PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFsLy9FTiI+CjxodG1sPgo8aGVhZD4KPHRpdGxlPklOU0VSVCBQUk9KRUNUIE5BTUUgUHJvcG9zYWw8L3RpdGxlPgo8bGluayB0eXBlPSJ0ZXh0L2NzcyIgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvcHJvcG9zYWxzL3RlbXBsYXRlcy9lY2xpcHNlLXByb3Bvc2FsLmNzcyI+CjwvaGVhZD4KCjxib2R5PgoKPHAgaWQ9ImhlYWRlciI+PGltZyBzcmM9Ii9pbWFnZXMvSWRlYS5qcGciCiBhbGlnbj0icmlnaHQiIGhlaWdodD0iODYiIGhzcGFjZT0iNTAiIHdpZHRoPSIxMjAiPgo8YnI+Cgo8c3BhbiBjbGFzcz0iaW5kZXh0b3AiPqtJTlNFUlQgUFJPSkVDVCBOQU1Fuzwvc3Bhbj48YnI+CjxzcGFuIGNsYXNzPSJpbmRleHN1YiI+QSBUZWNobm9sb2d5IFByb2plY3QgUHJvcG9zYWw8L3NwYW4+CjwvcD4KCjxoMT5JbnRyb2R1Y3Rpb248L2gxPgo8P3BocAppbmNsdWRlX29uY2UoIi4uLy4uL29yZy9wcm9jZXNzZXMvZnJhZ21lbnRzL3Byb3Bvc2FsLXBhZ2UtaGVhZGVyLnBocCIpOwpnZW5lcmF0ZV9oZWFkZXIoIqtJTlNFUlQgUFJPSkVDVCBOQU1FuyIpOwo/Pgo8cD5UaGUgq0lOU0VSVCBQUk9KRUNUIE5BTUW7IGlzIGEgcHJvcG9zZWQgb3BlbiBzb3VyY2UgCnByb2plY3QgdW5kZXIgdGhlIDxhIGhyZWY9Ii90ZWNobm9sb2d5LyI+RWNsaXBzZSAKVGVjaG5vbG9neSBQcm9qZWN0PC9hPi48L3A+CjxwPqtCRSBTVVJFIFRPIFVQREFURSBUSEUgUEFHRSBUSVRMRSBJTiBUSEUKJmx0O2hlYWQmZ3Q7Jmx0O3RpdGxlJmd0Oy4uLiZsdDsvdGl0bGUmZ3Q7Jmx0Oy9oZWFkJmd0OyBGSUVMRLs8L3A+CjxwPlRoaXMgcHJvcG9zYWwgaXMgaW4gdGhlIFByb2plY3QgUHJvcG9zYWwgUGhhc2UgKGFzIGRlZmluZWQgaW4gdGhlCjxhIGhyZWY9Ii9wcm9qZWN0cy9kZXZfcHJvY2Vzcy8iPgpFY2xpcHNlIERldmVsb3BtZW50IFByb2Nlc3MgZG9jdW1lbnQ8L2E+KSBhbmQgaXMgd3JpdHRlbiB0byBkZWNsYXJlIGl0cyBpbnRlbnQgCmFuZCBzY29wZS4gVGhpcyBwcm9wb3NhbCBpcyB3cml0dGVuIHRvIHNvbGljaXQgYWRkaXRpb25hbCBwYXJ0aWNpcGF0aW9uIGFuZCAKaW5wdXQgZnJvbSB0aGUgRWNsaXBzZSBjb21tdW5pdHkuIFlvdSBhcmUgaW52aXRlZCB0byBjb21tZW50IG9uIGFuZC9vciBqb2luIHRoZSAKcHJvamVjdC4gUGxlYXNlIHNlbmQgYWxsIGZlZWRiYWNrIHRvIHRoZSA8YSBocmVmPSJodHRwOi8vd3d3LmVjbGlwc2Uub3JnL25ld3Nwb3J0YWwvdGhyZWFkLnBocD9ncm91cD1lY2xpcHNlLnRlY2hub2xvZ3kiPmh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbmV3c3BvcnRhbC90aHJlYWQucGhwP2dyb3VwPWVjbGlwc2UudGVjaG5vbG9neTwvYT4gbmV3c2dyb3VwLiZuYnNwOwoKPGgxPkJhY2tncm91bmQ8L2gxPgqrSU5TRVJUIEJBQ0tHUk9VTkQgUEFSQUdSQVBIU7sKCjxoMT5EZXNjcmlwdGlvbjwvaDE+CgkJPHAgYWxpZ249ImxlZnQiPqtJTlNFUlQgREVTQ1JJUFRJT04sIFNDT1BFIEFORCBHT0FMUyAoQU5EIFNUQVRVUyBJRiBUSEUKICAgICAgICBDT0RFIEJBU0UgQUxSRUFEWSBFWElTVFMpuyA8L3A+Cgo8aDE+T3JnYW5pemF0aW9uPC9oMT4KCgkJCTxwIGFsaWduPSJsZWZ0Ij6rU0VMRUNUIEEgREVTQ1JJUFRJT04gU0lNSUxBUiBUTyBPTkUgT0YgVEhFU0UKICAgICAgICAgICAgQkVMT1cuLi4gSUYgVEhFIFBST0pFQ1QnUyBFVkVOVFVBTCBHT0FMIElTIFRPIENPLUVYSVNUIFdJVEggT1RIRVIKICAgICAgICAgICAgRUNMSVBTRSBQUk9KRUNUUyBZT1UgTUlHSFQgVVNFIFNPTUVUSElORyBMSUtFIFRISVMuLi67PHAgYWxpZ249ImxlZnQiPldlIHByb3Bvc2UgdGhpcyBwcm9qZWN0IHNob3VsZCBiZSB1bmRlcnRha2VuIGFzIGFuIGluY3ViYXRvciB3aXRoaW4gdGhlIEVjbGlwc2UgVGVjaG5vbG9neSBQcm9qZWN0LiAgSXQgaXMgaW50ZW5kZWQgdG8gY29tcGxlbWVudAogICAgICAgIFByb2plY3QgWCBhbmQgUHJvamVjdCBZLCB3aGljaCBhcmUgYm90aCBmb3VuZCBpbiB0aGUgRWNsaXBzZSBUb29scyBQcm9qZWN0LCBhbmQgd2hlcmUgaXQgaXMgYW50aWNpcGF0ZWQKICAgICAgICB0aGlzIHByb2plY3Qgd2lsbCB1bHRpbWF0ZWx5IHJlc2lkZS48L3A+CgoJCTxwIGFsaWduPSJsZWZ0Ij6rQUxURVJOQVRJVkVMWSwgSUYgVEhFIFBST0pFQ1QnUyBFVkVOVFVBTCBHT0FMIElTIFRPIEJFCiAgICAgICAgQUJTT1JCRUQgSU5UTyBUSEUgUExBVEZPUk0sIFlPVSBNSUdIVCBVU0UgU09NRVRISU5HIExJS0UgVEhJUy4uLrs8L3A+CgoJCTxwIGFsaWduPSJsZWZ0Ij5XZSBwcm9wb3NlIHRoaXMgcHJvamVjdCBzaG91bGQgYmUgdW5kZXJ0YWtlbiBhcyBhIFRlY2hub2xvZ3kgcHJvamVjdCByYXRoZXIgdGhhbiBhcyBwYXJ0IG9mIHRoZSBFY2xpcHNlIFBsYXRmb3JtLiBCZWluZyBhIFRlY2hub2xvZ3kgcHJvamVjdCBnaXZlcyBpdCByb29tIHRvIGV4cGVyaW1lbnQgd2l0aG91dCBkaXNydXB0aW9uIHRvIG90aGVyIEVjbGlwc2UgUGxhdGZvcm0gZGV2ZWxvcG1lbnQgd29yay48YnI+CiAgICAgICAgPGJyPgogICAgICAgIFRoZSBsaWZlIGN5Y2xlIG9mIHRoaXMgcHJvamVjdCBtYXkgYmUgc2ltaWxhciB0byB0aGUgRXF1aW5veCBwcm9qZWN0LiAgVGhhdCBpcywgb25jZSB0aGlzIHdvcmsgbWF0dXJlcywgaXQgbWF5IGJlIGluY29ycG9yYXRlZCBpbnRvIHRoZSBFY2xpcHNlIFBsYXRmb3JtIHRvIHByb3ZpZGUgYSBjb21tb24gb3BlbiBzb3VyY2Ugc3Vic3RyYXRlIHRoYXQgaW5kdXN0cmlhbC9jb21tZXJjaWFsIHVzZXJzIGNvdWxkIHVzZSB0byBidWlsZCBzb2x1dGlvbnMuIEFsdGVybmF0aXZlbHksIGl0IG1heSBjb250aW51ZSBhcyBhCiAgICAgICAgVGVjaG5vbG9neSBzdWJwcm9qZWN0LiZuYnNwOzwvcD4KCgkJPHAgYWxpZ249ImxlZnQiPqtBTFRFUk5BVElWRUxZLCBJRiBUSEUgUFJPSkVDVCBJUyBNT1JFIE9GIEEgUkVTRUFSQ0gKICAgICAgICBQUk9KRUNUIEFORCBUSEUgRVZFTlRVQUwgR09BTCBJUyBOT1QgWUVUIERFVEVSTUlORUQsIFlPVSBNSUdIVCBVU0UKICAgICAgICBTT01FVEhJTkcgTElLRSBUSElTLi4uuzwvcD4KCgkJPHAgYWxpZ249ImxlZnQiPkZpbmFsbHksIHNpbmNlIFRlY2hub2xvZ3kgc3ViLXByb2plY3RzIGFyZSBub3QgbWVhbnQgdG8gYmUgb25nb2luZywgd2UgZm9yZXNlZSB0aHJlZSBwb3NzaWJsZSBldm9sdXRpb25hcnkgcGF0aHMgZm9yIHRoZSBzdWJwcm9qZWN0Ojxicj4KICAgICAgICA8YnI+CiAgIDEuIFRoZSBwcm9qZWN0IGlzIG1lcmdlZCBiYWNrIGludG8gdGhlIG1haW5saW5lIEVjbGlwc2UgUGxhdGZvcm0gdG9wLWxldmVsIHByb2plY3QuPGJyPgogICAyLiBUaGUgcHJvamVjdCBpcyBtb3ZlZCB0byBhIHBlcm1hbmVudCBzdGF0ZSBhcyBhIFRvb2xzIFBsYXRmb3JtIHByb2plY3QuPGJyPgogICAzLiBUaGUgdGVjaG5vbG9neSBwcm92ZXMgdG8gYmUgaW5zdWZmaWNpZW50IGZvciBFY2xpcHNlIGFuZCB0aGUgd29yayBpcyBzZXQgYXNpZGUuPGJyPgogICAgICAgIDxicj4KICAgICAgICBUaGVzZSBwYXRocyBhcmUgbm90IG11dHVhbGx5IGV4Y2x1c2l2ZS4gU29tZSBjb21iaW5hdGlvbiBvZiBzb21lIG9yIGFsbCBvZiB0aGVzZSBwYXRocyBtYXkgYmUgdGhlIHJlc3VsdCBvZiB0aGUgd29yayBkb25lIGluIHRoaXMgcHJvamVjdC4mbmJzcDs8L3A+CgoJCTxwIGFsaWduPSJsZWZ0Ij6rLi4uTk9XIEJBQ0sgVE8gWU9VUiBSRUdVTEFSTFkgU0NIRURVTEVEIFBST1BPU0FMCiAgICAgICAgQk9JTEVSUExBVEW7PC9wPgoKCQk8aDIgYWxpZ249ImxlZnQiPlByb3Bvc2VkIHByb2plY3QgbGVhZCBhbmQgaW5pdGlhbCBjb21taXR0ZXJzPC9oMj4KCQk8dWw+CgoJCQk8bGk+CgkJCTxwIGFsaWduPSJsZWZ0Ij6rSU5TRVJUIFBST0pFQ1QgTEVBRCBOQU1FIEFORCBBRkZJTElBVElPTrsgPC9saT4KCgkJCTxsaT4KCQkJPHAgYWxpZ249ImxlZnQiPqtJTlNFUlQgQ09NTUlUVEVSIE5BTUUgQU5EIEFGRklMSUFUSU9OuyA8L2xpPgoKCQkJPGxpPgoJCQk8cCBhbGlnbj0ibGVmdCI+q0VUQ7sgPC9saT4KCgkJPC91bD4KCQk8aDIgYWxpZ249ImxlZnQiPkludGVyZXN0ZWQgcGFydGllczwvaDI+CjxwIGFsaWduPSJsZWZ0Ij5UaGUgZm9sbG93aW5nIAoJCXByb2plY3RzIGhhdmUgZXhwcmVzc2VkIGludGVyZXN0IGluIHRoaXMgcHJvamVjdC4gS2V5IGNvbnRhY3RzIGxpc3RlZC48dWw+CgkJCTxsaT4KCQkJPHAgYWxpZ249ImxlZnQiPqtJTlNFUlQgSU5URVJFU1RFRCBDT01QQU5ZL09SR0FOSVpBVElPTiBBTkQgQ09OVEFDVAogICAgICAgICAgICBOQU1FuzwvbGk+CgkJCTxsaT4KCQkJPHAgYWxpZ249ImxlZnQiPqtJTlNFUlQgSU5URVJFU1RFRCBDT01QQU5ZL09SR0FOSVpBVElPTiBBTkQgQ09OVEFDVAogICAgICAgICAgICBOQU1FuzwvbGk+CgkJCTxsaT4KCQkJPHAgYWxpZ249ImxlZnQiPqtFVEO7PC9saT4KCQk8L3VsPgoJCQk8aDIgYWxpZ249ImxlZnQiPkNvZGUgQ29udHJpYnV0aW9uczwvaDI+CgkJCTxwIGFsaWduPSJsZWZ0Ij6rSU5TRVJUIENPREUgQ09OVFJJQlVUSU9OUyBQQVJBR1JBUEhTuzxicj4KCjxoMT5UZW50YXRpdmUgUGxhbjwvaDE+CgkJPHA+q0lOU0VSVCBURU5UQVRJVkUgUExBTiBQQVJBR1JBUEhTuwo8L2JvZHk+Cgo8L2h0bWw+