From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: =?utf-8?q?Bj=C3=B6rn_Esser_=3Cbesser82=40fedoraproject=2Eorg=3E?= To: git-commits@fedoraproject.org Subject: [rpms/pcl] f44: Re-enable and realign oom patch Date: Thu, 25 Jun 2026 05:50:15 GMT Message-ID: <178236661518.1.5219187567268038285.rpms-pcl-a1b0e7b7dc76@fedoraproject.org> List-ID: X-Git-Repo: rpms/pcl X-Git-Branch: f44 X-Git-Rev: a1b0e7b7dc76d0ac29f0204f667973edd2f58249 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvcGNsCkJyYW5jaCA6 IGY0NApDb21taXQgOiBhMWIwZTdiN2RjNzZkMGFjMjlmMDIwNGY2Njc5NzNlZGQyZjU4MjQ5CkF1 dGhvciA6IEJqw7ZybiBFc3NlciA8YmVzc2VyODJAZmVkb3JhcHJvamVjdC5vcmc+CkRhdGUgICA6 IDIwMjEtMDgtMjBUMTc6Mjg6MjkrMDI6MDAKU3RhdHMgIDogKzM2OS8tMzYxIGluIDMgZmlsZShz KQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL3BjbC9jL2ExYjBl N2I3ZGM3NmQwYWMyOWYwMjA0ZjY2Nzk3M2VkZDJmNTgyNDk/YnJhbmNoPWY0NAoKTG9nOgpSZS1l bmFibGUgYW5kIHJlYWxpZ24gb29tIHBhdGNoCgotLS0KZGlmZiAtLWdpdCBhL3BjbC0xLjExLjAt b29tLnBhdGNoIGIvcGNsLTEuMTEuMC1vb20ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDdkMjAzMzkuLjAwMDAwMDAKLS0tIGEvcGNsLTEuMTEuMC1vb20ucGF0Y2gKKysrIC9k ZXYvbnVsbApAQCAtMSwzNTkgKzAsMCBAQAotZGlmZiAtdXAgLi9zdXJmYWNlL0NNYWtlTGlzdHMu dHh0Lm9vbSAuL3N1cmZhY2UvQ01ha2VMaXN0cy50eHQKLS0tLSAuL3N1cmZhY2UvQ01ha2VMaXN0 cy50eHQub29tCTIwMjAtMDUtMjkgMTc6NTU6MjYuNjI0NDQ4MTI3IC0wNDAwCi0rKysgLi9zdXJm YWNlL0NNYWtlTGlzdHMudHh0CTIwMjAtMDUtMjkgMTc6NTY6MTIuMTU1MDg1MzY1IC0wNDAwCi1A QCAtOTcsNyArOTcsMTIgQEAgc2V0KHNyY3MKLSAgIHNyYy9tYXJjaGluZ19jdWJlc19ob3BwZS5j cHAKLSAgIHNyYy9tYXJjaGluZ19jdWJlc19yYmYuY3BwCi0gICBzcmMvYmlsYXRlcmFsX3Vwc2Ft cGxpbmcuY3BwCi0tICBzcmMvbWxzLmNwcAotKyAgc3JjL21sc19uLmNwcAotKyAgc3JjL21sc194 eXouY3BwCi0rICBzcmMvbWxzX3h5emkuY3BwCi0rICBzcmMvbWxzX3h5enJnYmEuY3BwCi0rICBz cmMvbWxzX3h5enJnYi5jcHAKLSsgIHNyYy9tbHNfeHl6cmdibi5jcHAKLSAgIHNyYy9vcmdhbml6 ZWRfZmFzdF9tZXNoLmNwcAotICAgc3JjL3NpbXBsaWZpY2F0aW9uX3JlbW92ZV91bnVzZWRfdmVy dGljZXMuY3BwCi0gICBzcmMvc3VyZmVsX3Ntb290aGluZy5jcHAKLWRpZmYgLXVwIC4vc3VyZmFj ZS9zcmMvbWxzX24uY3BwLm9vbSAuL3N1cmZhY2Uvc3JjL21sc19uLmNwcAotLS0tIC4vc3VyZmFj ZS9zcmMvbWxzX24uY3BwLm9vbQkyMDIwLTA1LTI5IDE3OjU1OjI2LjYyNDQ0ODEyNyAtMDQwMAot KysrIC4vc3VyZmFjZS9zcmMvbWxzX24uY3BwCTIwMjAtMDUtMjkgMTc6NTU6MjYuNjI0NDQ4MTI3 IC0wNDAwCi1AQCAtMCwwICsxLDUzIEBACi0rLyoKLSsgKiBTb2Z0d2FyZSBMaWNlbnNlIEFncmVl bWVudCAoQlNEIExpY2Vuc2UpCi0rICoKLSsgKiBQb2ludCBDbG91ZCBMaWJyYXJ5IChQQ0wpIC0g d3d3LnBvaW50Y2xvdWRzLm9yZwotKyAqIENvcHlyaWdodCAoYykgMjAwOS0yMDExLCBXaWxsb3cg R2FyYWdlLCBJbmMuCi0rICoKLSsgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgotKyAqCi0rICogUmVk aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3 aXRob3V0Ci0rICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl IGZvbGxvd2luZyBjb25kaXRpb25zCi0rICogYXJlIG1ldDoKLSsgKgotKyAqICogUmVkaXN0cmli dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSsg KiAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz Y2xhaW1lci4KLSsgKiAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv ZHVjZSB0aGUgYWJvdmUKLSsgKiAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCi0rICogICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVu dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQKLSsgKiAgIHdpdGggdGhlIGRp c3RyaWJ1dGlvbi4KLSsgKiAqIE5laXRoZXIgdGhlIG5hbWUgb2YgV2lsbG93IEdhcmFnZSwgSW5j LiBub3IgdGhlIG5hbWVzIG9mIGl0cwotKyAqICAgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0rICogICBmcm9tIHRoaXMgc29m dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0rICoKLSsg KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg Q09OVFJJQlVUT1JTCi0rICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSsgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUwotKyAqIEZPUiBBIFBBUlRJ Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCi0rICog Q09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs IElORElSRUNULAotKyAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsCi0rICogQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotKyAqIExPU1MgT0YgVVNF LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKLSsg KiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS QUNULCBTVFJJQ1QKLSsgKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTgotKyAqIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRQotKyAqIFBPU1NJQklMSVRZIE9G IFNVQ0ggREFNQUdFLgotKyAqCi0rICogJElkJAotKyAqCi0rICovCi0rCi0rI2luY2x1ZGUgPHBj bC9zdXJmYWNlL21scy5oPgotKyNpbmNsdWRlIDxwY2wvc3VyZmFjZS9pbXBsL21scy5ocHA+Ci0r Ci0rI2lmbmRlZiBQQ0xfTk9fUFJFQ09NUElMRQotKyNpbmNsdWRlIDxwY2wvcG9pbnRfdHlwZXMu aD4KLSsjaW5jbHVkZSA8cGNsL2ltcGwvaW5zdGFudGlhdGUuaHBwPgotKyNpZmRlZiBQQ0xfT05M WV9DT1JFX1BPSU5UX1RZUEVTCi0rIC8vIEluc3RhbnRpYXRpb25zIG9mIHNwZWNpZmljIHBvaW50 IHR5cGVzCi0rICBQQ0xfSU5TVEFOVElBVEVfUFJPRFVDVChNb3ZpbmdMZWFzdFNxdWFyZXMsICgo cGNsOjpQb2ludFhZWikocGNsOjpQb2ludFhZWkkpKHBjbDo6UG9pbnRYWVpSR0IpKHBjbDo6UG9p bnRYWVpSR0JBKShwY2w6OlBvaW50WFlaUkdCTm9ybWFsKShwY2w6OlBvaW50Tm9ybWFsKSkKLSsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChwY2w6OlBvaW50 Tm9ybWFsKSkpCi0rI2Vsc2UKLSsgIC8vIFBDTF9JTlNUQU5USUFURV9QUk9EVUNUKE1vdmluZ0xl YXN0U3F1YXJlcywgKFBDTF9YWVpfUE9JTlRfVFlQRVMpKFBDTF9YWVpfUE9JTlRfVFlQRVMpKQot KyNlbmRpZgotKyNlbmRpZiAgICAvLyBQQ0xfTk9fUFJFQ09NUElMRQotZGlmZiAtdXAgLi9zdXJm YWNlL3NyYy9tbHNfeHl6LmNwcC5vb20gLi9zdXJmYWNlL3NyYy9tbHNfeHl6LmNwcAotLS0tIC4v c3VyZmFjZS9zcmMvbWxzX3h5ei5jcHAub29tCTIwMjAtMDUtMjkgMTc6NTU6MjYuNjI0NDQ4MTI3 IC0wNDAwCi0rKysgLi9zdXJmYWNlL3NyYy9tbHNfeHl6LmNwcAkyMDIwLTA1LTI5IDE3OjU1OjI2 LjYyNDQ0ODEyNyAtMDQwMAotQEAgLTAsMCArMSw1MyBAQAotKy8qCi0rICogU29mdHdhcmUgTGlj ZW5zZSBBZ3JlZW1lbnQgKEJTRCBMaWNlbnNlKQotKyAqCi0rICogUG9pbnQgQ2xvdWQgTGlicmFy eSAoUENMKSAtIHd3dy5wb2ludGNsb3Vkcy5vcmcKLSsgKiBDb3B5cmlnaHQgKGMpIDIwMDktMjAx MSwgV2lsbG93IEdhcmFnZSwgSW5jLgotKyAqCi0rICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSsg KgotKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs IHdpdGggb3Igd2l0aG91dAotKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotKyAqIGFyZSBtZXQ6Ci0rICoKLSsgKiAq IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w eXJpZ2h0Ci0rICogICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s bG93aW5nIGRpc2NsYWltZXIuCi0rICogKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0rICogICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZwotKyAqICAgZGlzY2xhaW1lciBpbiB0 aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCi0rICogICB3 aXRoIHRoZSBkaXN0cmlidXRpb24uCi0rICogKiBOZWl0aGVyIHRoZSBuYW1lIG9mIFdpbGxvdyBH YXJhZ2UsIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSsgKiAgIGNvbnRyaWJ1dG9ycyBtYXkg YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAotKyAqICAgZnJv bSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u LgotKyAqCi0rICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP TERFUlMgQU5EIENPTlRSSUJVVE9SUwotKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElN UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0rICogTElNSVRFRCBUTywgVEhF IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKLSsgKiBG T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM IFRIRQotKyAqIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB TlkgRElSRUNULCBJTkRJUkVDVCwKLSsgKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLAotKyAqIEJVVCBOT1QgTElNSVRF RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKLSsgKiBM T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI T1dFVkVSCi0rICogQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF UiBJTiBDT05UUkFDVCwgU1RSSUNUCi0rICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4KLSsgKiBBTlkgV0FZIE9VVCBPRiBU SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUKLSsgKiBQT1NT SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSsgKgotKyAqICRJZCQKLSsgKgotKyAqLwotKwotKyNp bmNsdWRlIDxwY2wvc3VyZmFjZS9tbHMuaD4KLSsjaW5jbHVkZSA8cGNsL3N1cmZhY2UvaW1wbC9t bHMuaHBwPgotKwotKyNpZm5kZWYgUENMX05PX1BSRUNPTVBJTEUKLSsjaW5jbHVkZSA8cGNsL3Bv aW50X3R5cGVzLmg+Ci0rI2luY2x1ZGUgPHBjbC9pbXBsL2luc3RhbnRpYXRlLmhwcD4KLSsjaWZk ZWYgUENMX09OTFlfQ09SRV9QT0lOVF9UWVBFUwotKyAvLyBJbnN0YW50aWF0aW9ucyBvZiBzcGVj aWZpYyBwb2ludCB0eXBlcwotKyAgUENMX0lOU1RBTlRJQVRFX1BST0RVQ1QoTW92aW5nTGVhc3RT cXVhcmVzLCAoKHBjbDo6UG9pbnRYWVopKHBjbDo6UG9pbnRYWVpJKShwY2w6OlBvaW50WFlaUkdC KShwY2w6OlBvaW50WFlaUkdCQSkocGNsOjpQb2ludFhZWlJHQk5vcm1hbCkocGNsOjpQb2ludE5v cm1hbCkpCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgo cGNsOjpQb2ludFhZWikpKQotKyNlbHNlCi0rICBQQ0xfSU5TVEFOVElBVEVfUFJPRFVDVChNb3Zp bmdMZWFzdFNxdWFyZXMsIChQQ0xfWFlaX1BPSU5UX1RZUEVTKShQQ0xfWFlaX1BPSU5UX1RZUEVT KSkKLSsjZW5kaWYKLSsjZW5kaWYgICAgLy8gUENMX05PX1BSRUNPTVBJTEUKLWRpZmYgLXVwIC4v c3VyZmFjZS9zcmMvbWxzX3h5emkuY3BwLm9vbSAuL3N1cmZhY2Uvc3JjL21sc194eXppLmNwcAot LS0tIC4vc3VyZmFjZS9zcmMvbWxzX3h5emkuY3BwLm9vbQkyMDIwLTA1LTI5IDE3OjU1OjI2LjYy NDQ0ODEyNyAtMDQwMAotKysrIC4vc3VyZmFjZS9zcmMvbWxzX3h5emkuY3BwCTIwMjAtMDUtMjkg MTc6NTU6MjYuNjI0NDQ4MTI3IC0wNDAwCi1AQCAtMCwwICsxLDUzIEBACi0rLyoKLSsgKiBTb2Z0 d2FyZSBMaWNlbnNlIEFncmVlbWVudCAoQlNEIExpY2Vuc2UpCi0rICoKLSsgKiBQb2ludCBDbG91 ZCBMaWJyYXJ5IChQQ0wpIC0gd3d3LnBvaW50Y2xvdWRzLm9yZwotKyAqIENvcHlyaWdodCAoYykg MjAwOS0yMDExLCBXaWxsb3cgR2FyYWdlLCBJbmMuCi0rICoKLSsgKiBBbGwgcmlnaHRzIHJlc2Vy dmVkLgotKyAqCi0rICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0rICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0rICogYXJlIG1ldDoKLSsg KgotKyAqICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh Ym92ZSBjb3B5cmlnaHQKLSsgKiAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSsgKiAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSsgKiAgIGNvcHlyaWdodCBub3RpY2Us IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCi0rICogICBkaXNjbGFp bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQK LSsgKiAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSsgKiAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg V2lsbG93IEdhcmFnZSwgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotKyAqICAgY29udHJpYnV0 b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0r ICogICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl cm1pc3Npb24uCi0rICoKLSsgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0rICogIkFTIElTIiBBTkQgQU5ZIEVYUFJF U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSsgKiBMSU1JVEVE IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT UwotKyAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF TlQgU0hBTEwgVEhFCi0rICogQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAotKyAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsCi0rICogQlVUIE5P VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT OwotKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV UFRJT04pIEhPV0VWRVIKLSsgKiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKLSsgKiBMSUFCSUxJVFksIE9SIFRPUlQgKElO Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTgotKyAqIEFOWSBXQVkg T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRQot KyAqIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotKyAqCi0rICogJElkJAotKyAqCi0rICov Ci0rCi0rI2luY2x1ZGUgPHBjbC9zdXJmYWNlL21scy5oPgotKyNpbmNsdWRlIDxwY2wvc3VyZmFj ZS9pbXBsL21scy5ocHA+Ci0rCi0rI2lmbmRlZiBQQ0xfTk9fUFJFQ09NUElMRQotKyNpbmNsdWRl IDxwY2wvcG9pbnRfdHlwZXMuaD4KLSsjaW5jbHVkZSA8cGNsL2ltcGwvaW5zdGFudGlhdGUuaHBw PgotKyNpZmRlZiBQQ0xfT05MWV9DT1JFX1BPSU5UX1RZUEVTCi0rIC8vIEluc3RhbnRpYXRpb25z IG9mIHNwZWNpZmljIHBvaW50IHR5cGVzCi0rICBQQ0xfSU5TVEFOVElBVEVfUFJPRFVDVChNb3Zp bmdMZWFzdFNxdWFyZXMsICgocGNsOjpQb2ludFhZWikocGNsOjpQb2ludFhZWkkpKHBjbDo6UG9p bnRYWVpSR0IpKHBjbDo6UG9pbnRYWVpSR0JBKShwY2w6OlBvaW50WFlaUkdCTm9ybWFsKShwY2w6 OlBvaW50Tm9ybWFsKSkKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKChwY2w6OlBvaW50WFlaSSkpKQotKyNlbHNlCi0rICAvLyBQQ0xfSU5TVEFOVElBVEVf UFJPRFVDVChNb3ZpbmdMZWFzdFNxdWFyZXMsIChQQ0xfWFlaX1BPSU5UX1RZUEVTKShQQ0xfWFla X1BPSU5UX1RZUEVTKSkKLSsjZW5kaWYKLSsjZW5kaWYgICAgLy8gUENMX05PX1BSRUNPTVBJTEUK LWRpZmYgLXVwIC4vc3VyZmFjZS9zcmMvbWxzX3h5enJnYmEuY3BwLm9vbSAuL3N1cmZhY2Uvc3Jj L21sc194eXpyZ2JhLmNwcAotLS0tIC4vc3VyZmFjZS9zcmMvbWxzX3h5enJnYmEuY3BwLm9vbQky MDIwLTA1LTI5IDE3OjU1OjI2LjYyNTQ0ODExOCAtMDQwMAotKysrIC4vc3VyZmFjZS9zcmMvbWxz X3h5enJnYmEuY3BwCTIwMjAtMDUtMjkgMTc6NTU6MjYuNjI1NDQ4MTE4IC0wNDAwCi1AQCAtMCww ICsxLDUzIEBACi0rLyoKLSsgKiBTb2Z0d2FyZSBMaWNlbnNlIEFncmVlbWVudCAoQlNEIExpY2Vu c2UpCi0rICoKLSsgKiBQb2ludCBDbG91ZCBMaWJyYXJ5IChQQ0wpIC0gd3d3LnBvaW50Y2xvdWRz Lm9yZwotKyAqIENvcHlyaWdodCAoYykgMjAwOS0yMDExLCBXaWxsb3cgR2FyYWdlLCBJbmMuCi0r ICoKLSsgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgotKyAqCi0rICogUmVkaXN0cmlidXRpb24gYW5k IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0rICogbW9k aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k aXRpb25zCi0rICogYXJlIG1ldDoKLSsgKgotKyAqICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSsgKiAgIG5vdGljZSwgdGhp cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSsgKiAq IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUK LSsgKiAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg Zm9sbG93aW5nCi0rICogICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQKLSsgKiAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSsg KiAqIE5laXRoZXIgdGhlIG5hbWUgb2YgV2lsbG93IEdhcmFnZSwgSW5jLiBub3IgdGhlIG5hbWVz IG9mIGl0cwotKyAqICAgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv bW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0rICogICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0rICoKLSsgKiBUSElTIFNPRlRXQVJF IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0r ICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ TkcsIEJVVCBOT1QKLSsgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUwotKyAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCi0rICogQ09QWVJJR0hUIE9XTkVS IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAotKyAq IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT IChJTkNMVURJTkcsCi0rICogQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKLSsgKiBDQVVTRUQgQU5EIE9O IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKLSsg KiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg QVJJU0lORyBJTgotKyAqIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg RVZFTiBJRiBBRFZJU0VEIE9GIFRIRQotKyAqIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgot KyAqCi0rICogJElkJAotKyAqCi0rICovCi0rCi0rI2luY2x1ZGUgPHBjbC9zdXJmYWNlL21scy5o PgotKyNpbmNsdWRlIDxwY2wvc3VyZmFjZS9pbXBsL21scy5ocHA+Ci0rCi0rI2lmbmRlZiBQQ0xf Tk9fUFJFQ09NUElMRQotKyNpbmNsdWRlIDxwY2wvcG9pbnRfdHlwZXMuaD4KLSsjaW5jbHVkZSA8 cGNsL2ltcGwvaW5zdGFudGlhdGUuaHBwPgotKyNpZmRlZiBQQ0xfT05MWV9DT1JFX1BPSU5UX1RZ UEVTCi0rIC8vIEluc3RhbnRpYXRpb25zIG9mIHNwZWNpZmljIHBvaW50IHR5cGVzCi0rICBQQ0xf SU5TVEFOVElBVEVfUFJPRFVDVChNb3ZpbmdMZWFzdFNxdWFyZXMsICgocGNsOjpQb2ludFhZWiko cGNsOjpQb2ludFhZWkkpKHBjbDo6UG9pbnRYWVpSR0IpKHBjbDo6UG9pbnRYWVpSR0JBKShwY2w6 OlBvaW50WFlaUkdCTm9ybWFsKShwY2w6OlBvaW50Tm9ybWFsKSkKLSsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChwY2w6OlBvaW50WFlaUkdCQSkpKQotKyNl bHNlCi0rICAvLyBQQ0xfSU5TVEFOVElBVEVfUFJPRFVDVChNb3ZpbmdMZWFzdFNxdWFyZXMsIChQ Q0xfWFlaX1BPSU5UX1RZUEVTKShQQ0xfWFlaX1BPSU5UX1RZUEVTKSkKLSsjZW5kaWYKLSsjZW5k aWYgICAgLy8gUENMX05PX1BSRUNPTVBJTEUKLWRpZmYgLXVwIC4vc3VyZmFjZS9zcmMvbWxzX3h5 enJnYi5jcHAub29tIC4vc3VyZmFjZS9zcmMvbWxzX3h5enJnYi5jcHAKLS0tLSAuL3N1cmZhY2Uv c3JjL21sc194eXpyZ2IuY3BwLm9vbQkyMDIwLTA1LTI5IDE3OjU1OjI2LjYyNTQ0ODExOCAtMDQw MAotKysrIC4vc3VyZmFjZS9zcmMvbWxzX3h5enJnYi5jcHAJMjAyMC0wNS0yOSAxNzo1NToyNi42 MjU0NDgxMTggLTA0MDAKLUBAIC0wLDAgKzEsNTMgQEAKLSsvKgotKyAqIFNvZnR3YXJlIExpY2Vu c2UgQWdyZWVtZW50IChCU0QgTGljZW5zZSkKLSsgKgotKyAqIFBvaW50IENsb3VkIExpYnJhcnkg KFBDTCkgLSB3d3cucG9pbnRjbG91ZHMub3JnCi0rICogQ29weXJpZ2h0IChjKSAyMDA5LTIwMTEs IFdpbGxvdyBHYXJhZ2UsIEluYy4KLSsgKgotKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0rICoK LSsgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3 aXRoIG9yIHdpdGhvdXQKLSsgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSsgKiBhcmUgbWV0OgotKyAqCi0rICogKiBS ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly aWdodAotKyAqICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv d2luZyBkaXNjbGFpbWVyLgotKyAqICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11 c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotKyAqICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0 IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKLSsgKiAgIGRpc2NsYWltZXIgaW4gdGhl IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAotKyAqICAgd2l0 aCB0aGUgZGlzdHJpYnV0aW9uLgotKyAqICogTmVpdGhlciB0aGUgbmFtZSBvZiBXaWxsb3cgR2Fy YWdlLCBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0rICogICBjb250cmlidXRvcnMgbWF5IGJl IHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKLSsgKiAgIGZyb20g dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K LSsgKgotKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE RVJTIEFORCBDT05UUklCVVRPUlMKLSsgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotKyAqIExJTUlURUQgVE8sIFRIRSBJ TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCi0rICogRk9S IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU SEUKLSsgKiBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z IERJUkVDVCwgSU5ESVJFQ1QsCi0rICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywKLSsgKiBCVVQgTk9UIExJTUlURUQg VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Ci0rICogTE9T UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X RVZFUgotKyAqIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg SU4gQ09OVFJBQ1QsIFNUUklDVAotKyAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOCi0rICogQU5ZIFdBWSBPVVQgT0YgVEhF IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFCi0rICogUE9TU0lC SUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0rICoKLSsgKiAkSWQkCi0rICoKLSsgKi8KLSsKLSsjaW5j bHVkZSA8cGNsL3N1cmZhY2UvbWxzLmg+Ci0rI2luY2x1ZGUgPHBjbC9zdXJmYWNlL2ltcGwvbWxz LmhwcD4KLSsKLSsjaWZuZGVmIFBDTF9OT19QUkVDT01QSUxFCi0rI2luY2x1ZGUgPHBjbC9wb2lu dF90eXBlcy5oPgotKyNpbmNsdWRlIDxwY2wvaW1wbC9pbnN0YW50aWF0ZS5ocHA+Ci0rI2lmZGVm IFBDTF9PTkxZX0NPUkVfUE9JTlRfVFlQRVMKLSsgLy8gSW5zdGFudGlhdGlvbnMgb2Ygc3BlY2lm aWMgcG9pbnQgdHlwZXMKLSsgIFBDTF9JTlNUQU5USUFURV9QUk9EVUNUKE1vdmluZ0xlYXN0U3F1 YXJlcywgKChwY2w6OlBvaW50WFlaKShwY2w6OlBvaW50WFlaSSkocGNsOjpQb2ludFhZWlJHQiko cGNsOjpQb2ludFhZWlJHQkEpKHBjbDo6UG9pbnRYWVpSR0JOb3JtYWwpKHBjbDo6UG9pbnROb3Jt YWwpKQotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHBj bDo6UG9pbnRYWVpSR0IpKSkKLSsjZWxzZQotKyAgLy9QQ0xfSU5TVEFOVElBVEVfUFJPRFVDVChN b3ZpbmdMZWFzdFNxdWFyZXMsIChQQ0xfWFlaX1BPSU5UX1RZUEVTKShQQ0xfWFlaX1BPSU5UX1RZ UEVTKSkKLSsjZW5kaWYKLSsjZW5kaWYgICAgLy8gUENMX05PX1BSRUNPTVBJTEUKLWRpZmYgLXVw IC4vc3VyZmFjZS9zcmMvbWxzX3h5enJnYm4uY3BwLm9vbSAuL3N1cmZhY2Uvc3JjL21sc194eXpy Z2JuLmNwcAotLS0tIC4vc3VyZmFjZS9zcmMvbWxzX3h5enJnYm4uY3BwLm9vbQkyMDIwLTA1LTI5 IDE3OjU1OjI2LjYyNTQ0ODExOCAtMDQwMAotKysrIC4vc3VyZmFjZS9zcmMvbWxzX3h5enJnYm4u Y3BwCTIwMjAtMDUtMjkgMTc6NTU6MjYuNjI1NDQ4MTE4IC0wNDAwCi1AQCAtMCwwICsxLDUzIEBA Ci0rLyoKLSsgKiBTb2Z0d2FyZSBMaWNlbnNlIEFncmVlbWVudCAoQlNEIExpY2Vuc2UpCi0rICoK LSsgKiBQb2ludCBDbG91ZCBMaWJyYXJ5IChQQ0wpIC0gd3d3LnBvaW50Y2xvdWRzLm9yZwotKyAq IENvcHlyaWdodCAoYykgMjAwOS0yMDExLCBXaWxsb3cgR2FyYWdlLCBJbmMuCi0rICoKLSsgKiBB bGwgcmlnaHRzIHJlc2VydmVkLgotKyAqCi0rICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0rICogbW9kaWZpY2F0aW9u LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0r ICogYXJlIG1ldDoKLSsgKgotKyAqICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11 c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSsgKiAgIG5vdGljZSwgdGhpcyBsaXN0IG9m IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSsgKiAqIFJlZGlzdHJp YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSsgKiAgIGNv cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n Ci0rICogICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl cmlhbHMgcHJvdmlkZWQKLSsgKiAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSsgKiAqIE5laXRo ZXIgdGhlIG5hbWUgb2YgV2lsbG93IEdhcmFnZSwgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwot KyAqICAgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k dWN0cyBkZXJpdmVkCi0rICogICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0rICoKLSsgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0rICogIkFTIElT IiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO T1QKLSsgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ TElUWSBBTkQgRklUTkVTUwotKyAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCi0rICogQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRS SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAotKyAqIElOQ0lERU5U QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ TkcsCi0rICogQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP T0RTIE9SIFNFUlZJQ0VTOwotKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKLSsgKiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKLSsgKiBMSUFCSUxJ VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ TgotKyAqIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB RFZJU0VEIE9GIFRIRQotKyAqIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotKyAqCi0rICog JElkJAotKyAqCi0rICovCi0rCi0rI2luY2x1ZGUgPHBjbC9zdXJmYWNlL21scy5oPgotKyNpbmNs dWRlIDxwY2wvc3VyZmFjZS9pbXBsL21scy5ocHA+Ci0rCi0rI2lmbmRlZiBQQ0xfTk9fUFJFQ09N UElMRQotKyNpbmNsdWRlIDxwY2wvcG9pbnRfdHlwZXMuaD4KLSsjaW5jbHVkZSA8cGNsL2ltcGwv aW5zdGFudGlhdGUuaHBwPgotKyNpZmRlZiBQQ0xfT05MWV9DT1JFX1BPSU5UX1RZUEVTCi0rIC8v IEluc3RhbnRpYXRpb25zIG9mIHNwZWNpZmljIHBvaW50IHR5cGVzCi0rICBQQ0xfSU5TVEFOVElB VEVfUFJPRFVDVChNb3ZpbmdMZWFzdFNxdWFyZXMsICgocGNsOjpQb2ludFhZWikocGNsOjpQb2lu dFhZWkkpKHBjbDo6UG9pbnRYWVpSR0IpKHBjbDo6UG9pbnRYWVpSR0JBKShwY2w6OlBvaW50WFla UkdCTm9ybWFsKShwY2w6OlBvaW50Tm9ybWFsKSkKLSsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKChwY2w6OlBvaW50WFlaUkdCTm9ybWFsKSkpCi0rI2Vsc2UK LSsgIC8vUENMX0lOU1RBTlRJQVRFX1BST0RVQ1QoTW92aW5nTGVhc3RTcXVhcmVzLCAoUENMX1hZ Wl9QT0lOVF9UWVBFUykoUENMX1hZWl9QT0lOVF9UWVBFUykpCi0rI2VuZGlmCi0rI2VuZGlmICAg IC8vIFBDTF9OT19QUkVDT01QSUxFCgpkaWZmIC0tZ2l0IGEvcGNsLTEuMTIuMC1vb20ucGF0Y2gg Yi9wY2wtMS4xMi4wLW9vbS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw Li5mZmM5OWJmCi0tLSAvZGV2L251bGwKKysrIGIvcGNsLTEuMTIuMC1vb20ucGF0Y2gKQEAgLTAs MCArMSwzNjYgQEAKK0luZGV4OiBwY2wtMS4xMi4wL3N1cmZhY2UvQ01ha2VMaXN0cy50eHQKKz09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KKy0tLSBwY2wtMS4xMi4wLm9yaWcvc3VyZmFjZS9DTWFrZUxpc3RzLnR4dAorKysr IHBjbC0xLjEyLjAvc3VyZmFjZS9DTWFrZUxpc3RzLnR4dAorQEAgLTExMiw3ICsxMTIsMTIgQEAg c2V0KHNyY3MKKyAgIHNyYy9tYXJjaGluZ19jdWJlc19ob3BwZS5jcHAKKyAgIHNyYy9tYXJjaGlu Z19jdWJlc19yYmYuY3BwCisgICBzcmMvYmlsYXRlcmFsX3Vwc2FtcGxpbmcuY3BwCistICBzcmMv bWxzLmNwcAorKyAgc3JjL21sc19uLmNwcAorKyAgc3JjL21sc194eXouY3BwCisrICBzcmMvbWxz X3h5emkuY3BwCisrICBzcmMvbWxzX3h5enJnYmEuY3BwCisrICBzcmMvbWxzX3h5enJnYi5jcHAK KysgIHNyYy9tbHNfeHl6cmdibi5jcHAKKyAgIHNyYy9vcmdhbml6ZWRfZmFzdF9tZXNoLmNwcAor ICAgc3JjL3NpbXBsaWZpY2F0aW9uX3JlbW92ZV91bnVzZWRfdmVydGljZXMuY3BwCisgICBzcmMv c3VyZmVsX3Ntb290aGluZy5jcHAKK0luZGV4OiBwY2wtMS4xMi4wL3N1cmZhY2Uvc3JjL21sc19u LmNwcAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQorLS0tIC9kZXYvbnVsbAorKysrIHBjbC0xLjEyLjAvc3VyZmFjZS9z cmMvbWxzX24uY3BwCitAQCAtMCwwICsxLDUzIEBACisrLyoKKysgKiBTb2Z0d2FyZSBMaWNlbnNl IEFncmVlbWVudCAoQlNEIExpY2Vuc2UpCisrICoKKysgKiBQb2ludCBDbG91ZCBMaWJyYXJ5IChQ Q0wpIC0gd3d3LnBvaW50Y2xvdWRzLm9yZworKyAqIENvcHlyaWdodCAoYykgMjAwOS0yMDExLCBX aWxsb3cgR2FyYWdlLCBJbmMuCisrICoKKysgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKyAqCisr ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0 aCBvciB3aXRob3V0CisrICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisrICogYXJlIG1ldDoKKysgKgorKyAqICogUmVk aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln aHQKKysgKiAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp bmcgZGlzY2xhaW1lci4KKysgKiAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0 IHJlcHJvZHVjZSB0aGUgYWJvdmUKKysgKiAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisrICogICBkaXNjbGFpbWVyIGluIHRoZSBk b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQKKysgKiAgIHdpdGgg dGhlIGRpc3RyaWJ1dGlvbi4KKysgKiAqIE5laXRoZXIgdGhlIG5hbWUgb2YgV2lsbG93IEdhcmFn ZSwgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworKyAqICAgY29udHJpYnV0b3JzIG1heSBiZSB1 c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCisrICogICBmcm9tIHRo aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisr ICoKKysgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS UyBBTkQgQ09OVFJJQlVUT1JTCisrICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKysgKiBMSU1JVEVEIFRPLCBUSEUgSU1Q TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworKyAqIEZPUiBB IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF CisrICogQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE SVJFQ1QsIElORElSRUNULAorKyAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsCisrICogQlVUIE5PVCBMSU1JVEVEIFRP LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworKyAqIExPU1Mg T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW RVIKKysgKiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO IENPTlRSQUNULCBTVFJJQ1QKKysgKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTgorKyAqIEFOWSBXQVkgT1VUIE9GIFRIRSBV U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRQorKyAqIFBPU1NJQklM SVRZIE9GIFNVQ0ggREFNQUdFLgorKyAqCisrICogJElkJAorKyAqCisrICovCisrCisrI2luY2x1 ZGUgPHBjbC9zdXJmYWNlL21scy5oPgorKyNpbmNsdWRlIDxwY2wvc3VyZmFjZS9pbXBsL21scy5o cHA+CisrCisrI2lmbmRlZiBQQ0xfTk9fUFJFQ09NUElMRQorKyNpbmNsdWRlIDxwY2wvcG9pbnRf dHlwZXMuaD4KKysjaW5jbHVkZSA8cGNsL2ltcGwvaW5zdGFudGlhdGUuaHBwPgorKyNpZmRlZiBQ Q0xfT05MWV9DT1JFX1BPSU5UX1RZUEVTCisrIC8vIEluc3RhbnRpYXRpb25zIG9mIHNwZWNpZmlj IHBvaW50IHR5cGVzCisrICBQQ0xfSU5TVEFOVElBVEVfUFJPRFVDVChNb3ZpbmdMZWFzdFNxdWFy ZXMsICgocGNsOjpQb2ludFhZWikocGNsOjpQb2ludFhZWkkpKHBjbDo6UG9pbnRYWVpSR0IpKHBj bDo6UG9pbnRYWVpSR0JBKShwY2w6OlBvaW50WFlaUkdCTm9ybWFsKShwY2w6OlBvaW50Tm9ybWFs KSkKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChwY2w6 OlBvaW50Tm9ybWFsKSkpCisrI2Vsc2UKKysgIC8vIFBDTF9JTlNUQU5USUFURV9QUk9EVUNUKE1v dmluZ0xlYXN0U3F1YXJlcywgKFBDTF9YWVpfUE9JTlRfVFlQRVMpKFBDTF9YWVpfUE9JTlRfVFlQ RVMpKQorKyNlbmRpZgorKyNlbmRpZiAgICAvLyBQQ0xfTk9fUFJFQ09NUElMRQorSW5kZXg6IHBj bC0xLjEyLjAvc3VyZmFjZS9zcmMvbWxzX3h5ei5jcHAKKz09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSAvZGV2L251 bGwKKysrKyBwY2wtMS4xMi4wL3N1cmZhY2Uvc3JjL21sc194eXouY3BwCitAQCAtMCwwICsxLDUz IEBACisrLyoKKysgKiBTb2Z0d2FyZSBMaWNlbnNlIEFncmVlbWVudCAoQlNEIExpY2Vuc2UpCisr ICoKKysgKiBQb2ludCBDbG91ZCBMaWJyYXJ5IChQQ0wpIC0gd3d3LnBvaW50Y2xvdWRzLm9yZwor KyAqIENvcHlyaWdodCAoYykgMjAwOS0yMDExLCBXaWxsb3cgR2FyYWdlLCBJbmMuCisrICoKKysg KiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKyAqCisrICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisrICogbW9kaWZpY2F0 aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z CisrICogYXJlIG1ldDoKKysgKgorKyAqICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKysgKiAgIG5vdGljZSwgdGhpcyBsaXN0 IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKysgKiAqIFJlZGlz dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKysgKiAg IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93 aW5nCisrICogICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt YXRlcmlhbHMgcHJvdmlkZWQKKysgKiAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKysgKiAqIE5l aXRoZXIgdGhlIG5hbWUgb2YgV2lsbG93IEdhcmFnZSwgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0 cworKyAqICAgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw cm9kdWN0cyBkZXJpdmVkCisrICogICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisrICoKKysgKiBUSElTIFNPRlRXQVJFIElTIFBS T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisrICogIkFT IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV VCBOT1QKKysgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U QUJJTElUWSBBTkQgRklUTkVTUworKyAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCisrICogQ09QWVJJR0hUIE9XTkVSIE9SIENP TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorKyAqIElOQ0lE RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM VURJTkcsCisrICogQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF IEdPT0RTIE9SIFNFUlZJQ0VTOworKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKKysgKiBDQVVTRUQgQU5EIE9OIEFOWSBU SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKysgKiBMSUFC SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO RyBJTgorKyAqIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ RiBBRFZJU0VEIE9GIFRIRQorKyAqIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKyAqCisr ICogJElkJAorKyAqCisrICovCisrCisrI2luY2x1ZGUgPHBjbC9zdXJmYWNlL21scy5oPgorKyNp bmNsdWRlIDxwY2wvc3VyZmFjZS9pbXBsL21scy5ocHA+CisrCisrI2lmbmRlZiBQQ0xfTk9fUFJF Q09NUElMRQorKyNpbmNsdWRlIDxwY2wvcG9pbnRfdHlwZXMuaD4KKysjaW5jbHVkZSA8cGNsL2lt cGwvaW5zdGFudGlhdGUuaHBwPgorKyNpZmRlZiBQQ0xfT05MWV9DT1JFX1BPSU5UX1RZUEVTCisr IC8vIEluc3RhbnRpYXRpb25zIG9mIHNwZWNpZmljIHBvaW50IHR5cGVzCisrICBQQ0xfSU5TVEFO VElBVEVfUFJPRFVDVChNb3ZpbmdMZWFzdFNxdWFyZXMsICgocGNsOjpQb2ludFhZWikocGNsOjpQ b2ludFhZWkkpKHBjbDo6UG9pbnRYWVpSR0IpKHBjbDo6UG9pbnRYWVpSR0JBKShwY2w6OlBvaW50 WFlaUkdCTm9ybWFsKShwY2w6OlBvaW50Tm9ybWFsKSkKKysgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKChwY2w6OlBvaW50WFlaKSkpCisrI2Vsc2UKKysgIFBD TF9JTlNUQU5USUFURV9QUk9EVUNUKE1vdmluZ0xlYXN0U3F1YXJlcywgKFBDTF9YWVpfUE9JTlRf VFlQRVMpKFBDTF9YWVpfUE9JTlRfVFlQRVMpKQorKyNlbmRpZgorKyNlbmRpZiAgICAvLyBQQ0xf Tk9fUFJFQ09NUElMRQorSW5kZXg6IHBjbC0xLjEyLjAvc3VyZmFjZS9zcmMvbWxzX3h5emkuY3Bw Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09CistLS0gL2Rldi9udWxsCisrKysgcGNsLTEuMTIuMC9zdXJmYWNlL3NyYy9t bHNfeHl6aS5jcHAKK0BAIC0wLDAgKzEsNTMgQEAKKysvKgorKyAqIFNvZnR3YXJlIExpY2Vuc2Ug QWdyZWVtZW50IChCU0QgTGljZW5zZSkKKysgKgorKyAqIFBvaW50IENsb3VkIExpYnJhcnkgKFBD TCkgLSB3d3cucG9pbnRjbG91ZHMub3JnCisrICogQ29weXJpZ2h0IChjKSAyMDA5LTIwMTEsIFdp bGxvdyBHYXJhZ2UsIEluYy4KKysgKgorKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisrICoKKysg KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo IG9yIHdpdGhvdXQKKysgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKysgKiBhcmUgbWV0OgorKyAqCisrICogKiBSZWRp c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo dAorKyAqICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu ZyBkaXNjbGFpbWVyLgorKyAqICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg cmVwcm9kdWNlIHRoZSBhYm92ZQorKyAqICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKysgKiAgIGRpc2NsYWltZXIgaW4gdGhlIGRv Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAorKyAqICAgd2l0aCB0 aGUgZGlzdHJpYnV0aW9uLgorKyAqICogTmVpdGhlciB0aGUgbmFtZSBvZiBXaWxsb3cgR2FyYWdl LCBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisrICogICBjb250cmlidXRvcnMgbWF5IGJlIHVz ZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKKysgKiAgIGZyb20gdGhp cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKysg KgorKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT IEFORCBDT05UUklCVVRPUlMKKysgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorKyAqIExJTUlURUQgVE8sIFRIRSBJTVBM SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisrICogRk9SIEEg UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUK KysgKiBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ UkVDVCwgSU5ESVJFQ1QsCisrICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywKKysgKiBCVVQgTk9UIExJTUlURUQgVE8s IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisrICogTE9TUyBP RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF UgorKyAqIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g Q09OVFJBQ1QsIFNUUklDVAorKyAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOCisrICogQU5ZIFdBWSBPVVQgT0YgVEhFIFVT RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFCisrICogUE9TU0lCSUxJ VFkgT0YgU1VDSCBEQU1BR0UuCisrICoKKysgKiAkSWQkCisrICoKKysgKi8KKysKKysjaW5jbHVk ZSA8cGNsL3N1cmZhY2UvbWxzLmg+CisrI2luY2x1ZGUgPHBjbC9zdXJmYWNlL2ltcGwvbWxzLmhw cD4KKysKKysjaWZuZGVmIFBDTF9OT19QUkVDT01QSUxFCisrI2luY2x1ZGUgPHBjbC9wb2ludF90 eXBlcy5oPgorKyNpbmNsdWRlIDxwY2wvaW1wbC9pbnN0YW50aWF0ZS5ocHA+CisrI2lmZGVmIFBD TF9PTkxZX0NPUkVfUE9JTlRfVFlQRVMKKysgLy8gSW5zdGFudGlhdGlvbnMgb2Ygc3BlY2lmaWMg cG9pbnQgdHlwZXMKKysgIFBDTF9JTlNUQU5USUFURV9QUk9EVUNUKE1vdmluZ0xlYXN0U3F1YXJl cywgKChwY2w6OlBvaW50WFlaKShwY2w6OlBvaW50WFlaSSkocGNsOjpQb2ludFhZWlJHQikocGNs OjpQb2ludFhZWlJHQkEpKHBjbDo6UG9pbnRYWVpSR0JOb3JtYWwpKHBjbDo6UG9pbnROb3JtYWwp KQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHBjbDo6 UG9pbnRYWVpJKSkpCisrI2Vsc2UKKysgIC8vIFBDTF9JTlNUQU5USUFURV9QUk9EVUNUKE1vdmlu Z0xlYXN0U3F1YXJlcywgKFBDTF9YWVpfUE9JTlRfVFlQRVMpKFBDTF9YWVpfUE9JTlRfVFlQRVMp KQorKyNlbmRpZgorKyNlbmRpZiAgICAvLyBQQ0xfTk9fUFJFQ09NUElMRQorSW5kZXg6IHBjbC0x LjEyLjAvc3VyZmFjZS9zcmMvbWxzX3h5enJnYmEuY3BwCis9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gL2Rldi9u dWxsCisrKysgcGNsLTEuMTIuMC9zdXJmYWNlL3NyYy9tbHNfeHl6cmdiYS5jcHAKK0BAIC0wLDAg KzEsNTMgQEAKKysvKgorKyAqIFNvZnR3YXJlIExpY2Vuc2UgQWdyZWVtZW50IChCU0QgTGljZW5z ZSkKKysgKgorKyAqIFBvaW50IENsb3VkIExpYnJhcnkgKFBDTCkgLSB3d3cucG9pbnRjbG91ZHMu b3JnCisrICogQ29weXJpZ2h0IChjKSAyMDA5LTIwMTEsIFdpbGxvdyBHYXJhZ2UsIEluYy4KKysg KgorKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisrICoKKysgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKysgKiBtb2Rp ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp dGlvbnMKKysgKiBhcmUgbWV0OgorKyAqCisrICogKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorKyAqICAgbm90aWNlLCB0aGlz IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorKyAqICog UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQor KyAqICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm b2xsb3dpbmcKKysgKiAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90 aGVyIG1hdGVyaWFscyBwcm92aWRlZAorKyAqICAgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorKyAq ICogTmVpdGhlciB0aGUgbmFtZSBvZiBXaWxsb3cgR2FyYWdlLCBJbmMuIG5vciB0aGUgbmFtZXMg b2YgaXRzCisrICogICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9t b3RlIHByb2R1Y3RzIGRlcml2ZWQKKysgKiAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKysgKgorKyAqIFRISVMgU09GVFdBUkUg SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKysg KiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO RywgQlVUIE5PVAorKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisrICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKKysgKiBDT1BZUklHSFQgT1dORVIg T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCisrICog SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg KElOQ0xVRElORywKKysgKiBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisrICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgorKyAqIENBVVNFRCBBTkQgT04g QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorKyAq IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB UklTSU5HIElOCisrICogQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF VkVOIElGIEFEVklTRUQgT0YgVEhFCisrICogUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisr ICoKKysgKiAkSWQkCisrICoKKysgKi8KKysKKysjaW5jbHVkZSA8cGNsL3N1cmZhY2UvbWxzLmg+ CisrI2luY2x1ZGUgPHBjbC9zdXJmYWNlL2ltcGwvbWxzLmhwcD4KKysKKysjaWZuZGVmIFBDTF9O T19QUkVDT01QSUxFCisrI2luY2x1ZGUgPHBjbC9wb2ludF90eXBlcy5oPgorKyNpbmNsdWRlIDxw Y2wvaW1wbC9pbnN0YW50aWF0ZS5ocHA+CisrI2lmZGVmIFBDTF9PTkxZX0NPUkVfUE9JTlRfVFlQ RVMKKysgLy8gSW5zdGFudGlhdGlvbnMgb2Ygc3BlY2lmaWMgcG9pbnQgdHlwZXMKKysgIFBDTF9J TlNUQU5USUFURV9QUk9EVUNUKE1vdmluZ0xlYXN0U3F1YXJlcywgKChwY2w6OlBvaW50WFlaKShw Y2w6OlBvaW50WFlaSSkocGNsOjpQb2ludFhZWlJHQikocGNsOjpQb2ludFhZWlJHQkEpKHBjbDo6 UG9pbnRYWVpSR0JOb3JtYWwpKHBjbDo6UG9pbnROb3JtYWwpKQorKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHBjbDo6UG9pbnRYWVpSR0JBKSkpCisrI2Vs c2UKKysgIC8vIFBDTF9JTlNUQU5USUFURV9QUk9EVUNUKE1vdmluZ0xlYXN0U3F1YXJlcywgKFBD TF9YWVpfUE9JTlRfVFlQRVMpKFBDTF9YWVpfUE9JTlRfVFlQRVMpKQorKyNlbmRpZgorKyNlbmRp ZiAgICAvLyBQQ0xfTk9fUFJFQ09NUElMRQorSW5kZXg6IHBjbC0xLjEyLjAvc3VyZmFjZS9zcmMv bWxzX3h5enJnYi5jcHAKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSAvZGV2L251bGwKKysrKyBwY2wtMS4xMi4w L3N1cmZhY2Uvc3JjL21sc194eXpyZ2IuY3BwCitAQCAtMCwwICsxLDUzIEBACisrLyoKKysgKiBT b2Z0d2FyZSBMaWNlbnNlIEFncmVlbWVudCAoQlNEIExpY2Vuc2UpCisrICoKKysgKiBQb2ludCBD bG91ZCBMaWJyYXJ5IChQQ0wpIC0gd3d3LnBvaW50Y2xvdWRzLm9yZworKyAqIENvcHlyaWdodCAo YykgMjAwOS0yMDExLCBXaWxsb3cgR2FyYWdlLCBJbmMuCisrICoKKysgKiBBbGwgcmlnaHRzIHJl c2VydmVkLgorKyAqCisrICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisrICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0 dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisrICogYXJlIG1ldDoK KysgKgorKyAqICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo ZSBhYm92ZSBjb3B5cmlnaHQKKysgKiAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKysgKiAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKysgKiAgIGNvcHlyaWdodCBub3Rp Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisrICogICBkaXNj bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk ZWQKKysgKiAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKysgKiAqIE5laXRoZXIgdGhlIG5hbWUg b2YgV2lsbG93IEdhcmFnZSwgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworKyAqICAgY29udHJp YnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk CisrICogICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu IHBlcm1pc3Npb24uCisrICoKKysgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisrICogIkFTIElTIiBBTkQgQU5ZIEVY UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKysgKiBMSU1J VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU TkVTUworKyAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g RVZFTlQgU0hBTEwgVEhFCisrICogQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorKyAqIElOQ0lERU5UQUwsIFNQRUNJQUws IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsCisrICogQlVU IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ Q0VTOworKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF UlJVUFRJT04pIEhPV0VWRVIKKysgKiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKysgKiBMSUFCSUxJVFksIE9SIFRPUlQg KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTgorKyAqIEFOWSBX QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI RQorKyAqIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKyAqCisrICogJElkJAorKyAqCisr ICovCisrCisrI2luY2x1ZGUgPHBjbC9zdXJmYWNlL21scy5oPgorKyNpbmNsdWRlIDxwY2wvc3Vy ZmFjZS9pbXBsL21scy5ocHA+CisrCisrI2lmbmRlZiBQQ0xfTk9fUFJFQ09NUElMRQorKyNpbmNs dWRlIDxwY2wvcG9pbnRfdHlwZXMuaD4KKysjaW5jbHVkZSA8cGNsL2ltcGwvaW5zdGFudGlhdGUu aHBwPgorKyNpZmRlZiBQQ0xfT05MWV9DT1JFX1BPSU5UX1RZUEVTCisrIC8vIEluc3RhbnRpYXRp b25zIG9mIHNwZWNpZmljIHBvaW50IHR5cGVzCisrICBQQ0xfSU5TVEFOVElBVEVfUFJPRFVDVChN b3ZpbmdMZWFzdFNxdWFyZXMsICgocGNsOjpQb2ludFhZWikocGNsOjpQb2ludFhZWkkpKHBjbDo6 UG9pbnRYWVpSR0IpKHBjbDo6UG9pbnRYWVpSR0JBKShwY2w6OlBvaW50WFlaUkdCTm9ybWFsKShw Y2w6OlBvaW50Tm9ybWFsKSkKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKChwY2w6OlBvaW50WFlaUkdCKSkpCisrI2Vsc2UKKysgIC8vUENMX0lOU1RBTlRJ QVRFX1BST0RVQ1QoTW92aW5nTGVhc3RTcXVhcmVzLCAoUENMX1hZWl9QT0lOVF9UWVBFUykoUENM X1hZWl9QT0lOVF9UWVBFUykpCisrI2VuZGlmCisrI2VuZGlmICAgIC8vIFBDTF9OT19QUkVDT01Q SUxFCitJbmRleDogcGNsLTEuMTIuMC9zdXJmYWNlL3NyYy9tbHNfeHl6cmdibi5jcHAKKz09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KKy0tLSAvZGV2L251bGwKKysrKyBwY2wtMS4xMi4wL3N1cmZhY2Uvc3JjL21sc194eXpy Z2JuLmNwcAorQEAgLTAsMCArMSw1MyBAQAorKy8qCisrICogU29mdHdhcmUgTGljZW5zZSBBZ3Jl ZW1lbnQgKEJTRCBMaWNlbnNlKQorKyAqCisrICogUG9pbnQgQ2xvdWQgTGlicmFyeSAoUENMKSAt IHd3dy5wb2ludGNsb3Vkcy5vcmcKKysgKiBDb3B5cmlnaHQgKGMpIDIwMDktMjAxMSwgV2lsbG93 IEdhcmFnZSwgSW5jLgorKyAqCisrICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKysgKgorKyAqIFJl ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig d2l0aG91dAorKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworKyAqIGFyZSBtZXQ6CisrICoKKysgKiAqIFJlZGlzdHJp YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisr ICogICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp c2NsYWltZXIuCisrICogKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy b2R1Y2UgdGhlIGFib3ZlCisrICogICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworKyAqICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1l bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCisrICogICB3aXRoIHRoZSBk aXN0cmlidXRpb24uCisrICogKiBOZWl0aGVyIHRoZSBuYW1lIG9mIFdpbGxvdyBHYXJhZ2UsIElu Yy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKysgKiAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0 byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAorKyAqICAgZnJvbSB0aGlzIHNv ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorKyAqCisr ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E IENPTlRSSUJVVE9SUworKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisrICogTElNSVRFRCBUTywgVEhFIElNUExJRUQg V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKysgKiBGT1IgQSBQQVJU SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQorKyAq IENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU LCBJTkRJUkVDVCwKKysgKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLAorKyAqIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKysgKiBMT1NTIE9GIFVT RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCisr ICogQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U UkFDVCwgU1RSSUNUCisrICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4KKysgKiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUKKysgKiBQT1NTSUJJTElUWSBP RiBTVUNIIERBTUFHRS4KKysgKgorKyAqICRJZCQKKysgKgorKyAqLworKworKyNpbmNsdWRlIDxw Y2wvc3VyZmFjZS9tbHMuaD4KKysjaW5jbHVkZSA8cGNsL3N1cmZhY2UvaW1wbC9tbHMuaHBwPgor KworKyNpZm5kZWYgUENMX05PX1BSRUNPTVBJTEUKKysjaW5jbHVkZSA8cGNsL3BvaW50X3R5cGVz Lmg+CisrI2luY2x1ZGUgPHBjbC9pbXBsL2luc3RhbnRpYXRlLmhwcD4KKysjaWZkZWYgUENMX09O TFlfQ09SRV9QT0lOVF9UWVBFUworKyAvLyBJbnN0YW50aWF0aW9ucyBvZiBzcGVjaWZpYyBwb2lu dCB0eXBlcworKyAgUENMX0lOU1RBTlRJQVRFX1BST0RVQ1QoTW92aW5nTGVhc3RTcXVhcmVzLCAo KHBjbDo6UG9pbnRYWVopKHBjbDo6UG9pbnRYWVpJKShwY2w6OlBvaW50WFlaUkdCKShwY2w6OlBv aW50WFlaUkdCQSkocGNsOjpQb2ludFhZWlJHQk5vcm1hbCkocGNsOjpQb2ludE5vcm1hbCkpCisr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgocGNsOjpQb2lu dFhZWlJHQk5vcm1hbCkpKQorKyNlbHNlCisrICAvL1BDTF9JTlNUQU5USUFURV9QUk9EVUNUKE1v dmluZ0xlYXN0U3F1YXJlcywgKFBDTF9YWVpfUE9JTlRfVFlQRVMpKFBDTF9YWVpfUE9JTlRfVFlQ RVMpKQorKyNlbmRpZgorKyNlbmRpZiAgICAvLyBQQ0xfTk9fUFJFQ09NUElMRQoKZGlmZiAtLWdp dCBhL3BjbC5zcGVjIGIvcGNsLnNwZWMKaW5kZXggMTkzMDkzZS4uYTkyZmE0YyAxMDA2NDQKLS0t IGEvcGNsLnNwZWMKKysrIGIvcGNsLnNwZWMKQEAgLTIzLDcgKzIzLDcgQEAgUGF0Y2gyOiAgICAg ICAgICV7bmFtZX0tMS4xMi4wLWZlZG9yYS5wYXRjaAogIyBFeGNsdWRlIHRoZSAiYnVpbGQiIGRp cmVjdG9yeSBmcm9tIGRveHlnZW4gcHJvY2Vzc2luZy4KIFBhdGNoMzogICAgICAgICAle25hbWV9 LTEuMTEuMC1kb3h5Zml4LnBhdGNoCiAjIFNwbGl0IHVwIGV4cGxpY2l0IHRlbXBsYXRlIGluc3Rh bnRpYXRpb25zIHNvIHRoYXQgYnVpbGRlcnMgZG9uJ3QgcnVuIG91dCBvZiBtZW1vcnkKLVBhdGNo NDogICAgICAgICAle25hbWV9LTEuMTEuMC1vb20ucGF0Y2gKK1BhdGNoNDogICAgICAgICAle25h bWV9LTEuMTIuMC1vb20ucGF0Y2gKICMgVXNlIGEgYnVpbHQtaW4gc3BoaW54IGRvY3VtZW50YXRp b24gdGhlbWUgYW5kIGRpc2FibGUgZG94eWxpbmsgcGx1Z2luCiBQYXRjaDU6ICAgICAgICAgJXtu YW1lfS0xLjExLjAtc3BoaW54LnBhdGNoCiBQYXRjaDY6ICAgICAgICAgJXtuYW1lfS0xLjEyLjAt Ym9vc3QxNzYucGF0Y2gKQEAgLTg5LDcgKzg5LDcgQEAgTGlicmFyeS4KICVwYXRjaDEgLXAxIC1i IC5tZXRzbGliCiAlcGF0Y2gyIC1wMCAtYiAuZmVkb3JhCiAlcGF0Y2gzIC1wMCAtYiAuZG94eWZp eAotIyVwYXRjaDQgLXAxIC1iIC5vb20KKyVwYXRjaDQgLXAxIC1iIC5vb20KICVwYXRjaDUgLXAx IC1iIC5zcGhpbngKICVwYXRjaDYgLXAxIC1iIC5ib29zdDE3NgogCkBAIC0xOTQsNiArMTk0LDcg QEAgbXYgJFJQTV9CVUlMRF9ST09UJXtfZGF0YWRpcn0vJXtuYW1lfS0qL01vZHVsZXMgJFJQTV9C VUlMRF9ST09UJXtfbGliZGlyfS9jbWFrZS8KICogRnJpIEF1ZyAyMCAyMDIxIEJqw7ZybiBFc3Nl ciA8YmVzc2VyODJAZmVkb3JhcHJvamVjdC5vcmc+IC0gMS4xMi4wLTEKIC0gRGlzYWJsZSBmYXQt bHRvLW9iamVjdHMgdG8gcmVkdWNlIG1lbW9yeSB1c2FnZQogICBEb2luZyBzbyB3aWxsIG5vdCBo dXJ0IGFzIHdlIGFyZSBub3Qgc2hpcHBpbmcgYW55IHN0YXRpYyBsaWJyYXJpZXMKKy0gUmUtZW5h YmxlIGFuZCByZWFsaWduIG9vbSBwYXRjaAogCiAqIFR1ZSBBdWcgMTcgMjAyMSBSaWNoIE1hdHRl cyA8cmljaG1hdHRlc0BnbWFpbC5jb20+IC0gMS4xMi4wLTEKIC0gRHJvcCAib29tIiBwYXRjaCB0 byByZXNvbHZlIG11bHRpcGxlIGRlZmluaXRpb24gZXJyb3IgYW5kIGZpeCBGVEJGUyAocmhieiMx OTkyODkzKQo=