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: Antonio Trande To: git-commits@fedoraproject.org Subject: [rpms/python-dmidecode] main: Patched for libxml2-2.15.4 Date: Thu, 17 Sep 2026 19:03:07 GMT Message-ID: <178967178785.1.7089845930379850984.rpms-python-dmidecode-b807f4cd3325@fedoraproject.org> List-ID: X-Git-Repo: rpms/python-dmidecode X-Git-Branch: main X-Git-Rev: b807f4cd332538f0668b1ac00df13dcbb74b68ef QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvcHl0aG9uLWRtaWRl Y29kZQpCcmFuY2ggOiBtYWluCkNvbW1pdCA6IGI4MDdmNGNkMzMyNTM4ZjA2NjhiMWFjMDBkZjEz ZGNiYjc0YjY4ZWYKQXV0aG9yIDogQW50b25pbyBUcmFuZGUgPHNhZ2l0dGVyQGZlZG9yYXByb2pl Y3Qub3JnPgpEYXRlICAgOiAyMDI2LTA5LTE3VDIxOjAyOjU2KzAyOjAwClN0YXRzICA6ICs3NTIv LTQgaW4gMiBmaWxlKHMpClVSTCAgICA6IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3Jw bXMvcHl0aG9uLWRtaWRlY29kZS9jL2I4MDdmNGNkMzMyNTM4ZjA2NjhiMWFjMDBkZjEzZGNiYjc0 YjY4ZWY/YnJhbmNoPW1haW4KCkxvZzoKUGF0Y2hlZCBmb3IgbGlieG1sMi0yLjE1LjQKCi0tLQpk aWZmIC0tZ2l0IGEvcHl0aG9uLWRtaWRlY29kZS1saWJ4bWwyLnBhdGNoIGIvcHl0aG9uLWRtaWRl Y29kZS1saWJ4bWwyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY4 MmM4YzAKLS0tIC9kZXYvbnVsbAorKysgYi9weXRob24tZG1pZGVjb2RlLWxpYnhtbDIucGF0Y2gK QEAgLTAsMCArMSw3MzcgQEAKK0Zyb20gNGFkMmU0Y2EwZjZjYTZjNDBmYjk5NGE3MmY4OTcyZDI0 Yjg5MDU1NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFl1enVydTEwIDx5dXp1cnVf MTBAcHJvdG9uLm1lPgorRGF0ZTogU2F0LCA1IEp1bCAyMDI1IDIwOjIxOjE0ICswMzAwCitTdWJq ZWN0OiBbUEFUQ0hdIEZpeCBYTUwgaGFuZGxpbmcgYW5kIHVwZGF0ZSBsaWJ4bWwyIGJpbmRpbmdz IGluIHB5dGhvbi1kbWlkZWNvZGUKKworZGlmZiAtLWdpdCBhL2RtaWRlY29kZS5weSBiL2RtaWRl Y29kZS5weQoraW5kZXggYWM4MTM2NS4uMTkzNzlmNCAxMDA2NDQKKy0tLSBhL2RtaWRlY29kZS5w eQorKysrIGIvZG1pZGVjb2RlLnB5CitAQCAtMjUsMjQgKzI1LDI1IEBACisgIyAgIGFyZSBkZWVt ZWQgdG8gYmUgcGFydCBvZiB0aGUgc291cmNlIGNvZGUuCisgIworIAorLWltcG9ydCBsaWJ4bWwy CisrdHJ5OgorKyAgICBmcm9tIGx4bWwgaW1wb3J0IGV0cmVlCisrZXhjZXB0IEltcG9ydEVycm9y OgorKyAgICByYWlzZSBJbXBvcnRFcnJvcigibHhtbCBpcyByZXF1aXJlZC4gSW5zdGFsbCB3aXRo OiBwaXAgaW5zdGFsbCBseG1sIikKKysKKyBmcm9tIGRtaWRlY29kZW1vZCBpbXBvcnQgKgorK2Zy b20gbHhtbCBpbXBvcnQgZXRyZWUKKytmcm9tIGRtaWRlY29kZW1vZCBpbXBvcnQgeG1sYXBpCisg CistRE1JWE1MX05PREU9J24nCistRE1JWE1MX0RPQz0nZCcKKytETUlYTUxfTk9ERSA9ICduJwor K0RNSVhNTF9ET0MgPSAnZCcKKyAKKyBjbGFzcyBkbWlkZWNvZGVYTUw6CisgICAgICJOYXRpdmUg UHl0aG9uIEFQSSBmb3IgcmV0cmlldmluZyBkbWlkZWNvZGUgaW5mb3JtYXRpb24gYXMgWE1MIgor LQorKyAgICAKKyAgICAgZGVmIF9faW5pdF9fKHNlbGYpOgorLSAgICAgICAgc2VsZi5yZXN0eXBl ID0gRE1JWE1MX05PREU7CisrICAgICAgICBzZWxmLnJlc3R5cGUgPSBETUlYTUxfTk9ERQorIAor ICAgICBkZWYgU2V0UmVzdWx0VHlwZShzZWxmLCB0eXBlKToKKy0gICAgICAgICIiIgorLSAgICAg ICAgU2V0cyB0aGUgcmVzdWx0IHR5cGUgb2YgcXVlcmllcy4gIFRoZSB2YWx1ZSBjYW4gYmUgRE1J WE1MX05PREUgb3IgRE1JWE1MX0RPQywKKy0gICAgICAgIHdoaWNoIHdpbGwgcmV0dXJuIGFuIGxp YnhtbDI6OnhtbE5vZGUgb3IgbGlieG1sMjo6eG1sRG9jIG9iamVjdCwgcmVzcGVjdGl2ZWx5Cist ICAgICAgICAiIiIKKy0KKyAgICAgICAgIGlmIHR5cGUgPT0gRE1JWE1MX05PREU6CisgICAgICAg ICAgICAgc2VsZi5yZXN0eXBlID0gRE1JWE1MX05PREUKKyAgICAgICAgIGVsaWYgdHlwZSA9PSBE TUlYTUxfRE9DOgorQEAgLTUyLDM4ICs1MywzMDggQEAgZGVmIFNldFJlc3VsdFR5cGUoc2VsZiwg dHlwZSk6CisgICAgICAgICByZXR1cm4gVHJ1ZQorIAorICAgICBkZWYgUXVlcnlTZWN0aW9uKHNl bGYsIHNlY3RuYW1lKToKKy0gICAgICAgICIiIgorLSAgICAgICAgUXVlcmllcyB0aGUgRE1JIGRh dGEgc3RydWN0dXJlIGZvciBhIGdpdmVuIHNlY3Rpb24gbmFtZS4gIEEgc2VjdGlvbgorLSAgICAg ICAgY2FuIG9mdGVuIGNvbnRhaW4gc2V2ZXJhbCBETUkgdHlwZSBlbGVtZW50cworLSAgICAgICAg IiIiCistICAgICAgICBpZiBzZWxmLnJlc3R5cGUgPT0gRE1JWE1MX05PREU6CistICAgICAgICAg ICAgcmV0ID0gbGlieG1sMi54bWxOb2RlKCBfb2JqID0geG1sYXBpKHF1ZXJ5X3R5cGU9J3MnLAor LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgcmVzdWx0X3R5cGU9c2VsZi5yZXN0eXBlLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VjdGlvbj1zZWN0bmFtZSkgKQorLSAg ICAgICAgZWxpZiBzZWxmLnJlc3R5cGUgPT0gRE1JWE1MX0RPQzoKKy0gICAgICAgICAgICByZXQg PSBsaWJ4bWwyLnhtbERvYyggX29iaiA9IHhtbGFwaShxdWVyeV90eXBlPSdzJywKKy0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0 X3R5cGU9c2VsZi5yZXN0eXBlLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzZWN0aW9uPXNlY3RuYW1lKSApCistICAgICAgICBlbHNl OgorLSAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiSW52YWxpZCByZXN1bHQgdHlwZSB2YWx1 ZSIpCisrICAgICAgICB0cnk6CisrICAgICAgICAgICAgcXVlcnlfYXJncyA9IHsKKysgICAgICAg ICAgICAgICAgJ3F1ZXJ5X3R5cGUnOiAncycsCisrICAgICAgICAgICAgICAgICdyZXN1bHRfdHlw ZSc6ICduJyBpZiBzZWxmLnJlc3R5cGUgPT0gRE1JWE1MX05PREUgZWxzZSAnZCcsCisrICAgICAg ICAgICAgICAgICdzZWN0aW9uJzogc2VjdG5hbWUKKysgICAgICAgICAgICB9CisrCisrICAgICAg ICAgICAgeG1sX3N0cmluZyA9IHhtbGFwaSgqKnF1ZXJ5X2FyZ3MpCisgCistICAgICAgICByZXR1 cm4gcmV0CisrICAgICAgICAgICAgaWYgbm90IHhtbF9zdHJpbmcgb3Igbm90IGlzaW5zdGFuY2Uo eG1sX3N0cmluZywgc3RyKToKKysgICAgICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCJD IG1vZHVsZSBkaWQgbm90IHJldHVybiBhIHZhbGlkIFhNTCBzdHJpbmciKQorIAorKyAgICAgICAg ICAgIGlmIHNlbGYucmVzdHlwZSA9PSBETUlYTUxfTk9ERToKKysgICAgICAgICAgICAgICAgcmV0 dXJuIGV0cmVlLmZyb21zdHJpbmcoeG1sX3N0cmluZykKKysgICAgICAgICAgICBlbGlmIHNlbGYu cmVzdHlwZSA9PSBETUlYTUxfRE9DOgorKyAgICAgICAgICAgICAgICByZXR1cm4gZXRyZWUuRWxl bWVudFRyZWUoZXRyZWUuZnJvbXN0cmluZyh4bWxfc3RyaW5nKSkKKysgICAgICAgICAgICBlbHNl OgorKyAgICAgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoIkludmFsaWQgcmVzdWx0IHR5cGUg dmFsdWUiKQorKworKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorKyAgICAgICAgICAg IHJhaXNlIFJ1bnRpbWVFcnJvcihmIkZhaWxlZCB0byBxdWVyeSBzZWN0aW9uICd7c2VjdG5hbWV9 Jzoge3N0cihlKX0iKQorIAorICAgICBkZWYgUXVlcnlUeXBlSWQoc2VsZiwgdHBpZCk6CistICAg ICAgICAiIiIKKy0gICAgICAgIFF1ZXJpZXMgdGhlIERNSSBkYXRhIHN0cnVjdHVyZSBmb3IgYSBz cGVjaWZpYyBETUkgdHlwZS4KKy0gICAgICAgICIiIgorLSAgICAgICAgaWYgc2VsZi5yZXN0eXBl ID09IERNSVhNTF9OT0RFOgorLSAgICAgICAgICAgIHJldCA9IGxpYnhtbDIueG1sTm9kZSggX29i aiA9IHhtbGFwaShxdWVyeV90eXBlPSd0JywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdF90eXBlPXNlbGYucmVzdHlwZSwK Ky0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHR5cGVpZD10cGlkKSkKKy0gICAgICAgIGVsaWYgc2VsZi5yZXN0eXBlID09IERNSVhNTF9E T0M6CistICAgICAgICAgICAgcmV0ID0gbGlieG1sMi54bWxEb2MoIF9vYmogPSB4bWxhcGkocXVl cnlfdHlwZT0ndCcsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHJlc3VsdF90eXBlPXNlbGYucmVzdHlwZSwKKy0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZWlkPXRwaWQp KQorLSAgICAgICAgZWxzZToKKy0gICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoIkludmFsaWQg cmVzdWx0IHR5cGUgdmFsdWUiKQorKyAgICAgICAgdHJ5OgorKyAgICAgICAgICAgIHRwaWQgPSBp bnQodHBpZCkKKysgICAgICAgICAgICBxdWVyeV9hcmdzID0geworKyAgICAgICAgICAgICAgICAn cXVlcnlfdHlwZSc6ICd0JywKKysgICAgICAgICAgICAgICAgJ3Jlc3VsdF90eXBlJzogJ24nIGlm IHNlbGYucmVzdHlwZSA9PSBETUlYTUxfTk9ERSBlbHNlICdkJywKKysgICAgICAgICAgICAgICAg J3R5cGVpZCc6IHRwaWQKKysgICAgICAgICAgICB9CisrCisrICAgICAgICAgICAgeG1sX3N0cmlu ZyA9IHhtbGFwaSgqKnF1ZXJ5X2FyZ3MpCisrCisrICAgICAgICAgICAgaWYgbm90IHhtbF9zdHJp bmcgb3Igbm90IGlzaW5zdGFuY2UoeG1sX3N0cmluZywgc3RyKToKKysgICAgICAgICAgICAgICAg cmFpc2UgUnVudGltZUVycm9yKCJDIG1vZHVsZSBkaWQgbm90IHJldHVybiBhIHZhbGlkIFhNTCBz dHJpbmciKQorKworKyAgICAgICAgICAgIGlmIHNlbGYucmVzdHlwZSA9PSBETUlYTUxfTk9ERToK KysgICAgICAgICAgICAgICAgcmV0dXJuIGV0cmVlLmZyb21zdHJpbmcoeG1sX3N0cmluZykKKysg ICAgICAgICAgICBlbGlmIHNlbGYucmVzdHlwZSA9PSBETUlYTUxfRE9DOgorKyAgICAgICAgICAg ICAgICByZXR1cm4gZXRyZWUuRWxlbWVudFRyZWUoZXRyZWUuZnJvbXN0cmluZyh4bWxfc3RyaW5n KSkKKysgICAgICAgICAgICBlbHNlOgorKyAgICAgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3Io IkludmFsaWQgcmVzdWx0IHR5cGUgdmFsdWUiKQorKworKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlv biBhcyBlOgorKyAgICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcihmIkZhaWxlZCB0byBxdWVy eSB0eXBlIElEICd7dHBpZH0nOiB7c3RyKGUpfSIpCisrCisrIyBDb252ZW5pZW5jZSBmdW5jdGlv bnMgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkKKytkZWYgcXVlcnlfc2VjdGlvbihzZWN0bmFt ZSwgcmVzdWx0X3R5cGU9RE1JWE1MX05PREUpOgorKyAgICAiIiIKKysgICAgQ29udmVuaWVuY2Ug ZnVuY3Rpb24gdG8gcXVlcnkgYSBzZWN0aW9uIGFuZCByZXR1cm4gbHhtbCBvYmplY3QKKysgICAg IiIiCisrICAgIGRtaSA9IGRtaWRlY29kZVhNTCgpCisrICAgIGRtaS5TZXRSZXN1bHRUeXBlKHJl c3VsdF90eXBlKQorKyAgICByZXR1cm4gZG1pLlF1ZXJ5U2VjdGlvbihzZWN0bmFtZSkKKysKKytk ZWYgcXVlcnlfdHlwZV9pZCh0cGlkLCByZXN1bHRfdHlwZT1ETUlYTUxfTk9ERSk6CisrICAgICIi IgorKyAgICBDb252ZW5pZW5jZSBmdW5jdGlvbiB0byBxdWVyeSBhIHR5cGUgSUQgYW5kIHJldHVy biBseG1sIG9iamVjdAorKyAgICAiIiIKKysgICAgZG1pID0gZG1pZGVjb2RlWE1MKCkKKysgICAg ZG1pLlNldFJlc3VsdFR5cGUocmVzdWx0X3R5cGUpCisrICAgIHJldHVybiBkbWkuUXVlcnlUeXBl SWQodHBpZCkKKysKKysjIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgY2xhc3MgZm9yIG9sZGVyIEFQ SQorK2NsYXNzIERNSURlY29kZToKKysgICAgZGVmIF9faW5pdF9fKHNlbGYpOgorKyAgICAgICAg c2VsZi5kbWkgPSBkbWlkZWNvZGVYTUwoKQorKworKyAgICBkZWYgZ2V0KHNlbGYsIHNlY3Rpb249 Tm9uZSwgdHlwZV9pZD1Ob25lKToKKysgICAgICAgIHRyeToKKysgICAgICAgICAgICBpZiBzZWN0 aW9uIGlzIG5vdCBOb25lOgorKyAgICAgICAgICAgICAgICBzZWN0aW9uID0gc3RyKHNlY3Rpb24p CisrICAgICAgICAgICAgICAgIHhtbF9kYXRhID0gc2VsZi5kbWkuUXVlcnlTZWN0aW9uKHNlY3Rp b24pCisrICAgICAgICAgICAgZWxpZiB0eXBlX2lkIGlzIG5vdCBOb25lOgorKyAgICAgICAgICAg ICAgICBpZiBpc2luc3RhbmNlKHR5cGVfaWQsIGRpY3QpOgorKyAgICAgICAgICAgICAgICAgICAg dHJ5OgorKyAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVfaWQgPSBpbnQobGlzdCh0eXBlX2lk LmtleXMoKSlbMF0sIDE2KQorKyAgICAgICAgICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBh cyBlOgorKyAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoZiJJbnZhbGlk IHR5cGVfaWQgZGljdCBmb3JtYXQ6IHt0eXBlX2lkfSIpIGZyb20gZQorKyAgICAgICAgICAgICAg ICBlbHNlOgorKyAgICAgICAgICAgICAgICAgICAgdHlwZV9pZCA9IGludCh0eXBlX2lkKQorKyAg ICAgICAgICAgICAgICB4bWxfZGF0YSA9IHNlbGYuZG1pLlF1ZXJ5VHlwZUlkKHR5cGVfaWQpCisr ICAgICAgICAgICAgZWxzZToKKysgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiRWl0 aGVyIHNlY3Rpb24gb3IgdHlwZV9pZCBtdXN0IGJlIHNwZWNpZmllZCIpCisrCisrICAgICAgICAg ICAgaWYgeG1sX2RhdGEgaXMgTm9uZToKKysgICAgICAgICAgICAgICAgcmV0dXJuIHt9CisrCisr ICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3htbF90b19kaWN0KHhtbF9kYXRhKQorKworKyAgICAg ICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorKyAgICAgICAgICAgIGltcG9ydCB0cmFjZWJhY2sK KysgICAgICAgICAgICB0cmFjZWJhY2sucHJpbnRfZXhjKCkKKysgICAgICAgICAgICByZXR1cm4g e30KKysKKysgICAgZGVmIF94bWxfdG9fZGljdChzZWxmLCB4bWxfZWxlbWVudCk6CisrICAgICAg ICByZXN1bHQgPSB7fQorKyAgICAgICAgaWYgeG1sX2VsZW1lbnQuYXR0cmliOgorKyAgICAgICAg ICAgIHJlc3VsdC51cGRhdGUoeG1sX2VsZW1lbnQuYXR0cmliKQorKyAgICAgICAgaWYgeG1sX2Vs ZW1lbnQudGV4dCBhbmQgeG1sX2VsZW1lbnQudGV4dC5zdHJpcCgpOgorKyAgICAgICAgICAgIGlm IGxlbih4bWxfZWxlbWVudCkgPT0gMDoKKysgICAgICAgICAgICAgICAgcmV0dXJuIHhtbF9lbGVt ZW50LnRleHQuc3RyaXAoKQorKyAgICAgICAgICAgIGVsc2U6CisrICAgICAgICAgICAgICAgIHJl c3VsdFsnX3RleHQnXSA9IHhtbF9lbGVtZW50LnRleHQuc3RyaXAoKQorKyAgICAgICAgZm9yIGNo aWxkIGluIHhtbF9lbGVtZW50OgorKyAgICAgICAgICAgIGNoaWxkX2RhdGEgPSBzZWxmLl94bWxf dG9fZGljdChjaGlsZCkKKysgICAgICAgICAgICBpZiBjaGlsZC50YWcgaW4gcmVzdWx0OgorKyAg ICAgICAgICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShyZXN1bHRbY2hpbGQudGFnXSwgbGlzdCk6 CisrICAgICAgICAgICAgICAgICAgICByZXN1bHRbY2hpbGQudGFnXSA9IFtyZXN1bHRbY2hpbGQu dGFnXV0KKysgICAgICAgICAgICAgICAgcmVzdWx0W2NoaWxkLnRhZ10uYXBwZW5kKGNoaWxkX2Rh dGEpCisrICAgICAgICAgICAgZWxzZToKKysgICAgICAgICAgICAgICAgcmVzdWx0W2NoaWxkLnRh Z10gPSBjaGlsZF9kYXRhCisrICAgICAgICByZXR1cm4gcmVzdWx0CisrCisrICAgIGRlZiBzeXN0 ZW0oc2VsZik6CisrICAgICAgICAiIiJHZXQgc3lzdGVtIGluZm9ybWF0aW9uIiIiCisrICAgICAg ICByZXR1cm4gc2VsZi5nZXQoc2VjdGlvbj0ic3lzdGVtIikKKysgICAgCisrICAgIGRlZiBiaW9z KHNlbGYpOgorKyAgICAgICAgIiIiR2V0IEJJT1MgaW5mb3JtYXRpb24iIiIKKysgICAgICAgIHJl dHVybiBzZWxmLmdldCh0eXBlX2lkPTApCisrICAgIAorKyAgICBkZWYgYmFzZWJvYXJkKHNlbGYp OgorKyAgICAgICAgIiIiR2V0IGJhc2Vib2FyZCBpbmZvcm1hdGlvbiIiIgorKyAgICAgICAgcmV0 dXJuIHNlbGYuZ2V0KHR5cGVfaWQ9MikKKysgICAgCisrICAgIGRlZiBjaGFzc2lzKHNlbGYpOgor KyAgICAgICAgIiIiR2V0IGNoYXNzaXMgaW5mb3JtYXRpb24iIiIKKysgICAgICAgIHJldHVybiBz ZWxmLmdldCh0eXBlX2lkPTMpCisrICAgIAorKyAgICBkZWYgcHJvY2Vzc29yKHNlbGYpOgorKyAg ICAgICAgIiIiR2V0IHByb2Nlc3NvciBpbmZvcm1hdGlvbiIiIgorKyAgICAgICAgcmV0dXJuIHNl bGYuZ2V0KHR5cGVfaWQ9NCkKKysgICAgCisrICAgIGRlZiBtZW1vcnkoc2VsZik6CisrICAgICAg ICAiIiJHZXQgbWVtb3J5IGluZm9ybWF0aW9uIiIiCisrICAgICAgICByZXR1cm4gc2VsZi5nZXQo c2VjdGlvbj0ibWVtb3J5IikKKysgICAgCisrICAgIGRlZiBtb2RlbChzZWxmKToKKysgICAgICAg ICIiIkdldCBzeXN0ZW0gbW9kZWwgaW5mb3JtYXRpb24iIiIKKysgICAgICAgIHRyeToKKysgICAg ICAgICAgICBzeXN0ZW1faW5mbyA9IHNlbGYuZ2V0KHNlY3Rpb249InN5c3RlbSIpCisrICAgICAg ICAgICAgaWYgc3lzdGVtX2luZm8gYW5kIGlzaW5zdGFuY2Uoc3lzdGVtX2luZm8sIGRpY3QpOgor KyAgICAgICAgICAgICAgICAjIFRyeSB0byBmaW5kIG1vZGVsL3Byb2R1Y3QgbmFtZSBpbiB0aGUg c3lzdGVtIGluZm8KKysgICAgICAgICAgICAgICAgIyBMb29rIGZvciBjb21tb24ga2V5cyB0aGF0 IG1pZ2h0IGNvbnRhaW4gbW9kZWwgaW5mbworKyAgICAgICAgICAgICAgICBmb3Iga2V5IGluIFsn cHJvZHVjdCcsICdtb2RlbCcsICdwcm9kdWN0X25hbWUnLCAnc3lzdGVtX3Byb2R1Y3RfbmFtZSdd OgorKyAgICAgICAgICAgICAgICAgICAgaWYga2V5IGluIHN5c3RlbV9pbmZvOgorKyAgICAgICAg ICAgICAgICAgICAgICAgIHJldHVybiBzeXN0ZW1faW5mb1trZXldCisrICAgICAgICAgICAgICAg IAorKyAgICAgICAgICAgICAgICAjIElmIGl0J3MgbmVzdGVkLCB0cnkgdG8gZmluZCBpdCBpbiBu ZXN0ZWQgc3RydWN0dXJlcworKyAgICAgICAgICAgICAgICBmb3IgdmFsdWUgaW4gc3lzdGVtX2lu Zm8udmFsdWVzKCk6CisrICAgICAgICAgICAgICAgICAgICBpZiBpc2luc3RhbmNlKHZhbHVlLCBk aWN0KToKKysgICAgICAgICAgICAgICAgICAgICAgICBmb3Igc3Via2V5IGluIFsncHJvZHVjdCcs ICdtb2RlbCcsICdwcm9kdWN0X25hbWUnXToKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAg aWYgc3Via2V5IGluIHZhbHVlOgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0 dXJuIHZhbHVlW3N1YmtleV0KKysgICAgICAgICAgICAKKysgICAgICAgICAgICByZXR1cm4gIlVu a25vd24iCisrICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CisrICAgICAgICAgICAgcHJp bnQoZiJFcnJvciBnZXR0aW5nIG1vZGVsIGluZm86IHtlfSIpCisrICAgICAgICAgICAgcmV0dXJu ICJVbmtub3duIgorKyAgICAKKysgICAgZGVmIG1hbnVmYWN0dXJlcihzZWxmKToKKysgICAgICAg ICIiIkdldCBzeXN0ZW0gbWFudWZhY3R1cmVyIiIiCisrICAgICAgICB0cnk6CisrICAgICAgICAg ICAgc3lzdGVtX2luZm8gPSBzZWxmLmdldChzZWN0aW9uPSJzeXN0ZW0iKQorKyAgICAgICAgICAg IGlmIHN5c3RlbV9pbmZvIGFuZCBpc2luc3RhbmNlKHN5c3RlbV9pbmZvLCBkaWN0KToKKysgICAg ICAgICAgICAgICAgZm9yIGtleSBpbiBbJ21hbnVmYWN0dXJlcicsICd2ZW5kb3InLCAnc3lzdGVt X21hbnVmYWN0dXJlciddOgorKyAgICAgICAgICAgICAgICAgICAgaWYga2V5IGluIHN5c3RlbV9p bmZvOgorKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzeXN0ZW1faW5mb1trZXldCisr ICAgICAgICAgICAgICAgIAorKyAgICAgICAgICAgICAgICAjIENoZWNrIG5lc3RlZCBzdHJ1Y3R1 cmVzCisrICAgICAgICAgICAgICAgIGZvciB2YWx1ZSBpbiBzeXN0ZW1faW5mby52YWx1ZXMoKToK KysgICAgICAgICAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UodmFsdWUsIGRpY3QpOgorKyAgICAg ICAgICAgICAgICAgICAgICAgIGZvciBzdWJrZXkgaW4gWydtYW51ZmFjdHVyZXInLCAndmVuZG9y J106CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIHN1YmtleSBpbiB2YWx1ZToKKysg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZVtzdWJrZXldCisrICAg ICAgICAgICAgCisrICAgICAgICAgICAgcmV0dXJuICJVbmtub3duIgorKyAgICAgICAgZXhjZXB0 IEV4Y2VwdGlvbiBhcyBlOgorKyAgICAgICAgICAgIHByaW50KGYiRXJyb3IgZ2V0dGluZyBtYW51 ZmFjdHVyZXIgaW5mbzoge2V9IikKKysgICAgICAgICAgICByZXR1cm4gIlVua25vd24iCisrICAg IAorKyAgICBkZWYgdmVyc2lvbihzZWxmKToKKysgICAgICAgICIiIkdldCBzeXN0ZW0gdmVyc2lv biIiIgorKyAgICAgICAgdHJ5OgorKyAgICAgICAgICAgIHN5c3RlbV9pbmZvID0gc2VsZi5nZXQo c2VjdGlvbj0ic3lzdGVtIikKKysgICAgICAgICAgICBpZiBzeXN0ZW1faW5mbyBhbmQgaXNpbnN0 YW5jZShzeXN0ZW1faW5mbywgZGljdCk6CisrICAgICAgICAgICAgICAgIGZvciBrZXkgaW4gWyd2 ZXJzaW9uJywgJ3N5c3RlbV92ZXJzaW9uJ106CisrICAgICAgICAgICAgICAgICAgICBpZiBrZXkg aW4gc3lzdGVtX2luZm86CisrICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHN5c3RlbV9p bmZvW2tleV0KKysgICAgICAgICAgICAgICAgCisrICAgICAgICAgICAgICAgICMgQ2hlY2sgbmVz dGVkIHN0cnVjdHVyZXMKKysgICAgICAgICAgICAgICAgZm9yIHZhbHVlIGluIHN5c3RlbV9pbmZv LnZhbHVlcygpOgorKyAgICAgICAgICAgICAgICAgICAgaWYgaXNpbnN0YW5jZSh2YWx1ZSwgZGlj dCk6CisrICAgICAgICAgICAgICAgICAgICAgICAgaWYgJ3ZlcnNpb24nIGluIHZhbHVlOgorKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWVbJ3ZlcnNpb24nXQorKyAgICAg ICAgICAgIAorKyAgICAgICAgICAgIHJldHVybiAiVW5rbm93biIKKysgICAgICAgIGV4Y2VwdCBF eGNlcHRpb24gYXMgZToKKysgICAgICAgICAgICBwcmludChmIkVycm9yIGdldHRpbmcgdmVyc2lv biBpbmZvOiB7ZX0iKQorKyAgICAgICAgICAgIHJldHVybiAiVW5rbm93biIKKysgICAgCisrICAg IGRlZiBzZXJpYWwoc2VsZik6CisrICAgICAgICAiIiJHZXQgc3lzdGVtIHNlcmlhbCBudW1iZXIi IiIKKysgICAgICAgIHRyeToKKysgICAgICAgICAgICBzeXN0ZW1faW5mbyA9IHNlbGYuZ2V0KHNl Y3Rpb249InN5c3RlbSIpCisrICAgICAgICAgICAgaWYgc3lzdGVtX2luZm8gYW5kIGlzaW5zdGFu Y2Uoc3lzdGVtX2luZm8sIGRpY3QpOgorKyAgICAgICAgICAgICAgICBmb3Iga2V5IGluIFsnc2Vy aWFsJywgJ3NlcmlhbF9udW1iZXInLCAnc3lzdGVtX3NlcmlhbCddOgorKyAgICAgICAgICAgICAg ICAgICAgaWYga2V5IGluIHN5c3RlbV9pbmZvOgorKyAgICAgICAgICAgICAgICAgICAgICAgIHJl dHVybiBzeXN0ZW1faW5mb1trZXldCisrICAgICAgICAgICAgICAgIAorKyAgICAgICAgICAgICAg ICAjIENoZWNrIG5lc3RlZCBzdHJ1Y3R1cmVzCisrICAgICAgICAgICAgICAgIGZvciB2YWx1ZSBp biBzeXN0ZW1faW5mby52YWx1ZXMoKToKKysgICAgICAgICAgICAgICAgICAgIGlmIGlzaW5zdGFu Y2UodmFsdWUsIGRpY3QpOgorKyAgICAgICAgICAgICAgICAgICAgICAgIGZvciBzdWJrZXkgaW4g WydzZXJpYWwnLCAnc2VyaWFsX251bWJlciddOgorKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICBpZiBzdWJrZXkgaW4gdmFsdWU6CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBy ZXR1cm4gdmFsdWVbc3Via2V5XQorKyAgICAgICAgICAgIAorKyAgICAgICAgICAgIHJldHVybiAi VW5rbm93biIKKysgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKysgICAgICAgICAgICBw cmludChmIkVycm9yIGdldHRpbmcgc2VyaWFsIGluZm86IHtlfSIpCisrICAgICAgICAgICAgcmV0 dXJuICJVbmtub3duIgorKyAgICAKKysgICAgZGVmIGNwdV90eXBlKHNlbGYpOgorKyAgICAgICAg IiIiR2V0IENQVSB0eXBlL21vZGVsIGluZm9ybWF0aW9uIiIiCisrICAgICAgICB0cnk6CisrICAg ICAgICAgICAgIyBUcnkgcHJvY2Vzc29yIHNlY3Rpb24gZmlyc3QKKysgICAgICAgICAgICBwcm9j X2luZm8gPSBzZWxmLmdldCh0eXBlX2lkPTQpICAjIFR5cGUgNCBpcyBwcm9jZXNzb3IKKysgICAg ICAgICAgICBpZiBwcm9jX2luZm8gYW5kIGlzaW5zdGFuY2UocHJvY19pbmZvLCBkaWN0KToKKysg ICAgICAgICAgICAgICAgIyBMb29rIGZvciBDUFUgbW9kZWwvdHlwZSBpbmZvCisrICAgICAgICAg ICAgICAgIGZvciBrZXkgaW4gWyd2ZXJzaW9uJywgJ21vZGVsJywgJ25hbWUnLCAncHJvY2Vzc29y X3ZlcnNpb24nLCAncHJvY2Vzc29yX25hbWUnXToKKysgICAgICAgICAgICAgICAgICAgIGlmIGtl eSBpbiBwcm9jX2luZm86CisrICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHByb2NfaW5m b1trZXldCisrICAgICAgICAgICAgICAgIAorKyAgICAgICAgICAgICAgICAjIENoZWNrIG5lc3Rl ZCBzdHJ1Y3R1cmVzCisrICAgICAgICAgICAgICAgIGZvciB2YWx1ZSBpbiBwcm9jX2luZm8udmFs dWVzKCk6CisrICAgICAgICAgICAgICAgICAgICBpZiBpc2luc3RhbmNlKHZhbHVlLCBkaWN0KToK KysgICAgICAgICAgICAgICAgICAgICAgICBmb3Igc3Via2V5IGluIFsndmVyc2lvbicsICdtb2Rl bCcsICduYW1lJ106CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIHN1YmtleSBpbiB2 YWx1ZToKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZVtzdWJr ZXldCisrICAgICAgICAgICAgCisrICAgICAgICAgICAgIyBJZiB0aGF0IGZhaWxzLCB0cnkgYSBk aWZmZXJlbnQgYXBwcm9hY2gKKysgICAgICAgICAgICByZXR1cm4gIlVua25vd24iCisrICAgICAg ICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CisrICAgICAgICAgICAgcHJpbnQoZiJFcnJvciBnZXR0 aW5nIENQVSB0eXBlOiB7ZX0iKQorKyAgICAgICAgICAgIHJldHVybiAiVW5rbm93biIKKysgICAg CisrICAgIGRlZiBjcHUoc2VsZik6CisrICAgICAgICAiIiJBbGlhcyBmb3IgY3B1X3R5cGUoKSBm b3IgY29tcGF0aWJpbGl0eSIiIgorKyAgICAgICAgcmV0dXJuIHNlbGYuY3B1X3R5cGUoKQorIAor LSAgICAgICAgcmV0dXJuIHJldAorKyMgRXhhbXBsZSB1c2FnZSBmdW5jdGlvbnMKKytkZWYgZ2V0 X3N5c3RlbV9pbmZvKCk6CisrICAgICIiIgorKyAgICBHZXQgc3lzdGVtIGluZm9ybWF0aW9uIGFz IGEgY29udmVuaWVudCBkaWN0aW9uYXJ5CisrICAgICIiIgorKyAgICB0cnk6CisrICAgICAgICBy b290ID0gcXVlcnlfc2VjdGlvbigic3lzdGVtIikKKysgICAgICAgIGlmIHJvb3QgaXMgTm9uZToK KysgICAgICAgICAgICByZXR1cm4gTm9uZQorKyAgICAgICAgCisrICAgICAgICBzeXN0ZW1faW5m byA9IHt9CisrICAgICAgICAKKysgICAgICAgICMgRXh0cmFjdCBjb21tb24gc3lzdGVtIGluZm9y bWF0aW9uCisrICAgICAgICBmb3IgZWxlbSBpbiByb290Lml0ZXIoKToKKysgICAgICAgICAgICBp ZiBlbGVtLnRhZyA9PSAibWFudWZhY3R1cmVyIjoKKysgICAgICAgICAgICAgICAgc3lzdGVtX2lu Zm9bIm1hbnVmYWN0dXJlciJdID0gZWxlbS50ZXh0CisrICAgICAgICAgICAgZWxpZiBlbGVtLnRh ZyA9PSAicHJvZHVjdCI6CisrICAgICAgICAgICAgICAgIHN5c3RlbV9pbmZvWyJwcm9kdWN0Il0g PSBlbGVtLnRleHQKKysgICAgICAgICAgICBlbGlmIGVsZW0udGFnID09ICJ2ZXJzaW9uIjoKKysg ICAgICAgICAgICAgICAgc3lzdGVtX2luZm9bInZlcnNpb24iXSA9IGVsZW0udGV4dAorKyAgICAg ICAgICAgIGVsaWYgZWxlbS50YWcgPT0gInNlcmlhbCI6CisrICAgICAgICAgICAgICAgIHN5c3Rl bV9pbmZvWyJzZXJpYWwiXSA9IGVsZW0udGV4dAorKyAgICAgICAgICAgIGVsaWYgZWxlbS50YWcg PT0gInV1aWQiOgorKyAgICAgICAgICAgICAgICBzeXN0ZW1faW5mb1sidXVpZCJdID0gZWxlbS50 ZXh0CisrICAgICAgICAgICAgZWxpZiBlbGVtLnRhZyA9PSAiZmFtaWx5IjoKKysgICAgICAgICAg ICAgICAgc3lzdGVtX2luZm9bImZhbWlseSJdID0gZWxlbS50ZXh0CisrICAgICAgICAKKysgICAg ICAgIHJldHVybiBzeXN0ZW1faW5mbworKyAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CisrICAg ICAgICBwcmludChmIkVycm9yIGdldHRpbmcgc3lzdGVtIGluZm86IHtlfSIpCisrICAgICAgICBy ZXR1cm4gTm9uZQorIAorK2RlZiBnZXRfbWVtb3J5X2luZm8oKToKKysgICAgIiIiCisrICAgIEdl dCBtZW1vcnkgaW5mb3JtYXRpb24gYXMgYSBsaXN0IG9mIG1lbW9yeSBtb2R1bGVzCisrICAgICIi IgorKyAgICB0cnk6CisrICAgICAgICByb290ID0gcXVlcnlfc2VjdGlvbigibWVtb3J5IikKKysg ICAgICAgIGlmIHJvb3QgaXMgTm9uZToKKysgICAgICAgICAgICByZXR1cm4gTm9uZQorKyAgICAg ICAgCisrICAgICAgICBtZW1vcnlfbW9kdWxlcyA9IFtdCisrICAgICAgICAKKysgICAgICAgICMg VGhpcyBpcyBhIHNpbXBsaWZpZWQgZXhhbXBsZSAtIHlvdSdkIG5lZWQgdG8gYWRqdXN0IGJhc2Vk IG9uIGFjdHVhbCBYTUwgc3RydWN0dXJlCisrICAgICAgICBmb3IgZGV2aWNlIGluIHJvb3QuZmlu ZGFsbCgiLi8vbWVtb3J5X2RldmljZSIpOgorKyAgICAgICAgICAgIG1vZHVsZSA9IHt9CisrICAg ICAgICAgICAgZm9yIGNoaWxkIGluIGRldmljZToKKysgICAgICAgICAgICAgICAgbW9kdWxlW2No aWxkLnRhZ10gPSBjaGlsZC50ZXh0CisrICAgICAgICAgICAgbWVtb3J5X21vZHVsZXMuYXBwZW5k KG1vZHVsZSkKKysgICAgICAgIAorKyAgICAgICAgcmV0dXJuIG1lbW9yeV9tb2R1bGVzCisrICAg IGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKysgICAgICAgIHByaW50KGYiRXJyb3IgZ2V0dGluZyBt ZW1vcnkgaW5mbzoge2V9IikKKysgICAgICAgIHJldHVybiBOb25lCisKK2RpZmYgLS1naXQgYS9z cmMvZG1pZGVjb2RlbW9kdWxlLmMgYi9zcmMvZG1pZGVjb2RlbW9kdWxlLmMKK2luZGV4IGVmYTcz MGIuLjJiM2Y2N2YgMTAwNjQ0CistLS0gYS9zcmMvZG1pZGVjb2RlbW9kdWxlLmMKKysrKyBiL3Ny Yy9kbWlkZWNvZGVtb2R1bGUuYworQEAgLTQyLDggKzQyLDYgQEAKKyAjaW5jbHVkZSA8UHl0aG9u Lmg+CisgCisgI2luY2x1ZGUgPGxpYnhtbC90cmVlLmg+CistI2luY2x1ZGUgImxpYnhtbF93cmFw LmgiCistCisgI2luY2x1ZGUgImRtaWRlY29kZW1vZHVsZS5oIgorICNpbmNsdWRlICJkbWl4bWwu aCIKKyAjaW5jbHVkZSAiZG1pZXJyb3IuaCIKK0BAIC00MzEsNiArNDI5LDcgQEAgeG1sTm9kZSAq X19kbWlkZWNvZGVfeG1sX2dldHNlY3Rpb24ob3B0aW9ucyAqb3B0LCBjb25zdCBjaGFyICpzZWN0 aW9uKSB7CisgCisgICAgICAgICBkbWl4bWxfbiA9IHhtbE5ld05vZGUoTlVMTCwgKHhtbENoYXIg KikgImRtaWRlY29kZSIpOworICAgICAgICAgYXNzZXJ0KCBkbWl4bWxfbiAhPSBOVUxMICk7Cisr CisgICAgICAgICAvLyBBcHBlbmQgRE1JIHZlcnNpb24gaW5mbworICAgICAgICAgaWYoIG9wdC0+ ZG1pdmVyc2lvbl9uICE9IE5VTEwgKSB7CisgICAgICAgICAgICAgICAgIHhtbEFkZENoaWxkKGRt aXhtbF9uLCB4bWxDb3B5Tm9kZShvcHQtPmRtaXZlcnNpb25fbiwgMSkpOworQEAgLTQzOSw3ICs0 MzgsNiBAQCB4bWxOb2RlICpfX2RtaWRlY29kZV94bWxfZ2V0c2VjdGlvbihvcHRpb25zICpvcHQs IGNvbnN0IGNoYXIgKnNlY3Rpb24pIHsKKyAgICAgICAgIC8vIEZldGNoIHRoZSBNYXBwaW5nIFhN TCBmaWxlCisgICAgICAgICBpZiggKGdyb3VwX24gPSBsb2FkX21hcHBpbmd4bWwob3B0KSkgPT0g TlVMTCkgeworICAgICAgICAgICAgICAgICB4bWxGcmVlTm9kZShkbWl4bWxfbik7CistICAgICAg ICAgICAgICAgIC8vIEV4Y2VwdGlvbiBhbHJlYWR5IHNldCBieSBjYWxsaW5nIGZ1bmN0aW9uCisg ICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICAgfQorIAorQEAgLTQ2OCwzNiAr NDY2LDM1IEBAIHhtbE5vZGUgKl9fZG1pZGVjb2RlX3htbF9nZXRzZWN0aW9uKG9wdGlvbnMgKm9w dCwgY29uc3QgY2hhciAqc2VjdGlvbikgeworICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRp bnVlOworICAgICAgICAgICAgICAgICB9CisgCistICAgICAgICAgICAgICAgIC8vIFRoZSBjaGls ZHJlbiBvZiA8TWFwcGluZz4gdGFncyBtdXN0IG9ubHkgYmUgPFR5cGVNYXA+IGFuZAorLSAgICAg ICAgICAgICAgICAvLyB0aGV5IG11c3QgaGF2ZSBhbiAnaWQnIGF0dHJpYnV0ZQorICAgICAgICAg ICAgICAgICBpZiggKHR5cGVpZCA9PSBOVUxMKSB8fCAoeG1sU3RyY21wKGdyb3VwX24tPm5hbWUs ICh4bWxDaGFyICopICJUeXBlTWFwIikgIT0gMCkgKSB7CisgICAgICAgICAgICAgICAgICAgICAg ICAgUHlSZXR1cm5FcnJvcihQeUV4Y19SdW50aW1lRXJyb3IsICJJbnZhbGlkIFR5cGVNYXAgbm9k ZSBpbiBtYXBwaW5nIFhNTCIpOworICAgICAgICAgICAgICAgICB9CisgCistICAgICAgICAgICAg ICAgIC8vIFBhcnNlIHRoZSB0eXBlaWQgc3RyaW5nIHRvIGEgYW4gaW50ZWdlcgorICAgICAgICAg ICAgICAgICBvcHQtPnR5cGUgPSBwYXJzZV9vcHRfdHlwZShvcHQtPmxvZ2RhdGEsIHR5cGVpZCk7 CisgICAgICAgICAgICAgICAgIGlmKG9wdC0+dHlwZSA9PSAtMSkgeworICAgICAgICAgICAgICAg ICAgICAgICAgIGNoYXIgKmVyciA9IGxvZ19yZXRyaWV2ZShvcHQtPmxvZ2RhdGEsIExPR19FUlIp OworICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ19jbGVhcl9wYXJ0aWFsKG9wdC0+bG9nZGF0 YSwgTE9HX0VSUiwgMCk7CistICAgICAgICAgICAgICAgICAgICAgICAgX3B5UmV0dXJuRXJyb3Io UHlFeGNfUnVudGltZUVycm9yLCAiSW52YWxpZCB0eXBlIGlkICclcycgLS0gJXMiLCB0eXBlaWQs IGVycik7CisrICAgICAgICAgICAgICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1J1bnRp bWVFcnJvciwgIkludmFsaWQgdHlwZSBpZCAnJXMnIC0tICVzIiwgdHlwZWlkLCBlcnIpOworICAg ICAgICAgICAgICAgICAgICAgICAgIGZyZWUoZXJyKTsKKyAgICAgICAgICAgICAgICAgICAgICAg ICByZXR1cm4gTlVMTDsKKyAgICAgICAgICAgICAgICAgfQorIAorLSAgICAgICAgICAgICAgICAv LyBQYXJzZSB0aGUgRE1JIGRhdGEgYW5kIHB1dCB0aGUgcmVzdWx0IGludG8gZG1peG1sX24gbm9k ZSBjaGFpbi4KKyAgICAgICAgICAgICAgICAgaWYoIGRtaWRlY29kZV9nZXRfeG1sKG9wdCwgZG1p eG1sX24pICE9IDAgKSB7CistICAgICAgICAgICAgICAgICAgICAgICAgUHlSZXR1cm5FcnJvcihQ eUV4Y19SdW50aW1lRXJyb3IsICJFcnJvciBkZWNvZGluZyBETUkgZGF0YSIpOworKyAgICAgICAg ICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICAgICAgICAgICB9CisgICAgICAg ICB9CisrCisgI2lmIDAgIC8vIERFQlVHIC0gd2lsbCBkdW1wIGdlbmVyYXRlZCBYTUwgdG8gc3Rk b3V0CisgICAgICAgICB4bWxEb2MgKmRvYyA9IHhtbE5ld0RvYygoeG1sQ2hhciAqKSAiMS4wIik7 CisgICAgICAgICB4bWxEb2NTZXRSb290RWxlbWVudChkb2MsIHhtbENvcHlOb2RlKGRtaXhtbF9u LCAxKSk7CisgICAgICAgICB4bWxTYXZlRm9ybWF0RmlsZUVuYygiLSIsIGRvYywgIlVURi04Iiwg MSk7CisgICAgICAgICB4bWxGcmVlRG9jKGRvYyk7CisgI2VuZGlmCisrCisgICAgICAgICByZXR1 cm4gZG1peG1sX247CisgfQorIAorKworIHN0YXRpYyBQeU9iamVjdCAqZG1pZGVjb2RlX2dldF9n cm91cChvcHRpb25zICpvcHQsIGNvbnN0IGNoYXIgKnNlY3Rpb24pCisgeworIAlpbnQgZWZpOwor QEAgLTY5Miw3MyArNjg5LDEyNyBAQCBzdGF0aWMgUHlPYmplY3QgKmRtaWRlY29kZV9nZXRfdHlw ZShQeU9iamVjdCAqIHNlbGYsIFB5T2JqZWN0ICogYXJncykKKyAKKyBzdGF0aWMgUHlPYmplY3Qg KmRtaWRlY29kZV94bWxhcGkoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVj dCAqa2V5d2RzKQorIHsKKy0gICAgICAgIHN0YXRpYyBjaGFyICprZXl3b3JkbGlzdFtdID0geyJx dWVyeV90eXBlIiwgInJlc3VsdF90eXBlIiwgInNlY3Rpb24iLCAidHlwZWlkIiwgTlVMTH07Cist ICAgICAgICBQeU9iamVjdCAqcHlkYXRhID0gTlVMTDsKKy0gICAgICAgIHhtbERvYyAqZG1peG1s X2RvYyA9IE5VTEw7CistICAgICAgICB4bWxOb2RlICpkbWl4bWxfbiA9IE5VTEw7CistICAgICAg ICBjaGFyICpzZWN0X3F1ZXJ5ID0gTlVMTCwgKnF0eXBlID0gTlVMTCwgKnJ0eXBlID0gTlVMTDsK Ky0gICAgICAgIGludCB0eXBlX3F1ZXJ5ID0gLTE7CisrICAgIHN0YXRpYyBjaGFyICprZXl3b3Jk bGlzdFtdID0geyJxdWVyeV90eXBlIiwgInJlc3VsdF90eXBlIiwgInNlY3Rpb24iLCAidHlwZWlk IiwgTlVMTH07CisrICAgIFB5T2JqZWN0ICpweWRhdGEgPSBOVUxMOworKyAgICB4bWxEb2MgKmRt aXhtbF9kb2MgPSBOVUxMOworKyAgICB4bWxOb2RlICpkbWl4bWxfbiA9IE5VTEw7CisrICAgIGNo YXIgKnNlY3RfcXVlcnkgPSBOVUxMLCAqcXR5cGUgPSBOVUxMLCAqcnR5cGUgPSBOVUxMOworKyAg ICBpbnQgdHlwZV9xdWVyeSA9IC0xOworKyAgICB4bWxCdWZmZXIgKmJ1ZmZlciA9IE5VTEw7Cisr ICAgIHhtbENoYXIgKnhtbF9zdHJpbmcgPSBOVUxMOworKyAgICBpbnQgeG1sX3NpemUgPSAwOwor KworKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrZXl3ZHMsICJz c3xzaSIsIGtleXdvcmRsaXN0LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAmcXR5cGUsICZydHlwZSwgJnNlY3RfcXVlcnksICZ0eXBlX3F1ZXJ5KSkKKysgICAgICAgIHJl dHVybiBOVUxMOworKworKyAgICBpZiAoIXF0eXBlIHx8ICFydHlwZSkgeworKyAgICAgICAgUHlF cnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgInF1ZXJ5X3R5cGUgYW5kIHJlc3VsdF90eXBl IGNhbm5vdCBiZSBOVUxMIik7CisrICAgICAgICByZXR1cm4gTlVMTDsKKysgICAgfQorKworKyAg ICBzd2l0Y2ggKCpxdHlwZSkgeworKyAgICAgICAgY2FzZSAncyc6CisrICAgICAgICAgICAgaWYg KCFzZWN0X3F1ZXJ5KSB7CisrICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19U eXBlRXJyb3IsICJzZWN0aW9uIGtleXdvcmQgY2Fubm90IGJlIE5VTEwiKTsKKysgICAgICAgICAg ICAgICAgcmV0dXJuIE5VTEw7CisrICAgICAgICAgICAgfQorKyAgICAgICAgICAgIGRtaXhtbF9u ID0gX19kbWlkZWNvZGVfeG1sX2dldHNlY3Rpb24oZ2xvYmFsX29wdGlvbnMsIHNlY3RfcXVlcnkp OworKyAgICAgICAgICAgIGlmICghZG1peG1sX24pIHsKKysgICAgICAgICAgICAgICAgUHlFcnJf Rm9ybWF0KFB5RXhjX1J1bnRpbWVFcnJvciwgIkRNSSBzZWN0aW9uICclcycgcmV0dXJuZWQgTlVM TCAtIHBvc3NpYmx5IHVuc3VwcG9ydGVkIG9yIGJhZCBwZXJtaXNzaW9ucyIsIHNlY3RfcXVlcnkp OworKyAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKysgICAgICAgICAgICB9CisrICAgICAg ICAgICAgYnJlYWs7CisrICAgICAgICBjYXNlICd0JzoKKysgICAgICAgICAgICBpZiAodHlwZV9x dWVyeSA8IDApIHsKKysgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVF cnJvciwgInR5cGVpZCBrZXl3b3JkIG11c3QgYmUgc2V0IGFuZCBwb3NpdGl2ZSBpbnRlZ2VyIik7 CisrICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworKyAgICAgICAgICAgIH0KKysgICAgICAg ICAgICBpZiAodHlwZV9xdWVyeSA+IDI1NSkgeworKyAgICAgICAgICAgICAgICBQeUVycl9TZXRT dHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgInR5cGVpZCBtdXN0IGJlIGJldHdlZW4gMCBhbmQgMjU1 Iik7CisrICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworKyAgICAgICAgICAgIH0KKysgICAg ICAgICAgICBkbWl4bWxfbiA9IF9fZG1pZGVjb2RlX3htbF9nZXR0eXBlaWQoZ2xvYmFsX29wdGlv bnMsIHR5cGVfcXVlcnkpOworKyAgICAgICAgICAgIGlmICghZG1peG1sX24pIHsKKysgICAgICAg ICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1J1bnRpbWVFcnJvciwgIkRNSSB0eXBlICclZCcg cmV0dXJuZWQgTlVMTCAtIHBvc3NpYmx5IHVuc3VwcG9ydGVkIG9yIGJhZCBwZXJtaXNzaW9ucyIs IHR5cGVfcXVlcnkpOworKyAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKysgICAgICAgICAg ICB9CisrICAgICAgICAgICAgYnJlYWs7CisrICAgICAgICBkZWZhdWx0OgorKyAgICAgICAgICAg IFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsICJJbnZhbGlkIHF1ZXJ5IHR5cGUgJyVjJyAt IG11c3QgYmUgJ3MnIG9yICd0JyIsICpxdHlwZSk7CisrICAgICAgICAgICAgcmV0dXJuIE5VTEw7 CisrICAgIH0KKysKKysgICAgaWYgKCFkbWl4bWxfbikgLy8gZWtzdHJhIGtvbnRyb2wsIHphdGVu IGhhdGEgc2V0IGVkaWxkaQorKyAgICAgICAgcmV0dXJuIE5VTEw7CisgCistICAgICAgICAvLyBQ YXJzZSB0aGUga2V5d29yZHMgLSB3ZSBvbmx5IHN1cHBvcnQga2V5d29yZHMsIGFzIHRoaXMgaXMg YW4gaW50ZXJuYWwgQVBJCistICAgICAgICBpZiggIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3Jk cyhhcmdzLCBrZXl3ZHMsICJzc3xzaSIsIGtleXdvcmRsaXN0LAorLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJnF0eXBlLCAmcnR5cGUsICZzZWN0X3F1ZXJ5LCAmdHlw ZV9xdWVyeSkgKSB7CisrICAgIHN3aXRjaCAoKnJ0eXBlKSB7CisrICAgICAgICBjYXNlICduJzog Ly8gWE1MIG5vZGUgc3RyaW5nCisrICAgICAgICAgICAgYnVmZmVyID0geG1sQnVmZmVyQ3JlYXRl KCk7CisrICAgICAgICAgICAgaWYgKCFidWZmZXIpIHsKKysgICAgICAgICAgICAgICAgeG1sRnJl ZU5vZGUoZG1peG1sX24pOworKyAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNf TWVtb3J5RXJyb3IsICJDb3VsZCBub3QgY3JlYXRlIFhNTCBidWZmZXIiKTsKKyAgICAgICAgICAg ICAgICAgcmV0dXJuIE5VTEw7CistICAgICAgICB9CisrICAgICAgICAgICAgfQorIAorLSAgICAg ICAgLy8gQ2hlY2sgZm9yIHNlbnNpYmxlIGFyZ3VtZW50cyBhbmQgcmV0cmlldmUgdGhlIHhtbE5v ZGUgd2l0aCBETUkgZGF0YQorLSAgICAgICAgc3dpdGNoKCAqcXR5cGUgKSB7CistICAgICAgICBj YXNlICdzJzogLy8gU2VjdGlvbiAvIEdyb3VwTmFtZQorLSAgICAgICAgICAgICAgICBpZiggc2Vj dF9xdWVyeSA9PSBOVUxMICkgeworLSAgICAgICAgICAgICAgICAgICAgICAgIFB5UmV0dXJuRXJy b3IoUHlFeGNfVHlwZUVycm9yLCAic2VjdGlvbiBrZXl3b3JkIGNhbm5vdCBiZSBOVUxMIikKKy0g ICAgICAgICAgICAgICAgfQorLSAgICAgICAgICAgICAgICBkbWl4bWxfbiA9IF9fZG1pZGVjb2Rl X3htbF9nZXRzZWN0aW9uKGdsb2JhbF9vcHRpb25zLCBzZWN0X3F1ZXJ5KTsKKy0gICAgICAgICAg ICAgICAgYnJlYWs7CistCistICAgICAgICBjYXNlICd0JzogLy8gVHlwZUlEIC8gZGlyZWN0IFR5 cGVNYXAKKy0gICAgICAgICAgICAgICAgaWYoIHR5cGVfcXVlcnkgPCAwICkgeworLSAgICAgICAg ICAgICAgICAgICAgICAgIFB5UmV0dXJuRXJyb3IoUHlFeGNfVHlwZUVycm9yLAorLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGVpZCBrZXl3b3JkIG11c3QgYmUgc2V0 IGFuZCBtdXN0IGJlIGEgcG9zaXRpdmUgaW50ZWdlciIpOworLSAgICAgICAgICAgICAgICB9IGVs c2UgaWYoIHR5cGVfcXVlcnkgPiAyNTUgKSB7CistICAgICAgICAgICAgICAgICAgICAgICAgUHlS ZXR1cm5FcnJvcihQeUV4Y19WYWx1ZUVycm9yLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgInR5cGVpZCBrZXl3b3JkIG11c3QgYmUgYW4gaW50ZWdlciBiZXR3ZWVuIDAg YW5kIDI1NSIpOworLSAgICAgICAgICAgICAgICB9CistICAgICAgICAgICAgICAgIGRtaXhtbF9u ID0gX19kbWlkZWNvZGVfeG1sX2dldHR5cGVpZChnbG9iYWxfb3B0aW9ucywgdHlwZV9xdWVyeSk7 CistICAgICAgICAgICAgICAgIGJyZWFrOworKyAgICAgICAgICAgIGlmICh4bWxOb2RlRHVtcChi dWZmZXIsIGRtaXhtbF9uLT5kb2MsIGRtaXhtbF9uLCAwLCAxKSA8IDApIHsKKysgICAgICAgICAg ICAgICAgeG1sQnVmZmVyRnJlZShidWZmZXIpOworKyAgICAgICAgICAgICAgICB4bWxGcmVlTm9k ZShkbWl4bWxfbik7CisrICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19SdW50 aW1lRXJyb3IsICJDb3VsZCBub3QgZHVtcCBYTUwgbm9kZSB0byBidWZmZXIiKTsKKysgICAgICAg ICAgICAgICAgcmV0dXJuIE5VTEw7CisrICAgICAgICAgICAgfQorIAorLSAgICAgICAgZGVmYXVs dDoKKy0gICAgICAgICAgICAgICAgUHlSZXR1cm5FcnJvcihQeUV4Y19UeXBlRXJyb3IsICJJbnRl cm5hbCBlcnJvciAtIGludmFsaWQgcXVlcnkgdHlwZSAnJWMnIiwgKnF0eXBlKTsKKy0gICAgICAg IH0KKysgICAgICAgICAgICBweWRhdGEgPSBQeVVuaWNvZGVfRnJvbVN0cmluZygoY29uc3QgY2hh ciAqKXhtbEJ1ZmZlckNvbnRlbnQoYnVmZmVyKSk7CisrICAgICAgICAgICAgeG1sQnVmZmVyRnJl ZShidWZmZXIpOworKyAgICAgICAgICAgIHhtbEZyZWVOb2RlKGRtaXhtbF9uKTsKKysgICAgICAg ICAgICBicmVhazsKKyAKKy0gICAgICAgIC8vIENoZWNrIGlmIHdlIGdvdCBhbnkgZGF0YQorLSAg ICAgICAgaWYoIGRtaXhtbF9uID09IE5VTEwgKSB7CistICAgICAgICAgICAgICAgIC8vIEV4Y2Vw dGlvbiBhbHJlYWR5IHNldAorKyAgICAgICAgY2FzZSAnZCc6IC8vIEZ1bGwgWE1MIGRvY3VtZW50 IHN0cmluZworKyAgICAgICAgICAgIGRtaXhtbF9kb2MgPSB4bWxOZXdEb2MoKHhtbENoYXIgKiki MS4wIik7CisrICAgICAgICAgICAgaWYgKCFkbWl4bWxfZG9jKSB7CisrICAgICAgICAgICAgICAg IHhtbEZyZWVOb2RlKGRtaXhtbF9uKTsKKysgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5n KFB5RXhjX01lbW9yeUVycm9yLCAiQ291bGQgbm90IGNyZWF0ZSBuZXcgWE1MIGRvY3VtZW50Iik7 CisgICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworLSAgICAgICAgfQorKyAgICAgICAgICAg IH0KKyAKKy0gICAgICAgIC8vIENoZWNrIGZvciBzZW5zaWJsZSByZXR1cm4gdHlwZSBhbmQgd3Jh cCB0aGUgY29ycmVjdCB0eXBlIGludG8gYSBQeXRob24gT2JqZWN0CistICAgICAgICBzd2l0Y2go ICpydHlwZSApIHsKKy0gICAgICAgIGNhc2UgJ24nOgorLSAgICAgICAgICAgICAgICBweWRhdGEg PSBsaWJ4bWxfeG1sTm9kZVB0cldyYXAoKHhtbE5vZGUgKikgZG1peG1sX24pOworLSAgICAgICAg ICAgICAgICBicmVhazsKKysgICAgICAgICAgICB4bWxOb2RlICpyb290X25vZGUgPSB4bWxDb3B5 Tm9kZShkbWl4bWxfbiwgMSk7CisrICAgICAgICAgICAgaWYgKCFyb290X25vZGUpIHsKKysgICAg ICAgICAgICAgICAgeG1sRnJlZURvYyhkbWl4bWxfZG9jKTsKKysgICAgICAgICAgICAgICAgeG1s RnJlZU5vZGUoZG1peG1sX24pOworKyAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlF eGNfTWVtb3J5RXJyb3IsICJDb3VsZCBub3QgY29weSBYTUwgbm9kZSIpOworKyAgICAgICAgICAg ICAgICByZXR1cm4gTlVMTDsKKysgICAgICAgICAgICB9CisgCistICAgICAgICBjYXNlICdkJzoK Ky0gICAgICAgICAgICAgICAgZG1peG1sX2RvYyA9IHhtbE5ld0RvYygoeG1sQ2hhciAqKSAiMS4w Iik7CistICAgICAgICAgICAgICAgIGlmKCBkbWl4bWxfZG9jID09IE5VTEwgKSB7CistICAgICAg ICAgICAgICAgICAgICAgICAgUHlSZXR1cm5FcnJvcihQeUV4Y19NZW1vcnlFcnJvciwgIkNvdWxk IG5vdCBjcmVhdGUgbmV3IFhNTCBkb2N1bWVudCIpOworLSAgICAgICAgICAgICAgICB9CistICAg ICAgICAgICAgICAgIHhtbERvY1NldFJvb3RFbGVtZW50KGRtaXhtbF9kb2MsIGRtaXhtbF9uKTsK Ky0gICAgICAgICAgICAgICAgcHlkYXRhID0gbGlieG1sX3htbERvY1B0cldyYXAoKHhtbERvYyAq KSBkbWl4bWxfZG9jKTsKKy0gICAgICAgICAgICAgICAgYnJlYWs7CisrICAgICAgICAgICAgeG1s RG9jU2V0Um9vdEVsZW1lbnQoZG1peG1sX2RvYywgcm9vdF9ub2RlKTsKKysKKysgICAgICAgICAg ICB4bWxEb2NEdW1wTWVtb3J5KGRtaXhtbF9kb2MsICZ4bWxfc3RyaW5nLCAmeG1sX3NpemUpOwor KyAgICAgICAgICAgIGlmICgheG1sX3N0cmluZykgeworKyAgICAgICAgICAgICAgICB4bWxGcmVl RG9jKGRtaXhtbF9kb2MpOworKyAgICAgICAgICAgICAgICB4bWxGcmVlTm9kZShkbWl4bWxfbik7 CisrICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19SdW50aW1lRXJyb3IsICJD b3VsZCBub3QgZHVtcCBYTUwgZG9jdW1lbnQgdG8gbWVtb3J5Iik7CisrICAgICAgICAgICAgICAg IHJldHVybiBOVUxMOworKyAgICAgICAgICAgIH0KKysKKysgICAgICAgICAgICBweWRhdGEgPSBQ eVVuaWNvZGVfRnJvbVN0cmluZygoY29uc3QgY2hhciAqKXhtbF9zdHJpbmcpOworKworKyAgICAg ICAgICAgIHhtbEZyZWUoeG1sX3N0cmluZyk7CisrICAgICAgICAgICAgeG1sRnJlZURvYyhkbWl4 bWxfZG9jKTsKKysgICAgICAgICAgICB4bWxGcmVlTm9kZShkbWl4bWxfbik7CisrICAgICAgICAg ICAgYnJlYWs7CisgCisgICAgICAgICBkZWZhdWx0OgorLSAgICAgICAgICAgICAgICBQeVJldHVy bkVycm9yKFB5RXhjX1R5cGVFcnJvciwgIkludGVybmFsIGVycm9yIC0gaW52YWxpZCByZXN1bHQg dHlwZSAnJWMnIiwgKnJ0eXBlKTsKKy0gICAgICAgIH0KKysgICAgICAgICAgICB4bWxGcmVlTm9k ZShkbWl4bWxfbik7CisrICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwg IkludmFsaWQgcmVzdWx0IHR5cGUgJyVjJyAtIG11c3QgYmUgJ24nIG9yICdkJyIsICpydHlwZSk7 CisrICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisrICAgIH0KKyAKKy0gICAgICAgIC8vIFJldHVy biBYTUwgZGF0YQorLSAgICAgICAgUHlfSU5DUkVGKHB5ZGF0YSk7CistICAgICAgICByZXR1cm4g cHlkYXRhOworLX0KKysgICAgaWYgKCFweWRhdGEpIHsKKysgICAgICAgIFB5RXJyX1NldFN0cmlu ZyhQeUV4Y19SdW50aW1lRXJyb3IsICJDb3VsZCBub3QgY3JlYXRlIFB5dGhvbiBzdHJpbmcgZnJv bSBYTUwgZGF0YSIpOworKyAgICAgICAgcmV0dXJuIE5VTEw7CisrICAgIH0KKyAKKysgICAgcmV0 dXJuIHB5ZGF0YTsKKyt9CisgCisgCisgc3RhdGljIFB5T2JqZWN0ICpkbWlkZWNvZGVfZHVtcChQ eU9iamVjdCAqIHNlbGYsIFB5T2JqZWN0ICogbnVsbCkKK0BAIC05MTMsOCArOTY0LDEyIEBAIHN0 YXRpYyBQeU1ldGhvZERlZiBETUlEYXRhTWV0aG9kc1tdID0geworICAgICAgICAgeyhjaGFyICop InB5dGhvbm1hcCIsIGRtaWRlY29kZV9zZXRfcHl0aG9ueG1sbWFwLCBNRVRIX08sCisgICAgICAg ICAgKGNoYXIgKikgIlVzZSBhbm90aGVyIHB5dGhvbiBkaWN0IG1hcCBkZWZpbml0aW9uLiBUaGUg ZGVmYXVsdCBmaWxlIGlzICIgUFlUSE9OX1hNTF9NQVB9LAorIAorLSAgICAgICAgeyhjaGFyICop InhtbGFwaSIsIGRtaWRlY29kZV94bWxhcGksIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMs CistICAgICAgICAgKGNoYXIgKikgIkludGVybmFsIEFQSSBmb3IgcmV0cmlldmluZyBkYXRhIGFz IHJhdyBYTUwgZGF0YSJ9LAorKyAgICAgICAgeyAKKysgICAgICAgICAgICAgICAgIC5tbF9uYW1l ID0gInhtbGFwaSIsIAorKyAgICAgICAgICAgICAgICAgLm1sX21ldGggPSAoUHlDRnVuY3Rpb24p KHZvaWQoKikodm9pZCkpZG1pZGVjb2RlX3htbGFwaSwKKysgICAgICAgICAgICAgICAgLm1sX2Zs YWdzID0gTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywgCisrICAgICAgICAgICAgICAgICAu bWxfZG9jID0gIkdldCBETUkgZGF0YSBhcyBYTUwiCisrICAgICAgICB9LAorIAorIAorICAgICAg ICAgeyhjaGFyICopImdldF93YXJuaW5ncyIsIGRtaWRlY29kZV9nZXRfd2FybmluZ3MsIE1FVEhf Tk9BUkdTLAorQEAgLTkyNiw0OCArOTgxLDQ5IEBAIHN0YXRpYyBQeU1ldGhvZERlZiBETUlEYXRh TWV0aG9kc1tdID0geworICAgICAgICAge05VTEwsIE5VTEwsIDAsIE5VTEx9CisgfTsKKyAKKy12 b2lkIGRlc3RydWN0X29wdGlvbnModm9pZCAqcHRyKQorK3ZvaWQgZGVzdHJ1Y3Rfb3B0aW9ucyhQ eU9iamVjdCAqY2Fwc3VsZSkKKyB7CistI2lmZGVmIElTX1BZM0sKKy0gICAgICAgIHB0ciA9IFB5 Q2Fwc3VsZV9HZXRQb2ludGVyKHB0ciwgTlVMTCk7CistI2VuZGlmCisrICAgIHZvaWQgKnB0ciA9 IFB5Q2Fwc3VsZV9HZXRQb2ludGVyKGNhcHN1bGUsIE5VTEwpOworKyAgICBpZiAocHRyKSB7Cisg ICAgICAgICBvcHRpb25zICpvcHQgPSAob3B0aW9ucyAqKSBwdHI7CisgCisgICAgICAgICBpZigg b3B0LT5tYXBwaW5neG1sICE9IE5VTEwgKSB7CistICAgICAgICAgICAgICAgIHhtbEZyZWVEb2Mo b3B0LT5tYXBwaW5neG1sKTsKKy0gICAgICAgICAgICAgICAgb3B0LT5tYXBwaW5neG1sID0gTlVM TDsKKysgICAgICAgICAgICB4bWxGcmVlRG9jKG9wdC0+bWFwcGluZ3htbCk7CisrICAgICAgICAg ICAgb3B0LT5tYXBwaW5neG1sID0gTlVMTDsKKyAgICAgICAgIH0KKyAKKyAgICAgICAgIGlmKCBv cHQtPnB5dGhvbl94bWxfbWFwICE9IE5VTEwgKSB7CistICAgICAgICAgICAgICAgIGZyZWUob3B0 LT5weXRob25feG1sX21hcCk7CistICAgICAgICAgICAgICAgIG9wdC0+cHl0aG9uX3htbF9tYXAg PSBOVUxMOworKyAgICAgICAgICAgIGZyZWUob3B0LT5weXRob25feG1sX21hcCk7CisrICAgICAg ICAgICAgb3B0LT5weXRob25feG1sX21hcCA9IE5VTEw7CisgICAgICAgICB9CisgCisgICAgICAg ICBpZiggb3B0LT5kbWl2ZXJzaW9uX24gIT0gTlVMTCApIHsKKy0gICAgICAgICAgICAgICAgeG1s RnJlZU5vZGUob3B0LT5kbWl2ZXJzaW9uX24pOworLSAgICAgICAgICAgICAgICBvcHQtPmRtaXZl cnNpb25fbiA9IE5VTEw7CisrICAgICAgICAgICAgeG1sRnJlZU5vZGUob3B0LT5kbWl2ZXJzaW9u X24pOworKyAgICAgICAgICAgIG9wdC0+ZG1pdmVyc2lvbl9uID0gTlVMTDsKKyAgICAgICAgIH0K KyAKKyAgICAgICAgIGlmKCBvcHQtPmR1bXBmaWxlICE9IE5VTEwgKSB7CistICAgICAgICAgICAg ICAgIGZyZWUob3B0LT5kdW1wZmlsZSk7CistICAgICAgICAgICAgICAgIG9wdC0+ZHVtcGZpbGUg PSBOVUxMOworKyAgICAgICAgICAgIGZyZWUob3B0LT5kdW1wZmlsZSk7CisrICAgICAgICAgICAg b3B0LT5kdW1wZmlsZSA9IE5VTEw7CisgICAgICAgICB9CisgCisgICAgICAgICBpZiggb3B0LT5s b2dkYXRhICE9IE5VTEwgKSB7CistICAgICAgICAgICAgICAgIGNoYXIgKndhcm4gPSBOVUxMOwor KyAgICAgICAgICAgIGNoYXIgKndhcm4gPSBOVUxMOworIAorLSAgICAgICAgICAgICAgICBsb2df Y2xlYXJfcGFydGlhbChvcHQtPmxvZ2RhdGEsIExPR19XQVJOSU5HLCAwKTsKKy0gICAgICAgICAg ICAgICAgd2FybiA9IGxvZ19yZXRyaWV2ZShvcHQtPmxvZ2RhdGEsIExPR19XQVJOSU5HKTsKKy0g ICAgICAgICAgICAgICAgaWYoIHdhcm4gKSB7CistICAgICAgICAgICAgICAgICAgICAgICAgZnBy aW50ZihzdGRlcnIsICJcbioqIENPTExFQ1RFRCBXQVJOSU5HUyAqKlxuJXMqKiBFTkQgT0YgV0FS TklOR1MgKipcblxuIiwgd2Fybik7CistICAgICAgICAgICAgICAgICAgICAgICAgZnJlZSh3YXJu KTsKKy0gICAgICAgICAgICAgICAgfQorLSAgICAgICAgICAgICAgICBsb2dfY2xvc2Uob3B0LT5s b2dkYXRhKTsKKysgICAgICAgICAgICBsb2dfY2xlYXJfcGFydGlhbChvcHQtPmxvZ2RhdGEsIExP R19XQVJOSU5HLCAwKTsKKysgICAgICAgICAgICB3YXJuID0gbG9nX3JldHJpZXZlKG9wdC0+bG9n ZGF0YSwgTE9HX1dBUk5JTkcpOworKyAgICAgICAgICAgIGlmKCB3YXJuICkgeworKyAgICAgICAg ICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIlxuKiogQ09MTEVDVEVEIFdBUk5JTkdTICoqXG4lcyoq IEVORCBPRiBXQVJOSU5HUyAqKlxuXG4iLCB3YXJuKTsKKysgICAgICAgICAgICAgICAgZnJlZSh3 YXJuKTsKKysgICAgICAgICAgICB9CisrICAgICAgICAgICAgbG9nX2Nsb3NlKG9wdC0+bG9nZGF0 YSk7CisgICAgICAgICB9CisgCisgICAgICAgICBmcmVlKHB0cik7CisrICAgIH0KKyB9CisgCisr CisgI2lmZGVmIElTX1BZM0sKKyBzdGF0aWMgc3RydWN0IFB5TW9kdWxlRGVmIGRtaWRlY29kZW1v ZF9kZWYgPSB7CisgICAgIFB5TW9kdWxlRGVmX0hFQURfSU5JVCwKK2RpZmYgLS1naXQgYS9zcmMv c2V0dXBfY29tbW9uLnB5IGIvc3JjL3NldHVwX2NvbW1vbi5weQoraW5kZXggYWVjMWY5Yi4uOTBk ODhjMyAxMDA2NDQKKy0tLSBhL3NldHVwX2NvbW1vbi5weQorKysrIGIvc2V0dXBfY29tbW9uLnB5 CitAQCAtNjksNyArNjksNyBAQCBkZWYgbGlieG1sMl9saWIobGliZGlyLCBsaWJzKToKKyAgICAg ICAgICAgICBsaWJzLmFwcGVuZChsLnJlcGxhY2UoIi1sIiwgIiIsIDEpKQorIAorICAgICAjIHRo aXMgbGlicmFyeSBpcyBub3QgcmVwb3J0ZWQgYW5kIHdlIG5lZWQgaXQgYW55d2F5CistICAgIGxp YnMuYXBwZW5kKCd4bWwybW9kJykKKysgICAgI2xpYnMuYXBwZW5kKCd4bWwybW9kJykKKyAKKyAK KyAKKwoKZGlmZiAtLWdpdCBhL3B5dGhvbi1kbWlkZWNvZGUuc3BlYyBiL3B5dGhvbi1kbWlkZWNv ZGUuc3BlYwppbmRleCBmMjEwYWMxLi4xMjg0MDlhIDEwMDY0NAotLS0gYS9weXRob24tZG1pZGVj b2RlLnNwZWMKKysrIGIvcHl0aG9uLWRtaWRlY29kZS5zcGVjCkBAIC0xMywxOCArMTMsMjMgQEAK IE5hbWU6IHB5dGhvbi1kbWlkZWNvZGUKIFN1bW1hcnk6IFB5dGhvbiBtb2R1bGUgdG8gYWNjZXNz IERNSSBkYXRhCiBWZXJzaW9uOiAzLjEyLjMKLVJlbGVhc2U6IDE5JXtkYXRlfSV7c2hvcnRjb21t aXR9JXs/ZGlzdH0KK1JlbGVhc2U6IDIwJXtkYXRlfSV7c2hvcnRjb21taXR9JXs/ZGlzdH0KIExp Y2Vuc2U6IEdQTC0yLjAtb25seQogVVJMOiBodHRwczovL2dpdGh1Yi5jb20vbmltYS9weXRob24t ZG1pZGVjb2RlCiBTb3VyY2UwOiAle3VybH0vYXJjaGl2ZS8le3ZlcnNpb259LyV7bmFtZX0tJXt2 ZXJzaW9ufS50YXIuZ3oKIAogUGF0Y2gwOiBweXRob24tZG1pZGVjb2RlLXJoYnoyMTU0OTQ5LnBh dGNoCiAKKyMgVGhpcyBwYXRjaCBkZXJpdmVzIGJ5IGEgZm9yaywgCisjIGh0dHBzOi8vZ2l0aHVi LmNvbS9ZdXp1cnUxMC9weXRob24tZG1pZGVjb2RlL2NvbW1pdC80YWQyZTRjYTBmNmNhNmM0MGZi OTk0YTcyZjg5NzJkMjRiODkwNTU0CitQYXRjaDE6IHB5dGhvbi1kbWlkZWNvZGUtbGlieG1sMi5w YXRjaAorCiBCdWlsZFJlcXVpcmVzOiBtYWtlCiBCdWlsZFJlcXVpcmVzOiBnY2MKIEJ1aWxkUmVx dWlyZXM6IGxpYnhtbDItZGV2ZWwKIEJ1aWxkUmVxdWlyZXM6IHB5dGhvbjMtZGV2ZWwKIEJ1aWxk UmVxdWlyZXM6IGxpYnhtbDItcHl0aG9uMworQnVpbGRSZXF1aXJlczogcHl0aG9uMy1seG1sCiAK ICVnbG9iYWwgX2Rlc2NyaXB0aW9uXAogcHl0aG9uLWRtaWRlY29kZSBpcyBhIHB5dGhvbiBleHRl bnNpb24gbW9kdWxlIHRoYXQgdXNlcyB0aGVcCkBAIC0zOCw2ICs0Myw3IEBAIGFzIHB5dGhvbiBk YXRhIHN0cnVjdHVyZXMgb3IgYXMgWE1MIGRhdGEgdXNpbmcgbGlieG1sMi5cCiAlcGFja2FnZSAt biBweXRob24zLWRtaWRlY29kZQogU3VtbWFyeTogUHl0aG9uIDMgbW9kdWxlIHRvIGFjY2VzcyBE TUkgZGF0YQogUmVxdWlyZXM6IGxpYnhtbDItcHl0aG9uMworUmVxdWlyZXM6IHB5dGhvbjMtbHht bAogCiAlZGVzY3JpcHRpb24gLW4gcHl0aG9uMy1kbWlkZWNvZGUgJV9kZXNjcmlwdGlvbgogCkBA IC00OSw2ICs1NSwxMCBAQCBSZXF1aXJlczogbGlieG1sMi1weXRob24zCiAjIHdlIG5lZWQgdGhl IHNldHVwLnB5IGZpbGUgaW4gUFdEIHRvIG1ha2UgdGhlIHNldHVwdG9vbHMgYnVpbGQgYmFja2Vu ZCBzZWUgaXQKIG12IHNyYy9zZXR1cCoucHkgLgogCislaWYgMCV7P2ZlZG9yYX0gPiA0NQorJXBh dGNoIDEgLXAxIC1iIC5saWJ4bWwyCislZW5kaWYKKwogJWdlbmVyYXRlX2J1aWxkcmVxdWlyZXMK ICVweXByb2plY3RfYnVpbGRyZXF1aXJlcwogCkBAIC02NSwyMCArNzUsMjEgQEAgZXhwb3J0IENY WD1nKysKICVweXByb2plY3RfaW5zdGFsbAogJXB5cHJvamVjdF9zYXZlX2ZpbGVzIC1MIGRtaWRl Y29kZSBkbWlkZWNvZGVtb2QKIAotCiAlY2hlY2sKICVweXByb2plY3RfY2hlY2tfaW1wb3J0CiBl eHBvcnQgUFlUSE9OUEFUSD0le2J1aWxkcm9vdH0le3B5dGhvbjNfc2l0ZWFyY2h9Ci1leHBvcnQg UFlUSE9OX0JJTj0le19fcHl0aG9uM30KKyV7cHkzX3Rlc3RfZW52dmFyc30KIG1ha2UgLUMgdW5p dC10ZXN0cwogCi0KICVmaWxlcyAtbiBweXRob24zLWRtaWRlY29kZSAtZiAle3B5cHJvamVjdF9m aWxlc30KICVsaWNlbnNlIGRvYy9MSUNFTlNFCiAlZG9jIFJFQURNRSBkb2MvQVVUSE9SUyBkb2Mv QVVUSE9SUy51cHN0cmVhbQogJXtfZGF0YWRpcn0vJXtuYW1lfS8KIAogJWNoYW5nZWxvZworKiBU aHUgU2VwIDE3IDIwMjYgQW50b25pbyBUcmFuZGUgPHNhZ2l0dGVyQGZlZG9yYXByb2plY3Qub3Jn PiAtIDMuMTIuMy0yMAorLSBQYXRjaGVkIGZvciBsaWJ4bWwyLTIuMTUuNAorCiAqIFdlZCBKdWwg MjIgMjAyNiBQeXRob24gTWFpbnQgPHB5dGhvbi1tYWludEByZWRoYXQuY29tPiAtIDMuMTIuMy0x OQogLSBSZWJ1aWx0IGZvciBQeXRob24gMy4xNS4wYjQgQUJJIGNoYW5nZQogCg==