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?b?UGV0ciBNZW7FocOtayA8cGVtZW5zaWtAcmVkaGF0LmNvbT4=?= To: git-commits@fedoraproject.org Subject: [rpms/bind] f44: DNSSEC Validation Bypass via Out-of-Zone NSEC Next Field (CVE-2026-13321) Date: Tue, 25 Aug 2026 19:34:26 GMT Message-ID: <178768646693.1.452055458479397261.rpms-bind-a27e5daaca31@fedoraproject.org> List-ID: X-Git-Repo: rpms/bind X-Git-Branch: f44 X-Git-Rev: a27e5daaca31fabc5d594e8700419b0929d43a63 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvYmluZAogICAgICAgICAgICBCcmFuY2ggOiBmNDQKICAgICAgICAgICAgQ29t bWl0IDogYTI3ZTVkYWFjYTMxZmFiYzVkNTk0ZTg3MDA0MTliMDkyOWQ0M2E2MwogICAgICAgICAg ICBBdXRob3IgOiBQZXRyIE1lbsWhw61rIDxwZW1lbnNpa0ByZWRoYXQuY29tPgogICAgICAgICAg ICBEYXRlICAgOiAyMDI2LTA4LTI1VDE0OjUxOjQxKzAyOjAwCiAgICAgICAgICAgIFN0YXRzICA6 ICs3MjYvLTAgaW4gMyBmaWxlKHMpCiAgICAgICAgICAgIFVSTCAgICA6IGh0dHBzOi8vc3JjLmZl ZG9yYXByb2plY3Qub3JnL3JwbXMvYmluZC9jL2EyN2U1ZGFhY2EzMWZhYmM1ZDU5NGU4NzAwNDE5 YjA5MjlkNDNhNjM/YnJhbmNoPWY0NAoKICAgICAgICAgICAgTG9nOgogICAgICAgICAgICBETlNT RUMgVmFsaWRhdGlvbiBCeXBhc3MgdmlhIE91dC1vZi1ab25lIE5TRUMgTmV4dCBGaWVsZCAoQ1ZF LTIwMjYtMTMzMjEpCgpbOS4xOF0gW0NWRS0yMDI2LTEzMzIxXSBzZWM6IHVzcjogRml4IEROU1NF QyB2YWxpZGF0aW9uIGJ5cGFzcyB2aWEgb3V0LW9mLXpvbmUgTlNFQyBOZXh0IEZpZWxkCgpBIG1h bGljaW91cyB6b25lIHdpdGggb3V0LW9mLXpvbmUgTlNFQyBuZXh0IG93bmVyIG5hbWVzIGNhbiBj YXVzZSBhIEROU1NFQyB2YWxpZGF0aW5nIHJlc29sdmVyIHRvIGNhY2hlIHN1Y2ggcmVjb3JkIGFu ZCwgaWYgYHN5bnRoLWZyb20tZG5zc2VjYCBpcyBlbmFibGVkLCB0byBnZW5lcmF0ZSBuZWdhdGl2 ZSBhbnN3ZXJzIGZvciBhbnkgem9uZSB0aGF0IGlzIGNvdmVyZWQgYnkgdGhlIHJhbmdlLgoKSVND IHdvdWxkIGxpa2UgdG8gdGhhbmsgUWlmYW4gWmhhbmcgb2YgUGFsbyBBbHRvIE5ldHdvcmtzIGZv ciByZXBvcnRpbmcgdGhlIGlzc3VlLgoKQ2xvc2VzIGlzYy1wcm9qZWN0cy9iaW5kOSM1ODczCgot LS0KZGlmZiAtLWdpdCBhL2JpbmQtOS4xOC1DVkUtMjAyNi0xMzMyMS10ZXN0LnBhdGNoIGIvYmlu ZC05LjE4LUNWRS0yMDI2LTEzMzIxLXRlc3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMC4uZGY2YmEwNAotLS0gL2Rldi9udWxsCisrKyBiL2JpbmQtOS4xOC1DVkUtMjAy Ni0xMzMyMS10ZXN0LnBhdGNoCkBAIC0wLDAgKzEsNDQ1IEBACitGcm9tIGVhYTM1NjI4ZjRhMjAx MDQ5Mjk1YTg5NDRmNGQyOGU4YTEwMTMxOTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9t OiA9P1VURi04P3E/QXlkPUM0PUIxbj0yME1lcmNhbj89IDxheWRpbkBpc2Mub3JnPgorRGF0ZTog V2VkLCA2IE1heSAyMDI2IDE2OjU0OjU3ICswMzAwCitTdWJqZWN0OiBbUEFUQ0hdIEFkZCBzeXN0 ZW0gdGVzdCBmb3Igb3V0LW9mLXpvbmUgbnNlYyBkbnNzZWMgYnlwYXNzCisKK0EgbWFsaWNpb3Vz IHpvbmUgd2l0aCBvdXQtb2Ytem9uZSBOU0VDIGVudHJpZXMgY2FuIGdldCBhIEROU1NFQwordmFs aWRhdGluZyByZXNvbHZlcidzIGNhY2hlIHRvIGNvdmVyIHRoZSB2aWN0aW0gem9uZSBmb3Igbm9u LWV4aXN0ZW5jZQorYW5kIHByZXZlbnQgbmFtZXNlcnZlciBxdWVyaWVzIHdpdGhvdXQgRE5TU0VD IGZhaWx1cmUuCisKK1Rlc3QgZm9yIHRoaXMgY2FzZSB3aXRoIGFuIGBldmlsLnRlc3RgIHpvbmUg dGhhdCB0cmllcyB0byBjb3ZlciB0aGUKK2B2aWN0aW0udGVzdGAgem9uZS4KKworKGNoZXJyeSBw aWNrZWQgZnJvbSBjb21taXQgNjU0Zjk3NzNjMGFmNTk5NjVjMzQzYmRmZWIwOTZiM2RmZmU5ZGQ1 MykKKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGM5NjlhZDJjMTdiNDNkZDk5OWUzNThiZmVi MjgwZDNkZjZmYWI4MjIpCistLS0KKyAuLi4vc3lzdGVtL2Ruc3NlY19ieXBhc3MvbnMxL25hbWVk LmNvbmYuajIgICAgfCAgMzEgKysrKworIGJpbi90ZXN0cy9zeXN0ZW0vZG5zc2VjX2J5cGFzcy9u czEvcm9vdC5kYiAgICB8ICAxOSArKysKKyBiaW4vdGVzdHMvc3lzdGVtL2Ruc3NlY19ieXBhc3Mv bnMxL3Rlc3QuZGIgICAgfCAgMjMgKysrCisgLi4uL3N5c3RlbS9kbnNzZWNfYnlwYXNzL25zMi9u YW1lZC5jb25mLmoyICAgIHwgIDI2ICsrKworIGJpbi90ZXN0cy9zeXN0ZW0vZG5zc2VjX2J5cGFz cy9uczIvdmljdGltLmRiICB8ICAxOCArKysKKyBiaW4vdGVzdHMvc3lzdGVtL2Ruc3NlY19ieXBh c3MvbnMzL2V2aWwuZGIgICAgfCAgMjMgKysrCisgLi4uL3N5c3RlbS9kbnNzZWNfYnlwYXNzL25z My9uYW1lZC5jb25mLmoyICAgIHwgIDI2ICsrKworIC4uLi9zeXN0ZW0vZG5zc2VjX2J5cGFzcy9u czQvbmFtZWQuY29uZi5qMiAgICB8ICAzNSArKysrCisgLi4uL3N5c3RlbS9kbnNzZWNfYnlwYXNz L3Rlc3RzX2J5cGFzcy5weSAgICAgIHwgMTUyICsrKysrKysrKysrKysrKysrKworIDkgZmlsZXMg Y2hhbmdlZCwgMzUzIGluc2VydGlvbnMoKykKKyBjcmVhdGUgbW9kZSAxMDA2NDQgYmluL3Rlc3Rz L3N5c3RlbS9kbnNzZWNfYnlwYXNzL25zMS9uYW1lZC5jb25mLmoyCisgY3JlYXRlIG1vZGUgMTAw NjQ0IGJpbi90ZXN0cy9zeXN0ZW0vZG5zc2VjX2J5cGFzcy9uczEvcm9vdC5kYgorIGNyZWF0ZSBt b2RlIDEwMDY0NCBiaW4vdGVzdHMvc3lzdGVtL2Ruc3NlY19ieXBhc3MvbnMxL3Rlc3QuZGIKKyBj cmVhdGUgbW9kZSAxMDA2NDQgYmluL3Rlc3RzL3N5c3RlbS9kbnNzZWNfYnlwYXNzL25zMi9uYW1l ZC5jb25mLmoyCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGJpbi90ZXN0cy9zeXN0ZW0vZG5zc2VjX2J5 cGFzcy9uczIvdmljdGltLmRiCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGJpbi90ZXN0cy9zeXN0ZW0v ZG5zc2VjX2J5cGFzcy9uczMvZXZpbC5kYgorIGNyZWF0ZSBtb2RlIDEwMDY0NCBiaW4vdGVzdHMv c3lzdGVtL2Ruc3NlY19ieXBhc3MvbnMzL25hbWVkLmNvbmYuajIKKyBjcmVhdGUgbW9kZSAxMDA2 NDQgYmluL3Rlc3RzL3N5c3RlbS9kbnNzZWNfYnlwYXNzL25zNC9uYW1lZC5jb25mLmoyCisgY3Jl YXRlIG1vZGUgMTAwNjQ0IGJpbi90ZXN0cy9zeXN0ZW0vZG5zc2VjX2J5cGFzcy90ZXN0c19ieXBh c3MucHkKKworZGlmZiAtLWdpdCBhL2Jpbi90ZXN0cy9zeXN0ZW0vZG5zc2VjX2J5cGFzcy9uczEv bmFtZWQuY29uZi5qMiBiL2Jpbi90ZXN0cy9zeXN0ZW0vZG5zc2VjX2J5cGFzcy9uczEvbmFtZWQu Y29uZi5qMgorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjU5Y2VkMTgz MWEKKy0tLSAvZGV2L251bGwKKysrKyBiL2Jpbi90ZXN0cy9zeXN0ZW0vZG5zc2VjX2J5cGFzcy9u czEvbmFtZWQuY29uZi5qMgorQEAgLTAsMCArMSwzMSBAQAorKy8qCisrICogQ29weXJpZ2h0IChD KSBJbnRlcm5ldCBTeXN0ZW1zIENvbnNvcnRpdW0sIEluYy4gKCJJU0MiKQorKyAqCisrICogU1BE WC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjAKKysgKgorKyAqIFRoaXMgU291cmNlIENvZGUg Rm9ybSBpcyBzdWJqZWN0IHRvIHRoZSB0ZXJtcyBvZiB0aGUgTW96aWxsYSBQdWJsaWMKKysgKiBM aWNlbnNlLCB2LiAyLjAuICBJZiBhIGNvcHkgb2YgdGhlIE1QTCB3YXMgbm90IGRpc3RyaWJ1dGVk IHdpdGggdGhpcworKyAqIGZpbGUsIHlvdSBjYW4gb2J0YWluIG9uZSBhdCBodHRwczovL21vemls bGEub3JnL01QTC8yLjAvLgorKyAqCisrICogU2VlIHRoZSBDT1BZUklHSFQgZmlsZSBkaXN0cmli dXRlZCB3aXRoIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbAorKyAqIGluZm9ybWF0aW9uIHJlZ2Fy ZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorKyAqLworKworK29wdGlvbnMgeworKwlwb3J0IEBQ T1JUQDsKKysJcGlkLWZpbGUgIm5hbWVkLnBpZCI7CisrCWxpc3Rlbi1vbiB7IDEwLjUzLjAuMTsg fTsKKysJbGlzdGVuLW9uLXY2IHsgbm9uZTsgfTsKKysJcmVjdXJzaW9uIG5vOworKwlkbnNzZWMt dmFsaWRhdGlvbiBubzsKKyt9OworKworK3pvbmUgInRlc3QuIiB7CisrCXR5cGUgcHJpbWFyeTsK KysJZmlsZSAidGVzdC5kYi5zaWduZWQiOworK307CisrCisrem9uZSAiLiIgeworKwl0eXBlIHBy aW1hcnk7CisrCWZpbGUgInJvb3QuZGIuc2lnbmVkIjsKKyt9OworZGlmZiAtLWdpdCBhL2Jpbi90 ZXN0cy9zeXN0ZW0vZG5zc2VjX2J5cGFzcy9uczEvcm9vdC5kYiBiL2Jpbi90ZXN0cy9zeXN0ZW0v ZG5zc2VjX2J5cGFzcy9uczEvcm9vdC5kYgorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAw MDAwMDAwMDAuLjhkOThhMDQ1NmMKKy0tLSAvZGV2L251bGwKKysrKyBiL2Jpbi90ZXN0cy9zeXN0 ZW0vZG5zc2VjX2J5cGFzcy9uczEvcm9vdC5kYgorQEAgLTAsMCArMSwxOSBAQAorKzsgQ29weXJp Z2h0IChDKSBJbnRlcm5ldCBTeXN0ZW1zIENvbnNvcnRpdW0sIEluYy4gKCJJU0MiKQorKzsKKys7 IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wCisrOworKzsgVGhpcyBTb3VyY2UgQ29k ZSBGb3JtIGlzIHN1YmplY3QgdG8gdGhlIHRlcm1zIG9mIHRoZSBNb3ppbGxhIFB1YmxpYworKzsg TGljZW5zZSwgdi4gMi4wLiAgSWYgYSBjb3B5IG9mIHRoZSBNUEwgd2FzIG5vdCBkaXN0cmlidXRl ZCB3aXRoIHRoaXMKKys7IGZpbGUsIHlvdSBjYW4gb2J0YWluIG9uZSBhdCBodHRwczovL21vemls bGEub3JnL01QTC8yLjAvLgorKzsKKys7IFNlZSB0aGUgQ09QWVJJR0hUIGZpbGUgZGlzdHJpYnV0 ZWQgd2l0aCB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwKKys7IGluZm9ybWF0aW9uIHJlZ2FyZGlu ZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorKworKyRUVEwgMzYwMAorKy4JCQlJTiBTT0EJYS5uaWwu IGEubmlsLiAxIDM2MDAgNjAwIDg2NDAwIDMwMAorKy4JCQlJTiBOUwlhLnJvb3Qtc2VydmVycy5u aWwuCisrCisrYS5yb290LXNlcnZlcnMubmlsLglJTiBBCTEwLjUzLjAuMQorKworK3Rlc3QuCQkJ SU4gTlMJbnMxLnRlc3QuCisrbnMxLnRlc3QuCQlJTiBBCTEwLjUzLjAuMQorZGlmZiAtLWdpdCBh L2Jpbi90ZXN0cy9zeXN0ZW0vZG5zc2VjX2J5cGFzcy9uczEvdGVzdC5kYiBiL2Jpbi90ZXN0cy9z eXN0ZW0vZG5zc2VjX2J5cGFzcy9uczEvdGVzdC5kYgorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2lu ZGV4IDAwMDAwMDAwMDAuLjZlZmNkOTVlNDIKKy0tLSAvZGV2L251bGwKKysrKyBiL2Jpbi90ZXN0 cy9zeXN0ZW0vZG5zc2VjX2J5cGFzcy9uczEvdGVzdC5kYgorQEAgLTAsMCArMSwyMyBAQAorKzsg Q29weXJpZ2h0IChDKSBJbnRlcm5ldCBTeXN0ZW1zIENvbnNvcnRpdW0sIEluYy4gKCJJU0MiKQor KzsKKys7IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wCisrOworKzsgVGhpcyBTb3Vy Y2UgQ29kZSBGb3JtIGlzIHN1YmplY3QgdG8gdGhlIHRlcm1zIG9mIHRoZSBNb3ppbGxhIFB1Ymxp YworKzsgTGljZW5zZSwgdi4gMi4wLiAgSWYgYSBjb3B5IG9mIHRoZSBNUEwgd2FzIG5vdCBkaXN0 cmlidXRlZCB3aXRoIHRoaXMKKys7IGZpbGUsIHlvdSBjYW4gb2J0YWluIG9uZSBhdCBodHRwczov L21vemlsbGEub3JnL01QTC8yLjAvLgorKzsKKys7IFNlZSB0aGUgQ09QWVJJR0hUIGZpbGUgZGlz dHJpYnV0ZWQgd2l0aCB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwKKys7IGluZm9ybWF0aW9uIHJl Z2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorKworKyRPUklHSU4gdGVzdC4KKyskVFRMIDM2 MDAKKysKKytACQlJTiBTT0EgYSBhIDEgMzYwMCA2MDAgODY0MDAgMzAwCisrCQlJTiBOUwluczEu dGVzdC4KKytuczEJCUlOIEEJMTAuNTMuMC4xCisrCisrZXZpbAkJSU4gTlMJbnMxLmV2aWwKKytu czEuZXZpbAlJTiBBCTEwLjUzLjAuMworKworK3ZpY3RpbQkJSU4gTlMJbnMxLnZpY3RpbQorK25z MS52aWN0aW0JSU4gQQkxMC41My4wLjIKK2RpZmYgLS1naXQgYS9iaW4vdGVzdHMvc3lzdGVtL2Ru c3NlY19ieXBhc3MvbnMyL25hbWVkLmNvbmYuajIgYi9iaW4vdGVzdHMvc3lzdGVtL2Ruc3NlY19i eXBhc3MvbnMyL25hbWVkLmNvbmYuajIKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAw MDAwMDAwLi5lODFjZWU3Y2FjCistLS0gL2Rldi9udWxsCisrKysgYi9iaW4vdGVzdHMvc3lzdGVt L2Ruc3NlY19ieXBhc3MvbnMyL25hbWVkLmNvbmYuajIKK0BAIC0wLDAgKzEsMjYgQEAKKysvKgor KyAqIENvcHlyaWdodCAoQykgSW50ZXJuZXQgU3lzdGVtcyBDb25zb3J0aXVtLCBJbmMuICgiSVND IikKKysgKgorKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wCisrICoKKysgKiBU aGlzIFNvdXJjZSBDb2RlIEZvcm0gaXMgc3ViamVjdCB0byB0aGUgdGVybXMgb2YgdGhlIE1vemls bGEgUHVibGljCisrICogTGljZW5zZSwgdi4gMi4wLiAgSWYgYSBjb3B5IG9mIHRoZSBNUEwgd2Fz IG5vdCBkaXN0cmlidXRlZCB3aXRoIHRoaXMKKysgKiBmaWxlLCB5b3UgY2FuIG9idGFpbiBvbmUg YXQgaHR0cHM6Ly9tb3ppbGxhLm9yZy9NUEwvMi4wLy4KKysgKgorKyAqIFNlZSB0aGUgQ09QWVJJ R0hUIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwKKysgKiBp bmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKysgKi8KKysKKytvcHRp b25zIHsKKysJcG9ydCBAUE9SVEA7CisrCXBpZC1maWxlICJuYW1lZC5waWQiOworKwlsaXN0ZW4t b24geyAxMC41My4wLjI7IH07CisrCWxpc3Rlbi1vbi12NiB7IG5vbmU7IH07CisrCXJlY3Vyc2lv biBubzsKKysJZG5zc2VjLXZhbGlkYXRpb24gbm87CisrfTsKKysKKyt6b25lICJ2aWN0aW0udGVz dC4iIHsKKysJdHlwZSBwcmltYXJ5OworKwlmaWxlICJ2aWN0aW0uZGIuc2lnbmVkIjsKKyt9Owor ZGlmZiAtLWdpdCBhL2Jpbi90ZXN0cy9zeXN0ZW0vZG5zc2VjX2J5cGFzcy9uczIvdmljdGltLmRi IGIvYmluL3Rlc3RzL3N5c3RlbS9kbnNzZWNfYnlwYXNzL25zMi92aWN0aW0uZGIKK25ldyBmaWxl IG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi5lZGNjMjM0MzIyCistLS0gL2Rldi9udWxs CisrKysgYi9iaW4vdGVzdHMvc3lzdGVtL2Ruc3NlY19ieXBhc3MvbnMyL3ZpY3RpbS5kYgorQEAg LTAsMCArMSwxOCBAQAorKzsgQ29weXJpZ2h0IChDKSBJbnRlcm5ldCBTeXN0ZW1zIENvbnNvcnRp dW0sIEluYy4gKCJJU0MiKQorKzsKKys7IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4w CisrOworKzsgVGhpcyBTb3VyY2UgQ29kZSBGb3JtIGlzIHN1YmplY3QgdG8gdGhlIHRlcm1zIG9m IHRoZSBNb3ppbGxhIFB1YmxpYworKzsgTGljZW5zZSwgdi4gMi4wLiAgSWYgYSBjb3B5IG9mIHRo ZSBNUEwgd2FzIG5vdCBkaXN0cmlidXRlZCB3aXRoIHRoaXMKKys7IGZpbGUsIHlvdSBjYW4gb2J0 YWluIG9uZSBhdCBodHRwczovL21vemlsbGEub3JnL01QTC8yLjAvLgorKzsKKys7IFNlZSB0aGUg Q09QWVJJR0hUIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwK Kys7IGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorKworKyRPUklH SU4gdmljdGltLnRlc3QuCisrJFRUTCAzNjAwCisrCisrQAkJSU4gU09BCW5zMSBob3N0bWFzdGVy IDEgMzYwMCA2MDAgODY0MDAgMjE0NzQ4MzY0NworKwkJSU4gTlMJbnMxCisrCisrbnMxCQlJTiBB CTEwLjUzLjAuMgorZGlmZiAtLWdpdCBhL2Jpbi90ZXN0cy9zeXN0ZW0vZG5zc2VjX2J5cGFzcy9u czMvZXZpbC5kYiBiL2Jpbi90ZXN0cy9zeXN0ZW0vZG5zc2VjX2J5cGFzcy9uczMvZXZpbC5kYgor bmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjYxOGY5ZDNlODUKKy0tLSAv ZGV2L251bGwKKysrKyBiL2Jpbi90ZXN0cy9zeXN0ZW0vZG5zc2VjX2J5cGFzcy9uczMvZXZpbC5k YgorQEAgLTAsMCArMSwyMyBAQAorKzsgQ29weXJpZ2h0IChDKSBJbnRlcm5ldCBTeXN0ZW1zIENv bnNvcnRpdW0sIEluYy4gKCJJU0MiKQorKzsKKys7IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBN UEwtMi4wCisrOworKzsgVGhpcyBTb3VyY2UgQ29kZSBGb3JtIGlzIHN1YmplY3QgdG8gdGhlIHRl cm1zIG9mIHRoZSBNb3ppbGxhIFB1YmxpYworKzsgTGljZW5zZSwgdi4gMi4wLiAgSWYgYSBjb3B5 IG9mIHRoZSBNUEwgd2FzIG5vdCBkaXN0cmlidXRlZCB3aXRoIHRoaXMKKys7IGZpbGUsIHlvdSBj YW4gb2J0YWluIG9uZSBhdCBodHRwczovL21vemlsbGEub3JnL01QTC8yLjAvLgorKzsKKys7IFNl ZSB0aGUgQ09QWVJJR0hUIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHdvcmsgZm9yIGFkZGl0 aW9uYWwKKys7IGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorKwor KyRPUklHSU4gZXZpbC50ZXN0LgorKyRUVEwgMzAwCisrCisrQAkJSU4gU09BCW5zMSBob3N0bWFz dGVyIDEgMzYwMCA2MDAgODY0MDAgMzAwCisrCQlJTiBOUwluczEKKys7IFRyeSB0byBwb2lzb24g dGhlIHZpY3RpbSB6b25lIGluIGEgcmVzb2x2ZXIgY2FjaGUuCisrOyBJZiBhZG1pdHRlZCwgdGhl IGFnZ3Jlc3NpdmUgTlNFQyBjYWNoZSB3aWxsIGFjY2VwdCBhIHJhbmdlIHN1Y2ggYXMKKys7IFtl dmlsLnRlc3QsIGIudmljdGltLnRlc3QpIGFuZCB3aWxsIGNhdXNlIHRoZSB2aWN0aW0gbmFtZXNl cnZlciB0bworKzsgYmUgbmV2ZXIgcXVlcmllZC4KKysJCUlOIE5TRUMJYi52aWN0aW0udGVzdC4g TlMgU09BIFJSU0lHIE5TRUMgRE5TS0VZCisrCisrbnMxCQlJTiBBCTEwLjUzLjAuMworZGlmZiAt LWdpdCBhL2Jpbi90ZXN0cy9zeXN0ZW0vZG5zc2VjX2J5cGFzcy9uczMvbmFtZWQuY29uZi5qMiBi L2Jpbi90ZXN0cy9zeXN0ZW0vZG5zc2VjX2J5cGFzcy9uczMvbmFtZWQuY29uZi5qMgorbmV3IGZp bGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjE3ZDNlMThlNGUKKy0tLSAvZGV2L251 bGwKKysrKyBiL2Jpbi90ZXN0cy9zeXN0ZW0vZG5zc2VjX2J5cGFzcy9uczMvbmFtZWQuY29uZi5q MgorQEAgLTAsMCArMSwyNiBAQAorKy8qCisrICogQ29weXJpZ2h0IChDKSBJbnRlcm5ldCBTeXN0 ZW1zIENvbnNvcnRpdW0sIEluYy4gKCJJU0MiKQorKyAqCisrICogU1BEWC1MaWNlbnNlLUlkZW50 aWZpZXI6IE1QTC0yLjAKKysgKgorKyAqIFRoaXMgU291cmNlIENvZGUgRm9ybSBpcyBzdWJqZWN0 IHRvIHRoZSB0ZXJtcyBvZiB0aGUgTW96aWxsYSBQdWJsaWMKKysgKiBMaWNlbnNlLCB2LiAyLjAu ICBJZiBhIGNvcHkgb2YgdGhlIE1QTCB3YXMgbm90IGRpc3RyaWJ1dGVkIHdpdGggdGhpcworKyAq IGZpbGUsIHlvdSBjYW4gb2J0YWluIG9uZSBhdCBodHRwczovL21vemlsbGEub3JnL01QTC8yLjAv LgorKyAqCisrICogU2VlIHRoZSBDT1BZUklHSFQgZmlsZSBkaXN0cmlidXRlZCB3aXRoIHRoaXMg d29yayBmb3IgYWRkaXRpb25hbAorKyAqIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQg b3duZXJzaGlwLgorKyAqLworKworK29wdGlvbnMgeworKwlwb3J0IEBQT1JUQDsKKysJcGlkLWZp bGUgIm5hbWVkLnBpZCI7CisrCWxpc3Rlbi1vbiB7IDEwLjUzLjAuMzsgfTsKKysJbGlzdGVuLW9u LXY2IHsgbm9uZTsgfTsKKysJcmVjdXJzaW9uIG5vOworKwlkbnNzZWMtdmFsaWRhdGlvbiBubzsK Kyt9OworKworK3pvbmUgImV2aWwudGVzdC4iIHsKKysJdHlwZSBwcmltYXJ5OworKwlmaWxlICJl dmlsLmRiLnNpZ25lZCI7CisrfTsKK2RpZmYgLS1naXQgYS9iaW4vdGVzdHMvc3lzdGVtL2Ruc3Nl Y19ieXBhc3MvbnM0L25hbWVkLmNvbmYuajIgYi9iaW4vdGVzdHMvc3lzdGVtL2Ruc3NlY19ieXBh c3MvbnM0L25hbWVkLmNvbmYuajIKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAw MDAwLi4wMzk2OTVkOWI3CistLS0gL2Rldi9udWxsCisrKysgYi9iaW4vdGVzdHMvc3lzdGVtL2Ru c3NlY19ieXBhc3MvbnM0L25hbWVkLmNvbmYuajIKK0BAIC0wLDAgKzEsMzUgQEAKKysvKgorKyAq IENvcHlyaWdodCAoQykgSW50ZXJuZXQgU3lzdGVtcyBDb25zb3J0aXVtLCBJbmMuICgiSVNDIikK KysgKgorKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wCisrICoKKysgKiBUaGlz IFNvdXJjZSBDb2RlIEZvcm0gaXMgc3ViamVjdCB0byB0aGUgdGVybXMgb2YgdGhlIE1vemlsbGEg UHVibGljCisrICogTGljZW5zZSwgdi4gMi4wLiAgSWYgYSBjb3B5IG9mIHRoZSBNUEwgd2FzIG5v dCBkaXN0cmlidXRlZCB3aXRoIHRoaXMKKysgKiBmaWxlLCB5b3UgY2FuIG9idGFpbiBvbmUgYXQg aHR0cHM6Ly9tb3ppbGxhLm9yZy9NUEwvMi4wLy4KKysgKgorKyAqIFNlZSB0aGUgQ09QWVJJR0hU IGZpbGUgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwKKysgKiBpbmZv cm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKysgKi8KKysKKytvcHRpb25z IHsKKysJcXVlcnktc291cmNlIGFkZHJlc3MgMTAuNTMuMC40OworKwlub3RpZnktc291cmNlIDEw LjUzLjAuNDsKKysJdHJhbnNmZXItc291cmNlIDEwLjUzLjAuNDsKKysJcG9ydCBAUE9SVEA7Cisr CXBpZC1maWxlICJuYW1lZC5waWQiOworKwlsaXN0ZW4tb24geyAxMC41My4wLjQ7IH07CisrCWxp c3Rlbi1vbi12NiB7IG5vbmU7IH07CisrCWFsbG93LXRyYW5zZmVyIHsgYW55OyB9OworKwlyZWN1 cnNpb24geWVzOworKwlkbnNzZWMtdmFsaWRhdGlvbiB5ZXM7CisrCXN5bnRoLWZyb20tZG5zc2Vj IHllczsKKyt9OworKworK3RydXN0LWFuY2hvcnMgeworKwlAcm9vdC5kb21haW5AIEByb290LnR5 cGVAIEByb290LmNvbnRlbnRzQDsKKyt9OworKworK3pvbmUgIi4iIHsKKysJdHlwZSBoaW50Owor KwlmaWxlICIuLi8uLi9fY29tbW9uL3Jvb3QuaGludCI7CisrfTsKK2RpZmYgLS1naXQgYS9iaW4v dGVzdHMvc3lzdGVtL2Ruc3NlY19ieXBhc3MvdGVzdHNfYnlwYXNzLnB5IGIvYmluL3Rlc3RzL3N5 c3RlbS9kbnNzZWNfYnlwYXNzL3Rlc3RzX2J5cGFzcy5weQorbmV3IGZpbGUgbW9kZSAxMDA2NDQK K2luZGV4IDAwMDAwMDAwMDAuLmM0MWJiN2UwMTYKKy0tLSAvZGV2L251bGwKKysrKyBiL2Jpbi90 ZXN0cy9zeXN0ZW0vZG5zc2VjX2J5cGFzcy90ZXN0c19ieXBhc3MucHkKK0BAIC0wLDAgKzEsMTUy IEBACisrIyBDb3B5cmlnaHQgKEMpIEludGVybmV0IFN5c3RlbXMgQ29uc29ydGl1bSwgSW5jLiAo IklTQyIpCisrIworKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjAKKysjCisrIyBU aGlzIFNvdXJjZSBDb2RlIEZvcm0gaXMgc3ViamVjdCB0byB0aGUgdGVybXMgb2YgdGhlIE1vemls bGEgUHVibGljCisrIyBMaWNlbnNlLCB2LiAyLjAuICBJZiBhIGNvcHkgb2YgdGhlIE1QTCB3YXMg bm90IGRpc3RyaWJ1dGVkIHdpdGggdGhpcworKyMgZmlsZSwgeW91IGNhbiBvYnRhaW4gb25lIGF0 IGh0dHBzOi8vbW96aWxsYS5vcmcvTVBMLzIuMC8uCisrIworKyMgU2VlIHRoZSBDT1BZUklHSFQg ZmlsZSBkaXN0cmlidXRlZCB3aXRoIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbAorKyMgaW5mb3Jt YXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisrCisrZnJvbSBkYXRldGltZSBp bXBvcnQgZGF0ZXRpbWUsIHRpbWVkZWx0YSwgdGltZXpvbmUKKysKKytpbXBvcnQgc2h1dGlsCisr CisrZnJvbSBjcnlwdG9ncmFwaHkuaGF6bWF0LnByaW1pdGl2ZXMuYXN5bW1ldHJpYyBpbXBvcnQg ZWMKKysKKytpbXBvcnQgZG5zLmRuc3NlYworK2ltcG9ydCBkbnMubmFtZQorK2ltcG9ydCBkbnMu cmRhdGFjbGFzcworK2ltcG9ydCBkbnMucmRhdGFzZXQKKytpbXBvcnQgZG5zLnJkYXRhdHlwZQor K2ltcG9ydCBkbnMucnJzZXQKKytpbXBvcnQgZG5zLnpvbmUKKysKKytmcm9tIGlzY3Rlc3QucnVu IGltcG9ydCBFbnZDbWQKKysKKytpbXBvcnQgaXNjdGVzdAorKworK1RUTCA9IDM2MDAKKysKKysK KytkZWYgYm9vdHN0cmFwKCk6CisrICAgIGtleWdlbiA9IEVudkNtZCgiS0VZR0VOIiwgIi1xIC1h IEVDRFNBMjU2IikKKysgICAgc2lnbmVyID0gRW52Q21kKCJTSUdORVIiLCAiLVMgLWcgLU8gZnVs bCIpCisrCisrICAgIGRlZiBzaWduX3JlZ3VsYXJfem9uZShuczogc3RyLCB6b25lOiBzdHIsIGRh dGFiYXNlOiBzdHIpIC0+IGlzY3Rlc3Qua2FzcC5LZXk6CisrICAgICAgICBpc2N0ZXN0LmxvZy5p bmZvKGYie3pvbmV9OiBnZW5lcmF0ZSBrZXlzIikKKysgICAgICAgIGtleWdlbih6b25lLCBjd2Q9 bnMpLm91dC5zdHJpcCgpCisrICAgICAgICBrc2sgPSBrZXlnZW4oZiItZiBLU0sge3pvbmV9Iiwg Y3dkPW5zKS5vdXQuc3RyaXAoKQorKworKyAgICAgICAgaXNjdGVzdC5sb2cuaW5mbyhmInt6b25l fTogc2lnbiB6b25lIikKKysgICAgICAgIHNpZ25lcihmIi1vIHt6b25lfSB7ZGF0YWJhc2V9Iiwg Y3dkPW5zKQorKworKyAgICAgICAgaWYgbnMgIT0gIm5zMSI6CisrICAgICAgICAgICAgc2h1dGls LmNvcHkoZiJ7bnN9L2Rzc2V0LXt6b25lfSIsIGYibnMxL2Rzc2V0LXt6b25lfSIpCisrICAgICAg ICAgICAgc2h1dGlsLmNvcHkoZiJ7bnN9L3trc2t9LmtleSIsIGYibnMxL3trc2t9LmtleSIpCisr CisrICAgICAgICByZXR1cm4gaXNjdGVzdC5rYXNwLktleShrc2ssIGtleWRpcj1ucykKKysKKysg ICAgIyBkbnNzZWMtc2lnbnpvbmUgYW5kIGBkbnMuZG5zc2VjLnNpZ25fem9uZWAgY29ycmVjdGx5 IGRpc3JlZ2FyZCB0aGUgaW52YWxpZAorKyAgICAjIE5TRUMgZW50cmllcyB3aGVuIHNpZ25pbmcg dGhlIHpvbmUuIEhvd2V2ZXIsIGZvciB0aGlzIHRlc3Qgd2UgYWN0dWFseSAqd2FudCoKKysgICAg IyB0byBzZXJ2ZSBpbnZhbGlkIHlldCBzaWduZWQgem9uZXMuIFRvIGFjY29tcGxpc2ggdGhpcyB3 ZSBzaWduIHRoZSB6b25lIGFuZCB0aGVuCisrICAgICMgcmVwbGFjZSB0aGUgY29ycmVjdCBlbnRy aWVzIHdpdGggdGhlIGZhdWx0eSBvbmVzIGFjY29tcGFuaWVkIGJ5IGl0cyBSUlNJRy4KKysgICAg IworKyAgICAjIFRPRE8oYXlkaW4pOiBtb3ZlIHRoaXMgdG8gYGlzY3Rlc3RgIHRvIHNpZ24gYnJv a2VuIHpvbmVzCisrICAgIGRlZiBzaWduX3JvZ3VlX3pvbmUobnM6IHN0ciwgem9uZTogc3RyLCBk YXRhYmFzZTogc3RyKSAtPiBOb25lOgorKyAgICAgICAgIyBSZWFkIHpvbmUuCisrICAgICAgICBv cmlnaW4gPSBkbnMubmFtZS5mcm9tX3RleHQoem9uZSkKKysgICAgICAgIGRhdGEgPSBkbnMuem9u ZS5mcm9tX2ZpbGUoZiJ7bnN9L3tkYXRhYmFzZX0iLCBvcmlnaW49b3JpZ2luLCByZWxhdGl2aXpl PUZhbHNlKQorKworKyAgICAgICAgIyBHZXQga2V5IGZvciBzaWduaW5nLgorKyAgICAgICAgaXNj dGVzdC5sb2cuaW5mbyhmInt6b25lfTogZ2VuZXJhdGUga2V5cyIpCisrICAgICAgICBwcml2YXRl X2tleSA9IGVjLmdlbmVyYXRlX3ByaXZhdGVfa2V5KGVjLlNFQ1AyNTZSMSgpKQorKyAgICAgICAg ZG5za2V5ID0gZG5zLmRuc3NlYy5tYWtlX2Ruc2tleSgKKysgICAgICAgICAgICBwdWJsaWNfa2V5 PXByaXZhdGVfa2V5LnB1YmxpY19rZXkoKSwKKysgICAgICAgICAgICBhbGdvcml0aG09ZG5zLmRu c3NlYy5BbGdvcml0aG0uRUNEU0FQMjU2U0hBMjU2LAorKyAgICAgICAgICAgIGZsYWdzPTI1NywK KysgICAgICAgICkKKysKKysgICAgICAgICMgU2lnbiB6b25lLgorKyAgICAgICAgaXNjdGVzdC5s b2cuaW5mbyhmInt6b25lfTogc2lnbiB6b25lIikKKysgICAgICAgIG5vdyA9IGRhdGV0aW1lLm5v dyh0aW1lem9uZS51dGMpCisrICAgICAgICBpbmNlcHRpb24gPSBub3cgLSB0aW1lZGVsdGEoaG91 cnM9MSkKKysgICAgICAgIGV4cGlyYXRpb24gPSBub3cgKyB0aW1lZGVsdGEoZGF5cz0zMCkKKysK KysgICAgICAgIGZvciBuYW1lLCBub2RlIGluIGRhdGEubm9kZXMuaXRlbXMoKToKKysgICAgICAg ICAgICBvd25lciA9IG5hbWUuZGVyZWxhdGl2aXplKG9yaWdpbikKKysgICAgICAgICAgICByZGF0 YXNldHMgPSBsaXN0KG5vZGUucmRhdGFzZXRzKQorKworKyAgICAgICAgICAgIGZvciByZGF0YXNl dCBpbiByZGF0YXNldHM6CisrICAgICAgICAgICAgICAgIHJyc2V0ID0gZG5zLnJyc2V0LlJSc2V0 KG93bmVyLCByZGF0YXNldC5yZGNsYXNzLCByZGF0YXNldC5yZHR5cGUpCisrICAgICAgICAgICAg ICAgIHJyc2V0LnVwZGF0ZShyZGF0YXNldCkKKysKKysgICAgICAgICAgICAgICAgcnJzaWcgPSBk bnMuZG5zc2VjLnNpZ24oCisrICAgICAgICAgICAgICAgICAgICBycnNldD1ycnNldCwKKysgICAg ICAgICAgICAgICAgICAgIHByaXZhdGVfa2V5PXByaXZhdGVfa2V5LAorKyAgICAgICAgICAgICAg ICAgICAgc2lnbmVyPW9yaWdpbiwKKysgICAgICAgICAgICAgICAgICAgIGRuc2tleT1kbnNrZXks CisrICAgICAgICAgICAgICAgICAgICBpbmNlcHRpb249aW5jZXB0aW9uLAorKyAgICAgICAgICAg ICAgICAgICAgZXhwaXJhdGlvbj1leHBpcmF0aW9uLAorKyAgICAgICAgICAgICAgICAgICAgZGV0 ZXJtaW5pc3RpYz1GYWxzZSwKKysgICAgICAgICAgICAgICAgKQorKworKyAgICAgICAgICAgICAg ICByZGF0YXNldCA9IGRucy5yZGF0YXNldC5SZGF0YXNldChycnNldC5yZGNsYXNzLCBkbnMucmRh dGF0eXBlLlJSU0lHKQorKyAgICAgICAgICAgICAgICByZGF0YXNldC5hZGQocnJzaWcsIHJyc2V0 LnR0bCkKKysgICAgICAgICAgICAgICAgbm9kZS5yZXBsYWNlX3JkYXRhc2V0KHJkYXRhc2V0KQor KworKyAgICAgICAgIyBTaWduIEROU0tFWSBSUnNldC4KKysgICAgICAgIGRuc2tleV9ycnNldCA9 IGRucy5ycnNldC5SUnNldChvcmlnaW4sIGRucy5yZGF0YWNsYXNzLklOLCBkbnMucmRhdGF0eXBl LkROU0tFWSkKKysgICAgICAgIGRuc2tleV9ycnNldC5hZGQoZG5za2V5LCB0dGw9VFRMKQorKwor KyAgICAgICAgYXBleF9ub2RlID0gZGF0YS5ub2Rlc1tvcmlnaW5dCisrICAgICAgICBhcGV4X25v ZGUucmVwbGFjZV9yZGF0YXNldChkbnNrZXlfcnJzZXQpCisrCisrICAgICAgICBycnNpZyA9IGRu cy5kbnNzZWMuc2lnbigKKysgICAgICAgICAgICBycnNldD1kbnNrZXlfcnJzZXQsCisrICAgICAg ICAgICAgcHJpdmF0ZV9rZXk9cHJpdmF0ZV9rZXksCisrICAgICAgICAgICAgc2lnbmVyPW9yaWdp biwKKysgICAgICAgICAgICBkbnNrZXk9ZG5za2V5LAorKyAgICAgICAgICAgIGluY2VwdGlvbj1p bmNlcHRpb24sCisrICAgICAgICAgICAgZXhwaXJhdGlvbj1leHBpcmF0aW9uLAorKyAgICAgICAg ICAgIGRldGVybWluaXN0aWM9RmFsc2UsCisrICAgICAgICApCisrICAgICAgICByZGF0YXNldCA9 IGRucy5yZGF0YXNldC5SZGF0YXNldChycnNldC5yZGNsYXNzLCBkbnMucmRhdGF0eXBlLlJSU0lH KQorKyAgICAgICAgcmRhdGFzZXQuYWRkKHJyc2lnLCBkbnNrZXlfcnJzZXQudHRsKQorKyAgICAg ICAgYXBleF9ub2RlLnJlcGxhY2VfcmRhdGFzZXQocmRhdGFzZXQpCisrCisrICAgICAgICAjIE91 dHB1dCB6b25lLgorKyAgICAgICAgZGF0YS50b19maWxlKGYie25zfS97ZGF0YWJhc2V9LnNpZ25l ZCIsIHJlbGF0aXZpemU9RmFsc2UpCisrCisrICAgICAgICAjIE91dHB1dCBEUy4KKysgICAgICAg IGRzID0gZG5zLmRuc3NlYy5tYWtlX2RzKG5hbWU9b3JpZ2luLCBrZXk9ZG5za2V5LCBhbGdvcml0 aG09IlNIQTI1NiIpCisrICAgICAgICB3aXRoIG9wZW4oZiJuczEvZHNzZXQte3pvbmV9IiwgInci LCBlbmNvZGluZz0idXRmLTgiKSBhcyBmOgorKyAgICAgICAgICAgIGYud3JpdGUoZiJ7em9uZX0g e1RUTH0gSU4gRFMge2RzLnRvX3RleHQoKX1cbiIpCisrCisrICAgIHNpZ25fcm9ndWVfem9uZSgi bnMzIiwgImV2aWwudGVzdC4iLCAiZXZpbC5kYiIpCisrICAgIHNpZ25fcmVndWxhcl96b25lKCJu czIiLCAidmljdGltLnRlc3QuIiwgInZpY3RpbS5kYiIpCisrICAgIHNpZ25fcmVndWxhcl96b25l KCJuczEiLCAidGVzdC4iLCAidGVzdC5kYiIpCisrICAgIHJvb3Rfa3NrID0gc2lnbl9yZWd1bGFy X3pvbmUoIm5zMSIsICIuIiwgInJvb3QuZGIiKQorKworKyAgICByZXR1cm4geworKyAgICAgICAg InJvb3QiOiByb290X2tzay5pbnRvX3RhKCJzdGF0aWMta2V5IiksCisrICAgIH0KKysKKysKKytk ZWYgdGVzdF9vdXRfb2Zfem9uZV9uc2VjKG5zNCk6CisrICAgIGlzY3Rlc3QubG9nLmluZm8oInRy eWluZyB0byBwb2lzb24gYWdncmVzc2l2ZSBuc2VjIGNhY2hlIikKKysgICAgbXNnID0gaXNjdGVz dC5xdWVyeS5jcmVhdGUoIm54LmV2aWwudGVzdCIsICJBIikKKysgICAgcmVzID0gaXNjdGVzdC5x dWVyeS50Y3AobXNnLCBuczQuaXApCisrICAgIGlzY3Rlc3QuY2hlY2subm9hZGZsYWcocmVzKQor KworKyAgICBpc2N0ZXN0LmxvZy5pbmZvKCJxdWVyeSB2aWN0aW0gZnJvbSByZWN1cnNpdmUiKQor KyAgICBtc2cgPSBpc2N0ZXN0LnF1ZXJ5LmNyZWF0ZSgidmljdGltLnRlc3QiLCAiU09BIikKKysg ICAgcmVzID0gaXNjdGVzdC5xdWVyeS50Y3AobXNnLCBuczQuaXAsIGF0dGVtcHRzPTEpCisrICAg IGlzY3Rlc3QuY2hlY2subm9lcnJvcihyZXMpCisrICAgIGlzY3Rlc3QuY2hlY2suYWRmbGFnKHJl cykKKysgICAgaXNjdGVzdC5jaGVjay5ycl9jb3VudF9lcShyZXMuYW5zd2VyLCAyKQorKworKyAg ICBpc2N0ZXN0LmxvZy5pbmZvKCJjaGVja2luZyBmb3IgcXVlcnkgaGlzdG9yeSBvbiB2aWN0aW0g bmFtZXNlcnZlciIpCisrICAgIHdpdGggb3BlbigibnMyL25hbWVkLnJ1biIsICJyIiwgZW5jb2Rp bmc9InV0Zi04IikgYXMgZjoKKysgICAgICAgIGFzc2VydCAiKHZpY3RpbS50ZXN0KTogcXVlcnkg J3ZpY3RpbS50ZXN0L1NPQS9JTicgYXBwcm92ZWQiIGluIGYucmVhZCgpCistLSAKKzIuNTUuMAor CgpkaWZmIC0tZ2l0IGEvYmluZC05LjE4LUNWRS0yMDI2LTEzMzIxLnBhdGNoIGIvYmluZC05LjE4 LUNWRS0yMDI2LTEzMzIxLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu LjhhMDlmZjEKLS0tIC9kZXYvbnVsbAorKysgYi9iaW5kLTkuMTgtQ1ZFLTIwMjYtMTMzMjEucGF0 Y2gKQEAgLTAsMCArMSwyNzcgQEAKK0Zyb20gNzI5Njc0NDVmMzdhMDFkMjhiNGVjYjBlOGY5MDdl MjJmZGRkNTA4NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9BeWQ9 QzQ9QjFuPTIwTWVyY2FuPz0gPGF5ZGluQGlzYy5vcmc+CitEYXRlOiBUaHUsIDcgTWF5IDIwMjYg MTg6NTk6MjAgKzAzMDAKK1N1YmplY3Q6IFtQQVRDSF0gUmVqZWN0IG91dC1vZi16b25lIE5TRUMg bmV4dCBvd25lciBuYW1lcworCitXaGVuIHZlcmlmeWluZyBETlNTRUMgcmVjb3JkcywgbWFrZSBz dXJlIHRoYXQgYSBuZXh0IG93bmVyIG5hbWUgb2YKK2FuIE5TRUMgcmVjb3JkIGlzIGEgc3ViZG9t YWluIG9mIHRoZSBzaWduZXIgZmllbGQuCisKK1RoaXMgZm9sbG93cyB0aGUgc3BlY2lmaWNhdGlv biBSRkMgNDAzNCwgc2VjdGlvbiA0LjEuMToKKworIE93bmVyIG5hbWVzIG9mIFJSc2V0cyBmb3Ig d2hpY2ggdGhlIGdpdmVuIHpvbmUgaXMgbm90IGF1dGhvcml0YXRpdmUKKyAoc3VjaCBhcyBnbHVl IHJlY29yZHMpIE1VU1QgTk9UIGJlIGxpc3RlZCBpbiB0aGUgTmV4dCBEb21haW4gTmFtZQorIHVu bGVzcyBhdCBsZWFzdCBvbmUgYXV0aG9yaXRhdGl2ZSBSUnNldCBleGlzdHMgYXQgdGhlIHNhbWUg b3duZXIKKyBuYW1lLgorCitXaGlsZSB0aGUgYWJvdmUgcGFyYWdyYXBoIGlzIGludGVuZGVkIGZv ciBnbHVlIHJlY29yZHMsIGl0IGFsc28KK2FwcGxpZXMgdG8gb3V0LW9mLXpvbmUgZGF0YS4KKwor KGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgNDA2NTUxMmQyNWI3MTYwNWI5NTAyYmI2OWRmYjkw Mzc3NmQzNWFhOSkKKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDA1ODAyM2M2NmYxMWQ3ODU5 MGQ0YWE4YzRmOTg5NDZjNGM5NjVlMjEpCisKK2NoYW5nZSBkbnNfbnNlY19yZXF1aXJlZHR5cGVz cHJlc2VudCB0byBkbnNfbnNlY19pc19sZWdhbAorCitDaGFuZ2UgYGRuc19uc2VjX3JlcXVpcmVk dHlwZXNwcmVzZW50YCB0byBgZG5zX25zZWNfaXNfbGVnYWxgIGFzIGEKK2Z1bmN0aW9uIGZvciBj aGVja2luZyBtdWx0aXBsZSBOU0VDIHZhbGlkaXR5IHJ1bGVzLgorCitDdXJyZW50bHkgd2Ugbm93 IGFkZGl0aW9uYWxseSBjaGVjayBmb3Igb3V0LW9mLXpvbmUgTlNFQyBlbnRyaWVzLgorCisoY2hl cnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBiZTJhNmE0OTczMTI0Njk4OTBiNTUyOTA3ZDAzOWQyZGUw YjQ0Y2NjKQorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZjc1MWUxOWEzMGQxMDdmMDRjMmY2 NDRhZmY5ZjhkYWI4ZmVkMDNhYikKKy0tLQorIGxpYi9kbnMvZG5zc2VjLmMgICAgICAgICAgICAg fCAxMyArKysrKysrKysrCisgbGliL2Rucy9pbmNsdWRlL2Rucy9kbnNzZWMuaCB8ICA2ICsrKysr CisgbGliL2Rucy9pbmNsdWRlL2Rucy9uc2VjLmggICB8IDE4ICsrKysrKysrKystLS0tCisgbGli L2Rucy9uc2VjLmMgICAgICAgICAgICAgICB8IDE3ICsrKysrKysrKystLS0KKyBsaWIvZG5zL3Jl c29sdmVyLmMgICAgICAgICAgIHwgNDggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr Ky0tCisgbGliL25zL3F1ZXJ5LmMgICAgICAgICAgICAgICB8ICA2ICsrLS0tCisgNiBmaWxlcyBj aGFuZ2VkLCA5NCBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBh L2xpYi9kbnMvZG5zc2VjLmMgYi9saWIvZG5zL2Ruc3NlYy5jCitpbmRleCA5YjliMWYyYmIyLi41 YWNhZWE5ZWNiIDEwMDY0NAorLS0tIGEvbGliL2Rucy9kbnNzZWMuYworKysrIGIvbGliL2Rucy9k bnNzZWMuYworQEAgLTM1Nyw4ICszNTcsMTAgQEAgaXNjX3Jlc3VsdF90CisgZG5zX2Ruc3NlY192 ZXJpZnkoY29uc3QgZG5zX25hbWVfdCAqbmFtZSwgZG5zX3JkYXRhc2V0X3QgKnNldCwgZHN0X2tl eV90ICprZXksCisgCQkgIGJvb2wgaWdub3JldGltZSwgdW5zaWduZWQgaW50IG1heGJpdHMsIGlz Y19tZW1fdCAqbWN0eCwKKyAJCSAgZG5zX3JkYXRhX3QgKnNpZ3JkYXRhLCBkbnNfbmFtZV90ICp3 aWxkKSB7CisrCWRuc19yZGF0YV9uc2VjX3QgbnNlYzsKKyAJZG5zX3JkYXRhX3Jyc2lnX3Qgc2ln OworIAlkbnNfZml4ZWRuYW1lX3QgZm5ld25hbWU7CisrCWRuc19yZGF0YV90IHJkYXRhID0gRE5T X1JEQVRBX0lOSVQ7CisgCWlzY19yZWdpb25fdCByOworIAlpc2NfYnVmZmVyX3QgZW52YnVmOwor IAlkbnNfcmRhdGFfdCAqcmRhdGFzOworQEAgLTQ2NCw2ICs0NjYsMTcgQEAgZG5zX2Ruc3NlY192 ZXJpZnkoY29uc3QgZG5zX25hbWVfdCAqbmFtZSwgZG5zX3JkYXRhc2V0X3QgKnNldCwgZHN0X2tl eV90ICprZXksCisgCQl9CisgCQlicmVhazsKKyAJfQorKwkvKgorKwkgKiBDaGVjayBmb3Igb3V0 IG9mIHpvbmUgTlNFQyBlbnRyaWVzLgorKwkgKi8KKysJaWYgKHNldC0+dHlwZSA9PSBkbnNfcmRh dGF0eXBlX25zZWMpIHsKKysJCVJFVEVSUihkbnNfcmRhdGFzZXRfZmlyc3Qoc2V0KSk7CisrCQlk bnNfcmRhdGFzZXRfY3VycmVudChzZXQsICZyZGF0YSk7CisrCQlSRVRFUlIoZG5zX3JkYXRhX3Rv c3RydWN0KCZyZGF0YSwgJm5zZWMsIE5VTEwpKTsKKysJCWlmICghZG5zX25hbWVfaXNzdWJkb21h aW4oJm5zZWMubmV4dCwgJnNpZy5zaWduZXIpKSB7CisrCQkJcmV0dXJuIEROU19SX05PVkFMSURO U0VDOworKwkJfQorKwl9CisgCisgYWdhaW46CisgCXJldCA9IGRzdF9jb250ZXh0X2NyZWF0ZShr ZXksIG1jdHgsIEROU19MT0dDQVRFR09SWV9ETlNTRUMsIGZhbHNlLAorZGlmZiAtLWdpdCBhL2xp Yi9kbnMvaW5jbHVkZS9kbnMvZG5zc2VjLmggYi9saWIvZG5zL2luY2x1ZGUvZG5zL2Ruc3NlYy5o CitpbmRleCBjYjhmZDlkYzIwLi4yYmUxMWI5MTQ0IDEwMDY0NAorLS0tIGEvbGliL2Rucy9pbmNs dWRlL2Rucy9kbnNzZWMuaAorKysrIGIvbGliL2Rucy9pbmNsdWRlL2Rucy9kbnNzZWMuaAorQEAg LTE1MSw2ICsxNTEsOSBAQCBkbnNfZG5zc2VjX3ZlcmlmeShjb25zdCBkbnNfbmFtZV90ICpuYW1l LCBkbnNfcmRhdGFzZXRfdCAqc2V0LCBkc3Rfa2V5X3QgKmtleSwKKyAgKgl0aGlzIHJlY29yZCwg YXMgdGhpcyByZXF1aXJlcyBhIHJlc29sdmVyIG9yIGRhdGFiYXNlLgorICAqCUlmICdpZ25vcmV0 aW1lJyBpcyB0cnVlLCB0ZW1wb3JhbCB2YWxpZGl0eSB3aWxsIG5vdCBiZSBjaGVja2VkLgorICAq CisrICoJSWYgJ3NldCcgaXMgb2YgdHlwZSBOU0VDLCB0aGlzIGZ1bmN0aW9uIGFsc28gdmVyaWZp ZXMgdGhhdCB0aGUKKysgKglOZXh0IE5hbWUgaXMgYSBzdWJkb21haW4gb2YgdGhlIFNpZ25lcidz IE5hbWUgZnJvbSAnc2lncmRhdGEnLgorKyAqCisgICoJJ21heGJpdHMnIHNwZWNpZmllcyB0aGUg bWF4aW11bSBudW1iZXIgb2YgcnNhIGV4cG9uZW50IGJpdHMgYWNjZXB0ZWQuCisgICoKKyAgKglS ZXF1aXJlczoKK0BAIC0xNzMsNiArMTc2LDkgQEAgZG5zX2Ruc3NlY192ZXJpZnkoY29uc3QgZG5z X25hbWVfdCAqbmFtZSwgZG5zX3JkYXRhc2V0X3QgKnNldCwgZHN0X2tleV90ICprZXksCisgICpc bGkJCSNETlNfUl9LRVlVTkFVVEhPUklaRUQgLSB0aGUga2V5IGNhbm5vdCBzaWduIHRoaXMgZGF0 YSAoZWl0aGVyCisgICoJCQlpdCBpcyBub3QgYSB6b25lIGtleSBvciBpdHMgZmxhZ3MgcHJldmVu dAorICAqCQkJYXV0aGVudGljYXRpb24pCisrICoKKysgKlxsaQkJI0ROU19SX05PVkFMSUROU0VD IC0gdGhlIE5TRUMgcmRhdGEgaXMgbm90IHZhbGlkCisrICpcbGkJCSNETlNfUl9LRVlVTkFVVEhP UklaRUQgLSB0aGUga2V5IGNhbm5vdCBzaWduIHRoaXMgZGF0YQorICAqXGxpCQlEU1RfUl8qCisg ICovCisgCitkaWZmIC0tZ2l0IGEvbGliL2Rucy9pbmNsdWRlL2Rucy9uc2VjLmggYi9saWIvZG5z L2luY2x1ZGUvZG5zL25zZWMuaAoraW5kZXggNTBkZjhlNDVmMS4uMWU3MWJmMTRlOCAxMDA2NDQK Ky0tLSBhL2xpYi9kbnMvaW5jbHVkZS9kbnMvbnNlYy5oCisrKysgYi9saWIvZG5zL2luY2x1ZGUv ZG5zL25zZWMuaAorQEAgLTExOSwxMyArMTE5LDIxIEBAIGRuc19uc2VjX25vZXhpc3Rub2RhdGEo ZG5zX3JkYXRhdHlwZV90IHR5cGUsIGNvbnN0IGRuc19uYW1lX3QgKm5hbWUsCisgICovCisgCisg Ym9vbAorLWRuc19uc2VjX3JlcXVpcmVkdHlwZXNwcmVzZW50KGRuc19yZGF0YXNldF90ICpyZGF0 YXNldCk7CistLyoKKy0gKiBSZXR1cm4gdHJ1ZSBpZiBhbGwgdGhlIE5TRUMgcmVjb3JkcyBpbiBy ZGF0YXNldCBoYXZlIGJvdGgKKy0gKiBOU0VDIGFuZCBSUlNJRyBwcmVzZW50LgorK2Ruc19uc2Vj X2lzX2xlZ2FsKGRuc19yZGF0YXNldF90ICpyZGF0YXNldCwgY29uc3QgZG5zX25hbWVfdCAqbmFt ZSk7CisrLyoqPAorKyAqIFxicmllZgorKyAqIFZhbGlkYXRlcyBhIHJkYXRhc2V0IG9mIHR5cGUg TlNFQy4KKyAgKgorLSAqIFJlcXVpcmVzOgorKyAqIFRoaXMgZnVuY3Rpb25zIGNoZWNrcyBmb3Ig dGhlIGZvbGxvd2luZyBpbiB0aGUgZ2l2ZW4gcmRhdGFzZXQ6CisrICogXGxpIEFsbCBOU0VDIHJl Y29yZHMgaGF2ZSBib3RoIE5TRUMgYW5kIFJSU0lHIHByZXNlbnQKKysgKiBcbGkgQWxsIE5TRUMg ZW50cmllcyBhcmUgdW5kZXIgdGhlIGBuYW1lYAorKyAqCisrICogXHBhciBSZXF1aXJlczoKKyAg KiBcbGkJcmRhdGFzZXQgdG8gYmUgYSBOU0VDIHJkYXRhc2V0LgorKyAqIFxsaSAgYG5hbWVgIGlz IGEgdmFsaWQgZG5zX25hbWVfdAorKyAqCisrICogXHJldHZhbCB0cnVlIGlmIGFsbCB0aGUgY2hl Y2tzIHBhc3MKKysgKiBccmV0dmFsIGZhbHNlIG90aGVyd2lzZQorICAqLworIAorIElTQ19MQU5H X0VORERFQ0xTCitkaWZmIC0tZ2l0IGEvbGliL2Rucy9uc2VjLmMgYi9saWIvZG5zL25zZWMuYwor aW5kZXggODBlZThkN2Q1OC4uNWFiY2NlNWY3ZiAxMDA2NDQKKy0tLSBhL2xpYi9kbnMvbnNlYy5j CisrKysgYi9saWIvZG5zL25zZWMuYworQEAgLTIxLDYgKzIxLDcgQEAKKyAjaW5jbHVkZSA8aXNj L3V0aWwuaD4KKyAKKyAjaW5jbHVkZSA8ZG5zL2RiLmg+CisrI2luY2x1ZGUgPGRucy9uYW1lLmg+ CisgI2luY2x1ZGUgPGRucy9uc2VjLmg+CisgI2luY2x1ZGUgPGRucy9yZGF0YS5oPgorICNpbmNs dWRlIDxkbnMvcmRhdGFsaXN0Lmg+CitAQCAtNDk3LDggKzQ5OCw5IEBAIGRuc19uc2VjX25vZXhp c3Rub2RhdGEoZG5zX3JkYXRhdHlwZV90IHR5cGUsIGNvbnN0IGRuc19uYW1lX3QgKm5hbWUsCisg fQorIAorIGJvb2wKKy1kbnNfbnNlY19yZXF1aXJlZHR5cGVzcHJlc2VudChkbnNfcmRhdGFzZXRf dCAqbnNlY3NldCkgeworLQlkbnNfcmRhdGFzZXRfdCByZGF0YXNldDsKKytkbnNfbnNlY19pc19s ZWdhbChkbnNfcmRhdGFzZXRfdCAqbnNlY3NldCwgY29uc3QgZG5zX25hbWVfdCAqbmFtZSkgewor KwlkbnNfcmRhdGFzZXRfdCByZGF0YXNldCA9IEROU19SREFUQVNFVF9JTklUOworKwlkbnNfcmRh dGFfbnNlY190IG5zZWM7CisgCWlzY19yZXN1bHRfdCByZXN1bHQ7CisgCWJvb2wgZm91bmQgPSBm YWxzZTsKKyAKK0BAIC01MTMsMTIgKzUxNSwxOSBAQCBkbnNfbnNlY19yZXF1aXJlZHR5cGVzcHJl c2VudChkbnNfcmRhdGFzZXRfdCAqbnNlY3NldCkgeworIAl7CisgCQlkbnNfcmRhdGFfdCByZGF0 YSA9IEROU19SREFUQV9JTklUOworIAkJZG5zX3JkYXRhc2V0X2N1cnJlbnQoJnJkYXRhc2V0LCAm cmRhdGEpOworLQkJaWYgKCFkbnNfbnNlY190eXBlcHJlc2VudCgmcmRhdGEsIGRuc19yZGF0YXR5 cGVfbnNlYykgfHwKKy0JCSAgICAhZG5zX25zZWNfdHlwZXByZXNlbnQoJnJkYXRhLCBkbnNfcmRh dGF0eXBlX3Jyc2lnKSkKKysKKysJCS8qIG11c3QgbmV2ZXIgZmFpbCAqLworKwkJcmVzdWx0ID0g ZG5zX3JkYXRhX3Rvc3RydWN0KCZyZGF0YSwgJm5zZWMsIE5VTEwpOworKwkJSU5TSVNUKHJlc3Vs dCA9PSBJU0NfUl9TVUNDRVNTKTsKKysKKysJCWlmICghZG5zX25hbWVfaXNzdWJkb21haW4oJm5z ZWMubmV4dCwgbmFtZSkgfHwKKysJCSAgICAhZG5zX25zZWNfdHlwZXByZXNlbnQoJnJkYXRhLCBk bnNfcmRhdGF0eXBlX3Jyc2lnKSB8fAorKwkJICAgICFkbnNfbnNlY190eXBlcHJlc2VudCgmcmRh dGEsIGRuc19yZGF0YXR5cGVfbnNlYykpCisgCQl7CisgCQkJZG5zX3JkYXRhc2V0X2Rpc2Fzc29j aWF0ZSgmcmRhdGFzZXQpOworIAkJCXJldHVybiBmYWxzZTsKKyAJCX0KKysKKyAJCWZvdW5kID0g dHJ1ZTsKKyAJfQorIAlkbnNfcmRhdGFzZXRfZGlzYXNzb2NpYXRlKCZyZGF0YXNldCk7CitkaWZm IC0tZ2l0IGEvbGliL2Rucy9yZXNvbHZlci5jIGIvbGliL2Rucy9yZXNvbHZlci5jCitpbmRleCAw NTljZTUzYTllLi5lYWM2N2Y3YTE5IDEwMDY0NAorLS0tIGEvbGliL2Rucy9yZXNvbHZlci5jCisr KysgYi9saWIvZG5zL3Jlc29sdmVyLmMKK0BAIC02NSw3ICs2NSw5IEBACisgI2luY2x1ZGUgPGRu cy9yb290bnMuaD4KKyAjaW5jbHVkZSA8ZG5zL3N0YXRzLmg+CisgI2luY2x1ZGUgPGRucy90c2ln Lmg+CisrI2luY2x1ZGUgPGRucy90eXBlcy5oPgorICNpbmNsdWRlIDxkbnMvdmFsaWRhdG9yLmg+ CisrI2luY2x1ZGUgPGRucy92aWV3Lmg+CisgI2luY2x1ZGUgPGRucy96b25lLmg+CisgCisgLyog RGV0YWlsZWQgbG9nZ2luZyBvZiBmY3R4IGF0dGFjaC9kZXRhY2ggKi8KK0BAIC01NjAzLDYgKzU2 MDUsMzYgQEAgZmN0eF9zZXRyZXN1bHQoZmV0Y2hjdHhfdCAqZmN0eCwgZG5zX3JkYXRhc2V0X3Qg KnJkYXRhc2V0KSB7CisgCXJldHVybiByZXN1bHQ7CisgfQorIAorK3N0YXRpYyBib29sCisrZ2V0 X2FuZF9jaGVja19zaWduZXJfbmFtZShkbnNfbmFtZV90ICpzaWduZXIsIGRuc19yZGF0YXNldF90 ICpzaWdyZGF0YXNldCkgeworKwlkbnNfcmRhdGFfcnJzaWdfdCBycnNpZzsKKysJaXNjX3Jlc3Vs dF90IHJlc3VsdDsKKysJZG5zX3JkYXRhX3QgcmRhdGE7CisrCisrCWlmIChkbnNfcmRhdGFzZXRf Zmlyc3Qoc2lncmRhdGFzZXQpICE9IElTQ19SX1NVQ0NFU1MpIHsKKysJCXJldHVybiBmYWxzZTsK KysJfQorKworKwlyZGF0YSA9IChkbnNfcmRhdGFfdClETlNfUkRBVEFfSU5JVDsKKysJZG5zX3Jk YXRhc2V0X2N1cnJlbnQoc2lncmRhdGFzZXQsICZyZGF0YSk7CisrCXJlc3VsdCA9IGRuc19yZGF0 YV90b3N0cnVjdCgmcmRhdGEsICZycnNpZywgTlVMTCk7CisrCUlOU0lTVChyZXN1bHQgPT0gSVND X1JfU1VDQ0VTUyk7CisrCWRuc19uYW1lX2NvcHkoJnJyc2lnLnNpZ25lciwgc2lnbmVyKTsKKysK KysJd2hpbGUgKGRuc19yZGF0YXNldF9uZXh0KHNpZ3JkYXRhc2V0KSA9PSBJU0NfUl9TVUNDRVNT KSB7CisrCQlyZGF0YSA9IChkbnNfcmRhdGFfdClETlNfUkRBVEFfSU5JVDsKKysJCWRuc19yZGF0 YXNldF9jdXJyZW50KHNpZ3JkYXRhc2V0LCAmcmRhdGEpOworKwkJcmVzdWx0ID0gZG5zX3JkYXRh X3Rvc3RydWN0KCZyZGF0YSwgJnJyc2lnLCBOVUxMKTsKKysJCUlOU0lTVChyZXN1bHQgPT0gSVND X1JfU1VDQ0VTUyk7CisrCisrCQlpZiAoIWRuc19uYW1lX2VxdWFsKHNpZ25lciwgJnJyc2lnLnNp Z25lcikpIHsKKysJCQlyZXR1cm4gZmFsc2U7CisrCQl9CisrCX0KKysKKysJcmV0dXJuIHRydWU7 CisrfQorKworIC8qCisgICogVGhlIHZhbGlkYXRvciBoYXMgZmluaXNoZWQuCisgICovCitAQCAt NTYzMyw2ICs1NjY1LDggQEAgdmFsaWRhdGVkKGlzY190YXNrX3QgKnRhc2ssIGlzY19ldmVudF90 ICpldmVudCkgeworIAlkbnNfZml4ZWRuYW1lX3QgZndpbGQ7CisgCWRuc19uYW1lX3QgKndpbGQg PSBOVUxMOworIAlkbnNfbWVzc2FnZV90ICptZXNzYWdlID0gTlVMTDsKKysJZG5zX2ZpeGVkbmFt ZV90IGZzaWduZXI7CisrCWRuc19uYW1lX3QgKnNpZ25lciA9IE5VTEw7CisgCisgCVVOVVNFRCh0 YXNrKTsgLyogZm9yIG5vdyAqLworIAorQEAgLTYwMjEsMTAgKzYwNTUsMjAgQEAgYW5zd2VyX3Jl c3BvbnNlOgorIAkJCX0KKyAKKyAJCQkvKgorLQkJCSAqIERvbid0IGNhY2hlIE5TRUMgaWYgbWlz c2luZyBOU0VDIG9yIFJSU0lHIHR5cGVzLgorKwkJCSAqIERvbid0IGNhY2hlIGlmIGFsbCB0aGUg UlJTSUdzIGRvbid0IGhhdmUgdGhlIHNhbWUKKysJCQkgKiBzaWduZXIuCisrCQkJICovCisrCQkJ c2lnbmVyID0gZG5zX2ZpeGVkbmFtZV9pbml0bmFtZSgmZnNpZ25lcik7CisrCQkJaWYgKCFnZXRf YW5kX2NoZWNrX3NpZ25lcl9uYW1lKHNpZ25lciwgc2lncmRhdGFzZXQpKSB7CisrCQkJCWNvbnRp bnVlOworKwkJCX0KKysKKysJCQkvKgorKwkJCSAqIERvbid0IGNhY2hlIE5TRUMgaWYgbWlzc2lu ZyBOU0VDIG9yIFJSU0lHCisrCQkJICogdHlwZXMuCisgCQkJICovCisgCQkJaWYgKHJkYXRhc2V0 LT50eXBlID09IGRuc19yZGF0YXR5cGVfbnNlYyAmJgorLQkJCSAgICAhZG5zX25zZWNfcmVxdWly ZWR0eXBlc3ByZXNlbnQocmRhdGFzZXQpKQorKwkJCSAgICAhZG5zX25zZWNfaXNfbGVnYWwocmRh dGFzZXQsIHNpZ25lcikpCisgCQkJeworIAkJCQljb250aW51ZTsKKyAJCQl9CitkaWZmIC0tZ2l0 IGEvbGliL25zL3F1ZXJ5LmMgYi9saWIvbnMvcXVlcnkuYworaW5kZXggMmEyYmExZGFiYS4uOGJi Y2Q3ZmYzMCAxMDA2NDQKKy0tLSBhL2xpYi9ucy9xdWVyeS5jCisrKysgYi9saWIvbnMvcXVlcnku YworQEAgLTEwMzcwLDEwICsxMDM3MCwxMCBAQCBxdWVyeV9jb3ZlcmluZ25zZWMocXVlcnlfY3R4 X3QgKnFjdHgpIHsKKyAJfQorIAorIAkvKgorLQkgKiBJZiBOU0VDIG9yIFJSU0lHIGFyZSBtaXNz aW5nIGZyb20gdGhlIHR5cGUgbWFwCistCSAqIHJlamVjdCB0aGUgTlNFQyBSUnNldC4KKysJICog Q2hlY2sgdGhhdCB0aGUgTlNFQyBlbnRyeSBpcyBsZWdhbC4KKysJICogKE5TRUMgKyBSUlNJRyBw cmVzZW50IGFuZCB0aGUgZW50cnkgaXNuJ3Qgb3V0LW9mLXpvbmUpCisgCSAqLworLQlpZiAoIWRu c19uc2VjX3JlcXVpcmVkdHlwZXNwcmVzZW50KHFjdHgtPnJkYXRhc2V0KSkgeworKwlpZiAoIWRu c19uc2VjX2lzX2xlZ2FsKHFjdHgtPnJkYXRhc2V0LCBzaWduZXIpKSB7CisgCQlnb3RvIGNsZWFu dXA7CisgCX0KKyAKKy0tIAorMi41NS4wCisKCmRpZmYgLS1naXQgYS9iaW5kLnNwZWMgYi9iaW5k LnNwZWMKaW5kZXggYzAzMmJhOS4uMmE5MmNkMyAxMDA2NDQKLS0tIGEvYmluZC5zcGVjCisrKyBi L2JpbmQuc3BlYwpAQCAtMTY2LDYgKzE2Niw5IEBAIFBhdGNoNDc6IGJpbmQtOS4xOC1DVkUtMjAy Ni0xMDcyMy10ZXN0LnBhdGNoCiAjIGh0dHBzOi8vZ2l0bGFiLmlzYy5vcmcvaXNjLXByb2plY3Rz L2JpbmQ5L2NvbW1pdC9iOWZmMmM5YTM2YmI2NzhmZDEzOTNkNGY5MzJiMzVhNjg4MmNkMmE4CiBQ YXRjaDQ4OiBiaW5kLTkuMTgtQ1ZFLTIwMjYtMTMyMDQucGF0Y2gKIFBhdGNoNDk6IGJpbmQtOS4x OC1DVkUtMjAyNi0xMzIwNC10ZXN0LnBhdGNoCisjIGh0dHBzOi8vZ2l0bGFiLmlzYy5vcmcvaXNj LXByb2plY3RzL2JpbmQ5L2NvbW1pdC8zNmYzZDUwZjljOGViYzhkMjVlZTAzM2U3MDdjYTUwMmUy MGIwODNmCitQYXRjaDUwOiBiaW5kLTkuMTgtQ1ZFLTIwMjYtMTMzMjEucGF0Y2gKK1BhdGNoNTE6 IGJpbmQtOS4xOC1DVkUtMjAyNi0xMzMyMS10ZXN0LnBhdGNoCiAKICV7P3N5c3RlbWRfb3JkZXJp bmd9CiAjIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9DaGFuZ2VzL1JQTVN1cG9ydEZv clN5c3RlbWRTeXN1c2VycwpAQCAtOTc0LDYgKzk3Nyw3IEBAIGZpOwogLSBDYWNoZSBwb2lzb25p bmcgdmlhIGxhYmVsIGNvdW50IGRpc2NyZXBhbmN5LCBSUlNJRywgd2lsZGNhcmRzIChDVkUtMjAy Ni0xMTcyMSkKIC0gSW5jb3JyZWN0IGFjY2VwdGFuY2Ugb2YgTlNFQzMgcmVjb3JkcyAoQ1ZFLTIw MjYtMTA3MjMpCiAtIFVuZXhwZWN0ZWQgZXhpdCB3aXRoIE5TRUMgYW5kIE5TRUMzIGJvdGggcHJl c2VudCAoQ1ZFLTIwMjYtMTMyMDQpCistIEROU1NFQyBWYWxpZGF0aW9uIEJ5cGFzcyB2aWEgT3V0 LW9mLVpvbmUgTlNFQyBOZXh0IEZpZWxkIChDVkUtMjAyNi0xMzMyMSkKIAogKiBXZWQgSnVuIDE3 IDIwMjYgUGV0ciBNZW7FocOtayA8cGVtZW5zaWtAcmVkaGF0LmNvbT4gLSAzMjo5LjE4LjUwLTEK IC0gVXBkYXRlIHRvIDkuMTguNTAgKHJoYnojMjQ4OTgzMykK