IiBNZW51IFRyYW5zbGF0aW9uczoJR2VybWFuIC8gRGV1dHNjaAoiIE1haW50YWluZXI6CQlHZW9yZyBEYWhuIDxnb3JneWRAeWFob28uY28udWs+CiIgT3JpZ2luYWxseSBCeToJTWFyY2luIERhbGVja2kgPGRhbGVja2lAY3MubmV0LnBsPgoiICAgICAgICAgICAgCQlKb2hhbm5lcyBaZWxsbmVyIDxqb2hhbm5lc0B6ZWxsbmVyLm9yZz4KIiBMYXN0IENoYW5nZToJU2F0LCAxMSBNYXIgMjAwNiAyMjo0MDowMCBDRVNUCiIgdmltOnNldCBmb2xkbWV0aG9kPW1hcmtlciB0YWJzdG9wPTg6CgoiIFF1aXQgd2hlbiBtZW51IHRyYW5zbGF0aW9ucyBoYXZlIGFscmVhZHkgYmVlbiBkb25lLgppZiBleGlzdHMoImRpZF9tZW51X3RyYW5zIikKICBmaW5pc2gKZW5kaWYKbGV0IGRpZF9tZW51X3RyYW5zID0gMQoKIiBUaGUgdHJhbnNsYXRpb25zIGJlbG93IGFyZSBpbiBsYXRpbjEsIGJ1dCB0aGV5IHdvcmsgZm9yIGNwMTI1MiBhbmQKIiBpc28tODg1OS0xNSB3aXRob3V0IGNvbnZlcnNpb24gYXMgd2VsbC4KaWYgJmVuYyAhPSAiY3AxMjUyIiAmJiAmZW5jICE9ICJpc28tODg1OS0xNSIKICBzY3JpcHRlbmNvZGluZyBsYXRpbjEKZW5kaWYKCiIge3t7IEZJTEUgLyBEQVRFSQptZW51dHJhbnMgJkZpbGUJCQkJJkRhdGVpCm1lbnV0cmFucyAmT3BlblwuXC5cLjxUYWI+OmUJCSbWZmZuZW5cLlwuXC48VGFiPjplCm1lbnV0cmFucyBTcCZsaXQtT3BlblwuXC5cLjxUYWI+OnNwCUluXCBnZXRlaWx0ZW1cICZGZW5zdGVyXCDWZmZuZW5cLlwuXC48VGFiPjpzcAptZW51dHJhbnMgT3BlblwgVGFiXC5cLlwuPFRhYj46dGFibmV3CUluXCBuZXVlbVwgJlRhYlwg1mZmbmVuXC5cLlwuPFRhYj46dGFibmV3Cm1lbnV0cmFucyAmTmV3PFRhYj46ZW5ldwkJJk5ldWVcIERhdGVpPFRhYj46ZW5ldwptZW51dHJhbnMgJkNsb3NlPFRhYj46Y2xvc2UJCVMmY2hsaWXfZW48VGFiPjpjbG9zZQptZW51dHJhbnMgJlNhdmU8VGFiPjp3CQkJJlNwZWljaGVybjxUYWI+OncKbWVudXRyYW5zIFNhdmVcICZBc1wuXC5cLjxUYWI+OnNhdglTcGVpY2hlcm5cICZBbHNcLlwuXC48VGFiPjpzYXYKbWVudXRyYW5zICZQcmludAkJCSZEcnVja2VuCm1lbnV0cmFucyBTYSZ2ZS1FeGl0PFRhYj46d3FhCQlTcGVpY2hlcm5cIHVuZFwgQmUmZW5kZW48VGFiPjp3cWEKbWVudXRyYW5zIEUmeGl0PFRhYj46cWEJCQkmQmVlbmRlbjxUYWI+OnFhCgppZiBoYXMoImRpZmYiKQogICAgbWVudXRyYW5zIFNwbGl0XCAmRGlmZlwgd2l0aFwuXC5cLglEJmlmZmVyZW56XCBpblwgZ2V0ZWlsdGVtXCBGZW5zdGVyXCBtaXRcLlwuXC4KICAgIG1lbnV0cmFucyBTcGxpdFwgUGF0Y2hlZFwgJkJ5XC5cLlwuCSZQYXRjaFwgaW5cIGdldGVpbHRlbVwgRmVuc3RlclwgbWl0XC5cLlwuCmVuZGlmCiIgfX19IEZJTEUgLyBEQVRFSQoKIiB7e3sgRURJVCAvIEVESVRJRVJFTgptZW51dHJhbnMgJkVkaXQJCQkJJkVkaXRpZXJlbgptZW51dHJhbnMgJlVuZG88VGFiPnUJCQlaJnVy/GNrPFRhYj51Cm1lbnV0cmFucyAmUmVkbzxUYWI+XlIJCQlWbyZyPFRhYj5eUgptZW51dHJhbnMgUmVwJmVhdDxUYWI+XC4JCSZXaWVkZXJob2xlbjxUYWI+XC4KbWVudXRyYW5zIEN1JnQ8VGFiPiIreAkJCSZBdXNzY2huZWlkZW48VGFiPiIreAptZW51dHJhbnMgJkNvcHk8VGFiPiIreQkJCSZLb3BpZXJlbjxUYWI+Iit5Cm1lbnV0cmFucyAmUGFzdGU8VGFiPiIrZ1AJCUVpbiZm/GdlbjxUYWI+IitnUAptZW51dHJhbnMgUHV0XCAmQmVmb3JlPFRhYj5bcAkJRGEmdm9yXCBFaW5m/GdlbjxUYWI+W3AKbWVudXRyYW5zIFB1dFwgJkFmdGVyPFRhYj5dcAkJRGEmbmFjaFwgRWluZvxnZW48VGFiPl1wCm1lbnV0cmFucyAmRGVsZXRlPFRhYj54IAkJJkz2c2NoZW48VGFiPngKbWVudXRyYW5zICZTZWxlY3RcIEFsbDxUYWI+Z2dWRwkJQWxsZXNcICZNYXJraWVyZW48VGFiPmdnVkcKbWVudXRyYW5zICZGaW5kXC5cLlwuCQkJJlN1Y2hlblwuXC5cLgptZW51dHJhbnMgRmluZFwgYW5kXCBSZXAmbGFjZVwuXC5cLglTdWNoZW5cIHVuZFwgJkVyc2V0emVuXC5cLlwuCgoiIFstLSBTRVRUSU5HUyAtLV0KIiBYWFggJkUgd291bGQgY29uZmxpY3Qgd2l0aCAnU3VjaGVuXCB1bmRcICZFcnNldHplbicsIHNlZSBhYm92ZQptZW51dHJhbnMgU2V0dGluZ3NcICZXaW5kb3cJCQkJRSZpbnN0ZWxsdW5nZW5cLlwuXC4KbWVudXRyYW5zICZHbG9iYWxcIFNldHRpbmdzCQkJCSZHbG9iYWxlXCBFaW5zdGVsbHVuZ2VuCgptZW51dHJhbnMgVG9nZ2xlXCBQYXR0ZXJuXCAmSGlnaGxpZ2h0PFRhYj46c2V0XCBobHMhCSZIZXJ2b3JoZWJ1bmdlblwgZWluLVwgdW5kXCBhdXNzY2hhbHRlbjxUYWI+OnNldFwgaGxzIQptZW51dHJhbnMgVG9nZ2xlXCAmSWdub3JlLWNhc2U8VGFiPjpzZXRcIGljIQkJR3Jv33NjaHJlaWJ1bmdcICZpZ25vcmllcmVuXCBvZGVyXCBiZW51dHplbjxUYWI+OnNldFwgaWMhCm1lbnV0cmFucyBUb2dnbGVcICZTaG93bWF0Y2g8VGFiPjpzZXRcIHNtIQkJQW56ZWlnZVwgZGVzXCBwYXNzZW5kZW5cICZTeW1ib2xzXCBlaW4tXCB1bmRcIGF1c3NjaGFsdGVuPFRhYj46c2V0XCBzbSEKCm1lbnV0cmFucyAmQ29udGV4dFwgbGluZXMJCQkJJlp1c2FtbWVuaGFuZwoKbWVudXRyYW5zICZWaXJ0dWFsXCBFZGl0CQkJCSZWaXJ0dWVsbGVyXCBFZGl0aWVyLU1vZHVzCm1lbnV0cmFucyBOZXZlcgkJCQkJCU5pZQptZW51dHJhbnMgQmxvY2tcIFNlbGVjdGlvbgkJCQlCbG9jay1BdXN3YWhsCm1lbnV0cmFucyBJbnNlcnRcIG1vZGUJCQkJCUVpbmb8Z2UtTW9kdXMKbWVudXRyYW5zIEJsb2NrXCBhbmRcIEluc2VydAkJCQlCbG9jay1cIHVuZFwgRWluZvxnZS1Nb2R1cwptZW51dHJhbnMgQWx3YXlzCQkJCQlJbW1lcgptZW51dHJhbnMgVG9nZ2xlXCBJbnNlcnRcICZNb2RlPFRhYj46c2V0XCBpbSEJCUVpbmb8Z2UtJk1vZHVzXCBlaW4tXCB1bmRcIGF1c3NjaGFsdGVuPFRhYj46c2V0XCBpbSEKbWVudXRyYW5zIFRvZ2dsZVwgVmlcIEMmb21wYXRpYmxlPFRhYj46c2V0XCBjcCEJCVZpLUtvbXBhdGliaWxpdOR0XCBlaW4tXCB1bmRcIGF1c3NjaGFsdGVuPFRhYj46c2V0XCBjcCEKCm1lbnV0cmFucyBTZWFyY2hcICZQYXRoXC5cLlwuCQkJCVN1Y2gtJlBmYWRcLlwuXC4KbWVudXRyYW5zIFRhJmdcIEZpbGVzXC5cLlwuCQkJCVRhJmctRGF0ZWllblwuXC5cLgoKbWVudXRyYW5zIFRvZ2dsZVwgJlRvb2xiYXIJCQkJV2Vya3pldWdsZWlzdGVcIGVpbi1cIHVuZFwgYXVzc2NoYWx0ZW4KbWVudXRyYW5zIFRvZ2dsZVwgJkJvdHRvbVwgU2Nyb2xsYmFyCQkJVW50ZXJlblwgUm9sbGJhbGtlblwgZWluLVwgdW5kXCBhdXNzY2hhbHRlbgptZW51dHJhbnMgVG9nZ2xlXCAmTGVmdFwgU2Nyb2xsYmFyCQkJTGlua2VuXCBSb2xsYmFsa2VuXCBlaW4tXCB1bmRcIGF1c3NjaGFsdGVuCm1lbnV0cmFucyBUb2dnbGVcICZSaWdodFwgU2Nyb2xsYmFyCQkJUmVjaHRlblwgUm9sbGJhbGtlblwgZWluLVwgdW5kXCBhdXNzY2hhbHRlbgoKIiBFZGl0L0ZpbGUgU2V0dGluZ3MKbWVudXRyYW5zIEYmaWxlXCBTZXR0aW5ncwkJCQkmRGF0ZWktRWluc3RlbGx1bmdlbgoKIiBCb29sZWFuIG9wdGlvbnMKbWVudXRyYW5zIFRvZ2dsZVwgTGluZVwgJk51bWJlcmluZzxUYWI+OnNldFwgbnUhCUFuemVpZ2VcIGRlclwgWmVpbGVuJm51bW1lclwgZWluLVwgdW5kXCBhdXNzY2hhbHRlbjxUYWI+OnNldFwgbnUhCm1lbnV0cmFucyBUb2dnbGVcICZMaXN0XCBNb2RlPFRhYj46c2V0XCBsaXN0IQkJJkxpc3QtTW9kdXNcIGVpbi1cIHVuZFwgYXVzc2NoYWx0ZW48VGFiPjpzZXRcIGxpc3QhCm1lbnV0cmFucyBUb2dnbGVcIExpbmVcICZXcmFwPFRhYj46c2V0XCB3cmFwIQkJJlplaWxlbnVtYnJ1Y2hcIGVpbi1cIHVuZFwgYXVzc2NoYWx0ZW48VGFiPjpzZXRcIHdyYXAhCm1lbnV0cmFucyBUb2dnbGVcIFcmcmFwXCBhdFwgd29yZDxUYWI+OnNldFwgbGJyIQlVbWJydWNoXCBhblwgJldvcnRncmVuemVuXCBlaW4tXCB1bmRcIGF1c3NjaGFsdGVuPFRhYj46c2V0XCBsYnIhCm1lbnV0cmFucyBUb2dnbGVcICZleHBhbmQtdGFiPFRhYj46c2V0XCBldCEJCSZFcndlaXRlcnVuZ1wgdm9uXCBUYWJ1bGF0b3JlblwgZWluLVwgdW5kXCBhdXNzY2hhbHRlbjxUYWI+OnNldFwgZXQhCm1lbnV0cmFucyBUb2dnbGVcICZhdXRvLWluZGVudDxUYWI+OnNldFwgYWkhCQkmQXV0b21hdGlzY2hlXCBFaW5y/GNrdW5nXCBlaW4tXCB1bmRcIGF1c3NjaGFsdGVuPFRhYj46c2V0XCBhaSEKbWVudXRyYW5zIFRvZ2dsZVwgJkMtaW5kZW50aW5nPFRhYj46c2V0XCBjaW4hCQkmQy1FaW5y/GNrdW5nXCBlaW4tXCB1bmRcIGF1c3NjaGFsdGVuPFRhYj46c2V0XCBjaW4hCgoiIG90aGVyIG9wdGlvbnMKbWVudXRyYW5zICZTaGlmdHdpZHRoCQkJCQkmU2NoaWViZXdlaXRlCm1lbnV0cmFucyBTb2Z0XCAmVGFic3RvcAkJCQkmVGFidWxhdG9yCm1lbnV0cmFucyBUZSZ4dFwgV2lkdGhcLlwuXC4JCQkJVGUmeHRcIEJyZWl0ZVwuXC5cLgptZW51dHJhbnMgJkZpbGVcIEZvcm1hdFwuXC5cLgkJCQkmRGF0ZWlcIEZvcm1hdFwuXC5cLgptZW51dHJhbnMgQyZvbG9yXCBTY2hlbWUJCQkJRiZhcmJzY2hlbWFcLlwuXC4KbWVudXRyYW5zICZLZXltYXAJCQkJCSZUYXN0YXR1ci1CZWxlZ3VuZwoiIH19fSBFRElUIC8gRURJVElFUkVOCgoiIHt7eyAgVE9PTFMgLyBXRVJLWkVVR0UKaWYgaGFzKCJzcGVsbCIpCiAgICBtZW51dHJhbnMgJlNwZWxsaW5nCQkJCQkmUmVjaHRzY2hyZWlicHL8ZnVuZwogICAgbWVudXRyYW5zICZTcGVsbFwgQ2hlY2tcIE9uCQkJCSZSZWNodHNjaHJlaWJwcvxmdW5nXCBBbgogICAgbWVudXRyYW5zIFNwZWxsXCBDaGVja1wgJk9mZgkJCVJlY2h0c2NocmVpYnBy/GZ1bmdcICZBdXMKICAgIG1lbnV0cmFucyBUb1wgJk5leHRcIGVycm9yPFRhYj5dcwkJCVp1bVwgJk7kY2hzdGVuXCBGZWhsZXI8VGFiPl1zCiAgICBtZW51dHJhbnMgVG9cICZQcmV2aW91c1wgZXJyb3I8VGFiPltzCQladW1cICZMZXR6dGVuXCBGZWhsZXI8VGFiPltzCiAgICBtZW51dHJhbnMgU3VnZ2VzdFwgJkNvcnJlY3Rpb25zPFRhYj56PQkJJktvcnJla3R1cnZvcnNjaGzkZ2U8VGFiPno9CiAgICBtZW51dHJhbnMgJlJlcGVhdFwgY29ycmVjdGlvbjxUYWI+OnNwZWxscmVwYWxsCSZXaWVkZXJob2xlXCBLb3JyZWt0dXI8VGFiPjpzcGVsbHJlcGFsbAogICAgbWVudXRyYW5zIFNldFwgbGFuZ3VhZ2VcIHRvXCAiZW4iCQkJVmVyd2VuZGVcIFf2cnRlcmJ1Y2hcICJlbiIKICAgIG1lbnV0cmFucyBTZXRcIGxhbmd1YWdlXCB0b1wgImVuX2F1IgkJVmVyd2VuZGVcIFf2cnRlcmJ1Y2hcICJlbl9hdSIKICAgIG1lbnV0cmFucyBTZXRcIGxhbmd1YWdlXCB0b1wgImVuX2NhIgkJVmVyd2VuZGVcIFf2cnRlcmJ1Y2hcICJlbl9jYSIKICAgIG1lbnV0cmFucyBTZXRcIGxhbmd1YWdlXCB0b1wgImVuX2diIgkJVmVyd2VuZGVcIFf2cnRlcmJ1Y2hcICJlbl9nYiIKICAgIG1lbnV0cmFucyBTZXRcIGxhbmd1YWdlXCB0b1wgImVuX256IgkJVmVyd2VuZGVcIFf2cnRlcmJ1Y2hcICJlbl9ueiIKICAgIG1lbnV0cmFucyBTZXRcIGxhbmd1YWdlXCB0b1wgImVuX3VzIgkJVmVyd2VuZGVcIFf2cnRlcmJ1Y2hcICJlbl91cyIKICAgIG1lbnV0cmFucyBTZXRcIGxhbmd1YWdlXCB0b1wgImRlIiAgIAkJVmVyd2VuZGVcIFf2cnRlcmJ1Y2hcICJkZSIKICAgIG1lbnV0cmFucyAmRmluZFwgTW9yZVwgTGFuZ3VhZ2VzCQkJJlN1Y2hlXCBuYWNoXCBX9nJ0ZXJi/GNoZXJuCmVuZGlmCmlmIGhhcygiZm9sZGluZyIpCiAgbWVudXRyYW5zICZGb2xkaW5nCQkJCQlGYSZsdHVuZwogICIgb3BlbiBjbG9zZSBmb2xkcwogIG1lbnV0cmFucyAmRW5hYmxlL0Rpc2FibGVcIGZvbGRzPFRhYj56aQkJJkVpbi1cIHVuZFwgYXVzc2NoYWx0ZW48VGFiPnppCiAgbWVudXRyYW5zICZWaWV3XCBDdXJzb3JcIExpbmU8VGFiPnp2CQkJTW9tZW50YW5lXCAmUG9zaXRpb25cIGFuemVpZ2VuPFRhYj56dgogIG1lbnV0cmFucyBWaWUmd1wgQ3Vyc29yXCBMaW5lXCBvbmx5PFRhYj56TXp4CQkmQXVzc2NobGll32xpY2hcIG1vbWVudGFuZVwgUG9zaXRpb25cIGFuemVpZ2VuPFRhYj56TXp4CiAgbWVudXRyYW5zIEMmbG9zZVwgbW9yZVwgZm9sZHM8VGFiPnptCQkJRmFsdHVuZ2VuXCAmc2NobGll32VuPFRhYj56bQogIG1lbnV0cmFucyAmQ2xvc2VcIGFsbFwgZm9sZHM8VGFiPnpNCQkJQWxsZVwgRmFsdHVuZ2VuXCBzY2hsaWXfZW48VGFiPnpNCiAgbWVudXRyYW5zIE8mcGVuXCBtb3JlXCBmb2xkczxUYWI+enIJCQlGYWx0dW5nZW5cICb2ZmZuZW48VGFiPnpyCiAgbWVudXRyYW5zICZPcGVuXCBhbGxcIGZvbGRzPFRhYj56UgkJCUFsbGVcIEZhbHR1bmdlblwg9mZmbmVuPFRhYj56UgogICIgZm9sZCBtZXRob2QKICBtZW51dHJhbnMgRm9sZFwgTWV0JmhvZAkJCQlGYWx0dW5ncy0mTWV0aG9kZQogIG1lbnV0cmFucyBNJmFudWFsCQkJCQkmTWFudWVsbAogIG1lbnV0cmFucyBJJm5kZW50CQkJCQkmRWlucvxja3VuZ2VuCiAgbWVudXRyYW5zIEUmeHByZXNzaW9uCQkJCQkmQXVzZHJ1Y2sKICBtZW51dHJhbnMgUyZ5bnRheAkJCQkJJlN5bnRheAogIG1lbnV0cmFucyAmRGlmZgkJCQkJJkRpZmZlcmVuegogIG1lbnV0cmFucyBNYSZya2VyCQkJCQlNYSZya2llcnVuZ2VuCiAgIiBjcmVhdGUgYW5kIGRlbGV0ZSBmb2xkcwogICIgVE9ETyBhY2NlbGVyYXRvcnMKICBtZW51dHJhbnMgQ3JlYXRlXCAmRm9sZDxUYWI+emYJCQlGYWx0dW5nXCBFcnpldWdlbjxUYWI+emYKICBtZW51dHJhbnMgJkRlbGV0ZVwgRm9sZDxUYWI+emQJCQlGYWx0dW5nXCBM9nNjaGVuPFRhYj56ZAogIG1lbnV0cmFucyBEZWxldGVcICZBbGxcIEZvbGRzPFRhYj56RAkJCUFsbGVcIEZhbHR1bmdlblwgTPZzY2hlbjxUYWI+ekQKICAiIG1vdmluZyBhcm91bmQgaW4gZm9sZHMKICBtZW51dHJhbnMgRm9sZFwgY29sdW1uXCAmd2lkdGgJCQkmQnJlaXRlXCBkZXJcIEZhbHR1bmdzLVNwYWx0ZQplbmRpZiAgIiBoYXMgZm9sZGluZwoKaWYgaGFzKCJkaWZmIikKICBtZW51dHJhbnMgJkRpZmYJCQkJCSZEaWZmZXJlbnoKICBtZW51dHJhbnMgJlVwZGF0ZQkJCQkJJkFrdHVhbGlzaWVyZW4KICBtZW51dHJhbnMgJkdldFwgQmxvY2sJCQkJCUJsb2NrXCAmRWluZvxnZW4KICBtZW51dHJhbnMgJlB1dFwgQmxvY2sJCQkJCUJsb2NrXCAm3GJlcnRyYWdlbgplbmRpZgoKbWVudXRyYW5zICZUb29scwkJCQkJJldlcmt6ZXVnZQptZW51dHJhbnMgJkp1bXBcIHRvXCB0aGlzXCB0YWc8VGFiPmdeXQkJCSZTcHJpbmdlXCB6dW1cIFRhZzxUYWI+Z15dCm1lbnV0cmFucyBKdW1wXCAmYmFjazxUYWI+XlQJCQkJU3ByaW5nZVwgJlp1cvxjazxUYWI+XlQKbWVudXRyYW5zIEJ1aWxkXCAmVGFnc1wgRmlsZQkJCQlFcnN0ZWxsZVwgJlRhZ3NcIERhdGVpCm1lbnV0cmFucyAmTWFrZTxUYWI+Om1ha2UJCQkJJkVyc3RlbGxlbjxUYWI+Om1ha2UKbWVudXRyYW5zICZMaXN0XCBFcnJvcnM8VGFiPjpjbAkJCQkmRmVobGVyXCBBbnplaWdlbjxUYWI+OmNsCm1lbnV0cmFucyBMJmlzdFwgTWVzc2FnZXM8VGFiPjpjbCEJCQkmSGlud2Vpc2VcIEFuemVpZ2VuPFRhYj46Y2whCm1lbnV0cmFucyAmTmV4dFwgRXJyb3I8VGFiPjpjbgkJCQladW1cICZO5GNoc3RlblwgRmVobGVyPFRhYj46Y24KbWVudXRyYW5zICZQcmV2aW91c1wgRXJyb3I8VGFiPjpjcAkJCVp1bVwgJlZvcmhlcmlnZW5cIEZlaGxlcjxUYWI+OmNwCm1lbnV0cmFucyAmT2xkZXJcIExpc3Q8VGFiPjpjb2xkCQkJJsRsdGVyZVwgTGlzdGU8VGFiPjpjb2xkCm1lbnV0cmFucyBOJmV3ZXJcIExpc3Q8VGFiPjpjbmV3CQkJJk5ldWVyZVwgTGlzdGU8VGFiPjpjbmV3CgptZW51dHJhbnMgRXJyb3JcICZXaW5kb3cJCQkJRmVoJmxlci1GZW5zdGVyCm1lbnV0cmFucyBTZSZ0XCBDb21waWxlcgkJCQkmQ29tcGlsZXIKbWVudXRyYW5zIFNlJlRcIENvbXBpbGVyCQkJCSZDb21waWxlcgptZW51dHJhbnMgJlVwZGF0ZTxUYWI+OmN3aW4JCQkJJkFrdHVhbGlzaWVyZW48VGFiPjpjd2luCm1lbnV0cmFucyAmT3BlbjxUYWI+OmNvcGVuCQkJCSbWZmZuZW48VGFiPjpjb3BlbgptZW51dHJhbnMgJkNsb3NlPFRhYj46Y2Nsb3NlCQkJCSZTY2hsaWXfZW48VGFiPjpjY2xvc2UKCm1lbnV0cmFucyAmQ29udmVydFwgdG9cIEhFWDxUYWI+OiUheHhkCQkJTmFjaFwgSEUmWFwga29udmVydGllcmVuPFRhYj46JSF4eGQKbWVudXRyYW5zIENvbnZlJnJ0XCBiYWNrPFRhYj46JSF4eGRcIC1yCQkJWnVy/GNrXCBrb252ZXJ0aWVyZW48VGFiPjolIXh4ZFwgLXIKIiB9fX0gIFRPT0xTIC8gV0VSS1pFVUdFCgoiIHt7eyBTWU5UQVggLyBTWU5UQVgKbWVudXRyYW5zICZTeW50YXgJCQkJJlN5bnRheAptZW51dHJhbnMgJlNob3dcIGZpbGV0eXBlc1wgaW5cIG1lbnUJCURhdGVpdHlwZW5cIGFuJnplaWdlbgptZW51dHJhbnMgU2V0XCAnJnN5bnRheCdcIG9ubHkJCQlOdXJcICcmc3ludGF4J1wgU2V0emVuCm1lbnV0cmFucyBTZXRcICcmZmlsZXR5cGUnXCB0b28JCQlBdWNoXCAnJmZpbGV0eXBlJ1wgU2V0emVuCm1lbnV0cmFucyAmT2ZmCQkJCQkmQXVzCm1lbnV0cmFucyAmTWFudWFsCQkJCSZNYW51ZWxsCm1lbnV0cmFucyBBJnV0b21hdGljCQkJCUEmdXRvbWF0aXNjaAptZW51dHJhbnMgb24vb2ZmXCBmb3JcICZUaGlzXCBmaWxlCQlBbi9BdXMgKGRpZXNlXCAmRGF0ZWkpCm1lbnV0cmFucyBDbyZsb3JcIHRlc3QJCQkJVGVzdFwgZGVyXCBGYXJiZW4KbWVudXRyYW5zICZIaWdobGlnaHRcIHRlc3QJCQlUZXN0XCBkZXJcIFVuJnRlcnN0cmVpY2h1bmdlbgptZW51dHJhbnMgJkNvbnZlcnRcIHRvXCBIVE1MCQkJS29udmVydGllcmVuXCBuYWNoXCAmSFRNTAoiIH19fSBTWU5UQVggLyBTWU5UQVgKCiIge3t7IEJVRkZFUlMgLyBQVUZGRVIKbWVudXRyYW5zICZCdWZmZXJzCQkJCQkmUHVmZmVyCm1lbnV0cmFucyAmUmVmcmVzaFwgbWVudQkJCQkmQWt0dWFsaXNpZXJlbgptZW51dHJhbnMgRGVsZXRlCQkJCQlM9nNjaGVuCm1lbnV0cmFucyAmQWx0ZXJuYXRlCQkJCQkmV2VjaHNlbG4KbWVudXRyYW5zICZOZXh0CQkJCQkJJk7kY2hzdGVyCm1lbnV0cmFucyAmUHJldmlvdXMJCQkJCSZWb3JoZXJpZ2VyCiIgfX19IEJVRkZFUlMgLyBQVUZGRVIKCiIge3t7IFdJTkRPVyAvIEFOU0lDSFQKbWVudXRyYW5zICZXaW5kb3cJCQkmQW5zaWNodAptZW51dHJhbnMgJk5ldzxUYWI+XlduCQkJJk5ldTxUYWI+XlduCm1lbnV0cmFucyBTJnBsaXQ8VGFiPl5XcwkJQXVmcyZwYWx0ZW48VGFiPl5XcwptZW51dHJhbnMgU3BsaXRcICZWZXJ0aWNhbGx5PFRhYj5eV3YJJlZlcnRpa2FsXCBBdWZzcGFsdGVuPFRhYj5eV3YKbWVudXRyYW5zIFNwbGl0XCBGaWxlXCBFJnhwbG9yZXIJVmVyJnplaWNobmlzCm1lbnV0cmFucyBTcCZsaXRcIFRvXCAjPFRhYj5eV15eCUF1ZnNwYSZsdGVuXCBpblwgIzxUYWI+XldeXgptZW51dHJhbnMgJkNsb3NlPFRhYj5eV2MJCSZTY2hsaWXfZW48VGFiPl5XYwptZW51dHJhbnMgQ2xvc2VcICZPdGhlcihzKTxUYWI+XldvCSZBbmRlcmVcIFNjaGxpZd9lbjxUYWI+XldvCm1lbnV0cmFucyBOZSZ4dDxUYWI+Xld3CQkJTibkY2hzdGVzPFRhYj5eV3cKbWVudXRyYW5zIFAmcmV2aW91czxUYWI+XldXCQlWb3ImaGVyaWdlczxUYWI+XldXCm1lbnV0cmFucyAmRXF1YWxcIFNpemU8VGFiPl5XPQkJJkdsZWljaGVcIEj2aGVuPFRhYj5eVz0KbWVudXRyYW5zICZNYXhcIEhlaWdodDxUYWI+XldfCQkmTWF4aW1hbGVcIEj2aGU8VGFiPl5XXwptZW51dHJhbnMgTSZpblwgSGVpZ2h0PFRhYj5eVzFfCQlNJmluaW1hbGVcIEj2aGU8VGFiPl5XMV8KbWVudXRyYW5zIE1heFwgJldpZHRoPFRhYj5eV1x8CQlNYXhpbWFsZVwgJkJyZWl0ZTxUYWI+XldcfAptZW51dHJhbnMgTWluXCBXaWR0Jmg8VGFiPl5XMVx8CQlNaW5pbWFsZVwgQnJlaSZ0ZTxUYWI+XlcxXHwKbWVudXRyYW5zIE1vdmVcICZUbwkJCVYmZXJzY2hpZWJlXCBuYWNoCm1lbnV0cmFucyAmVG9wPFRhYj5eV0sJCQkmT2JlbjxUYWI+XldLCm1lbnV0cmFucyAmQm90dG9tPFRhYj5eV0oJCSZVbnRlbjxUYWI+XldKCm1lbnV0cmFucyAmTGVmdFwgc2lkZTxUYWI+XldICQkmTGlua3M8VGFiPl5XSAptZW51dHJhbnMgJlJpZ2h0XCBzaWRlPFRhYj5eV0wJCSZSZWNodHM8VGFiPl5XTAptZW51dHJhbnMgUm90YXRlXCAmVXA8VGFiPl5XUgkJUm90aWVyZVwgbmFjaFwgJm9iZW48VGFiPl5XUgptZW51dHJhbnMgUm90YXRlXCAmRG93bjxUYWI+XldyCQlSb3RpZXJlXCBuYWNoXCAmdW50ZW48VGFiPl5XcgptZW51dHJhbnMgU2VsZWN0XCBGbyZudFwuXC5cLgkJQXVzd2FobFwgZGVyXCBTY2hyaWZ0YXJ0XC5cLlwuCiIgfX19IFdJTkRPVyAvIEFOU0lDSFQKCiIge3t7IEhFTFAgLyBISUxGRQptZW51dHJhbnMgJkhlbHAJCQkmSGlsZmUKbWVudXRyYW5zICZPdmVydmlldzxUYWI+PEYxPgkm3GJlcmJsaWNrPFRhYj48RjE+Cm1lbnV0cmFucyAmVXNlclwgTWFudWFsCQkmSGFuZGJ1Y2gKbWVudXRyYW5zICZIb3ctdG9cIGxpbmtzCUhvdy10b1wgJkluZGV4Cm1lbnV0cmFucyAmR1VJCQkJJkdyYXBoaXNjaGVcIE9iZXJmbORjaGUKbWVudXRyYW5zICZDcmVkaXRzCQkmQXV0b3JlbgptZW51dHJhbnMgQ28mcHlpbmcJCSZVcmhlYmVycmVjaHQKbWVudXRyYW5zIE8mcnBoYW5zCQkmV2Fpc2VuCm1lbnV0cmFucyAmRmluZFwuXC5cLgkJJlN1Y2hlblwuXC5cLgkiIGNvbmZsaWN0cyB3aXRoIEVkaXQuRmluZAptZW51dHJhbnMgJlZlcnNpb24JCSZWZXJzaW9uCm1lbnV0cmFucyAmQWJvdXQJCSZUaXRlbHNlaXRlCiIgfX19IEhFTFAgLyBISUxGRQoKIiB7e3sgUE9QVVAKbWVudXRyYW5zICZVbmRvCQkJCSZadXL8Y2sKbWVudXRyYW5zIEN1JnQJCQkJQXVzJnNjaG5laWRlbgptZW51dHJhbnMgJkNvcHkJCQkJJktvcGllcmVuCm1lbnV0cmFucyAmUGFzdGUJCQkmRWluZvxnZW4KbWVudXRyYW5zICZEZWxldGUJCQkmTPZzY2hlbgptZW51dHJhbnMgU2VsZWN0XCBCbG9ja3dpc2UJCUF1c3dhaGxcIGJsb2NrYXJ0aWcKbWVudXRyYW5zIFNlbGVjdFwgJldvcmQJCQlBdXN3YWhsXCBkZXNcICZXb3J0ZXMKbWVudXRyYW5zIFNlbGVjdFwgJlNlbnRlbmNlICAgICAgICAgICAgIEF1c3dhaGxcIGRlc1wgU2EmdHplcwptZW51dHJhbnMgU2VsZWN0XCBQYSZyYWdyYXBoICAgICAgICAgICAgQXVzd2FobFwgZGVzXCBBYnNhdHplcwptZW51dHJhbnMgU2VsZWN0XCAmTGluZQkJCUF1c3dhaGxcIGRlclwgJlplaWxlCm1lbnV0cmFucyBTZWxlY3RcICZCbG9jawkJQXVzd2FobFwgZGVzXCAmQmxvY2tzCm1lbnV0cmFucyBTZWxlY3RcICZBbGwJCQkmQWxsZXNcIEF1c3fkaGxlbgoiIH19fSBQT1BVUAoKIiB7e3sgVE9PTEJBUgppZiBoYXMoInRvb2xiYXIiKQogIGlmIGV4aXN0cygiKkRvX3Rvb2xiYXJfdG1lbnUiKQogICAgZGVsZnVuIERvX3Rvb2xiYXJfdG1lbnUKICBlbmRpZgogIGZ1biBEb190b29sYmFyX3RtZW51KCkKICAgIHRtZW51IFRvb2xCYXIuT3BlbgkJRGF0ZWkg1mZmbmVuCiAgICB0bWVudSBUb29sQmFyLlNhdmUJCURhdGVpIFNwZWljaGVybgogICAgdG1lbnUgVG9vbEJhci5TYXZlQWxsCUFsbGUgRGF0ZWllbiBTcGVpY2hlcm4KICAgIHRtZW51IFRvb2xCYXIuUHJpbnQJCURydWNrZW4KICAgIHRtZW51IFRvb2xCYXIuVW5kbwkJWnVy/GNrCiAgICB0bWVudSBUb29sQmFyLlJlZG8JCVdpZWRlcmhvbGVuCiAgICB0bWVudSBUb29sQmFyLkN1dAkJQXVzc2NobmVpZGVuCiAgICB0bWVudSBUb29sQmFyLkNvcHkJCUtvcGllcmVuCiAgICB0bWVudSBUb29sQmFyLlBhc3RlCQlFaW5m/GdlbgogICAgdG1lbnUgVG9vbEJhci5GaW5kCQlTdWNoZW4uLi4KICAgIHRtZW51IFRvb2xCYXIuRmluZE5leHQJU3VjaGUgTuRjaHN0ZW4KICAgIHRtZW51IFRvb2xCYXIuRmluZFByZXYJU3VjaGUgVm9yaGVyaWdlbgogICAgdG1lbnUgVG9vbEJhci5SZXBsYWNlCVN1Y2hlbiB1bmQgRXJzZXR6ZW4uLi4KICAgIGlmIDAJIiBkaXNhYmxlZDsgVGhlc2UgYXJlIGluIHRoZSBXaW5kb3dzIG1lbnUKICAgICAgdG1lbnUgVG9vbEJhci5OZXcJCU5ldWUgQW5zaWNodAogICAgICB0bWVudSBUb29sQmFyLldpblNwbGl0CUFuc2ljaHQgQXVmc3BhbHRlbgogICAgICB0bWVudSBUb29sQmFyLldpbk1heAlBbnNpY2h0IE1heGltYWxlIEj2aGVuCiAgICAgIHRtZW51IFRvb2xCYXIuV2luTWluCUFuc2ljaHQgTWluaW1hbGUgSPZoZW4KICAgICAgdG1lbnUgVG9vbEJhci5XaW5DbG9zZQlBbnNpY2h0IFNjaGxpZd9lbgogICAgZW5kaWYKICAgIHRtZW51IFRvb2xCYXIuTG9hZFNlc24JU2l0enVuZyBMYWRlbgogICAgdG1lbnUgVG9vbEJhci5TYXZlU2VzbglTaXR6dW5nIFNwZWljaGVybgogICAgdG1lbnUgVG9vbEJhci5SdW5TY3JpcHQJVmltLVNrcmlwdCBBdXNm/GhyZW4KICAgIHRtZW51IFRvb2xCYXIuTWFrZQkJRXJzdGVsbGVuCiAgICB0bWVudSBUb29sQmFyLlNoZWxsCQlTaGVsbCBTdGFydGVuCiAgICB0bWVudSBUb29sQmFyLlJ1bkN0YWdzCUVyc3RlbGxlIFRhZ3MgRGF0ZWkKICAgIHRtZW51IFRvb2xCYXIuVGFnSnVtcAlTcHJpbmdlIHp1bSBUYWcKICAgIHRtZW51IFRvb2xCYXIuSGVscAkJSGlsZmUhCiAgICB0bWVudSBUb29sQmFyLkZpbmRIZWxwCUhpbGZlIER1cmNoc3VjaGVuLi4uCiAgZW5kZnVuCmVuZGlmCiIgfX19IFRPT0xCQVIKCiIge3t7IERJQUxPRyBURVhUUwpsZXQgZzptZW51dHJhbnNfbm9fZmlsZSA9ICJbS2VpbmUgRGF0ZWldIgpsZXQgZzptZW51dHJhbnNfaGVscF9kaWFsb2cgPSAiR2ViZW4gU2llIGVpbmVuIEJlZmVobCBvZGVyIGVpbiBXb3J0IGVpbiwgZvxyIGRhcyBTaWUgSGlsZmUgYmVu9nRpZ2VuOlxuXG5WZXJ3ZW5kZW4gU2llIGlfIGb8ciBFaW5nYWJlICgnaW5wdXQnKSBCZWZlaGxlICh6LkIuOiBpX0NUUkwtWClcblZlcndlbmRlbiBTaWUgY18gZvxyIEJlZmVobHMtWmVpbGVuICgnY29tbWFuZC1saW5lJykgQmVmZWhsZSAoei5CLjogY188RGVsPilcblZlcndlbmRlbiBTaWUgJyBm/HIgT3B0aW9ucy1OYW1lbiAoei5CLjogJ3NoaWZ0d2lkdGgnKSIKbGV0IGc6bWVudXRyYW5zX3BhdGhfZGlhbG9nID0gIkdlYmVuIFNpZSBTdWNoLVBmYWRlIGb8ciBEYXRlaWVuIGVpbi5cblRyZW5uZW4gU2llIGRpZSBWZXJ6ZWljaG5pcy1OYW1lbiBkdXJjaCBLb21tYXRhLiIKbGV0IGc6bWVudXRyYW5zX3RhZ3NfZGlhbG9nID0gIkdlYmVuIFNpZSBkaWUgTmFtZW4gZGVyICd0YWcnLURhdGVpZW4gZWluLlxuVHJlbm5lbiBTaWUgZGllIE5hbWVuIGR1cmNoIEtvbW1hdGEuIgpsZXQgZzptZW51dHJhbnNfdGV4dHdpZHRoX2RpYWxvZyA9ICJHZWJlbiBTaWUgZWluZSBuZXVlIFRleHQtQnJlaXRlIGVpbiAob2RlciAwLCB1bSBkaWUgRm9ybWF0aWVydW5nIGFienVzY2hhbHRlbikiCmxldCBnOm1lbnV0cmFuc19maWxlZm9ybWF0X2RpYWxvZyA9ICJX5GhsZW4gU2llIGVpbiBEYXRlaS1Gb3JtYXQgYXVzIgoiIH19fQo=