YQ0NCgAAAABDGnxjn7YAAOMAAAAAAAAAAAAAAAAAAAAACAAAAEAAAABzVgEAAGQAWgBkAWQCbAFaAWQBZANsAm0DWgMBAGQBZARsBG0FWgVtBloGAQBkAWQFbAdtCFoIbQlaCW0KWgptC1oLAQBkAWQCbAxaDGQBZAJsDVoNZAFkAmwOWg5kAWQCbA9aEGQBZAZsEW0SWhIBAGQBZAdsE20UWhQBAGQIZAlsFW0WWhYBAGUNoBehAGQKawJyqmQBZAtsE20YWhgBAGQBZAxsBG0ZWhkBAG4URwBkDWQOhABkDoMCWhhlGoMAWhllG2UQahxqHWYCWh56EGQBZA9sH20gWiABAFcAbhIEAGUeeewBAAEAAQBZAG4CMABkEGQRhABaIWQkZBNkFIQBWiJkFWQWhABaI2QXZBiEAFokZCVkGmQbhAFaJUcAZBxkHYQAZB2DAlomRwBkHmQfhABkH4MCWidHAGQgZCGEAGQhgwJaKEcAZCJkI4QAZCODAlopZAJTACkmYZ0CAAAKSW1wcm92ZWQgc3VwcG9ydCBmb3IgTWljcm9zb2Z0IFZpc3VhbCBDKysgY29tcGlsZXJzLgoKS25vd24gc3VwcG9ydGVkIGNvbXBpbGVyczoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KTWljcm9zb2Z0IFZpc3VhbCBDKysgOS4wOgogICAgTWljcm9zb2Z0IFZpc3VhbCBDKysgQ29tcGlsZXIgZm9yIFB5dGhvbiAyLjcgKHg4NiwgYW1kNjQpCiAgICBNaWNyb3NvZnQgV2luZG93cyBTREsgNi4xICh4ODYsIHg2NCwgaWE2NCkKICAgIE1pY3Jvc29mdCBXaW5kb3dzIFNESyA3LjAgKHg4NiwgeDY0LCBpYTY0KQoKTWljcm9zb2Z0IFZpc3VhbCBDKysgMTAuMDoKICAgIE1pY3Jvc29mdCBXaW5kb3dzIFNESyA3LjEgKHg4NiwgeDY0LCBpYTY0KQoKTWljcm9zb2Z0IFZpc3VhbCBDKysgMTQuWDoKICAgIE1pY3Jvc29mdCBWaXN1YWwgQysrIEJ1aWxkIFRvb2xzIDIwMTUgKHg4NiwgeDY0LCBhcm0pCiAgICBNaWNyb3NvZnQgVmlzdWFsIFN0dWRpbyBCdWlsZCBUb29scyAyMDE3ICh4ODYsIHg2NCwgYXJtLCBhcm02NCkKICAgIE1pY3Jvc29mdCBWaXN1YWwgU3R1ZGlvIEJ1aWxkIFRvb2xzIDIwMTkgKHg4NiwgeDY0LCBhcm0sIGFybTY0KQoKVGhpcyBtYXkgYWxzbyBzdXBwb3J0IGNvbXBpbGVycyBzaGlwcGVkIHdpdGggY29tcGF0aWJsZSBWaXN1YWwgU3R1ZGlvIHZlcnNpb25zLgrpAAAAAE4pAdoEb3BlbikC2gdsaXN0ZGly2gdwYXRoc2VwKQTaBGpvaW7aBmlzZmlsZdoFaXNkaXLaB2Rpcm5hbWUpAdoNTGVnYWN5VmVyc2lvbikB2gtmaWx0ZXJmYWxzZekBAAAAKQHaDWdldF91bnBhdGNoZWTaB1dpbmRvd3MpAdoGd2lucmVnKQHaB2Vudmlyb25jAAAAAAAAAAAAAAAAAAAAAAEAAABAAAAAcxwAAABlAFoBZABaAmQBWgNkAVoEZAFaBWQBWgZkAVMAKQJyDgAAAE4pB9oIX19uYW1lX1/aCl9fbW9kdWxlX1/aDF9fcXVhbG5hbWVfX9oKSEtFWV9VU0VSU9oRSEtFWV9DVVJSRU5UX1VTRVLaEkhLRVlfTE9DQUxfTUFDSElORdoRSEtFWV9DTEFTU0VTX1JPT1SpAHIXAAAAchcAAAD6TC9ob21lL2huaS9Ub3BtZXRhbFNlLURQUy92ZW52L2xpYi9weXRob24zLjkvc2l0ZS1wYWNrYWdlcy9zZXR1cHRvb2xzL21zdmMucHlyDgAAACoAAABzCAAAAAgBBAEEAQQBcg4AAAApAdoDUmVnYwEAAAAAAAAAAAAAAAUAAAALAAAAQwAAAHOOAAAAZAF9AXwBZAJ8AGYCFgB9AnoQdACgAXwCZAOhAn0DVwBuRgQAdAJ5ZgEAAQABAHocfAFkBHwAZgIWAH0CdACgAXwCZAOhAn0DVwBuFgQAdAJ5YAEAAQABAGQFfQNZAG4CMABZAG4CMAB8A3KCdAN8A2QGgwJ9BHQEfASDAXKCfARTAHQFdAaDAXwAgwFTACkHYc0BAAAKICAgIFBhdGNoZWQgImRpc3R1dGlscy5tc3ZjOWNvbXBpbGVyLmZpbmRfdmN2YXJzYWxsIiB0byB1c2UgdGhlIHN0YW5kYWxvbmUKICAgIGNvbXBpbGVyIGJ1aWxkIGZvciBQeXRob24KICAg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ICAgICAgeDY0OiBib29sCiAgICAgICAgICAgIHJldHVybiAnXHg2NCcgYW5kIG5vdCAnXGFtZDY0JyBpZiBhcmNoaXRlY3R1cmUgaXMgYW1kNjQuCgogICAgICAgIFJldHVybgogICAgICAgIC0tLS0tLQogICAgICAgIHN0cgogICAgICAgICAgICBzdWJmb2xkZXI6ICdcY3VycmVudCcsIG9yICcnIChzZWUgaGlkZXg4NiBwYXJhbWV0ZXIpCiAgICAgICAgciMAAAByGgAAAHJGAAAAclIAAAByUwAAAHJNAAAAclQAAAByFwAAAHIXAAAAchgAAADaCnRhcmdldF9kaXIoAQAAcwgAAAAAERIBEgEI/XoXUGxhdGZvcm1JbmZvLnRhcmdldF9kaXJjAgAAAAAAAAAAAAAAAwAAAAUAAABDAAAAczAAAAB8AXIIZAFuBHwAagB9AnwAagF8AmsCchxkAlMAfACgAqEAoANkA2QEfAIWAKECUwApBWFwAQAACiAgICAgICAgQ3Jvc3MgcGxhdGZvcm0gc3BlY2lmaWMgc3ViZm9sZGVyLgoKICAgICAgICBQYXJhbWV0ZXJzCiAgICAgICAgLS0tLS0tLS0tLQogICAgICAgIGZvcmNleDg2OiBib29sCiAgICAgICAgICAgIFVzZSAneDg2JyBhcyBjdXJyZW50IGFyY2hpdGVjdHVyZSBldmVuIGlmIGN1cnJlbnQgYXJjaGl0ZWN0dXJlIGlzCiAgICAgICAgICAgIG5vdCB4ODYuCgogICAgICAgIFJldHVybgogICAgICAgIC0tLS0tLQogICAgICAgIHN0cgogICAgICAgICAgICBzdWJmb2xkZXI6ICcnIGlmIHRhcmdldCBhcmNoaXRlY3R1cmUgaXMgY3VycmVudCBhcmNoaXRlY3R1cmUsCiAgICAgICAgICAgICdcY3VycmVudF90YXJnZXQnIGlmIG5vdC4KICAgICAgICByIwAAAHIaAAAA+gFcegRcJXNfKQRyUAAAAHJMAAAAclcAAAByRwAAACkDckgAAADaCGZvcmNleDg22gdjdXJyZW50chcAAAByFwAAAHIYAAAA2gljcm9zc19kaXI+AQAAcwgAAAAAEA4CDgES/noWUGxhdGZvcm1JbmZvLmNyb3NzX2Rpck4pAkZGKQJG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aXN1YWwgQysrIHJ1bnRpbWUgcmVkaXN0cmlidXRhYmxlIGRsbC4KCiAgICAgICAgUmV0dXJuCiAgICAgICAgLS0tLS0tCiAgICAgICAgc3RyCiAgICAgICAgICAgIHBhdGgKICAgICAgICB6EHZjcnVudGltZSVkMC5kbGxUcuEAAAByWAAAAHoGXFRvb2xzegdcUmVkaXN0cjwAAABaB29uZWNvcmVaBnJlZGlzdHoSTWljcm9zb2Z0LlZDJWQuQ1JU6QoAAABOKRByggAAAHJhAAAAclcAAADaBXN0cmlwctMAAABynwAAAHIIAAAAckcAAAByBwAAAHIFAAAAcgMAAADaA2ludHKBAAAA2glpdGVydG9vbHPaB3Byb2R1Y3RyBgAAACkKckgAAABaCXZjcnVudGltZXLbAAAA2ghwcmVmaXhlc1oKdG9vbHNfcGF0aFoLcmVkaXN0X3BhdGhaCGNydF9kaXJzcs4AAABaB2NydF9kaXJynQAAAHIXAAAAchcAAAByGAAAANoPVkNSdW50aW1lUmVkaXN0AwYAAHMgAAAAAAoKARQDBAEIARABCAISARICEAMMAhD+BAUUAQ4BCAF6H0Vudmlyb25tZW50SW5mby5WQ1J1bnRpbWVSZWRpc3RUYwIAAAAAAAAAAAAAAAMAAAAQAAAAQwAAAHOyAAAAdAB8AKABZAF8AGoCfABqA3wAagR8AGoFZwR8AaEDfACgAWQCfABqBnwAagd8AGoIfABqCXwAagpnBXwBoQN8AKABZAN8AGoGfABqCHwAagt8AGoMZwR8AaEDfACgAWQEfABqDXwAag58AGoPfABqEHwAahF8AGoIfABqEnwAahN8AGoUZwl8AaEDZAWNBH0CfABqFWQGawVyrnQWfABqF4MBcq58AGoXfAJkBzwAfAJTACkIetsKICAgICAgICBSZXR1cm4gZW52aXJvbm1lbnQgZGljdC4KCiAgICAgICAgUGFyYW1ldGVycwogICAgICAgIC0tLS0tLS0tLS0KICAgICAgICBleGlzdHM6IGJvb2wKICAgICAgICAgICAgSXQgVHJ1ZSwgb25seSByZXR1cm4gZXhpc3RpbmcgcGF0aHMuCgogICAgICAgIFJldHVybgogICAgICAgIC0tLS0tLQogICAgICAgIGRpY3QKICAgICAgICAgICAgZW52aXJvbm1lbnQKICAgICAgICBy7AAAAHKmAAAAcvEAAABynQAAACkEcuwAAABypgAAAHLxAAAAcp0AAADpDgAAAFoTcHlfdmNydW50aW1lX3JlZGlzdCkY2gRkaWN02gxfYnVpbGRfcGF0aHNy3wAAAHLvAAAAcggBAAByAAEAAHLkAAAAcusAAABy/gAAAHIHAQAAcv8AAABy5QAAAHLyAAAAcukAAABy3AAAAHIBAQAAcvUAAABy+wAAAHIEAQAAcgUBAAByCQEAAHKBAAAAcgYAAAByEAEAACkDckgAAADaBmV4aXN0c9oDZW52chcAAAByFwAAAHIYAAAAcioAAAAmBgAAc1YAAAAADgIBBgEEAQQBBAEE/QIEAvsCBgYBBAEEAQQBBAEE/AIFAvoCBwYBBAEEAQQBBP0CBAL7AgYGAQQBBAEEAQQBBAEEAQQBBAEE+AIJAvYC7AYgFAEKAXoaRW52aXJvbm1lbnRJbmZvLnJldHVybl9lbnZjBAAAAAAAAAAAAAAACgAAAAQAAABDAAAAc3AAAAB0AGoBoAJ8AqEBfQR0A6AEfAFkAaECoAV0BqEBfQV0AKABfAR8BaECfQZ8A3I8dAd0CHQJfAaDAoMBbgJ8Bn0HfAdzXGQCfAGgCqEAFgB9CHQLagygDXwIoQGCAXwAoA58B6EBfQl0BqAPfAmhAVMAKQNhQwIAAAogICAgICAgIEdpdmVuIGFuIGVudmlyb25tZW50IHZhcmlhYmxlIG5hbWUgYW5kIHNwZWNpZmllZCBwYXRocywKICAgICAgICByZXR1cm4gYSBwYXRoc2VwLXNlcGFyYXRlZCBzdHJpbmcgb2YgcGF0aHMgY29udGFpbmluZwogICAgICAgIHVuaXF1ZSwgZXh0YW50LCBkaXJlY3RvcmllcyBmcm9tIHRob3NlIHBhdGhzIGFuZCBmcm9tCiAgICAgICAgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlLiBSYWlzZSBhbiBlcnJvciBpZiBubyBwYXRocwogICAgICAgIGFyZSByZXNvbHZlZC4KCiAgICAgICAgUGFyYW1ldGVycwogICAgICAgIC0tLS0tLS0tLS0KICAgICAgICBuYW1lOiBzdHIKICAgICAgICAgICAgRW52aXJvbm1lbnQgdmFyaWFibGUgbmFtZQogICAgICAgIHNwZWNfcGF0aF9saXN0czogbGlzdCBvZiBzdHIKICAgICAgICAgICAgUGF0aHMKICAgICAgICBleGlzdHM6IGJvb2wKICAgICAgICAgICAgSXQgVHJ1ZSwgb25seSByZXR1cm4gZXhpc3RpbmcgcGF0aHMuCgogICAgICAgIFJldHVybgogICAgICAgIC0tLS0tLQogICAgICAgIHN0cgogICAgICAgICAgICBQYXRoc2VwLXNlcGFyYXRlZCBwYXRocwogICAgICAgIHIaAAAAeiAlcyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBlbXB0eSkQcg0BAADaBWNoYWlu2g1mcm9tX2l0ZXJhYmxlcg8AAAByXQAAAHKWAAAAcgQAAABy8wAAANoGZmlsdGVycgcAAADaBXVwcGVyciUAAAByJgAAAHInAAAA2hBfdW5pcXVlX2V2ZXJzZWVucgUAAAApCnJIAAAAcnUAAABaD3NwZWNfcGF0aF9saXN0c3IUAQAAWgpzcGVjX3BhdGhzWgllbnZfcGF0aHNy2gAAAFoMZXh0YW50X3BhdGhzcp4AAABaDHVuaXF1ZV9wYXRoc3IXAAAAchcAAAByGAAAAHITAQAAWAYAAHMSAAAAABcMARIBDAEWAQQBDAEMAQoBehxFbnZpcm9ubWVudEluZm8uX2J1aWxkX3BhdGhzYwIAAAAAAAAAAAAAAAYAAAADAAAAYwAAAHNiAAAAdACDAH0CfAJqAX0DfAFkAXUAcjZ0AnwCagN8AIMCRABdEn0EfAN8BIMBAQB8BFYAAQBxIG4ofABEAF0ifQR8AXwEgwF9BXwFfAJ2AXI6fAN8BYMBAQB8BFYAAQBxOmQBUwApAnrXCiAgICAgICAgTGlzdCB1bmlxdWUgZWxlbWVudHMsIHByZXNlcnZpbmcgb3JkZXIuCiAgICAgICAgUmVtZW1iZXIgYWxsIGVsZW1lbnRzIGV2ZXIgc2Vlbi4KCiAgICAgICAgX3VuaXF1ZV9ldmVyc2VlbignQUFBQUJCQkNDREFBQkJCJykgLS0+IEEgQiBDIEQKCiAgICAgICAgX3VuaXF1ZV9ldmVyc2VlbignQUJCQ2NBRCcsIHN0ci5sb3dlcikgLS0+IEEgQiBDIEQKICAgICAgICBOKQRyhAAAANoDYWRkcgoAAADaDF9fY29udGFpbnNfXykG2ghpdGVyYWJsZXIgAAAA2gRzZWVuWghzZWVuX2FkZNoHZWxlbWVudNoBa3IXAAAAchcAAAByGAAAAHIaAQAAegYAAHMWAAAAAAoGAQYBCAEQAQgBCgIIAQgBCAEIAXogRW52aXJvbm1lbnRJbmZvLl91bmlxdWVfZXZlcnNlZW4pAk5yAQAAACkBVCkBTikjchAAAAByEQAAAHISAAAAclwAAABySQAAAHJeAAAAcoEAAAByggAAAHLcAAAAct8AAABy5AAAAHLlAAAAcukAAABy6wAAAHLvAAAAcvIAAABy9QAAAHL0AAAAcuoAAABy+wAAAHL+AAAAcv8AAAByAAEAAHIBAQAAcgQBAAByBQEAAHIHAQAAcggBAAByBgEAAHIJAQAAchABAAByKgAAAHITAQAActIAAAByGgEAAHIXAAAAchcAAAByFwAAAHIYAAAAcikAAAAYBAAAc24AAAAIAQQXCgkCAQoLAgEKCwIBChMCAQoMAgEKFAIBCg0CAQokAgEKEwIBChcCAQogAgEKCwgjAgEKDAIBCg4CAQocAgEKDwIBCg4CAQoLAgEKGwIBCg4CAQoRAgEKDwIBCgwCAQoOAgEKIgoyCCICAXIpAAAAKQFyIwAAACkBchoAAAApKnJcAAAAcpAAAADaAmlvcgIAAADaAm9zcgMAAAByBAAAANoHb3MucGF0aHIFAAAAcgYAAAByBwAAAHIIAAAAcjUAAADaCHBsYXRmb3Jtcg0BAADaEGRpc3R1dGlscy5lcnJvcnNyJQAAAFojc2V0dXB0b29scy5leHRlcm4ucGFja2FnaW5nLnZlcnNpb25yCQAAAFobc2V0dXB0b29scy5leHRlcm4uc2l4Lm1vdmVzcgoAAABaBm1vbmtleXIMAAAA2gZzeXN0ZW1yDgAAAHIPAAAAchIBAADaC0ltcG9ydEVycm9yciYAAAByJwAAAFoWX21zdmM5X3N1cHByZXNzX2Vycm9yc1oXZGlzdHV0aWxzLm1zdmM5Y29tcGlsZXJyGQAAAHIeAAAAciQAAAByNAAAAHI5AAAAcisAAAByRAAAAHJfAAAAcnoAAAByKQAAAHIXAAAAchcAAAByFwAAAHIYAAAA2gg8bW9kdWxlPgEAAABzSgAAAAQVCAEMARABGAEIAQgBCAEIAQwCDAIMAgwBDAEOBA4GBgQCBAb6BAkCARABDAEGAwgqCiYIIAgNCiQOcw5/ADUOfwB/AH8AfwAT