CTw/cGhwICAJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQlyZXF1aXJlX29uY2UoJF9TRVJWRVJbJ0RPQ1VNRU5UX1JPT1QnXSAuICIvZWNsaXBzZS5vcmctY29tbW9uL3N5c3RlbS9hcHAuY2xhc3MucGhwIik7CXJlcXVpcmVfb25jZSgkX1NFUlZFUlsnRE9DVU1FTlRfUk9PVCddIC4gIi9lY2xpcHNlLm9yZy1jb21tb24vc3lzdGVtL25hdi5jbGFzcy5waHAiKTsgCXJlcXVpcmVfb25jZSgkX1NFUlZFUlsnRE9DVU1FTlRfUk9PVCddIC4gIi9lY2xpcHNlLm9yZy1jb21tb24vc3lzdGVtL21lbnUuY2xhc3MucGhwIik7IAkkQXBwIAk9IG5ldyBBcHAoKTsJJE5hdgk9IG5ldyBOYXYoKTsJJE1lbnUgCT0gbmV3IE1lbnUoKTsJCWluY2x1ZGUoIl9wcm9qZWN0Q29tbW9uLnBocCIpOyAgICAjIEFsbCBvbiB0aGUgc2FtZSBsaW5lIHRvIHVuY2x1dHRlciB0aGUgdXNlcidzIGRlc2t0b3AnCgoJCgkjCgkjIEJlZ2luOiBwYWdlLXNwZWNpZmljIHNldHRpbmdzLiAgQ2hhbmdlIHRoZXNlLiAKCSRwYWdlVGl0bGUgCQk9ICJFY2xpcHNlIEhpYmFjaGkgUHJvamVjdCBVbml0ZXMgQWRhIFN1cHBsaWVycyBpbiBDb21tb24gRW52aXJvbm1lbnQiOwoJJHBhZ2VLZXl3b3Jkcwk9ICJlY2xpcHNlLCBoaWJhY2hpLCBhZGEsIDIwMDciOwoJJHBhZ2VBdXRob3IJCT0gIk5hdGhhbiBHZXJ2YWlzIjsKCQoJIyBBZGQgcGFnZS1zcGVjaWZpYyBOYXYgYmFycyBoZXJlCgkjIEZvcm1hdCBpcyBMaW5rIHRleHQsIGxpbmsgVVJMIChjYW4gYmUgaHR0cDovL3d3dy5zb21lb3RoZXJzaXRlLmNvbS8pLCB0YXJnZXQgKF9zZWxmLCBfYmxhbmspCgkjICROYXYtPmFkZEN1c3RvbU5hdigiTXkgTGluayIsICJteXBhZ2UucGhwIiwgIl9zZWxmIik7CgkjICROYXYtPmFkZEN1c3RvbU5hdigiR29vZ2xlIiwgImh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iLCAiX2JsYW5rIik7CgkjIEVuZDogcGFnZS1zcGVjaWZpYyBzZXR0aW5ncwoJIwoJCgkjIFBhc3RlIHlvdXIgSFRNTCBjb250ZW50IGJldHdlZW4gdGhlIEVPSFRNTCBtYXJrZXJzIQkKCSRodG1sID0gPDw8RU9IVE1MCgk8c3R5bGU+CgkJLnBhZGRlZGxpc3QgbGkgewlwYWRkaW5nLWJvdHRvbTo3cHg7CX0KCTwvc3R5bGU+CjxkaXYgaWQ9Im1haW5jb250ZW50Ij4KCTxkaXYgaWQ9Im1pZGNvbHVtbiI+CgkJPGgxIGFsaWduPSJjZW50ZXIiPiRwYWdlVGl0bGU8L2gxPgoJCTxoMiBBTElHTj0iQ0VOVEVSIj48c3Ryb25nPkFvbml4LCBEREMtSSwgQ29oZXNpb25Gb3JjZSwgYW5kIG90aGVyIHN1cHBsaWVycyBwcm92aWRpbmcgaW5kdXN0cnkgc3VwcG9ydDwvc3Ryb25nPjwvaDI+CQkKCQk8aDI+UHJlc3MgUmVsZWFzZTwvaDI+CgkJPHA+PHN0cm9uZz5TSUdBZGEgQ29uZmVyZW5jZSwgRmFpcmZheCwgVkEgLSBOb3ZlbWJlciA1LCAyMDA3IDwvc3Ryb25nPiAtIFRoZSBFY2xpcHNlIEZvdW5kYXRpb24gdG9kYXkgYW5ub3VuY2VkIHRoZSBjcmVhdGlvbiBvZiBhIG5ldyBvcGVuLXNvdXJjZSBwcm9qZWN0IGNhbGxlZCBIaWJhY2hpLiAgVGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvaGliYWNoaS8iPkhpYmFjaGkgcHJvamVjdDwvYT4gcHJvdmlkZXMgYW4gaW5kdXN0cmlhbC1zdHJlbmd0aCwgdmVuZG9yLW5ldXRyYWwgQWRhIGludGVncmF0ZWQgZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQgKElERSkgdGhhdCBhbHNvIHNlcnZlcyBhcyBhIHBsYXRmb3JtIGZvciBvdGhlciBjb250cmlidXRvcnMgdG8gcHJvdmlkZSB2YWx1ZS1hZGRlZCBmdW5jdGlvbmFsaXR5IGZvciBBZGEgZGV2ZWxvcGVycy4gSGliYWNoaSBpcyBhIHN1Yi1wcm9qZWN0IG9mIHRoZSBFY2xpcHNlIFRvb2xzIFByb2plY3QsIGFuZCBpdCBwYXJhbGxlbHMgYW5kIGNvbXBsZW1lbnRzIENEVCwgdGhlIEMvQysrIERldmVsb3BtZW50IFRvb2xpbmcgcHJvamVjdCwgcHJvdmlkaW5nIGEgbXVsdGktbGFuZ3VhZ2UgbmF0aXZlIGVtYmVkZGVkIHNvZnR3YXJlIGRldmVsb3BtZW50IGVudmlyb25tZW50LiBUaGUgbmFtZSBIaWJhY2hpIGlzIGFuIGFuYWdyYW0gaG9ub3JpbmcgdGhlIGxhdGUgSmVhbiBJY2hiaWFoLCBsZWFkIGRlc2lnbmVyIG9mIHRoZSBBZGEgbGFuZ3VhZ2UuPC9wPiAgCgkJPHA+VG8gaW5pdGlhdGUgdGhlIHByb2plY3QsIEFvbml4IGhhcyBjb250cmlidXRlZCB0aGUgc291cmNlIGNvZGUgb2YgQW9uaXhBRFQsIGFuIGV4aXN0aW5nIGNvbW1lcmNpYWwgRWNsaXBzZSBwbHVnLWluIHRlY2hub2xvZ3kgdGhhdCBzdXBwb3J0cyBBb25peCBPYmplY3RBZGEgYXMgd2VsbCBhcyBHTkFUIHRvb2wgY2hhaW5zIG9uIGEgdmFyaWV0eSBvZiBob3N0IGFuZCB0YXJnZXQgcGxhdGZvcm1zLCBhcyB0aGUgaW5pdGlhbCBjb2RlIGZvciB0aGUgcHJvamVjdC4gQW9uaXhBRFQgaXMgYmFzZWQgb24gSkRUIGFuZCBDRFQsIHRoZSBKYXZhIGFuZCBDIEVjbGlwc2UgZGV2ZWxvcG1lbnQgdG9vbGtpdHMuIEFkZGl0aW9uYWwgY29udHJpYnV0aW9ucyB0byBIaWJhY2hpIGFyZSBiZWluZyBhY3RpdmVseSBzb2xpY2l0ZWQgYnkgdGhlIHByb2plY3QgdGVhbS48L3A+CgkJPHA+VG9tIEdyb3NtYW4gb2YgQW9uaXggd2FzIHNlbGVjdGVkIGFzIHByb2plY3QgbGVhZCwgc3VwcG9ydGVkIGJ5IEFkYW0gSGFzZWxodWhuIG9mIEFvbml4LCBMaXNhIEpldHQgb2YgRERDLUksIE1hbmR5IE1jTWlsbGlvbiBhbmQgRGF2aWQgUGhpbGlwcyBvZiBDb2hlc2lvbkZvcmNlLCBhbmQgb3RoZXIgaW5kdXN0cnkgcGFydGljaXBhbnRzLiBPdGhlciBvcmdhbml6YXRpb25zIHBsYW5uaW5nIHRvIGNvbnRyaWJ1dGUgdG8gSGliYWNoaSBpbmNsdWRlIE9DIFN5c3RlbXMsIFByYXhpcyBIaWdoIEludGVncml0eSBTeXN0ZW1zLCBleGlzdGluZyBvcGVuc291cmNlIEFkYSBwcm9qZWN0cywgYXMgd2VsbCBhcyB1bml2ZXJzaXRpZXMgYW5kIGludGVyZXN0ZWQgaW5kaXZpZHVhbHMuIFRoZSBIaWJhY2hpIFByb2plY3QgaXMgbWVudG9yZWQgYnkgQ0RUIFByb2plY3QgTGVhZCBEb3VnIFNjaGFlZmVyIG9mIFFOWCBhbmQgRFNEUCBMZWFkIERvdWcgR2FmZiBvZiBXaW5kIFJpdmVyLjwvcD4KCQk8cD6TVGhlIEVjbGlwc2UgSGliYWNoaSBwcm9qZWN0IHdpbGwgcHJvbW90ZSB3aWRlciBhZG9wdGlvbiBvZiBFY2xpcHNlLWJhc2VkIGRldmVsb3BtZW50IGJ5IHRoZSBBZGEgY29tbXVuaXR5LCB3aGljaCBpbmNsdWRlcyBtYW55IG1ham9yIGhpZ2gtaW50ZWdyaXR5IHByb2plY3RzIHdvcmxkd2lkZSyUIHNhaWQgTWlrZSBNaWxpbmtvdmljaCwgZXhlY3V0aXZlIGRpcmVjdG9yIG9mIHRoZSBFY2xpcHNlIEZvdW5kYXRpb24uIJNGb3JtYWxseSBhZG9wdGluZyBBZGEgZnVuY3Rpb25hbGl0eSBpbnRvIEVjbGlwc2Ugd2lsbCBlbmNvdXJhZ2UgZWFzaWVyIGludGVncmF0aW9uIG9mIEFkYSBkZXZlbG9wbWVudCBhbG9uZ3NpZGUgb3RoZXIgZGV2ZWxvcG1lbnQgdG9vbHMgYW5kIGxhbmd1YWdlIHBsYXRmb3JtcyBzdXBwb3J0ZWQgYnkgRWNsaXBzZS4gRWNsaXBzZSBwcm92aWRlcyBhbiBpZGVhbCBzb2x1dGlvbiwgZ2l2aW5nIEFkYSBkZXZlbG9wZXJzIGEgdW5pdmVyc2FsIG9wZW4tc291cmNlIHBsYXRmb3JtIHdpdGggYSBicm9hZCBlY29zeXN0ZW0gb2YgcGx1Zy1pbnMulDwvcD4KCQk8cD6TQW9uaXggaXMgZXhjaXRlZCB0byBwbGF5IGEgY2VudHJhbCByb2xlIGluIEhpYmFjaGkgYW5kIHRvIGV4dGVuZCBvdXIgaW52b2x2ZW1lbnQgaW4gdGhlIEVjbGlwc2UgY29tbXVuaXR5IGZvciB0aGUgYmVuZWZpdCBvZiBvdXIgY3VzdG9tZXJzIGFuZCBBZGEgdXNlcnMgaW4gZ2VuZXJhbCyUIHNhaWQgRGF2ZSBXb29kLCBBb25peCBWUCBtYXJrZXRpbmcuIJNGb3IgeWVhcnMsIHdlIGhhdmUgYmVlbiBjb21taXR0ZWQgdG8gRWNsaXBzZSBzb2x1dGlvbnMgZm9yIHRoZSBiZW5lZml0IG9mIG91ciBKYXZhIGFuZCBBZGEgY3VzdG9tZXJzLCBhbmQgb3VyIGFiaWxpdHkgdG8gcHJvdmlkZSBwcm92ZW4gc291cmNlcyBhbmQgcHJvamVjdCBsZWFkZXJzaGlwIHRvIGhlbHAgbGF1bmNoIHRoZSBIaWJhY2hpIHByb2plY3QgcmVwcmVzZW50cyB0aGUgbmV4dCBzdGFnZSBvZiBvdXIgY29tbWl0bWVudC6UPC9wPgoJCTxwPk1ham9yIEhpYmFjaGkgZnVuY3Rpb25hbGl0eSBpbmNsdWRlczo8L3A+CgkJPHVsIGNsYXNzPSJwYWRkZWRsaXN0Ij4KCQkJPGxpPkFkYSBlZGl0b3Igd2l0aCBzZW1hbnRpYyBuYXZpZ2F0aW9uLCBjb2RlIGFzc2lzdCwgc3RydWN0dXJhbCByZXByZXNlbnRhdGlvbnMsIGFuZCBmb3JtYXR0aW5nPC9saT4gIAoJCQk8bGk+QnVpbGQgY29uZmlndXJhdGlvbnM8L2xpPgoJCQk8bGk+RGVidWdnaW5nIHN1cHBvcnQ8L2xpPgoJCQk8bGk+UmVmYWN0b3Jpbmc8L2xpPgoJCQk8bGk+U3VwcG9ydCBmb3IgbXVsdGlwbGUgdG9vbCBjaGFpbnM8L2xpPgoJCQk8bGk+TmF0aXZlIG9yIGVtYmVkZGVkIGxhdW5jaCBjYXBhYmlsaXR5PC9saT4KCQkJPGxpPldpemFyZHMgYW5kIHRlbXBsYXRlczwvbGk+CgkJPC91bD4JCgkJCgkJPHA+VGhlIEhpYmFjaGkgcHJvamVjdCBhaW1zIHRvIGJlY29tZSB0aGUgYmVuY2htYXJrIEFkYSBJREUsIGJ5IHdoaWNoIGFsbCBvdGhlciBBZGEgZW52aXJvbm1lbnRzIGFyZSBtZWFzdXJlZCwgYW5kIHRoZSBmaXJzdCBjaG9pY2UgZm9yIEFkYSBkZXZlbG9wZXJzLiBGdW5jdGlvbmFsbHksIEhpYmFjaGkgd2lsbCBzaGFkb3cgdGhlIG9uZ29pbmcgZGV2ZWxvcG1lbnQgZXZvbHV0aW9uIG9mIENEVC4gVGhlIGZpcnN0IHllYXIgZGV2ZWxvcG1lbnQgd2lsbCBmb2N1cyBvbiBzdXBwb3J0aW5nIG11bHRpcGxlIEFkYSBjb21waWxlciB0ZWNobm9sb2dpZXMsIG9mZmVyaW5nIGNsb3NlciBldm9sdXRpb24gd2l0aCB0aGUgQ0RUIGFyY2hpdGVjdHVyZSwgcHJvdmlkaW5nIHVzZWZ1bCBhbmQgc3RhYmxlIEFQSXMsIGFuZCBpbnRlZ3JhdGluZyB3aXRoIHRoZSBFY2xpcHNlIERTRFAvVE0gYW5kIERTRFAvREQgcHJvamVjdHMuIFN1YnNlcXVlbnQgcGhhc2VzIHdpbGwgZW1waGFzaXplIGltcGxlbWVudGF0aW9uIG9mIG5ldyBhbmQgaW1wcm92ZWQgZnVuY3Rpb25hbGl0eSwgc3VjaCBhcyByZWZhY3RvcmluZyBhbmQgYW5hbHlzaXMgdG9vbHMsIGFuZCBldmVyLWluY3JlYXNpbmcgaW50ZWdyYXRpb24gd2l0aCBtb3JlIHZhcmllZCB0b29scy48L3A+CgkJPHA+SW4gYWRkaXRpb24sIEhpYmFjaGkgd2lsbCBwcm92aWRlIGFuIG9wZW4gZnJhbWV3b3JrIGZvciB0aGUgaW50ZWdyYXRpb24gYW5kIHVzZSBvZiBvdGhlciB0b29scyB1c2VkIGR1cmluZyB0aGUgbGlmZWN5Y2xlIG9mIGxhcmdlLXNjYWxlIEFkYSBhcHBsaWNhdGlvbiBkZXZlbG9wbWVudC4gVGhlc2UgdG9vbHMgaW5jbHVkZSBidXQgYXJlIG5vdCBsaW1pdGVkIHRvIGFuYWx5c2lzLCBtb2RlbGluZywgdGVzdGluZywgdmVyaWZpY2F0aW9uLCBkb2N1bWVudGF0aW9uLCByZWZhY3RvcmluZywgYW5kIGNvbmZpZ3VyYXRpb24gbWFuYWdlbWVudC48L3A+CgkJPHA+PHN0cm9uZz5BYm91dCB0aGUgRWNsaXBzZSBGb3VuZGF0aW9uPC9zdHJvbmc+PGJyIC8+CgkJRWNsaXBzZSBpcyBhbiBvcGVuIHNvdXJjZSBjb21tdW5pdHksIHdob3NlIHByb2plY3RzIGFyZSBmb2N1c2VkIG9uIGJ1aWxkaW5nIGFuIG9wZW4gZGV2ZWxvcG1lbnQgcGxhdGZvcm0gY29tcHJpc2VkIG9mIGV4dGVuc2libGUgZnJhbWV3b3JrcywgdG9vbHMgYW5kIHJ1bnRpbWVzIGZvciBidWlsZGluZywgZGVwbG95aW5nIGFuZCBtYW5hZ2luZyBzb2Z0d2FyZSBhY3Jvc3MgdGhlIGxpZmVjeWNsZS4gQSBsYXJnZSwgdmlicmFudCBlY29zeXN0ZW0gb2YgbWFqb3IgdGVjaG5vbG9neSB2ZW5kb3JzLCBpbm5vdmF0aXZlIHN0YXJ0LXVwcywgdW5pdmVyc2l0aWVzIGFuZCByZXNlYXJjaCBpbnN0aXR1dGlvbnMgYW5kIGluZGl2aWR1YWxzIGV4dGVuZCwgY29tcGxlbWVudCBhbmQgc3VwcG9ydCB0aGUgRWNsaXBzZSBQbGF0Zm9ybS48L3A+CgkJPHA+VGhlIEVjbGlwc2UgRm91bmRhdGlvbiBpcyBhIG5vdC1mb3ItcHJvZml0LCBtZW1iZXIgc3VwcG9ydGVkIGNvcnBvcmF0aW9uIHRoYXQgaG9zdHMgdGhlIEVjbGlwc2UgcHJvamVjdHMuIEZ1bGwgZGV0YWlscyBvZiBFY2xpcHNlIGFuZCB0aGUgRWNsaXBzZSBGb3VuZGF0aW9uIGFyZSBhdmFpbGFibGUgYXQgPGEgaHJlZj0iaHR0cDovL3d3dy5lY2xpcHNlLm9yZyI+d3d3LmVjbGlwc2Uub3JnPC9hPi48L3A+CgkJPGJyIC8+CgkJPHA+PHN0cm9uZz5BYm91dCBBb25peK48L3N0cm9uZz48YnIgLz4KCQk8cD5Bb25peCBvZmZlcnMgbWlzc2lvbi0gYW5kIHNhZmV0eS1jcml0aWNhbCBzb2x1dGlvbnMgcHJpbWFyaWx5IHRvIHRoZSBtaWxpdGFyeSBhbmQgYWVyb3NwYWNlLCB0ZWxlY29tbXVuaWNhdGlvbnMgYW5kIHRyYW5zcG9ydGF0aW9uLXJlbGF0ZWQgaW5kdXN0cmllcy4gQW9uaXggZGVsaXZlcnMgdGhlIGxlYWRpbmcgaGlnaC1yZWxpYWJpbGl0eSwgcmVhbC10aW1lIGVtYmVkZGVkIHZpcnR1YWwgbWFjaGluZSBzb2x1dGlvbiBmb3IgcnVubmluZyBKYXZhmSBwcm9ncmFtcyBkZXBsb3llZCB0b2RheSBhbmQgaGFzIHRoZSBsYXJnZXN0IG51bWJlciBvZiBjZXJ0aWZpZWQgQWRhIGFwcGxpY2F0aW9ucyBhdCB0aGUgaGlnaGVzdCBsZXZlbCBvZiBjcml0aWNhbGl0eS4gSGVhZHF1YXJ0ZXJlZCBpbiBTYW4gRGllZ28sIENBIGFuZCBQYXJpcywgRnJhbmNlLCBBb25peCBvcGVyYXRlcyBzYWxlcyBvZmZpY2VzIHRocm91Z2hvdXQgTm9ydGggQW1lcmljYSBhbmQgRXVyb3BlIGluIGFkZGl0aW9uIHRvIG9mZmVyaW5nIGEgbmV0d29yayBvZiBpbnRlcm5hdGlvbmFsIGRpc3RyaWJ1dG9ycy4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHZpc2l0IDxhIGhyZWY9Imh0dHA6Ly93d3cuYW9uaXguY29tIj53d3cuYW9uaXguY29tLiA8L2E+PC9wPgoJCTxjZW50ZXI+IyAjICM8L2NlbnRlcj4gCgkJPGJyIC8+CgkJQWxsIGNvbXBhbnkvcHJvZHVjdCBuYW1lcyBhbmQgc2VydmljZSBtYXJrcyBtYXkgYmUgdHJhZGVtYXJrcyBvciByZWdpc3RlcmVkIHRyYWRlbWFya3Mgb2YgdGhlaXIgcmVzcGVjdGl2ZSBjb21wYW5pZXMuCgkJPGJyIC8+PGJyIC8+PHN0cm9uZz5QcmVzcyBDb250YWN0czwvc3Ryb25nPjxici8+CQoJCUVjbGlwc2UgRm91bmRhdGlvbjogPGJyLz4KCQlTdGV2ZSBFaXNlbnN0YWR0PGJyLz4KCQlQYWdlIE9uZSBQdWJsaWMgUmVsYXRpb25zPGJyLz4KCQk5MTktNzgxLTgwOTY8YnIvPgoJCXN0ZXZlQHBhZ2VvbmVwci5jb208YnIvPgoJCTxici8+CgkJPGJyLz5Bb25peDogPGJyLz4KCQlKYW5pY2UgSHVnaGVzPGJyLz4KCQlNZWRpYSBSZWxhdGlvbnM8YnIvPgoJCWphbmljZUBodWdoZXNjb20ubmV0PGJyLz4KCQkoNzA1KSA3NTEtOTc0MDxici8+CgkJQ2VsbDogKDcwNSkgNzc0LTg2ODY8YnIvPgoJCTxici8+CgkJVG9tIEdyb3NtYW48YnIvPgoJCUhpYmFjaGkgUHJvamVjdCBMZWFkPGJyLz4KCQlncm9zbWFuQGFvbml4LmZyPGJyLz4KCQkrMzMgMSA0MSA0NiAxOSA2MDxici8+CgkJPC9wPgoJCQkJCQkJCgk8L2Rpdj4KCjwvZGl2PgoKCkVPSFRNTDsKCgkkaHRtbCA9IG1iX2NvbnZlcnRfZW5jb2RpbmcoJGh0bWwsICJIVE1MLUVOVElUSUVTIik7CgkjIEdlbmVyYXRlIHRoZSB3ZWIgcGFnZQoJJEFwcC0+Z2VuZXJhdGVQYWdlKCR0aGVtZSwgJE1lbnUsICROYXYsICRwYWdlQXV0aG9yLCAkcGFnZUtleXdvcmRzLCAkcGFnZVRpdGxlLCAkaHRtbCk7Cj8+Cg==