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: Than Ngo To: git-commits@fedoraproject.org Subject: [rpms/chromium] epel9-next: - workaround for clang bug on el7 Date: Fri, 07 Aug 2026 16:05:10 GMT Message-ID: <178611871059.1.7269252039055616710.rpms-chromium-790a7e70ce2c@fedoraproject.org> List-ID: X-Git-Repo: rpms/chromium X-Git-Branch: epel9-next X-Git-Rev: 790a7e70ce2ca0bc449bfd5c1972037dce924c7d ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvY2hyb21pdW0KICAgICAgICAgICAgQnJhbmNoIDogZXBlbDktbmV4dAogICAg ICAgICAgICBDb21taXQgOiA3OTBhN2U3MGNlMmNhMGJjNDQ5YmZkNWMxOTcyMDM3ZGNlOTI0Yzdk CiAgICAgICAgICAgIEF1dGhvciA6IFRoYW4gTmdvIDx0aGFuQHJlZGhhdC5jb20+CiAgICAgICAg ICAgIERhdGUgICA6IDIwMjMtMDUtMDRUMTI6MjA6MzYrMDI6MDAKICAgICAgICAgICAgU3RhdHMg IDogKzYxMi8tMCBpbiAzIGZpbGUocykKICAgICAgICAgICAgVVJMICAgIDogaHR0cHM6Ly9zcmMu ZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9jaHJvbWl1bS9jLzc5MGE3ZTcwY2UyY2EwYmM0NDliZmQ1 YzE5NzIwMzdkY2U5MjRjN2Q/YnJhbmNoPWVwZWw5LW5leHQKCiAgICAgICAgICAgIExvZzoKICAg ICAgICAgICAgLSB3b3JrYXJvdW5kIGZvciBjbGFuZyBidWcgb24gZWw3Ci0gZml4IEZUQkZTIG9u IGVsNywgb2xkIGtlcm5lbAoKLS0tCmRpZmYgLS1naXQgYS9jaHJvbWl1bS0xMTMtY29uc3RleHBy LWVsNy5wYXRjaCBiL2Nocm9taXVtLTExMy1jb25zdGV4cHItZWw3LnBhdGNoCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMwYmYxMWUKLS0tIC9kZXYvbnVsbAorKysgYi9jaHJv bWl1bS0xMTMtY29uc3RleHByLWVsNy5wYXRjaApAQCAtMCwwICsxLDY2IEBACitkaWZmIC11cCBj aHJvbWl1bS0xMTMuMC41NjcyLjYzL2NvbXBvbmVudHMvdmVyc2lvbl9pbmZvL3ZlcnNpb25faW5m by5oLm1lIGNocm9taXVtLTExMy4wLjU2NzIuNjMvY29tcG9uZW50cy92ZXJzaW9uX2luZm8vdmVy c2lvbl9pbmZvLmgKKy0tLSBjaHJvbWl1bS0xMTMuMC41NjcyLjYzL2NvbXBvbmVudHMvdmVyc2lv bl9pbmZvL3ZlcnNpb25faW5mby5oLm1lCTIwMjMtMDUtMDQgMDk6MTE6MzcuMTk1OTAzNTI3ICsw MjAwCisrKysgY2hyb21pdW0tMTEzLjAuNTY3Mi42My9jb21wb25lbnRzL3ZlcnNpb25faW5mby92 ZXJzaW9uX2luZm8uaAkyMDIzLTA1LTA0IDEwOjM0OjUyLjIxMzY4MTY5OCArMDIwMAorQEAgLTI3 LDE4ICsyNywxOCBAQCBjb25zdCBzdGQ6OnN0cmluZyBHZXRQcm9kdWN0TmFtZUFuZFZlcnNpCisg ICAgIGNvbnN0IHN0ZDo6c3RyaW5nJiBidWlsZF92ZXJzaW9uKTsKKyAKKyAvLyBSZXR1cm5zIHRo ZSBwcm9kdWN0IG5hbWUsIGUuZy4gIkNocm9taXVtIiBvciAiR29vZ2xlIENocm9tZSIuCistY29u c3RleHByIHN0ZDo6c3RyaW5nIEdldFByb2R1Y3ROYW1lKCkgeworK3N0ZDo6c3RyaW5nIEdldFBy b2R1Y3ROYW1lKCkgeworICAgcmV0dXJuIFBST0RVQ1RfTkFNRTsKKyB9CisgCisgLy8gUmV0dXJu cyB0aGUgdmVyc2lvbiBudW1iZXIsIGUuZy4gIjYuMC40OTAuMSIuCistY29uc3RleHByIHN0ZDo6 c3RyaW5nIEdldFZlcnNpb25OdW1iZXIoKSB7Cisrc3RkOjpzdHJpbmcgR2V0VmVyc2lvbk51bWJl cigpIHsKKyAgIHJldHVybiBQUk9EVUNUX1ZFUlNJT047CisgfQorIAorIC8vIFJldHVybnMgdGhl IHByb2R1Y3QgbmFtZSBhbmQgdmVyc2lvbiBpbmZvcm1hdGlvbiBmb3IgdGhlIFVzZXItQWdlbnQg aGVhZGVyLAorIC8vIGluIHRoZSBmb3JtYXQ6IENocm9tZS88bWFqb3JfdmVyc2lvbj4uPG1pbm9y X3ZlcnNpb24+LjxidWlsZD4uPHBhdGNoPi4KKy1jb25zdGV4cHIgc3RkOjpzdHJpbmcgR2V0UHJv ZHVjdE5hbWVBbmRWZXJzaW9uRm9yVXNlckFnZW50KCkgeworK3N0ZDo6c3RyaW5nIEdldFByb2R1 Y3ROYW1lQW5kVmVyc2lvbkZvclVzZXJBZ2VudCgpIHsKKyAgIHJldHVybiAiQ2hyb21lLyIgKyBH ZXRWZXJzaW9uTnVtYmVyKCk7CisgfQorIAorQEAgLTUzLDE5ICs1MywxOSBAQCBzdGQ6OnN0cmlu ZyBHZXRNYWpvclZlcnNpb25OdW1iZXIoKTsKKyBjb25zdCBiYXNlOjpWZXJzaW9uJiBHZXRWZXJz aW9uKCk7CisgCisgLy8gUmV0dXJucyBhIHZlcnNpb24gY29udHJvbCBzcGVjaWZpYyBpZGVudGlm aWVyIG9mIHRoaXMgcmVsZWFzZS4KKy1jb25zdGV4cHIgc3RkOjpzdHJpbmcgR2V0TGFzdENoYW5n ZSgpIHsKKytzdGQ6OnN0cmluZyBHZXRMYXN0Q2hhbmdlKCkgeworICAgcmV0dXJuIExBU1RfQ0hB TkdFOworIH0KKyAKKyAvLyBSZXR1cm5zIHdoZXRoZXIgdGhpcyBpcyBhbiAib2ZmaWNpYWwiIHJl bGVhc2Ugb2YgdGhlIGN1cnJlbnQgdmVyc2lvbiwgaS5lLgorIC8vIHdoZXRoZXIga25vd2luZyBH ZXRWZXJzaW9uTnVtYmVyKCkgaXMgZW5vdWdoIHRvIGNvbXBsZXRlbHkgZGV0ZXJtaW5lIHdoYXQK KyAvLyBHZXRMYXN0Q2hhbmdlKCkgaXMuCistY29uc3RleHByIGJvb2wgSXNPZmZpY2lhbEJ1aWxk KCkgeworK2Jvb2wgSXNPZmZpY2lhbEJ1aWxkKCkgeworICAgcmV0dXJuIElTX09GRklDSUFMX0JV SUxEOworIH0KKyAKKyAvLyBSZXR1cm5zIHRoZSBPUyB0eXBlLCBlLmcuICJXaW5kb3dzIiwgIkxp bnV4IiwgIkZyZWVCU0QiLCAuLi4KKy1jb25zdGV4cHIgc3RkOjpzdHJpbmcgR2V0T1NUeXBlKCkg eworK3N0ZDo6c3RyaW5nIEdldE9TVHlwZSgpIHsKKyAjaWYgQlVJTERGTEFHKElTX1dJTikKKyAg IHJldHVybiAiV2luZG93cyI7CisgI2VsaWYgQlVJTERGTEFHKElTX0lPUykKK0BAIC05Nyw3ICs5 Nyw3IEBAIGNvbnN0ZXhwciBzdGQ6OnN0cmluZyBHZXRPU1R5cGUoKSB7CisgCisgLy8gUmV0dXJu cyBhIHN0cmluZyBlcXVpdmFsZW50IG9mIHxjaGFubmVsfCwgaW5kZXBlbmRlbnQgb2Ygd2hldGhl ciB0aGUgYnVpbGQKKyAvLyBpcyBicmFuZGVkIG9yIG5vdCBhbmQgd2l0aG91dCBhbnkgYWRkaXRp b25hbCBtb2RpZmllcnMuCistY29uc3RleHByIHN0ZDo6c3RyaW5nIEdldENoYW5uZWxTdHJpbmco Q2hhbm5lbCBjaGFubmVsKSB7Cisrc3RkOjpzdHJpbmcgR2V0Q2hhbm5lbFN0cmluZyhDaGFubmVs IGNoYW5uZWwpIHsKKyAgIHN3aXRjaCAoY2hhbm5lbCkgeworICAgICBjYXNlIENoYW5uZWw6OlNU QUJMRToKKyAgICAgICByZXR1cm4gInN0YWJsZSI7CitAQCAtMTE0LDcgKzExNCw3IEBAIGNvbnN0 ZXhwciBzdGQ6OnN0cmluZyBHZXRDaGFubmVsU3RyaW5nKEMKKyB9CisgCisgLy8gUmV0dXJucyBh IGxpc3Qgb2Ygc2FuaXRpemVycyBlbmFibGVkIGluIHRoaXMgYnVpbGQuCistY29uc3RleHByIHN0 ZDo6c3RyaW5nIEdldFNhbml0aXplckxpc3QoKSB7Cisrc3RkOjpzdHJpbmcgR2V0U2FuaXRpemVy TGlzdCgpIHsKKyAgIHJldHVybiAiIgorICNpZiBkZWZpbmVkKEFERFJFU1NfU0FOSVRJWkVSKQor ICAgICAgICAgICJhZGRyZXNzICIKCmRpZmYgLS1naXQgYS9jaHJvbWl1bS0xMTMtdjRsMi1yZXZl cnQtZWw3LnBhdGNoIGIvY2hyb21pdW0tMTEzLXY0bDItcmV2ZXJ0LWVsNy5wYXRjaApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOTFhN2MzCi0tLSAvZGV2L251bGwKKysrIGIv Y2hyb21pdW0tMTEzLXY0bDItcmV2ZXJ0LWVsNy5wYXRjaApAQCAtMCwwICsxLDU0MCBAQAorY29t bWl0IDc0ZTQxNDI4NTAzZDE2ZmYzNjViYmZhOTNjYTIzMzMyY2UwNDIxNWEKK0F1dGhvcjogSWx5 YSBOaWtvbGFldnNraXkgPGlsbmlrQGNocm9taXVtLm9yZz4KK0RhdGU6ICAgV2VkIEFwciA1IDE2 OjE2OjIyIDIwMjMgKzAwMDAKKworICAgIFJldmVydCAiVjRMMjogbWVkaWEvY2FwdHVyZTogVXNl IFZJRElPQ19TX0VYVF9DVFJMUyBBUEkgY29ycmVjdGx5IgorICAgIAorICAgIFRoaXMgcmV2ZXJ0 cyBjb21taXQgNDMwMTU2M2JkZWExNzY2Nzc5YjVlMDMyZDJlYjJmZjE5OTU5ZmNlMy4KKyAgICAK KyAgICBSZWFzb24gZm9yIHJldmVydDogQnJlYWtzIHRlc3QgYm90OiBjcmJ1Zy5jb20vMTQzMDY5 OQorICAgIAorICAgIE9yaWdpbmFsIGNoYW5nZSdzIGRlc2NyaXB0aW9uOgorICAgID4gVjRMMjog bWVkaWEvY2FwdHVyZTogVXNlIFZJRElPQ19TX0VYVF9DVFJMUyBBUEkgY29ycmVjdGx5CisgICAg PgorICAgID4gVGhpcyBDTDoKKyAgICA+ICAtIFVzZXMgdGhlIGB3aGljaGAgc3RydWN0IHY0bDJf ZXh0X2NvbnRyb2xzIGZpZWxkIGluc3RlYWQgb2YKKyAgICA+ICAgIHRoZSBkZXByZWNhdGVkIGBj dHJsX2NsYXNzYCBhbGlhcyBmaWVsZC4KKyAgICA+ICAtIFByZWZlcnMgdGhlIG5ldyBzdHlsZSB2 YWx1ZSBvZiBgVjRMMl9DVFJMX1dISUNIX0NVUl9WQUxgIGZvciB0aGF0CisgICAgPiAgICBmaWVs ZCBpbnN0ZWFkIG9mIHRoZSBvbGQgc3R5bGUgdmFsdWUgb2YgdGhlIGNvbnRyb2wgY2xhc3MgSUQg YXMgbG9uZworICAgID4gICAgYXMgdGhlIGRldmljZSBzdXBwb3J0cyB0aGUgbmV3IHN0eWxlIChk ZXRlY3RlZCBvbiBydW4tdGltZSkuCisgICAgPiAgLSBTZXRzIHNwZWNpYWwgY29udHJvbHMgb25s eSBpZiB0aGV5IGFyZSBzdXBwb3J0ZWQuIFRyeWluZyB0byBzZXQKKyAgICA+ICAgIGFuIHVuc3Vw cG9ydGVkIHNwZWNpYWwgY29udHJvbCBhcyBwYXJ0IG9mIGEgVklESU9DX1NfRVhUX0NUUkxTIGNh bGwKKyAgICA+ICAgIGNhdXNlcyB0aGUgd2hvbGUgVklESU9DX1NfRVhUX0NUUkxTIGNhbGwgdG8g ZmFpbC4KKyAgICA+ICAtIEZpeGVzIGNvbnRyb2wgaXRlcmF0aW9uIG5vdCB0byBza2lwIG92ZXIg dGhlIGJyaWdodG5lc3MgY29udHJvbC4KKyAgICA+ICAtIFNraXBzIHBlcm1hbmVudGx5IGRpc2Fi bGVkIGFuZCByZWFkLW9ubHkgY29udHJvbHMuCisgICAgPiAgLSBFbmFibGVzIHRoZSBjb3JyZXNw b25kaW5nIHRlc3QgY2FzZS4KKyAgICA+CisgICAgPiBUaGlzIGZpeGVzIFZJRElPQ19TX0VYVF9D VFJMUyB0byB3b3JrIG9uIG5ldyBkZXZpY2UgZHJpdmVycywgdG9vLgorICAgID4KKyAgICA+IEFQ STogaHR0cHM6Ly93d3cua2VybmVsLm9yZy9kb2MvaHRtbC9sYXRlc3QvdXNlcnNwYWNlLWFwaS9t ZWRpYS92NGwvdmlkaW9jLWctZXh0LWN0cmxzLmh0bWwjYy5WNEwudjRsMl9leHRfY29udHJvbHMK KyAgICA+CisgICAgPiBCdWc6IDE0MjE3MzksIDczMjM1NQorICAgID4gQ2hhbmdlLUlkOiBJMTM1 OTNiYjY0N2ZlNjY0ZDcwYTNkOGVkOGQyNzg5Zjc3Mzk3YWE0MAorICAgID4gUmV2aWV3ZWQtb246 IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3Lmdvb2dsZXNvdXJjZS5jb20vYy9jaHJvbWl1bS9zcmMv Ky80MzI0MDIxCisgICAgPiBDb21taXQtUXVldWU6IEVlcm8gSGFra2luZW4gPGVlcm8uaGFra2lu ZW5AaW50ZWwuY29tPgorICAgID4gUmV2aWV3ZWQtYnk6IFRvbWFzIEd1bm5hcnNzb24gPHRvbW1p QGNocm9taXVtLm9yZz4KKyAgICA+IFJldmlld2VkLWJ5OiBJbHlhIE5pa29sYWV2c2tpeSA8aWxu aWtAY2hyb21pdW0ub3JnPgorICAgID4gQ3ItQ29tbWl0LVBvc2l0aW9uOiByZWZzL2hlYWRzL21h aW5AeyMxMTE2NDE2fQorICAgIAorICAgIEJ1ZzogMTQyMTczOSwgNzMyMzU1CisgICAgQ2hhbmdl LUlkOiBJMjkxYjgwMDA5NTUwZjBjODkwYjUyMDMwNjBkOTI4M2E0MDc0YWY5NworICAgIFJldmll d2VkLW9uOiBodHRwczovL2Nocm9taXVtLXJldmlldy5nb29nbGVzb3VyY2UuY29tL2MvY2hyb21p dW0vc3JjLysvNDQwMTU5MgorICAgIENvbW1pdC1RdWV1ZTogVG9tYXMgR3VubmFyc3NvbiA8dG9t bWlAY2hyb21pdW0ub3JnPgorICAgIEF1dG8tU3VibWl0OiBJbHlhIE5pa29sYWV2c2tpeSA8aWxu aWtAY2hyb21pdW0ub3JnPgorICAgIFJldmlld2VkLWJ5OiBUb21hcyBHdW5uYXJzc29uIDx0b21t aUBjaHJvbWl1bS5vcmc+CisgICAgQ3ItQ29tbWl0LVBvc2l0aW9uOiByZWZzL2hlYWRzL21haW5A eyMxMTI2NjE1fQorCitkaWZmIC0tZ2l0IGEvbWVkaWEvY2FwdHVyZS92aWRlby9saW51eC92NGwy X2NhcHR1cmVfZGVsZWdhdGUuY2MgYi9tZWRpYS9jYXB0dXJlL3ZpZGVvL2xpbnV4L3Y0bDJfY2Fw dHVyZV9kZWxlZ2F0ZS5jYworaW5kZXggN2VmYTJiMWMyMjUyYy4uODY0MTExZjVjMjU1ZSAxMDA2 NDQKKy0tLSBhL21lZGlhL2NhcHR1cmUvdmlkZW8vbGludXgvdjRsMl9jYXB0dXJlX2RlbGVnYXRl LmNjCisrKysgYi9tZWRpYS9jYXB0dXJlL3ZpZGVvL2xpbnV4L3Y0bDJfY2FwdHVyZV9kZWxlZ2F0 ZS5jYworQEAgLTEzOCw2ICsxMzgsNDcgQEAgaW50IEdldENvbnRyb2xsaW5nU3BlY2lhbENvbnRy b2woaW50IGNvbnRyb2xfaWQpIHsKKyAgIHJldHVybiAwOworIH0KKyAKKysvLyBEZXRlcm1pbmVz IGlmIHxjb250cm9sX2lkfCBpcyBzcGVjaWFsLCBpLmUuIGNvbnRyb2xzIGFub3RoZXIgb25lJ3Mg c3RhdGUuCisrYm9vbCBJc1NwZWNpYWxDb250cm9sKGludCBjb250cm9sX2lkKSB7CisrICBzd2l0 Y2ggKGNvbnRyb2xfaWQpIHsKKysgICAgY2FzZSBWNEwyX0NJRF9BVVRPX1dISVRFX0JBTEFOQ0U6 CisrICAgIGNhc2UgVjRMMl9DSURfRVhQT1NVUkVfQVVUTzoKKysgICAgY2FzZSBWNEwyX0NJRF9F WFBPU1VSRV9BVVRPX1BSSU9SSVRZOgorKyAgICBjYXNlIFY0TDJfQ0lEX0ZPQ1VTX0FVVE86Cisr ICAgICAgcmV0dXJuIHRydWU7CisrICB9CisrICByZXR1cm4gZmFsc2U7CisrfQorKworKy8vIERl dGVybWluZXMgaWYgfGNvbnRyb2xfaWR8IHNob3VsZCBiZSBza2lwcGVkLCBodHRwczovL2NyYnVn LmNvbS82OTc4ODUuCisrI2lmICFkZWZpbmVkKFY0TDJfQ0lEX1BBTl9TUEVFRCkKKysjZGVmaW5l IFY0TDJfQ0lEX1BBTl9TUEVFRCAoVjRMMl9DSURfQ0FNRVJBX0NMQVNTX0JBU0UgKyAzMikKKysj ZW5kaWYKKysjaWYgIWRlZmluZWQoVjRMMl9DSURfVElMVF9TUEVFRCkKKysjZGVmaW5lIFY0TDJf Q0lEX1RJTFRfU1BFRUQgKFY0TDJfQ0lEX0NBTUVSQV9DTEFTU19CQVNFICsgMzMpCisrI2VuZGlm CisrI2lmICFkZWZpbmVkKFY0TDJfQ0lEX1BBTlRJTFRfQ01EKQorKyNkZWZpbmUgVjRMMl9DSURf UEFOVElMVF9DTUQgKFY0TDJfQ0lEX0NBTUVSQV9DTEFTU19CQVNFICsgMzQpCisrI2VuZGlmCisr Ym9vbCBJc0Jsb2NrZWRDb250cm9sKGludCBjb250cm9sX2lkKSB7CisrICBzd2l0Y2ggKGNvbnRy b2xfaWQpIHsKKysgICAgY2FzZSBWNEwyX0NJRF9QQU5fUkVMQVRJVkU6CisrICAgIGNhc2UgVjRM Ml9DSURfVElMVF9SRUxBVElWRToKKysgICAgY2FzZSBWNEwyX0NJRF9QQU5fUkVTRVQ6CisrICAg IGNhc2UgVjRMMl9DSURfVElMVF9SRVNFVDoKKysgICAgY2FzZSBWNEwyX0NJRF9QQU5fQUJTT0xV VEU6CisrICAgIGNhc2UgVjRMMl9DSURfVElMVF9BQlNPTFVURToKKysgICAgY2FzZSBWNEwyX0NJ RF9aT09NX0FCU09MVVRFOgorKyAgICBjYXNlIFY0TDJfQ0lEX1pPT01fUkVMQVRJVkU6CisrICAg IGNhc2UgVjRMMl9DSURfWk9PTV9DT05USU5VT1VTOgorKyAgICBjYXNlIFY0TDJfQ0lEX1BBTl9T UEVFRDoKKysgICAgY2FzZSBWNEwyX0NJRF9USUxUX1NQRUVEOgorKyAgICBjYXNlIFY0TDJfQ0lE X1BBTlRJTFRfQ01EOgorKyAgICAgIHJldHVybiB0cnVlOworKyAgfQorKyAgcmV0dXJuIGZhbHNl OworK30KKysKKyBib29sIElzTm9uRW1wdHlSYW5nZShjb25zdCBtb2pvbTo6UmFuZ2VQdHImIHJh bmdlKSB7CisgICByZXR1cm4gcmFuZ2UtPm1pbiA8IHJhbmdlLT5tYXg7CisgfQorQEAgLTIxMSw0 OSArMjUyLDYgQEAgc3RkOjp2ZWN0b3I8dWludDMyX3Q+IFY0TDJDYXB0dXJlRGVsZWdhdGU6Okdl dExpc3RPZlVzYWJsZUZvdXJDY3MoCisgICByZXR1cm4gc3VwcG9ydGVkX2Zvcm1hdHM7CisgfQor IAorLS8vIERldGVybWluZXMgaWYgfGNvbnRyb2xfaWR8IGlzIHNwZWNpYWwsIGkuZS4gY29udHJv bHMgYW5vdGhlciBvbmUncyBzdGF0ZS4KKy0vLyBzdGF0aWMKKy1ib29sIFY0TDJDYXB0dXJlRGVs ZWdhdGU6OklzU3BlY2lhbENvbnRyb2woaW50IGNvbnRyb2xfaWQpIHsKKy0gIHN3aXRjaCAoY29u dHJvbF9pZCkgeworLSAgICBjYXNlIFY0TDJfQ0lEX0FVVE9fV0hJVEVfQkFMQU5DRToKKy0gICAg Y2FzZSBWNEwyX0NJRF9FWFBPU1VSRV9BVVRPOgorLSAgICBjYXNlIFY0TDJfQ0lEX0VYUE9TVVJF X0FVVE9fUFJJT1JJVFk6CistICAgIGNhc2UgVjRMMl9DSURfRk9DVVNfQVVUTzoKKy0gICAgICBy ZXR1cm4gdHJ1ZTsKKy0gIH0KKy0gIHJldHVybiBmYWxzZTsKKy19CistCistLy8gRGV0ZXJtaW5l cyBpZiB8Y29udHJvbF9pZHwgc2hvdWxkIGJlIHNraXBwZWQsIGh0dHBzOi8vY3JidWcuY29tLzY5 Nzg4NS4KKy0jaWYgIWRlZmluZWQoVjRMMl9DSURfUEFOX1NQRUVEKQorLSNkZWZpbmUgVjRMMl9D SURfUEFOX1NQRUVEIChWNEwyX0NJRF9DQU1FUkFfQ0xBU1NfQkFTRSArIDMyKQorLSNlbmRpZgor LSNpZiAhZGVmaW5lZChWNEwyX0NJRF9USUxUX1NQRUVEKQorLSNkZWZpbmUgVjRMMl9DSURfVElM VF9TUEVFRCAoVjRMMl9DSURfQ0FNRVJBX0NMQVNTX0JBU0UgKyAzMykKKy0jZW5kaWYKKy0jaWYg IWRlZmluZWQoVjRMMl9DSURfUEFOVElMVF9DTUQpCistI2RlZmluZSBWNEwyX0NJRF9QQU5USUxU X0NNRCAoVjRMMl9DSURfQ0FNRVJBX0NMQVNTX0JBU0UgKyAzNCkKKy0jZW5kaWYKKy0vLyBzdGF0 aWMKKy1ib29sIFY0TDJDYXB0dXJlRGVsZWdhdGU6OklzQmxvY2tlZENvbnRyb2woaW50IGNvbnRy b2xfaWQpIHsKKy0gIHN3aXRjaCAoY29udHJvbF9pZCkgeworLSAgICBjYXNlIFY0TDJfQ0lEX1BB Tl9SRUxBVElWRToKKy0gICAgY2FzZSBWNEwyX0NJRF9USUxUX1JFTEFUSVZFOgorLSAgICBjYXNl IFY0TDJfQ0lEX1BBTl9SRVNFVDoKKy0gICAgY2FzZSBWNEwyX0NJRF9USUxUX1JFU0VUOgorLSAg ICBjYXNlIFY0TDJfQ0lEX1BBTl9BQlNPTFVURToKKy0gICAgY2FzZSBWNEwyX0NJRF9USUxUX0FC U09MVVRFOgorLSAgICBjYXNlIFY0TDJfQ0lEX1pPT01fQUJTT0xVVEU6CistICAgIGNhc2UgVjRM Ml9DSURfWk9PTV9SRUxBVElWRToKKy0gICAgY2FzZSBWNEwyX0NJRF9aT09NX0NPTlRJTlVPVVM6 CistICAgIGNhc2UgVjRMMl9DSURfUEFOX1NQRUVEOgorLSAgICBjYXNlIFY0TDJfQ0lEX1RJTFRf U1BFRUQ6CistICAgIGNhc2UgVjRMMl9DSURfUEFOVElMVF9DTUQ6CistICAgICAgcmV0dXJuIHRy dWU7CistICB9CistICByZXR1cm4gZmFsc2U7CistfQorLQorIFY0TDJDYXB0dXJlRGVsZWdhdGU6 OlY0TDJDYXB0dXJlRGVsZWdhdGUoCisgICAgIFY0TDJDYXB0dXJlRGV2aWNlKiB2NGwyLAorICAg ICBjb25zdCBWaWRlb0NhcHR1cmVEZXZpY2VEZXNjcmlwdG9yJiBkZXZpY2VfZGVzY3JpcHRvciwK K0BAIC04MzAsODkgKzgyOCwxMDAgQEAgbW9qb206OlJhbmdlUHRyIFY0TDJDYXB0dXJlRGVsZWdh dGU6OlJldHJpZXZlVXNlckNvbnRyb2xSYW5nZShpbnQgY29udHJvbF9pZCkgeworIH0KKyAKKyB2 b2lkIFY0TDJDYXB0dXJlRGVsZWdhdGU6OlJlc2V0VXNlckFuZENhbWVyYUNvbnRyb2xzVG9EZWZh dWx0KCkgeworKyAgLy8gU2V0IFY0TDJfQ0lEX0FVVE9fV0hJVEVfQkFMQU5DRSB0byBmYWxzZSBm aXJzdC4KKysgIHY0bDJfY29udHJvbCBhdXRvX3doaXRlX2JhbGFuY2UgPSB7fTsKKysgIGF1dG9f d2hpdGVfYmFsYW5jZS5pZCA9IFY0TDJfQ0lEX0FVVE9fV0hJVEVfQkFMQU5DRTsKKysgIGF1dG9f d2hpdGVfYmFsYW5jZS52YWx1ZSA9IGZhbHNlOworKyAgaWYgKCFSdW5Jb2N0bChWSURJT0NfU19D VFJMLCAmYXV0b193aGl0ZV9iYWxhbmNlKSkKKysgICAgcmV0dXJuOworKworKyAgc3RkOjp2ZWN0 b3I8c3RydWN0IHY0bDJfZXh0X2NvbnRyb2w+IHNwZWNpYWxfY2FtZXJhX2NvbnRyb2xzOworKyAg Ly8gU2V0IFY0TDJfQ0lEX0VYUE9TVVJFX0FVVE8gdG8gVjRMMl9FWFBPU1VSRV9NQU5VQUwuCisr ICB2NGwyX2V4dF9jb250cm9sIGF1dG9fZXhwb3N1cmUgPSB7fTsKKysgIGF1dG9fZXhwb3N1cmUu aWQgPSBWNEwyX0NJRF9FWFBPU1VSRV9BVVRPOworKyAgYXV0b19leHBvc3VyZS52YWx1ZSA9IFY0 TDJfRVhQT1NVUkVfTUFOVUFMOworKyAgc3BlY2lhbF9jYW1lcmFfY29udHJvbHMucHVzaF9iYWNr KGF1dG9fZXhwb3N1cmUpOworKyAgLy8gU2V0IFY0TDJfQ0lEX0VYUE9TVVJFX0FVVE9fUFJJT1JJ VFkgdG8gZmFsc2UuCisrICB2NGwyX2V4dF9jb250cm9sIHByaW9yaXR5X2F1dG9fZXhwb3N1cmUg PSB7fTsKKysgIHByaW9yaXR5X2F1dG9fZXhwb3N1cmUuaWQgPSBWNEwyX0NJRF9FWFBPU1VSRV9B VVRPX1BSSU9SSVRZOworKyAgcHJpb3JpdHlfYXV0b19leHBvc3VyZS52YWx1ZSA9IGZhbHNlOwor KyAgc3BlY2lhbF9jYW1lcmFfY29udHJvbHMucHVzaF9iYWNrKHByaW9yaXR5X2F1dG9fZXhwb3N1 cmUpOworKyAgLy8gU2V0IFY0TDJfQ0lEX0ZPQ1VTX0FVVE8gdG8gZmFsc2UuCisrICB2NGwyX2V4 dF9jb250cm9sIGF1dG9fZm9jdXMgPSB7fTsKKysgIGF1dG9fZm9jdXMuaWQgPSBWNEwyX0NJRF9G T0NVU19BVVRPOworKyAgYXV0b19mb2N1cy52YWx1ZSA9IGZhbHNlOworKyAgc3BlY2lhbF9jYW1l cmFfY29udHJvbHMucHVzaF9iYWNrKGF1dG9fZm9jdXMpOworKworICAgc3RydWN0IHY0bDJfZXh0 X2NvbnRyb2xzIGV4dF9jb250cm9scyA9IHt9OworLSAgZXh0X2NvbnRyb2xzLndoaWNoID0gVjRM Ml9DVFJMX1dISUNIX0NVUl9WQUw7CistICBleHRfY29udHJvbHMuY291bnQgPSAwOworLSAgY29u c3QgYm9vbCB1c2VfbW9kZXJuX3NfZXh0X2N0cmxzID0KKy0gICAgICBEb0lvY3RsKFZJRElPQ19T X0VYVF9DVFJMUywgJmV4dF9jb250cm9scykgPT0gMDsKKysgIGV4dF9jb250cm9scy5jdHJsX2Ns YXNzID0gVjRMMl9DSURfQ0FNRVJBX0NMQVNTOworKyAgZXh0X2NvbnRyb2xzLmNvdW50ID0gc3Bl Y2lhbF9jYW1lcmFfY29udHJvbHMuc2l6ZSgpOworKyAgZXh0X2NvbnRyb2xzLmNvbnRyb2xzID0g c3BlY2lhbF9jYW1lcmFfY29udHJvbHMuZGF0YSgpOworKyAgaWYgKERvSW9jdGwoVklESU9DX1Nf RVhUX0NUUkxTLCAmZXh0X2NvbnRyb2xzKSA8IDApCisrICAgIERQTE9HKElORk8pIDw8ICJWSURJ T0NfU19FWFRfQ1RSTFMiOworIAorICAgZm9yIChjb25zdCBhdXRvJiBjb250cm9sIDoga0NvbnRy b2xzKSB7CisgICAgIHN0ZDo6dmVjdG9yPHN0cnVjdCB2NGwyX2V4dF9jb250cm9sPiBjYW1lcmFf Y29udHJvbHM7CistICAgIHN0ZDo6dmVjdG9yPHN0cnVjdCB2NGwyX2V4dF9jb250cm9sPiBtYW51 YWxfc3BlY2lhbF9jYW1lcmFfY29udHJvbHM7CistICAgIHN0ZDo6dmVjdG9yPHN0cnVjdCB2NGwy X2V4dF9jb250cm9sPiBzcGVjaWFsX2NhbWVyYV9jb250cm9sczsKKyAKKyAgICAgdjRsMl9xdWVy eWN0cmwgcmFuZ2UgPSB7fTsKKy0gICAgLy8gU3RhcnQgcmlnaHQgYmVsb3cgdGhlIGJhc2Ugc28g dGhhdCB0aGUgZmlyc3QgbmV4dCByZXRyaWV2ZWQgY29udHJvbCBJRAorLSAgICAvLyBpcyBhbHdh eXMgdGhlIGZpcnN0IGF2YWlsYWJsZSBjb250cm9sIElEIHdpdGhpbiB0aGUgY2xhc3MgZXZlbiBp ZiB0aGF0CistICAgIC8vIGNvbnRyb2wgSUQgaXMgZXF1YWwgdG8gdGhlIGJhc2UgKFY0TDJfQ0lE X0JSSUdIVE5FU1MgZXF1YWxzIHRvCistICAgIC8vIFY0TDJfQ0lEX1VTRVJfQkFTRSkuCistICAg IHJhbmdlLmlkID0gKGNvbnRyb2wuY29udHJvbF9iYXNlIC0gMSkgfCBWNEwyX0NUUkxfRkxBR19O RVhUX0NUUkw7CisrICAgIHJhbmdlLmlkID0gY29udHJvbC5jb250cm9sX2Jhc2UgfCBWNEwyX0NU UkxfRkxBR19ORVhUX0NUUkw7CisgICAgIHdoaWxlICgwID09IERvSW9jdGwoVklESU9DX1FVRVJZ Q1RSTCwgJnJhbmdlKSkgeworICAgICAgIGlmIChWNEwyX0NUUkxfSUQyQ0xBU1MocmFuZ2UuaWQp ICE9IFY0TDJfQ1RSTF9JRDJDTEFTUyhjb250cm9sLmNsYXNzX2lkKSkKKyAgICAgICAgIGJyZWFr OworLQorLSAgICAgIHY0bDJfZXh0X2NvbnRyb2wgZXh0X2NvbnRyb2wgPSB7fTsKKy0gICAgICBl eHRfY29udHJvbC5pZCA9IHJhbmdlLmlkOworLSAgICAgIGV4dF9jb250cm9sLnZhbHVlID0gcmFu Z2UuZGVmYXVsdF92YWx1ZTsKKy0KKy0gICAgICAvLyBQcmVwYXJlIHRvIHF1ZXJ5IGZvciB0aGUg bmV4dCBjb250cm9sIGFzIGByYW5nZWAgaXMgYW4gaW4tb3V0CistICAgICAgLy8gcGFyYW1ldGVy LgorICAgICAgIHJhbmdlLmlkIHw9IFY0TDJfQ1RSTF9GTEFHX05FWFRfQ1RSTDsKKyAKKy0gICAg ICBpZiAocmFuZ2UuZmxhZ3MgJiAoVjRMMl9DVFJMX0ZMQUdfRElTQUJMRUQgfCBWNEwyX0NUUkxf RkxBR19SRUFEX09OTFkpKSB7CistICAgICAgICAvLyBQZXJtYW5lbnRseSBkaXNhYmxlZCBvciBw ZXJtYW5lbnRseSByZWFkLW9ubHkuCisrICAgICAgaWYgKElzU3BlY2lhbENvbnRyb2wocmFuZ2Uu aWQgJiB+VjRMMl9DVFJMX0ZMQUdfTkVYVF9DVFJMKSkKKyAgICAgICAgIGNvbnRpbnVlOworLSAg ICAgIH0KKy0gICAgICBpZiAoSXNCbG9ja2VkQ29udHJvbChleHRfY29udHJvbC5pZCkpIHsKKysg ICAgICBpZiAoSXNCbG9ja2VkQ29udHJvbChyYW5nZS5pZCAmIH5WNEwyX0NUUkxfRkxBR19ORVhU X0NUUkwpKQorICAgICAgICAgY29udGludWU7CistICAgICAgfQorIAorLSAgICAgIGlmIChJc1Nw ZWNpYWxDb250cm9sKGV4dF9jb250cm9sLmlkKSkgeworLSAgICAgICAgc3BlY2lhbF9jYW1lcmFf Y29udHJvbHMucHVzaF9iYWNrKGV4dF9jb250cm9sKTsKKy0gICAgICAgIGlmIChleHRfY29udHJv bC5pZCA9PSBWNEwyX0NJRF9FWFBPU1VSRV9BVVRPKSB7CistICAgICAgICAgIGV4dF9jb250cm9s LnZhbHVlID0gVjRMMl9FWFBPU1VSRV9NQU5VQUw7CistICAgICAgICB9IGVsc2UgeworLSAgICAg ICAgICBleHRfY29udHJvbC52YWx1ZSA9IGZhbHNlOyAgLy8gTm90IGF1dG9tYXRpYyBidXQgbWFu dWFsLgorLSAgICAgICAgfQorLSAgICAgICAgbWFudWFsX3NwZWNpYWxfY2FtZXJhX2NvbnRyb2xz LnB1c2hfYmFjayhleHRfY29udHJvbCk7CistICAgICAgfSBlbHNlIHsKKy0gICAgICAgIGNhbWVy YV9jb250cm9scy5wdXNoX2JhY2soZXh0X2NvbnRyb2wpOworLSAgICAgIH0KKysgICAgICBzdHJ1 Y3QgdjRsMl9leHRfY29udHJvbCBleHRfY29udHJvbCA9IHt9OworKyAgICAgIGV4dF9jb250cm9s LmlkID0gcmFuZ2UuaWQgJiB+VjRMMl9DVFJMX0ZMQUdfTkVYVF9DVFJMOworKyAgICAgIGV4dF9j b250cm9sLnZhbHVlID0gcmFuZ2UuZGVmYXVsdF92YWx1ZTsKKysgICAgICBjYW1lcmFfY29udHJv bHMucHVzaF9iYWNrKGV4dF9jb250cm9sKTsKKyAgICAgfQorIAorICAgICBpZiAoIWNhbWVyYV9j b250cm9scy5lbXB0eSgpKSB7CistICAgICAgLy8gU2V0IHNwZWNpYWwgY29udHJvbHMgdG8gbWFu dWFsIG1vZGVzIGZpcnN0LgorLSAgICAgIGlmICghbWFudWFsX3NwZWNpYWxfY2FtZXJhX2NvbnRy b2xzLmVtcHR5KCkpIHsKKy0gICAgICAgIGV4dF9jb250cm9scy53aGljaCA9CistICAgICAgICAg ICAgdXNlX21vZGVybl9zX2V4dF9jdHJscyA/IFY0TDJfQ1RSTF9XSElDSF9DVVJfVkFMIDogY29u dHJvbC5jbGFzc19pZDsKKy0gICAgICAgIGV4dF9jb250cm9scy5jb3VudCA9IG1hbnVhbF9zcGVj aWFsX2NhbWVyYV9jb250cm9scy5zaXplKCk7CistICAgICAgICBleHRfY29udHJvbHMuY29udHJv bHMgPSBtYW51YWxfc3BlY2lhbF9jYW1lcmFfY29udHJvbHMuZGF0YSgpOworLSAgICAgICAgaWYg KERvSW9jdGwoVklESU9DX1NfRVhUX0NUUkxTLCAmZXh0X2NvbnRyb2xzKSA8IDApIHsKKy0gICAg ICAgICAgRFBMT0coSU5GTykgPDwgIlZJRElPQ19TX0VYVF9DVFJMUyI7CistICAgICAgICB9Cist ICAgICAgfQorLQorLSAgICAgIC8vIFNldCBub24tc3BlY2lhbCBjb250cm9scyB0byB0aGUgZGVm YXVsdCB2YWx1ZXMuCistICAgICAgZXh0X2NvbnRyb2xzLndoaWNoID0KKy0gICAgICAgICAgdXNl X21vZGVybl9zX2V4dF9jdHJscyA/IFY0TDJfQ1RSTF9XSElDSF9DVVJfVkFMIDogY29udHJvbC5j bGFzc19pZDsKKy0gICAgICBleHRfY29udHJvbHMuY291bnQgPSBjYW1lcmFfY29udHJvbHMuc2l6 ZSgpOworLSAgICAgIGV4dF9jb250cm9scy5jb250cm9scyA9IGNhbWVyYV9jb250cm9scy5kYXRh KCk7CistICAgICAgaWYgKERvSW9jdGwoVklESU9DX1NfRVhUX0NUUkxTLCAmZXh0X2NvbnRyb2xz KSA8IDApIHsKKy0gICAgICAgIERQTE9HKElORk8pIDw8ICJWSURJT0NfU19FWFRfQ1RSTFMiOwor LSAgICAgIH0KKy0gICAgfQorLQorLSAgICAvLyBTZXQgc3BlY2lhbCBjb250cm9scyB0byB0aGUg ZGVmYXVsdCB2YWx1ZXMuCistICAgIGlmICghc3BlY2lhbF9jYW1lcmFfY29udHJvbHMuZW1wdHko KSkgeworLSAgICAgIGV4dF9jb250cm9scy53aGljaCA9CistICAgICAgICAgIHVzZV9tb2Rlcm5f c19leHRfY3RybHMgPyBWNEwyX0NUUkxfV0hJQ0hfQ1VSX1ZBTCA6IGNvbnRyb2wuY2xhc3NfaWQ7 CistICAgICAgZXh0X2NvbnRyb2xzLmNvdW50ID0gc3BlY2lhbF9jYW1lcmFfY29udHJvbHMuc2l6 ZSgpOworLSAgICAgIGV4dF9jb250cm9scy5jb250cm9scyA9IHNwZWNpYWxfY2FtZXJhX2NvbnRy b2xzLmRhdGEoKTsKKy0gICAgICBpZiAoRG9Jb2N0bChWSURJT0NfU19FWFRfQ1RSTFMsICZleHRf Y29udHJvbHMpIDwgMCkgeworKyAgICAgIHN0cnVjdCB2NGwyX2V4dF9jb250cm9scyBleHRfY29u dHJvbHMyID0ge307CisrICAgICAgZXh0X2NvbnRyb2xzMi5jdHJsX2NsYXNzID0gY29udHJvbC5j bGFzc19pZDsKKysgICAgICBleHRfY29udHJvbHMyLmNvdW50ID0gY2FtZXJhX2NvbnRyb2xzLnNp emUoKTsKKysgICAgICBleHRfY29udHJvbHMyLmNvbnRyb2xzID0gY2FtZXJhX2NvbnRyb2xzLmRh dGEoKTsKKysgICAgICBpZiAoRG9Jb2N0bChWSURJT0NfU19FWFRfQ1RSTFMsICZleHRfY29udHJv bHMyKSA8IDApCisgICAgICAgICBEUExPRyhJTkZPKSA8PCAiVklESU9DX1NfRVhUX0NUUkxTIjsK Ky0gICAgICB9CisgICAgIH0KKyAgIH0KKysKKysgIC8vIE5vdyBzZXQgdGhlIHNwZWNpYWwgZmxh Z3MgdG8gdGhlIGRlZmF1bHQgdmFsdWVzCisrICB2NGwyX3F1ZXJ5Y3RybCByYW5nZSA9IHt9Owor KyAgcmFuZ2UuaWQgPSBWNEwyX0NJRF9BVVRPX1dISVRFX0JBTEFOQ0U7CisrICBEb0lvY3RsKFZJ RElPQ19RVUVSWUNUUkwsICZyYW5nZSk7CisrICBhdXRvX3doaXRlX2JhbGFuY2UudmFsdWUgPSBy YW5nZS5kZWZhdWx0X3ZhbHVlOworKyAgRG9Jb2N0bChWSURJT0NfU19DVFJMLCAmYXV0b193aGl0 ZV9iYWxhbmNlKTsKKysKKysgIHNwZWNpYWxfY2FtZXJhX2NvbnRyb2xzLmNsZWFyKCk7CisrICBt ZW1zZXQoJnJhbmdlLCAwLCBzaXplb2YocmFuZ2UpKTsKKysgIHJhbmdlLmlkID0gVjRMMl9DSURf RVhQT1NVUkVfQVVUTzsKKysgIERvSW9jdGwoVklESU9DX1FVRVJZQ1RSTCwgJnJhbmdlKTsKKysg IGF1dG9fZXhwb3N1cmUudmFsdWUgPSByYW5nZS5kZWZhdWx0X3ZhbHVlOworKyAgc3BlY2lhbF9j YW1lcmFfY29udHJvbHMucHVzaF9iYWNrKGF1dG9fZXhwb3N1cmUpOworKworKyAgbWVtc2V0KCZy YW5nZSwgMCwgc2l6ZW9mKHJhbmdlKSk7CisrICByYW5nZS5pZCA9IFY0TDJfQ0lEX0VYUE9TVVJF X0FVVE9fUFJJT1JJVFk7CisrICBEb0lvY3RsKFZJRElPQ19RVUVSWUNUUkwsICZyYW5nZSk7Cisr ICBwcmlvcml0eV9hdXRvX2V4cG9zdXJlLnZhbHVlID0gcmFuZ2UuZGVmYXVsdF92YWx1ZTsKKysg IHNwZWNpYWxfY2FtZXJhX2NvbnRyb2xzLnB1c2hfYmFjayhwcmlvcml0eV9hdXRvX2V4cG9zdXJl KTsKKysKKysgIG1lbXNldCgmcmFuZ2UsIDAsIHNpemVvZihyYW5nZSkpOworKyAgcmFuZ2UuaWQg PSBWNEwyX0NJRF9GT0NVU19BVVRPOworKyAgRG9Jb2N0bChWSURJT0NfUVVFUllDVFJMLCAmcmFu Z2UpOworKyAgYXV0b19mb2N1cy52YWx1ZSA9IHJhbmdlLmRlZmF1bHRfdmFsdWU7CisrICBzcGVj aWFsX2NhbWVyYV9jb250cm9scy5wdXNoX2JhY2soYXV0b19mb2N1cyk7CisrCisrICBtZW1zZXQo JmV4dF9jb250cm9scywgMCwgc2l6ZW9mKGV4dF9jb250cm9scykpOworKyAgZXh0X2NvbnRyb2xz LmN0cmxfY2xhc3MgPSBWNEwyX0NJRF9DQU1FUkFfQ0xBU1M7CisrICBleHRfY29udHJvbHMuY291 bnQgPSBzcGVjaWFsX2NhbWVyYV9jb250cm9scy5zaXplKCk7CisrICBleHRfY29udHJvbHMuY29u dHJvbHMgPSBzcGVjaWFsX2NhbWVyYV9jb250cm9scy5kYXRhKCk7CisrICBpZiAoRG9Jb2N0bChW SURJT0NfU19FWFRfQ1RSTFMsICZleHRfY29udHJvbHMpIDwgMCkKKysgICAgRFBMT0coSU5GTykg PDwgIlZJRElPQ19TX0VYVF9DVFJMUyI7CisgfQorIAorIGJvb2wgVjRMMkNhcHR1cmVEZWxlZ2F0 ZTo6TWFwQW5kUXVldWVCdWZmZXIoaW50IGluZGV4KSB7CitkaWZmIC0tZ2l0IGEvbWVkaWEvY2Fw dHVyZS92aWRlby9saW51eC92NGwyX2NhcHR1cmVfZGVsZWdhdGUuaCBiL21lZGlhL2NhcHR1cmUv dmlkZW8vbGludXgvdjRsMl9jYXB0dXJlX2RlbGVnYXRlLmgKK2luZGV4IDVlYWEwY2QwMDRiODEu LmM5YmUzZDAyZjkzNDQgMTAwNjQ0CistLS0gYS9tZWRpYS9jYXB0dXJlL3ZpZGVvL2xpbnV4L3Y0 bDJfY2FwdHVyZV9kZWxlZ2F0ZS5oCisrKysgYi9tZWRpYS9jYXB0dXJlL3ZpZGVvL2xpbnV4L3Y0 bDJfY2FwdHVyZV9kZWxlZ2F0ZS5oCitAQCAtNzgsOSArNzgsNiBAQCBjbGFzcyBDQVBUVVJFX0VY UE9SVCBWNEwyQ2FwdHVyZURlbGVnYXRlIGZpbmFsIHsKKyAKKyAgIGJhc2U6OldlYWtQdHI8VjRM MkNhcHR1cmVEZWxlZ2F0ZT4gR2V0V2Vha1B0cigpOworIAorLSAgc3RhdGljIGJvb2wgSXNCbG9j a2VkQ29udHJvbChpbnQgY29udHJvbF9pZCk7CistICBzdGF0aWMgYm9vbCBJc1NwZWNpYWxDb250 cm9sKGludCBjb250cm9sX2lkKTsKKy0KKyAgcHJpdmF0ZToKKyAgIGZyaWVuZCBjbGFzcyBWNEwy Q2FwdHVyZURlbGVnYXRlVGVzdDsKKyAKK2RpZmYgLS1naXQgYS9tZWRpYS9jYXB0dXJlL3ZpZGVv L2xpbnV4L3Y0bDJfY2FwdHVyZV9kZWxlZ2F0ZV91bml0dGVzdC5jYyBiL21lZGlhL2NhcHR1cmUv dmlkZW8vbGludXgvdjRsMl9jYXB0dXJlX2RlbGVnYXRlX3VuaXR0ZXN0LmNjCitpbmRleCAwNjA0 NmNhNDVkNjM0Li40ZTZlMzhiYmQ1YzcyIDEwMDY0NAorLS0tIGEvbWVkaWEvY2FwdHVyZS92aWRl by9saW51eC92NGwyX2NhcHR1cmVfZGVsZWdhdGVfdW5pdHRlc3QuY2MKKysrKyBiL21lZGlhL2Nh cHR1cmUvdmlkZW8vbGludXgvdjRsMl9jYXB0dXJlX2RlbGVnYXRlX3VuaXR0ZXN0LmNjCitAQCAt MzUsMTEwICszNSwxMTkgQEAgc3RhdGljIHN0cnVjdCB7CisgfSBjb25zdCBrQ29udHJvbHNbXSA9 IHt7VjRMMl9DSURfVVNFUl9CQVNFLCBWNEwyX0NJRF9VU0VSX0NMQVNTfSwKKyAgICAgICAgICAg ICAgICAgICAgICAgIHtWNEwyX0NJRF9DQU1FUkFfQ0xBU1NfQkFTRSwgVjRMMl9DSURfQ0FNRVJB X0NMQVNTfX07CisgCisrLy8gRGV0ZXJtaW5lcyBpZiB8Y29udHJvbF9pZHwgaXMgc3BlY2lhbCwg aS5lLiBjb250cm9scyBhbm90aGVyIG9uZSdzIHN0YXRlLCBvcgorKy8vIGlmIGl0IHNob3VsZCBi ZSBkZW5pZWQgKHNlZSBodHRwczovL2NyYnVnLmNvbS82OTc4ODUpLgorKyNpZiAhZGVmaW5lZChW NEwyX0NJRF9QQU5fU1BFRUQpCisrI2RlZmluZSBWNEwyX0NJRF9QQU5fU1BFRUQgKFY0TDJfQ0lE X0NBTUVSQV9DTEFTU19CQVNFICsgMzIpCisrI2VuZGlmCisrI2lmICFkZWZpbmVkKFY0TDJfQ0lE X1RJTFRfU1BFRUQpCisrI2RlZmluZSBWNEwyX0NJRF9USUxUX1NQRUVEIChWNEwyX0NJRF9DQU1F UkFfQ0xBU1NfQkFTRSArIDMzKQorKyNlbmRpZgorKyNpZiAhZGVmaW5lZChWNEwyX0NJRF9QQU5U SUxUX0NNRCkKKysjZGVmaW5lIFY0TDJfQ0lEX1BBTlRJTFRfQ01EIChWNEwyX0NJRF9DQU1FUkFf Q0xBU1NfQkFTRSArIDM0KQorKyNlbmRpZgorK3N0YXRpYyBib29sIElzU3BlY2lhbE9yQmxvY2tl ZENvbnRyb2woaW50IGNvbnRyb2xfaWQpIHsKKysgIHN3aXRjaCAoY29udHJvbF9pZCkgeworKyAg ICBjYXNlIFY0TDJfQ0lEX0FVVE9fV0hJVEVfQkFMQU5DRToKKysgICAgY2FzZSBWNEwyX0NJRF9F WFBPU1VSRV9BVVRPOgorKyAgICBjYXNlIFY0TDJfQ0lEX0VYUE9TVVJFX0FVVE9fUFJJT1JJVFk6 CisrICAgIGNhc2UgVjRMMl9DSURfRk9DVVNfQVVUTzoKKysgICAgY2FzZSBWNEwyX0NJRF9QQU5f UkVMQVRJVkU6CisrICAgIGNhc2UgVjRMMl9DSURfVElMVF9SRUxBVElWRToKKysgICAgY2FzZSBW NEwyX0NJRF9QQU5fUkVTRVQ6CisrICAgIGNhc2UgVjRMMl9DSURfVElMVF9SRVNFVDoKKysgICAg Y2FzZSBWNEwyX0NJRF9QQU5fQUJTT0xVVEU6CisrICAgIGNhc2UgVjRMMl9DSURfVElMVF9BQlNP TFVURToKKysgICAgY2FzZSBWNEwyX0NJRF9aT09NX0FCU09MVVRFOgorKyAgICBjYXNlIFY0TDJf Q0lEX1pPT01fUkVMQVRJVkU6CisrICAgIGNhc2UgVjRMMl9DSURfWk9PTV9DT05USU5VT1VTOgor KyAgICBjYXNlIFY0TDJfQ0lEX1BBTl9TUEVFRDoKKysgICAgY2FzZSBWNEwyX0NJRF9USUxUX1NQ RUVEOgorKyAgICBjYXNlIFY0TDJfQ0lEX1BBTlRJTFRfQ01EOgorKyAgICAgIHJldHVybiB0cnVl OworKyAgfQorKyAgcmV0dXJuIGZhbHNlOworK30KKysKKyBzdGF0aWMgdm9pZCBTZXRDb250cm9s c1RvTWF4VmFsdWVzKGludCBkZXZpY2VfZmQpIHsKKy0gIHY0bDJfZXh0X2NvbnRyb2xzIGV4dF9j b250cm9sczsKKy0gIG1lbXNldCgmZXh0X2NvbnRyb2xzLCAwLCBzaXplb2YoZXh0X2NvbnRyb2xz KSk7CistICBleHRfY29udHJvbHMud2hpY2ggPSBWNEwyX0NUUkxfV0hJQ0hfQ1VSX1ZBTDsKKy0g IGV4dF9jb250cm9scy5jb3VudCA9IDA7CistICBjb25zdCBib29sIHVzZV9tb2Rlcm5fc19leHRf Y3RybHMgPQorLSAgICAgIEhBTkRMRV9FSU5UUihpb2N0bChkZXZpY2VfZmQsIFZJRElPQ19TX0VY VF9DVFJMUywgJmV4dF9jb250cm9scykpID09IDA7CisrICAvLyBTZXQgVjRMMl9DSURfQVVUT19X SElURV9CQUxBTkNFIHRvIGZhbHNlIGZpcnN0LgorKyAgdjRsMl9jb250cm9sIGF1dG9fd2hpdGVf YmFsYW5jZSA9IHt9OworKyAgYXV0b193aGl0ZV9iYWxhbmNlLmlkID0gVjRMMl9DSURfQVVUT19X SElURV9CQUxBTkNFOworKyAgYXV0b193aGl0ZV9iYWxhbmNlLnZhbHVlID0gZmFsc2U7CisrICBp ZiAoSEFORExFX0VJTlRSKGlvY3RsKGRldmljZV9mZCwgVklESU9DX1NfQ1RSTCwgJmF1dG9fd2hp dGVfYmFsYW5jZSkpIDwgMCkKKysgICAgRFBMT0coRVJST1IpIDw8ICJWSURJT0NfU19DVFJMIjsK KysKKysgIHN0ZDo6dmVjdG9yPHN0cnVjdCB2NGwyX2V4dF9jb250cm9sPiBzcGVjaWFsX2NhbWVy YV9jb250cm9sczsKKysgIC8vIFNldCBWNEwyX0NJRF9FWFBPU1VSRV9BVVRPIHRvIFY0TDJfRVhQ T1NVUkVfTUFOVUFMLgorKyAgdjRsMl9leHRfY29udHJvbCBhdXRvX2V4cG9zdXJlID0ge307Cisr ICBhdXRvX2V4cG9zdXJlLmlkID0gVjRMMl9DSURfRVhQT1NVUkVfQVVUTzsKKysgIGF1dG9fZXhw b3N1cmUudmFsdWUgPSBWNEwyX0VYUE9TVVJFX01BTlVBTDsKKysgIHNwZWNpYWxfY2FtZXJhX2Nv bnRyb2xzLnB1c2hfYmFjayhhdXRvX2V4cG9zdXJlKTsKKysgIC8vIFNldCBWNEwyX0NJRF9FWFBP U1VSRV9BVVRPX1BSSU9SSVRZIHRvIGZhbHNlLgorKyAgdjRsMl9leHRfY29udHJvbCBwcmlvcml0 eV9hdXRvX2V4cG9zdXJlID0ge307CisrICBwcmlvcml0eV9hdXRvX2V4cG9zdXJlLmlkID0gVjRM Ml9DSURfRVhQT1NVUkVfQVVUT19QUklPUklUWTsKKysgIHByaW9yaXR5X2F1dG9fZXhwb3N1cmUu dmFsdWUgPSBmYWxzZTsKKysgIHNwZWNpYWxfY2FtZXJhX2NvbnRyb2xzLnB1c2hfYmFjayhwcmlv cml0eV9hdXRvX2V4cG9zdXJlKTsKKysgIC8vIFNldCBWNEwyX0NJRF9GT0NVU19BVVRPIHRvIGZh bHNlLgorKyAgdjRsMl9leHRfY29udHJvbCBhdXRvX2ZvY3VzID0ge307CisrICBhdXRvX2ZvY3Vz LmlkID0gVjRMMl9DSURfRk9DVVNfQVVUTzsKKysgIGF1dG9fZm9jdXMudmFsdWUgPSBmYWxzZTsK KysgIHNwZWNpYWxfY2FtZXJhX2NvbnRyb2xzLnB1c2hfYmFjayhhdXRvX2ZvY3VzKTsKKysKKysg IHN0cnVjdCB2NGwyX2V4dF9jb250cm9scyBjYW1lcmFfZXh0X2NvbnRyb2xzID0ge307CisrICBj YW1lcmFfZXh0X2NvbnRyb2xzLmN0cmxfY2xhc3MgPSBWNEwyX0NJRF9DQU1FUkFfQ0xBU1M7Cisr ICBjYW1lcmFfZXh0X2NvbnRyb2xzLmNvdW50ID0gc3BlY2lhbF9jYW1lcmFfY29udHJvbHMuc2l6 ZSgpOworKyAgY2FtZXJhX2V4dF9jb250cm9scy5jb250cm9scyA9IHNwZWNpYWxfY2FtZXJhX2Nv bnRyb2xzLmRhdGEoKTsKKysgIGlmIChIQU5ETEVfRUlOVFIoaW9jdGwoZGV2aWNlX2ZkLCBWSURJ T0NfU19FWFRfQ1RSTFMsICZjYW1lcmFfZXh0X2NvbnRyb2xzKSkgPAorKyAgICAgIDApIHsKKysg ICAgRFBMT0coRVJST1IpIDw8ICJWSURJT0NfU19FWFRfQ1RSTFMiOworKyAgfQorIAorICAgZm9y IChjb25zdCBhdXRvJiBjb250cm9sIDoga0NvbnRyb2xzKSB7CisgICAgIHN0ZDo6dmVjdG9yPHN0 cnVjdCB2NGwyX2V4dF9jb250cm9sPiBjYW1lcmFfY29udHJvbHM7CistICAgIHN0ZDo6dmVjdG9y PHN0cnVjdCB2NGwyX2V4dF9jb250cm9sPiBtYW51YWxfc3BlY2lhbF9jYW1lcmFfY29udHJvbHM7 CisgCisgICAgIHY0bDJfcXVlcnljdHJsIHJhbmdlID0ge307CistICAgIC8vIFN0YXJ0IHJpZ2h0 IGJlbG93IHRoZSBiYXNlIHNvIHRoYXQgdGhlIGZpcnN0IG5leHQgcmV0cmlldmVkIGNvbnRyb2wg SUQKKy0gICAgLy8gaXMgYWx3YXlzIHRoZSBmaXJzdCBhdmFpbGFibGUgY29udHJvbCBJRCB3aXRo aW4gdGhlIGNsYXNzIGV2ZW4gaWYgdGhhdAorLSAgICAvLyBjb250cm9sIElEIGlzIGVxdWFsIHRv IHRoZSBiYXNlIChWNEwyX0NJRF9CUklHSFRORVNTIGVxdWFscyB0bworLSAgICAvLyBWNEwyX0NJ RF9VU0VSX0JBU0UpLgorLSAgICByYW5nZS5pZCA9IChjb250cm9sLmNvbnRyb2xfYmFzZSAtIDEp IHwgVjRMMl9DVFJMX0ZMQUdfTkVYVF9DVFJMOworKyAgICByYW5nZS5pZCA9IGNvbnRyb2wuY29u dHJvbF9iYXNlIHwgVjRMMl9DVFJMX0ZMQUdfTkVYVF9DVFJMOworICAgICB3aGlsZSAoMCA9PSBI QU5ETEVfRUlOVFIoaW9jdGwoZGV2aWNlX2ZkLCBWSURJT0NfUVVFUllDVFJMLCAmcmFuZ2UpKSkg eworICAgICAgIGlmIChWNEwyX0NUUkxfSUQyQ0xBU1MocmFuZ2UuaWQpICE9IFY0TDJfQ1RSTF9J RDJDTEFTUyhjb250cm9sLmNsYXNzX2lkKSkKKyAgICAgICAgIGJyZWFrOworLQorLSAgICAgIHY0 bDJfZXh0X2NvbnRyb2wgZXh0X2NvbnRyb2wgPSB7fTsKKy0gICAgICBleHRfY29udHJvbC5pZCA9 IHJhbmdlLmlkOworLQorLSAgICAgIC8vIFByZXBhcmUgdG8gcXVlcnkgZm9yIHRoZSBuZXh0IGNv bnRyb2wgYXMgYHJhbmdlYCBpcyBhbiBpbi1vdXQKKy0gICAgICAvLyBwYXJhbWV0ZXIuCisgICAg ICAgcmFuZ2UuaWQgfD0gVjRMMl9DVFJMX0ZMQUdfTkVYVF9DVFJMOworIAorLSAgICAgIGlmIChy YW5nZS5mbGFncyAmIChWNEwyX0NUUkxfRkxBR19ESVNBQkxFRCB8IFY0TDJfQ1RSTF9GTEFHX1JF QURfT05MWSkpIHsKKy0gICAgICAgIC8vIFBlcm1hbmVudGx5IGRpc2FibGVkIG9yIHBlcm1hbmVu dGx5IHJlYWQtb25seS4KKy0gICAgICAgIGNvbnRpbnVlOworLSAgICAgIH0KKy0gICAgICBpZiAo VjRMMkNhcHR1cmVEZWxlZ2F0ZTo6SXNCbG9ja2VkQ29udHJvbChleHRfY29udHJvbC5pZCkpIHsK KysgICAgICBpZiAoSXNTcGVjaWFsT3JCbG9ja2VkQ29udHJvbChyYW5nZS5pZCAmIH5WNEwyX0NU UkxfRkxBR19ORVhUX0NUUkwpKQorICAgICAgICAgY29udGludWU7CistICAgICAgfQorLQorLSAg ICAgIGlmIChWNEwyQ2FwdHVyZURlbGVnYXRlOjpJc1NwZWNpYWxDb250cm9sKGV4dF9jb250cm9s LmlkKSkgeworLSAgICAgICAgaWYgKGV4dF9jb250cm9sLmlkID09IFY0TDJfQ0lEX0VYUE9TVVJF X0FVVE8pIHsKKy0gICAgICAgICAgZXh0X2NvbnRyb2wudmFsdWUgPSBWNEwyX0VYUE9TVVJFX01B TlVBTDsKKy0gICAgICAgIH0gZWxzZSB7CistICAgICAgICAgIGV4dF9jb250cm9sLnZhbHVlID0g ZmFsc2U7ICAvLyBOb3QgYXV0b21hdGljIGJ1dCBtYW51YWwuCistICAgICAgICB9CistICAgICAg ICBtYW51YWxfc3BlY2lhbF9jYW1lcmFfY29udHJvbHMucHVzaF9iYWNrKGV4dF9jb250cm9sKTsK Ky0gICAgICAgIERWTE9HKDEpIDw8IF9fZnVuY19fIDw8ICIgIiA8PCByYW5nZS5uYW1lIDw8ICIg c2V0IHRvIG1hbnVhbCI7CistICAgICAgfSBlbHNlIHsKKy0gICAgICAgIGV4dF9jb250cm9sLnZh bHVlID0gcmFuZ2UubWF4aW11bTsKKy0gICAgICAgIGNhbWVyYV9jb250cm9scy5wdXNoX2JhY2so ZXh0X2NvbnRyb2wpOworLSAgICAgICAgRFZMT0coMSkgPDwgX19mdW5jX18gPDwgIiAiIDw8IHJh bmdlLm5hbWUgPDwgIiBzZXQgdG8gIgorLSAgICAgICAgICAgICAgICAgPDwgcmFuZ2UubWF4aW11 bTsKKy0gICAgICB9CistICAgIH0KKysgICAgICBEVkxPRygxKSA8PCBfX2Z1bmNfXyA8PCAiICIg PDwgcmFuZ2UubmFtZSA8PCAiIHNldCB0byAiIDw8IHJhbmdlLm1heGltdW07CisgCistICAgIC8v IFNldCBzcGVjaWFsIGNvbnRyb2xzIHRvIG1hbnVhbCBtb2Rlcy4KKy0gICAgaWYgKCFtYW51YWxf c3BlY2lhbF9jYW1lcmFfY29udHJvbHMuZW1wdHkoKSkgeworLSAgICAgIGV4dF9jb250cm9scy53 aGljaCA9CistICAgICAgICAgIHVzZV9tb2Rlcm5fc19leHRfY3RybHMgPyBWNEwyX0NUUkxfV0hJ Q0hfQ1VSX1ZBTCA6IGNvbnRyb2wuY2xhc3NfaWQ7CistICAgICAgZXh0X2NvbnRyb2xzLmNvdW50 ID0gbWFudWFsX3NwZWNpYWxfY2FtZXJhX2NvbnRyb2xzLnNpemUoKTsKKy0gICAgICBleHRfY29u dHJvbHMuY29udHJvbHMgPSBtYW51YWxfc3BlY2lhbF9jYW1lcmFfY29udHJvbHMuZGF0YSgpOwor LSAgICAgIGlmIChIQU5ETEVfRUlOVFIoaW9jdGwoZGV2aWNlX2ZkLCBWSURJT0NfU19FWFRfQ1RS TFMsICZleHRfY29udHJvbHMpKSA8CistICAgICAgICAgIDApIHsKKy0gICAgICAgIERQTE9HKEVS Uk9SKSA8PCAiVklESU9DX1NfRVhUX0NUUkxTIjsKKy0gICAgICB9CisrICAgICAgc3RydWN0IHY0 bDJfZXh0X2NvbnRyb2wgZXh0X2NvbnRyb2wgPSB7fTsKKysgICAgICBleHRfY29udHJvbC5pZCA9 IHJhbmdlLmlkICYgflY0TDJfQ1RSTF9GTEFHX05FWFRfQ1RSTDsKKysgICAgICBleHRfY29udHJv bC52YWx1ZSA9IHJhbmdlLm1heGltdW07CisrICAgICAgY2FtZXJhX2NvbnRyb2xzLnB1c2hfYmFj ayhleHRfY29udHJvbCk7CisgICAgIH0KKyAKKy0gICAgLy8gU2V0IG5vbi1zcGVjaWFsIGNvbnRy b2xzIHRvIG1heGltdW0gdmFsdWVzLgorICAgICBpZiAoIWNhbWVyYV9jb250cm9scy5lbXB0eSgp KSB7CistICAgICAgZXh0X2NvbnRyb2xzLndoaWNoID0KKy0gICAgICAgICAgdXNlX21vZGVybl9z X2V4dF9jdHJscyA/IFY0TDJfQ1RSTF9XSElDSF9DVVJfVkFMIDogY29udHJvbC5jbGFzc19pZDsK KysgICAgICBzdHJ1Y3QgdjRsMl9leHRfY29udHJvbHMgZXh0X2NvbnRyb2xzID0ge307CisrICAg ICAgZXh0X2NvbnRyb2xzLmN0cmxfY2xhc3MgPSBjb250cm9sLmNsYXNzX2lkOworICAgICAgIGV4 dF9jb250cm9scy5jb3VudCA9IGNhbWVyYV9jb250cm9scy5zaXplKCk7CisgICAgICAgZXh0X2Nv bnRyb2xzLmNvbnRyb2xzID0gY2FtZXJhX2NvbnRyb2xzLmRhdGEoKTsKKyAgICAgICBpZiAoSEFO RExFX0VJTlRSKGlvY3RsKGRldmljZV9mZCwgVklESU9DX1NfRVhUX0NUUkxTLCAmZXh0X2NvbnRy b2xzKSkgPCAwKQorICAgICAgICAgRFBMT0coRVJST1IpIDw8ICJWSURJT0NfU19FWFRfQ1RSTFMi OworICAgICB9CisgCistICAgIC8vIFN0YXJ0IHJpZ2h0IGJlbG93IHRoZSBiYXNlIHNvIHRoYXQg dGhlIGZpcnN0IG5leHQgcmV0cmlldmVkIGNvbnRyb2wgSUQKKy0gICAgLy8gaXMgYWx3YXlzIHRo ZSBmaXJzdCBhdmFpbGFibGUgY29udHJvbCBJRCB3aXRoaW4gdGhlIGNsYXNzIGV2ZW4gaWYgdGhh dAorLSAgICAvLyBjb250cm9sIElEIGlzIGVxdWFsIHRvIHRoZSBiYXNlIChWNEwyX0NJRF9CUklH SFRORVNTIGVxdWFscyB0bworLSAgICAvLyBWNEwyX0NJRF9VU0VSX0JBU0UpLgorLSAgICByYW5n ZS5pZCA9IChjb250cm9sLmNvbnRyb2xfYmFzZSAtIDEpIHwgVjRMMl9DVFJMX0ZMQUdfTkVYVF9D VFJMOworKyAgICByYW5nZS5pZCA9IGNvbnRyb2wuY29udHJvbF9iYXNlIHwgVjRMMl9DVFJMX0ZM QUdfTkVYVF9DVFJMOworICAgICB3aGlsZSAoMCA9PSBIQU5ETEVfRUlOVFIoaW9jdGwoZGV2aWNl X2ZkLCBWSURJT0NfUVVFUllDVFJMLCAmcmFuZ2UpKSkgeworICAgICAgIGlmIChWNEwyX0NUUkxf SUQyQ0xBU1MocmFuZ2UuaWQpICE9IFY0TDJfQ1RSTF9JRDJDTEFTUyhjb250cm9sLmNsYXNzX2lk KSkKKyAgICAgICAgIGJyZWFrOworLQorLSAgICAgIHY0bDJfY29udHJvbCByZWFkYmFjayA9IHt9 OworLSAgICAgIHJlYWRiYWNrLmlkID0gcmFuZ2UuaWQ7CistCistICAgICAgLy8gUHJlcGFyZSB0 byBxdWVyeSBmb3IgdGhlIG5leHQgY29udHJvbCBhcyBgcmFuZ2VgIGlzIGFuIGluLW91dAorLSAg ICAgIC8vIHBhcmFtZXRlci4KKyAgICAgICByYW5nZS5pZCB8PSBWNEwyX0NUUkxfRkxBR19ORVhU X0NUUkw7CisgCistICAgICAgaWYgKHJhbmdlLmZsYWdzICYgKFY0TDJfQ1RSTF9GTEFHX0RJU0FC TEVEIHwgVjRMMl9DVFJMX0ZMQUdfUkVBRF9PTkxZKSkgeworLSAgICAgICAgLy8gUGVybWFuZW50 bHkgZGlzYWJsZWQgb3IgcGVybWFuZW50bHkgcmVhZC1vbmx5LgorKyAgICAgIGlmIChJc1NwZWNp YWxPckJsb2NrZWRDb250cm9sKHJhbmdlLmlkICYgflY0TDJfQ1RSTF9GTEFHX05FWFRfQ1RSTCkp CisgICAgICAgICBjb250aW51ZTsKKy0gICAgICB9CistICAgICAgaWYgKFY0TDJDYXB0dXJlRGVs ZWdhdGU6OklzQmxvY2tlZENvbnRyb2wocmVhZGJhY2suaWQpIHx8CistICAgICAgICAgIFY0TDJD YXB0dXJlRGVsZWdhdGU6OklzU3BlY2lhbENvbnRyb2wocmVhZGJhY2suaWQpKSB7CistICAgICAg ICBjb250aW51ZTsKKy0gICAgICB9CisrICAgICAgRFZMT0coMSkgPDwgX19mdW5jX18gPDwgIiAi IDw8IHJhbmdlLm5hbWUgPDwgIiBzZXQgdG8gIiA8PCByYW5nZS5tYXhpbXVtOworIAorKyAgICAg IHY0bDJfY29udHJvbCByZWFkYmFjayA9IHt9OworKyAgICAgIHJlYWRiYWNrLmlkID0gcmFuZ2Uu aWQgJiB+VjRMMl9DVFJMX0ZMQUdfTkVYVF9DVFJMOworICAgICAgIGlmIChIQU5ETEVfRUlOVFIo aW9jdGwoZGV2aWNlX2ZkLCBWSURJT0NfR19DVFJMLCAmcmVhZGJhY2spKSA8IDApCisgICAgICAg ICBEUExPRyhFUlJPUikgPDwgcmFuZ2UubmFtZSA8PCAiLCBmYWlsZWQgdG8gYmUgcmVhZC4iOwor LSAgICAgIEVYUEVDVF9FUShyYW5nZS5tYXhpbXVtLCByZWFkYmFjay52YWx1ZSkKKy0gICAgICAg ICAgPDwgIiBjb250cm9sICIgPDwgcmFuZ2UubmFtZSA8PCAiIGRpZG4ndCBzZXQgY29ycmVjdGx5 IjsKKysgICAgICBFWFBFQ1RfRVEocmFuZ2UubWF4aW11bSwgcmVhZGJhY2sudmFsdWUpIDw8ICIg Y29udHJvbCAiIDw8IHJhbmdlLm5hbWUKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDw8ICIgZGlkbnQgc2V0IGNvcnJlY3RseSI7CisgICAgIH0KKyAgIH0K KyB9CitAQCAtMTg2LDcgKzE5NSwxNSBAQCBjbGFzcyBWNEwyQ2FwdHVyZURlbGVnYXRlVGVzdCA6 IHB1YmxpYyA6OnRlc3Rpbmc6OlRlc3QgeworIAorIH0gIC8vIGFub255bW91cyBuYW1lc3BhY2UK KyAKKy1URVNUX0YoVjRMMkNhcHR1cmVEZWxlZ2F0ZVRlc3QsIENyZWF0ZUFuZERlc3Ryb3lBbmRW ZXJpZnlDb250cm9scykgeworKy8vIEZhaWxzIG9uIExpbnV4LCBzZWUgY3JidWcvNzMyMzU1Cisr I2lmIEJVSUxERkxBRyhJU19MSU5VWCkKKysjZGVmaW5lIE1BWUJFX0NyZWF0ZUFuZERlc3Ryb3lB bmRWZXJpZnlDb250cm9scyBcCisrICBESVNBQkxFRF9DcmVhdGVBbmREZXN0cm95QW5kVmVyaWZ5 Q29udHJvbHMKKysjZWxzZQorKyNkZWZpbmUgTUFZQkVfQ3JlYXRlQW5kRGVzdHJveUFuZFZlcmlm eUNvbnRyb2xzIFwKKysgIENyZWF0ZUFuZERlc3Ryb3lBbmRWZXJpZnlDb250cm9scworKyNlbmRp ZgorK1RFU1RfRihWNEwyQ2FwdHVyZURlbGVnYXRlVGVzdCwgTUFZQkVfQ3JlYXRlQW5kRGVzdHJv eUFuZFZlcmlmeUNvbnRyb2xzKSB7CisgICAvLyBDaGVjayB0aGF0IHRoZXJlIGlzIGF0IGxlYXN0 IGEgdmlkZW8gZGV2aWNlLCBvdGhlcndpc2UgYmFpbC4KKyAgIGNvbnN0IGJhc2U6OkZpbGVQYXRo IHBhdGgoIi9kZXYvIik7CisgICBiYXNlOjpGaWxlRW51bWVyYXRvciBlbnVtZXJhdG9yKHBhdGgs IGZhbHNlLCBiYXNlOjpGaWxlRW51bWVyYXRvcjo6RklMRVMsCgpkaWZmIC0tZ2l0IGEvY2hyb21p dW0uc3BlYyBiL2Nocm9taXVtLnNwZWMKaW5kZXggMTQ0YTVhMS4uOWM3YzkyNiAxMDA2NDQKLS0t IGEvY2hyb21pdW0uc3BlYworKysgYi9jaHJvbWl1bS5zcGVjCkBAIC0zMzksNiArMzM5LDEwIEBA IFBhdGNoMTA2OiBjaHJvbWl1bS05OC4wLjQ3NTguODAtZXBlbDctZXJhc2UtZml4LnBhdGNoCiAK ICMgQWRkIGFkZGl0aW9uYWwgb3BlcmF0b3I9PSB0byBtYWtlIGVsNyBoYXBweS4KIFBhdGNoMTA3 OiBjaHJvbWl1bS05OS4wLjQ4NDQuNTEtZWw3LWV4dHJhLW9wZXJhdG9yPT0ucGF0Y2gKKyMgd29y a2Fyb3VuZCBmb3IgY2xhbmcgYnVnCitQYXRjaDEwODogY2hyb21pdW0tMTEzLWNvbnN0ZXhwci1l bDcucGF0Y2gKKyMgZml4IEZUQkZTIG9uIGVsNywgb2xkIGtlcm5lbAorUGF0Y2gxMDk6IGNocm9t aXVtLTExMy12NGwyLXJldmVydC1lbDcucGF0Y2gKIAogIyBzeXN0ZW0gZmZtcGVnCiBQYXRjaDEx NDogY2hyb21pdW0tMTA3LWZmbXBlZy1kdXJhdGlvbi5wYXRjaApAQCAtOTQxLDYgKzk0NSw4IEBA IHVkZXYuCiAlcGF0Y2ggLVAxMDUgLXAxIC1iIC5lbDctb2xkLWxpYmRybQogJXBhdGNoIC1QMTA2 IC1wMSAtYiAuZWw3LWVyYXNlLWZpeAogJXBhdGNoIC1QMTA3IC1wMSAtYiAuZWw3LWV4dHJhLW9w ZXJhdG9yLWVxdWFsZXF1YWwKKyVwYXRjaCAtUDEwOCAtcDEgLWIgLmNvbnN0ZXhwci1lbDcKKyVw YXRjaCAtUDEwOSAtcDEgLWIgLnY0bDItcmV2ZXJ0LWVsNwogJWVuZGlmCiAKICVwYXRjaCAtUDEz MCAtcDEgLWIgLlZpcnR1YWxDdXJzb3Itc3RkLWxheW91dAo=