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b3JpdHkpACAoYnkgc2VjdGlvbikAIChieSBzdGF0dXMpACAoc3RhdHVzLCBwcmlvcml0eSkAIChzdGF0dXMsIHNlY3Rpb24pACBkb2VzIG5vdCBhcHBlYXIgdG8gYmUgYXZhaWxhYmxlCgAgbWFyazorLz0vLSB0ZXJzZTp2IGhlbHA6PwAgbWFyazorLz0vLSB2ZXJib3NlOnYgaGVscDo/ACBvciAAIHRlcnNlOnYgaGVscDo/ACB2ZXJib3NlOnYgaGVscDo/ACFCdWchACUtKnMgJXMlcyVzOyAgJXMgKHdhczogJXMpLiAgJXMAJXMgJXMgcGFja2FnZXMAJXMgJXMgcGFja2FnZXMgaW4gc2VjdGlvbiAlcwAlcyAlcyBwYWNrYWdlcyB3aXRob3V0IGEgc2VjdGlvbgAlcyBmb3IgbW9yZQAlcyBwYWNrYWdlcyBpbiBzZWN0aW9uICVzACVzIHBhY2thZ2VzIHdpdGhvdXQgYSBzZWN0aW9uACVzIHRvIGdvIGJhY2sAKiBIaWdobGlnaHQ6IE9uZSBsaW5lIGluIHRoZSBwYWNrYWdlIGxpc3Qgd2lsbCBiZSBoaWdobGlnaHRlZC4gIEl0IGluZGljYXRlcwogIHdoaWNoIHBhY2thZ2Uocykgd2lsbCBiZSBhZmZlY3RlZCBieSBwcmVzc2VzIG9mIGArJywgYC0nIGFuZCBgXycuCgoqIFRoZSBkaXZpZGluZyBsaW5lIGluIHRoZSBtaWRkbGUgb2YgdGhlIHNjcmVlbiBzaG93cyBhIGJyaWVmIGV4cGxhbmF0aW9uIG9mCiAgdGhlIHN0YXR1cyBvZiB0aGUgY3VycmVudGx5LWhpZ2hsaWdodGVkIHBhY2thZ2UsIG9yIGEgZGVzY3JpcHRpb24gb2Ygd2hpY2gKICBncm91cCBpcyBoaWdobGlnaHRlZCBpZiBhIGdyb3VwIGxpbmUgaXMuICBJZiB5b3UgZG9uJ3QgdW5kZXJzdGFuZCB0aGUKICBtZWFuaW5nIG9mIHNvbWUgb2YgdGhlIHN0YXR1cyBjaGFyYWN0ZXJzIGRpc3BsYXllZCwgZ28gdG8gdGhlIHJlbGV2YW50CiAgcGFja2FnZSBhbmQgbG9vayBhdCB0aGlzIGRpdmlkZXIgbGluZSwgb3IgdXNlIHRoZSBgdicga2V5IGZvciBhIHZlcmJvc2UKICBkaXNwbGF5IChwcmVzcyBgdicgYWdhaW4gdG8gZ28gYmFjayB0byB0aGUgdGVyc2UgZGlzcGxheSkuCgoqIFRoZSBib3R0b20gb2YgdGhlIHNjcmVlbiBzaG93cyBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZQogIGN1cnJlbnRseS1oaWdobGlnaHRlZCBwYWNrYWdlIChpZiB0aGVyZSBpcyBvbmx5IG9uZSkuCgogIEl0IGNhbiBzaG93IGFuIGV4dGVuZGVkIGRlc2NyaXB0aW9uIG9mIHRoZSBwYWNrYWdlLCB0aGUgaW50ZXJuYWwgcGFja2FnZQogIGNvbnRyb2wgZGV0YWlscyAoZWl0aGVyIGZvciB0aGUgaW5zdGFsbGVkIG9yIGF2YWlsYWJsZSB2ZXJzaW9uIG9mIHRoZQogIHBhY2thZ2UpLCBvciBpbmZvcm1hdGlvbiBhYm91dCBjb25mbGljdHMgYW5kIGRlcGVuZGVuY2llcyBpbnZvbHZpbmcgdGhlCiAgY3VycmVudCBwYWNrYWdlIChpbiBjb25mbGljdC9kZXBlbmRlbmN5IHJlc29sdXRpb24gc3VibGlzdHMpLgoKICBVc2UgdGhlIGBpJyBrZXkgdG8gY3ljbGUgdGhyb3VnaCB0aGUgZGlzcGxheXMsIGFuZCBgSScgdG8gaGlkZSB0aGUKICBpbmZvcm1hdGlvbiBkaXNwbGF5IG9yIGV4cGFuZCBpdCB0byB1c2UgYWxtb3N0IGFsbCBvZiB0aGUgc2NyZWVuLgoAPHN0YW5kYXJkIGVycm9yPgA8c3RhbmRhcmQgb3V0cHV0PgA/AEFiYnJldi4AQWJvcnQgLSBxdWl0IHdpdGhvdXQgbWFraW5nIGNoYW5nZXMAQWNjZXNzIG1ldGhvZCBgJXMnLgBBY3Rpb25zOgogIGFjY2VzcyB1cGRhdGUgc2VsZWN0IGluc3RhbGwgY29uZmlnIHJlbW92ZSBxdWl0CgoAQWxsAEFsbCBwYWNrYWdlcwBBdHRyaWJ1dGVzOgoAQXZhaWwudmVyAEF2YWlsYWJsZQBBdmFpbGFibGUgY29udHJvbCBmaWxlIGluZm9ybWF0aW9uAEF2YWlsYWJsZSBwYWNrYWdlcyAobm90IGN1cnJlbnRseSBpbnN0YWxsZWQpAEJyb2tlbgBCcm9rZW5seSBpbnN0YWxsZWQgcGFja2FnZXMAQ2hvb3NlIHRoZSBhY2Nlc3MgbWV0aG9kIHRvIHVzZS4AQ29sb3VyczoKAENvbmZpZ3VyZSBhbnkgcGFja2FnZXMgdGhhdCBhcmUgdW5jb25maWd1cmVkLgBDb3B5cmlnaHQgKEMpIDE5OTQtMTk5NiBJYW4gSmFja3Nvbi4KQ29weXJpZ2h0IChDKSAyMDAwLDIwMDEgV2ljaGVydCBBa2tlcm1hbi4KAEN5Y2xlIHRocm91Z2ggaW5mb3JtYXRpb24gZGlzcGxheXMARGViaWFuIGAlcycgcGFja2FnZSBoYW5kbGluZyBmcm9udGVuZCB2ZXJzaW9uICVzLgoARGVwZW5kZW5jeS9jb25mbGljdCByZXNvbHV0aW9uIC0gaW50cm9kdWN0aW9uLgoKT25lIG9yIG1vcmUgb2YgeW91ciBjaG9pY2VzIGhhdmUgcmFpc2VkIGEgY29uZmxpY3Qgb3IgZGVwZW5kZW5jeSBwcm9ibGVtIC0Kc29tZSBwYWNrYWdlcyBzaG91bGQgb25seSBiZSBpbnN0YWxsZWQgaW4gY29uanVuY3Rpb24gd2l0aCBjZXJ0YWluIG90aGVycywgYW5kCnNvbWUgY29tYmluYXRpb25zIG9mIHBhY2thZ2VzIG1heSBub3QgYmUgaW5zdGFsbGVkIHRvZ2V0aGVyLgoKWW91IHdpbGwgc2VlIGEgc3ViLWxpc3QgY29udGFpbmluZyB0aGUgcGFja2FnZXMgaW52b2x2ZWQuICBUaGUgYm90dG9tIGhhbGYgb2YKdGhlIGRpc3BsYXkgc2hvd3MgcmVsZXZhbnQgY29uZmxpY3RzIGFuZCBkZXBlbmRlbmNpZXM7IHVzZSBgaScgdG8gY3ljbGUgYmV0d2Vlbgp0aGF0LCB0aGUgcGFja2FnZSBkZXNjcmlwdGlvbnMgYW5kIHRoZSBpbnRlcm5hbCBjb250cm9sIGluZm9ybWF0aW9uLgoKQSBzZXQgb2YgYHN1Z2dlc3RlZCcgcGFja2FnZXMgaGFzIGJlZW4gY2FsY3VsYXRlZCwgYW5kIHRoZSBpbml0aWFsIG1hcmtpbmdzIGluCnRoaXMgc3ViLWxpc3QgaGF2ZSBiZWVuIHNldCB0byBtYXRjaCB0aG9zZSwgc28geW91IGNhbiBqdXN0IGhpdCBSZXR1cm4gdG8KYWNjZXB0IHRoZSBzdWdnZXN0aW9ucyBpZiB5b3Ugd2lzaC4gIFlvdSBtYXkgYWJvcnQgdGhlIGNoYW5nZShzKSB3aGljaCBjYXVzZWQKdGhlIHByb2JsZW0ocyksIGFuZCBnbyBiYWNrIHRvIHRoZSBtYWluIGxpc3QsIGJ5IHByZXNzaW5nIGNhcGl0YWwgYFgnLgoKWW91IGNhbiBhbHNvIG1vdmUgYXJvdW5kIHRoZSBsaXN0IGFuZCBjaGFuZ2UgdGhlIG1hcmtpbmdzIHNvIHRoYXQgdGhleSBhcmUgbW9yZQpsaWtlIHdoYXQgeW91IHdhbnQsIGFuZCB5b3UgY2FuIGByZWplY3QnIG15IHN1Z2dlc3Rpb25zIGJ5IHVzaW5nIHRoZSBjYXBpdGFsCmBEJyBvciBgUicga2V5cyAoc2VlIHRoZSBrZXliaW5kaW5ncyBoZWxwIHNjcmVlbikuICBZb3UgY2FuIHVzZSBjYXBpdGFsIGBRJyB0bwpmb3JjZSBtZSB0byBhY2NlcHQgdGhlIHNpdHVhdGlvbiBjdXJyZW50bHkgZGlzcGxheWVkLCBpbiBjYXNlIHlvdSB3YW50IHRvCm92ZXJyaWRlIGEgcmVjb21tZW5kYXRpb24gb3IgdGhpbmsgdGhhdCB0aGUgcHJvZ3JhbSBpcyBtaXN0YWtlbi4KClByZXNzIDxzcGFjZT4gdG8gbGVhdmUgaGVscCBhbmQgZW50ZXIgdGhlIHN1Yi1saXN0OyByZW1lbWJlcjogcHJlc3MgYD8nIGZvciBoZWxwLgoARGVzY3JpcHRpb24ARGlzcGxheSwgcGFydCAxOiBwYWNrYWdlIGxpc3RpbmcgYW5kIHN0YXR1cyBjaGFycwBEaXNwbGF5LCBwYXJ0IDI6IGxpc3QgaGlnaGxpZ2h0OyBpbmZvcm1hdGlvbiBkaXNwbGF5AEVJT00ARU9GIGJlZm9yZSBvcHRpb24gbmFtZSBzdGFydABFT0YgYmVmb3JlIHN1bW1hcnkARU9GIGluIGluZGV4IHN0cmluZwBFT0YgaW4gb3B0aW9uIG5hbWUARU9GIGluIHN1bW1hcnkgLSBtaXNzaW5nIG5ld2xpbmUARXJyb3IARXJyb3I6IABFeHBsYW5hdGlvbgBFeHRyYQBHbyB0byBlbmQgb2YgbGlzdABHbyB0byB0b3Agb2YgbGlzdABIZWxwIGluZm9ybWF0aW9uIGlzIGF2YWlsYWJsZSB1bmRlciB0aGUgZm9sbG93aW5nIHRvcGljczoASGVscDogAEltcABJbXBvcnRhbnQASW5zdC52ZXIASW5zdGFsbCBhbmQgdXBncmFkZSB3YW50ZWQgcGFja2FnZXMuAEluc3RhbGxlZABJbnN0YWxsZWQgY29udHJvbCBmaWxlIGluZm9ybWF0aW9uAEluc3RhbGxlZCBwYWNrYWdlcwBJbnN0YWxsZWQ/AEludGVycmVsYXRpb25zaGlwcwBJbnRyb2R1Y3Rpb24gdG8gY29uZmxpY3QvZGVwZW5kZW5jeSByZXNvbHV0aW9uIHN1Yi1saXN0AEludHJvZHVjdGlvbiB0byBtZXRob2Qgc2VsZWN0aW9uIGRpc3BsYXkASW50cm9kdWN0aW9uIHRvIHBhY2thZ2Ugc2VsZWN0aW9ucwBJbnRyb2R1Y3Rpb24gdG8gcmVhZC1vbmx5IHBhY2thZ2UgbGlzdCBicm93c2VyAEludmFsaWQgJXMgYCVzJwoAS2V5YmluZGluZ3MAS2V5c3Ryb2tlcwBLZXlzdHJva2VzIGZvciBtZXRob2Qgc2VsZWN0aW9uAE1ha2UgaGlnaGxpZ2h0IGxlc3Mgc3BlY2lmaWMATWFrZSBoaWdobGlnaHQgbW9yZSBzcGVjaWZpYwBNYXJrIHBhY2thZ2UocykgZm9yIGRlaW5zdGFsbCBhbmQgcHVyZ2UATWFyayBwYWNrYWdlKHMpIGZvciBkZWluc3RhbGxhdGlvbgBNYXJrIHBhY2thZ2UocykgZm9yIGluc3RhbGxhdGlvbgBNYXJrZWQgZm9yAE1vdGlvbiBrZXlzOiBOZXh0L1ByZXZpb3VzLCBUb3AvRW5kLCBVcC9Eb3duLCBCYWNrd2FyZHMvRm9yd2FyZHM6CiAgaiwgRG93bi1hcnJvdyAgICAgICAgIGssIFVwLWFycm93ICAgICAgICAgICAgIG1vdmUgaGlnaGxpZ2h0CiAgTiwgUGFnZS1kb3duLCBTcGFjZSAgIFAsIFBhZ2UtdXAsIEJhY2tzcGFjZSAgIHNjcm9sbCBsaXN0IGJ5IDEgcGFnZQogIF5uICAgICAgICAgICAgICAgICAgICBecCAgICAgICAgICAgICAgICAgICAgICBzY3JvbGwgbGlzdCBieSAxIGxpbmUKICB0LCBIb21lICAgICAgICAgICAgICAgZSwgRW5kICAgICAgICAgICAgICAgICAganVtcCB0byB0b3AvZW5kIG9mIGxpc3QKICB1ICAgICAgICAgICAgICAgICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsIGluZm8gYnkgMSBwYWdlCiAgXnUgICAgICAgICAgICAgICAgICAgIF5kICAgICAgICAgICAgICAgICAgICAgIHNjcm9sbCBpbmZvIGJ5IDEgbGluZQogIEIsIExlZnQtYXJyb3cgICAgICAgICBGLCBSaWdodC1hcnJvdyAgICAgICAgICBwYW4gZGlzcGxheSBieSAxLzMgc2NyZWVuCiAgXmIgICAgICAgICAgICAgICAgICAgIF5mICAgICAgICAgICAgICAgICAgICAgIHBhbiBkaXNwbGF5IGJ5IDEgY2hhcmFjdGVyCgpNYXJrIHBhY2thZ2VzIGZvciBsYXRlciBwcm9jZXNzaW5nOgogKywgSW5zZXJ0ICBpbnN0YWxsIG9yIHVwZ3JhZGUgICAgICA9LCBIICBob2xkIGluIHByZXNlbnQgc3RhdGUKIC0sIERlbGV0ZSAgcmVtb3ZlICAgICAgICAgICAgICAgICAgOiwgRyAgdW5ob2xkOiB1cGdyYWRlIG9yIGxlYXZlIHVuaW5zdGFsbGVkCiBfICAgICAgICAgIHJlbW92ZSAmIHB1cmdlIGNvbmZpZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNaXNjZWxsYW5lb3VzOgpRdWl0LCBleGl0LCBvdmVyd3JpdGUgKG5vdGUgY2FwaXRhbHMhKTogICAgICAgPywgRjEgcmVxdWVzdCBoZWxwIChhbHNvIEhlbHApCiBSZXR1cm4gIENvbmZpcm0sIHF1aXQgKGNoZWNrIGRlcGVuZGVuY2llcykgICBpLCBJICB0b2dnbGUvY3ljbGUgaW5mbyBkaXNwbGF5cwogICBRICAgICBDb25maXJtLCBxdWl0IChvdmVycmlkZSBkZXAucykgICAgICAgbywgTyAgY3ljbGUgdGhyb3VnaCBzb3J0IG9wdGlvbnMKIFgsIEVzYyAgZVhpdCwgYWJhbmRvbmluZyBhbnkgY2hhbmdlcyBtYWRlICAgIHYsIFYgIGNoYW5nZSBzdGF0dXMgZGlzcGxheSBvcHRzCiAgIFIgICAgIFJldmVydCB0byBzdGF0ZSBiZWZvcmUgdGhpcyBsaXN0ICAgICAgXmwgICByZWRyYXcgZGlzcGxheQogICBVICAgICBzZXQgYWxsIHRvIHNVZ2dlc3RlZCBzdGF0ZSAgICAgICAgICAgICAvICAgc2VhcmNoIChSZXR1cm4gdG8gY2FuY2VsKQogICBEICAgICBzZXQgYWxsIHRvIERpcmVjdGx5IHJlcXVlc3RlZCBzdGF0ZSAgbiwgXCAgcmVwZWF0IGxhc3Qgc2VhcmNoCgBNb3Rpb24ga2V5czogTmV4dC9QcmV2aW91cywgVG9wL0VuZCwgVXAvRG93biwgQmFja3dhcmRzL0ZvcndhcmRzOgogIGosIERvd24tYXJyb3cgICAgICAgICBrLCBVcC1hcnJvdyAgICAgICAgICAgICBtb3ZlIGhpZ2hsaWdodAogIE4sIFBhZ2UtZG93biwgU3BhY2UgICBQLCBQYWdlLXVwLCBCYWNrc3BhY2UgICBzY3JvbGwgbGlzdCBieSAxIHBhZ2UKICBebiAgICAgICAgICAgICAgICAgICAgXnAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsIGxpc3QgYnkgMSBsaW5lCiAgdCwgSG9tZSAgICAgICAgICAgICAgIGUsIEVuZCAgICAgICAgICAgICAgICAgIGp1bXAgdG8gdG9wL2VuZCBvZiBsaXN0CiAgdSAgICAgICAgICAgICAgICAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgIHNjcm9sbCBpbmZvIGJ5IDEgcGFnZQogIF51ICAgICAgICAgICAgICAgICAgICBeZCAgICAgICAgICAgICAgICAgICAgICBzY3JvbGwgaW5mbyBieSAxIGxpbmUKICBCLCBMZWZ0LWFycm93ICAgICAgICAgRiwgUmlnaHQtYXJyb3cgICAgICAgICAgcGFuIGRpc3BsYXkgYnkgMS8zIHNjcmVlbgogIF5iICAgICAgICAgICAgICAgICAgICBeZiAgICAgICAgICAgICAgICAgICAgICBwYW4gZGlzcGxheSBieSAxIGNoYXJhY3RlcgooVGhlc2UgYXJlIHRoZSBzYW1lIG1vdGlvbiBrZXlzIGFzIGluIHRoZSBwYWNrYWdlIGxpc3QgZGlzcGxheS4pCgpRdWl0OgogUmV0dXJuLCBFbnRlciAgICBzZWxlY3QgdGhpcyBtZXRob2QgYW5kIGdvIHRvIGl0cyBjb25maWd1cmF0aW9uIGRpYWxvZ3VlCiB4LCBYICAgICAgICAgICAgIGV4aXQgd2l0aG91dCBjaGFuZ2luZyBvciBzZXR0aW5nIHVwIHRoZSBpbnN0YWxsYXRpb24gbWV0aG9kCgpNaXNjZWxsYW5lb3VzOgogID8sIEhlbHAsIEYxICAgICAgcmVxdWVzdCBoZWxwCiBebCAgICAgICAgICAgICAgICByZWRyYXcgZGlzcGxheQogIC8gICAgICAgICAgICAgICAgc2VhcmNoIChqdXN0IHJldHVybiB0byBjYW5jZWwpCiAgXCAgICAgICAgICAgICAgICByZXBlYXQgbGFzdCBzZWFyY2gKAE1vdmUgZG93bgBNb3ZlIHVwAE5ldwBOZXdseSBhdmFpbGFibGUgcGFja2FnZXMATm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlLgBObyBleHBsYW5hdGlvbiBhdmFpbGFibGUuAE51bGwgY29sb3VyIHNwZWNpZmljYXRpb24KAE9ic29sZXRlIGFuZCBsb2NhbCBwYWNrYWdlcyBwcmVzZW50IG9uIHN5c3RlbQBPYnNvbGV0ZS9sb2NhbABPbGQgbWFyawBPcHQAT3B0aW9uYWwAT3B0aW9uczoKICAtLWFkbWluZGlyIDxkaXJlY3Rvcnk+ICAgICBVc2UgPGRpcmVjdG9yeT4gaW5zdGVhZCBvZiAlcy4KICAtLWV4cGVydCAgICAgICAgICAgICAgICAgICBUdXJuIG9uIGV4cGVydCBtb2RlLgogIC0tZGVidWcgPGZpbGU+IHwgLUQ8ZmlsZT4gIFR1cm4gb24gZGVidWdnaW5nLCBzZW5kaW5nIG91dHB1dCB0byA8ZmlsZT4uCiAgLS1jb2xvdXIgfCAtLWNvbG9yIHNjcmVlbnBhcnQ6W2ZvcmVncm91bmRdLFtiYWNrZ3JvdW5kXVs6YXR0clsrYXR0cisuLl1dCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29uZmlndXJlIHNjcmVlbiBjb2xvdXJzLgoKAFBhY2thZ2UAUHJlc3MgPGVudGVyPiB0byBjb250aW51ZS4KAFByZXNzID8gZm9yIGhlbHAgbWVudSwgLiBmb3IgbmV4dCB0b3BpYywgPHNwYWNlPiB0byBleGl0IGhlbHAuAFByZXNzIGEga2V5IGZyb20gdGhlIGxpc3QgYWJvdmUsIDxzcGFjZT4gb3IgYHEnIHRvIGV4aXQgaGVscCwKICBvciBgLicgKGZ1bGwgc3RvcCkgdG8gcmVhZCBlYWNoIGhlbHAgcGFnZSBpbiB0dXJuLiAAUHJpb3JpdHkAUHVyZ2VkAFB1cmdlZCBwYWNrYWdlcyBhbmQgdGhvc2UgbmV2ZXIgaW5zdGFsbGVkAFF1aXQgZHNlbGVjdC4AUXVpdCB3aXRob3V0IGNoYW5naW5nIHNlbGVjdGVkIGFjY2VzcyBtZXRob2QAUXVpdCwgY29uZmlybWluZyB3aXRob3V0IGNoZWNrAFF1aXQsIGNvbmZpcm1pbmcsIGFuZCBjaGVja2luZyBkZXBlbmRlbmNpZXMAUXVpdCwgcmVqZWN0aW5nIGNvbmZsaWN0L2RlcGVuZGVuY3kgc3VnZ2VzdGlvbnMAUkVJTlNUQUxMAFJlZHJhdyBkaXNwbGF5AFJlbW92ZSB1bndhbnRlZCBzb2Z0d2FyZS4AUmVtb3ZlZABSZW1vdmVkIGFuZCBubyBsb25nZXIgYXZhaWxhYmxlIHBhY2thZ2VzAFJlbW92ZWQgcGFja2FnZXMgKGNvbmZpZ3VyYXRpb24gc3RpbGwgcHJlc2VudCkAUmVwZWF0IGxhc3Qgc2VhcmNoLgBSZXEAUmVxdWVzdCBoZWxwIChjeWNsZSB0aHJvdWdoIGhlbHAgc2NyZWVucykAUmVxdWVzdCB3aGljaCBwYWNrYWdlcyB5b3Ugd2FudCBvbiB5b3VyIHN5c3RlbS4AUmVxdWlyZWQAUmV2ZXJ0IHRvIGN1cnJlbnRseSBpbnN0YWxsZWQgc3RhdGUgZm9yIGFsbCBwYWNrYWdlcwBSZXZlcnQgdG8gZGlyZWN0bHkgcmVxdWVzdGVkIHN0YXRlIGZvciBhbGwgcGFja2FnZXMAUmV2ZXJ0IHRvIG9sZCBzdGF0ZSBmb3IgYWxsIHBhY2thZ2VzAFJldmVydCB0byBzdWdnZXN0ZWQgc3RhdGUgZm9yIGFsbCBwYWNrYWdlcwBTY3JlZW5wYXJ0czoKAFNjcm9sbCBiYWNrd2FyZHMgdGhyb3VnaCBoZWxwL2luZm9ybWF0aW9uAFNjcm9sbCBiYWNrd2FyZHMgdGhyb3VnaCBoZWxwL2luZm9ybWF0aW9uIGJ5IDEgbGluZQBTY3JvbGwgYmFja3dhcmRzIHRocm91Z2ggbGlzdABTY3JvbGwgYmFja3dhcmRzIHRocm91Z2ggbGlzdCBieSAxIGxpbmUAU2Nyb2xsIG9ud2FyZHMgdGhyb3VnaCBoZWxwL2luZm9ybWF0aW9uAFNjcm9sbCBvbndhcmRzIHRocm91Z2ggaGVscC9pbmZvcm1hdGlvbiBieSAxIGxpbmUAU2Nyb2xsIG9ud2FyZHMgdGhyb3VnaCBsaXN0AFNjcm9sbCBvbndhcmRzIHRocm91Z2ggbGlzdCBieSAxIGxpbmUAU2VhcmNoIGZvciA/IABTZWFyY2ggZm9yIGEgcGFja2FnZSB3aG9zZSBuYW1lIGNvbnRhaW5zIGEgc3RyaW5nAFNlY3Rpb24AU2VsZWN0IGN1cnJlbnRseS1oaWdobGlnaHRlZCBhY2Nlc3MgbWV0aG9kAFNldCB5b3VyIFRFUk0gdmFyaWFibGUgY29ycmVjdGx5LCB1c2UgYSBiZXR0ZXIgdGVybWluYWwsCm9yIG1ha2UgZG8gd2l0aCB0aGUgcGVyLXBhY2thZ2UgbWFuYWdlbWVudCB0b29sICVzLgoAU3RhbmRhcmQAU3RkAFN3YXAgc29ydCBvcmRlciBwcmlvcml0eS9zZWN0aW9uAFRlcm1pbmFsIGRvZXMgbm90IGFwcGVhciB0byBzdXBwb3J0IGN1cnNvciBhZGRyZXNzaW5nLgoAVGVybWluYWwgZG9lcyBub3QgYXBwZWFyIHRvIHN1cHBvcnQgaGlnaGxpZ2h0aW5nLgoAVGhlIGxpbmUgeW91IGhhdmUgaGlnaGxpZ2h0ZWQgcmVwcmVzZW50cyBtYW55IHBhY2thZ2VzOyBpZiB5b3UgYXNrIHRvIGluc3RhbGwsIHJlbW92ZSwgaG9sZCwgZXRjLiBpdCB5b3Ugd2lsbCBhZmZlY3QgYWxsIHRoZSBwYWNrYWdlcyB3aGljaCBtYXRjaCB0aGUgY3JpdGVyaW9uIHNob3duLgoKSWYgeW91IG1vdmUgdGhlIGhpZ2hsaWdodCB0byBhIGxpbmUgZm9yIGEgcGFydGljdWxhciBwYWNrYWdlIHlvdSB3aWxsIHNlZSBpbmZvcm1hdGlvbiBhYm91dCB0aGF0IHBhY2thZ2UgZGlzcGxheWVkIGhlcmUuCllvdSBjYW4gdXNlIGBvJyBhbmQgYE8nIHRvIGNoYW5nZSB0aGUgc29ydCBvcmRlciBhbmQgZ2l2ZSB5b3Vyc2VsZiB0aGUgb3Bwb3J0dW5pdHkgdG8gbWFyayBwYWNrYWdlcyBpbiBkaWZmZXJlbnQga2luZHMgb2YgZ3JvdXBzLgBUaGUgdG9wIGhhbGYgb2YgdGhlIHNjcmVlbiBzaG93cyBhIGxpc3Qgb2YgcGFja2FnZXMuICBGb3IgZWFjaCBwYWNrYWdlIHlvdSBzZWUKZm91ciBjb2x1bW5zIGZvciBpdHMgY3VycmVudCBzdGF0dXMgb24gdGhlIHN5c3RlbSBhbmQgbWFyay4gIEluIHRlcnNlIG1vZGUgKHVzZQpgdicgdG8gdG9nZ2xlIHZlcmJvc2UgZGlzcGxheSkgdGhlc2UgYXJlIHNpbmdsZSBjaGFyYWN0ZXJzLCBmcm9tIGxlZnQgdG8gcmlnaHQ6CgogRXJyb3IgZmxhZzogU3BhY2UgLSBubyBlcnJvciAoYnV0IHBhY2thZ2UgbWF5IGJlIGluIGJyb2tlbiBzdGF0ZSAtIHNlZSBiZWxvdykKICAgICAgICAgICAgICBgUicgIC0gc2VyaW91cyBlcnJvciBkdXJpbmcgaW5zdGFsbGF0aW9uLCBuZWVkcyByZWluc3RhbGxhdGlvbjsKIEluc3RhbGxlZCBzdGF0ZTogICAgIFNwYWNlICAgIC0gbm90IGluc3RhbGxlZDsKICAgICAgICAgICAgICAgICAgICAgICBgKicgICAgIC0gaW5zdGFsbGVkOwogICAgICAgICAgICAgICAgICAgICAgIGAtJyAgICAgLSBub3QgaW5zdGFsbGVkIGJ1dCBjb25maWcgZmlsZXMgcmVtYWluOwogICBwYWNrYWdlcyBpbiB0aGVzZSB7IGBVJyAgICAgLSB1bnBhY2tlZCBidXQgbm90IHlldCBjb25maWd1cmVkOwogICBzdGF0ZXMgYXJlIG5vdCAgICB7IGBDJyAgICAgLSBoYWxmLWNvbmZpZ3VyZWQgKGFuIGVycm9yIGhhcHBlbmVkKTsKICAgKHF1aXRlKSBwcm9wZXJseSAgeyBgSScgICAgIC0gaGFsZi1pbnN0YWxsZWQgKGFuIGVycm9yIGhhcHBlbmVkKTsKICAgaW5zdGFsbGVkICAgICAgICAgeyBgVycsYHQnIC0gdHJpZ2dlcnMgYXJlIGF3YWl0ZWQgcmVzcC4gcGVuZGluZy4KIE9sZCBtYXJrOiB3aGF0IHdhcyByZXF1ZXN0ZWQgZm9yIHRoaXMgcGFja2FnZSBiZWZvcmUgcHJlc2VudGluZyB0aGlzIGxpc3Q7CiBNYXJrOiB3aGF0IGlzIHJlcXVlc3RlZCBmb3IgdGhpcyBwYWNrYWdlOgogIGAqJzogbWFya2VkIGZvciBpbnN0YWxsYXRpb24gb3IgdXBncmFkZTsKICBgLSc6IG1hcmtlZCBmb3IgcmVtb3ZhbCwgYnV0IGFueSBjb25maWd1cmF0aW9uIGZpbGVzIHdpbGwgcmVtYWluOwogIGA9Jzogb24gaG9sZDogcGFja2FnZSB3aWxsIG5vdCBiZSBwcm9jZXNzZWQgYXQgYWxsOwogIGBfJzogbWFya2VkIGZvciBwdXJnZSBjb21wbGV0ZWx5IC0gZXZlbiByZW1vdmUgY29uZmlndXJhdGlvbjsKICBgbic6IHBhY2thZ2UgaXMgbmV3IGFuZCBoYXMgeWV0IHRvIGJlIG1hcmtlZCBmb3IgaW5zdGFsbC9yZW1vdmUvJmMuCgpBbHNvIGRpc3BsYXllZCBhcmUgZWFjaCBwYWNrYWdlJ3MgUHJpb3JpdHksIFNlY3Rpb24sIG5hbWUsIGluc3RhbGxlZCBhbmQKYXZhaWxhYmxlIHZlcnNpb24gbnVtYmVycyAoc2hpZnQtViB0byBkaXNwbGF5L2hpZGUpIGFuZCBzdW1tYXJ5IGRlc2NyaXB0aW9uLgoAVGhlcmUgYXJlIG5vIHBhY2thZ2VzLgBUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIG9yCmxhdGVyIGZvciBjb3B5aW5nIGNvbmRpdGlvbnMuIFRoZXJlIGlzIE5PIHdhcnJhbnR5LgoAVHlwZSBkc2VsZWN0IC0taGVscCBmb3IgaGVscC4AVW5jbGFzc2lmaWVkAFVwIHRvIGRhdGUgaW5zdGFsbGVkIHBhY2thZ2VzAFVwLXRvLWRhdGUAVXBkYXRlIGxpc3Qgb2YgYXZhaWxhYmxlIHBhY2thZ2VzLCBpZiBwb3NzaWJsZS4AVXBkYXRlZABVcGRhdGVkIHBhY2thZ2VzIChuZXdlciB2ZXJzaW9uIGlzIGF2YWlsYWJsZSkAVXNhZ2U6ICVzIFs8b3B0aW9uPiAuLi5dIFs8YWN0aW9uPiAuLi5dCgoAV2VsY29tZSB0byBkc2VsZWN0J3MgbWFpbiBwYWNrYWdlIGxpc3RpbmcuCgpZb3Ugd2lsbCBiZSBwcmVzZW50ZWQgd2l0aCBhIGxpc3Qgb2YgcGFja2FnZXMgd2hpY2ggYXJlIGluc3RhbGxlZCBvciBhdmFpbGFibGUKZm9yIGluc3RhbGxhdGlvbi4gIFNpbmNlIHlvdSBkbyBub3QgaGF2ZSB0aGUgcHJpdmlsZWdlIG5lY2Vzc2FyeSB0byB1cGRhdGUKcGFja2FnZSBzdGF0ZXMsIHlvdSBhcmUgaW4gYSByZWFkLW9ubHkgbW9kZS4gIFlvdSBjYW4gbmF2aWdhdGUgYXJvdW5kIHRoZQpsaXN0IHVzaW5nIHRoZSBjdXJzb3Iga2V5cyAocGxlYXNlIHNlZSB0aGUgYEtleXN0cm9rZXMnIGhlbHAgc2NyZWVuKSwgb2JzZXJ2ZQp0aGUgc3RhdHVzIG9mIHRoZSBwYWNrYWdlcyBhbmQgcmVhZCBpbmZvcm1hdGlvbiBhYm91dCB0aGVtLgoKWW91IHNob3VsZCByZWFkIHRoZSBsaXN0IG9mIGtleXMgYW5kIHRoZSBleHBsYW5hdGlvbnMgb2YgdGhlIGRpc3BsYXkuCk11Y2ggb24tbGluZSBoZWxwIGlzIGF2YWlsYWJsZSwgcGxlYXNlIG1ha2UgdXNlIG9mIGl0IC0gcHJlc3MgYD8nIGF0CmFueSB0aW1lIGZvciBoZWxwLgoKV2hlbiB5b3UgaGF2ZSBmaW5pc2hlZCBicm93c2luZywgcHJlc3MgYFEnIG9yIDxlbnRlcj4gdG8gcXVpdC4KClByZXNzIDxzcGFjZT4gdG8gbGVhdmUgaGVscCBhbmQgZW50ZXIgdGhlIGxpc3Qgbm93LgoAV2VsY29tZSB0byBkc2VsZWN0J3MgbWFpbiBwYWNrYWdlIGxpc3RpbmcuCgpZb3Ugd2lsbCBiZSBwcmVzZW50ZWQgd2l0aCBhIGxpc3Qgb2YgcGFja2FnZXMgd2hpY2ggYXJlIGluc3RhbGxlZCBvciBhdmFpbGFibGUKZm9yIGluc3RhbGxhdGlvbi4gIFlvdSBjYW4gbmF2aWdhdGUgYXJvdW5kIHRoZSBsaXN0IHVzaW5nIHRoZSBjdXJzb3Iga2V5cywKbWFyayBwYWNrYWdlcyBmb3IgaW5zdGFsbGF0aW9uICh1c2luZyBgKycpIG9yIGRlaW5zdGFsbGF0aW9uICh1c2luZyBgLScpLgpQYWNrYWdlcyBjYW4gYmUgbWFya2VkIGVpdGhlciBzaW5nbHkgb3IgaW4gZ3JvdXBzOyBpbml0aWFsbHkgeW91IHdpbGwgc2VlIHRoYXQKdGhlIGxpbmUgYEFsbCBwYWNrYWdlcycgaXMgc2VsZWN0ZWQuICBgKycsIGAtJyBhbmQgc28gb24gd2lsbCBhZmZlY3QgYWxsIHRoZQpwYWNrYWdlcyBkZXNjcmliZWQgYnkgdGhlIGhpZ2hsaWdodGVkIGxpbmUuCgpTb21lIG9mIHlvdXIgY2hvaWNlcyB3aWxsIGNhdXNlIGNvbmZsaWN0cyBvciBkZXBlbmRlbmN5IHByb2JsZW1zOyB5b3Ugd2lsbCBiZQpnaXZlbiBhIHN1Yi1saXN0IG9mIHRoZSByZWxldmFudCBwYWNrYWdlcywgc28gdGhhdCB5b3UgY2FuIHNvbHZlIHRoZSBwcm9ibGVtcy4KCllvdSBzaG91bGQgcmVhZCB0aGUgbGlzdCBvZiBrZXlzIGFuZCB0aGUgZXhwbGFuYXRpb25zIG9mIHRoZSBkaXNwbGF5LgpNdWNoIG9uLWxpbmUgaGVscCBpcyBhdmFpbGFibGUsIHBsZWFzZSBtYWtlIHVzZSBvZiBpdCAtIHByZXNzIGA/JyBhdAphbnkgdGltZSBmb3IgaGVscC4KCldoZW4geW91IGhhdmUgZmluaXNoZWQgc2VsZWN0aW5nIHBhY2thZ2VzLCBwcmVzcyA8ZW50ZXI+IHRvIGNvbmZpcm0gY2hhbmdlcywKb3IgYFgnIHRvIHF1aXQgd2l0aG91dCBzYXZpbmcgY2hhbmdlcy4gQSBmaW5hbCBjaGVjayBvbiBjb25mbGljdHMgYW5kCmRlcGVuZGVuY2llcyB3aWxsIGJlIGRvbmUgLSBoZXJlIHRvbyB5b3UgbWF5IHNlZSBhIHN1Ymxpc3QuCgpQcmVzcyA8c3BhY2U+IHRvIGxlYXZlIGhlbHAgYW5kIGVudGVyIHRoZSBsaXN0IG5vdy4KAFh0cgBbQV1jY2VzcwBbQ11vbmZpZwBbSV1uc3RhbGwAW1FddWl0AFtSXWVtb3ZlAFtTXWVsZWN0AFtVXXBkYXRlAFtub3QgYm91bmRdAFt1bms6ICVkXQBhAGF3YWl0aW5nIHRyaWdnZXIgcHJvY2Vzc2luZwBiVUcAYnJlYWtzAGMAY29sb3VyAGNvbG91ciBhdHRyaWJ1dGUAY29uZmxpY3RzIHdpdGgAY291bGRuJ3Qgb3BlbiBkZWJ1ZyBmaWxlIGAlLjI1NXMnCgBkZXBlbmRzIG9uAGRvdXBkYXRlIGZhaWxlZABkb3VwZGF0ZSBpbiBTSUdXSU5DSCBoYW5kbGVyIGZhaWxlZABkc2VsZWN0IC0gaW5zcGVjdGlvbiBvZiBwYWNrYWdlIHN0YXRlcwBkc2VsZWN0IC0gbGlzdCBvZiBhY2Nlc3MgbWV0aG9kcwBkc2VsZWN0IC0gbWFpbiBwYWNrYWdlIGxpc3RpbmcAZHNlbGVjdCAtIHJlY3Vyc2l2ZSBwYWNrYWdlIGxpc3RpbmcAZHNlbGVjdCBhbmQgZHBrZyBjYW4gZG8gYXV0b21hdGljIGluc3RhbGxhdGlvbiwgbG9hZGluZyB0aGUgcGFja2FnZSBmaWxlcyB0byBiZQppbnN0YWxsZWQgZnJvbSBvbmUgb2YgYSBudW1iZXIgb2YgZGlmZmVyZW50IHBvc3NpYmxlIHBsYWNlcy4KClRoaXMgbGlzdCBhbGxvd3MgeW91IHRvIHNlbGVjdCBvbmUgb2YgdGhlc2UgaW5zdGFsbGF0aW9uIG1ldGhvZHMuCgpNb3ZlIHRoZSBoaWdobGlnaHQgdG8gdGhlIG1ldGhvZCB5b3Ugd2lzaCB0byB1c2UsIGFuZCBoaXQgRW50ZXIuICBZb3Ugd2lsbCB0aGVuCmJlIHByb21wdGVkIGZvciB0aGUgaW5mb3JtYXRpb24gcmVxdWlyZWQgdG8gZG8gdGhlIGluc3RhbGxhdGlvbi4KCkFzIHlvdSBtb3ZlIHRoZSBoaWdobGlnaHQgYSBkZXNjcmlwdGlvbiBvZiBlYWNoIG1ldGhvZCwgd2hlcmUgYXZhaWxhYmxlLCBpcwpkaXNwbGF5ZWQgaW4gdGhlIGJvdHRvbSBoYWxmIG9mIHRoZSBzY3JlZW4uCgpJZiB5b3Ugd2lzaCB0byBxdWl0IHdpdGhvdXQgY2hhbmdpbmcgYW55dGhpbmcgdXNlIHRoZSBgeCcga2V5IHdoaWxlIGluIHRoZSBsaXN0Cm9mIGluc3RhbGxhdGlvbiBtZXRob2RzLgoKQSBmdWxsIGxpc3Qgb2Yga2V5c3Ryb2tlcyBpcyBhdmFpbGFibGUgYnkgcHJlc3NpbmcgYGsnIG5vdywgb3IgZnJvbSB0aGUgaGVscAptZW51IHJlYWNoYWJsZSBieSBwcmVzc2luZyBgPycuCgBlbmhhbmNlcwBlcnJvciBkdXJpbmcgcmVhZCBvZiBtZXRob2Qgb3B0aW9ucyBmaWxlIGAlLjI1MHMnAGVycm9yIGR1cmluZyByZWFkIG9mIG9wdGlvbiBkZXNjcmlwdGlvbiBmaWxlIGAlLjI1MHMnAGVycm9yIGluIHJlZ3VsYXIgZXhwcmVzc2lvbgBlcnJvciByZWFkaW5nIGFja25vd2xlZGdlbWVudCBvZiBwcm9ncmFtIGZhaWx1cmUgbWVzc2FnZQBlcnJvciByZWFkaW5nIGtleWJvYXJkIGluIGhlbHAAZXJyb3IgcmVhZGluZyBvcHRpb25zIGZpbGUgYCUuMjUwcycAZmFpbGVkIHRvIGFsbG9jYXRlIGNvbG91ciBwYWlyAGZhaWxlZCB0byBibG9jayBTSUdXSU5DSABmYWlsZWQgdG8gY3JlYXRlIGJhc2VsaXN0IHBhZABmYWlsZWQgdG8gY3JlYXRlIGhlYWRpbmcgcGFkAGZhaWxlZCB0byBjcmVhdGUgaW5mbyBwYWQAZmFpbGVkIHRvIGNyZWF0ZSBxdWVyeSB3aW5kb3cAZmFpbGVkIHRvIGNyZWF0ZSB0aGlzc3RhdGUgcGFkAGZhaWxlZCB0byBjcmVhdGUgdGl0bGUgd2luZG93AGZhaWxlZCB0byBjcmVhdGUgd2hhdGluZm8gd2luZG93AGZhaWxlZCB0byBnZXQgb2xkIFNJR1dJTkNIIHNpZ2FjdABmYWlsZWQgdG8gZ2V0IG9sZCBzaWduYWwgbWFzawBmYWlsZWQgdG8gZ2V0Y2ggaW4gbWFpbiBtZW51AGZhaWxlZCB0byByZS1ibG9jayBTSUdXSU5DSABmYWlsZWQgdG8gcmVhZCBvcHRpb24gZGVzY3JpcHRpb24gZmlsZSBgJS4yNTBzJwBmYWlsZWQgdG8gcmVzdG9yZSBvbGQgU0lHV0lOQ0ggc2lnYWN0AGZhaWxlZCB0byByZXN0b3JlIG9sZCBzaWduYWwgbWFzawBmYWlsZWQgdG8gc2V0IG5ldyBTSUdXSU5DSCBzaWdhY3QAZmFpbGVkIHRvIHVuYmxvY2sgU0lHV0lOQ0gAZ2V0Y2ggZmFpbGVkAGhhbGYgY29uZmlndXJlZCAoY29uZmlnIGZhaWxlZCkAaGFsZiBpbnN0YWxsZWQAaG9sZABpAGluZGV4IHN0cmluZyB0b28gbG9uZwBpbnN0YWxsAGluc3RhbGxhdGlvbiBzY3JpcHQAaW5zdGFsbGVkAGludmFsaWQgc2VhcmNoIG9wdGlvbiBnaXZlbgBpb2N0bChUSU9DR1dJTlNaKSBmYWlsZWQAbWVudQBtZXRob2QgYCUuMjUwcycgaGFzIG5hbWUgdGhhdCBpcyB0b28gbG9uZyAoJWQgPiAlZCBjaGFyYWN0ZXJzKQBuZXcgcGFja2FnZQBuZXdsaW5lIGJlZm9yZSBvcHRpb24gbmFtZSBzdGFydABuZXdsaW5lIGJlZm9yZSBzdW1tYXJ5AG5vbi1hbHBoYW51bSBpbiBvcHRpb24gbmFtZQBub24tZGlnaXQgd2hlcmUgZGlnaXQgd2FudGVkAG5vbmFscGhhIHdoZXJlIG9wdGlvbiBuYW1lIHN0YXJ0IHdhbnRlZABub3QgaW5zdGFsbGVkAHByZS1kZXBlbmRzIG9uAHByb3ZpZGVzAHB1cmdlAHEAcXVlcnkvc2V0dXAgc2NyaXB0AHIAcmVjb21tZW5kcwByZW1vdmUAcmVtb3ZlZCAoY29uZmlncyByZW1haW4pAHJlcGxhY2VzAHMAc2NyZWVuIHBhcnQAc3VnZ2VzdHMAc3ludGF4IGVycm9yIGluIG1ldGhvZCBvcHRpb25zIGZpbGUgYCUuMjUwcycgLS0gJXMAdGVybWluYWwgbGFja3MgbmVjZXNzYXJ5IGZlYXR1cmVzLCBnaXZpbmcgdXAAdHJpZ2dlcmVkAHUAdW5hYmxlIHRvIGFjY2VzcyBtZXRob2Qgc2NyaXB0IGAlLjI1MHMnAHVuYWJsZSB0byBjbG9zZSBuZXcgb3B0aW9uIGZpbGUgYCUuMjUwcycAdW5hYmxlIHRvIGluc3RhbGwgbmV3IG9wdGlvbiBhcyBgJS4yNTBzJwB1bmFibGUgdG8gb3BlbiBjdXJyZW50IG9wdGlvbiBmaWxlIGAlLjI1MHMnAHVuYWJsZSB0byBvcGVuIG5ldyBvcHRpb24gZmlsZSBgJS4yNTBzJwB1bmFibGUgdG8gb3BlbiBvcHRpb24gZGVzY3JpcHRpb24gZmlsZSBgJS4yNTBzJwB1bmFibGUgdG8gcmVhZCBgJS4yNTBzJyBkaXJlY3RvcnkgZm9yIHJlYWRpbmcgbWV0aG9kcwB1bmFibGUgdG8gcmVhZCBtZXRob2Qgb3B0aW9ucyBmaWxlIGAlLjI1MHMnAHVuYWJsZSB0byBzdGF0IG9wdGlvbiBkZXNjcmlwdGlvbiBmaWxlIGAlLjI1MHMnAHVuYWJsZSB0byB3cml0ZSBuZXcgb3B0aW9uIHRvIGAlLjI1MHMnAHVua25vd24gYWN0aW9uIHN0cmluZyBgJS41MHMnAHVucGFja2VkIChub3Qgc2V0IHVwKQB1cGRhdGUgYXZhaWxhYmxlIGxpc3Qgc2NyaXB0AFByb2plY3QtSWQtVmVyc2lvbjogRGViaWFuIGRwa2cgMS4xNgpSZXBvcnQtTXNnaWQtQnVncy1UbzogZGViaWFuLWRwa2dAbGlzdHMuZGViaWFuLm9yZwpQT1QtQ3JlYXRpb24tRGF0ZTogMjAxMS0xMC0xNCAwNzoxMSswMjAwClBPLVJldmlzaW9uLURhdGU6IDIwMTAtMTItMjAgMDM6MTArMDEwMApMYXN0LVRyYW5zbGF0b3I6IEphdmllciBGZXJuw6FuZGV6LVNhbmd1aW5vIDxqZnNAZGViaWFuLm9yZz4KTGFuZ3VhZ2UtVGVhbTogU3BhbmlzaCA8ZGViaWFuLWwxMG4tc3BhbmlzaEBsaXN0cy5kZWJpYW4ub3JnPgpMYW5ndWFnZTogZXMKTUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDgtYml0ClgtUE9GaWxlLVNwZWxsRXh0cmE6IGRpc3AgSWFuIEphY2tzb24gaGVscCBNYXnDunMgc29icmVlc2NyaWJpciBSZXEKWC1QT0ZpbGUtU3BlbGxFeHRyYTogcmVibG9xdWVhciBUSU9DR1dJTlNaIFNJR1dJTkNIIGRvdXBkYXRlIFJlIEVzdApYLVBPRmlsZS1TcGVsbEV4dHJhOiBwcmltZXJwbGFubyBwcmVkZXBlbmRlIEVJT00gc2VsZWN0IFdpY2hlcnQgZ2V0Y2ggcXVpdApYLVBPRmlsZS1TcGVsbEV4dHJhOiBURVJNIFJldHVybiBzdWIgZXhwZXJ0IE9jaW9uZXMgc1VnZXJpZG8gYWRtaW5kaXIKWC1QT0ZpbGUtU3BlbGxFeHRyYTogdGhpc3N0YXRlIGJJQ0hPIGFjY2VzcyBBYnJldiBiYXNlbGlzdCBwYWQgcmVkaWJ1amEKWC1QT0ZpbGUtU3BlbGxFeHRyYTogd2hhdGluZm8gT3BjIGVsZWNjaW9uYXIgY29uZmlnIGF2YWlsYWJsZSBjb3JlIHN0YXQKWC1QT0ZpbGUtU3BlbGxFeHRyYTogYXRyYiBjdHVhbGl6YXIgRXh0IHZlcnNpb24gdXBkYXRlIGVzaW5zdGFsYXIKWC1QT0ZpbGUtU3BlbGxFeHRyYTogc2NyZWVucGFydCBpb2N0bCBlWGl0IEVPRiBzYSBkcGtnIGRlc2MgaW5mbwpYLVBPRmlsZS1TcGVsbEV4dHJhOiBzZWd1bmRvcGxhbm8gSW1wIGNvbG91ciBzY3JpcHQgQWtrZXJtYW4gcmVtb3ZlIEludHJvClgtUE9GaWxlLVNwZWxsRXh0cmE6IGluc3RhbGwgQXYgZGVidWcgaW5zdCBvbmZpZ3VyYXIgZHNlbGVjdCBoZWFkaW5nClgtUE9GaWxlLVNwZWxsRXh0cmE6IFJlZGlidWphCgAKCiVzOiAlcwoACgpVdGlsaWNlIF5QIHkgXk4sIGxhcyB0ZWNsYXMgZGVsIGN1cnNvciwgbGV0cmFzIGluaWNpYWxlcywgbyBkw61naXRvczsKUHVsc2UgPGludHJvPiBwYXJhIGNvbmZpcm1hciBsYSBzZWxlY2Npw7NuLiAgXkwgcmVkaWJ1amEgbGEgcGFudGFsbGEuCgoACgpBY2Nlc28gZGUgc8OzbG8gbGVjdHVyYTogwqFzb2xhbWVudGUgc2UgcHVlZGVuIHZlciBsYXMgc2VsZWNjaW9uZXMhAApQdWxzZSA8aW50cm8+IHBhcmEgY29udGludWFyLgAgACAgLS0gJWQlJSwgcHVsc2UgACAgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICBNdWVzdHJhIGVzdGUgbWVuc2FqZSBkZSBheXVkYS4KICAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIE11ZXN0cmEgbGEgdmVyc2nDs24uCgoAIChhbGZhYsOpdGljYW1lbnRlKQAgKGRpc3AuLCBwcmlvcmlkYWQpACAoZGlzcC4sIHNlY2Npw7NuKQAgKHBvciBkaXNwb25pYmlsaWRhZCkAIChwb3IgcHJpb3JpZGFkKQAgKHBvciBzZWNjacOzbikAIChwb3IgZXN0YWRvKQAgKGVzdGFkbywgcHJpb3JpZGFkKQAgKGVzdGFkbywgc2VjY2nDs24pACBubyBwYXJlY2UgZXN0YXIgZGlzcG9uaWJsZQoAIG1hcmNhOisvPS8tIGNvbmNpc286diBheXVkYTo/ACBtYXJjYTorLz0vLSBsaXRlcmFsOnYgYXl1ZGE6PwAgbyAAIGNvbmNpc286diBheXVkYTo/ACBsaXRlcmFsOnYgYXl1ZGE6PwDCoUJpY2hvIQAlLSpzICVzJXMlczsgICVzIChlcmE6ICVzKS4gICVzAFBhcXVldGVzICVzICVzAFBhcXVldGVzICVzICVzIGVuIGxhIHNlY2Npw7NuICVzAFBhcXVldGVzICVzICVzIHNpbiBzZWNjacOzbgAlcyBwYXJhIHNlZ3VpcgAlcyBwYXF1ZXRlcyBlbiBsYSBzZWNjacOzbiAlcwAlcyBwYXF1ZXRlcyBzaW4gc2VjY2nDs24AJXMgcGFyYSB2b2x2ZXIAKiBEZXN0YWNhZG86IHNlIGRlc3RhY2Fyw6EgdW5hIGzDrW5lYSBlbiBlbCBsaXN0YWRvIGRlIHBhcXVldGUuIEluZGljYSBxdcOpCiAgcGFxdWV0ZShzKSBzZSBhZmVjdGFyw6FuIGFsIHB1bHNhciBgKycsIGAtJyB5IGBfJy4KCiogTGEgbMOtbmVhIGRpdmlzb3JpYSBlbiBsYSBtaXRhZCBkZSBsYSBwYW50YWxsYSBtdWVzdHJhIHVuYSBleHBsaWNhY2nDs24KICBicmV2ZSBkZWwgZXN0YWRvIGRlbCBwYXF1ZXRlIGFjdHVhbG1lbnRlIGRlc3RhY2FkbywgbyB1bmEgZGVzY3JpcGNpw7NuIGRlbAogIGdydXBvIGRlc3RhY2FkbyBzaSBzZSB0cmF0YSBkZSB1bmEgbMOtbmVhIGRlIGdydXBvLiBTaSBubyBlbnRpZW5kZSBlbAogIHNpZ25pZmljYWRvIGRlIGFsZ3Vub3MgZGUgbG9zIGNhcmFjdGVyZXMgZGUgZXN0YWRvIG1vc3RyYWRvcywgdmF5YSBhbAogIHBhcXVldGUgcmVsZXZhbnRlIHkgbWlyZSBlbiBlc3RhIGzDrW5lYSBkZSBkaXZpc2nDs24sIG8gdXRpbGljZSBsYSB0ZWNsYSBgdicKICBwYXJhIHVuYSBtdWVzdHJhIGNvbXBsZXRhIChwdWxzZSBudWV2YW1lbnRlIGB2JyBwYXJhIHZvbHZlciBhIGxhIG11ZXN0cmEKICBjb25jaXNhKS4KCiogRWwgZmluYWwgZGUgbGEgcGFudGFsbGEgbXVlc3RyYSBhbGd1bmEgaW5mb3JtYWNpw7NuIHNvYnJlIGVsIHBhcXVldGUKICBhY3R1YWxtZW50ZSBkZXN0YWNhZG8gKHNpIHPDs2xvIGhheSB1bm8pLgoKICBTZSBwdWVkZSBtb3N0cmFyIHVuYSBkZXNjcmlwY2nDs24gZXh0ZW5kaWRhIGRlbCBwYXF1ZXRlLCBkZXRhbGxlcyBkZSBjb250cm9sCiAgaW50ZXJub3MgZGVsIHBhcXVldGUgKHRhbnRvIHBhcmEgbGEgdmVyc2nDs24gaW5zdGFsYWRhIGNvbW8gcGFyYSBsYSBkaXNwb25pYmxlCiAgZGVsIHBhcXVldGUpLCBvIGluZm9ybWFjacOzbiBzb2JyZSBsb3MgY29uZmxpY3RvcyB5IGxhcyBkZXBlbmRlbmNpYXMgcXVlCiAgY29uY2llcm5lbiBhbCBwYXF1ZXRlIGFjdHVhbCAoZW4gc3ViLWxpc3RhcyBkZSByZXNvbHVjacOzbiBkZQogIGNvbmZsaWN0by9kZXBlbmRlbmNpYSkuCgogIFV0aWxpY2UgbGEgdGVjbGEgYGknIHBhcmEgY2lyY3VsYXIgYSB0cmF2w6lzIGRlIGxhcyBtdWVzdHJhLCBlIGBJJyBwYXJhCiAgZXNjb25kZXIgbGEgbXVlc3RyYSBkZSBpbmZvcm1hY2nDs24gbyBleHBhbmRpcmxhIHBhcmEgdXRpbGl6YXIgY2FzaSB0b2RhCiAgbGEgcGFudGFsbGEuCgA8ZXJyb3IgZXN0w6FuZGFyPgA8c2FsaWRhIGVzdMOhbmRhcj4Awr8/AEFicmV2LgBBYm9ydGFyIC0gc2FsaXIgc2luIGhhY2VyIG5pbmfDum4gY2FtYmlvAE3DqXRvZG8gZGUgYWNjZXNvIGAlcycuAEFjY2lvbmVzOgogYWNjZXNzIHVwZGF0ZSBzZWxlY3QgaW5zdGFsbCBjb25maWcgcmVtb3ZlIHF1aXQKCgBUb2RvcwBUb2RvcyBsb3MgcGFxdWV0ZXMAQXRyaWJ1dG9zOgoAVmVyLmRpc3AuAGRpc3BvbmlibGVzAEluZm9ybWFjacOzbiBkaXNwb25pYmxlIGRlIGNvbnRyb2wAUGFxdWV0ZXMgZGlzcG9uaWJsZXMgKG5vIGluc3RhbGFkb3MgYWN0dWFsbWVudGUpAHJvdG9zAFBhcXVldGVzIG1hbCBpbnN0YWxhZG9zAEVzY29nZXIgZWwgbcOpdG9kbyBkZSBhY2Nlc28gcXVlIHNlIHVzYXLDoS4AQ29sb3JlczoKAENvbmZpZ3VyYXIgbG9zIHBhcXVldGVzIHF1ZSBubyBlc3TDqW4gY29uZmlndXJhZG9zLgBDb3B5cmlnaHQgKEMpIDE5OTQtMTk5NiBJYW4gSmFja3Nvbi4KQ29weXJpZ2h0IChDKSAyMDAwLDIwMDEgV2ljaGVydCBBa2tlcm1hbi4KAEV2b2x1Y2lvbmEgYSB0cmF2w6lzIGRlIGxhcyBwYW50YWxsYXMgZGUgaW5mb3JtYWNpw7NuAEludGVyZmF6IGRlIG1hbmVqbyBkZSBwYXF1ZXRlcyAlcyBkZSBEZWJpYW4gYCVzJy4KAFJlc29sdWNpw7NuIGRlIGRlcGVuZGVuY2lhL2NvbmZsaWN0byAtLSBJbnRyb2R1Y2Npw7NuLgoKVW5hIG8gbcOhcyBlbGVjY2lvbmVzIGhhbiBvY2FzaW9uYWRvIHVuIHByb2JsZW1hIGRlIGNvbmZsaWN0byBvIGRlcGVuZGVuY2lhLAphbGd1bm9zIHBhcXVldGVzIHPDs2xvIHNlIGRlYmVyw61hbiBpbnN0YWxhciBjb25qdW50YW1lbnRlIGNvbiBjaWVydG9zIG90cm9zLCB5CmFsZ3VuYXMgY29tYmluYWNpb25lcyBkZSBwYXF1ZXRlcyBubyBzZSBwdWVkZW4gaW5zdGFsYXIgY29uanVudGFtZW50ZS4KClZlcsOhIHVuYSBzdWJsaXN0YSBxdWUgY29udGllbmUgbG9zIHBhcXVldGVzIGludm9sdWNyYWRvcy4gTGEgbWl0YWQgaW5mZXJpb3IgZGUKbGEgcGFudGFsbGEgbXVlc3RyYSBsYXMgZGVwZW5kZW5jaWFzIHkgY29uZmxpY3RvcyByZWxldmFudGVzOyB1dGlsaWNlIGBpJyBwYXJhCmNpcmN1bGFyIGVuIGVsbGEgZW50cmUgbG8gbWVuY2lvbmFkbywgbGFzIGRlc2NyaXBjaW9uZXMgZGUgbG9zIHBhcXVldGVzLCB5CmxhIGluZm9ybWFjacOzbiBkZSBjb250cm9sIGludGVybmEuCgpTZSBoYSBjYWxjdWxhZG8gdW4gcmVwZXJ0b3JpbyBkZSBwYXF1ZXRlcyBgc3VnZXJpZG9zJywgeSBsYXMgbWFyY2FzIGluaWNpYWxlcwplbiBlc3RhIHN1Ymxpc3RhIHNlIGhhbiBwdWVzdG8gcGFyYSBjYXNhciBjb24gYXF1ZWxsYXMsIHBvciBsbyBxdWUgcG9kcsOhCnNpbXBsZW1lbnRlIHB1bHNhciBJbnRybyBwYXJhIGFjZXB0YXIgbGFzIHN1Z2VyZW5jaWFzIHNpIGxvIGRlc2VhLiBQdWVkZQphYm9ydGFyIGVsL2xvcyBjYW1iaW8ocykgcXVlIGNhdXNhcm9uIGVsIHByb2JsZW1hIHkgdm9sdmVyIGEgbGEgbGlzdGEKcHJpbmNpcGFsIHB1bHNhbmRvIGxhIGxldHJhIG1hecO6c2N1bGEgYFgnLgoKVGFtYmnDqW4gcHVlZGUgbW92ZXJzZSBwb3IgbGEgbGlzdGEgeSBjYW1iaWFyIGxvcyBtYXJjYWRvcyBwYXJhIHF1ZSBzZSBhc2VtZWplCm3DoXMgYSBsbyBxdWUgZGVzZWEsIHkgcHVlZGEgYHJlY2hhemFyJyBsYXMgc3VnZXJlbmNpYXMgdXRpbGl6YW5kbyBsYXMgdGVjbGFzCm1hecO6c2N1bGFzIGBEJyBvIGBSJyAodsOpYXNlIGxhIHBhbnRhbGxhIGRlIGF5dWRhIGRlIGNvbWJpbmFjaW9uZXMgZGUgdGVjbGFzKS4KVXRpbGljZSBsYSBgUScgbWF5w7pzY3VsYSBwYXJhIGZvcnphcm1lIGEgYWNlcHRhciBsYSBzaXR1YWNpw7NuIGFjdHVhbG1lbnRlCm1vc3RyYWRhIGVuIGNhc28gZGUgcXVlIGRlc2VlIGRlc2NhcnRhciB1bmEgcmVjb21lbmRhY2nDs24gbyBwaWVuc2UgcXVlIGVsCnByb2dyYW1hIHNlIGhhIGVxdWl2b2NhZG8uCgpQdWxzZSA8ZXNwYWNpbz4gcGFyYSBhYmFuZG9uYXIgbGEgYXl1ZGEgeSBlbnRyYXIgZW4gbGEgc3VibGlzdGE7CnJlY3VlcmRlOiBwdWxzZSBgPycgcGFyYSBsYSBheXVkYS4KAERlc2NyaXBjacOzbgBNdWVzdHJhLCBwYXJ0ZSAxOiBsaXN0YWRvIGRlIHBhcXVldGUgeSBjYXJhY3RlcmVzIGRlIGVzdGFkbwBNdWVzdHJhLCBwYXJ0ZSAyOiBkZXN0YWNhZG8gZGUgbGEgbGlzdGE7IG11ZXN0cmEgZGUgaW5mb3JtYWNpw7NuAEVJT00ARU9GIGFudGVzIGRlIHF1ZSBjb21pZW5jZSBlbCBub21icmUgZGUgbGEgb3BjacOzbgBFT0YgYW50ZXMgZGVsIHJlc3VtZW4ARU9GIGVuIGxhIGNhZGVuYSBkZSDDrW5kaWNlAEVPRiBkZW50cm8gZGVsIG5vbWJyZSBkZSBsYSBvcGNpw7NuAEVPRiBlbiBlbCByZXN1bWVuIC0gZmFsdGEgdW5hIG51ZXZhIGzDrW5lYQBFcnJvcgBFcnJvcjogAEV4cGxpY2FjacOzbgBleHRyYQBJciBhbCBmaW5hbCBkZSBsYSBsaXN0YQBJciBhbCBwcmluY2lwaW8gZGUgbGEgbGlzdGEATGEgaW5mb3JtYWNpw7NuIGRlIGF5dWRhIGVzdMOhIGRpc3BvbmlibGUgYmFqbyBsb3Mgc2lndWllbnRlcyB0ZW1hczoAQXl1ZGE6IABJbXAAaW1wb3J0YW50ZXMAVmVyLmluc3QuAEluc3RhbGFyIHkgYWN0dWFsaXphciBsb3MgcGFxdWV0ZXMgZGVzZWFkb3MuAEluc3RhbGFkb3MASW5mb3JtYWNpw7NuIGRlIGNvbnRyb2wgaW5zdGFsYWRhAFBhcXVldGVzIGluc3RhbGFkb3MAwr9JbnN0YWxhZG8/AEludGVycmVsYWNpb25lcwBJbnRyb2R1Y2Npw7NuIGEgbGEgc3VibGlzdGEgZGUgcmVzb2x1Y2nDs24gZGUgY29uZmxpY3RvL2RlcGVuZGVuY2lhAEludHJvZHVjY2nDs24gYSBsYSBtdWVzdHJhIGRlIHNlbGVjY2nDs24gZGUgbcOpdG9kbwBJbnRyb2R1Y2Npw7NuIGEgbGEgc2VsZWNjacOzbiBkZSBwYXF1ZXRlcwBJbnRyb2R1Y2Npw7NuIGFsIG5hdmVnYWRvciBkZSBsaXN0YSBkZSBwYXF1ZXRlcyBkZSBzw7NsbyBsZWN0dXJhACVzIGludsOhbGlkbyBgJXMnCgBBc29jaWFjaW9uZXMgZGUgdGVjbGFzAFB1bHNhY2lvbmVzAFRlY2xhcyBwYXJhIGxhIHNlbGVjY2nDs24gZGUgbcOpdG9kbwBIYWNlIGVsIHJlYWxjZSBtZW5vcyBlc3BlY8OtZmljbwBIYWNlIGVsIHJlYWxjZSBtw6FzIGVzcGVjw61maWNvAE1hcmNhIGVsL2xvcyBwYXF1ZXRlKHMpIHBhcmEgZGVzaW5zdGFsYXIgeSBwdXJnYXIATWFyY2EgZWwvbG9zIHBhcXVldGUocykgcGFyYSBkZXNpbnN0YWxhY2nDs24ATWFyY2EgZWwvbG9zIHBhcXVldGUocykgcGFyYSBpbnN0YWxhY2nDs24ATWFyY2FkbyBwYXJhAFRlY2xhcyBkZSBtb3ZpbWllbnRvOiBSZSBQw6FnL0F2IFDDoWcsIEluaWNpby9GaW4sCiAgICAgICAgICAgICAgICAgICAgICBIYWNpYSBhZGVsYW50ZS9oYWNpYSBhdHLDoXM6CiBqLCBGbGVjaGEgYWJham8gICAgICBrLCBGbGVjaGEgYXJyaWJhLCAgICAgIG11ZXZlIGxvIGRlc3RhY2FkbwogTiwgUMOhZ2luYSBhYmFqbywgRXNwYWNpbyAKICAgICAgICAgICAgICAgUCwgcMOhZ2luYSBhcnJpYmEsIHJldHJvY2VkZXIgICBkZXNwbGF6YSBsYSBsaXN0YSAxIHDDoWdpbmEKIF5uICAgICAgICAgICAgICAgICAgICAgXnAgICAgICAgICAgICAgICAgICAgIGRlc3BsYXphIGxhIGxpc3RhIDEgbMOtbmVhCiB0LCBJbmljaW8gICAgICAgICAgICAgIGUsIEZpbiAgICAgICAgICAgICAgICBzYWx0YSBhbCBpbmljaW8vZmluIGRlIGxhIGxpc3RhCiB1ICAgICAgICAgICAgICAgICAgICAgIGQgICAgICAgICAgICAgICAgICAgICBkZXNwbGF6YSBsYSBpbmZvcm1hY2nDs24gMSBww6FnaW5hCiBedSAgICAgICAgICAgICAgICAgICAgIF5kICAgICAgICAgICAgICAgICAgICBkZXNwbGF6YSBsYSBpbmZvcm1hY2nDs24gMSBsw61uZWEKIEIsIGZsZWNoYSBpenF1aWVyZGEgICAgRiwgZmxlY2hhIGRlcmVjaGEgICAgIGRlc3BsYXphIGxhIHZpc3VhbGl6YWNpw7NuIDEvMwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZSBsYSBwYW50YWxsYQogXmIgICAgICAgICAgICAgICAgICAgICBeZiAgICAgICAgICAgICAgICAgICAgZGVzcGxhemEgbGEgdmlzdWFsaXphY2nDs24gMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXLDoWN0ZXIKTWFyY2FyIGxvcyBwYXF1ZXRlcyBwYXJhIHByb2Nlc2FyIHBvc3Rlcmlvcm1lbnRlOgogKywgSW5zZXJ0ICAgaW5zdGFsYXIgbyBhY3R1YWxpemFyICAgPSwgSCAgIG1hbnRlbmVyIGVuIGVsIGVzdGFkbyBhY3R1YWwKIC0sIFN1cHIgICAgIGRlc2luc3RhbGFyICAgICAgICAgICAgIDosIEcgICBubyBtYW50ZW5lcjogYWN0dWFsaXphciBvIGRlamFyIHNpbiBpbnN0YWxhcgogXyAgICAgICAgICAgZGVzaW5zdGFsYXIgeSBlbGltaW5hciBsYSBjb25maWd1cmFjacOzbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWYXJpYXM6CkRlamFyLCBzYWxpciwgc29icmVlc2NyaWJpciAowqFvYnNlcnZlIGxhcyBtYXnDunNjdWxhcyEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8sIEYxIHNvbGljaXRhIGF5dWRhICh0YW1iacOpbiBBeXVkYSkKIEludHJvICAgIENvbmZpcm1hLCBkZWphIChzZSB2ZXJpZmljYW4gZGVwZW5kZW5jaWFzKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpLCBJICBzZSBtdWVzdHJhL25vIHNlIG11ZXN0cmEgaW5mb3JtYWNpw7NuCiAgUSAgICAgIENvbmZpcm1hLCBkZWphIChubyBzZSB2ZXJpZmljYW4gZGVwZW5kZW5jaWFzKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvLCBPICBjaXJjdWxhIHBvciBsYSBvcGNpb25lcyBkZSBvcmRlbmFjacOzbgogIFgsIEVzYyAgc2FsZSwgKGVYaXQpLCBhYmFuZG9uYW5kbyBjdWFscXVpZXIgY2FtYmlvIHJlYWxpemFkbwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2LCBWICBjYW1iaWEgbGFzIG9wY2lvbmVzIGRlIGxhIG11ZXN0cmEgZGUgZXN0YWRvCiAgUiAgICAgIEVzdGFibGVjZSBlbCBlc3RhZG8gYW50ZXMgZGUgZXN0YSBsaXN0YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBebCAgICByZWZyZXNjYSBsYSB2aXN1YWxpemFjacOzbgogIFUgICAgICBsbyBwb25lIHRvZG8gYWwgZXN0YWRvIHNVZ2VyaWRvICAgLyAgIGJ1c2NhICAoSW50cm8gcGFyYSBjYW5jZWxhcikKICBEICAgICAgbG8gcG9uZSB0b2RvIGFsIGVzdGFkbyBEaXJlY3RhbWVudGUgc29saWNpdGFkbwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbiwgXCAgcmVwaXRlIGxhIMO6bHRpbWEgYsO6c3F1ZWRhCgBUZWNsYXMgZGUgbW92aW1pZW50bzogUmUgUMOhZy9BdiBQw6FnLCBJbmljaW8vRmluLCBBcnJpYmEvQWJham8sIEFkZWxhbnRlL0F0csOhcwogIGosIEZsZWNoYS1hYmFqbyAgICAgICBrLCBGbGVjaGEtYXJyaWJhICAgICAgIG1vdmVyIGVsIHJlYWxjZSBpbHVtaW5hZG8KICBOLCBSZSBQw6FnLCBFc3BhY2lvICAgIFAsIEF2IFDDoWcsIFJldHJvY2VzbyAgIGRlc3BsYXphciBsYSBsaXN0YSBlbiAxIHDDoWdpbmEKICBebiAgICAgICAgICAgICAgICAgICAgXnAgICAgICAgICAgICAgICAgICAgICBkZXNwbGF6YXIgbGEgbGlzdGEgZW4gMSBsw61uZWEKICB0LCBJbmljaW8gICAgICAgICAgICAgYiwgRmluICAgICAgICAgICAgICAgICBzYWx0YXIgYWwgaW5pY2lvL2ZpbiBkZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYSBsaXN0YQogIHUgICAgICAgICAgICAgICAgICAgICBkICAgICAgICAgICAgICAgICAgICAgIGRlc3BsYXphciBsYSBpbmZvcm1hY2nDs24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW4gMSBww6FnaW5hCiAgXnUgICAgICAgICAgICAgICAgICAgIF5kICAgICAgICAgICAgICAgICAgICAgZGVzcGxhemFyIGxhIGluZm9ybWFjacOzbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbiAxIGzDrW5lYQogIEIsIEZsZWNoYS1penF1aWVyZGEgICBGLCBGbGVjaGEtZGVyZWNoYSAgICAgIGRlc3BsYXphciBsYSBtdWVzdHJhIDEvMyBkZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYSBwYW50YWxsYQogIF5iICAgICAgICAgICAgICAgICAgICBeZiAgICAgICAgICAgICAgICAgICAgIGRlc3BsYXphciBsYSBtdWVzdHJhIDEgY2Fyw6FjdGVyCijDiXN0YXMgc29uIGxhcyBtaXNtYXMgdGVjbGFzIGRlIG1vdmltaWVudG8gcXVlIGVuIGxhIG11ZXN0cmEgZGUgbGlzdGEKZGUgcGFxdWV0ZXMuKQoKQWJhbmRvbmFyOgogUmV0dXJuLCBJbnRybyAgIHNlbGVjY2lvbmFyIGVzdGUgbcOpdG9kbyBlIGlyIGEgc3UgZGnDoWxvZ28gZGUgY29uZmlndXJhY2nDs24KIHgsIFggICAgICAgICAgICBzYWxpciBzaW4gYWx0ZXJhciBvIGVzdGFibGVjZXIgZWwgbcOpdG9kbyBkZSBpbnN0YWxhY2nDs24KCk1pc2NlbMOhbmVhOgogID8sIEF5dWRhLCBGMSAgIHNvbGljaXRhciBheXVkYQogXmwgICAgICAgICAgICAgIHZvbHZlciBhIHByZXNlbnRhciBsYSBtdWVzdHJhCiAgLyAgICAgICAgICAgICAgYnVzY2FyIChzaW1wbGVtZW50ZSBwdWxzZSBJbnRybyBwYXJhIGNhbmNlbGFyKQogIFwgICAgICAgICAgICAgIHJlcGV0aXIgbGEgw7psdGltYSBiw7pzcXVlZGEKAEJhamFyAFN1YmlyAG51ZXZvcwBQYXF1ZXRlcyBudWV2b3MgZGlzcG9uaWJsZXMATm8gaGF5IHVuYSBkZXNjcmlwY2nDs24gZGlzcG9uaWJsZS4ATm8gaGF5IGV4cGxpY2FjacOzbiBkaXNwb25pYmxlLgBFc3BlY2lmaWNhY2nDs24gZGUgY29sb3IgbnVsYQoAUGFxdWV0ZXMgb2Jzb2xldG9zIHkgbG9jYWxtZW50ZSBpbnN0YWxhZG9zAG9ic29sZXRvcy9sb2NhbGVzAE1hcmNhIGFudGlndWEAT3BjAG9wY2lvbmFsZXMAT2Npb25lczoKICAtLWFkbWluZGlyIDxkaXJlY3RvcmlvPiAgICAgICAgICBVdGlsaXphIDxkaXJlY3RvcmlvPiBlbiBsdWdhciBkZSAlcy4KICAtLWV4cGVydCAgICAgICAgICAgICAgICAgICAgICAgICBBY3RpdmEgZWwgbW9kbyBleHBlcnRvLgogIC0tZGVidWcgPGZpY2hlcm8+IHwgLUQ8ZmljaGVybz4gIEFjdGl2YSBsYSBkZXB1cmFjacOzbiB5IGVudsOtYSBsYSBzYWxpZGEgYSA8ZmljaGVybz4uCiAgLS1jb2xvdXIgfCAtLWNvbG9yIHNjcmVlbnBhcnQ6W3ByaW1lcl9wbGFub10sW3NlZ3VuZG9fcGxhbm9dWzphdHJiWythdHJiKy4uXV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb25maWd1cmEgbG9zIGNvbG9yZXMgZGUgbGEgcGFudGFsbGEuCgoAUGFxdWV0ZQBQdWxzZSA8aW50cm8+IHBhcmEgY29udGludWFyLgoAUHVsc2UgPyBwYXJhIGVsIG1lbsO6LCAuIHBhcmEgZWwgdGVtYSBzaWd1aWVudGUsIDxpbnRybz4gcGFyYSBzYWxpci4AUHVsc2UgdW5hIHRlY2xhIGRlIGxhIGxpc3RhIGFudGVyaW9yLCA8aW50cm8+LCBgcScgbyBgUScgcGFyYSBzYWxpciBkZSBsYSBheXVkYSwKIG8gYC4nIChwdW50bykgcGFyYSBsZWVyIGNhZGEgdW5hIGRlIGxhcyBww6FnaW5hcyBkZSBheXVkYS4gAFByaW9yaWRhZABQdXJnYWRvcwBQYXF1ZXRlcyBwdXJnYWRvcyBvIHF1ZSBudW5jYSBmdWVyb24gaW5zdGFsYWRvcwBTYWxpciBkZSBkc2VsZWN0LgBTYWxpciBzaW4gY2FtYmlhciBlbCBtw6l0b2RvIGRlIGFjY2VzbyBzZWxlY2Npb25hZG8AU2FsaXIsIGNvbmZpcm1hbmRvIHkgc2luIGNvbXByb2JhciBkZXBlbmRlbmNpYXMAU2FsaXIsIGNvbmZpcm1hbmRvIHkgY29tcHJvYmFuZG8gZGVwZW5kZW5jaWFzAFNhbGlyLCByZWNoYXphbmRvIGxhcyBzdWdlcmVuY2lhcyBkZSBjb25mbGljdG9zL2RlcGVuZGVuY2lhcwBSRUlOU1RBTEFSAFJlZGlidWphIGxhIHBhbnRhbGxhAERlc2luc3RhbGFyIGxvcyBwYXF1ZXRlcyBubyBkZXNlYWRvcy4ARGVzaW5zdGFsYWRvcwBQYXF1ZXRlcyBkZXNpbnN0YWxhZG9zIHF1ZSB5YSBubyBlc3TDoW4gZGlzcG9uaWJsZXMAUGFxdWV0ZXMgZGVzaW5zdGFsYWRvcyAocXVlZGEgbGEgY29uZmlndXJhY2nDs24pAFJlcGl0ZSBsYSDDumx0aW1hIGLDunNxdWVkYQBSZXEAU29saWNpdGFyIGF5dWRhIChldm9sdWNpb25hIGEgdHJhdsOpcyBkZSBsYXMgcMOhZ2luYXMgZGUgYXl1ZGEpAFNvbGljaXRhciBxdcOpIHBhcXVldGVzIGRlc2VhIGVuIGVsIHNpc3RlbWEuAHJlcXVlcmlkb3MAUG9uZXIgZWwgZXN0YWRvIGFjdHVhbG1lbnRlIGluc3RhbGFkbyBwYXJhIHRvZG9zIGxvcyBwYXF1ZXRlcwBQb25lciBlbCBlc3RhZG8gZGlyZWN0YW1lbnRlIHNvbGljaXRhZG8gcGFyYSB0b2RvcyBsb3MgcGFxdWV0ZXMAUG9uZXIgZWwgZXN0YWRvIGFudGlndW8gcGFyYSB0b2RvcyBsb3MgcGFxdWV0ZXMAUG9uZXIgZWwgZXN0YWRvIHN1Z2VyaWRvIHBhcmEgdG9kb3MgbG9zIHBhcXVldGVzAFBhcnRlcyBkZSBwYW50YWxsYToKAFJldHJvY2VkZSBhIHRyYXbDqXMgZGUgbGEgYXl1ZGEvaW5mb3JtYWNpw7NuAFJldHJvY2VkZSBhIHRyYXbDqXMgZGUgbGEgYXl1ZGEvaW5mb3JtYWNpw7NuIGVuIDEgbMOtbmVhAFJldHJvY2VkZSBhIHRyYXbDqXMgZGUgbGEgbGlzdGEAUmV0cm9jZWRlIGEgdHJhdsOpcyBkZSBsYSBsaXN0YSBlbiAxIGzDrW5lYQBBdmFuemEgYSB0cmF2w6lzIGRlIGxhIGF5dWRhL2luZm9ybWFjacOzbgBBdmFuemEgYSB0cmF2w6lzIGRlIGxhIGF5dWRhL2luZm9ybWFjacOzbiBlbiAxIGzDrW5lYQBBdmFuemEgYSB0cmF2w6lzIGRlIGxhIGxpc3RhAEF2YW56YSBhIHRyYXbDqXMgZGUgbGEgbGlzdGEgZW4gMSBsw61uZWEAQnVzY2FyIABCdXNjYSB1biBwYXF1ZXRlIGN1eW8gbm9tYnJlIGNvbnRlbmdhIHVuYSBjYWRlbmEAU2VjY2nDs24AU2VsZWNjaW9uYSBlbCBtw6l0b2RvIGRlIGFjY2VzbyBhY3R1YWxtZW50ZSBkZXN0YWNhZG8ARXN0YWJsZXpjYSBsYSB2YXJpYWJsZSBURVJNIGNvcnJlY3RhbWVudGUsIHV0aWxpY2UgdW4gdGVybWluYWwgbWVqb3IsCm8gbWFuw6lqZXNlIGNvbiBsYSBoZXJyYW1pZW50YSBkZSBnZXN0acOzbiBwb3IgcGFxdWV0ZSAlcy4KAGVzdMOhbmRhcgBFc3QASW50ZXJjYW1iaWEgZWwgbWVjYW5pc21vIGRlIG9yZGVuYWNpw7NuIHByaW9yaWRhZC9zZWNjacOzbgBFbCB0ZXJtaW5hbCBubyBwYXJlY2UgZGFyIHNvcG9ydGUgYWwgZGlyZWNjaW9uYW1pZW50byBwb3IgY3Vyc29yLgoARWwgdGVybWluYWwgcGFyZWNlIG5vIGRhciBzb3BvcnRlIGFsIGRlc3RhY2Fkby4KAExhIGzDrW5lYSBxdWUgaGEgaWx1bWluYWRvIHJlcHJlc2VudGEgbXVjaG9zIHBhcXVldGVzLCBzaSBwaWRlIHF1ZSBzZSBpbnN0YWxlbiwgYm9ycmVuLCBtYW50ZW5nYW4sIGV0YywgYWZlY3RhcsOhIGEgdG9kb3MgbG9zIHBhcXVldGVzIHF1ZSBjdW1wbGFuIGVsIGNyaXRlcmlvIG1vc3RyYWRvLgoKU2kgZGVzcGxhemEgbGEgbMOtbmVhIGlsdW1pbmFkYSBhIHVuYSBsw61uZWEgZGUgdW4gcGFxdWV0ZSBkZXRlcm1pbmFkbyBzZSBtb3N0cmFyw6EgYXF1w60gbGEgaW5mb3JtYWNpw7NuIHNvYnJlIGVzZSBwYXF1ZXRlLgpTZSBwdWVkZSB1c2FyIGBvJyB5IGBPJyBwYXJhIGNhbWJpYXIgZWwgdGlwbyBkZSBvcmRlbmFjacOzbiwgZXN0byBwZXJtaXRlCm1hcmNhciBwYXF1ZXRlcyBlbiBkaXN0aW50b3MgdGlwb3MgZGUgZ3J1cG9zLgBMYSBtaXRhZCBzdXBlcmlvciBkZSBsYSBwYW50YWxsYSBtdWVzdHJhIHVuYSBsaXN0YSBkZSBwYXF1ZXRlcy4gUGFyYSBjYWRhCnBhcXVldGUgdmVyw6EgY3VhdHJvIGNvbHVtbmFzIGNvbiBzdSBlc3RhZG8gYWN0dWFsIGVuIGVsIHNpc3RlbWEgeSBtYXJjYS4gRW4KZWwgbW9kbyBjb25jaXNvICh1dGlsaWNlIGB2JyBwYXJhIGNhbWJpYXIgbGEgbXVlc3RyYSBkZSBtZW5zYWplcykgZXN0b3Mgc29uCmNhcmFjdGVyZXMgaW5kaXZpZHVhbGVzLCBkZSBsYSBpenF1aWVyZGEgYSBsYSBkZXJlY2hhOgoKIEluZGljYWRvciBkZSBlcnJvcjogRXNwYWNpbyAtIG5pbmfDum4gZXJyb3IgKHBlcm8gZWwgcGFxdWV0ZSBwdWVkZSBlc3RhciBlbgplc3RhZG8gcm90byAtIHbDqWFzZSBtw6FzIGFkZWxhbnRlKQogICAgICAgICBgUicgIC0gZXJyb3Igc2VyaW8gZHVyYW50ZSBsYSBpbnN0YWxhY2nDs24sIG5lY2VzaXRhIHJlaW5zdGFsYXJzZTsKIEVzdGFkbyBpbnN0YWxhZG86ICBFc3BhY2lvICAgIC0gbm8gaW5zdGFsYWRvOwogICAgICAgICAgICAgICAgICAgICAgYConICAgICAgLSBpbnN0YWxhZG87CiAgICAgICAgICAgICAgICAgICAgICBgLScgICAgICAtIG5vIGluc3RhbGFkbywgcGVybyBwZXJtYW5lY2VuIGZpY2hlcm9zIGRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhY2nDs247CiAgICBsb3MgcGFxdWV0ZXMgZW4geyBgVScgICAgICAtIGRlc2VtcGFxdWV0YWRvIHBlcm8gYcO6biBzaW4gY29uZmlndXJhcjsKICAgICAgZXN0b3MgZXN0YWRvcyB7IGBDJyAgICAgIC0gc2VtaS1jb25maWd1cmFkbyAob2N1cnJpw7MgdW4gZXJyb3IpOwogICAgICBubyBlc3TDoW4gYmllbiB7IGBJJyAgICAgIC0gc2VtaS1pbnN0YWxhZG8gKG9jdXJyacOzIHVuIGVycm9yKTsKICAgICAgaW5zdGFsYWRvcyAgICB7IGBXJywgYHQnIC0gcGVuZGllbnRlIGRlIGxhIGVqZWN1Y2nDs24gZGUgZGlzcGFyYWRvcmVzLgogTWFyY2EgYW50aWd1YTogbG8gc29saWNpdGFkbyBwYXJhIGVzdGUgcGFxdWV0ZSBhbnRlcyBkZSBwcmVzZW50YXIgZXN0YSBsaXN0YTsKIE1hcmNhOiBsbyBxdWUgc2Ugc29saWNpdGEgcGFyYSBlc3RlIHBhcXVldGU7CiAgIGAqJzogbWFyY2FkbyBwYXJhIGluc3RhbGFjacOzbiBvIGFjdHVhbGl6YWNpw7NuOwogICBgLSc6IG1hcmNhZG8gcGFyYSBkZXNpbnN0YWxhY2nDs24sIHBlcm8gbG9zIGZpY2hlcm9zIGRlIGNvbmZpZ3VyYWNpw7NuCiAgICAgICAgICBwZXJtYW5lY2Vyw6FuCiAgIGA9JzogcmV0ZW5pZG86IGVsIHBhcXVldGUgbm8gc2UgcHJvY2VzYXLDoSBlbiBhYnNvbHV0bzsKICAgYF8nOiBtYXJjYWRvIHBhcmEgcHVyZ2EgY29tcGxldGEgLSBpbmNsdXNvIHNlIGVsaW1pbmFyw6EgbGEKICAgICAgICAgIGNvbmZpZ3VyYWNpw7NuCiAgIGBuJzogZWwgcGFxdWV0ZSBlcyBudWV2byB5IGHDum4gZGViZSBtYXJjYXJzZSBwYXJhIGluc3RhbGFyL2Rlc2luc3RhbGFyL2V0Yy4KClRhbWJpw6luIHNlIG11ZXN0cmEgbGEgUHJpb3JpZGFkLCBTZWNjacOzbiwgbm9tYnJlLCBuw7ptZXJvcyBkZSB2ZXJzacOzbiBkaXNwb25pYmxlCmUgaW5zdGFsYWRhIGRlIGNhZGEgcGFxdWV0ZSAoTWF5w7pzLVYgcGFyYSBtb3N0cmFyL2VzY29uZGVyKSB5IGRlc2NyaXBjacOzbgpyZXN1bWlkYS4KAE5vIGhheSBwYXF1ZXRlcy4ARXN0byBlcyBzb2Z0d2FyZSBsaWJyZTsgdmVhIGxhIExpY2VuY2lhIFDDumJsaWNhIEdlbmVyYWwgZGUgR05VIHZlcnNpw7NuIDIgbwpwb3N0ZXJpb3IgcGFyYSBsYXMgY29uZGljaW9uZXMgZGUgY29waWEuIE5vIGhheSBOSU5HVU5BIGdhcmFudMOtYS4KAEVzY3JpYmEgZHNlbGVjdCAtLWhlbHAgcGFyYSBvYnRlbmVyIGF5dWRhLgBzaW4gY2xhc2lmaWNhcgBQYXF1ZXRlcyBhY3R1YWxpemFkb3MsIG5vIGhheSB2ZXJzacOzbiBtw6FzIG51ZXZhAGFjdHVhbGl6YWRvcwBBY3R1YWxpemFyIGxhIGxpc3RhIGRlIHBhcXVldGVzIGRpc3BvbmlibGVzLCBzaSBzZSBwdWVkZS4AY29uIGFjdHVhbGl6YWNpw7NuIGRpc3BvbmlibGUAQWN0dWFsaXphY2nDs24gZGlzcG9uaWJsZQBNb2RvIGRlIHVzbzogJXMgWzxvcGNpw7NuPiAuLi5dIFs8YWNjacOzbj4gLi4uXQoKAEJpZW52ZW5pZG8gYWwgbGlzdGFkbyBkZSBwYXF1ZXRlcyBwcmluY2lwYWwgZGUgZHNlbGVjdC4KClNlIGxlIG1vc3RyYXLDoSB1bmEgbGlzdGEgZGUgcGFxdWV0ZXMgcXVlIGVzdMOhbiBpbnN0YWxhZG9zIG8gZGlzcG9uaWJsZXMgcGFyYQpzZXIgaW5zdGFsYWRvcy4gRGFkbyBxdWUgbm8gdGllbmUgbG9zIHByaXZpbGVnaW9zIG5lY2VzYXJpb3MgcGFyYSBhY3R1YWxpemFyCmxvcyBlc3RhZG9zIGRlIGxvcyBwYXF1ZXRlcywgc2UgZW5jdWVudHJhIGVuIG1vZG8gZGUgc8OzbG8gbGVjdHVyYS4gUHVlZGUKbmF2ZWdhciBhIHRyYXbDqXMgZGUgZXN0YSBsaXN0YSB1dGlsaXphbmRvIGxhcyB0ZWNsYXMgZGVsIGN1cnNvciAodmVhIGxhCnBhbnRhbGxhIGRlIGF5dWRhIGRlIGxhcyBwdWxzYWNpb25lcyBkZSB0ZWNsYXMpLCBvYnNlcnZlIGVsIGVzdGFkbyBkZQpsb3MgcGFxdWV0ZXMgeSBsZWEgbGEgaW5mb3JtYWNpw7NuIHNvYnJlIGVsbG9zLgoKRGViZXLDrWEgbGVlciBsYSBsaXN0YSBkZSB0ZWNsYXMgeSBsYXMgZXhwbGljYWNpb25lcyBzb2JyZSBsYSB2aXN1YWxpemFjacOzbi4KSGF5IGRpc3BvbmlibGUgYXl1ZGEgZW4gbMOtbmVhIGFidW5kYW50ZSwgcG9yIGZhdm9yIHV0aWzDrWNlbGEsIHB1bHNlIGA/JwplbiBjdWFscXVpZXIgbW9tZW50byBwYXJhIG9idGVuZXIgYXl1ZGEuCgpDdWFuZG8gaGF5YSB0ZXJtaW5hZG8gZGUgbmF2ZWdhciBwdWxzZSBgUScgbyA8aW50cm8+IHBhcmEgc2FsaXIuCgpQdWxzZSA8ZXNwYWNpbz4gcGFyYSBhYmFuZG9uYXIgbGEgYXl1ZGEgeSBlbnRyYXIgZW4gbGEgbGlzdGEuCgBCaWVudmVuaWRvIGFsIGxpc3RhZG8gZGUgcGFxdWV0ZXMgcHJpbmNpcGFsIGRlIGRzZWxlY3QuCgpTZSBsZSBwcmVzZW50YXLDoSB1bmEgbGlzdGEgZGUgcGFxdWV0ZXMgcXVlIGVzdMOhbiBpbnN0YWxhZG9zIG8gZGlzcG9uaWJsZXMKcGFyYSBzZXIgaW5zdGFsYWRvcy4gUHVlZGUgbmF2ZWdhciBwb3IgbGEgbGlzdGEgdXNhbmRvIGxhcyB0ZWNsYXMgZGVsIGN1cnNvciwKbWFyY2FyIGxvcyBwYXF1ZXRlcyBwYXJhIGluc3RhbGFybG9zICh1dGlsaXphbmRvIGArJykgbyBkZXNpbnN0YWxhcmxvcwoodXRpbGl6YW5kbyBgLSkuIExvcyBwYXF1ZXRlcyBzZSBwdWVkZW4gbWFyY2FyIHBvciBzZXBhcmFkbyBvIHBvciBncnVwb3M6CmluaWNpYWxtZW50ZSB2ZXLDoSBxdWUgbGEgbMOtbmVhIGBUb2RvcyBsb3MgcGFxdWV0ZXMnIGVzdMOhIHNlbGVjY2lvbmFkYS4KYCsnLCBgLScgeSBkZW3DoXMgYWZlY3RhcsOhIGEgdG9kb3MgbG9zIHBhcXVldGVzIGRlc2NyaXRvcyBjb24gbGEgbMOtbmVhCnJlc2FsdGFkYS4KCkFsZ3VuYXMgZGUgc3VzIGVsZWNjaW9uZXMgY2F1c2Fyw6FuIGNvbmZsaWN0b3MgbyBwcm9ibGVtYXMgZGUgZGVwZW5kZW5jaWFzOwplbiB0YWwgY2FzbyBzZSBsZSBkYXLDoSB1bmEgc3VibGlzdGEgZGUgbG9zIHBhcXVldGVzIHJlbGV2YW50ZXMgcGFyYSBxdWUKcHVlZGEgc29sdWNpb25hciBsb3MgcHJvYmxlbWFzLgoKRGViZXLDrWEgbGVlciBsYSBsaXN0YSBkZSB0ZWNsYXMgeSBsYXMgZXhwbGljYWNpb25lcyBkZSBsYSBwYW50YWxsYS4gSGF5CmF5dWRhIGVuIGzDrW5lYSBhYnVuZGFudGUsIHV0aWzDrWNlbGEsIHB1bHNlIGA/JyBlbiBjdWFscXVpZXIgbW9tZW50bwpwYXJhIG9idGVuZXIgYXl1ZGEuCgpDdWFuZG8gaGF5YSB0ZXJtaW5hZG8gZGUgc2VsZWNjaW9uYXIgcGFxdWV0ZXMsIHB1bHNvIDxpbnRybz4gcGFyYSBjb25maXJtYXIKbG9zIGNhbWJpb3MsIG8gYFgnIHBhcmEgc2FsaXIgc2luIGd1YXJkYXIgbG9zIGNhbWJpb3MuIFNlIGVmZWN0dWFyw6EgdW5hCmNvbXByb2JhY2nDs24gZmluYWwgZGUgbG9zIGNvbmZsaWN0b3MgeSBkZXBlbmRlbmNpYXMsIGFxdcOtIHRhbWJpw6luIHB1ZWRlCnF1ZSBzZSBsZSBtdWVzdHJlIHVuYSBzdWJsaXN0YS4KClB1bHNlIDxlc3BhY2lvPiBwYXJhIHNhbGlyIGRlIGxhIGF5dWRhIHkgZW50cmFyIGVuIGxhIGxpc3RhIGFob3JhLgoARXh0AFtNXcOpdG9kbwBbQ11vbmZpZ3VyYXIAW0ldbnN0YWxhcgBzYVtMXWlyAFtEXWVzaW5zdGFsYXIAW1NdZWxlY2Npb25hcgBbQV1jdHVhbGl6YXIAW25vIGFzb2NpYWRhXQBbZGVzYzogJWRdAG0AZXNwZXJhbmRvIGFsIHByb2Nlc2FkbyBkZSBsb3MgZGlzcGFyYWRvcmVzAGJJQ0hPAHJvbXBlAGMAY29sb3IAYXRyaWJ1dG8gZGUgY29sb3IAZW50cmEgZW4gY29uZmxpY3RvIGNvbgBubyBzZSBwdWVkZSBhYnJpciBlbCBmaWNoZXJvIGRlIGRlcHVyYWNpw7NuIGAlLjI1NXMnCgBkZXBlbmRlIGRlAGBkb3VwZGF0ZScgZmFsbMOzAGZhbGzDsyBlbCBgZG91cGRhdGUnIGVuIGVsIG1hbmVqYWRvciBkZSBTSUdXSU5DSABkc2VsZWN0IC0gaW5zcGVjY2nDs24gZGUgbG9zIGVzdGFkb3MgZGUgbG9zIHBhcXVldGVzAGRzZWxlY3QgLSBsaXN0YSBkZSBtw6l0b2RvcyBkZSBhY2Nlc28AZHNlbGVjdCAtIGxpc3RhIHByaW5jaXBhbCBkZSBwYXF1ZXRlcwBkc2VsZWN0IC0gbGlzdGEgcmVjdXJzaXZhIGRlIHBhcXVldGVzAGRzZWxlY3QgeSBkcGtnIHB1ZWRlbiByZWFsaXphciBpbnN0YWxhY2nDs24gYXV0b23DoXRpY2EsIGNhcmdhbmRvIGxvcyBmaWNoZXJvcwpkZSBwYXF1ZXRlcyBxdWUgc2UgdmFuIGEgaW5zdGFsYXIgZGVzZGUgdW5hIGRpdmVyc2lkYWQgZGUgbHVnYXJlcyBkaWZlcmVudGVzLgoKRXN0YSBsaXN0YSBsZSBwZXJtaXRlIHNlbGVjY2lvbmFyIHVubyBkZSBlc3RvcyBtw6l0b2RvcyBkZSBpbnN0YWxhY2nDs24uCgpEZXNwbGFjZSBlbCByZWFsY2UgaWx1bWluYWRvIGFsIG3DqXRvZG8gcXVlIGRlc2VhIHV0aWxpemFyIHkgcHVsc2UgPEludHJvPgpFbnRvbmNlcyBzZSBsZSBzb2xpY2l0YXLDoSBsYSBpbmZvcm1hY2nDs24gbmVjZXNhcmlhIHBhcmEgbGEgaW5zdGFsYWNpw7NuLgoKTWllbnRyYXMgZGVzcGxhY2UgZWwgcmVhbGNlIGlsdW1pbmFkbyBzZSBtb3N0cmFyw6EsIGN1YW5kbyBlc3TDqSBkaXNwb25pYmxlLAp1bmEgZGVzY3JpcGNpw7NuIGRlIGNhZGEgbcOpdG9kbyBlbiBsYSBtaXRhZCBpbmZlcmlvciBkZSBsYSBwYW50YWxsYS4KClNpIGRlc2VhIGFiYW5kb25hciBzaW4gY2FtYmlhciBuYWRhIHV0aWxpY2UgbGEgdGVjbGEgYHgnIG1pZW50cmFzIHNlIGVuY3VlbnRyZQplbiBsYSBsaXN0YSBkZSBtw6l0b2RvcyBkZSBpbnN0YWxhY2nDs24uCgpVbmEgbGlzdGEgY29tcGxldGEgZGUgbGFzIGNvbWJpbmFjaW9uZXMgZGUgdGVjbGFzIHNlIGVuY3VlbnRyYSBkaXNwb25pYmxlIGFsCnB1bHNhciBgaycsIG8gZGVzZGUgZWwgbWVuw7ogZGUgYXl1ZGEgYWwgcXVlIHNlIGFjY2VkZSBwdWxzYW5kbyBgPycuCgBhbXBsw61hAGVycm9yIGFsIGxlZXIgZWwgZmljaGVybyBkZSBvcGNpb25lcyBkZWwgbcOpdG9kbyBgJS4yNTBzJwBlcnJvciBhbCBsZWVyIGVsIGZpY2hlcm8gZGUgZGVzY3JpcGNpw7NuIGRlIG9wY2lvbmVzIGAlLjI1MHMnAGVycm9yIGVuIGxhIGV4cHJlc2nDs24gcmVndWxhcgBlcnJvciBhbCBsZWVyIHJlY29ub2NpbWllbnRvIGRlbCBtZW5zYWplIGRlIGZhbGxvIGRlbCBwcm9ncmFtYQBlcnJvciBhbCBsZWVyIGRlbCB0ZWNsYWRvIGVuIGxhIGF5dWRhAGVycm9yIGFsIGxlZXIgZWwgZmljaGVybyBkZSBvcGNpb25lcyBgJS4yNTBzJwBmYWxsbyBhbCBhc2lnbmFyIHVuIHBhciBkZSBjb2xvcmVzAGZhbGxvIGFsIGJsb3F1ZWFyIFNJR1dJTkNIAGZhbGxvIGFsIGNyZWFyIGBiYXNlbGlzdCBwYWQnAGZhbGxvIGFsIGNyZWFyIGBoZWFkaW5nIHBhZCcAZmFsbG8gYWwgY3JlYXIgYGluZm8gcGFkJwBmYWxsbyBhbCBjcmVhciB2ZW50YW5hIGRlIHByZWd1bnRhAGZhbGxvIGFsIGNyZWFyIGB0aGlzc3RhdGUgcGFkJwBmYWxsbyBhbCBjcmVhciB2ZW50YW5hIGRlIHTDrXR1bG8AZmFsbG8gYWwgY3JlYXIgdmVudGFuYSBkZSBgd2hhdGluZm8nAGZhbGxvIGFsIG9idGVuZXIgbGEgc2XDsWFsIFNJR1dJTkNIIGFudGlndWEAZmFsbG8gYWwgb2J0ZW5lciBsYSBtw6FzY2FyYSBkZSBzZcOxYWwgYW50aWd1YQBmYWxsbyBlbiBnZXRjaCBlbiBlbCBtZW7DuiBwcmluY2lwYWwAZmFsbG8gYWwgcmVibG9xdWVhciBTSUdXSU5DSABmYWxsbyBhbCBsZWVyIGVsIGZpY2hlcm8gZGUgZGVzY3JpcGNpb25lcyBkZSBvcGNpb25lcyBgJS4yNTBzJwBmYWxsbyBhbCByZXN0YWJsZWNlciBsYSBzZcOxYWwgYW50aWd1YSBTSUdXSU5DSABmYWxsbyBhbCByZXN0YWJsZWNlciBsYSBtw6FzY2FyYSBkZSBzZcOxYWwgYW50aWd1YQBmYWxsbyBhbCBlc3RhYmxlY2VyIGxhIG51ZXZhIHNlw7FhbCBTSUdXSU5DSABmYWxsbyBhbCBkZXNibG9xdWVhciBTSUdXSU5DSABnZXRjaCBmYWxsw7MAbWVkaW8gY29uZmlndXJhZG8gKGZhbGzDsyBsYSBjb25maWd1cmFjacOzbikAaW5zdGFsYWRvIGEgbWVkaWFzAG1hbnRlbmVyAGkAY2FkZW5hIGRlIMOtbmRpY2UgZGVtYXNpYWRvIGxhcmdhAGluc3RhbGFyAGVsIHNjcmlwdCBkZSBpbnN0YWxhY2nDs24AaW5zdGFsYWRvAHNlIGhhIGRhZG8gdW5hIG9wY2nDs24gZGUgYsO6c3F1ZWRhIGludsOhbGlkYQBmYWxsw7MgaW9jdGwoVElPQ0dXSU5TWikAbWVuw7oAZWwgbcOpdG9kbyBgJS4yNTBzJwp0aWVuZSB1biBub21icmUgZGVtYXNpYWRvIGxhcmdvICglZCA+ICVkIGNhcmFjdGVyZXMpAG51ZXZvIHBhcXVldGUAbnVldmEgbMOtbmVhIGFudGVzIGRlIHF1ZSBjb21pZW5jZSBlbCBub21icmUgZGUgbGEgb3BjacOzbgBudWV2YSBsw61uZWEgYW50ZXMgZGVsIHJlc3VtZW4AY2Fyw6FjdGVyIG5vIGFsZmFudW3DqXJpY28gZW4gZWwgbm9tYnJlIGRlIG9wY2nDs24Ac2UgZW5jb250csOzIHVuIG5vIGTDrWdpdG8gY3VhbmRvIHNlIGVzcGVyYWJhIHVuIGTDrWdpdG8AY2Fyw6FjdGVyIG5vIGFsZmFudW3DqXJpY28gZG9uZGUgc2UgZXNwZXJhYmEgZWwgY29taWVuem8gZGVsIG5vbWJyZSBkZSB1bmEgb3BjacOzbgBubyBpbnN0YWxhZG8AcHJlZGVwZW5kZSBkZQBwcm92ZWUAcHVyZ2FyAGwAZWwgc2NyaXB0IGRlIHBldGljacOzbi9jb25maWd1cmFjacOzbgBkAHJlY29taWVuZGEAZGVzaW5zdGFsYXIAZGVzaW5zdGFsYWRvIChxdWVkYSBzdSBjb25maWd1cmFjacOzbikAcmVlbXBsYXphIGEAcwBwYXJ0ZSBkZSBwYW50YWxsYQBzdWdpZXJlAGVycm9yIGRlIHNpbnRheGlzIGVuIGVsIGZpY2hlcm8gZGUgb3BjaW9uZXMgZGVsIG3DqXRvZG8gYCUuMjUwcycgLS0gJXMAZWwgdGVybWluYWwgY2FyZWNlIGRlIHByb3BpZWRhZGVzIG5lY2VzYXJpYXM6IGFiYW5kb25hbmRvAGRpc3BhcmFkb3JlcyBlamVjdXRhZG9zAGEAbm8gc2UgcHVlZGUgYWNjZWRlciBhbCBzY3JpcHQgZGVsIG3DqXRvZG8gYCUuMjUwcycAbm8gc2UgcHVlZGUgY2VycmFyIGVsIG51ZXZvIGZpY2hlcm8gZGUgb3BjaW9uZXMgYCUuMjUwcycAbm8gc2UgcHVlZGUgaW5zdGFsYXIgbGEgbnVldmEgb3BjacOzbiBjb21vIGAlLjI1MHMnAG5vIHNlIHB1ZWRlIGFicmlyIGVsIGZpY2hlcm8gZGUgb3BjaW9uZXMgYWN0dWFsIGAlLjI1MHMnAG5vIHNlIHB1ZWRlIGFicmlyIGVsIG51ZXZvIGZpY2hlcm8gZGUgb3BjaW9uZXMgYCUuMjUwcycAbm8gc2UgcHVlZGUgYWJyaXIgZWwgZmljaGVybyBkZSBkZXNjcmlwY2lvbmVzIGRlIG9wY2lvbmVzIGAlLjI1MHMnAG5vIHNlIHB1ZWRlIGxlZXIgZWwgZGlyZWN0b3JpbyBgJS4yNTBzJyBwYXJhIGxlZXIgbG9zIG3DqXRvZG9zAG5vIHNlIHB1ZWRlIGxlZXIgZWwgZmljaGVybyBkZSBvcGNpb25lcyBkZWwgbcOpdG9kbyBgJS4yNTBzJwBubyBzZSBwdWVkZSBlZmVjdHVhciBgc3RhdCcgc29icmUgZWwgZmljaGVybyBkZSBkZXNjcmlwY2lvbmVzIGRlIG9wY2lvbmVzIGAlLjI1MHMnAG5vIHNlIHB1ZWRlIGVzY3JpYmlyIG51ZXZhIG9wY2nDs24gZW4gYCUuMjUwcycAY2FkZW5hIGRlIGFjY2nDs24gZGVzY29ub2NpZGEgYCUuNTBzJwBkZXNlbXBhcXVldGFkbyAobm8gY29uZmlndXJhZG8pAGVsIHNjcmlwdCBkZSBhY3R1YWxpemFjacOzbiBkZSBsYSBsaXN0YSBgYXZhaWxhYmxlJwA=