From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 27569 invoked from network); 13 Nov 2023 14:45:43 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 13 Nov 2023 14:45:43 -0000 Content-Type: multipart/mixed; boundary="===============0052578822226623713==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_webrtc-audio-processing=3A_update_to_1=2E0=2E?= To: ml@inbox.vuxu.org From: mhmdanas Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Mon, 13 Nov 2023 15:45:43 +0100 List-Id: Message-ID: <20231113144543.5TO27pMniPYm1h2VKHYr09IST0SkgwOrMYXwIHgBCk0@z> GitHub notification mails are now in MIME to allow UTF8. --===============0052578822226623713== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgbWhtZGFuYXMgYWdhaW5zdCBtYXN0 ZXIgb24gdGhlIHZvaWQtcGFja2FnZXMgcmVwb3NpdG9yeQoKaHR0cHM6Ly9naXRodWIuY29tL21o bWRhbmFzL3ZvaWQtcGFja2FnZXMgd2VicnRjLWF1ZGlvLXByb2Nlc3NpbmctMS4wLTIKaHR0cHM6 Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzQ0MDY5Cgp3ZWJydGMt YXVkaW8tcHJvY2Vzc2luZzogdXBkYXRlIHRvIDEuMC4KPCEtLSBVbmNvbW1lbnQgcmVsZXZhbnQg c2VjdGlvbnMgYW5kIGRlbGV0ZSBvcHRpb25zIHdoaWNoIGFyZSBub3QgYXBwbGljYWJsZSAtLT4K CiMjIyMgVGVzdGluZyB0aGUgY2hhbmdlcwotIEkgdGVzdGVkIHRoZSBjaGFuZ2VzIGluIHRoaXMg UFI6ICoqTk8qKgoKQmxvY2tlZCBieQpodHRwczovL2dpdGxhYi5mcmVlZGVza3RvcC5vcmcvcHVs c2VhdWRpby9wdWxzZWF1ZGlvLy0vbWVyZ2VfcmVxdWVzdHMvMzk1LgoKPCEtLQojIyMjIE5ldyBw YWNrYWdlCi0gVGhpcyBuZXcgcGFja2FnZSBjb25mb3JtcyB0byB0aGUgW3BhY2thZ2UgcmVxdWly ZW1lbnRzXShodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL2Jsb2Iv bWFzdGVyL0NPTlRSSUJVVElORy5tZCNwYWNrYWdlLXJlcXVpcmVtZW50cyk6ICoqWUVTKip8KipO TyoqCi0tPgoKPCEtLSBOb3RlOiBJZiB0aGUgYnVpbGQgaXMgbGlrZWx5IHRvIHRha2UgbW9yZSB0 aGFuIDIgaG91cnMsIHBsZWFzZSBhZGQgY2kgc2tpcCB0YWcgYXMgZGVzY3JpYmVkIGluCmh0dHBz Oi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvYmxvYi9tYXN0ZXIvQ09OVFJJ QlVUSU5HLm1kI2NvbnRpbnVvdXMtaW50ZWdyYXRpb24KYW5kIHRlc3QgYXQgbGVhc3Qgb25lIG5h dGl2ZSBidWlsZCBhbmQsIGlmIHN1cHBvcnRlZCwgYXQgbGVhc3Qgb25lIGNyb3NzIGJ1aWxkLgpJ Z25vcmUgdGhpcyBzZWN0aW9uIGlmIHRoaXMgUFIgaXMgbm90IHNraXBwaW5nIENJLgotLT4KPCEt LQojIyMjIExvY2FsIGJ1aWxkIHRlc3RpbmcKLSBJIGJ1aWx0IHRoaXMgUFIgbG9jYWxseSBmb3Ig bXkgbmF0aXZlIGFyY2hpdGVjdHVyZSwgKEFSQ0gtTElCQykKLSBJIGJ1aWx0IHRoaXMgUFIgbG9j YWxseSBmb3IgdGhlc2UgYXJjaGl0ZWN0dXJlcyAoaWYgc3VwcG9ydGVkLiBtYXJrIGNyb3NzYnVp bGRzKToKICAtIGFhcmNoNjQtbXVzbAogIC0gYXJtdjdsCiAgLSBhcm12NmwtbXVzbAotLT4KCgpB IHBhdGNoIGZpbGUgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2th Z2VzL3B1bGwvNDQwNjkucGF0Y2ggaXMgYXR0YWNoZWQ= --===============0052578822226623713== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-webrtc-audio-processing-1.0-2-44069.patch" RnJvbSA4MDI0ZjRjNTIzMjljZDZiNjdjZmFiNzhjZDlkYzM3Y2E2ZDI4MTgyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiB0cmlhbGxheCA8dHJpYWxsYXhAdHV0YW5vdGEuY29tPgpEYXRl OiBXZWQsIDI0IE1heSAyMDIzIDIxOjQ5OjM3ICswMTAwClN1YmplY3Q6IFtQQVRDSCAxLzVdIGFi c2VpbC1jcHA6IHVwZGF0ZSBmb3Igd2VicnRjLWF1ZGlvLXByb2Nlc3NpbmctMS4zLgoKLS0tCiBz cmNwa2dzL2Fic2VpbC1jcHAvdGVtcGxhdGUgfCA1ICsrKy0tCiAxIGZpbGUgY2hhbmdlZCwgMyBp bnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvYWJzZWls LWNwcC90ZW1wbGF0ZSBiL3NyY3BrZ3MvYWJzZWlsLWNwcC90ZW1wbGF0ZQppbmRleCA0YjA0OWI2 Yjg0ZmRkLi43ZGYzYWEwZWYwYzM5IDEwMDY0NAotLS0gYS9zcmNwa2dzL2Fic2VpbC1jcHAvdGVt cGxhdGUKKysrIGIvc3JjcGtncy9hYnNlaWwtY3BwL3RlbXBsYXRlCkBAIC0xLDkgKzEsMTAgQEAK ICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2Fic2VpbC1jcHAnCiBwa2duYW1lPWFic2VpbC1jcHAKIHZl cnNpb249MjAyMzA4MDIuMQotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9Y21h a2UKLWNvbmZpZ3VyZV9hcmdzPSItREJVSUxEX1NIQVJFRF9MSUJTPU9OIC1EQUJTTF9QUk9QQUdB VEVfQ1hYX1NURD1PTiIKK2NvbmZpZ3VyZV9hcmdzPSItREJVSUxEX1NIQVJFRF9MSUJTPU9OIC1E QUJTTF9QUk9QQUdBVEVfQ1hYX1NURD1PTgorIC1EQ01BS0VfQ1hYX1NUQU5EQVJEPTE3IgogaG9z dG1ha2VkZXBlbmRzPSJwa2ctY29uZmlnIgogc2hvcnRfZGVzYz0iQWJzZWlsIGNvbW1vbiBsaWJy YXJpZXMiCiBtYWludGFpbmVyPSJBbmRyZXcgSi4gSGVzZm9yZCA8YWpoQHNpZGViYW5kLm9yZz4i CgpGcm9tIGYxY2Q1OWM2ODFlNDgxOGI5ZDMyNzVlYWQ1NmY1YjgwYWU4MDZkYTYgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IHRyaWFsbGF4IDx0cmlhbGxheEB0dXRhbm90YS5jb20+CkRh dGU6IFdlZCwgMjQgTWF5IDIwMjMgMjI6MDE6NDAgKzAxMDAKU3ViamVjdDogW1BBVENIIDIvNV0g d2VicnRjLWF1ZGlvLXByb2Nlc3Npbmc6IHVwZGF0ZSB0byAxLjMuCgotLS0KIGNvbW1vbi9zaGxp YnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMyArLQogLi4ueXRlLW9yZGVy LWFuZC1wb2ludGVyLXNpemUtZGV0ZWN0aW9uLnBhdGNoIHwgIDMzIC0tLS0tCiAuLi4vcGF0Y2hl cy9taXBzLnBhdGNoICAgICAgICAgICAgICAgICAgICAgICAgfCAxMTMgLS0tLS0tLS0tLS0tLS0t LS0tCiAuLi4vcGF0Y2hlcy9tdXNsLnBhdGNoICAgICAgICAgICAgICAgICAgICAgICAgfCAgMjAg LS0tLQogc3JjcGtncy93ZWJydGMtYXVkaW8tcHJvY2Vzc2luZy90ZW1wbGF0ZSAgICAgIHwgIDI3 ICsrLS0tCiA1IGZpbGVzIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDE4NiBkZWxldGlvbnMo LSkKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3dlYnJ0Yy1hdWRpby1wcm9jZXNzaW5nL3Bh dGNoZXMvQWRkLWdlbmVyaWMtYnl0ZS1vcmRlci1hbmQtcG9pbnRlci1zaXplLWRldGVjdGlvbi5w YXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mvd2VicnRjLWF1ZGlvLXByb2Nlc3Npbmcv cGF0Y2hlcy9taXBzLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy93ZWJydGMtYXVk aW8tcHJvY2Vzc2luZy9wYXRjaGVzL211c2wucGF0Y2gKCmRpZmYgLS1naXQgYS9jb21tb24vc2hs aWJzIGIvY29tbW9uL3NobGlicwppbmRleCBlZGUyMGVlMTRhNjgzLi4wZDBhZGIzYWU3ZWE0IDEw MDY0NAotLS0gYS9jb21tb24vc2hsaWJzCisrKyBiL2NvbW1vbi9zaGxpYnMKQEAgLTEwNTAsNyAr MTA1MCw4IEBAIGxpYmlwdGNkYXRhLnNvLjAgbGliaXB0Y2RhdGEtMS4wLjRfMQogbGlidXRlbXB0 ZXIuc28uMCBsaWJ1dGVtcHRlci0xLjEuNV8xCiBsaWJ4YXRyYWNrZXIuc28uMiBsaWJ4YXRyYWNr ZXItMTAuMC4wXzIKIGxpYnR1bWJsZXItMS5zby4wIHR1bWJsZXItNC45LjJfMQotbGlid2VicnRj X2F1ZGlvX3Byb2Nlc3Npbmcuc28uMSB3ZWJydGMtYXVkaW8tcHJvY2Vzc2luZy0wLjNfMQorbGli d2VicnRjLWF1ZGlvLWNvZGluZy0xLnNvLjMgd2VicnRjLWF1ZGlvLXByb2Nlc3NpbmctMS4zXzEK K2xpYndlYnJ0Yy1hdWRpby1wcm9jZXNzaW5nLTEuc28uMyB3ZWJydGMtYXVkaW8tcHJvY2Vzc2lu Zy0xLjNfMQogbGliY3Vwc21pbWUuc28uMSBsaWJjdXBzLTEuNS4zXzEKIGxpYmN1cHNwcGRjLnNv LjEgbGliY3Vwcy0xLjUuM18xCiBsaWJjdXBzY2dpLnNvLjEgbGliY3Vwcy0xLjUuM18xCmRpZmYg LS1naXQgYS9zcmNwa2dzL3dlYnJ0Yy1hdWRpby1wcm9jZXNzaW5nL3BhdGNoZXMvQWRkLWdlbmVy aWMtYnl0ZS1vcmRlci1hbmQtcG9pbnRlci1zaXplLWRldGVjdGlvbi5wYXRjaCBiL3NyY3BrZ3Mv d2VicnRjLWF1ZGlvLXByb2Nlc3NpbmcvcGF0Y2hlcy9BZGQtZ2VuZXJpYy1ieXRlLW9yZGVyLWFu ZC1wb2ludGVyLXNpemUtZGV0ZWN0aW9uLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAxMzM4Nzg0ZTY5ZWY4Li4wMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3Mvd2VicnRjLWF1 ZGlvLXByb2Nlc3NpbmcvcGF0Y2hlcy9BZGQtZ2VuZXJpYy1ieXRlLW9yZGVyLWFuZC1wb2ludGVy LXNpemUtZGV0ZWN0aW9uLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzMgKzAsMCBAQAotRnJv bTogVGhhbiA8dGhhbkByZWRoYXQuY29tPgotRGF0ZTogV2VkLCA4IEp1biAyMDE2IDE5OjEwOjA4 IC0wNDAwCi1TdWJqZWN0OiBBZGQgZ2VuZXJpYyBieXRlIG9yZGVyIGFuZCBwb2ludGVyIHNpemUg ZGV0ZWN0aW9uCi0KLS0tLQotIHdlYnJ0Yy90eXBlZGVmcy5oIHwgMTQgKysrKysrKysrKysrKy0K LSAxIGZpbGUgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZm IC0tZ2l0IGEvd2VicnRjL3R5cGVkZWZzLmggYi93ZWJydGMvdHlwZWRlZnMuaAotaW5kZXggZDg3 NTQ5MC4uZGMwNzRmMSAxMDA2NDQKLS0tLSBhL3dlYnJ0Yy90eXBlZGVmcy5oCi0rKysgYi93ZWJy dGMvdHlwZWRlZnMuaAotQEAgLTQ4LDcgKzQ4LDE5IEBACi0gI2RlZmluZSBXRUJSVENfQVJDSF8z Ml9CSVRTCi0gI2RlZmluZSBXRUJSVENfQVJDSF9MSVRUTEVfRU5ESUFOCi0gI2Vsc2UKLS0jZXJy b3IgUGxlYXNlIGFkZCBzdXBwb3J0IGZvciB5b3VyIGFyY2hpdGVjdHVyZSBpbiB0eXBlZGVmcy5o Ci0rLyogaW5zdGVhZCBvZiBmYWlsaW5nLCB1c2UgdHlwaWNhbCB1bml4IGRlZmluZXMuLi4gKi8K LSsjaWYgX19CWVRFX09SREVSX18gPT0gX19PUkRFUl9MSVRUTEVfRU5ESUFOX18KLSsjZGVmaW5l IFdFQlJUQ19BUkNIX0xJVFRMRV9FTkRJQU4KLSsjZWxpZiBfX0JZVEVfT1JERVJfXyA9PSBfX09S REVSX0JJR19FTkRJQU5fXwotKyNkZWZpbmUgV0VCUlRDX0FSQ0hfQklHX0VORElBTgotKyNlbHNl Ci0rI2Vycm9yIF9fQllURV9PUkRFUl9fIGlzIG5vdCBkZWZpbmVkCi0rI2VuZGlmCi0rI2lmIGRl ZmluZWQoX19MUDY0X18pCi0rI2RlZmluZSBXRUJSVENfQVJDSF82NF9CSVRTCi0rI2Vsc2UKLSsj ZGVmaW5lIFdFQlJUQ19BUkNIXzMyX0JJVFMKLSsjZW5kaWYKLSAjZW5kaWYKLSAKLSAjaWYgIShk ZWZpbmVkKFdFQlJUQ19BUkNIX0xJVFRMRV9FTkRJQU4pIF4gZGVmaW5lZChXRUJSVENfQVJDSF9C SUdfRU5ESUFOKSkKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvd2VicnRjLWF1ZGlvLXByb2Nlc3Npbmcv cGF0Y2hlcy9taXBzLnBhdGNoIGIvc3JjcGtncy93ZWJydGMtYXVkaW8tcHJvY2Vzc2luZy9wYXRj aGVzL21pcHMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM5OWFhZjM5MjIw ODIuLjAwMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy93ZWJydGMtYXVkaW8tcHJvY2Vzc2luZy9w YXRjaGVzL21pcHMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMTMgKzAsMCBAQAotLS0tIHdl YnJ0Yy1hdWRpby1wcm9jZXNzaW5nLTAuM18zL2NvbmZpZ3VyZS5hYwkyMDE3LTExLTIyIDIwOjI2 OjU0LjIwNzAwOTg4MSArMDEwMAotKysrIHdlYnJ0Yy1hdWRpby1wcm9jZXNzaW5nLTAuM18zL2Nv bmZpZ3VyZS5hYwkyMDE3LTExLTIyIDIwOjM3OjU3LjQ3Mjk5NjUyMSArMDEwMAotQEAgLTkwLDEw ICs5MCwxNCBAQAotIAlbSEFWRV9ORU9OPTE7IEFSQ0hfQ0ZMQUdTPSIke0FSQ0hfQ0ZMQUdTfSAt RFdFQlJUQ19IQVNfTkVPTiAtRFdFQlJUQ19BUkNIX0FSTTY0Il0pCi0gQUNfQ0hFQ0tfREVDTFMo W19faTM4Nl9fXSwgW0hBVkVfWDg2PTFdKQotIEFDX0NIRUNLX0RFQ0xTKFtfX3g4Nl82NF9fXSwg W0hBVkVfWDg2PTFdKQotK0FDX0NIRUNLX0RFQ0xTKFtfX01JUFNFQl9fXSwgW0hBVkVfTUlQU0VC PTFdKQotK0FDX0NIRUNLX0RFQ0xTKFtfX01JUFNFTF9fXSwgW0hBVkVfTUlQU0VMPTFdKQotIAot IEFNX0NPTkRJVElPTkFMKEhBVkVfWDg2LCBbdGVzdCAieCR7SEFWRV9YODZ9IiA9ICJ4MSJdKQot IEFNX0NPTkRJVElPTkFMKEhBVkVfQVJNLCBbdGVzdCAieCR7SEFWRV9BUk19IiA9ICJ4MSJdKQot IEFNX0NPTkRJVElPTkFMKEhBVkVfQVJNVjcsIFt0ZXN0ICJ4JHtIQVZFX0FSTVY3fSIgPSAieDEi XSkKLStBTV9DT05ESVRJT05BTChIQVZFX01JUFNFQiwgW3Rlc3QgIngke0hBVkVfTUlQU0VCfSIg PSAieDEiXSkKLStBTV9DT05ESVRJT05BTChIQVZFX01JUFNFTCwgW3Rlc3QgIngke0hBVkVfTUlQ U0VMfSIgPSAieDEiXSkKLSAKLSAjIEJvcnJvd2VkIGZyb20gcHVsc2VhdWRpbydzIGNvbmZpZ3Vy ZS5hYwotIEFDX0FSR19FTkFCTEUoW25lb25dLAotLS0tIHdlYnJ0Yy1hdWRpby1wcm9jZXNzaW5n LTAuM18zL3dlYnJ0Yy90eXBlZGVmcy5oCTIwMTUtMTAtMTUgMTI6NDg6MjUuMDAwMDAwMDAwICsw MjAwCi0rKysgd2VicnRjLWF1ZGlvLXByb2Nlc3NpbmctMC4zXzMvd2VicnRjL3R5cGVkZWZzLmgJ MjAxNy0xMS0yMiAyMDozOToyMC44MDA5OTQ4NDMgKzAxMDAKLUBAIC00Nyw2ICs0NywxMCBAQAot ICNlbGlmIGRlZmluZWQoX19wbmFjbF9fKQotICNkZWZpbmUgV0VCUlRDX0FSQ0hfMzJfQklUUwot ICNkZWZpbmUgV0VCUlRDX0FSQ0hfTElUVExFX0VORElBTgotKyNlbGlmIGRlZmluZWQoX19NSVBT RUxfXykKLSsjZGVmaW5lIFdFQlJUQ19BUkNIX0xJVFRMRV9FTkRJQU4KLSsjZWxpZiBkZWZpbmVk KF9fTUlQU0VCX18pCi0rI2RlZmluZSBXRUJSVENfQVJDSF9CSUdfRU5ESUFOCi0gI2Vsc2UKLSAj ZXJyb3IgUGxlYXNlIGFkZCBzdXBwb3J0IGZvciB5b3VyIGFyY2hpdGVjdHVyZSBpbiB0eXBlZGVm cy5oCi0gI2VuZGlmCi0tLS0gd2VicnRjLWF1ZGlvLXByb2Nlc3NpbmctMC4zL3dlYnJ0Yy9jb21t b25fYXVkaW8vd2F2X2ZpbGUuY2MJMjAxNS0xMS0xOSAxMzo0MTo0NC4wMDAwMDAwMDAgKzAxMDAK LSsrKyB3ZWJydGMtYXVkaW8tcHJvY2Vzc2luZy0wLjMvd2VicnRjL2NvbW1vbl9hdWRpby93YXZf ZmlsZS5jYwkyMDE3LTExLTIyIDIxOjAxOjQ2LjU1NDk2NzczNyArMDEwMAotQEAgLTY0LDkgKzY0 LDYgQEAKLSB9Ci0gCi0gc2l6ZV90IFdhdlJlYWRlcjo6UmVhZFNhbXBsZXMoc2l6ZV90IG51bV9z YW1wbGVzLCBpbnQxNl90KiBzYW1wbGVzKSB7Ci0tI2lmbmRlZiBXRUJSVENfQVJDSF9MSVRUTEVf RU5ESUFOCi0tI2Vycm9yICJOZWVkIHRvIGNvbnZlcnQgc2FtcGxlcyB0byBiaWctZW5kaWFuIHdo ZW4gcmVhZGluZyBmcm9tIFdBViBmaWxlIgotLSNlbmRpZgotICAgLy8gVGhlcmUgY291bGQgYmUg bWV0YWRhdGEgYWZ0ZXIgdGhlIGF1ZGlvOyBlbnN1cmUgd2UgZG9uJ3QgcmVhZCBpdC4KLSAgIG51 bV9zYW1wbGVzID0gc3RkOjptaW4ocnRjOjpjaGVja2VkX2Nhc3Q8dWludDMyX3Q+KG51bV9zYW1w bGVzKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgbnVtX3NhbXBsZXNfcmVtYWluaW5nXyk7 Ci1AQCAtNzYsNiArNzMsMTIgQEAKLSAgIFJUQ19DSEVDSyhyZWFkID09IG51bV9zYW1wbGVzIHx8 IGZlb2YoZmlsZV9oYW5kbGVfKSk7Ci0gICBSVENfQ0hFQ0tfTEUocmVhZCwgbnVtX3NhbXBsZXNf cmVtYWluaW5nXyk7Ci0gICBudW1fc2FtcGxlc19yZW1haW5pbmdfIC09IHJ0Yzo6Y2hlY2tlZF9j YXN0PHVpbnQzMl90PihyZWFkKTsKLSsjaWZkZWYgV0VCUlRDX0FSQ0hfQklHX0VORElBTgotKyAg Zm9yIChzaXplX3QgaSA9IDA7IGkgPCByZWFkOyBpKyspIHsKLSsgICAgdWludDE2X3QgcyA9IHN0 YXRpY19jYXN0PHVpbnQxNl90PihzYW1wbGVzW2ldKTsKLSsgICAgc2FtcGxlc1tpXSA9IHN0YXRp Y19jYXN0PGludDE2X3Q+KChzID4+IDgpIHwgKHMgPDwgOCkpOwotKyAgfQotKyNlbmRpZgotICAg cmV0dXJuIHJlYWQ7Ci0gfQotIAotQEAgLTExOSwxMSArMTIyLDIwIEBACi0gfQotIAotIHZvaWQg V2F2V3JpdGVyOjpXcml0ZVNhbXBsZXMoY29uc3QgaW50MTZfdCogc2FtcGxlcywgc2l6ZV90IG51 bV9zYW1wbGVzKSB7Ci0tI2lmbmRlZiBXRUJSVENfQVJDSF9MSVRUTEVfRU5ESUFOCi0tI2Vycm9y ICJOZWVkIHRvIGNvbnZlcnQgc2FtcGxlcyB0byBsaXR0bGUtZW5kaWFuIHdoZW4gd3JpdGluZyB0 byBXQVYgZmlsZSIKLS0jZW5kaWYKLSsjaWZkZWYgV0VCUlRDX0FSQ0hfTElUVExFX0VORElBTgot ICAgY29uc3Qgc2l6ZV90IHdyaXR0ZW4gPQotICAgICAgIGZ3cml0ZShzYW1wbGVzLCBzaXplb2Yo KnNhbXBsZXMpLCBudW1fc2FtcGxlcywgZmlsZV9oYW5kbGVfKTsKLSsjZWxzZQotKyAgc2l6ZV90 IHdyaXR0ZW4gPSAwOwotKyAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBudW1fc2FtcGxlczsgaSsr KSB7Ci0rICAgIHVpbnQxNl90IHMgPSBzdGF0aWNfY2FzdDx1aW50MTZfdD4oc2FtcGxlc1tpXSk7 Ci0rICAgIHMgPSBzdGF0aWNfY2FzdDxpbnQxNl90Pigoczw8OCkgfCAocz4+OCkpOwotKyAgICBz aXplX3Qgc2l6ZSA9IGZ3cml0ZSgmcywgc2l6ZW9mKHMpLCAxLCBmaWxlX2hhbmRsZV8pOwotKyAg ICBpZiAoc2l6ZSA8IDEpCi0rICAgICAgYnJlYWs7Ci0rICAgIHdyaXR0ZW4gKz0gc2l6ZTsKLSsg IH0KLSsjZW5kaWYKLSAgIFJUQ19DSEVDS19FUShudW1fc2FtcGxlcywgd3JpdHRlbik7Ci0gICBu dW1fc2FtcGxlc18gKz0gc3RhdGljX2Nhc3Q8dWludDMyX3Q+KHdyaXR0ZW4pOwotICAgUlRDX0NI RUNLKHdyaXR0ZW4gPD0gc3RkOjpudW1lcmljX2xpbWl0czx1aW50MzJfdD46Om1heCgpIHx8Ci0t LS0gd2VicnRjLWF1ZGlvLXByb2Nlc3NpbmctMC4zL3dlYnJ0Yy9jb21tb25fYXVkaW8vd2F2X2hl YWRlci5jYwkyMDE1LTEwLTE1IDEyOjQ4OjQ0LjAwMDAwMDAwMCArMDIwMAotKysrIHdlYnJ0Yy1h dWRpby1wcm9jZXNzaW5nLTAuMy93ZWJydGMvY29tbW9uX2F1ZGlvL3dhdl9oZWFkZXIuY2MJMjAx Ny0xMS0yMiAyMToxMTozNi4yOTE5NTU4NTkgKzAxMDAKLUBAIC0xMjksNyArMTI5LDMwIEBACi0g ICByZXR1cm4gc3RkOjpzdHJpbmcocmVpbnRlcnByZXRfY2FzdDxjaGFyKj4oJngpLCA0KTsKLSB9 Ci0gI2Vsc2UKLS0jZXJyb3IgIldyaXRlIGJlLXRvLWxlIGNvbnZlcnNpb24gZnVuY3Rpb25zIgot K3N0YXRpYyBpbmxpbmUgdm9pZCBXcml0ZUxFMTYodWludDE2X3QqIGYsIHVpbnQxNl90IHgpIHsg KmYgPSAoeCA+PiA4KSB8ICh4IDw8IDgpOyB9Ci0rc3RhdGljIGlubGluZSB2b2lkIFdyaXRlTEUz Mih1aW50MzJfdCogZiwgdWludDMyX3QgeCkgewotKyAgKmYgPSAoKHggJiAweGZmMDAwMDAwKSA+ PiAyNCkgfAotKyAgICAgICAoKHggJiAweDAwZmYwMDAwKSA+PiAgOCkgfAotKyAgICAgICAoKHgg JiAweDAwMDBmZjAwKSA8PCAgOCkgfAotKyAgICAgICAoKHggJiAweDAwMDAwMGZmKSA8PCAyNCk7 Ci0rfQotK3N0YXRpYyBpbmxpbmUgdm9pZCBXcml0ZUZvdXJDQyh1aW50MzJfdCogZiwgY2hhciBh LCBjaGFyIGIsIGNoYXIgYywgY2hhciBkKSB7Ci0rICAqZiA9IChzdGF0aWNfY2FzdDx1aW50MzJf dD4oYSkgPDwgMjQpCi0rICAgICAgfCAoc3RhdGljX2Nhc3Q8dWludDMyX3Q+KGIpIDw8IDE2KQot KyAgICAgIHwgKHN0YXRpY19jYXN0PHVpbnQzMl90PihjKSA8PCA4KQotKyAgICAgIHwgc3RhdGlj X2Nhc3Q8dWludDMyX3Q+KGQpOwotK30KLStzdGF0aWMgaW5saW5lIHVpbnQxNl90IFJlYWRMRTE2 KHVpbnQxNl90IHgpIHsgcmV0dXJuICh4ID4+IDgpIHwgKHggPDwgOCk7IH0KLStzdGF0aWMgaW5s aW5lIHVpbnQzMl90IFJlYWRMRTMyKHVpbnQzMl90IHgpIHsKLSsgIHJldHVybiAoKHggPDwgMjQp ICYgMHhmZjAwMDAwMCkgfAotKyAgICAgICAgICgoeCA8PCAgOCkgJiAweDAwZmYwMDAwKSB8Ci0r ICAgICAgICAgKCh4ID4+ICA4KSAmIDB4MDAwMGZmMDApIHwKLSsgICAgICAgICAoKHggPj4gMjQp ICYgMHgwMDAwMDBmZik7Ci0rfQotK3N0YXRpYyBpbmxpbmUgc3RkOjpzdHJpbmcgUmVhZEZvdXJD Qyh1aW50MzJfdCB4KSB7Ci0rICB1aW50MzJfdCBzID0gUmVhZExFMzIoeCk7Ci0rICByZXR1cm4g c3RkOjpzdHJpbmcocmVpbnRlcnByZXRfY2FzdDxjaGFyKj4oJnMpLCA0KTsKLSt9Ci0gI2VuZGlm Ci0gCi0gc3RhdGljIGlubGluZSB1aW50MzJfdCBSaWZmQ2h1bmtTaXplKHVpbnQzMl90IGJ5dGVz X2luX3BheWxvYWQpIHsKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvd2VicnRjLWF1ZGlvLXByb2Nlc3Np bmcvcGF0Y2hlcy9tdXNsLnBhdGNoIGIvc3JjcGtncy93ZWJydGMtYXVkaW8tcHJvY2Vzc2luZy9w YXRjaGVzL211c2wucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFkY2E3OWI2 Yjc0ODYuLjAwMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy93ZWJydGMtYXVkaW8tcHJvY2Vzc2lu Zy9wYXRjaGVzL211c2wucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi0tLS0g YS93ZWJydGMvYmFzZS9jaGVja3MuY2Mub3JpZwkyMDE2LTA2LTI1IDA3OjQ3OjM0LjA5OTUxNTU0 OCArMDIwMAotKysrIGIvd2VicnRjL2Jhc2UvY2hlY2tzLmNjCTIwMTYtMDYtMjUgMDc6NDg6Mjgu NTU0MTIyNDYzICswMjAwCi1AQCAtMTYsNyArMTYsNyBAQAotICNpbmNsdWRlIDxjc3RkaW8+Ci0g I2luY2x1ZGUgPGNzdGRsaWI+Ci0gCi0tI2lmIGRlZmluZWQoX19HTElCQ1hYX18pICYmICFkZWZp bmVkKF9fVUNMSUJDX18pCi0rI2lmIGRlZmluZWQoX19HTElCQ19fKSAmJiBkZWZpbmVkKF9fR0xJ QkNYWF9fKQotICNpbmNsdWRlIDxjeHhhYmkuaD4KLSAjaW5jbHVkZSA8ZXhlY2luZm8uaD4KLSAj ZW5kaWYKLUBAIC01NSw3ICs1NSw3IEBAIHZvaWQgUHJpbnRFcnJvcihjb25zdCBjaGFyKiBmb3Jt YXQsIC4uLikKLSAvLyB0byBnZXQgdXNhYmxlIHN5bWJvbHMgb24gTGludXguIFRoaXMgaXMgY29w aWVkIGZyb20gVjguIENocm9taXVtIGhhcyBhIG1vcmUKLSAvLyBhZHZhbmNlZCBzdGFjZSB0cmFj ZSBzeXN0ZW07IGFsc28gbW9yZSBkaWZmaWN1bHQgdG8gY29weS4KLSB2b2lkIER1bXBCYWNrdHJh Y2UoKSB7Ci0tI2lmIGRlZmluZWQoX19HTElCQ1hYX18pICYmICFkZWZpbmVkKF9fVUNMSUJDX18p Ci0rI2lmIGRlZmluZWQoX19HTElCQ19fKSAmJiBkZWZpbmVkKF9fR0xJQkNYWF9fKQotICAgdm9p ZCogdHJhY2VbMTAwXTsKLSAgIGludCBzaXplID0gYmFja3RyYWNlKHRyYWNlLCBzaXplb2YodHJh Y2UpIC8gc2l6ZW9mKCp0cmFjZSkpOwotICAgY2hhcioqIHN5bWJvbHMgPSBiYWNrdHJhY2Vfc3lt Ym9scyh0cmFjZSwgc2l6ZSk7CmRpZmYgLS1naXQgYS9zcmNwa2dzL3dlYnJ0Yy1hdWRpby1wcm9j ZXNzaW5nL3RlbXBsYXRlIGIvc3JjcGtncy93ZWJydGMtYXVkaW8tcHJvY2Vzc2luZy90ZW1wbGF0 ZQppbmRleCAzMGE0MjBiMjhmNTc1Li42ZDU2YjE2Y2EzN2Q1IDEwMDY0NAotLS0gYS9zcmNwa2dz L3dlYnJ0Yy1hdWRpby1wcm9jZXNzaW5nL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mvd2VicnRjLWF1 ZGlvLXByb2Nlc3NpbmcvdGVtcGxhdGUKQEAgLTEsMzggKzEsMjcgQEAKICMgVGVtcGxhdGUgZmls ZSBmb3IgJ3dlYnJ0Yy1hdWRpby1wcm9jZXNzaW5nJwogcGtnbmFtZT13ZWJydGMtYXVkaW8tcHJv Y2Vzc2luZwotdmVyc2lvbj0wLjMuMQordmVyc2lvbj0xLjMKIHJldmlzaW9uPTEKLWJ1aWxkX3N0 eWxlPWdudS1jb25maWd1cmUKLWhvc3RtYWtlZGVwZW5kcz0iYXV0b21ha2UgbGlidG9vbCIKK2J1 aWxkX3N0eWxlPW1lc29uCitob3N0bWFrZWRlcGVuZHM9InBrZy1jb25maWciCittYWtlZGVwZW5k cz0iYWJzZWlsLWNwcC1kZXZlbCIKIHNob3J0X2Rlc2M9IkF1ZGlvUHJvY2Vzc2luZyBsaWJyYXJ5 IGJhc2VkIG9uIEdvb2dsZSdzIGltcGxlbWVudGF0aW9uIG9mIFdlYlJUQyIKIG1haW50YWluZXI9 Ik9ycGhhbmVkIDxvcnBoYW5Adm9pZGxpbnV4Lm9yZz4iCiBsaWNlbnNlPSJCU0QtMy1DbGF1c2Ui Ci1ob21lcGFnZT0iaHR0cDovL2ZyZWVkZXNrdG9wLm9yZy9zb2Z0d2FyZS9wdWxzZWF1ZGlvL3dl YnJ0Yy1hdWRpby1wcm9jZXNzaW5nIgotZGlzdGZpbGVzPSIke2hvbWVwYWdlfS8ke3BrZ25hbWV9 LSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09YTBmZGQ5MzhmZDg1MjcyZDY3ZTgxNTcyYzVh NGQ5ZTIwMGEwYzEwNDc1M2NiM2MyMDlkZWQxNzVjZTNjNWRiZgotCi1jYXNlICIkWEJQU19UQVJH RVRfTUFDSElORSIgaW4KLQkjIERpc2FibGUgbmVvbiBmb3IgdGhlIGFybSogYXJjaGl0ZWN0dXJl cwotCWFybSopIGNvbmZpZ3VyZV9hcmdzKz0iIC0tZW5hYmxlLW5lb249bm8iIDs7Ci1lc2FjCi0K LXByZV9jb25maWd1cmUoKSB7Ci0JIyBSZW1vdmUgZmFpbGluZyBzdGF0ZW1lbnQgUEtHX0NIRUNL X01PRFVMRShHTlVTVEwsIGdudXN0bCkKLQlzZWQgLWkgY29uZmlndXJlLmFjIC1lJy9pZiB0ZXN0 ICJ4JHdpdGhfZ251c3RsIiAhPSAieG5vIjsgdGhlbi8sKzJkJwotCWF1dG9yZWNvbmYgLWZpCi19 Citob21lcGFnZT0iaHR0cHM6Ly9mcmVlZGVza3RvcC5vcmcvc29mdHdhcmUvcHVsc2VhdWRpby93 ZWJydGMtYXVkaW8tcHJvY2Vzc2luZyIKK2Rpc3RmaWxlcz0iJHtGUkVFREVTS1RPUF9TSVRFfS9w dWxzZWF1ZGlvL3dlYnJ0Yy1hdWRpby1wcm9jZXNzaW5nL3dlYnJ0Yy1hdWRpby1wcm9jZXNzaW5n LSR7dmVyc2lvbn0udGFyLmd6IgorY2hlY2tzdW09OTU1NTJmYzE3ZmFhMDIwMjEzMzcwN2JiYjM3 MjdlOGMyY2Y2NGQ0MjY2ZmUzMWJmZGIyMjk4ZDc2OWMxZGI3NQogCiBwb3N0X2luc3RhbGwoKSB7 CiAJdmxpY2Vuc2UgQ09QWUlORwogfQogCiB3ZWJydGMtYXVkaW8tcHJvY2Vzc2luZy1kZXZlbF9w YWNrYWdlKCkgewotCWRlcGVuZHM9IiR7c291cmNlcGtnfT49JHt2ZXJzaW9ufV8ke3JldmlzaW9u fSIKKwlkZXBlbmRzPSIke3NvdXJjZXBrZ30+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0gYWJzZWls LWNwcC1kZXZlbCIKIAlzaG9ydF9kZXNjKz0iIC0gZGV2ZWxvcG1lbnQgZmlsZXMiCiAJcGtnX2lu c3RhbGwoKSB7CiAJCXZtb3ZlIHVzci9pbmNsdWRlCiAJCXZtb3ZlIHVzci9saWIvcGtnY29uZmln Ci0JCXZtb3ZlICJ1c3IvbGliLyouYSIKIAkJdm1vdmUgInVzci9saWIvKi5zbyIKIAl9CiB9CgpG cm9tIDY5YTI5MTZiMmVlZDIxOWJkZDI0Yzg1YThhOGJhMjU0ZmRhNjIyOTggTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCkZyb206IHRyaWFsbGF4IDx0cmlhbGxheEB0dXRhbm90YS5jb20+CkRhdGU6 IFdlZCwgMjQgTWF5IDIwMjMgMjI6MDQ6NTcgKzAxMDAKU3ViamVjdDogW1BBVENIIDMvNV0gZ3N0 LXBsdWdpbnMtYmFkMTogcmV2YnVtcCBmb3IKIHdlYnJ0Yy1hdWRpby1wcm9jZXNzaW5nLTEuMy4K Ci0tLQogc3JjcGtncy9nc3QtcGx1Z2lucy1iYWQxL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNo YW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9nc3QtcGx1Z2lucy1iYWQxL3RlbXBsYXRlIGIvc3JjcGtncy9nc3QtcGx1Z2lucy1iYWQxL3Rl bXBsYXRlCmluZGV4IDJiZjJmNGIwNjQyZmUuLjBmYWZjYjY1NTUzOTUgMTAwNjQ0Ci0tLSBhL3Ny Y3BrZ3MvZ3N0LXBsdWdpbnMtYmFkMS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2dzdC1wbHVnaW5z LWJhZDEvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdnc3Qt cGx1Z2lucy1iYWQxJwogcGtnbmFtZT1nc3QtcGx1Z2lucy1iYWQxCiB2ZXJzaW9uPTEuMjIuNQot cmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfaGVscGVyPSJnaXIiCiBidWlsZF9zdHlsZT1t ZXNvbgogY29uZmlndXJlX2FyZ3M9Ii1EcGFja2FnZS1vcmlnaW49aHR0cHM6Ly92b2lkbGludXgu b3JnIC1EZG9jPWRpc2FibGVkCgpGcm9tIDZjMGRjMDIxMjkwODMyZWZiZGY2NGJjYzY5ZGZmMmE3 ZTMzMmFlNTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IHRyaWFsbGF4IDx0cmlhbGxh eEB0dXRhbm90YS5jb20+CkRhdGU6IFdlZCwgMjQgTWF5IDIwMjMgMjI6MDQ6NTggKzAxMDAKU3Vi amVjdDogW1BBVENIIDQvNV0gcHVsc2VhdWRpbzogcmV2YnVtcCBmb3Igd2VicnRjLWF1ZGlvLXBy b2Nlc3NpbmctMS4zLgoKLS0tCiAuLi4vcGF0Y2hlcy93ZWJydGMtYXVkaW8tcHJvY2Vzc2luZy0x LnBhdGNoICAgfCA2NzMgKysrKysrKysrKysrKysrKysrCiBzcmNwa2dzL3B1bHNlYXVkaW8vdGVt cGxhdGUgICAgICAgICAgICAgICAgICAgfCAgIDUgKy0KIDIgZmlsZXMgY2hhbmdlZCwgNjc2IGlu c2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9w dWxzZWF1ZGlvL3BhdGNoZXMvd2VicnRjLWF1ZGlvLXByb2Nlc3NpbmctMS5wYXRjaAoKZGlmZiAt LWdpdCBhL3NyY3BrZ3MvcHVsc2VhdWRpby9wYXRjaGVzL3dlYnJ0Yy1hdWRpby1wcm9jZXNzaW5n LTEucGF0Y2ggYi9zcmNwa2dzL3B1bHNlYXVkaW8vcGF0Y2hlcy93ZWJydGMtYXVkaW8tcHJvY2Vz c2luZy0xLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAuLmEy ZjQ1MjI1NjBmNGUKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3B1bHNlYXVkaW8vcGF0Y2hl cy93ZWJydGMtYXVkaW8tcHJvY2Vzc2luZy0xLnBhdGNoCkBAIC0wLDAgKzEsNjczIEBACitGcm9t IGIxNmIxMDcxNzFmMjRmNzkxZjc5YzIwNzMwY2Y2ZWIzYWQ0Njk5NDQgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCitGcm9tOiBBcnVuIFJhZ2hhdmFuIDxhcnVuQGFzeW1wdG90aWMuaW8+CitEYXRl OiBUdWUsIDIwIE9jdCAyMDIwIDE2OjE4OjU3IC0wNDAwCitTdWJqZWN0OiBbUEFUQ0ggMS8zXSBl Y2hvLWNhbmNlbC10ZXN0OiBEcm9wIHJlZmVyZW5jZXMgdG8gaW50ZXJuYWwgbWVzc2FnZQorIHF1 ZXVlCisKK1dlIGRvbid0IGFjdHVhbGx5IGluaXRpYWxpc2Ugb3IgdXNlIGl0IGluIHRoZSB0ZXN0 LCBhbmQgdGhpcyBqdXN0IGNhdXNlcworYSBjcmFzaCBhdCB0aGUgZW5kLgorCitQYXJ0LW9mOiA8 aHR0cHM6Ly9naXRsYWIuZnJlZWRlc2t0b3Aub3JnL3B1bHNlYXVkaW8vcHVsc2VhdWRpby8tL21l cmdlX3JlcXVlc3RzLzM5NT4KKy0tLQorIHNyYy9tb2R1bGVzL2VjaG8tY2FuY2VsL21vZHVsZS1l Y2hvLWNhbmNlbC5jIHwgMiAtLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGRlbGV0aW9ucygtKQorCitk aWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvZWNoby1jYW5jZWwvbW9kdWxlLWVjaG8tY2FuY2VsLmMg Yi9zcmMvbW9kdWxlcy9lY2hvLWNhbmNlbC9tb2R1bGUtZWNoby1jYW5jZWwuYworaW5kZXggM2Q2 M2VhNjA4NC4uYWUxYmY5ZDY4NCAxMDA2NDQKKy0tLSBhL3NyYy9tb2R1bGVzL2VjaG8tY2FuY2Vs L21vZHVsZS1lY2hvLWNhbmNlbC5jCisrKysgYi9zcmMvbW9kdWxlcy9lY2hvLWNhbmNlbC9tb2R1 bGUtZWNoby1jYW5jZWwuYworQEAgLTIzNzAsOCArMjM3MCw2IEBAIGludCBtYWluKGludCBhcmdj LCBjaGFyKiBhcmd2W10pIHsKKyAgICAgfQorIAorICAgICB1LmVjLT5kb25lKHUuZWMpOworLSAg ICB1LmVjLT5tc2ctPmRlYWQgPSB0cnVlOworLSAgICBwYV9lY2hvX2NhbmNlbGxlcl9tc2dfdW5y ZWYodS5lYy0+bXNnKTsKKyAKKyBvdXQ6CisgICAgIGlmICh1LmNhcHR1cmVkX2ZpbGUpCistLSAK K0dpdExhYgorCisKK0Zyb20gMjJiYmI1YjNiYTBkMjhkNjMwYjEwOTQ0ZmUxOWQ3ZjllZWUzYTAw ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEVlcm8gTnVya2thbGEgPGVlcm8ubnVy a2thbGFAb2ZmY29kZS5maT4KK0RhdGU6IFR1ZSwgMjAgT2N0IDIwMjAgMTY6MjA6MjMgLTA0MDAK K1N1YmplY3Q6IFtQQVRDSCAyLzNdIGVjaG8tY2FuY2VsOiBhZGQgd2VicnRjIEFFQzMgc3VwcG9y dAorCitEcm9wIGEgbnVtYmVyIG9mIG5vdyB1bnN1cHBvcnRlZCBmZWF0dXJlcywgYW5kIGFkZCBu ZXcgcGFyYW1ldGVycyBmb3IKK3ByZS0vcG9zdC1hbXBsaWZpY2F0aW9uLgorCitQYXJ0LW9mOiA8 aHR0cHM6Ly9naXRsYWIuZnJlZWRlc2t0b3Aub3JnL3B1bHNlYXVkaW8vcHVsc2VhdWRpby8tL21l cmdlX3JlcXVlc3RzLzM5NT4KKy0tLQorIHNyYy9tb2R1bGVzL2VjaG8tY2FuY2VsL3dlYnJ0Yy5j YyB8IDQzMyArKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwg MTEzIGluc2VydGlvbnMoKyksIDMyMCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9t b2R1bGVzL2VjaG8tY2FuY2VsL3dlYnJ0Yy5jYyBiL3NyYy9tb2R1bGVzL2VjaG8tY2FuY2VsL3dl YnJ0Yy5jYworaW5kZXggNTZkYWFiMGZkMC4uZWQ0YmI2NWE1NiAxMDA2NDQKKy0tLSBhL3NyYy9t b2R1bGVzL2VjaG8tY2FuY2VsL3dlYnJ0Yy5jYworKysrIGIvc3JjL21vZHVsZXMvZWNoby1jYW5j ZWwvd2VicnRjLmNjCitAQCAtMyw4ICszLDggQEAKKyAKKyAgICAgQ29weXJpZ2h0IDIwMTEgQ29s bGFib3JhIEx0ZC4KKyAgICAgICAgICAgICAgIDIwMTUgQWxkZWJhcmFuIFNvZnRCYW5rIEdyb3Vw CistCistICAgIENvbnRyaWJ1dG9yOiBBcnVuIFJhZ2hhdmFuIDxtYWlsQGFydW5yYWdoYXZhbi5u ZXQ+CisrICAgICAgICAgICAgICAyMDIwIEFydW4gUmFnaGF2YW4gPGFydW5AYXN5bXB0b3RpYy5p bz4KKysgICAgICAgICAgICAgIDIwMjAgRWVybyBOdXJra2FsYSA8ZWVyby5udXJra2FsYUBvZmZj b2RlLmZpPgorIAorICAgICBQdWxzZUF1ZGlvIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk aXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAgICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo ZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkCitAQCAtMzQs ODAgKzM0LDQ3IEBAIFBBX0NfREVDTF9CRUdJTgorICNpbmNsdWRlICJlY2hvLWNhbmNlbC5oIgor IFBBX0NfREVDTF9FTkQKKyAKKy0jaW5jbHVkZSA8d2VicnRjL21vZHVsZXMvYXVkaW9fcHJvY2Vz c2luZy9pbmNsdWRlL2F1ZGlvX3Byb2Nlc3NpbmcuaD4KKy0jaW5jbHVkZSA8d2VicnRjL21vZHVs ZXMvaW50ZXJmYWNlL21vZHVsZV9jb21tb25fdHlwZXMuaD4KKy0jaW5jbHVkZSA8d2VicnRjL3N5 c3RlbV93cmFwcGVycy9pbmNsdWRlL3RyYWNlLmg+CisrI2RlZmluZSBXRUJSVENfQVBNX0RFQlVH X0RVTVAgMAorKworKyNpbmNsdWRlIDxtb2R1bGVzL2F1ZGlvX3Byb2Nlc3NpbmcvaW5jbHVkZS9h dWRpb19wcm9jZXNzaW5nLmg+CisgCisgI2RlZmluZSBCTE9DS19TSVpFX1VTIDEwMDAwCisgCisg I2RlZmluZSBERUZBVUxUX0hJR0hfUEFTU19GSUxURVIgdHJ1ZQorICNkZWZpbmUgREVGQVVMVF9O T0lTRV9TVVBQUkVTU0lPTiB0cnVlCisrI2RlZmluZSBERUZBVUxUX1RSQU5TSUVOVF9OT0lTRV9T VVBQUkVTU0lPTiB0cnVlCisgI2RlZmluZSBERUZBVUxUX0FOQUxPR19HQUlOX0NPTlRST0wgdHJ1 ZQorICNkZWZpbmUgREVGQVVMVF9ESUdJVEFMX0dBSU5fQ09OVFJPTCBmYWxzZQorICNkZWZpbmUg REVGQVVMVF9NT0JJTEUgZmFsc2UKKy0jZGVmaW5lIERFRkFVTFRfUk9VVElOR19NT0RFICJzcGVh a2VycGhvbmUiCisgI2RlZmluZSBERUZBVUxUX0NPTUZPUlRfTk9JU0UgdHJ1ZQorICNkZWZpbmUg REVGQVVMVF9EUklGVF9DT01QRU5TQVRJT04gZmFsc2UKKy0jZGVmaW5lIERFRkFVTFRfVkFEIHRy dWUKKy0jZGVmaW5lIERFRkFVTFRfRVhURU5ERURfRklMVEVSIGZhbHNlCistI2RlZmluZSBERUZB VUxUX0lOVEVMTElHSUJJTElUWV9FTkhBTkNFUiBmYWxzZQorLSNkZWZpbmUgREVGQVVMVF9FWFBF UklNRU5UQUxfQUdDIGZhbHNlCisrI2RlZmluZSBERUZBVUxUX1ZBRCBmYWxzZQorICNkZWZpbmUg REVGQVVMVF9BR0NfU1RBUlRfVk9MVU1FIDg1CistI2RlZmluZSBERUZBVUxUX0JFQU1GT1JNSU5H IGZhbHNlCistI2RlZmluZSBERUZBVUxUX1RSQUNFIGZhbHNlCisrI2RlZmluZSBERUZBVUxUX1BP U1RBTVBfRU5BQkxFIGZhbHNlCisrI2RlZmluZSBERUZBVUxUX1BPU1RBTVBfR0FJTl9EQiAwCisr I2RlZmluZSBERUZBVUxUX1BSRUFNUF9FTkFCTEUgZmFsc2UKKysjZGVmaW5lIERFRkFVTFRfUFJF QU1QX0dBSU5fREIgMAorIAorICNkZWZpbmUgV0VCUlRDX0FHQ19NQVhfVk9MVU1FIDI1NQorKyNk ZWZpbmUgV0VCUlRDX1BPU1RBTVBfR0FJTl9NQVhfREIgOTAKKysjZGVmaW5lIFdFQlJUQ19QUkVB TVBfR0FJTl9NQVhfREIgOTAKKyAKKyBzdGF0aWMgY29uc3QgY2hhciogY29uc3QgdmFsaWRfbW9k YXJnc1tdID0geworLSAgICAiaGlnaF9wYXNzX2ZpbHRlciIsCistICAgICJub2lzZV9zdXBwcmVz c2lvbiIsCisrICAgICJhZ2Nfc3RhcnRfdm9sdW1lIiwKKyAgICAgImFuYWxvZ19nYWluX2NvbnRy b2wiLAorICAgICAiZGlnaXRhbF9nYWluX2NvbnRyb2wiLAorKyAgICAiaGlnaF9wYXNzX2ZpbHRl ciIsCisgICAgICJtb2JpbGUiLAorLSAgICAicm91dGluZ19tb2RlIiwKKy0gICAgImNvbWZvcnRf bm9pc2UiLAorLSAgICAiZHJpZnRfY29tcGVuc2F0aW9uIiwKKysgICAgIm5vaXNlX3N1cHByZXNz aW9uIiwKKysgICAgInBvc3RfYW1wbGlmaWVyIiwKKysgICAgInBvc3RfYW1wbGlmaWVyX2dhaW4i LAorKyAgICAicHJlX2FtcGxpZmllciIsCisrICAgICJwcmVfYW1wbGlmaWVyX2dhaW4iLAorKyAg ICAidHJhbnNpZW50X25vaXNlX3N1cHByZXNzaW9uIiwKKyAgICAgInZvaWNlX2RldGVjdGlvbiIs CistICAgICJleHRlbmRlZF9maWx0ZXIiLAorLSAgICAiaW50ZWxsaWdpYmlsaXR5X2VuaGFuY2Vy IiwKKy0gICAgImV4cGVyaW1lbnRhbF9hZ2MiLAorLSAgICAiYWdjX3N0YXJ0X3ZvbHVtZSIsCist ICAgICJiZWFtZm9ybWluZyIsCistICAgICJtaWNfZ2VvbWV0cnkiLCAvKiBkb2N1bWVudGVkIGlu IHBhcnNlX21pY19nZW9tZXRyeSgpICovCistICAgICJ0YXJnZXRfZGlyZWN0aW9uIiwgLyogZG9j dW1lbnRlZCBpbiBwYXJzZV9taWNfZ2VvbWV0cnkoKSAqLworLSAgICAidHJhY2UiLAorICAgICBO VUxMCisgfTsKKyAKKy1zdGF0aWMgaW50IHJvdXRpbmdfbW9kZV9mcm9tX3N0cmluZyhjb25zdCBj aGFyICpybW9kZSkgeworLSAgICBpZiAocGFfc3RyZXEocm1vZGUsICJxdWlldC1lYXJwaWVjZS1v ci1oZWFkc2V0IikpCistICAgICAgICByZXR1cm4gd2VicnRjOjpFY2hvQ29udHJvbE1vYmlsZTo6 a1F1aWV0RWFycGllY2VPckhlYWRzZXQ7CistICAgIGVsc2UgaWYgKHBhX3N0cmVxKHJtb2RlLCAi ZWFycGllY2UiKSkKKy0gICAgICAgIHJldHVybiB3ZWJydGM6OkVjaG9Db250cm9sTW9iaWxlOjpr RWFycGllY2U7CistICAgIGVsc2UgaWYgKHBhX3N0cmVxKHJtb2RlLCAibG91ZC1lYXJwaWVjZSIp KQorLSAgICAgICAgcmV0dXJuIHdlYnJ0Yzo6RWNob0NvbnRyb2xNb2JpbGU6OmtMb3VkRWFycGll Y2U7CistICAgIGVsc2UgaWYgKHBhX3N0cmVxKHJtb2RlLCAic3BlYWtlcnBob25lIikpCistICAg ICAgICByZXR1cm4gd2VicnRjOjpFY2hvQ29udHJvbE1vYmlsZTo6a1NwZWFrZXJwaG9uZTsKKy0g ICAgZWxzZSBpZiAocGFfc3RyZXEocm1vZGUsICJsb3VkLXNwZWFrZXJwaG9uZSIpKQorLSAgICAg ICAgcmV0dXJuIHdlYnJ0Yzo6RWNob0NvbnRyb2xNb2JpbGU6OmtMb3VkU3BlYWtlcnBob25lOwor LSAgICBlbHNlCistICAgICAgICByZXR1cm4gLTE7CistfQorLQorLWNsYXNzIFBhV2VicnRjVHJh Y2VDYWxsYmFjayA6IHB1YmxpYyB3ZWJydGM6OlRyYWNlQ2FsbGJhY2sgeworLSAgICB2b2lkIFBy aW50KHdlYnJ0Yzo6VHJhY2VMZXZlbCBsZXZlbCwgY29uc3QgY2hhciAqbWVzc2FnZSwgaW50IGxl bmd0aCkKKy0gICAgeworLSAgICAgICAgaWYgKGxldmVsICYgd2VicnRjOjprVHJhY2VFcnJvciB8 fCBsZXZlbCAmIHdlYnJ0Yzo6a1RyYWNlQ3JpdGljYWwpCistICAgICAgICAgICAgcGFfbG9nKCIl cyIsIG1lc3NhZ2UpOworLSAgICAgICAgZWxzZSBpZiAobGV2ZWwgJiB3ZWJydGM6OmtUcmFjZVdh cm5pbmcpCistICAgICAgICAgICAgcGFfbG9nX3dhcm4oIiVzIiwgbWVzc2FnZSk7CistICAgICAg ICBlbHNlIGlmIChsZXZlbCAmIHdlYnJ0Yzo6a1RyYWNlSW5mbykKKy0gICAgICAgICAgICBwYV9s b2dfaW5mbygiJXMiLCBtZXNzYWdlKTsKKy0gICAgICAgIGVsc2UKKy0gICAgICAgICAgICBwYV9s b2dfZGVidWcoIiVzIiwgbWVzc2FnZSk7CistICAgIH0KKy19OworLQorIHN0YXRpYyBpbnQgd2Vi cnRjX3ZvbHVtZV9mcm9tX3BhKHBhX3ZvbHVtZV90IHYpCisgeworICAgICByZXR1cm4gKHYgKiBX RUJSVENfQUdDX01BWF9WT0xVTUUpIC8gUEFfVk9MVU1FX05PUk07CitAQCAtMTIwLDggKzg3LDcg QEAgc3RhdGljIHBhX3ZvbHVtZV90IHdlYnJ0Y192b2x1bWVfdG9fcGEoaW50IHYpCisgCisgc3Rh dGljIHZvaWQgd2VicnRjX2VjX2ZpeGF0ZV9zcGVjKHBhX3NhbXBsZV9zcGVjICpyZWNfc3MsIHBh X2NoYW5uZWxfbWFwICpyZWNfbWFwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBwYV9zYW1wbGVfc3BlYyAqcGxheV9zcywgcGFfY2hhbm5lbF9tYXAgKnBsYXlfbWFwLAorLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYV9zYW1wbGVfc3BlYyAqb3V0X3NzLCBw YV9jaGFubmVsX21hcCAqb3V0X21hcCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgYm9vbCBiZWFtZm9ybWluZykKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg cGFfc2FtcGxlX3NwZWMgKm91dF9zcywgcGFfY2hhbm5lbF9tYXAgKm91dF9tYXApCisgeworICAg ICByZWNfc3MtPmZvcm1hdCA9IFBBX1NBTVBMRV9GTE9BVDMyTkU7CisgICAgIHBsYXlfc3MtPmZv cm1hdCA9IFBBX1NBTVBMRV9GTE9BVDMyTkU7CitAQCAtMTM5LDExMCArMTA1LDIyIEBAIHN0YXRp YyB2b2lkIHdlYnJ0Y19lY19maXhhdGVfc3BlYyhwYV9zYW1wbGVfc3BlYyAqcmVjX3NzLCBwYV9j aGFubmVsX21hcCAqcmVjX21hCisgICAgICpvdXRfc3MgPSAqcmVjX3NzOworICAgICAqb3V0X21h cCA9ICpyZWNfbWFwOworIAorLSAgICBpZiAoYmVhbWZvcm1pbmcpIHsKKy0gICAgICAgIC8qIFRo ZSBiZWFtZm9ybWVyIGdpdmVzIHVzIGEgc2luZ2xlIGNoYW5uZWwgKi8KKy0gICAgICAgIG91dF9z cy0+Y2hhbm5lbHMgPSAxOworLSAgICAgICAgcGFfY2hhbm5lbF9tYXBfaW5pdF9tb25vKG91dF9t YXApOworLSAgICB9CistCisgICAgIC8qIFBsYXliYWNrIHN0cmVhbSByYXRlIG5lZWRzIHRvIGJl IHRoZSBzYW1lIGFzIGNhcHR1cmUgKi8KKyAgICAgcGxheV9zcy0+cmF0ZSA9IHJlY19zcy0+cmF0 ZTsKKyB9CisgCistc3RhdGljIGJvb2wgcGFyc2VfcG9pbnQoY29uc3QgY2hhciAqKnBvaW50LCBm bG9hdCAoJmYpWzNdKSB7CistICAgIGludCByZXQsIGxlbmd0aDsKKy0KKy0gICAgcmV0ID0gc3Nj YW5mKCpwb2ludCwgIiVnLCVnLCVnJW4iLCAmZlswXSwgJmZbMV0sICZmWzJdLCAmbGVuZ3RoKTsK Ky0gICAgaWYgKHJldCAhPSAzKQorLSAgICAgICAgcmV0dXJuIGZhbHNlOworLQorLSAgICAvKiBD b25zdW1lIHRoZSBieXRlcyB3ZSd2ZSByZWFkIHNvIGZhciAqLworLSAgICAqcG9pbnQgKz0gbGVu Z3RoOworLQorLSAgICByZXR1cm4gdHJ1ZTsKKy19CistCistc3RhdGljIGJvb2wgcGFyc2VfbWlj X2dlb21ldHJ5KGNvbnN0IGNoYXIgKiptaWNfZ2VvbWV0cnksIHN0ZDo6dmVjdG9yPHdlYnJ0Yzo6 UG9pbnQ+JiBnZW9tZXRyeSkgeworLSAgICAvKiBUaGUgbWljcm9waG9uZSBnZW9tZXRyeSBpcyBl eHByZXNzZWQgYXMgY2FydGVzaWFuIHBvaW50IGZvcm06CistICAgICAqICAgeDEseTEsejEseDIs eTIsejIsLi4uCistICAgICAqCistICAgICAqIFdoZXJlIHgxLHkxLHoxIGlzIHRoZSBwb3NpdGlv biBvZiB0aGUgZmlyc3QgbWljcm9waG9uZSB3aXRoIHJlZ2FyZHMgdG8KKy0gICAgICogdGhlIGFy cmF5J3MgImNlbnRlciIsIHgyLHkyLHoyIHRoZSBwb3NpdGlvbiBvZiB0aGUgc2Vjb25kLCBhbmQg c28gb24uCistICAgICAqCistICAgICAqICd4JyBpcyB0aGUgaG9yaXpvbnRhbCBjb29yZGluYXRl LCB3aXRoIHBvc2l0aXZlIHZhbHVlcyBiZWluZyB0byB0aGUKKy0gICAgICogcmlnaHQgZnJvbSB0 aGUgbWljIGFycmF5J3MgcGVyc3BlY3RpdmUuCistICAgICAqCistICAgICAqICd5JyBpcyB0aGUg ZGVwdGggY29vcmRpbmF0ZSwgd2l0aCBwb3NpdGl2ZSB2YWx1ZXMgYmVpbmcgaW4gZnJvbnQgb2Yg dGhlCistICAgICAqIGFycmF5LgorLSAgICAgKgorLSAgICAgKiAneicgaXMgdGhlIHZlcnRpY2Fs IGNvb3JkaW5hdGUsIHdpdGggcG9zaXRpdmUgdmFsdWVzIGJlaW5nIGFib3ZlIHRoZQorLSAgICAg KiBhcnJheS4KKy0gICAgICoKKy0gICAgICogQWxsIGRpc3RhbmNlcyBhcmUgaW4gbWV0ZXJzLgor LSAgICAgKi8KKy0KKy0gICAgLyogVGhlIHRhcmdldCBkaXJlY3Rpb24gaXMgZXhwZWN0ZWQgdG8g YmUgaW4gc3BoZXJpY2FsIHBvaW50IGZvcm06CistICAgICAqICAgYSxlLHIKKy0gICAgICoKKy0g ICAgICogV2hlcmUgJ2EnIGlzIHRoZSBhemltdXRoIG9mIHRoZSB0YXJnZXQgcG9pbnQgcmVsYXRp dmUgdG8gdGhlIGNlbnRlciBvZgorLSAgICAgKiB0aGUgYXJyYXksICdlJyBpdHMgZWxldmF0aW9u LCBhbmQgJ3InIHRoZSByYWRpdXMuCistICAgICAqCistICAgICAqIDAgcmFkaWFucyBhemltdXRo IGlzIHRvIHRoZSByaWdodCBvZiB0aGUgYXJyYXksIGFuZCBwb3NpdGl2ZSBhbmdsZXMKKy0gICAg ICogbW92ZSBpbiBhIGNvdW50ZXItY2xvY2t3aXNlIGRpcmVjdGlvbi4KKy0gICAgICoKKy0gICAg ICogMCByYWRpYW5zIGVsZXZhdGlvbiBpcyBob3Jpem9udGFsIHcuci50LiB0aGUgYXJyYXksIGFu ZCBwb3NpdGl2ZQorLSAgICAgKiBhbmdsZXMgZ28gdXB3YXJkcy4KKy0gICAgICoKKy0gICAgICog cmFkaXVzIGlzIGRpc3RhbmNlIGZyb20gdGhlIGFycmF5IGNlbnRlciBpbiBtZXRlcnMuCistICAg ICAqLworLQorLSAgICBsb25nIHVuc2lnbmVkIGludCBpOworLSAgICBmbG9hdCBmWzNdOworLQor LSAgICBmb3IgKGkgPSAwOyBpIDwgZ2VvbWV0cnkuc2l6ZSgpOyBpKyspIHsKKy0gICAgICAgIGlm ICghcGFyc2VfcG9pbnQobWljX2dlb21ldHJ5LCBmKSkgeworLSAgICAgICAgICAgIHBhX2xvZygi RmFpbGVkIHRvIHBhcnNlIGNoYW5uZWwgJWx1IGluIG1pY19nZW9tZXRyeSIsIGkpOworLSAgICAg ICAgICAgIHJldHVybiBmYWxzZTsKKy0gICAgICAgIH0KKy0KKy0gICAgICAgIC8qIEV4Y2VwdCBm b3IgdGhlIGxhc3QgcG9pbnQsIHdlIHNob3VsZCBoYXZlIGEgdHJhaWxpbmcgY29tbWEgKi8KKy0g ICAgICAgIGlmIChpICE9IGdlb21ldHJ5LnNpemUoKSAtIDEpIHsKKy0gICAgICAgICAgICBpZiAo KiptaWNfZ2VvbWV0cnkgIT0gJywnKSB7CistICAgICAgICAgICAgICAgIHBhX2xvZygiRmFpbGVk IHRvIHBhcnNlIGNoYW5uZWwgJWx1IGluIG1pY19nZW9tZXRyeSIsIGkpOworLSAgICAgICAgICAg ICAgICByZXR1cm4gZmFsc2U7CistICAgICAgICAgICAgfQorLQorLSAgICAgICAgICAgICgqbWlj X2dlb21ldHJ5KSsrOworLSAgICAgICAgfQorLQorLSAgICAgICAgcGFfbG9nX2RlYnVnKCJHb3Qg bWljICMlbHUgcG9zaXRpb246ICglZywgJWcsICVnKSIsIGksIGZbMF0sIGZbMV0sIGZbMl0pOwor LQorLSAgICAgICAgZ2VvbWV0cnlbaV0uY1swXSA9IGZbMF07CistICAgICAgICBnZW9tZXRyeVtp XS5jWzFdID0gZlsxXTsKKy0gICAgICAgIGdlb21ldHJ5W2ldLmNbMl0gPSBmWzJdOworLSAgICB9 CistCistICAgIGlmICgqKm1pY19nZW9tZXRyeSAhPSAnXDAnKSB7CistICAgICAgICBwYV9sb2co IkZhaWxlZCB0byBwYXJzZSBtaWNfZ2VvbWV0cnkgdmFsdWU6IG1vcmUgcGFyYW1ldGVycyB0aGFu IGV4cGVjdGVkIik7CistICAgICAgICByZXR1cm4gZmFsc2U7CistICAgIH0KKy0KKy0gICAgcmV0 dXJuIHRydWU7CistfQorLQorIGJvb2wgcGFfd2VicnRjX2VjX2luaXQocGFfY29yZSAqYywgcGFf ZWNob19jYW5jZWxsZXIgKmVjLAorICAgICAgICAgICAgICAgICAgICAgICAgcGFfc2FtcGxlX3Nw ZWMgKnJlY19zcywgcGFfY2hhbm5lbF9tYXAgKnJlY19tYXAsCisgICAgICAgICAgICAgICAgICAg ICAgICBwYV9zYW1wbGVfc3BlYyAqcGxheV9zcywgcGFfY2hhbm5lbF9tYXAgKnBsYXlfbWFwLAor ICAgICAgICAgICAgICAgICAgICAgICAgcGFfc2FtcGxlX3NwZWMgKm91dF9zcywgcGFfY2hhbm5l bF9tYXAgKm91dF9tYXAsCisgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAqbmZyYW1l cywgY29uc3QgY2hhciAqYXJncykgeworLSAgICB3ZWJydGM6OkF1ZGlvUHJvY2Vzc2luZyAqYXBt ID0gTlVMTDsKKysgICAgd2VicnRjOjpBdWRpb1Byb2Nlc3NpbmcgKmFwbSA9IHdlYnJ0Yzo6QXVk aW9Qcm9jZXNzaW5nQnVpbGRlcigpLkNyZWF0ZSgpOworICAgICB3ZWJydGM6OlByb2Nlc3NpbmdD b25maWcgcGNvbmZpZzsKKy0gICAgd2VicnRjOjpDb25maWcgY29uZmlnOworLSAgICBib29sIGhw ZiwgbnMsIGFnYywgZGdjLCBtb2JpbGUsIGNuLCB2YWQsIGV4dF9maWx0ZXIsIGludGVsbGlnaWJp bGl0eSwgZXhwZXJpbWVudGFsX2FnYywgYmVhbWZvcm1pbmc7CistICAgIGludCBybSA9IC0xLCBp OworLSAgICB1aW50MzJfdCBhZ2Nfc3RhcnRfdm9sdW1lOworKyAgICB3ZWJydGM6OkF1ZGlvUHJv Y2Vzc2luZzo6Q29uZmlnIGNvbmZpZzsKKysgICAgYm9vbCBocGYsIG5zLCB0bnMsIGFnYywgZGdj LCBtb2JpbGUsIHByZV9hbXAsIHZhZCwgcG9zdF9hbXA7CisrICAgIGludCBpOworKyAgICB1aW50 MzJfdCBhZ2Nfc3RhcnRfdm9sdW1lLCBwcmVfYW1wX2dhaW4sIHBvc3RfYW1wX2dhaW47CisgICAg IHBhX21vZGFyZ3MgKm1hOworLSAgICBib29sIHRyYWNlID0gZmFsc2U7CisgCisgICAgIGlmICgh KG1hID0gcGFfbW9kYXJnc19uZXcoYXJncywgdmFsaWRfbW9kYXJncykpKSB7CisgICAgICAgICBw YV9sb2coIkZhaWxlZCB0byBwYXJzZSBzdWJtb2R1bGUgYXJndW1lbnRzLiIpOworQEAgLTI2MSw2 ICsxMzksMTIgQEAgYm9vbCBwYV93ZWJydGNfZWNfaW5pdChwYV9jb3JlICpjLCBwYV9lY2hvX2Nh bmNlbGxlciAqZWMsCisgICAgICAgICBnb3RvIGZhaWw7CisgICAgIH0KKyAKKysgICAgdG5zID0g REVGQVVMVF9UUkFOU0lFTlRfTk9JU0VfU1VQUFJFU1NJT047CisrICAgIGlmIChwYV9tb2Rhcmdz X2dldF92YWx1ZV9ib29sZWFuKG1hLCAidHJhbnNpZW50X25vaXNlX3N1cHByZXNzaW9uIiwgJnRu cykgPCAwKSB7CisrICAgICAgICBwYV9sb2coIkZhaWxlZCB0byBwYXJzZSB0cmFuc2llbnRfbm9p c2Vfc3VwcHJlc3Npb24gdmFsdWUiKTsKKysgICAgICAgIGdvdG8gZmFpbDsKKysgICAgfQorKwor ICAgICBhZ2MgPSBERUZBVUxUX0FOQUxPR19HQUlOX0NPTlRST0w7CisgICAgIGlmIChwYV9tb2Rh cmdzX2dldF92YWx1ZV9ib29sZWFuKG1hLCAiYW5hbG9nX2dhaW5fY29udHJvbCIsICZhZ2MpIDwg MCkgeworICAgICAgICAgcGFfbG9nKCJGYWlsZWQgdG8gcGFyc2UgYW5hbG9nX2dhaW5fY29udHJv bCB2YWx1ZSIpOworQEAgLTI3OCw2MiArMTYyLDQ3IEBAIGJvb2wgcGFfd2VicnRjX2VjX2luaXQo cGFfY29yZSAqYywgcGFfZWNob19jYW5jZWxsZXIgKmVjLAorICAgICAgICAgZ290byBmYWlsOwor ICAgICB9CisgCistICAgIG1vYmlsZSA9IERFRkFVTFRfTU9CSUxFOworLSAgICBpZiAocGFfbW9k YXJnc19nZXRfdmFsdWVfYm9vbGVhbihtYSwgIm1vYmlsZSIsICZtb2JpbGUpIDwgMCkgeworLSAg ICAgICAgcGFfbG9nKCJGYWlsZWQgdG8gcGFyc2UgbW9iaWxlIHZhbHVlIik7CisrICAgIHByZV9h bXAgPSBERUZBVUxUX1BSRUFNUF9FTkFCTEU7CisrICAgIGlmIChwYV9tb2RhcmdzX2dldF92YWx1 ZV9ib29sZWFuKG1hLCAicHJlX2FtcGxpZmllciIsICZwcmVfYW1wKSA8IDApIHsKKysgICAgICAg IHBhX2xvZygiRmFpbGVkIHRvIHBhcnNlIHByZV9hbXBsaWZpZXIgdmFsdWUiKTsKKyAgICAgICAg IGdvdG8gZmFpbDsKKyAgICAgfQorLQorLSAgICBlYy0+cGFyYW1zLmRyaWZ0X2NvbXBlbnNhdGlv biA9IERFRkFVTFRfRFJJRlRfQ09NUEVOU0FUSU9OOworLSAgICBpZiAocGFfbW9kYXJnc19nZXRf dmFsdWVfYm9vbGVhbihtYSwgImRyaWZ0X2NvbXBlbnNhdGlvbiIsICZlYy0+cGFyYW1zLmRyaWZ0 X2NvbXBlbnNhdGlvbikgPCAwKSB7CistICAgICAgICBwYV9sb2coIkZhaWxlZCB0byBwYXJzZSBk cmlmdF9jb21wZW5zYXRpb24gdmFsdWUiKTsKKysgICAgcHJlX2FtcF9nYWluID0gREVGQVVMVF9Q UkVBTVBfR0FJTl9EQjsKKysgICAgaWYgKHBhX21vZGFyZ3NfZ2V0X3ZhbHVlX3UzMihtYSwgInBy ZV9hbXBsaWZpZXJfZ2FpbiIsICZwcmVfYW1wX2dhaW4pIDwgMCkgeworKyAgICAgICAgcGFfbG9n KCJGYWlsZWQgdG8gcGFyc2UgcHJlX2FtcGxpZmllcl9nYWluIHZhbHVlIik7CisgICAgICAgICBn b3RvIGZhaWw7CisgICAgIH0KKy0KKy0gICAgaWYgKG1vYmlsZSkgeworLSAgICAgICAgaWYgKGVj LT5wYXJhbXMuZHJpZnRfY29tcGVuc2F0aW9uKSB7CistICAgICAgICAgICAgcGFfbG9nKCJDYW4n dCB1c2UgZHJpZnRfY29tcGVuc2F0aW9uIGluIG1vYmlsZSBtb2RlIik7CistICAgICAgICAgICAg Z290byBmYWlsOworLSAgICAgICAgfQorLQorLSAgICAgICAgaWYgKChybSA9IHJvdXRpbmdfbW9k ZV9mcm9tX3N0cmluZyhwYV9tb2RhcmdzX2dldF92YWx1ZShtYSwgInJvdXRpbmdfbW9kZSIsIERF RkFVTFRfUk9VVElOR19NT0RFKSkpIDwgMCkgeworLSAgICAgICAgICAgIHBhX2xvZygiRmFpbGVk IHRvIHBhcnNlIHJvdXRpbmdfbW9kZSB2YWx1ZSIpOworLSAgICAgICAgICAgIGdvdG8gZmFpbDsK Ky0gICAgICAgIH0KKy0KKy0gICAgICAgIGNuID0gREVGQVVMVF9DT01GT1JUX05PSVNFOworLSAg ICAgICAgaWYgKHBhX21vZGFyZ3NfZ2V0X3ZhbHVlX2Jvb2xlYW4obWEsICJjb21mb3J0X25vaXNl IiwgJmNuKSA8IDApIHsKKy0gICAgICAgICAgICBwYV9sb2coIkZhaWxlZCB0byBwYXJzZSBjbiB2 YWx1ZSIpOworLSAgICAgICAgICAgIGdvdG8gZmFpbDsKKy0gICAgICAgIH0KKy0gICAgfSBlbHNl IHsKKy0gICAgICAgIGlmIChwYV9tb2RhcmdzX2dldF92YWx1ZShtYSwgImNvbWZvcnRfbm9pc2Ui LCBOVUxMKSB8fCBwYV9tb2RhcmdzX2dldF92YWx1ZShtYSwgInJvdXRpbmdfbW9kZSIsIE5VTEwp KSB7CistICAgICAgICAgICAgcGFfbG9nKCJUaGUgcm91dGluZ19tb2RlIGFuZCBjb21mb3J0X25v aXNlIG9wdGlvbnMgYXJlIG9ubHkgdmFsaWQgd2l0aCBtb2JpbGU9dHJ1ZSIpOworLSAgICAgICAg ICAgIGdvdG8gZmFpbDsKKy0gICAgICAgIH0KKysgICAgaWYgKHByZV9hbXBfZ2FpbiA+IFdFQlJU Q19QUkVBTVBfR0FJTl9NQVhfREIpIHsKKysgICAgICAgIHBhX2xvZygiUHJlYW1wIGdhaW4gbXVz dCBub3QgZXhjZWVkICV1IiwgV0VCUlRDX1BSRUFNUF9HQUlOX01BWF9EQik7CisrICAgICAgICBn b3RvIGZhaWw7CisgICAgIH0KKyAKKy0gICAgdmFkID0gREVGQVVMVF9WQUQ7CistICAgIGlmIChw YV9tb2RhcmdzX2dldF92YWx1ZV9ib29sZWFuKG1hLCAidm9pY2VfZGV0ZWN0aW9uIiwgJnZhZCkg PCAwKSB7CistICAgICAgICBwYV9sb2coIkZhaWxlZCB0byBwYXJzZSB2b2ljZV9kZXRlY3Rpb24g dmFsdWUiKTsKKysgICAgcG9zdF9hbXAgPSBERUZBVUxUX1BPU1RBTVBfRU5BQkxFOworKyAgICBp ZiAocGFfbW9kYXJnc19nZXRfdmFsdWVfYm9vbGVhbihtYSwgInBvc3RfYW1wbGlmaWVyIiwgJnBv c3RfYW1wKSA8IDApIHsKKysgICAgICAgIHBhX2xvZygiRmFpbGVkIHRvIHBhcnNlIHBvc3RfYW1w bGlmaWVyIHZhbHVlIik7CisgICAgICAgICBnb3RvIGZhaWw7CisgICAgIH0KKy0KKy0gICAgZXh0 X2ZpbHRlciA9IERFRkFVTFRfRVhURU5ERURfRklMVEVSOworLSAgICBpZiAocGFfbW9kYXJnc19n ZXRfdmFsdWVfYm9vbGVhbihtYSwgImV4dGVuZGVkX2ZpbHRlciIsICZleHRfZmlsdGVyKSA8IDAp IHsKKy0gICAgICAgIHBhX2xvZygiRmFpbGVkIHRvIHBhcnNlIGV4dGVuZGVkX2ZpbHRlciB2YWx1 ZSIpOworKyAgICBwb3N0X2FtcF9nYWluID0gREVGQVVMVF9QT1NUQU1QX0dBSU5fREI7CisrICAg IGlmIChwYV9tb2RhcmdzX2dldF92YWx1ZV91MzIobWEsICJwb3N0X2FtcGxpZmllcl9nYWluIiwg JnBvc3RfYW1wX2dhaW4pIDwgMCkgeworKyAgICAgICAgcGFfbG9nKCJGYWlsZWQgdG8gcGFyc2Ug cG9zdF9hbXBsaWZpZXJfZ2FpbiB2YWx1ZSIpOworKyAgICAgICAgZ290byBmYWlsOworKyAgICB9 CisrICAgIGlmIChwb3N0X2FtcF9nYWluID4gV0VCUlRDX1BPU1RBTVBfR0FJTl9NQVhfREIpIHsK KysgICAgICAgIHBhX2xvZygiUG9zdGFtcCBnYWluIG11c3Qgbm90IGV4Y2VlZCAldSIsIFdFQlJU Q19QT1NUQU1QX0dBSU5fTUFYX0RCKTsKKyAgICAgICAgIGdvdG8gZmFpbDsKKyAgICAgfQorIAor LSAgICBpbnRlbGxpZ2liaWxpdHkgPSBERUZBVUxUX0lOVEVMTElHSUJJTElUWV9FTkhBTkNFUjsK Ky0gICAgaWYgKHBhX21vZGFyZ3NfZ2V0X3ZhbHVlX2Jvb2xlYW4obWEsICJpbnRlbGxpZ2liaWxp dHlfZW5oYW5jZXIiLCAmaW50ZWxsaWdpYmlsaXR5KSA8IDApIHsKKy0gICAgICAgIHBhX2xvZygi RmFpbGVkIHRvIHBhcnNlIGludGVsbGlnaWJpbGl0eV9lbmhhbmNlciB2YWx1ZSIpOworKyAgICBt b2JpbGUgPSBERUZBVUxUX01PQklMRTsKKysgICAgaWYgKHBhX21vZGFyZ3NfZ2V0X3ZhbHVlX2Jv b2xlYW4obWEsICJtb2JpbGUiLCAmbW9iaWxlKSA8IDApIHsKKysgICAgICAgIHBhX2xvZygiRmFp bGVkIHRvIHBhcnNlIG1vYmlsZSB2YWx1ZSIpOworICAgICAgICAgZ290byBmYWlsOworICAgICB9 CisgCistICAgIGV4cGVyaW1lbnRhbF9hZ2MgPSBERUZBVUxUX0VYUEVSSU1FTlRBTF9BR0M7Cist ICAgIGlmIChwYV9tb2RhcmdzX2dldF92YWx1ZV9ib29sZWFuKG1hLCAiZXhwZXJpbWVudGFsX2Fn YyIsICZleHBlcmltZW50YWxfYWdjKSA8IDApIHsKKy0gICAgICAgIHBhX2xvZygiRmFpbGVkIHRv IHBhcnNlIGV4cGVyaW1lbnRhbF9hZ2MgdmFsdWUiKTsKKysgICAgZWMtPnBhcmFtcy5kcmlmdF9j b21wZW5zYXRpb24gPSBERUZBVUxUX0RSSUZUX0NPTVBFTlNBVElPTjsKKysKKysgICAgdmFkID0g REVGQVVMVF9WQUQ7CisrICAgIGlmIChwYV9tb2RhcmdzX2dldF92YWx1ZV9ib29sZWFuKG1hLCAi dm9pY2VfZGV0ZWN0aW9uIiwgJnZhZCkgPCAwKSB7CisrICAgICAgICBwYV9sb2coIkZhaWxlZCB0 byBwYXJzZSB2b2ljZV9kZXRlY3Rpb24gdmFsdWUiKTsKKyAgICAgICAgIGdvdG8gZmFpbDsKKyAg ICAgfQorIAorQEAgLTM0OCw4MiArMjE3LDcgQEAgYm9vbCBwYV93ZWJydGNfZWNfaW5pdChwYV9j b3JlICpjLCBwYV9lY2hvX2NhbmNlbGxlciAqZWMsCisgICAgIH0KKyAgICAgZWMtPnBhcmFtcy53 ZWJydGMuYWdjX3N0YXJ0X3ZvbHVtZSA9IGFnY19zdGFydF92b2x1bWU7CisgCistICAgIGJlYW1m b3JtaW5nID0gREVGQVVMVF9CRUFNRk9STUlORzsKKy0gICAgaWYgKHBhX21vZGFyZ3NfZ2V0X3Zh bHVlX2Jvb2xlYW4obWEsICJiZWFtZm9ybWluZyIsICZiZWFtZm9ybWluZykgPCAwKSB7CistICAg ICAgICBwYV9sb2coIkZhaWxlZCB0byBwYXJzZSBiZWFtZm9ybWluZyB2YWx1ZSIpOworLSAgICAg ICAgZ290byBmYWlsOworLSAgICB9CistCistICAgIGlmIChleHRfZmlsdGVyKQorLSAgICAgICAg Y29uZmlnLlNldDx3ZWJydGM6OkV4dGVuZGVkRmlsdGVyPihuZXcgd2VicnRjOjpFeHRlbmRlZEZp bHRlcih0cnVlKSk7CistICAgIGlmIChpbnRlbGxpZ2liaWxpdHkpCistICAgICAgICBwYV9sb2df d2FybigiVGhlIGludGVsbGlnaWJpbGl0eSBlbmhhbmNlciBpcyBub3QgY3VycmVudGx5IHN1cHBv cnRlZCIpOworLSAgICBpZiAoZXhwZXJpbWVudGFsX2FnYykKKy0gICAgICAgIGNvbmZpZy5TZXQ8 d2VicnRjOjpFeHBlcmltZW50YWxBZ2M+KG5ldyB3ZWJydGM6OkV4cGVyaW1lbnRhbEFnYyh0cnVl LCBlYy0+cGFyYW1zLndlYnJ0Yy5hZ2Nfc3RhcnRfdm9sdW1lKSk7CistCistICAgIHRyYWNlID0g REVGQVVMVF9UUkFDRTsKKy0gICAgaWYgKHBhX21vZGFyZ3NfZ2V0X3ZhbHVlX2Jvb2xlYW4obWEs ICJ0cmFjZSIsICZ0cmFjZSkgPCAwKSB7CistICAgICAgICBwYV9sb2coIkZhaWxlZCB0byBwYXJz ZSB0cmFjZSB2YWx1ZSIpOworLSAgICAgICAgZ290byBmYWlsOworLSAgICB9CistCistICAgIGlm ICh0cmFjZSkgeworLSAgICAgICAgd2VicnRjOjpUcmFjZTo6Q3JlYXRlVHJhY2UoKTsKKy0gICAg ICAgIHdlYnJ0Yzo6VHJhY2U6OnNldF9sZXZlbF9maWx0ZXIod2VicnRjOjprVHJhY2VBbGwpOwor LSAgICAgICAgZWMtPnBhcmFtcy53ZWJydGMudHJhY2VfY2FsbGJhY2sgPSBuZXcgUGFXZWJydGNU cmFjZUNhbGxiYWNrKCk7CistICAgICAgICB3ZWJydGM6OlRyYWNlOjpTZXRUcmFjZUNhbGxiYWNr KChQYVdlYnJ0Y1RyYWNlQ2FsbGJhY2sgKikgZWMtPnBhcmFtcy53ZWJydGMudHJhY2VfY2FsbGJh Y2spOworLSAgICB9CistCistICAgIHdlYnJ0Y19lY19maXhhdGVfc3BlYyhyZWNfc3MsIHJlY19t YXAsIHBsYXlfc3MsIHBsYXlfbWFwLCBvdXRfc3MsIG91dF9tYXAsIGJlYW1mb3JtaW5nKTsKKy0K Ky0gICAgLyogV2UgZG8gdGhpcyBhZnRlciBmaXhhdGUgYmVjYXVzZSB3ZSBuZWVkIHRoZSBjYXB0 dXJlIGNoYW5uZWwgY291bnQgKi8KKy0gICAgaWYgKGJlYW1mb3JtaW5nKSB7CistICAgICAgICBz dGQ6OnZlY3Rvcjx3ZWJydGM6OlBvaW50PiBnZW9tZXRyeShyZWNfc3MtPmNoYW5uZWxzKTsKKy0g ICAgICAgIHdlYnJ0Yzo6U3BoZXJpY2FsUG9pbnRmIGRpcmVjdGlvbigwLjBmLCAwLjBmLCAwLjBm KTsKKy0gICAgICAgIGNvbnN0IGNoYXIgKm1pY19nZW9tZXRyeSwgKnRhcmdldF9kaXJlY3Rpb247 CistCistICAgICAgICBpZiAoIShtaWNfZ2VvbWV0cnkgPSBwYV9tb2RhcmdzX2dldF92YWx1ZSht YSwgIm1pY19nZW9tZXRyeSIsIE5VTEwpKSkgeworLSAgICAgICAgICAgIHBhX2xvZygibWljX2dl b21ldHJ5IG11c3QgYmUgc2V0IGlmIGJlYW1mb3JtaW5nIGlzIGVuYWJsZWQiKTsKKy0gICAgICAg ICAgICBnb3RvIGZhaWw7CistICAgICAgICB9CistCistICAgICAgICBpZiAoIXBhcnNlX21pY19n ZW9tZXRyeSgmbWljX2dlb21ldHJ5LCBnZW9tZXRyeSkpIHsKKy0gICAgICAgICAgICBwYV9sb2co IkZhaWxlZCB0byBwYXJzZSBtaWNfZ2VvbWV0cnkgdmFsdWUiKTsKKy0gICAgICAgICAgICBnb3Rv IGZhaWw7CistICAgICAgICB9CistCistICAgICAgICBpZiAoKHRhcmdldF9kaXJlY3Rpb24gPSBw YV9tb2RhcmdzX2dldF92YWx1ZShtYSwgInRhcmdldF9kaXJlY3Rpb24iLCBOVUxMKSkpIHsKKy0g ICAgICAgICAgICBmbG9hdCBmWzNdOworLQorLSAgICAgICAgICAgIGlmICghcGFyc2VfcG9pbnQo JnRhcmdldF9kaXJlY3Rpb24sIGYpKSB7CistICAgICAgICAgICAgICAgIHBhX2xvZygiRmFpbGVk IHRvIHBhcnNlIHRhcmdldF9kaXJlY3Rpb24gdmFsdWUiKTsKKy0gICAgICAgICAgICAgICAgZ290 byBmYWlsOworLSAgICAgICAgICAgIH0KKy0KKy0gICAgICAgICAgICBpZiAoKnRhcmdldF9kaXJl Y3Rpb24gIT0gJ1wwJykgeworLSAgICAgICAgICAgICAgICBwYV9sb2coIkZhaWxlZCB0byBwYXJz ZSB0YXJnZXRfZGlyZWN0aW9uIHZhbHVlOiBtb3JlIHBhcmFtZXRlcnMgdGhhbiBleHBlY3RlZCIp OworLSAgICAgICAgICAgICAgICBnb3RvIGZhaWw7CistICAgICAgICAgICAgfQorLQorLSNkZWZp bmUgSVNfWkVSTyhmKSAoKGYpIDwgMC4wMDAwMDEgJiYgKGYpID4gLTAuMDAwMDAxKQorLQorLSAg ICAgICAgICAgIGlmICghSVNfWkVSTyhmWzFdKSB8fCAhSVNfWkVSTyhmWzJdKSkgeworLSAgICAg ICAgICAgICAgICBwYV9sb2coIlRoZSBiZWFtZm9ybWVyIGN1cnJlbnRseSBvbmx5IHN1cHBvcnRz IHRhcmdldGluZyBhbG9uZyB0aGUgYXppbXV0aCIpOworLSAgICAgICAgICAgICAgICBnb3RvIGZh aWw7CistICAgICAgICAgICAgfQorLQorLSAgICAgICAgICAgIGRpcmVjdGlvbi5zWzBdID0gZlsw XTsKKy0gICAgICAgICAgICBkaXJlY3Rpb24uc1sxXSA9IGZbMV07CistICAgICAgICAgICAgZGly ZWN0aW9uLnNbMl0gPSBmWzJdOworLSAgICAgICAgfQorLQorLSAgICAgICAgaWYgKCF0YXJnZXRf ZGlyZWN0aW9uKQorLSAgICAgICAgICAgIGNvbmZpZy5TZXQ8d2VicnRjOjpCZWFtZm9ybWluZz4o bmV3IHdlYnJ0Yzo6QmVhbWZvcm1pbmcodHJ1ZSwgZ2VvbWV0cnkpKTsKKy0gICAgICAgIGVsc2UK Ky0gICAgICAgICAgICBjb25maWcuU2V0PHdlYnJ0Yzo6QmVhbWZvcm1pbmc+KG5ldyB3ZWJydGM6 OkJlYW1mb3JtaW5nKHRydWUsIGdlb21ldHJ5LCBkaXJlY3Rpb24pKTsKKy0gICAgfQorLQorLSAg ICBhcG0gPSB3ZWJydGM6OkF1ZGlvUHJvY2Vzc2luZzo6Q3JlYXRlKGNvbmZpZyk7CisrICAgIHdl YnJ0Y19lY19maXhhdGVfc3BlYyhyZWNfc3MsIHJlY19tYXAsIHBsYXlfc3MsIHBsYXlfbWFwLCBv dXRfc3MsIG91dF9tYXApOworIAorICAgICBwY29uZmlnID0geworICAgICAgICAgd2VicnRjOjpT dHJlYW1Db25maWcocmVjX3NzLT5yYXRlLCByZWNfc3MtPmNoYW5uZWxzLCBmYWxzZSksIC8qIGlu cHV0IHN0cmVhbSAqLworQEAgLTQzNiw0NiArMjMwLDYwIEBAIGJvb2wgcGFfd2VicnRjX2VjX2lu aXQocGFfY29yZSAqYywgcGFfZWNob19jYW5jZWxsZXIgKmVjLAorICAgICAgICAgZ290byBmYWls OworICAgICB9CisgCisrICAgIGlmIChwcmVfYW1wKSB7CisrICAgICAgIGNvbmZpZy5wcmVfYW1w bGlmaWVyLmVuYWJsZWQgPSB0cnVlOworKyAgICAgICBjb25maWcucHJlX2FtcGxpZmllci5maXhl ZF9nYWluX2ZhY3RvciA9IChmbG9hdClwcmVfYW1wX2dhaW47CisrICAgIH0gZWxzZQorKyAgICAg ICBjb25maWcucHJlX2FtcGxpZmllci5lbmFibGVkID0gZmFsc2U7CisrCisgICAgIGlmIChocGYp CistICAgICAgICBhcG0tPmhpZ2hfcGFzc19maWx0ZXIoKS0+RW5hYmxlKHRydWUpOworLQorLSAg ICBpZiAoIW1vYmlsZSkgeworLSAgICAgICAgYXBtLT5lY2hvX2NhbmNlbGxhdGlvbigpLT5lbmFi bGVfZHJpZnRfY29tcGVuc2F0aW9uKGVjLT5wYXJhbXMuZHJpZnRfY29tcGVuc2F0aW9uKTsKKy0g ICAgICAgIGFwbS0+ZWNob19jYW5jZWxsYXRpb24oKS0+RW5hYmxlKHRydWUpOworLSAgICB9IGVs c2UgeworLSAgICAgICAgYXBtLT5lY2hvX2NvbnRyb2xfbW9iaWxlKCktPnNldF9yb3V0aW5nX21v ZGUoc3RhdGljX2Nhc3Q8d2VicnRjOjpFY2hvQ29udHJvbE1vYmlsZTo6Um91dGluZ01vZGU+KHJt KSk7CistICAgICAgICBhcG0tPmVjaG9fY29udHJvbF9tb2JpbGUoKS0+ZW5hYmxlX2NvbWZvcnRf bm9pc2UoY24pOworLSAgICAgICAgYXBtLT5lY2hvX2NvbnRyb2xfbW9iaWxlKCktPkVuYWJsZSh0 cnVlKTsKKy0gICAgfQorKyAgICAgICAgY29uZmlnLmhpZ2hfcGFzc19maWx0ZXIuZW5hYmxlZCA9 IHRydWU7CisrICAgIGVsc2UKKysgICAgICAgIGNvbmZpZy5oaWdoX3Bhc3NfZmlsdGVyLmVuYWJs ZWQgPSBmYWxzZTsKKyAKKy0gICAgaWYgKG5zKSB7CistICAgICAgICBhcG0tPm5vaXNlX3N1cHBy ZXNzaW9uKCktPnNldF9sZXZlbCh3ZWJydGM6Ok5vaXNlU3VwcHJlc3Npb246OmtIaWdoKTsKKy0g ICAgICAgIGFwbS0+bm9pc2Vfc3VwcHJlc3Npb24oKS0+RW5hYmxlKHRydWUpOworLSAgICB9Cisr ICAgIGNvbmZpZy5lY2hvX2NhbmNlbGxlci5lbmFibGVkID0gdHJ1ZTsKKyAKKy0gICAgaWYgKGFn YyB8fCBkZ2MpIHsKKy0gICAgICAgIGlmIChtb2JpbGUgJiYgcm0gPD0gd2VicnRjOjpFY2hvQ29u dHJvbE1vYmlsZTo6a0VhcnBpZWNlKSB7CistICAgICAgICAgICAgLyogTWF5YmUgdGhpcyBzaG91 bGQgYmUgYSBrbm9iLCBidXQgd2UndmUgZ290IGEgbG90IG9mIGtub2JzIGFscmVhZHkgKi8KKy0g ICAgICAgICAgICBhcG0tPmdhaW5fY29udHJvbCgpLT5zZXRfbW9kZSh3ZWJydGM6OkdhaW5Db250 cm9sOjprRml4ZWREaWdpdGFsKTsKKy0gICAgICAgICAgICBlYy0+cGFyYW1zLndlYnJ0Yy5hZ2Mg PSBmYWxzZTsKKy0gICAgICAgIH0gZWxzZSBpZiAoZGdjKSB7CistICAgICAgICAgICAgYXBtLT5n YWluX2NvbnRyb2woKS0+c2V0X21vZGUod2VicnRjOjpHYWluQ29udHJvbDo6a0FkYXB0aXZlRGln aXRhbCk7CistICAgICAgICAgICAgZWMtPnBhcmFtcy53ZWJydGMuYWdjID0gZmFsc2U7CistICAg ICAgICB9IGVsc2UgeworLSAgICAgICAgICAgIGFwbS0+Z2Fpbl9jb250cm9sKCktPnNldF9tb2Rl KHdlYnJ0Yzo6R2FpbkNvbnRyb2w6OmtBZGFwdGl2ZUFuYWxvZyk7CistICAgICAgICAgICAgaWYg KGFwbS0+Z2Fpbl9jb250cm9sKCktPnNldF9hbmFsb2dfbGV2ZWxfbGltaXRzKDAsIFdFQlJUQ19B R0NfTUFYX1ZPTFVNRSkgIT0KKy0gICAgICAgICAgICAgICAgICAgIHdlYnJ0Yzo6QXVkaW9Qcm9j ZXNzaW5nOjprTm9FcnJvcikgeworLSAgICAgICAgICAgICAgICBwYV9sb2coIkZhaWxlZCB0byBp bml0aWFsaXNlIEFHQyIpOworLSAgICAgICAgICAgICAgICBnb3RvIGZhaWw7CistICAgICAgICAg ICAgfQorLSAgICAgICAgICAgIGVjLT5wYXJhbXMud2VicnRjLmFnYyA9IHRydWU7CistICAgICAg ICB9CisrICAgIGlmICghbW9iaWxlKQorKyAgICAgICAgY29uZmlnLmVjaG9fY2FuY2VsbGVyLm1v YmlsZV9tb2RlID0gZmFsc2U7CisrICAgIGVsc2UKKysgICAgICAgIGNvbmZpZy5lY2hvX2NhbmNl bGxlci5tb2JpbGVfbW9kZSA9IHRydWU7CisrCisrICAgIGlmIChucykKKysgICAgICAgY29uZmln Lm5vaXNlX3N1cHByZXNzaW9uLmVuYWJsZWQgPSB0cnVlOworKyAgICBlbHNlCisrICAgICAgIGNv bmZpZy5ub2lzZV9zdXBwcmVzc2lvbi5lbmFibGVkID0gZmFsc2U7CisgCistICAgICAgICBhcG0t PmdhaW5fY29udHJvbCgpLT5FbmFibGUodHJ1ZSk7CisrICAgIGlmICh0bnMpCisrICAgICAgIGNv bmZpZy50cmFuc2llbnRfc3VwcHJlc3Npb24uZW5hYmxlZCA9IHRydWU7CisrICAgIGVsc2UKKysg ICAgICAgY29uZmlnLnRyYW5zaWVudF9zdXBwcmVzc2lvbi5lbmFibGVkID0gZmFsc2U7CisrCisr ICAgIGlmIChkZ2MpIHsKKysgICAgICAgIGVjLT5wYXJhbXMud2VicnRjLmFnYyA9IGZhbHNlOwor KyAgICAgICAgY29uZmlnLmdhaW5fY29udHJvbGxlcjEuZW5hYmxlZCA9IHRydWU7CisrICAgICAg ICBpZiAobW9iaWxlKQorKyAgICAgICAgICAgIGNvbmZpZy5nYWluX2NvbnRyb2xsZXIxLm1vZGUg PSB3ZWJydGM6OkF1ZGlvUHJvY2Vzc2luZzo6Q29uZmlnOjpHYWluQ29udHJvbGxlcjE6OmtGaXhl ZERpZ2l0YWw7CisrICAgICAgICBlbHNlCisrICAgICAgICAgICAgY29uZmlnLmdhaW5fY29udHJv bGxlcjEubW9kZSA9IHdlYnJ0Yzo6QXVkaW9Qcm9jZXNzaW5nOjpDb25maWc6OkdhaW5Db250cm9s bGVyMTo6a0FkYXB0aXZlRGlnaXRhbDsKKysgICAgfSBlbHNlIGlmIChhZ2MpIHsKKysgICAgICAg IGVjLT5wYXJhbXMud2VicnRjLmFnYyA9IHRydWU7CisrICAgICAgICBjb25maWcuZ2Fpbl9jb250 cm9sbGVyMS5lbmFibGVkID0gdHJ1ZTsKKysgICAgICAgIGNvbmZpZy5nYWluX2NvbnRyb2xsZXIx Lm1vZGUgPSB3ZWJydGM6OkF1ZGlvUHJvY2Vzc2luZzo6Q29uZmlnOjpHYWluQ29udHJvbGxlcjE6 OmtBZGFwdGl2ZUFuYWxvZzsKKysgICAgICAgIGNvbmZpZy5nYWluX2NvbnRyb2xsZXIxLmFuYWxv Z19sZXZlbF9taW5pbXVtID0gMDsKKysgICAgICAgIGNvbmZpZy5nYWluX2NvbnRyb2xsZXIxLmFu YWxvZ19sZXZlbF9tYXhpbXVtID0gV0VCUlRDX0FHQ19NQVhfVk9MVU1FOworICAgICB9CisgCisg ICAgIGlmICh2YWQpCistICAgICAgICBhcG0tPnZvaWNlX2RldGVjdGlvbigpLT5FbmFibGUodHJ1 ZSk7CisrICAgICAgICBjb25maWcudm9pY2VfZGV0ZWN0aW9uLmVuYWJsZWQgPSB0cnVlOworKyAg ICBlbHNlCisrICAgICAgICBjb25maWcudm9pY2VfZGV0ZWN0aW9uLmVuYWJsZWQgPSBmYWxzZTsK KysKKysgICAgaWYgKHBvc3RfYW1wKSB7CisrICAgICAgICBjb25maWcuZ2Fpbl9jb250cm9sbGVy Mi5lbmFibGVkID0gdHJ1ZTsKKysgICAgICAgIGNvbmZpZy5nYWluX2NvbnRyb2xsZXIyLmZpeGVk X2RpZ2l0YWwuZ2Fpbl9kYiA9IChmbG9hdClwb3N0X2FtcF9nYWluOworKyAgICAgICAgY29uZmln LmdhaW5fY29udHJvbGxlcjIuYWRhcHRpdmVfZGlnaXRhbC5lbmFibGVkID0gZmFsc2U7CisrICAg IH0gZWxzZQorKyAgICAgICAgY29uZmlnLmdhaW5fY29udHJvbGxlcjIuZW5hYmxlZCA9IGZhbHNl OworIAorICAgICBlYy0+cGFyYW1zLndlYnJ0Yy5hcG0gPSBhcG07CisgICAgIGVjLT5wYXJhbXMu d2VicnRjLnJlY19zcyA9ICpyZWNfc3M7CitAQCAtNDg1LDYgKzI5Myw4IEBAIGJvb2wgcGFfd2Vi cnRjX2VjX2luaXQocGFfY29yZSAqYywgcGFfZWNob19jYW5jZWxsZXIgKmVjLAorICAgICAqbmZy YW1lcyA9IGVjLT5wYXJhbXMud2VicnRjLmJsb2Nrc2l6ZTsKKyAgICAgZWMtPnBhcmFtcy53ZWJy dGMuZmlyc3QgPSB0cnVlOworIAorKyAgICBhcG0tPkFwcGx5Q29uZmlnKGNvbmZpZyk7CisrCisg ICAgIGZvciAoaSA9IDA7IGkgPCByZWNfc3MtPmNoYW5uZWxzOyBpKyspCisgICAgICAgICBlYy0+ cGFyYW1zLndlYnJ0Yy5yZWNfYnVmZmVyW2ldID0gcGFfeG5ldyhmbG9hdCwgKm5mcmFtZXMpOwor ICAgICBmb3IgKGkgPSAwOyBpIDwgcGxheV9zcy0+Y2hhbm5lbHM7IGkrKykKK0BAIC00OTYsMTAg KzMwNiw3IEBAIGJvb2wgcGFfd2VicnRjX2VjX2luaXQocGFfY29yZSAqYywgcGFfZWNob19jYW5j ZWxsZXIgKmVjLAorIGZhaWw6CisgICAgIGlmIChtYSkKKyAgICAgICAgIHBhX21vZGFyZ3NfZnJl ZShtYSk7CistICAgIGlmIChlYy0+cGFyYW1zLndlYnJ0Yy50cmFjZV9jYWxsYmFjaykgeworLSAg ICAgICAgd2VicnRjOjpUcmFjZTo6UmV0dXJuVHJhY2UoKTsKKy0gICAgICAgIGRlbGV0ZSAoKFBh V2VicnRjVHJhY2VDYWxsYmFjayAqKSBlYy0+cGFyYW1zLndlYnJ0Yy50cmFjZV9jYWxsYmFjayk7 CistICAgIH0gaWYgKGFwbSkKKysgICAgaWYgKGFwbSkKKyAgICAgICAgIGRlbGV0ZSBhcG07Cisg CisgICAgIHJldHVybiBmYWxzZTsKK0BAIC01MTUsMTIgKzMyMiw2IEBAIHZvaWQgcGFfd2VicnRj X2VjX3BsYXkocGFfZWNob19jYW5jZWxsZXIgKmVjLCBjb25zdCB1aW50OF90ICpwbGF5KSB7Cisg ICAgIHBhX2RlaW50ZXJsZWF2ZShwbGF5LCAodm9pZCAqKikgYnVmLCBzcy0+Y2hhbm5lbHMsIHBh X3NhbXBsZV9zaXplKHNzKSwgbik7CisgCisgICAgIHBhX2Fzc2VydF9zZShhcG0tPlByb2Nlc3NS ZXZlcnNlU3RyZWFtKGJ1ZiwgY29uZmlnLCBjb25maWcsIGJ1ZikgPT0gd2VicnRjOjpBdWRpb1By b2Nlc3Npbmc6OmtOb0Vycm9yKTsKKy0KKy0gICAgLyogRklYTUU6IElmIFByb2Nlc3NSZXZlcnNl U3RyZWFtKCkgbWFrZXMgYW55IGNoYW5nZXMgdG8gdGhlIGF1ZGlvLCBzdWNoIGFzCistICAgICAq IGFwcGx5aW5nIGludGVsbGlnaWJpbGl0eSBlbmhhbmNlbWVudCwgdGhvc2UgY2hhbmdlcyBkb24n dCBoYXZlIGFueQorLSAgICAgKiBlZmZlY3QuIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIGF0IHRo ZSBzb3VyY2Ugc2lkZSwgYnV0IHRoZSBwcm9jZXNzaW5nCistICAgICAqIHdvdWxkIGhhdmUgdG8g YmUgZG9uZSBpbiB0aGUgc2luayB0byBiZSBhYmxlIHRvIGZlZWQgdGhlIHByb2Nlc3NlZCBhdWRp bworLSAgICAgKiB0byBzcGVha2Vycy4gKi8KKyB9CisgCisgdm9pZCBwYV93ZWJydGNfZWNfcmVj b3JkKHBhX2VjaG9fY2FuY2VsbGVyICplYywgY29uc3QgdWludDhfdCAqcmVjLCB1aW50OF90ICpv dXQpIHsKK0BAIC01MzgsNyArMzM5LDcgQEAgdm9pZCBwYV93ZWJydGNfZWNfcmVjb3JkKHBhX2Vj aG9fY2FuY2VsbGVyICplYywgY29uc3QgdWludDhfdCAqcmVjLCB1aW50OF90ICpvdXQKKyAgICAg aWYgKGVjLT5wYXJhbXMud2VicnRjLmFnYykgeworICAgICAgICAgcGFfdm9sdW1lX3QgdiA9IHBh X2VjaG9fY2FuY2VsbGVyX2dldF9jYXB0dXJlX3ZvbHVtZShlYyk7CisgICAgICAgICBvbGRfdm9s dW1lID0gd2VicnRjX3ZvbHVtZV9mcm9tX3BhKHYpOworLSAgICAgICAgYXBtLT5nYWluX2NvbnRy b2woKS0+c2V0X3N0cmVhbV9hbmFsb2dfbGV2ZWwob2xkX3ZvbHVtZSk7CisrICAgICAgICBhcG0t PnNldF9zdHJlYW1fYW5hbG9nX2xldmVsKG9sZF92b2x1bWUpOworICAgICB9CisgCisgICAgIGFw bS0+c2V0X3N0cmVhbV9kZWxheV9tcygwKTsKK0BAIC01NTMsNyArMzU0LDcgQEAgdm9pZCBwYV93 ZWJydGNfZWNfcmVjb3JkKHBhX2VjaG9fY2FuY2VsbGVyICplYywgY29uc3QgdWludDhfdCAqcmVj LCB1aW50OF90ICpvdXQKKyAgICAgICAgICAgICBlYy0+cGFyYW1zLndlYnJ0Yy5maXJzdCA9IGZh bHNlOworICAgICAgICAgICAgIG5ld192b2x1bWUgPSBlYy0+cGFyYW1zLndlYnJ0Yy5hZ2Nfc3Rh cnRfdm9sdW1lOworICAgICAgICAgfSBlbHNlIHsKKy0gICAgICAgICAgICBuZXdfdm9sdW1lID0g YXBtLT5nYWluX2NvbnRyb2woKS0+c3RyZWFtX2FuYWxvZ19sZXZlbCgpOworKyAgICAgICAgICAg IG5ld192b2x1bWUgPSBhcG0tPnJlY29tbWVuZGVkX3N0cmVhbV9hbmFsb2dfbGV2ZWwoKTsKKyAg ICAgICAgIH0KKyAKKyAgICAgICAgIGlmIChvbGRfdm9sdW1lICE9IG5ld192b2x1bWUpCitAQCAt NTY0LDkgKzM2NSw2IEBAIHZvaWQgcGFfd2VicnRjX2VjX3JlY29yZChwYV9lY2hvX2NhbmNlbGxl ciAqZWMsIGNvbnN0IHVpbnQ4X3QgKnJlYywgdWludDhfdCAqb3V0CisgfQorIAorIHZvaWQgcGFf d2VicnRjX2VjX3NldF9kcmlmdChwYV9lY2hvX2NhbmNlbGxlciAqZWMsIGZsb2F0IGRyaWZ0KSB7 CistICAgIHdlYnJ0Yzo6QXVkaW9Qcm9jZXNzaW5nICphcG0gPSAod2VicnRjOjpBdWRpb1Byb2Nl c3NpbmcqKWVjLT5wYXJhbXMud2VicnRjLmFwbTsKKy0KKy0gICAgYXBtLT5lY2hvX2NhbmNlbGxh dGlvbigpLT5zZXRfc3RyZWFtX2RyaWZ0X3NhbXBsZXMoZHJpZnQgKiBlYy0+cGFyYW1zLndlYnJ0 Yy5ibG9ja3NpemUpOworIH0KKyAKKyB2b2lkIHBhX3dlYnJ0Y19lY19ydW4ocGFfZWNob19jYW5j ZWxsZXIgKmVjLCBjb25zdCB1aW50OF90ICpyZWMsIGNvbnN0IHVpbnQ4X3QgKnBsYXksIHVpbnQ4 X3QgKm91dCkgeworQEAgLTU3NywxMSArMzc1LDYgQEAgdm9pZCBwYV93ZWJydGNfZWNfcnVuKHBh X2VjaG9fY2FuY2VsbGVyICplYywgY29uc3QgdWludDhfdCAqcmVjLCBjb25zdCB1aW50OF90ICoK KyB2b2lkIHBhX3dlYnJ0Y19lY19kb25lKHBhX2VjaG9fY2FuY2VsbGVyICplYykgeworICAgICBp bnQgaTsKKyAKKy0gICAgaWYgKGVjLT5wYXJhbXMud2VicnRjLnRyYWNlX2NhbGxiYWNrKSB7Cist ICAgICAgICB3ZWJydGM6OlRyYWNlOjpSZXR1cm5UcmFjZSgpOworLSAgICAgICAgZGVsZXRlICgo UGFXZWJydGNUcmFjZUNhbGxiYWNrICopIGVjLT5wYXJhbXMud2VicnRjLnRyYWNlX2NhbGxiYWNr KTsKKy0gICAgfQorLQorICAgICBpZiAoZWMtPnBhcmFtcy53ZWJydGMuYXBtKSB7CisgICAgICAg ICBkZWxldGUgKHdlYnJ0Yzo6QXVkaW9Qcm9jZXNzaW5nKillYy0+cGFyYW1zLndlYnJ0Yy5hcG07 CisgICAgICAgICBlYy0+cGFyYW1zLndlYnJ0Yy5hcG0gPSBOVUxMOworLS0gCitHaXRMYWIKKwor CitGcm9tIDg0YzUzMDY2YzY1NDM5ZGViNDJkMjliYmE4YzY4OTlhNGZhMGUzMTggTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCitGcm9tOiBBcnVuIFJhZ2hhdmFuIDxhcnVuQGFzeW1wdG90aWMuaW8+ CitEYXRlOiBUdWUsIDIwIE9jdCAyMDIwIDE3OjI5OjU1IC0wNDAwCitTdWJqZWN0OiBbUEFUQ0gg My8zXSBidWlsZC1zeXM6IEJ1bXAgd2VicnRjLWF1ZGlvLXByb2Nlc3NpbmcgZGVwZW5kZW5jeQor CitUaGUgcGFja2FnZSBuYW1lIGFuZCB2ZXJzaW9uaW5nIGFyZSBjaGFuZ2luZyB1cHN0cmVhbSwg c28gcHJlcGFyZSBmb3IKK3RoYXQuCisKK1BhcnQtb2Y6IDxodHRwczovL2dpdGxhYi5mcmVlZGVz a3RvcC5vcmcvcHVsc2VhdWRpby9wdWxzZWF1ZGlvLy0vbWVyZ2VfcmVxdWVzdHMvMzk1PgorLS0t CisgbWVzb24uYnVpbGQgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAx IGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9tZXNvbi5idWlsZCBiL21lc29uLmJ1aWxkCitp bmRleCBiNjc4YmI1MzFhLi5hMTY1MmU0ZDMwIDEwMDY0NAorLS0tIGEvbWVzb24uYnVpbGQKKysr KyBiL21lc29uLmJ1aWxkCitAQCAtNzI4LDcgKzcyOCw3IEBAIGlmIGdldF9vcHRpb24oJ2RhZW1v bicpCisgICAgIGNkYXRhLnNldCgnSEFWRV9TT1hSJywgMSkKKyAgIGVuZGlmCisgCistICB3ZWJy dGNfZGVwID0gZGVwZW5kZW5jeSgnd2VicnRjLWF1ZGlvLXByb2Nlc3NpbmcnLCB2ZXJzaW9uIDog Jz49IDAuMicsIHJlcXVpcmVkIDogZ2V0X29wdGlvbignd2VicnRjLWFlYycpKQorKyAgd2VicnRj X2RlcCA9IGRlcGVuZGVuY3koJ3dlYnJ0Yy1hdWRpby1wcm9jZXNzaW5nLTEnLCB2ZXJzaW9uIDog Jz49IDEuMCcsIHJlcXVpcmVkIDogZ2V0X29wdGlvbignd2VicnRjLWFlYycpKQorICAgaWYgd2Vi cnRjX2RlcC5mb3VuZCgpCisgICAgIGNkYXRhLnNldCgnSEFWRV9XRUJSVEMnLCAxKQorICAgZW5k aWYKKy0tIAorR2l0TGFiCisKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcHVsc2VhdWRpby90ZW1wbGF0 ZSBiL3NyY3BrZ3MvcHVsc2VhdWRpby90ZW1wbGF0ZQppbmRleCAzMGYwYTRjYzIzYTljLi40YjBk YmQ0Y2VmMDhiIDEwMDY0NAotLS0gYS9zcmNwa2dzL3B1bHNlYXVkaW8vdGVtcGxhdGUKKysrIGIv c3JjcGtncy9wdWxzZWF1ZGlvL3RlbXBsYXRlCkBAIC0xLDE0ICsxLDE1IEBACiAjIFRlbXBsYXRl IGZpbGUgZm9yICdwdWxzZWF1ZGlvJwogcGtnbmFtZT1wdWxzZWF1ZGlvCiB2ZXJzaW9uPTE2LjEK LXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPW1lc29uCiBjb25maWd1cmVfYXJn cz0iLURqYWNrPWVuYWJsZWQgLURsaXJjPWRpc2FibGVkIC1EaGFsLWNvbXBhdD1mYWxzZSAtRG9y Yz1lbmFibGVkCiAgLURndGs9ZGlzYWJsZWQgLURzeXN0ZW1kPWRpc2FibGVkIC1Ed2VicnRjLWFl Yz1lbmFibGVkCiAgLURnc2V0dGluZ3M9ZW5hYmxlZCAtRGJsdWV6NT1lbmFibGVkCiAgLURibHVl ejUtb2Zvbm8taGVhZHNldD1mYWxzZSAtRGJsdWV6NS1uYXRpdmUtaGVhZHNldD10cnVlCiAgLURl bG9naW5kPWVuYWJsZWQgLUR1ZGV2cnVsZXNkaXI9L3Vzci9saWIvdWRldi9ydWxlcy5kCi0gLURi YXNoY29tcGxldGlvbmRpcj0vdXNyL3NoYXJlL2Jhc2gtY29tcGxldGlvbi9jb21wbGV0aW9ucyIK KyAtRGJhc2hjb21wbGV0aW9uZGlyPS91c3Ivc2hhcmUvYmFzaC1jb21wbGV0aW9uL2NvbXBsZXRp b25zCisgLURjcHBfc3RkPWMrKzE3IgogaG9zdG1ha2VkZXBlbmRzPSJjbWFrZSBtNCBnZXR0ZXh0 IGxpYnRvb2wgb3JjLWRldmVsIHBlcmwtWE1MLVBhcnNlciBwa2ctY29uZmlnCiAgZG94eWdlbiIK IG1ha2VkZXBlbmRzPSIkKHZvcHRfaWYgYXZhaGkgYXZhaGktbGlicy1kZXZlbCkgZXVkZXYtbGli dWRldi1kZXZlbCBmZnR3LWRldmVsIGphY2stZGV2ZWwKCkZyb20gZjdlNDhmNjk5NmU5YWZiNWVk NWZiZjhhZTcxMDA5N2VjMGIxZWMzMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTW9o YW1tZWQgQW5hcyA8dHJpYWxsYXhAdHV0YW5vdGEuY29tPgpEYXRlOiBTdW4sIDEyIE5vdiAyMDIz IDIzOjAyOjU0ICswMDAwClN1YmplY3Q6IFtQQVRDSCA1LzVdIGJhcmVzaXA6IHJldmJ1bXAgZm9y IHdlYnJ0Yy1hdWRpby1wcm9jZXNzaW5nLTEuMy4KCi0tLQogc3JjcGtncy9iYXJlc2lwL3RlbXBs YXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0p CgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9iYXJlc2lwL3RlbXBsYXRlIGIvc3JjcGtncy9iYXJlc2lw L3RlbXBsYXRlCmluZGV4IDEyYzg5NTRlZjdiOWIuLmIxNmI2N2JlYWI4ZDIgMTAwNjQ0Ci0tLSBh L3NyY3BrZ3MvYmFyZXNpcC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2JhcmVzaXAvdGVtcGxhdGUK QEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdiYXJlc2lwJwogcGtnbmFtZT1i YXJlc2lwCiB2ZXJzaW9uPTMuNi4wCi1yZXZpc2lvbj0yCityZXZpc2lvbj0zCiBidWlsZF9zdHls ZT1jbWFrZQogaG9zdG1ha2VkZXBlbmRzPSJwa2ctY29uZmlnIGdsaWItZGV2ZWwiCiBtYWtlZGVw ZW5kcz0ibGliZ3NtLWRldmVsIGxpYnBuZy1kZXZlbCBvcGVuc3NsLWRldmVsIGxpYnNuZGZpbGUt ZGV2ZWwK --===============0052578822226623713==--