PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiINCiAgICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+DQo8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEiLz4NCjx0aXRsZT5BYm91dCBFY2xpcHNlTGluayAyLjEuMDwvdGl0bGU+DQo8L2hlYWQ+DQo8Ym9keSBsYW5nPSJFTi1VUyI+IA0KPGgxPkVjbGlwc2VMaW5rIDIuMS4wPC9oMT4NCjxwPkp1bmUgMjNyZCwgMjAxMDwvcD4NCjxoMj5BYm91dDwvaDI+DQo8cD5UaGUgPGEgaHJlZj0iaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9lY2xpcHNlbGluayI+RWNsaXBzZUxpbms8L2E+IHByb2plY3QncyANCiAgZ29hbCBpcyB0byBwcm92aWRlIGEgY29tcGxldGUgcGVyc2lzdGVuY2UgZnJhbWV3b3JrIHRoYXQgaXMgYm90aCBjb21wcmVoZW5zaXZlIA0KICBhbmQgdW5pdmVyc2FsLiBJdCB3aWxsIHJ1biBpbiBhbnkgSmF2YSBlbnZpcm9ubWVudCBhbmQgcmVhZCBhbmQgd3JpdGUgb2JqZWN0cyANCiAgdG8gdmlydHVhbGx5IGFueSB0eXBlIG9mIGRhdGEgc291cmNlLCBpbmNsdWRpbmcgcmVsYXRpb25hbCBkYXRhYmFzZXMsIGFuZCBYTUwuIA0KICBFY2xpcHNlTGluayB3aWxsIGZvY3VzIG9uIHByb3ZpZGluZyBsZWFkaW5nIGVkZ2Ugc3VwcG9ydCwgaW5jbHVkaW5nIGFkdmFuY2VkIA0KICBmZWF0dXJlIGV4dGVuc2lvbnMsIGZvciB0aGUgZG9taW5hbnQgcGVyc2lzdGVuY2Ugc3RhbmRhcmRzIGZvciBlYWNoIHRhcmdldCBkYXRhIA0KICBzb3VyY2U7IEphdmEgUGVyc2lzdGVuY2UgQVBJIChKUEEpIGZvciByZWxhdGlvbmFsIGRhdGFiYXNlcywgSmF2YSBBUEkgZm9yIFhNTCANCiAgQmluZGluZyAoSkFYQikgZm9yIFhNTCwgU2VydmljZSBEYXRhIE9iamVjdHMgKFNETyksIGFuZCBEYXRhYmFzZSBXZWIgc2VydmljZXMgDQogIChEQldTKS4gPC9wPg0KDQo8cD5Gb3IgdGlwcyBvbiBnZXR0aW5nIHN0YXJ0ZWQgd2l0aCBFY2xpcHNlTGluaywgcGxlYXNlIHNlZSB0aGUgZm9sbG93aW5nIHJlc291cmNlczogDQo8L3A+DQo8dWw+DQogIDxsaT4gPGEgaHJlZj0iaHR0cDovL3dpa2kuZWNsaXBzZS5vcmcvRWNsaXBzZUxpbmsvUmVsZWFzZS8yLjEuMCI+RWNsaXBzZUxpbmsgMi4xLjAgUmVsZWFzZSBOb3RlczwvYT48L2xpPg0KICA8bGk+IDxhIGhyZWY9Imh0dHA6Ly93aWtpLmVjbGlwc2Uub3JnL0VjbGlwc2VMaW5rL1VzZXJNYW51YWwiPkRvY3VtZW50YXRpb248L2E+PC9saT4NCiAgPGxpPiA8YSBocmVmPSJodHRwOi8vd2lraS5lY2xpcHNlLm9yZy9FY2xpcHNlTGluay9FeGFtcGxlcyI+RXhhbXBsZXMgYW5kIEhvdyBUbzwvYT48L2xpPg0KPC91bD4NCjxoMj5MaWNlbnNlIDwvaDI+DQo8cD5UaGUgRWNsaXBzZSBGb3VuZGF0aW9uIG1ha2VzIGF2YWlsYWJsZSBhbGwgY29udGVudCBpbiB0aGlzIHBsdWctaW4gKCZxdW90O0NvbnRlbnQmcXVvdDspLiANCiAgICBVbmxlc3Mgb3RoZXJ3aXNlIGluZGljYXRlZCBiZWxvdywgdGhlIENvbnRlbnQgaXMgcHJvdmlkZWQgdG8geW91IHVuZGVyIHRoZSB0ZXJtcyANCglhbmQgY29uZGl0aW9ucyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSBWZXJzaW9uIDEuMCAoJnF1b3Q7RVBMJnF1b3Q7KSBhbmQgDQoJRWNsaXBzZSBEaXN0cmlidXRpb24gTGljZW5zZSBWZXJzaW9uIDEuMCAok0VETJQpLiBBIGNvcHkgb2YgdGhlIEVQTCBpcyBhdmFpbGFibGUgYXQgDQoJPGEgaHJlZj0iaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwiPiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbDwvYT4gDQoJYW5kIGEgY29weSBvZiB0aGUgRURMIGlzIGF2YWlsYWJsZSBhdCA8YSBocmVmPSJodHRwOi8vd3d3LmVjbGlwc2Uub3JnL29yZy9kb2N1bWVudHMvZWRsLXYxMC5waHAiPiANCglodHRwOi8vd3d3LmVjbGlwc2Uub3JnL29yZy9kb2N1bWVudHMvZWRsLXYxMC5waHA8L2E+LiAgRm9yIHB1cnBvc2VzIG9mIHRoZSBFUEwsICJQcm9ncmFtIiANCgl3aWxsIG1lYW4gdGhlIENvbnRlbnQuPC9wPg0KPHA+SWYgeW91IGRpZCBub3QgcmVjZWl2ZSB0aGlzIENvbnRlbnQgZGlyZWN0bHkgZnJvbSB0aGUgRWNsaXBzZSBGb3VuZGF0aW9uLCB0aGUgDQogIENvbnRlbnQgaXMgYmVpbmcgcmVkaXN0cmlidXRlZCBieSBhbm90aGVyIHBhcnR5ICgmcXVvdDtSZWRpc3RyaWJ1dG9yJnF1b3Q7KSANCiAgYW5kIGRpZmZlcmVudCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBtYXkgYXBwbHkgdG8geW91ciB1c2Ugb2YgYW55IG9iamVjdCBjb2RlIA0KICBpbiB0aGUgQ29udGVudC4gQ2hlY2sgdGhlIFJlZGlzdHJpYnV0b3ImIzgyMTc7cyBsaWNlbnNlIHRoYXQgd2FzIHByb3ZpZGVkIHdpdGggDQogIHRoZSBDb250ZW50LiBJZiBubyBzdWNoIGxpY2Vuc2UgZXhpc3RzLCBjb250YWN0IHRoZSBSZWRpc3RyaWJ1dG9yLiBVbmxlc3Mgb3RoZXJ3aXNlIA0KICBpbmRpY2F0ZWQgYmVsb3csIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGUgRVBMIGFuZCBFREwgc3RpbGwgYXBwbHkgdG8gYW55IHNvdXJjZSANCiAgY29kZSBpbiB0aGUgQ29udGVudCBhbmQgc3VjaCBzb3VyY2UgY29kZSBtYXkgYmUgb2J0YWluZWQgYXQgPGEgaHJlZj0iaHR0cDovL3d3dy5lY2xpcHNlLm9yZyI+aHR0cDovL3d3dy5lY2xpcHNlLm9yZzwvYT4uPC9wPg0KPGgyPlRoaXJkIFBhcnR5IENvbnRlbnQ8L2gyPg0KPHA+VGhlIENvbnRlbnQgaW5jbHVkZXMgaXRlbXMgdGhhdCBoYXZlIGJlZW4gc291cmNlZCBmcm9tIHRoaXJkIHBhcnRpZXMgYXMgc2V0IA0KICBvdXQgYmVsb3cuIElmIHlvdSBkaWQgbm90IHJlY2VpdmUgdGhpcyBDb250ZW50IGRpcmVjdGx5IGZyb20gdGhlIEVjbGlwc2UgRm91bmRhdGlvbiwgDQogIHRoZSBmb2xsb3dpbmcgaXMgcHJvdmlkZWQgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seSwgYW5kIHlvdSBzaG91bGQgbG9vayANCiAgdG8gdGhlIFJlZGlzdHJpYnV0b3ImIzgyMTc7cyBsaWNlbnNlIGZvciB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UuPC9wPg0KPHVsPg0KICA8bGk+Rm91bmRhdGlvbiBEZXBlbmRlbmNpZXMgDQogICAgPHVsPg0KICAgICAgPGxpPjxhIGhyZWY9IiNBU00iPkFTTTwvYT48L2xpPg0KICAgIDwvdWw+DQogIDwvbGk+DQogIDxsaT5FY2xpcHNlTGluayBKUEEgDQogICAgPHVsPg0KICAgICAgPGxpPjxhIGhyZWY9IiNBTlRMUiI+QU5UTFI8L2E+PC9saT4NCiAgICAgIDxsaT48YSBocmVmPSIjSlBBMSI+SmF2YSBQZXJzaXN0ZW5jZSBBUEkgKEpQQSkgMS4wIC0gRUpCIDMuMDwvYT48L2xpPg0KICAgICAgPGxpPjxhIGhyZWY9IiNKUEEyIj5KYXZhIFBlcnNpc3RlbmNlIEFQSSAoSlBBKSAyLjA8L2E+PC9saT4NCiAgICA8L3VsPg0KICA8L2xpPg0KICA8bGk+RWNsaXBzZUxpbmsgTU9YeSANCiAgICA8dWw+DQogICAgICA8bGk+PGEgaHJlZj0iI0pBWEIiPkphdmEgQXJjaGl0ZWN0dXJlIGZvciBYTUwgQmluZGluZyAoSkFYQik8L2E+PC9saT4NCiAgICAgIDxsaT48YSBocmVmPSIjTUFJTCI+SmF2YSBNYWlsPC9hPjwvbGk+DQogICAgICA8bGk+PGEgaHJlZj0iI0FDVElWQVRJT04iPkphdmEgQWN0aXZhdGlvbiBGcmFtZXdvcms8L2E+PC9saT4NCiAgICAgIDxsaT48YSBocmVmPSIjU3RBWCI+U3RyZWFtaW5nIEFQSSBmb3IgWE1MIChTdEFYKTwvYT48L2xpPg0KICAgIDwvdWw+DQogIDwvbGk+DQogIDxsaT5FY2xpcHNlTGluayBTRE8gDQogICAgPHVsPg0KICAgICAgPGxpPjxhIGhyZWY9IiNTRE8iPlNlcnZpY2UgRGF0YSBPYmplY3RzIChTRE8pPC9hPjwvbGk+DQogICAgPC91bD4NCiAgPC9saT4NCiAgPGxpPkVjbGlwc2VMaW5rIERCV1MgDQogICAgPHVsPg0KICAgICAgPGxpPjxhIGhyZWY9IiNTZXJ2bGV0Ij5KYXZhIFNlcnZsZXQgMi40IChvciBoaWdoZXIpPC9hPjwvbGk+DQogICAgPC91bD4NCiAgPC9saT4NCiAgPGxpPlV0aWxpdGllcyANCiAgICA8dWw+DQogICAgICA8bGk+PGEgaHJlZj0iI0pDQSI+SmF2YSBDb25uZWN0b3I8L2E+PC9saT4NCiAgICAgIDxsaT48YSBocmVmPSIjWEVSQ0VTIj5YZXJjZXM8L2E+PC9saT4NCiAgICAgIDxsaT48YSBocmVmPSIjV1NETDRKIj5XU0RMNEogMS42LjIgPC9hPjwvbGk+DQogICAgPC91bD4NCiAgPC9saT4NCjwvdWw+DQo8aHIgLz4NCjxoMz48YSBuYW1lPSJBU00iIGlkPSJBU00iPjwvYT5BU00gdjEuNS4zIDwvaDM+DQo8YmxvY2txdW90ZT4gDQogIDxwPlRoZSBFY2xpcHNlTGluayBQcm9qZWN0IGluY2x1ZGVzIEFTTSBmb3IgdGhlIHB1cnBvc2Ugb2YgDQogICAgYnl0ZSBjb2RlIHdlYXZpbmcuIFRoZSBBTVMgbGlicmFyeSBpcyByZS1wYWNrYWdlZCB3aXRoaW4gdGhlIHNvdXJjZSBvZiB0aGUgDQogICAgcHJvamVjdCAob3JnLnBlcnNpc3RlbmNlLmVjbGlwc2UuaW50ZXJuYWwubGlicmFyaWVzLmFzbS4qKSB0byBhdm9pZCB2ZXJzaW9uIA0KICAgIGNvbGxpc2lvbnMgd2l0aCBvdGhlciB1c2FnZSBvZiBBU00uIEEgY3VzdG9tIHBhdGNoIGhhcyBiZWVuIGFkZGVkIHRvIHRoZSBBU00gDQogICAgMS41LjMgc291cmNlIHRvIGhhbmRsZSBhbiBpc3N1ZSB3aXRoIG90aGVyIHVzYWdlcy4gVGhpcyBmaXggaGFzIA0KICAgIGFsc28gYmVlbiBjb250cmlidXRlZCBiYWNrIHRvIHRoZSBBU00gcHJvamVjdCBmb3IgaW5jbHVzaW9uIGluIGxhdGVyIHByb2plY3RzLiANCiAgPC9wPg0KICA8cD5UaGUgc291cmNlIGNvZGUgaXMgYXZhaWxhYmxlIHdpdGhpbiB0aGUgcHJvamVjdCdzIHN1YnZlcnNpb24gcmVwb3NpdG9yeS4gDQogICAgVGhlIGJpbmFyaWVzIGFyZSBkaXN0cmlidXRlZCB3aXRoaW4gdGhlIGVjbGlwc2VsaW5rLmphciBhbmQgaW4gdGhlIG9yZy5lY2xpcHNlLnBlcnNpc3RlbmNlLmFzbV8yLjEuMC52Ki5qYXIgDQogICAgYnVuZGxlLiA8L3A+DQogIDxwPiA8YSBocmVmPSJodHRwOi8vYXNtLm9iamVjdHdlYi5vcmcvbGljZW5zZS5odG1sIj5odHRwOi8vYXNtLm9iamVjdHdlYi5vcmcvbGljZW5zZS5odG1sPC9hPjwvcD4NCiAgPHA+Q29weXJpZ2h0IChjKSAyMDAwLTIwMDUgSU5SSUEsIEZyYW5jZSBUZWxlY29tLCBBbGwgcmlnaHRzIHJlc2VydmVkLjwvcD4NCiAgPHA+UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgDQogICAgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OjwvcD4NCiAgPG9sPg0KICAgIDxsaT4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCANCiAgICAgIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuPC9saT4NCiAgICA8bGk+IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgDQogICAgICB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIA0KICAgICAgYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uPC9saT4NCiAgICA8bGk+IE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIGNvcHlyaWdodCBob2xkZXJzIG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyANCiAgICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IA0KICAgICAgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLjwvbGk+DQogIDwvb2w+DQogIDxwPlRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgJnF1b3Q7QVMgDQogICAgSVMmcXVvdDtBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCANCiAgICBUTywgVEhFSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIA0KICAgIFBVUlBPU0VBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgDQogICAgQkVMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SQ09OU0VRVUVOVElBTCANCiAgICBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0ZTVUJTVElUVVRFIEdPT0RTIE9SIA0KICAgIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIA0KICAgIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU5DT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgDQogICAgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKUFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSANCiAgICBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0ZUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuPC9wPg0KPC9ibG9ja3F1b3RlPg0KPGgzPjxhIG5hbWU9IkFOVExSIiBpZD0iQU5UTFIiPjwvYT5BTlRMUiB2My4wPC9oMz4NCjxibG9ja3F1b3RlPg0KICA8cD5UaGUgPGEgaHJlZj0iaHR0cDovL3d3dy5hbnRsci5vcmcvIj5BTlRMUiBsaWJyYXJ5PC9hPiAoPGEgaHJlZj0iaHR0cDovL3d3dy5hbnRsci5vcmcvbGljZW5zZS5odG1sIj5saWNlbnNlPC9hPikgDQogICAgaXMgaW5jbHVkZWQgd2l0aGluIEVjbGlwc2VMaW5rIFByb2plY3QgdG8gZW5hYmxlIHBhcnNpbmcgb2YgdGhlIEphdmEgUGVyc2lzdGVuY2UgDQogICAgUXVlcnkgbGFuZ3VhZ2UgKEpQIFFMKS4gVGhlIEFOVExSIGxpYnJhcnkgaXMgcmUtcGFja2FnZWQgd2l0aGluIHRoZSBwcm9qZWN0IA0KICAgIGluIHRoZSBvcmcuZWNsaXBzZS5wZXJzaXN0ZW5jZS5pbnRlcm5hbC5saWJyYXJpZXMuYW50bHIuKiBwYWNrYWdlcy4gPC9wPg0KICA8cD5UaGUgc291cmNlIGlzIGF2YWlsYWJsZSB3aXRoIHRoZSBwcm9qZWN0J3Mgc3VidmVyc2lvbiByZXBvc2l0b3J5LiBUaGUgYmluYXJpZXMgDQogICAgYXJlIGRpc3RyaWJ1dGVkIHdpdGhpbiB0aGUgZWNsaXBzZWxpbmsuamFyIGFuZCBpbiB0aGUgb3JnLmVjbGlwc2UucGVyc2lzdGVuY2UuYW50bHJfMi4xLjAudiouamFyIA0KICAgIGJ1bmRsZS48L3A+DQo8L2Jsb2NrcXVvdGU+DQo8aDM+PGEgbmFtZT0iSkFYQiIgaWQ9IkpBWEIiPjwvYT5KYXZhIEFyY2hpdGVjdHVyZSBmb3IgWE1MIEJpbmRpbmcgKEpBWEIpIHYyLjI8L2gzPg0KPGJsb2NrcXVvdGU+IA0KICA8cD5UaGUgPGEgaHJlZj0iaHR0cHM6Ly9qYXhiLmRldi5qYXZhLm5ldC8yLjIvIj5KQVhCIGxpYnJhcmllczwvYT4gZGlzdHJpYnV0ZWQgDQogICAgdW5kZXIgPGEgaHJlZj0iaHR0cHM6Ly9nbGFzc2Zpc2guZGV2LmphdmEubmV0L3B1YmxpYy9DRERMdjEuMC5odG1sIj5DRERMIHYxLjA8L2E+IA0KICAgIGFyZSBpbmNsdWRlZCB3aXRoaW4gdGhlIEVjbGlwc2VMaW5rIFByb2plY3QgdG8gZW5hYmxlIHRoZSBNT1hZIGNvbXBvbmVudCdzIA0KICAgIGltcGxlbWVudGF0aW9uIG9mIEpBWEIuPC9wPg0KICA8cD5KQVhCIExpYnJhcmllczogPC9wPg0KICA8dWw+DQogICAgPGxpPmphdmF4LnhtbC5iaW5kXzIuMi4wLnYyMDEwMDUwODA0MDIuamFyIChqYXhiLWFwaS5qYXIpPC9saT4NCiAgICA8bGk+Y29tLnN1bi54bWwuYmluZF8yLjIuMC52MjAxMDA0MTQxOTUwLmphciAoamF4Yi1pbXBsLmphcik8L2xpPg0KICAgIDxsaT5jb20uc3VuLnRvb2xzLnhqY18yLjIuMC5qYXIgKGpheGIueGpjLmphcik8L2xpPg0KICA8L3VsPg0KPC9ibG9ja3F1b3RlPg0KPGgzPjxhIG5hbWU9IkpQQTEiIGlkPSJKUEExIj48L2E+SmF2YSBQZXJzaXN0ZW5jZSAoSlBBKSAxLjAgLSBFSkIgMy4wPC9oMz4NCjxibG9ja3F1b3RlPiANCiAgPHA+VGhlIEphdmEgUGVyc2lzdGVuY2UgQVBJLCBpbmNsdWRlZCB3aXRoIEVKQiAzLjAsIGlzIGF2YWlsYWJsZSBmb3IgZG93bmxvYWQgDQogICAgZnJvbSB0aGUgPGEgaHJlZj0iaHR0cHM6Ly9nbGFzc2Zpc2guZGV2LmphdmEubmV0L3NvdXJjZS9icm93c2UvZ2xhc3NmaXNoL2VqYi1hcGkiPmVqYi1hcGkgDQogICAgZGlyZWN0b3J5PC9hPiBpbiB0aGUgZ2xhc3NmaXNoIENWUyByZXBvc2l0b3J5Lkl0IGlzIGRpc3RyaWJ1dGVkIHVuZGVyIDxhIGhyZWY9Imh0dHBzOi8vZ2xhc3NmaXNoLmRldi5qYXZhLm5ldC9wdWJsaWMvQ0RETHYxLjAuaHRtbCI+IA0KICAgIENEREx2MS4wIDwvYT4uIFRoZSBqYXIgaXMgYmVpbmcgc2hpcHBlZCBhcyBhbiBPU0dpIGJ1bmRsZSBhbmQgaXMgcmVxdWlyZWQgDQogICAgZm9yIGNvbXBpbGF0aW9uIG9mIHNvbWUgY29udGFpbmVyIGJhc2VkIGZ1Y3Rpb25hbGl0eS48L3A+DQo8L2Jsb2NrcXVvdGU+DQo8cD48L3A+DQo8aDM+PGEgbmFtZT0iSlBBMiIgaWQ9IkpQQTIiPjwvYT5KYXZhIFBlcnNpc3RlbmNlIChKUEEpIDIuMCAgPC9oMz4NCjxibG9ja3F1b3RlPiANCiAgPHA+RWNsaXBzZUxpbmsgaXMgdGhlIEphdmEgUGVyc2lzdGVuY2UgKEpQQSkgMi4wIFJlZmVyZW5jZSBJbXBsZW1lbnRhdGlvbg0KICAgICg8YSBocmVmPSJodHRwOi8vamNwLm9yZy9lbi9qc3IvZGV0YWlsP2lkPTMxNyI+SlNSIDMxNzwvYT4pLiAgVGhlIEpQQSAyLjAgDQoJc3BlY2lmaWNhdGlvbiBBUEkgaXMgaW5jbHVkZWQgaW4gRWNsaXBzZUxpbmsgdW5kZXIgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sIj5FUEw8L2E+IGFuZCA8YSBocmVmPSJodHRwOi8vd3d3LmVjbGlwc2Uub3JnL29yZy9kb2N1bWVudHMvZWRsLXYxMC5waHAiPkVETDwvYT4gbGljZW5zZXMuPC9wPg0KPC9ibG9ja3F1b3RlPg0KPGgzPjxhIG5hbWU9Ik1BSUwiIGlkPSJNQUlMIj48L2E+SmF2YSBNYWlsIHYxLjQuMDwvaDM+DQo8YmxvY2txdW90ZT4NCiAgPHA+VGhlIEphdmEgTWFpbCBsaWJyYXJ5IChtYWlsLmphcikgY2FuIGJlIGRvd25sb2FkZWQgZnJvbSA8YSBocmVmPSJodHRwOi8vamF2YS5zdW4uY29tL3Byb2R1Y3RzL2phdmFtYWlsL2phdmFtYWlsLTFfNC5odG1sIj5qYXZhLnN1bi5jb208L2E+IA0KICAgIHVuZGVyIDxhIGhyZWY9Imh0dHBzOi8vZ2xhc3NmaXNoLmRldi5qYXZhLm5ldC9wdWJsaWMvQ0RETHYxLjAuaHRtbCI+Q0RETCANCiAgICB2MS4wPC9hPiBhbmQgaXMgaW5jbHVkZWQgd2l0aGluIHRoZSBFY2xpcHNlTGluayBQcm9qZWN0IGRpc3RyaWJ1dGlvbiANCiAgICB0byBzdXBwb3J0IFdlYiBTZXJ2aWNlcyBhdHRhY2htZW50IGhhbmRsaW5nIGluIHRoZSBNT1h5IGNvbXBvbmVudC4gSXQgaXMgb25seSANCiAgICByZXF1aXJlZCB3aGVuIHVzaW5nIEphdmEgU0UgNSAoSmF2YSBNYWlsIGlzIGluY2x1ZGVkIGluIEphdmEgU0UgNikuPC9wPg0KPC9ibG9ja3F1b3RlPg0KPGgzPjxhIG5hbWU9IkFDVElWQVRJT04iIGlkPSJBQ1RJVkFUSU9OIj48L2E+SmF2YSBBY3RpdmF0aW9uIEZyYW1ld29yayB2MS4xPC9oMz4NCjxibG9ja3F1b3RlPg0KICA8cD5UaGUgSmF2YSBBY3RpdmF0aW9uIEZyYW1ld29yayAoYWN0aXZhdGlvbi5qYXIpIGlzIGRpc3RyaWJ1dGVkIHdpdGggdGhlIDxhIGhyZWY9Imh0dHBzOi8vamF4Yi5kZXYuamF2YS5uZXQvMi4yLyI+SkFYQiANCiAgICB2Mi4yPC9hPiB1bmRlciA8YSBocmVmPSJodHRwczovL2dsYXNzZmlzaC5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwiPkNEREwgDQogICAgdjEuMDwvYT4gYW5kIGlzIGluY2x1ZGVkIHdpdGhpbiB0aGUgRWNsaXBzZUxpbmsgUHJvamVjdCBkaXN0cmlidXRpb24gdG8gc3VwcG9ydCANCiAgICBXZWIgU2VydmljZXMgYXR0YWNobWVudCBoYW5kbGluZyBpbiB0aGUgTU9YeSBjb21wb25lbnQuIEl0IGlzIG9ubHkgcmVxdWlyZWQgDQogICAgd2hlbiB1c2luZyBKYXZhIFNFIDUgKFRoZSBKYXZhIEFjdGl2YXRpb24gRnJhbWV3b3JrIGlzIGluY2x1ZGVkIGluIEphdmEgU0UgDQogICAgNikuPC9wPg0KPC9ibG9ja3F1b3RlPg0KPGgzPjxhIG5hbWU9IlN0QVgiIGlkPSJTdEFYIj48L2E+U3RyZWFtaW5nIEFQSSBmb3IgWE1MIChTdEFYKSB2MS4wLjE8L2gzPg0KPGJsb2NrcXVvdGU+DQogIDxwPlRoZSBTdHJlYW1pbmcgQVBJIGZvciBYTUwgKFN0QVgpIGxpYnJhcnkgKGpzcjE3M18xLjBfYXBpLmphcikgaXMgZGlzdHJpYnV0ZWQgDQogICAgd2l0aCB0aGUgPGEgaHJlZj0iaHR0cHM6Ly9qYXhiLmRldi5qYXZhLm5ldC8yLjIvIj5KQVhCIHYyLjI8L2E+IHVuZGVyIA0KICAgIDxhIGhyZWY9Imh0dHBzOi8vZ2xhc3NmaXNoLmRldi5qYXZhLm5ldC9wdWJsaWMvQ0RETHYxLjAuaHRtbCI+Q0RETCB2MS4wPC9hPiANCiAgICBhbmQgaXMgaW5jbHVkZWQgd2l0aGluIHRoZSBFY2xpcHNlTGluayBQcm9qZWN0IGRpc3RyaWJ1dGlvbiBhcyBhbiBvcHRpb25hbCANCiAgICBYTUwgcHJvY2Vzc2luZyBhcHByb2FjaCBpbiB0aGUgTU9YeSBjb21wb25lbnQuIDwvcD4NCjwvYmxvY2txdW90ZT4NCjxoMz48YSBuYW1lPSJTRE8iIGlkPSJTRE8iPjwvYT5TZXJ2aWNlIERhdGEgT2JqZWN0cyAoU0RPKSB2Mi4xLjE8L2gzPg0KPGJsb2NrcXVvdGU+DQogIDxwPlRoZSA8YSBocmVmPSJodHRwOi8vamNwLm9yZy9hYm91dEphdmEvY29tbXVuaXR5cHJvY2Vzcy9wci9qc3IyMzUvaW5kZXguaHRtbCI+U2VydmljZSANCiAgICBEYXRhIE9iamVjdHMgKFNETykgQVBJPC9hPiBpcyBkaXN0cmlidXRlZCB1bmRlciBhIDxhIGhyZWY9Imh0dHBzOi8vZ2xhc3NmaXNoLmRldi5qYXZhLm5ldC9wdWJsaWMvQ0RETHYxLjAuaHRtbCI+IENEREx2MS4wIDwvYT4gYW5kICA8YSBocmVmPSJodHRwOi8vamNwLm9yZy9hYm91dEphdmEvY29tbXVuaXR5cHJvY2Vzcy9wci9qc3IyMzUvaW5kZXguaHRtbCI+Y3VzdG9tIA0KICAgIGxpY2Vuc2U8L2E+LiBJdCBwcm92aWRlcyB0aGUgc3RhbmRhcmQgQVBJIGltcGxlbWVudGVkIGJ5IHRoZSBFY2xpcHNlTGluayBQcm9qZWN0J3MgU0RPIGNvbXBvbmVudC48L3A+DQo8L2Jsb2NrcXVvdGU+DQo8aDM+PGEgbmFtZT0iSkNBIiBpZD0iSkNBIj48L2E+SmF2YSBDb25uZWN0b3IgdjEuNTwvaDM+DQo8YmxvY2txdW90ZT4NCiAgPHA+VGhlIEpDQSAxLjUgQVBJIGlzIGF2YWlsYWJsZSBmb3IgZG93bmxvYWQgZnJvbSB0aGUgPGEgaHJlZj0iaHR0cHM6Ly9nbGFzc2Zpc2guZGV2LmphdmEubmV0L3NvdXJjZS9icm93c2UvZ2xhc3NmaXNoL2Nvbm5lY3Rvci1hcGkiPmNvbm5lY3Rvci1hcGkgDQogICAgZGlyZWN0b3J5PC9hPiBpbiB0aGUgZ2xhc3NmaXNoIENWUyByZXBvc2l0b3J5LiBJdCBpcyBkaXN0cmlidXRlZCB1bmRlciA8YSBocmVmPSJodHRwczovL2dsYXNzZmlzaC5kZXYuamF2YS5uZXQvcHVibGljL0NEREx2MS4wLmh0bWwiPiANCiAgICBDRERMdjEuMCA8L2E+LiA8L3A+DQogIDxwPlRoaXMgamFyIGlzIGJlaW5nIHNoaXBwZWQgYW5kIHJlcXVpcmVkIGJ5IHRoZSBXb3JrYmVuY2ggb25seS4gV2hlbiB1c2luZyANCiAgICBFY2xpcHNlTGluayBpbiBhIGNvbnRhaW5lciB3aGVyZSBKQ0EgaW50ZWdyYXRpb24gaXMgcmVxdWlyZWQgdGhhdCBjb250YWluZXIgDQogICAgd2lsbCBwcm92aWRlIHRoZSBuZWNlc3NhcnkgQVBJIGxpYnJhcmllcy48L3A+DQo8L2Jsb2NrcXVvdGU+DQo8aDM+PGEgbmFtZT0iWEVSQ0VTIiBpZD0iWEVSQ0VTIj48L2E+WGVyY2VzIHYyLjkuMDwvaDM+DQo8YmxvY2txdW90ZT4NCiAgPHA+WGVyY2VzIDIuOS4wIGlzIGF2YWlsYWJsZSBmcm9tIDxhIGhyZWY9Imh0dHA6Ly94ZXJjZXMuYXBhY2hlLm9yZy94ZXJjZXMtai8iPiANCiAgICB0aGUgWGVyY2VzIGhvbWUgcGFnZTwvYT4uIEl0IGlzIGRpc3RyaWJ1dGVkIHVuZGVyIDxhIGhyZWY9Imh0dHA6Ly9hbnQuYXBhY2hlLm9yZy9saWNlbnNlLmh0bWwiPiANCiAgICBBcGFjaGUgMi4wPC9hPi48L3A+DQogIDxwPlRoaXMgamFyIGlzIHNoaXBwZWQgZm9yIHRoZSBXb3JrYmVuY2gncyB1c2Ugb25seSBpbiB0aGUgcmVhZGluZyBhbmQgd3JpdGluZyANCiAgICBvZiBYTUwgY29uZmlndXJhdGlvbiBmaWxlcy48L3A+DQo8L2Jsb2NrcXVvdGU+DQo8aDM+PGEgbmFtZT0iU0VSVkxFVCIgaWQ9IlNFUlZMRVQiPjwvYT5KYXZhIFNlcnZsZXQgMi40PC9oMz4NCjxibG9ja3F1b3RlPg0KICA8cD5UaGUgPGEgaHJlZj0iaHR0cDovL2pjcC5vcmcvYWJvdXRKYXZhL2NvbW11bml0eXByb2Nlc3MvZmluYWwvanNyMTU0L2luZGV4Lmh0bWwiPkphdmEgU2VydmxldCAyLjQgc3BlY2lmaWNhdGlvbjwvYT4NCiAgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlICA8YSBocmVmPSJodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAuaHRtbCI+QXBhY2hlIDIuMCBsaWNlbnNlPC9hPi4gVGhlIHNvdXJjZSBjb2RlIGlzIHBhcnQgb2YgdGhlIDxhIGhyZWY9Imh0dHA6Ly9zdm4uYXBhY2hlLm9yZy9yZXBvcy9hc2YvdG9tY2F0L3RydW5rL2phdmEvamF2YXgvc2VydmxldC8iPkFwYWNoZSBUb21jYXQgcHJvamVjdDwvYT4gDQogIDxwPlRoaXMgamFyIGlzIG9ubHkgcmVxdWlyZWQgYXQgZGVzaWduIHRpbWUgZm9yIHRoZSBEQldTIEJ1aWxkZXIgdXRpbGl0eS48L3A+DQo8L2Jsb2NrcXVvdGU+DQo8aDM+PGEgbmFtZT0iV1NETDRKIiBpZD0iV1NETDRKIj48L2E+V1NETDRqIHYxLjYuMjwvaDM+DQo8YmxvY2txdW90ZT4NCiAgPHA+V1NETDRKIDEuNi4yIGlzIGF2YWlsYWJsZSBmb3IgZG93bmxvYWQgZnJvbSB0aGUgPGEgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy93c2RsNGoiPndzZGw0aiANCiAgICBwcm9qZWN0PC9hPi4gSXQgZGlzdHJpYnV0ZWQgdW5kZXIgPGEgaHJlZj0iaHR0cDovL3N2bi5hcGFjaGUub3JnL3JlcG9zL2FzZi93ZWJzZXJ2aWNlcy93c3M0ai90cnVuay9sZWdhbC9MSUNFTlNFLndzZGw0aiI+IA0KICAgIENQTHYxLjAgPC9hPi4gPC9wPg0KICA8cD5UaGlzIGphciBpcyBvbmx5IHJlcXVpcmVkIGF0IGRlc2lnbiB0aW1lIGZvciB0aGUgREJXUyBCdWlsZGVyIHV0aWxpdHkuPC9wPg0KPC9ibG9ja3F1b3RlPg0KPHA+PC9wPg0KPC9ib2R5Pg0KPC9odG1sPg0K