IiBNZW51IFRyYW5zbGF0aW9uczoJU2xvdmVuaWFuIC8gU2xvdmVuc2tvCiIgTWFpbnRhaW5lcjoJCU1vamNhIE1pa2xhdmVjIDxtb2pjYS5taWtsYXZlYy5saXN0c0BnbWFpbC5jb20+CiIgT3JpZ2luYWxseSBCeToJTW9qY2EgTWlrbGF2ZWMgPG1vamNhLm1pa2xhdmVjLmxpc3RzQGdtYWlsLmNvbT4KIiBMYXN0IENoYW5nZToJCVNhdCwgMTcgSnVuIDIwMDYKIiB2aW06c2V0IGZvbGRtZXRob2Q9bWFya2VyIHRhYnN0b3A9ODoKCiIgVE9ETzogYWRkL2NoZWNrIGFsbCAnJidzCgoiIFF1aXQgd2hlbiBtZW51IHRyYW5zbGF0aW9ucyBoYXZlIGFscmVhZHkgYmVlbiBkb25lLgppZiBleGlzdHMoImRpZF9tZW51X3RyYW5zIikKICBmaW5pc2gKZW5kaWYKbGV0IGRpZF9tZW51X3RyYW5zID0gMQoKc2NyaXB0ZW5jb2RpbmcgY3AxMjUwCgoiIHt7eyBGSUxFIC8gREFUT1RFS0EKbWVudXRyYW5zICZGaWxlCQkJCSZEYXRvdGVrYQptZW51dHJhbnMgJk9wZW5cLlwuXC48VGFiPjplCQkmT2RwcmlcIFwuXC5cLjxUYWI+OmUKbWVudXRyYW5zIFNwJmxpdC1PcGVuXC5cLlwuPFRhYj46c3AJT2RwcmlcIGRlJmxqZW5vXCBcLlwuXC48VGFiPjpzcAptZW51dHJhbnMgT3BlblwgVGFiXC5cLlwuPFRhYj46dGFibmV3CU9kcHJpXCB2XCB6YXZpJmhrdVwgXC5cLlwuPFRhYj46dGFibmV3Cm1lbnV0cmFucyAmTmV3PFRhYj46ZW5ldwkJJk5vdmE8VGFiPjplbmV3Cm1lbnV0cmFucyAmQ2xvc2U8VGFiPjpjbG9zZQkJJlphcHJpPFRhYj46Y2xvc2UKbWVudXRyYW5zICZTYXZlPFRhYj46dwkJCSZTaHJhbmk8VGFiPjp3Cm1lbnV0cmFucyBTYXZlXCAmQXNcLlwuXC48VGFiPjpzYXYJU2hyYW5pXCAma290XCBcLlwuXC48VGFiPjpzYXYKbWVudXRyYW5zICZQcmludAkJCU5hJnRpc25pCm1lbnV0cmFucyBTYSZ2ZS1FeGl0PFRhYj46d3FhCQlTaHJhbmlcIGluXCAma29u6GFqPFRhYj46d3FhCm1lbnV0cmFucyBFJnhpdDxUYWI+OnFhCQkJJkl6aG9kPFRhYj46cWEKCmlmIGhhcygiZGlmZiIpCiAgICBtZW51dHJhbnMgU3BsaXRcICZEaWZmXCB3aXRoXC5cLlwuCVByaW1lcmphalwgelwgKGRpJmZmKVwgXC5cLlwuCiAgICBtZW51dHJhbnMgU3BsaXRcIFBhdGNoZWRcICZCeVwuXC5cLgkmUG9wcmF2aVwgelwgKHBhdGNoKVwgXC5cLlwuCmVuZGlmCiIgfX19IEZJTEUgLyBEQVRPVEVLQQoKIiB7e3sgRURJVCAvIFVSRURJCm1lbnV0cmFucyAmRWRpdAkJCQkmVXJlZGkKbWVudXRyYW5zICZVbmRvPFRhYj51CQkJJlJhenZlbGphdmk8VGFiPnUKbWVudXRyYW5zICZSZWRvPFRhYj5eUgkJCSZPYm5vdmk8VGFiPl5SCm1lbnV0cmFucyBSZXAmZWF0PFRhYj5cLgkJUG8mbm92aTxUYWI+XC4KbWVudXRyYW5zIEN1JnQ8VGFiPiIreAkJCSZJenJlnmk8VGFiPiIreAptZW51dHJhbnMgJkNvcHk8VGFiPiIreQkJCSZLb3BpcmFqPFRhYj4iK3kKbWVudXRyYW5zICZQYXN0ZTxUYWI+IitnUAkJJlByaWxlcGk8VGFiPiIrZ1AKbWVudXRyYW5zIFB1dFwgJkJlZm9yZTxUYWI+W3AJCVZyaW5pXCBwcmVkPFRhYj5bcAptZW51dHJhbnMgUHV0XCAmQWZ0ZXI8VGFiPl1wCQlWcmluaVwgemE8VGFiPl1wCm1lbnV0cmFucyAmRGVsZXRlPFRhYj54CQkJSXomYnJpmmk8VGFiPngKbWVudXRyYW5zICZTZWxlY3RcIGFsbDxUYWI+Z2dWRwkJSXpiZXJpXCB2c2U8VGFiPmdnVkcKbWVudXRyYW5zICZGaW5kXC5cLlwuCQkJUG8maZroaVwgXC5cLlwuCm1lbnV0cmFucyBGaW5kXCBhbmRcIFJlcCZsYWNlXC5cLlwuCVBvaZroaVwgaW5cICZ6YW1lbmphalwgXC5cLlwuCgoiIFstLSBTRVRUSU5HUyAtLV0KbWVudXRyYW5zIFNldHRpbmdzXCAmV2luZG93CQkJCU5hc3Rhdml0dmVcIFwuXC5cLgptZW51dHJhbnMgU3RhcnR1cFwgJlNldHRpbmdzCQkJCVph6GV0bmVcIG5hc3Rhdml0dmUKbWVudXRyYW5zICZHbG9iYWxcIFNldHRpbmdzCQkJCSZHbG9iYWxuZVwgbmFzdGF2aXR2ZQoKbWVudXRyYW5zIFRvZ2dsZVwgUGF0dGVyblwgJkhpZ2hsaWdodDxUYWI+OnNldFwgaGxzIQlWa2xqdehpL2l6a2xqdehpXCBwb3VkYXJqYW5qZVwgaXNrYW5lZ2FcIG5pemE8VGFiPjpzZXRcIGhscyEKbWVudXRyYW5zIFRvZ2dsZVwgJklnbm9yZS1jYXNlPFRhYj46c2V0XCBpYyEJCVZrbGp16GkvaXprbGp16GlcIGxv6GV2YW5qZVwgdmVsaWtpaFwgaW5cIG1hbGloXCDocms8VGFiPjpzZXRcIGljIQptZW51dHJhbnMgVG9nZ2xlXCAmU2hvd21hdGNoPFRhYj46c2V0XCBzbSEJCVZrbGp16GkvaXprbGp16GlcIGtyYXRla1wgc2tva1wgbmFcIHByaXBhZGFqb+hpXCBva2xlcGFqPFRhYj46c2V0XCBzbSEKCm1lbnV0cmFucyAmQ29udGV4dFwgbGluZXMJCQkJinRcLlwgdmlkbmloXCB2cnN0aWNcIHByZWQvemFcIGt1cnpvcmplbQoKbWVudXRyYW5zICZWaXJ0dWFsXCBFZGl0CQkJCURvdm9saVwgcG9sb55halwga2F6YWzoa2EsXCBramVyXCBuaVwgYmVzZWRpbGEKbWVudXRyYW5zIE5ldmVyCQkJCQkJTmlrb2xpCm1lbnV0cmFucyBCbG9ja1wgU2VsZWN0aW9uCQkJCUxlXCBtZWRcIGl6YmlyYW5qZW1cIGJsb2thCm1lbnV0cmFucyBJbnNlcnRcIG1vZGUJCQkJCUxlXCB2XCBuYehpbnVcIHphXCBwaXNhbmplCm1lbnV0cmFucyBCbG9ja1wgYW5kXCBJbnNlcnQJCQkJUHJpXCBvYm9qZW0KbWVudXRyYW5zIEFsd2F5cwkJCQkJVmVkbm8KbWVudXRyYW5zIFRvZ2dsZVwgSW5zZXJ0XCAmTW9kZTxUYWI+OnNldFwgaW0hCQlWa2xqdehpL2l6a2xqdehpXCBuYehpblwgemFcIHBpc2FuamU8VGFiPjpzZXRcIGltIQptZW51dHJhbnMgVG9nZ2xlXCBWaVwgQyZvbXBhdGlibGU8VGFiPjpzZXRcIGNwIQkJVmtsanXoaS9pemtsanXoaVwgemRydZ5saml2b3N0XCB6XCBWaS1qZW08VGFiPjpzZXRcIGNwIQoKbWVudXRyYW5zIFNlYXJjaFwgJlBhdGhcLlwuXC4JCQkJUG90XCB6YVwgaXNrYW5qZVwgXC5cLlwuCm1lbnV0cmFucyBUYSZnXCBGaWxlc1wuXC5cLgkJCQlUYSZnLWRhdG90ZWtlXC5cLlwuCgptZW51dHJhbnMgVG9nZ2xlXCAmVG9vbGJhcgkJCQlQb2thnmkvc2tyaWpcIE9yb2RqYQptZW51dHJhbnMgVG9nZ2xlXCAmQm90dG9tXCBTY3JvbGxiYXIJCQlQb2thnmkvc2tyaWpcIHNwb2RuamlcIGRyc25pawptZW51dHJhbnMgVG9nZ2xlXCAmTGVmdFwgU2Nyb2xsYmFyCQkJUG9rYZ5pL3NrcmlqXCBsZXZpXCBkcnNuaWsKbWVudXRyYW5zIFRvZ2dsZVwgJlJpZ2h0XCBTY3JvbGxiYXIJCQlQb2thnmkvc2tyaWpcIGRlc25pXCBkcnNuaWsKCiIgRWRpdC9GaWxlIFNldHRpbmdzCm1lbnV0cmFucyBGJmlsZVwgU2V0dGluZ3MJCQkJJk5hc3Rhdml0dmVcIGRhdG90ZWtlCgoiIEJvb2xlYW4gb3B0aW9ucwptZW51dHJhbnMgVG9nZ2xlXCBMaW5lXCAmTnVtYmVyaW5nPFRhYj46c2V0XCBudSEJUG9rYZ5pL3NrcmlqXCCadGV2aWxrZVwgdnJzdGljPFRhYj46c2V0XCBudSEKbWVudXRyYW5zIFRvZ2dsZVwgJkxpc3RcIE1vZGU8VGFiPjpzZXRcIGxpc3QhCQlQb2thnmkvc2tyaWpcIG5ldmlkbmVcIHpuYWtlPFRhYj46c2V0XCBsaXN0ISAiIHNwYWNlL3RhYgptZW51dHJhbnMgVG9nZ2xlXCBMaW5lXCAmV3JhcDxUYWI+OnNldFwgd3JhcCEJCVZrbGp16GkvaXprbGp16GlcIHByZWxvbWVcIHZyc3RpYzxUYWI+OnNldFwgd3JhcCEKbWVudXRyYW5zIFRvZ2dsZVwgVyZyYXBcIGF0XCB3b3JkPFRhYj46c2V0XCBsYnIhCVZrbGp16GkvaXprbGp16GlcIHByZWxvbWVcIHZyc3RpY1wgbWVkXCBiZXNlZGFtaTxUYWI+OnNldFwgbGJyIQptZW51dHJhbnMgVG9nZ2xlXCAmZXhwYW5kLXRhYjxUYWI+OnNldFwgZXQhCQlWa2xqdehpL2l6a2xqdehpXCB6YW1lbmphdm9cIHRhYnVsYXRvcmpldlwgc1wgcHJlc2xlZGtpPFRhYj46c2V0XCBldCEKbWVudXRyYW5zIFRvZ2dsZVwgJmF1dG8taW5kZW50PFRhYj46c2V0XCBhaSEJCVZrbGp16GkvaXprbGp16GlcIGF2dG9tYXRza29cIHphbWlrYW5qZVwgdnJzdGljPFRhYj46c2V0XCBhaSEKbWVudXRyYW5zIFRvZ2dsZVwgJkMtaW5kZW50aW5nPFRhYj46c2V0XCBjaW4hCQlWa2xqdehpL2l6a2xqdehpXCBDLWpldnNraVwgbmHoaW5cIHphbWlrYW5qYVwgdnJzdGljPFRhYj46c2V0XCBjaW4hCgoiIG90aGVyIG9wdGlvbnMKbWVudXRyYW5zICZTaGlmdHdpZHRoCQkJCQmKaXJpbmFcIHphbWlrYVwgdnJzdGljCm1lbnV0cmFucyBTb2Z0XCAmVGFic3RvcAkJCQmKaXJpbmFcICZ0YWJ1bGF0b3JqYQptZW51dHJhbnMgVGUmeHRcIFdpZHRoXC5cLlwuCQkJCYppcmluYVwgYmVzZWRpbGFcIFwuXC5cLgptZW51dHJhbnMgJkZpbGVcIEZvcm1hdFwuXC5cLgkJCQlGb3JtYXRcICZkYXRvdGVrZVwgXC5cLlwuCm1lbnV0cmFucyBDJm9sb3JcIFNjaGVtZQkJCQkmQmFydm5hXCBzaGVtYVwgXC5cLlwuCm1lbnV0cmFucyAmS2V5bWFwCQkJCQkmS2V5bWFwCm1lbnV0cmFucyBTZWxlY3RcIEZvJm50XC5cLlwuCQkJCVBpc2F2YVwgXC5cLlwuCiIgfX19IEVESVQgLyBVUkVESQoKIiB7e3sgIFRPT0xTIC8gT1JPREpBCm1lbnV0cmFucyAmVG9vbHMJCQkJCSZPcm9kamEKbWVudXRyYW5zICZKdW1wXCB0b1wgdGhpc1wgdGFnPFRhYj5nXl0JCQkmU2tv6GlcIGtcIHRlalwgem5h6GtpPFRhYj5nXl0KbWVudXRyYW5zIEp1bXBcICZiYWNrPFRhYj5eVAkJCQlTa2/oaVwgTmEmemFqPFRhYj5eVAptZW51dHJhbnMgQnVpbGRcICZUYWdzXCBGaWxlCQkJCU5hcHJhdmlcIGRhdG90ZWtlXCB6XCB6bmHoa2FtaVwgKHRhZykKaWYgaGFzKCJzcGVsbCIpCiAgICBtZW51dHJhbnMgJlNwZWxsaW5nCQkJCQnIcmtvdmFsbmlrCiAgICBtZW51dHJhbnMgJlNwZWxsXCBDaGVja1wgT24JCQkJJlZrbGp16GkKICAgIG1lbnV0cmFucyBTcGVsbFwgQ2hlY2tcICZPZmYJCQkmSXprbGp16GkKICAgIG1lbnV0cmFucyBUb1wgJk5leHRcIGVycm9yPFRhYj5dcwkJCUtcICZuYXNsZWRuamlcIG5hcGFraTxUYWI+XXMKICAgIG1lbnV0cmFucyBUb1wgJlByZXZpb3VzXCBlcnJvcjxUYWI+W3MJCUtcICZwcmVqmm5qaVwgbmFwYWtpPFRhYj5bcwogICAgbWVudXRyYW5zIFN1Z2dlc3RcICZDb3JyZWN0aW9uczxUYWI+ej0JCVByZWRsYWdhalwgcG9wcmF2ZWs8VGFiPno9CiAgICBtZW51dHJhbnMgJlJlcGVhdFwgY29ycmVjdGlvbjxUYWI+OnNwZWxscmVwYWxsCVBvJm5vdmlcIHBvcHJhdmtlXCBuYVwgdnNlaFwgYmVzZWRhaDxUYWI+OnNwZWxscmVwYWxsCiAgICBtZW51dHJhbnMgU2V0XCBsYW5ndWFnZVwgdG9cICJlbiIJCQlBbmdsZZpraVwgImVuIgogICAgbWVudXRyYW5zIFNldFwgbGFuZ3VhZ2VcIHRvXCAiZW5fYXUiCQlBbmdsZZpraVwgImVuX2F1IgogICAgbWVudXRyYW5zIFNldFwgbGFuZ3VhZ2VcIHRvXCAiZW5fY2EiCQlBbmdsZZpraVwgImVuX2NhIgogICAgbWVudXRyYW5zIFNldFwgbGFuZ3VhZ2VcIHRvXCAiZW5fZ2IiCQlBbmdsZZpraVwgImVuX2diIgogICAgbWVudXRyYW5zIFNldFwgbGFuZ3VhZ2VcIHRvXCAiZW5fbnoiCQlBbmdsZZpraVwgImVuX256IgogICAgbWVudXRyYW5zIFNldFwgbGFuZ3VhZ2VcIHRvXCAiZW5fdXMiCQlBbmdsZZpraVwgImVuX3VzIgogICAgbWVudXRyYW5zIFNldFwgbGFuZ3VhZ2VcIHRvXCAic2wiCQkJU2xvdmVuc2tpXCAic2wiCiAgICBtZW51dHJhbnMgU2V0XCBsYW5ndWFnZVwgdG9cICJkZSIJCQlOZW2aa2lcICJkZSIKICAgIG1lbnV0cmFucyBTZXRcIGxhbmd1YWdlXCB0b1wgCQkJyHJrb3ZhbG5pazpcCiAgICBtZW51dHJhbnMgJkZpbmRcIE1vcmVcIExhbmd1YWdlcwkJCSZPc3RhbGlcIGplemlraQplbmRpZgppZiBoYXMoImZvbGRpbmciKQogIG1lbnV0cmFucyAmRm9sZGluZwkJCQkJWnZpamFuamVcIGtvZGUKICAiIG9wZW4gY2xvc2UgZm9sZHMKICBtZW51dHJhbnMgJkVuYWJsZS9EaXNhYmxlXCBmb2xkczxUYWI+emkJCU9tb2dv6Gkvb25lbW9nb+hpXCB6dmlqYW5qZTxUYWI+emkgIiBPbW9nb+hpL29uZW1vZ2/oaVwgemF2aWhrZQogIG1lbnV0cmFucyAmVmlld1wgQ3Vyc29yXCBMaW5lPFRhYj56dgkJCVBva2GeaVwgdnJzdGljb1wgc1wga2F6YWzoa29tPFRhYj56diAiIGtqZXIgamUga2F6YWxlYwogIG1lbnV0cmFucyBWaWUmd1wgQ3Vyc29yXCBMaW5lXCBvbmx5PFRhYj56TXp4CQlQb2thnmlcIHNhbW9cIHZyc3RpY29cIHNcIGthemFs6GtvbTxUYWI+ek16eAogIG1lbnV0cmFucyBDJmxvc2VcIG1vcmVcIGZvbGRzPFRhYj56bQkJCVp2aWpcIG5hc2xlZG5qaVwgbml2bzxUYWI+em0gIiBaYXByaVwgdmXoXCB6YXZpaGtvdgogIG1lbnV0cmFucyAmQ2xvc2VcIGFsbFwgZm9sZHM8VGFiPnpNCQkJWnZpalwgdnNvXCBrb2RvPFRhYj56TSAiIFphcHJpXCB2c2VcIHphdmloa2UKICBtZW51dHJhbnMgTyZwZW5cIG1vcmVcIGZvbGRzPFRhYj56cgkJCVJhenZpalwgZW5cIG5pdm88VGFiPnpyICIgT2RwcmlcIHZl6FwgemF2aWhrb3YKICBtZW51dHJhbnMgJk9wZW5cIGFsbFwgZm9sZHM8VGFiPnpSCQkJUmF6dmlqXCB2c29cIGtvZG88VGFiPnpSICIgT2RwcmlcIHZzZVwgemF2aWhrZQogICIgZm9sZCBtZXRob2QKICBtZW51dHJhbnMgRm9sZFwgTWV0JmhvZAkJCQlLcml0ZXJpalwgemFcIHp2aWphbmplICIgVXN0dmFyamFuamVcIHphdmloa292CiAgbWVudXRyYW5zIE0mYW51YWwJCQkJCSZSb+hubwogIG1lbnV0cmFucyBJJm5kZW50CQkJCQlHbGVkZVwgbmFcICZwb3Jhdm5hdm8KICBtZW51dHJhbnMgRSZ4cHJlc3Npb24JCQkJCVpcICZpenJhemlcIChmb2xkZXhwcikKICBtZW51dHJhbnMgUyZ5bnRheAkJCQkJR2xlZGVcIG5hXCAmc2ludGFrc28KICBtZW51dHJhbnMgJkRpZmYJCQkJCVJhemxpa2VcICgmZGlmZikKICBtZW51dHJhbnMgTWEmcmtlcgkJCQkJWlwgJm1hcmtlcmppL296bmHoYmFtaQogICIgY3JlYXRlIGFuZCBkZWxldGUgZm9sZHMKICAiIFRPRE8gYWNjZWxlcmF0b3JzCiAgbWVudXRyYW5zIENyZWF0ZVwgJkZvbGQ8VGFiPnpmCQkJVXN0dmFyaVwgenZpdGVrPFRhYj56ZgogIG1lbnV0cmFucyAmRGVsZXRlXCBGb2xkPFRhYj56ZAkJCUl6YnJpmmlcIHp2aXRlazxUYWI+emQKICBtZW51dHJhbnMgRGVsZXRlXCAmQWxsXCBGb2xkczxUYWI+ekQJCQlJemJyaZppXCB2c2VcIHp2aXRrZTxUYWI+ekQKICAiIG1vdmluZyBhcm91bmQgaW4gZm9sZHMKICBtZW51dHJhbnMgRm9sZFwgY29sdW1uXCAmd2lkdGgJCQmKaXJpbmFcIGRyZXZlc2FcIHpcIHp2aXRraQplbmRpZiAgIiBoYXMgZm9sZGluZwoKaWYgaGFzKCJkaWZmIikKICBtZW51dHJhbnMgJkRpZmYJCQkJCVJhemxpa2VcICgmRGlmZikKICBtZW51dHJhbnMgJlVwZGF0ZQkJCQkJJlBvc29kb2JpPFRhYj4KICBtZW51dHJhbnMgJkdldFwgQmxvY2sJCQkJCSZTcHJlam1pXCAoc3ByZW1lbmlcIHRvXCBva25vKSAiIFhYWDogY2hlY2sgaWYgdHJhbnNsYXRpb24gaXMgT0sKICBtZW51dHJhbnMgJlB1dFwgQmxvY2sJCQkJCSZQb5psamlcIChzcHJlbWVuaVwgZHJ1Z29cIG9rbm8pCmVuZGlmCgptZW51dHJhbnMgJk1ha2U8VGFiPjptYWtlCQkJCU5hcHJhdmlcICgmbWFrZSk8VGFiPjptYWtlCm1lbnV0cmFucyAmTGlzdFwgRXJyb3JzPFRhYj46Y2wJCQkJUG9rYZ5pXCBuYXBha2U8VGFiPjpjbAptZW51dHJhbnMgTCZpc3RcIE1lc3NhZ2VzPFRhYj46Y2whCQkJUG9rYZ5pXCBzcG9yb+hpbGE8VGFiPjpjbCEKbWVudXRyYW5zICZOZXh0XCBFcnJvcjxUYWI+OmNuCQkJCUtcICZuYXNsZWRuamlcIG5hcGFraTxUYWI+OmNuCm1lbnV0cmFucyAmUHJldmlvdXNcIEVycm9yPFRhYj46Y3AJCQlLXCAmcHJlappuamlcIG5hcGFraTxUYWI+OmNwCm1lbnV0cmFucyAmT2xkZXJcIExpc3Q8VGFiPjpjb2xkCQkJS1wgJnN0YXJlapplbXVcIHNlem5hbXVcIG5hcGFrPFRhYj46Y29sZAptZW51dHJhbnMgTiZld2VyXCBMaXN0PFRhYj46Y25ldwkJCUtcICZub3ZlapplbXVcIHNlem5hbXVcIG5hcGFrPFRhYj46Y25ldwoKbWVudXRyYW5zIEVycm9yXCAmV2luZG93CQkJCU9rbm9cIHpcIG5hcGFrYW1pCm1lbnV0cmFucyAmVXBkYXRlPFRhYj46Y3dpbgkJCQkmUG9zb2RvYmk8VGFiPjpjd2luCm1lbnV0cmFucyAmT3BlbjxUYWI+OmNvcGVuCQkJCSZPZHByaTxUYWI+OmNvcGVuCm1lbnV0cmFucyAmQ2xvc2U8VGFiPjpjY2xvc2UJCQkJJlphcHJpPFRhYj46Y2Nsb3NlCgptZW51dHJhbnMgJlNldFwgQ29tcGlsZXIJCQkJTmFzdGF2aVwgJnByZXZhamFsbmlrCm1lbnV0cmFucyBTZSZUXCBDb21waWxlcgkJCQlOYXN0YXZpXCAmcHJldmFqYWxuaWsgIiBidWcgaW4gb3JpZ2luYWwgdHJhbnNsYXRpb24/CgptZW51dHJhbnMgJkNvbnZlcnRcIHRvXCBIRVg8VGFiPjolIXh4ZAkJCVByZXR2b3JpXCB2XCBIRSZYPFRhYj46JSF4eGQKbWVudXRyYW5zIENvbnZlJnJ0XCBiYWNrPFRhYj46JSF4eGRcIC1yCQkJUHJldHZvcmlcIG5hemFqPFRhYj46JSF4eGRcIC1yCiIgfX19ICBUT09MUyAvIE9ST0RKQQoKIiB7e3sgU1lOVEFYIC8gQkFSVkFOSkUgS09ERQptZW51dHJhbnMgJlN5bnRheAkJCQkmQmFydmFuamVcIGtvZGUKbWVudXRyYW5zICZTaG93XCBmaWxldHlwZXNcIGluXCBtZW51CQlQb2RwcnRlXCB2cnN0ZVwgZGF0b3RlawptZW51dHJhbnMgU2V0XCAnJnN5bnRheCdcIG9ubHkJCQlTYW1vXCBiYXJ2YW5qZVwgKCcmc3ludGF4JykKbWVudXRyYW5zIFNldFwgJyZmaWxldHlwZSdcIHRvbwkJCVR1ZGlcIG9ibmGaYW5qZVwgKCcmZmlsZXR5cGUnKQptZW51dHJhbnMgJk9mZgkJCQkJJkl6a2xqdehlbm8KbWVudXRyYW5zICZNYW51YWwJCQkJJlJv6G5vCm1lbnV0cmFucyBBJnV0b21hdGljCQkJCSZBdnRvbWF0c2tvCm1lbnV0cmFucyBvbi9vZmZcIGZvclwgJlRoaXNcIGZpbGUJCVZrbGp16GkvaXprbGp16GlcIHphXCB0b1wgZGF0b3Rla28KbWVudXRyYW5zIENvJmxvclwgdGVzdAkJCQlQcmVpemt1c1wgYmFydgptZW51dHJhbnMgJkhpZ2hsaWdodFwgdGVzdAkJCVByZWl6a3VzXCBiYXJ2YW5qYVwga29kZQptZW51dHJhbnMgJkNvbnZlcnRcIHRvXCBIVE1MCQkJUHJldHZvcmlcIHZcICZIVE1MCiIgfX19IFNZTlRBWCAvIEJBUlZBTkpFIEtPREUKCiIge3t7IEJVRkZFUlMgLyBNRURQT01OSUxOSUsKbWVudXRyYW5zICZCdWZmZXJzCQkJCQkmTWVkcG9tbmlsbmlrICIgWFhYOiBuaSBuYWpib2xqZTogb2tubyBiaSBib2xqIHByaXN0YWphbG8sIGFtcGFrIG9rbm8gamUgnmUKbWVudXRyYW5zICZSZWZyZXNoXCBtZW51CQkJCSZPc3ZlnmkKbWVudXRyYW5zIERlbGV0ZQkJCQkJJkJyaZppCm1lbnV0cmFucyAmQWx0ZXJuYXRlCQkJCQkmTWVuamFqCm1lbnV0cmFucyAmTmV4dAkJCQkJCSZOYXNsZWRuamkKbWVudXRyYW5zICZQcmV2aW91cwkJCQkJJlByZWqabmppCm1lbnV0cmFucyBbTm9cIEZpbGVdCQkJCQlbQnJlelwgZGF0b3Rla2VdCiIgfX19IEJVRkZFUlMgLyBNRURQT01OSUxOSUsKCiIge3t7IFdJTkRPVyAvIE9LTk8KbWVudXRyYW5zICZXaW5kb3cJCQkmT2tubwptZW51dHJhbnMgJk5ldzxUYWI+XlduCQkJJk5vdm88VGFiPl5XbgptZW51dHJhbnMgUyZwbGl0PFRhYj5eV3MJCVJhemRlbGk8VGFiPl5XcwptZW51dHJhbnMgU3BsaXRcICZWZXJ0aWNhbGx5PFRhYj5eV3YJUmF6ZGVsaVwgbmF2cGnobm88VGFiPl5XcwptZW51dHJhbnMgU3BsaXRcIEZpbGVcIEUmeHBsb3JlcglSYXpkZWxpOlwgVnNlYmluYVwgbWFwZQptZW51dHJhbnMgU3AmbGl0XCBUb1wgIzxUYWI+XldeXglSYXpkZWxpXCB2XCAjPFRhYj5eV15eCm1lbnV0cmFucyAmQ2xvc2U8VGFiPl5XYwkJJlphcHJpPFRhYj5eV2MKbWVudXRyYW5zIENsb3NlXCAmT3RoZXIocyk8VGFiPl5XbwlaYXByaVwgJm9zdGFsYTxUYWI+XldvCm1lbnV0cmFucyBNb3ZlXCAmVG8JCQlQcmVtYWtuaQptZW51dHJhbnMgJlRvcDxUYWI+XldLCQkJJkdvcjxUYWI+XldLCm1lbnV0cmFucyAmQm90dG9tPFRhYj5eV0oJCSZEb2w8VGFiPl5XSgptZW51dHJhbnMgJkxlZnRcIHNpZGU8VGFiPl5XSAkJJkxldm88VGFiPl5XSAptZW51dHJhbnMgJlJpZ2h0XCBzaWRlPFRhYj5eV0wJCSZEZXNubzxUYWI+XldMCm1lbnV0cmFucyBSb3RhdGVcICZVcDxUYWI+XldSCQlaYXZydGlcIG5hdnpnb3I8VGFiPl5XUgptZW51dHJhbnMgUm90YXRlXCAmRG93bjxUYWI+XldyCQlaYXZydGlcIG5hdnpkb2w8VGFiPl5XcgptZW51dHJhbnMgJkVxdWFsXCBTaXplPFRhYj5eVz0JCSZFbmFrYVwgdmVsaWtvc3Q8VGFiPl5XPQptZW51dHJhbnMgJk1heFwgSGVpZ2h0PFRhYj5eV18JCU5hanZpmmplPFRhYj5eV18KbWVudXRyYW5zIE0maW5cIEhlaWdodDxUYWI+XlcxXwkJTmFqbmmeamU8VGFiPl5XMV8KbWVudXRyYW5zIE1heFwgJldpZHRoPFRhYj5eV1x8CQlOYWqaaXKaZTxUYWI+XldcfAptZW51dHJhbnMgTWluXCBXaWR0Jmg8VGFiPl5XMVx8CQlOYWpvnmplPFRhYj5eVzFcfAoiIH19fSBXSU5ET1cgLyBPS05PCgoiIHt7eyBIRUxQIC8gUE9NT8gKbWVudXRyYW5zICZIZWxwCQkJJlBvbW/oCm1lbnV0cmFucyAmT3ZlcnZpZXc8VGFiPjxGMT4JSGl0cmlcIHByZWdsZWQ8VGFiPjxGMT4KbWVudXRyYW5zICZVc2VyXCBNYW51YWwJCVAmcmlyb+huaWsKbWVudXRyYW5zICZIb3ctdG9cIGxpbmtzCSZIb3ctdG9cIGthemFsbwptZW51dHJhbnMgJkZpbmRcLlwuXC4JCVBvJmma6GlcIFwuXC5cLgkiIGNvbmZsaWN0cyB3aXRoIEVkaXQuRmluZAptZW51dHJhbnMgJkNyZWRpdHMJCSZBdnRvcmppCm1lbnV0cmFucyBDbyZweWluZwkJJkxpY2VuY2EKbWVudXRyYW5zICZTcG9uc29yL1JlZ2lzdGVyCVJlZ2lzdHJhY2lqYVwgaW5cICZkb25hY2lqZQptZW51dHJhbnMgTyZycGhhbnMJCSZTaXJvdGFtCm1lbnV0cmFucyAmVmVyc2lvbgkJJlZlcnppamEKbWVudXRyYW5zICZBYm91dAkJJk9cIHByb2dyYW11CiIgfX19IEhFTFAgLyBQT01PyAoKIiB7e3sgUE9QVVAKbWVudXRyYW5zICZVbmRvCQkJCSZSYXp2ZWxqYXZpCm1lbnV0cmFucyBDdSZ0CQkJCSZJenJlnmkKbWVudXRyYW5zICZDb3B5CQkJCSZLb3BpZXJhagptZW51dHJhbnMgJlBhc3RlCQkJJlByaWxlcGkKbWVudXRyYW5zICZEZWxldGUJCQkmWmJyaZppCm1lbnV0cmFucyBTZWxlY3RcIEJsb2Nrd2lzZQkJSXpiaXJhalwgcG9cIGJsb2tpaAptZW51dHJhbnMgU2VsZWN0XCAmV29yZAkJCUl6YmVyaVwgJmJlc2VkbwptZW51dHJhbnMgU2VsZWN0XCAmU2VudGVuY2UJCUl6YmVyaVwgJnN0YXZlawptZW51dHJhbnMgU2VsZWN0XCBQYSZyYWdyYXBoCQlJemJlcmlcICZvZHN0YXZlawptZW51dHJhbnMgU2VsZWN0XCAmTGluZQkJCUl6YmVyaVwgdnJzJnRpY28KbWVudXRyYW5zIFNlbGVjdFwgJkJsb2NrCQlJemJlcmlcIGImbG9rCm1lbnV0cmFucyAmU2VsZWN0XCBBbGw8VGFiPmdnVkcJCUl6YmVyaVwgJnZzZTxUYWI+Z2dWRwoiIH19fSBQT1BVUAoKIiB7e3sgVE9PTEJBUgppZiBoYXMoInRvb2xiYXIiKQogIGlmIGV4aXN0cygiKkRvX3Rvb2xiYXJfdG1lbnUiKQogICAgZGVsZnVuIERvX3Rvb2xiYXJfdG1lbnUKICBlbmRpZgogIGZ1biBEb190b29sYmFyX3RtZW51KCkKICAgIHRtZW51IFRvb2xCYXIuT3BlbgkJT2RwcmkgZGF0b3Rla28KICAgIHRtZW51IFRvb2xCYXIuU2F2ZQkJU2hyYW5pIGRhdG90ZWtvCiAgICB0bWVudSBUb29sQmFyLlNhdmVBbGwJU2hyYW5pIHZzZSBkYXRvdGVrZQogICAgdG1lbnUgVG9vbEJhci5QcmludAkJTmF0aXNuaQogICAgdG1lbnUgVG9vbEJhci5VbmRvCQlSYXp2ZWxqYXZpCiAgICB0bWVudSBUb29sQmFyLlJlZG8JCU9ibm92aQogICAgdG1lbnUgVG9vbEJhci5DdXQJCUl6cmWeaQogICAgdG1lbnUgVG9vbEJhci5Db3B5CQlLb3BpcmFqCiAgICB0bWVudSBUb29sQmFyLlBhc3RlCQlQcmlsZXBpCiAgICB0bWVudSBUb29sQmFyLkZpbmQJCU5hamRpIC4uLgogICAgdG1lbnUgVG9vbEJhci5GaW5kTmV4dAlOYWpkaSBuYXNsZWRuamUKICAgIHRtZW51IFRvb2xCYXIuRmluZFByZXYJTmFqZGkgcHJlappuamUKICAgIHRtZW51IFRvb2xCYXIuUmVwbGFjZQlOYWpkaSBpbiB6YW1lbmphaiAuLi4KICAgIHRtZW51IFRvb2xCYXIuTG9hZFNlc24JTmFsb55pIHNlam8KICAgIHRtZW51IFRvb2xCYXIuU2F2ZVNlc24JU2hyYW5pIHRyZW51dG5vIHNlam8KICAgIHRtZW51IFRvb2xCYXIuUnVuU2NyaXB0CUl6YmVyaSBWaW0gc2tyaXB0byB6YSBpenZhamFuamUKICAgIHRtZW51IFRvb2xCYXIuTWFrZQkJTmFwcmF2aSB0cmVudXRuaSBwcm9qZWt0ICg6bWFrZSkKICAgIHRtZW51IFRvb2xCYXIuUnVuQ3RhZ3MJTmFwcmF2aSB6bmHoa2UgdiB0cmVudXRuZW0gZGlyZWt0b3JpanUgKCFjdGFncyAtUi4pCiAgICB0bWVudSBUb29sQmFyLlRhZ0p1bXAJU2tv6GkgayB6bmHoa2kgcG9kIGt1cnpvcmplbQogICAgdG1lbnUgVG9vbEJhci5IZWxwCQlQb21v6CB6YSBWaW0KICAgIHRtZW51IFRvb2xCYXIuRmluZEhlbHAJSZroaSB2IHBvbW/oaSB6YSBWaW0KICBlbmRmdW4KZW5kaWYKIiB9fX0gVE9PTEJBUgoKIiB7e3sgRElBTE9HIFRFWFRTCmxldCBnOm1lbnV0cmFuc19ub19maWxlID0gIltCcmV6IGRhdG90ZWtlXSIKbGV0IGc6bWVudXRyYW5zX2hlbHBfZGlhbG9nID0gIlZuZXNpdGUgdWtheiBhbGkgYmVzZWRvLCB6YSBrYXRlcm8gnmVsaXRlIHBvbW/oOlxuXG5VcG9yYWJpdGUgcHJlZHBvbm8gaV8gemEgdWthemUgdiBuYehpbnUgemEgcGlzYW5qZSAobnByLjogaV9DVFJMLVgpXG5VcG9yYWJpdGUgcHJlZHBvbm8gY18gemEgdWthemUgdiB1a2F6bmkgdnJzdGljaSAoY29tbWFuZC1saW5lKSAobnByLjogY188RGVsPilcblVwb3JhYml0ZSBwcmVkcG9ubyAnIHphIGltZW5hIG9wY2lqIChucHIuOiAnc2hpZnR3aWR0aCcpIgpsZXQgZzptZW51dHJhbnNfcGF0aF9kaWFsb2cgPSAiVm5lc2l0ZSBwb3RpIHphIGlza2FuamUgZGF0b3Rlay5cbkltZW5hIGRpcmVrdG9yaWpldiBsb+hpdGUgeiB2ZWppY28uIgpsZXQgZzptZW51dHJhbnNfdGFnc19kaWFsb2cgPSAiVm5lc2l0ZSBpbWVuYSBkYXRvdGVrIHogem5h6GthbWkgKCd0YWcnKS5cbkltYW5hIGxv6Gl0ZSB6IHZlamljYW1pLiIKbGV0IGc6bWVudXRyYW5zX3RleHR3aWR0aF9kaWFsb2cgPSAiVm5lc2l0ZSBub3ZvIJppcmlubyBiZXNlZGlsYSAoYWxpIDAgemEgaXprbG9wIGZvcm1hdGlyYW5qYSk6ICIKbGV0IGc6bWVudXRyYW5zX2ZpbGVmb3JtYXRfZGlhbG9nID0gIkl6YmVyaXRlIGZvcm1hdCBkYXRvdGVrZSIKbGV0IGc6bWVudXRyYW5zX2ZpbGVmb3JtYXRfY2hvaWNlcyA9ICImVW5peFxuJkRvc1xuJk1hY1xuJlByZWtsaehpIgoiIH19fQo=