CTw/cGhwICAJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQlyZXF1aXJlX29uY2UoJF9TRVJWRVJbJ0RPQ1VNRU5UX1JPT1QnXSAuICIvZWNsaXBzZS5vcmctY29tbW9uL3N5c3RlbS9hcHAuY2xhc3MucGhwIik7CXJlcXVpcmVfb25jZSgkX1NFUlZFUlsnRE9DVU1FTlRfUk9PVCddIC4gIi9lY2xpcHNlLm9yZy1jb21tb24vc3lzdGVtL25hdi5jbGFzcy5waHAiKTsgCXJlcXVpcmVfb25jZSgkX1NFUlZFUlsnRE9DVU1FTlRfUk9PVCddIC4gIi9lY2xpcHNlLm9yZy1jb21tb24vc3lzdGVtL21lbnUuY2xhc3MucGhwIik7IAkkQXBwIAk9IG5ldyBBcHAoKTsJJE5hdgk9IG5ldyBOYXYoKTsJJE1lbnUgCT0gbmV3IE1lbnUoKTsJCWluY2x1ZGUoIl9wcm9qZWN0Q29tbW9uLnBocCIpOyAgICAjIEFsbCBvbiB0aGUgc2FtZSBsaW5lIHRvIHVuY2x1dHRlciB0aGUgdXNlcidzIGRlc2t0b3AnCgoJCgkjCgkjIEJlZ2luOiBwYWdlLXNwZWNpZmljIHNldHRpbmdzLiAgQ2hhbmdlIHRoZXNlLiAKCSRwYWdlVGl0bGUgCQk9ICJFY2xpcHNlIFJlbGVhc2VzIEZpcnN0IEFqYXggUGxhdGZvcm0gQmFzZWQgb24gT1NHaSI7CgkkcGFnZUtleXdvcmRzCT0gImVjbGlwc2UsIHJhcCwgcmljaCBhamF4IHBsYXRmb3JtLCBPU0dpLCAyMDA3IjsKCSRwYWdlQXV0aG9yCQk9ICJOYXRoYW4gR2VydmFpcyI7CgkKCSMgQWRkIHBhZ2Utc3BlY2lmaWMgTmF2IGJhcnMgaGVyZQoJIyBGb3JtYXQgaXMgTGluayB0ZXh0LCBsaW5rIFVSTCAoY2FuIGJlIGh0dHA6Ly93d3cuc29tZW90aGVyc2l0ZS5jb20vKSwgdGFyZ2V0IChfc2VsZiwgX2JsYW5rKQoJIyAkTmF2LT5hZGRDdXN0b21OYXYoIk15IExpbmsiLCAibXlwYWdlLnBocCIsICJfc2VsZiIpOwoJIyAkTmF2LT5hZGRDdXN0b21OYXYoIkdvb2dsZSIsICJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIiwgIl9ibGFuayIpOwoJIyBFbmQ6IHBhZ2Utc3BlY2lmaWMgc2V0dGluZ3MKCSMKCQoJIyBQYXN0ZSB5b3VyIEhUTUwgY29udGVudCBiZXR3ZWVuIHRoZSBFT0hUTUwgbWFya2VycyEJCgkkaHRtbCA9IDw8PEVPSFRNTAoJPHN0eWxlPgoJCS5wYWRkZWRsaXN0IGxpIHsJcGFkZGluZy1ib3R0b206N3B4Owl9Cgk8L3N0eWxlPgo8ZGl2IGlkPSJtYWluY29udGVudCI+Cgk8ZGl2IGlkPSJtaWRjb2x1bW4iPgoJCTxoMSBhbGlnbj0iY2VudGVyIj4kcGFnZVRpdGxlPC9oMT4KCQkKCQk8aDIgQUxJR049IkNFTlRFUiI+PHN0cm9uZz5FY2xpcHNlIFJpY2ggQWpheCBQbGF0Zm9ybSAoUkFQKSAxLjAgaXMgTm93IEF2YWlsYWJsZTwvc3Ryb25nPjwvaDI+CgkJPGgyPlByZXNzIFJlbGVhc2U8L2gyPgoJCTxwPjxzdHJvbmc+T1RUQVdBIC0gT2N0b2JlciAxNSwgMjAwNyA8L3N0cm9uZz4gLSBUaGUgRWNsaXBzZSBGb3VuZGF0aW9uIHRvZGF5IGFubm91bmNlZCB0aGUgYXZhaWxhYmlsaXR5IG9mIEVjbGlwc2UgUmljaCBBamF4IFBsYXRmb3JtIChSQVApIDEuMCwgYSBmcmVlbHkgZG93bmxvYWRhYmxlIEFqYXggcGxhdGZvcm0gZm9yIGNyZWF0aW5nIGFuZCBkZXBsb3lpbmcgUmljaCBJbnRlcm5ldCBBcHBsaWNhdGlvbnMuIDwvcD4gIAoJCTxwPlJBUCAxLjAgaXMgdGhlIGZpcnN0IEFqYXggcGxhdGZvcm0gdGhhdCBhbGxvd3MgZGV2ZWxvcGVycyB0byBjcmVhdGUgUmljaCBJbnRlcm5ldCBBcHBsaWNhdGlvbnMgKFJJQSkgdXNpbmcgdGhlIEVjbGlwc2UgY29tcG9uZW50IG1vZGVsLCBiYXNlZCBvbiB0aGUgT1NHaSBzdGFuZGFyZC4gT1NHaSBpcyBhIHNlcnZpY2Utb3JpZW50ZWQsIGNvbXBvbmVudC1iYXNlZCBlbnZpcm9ubWVudCB0aGF0IHByb21vdGVzIHRoZSBpbnRlcm9wZXJhYmlsaXR5IG9mIGFwcGxpY2F0aW9ucyBhbmQgc2VydmljZXMuICBPcmdhbml6YXRpb25zIHVzaW5nIFJBUCBhcmUgbm93IGFibGUgdG8gY3JlYXRlIEFqYXggYW5kIFJJQSBhcHBsaWNhdGlvbnMgdGhhdCBhcmUgY29tcG9uZW50LWJhc2VkIGFuZCBpbnRlZ3JhdGUgaW50byBleGlzdGluZyBlbnRlcnByaXNlIHN5c3RlbXMuPC9wPgoJCTxwPiJVc2luZyB0aGUgT1NHaSBjb21wb25lbnQgYXJjaGl0ZWN0dXJlIGZvciBvdXIgQnJvd3Nlci1iYXNlZCBhcHBsaWNhdGlvbnMgYWxsb3dzIHVzIHRvIHF1aWNrbHkgY3JlYXRlIGFuZCBkZXBsb3kgY3VzdG9taXphYmxlIGFwcGxpY2F0aW9ucywgZXhwbGFpbnMgTHVkd2lnIE5lZXIsIENUTyBvZiBDQVMgU29mdHdhcmUuICAnVGhlIEVjbGlwc2UgUmljaCBBamF4IFBsYXRmb3JtIGVuYWJsZXMgdXMgdG8gY3JlYXRlIGNvbXBvbmVudHMgdGhhdCBjYW4gYmUgcmV1c2VkIGFuZCBleHRlbmRlZCBieSBvdXIgcGFydG5lciBjb21wYW5pZXMuIEluIGFkZGl0aW9uLCBzaW5jZSBFY2xpcHNlIGlzIG9wZW4gc291cmNlIGFuZCBhIGRlIGZhY3RvIHN0YW5kYXJkLCB3ZSBhcmUgYXZvaWRpbmcgcHJvcHJpZXRhcnkgZnJhbWV3b3Jrcywgd2hpY2ggaXMgYSB2ZXJ5IGltcG9ydGFudCB0aGluZyBmb3Igb3VyIHBhcnRuZXJzLiciPC9wPgoJCTxwPlJBUCAxLjAgaW5jbHVkZXMgZmVhdHVyZXMgd2VsbC1zdWl0ZWQgZm9yIGVudGVycHJpc2VzIHRoYXQgYXJlIGJ1aWxkaW5nIGEgbGFyZ2UgbnVtYmVyIG9mIG5ldyBhcHBsaWNhdGlvbnMgYmFzZWQgb24gQWpheCBhbmQgUklBIHRlY2hub2xvZ2llcy4gICBUaGVzZSBmZWF0dXJlcyBpbmNsdWRlOjwvcD4KCQk8dWwgY2xhc3M9InBhZGRlZGxpc3QiPgoJCQk8bGk+VGhlIGFiaWxpdHkgdG8gY3JlYXRlIGFuZCBkZXBsb3kgUklBIG9yIFJDUCBhcHBsaWNhdGlvbnMgZnJvbSB0aGUgc2FtZSBKYXZhIGNvZGUgYmFzZSwgYWxsb3dpbmcgb3JnYW5pemF0aW9ucyB0aGUgZmxleGliaWxpdHkgdG8gY3JlYXRlIGJyb3dzZXItYmFzZWQgUklBIGFwcGxpY2F0aW9uIG9yIGRlc2t0b3AtYmFzZWQgcmljaCBjbGllbnQgYXBwbGljYXRpb25zLjwvbGk+ICAKCQkJPGxpPlN1cHBvcnQgZm9yIGNyZWF0aW5nIEFqYXggYXBwbGljYXRpb25zIGJhc2VkIG9uIHRoZSBPU0dpIGNvbXBvbmVudCBtb2RlbC48L2xpPgoJCQk8bGk+SmF2YSBkZXZlbG9wbWVudCB0b29scyB0aGF0IHRpZ2h0bHkgaW50ZWdyYXRlIHdpdGggdGhlIEVjbGlwc2UgcGxhdGZvcm0gYW5kIGFsbG93IGRldmVsb3BlcnMgdG8gcXVpY2tseSBkZXZlbG9wLCB0ZXN0LCBkZWJ1ZyBhbmQgZGVwbG95IFJJQSBhcHBsaWNhdGlvbnMuPC9saT4KCQkJPGxpPkEgY29tcGxldGUgc2V0IG9mIGZyYW1ld29ya3MgZm9yIGNyZWF0aW5nIEFqYXggYXBwbGljYXRpb25zIHRoYXQgc3VwcG9ydCBzY2FsYWJsZSB1c2VyIGludGVyZmFjZXMsIGNvbXBsZXggd2lkZ2V0cywgZGF0YWJpbmRpbmcgYW5kIGxvb3NlIGNvdXBsaW5nIGZvciBVSSBlbGVtZW50cy48L2xpPiAKCQk8L3VsPgoJCTxwPiJXZSBhcmUgc3VwcG9ydGluZyB0aGUgUkFQIHByb2plY3QgYmVjYXVzZSBpdCBwcm92aWRlcyBhIGdyZWF0IHdheSBmb3IgSmF2YSBkZXZlbG9wZXJzIHRvIGNyZWF0ZSBSSUEgYXBwbGljYXRpb25zLCIgZXhwbGFpbnMgSmVucyBMYXV0ZW5iYWNoZXIsIFZQIG9mIENvcmUgRGV2ZWxvcG1lbnQgYXQgMWFuZDEsIHRoZSB3b3JsZJJzIGxhcmdlc3Qgd2ViIGhvc3QgYnkga25vd24gc2VydmVycy4gIlRoZSBhYmlsaXR5IHRvIGNyZWF0ZSBSSUEgYW5kIFJDUCBhcHBsaWNhdGlvbnMgZnJvbSB0aGUgc2FtZSBjb2RlIGJhc2UgYWxsb3dzIGZvciB2ZXJ5IGludGVyZXN0aW5nIG5ldyBkZXBsb3ltZW50IHNjZW5hcmlvcy4gV2Ugd2lsbCBjb250aW51ZSB0byBjb250cmlidXRlIHRvIFJBUCBieSBwcm92aWRpbmcgb3VyIHFvb3hkb28gSmF2YVNjcmlwdCBmcmFtZXdvcmsiLjwvcD4KCQk8cD6TVGhlIHJlc3BvbnNlIHdlIGFyZSBnZXR0aW5nIHRvIFJBUCBoYXMgYmVlbiB3b25kZXJmdWyULCBzYWlkIEpvY2hlbiBLcmF1c2UsIHByb2plY3QgbGVhZGVyIG9mIEVjbGlwc2UgUkFQIGFuZCBDRU8gb2YgSW5ub29wcmFjdC4gIJNXZSBzZWUgYSBsb3Qgb2YgaW50ZXJlc3QgZnJvbSBvcmdhbml6YXRpb25zIHRoYXQgd2FudCB0byBjcmVhdGUgQWpheCBhcHBsaWNhdGlvbnMgYnV0IGNhbid0IHNhY3JpZmljZSBkZXZlbG9wZXIgcHJvZHVjdGl2aXR5LiBUaGV5IGxpa2UgbWFraW5nIHVzZSBvZiBhIGNvbXBvbmVudCBtb2RlbCB0aGF0IGludGVncmF0ZXMgUklBIGFwcGxpY2F0aW9ucyB3aXRoIGV4aXN0aW5nIHdlYiBzZXJ2aWNlcyBhbmQgSkVFIHN5c3RlbXMuICBFY2xpcHNlIGFuZCBPU0dpIHByb3ZpZGUgdGhlIHRlY2hub2xvZ3kgdGhhdCBtYWtlcyBBamF4IHJlYWR5IGZvciB0aGVzZSBvcmdhbml6YXRpb25zlC48L3A+CgkJPHA+RWNsaXBzZSBSQVAgMS4wIGlzIG5vdyBhdmFpbGFibGUgYXQgPGEgaHJlZj0id3d3LmVjbGlwc2Uub3JnL3JhcC9kb3dubG9hZHMucGhwIj53d3cuZWNsaXBzZS5vcmcvcmFwL2Rvd25sb2Fkcy5waHA8L2E+LiAgTW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgcHJvamVjdCBpcyBhdmFpbGFibGUgYXQgPGEgaHJlZj0iaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9yYXAvIj5odHRwOi8vd3d3LmVjbGlwc2Uub3JnL3JhcC88L2E+LgoJCQoJCTxwPjxzdHJvbmc+QWJvdXQgdGhlIEVjbGlwc2UgRm91bmRhdGlvbjwvc3Ryb25nPjxiciAvPgoJCUVjbGlwc2UgaXMgYW4gb3BlbiBzb3VyY2UgY29tbXVuaXR5LCB3aG9zZSBwcm9qZWN0cyBhcmUgZm9jdXNlZCBvbiBidWlsZGluZyBhbiBvcGVuIGRldmVsb3BtZW50IHBsYXRmb3JtIGNvbXByaXNlZCBvZiBleHRlbnNpYmxlIGZyYW1ld29ya3MsIHRvb2xzIGFuZCBydW50aW1lcyBmb3IgYnVpbGRpbmcsIGRlcGxveWluZyBhbmQgbWFuYWdpbmcgc29mdHdhcmUgYWNyb3NzIHRoZSBsaWZlY3ljbGUuIEEgbGFyZ2UsIHZpYnJhbnQgZWNvc3lzdGVtIG9mIG1ham9yIHRlY2hub2xvZ3kgdmVuZG9ycywgaW5ub3ZhdGl2ZSBzdGFydC11cHMsIHVuaXZlcnNpdGllcyBhbmQgcmVzZWFyY2ggaW5zdGl0dXRpb25zIGFuZCBpbmRpdmlkdWFscyBleHRlbmQsIGNvbXBsZW1lbnQgYW5kIHN1cHBvcnQgdGhlIEVjbGlwc2UgUGxhdGZvcm0uPC9wPgoJCTxwPlRoZSBFY2xpcHNlIEZvdW5kYXRpb24gaXMgYSBub3QtZm9yLXByb2ZpdCwgbWVtYmVyIHN1cHBvcnRlZCBjb3Jwb3JhdGlvbiB0aGF0IGhvc3RzIHRoZSBFY2xpcHNlIHByb2plY3RzLiBGdWxsIGRldGFpbHMgb2YgRWNsaXBzZSBhbmQgdGhlIEVjbGlwc2UgRm91bmRhdGlvbiBhcmUgYXZhaWxhYmxlIGF0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZWNsaXBzZS5vcmciPnd3dy5lY2xpcHNlLm9yZzwvYT4uPC9wPgoJCTxiciAvPgoJCTxjZW50ZXI+IyAjICM8L2NlbnRlcj4gCgkJPGJyIC8+CgkJQWxsIGNvbXBhbnkvcHJvZHVjdCBuYW1lcyBhbmQgc2VydmljZSBtYXJrcyBtYXkgYmUgdHJhZGVtYXJrcyBvciByZWdpc3RlcmVkIHRyYWRlbWFya3Mgb2YgdGhlaXIgcmVzcGVjdGl2ZSBjb21wYW5pZXMuCgkJPGJyIC8+PGJyIC8+PHN0cm9uZz5QcmVzcyBDb250YWN0PC9zdHJvbmc+PGJyLz4JCgkJU3RldmUgRWlzZW5zdGFkdDxici8+CgkJUGFnZSBPbmUgUHVibGljIFJlbGF0aW9uczxici8+CgkJOTE5LTc4MS04MDk2PGJyLz4KCQlzdGV2ZUBwYWdlb25lcHIuY29tPGJyLz4KCQk8YnIvPgoJCTwvcD4KCQkJCQkJCQoJPC9kaXY+Cgo8L2Rpdj4KCgpFT0hUTUw7CgoJJGh0bWwgPSBtYl9jb252ZXJ0X2VuY29kaW5nKCRodG1sLCAiSFRNTC1FTlRJVElFUyIpOwoJIyBHZW5lcmF0ZSB0aGUgd2ViIHBhZ2UKCSRBcHAtPmdlbmVyYXRlUGFnZSgkdGhlbWUsICRNZW51LCAkTmF2LCAkcGFnZUF1dGhvciwgJHBhZ2VLZXl3b3JkcywgJHBhZ2VUaXRsZSwgJGh0bWwpOwo/PgoK