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 5073 invoked from network); 28 Aug 2022 21:52:55 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 28 Aug 2022 21:52:55 -0000 Content-Type: multipart/mixed; boundary="===============7884187770293483472==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_New_package=3A_7zip-22=2E00?= To: ml@inbox.vuxu.org From: r-ricci Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Sun, 28 Aug 2022 23:52:55 +0200 List-Id: Message-ID: <20220828215255.MBnLTxK_5fHbebcGsYXIRM8g9QcyQ8Ew5a9QnNM2jhM@z> GitHub notification mails are now in MIME to allow UTF8. --===============7884187770293483472== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgci1yaWNjaSBhZ2FpbnN0IG1hc3Rl ciBvbiB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vci1y aWNjaS92b2lkLXBhY2thZ2VzIDd6aXAKaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9p ZC1wYWNrYWdlcy9wdWxsLzM3OTQwCgpOZXcgcGFja2FnZTogN3ppcC0yMi4wMAo8IS0tIFVuY29t bWVudCByZWxldmFudCBzZWN0aW9ucyBhbmQgZGVsZXRlIG9wdGlvbnMgd2hpY2ggYXJlIG5vdCBh cHBsaWNhYmxlIC0tPg0KDQojIyMjIFRlc3RpbmcgdGhlIGNoYW5nZXMNCi0gSSB0ZXN0ZWQgdGhl IGNoYW5nZXMgaW4gdGhpcyBQUjogKipicmllZmx5KioNCg0KPCEtLQ0KIyMjIyBOZXcgcGFja2Fn ZQ0KLSBUaGlzIG5ldyBwYWNrYWdlIGNvbmZvcm1zIHRvIHRoZSBbcXVhbGl0eSByZXF1aXJlbWVu dHNdKGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvYmxvYi9tYXN0 ZXIvTWFudWFsLm1kI3F1YWxpdHktcmVxdWlyZW1lbnRzKTogKipZRVMqKnwqKk5PKioNCi0tPg0K DQo8IS0tIE5vdGU6IElmIHRoZSBidWlsZCBpcyBsaWtlbHkgdG8gdGFrZSBtb3JlIHRoYW4gMiBo b3VycywgcGxlYXNlIGFkZCBjaSBza2lwIHRhZyBhcyBkZXNjcmliZWQgaW4NCmh0dHBzOi8vZ2l0 aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvYmxvYi9tYXN0ZXIvQ09OVFJJQlVUSU5H Lm1kI2NvbnRpbnVvdXMtaW50ZWdyYXRpb24NCmFuZCB0ZXN0IGF0IGxlYXN0IG9uZSBuYXRpdmUg YnVpbGQgYW5kLCBpZiBzdXBwb3J0ZWQsIGF0IGxlYXN0IG9uZSBjcm9zcyBidWlsZC4NCklnbm9y ZSB0aGlzIHNlY3Rpb24gaWYgdGhpcyBQUiBpcyBub3Qgc2tpcHBpbmcgQ0kuDQotLT4NCjwhLS0N CiMjIyMgTG9jYWwgYnVpbGQgdGVzdGluZw0KLSBJIGJ1aWx0IHRoaXMgUFIgbG9jYWxseSBmb3Ig bXkgbmF0aXZlIGFyY2hpdGVjdHVyZSwgKEFSQ0gtTElCQykNCi0gSSBidWlsdCB0aGlzIFBSIGxv Y2FsbHkgZm9yIHRoZXNlIGFyY2hpdGVjdHVyZXMgKGlmIHN1cHBvcnRlZC4gbWFyayBjcm9zc2J1 aWxkcyk6DQogIC0gYWFyY2g2NC1tdXNsDQogIC0gYXJtdjdsDQogIC0gYXJtdjZsLW11c2wNCi0t Pg0KDQpJIGRvbid0IHRoaW5rIHRoZXJlJ3MgYW55IHJlYXNvbiB0byBzaGlwIHRoZSBmdWxsIGFu ZCB0aGUgcmVkdWNlZCB2ZXJzaW9ucyBpbiB0aGUgc2FtZSBwYWNrYWdlLCBzbyBJIGp1c3QgY29t cGlsZSB0aGUgZnVsbCBvbmUgYW5kIGNyZWF0ZSBzeW1saW5rcyBmb3IgY29tcGF0aWJpbGl0eS4N Cg0KIyMjIyBUT0RPOg0KDQotIFt4XSBmaXggbXVzbA0KLSBbIF0gfmJ1aWxkIHdpdGggYXNzZW1i bHkgd2hlcmUgcG9zc2libGU6IG9uIGk2ODYgYW5kIHg4Nl82NCogaXQgcmVxdWlyZXMgYGFzbWNg IG9yIGBqd2FzbWAvYHVhc21gIGFzc2VtYmxlcnMsIG5vbmUgb2Ygd2hpY2ggYXJlIHBhY2thZ2Vk fg0KLSBbeF0gYnVpbGQgYSB2ZXJzaW9uIHdpdGggUkFSIHN1cHBvcnQgKG5vbmZyZWUgcmVwbykN Ci0gW3hdIHVzZSBvdXIgY29tcGlsZSBhbmQgbGluayBmbGFncw0KLSBbeF0gdGVzdCBwYWNrYWdl cyB0aGF0IGRlcGVuZCBvbiBgcDd6aXBgIGF0IGJ1aWxkL2NoZWNrIHRpbWU6IFNMQURFLCBaODBF eHBsb3JlciwgYXJrLCBjYnAybWFrZS4gKEkganVzdCB0ZXN0ZWQgdGhhdCB0aGV5IHN0aWxsIGJ1 aWxkKQ0KLSB0ZXN0IHBhY2thZ2VzIHRoYXQgZGVwZW5kIG9uIGBwN3ppcGAgYXQgcnVuIHRpbWU6 DQogICAgLSBbIF0ganVsaWENCiAgICAtIFsgXSBsdXRyaXMNCiAgICAtIFsgXSBtdWx0aWJvb3R1 c2INCiAgICAtIFsgXSBwbGF5b25saW51eA0KDQpjbG9zZXMgIzM3ODc1CgpBIHBhdGNoIGZpbGUg ZnJvbSBodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwvMzc5 NDAucGF0Y2ggaXMgYXR0YWNoZWQ= --===============7884187770293483472== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-7zip-37940.patch" RnJvbSAxMmI2ZDU1ZDVkMWVhZjk3MDQyNzE2N2EyMWQ1OWEwZDU3MzBmY2QyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2JlcnRvIFJpY2NpIDxyaWNjaUBkaXNyb290Lm9yZz4KRGF0 ZTogU2F0LCA5IEp1bCAyMDIyIDEyOjA1OjIyICswMjAwClN1YmplY3Q6IFtQQVRDSCAxLzJdIE5l dyBwYWNrYWdlOiA3emlwLTIyLjAxCgotLS0KIHNyY3BrZ3MvN3ppcC11bnJhciAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8ICAgMSArCiBzcmNwa2dzLzd6aXAvZmlsZXMvN3p6LjEgICAgICAg ICAgICAgICAgICAgICAgfCAyMTUgKysrKysrKysrKysrCiBzcmNwa2dzLzd6aXAvcDd6aXAtdW5y YXIuSU5TVEFMTC5tc2cgICAgICAgICAgfCAgIDUgKwogc3JjcGtncy83emlwL3BhdGNoZXMvYnVp bGRfZmxhZ3MucGF0Y2ggICAgICAgIHwgIDMwICsrCiBzcmNwa2dzLzd6aXAvdGVtcGxhdGUgICAg ICAgICAgICAgICAgICAgICAgICAgfCAgNzggKysrKysKIHNyY3BrZ3MvN3ppcC91cGRhdGUgICAg ICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiArCiBzcmNwa2dzL3A3emlwICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCAgIDEgKwogc3JjcGtncy9wN3ppcC11bnJhciAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgICAyICstCiBzcmNwa2dzL3A3emlwL3BhdGNoZXMvMjAtQ1ZF LTIwMTgtNTk5Ni5wYXRjaCAgfCAyMjEgLS0tLS0tLS0tLS0tLQogc3JjcGtncy9wN3ppcC9wYXRj aGVzLzMwLUNWRS0yMDE4LTEwMTE1LnBhdGNoIHwgMzExIC0tLS0tLS0tLS0tLS0tLS0tLQogc3Jj cGtncy9wN3ppcC9wYXRjaGVzL0NWRS0yMDE2LTkyOTYucGF0Y2ggICAgIHwgIDEyIC0KIHNyY3Br Z3MvcDd6aXAvcGF0Y2hlcy9DVkUtMjAxNy0xNzk2OS5wYXRjaCAgICB8ICAyNiAtLQogc3JjcGtn cy9wN3ppcC90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQ3IC0tLQogc3JjcGtn cy9wN3ppcC91cGRhdGUgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxIC0KIDE0IGZpbGVz IGNoYW5nZWQsIDMzMyBpbnNlcnRpb25zKCspLCA2MTkgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9k ZSAxMjAwMDAgc3JjcGtncy83emlwLXVucmFyCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy83 emlwL2ZpbGVzLzd6ei4xCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy83emlwL3A3emlwLXVu cmFyLklOU1RBTEwubXNnCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy83emlwL3BhdGNoZXMv YnVpbGRfZmxhZ3MucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzLzd6aXAvdGVtcGxh dGUKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzLzd6aXAvdXBkYXRlCiBjcmVhdGUgbW9kZSAx MjAwMDAgc3JjcGtncy9wN3ppcAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcDd6aXAvcGF0 Y2hlcy8yMC1DVkUtMjAxOC01OTk2LnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9w N3ppcC9wYXRjaGVzLzMwLUNWRS0yMDE4LTEwMTE1LnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQg c3JjcGtncy9wN3ppcC9wYXRjaGVzL0NWRS0yMDE2LTkyOTYucGF0Y2gKIGRlbGV0ZSBtb2RlIDEw MDY0NCBzcmNwa2dzL3A3emlwL3BhdGNoZXMvQ1ZFLTIwMTctMTc5NjkucGF0Y2gKIGRlbGV0ZSBt b2RlIDEwMDY0NCBzcmNwa2dzL3A3emlwL3RlbXBsYXRlCiBkZWxldGUgbW9kZSAxMDA2NDQgc3Jj cGtncy9wN3ppcC91cGRhdGUKCmRpZmYgLS1naXQgYS9zcmNwa2dzLzd6aXAtdW5yYXIgYi9zcmNw a2dzLzd6aXAtdW5yYXIKbmV3IGZpbGUgbW9kZSAxMjAwMDAKaW5kZXggMDAwMDAwMDAwMDAwLi4y ODQzMTI1OTVhNGMKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzLzd6aXAtdW5yYXIKQEAgLTAs MCArMSBAQAorN3ppcApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvN3ppcC9maWxlcy83enouMSBiL3NyY3BrZ3MvN3ppcC9maWxlcy83enouMQpuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjJlMTU5YmQ5NGJiNAotLS0gL2Rldi9u dWxsCisrKyBiL3NyY3BrZ3MvN3ppcC9maWxlcy83enouMQpAQCAtMCwwICsxLDIxNSBAQAorLlRI IDdaWiAiMSIgIkZlYnJ1YXJ5IDE0LCAyMDIyIgorLlNIIE5BTUUKKzd6eiBcLSBTdGFuZGFsb25l IGNvbnNvbGUgdmVyc2lvbiBvZiB0aGUgNy1aaXAgZmlsZSBhcmNoaXZlcgorLlNIIFNZTk9QU0lT CisuQiA3enoKKy5cIiBcZklcLDxjb21tYW5kPiBcL1tcZklcLDxzd2l0Y2g+XC8uLi5dIFxmSVws PGFyY2hpdmVfbmFtZT4gXC9bXGZJXCw8ZmlsZV9uYW1lcz5cLy4uLl0gW1xmSVwsQGxpc3RfZmls ZVwvXQorLkJSIDxjb21tYW5kPgorLkJSIFs8c3dpdGNoPi4uLl0KKy5CUiA8YXJjaGl2ZV9uYW1l PgorLkJSIFs8ZmlsZV9uYW1lcz5dCisuQlIgW0BsaXN0ZmlsZV0KKy5TSCBERVNDUklQVElPTgor N1wtWmlwIGlzIGEgZmlsZSBhcmNoaXZlciB3aXRoIGEgaGlnaCBjb21wcmVzc2lvbiByYXRpby4g U3VwcG9ydGVkIGZvcm1hdHM6CisuSVAKK1BhY2tpbmcgYW5kIHVucGFja2luZzogN3osIFhaLCBC WklQMiwgR1pJUCwgVEFSLCBaSVAgYW5kIFdJTS4KKy5JUAorVW5wYWNraW5nIG9ubHk6IEFSLCBB UkosIENBQiwgQ0hNLCBDUElPLCBDcmFtRlMsIERNRywgRVhULCBGQVQsIEdQVCwgSEZTLCBJSEVY LCBJU08sIExaSCwgTFpNQSwgTUJSLCBNU0ksIE5TSVMsIE5URlMsIFFDT1cyLCBSQVIsIFJQTSwg U3F1YXNoRlMsIFVERiwgVUVGSSwgVkRJLCBWSEQsIFZIRFgsIFZNREssIFdJTSwgWEFSIGFuZCBa LgorLlNIIENvbW1hbmRzCisuVFAKKy5CUiBhCitBZGQgZmlsZXMgdG8gYXJjaGl2ZQorLlRQCisu QlIgYgorQmVuY2htYXJrCisuVFAKKy5CUiBkCitEZWxldGUgZmlsZXMgZnJvbSBhcmNoaXZlCisu VFAKKy5CUiBlCitFeHRyYWN0IGZpbGVzIGZyb20gYXJjaGl2ZSAod2l0aG91dCB1c2luZyBkaXJl Y3RvcnkgbmFtZXMpCisuVFAKKy5CUiBoCitDYWxjdWxhdGUgaGFzaCB2YWx1ZXMgZm9yIGZpbGVz CisuVFAKKy5CUiBpCitTaG93IGluZm9ybWF0aW9uIGFib3V0IHN1cHBvcnRlZCBmb3JtYXRzCisu VFAKKy5CUiBsCitMaXN0IGNvbnRlbnRzIG9mIGFyY2hpdmUKKy5UUAorLkJSIHJuCitSZW5hbWUg ZmlsZXMgaW4gYXJjaGl2ZQorLlRQCisuQlIgdAorVGVzdCBpbnRlZ3JpdHkgb2YgYXJjaGl2ZQor LlRQCisuQlIgdQorVXBkYXRlIGZpbGVzIHRvIGFyY2hpdmUKKy5UUAorLkJSIHgKK0V4dHJhY3Qg ZmlsZXMgd2l0aCBmdWxsIHBhdGhzCisuU0ggU3dpdGNoZXMKKy5UUAorLkJSIFwtXC0KK1N0b3Ag c3dpdGNoZXMgYW5kIEBsaXN0ZmlsZSBwYXJzaW5nCisuVFAKKy5CUiBcLWFpW3JbXC18MF1de0Bs aXN0ZmlsZXwhd2lsZGNhcmR9CitJbmNsdWRlIGFyY2hpdmVzCisuVFAKKy5CUiBcLWF4W3JbXC18 MF1de0BsaXN0ZmlsZXwhd2lsZGNhcmR9CitFeGNsdWRlIGFyY2hpdmVzCisuVFAKKy5CUiBcLWFv e2F8c3x0fHV9CitTZXQgT3ZlcndyaXRlIG1vZGUKKy5UUAorLkJSIFwtYW4KK0Rpc2FibGUgYXJj aGl2ZV9uYW1lIGZpZWxkCisuVFAKKy5CUiBcLWJiWzBcLTNdCitTZXQgb3V0cHV0IGxvZyBsZXZl bAorLlRQCisuQlIgXC1iZAorRGlzYWJsZSBwcm9ncmVzcyBpbmRpY2F0b3IKKy5UUAorLkJSIFwt YnN7b3xlfHB9ezB8MXwyfQorU2V0IG91dHB1dCBzdHJlYW0gZm9yIG91dHB1dC9lcnJvci9wcm9n cmVzcyBsaW5lCisuVFAKKy5CUiBcLWJ0CitzaG93IGV4ZWN1dGlvbiB0aW1lIHN0YXRpc3RpY3MK Ky5UUAorLkJSIFwtaVtyW1wtfDBdXXtAbGlzdGZpbGV8IXdpbGRjYXJkfQorSW5jbHVkZSBmaWxl bmFtZXMKKy5UUAorLkJSIFwtbXtQYXJhbWV0ZXJzfQorU2V0IGNvbXByZXNzaW9uIE1ldGhvZAor LlRQCisuQlIgXC1tbXRbTl0KK1NldCBudW1iZXIgb2YgQ1BVIHRocmVhZHMKKy5UUAorLkJSIFwt bXhbTl0KK1NldCBjb21wcmVzc2lvbiBsZXZlbDogXC1teDEgKGZhc3Rlc3QpIC4uLiBcLW14OSAo dWx0cmEpCisuVFAKKy5CUiBcLW97RGlyZWN0b3J5fQorU2V0IE91dHB1dCBkaXJlY3RvcnkKKy5U UAorLkJSIFwtcHtQYXNzd29yZH0KK1NldCBQYXNzd29yZAorLlRQCisuQlIgXC1yW1wtfDBdCitS ZWN1cnNlIHN1YmRpcmVjdG9yaWVzIGZvciBuYW1lIHNlYXJjaAorLlRQCisuQlIgXC1zYXthfGV8 c30KK1NldCBBcmNoaXZlIG5hbWUgbW9kZQorLlRQCisuQlIgXC1zY2N7VVRGXC04fFdJTnxET1N9 CitTZXQgY2hhcnNldCBmb3IgZm9yIGNvbnNvbGUgaW5wdXQvb3V0cHV0CisuVFAKKy5CUiBcLXNj c3tVVEZcLTh8VVRGXC0xNkxFfFVURlwtMTZCRXxXSU58RE9TfHtpZH19CitTZXQgY2hhcnNldCBm b3IgbGlzdCBmaWxlcworLlRQCisuQlIgXC1zY3JjW0NSQzMyfENSQzY0fFNIQTF8U0hBMjU2fCpd CitTZXQgaGFzaCBmdW5jdGlvbiBmb3IgeCwgZSwgaCBjb21tYW5kcworLlRQCisuQlIgXC1zZGVs CitEZWxldGUgZmlsZXMgYWZ0ZXIgY29tcHJlc3Npb24KKy5UUAorLkJSIFwtc2VtbFsuXQorU2Vu ZCBhcmNoaXZlIGJ5IGVtYWlsCisuVFAKKy5CUiBcLXNmeFt7bmFtZX1dCitDcmVhdGUgU0ZYIGFy Y2hpdmUKKy5UUAorLkJSIFwtc2lbe25hbWV9XQorUmVhZCBkYXRhIGZyb20gc3RkaW4KKy5UUAor LkJSIFwtc2xwCitTZXQgTGFyZ2UgUGFnZXMgbW9kZQorLlRQCisuQlIgXC1zbHQKK1Nob3cgdGVj aG5pY2FsIGluZm9ybWF0aW9uIGZvciBsIChMaXN0KSBjb21tYW5kCisuVFAKKy5CUiBcLXNuaAor U3RvcmUgaGFyZCBsaW5rcyBhcyBsaW5rcworLlRQCisuQlIgXC1zbmwKK1N0b3JlIHN5bWJvbGlj IGxpbmtzIGFzIGxpbmtzCisuVFAKKy5CUiBcLXNuaQorU3RvcmUgTlQgc2VjdXJpdHkgaW5mb3Jt YXRpb24KKy5UUAorLkJSIFwtc25zW1wtXQorU3RvcmUgTlRGUyBhbHRlcm5hdGUgc3RyZWFtcwor LlRQCisuQlIgXC1zbworV3JpdGUgZGF0YSB0byBzdGRvdXQKKy5UUAorLkJSIFwtc3BkCitEaXNh YmxlIHdpbGRjYXJkIG1hdGNoaW5nIGZvciBmaWxlIG5hbWVzCisuVFAKKy5CUiBcLXNwZQorRWxp bWluYXRlIGR1cGxpY2F0aW9uIG9mIHJvb3QgZm9sZGVyIGZvciBleHRyYWN0IGNvbW1hbmQKKy5U UAorLkJSIFwtc3BmCitVc2UgZnVsbHkgcXVhbGlmaWVkIGZpbGUgcGF0aHMKKy5UUAorLkJSIFwt c3NjW1wtXQorU2V0IHNlbnNpdGl2ZSBjYXNlIG1vZGUKKy5UUAorLkJSIFwtc3NlCitTdG9wIGFy Y2hpdmUgY3JlYXRpbmcsIGlmIGl0IGNhbid0IG9wZW4gc29tZSBpbnB1dCBmaWxlCisuVFAKKy5C UiBcLXNzcAorRG8gbm90IGNoYW5nZSBMYXN0IEFjY2VzcyBUaW1lIG9mIHNvdXJjZSBmaWxlcyB3 aGlsZSBhcmNoaXZpbmcKKy5UUAorLkJSIFwtc3N3CitDb21wcmVzcyBzaGFyZWQgZmlsZXMKKy5U UAorLkJSIFwtc3RsCitTZXQgYXJjaGl2ZSB0aW1lc3RhbXAgZnJvbSB0aGUgbW9zdCByZWNlbnRs eSBtb2RpZmllZCBmaWxlCisuVFAKKy5CUiBcLXN0bXtIZXhNYXNrfQorU2V0IENQVSB0aHJlYWQg YWZmaW5pdHkgbWFzayAoaGV4YWRlY2ltYWwgbnVtYmVyKQorLlRQCisuQlIgXC1zdHh7VHlwZX0K K0V4Y2x1ZGUgYXJjaGl2ZSB0eXBlCisuVFAKKy5CUiBcLXR7VHlwZX0KK1NldCB0eXBlIG9mIGFy Y2hpdmUKKy5UUAorLkJSIFwtdVtcLV1bcCNdW3EjXVtyI11beCNdW3kjXVt6I11bIW5ld0FyY2hp dmVOYW1lXQorVXBkYXRlIG9wdGlvbnMKKy5UUAorLkJSIFwtdntTaXplfVtifGt8bXxnXQorQ3Jl YXRlIHZvbHVtZXMKKy5UUAorLkJSIFwtd1t7cGF0aH1dCitTZXQgd29ya2luZyBkaXJlY3Rvcnku IEVtcHR5IHBhdGggbWVhbnMgYSB0ZW1wb3JhcnkgZGlyZWN0b3J5CisuVFAKKy5CUiBcLXhbcltc LXwwXV17QGxpc3RmaWxlfCF3aWxkY2FyZH0KK0V4Y2x1ZGUgZmlsZW5hbWVzCisuVFAKKy5CUiBc LXkKK0Fzc3VtZSBZZXMgb24gYWxsIHF1ZXJpZXMKKy5TSCBMaXN0ZmlsZQorWW91IGNhbiBzdXBw bHkgb25lIG9yIG1vcmUgZmlsZW5hbWVzIG9yIHdpbGRjYXJkcyBmb3Igc3BlY2lhbCBsaXN0IGZp bGVzIChmaWxlcyBjb250YWluaW5nIGxpc3RzIG9mIGZpbGVzKS4gVGhlIGZpbGVuYW1lcyBpbiBz dWNoIGxpc3QgZmlsZSBtdXN0IGJlIHNlcGFyYXRlZCBieSBuZXcgbGluZSBzeW1ib2wocykuIEZv ciBsaXN0IGZpbGVzLCA3XC1aaXAgdXNlcyBVVEZcLTggZW5jb2RpbmcgYnkgZGVmYXVsdC4gWW91 IGNhbiBjaGFuZ2UgZW5jb2RpbmcgdXNpbmcKKy5CUiBcLXNjcworc3dpdGNoLiBNdWx0aXBsZSBs aXN0IGZpbGVzIGFyZSBzdXBwb3J0ZWQuCisuUFAKK0ZvciBleGFtcGxlLCBpZiB0aGUgZmlsZSAi bGlzdGZpbGUudHh0IiBjb250YWlucyB0aGUgZm9sbG93aW5nOgorLklQCitNeSBwcm9ncmFtc1xc Ki5jcHAKKy5icgorU3JjXFwqLmNwcAorLlBQCit0aGVuIHRoZSBjb21tYW5kCisuSVAKKy5CIDd6 IGEgXC10emlwIGFyY2hpdmUuemlwIEBsaXN0ZmlsZS50eHQKKy5QUAorYWRkcyB0byB0aGUgYXJj aGl2ZSAiYXJjaGl2ZS56aXAiIGFsbCAiKi5jcHAiIGZpbGVzIGZyb20gZGlyZWN0b3JpZXMgIk15 IHByb2dyYW1zIiBhbmQgIlNyYyIuCisuU0ggIlNFRSBBTFNPIgorLkJSIHh6ICgxKQorLmJyCitG cmVxdWVudGx5IEFza2VkIFF1ZXN0aW9uczogPGh0dHBzOi8vd3d3LjctemlwLm9yZy9mYXEuaHRt bD4KKy5icgorUmVjb3ZlciBjb3JydXB0ZWQgN3ogYXJjaGl2ZTogPGh0dHBzOi8vd3d3Ljctemlw Lm9yZy9yZWNvdmVyLmh0bWw+CmRpZmYgLS1naXQgYS9zcmNwa2dzLzd6aXAvcDd6aXAtdW5yYXIu SU5TVEFMTC5tc2cgYi9zcmNwa2dzLzd6aXAvcDd6aXAtdW5yYXIuSU5TVEFMTC5tc2cKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi43NzVmOTQzYzBhNTYKLS0tIC9kZXYv bnVsbAorKysgYi9zcmNwa2dzLzd6aXAvcDd6aXAtdW5yYXIuSU5TVEFMTC5tc2cKQEAgLTAsMCAr MSw1IEBACitUaGUgcDd6aXAtdW5yYXIgcGFja2FnZSBoYXMgYmVlbiByZXBsYWNlZCBieSA3emlw LXVucmFyLgorVG8gdXNlIHRoZSBSQVItZW5hYmxlZCB2ZXJzaW9uIG9mIGA3emAsIG1ha2Ugc3Vy ZSB0aGUgZGVzaXJlZAorYWx0ZXJuYXRpdmUgaXMgY29uZmlndXJlZDoKKworCSMgeGJwcy1hbHRl cm5hdGl2ZXMgLXMgN3ppcC11bnJhcgpkaWZmIC0tZ2l0IGEvc3JjcGtncy83emlwL3BhdGNoZXMv YnVpbGRfZmxhZ3MucGF0Y2ggYi9zcmNwa2dzLzd6aXAvcGF0Y2hlcy9idWlsZF9mbGFncy5wYXRj aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjRmNzkxZmY2M2RkZgot LS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvN3ppcC9wYXRjaGVzL2J1aWxkX2ZsYWdzLnBhdGNo CkBAIC0wLDAgKzEsMzAgQEAKK2FwcGVuZCAoZG9uJ3QgcHJlZml4KSB4YnBzIGJ1aWxkIGZsYWdz IGFuZCBkb24ndCBzdHJpcCB0aGUgZXhlY3V0YWJsZQorLS0tIGEvQ1BQLzd6aXAvN3ppcF9nY2Mu bWFrCisrKysgYi9DUFAvN3ppcC83emlwX2djYy5tYWsKK0BAIC0xMjYsNyArMTI2LDcgQEAgZW5k aWYKKyANCisgDQorIA0KKy1DRkxBR1MgPSAkKE1ZX0FSQ0hfMikgJChMT0NBTF9GTEFHUykgJChD RkxBR1NfQkFTRTIpICQoQ0ZMQUdTX0JBU0UpICQoQ0NfU0hBUkVEKSAtbyAkQA0KKytDRkxBR1Mg PSAkKE1ZX0FSQ0hfMikgJChMT0NBTF9GTEFHUykgJChDRkxBR1NfQkFTRTIpICQoQ0ZMQUdTX0JB U0UpICQoQ0NfU0hBUkVEKSAkKFhCUFNfQ0ZMQUdTKSAtbyAkQA0KKyANCisgDQorIGlmZGVmIElT X01JTkdXDQorQEAgLTE1NCw3ICsxNTQsNyBAQCBDWFhfV0FSTl9GTEFHUyA9CisgIy1Xbm8taW52 YWxpZC1vZmZzZXRvZg0KKyAjLVduby1yZW9yZGVyDQorIA0KKy1DWFhGTEFHUyA9ICQoTVlfQVJD SF8yKSAkKExPQ0FMX0ZMQUdTKSAkKENYWEZMQUdTX0JBU0UyKSAkKENGTEFHU19CQVNFKSAkKENY WEZMQUdTX0VYVFJBKSAkKENDX1NIQVJFRCkgLW8gJEAgJChDWFhfV0FSTl9GTEFHUykNCisrQ1hY RkxBR1MgPSAkKE1ZX0FSQ0hfMikgJChMT0NBTF9GTEFHUykgJChDWFhGTEFHU19CQVNFMikgJChD RkxBR1NfQkFTRSkgJChDWFhGTEFHU19FWFRSQSkgJChDQ19TSEFSRUQpIC1vICRAICQoQ1hYX1dB Uk5fRkxBR1MpICQoWEJQU19DWFhGTEFHUykNCisgDQorIFNUQVRJQ19UQVJHRVQ9DQorIGlmZGVm IENPTVBMX1NUQVRJQw0KK0BAIC0xNjcsNyArMTY3LDcgQEAgYWxsOiAkKE8pICQoUFJPR1BBVEgp ICQoU1RBVElDX1RBUkdFVCkKKyAkKE8pOg0KKyAJJChNWV9NS0RJUikgJChPKQ0KKyANCistTEZM QUdTX0FMTCA9IC1zICQoTVlfQVJDSF8yKSAkKExERkxBR1MpICQoTERfYXJjaCkgJChPQkpTKSAk KE1ZX0xJQlMpICQoTElCMikNCisrTEZMQUdTX0FMTCA9ICQoTVlfQVJDSF8yKSAkKExERkxBR1Mp ICQoTERfYXJjaCkgJChPQkpTKSAkKE1ZX0xJQlMpICQoTElCMikgJChYQlBTX0xERkxBR1MpDQor ICQoUFJPR1BBVEgpOiAkKE9CSlMpDQorIAkkKENYWCkgLW8gJChQUk9HUEFUSCkgJChMRkxBR1Nf QUxMKQ0KKyANCmRpZmYgLS1naXQgYS9zcmNwa2dzLzd6aXAvdGVtcGxhdGUgYi9zcmNwa2dzLzd6 aXAvdGVtcGxhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi45ODll ODQ2MDhlMmQKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzLzd6aXAvdGVtcGxhdGUKQEAgLTAs MCArMSw3OCBAQAorIyBUZW1wbGF0ZSBmaWxlIGZvciAnN3ppcCcKK3BrZ25hbWU9N3ppcAordmVy c2lvbj0yMi4wMQorcmV2aXNpb249MQorY3JlYXRlX3dya3NyYz15ZXMKK3Nob3J0X2Rlc2M9IkZp bGUgYXJjaGl2ZXIgd2l0aCBhIGhpZ2ggY29tcHJlc3Npb24gcmF0aW8iCittYWludGFpbmVyPSJS b2JlcnRvIFJpY2NpIDxyaWNjaUBkaXNyb290Lm9yZz4iCitsaWNlbnNlPSJMR1BMLTIuMS1vci1s YXRlciwgQlNELTMtQ2xhdXNlIgoraG9tZXBhZ2U9Imh0dHBzOi8vd3d3LjctemlwLm9yZyIKK2No YW5nZWxvZz0iaHR0cHM6Ly93d3cuNy16aXAub3JnL2hpc3RvcnkudHh0IgorZGlzdGZpbGVzPSJo dHRwczovL3d3dy43LXppcC5vcmcvYS83eiR7dmVyc2lvbi8vLi99LXNyYy50YXIueHoiCitjaGVj a3N1bT0zOTMwOTg3MzBjNzAwNDIzOTJhZjgwODkxN2U3NjU5NDVkYzI0MzdkZWU3YWFlM2NmY2M0 OTY2ZWI5MjBmYmM1CithbHRlcm5hdGl2ZXM9IgorIDd6Ojd6Oi91c3IvYmluLzd6LWZyZWUKKyA3 ejo3emE6L3Vzci9iaW4vN3otZnJlZQorIDd6Ojd6cjovdXNyL2Jpbi83ei1mcmVlCisgN3o6N3ou MTovdXNyL3NoYXJlL21hbi9tYW4xLzd6LWZyZWUuMSIKKworaWYgWyAiJFhCUFNfVEFSR0VUX0xJ QkMiID0gbXVzbCBdOyB0aGVuCisJIyBtaXNzaW5nIHB0aHJlYWRfYXR0cl9zZXRhZmZpbml0eV9u cCgpCisJQ0ZMQUdTKz0iLURfN1pJUF9BRkZJTklUWV9ESVNBQkxFIgorCUNYWEZMQUdTKz0iLURf N1pJUF9BRkZJTklUWV9ESVNBQkxFIgorZmkKKworZG9fYnVpbGQoKSB7CisJY2QgIiR3cmtzcmMi L0NQUC83emlwL0J1bmRsZXMvQWxvbmUyCisKKwljYXNlICIkWEJQU19UQVJHRVRfTUFDSElORSIg aW4KKwlhYXJjaDY0KikgXzd6X21ha2VmaWxlPSIuLi8uLi9jbXBsX2djY19hcm02NC5tYWsiOzsK KwkqKSAgICAgICAgXzd6X21ha2VmaWxlPSIuLi8uLi9jbXBsX2djYy5tYWsiOzsKKwllc2FjCisK Kwlmb3Igb3B0cyBpbiAiTz1iL25vcmFyIERJU0FCTEVfUkFSX0NPTVBSRVNTPTEiICJPPWIvcmFy IjsgZG8KKwkJbWFrZSAiJG1ha2Vqb2JzIiAtZiAiJF83el9tYWtlZmlsZSIgXAorCQkJQ0M9IiRD QyIgQ1hYPSIkQ1hYIiBYQlBTX0NGTEFHUz0iJENGTEFHUyIgXAorCQkJWEJQU19DWFhGTEFHUz0i JENYWEZMQUdTIiBYQlBTX0xERkxBR1M9IiRMREZMQUdTIiBcCisJCQkkb3B0cworCWRvbmUKK30K KworZG9faW5zdGFsbCgpIHsKKwl2YmluICIke3dya3NyY30vQ1BQLzd6aXAvQnVuZGxlcy9BbG9u ZTIvYi9ub3Jhci83enoiICI3ei1mcmVlIgorCXZsaWNlbnNlICIke3dya3NyY30vRE9DL0xpY2Vu c2UudHh0IgorCSMgaHR0cHM6Ly9jZ2l0LmZyZWVic2Qub3JnL3BvcnRzL3BsYWluL2FyY2hpdmVy cy83LXppcC9maWxlcy83enouMQorCXZtYW4gIiR7RklMRVNESVJ9Lzd6ei4xIiAiN3otZnJlZS4x IgorfQorCis3emlwLXVucmFyX3BhY2thZ2UoKSB7CisJbGljZW5zZSs9IiwgY3VzdG9tOmZyZWV3 YXJlIgorCXJlcG9zaXRvcnk9bm9uZnJlZQorCXNob3J0X2Rlc2MrPSIgLSBSQVIgc3VwcG9ydCIK KwlhbHRlcm5hdGl2ZXM9IgorCSA3ejo3ejovdXNyL2Jpbi83ei11bnJhcgorCSA3ejo3emE6L3Vz ci9iaW4vN3otdW5yYXIKKwkgN3o6N3pyOi91c3IvYmluLzd6LXVucmFyCisJIDd6Ojd6LjE6L3Vz ci9zaGFyZS9tYW4vbWFuMS83ei11bnJhci4xIgorCisJcGtnX2luc3RhbGwoKSB7CisJCXZiaW4g IiR7d3Jrc3JjfS9DUFAvN3ppcC9CdW5kbGVzL0Fsb25lMi9iL3Jhci83enoiICI3ei11bnJhciIK KwkJdmxpY2Vuc2UgIiR7d3Jrc3JjfS9ET0MvTGljZW5zZS50eHQiCisJCXZtYW4gIiR7RklMRVNE SVJ9Lzd6ei4xIiAiN3otdW5yYXIuMSIKKwl9Cit9CisKK3A3emlwX3BhY2thZ2UoKSB7CisJYnVp bGRfc3R5bGU9bWV0YQorCWRlcGVuZHM9N3ppcAorCXNob3J0X2Rlc2M9IkNvbW1hbmQtbGluZSB2 ZXJzaW9uIG9mIHRoZSA3emlwIGNvbXByZXNzZWQgZmlsZSBhcmNoaXZlIgorCXNob3J0X2Rlc2Mr PSIgKHRyYW5zaXRpb25hbCBkdW1teSBwYWNrYWdlKSIKK30KKworcDd6aXAtdW5yYXJfcGFja2Fn ZSgpIHsKKwlidWlsZF9zdHlsZT1tZXRhCisJcmVwb3NpdG9yeT1ub25mcmVlCisJZGVwZW5kcz03 emlwLXVucmFyCisJc2hvcnRfZGVzYz0iQ29tbWFuZC1saW5lIHZlcnNpb24gb2YgdGhlIDd6aXAg Y29tcHJlc3NlZCBmaWxlIGFyY2hpdmUgLSBSQVIgc3VwcG9ydCIKKwlzaG9ydF9kZXNjKz0iICh0 cmFuc2l0aW9uYWwgZHVtbXkgcGFja2FnZSkiCit9CmRpZmYgLS1naXQgYS9zcmNwa2dzLzd6aXAv dXBkYXRlIGIvc3JjcGtncy83emlwL3VwZGF0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwMDAuLjU0NjNmMTQ4ZTRmOAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvN3pp cC91cGRhdGUKQEAgLTAsMCArMSwyIEBACitzaXRlPSdodHRwczovLzctemlwLm9yZy9kb3dubG9h ZC5odG1sJworcGF0dGVybj0nRG93bmxvYWQgNy1aaXAgXEtbXGQuXSsnCmRpZmYgLS1naXQgYS9z cmNwa2dzL3A3emlwIGIvc3JjcGtncy9wN3ppcApuZXcgZmlsZSBtb2RlIDEyMDAwMAppbmRleCAw MDAwMDAwMDAwMDAuLjI4NDMxMjU5NWE0YwotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcDd6 aXAKQEAgLTAsMCArMSBAQAorN3ppcApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt LWdpdCBhL3NyY3BrZ3MvcDd6aXAtdW5yYXIgYi9zcmNwa2dzL3A3emlwLXVucmFyCmluZGV4IGJm NTM0OWVlNjY2Ni4uMjg0MzEyNTk1YTRjIDEyMDAwMAotLS0gYS9zcmNwa2dzL3A3emlwLXVucmFy CisrKyBiL3NyY3BrZ3MvcDd6aXAtdW5yYXIKQEAgLTEgKzEgQEAKLXA3emlwClwgTm8gbmV3bGlu ZSBhdCBlbmQgb2YgZmlsZQorN3ppcApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt LWdpdCBhL3NyY3BrZ3MvcDd6aXAvcGF0Y2hlcy8yMC1DVkUtMjAxOC01OTk2LnBhdGNoIGIvc3Jj cGtncy9wN3ppcC9wYXRjaGVzLzIwLUNWRS0yMDE4LTU5OTYucGF0Y2gKZGVsZXRlZCBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDY3MzNiZmY5MTg5NS4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3Mv cDd6aXAvcGF0Y2hlcy8yMC1DVkUtMjAxOC01OTk2LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEs MjIxICswLDAgQEAKLUZyb206IFJvYmVydCBMdWJlcmRhIDxyb2JlcnRAZGViaWFuLm9yZz4KLURh dGU6IFN1biwgMjggSmFuIDIwMTggMjM6NDc6NDAgKzAxMDAKLVN1YmplY3Q6IENWRS0yMDE4LTU5 OTYKLQotSG9wZWZ1bGx5IGZpeCBNZW1vcnkgQ29ycnVwdGlvbnMgdmlhIFJBUiBQUE1kIChDVkUt MjAxOC01OTk2KSBieQotYXBwbHlpbmcgYSBmZXcgY2hhbmdlcyBmcm9tIDdaaXAgMTguMDAtYmV0 YS4KLQotQnVnLURlYmlhbjogaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvIzg4ODMxNAotLS0tCi0g Q1BQLzd6aXAvQ29tcHJlc3MvUmFyMURlY29kZXIuY3BwIHwgMTMgKysrKysrKysrLS0tLQotIENQ UC83emlwL0NvbXByZXNzL1JhcjFEZWNvZGVyLmggICB8ICAxICsKLSBDUFAvN3ppcC9Db21wcmVz cy9SYXIyRGVjb2Rlci5jcHAgfCAxMCArKysrKysrKystCi0gQ1BQLzd6aXAvQ29tcHJlc3MvUmFy MkRlY29kZXIuaCAgIHwgIDEgKwotIENQUC83emlwL0NvbXByZXNzL1JhcjNEZWNvZGVyLmNwcCB8 IDIzICsrKysrKysrKysrKysrKysrKysrLS0tCi0gQ1BQLzd6aXAvQ29tcHJlc3MvUmFyM0RlY29k ZXIuaCAgIHwgIDIgKysKLSA2IGZpbGVzIGNoYW5nZWQsIDQyIGluc2VydGlvbnMoKyksIDggZGVs ZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9DUFAvN3ppcC9Db21wcmVzcy9SYXIxRGVjb2Rlci5j cHAgYi9DUFAvN3ppcC9Db21wcmVzcy9SYXIxRGVjb2Rlci5jcHAKLWluZGV4IDFhYWVkY2MuLjY4 MDMwYzcgMTAwNjQ0Ci0tLS0gYS9DUFAvN3ppcC9Db21wcmVzcy9SYXIxRGVjb2Rlci5jcHAKLSsr KyBiL0NQUC83emlwL0NvbXByZXNzL1JhcjFEZWNvZGVyLmNwcAotQEAgLTI5LDcgKzI5LDcgQEAg cHVibGljOgotIH07Ci0gKi8KLSAKLS1DRGVjb2Rlcjo6Q0RlY29kZXIoKTogbV9Jc1NvbGlkKGZh bHNlKSB7IH0KLStDRGVjb2Rlcjo6Q0RlY29kZXIoKTogbV9Jc1NvbGlkKGZhbHNlKSwgX2Vycm9y TW9kZShmYWxzZSkgeyB9Ci0gCi0gdm9pZCBDRGVjb2Rlcjo6SW5pdFN0cnVjdHVyZXMoKQotIHsK LUBAIC00MDYsOSArNDA2LDE0IEBAIEhSRVNVTFQgQ0RlY29kZXI6OkNvZGVSZWFsKElTZXF1ZW50 aWFsSW5TdHJlYW0gKmluU3RyZWFtLCBJU2VxdWVudGlhbE91dFN0cmVhbSAqCi0gICBJbml0RGF0 YSgpOwotICAgaWYgKCFtX0lzU29saWQpCi0gICB7Ci0rICAgIF9lcnJvck1vZGUgPSBmYWxzZTsK LSAgICAgSW5pdFN0cnVjdHVyZXMoKTsKLSAgICAgSW5pdEh1ZmYoKTsKLSAgIH0KLSsKLSsgIGlm IChfZXJyb3JNb2RlKQotKyAgICByZXR1cm4gU19GQUxTRTsKLSsKLSAgIGlmIChtX1VucGFja1Np emUgPiAwKQotICAgewotICAgICBHZXRGbGFnc0J1ZigpOwotQEAgLTQ3Nyw5ICs0ODIsOSBAQCBT VERNRVRIT0RJTVAgQ0RlY29kZXI6OkNvZGUoSVNlcXVlbnRpYWxJblN0cmVhbSAqaW5TdHJlYW0s IElTZXF1ZW50aWFsT3V0U3RyZWFtCi0gICAgIGNvbnN0IFVJbnQ2NCAqaW5TaXplLCBjb25zdCBV SW50NjQgKm91dFNpemUsIElDb21wcmVzc1Byb2dyZXNzSW5mbyAqcHJvZ3Jlc3MpCi0gewotICAg dHJ5IHsgcmV0dXJuIENvZGVSZWFsKGluU3RyZWFtLCBvdXRTdHJlYW0sIGluU2l6ZSwgb3V0U2l6 ZSwgcHJvZ3Jlc3MpOyB9Ci0tICBjYXRjaChjb25zdCBDSW5CdWZmZXJFeGNlcHRpb24gJmUpIHsg cmV0dXJuIGUuRXJyb3JDb2RlOyB9Ci0tICBjYXRjaChjb25zdCBDTHpPdXRXaW5kb3dFeGNlcHRp b24gJmUpIHsgcmV0dXJuIGUuRXJyb3JDb2RlOyB9Ci0tICBjYXRjaCguLi4pIHsgcmV0dXJuIFNf RkFMU0U7IH0KLSsgIGNhdGNoKGNvbnN0IENJbkJ1ZmZlckV4Y2VwdGlvbiAmZSkgeyBfZXJyb3JN b2RlID0gdHJ1ZTsgcmV0dXJuIGUuRXJyb3JDb2RlOyB9Ci0rICBjYXRjaChjb25zdCBDTHpPdXRX aW5kb3dFeGNlcHRpb24gJmUpIHsgX2Vycm9yTW9kZSA9IHRydWU7IHJldHVybiBlLkVycm9yQ29k ZTsgfQotKyAgY2F0Y2goLi4uKSB7IF9lcnJvck1vZGUgPSB0cnVlOyByZXR1cm4gU19GQUxTRTsg fQotIH0KLSAKLSBTVERNRVRIT0RJTVAgQ0RlY29kZXI6OlNldERlY29kZXJQcm9wZXJ0aWVzMihj b25zdCBCeXRlICpkYXRhLCBVSW50MzIgc2l6ZSkKLWRpZmYgLS1naXQgYS9DUFAvN3ppcC9Db21w cmVzcy9SYXIxRGVjb2Rlci5oIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMURlY29kZXIuaAotaW5k ZXggNjMwZjA4OS4uMDFiNjA2YiAxMDA2NDQKLS0tLSBhL0NQUC83emlwL0NvbXByZXNzL1JhcjFE ZWNvZGVyLmgKLSsrKyBiL0NQUC83emlwL0NvbXByZXNzL1JhcjFEZWNvZGVyLmgKLUBAIC0zOSw2 ICszOSw3IEBAIHB1YmxpYzoKLSAKLSAgIEludDY0IG1fVW5wYWNrU2l6ZTsKLSAgIGJvb2wgbV9J c1NvbGlkOwotKyAgYm9vbCBfZXJyb3JNb2RlOwotIAotICAgVUludDMyIFJlYWRCaXRzKGludCBu dW1CaXRzKTsKLSAgIEhSRVNVTFQgQ29weUJsb2NrKFVJbnQzMiBkaXN0YW5jZSwgVUludDMyIGxl bik7Ci1kaWZmIC0tZ2l0IGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMkRlY29kZXIuY3BwIGIvQ1BQ Lzd6aXAvQ29tcHJlc3MvUmFyMkRlY29kZXIuY3BwCi1pbmRleCBiM2YyYjRiLi4wNTgwYzhkIDEw MDY0NAotLS0tIGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMkRlY29kZXIuY3BwCi0rKysgYi9DUFAv N3ppcC9Db21wcmVzcy9SYXIyRGVjb2Rlci5jcHAKLUBAIC04MCw3ICs4MCw4IEBAIHN0YXRpYyBj b25zdCBVSW50MzIga0hpc3RvcnlTaXplID0gMSA8PCAyMDsKLSBzdGF0aWMgY29uc3QgVUludDMy IGtXaW5kb3dSZXNlcnZTaXplID0gKDEgPDwgMjIpICsgMjU2OwotIAotIENEZWNvZGVyOjpDRGVj b2RlcigpOgotLSAgbV9Jc1NvbGlkKGZhbHNlKQotKyAgbV9Jc1NvbGlkKGZhbHNlKSwKLSsgIG1f VGFibGVzT0soZmFsc2UpCi0gewotIH0KLSAKLUBAIC0xMDAsNiArMTAxLDggQEAgVUludDMyIENE ZWNvZGVyOjpSZWFkQml0cyh1bnNpZ25lZCBudW1CaXRzKSB7IHJldHVybiBtX0luQml0U3RyZWFt LlJlYWRCaXRzKG51bUIKLSAKLSBib29sIENEZWNvZGVyOjpSZWFkVGFibGVzKHZvaWQpCi0gewot KyAgbV9UYWJsZXNPSyA9IGZhbHNlOwotKwotICAgQnl0ZSBsZXZlbExldmVsc1trTGV2ZWxUYWJs ZVNpemVdOwotICAgQnl0ZSBuZXdMZXZlbHNba01heFRhYmxlU2l6ZV07Ci0gICBtX0F1ZGlvTW9k ZSA9IChSZWFkQml0cygxKSA9PSAxKTsKLUBAIC0xNzAsNiArMTczLDggQEAgYm9vbCBDRGVjb2Rl cjo6UmVhZFRhYmxlcyh2b2lkKQotICAgfQotICAgCi0gICBtZW1jcHkobV9MYXN0TGV2ZWxzLCBu ZXdMZXZlbHMsIGtNYXhUYWJsZVNpemUpOwotKyAgbV9UYWJsZXNPSyA9IHRydWU7Ci0rCi0gICBy ZXR1cm4gdHJ1ZTsKLSB9Ci0gCi1AQCAtMzQ0LDYgKzM0OSw5IEBAIEhSRVNVTFQgQ0RlY29kZXI6 OkNvZGVSZWFsKElTZXF1ZW50aWFsSW5TdHJlYW0gKmluU3RyZWFtLCBJU2VxdWVudGlhbE91dFN0 cmVhbSAqCi0gICAgICAgcmV0dXJuIFNfRkFMU0U7Ci0gICB9Ci0gCi0rICBpZiAoIW1fVGFibGVz T0spCi0rICAgIHJldHVybiBTX0ZBTFNFOwotKwotICAgVUludDY0IHN0YXJ0UG9zID0gbV9PdXRX aW5kb3dTdHJlYW0uR2V0UHJvY2Vzc2VkU2l6ZSgpOwotICAgd2hpbGUgKHBvcyA8IHVuUGFja1Np emUpCi0gICB7Ci1kaWZmIC0tZ2l0IGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMkRlY29kZXIuaCBi L0NQUC83emlwL0NvbXByZXNzL1JhcjJEZWNvZGVyLmgKLWluZGV4IDNhMDUzNWMuLjBlOTAwNWYg MTAwNjQ0Ci0tLS0gYS9DUFAvN3ppcC9Db21wcmVzcy9SYXIyRGVjb2Rlci5oCi0rKysgYi9DUFAv N3ppcC9Db21wcmVzcy9SYXIyRGVjb2Rlci5oCi1AQCAtMTM5LDYgKzEzOSw3IEBAIGNsYXNzIENE ZWNvZGVyIDoKLSAKLSAgIFVJbnQ2NCBtX1BhY2tTaXplOwotICAgYm9vbCBtX0lzU29saWQ7Ci0r ICBib29sIG1fVGFibGVzT0s7Ci0gCi0gICB2b2lkIEluaXRTdHJ1Y3R1cmVzKCk7Ci0gICBVSW50 MzIgUmVhZEJpdHModW5zaWduZWQgbnVtQml0cyk7Ci1kaWZmIC0tZ2l0IGEvQ1BQLzd6aXAvQ29t cHJlc3MvUmFyM0RlY29kZXIuY3BwIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyM0RlY29kZXIuY3Bw Ci1pbmRleCAzYmYyNTEzLi42Y2I4YTZhIDEwMDY0NAotLS0tIGEvQ1BQLzd6aXAvQ29tcHJlc3Mv UmFyM0RlY29kZXIuY3BwCi0rKysgYi9DUFAvN3ppcC9Db21wcmVzcy9SYXIzRGVjb2Rlci5jcHAK LUBAIC05Miw3ICs5Miw4IEBAIENEZWNvZGVyOjpDRGVjb2RlcigpOgotICAgX3dyaXR0ZW5GaWxl U2l6ZSgwKSwKLSAgIF92bURhdGEoMCksCi0gICBfdm1Db2RlKDApLAotLSAgbV9Jc1NvbGlkKGZh bHNlKQotKyAgbV9Jc1NvbGlkKGZhbHNlKSwKLSsgIF9lcnJvck1vZGUoZmFsc2UpCi0gewotICAg UHBtZDdfQ29uc3RydWN0KCZfcHBtZCk7Ci0gfQotQEAgLTU0NSw2ICs1NDYsOSBAQCBIUkVTVUxU IENEZWNvZGVyOjpSZWFkVGFibGVzKGJvb2wgJmtlZXBEZWNvbXByZXNzaW5nKQotICAgICByZXR1 cm4gSW5pdFBQTSgpOwotICAgfQotIAotKyAgVGFibGVzUmVhZCA9IGZhbHNlOwotKyAgVGFibGVz T0sgPSBmYWxzZTsKLSsKLSAgIF9sek1vZGUgPSB0cnVlOwotICAgUHJldkFsaWduQml0cyA9IDA7 Ci0gICBQcmV2QWxpZ25Db3VudCA9IDA7Ci1AQCAtNjA2LDYgKzYxMCw5IEBAIEhSRVNVTFQgQ0Rl Y29kZXI6OlJlYWRUYWJsZXMoYm9vbCAma2VlcERlY29tcHJlc3NpbmcpCi0gICAgICAgfQotICAg ICB9Ci0gICB9Ci0rICBpZiAoSW5wdXRFb2ZFcnJvcigpKQotKyAgICByZXR1cm4gU19GQUxTRTsK LSsKLSAgIFRhYmxlc1JlYWQgPSB0cnVlOwotIAotICAgLy8gb3JpZ2luYWwgY29kZSBoYXMgY2hl Y2sgaGVyZToKLUBAIC02MjMsNiArNjMwLDkgQEAgSFJFU1VMVCBDRGVjb2Rlcjo6UmVhZFRhYmxl cyhib29sICZrZWVwRGVjb21wcmVzc2luZykKLSAgIFJJRihtX0xlbkRlY29kZXIuQnVpbGQoJm5l d0xldmVsc1trTWFpblRhYmxlU2l6ZSArIGtEaXN0VGFibGVTaXplICsga0FsaWduVGFibGVTaXpl XSkpOwotIAotICAgbWVtY3B5KG1fTGFzdExldmVscywgbmV3TGV2ZWxzLCBrVGFibGVzU2l6ZXNT dW0pOwotKwotKyAgVGFibGVzT0sgPSB0cnVlOwotKwotICAgcmV0dXJuIFNfT0s7Ci0gfQotIAot QEAgLTgyNCw3ICs4MzQsMTIgQEAgSFJFU1VMVCBDRGVjb2Rlcjo6Q29kZVJlYWwoSUNvbXByZXNz UHJvZ3Jlc3NJbmZvICpwcm9ncmVzcykKLSAgICAgUHBtRXNjQ2hhciA9IDI7Ci0gICAgIFBwbUVy cm9yID0gdHJ1ZTsKLSAgICAgSW5pdEZpbHRlcnMoKTsKLSsgICAgX2Vycm9yTW9kZSA9IGZhbHNl OwotICAgfQotKwotKyAgaWYgKF9lcnJvck1vZGUpCi0rICAgIHJldHVybiBTX0ZBTFNFOwotKwot ICAgaWYgKCFtX0lzU29saWQgfHwgIVRhYmxlc1JlYWQpCi0gICB7Ci0gICAgIGJvb2wga2VlcERl Y29tcHJlc3Npbmc7Ci1AQCAtODM4LDYgKzg1Myw4IEBAIEhSRVNVTFQgQ0RlY29kZXI6OkNvZGVS ZWFsKElDb21wcmVzc1Byb2dyZXNzSW5mbyAqcHJvZ3Jlc3MpCi0gICAgIGJvb2wga2VlcERlY29t cHJlc3Npbmc7Ci0gICAgIGlmIChfbHpNb2RlKQotICAgICB7Ci0rICAgICAgaWYgKCFUYWJsZXNP SykKLSsgICAgICAgIHJldHVybiBTX0ZBTFNFOwotICAgICAgIFJJTk9LKERlY29kZUxaKGtlZXBE ZWNvbXByZXNzaW5nKSkKLSAgICAgfQotICAgICBlbHNlCi1AQCAtOTAxLDggKzkxOCw4IEBAIFNU RE1FVEhPRElNUCBDRGVjb2Rlcjo6Q29kZShJU2VxdWVudGlhbEluU3RyZWFtICppblN0cmVhbSwg SVNlcXVlbnRpYWxPdXRTdHJlYW0KLSAgICAgX3VucGFja1NpemUgPSBvdXRTaXplID8gKm91dFNp emUgOiAoVUludDY0KShJbnQ2NCktMTsKLSAgICAgcmV0dXJuIENvZGVSZWFsKHByb2dyZXNzKTsK LSAgIH0KLS0gIGNhdGNoKGNvbnN0IENJbkJ1ZmZlckV4Y2VwdGlvbiAmZSkgIHsgcmV0dXJuIGUu RXJyb3JDb2RlOyB9Ci0tICBjYXRjaCguLi4pIHsgcmV0dXJuIFNfRkFMU0U7IH0KLSsgIGNhdGNo KGNvbnN0IENJbkJ1ZmZlckV4Y2VwdGlvbiAmZSkgIHsgX2Vycm9yTW9kZSA9IHRydWU7IHJldHVy biBlLkVycm9yQ29kZTsgfQotKyAgY2F0Y2goLi4uKSB7IF9lcnJvck1vZGUgPSB0cnVlOyByZXR1 cm4gU19GQUxTRTsgfQotICAgLy8gQ05ld0V4Y2VwdGlvbiBpcyBwb3NzaWJsZSBoZXJlLiBCdXQg cHJvYmFibHkgQ05ld0V4Y2VwdGlvbiBpcyBjYXVzZWQKLSAgIC8vIGJ5IGVycm9yIGluIGRhdGEg c3RyZWFtLgotIH0KLWRpZmYgLS1naXQgYS9DUFAvN3ppcC9Db21wcmVzcy9SYXIzRGVjb2Rlci5o IGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyM0RlY29kZXIuaAotaW5kZXggYzEzMGNlYy4uMmY3MmQ3 ZCAxMDA2NDQKLS0tLSBhL0NQUC83emlwL0NvbXByZXNzL1JhcjNEZWNvZGVyLmgKLSsrKyBiL0NQ UC83emlwL0NvbXByZXNzL1JhcjNEZWNvZGVyLmgKLUBAIC0xOTIsNiArMTkyLDcgQEAgY2xhc3Mg Q0RlY29kZXI6Ci0gICBVSW50MzIgX2xhc3RGaWx0ZXI7Ci0gCi0gICBib29sIG1fSXNTb2xpZDsK LSsgIGJvb2wgX2Vycm9yTW9kZTsKLSAKLSAgIGJvb2wgX2x6TW9kZTsKLSAgIGJvb2wgX3Vuc3Vw cG9ydGVkRmlsdGVyOwotQEAgLTIwMCw2ICsyMDEsNyBAQCBjbGFzcyBDRGVjb2RlcjoKLSAgIFVJ bnQzMiBQcmV2QWxpZ25Db3VudDsKLSAKLSAgIGJvb2wgVGFibGVzUmVhZDsKLSsgIGJvb2wgVGFi bGVzT0s7Ci0gCi0gICBDUHBtZDcgX3BwbWQ7Ci0gICBpbnQgUHBtRXNjQ2hhcjsKZGlmZiAtLWdp dCBhL3NyY3BrZ3MvcDd6aXAvcGF0Y2hlcy8zMC1DVkUtMjAxOC0xMDExNS5wYXRjaCBiL3NyY3Br Z3MvcDd6aXAvcGF0Y2hlcy8zMC1DVkUtMjAxOC0xMDExNS5wYXRjaApkZWxldGVkIGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggN2Q5YzRiZjgxZjAwLi4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9w N3ppcC9wYXRjaGVzLzMwLUNWRS0yMDE4LTEwMTE1LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEs MzExICswLDAgQEAKLUZyb206IFJvYmVydCBMdWJlcmRhIDxyb2JlcnRAZGViaWFuLm9yZz4KLURh dGU6IFR1ZSwgMjkgTWF5IDIwMTggMjM6NTk6MDkgKzAyMDAKLVN1YmplY3Q6IEZpeCBDVkUtMjAx OC0xMDExNQotCi1BcHBseSAicGF0Y2giIHRha2VuIGZyb20gaHR0cHM6Ly9sYW5kYXZlLmlvL2Zp bGVzL3BhdGNoXzd6aXBfQ1ZFLTIwMTgtMTAxMTUudHh0Ci0KLQotQnVncy1EZWJpYW46IGh0dHBz Oi8vYnVncy5kZWJpYW4ub3JnLzg5NzY3NAotLS0tCi0gQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMURl Y29kZXIuY3BwIHwgMTYgKysrKysrKysrKystLS0tLQotIENQUC83emlwL0NvbXByZXNzL1JhcjFE ZWNvZGVyLmggICB8ICAzICsrLQotIENQUC83emlwL0NvbXByZXNzL1JhcjJEZWNvZGVyLmNwcCB8 IDE3ICsrKysrKysrKysrKystLS0tCi0gQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMkRlY29kZXIuaCAg IHwgIDMgKystCi0gQ1BQLzd6aXAvQ29tcHJlc3MvUmFyM0RlY29kZXIuY3BwIHwgMTkgKysrKysr KysrKysrKysrLS0tLQotIENQUC83emlwL0NvbXByZXNzL1JhcjNEZWNvZGVyLmggICB8ICAzICsr LQotIENQUC83emlwL0NvbXByZXNzL1JhcjVEZWNvZGVyLmNwcCB8ICA4ICsrKysrKysrCi0gQ1BQ Lzd6aXAvQ29tcHJlc3MvUmFyNURlY29kZXIuaCAgIHwgIDEgKwotIDggZmlsZXMgY2hhbmdlZCwg NTQgaW5zZXJ0aW9ucygrKSwgMTYgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9DUFAvN3pp cC9Db21wcmVzcy9SYXIxRGVjb2Rlci5jcHAgYi9DUFAvN3ppcC9Db21wcmVzcy9SYXIxRGVjb2Rl ci5jcHAKLWluZGV4IDY4MDMwYzcuLjhjODkwYzggMTAwNjQ0Ci0tLS0gYS9DUFAvN3ppcC9Db21w cmVzcy9SYXIxRGVjb2Rlci5jcHAKLSsrKyBiL0NQUC83emlwL0NvbXByZXNzL1JhcjFEZWNvZGVy LmNwcAotQEAgLTI5LDcgKzI5LDcgQEAgcHVibGljOgotIH07Ci0gKi8KLSAKLS1DRGVjb2Rlcjo6 Q0RlY29kZXIoKTogbV9Jc1NvbGlkKGZhbHNlKSwgX2Vycm9yTW9kZShmYWxzZSkgeyB9Ci0rQ0Rl Y29kZXI6OkNEZWNvZGVyKCk6IF9pc1NvbGlkKGZhbHNlKSwgX3NvbGlkQWxsb3dlZChmYWxzZSks IF9lcnJvck1vZGUoZmFsc2UpIHsgfQotIAotIHZvaWQgQ0RlY29kZXI6OkluaXRTdHJ1Y3R1cmVz KCkKLSB7Ci1AQCAtMzQ1LDcgKzM0NSw3IEBAIHZvaWQgQ0RlY29kZXI6OkdldEZsYWdzQnVmKCkK LSAKLSB2b2lkIENEZWNvZGVyOjpJbml0RGF0YSgpCi0gewotLSAgaWYgKCFtX0lzU29saWQpCi0r ICBpZiAoIV9pc1NvbGlkKQotICAgewotICAgICBBdnJQbGNCID0gQXZyTG4xID0gQXZyTG4yID0g QXZyTG4zID0gTnVtSHVmID0gQnVmNjAgPSAwOwotICAgICBBdnJQbGMgPSAweDM1MDA7Ci1AQCAt MzkxLDYgKzM5MSwxMSBAQCBIUkVTVUxUIENEZWNvZGVyOjpDb2RlUmVhbChJU2VxdWVudGlhbElu U3RyZWFtICppblN0cmVhbSwgSVNlcXVlbnRpYWxPdXRTdHJlYW0gKgotICAgaWYgKGluU2l6ZSA9 PSBOVUxMIHx8IG91dFNpemUgPT0gTlVMTCkKLSAgICAgcmV0dXJuIEVfSU5WQUxJREFSRzsKLSAK LSsgIGlmIChfaXNTb2xpZCAmJiAhX3NvbGlkQWxsb3dlZCkKLSsgICAgcmV0dXJuIFNfRkFMU0U7 Ci0rCi0rICBfc29saWRBbGxvd2VkID0gZmFsc2U7Ci0rCi0gICBpZiAoIW1fT3V0V2luZG93U3Ry ZWFtLkNyZWF0ZShrSGlzdG9yeVNpemUpKQotICAgICByZXR1cm4gRV9PVVRPRk1FTU9SWTsKLSAg IGlmICghbV9JbkJpdFN0cmVhbS5DcmVhdGUoMSA8PCAyMCkpCi1AQCAtMzk4LDEzICs0MDMsMTMg QEAgSFJFU1VMVCBDRGVjb2Rlcjo6Q29kZVJlYWwoSVNlcXVlbnRpYWxJblN0cmVhbSAqaW5TdHJl YW0sIElTZXF1ZW50aWFsT3V0U3RyZWFtICoKLSAKLSAgIG1fVW5wYWNrU2l6ZSA9IChJbnQ2NCkq b3V0U2l6ZTsKLSAgIG1fT3V0V2luZG93U3RyZWFtLlNldFN0cmVhbShvdXRTdHJlYW0pOwotLSAg bV9PdXRXaW5kb3dTdHJlYW0uSW5pdChtX0lzU29saWQpOwotKyAgbV9PdXRXaW5kb3dTdHJlYW0u SW5pdChfaXNTb2xpZCk7Ci0gICBtX0luQml0U3RyZWFtLlNldFN0cmVhbShpblN0cmVhbSk7Ci0g ICBtX0luQml0U3RyZWFtLkluaXQoKTsKLSAKLSAgIC8vIENDb2RlclJlbGVhc2VyIGNvZGVyUmVs ZWFzZXIodGhpcyk7Ci0gICBJbml0RGF0YSgpOwotLSAgaWYgKCFtX0lzU29saWQpCi0rICBpZiAo IV9pc1NvbGlkKQotICAgewotICAgICBfZXJyb3JNb2RlID0gZmFsc2U7Ci0gICAgIEluaXRTdHJ1 Y3R1cmVzKCk7Ci1AQCAtNDc1LDYgKzQ4MCw3IEBAIEhSRVNVTFQgQ0RlY29kZXI6OkNvZGVSZWFs KElTZXF1ZW50aWFsSW5TdHJlYW0gKmluU3RyZWFtLCBJU2VxdWVudGlhbE91dFN0cmVhbSAqCi0g ICB9Ci0gICBpZiAobV9VbnBhY2tTaXplIDwgMCkKLSAgICAgcmV0dXJuIFNfRkFMU0U7Ci0rICBf c29saWRBbGxvd2VkID0gdHJ1ZTsKLSAgIHJldHVybiBtX091dFdpbmRvd1N0cmVhbS5GbHVzaCgp OwotIH0KLSAKLUBAIC00OTEsNyArNDk3LDcgQEAgU1RETUVUSE9ESU1QIENEZWNvZGVyOjpTZXRE ZWNvZGVyUHJvcGVydGllczIoY29uc3QgQnl0ZSAqZGF0YSwgVUludDMyIHNpemUpCi0gewotICAg aWYgKHNpemUgPCAxKQotICAgICByZXR1cm4gRV9JTlZBTElEQVJHOwotLSAgbV9Jc1NvbGlkID0g KChkYXRhWzBdICYgMSkgIT0gMCk7Ci0rICBfaXNTb2xpZCA9ICgoZGF0YVswXSAmIDEpICE9IDAp OwotICAgcmV0dXJuIFNfT0s7Ci0gfQotIAotZGlmZiAtLWdpdCBhL0NQUC83emlwL0NvbXByZXNz L1JhcjFEZWNvZGVyLmggYi9DUFAvN3ppcC9Db21wcmVzcy9SYXIxRGVjb2Rlci5oCi1pbmRleCAw MWI2MDZiLi44YWJiM2EzIDEwMDY0NAotLS0tIGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMURlY29k ZXIuaAotKysrIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMURlY29kZXIuaAotQEAgLTM4LDcgKzM4 LDggQEAgcHVibGljOgotICAgVUludDMyIExhc3RMZW5ndGg7Ci0gCi0gICBJbnQ2NCBtX1VucGFj a1NpemU7Ci0tICBib29sIG1fSXNTb2xpZDsKLSsgIGJvb2wgX2lzU29saWQ7Ci0rICBib29sIF9z b2xpZEFsbG93ZWQ7Ci0gICBib29sIF9lcnJvck1vZGU7Ci0gCi0gICBVSW50MzIgUmVhZEJpdHMo aW50IG51bUJpdHMpOwotZGlmZiAtLWdpdCBhL0NQUC83emlwL0NvbXByZXNzL1JhcjJEZWNvZGVy LmNwcCBiL0NQUC83emlwL0NvbXByZXNzL1JhcjJEZWNvZGVyLmNwcAotaW5kZXggMDU4MGM4ZC4u YmU4ZDg0MiAxMDA2NDQKLS0tLSBhL0NQUC83emlwL0NvbXByZXNzL1JhcjJEZWNvZGVyLmNwcAot KysrIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMkRlY29kZXIuY3BwCi1AQCAtODAsNyArODAsOCBA QCBzdGF0aWMgY29uc3QgVUludDMyIGtIaXN0b3J5U2l6ZSA9IDEgPDwgMjA7Ci0gc3RhdGljIGNv bnN0IFVJbnQzMiBrV2luZG93UmVzZXJ2U2l6ZSA9ICgxIDw8IDIyKSArIDI1NjsKLSAKLSBDRGVj b2Rlcjo6Q0RlY29kZXIoKToKLS0gIG1fSXNTb2xpZChmYWxzZSksCi0rICBfaXNTb2xpZChmYWxz ZSksCi0rICBfc29saWRBbGxvd2VkKGZhbHNlKSwKLSAgIG1fVGFibGVzT0soZmFsc2UpCi0gewot IH0KLUBAIC0zMjAsNiArMzIxLDEwIEBAIEhSRVNVTFQgQ0RlY29kZXI6OkNvZGVSZWFsKElTZXF1 ZW50aWFsSW5TdHJlYW0gKmluU3RyZWFtLCBJU2VxdWVudGlhbE91dFN0cmVhbSAqCi0gICBpZiAo aW5TaXplID09IE5VTEwgfHwgb3V0U2l6ZSA9PSBOVUxMKQotICAgICByZXR1cm4gRV9JTlZBTElE QVJHOwotIAotKyAgaWYgKF9pc1NvbGlkICYmICFfc29saWRBbGxvd2VkKQotKyAgICByZXR1cm4g U19GQUxTRTsKLSsgIF9zb2xpZEFsbG93ZWQgPSBmYWxzZTsKLSsKLSAgIGlmICghbV9PdXRXaW5k b3dTdHJlYW0uQ3JlYXRlKGtIaXN0b3J5U2l6ZSkpCi0gICAgIHJldHVybiBFX09VVE9GTUVNT1JZ OwotICAgaWYgKCFtX0luQml0U3RyZWFtLkNyZWF0ZSgxIDw8IDIwKSkKLUBAIC0zMzAsMTIgKzMz NSwxMiBAQCBIUkVTVUxUIENEZWNvZGVyOjpDb2RlUmVhbChJU2VxdWVudGlhbEluU3RyZWFtICpp blN0cmVhbSwgSVNlcXVlbnRpYWxPdXRTdHJlYW0gKgotICAgVUludDY0IHBvcyA9IDAsIHVuUGFj a1NpemUgPSAqb3V0U2l6ZTsKLSAgIAotICAgbV9PdXRXaW5kb3dTdHJlYW0uU2V0U3RyZWFtKG91 dFN0cmVhbSk7Ci0tICBtX091dFdpbmRvd1N0cmVhbS5Jbml0KG1fSXNTb2xpZCk7Ci0rICBtX091 dFdpbmRvd1N0cmVhbS5Jbml0KF9pc1NvbGlkKTsKLSAgIG1fSW5CaXRTdHJlYW0uU2V0U3RyZWFt KGluU3RyZWFtKTsKLSAgIG1fSW5CaXRTdHJlYW0uSW5pdCgpOwotIAotICAgLy8gQ0NvZGVyUmVs ZWFzZXIgY29kZXJSZWxlYXNlcih0aGlzKTsKLS0gIGlmICghbV9Jc1NvbGlkKQotKyAgaWYgKCFf aXNTb2xpZCkKLSAgIHsKLSAgICAgSW5pdFN0cnVjdHVyZXMoKTsKLSAgICAgaWYgKHVuUGFja1Np emUgPT0gMCkKLUBAIC0zNDMsNiArMzQ4LDcgQEAgSFJFU1VMVCBDRGVjb2Rlcjo6Q29kZVJlYWwo SVNlcXVlbnRpYWxJblN0cmVhbSAqaW5TdHJlYW0sIElTZXF1ZW50aWFsT3V0U3RyZWFtICoKLSAg ICAgICBpZiAobV9JbkJpdFN0cmVhbS5HZXRQcm9jZXNzZWRTaXplKCkgKyAyIDw9IG1fUGFja1Np emUpIC8vIHRlc3QgaXQ6IHByb2JhYmx5IGluY29ycmVjdDsKLSAgICAgICAgIGlmICghUmVhZFRh YmxlcygpKQotICAgICAgICAgICByZXR1cm4gU19GQUxTRTsKLSsgICAgICBfc29saWRBbGxvd2Vk ID0gdHJ1ZTsKLSAgICAgICByZXR1cm4gU19PSzsKLSAgICAgfQotICAgICBpZiAoIVJlYWRUYWJs ZXMoKSkKLUBAIC0zODYsNiArMzkyLDkgQEAgSFJFU1VMVCBDRGVjb2Rlcjo6Q29kZVJlYWwoSVNl cXVlbnRpYWxJblN0cmVhbSAqaW5TdHJlYW0sIElTZXF1ZW50aWFsT3V0U3RyZWFtICoKLSAKLSAg IGlmICghUmVhZExhc3RUYWJsZXMoKSkKLSAgICAgcmV0dXJuIFNfRkFMU0U7Ci0rCi0rICBfc29s aWRBbGxvd2VkID0gdHJ1ZTsKLSsKLSAgIHJldHVybiBtX091dFdpbmRvd1N0cmVhbS5GbHVzaCgp OwotIH0KLSAKLUBAIC00MDIsNyArNDExLDcgQEAgU1RETUVUSE9ESU1QIENEZWNvZGVyOjpTZXRE ZWNvZGVyUHJvcGVydGllczIoY29uc3QgQnl0ZSAqZGF0YSwgVUludDMyIHNpemUpCi0gewotICAg aWYgKHNpemUgPCAxKQotICAgICByZXR1cm4gRV9JTlZBTElEQVJHOwotLSAgbV9Jc1NvbGlkID0g KChkYXRhWzBdICYgMSkgIT0gMCk7Ci0rICBfaXNTb2xpZCA9ICgoZGF0YVswXSAmIDEpICE9IDAp OwotICAgcmV0dXJuIFNfT0s7Ci0gfQotIAotZGlmZiAtLWdpdCBhL0NQUC83emlwL0NvbXByZXNz L1JhcjJEZWNvZGVyLmggYi9DUFAvN3ppcC9Db21wcmVzcy9SYXIyRGVjb2Rlci5oCi1pbmRleCAw ZTkwMDVmLi4zNzBiY2UyIDEwMDY0NAotLS0tIGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMkRlY29k ZXIuaAotKysrIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMkRlY29kZXIuaAotQEAgLTEzOCw3ICsx MzgsOCBAQCBjbGFzcyBDRGVjb2RlciA6Ci0gICBCeXRlIG1fTGFzdExldmVsc1trTWF4VGFibGVT aXplXTsKLSAKLSAgIFVJbnQ2NCBtX1BhY2tTaXplOwotLSAgYm9vbCBtX0lzU29saWQ7Ci0rICBi b29sIF9pc1NvbGlkOwotKyAgYm9vbCBfc29saWRBbGxvd2VkOwotICAgYm9vbCBtX1RhYmxlc09L OwotIAotICAgdm9pZCBJbml0U3RydWN0dXJlcygpOwotZGlmZiAtLWdpdCBhL0NQUC83emlwL0Nv bXByZXNzL1JhcjNEZWNvZGVyLmNwcCBiL0NQUC83emlwL0NvbXByZXNzL1JhcjNEZWNvZGVyLmNw cAotaW5kZXggNmNiOGE2YS4uN2I4NTgzMyAxMDA2NDQKLS0tLSBhL0NQUC83emlwL0NvbXByZXNz L1JhcjNEZWNvZGVyLmNwcAotKysrIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyM0RlY29kZXIuY3Bw Ci1AQCAtOTIsNyArOTIsOCBAQCBDRGVjb2Rlcjo6Q0RlY29kZXIoKToKLSAgIF93cml0dGVuRmls ZVNpemUoMCksCi0gICBfdm1EYXRhKDApLAotICAgX3ZtQ29kZSgwKSwKLS0gIG1fSXNTb2xpZChm YWxzZSksCi0rICBfaXNTb2xpZChmYWxzZSksCi0rICBfc29saWRBbGxvd2VkKGZhbHNlKSwKLSAg IF9lcnJvck1vZGUoZmFsc2UpCi0gewotICAgUHBtZDdfQ29uc3RydWN0KCZfcHBtZCk7Ci1AQCAt ODIxLDcgKzgyMiw3IEBAIEhSRVNVTFQgQ0RlY29kZXI6OkNvZGVSZWFsKElDb21wcmVzc1Byb2dy ZXNzSW5mbyAqcHJvZ3Jlc3MpCi0gewotICAgX3dyaXR0ZW5GaWxlU2l6ZSA9IDA7Ci0gICBfdW5z dXBwb3J0ZWRGaWx0ZXIgPSBmYWxzZTsKLS0gIGlmICghbV9Jc1NvbGlkKQotKyAgaWYgKCFfaXNT b2xpZCkKLSAgIHsKLSAgICAgX2x6U2l6ZSA9IDA7Ci0gICAgIF93aW5Qb3MgPSAwOwotQEAgLTg0 MCwxMiArODQxLDE1IEBAIEhSRVNVTFQgQ0RlY29kZXI6OkNvZGVSZWFsKElDb21wcmVzc1Byb2dy ZXNzSW5mbyAqcHJvZ3Jlc3MpCi0gICBpZiAoX2Vycm9yTW9kZSkKLSAgICAgcmV0dXJuIFNfRkFM U0U7Ci0gCi0tICBpZiAoIW1fSXNTb2xpZCB8fCAhVGFibGVzUmVhZCkKLSsgIGlmICghX2lzU29s aWQgfHwgIVRhYmxlc1JlYWQpCi0gICB7Ci0gICAgIGJvb2wga2VlcERlY29tcHJlc3Npbmc7Ci0g ICAgIFJJTk9LKFJlYWRUYWJsZXMoa2VlcERlY29tcHJlc3NpbmcpKTsKLSAgICAgaWYgKCFrZWVw RGVjb21wcmVzc2luZykKLSsgICAgewotKyAgICAgIF9zb2xpZEFsbG93ZWQgPSB0cnVlOwotICAg ICAgIHJldHVybiBTX09LOwotKyAgICB9Ci0gICB9Ci0gCi0gICBmb3IgKDs7KQotQEAgLTg3MCw2 ICs4NzQsOSBAQCBIUkVTVUxUIENEZWNvZGVyOjpDb2RlUmVhbChJQ29tcHJlc3NQcm9ncmVzc0lu Zm8gKnByb2dyZXNzKQotICAgICBpZiAoIWtlZXBEZWNvbXByZXNzaW5nKQotICAgICAgIGJyZWFr OwotICAgfQotKwotKyAgX3NvbGlkQWxsb3dlZCA9IHRydWU7Ci0rCi0gICBSSU5PSyhXcml0ZUJ1 ZigpKTsKLSAgIFVJbnQ2NCBwYWNrU2l6ZSA9IG1fSW5CaXRTdHJlYW0uQml0RGVjb2Rlci5HZXRQ cm9jZXNzZWRTaXplKCk7Ci0gICBSSU5PSyhwcm9ncmVzcy0+U2V0UmF0aW9JbmZvKCZwYWNrU2l6 ZSwgJl93cml0dGVuRmlsZVNpemUpKTsKLUBAIC04OTAsNiArODk3LDEwIEBAIFNURE1FVEhPRElN UCBDRGVjb2Rlcjo6Q29kZShJU2VxdWVudGlhbEluU3RyZWFtICppblN0cmVhbSwgSVNlcXVlbnRp YWxPdXRTdHJlYW0KLSAgICAgaWYgKCFpblNpemUpCi0gICAgICAgcmV0dXJuIEVfSU5WQUxJREFS RzsKLSAKLSsgICAgaWYgKF9pc1NvbGlkICYmICFfc29saWRBbGxvd2VkKQotKyAgICAgIHJldHVy biBTX0ZBTFNFOwotKyAgICBfc29saWRBbGxvd2VkID0gZmFsc2U7Ci0rCi0gICAgIGlmICghX3Zt RGF0YSkKLSAgICAgewotICAgICAgIF92bURhdGEgPSAoQnl0ZSAqKTo6TWlkQWxsb2Moa1ZtRGF0 YVNpemVNYXggKyBrVm1Db2RlU2l6ZU1heCk7Ci1AQCAtOTI4LDcgKzkzOSw3IEBAIFNURE1FVEhP RElNUCBDRGVjb2Rlcjo6U2V0RGVjb2RlclByb3BlcnRpZXMyKGNvbnN0IEJ5dGUgKmRhdGEsIFVJ bnQzMiBzaXplKQotIHsKLSAgIGlmIChzaXplIDwgMSkKLSAgICAgcmV0dXJuIEVfSU5WQUxJREFS RzsKLS0gIG1fSXNTb2xpZCA9ICgoZGF0YVswXSAmIDEpICE9IDApOwotKyAgX2lzU29saWQgPSAo KGRhdGFbMF0gJiAxKSAhPSAwKTsKLSAgIHJldHVybiBTX09LOwotIH0KLSAKLWRpZmYgLS1naXQg YS9DUFAvN3ppcC9Db21wcmVzcy9SYXIzRGVjb2Rlci5oIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFy M0RlY29kZXIuaAotaW5kZXggMmY3MmQ3ZC4uMzJjODk0MyAxMDA2NDQKLS0tLSBhL0NQUC83emlw L0NvbXByZXNzL1JhcjNEZWNvZGVyLmgKLSsrKyBiL0NQUC83emlwL0NvbXByZXNzL1JhcjNEZWNv ZGVyLmgKLUBAIC0xOTEsNyArMTkxLDggQEAgY2xhc3MgQ0RlY29kZXI6Ci0gICBDUmVjb3JkVmVj dG9yPENUZW1wRmlsdGVyICo+ICBfdGVtcEZpbHRlcnM7Ci0gICBVSW50MzIgX2xhc3RGaWx0ZXI7 Ci0gCi0tICBib29sIG1fSXNTb2xpZDsKLSsgIGJvb2wgX2lzU29saWQ7Ci0rICBib29sIF9zb2xp ZEFsbG93ZWQ7Ci0gICBib29sIF9lcnJvck1vZGU7Ci0gCi0gICBib29sIF9sek1vZGU7Ci1kaWZm IC0tZ2l0IGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyNURlY29kZXIuY3BwIGIvQ1BQLzd6aXAvQ29t cHJlc3MvUmFyNURlY29kZXIuY3BwCi1pbmRleCBkYzg4MzBmLi5hODI2ZDVhIDEwMDY0NAotLS0t IGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyNURlY29kZXIuY3BwCi0rKysgYi9DUFAvN3ppcC9Db21w cmVzcy9SYXI1RGVjb2Rlci5jcHAKLUBAIC03Miw2ICs3Miw3IEBAIENEZWNvZGVyOjpDRGVjb2Rl cigpOgotICAgICBfd3JpdHRlbkZpbGVTaXplKDApLAotICAgICBfZGljdFNpemVMb2coMCksCi0g ICAgIF9pc1NvbGlkKGZhbHNlKSwKLSsgICAgX3NvbGlkQWxsb3dlZChmYWxzZSksCi0gICAgIF93 YXNJbml0KGZhbHNlKSwKLSAgICAgX2lucHV0QnVmKE5VTEwpCi0gewotQEAgLTgwMSw3ICs4MDIs MTAgQEAgSFJFU1VMVCBDRGVjb2Rlcjo6Q29kZVJlYWwoKQotICAgKi8KLSAKLSAgIGlmIChyZXMg PT0gU19PSykKLSsgIHsKLSsgICAgX3NvbGlkQWxsb3dlZCA9IHRydWU7Ci0gICAgIHJlcyA9IHJl czI7Ci0rICB9Ci0gICAgICAKLSAgIGlmIChyZXMgPT0gU19PSyAmJiBfdW5wYWNrU2l6ZV9EZWZp bmVkICYmIF93cml0dGVuRmlsZVNpemUgIT0gX3VucGFja1NpemUpCi0gICAgIHJldHVybiBTX0ZB TFNFOwotQEAgLTgyMSw2ICs4MjUsMTAgQEAgU1RETUVUSE9ESU1QIENEZWNvZGVyOjpDb2RlKElT ZXF1ZW50aWFsSW5TdHJlYW0gKmluU3RyZWFtLCBJU2VxdWVudGlhbE91dFN0cmVhbQotIHsKLSAg IHRyeQotICAgewotKyAgICBpZiAoX2lzU29saWQgJiYgIV9zb2xpZEFsbG93ZWQpCi0rICAgICAg cmV0dXJuIFNfRkFMU0U7Ci0rICAgIF9zb2xpZEFsbG93ZWQgPSBmYWxzZTsKLSsKLSAgICAgaWYg KF9kaWN0U2l6ZUxvZyA+PSBzaXplb2Yoc2l6ZV90KSAqIDgpCi0gICAgICAgcmV0dXJuIEVfTk9U SU1QTDsKLSAKLWRpZmYgLS1naXQgYS9DUFAvN3ppcC9Db21wcmVzcy9SYXI1RGVjb2Rlci5oIGIv Q1BQLzd6aXAvQ29tcHJlc3MvUmFyNURlY29kZXIuaAotaW5kZXggYjBhNGRkMS4uM2RiNTAxOCAx MDA2NDQKLS0tLSBhL0NQUC83emlwL0NvbXByZXNzL1JhcjVEZWNvZGVyLmgKLSsrKyBiL0NQUC83 emlwL0NvbXByZXNzL1JhcjVEZWNvZGVyLmgKLUBAIC0yNzEsNiArMjcxLDcgQEAgY2xhc3MgQ0Rl Y29kZXI6Ci0gICBCeXRlIF9kaWN0U2l6ZUxvZzsKLSAgIGJvb2wgX3RhYmxlV2FzRmlsbGVkOwot ICAgYm9vbCBfaXNTb2xpZDsKLSsgIGJvb2wgX3NvbGlkQWxsb3dlZDsKLSAgIGJvb2wgX3dhc0lu aXQ7Ci0gCi0gICBVSW50MzIgX3JlcHNba051bVJlcHNdOwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9w N3ppcC9wYXRjaGVzL0NWRS0yMDE2LTkyOTYucGF0Y2ggYi9zcmNwa2dzL3A3emlwL3BhdGNoZXMv Q1ZFLTIwMTYtOTI5Ni5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmJiYjMz NzczN2U1Li4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9wN3ppcC9wYXRjaGVzL0NWRS0yMDE2 LTkyOTYucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi0tLS0gYS9DUFAvN3pp cC9BcmNoaXZlLzd6Lzd6SW4uY3BwCVN1biBOb3YgMjAgMDk6Mjk6NDEgMjAxNgotKysrIGIvQ1BQ Lzd6aXAvQXJjaGl2ZS83ei83ekluLmNwcAlTdW4gTm92IDIwIDA5OjMxOjIyIDIwMTYKLUBAIC0x MDk3LDcgKzEwOTcsOCBAQCBIUkVTVUxUIENJbkFyY2hpdmU6OlJlYWRBbmREZWNvZGVQYWNrZWRT dHJlYW1zKAotICAgICAgIGlmIChDcmNDYWxjKGRhdGEsIHVucGFja1NpemUpICE9IGZvbGRlcnMu Rm9sZGVyQ1JDcy5WYWxzW2ldKQotICAgICAgICAgVGhyb3dJbmNvcnJlY3QoKTsKLSAgIH0KLS0g IEhlYWRlcnNTaXplICs9IGZvbGRlcnMuUGFja1Bvc2l0aW9uc1tmb2xkZXJzLk51bVBhY2tTdHJl YW1zXTsKLSsgIGlmIChmb2xkZXJzLlBhY2tQb3NpdGlvbnMpCi0rICAgICAgSGVhZGVyc1NpemUg Kz0gZm9sZGVycy5QYWNrUG9zaXRpb25zW2ZvbGRlcnMuTnVtUGFja1N0cmVhbXNdOwotICAgcmV0 dXJuIFNfT0s7Ci0gfQotIApkaWZmIC0tZ2l0IGEvc3JjcGtncy9wN3ppcC9wYXRjaGVzL0NWRS0y MDE3LTE3OTY5LnBhdGNoIGIvc3JjcGtncy9wN3ppcC9wYXRjaGVzL0NWRS0yMDE3LTE3OTY5LnBh dGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5YTgyMGFmNzMwNjcuLjAwMDAwMDAw MDAwMAotLS0gYS9zcmNwa2dzL3A3emlwL3BhdGNoZXMvQ1ZFLTIwMTctMTc5NjkucGF0Y2gKKysr IC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi1Gcm9tOiA9P3V0Zi04P3E/QW50b2luZV9CZWF1 cHI9QzM9QTk/PSA8YW5hcmNhdEBkZWJpYW4ub3JnPgotRGF0ZTogU3VuLCAyOCBKYW4gMjAxOCAy MToxOTo1MCArMDEwMAotU3ViamVjdDogYmFja3BvcnQgb2YgdGhlIENWRS0yMDE3LTE3OTY5IGZp eCBmcm9tIDd6aXAgMTguMDAtYmV0YQotCi0tLS0KLSBDUFAvN3ppcC9Db21wcmVzcy9TaHJpbmtE ZWNvZGVyLmNwcCB8IDcgKysrKysrLQotIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyks IDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL0NQUC83emlwL0NvbXByZXNzL1Nocmlua0Rl Y29kZXIuY3BwIGIvQ1BQLzd6aXAvQ29tcHJlc3MvU2hyaW5rRGVjb2Rlci5jcHAKLWluZGV4IDgw YjdlNjcuLjRhY2RjZTUgMTAwNjQ0Ci0tLS0gYS9DUFAvN3ppcC9Db21wcmVzcy9TaHJpbmtEZWNv ZGVyLmNwcAotKysrIGIvQ1BQLzd6aXAvQ29tcHJlc3MvU2hyaW5rRGVjb2Rlci5jcHAKLUBAIC0x MjEsNyArMTIxLDEyIEBAIEhSRVNVTFQgQ0RlY29kZXI6OkNvZGVSZWFsKElTZXF1ZW50aWFsSW5T dHJlYW0gKmluU3RyZWFtLCBJU2VxdWVudGlhbE91dFN0cmVhbSAqCi0gICAgIHsKLSAgICAgICBf c3RhY2tbaSsrXSA9IF9zdWZmaXhlc1tjdXJdOwotICAgICAgIGN1ciA9IF9wYXJlbnRzW2N1cl07 Ci0tICAgIH0KLSsgICAgICBpZiAoaSA+PSBrTnVtSXRlbXMpCi0rICAgICAgICBicmVhazsKLSsg ICAgIH0KLSsKLSsgICAgaWYgKGkgPj0ga051bUl0ZW1zKQotKyAgICAgIGJyZWFrOwotICAgICAK LSAgICAgX3N0YWNrW2krK10gPSAoQnl0ZSljdXI7Ci0gICAgIGxhc3RDaGFyMiA9IChCeXRlKWN1 cjsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcDd6aXAvdGVtcGxhdGUgYi9zcmNwa2dzL3A3emlwL3Rl bXBsYXRlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NDJlMjRhZGFmNTIuLjAwMDAw MDAwMDAwMAotLS0gYS9zcmNwa2dzL3A3emlwL3RlbXBsYXRlCisrKyAvZGV2L251bGwKQEAgLTEs NDcgKzAsMCBAQAotIyBUZW1wbGF0ZSBmaWxlIGZvciAncDd6aXAnCi1wa2duYW1lPXA3emlwCi12 ZXJzaW9uPTE2LjAyCi1yZXZpc2lvbj01Ci13cmtzcmM9IiR7cGtnbmFtZX1fJHt2ZXJzaW9ufSIK LWhvc3RtYWtlZGVwZW5kcz0ieWFzbSBuYXNtIgotc2hvcnRfZGVzYz0iQ29tbWFuZC1saW5lIHZl cnNpb24gb2YgdGhlIDd6aXAgY29tcHJlc3NlZCBmaWxlIGFyY2hpdmUiCi1tYWludGFpbmVyPSJP cnBoYW5lZCA8b3JwaGFuQHZvaWRsaW51eC5vcmc+IgotbGljZW5zZT0iTEdQTC0yLjEtb3ItbGF0 ZXIiCi1ob21lcGFnZT0iaHR0cDovL3A3emlwLnNvdXJjZWZvcmdlLm5ldC8iCi1kaXN0ZmlsZXM9 IiR7U09VUkNFRk9SR0VfU0lURX0vJHtwa2duYW1lfS8ke3BrZ25hbWV9XyR7dmVyc2lvbn1fc3Jj X2FsbC50YXIuYnoyIgotY2hlY2tzdW09NWViMjBhYzBlMjk0NGY2Y2I5YzJkNTFkZDZjNDUxODk0 MWMxODUzNDdkNDA4OWVhODkwODdmZmRkNmUyMzQxZgotCi1DWFhGTEFHUz0iLVduby1uYXJyb3dp bmciCi0KLWRvX2NvbmZpZ3VyZSgpIHsKLQljYXNlICIkWEJQU19UQVJHRVRfTUFDSElORSIgaW4K LQkJaTY4NiopIGNwIG1ha2VmaWxlLmxpbnV4X3g4Nl9hc21fZ2NjXzQuWCBtYWtlZmlsZS5tYWNo aW5lOzsKLQkJeDg2XzY0KikgY3AgbWFrZWZpbGUubGludXhfYW1kNjRfYXNtIG1ha2VmaWxlLm1h Y2hpbmU7OwotCQkqKSBjcCBtYWtlZmlsZS5saW51eF9hbnlfY3B1X2djY180LlggbWFrZWZpbGUu bWFjaGluZTs7Ci0JZXNhYwotCXNlZCAtZSAicyxnKyssJHtDWFh9LCIgLWkgbWFrZWZpbGUubWFj aGluZQotCXNlZCAtZSAicyxnY2MsJHtDQ30sIiAtaSBtYWtlZmlsZS5tYWNoaW5lCi19Ci1kb19i dWlsZCgpIHsKLQltYWtlIGFsbDMgT1BURkxBR1M9IiRDWFhGTEFHUyIgJHttYWtlam9ic30KLX0K LWRvX2luc3RhbGwoKSB7Ci0JbWFrZSBpbnN0YWxsIERFU1RfRElSPSIke0RFU1RESVJ9IiBERVNU X0hPTUU9Ii91c3IiIFwKLQkJREVTVF9NQU49Ii91c3Ivc2hhcmUvbWFuIiBcCi0JCURFU1RfU0hB UkVfRE9DPSIvdXNyL3NoYXJlL2RvYy8ke3BrZ25hbWV9IgotCWZpbmQgJHtERVNURElSfS91c3Iv c2hhcmUvZG9jLyRwa2duYW1lIC10eXBlIGQgLWV4ZWMgY2htb2QgNzU1IHt9IFw7Ci0JbWtkaXIg LXAgJHtERVNURElSfS91c3Ivc2hhcmUvbGljZW5zZXMvcDd6aXAvCi0JbXYgJHtERVNURElSfS91 c3Ivc2hhcmUvZG9jL3A3emlwL0RPQy9jb3B5aW5nLnR4dCBcCi0JICAgJHtERVNURElSfS91c3Iv c2hhcmUvbGljZW5zZXMvcDd6aXAvTElDRU5TRQotfQotCi1wN3ppcC11bnJhcl9wYWNrYWdlKCkg ewotCXNob3J0X2Rlc2MrPSIgLSBSQVIgc3VwcG9ydCIKLQlsaWNlbnNlPSJjdXN0b206ZnJlZXdh cmUiCi0JZGVwZW5kcz0iJHtzb3VyY2Vwa2d9LSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCi0JcmVw b3NpdG9yeT1ub25mcmVlCi0JcGtnX2luc3RhbGwoKSB7Ci0JCXZtb3ZlIHVzci9saWIvcDd6aXAv Q29kZWNzL1Jhci5zbwotCQl2bGljZW5zZSBET0MvdW5SYXJMaWNlbnNlLnR4dCBMSUNFTlNFCi0J fQotfQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9wN3ppcC91cGRhdGUgYi9zcmNwa2dzL3A3emlwL3Vw ZGF0ZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODRlZDQ2ZDc0YTFhLi4wMDAwMDAw MDAwMDAKLS0tIGEvc3JjcGtncy9wN3ppcC91cGRhdGUKKysrIC9kZXYvbnVsbApAQCAtMSArMCww IEBACi1wYXR0ZXJuPSdwN3ppcF9cS1suXGRdKycKCkZyb20gZWY1YjJmNTczNDQ0YjA5ZjVkYzU3 MDA3ZTdlOGQ2ZmU4NDEzMjhkMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogUm9iZXJ0 byBSaWNjaSA8cmljY2lAZGlzcm9vdC5vcmc+CkRhdGU6IFdlZCwgMTcgQXVnIDIwMjIgMTU6NDU6 NTEgKzAyMDAKU3ViamVjdDogW1BBVENIIDIvMl0gYXJrOiBmaXggN3ppcCBjaGVja2RlcGVuZHMK Ci0tLQogc3JjcGtncy9hcmsvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNl cnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Fyay90ZW1wbGF0 ZSBiL3NyY3BrZ3MvYXJrL3RlbXBsYXRlCmluZGV4IDYyOGU2M2RlYzA3YS4uZDJiYmEzYThlMTU0 IDEwMDY0NAotLS0gYS9zcmNwa2dzL2Fyay90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2Fyay90ZW1w bGF0ZQpAQCAtNyw3ICs3LDcgQEAgY29uZmlndXJlX2FyZ3M9Ii1EREVTS1RPUFRPSlNPTl9FWEVD VVRBQkxFPS91c3IvYmluL2Rlc2t0b3B0b2pzb24iCiBob3N0bWFrZWRlcGVuZHM9ImV4dHJhLWNt YWtlLW1vZHVsZXMgcXQ1LWRldmVsIHF0NS1xbWFrZQogIGtkb2N0b29scyBrY29uZmlnIGdldHRl eHQgcGtnLWNvbmZpZyBweXRob24zIGtjb3JlYWRkb25zIGtwYXJ0cyIKIG1ha2VkZXBlbmRzPSJs aWJhcmNoaXZlLWRldmVsIGtwdHktZGV2ZWwga3BhcnRzLWRldmVsIGtpdGVtbW9kZWxzLWRldmVs IGxpYnppcC1kZXZlbCIKLWNoZWNrZGVwZW5kcz0icDd6aXAgcDd6aXAtdW5yYXIgbHpvcCBscnpp cCB1bnJhciB1bnppcCB6aXAgenN0ZCIKK2NoZWNrZGVwZW5kcz0iN3ppcC11bnJhciBsem9wIGxy emlwIHVucmFyIHVuemlwIHppcCB6c3RkIgogc2hvcnRfZGVzYz0iS0RFIEFyY2hpdmluZyBUb29s IgogbWFpbnRhaW5lcj0iSm9obiA8bWVAam9obm55bmF0b3IuZGV2PiIKIGxpY2Vuc2U9IkdQTC0y LjAtb3ItbGF0ZXIiCg== --===============7884187770293483472==--