Mw0NCn2EhGMZQwAA4wAAAAAAAAAAAAAAAFIAAABAAAAAc9wCAABkAGQBbABtAVoBAQBkAGQCbAJaAmQAZAJsA1oDZABkAmwEWgRkAGQCbAVaBWQAZANsBm0HWgdtCFoIAQBkAGQEbAltCloKbQtaC20MWgwBAGQFZAZsDW0OWg5tD1oPbRBaEG0RWhEBAGQFZAdsEm0TWhMBAGQIZAlsFG0VWhVtFloWAQBkAloXZAJaGGQKWhlkCloaZApaG2QLZwFaHGUKZQtlDGQMnANaHWQNZA6EAFoeZR9lAmQPZR6DA1ogeRxkAGQCbCFaIWQAZBBsIW0iWiJtI1ojAQBXAG4UBABlJGsKcu4BAAEAAQBZAG4CWAB5EGQAZBFsIW0ZWhkBAFcAbhYEAGUkawqQAXIWAQABAAEAWQBuAlgAeRBkCGQSbCVtGFoYAQBXAG4WBABlJGsKkAFyPgEAAQABAFkAbgJYAHkUZABkE2whbSZaJgEAZSZaJ1cAbkoEAGUkawqQAXKeAQABAAEAeRRkAGQUbCFtJ1omAQBlJlonVwBuHgQAZSRrCpABcpgBAAEAAQBkBQQAWidaJlkAbgJYAFkAbgJYAHkQZABkFWwhbShaKAEAVwBuGgQAZSRrCpABcsoBAAEAAQBlJlooWQBuAlgAeRhkAGQWbCFtKVopbSpaKm0rWisBAFcAbiIEAGUkawqQAnIGAQABAAEAZD5cAloqWitkGVopWQBuAlgAeRBkAGQabCFtLFosAQBXAG4aBABlJGsKkAJyMgEAAQABAGQbWixZAG4CWABkHGotZB1kHmQfZCBkIWQiZCNkJGQlZCZkJ2QoZClkKmcOgwFaLnkQZABkK2whbRdaFwEAVwBuJgQAZSRrCpACcpABAAEAAQBHAGQsZC2EAGQtZS+DA1oXWQBuAlgAZC5kL4QAWjBkMGQxhABaMWQyZDOEAFoyZD9kNGQ1hAFaM2RAZDZkN4QBWjRkOGQ5hABaNWQ6ZDuEAFo2ZEFkPGQ9hAFaN2QCUwApQukAAAAAKQHaD2Fic29sdXRlX2ltcG9ydE4pAtoHaGV4bGlmedoJdW5oZXhsaWZ5KQPaA21kNdoEc2hhMdoGc2hhMjU26QIAAAApBNoXSW5zZWN1cmVQbGF0Zm9ybVdhcm5pbmfaFlByb3h5U2NoZW1lVW5zdXBwb3J0ZWTaEVNOSU1pc3NpbmdXYXJuaW5n2ghTU0xFcnJvcikB2gNzaXjpAQAAACkC2hdCUkFDRUxFU1NfSVBWNl9BRERSWl9SRdoHSVBWNF9SRUZ6CGh0dHAvMS4xKQPpIAAAAOkoAAAA6UAAAABjAgAAAAAAAAAFAAAABAAAAEMAAABzSAAAAHQAdAF8AIMBdAF8AYMBGACDAX0CeCp0AnQDfACDAXQDfAGDAYMCRABdFFwCfQN9BHwCfAN8BEEATwB9AnEoVwB8AmQBawJTACkCeqcKICAgIENvbXBhcmUgdHdvIGRpZ2VzdHMgb2YgZXF1YWwgbGVuZ3RoIGluIGNvbnN0YW50IHRpbWUuCgogICAgVGhlIGRpZ2VzdHMgbXVzdCBiZSBvZiB0eXBlIHN0ci9ieXRlcy4KICAgIFJldHVybnMgVHJ1ZSBpZiB0aGUgZGlnZXN0cyBtYXRjaCwgYW5kIEZhbHNlIG90aGVyd2lzZS4KICAgIHIBAAAAKQTaA2Fic9oDbGVu2gN6aXDaCWJ5dGVhcnJheSkF2gFh2gFi2gZyZXN1bHTaBGxlZnTaBXJpZ2h0qQByHQAAAPqOL2hvbWUvdWV0bGhyL0RvY3VtZW50cy9TZXJtb1Bsb3RfYmFja2VuZC9kcmFmdF9TUkFNX2JsYWNrYm94L1VFVFJWX0VTb0NfdjIvdmVudi9saWI2NC9weXRob24zLjYvc2l0ZS1wYWNrYWdlcy9waXAvX3ZlbmRvci91cmxsaWIzL3V0aWwvc3NsXy5wedoeX2NvbnN0X2NvbXBhcmVfZGlnZXN0X2JhY2twb3J0HgAAAHMIAAAAAAcUARwBEAFyHwAAAFoOY29tcGFyZV9kaWdlc3QpAtoNQ0VSVF9SRVFVSVJFRNoLd3JhcF9zb2NrZXQpAdoHSEFTX1NOSSkB2gxTU0xUcmFuc3BvcnQpAdoMUFJPVE9DT0xfVExTKQHaD1BST1RPQ09MX1NTTHYyMykB2hNQUk9UT0NPTF9UTFNfQ0xJRU5UKQPaEU9QX05PX0NPTVBSRVNTSU9O2gtPUF9OT19TU0x2MtoLT1BfTk9fU1NMdjPpAAAAAekAAAACaQAAAgApAdoMT1BfTk9fVElDS0VUaQBAAAD6ATp6DEVDREhFK0FFU0dDTXoORUNESEUrQ0hBQ0hBMjB6CkRIRStBRVNHQ016DERI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TwB9AnwCdAhPAH0CfAJ0CU8AfQJ8AnQKTwB9AogABABqC3wCTwACAF8LfAF0BWoGawJziHQMag1kDGsFcp50DogAZAZkAYMDZAFrCXKeZAeIAF8PhwBmAWQIZAmECH0EfAF0BWoGawJywnwBiABfEHwEgwABAG4MfASDAAEAfAGIAF8QdBGIAGQKgwJy7nQSahNqFGQLgwF9BXwFcu58BYgAXxWIAFMAKQ1hEQUAAEFsbCBhcmd1bWVudHMgaGF2ZSB0aGUgc2FtZSBtZWFuaW5nIGFzIGBgc3NsX3dyYXBfc29ja2V0YGAuCgogICAgQnkgZGVmYXVsdCwgdGhpcyBmdW5jdGlvbiBkb2VzIGEgbG90IG9mIHRoZSBzYW1lIHdvcmsgdGhhdAogICAgYGBzc2wuY3JlYXRlX2RlZmF1bHRfY29udGV4dGBgIGRvZXMgb24gUHl0aG9uIDMuNCsuIEl0OgoKICAgIC0gRGlzYWJsZXMgU1NMdjIsIFNTTHYzLCBhbmQgY29tcHJlc3Npb24KICAgIC0gU2V0cyBhIHJlc3RyaWN0ZWQgc2V0IG9mIHNlcnZlciBjaXBoZXJzCgogICAgSWYgeW91IHdpc2ggdG8gZW5hYmxlIFNTTHYzLCB5b3UgY2FuIGRvOjoKCiAgICAgICAgZnJvbSBwaXAuX3ZlbmRvci51cmxsaWIzLnV0aWwgaW1wb3J0IHNzbF8KICAgICAgICBjb250ZXh0ID0gc3NsXy5jcmVhdGVfdXJsbGliM19jb250ZXh0KCkKICAgICAgICBjb250ZXh0Lm9wdGlvbnMgJj0gfnNzbF8uT1BfTk9fU1NMdjMKCiAgICBZb3UgY2FuIGRvIHRoZSBzYW1lIHRvIGVuYWJsZSBjb21wcmVzc2lvbiAoc3Vic3RpdHV0aW5nIGBgQ09NUFJFU1NJT05gYAogICAgZm9yIGBgU1NMdjNgYCBpbiB0aGUgbGFzdCBsaW5lIGFib3ZlKS4KCiAgICA6cGFyYW0gc3NsX3ZlcnNpb246CiAgICAgICAgVGhlIGRlc2lyZWQgcHJvdG9jb2wgdmVyc2lvbiB0byB1c2UuIFRoaXMgd2lsbCBkZWZhdWx0IHRvCiAgICAgICAgUFJPVE9DT0xfU1NMdjIzIHdoaWNoIHdpbGwgbmVnb3RpYXRlIHRoZSBoaWdoZXN0IHByb3RvY29sIHRoYXQgYm90aAogICAgICAgIHRoZSBzZXJ2ZXIgYW5kIHlvdXIgaW5zdGFsbGF0aW9uIG9mIE9wZW5TU0wgc3VwcG9ydC4KICAgIDpwYXJhbSBjZXJ0X3JlcXM6CiAgICAgICAgV2hldGhlciB0byByZXF1aXJlIHRoZSBjZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24uIFRoaXMgZGVmYXVsdHMgdG8KICAgICAgICBgYHNzbC5DRVJUX1JFUVVJUkVEYGAuCiAgICA6cGFyYW0gb3B0aW9uczoKICAgICAgICBTcGVjaWZpYyBPcGVuU1NMIG9wdGlvbnMuIFRoZXNlIGRlZmF1bHQgdG8gYGBzc2wuT1BfTk9fU1NMdjJgYCwKICAgICAgICBgYHNzbC5PUF9OT19TU0x2M2BgLCBgYHNzbC5PUF9OT19DT01QUkVTU0lPTmBgLCBhbmQgYGBzc2wuT1BfTk9fVElDS0VUYGAuCiAgICA6cGFyYW0gY2lwaGVyczoKICAgICAgICBXaGljaCBjaXBoZXIgc3VpdGVzIHRvIGFsbG93IHRoZSBzZXJ2ZXIgdG8gc2VsZWN0LgogICAgOnJldHVybnM6CiAgICAgICAgQ29uc3RydWN0ZWQgU1NMQ29udGV4dCBvYmplY3Qgd2l0aCBzcGVjaWZpZWQgb3B0aW9ucwogICAgOnJ0eXBlOiBTU0xDb250ZXh0CiAgICBOcgEAAADpAwAAAOkHAAAA6QQAAADaE3Bvc3RfaGFuZHNoYWtlX2F1dGhUYwAAAAAAAAAAAAAAAAQAAAATAAAAcxoAAAB0AIgAZAFkAIMDZABrCXIWZAKIAF8BZABTACkDTnIwAAAARikCclkAAAByMAAAAHIdAAAAKQHaB2NvbnRleHRyHQAAAHIeAAAA2hZkaXNhYmxlX2NoZWNrX2hvc3RuYW1lRQEAAHMEAAAAAAIQBHo2Y3JlYXRlX3VybGxpYjNfY29udGV4dC48bG9jYWxzPi5kaXNhYmxlX2NoZWNrX2hvc3RuYW1l2g9rZXlsb2dfZmlsZW5hbWVaDVNTTEtFWUxPR0ZJTEUpA3JeAAAAcl8AAAByYAAAACkWciQAAAByJgAAAHIuAAAAckAAAADaD0RFRkFVTFRfQ0lQSEVSU3IxAAAAciAAAAByKAAAAHIpAAAAcicAAAByLAAAAHI1AAAA2gNzeXPaDHZlcnNpb25faW5mb3JZAAAAcmEAAAByMwAAANoHaGFzYXR0ctoCb3PaB2Vudmlyb25yUAAAAHJkAAAAKQZyQgAAAHJBAAAAcjUAAAByOAAAAHJjAAAAWg1zc2xrZXlsb2dmaWxlch0AAAApAXJiAAAAch4AAADaFmNyZWF0ZV91cmxsaWIzX2NvbnRleHT6AAAAczYAAAAAJQ4BBAIIAg4DEgIIAQQCCAIIAwgFCAIOCBYBCAEGAQYCDA0KAQYBCAIGAQYECgEMAQQBBgJyawAAAGMNAAAAAAAAABIAAAAcAAAAQwAAAHNeAQAAfAh9DXwNZAFrCHIadAB8BnwDfAdkAo0DfQ18BHMmfAlzJnwLcmp5EnwNagF8BHwJfAuDAwEAVwBxhAQAdAJ0A2YCawpyZgEAfQ4BAHoOdAR8DoMBggFXAFkAZAFkAX0Ofg5YAHGEWABuGnwIZAFrCHKEdAV8DWQDgwJyhHwNagaDAAEAfAFyoHwKZAFrCHKgdAd8AYMBcqB0BGQEgwGCAXwCcsh8CmQBawhyunwNagh8AnwBgwIBAG4OfA1qCHwCfAF8CoMDAQB5GHQFfA1kBYMCct58DWoJdAqDAQEAVwBuFAQAdAtrCnL0AQABAAEAWQBuAlgAfAWQAW8EdAx8BYMBDAB9D3wPkAFyEnQNkAFwGnQOkAFvGnwFfRB0DQwAkAFyNnwPkAFyNnQPahBkBnQRgwIBAHwQkAFyTnQSfAB8DXwMfAVkB40EfRFuDHQSfAB8DXwMgwN9EXwRUwApCGEVBAAACiAgICBBbGwgYXJndW1lbnRzIGV4Y2VwdCBmb3Igc2VydmVyX2hvc3RuYW1lLCBzc2xfY29udGV4dCwgYW5kIGNhX2NlcnRfZGlyIGhhdmUKICAgIHRoZSBzYW1lIG1lYW5pbmcgYXMgdGhleSBkbyB3aGVuIHVzaW5nIDpmdW5jOmBzc2wud3JhcF9zb2NrZXRgLgoKICAgIDpwYXJhbSBzZXJ2ZXJfaG9zdG5hbWU6CiAgICAgICAgV2hlbiBTTkkgaXMgc3VwcG9ydGVkLCB0aGUgZXhwZWN0ZWQgaG9zdG5hbWUgb2YgdGhlIGNlcnRpZmljYXRlCiAgICA6cGFyYW0gc3NsX2NvbnRleHQ6CiAgICAgICAgQSBwcmUtbWFkZSA6Y2xhc3M6YFNTTENvbnRleHRgIG9iamVjdC4gSWYgbm9uZSBpcyBwcm92aWRlZCwgb25lIHdpbGwKICAgICAgICBiZSBjcmVhdGVkIHVzaW5nIDpmdW5jOmBjcmVhdGVfdXJsbGliM19jb250ZXh0YC4KICAgIDpwYXJhbSBjaXBoZXJzOgogICAgICAgIEEgc3RyaW5nIG9mIGNpcGhlcnMgd2Ugd2lzaCB0aGUgY2xpZW50IHRvIHN1cHBvcnQuCiAgICA6cGFyYW0gY2FfY2VydF9kaXI6CiAgICAgICAgQSBkaXJlY3RvcnkgY29udGFpbmluZyBDQSBjZXJ0aWZpY2F0ZXMgaW4gbXVsdGlwbGUgc2VwYXJhdGUgZmlsZXMsIGFzCiAgICAgICAgc3VwcG9ydGVkIGJ5IE9wZW5TU0wncyAtQ0FwYXRoIGZsYWcgb3IgdGhlIGNhcGF0aCBhcmd1bWVudCB0bwogICAgICAgIFNTTENvbnRleHQubG9hZF92ZXJpZnlfbG9jYXRpb25zKCkuCiAgICA6cGFyYW0ga2V5X3Bhc3N3b3JkOgogICAgICAgIE9wdGlvbmFsIHBhc3N3b3JkIGlmIHRoZSBrZXlmaWxlIGlzIGVuY3J5cHRlZC4KICAgIDpwYXJhbSBjYV9jZXJ0X2RhdGE6CiAgICAgICAgT3B0aW9uYWwgc3RyaW5nIGNvbnRhaW5pbmcgQ0EgY2VydGlmaWNhdGVzIGluIFBFTSBmb3JtYXQgc3VpdGFibGUgZm9yCiAgICAgICAgcGFzc2luZyBhcyB0aGUgY2FkYXRhIHBhcmFtZXRlciB0byBTU0xDb250ZXh0LmxvYWRfdmVyaWZ5X2xvY2F0aW9ucygpCiAgICA6cGFyYW0gdGxzX2luX3RsczoKICAgICAgICBVc2UgU1NMVHJhbnNwb3J0IHRvIHdyYXAgdGhlIGV4aXN0aW5nIHNvY2tldC4KICAgIE4pAXI4AAAA2hJsb2FkX2RlZmF1bHRfY2VydHN6NUNsaWVudCBwcml2YXRlIGtleSBpcyBlbmNyeXB0ZWQsIHBhc3N3b3JkIGlzIHJlcXVpcmVk2hJzZXRfYWxwbl9wcm90b2NvbHNhgAEAAEFuIEhUVFBTIHJlcXVlc3QgaGFzIGJlZW4gbWFkZSwgYnV0IHRoZSBTTkkgKFNlcnZlciBOYW1lIEluZGljYXRpb24pIGV4dGVuc2lvbiB0byBUTFMgaXMgbm90IGF2YWlsYWJsZSBvbiB0aGlzIHBsYXRmb3JtLiBUaGlzIG1heSBjYXVzZSB0aGUgc2VydmVyIHRvIHByZXNlbnQgYW4gaW5jb3JyZWN0IFRMUyBjZXJ0aWZpY2F0ZSwgd2hpY2ggY2FuIGNhdXNlIHZhbGlkYXRpb24gZmFpbHVyZXMuIFlvdSBjYW4gdXBncmFkZSB0byBhIG5ld2VyIHZlcnNpb24gb2YgUHl0aG9uIHRvIHNvbHZlIHRoaXMuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgaHR0cHM6Ly91cmxsaWIzLnJlYWR0aGVkb2NzLmlvL2VuLzEuMjYueC9hZHZhbmNlZC11c2FnZS5odG1sI3NzbC13YXJuaW5ncykBckcAAAApE3JrAAAAcj8AAADaB0lPRXJyb3LaB09TRXJyb3JyDAAAAHJoAAAAcmwAAADaFl9pc19rZXlfZmlsZV9lbmNyeXB0ZWRyOwAAAHJtAAAA2g5BTFBOX1BST1RPQ09MU9oTTm90SW1wbGVtZW50ZWRFcnJvctoMaXNfaXBhZGRyZXNzciIAAADaEklTX1NFQ1VSRVRSQU5TUE9SVHJEAAAAckUAAAByCwAAANoVX3NzbF93cmFwX3NvY2tldF9pbXBsKRLaBHNvY2tyNwAAAHI2AAAAckEAAAByNAAAAHJHAAAAckIAAAByOAAAANoLc3NsX2NvbnRleHTaC2NhX2NlcnRfZGly2gxrZXlfcGFzc3dvcmTaDGNhX2NlcnRfZGF0YdoKdGxzX2luX3Rsc3JiAAAA2gFlWhB1c2Vfc25pX2hvc3RuYW1lWghzZW5kX3NuaVoIc3NsX3NvY2tyHQAAAHIdAAAAch4AAADaD3NzbF93cmFwX3NvY2tldGMBAABzQgAAAAAmBAEIBA4CDAECARIBFAEcAhICCAUUAQgCBAEIAQ4CDgICAQoBDgEOAQYEEAIMAQoDDgEEAQIHBgMGAQIBEAMMAXJ9AAAAYwEAAAAAAAAAAQAAAAMAAABDAAAAczQAAAB0AGoBDAByHHQCfAB0A4MCchx8AGoEZAGDAX0AdAV0BmoHfACDAXAwdAhqB3wAgwGDAVMAKQJ65kRldGVjdHMgd2hldGhlciB0aGUgaG9zdG5hbWUgZ2l2ZW4gaXMgYW4gSVB2NCBvciBJUHY2IGFkZHJlc3MuCiAgICBBbHNvIGRldGVjdHMgSVB2NiBhZGRyZXNzZXMgd2l0aCBab25lIElEcy4KCiAgICA6cGFyYW0gc3RyIGhvc3RuYW1lOiBIb3N0bmFtZSB0byBleGFtaW5lLgogICAgOnJldHVybjogVHJ1ZSBpZiB0aGUgaG9zdG5hbWUgaXMgYW4gSVAgYWRkcmVzcywgRmFsc2Ugb3RoZXJ3aXNlLgogICAg2gVhc2NpaSkJcg0AAADaA1BZMnJXAAAA2gVieXRlc9oGZGVjb2Rl2gRib29schAAAADaBW1hdGNocg8AAAApAdoIaG9zdG5hbWVyHQAAAHIdAAAAch4AAABycwAAAMkBAABzBgAAAAAHEgIKAXJzAAAAYwEAAAAAAAAAAwAAAAoAAABDAAAAczQAAAB0AHwAZAGDAo8gfQF4GHwBRABdEH0CZAJ8AmsGchJkA1MAcRJXAFcAZARRAFIAWABkBVMAKQZ6KkRldGVjdHMgaWYgYSBrZXkgZmlsZSBpcyBlbmNyeXB0ZWQgb3Igbm90LtoBcloJRU5DUllQVEVEVE5GKQHaBG9wZW4pA9oIa2V5X2ZpbGXaAWbaBGxpbmVyHQAAAHIdAAAAch4AAABycAAAANYBAABzCgAAAAACDAEKAggBEgJycAAAAGMEAAAAAAAAAAQAAAAEAAAAQwAAAHNGAAAAfAJyJnQAcxB0AWQBgwGCAXQAagJ8AYMBAQB0AHwAfAF8A4MDUwB8A3I4fAFqA3wAfANkAo0CUwB8AWoDfACDAVMAZABTACkDTnowVExTIGluIFRMUyByZXF1aXJlcyBzdXBwb3J0IGZvciB0aGUgJ3NzbCcgbW9kdWxlKQFyRwAAACkEciMAAAByCgAAAFokX3ZhbGlkYXRlX3NzbF9jb250ZXh0X2Zvcl90bHNfaW5fdGxzciEAAAApBHJ2AAAAcncAAAByewAAAHJHAAAAch0AAAByHQAAAHIeAAAAcnUAAADhAQAAcxIAAAAAAQQBBAICAQYDCgEMAgQBDgJydQAAACkCcioAAAByKwAAACkETk5OTikMTk5OTk5OTk5OTk5GKQFOKTjaCl9fZnV0dXJlX19yAgAAAFoEaG1hY3JpAAAAcmYAAAByRAAAANoIYmluYXNjaWlyAwAAAHIEAAAA2gdoYXNobGlicgUAAAByBgAAAHIHAAAA2gpleGNlcHRpb25zcgkAAAByCgAAAHILAAAAcgwAAADaCHBhY2thZ2Vzcg0AAADaA3VybHIPAAAAchAAAAByLgAAAHIjAAAAciIAAADaDElTX1BZT1BFTlNTTHJ0AAAAcnEAAAByTwAAAHIfAAAAclkAAAByVAAAAHIxAAAAciAAAAByIQAAANoLSW1wb3J0RXJyb3JaDHNzbHRyYW5zcG9ydHIkAAAAciUAAAByJgAAAHInAAAAcigAAAByKQAAAHIsAAAA2gRqb2lucmUAAADaBm9iamVjdHJWAAAAclwAAAByXQAAAHJrAAAAcn0AAABycwAAAHJwAAAAcnUAAAByHQAAAHIdAAAAch0AAAByHgAAANoIPG1vZHVsZT4BAAAAc7YAAAAMAggBCAEIAQgBEAEUAhgGDAEQAgQBBAEEAQQBBAEGAwwDCA0MAgIBCAEUAQ4BBgICARABEAEGAgIBEAEQAQYDAgEMAggBEAECAQwCCAEQARQCAgEQARABCgMCARgBEAEIAQoDAgEQARABChQEAgIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBCAQCARABEAIWMQgdCBcIEQpqAAEAAQABAAEAAQABAAEAAQABAAEAAQpZCA0ICw==