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=-0.2 required=5.0 tests=ALL_TRUSTED, DKIM_ADSP_NXDOMAIN,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.4 Received: (qmail 1990 invoked from network); 13 Jul 2022 18:37:57 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 13 Jul 2022 18:37:57 -0000 Content-Type: multipart/mixed; boundary="===============0970130448185151340==" 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: Wed, 13 Jul 2022 20:37:56 +0200 List-Id: Message-ID: <20220713183756.Dmo_a70tuaTlKkcNIbk6usFPRKB0csJqjXQ5pJZqCtQ@z> GitHub notification mails are now in MIME to allow UTF8. --===============0970130448185151340== 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 Cg0KIyMjIyBUT0RPOg0KDQotIFt4XSBmaXggbXVzbDogfn5pdCB1c2VzIHNvbWUgZnVuY3Rpb25z IHJlcXVpcmluZyBgX0dOVV9TT1VSQ0VgLCBidXQgb3RoZXIgcGFydHMgb2YgdGhlIHNvdXJjZSBk ZWZpbmUgaXQgd2l0aG91dCBjaGVja2luZyBpZiBpdCdzIGFscmVhZHkgZGVmaW5lZCwgc28gSSBn ZXQgY29tcGlsYXRpb24gZXJyb3JzIGlmIEkganVzdCBkZWZpbmUgaXQgZ2xvYmFsbHkufn4NCi0g WyBdIGJ1aWxkIHdpdGggYXNzZW1ibHkgd2hlcmUgcG9zc2libGU6IG9uIGk2ODYgYW5kIHg4Nl82 NCogaXQgcmVxdWlyZXMgYGFzbWNgIG9yIGBqd2FzbWAvYHVhc21gIGFzc2VtYmxlcnMsIG5vbmUg b2Ygd2hpY2ggYXJlIHBhY2thZ2VkDQotIFt4XSBidWlsZCBhIHZlcnNpb24gd2l0aCBSQVIgc3Vw cG9ydCAobm9uZnJlZSByZXBvKQ0KLSBbeF0gdXNlIG91ciBjb21waWxlIGFuZCBsaW5rIGZsYWdz DQotIFsgXSB3aGF0J3MgdGhlIG1vc3QgYXBwcm9wcmlhdGUgbmFtZSBmb3IgdGhlIHBhY2thZ2U/ IDd6aXAsIDctemlwIG9yIDd6Pw0KLSB0ZXN0IHBhY2thZ2VzIHRoYXQgZGVwZW5kIG9uIGBwN3pp cGAgYXQgcnVudGltZSBvciBidWlsZCB0aW1lOg0KICAgIC0gWyBdIGp1bGlhDQogICAgLSBbIF0g bHV0cmlzDQogICAgLSBbIF0gbXVsdGlib290dXNiDQogICAgLSBbIF0gcGxheW9ubGludXgNCiAg ICAtIFsgXSBTTEFERQ0KICAgIC0gWyBdIFo4MEV4cGxvcmVyDQogICAgLSBbIF0gYXJrDQogICAg LSBbIF0gY2JwMm1ha2UNCg0KY2xvc2VzICMzNzg3NQoKQSBwYXRjaCBmaWxlIGZyb20gaHR0cHM6 Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzM3OTQwLnBhdGNoIGlz IGF0dGFjaGVk --===============0970130448185151340== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-7zip-37940.patch" RnJvbSA1MWMzNzAyMDNlYjM2NDBlZTc4YTk0ZjBlNTY4MWEwY2UyN2QzNWQ1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2JlcnRvIFJpY2NpIDxyaWNjaUBkaXNyb290Lm9yZz4KRGF0 ZTogU2F0LCA5IEp1bCAyMDIyIDEyOjA1OjIyICswMjAwClN1YmplY3Q6IFtQQVRDSF0gTmV3IHBh Y2thZ2U6IDd6aXAtMjIuMDAKCi0tLQogc3JjcGtncy83emlwLXVucmFyICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgICAxICsKIHNyY3BrZ3MvN3ppcC9maWxlcy83enouMSAgICAgICAgICAg ICAgICAgICAgICB8IDIxNSArKysrKysrKysrKysKIHNyY3BrZ3MvN3ppcC9wN3ppcC11bnJhci5J TlNUQUxMLm1zZyAgICAgICAgICB8ICAgNSArCiBzcmNwa2dzLzd6aXAvcGF0Y2hlcy9idWlsZF9m bGFncy5wYXRjaCAgICAgICAgfCAgMzAgKysKIHNyY3BrZ3MvN3ppcC90ZW1wbGF0ZSAgICAgICAg ICAgICAgICAgICAgICAgICB8ICA4NSArKysrKwogc3JjcGtncy83emlwL3VwZGF0ZSAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgICAyICsKIHNyY3BrZ3MvcDd6aXAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8ICAgMSArCiBzcmNwa2dzL3A3emlwLXVucmFyICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgIDIgKy0KIHNyY3BrZ3MvcDd6aXAvcGF0Y2hlcy8yMC1DVkUtMjAx OC01OTk2LnBhdGNoICB8IDIyMSAtLS0tLS0tLS0tLS0tCiBzcmNwa2dzL3A3emlwL3BhdGNoZXMv MzAtQ1ZFLTIwMTgtMTAxMTUucGF0Y2ggfCAzMTEgLS0tLS0tLS0tLS0tLS0tLS0tCiBzcmNwa2dz L3A3emlwL3BhdGNoZXMvQ1ZFLTIwMTYtOTI5Ni5wYXRjaCAgICAgfCAgMTIgLQogc3JjcGtncy9w N3ppcC9wYXRjaGVzL0NWRS0yMDE3LTE3OTY5LnBhdGNoICAgIHwgIDI2IC0tCiBzcmNwa2dzL3A3 emlwL3RlbXBsYXRlICAgICAgICAgICAgICAgICAgICAgICAgfCAgNDcgLS0tCiBzcmNwa2dzL3A3 emlwL3VwZGF0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgLQogMTQgZmlsZXMgY2hh bmdlZCwgMzQwIGluc2VydGlvbnMoKyksIDYxOSBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEy MDAwMCBzcmNwa2dzLzd6aXAtdW5yYXIKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzLzd6aXAv ZmlsZXMvN3p6LjEKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzLzd6aXAvcDd6aXAtdW5yYXIu SU5TVEFMTC5tc2cKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzLzd6aXAvcGF0Y2hlcy9idWls ZF9mbGFncy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvN3ppcC90ZW1wbGF0ZQog Y3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvN3ppcC91cGRhdGUKIGNyZWF0ZSBtb2RlIDEyMDAw MCBzcmNwa2dzL3A3emlwCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9wN3ppcC9wYXRjaGVz LzIwLUNWRS0yMDE4LTU5OTYucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3A3emlw L3BhdGNoZXMvMzAtQ1ZFLTIwMTgtMTAxMTUucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNw a2dzL3A3emlwL3BhdGNoZXMvQ1ZFLTIwMTYtOTI5Ni5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0 IHNyY3BrZ3MvcDd6aXAvcGF0Y2hlcy9DVkUtMjAxNy0xNzk2OS5wYXRjaAogZGVsZXRlIG1vZGUg MTAwNjQ0IHNyY3BrZ3MvcDd6aXAvdGVtcGxhdGUKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dz L3A3emlwL3VwZGF0ZQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvN3ppcC11bnJhciBiL3NyY3BrZ3Mv N3ppcC11bnJhcgpuZXcgZmlsZSBtb2RlIDEyMDAwMAppbmRleCAwMDAwMDAwMDAwMDAuLjI4NDMx MjU5NWE0YwotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvN3ppcC11bnJhcgpAQCAtMCwwICsx IEBACis3emlwClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjcGtn cy83emlwL2ZpbGVzLzd6ei4xIGIvc3JjcGtncy83emlwL2ZpbGVzLzd6ei4xCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMmUxNTliZDk0YmI0Ci0tLSAvZGV2L251bGwK KysrIGIvc3JjcGtncy83emlwL2ZpbGVzLzd6ei4xCkBAIC0wLDAgKzEsMjE1IEBACisuVEggN1pa ICIxIiAiRmVicnVhcnkgMTQsIDIwMjIiCisuU0ggTkFNRQorN3p6IFwtIFN0YW5kYWxvbmUgY29u c29sZSB2ZXJzaW9uIG9mIHRoZSA3LVppcCBmaWxlIGFyY2hpdmVyCisuU0ggU1lOT1BTSVMKKy5C IDd6egorLlwiIFxmSVwsPGNvbW1hbmQ+IFwvW1xmSVwsPHN3aXRjaD5cLy4uLl0gXGZJXCw8YXJj aGl2ZV9uYW1lPiBcL1tcZklcLDxmaWxlX25hbWVzPlwvLi4uXSBbXGZJXCxAbGlzdF9maWxlXC9d CisuQlIgPGNvbW1hbmQ+CisuQlIgWzxzd2l0Y2g+Li4uXQorLkJSIDxhcmNoaXZlX25hbWU+Cisu QlIgWzxmaWxlX25hbWVzPl0KKy5CUiBbQGxpc3RmaWxlXQorLlNIIERFU0NSSVBUSU9OCis3XC1a aXAgaXMgYSBmaWxlIGFyY2hpdmVyIHdpdGggYSBoaWdoIGNvbXByZXNzaW9uIHJhdGlvLiBTdXBw b3J0ZWQgZm9ybWF0czoKKy5JUAorUGFja2luZyBhbmQgdW5wYWNraW5nOiA3eiwgWFosIEJaSVAy LCBHWklQLCBUQVIsIFpJUCBhbmQgV0lNLgorLklQCitVbnBhY2tpbmcgb25seTogQVIsIEFSSiwg Q0FCLCBDSE0sIENQSU8sIENyYW1GUywgRE1HLCBFWFQsIEZBVCwgR1BULCBIRlMsIElIRVgsIElT TywgTFpILCBMWk1BLCBNQlIsIE1TSSwgTlNJUywgTlRGUywgUUNPVzIsIFJBUiwgUlBNLCBTcXVh c2hGUywgVURGLCBVRUZJLCBWREksIFZIRCwgVkhEWCwgVk1ESywgV0lNLCBYQVIgYW5kIFouCisu U0ggQ29tbWFuZHMKKy5UUAorLkJSIGEKK0FkZCBmaWxlcyB0byBhcmNoaXZlCisuVFAKKy5CUiBi CitCZW5jaG1hcmsKKy5UUAorLkJSIGQKK0RlbGV0ZSBmaWxlcyBmcm9tIGFyY2hpdmUKKy5UUAor LkJSIGUKK0V4dHJhY3QgZmlsZXMgZnJvbSBhcmNoaXZlICh3aXRob3V0IHVzaW5nIGRpcmVjdG9y eSBuYW1lcykKKy5UUAorLkJSIGgKK0NhbGN1bGF0ZSBoYXNoIHZhbHVlcyBmb3IgZmlsZXMKKy5U UAorLkJSIGkKK1Nob3cgaW5mb3JtYXRpb24gYWJvdXQgc3VwcG9ydGVkIGZvcm1hdHMKKy5UUAor LkJSIGwKK0xpc3QgY29udGVudHMgb2YgYXJjaGl2ZQorLlRQCisuQlIgcm4KK1JlbmFtZSBmaWxl cyBpbiBhcmNoaXZlCisuVFAKKy5CUiB0CitUZXN0IGludGVncml0eSBvZiBhcmNoaXZlCisuVFAK Ky5CUiB1CitVcGRhdGUgZmlsZXMgdG8gYXJjaGl2ZQorLlRQCisuQlIgeAorRXh0cmFjdCBmaWxl cyB3aXRoIGZ1bGwgcGF0aHMKKy5TSCBTd2l0Y2hlcworLlRQCisuQlIgXC1cLQorU3RvcCBzd2l0 Y2hlcyBhbmQgQGxpc3RmaWxlIHBhcnNpbmcKKy5UUAorLkJSIFwtYWlbcltcLXwwXV17QGxpc3Rm aWxlfCF3aWxkY2FyZH0KK0luY2x1ZGUgYXJjaGl2ZXMKKy5UUAorLkJSIFwtYXhbcltcLXwwXV17 QGxpc3RmaWxlfCF3aWxkY2FyZH0KK0V4Y2x1ZGUgYXJjaGl2ZXMKKy5UUAorLkJSIFwtYW97YXxz fHR8dX0KK1NldCBPdmVyd3JpdGUgbW9kZQorLlRQCisuQlIgXC1hbgorRGlzYWJsZSBhcmNoaXZl X25hbWUgZmllbGQKKy5UUAorLkJSIFwtYmJbMFwtM10KK1NldCBvdXRwdXQgbG9nIGxldmVsCisu VFAKKy5CUiBcLWJkCitEaXNhYmxlIHByb2dyZXNzIGluZGljYXRvcgorLlRQCisuQlIgXC1ic3tv fGV8cH17MHwxfDJ9CitTZXQgb3V0cHV0IHN0cmVhbSBmb3Igb3V0cHV0L2Vycm9yL3Byb2dyZXNz IGxpbmUKKy5UUAorLkJSIFwtYnQKK3Nob3cgZXhlY3V0aW9uIHRpbWUgc3RhdGlzdGljcworLlRQ CisuQlIgXC1pW3JbXC18MF1de0BsaXN0ZmlsZXwhd2lsZGNhcmR9CitJbmNsdWRlIGZpbGVuYW1l cworLlRQCisuQlIgXC1te1BhcmFtZXRlcnN9CitTZXQgY29tcHJlc3Npb24gTWV0aG9kCisuVFAK Ky5CUiBcLW1tdFtOXQorU2V0IG51bWJlciBvZiBDUFUgdGhyZWFkcworLlRQCisuQlIgXC1teFtO XQorU2V0IGNvbXByZXNzaW9uIGxldmVsOiBcLW14MSAoZmFzdGVzdCkgLi4uIFwtbXg5ICh1bHRy YSkKKy5UUAorLkJSIFwtb3tEaXJlY3Rvcnl9CitTZXQgT3V0cHV0IGRpcmVjdG9yeQorLlRQCisu QlIgXC1we1Bhc3N3b3JkfQorU2V0IFBhc3N3b3JkCisuVFAKKy5CUiBcLXJbXC18MF0KK1JlY3Vy c2Ugc3ViZGlyZWN0b3JpZXMgZm9yIG5hbWUgc2VhcmNoCisuVFAKKy5CUiBcLXNhe2F8ZXxzfQor U2V0IEFyY2hpdmUgbmFtZSBtb2RlCisuVFAKKy5CUiBcLXNjY3tVVEZcLTh8V0lOfERPU30KK1Nl dCBjaGFyc2V0IGZvciBmb3IgY29uc29sZSBpbnB1dC9vdXRwdXQKKy5UUAorLkJSIFwtc2Nze1VU RlwtOHxVVEZcLTE2TEV8VVRGXC0xNkJFfFdJTnxET1N8e2lkfX0KK1NldCBjaGFyc2V0IGZvciBs aXN0IGZpbGVzCisuVFAKKy5CUiBcLXNjcmNbQ1JDMzJ8Q1JDNjR8U0hBMXxTSEEyNTZ8Kl0KK1Nl dCBoYXNoIGZ1bmN0aW9uIGZvciB4LCBlLCBoIGNvbW1hbmRzCisuVFAKKy5CUiBcLXNkZWwKK0Rl bGV0ZSBmaWxlcyBhZnRlciBjb21wcmVzc2lvbgorLlRQCisuQlIgXC1zZW1sWy5dCitTZW5kIGFy Y2hpdmUgYnkgZW1haWwKKy5UUAorLkJSIFwtc2Z4W3tuYW1lfV0KK0NyZWF0ZSBTRlggYXJjaGl2 ZQorLlRQCisuQlIgXC1zaVt7bmFtZX1dCitSZWFkIGRhdGEgZnJvbSBzdGRpbgorLlRQCisuQlIg XC1zbHAKK1NldCBMYXJnZSBQYWdlcyBtb2RlCisuVFAKKy5CUiBcLXNsdAorU2hvdyB0ZWNobmlj YWwgaW5mb3JtYXRpb24gZm9yIGwgKExpc3QpIGNvbW1hbmQKKy5UUAorLkJSIFwtc25oCitTdG9y ZSBoYXJkIGxpbmtzIGFzIGxpbmtzCisuVFAKKy5CUiBcLXNubAorU3RvcmUgc3ltYm9saWMgbGlu a3MgYXMgbGlua3MKKy5UUAorLkJSIFwtc25pCitTdG9yZSBOVCBzZWN1cml0eSBpbmZvcm1hdGlv bgorLlRQCisuQlIgXC1zbnNbXC1dCitTdG9yZSBOVEZTIGFsdGVybmF0ZSBzdHJlYW1zCisuVFAK Ky5CUiBcLXNvCitXcml0ZSBkYXRhIHRvIHN0ZG91dAorLlRQCisuQlIgXC1zcGQKK0Rpc2FibGUg d2lsZGNhcmQgbWF0Y2hpbmcgZm9yIGZpbGUgbmFtZXMKKy5UUAorLkJSIFwtc3BlCitFbGltaW5h dGUgZHVwbGljYXRpb24gb2Ygcm9vdCBmb2xkZXIgZm9yIGV4dHJhY3QgY29tbWFuZAorLlRQCisu QlIgXC1zcGYKK1VzZSBmdWxseSBxdWFsaWZpZWQgZmlsZSBwYXRocworLlRQCisuQlIgXC1zc2Nb XC1dCitTZXQgc2Vuc2l0aXZlIGNhc2UgbW9kZQorLlRQCisuQlIgXC1zc2UKK1N0b3AgYXJjaGl2 ZSBjcmVhdGluZywgaWYgaXQgY2FuJ3Qgb3BlbiBzb21lIGlucHV0IGZpbGUKKy5UUAorLkJSIFwt c3NwCitEbyBub3QgY2hhbmdlIExhc3QgQWNjZXNzIFRpbWUgb2Ygc291cmNlIGZpbGVzIHdoaWxl IGFyY2hpdmluZworLlRQCisuQlIgXC1zc3cKK0NvbXByZXNzIHNoYXJlZCBmaWxlcworLlRQCisu QlIgXC1zdGwKK1NldCBhcmNoaXZlIHRpbWVzdGFtcCBmcm9tIHRoZSBtb3N0IHJlY2VudGx5IG1v ZGlmaWVkIGZpbGUKKy5UUAorLkJSIFwtc3Rte0hleE1hc2t9CitTZXQgQ1BVIHRocmVhZCBhZmZp bml0eSBtYXNrIChoZXhhZGVjaW1hbCBudW1iZXIpCisuVFAKKy5CUiBcLXN0eHtUeXBlfQorRXhj bHVkZSBhcmNoaXZlIHR5cGUKKy5UUAorLkJSIFwtdHtUeXBlfQorU2V0IHR5cGUgb2YgYXJjaGl2 ZQorLlRQCisuQlIgXC11W1wtXVtwI11bcSNdW3IjXVt4I11beSNdW3ojXVshbmV3QXJjaGl2ZU5h bWVdCitVcGRhdGUgb3B0aW9ucworLlRQCisuQlIgXC12e1NpemV9W2J8a3xtfGddCitDcmVhdGUg dm9sdW1lcworLlRQCisuQlIgXC13W3twYXRofV0KK1NldCB3b3JraW5nIGRpcmVjdG9yeS4gRW1w dHkgcGF0aCBtZWFucyBhIHRlbXBvcmFyeSBkaXJlY3RvcnkKKy5UUAorLkJSIFwteFtyW1wtfDBd XXtAbGlzdGZpbGV8IXdpbGRjYXJkfQorRXhjbHVkZSBmaWxlbmFtZXMKKy5UUAorLkJSIFwteQor QXNzdW1lIFllcyBvbiBhbGwgcXVlcmllcworLlNIIExpc3RmaWxlCitZb3UgY2FuIHN1cHBseSBv bmUgb3IgbW9yZSBmaWxlbmFtZXMgb3Igd2lsZGNhcmRzIGZvciBzcGVjaWFsIGxpc3QgZmlsZXMg KGZpbGVzIGNvbnRhaW5pbmcgbGlzdHMgb2YgZmlsZXMpLiBUaGUgZmlsZW5hbWVzIGluIHN1Y2gg bGlzdCBmaWxlIG11c3QgYmUgc2VwYXJhdGVkIGJ5IG5ldyBsaW5lIHN5bWJvbChzKS4gRm9yIGxp c3QgZmlsZXMsIDdcLVppcCB1c2VzIFVURlwtOCBlbmNvZGluZyBieSBkZWZhdWx0LiBZb3UgY2Fu IGNoYW5nZSBlbmNvZGluZyB1c2luZworLkJSIFwtc2NzCitzd2l0Y2guIE11bHRpcGxlIGxpc3Qg ZmlsZXMgYXJlIHN1cHBvcnRlZC4KKy5QUAorRm9yIGV4YW1wbGUsIGlmIHRoZSBmaWxlICJsaXN0 ZmlsZS50eHQiIGNvbnRhaW5zIHRoZSBmb2xsb3dpbmc6CisuSVAKK015IHByb2dyYW1zXFwqLmNw cAorLmJyCitTcmNcXCouY3BwCisuUFAKK3RoZW4gdGhlIGNvbW1hbmQKKy5JUAorLkIgN3ogYSBc LXR6aXAgYXJjaGl2ZS56aXAgQGxpc3RmaWxlLnR4dAorLlBQCithZGRzIHRvIHRoZSBhcmNoaXZl ICJhcmNoaXZlLnppcCIgYWxsICIqLmNwcCIgZmlsZXMgZnJvbSBkaXJlY3RvcmllcyAiTXkgcHJv Z3JhbXMiIGFuZCAiU3JjIi4KKy5TSCAiU0VFIEFMU08iCisuQlIgeHogKDEpCisuYnIKK0ZyZXF1 ZW50bHkgQXNrZWQgUXVlc3Rpb25zOiA8aHR0cHM6Ly93d3cuNy16aXAub3JnL2ZhcS5odG1sPgor LmJyCitSZWNvdmVyIGNvcnJ1cHRlZCA3eiBhcmNoaXZlOiA8aHR0cHM6Ly93d3cuNy16aXAub3Jn L3JlY292ZXIuaHRtbD4KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvN3ppcC9wN3ppcC11bnJhci5JTlNU QUxMLm1zZyBiL3NyY3BrZ3MvN3ppcC9wN3ppcC11bnJhci5JTlNUQUxMLm1zZwpuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjc3NWY5NDNjMGE1NgotLS0gL2Rldi9udWxs CisrKyBiL3NyY3BrZ3MvN3ppcC9wN3ppcC11bnJhci5JTlNUQUxMLm1zZwpAQCAtMCwwICsxLDUg QEAKK1RoZSBwN3ppcC11bnJhciBwYWNrYWdlIGhhcyBiZWVuIHJlcGxhY2VkIGJ5IDd6aXAtdW5y YXIuCitUbyB1c2UgdGhlIFJBUi1lbmFibGVkIHZlcnNpb24gb2YgYDd6YCwgbWFrZSBzdXJlIHRo ZSBkZXNpcmVkCithbHRlcm5hdGl2ZSBpcyBjb25maWd1cmVkOgorCisJIyB4YnBzLWFsdGVybmF0 aXZlcyAtcyA3emlwLXVucmFyCmRpZmYgLS1naXQgYS9zcmNwa2dzLzd6aXAvcGF0Y2hlcy9idWls ZF9mbGFncy5wYXRjaCBiL3NyY3BrZ3MvN3ppcC9wYXRjaGVzL2J1aWxkX2ZsYWdzLnBhdGNoCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNGY3OTFmZjYzZGRmCi0tLSAv ZGV2L251bGwKKysrIGIvc3JjcGtncy83emlwL3BhdGNoZXMvYnVpbGRfZmxhZ3MucGF0Y2gKQEAg LTAsMCArMSwzMCBAQAorYXBwZW5kIChkb24ndCBwcmVmaXgpIHhicHMgYnVpbGQgZmxhZ3MgYW5k IGRvbid0IHN0cmlwIHRoZSBleGVjdXRhYmxlCistLS0gYS9DUFAvN3ppcC83emlwX2djYy5tYWsK KysrKyBiL0NQUC83emlwLzd6aXBfZ2NjLm1haworQEAgLTEyNiw3ICsxMjYsNyBAQCBlbmRpZgor IA0KKyANCisgDQorLUNGTEFHUyA9ICQoTVlfQVJDSF8yKSAkKExPQ0FMX0ZMQUdTKSAkKENGTEFH U19CQVNFMikgJChDRkxBR1NfQkFTRSkgJChDQ19TSEFSRUQpIC1vICRADQorK0NGTEFHUyA9ICQo TVlfQVJDSF8yKSAkKExPQ0FMX0ZMQUdTKSAkKENGTEFHU19CQVNFMikgJChDRkxBR1NfQkFTRSkg JChDQ19TSEFSRUQpICQoWEJQU19DRkxBR1MpIC1vICRADQorIA0KKyANCisgaWZkZWYgSVNfTUlO R1cNCitAQCAtMTU0LDcgKzE1NCw3IEBAIENYWF9XQVJOX0ZMQUdTID0KKyAjLVduby1pbnZhbGlk LW9mZnNldG9mDQorICMtV25vLXJlb3JkZXINCisgDQorLUNYWEZMQUdTID0gJChNWV9BUkNIXzIp ICQoTE9DQUxfRkxBR1MpICQoQ1hYRkxBR1NfQkFTRTIpICQoQ0ZMQUdTX0JBU0UpICQoQ1hYRkxB R1NfRVhUUkEpICQoQ0NfU0hBUkVEKSAtbyAkQCAkKENYWF9XQVJOX0ZMQUdTKQ0KKytDWFhGTEFH UyA9ICQoTVlfQVJDSF8yKSAkKExPQ0FMX0ZMQUdTKSAkKENYWEZMQUdTX0JBU0UyKSAkKENGTEFH U19CQVNFKSAkKENYWEZMQUdTX0VYVFJBKSAkKENDX1NIQVJFRCkgLW8gJEAgJChDWFhfV0FSTl9G TEFHUykgJChYQlBTX0NYWEZMQUdTKQ0KKyANCisgU1RBVElDX1RBUkdFVD0NCisgaWZkZWYgQ09N UExfU1RBVElDDQorQEAgLTE2Nyw3ICsxNjcsNyBAQCBhbGw6ICQoTykgJChQUk9HUEFUSCkgJChT VEFUSUNfVEFSR0VUKQorICQoTyk6DQorIAkkKE1ZX01LRElSKSAkKE8pDQorIA0KKy1MRkxBR1Nf QUxMID0gLXMgJChNWV9BUkNIXzIpICQoTERGTEFHUykgJChMRF9hcmNoKSAkKE9CSlMpICQoTVlf TElCUykgJChMSUIyKQ0KKytMRkxBR1NfQUxMID0gJChNWV9BUkNIXzIpICQoTERGTEFHUykgJChM RF9hcmNoKSAkKE9CSlMpICQoTVlfTElCUykgJChMSUIyKSAkKFhCUFNfTERGTEFHUykNCisgJChQ Uk9HUEFUSCk6ICQoT0JKUykNCisgCSQoQ1hYKSAtbyAkKFBST0dQQVRIKSAkKExGTEFHU19BTEwp DQorIA0KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvN3ppcC90ZW1wbGF0ZSBiL3NyY3BrZ3MvN3ppcC90 ZW1wbGF0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjFlNTVhZjRk NGQ0NgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvN3ppcC90ZW1wbGF0ZQpAQCAtMCwwICsx LDg1IEBACisjIFRlbXBsYXRlIGZpbGUgZm9yICc3emlwJworcGtnbmFtZT03emlwCit2ZXJzaW9u PTIyLjAwCityZXZpc2lvbj0xCitjcmVhdGVfd3Jrc3JjPXllcworc2hvcnRfZGVzYz0iRmlsZSBh cmNoaXZlciB3aXRoIGEgaGlnaCBjb21wcmVzc2lvbiByYXRpbyIKK21haW50YWluZXI9IlJvYmVy dG8gUmljY2kgPHJpY2NpQGRpc3Jvb3Qub3JnPiIKK2xpY2Vuc2U9IkxHUEwtMi4xLW9yLWxhdGVy LCBCU0QtMy1DbGF1c2UiCitob21lcGFnZT0iaHR0cHM6Ly93d3cuNy16aXAub3JnIgorY2hhbmdl bG9nPSJodHRwczovL3d3dy43LXppcC5vcmcvaGlzdG9yeS50eHQiCitkaXN0ZmlsZXM9Imh0dHBz Oi8vd3d3LjctemlwLm9yZy9hLzd6JHt2ZXJzaW9uLy8uL30tc3JjLnRhci54eiIKK2NoZWNrc3Vt PTQwOTY5ZjYwMWU4NmFmZjQ5YWFhMGJhMGRmNWNlNmZkMzk3Y2Y3ZTI2ODNhODRiNTkxYjAwODFl NDYxZWY2NzUKK2FsdGVybmF0aXZlcz0iCisgN3o6N3o6L3Vzci9iaW4vN3otZnJlZQorIDd6Ojd6 YTovdXNyL2Jpbi83ei1mcmVlCisgN3o6N3pyOi91c3IvYmluLzd6LWZyZWUKKyA3ejo3ei4xOi91 c3Ivc2hhcmUvbWFuL21hbjEvN3otZnJlZS4xIgorCitpZiBbICIkWEJQU19UQVJHRVRfTElCQyIg PSBtdXNsIF07IHRoZW4KKwkjIG1pc3NpbmcgcHRocmVhZF9hdHRyX3NldGFmZmluaXR5X25wKCkK KwlDRkxBR1M9Ii1EXzdaSVBfQUZGSU5JVFlfRElTQUJMRSIKKwlDWFhGTEFHUz0iLURfN1pJUF9B RkZJTklUWV9ESVNBQkxFIgorZmkKKworZG9fYnVpbGQoKSB7CisJXzd6X2J1aWxkKCkgeworCQlj ZCAiJHdya3NyYyIvQ1BQLzd6aXAvQnVuZGxlcy9BbG9uZTIKKworCQljYXNlICIkWEJQU19UQVJH RVRfTUFDSElORSIgaW4KKwkJYWFyY2g2NCopIF83el9tYWtlZmlsZT0iLi4vLi4vY21wbF9nY2Nf YXJtNjQubWFrIjs7CisJCSopICAgICAgICBfN3pfbWFrZWZpbGU9Ii4uLy4uL2NtcGxfZ2NjLm1h ayI7OworCQllc2FjCisKKwkJbWFrZSAiJG1ha2Vqb2JzIiAtZiAiJF83el9tYWtlZmlsZSIgXAor CQkJQ0M9IiRDQyIgQ1hYPSIkQ1hYIiBYQlBTX0NGTEFHUz0iJENGTEFHUyIgXAorCQkJWEJQU19D WFhGTEFHUz0iJENYWEZMQUdTIiBYQlBTX0xERkxBR1M9IiRMREZMQUdTIiBcCisJCQkiJEAiCisJ fQorCV83el9idWlsZCBPPWIvbm9yYXIgRElTQUJMRV9SQVJfQ09NUFJFU1M9MQorCV83el9idWls ZCBPPWIvcmFyCit9CisKK183el9pbnN0YWxsKCkgeworCWJpbmRpcj0iJDEiCisJZGVzdD0iJDIi CisJc3VmZml4PSIkMyIKKworCXZiaW4gIiR7d3Jrc3JjfS9DUFAvN3ppcC9CdW5kbGVzL0Fsb25l Mi8ke2JpbmRpcn0vN3p6IiAiN3otJHtzdWZmaXh9IgorCisJdmxpY2Vuc2UgIiR7d3Jrc3JjfS9E T0MvTGljZW5zZS50eHQiCisKKwkjIGh0dHBzOi8vY2dpdC5mcmVlYnNkLm9yZy9wb3J0cy9wbGFp bi9hcmNoaXZlcnMvNy16aXAvZmlsZXMvN3p6LjEKKwl2bWFuICIke0ZJTEVTRElSfS83enouMSIg Ijd6LSR7c3VmZml4fS4xIgorfQorCitkb19pbnN0YWxsKCkgeworCV83el9pbnN0YWxsIGIvbm9y YXIgIiRERVNURElSIiBmcmVlCit9CisKKzd6aXAtdW5yYXJfcGFja2FnZSgpIHsKKwlsaWNlbnNl Kz0iLCBjdXN0b206ZnJlZXdhcmUiCisJcmVwb3NpdG9yeT1ub25mcmVlCisJc2hvcnRfZGVzYys9 IiAtIFJBUiBzdXBwb3J0IgorCWFsdGVybmF0aXZlcz0iCisJIDd6Ojd6Oi91c3IvYmluLzd6LXVu cmFyCisJIDd6Ojd6YTovdXNyL2Jpbi83ei11bnJhcgorCSA3ejo3enI6L3Vzci9iaW4vN3otdW5y YXIKKwkgN3o6N3ouMTovdXNyL3NoYXJlL21hbi9tYW4xLzd6LXVucmFyLjEiCisKKwlwa2dfaW5z dGFsbCgpIHsKKwkJXzd6X2luc3RhbGwgYi9yYXIgIiRQS0dERVNURElSIiB1bnJhcgorCX0KK30K KworcDd6aXBfcGFja2FnZSgpIHsKKwlidWlsZF9zdHlsZT1tZXRhCisJZGVwZW5kcz03emlwCisJ c2hvcnRfZGVzYz0iQ29tbWFuZC1saW5lIHZlcnNpb24gb2YgdGhlIDd6aXAgY29tcHJlc3NlZCBm aWxlIGFyY2hpdmUgKHRyYW5zaXRpb25hbCBkdW1teSBwYWNrYWdlKSIKK30KKworcDd6aXAtdW5y YXJfcGFja2FnZSgpIHsKKwlidWlsZF9zdHlsZT1tZXRhCisJZGVwZW5kcz03emlwLXVucmFyCisJ c2hvcnRfZGVzYz0iQ29tbWFuZC1saW5lIHZlcnNpb24gb2YgdGhlIDd6aXAgY29tcHJlc3NlZCBm aWxlIGFyY2hpdmUgLSBSQVIgc3VwcG9ydCAodHJhbnNpdGlvbmFsIGR1bW15IHBhY2thZ2UpIgor fQpkaWZmIC0tZ2l0IGEvc3JjcGtncy83emlwL3VwZGF0ZSBiL3NyY3BrZ3MvN3ppcC91cGRhdGUK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi41NDYzZjE0OGU0ZjgKLS0t IC9kZXYvbnVsbAorKysgYi9zcmNwa2dzLzd6aXAvdXBkYXRlCkBAIC0wLDAgKzEsMiBAQAorc2l0 ZT0naHR0cHM6Ly83LXppcC5vcmcvZG93bmxvYWQuaHRtbCcKK3BhdHRlcm49J0Rvd25sb2FkIDct WmlwIFxLW1xkLl0rJwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9wN3ppcCBiL3NyY3BrZ3MvcDd6aXAK bmV3IGZpbGUgbW9kZSAxMjAwMDAKaW5kZXggMDAwMDAwMDAwMDAwLi4yODQzMTI1OTVhNGMKLS0t IC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3A3emlwCkBAIC0wLDAgKzEgQEAKKzd6aXAKXCBObyBu ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmNwa2dzL3A3emlwLXVucmFyIGIv c3JjcGtncy9wN3ppcC11bnJhcgppbmRleCBiZjUzNDllZTY2NjYuLjI4NDMxMjU5NWE0YyAxMjAw MDAKLS0tIGEvc3JjcGtncy9wN3ppcC11bnJhcgorKysgYi9zcmNwa2dzL3A3emlwLXVucmFyCkBA IC0xICsxIEBACi1wN3ppcApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzd6aXAKXCBObyBu ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmNwa2dzL3A3emlwL3BhdGNoZXMv MjAtQ1ZFLTIwMTgtNTk5Ni5wYXRjaCBiL3NyY3BrZ3MvcDd6aXAvcGF0Y2hlcy8yMC1DVkUtMjAx OC01OTk2LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NzMzYmZmOTE4OTUu LjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3A3emlwL3BhdGNoZXMvMjAtQ1ZFLTIwMTgtNTk5 Ni5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDIyMSArMCwwIEBACi1Gcm9tOiBSb2JlcnQgTHVi ZXJkYSA8cm9iZXJ0QGRlYmlhbi5vcmc+Ci1EYXRlOiBTdW4sIDI4IEphbiAyMDE4IDIzOjQ3OjQw ICswMTAwCi1TdWJqZWN0OiBDVkUtMjAxOC01OTk2Ci0KLUhvcGVmdWxseSBmaXggTWVtb3J5IENv cnJ1cHRpb25zIHZpYSBSQVIgUFBNZCAoQ1ZFLTIwMTgtNTk5NikgYnkKLWFwcGx5aW5nIGEgZmV3 IGNoYW5nZXMgZnJvbSA3WmlwIDE4LjAwLWJldGEuCi0KLUJ1Zy1EZWJpYW46IGh0dHBzOi8vYnVn cy5kZWJpYW4ub3JnLyM4ODgzMTQKLS0tLQotIENQUC83emlwL0NvbXByZXNzL1JhcjFEZWNvZGVy LmNwcCB8IDEzICsrKysrKysrKy0tLS0KLSBDUFAvN3ppcC9Db21wcmVzcy9SYXIxRGVjb2Rlci5o ICAgfCAgMSArCi0gQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMkRlY29kZXIuY3BwIHwgMTAgKysrKysr KysrLQotIENQUC83emlwL0NvbXByZXNzL1JhcjJEZWNvZGVyLmggICB8ICAxICsKLSBDUFAvN3pp cC9Db21wcmVzcy9SYXIzRGVjb2Rlci5jcHAgfCAyMyArKysrKysrKysrKysrKysrKysrKy0tLQot IENQUC83emlwL0NvbXByZXNzL1JhcjNEZWNvZGVyLmggICB8ICAyICsrCi0gNiBmaWxlcyBjaGFu Z2VkLCA0MiBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvQ1BQ Lzd6aXAvQ29tcHJlc3MvUmFyMURlY29kZXIuY3BwIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMURl Y29kZXIuY3BwCi1pbmRleCAxYWFlZGNjLi42ODAzMGM3IDEwMDY0NAotLS0tIGEvQ1BQLzd6aXAv Q29tcHJlc3MvUmFyMURlY29kZXIuY3BwCi0rKysgYi9DUFAvN3ppcC9Db21wcmVzcy9SYXIxRGVj b2Rlci5jcHAKLUBAIC0yOSw3ICsyOSw3IEBAIHB1YmxpYzoKLSB9OwotICovCi0gCi0tQ0RlY29k ZXI6OkNEZWNvZGVyKCk6IG1fSXNTb2xpZChmYWxzZSkgeyB9Ci0rQ0RlY29kZXI6OkNEZWNvZGVy KCk6IG1fSXNTb2xpZChmYWxzZSksIF9lcnJvck1vZGUoZmFsc2UpIHsgfQotIAotIHZvaWQgQ0Rl Y29kZXI6OkluaXRTdHJ1Y3R1cmVzKCkKLSB7Ci1AQCAtNDA2LDkgKzQwNiwxNCBAQCBIUkVTVUxU IENEZWNvZGVyOjpDb2RlUmVhbChJU2VxdWVudGlhbEluU3RyZWFtICppblN0cmVhbSwgSVNlcXVl bnRpYWxPdXRTdHJlYW0gKgotICAgSW5pdERhdGEoKTsKLSAgIGlmICghbV9Jc1NvbGlkKQotICAg ewotKyAgICBfZXJyb3JNb2RlID0gZmFsc2U7Ci0gICAgIEluaXRTdHJ1Y3R1cmVzKCk7Ci0gICAg IEluaXRIdWZmKCk7Ci0gICB9Ci0rCi0rICBpZiAoX2Vycm9yTW9kZSkKLSsgICAgcmV0dXJuIFNf RkFMU0U7Ci0rCi0gICBpZiAobV9VbnBhY2tTaXplID4gMCkKLSAgIHsKLSAgICAgR2V0RmxhZ3NC dWYoKTsKLUBAIC00NzcsOSArNDgyLDkgQEAgU1RETUVUSE9ESU1QIENEZWNvZGVyOjpDb2RlKElT ZXF1ZW50aWFsSW5TdHJlYW0gKmluU3RyZWFtLCBJU2VxdWVudGlhbE91dFN0cmVhbQotICAgICBj b25zdCBVSW50NjQgKmluU2l6ZSwgY29uc3QgVUludDY0ICpvdXRTaXplLCBJQ29tcHJlc3NQcm9n cmVzc0luZm8gKnByb2dyZXNzKQotIHsKLSAgIHRyeSB7IHJldHVybiBDb2RlUmVhbChpblN0cmVh bSwgb3V0U3RyZWFtLCBpblNpemUsIG91dFNpemUsIHByb2dyZXNzKTsgfQotLSAgY2F0Y2goY29u c3QgQ0luQnVmZmVyRXhjZXB0aW9uICZlKSB7IHJldHVybiBlLkVycm9yQ29kZTsgfQotLSAgY2F0 Y2goY29uc3QgQ0x6T3V0V2luZG93RXhjZXB0aW9uICZlKSB7IHJldHVybiBlLkVycm9yQ29kZTsg fQotLSAgY2F0Y2goLi4uKSB7IHJldHVybiBTX0ZBTFNFOyB9Ci0rICBjYXRjaChjb25zdCBDSW5C dWZmZXJFeGNlcHRpb24gJmUpIHsgX2Vycm9yTW9kZSA9IHRydWU7IHJldHVybiBlLkVycm9yQ29k ZTsgfQotKyAgY2F0Y2goY29uc3QgQ0x6T3V0V2luZG93RXhjZXB0aW9uICZlKSB7IF9lcnJvck1v ZGUgPSB0cnVlOyByZXR1cm4gZS5FcnJvckNvZGU7IH0KLSsgIGNhdGNoKC4uLikgeyBfZXJyb3JN b2RlID0gdHJ1ZTsgcmV0dXJuIFNfRkFMU0U7IH0KLSB9Ci0gCi0gU1RETUVUSE9ESU1QIENEZWNv ZGVyOjpTZXREZWNvZGVyUHJvcGVydGllczIoY29uc3QgQnl0ZSAqZGF0YSwgVUludDMyIHNpemUp Ci1kaWZmIC0tZ2l0IGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMURlY29kZXIuaCBiL0NQUC83emlw L0NvbXByZXNzL1JhcjFEZWNvZGVyLmgKLWluZGV4IDYzMGYwODkuLjAxYjYwNmIgMTAwNjQ0Ci0t LS0gYS9DUFAvN3ppcC9Db21wcmVzcy9SYXIxRGVjb2Rlci5oCi0rKysgYi9DUFAvN3ppcC9Db21w cmVzcy9SYXIxRGVjb2Rlci5oCi1AQCAtMzksNiArMzksNyBAQCBwdWJsaWM6Ci0gCi0gICBJbnQ2 NCBtX1VucGFja1NpemU7Ci0gICBib29sIG1fSXNTb2xpZDsKLSsgIGJvb2wgX2Vycm9yTW9kZTsK LSAKLSAgIFVJbnQzMiBSZWFkQml0cyhpbnQgbnVtQml0cyk7Ci0gICBIUkVTVUxUIENvcHlCbG9j ayhVSW50MzIgZGlzdGFuY2UsIFVJbnQzMiBsZW4pOwotZGlmZiAtLWdpdCBhL0NQUC83emlwL0Nv bXByZXNzL1JhcjJEZWNvZGVyLmNwcCBiL0NQUC83emlwL0NvbXByZXNzL1JhcjJEZWNvZGVyLmNw cAotaW5kZXggYjNmMmI0Yi4uMDU4MGM4ZCAxMDA2NDQKLS0tLSBhL0NQUC83emlwL0NvbXByZXNz L1JhcjJEZWNvZGVyLmNwcAotKysrIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMkRlY29kZXIuY3Bw Ci1AQCAtODAsNyArODAsOCBAQCBzdGF0aWMgY29uc3QgVUludDMyIGtIaXN0b3J5U2l6ZSA9IDEg PDwgMjA7Ci0gc3RhdGljIGNvbnN0IFVJbnQzMiBrV2luZG93UmVzZXJ2U2l6ZSA9ICgxIDw8IDIy KSArIDI1NjsKLSAKLSBDRGVjb2Rlcjo6Q0RlY29kZXIoKToKLS0gIG1fSXNTb2xpZChmYWxzZSkK LSsgIG1fSXNTb2xpZChmYWxzZSksCi0rICBtX1RhYmxlc09LKGZhbHNlKQotIHsKLSB9Ci0gCi1A QCAtMTAwLDYgKzEwMSw4IEBAIFVJbnQzMiBDRGVjb2Rlcjo6UmVhZEJpdHModW5zaWduZWQgbnVt Qml0cykgeyByZXR1cm4gbV9JbkJpdFN0cmVhbS5SZWFkQml0cyhudW1CCi0gCi0gYm9vbCBDRGVj b2Rlcjo6UmVhZFRhYmxlcyh2b2lkKQotIHsKLSsgIG1fVGFibGVzT0sgPSBmYWxzZTsKLSsKLSAg IEJ5dGUgbGV2ZWxMZXZlbHNba0xldmVsVGFibGVTaXplXTsKLSAgIEJ5dGUgbmV3TGV2ZWxzW2tN YXhUYWJsZVNpemVdOwotICAgbV9BdWRpb01vZGUgPSAoUmVhZEJpdHMoMSkgPT0gMSk7Ci1AQCAt MTcwLDYgKzE3Myw4IEBAIGJvb2wgQ0RlY29kZXI6OlJlYWRUYWJsZXModm9pZCkKLSAgIH0KLSAg IAotICAgbWVtY3B5KG1fTGFzdExldmVscywgbmV3TGV2ZWxzLCBrTWF4VGFibGVTaXplKTsKLSsg IG1fVGFibGVzT0sgPSB0cnVlOwotKwotICAgcmV0dXJuIHRydWU7Ci0gfQotIAotQEAgLTM0NCw2 ICszNDksOSBAQCBIUkVTVUxUIENEZWNvZGVyOjpDb2RlUmVhbChJU2VxdWVudGlhbEluU3RyZWFt ICppblN0cmVhbSwgSVNlcXVlbnRpYWxPdXRTdHJlYW0gKgotICAgICAgIHJldHVybiBTX0ZBTFNF OwotICAgfQotIAotKyAgaWYgKCFtX1RhYmxlc09LKQotKyAgICByZXR1cm4gU19GQUxTRTsKLSsK LSAgIFVJbnQ2NCBzdGFydFBvcyA9IG1fT3V0V2luZG93U3RyZWFtLkdldFByb2Nlc3NlZFNpemUo KTsKLSAgIHdoaWxlIChwb3MgPCB1blBhY2tTaXplKQotICAgewotZGlmZiAtLWdpdCBhL0NQUC83 emlwL0NvbXByZXNzL1JhcjJEZWNvZGVyLmggYi9DUFAvN3ppcC9Db21wcmVzcy9SYXIyRGVjb2Rl ci5oCi1pbmRleCAzYTA1MzVjLi4wZTkwMDVmIDEwMDY0NAotLS0tIGEvQ1BQLzd6aXAvQ29tcHJl c3MvUmFyMkRlY29kZXIuaAotKysrIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMkRlY29kZXIuaAot QEAgLTEzOSw2ICsxMzksNyBAQCBjbGFzcyBDRGVjb2RlciA6Ci0gCi0gICBVSW50NjQgbV9QYWNr U2l6ZTsKLSAgIGJvb2wgbV9Jc1NvbGlkOwotKyAgYm9vbCBtX1RhYmxlc09LOwotIAotICAgdm9p ZCBJbml0U3RydWN0dXJlcygpOwotICAgVUludDMyIFJlYWRCaXRzKHVuc2lnbmVkIG51bUJpdHMp OwotZGlmZiAtLWdpdCBhL0NQUC83emlwL0NvbXByZXNzL1JhcjNEZWNvZGVyLmNwcCBiL0NQUC83 emlwL0NvbXByZXNzL1JhcjNEZWNvZGVyLmNwcAotaW5kZXggM2JmMjUxMy4uNmNiOGE2YSAxMDA2 NDQKLS0tLSBhL0NQUC83emlwL0NvbXByZXNzL1JhcjNEZWNvZGVyLmNwcAotKysrIGIvQ1BQLzd6 aXAvQ29tcHJlc3MvUmFyM0RlY29kZXIuY3BwCi1AQCAtOTIsNyArOTIsOCBAQCBDRGVjb2Rlcjo6 Q0RlY29kZXIoKToKLSAgIF93cml0dGVuRmlsZVNpemUoMCksCi0gICBfdm1EYXRhKDApLAotICAg X3ZtQ29kZSgwKSwKLS0gIG1fSXNTb2xpZChmYWxzZSkKLSsgIG1fSXNTb2xpZChmYWxzZSksCi0r ICBfZXJyb3JNb2RlKGZhbHNlKQotIHsKLSAgIFBwbWQ3X0NvbnN0cnVjdCgmX3BwbWQpOwotIH0K LUBAIC01NDUsNiArNTQ2LDkgQEAgSFJFU1VMVCBDRGVjb2Rlcjo6UmVhZFRhYmxlcyhib29sICZr ZWVwRGVjb21wcmVzc2luZykKLSAgICAgcmV0dXJuIEluaXRQUE0oKTsKLSAgIH0KLSAKLSsgIFRh Ymxlc1JlYWQgPSBmYWxzZTsKLSsgIFRhYmxlc09LID0gZmFsc2U7Ci0rCi0gICBfbHpNb2RlID0g dHJ1ZTsKLSAgIFByZXZBbGlnbkJpdHMgPSAwOwotICAgUHJldkFsaWduQ291bnQgPSAwOwotQEAg LTYwNiw2ICs2MTAsOSBAQCBIUkVTVUxUIENEZWNvZGVyOjpSZWFkVGFibGVzKGJvb2wgJmtlZXBE ZWNvbXByZXNzaW5nKQotICAgICAgIH0KLSAgICAgfQotICAgfQotKyAgaWYgKElucHV0RW9mRXJy b3IoKSkKLSsgICAgcmV0dXJuIFNfRkFMU0U7Ci0rCi0gICBUYWJsZXNSZWFkID0gdHJ1ZTsKLSAK LSAgIC8vIG9yaWdpbmFsIGNvZGUgaGFzIGNoZWNrIGhlcmU6Ci1AQCAtNjIzLDYgKzYzMCw5IEBA IEhSRVNVTFQgQ0RlY29kZXI6OlJlYWRUYWJsZXMoYm9vbCAma2VlcERlY29tcHJlc3NpbmcpCi0g ICBSSUYobV9MZW5EZWNvZGVyLkJ1aWxkKCZuZXdMZXZlbHNba01haW5UYWJsZVNpemUgKyBrRGlz dFRhYmxlU2l6ZSArIGtBbGlnblRhYmxlU2l6ZV0pKTsKLSAKLSAgIG1lbWNweShtX0xhc3RMZXZl bHMsIG5ld0xldmVscywga1RhYmxlc1NpemVzU3VtKTsKLSsKLSsgIFRhYmxlc09LID0gdHJ1ZTsK LSsKLSAgIHJldHVybiBTX09LOwotIH0KLSAKLUBAIC04MjQsNyArODM0LDEyIEBAIEhSRVNVTFQg Q0RlY29kZXI6OkNvZGVSZWFsKElDb21wcmVzc1Byb2dyZXNzSW5mbyAqcHJvZ3Jlc3MpCi0gICAg IFBwbUVzY0NoYXIgPSAyOwotICAgICBQcG1FcnJvciA9IHRydWU7Ci0gICAgIEluaXRGaWx0ZXJz KCk7Ci0rICAgIF9lcnJvck1vZGUgPSBmYWxzZTsKLSAgIH0KLSsKLSsgIGlmIChfZXJyb3JNb2Rl KQotKyAgICByZXR1cm4gU19GQUxTRTsKLSsKLSAgIGlmICghbV9Jc1NvbGlkIHx8ICFUYWJsZXNS ZWFkKQotICAgewotICAgICBib29sIGtlZXBEZWNvbXByZXNzaW5nOwotQEAgLTgzOCw2ICs4NTMs OCBAQCBIUkVTVUxUIENEZWNvZGVyOjpDb2RlUmVhbChJQ29tcHJlc3NQcm9ncmVzc0luZm8gKnBy b2dyZXNzKQotICAgICBib29sIGtlZXBEZWNvbXByZXNzaW5nOwotICAgICBpZiAoX2x6TW9kZSkK LSAgICAgewotKyAgICAgIGlmICghVGFibGVzT0spCi0rICAgICAgICByZXR1cm4gU19GQUxTRTsK LSAgICAgICBSSU5PSyhEZWNvZGVMWihrZWVwRGVjb21wcmVzc2luZykpCi0gICAgIH0KLSAgICAg ZWxzZQotQEAgLTkwMSw4ICs5MTgsOCBAQCBTVERNRVRIT0RJTVAgQ0RlY29kZXI6OkNvZGUoSVNl cXVlbnRpYWxJblN0cmVhbSAqaW5TdHJlYW0sIElTZXF1ZW50aWFsT3V0U3RyZWFtCi0gICAgIF91 bnBhY2tTaXplID0gb3V0U2l6ZSA/ICpvdXRTaXplIDogKFVJbnQ2NCkoSW50NjQpLTE7Ci0gICAg IHJldHVybiBDb2RlUmVhbChwcm9ncmVzcyk7Ci0gICB9Ci0tICBjYXRjaChjb25zdCBDSW5CdWZm ZXJFeGNlcHRpb24gJmUpICB7IHJldHVybiBlLkVycm9yQ29kZTsgfQotLSAgY2F0Y2goLi4uKSB7 IHJldHVybiBTX0ZBTFNFOyB9Ci0rICBjYXRjaChjb25zdCBDSW5CdWZmZXJFeGNlcHRpb24gJmUp ICB7IF9lcnJvck1vZGUgPSB0cnVlOyByZXR1cm4gZS5FcnJvckNvZGU7IH0KLSsgIGNhdGNoKC4u LikgeyBfZXJyb3JNb2RlID0gdHJ1ZTsgcmV0dXJuIFNfRkFMU0U7IH0KLSAgIC8vIENOZXdFeGNl cHRpb24gaXMgcG9zc2libGUgaGVyZS4gQnV0IHByb2JhYmx5IENOZXdFeGNlcHRpb24gaXMgY2F1 c2VkCi0gICAvLyBieSBlcnJvciBpbiBkYXRhIHN0cmVhbS4KLSB9Ci1kaWZmIC0tZ2l0IGEvQ1BQ Lzd6aXAvQ29tcHJlc3MvUmFyM0RlY29kZXIuaCBiL0NQUC83emlwL0NvbXByZXNzL1JhcjNEZWNv ZGVyLmgKLWluZGV4IGMxMzBjZWMuLjJmNzJkN2QgMTAwNjQ0Ci0tLS0gYS9DUFAvN3ppcC9Db21w cmVzcy9SYXIzRGVjb2Rlci5oCi0rKysgYi9DUFAvN3ppcC9Db21wcmVzcy9SYXIzRGVjb2Rlci5o Ci1AQCAtMTkyLDYgKzE5Miw3IEBAIGNsYXNzIENEZWNvZGVyOgotICAgVUludDMyIF9sYXN0Rmls dGVyOwotIAotICAgYm9vbCBtX0lzU29saWQ7Ci0rICBib29sIF9lcnJvck1vZGU7Ci0gCi0gICBi b29sIF9sek1vZGU7Ci0gICBib29sIF91bnN1cHBvcnRlZEZpbHRlcjsKLUBAIC0yMDAsNiArMjAx LDcgQEAgY2xhc3MgQ0RlY29kZXI6Ci0gICBVSW50MzIgUHJldkFsaWduQ291bnQ7Ci0gCi0gICBi b29sIFRhYmxlc1JlYWQ7Ci0rICBib29sIFRhYmxlc09LOwotIAotICAgQ1BwbWQ3IF9wcG1kOwot ICAgaW50IFBwbUVzY0NoYXI7CmRpZmYgLS1naXQgYS9zcmNwa2dzL3A3emlwL3BhdGNoZXMvMzAt Q1ZFLTIwMTgtMTAxMTUucGF0Y2ggYi9zcmNwa2dzL3A3emlwL3BhdGNoZXMvMzAtQ1ZFLTIwMTgt MTAxMTUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdkOWM0YmY4MWYwMC4u MDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvcDd6aXAvcGF0Y2hlcy8zMC1DVkUtMjAxOC0xMDEx NS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMxMSArMCwwIEBACi1Gcm9tOiBSb2JlcnQgTHVi ZXJkYSA8cm9iZXJ0QGRlYmlhbi5vcmc+Ci1EYXRlOiBUdWUsIDI5IE1heSAyMDE4IDIzOjU5OjA5 ICswMjAwCi1TdWJqZWN0OiBGaXggQ1ZFLTIwMTgtMTAxMTUKLQotQXBwbHkgInBhdGNoIiB0YWtl biBmcm9tIGh0dHBzOi8vbGFuZGF2ZS5pby9maWxlcy9wYXRjaF83emlwX0NWRS0yMDE4LTEwMTE1 LnR4dAotCi0KLUJ1Z3MtRGViaWFuOiBodHRwczovL2J1Z3MuZGViaWFuLm9yZy84OTc2NzQKLS0t LQotIENQUC83emlwL0NvbXByZXNzL1JhcjFEZWNvZGVyLmNwcCB8IDE2ICsrKysrKysrKysrLS0t LS0KLSBDUFAvN3ppcC9Db21wcmVzcy9SYXIxRGVjb2Rlci5oICAgfCAgMyArKy0KLSBDUFAvN3pp cC9Db21wcmVzcy9SYXIyRGVjb2Rlci5jcHAgfCAxNyArKysrKysrKysrKysrLS0tLQotIENQUC83 emlwL0NvbXByZXNzL1JhcjJEZWNvZGVyLmggICB8ICAzICsrLQotIENQUC83emlwL0NvbXByZXNz L1JhcjNEZWNvZGVyLmNwcCB8IDE5ICsrKysrKysrKysrKysrKy0tLS0KLSBDUFAvN3ppcC9Db21w cmVzcy9SYXIzRGVjb2Rlci5oICAgfCAgMyArKy0KLSBDUFAvN3ppcC9Db21wcmVzcy9SYXI1RGVj b2Rlci5jcHAgfCAgOCArKysrKysrKwotIENQUC83emlwL0NvbXByZXNzL1JhcjVEZWNvZGVyLmgg ICB8ICAxICsKLSA4IGZpbGVzIGNoYW5nZWQsIDU0IGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9u cygtKQotCi1kaWZmIC0tZ2l0IGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMURlY29kZXIuY3BwIGIv Q1BQLzd6aXAvQ29tcHJlc3MvUmFyMURlY29kZXIuY3BwCi1pbmRleCA2ODAzMGM3Li44Yzg5MGM4 IDEwMDY0NAotLS0tIGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMURlY29kZXIuY3BwCi0rKysgYi9D UFAvN3ppcC9Db21wcmVzcy9SYXIxRGVjb2Rlci5jcHAKLUBAIC0yOSw3ICsyOSw3IEBAIHB1Ymxp YzoKLSB9OwotICovCi0gCi0tQ0RlY29kZXI6OkNEZWNvZGVyKCk6IG1fSXNTb2xpZChmYWxzZSks IF9lcnJvck1vZGUoZmFsc2UpIHsgfQotK0NEZWNvZGVyOjpDRGVjb2RlcigpOiBfaXNTb2xpZChm YWxzZSksIF9zb2xpZEFsbG93ZWQoZmFsc2UpLCBfZXJyb3JNb2RlKGZhbHNlKSB7IH0KLSAKLSB2 b2lkIENEZWNvZGVyOjpJbml0U3RydWN0dXJlcygpCi0gewotQEAgLTM0NSw3ICszNDUsNyBAQCB2 b2lkIENEZWNvZGVyOjpHZXRGbGFnc0J1ZigpCi0gCi0gdm9pZCBDRGVjb2Rlcjo6SW5pdERhdGEo KQotIHsKLS0gIGlmICghbV9Jc1NvbGlkKQotKyAgaWYgKCFfaXNTb2xpZCkKLSAgIHsKLSAgICAg QXZyUGxjQiA9IEF2ckxuMSA9IEF2ckxuMiA9IEF2ckxuMyA9IE51bUh1ZiA9IEJ1ZjYwID0gMDsK LSAgICAgQXZyUGxjID0gMHgzNTAwOwotQEAgLTM5MSw2ICszOTEsMTEgQEAgSFJFU1VMVCBDRGVj b2Rlcjo6Q29kZVJlYWwoSVNlcXVlbnRpYWxJblN0cmVhbSAqaW5TdHJlYW0sIElTZXF1ZW50aWFs T3V0U3RyZWFtICoKLSAgIGlmIChpblNpemUgPT0gTlVMTCB8fCBvdXRTaXplID09IE5VTEwpCi0g ICAgIHJldHVybiBFX0lOVkFMSURBUkc7Ci0gCi0rICBpZiAoX2lzU29saWQgJiYgIV9zb2xpZEFs bG93ZWQpCi0rICAgIHJldHVybiBTX0ZBTFNFOwotKwotKyAgX3NvbGlkQWxsb3dlZCA9IGZhbHNl OwotKwotICAgaWYgKCFtX091dFdpbmRvd1N0cmVhbS5DcmVhdGUoa0hpc3RvcnlTaXplKSkKLSAg ICAgcmV0dXJuIEVfT1VUT0ZNRU1PUlk7Ci0gICBpZiAoIW1fSW5CaXRTdHJlYW0uQ3JlYXRlKDEg PDwgMjApKQotQEAgLTM5OCwxMyArNDAzLDEzIEBAIEhSRVNVTFQgQ0RlY29kZXI6OkNvZGVSZWFs KElTZXF1ZW50aWFsSW5TdHJlYW0gKmluU3RyZWFtLCBJU2VxdWVudGlhbE91dFN0cmVhbSAqCi0g Ci0gICBtX1VucGFja1NpemUgPSAoSW50NjQpKm91dFNpemU7Ci0gICBtX091dFdpbmRvd1N0cmVh bS5TZXRTdHJlYW0ob3V0U3RyZWFtKTsKLS0gIG1fT3V0V2luZG93U3RyZWFtLkluaXQobV9Jc1Nv bGlkKTsKLSsgIG1fT3V0V2luZG93U3RyZWFtLkluaXQoX2lzU29saWQpOwotICAgbV9JbkJpdFN0 cmVhbS5TZXRTdHJlYW0oaW5TdHJlYW0pOwotICAgbV9JbkJpdFN0cmVhbS5Jbml0KCk7Ci0gCi0g ICAvLyBDQ29kZXJSZWxlYXNlciBjb2RlclJlbGVhc2VyKHRoaXMpOwotICAgSW5pdERhdGEoKTsK LS0gIGlmICghbV9Jc1NvbGlkKQotKyAgaWYgKCFfaXNTb2xpZCkKLSAgIHsKLSAgICAgX2Vycm9y TW9kZSA9IGZhbHNlOwotICAgICBJbml0U3RydWN0dXJlcygpOwotQEAgLTQ3NSw2ICs0ODAsNyBA QCBIUkVTVUxUIENEZWNvZGVyOjpDb2RlUmVhbChJU2VxdWVudGlhbEluU3RyZWFtICppblN0cmVh bSwgSVNlcXVlbnRpYWxPdXRTdHJlYW0gKgotICAgfQotICAgaWYgKG1fVW5wYWNrU2l6ZSA8IDAp Ci0gICAgIHJldHVybiBTX0ZBTFNFOwotKyAgX3NvbGlkQWxsb3dlZCA9IHRydWU7Ci0gICByZXR1 cm4gbV9PdXRXaW5kb3dTdHJlYW0uRmx1c2goKTsKLSB9Ci0gCi1AQCAtNDkxLDcgKzQ5Nyw3IEBA IFNURE1FVEhPRElNUCBDRGVjb2Rlcjo6U2V0RGVjb2RlclByb3BlcnRpZXMyKGNvbnN0IEJ5dGUg KmRhdGEsIFVJbnQzMiBzaXplKQotIHsKLSAgIGlmIChzaXplIDwgMSkKLSAgICAgcmV0dXJuIEVf SU5WQUxJREFSRzsKLS0gIG1fSXNTb2xpZCA9ICgoZGF0YVswXSAmIDEpICE9IDApOwotKyAgX2lz U29saWQgPSAoKGRhdGFbMF0gJiAxKSAhPSAwKTsKLSAgIHJldHVybiBTX09LOwotIH0KLSAKLWRp ZmYgLS1naXQgYS9DUFAvN3ppcC9Db21wcmVzcy9SYXIxRGVjb2Rlci5oIGIvQ1BQLzd6aXAvQ29t cHJlc3MvUmFyMURlY29kZXIuaAotaW5kZXggMDFiNjA2Yi4uOGFiYjNhMyAxMDA2NDQKLS0tLSBh L0NQUC83emlwL0NvbXByZXNzL1JhcjFEZWNvZGVyLmgKLSsrKyBiL0NQUC83emlwL0NvbXByZXNz L1JhcjFEZWNvZGVyLmgKLUBAIC0zOCw3ICszOCw4IEBAIHB1YmxpYzoKLSAgIFVJbnQzMiBMYXN0 TGVuZ3RoOwotIAotICAgSW50NjQgbV9VbnBhY2tTaXplOwotLSAgYm9vbCBtX0lzU29saWQ7Ci0r ICBib29sIF9pc1NvbGlkOwotKyAgYm9vbCBfc29saWRBbGxvd2VkOwotICAgYm9vbCBfZXJyb3JN b2RlOwotIAotICAgVUludDMyIFJlYWRCaXRzKGludCBudW1CaXRzKTsKLWRpZmYgLS1naXQgYS9D UFAvN3ppcC9Db21wcmVzcy9SYXIyRGVjb2Rlci5jcHAgYi9DUFAvN3ppcC9Db21wcmVzcy9SYXIy RGVjb2Rlci5jcHAKLWluZGV4IDA1ODBjOGQuLmJlOGQ4NDIgMTAwNjQ0Ci0tLS0gYS9DUFAvN3pp cC9Db21wcmVzcy9SYXIyRGVjb2Rlci5jcHAKLSsrKyBiL0NQUC83emlwL0NvbXByZXNzL1JhcjJE ZWNvZGVyLmNwcAotQEAgLTgwLDcgKzgwLDggQEAgc3RhdGljIGNvbnN0IFVJbnQzMiBrSGlzdG9y eVNpemUgPSAxIDw8IDIwOwotIHN0YXRpYyBjb25zdCBVSW50MzIga1dpbmRvd1Jlc2VydlNpemUg PSAoMSA8PCAyMikgKyAyNTY7Ci0gCi0gQ0RlY29kZXI6OkNEZWNvZGVyKCk6Ci0tICBtX0lzU29s aWQoZmFsc2UpLAotKyAgX2lzU29saWQoZmFsc2UpLAotKyAgX3NvbGlkQWxsb3dlZChmYWxzZSks Ci0gICBtX1RhYmxlc09LKGZhbHNlKQotIHsKLSB9Ci1AQCAtMzIwLDYgKzMyMSwxMCBAQCBIUkVT VUxUIENEZWNvZGVyOjpDb2RlUmVhbChJU2VxdWVudGlhbEluU3RyZWFtICppblN0cmVhbSwgSVNl cXVlbnRpYWxPdXRTdHJlYW0gKgotICAgaWYgKGluU2l6ZSA9PSBOVUxMIHx8IG91dFNpemUgPT0g TlVMTCkKLSAgICAgcmV0dXJuIEVfSU5WQUxJREFSRzsKLSAKLSsgIGlmIChfaXNTb2xpZCAmJiAh X3NvbGlkQWxsb3dlZCkKLSsgICAgcmV0dXJuIFNfRkFMU0U7Ci0rICBfc29saWRBbGxvd2VkID0g ZmFsc2U7Ci0rCi0gICBpZiAoIW1fT3V0V2luZG93U3RyZWFtLkNyZWF0ZShrSGlzdG9yeVNpemUp KQotICAgICByZXR1cm4gRV9PVVRPRk1FTU9SWTsKLSAgIGlmICghbV9JbkJpdFN0cmVhbS5DcmVh dGUoMSA8PCAyMCkpCi1AQCAtMzMwLDEyICszMzUsMTIgQEAgSFJFU1VMVCBDRGVjb2Rlcjo6Q29k ZVJlYWwoSVNlcXVlbnRpYWxJblN0cmVhbSAqaW5TdHJlYW0sIElTZXF1ZW50aWFsT3V0U3RyZWFt ICoKLSAgIFVJbnQ2NCBwb3MgPSAwLCB1blBhY2tTaXplID0gKm91dFNpemU7Ci0gICAKLSAgIG1f T3V0V2luZG93U3RyZWFtLlNldFN0cmVhbShvdXRTdHJlYW0pOwotLSAgbV9PdXRXaW5kb3dTdHJl YW0uSW5pdChtX0lzU29saWQpOwotKyAgbV9PdXRXaW5kb3dTdHJlYW0uSW5pdChfaXNTb2xpZCk7 Ci0gICBtX0luQml0U3RyZWFtLlNldFN0cmVhbShpblN0cmVhbSk7Ci0gICBtX0luQml0U3RyZWFt LkluaXQoKTsKLSAKLSAgIC8vIENDb2RlclJlbGVhc2VyIGNvZGVyUmVsZWFzZXIodGhpcyk7Ci0t ICBpZiAoIW1fSXNTb2xpZCkKLSsgIGlmICghX2lzU29saWQpCi0gICB7Ci0gICAgIEluaXRTdHJ1 Y3R1cmVzKCk7Ci0gICAgIGlmICh1blBhY2tTaXplID09IDApCi1AQCAtMzQzLDYgKzM0OCw3IEBA IEhSRVNVTFQgQ0RlY29kZXI6OkNvZGVSZWFsKElTZXF1ZW50aWFsSW5TdHJlYW0gKmluU3RyZWFt LCBJU2VxdWVudGlhbE91dFN0cmVhbSAqCi0gICAgICAgaWYgKG1fSW5CaXRTdHJlYW0uR2V0UHJv Y2Vzc2VkU2l6ZSgpICsgMiA8PSBtX1BhY2tTaXplKSAvLyB0ZXN0IGl0OiBwcm9iYWJseSBpbmNv cnJlY3Q7Ci0gICAgICAgICBpZiAoIVJlYWRUYWJsZXMoKSkKLSAgICAgICAgICAgcmV0dXJuIFNf RkFMU0U7Ci0rICAgICAgX3NvbGlkQWxsb3dlZCA9IHRydWU7Ci0gICAgICAgcmV0dXJuIFNfT0s7 Ci0gICAgIH0KLSAgICAgaWYgKCFSZWFkVGFibGVzKCkpCi1AQCAtMzg2LDYgKzM5Miw5IEBAIEhS RVNVTFQgQ0RlY29kZXI6OkNvZGVSZWFsKElTZXF1ZW50aWFsSW5TdHJlYW0gKmluU3RyZWFtLCBJ U2VxdWVudGlhbE91dFN0cmVhbSAqCi0gCi0gICBpZiAoIVJlYWRMYXN0VGFibGVzKCkpCi0gICAg IHJldHVybiBTX0ZBTFNFOwotKwotKyAgX3NvbGlkQWxsb3dlZCA9IHRydWU7Ci0rCi0gICByZXR1 cm4gbV9PdXRXaW5kb3dTdHJlYW0uRmx1c2goKTsKLSB9Ci0gCi1AQCAtNDAyLDcgKzQxMSw3IEBA IFNURE1FVEhPRElNUCBDRGVjb2Rlcjo6U2V0RGVjb2RlclByb3BlcnRpZXMyKGNvbnN0IEJ5dGUg KmRhdGEsIFVJbnQzMiBzaXplKQotIHsKLSAgIGlmIChzaXplIDwgMSkKLSAgICAgcmV0dXJuIEVf SU5WQUxJREFSRzsKLS0gIG1fSXNTb2xpZCA9ICgoZGF0YVswXSAmIDEpICE9IDApOwotKyAgX2lz U29saWQgPSAoKGRhdGFbMF0gJiAxKSAhPSAwKTsKLSAgIHJldHVybiBTX09LOwotIH0KLSAKLWRp ZmYgLS1naXQgYS9DUFAvN3ppcC9Db21wcmVzcy9SYXIyRGVjb2Rlci5oIGIvQ1BQLzd6aXAvQ29t cHJlc3MvUmFyMkRlY29kZXIuaAotaW5kZXggMGU5MDA1Zi4uMzcwYmNlMiAxMDA2NDQKLS0tLSBh L0NQUC83emlwL0NvbXByZXNzL1JhcjJEZWNvZGVyLmgKLSsrKyBiL0NQUC83emlwL0NvbXByZXNz L1JhcjJEZWNvZGVyLmgKLUBAIC0xMzgsNyArMTM4LDggQEAgY2xhc3MgQ0RlY29kZXIgOgotICAg Qnl0ZSBtX0xhc3RMZXZlbHNba01heFRhYmxlU2l6ZV07Ci0gCi0gICBVSW50NjQgbV9QYWNrU2l6 ZTsKLS0gIGJvb2wgbV9Jc1NvbGlkOwotKyAgYm9vbCBfaXNTb2xpZDsKLSsgIGJvb2wgX3NvbGlk QWxsb3dlZDsKLSAgIGJvb2wgbV9UYWJsZXNPSzsKLSAKLSAgIHZvaWQgSW5pdFN0cnVjdHVyZXMo KTsKLWRpZmYgLS1naXQgYS9DUFAvN3ppcC9Db21wcmVzcy9SYXIzRGVjb2Rlci5jcHAgYi9DUFAv N3ppcC9Db21wcmVzcy9SYXIzRGVjb2Rlci5jcHAKLWluZGV4IDZjYjhhNmEuLjdiODU4MzMgMTAw NjQ0Ci0tLS0gYS9DUFAvN3ppcC9Db21wcmVzcy9SYXIzRGVjb2Rlci5jcHAKLSsrKyBiL0NQUC83 emlwL0NvbXByZXNzL1JhcjNEZWNvZGVyLmNwcAotQEAgLTkyLDcgKzkyLDggQEAgQ0RlY29kZXI6 OkNEZWNvZGVyKCk6Ci0gICBfd3JpdHRlbkZpbGVTaXplKDApLAotICAgX3ZtRGF0YSgwKSwKLSAg IF92bUNvZGUoMCksCi0tICBtX0lzU29saWQoZmFsc2UpLAotKyAgX2lzU29saWQoZmFsc2UpLAot KyAgX3NvbGlkQWxsb3dlZChmYWxzZSksCi0gICBfZXJyb3JNb2RlKGZhbHNlKQotIHsKLSAgIFBw bWQ3X0NvbnN0cnVjdCgmX3BwbWQpOwotQEAgLTgyMSw3ICs4MjIsNyBAQCBIUkVTVUxUIENEZWNv ZGVyOjpDb2RlUmVhbChJQ29tcHJlc3NQcm9ncmVzc0luZm8gKnByb2dyZXNzKQotIHsKLSAgIF93 cml0dGVuRmlsZVNpemUgPSAwOwotICAgX3Vuc3VwcG9ydGVkRmlsdGVyID0gZmFsc2U7Ci0tICBp ZiAoIW1fSXNTb2xpZCkKLSsgIGlmICghX2lzU29saWQpCi0gICB7Ci0gICAgIF9selNpemUgPSAw OwotICAgICBfd2luUG9zID0gMDsKLUBAIC04NDAsMTIgKzg0MSwxNSBAQCBIUkVTVUxUIENEZWNv ZGVyOjpDb2RlUmVhbChJQ29tcHJlc3NQcm9ncmVzc0luZm8gKnByb2dyZXNzKQotICAgaWYgKF9l cnJvck1vZGUpCi0gICAgIHJldHVybiBTX0ZBTFNFOwotIAotLSAgaWYgKCFtX0lzU29saWQgfHwg IVRhYmxlc1JlYWQpCi0rICBpZiAoIV9pc1NvbGlkIHx8ICFUYWJsZXNSZWFkKQotICAgewotICAg ICBib29sIGtlZXBEZWNvbXByZXNzaW5nOwotICAgICBSSU5PSyhSZWFkVGFibGVzKGtlZXBEZWNv bXByZXNzaW5nKSk7Ci0gICAgIGlmICgha2VlcERlY29tcHJlc3NpbmcpCi0rICAgIHsKLSsgICAg ICBfc29saWRBbGxvd2VkID0gdHJ1ZTsKLSAgICAgICByZXR1cm4gU19PSzsKLSsgICAgfQotICAg fQotIAotICAgZm9yICg7OykKLUBAIC04NzAsNiArODc0LDkgQEAgSFJFU1VMVCBDRGVjb2Rlcjo6 Q29kZVJlYWwoSUNvbXByZXNzUHJvZ3Jlc3NJbmZvICpwcm9ncmVzcykKLSAgICAgaWYgKCFrZWVw RGVjb21wcmVzc2luZykKLSAgICAgICBicmVhazsKLSAgIH0KLSsKLSsgIF9zb2xpZEFsbG93ZWQg PSB0cnVlOwotKwotICAgUklOT0soV3JpdGVCdWYoKSk7Ci0gICBVSW50NjQgcGFja1NpemUgPSBt X0luQml0U3RyZWFtLkJpdERlY29kZXIuR2V0UHJvY2Vzc2VkU2l6ZSgpOwotICAgUklOT0socHJv Z3Jlc3MtPlNldFJhdGlvSW5mbygmcGFja1NpemUsICZfd3JpdHRlbkZpbGVTaXplKSk7Ci1AQCAt ODkwLDYgKzg5NywxMCBAQCBTVERNRVRIT0RJTVAgQ0RlY29kZXI6OkNvZGUoSVNlcXVlbnRpYWxJ blN0cmVhbSAqaW5TdHJlYW0sIElTZXF1ZW50aWFsT3V0U3RyZWFtCi0gICAgIGlmICghaW5TaXpl KQotICAgICAgIHJldHVybiBFX0lOVkFMSURBUkc7Ci0gCi0rICAgIGlmIChfaXNTb2xpZCAmJiAh X3NvbGlkQWxsb3dlZCkKLSsgICAgICByZXR1cm4gU19GQUxTRTsKLSsgICAgX3NvbGlkQWxsb3dl ZCA9IGZhbHNlOwotKwotICAgICBpZiAoIV92bURhdGEpCi0gICAgIHsKLSAgICAgICBfdm1EYXRh ID0gKEJ5dGUgKik6Ok1pZEFsbG9jKGtWbURhdGFTaXplTWF4ICsga1ZtQ29kZVNpemVNYXgpOwot QEAgLTkyOCw3ICs5MzksNyBAQCBTVERNRVRIT0RJTVAgQ0RlY29kZXI6OlNldERlY29kZXJQcm9w ZXJ0aWVzMihjb25zdCBCeXRlICpkYXRhLCBVSW50MzIgc2l6ZSkKLSB7Ci0gICBpZiAoc2l6ZSA8 IDEpCi0gICAgIHJldHVybiBFX0lOVkFMSURBUkc7Ci0tICBtX0lzU29saWQgPSAoKGRhdGFbMF0g JiAxKSAhPSAwKTsKLSsgIF9pc1NvbGlkID0gKChkYXRhWzBdICYgMSkgIT0gMCk7Ci0gICByZXR1 cm4gU19PSzsKLSB9Ci0gCi1kaWZmIC0tZ2l0IGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyM0RlY29k ZXIuaCBiL0NQUC83emlwL0NvbXByZXNzL1JhcjNEZWNvZGVyLmgKLWluZGV4IDJmNzJkN2QuLjMy Yzg5NDMgMTAwNjQ0Ci0tLS0gYS9DUFAvN3ppcC9Db21wcmVzcy9SYXIzRGVjb2Rlci5oCi0rKysg Yi9DUFAvN3ppcC9Db21wcmVzcy9SYXIzRGVjb2Rlci5oCi1AQCAtMTkxLDcgKzE5MSw4IEBAIGNs YXNzIENEZWNvZGVyOgotICAgQ1JlY29yZFZlY3RvcjxDVGVtcEZpbHRlciAqPiAgX3RlbXBGaWx0 ZXJzOwotICAgVUludDMyIF9sYXN0RmlsdGVyOwotIAotLSAgYm9vbCBtX0lzU29saWQ7Ci0rICBi b29sIF9pc1NvbGlkOwotKyAgYm9vbCBfc29saWRBbGxvd2VkOwotICAgYm9vbCBfZXJyb3JNb2Rl OwotIAotICAgYm9vbCBfbHpNb2RlOwotZGlmZiAtLWdpdCBhL0NQUC83emlwL0NvbXByZXNzL1Jh cjVEZWNvZGVyLmNwcCBiL0NQUC83emlwL0NvbXByZXNzL1JhcjVEZWNvZGVyLmNwcAotaW5kZXgg ZGM4ODMwZi4uYTgyNmQ1YSAxMDA2NDQKLS0tLSBhL0NQUC83emlwL0NvbXByZXNzL1JhcjVEZWNv ZGVyLmNwcAotKysrIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyNURlY29kZXIuY3BwCi1AQCAtNzIs NiArNzIsNyBAQCBDRGVjb2Rlcjo6Q0RlY29kZXIoKToKLSAgICAgX3dyaXR0ZW5GaWxlU2l6ZSgw KSwKLSAgICAgX2RpY3RTaXplTG9nKDApLAotICAgICBfaXNTb2xpZChmYWxzZSksCi0rICAgIF9z b2xpZEFsbG93ZWQoZmFsc2UpLAotICAgICBfd2FzSW5pdChmYWxzZSksCi0gICAgIF9pbnB1dEJ1 ZihOVUxMKQotIHsKLUBAIC04MDEsNyArODAyLDEwIEBAIEhSRVNVTFQgQ0RlY29kZXI6OkNvZGVS ZWFsKCkKLSAgICovCi0gCi0gICBpZiAocmVzID09IFNfT0spCi0rICB7Ci0rICAgIF9zb2xpZEFs bG93ZWQgPSB0cnVlOwotICAgICByZXMgPSByZXMyOwotKyAgfQotICAgICAgCi0gICBpZiAocmVz ID09IFNfT0sgJiYgX3VucGFja1NpemVfRGVmaW5lZCAmJiBfd3JpdHRlbkZpbGVTaXplICE9IF91 bnBhY2tTaXplKQotICAgICByZXR1cm4gU19GQUxTRTsKLUBAIC04MjEsNiArODI1LDEwIEBAIFNU RE1FVEhPRElNUCBDRGVjb2Rlcjo6Q29kZShJU2VxdWVudGlhbEluU3RyZWFtICppblN0cmVhbSwg SVNlcXVlbnRpYWxPdXRTdHJlYW0KLSB7Ci0gICB0cnkKLSAgIHsKLSsgICAgaWYgKF9pc1NvbGlk ICYmICFfc29saWRBbGxvd2VkKQotKyAgICAgIHJldHVybiBTX0ZBTFNFOwotKyAgICBfc29saWRB bGxvd2VkID0gZmFsc2U7Ci0rCi0gICAgIGlmIChfZGljdFNpemVMb2cgPj0gc2l6ZW9mKHNpemVf dCkgKiA4KQotICAgICAgIHJldHVybiBFX05PVElNUEw7Ci0gCi1kaWZmIC0tZ2l0IGEvQ1BQLzd6 aXAvQ29tcHJlc3MvUmFyNURlY29kZXIuaCBiL0NQUC83emlwL0NvbXByZXNzL1JhcjVEZWNvZGVy LmgKLWluZGV4IGIwYTRkZDEuLjNkYjUwMTggMTAwNjQ0Ci0tLS0gYS9DUFAvN3ppcC9Db21wcmVz cy9SYXI1RGVjb2Rlci5oCi0rKysgYi9DUFAvN3ppcC9Db21wcmVzcy9SYXI1RGVjb2Rlci5oCi1A QCAtMjcxLDYgKzI3MSw3IEBAIGNsYXNzIENEZWNvZGVyOgotICAgQnl0ZSBfZGljdFNpemVMb2c7 Ci0gICBib29sIF90YWJsZVdhc0ZpbGxlZDsKLSAgIGJvb2wgX2lzU29saWQ7Ci0rICBib29sIF9z b2xpZEFsbG93ZWQ7Ci0gICBib29sIF93YXNJbml0OwotIAotICAgVUludDMyIF9yZXBzW2tOdW1S ZXBzXTsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcDd6aXAvcGF0Y2hlcy9DVkUtMjAxNi05Mjk2LnBh dGNoIGIvc3JjcGtncy9wN3ppcC9wYXRjaGVzL0NWRS0yMDE2LTkyOTYucGF0Y2gKZGVsZXRlZCBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZiYmIzMzc3MzdlNS4uMDAwMDAwMDAwMDAwCi0tLSBhL3Ny Y3BrZ3MvcDd6aXAvcGF0Y2hlcy9DVkUtMjAxNi05Mjk2LnBhdGNoCisrKyAvZGV2L251bGwKQEAg LTEsMTIgKzAsMCBAQAotLS0tIGEvQ1BQLzd6aXAvQXJjaGl2ZS83ei83ekluLmNwcAlTdW4gTm92 IDIwIDA5OjI5OjQxIDIwMTYKLSsrKyBiL0NQUC83emlwL0FyY2hpdmUvN3ovN3pJbi5jcHAJU3Vu IE5vdiAyMCAwOTozMToyMiAyMDE2Ci1AQCAtMTA5Nyw3ICsxMDk3LDggQEAgSFJFU1VMVCBDSW5B cmNoaXZlOjpSZWFkQW5kRGVjb2RlUGFja2VkU3RyZWFtcygKLSAgICAgICBpZiAoQ3JjQ2FsYyhk YXRhLCB1bnBhY2tTaXplKSAhPSBmb2xkZXJzLkZvbGRlckNSQ3MuVmFsc1tpXSkKLSAgICAgICAg IFRocm93SW5jb3JyZWN0KCk7Ci0gICB9Ci0tICBIZWFkZXJzU2l6ZSArPSBmb2xkZXJzLlBhY2tQ b3NpdGlvbnNbZm9sZGVycy5OdW1QYWNrU3RyZWFtc107Ci0rICBpZiAoZm9sZGVycy5QYWNrUG9z aXRpb25zKQotKyAgICAgIEhlYWRlcnNTaXplICs9IGZvbGRlcnMuUGFja1Bvc2l0aW9uc1tmb2xk ZXJzLk51bVBhY2tTdHJlYW1zXTsKLSAgIHJldHVybiBTX09LOwotIH0KLSAKZGlmZiAtLWdpdCBh L3NyY3BrZ3MvcDd6aXAvcGF0Y2hlcy9DVkUtMjAxNy0xNzk2OS5wYXRjaCBiL3NyY3BrZ3MvcDd6 aXAvcGF0Y2hlcy9DVkUtMjAxNy0xNzk2OS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggOWE4MjBhZjczMDY3Li4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9wN3ppcC9wYXRj aGVzL0NWRS0yMDE3LTE3OTY5LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjYgKzAsMCBAQAot RnJvbTogPT91dGYtOD9xP0FudG9pbmVfQmVhdXByPUMzPUE5Pz0gPGFuYXJjYXRAZGViaWFuLm9y Zz4KLURhdGU6IFN1biwgMjggSmFuIDIwMTggMjE6MTk6NTAgKzAxMDAKLVN1YmplY3Q6IGJhY2tw b3J0IG9mIHRoZSBDVkUtMjAxNy0xNzk2OSBmaXggZnJvbSA3emlwIDE4LjAwLWJldGEKLQotLS0t Ci0gQ1BQLzd6aXAvQ29tcHJlc3MvU2hyaW5rRGVjb2Rlci5jcHAgfCA3ICsrKysrKy0KLSAxIGZp bGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQg YS9DUFAvN3ppcC9Db21wcmVzcy9TaHJpbmtEZWNvZGVyLmNwcCBiL0NQUC83emlwL0NvbXByZXNz L1Nocmlua0RlY29kZXIuY3BwCi1pbmRleCA4MGI3ZTY3Li40YWNkY2U1IDEwMDY0NAotLS0tIGEv Q1BQLzd6aXAvQ29tcHJlc3MvU2hyaW5rRGVjb2Rlci5jcHAKLSsrKyBiL0NQUC83emlwL0NvbXBy ZXNzL1Nocmlua0RlY29kZXIuY3BwCi1AQCAtMTIxLDcgKzEyMSwxMiBAQCBIUkVTVUxUIENEZWNv ZGVyOjpDb2RlUmVhbChJU2VxdWVudGlhbEluU3RyZWFtICppblN0cmVhbSwgSVNlcXVlbnRpYWxP dXRTdHJlYW0gKgotICAgICB7Ci0gICAgICAgX3N0YWNrW2krK10gPSBfc3VmZml4ZXNbY3VyXTsK LSAgICAgICBjdXIgPSBfcGFyZW50c1tjdXJdOwotLSAgICB9Ci0rICAgICAgaWYgKGkgPj0ga051 bUl0ZW1zKQotKyAgICAgICAgYnJlYWs7Ci0rICAgICB9Ci0rCi0rICAgIGlmIChpID49IGtOdW1J dGVtcykKLSsgICAgICBicmVhazsKLSAgICAgCi0gICAgIF9zdGFja1tpKytdID0gKEJ5dGUpY3Vy OwotICAgICBsYXN0Q2hhcjIgPSAoQnl0ZSljdXI7CmRpZmYgLS1naXQgYS9zcmNwa2dzL3A3emlw L3RlbXBsYXRlIGIvc3JjcGtncy9wN3ppcC90ZW1wbGF0ZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggNjQyZTI0YWRhZjUyLi4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9wN3ppcC90 ZW1wbGF0ZQorKysgL2Rldi9udWxsCkBAIC0xLDQ3ICswLDAgQEAKLSMgVGVtcGxhdGUgZmlsZSBm b3IgJ3A3emlwJwotcGtnbmFtZT1wN3ppcAotdmVyc2lvbj0xNi4wMgotcmV2aXNpb249NQotd3Jr c3JjPSIke3BrZ25hbWV9XyR7dmVyc2lvbn0iCi1ob3N0bWFrZWRlcGVuZHM9Inlhc20gbmFzbSIK LXNob3J0X2Rlc2M9IkNvbW1hbmQtbGluZSB2ZXJzaW9uIG9mIHRoZSA3emlwIGNvbXByZXNzZWQg ZmlsZSBhcmNoaXZlIgotbWFpbnRhaW5lcj0iT3JwaGFuZWQgPG9ycGhhbkB2b2lkbGludXgub3Jn PiIKLWxpY2Vuc2U9IkxHUEwtMi4xLW9yLWxhdGVyIgotaG9tZXBhZ2U9Imh0dHA6Ly9wN3ppcC5z b3VyY2Vmb3JnZS5uZXQvIgotZGlzdGZpbGVzPSIke1NPVVJDRUZPUkdFX1NJVEV9LyR7cGtnbmFt ZX0vJHtwa2duYW1lfV8ke3ZlcnNpb259X3NyY19hbGwudGFyLmJ6MiIKLWNoZWNrc3VtPTVlYjIw YWMwZTI5NDRmNmNiOWMyZDUxZGQ2YzQ1MTg5NDFjMTg1MzQ3ZDQwODllYTg5MDg3ZmZkZDZlMjM0 MWYKLQotQ1hYRkxBR1M9Ii1Xbm8tbmFycm93aW5nIgotCi1kb19jb25maWd1cmUoKSB7Ci0JY2Fz ZSAiJFhCUFNfVEFSR0VUX01BQ0hJTkUiIGluCi0JCWk2ODYqKSBjcCBtYWtlZmlsZS5saW51eF94 ODZfYXNtX2djY180LlggbWFrZWZpbGUubWFjaGluZTs7Ci0JCXg4Nl82NCopIGNwIG1ha2VmaWxl LmxpbnV4X2FtZDY0X2FzbSBtYWtlZmlsZS5tYWNoaW5lOzsKLQkJKikgY3AgbWFrZWZpbGUubGlu dXhfYW55X2NwdV9nY2NfNC5YIG1ha2VmaWxlLm1hY2hpbmU7OwotCWVzYWMKLQlzZWQgLWUgInMs ZysrLCR7Q1hYfSwiIC1pIG1ha2VmaWxlLm1hY2hpbmUKLQlzZWQgLWUgInMsZ2NjLCR7Q0N9LCIg LWkgbWFrZWZpbGUubWFjaGluZQotfQotZG9fYnVpbGQoKSB7Ci0JbWFrZSBhbGwzIE9QVEZMQUdT PSIkQ1hYRkxBR1MiICR7bWFrZWpvYnN9Ci19Ci1kb19pbnN0YWxsKCkgewotCW1ha2UgaW5zdGFs bCBERVNUX0RJUj0iJHtERVNURElSfSIgREVTVF9IT01FPSIvdXNyIiBcCi0JCURFU1RfTUFOPSIv dXNyL3NoYXJlL21hbiIgXAotCQlERVNUX1NIQVJFX0RPQz0iL3Vzci9zaGFyZS9kb2MvJHtwa2du YW1lfSIKLQlmaW5kICR7REVTVERJUn0vdXNyL3NoYXJlL2RvYy8kcGtnbmFtZSAtdHlwZSBkIC1l eGVjIGNobW9kIDc1NSB7fSBcOwotCW1rZGlyIC1wICR7REVTVERJUn0vdXNyL3NoYXJlL2xpY2Vu c2VzL3A3emlwLwotCW12ICR7REVTVERJUn0vdXNyL3NoYXJlL2RvYy9wN3ppcC9ET0MvY29weWlu Zy50eHQgXAotCSAgICR7REVTVERJUn0vdXNyL3NoYXJlL2xpY2Vuc2VzL3A3emlwL0xJQ0VOU0UK LX0KLQotcDd6aXAtdW5yYXJfcGFja2FnZSgpIHsKLQlzaG9ydF9kZXNjKz0iIC0gUkFSIHN1cHBv cnQiCi0JbGljZW5zZT0iY3VzdG9tOmZyZWV3YXJlIgotCWRlcGVuZHM9IiR7c291cmNlcGtnfS0k e3ZlcnNpb259XyR7cmV2aXNpb259IgotCXJlcG9zaXRvcnk9bm9uZnJlZQotCXBrZ19pbnN0YWxs KCkgewotCQl2bW92ZSB1c3IvbGliL3A3emlwL0NvZGVjcy9SYXIuc28KLQkJdmxpY2Vuc2UgRE9D L3VuUmFyTGljZW5zZS50eHQgTElDRU5TRQotCX0KLX0KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcDd6 aXAvdXBkYXRlIGIvc3JjcGtncy9wN3ppcC91cGRhdGUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDg0ZWQ0NmQ3NGExYS4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvcDd6aXAvdXBk YXRlCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotcGF0dGVybj0ncDd6aXBfXEtbLlxkXSsn Cg== --===============0970130448185151340==--