CTw/cGhwICAJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQlyZXF1aXJlX29uY2UoJF9TRVJWRVJbJ0RPQ1VNRU5UX1JPT1QnXSAuICIvZWNsaXBzZS5vcmctY29tbW9uL3N5c3RlbS9hcHAuY2xhc3MucGhwIik7CXJlcXVpcmVfb25jZSgkX1NFUlZFUlsnRE9DVU1FTlRfUk9PVCddIC4gIi9lY2xpcHNlLm9yZy1jb21tb24vc3lzdGVtL25hdi5jbGFzcy5waHAiKTsgCXJlcXVpcmVfb25jZSgkX1NFUlZFUlsnRE9DVU1FTlRfUk9PVCddIC4gIi9lY2xpcHNlLm9yZy1jb21tb24vc3lzdGVtL21lbnUuY2xhc3MucGhwIik7IAkkQXBwIAk9IG5ldyBBcHAoKTsJJE5hdgk9IG5ldyBOYXYoKTsJJE1lbnUgCT0gbmV3IE1lbnUoKTsJCWluY2x1ZGUoIl9wcm9qZWN0Q29tbW9uLnBocCIpOyAgICAjIEFsbCBvbiB0aGUgc2FtZSBsaW5lIHRvIHVuY2x1dHRlciB0aGUgdXNlcidzIGRlc2t0b3AnCgoJCgkjCgkjIEJlZ2luOiBwYWdlLXNwZWNpZmljIHNldHRpbmdzLiAgQ2hhbmdlIHRoZXNlLiAKCSRwYWdlVGl0bGUgCQk9ICJGaWZ0aCBBbm51YWwgRWNsaXBzZSBDb21tdW5pdHkgQ29uZmVyZW5jZSBBbm5vdW5jZXMgS2V5bm90ZXMiOwoJJHBhZ2VLZXl3b3Jkcwk9ICJlY2xpcHNlY29uLCAyMDA4LCBrZXlub3RlLCBkYXRlIjsKCSRwYWdlQXV0aG9yCQk9ICJOYXRoYW4gR2VydmFpcyI7CgkKCSMgQWRkIHBhZ2Utc3BlY2lmaWMgTmF2IGJhcnMgaGVyZQoJIyBGb3JtYXQgaXMgTGluayB0ZXh0LCBsaW5rIFVSTCAoY2FuIGJlIGh0dHA6Ly93d3cuc29tZW90aGVyc2l0ZS5jb20vKSwgdGFyZ2V0IChfc2VsZiwgX2JsYW5rKQoJIyAkTmF2LT5hZGRDdXN0b21OYXYoIk15IExpbmsiLCAibXlwYWdlLnBocCIsICJfc2VsZiIpOwoJIyAkTmF2LT5hZGRDdXN0b21OYXYoIkdvb2dsZSIsICJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIiwgIl9ibGFuayIpOwoJIyBFbmQ6IHBhZ2Utc3BlY2lmaWMgc2V0dGluZ3MKCSMKCQoJIyBQYXN0ZSB5b3VyIEhUTUwgY29udGVudCBiZXR3ZWVuIHRoZSBFT0hUTUwgbWFya2VycyEJCgkkaHRtbCA9IDw8PEVPSFRNTAoJPHN0eWxlPgoJCS5wYWRkZWRsaXN0IGxpIHsJcGFkZGluZy1ib3R0b206N3B4Owl9Cgk8L3N0eWxlPgo8ZGl2IGlkPSJtYWluY29udGVudCI+Cgk8ZGl2IGlkPSJtaWRjb2x1bW4iPgoJCTxoMSBhbGlnbj0iY2VudGVyIj4kcGFnZVRpdGxlPC9oMT4KCQk8aDI+UHJlc3MgUmVsZWFzZTwvaDI+CgkJPHA+PHN0cm9uZz5PVFRBV0EgLSBPY3RvYmVyIDMxLCAyMDA3IDwvc3Ryb25nPiAtIFRoZSBFY2xpcHNlIEZvdW5kYXRpb24gYW5ub3VuY2VkIHRvZGF5IHRoZSBrZXlub3RlIHNwZWFrZXJzIGZvciBpdHMgZmlmdGggYW5udWFsIGNvbW11bml0eSBjb25mZXJlbmNlLCBFY2xpcHNlQ29uIDIwMDguIFRoZSBjb25mZXJlbmNlIGJyaW5ncyBtZW1iZXJzIG9mIHRoZSBFY2xpcHNlIGNvbW11bml0eSB0b2dldGhlciB0byBleHBsb3JlLCBzaGFyZSBhbmQgbGVhcm4gbmV3IHRlY2huaXF1ZXMsIGlkZWFzIGFuZCB0ZWNobm9sb2dpZXMsIGFzIHdlbGwgYXMgdG8gcHJvdmlkZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgbGF0ZXN0IGRldmVsb3BtZW50cyBhbmQgZnV0dXJlIHBsYW5zIG9mIHRoZSBFY2xpcHNlIHByb2plY3RzLiBUaGUgY29uZmVyZW5jZSB3aWxsIGJlIGhlbGQgTWFyY2ggMTctMjAsIDIwMDggYXQgdGhlIFNhbnRhIENsYXJhIENvbnZlbnRpb24gQ2VudGVyLiA8L3A+ICAKCQk8cD5UaGUga2V5bm90ZSBzcGVha2VycyBmb3IgRWNsaXBzZUNvbiAyMDA4IHdpbGwgZmVhdHVyZSB3ZWxsIGtub3duIGluZHVzdHJ5IHNwZWFrZXJzIGluY2x1ZGluZyBDb3J5IERvY3Rvcm93LCBzY2llbmNlIGZpY3Rpb24gYXV0aG9yIGFuZCBvcGVuIHNvdXJjZSBhZHZvY2F0ZTsgRGFuIEx5b25zLCBhbHNvIGtub3duIGFzIHRoZSBGYWtlIFN0ZXZlIEpvYnM7IGFuZCBTYW0gUmFtamksIERpcmVjdG9yIGF0IE1pY3Jvc29mdCBPcGVuIFNvdXJjZSBMYWJzLjwvcD4KCQk8cD6TRWNsaXBzZUNvbiBpcyBhbiBpbnRlbnNlLCB0ZWNobmljYWwgY29uZmVyZW5jZSB0aGF0IGFwcGVhbHMgdG8gYm90aCBkZXZlbG9wZXJzIGFuZCB1c2VycyBvZiB0aGUgbWFueSBFY2xpcHNlIHByb2plY3RzIGFuZCB0ZWNobm9sb2dpZXMslCBzYWlkIERvdWcgR2FmZiwgRWNsaXBzZUNvbiAyMDA4IFByb2dyYW0gQ2hhaXIgYW5kIFdpbmQgUml2ZXIgRW5naW5lZXJpbmcgTWFuYWdlci4gIJNJIGFtIGV4Y2l0ZWQgdG8gaGVscCBvcmdhbml6ZSB0aGUgdGVjaG5pY2FsIHByb2dyYW0gZm9yIHRoaXMgYW5udWFsIGNvbW11bml0eSBldmVudC6UPC9wPgoJCTxwPlJlZ2lzdHJhdGlvbiBmb3IgRWNsaXBzZUNvbiAyMDA4IGlzIDxhIGhyZWY9Imh0dHA6Ly93d3cuZWNsaXBzZWNvbi5vcmcvMjAwOC9pbmRleC5waHA/cGFnZT1yZWdpc3RyYXRpb24vIj5ub3cgb3BlbjwvYT4uIFRoZSBjb25mZXJlbmNlIHdpbGwgZmVhdHVyZSBpbi1kZXB0aCB0dXRvcmlhbHMsIGxvbmctdGFsayBzZXNzaW9ucywgc2hvcnQtdGFsayBzZXNzaW9ucywgZGVtb3MgYW5kIHBhbmVscy4gIFRoaXMgeWVhciwgYSBzaW5nbGUgZmVlIHdpbGwgcHJvdmlkZSBhY2Nlc3MgdG8gdGhlIGVudGlyZSBjb25mZXJlbmNlLiAgSW4gYWRkaXRpb24sIHRoZSBmaXJzdCAxMDAgcGFpZCByZWdpc3RyYW50cyB0byB0aGUgY29uZmVyZW5jZSB3aWxsIHJlY2VpdmUgYSBjb3B5IG9mIHRoZSBib29rIDxhIGhyZWY9Imh0dHA6Ly93d3cuZWNsaXBzZXd0cC5vcmcvIj5FY2xpcHNlIFdlYiBUb29scyBQbGF0Zm9ybTogIERldmVsb3BpbmcgSmF2YSBXZWIgQXBwbGljYXRpb25zLjwvYT48L3A+CgkJPHA+TWVtYmVycyBvZiB0aGUgcHJlc3MgYW5kIGFuYWx5c3QgY29tbXVuaXR5IGFyZSBhbHNvIGVuY291cmFnZWQgdG8gYXR0ZW5kIEVjbGlwc2VDb24gMjAwOC4gTW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY29uZmVyZW5jZSwgaW5jbHVkaW5nIGhvdyB0byByZWdpc3RlciwgY2FuIGJlIGZvdW5kIG9ubGluZSBhdCA8YSBocmVmPSJodHRwOi8vd3d3LmVjbGlwc2Vjb24ub3JnIj5odHRwOi8vd3d3LmVjbGlwc2Vjb24ub3JnLjwvYT48L3A+CgoJCTxwPlNwb25zb3JzaGlwIG9wcG9ydHVuaXRpZXMgYXJlIGF2YWlsYWJsZSBmb3IgRWNsaXBzZUNvbi4gIEdvbGQgc3BvbnNvcnMgYWxyZWFkeSBjb25maXJtZWQgaW5jbHVkZSBPcmFjbGUgYW5kIFdpbmQgUml2ZXIuICBTZWUgPGEgaHJlZj0iaHR0cDovL3d3dy5lY2xpcHNlY29uLm9yZy8yMDA4L3Nwb25zb3JzaGlwIj5odHRwOi8vd3d3LmVjbGlwc2Vjb24ub3JnLzIwMDgvc3BvbnNvcnNoaXA8L2E+IGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIGJlY29taW5nIGEgc3BvbnNvci48L3A+CgkJPHA+PHN0cm9uZz5BYm91dCB0aGUgRWNsaXBzZSBGb3VuZGF0aW9uPC9zdHJvbmc+PGJyIC8+CgkJRWNsaXBzZSBpcyBhbiBvcGVuIHNvdXJjZSBjb21tdW5pdHksIHdob3NlIHByb2plY3RzIGFyZSBmb2N1c2VkIG9uIGJ1aWxkaW5nIGFuIG9wZW4gZGV2ZWxvcG1lbnQgcGxhdGZvcm0gY29tcHJpc2VkIG9mIGV4dGVuc2libGUgZnJhbWV3b3JrcywgdG9vbHMgYW5kIHJ1bnRpbWVzIGZvciBidWlsZGluZywgZGVwbG95aW5nIGFuZCBtYW5hZ2luZyBzb2Z0d2FyZSBhY3Jvc3MgdGhlIGxpZmVjeWNsZS4gQSBsYXJnZSwgdmlicmFudCBlY29zeXN0ZW0gb2YgbWFqb3IgdGVjaG5vbG9neSB2ZW5kb3JzLCBpbm5vdmF0aXZlIHN0YXJ0LXVwcywgdW5pdmVyc2l0aWVzIGFuZCByZXNlYXJjaCBpbnN0aXR1dGlvbnMgYW5kIGluZGl2aWR1YWxzIGV4dGVuZCwgY29tcGxlbWVudCBhbmQgc3VwcG9ydCB0aGUgRWNsaXBzZSBQbGF0Zm9ybS48L3A+CgkJPHA+VGhlIEVjbGlwc2UgRm91bmRhdGlvbiBpcyBhIG5vdC1mb3ItcHJvZml0LCBtZW1iZXIgc3VwcG9ydGVkIGNvcnBvcmF0aW9uIHRoYXQgaG9zdHMgdGhlIEVjbGlwc2UgcHJvamVjdHMuIEZ1bGwgZGV0YWlscyBvZiBFY2xpcHNlIGFuZCB0aGUgRWNsaXBzZSBGb3VuZGF0aW9uIGFyZSBhdmFpbGFibGUgYXQgPGEgaHJlZj0iaHR0cDovL3d3dy5lY2xpcHNlLm9yZyI+d3d3LmVjbGlwc2Uub3JnPC9hPi48L3A+CgkJPGJyIC8+CgkJPGNlbnRlcj4jICMgIzwvY2VudGVyPiAKCQk8YnIgLz4KCQlBbGwgY29tcGFueS9wcm9kdWN0IG5hbWVzIGFuZCBzZXJ2aWNlIG1hcmtzIG1heSBiZSB0cmFkZW1hcmtzIG9yIHJlZ2lzdGVyZWQgdHJhZGVtYXJrcyBvZiB0aGVpciByZXNwZWN0aXZlIGNvbXBhbmllcy4KCQk8YnIgLz48YnIgLz48c3Ryb25nPlByZXNzIENvbnRhY3Q8L3N0cm9uZz48YnIvPgkKCQlTdGV2ZSBFaXNlbnN0YWR0PGJyLz4KCQlQYWdlIE9uZSBQdWJsaWMgUmVsYXRpb25zPGJyLz4KCQk5MTktNzgxLTgwOTY8YnIvPgoJCXN0ZXZlQHBhZ2VvbmVwci5jb208YnIvPgoJCTxici8+CgkJPC9wPgoJCQkJCQkJCgk8L2Rpdj4KCjwvZGl2PgoKCkVPSFRNTDsKCgkkaHRtbCA9IG1iX2NvbnZlcnRfZW5jb2RpbmcoJGh0bWwsICJIVE1MLUVOVElUSUVTIik7CgkjIEdlbmVyYXRlIHRoZSB3ZWIgcGFnZQoJJEFwcC0+Z2VuZXJhdGVQYWdlKCR0aGVtZSwgJE1lbnUsICROYXYsICRwYWdlQXV0aG9yLCAkcGFnZUtleXdvcmRzLCAkcGFnZVRpdGxlLCAkaHRtbCk7Cj8+Cgo=