3hIElQAAAAD+AAAAHAAAAAwIAABbAQAA/A8AAAAAAABoFQAACQAAAGkVAACBAAAAcxUAADwAAAD1FQAAGwAAADIWAAABAAAAThYAABEAAABQFgAAEQAAAGIWAAATAAAAdBYAABIAAACIFgAAEgAAAJsWAAAOAAAArhYAAA0AAAC9FgAADAAAAMsWAAATAAAA2BYAABIAAADsFgAAIQAAAP8WAAAaAAAAIRcAABwAAAA8FwAABAAAAFkXAAAPAAAAXhcAABEAAABuFwAABQAAAIAXAAAfAAAAhhcAAA4AAACmFwAAHAAAALUXAAAgAAAA0hcAAAsAAADzFwAAGQAAAP8XAAAdAAAAGRgAAA0AAAA3GAAAYQQAAEUYAAABAAAApxwAAAcAAACpHAAAIwAAALEcAAATAAAA1RwAADwAAADpHAAAAwAAACYdAAAMAAAAKh0AAAwAAAA3HQAACQAAAEQdAAAJAAAATh0AACwAAABYHQAABgAAAIUdAAAbAAAAjB0AACAAAACoHQAACQAAAMkdAAAtAAAA0x0AAE8AAAABHgAAIgAAAFEeAAAyAAAAdB4AAOUEAACnHgAACwAAAI0jAAAxAAAAmSMAADQAAADLIwAABAAAAAAkAAAcAAAABSQAABIAAAAiJAAAEwAAADUkAAASAAAASSQAACAAAABcJAAABQAAAH0kAAAHAAAAgyQAAAUAAACLJAAAEQAAAJEkAAARAAAAoyQAADkAAAC1JAAABgAAAO8kAAADAAAA9iQAAAkAAAD6JAAACAAAAAQlAAAkAAAADSUAAAkAAAAyJQAAEgAAADwlAAAKAAAATyUAADcAAABaJQAAKAAAAJIlAAAiAAAAuyUAAC4AAADeJQAAEAAAAA0mAAAKAAAAHiYAAB8AAAApJgAAHAAAAEkmAAAcAAAAZiYAACcAAACDJgAAIgAAAKsmAAAgAAAAziYAAAoAAADvJgAACQAAAPomAAAHAAAABCcAAAMAAAAMJwAAGAAAABAnAAAZAAAAKScAABoAAABDJwAALQAAAF4nAAAOAAAAjCcAAAgAAACbJwAAAwAAAKQnAAAIAAAAqCcAAEQBAACxJwAABwAAAPYoAAAbAAAA/igAAD4AAAAaKQAAcwAAAFkpAAAIAAAAzSkAAAYAAADWKQAAKQAAAN0pAAANAAAAByoAACwAAAAVKgAAHgAAAEIqAAArAAAAYSoAAC8AAACNKgAACQAAAL0qAAAOAAAAxyoAABkAAADWKgAABwAAAPAqAAAoAAAA+CoAAC4AAAAhKwAAEwAAAFArAAADAAAAZCsAACkAAABoKwAALwAAAJIrAAAIAAAAwisAADMAAADLKwAAJAAAAP8rAAAqAAAAJCwAAA0AAABPLAAAKQAAAF0sAAAzAAAAhywAAB0AAAC7LAAAJwAAANksAAAnAAAAAS0AADEAAAApLQAAGwAAAFstAAAlAAAAdy0AAA0AAACdLQAAMQAAAKstAAAHAAAA3S0AACoAAADlLQAAbQAAABAuAAAIAAAAfi4AAAMAAACHLgAAIAAAAIsuAAA3AAAArC4AADIAAADkLgAAogEAABcvAAAdAAAAujAAAAwAAADYMAAAHQAAAOUwAAAKAAAAAzEAAC8AAAAOMQAABwAAAD4xAAAtAAAARjEAACkAAAB0MQAArgIAAJ4xAAAaBAAATTQAAAMAAABoOAAACAAAAGw4AAAIAAAAdTgAAAkAAAB+OAAABgAAAIg4AAAIAAAAjzgAAAgAAACYOAAACAAAAKE4AAALAAAAqjgAAAkAAAC2OAAAAQAAAMA4AAADAAAAwjgAAAEAAADGOAAABgAAAMg4AAAQAAAAzzgAAA4AAADgOAAAIgAAAO84AAAKAAAAEjkAAA8AAAAdOQAAIwAAAC05AAAmAAAAUTkAACAAAAB4OQAAHgAAAJk5AAAjAAAAuDkAALMCAADcOQAACAAAAJA8AAAxAAAAmTwAADUAAADLPAAAGwAAAAE9AAA4AAAAHT0AAB4AAABWPQAAIwAAAHU9AAAeAAAAmT0AABgAAAC4PQAAHQAAANE9AAAcAAAA7z0AABkAAAAMPgAAHQAAACY+AAAeAAAARD4AAB0AAABjPgAAIAAAAIE+AAAhAAAAoj4AAB0AAADEPgAAHAAAAOI+AAAbAAAA/z4AAC8AAAAbPwAAJQAAAEs/AAAhAAAAcT8AACEAAACTPwAAGgAAALU/AAAMAAAA0D8AAA4AAADdPwAABAAAAOw/AAABAAAA8T8AABUAAADzPwAABwAAAAlAAAATAAAAEUAAAAkAAAAlQAAAGwAAAC9AAAAYAAAAS0AAAAQAAABkQAAAPgAAAGlAAAALAAAAqEAAACAAAAC0QAAAFgAAANVAAAAbAAAA7EAAABwAAAAIQQAAJwAAACVBAAANAAAATUEAAA4AAABbQQAACAAAAGpBAAAFAAAAc0EAAAEAAAB5QQAAEgAAAHtBAAABAAAAjkEAAAoAAACQQQAABgAAAJtBAAAYAAAAokEAAAgAAAC7QQAAAQAAAMRBAAALAAAAxkEAAAgAAADSQQAAMgAAANtBAAAsAAAADkIAAAEAAAA7QgAAJwAAAD1CAAAoAAAAZUIAACgAAACOQgAAKwAAALdCAAAnAAAA40IAAC8AAAALQwAANQAAADtDAAArAAAAcUMAAC8AAACdQwAAJgAAAM1DAAAdAAAA9EMAABUAAAASRAAAHAAAAChEAACpAQAARUQAAAkAAADvRQAAggAAAPlFAAA+AAAAfEYAACAAAAC7RgAAAQAAANxGAAAQAAAA3kYAAA0AAADvRgAAEwAAAP1GAAAQAAAAEUcAABIAAAAiRwAAEgAAADVHAAAPAAAASEcAAA8AAABYRwAAFAAAAGhHAAARAAAAfUcAACYAAACPRwAAIAAAALZHAAAgAAAA10cAAAcAAAD4RwAAEgAAAABIAAAUAAAAE0gAAAUAAAAoSAAAHwAAAC5IAAAMAAAATkgAABkAAABbSAAAGwAAAHVIAAALAAAAkUgAABYAAACdSAAAGAAAALRIAAAVAAAAzUgAACMEAADjSAAAAQAAAAdNAAAIAAAACU0AACcAAAASTQAAFAAAADpNAAA/AAAAT00AAAQAAACPTQAACwAAAJRNAAAMAAAAoE0AAAgAAACtTQAADQAAALZNAAAoAAAAxE0AAAkAAADtTQAAHQAAAPdNAAAiAAAAFU4AAAgAAAA4TgAAMQAAAEFOAABPAAAAc04AABkAAADDTgAANgAAAN1OAACqBAAAFE8AAAsAAAC/UwAAKAAAAMtTAAAzAAAA9FMAAAQAAAAoVAAAKgAAAC1UAAAfAAAAWFQAABsAAAB4VAAAGwAAAJRUAAAyAAAAsFQAAAQAAADjVAAABgAAAOhUAAAGAAAA71QAABwAAAD2VAAAGAAAABNVAAA0AAAALFUAAAgAAABhVQAAAwAAAGpVAAAHAAAAblUAAAgAAAB2VQAAKAAAAH9VAAAMAAAAqFUAABMAAAC1VQAADAAAAMlVAAA6AAAA1lUAACYAAAARVgAAGgAAADhWAAAyAAAAU1YAABAAAACGVgAABgAAAJdWAAAVAAAAnlYAAB4AAAC0VgAAHAAAANNWAAAxAAAA8FYAACMAAAAiVwAAIQAAAEZXAAAMAAAAaFcAAAoAAAB1VwAACQAAAIBXAAADAAAAilcAABsAAACOVwAAHgAAAKpXAAASAAAAyVcAACgAAADcVwAAEQAAAAVYAAAOAAAAF1gAAAMAAAAmWAAACAAAACpYAABGAQAAM1gAAAUAAAB6WQAAIAAAAIBZAABIAAAAoVkAAIwAAADqWQAACQAAAHdaAAAJAAAAgVoAACcAAACLWgAADwAAALNaAAAuAAAAw1oAAB4AAADyWgAAKwAAABFbAAAsAAAAPVsAAA0AAABqWwAADgAAAHhbAAAhAAAAh1sAAA4AAACpWwAANAAAALhbAAAqAAAA7VsAABcAAAAYXAAAAwAAADBcAAAgAAAANFwAADIAAABVXAAACAAAAIhcAAAuAAAAkVwAACgAAADAXAAAKQAAAOlcAAAQAAAAE10AACYAAAAkXQAAJgAAAEtdAAAVAAAAcl0AABoAAACIXQAAJgAAAKNdAAAnAAAAyl0AABMAAADyXQAAGwAAAAZeAAANAAAAIl4AAC0AAAAwXgAABgAAAF5eAAAhAAAAZV4AAHAAAACHXgAACAAAAPheAAADAAAAAV8AAC0AAAAFXwAAPQAAADNfAAA4AAAAcV8AAKkBAACqXwAAIgAAAFRhAAAPAAAAd2EAACQAAACHYQAADwAAAKxhAAA2AAAAvGEAAAoAAADzYQAALgAAAP5hAAArAAAALWIAAAUDAABZYgAAYgQAAF9lAAADAAAAwmkAAAkAAADGaQAACAAAANBpAAAMAAAA2WkAAAgAAADmaQAADgAAAO9pAAAJAAAA/mkAAAoAAAAIagAADQAAABNqAAAMAAAAIWoAAAEAAAAuagAAAwAAADBqAAABAAAANGoAAAUAAAA2agAADQAAADxqAAARAAAASmoAACgAAABcagAADAAAAIVqAAAUAAAAkmoAACcAAACnagAAIwAAAM9qAAAkAAAA82oAABwAAAAYawAAHwAAADVrAADJAgAAVWsAAAkAAAAfbgAAMQAAACluAAA3AAAAW24AABcAAACTbgAAOwAAAKtuAAAnAAAA524AACsAAAAPbwAAHAAAADtvAAAbAAAAWG8AACIAAAB0bwAAIwAAAJdvAAAbAAAAu28AACcAAADXbwAAIwAAAP9vAAAeAAAAI3AAACAAAABCcAAAJQAAAGNwAAAhAAAAiXAAACYAAACrcAAAHgAAANJwAAAzAAAA8XAAACoAAAAlcQAAJgAAAFBxAAAkAAAAd3EAAB0AAACccQAAEwAAALpxAAARAAAAznEAAAwAAADgcQAAAQAAAO1xAAAYAAAA73EAAAoAAAAIcgAAEwAAABNyAAALAAAAJ3IAAB0AAAAzcgAAGQAAAFFyAAAEAAAAa3IAADUAAABwcgAACAAAAKZyAAAoAAAAr3IAAB0AAADYcgAALQAAAPZyAAAhAAAAJHMAACsAAABGcwAAEAAAAHJzAAAWAAAAg3MAAAUAAACacwAABgAAAKBzAAABAAAAp3MAACMAAACpcwAAAQAAAM1zAAAJAAAAz3MAAAwAAADZcwAAIgAAAOZzAAAJAAAACXQAAAEAAAATdAAADQAAABV0AAAJAAAAI3QAAC8AAAAtdAAAMgAAAF10AAABAAAAkHQAACkAAACSdAAAKAAAALx0AAAtAAAA5XQAACwAAAATdQAAKAAAAEB1AAAzAAAAaXUAADcAAACddQAAKwAAANV1AAAzAAAAAXYAACkAAAA1dgAAHgAAAF92AAAWAAAAfnYAAC4AAACVdgAAAQAAAAAAAAAAAAAA+gAAAP0AAADAAAAAfgAAAAoAAAB5AAAAGAAAABIAAAAAAAAAAgAAAH0AAAAtAAAAAAAAALMAAADdAAAAGgAAAMIAAAAAAAAAEwAAAGYAAAA/AAAA3gAAALoAAAAAAAAARgAAANAAAABjAAAAPQAAAAAAAAAGAAAAAAAAAAAAAABkAAAAtQAAAAAAAAAAAAAAjQAAAAAAAACYAAAAAAAAAJQAAACMAAAA+wAAAAAAAADyAAAAvwAAAHsAAAAqAAAAdgAAALYAAAC3AAAAAAAAAPkAAABnAAAA6gAAACMAAAClAAAANgAAAJ8AAACaAAAAIQAAADQAAAAAAAAA7QAAAE4AAAAWAAAAOAAAAEIAAABFAAAAAAAAAAAAAAAAAAAAigAAANIAAAA1AAAA2AAAAEcAAABrAAAAcgAAAC8AAAAJAAAAkgAAACYAAAAAAAAA6AAAAEAAAAAAAAAAAAAAAKIAAACDAAAAfwAAAAAAAABtAAAAvQAAAG8AAAALAAAAVwAAAKgAAAAAAAAAiQAAAAAAAAD1AAAAygAAAHcAAADfAAAAPAAAANsAAAAFAAAAJwAAAAAAAABMAAAA5wAAAOwAAAAcAAAA8QAAAM8AAAAQAAAADgAAAFAAAAAAAAAAxwAAAMsAAAAAAAAAAAAAAFYAAAAAAAAA/gAAAGoAAAAAAAAAYQAAALkAAACmAAAAvAAAAHQAAABoAAAAAAAAAAAAAACuAAAAbAAAAAAAAACeAAAASwAAAAAAAADwAAAAMQAAAAAAAAAuAAAAVQAAAGkAAADkAAAAAAAAABEAAACgAAAAWwAAAHoAAADzAAAA1gAAAB0AAAAAAAAAAAAAAOMAAAAAAAAAowAAAHgAAAAAAAAAhwAAAFgAAABJAAAAXwAAAAAAAADZAAAAKQAAAJsAAAD3AAAAAAAAAAAAAABEAAAArQAAAGAAAADvAAAAMwAAAJYAAACXAAAAFQAAAAAAAACCAAAASAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAApwAAAAAAAADXAAAAdQAAAKkAAAC0AAAAxgAAAE8AAAAAAAAA4AAAAI8AAAAwAAAA9gAAAE0AAAAiAAAAMgAAAB8AAACdAAAANwAAAJUAAADBAAAADQAAAAAAAADOAAAADAAAAOsAAAAAAAAAAwAAAOkAAAAoAAAAAAAAAAAAAACxAAAAAAAAAK8AAAAlAAAAuwAAAJMAAAAAAAAAhQAAAB4AAAAZAAAA4QAAAHAAAAAsAAAAQQAAAAAAAAAAAAAArAAAAAAAAADEAAAAGwAAAAAAAACwAAAAsgAAAF0AAAAAAAAAzQAAAHMAAADaAAAAAAAAAIsAAACrAAAA0wAAAMMAAAAAAAAAiAAAAEMAAAAXAAAAUwAAAAAAAAAkAAAAVAAAAJwAAAAPAAAA0QAAAGIAAAA5AAAAAAAAAAAAAABKAAAAmQAAACAAAAAAAAAAAAAAANwAAABeAAAAWQAAANUAAAAAAAAAAAAAAAAAAABxAAAAkQAAAAQAAACAAAAAAAAAAAAAAAC4AAAA1AAAAAAAAAAAAAAAAAAAAAAAAAA6AAAAPgAAAKoAAACOAAAAAAAAAKEAAAAAAAAAWgAAAMgAAADFAAAAAAAAAAAAAADiAAAAAAAAAKQAAADJAAAA+AAAAG4AAACGAAAAOwAAAAAAAAAAAAAAvgAAAAAAAAAAAAAA5gAAAAAAAAAAAAAA7gAAAFwAAACBAAAAKwAAAGUAAABRAAAAfAAAAIQAAAAAAAAAFAAAAPwAAAAAAAAA9AAAAFIAAADlAAAAzAAAAAAAAAAIAAAAAAAAAJAAAAAACgolczogJXMKAAoKTW92ZSBhcm91bmQgd2l0aCBeUCBhbmQgXk4sIGN1cnNvciBrZXlzLCBpbml0aWFsIGxldHRlcnMsIG9yIGRpZ2l0czsKUHJlc3MgPGVudGVyPiB0byBjb25maXJtIHNlbGVjdGlvbi4gICBeTCByZWRyYXdzIHNjcmVlbi4KCgAKClJlYWQtb25seSBhY2Nlc3M6IG9ubHkgcHJldmlldyBvZiBzZWxlY3Rpb25zIGlzIGF2YWlsYWJsZSEAClByZXNzIDxlbnRlcj4gdG8gY29udGludWUuACAAICAtLSAlZCUlLCBwcmVzcyAAIChhbHBoYWJldGljYWxseSkAIChhdmFpbC4sIHByaW9yaXR5KQAgKGF2YWlsLiwgc2VjdGlvbikAIChieSBhdmFpbGFiaWxpdHkpACAoYnkgcHJpb3JpdHkpACAoYnkgc2VjdGlvbikAIChieSBzdGF0dXMpACAoc3RhdHVzLCBwcmlvcml0eSkAIChzdGF0dXMsIHNlY3Rpb24pACBkb2VzIG5vdCBhcHBlYXIgdG8gYmUgYXZhaWxhYmxlCgAgbWFyazorLz0vLSB0ZXJzZTp2IGhlbHA6PwAgbWFyazorLz0vLSB2ZXJib3NlOnYgaGVscDo/ACBvciAAIHRlcnNlOnYgaGVscDo/ACB2ZXJib3NlOnYgaGVscDo/ACFCdWchACUtKnMgJXMlcyVzOyAgJXMgKHdhczogJXMpLiAgJXMAJXMgJXMgcGFja2FnZXMAJXMgJXMgcGFja2FnZXMgaW4gc2VjdGlvbiAlcwAlcyAlcyBwYWNrYWdlcyB3aXRob3V0IGEgc2VjdGlvbgAlcyBmb3IgbW9yZQAlcyBwYWNrYWdlcyBpbiBzZWN0aW9uICVzACVzIHBhY2thZ2VzIHdpdGhvdXQgYSBzZWN0aW9uACVzIHRvIGdvIGJhY2sAKiBIaWdobGlnaHQ6IE9uZSBsaW5lIGluIHRoZSBwYWNrYWdlIGxpc3Qgd2lsbCBiZSBoaWdobGlnaHRlZC4gIEl0IGluZGljYXRlcwogIHdoaWNoIHBhY2thZ2Uocykgd2lsbCBiZSBhZmZlY3RlZCBieSBwcmVzc2VzIG9mIGArJywgYC0nIGFuZCBgXycuCgoqIFRoZSBkaXZpZGluZyBsaW5lIGluIHRoZSBtaWRkbGUgb2YgdGhlIHNjcmVlbiBzaG93cyBhIGJyaWVmIGV4cGxhbmF0aW9uIG9mCiAgdGhlIHN0YXR1cyBvZiB0aGUgY3VycmVudGx5LWhpZ2hsaWdodGVkIHBhY2thZ2UsIG9yIGEgZGVzY3JpcHRpb24gb2Ygd2hpY2gKICBncm91cCBpcyBoaWdobGlnaHRlZCBpZiBhIGdyb3VwIGxpbmUgaXMuICBJZiB5b3UgZG9uJ3QgdW5kZXJzdGFuZCB0aGUKICBtZWFuaW5nIG9mIHNvbWUgb2YgdGhlIHN0YXR1cyBjaGFyYWN0ZXJzIGRpc3BsYXllZCwgZ28gdG8gdGhlIHJlbGV2YW50CiAgcGFja2FnZSBhbmQgbG9vayBhdCB0aGlzIGRpdmlkZXIgbGluZSwgb3IgdXNlIHRoZSBgdicga2V5IGZvciBhIHZlcmJvc2UKICBkaXNwbGF5IChwcmVzcyBgdicgYWdhaW4gdG8gZ28gYmFjayB0byB0aGUgdGVyc2UgZGlzcGxheSkuCgoqIFRoZSBib3R0b20gb2YgdGhlIHNjcmVlbiBzaG93cyBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZQogIGN1cnJlbnRseS1oaWdobGlnaHRlZCBwYWNrYWdlIChpZiB0aGVyZSBpcyBvbmx5IG9uZSkuCgogIEl0IGNhbiBzaG93IGFuIGV4dGVuZGVkIGRlc2NyaXB0aW9uIG9mIHRoZSBwYWNrYWdlLCB0aGUgaW50ZXJuYWwgcGFja2FnZQogIGNvbnRyb2wgZGV0YWlscyAoZWl0aGVyIGZvciB0aGUgaW5zdGFsbGVkIG9yIGF2YWlsYWJsZSB2ZXJzaW9uIG9mIHRoZQogIHBhY2thZ2UpLCBvciBpbmZvcm1hdGlvbiBhYm91dCBjb25mbGljdHMgYW5kIGRlcGVuZGVuY2llcyBpbnZvbHZpbmcgdGhlCiAgY3VycmVudCBwYWNrYWdlIChpbiBjb25mbGljdC9kZXBlbmRlbmN5IHJlc29sdXRpb24gc3VibGlzdHMpLgoKICBVc2UgdGhlIGBpJyBrZXkgdG8gY3ljbGUgdGhyb3VnaCB0aGUgZGlzcGxheXMsIGFuZCBgSScgdG8gaGlkZSB0aGUKICBpbmZvcm1hdGlvbiBkaXNwbGF5IG9yIGV4cGFuZCBpdCB0byB1c2UgYWxtb3N0IGFsbCBvZiB0aGUgc2NyZWVuLgoAPwBBYmJyZXYuAEFib3J0IC0gcXVpdCB3aXRob3V0IG1ha2luZyBjaGFuZ2VzAEFjY2VzcyBtZXRob2QgYCVzJy4AQWN0aW9uczoKICBhY2Nlc3MgdXBkYXRlIHNlbGVjdCBpbnN0YWxsIGNvbmZpZyByZW1vdmUgcXVpdAoKAEFsbABBbGwgcGFja2FnZXMAQXR0cmlidXRlczoKAEF2YWlsLnZlcgBBdmFpbGFibGUAQXZhaWxhYmxlIHBhY2thZ2VzIChub3QgY3VycmVudGx5IGluc3RhbGxlZCkAQnJva2VuAEJyb2tlbmx5IGluc3RhbGxlZCBwYWNrYWdlcwBDaG9vc2UgdGhlIGFjY2VzcyBtZXRob2QgdG8gdXNlLgBDb2xvdXJzOgoAQ29uZmlndXJlIGFueSBwYWNrYWdlcyB0aGF0IGFyZSB1bmNvbmZpZ3VyZWQuAENvcHlyaWdodCAoQykgMTk5NC0xOTk2IElhbiBKYWNrc29uLgpDb3B5cmlnaHQgKEMpIDIwMDAsMjAwMSBXaWNoZXJ0IEFra2VybWFuLgoAQ3ljbGUgdGhyb3VnaCBpbmZvcm1hdGlvbiBkaXNwbGF5cwBEZWJpYW4gYCVzJyBwYWNrYWdlIGhhbmRsaW5nIGZyb250ZW5kIHZlcnNpb24gJXMuCgBEZXBlbmRlbmN5L2NvbmZsaWN0IHJlc29sdXRpb24gLSBpbnRyb2R1Y3Rpb24uCgpPbmUgb3IgbW9yZSBvZiB5b3VyIGNob2ljZXMgaGF2ZSByYWlzZWQgYSBjb25mbGljdCBvciBkZXBlbmRlbmN5IHByb2JsZW0gLQpzb21lIHBhY2thZ2VzIHNob3VsZCBvbmx5IGJlIGluc3RhbGxlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGNlcnRhaW4gb3RoZXJzLCBhbmQKc29tZSBjb21iaW5hdGlvbnMgb2YgcGFja2FnZXMgbWF5IG5vdCBiZSBpbnN0YWxsZWQgdG9nZXRoZXIuCgpZb3Ugd2lsbCBzZWUgYSBzdWItbGlzdCBjb250YWluaW5nIHRoZSBwYWNrYWdlcyBpbnZvbHZlZC4gIFRoZSBib3R0b20gaGFsZiBvZgp0aGUgZGlzcGxheSBzaG93cyByZWxldmFudCBjb25mbGljdHMgYW5kIGRlcGVuZGVuY2llczsgdXNlIGBpJyB0byBjeWNsZSBiZXR3ZWVuCnRoYXQsIHRoZSBwYWNrYWdlIGRlc2NyaXB0aW9ucyBhbmQgdGhlIGludGVybmFsIGNvbnRyb2wgaW5mb3JtYXRpb24uCgpBIHNldCBvZiBgc3VnZ2VzdGVkJyBwYWNrYWdlcyBoYXMgYmVlbiBjYWxjdWxhdGVkLCBhbmQgdGhlIGluaXRpYWwgbWFya2luZ3MgaW4KdGhpcyBzdWItbGlzdCBoYXZlIGJlZW4gc2V0IHRvIG1hdGNoIHRob3NlLCBzbyB5b3UgY2FuIGp1c3QgaGl0IFJldHVybiB0bwphY2NlcHQgdGhlIHN1Z2dlc3Rpb25zIGlmIHlvdSB3aXNoLiAgWW91IG1heSBhYm9ydCB0aGUgY2hhbmdlKHMpIHdoaWNoIGNhdXNlZAp0aGUgcHJvYmxlbShzKSwgYW5kIGdvIGJhY2sgdG8gdGhlIG1haW4gbGlzdCwgYnkgcHJlc3NpbmcgY2FwaXRhbCBgWCcuCgpZb3UgY2FuIGFsc28gbW92ZSBhcm91bmQgdGhlIGxpc3QgYW5kIGNoYW5nZSB0aGUgbWFya2luZ3Mgc28gdGhhdCB0aGV5IGFyZSBtb3JlCmxpa2Ugd2hhdCB5b3Ugd2FudCwgYW5kIHlvdSBjYW4gYHJlamVjdCcgbXkgc3VnZ2VzdGlvbnMgYnkgdXNpbmcgdGhlIGNhcGl0YWwKYEQnIG9yIGBSJyBrZXlzIChzZWUgdGhlIGtleWJpbmRpbmdzIGhlbHAgc2NyZWVuKS4gIFlvdSBjYW4gdXNlIGNhcGl0YWwgYFEnIHRvCmZvcmNlIG1lIHRvIGFjY2VwdCB0aGUgc2l0dWF0aW9uIGN1cnJlbnRseSBkaXNwbGF5ZWQsIGluIGNhc2UgeW91IHdhbnQgdG8Kb3ZlcnJpZGUgYSByZWNvbW1lbmRhdGlvbiBvciB0aGluayB0aGF0IHRoZSBwcm9ncmFtIGlzIG1pc3Rha2VuLgoKUHJlc3MgPHNwYWNlPiB0byBsZWF2ZSBoZWxwIGFuZCBlbnRlciB0aGUgc3ViLWxpc3Q7IHJlbWVtYmVyOiBwcmVzcyBgPycgZm9yIGhlbHAuCgBEZXNjcmlwdGlvbgBEaXNwbGF5LCBwYXJ0IDE6IHBhY2thZ2UgbGlzdGluZyBhbmQgc3RhdHVzIGNoYXJzAERpc3BsYXksIHBhcnQgMjogbGlzdCBoaWdobGlnaHQ7IGluZm9ybWF0aW9uIGRpc3BsYXkARUlPTQBFT0YgYmVmb3JlIG9wdGlvbiBuYW1lIHN0YXJ0AEVPRiBiZWZvcmUgc3VtbWFyeQBFT0YgaW4gaW5kZXggc3RyaW5nAEVPRiBpbiBvcHRpb24gbmFtZQBFT0YgaW4gc3VtbWFyeSAtIG1pc3NpbmcgbmV3bGluZQBFcnJvcgBFcnJvcjogAEV4dHJhAEdvIHRvIGVuZCBvZiBsaXN0AEdvIHRvIHRvcCBvZiBsaXN0AEhlbHAgaW5mb3JtYXRpb24gaXMgYXZhaWxhYmxlIHVuZGVyIHRoZSBmb2xsb3dpbmcgdG9waWNzOgBIZWxwOiAASW1wAEltcG9ydGFudABJbnN0LnZlcgBJbnN0YWxsIGFuZCB1cGdyYWRlIHdhbnRlZCBwYWNrYWdlcy4ASW5zdGFsbGVkAEluc3RhbGxlZCBwYWNrYWdlcwBJbnN0YWxsZWQ/AEludHJvZHVjdGlvbiB0byBjb25mbGljdC9kZXBlbmRlbmN5IHJlc29sdXRpb24gc3ViLWxpc3QASW50cm9kdWN0aW9uIHRvIG1ldGhvZCBzZWxlY3Rpb24gZGlzcGxheQBJbnRyb2R1Y3Rpb24gdG8gcGFja2FnZSBzZWxlY3Rpb25zAEludHJvZHVjdGlvbiB0byByZWFkLW9ubHkgcGFja2FnZSBsaXN0IGJyb3dzZXIASW52YWxpZCAlcyBgJXMnCgBLZXlzdHJva2VzAEtleXN0cm9rZXMgZm9yIG1ldGhvZCBzZWxlY3Rpb24ATWFrZSBoaWdobGlnaHQgbGVzcyBzcGVjaWZpYwBNYWtlIGhpZ2hsaWdodCBtb3JlIHNwZWNpZmljAE1hcmsgcGFja2FnZShzKSBmb3IgZGVpbnN0YWxsIGFuZCBwdXJnZQBNYXJrIHBhY2thZ2UocykgZm9yIGRlaW5zdGFsbGF0aW9uAE1hcmsgcGFja2FnZShzKSBmb3IgaW5zdGFsbGF0aW9uAE1hcmtlZCBmb3IATW92ZSBkb3duAE1vdmUgdXAATmV3AE5ld2x5IGF2YWlsYWJsZSBwYWNrYWdlcwBObyBleHBsYW5hdGlvbiBhdmFpbGFibGUuAE51bGwgY29sb3VyIHNwZWNpZmljYXRpb24KAE9ic29sZXRlIGFuZCBsb2NhbCBwYWNrYWdlcyBwcmVzZW50IG9uIHN5c3RlbQBPYnNvbGV0ZS9sb2NhbABPbGQgbWFyawBPcHQAT3B0aW9uYWwAT3B0aW9uczoKICAtLWFkbWluZGlyIDxkaXJlY3Rvcnk+ICAgICBVc2UgPGRpcmVjdG9yeT4gaW5zdGVhZCBvZiAlcy4KICAtLWV4cGVydCAgICAgICAgICAgICAgICAgICBUdXJuIG9uIGV4cGVydCBtb2RlLgogIC0tZGVidWcgPGZpbGU+IHwgLUQ8ZmlsZT4gIFR1cm4gb24gZGVidWdnaW5nLCBzZW5kaW5nIG91dHB1dCB0byA8ZmlsZT4uCiAgLS1jb2xvdXIgfCAtLWNvbG9yIHNjcmVlbnBhcnQ6W2ZvcmVncm91bmRdLFtiYWNrZ3JvdW5kXVs6YXR0clsrYXR0cisuLl1dCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29uZmlndXJlIHNjcmVlbiBjb2xvdXJzLgoKAFBhY2thZ2UAUHJlc3MgPGVudGVyPiB0byBjb250aW51ZS4KAFByZXNzID8gZm9yIGhlbHAgbWVudSwgLiBmb3IgbmV4dCB0b3BpYywgPHNwYWNlPiB0byBleGl0IGhlbHAuAFByZXNzIGEga2V5IGZyb20gdGhlIGxpc3QgYWJvdmUsIDxzcGFjZT4gb3IgYHEnIHRvIGV4aXQgaGVscCwKICBvciBgLicgKGZ1bGwgc3RvcCkgdG8gcmVhZCBlYWNoIGhlbHAgcGFnZSBpbiB0dXJuLiAAUHJpb3JpdHkAUHVyZ2VkAFB1cmdlZCBwYWNrYWdlcyBhbmQgdGhvc2UgbmV2ZXIgaW5zdGFsbGVkAFF1aXQgZHNlbGVjdC4AUXVpdCB3aXRob3V0IGNoYW5naW5nIHNlbGVjdGVkIGFjY2VzcyBtZXRob2QAUXVpdCwgY29uZmlybWluZyB3aXRob3V0IGNoZWNrAFF1aXQsIGNvbmZpcm1pbmcsIGFuZCBjaGVja2luZyBkZXBlbmRlbmNpZXMAUXVpdCwgcmVqZWN0aW5nIGNvbmZsaWN0L2RlcGVuZGVuY3kgc3VnZ2VzdGlvbnMAUkVJTlNUQUxMAFJlZHJhdyBkaXNwbGF5AFJlbW92ZSB1bndhbnRlZCBzb2Z0d2FyZS4AUmVtb3ZlZABSZW1vdmVkIGFuZCBubyBsb25nZXIgYXZhaWxhYmxlIHBhY2thZ2VzAFJlbW92ZWQgcGFja2FnZXMgKGNvbmZpZ3VyYXRpb24gc3RpbGwgcHJlc2VudCkAUmVwZWF0IGxhc3Qgc2VhcmNoLgBSZXEAUmVxdWVzdCBoZWxwIChjeWNsZSB0aHJvdWdoIGhlbHAgc2NyZWVucykAUmVxdWVzdCB3aGljaCBwYWNrYWdlcyB5b3Ugd2FudCBvbiB5b3VyIHN5c3RlbS4AUmVxdWlyZWQAUmV2ZXJ0IHRvIGRpcmVjdGx5IHJlcXVlc3RlZCBzdGF0ZSBmb3IgYWxsIHBhY2thZ2VzAFJldmVydCB0byBvbGQgc3RhdGUgZm9yIGFsbCBwYWNrYWdlcwBSZXZlcnQgdG8gc3VnZ2VzdGVkIHN0YXRlIGZvciBhbGwgcGFja2FnZXMAU2NyZWVucGFydHM6CgBTY3JvbGwgYmFja3dhcmRzIHRocm91Z2ggaGVscC9pbmZvcm1hdGlvbgBTY3JvbGwgYmFja3dhcmRzIHRocm91Z2ggaGVscC9pbmZvcm1hdGlvbiBieSAxIGxpbmUAU2Nyb2xsIGJhY2t3YXJkcyB0aHJvdWdoIGxpc3QAU2Nyb2xsIGJhY2t3YXJkcyB0aHJvdWdoIGxpc3QgYnkgMSBsaW5lAFNjcm9sbCBvbndhcmRzIHRocm91Z2ggaGVscC9pbmZvcm1hdGlvbgBTY3JvbGwgb253YXJkcyB0aHJvdWdoIGhlbHAvaW5mb3JtYXRpb24gYnkgMSBsaW5lAFNjcm9sbCBvbndhcmRzIHRocm91Z2ggbGlzdABTY3JvbGwgb253YXJkcyB0aHJvdWdoIGxpc3QgYnkgMSBsaW5lAFNlYXJjaCBmb3IgPyAAU2VhcmNoIGZvciBhIHBhY2thZ2Ugd2hvc2UgbmFtZSBjb250YWlucyBhIHN0cmluZwBTZWN0aW9uAFNlbGVjdCBjdXJyZW50bHktaGlnaGxpZ2h0ZWQgYWNjZXNzIG1ldGhvZABTZXQgeW91ciBURVJNIHZhcmlhYmxlIGNvcnJlY3RseSwgdXNlIGEgYmV0dGVyIHRlcm1pbmFsLApvciBtYWtlIGRvIHdpdGggdGhlIHBlci1wYWNrYWdlIG1hbmFnZW1lbnQgdG9vbCAlcy4KAFN0YW5kYXJkAFN0ZABTd2FwIHNvcnQgb3JkZXIgcHJpb3JpdHkvc2VjdGlvbgBUZXJtaW5hbCBkb2VzIG5vdCBhcHBlYXIgdG8gc3VwcG9ydCBjdXJzb3IgYWRkcmVzc2luZy4KAFRlcm1pbmFsIGRvZXMgbm90IGFwcGVhciB0byBzdXBwb3J0IGhpZ2hsaWdodGluZy4KAFRoZSBsaW5lIHlvdSBoYXZlIGhpZ2hsaWdodGVkIHJlcHJlc2VudHMgbWFueSBwYWNrYWdlczsgaWYgeW91IGFzayB0byBpbnN0YWxsLCByZW1vdmUsIGhvbGQsIGV0Yy4gaXQgeW91IHdpbGwgYWZmZWN0IGFsbCB0aGUgcGFja2FnZXMgd2hpY2ggbWF0Y2ggdGhlIGNyaXRlcmlvbiBzaG93bi4KCklmIHlvdSBtb3ZlIHRoZSBoaWdobGlnaHQgdG8gYSBsaW5lIGZvciBhIHBhcnRpY3VsYXIgcGFja2FnZSB5b3Ugd2lsbCBzZWUgaW5mb3JtYXRpb24gYWJvdXQgdGhhdCBwYWNrYWdlIGRpc3BsYXllZCBoZXJlLgpZb3UgY2FuIHVzZSBgbycgYW5kIGBPJyB0byBjaGFuZ2UgdGhlIHNvcnQgb3JkZXIgYW5kIGdpdmUgeW91cnNlbGYgdGhlIG9wcG9ydHVuaXR5IHRvIG1hcmsgcGFja2FnZXMgaW4gZGlmZmVyZW50IGtpbmRzIG9mIGdyb3Vwcy4AVHlwZSBkc2VsZWN0IC0taGVscCBmb3IgaGVscC4AVW5jbGFzc2lmaWVkAFVwIHRvIGRhdGUgaW5zdGFsbGVkIHBhY2thZ2VzAFVwLXRvLWRhdGUAVXBkYXRlIGxpc3Qgb2YgYXZhaWxhYmxlIHBhY2thZ2VzLCBpZiBwb3NzaWJsZS4AVXBkYXRlZABVcGRhdGVkIHBhY2thZ2VzIChuZXdlciB2ZXJzaW9uIGlzIGF2YWlsYWJsZSkAVXNhZ2U6ICVzIFs8b3B0aW9uPiAuLi5dIFs8YWN0aW9uPiAuLi5dCgoAV2VsY29tZSB0byBkc2VsZWN0J3MgbWFpbiBwYWNrYWdlIGxpc3RpbmcuCgpZb3Ugd2lsbCBiZSBwcmVzZW50ZWQgd2l0aCBhIGxpc3Qgb2YgcGFja2FnZXMgd2hpY2ggYXJlIGluc3RhbGxlZCBvciBhdmFpbGFibGUKZm9yIGluc3RhbGxhdGlvbi4gIFNpbmNlIHlvdSBkbyBub3QgaGF2ZSB0aGUgcHJpdmlsZWdlIG5lY2Vzc2FyeSB0byB1cGRhdGUKcGFja2FnZSBzdGF0ZXMsIHlvdSBhcmUgaW4gYSByZWFkLW9ubHkgbW9kZS4gIFlvdSBjYW4gbmF2aWdhdGUgYXJvdW5kIHRoZQpsaXN0IHVzaW5nIHRoZSBjdXJzb3Iga2V5cyAocGxlYXNlIHNlZSB0aGUgYEtleXN0cm9rZXMnIGhlbHAgc2NyZWVuKSwgb2JzZXJ2ZQp0aGUgc3RhdHVzIG9mIHRoZSBwYWNrYWdlcyBhbmQgcmVhZCBpbmZvcm1hdGlvbiBhYm91dCB0aGVtLgoKWW91IHNob3VsZCByZWFkIHRoZSBsaXN0IG9mIGtleXMgYW5kIHRoZSBleHBsYW5hdGlvbnMgb2YgdGhlIGRpc3BsYXkuCk11Y2ggb24tbGluZSBoZWxwIGlzIGF2YWlsYWJsZSwgcGxlYXNlIG1ha2UgdXNlIG9mIGl0IC0gcHJlc3MgYD8nIGF0CmFueSB0aW1lIGZvciBoZWxwLgoKV2hlbiB5b3UgaGF2ZSBmaW5pc2hlZCBicm93c2luZywgcHJlc3MgYFEnIG9yIDxlbnRlcj4gdG8gcXVpdC4KClByZXNzIDxzcGFjZT4gdG8gbGVhdmUgaGVscCBhbmQgZW50ZXIgdGhlIGxpc3Qgbm93LgoAV2VsY29tZSB0byBkc2VsZWN0J3MgbWFpbiBwYWNrYWdlIGxpc3RpbmcuCgpZb3Ugd2lsbCBiZSBwcmVzZW50ZWQgd2l0aCBhIGxpc3Qgb2YgcGFja2FnZXMgd2hpY2ggYXJlIGluc3RhbGxlZCBvciBhdmFpbGFibGUKZm9yIGluc3RhbGxhdGlvbi4gIFlvdSBjYW4gbmF2aWdhdGUgYXJvdW5kIHRoZSBsaXN0IHVzaW5nIHRoZSBjdXJzb3Iga2V5cywKbWFyayBwYWNrYWdlcyBmb3IgaW5zdGFsbGF0aW9uICh1c2luZyBgKycpIG9yIGRlaW5zdGFsbGF0aW9uICh1c2luZyBgLScpLgpQYWNrYWdlcyBjYW4gYmUgbWFya2VkIGVpdGhlciBzaW5nbHkgb3IgaW4gZ3JvdXBzOyBpbml0aWFsbHkgeW91IHdpbGwgc2VlIHRoYXQKdGhlIGxpbmUgYEFsbCBwYWNrYWdlcycgaXMgc2VsZWN0ZWQuICBgKycsIGAtJyBhbmQgc28gb24gd2lsbCBhZmZlY3QgYWxsIHRoZQpwYWNrYWdlcyBkZXNjcmliZWQgYnkgdGhlIGhpZ2hsaWdodGVkIGxpbmUuCgpTb21lIG9mIHlvdXIgY2hvaWNlcyB3aWxsIGNhdXNlIGNvbmZsaWN0cyBvciBkZXBlbmRlbmN5IHByb2JsZW1zOyB5b3Ugd2lsbCBiZQpnaXZlbiBhIHN1Yi1saXN0IG9mIHRoZSByZWxldmFudCBwYWNrYWdlcywgc28gdGhhdCB5b3UgY2FuIHNvbHZlIHRoZSBwcm9ibGVtcy4KCllvdSBzaG91bGQgcmVhZCB0aGUgbGlzdCBvZiBrZXlzIGFuZCB0aGUgZXhwbGFuYXRpb25zIG9mIHRoZSBkaXNwbGF5LgpNdWNoIG9uLWxpbmUgaGVscCBpcyBhdmFpbGFibGUsIHBsZWFzZSBtYWtlIHVzZSBvZiBpdCAtIHByZXNzIGA/JyBhdAphbnkgdGltZSBmb3IgaGVscC4KCldoZW4geW91IGhhdmUgZmluaXNoZWQgc2VsZWN0aW5nIHBhY2thZ2VzLCBwcmVzcyA8ZW50ZXI+IHRvIGNvbmZpcm0gY2hhbmdlcywKb3IgYFgnIHRvIHF1aXQgd2l0aG91dCBzYXZpbmcgY2hhbmdlcy4gQSBmaW5hbCBjaGVjayBvbiBjb25mbGljdHMgYW5kCmRlcGVuZGVuY2llcyB3aWxsIGJlIGRvbmUgLSBoZXJlIHRvbyB5b3UgbWF5IHNlZSBhIHN1Ymxpc3QuCgpQcmVzcyA8c3BhY2U+IHRvIGxlYXZlIGhlbHAgYW5kIGVudGVyIHRoZSBsaXN0IG5vdy4KAFh0cgBbQV1jY2VzcwBbQ11vbmZpZwBbSV1uc3RhbGwAW1FddWl0AFtSXWVtb3ZlAFtTXWVsZWN0AFtVXXBkYXRlAFtub3QgYm91bmRdAFt1bms6ICVkXQBhAGJVRwBjAGNvbG91cgBjb2xvdXIgYXR0cmlidXRlAGNvbmZsaWN0cyB3aXRoAGNvdWxkbid0IG9wZW4gZGVidWcgZmlsZSBgJS4yNTVzJwoAZGVwZW5kcyBvbgBkb3VwZGF0ZSBmYWlsZWQAZG91cGRhdGUgaW4gU0lHV0lOQ0ggaGFuZGxlciBmYWlsZWQAZHNlbGVjdCAtIGluc3BlY3Rpb24gb2YgcGFja2FnZSBzdGF0ZXMAZHNlbGVjdCAtIGxpc3Qgb2YgYWNjZXNzIG1ldGhvZHMAZHNlbGVjdCAtIG1haW4gcGFja2FnZSBsaXN0aW5nAGRzZWxlY3QgLSByZWN1cnNpdmUgcGFja2FnZSBsaXN0aW5nAGRzZWxlY3QgYW5kIGRwa2cgY2FuIGRvIGF1dG9tYXRpYyBpbnN0YWxsYXRpb24sIGxvYWRpbmcgdGhlIHBhY2thZ2UgZmlsZXMgdG8gYmUKaW5zdGFsbGVkIGZyb20gb25lIG9mIGEgbnVtYmVyIG9mIGRpZmZlcmVudCBwb3NzaWJsZSBwbGFjZXMuCgpUaGlzIGxpc3QgYWxsb3dzIHlvdSB0byBzZWxlY3Qgb25lIG9mIHRoZXNlIGluc3RhbGxhdGlvbiBtZXRob2RzLgoKTW92ZSB0aGUgaGlnaGxpZ2h0IHRvIHRoZSBtZXRob2QgeW91IHdpc2ggdG8gdXNlLCBhbmQgaGl0IEVudGVyLiAgWW91IHdpbGwgdGhlbgpiZSBwcm9tcHRlZCBmb3IgdGhlIGluZm9ybWF0aW9uIHJlcXVpcmVkIHRvIGRvIHRoZSBpbnN0YWxsYXRpb24uCgpBcyB5b3UgbW92ZSB0aGUgaGlnaGxpZ2h0IGEgZGVzY3JpcHRpb24gb2YgZWFjaCBtZXRob2QsIHdoZXJlIGF2YWlsYWJsZSwgaXMKZGlzcGxheWVkIGluIHRoZSBib3R0b20gaGFsZiBvZiB0aGUgc2NyZWVuLgoKSWYgeW91IHdpc2ggdG8gcXVpdCB3aXRob3V0IGNoYW5naW5nIGFueXRoaW5nIHVzZSB0aGUgYHgnIGtleSB3aGlsZSBpbiB0aGUgbGlzdApvZiBpbnN0YWxsYXRpb24gbWV0aG9kcy4KCkEgZnVsbCBsaXN0IG9mIGtleXN0cm9rZXMgaXMgYXZhaWxhYmxlIGJ5IHByZXNzaW5nIGBrJyBub3csIG9yIGZyb20gdGhlIGhlbHAKbWVudSByZWFjaGFibGUgYnkgcHJlc3NpbmcgYD8nLgoAZW5oYW5jZXMAZXJyb3IgZHVyaW5nIHJlYWQgb2YgbWV0aG9kIG9wdGlvbnMgZmlsZSBgJS4yNTBzJwBlcnJvciBkdXJpbmcgcmVhZCBvZiBvcHRpb24gZGVzY3JpcHRpb24gZmlsZSBgJS4yNTBzJwBlcnJvciBpbiByZWd1bGFyIGV4cHJlc3Npb24AZXJyb3IgcmVhZGluZyBhY2tub3dsZWRnZW1lbnQgb2YgcHJvZ3JhbSBmYWlsdXJlIG1lc3NhZ2UAZXJyb3IgcmVhZGluZyBrZXlib2FyZCBpbiBoZWxwAGVycm9yIHJlYWRpbmcgb3B0aW9ucyBmaWxlIGAlLjI1MHMnAGZhaWxlZCB0byBhbGxvY2F0ZSBjb2xvdXIgcGFpcgBmYWlsZWQgdG8gYmxvY2sgU0lHV0lOQ0gAZmFpbGVkIHRvIGNyZWF0ZSBiYXNlbGlzdCBwYWQAZmFpbGVkIHRvIGNyZWF0ZSBoZWFkaW5nIHBhZABmYWlsZWQgdG8gY3JlYXRlIGluZm8gcGFkAGZhaWxlZCB0byBjcmVhdGUgcXVlcnkgd2luZG93AGZhaWxlZCB0byBjcmVhdGUgdGhpc3N0YXRlIHBhZABmYWlsZWQgdG8gY3JlYXRlIHRpdGxlIHdpbmRvdwBmYWlsZWQgdG8gY3JlYXRlIHdoYXRpbmZvIHdpbmRvdwBmYWlsZWQgdG8gZ2V0IG9sZCBTSUdXSU5DSCBzaWdhY3QAZmFpbGVkIHRvIGdldCBvbGQgc2lnbmFsIG1hc2sAZmFpbGVkIHRvIGdldGNoIGluIG1haW4gbWVudQBmYWlsZWQgdG8gcmUtYmxvY2sgU0lHV0lOQ0gAZmFpbGVkIHRvIHJlYWQgb3B0aW9uIGRlc2NyaXB0aW9uIGZpbGUgYCUuMjUwcycAZmFpbGVkIHRvIHJlc3RvcmUgb2xkIFNJR1dJTkNIIHNpZ2FjdABmYWlsZWQgdG8gcmVzdG9yZSBvbGQgc2lnbmFsIG1hc2sAZmFpbGVkIHRvIHNldCBuZXcgU0lHV0lOQ0ggc2lnYWN0AGZhaWxlZCB0byB1bmJsb2NrIFNJR1dJTkNIAGdldGNoIGZhaWxlZABoYWxmIGluc3RhbGxlZABob2xkAGkAaW5kZXggc3RyaW5nIHRvbyBsb25nAGluc3RhbGwAaW5zdGFsbGF0aW9uIHNjcmlwdABpbnN0YWxsZWQAaW52YWxpZCBzZWFyY2ggb3B0aW9uIGdpdmVuAGlvY3RsKFRJT0NHV0lOU1opIGZhaWxlZABtZW51AG1ldGhvZCBgJS4yNTBzJyBoYXMgbmFtZSB0aGF0IGlzIHRvbyBsb25nICglZCA+ICVkIGNoYXJhY3RlcnMpAG5ldyBwYWNrYWdlAG5ld2xpbmUgYmVmb3JlIG9wdGlvbiBuYW1lIHN0YXJ0AG5ld2xpbmUgYmVmb3JlIHN1bW1hcnkAbm9uLWFscGhhbnVtIGluIG9wdGlvbiBuYW1lAG5vbi1kaWdpdCB3aGVyZSBkaWdpdCB3YW50ZWQAbm9uYWxwaGEgd2hlcmUgb3B0aW9uIG5hbWUgc3RhcnQgd2FudGVkAG5vdCBpbnN0YWxsZWQAcHJlLWRlcGVuZHMgb24AcHJvdmlkZXMAcHVyZ2UAcQBxdWVyeS9zZXR1cCBzY3JpcHQAcgByZWNvbW1lbmRzAHJlbW92ZQByZW1vdmVkIChjb25maWdzIHJlbWFpbikAcmVwbGFjZXMAcwBzY3JlZW4gcGFydABzdWdnZXN0cwBzeW50YXggZXJyb3IgaW4gbWV0aG9kIG9wdGlvbnMgZmlsZSBgJS4yNTBzJyAtLSAlcwB0ZXJtaW5hbCBsYWNrcyBuZWNlc3NhcnkgZmVhdHVyZXMsIGdpdmluZyB1cAB1AHVuYWJsZSB0byBhY2Nlc3MgbWV0aG9kIHNjcmlwdCBgJS4yNTBzJwB1bmFibGUgdG8gY2xvc2UgbmV3IG9wdGlvbiBmaWxlIGAlLjI1MHMnAHVuYWJsZSB0byBpbnN0YWxsIG5ldyBvcHRpb24gYXMgYCUuMjUwcycAdW5hYmxlIHRvIG9wZW4gY3VycmVudCBvcHRpb24gZmlsZSBgJS4yNTBzJwB1bmFibGUgdG8gb3BlbiBuZXcgb3B0aW9uIGZpbGUgYCUuMjUwcycAdW5hYmxlIHRvIG9wZW4gb3B0aW9uIGRlc2NyaXB0aW9uIGZpbGUgYCUuMjUwcycAdW5hYmxlIHRvIHJlYWQgYCUuMjUwcycgZGlyZWN0b3J5IGZvciByZWFkaW5nIG1ldGhvZHMAdW5hYmxlIHRvIHJlYWQgbWV0aG9kIG9wdGlvbnMgZmlsZSBgJS4yNTBzJwB1bmFibGUgdG8gc3RhdCBvcHRpb24gZGVzY3JpcHRpb24gZmlsZSBgJS4yNTBzJwB1bmFibGUgdG8gd3JpdGUgbmV3IG9wdGlvbiB0byBgJS4yNTBzJwB1bmtub3duIGFjdGlvbiBzdHJpbmcgYCUuNTBzJwB1bnBhY2tlZCAobm90IHNldCB1cCkAdXBkYXRlIGF2YWlsYWJsZSBsaXN0IHNjcmlwdABQcm9qZWN0LUlkLVZlcnNpb246IGRwa2dfMS4xMC4xOV9kYQpSZXBvcnQtTXNnaWQtQnVncy1UbzogZGViaWFuLWRwa2dAbGlzdHMuZGViaWFuLm9yZwpQT1QtQ3JlYXRpb24tRGF0ZTogMjAxMS0xMC0xNCAwNzoxMSswMjAwClBPLVJldmlzaW9uLURhdGU6IDIwMDYtMTAtMDYgMTY6MzIrMDIwMApMYXN0LVRyYW5zbGF0b3I6IENsYXVzIEhpbmRzZ2F1bCA8Y2xhdXMuaGluZHNnYXVsQGdtYWlsLmNvbT4KTGFuZ3VhZ2UtVGVhbTogRGFuaXNoCkxhbmd1YWdlOiBkYQpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdApYLUdlbmVyYXRvcjogS0JhYmVsIDEuMTEuNApQbHVyYWwtRm9ybXM6ICBucGx1cmFscz0yOyBwbHVyYWw9KG4gIT0gMSk7CgAKCiVzOiAlcwoACgpCZXbDpmcgZGlnIHJ1bmR0IG1lZCBeUCBvZyBeTiwgcGlsZXRhc3RlciwgZm9yYm9nc3RhdmVyIGVsbGVyIHRhbDsKVHJ5ayA8cmV0dXI+IGZvciBhdCBiZWtyw6ZmdGUgdmFsZy4gIF5MIGdlbnRlZ25lciBza8Omcm1lbi4KCgAKClNrcml2ZWJlc2t5dHRldCBhZGdhbmc6IGt1biB2aXNuaW5nIGFmIHZhbGcgZXIgdGlsZ8OmbmdlbGlnIQAKVHJ5ayA8cmV0dXI+IGZvciBhdCBmb3J0c8OmdHRlLgAgACAgLS0gJWQlJSwgdHJ5ayAAIChhbGZhYmV0aXNrKQAgKHRpbGcuLCBwcmlvcml0ZXQpACAodGlsZy4sIGdydXBwZSkAIChlZnRlciB0aWxnw6ZuZy4pACAoZWZ0ZXIgcHJpb3JpdGV0KQAgKGVmdGVyIGdydXBwZSkAIChlZnRlciBzdGF0dXMpACAoc3RhdHVzLCBwcmlvcml0ZXQpACAoc3RhdHVzLCBncnVwcGUpACBsYWRlciBpa2tlIHRpbCBhdCB2w6ZyZSB0aWxnw6ZuZ2VsaWcKACBtYXJrw6lyOisvPS8tIGtvbmNpczp2IGhqw6ZscDo/ACBtYXJrw6lyOisvPS8tIGRldGFsajp2IGhqw6ZscDo/ACBlbGxlciAAIGtvbmNpczp2IGhqw6ZscDo/ACBkZXRhbGplcjp2IGhqw6ZscDo/ACFMdXMhACUtKnMgJXMlcyVzOyAgJXMgKHZhcjogJXMpLiAgJXMAJXMgJXMgcGFra2VyACVzICVzIHBha2tlciBpICVzLWdydXBwZW4AJXMgJXMgcGFra2VyIHVkZW5mb3IgZ3J1cHBlACVzIGZvciBtZXJlACVzIHBha2tlciBpICVzLWdydXBwZW4AJXMgcGFra2VyIHVkZW5mb3IgZ3J1cHBlACVzIGZvciBhdCBnw6UgdGlsYmFnZQAqIE1hcmtlcmluZzogw4huIGxpbmplIGkgcGFra2VsaXN0ZW4gdmlsIHbDpnJlIG1hcmtlcmV0LiBEZXQgaW5kaWtlcmVyCiAgaHZpbGtlIHBha2tlciwgZGVyIHZpbCBiZXLDuHJlcyBhZiB0cnlrIHDDpSAnKycsICctJyBvZyAnXycuCgoqIE9wZGVsaW5nc2xpbmplbiBpIG1pZHRlbiBhZiBza8Omcm1lbiB2aXNlciBlbiBrb3J0IGZvcmtsYXJpbmcgYWYKICBkZW4gbWFya2VyZWRlIHBha2tlcyBzdGF0dXMsIGVsbGVyLCBodmlzIGVuIGdydXBwZSBlciBtYXJrZXJldCwKICBlbiBiZXNrcml2ZWxzZSBhZiBkZW5uZSBncnVwcGUuIEh2aXMgZHUgaWtrZSBmb3JzdMOlciBiZXR5ZG5pbmdlbgogIGFmIGRlIHZpc3RlIHN0YXR1c3RlZ24sIGthbiBkdSBtYXJrZXJlIGRlbiByZWxldmFudGUgcGFra2Ugb2cgc2UKICBww6Ugb3BkZWxpbmdzbGluamVuLCBlbGxlciBicnVnICd2Jy10YXN0ZW4gZm9yIGRldGFsamVyZXQgdmlzbmluZy4KICAoVHJ5ayAndicgaWdlbiBmb3IgYXQgZ8OlIHRpbGJhZ2UgdGlsIGtvbmNpcyB2aXNuaW5nLgoKKiBJIGJ1bmRlbiBhZiBza8Omcm1lbiB2aXNlcyBtZXJlIGluZm9ybWF0aW9uIG9tIGRlbiBha3R1ZWx0CiAgbWFya2VyZWRlIHBha2tlIChodmlzIGRlciBrdW4gZXIgw6luKS4KCiAgRGVuIGthbiB2aXNlIGVuIHVkdmlkZXQgYmVza3JpdmVsc2UgYWYgcGFra2VuLCBkZSBpbnRlcm5lIHBha2tlLQogIGtvbnRyb2xkZXRhbGplciAoZW50ZW4gZm9yIGRlbiBpbnN0YWxsZXJlZGUgZWxsZXIgdGlsZ8OmbmdlbGlnZSB2ZXJzaW9uCiAgYWYgcGFra2VuKSwgZWxsZXIgaW5mb3JtYXRpb24gb20ga29uZmxpa3RlciBvZyBhZmjDpm5naWdoZWRlciwgZGVyCiAgYmVyw7hyZXIgZGVuIGFrdHVlbGxlIHBha2tlIChpIGRlbGxpc3RlbiBrb25mbGlrdC9hZmjDpm5naWdoZWRzLWzDuHNuaW5nKS4KCiAgQnJ1ZyAnaSctdGFzdGVuIGZvciBhdCBza2lmdGUgbWVsbGVtIHZpc25pbmdlcm5lIG9nICdJJyBmb3IgYXQgZ2VtbWUKICBpbmZvcm1hdGlvbnN2aXNuaW5nZW4gZWxsZXIgdWR2aWRlIGRlbiB0aWwgbsOmc3RlbiBoZWxlIHNrw6ZybWVuLgoAPwBGb3Jrb3J0LgBBZmJyeWQgLSBhZnNsdXQgdWRlbiBhdCBsYXZlIMOmbmRyaW5nZXIAVGlsZ2FuZ3NtZXRvZGUgJyVzJy4ASGFuZGxpbmdlcjoKICBhY2Nlc3MgdXBkYXRlIHNlbGVjdCBpbnN0YWxsIGNvbmZpZyByZW1vdmUgcXVpdAoKAEFsbGUAQWxsZSBwYWtrZXIARWdlbnNrYWJlcjoKAFRpbGcudmVyAFRpbGfDpm5nZWxpZ2UAVGlsZ8OmbmdlbGlnZSBwYWtrZXIgKGlra2UgaW5zdGFsbGVyZWRlKQDDmGRlbGFndGUAw5hkZWxhZ3RlIGluc3RhbGxlcmVkZSBwYWtrZXIAVsOmbGcgZGVuIMO4bnNrZWRlIHRpbGdhbmdzbWV0b2RlLgBGYXJ2ZXI6CgBLb25maWd1csOpciBldmVudHVlbGxlIGlra2Uta29uZmlndXJlcmVkZSBwYWtrZXIuAENvcHlyaWdodCAoQykgMTk5NC0xOTk2IElhbiBKYWNrc29uLgpDb3B5cmlnaHQgKEMpIDIwMDAsMjAwMSBXaWNoZXJ0IEFra2VybWFuLgoAU2tpZnQgaW5mb3JtYXRpb25zdmlzbmluZwBEZWJpYW4gJyVzJyBwYWtrZWjDpW5kdGVyaW5ncy1icnVnZXJmbGFkZSB2ZXJzaW9uICVzLgoAS29uZmxpa3QvYWZow6ZuZ2lnaGVkc2zDuHNuaW5nIC0gaW50cm9kdWt0aW9uLgoKRXQgZWxsZXIgZmxlcmUgYWYgZGluZSB2YWxnIGhhciB1ZGzDuHN0IGVuIGtvbmZsaWt0IGVsbGVyIGFmaMOmbmdpZ2hlZHNwcm9ibGVtIC0Kbm9nbGUgcGFra2VyIGLDuHIga3VuIGluc3RhbGxlcmVzIHNhbW1lbiBtZWQgdmlzc2UgYW5kcmUsIG1lbnMgdmlzc2UgcGFra2UtCmtvbWJpbmF0aW9uZXIgaWtrZSBrYW4gZWtzaXN0ZXJlIHNhbW1lbi4KCkR1IHZpbCBzZSBlbiBkZWxsaXN0ZSBtZWQgZGUgaW52b2x2ZXJlZGUgcGFra2VyLiBEZW4gbmVkZXJzdGUgaGFsdmRlbCBhZgpza8Omcm1lbiB2aXNlciBkZSByZWxldmFudGUga29uZmxpa3RlciBvZyBhZmjDpm5naWdoZWRlcjsgYnJ1ZyAnaScgZm9yIGF0IHNraWZ0ZQptZWxsZW0gZGVubmUsIHBha2tlYmVza3JpdmVsc2VybmUgb2cgaW50ZXJuIGtvbnRyb2xpbmZvcm1hdGlvbi4KCkRlciBlciBiZXJlZ25ldCBldCBzw6Z0ICdmb3Jlc2zDpWVkZScgcGFra2VyLCBvZyBkZSBpbmRsZWRlbmRlIG1hcmtlcmluZ2VyIGkKZGVubmUgZGVsbGlzdGUgZXIgc2F0IGVmdGVyIGRldHRlLCBzw6UgZHUga2FuIGJsb3QgdHJ5a2tlIDxyZXR1cj4gZm9yIGF0CmFjY2VwdGVyZSBmb3JzbGFnZW5lLCBodmlzIGR1IHZpbC4gRHUga2FuIHRyw6Zra2UgZGUgdmFsZywgZGVyIGdhdiBwcm9ibGVtZXJuZSwKdGlsYmFnZSwgb2cgcmV0dXJuZXJlIHRpbCBob3ZlZGxpc3RlbiB2ZWQgYXQgdHJ5a2tlIHNraWZ0LSdYJy4KCkR1IGthbiBvZ3PDpSBiZXbDpmdlIGRpZyBydW5kdCBpIGxpc3RlbiBvZyDDpm5kcmUgbWFya2VyaW5nZXJuZSBzw6VsZWRlcyBhdCBkZQpzdmFyZXIgbWVyZSB0aWwgZGluZSDDuG5za2VyLCBvZyBkdSBrYW4gJ2FmdmlzZScgbWluZSBmb3JzbGFnIHZlZCBhdCBicnVnZQpza2lmdC0nRCcgZWxsZXIgc2tpZnQtJ1InIChzZSBoasOmbHBlc2vDpnJtZW4gJ1Rhc3RlcicpLiBEdSBrYW4gYnJ1Z2Ugc2tpZnQtJ1EnCmZvciBhdCBnZW5uZW10dmluZ2UgZGUgYWt0dWVsdCB2aXN0ZSB2YWxnLCBzw6VmcmVtdCBkdSB2aWwgdGlsc2lkZXPDpnR0ZQpmb3JzbGFnZXQgb2cgbWVuZXIsIGF0IHByb2dyYW1tZXQgdGFnZXIgZmVqbC4KClRyeWsgbWVsbGVtcnVtIGZvciBhdCBmb3JsYWRlIGhqw6ZscCBvZyBnw6UgdGlsIGRlbGxpc3Rlbi4gSHVzazonPycgZm9yIGhqw6ZscC4KAEJlc2tyaXZlbHNlAFZpc25pbmcsIGRlbCAxOiBwYWtrZWxpc3RlIG9nIHN0YXR1c3RlZ24AVmlzbmluZywgZGVsIDI6IGxpc3RlbWFya2VyaW5nLCBpbmZvcm1hdGlvbnN2aXNuaW5nAEZJR00Ac2x1dC1ww6UtZmlsIGluZGVuIHN0YXJ0ZW4gYWYgdGlsdmFsZ3NuYXZuAHNsdXQtcMOlLWZpbCBpbmRlbiBiZXNrcml2ZWxzZW4Ac2x1dC1ww6UtZmlsIGkgaW5kZWtzc3RyZW5nAHNsdXQtcMOlLWZpbCBpIHRpbHZhbGdzbmF2bgBzbHV0LXDDpS1maWwgaSBiZXNrcml2ZWxzZW4gLSBtYW5nbGVuZGUgbGluamVza2lmdABGZWpsAEZlamw6IABla3N0cmEAR8OlIHRpbCBzbHV0bmluZ2VuIGFmIGxpc3RlbgBHw6UgdGlsIHRvcHBlbiBhZiBsaXN0ZW4ASGrDpmxwZXRla3N0ZXIgZm9yIGbDuGxnZW5kZSBlbW5lciBlciB0aWxnw6ZuZ2VsaWdlOgBIasOmbHA6IABWZ3QAdmlndGlnZQBJbnN0LnZlcgBJbnN0YWxsw6lyIG9nIG9wZ3JhZMOpciDDuG5za2VkZSBwYWtrZXIuAEluc3RhbGxlcmVkZQBJbnN0YWxsZXJlZGUgcGFra2VyAEluc3RhbGxlcmV0PwBJbnRyb2R1a3Rpb24gdGlsIGtvbmZsaWt0L2FmaMOmbmdpZ2hlZHNsw7hzbmluZ3MtZGVsbGlzdGVuAEludHJvZHVrdGlvbiB0aWwgbWV0b2RldmFsZ3MtdmlzbmluZ2VuAEludHJvZHVrdGlvbiB0aWwgcGFra2V2YWxnAEludHJvZHVrdGlvbiB0aWwgc2tyaXZlYmVza3l0dGV0IHBha2tlbGlzdGUtc8O4Z2VyAFVneWxkaWcgJXMgJyVzJwoAVGFzdGVyAFRhc3RlciB0aWwgbWV0b2RldmFsZwBHw7hyIG1hcmtlcmluZyBtaW5kcmUgc3BlY2lmaWsAR8O4ciBtYXJrZXJpbmcgbWVyZSBzcGVjaWZpawBNYXJrw6lyIHBha2tlKHIpIGZvciBhZmluc3RhbGxlcmluZyBvZyB1ZHJlbnNuaW5nAE1hcmvDqXIgcGFra2UocikgZm9yIGFmaW5zdGFsbGVyaW5nAE1hcmvDqXIgcGFra2UocikgZm9yIGluc3RhbGxhdGlvbgBNYXJrZXJldCBmb3IARmx5dCBuZWRhZABGbHl0IG9wYWQATnllAE55bGlndCB0aWxnw6ZuZ2VsaWdlIHBha2tlcgBJbmdlbiB0aWxnw6ZuZ2VsaWcgZm9ya2xhcmluZy4ATnVsZmFydmVhbmdpdmVsc2UKAEZvcsOmbGRlZGUgb2cgbG9rYWxlIHBha2tlciBww6Ugc3lzdGVtZXQARm9yw6ZsZGVkZS9sb2thbGUAR2FtbWVsdCBtw6Zya2UARnJpAHZhbGdmcmllAFRpbHZhbGc6CiAgLS1hZG1pbmRpciA8bWFwcGU+ICAgICAgICAgQmVueXQgPG1hcHBlPiBpIHN0ZWRldCBmb3IgJXMuCiAgLS1leHBlcnQgICAgICAgICAgICAgICAgICAgQWt0aXbDqXIgZWtzcGVydHRpbHN0YW5kLgogIC0tZGVidWcgPGZpbD4gfCAtRDxmaWw+ICAgIEFrdGl2ZXJlciBhZmx1c25pbmcsIHNlbmRlciB1ZGRhdGEgdGlsIDxmaWxlPi4KICAtLWNvbG91ciB8IC0tY29sb3Igc2vDpnJtb21yw6VkZTpbZm9yZ3J1bmRdLFtiYWdncnVuZF1bOmF0dHJbK2F0dHIrLi5dXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIEluZHN0aWwgc2vDpnJtZmFydmVyLgoKAFBha2tlAFRyeWsgPHJldHVyPiBmb3IgYXQgZm9ydHPDpnR0ZS4KAFRyeWsgPyBmb3IgaGrDpmxwZW1lbnUsIC4gZm9yIG7DpnN0ZSBlbW5lLCA8bWVsbGVtcnVtPiBhZnNsdXR0ZXIgaGrDpmxwLgBUcnlrIGVuIHRhc3QgZnJhIG92ZW5zdMOlZW5kZSBsaXN0ZSwgPG1lbGxlbXJ1bT4gZWxsZXIncSBmb3IgYXQgYWZzbHV0dGUKICBoasOmbHBlbiBlbGxlciBwdW5rdHVtIGZvciBhdCBsw6ZzZSBoasOmbHBlc2lkZXJuZSBlbiBhZCBnYW5nZW4uIABQcmlvcml0ZXQAVWRyZW5zZWRlAFVkcmVuc2VkZSBvZyBhbGRyaWcgaW5zdGFsbGVyZWRlIHBha2tlcgBBZnNsdXQgZHNlbGVjdC4AQWZzbHV0IHVkZW4gYXQgw6ZuZHJlIGRlbiB2YWxndGUgYWRnYW5nc21ldG9kZQBBZnNsdXQgYmVrcsOmZnRlbmRlLCB1ZGVuIHRqZWsAQWZzbHV0IGJla3LDpmZ0ZW5kZSwgb2cgdGplayBhZmjDpm5naWdoZWRlcgBBZnNsdXQsIGFmdmlzIGtvbmZsaWt0L2FmaMOmbmdpZ2hlZHMtZm9yc2xhZwBHRU5JTlNUQUxMw4lSAEdlbnRlZ24gc2vDpnJtAEFmaW5zdGFsbMOpciB1w7huc2tldCBwcm9ncmFtbWVsLgBBZmluc3RhbGxlcmVkZQBBZmluc3RhbGxlcmVkZSBvZyBpa2tlIGzDpm5nZXJlIHRpbGfDpm5nZWxpZ2UgcGFra2VyAEFmaW5zdGFsbGVyZWRlIHBha2tlciAob3Bzw6Z0bmluZyBiZXZhcmV0KQBHZW50YWcgc2lkc3RlIHPDuGduaW5nLgBLcnYARsOlIGhqw6ZscCAoc2tpZnQgaGrDpmxwZXNrw6ZybSkAVWR2w6ZsZywgaHZpbGtlIHBha2tlciwgZHUgw7huc2tlciBww6UgZGl0IHN5c3RlbS4Aa3LDpnZlZGUAR2Vuc2thYiBkaXJla3RlIGFuZ2l2ZXQgc3RhdHVzIGZvciBhbGxlIHBha2tlcgBHZW5za2FiIHRpZGxpZ2VyZSBzdGF0dXMgZm9yIGFsbGUgcGFra2VyAEdlbnNrYWIgZm9yZXNsw6VldCBzdGF0dXMgZm9yIGFsbGUgcGFra2VyAFNrw6ZybW9tcsOlZGVyOgoAUnVsIGJhZ2zDpm5zIGdlbm5lbSBoasOmbHAvaW5mb3JtYXRpb24AUnVsIDEgbGluamUgYmFndWQgaSBoasOmbHAvaW5mb3JtYXRpb24AUnVsIGJhZ2zDpm5zIGkgbGlzdGVuAFJ1bCAxIGxpbmplIGJhZ3VkIGkgbGlzdGVuAFJ1bCBmb3Jsw6ZucyBnZW5uZW0gaGrDpmxwL2luZm9ybWF0aW9uAFJ1bCAxIGxpbmplIHZpZGVyZSBpIGhqw6ZscC9pbmZvcm1hdGlvbgBSdWwgdmlkZXJlIGkgbGlzdGVuAFJ1bCAxIGxpbmplIHZpZGVyZSBpIGxpc3RlbgBTw7hnIGVmdGVyID8gAFPDuGcgZWZ0ZXIgZW4gcGFra2UsIGRlciBpbmRlaG9sZGVyIGVuIHN0cmVuZwBHcnVwcGUAVsOmbGcgZGVuIG1hcmtlcmVkZSBhZGdhbmdzbWV0b2RlAFPDpnQgZGluIFRFUk0tdmFyaWFiZWwga29ycmVrdCwgYnJ1ZyBlbiBiZWRyZSB0ZXJtaW5hbAplbGxlciBuw7hqZXMgbWVkIGVua2VsdHBha2tlLWjDpW5kdGVyaW5nc3bDpnJrdMO4amV0ICVzLgoAc3RhbmRhcmQAU3RkAFNraWZ0IHNvcnRlcmluZ3Nyw6Zra2Vmw7hsZ2UtcHJpb3JpdGV0L2dydXBwZQBUZXJtaW5hbGVuIGxhZGVyIGlra2UgdGlsIGF0IHVuZGVyc3TDuHR0ZSBtYWvDuHJhZHJlc3NlcmluZy4KAFRlcm1pbmFsZW4gbGFkZXIgaWtrZSB0aWwgYXQgdW5kZXJzdMO4dHRlIGZyZW1ow6Z2bmluZy4KAERlbiBsaW5qZSwgZHUgaGFyIG1hcmtlcmV0LCByZXByw6ZzZW50ZXJlciBtYW5nZSBwYWtrZXIuIEh2aXMgZHUgYmVkZXIgb20gaW5zdGFsbGF0aW9uLCBhZmluc3RhbGxhdGlvbiwgdGlsYmFnZWhvbGRlbHNlIG8ubGlnbi4sIHZpbCBkZXQgYmVyw7hyZSBhbGxlIHBha2tlcm5lLCBkZXIgcGFzc2VyIHRpbCBkZXQgdmlzdGUga3JpdGVyaWUuCgpIdmlzIGR1IGZseXR0ZXIgbWFya2VyaW5nZW4gdGlsIGVuIGxpbmplIG1lZCBlbiBlbmtlbHQgcGFra2UsIHZpbCBkdSBzZSBpbmZvcm1hdGlvbiBvbSBwYWtrZW4gaGVyLgpEdSBrYW4gYnJ1Z2UgJ28nIGVsbGVyJ08nIHRpbCBhdCDDpm5kcmUgc29ydGVyaW5nc3LDpmtrZWbDuGxnZW4gb2cgZ2l2ZSBkaXQgc2VsdiBtdWxpZ2hlZCBmb3IgYXQgbWFya2VyZSBwYWtrZXJuZSBpIGFuZHJlIGdydXBwZXIuAFNrcml2ICJkc2VsZWN0IC0taGVscCIgZm9yIGhqw6ZscC4AdWtsYXNzaWZpY2VyZWRlAEluc3RhbGxlcmVkZSBwYWtrZXIgaSBueWVzdGUgdmVyc2lvbgBIZWx0IG9wZGF0ZXJlZGUAT3BkYXTDqXIgbGlzdGVuIG1lZCB0aWxnw6ZuZ2VsaWdlIHBha2tlciwgaHZpcyBtdWxpZ3QuAE9wZGF0ZXJlZGUAT3BkYXRlcmVkZSBwYWtrZXIgKG55ZXJlIHZlcnNpb24gdGlsZ8OmbmdlbGlnKQBCcnVnOiAlcyBbPHRpbHZhbGc+IC4uLl0gWzxoYW5kbGluZz4gLi4uXQoKAFZlbGtvbW1lbiB0aWwgZHNlbGVjdCdzIGhvdmVkLXBha2tlbGlzdGUuCgogRHUgdmlsIGJsaXZlIHByw6ZzZW50ZXJldCBtZWQgZW4gbGlzdGUgb3ZlciBwYWtrZXIsIGRlciBlciBpbnN0YWxsZXJlZGUgZWxsZXIKdGlsZ8OmbmdlbGlnZSBmb3IgaW5zdGFsbGF0aW9uLiBTaWRlbiBkdSBpa2tlIGhhciBkZSBuw7hkdmVuZGlnZSByZXR0aWdoZWRlcgp0aWwgYXQgb3BkYXRlcmUgcGFra2VzdGF0dXMsIGVyIGR1IGkgc2tyaXZlYmVza3l0dGV0IHRpbHN0YW5kLiBEdSBrYW4KYmV2w6ZnZSBkaWcgcnVuZHQgaSBsaXN0ZW4gbWVkIHBpbGVzdGF0ZXJuZSAoc2UgaGrDpmxwZXNrw6ZybWVuICdUYXN0ZXInKQoobsO4amFndGlnIHNvbSBodmlzIHZpbGxlLCBodmlzIGR1IGhhdmRlIHNrcml2ZWFkZ2FuZyAtIHNlIGhqw6ZscGVza8Omcm1lbgonVGFzdGVyJykgb2cgc2Ugc3RhdHVzIGZvciBwYWtrZXJuZSBzYW10IG9wbHlzbmluZ2VyIG9tIGRlbS4KCkR1IGLDuHIgbMOmc2UgbGlzdGVuIG1lZCB0YXN0ZXIgb2cgYmVza3JpdmVsc2VybmUgYWYgdmlzbmluZ2VybmUuCkRlciBlciBtZWdlbiB0aWxnw6ZuZ2VsaWcgaGrDpmxwLCBicnVnIGRlbiBlbmRlbGlnISBUcnlrIHRpbCBlbmh2ZXIgdGlkICc/Jwpmb3IgaGrDpmxwLgoKVHJ5ayAnUScgZWxsZXIgPHJldHVyPiBmb3IgYXQgYWZzbHV0dGUsIG7DpXIgZHUgZXIgZsOmcmRpZyBtZWQgYXQgYmxhZHJlLgoKVHJ5ayA8bWVsbGVtcnVtPiBmb3IgYXQgZm9ybGFkZSBoasOmbHBlbiBvZyBnw6UgdGlsIGxpc3RlbiBudS4KAFZlbGtvbW1lbiB0aWwgZHNlbGVjdCdzIGhvdmVkcGFra2VsaXN0ZS4KCkR1IHZpbCBibGl2ZSBwcsOmc2VudGVyZXQgZm9yIGVuIGxpc3RlIG1lZCBpbnN0YWxsZXJlZGUgcGFra2VyIG9nIHBha2tlciwgZGVyCmVyIHRpbGfDpm5nZWxpZ2UgZm9yIGluc3RhbGxhdGlvbi4gRHUga2FuIGJldsOmZ2UgZGlnIHJ1bmR0IGkgbGlzdGVuIG1lZApwaWxldGFzdGVybmUsIG1hcmtlcmUgcGFra2VyIGZvciBpbnN0YWxsYXRpb24gKG1lZCAnKycpIGVsbGVyIGFmaW5zdGFsbGF0aW9uCihtZWQgJy0nKS4gUGFra2VybmUga2FuIGVudGVuIG1hcmtlcmVzIGVua2VsdHZpc3QgZWxsZXIgaSBncnVwcGVyLiBGcmEgc3RhcnRlbgp2aWwgZHUgYmVtw6Zya2UsIGF0IGxpbmplbiAnQWxsZSBwYWtrZXInIGVyIHZhbGd0LiAnKycsICctJyBvc3YuIHZpbCBiZXLDuHJlCmFsbGUgcGFra2VybmUsIGRlciBiZXNrcml2ZXMgYWYgZGVuIG1hcmtlcmVkZSBsaW5qZS4KCk5vZ2xlIGFmIGRpbmUgdmFsZyB2aWwgZ2l2ZSBrb25mbGlrdGVyIG9nIGFmaMOmbmdpZ2hlZHNwcm9ibGVtZXIuIER1IHZpbCBkYSBmw6UKZW4gZGVsbGlzdGUgbWVkIGRlIHJlbGV2YW50ZSBwYWtrZXIsIHPDpSBkdSBrYW4gdWRyZWRlIHByb2JsZW1lcm5lLgoKRHUgYsO4ciBsw6ZzZSBsaXN0ZW4gbWVkIHRhc3RlciBvZyBmb3JrbGFyaW5nZXJuZSBww6UgZGV0IHZpc3RlLgpEZXIgZXIgZW4gZGVsIHNrw6ZybWhqw6ZscCB0aWwgcsOlZGlnaGVkLiBCcnVnIGRlbiBlbmRlbGlnIC0gdHJ5ayAnPycKdGlsIGh2ZXIgZW4gdGlkIGZvciBhdCBmw6UgaGrDpmxwLgoKTsOlciBkdSBoYXIgZm9yZXRhZ2V0IGRpbmUgdmFsZywga2FuIGR1IHRyeWtrZSA8cmV0dXI+IGZvciBhdCBiZWtyw6ZmdGUgZGluZQrDpm5kcmluZ2VyIGVsbGVyICdYJyBmb3IgYXQgYWZicnlkZSB1ZGVuIGF0IGdlbW1lIMOmbmRyaW5nZXJuZS4gRXQKZW5kZWxpZ3QgdGplayBmb3Iga29uZmxpa3RlciBvZyBhZmjDpm5naWdoZWRlciB2aWwgYmxpdmUgZm9yZXRhZ2V0CiAtIGhlciBrYW4gZHUgaWdlbiBrb21tZSB1ZCBmb3IgYXQgZsOlIGVuIGRlbGxpc3RlLgoKVHJ5ayBtZWxsZW1ydW0gZm9yIGF0IGZvcmxhZGUgaGrDpmxwZW4gb2cgZ8OlIHRpbCBsaXN0ZW4uCgBFa3MAW1RdaWxnYW5nAFtLXW9uZmlnAFtJXW5zdGFsbMOpcgBbQV1mc2x1dABbQV1maW5zdGFsbMOpcgBbVV1kdsOmbGcAW09dcGRhdMOpcgBbaWtrZSBidW5kZXRdAFt1a2VuZHQ6ICVkXQB0AExVUwBrAGZhcnZlAGZhcnZlZWdlbnNrYWIAZXIgaSBrb25mbGlrdCBtZWQAa3VubmUgaWtrZSDDpWJuZSBhZmx1c25pbmdzZmlsICclLjI1NXMnCgBhZmjDpm5nZXIgYWYAZG91cGRhdGUgbWlzbHlra2VkZXMAZG91cGRhdGUgaSBTSUdXSU5DSC1ow6VuZHRlcmluZyBmZWpsZWRlAGRzZWxlY3QgLSBpbnNwZWt0aW9uIGFmIHBha2tlc3RhdHVzAGRzZWxlY3QgLSBsaXN0ZSBvdmVyIHRpbGdhbmdzbWV0b2RlcgBkc2VsZWN0IC0gaG92ZWQtcGFra2V2aXNuaW5nAGRzZWxlY3QgLSByZWt1cnNpdiBwYWtrZXZpc25pbmcAZHNlbGVjdCBvZyBkcGtnIGthbiB1ZGbDuHJlIGF1dG9tYXRpc2sgaW5zdGFsbGF0aW9uIHZlZCBpbmRsw6ZzbmluZyBhZgpwYWtrZWZpbGVyLCBkZXIgc2thbCBpbnN0YWxsZXJlcyBmcmEgZXQgdWQgYWYgZmxlcmUgbXVsaWdlIHN0ZWRlci4KCkRlbm5lIGxpc3RlIGdpdmVyIGRpZyBtdWxpZ2hlZCBmb3IgYXQgdsOmbGdlIGVuIGFmIGRpc3NlIGluc3RhbGxhdGlvbnNtZXRvZGVyLgoKRmx5dCBtYXJrw7hyZW4gdGlsIGRlbiBtZXRvZGUsIGR1IMO4bnNrZXIgYXQgYnJ1Z2Ugb2cgdHJ5ayBSZXR1ci4gU8OlIHZpbCBkdQpibGl2ZSBzcHVyZ3Qgb20gaW5mb3JtYXRpb24sIGRlciBrcsOmdmVzIGZvciBhdCB1ZGbDuHJlIGluc3RhbGxhdGlvbmVuLgoKTsOlciBkdSBmbHl0dGVyIG1hcmvDuHJlbiBtZWxsZW0gbWV0b2Rlcm5lLCB2aWwgZW4gYmVza3JpdmVsc2UgYmxpdmUgdmlzdCBpIGRlbi4KbmVkcmUgaGFsdmRlbCBhZiBza8Omcm1lbi4KCkh2aXMgZHUgw7huc2tlciBhdCBhZnNsdXR0ZSB1ZGVuIGF0IMOmbmRyZSBub2dldCwga2FuIGR1IGJydWdlICd4Jy10YXN0ZW4sIG1lbiBkdQplciBpIGxpc3RlbiBvdmVyIGluc3RhbGxhdGlvbnNtZXRvZGVyCgpUcnlrICdrJyBudSBmb3IgZW4ga29tcGxldCBsaXN0ZSBvdmVyIHRpbGfDpm5nZWxpZ2Uga29tbWFuZG9lciwgZWxsZXIgZmluZCBkZW0gaQpoasOmbHBlbWVudWVuIHZlZCBhdCB0cnlra2UgJz8nLgoAZm9yYmVkcmVyAGZlamwgdmVkIGzDpnNuaW5nIGFmIG1ldG9kZXRpbHZhbGdzZmlsZW4gJyUuMjUwcycAZmVqbCB2ZWQgbMOmc25pbmcgYWYgdGlsdmFsZ3NiZXNrcml2ZWxzZXNmaWxlbiAnJS4yNTBzJwBmZWpsIGkgcmVndWzDpnJ0IHVkdHJ5awBmZWpsIGluZGVyIGzDpnNuaW5nIGFmIGdvZGtlbmRlbHNlIGFmIHByb2dyYW1mZWpsbWVkZGVsZWxzZQBmZWpsIHZlZCBsw6ZzbmluZyBmcmEgdGFzdGF0dXIgaSBoasOmbHAAZmVqbCB1bmRlciBsw6ZzbmluZyBhZiB0aWx2YWxnc2ZpbCAnJS4yNTBzJwBrdW5uZSBpa2tlIGZyaWfDuHJlIGZhcnZlcGFyAGt1bm5lIGlra2UgYmxva2VyZSBTSUdXSU5DSABrdW5uZSBpa2tlIG9wcmV0dGUgYmFzaXNsaXN0ZS1mbGlnAGt1bm5lIGlra2Ugb3ByZXR0ZSBvdmVyc2tyaWZ0cy1mbGlnAGt1bm5lIGlra2Ugb3ByZXR0ZSBpbmZvZmxpZwBrdW5uZSBpa2tlIG9wcmV0dGUgZm9yZXNww7hyZ3NlbHN2aW5kdWUAa3VubmUgaWtrZSBvcHJldHRlIGRlbm5lc3RhdHVzLWZsaWcAa3VubmUgaWtrZSBvcHJldHRlIHRpdGVsdmluZHVlAGt1bm5lIGlra2Ugb3ByZXR0ZSB3aGF0aW5mby1mbGlnAGt1bm5lIGlra2UgZsOlIGdhbW1lbCBTSUdXSU5DSCBzaWdhY3QAa3VubmUgaWtrZSBmw6UgZ2FtbWVsIHNpZ25hbG1hc2tlAGt1bm5lIGlra2UgdWRmw7hyZSAnZ2V0Y2gnIGkgaG92ZWRtZW51AGt1bm5lIGlra2UgZ2VuYmxva2VyZSBTSUdXSU5DSABrdW5uZSBpa2tlIGzDpnNlIHRpbHZhbGdzYmVza3JpdmVsc2VzZmlsZW4gJyUuMjUwcycAa3VubmUgaWtrZSBnZW5za2FiZSBnYW1tZWwgU0lHV0lOQ0ggc2lnYWN0AGt1bm5lIGlra2UgZ2Vuc2thYmUgZ2FtbWVsIHNpZ25hbG1hc2tlAGt1bm5lIGlra2Ugc8OmdHRlIG55IFNJR1dJTkNIIHNpZ2FjdABrdW5uZSBpa2tlIGFmYmxva2VyZSBTSUdXSU5DSAAnZ2V0Y2gnIG1pc2x5a2tlZGVzAGhhbHZ0IGluc3RhbGxlcmV0AGhvbGQgdGlsYmFnZQBpAGluZGVrc3N0cmVuZyBlciBmb3IgbGFuZwBpbnN0YWxsw6lyAGluc3RhbGxhdGlvbnNzY3JpcHQAaW5zdGFsbGVyZXQAdWd5bGRpZ3Qgc8O4Z2V0aWx2YWxnIGFuZ2l2ZXQAaW9jdGwoVElPQ0dXSU5TWikgZmVqbGVkZQBtZW51AG1ldG9kZW4gJyUuMjUwcycgaGFyIGV0IGZvciBsYW5ndCBuYXZuICglZCA+ICVkIHRlZ24pAG55IHBha2tlAGxpbmplc2tpZnQgZsO4ciBzdGFydGVuIHDDpSB0aWx2YWxnc25hdm4AbGluamVza2lmdCBpbmRlbiBiZXNrcml2ZWxzZW4AdGVnbiBpIG5hdm4sIGRlciBpa2tlIGVyIGV0IGJvZ3N0YXYgZWxsZXIgdGFsAGlra2UtdGFsLCBodm9yIGV0IHRhbCB2YXIgw7huc2tldABpa2tlLWJvZ3N0YXYsIGh2b3IgdGlsdmFsZ3NuYXZuIHZhciDDuG5za2V0AGlra2UgaW5zdGFsbGVyZXQAZm9yaMOlbmRzLWFmaMOmbmdlciBhZgBnaXZlcgB1ZHJlbnMAYQBzY3JpcHQgdGlsIGZvcmVzcMO4cmdzZWwvb3Bzw6Z0bmluZwBhAGFuYmVmYWxlcgBhZmluc3RhbGzDqXIAYWZpbnN0YWxsZXJldCAob3Bzw6Z0bmluZyBiZXZhcmV0KQBlcnN0YXR0ZXIAdQBza8Omcm1vbXLDpWRlAGZvcmVzbMOlcgBzeW50YWtzZmVqbCBpIG1ldG9kZS10aWx2YWxnc2ZpbCAnJS4yNTBzJyAtLSAlcwB0ZW1pbmFsZW4gbWFuZ2xlciBuw7hkdmVuZGlnZSBmdW5rdGlvbmVyLiBHaXZlciBvcABvAGt1bm5lIGlra2UgdGlsZ8OlIG1ldG9kZXNjcmlwdGV0ICclLjI1MHMnAGt1bm5lIGlra2UgbHVra2UgbnkgdGlsdmFsZ3NmaWwgJyUuMjUwcycAa3VubmUgaWtrZSBpbnN0YWxsZXJlIG55IHRpbHZhbGdzZmlsICclLjI1MHMnAGt1bm5lIGlra2Ugw6VibmUgYWt0dWVsIHRpbHZhbGdzZmlsICclLjI1MHMnAGt1bm5lIGlra2Ugw6VibmUgbnkgdGlsdmFsZ3NmaWwgJyUuMjUwcycAa3VubmUgaWtrZSDDpWJuZSB0aWx2YWxnc2Jlc2tyaXZlbHNlc2ZpbGVuICclLjI1MHMnAGt1bm5lIGlra2UgbMOmc2UgJyUuMjUwcyctbWFwcGUgZm9yIGzDpnNuaW5nIGFmIG1ldG9kZXIAa3VubmUgaWtrZSBsw6ZzZSBtZXRvZGV0aWx2YWxnc2ZpbCAnJS4yNTBzJwBrdW5uZSBpa2tlIGZpbmRlIHRpbHZhbGdzYmVza3JpdmVsc2VzZmlsZW4gJyUuMjUwcycAa3VubmUgaWtrZSBza3JpdmUgbnkgdGlsdmFsZ3NmaWwgJyUuMjUwcycAdWtlbmR0IGhhbmRsaW5nc3N0cmVuZyAnJS41MHMnAHVkcGFra2V0IChpa2tlIHNhdCBvcCkAc2NyaXB0IHRpbCBvcGRhdGVyaW5nIGFmIHRpbGfDpm5nZWxpZ2hlZHNsaXN0ZQA=