Mw0NCgxae2O9CwAA4wAAAAAAAAAAAAAAAAQAAABAAAAAc0QAAABkAFoAZAFkAmwBbQJaAgEAZANkBGwDbQRaBG0FWgUBAEcAZAVkBoQAZAZlBYMDWgZHAGQHZAiEAGQIZQeDA1oIZAlTACkKek8KcmVxdWVzdHMuc3RydWN0dXJlcwp+fn5+fn5+fn5+fn5+fn5+fn5+CgpEYXRhIHN0cnVjdHVyZXMgdGhhdCBwb3dlciBSZXF1ZXN0cy4K6QAAAAApAdoLT3JkZXJlZERpY3TpAQAAACkC2gdNYXBwaW5n2g5NdXRhYmxlTWFwcGluZ2MAAAAAAAAAAAAAAAADAAAAQAAAAHNiAAAAZQBaAWQAWgJkAVoDZBdkA2QEhAFaBGQFZAaEAFoFZAdkCIQAWgZkCWQKhABaB2QLZAyEAFoIZA1kDoQAWglkD2QQhABaCmQRZBKEAFoLZBNkFIQAWgxkFWQWhABaDWQCUwApGNoTQ2FzZUluc2Vuc2l0aXZlRGljdGHWAwAAQSBjYXNlLWluc2Vuc2l0aXZlIGBgZGljdGBgLWxpa2Ugb2JqZWN0LgoKICAgIEltcGxlbWVudHMgYWxsIG1ldGhvZHMgYW5kIG9wZXJhdGlvbnMgb2YKICAgIGBgTXV0YWJsZU1hcHBpbmdgYCBhcyB3ZWxsIGFzIGRpY3QncyBgYGNvcHlgYC4gQWxzbwogICAgcHJvdmlkZXMgYGBsb3dlcl9pdGVtc2BgLgoKICAgIEFsbCBrZXlzIGFyZSBleHBlY3RlZCB0byBiZSBzdHJpbmdzLiBUaGUgc3RydWN0dXJlIHJlbWVtYmVycyB0aGUKICAgIGNhc2Ugb2YgdGhlIGxhc3Qga2V5IHRvIGJlIHNldCwgYW5kIGBgaXRlcihpbnN0YW5jZSlgYCwKICAgIGBga2V5cygpYGAsIGBgaXRlbXMoKWBgLCBgYGl0ZXJrZXlzKClgYCwgYW5kIGBgaXRlcml0ZW1zKClgYAogICAgd2lsbCBjb250YWluIGNhc2Utc2Vuc2l0aXZlIGtleXMuIEhvd2V2ZXIsIHF1ZXJ5aW5nIGFuZCBjb250YWlucwogICAgdGVzdGluZyBpcyBjYXNlIGluc2Vuc2l0aXZlOjoKCiAgICAgICAgY2lkID0gQ2FzZUluc2Vuc2l0aXZlRGljdCgpCiAgICAgICAgY2lkWydBY2NlcHQnXSA9ICdhcHBsaWNhdGlvbi9qc29uJwogICAgICAgIGNpZFsnYUNDRVBUJ10gPT0gJ2FwcGxpY2F0aW9uL2pzb24nICAjIFRydWUKICAgICAgICBsaXN0KGNpZCkgPT0gWydBY2NlcHQnXSAgIyBUcnVlCgogICAgRm9yIGV4YW1wbGUsIGBgaGVhZGVyc1snY29udGVudC1lbmNvZGluZyddYGAgd2lsbCByZXR1cm4gdGhlCiAgICB2YWx1ZSBvZiBhIGBgJ0NvbnRlbnQtRW5jb2RpbmcnYGAgcmVzcG9uc2UgaGVhZGVyLCByZWdhcmRsZXNzCiAgICBvZiBob3cgdGhlIGhlYWRlciBuYW1lIHdhcyBvcmlnaW5hbGx5IHN0b3JlZC4KCiAgICBJZiB0aGUgY29uc3RydWN0b3IsIGBgLnVwZGF0ZWBgLCBvciBlcXVhbGl0eSBjb21wYXJpc29uCiAgICBvcGVyYXRpb25zIGFyZSBnaXZlbiBrZXlzIHRoYXQgaGF2ZSBlcXVhbCBgYC5sb3dlcigpYGBzLCB0aGUKICAgIGJlaGF2aW9yIGlzIHVuZGVmaW5lZC4KICAgIE5jAgAAAAAAAAADAAAAAwAAAEsAAABzJgAAAHQAgwB8AF8BfAFkAGsIchRpAH0BfABqAnwBZgF8Ao4BAQBkAFMAKQFOKQNyAgAAANoGX3N0b3Jl2gZ1cGRhdGUpA9oEc2VsZtoEZGF0YdoGa3dhcmdzqQByDAAAAPo+L3RtcC9waXAtYnVpbGQtMWZpY29qNHMvcGlwL3BpcC9fdmVuZG9yL3JlcXVlc3RzL3N0cnVjdHVyZXMucHnaCF9faW5pdF9fKgAAAHMIAAAAAAEIAQgBBAF6HENhc2VJbnNlbnNpdGl2ZURpY3QuX19pbml0X19jAwAAAAAAAAADAAAAAwAAAEMAAABzFgAAAHwBfAJmAnwAagB8AWoBgwA8AGQAUwApAU4pAnIHAAAA2gVsb3dlcikDcgkAAADaA2tledoFdmFsdWVyDAAAAHIMAAAAcg0AAADaC19fc2V0aXRlbV9fMAAAAHMCAAAAAAN6H0Nhc2VJbnNlbnNpdGl2ZURpY3QuX19zZXRpdGVtX19jAgAAAAAAAAACAAAAAgAAAEMAAABzEgAAAHwAagB8AWoBgwAZAGQBGQBTACkCTnIDAAAAKQJyBwAAAHIPAAAAKQJyCQAAAHIQAAAAcgwAAAByDAAAAHINAAAA2gtfX2dldGl0ZW1fXzUAAABzAgAAAAABeh9DYXNlSW5zZW5zaXRpdmVEaWN0Ll9fZ2V0aXRlbV9fYwIAAAAAAAAAAgAAAAIAAABDAAAAcxAAAAB8AGoAfAFqAYMAPQBkAFMAKQFOKQJyBwAAAHIPAAAAKQJyCQAAAHIQAAAAcgwAAAByDAAAAHINAAAA2gtfX2RlbGl0ZW1fXzgAAABzAgAAAAABeh9DYXNlSW5zZW5zaXRpdmVEaWN0Ll9fZGVsaXRlbV9fYwEAAAAAAAAAAQAAAAIAAABDAAAAcxQAAABkAWQChAB8AGoAagGDAEQAgwFTACkDTmMBAAAAAAAAAAMAAAADAAAAcwAAAHMWAAAAfABdDlwCfQF9AnwBVgABAHECZABTACkBTnIMAAAAKQPaAi4w2ghjYXNlZGtledoLbWFwcGVkdmFsdWVyDAAAAHIMAAAAcg0AAAD6CTxnZW5leHByPjwAAABzAgAAAAQAei9DYXNlSW5zZW5zaXRpdmVEaWN0Ll9faXRlcl9fLjxsb2NhbHM+LjxnZW5leHByPikCcgcAAADaBnZhbHVlcykBcgkAAAByDAAAAHIMAAAAcg0AAADaCF9faXRlcl9fOwAAAHMCAAAAAAF6HENhc2VJbnNlbnNpdGl2ZURpY3QuX19pdGVyX19jAQAAAAAAAAABAAAAAgAAAEMAAABzCgAAAHQAfABqAYMBUwApAU4pAtoDbGVucgcAAAApAXIJAAAAcgwAAAByDAAAAHINAAAA2gdfX2xlbl9fPgAAAHMCAAAAAAF6G0Nhc2VJbnNlbnNpdGl2ZURpY3QuX19sZW5fX2MBAAAAAAAAAAEAAAACAAAAQwAAAHMUAAAAZAFkAoQAfABqAGoBgwBEAIMBUwApA3ouTGlrZSBpdGVyaXRlbXMoKSwgYnV0IHdpdGggYWxsIGxvd2VyY2FzZSBrZXlzLmMBAAAAAAAAAAMAAAAEAAAAcwAAAHMeAAAAfABdFlwCfQF9AnwBfAJkABkAZgJWAAEAcQJkAVMAKQJyAwAAAE5yDAAAACkDchUAAADaCGxvd2Vya2V52gZrZXl2YWxyDAAAAHIMAAAAcg0AAAByGAAAAEQAAABzAgAAAAQBejJDYXNlSW5zZW5zaXRpdmVEaWN0Lmxvd2VyX2l0ZW1zLjxsb2NhbHM+LjxnZW5leHByPikCcgcAAADaBWl0ZW1zKQFyCQAAAHIMAAAAcgwAAAByDQAAANoLbG93ZXJfaXRlbXNBAAAAcwQAAAAAAwYCeh9DYXNlSW5zZW5zaXRpdmVEaWN0Lmxvd2VyX2l0ZW1zYwIAAAAAAAAAAgAAAAMAAABDAAAAczAAAAB0AHwBdAGDAnIUdAJ8AYMBfQFuBHQDUwB0BHwAagWDAIMBdAR8AWoFgwCDAWsCUwApAU4pBtoKaXNpbnN0YW5jZXIEAAAAcgYAAADaDk5vdEltcGxlbWVudGVk2gRkaWN0ciAAAAApAnIJAAAA2gVvdGhlcnIMAAAAcgwAAAByDQAAANoGX19lcV9fSQAAAHMIAAAAAAEKAQoCBAJ6GkNhc2VJbnNlbnNpdGl2ZURpY3QuX19lcV9fYwEAAAAAAAAAAQAAAAIAAABDAAAAcw4AAAB0AHwAagFqAoMAgwFTACkBTikDcgYAAAByBwAAAHIZAAAAKQFyCQAAAHIMAAAAcgwAAAByDQAAANoEY29weVIAAABzAgAAAAABehhDYXNlSW5zZW5zaXRpdmVEaWN0LmNvcHljAQAAAAAAAAABAAAAAwAAAEMAAABzEAAAAHQAdAF8AGoCgwCDAYMBUwApAU4pA9oDc3RyciMAAAByHwAAACkBcgkAAAByDAAAAHIMAAAAcg0AAADaCF9fcmVwcl9fVQAAAHMCAAAAAAF6HENhc2VJbnNlbnNpdGl2ZURpY3QuX19yZXByX18pAU4pDtoIX19uYW1lX1/aCl9fbW9kdWxlX1/aDF9fcXVhbG5hbWVfX9oHX19kb2NfX3IOAAAAchIAAAByEwAAAHIUAAAAchoAAAByHAAAAHIgAAAAciUAAAByJgAAAHIoAAAAcgwAAAByDAAAAHIMAAAAcg0AAAByBgAAAA8AAABzFgAAAAgZBAIKBggFCAMIAwgDCAMICAgJCANyBgAAAGMAAAAAAAAAAAAAAAAEAAAAAAAAAHM8AAAAZQBaAWQAWgJkAVoDZAuHAGYBZANkBIQJWgRkBWQGhABaBWQHZAiEAFoGZAxkCWQKhAFaB4cABABaCFMAKQ3aCkxvb2t1cERpY3R6GURpY3Rpb25hcnkgbG9va3VwIG9iamVjdC5OYwIAAAAAAAAAAgAAAAMAAAADAAAAcxgAAAB8AXwAXwB0AXQCfACDAmoDgwABAGQAUwApAU4pBNoEbmFtZdoFc3VwZXJyLQAAAHIOAAAAKQJyCQAAAHIuAAAAKQHaCV9fY2xhc3NfX3IMAAAAcg0AAAByDgAAAFwAAABzBAAAAAABBgF6E0xvb2t1cERpY3QuX19pbml0X19jAQAAAAAAAAABAAAAAgAAAEMAAABzCgAAAGQBfABqABYAUwApAk56DTxsb29rdXAgJyVzJz4pAXIuAAAAKQFyCQAAAHIMAAAAcgwAAAByDQAAAHIoAAAAYAAAAHMCAAAAAAF6E0xvb2t1cERpY3QuX19yZXByX19jAgAAAAAAAAACAAAAAwAAAEMAAABzDgAAAHwAagBqAXwBZACDAlMAKQFOKQLaCF9fZGljdF9f2gNnZXQpAnIJAAAAchAAAAByDAAAAHIMAAAAcg0AAAByEwAAAGMAAABzAgAAAAADehZMb29rdXBEaWN0Ll9fZ2V0aXRlbV9fYwMAAAAAAAAAAwAAAAMAAABDAAAAcw4AAAB8AGoAagF8AXwCgwJTACkBTikCcjEAAAByMgAAACkDcgkAAAByEAAAANoHZGVmYXVsdHIMAAAAcgwAAAByDQAAAHIyAAAAaAAAAHMCAAAAAAF6Dkxvb2t1cERpY3QuZ2V0KQFOKQFOKQlyKQAAAHIqAAAAcisAAAByLAAAAHIOAAAAcigAAAByEwAAAHIyAAAA2g1fX2NsYXNzY2VsbF9fcgwAAAByDAAAACkBcjAAAAByDQAAAHItAAAAWQAAAHMKAAAACAEEAg4ECAMIBXItAAAATikJciwAAADaC2NvbGxlY3Rpb25zcgIAAADaBmNvbXBhdHIEAAAAcgUAAAByBgAAAHIjAAAAci0AAAByDAAAAHIMAAAAcgwAAAByDQAAANoIPG1vZHVsZT4IAAAAcwgAAAAEAgwCEAMQSg==