CORE-2007-0817: Remote Command execution, HTML and JavaScript injection vulnerabilities in AOL's Instant Messaging software
Core Security Technologies Advisories <[email protected]> Tue, 25 Sep 2007 13:20:55 -0300
| Newsgroups | gmane.comp.security.full-disclosure,gmane.comp.security.bugtraq,gmane.comp.security.ntbugtraq |
|---|---|
| Organization | Core Security Technologies |
| Message-ID | <[email protected]> |
LS0tLS1CRUdJTiBQR1AgU0lHTkVEIE1FU1NBR0UtLS0tLQpIYXNoOiBTSEExCgogICAgICAgICBD b3JlIFNlY3VyaXR5IFRlY2hub2xvZ2llcyDigJMgQ29yZUxhYnMgQWR2aXNvcnkKICAgICAgICAg ICBodHRwOi8vd3d3LmNvcmVzZWN1cml0eS5jb20vY29yZWxhYnMKClJlbW90ZSBjb21tYW5kIGV4 ZWN1dGlvbiwgSFRNTCBhbmQgSmF2YVNjcmlwdCBpbmplY3Rpb24gdnVsbmVyYWJpbGl0aWVzIGlu CkFPTOKAmXMgSW5zdGFudCBNZXNzYWdpbmcgc29mdHdhcmUKCipBZHZpc29yeSBJbmZvcm1hdGlv bioKClRpdGxlOiBSZW1vdGUgQ29tbWFuZCBleGVjdXRpb24sIEhUTUwgYW5kIEphdmFTY3JpcHQg aW5qZWN0aW9uCnZ1bG5lcmFiaWxpdGllcyBpbiBBT0wncyBJbnN0YW50IE1lc3NhZ2luZyBzb2Z0 d2FyZQoKQWR2aXNvcnkgSUQ6IENPUkUtMjAwNy0wODE3CgpBZHZpc29yeSBVUkw6Cmh0dHA6Ly93 d3cuY29yZXNlY3VyaXR5LmNvbS9pbmRleC5waHA1P21vZHVsZT1Db250ZW50TW9kJmFjdGlvbj1p dGVtJmlkPTE5MjQKCkRhdGUgcHVibGlzaGVkOiAyMDA5LTA5LTI1CkRhdGUgb2YgbGFzdCB1cGRh dGU6IDIwMDctMDktMjUKVmVuZG9ycyBjb250YWN0ZWQ6IEFPTCBMTEMuCgpSZWxlYXNlIG1vZGU6 IEZvcmNlZCBSZWxlYXNlCgoqVnVsbmVyYWJpbGl0eSBJbmZvcm1hdGlvbioKCkNsYXNzOiBEZXNp Z24gRXJyb3IKUmVtb3RlbHkgRXhwbG9pdGFibGU6IFllcwpMb2NhbGx5IEV4cGxvaXRhYmxlOiBO bwpCdWd0cmFxIElEOiAyNTY1OQpDVkUgTmFtZTogQ1ZFLTIwMDctNDkwMQoKKlZ1bG5lcmFiaWxp dHkgRGVzY3JpcHRpb24qCgpBT0wgSW5zdGFudCBNZXNzZW5nZXIgKCJBSU0iLCBodHRwOi8vd3d3 LmFpbS5jb20pIGlzIGFuIGluc3RhbnQgbWVzc2FnaW5nCmFwcGxpY2F0aW9uIHRoYXQgYWxsb3dz IGl0cyB1c2VycyB0byBjb21tdW5pY2F0ZSBpbiByZWFsIHRpbWUgdmlhIHRleHQsCnZvaWNlLCBh bmQgdmlkZW8gb3ZlciB0aGUgSW50ZXJuZXQuIEl0IGlzIG1haW50YWluZWQgYnkgQU9MIExMQy4g QUlNIFBybwppcyBBT0wncyBidXNpbmVzcy1vcmllbnRlZCB2ZXJzaW9uIG9mIEFJTSB0YXJnZXRl ZCBmb3IgcHJvZmVzc2lvbmFsIHVzZQp3aXRoIGFuIGVtcGhhc2lzIG9uICJidXNpbmVzcy1ncmFk ZSIgc2VjdXJpdHkgYW5kIGludGVncmF0aW9uIHdpdGggZW1haWwKY2xpZW50IGFuZCBvdGhlciBw cm9kdWN0aXZpdHkgYXBwbGljYXRpb25zCihodHRwOi8vYWltcHJvLnByZW1pdW1zZXJ2aWNlcy5h b2wuY29tLykgQUlNIExpdGUsIGFzIGRlZmluZWQgaW4gaXRzCndlYnNpdGUgKGh0dHA6Ly94LmFp bS5jb20vbGFpbS8pLCBpcyBhIHJlZmVyZW5jZSBhcHBsaWNhdGlvbiB1c2VkIHRvIHRlc3QKbmV3 IHRlY2hub2xvZ3kgYWxzbyBkZXZlbG9wZWQgYnkgQU9MIGFuZCBhdmFpbGFibGUgZm9yIHRoZSBw dWJsaWMgaW4gdGhlCmZvcm0gb2YgYSAibGlnaHQgSU0gY2xpZW50Ii4KCkEgdnVsbmVyYWJpbGl0 eSB3YXMgZGlzY292ZXJlZCBpbiB0aGVzZSB0aHJlZSBwb3B1bGFyIHZlcnNpb25zIG9mIEFPTApJ bnN0YW50IE1lc3NhZ2luZyBzb2Z0d2FyZSwgQUlNIDYuMSAoYW5kIDYuMiBiZXRhKSwgQUlNIFBy byBhbmQgQUlNIExpdGUsCndoaWNoIGV4cG9zZSB3b3Jrc3RhdGlvbnMgcnVubmluZyB0aGUgSU0g Y2xpZW50cyBhbmQgdGhlaXIgdXNlcnMgdG8Kc2V2ZXJhbCBpbW1lZGlhdGUgaGlnaC1yaXNrIGF0 dGFjayB2ZWN0b3JzLiBUbyBzdXBwb3J0IHJlbmRlcmluZyBvZiBIVE1MCmNvbnRlbnQsIHRoZSB2 dWxuZXJhYmxlIElNIGNsaWVudHMgdXNlIGFuIGVtYmVkZGVkIEludGVybmV0IEV4cGxvcmVyCnNl cnZlciBjb250cm9sLiBVbmZvcnR1bmF0ZWx5IHRoZXkgZG8gbm90IHByb3Blcmx5IHNhbml0aXpl IHRoZQpwb3RlbnRpYWxseSBtYWxpY2lvdXMgaW5wdXQgY29udGVudCB0byBiZSByZW5kZXJlZCBh bmQsIGFzIGEgcmVzdWx0LCBhbgphdHRhY2tlciBtaWdodCBwcm92aWRlIG1hbGljaW91cyBIVE1M IGNvbnRlbnQgYXMgcGFydCBvZiBhbiBJTSBtZXNzYWdlIHRvCmRpcmVjdGx5IGV4cGxvaXQgSW50 ZXJuZXQgRXhwbG9yZXIgYnVncyBvciB0byB0YXJnZXQgSUXigJ9zIHNlY3VyaXR5CmNvbmZpZ3Vy YXRpb24gd2Vha25lc3Nlcy4KCkluIHBhcnRpY3VsYXIgdGhpcyBhdHRhY2sgdmVjdG9yIGV4cG9z ZXMgd29ya3N0YXRpb25zIHRvOgotIC0gRGlyZWN0IHJlbW90ZSBleGVjdXRpb24gb2YgYXJiaXRy YXJ5IGNvbW1hbmRzIHdpdGhvdXQgdXNlciBpbnRlcmFjdGlvbi4KLSAtIERpcmVjdCBleHBsb2l0 YXRpb24gb2YgSUUgYnVncyB3aXRob3V0IHVzZXIgaW50ZXJhY3Rpb24uIEZvciBleGFtcGxlLAog IGV4cGxvaXRhdGlvbiBidWdzIHRoYXQgbm9ybWFsbHkgcmVxdWlyZSB0aGUgdXNlciB0byBjbGlj ayBvbiBhIFVSTAogIHByb3ZpZGVkIGJ5IHRoZSBhdHRhY2tlciBjYW4gYmUgZXhwbG9pdGVkIGRp cmVjdGx5IHVzaW5nIHRoaXMgYXR0YWNrCiAgdmVjdG9yLgotIC0gRGlyZWN0IGluamVjdGlvbiBv ZiBzY3JpcHRpbmcgY29kZSBpbiBJbnRlcm5ldCBFeHBsb3Jlci4gRm9yIGV4YW1wbGUsCiAgcmVt b3RlbHkgaW5qZWN0aW5nIEphdmFTY3JpcHQgY29kZSBpbnRvIHRoZSBlbWJlZGRlZCBJRSBjb250 cm9sIG9mIHRoZQogIEFJTSBjbGllbnQuCi0gLSBSZW1vdGUgaW5zdGFudGlhdGlvbiBvZiBBY3Rp dmUgWCBjb250cm9scyBpbiB0aGUgY29ycmVzcG9uZGluZyBzZWN1cml0eQogIHpvbmUuCi0gLSBD cm9zcy1zaXRlIHJlcXVlc3QgZm9yZ2VyeSBhbmQgdG9rZW4vY29va2llIG1hbmlwdWxhdGlvbiB1 c2luZyBlbWJlZGRlZAogIEhUTUwuCgoqVnVsbmVyYWJsZSBwYWNrYWdlcyoKICBBSU0gNi4xICg2 LjEuNDEuMikKICBBSU0gNi4yICg2LjIuMzIuMSkKICBBSU0gUHJvCiAgQUlNIExpdGUKCipOb24t dnVsbmVyYWJsZSBwYWNrYWdlcyoKICBBSU0gNi41ICg2LjUuMy4xMikgLSBodHRwOi8vYmV0YS5h b2wuY29tL3Byb2plY3RzLnBocD9wcm9qZWN0PWFpbTYKICBBSU0gRXhwcmVzcyAtIGh0dHA6Ly93 d3cuYWltLmNvbS9haW1leHByZXNzLmFkcAogIENsYXNzaWMgQUlNIDUuOSAtIGh0dHA6Ly93d3cu YWltLmNvbS9nZXRfYWltL3dpbi9vdGhlcl93aW4uYWRwCgoqVmVuZG9yIEluZm9ybWF0aW9uLCBT b2x1dGlvbnMgYW5kIFdvcmthcm91bmRzKgoKQU9MIExMQyBWZW5kb3IgU3RhdGVtZW50OwoKT3Zl cnZpZXcKQU9MIGhhcyBiZWNvbWUgYXdhcmUgb2Ygc2VjdXJpdHkgdnVsbmVyYWJpbGl0aWVzIGlu IHNldmVyYWwgQUlNIGluc3RhbnQKbWVzc2FnaW5nIGNsaWVudHMuIFN1Y2Nlc3NmdWwgZXhwbG9p dGF0aW9uIG9mIHRoZXNlIHZ1bG5lcmFiaWxpdGllcyBjb3VsZAphbGxvdyBhbiBhdHRhY2tlciB0 byBleGVjdXRlIGFyYml0cmFyeSBjb21tYW5kcyBvbiBhIHVzZXIncyB3b3Jrc3RhdGlvbi4KQU9M IGhhcyBkZXBsb3llZCBob3N0IHNpZGUgZmlsdGVyaW5nIG9uIHRoZSBBSU0gc2VydmVycyB0byBi bG9jayB0aGlzCnBvdGVudGlhbGx5IG1hbGljaW91cyBjb250ZW50IGZyb20gYmVpbmcgc2VudCB0 byBBSU0gY2xpZW50cy4KCkFmZmVjdGVkIFByb2R1Y3RzIGFuZCBBcHBsaWNhdGlvbnMKKiBBSU0g Ni4xCiogQUlNIDYuMgoqIEFJTSBQcm8KKiBBSU0gTGl0ZQoKU29sdXRpb25zCjEuIFVzZXJzIG9m IEFJTSBjYW4gdXBncmFkZSB0byB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhlIEFJTSBiZXRhIGNs aWVudAphdCBiZXRhLmFvbC5jb20uCgpBY2tub3dsZWRnbWVudHMKQU9MIHdvdWxkIGxpa2UgdG8g dGhhbmsgQ29yZSBTZWN1cml0eSBUZWNobm9sb2dpZXMgZm9yIHJlc3BvbnNpYmx5CnJlcG9ydGlu ZyB0aGlzIGlzc3VlIHRvIEFPTCBhbmQgZm9yIHdvcmtpbmcgd2l0aCBBT0wgb24gdGVzdGluZyBh bmQKbWl0aWdhdGluZyB0aGVzZSBpc3N1ZXMuCgoqT3RoZXIgd29ya2Fyb3VuZHMgKHVuLW9mZmlj aWFsKSoKV29ya2Fyb3VuZCAjMTogVXNlcnMgcnVubmluZyBBSU0gb24gTWljcm9zb2Z0IFdpbmRv d3MgWFAgU1AyIG9yIFdpbmRvd3MKU2VydmVyIDIwMDMgU1AxIG1heSBpbXBsZW1lbnQgTWljcm9z b2Z0J3MgIkludGVybmV0IEV4cGxvcmVyIExvY2FsIE1hY2hpbmUKWm9uZSBMb2NrZG93biIgcmVj b21tZW5kYXRpb25zIHRvIG1pdGlnYXRlIHJpc2suIFRoaXMgd2lsbCBub3QgZml4IHRoZQpyZXBv cnRlZCBidWdzIGJ1dCB3aWxsIHJlZHVjZSB0aGUgcmlzayBvZiBleHBsb2l0YXRpb24gc2lnbmlm aWNhbnRseS4KVG8gZW5hYmxlIExvY2FsIE1hY2hpbmUgWm9uZSBMb2NrZG93biBmb3IgeW91ciBB SU0gY2xpZW50LCBnbyB0byB0aGUKZm9sbG93aW5nIHJlZ2lzdHJ5IGtleToKCkhLRVlfTE9DQUxf TUFDSElORVxTT0ZUV0FSRVxNaWNyb3NvZnQgXEludGVybmV0CkV4cGxvcmVyXE1haW5cRmVhdHVy ZUNvbnRyb2xcRkVBVFVSRV9Mb2NhbE1hY2hpbmVfTG9ja2Rvd24KCkFkZCBhIFJFR19EV09SRCB2 YWx1ZSB0byB0aGlzIGtleSBuYW1lZCBhcyB0aGUgQUlNIGNsaWVudCBhcHBsaWNhdGlvbiAoZm9y CmV4YW1wbGUsIGFpbS5leGUpIGFuZCBzZXQgaXQgdG8gMS4gQW55IG90aGVyIHNldHRpbmcgZm9y IHRoaXMgdmFsdWUgd2lsbApkaXNhYmxlIExvY2FsIE1hY2hpbmUgWm9uZSBMb2NrZG93biBmb3Ig dGhlIGFwcGxpY2F0aW9uLgoKRm9yIGZ1cnRoZXIgZGV0YWlscyBhYm91dCBob3cgdG8gY29uZmln dXJlIHRoaXMgZmVhdHVyZSByZWFkIE1pY3Jvc29mdOKAn3MKSW50ZXJuZXQgRXhwbG9yZXIgTG9j YWwgTWFjaGluZSBab25lIExvY2tkb3duIHJlY29tbWVuZGF0aW9uIGF0OgpodHRwOi8vdGVjaG5l dC5taWNyb3NvZnQuY29tL2VudXMvbGlicmFyeS9iYjQ1NzE1MC5hc3B4I0VIQUEKCipDcmVkaXRz KgpUaGlzIHZ1bG5lcmFiaWxpdHkgd2FzIGRpc2NvdmVyZWQgYnkgTHVjYXMgTGF2YXJlbGxvIGZy b20gdGhlIENPUkUKU2VjdXJpdHkgQ29uc3VsdGluZyBTZXJ2aWNlcyAoQ09SRSBTQ1MpIHRlYW0u CgoqVGVjaG5pY2FsIERlc2NyaXB0aW9uIC8gUHJvb2Ygb2YgQ29uY2VwdCBDb2RlKgoKVGhlIHN0 YW5kYXJkIHByb3RvY29sIHRoYXQgQUlNIGNsaWVudHMgdXNlIHRvIGNvbW11bmljYXRlIGlzIGNh bGxlZCBPU0NBUgooT3BlbiBTeXN0ZW0gZm9yIENvbW11bmljQXRpb24gaW4gUmVhbHRpbWUpLCB3 aGljaCBpcyBhIGNsb3NlZCBwcm90b2NvbAphbHNvIHVzZWQgYnkgQU9MJ3Mgc2Vjb25kYXJ5IElu c3RhbnQgTWVzc2FnaW5nIGNsaWVudCwgSUNRIChJIFNlZWsgWW91KS4KT24gdG9wIG9mIHRoZSBP U0NBUiBwcm90b2NvbCwgQUlNIGNsaWVudHMgaGF2ZSBpbXBsZW1lbnRlZCBzdXBwb3J0IGZvcgpl bmhhbmNlZCBtZXNzYWdlIHR5cGVzIHRoYXQgdXNlIGZlYXR1cmVzIHByb3ZpZGVkIGJ5IHRoZSBI VE1MIChIeXBlciBUZXh0Ck1hcmt1cCBMYW5ndWFnZSkgaW4gb3JkZXIgdG8sIGZvciBleGFtcGxl LCBwcm92aWRlIEFJTSB1c2VycyB3aXRoIHRoZQpwb3NzaWJpbGl0eSBvZiBleGNoYW5naW5nIHRl eHQgbWVzc2FnZXMgd2l0aCBzcGVjaWZpYyBmb250IGZvcm1hdHMgb3IKY29sb3JzLiBBSU0gNi4x LCBBSU0gNi4yIChiZXRhKSwgQUlNIFBybyBhbmQgQUlNIExpdGUgaGF2ZSBlbWJlZGRlZCBhbgpJ bnRlcm5ldCBFeHBsb3JlciBzZXJ2ZXIgY29udHJvbCBpbiB0aGUgbWVzc2FnZSBkaXNwbGF5IHdp bmRvdyBpbiBvcmRlciB0bwpmYWNpbGl0YXRlIHRoZSBwYXJzaW5nIGFuZCBkaXNwbGF5aW5nIG9m IEhUTUwgY29udHJvbHMuIEl0IGlzIGEgY29tbW9uCnByYWN0aWNlIGZvciBXaW5kb3dzIGFwcGxp Y2F0aW9ucyB0byByZXVzZSBNaWNyb3NvZnQgSW50ZXJuZXQgRXhwbG9yZXLigJ9zCkhUTUwgcGFy c2luZyBvYmplY3RzIGluY2x1ZGVkIGluIHRoZSBtc2h0bWwuZGxsIGxpYnJhcnkgaW5zdGVhZCBv ZiB1c2luZyBhCmhvbWVicmV3IEhUTUwgcGFyc2VyLiBTZXZlcmFsIHByb2dyYW1taW5nIGZyYW1l d29ya3MsIGluY2x1ZGluZyBNRkMKKE1pY3Jvc29mdCBGb3VuZGF0aW9uIENsYXNzZXMpLCBwcm92 aWRlIHByYWN0aWNhbCB3YXlzIG9mIGVtYmVkZGluZyBzdWNoCmNvbnRyb2xzIHRocm91Z2ggY2xh c3NlcyBsaWtlIENIdG1sRWRpdFZpZXcgb3IgQ0h0bWxFZGl0RG9jLgpTb21lIG9mIHRoZSBhZHZh bnRhZ2VzIG9mIHVzaW5nIE1TSFRNTCBhcmUgdGhhdCBpdCBwcm92aWRlcyBhIHBhcnRpY3VsYXIs CmZlYXR1cmUtcmljaCBhbmQgc29tZXdoYXQgY29tcGxldGUgc3VwcG9ydCBmb3IgREhUTUwgYW5k IGFsc28gdGhhdCBpdCBpcwplYXNpZXIgdG8gaG9zdCBNaWNyb3NvZnQgQWN0aXZlWCBDb250cm9s cy4gSG93ZXZlciwgaW4gdGhlIGNvbnRleHQgb2YgdGhpcwphZHZpc29yeSwgc3VjaCBhZHZhbnRh Z2VzIG1heSBlbmQgdXAgYmVjb21pbmcgc2VjdXJpdHkgcHJvYmxlbXMgZHVlIHRvCmRlc2lnbiBm bGF3cyBhbmQgaW1wbGVtZW50YXRpb24gYnVncy4KVGhlcmUgYXJlIHR3byBwYXJ0aWN1bGFyIGNo YXJhY3RlcmlzdGljcyBpbiB0aGUgaW1wbGVtZW50YXRpb24gb2YgdGhlCmRlc2NyaWJlZCBmdW5j dGlvbmFsaXR5IHRoYXQgdHVybiBBSU3igJ9zIGhpZ2hseSBmbGV4aWJsZSBtZXNzYWdlLWNvbnRl bnQKZmVhdHVyZXMgaW50byBoaWdoLXJpc2sgYXR0YWNrIHZlY3RvcnMgZm9yIGl0cyB1c2Vycy4K CkZpcnN0LCB0aGUgdnVsbmVyYWJsZSBJTSBjbGllbnRzIGRvIG1vc3Qgb2YgdGhlIHNhbml0aXpp bmcvZmlsdGVyaW5nIGFuZAplbmNvZGluZyBvZiBIVE1MIGNvbnRlbnQgb24gb3V0Ym91bmQgbWVz c2FnZXMsIHRodXMgYSBtYWxpY2lvdXMgYXR0YWNrZXIKd2l0aCB0aGUgYWJpbGl0eSB0byBieXBh c3Mgb3V0Ym91bmQgSFRNTCBmaWx0ZXJpbmcgY2FuIHNlbmQgYW55IHR5cGUgb2YKSFRNTCBjb250 ZW50IHRvIG90aGVyIElNIGNsaWVudHMuCkEgaGFuZGZ1bCBvZiBwdWJsaWNseSBhdmFpbGFibGUg YW5kIHdlbGwta25vd24gSU0gY2xpZW50cyBwZXJtaXQgdG8gc2VuZAp1bi1zYW5pdGl6ZWQgZGF0 YSB0byBhbnkgb3RoZXIgY2xpZW50IHRoYXQgc3VwcG9ydHMgdGhlIHNhbWUKY29tbXVuaWNhdGlv bnMgcHJvdG9jb2wgaW5jbHVkaW5nIHRoZSB2dWxuZXJhYmxlIEFJTSA2LjEsIEFJTSA2LjIsIEFJ TSBQcm8KYW5kIEFJTSBMaXRlIGNsaWVudHMuClNlY29uZCwgYWx0aG91Z2ggdGhlcmUgYXJlIHNv bWUgZGVmZW5zaXZlIG1lY2hhbmlzbXMgaW1wbGVtZW50ZWQgaW4gdGhlCnZ1bG5lcmFibGUgY2xp ZW50cyB0aGVzZSBhcmUgaW5zdWZmaWNpZW50IHRvIHByb3Blcmx5IGhhbmRsZSBtZXNzYWdlcyB3 aXRoCnBvdGVudGlhbGx5IG1hbGljaW91cyBjb250ZW50LiBJbnB1dCB2YWxpZGF0aW9uIG9mIGlu Ym91bmQgbWVzc2FnZXMKYXBwZWFycyB0byBiZSB0YWtpbmcgcGxhY2UgYnV0IGNhbiBiZSBlYXNp bHkgY2lyY3VtdmVudGVkIGJ5IGFuIGF0dGFja2VyLgpBcyBhIHJlc3VsdCwgdGhlIGVudGlyZSBh dHRhY2sgc3VyZmFjZSBvZiBNU0hUTUwgaXMgZXhwb3NlZCB0byByZW1vdGUgSU0KcGVlcnMuIEJ5 IGhhdmluZyBhIHdheSBvZiBzZW5kaW5nIGRhdGEgc3RyYWlnaHQgdG8gdGhlIE1TSFRNTCBsaWJy YXJ5LAphdHRhY2tlcnMgY291bGQgYWJ1c2Ugc3VjaCBoaWdoLXJpc2sgYXR0YWNrIHZlY3RvciB0 bzoKCi0gLSBFeGVjdXRlIGFyYml0cmFyeSBzaGVsbCBjb21tYW5kcyBpbiB0aGUgdmljdGlt4oCf cyB3b3Jrc3RhdGlvbi4KLSAtIERpcmVjdCB0aGUgZW1iZWRkZWQgSUUgdG8gcGVyZm9ybSBhcmJp dHJhcnkgSFRUUCByZXF1ZXN0cyAoQ1NSRikKLSAtIEluY2x1ZGUgSFRNTCBjb250cm9scyAobGlu a3MsIGltYWdlcywgZm9ybXPigKYpIGluIElNIHRleHQgbWVzc2FnZXMgaW4KICBvcmRlciB0byB0 cmljayB1c2VycyBpbnRvIHJldmVhbGluZyBzZW5zaXRpdmUgaW5mb3JtYXRpb24gb3IgcGVyZm9y bWluZwogIGhhcm1mdWwgYWN0aW9ucyBhZ2FpbnN0IHRoZWlyIGFjY291bnRzL3dvcmtzdGF0aW9u L2V0Yy4KLSAtIFJ1biBKYXZhU2NyaXB0IGNvZGUgd2l0aGluIElFIHRvIGVuaGFuY2UgdGhlIGF0 dGFja3MgbWVudGlvbmVkIGFib3ZlLgotIC0gSW5zdGFudGlhdGUgQWN0aXZlWCBjb250cm9scywg d2hpY2ggYXR0YWNrZXJzIGNvdWxkIHVzZSB0byB0YXJnZXQKICB2dWxuZXJhYmlsaXRpZXMgaW4g dGhlIEFjdGl2ZVggb2JqZWN0cyB0aGVtc2VsdmVzIG9yIHVzZSB0aGVpcgogIGZ1bmN0aW9uYWxp dHkgdG8sIGZvciBleGFtcGxlLCByZWFkIGFyYml0cmFyeSBmaWxlcyBmcm9tIHRoZSB2aWN0aW0n cwogIGZpbGUgc3lzdGVtIG9yIGV2ZW4gZXhlY3V0ZSBhcmJpdHJhcnkgc2hlbGwgY29tbWFuZHMg aW4gdGhlIHZpY3RpbSdzCiAgd29ya3N0YXRpb24uCi0gLSBEaXJlY3RseSBhdHRhY2sgdnVsbmVy YWJsZSB2ZXJzaW9ucyBvZiBJbnRlcm5ldCBFeHBsb3JlciBpbiB1c2VyCiAgd29ya3N0YXRpb25z LiBUaGlzIGlzIGEgdHlwaWNhbCBjbGllbnQtc2lkZSBhdHRhY2sgc2NlbmFyaW8gYW5kIGNvdWxk CiAgbGVhZCB0byB0aGUgcmVtb3RlIGV4ZWN1dGlvbiBvZiBhcmJpdHJhcnkgY29kZSBpbiB0aGUg dmljdGltJ3MKICB3b3Jrc3RhdGlvbi4gSW4gdGhpcyBzY2VuYXJpbyAib25lLWNsaWNrIiBJRSBi dWdzIChleHBsb2l0YXRpb24gcmVxdWlyZXMKICB1c2VyIGFzc2lzdGFuY2UpIGJlY29tZSAiemVy by1jbGljayIgYnVncyAoZXhwbG9pdGF0aW9uIGRvZXMgbm90IHJlcXVpcmUKICB1c2VyIGludGVy YWN0aW9uKS4KCkFPTCdzICJDbGFzc2ljIEFJTSA1LjkiIGlzIGFuIG9mZmljaWFsIGFsdGVybmF0 aXZlIGNsaWVudCBmb3Igbm9zdGFsZ2ljCnVzZXJzIGFuZCBpcyBub3QgdnVsbmVyYWJsZSBkdWUg dG8gdGhlIGZhY3QgdGhhdCBpbnN0ZWFkIG9mIHVzaW5nIE1TSFRNTAp0byByZW5kZXIgSFRNTCBp dCBhcHBlYXJzIHRvIGluY2x1ZGUgbGltaXRlZCByZW5kZXJpbmcgZnVuY3Rpb25hbGl0eQplaXRo ZXIgcHJvdmlkZWQgYnkgYSB0aGlyZCBwYXJ0eSBsaWJyYXJ5IG9yIGhvbWVicmV3IGNvZGUuIEFs dGhvdWdoIHRoZXJlCmlzIG5vIGd1YXJhbnRlZSB0aGF0IGl0cyBpbXBsZW1lbnRhdGlvbiBsYWNr cyB2dWxuZXJhYmlsaXRpZXMsIGluIG91cgp0ZXN0cyBpdCBkaWQgcHJldmVudCB0aGUgYXR0YWNr IHZlY3RvcnMgZGVzY3JpYmVkIGluIHRoaXMgYWR2aXNvcnkuIFNvCmlzIHRoZSBjYXNlIGZvciBB T0zigJ9zIEFPTCA2LjUuMy4xMiB3aGljaCBhbHRob3VnaCBpdCBpcyBlbWJlZGRpbmcgYW4KSW50 ZXJuZXQgRXhwbG9yZXIgc2VydmVyIGNvbnRyb2wgaW4gdGhlIG1lc3NhZ2Ugd2luZG93LCBjb3Vs ZCBub3QgYmUKZXhwbG9pdGVkIGR1cmluZyBvdXIgdGVzdHMuCkFPTCdzIG9ubGluZSBBSU0gRXhw cmVzcyB3ZWIgY2xpZW50IHdoaWNoIGlzIHdyaXR0ZW4gaW4gQVNQLk5FVCBhbmQgYWxzbwphcHBl YXJzIHRvIGJlIHRha2luZyB0aGUgbmVjZXNzYXJ5IGRlZmVuc2l2ZSBtZWFzdXJlcyByZXF1aXJl ZCB0byBwcmV2ZW50CmFueSBvZiB0aGVzZSBwcm9ibGVtcyBmcm9tIHRha2luZyBwbGFjZS4KCipQ cm9vZiBvZiBjb25jZXB0IHNuaXBwZXRzKgpUaGUgZm9sbG93aW5nIGV4YW1wbGVzIHByb3ZpZGUg Y29kZSBzbmlwcGV0cyB0aGF0IHNob3VsZCBzZXJ2ZSBhcwpwcm9vZi1vZi1jb25jZXB0IGNvZGUg dG8gZGVtb25zdHJhdGUgc29tZSBvZiB0aGUgcHJvYmxlbXMgdGhhdCBhcmlzZSBmcm9tCnRoZSBp c3N1ZSByZXBvcnRlZC4gVGhlIHNuaXBwZXRzIGhhdmUgYmVlbiBhcnJhbmdlZCBhY2NvcmRpbmcg dG8gdGhlaXIKcmlzayBsZXZlbCwgaW4gaW5jcmVhc2luZyBvcmRlciAobG93ZXIgcmlzayBmaXJz dCksIHdpdGggdGhlCmludGVudGlvbiBvZiBtYWtpbmcgdGhpcyBwcm9jZXNzIG1vcmUgc2VsZi1l eHBsYW5hdG9yeS4gSW4gb3JkZXIgZm9yIHRoZXNlCnNuaXBwZXRzIHRvIHdvcmssIHRoZXkgbXVz dCBiZSBzZW50IHdpdGhpbiB0aGUgY29udGVudHMgb2YgYSBzdGFuZGFyZAppbnN0YW50IG1lc3Nh Z2UsIGJ1dCB1c2luZyBhIGNsaWVudCB0aGF0IHdpbGwgbm90IGVuY29kZSBtZXNzYWdlIGNvbnRl bnRzCm9uIG91dHB1dDoKCipVc2luZyBIVE1MIGNvbnRyb2xzIGluIG9yZGVyIHRvIHRyaWNrIHZp Y3RpbXMgaW50byByZXZlYWxpbmcgc2Vuc2l0aXZlCmluZm9ybWF0aW9uIG9yIGRvIGhhcm1mdWwg YWN0aW9ucyBhZ2FpbnN0IHRoZWlyIGFjY291bnRzL3dvcmtzdGF0aW9ucyBvcgp0byBmb3JjZSBv dXRib3VuZCBIVFRQIHJlcXVlc3RzIChDU1JGKS4qCgpUaGUgZm9sbG93aW5nIHByb29mLW9mLWNv bmNlcHQgY29kZSB3YXMgc3VjY2Vzc2Z1bGx5IHRlc3RlZCBvbiBBSU0gUHJvLgpPdGhlciB2dWxu ZXJhYmxlIGNsaWVudHMgbmVlZCBzb21lIHR3ZWFraW5nIGluIG9yZGVyIHRvIGdldCBpdCB0byB3 b3JrLgpUaGUgY29kZSB1c2VzIDxocj4sIDxoMj4sIDxmb3JtPiBhbmQgPGlucHV0PiB0YWdzIHRv IHRyaWNrIHRoZSB2aWN0aW0gaW50bwpiZWxpZXZpbmcgdGhhdCBhbiBBSU0gZGlzY29ubmVjdGlv biB0b29rIHBsYWNlLiBJdCB0aGVuIHJlcXVlc3RzIHRoZQp2aWN0aW0gdG8gdHlwZSBpbiB0aGUg dXNlciBjcmVkZW50aWFscyBhbmQgdG8gcHJlc3MgdGhlIFJlY29ubmVjdCAoc3VibWl0KQpidXR0 b24gaW4gb3JkZXIgdG8gc2VuZCB0aGUgY3JlZGVudGlhbHMgdG8gdGhlIGF0dGFja2VyLiBJbiB0 aGlzCmNhc2UsIHRoZSBmb3JtIGlzIHN1Ym1pdHRlZCB0byAiaHR0cDovL2xvY2FsaG9zdCIKCgot IC0tLSBiZWdpbiBjb2RlIC0tLQo8aHI+PGgyPlNFUlZJQ0UgVU5BVkFJTEFCTEU8L2gyPjxocj5Z b3VyIGNvbm5lY3Rpb24gdG8gQUlNIGhhcyBiZWVuCmludGVycnVwdGVkLiBQbGVhc2UgdHlwZSBp biB5b3VyIGNyZWRlbnRpYWxzIGluIG9yZGVyIHRvIHJlY29ubmVjdC4gVGhhbmsKeW91Ljxicj48 Zm9ybSBtZXRob2Q9R0VUIGFjdGlvbj1odHRwOi8vbG9jYWxob3N0PkxvZ2luOiA8aW5wdXQgdHlw ZT10ZXh0Cm5hbWU9bG9naW4+PGJyPlBhc3N3b3JkOiA8aW5wdXQgdHlwZT10ZXh0IG5hbWU9cGFz c3dvcmQ+PGJyPjxpbnB1dAp0eXBlPXN1Ym1pdCB2YWx1ZT1SZWNvbm5lY3Q+PC9mb3JtPjxicj48 aHI+Ci0gLS0tIGVuZCBjb2RlIC0tLQoKClRoaXMgaXMgc2ltcGx5IG9uZSBleGFtcGxlIG9mIGV4 cGxvaXRhdGlvbiB1c2luZyBvbmx5IGVtYmVkZGVkIEhUTUwuIFRoZXJlCmFyZSBwbGVudHkgb2Yg SFRNTCBjb250cm9scyB0aGF0IGNvdWxkIGJlIHVzZWQgaW4gc2ltaWxhciBleHBsb2l0YXRpb24K c2NlbmFyaW9zLgoKKlVzaW5nIHNjcmlwdGluZyBsYW5ndWFnZXMgdG8gZW5oYW5jZSBhbiBhdHRh Y2sqCgpBcyBtZW50aW9uZWQgaW4gdGhlIGJlZ2lubmluZyBvZiB0aGUgdGVjaG5pY2FsIGRldGFp bHMgc2VjdGlvbiwgd2UKaWRlbnRpZmllZCBhbW9uZyBhbGwgdGhlIHZ1bG5lcmFibGUgY2xpZW50 cyB3aGF0IGFwcGVhcmVkIHRvIGJlIGFuCmV4aXN0aW5nIGRlZmVuc2l2ZSBtZWFzdXJlIChvciBh IGZ1bmN0aW9uYWwgY2hhcmFjdGVyaXN0aWMgd2l0aCBhCnNpZGUtZWZmZWN0KSBtZWFudCB0byBw cmV2ZW50IGF0dGFja2VycyBmcm9tIGluc2VydGluZyBtYWxpY2lvdXMKSmF2YVNjcmlwdCBzdGF0 ZW1lbnRzIHdpdGhpbiBtZXNzYWdlIGNvbnRlbnRzLiBXaGVuIHNlbmRpbmcgSmF2YVNjcmlwdApz dGF0ZW1lbnRzIGluc2lkZSA8c2NyaXB0PiB0YWdzIHdpdGhpbiBhIG1lc3NhZ2UsIHRoZSBzY3Jp cHQgdGFncwphcHBlYXIgdG8gYmUgZmlsdGVyZWQgYnkgdGhlIHJlY2VpdmluZyBjbGllbnQgdXBv biBkaXNwbGF5ICh0aGVyZWZvcmUgbm90CmV4ZWN1dGluZyB0aGUgSmF2YVNjcmlwdCBzdGF0ZW1l bnRzKS4gSG93ZXZlciwgdGhpcyB3YXMgZWFzaWx5CmNpcmN1bXZlbnRlZCBieSBlbWJlZGRpbmcg SmF2YVNjcmlwdCBzdGF0ZW1lbnRzIGluc2lkZSA8aW1nPiB0YWdzLCBhcyBpbgp0aGUgZm9sbG93 aW5nIGV4YW1wbGU6CgpUaGUgZm9sbG93aW5nIGNvZGUgZG9lcyBub3Qgd29yazoKPHNjcmlwdD5h bGVydCjigJhJIGhhdmUgZXhlY3V0ZWQgamF2YXNjcmlwdCBpbiB5b3VyIGNvbXB1dGVy4oCZKTwv c2NyaXB0PgoKVGhlIGZvbGxvd2luZyBjb2RlICpkb2VzKiB3b3JrOgo8aW1nIHNyYz0iamF2YXNj cmlwdDphbGVydCjigJhJIGhhdmUgZXhlY3V0ZWQgamF2YXNjcmlwdCBpbiB5b3VyIGNvbXB1dGVy 4oCZKSI+CgpOb3RlIHRoYXQgZXZlbiB0aG91Z2ggdGhlIGRpZmZlcmVudCBwcm9vZi1vZi1jb25j ZXB0IHNuaXBwZXRzIHByb3ZpZGVkIGluCnRoaXMgYWR2aXNvcnkgdXNlIDxpbWc+IHRhZ3MgdG8g ZXhlY3V0ZSBKYXZhU2NyaXB0LCB0aGUgcHJvYmxlbSBtdXN0IG5vdApiZSB0aG91Z2h0IG9mIGFz IGNpcmN1bXNjcmliZWQgdG8gbWVzc2FnZSBjb250ZW50cyB3aXRoIGVtYmVkZGVkIDxpbWc+CnRh Z3Mgb25seS4gSmF2YVNjcmlwdCBzdGF0ZW1lbnRzIG1heSBhbHNvIGJlIGV4ZWN1dGVkIHRocm91 Z2ggdGhlIHVzZSBvZgpvdGhlciBIVE1MIGNvbnRyb2xzIGFuZCBzb21lIG9mIHRoZSBhdHRhY2sg dmVjdG9ycyB0aGF0IHdlIG1lbnRpb24gZG8gbm90CmV2ZW4gcmVseSBvbiBKYXZhU2NyaXB0IGZv ciBzdWNjZXNzZnVsIGV4cGxvaXRhdGlvbi4KVGhlIGZvbGxvd2luZyBwcm9vZi1vZi1jb25jZXB0 IGNvZGUgd2lsbCBkaXNwbGF5IGEgcHJvbXB0IGJveCB0byB0aGUKdmljdGltLCByZXF1ZXN0aW5n IHRvIHR5cGUgaW4gdGhlIHZpY3RpbSdzIEFJTSBjcmVkZW50aWFscy4gSXQgd2lsbCBsb29rCmF1 dGhlbnRpYyBkdWUgdG8gdGhlIGZhY3QgdGhhdCB0aGUgbWVzc2FnZSBib3ggaXMgbm90IHBhcnQg b2YgdGhlIHRleHQKbWVzc2FnZSB3aW5kb3c6CgotIC0tIGJlZ2luIGNvZGUgLS0KPGltZyBzcmM9 J2phdmFzY3JpcHQ6dmFyIHBhc3N3ZD13aW5kb3cucHJvbXB0KCJZb3UgaGF2ZSBiZWVuCmRpc2Nv bm5lY3RlZCBmcm9tIHRoZSBuZXR3b3JrLlxuUGxlYXNlIHJlLWVudGVyIHlvdXIgcGFzc3dvcmQg dG8KcmVjb25uZWN0LiIsICIiKTthbGVydCjigJxZb3UgaGF2ZSBkaXNjbG9zZWQgeW91ciBwYXNz d29yZDrigJ0rcGFzc3dkKTsnPgotIC0tIGVuZCBjb2RlIC0tCgpPbmNlIHRoZSB2aWN0aW0gdHlw ZXMtaW4gaGVyL2hpcyBwYXNzd29yZCwgYW4gYWxlcnQgbWVzc2FnZSBib3ggd2lsbCBiZQpkaXNw bGF5ZWQgc2hvd2luZyB0aGUgZW50ZXJlZCBwYXNzd29yZC4gQXR0YWNrZXJzIGNvdWxkIGVhc2ls eSByZXRyaWV2ZQpwYXNzd29yZHMgYW5kIG90aGVyIHNlY3VyaXR5LXNlbnNpdGl2ZSBkYXRhIGJ5 IHVzaW5nIHRoZSBzYW1lIHRlY2huaXF1ZXMKdXNlZCB0byBleHBsb2l0IENyb3NzIFNpdGUgU2Ny aXB0aW5nIHZ1bG5lcmFiaWxpdGllcyB0byBzdGVhbCBicm93c2VyIGNvb2tpZXMuCgoqSW5zdGFu dGlhdGluZyBBY3RpdmVYIGNvbnRyb2xzIGFuZCB0YWtpbmcgb3ZlciB0aGUgdmljdGlt4oCZcyB3 b3Jrc3RhdGlvbioKCkFub3RoZXIgd2F5IG9mIGVuaGFuY2luZyBhbiBhdHRhY2sgY291bGQgcmVs eSBvbiB1c2luZyBBY3RpdmVYIGNvbnRyb2xzCmluc3RhbGxlZCBvbiB0aGUgdGFyZ2V0IHN5c3Rl bS4gRm9yIHRoYXQsIHRoZSBhdHRhY2tlciBuZWVkcyB0aGUgYWJpbGl0eQp0byBpbnN0YW50aWF0 ZSBhcmJpdHJhcnkgQWN0aXZlWCBjb250cm9scyB1c2luZyBhbiBJTSBtZXNzYWdlIGNvbnRlbnQK Y29uc3RydWN0ZWQgdG8gYWNjb21wbGlzaCBzdWNoIHB1cnBvc2UuIFdlIHN1Y2Nlc3NmdWxseSB1 c2VkIHRoaXMgYXR0YWNrCnZlY3RvciBpbiBBSU0gNi4xLCBBSU0gNi4yYmV0YSBhbmQgQUlNIExp dGUgaW4gb3JkZXIgdG8gZ2V0IGltbWVkaWF0ZSBhbmQKaW5zdGFudCBhY2Nlc3MgdG8gdGhlIHZp Y3RpbeKAn3Mgd29ya3N0YXRpb24uIFRoaXMgYXR0YWNrIHZlY3RvciBpbmNyZWFzZXMKY29uc2lk ZXJhYmx5IHRoZSBzZXZlcml0eSBvZiB0aGUgcHJvYmxlbXMgZm91bmQsIHR1cm5pbmcgdGhlIGFm ZmVjdGVkCmNsaWVudHMgaW50byBhIGRvb3J3YXkgdG8gdGhlIHVzZXLigJ9zIGNvbXB1dGVyIGFu ZCB1bHRpbWF0ZWx5IHByb3ZpZGluZwphdHRhY2tlcnMgd2l0aCB3YXlzIG9mIGV4ZWN1dGluZyBh cmJpdHJhcnkgY29tbWFuZHMuCkFwcGFyZW50bHksIEFJTSBQcm8gaXMgdGhlIG9ubHkgY2xpZW50 IHRoYXQgcnVucyB0aGUgSW50ZXJuZXQgRXhwbG9yZXIKc2VydmVyIGNvbnRyb2wgaW4gYSAicHJv dGVjdGVkIiBzZWN1cml0eSB6b25lLCB3aGVyZSB0aGUgdmljdGltIGlzCnByb21wdGVkIHdpdGgg dGhlIHR5cGljYWwgbWVzc2FnZSBib3ggdGhhdCBzYXlzOgoKIkFuIEFjdGl2ZVggY29udHJvbCBv biB0aGlzIHBhZ2UgbWlnaHQgYmUgdW5zYWZlIHRvIGludGVyYWN0IHdpdGggb3RoZXIKcGFydHMg b2YgdGhlIHBhZ2UuIERvIHlvdSB3YW50IHRvIGFsbG93IHRoaXMgaW50ZXJhY3Rpb24/IgoKVGhl IGNob2ljZSBvZiB0aGUgdXNlciB3aWxsIGFmZmVjdCB0aGUgZW50aXJlIGluc3RhbmNlIG9mIHRo ZSBhcHBsaWNhdGlvbgphbmQgYmUgYXBwbGllZCB0byBhbnkgb3RoZXIgZXhpc3RpbmcvZnV0dXJl IG1lc3NhZ2Ugd2luZG93cyAoYXMgd2VsbCBhcwpwb3RlbnRpYWxseSBhbnkgb3RoZXIgbG9jYXRp b25zIHdoZXJlIHRoZSBJbnRlcm5ldCBFeHBsb3JlciBzZXJ2ZXIKY29udHJvbCBpcyB1c2VkLikK CkF0dGFja2VycyBjb3VsZCB1c2UgSmF2YVNjcmlwdCB0byBpbnN0YW50aWF0ZSBBY3RpdmVYIGNv bnRyb2xzIGluIG9yZGVyIHRvCmVpdGhlciBleHBsb2l0IGNsaWVudC1zaWRlIHZ1bG5lcmFiaWxp dGllcyBvZiB0aGUgQWN0aXZlWCBvYmplY3RzCnRoZW1zZWx2ZXMgb3IgdG8gdXNlIEFjdGl2ZVgg ZnVuY3Rpb25hbGl0eSBhcyBhbiBhaWQgdG8gZXhwbG9pdCBvdGhlciBidWdzLi4KQXMgdGhlIGZv bGxvd2luZyBwcm9vZi1vZi1jb25jZXB0IHNuaXBwZXQgc2hvd3MsIGFuIGF0dGFja2VyIGNhbgpz dWNjZXNzZnVsbHkgaW5zdGFudGlhdGUgdGhlICJTaGVsbC5BcHBsaWNhdGlvbiIgb2JqZWN0IHRo YXQgaXMgaW5jbHVkZWQKaW4gdGhlIE1pY3Jvc29mdCBXaW5kb3dzIE9TIGluc3RhbGxhdGlvbiBh bmQgdXNlIGl0IHRvIGV4ZWN1dGUgYW55CmFyYml0cmFyeSBjb21tYW5kIG9uIHRoZSB2aWN0aW3i gJ9zIHdvcmtzdGF0aW9uLgoKQXMgcHJldmlvdXNseSBtZW50aW9uZWQsIGluIHRocmVlIG9mIHRo ZSBmb3VyIGFmZmVjdGVkIHZlcnNpb25zIG9mIHRoZQpwcm9kdWN0LCB0aGUgYXR0YWNrIGlzIHN0 cmFpZ2h0IGZvcndhcmQgYW5kIG5vIGludGVyYWN0aW9uIHdpdGggdGhlIHZpY3RpbQppcyByZXF1 aXJlZC4gU3VjaCBjbGllbnRzIGFwcGVhciB0byBiZSBydW5uaW5nIEludGVybmV0IEV4cGxvcmVy IGNvbnRyb2wKaW4gdGhlIExvY2FsIE1hY2hpbmUgU2VjdXJpdHkgWm9uZS4KCi0gLS0gYmVnaW4g Y29kZSAtLQo8aW1nIHNyYz0iamF2YXNjcmlwdDp2YXIgb1NoZWxsID0gbmV3CkFjdGl2ZVhPYmpl Y3QoJ1NoZWxsLkFwcGxpY2F0aW9uJyk7b1NoZWxsLlNoZWxsRXhlY3V0ZSgnY21kLmV4ZScsICcv YwpwYXVzZScpOyI+Ci0gLS0gZW5kIGNvZGUgLS0KClRoZSBwcm9vZi1vZi1jb25jZXB0IGNvZGUg ZnJvbSBhYm92ZSB3aWxsIHJ1biBhbiBpbnN0YW5jZSBvZiBNaWNyb3NvZnQKV2luZG93cyBjb21t YW5kIGxpbmUgdG9vbCwgZXhlY3V0aW5nIHRoZSBwYXVzZSBjb21tYW5kLiBVcG9uIHJlY2VpcHQs IGl0CndpbGwgaW5zdGFudGx5IHNob3cgYSBibGFuayBjb21tYW5kIHdpbmRvdyBpbiB0aGUgdmlj dGlt4oCfcyB3b3Jrc3RhdGlvbi4gQW4KYXR0YWNrZXIgbWF5IGVhc2lseSBhYnVzZSB0aGlzIGlz c3VlIHRvIGdhaW4gY29tcGxldGUgY29udHJvbCBvdmVyIHRoZQp2aWN0aW3igJ9zIG1hY2hpbmUg d2l0aCB0aGUgcHJpdmlsZWdlcyBvZiB0aGUgdXNlciBydW5uaW5nIEFJTS4KCipBdHRhY2tpbmcg dnVsbmVyYWJsZSB2ZXJzaW9ucyBvZiBJbnRlcm5ldCBFeHBsb3JlciBjb250cm9scyoKVGhpcyBz Y2VuYXJpbyBpcyBqdXN0IGEgY2xlYXItY3V0IGNsaWVudC1zaWRlIGF0dGFjayB2ZWN0b3IgYW5k IHdvdWxkIHJlbHkKb24gYW55IHVucGF0Y2hlZCBzZWN1cml0eSB2dWxuZXJhYmlsaXR5IGluIElu dGVybmV0IEV4cGxvcmVyIG9yIHRoZQpBY3RpdmVYIGNvbnRyb2xzIGl0IGhvc3RzLiBBbiBlbWJl ZGRlZCBIVE1MIFVSSSBjYW4gZGlyZWN0IHRoZSBJRSBzZXJ2ZXIKY29udHJvbCB0byBhdXRvbWF0 aWNhbGx5IHZpc2l0IGEgcHJldmlvdXNseSBzZXR1cCBzaXRlIHRoYXQgZGVsaXZlcnMKbWFsaWNp b3VzIGNvbnRlbnQgdG8gZXhwbG9pdCBrbm93biBJbnRlcm5ldCBFeHBsb3JlciB2dWxuZXJhYmls aXRpZXMuIEluCnRoaXMgY2FzZSwgdGhlIEFJTSBjbGllbnRzIGlkZW50aWZpZWQgYXMgdnVsbmVy YWJsZSBpbiB0aGlzIGFkdmlzb3J5IHBsYXkKdGhlIHJvbGUgb2YgZXhwb3NpbmcgdGhlaXIgdXNl cnMgdG8gYXR0YWNrcyB3aXRob3V0IHJlcXVpcmluZyB1c2VyCmludGVydmVudGlvbiB0byBhbGxv dy9kaXNhbGxvdyBhY2Nlc3MgdG8gdGhlIHJvZ3VlIHdlYnNpdGUuIFRoaXMgYXR0YWNrCnNjZW5h cmlvIGlzIGZ1bmN0aW9uYWxseSBlcXVpdmFsZW50IHRvIGEgdXNlciBvZiBJbnRlcm5ldCBFeHBs b3JlcgpjbGlja2luZyBvbiBhIFVSTCBhbmQgdmlzaXRpbmcgYSBtYWxpY2lvdXMgc2l0ZS4KCipB ZGRpdGlvbmFsIEluZm9ybWF0aW9uIGFuZCByZXNvdXJjZXMqCgpBT0zigJlzIEFJTSBjbGllbnRz CiAgQUlNIFBybzogaHR0cDovL2FpbXByby5wcmVtaXVtc2VydmljZXMuYW9sLmNvbS8KICBBSU0g Ni4yOiBodHRwOi8vYmV0YS5hb2wuY29tL3Byb2plY3RzLnBocD9wcm9qZWN0PWFpbTYKICBBSU0g Ni4xOiBodHRwOi8vd3d3LmFpbS5jb20vZ2V0X2FpbS93aW4vbGF0ZXN0X3dpbi5hZHAKICBBSU0g TGl0ZTogaHR0cDovL3guYWltLmNvbS9sYWltLwogIEFJTSA1Ljk6IGh0dHA6Ly93d3cuYWltLmNv bS9nZXRfYWltL3dpbi9vdGhlcl93aW4uYWRwCiAgQUlNIDYuNTogaHR0cDovL2JldGEuYW9sLmNv bS9wcm9qZWN0cy5waHA/cHJvamVjdD1haW02CgpFbWJlZGRpbmcgSUUKICBJbnRyb2R1Y3Rpb24g dG8gQWN0aXZlWCBDb250cm9sczoKICBodHRwOi8vbXNkbjIubWljcm9zb2Z0LmNvbS9lbi11cy9s aWJyYXJ5L2FhNzUxOTcyLmFzcHgKCiAgUmV1c2luZyBNU0hUTUw6CiAgaHR0cDovL21zZG4yLm1p Y3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS9iYjUwODUxNi5hc3B4CgogIEludGVybmV0IEV4cGxv cmVyIExvY2FsIE1hY2hpbmUgWm9uZSBMb2NrZG93bgogIGh0dHA6Ly90ZWNobmV0Lm1pY3Jvc29m dC5jb20vZW4tdXMvbGlicmFyeS9iYjQ1NzE1MC5hc3B4I0VIQUEKaHR0cDovL3RlY2huZXQyLm1p Y3Jvc29mdC5jb20vd2luZG93c3NlcnZlci9lbi9saWJyYXJ5L2FlYmNmYzk0LTI1ZDUtNGY0MS05 M2NjLTdmYjZlMDMxZGU0MDEwMzMubXNweD9tZnI9dHJ1ZQoKQWJvdXQgVVJMIFNlY3VyaXR5IFpv bmVzCiAgaHR0cDovL21zZG4yLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS9tczUzNzE4My5h c3B4CgoqUmVwb3J0IFRpbWVsaW5lKgoKKjIwMDctMDgtMjEqOiBJbml0aWFsIHJlcG9ydCB0byBB T0wgUHJvZHVjdCBWdWxuZXJhYmlsaXRpZXMgVGVhbSAoUFZUKQpyZXF1ZXN0aW5nIGFja25vd2xl ZGdlbWVudCB3aXRoaW4gMiBidXNpbmVzcyBkYXlzLCBhZHZpc29yeSBwdWJsaWNhdGlvbgpkYXRl IHRlbnRhdGl2ZWx5IHNldCB0byBTZXB0ZW1iZXIgMjR0aC4KKjIwMDctMDgtMjIqOiBSZWNlaXZl ZCBhbiBhY2tub3dsZWRnZW1lbnQgYW5kIFBHUCBwdWJsaWMga2V5IGZyb20gQU9MJ3MKUFZULiBB T0wncyBQVlQgaW5kaWNhdGVzIHRoYXQgdXBvbiByZWNlcHRpb24gb2YgdnVsbmVyYWJpbGl0eSBk ZXRhaWxzIGFuZApidWcgY29uZmlybWF0aW9uLCBleHBlY3RhdGlvbnMgc2hvdWxkIGJlIHRvIGFs bG93IGZvciB0d28gYnVzaW5lc3Mgd2Vla3MKZm9yIGFuIGVzdGltYXRlZCB0aW1lbGluZSB0byBy ZXNvbHV0aW9uLiBDb3JlJ3MgUEdQL0dQRyBrZXkgcmVxdWVzdGVkLgoqMjAwNy0wOC0yMyo6IERy YWZ0IGFkdmlzb3J5IGFuZCBHUEcgcHVibGljIGtleSBzZW50IHRvIEFPTCdzIFBWVC4KKjIwMDct MDgtMzEqOiBBY2tub3dsZWRnZW1lbnQgZnJvbSBBT0wgY29uZmlybWluZyB0aGUgZXhpc3RlbmNl IG9mIHRoZQp2dWxuZXJhYmlsaXRpZXMgaW4gQU9MJ3MgSU0gY2xpZW50cy4gQU9MIGluZGljYXRl cyB0aGF0IHRoZSBkZXZlbG9wbWVudAphbmQgUUEgdGVhbXMgYXJlIHdvcmtpbmcgb24gZml4ZXMg d2l0aCBhbiBlc3RpbWF0ZWQgcmVsZWFzZSBzY2hlZHVsZWQgZm9yCm1pZC1PY3RvYmVyLiBBZGRp dGlvbmFsbHksIG5vdGUgdGhhdCBvbmUgb2YgdGhlIElNIGNsaWVudHMgcmVxdWlyZXMKY29vcmRp bmF0aW9uIHdpdGggYSB0aGlyZC1wYXJ0eS4KKjIwMDctMDktMDQqOiBSZXBseSBmcm9tIENvcmUs IGFja25vd2xlZGdpbmcgdGhlIHByZXZpb3VzIGVtYWlsIGZyb20gQU9MClBWVC4gUmVsZWFzZSBk YXRlIGZvciB0aGUgYWR2aXNvcnkgc2V0IHRvIE9jdG9iZXIgMTZ0aCBpbiBhY2NvcmRhbmNlIHRv CkFPTHMgZXN0aW1hdGlvbi4gQ29yZSBpbmRpY2F0ZXMgdGhhdCB0aGVyZSBpcyBubyBpbmRpY2F0 aW9uIG9mCmV4cGxvaXRhdGlvbiAiaW4gdGhlIHdpbGQiIGJ1dCB0aGF0IHRoZXNlIGJ1Z3MgYXJl IGNvbnNpZGVyZWQgZXh0cmVtZWx5CmNyaXRpY2FsIGR1ZSB0byB0aGUgc2ltcGxlIHdheSB0aGV5 IGNhbiBiZSBmb3VuZCBhbmQgZXhwbG9pdGVkIGFuZCB0aGUKbGFyZ2UgcG9wdWxhdGlvbiBvZiB2 dWxuZXJhYmxlIHN5c3RlbXMuCioyMDA3LTA5LTEwKjogRW1haWwgZnJvbSB0aGUgQU9MIFBWVCBp bmRpY2F0aW5nIHRoYXQgdGhlIGJ1Z3MgYXJlCmNvbnNpZGVyZWQgZXh0cmVtZWx5IGNyaXRpY2Fs IGJ5IEFPTCBhcyB3ZWxsIGFuZCBleHByZXNzaW5nIHRoZWlyCmludGVudGlvbiB0byBwcm92aWRl IHdlZWtseSBzdGF0dXMgdXBkYXRlcy4gQW4gZXN0aW1hdGVkIGRhdGUgZm9yIGZpeGVzCndpbGwg YmUgZm9ydGhjb21pbmcgYXMgc29vbiBhcyB0aGV5IGhhdmUgb25lLiBJbiB0aGUgbWVhbnRpbWUs IGEKc2VydmVyLXNpZGUgbWl0aWdhdGlvbiBtZWNoYW5pc20gaGFzIGJlZW4gZGVwbG95ZWQgYW5k IENvcmUgaXMgaW52aXRlZCB0bwp0ZXN0IGl0LgoqMjAwNy0wOS0xMCo6IENvcmUgYWNrbm93bGVk Z2VzIHJlY2VwdGlvbiBvZiBBT0zigJ9zIGxhc3QgZW1haWwuIFdl4oCfdmUgdGFrZW4KdXAgdGhl IG9mZmVyIHRvIHRlc3QgdGhlIG1pdGlnYXRpb24gbWVjaGFuaXNtIGFuZCBhbHRob3VnaCBpdCBk aWQgcHJldmVudAp0aGUgb3JpZ2luYWwgcHJvb2Ytb2YtY29uY2VwdCBjb2RlIHNuaXBwZXRzIGZy b20gd29ya2luZyB3ZSBmb3VuZCB0aGF0CmF0dGFja3MgYXJlIHN0aWxsIHBvc3NpYmxlIHdpdGgg bWlub3IgdHdlYWtzIHRvIHRoZSBvcmlnaW5hbCBjb2RlLiBUZXN0cwp3ZXJlIHBlcmZvcm1lZCB1 c2luZyBvbmx5IG9uZSBvZiB0aGUgNCB2dWxuZXJhYmxlIGNsaWVudHMsIHRoZQpvdGhlcnMgYXJl IGRlZW1lZCBlcXVhbGx5IHZ1bG5lcmFibGUuCioyMDA3LTA5LTEyKjogQ29yZSBlbWFpbCB0byBB T0wgbm90aWZ5aW5nIHRoZW0gdGhhdCBpbmZvcm1hdGlvbiBhYm91dCB0aGUKYnVnIG1heSBoYXZl IGJlZW4gZGlzY2xvc2VkIHRvIHB1YmxpYyBzZWN1cml0eSBtYWlsaW5nIGxpc3RzIGJ5IGFuIHVu a25vd24KdGhpcmQtcGFydHkgWzFdLiBQcmVjaXNlIHRlY2huaWNhbCBkZXRhaWxzIHdlcmUgbm90 IGdpdmVuIGFuZCB0aGVyZWZvcmUgaXQKaXMgZGlmZmljdWx0IHRvIGFzc2VzcyBpZiB0aGUgYnVn IGRpc2Nsb3NlZCBieSB0aGUgdGhpcmQtcGFydHkgaXMgZGlyZWN0bHkKcmVsYXRlZCB0byB0aG9z ZSByZXBvcnRlZCBieSBDb3JlLiBUaGVyZSBhcmUgc3RpbGwgbm8gaW5kaWNhdGlvbnMgb2YKZXhw bG9pdGF0aW9uIG9mIHRoZXNlIGJ1Z3MgImluIHRoZSB3aWxkIi4gTm9uZXRoZWxlc3MsIGl0IGlz IHJlYXNvbmFibGUgdG8KdGhpbmsgdGhhdCB0aGUgaW5kZXBlbmRlbnQgZGlzY292ZXJ5IGFuZCBl eHBsb2l0YXRpb24gb2YgdGhlIGJ1Z3MgcmVwb3J0ZWQKYnkgQ29yZSBpcyBub3cgaW1taW5lbnQs IHNob3VsZCB0aGF0IGhhcHBlbiwgQ29yZeKAn3Mgc2VjdXJpdHkgYWR2aXNvcnkgd2lsbApiZSBw dWJsaXNoZWQgdGhlIHVwY29taW5nIHdlZWsgKHRlbnRhdGl2ZWx5IE1vbmRheSBTZXB0LiAxN3Ro IDIwMDcpIGFzIGEKRm9yY2VkIFJlbGVhc2UuCioyMDA3LTA5LTE0KjogRW1haWwgZnJvbSBBT0wg UFZUIGluZGljYXRpbmcgdGhhdCBBT0wgaXMgaW4gY29ycmVzcG9uZGVuY2UKd2l0aCB0aGUgdGhp cmQtcGFydHkgYW5kIHJlY2VpdmVkIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGJ1 ZywKbGVhZGluZyB0aGUgQU9MIHRlYW0gdG8gdGhpbmsgdGhhdCB0aGUgcHVibGljbHkgZGlzY2xv c2VkIHZ1bG5lcmFiaWxpdHkgaXMKbm90IHNpbWlsYXIgaW4gbmF0dXJlIHRvIHRob3NlIHJlcG9y dGVkIGJ5IENvcmUuIFRoZSBwdWJsaWMgdnVsbmVyYWJpbGl0eQp3aWxsIGJlIGZpeGVkIGluIHRo ZSBBSU0gY2xpZW50cyBpbiBtaWQtT2N0b2Jlci4gQU9MJ3MgUFZUIGRvZXMgbm90IGZlZWwKdGhh dCB0aGlzIHB1YmxpYyBkaXNjbG9zdXJlIHdhcnJhbnRzIGRpc2Nsb3N1cmUgb2YgQ29yZeKAn3Mg YWR2aXNvcnkuIFRoZQp0ZWFtIGNvdWxkIG5vdCB2ZXJpZnkgdGhhdCB0aGUgbWl0aWdhdGlvbiBt ZWNoYW5pc20gZGVwbG95ZWQgb24gdGhlIHNlcnZlcgpjYW4gc3RpbGwgYmUgYnlwYXNzZWQgYXMg aW5kaWNhdGVkIGJ5IENvcmUgaW4gYSBwcmV2aW91cyBlbWFpbC4gVGhlIHRlYW0KcmVxdWVzdHMg dGhlIGV4YWN0IHZlcnNpb24gbnVtYmVycyBvZiB0aGUgQUlNIGNsaWVudHMgdXNlZCwgcHJvb2Yg b2YKY29uY2VwdCBjb2RlIGFuZC9vciBhIGRlc2NyaXB0aW9uIG9mIGhvdyB0byByZXByb2R1Y2Ug dGhlIHRlc3QuCioyMDA3LTA5LTE0KjogRW1haWwgc2VudCB0byBBT0wgaW5kaWNhdGluZyB0aGF0 IGEgc2Vjb25kIHBvc3Qgd2l0aAphZGRpdGlvbmFsIGluZm9ybWF0aW9uIGFib3V0IHRoZSBidWcg aGFzIGJlZW4gbWFkZSBieSB0aGUgdGhpcmQtcGFydHkgWzJdLgpDb3JlIHJlcXVlc3RzIGZ1cnRo ZXIgZGV0YWlscyBhYm91dCB0aGlzIHB1YmxpY2x5IGRpc2Nsb3NlZCBidWcgYW5kIGFza3MKQU9M IHRvIHByb3ZpZGUgdGhlIGFuYWx5c2lzIHRoYXQgbGVhZCB0aGUgQU9MIHRlYW0gdG8gY29uY2x1 ZGUgdGhhdCBpdCBpcwpvZiBhIGRpZmZlcmVudCBuYXR1cmUgb2YgdGhvc2UgcmVwb3J0ZWQgYnkg Q29yZS4gVGhpcyBlbWFpbCBpbmNsdWRlcwpkZXRhaWxlZCBzdGVwLWJ5LXN0ZXAgaW5zdHJ1Y3Rp b25zIG9uIGhvdyB0byBieXBhc3MgdGhlIHNlcnZlci1zaWRlCmZpbHRlcmluZyBtZWNoYW5pc20g YWNjb21wYW5pZWQgd2l0aCB0aGUgZXhhY3QgdmVyc2lvbiBudW1iZXIgb2YgdGhlIEFJTQpjbGll bnQgdXNlZCAoNi4xLjQxLjIpIGFuZCB0aGUgc2FtcGxlIGNvZGUuIENvcmUncyBvd24gYW5hbHlz aXMgb2YgY3VycmVudApwdWJsaWNseSBhdmFpbGFibGUgaW5mb3JtYXRpb24gaW5kaWNhdGVzIHRo YXQgdGhlIGJ1ZyBpcyBpbmRlZWQgb2Ygc2ltaWxhcgpuYXR1cmUgdGhhbiB0aG9zZSByZXBvcnRl ZCBpbiBDb3Jl4oCfcyBhZHZpc29yeSBhbmQgdGhhdCBhY3RpdmUgZXhwbG9pdGF0aW9uCm9mIHRo ZSBidWcgaXMgbGlrZWx5IHRvIGhhcHBlbiBpbiBhIG1hdHRlciBvZiBkYXlzIChub3Qgc2V2ZXJh bCB3ZWVrcykuClRodXMsIGluIGFjY29yZGFuY2UgdG8gQ29yZeKAn3MgYW5hbHlzaXMgdGhlIG1v c3QgcmVzcG9uc2libGUgY291cnNlIG9mCmFjdGlvbiBpcyB0byBjbGFyaWZ5IHRoZSBuYXR1cmUg b2YgdGhlIEFJTSBwcm9ibGVtcyBhbmQgcHJvdmlkZSB0aGUKdnVsbmVyYWJsZSB1c2VycyB3aXRo IGVub3VnaCBpbmZvcm1hdGlvbiB0byBhc3Nlc3MgYW5kIG1pdGlnYXRlIHRoZSByaXNrLgpCYXJp bmcgYW55IGZ1cnRoZXIgaW5kaWNhdGlvbiBmcm9tIEFPTCB0byBzdXBwb3J0IHRoZSB0aGVvcnkg b2YgdGhlc2UKYmVpbmcgYnVncyBvZiBkaWZmZXJlbnQgbmF0dXJlLCBDb3JlIHdpbGwgYmUgcmVh ZHkgdG8gcHVibGlzaCBpdHMgc2VjdXJpdHkKYWR2aXNvcnkgdGhlIHdlZWsgb2YgU2VwdC4gMTd0 aCB0byAyMXN0LgoqMjAwNy0wOS0xOCo6IEVtYWlsIHNlbnQgdG8gQU9MIFBWVCBpbmRpY2F0aW5n IHRoYXQgQ29yZSBub3cgY29uc2lkZXJzIHRoZQppbmZvcm1hdGlvbiBhYm91dCB0aGUgcmVwb3J0 ZWQgYnVncyB0byBiZSBwdWJsaWNseSBhdmFpbGFibGUuIFRoZSBmYWN0CnRoYXQgdGhlIHRoaXJk LXBhcnR5IHJlcG9ydGVycyBkaWQgbm90IGZpbmQgKG9yIGRpZCBub3QgcHVibGlzaCkgYSB3YXkg dG8KZXhwbG9pdCBpdCByZW1vdGVseSBpbiBhIG1vcmUgcmVsaWFibGUgbWFubmVyIGRvZXMgbm90 IHByZXZlbnQgb3RoZXJzIGZyb20KZG9pbmcgc28uIENvcmXigJ9zIHRlYW0gYmVsaWV2ZXMgdGhh dCB0aGUgcHVibGljbHkgYXZhaWxhYmxlIGluZm9ybWF0aW9uCmFib3V0IHRoaXMgYnVnIGlzIGNv bmZ1c2luZyBhbmQgZG9lcyBub3QgaGVscCB2dWxuZXJhYmxlIHVzZXJzIHVuZGVyc3RhbmQKdGhl IHJpc2tzIHRoZXkgYXJlIGV4cG9zZWQgdG8uIFRoZXJlZm9yZSwgdW5sZXNzIEFPTCBwcm92aWRl cyBuZXcKaW5mb3JtYXRpb24gb3IgYW5hbHlzaXMgdG8gY2hhbmdlIENvcmXigJ9zIGFuYWx5c2lz LCBDb3JlIHdpbGwgcHVibGlzaCB0aGUKc2VjdXJpdHkgYWR2aXNvcnkgdG8gcHJvdmlkZSB2dWxu ZXJhYmxlIHVzZXJzIHdpdGggdGhlIGRldGFpbHMgbmVlZGVkIHRvCmFzc2VzcyByaXNrIGFuZCBk ZXZpc2UgdGhlaXIgb3duIG1pdGlnYXRpb24gbWVjaGFuaXNtcyB1bnRpbCBvZmZpY2lhbApmaXhl ZCB2ZXJzaW9ucyBvZiB0aGUgY2xpZW50cyBhcmUgbWFkZSBhdmFpbGFibGUuCioyMDA3LTA5LTE5 KjogRW1haWwgc2VudCB0byBBT0wgaW5kaWNhdGluZyB0aGF0IGluZm9ybWF0aW9uIGFib3V0IHRo ZQpyZXBvcnRlZCB2dWxuZXJhYmlsaXRpZXMgaXMgbm93IHBhcnQgb2YgTWl0cmUgQ1ZFIGRpY3Rp b25hcnksIHRoZSBVUwpOYXRpb25hbCBWdWxuZXJhYmlsaXR5IERhdGFiYXNlIFszXSwgdGhlIFNl Y3VyaXR5Zm9jdXMuY29tIHZ1bG5lcmFiaWxpdHkKRGF0YWJhc2UgWzRdIGFuZCB0aGUgU2VjdW5p YS5jb20gd2Vic2l0ZSBbNV0sIHRoZXJlZm9yZSBDb3JlIGNvbnNpZGVycwp0aGF0IGFueSBzZWN1 cml0eS1hd2FyZSBwYXJ0eSAoZWl0aGVyIGdvb2Qgb3IgYmFkIGludGVuZGVkKSBjYW4gbm93IGVh c2lseQpmaWd1cmUgb3V0IGEgcmVtb3RlIGV4cGxvaXRhdGlvbiBtZXRob2QuIEluIGZhY3QsIHNl dmVyYWwgbWVzc2FnZXMgaW4KQU9MJ3MgdGVjaG5pY2FsIGZvcnVtcyBzZWVtIHRvIGluZGljYXRl IHRoYXQgdXNlcnMgb2YgQUlNIGNsaWVudHMgYXJlCmV4cGVyaWVuY2luZyBBSU0gImJ1Z3MiIG9y ICJwcm9ibGVtcyIgcmVsYXRlZCB0byB0aGUgaXNzdWVzIHJlcG9ydGVkIGluCkNvcmXigJ9zIGFk dmlzb3J5IFs2XSxbN10gYW5kIHRoYXQgQU9MIGl0c2VsZiBzZWVtcyB0byBiZSB1c2luZwpIVE1M L0phdmFTY3JpcHQgaW5qZWN0aW9uIGFuZCBpbnN0YW50aWF0aW9uIG9mIHRoaXJkLXBhcnR5IEFj dGl2ZVgKY29udHJvbHMgWzhdLiBUaGVyZWZvcmUsIHRvIHByb3ZpZGUgYWNjdXJhdGUgaW5mb3Jt YXRpb24gdGhhdCBoZWxwcwpzZWN1cml0eSBwcmFjdGl0aW9uZXJzIHVuZGVyc3RhbmQgdGhlIHJp c2tzIGFuZCBkZXZpc2UgbWl0aWdhdGlvbgpzdHJhdGVnaWVzIGZvciBhZmZlY3RlZCBlbmQgdXNl cnMgYW5kIG9yZ2FuaXphdGlvbnMgQ29yZSBoYXMgZGVjaWRlZCB0bwpyZWxlYXNlIHRoaXMgc2Vj dXJpdHkgYWR2aXNvcnkgb24gTW9uZGF5IFNlcHQuIDI0dGguIEFPTOKAn3Mgc3RhdGVtZW50CnJl Z2FyZGluZyByZWxlYXNlIG9mIGZpeGVkIGNsaWVudHMgYW5kIGFueSBvdGhlciBtaXRpZ2F0aW9u IG1lY2hhbmlzbSBpcwpleHBlY3RlZCBieSBDT0IgRnJpZGF5IFNlcHQuIDIxc3QuIEluIHRoZSBt ZWFudGltZSwgQ29yZSByZXNlYXJjaGVycyB3aWxsCnRyeSB0byBmaW5kIHN1aXRhYmxlIHdvcmth cm91bmRzIHRvIHByZXZlbnQgZXhwbG9pdGF0aW9uLgoqMjAwNy0wOS0yMCo6IEVtYWlsIGZyb20g QU9MIFBWVCBpbmRpY2F0aW5nIHRoYXQgdGhlIGJ1ZyBwb3N0ZWQgcHVibGljbHkKaXMgZGlmZmVy ZW50IHRoYW4gdGhvc2UgcmVwb3J0ZWQgYnkgQ29yZSBiZWNhdXNlIGl0IOKAnGlzIGJhc2VkIHVw b24gYW5vdGhlcgphcHBsaWNhdGlvbiB3aXRoaW4gdGhlIEFJTSBjbGllbnQgdGhhdCBhbGxvd3Mg YSBsaW1pdGVkIG51bWJlciBvZgpjaGFyYWN0ZXJzIHRoYXQgY2FuIGJlIHB1dCBpbnRvIGEgYWxl cnQgbWVzc2FnZSB3aXRoaW4gYSBzY3JpcHQgdGFnLAoiPHNjcmlwdD5hbGVydCgiVGVzdCIpPC9z Y3JpcHQ+Ii4gVGhpcyBtZXNzYWdlIHdpbGwgb25seSB3b3JrIHdoZW4Kc2VuZGluZyBhIElNIHRv IHNvbWVvbmUgd2hvIGlzIHVzaW5nIG9uZSBvZiB0aGUgQUlNIDYueCBjbGllbnRzIGFuZCBkb2Vz Cm5vdCBoYXZlIHRoZSBzZW5kZXIgZm9jdXNlZCB3aXRoaW4gdGhlaXIgQUlNIGNsaWVudC4gV2hl biBzZW5kaW5nIGEKbWVzc2FnZSB0byBhbiBBSU0gdXNlciB3aG8gZG9lcyBub3QgaGF2ZSB0aGUg c2VuZGVyIGZvY3VzZWQgaW4gdGhlaXIgQUlNCmNsaWVudCwgYSBub3RpZmljYXRpb24gd2luZG93 IHdpbGwgcG9wIHVwIGluZm9ybWluZyB0aGUgcmVjaXBpZW50IHRoYXQKdGhleSBoYXZlIGp1c3Qg cmVjZWl2ZWQgYSBtZXNzYWdlIGZyb20gYW5vdGhlciBBSU0gdXNlci4gSXQgaXMgdGhpcwphcHBs aWNhdGlvbiBpbiB0aGUgQUlNIDYueCBjbGllbnRzIHRoYXQgaXMgbm90IHByb3Blcmx5IHBhcnNp bmcgdGhlCm1lc3NhZ2VzIGZvciB0aGlzIHR5cGUgb2YgaHRtbCB0YWcgYW5kIHBvcCdzIHVwIGFu IGFsZXJ0IHdpbmRvdy7igJ0gVGhlCm90aGVyIHB1YmxpYyBwcm9ibGVtcyBwb2ludGVkIG91dCBi eSBDb3JlIHBvc3RlZCBpbiBBT0zigJ9zIG1lc3NhZ2UgYm9hcmRzCmFyZSBub3QgY2F1c2VkIGJ5 IEFJTSBjbGllbnRzLiBBSU0gY2xpZW50IDYuNS4zLjEyIChjdXJyZW50bHkgaW4gQmV0YSkKZml4 ZXMgdGhlIHJlcG9ydGVkIHByb2JsZW1zIGFuZCBpcyBhdmFpbGFibGUgZm9yIHB1YmxpYyBkb3du bG9hZCAoYW5kIGZvcgp0ZXN0aW5nKS4gQU9MIHJlbWFpbnMgdW5zdWNjZXNzZnVsIHRyeWluZyB0 byB2ZXJpZnkgdGhhdCB0aGUgc2VydmVyc2lkZQpmaWx0ZXJpbmcgbWVjaGFuaXNtIGNhbiBiZSBi eXBhc3NlZCBhbmQgcmVxdWVzdHMgYWRkaXRpb25hbCBkYXRhIChleGFjdAp2ZXJzaW9uIG51bWJl cnMgb2YgdGhlIElFIG9uIHRoZSB0YXJnZXQgc3lzdGVtIGFuZCBBSU0gY2xpZW50cyB1c2VkKS4g QU9MCnJlcXVlc3RzIHRvIGRlbGF5IHB1YmxpY2F0aW9uIG9mIHRoZSBzZWN1cml0eSBhZHZpc29y eSB1bnRpbCB0aGUgZGF0ZQpwcmV2aW91c2x5IGFncmVlZCBvbiAoT2N0b2JlciAxNnRoLCAyMDA3 KSB0aGUgcmVsZWFzZSBvZiBmaXhlcyBpcyBzdGlsbCBvbgpzY2hlZHVsZSBmb3IgbWlkLU9jdG9i ZXIuCioyMDA3LTA5LTIwKjogRW1haWwgc2VudCB0byBBT0wgUFZUIHN0YXRpbmcgdGhhdCBDb3Jl 4oCfcyBhbmFseXNpcyBpbmRpY2F0ZXMKdGhhdCB0aGUgcHVibGljbHkgZGlzY2xvc2VkIGJ1ZyBh bmQgdGhvc2UgcmVwb3J0ZWQgYnkgQ29yZSBhcmUgb2YgdGhlIHNhbWUKYW5kIHRoYXQgaW4gZmFj dCB0aGUgcHVibGljIG9uZSBpcyBqdXN0IGEgdHJpdmlhbCB2YXJpYXRpb24gb2Ygb25lIG9mIHRo ZQphdHRhY2sgc2NlbmFyaW9zIGV4cGxpY2l0bHkgZGVzY3JpYmVkIGJ5IENvcmUuIEZ1cnRoZXIg ZGV0YWlscyBwcm92aWRlZAphYm91dCBob3cgdG8gdGVzdCBBT0zigJ9zIHNlcnZlci1zaWRlIGZp bHRlcmluZyBtZWNoYW5pc20gKGFsdGhvdWdoIHdlIGRvbuKAn3QKdGhpbmsgdGhlIHZlcnNpb25z IG9mIElFIGFuZCBBSU0gb24gdGhlIHNvdXJjZSBhbmQgdGFyZ2V0IHN5c3RlbSBhcmUKcmVsZXZh bnQgdG8gdGVzdCBzZXJ2ZXItc2lkZSBmaWx0ZXJpbmcpLiBDb3JlIHBvaW50cyBvdXQgdGhhdCB0 aGUgbWVzc2FnZXMKb24gQU9MJ3MgbWVzc2FnZSBib2FyZHMgZGlzY2xvc2Ugc3BlY2lmaWMgbm9u LW1hbGljaW91cyBIVE1MIGNvZGUgdGhhdCBpcwpjdXJyZW50bHkgYmVpbmcgaW5qZWN0ZWQgaW50 byBjbGllbnRzLCBpbmNsdWRpbmcgSmF2YVNjcmlwdCBhbmQKaW5zdGFudGlhdGlvbiBvZiBBY3Rp dmVYIGNvbnRyb2xzIGFuZCB0aGF0IHNob3VsZCBiZSBjb25zaWRlcmVkIGRpcmVjdGx5CnJlbGF0 ZWQgdG8gdGhlIGJ1Z3MgcmVwb3J0ZWQgYmVjYXVzZSB0aGV5IGRlbW9uc3RyYXRlIHRoYXQgYXJi aXRyYXJ5IEhUTUwKY29udGVudCBjYW4gYmUgaW5qZWN0ZWQgaW50byBBSU0uIENvcmUgaGFzIGNv bmZpcm1lZCB0aGF0IEFJTSA2LjUuMy4xMiBpcwpub3QgdnVsbmVyYWJsZSB0byBhdHRhY2sgKGFs dGhvdWdoIGV4dGVuc2l2ZSByZWdyZXNzaW9uIHRlc3Rpbmcgb2YgYWxsCnBvc3NpYmxlIGF0dGFj ayBwYXR0ZXJucyB3YXMgbm90IHBlcmZvcm1lZCkuCkdpdmVuIGFsbCB0aGUgcHVibGljbHkga25v d24gZmFjdHMgQ29yZSBkZWVtcyBhY3RpdmUgZXhwbG9pdGF0aW9uIGltbWluZW50CmFuZCB0aGVy ZWZvcmUgc3RpbGwgcGxhbnMgdG8gcmVsZWFzZSB0aGUgc2VjdXJpdHkgYWR2aXNvcnkgb24gTW9u ZGF5IFNlcHQuCjI0dGggaW4gb3JkZXIgdG8gcHJvdmlkZSBwcmVjaXNlIGRldGFpbHMgdG8gaGVs cCB1c2VycyBiZWNvbWUgYXdhcmUgb2YgdGhlCnJpc2sgdGhleSBhcmUgZXhwb3NlZCB0byBhbmQg dG8gZGVwbG95IGNvdW50ZXJtZWFzdXJlcyB0byBwcmV2ZW50IGFjdGl2ZQpleHBsb2l0YXRpb24u CioyMDA3LTA5LTIxKjogRW1haWwgcmVjZWl2ZWQgZnJvbSBBT0wgUFZUIHJlcXVlc3RpbmcgYSBj b25mZXJlbmNlIGNhbGwgdG8KZGlzY3VzcyB0aGUgaXNzdWVzIHJlcG9ydGVkIGFuZCBob3cgdG8g aGFuZGxlIHRoZW0uCioyMDA3LTA5LTIxKjogQ29uZmVyZW5jZSBjYWxsIGJldHdlZW4gQ29yZSBT ZWN1cml0eSBhZHZpc29yaWVzIHRlYW0sCkNvcmUncyBidWcgZGlzY292ZXJlciBhbmQgQU9MIFBW VC4gQU9MIHJlcG9ydGVkIHRoYXQgdGhlIGN1cnJlbnQgdmVyc2lvbgpvZiBBSU0gNi41IGFkZHJl c3NlcyB0aGUgYnVncyByZXBvcnRlZCBhbmQgdGhhdCBBT0wgY291bGQgcmVwbGljYXRlIHRoZQp0 ZXN0IG9mIHRoZSBzZXJ2aWNlLXNpZGUgZmlsdGVycyBhbmQgaGFkIGZpeGVkIHRoZSBieXBhc3Mu IEF2YWlsYWJpbGl0eSBvZgpmaXhlZCByZWxlYXNlIHZlcnNpb25zIG9mIEFJTSBpcyBzdGlsbCBz Y2hlZHVsZWQgZm9yIG1pZC1PY3RvYmVyLiBDb3JlCnJlcG9ydHMgdGhhdCBBSU0gdjYuNS4zLjEy IGluZGVlZCBzZWVtcyB0byBoYXZlIGZpeGVkIHRoZSBwcm9ibGVtCihhbHRob3VnaCBmdWxsIHJl Z3Jlc3Npb24gd2FzIG5vdCBwZXJmb3JtZWQpIGFuZCB0aGF0IHRoZSBwdWJsaWNseSBrbm93bgpp bmZvcm1hdGlvbiBhYm91dCBIVE1MIGluamVjdGlvbiBpbiBBSU0gY2xpZW50cyBtYWtlcyBpdCB0 cml2aWFsIGZvcgphdHRhY2tlcnMgdG8gZmlndXJlIG91dCB2YXJpYXRpb25zIG9mIHRoZSBwdWJs aXNoZWQgY29kZSB0aGF0IGNhbiBzdWNjZWVkCmFnYWluc3QgdnVsbmVyYWJsZSBzeXN0ZW1zLiBD b3JlIHdpbGwgcmUtdGVzdCB0aGUgc2VydmVyLXNpZGUgZmlsdGVyaW5nCm1lY2hhbmlzbS4gVGhl IGZpbmFsIHNlY3VyaXR5IGFkdmlzb3J5IHdpbGwgYmUgc2VudCB0byBBT0wgYnkgQ09CClNlcHRl bWJlciBGcmlkYXkgMjFzdCBhbmQgdGhlIHB1YmxpY2F0aW9uIGRhdGUgbW92ZWQgdG8gVHVlc2Rh eSwgU2VwdGVtYmVyCjI1dGgsIDIwMDcgdG8gaW5jb3Jwb3JhdGUgQU9MJ3Mgb2ZmaWNpYWwgc3Rh dGVtZW50cyByZWdhcmRpbmcgZml4ZXMgYW5kCm1pdGlnYXRpb24gYW5kIGZpbmFsIHJlc3RzIG9m IHRoZSBpbnRlcmltIHNlcnZlci1zaWRlIGZpbHRlcnMuIFRoZQpwdWJsaWNhdGlvbiBkYXRlIGlz IGZpbmFsLgoqMjAwNy0wOS0yMSo6IEVtYWlsIHNlbnQgdG8gQU9MIFBWVCBpbmRpY2F0aW5nIHRo ZSBzZXJ2ZXItZmlsdGVyaW5nIGhhcwppbXByb3ZlZCBjb25zaWRlcmFibHkgYnV0IGNhbiBzdGls bCBiZSBieXBhc3NlZC4gT3RoZXIgdmFyaWF0aW9ucyBvZiB0aGUKc2FtZSB0eXBlIG9mIGF0dGFj ayBzaG91bGQgYmUgYmxvY2tlZC4KKjIwMDctMDktMjEqOiBFbWFpbCBzZW50IHRvIEFPTCBQVlQg aW5kaWNhdGluZyB1c2Ugb2YgSW50ZXJuZXQgRXhwbG9yZXIKTG9jYWwgTWFjaGluZSBab25lIExv Y2tkb3duIHJlY29tbWVuZGF0aW9uIG1heSBiZSBhIHN1aXRhYmxlIHdvcmthcm91bmQuCioyMDA3 LTA5LTI0KjogRW1haWwgZnJvbSBBT0wgUFZUIGluY2x1ZGluZyBBT0wncyBvZmZpY2lhbCBzdGF0 ZW1lbnQKcmVnYXJkaW5nIHRoaXMgcmVwb3J0IChpbmNsdWRlZCBpbiB0aGUgIlZlbmRvciBJbmZv cm1hdGlvbiwgU29sdXRpb25zIGFuZApXb3JrYXJvdW5kcyIgc2VjdGlvbikuCioyMDA3LTA5LTI1 KjogQ29yZUxhYnMgU2VjdXJpdHkgQWR2aXNvcnkgQ09SRS0yMDA3LTA4MTcgcHVibGlzaGVkCgoq UmVmZXJlbmNlcyoKWzFdIEFJTSBBcmJpdHJhcnkgSFRNTCBEaXNwbGF5IGluIE5vdGlmaWNhdGlv biBXaW5kb3cKICAgIHNoZWxsIGF0IGRvdHNoZWxsIGRvdCBuZXQKICAgIGh0dHA6Ly93d3cuc2Vj dXJpdHlmb2N1cy5jb20vYXJjaGl2ZS8xLzQ3OTE5OQpbMl0gQUlNIExvY2FsIEZpbGUgRGlzcGxh eSBpbiBOb3RpZmljYXRpb24gV2luZG93CiAgICBzaGVsbCBhdCBkb3RzaGVsbCBkb3QgbmV0CiAg ICBodHRwOi8vd3d3LnNlY3VyaXR5Zm9jdXMuY29tL2FyY2hpdmUvMS80Nzk0MzUKWzNdIGh0dHA6 Ly9udmQubmlzdC5nb3YvbnZkLmNmbT9jdmVuYW1lPUNWRS0yMDA3LTQ5MDEKWzRdIGh0dHA6Ly93 d3cuc2VjdXJpdHlmb2N1cy5jb20vYmlkLzI1NjU5Cls1XSBodHRwOi8vc2VjdW5pYS5jb20vYWR2 aXNvcmllcy8yNjc4Ni8KWzZdICJBSU0gNi4xIHByb2JsZW1zIiB0aHJlYWQgb24gQU9M4oCfcyBB SU0gU3VwcG9ydCAmIG1vcmUgdGVjaG5pY2FsIGZvcnVtCmh0dHA6Ly9tZXNzYWdlYm9hcmRzLmFv bC5jb20vYW9sL2VuX3VzL2FydGljbGVzLnBocD9ib2FyZElkPTU2NTU2MyZhcnRpY2xlSWQ9MTY1 MzcKWzddICJJTSBwcm9ibGVtcyIgdGhyZWFkIGluIEFPTOKAn3MgQUlNIDYgVGVjaG5pY2FsIElz c3VlcyBmb3J1bQpodHRwOi8vbWVzc2FnZWJvYXJkcy5hb2wuY29tL2FvbC9lbl91cy9hcnRpY2xl cy5waHA/Ym9hcmRJZD01NjU1NjMmYXJ0aWNsZUlkPTE2NTM3Cls4XSAiQ29weXJpZ2h0IGFuZCBD b25maWRlbnRpYWxpdHkgbm90aWNlPyIgdGhyZWFkIG9uIEFPTOKAn3MgQUlNIDYKVGVjaG5pY2Fs IElzc3VlcyBmb3J1bQpodHRwOi8vbWVzc2FnZWJvYXJkcy5hb2wuY29tL2FvbC9lbl91cy9hcnRp Y2xlcy5waHA/Ym9hcmRJZD01Njc3NzQmYXJ0aWNsZUlkPTI0MDAKCipBYm91dCBDb3JlbGFicyoK Q29yZUxhYnMsIHRoZSByZXNlYXJjaCBjZW50ZXIgb2YgQ29yZSBTZWN1cml0eSBUZWNobm9sb2dp ZXMsIGlzIGNoYXJnZWQKd2l0aCBhbnRpY2lwYXRpbmcgdGhlIGZ1dHVyZSBuZWVkcyBhbmQgcmVx dWlyZW1lbnRzIGZvciBpbmZvcm1hdGlvbgpzZWN1cml0eSB0ZWNobm9sb2dpZXMuCldlIGNvbmR1 Y3Qgb3VyIHJlc2VhcmNoIGluIHNldmVyYWwgaW1wb3J0YW50IGFyZWFzIG9mIGNvbXB1dGVyIHNl Y3VyaXR5CmluY2x1ZGluZyBzeXN0ZW0gdnVsbmVyYWJpbGl0aWVzLCBjeWJlciBhdHRhY2sgcGxh bm5pbmcgYW5kIHNpbXVsYXRpb24sCnNvdXJjZSBjb2RlIGF1ZGl0aW5nLCBhbmQgY3J5cHRvZ3Jh cGh5LiBPdXIgcmVzdWx0cyBpbmNsdWRlIHByb2JsZW0KZm9ybWFsaXphdGlvbiwgaWRlbnRpZmlj YXRpb24gb2YgdnVsbmVyYWJpbGl0aWVzLCBub3ZlbCBzb2x1dGlvbnMgYW5kCnByb3RvdHlwZXMg Zm9yIG5ldyB0ZWNobm9sb2dpZXMuCkNvcmVMYWJzIHJlZ3VsYXJseSBwdWJsaXNoZXMgc2VjdXJp dHkgYWR2aXNvcmllcywgdGVjaG5pY2FsIHBhcGVycywKcHJvamVjdCBpbmZvcm1hdGlvbiBhbmQg c2hhcmVkIHNvZnR3YXJlIHRvb2xzIGZvciBwdWJsaWMgdXNlIGF0OgpodHRwOi8vd3d3LmNvcmVz ZWN1cml0eS5jb20vY29yZWxhYnMvCgoqQWJvdXQgQ29yZSBTZWN1cml0eSBUZWNobm9sb2dpZXMq CkNvcmUgU2VjdXJpdHkgVGVjaG5vbG9naWVzIGRldmVsb3BzIHN0cmF0ZWdpYyBzb2x1dGlvbnMg dGhhdCBoZWxwCnNlY3VyaXR5LWNvbnNjaW91cyBvcmdhbml6YXRpb25zIHdvcmxkd2lkZSBkZXZl bG9wIGFuZCBtYWludGFpbiBhCnByb2FjdGl2ZSBwcm9jZXNzIGZvciBzZWN1cmluZyB0aGVpciBu ZXR3b3Jrcy4gVGhlIGNvbXBhbnkncyBmbGFnc2hpcApwcm9kdWN0LCBDT1JFIElNUEFDVCwgaXMg dGhlIG1vc3QgY29tcHJlaGVuc2l2ZSBwcm9kdWN0IGZvciBwZXJmb3JtaW5nCmVudGVycHJpc2Ug c2VjdXJpdHkgYXNzdXJhbmNlIHRlc3RpbmcuIElNUEFDVCBldmFsdWF0ZXMgbmV0d29yaywKZW5k cG9pbnQgYW5kIGVuZC11c2VyIHZ1bG5lcmFiaWxpdGllcyBhbmQgaWRlbnRpZmllcyB3aGF0IHJl c291cmNlcyBhcmUKZXhwb3NlZC4gSXQgZW5hYmxlcyBvcmdhbml6YXRpb25zIHRvIGRldGVybWlu ZSBpZiBjdXJyZW50IHNlY3VyaXR5CmludmVzdG1lbnRzIGFyZSBkZXRlY3RpbmcgYW5kIHByZXZl bnRpbmcgYXR0YWNrcy4gQ29yZSBhdWdtZW50cyBpdHMKbGVhZGluZyB0ZWNobm9sb2d5IHNvbHV0 aW9uIHdpdGggd29ybGQtY2xhc3Mgc2VjdXJpdHkgY29uc3VsdGluZyBzZXJ2aWNlcywKaW5jbHVk aW5nIHBlbmV0cmF0aW9uIHRlc3RpbmcgYW5kIHNvZnR3YXJlIHNlY3VyaXR5IGF1ZGl0aW5nLgpC YXNlZCBpbiBCb3N0b24sIE1BIGFuZCBCdWVub3MgQWlyZXMsIEFyZ2VudGluYSwgQ29yZSBTZWN1 cml0eQpUZWNobm9sb2dpZXMgY2FuIGJlIHJlYWNoZWQgYXQgNjE3LTM5OS02OTgwIG9yIG9uIHRo ZSBXZWIgYXQKaHR0cDovL3d3dy5jb3Jlc2VjdXJpdHkuY29tLgoKKkRJU0NMQUlNRVIqClRoZSBj b250ZW50cyBvZiB0aGlzIGFkdmlzb3J5IGFyZSBjb3B5cmlnaHQgKGMpIDIwMDcgQ09SRSBTZWN1 cml0eQpUZWNobm9sb2dpZXMgYW5kIChjKSAyMDA3IENvcmVMYWJzLCBhbmQgbWF5IGJlIGRpc3Ry aWJ1dGVkIGZyZWVseSBwcm92aWRlZAp0aGF0IG5vIGZlZSBpcyBjaGFyZ2VkIGZvciB0aGlzIGRp c3RyaWJ1dGlvbiBhbmQgcHJvcGVyIGNyZWRpdCBpcyBnaXZlbi4KUEdQL0dQRyBLRVlTIFRoaXMg YWR2aXNvcnkgaGFzIGJlZW4gc2lnbmVkIHdpdGggdGhlIEdQRyBrZXkgb2YgQ29yZQpTZWN1cml0 eSBUZWNobm9sb2dpZXMgYWR2aXNvcmllcyB0ZWFtLCB3aGljaCBpcyBhdmFpbGFibGUgZm9yIGRv d25sb2FkIGF0Cmh0dHA6Ly93d3cuY29yZXNlY3VyaXR5LmNvbS9maWxlcy9hdHRhY2htZW50cy9j b3JlX3NlY3VyaXR5X2Fkdmlzb3JpZXMuYXNjCgotLS0tLUJFR0lOIFBHUCBTSUdOQVRVUkUtLS0t LQpWZXJzaW9uOiBHbnVQRyB2MS40LjcgKE1pbmdXMzIpCgppRDhEQlFGRytUVm15TmliZ2dpdFdh MFJBcVUyQUtDa0t5SEZWKyt3K0MyaGtJNVdBQVBGQWd4RGZnQ2dvL0VwCjNpWEc0WUt4L3lJeWlt WUh3R3pPZzhvPQo9dVVIcAotLS0tLUVORCBQR1AgU0lHTkFUVVJFLS0tLS0KCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkZ1bGwtRGlzY2xvc3VyZSAtIFdl IGJlbGlldmUgaW4gaXQuCkNoYXJ0ZXI6IGh0dHA6Ly9saXN0cy5ncm9rLm9yZy51ay9mdWxsLWRp c2Nsb3N1cmUtY2hhcnRlci5odG1sCkhvc3RlZCBhbmQgc3BvbnNvcmVkIGJ5IFNlY3VuaWEgLSBo dHRwOi8vc2VjdW5pYS5jb20v