From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: =?utf-8?q?Kren=C5=BEelok_Franti=C5=A1ek_=3Cfkrenzel=40redhat=2Ecom=3E?= To: git-commits@fedoraproject.org Subject: [rpms/nss] rawhide: Revert changes on top of nss-3.127.0 Date: Thu, 27 Aug 2026 17:26:13 GMT Message-ID: <178785157372.1.6580717850075813033.rpms-nss-71dc233ac9ac@fedoraproject.org> List-ID: X-Git-Repo: rpms/nss X-Git-Branch: rawhide X-Git-Rev: 71dc233ac9ac9760137170667f8cb4dbd9a8eb56 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvbnNzCiAgICAgICAgICAgIEJyYW5jaCA6IHJhd2hpZGUKICAgICAgICAgICAg Q29tbWl0IDogNzFkYzIzM2FjOWFjOTc2MDEzNzE3MDY2N2Y4Y2I0ZGJkOWE4ZWI1NgogICAgICAg ICAgICBBdXRob3IgOiBLcmVuxb5lbG9rIEZyYW50acWhZWsgPGZrcmVuemVsQHJlZGhhdC5jb20+ CiAgICAgICAgICAgIERhdGUgICA6IDIwMjYtMDgtMjZUMTU6MzU6NDMrMDI6MDAKICAgICAgICAg ICAgU3RhdHMgIDogKzIwLy0yMjA1IGluIDE2IGZpbGUocykKICAgICAgICAgICAgVVJMICAgIDog aHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9uc3MvYy83MWRjMjMzYWM5YWM5NzYw MTM3MTcwNjY3ZjhjYjRkYmQ5YThlYjU2P2JyYW5jaD1yYXdoaWRlCgogICAgICAgICAgICBMb2c6 CiAgICAgICAgICAgIFJldmVydCBjaGFuZ2VzIG9uIHRvcCBvZiBuc3MtMy4xMjcuMAoKUmV2ZXJ0 cyBjb21taXRzIDU1MzY4OTcsIDE4ZDBjZTksIGE0MTg1NmMsIDk2YzZiY2QsIGVlMThjZjEsCjMz YmEzMmQsIDBjZTM4YzUsIDczZjdjN2EsIGQ3ZDc1MDkuCgotLS0KZGlmZiAtLWdpdCBhL25zcy0z LjEwMS1leHRlbmQtZGItZHVtcC10aW1lLnBhdGNoIGIvbnNzLTMuMTAxLWV4dGVuZC1kYi1kdW1w LXRpbWUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg4YTYwOGIuLjAwMDAw MDAKLS0tIGEvbnNzLTMuMTAxLWV4dGVuZC1kYi1kdW1wLXRpbWUucGF0Y2gKKysrIC9kZXYvbnVs bApAQCAtMSwxMiArMCwwIEBACi1kaWZmIC11cCAuL3Rlc3RzL2RidGVzdHMvZGJ0ZXN0cy5zaC5l eHRlbmQgLi90ZXN0cy9kYnRlc3RzL2RidGVzdHMuc2gKLS0tLSAuL3Rlc3RzL2RidGVzdHMvZGJ0 ZXN0cy5zaC5leHRlbmQJMjAyMy0xMS0xNSAxMzoxNzo1MC42NTEwMjA0NTggLTA4MDAKLSsrKyAu L3Rlc3RzL2RidGVzdHMvZGJ0ZXN0cy5zaAkyMDIzLTExLTE1IDEzOjE4OjU3LjA5MTYwODg1MCAt MDgwMAotQEAgLTM2Niw3ICszNjYsNyBAQCBkYnRlc3RfbWFpbigpCi0gICAgICAgUkFSUkFZPSgk ZHRpbWUpCi0gICAgICAgVElNRUFSUkFZPSgke1JBUlJBWVsxXS8vLi8gfSkKLSAgICAgICBlY2hv ICIke1RJTUVBUlJBWVswXX0gc2Vjb25kcyIKLS0gICAgICB0ZXN0ICR7VElNRUFSUkFZWzBdfSAt bHQgNQotKyAgICAgIHRlc3QgJHtUSU1FQVJSQVlbMF19IC1sdCAke05TU19EQl9EVU1QX1RJTUUt NX0KLSAgICAgICByZXQ9JD8KLSAgICAgICBodG1sX21zZyAke3JldH0gMCAiY2VydHV0aWwgZHVt cCBrZXlzIHdpdGggZXhwbGljaXQgZGVmYXVsdCB0cnVzdCBmbGFncyIKLSAgICAgZmkKCmRpZmYg LS1naXQgYS9uc3MtMy4xMTItZGlzYWJsZS1tZDUucGF0Y2ggYi9uc3MtMy4xMTItZGlzYWJsZS1t ZDUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY1MmYzZjMuLjAwMDAwMDAK LS0tIGEvbnNzLTMuMTEyLWRpc2FibGUtbWQ1LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNzIg KzAsMCBAQAotZGlmZiAtdXAgLi9saWIvcGsxMXdyYXAvcGsxMXBhcnMuYy5ub19tZCAuL2xpYi9w azExd3JhcC9wazExcGFycy5jCi0tLS0gLi9saWIvcGsxMXdyYXAvcGsxMXBhcnMuYy5ub19tZAky MDI0LTA2LTExIDEyOjQxOjM1LjA1NDY1NDk5MCAtMDcwMAotKysrIC4vbGliL3BrMTF3cmFwL3Br MTFwYXJzLmMJMjAyNC0wNi0xMSAxMjo0NjoyNS4zNDc5Nzk4OTQgLTA3MDAKLUBAIC0zMjksMTQg KzMyOSwxMSBAQCBzdGF0aWMgY29uc3Qgb2lkVmFsRGVmIGN1cnZlT3B0TGlzdFtdID0KLSBzdGF0 aWMgY29uc3Qgb2lkVmFsRGVmIGhhc2hPcHRMaXN0W10gPSB7Ci0gICAgIC8qIEhhc2hlcyAqLwot ICAgICB7IENJUEhFUl9OQU1FKCJNRDIiKSwgU0VDX09JRF9NRDIsCi0tICAgICAgTlNTX1VTRV9B TEdfSU5fU1NMX0tYIHwgTlNTX1VTRV9BTEdfSU5fU0lHTkFUVVJFIHwgTlNTX1VTRV9BTEdfSU5f U01JTUUgfAotLSAgICAgICAgICBOU1NfVVNFX0FMR19JTl9QS0NTMTIgfSwKLSsgICAgICBOU1Nf VVNFX0FMR19JTl9TTUlNRV9MRUdBQ1kgfCBOU1NfVVNFX0FMR19JTl9QS0NTMTJfREVDUllQVCB9 LAotICAgICB7IENJUEhFUl9OQU1FKCJNRDQiKSwgU0VDX09JRF9NRDQsCi0tICAgICAgTlNTX1VT RV9BTEdfSU5fU1NMX0tYIHwgTlNTX1VTRV9BTEdfSU5fU0lHTkFUVVJFIHwgTlNTX1VTRV9BTEdf SU5fU01JTUUgfAotLSAgICAgICAgICBOU1NfVVNFX0FMR19JTl9QS0NTMTIgfSwKLSsgICAgICBO U1NfVVNFX0FMR19JTl9TTUlNRV9MRUdBQ1kgfCBOU1NfVVNFX0FMR19JTl9QS0NTMTJfREVDUllQ VCB9LAotICAgICB7IENJUEhFUl9OQU1FKCJNRDUiKSwgU0VDX09JRF9NRDUsCi0tICAgICAgTlNT X1VTRV9BTEdfSU5fU1NMX0tYIHwgTlNTX1VTRV9BTEdfSU5fU0lHTkFUVVJFIHwgTlNTX1VTRV9B TEdfSU5fU01JTUUgfAotLSAgICAgICAgICBOU1NfVVNFX0FMR19JTl9QS0NTMTIgfSwKLSsgICAg ICBOU1NfVVNFX0FMR19JTl9TTUlNRV9MRUdBQ1kgfCBOU1NfVVNFX0FMR19JTl9QS0NTMTJfREVD UllQVCB9LAotICAgICB7IENJUEhFUl9OQU1FKCJTSEExIiksIFNFQ19PSURfU0hBMSwKLSAgICAg ICBOU1NfVVNFX0FMR19JTl9TU0xfS1ggfCBOU1NfVVNFX0FMR19JTl9TSUdOQVRVUkUgfCBOU1Nf VVNFX0FMR19JTl9TTUlNRSB8Ci0gICAgICAgICAgIE5TU19VU0VfQUxHX0lOX1BLQ1MxMiB9LAot ZGlmZiAtdXAgLi9saWIvdXRpbC9zZWNvaWQuYy5ub19tZCAuL2xpYi91dGlsL3NlY29pZC5jCi1k aWZmIC1yIDY5OTU0MWE3NzkzYiBsaWIvdXRpbC9zZWNvaWQuYwotLS0tIGEvbGliL3V0aWwvc2Vj b2lkLmMJVHVlIEp1biAxNiAyMzowMzoyMiAyMDIwICswMDAwCi0rKysgYi9saWIvdXRpbC9zZWNv aWQuYwlUaHUgSnVuIDI1IDE0OjMzOjA5IDIwMjAgKzAyMDAKLUBAIC0yMDQyLDYgKzIwNDIsMTkg QEAKLSAgICAgICAgICAgICBpbnQgaTsKLSAKLSAgICAgICAgICAgICBmb3IgKGkgPSAxOyBpIDwg U0VDX09JRF9UT1RBTDsgaSsrKSB7Ci0rICAgICAgICAgICAgICAgIHN3aXRjaCAoaSkgewotKyAg ICAgICAgICAgICAgICBjYXNlIFNFQ19PSURfTUQyOgotKyAgICAgICAgICAgICAgICBjYXNlIFNF Q19PSURfTUQ0OgotKyAgICAgICAgICAgICAgICBjYXNlIFNFQ19PSURfTUQ1OgotKyAgICAgICAg ICAgICAgICBjYXNlIFNFQ19PSURfUEtDUzFfTUQyX1dJVEhfUlNBX0VOQ1JZUFRJT046Ci0rICAg ICAgICAgICAgICAgIGNhc2UgU0VDX09JRF9QS0NTMV9NRDRfV0lUSF9SU0FfRU5DUllQVElPTjoK LSsgICAgICAgICAgICAgICAgY2FzZSBTRUNfT0lEX1BLQ1MxX01ENV9XSVRIX1JTQV9FTkNSWVBU SU9OOgotKyAgICAgICAgICAgICAgICBjYXNlIFNFQ19PSURfUEtDUzVfUEJFX1dJVEhfTUQyX0FO RF9ERVNfQ0JDOgotKyAgICAgICAgICAgICAgICBjYXNlIFNFQ19PSURfUEtDUzVfUEJFX1dJVEhf TUQ1X0FORF9ERVNfQ0JDOgotKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0rICAgICAg ICAgICAgICAgIGRlZmF1bHQ6Ci0rICAgICAgICAgICAgICAgICAgICBicmVhazsKLSsgICAgICAg ICAgICAgICAgfQotICAgICAgICAgICAgICAgICBpZiAob2lkc1tpXS5kZXNjICYmIHN0cnN0cihh cmcsIG9pZHNbaV0uZGVzYykpIHsKLSAgICAgICAgICAgICAgICAgICAgIHhPaWRzW2ldLm5vdFBv bGljeUZsYWdzID0gbm90RW5hYmxlIHwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKHhPaWRzW2ldLm5vdFBvbGljeUZsYWdzICYgfihERUZfRkxBR1MpKTsK LWRpZmYgLXVwIC4vdGVzdHMvdG9vbHMvcGtjczEycG9saWN5LnR4dC5kaXNhYmxlX21kNSAuL3Rl c3RzL3Rvb2xzL3BrY3MxMnBvbGljeS50eHQKLS0tLSAuL3Rlc3RzL3Rvb2xzL3BrY3MxMnBvbGlj eS50eHQuZGlzYWJsZV9tZDUJMjAyNS0wNS0yMyAwNjowNzo0OS4wMDAwMDAwMDAgLTA3MDAKLSsr KyAuL3Rlc3RzL3Rvb2xzL3BrY3MxMnBvbGljeS50eHQJMjAyNS0wNi0yMSAxMzo0Njo1My4wNTU4 MTIxODcgLTA3MDAKLUBAIC05NSwyMSArOTUsMTIgQEAKLSAgIDAgMTcgYWxsb3dfYWxsIGRpc2Fs bG93PXJjMiBQS0NTXyMxMl9WMl9QQkVfV2l0aF9TSEEtMV9BbmRfMTI4X0JpdF9SQzQgUEtDU18j MTJfVjJfUEJFX1dpdGhfU0hBLTFfQW5kXzEyOF9CaXRfUkMyX0NCQyBTSEEtMSAgZGlzYWxsb3cg cmMyIChyZWFkKSwgUkM0IGFuZCBSQzIKLSAjIGludGVncml0eSBwb2xpY3kgY2hlY2sgdGhlIHZh cmlvdXMgaGFzIGJhc2VkIGNvbnRyb2xzLgotICMgIE5PVEU6IG1kNCwgbWQyLCBhbmQgbWQ1IGFy ZSB0dXJuZWQgb2ZmIGJ5IHBvbGljeSBieSBkZWZhdWx0IGZvciBlbmNyeXB0aW5nCi0tIyAoZGVj cnlwdGluZyBpcyBmaW5lKS4gVG8gYmUgZW5hYmxlZCwgeW91IG11c3QgYWxsb3c9YWxsIG9yIGFs bG93PW1kWCBvbiB0aGUKLSsjIChkZWNyeXB0aW5nIGlzIGZpbmUpLiBUbyBiZSBlbmFibGVkLCB5 b3UgbXVzdCBhbGxvdz1tZFgvcGtjczEyIG9uIHRoZQotICMgZW5jcnlwdGlvbiBzaWRlLiBUaGVz ZSB0ZXN0cyBwdXJwb3NlZnVsbHkgdGVzdHMgdGhhdCB0aGUgZGVmYXVsdCBmYWlscyB0byBlbmNy eXB0Ci0gIyBidXQgc3VjY2VlZHMgd2hlbiBkZWNyeXB0aW5nLgotICAyNyAgeCBhbGxvdz10bHMg YWxsb3c9dGxzIFBLQ1NfIzEyX1YyX1BCRV9XaXRoX1NIQS0xX0FuZF8xMjhfQml0X1JDMl9DQkMg UEtDU18jNV9QYXNzd29yZF9CYXNlZF9FbmNyeXB0aW9uX3dpdGhfTUQyX2FuZF9ERVMtQ0JDIFNI QS0yNTYgVXNlIGRlZmF1bHQgcG9saWN5IHdpdGggbXVsdGlwbGUgaGFzaGVzCi0tICAwICAwIGFs bG93PWFsbCBhbGxvdz10bHMgUEtDU18jMTJfVjJfUEJFX1dpdGhfU0hBLTFfQW5kXzEyOF9CaXRf UkMyX0NCQyBQS0NTXyM1X1Bhc3N3b3JkX0Jhc2VkX0VuY3J5cHRpb25fd2l0aF9NRDJfYW5kX0RF Uy1DQkMgU0hBLTI1NiBBbGxvdyBhbGwgZW5jcnlwdCwgdXNlIGRlZmF1bHQgZGVjcnlwdCB3aXRo IG11bHRpcGxlIGhhc2hlcwotLSAgMCAgMCBhbGxvdz1hbGwgYWxsb3c9YWxsIFBLQ1NfIzEyX1Yy X1BCRV9XaXRoX1NIQS0xX0FuZF8xMjhfQml0X1JDMl9DQkMgUEtDU18jNV9QYXNzd29yZF9CYXNl ZF9FbmNyeXB0aW9uX3dpdGhfTUQyX2FuZF9ERVMtQ0JDIFNIQS0yNTYgQWxsb3cgYWxsIHdpdGgg bXVsdGlwbGUgaGFzaGVzCi0tIDI4ICB4IGRpc2FsbG93PXNoYTFfYWxsb3c9bWQyIGFsbG93PWFs bCBQS0NTXyMxMl9WMl9QQkVfV2l0aF9TSEEtMV9BbmRfMTI4X0JpdF9SQzJfQ0JDIFBLQ1NfIzVf UGFzc3dvcmRfQmFzZWRfRW5jcnlwdGlvbl93aXRoX01EMl9hbmRfREVTLUNCQyBTSEEtMjU2IERp c2FsbG93IHNoYTEgb24gd3JpdGUKLSAgMjcgIHggZGlzYWxsb3c9bWQyIGFsbG93PWFsbCBQS0NT XyMxMl9WMl9QQkVfV2l0aF9TSEEtMV9BbmRfMTI4X0JpdF9SQzJfQ0JDIFBLQ1NfIzVfUGFzc3dv cmRfQmFzZWRfRW5jcnlwdGlvbl93aXRoX01EMl9hbmRfREVTLUNCQyBTSEEtMjU2IERpc2FsbG93 IG1kMiBvbiB3cml0ZQotLSAyOSAgeCBkaXNhbGxvdz1zaGEyNTZfYWxsb3c9bWQyIGFsbG93PWFs bCBQS0NTXyMxMl9WMl9QQkVfV2l0aF9TSEEtMV9BbmRfMTI4X0JpdF9SQzJfQ0JDIFBLQ1NfIzVf UGFzc3dvcmRfQmFzZWRfRW5jcnlwdGlvbl93aXRoX01EMl9hbmRfREVTLUNCQyBTSEEtMjU2IERp c2FsbG93IHNoYTI1NiBvbiB3cml0ZQotLSAgMCAxOSBhbGxvdz1hbGwgZGlzYWxsb3c9c2hhMSBQ S0NTXyMxMl9WMl9QQkVfV2l0aF9TSEEtMV9BbmRfMTI4X0JpdF9SQzJfQ0JDIFBLQ1NfIzVfUGFz c3dvcmRfQmFzZWRfRW5jcnlwdGlvbl93aXRoX01EMl9hbmRfREVTLUNCQyBTSEEtMjU2IERpc2Fs bG93IHNoYTEgb24gcmVhZAotLSAgMCAxNyBhbGxvdz1hbGwgZGlzYWxsb3c9bWQyIFBLQ1NfIzEy X1YyX1BCRV9XaXRoX1NIQS0xX0FuZF8xMjhfQml0X1JDMl9DQkMgUEtDU18jNV9QYXNzd29yZF9C YXNlZF9FbmNyeXB0aW9uX3dpdGhfTUQyX2FuZF9ERVMtQ0JDIFNIQS0yNTYgRGlzYWxsb3cgbWQy IG9uIHJlYWQKLS0gIDAgMTcgYWxsb3c9YWxsIGRpc2FsbG93PXNoYTI1NiBQS0NTXyMxMl9WMl9Q QkVfV2l0aF9TSEEtMV9BbmRfMTI4X0JpdF9SQzJfQ0JDIFBLQ1NfIzVfUGFzc3dvcmRfQmFzZWRf RW5jcnlwdGlvbl93aXRoX01EMl9hbmRfREVTLUNCQyBTSEEtMjU2IERpc2FsbG93IHNoYTI1NiBv biByZWFkCi0tICAwICAwIGFsbG93PWFsbCBkaXNhbGxvdz1tZDIvcGtjczEyLWVuY3J5cHQgUEtD U18jMTJfVjJfUEJFX1dpdGhfU0hBLTFfQW5kXzEyOF9CaXRfUkMyX0NCQyBQS0NTXyM1X1Bhc3N3 b3JkX0Jhc2VkX0VuY3J5cHRpb25fd2l0aF9NRDJfYW5kX0RFUy1DQkMgU0hBLTI1NiBEaXNhbGxv dyBtZDIgb24gcmVhZAotLSAgMCAgMCBhbGxvdz1hbGwgZGlzYWxsb3c9c2hhMS9wa2NzMTItZW5j cnlwdCBQS0NTXyMxMl9WMl9QQkVfV2l0aF9TSEEtMV9BbmRfMTI4X0JpdF9SQzJfQ0JDIFBLQ1Nf IzVfUGFzc3dvcmRfQmFzZWRfRW5jcnlwdGlvbl93aXRoX01EMl9hbmRfREVTLUNCQyBTSEEtMjU2 IERpc2FsbG93IHNoYTEgb24gcmVhZAotLSAgMCAgMCBhbGxvdz1hbGwgZGlzYWxsb3c9c2hhMjU2 L3BrY3MxMi1lbmNyeXB0IFBLQ1NfIzEyX1YyX1BCRV9XaXRoX1NIQS0xX0FuZF8xMjhfQml0X1JD Ml9DQkMgUEtDU18jNV9QYXNzd29yZF9CYXNlZF9FbmNyeXB0aW9uX3dpdGhfTUQyX2FuZF9ERVMt Q0JDIFNIQS0yNTYgRGlzYWxsb3cgc2hhMjU2IG9uIHJlYWQKLSsgMjcgIHggZGlzYWxsb3c9c2hh MjU2X2FsbG93PW1kMiBhbGxvdz1hbGwgUEtDU18jMTJfVjJfUEJFX1dpdGhfU0hBLTFfQW5kXzEy OF9CaXRfUkMyX0NCQyBQS0NTXyM1X1Bhc3N3b3JkX0Jhc2VkX0VuY3J5cHRpb25fd2l0aF9NRDJf YW5kX0RFUy1DQkMgU0hBLTI1NiBEaXNhbGxvdyBzaGEyNTYgb24gd3JpdGUKLSAgIDAgIDAgYWxs b3c9YWxsIGFsbG93PWFsbCBBRVMtMTI4LUNCQyBBRVMtMTI4LUNCQyBITUFDX1NIQS0yNTYgQWxs b3cgYWxsIHdpdGggaG1hYwotICAyOSAgeCBkaXNhbGxvdz1obWFjLXNoYTI1NiBhbGxvdz1hbGwg QUVTLTEyOC1DQkMgQUVTLTEyOC1DQkMgSE1BQ19TSEEtMjU2IERpc2FsbG93IGhtYWMgb24gd3Jp dGUKLSAgIDAgMTcgYWxsb3c9YWxsIGRpc2FsbG93PWhtYWMtc2hhMjU2IEFFUy0xMjgtQ0JDIEFF Uy0xMjgtQ0JDIEhNQUNfU0hBLTI1NiBEaXNhbGxvdyBobWFjIG9uIHJlYWQKCmRpZmYgLS1naXQg YS9uc3MtMy4xMTgtbWwtZHNhLXRlc3QtY2FsbC1zaXRlLnBhdGNoIGIvbnNzLTMuMTE4LW1sLWRz YS10ZXN0LWNhbGwtc2l0ZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTE0 Mzk1Ni4uMDAwMDAwMAotLS0gYS9uc3MtMy4xMTgtbWwtZHNhLXRlc3QtY2FsbC1zaXRlLnBhdGNo CisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotLS0tIGEvdGVzdHMvdG9vbHMvdG9vbHMu c2gKLSsrKyBiL3Rlc3RzL3Rvb2xzL3Rvb2xzLnNoCi1AQCAtNjY0LDcgKzY2NCw4IEBACi0gICB0 b29sc19wMTJfZXhwb3J0X3dpdGhfaW52YWxpZF9jaXBoZXJzCi0gICB0b29sc19wMTJfaW1wb3J0 X29sZF9maWxlcwotICAgdG9vbHNfcDEyX2ltcG9ydF9wYm1hYzFfc2FtcGxlcwotICAgdG9vbHNf cDEyX2ltcG9ydF9lZDI1NTE5X3ByaXZhdGVfa2V5Ci0rICB0b29sc19wMTJfbWxfZHNhX2ltcG9y dAotICAgdG9vbHNfcDEyX21sX2tlbV9pbXBvcnQKLSAgIGlmIHVzaW5nX3NxbDsgdGhlbgotICAg ICB0b29sc19wMTJfaW1wb3J0X3JzYV9wc3NfcHJpdmF0ZV9rZXkKCmRpZmYgLS1naXQgYS9uc3Mt My4xMTgtbWwtZHNhLXRlc3QtZm9yLXNpZ24tdmVyaWZ5LXBrY3MxMi5wYXRjaCBiL25zcy0zLjEx OC1tbC1kc2EtdGVzdC1mb3Itc2lnbi12ZXJpZnktcGtjczEyLnBhdGNoCmluZGV4IGU0MzA3ZmQu LmExYzVjNDAgMTAwNjQ0Ci0tLSBhL25zcy0zLjExOC1tbC1kc2EtdGVzdC1mb3Itc2lnbi12ZXJp ZnktcGtjczEyLnBhdGNoCisrKyBiL25zcy0zLjExOC1tbC1kc2EtdGVzdC1mb3Itc2lnbi12ZXJp ZnktcGtjczEyLnBhdGNoCkBAIC0yMzYsMzUgKzIzNiwyOSBAQCBkaWZmIC0tZ2l0IGEvY21kL2Nl cnR1dGlsL2tleXN0dWZmLmMgYi9jbWQvY2VydHV0aWwva2V5c3R1ZmYuYwogZGlmZiAtLWdpdCBh L2NtZC9wazExaW1wb3J0dGVzdC9wazExaW1wb3J0dGVzdC5jIGIvY21kL3BrMTFpbXBvcnR0ZXN0 L3BrMTFpbXBvcnR0ZXN0LmMKIC0tLSBhL2NtZC9wazExaW1wb3J0dGVzdC9wazExaW1wb3J0dGVz dC5jCiArKysgYi9jbWQvcGsxMWltcG9ydHRlc3QvcGsxMWltcG9ydHRlc3QuYwotQEAgLTIxNyw4 ICsyMTcsOSBAQAorQEAgLTIxNyw2ICsyMTcsNyBAQAogICAgICBvcHRfTm9EU0EsCiAgICAgIG9w dF9Ob0RILAogICAgICBvcHRfTm9FQywKICsgICAgb3B0X05vTUxEU0EsCiAgICAgIG9wdF9Ob01M S0VNLAotICAgICBvcHRfTm9FRCwKLSAgICAgb3B0X05vRUNNb250LAogIH07Ci0KLUBAIC0yMzEs OCArMjMyLDkgQEAKKyAKK0BAIC0yMzEsNiArMjMyLDcgQEAKICAgICAgeyAvKiBvcHRfTm9EU0Eg ICAgICAgICAgICAqLyAnRCcsIFBSX0ZBTFNFLCAwLCBQUl9GQUxTRSB9LAogICAgICB7IC8qIG9w dF9Ob0RIICAgICAgICAgICAgICovICdoJywgUFJfRkFMU0UsIDAsIFBSX0ZBTFNFIH0sCiAgICAg IHsgLyogb3B0X05vRUMgICAgICAgICAgICAgKi8gJ2UnLCBQUl9GQUxTRSwgMCwgUFJfRkFMU0Ug fSwKICsgICAgeyAvKiBvcHRfTm9NTERTQSAgICAgICAgICAqLyAnbScsIFBSX0ZBTFNFLCAwLCBQ Ul9GQUxTRSB9LAogICAgICB7IC8qIG9wdF9Ob01MS0VNICAgICAgICAgICovICdLJywgUFJfRkFM U0UsIDAsIFBSX0ZBTFNFIH0sCi0gICAgIHsgLyogb3B0X05vRUQgICAgICAgICAgICAgKi8gJ3cn LCBQUl9GQUxTRSwgMCwgUFJfRkFMU0UgfSwKLSAgICAgeyAvKiBvcHRfTm9FQ01vbnQgICAgICAg ICAqLyAnZycsIFBSX0ZBTFNFLCAwLCBQUl9GQUxTRSB9LAogIH07Ci0KLUBAIC0yNDcsOCArMjQ5 LDEwIEBACisgCitAQCAtMjQ3LDYgKzI0OSw4IEBACiAgICAgIFBSQm9vbCBkb0RTQSA9IFBSX1RS VUU7CiAgICAgIFBSQm9vbCBkb0RIID0gUFJfRkFMU0U7IC8qIE5TUyBjdXJyZW50bHkgY2FuJ3Qg ZXhwb3J0IHdyYXBwZWQgREgga2V5cyAqLwogICAgICBQUkJvb2wgZG9FQyA9IFBSX1RSVUU7CiAr ICAgIFBSQm9vbCBkb01MRFNBID0gUFJfRkFMU0U7CiArICAgIENLX01MX0RTQV9QQVJBTUVURVJf U0VUX1RZUEUgbWxkc2FQYXJhbVNldCA9IENLUF9NTF9EU0FfNDQ7CiAgICAgIFBSQm9vbCBkb01M S0VNID0gUFJfVFJVRTsKLSAgICAgUFJCb29sIGRvRUQgPSBQUl9UUlVFOwotICAgICBQUkJvb2wg ZG9FQ01vbnQgPSBQUl9UUlVFOwogICAgICBQUkJvb2wgbm9QdWIgPSBQUl9GQUxTRTsKICAgICAg UFFHUGFyYW1zICpwcWdQYXJhbXMgPSBOVUxMOwogQEAgLTMwNSw2ICszMDksOSBAQApAQCAtNDIw LDcgKzQxNCw3IEBAIGRpZmYgLS1naXQgYS90ZXN0cy9jZXJ0L2NlcnQuc2ggYi90ZXN0cy9jZXJ0 L2NlcnQuc2gKIGRpZmYgLS1naXQgYS90ZXN0cy90b29scy90b29scy5zaCBiL3Rlc3RzL3Rvb2xz L3Rvb2xzLnNoCiAtLS0gYS90ZXN0cy90b29scy90b29scy5zaAogKysrIGIvdGVzdHMvdG9vbHMv dG9vbHMuc2gKLUBAIC0xMjgsNyArMTI4LDE2IEBACitAQCAtMTI4LDYgKzEyOCwxNSBAQAogICAg Y3AgJHtRQURJUn0vdG9vbHMvcGJtYWMxLWludmFsaWQtYmFkLXNhbHQucDEyICR7VE9PTFNESVJ9 L2RhdGEKICAgIGNwICR7UUFESVJ9L3Rvb2xzL3BibWFjMS1pbnZhbGlkLW5vLWxlbmd0aC5wMTIg JHtUT09MU0RJUn0vZGF0YQogICAgY3AgJHtRQURJUn0vdG9vbHMvY29ycnVwdGVkX2NlcnRfYmFn LnAxMiAke1RPT0xTRElSfS9kYXRhCkBAIC00MzMsMTQgKzQyNywxMyBAQCBkaWZmIC0tZ2l0IGEv dGVzdHMvdG9vbHMvdG9vbHMuc2ggYi90ZXN0cy90b29scy90b29scy5zaAogKyAgY3AgJHtRQURJ Un0vdG9vbHMvb3BlbnNzbC1tbC1kc2EtNDQucDEyICR7VE9PTFNESVJ9L2RhdGEKICsgIGNwICR7 UUFESVJ9L3Rvb2xzL29wZW5zc2wtbWwtZHNhLTY1LnAxMiAke1RPT0xTRElSfS9kYXRhCiArICBj cCAke1FBRElSfS90b29scy9vcGVuc3NsLW1sLWRzYS04Ny5wMTIgJHtUT09MU0RJUn0vZGF0YQot ICAgY3AgJHtRQURJUn0vdG9vbHMvb3BlbnNzbC1lZDI1NTE5LnAxMiAke1RPT0xTRElSfS9kYXRh CiAgICBjcCAke1FBRElSfS90b29scy9vcGVuc3NsLW1sLWtlbS03Njgtc2VlZC5wMTIgJHtUT09M U0RJUn0vZGF0YQogICAgY3AgJHtRQURJUn0vdG9vbHMvb3BlbnNzbC1tbC1rZW0tNzY4LXByaXYu cDEyICR7VE9PTFNESVJ9L2RhdGEKICAgIGNwICR7UUFESVJ9L3Rvb2xzL29wZW5zc2wtbWwta2Vt LTc2OC1ib3RoLnAxMiAke1RPT0xTRElSfS9kYXRhCiBAQCAtNTM2LDYgKzU0NSwzMyBAQAogICAg cmV0dXJuICRyZXQKICB9Ci0KKyAKICt0b29sc19wMTJfbWxfZHNhX2ltcG9ydCgpCiArewogKyAg ZWNobyAiJFNDUklQVE5BTUU6IFRlc3RpbmcgbWwtZHNhIGNvbXBhdGliaWxpdHkgd2l0aCBwa2Nz MTIgLS0tLS0tLS0tLS0tLS0iCkBAIC00NzEsMyArNDY0LDExIEBAIGRpZmYgLS1naXQgYS90ZXN0 cy90b29scy90b29scy5zaCBiL3Rlc3RzL3Rvb2xzL3Rvb2xzLnNoCiAgdG9vbHNfcDEyX21sX2tl bV9pbXBvcnQoKQogIHsKICAgIGVjaG8gIiRTQ1JJUFROQU1FOiBUZXN0aW5nIG1sLWtlbSBjb21w YXRpYmlsaXR5IHdpdGggcGtjczEyIC0tLS0tLS0tLS0tLS0tIgorQEAgLTYxNiw2ICs2NTIsNyBA QAorICAgdG9vbHNfcDEyX2V4cG9ydF93aXRoX2ludmFsaWRfY2lwaGVycworICAgdG9vbHNfcDEy X2ltcG9ydF9vbGRfZmlsZXMKKyAgIHRvb2xzX3AxMl9pbXBvcnRfcGJtYWMxX3NhbXBsZXMKKysg ICAgdG9vbHNfcDEyX21sX2RzYV9pbXBvcnQKKyAgIHRvb2xzX3AxMl9tbF9rZW1faW1wb3J0Cisg ICBpZiB1c2luZ19zcWw7IHRoZW4KKyAgICAgdG9vbHNfcDEyX2ltcG9ydF9yc2FfcHNzX3ByaXZh dGVfa2V5CgpkaWZmIC0tZ2l0IGEvbnNzLTMuMTI0LWFkZC1tbC1rZW0ta2V5LXNpemUtbWVjaC1p bmZvLnBhdGNoIGIvbnNzLTMuMTI0LWFkZC1tbC1rZW0ta2V5LXNpemUtbWVjaC1pbmZvLnBhdGNo CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmODBiNjk1Li4wMDAwMDAwCi0tLSBhL25z cy0zLjEyNC1hZGQtbWwta2VtLWtleS1zaXplLW1lY2gtaW5mby5wYXRjaAorKysgL2Rldi9udWxs CkBAIC0xLDYwICswLDAgQEAKLSMgSEcgY2hhbmdlc2V0IHBhdGNoCi0jIFVzZXIgUm9iZXJ0IFJl bHllYSA8cnJlbHllYUByZWRoYXQuY29tPgotIyBEYXRlIDE3ODEwMzAyMDkgMjUyMDAKLSMgICAg ICBUdWUgSnVuIDA5IDExOjM2OjQ5IDIwMjYgLTA3MDAKLSMgQnJhbmNoIE5TU18zXzEyNF9CUkFO Q0gKLSMgTm9kZSBJRCA5ZDUxZGRhODRmNDY1MTdmYWE4YjljZjZhYmU0MzExZTFhZTNlMmFjCi0j IFBhcmVudCAgMmE3YmIzMzEwY2VkMTM4YzA2YTU4OGZjNDdiOWY5OGUzZjlmYWE2OAotbnNzLTMu MTI0LWFkZC1tbC1rZW0ta2V5LXNpemUtbWVjaC1pbmZvLnBhdGNoCi0KLWRpZmYgLS1naXQgYS9s aWIvc29mdG9rZW4vcGtjczExLmMgYi9saWIvc29mdG9rZW4vcGtjczExLmMKLS0tLSBhL2xpYi9z b2Z0b2tlbi9wa2NzMTEuYwotKysrIGIvbGliL3NvZnRva2VuL3BrY3MxMS5jCi1AQCAtMzUsMTYg KzM1LDE3IEBACi0gI2luY2x1ZGUgInNlY29pZC5oIgotICNpbmNsdWRlICJzZnRrZGIuaCIKLSAj aW5jbHVkZSAidXRpbHBhcnMuaCIKLSAjaW5jbHVkZSAiZWMuaCIKLSAjaW5jbHVkZSAic2VjYXNu MS5oIgotICNpbmNsdWRlICJzZWNlcnIuaCIKLSAjaW5jbHVkZSAibGdnbHVlLmgiCi0gI2luY2x1 ZGUgImtlbS5oIgotKyNpbmNsdWRlICJreWJlci5oIgotIAotIFBSQm9vbCBwYXJlbnRGb3JrZWRB ZnRlckNfSW5pdGlhbGl6ZTsKLSAKLSAjaWZuZGVmIE5PX0ZPUktfQ0hFQ0sKLSAKLSBQUkJvb2wg c2Z0a0ZvcmtDaGVja0Rpc2FibGVkOwotIAotICNpZiBkZWZpbmVkKENIRUNLX0ZPUktfUFRIUkVB RCkgfHwgZGVmaW5lZChDSEVDS19GT1JLX01JWEVEKQotQEAgLTY3NiwyMyArNjc3LDIzIEBAIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgbWVjaGFuaXNtTGlzdCBtZWNoYW4KLSAgICAgeyBDS01fSUtFMV9Q UkZfREVSSVZFLCB7IDgsIDY0LCBDS0ZfREVSSVZFIH0sIFBSX1RSVUUgfSwKLSAgICAgeyBDS01f SUtFMV9FWFRFTkRFRF9ERVJJVkUsIHsgOCwgMjU1ICogNjQsIENLRl9ERVJJVkUgfSwgUFJfVFJV RSB9LAotICAgICB7IENLTV9OU1NfSUtFX1BSRl9QTFVTX0RFUklWRSwgeyA4LCAyNTUgKiA2NCwg Q0tGX0RFUklWRSB9LCBQUl9UUlVFIH0sCi0gICAgIHsgQ0tNX05TU19JS0VfUFJGX0RFUklWRSwg eyA4LCA2NCwgQ0tGX0RFUklWRSB9LCBQUl9UUlVFIH0sCi0gICAgIHsgQ0tNX05TU19JS0UxX1BS Rl9ERVJJVkUsIHsgOCwgNjQsIENLRl9ERVJJVkUgfSwgUFJfVFJVRSB9LAotICAgICB7IENLTV9O U1NfSUtFMV9BUFBfQl9QUkZfREVSSVZFLCB7IDgsIDI1NSAqIDY0LCBDS0ZfREVSSVZFIH0sIFBS X1RSVUUgfSwKLSAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLSBLeWJlciBPcGVyYXRpb25zIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tICovCi0gI2lmbmRlZiBOU1NfRElTQUJMRV9LWUJFUgotLSAgICB7 IENLTV9OU1NfS1lCRVJfS0VZX1BBSVJfR0VOLCB7IDAsIDAsIENLRl9HRU5FUkFURV9LRVlfUEFJ UiB9LCBQUl9UUlVFIH0sCi0tICAgIHsgQ0tNX05TU19LWUJFUiwgeyAwLCAwLCBDS0ZfS0VNIH0s IFBSX1RSVUUgfSwKLSsgICAgeyBDS01fTlNTX0tZQkVSX0tFWV9QQUlSX0dFTiwgeyBLWUJFUjc2 OF9QVUJMSUNfS0VZX0JZVEVTLCBLWUJFUjc2OF9QVUJMSUNfS0VZX0JZVEVTLCBDS0ZfR0VORVJB VEVfS0VZX1BBSVIgfSwgUFJfVFJVRSB9LAotKyAgICB7IENLTV9OU1NfS1lCRVIsIHsgS1lCRVI3 NjhfUFVCTElDX0tFWV9CWVRFUywgS1lCRVI3NjhfUFVCTElDX0tFWV9CWVRFUywgQ0tGX0tFTSB9 LCBQUl9UUlVFIH0sCi0gI2VuZGlmCi0tICAgIHsgQ0tNX05TU19NTF9LRU1fS0VZX1BBSVJfR0VO LCB7IDAsIDAsIENLRl9HRU5FUkFURV9LRVlfUEFJUiB9LCBQUl9UUlVFIH0sCi0tICAgIHsgQ0tN X05TU19NTF9LRU0sIHsgMCwgMCwgQ0tGX0tFTSB9LCBQUl9UUlVFIH0sCi0tICAgIHsgQ0tNX01M X0tFTV9LRVlfUEFJUl9HRU4sIHsgMCwgMCwgQ0tGX0dFTkVSQVRFX0tFWV9QQUlSIH0sIFBSX1RS VUUgfSwKLS0gICAgeyBDS01fTUxfS0VNLCB7IDAsIDAsIENLRl9LRU0gfSwgUFJfVFJVRSB9LAot KyAgICB7IENLTV9OU1NfTUxfS0VNX0tFWV9QQUlSX0dFTiwgeyBLWUJFUjc2OF9QVUJMSUNfS0VZ X0JZVEVTLCBNTEtFTTEwMjRfUFVCTElDX0tFWV9CWVRFUywgQ0tGX0dFTkVSQVRFX0tFWV9QQUlS IH0sIFBSX1RSVUUgfSwKLSsgICAgeyBDS01fTlNTX01MX0tFTSwgeyBLWUJFUjc2OF9QVUJMSUNf S0VZX0JZVEVTLCBNTEtFTTEwMjRfUFVCTElDX0tFWV9CWVRFUywgQ0tGX0tFTSB9LCBQUl9UUlVF IH0sCi0rICAgIHsgQ0tNX01MX0tFTV9LRVlfUEFJUl9HRU4sIHsgS1lCRVI3NjhfUFVCTElDX0tF WV9CWVRFUywgTUxLRU0xMDI0X1BVQkxJQ19LRVlfQllURVMsIENLRl9HRU5FUkFURV9LRVlfUEFJ UiB9LCBQUl9UUlVFIH0sCi0rICAgIHsgQ0tNX01MX0tFTSwgeyBLWUJFUjc2OF9QVUJMSUNfS0VZ X0JZVEVTLCBNTEtFTTEwMjRfUFVCTElDX0tFWV9CWVRFUywgQ0tGX0tFTSB9LCBQUl9UUlVFIH0s Ci0gICAgIC8qIGRvbid0IGFkdmVydGl6ZSBNTF9EU0Egc3VwcG9ydCB1bnRpbCB3ZSBoYXZlIGl0 IHdvcmtpbmcgaW4gZnJlZWJsICovCi0gICAgIHsgQ0tNX01MX0RTQV9LRVlfUEFJUl9HRU4sIHsg TUxfRFNBXzQ0X1BVQkxJQ0tFWV9MRU4sIE1MX0RTQV84N19QVUJMSUNLRVlfTEVOLCBDS0ZfR0VO RVJBVEUgfSwgUFJfVFJVRSB9LAotICAgICB7IENLTV9NTF9EU0EsIHsgTUxfRFNBXzQ0X1BVQkxJ Q0tFWV9MRU4sIE1MX0RTQV84N19QVUJMSUNLRVlfTEVOLCBDS0ZfU05fVlIgfSwgUFJfVFJVRSB9 LAotIH07Ci0gc3RhdGljIGNvbnN0IENLX1VMT05HIG1lY2hhbmlzbUNvdW50ID0gc2l6ZW9mKG1l Y2hhbmlzbXMpIC8gc2l6ZW9mKG1lY2hhbmlzbXNbMF0pOwotIAotIC8qIHNpZ2ggZ2xvYmFsIHNv IGZpcHN0b2tuIGNhbiByZWFkIGl0ICovCi0gUFJCb29sIG5zY19pbml0ID0gUFJfRkFMU0U7Cgpk aWZmIC0tZ2l0IGEvbnNzLTMuMTI0LWFsbG93LWhhc2gtb3ZlcnJpZGUtcHNzLnBhdGNoIGIvbnNz LTMuMTI0LWFsbG93LWhhc2gtb3ZlcnJpZGUtcHNzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEw MDY0NAppbmRleCA5ZTU0NDNhLi4wMDAwMDAwCi0tLSBhL25zcy0zLjEyNC1hbGxvdy1oYXNoLW92 ZXJyaWRlLXBzcy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ4OSArMCwwIEBACi0jIEhHIGNo YW5nZXNldCBwYXRjaAotIyBVc2VyIFJvYmVydCBSZWx5ZWEgPHJyZWx5ZWFAcmVkaGF0LmNvbT4K LSMgRGF0ZSAxNzgxNjM1MjM5IDI1MjAwCi0jICAgICAgVHVlIEp1biAxNiAxMTo0MDozOSAyMDI2 IC0wNzAwCi0jIEJyYW5jaCBOU1NfM18xMjRfQlJBTkNICi0jIE5vZGUgSUQgYzg1MTEwZTBmN2Jh NDhlZjQ0YzliNTM1YTljM2JjY2Y3OGY4NDE2ZAotIyBQYXJlbnQgIDRiMGUzZjMzYTJlNzZhNzdl MzZiNDM1ZWIzY2MxZWIwNmYxNDI0OWQKLW5zcy0zLjEyNC1hbGxvdy1oYXNoLW92ZXJyaWRlLXBz cy5wYXRjaAotCi1kaWZmIC0tZ2l0IGEvY21kL2NlcnR1dGlsL2NlcnR1dGlsLmMgYi9jbWQvY2Vy dHV0aWwvY2VydHV0aWwuYwotLS0tIGEvY21kL2NlcnR1dGlsL2NlcnR1dGlsLmMKLSsrKyBiL2Nt ZC9jZXJ0dXRpbC9jZXJ0dXRpbC5jCi1AQCAtMjI4LDE2ICsyMjgsMjAgQEAgQ2VydFJlcShTRUNL RVlQcml2YXRlS2V5ICpwcml2aywgU0VDS0VZUAotICAgICAgICAgcmV0dXJuIFNFQ0ZhaWx1cmU7 Ci0gICAgIH0KLSAKLSAgICAgLyogQ2hhbmdlIGNlcnQgdHlwZSB0byBSU0EtUFNTLCBpZiBkZXNp cmVkLiAqLwotICAgICBpZiAocHNzQ2VydGlmaWNhdGUpIHsKLSAgICAgICAgIC8qIGZvcmNlIGEg UFNTIHNpZ25hdHVyZS4gV2UgY2FuIGRvIGEgUFNTIHNpZ25hdHVyZSB3aXRoIGFuCi0gICAgICAg ICAgKiBSU0Ega2V5LCB0aGlzIHdpbGwgZm9yY2UgdXMgdG8gZ2VuZXJhdGUgYSBQU1Mgc2lnbmF0 dXJlICovCi0gICAgICAgICBzaWduQWxnVGFnID0gU0VDX09JRF9QS0NTMV9SU0FfUFNTX1NJR05B VFVSRTsKLSsgICAgICAgIC8qIHdlIGFyZSByZXVzaW5nIGFuIGFsZ29yaXRobSBpZCwgcHJldmVu dCB0aGUgYXNzZXJ0IHdoZW4gd2UgdHJ5Ci0rICAgICAgICAgKiB0byBzZXQgdGhlIHBhcmFtZXRl cnMgb2YgdGhhdCBhbGdvcml0aG0gaWQgKi8KLSsgICAgICAgIHNwa2ktPmFsZ29yaXRobS5wYXJh bWV0ZXJzLmRhdGEgPSBOVUxMOwotKyAgICAgICAgc3BraS0+YWxnb3JpdGhtLnBhcmFtZXRlcnMu bGVuID0gMDsKLSAgICAgICAgIC8qIG92ZXJyaWRlIHRoZSBTUEtJIGFsZ29yaXRobSBpZC4gKi8K LSAgICAgICAgIHJ2ID0gU0VDX0NyZWF0ZVNpZ25hdHVyZUFsZ29yaXRobUlEKGFyZW5hLCAmc3Br aS0+YWxnb3JpdGhtLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc2lnbkFsZ1RhZywgaGFzaEFsZ1RhZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIE5VTEwsIE5VTEwsIHB1YmspOwotICAgICAgICAgaWYgKHJ2ICE9IFNF Q1N1Y2Nlc3MpIHsKLSAgICAgICAgICAgICBQT1JUX0ZyZWVBcmVuYShhcmVuYSwgUFJfRkFMU0Up OwotICAgICAgICAgICAgIFNFQ0tFWV9EZXN0cm95U3ViamVjdFB1YmxpY0tleUluZm8oc3BraSk7 Ci0gICAgICAgICAgICAgU0VDVV9QcmludEVycm9yKHByb2dOYW1lLCAidW5hYmxlIHRvIHNldCBh bGdvcml0aG0gSUQiKTsKLWRpZmYgLS1naXQgYS9ndGVzdHMvY3J5cHRvaGlfZ3Rlc3QvY3J5cHRv aGlfdW5pdHRlc3QuY2MgYi9ndGVzdHMvY3J5cHRvaGlfZ3Rlc3QvY3J5cHRvaGlfdW5pdHRlc3Qu Y2MKLS0tLSBhL2d0ZXN0cy9jcnlwdG9oaV9ndGVzdC9jcnlwdG9oaV91bml0dGVzdC5jYwotKysr IGIvZ3Rlc3RzL2NyeXB0b2hpX2d0ZXN0L2NyeXB0b2hpX3VuaXR0ZXN0LmNjCi1AQCAtMTA1LDE3 ICsxMDUsMTcgQEAgY2xhc3MgU2lnblBhcmFtc1Rlc3RGIDogcHVibGljIDo6dGVzdGluZwotICAg ICBTRUNJdGVtICpzYWx0TGVuZ3RoSXRlbSA9Ci0gICAgICAgICBTRUNfQVNOMUVuY29kZUludGVn ZXIoYXJlbmFfLmdldCgpLCAmcGFyYW1zLT5zYWx0TGVuZ3RoLCBzYWx0TGVuZ3RoKTsKLSAgICAg QVNTRVJUX0VRKCZwYXJhbXMtPnNhbHRMZW5ndGgsIHNhbHRMZW5ndGhJdGVtKTsKLSAgIH0KLSAK LSAgIHZvaWQgQ2hlY2tIYXNoQWxnKFNFQ0tFWVJTQVBTU1BhcmFtcyAqcGFyYW1zLCBTRUNPaWRU YWcgaGFzaEFsZ1RhZykgewotICAgICAvLyBJZiBoYXNoIGFsZ29yaXRobSBpcyBTSEEtMSwgaXQg bXVzdCBiZSBvbWl0dGVkIGluIHRoZSBwYXJhbWV0ZXJzCi0gICAgIGlmIChoYXNoQWxnVGFnID09 IFNFQ19PSURfU0hBMSkgewotLSAgICAgIEVYUEVDVF9FUShudWxscHRyLCBwYXJhbXMtPmhhc2hB bGcpOwotKyAgICAgIEVYUEVDVF9FUShudWxscHRyLCBwYXJhbXMtPmhhc2hBbGcpIDw8ICJvaWQ9 PSIgPDwgU0VDT0lEX0ZpbmRPSURUYWdEZXNjcmlwdGlvbihTRUNPSURfR2V0QWxnb3JpdGhtVGFn KHBhcmFtcy0+aGFzaEFsZykpOwotICAgICB9IGVsc2UgewotICAgICAgIEVYUEVDVF9ORShudWxs cHRyLCBwYXJhbXMtPmhhc2hBbGcpOwotICAgICAgIEVYUEVDVF9FUShoYXNoQWxnVGFnLCBTRUNP SURfR2V0QWxnb3JpdGhtVGFnKHBhcmFtcy0+aGFzaEFsZykpOwotICAgICB9Ci0gICB9Ci0gCi0g ICB2b2lkIENoZWNrTWFza0FsZyhTRUNLRVlSU0FQU1NQYXJhbXMgKnBhcmFtcywgU0VDT2lkVGFn IGhhc2hBbGdUYWcpIHsKLSAgICAgU0VDU3RhdHVzIHJ2OwotQEAgLTIyNSwyMiArMjI1LDE2IEBA IFRFU1RfUChTaWduUGFyYW1zVGVzdCwgQ3JlYXRlUnNhUHNzKSB7Ci0gICB9IGVsc2UgewotICAg ICBzcmNQYXJhbXMgPSBOVUxMOwotICAgfQotIAotICAgU0VDSXRlbSAqcGFyYW1zID0gU0VDX0Ny ZWF0ZVNpZ25hdHVyZUFsZ29yaXRobVBhcmFtZXRlcnMoCi0gICAgICAgYXJlbmFfLmdldCgpLCBu dWxscHRyLCBTRUNfT0lEX1BLQ1MxX1JTQV9QU1NfU0lHTkFUVVJFLCBoYXNoQWxnLAotICAgICAg IHNyY1BhcmFtcywgcHJpdmtfLmdldCgpKTsKLSAKLS0gIGlmIChoYXNoQWxnICE9IFNFQ19PSURf VU5LTk9XTiAmJiBzcmNIYXNoQWxnICE9IFNFQ19PSURfVU5LTk9XTiAmJgotLSAgICAgIGhhc2hB bGcgIT0gc3JjSGFzaEFsZykgewotLSAgICBFWFBFQ1RfRVEobnVsbHB0ciwgcGFyYW1zKTsKLS0g ICAgcmV0dXJuOwotLSAgfQotLQotICAgRVhQRUNUX05FKG51bGxwdHIsIHBhcmFtcyk7Ci0gCi0g ICBTRUNLRVlSU0FQU1NQYXJhbXMgcHNzUGFyYW1zOwotICAgUE9SVF9NZW1zZXQoJnBzc1BhcmFt cywgMCwgc2l6ZW9mKHBzc1BhcmFtcykpOwotICAgU0VDU3RhdHVzIHJ2ID0KLSAgICAgICBTRUNf UXVpY2tERVJEZWNvZGVJdGVtKGFyZW5hXy5nZXQoKSwgJnBzc1BhcmFtcywKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFNFQ19BU04xX0dFVChTRUNLRVlfUlNBUFNTUGFyYW1zVGVtcGxh dGUpLCBwYXJhbXMpOwotICAgQVNTRVJUX0VRKFNFQ1N1Y2Nlc3MsIHJ2KTsKLUBAIC0yOTQsODMg KzI4OCwxMDAgQEAgVEVTVF9QKFNpZ25QYXJhbXNUZXN0LCBDcmVhdGVSc2FQc3NXaXRoRQotIAot IFRFU1RfUChTaWduUGFyYW1zVGVzdCwgQ3JlYXRlUnNhUHNzV2l0aEludmFsaWRIYXNoQWxnKSB7 Ci0gICBTRUNPaWRUYWcgc3JjSGFzaEFsZyA9IHN0ZDo6Z2V0PDE+KEdldFBhcmFtKCkpOwotIAot ICAgU0VDSXRlbSAqc3JjUGFyYW1zOwotICAgaWYgKHNyY0hhc2hBbGcgIT0gU0VDX09JRF9VTktO T1dOKSB7Ci0gICAgIFNFQ0tFWVJTQVBTU1BhcmFtcyBwc3NQYXJhbXM7Ci0gICAgIEFTU0VSVF9O T19GQVRBTF9GQUlMVVJFKAotLSAgICAgICAgQ3JlYXRlUHNzUGFyYW1zKCZwc3NQYXJhbXMsIHNy Y0hhc2hBbGcsIHNyY0hhc2hBbGcpKTsKLSsgICAgICAgIENyZWF0ZVBzc1BhcmFtcygmcHNzUGFy YW1zLCBTRUNfT0lEX01ENSwgU0VDX09JRF9NRDUpKTsKLSAgICAgc3JjUGFyYW1zID0gU0VDX0FT TjFFbmNvZGVJdGVtKGFyZW5hXy5nZXQoKSwgbnVsbHB0ciwgJnBzc1BhcmFtcywKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNFQ19BU04xX0dFVChTRUNLRVlfUlNBUFNTUGFy YW1zVGVtcGxhdGUpKTsKLSAgICAgQVNTRVJUX05FKG51bGxwdHIsIHNyY1BhcmFtcyk7Ci0gICB9 IGVsc2UgewotICAgICBzcmNQYXJhbXMgPSBOVUxMOwotICAgfQotIAotICAgU0VDSXRlbSAqcGFy YW1zID0gU0VDX0NyZWF0ZVNpZ25hdHVyZUFsZ29yaXRobVBhcmFtZXRlcnMoCi0tICAgICAgYXJl bmFfLmdldCgpLCBudWxscHRyLCBTRUNfT0lEX1BLQ1MxX1JTQV9QU1NfU0lHTkFUVVJFLCBTRUNf T0lEX01ENSwKLSsgICAgICBhcmVuYV8uZ2V0KCksIG51bGxwdHIsIFNFQ19PSURfUEtDUzFfUlNB X1BTU19TSUdOQVRVUkUsIHNyY0hhc2hBbGcsCi0gICAgICAgc3JjUGFyYW1zLCBwcml2a18uZ2V0 KCkpOwotIAotLSAgRVhQRUNUX0VRKG51bGxwdHIsIHBhcmFtcyk7Ci0rICAvKiBvdmVycmlkZSBp bnZhbGlkIGhhc2ggd2l0aCB2YWxpZCBoYXNoICovCi0rICBFWFBFQ1RfTkUobnVsbHB0ciwgcGFy YW1zKTsKLSsgIC8qIGFzc2VydCBwYXJhbXMgLT5oYXNoQWxnICE9IFNFQ19PSURfTUQ1ICovCi0g fQotIAotIFRFU1RfUChTaWduUGFyYW1zU291cmNlVGVzdCwgQ3JlYXRlUnNhUHNzV2l0aEludmFs aWRIYXNoQWxnKSB7Ci0gICBTRUNPaWRUYWcgaGFzaEFsZyA9IEdldFBhcmFtKCk7Ci0gCi0gICBT RUNJdGVtICpzcmNQYXJhbXM7Ci0gICBTRUNLRVlSU0FQU1NQYXJhbXMgcHNzUGFyYW1zOwotICAg QVNTRVJUX05PX0ZBVEFMX0ZBSUxVUkUoCi0tICAgICAgQ3JlYXRlUHNzUGFyYW1zKCZwc3NQYXJh bXMsIFNFQ19PSURfTUQ1LCBTRUNfT0lEX01ENSkpOwotKyAgICAgIENyZWF0ZVBzc1BhcmFtcygm cHNzUGFyYW1zLCBoYXNoQWxnLCBoYXNoQWxnKSk7Ci0gICBzcmNQYXJhbXMgPSBTRUNfQVNOMUVu Y29kZUl0ZW0oYXJlbmFfLmdldCgpLCBudWxscHRyLCAmcHNzUGFyYW1zLAotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFNFQ19BU04xX0dFVChTRUNLRVlfUlNBUFNTUGFyYW1zVGVt cGxhdGUpKTsKLSAgIEFTU0VSVF9ORShudWxscHRyLCBzcmNQYXJhbXMpOwotIAotICAgU0VDSXRl bSAqcGFyYW1zID0gU0VDX0NyZWF0ZVNpZ25hdHVyZUFsZ29yaXRobVBhcmFtZXRlcnMoCi0tICAg ICAgYXJlbmFfLmdldCgpLCBudWxscHRyLCBTRUNfT0lEX1BLQ1MxX1JTQV9QU1NfU0lHTkFUVVJF LCBoYXNoQWxnLAotKyAgICAgIGFyZW5hXy5nZXQoKSwgbnVsbHB0ciwgU0VDX09JRF9QS0NTMV9S U0FfUFNTX1NJR05BVFVSRSwgU0VDX09JRF9NRDQsCi0gICAgICAgc3JjUGFyYW1zLCBwcml2a18u Z2V0KCkpOwotIAotICAgRVhQRUNUX0VRKG51bGxwdHIsIHBhcmFtcyk7Ci0gfQotIAotIFRFU1Rf UChTaWduUGFyYW1zU291cmNlVGVzdCwgQ3JlYXRlUnNhUHNzV2l0aEludmFsaWRTYWx0TGVuZ3Ro KSB7Ci0gICBTRUNPaWRUYWcgaGFzaEFsZyA9IEdldFBhcmFtKCk7Ci0gCi0gICBTRUNJdGVtICpz cmNQYXJhbXM7Ci0gICBTRUNLRVlSU0FQU1NQYXJhbXMgcHNzUGFyYW1zOwotICAgQVNTRVJUX05P X0ZBVEFMX0ZBSUxVUkUoCi0tICAgICAgQ3JlYXRlUHNzUGFyYW1zKCZwc3NQYXJhbXMsIFNFQ19P SURfU0hBNTEyLCBTRUNfT0lEX1NIQTUxMiwgMTAwKSk7Ci0rICAgICAgQ3JlYXRlUHNzUGFyYW1z KCZwc3NQYXJhbXMsIFNFQ19PSURfU0hBNTEyLCBTRUNfT0lEX1NIQTUxMiwgMTEwKSk7Ci0gICBz cmNQYXJhbXMgPSBTRUNfQVNOMUVuY29kZUl0ZW0oYXJlbmFfLmdldCgpLCBudWxscHRyLCAmcHNz UGFyYW1zLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNFQ19BU04xX0dFVChT RUNLRVlfUlNBUFNTUGFyYW1zVGVtcGxhdGUpKTsKLSAgIEFTU0VSVF9ORShudWxscHRyLCBzcmNQ YXJhbXMpOwotIAotICAgU0VDSXRlbSAqcGFyYW1zID0gU0VDX0NyZWF0ZVNpZ25hdHVyZUFsZ29y aXRobVBhcmFtZXRlcnMoCi0gICAgICAgYXJlbmFfLmdldCgpLCBudWxscHRyLCBTRUNfT0lEX1BL Q1MxX1JTQV9QU1NfU0lHTkFUVVJFLCBoYXNoQWxnLAotICAgICAgIHNyY1BhcmFtcywgcHJpdmtf LmdldCgpKTsKLSAKLSAgIEVYUEVDVF9FUShudWxscHRyLCBwYXJhbXMpOwotIH0KLSAKLSBURVNU X1AoU2lnblBhcmFtc1NvdXJjZVRlc3QsIENyZWF0ZVJzYVBzc1dpdGhIYXNoTWlzbWF0Y2gpIHsK LSAgIFNFQ09pZFRhZyBoYXNoQWxnID0gR2V0UGFyYW0oKTsKLSAKLSAgIFNFQ0l0ZW0gKnNyY1Bh cmFtczsKLSAgIFNFQ0tFWVJTQVBTU1BhcmFtcyBwc3NQYXJhbXM7Ci0rICBpZiAoKGhhc2hBbGcg PT0gIFNFQ19PSURfVU5LTk9XTikgfHwgKGhhc2hBbGcgPT0gU0VDX09JRF9TSEE1MTIpKSB7Ci0r ICAgIGhhc2hBbGcgPSBTRUNfT0lEX1NIQTE7Ci0rICB9Ci0gICBBU1NFUlRfTk9fRkFUQUxfRkFJ TFVSRSgKLS0gICAgICBDcmVhdGVQc3NQYXJhbXMoJnBzc1BhcmFtcywgU0VDX09JRF9TSEEyNTYs IFNFQ19PSURfU0hBNTEyKSk7Ci0rICAgICAgQ3JlYXRlUHNzUGFyYW1zKCZwc3NQYXJhbXMsIGhh c2hBbGcsIFNFQ19PSURfU0hBNTEyKSk7Ci0gICBzcmNQYXJhbXMgPSBTRUNfQVNOMUVuY29kZUl0 ZW0oYXJlbmFfLmdldCgpLCBudWxscHRyLCAmcHNzUGFyYW1zLAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFNFQ19BU04xX0dFVChTRUNLRVlfUlNBUFNTUGFyYW1zVGVtcGxhdGUp KTsKLSAgIEFTU0VSVF9ORShudWxscHRyLCBzcmNQYXJhbXMpOwotIAotICAgU0VDSXRlbSAqcGFy YW1zID0gU0VDX0NyZWF0ZVNpZ25hdHVyZUFsZ29yaXRobVBhcmFtZXRlcnMoCi0tICAgICAgYXJl bmFfLmdldCgpLCBudWxscHRyLCBTRUNfT0lEX1BLQ1MxX1JTQV9QU1NfU0lHTkFUVVJFLCBoYXNo QWxnLAotKyAgICAgIGFyZW5hXy5nZXQoKSwgbnVsbHB0ciwgU0VDX09JRF9QS0NTMV9SU0FfUFNT X1NJR05BVFVSRSwgU0VDX09JRF9VTktOT1dOLAotICAgICAgIHNyY1BhcmFtcywgcHJpdmtfLmdl dCgpKTsKLSAKLS0gIEVYUEVDVF9FUShudWxscHRyLCBwYXJhbXMpOwotKyAgRVhQRUNUX05FKG51 bGxwdHIsIHBhcmFtcyk7Ci0rCi0rICBQT1JUX01lbXNldCgmcHNzUGFyYW1zLCAwLCBzaXplb2Yo cHNzUGFyYW1zKSk7Ci0rICBTRUNTdGF0dXMgcnYgPQotKyAgICAgIFNFQ19RdWlja0RFUkRlY29k ZUl0ZW0oYXJlbmFfLmdldCgpLCAmcHNzUGFyYW1zLAotKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgU0VDX0FTTjFfR0VUKFNFQ0tFWV9SU0FQU1NQYXJhbXNUZW1wbGF0ZSksIHBhcmFtcyk7 Ci0rICBBU1NFUlRfRVEoU0VDU3VjY2VzcywgcnYpOwotKyAgQVNTRVJUX05PX0ZBVEFMX0ZBSUxV UkUoQ2hlY2tIYXNoQWxnKCZwc3NQYXJhbXMsIGhhc2hBbGcpKTsKLSsgIEFTU0VSVF9OT19GQVRB TF9GQUlMVVJFKENoZWNrTWFza0FsZygmcHNzUGFyYW1zLCBoYXNoQWxnKSk7Ci0rICBBU1NFUlRf Tk9fRkFUQUxfRkFJTFVSRShDaGVja1NhbHRMZW5ndGgoJnBzc1BhcmFtcywgaGFzaEFsZykpOwot KwotKyAgLy8gVGhlIGRlZmF1bHQgdHJhaWxlciBmaWVsZCAoMSkgbXVzdCBiZSBvbWl0dGVkCi0r ICBFWFBFQ1RfRVEobnVsbHB0ciwgcHNzUGFyYW1zLnRyYWlsZXJGaWVsZC5kYXRhKTsKLSB9Ci0g Ci0gSU5TVEFOVElBVEVfVEVTVF9TVUlURV9QKAotICAgICBTaWduUGFyYW1zVGVzdENhc2VzLCBT aWduUGFyYW1zVGVzdCwKLSAgICAgOjp0ZXN0aW5nOjpDb21iaW5lKDo6dGVzdGluZzo6VmFsdWVz KFNFQ19PSURfVU5LTk9XTiwgU0VDX09JRF9TSEExLAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgU0VDX09JRF9TSEEyMjQsIFNFQ19PSURfU0hBMjU2LAotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0VDX09JRF9TSEEzODQsIFNFQ19P SURfU0hBNTEyKSwKLSAgICAgICAgICAgICAgICAgICAgICAgIDo6dGVzdGluZzo6VmFsdWVzKFNF Q19PSURfVU5LTk9XTiwgU0VDX09JRF9TSEExLAotZGlmZiAtLWdpdCBhL2xpYi9jcnlwdG9oaS9z ZWNrZXkuYyBiL2xpYi9jcnlwdG9oaS9zZWNrZXkuYwotLS0tIGEvbGliL2NyeXB0b2hpL3NlY2tl eS5jCi0rKysgYi9saWIvY3J5cHRvaGkvc2Vja2V5LmMKLUBAIC0yODc2LDIxICsyODc2LDIzIEBA IHNlY19EZWNvZGVSU0FQU1NQYXJhbXMoUExBcmVuYVBvb2wgKmFyZW4KLSAgICAgU0VDS0VZUlNB UFNTUGFyYW1zIHBzc1BhcmFtczsKLSAgICAgU0VDT2lkVGFnIGhhc2hBbGc7Ci0gICAgIFNFQ09p ZFRhZyBtYXNrSGFzaEFsZzsKLSAgICAgdW5zaWduZWQgbG9uZyBzYWx0TGVuZ3RoOwotICAgICB1 bnNpZ25lZCBsb25nIHRyYWlsZXJGaWVsZDsKLSAgICAgU0VDU3RhdHVzIHJ2OwotIAotICAgICBQ T1JUX01lbXNldCgmcHNzUGFyYW1zLCAwLCBzaXplb2YocHNzUGFyYW1zKSk7Ci0tICAgIHJ2ID0g U0VDX1F1aWNrREVSRGVjb2RlSXRlbShhcmVuYSwgJnBzc1BhcmFtcywKLS0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFNFQ0tFWV9SU0FQU1NQYXJhbXNUZW1wbGF0ZSwKLS0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtcyk7Ci0tICAgIGlmIChydiAhPSBTRUNTdWNj ZXNzKSB7Ci0tICAgICAgICByZXR1cm4gcnY7Ci0rICAgIGlmIChwYXJhbXMgJiYgKHBhcmFtcy0+ bGVuICE9IDApKSB7Ci0rICAgICAgICBydiA9IFNFQ19RdWlja0RFUkRlY29kZUl0ZW0oYXJlbmEs ICZwc3NQYXJhbXMsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0VDS0VZ X1JTQVBTU1BhcmFtc1RlbXBsYXRlLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHBhcmFtcyk7Ci0rICAgICAgICBpZiAocnYgIT0gU0VDU3VjY2VzcykgewotKyAgICAgICAg ICAgIHJldHVybiBydjsKLSsgICAgICAgIH0KLSAgICAgfQotIAotICAgICBpZiAocHNzUGFyYW1z Lmhhc2hBbGcpIHsKLSAgICAgICAgIGhhc2hBbGcgPSBTRUNPSURfR2V0QWxnb3JpdGhtVGFnKHBz c1BhcmFtcy5oYXNoQWxnKTsKLSAgICAgfSBlbHNlIHsKLSAgICAgICAgIGhhc2hBbGcgPSBTRUNf T0lEX1NIQTE7IC8qIGRlZmF1bHQsIFNIQS0xICovCi0gICAgIH0KLSAKLWRpZmYgLS1naXQgYS9s aWIvY3J5cHRvaGkvc2Vjc2lnbi5jIGIvbGliL2NyeXB0b2hpL3NlY3NpZ24uYwotLS0tIGEvbGli L2NyeXB0b2hpL3NlY3NpZ24uYwotKysrIGIvbGliL2NyeXB0b2hpL3NlY3NpZ24uYwotQEAgLTgx NCwxNiArODE0LDE4IEBAIHNlY19DcmVhdGVSU0FQU1NQYXJhbWV0ZXJzKFBMQXJlbmFQb29sICoK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICBTRUNPaWRUYWcgaGFzaEFsZ1RhZywKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBTRUNJdGVtICpwYXJhbXMsCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgaW50IG1vZEJ5dGVzKQotIHsKLSAgICAgU0VDS0VZUlNBUFNTUGFy YW1zIHBzc1BhcmFtczsKLSAgICAgaW50IGhhc2hMZW5ndGg7Ci0gICAgIHVuc2lnbmVkIGxvbmcg c2FsdExlbmd0aDsKLSAgICAgUFJCb29sIGRlZmF1bHRTSEExID0gUFJfRkFMU0U7Ci0rICAgIFBS Qm9vbCBvdmVyV3JpdGVIYXNoID0gUFJfVFJVRTsKLSsgICAgUFJCb29sIG92ZXJXcml0ZU1hc2sg PSBQUl9UUlVFOwotICAgICBTRUNTdGF0dXMgcnY7Ci0gCi0gICAgIFBPUlRfTWVtc2V0KCZwc3NQ YXJhbXMsIDAsIHNpemVvZihwc3NQYXJhbXMpKTsKLSAKLSAgICAgaWYgKHBhcmFtcyAmJiBwYXJh bXMtPmRhdGEpIHsKLSAgICAgICAgIC8qIFRoZSBwYXJhbWV0ZXJzIGZpZWxkIHNob3VsZCBlaXRo ZXIgYmUgZW1wdHkgb3IgY29udGFpbgotICAgICAgICAgICogdmFsaWQgUlNBLVBTUyBwYXJhbWV0 ZXJzICovCi0gICAgICAgICBQT1JUX0Fzc2VydCghKHBhcmFtcy0+bGVuID09IDIgJiYKLUBAIC04 MzEsMTYgKzgzMywxOCBAQCBzZWNfQ3JlYXRlUlNBUFNTUGFyYW1ldGVycyhQTEFyZW5hUG9vbCAq Ci0gICAgICAgICAgICAgICAgICAgICAgIHBhcmFtcy0+ZGF0YVsxXSA9PSAwKSk7Ci0gICAgICAg ICBydiA9IFNFQ19RdWlja0RFUkRlY29kZUl0ZW0oYXJlbmEsICZwc3NQYXJhbXMsCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0VDS0VZX1JTQVBTU1BhcmFtc1RlbXBsYXRl LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtcyk7Ci0gICAgICAg ICBpZiAocnYgIT0gU0VDU3VjY2VzcykgewotICAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAg ICAgICAgfQotICAgICAgICAgZGVmYXVsdFNIQTEgPSBQUl9UUlVFOwotKyAgICAgICAgb3Zlcldy aXRlSGFzaCA9IFBSX0ZBTFNFOwotKyAgICAgICAgb3ZlcldyaXRlTWFzayA9IFBSX0ZBTFNFOwot ICAgICB9Ci0gCi0gICAgIGlmIChwc3NQYXJhbXMudHJhaWxlckZpZWxkLmRhdGEpIHsKLSAgICAg ICAgIHVuc2lnbmVkIGxvbmcgdHJhaWxlckZpZWxkOwotIAotICAgICAgICAgcnYgPSBTRUNfQVNO MURlY29kZUludGVnZXIoKFNFQ0l0ZW0gKikmcHNzUGFyYW1zLnRyYWlsZXJGaWVsZCwKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ0cmFpbGVyRmllbGQpOwotICAgICAgICAg aWYgKHJ2ICE9IFNFQ1N1Y2Nlc3MpIHsKLUBAIC04NTEsMTkgKzg1NSwyMSBAQCBzZWNfQ3JlYXRl UlNBUFNTUGFyYW1ldGVycyhQTEFyZW5hUG9vbCAqCi0gICAgICAgICAgICAgcmV0dXJuIE5VTEw7 Ci0gICAgICAgICB9Ci0gICAgIH0KLSAKLSAgICAgLyogRGV0ZXJtaW5lIHRoZSBoYXNoIGFsZ29y aXRobSB0byB1c2UsIGJhc2VkIG9uIGhhc2hBbGdUYWcgYW5kCi0gICAgICAqIHBzc1BhcmFtcy5o YXNoQWxnOyB0aGVyZSBhcmUgNiAgY2FzZXMuCi0gICAgICAqICBjYXNlOgotICAgICAgKiAgMSkg V2UgaGF2ZSBwYXJhbXMgYW5kIHBhcmFtcy5oYXNoQWxnIGFuZCB3ZSBoYXZlIGEgc3BlY2lmaWVk IGhhc2hBbGdUYWcsCi0tICAgICAqICBtYWtlIHN1cmUgdGhhdCBoYXNoQWxnVGFnIHNwZWNpZmll ZCBieSB0aGUgYXBwaWNhdGlvbiBtYXRjaGVzLgotKyAgICAgKiAgbWFrZSBzdXJlIHRoYXQgaGFz aEFsZ1RhZyBzcGVjaWZpZWQgYnkgdGhlIGFwcGljYXRpb24gbWF0Y2hlcywgb3RoZXJzaXplIHdl Ci0rICAgICAqICBvdmVyd3JpdGUgcGFyYW1zLmhhc2hBbGcgd2l0aCBoYXNoQWxnVGFnLgotICAg ICAgKiAgMikgV2UgaGF2ZSBwYXJhbXMsIGJ1dCBubyBwYXJhbXMuaGFzaEFsZyBhbmQgd2UgaGF2 ZSBhIHNwZWNpZmllZAotLSAgICAgKiAgaGFzaEFsZywgbWFrZSBzdXJlIHRoZSBoYXNoQWxnVGFn IG1hdGNoZXMgU0VDX09JRF9TSEExLgotKyAgICAgKiAgaGFzaEFsZywgbWFrZSBzdXJlIHRoZSBo YXNoQWxnVGFnIG1hdGNoZXMgU0VDX09JRF9TSEExLCBvdGhlcndpc2Ugd2UKLSsgICAgICogIG92 ZXJ3cml0ZSBwYXJhbXMuaGFzaEFsZyB3aXRoIGhhc2hBbGdUYWcuLgotICAgICAgKiAgMykgd2Ug ZGlkIG5vdCBzcGVjaWZ5IGFueSBwYXJhbWV0ZXJzIGJ1dCB3ZSBkaWQgc3BlY2lmaWVkCi0gICAg ICAqICBhIGhhc2hBbGdUYWcuIFVzZSB0aGUgc3BlY2lmaWVkIGhhc2ggYWxndGFnLgotICAgICAg KiAgNCkgV2UgaGF2ZSBwYXJhbXMgYW5kIHBhcmFtcy5oYXNoQWxnIGFuZCB3ZSBkaWQgbm90IHNw ZWNpZnkgYQotICAgICAgKiAgaGFzaEFsZ1RhZywgdXNlIHRoZSBoYXNoQWxnIGZyb20gdGhlIHBh cmFtZXRlci4KLSAgICAgICogIDUpIFdlIGhhdmUgcGFyYW1zLCBidXQgbm8gcGFyYW1zLmhhc2hB bGcgYW5kIHdlIGRpZCBub3Qgc3BlY2lmeSBhCi0gICAgICAqICBoYXNoQWxnVGFnLCB1c2UgdGhl IFNFQ19PSURfU0hBMQotICAgICAgKiAgNikgV2UgZGlkIG5vdCBzcGVjaWZ5IGFueSBwYXJhbWV0 ZXJzLCBub3IgZGlkIHdlIHNwZWNpZnkgYQotICAgICAgKiAgaGFzaEFsZ1RhZywgdXNlIHRoZSBr ZXkgc2l6ZSB0byBzZWxlY3QgYW4gYXBwcm9wcmlhdGUgaGFzaEFsZy4KLUBAIC04NzMsMzYgKzg3 OSw0MiBAQCBzZWNfQ3JlYXRlUlNBUFNTUGFyYW1ldGVycyhQTEFyZW5hUG9vbCAqCi0gCi0gICAg ICAgICBpZiAocHNzUGFyYW1zLmhhc2hBbGcpIHsKLSAgICAgICAgICAgICB0YWcgPSBTRUNPSURf R2V0QWxnb3JpdGhtVGFnKHBzc1BhcmFtcy5oYXNoQWxnKTsKLSAgICAgICAgIH0gZWxzZSBpZiAo ZGVmYXVsdFNIQTEpIHsKLSAgICAgICAgICAgICB0YWcgPSBTRUNfT0lEX1NIQTE7Ci0gICAgICAg ICB9Ci0gCi0gICAgICAgICBpZiAodGFnICE9IFNFQ19PSURfVU5LTk9XTiAmJiB0YWcgIT0gaGFz aEFsZ1RhZykgewotLSAgICAgICAgICAgIFBPUlRfU2V0RXJyb3IoU0VDX0VSUk9SX0lOVkFMSURf QVJHUyk7Ci0tICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0rICAgICAgICAgICAgb3ZlcldyaXRl SGFzaCA9IFBSX1RSVUU7Ci0gICAgICAgICB9Ci0gICAgIH0gZWxzZSBpZiAoaGFzaEFsZ1RhZyA9 PSBTRUNfT0lEX1VOS05PV04pIHsKLSAgICAgICAgIGlmIChwc3NQYXJhbXMuaGFzaEFsZykgewot ICAgICAgICAgICAgIGhhc2hBbGdUYWcgPSBTRUNPSURfR2V0QWxnb3JpdGhtVGFnKHBzc1BhcmFt cy5oYXNoQWxnKTsKLSAgICAgICAgIH0gZWxzZSBpZiAoZGVmYXVsdFNIQTEpIHsKLSAgICAgICAg ICAgICBoYXNoQWxnVGFnID0gU0VDX09JRF9TSEExOwotICAgICAgICAgfSBlbHNlIHsKLSAgICAg ICAgICAgICAvKiBGaW5kIGEgc3VpdGFibGUgaGFzaCBhbGdvcml0aG0gYmFzZWQgb24gdGhlIE5J U1QgcmVjb21tZW5kYXRpb24gKi8KLSAgICAgICAgICAgICBpZiAobW9kQnl0ZXMgPD0gMzg0KSB7 IC8qIDEyOCwgaW4gTklTVCA4MDAtNTcsIFBhcnQgMSAqLwotICAgICAgICAgICAgICAgICBoYXNo QWxnVGFnID0gU0VDX09JRF9TSEEyNTY7Ci0gICAgICAgICAgICAgfSBlbHNlIGlmIChtb2RCeXRl cyA8PSA5NjApIHsgLyogMTkyLCBOSVNUIDgwMC01NywgUGFydCAxICovCi0gICAgICAgICAgICAg ICAgIGhhc2hBbGdUYWcgPSBTRUNfT0lEX1NIQTM4NDsKLSAgICAgICAgICAgICB9IGVsc2Ugewot ICAgICAgICAgICAgICAgICBoYXNoQWxnVGFnID0gU0VDX09JRF9TSEE1MTI7Ci0gICAgICAgICAg ICAgfQotKyAgICAgICAgICAgIG92ZXJXcml0ZUhhc2ggPSBQUl9UUlVFOwotICAgICAgICAgfQot ICAgICB9Ci0gCi0rICAgIC8qIGhhbmRsZSB0aGUgY2FzZSB3aGVyZSB0aGUgcGFyYW1zIGludmFs aWRseSBlbmNvZGVkIFNFQ19PSURfU0hBMS4gVGhpcwotKyAgICAgKiB3aWxsIGZvcmNlIHRoZSBj b3JyZWN0IGVuY29kaW5nICovCi0rICAgIGlmICgoaGFzaEFsZ1RhZyA9PSBTRUNfT0lEX1NIQTEp ICYmIHBzc1BhcmFtcy5oYXNoQWxnKSB7Ci0rICAgICAgICBvdmVyV3JpdGVIYXNoID0gUFJfVFJV RTsKLSsgICAgfQotKwotICAgICAvKiBleHBsaWNpdGx5IHJlc3RyaWN0IGhhc2hBbGcgdG8gU0hB MiB2YXJpYW50cyAqLwotICAgICBpZiAoaGFzaEFsZ1RhZyAhPSBTRUNfT0lEX1NIQTEgJiYgaGFz aEFsZ1RhZyAhPSBTRUNfT0lEX1NIQTIyNCAmJgotICAgICAgICAgaGFzaEFsZ1RhZyAhPSBTRUNf T0lEX1NIQTI1NiAmJiBoYXNoQWxnVGFnICE9IFNFQ19PSURfU0hBMzg0ICYmCi0gICAgICAgICBo YXNoQWxnVGFnICE9IFNFQ19PSURfU0hBNTEyKSB7Ci0gICAgICAgICBQT1JUX1NldEVycm9yKFNF Q19FUlJPUl9JTlZBTElEX0FMR09SSVRITSk7Ci0gICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAg fQotIAotQEAgLTkyNywyMyArOTM5LDI0IEBAIHNlY19DcmVhdGVSU0FQU1NQYXJhbWV0ZXJzKFBM QXJlbmFQb29sICoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcHNzUGFy YW1zLm1hc2tBbGctPnBhcmFtZXRlcnMpOwotICAgICAgICAgaWYgKHJ2ICE9IFNFQ1N1Y2Nlc3Mp IHsKLSAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgIH0KLSAKLSAgICAgICAgIC8q IEZvbGxvd2luZyB0aGUgcmVjb21tZW5kYXRpb24gaW4gUkZDIDQwNTUsIGFzc3VtZSB0aGUgaGFz aAotICAgICAgICAgICogYWxnb3JpdGhtIGlkZW50aWNhbCB0byBwc3NQYXJhbS5oYXNoQWxnICov Ci0gICAgICAgICBpZiAoU0VDT0lEX0dldEFsZ29yaXRobVRhZygmbWFza0hhc2hBbGcpICE9IGhh c2hBbGdUYWcpIHsKLS0gICAgICAgICAgICBQT1JUX1NldEVycm9yKFNFQ19FUlJPUl9JTlZBTElE X0FMR09SSVRITSk7Ci0tICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0rICAgICAgICAgICAgb3Zl cldyaXRlTWFzayA9IFBSX1RSVUU7Ci0rICAgICAgICB9Ci0rICAgICAgICBpZiAoaGFzaEFsZ1Rh ZyA9PSBTRUNfT0lEX1NIQTEpIHsKLSsgICAgICAgICAgICBvdmVyV3JpdGVNYXNrID0gUFJfVFJV RTsKLSAgICAgICAgIH0KLSAgICAgfSBlbHNlIGlmIChkZWZhdWx0U0hBMSkgewotICAgICAgICAg aWYgKGhhc2hBbGdUYWcgIT0gU0VDX09JRF9TSEExKSB7Ci0tICAgICAgICAgICAgUE9SVF9TZXRF cnJvcihTRUNfRVJST1JfSU5WQUxJRF9BTEdPUklUSE0pOwotLSAgICAgICAgICAgIHJldHVybiBO VUxMOwotKyAgICAgICAgICAgIG92ZXJXcml0ZU1hc2sgPSBQUl9UUlVFOwotICAgICAgICAgfQot ICAgICB9Ci0gCi0gICAgIGhhc2hMZW5ndGggPSBIQVNIX1Jlc3VsdExlbkJ5T2lkVGFnKGhhc2hB bGdUYWcpOwotIAotICAgICBpZiAobW9kQnl0ZXMgPCBoYXNoTGVuZ3RoICsgMikgewotICAgICAg ICAgUE9SVF9TZXRFcnJvcihTRUNfRVJST1JfSU5WQUxJRF9BUkdTKTsKLSAgICAgICAgIHJldHVy biBOVUxMOwotQEAgLTk2MSw0MiArOTc0LDM4IEBAIHNlY19DcmVhdGVSU0FQU1NQYXJhbWV0ZXJz KFBMQXJlbmFQb29sICoKLSAgICAgICAgICAgICBQT1JUX1NldEVycm9yKFNFQ19FUlJPUl9JTlZB TElEX0FSR1MpOwotICAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICAgfQotICAgICB9 IGVsc2UgaWYgKGRlZmF1bHRTSEExKSB7Ci0gICAgICAgICBzYWx0TGVuZ3RoID0gMjA7Ci0gICAg IH0KLSAKLSAgICAgLyogRmlsbCBpbiB0aGUgcGFyYW1ldGVycyAqLwotLSAgICBpZiAocHNzUGFy YW1zLmhhc2hBbGcpIHsKLSsgICAgaWYgKG92ZXJXcml0ZUhhc2gpIHsKLSAgICAgICAgIGlmICho YXNoQWxnVGFnID09IFNFQ19PSURfU0hBMSkgewotICAgICAgICAgICAgIC8qIE9taXQgaGFzaEFs ZyBpZiB0aGUgdGhlIGFsZ29yaXRobSBpcyBTSEEtMSAoZGVmYXVsdCkgKi8KLSAgICAgICAgICAg ICBwc3NQYXJhbXMuaGFzaEFsZyA9IE5VTEw7Ci0tICAgICAgICB9Ci0tICAgIH0gZWxzZSB7Ci0t ICAgICAgICBpZiAoaGFzaEFsZ1RhZyAhPSBTRUNfT0lEX1NIQTEpIHsKLSsgICAgICAgIH0gZWxz ZSB7Ci0gICAgICAgICAgICAgcHNzUGFyYW1zLmhhc2hBbGcgPSBQT1JUX0FyZW5hWkFsbG9jKGFy ZW5hLCBzaXplb2YoU0VDQWxnb3JpdGhtSUQpKTsKLSAgICAgICAgICAgICBpZiAoIXBzc1BhcmFt cy5oYXNoQWxnKSB7Ci0gICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICAgICAg IH0KLSAgICAgICAgICAgICBydiA9IFNFQ09JRF9TZXRBbGdvcml0aG1JRChhcmVuYSwgcHNzUGFy YW1zLmhhc2hBbGcsIGhhc2hBbGdUYWcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgTlVMTCk7Ci0gICAgICAgICAgICAgaWYgKHJ2ICE9IFNFQ1N1Y2Nlc3MpIHsKLSAg ICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgICAgICAgfQotICAgICAgICAgfQot ICAgICB9Ci0gCi0tICAgIGlmIChwc3NQYXJhbXMubWFza0FsZykgewotKyAgICBpZiAob3Zlcldy aXRlTWFzaykgewotICAgICAgICAgaWYgKGhhc2hBbGdUYWcgPT0gU0VDX09JRF9TSEExKSB7Ci0g ICAgICAgICAgICAgLyogT21pdCBtYXNrQWxnIGlmIHRoZSB0aGUgYWxnb3JpdGhtIGlzIFNIQS0x IChkZWZhdWx0KSAqLwotICAgICAgICAgICAgIHBzc1BhcmFtcy5tYXNrQWxnID0gTlVMTDsKLS0g ICAgICAgIH0KLS0gICAgfSBlbHNlIHsKLS0gICAgICAgIGlmIChoYXNoQWxnVGFnICE9IFNFQ19P SURfU0hBMSkgewotKyAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICBTRUNJdGVtICpoYXNo QWxnSXRlbTsKLSAKLSAgICAgICAgICAgICBQT1JUX0Fzc2VydChwc3NQYXJhbXMuaGFzaEFsZyAh PSBOVUxMKTsKLSAKLSAgICAgICAgICAgICBoYXNoQWxnSXRlbSA9IFNFQ19BU04xRW5jb2RlSXRl bShhcmVuYSwgTlVMTCwgcHNzUGFyYW1zLmhhc2hBbGcsCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgU0VDX0FTTjFfR0VUKFNFQ09JRF9BbGdvcml0aG1JRFRl bXBsYXRlKSk7Ci0gICAgICAgICAgICAgaWYgKCFoYXNoQWxnSXRlbSkgewotICAgICAgICAgICAg ICAgICByZXR1cm4gTlVMTDsKLUBAIC0xMDg2LDE3ICsxMDk1LDE2IEBAIFNFQ19DcmVhdGVTaWdu YXR1cmVBbGdvcml0aG1QYXJhbWV0ZXJzKFAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBjb25zdCBTRUNJdGVtICpwYXJhbXMsCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgY29uc3QgU0VDS0VZUHJpdmF0ZUtleSAqa2V5KQotIHsKLSAgICAg UE9SVF9TZXRFcnJvcigwKTsKLSAgICAgc3dpdGNoIChzaWduQWxnVGFnKSB7Ci0gICAgICAgICBj YXNlIFNFQ19PSURfUEtDUzFfUlNBX1BTU19TSUdOQVRVUkU6Ci0gICAgICAgICAgICAgcmV0dXJu IFNFQ19DcmVhdGVSU0FQU1NQYXJhbWV0ZXJzKGFyZW5hLCByZXN1bHQsCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc2hBbGdUYWcsIHBhcmFtcywga2V5 LCBOVUxMKTsKLS0KLSAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICAgaWYgKHBhcmFtcyA9 PSBOVUxMKQotICAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgICAgICBpZiAo cmVzdWx0ID09IE5VTEwpCi0gICAgICAgICAgICAgICAgIHJlc3VsdCA9IFNFQ0lURU1fQWxsb2NJ dGVtKGFyZW5hLCBOVUxMLCAwKTsKLSAgICAgICAgICAgICBpZiAocmVzdWx0ID09IE5VTEwpIHsK LSAgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgICAgICAgfQotQEAgLTExMTIs MTYgKzExMjAsMTkgQEAgU0VDX0NyZWF0ZVZlcmlmeUFsZ29yaXRobVBhcmFtZXRlcnMoUExBcgot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNFQ09pZFRhZyBzaWduQWxnVGFn LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNFQ09pZFRhZyBoYXNoQWxn VGFnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFNFQ0l0ZW0g KnBhcmFtcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBTRUNL RVlQdWJsaWNLZXkgKmtleSkKLSB7Ci0gICAgIFBPUlRfU2V0RXJyb3IoMCk7Ci0gICAgIHN3aXRj aCAoc2lnbkFsZ1RhZykgewotICAgICAgICAgY2FzZSBTRUNfT0lEX1BLQ1MxX1JTQV9QU1NfU0lH TkFUVVJFOgotKyAgICAgICAgICAgIGlmICgoaGFzaEFsZ1RhZyA9PSBTRUNfT0lEX1VOS05PV04p ICYmICgocGFyYW1zID09IE5VTEwpIHx8IChwYXJhbXMtPmxlbiA9PSAwKSkpewotKyAgICAgICAg ICAgICAgICByZXR1cm4gTlVMTDsKLSsgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgcmV0dXJu IFNFQ19DcmVhdGVSU0FQU1NQYXJhbWV0ZXJzKGFyZW5hLCByZXN1bHQsCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc2hBbGdUYWcsIHBhcmFtcywgTlVM TCwga2V5KTsKLSAKLSAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICAgaWYgKHBhcmFtcyA9 PSBOVUxMKQotICAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgICAgICBpZiAo cmVzdWx0ID09IE5VTEwpCi0gICAgICAgICAgICAgICAgIHJlc3VsdCA9IFNFQ0lURU1fQWxsb2NJ dGVtKGFyZW5hLCBOVUxMLCAwKTsKLWRpZmYgLS1naXQgYS90ZXN0cy9jZXJ0L2NlcnQuc2ggYi90 ZXN0cy9jZXJ0L2NlcnQuc2gKLS0tLSBhL3Rlc3RzL2NlcnQvY2VydC5zaAotKysrIGIvdGVzdHMv Y2VydC9jZXJ0LnNoCi1AQCAtMjIzNCwyMCArMjIzNCwxOCBAQCBFT0YKLSAgICMgU2lnbmF0dXJl OiBSU0EtUFNTICh3aXRoIGNvbmZsaWN0aW5nIGhhc2ggYWxnb3JpdGhtKQotICAgQ0VSVE5BTUU9 IlRlc3RVc2VyLXJzYS1wc3M3IgotIAotICAgQ1VfQUNUSU9OPSJHZW5lcmF0ZSBDZXJ0IFJlcXVl c3QgZm9yICRDRVJUTkFNRSIKLSAgIENVX1NVQkpFQ1Q9IkNOPSRDRVJUTkFNRSwgRT0ke0NFUlRO QU1FfUBleGFtcGxlLmNvbSwgTz1CT0dVUyBOU1MsIEw9TW91bnRhaW4gVmlldywgU1Q9Q2FsaWZv cm5pYSwgQz1VUyIKLSAgIGNlcnR1IC1SIC1kICIke1BST0ZJTEVESVJ9IiAtZiAiJHtSX1BXRklM RX0iIC16ICIke1JfTk9JU0VfRklMRX0iIC0tcHNzIC1vIHJlcSAgMj4mMQotIAotICAgQ1VfQUNU SU9OPSJTaWduICR7Q0VSVE5BTUV9J3MgUmVxdWVzdCIKLS0gIFJFVEVYUEVDVEVEPTI1NQotICAg Y2VydHUgLUMgLWMgIlRlc3RDQS1yc2EtcHNzIiAtLXBzcy1zaWduIC1aIFNIQTUxMiAtbSAiJHtD RVJUU0VSSUFMfSIgLXYgNjAgLWQgIiR7UF9SX0NBRElSfSIgXAotICAgICAgICAgLWkgcmVxIC1v ICIke0NFUlROQU1FfS5jZXJ0IiAtZiAiJHtSX1BXRklMRX0iICIkMSIgMj4mMQotLSAgUkVURVhQ RUNURUQ9MAotIAotICAgQ0VSVFNFUklBTD1gZXhwciAkQ0VSVFNFUklBTCArIDFgCi0gCi0gICAj IFN1YmplY3QgY2VydGlmaWNhdGU6IFJTQS1QU1MKLSAgICMgSXNzdWVyIGNlcnRpZmljYXRlOiBS U0EtUFNTCi0gICAjIFNpZ25hdHVyZTogUlNBLVBTUyAod2l0aCBjb21wYXRpYmxlIGhhc2ggYWxn b3JpdGhtKQotICAgQ0VSVE5BTUU9IlRlc3RVc2VyLXJzYS1wc3M4IgotIAotQEAgLTIzNDUsMjAg KzIzNDMsMTggQEAgRU9GCi0gICAjIFNpZ25hdHVyZTogUlNBLVBTUyAod2l0aCBjb25mbGljdGlu ZyBoYXNoIGFsZ29yaXRobSwgZGVmYXVsdCBwYXJhbWV0ZXJzKQotICAgQ0VSVE5BTUU9IlRlc3RV c2VyLXJzYS1wc3MxMSIKLSAKLSAgIENVX0FDVElPTj0iR2VuZXJhdGUgQ2VydCBSZXF1ZXN0IGZv ciAkQ0VSVE5BTUUiCi0gICBDVV9TVUJKRUNUPSJDTj0kQ0VSVE5BTUUsIEU9JHtDRVJUTkFNRX1A ZXhhbXBsZS5jb20sIE89Qk9HVVMgTlNTLCBMPU1vdW50YWluIFZpZXcsIFNUPUNhbGlmb3JuaWEs IEM9VVMiCi0gICBjZXJ0dSAtUiAtZCAiJHtQUk9GSUxFRElSfSIgLWYgIiR7Ul9QV0ZJTEV9IiAt eiAiJHtSX05PSVNFX0ZJTEV9IiAtLXBzcyAtbyByZXEgIDI+JjEKLSAKLSAgIENVX0FDVElPTj0i U2lnbiAke0NFUlROQU1FfSdzIFJlcXVlc3QiCi0tICBSRVRFWFBFQ1RFRD0yNTUKLSAgIGNlcnR1 IC1DIC1jICJUZXN0Q0EtcnNhLXBzcy1zaGExIiAtLXBzcy1zaWduIC1aIFNIQTI1NiAtbSAiJHtD RVJUU0VSSUFMfSIgLXYgNjAgLWQgIiR7UF9SX0NBRElSfSIgXAotICAgICAgICAgLWkgcmVxIC1v ICIke0NFUlROQU1FfS5jZXJ0IiAtZiAiJHtSX1BXRklMRX0iICIkMSIgMj4mMQotLSAgUkVURVhQ RUNURUQ9MAotIH0KLSAKLSBjZXJ0X3Rlc3Rfb3JwaGFuX2tleV9kZWxldGUoKQotIHsKLSAgIENV X0FDVElPTj0iQ3JlYXRlIG9ycGhhbiBrZXkgaW4gc2VydmVyZGlyIgotICAgY2VydHUgLUcgLWsg ZWMgLXEgbmlzdHAyNTYgLWYgIiR7Ul9QV0ZJTEV9IiAteiAke1JfTk9JU0VfRklMRX0gLWQgJHtQ Uk9GSUxFRElSfQotICAgIyBMZXQncyBnZXQgdGhlIGtleSBJRCBvZiB0aGUgZmlyc3Qgb3JwaGFu IGtleS4KLSAgICMgVGhlIG91dHB1dCBvZiBjZXJ0dXRpbCAtSyAobGlzdCBrZXlzKSBpc24ndCB3 ZWxsIGZvcm1hdHRlZC4KCmRpZmYgLS1naXQgYS9uc3MtMy4xMjQtYW5ub2NoZWNrLmZpeC5wYXRj aCBiL25zcy0zLjEyNC1hbm5vY2hlY2suZml4LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCA2NGFlNTkwLi4wMDAwMDAwCi0tLSBhL25zcy0zLjEyNC1hbm5vY2hlY2suZml4LnBh dGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTcwICswLDAgQEAKLSMgSEcgY2hhbmdlc2V0IHBhdGNo Ci0jIFVzZXIgUm9iZXJ0IFJlbHllYSA8cnJlbHllYUByZWRoYXQuY29tPgotIyBEYXRlIDE3ODA0 NDA3OTUgMjUyMDAKLSMgICAgICBUdWUgSnVuIDAyIDE1OjUzOjE1IDIwMjYgLTA3MDAKLSMgQnJh bmNoIE5TU18zXzEyNF9CUkFOQ0gKLSMgTm9kZSBJRCBiMTIwOGU4OGVhNDViZGM1N2QwNGFlNjRl NjYxNGVlYzcwNzJiZDdmCi0jIFBhcmVudCAgN2I2MzFhZTVjMDY5M2JkYjI4ZTllZTlhNDE3MWVl ZTJkM2Q2MmQwYQotbnNzLTMuMTI0LWFubm9jaGVjay5maXgucGF0Y2gKLQotZGlmZiAtLWdpdCBh L2xpYi9mcmVlYmwvYXJjZm91ci1hbWQ2NC1nYXMucyBiL2xpYi9mcmVlYmwvYXJjZm91ci1hbWQ2 NC1nYXMucwotLS0tIGEvbGliL2ZyZWVibC9hcmNmb3VyLWFtZDY0LWdhcy5zCi0rKysgYi9saWIv ZnJlZWJsL2FyY2ZvdXItYW1kNjQtZ2FzLnMKLUBAIC0xLDExICsxLDM1IEBACi0gIyBUaGlzIFNv dXJjZSBDb2RlIEZvcm0gaXMgc3ViamVjdCB0byB0aGUgdGVybXMgb2YgdGhlIE1vemlsbGEgUHVi bGljCi0gIyBMaWNlbnNlLCB2LiAyLjAuIElmIGEgY29weSBvZiB0aGUgTVBMIHdhcyBub3QgZGlz dHJpYnV0ZWQgd2l0aCB0aGlzCi0gIyBmaWxlLCBZb3UgY2FuIG9idGFpbiBvbmUgYXQgaHR0cDov L21vemlsbGEub3JnL01QTC8yLjAvLgotKyMKLSsjIG5vbmUgb2YgdGhlIGZ1bmN0aW9ucyBhcmUg dXNlZCBhcyBhIHRhcmdldCBvZiBhbiBpbmRpcmVjdCBjYWxsLCBzbwotKyMgaXQncyBzYWZlIHRv IHNldCBJQlQuIElmIHdlIGV2ZXIgbmVlZCB0byBwdXQgdGhlc2UgYXQgdGhlIGVuZCBvZiBhCi0r IyBmdW5jdGlvbiB0YWJsZSBwb2ludGVyLCB0aGVuIHdlIHNob3VsZCBhbmQgRU5EQlI2NCBpbnN0 cnVjdGlvbnMgYXMgdGhlCi0rIyBmaXJzdCBpbnN0cnVjdGlvbiBvZiBlYWNoIGZ1bmN0aW9uLiAq LwotKyMgcmVmZXJlbmNlIG5hbWVzIGFyZSBpbiAvdXNyL2luY2x1ZGUvZWxmLmgKLSsgICAgICAg IC5zZWN0aW9uICAgICAgICAubm90ZS5nbnUucHJvcGVydHksImEiCi0rICAgICAgICAuYWxpZ24g OAotKyAgICAgICAgLmxvbmcgICAgMWYgLSAwZiAjIG5vdGVfZ251X25hbWVfZW5kIC0gbm90ZV9n bnVfbmFtZQotKyAgICAgICAgLmxvbmcgICAgNGYgLSAxZiAjIG5vdGVfZ251X2Rlc2NyaXB0b3Jf ZW5kIC1ub3RlX2dudV9kZXNjcmlwdG9yCi0rICAgICAgICAubG9uZyAgICA1ICMgR05VX1BST1BF UlRZX1RZUEVfMAotKzA6ICNub3RlX2dudV9uYW1lCi0rICAgICAgICAuc3RyaW5nICAiR05VIgot KzE6ICNub3RlX2dudV9lbmQKLSsgICAjbm90ZV9nbnVfZGVzY3JpcHRvcgotKyAgICAgICAgLmFs aWduIDgKLSsgICAgICAgIC5sb25nICAgIDB4YzAwMDAwMDIgIyBHTlVfUFJPUEVSVFlfWDg2X0ZF QVRVUkVfMV9BTkQKLSsgICAgICAgIC5sb25nICAgIDNmIC0gMmYgI25vdGVfZ251X2ZsYWdzX2Vu ZCAtIG5vdGVfZ251X2ZsYWdzCi0rMjogI25vdGVfZ251X2ZsYWdzCi0rICAgICAgICAubG9uZyAg ICAweDMgICAgIyBHTlVfUFJPUEVSVFlfWDg2X0ZFQVRVUkVfMV9JQlQgPSAxIHwKLSsgICAgICAg ICAgICAgICAgICAgICAgICAjIEdOVV9QUk9QRVJUWV9YODZfRkVBVFVSRV8xX1NIU1RLID0gMgot KzM6ICNub3RlX2dudV9mbGFnc19lbmQKLSsgICAgICAgIC5hbGlnbiA4Ci0rNDogI25vdGVfZ251 X2Rlc2NyaXB0b3JfZW5kCi0gCi0gIyAqKiBBUkNGT1VSIGltcGxlbWVudGF0aW9uIG9wdGltaXpl ZCBmb3IgQU1ENjQuCi0gIyAqKgotICMgKiogVGhlIHRocm91Z2hwdXQgYWNoaWV2ZWQgYnkgdGhp cyBjb2RlIGlzIGFib3V0IDMyMCBNQnl0ZXMvc2VjLCBvbgotICMgKiogYSAxLjggR0h6IEFNRCBP cHRlcm9uIChyZXYgQzApIHByb2Nlc3Nvci4KLSAKLSAudGV4dAotIC5hbGlnbiAxNgotZGlmZiAt LWdpdCBhL2xpYi9mcmVlYmwvaW50ZWwtYWVzLlMgYi9saWIvZnJlZWJsL2ludGVsLWFlcy5TCi0t LS0gYS9saWIvZnJlZWJsL2ludGVsLWFlcy5TCi0rKysgYi9saWIvZnJlZWJsL2ludGVsLWFlcy5T Ci1AQCAtMSwxMiArMSwzNCBAQAotIC8qIFRoaXMgU291cmNlIENvZGUgRm9ybSBpcyBzdWJqZWN0 IHRvIHRoZSB0ZXJtcyBvZiB0aGUgTW96aWxsYSBQdWJsaWMKLSAgKiBMaWNlbnNlLCB2LiAyLjAu IElmIGEgY29weSBvZiB0aGUgTVBMIHdhcyBub3QgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzCi0gICog ZmlsZSwgWW91IGNhbiBvYnRhaW4gb25lIGF0IGh0dHA6Ly9tb3ppbGxhLm9yZy9NUEwvMi4wLy4g Ki8KLS0KLSsvKiBub25lIG9mIHRoZSBmdW5jdGlvbnMgYXJlIHVzZWQgYXMgYSB0YXJnZXQgb2Yg YW4gaW5kaXJlY3QgY2FsbCwgc28KLSsgKiBpdCdzIHNhZmUgdG8gc2V0IElCVC4gSWYgd2UgZXZl ciBuZWVkIHRvIHB1dCB0aGVzZSBhdCB0aGUgZW5kIG9mIGEKLSsgKiBmdW5jdGlvbiB0YWJsZSBw b2ludGVyLCB0aGVuIHdlIHNob3VsZCBhbmQgRU5EQlI2NCBpbnN0cnVjdGlvbnMgYXMgdGhlCi0r ICogZmlyc3QgaW5zdHJ1Y3Rpb24gb2YgZWFjaCBmdW5jdGlvbi4gKi8KLSsjIHJlZmVyZW5jZSBu YW1lcyBhcmUgaW4gL3Vzci9pbmNsdWRlL2VsZi5oCi0rCS5zZWN0aW9uCS5ub3RlLmdudS5wcm9w ZXJ0eSwiYSIKLSsJLmFsaWduIDgKLSsJLmxvbmcJIDFmIC0gMGYgIyBub3RlX2dudV9uYW1lX2Vu ZCAtIG5vdGVfZ251X25hbWUKLSsJLmxvbmcJIDRmIC0gMWYgIyBub3RlX2dudV9kZXNjcmlwdG9y X2VuZCAtbm90ZV9nbnVfZGVzY3JpcHRvcgotKwkubG9uZwkgNSAjIEdOVV9QUk9QRVJUWV9UWVBF XzAKLSswOiAjbm90ZV9nbnVfbmFtZQotKwkuc3RyaW5nCSAiR05VIgotKzE6ICNub3RlX2dudV9l bmQKLSsgICAjbm90ZV9nbnVfZGVzY3JpcHRvcgotKwkuYWxpZ24gOAotKwkubG9uZwkgMHhjMDAw MDAwMiAjIEdOVV9QUk9QRVJUWV9YODZfRkVBVFVSRV8xX0FORAotKwkubG9uZwkgM2YgLSAyZiAj bm90ZV9nbnVfZmxhZ3NfZW5kIC0gbm90ZV9nbnVfZmxhZ3MKLSsyOiAjbm90ZV9nbnVfZmxhZ3MK LSsJLmxvbmcJIDB4MyAgICAjIEdOVV9QUk9QRVJUWV9YODZfRkVBVFVSRV8xX0lCVCA9IDEgfAot KyAgICAgICAgICAgICAgICAgICAgICAgICMgR05VX1BST1BFUlRZX1g4Nl9GRUFUVVJFXzFfU0hT VEsgPSAyCi0rMzogI25vdGVfZ251X2ZsYWdzX2VuZAotKwkuYWxpZ24gOAotKzQ6ICNub3RlX2du dV9kZXNjcmlwdG9yX2VuZAotIAkudGV4dAotIAotICNkZWZpbmUgSVZfT0ZGU0VUIDI1NgotIAot IC8qCi0gICogV2FybmluZzogdGhlIGxlbmd0aCB2YWx1ZXMgdXNlZCBpbiB0aGlzIG1vZHVsZSBh cmUgInVuc2lnbmVkIGludCIKLSAgKiBpbiBDLCB3aGljaCBpcyAzMi1iaXQuICBXaGVuIHRoZXkn cmUgcGFzc2VkIGluIHJlZ2lzdGVycywgdXNlIG9ubHkKLSAgKiB0aGUgbG93IDMyIGJpdHMsIGJl Y2F1c2UgdGhlIHRvcCBoYWxmIGlzIHVuc3BlY2lmaWVkLgotZGlmZiAtLWdpdCBhL2xpYi9mcmVl YmwvaW50ZWwtZ2NtLlMgYi9saWIvZnJlZWJsL2ludGVsLWdjbS5TCi0tLS0gYS9saWIvZnJlZWJs L2ludGVsLWdjbS5TCi0rKysgYi9saWIvZnJlZWJsL2ludGVsLWdjbS5TCi1AQCAtMSwxNCArMSwz OCBAQAotICMgTElDRU5TRTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAKLSAjIFRoaXMgc3VibWlzc2lvbiB0byBOU1MgaXMg dG8gYmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQotICMgTW96aWxsYSBQ dWJsaWMgTGljZW5zZSwgdi4gMi4wLiBZb3UgY2FuIG9idGFpbiBvbmUgYXQgaHR0cDogICAgICAg ICAKLSAjIC8vbW96aWxsYS5vcmcvTVBMLzIuMC8uIAotICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj Ci0gIyBDb3B5cmlnaHQoYykgMjAxMiwgSW50ZWwgQ29ycC4KLSsvKiBub25lIG9mIHRoZSBmdW5j dGlvbnMgYXJlIHVzZWQgYXMgYSB0YXJnZXQgb2YgYW4gaW5kaXJlY3QgY2FsbCwgc28KLSsgKiBp dCdzIHNhZmUgdG8gc2V0IElCVC4gSWYgd2UgZXZlciBuZWVkIHRvIHB1dCB0aGVzZSBhdCB0aGUg ZW5kIG9mIGEKLSsgKiBmdW5jdGlvbiB0YWJsZSBwb2ludGVyLCB0aGVuIHdlIHNob3VsZCBhbmQg RU5EQlI2NCBpbnN0cnVjdGlvbnMgYXMgdGhlCi0rICogZmlyc3QgaW5zdHJ1Y3Rpb24gb2YgZWFj aCBmdW5jdGlvbi4gKi8KLSsjIHJlZmVyZW5jZSBuYW1lcyBhcmUgaW4gL3Vzci9pbmNsdWRlL2Vs Zi5oCi0rICAgICAgICAuc2VjdGlvbiAgICAgICAgLm5vdGUuZ251LnByb3BlcnR5LCJhIgotKyAg ICAgICAgLmFsaWduIDgKLSsgICAgICAgIC5sb25nICAgIDFmIC0gMGYgIyBub3RlX2dudV9uYW1l X2VuZCAtIG5vdGVfZ251X25hbWUKLSsgICAgICAgIC5sb25nICAgIDRmIC0gMWYgIyBub3RlX2du dV9kZXNjcmlwdG9yX2VuZCAtbm90ZV9nbnVfZGVzY3JpcHRvcgotKyAgICAgICAgLmxvbmcgICAg NSAjIEdOVV9QUk9QRVJUWV9UWVBFXzAKLSswOiAjbm90ZV9nbnVfbmFtZQotKyAgICAgICAgLnN0 cmluZyAgIkdOVSIKLSsxOiAjbm90ZV9nbnVfZW5kCi0rICAgI25vdGVfZ251X2Rlc2NyaXB0b3IK LSsgICAgICAgIC5hbGlnbiA4Ci0rICAgICAgICAubG9uZyAgICAweGMwMDAwMDAyICMgR05VX1BS T1BFUlRZX1g4Nl9GRUFUVVJFXzFfQU5ECi0rICAgICAgICAubG9uZyAgICAzZiAtIDJmICNub3Rl X2dudV9mbGFnc19lbmQgLSBub3RlX2dudV9mbGFncwotKzI6ICNub3RlX2dudV9mbGFncwotKyAg ICAgICAgLmxvbmcgICAgMHgzICAgICMgR05VX1BST1BFUlRZX1g4Nl9GRUFUVVJFXzFfSUJUID0g MSB8Ci0rICAgICAgICAgICAgICAgICAgICAgICAgIyBHTlVfUFJPUEVSVFlfWDg2X0ZFQVRVUkVf MV9TSFNUSyA9IDIKLSszOiAjbm90ZV9nbnVfZmxhZ3NfZW5kCi0rICAgICAgICAuYWxpZ24gOAot KzQ6ICNub3RlX2dudV9kZXNjcmlwdG9yX2VuZAotKyAgICAgICAgLnRleHQKLSAKLSAjaWYgZGVm aW5lZChEQVJXSU4pCi0gIyBkZWZpbmUgY2RlY2wocykgXyMjcwotICNlbHNlCi0gIyBkZWZpbmUg Y2RlY2wocykgcwotICNlbmRpZgotIAotICNpZm5kZWYgREFSV0lOCi1kaWZmIC0tZ2l0IGEvbGli L2ZyZWVibC9tcGkvbXBpX2FtZDY0X2NvbW1vbi5TIGIvbGliL2ZyZWVibC9tcGkvbXBpX2FtZDY0 X2NvbW1vbi5TCi0tLS0gYS9saWIvZnJlZWJsL21waS9tcGlfYW1kNjRfY29tbW9uLlMKLSsrKyBi L2xpYi9mcmVlYmwvbXBpL21waV9hbWQ2NF9jb21tb24uUwotQEAgLTM5OCwxMiArMzk4LDM3IEBA IHNfbXB2X211bF9hZGRfdmVjNjQ6Ci0gCi0gLkwyNzoKLSAJbW92cQklcjksICVyYXgKLSAJcmV0 Ci0gCi0gI2lmbmRlZiBEQVJXSU4KLSAuc2l6ZSBzX21wdl9tdWxfYWRkX3ZlYzY0LCAuLXNfbXB2 X211bF9hZGRfdmVjNjQKLSAKLSsjIE1hZ2ljIGluZGljYXRpbmcgSUJUIGlzIGFsbG93ZWQuCi0r IyBub25lIG9mIHRoZSBmdW5jdGlvbnMgYXJlIHVzZWQgYXMgYSB0YXJnZXQgb2YgYW4gaW5kaXJl Y3QgY2FsbCwgc28KLSsjIGl0J3Mgc2FmZSB0byBzZXQgSUJULiBJZiB3ZSBldmVyIG5lZWQgdG8g cHV0IHRoZXNlIGF0IHRoZSBlbmQgb2YgYQotKyMgZnVuY3Rpb24gdGFibGUgcG9pbnRlciwgdGhl biB3ZSBzaG91bGQgYW5kIEVOREJSNjQgaW5zdHJ1Y3Rpb25zIGFzIHRoZQotKyMgZmlyc3QgaW5z dHJ1Y3Rpb24gb2YgZWFjaCBmdW5jdGlvbi4KLSsjIHJlZmVyZW5jZSBuYW1lcyBhcmUgaW4gL3Vz ci9pbmNsdWRlL2VsZi5oCi0rICAgICAgICAuc2VjdGlvbiAgICAgICAgLm5vdGUuZ251LnByb3Bl cnR5LCJhIgotKyAgICAgICAgLmFsaWduIDgKLSsgICAgICAgIC5sb25nICAgIDFmIC0gMGYgIyBu b3RlX2dudV9uYW1lX2VuZCAtIG5vdGVfZ251X25hbWUKLSsgICAgICAgIC5sb25nICAgIDRmIC0g MWYgIyBub3RlX2dudV9kZXNjcmlwdG9yX2VuZCAtbm90ZV9nbnVfZGVzY3JpcHRvcgotKyAgICAg ICAgLmxvbmcgICAgNSAjIEdOVV9QUk9QRVJUWV9UWVBFXzAKLSswOiAjbm90ZV9nbnVfbmFtZQot KyAgICAgICAgLnN0cmluZyAgIkdOVSIKLSsxOiAjbm90ZV9nbnVfZW5kCi0rICAgI25vdGVfZ251 X2Rlc2NyaXB0b3IKLSsgICAgICAgIC5hbGlnbiA4Ci0rICAgICAgICAubG9uZyAgICAweGMwMDAw MDAyICMgR05VX1BST1BFUlRZX1g4Nl9GRUFUVVJFXzFfQU5ECi0rICAgICAgICAubG9uZyAgICAz ZiAtIDJmICNub3RlX2dudV9mbGFnc19lbmQgLSBub3RlX2dudV9mbGFncwotKzI6ICNub3RlX2du dV9mbGFncwotKyAgICAgICAgLmxvbmcgICAgMHgzICAgICMgR05VX1BST1BFUlRZX1g4Nl9GRUFU VVJFXzFfSUJUID0gMSB8Ci0rICAgICAgICAgICAgICAgICAgICAgICAgIyBHTlVfUFJPUEVSVFlf WDg2X0ZFQVRVUkVfMV9TSFNUSyA9IDIKLSszOiAjbm90ZV9nbnVfZmxhZ3NfZW5kCi0rICAgICAg ICAuYWxpZ24gOAotKzQ6ICNub3RlX2dudV9kZXNjcmlwdG9yX2VuZAotKwotICMgTWFnaWMgaW5k aWNhdGluZyBubyBuZWVkIGZvciBhbiBleGVjdXRhYmxlIHN0YWNrCi0gLnNlY3Rpb24gLm5vdGUu R05VLXN0YWNrLCAiIiwgQHByb2diaXRzCi0gLnByZXZpb3VzCi0gI2VuZGlmCgpkaWZmIC0tZ2l0 IGEvbnNzLTMuMTI0LWZpcHMta2V5LWltcG9ydC1maXgucGF0Y2ggYi9uc3MtMy4xMjQtZmlwcy1r ZXktaW1wb3J0LWZpeC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzQ2ZGFh NS4uMDAwMDAwMAotLS0gYS9uc3MtMy4xMjQtZmlwcy1rZXktaW1wb3J0LWZpeC5wYXRjaAorKysg L2Rldi9udWxsCkBAIC0xLDEzNyArMCwwIEBACi1kaWZmIC0tZ2l0IGEvbGliL3BrMTF3cmFwL3Br MTFza2V5LmMgYi9saWIvcGsxMXdyYXAvcGsxMXNrZXkuYwotLS0tIGEvbGliL3BrMTF3cmFwL3Br MTFza2V5LmMKLSsrKyBiL2xpYi9wazExd3JhcC9wazExc2tleS5jCi1AQCAtNDM2LDExICs0MzYs MTEgQEAKLSB9Ci0gCi0gc3RhdGljIFBLMTFTeW1LZXkgKgotIHBrMTFfSW1wb3J0U3ltS2V5V2l0 aFRlbXBsKFBLMTFTbG90SW5mbyAqc2xvdCwgQ0tfTUVDSEFOSVNNX1RZUEUgdHlwZSwKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICBQSzExT3JpZ2luIG9yaWdpbiwgUFJCb29sIGlzVG9rZW4s IENLX0FUVFJJQlVURSAqa2V5VGVtcGxhdGUsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAg dW5zaWduZWQgaW50IHRlbXBsYXRlQ291bnQsIFNFQ0l0ZW0gKmtleSwgdm9pZCAqd2luY3gpCi0r ICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IHRlbXBsYXRlQ291bnQsIFNF Q0l0ZW0gKmtleSwgUFJCb29sIGZvcmNlLCB2b2lkICp3aW5jeCkKLSB7Ci0gICAgIFBLMTFTeW1L ZXkgKnN5bUtleTsKLSAgICAgU0VDU3RhdHVzIHJ2OwotIAotICAgICBzeW1LZXkgPSBwazExX0Ny ZWF0ZVN5bUtleShzbG90LCB0eXBlLCAhaXNUb2tlbiwgUFJfVFJVRSwgd2luY3gpOwotQEAgLTQ2 MSwxNiArNDYxLDY1IEBACi0gICAgIHN5bUtleS0+b3JpZ2luID0gb3JpZ2luOwotIAotICAgICAv KiBpbXBvcnQgdGhlIGtleXMgKi8KLSAgICAgcnYgPSBQSzExX0NyZWF0ZU5ld09iamVjdChzbG90 LCBzeW1LZXktPnNlc3Npb24sIGtleVRlbXBsYXRlLAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHRlbXBsYXRlQ291bnQsIGlzVG9rZW4sICZzeW1LZXktPm9iamVjdElEKTsKLS0gICAg aWYgKHJ2ICE9IFNFQ1N1Y2Nlc3MpIHsKLSsgICAgaWYgKHJ2ID09IFNFQ1N1Y2Nlc3MpIHsKLSsg ICAgICAgIHJldHVybiBzeW1LZXk7Ci0rICAgIH0KLSsgICAgLyogd2UgZmFpbGVkIHRvIGNyZWF0 ZSB0aGUga2V5LCBpZiBmb3JjZSBpc24ndCBzZXQsIHdlIGp1c3QgZmFpbCBub3cgKi8KLSsgICAg aWYgKCFmb3JjZSkgewotKyAgICAgICAgUEsxMV9GcmVlU3ltS2V5KHN5bUtleSk7Ci0rICAgICAg ICByZXR1cm4gTlVMTDsKLSsgICAgfQotKyAgICAvKiBpZiBmb3JjZSBpcyBzZXQsIHdlIGFyZSBz aW11bGF0aW5nIGFuIHVud3JhcCwgcHJvYmFibHkgZnJvbSBhbm90aGVyIHRva2VuLCB3ZQotKyAg ICAgKiBhcmUgcHJvYmFibHkgaGVyZSBiZWNhdXNlIHdlIGFyZSB0cnlpbmcgdG8gaW1wb3J0IGlu dG8gYSBGSVBTIHRva2VuLiBOb3JtYWxseQotKyAgICAgKiB3ZSB3b3VsZCB3YW50IHRoaXMgdG8g ZmFpbCwgYnV0IHRoZSBhcHBsaWNhdGlvbiBnb3QgaGVyZSBiZWNhdXNlIHRoZXkgYXJlIHVzaW5n Ci0rICAgICAqIHVud3JhcCwgd2hpY2ggaXMgdGhlIGNvcnJlY3Qgd2F5IHRvICBkbyB0aGlzLCBz byB0cnkgdG8gaW1wb3J0IHRoZSBrZXkgaW50bwotKyAgICAgKiB0aGUgRklQUyB0b2tlbiBteSBo YW5kICovCi0rICAgIC8qIGZpcnN0IGdlbmVyYXRlIGEgc2VlZCBrZXkgKi8KLSsgICAgUEsxMVN5 bUtleSAqc2VlZEtleSA9IFBLMTFfS2V5R2VuKHNsb3QsIENLTV9TSEEyNTZfSE1BQywgTlVMTCwg MjU2LCB3aW5jeCk7Ci0rCi0rICAgIGlmIChzZWVkS2V5ID09IE5VTEwpIHsKLSAgICAgICAgIFBL MTFfRnJlZVN5bUtleShzeW1LZXkpOwotICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgIH0KLSAK LS0gICAgcmV0dXJuIHN5bUtleTsKLSsgICAgLyogbm93IGFwcGVuZCBvdXIga2V5IGRhdGEgdG8g dGhlIHNlZWQga2V5IGFuZCB0cnVuY2F0ZSB0aGUgc2VlZCBrZXkgKi8KLSsgICAgQ0tfS0VZX0RF UklWQVRJT05fU1RSSU5HX0RBVEEgcGFyYW1zID0geyAwIH07Ci0rICAgIENLX01FQ0hBTklTTSBt ZWNoYW5pc20gPSB7IDAsIE5VTEwsIDAgfTsKLSsgICAgcGFyYW1zLnBEYXRhID0ga2V5LT5kYXRh OwotKyAgICBwYXJhbXMudWxMZW4gPSBrZXktPmxlbjsKLSsgICAgbWVjaGFuaXNtLm1lY2hhbmlz bSA9IENLTV9DT05DQVRFTkFURV9EQVRBX0FORF9CQVNFOwotKyAgICBtZWNoYW5pc20ucFBhcmFt ZXRlciA9ICZwYXJhbXM7Ci0rICAgIG1lY2hhbmlzbS51bFBhcmFtZXRlckxlbiA9IHNpemVvZihw YXJhbXMpOwotKwotKyAgICAvKiBkZXJpdmUgcmVtb3ZlZCB0aGUgQ0tBX1ZBTFVFX0xFTiBiZWZv cmUgaXQgY2FsbGVkIHVzLCBidXQgbm93IHdlIG5lZWQKLSsgICAgICogaXQgYmFjay4gV2Uga25v dyB0aGVyZSBpcyBzcGFjZSBpbiB0aGUgdGVtcGxhdGUgYmVjYXVzZSBkZXJpdmUgbGVhdmVzCi0r ICAgICAqIHNwYWNlIGZvciB0aGUgQ0tBX1ZBTFVFX0xFTiBhdHRyaWJ1dGUuIEFueSBvdGhlciBj YWxsZXJzIHRoYXQgc2V0IGZvcmNlCi0rICAgICAqIHNob3VsZCBhbHNvIG1ha2Ugc3VyZSB0aGVy ZSBpcyBzcGFjZSBmb3IgdGhlIENLQV9WQUxVRV9MRU4gKi8KLSsgICAgQ0tfVUxPTkcgdmFsdWVM ZW47IC8qIERvbid0IGRlZmluZSB0aGlzIGluIHRoZSAnaWYnIHN0YXRlbWVudCwgYmVjYXVzZSBp dAotKyAgICAgICAgICAgICAgICAgICAgICAgICogd291bGQgZ28gb3V0IG9mIHNjb3BlIGJlZm9y ZSB3ZSB1c2UgaXQgKi8KLSsgICAgaWYgKCFwazExX0ZpbmRBdHRySW5UZW1wbGF0ZShrZXlUZW1w bGF0ZSwgdGVtcGxhdGVDb3VudCwgQ0tBX1ZBTFVFX0xFTikpIHsKLSsgICAgICAgIHZhbHVlTGVu ID0gKENLX1VMT05HKWtleS0+bGVuOwotKyAgICAgICAga2V5VGVtcGxhdGVbdGVtcGxhdGVDb3Vu dF0udHlwZSA9IENLQV9WQUxVRV9MRU47Ci0rICAgICAgICBrZXlUZW1wbGF0ZVt0ZW1wbGF0ZUNv dW50XS5wVmFsdWUgPSAodm9pZCAqKSZ2YWx1ZUxlbjsKLSsgICAgICAgIGtleVRlbXBsYXRlW3Rl bXBsYXRlQ291bnRdLnVsVmFsdWVMZW4gPSBzaXplb2YodmFsdWVMZW4pOwotKyAgICAgICAgdGVt cGxhdGVDb3VudCsrOwotKyAgICB9Ci0rCi0rICAgIENLX1JWIGNydiA9IFBLMTFfR0VUVEFCKHNs b3QpLT5DX0Rlcml2ZUtleShzeW1LZXktPnNlc3Npb24sICZtZWNoYW5pc20sCi0rICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWVkS2V5LT5vYmplY3RJRCwg a2V5VGVtcGxhdGUsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB0ZW1wbGF0ZUNvdW50LAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJnN5bUtleS0+b2JqZWN0SUQpOwotKyAgICBQSzExX0ZyZWVTeW1LZXkoc2Vl ZEtleSk7Ci0rICAgIGlmIChjcnYgPT0gQ0tSX09LKSB7Ci0rICAgICAgICByZXR1cm4gc3ltS2V5 OwotKyAgICB9Ci0rCi0rICAgIFBLMTFfRnJlZVN5bUtleShzeW1LZXkpOwotKyAgICByZXR1cm4g TlVMTDsKLSB9Ci0gCi0gLyoKLSAgKiB0dXJuIGtleSBiaXRzIGludG8gYW4gYXBwcm9wcmlhdGUg a2V5IG9iamVjdAotICAqLwotQEAgLTUwNCwxMSArNTUzLDExIEBACi0gICAgIHRlbXBsYXRlQ291 bnQgPSBhdHRycyAtIGtleVRlbXBsYXRlOwotICAgICBQUl9BU1NFUlQodGVtcGxhdGVDb3VudCAr IDEgPD0gc2l6ZW9mKGtleVRlbXBsYXRlKSAvIHNpemVvZihDS19BVFRSSUJVVEUpKTsKLSAKLSAg ICAga2V5VHlwZSA9IFBLMTFfR2V0S2V5VHlwZSh0eXBlLCBrZXktPmxlbik7Ci0gICAgIHN5bUtl eSA9IHBrMTFfSW1wb3J0U3ltS2V5V2l0aFRlbXBsKHNsb3QsIHR5cGUsIG9yaWdpbiwgUFJfRkFM U0UsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleVRlbXBsYXRl LCB0ZW1wbGF0ZUNvdW50LCBrZXksIHdpbmN4KTsKLSsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAga2V5VGVtcGxhdGUsIHRlbXBsYXRlQ291bnQsIGtleSwgUFJfRkFMU0Us IHdpbmN4KTsKLSAgICAgcmV0dXJuIHN5bUtleTsKLSB9Ci0gLyogSW1wb3J0IGEgUEtDUyAjMTEg ZGF0YSBvYmplY3QgYW5kIHJldHVybiBpdCBhcyBhIGtleS4gVGhpcyBrZXkgaXMKLSAgKiBvbmx5 IHVzZWZ1bCBpbiBhIGxpbWl0ZWQgbnVtYmVyIG9mIG1lY2hhbmlzbXMsIHN1Y2ggYXMgSEtERi4g Ki8KLSBQSzExU3ltS2V5ICoKLUBAIC01ODMsMTEgKzYzMiwxMSBAQAotICAgICB0ZW1wbGF0ZUNv dW50ID0gYXR0cnMgLSBrZXlUZW1wbGF0ZTsKLSAgICAgUFJfQVNTRVJUKHRlbXBsYXRlQ291bnQg KyAxIDw9IHNpemVvZihrZXlUZW1wbGF0ZSkgLyBzaXplb2YoQ0tfQVRUUklCVVRFKSk7Ci0gCi0g ICAgIGtleVR5cGUgPSBQSzExX0dldEtleVR5cGUodHlwZSwga2V5LT5sZW4pOwotICAgICBzeW1L ZXkgPSBwazExX0ltcG9ydFN5bUtleVdpdGhUZW1wbChzbG90LCB0eXBlLCBvcmlnaW4sIGlzUGVy bSwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5VGVtcGxhdGUs IHRlbXBsYXRlQ291bnQsIGtleSwgd2luY3gpOwotKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBrZXlUZW1wbGF0ZSwgdGVtcGxhdGVDb3VudCwga2V5LCBQUl9GQUxTRSwg d2luY3gpOwotICAgICBpZiAoc3ltS2V5ICYmIGlzUGVybSkgewotICAgICAgICAgc3ltS2V5LT5v d25lciA9IFBSX0ZBTFNFOwotICAgICB9Ci0gICAgIHJldHVybiBzeW1LZXk7Ci0gfQotQEAgLTI2 NjcsMTEgKzI3MTYsMTEgQEAKLSAgICAgb3V0S2V5LnR5cGUgPSBzaUJ1ZmZlcjsKLSAKLSAgICAg aWYgKFBLMTFfRG9lc01lY2hhbmlzbShzbG90LCB0YXJnZXQpKSB7Ci0gICAgICAgICBzeW1LZXkg PSBwazExX0ltcG9ydFN5bUtleVdpdGhUZW1wbChzbG90LCB0YXJnZXQsIFBLMTFfT3JpZ2luVW53 cmFwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNQZXJt LCBrZXlUZW1wbGF0ZSwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHRlbXBsYXRlQ291bnQsICZvdXRLZXksIHdpbmN4KTsKLSsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlQ291bnQsICZvdXRLZXksIFBSX1RSVUUs IHdpbmN4KTsKLSAgICAgfSBlbHNlIHsKLSAgICAgICAgIHNsb3QgPSBQSzExX0dldEJlc3RTbG90 KHRhcmdldCwgd2luY3gpOwotICAgICAgICAgaWYgKHNsb3QgPT0gTlVMTCkgewotICAgICAgICAg ICAgIFBPUlRfU2V0RXJyb3IoU0VDX0VSUk9SX05PX01PRFVMRSk7Ci0gICAgICAgICAgICAgUE9S VF9GcmVlKG91dEtleS5kYXRhKTsKLUBAIC0yNjc5LDExICsyNzI4LDExIEBACi0gICAgICAgICAg ICAgICAgICpjcnZwID0gQ0tSX0RFVklDRV9FUlJPUjsKLSAgICAgICAgICAgICByZXR1cm4gTlVM TDsKLSAgICAgICAgIH0KLSAgICAgICAgIHN5bUtleSA9IHBrMTFfSW1wb3J0U3ltS2V5V2l0aFRl bXBsKHNsb3QsIHRhcmdldCwgUEsxMV9PcmlnaW5VbndyYXAsCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBpc1Blcm0sIGtleVRlbXBsYXRlLAotLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGVDb3VudCwgJm91dEtl eSwgd2luY3gpOwotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg dGVtcGxhdGVDb3VudCwgJm91dEtleSwgUFJfVFJVRSwgd2luY3gpOwotICAgICAgICAgUEsxMV9G cmVlU2xvdChzbG90KTsKLSAgICAgfQotICAgICBQT1JUX0ZyZWUob3V0S2V5LmRhdGEpOwotIAot ICAgICBpZiAoY3J2cCkKLQoKZGlmZiAtLWdpdCBhL25zcy0zLjEyNC1maXgtZWQta2V5LXN0b3Jh Z2UucGF0Y2ggYi9uc3MtMy4xMjQtZml4LWVkLWtleS1zdG9yYWdlLnBhdGNoCmRlbGV0ZWQgZmls ZSBtb2RlIDEwMDY0NAppbmRleCA3NzUxN2ZjLi4wMDAwMDAwCi0tLSBhL25zcy0zLjEyNC1maXgt ZWQta2V5LXN0b3JhZ2UucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2MjcgKzAsMCBAQAotZGlm ZiAtLWdpdCBhL2NtZC9saWIvc2VjdXRpbC5jIGIvY21kL2xpYi9zZWN1dGlsLmMKLS0tLSBhL2Nt ZC9saWIvc2VjdXRpbC5jCi0rKysgYi9jbWQvbGliL3NlY3V0aWwuYwotQEAgLTE2MDMsMTAgKzE2 MDMsMTggQEAKLSAKLSAgICAgICAgICAgICBjYXNlIGVjS2V5OgotICAgICAgICAgICAgICAgICBz ZWN1X1ByaW50RUNQdWJsaWNLZXkob3V0LCBwaywgIkVDIFB1YmxpYyBLZXkiLCBsZXZlbCArIDEp OwotICAgICAgICAgICAgICAgICBicmVhazsKLSAKLSsgICAgICAgICAgICBjYXNlIGVjTW9udEtl eToKLSsgICAgICAgICAgICAgICAgc2VjdV9QcmludEVDUHVibGljS2V5KG91dCwgcGssICJFQyBN b250Z29tZXJ5IFB1YmxpYyBLZXkiLCBsZXZlbCArIDEpOwotKyAgICAgICAgICAgICAgICBicmVh azsKLSsKLSsgICAgICAgICAgICBjYXNlIGVkS2V5OgotKyAgICAgICAgICAgICAgICBzZWN1X1By aW50RUNQdWJsaWNLZXkob3V0LCBwaywgIkVDIEVkd2FyZHMgUHVibGljIEtleSIsIGxldmVsICsg MSk7Ci0rICAgICAgICAgICAgICAgIGJyZWFrOwotKwotICAgICAgICAgICAgIGNhc2UgbWxkc2FL ZXk6Ci0gICAgICAgICAgICAgICAgIFNFQ1VfUHJpbnRNTERTQVB1YmxpY0tleShvdXQsIHBrLCAi TUwtRFNBIFB1YmxpYyBLZXkiLCBsZXZlbCArIDEpOwotICAgICAgICAgICAgICAgICBicmVhazsK LSAKLSAgICAgICAgICAgICBjYXNlIGt5YmVyS2V5OgotZGlmZiAtLWdpdCBhL2NtZC9wazExaW1w b3J0dGVzdC9wazExaW1wb3J0dGVzdC5jIGIvY21kL3BrMTFpbXBvcnR0ZXN0L3BrMTFpbXBvcnR0 ZXN0LmMKLS0tLSBhL2NtZC9wazExaW1wb3J0dGVzdC9wazExaW1wb3J0dGVzdC5jCi0rKysgYi9j bWQvcGsxMWltcG9ydHRlc3QvcGsxMWltcG9ydHRlc3QuYwotQEAgLTE5MSwxMCArMTkxLDEyIEBA Ci0gICAgICIgLXIgICAgICAgICAgICAgICAgICAgIHNraXAgcnNhIHRlc3QiLAotICAgICAiIC1E ICAgICAgICAgICAgICAgICAgICBza2lwIGRzYSB0ZXN0IiwKLSAgICAgIiAtaCAgICAgICAgICAg ICAgICAgICAgc2tpcCBkaCB0ZXN0IiwKLSAgICAgIiAtZSAgICAgICAgICAgICAgICAgICAgc2tp cCBlYyB0ZXN0IiwKLSAgICAgIiAtSyAgICAgICAgICAgICAgICAgICAgc2tpcCBtay1rZW0gdGVz dCIsCi0rICAgICIgLXcgICAgICAgICAgICAgICAgICAgIHNraXAgZWQgdGVzdCIsCi0rICAgICIg LWcgICAgICAgICAgICAgICAgICAgIHNraXAgZWMgbW9udGdvbWVyeSB0ZXN0IiwKLSB9OwotIHN0 YXRpYyBpbnQgblVzYWdlSW5mbyA9IHNpemVvZih1c2FnZUluZm8pIC8gc2l6ZW9mKGNoYXIgKik7 Ci0gCi0gc3RhdGljIHZvaWQKLSBVc2FnZShjaGFyICpwcm9nTmFtZSwgRklMRSAqb3V0RmlsZSkK LUBAIC0yMTYsMTAgKzIxOCwxMiBAQAotICAgICBvcHRfTm9SU0EsCi0gICAgIG9wdF9Ob0RTQSwK LSAgICAgb3B0X05vREgsCi0gICAgIG9wdF9Ob0VDLAotICAgICBvcHRfTm9NTEtFTSwKLSsgICAg b3B0X05vRUQsCi0rICAgIG9wdF9Ob0VDTW9udCwKLSB9OwotIAotIHN0YXRpYyBzZWN1Q29tbWFu ZEZsYWcgb3B0aW9uc1tdID0gewotICAgICB7IC8qIG9wdF9DZXJ0RGlyICAgICAgICAgICovICdk JywgUFJfVFJVRSwgMCwgUFJfRkFMU0UgfSwKLSAgICAgeyAvKiBvcHRfS2V5U2l6ZSAgICAgICAg ICAqLyAnaycsIFBSX1RSVUUsIDAsIFBSX0ZBTFNFIH0sCi1AQCAtMjMwLDEwICsyMzQsMTIgQEAK LSAgICAgeyAvKiBvcHRfTm9SU0EgICAgICAgICAgICAqLyAncicsIFBSX0ZBTFNFLCAwLCBQUl9G QUxTRSB9LAotICAgICB7IC8qIG9wdF9Ob0RTQSAgICAgICAgICAgICovICdEJywgUFJfRkFMU0Us IDAsIFBSX0ZBTFNFIH0sCi0gICAgIHsgLyogb3B0X05vREggICAgICAgICAgICAgKi8gJ2gnLCBQ Ul9GQUxTRSwgMCwgUFJfRkFMU0UgfSwKLSAgICAgeyAvKiBvcHRfTm9FQyAgICAgICAgICAgICAq LyAnZScsIFBSX0ZBTFNFLCAwLCBQUl9GQUxTRSB9LAotICAgICB7IC8qIG9wdF9Ob01MS0VNICAg ICAgICAgICovICdLJywgUFJfRkFMU0UsIDAsIFBSX0ZBTFNFIH0sCi0rICAgIHsgLyogb3B0X05v RUQgICAgICAgICAgICAgKi8gJ3cnLCBQUl9GQUxTRSwgMCwgUFJfRkFMU0UgfSwKLSsgICAgeyAv KiBvcHRfTm9FQ01vbnQgICAgICAgICAqLyAnZycsIFBSX0ZBTFNFLCAwLCBQUl9GQUxTRSB9LAot IH07Ci0gCi0gaW50Ci0gbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCi0gewotQEAgLTI0Niwx MCArMjUyLDEyIEBACi0gICAgIFBSQm9vbCBkb1JTQSA9IFBSX1RSVUU7Ci0gICAgIFBSQm9vbCBk b0RTQSA9IFBSX1RSVUU7Ci0gICAgIFBSQm9vbCBkb0RIID0gUFJfRkFMU0U7IC8qIE5TUyBjdXJy ZW50bHkgY2FuJ3QgZXhwb3J0IHdyYXBwZWQgREgga2V5cyAqLwotICAgICBQUkJvb2wgZG9FQyA9 IFBSX1RSVUU7Ci0gICAgIFBSQm9vbCBkb01MS0VNID0gUFJfVFJVRTsKLSsgICAgUFJCb29sIGRv RUQgPSBQUl9UUlVFOwotKyAgICBQUkJvb2wgZG9FQ01vbnQgPSBQUl9UUlVFOwotICAgICBQUkJv b2wgbm9QdWIgPSBQUl9GQUxTRTsKLSAgICAgUFFHUGFyYW1zICpwcWdQYXJhbXMgPSBOVUxMOwot ICAgICBpbnQga2V5U2l6ZTsKLSAKLSAgICAgYXJncy5udW1Db21tYW5kcyA9IDA7Ci1AQCAtNDEw LDEwICs0MTgsNTUgQEAKLSAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIk1MS0VNIEltcG9y dCBGYWlsZWQhXG4iKTsKLSAgICAgICAgICAgICBmYWlsZWQgPSBQUl9UUlVFOwotICAgICAgICAg fQotICAgICB9Ci0gCi0rICAgIGlmIChkb0VEKSB7Ci0rICAgICAgICBTRUNLRVlFQ1BhcmFtcyBl Y1BhcmFtczsKLSsgICAgICAgIFNFQ09pZERhdGEgKmN1cnZlID0gU0VDT0lEX0ZpbmRPSURCeVRh ZyhTRUNfT0lEX0VEMjU1MTkpOwotKyAgICAgICAgZWNQYXJhbXMuZGF0YSA9IFBPUlRfQWxsb2Mo Y3VydmUtPm9pZC5sZW4gKyAyKTsKLSsgICAgICAgIGlmIChlY1BhcmFtcy5kYXRhID09IE5VTEwp IHsKLSsgICAgICAgICAgICBydiA9IFNFQ0ZhaWx1cmU7Ci0rICAgICAgICAgICAgZ290byBlZF9m YWlsZWQ7Ci0rICAgICAgICB9Ci0rICAgICAgICBlY1BhcmFtcy5kYXRhWzBdID0gU0VDX0FTTjFf T0JKRUNUX0lEOwotKyAgICAgICAgZWNQYXJhbXMuZGF0YVsxXSA9ICh1bnNpZ25lZCBjaGFyKWN1 cnZlLT5vaWQubGVuOwotKyAgICAgICAgUE9SVF9NZW1jcHkoJmVjUGFyYW1zLmRhdGFbMl0sIGN1 cnZlLT5vaWQuZGF0YSwgY3VydmUtPm9pZC5sZW4pOwotKyAgICAgICAgZWNQYXJhbXMubGVuID0g Y3VydmUtPm9pZC5sZW4gKyAyOwotKyAgICAgICAgcnYgPSBoYW5kbGVFbmNyeXB0ZWRQcml2YXRl SW1wb3J0VGVzdChwcm9nTmFtZSwgc2xvdCwgIkVERFNBIiwKLSsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0tNX0VDX0VEV0FSRFNfS0VZX1BBSVJfR0VOLAot KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub1B1YiwgJmVj UGFyYW1zLCAmcHdBcmdzKTsKLSsgICAgICAgIFBPUlRfRnJlZShlY1BhcmFtcy5kYXRhKTsKLSsg ICAgZWRfZmFpbGVkOgotKyAgICAgICAgaWYgKHJ2ICE9IFNFQ1N1Y2Nlc3MpIHsKLSsgICAgICAg ICAgICBmcHJpbnRmKHN0ZGVyciwgIkVERFNBIEltcG9ydCBGYWlsZWQhXG4iKTsKLSsgICAgICAg ICAgICBmYWlsZWQgPSBQUl9UUlVFOwotKyAgICAgICAgfQotKyAgICB9Ci0rICAgIGlmIChkb0VD TW9udCkgewotKyAgICAgICAgU0VDS0VZRUNQYXJhbXMgZWNQYXJhbXM7Ci0rICAgICAgICBTRUNP aWREYXRhICpjdXJ2ZSA9IFNFQ09JRF9GaW5kT0lEQnlUYWcoU0VDX09JRF9YMjU1MTkpOwotKyAg ICAgICAgZWNQYXJhbXMuZGF0YSA9IFBPUlRfQWxsb2MoY3VydmUtPm9pZC5sZW4gKyAyKTsKLSsg ICAgICAgIGlmIChlY1BhcmFtcy5kYXRhID09IE5VTEwpIHsKLSsgICAgICAgICAgICBydiA9IFNF Q0ZhaWx1cmU7Ci0rICAgICAgICAgICAgZ290byBlY21vbnRfZmFpbGVkOwotKyAgICAgICAgfQot KyAgICAgICAgZWNQYXJhbXMuZGF0YVswXSA9IFNFQ19BU04xX09CSkVDVF9JRDsKLSsgICAgICAg IGVjUGFyYW1zLmRhdGFbMV0gPSAodW5zaWduZWQgY2hhciljdXJ2ZS0+b2lkLmxlbjsKLSsgICAg ICAgIFBPUlRfTWVtY3B5KCZlY1BhcmFtcy5kYXRhWzJdLCBjdXJ2ZS0+b2lkLmRhdGEsIGN1cnZl LT5vaWQubGVuKTsKLSsgICAgICAgIGVjUGFyYW1zLmxlbiA9IGN1cnZlLT5vaWQubGVuICsgMjsK LSsgICAgICAgIHJ2ID0gaGFuZGxlRW5jcnlwdGVkUHJpdmF0ZUltcG9ydFRlc3QocHJvZ05hbWUs IHNsb3QsICJFQyBNb250IiwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgQ0tNX0VDX01PTlRHT01FUllfS0VZX1BBSVJfR0VOLAotKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub1B1YiwgJmVjUGFyYW1zLCAmcHdBcmdz KTsKLSsgICAgICAgIFBPUlRfRnJlZShlY1BhcmFtcy5kYXRhKTsKLSsgICAgZWNtb250X2ZhaWxl ZDoKLSsgICAgICAgIGlmIChydiAhPSBTRUNTdWNjZXNzKSB7Ci0rICAgICAgICAgICAgZnByaW50 ZihzdGRlcnIsICJFQyBNb250Z29tZXJ5IEltcG9ydCBGYWlsZWQhXG4iKTsKLSsgICAgICAgICAg ICBmYWlsZWQgPSBQUl9UUlVFOwotKyAgICAgICAgfQotKyAgICB9Ci0rCi0gICAgIGlmIChwcWdQ YXJhbXMpIHsKLSAgICAgICAgIFBLMTFfUFFHX0Rlc3Ryb3lQYXJhbXMocHFnUGFyYW1zKTsKLSAg ICAgfQotIAotICAgICBpZiAoc2xvdCkgewotZGlmZiAtLWdpdCBhL2xpYi9zb2Z0b2tlbi9sb3dr ZXkuYyBiL2xpYi9zb2Z0b2tlbi9sb3drZXkuYwotLS0tIGEvbGliL3NvZnRva2VuL2xvd2tleS5j Ci0rKysgYi9saWIvc29mdG9rZW4vbG93a2V5LmMKLUBAIC00MywxMCArNDMsMTUgQEAKLSAgICAg eyBTRUNfQVNOMV9PQ1RFVF9TVFJJTkcsCi0gICAgICAgb2Zmc2V0b2YoTlNTTE9XS0VZUHJpdmF0 ZUtleUluZm8sIHByaXZhdGVLZXkpIH0sCi0gICAgIHsgU0VDX0FTTjFfT1BUSU9OQUwgfCBTRUNf QVNOMV9DT05TVFJVQ1RFRCB8IFNFQ19BU04xX0NPTlRFWFRfU1BFQ0lGSUMgfCAwLAotICAgICAg IG9mZnNldG9mKE5TU0xPV0tFWVByaXZhdGVLZXlJbmZvLCBhdHRyaWJ1dGVzKSwKLSAgICAgICBu c3Nsb3drZXlfU2V0T2ZBdHRyaWJ1dGVUZW1wbGF0ZSB9LAotKyAgICB7IFNFQ19BU04xX09QVElP TkFMIHwgU0VDX0FTTjFfQ09OU1RSVUNURUQgfAotKyAgICAgICAgICBTRUNfQVNOMV9FWFBMSUNJ VCB8IFNFQ19BU04xX0NPTlRFWFRfU1BFQ0lGSUMgfAotKyAgICAgICAgICBTRUNfQVNOMV9YVFJO IHwgMSwKLSsgICAgICBvZmZzZXRvZihOU1NMT1dLRVlQcml2YXRlS2V5SW5mbywgcHVibGljS2V5 KSwKLSsgICAgICBTRUNfQVNOMV9TVUIoU0VDX0JpdFN0cmluZ1RlbXBsYXRlKSB9LAotICAgICB7 IDAgfQotIH07Ci0gCi0gY29uc3QgU0VDX0FTTjFUZW1wbGF0ZSBuc3Nsb3drZXlfU3ViamVjdFB1 YmxpY0tleUluZm9UZW1wbGF0ZVtdID0gewotICAgICB7IFNFQ19BU04xX1NFUVVFTkNFLCAwLCBO VUxMLCBzaXplb2YoTlNTTE9XS0VZU3ViamVjdFB1YmxpY0tleUluZm8pIH0sCi1AQCAtMzk5LDEw ICs0MDQsMTIgQEAKLSAgICAgICAgICAgICAgICAgaWYgKHJ2ID09IFNFQ1N1Y2Nlc3MpCi0gICAg ICAgICAgICAgICAgICAgICByZXR1cm4gcHViazsKLSAgICAgICAgICAgICB9Ci0gICAgICAgICAg ICAgYnJlYWs7Ci0gICAgICAgICBjYXNlIE5TU0xPV0tFWUVDS2V5OgotKyAgICAgICAgY2FzZSBO U1NMT1dLRVlFQ0Vkd2FyZHNLZXk6Ci0rICAgICAgICBjYXNlIE5TU0xPV0tFWUVDTW9udGdvbWVy eUtleToKLSAgICAgICAgICAgICBwdWJrID0gKE5TU0xPV0tFWVB1YmxpY0tleSAqKVBPUlRfQXJl bmFaQWxsb2MoYXJlbmEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHNpemVvZihOU1NMT1dLRVlQdWJsaWNLZXkpKTsKLSAgICAgICAg ICAgICBpZiAocHViayAhPSBOVUxMKSB7Ci0gICAgICAgICAgICAgICAgIFNFQ1N0YXR1cyBydjsK LSAKLUBAIC02MzEsMTAgKzYzOCwxMiBAQAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAmKHByaXZLZXktPnUuZGguYmFzZSkpOwotICAgICAgICAgICAgIGlmIChydiAhPSBTRUNT dWNjZXNzKQotICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICBicmVhazsKLSAg ICAgICAgIGNhc2UgTlNTTE9XS0VZRUNLZXk6Ci0rICAgICAgICBjYXNlIE5TU0xPV0tFWUVDRWR3 YXJkc0tleToKLSsgICAgICAgIGNhc2UgTlNTTE9XS0VZRUNNb250Z29tZXJ5S2V5OgotICAgICAg ICAgICAgIHJ2ID0gU0VDSVRFTV9Db3B5SXRlbShwb29scCwgJihyZXR1cm5LZXktPnUuZWMudmVy c2lvbiksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYocHJpdktleS0+dS5l Yy52ZXJzaW9uKSk7Ci0gICAgICAgICAgICAgaWYgKHJ2ICE9IFNFQ1N1Y2Nlc3MpCi0gICAgICAg ICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgIHJ2ID0gU0VDSVRFTV9Db3B5SXRlbShwb29s cCwgJihyZXR1cm5LZXktPnUuZWMucHVibGljVmFsdWUpLAotZGlmZiAtLWdpdCBhL2xpYi9zb2Z0 b2tlbi9sb3drZXl0aS5oIGIvbGliL3NvZnRva2VuL2xvd2tleXRpLmgKLS0tLSBhL2xpYi9zb2Z0 b2tlbi9sb3drZXl0aS5oCi0rKysgYi9saWIvc29mdG9rZW4vbG93a2V5dGkuaAotQEAgLTQ4LDEw ICs0OCwxMSBAQAotICAgICBQTEFyZW5hUG9vbCAqYXJlbmE7Ci0gICAgIFNFQ0l0ZW0gdmVyc2lv bjsKLSAgICAgU0VDQWxnb3JpdGhtSUQgYWxnb3JpdGhtOwotICAgICBTRUNJdGVtIHByaXZhdGVL ZXk7Ci0gICAgIE5TU0xPV0tFWUF0dHJpYnV0ZSAqKmF0dHJpYnV0ZXM7Ci0rICAgIFNFQ0l0ZW0g cHVibGljS2V5OwotIH07Ci0gdHlwZWRlZiBzdHJ1Y3QgTlNTTE9XS0VZUHJpdmF0ZUtleUluZm9T dHIgTlNTTE9XS0VZUHJpdmF0ZUtleUluZm87Ci0gI2RlZmluZSBOU1NMT1dLRVlfUFJJVkFURV9L RVlfSU5GT19WRVJTSU9OIDAgLyogd2hhdCB3ZSAqY3JlYXRlKiAqLwotIAotIHN0cnVjdCBOU1NM T1dLRVlTdWJqZWN0UHVibGljS2V5SW5mb1N0ciB7Ci1AQCAtNjUsMTIgKzY2LDE0IEBACi0gICAg IE5TU0xPV0tFWU51bGxLZXkgPSAwLAotICAgICBOU1NMT1dLRVlSU0FLZXkgPSAxLAotICAgICBO U1NMT1dLRVlEU0FLZXkgPSAyLAotICAgICBOU1NMT1dLRVlESEtleSA9IDQsCi0gICAgIE5TU0xP V0tFWUVDS2V5ID0gNSwKLS0gICAgTlNTTE9XS0VZTUxEU0FLZXkgPSA2LAotLSAgICBOU1NMT1dL RVlNTEtFTUtleSA9IDcsCi0rICAgIE5TU0xPV0tFWUVDRWR3YXJkc0tleSA9IDYsCi0rICAgIE5T U0xPV0tFWUVDTW9udGdvbWVyeUtleSA9IDcsCi0rICAgIE5TU0xPV0tFWU1MRFNBS2V5ID0gOCwK LSsgICAgTlNTTE9XS0VZTUxLRU1LZXkgPSA5LAotIH0gTlNTTE9XS0VZVHlwZTsKLSAKLSAvKiBN TCBLRU0gbG93IHN0cnVjdHVyZXMgcGFja2FnZXMgYSBrZXkgd2l0aCBpdCdzIHBhcmFtZXRlcnMu Ci0gICogVGhlIE1MIEtFTSBmcmVlYmwgZGlkbid0IGRlZmluZSB0aGVzZSBiZWNhdXNlIGFsbCB0 aGUgZnVuY3Rpb25zCi0gICogdGFrZSByYXcga2V5cyBhbmQgcGFyYW0gc2VwYXJhdGVseSAqLwot ZGlmZiAtLWdpdCBhL2xpYi9zb2Z0b2tlbi9wa2NzMTEuYyBiL2xpYi9zb2Z0b2tlbi9wa2NzMTEu YwotLS0tIGEvbGliL3NvZnRva2VuL3BrY3MxMS5jCi0rKysgYi9saWIvc29mdG9rZW4vcGtjczEx LmMKLUBAIC0yMjIzLDEzICsyMjIzLDE4IEBACi0gICAgICAgICAgICAgICAgIGJyZWFrOwotICAg ICAgICAgICAgIGNydiA9IHNmdGtfQXR0cmlidXRlMlNTZWNJdGVtKGFyZW5hLCAmcHViS2V5LT51 LmRoLnB1YmxpY1ZhbHVlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIG9iamVjdCwgQ0tBX1ZBTFVFKTsKLSAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgIGNh c2UgQ0tLX0VDX0VEV0FSRFM6Ci0rICAgICAgICAgICAgcHViS2V5LT5rZXlUeXBlID0gTlNTTE9X S0VZRUNFZHdhcmRzS2V5OwotKyAgICAgICAgICAgIGdvdG8gZWNfY29udGludWU7Ci0gICAgICAg ICBjYXNlIENLS19FQ19NT05UR09NRVJZOgotKyAgICAgICAgICAgIHB1YktleS0+a2V5VHlwZSA9 IE5TU0xPV0tFWUVDTW9udGdvbWVyeUtleTsKLSsgICAgICAgICAgICBnb3RvIGVjX2NvbnRpbnVl OwotICAgICAgICAgY2FzZSBDS0tfRUM6Ci0gICAgICAgICAgICAgcHViS2V5LT5rZXlUeXBlID0g TlNTTE9XS0VZRUNLZXk7Ci0rICAgICAgICBlY19jb250aW51ZToKLSAgICAgICAgICAgICBjcnYg PSBzZnRrX0F0dHJpYnV0ZTJTU2VjSXRlbShhcmVuYSwKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAmcHViS2V5LT51LmVjLmVjUGFyYW1zLkRFUkVuY29kaW5nLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iamVjdCwgQ0tBX0VD X1BBUkFNUyk7Ci0gICAgICAgICAgICAgaWYgKGNydiAhPSBDS1JfT0spCi0gICAgICAgICAgICAg ICAgIGJyZWFrOwotQEAgLTI0NTEsMTMgKzI0NTYsMTggQEAKLSAgICAgICAgICAgICBpdGVtVGVt cGxhdGVDb3VudCsrOwotICAgICAgICAgICAgIC8qIHByaXZLZXkgd2FzIHplcm8nZCBzbyBwdWJs aWMgdmFsdWUgaXMgYWxyZWFkeSBzZXQgdG8gTlVMTCwgMAotICAgICAgICAgICAgICAqIGlmIHdl IGRvbid0IHNldCBpdCBleHBsaWNpdGx5ICovCi0gICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg ICBjYXNlIENLS19FQ19FRFdBUkRTOgotKyAgICAgICAgICAgIHByaXZLZXktPmtleVR5cGUgPSBO U1NMT1dLRVlFQ0Vkd2FyZHNLZXk7Ci0rICAgICAgICAgICAgZ290byBlY19jb250aW51ZTsKLSAg ICAgICAgIGNhc2UgQ0tLX0VDX01PTlRHT01FUlk6Ci0rICAgICAgICAgICAgcHJpdktleS0+a2V5 VHlwZSA9IE5TU0xPV0tFWUVDTW9udGdvbWVyeUtleTsKLSsgICAgICAgICAgICBnb3RvIGVjX2Nv bnRpbnVlOwotICAgICAgICAgY2FzZSBDS0tfRUM6Ci0gICAgICAgICAgICAgcHJpdktleS0+a2V5 VHlwZSA9IE5TU0xPV0tFWUVDS2V5OwotKyAgICAgICAgZWNfY29udGludWU6Ci0gICAgICAgICAg ICAgY3J2ID0gc2Z0a19BdHRyaWJ1dGUyU1NlY0l0ZW0oYXJlbmEsCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJnByaXZLZXktPnUuZWMuZWNQYXJhbXMuREVSRW5j b2RpbmcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqZWN0 LCBDS0FfRUNfUEFSQU1TKTsKLSAgICAgICAgICAgICBpZiAoY3J2ICE9IENLUl9PSykKLSAgICAg ICAgICAgICAgICAgYnJlYWs7Ci1AQCAtMjUxNCwxMCArMjUyNCwxMSBAQAotICAgICAgICAgY2Fz ZSBDS0tfTlNTX0tZQkVSOgotICNlbmRpZgotICAgICAgICAgY2FzZSBDS0tfTlNTX01MX0tFTToK LSAgICAgICAgIGNhc2UgQ0tLX01MX0tFTToKLSAgICAgICAgICAgICBwcml2S2V5LT5rZXlUeXBl ID0gTlNTTE9XS0VZTUxLRU1LZXk7Ci0rCi0gICAgICAgICAgICAgY3J2ID0gc2Z0a19HZXRVTG9u Z0F0dHJpYnV0ZShvYmplY3QsIENLQV9QQVJBTUVURVJfU0VULAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJnBhcmFtU2V0KTsKLSAgICAgICAgICAgICBpZiAoY3J2 ICE9IENLUl9PSykgewotICAgICAgICAgICAgICAgICBjcnYgPSBzZnRrX0dldFVMb25nQXR0cmli dXRlKG9iamVjdCwgQ0tBX05TU19QQVJBTUVURVJfU0VULAotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICZwYXJhbVNldCk7Ci1kaWZmIC0tZ2l0IGEvbGliL3Nv ZnRva2VuL3BrY3MxMWMuYyBiL2xpYi9zb2Z0b2tlbi9wa2NzMTFjLmMKLS0tLSBhL2xpYi9zb2Z0 b2tlbi9wa2NzMTFjLmMKLSsrKyBiL2xpYi9zb2Z0b2tlbi9wa2NzMTFjLmMKLUBAIC02NDY1LDEy ICs2NDY1LDEwIEBACi0gICAgICAgICAgICAgICogdGhlIHByaXZhdGUga2V5ICovCi0gICAgICAg ICAgICAgc2VlZC5kYXRhID0gc2VlZERhdGE7Ci0gICAgICAgICAgICAgc2VlZC5sZW4gPSBzaXpl b2Yoc2VlZERhdGEpOwotICAgICAgICAgICAgIHJ2ID0gUk5HX0dlbmVyYXRlR2xvYmFsUmFuZG9t Qnl0ZXMoc2VlZC5kYXRhLCBzZWVkLmxlbik7Ci0gICAgICAgICAgICAgaWYgKHJ2ICE9IFNFQ1N1 Y2Nlc3MpIHsKLS0gICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJHZW5lcmF0ZSBieXRl cyBmYWlsZWQgbmJ5dGVzPSVkIGVycj0lZFxuIiwKLS0gICAgICAgICAgICAgICAgICAgICAgICBz ZWVkLmxlbiwgUE9SVF9HZXRFcnJvcigpKTsKLSAgICAgICAgICAgICAgICAgY3J2ID0gc2Z0a19N YXBDcnlwdEVycm9yKFBPUlRfR2V0RXJyb3IoKSk7Ci0gICAgICAgICAgICAgICAgIGdvdG8ga3li ZXJfZG9uZTsKLSAgICAgICAgICAgICB9Ci0gCi0gICAgICAgICAgICAgS3liZXJQYXJhbXMga3li ZXJQYXJhbXMgPSBzZnRrX2t5YmVyX1BLMTFQYXJhbVRvSW50ZXJuYWwoZ2VuUGFyYW1TZXQpOwot QEAgLTY0ODIsMTIgKzY0ODAsMTAgQEAKLSAgICAgICAgICAgICAgICAgY3J2ID0gQ0tSX0hPU1Rf TUVNT1JZOwotICAgICAgICAgICAgICAgICBnb3RvIGt5YmVyX2RvbmU7Ci0gICAgICAgICAgICAg fQotICAgICAgICAgICAgIHJ2ID0gS3liZXJfTmV3S2V5KGt5YmVyUGFyYW1zLCAmc2VlZCwgJnBy aXZLZXksICZwdWJLZXkpOwotICAgICAgICAgICAgIGlmIChydiAhPSBTRUNTdWNjZXNzKSB7Ci0t ICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiR2VuZXJhdGUgS3liZXJfTmV3S2V5IGZh aWxlZCBuYnl0ZXM9JWQgZXJyPSVkXG4iLAotLSAgICAgICAgICAgICAgICAgICAgICAgIHNlZWQu bGVuLCBQT1JUX0dldEVycm9yKCkpOwotICAgICAgICAgICAgICAgICBjcnYgPSBzZnRrX01hcENy eXB0RXJyb3IoUE9SVF9HZXRFcnJvcigpKTsKLSAgICAgICAgICAgICAgICAgZ290byBreWJlcl9k b25lOwotICAgICAgICAgICAgIH0KLSAKLSAgICAgICAgICAgICBjcnYgPSBzZnRrX0FkZEF0dHJp YnV0ZVR5cGUocHVibGljS2V5LCBDS0FfVkFMVUUsIHNmdGtfaXRlbV9leHBhbmQoJnB1YktleSkp OwotQEAgLTY5MDIsMTAgKzY4OTgsMTEgQEAKLSAgICAgICAgICAgICBwYXJhbSA9IFNFQ19BU04x RW5jb2RlSXRlbShOVUxMLCBOVUxMLCAmKGxrLT51LmRzYS5wYXJhbXMpLAotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5zc2xvd2tleV9QUUdQYXJhbXNUZW1wbGF0ZSk7 Ci0gICAgICAgICAgICAgYWxnb3JpdGhtID0gU0VDX09JRF9BTlNJWDlfRFNBX1NJR05BVFVSRTsK LSAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgIGNhc2UgTlNTTE9XS0VZRUNLZXk6Ci0rICAg ICAgICAgICAgYWxnb3JpdGhtID0gU0VDX09JRF9BTlNJWDk2Ml9FQ19QVUJMSUNfS0VZOwotICAg ICAgICAgICAgIHByZXBhcmVfbG93X2VjX3ByaXZfa2V5X2Zvcl9hc24xKGxrKTsKLSAgICAgICAg ICAgICAvKiBQdWJsaWMgdmFsdWUgaXMgZW5jb2RlZCBhcyBhIGJpdCBzdHJpbmcgc28gYWRqdXN0 IGxlbmd0aAotICAgICAgICAgICAgICAqIHRvIGJlIGluIGJpdHMgYmVmb3JlIEFTTiBlbmNvZGlu ZyBhbmQgcmVhZGp1c3QKLSAgICAgICAgICAgICAgKiBpbW1lZGlhdGVseSBhZnRlci4KLSAgICAg ICAgICAgICAgKgotQEAgLTY5MjYsMTIgKzY5MjMsMzAgQEAKLSAgICAgICAgICAgICBTRUNfUFJJ TlQoInNmdGtfUGFja2FnZVByaXZhdGVLZXkoKSIsICJQcml2YXRlS2V5IiwgbGstPmtleVR5cGUs Ci0gICAgICAgICAgICAgICAgICAgICAgIGZvcmRlYnVnKTsKLSAjZW5kaWYKLSAKLSAgICAgICAg ICAgICBwYXJhbSA9IFNFQ0lURU1fRHVwSXRlbSgmbGstPnUuZWMuZWNQYXJhbXMuREVSRW5jb2Rp bmcpOwotLQotLSAgICAgICAgICAgIGFsZ29yaXRobSA9IFNFQ19PSURfQU5TSVg5NjJfRUNfUFVC TElDX0tFWTsKLSsgICAgICAgICAgICBicmVhazsKLSsgICAgICAgIC8qIFgyNTUxOSwgRUQyNTUx OSwgWDQ0OCwgYW5kIEVENDQ4IGVuY29kZSB0aGUgcHJpdmF0ZSBrZXkKLSsgICAgICAgICAqIGFz IGp1c3QgYW5kIGludC4gVGhlIHB1YmxpYyBrZXkgYW5kIEN1cnZlIGNvbWUgZnJvbSB0aGUKLSsg ICAgICAgICAqIGdlbmVyYWx5IGtleSBzdHJ1Y3R1cmUgKi8KLSsgICAgICAgIGNhc2UgTlNTTE9X S0VZRUNFZHdhcmRzS2V5OgotKyAgICAgICAgICAgIGFsZ29yaXRobSA9IFNFQ19PSURfRUQyNTUx OTsKLSsgICAgICAgICAgICBnb3RvIGVjX2NvbnRpbnVlOwotKyAgICAgICAgY2FzZSBOU1NMT1dL RVlFQ01vbnRnb21lcnlLZXk6Ci0rICAgICAgICAgICAgYWxnb3JpdGhtID0gU0VDX09JRF9YMjU1 MTk7Ci0rICAgICAgICBlY19jb250aW51ZToKLSsgICAgICAgICAgICBwcmVwYXJlX2xvd19lY19w cml2X2tleV9mb3JfYXNuMShsayk7Ci0rICAgICAgICAgICAgLyogaWYgd2UgaGF2ZSBhIHB1Ymxp YyBrZXksIGNvcHkgaXQgdG8gcGtpIHB1YmxpYyBrZXkgKi8KLSsgICAgICAgICAgICBpZiAobGst PnUuZWMucHVibGljVmFsdWUubGVuKSB7Ci0rICAgICAgICAgICAgICAgIHBraS0+cHVibGljS2V5 ID0gbGstPnUuZWMucHVibGljVmFsdWU7Ci0rICAgICAgICAgICAgICAgIHBraS0+cHVibGljS2V5 LmxlbiA8PD0gMzsKLSsgICAgICAgICAgICB9Ci0rICAgICAgICAgICAgZHVtbXkgPSBTRUNfQVNO MUVuY29kZUl0ZW0oYXJlbmEsICZwa2ktPnByaXZhdGVLZXksCi0rICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJmxrLT51LmVjLnByaXZhdGVWYWx1ZSwKLSsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTRUNfQVNOMV9HRVQoU0VDX09jdGV0U3RyaW5n VGVtcGxhdGUpKTsKLSsgICAgICAgICAgICBwYXJhbSA9IE5VTEw7Ci0gICAgICAgICAgICAgYnJl YWs7Ci0gICAgICAgICBjYXNlIE5TU0xPV0tFWU1MS0VNS2V5OiB7Ci0gICAgICAgICAgICAgU0VD SXRlbSBzZWVkID0geyBzaUJ1ZmZlciwgTlVMTCwgMCB9OwotICAgICAgICAgICAgIFNFQ0l0ZW0g cmF3S2V5ID0geyBzaUJ1ZmZlciwgTlVMTCwgMCB9OwotICAgICAgICAgICAgIGR1bW15ID0gTlVM TDsKLUBAIC03MjU4LDEwICs3MjczLDEyIEBACi0gICAgIFBMQXJlbmFQb29sICphcmVuYTsKLSAg ICAgTlNTTE9XS0VZUHJpdmF0ZUtleSAqbHBrID0gTlVMTDsKLSAgICAgTlNTTE9XS0VZUHJpdmF0 ZUtleUluZm8gKnBraSA9IE5VTEw7Ci0gICAgIENLX1JWIGNydiA9IENLUl9LRVlfVFlQRV9JTkNP TlNJU1RFTlQ7Ci0gICAgIENLX1VMT05HIHBhcmFtU2V0ID0gMDsKLSsgICAgY29uc3QgU0VDT2lk RGF0YSAqb2lkRGF0YSA9IE5VTEw7Ci0rICAgIFNFQ09pZFRhZyBwa2lBbGcgPSBTRUNfT0lEX1VO S05PV047Ci0gCi0gICAgIGFyZW5hID0gUE9SVF9OZXdBcmVuYSgyMDQ4KTsKLSAgICAgaWYgKCFh cmVuYSkgewotICAgICAgICAgcmV0dXJuIFNFQ0ZhaWx1cmU7Ci0gICAgIH0KLUBAIC03MjgzLDEx ICs3MzAwLDEyIEBACi0gICAgIGlmIChscGsgPT0gTlVMTCkgewotICAgICAgICAgZ290byBsb3Nl cjsKLSAgICAgfQotICAgICBscGstPmFyZW5hID0gYXJlbmE7Ci0gCi0tICAgIHN3aXRjaCAoU0VD T0lEX0dldEFsZ29yaXRobVRhZygmcGtpLT5hbGdvcml0aG0pKSB7Ci0rICAgIHBraUFsZyA9IFNF Q09JRF9HZXRBbGdvcml0aG1UYWcoJnBraS0+YWxnb3JpdGhtKTsKLSsgICAgc3dpdGNoIChwa2lB bGcpIHsKLSAgICAgICAgIGNhc2UgU0VDX09JRF9QS0NTMV9SU0FfRU5DUllQVElPTjoKLSAgICAg ICAgIGNhc2UgU0VDX09JRF9QS0NTMV9SU0FfUFNTX1NJR05BVFVSRToKLSAgICAgICAgICAgICBr ZXlUZW1wbGF0ZSA9IG5zc2xvd2tleV9SU0FQcml2YXRlS2V5VGVtcGxhdGU7Ci0gICAgICAgICAg ICAgcGFyYW1UZW1wbGF0ZSA9IE5VTEw7Ci0gICAgICAgICAgICAgcGFyYW1EZXN0ID0gTlVMTDsK LUBAIC03MzA5LDEwICs3MzI3LDQ2IEBACi0gICAgICAgICAgICAgcGFyYW1EZXN0ID0gJihscGst PnUuZWMuZWNQYXJhbXMuREVSRW5jb2RpbmcpOwotICAgICAgICAgICAgIGxway0+a2V5VHlwZSA9 IE5TU0xPV0tFWUVDS2V5OwotICAgICAgICAgICAgIHByZXBhcmVfbG93X2VjX3ByaXZfa2V5X2Zv cl9hc24xKGxwayk7Ci0gICAgICAgICAgICAgcHJlcGFyZV9sb3dfZWNwYXJhbXNfZm9yX2FzbjEo Jmxway0+dS5lYy5lY1BhcmFtcyk7Ci0gICAgICAgICAgICAgYnJlYWs7Ci0rICAgICAgICBjYXNl IFNFQ19PSURfWDI1NTE5OgotKyAgICAgICAgICAgIGxway0+a2V5VHlwZSA9IE5TU0xPV0tFWUVD TW9udGdvbWVyeUtleTsKLSsgICAgICAgICAgICBnb3RvIGVjeF9jb250aW51ZTsKLSsgICAgICAg IGNhc2UgU0VDX09JRF9FRDI1NTE5OgotKyAgICAgICAgICAgIGxway0+a2V5VHlwZSA9IE5TU0xP V0tFWUVDRWR3YXJkc0tleTsKLSsgICAgICAgIGVjeF9jb250aW51ZToKLSsgICAgICAgICAgICAv KiB3ZSBkZWNvZGUgdGhlIHdob2xlIGtleSBoZXJlIHJhdGhlciB0aGFuIGRvIHRoZSBub3JtYWwK LSsgICAgICAgICAgICAgKiBsYXRlciBkZWNvZGUgc3RlcCAqLwotKyAgICAgICAgICAgIGtleVRl bXBsYXRlID0gTlVMTDsKLSsgICAgICAgICAgICBwYXJhbVRlbXBsYXRlID0gTlVMTDsKLSsgICAg ICAgICAgICBwYXJhbURlc3QgPSBOVUxMOwotKyAgICAgICAgICAgIG9pZERhdGEgPSBTRUNPSURf RmluZE9JREJ5VGFnKHBraUFsZyk7Ci0rICAgICAgICAgICAgaWYgKG9pZERhdGEgPT0gTlVMTCkg ewotKyAgICAgICAgICAgICAgICBnb3RvIGxvc2VyOwotKyAgICAgICAgICAgIH0KLSsgICAgICAg ICAgICAvKiBDVVJWRSBpcyBwcm92aWRlZCBieSB0aGUgdGFnLCBub3QgZW5jb2RlZCBpbiB0aGUg cGFyYW1ldGVycwotKyAgICAgICAgICAgICAqIGZvciB0aGUgeDI1NTE5LCB4NDQ4LCBlZDI1NTE5 IGFuZCBlZDQ0OCBrZXlzICovCi0rICAgICAgICAgICAgaWYgKFNFQ19BU04xRW5jb2RlSXRlbShh cmVuYSwgJihscGstPnUuZWMuZWNQYXJhbXMuREVSRW5jb2RpbmcpLAotKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJm9pZERhdGEtPm9pZCwKLSsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFNFQ19BU04xX0dFVChTRUNfT2JqZWN0SURUZW1wbGF0ZSkpID09IE5V TEwpIHsKLSsgICAgICAgICAgICAgICAgZ290byBsb3NlcjsKLSsgICAgICAgICAgICB9Ci0rICAg ICAgICAgICAgcHJlcGFyZV9sb3dfZWNfcHJpdl9rZXlfZm9yX2FzbjEobHBrKTsKLSsgICAgICAg ICAgICAvKiBwcml2YXRlIGtleSBpcyBhIHNpbXBsZSBvY3RldCBzdHJpbmcsIGp1c3QgZGVjb2Rl IGl0IG5vdyAqLwotKyAgICAgICAgICAgIHJ2ID0gU0VDX1F1aWNrREVSRGVjb2RlSXRlbShhcmVu YSwgJihscGstPnUuZWMucHJpdmF0ZVZhbHVlKSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgU0VDX0FTTjFfR0VUKFNFQ19PY3RldFN0cmluZ1RlbXBsYXRlKSwKLSsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJihwa2ktPnByaXZhdGVLZXkp KTsKLSsgICAgICAgICAgICBpZiAocnYgIT0gU0VDU3VjY2VzcykgewotKyAgICAgICAgICAgICAg ICBnb3RvIGxvc2VyOwotKyAgICAgICAgICAgIH0KLSsgICAgICAgICAgICBpZiAocGtpLT5wdWJs aWNLZXkubGVuKSB7Ci0rICAgICAgICAgICAgICAgIGxway0+dS5lYy5wdWJsaWNWYWx1ZSA9IHBr aS0+cHVibGljS2V5OwotKyAgICAgICAgICAgICAgICAvKiBjb252ZXJ0IGxlbmd0aCBpbiBiaXRz IHRvIGxlbmd0aCBpbiBieXRlcyAqLwotKyAgICAgICAgICAgICAgICBscGstPnUuZWMucHVibGlj VmFsdWUubGVuID4+PSAzOwotKyAgICAgICAgICAgIH0KLSsgICAgICAgICAgICBicmVhazsKLSAg ICAgICAgIGNhc2UgU0VDX09JRF9NTF9LRU1fNzY4OgotICAgICAgICAgICAgIHBhcmFtU2V0ID0g Q0tQX01MX0tFTV83Njg7Ci0gICAgICAgICAgICAgZ290byBtbGtlbV9uZXh0OwotICAgICAgICAg Y2FzZSBTRUNfT0lEX01MX0tFTV8xMDI0OgotICAgICAgICAgICAgIHBhcmFtU2V0ID0gQ0tQX01M X0tFTV8xMDI0OwotQEAgLTczNDQsMzAgKzczOTgsMzEgQEAKLSAgICAgICAgICAgICAgICAgY2Fz ZSBTRUNfQVNOMV9DT05TVFJVQ1RFRCB8IFNFQ19BU04xX1NFUVVFTkNFOgotICAgICAgICAgICAg ICAgICAgICAga2V5VGVtcGxhdGUgPSBuc3Nsb3drZXlfUFFCb3RoU2VlZEFuZFByaXZhdGVLZXlU ZW1wbGF0ZTsKLSAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgICBk ZWZhdWx0OgotICAgICAgICAgICAgICAgICAgICAga2V5VGVtcGxhdGUgPSBOVUxMOwotLSAgICAg ICAgICAgICAgICAgICAgYnJlYWs7Ci0rICAgICAgICAgICAgICAgICAgICBQT1JUX1NldEVycm9y KFNFQ19FUlJPUl9CQURfS0VZKTsKLSsgICAgICAgICAgICAgICAgICAgIGdvdG8gbG9zZXI7Ci0g ICAgICAgICAgICAgfQotIAotICAgICAgICAgICAgIHBhcmFtVGVtcGxhdGUgPSBOVUxMOwotICAg ICAgICAgICAgIHBhcmFtRGVzdCA9IE5VTEw7Ci0gICAgICAgICAgICAgLyogZ2VucHEgZW5jb2Rl cyBvY2VjdCwgbm90IGludGVnZXIsIHNvIG5vIG5lZWQgdG8gcHJlcCBpdCAqLwotICAgICAgICAg ICAgIGJyZWFrOwotICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgICBrZXlUZW1wbGF0ZSA9 IE5VTEw7Ci0gICAgICAgICAgICAgcGFyYW1UZW1wbGF0ZSA9IE5VTEw7Ci0gICAgICAgICAgICAg cGFyYW1EZXN0ID0gTlVMTDsKLS0gICAgICAgICAgICBicmVhazsKLS0gICAgfQotLQotLSAgICBp ZiAoIWtleVRlbXBsYXRlKSB7Ci0tICAgICAgICBnb3RvIGxvc2VyOwotKyAgICAgICAgICAgIFBP UlRfU2V0RXJyb3IoU0VDX0VSUk9SX0JBRF9LRVkpOwotKyAgICAgICAgICAgIGdvdG8gbG9zZXI7 Ci0gICAgIH0KLSAKLSAgICAgLyogZGVjb2RlIHRoZSBwcml2YXRlIGtleSBhbmQgYW55IGFsZ29y aXRobSBwYXJhbWV0ZXJzICovCi0tICAgIHJ2ID0gU0VDX1F1aWNrREVSRGVjb2RlSXRlbShhcmVu YSwgbHBrLCBrZXlUZW1wbGF0ZSwgJnBraS0+cHJpdmF0ZUtleSk7Ci0rICAgIHJ2ID0gU0VDU3Vj Y2VzczsKLSsgICAgaWYgKGtleVRlbXBsYXRlKSB7Ci0rICAgICAgICBydiA9IFNFQ19RdWlja0RF UkRlY29kZUl0ZW0oYXJlbmEsIGxwaywga2V5VGVtcGxhdGUsICZwa2ktPnByaXZhdGVLZXkpOwot KyAgICB9Ci0gCi0gICAgIGlmIChscGstPmtleVR5cGUgPT0gTlNTTE9XS0VZRUNLZXkpIHsKLSAg ICAgICAgIC8qIGNvbnZlcnQgbGVuZ3RoIGluIGJpdHMgdG8gbGVuZ3RoIGluIGJ5dGVzICovCi0g ICAgICAgICBscGstPnUuZWMucHVibGljVmFsdWUubGVuID4+PSAzOwotICAgICAgICAgcnYgPSBT RUNJVEVNX0NvcHlJdGVtKGFyZW5hLAotQEAgLTc1NjAsMTMgKzc2MTUsMTkgQEAKLSAgICAgICAg ICAgICB0ZW1wbGF0ZSA9IGRoVGVtcGxhdGU7Ci0gICAgICAgICAgICAgdGVtcGxhdGVDb3VudCA9 IHNpemVvZihkaFRlbXBsYXRlKSAvIHNpemVvZihDS19BVFRSSUJVVEUpOwotICAgICAgICAgICAg IGtleVR5cGUgPSBDS0tfREg7Ci0gICAgICAgICAgICAgYnJlYWs7Ci0gI2VuZGlmCi0tICAgICAg ICAvKiB3aGF0IGFib3V0IGZvcnRlenphPz8/ICovCi0rICAgICAgICBjYXNlIE5TU0xPV0tFWUVD RWR3YXJkc0tleToKLSsgICAgICAgICAgICBrZXlUeXBlID0gQ0tLX0VDX0VEV0FSRFM7Ci0rICAg ICAgICAgICAgZ290byBlY19pbXBvcnRfY29udGludWU7Ci0rICAgICAgICBjYXNlIE5TU0xPV0tF WUVDTW9udGdvbWVyeUtleToKLSsgICAgICAgICAgICBrZXlUeXBlID0gQ0tLX0VDX01PTlRHT01F Ulk7Ci0rICAgICAgICAgICAgZ290byBlY19pbXBvcnRfY29udGludWU7Ci0gICAgICAgICBjYXNl IE5TU0xPV0tFWUVDS2V5OgotICAgICAgICAgICAgIGtleVR5cGUgPSBDS0tfRUM7Ci0rICAgICAg ICBlY19pbXBvcnRfY29udGludWU6Ci0gICAgICAgICAgICAgLyogaWYgd2Ugd2VyZW4ndCBwYXNz ZWQgdGhlIENLQV9OU1NfREIsIGdldCBpdAotICAgICAgICAgICAgICAqIGZyb20gdGhlIHB1Ymxp YyBrZXkgKi8KLSAgICAgICAgICAgICBpZiAoIXNmdGtfaGFzQXR0cmlidXRlKGtleSwgQ0tBX05T U19EQikpIHsKLSAgICAgICAgICAgICAgICAgaWYgKGxway0+dS5lYy5wdWJsaWNWYWx1ZS5sZW4g PT0gMCkgewotICAgICAgICAgICAgICAgICAgICAgY3J2ID0gQ0tSX0tFWV9UWVBFX0lOQ09OU0lT VEVOVDsKLWRpZmYgLS1naXQgYS9saWIvc29mdG9rZW4vcGtjczExdS5jIGIvbGliL3NvZnRva2Vu L3BrY3MxMXUuYwotLS0tIGEvbGliL3NvZnRva2VuL3BrY3MxMXUuYwotKysrIGIvbGliL3NvZnRv a2VuL3BrY3MxMXUuYwotQEAgLTE2NDIsMTAgKzE2NDIsMTIgQEAKLSAgICAgICAgIGNhc2UgQ0tL X0RIOgotICAgICAgICAgICAgIGNydiA9IHN0ZmtfQ29weVRva2VuQXR0cmlidXRlcyhkZXN0T2Jq ZWN0LCBzcmNfdG8sIGRoUHJpdktleUF0dHJzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBkaFByaXZLZXlBdHRyc0NvdW50KTsKLSAgICAgICAgICAgICBicmVh azsKLSAgICAgICAgIGNhc2UgQ0tLX0VDOgotKyAgICAgICAgY2FzZSBDS0tfRUNfRURXQVJEUzoK LSsgICAgICAgIGNhc2UgQ0tLX0VDX01PTlRHT01FUlk6Ci0gICAgICAgICAgICAgY3J2ID0gc3Rm a19Db3B5VG9rZW5BdHRyaWJ1dGVzKGRlc3RPYmplY3QsIHNyY190bywgZWNQcml2S2V5QXR0cnMs Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVjUHJpdktleUF0 dHJzQ291bnQpOwotICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgZGVmYXVsdDoKLSAgICAg ICAgICAgICBjcnYgPSBDS1JfREVWSUNFX0VSUk9SOyAvKiBzaG91bGRuJ3QgaGFwcGVuIHVubGVz cyB3ZSBzdG9yZSBtb3JlIHR5cGVzCi1AQCAtMTcwNiwxMCArMTcwOCwxMiBAQAotICAgICAgICAg Y2FzZSBDS0tfREg6Ci0gICAgICAgICAgICAgY3J2ID0gc3Rma19Db3B5VG9rZW5BdHRyaWJ1dGVz KGRlc3RPYmplY3QsIHNyY190bywgZGhQdWJLZXlBdHRycywKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZGhQdWJLZXlBdHRyc0NvdW50KTsKLSAgICAgICAgICAg ICBicmVhazsKLSAgICAgICAgIGNhc2UgQ0tLX0VDOgotKyAgICAgICAgY2FzZSBDS0tfRUNfRURX QVJEUzoKLSsgICAgICAgIGNhc2UgQ0tLX0VDX01PTlRHT01FUlk6Ci0gICAgICAgICAgICAgY3J2 ID0gc3Rma19Db3B5VG9rZW5BdHRyaWJ1dGVzKGRlc3RPYmplY3QsIHNyY190bywgZWNQdWJLZXlB dHRycywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWNQdWJL ZXlBdHRyc0NvdW50KTsKLSAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgIGRlZmF1bHQ6Ci0g ICAgICAgICAgICAgY3J2ID0gQ0tSX0RFVklDRV9FUlJPUjsgLyogc2hvdWxkbid0IGhhcHBlbiB1 bmxlc3Mgd2Ugc3RvcmUgbW9yZSB0eXBlcwotZGlmZiAtLWdpdCBhL2xpYi91dGlsL3NlY29pZC5j IGIvbGliL3V0aWwvc2Vjb2lkLmMKLS0tLSBhL2xpYi91dGlsL3NlY29pZC5jCi0rKysgYi9saWIv dXRpbC9zZWNvaWQuYwotQEAgLTY0MCwxNCArNjQwLDE0IEBACi0gICAgICAgICBhIHByaXZhdGUg a2V5LCBhbmQgYSBzaWduYXR1cmUgKGZvciB0aGUgdHdvIEVkRFNBIHJlbGF0ZWQgT0lEcykuCi0g ICAgICAgICBBZGRpdGlvbmFsIGVuY29kaW5nIGluZm9ybWF0aW9uIGlzIHByb3ZpZGVkIGJlbG93 IGZvciBlYWNoIG9mIHRoZXNlCi0gICAgICAgICBsb2NhdGlvbnMuCi0gKi8KLSAKLS1DT05TVF9P SUQgZWQyNTUxOVB1YmxpY0tleVtdID0geyAweDJCLCAweDY1LCAweDcwIH07Ci0tQ09OU1RfT0lE IGVkMjU1MTlTaWduYXR1cmVbXSA9IHsgMHgyQiwgMHg2NSwgMHg3MCB9OwotLQotIC8qaHR0cHM6 Ly93d3cucmZjLWVkaXRvci5vcmcvcmZjL3JmYzg0MTAjc2VjdGlvbi0zKi8KLSsvKiAxLjMuMTAx LjExMiAqLwotK0NPTlNUX09JRCBlZDI1NTE5W10gPSB7IDB4MkIsIDB4NjUsIDB4NzAgfTsKLSsv KiAxLjMuMTAxLjExMCAqLwotIENPTlNUX09JRCB4MjU1MTlQdWJsaWNLZXlbXSA9IHsgMHgyYiwg MHg2NSwgMHg2ZSB9OwotIAotIC8qCi0gICogTUwtRFNBIE9JRHMKLSAgKiBodHRwczovL2NzcmMu bmlzdC5nb3YvcHJvamVjdHMvY29tcHV0ZXItc2VjdXJpdHktb2JqZWN0cy1yZWdpc3Rlci9hbGdv cml0aG0tcmVnaXN0cmF0aW9uCi1AQCAtMTg2OSwxNSArMTg2OSwxOCBAQAotICAgICBPRChobWFj X3NoYTNfNTEyLCBTRUNfT0lEX0hNQUNfU0hBM181MTIsICJITUFDIFNIQTMtNTEyIiwgQ0tNX1NI QTNfNTEyX0hNQUMsIElOVkFMSURfQ0VSVF9FWFRFTlNJT04pLAotIAotICAgICBPREUoU0VDX09J RF9YWUJFUjc2OEQwMCwKLSAgICAgICAgICJYMjU1MTkrS3liZXI3Njgga2V5IGV4Y2hhbmdlIiwg Q0tNX0lOVkFMSURfTUVDSEFOSVNNLCBJTlZBTElEX0NFUlRfRVhURU5TSU9OKSwKLSAKLS0gICAg T0QoZWQyNTUxOVNpZ25hdHVyZSwgU0VDX09JRF9FRDI1NTE5X1NJR05BVFVSRSwgIlg5LjYyIEVE RFNBIHNpZ25hdHVyZSIsIENLTV9FRERTQSwKLS0gICAgICAgSU5WQUxJRF9DRVJUX0VYVEVOU0lP TiksCi0rICAgIC8qIFNFQ19PSURfRUQyNTUxOV9QVUJMSUNfS0VZIGFuZCBTRUNfT0lEX0VEMjU1 MTlfU0lHTkFUVVJFIGhhdmUgdGhlIHNhbWUKLSsgICAgICogdmFsdWVzLCBzbyB3ZSBzaG91bGQg b25seSBoYXZlIG9uZSBlbnRyeSBpbiB0aGUgdGFibGUsIFdlIGNhbid0Ci0rICAgICAqIHNoaWZ0 IHRoZSB2YWx1ZXMgb2YgdGhlIG90aGVyIGVudHJpZXMsIHNvIGp1c3QgbGVhdiBhIGRlYWQgc3Bv dCBoZXJlICovCi0rICAgIE9ERShTRUNfT0lEX1JFU0VSVkVEX09MRF9FRFNJRywgIlJlc2VydmVk IiwgQ0tNX0lOVkFMSURfTUVDSEFOSVNNLAotKyAgICAgICAgSU5WQUxJRF9DRVJUX0VYVEVOU0lP TiksCi0gCi0tICAgIE9EKGVkMjU1MTlQdWJsaWNLZXksIFNFQ19PSURfRUQyNTUxOV9QVUJMSUNf S0VZLAotLSAgICAgICAiWDkuNjIgZWxsaXB0aWMgZWR3YXJkcyBjdXJ2ZSBwdWJsaWMga2V5Iiwg Q0tNX0VDX0VEV0FSRFNfS0VZX1BBSVJfR0VOLCBJTlZBTElEX0NFUlRfRVhURU5TSU9OKSwKLSsg ICAgT0QoZWQyNTUxOSwgU0VDX09JRF9FRDI1NTE5LAotKyAgICAgICAiWDkuNjIgRWxsaXB0aWMg RWR3YXJkcyBDdXJ2ZSAyNTUxOSIsIENLTV9FRERTQSwgSU5WQUxJRF9DRVJUX0VYVEVOU0lPTiks Ci0gCi0gICAgIE9EKGRoU2luZ2xlUGFzc3N0ZERIc2hhMWtkZnNjaGVtZSwgU0VDX09JRF9ESFNJ TkdMRVBBU1NfU1REREhfU0hBMUtERl9TQ0hFTUUsCi0gICAgICAgICJFbGxpcHRpYyBDdXJ2ZSBE aWZmaWUtSGVsbG1hbiBTaW5nbGUgUGFzcyBTdGFuZGFyZCB3aXRoIFNIQTEgS0RGIiwgQ0tNX0VD REgxX0RFUklWRSwKLSAgICAgICAgSU5WQUxJRF9DRVJUX0VYVEVOU0lPTiksCi0gICAgIE9EKGRo U2luZ2xlUGFzc3N0ZERIc2hhMjI0a2Rmc2NoZW1lLCBTRUNfT0lEX0RIU0lOR0xFUEFTU19TVERE SF9TSEEyMjRLREZfU0NIRU1FLAotZGlmZiAtLWdpdCBhL2xpYi91dGlsL3NlY29pZHQuaCBiL2xp Yi91dGlsL3NlY29pZHQuaAotLS0tIGEvbGliL3V0aWwvc2Vjb2lkdC5oCi0rKysgYi9saWIvdXRp bC9zZWNvaWR0LmgKLUBAIC01MTIsMTIgKzUxMiwxMiBAQAotICAgICBTRUNfT0lEX0hNQUNfU0hB M18zODQgPSAzNzAsCi0gICAgIFNFQ19PSURfSE1BQ19TSEEzXzUxMiA9IDM3MSwKLSAKLSAgICAg U0VDX09JRF9YWUJFUjc2OEQwMCA9IDM3MiwKLSAKLS0gICAgU0VDX09JRF9FRDI1NTE5X1NJR05B VFVSRSA9IDM3MywKLS0gICAgU0VDX09JRF9FRDI1NTE5X1BVQkxJQ19LRVkgPSAzNzQsCi0rICAg IFNFQ19PSURfUkVTRVJWRURfT0xEX0VEU0lHID0gMzczLAotKyAgICBTRUNfT0lEX0VEMjU1MTkg PSAzNzQsCi0gCi0gICAgIFNFQ19PSURfREhTSU5HTEVQQVNTX1NURERIX1NIQTFLREZfU0NIRU1F ID0gMzc1LAotICAgICBTRUNfT0lEX0RIU0lOR0xFUEFTU19TVERESF9TSEEyMjRLREZfU0NIRU1F ID0gMzc2LAotICAgICBTRUNfT0lEX0RIU0lOR0xFUEFTU19TVERESF9TSEEyNTZLREZfU0NIRU1F ID0gMzc3LAotICAgICBTRUNfT0lEX0RIU0lOR0xFUEFTU19TVERESF9TSEEzODRLREZfU0NIRU1F ID0gMzc4LAotQEAgLTU2MSwxMCArNTYxLDE0IEBACi0gI2RlZmluZSBTRUNfT0lEX01MX0RTQV82 NV9TSUdOQVRVUkUgU0VDX09JRF9NTF9EU0FfNjUKLSAjZGVmaW5lIFNFQ19PSURfTUxfRFNBXzY1 X1BVQkxJQ19LRVkgU0VDX09JRF9NTF9EU0FfNjUKLSAjZGVmaW5lIFNFQ19PSURfTUxfRFNBXzg3 X1NJR05BVFVSRSBTRUNfT0lEX01MX0RTQV84NwotICNkZWZpbmUgU0VDX09JRF9NTF9EU0FfODdf UFVCTElDX0tFWSBTRUNfT0lEX01MX0RTQV84NwotIAotKy8qIEVERFNBIGhhdmUgdGhlIHNhbWUg aWRlbnRpZmllcnMgZm9yIHB1YmxpYyBrZXlzIGFuZCBzaWduYXR1cmVzICovCi0rI2RlZmluZSBT RUNfT0lEX0VEMjU1MTlfU0lHTkFUVVJFIFNFQ19PSURfRUQyNTUxOQotKyNkZWZpbmUgU0VDX09J RF9FRDI1NTE5X1BVQkxJQ19LRVkgU0VDX09JRF9FRDI1NTE5Ci0rCi0gdHlwZWRlZiBlbnVtIHsK LSAgICAgSU5WQUxJRF9DRVJUX0VYVEVOU0lPTiA9IDAsCi0gICAgIFVOU1VQUE9SVEVEX0NFUlRf RVhURU5TSU9OID0gMSwKLSAgICAgU1VQUE9SVEVEX0NFUlRfRVhURU5TSU9OID0gMgotIH0gU0VD U3VwcG9ydEV4dGVuVGFnOwotZGlmZiAtLWdpdCBhL3Rlc3RzL3Rvb2xzL3Rvb2xzLnNoIGIvdGVz dHMvdG9vbHMvdG9vbHMuc2gKLS0tLSBhL3Rlc3RzL3Rvb2xzL3Rvb2xzLnNoCi0rKysgYi90ZXN0 cy90b29scy90b29scy5zaAotQEAgLTEyNiwxMCArMTI2LDExIEBACi0gICBjcCAke1FBRElSfS90 b29scy9wYm1hYzEtdmFsaWQtc2hhNTEyLnAxMiAke1RPT0xTRElSfS9kYXRhCi0gICBjcCAke1FB RElSfS90b29scy9wYm1hYzEtaW52YWxpZC1iYWQtaXRlci5wMTIgJHtUT09MU0RJUn0vZGF0YQot ICAgY3AgJHtRQURJUn0vdG9vbHMvcGJtYWMxLWludmFsaWQtYmFkLXNhbHQucDEyICR7VE9PTFNE SVJ9L2RhdGEKLSAgIGNwICR7UUFESVJ9L3Rvb2xzL3BibWFjMS1pbnZhbGlkLW5vLWxlbmd0aC5w MTIgJHtUT09MU0RJUn0vZGF0YQotICAgY3AgJHtRQURJUn0vdG9vbHMvY29ycnVwdGVkX2NlcnRf YmFnLnAxMiAke1RPT0xTRElSfS9kYXRhCi0rICBjcCAke1FBRElSfS90b29scy9vcGVuc3NsLWVk MjU1MTkucDEyICR7VE9PTFNESVJ9L2RhdGEKLSAgIGNwICR7UUFESVJ9L3Rvb2xzL29wZW5zc2wt bWwta2VtLTc2OC1zZWVkLnAxMiAke1RPT0xTRElSfS9kYXRhCi0gICBjcCAke1FBRElSfS90b29s cy9vcGVuc3NsLW1sLWtlbS03NjgtcHJpdi5wMTIgJHtUT09MU0RJUn0vZGF0YQotICAgY3AgJHtR QURJUn0vdG9vbHMvb3BlbnNzbC1tbC1rZW0tNzY4LWJvdGgucDEyICR7VE9PTFNESVJ9L2RhdGEK LSAgIGNwICR7UUFESVJ9L3Rvb2xzL29wZW5zc2wtbWwta2VtLTEwMjQtc2VlZC5wMTIgJHtUT09M U0RJUn0vZGF0YQotICAgY3AgJHtRQURJUn0vdG9vbHMvb3BlbnNzbC1tbC1rZW0tMTAyNC1wcml2 LnAxMiAke1RPT0xTRElSfS9kYXRhCi1AQCAtNTM0LDEwICs1MzUsMjEgQEAKLSAgIGNoZWNrX3Rt cGZpbGUKLSAKLSAgIHJldHVybiAkcmV0Ci0gfQotIAotK3Rvb2xzX3AxMl9pbXBvcnRfZWQyNTUx OV9wcml2YXRlX2tleSgpCi0rewotKyAgZWNobyAiJFNDUklQVE5BTUU6IEltcG9ydGluZyBFRDI1 NTE5IHByaXZhdGUga2V5IGZyb20gUEtDUyMxMiBmaWxlIC0tLS0tLS0tLS0tLS0tIgotKyAgJHtC SU5ESVJ9L3BrMTJ1dGlsIC1pICR7VE9PTFNESVJ9L2RhdGEvb3BlbnNzbC1lZDI1NTE5LnAxMiAt ZCAke1BfUl9DT1BZRElSfSAtayAke1JfUFdGSUxFfSAtVyAndGVzdCcgMj4mMQotKyAgcmV0PSQ/ Ci0rICBodG1sX21zZyAkcmV0IDAgIkltcG9ydGluZyBFRDI1NTE5IHByaXZhdGUga2V5IGZyb20g UEtDUyMxMiBmaWxlIgotKyAgY2hlY2tfdG1wZmlsZQotKwotKyAgcmV0dXJuICRyZXQKLSt9Ci0r Ci0gdG9vbHNfcDEyX21sX2tlbV9pbXBvcnQoKQotIHsKLSAgIGVjaG8gIiRTQ1JJUFROQU1FOiBU ZXN0aW5nIG1sLWtlbSBjb21wYXRpYmlsaXR5IHdpdGggcGtjczEyIC0tLS0tLS0tLS0tLS0tIgot ICAgZm9yIGkgaW4gNzY4IDEwMjQKLSAgIGRvCi1AQCAtNjE0LDEwICs2MjYsMTEgQEAKLSAgIGZp Ci0gICB0b29sc19wMTJfZXhwb3J0X3dpdGhfbm9uZV9jaXBoZXJzCi0gICB0b29sc19wMTJfZXhw b3J0X3dpdGhfaW52YWxpZF9jaXBoZXJzCi0gICB0b29sc19wMTJfaW1wb3J0X29sZF9maWxlcwot ICAgdG9vbHNfcDEyX2ltcG9ydF9wYm1hYzFfc2FtcGxlcwotKyAgdG9vbHNfcDEyX2ltcG9ydF9l ZDI1NTE5X3ByaXZhdGVfa2V5Ci0gICB0b29sc19wMTJfbWxfa2VtX2ltcG9ydAotICAgaWYgdXNp bmdfc3FsOyB0aGVuCi0gICAgIHRvb2xzX3AxMl9pbXBvcnRfcnNhX3Bzc19wcml2YXRlX2tleQot ICAgICB0b29sc19wMTJfcG9saWN5Ci0gICBmaQotCgpkaWZmIC0tZ2l0IGEvbnNzLTMuMTI0LWZp eC1wdWIta2V5LWltcG9ydC1lbmNhcHN1bGF0ZS5wYXRjaCBiL25zcy0zLjEyNC1maXgtcHViLWtl eS1pbXBvcnQtZW5jYXBzdWxhdGUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDM5Y2NjYzcuLjAwMDAwMDAKLS0tIGEvbnNzLTMuMTI0LWZpeC1wdWIta2V5LWltcG9ydC1lbmNh cHN1bGF0ZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDIxNyArMCwwIEBACi0jIEhHIGNoYW5n ZXNldCBwYXRjaAotIyBVc2VyIFJvYmVydCBSZWx5ZWEgPHJyZWx5ZWFAcmVkaGF0LmNvbT4KLSMg RGF0ZSAxNzgxMDI5NzIwIDI1MjAwCi0jICAgICAgVHVlIEp1biAwOSAxMToyODo0MCAyMDI2IC0w NzAwCi0jIEJyYW5jaCBOU1NfM18xMjRfQlJBTkNICi0jIE5vZGUgSUQgMWUwNTY1Zjk1OGM5ZTlj ZTQ3MTNhMTllZWVlMzU0MTI4NjEzM2ZiNgotIyBQYXJlbnQgIGQ5YmExNDg3YzdjNjgyMTE1NGVk ZDk3MmM4OGNlY2JhMWQ0NTg1MDMKLW5zcy0zLjEyNC1maXgtcHViLWtleS1pbXBvcnQtZW5jYXBz dWxhdGUucGF0Y2gKLQotZGlmZiAtLWdpdCBhL2xpYi9wazExd3JhcC9wazExc2tleS5jIGIvbGli L3BrMTF3cmFwL3BrMTFza2V5LmMKLS0tLSBhL2xpYi9wazExd3JhcC9wazExc2tleS5jCi0rKysg Yi9saWIvcGsxMXdyYXAvcGsxMXNrZXkuYwotQEAgLTMxMjQsMzMgKzMxMjQsNTQgQEAgU0VDU3Rh dHVzCi0gUEsxMV9FbmNhcHN1bGF0ZShTRUNLRVlQdWJsaWNLZXkgKnB1YktleSwgQ0tfTUVDSEFO SVNNX1RZUEUgdGFyZ2V0LAotICAgICAgICAgICAgICAgICAgUEsxMUF0dHJGbGFncyBhdHRyRmxh Z3MsIENLX0ZMQUdTIG9wRmxhZ3MsCi0gICAgICAgICAgICAgICAgICBQSzExU3ltS2V5ICoqb3V0 S2V5LCBTRUNJdGVtICoqb3V0Q2lwaGVydGV4dCkKLSB7Ci0gICAgIFBPUlRfQXNzZXJ0KHB1Yktl eSk7Ci0gICAgIFBPUlRfQXNzZXJ0KG91dEtleSk7Ci0gICAgIFBPUlRfQXNzZXJ0KG91dENpcGhl cnRleHQpOwotIAotLSAgICBQSzExU2xvdEluZm8gKnNsb3QgPSBwdWJLZXktPnBrY3MxMVNsb3Q7 Ci0gCi0gICAgIFBLMTFTeW1LZXkgKnNoYXJlZFNlY3JldCA9IE5VTEw7Ci0gICAgIFNFQ0l0ZW0g KmNpcGhlcnRleHQgPSBOVUxMOwotIAotICAgICBDS19BVFRSSUJVVEUga2V5VGVtcGxhdGVbTUFY X1RFTVBMX0FUVFJTXTsKLSAgICAgdW5zaWduZWQgaW50IHRlbXBsYXRlQ291bnQ7Ci0gCi0rCi0g ICAgIENLX0FUVFJJQlVURSAqYXR0cnM7Ci0gICAgIENLX0JCT09MIGNrdHJ1ZSA9IENLX1RSVUU7 Ci0gICAgIENLX0JCT09MIGNrZmFsc2UgPSBDS19GQUxTRTsKLSAgICAgQ0tfT0JKRUNUX0NMQVNT IGtleUNsYXNzID0gQ0tPX1NFQ1JFVF9LRVk7Ci0gICAgIENLX0tFWV9UWVBFIGtleVR5cGUgPSBD S0tfR0VORVJJQ19TRUNSRVQ7Ci0gICAgIENLX01FQ0hBTklTTV9UWVBFIGtlbVR5cGUgPSBwazEx X21hcEtlbUtleVR5cGUocHViS2V5LT5rZXlUeXBlKTsKLSAgICAgQ0tfTUVDSEFOSVNNIG1lY2gg PSB7IGtlbVR5cGUsIE5VTEwsIDAgfTsKLSAgICAgQ0tfVUxPTkcgY2lwaGVydGV4dExlbiA9IDA7 Ci0tICAgIENLX1JWIGNydjsKLSsgICAgQ0tfUlYgY3J2ID0gQ0tSX09LOwotKwotKyAgICBQSzEx U2xvdEluZm8gKnNsb3QgPSBwdWJLZXktPnBrY3MxMVNsb3Q7Ci0rCi0rICAgIGlmIChzbG90ID09 IE5VTEwpIHsKLSsgICAgICAgIENLX01FQ0hBTklTTV9UWVBFIG1lY2hzW10gPSB7IGtlbVR5cGUs IHRhcmdldH07Ci0rICAgICAgICBDS19VTE9ORyBtZWNoX2NvdW50ID0gUFJfQVJSQVlfU0laRSht ZWNocyk7Ci0rICAgICAgICBzbG90ID0gUEsxMV9HZXRCZXN0U2xvdE11bHRpcGxlKG1lY2hzLCBt ZWNoX2NvdW50LCBOVUxMIC8qc2lnaCovKTsKLSsgICAgfSBlbHNlIHsKLSsgICAgICAgIC8qIHNo b3VsZCB3ZSBjaGVjayBpZiB0aGUgc2xvdCBjYW4gZG8gdGFyZ2V0IGFuZCBrZW10eXBlCi0rICAg ICAgICAgKiBoZXJlIGFuZCBtb3ZlIHRoZSBwdWJsaWMga2V5IGlmIGl0IGNhbid0PyAqLwotKyAg ICAgICAgc2xvdCA9IFBLMTFfUmVmZXJlbmNlU2xvdChzbG90KTsKLSsgICAgfQotKyAgICBpZiAo c2xvdCA9PSBOVUxMKSB7Ci0rICAgICAgICBnb3RvIGxvc2VyOyAvKiBlcnJvciBhbHJlYWR5IHNl dCAqLwotKyAgICB9Ci0rCi0rICAgIENLX09CSkVDVF9IQU5ETEUgaWQgPSBQSzExX0ltcG9ydFB1 YmxpY0tleShzbG90LCBwdWJLZXksIFBSX0ZBTFNFKTsKLSsKLSsgICAgaWYgKGlkID09IENLX0lO VkFMSURfSEFORExFKSB7Ci0rICAgICAgICBnb3RvIGxvc2VyOyAvKiBlcnJvciBhbHJlYWR5IHNl dCAqLwotKyAgICB9Ci0gCi0gICAgIC8qIHNldCB1cCB0aGUgdGFyZ2V0IGtleSB0ZW1wbGF0ZSAq LwotICAgICBhdHRycyA9IGtleVRlbXBsYXRlOwotICAgICBQSzExX1NFVEFUVFJTKGF0dHJzLCBD S0FfQ0xBU1MsICZrZXlDbGFzcywgc2l6ZW9mKGtleUNsYXNzKSk7Ci0gICAgIGF0dHJzKys7Ci0g Ci0gICAgIFBLMTFfU0VUQVRUUlMoYXR0cnMsIENLQV9LRVlfVFlQRSwgJmtleVR5cGUsIHNpemVv ZihrZXlUeXBlKSk7Ci0gICAgIGF0dHJzKys7Ci1AQCAtMzE2MiwzMCArMzE4MywzMCBAQCBQSzEx X0VuY2Fwc3VsYXRlKFNFQ0tFWVB1YmxpY0tleSAqcHViS2V5Ci0gICAgIFBSX0FTU0VSVCh0ZW1w bGF0ZUNvdW50IDw9IHNpemVvZihrZXlUZW1wbGF0ZSkgLyBzaXplb2YoQ0tfQVRUUklCVVRFKSk7 Ci0gCi0gICAgICpvdXRLZXkgPSBOVUxMOwotICAgICAqb3V0Q2lwaGVydGV4dCA9IE5VTEw7Ci0g Ci0gICAgIC8qIGNyZWF0ZSBhIHN0cnV4dHVyZSBmb3IgdGhlIHRhcmdldCBrZXkgKi8KLSAgICAg c2hhcmVkU2VjcmV0ID0gcGsxMV9DcmVhdGVTeW1LZXkoc2xvdCwgdGFyZ2V0LCBQUl9UUlVFLCBQ Ul9UUlVFLCBOVUxMKTsKLSAgICAgaWYgKHNoYXJlZFNlY3JldCA9PSBOVUxMKSB7Ci0tICAgICAg ICBQT1JUX1NldEVycm9yKFNFQ19FUlJPUl9OT19NRU1PUlkpOwotLSAgICAgICAgcmV0dXJuIFNF Q0ZhaWx1cmU7Ci0rICAgICAgICBjcnYgPSBDS1JfSE9TVF9NRU1PUlk7Ci0rICAgICAgICBnb3Rv IGxvc2VyOwotICAgICB9Ci0gICAgIHNoYXJlZFNlY3JldC0+b3JpZ2luID0gUEsxMV9PcmlnaW5E ZXJpdmU7Ci0gCi0gICAgIC8qIHRoaXMgcGF0aCBpcyBLRU0gbWVjaGFuaXNtIGFnbm9zdGljICov Ci0gICAgIGlmIChQSzExX0NoZWNrUEtDUzExVmVyc2lvbihzbG90LCAzLCAyLCBQUl9UUlVFKSA+ PSAwKSB7Ci0gICAgICAgICBwazExX0VudGVyS2V5TW9uaXRvcihzaGFyZWRTZWNyZXQpOwotICAg ICAgICAgLyogZ2V0IHRoZSBsZW5ndGggdGhlIG5vcm1hbCBQS0NTICMxMSB3YXkuIFRoaXMgd29y a3Mgbm8gbWF0dGVyCi0gICAgICAgICAgKiB3aGF0IHRoZSBLRU0gaXMgYW5kIHdlIGRvbid0IGhh dmUgdG8gdHJ5IHRvIGd1ZXNzIHRoZSBLRU0gbGVuZ3RoCi0gICAgICAgICAgKiBmcm9tIHRoZSBr ZXkgKi8KLSAgICAgICAgIGNydiA9IFBLMTFfR0VUVEFCKHNsb3QpLT5DX0VuY2Fwc3VsYXRlS2V5 KHNoYXJlZFNlY3JldC0+c2Vzc2lvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICZtZWNoLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgcHViS2V5LT5wa2NzMTFJRCwKLSsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkLAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5VGVtcGxhdGUsCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZW1wbGF0ZUNvdW50LAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZjaXBo ZXJ0ZXh0TGVuLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJnNoYXJlZFNlY3JldC0+b2JqZWN0SUQpOwotICAgICAgICAgcGsxMV9FeGl0S2V5TW9u aXRvcihzaGFyZWRTZWNyZXQpOwotICAgICAgICAgaWYgKChjcnYgIT0gQ0tSX09LKSAmJiAoY3J2 ICE9IENLUl9CVUZGRVJfVE9PX1NNQUxMKSAmJgotICAgICAgICAgICAgIChjcnYgIT0gQ0tSX0tF WV9TSVpFX1JBTkdFKSkgewotQEAgLTMxOTcsMTcgKzMyMTgsMTcgQEAgUEsxMV9FbmNhcHN1bGF0 ZShTRUNLRVlQdWJsaWNLZXkgKnB1YktleQotICAgICAgICAgICAgIGdvdG8gbG9zZXI7Ci0gICAg ICAgICB9Ci0gICAgICAgICBwazExX0VudGVyS2V5TW9uaXRvcihzaGFyZWRTZWNyZXQpOwotICAg ICAgICAgLyogTm93IGRvIHRoZSBlbmNhcHN1bGF0ZSAqLwotICAgICAgICAgLyogTk9URTogdGhl IFBLQ1MgIzExIG9yZGVyIG9mIHRoZSBwYXJhbWV0ZXJzIGlzIGRpZmZlcmVudCBmcm9tCi0gICAg ICAgICAgKiB0aGUgdmVuZG9yIGludGVyZmFjZSAqLwotICAgICAgICAgY3J2ID0gUEsxMV9HRVRU QUIoc2xvdCktPkNfRW5jYXBzdWxhdGVLZXkoc2hhcmVkU2VjcmV0LT5zZXNzaW9uLAotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm1lY2gsCi0tICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJLZXktPnBr Y3MxMUlELAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgaWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBrZXlUZW1wbGF0ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHRlbXBsYXRlQ291bnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjaXBoZXJ0ZXh0LT5kYXRhLAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmNpcGhlcnRleHRMZW4sCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc2hhcmVkU2VjcmV0 LT5vYmplY3RJRCk7Ci0gICAgICAgICBwazExX0V4aXRLZXlNb25pdG9yKHNoYXJlZFNlY3JldCk7 Ci0gICAgICAgICBpZiAoY3J2ICE9IENLUl9PSykgewotICAgICAgICAgICAgIGdvdG8gbG9zZXI7 Ci1AQCAtMzIyOCwyMSArMzI0OSwyMSBAQCBQSzExX0VuY2Fwc3VsYXRlKFNFQ0tFWVB1YmxpY0tl eSAqcHViS2V5Ci0gICAgICAgICBpZiAoY3J2ICE9IENLUl9PSykgewotICAgICAgICAgICAgIGdv dG8gbG9zZXI7Ci0gICAgICAgICB9Ci0gICAgICAgICBLRU1JbnRlcmZhY2VGdW5jdGlvbnMgPSAo Q0tfTlNTX0tFTV9GVU5DVElPTlMgKikoS0VNSW50ZXJmYWNlLT5wRnVuY3Rpb25MaXN0KTsKLSAK LSAgICAgICAgIC8qIHRoZSBvbGQgQVBJIGV4cGVjdGVkIHRoZSBwYXJhbWV0ZXIgc2V0IGFzIGEg cGFyYW1ldGVyLCB0aGUKLSAgICAgICAgICAqIHBrY3MxMSB2My4yIGdldHMgaXQgZnJvbSB0aGUg a2V5ICovCi0gICAgICAgICBrZW1QYXJhbWV0ZXJTZXQgPSBQSzExX1JlYWRVTG9uZ0F0dHJpYnV0 ZShzbG90LAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgcHViS2V5LT5wa2NzMTFJRCwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGlkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgQ0tBX05TU19QQVJBTUVURVJfU0VUKTsKLSAgICAgICAgIGlmIChrZW1Q YXJhbWV0ZXJTZXQgPT0gQ0tfVU5BVkFJTEFCTEVfSU5GT1JNQVRJT04pIHsKLSAgICAgICAgICAg ICBrZW1QYXJhbWV0ZXJTZXQgPSBQSzExX1JlYWRVTG9uZ0F0dHJpYnV0ZShzbG90LAotLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1YktleS0+ cGtjczExSUQsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgaWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgQ0tBX1BBUkFNRVRFUl9TRVQpOwotICAgICAgICAgICAgIGlmIChrZW1QYXJh bWV0ZXJTZXQgPT0gQ0tfVU5BVkFJTEFCTEVfSU5GT1JNQVRJT04pIHsKLSAgICAgICAgICAgICAg ICAgY3J2ID0gQ0tSX1BVQkxJQ19LRVlfSU5WQUxJRDsKLSAgICAgICAgICAgICAgICAgZ290byBs b3NlcjsKLSAgICAgICAgICAgICB9Ci0gICAgICAgICB9Ci0gICAgICAgICAvKiBUaGUgb2xkIGlu dGVyZmFjZSBvbmx5IGV2ZXIgc3VwcG9ydGVkIEtZQkVSNzY4IGFuZCBNTEtFTTc2OAotICAgICAg ICAgICogU09NRSB2ZXJzaW9ucyBvZiBSSEVMIGhhcyBNTEtFTTEwMjQgIHN1cHBvcnQsIGlmIHdl IHdhbnQgdG8KLUBAIC0zMjU5LDM5ICszMjgwLDQ4IEBAIFBLMTFfRW5jYXBzdWxhdGUoU0VDS0VZ UHVibGljS2V5ICpwdWJLZXkKLSAgICAgICAgIGlmIChjaXBoZXJ0ZXh0ID09IE5VTEwpIHsKLSAg ICAgICAgICAgICBjcnYgPSBDS1JfSE9TVF9NRU1PUlk7Ci0gICAgICAgICAgICAgZ290byBsb3Nl cjsKLSAgICAgICAgIH0KLSAKLSAgICAgICAgIHBrMTFfRW50ZXJLZXlNb25pdG9yKHNoYXJlZFNl Y3JldCk7Ci0gICAgICAgICBjcnYgPSBLRU1JbnRlcmZhY2VGdW5jdGlvbnMtPkNfRW5jYXBzdWxh dGUoc2hhcmVkU2VjcmV0LT5zZXNzaW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICZtZWNoLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHB1YktleS0+cGtjczExSUQsCi0rICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQsCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5VGVtcGxhdGUsCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGVD b3VudCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAmc2hhcmVkU2VjcmV0LT5vYmplY3RJRCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjaXBoZXJ0ZXh0LT5kYXRhLAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZjaXBoZXJ0ZXh0TGVuKTsKLSAg ICAgICAgIHBrMTFfRXhpdEtleU1vbml0b3Ioc2hhcmVkU2VjcmV0KTsKLSAgICAgICAgIGlmIChj cnYgIT0gQ0tSX09LKSB7Ci0gICAgICAgICAgICAgZ290byBsb3NlcjsKLSAgICAgICAgIH0KLSAK LSAgICAgICAgIFBPUlRfQXNzZXJ0KGNpcGhlcnRleHRMZW4gPT0gY2lwaGVydGV4dC0+bGVuKTsK LSAgICAgfQotIAotKyAgICBQSzExX0ZyZWVTbG90KHNsb3QpOwotKwotICAgICAqb3V0S2V5ID0g c2hhcmVkU2VjcmV0OwotICAgICAqb3V0Q2lwaGVydGV4dCA9IGNpcGhlcnRleHQ7Ci0gCi0gICAg IHJldHVybiBTRUNTdWNjZXNzOwotIAotIGxvc2VyOgotLSAgICBQSzExX0ZyZWVTeW1LZXkoc2hh cmVkU2VjcmV0KTsKLSsgICAgaWYgKHNsb3QpIHsKLSsgICAgICAgIFBLMTFfRnJlZVNsb3Qoc2xv dCk7Ci0rICAgIH0KLSsgICAgaWYgKHNoYXJlZFNlY3JldCkgewotKyAgICAgICAgUEsxMV9GcmVl U3ltS2V5KHNoYXJlZFNlY3JldCk7Ci0rICAgIH0KLSAgICAgU0VDSVRFTV9GcmVlSXRlbShjaXBo ZXJ0ZXh0LCBQUl9UUlVFKTsKLS0gICAgUE9SVF9TZXRFcnJvcihQSzExX01hcEVycm9yKGNydikp OwotKyAgICBpZiAoY3J2ICE9IENLUl9PSykgewotKyAgICAgICAgUE9SVF9TZXRFcnJvcihQSzEx X01hcEVycm9yKGNydikpOwotKyAgICB9Ci0gICAgIHJldHVybiBTRUNGYWlsdXJlOwotIH0KLSAK LSBTRUNTdGF0dXMKLSBQSzExX0RlY2Fwc3VsYXRlKFNFQ0tFWVByaXZhdGVLZXkgKnByaXZLZXks IGNvbnN0IFNFQ0l0ZW0gKmNpcGhlcnRleHQsCi0gICAgICAgICAgICAgICAgICBDS19NRUNIQU5J U01fVFlQRSB0YXJnZXQsIFBLMTFBdHRyRmxhZ3MgYXR0ckZsYWdzLAotICAgICAgICAgICAgICAg ICAgQ0tfRkxBR1Mgb3BGbGFncywgUEsxMVN5bUtleSAqKm91dEtleSkKLSB7Ci1AQCAtMzMxMiwx NyArMzM0MiwxNyBAQCBQSzExX0RlY2Fwc3VsYXRlKFNFQ0tFWVByaXZhdGVLZXkgKnByaXZLCi0g ICAgIENLX09CSkVDVF9DTEFTUyBrZXlDbGFzcyA9IENLT19TRUNSRVRfS0VZOwotICAgICBDS19L RVlfVFlQRSBrZXlUeXBlID0gQ0tLX0dFTkVSSUNfU0VDUkVUOwotICAgICBDS19NRUNIQU5JU01f VFlQRSBrZW1UeXBlID0gcGsxMV9tYXBLZW1LZXlUeXBlKHByaXZLZXktPmtleVR5cGUpOwotICAg ICBDS19NRUNIQU5JU00gbWVjaCA9IHsga2VtVHlwZSwgTlVMTCwgMCB9OwotIAotICAgICBDS19S ViBjcnY7Ci0gCi0gICAgICpvdXRLZXkgPSBOVUxMOwotLSAgICBzaGFyZWRTZWNyZXQgPSBwazEx X0NyZWF0ZVN5bUtleShzbG90LCB0YXJnZXQsIFBSX1RSVUUsIFBSX1RSVUUsIE5VTEwpOwotKyAg ICBzaGFyZWRTZWNyZXQgPSBwazExX0NyZWF0ZVN5bUtleShzbG90LCB0YXJnZXQsIFBSX1RSVUUs IFBSX1RSVUUsIHByaXZLZXktPndpbmN4KTsKLSAgICAgaWYgKHNoYXJlZFNlY3JldCA9PSBOVUxM KSB7Ci0gICAgICAgICBQT1JUX1NldEVycm9yKFNFQ19FUlJPUl9OT19NRU1PUlkpOwotICAgICAg ICAgcmV0dXJuIFNFQ0ZhaWx1cmU7Ci0gICAgIH0KLSAgICAgc2hhcmVkU2VjcmV0LT5vcmlnaW4g PSBQSzExX09yaWdpblVud3JhcDsKLSAKLSAgICAgYXR0cnMgPSBrZXlUZW1wbGF0ZTsKLSAgICAg UEsxMV9TRVRBVFRSUyhhdHRycywgQ0tBX0NMQVNTLCAma2V5Q2xhc3MsIHNpemVvZihrZXlDbGFz cykpOwoKZGlmZiAtLWdpdCBhL25zcy0zLjEyNC1tbC1rZW0tYWxpYXMtZml4LnBhdGNoIGIvbnNz LTMuMTI0LW1sLWtlbS1hbGlhcy1maXgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDNiMWUxY2EuLjAwMDAwMDAKLS0tIGEvbnNzLTMuMTI0LW1sLWtlbS1hbGlhcy1maXgucGF0 Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw4MCArMCwwIEBACi0jIEhHIGNoYW5nZXNldCBwYXRjaAot IyBVc2VyIFJvYmVydCBSZWx5ZWEgPHJyZWx5ZWFAcmVkaGF0LmNvbT4KLSMgRGF0ZSAxNzgwOTYy MDkxIDI1MjAwCi0jICAgICAgTW9uIEp1biAwOCAxNjo0MTozMSAyMDI2IC0wNzAwCi0jIEJyYW5j aCBOU1NfM18xMjRfQlJBTkNICi0jIE5vZGUgSUQgNzc0OGE4ZGRmYTUxMDQ1OGU3NmZmNDFlODQw Zjc4ZjVhZjU1Nzk1YQotIyBQYXJlbnQgIDVmNmM5MWY2MTcxMDIwZWVhNGNlOWViNWJjMzUzMzcw ZDMwYzhkZjAKLW5zcy0zLjEyNC1tbC1rZW0tYWxpYXMtZml4LnBhdGNoCi0KLWRpZmYgLS1naXQg YS9jbWQvbGliL3NlY3V0aWwuYyBiL2NtZC9saWIvc2VjdXRpbC5jCi0tLS0gYS9jbWQvbGliL3Nl Y3V0aWwuYwotKysrIGIvY21kL2xpYi9zZWN1dGlsLmMKLUBAIC00MzAzLDE2ICs0MzAzLDE4IEBA IHN0YXRpYyBjb25zdCBzdHJ1Y3QgU1NMTmFtZWRHcm91cFN0cmluZyAKLSAjaWZuZGVmIE5TU19E SVNBQkxFX0tZQkVSCi0gICAgIHsgTkFNRV9BTkRfTEVOKCJ4eWJlcjc2ODAwIiksIHNzbF9ncnBf a2VtX3h5YmVyNzY4ZDAwIH0sCi0gI2VuZGlmCi0gICAgIHsgTkFNRV9BTkRfTEVOKCJ4MjU1MTlt bGtlbTc2OCIpLCBzc2xfZ3JwX2tlbV9tbGtlbTc2OHgyNTUxOSB9LAotICAgICB7IE5BTUVfQU5E X0xFTigic2VjcDI1NnIxbWxrZW03NjgiKSwgc3NsX2dycF9rZW1fc2VjcDI1NnIxbWxrZW03Njgg fSwKLSAgICAgeyBOQU1FX0FORF9MRU4oInNlY3AzODRyMW1sa2VtMTAyNCIpLCBzc2xfZ3JwX2tl bV9zZWNwMzg0cjFtbGtlbTEwMjQgfSwKLSAgICAgLy8ga2VlcCBmb3IgY29tcGF0aWJpbGl0eQot ICAgICB7IE5BTUVfQU5EX0xFTigibWxrZW03Njh4MjU1MTkiKSwgc3NsX2dycF9rZW1fbWxrZW03 Njh4MjU1MTkgfSwKLSsgICAgeyBOQU1FX0FORF9MRU4oIm1sa2VtNzY4c2VjcDI1NnIxIiksIHNz bF9ncnBfa2VtX3NlY3AyNTZyMW1sa2VtNzY4IH0sCi0rICAgIHsgTkFNRV9BTkRfTEVOKCJtbGtl bTEwMjRzZWNwMzg0cjEiKSwgc3NsX2dycF9rZW1fc2VjcDM4NHIxbWxrZW0xMDI0IH0sCi0gfTsK LSAKLSBzdGF0aWMgY29uc3Qgc2l6ZV90IHNzbE5hbWVkR3JvdXBTdHJpbmdMZW4gPSBQUl9BUlJB WV9TSVpFKHNzbE5hbWVkR3JvdXBTdHJpbmdBcnJheSk7Ci0gCi0gc3RhdGljIFNTTE5hbWVkR3Jv dXAKLSBncm91cE5hbWVUb05hbWVkR3JvdXAoY2hhciAqbmFtZSkKLSB7Ci0gICAgIGludCBsZW4g PSBQTF9zdHJsZW4obmFtZSk7Ci1kaWZmIC0tZ2l0IGEvbGliL3BrMTF3cmFwL3BrMTFwYXJzLmMg Yi9saWIvcGsxMXdyYXAvcGsxMXBhcnMuYwotLS0tIGEvbGliL3BrMTF3cmFwL3BrMTFwYXJzLmMK LSsrKyBiL2xpYi9wazExd3JhcC9wazExcGFycy5jCi1AQCAtMjU1LDE2ICsyNTUsMjAgQEAgc3Rh dGljIGNvbnN0IG9pZFZhbERlZiBjdXJ2ZU9wdExpc3RbXSA9IAotICAgICB7IENJUEhFUl9OQU1F KCJYMjU1MTlNTEtFTTc2OCIpLCBTRUNfT0lEX01MS0VNNzY4WDI1NTE5LAotICAgICAgIE5TU19V U0VfQUxHX0lOX1NTTF9LWCB9LAotICAgICB7IENJUEhFUl9OQU1FKCJTRUNQMjU2UjFNTEtFTTc2 OCIpLCBTRUNfT0lEX1NFQ1AyNTZSMU1MS0VNNzY4LAotICAgICAgIE5TU19VU0VfQUxHX0lOX1NT TF9LWCB9LAotICAgICB7IENJUEhFUl9OQU1FKCJTRUNQMzg0UjFNTEtFTTEwMjQiKSwgU0VDX09J RF9TRUNQMzg0UjFNTEtFTTEwMjQsCi0gICAgICAgTlNTX1VTRV9BTEdfSU5fU1NMX0tYIH0sCi0g ICAgIHsgQ0lQSEVSX05BTUUoIk1MS0VNNzY4WDI1NTE5IiksIFNFQ19PSURfTUxLRU03NjhYMjU1 MTksCi0gICAgICAgTlNTX1VTRV9BTEdfSU5fU1NMX0tYIH0sCi0rICAgIHsgQ0lQSEVSX05BTUUo Ik1MS0VNNzY4U0VDUDI1NlIxIiksIFNFQ19PSURfU0VDUDI1NlIxTUxLRU03NjgsCi0rICAgICAg IE5TU19VU0VfQUxHX0lOX1NTTF9LWCB9LAotKyAgICB7IENJUEhFUl9OQU1FKCJNTEtFTTEwMjRT RUNQMzg0UjEiKSwgU0VDX09JRF9TRUNQMzg0UjFNTEtFTTEwMjQsCi0rICAgICAgIE5TU19VU0Vf QUxHX0lOX1NTTF9LWCB9LAotICAgICAvKiBBTlNJIFg5LjYyIG5hbWVkIGVsbGlwdGljIGN1cnZl cyAoY2hhcmFjdGVyaXN0aWMgdHdvIGZpZWxkKSAqLwotICAgICB7IENJUEhFUl9OQU1FKCJDMlBO QjE2M1YxIiksIFNFQ19PSURfQU5TSVg5NjJfRUNfQzJQTkIxNjNWMSwKLSAgICAgICBOU1NfVVNF X0FMR19JTl9TU0xfS1ggfCBOU1NfVVNFX0FMR19JTl9DRVJUX1NJR05BVFVSRSB9LAotICAgICB7 IENJUEhFUl9OQU1FKCJDMlBOQjE2M1YyIiksIFNFQ19PSURfQU5TSVg5NjJfRUNfQzJQTkIxNjNW MiwKLSAgICAgICBOU1NfVVNFX0FMR19JTl9TU0xfS1ggfCBOU1NfVVNFX0FMR19JTl9DRVJUX1NJ R05BVFVSRSB9LAotICAgICB7IENJUEhFUl9OQU1FKCJDMlBOQjE2M1YzIiksIFNFQ19PSURfQU5T SVg5NjJfRUNfQzJQTkIxNjNWMywKLSAgICAgICBOU1NfVVNFX0FMR19JTl9TU0xfS1ggfCBOU1Nf VVNFX0FMR19JTl9DRVJUX1NJR05BVFVSRSB9LAotICAgICB7IENJUEhFUl9OQU1FKCJDMlBOQjE3 NlYxIiksIFNFQ19PSURfQU5TSVg5NjJfRUNfQzJQTkIxNzZWMSwKLUBAIC00NjcsMjEgKzQ3MSwy MSBAQCBzdGF0aWMgY29uc3Qgb2lkVmFsRGVmIHNpZ25PcHRMaXN0W10gPSB7Ci0gICAgICAgTlNT X1VTRV9BTEdfSU5fU1NMX0tYIHwgTlNTX1VTRV9BTEdfSU5fU0lHTkFUVVJFIH0sCi0gICAgIHsg Q0lQSEVSX05BTUUoIlJTQS1QU1MiKSwgU0VDX09JRF9QS0NTMV9SU0FfUFNTX1NJR05BVFVSRSwK LSAgICAgICBOU1NfVVNFX0FMR19JTl9TU0xfS1ggfCBOU1NfVVNFX0FMR19JTl9TSUdOQVRVUkUg fSwKLSAgICAgeyBDSVBIRVJfTkFNRSgiRUNEU0EiKSwgU0VDX09JRF9BTlNJWDk2Ml9FQ19QVUJM SUNfS0VZLAotICAgICAgIE5TU19VU0VfQUxHX0lOX1NTTF9LWCB8IE5TU19VU0VfQUxHX0lOX1NJ R05BVFVSRSB9LAotICAgICB7IENJUEhFUl9OQU1FKCJFRDI1NTE5IiksIFNFQ19PSURfRUQyNTUx OV9QVUJMSUNfS0VZLAotICAgICAgIE5TU19VU0VfQUxHX0lOX1NJR05BVFVSRSB9LAotICAgICB7 IENJUEhFUl9OQU1FKCJNTC1EU0EtNDQiKSwgU0VDX09JRF9NTF9EU0FfNDQsCi0tICAgICAgTlNT X1VTRV9BTEdfSU5fU0lHTkFUVVJFIH0sCi0rICAgICAgTlNTX1VTRV9BTEdfSU5fU1NMX0tYIHwg TlNTX1VTRV9BTEdfSU5fU0lHTkFUVVJFIH0sCi0gICAgIHsgQ0lQSEVSX05BTUUoIk1MLURTQS02 NSIpLCBTRUNfT0lEX01MX0RTQV82NSwKLS0gICAgICBOU1NfVVNFX0FMR19JTl9TSUdOQVRVUkUg fSwKLSsgICAgICBOU1NfVVNFX0FMR19JTl9TU0xfS1ggfCBOU1NfVVNFX0FMR19JTl9TSUdOQVRV UkUgfSwKLSAgICAgeyBDSVBIRVJfTkFNRSgiTUwtRFNBLTg3IiksIFNFQ19PSURfTUxfRFNBXzg3 LAotLSAgICAgIE5TU19VU0VfQUxHX0lOX1NJR05BVFVSRSB9LAotKyAgICAgIE5TU19VU0VfQUxH X0lOX1NTTF9LWCB8IE5TU19VU0VfQUxHX0lOX1NJR05BVFVSRSB9LAotIH07Ci0gCi0gdHlwZWRl ZiBzdHJ1Y3QgewotICAgICBjb25zdCBvaWRWYWxEZWYgKmxpc3Q7Ci0gICAgIFBSVWludDMyIGVu dHJpZXM7Ci0gICAgIGNvbnN0IGNoYXIgKmRlc2NyaXB0aW9uOwotICAgICBQUkJvb2wgYWxsb3dF bXB0eTsKLSB9IGFsZ0xpc3RzRGVmOwoKZGlmZiAtLWdpdCBhL25zcy0zLjEyNC1wcGNfbm9faW5p dC5wYXRjaCBiL25zcy0zLjEyNC1wcGNfbm9faW5pdC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDM2YWQ2Mi4uMDAwMDAwMAotLS0gYS9uc3MtMy4xMjQtcHBjX25vX2luaXQu cGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2NSArMCwwIEBACi0jIEhHIGNoYW5nZXNldCBwYXRj aAotIyBVc2VyIFJvYmVydCBSZWx5ZWEgPHJyZWx5ZWFAcmVkaGF0LmNvbT4KLSMgRGF0ZSAxNzgw NDMxNjg5IDI1MjAwCi0jICAgICAgVHVlIEp1biAwMiAxMzoyMToyOSAyMDI2IC0wNzAwCi0jIEJy YW5jaCBOU1NfM18xMjRfQlJBTkNICi0jIE5vZGUgSUQgYzMzMjRkNmVhMDJkOTQ5NmNlZDY4YTRj NTlmODFhZjk1MjVkODllYQotIyBQYXJlbnQgIGJhMzVhYmJhMTMxZmU5Mzc5YzY5ZTYzYzkyMDZk NmEyMTQzYTM3NjIKLW5zcy0zLjkwLXBwY19ub19pbml0LnBhdGNoCi0KLWRpZmYgLS1naXQgYS9s aWIvZnJlZWJsL01ha2VmaWxlIGIvbGliL2ZyZWVibC9NYWtlZmlsZQotLS0tIGEvbGliL2ZyZWVi bC9NYWtlZmlsZQotKysrIGIvbGliL2ZyZWVibC9NYWtlZmlsZQotQEAgLTI4OCwxNyArMjg4LDE3 IEBAIGlmZXEgKCQoQ1BVX0FSQ0gpLGFybSkKLSAgICAgREVGSU5FUyArPSAtRE1QX1VTRV9VSU5U X0RJR0lUCi0gICAgIERFRklORVMgKz0gLURTSEFfTk9fTE9OR19MT05HICMgYXZvaWQgNjQtYml0 IGFyaXRobWV0aWMgaW4gU0hBNTEyCi0gICAgIE1QSV9TUkNTICs9IG1waV9hcm0uYwotIGVuZGlm Ci0gaWZlcSAoJChDUFVfQVJDSCkscHBjKQotICAgICBERUZJTkVTICs9IC1ESEFWRV9QTEFURk9S TV9HSEFTSAotICAgICBFWFRSQV9TUkNTICs9IGdoYXNoLXBwYy5jCi0gaWZkZWYgVVNFXzY0Ci0t ICAgIERFRklORVMgKz0gLUROU1NfTk9fSU5JVF9TVVBQT1JUCi0rIyAgICBERUZJTkVTICs9IC1E TlNTX05PX0lOSVRfU1VQUE9SVAotICAgICBQUENfQUJJIDo9ICQoc2hlbGwgJChDQykgLWRNIC1F IC0gPCAvZGV2L251bGwgfCBhd2sgJyQkMiA9PSAiX0NBTExfRUxGIiB7cHJpbnQgJCQzfScpCi0g ICAgIGlmZXEgKCQoUFBDX0FCSSksMikKLSAgICAgICAgIEFTRklMRVMgKz0gc2hhNTEyLXA4LnMK LSAgICAgaWZlcSAoJChPU19URVNUKSxwcGM2NGxlKQotICAgICAgICAgRVhUUkFfU1JDUyArPSBj aGFjaGEyMHBvbHkxMzA1LXBwYy5jIHBwYy1nY20td3JhcC5jCi0gICAgICAgICBBU0ZJTEVTICs9 IGNoYWNoYTIwLXBwYzY0bGUucyBwcGMtZ2NtLnMKLSAgICAgICAgIERFRklORVMgKz0gLURIQVZF X1BMQVRGT1JNX0dDTQotICAgICBlbmRpZiAjIHBwYzY0bGUKLWRpZmYgLS1naXQgYS9saWIvc29m dG9rZW4vTWFrZWZpbGUgYi9saWIvc29mdG9rZW4vTWFrZWZpbGUKLS0tLSBhL2xpYi9zb2Z0b2tl bi9NYWtlZmlsZQotKysrIGIvbGliL3NvZnRva2VuL01ha2VmaWxlCi1AQCAtMTgsMjMgKzE4LDIz IEBAIGluY2x1ZGUgJChDT1JFX0RFUFRIKS9jb3JlY29uZi9jb25maWcubWsKLSAKLSAjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIwotICMgKDMpIEluY2x1ZGUgImNvbXBvbmVudCIgY29uZmlndXJhdGlvbiBpbmZvcm1h dGlvbi4gKE9QVElPTkFMKSAgICAgICAjCi0gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSAKLSBpZmRlZiBOU1Nf Tk9fSU5JVF9TVVBQT1JUCi0gICAgIERFRklORVMgKz0gLUROU1NfTk9fSU5JVF9TVVBQT1JUCi0g ZW5kaWYKLS1pZmVxICgkKE9TX1RBUkdFVCksTGludXgpCi0taWZlcSAoJChDUFVfQVJDSCkscHBj KQotLWlmZGVmIFVTRV82NAotLSAgICBERUZJTkVTICs9IC1ETlNTX05PX0lOSVRfU1VQUE9SVAot LWVuZGlmICMgVVNFXzY0Ci0tZW5kaWYgIyBwcGMKLS1lbmRpZiAjIExpbnV4Ci0rI2lmZXEgKCQo T1NfVEFSR0VUKSxMaW51eCkKLSsjaWZlcSAoJChDUFVfQVJDSCkscHBjKQotKyNpZmRlZiBVU0Vf NjQKLSsjICAgIERFRklORVMgKz0gLUROU1NfTk9fSU5JVF9TVVBQT1JUCi0rI2VuZGlmICMgVVNF XzY0Ci0rI2VuZGlmICMgcHBjCi0rI2VuZGlmICMgTGludXgKLSAKLSAKLSAjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IwotICMgKDQpIEluY2x1ZGUgImxvY2FsIiBwbGF0Zm9ybS1kZXBlbmRlbnQgYXNzaWdubWVudHMg KE9QVElPTkFMKS4gICAgICAjCi0gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSAKLSBpbmNsdWRlIGNvbmZpZy5t awotIAoKZGlmZiAtLWdpdCBhL25zcy0zLjEyNC1wcmVmZXItYWxsLWh5YnJpZC5wYXRjaCBiL25z cy0zLjEyNC1wcmVmZXItYWxsLWh5YnJpZC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggOWEyYTk4Ny4uMDAwMDAwMAotLS0gYS9uc3MtMy4xMjQtcHJlZmVyLWFsbC1oeWJyaWQu cGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw5MyArMCwwIEBACi0jIEhHIGNoYW5nZXNldCBwYXRj aAotIyBVc2VyIFJvYmVydCBSZWx5ZWEgPHJyZWx5ZWFAcmVkaGF0LmNvbT4KLSMgRGF0ZSAxNzgw NTE0OTYzIDI1MjAwCi0jICAgICAgV2VkIEp1biAwMyAxMjoyOToyMyAyMDI2IC0wNzAwCi0jIEJy YW5jaCBOU1NfM18xMjRfQlJBTkNICi0jIE5vZGUgSUQgNmU3NzIyMzQzYmJiNjRjMDk3ZjQ3NmFm ZmYyN2RiNGJjMGIxMDNjMgotIyBQYXJlbnQgIGM4MjFjZmQ2OGY0MDg4M2Q5NDIxNWFjY2I2Mzg2 OWRlZWViMWQ0ZTYKLW5zcy0zLjEyNC1wcmVmZXItYWxsLWh5YnJpZC5wYXRjaAotCi1kaWZmIC0t Z2l0IGEvZ3Rlc3RzL3NzbF9ndGVzdC9zc2xfZGhlX3VuaXR0ZXN0LmNjIGIvZ3Rlc3RzL3NzbF9n dGVzdC9zc2xfZGhlX3VuaXR0ZXN0LmNjCi0tLS0gYS9ndGVzdHMvc3NsX2d0ZXN0L3NzbF9kaGVf dW5pdHRlc3QuY2MKLSsrKyBiL2d0ZXN0cy9zc2xfZ3Rlc3Qvc3NsX2RoZV91bml0dGVzdC5jYwot QEAgLTM2LDE3ICszNiwxNyBAQCBURVNUX1AoVGxzQ29ubmVjdFRsczEzLCBTaGFyZXNGb3JCb3Ro RWNkCi0gICBhdXRvIHNoYXJlc19jYXB0dXJlID0KLSAgICAgICBzdGQ6Om1ha2Vfc2hhcmVkPFRs c0V4dGVuc2lvbkNhcHR1cmU+KGNsaWVudF8sIHNzbF90bHMxM19rZXlfc2hhcmVfeHRuKTsKLSAg IHN0ZDo6dmVjdG9yPHN0ZDo6c2hhcmVkX3B0cjxQYWNrZXRGaWx0ZXI+PiBjYXB0dXJlcyA9IHtn cm91cHNfY2FwdHVyZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzaGFyZXNfY2FwdHVyZX07Ci0gICBjbGllbnRfLT5TZXRGaWx0ZXIo c3RkOjptYWtlX3NoYXJlZDxDaGFpbmVkUGFja2V0RmlsdGVyPihjYXB0dXJlcykpOwotIAotICAg Q29ubmVjdCgpOwotIAotLSAgQ2hlY2tLZXlzKHNzbF9rZWFfZWNkaCwgc3NsX2F1dGhfcnNhX3Np Z24pOwotKyAgQ2hlY2tLZXlzKEdldERlZmF1bHRLRUEoKSwgc3NsX2F1dGhfcnNhX3NpZ24pOwot IAotICAgYm9vbCBlYywgZGg7Ci0gICBhdXRvIHRyYWNrX2dyb3VwX3R5cGUgPSBbJmVjLCAmZGhd KFNTTE5hbWVkR3JvdXAgZ3JvdXApIHsKLSAgICAgaWYgKChncm91cCAmIDB4ZmYwMFUpID09IDB4 MTAwVSkgewotICAgICAgIGRoID0gdHJ1ZTsKLSAgICAgfSBlbHNlIHsKLSAgICAgICBlYyA9IHRy dWU7Ci0gICAgIH0KLWRpZmYgLS1naXQgYS9saWIvc3NsL3NzbHNvY2suYyBiL2xpYi9zc2wvc3Ns c29jay5jCi0tLS0gYS9saWIvc3NsL3NzbHNvY2suYwotKysrIGIvbGliL3NzbC9zc2xzb2NrLmMK LUBAIC0xNjMsMjMgKzE2MywyMyBAQCBzdGF0aWMgY29uc3QgUFJVaW50MTYgc3J0cENpcGhlcnNb XSA9IHsKLSAgICAgICAgIHNzbF9ncnBfa2VtXyMjZmlyc3QjI3NlY29uZCwgc2l6ZSwgc3NsX2tl YV9lY2RoX2h5YnJpZCwgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICBTRUNfT0lEXyMjZmly c3Rfb2lkIyNzZWNvbmRfb2lkLCBhc3N1bWVTdXBwb3J0ZWQgICAgICAgICAgICAgICAgIFwKLSAg ICAgfQotIAotIGNvbnN0IHNzbE5hbWVkR3JvdXBEZWYgc3NsX25hbWVkX2dyb3Vwc1tdID0gewot ICAgICAvKiBOb3RlIHRoYXQgMjU2IGZvciAyNTUxOSBhbmQgeDI1NTE5bWxrZW03ODYgaXMgYSBs aWUsIGJ1dCB3ZSBvbmx5IHVzZSBpdAotICAgICAgKiBmb3IgY2hlY2tpbmcgYml0IHNlY3VyaXR5 IGFuZCBleHBlY3QgMjU2IGJpdHMgdGhlcmUgKG5vdCAyNTUpLiAqLwotICAgICBIWUdST1VQKG1s a2VtNzY4LCB4MjU1MTksIDI1NiwgTUxLRU03NjgsIFgyNTUxOSwgUFJfVFJVRSksCi0rICAgIEhZ R1JPVVAoc2VjcDI1NnIxLCBtbGtlbTc2OCwgMjU2LCBTRUNQMjU2UjEsIE1MS0VNNzY4LCBQUl9U UlVFKSwKLSsgICAgSFlHUk9VUChzZWNwMzg0cjEsIG1sa2VtMTAyNCwgMjU2LCBTRUNQMzg0UjEs IE1MS0VNMTAyNCwgUFJfVFJVRSksCi0gICAgIHsgc3NsX2dycF9lY19jdXJ2ZTI1NTE5LCAyNTYs IHNzbF9rZWFfZWNkaCwgU0VDX09JRF9DVVJWRTI1NTE5LCBQUl9UUlVFIH0sCi0gICAgIEVDR1JP VVAoc2VjcDI1NnIxLCAyNTYsIFNFQ1AyNTZSMSwgUFJfVFJVRSksCi0gICAgIEVDR1JPVVAoc2Vj cDM4NHIxLCAzODQsIFNFQ1AzODRSMSwgUFJfVFJVRSksCi0gICAgIEVDR1JPVVAoc2VjcDUyMXIx LCA1MjEsIFNFQ1A1MjFSMSwgUFJfVFJVRSksCi0tICAgIEhZR1JPVVAoc2VjcDI1NnIxLCBtbGtl bTc2OCwgMjU2LCBTRUNQMjU2UjEsIE1MS0VNNzY4LCBQUl9UUlVFKSwKLS0gICAgSFlHUk9VUChz ZWNwMzg0cjEsIG1sa2VtMTAyNCwgMjU2LCBTRUNQMzg0UjEsIE1MS0VNMTAyNCwgUFJfVFJVRSks Ci0gICAgIHsgc3NsX2dycF9rZW1fbWxrZW0xMDI0LCAyNTYsIHNzbF9rZWFfa2VtLCBTRUNfT0lE X01MX0tFTV8xMDI0LCBQUl9UUlVFIH0sCi0gICAgIHsgc3NsX2dycF9rZW1feHliZXI3NjhkMDAs IDI1Niwgc3NsX2tlYV9lY2RoX2h5YnJpZCwgU0VDX09JRF9YWUJFUjc2OEQwMCwgUFJfRkFMU0Ug fSwKLSAgICAgRkZHUk9VUCgyMDQ4KSwKLSAgICAgRkZHUk9VUCgzMDcyKSwKLSAgICAgRkZHUk9V UCg0MDk2KSwKLSAgICAgRkZHUk9VUCg2MTQ0KSwKLSAgICAgRkZHUk9VUCg4MTkyKSwKLSAgICAg RUNHUk9VUChzZWNwMTkycjEsIDE5MiwgU0VDUDE5MlIxLCBQUl9GQUxTRSksCi0gICAgIEVDR1JP VVAoc2VjcDE2MHIyLCAxNjAsIFNFQ1AxNjBSMiwgUFJfRkFMU0UpLAotZGlmZiAtLWdpdCBhL2xp Yi9zc2wvdGxzMTNjb24uYyBiL2xpYi9zc2wvdGxzMTNjb24uYwotLS0tIGEvbGliL3NzbC90bHMx M2Nvbi5jCi0rKysgYi9saWIvc3NsL3RsczEzY29uLmMKLUBAIC02NjYsMjAgKzY2NiwyOSBAQCB0 bHMxM19TZXR1cENsaWVudEhlbGxvKHNzbFNvY2tldCAqc3MsIHNzCi0gICAgIGlmIChydiAhPSBT RUNTdWNjZXNzKSB7Ci0gICAgICAgICByZXR1cm4gU0VDRmFpbHVyZTsKLSAgICAgfQotIAotICAg ICAvKiBTZWxlY3QgdGhlIGZpcnN0IGVuYWJsZWQgZ3JvdXAuCi0gICAgICAqIFRPRE8oZWtyQHJ0 Zm0uY29tKTogYmUgc21hcnRlciBhYm91dCBvZmZlcmluZyB0aGUgZ3JvdXAKLSAgICAgICogdGhh dCB0aGUgb3RoZXIgc2lkZSBuZWdvdGlhdGVkIGlmIHdlIGFyZSByZXN1bWluZy4gKi8KLSAgICAg UE9SVF9Bc3NlcnQoUFJfQ0xJU1RfSVNfRU1QVFkoJnNzLT5lcGhlbWVyYWxLZXlQYWlycykpOwot KyAgICBQUkJvb2wgaGFzX2h5YnJpZCA9IFBSX0ZBTFNFOwotICAgICBmb3IgKGkgPSAwOyBpIDwg U1NMX05BTUVEX0dST1VQX0NPVU5UOyArK2kpIHsKLSAgICAgICAgIGlmICghc3MtPm5hbWVkR3Jv dXBQcmVmZXJlbmNlc1tpXSkgewotICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgfQot KyAgICAgICAgLyogb25seSBzZW5kIG9uZSBoeWJyaWQga2V5IHNoYXJlIG5vIG1hdHRlciBob3cg bWFueSBrZXkKLSsgICAgICAgICAqIHNoYXJlcyB3ZSBzZW5kICovCi0rICAgICAgICBpZiAoc3Mt Pm5hbWVkR3JvdXBQcmVmZXJlbmNlc1tpXS0+a2VhVHlwZSA9PSBzc2xfa2VhX2VjZGhfaHlicmlk KSAgewotKyAgICAgICAgICAgIGlmIChoYXNfaHlicmlkKSB7Ci0rICAgICAgICAgICAgICAgIGNv bnRpbnVlOyAvKiBhbHJlYWR5IGhhdmUgb25lIHNraXAqLwotKyAgICAgICAgICAgIH0KLSsgICAg ICAgICAgICBoYXNfaHlicmlkID0gUFJfVFJVRTsKLSsgICAgICAgIH0KLSAgICAgICAgIHJ2ID0g dGxzMTNfQWRkS2V5U2hhcmUoc3MsIHNzLT5uYW1lZEdyb3VwUHJlZmVyZW5jZXNbaV0pOwotICAg ICAgICAgaWYgKHJ2ICE9IFNFQ1N1Y2Nlc3MpIHsKLSAgICAgICAgICAgICByZXR1cm4gU0VDRmFp bHVyZTsKLSAgICAgICAgIH0KLSAgICAgICAgIGlmICgrK251bVNoYXJlcyA+IHNzLT5hZGRpdGlv bmFsU2hhcmVzKSB7Ci0gICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICB9Ci0gICAgIH0KCmRp ZmYgLS1naXQgYS9uc3MtMy4xMjQtdG9vbHMtdGVzdC1maXgucGF0Y2ggYi9uc3MtMy4xMjQtdG9v bHMtdGVzdC1maXgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA0NmI2NjAu LjAwMDAwMDAKLS0tIGEvbnNzLTMuMTI0LXRvb2xzLXRlc3QtZml4LnBhdGNoCisrKyAvZGV2L251 bGwKQEAgLTEsMzEgKzAsMCBAQAotIyBIRyBjaGFuZ2VzZXQgcGF0Y2gKLSMgVXNlciBSb2JlcnQg UmVseWVhIDxycmVseWVhQHJlZGhhdC5jb20+Ci0jIERhdGUgMTc4MDU4OTc3OSAyNTIwMAotIyAg ICAgIFRodSBKdW4gMDQgMDk6MTY6MTkgMjAyNiAtMDcwMAotIyBCcmFuY2ggTlNTXzNfMTI0X0JS QU5DSAotIyBOb2RlIElEIDVmNmM5MWY2MTcxMDIwZWVhNGNlOWViNWJjMzUzMzcwZDMwYzhkZjAK LSMgUGFyZW50ICA3MDk3MDJmNGJmYmVlMGJlZDY1ZjZhYmNkODViYzhmYzJkMTRmZjU1Ci1uc3Mt My4xMjQtdG9vbHMtdGVzdC1maXgucGF0Y2gKLQotZGlmZiAtLWdpdCBhL3Rlc3RzL3Rvb2xzL3Rv b2xzLnNoIGIvdGVzdHMvdG9vbHMvdG9vbHMuc2gKLS0tLSBhL3Rlc3RzL3Rvb2xzL3Rvb2xzLnNo Ci0rKysgYi90ZXN0cy90b29scy90b29scy5zaAotQEAgLTUxOCwxNyArNTE4LDE3IEBAIHRvb2xz X3AxMl9pbXBvcnRfb2xkX2ZpbGVzKCkKLSAgICR7QklORElSfS9wazEydXRpbCAtaSAke1RPT0xT RElSfS9kYXRhL1BLQ1M1V2l0aEltcGxpY2l0S0RGLnAxMiAtZCAke1BfUl9DT1BZRElSfSAtayAk e1JfUFdGSUxFfSAtVyBwYXNzd29yZCAyPiYxCi0gICByZXQ9JD8KLSAgIGh0bWxfbXNnICRyZXQg MCAiSW1wb3J0aW5nIFBLQ1MjMTIgZmlsZSB3aXRoIGFuZCBpbXBsaWNpdCBLREYgdmFsdWUiCi0g ICBjaGVja190bXBmaWxlCi0gCi0gICBlY2hvICJwazEydXRpbCAtSSAtbCBjb3JydXB0ZWRfY2Vy dF9iYWcucDEyIC1XIHN0YXJ0IgotICAgJHtCSU5ESVJ9L3BrMTJ1dGlsIC1JIC1sICR7VE9PTFNE SVJ9L2RhdGEvY29ycnVwdGVkX2NlcnRfYmFnLnAxMiAtVyBzdGFydCAyPiYxCi0gICByZXQ9JD8K LS0gIGh0bWxfbXNnICRyZXQgMTcgIkxpc3RpbmcgYSBQS0NTIzEyIGZpbGUgd2l0aCBjb3JydXB0 ZWQgY2VydGlmaWNhdGUgYmFnIgotKyAgaHRtbF9tc2cgJHJldCAxOSAiTGlzdGluZyBhIFBLQ1Mj MTIgZmlsZSB3aXRoIGNvcnJ1cHRlZCBjZXJ0aWZpY2F0ZSBiYWciCi0gICBjaGVja190bXBmaWxl Ci0gCi0gfQotIAotIHRvb2xzX3AxMl9pbXBvcnRfcnNhX3Bzc19wcml2YXRlX2tleSgpCi0gewot ICAgZWNobyAiJFNDUklQVE5BTUU6IEltcG9ydGluZyBSU0EtUFNTIHByaXZhdGUga2V5IGZyb20g UEtDUyMxMiBmaWxlIC0tLS0tLS0tLS0tLS0tIgotICAgJHtCSU5ESVJ9L3BrMTJ1dGlsIC1pICR7 VE9PTFNESVJ9L2RhdGEvVGVzdFJTQVBTUy5wMTIgLWQgJHtQX1JfQ09QWURJUn0gLWsgJHtSX1BX RklMRX0gLVcgJycgMj4mMQoKZGlmZiAtLWdpdCBhL25zcy0zLjkwLWRoLXRlc3QtdXBkYXRlLnBh dGNoIGIvbnNzLTMuOTAtZGgtdGVzdC11cGRhdGUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IGZjYmVhZTUuLjAwMDAwMDAKLS0tIGEvbnNzLTMuOTAtZGgtdGVzdC11cGRhdGUu cGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw5MCArMCwwIEBACi1kaWZmIC11cCAuL2xpYi9mcmVl YmwvZmlwc2ZyZWVibC5jLmRoX3Rlc3QgLi9saWIvZnJlZWJsL2ZpcHNmcmVlYmwuYwotLS0tIC4v bGliL2ZyZWVibC9maXBzZnJlZWJsLmMuZGhfdGVzdAkyMDI0LTAxLTE4IDA4OjM0OjQ1LjkzNjk0 NDQwMSAtMDgwMAotKysrIC4vbGliL2ZyZWVibC9maXBzZnJlZWJsLmMJMjAyNC0wMS0xOCAwOToy MDo1Ny41NTU5ODAzMjYgLTA4MDAKLUBAIC0xODE2LDM4ICsxODE2LDM5IEBAIGZyZWVibF9maXBz X0RIX1Bvd2VyVXBTZWxmVGVzdCh2b2lkKQotIHsKLSAgICAgLyogREggS25vd24gUCAoMjA0OC1i aXRzKSAqLwotICAgICBzdGF0aWMgY29uc3QgUFJVaW50OCBkaF9rbm93bl9QW10gPSB7Ci0tICAg ICAgICAweGMyLCAweDc5LCAweGJiLCAweDc2LCAweDMyLCAweDBkLCAweDQzLCAweGZkLAotLSAg ICAgICAgMHgxYiwgMHg4YywgMHhhMiwgMHgzYywgMHgwMCwgMHhkZCwgMHg2ZCwgMHhlZiwKLS0g ICAgICAgIDB4ZjgsIDB4MWEsIDB4ZDksIDB4YzEsIDB4YTIsIDB4ZjUsIDB4NzMsIDB4MmIsCi0t ICAgICAgICAweGRiLCAweDFhLCAweDNlLCAweDg0LCAweDkwLCAweGViLCAweGU3LCAweDhlLAot LSAgICAgICAgMHg1ZiwgMHg1YywgMHg2YiwgMHhiNiwgMHg2MSwgMHg4OSwgMHhkMSwgMHgwMywK LS0gICAgICAgIDB4YjAsIDB4NWYsIDB4OTEsIDB4ZTQsIDB4ZDIsIDB4ODIsIDB4OTAsIDB4ZmMs Ci0tICAgICAgICAweDNjLCAweDQ5LCAweDY5LCAweDU5LCAweGMxLCAweDUxLCAweDZhLCAweDg1 LAotLSAgICAgICAgMHg3MSwgMHhlNywgMHg1ZCwgMHg3MiwgMHg1YSwgMHg0NSwgMHhhZCwgMHgw MSwKLS0gICAgICAgIDB4NmYsIDB4ODIsIDB4YWUsIDB4ZWMsIDB4OTEsIDB4MDgsIDB4MmUsIDB4 N2MsCi0tICAgICAgICAweDY0LCAweDkzLCAweDQ2LCAweDFjLCAweDY4LCAweGVmLCAweGMyLCAw eDAzLAotLSAgICAgICAgMHgyOCwgMHgxZCwgMHg3NSwgMHgzYSwgMHhlYiwgMHg5YywgMHg0Niwg MHhmMCwKLS0gICAgICAgIDB4YzksIDB4ZGIsIDB4OTksIDB4OTUsIDB4MTMsIDB4NjYsIDB4NGQs IDB4ZDUsCi0tICAgICAgICAweDFhLCAweDc4LCAweDkyLCAweDUxLCAweDg5LCAweDcyLCAweDI4 LCAweDdmLAotLSAgICAgICAgMHgyMCwgMHg3MCwgMHg0MSwgMHg0OSwgMHhhMiwgMHg4NiwgMHhl OSwgMHhmOSwKLS0gICAgICAgIDB4NzgsIDB4NWYsIDB4OGQsIDB4MmUsIDB4NWQsIDB4ZmEsIDB4 ZGIsIDB4NTcsCi0tICAgICAgICAweGQ0LCAweDcxLCAweGRmLCAweDY2LCAweGUzLCAweDllLCAw eDg4LCAweDcwLAotLSAgICAgICAgMHhhNCwgMHgyMSwgMHg0NCwgMHg2YSwgMHhjNywgMHhhZSwg MHgzMCwgMHgyYywKLS0gICAgICAgIDB4OWMsIDB4MWYsIDB4OTEsIDB4NTcsIDB4YzgsIDB4MjQs IDB4MzQsIDB4MmQsCi0tICAgICAgICAweDdhLCAweDRhLCAweDQzLCAweGMyLCAweDVmLCAweGFi LCAweDY0LCAweDJlLAotLSAgICAgICAgMHhhYSwgMHgyOCwgMHgzMiwgMHg5NSwgMHg0MiwgMHg3 YiwgMHhhMCwgMHhjYywKLS0gICAgICAgIDB4ZGYsIDB4ZmQsIDB4MjIsIDB4YzgsIDB4NTYsIDB4 ODQsIDB4YzEsIDB4NjIsCi0tICAgICAgICAweDE1LCAweGIyLCAweDc3LCAweDg2LCAweDgxLCAw eGZjLCAweGE1LCAweDEyLAotLSAgICAgICAgMHgzYywgMHhjYSwgMHgyOCwgMHgxNywgMHg4Ziwg MHgwMywgMHgxNiwgMHg2ZSwKLS0gICAgICAgIDB4YjgsIDB4MjQsIDB4ZmEsIDB4MWIsIDB4MTUs IDB4MDIsIDB4ZmQsIDB4OGIsCi0tICAgICAgICAweGI2LCAweDBhLCAweDFhLCAweGY3LCAweDQ3 LCAweDQxLCAweGM1LCAweDJiLAotLSAgICAgICAgMHgzNywgMHgzZSwgMHhhMSwgMHhiZiwgMHg2 OCwgMHhkYSwgMHgxYywgMHg1NSwKLS0gICAgICAgIDB4NDQsIDB4YzMsIDB4ZWUsIDB4YTEsIDB4 NjMsIDB4MDcsIDB4MTEsIDB4M2IsCi0tICAgICAgICAweDVmLCAweDAwLCAweDg0LCAweGI0LCAw eGM0LCAweGU0LCAweGE3LCAweDk3LAotLSAgICAgICAgMHgyOSwgMHhmOCwgMHhjZSwgMHhhYiwg MHhmYywgMHgyNywgMHgzZSwgMHgzNCwKLS0gICAgICAgIDB4ZTQsIDB4YzcsIDB4ODEsIDB4NTIs IDB4MzIsIDB4MGUsIDB4MjcsIDB4M2MsCi0tICAgICAgICAweGE2LCAweDcwLCAweDNmLCAweDRh LCAweDU0LCAweGRhLCAweGRkLCAweDYwLAotLSAgICAgICAgMHgyNiwgMHhiMywgMHg2ZSwgMHg0 NSwgMHgyNiwgMHgxOSwgMHg0MSwgMHg2ZgotKyAgICAgICAgMHhGRiwgMHhGRiwgMHhGRiwgMHhG RiwgMHhGRiwgMHhGRiwgMHhGRiwgMHhGRiwKLSsgICAgICAgIDB4QUQsIDB4RjgsIDB4NTQsIDB4 NTgsIDB4QTIsIDB4QkIsIDB4NEEsIDB4OUEsCi0rICAgICAgICAweEFGLCAweERDLCAweDU2LCAw eDIwLCAweDI3LCAweDNELCAweDNDLCAweEYxLAotKyAgICAgICAgMHhEOCwgMHhCOSwgMHhDNSwg MHg4MywgMHhDRSwgMHgyRCwgMHgzNiwgMHg5NSwKLSsgICAgICAgIDB4QTksIDB4RTEsIDB4MzYs IDB4NDEsIDB4MTQsIDB4NjQsIDB4MzMsIDB4RkIsCi0rICAgICAgICAweENDLCAweDkzLCAweDlE LCAweENFLCAweDI0LCAweDlCLCAweDNFLCAweEY5LAotKyAgICAgICAgMHg3RCwgMHgyRiwgMHhF MywgMHg2MywgMHg2MywgMHgwQywgMHg3NSwgMHhEOCwKLSsgICAgICAgIDB4RjYsIDB4ODEsIDB4 QjIsIDB4MDIsIDB4QUUsIDB4QzQsIDB4NjEsIDB4N0EsCi0rICAgICAgICAweEQzLCAweERGLCAw eDFFLCAweEQ1LCAweEQ1LCAweEZELCAweDY1LCAweDYxLAotKyAgICAgICAgMHgyNCwgMHgzMywg MHhGNSwgMHgxRiwgMHg1RiwgMHgwNiwgMHg2RSwgMHhEMCwKLSsgICAgICAgIDB4ODUsIDB4NjMs IDB4NjUsIDB4NTUsIDB4M0QsIDB4RUQsIDB4MUEsIDB4RjMsCi0rICAgICAgICAweEI1LCAweDU3 LCAweDEzLCAweDVFLCAweDdGLCAweDU3LCAweEM5LCAweDM1LAotKyAgICAgICAgMHg5OCwgMHg0 RiwgMHgwQywgMHg3MCwgMHhFMCwgMHhFNiwgMHg4QiwgMHg3NywKLSsgICAgICAgIDB4RTIsIDB4 QTYsIDB4ODksIDB4REEsIDB4RjMsIDB4RUYsIDB4RTgsIDB4NzIsCi0rICAgICAgICAweDFELCAw eEYxLCAweDU4LCAweEExLCAweDM2LCAweEFELCAweEU3LCAweDM1LAotKyAgICAgICAgMHgzMCwg MHhBQywgMHhDQSwgMHg0RiwgMHg0OCwgMHgzQSwgMHg3OSwgMHg3QSwKLSsgICAgICAgIDB4QkMs IDB4MEEsIDB4QjEsIDB4ODIsIDB4QjMsIDB4MjQsIDB4RkIsIDB4NjEsCi0rICAgICAgICAweEQx LCAweDA4LCAweEE5LCAweDRCLCAweEIyLCAweEM4LCAweEUzLCAweEZCLAotKyAgICAgICAgMHhC OSwgMHg2QSwgMHhEQSwgMHhCNywgMHg2MCwgMHhENywgMHhGNCwgMHg2OCwKLSsgICAgICAgIDB4 MUQsIDB4NEYsIDB4NDIsIDB4QTMsIDB4REUsIDB4MzksIDB4NEQsIDB4RjQsCi0rICAgICAgICAw eEFFLCAweDU2LCAweEVELCAweEU3LCAweDYzLCAweDcyLCAweEJCLCAweDE5LAotKyAgICAgICAg MHgwQiwgMHgwNywgMHhBNywgMHhDOCwgMHhFRSwgMHgwQSwgMHg2RCwgMHg3MCwKLSsgICAgICAg IDB4OUUsIDB4MDIsIDB4RkMsIDB4RTEsIDB4Q0QsIDB4RjcsIDB4RTIsIDB4RUMsCi0rICAgICAg ICAweEMwLCAweDM0LCAweDA0LCAweENELCAweDI4LCAweDM0LCAweDJGLCAweDYxLAotKyAgICAg ICAgMHg5MSwgMHg3MiwgMHhGRSwgMHg5QywgMHhFOSwgMHg4NSwgMHg4MywgMHhGRiwKLSsgICAg ICAgIDB4OEUsIDB4NEYsIDB4MTIsIDB4MzIsIDB4RUUsIDB4RjIsIDB4ODEsIDB4ODMsCi0rICAg ICAgICAweEMzLCAweEZFLCAweDNCLCAweDFCLCAweDRDLCAweDZGLCAweEFELCAweDczLAotKyAg ICAgICAgMHgzQiwgMHhCNSwgMHhGQywgMHhCQywgMHgyRSwgMHhDMiwgMHgyMCwgMHgwNSwKLSsg ICAgICAgIDB4QzUsIDB4OEUsIDB4RjEsIDB4ODMsIDB4N0QsIDB4MTYsIDB4ODMsIDB4QjIsCi0r ICAgICAgICAweEM2LCAweEYzLCAweDRBLCAweDI2LCAweEMxLCAweEIyLCAweEVGLCAweEZBLAot KyAgICAgICAgMHg4OCwgMHg2QiwgMHg0MiwgMHgzOCwgMHg2MSwgMHgyOCwgMHg1QywgMHg5NywK LSsgICAgICAgIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYK LSsKLSAgICAgfTsKLSAKLSAgICAgc3RhdGljIGNvbnN0IFBSVWludDggZGhfa25vd25fWV8xW10g PSB7Ci1AQCAtMTg5MywxMCArMTg5NCwxMCBAQCBmcmVlYmxfZmlwc19ESF9Qb3dlclVwU2VsZlRl c3Qodm9pZCkKLSAgICAgfTsKLSAKLSAgICAgc3RhdGljIGNvbnN0IFBSVWludDggZGhfa25vd25f aGFzaF9yZXN1bHRbXSA9IHsKLS0gICAgICAgIDB4OTMsIDB4YTIsIDB4ODksIDB4MWMsIDB4OGEs IDB4YzMsIDB4NzAsIDB4YmYsCi0tICAgICAgICAweGE3LCAweGRmLCAweGI2LCAweGQ3LCAweDgy LCAweGZiLCAweDg3LCAweDgxLAotLSAgICAgICAgMHgwOSwgMHg0NywgMHhmMywgMHg5ZiwgMHg1 YSwgMHhiZiwgMHg0ZiwgMHgzZiwKLS0gICAgICAgIDB4OGUsIDB4NWUsIDB4MDYsIDB4Y2EsIDB4 MzAsIDB4YTcsIDB4YWYsIDB4MTAKLSsgICAgICAgIDB4NDAsIDB4ZTMsIDB4N2EsIDB4MzQsIDB4 ODMsIDB4MmQsIDB4OTQsIDB4NTcsCi0rICAgICAgICAweDk5LCAweDNkLCAweDY2LCAweGVjLCAw eDU0LCAweGRmLCAweDgyLCAweDRhLAotKyAgICAgICAgMHgzNywgMHgwZCwgMHhmOSwgMHgwMSwg MHhiMywgMHhiYywgMHg1NCwgMHhlNSwKLSsgICAgICAgIDB4NWUsIDB4NjMsIDB4ZDMsIDB4NDYs IDB4NGUsIDB4YTMsIDB4ZTIsIDB4OGEKLSAgICAgfTsKLSAKLSAgICAgLyogREggdmFyaWFibGVz LiAqLwoKZGlmZiAtLWdpdCBhL25zcy5zcGVjIGIvbnNzLnNwZWMKaW5kZXggNGY2NjliYi4uZjZh NTM0MyAxMDA2NDQKLS0tIGEvbnNzLnNwZWMKKysrIGIvbnNzLnNwZWMKQEAgLTgyLDcgKzgyLDYg QEAgQnVpbGRSZXF1aXJlczogICAgZ2F3awogQnVpbGRSZXF1aXJlczogICAgcHNtaXNjCiBCdWls ZFJlcXVpcmVzOiAgICBwZXJsLWludGVycHJldGVyCiBCdWlsZFJlcXVpcmVzOiAgICBnY2MtYysr Ci1CdWlsZFJlcXVpcmVzOiAgICBwYXJhbGxlbAogCiBTb3VyY2UwOiAgICAgICAgICBodHRwczov L2Z0cC5tb3ppbGxhLm9yZy9wdWIvc2VjdXJpdHkvbnNzL3JlbGVhc2VzLyV7bnNzX3JlbGVhc2Vf dGFnfS9zcmMvJXtuc3NfbnNwcl9hcmNoaXZlfS50YXIuZ3oKIFNvdXJjZTE6ICAgICAgICAgIG5z cy11dGlsLnBjLmluCkBAIC0xMzAsNDAgKzEyOSwxNiBAQCBTb3VyY2UxMDE6ICAgICAgICBuc3By LWNvbmZpZy54bWwKIFBhdGNoNDogICAgICAgICAgIGlxdW90ZS5wYXRjaAogUGF0Y2gxMjogICAg ICAgICAgbnNzLXNpZ250b29sLWZvcm1hdC5wYXRjaAogUGF0Y2gxMzogICAgICAgICAgbnNzLWRz by1sZGZsYWdzLnBhdGNoCi0KLSMgRXh0ZW5kIGRiIGR1bXAgdGltZW91dCB0byBhdm9pZCBmbGFr eSBmYWlsdXJlcyBvbiBzbG93IGJ1aWxkZXJzCi1QYXRjaDIwOiAgICAgICAgICBuc3MtMy4xMDEt ZXh0ZW5kLWRiLWR1bXAtdGltZS5wYXRjaAotIyBVcGRhdGUgRklQUyBESCB0ZXN0IHByaW1lIHRv IFJGQyA3OTE5IEZGREhFIGdyb3VwCi1QYXRjaDIxOiAgICAgICAgICBuc3MtMy45MC1kaC10ZXN0 LXVwZGF0ZS5wYXRjaAotIyBGaXggdG9vbHMgdGVzdCBleHBlY3RlZCBleGl0IGNvZGUgZm9yIGNv cnJ1cHRlZCBQS0NTIzEyIGJhZwotUGF0Y2gyMjogICAgICAgICAgbnNzLTMuMTI0LXRvb2xzLXRl c3QtZml4LnBhdGNoCi0KLSMgRGlzYWxsb3cgTUQyL01ENC9NRDUgaW4gRklQUyBtb2RlIGZvciBz aWduaW5nIGFuZCBQS0NTIzEyIHdyaXRlCi1QYXRjaDMwOiAgICAgICAgICBuc3MtMy4xMTItZGlz YWJsZS1tZDUucGF0Y2gKLQogIyBmZWRvcmEgZGlzYWJsZWQgZGJtIGJ5IGRlZmF1bHQKIFBhdGNo NDA6ICAgICAgICAgIG5zcy1uby1kYm0tbWFuLXBhZ2UucGF0Y2gKLSMgRGlzYWJsZSBOU1NfTk9f SU5JVF9TVVBQT1JUIG9uIHBwYzY0bGUgKGNhdXNlcyBpbml0IGZhaWx1cmVzKQotUGF0Y2g0MTog ICAgICAgICAgbnNzLTMuMTI0LXBwY19ub19pbml0LnBhdGNoCi0jIEFkZCBtaXNzaW5nIEdOVSBz dGFjayAvIG5vZXhlY3N0YWNrIGFubm90YXRpb25zIHRvIHg4NiBhc3NlbWJseQotUGF0Y2g0Mjog ICAgICAgICAgbnNzLTMuMTI0LWFubm9jaGVjay5maXgucGF0Y2gKIAogIyBodHRwczovL2lzc3Vl cy5yZWRoYXQuY29tL2Jyb3dzZS9GQy0xNjEzCiBQYXRjaDUwOiAgICAgICAgICBuc3MtMy4xMTAt ZGlzc2FibGVfdGVzdC1zc2xfcG9saWN5X3BraXhfb3NjcC5wYXRjaAotIyBGaXggRWQyNTUxOS9F ZDQ0OCBrZXkgc3RvcmFnZSBhbmQgZGlzcGxheSBpbiBzZWN1dGlsL3NvZnRva2VuCi1QYXRjaDUx OiAgICAgICAgICBuc3MtMy4xMjQtZml4LWVkLWtleS1zdG9yYWdlLnBhdGNoCi0jIEZJUFMtY29t cGF0aWJsZSBzeW1tZXRyaWMga2V5IGltcG9ydCB2aWEgQ0tNX0NPTkNBVEVOQVRFX0RBVEFfQU5E X0JBU0UKLVBhdGNoNTI6ICAgICAgICAgIG5zcy0zLjEyNC1maXBzLWtleS1pbXBvcnQtZml4LnBh dGNoCi0jIEZpeCBQSzExX0VuY2Fwc3VsYXRlIHRvIGltcG9ydCB0aGUgcHVibGljIGtleSBiZWZv cmUgdXNlIGFuZCBoYW5kbGUgTlVMTCBzbG90Ci1QYXRjaDUzOiAgICAgICAgICBuc3MtMy4xMjQt Zml4LXB1Yi1rZXktaW1wb3J0LWVuY2Fwc3VsYXRlLnBhdGNoCi0jIEFsbG93IFBTUyBoYXNoIGFs Z29yaXRobSBvdmVycmlkZSBpbnN0ZWFkIG9mIGZhaWxpbmcgb24gbWlzbWF0Y2gKLVBhdGNoNTQ6 ICAgICAgICAgIG5zcy0zLjEyNC1hbGxvdy1oYXNoLW92ZXJyaWRlLXBzcy5wYXRjaAogCiAjIE1M LURTQSBzdXBwb3J0IHBhdGNoZXMgdGhhdCBoYXZlbid0IG1hZGUgaXQgdG8gdGhlIDMuMTE4LjEg cmVsZWFzZQogUGF0Y2g2MDogICAgICAgICAgbnNzLTMuMTE4LW1sLWRzYS1sZWFuY3J5cHRvLnBh dGNoCiBQYXRjaDYxOiAgICAgICAgICBuc3MtMy4xMTgtbWwtZHNhLXRscy5wYXRjaAotIyBQcmVm ZXIgaHlicmlkIChjbGFzc2ljYWwgKyBQUUMpIGtleSBleGNoYW5nZSBncm91cHMgaW4gVExTIDEu MwotUGF0Y2g2MjogICAgICAgICAgbnNzLTMuMTI0LXByZWZlci1hbGwtaHlicmlkLnBhdGNoCisj UGF0Y2g2MjogICAgICAgICAgbnNzLTMuMTE4LXByZWZlci1hbGwtaHlicmlkLnBhdGNoCiAKIFBh dGNoNjU6ICAgICAgICAgIG5zcy0zLjExOC1tbC1kc2EtdGVzdC1mb3Itc2lnbi12ZXJpZnktcGtj czEyLnBhdGNoCiBQYXRjaDY2OiAgICAgICAgICBuc3MtMy4xMTgtbWwtZHNhLXRscy10ZXN0LnBh dGNoCkBAIC0xNzQsMTAgKzE0OSw2IEBAIFBhdGNoNjg6ICAgICAgICAgIG5zcy0zLjEyMy1maXgt bWxkc2EtaW1wb3J0LXJlZ2VuZXJhdGlvbi5wYXRjaAogIyByZXBsYXkgdGhlIHBhcmVudCdzIHJh bmRvbSBzdHJlYW0gKG1vemJ6IzIwNTY1MDkpCiBQYXRjaDcwOiAgICAgICAgICBuc3MtMy4xMjUt ZHJiZy1yZXNlZWQtYWZ0ZXItZm9yay5wYXRjaAogCi0jIE1MLUtFTTogcG9wdWxhdGUga2V5IHNp emUgYm91bmRzIGFuZCBhZGQgTUxLRU0gYWxpYXMgbmFtZXMKLVBhdGNoNzE6ICAgICAgICAgIG5z cy0zLjEyNC1hZGQtbWwta2VtLWtleS1zaXplLW1lY2gtaW5mby5wYXRjaAotUGF0Y2g3MjogICAg ICAgICAgbnNzLTMuMTI0LW1sLWtlbS1hbGlhcy1maXgucGF0Y2gKLQogUGF0Y2gxMDA6ICAgICAg ICAgbnNwci1jb25maWctcGMucGF0Y2gKIFBhdGNoMTAxOiAgICAgICAgIG5zcHItZ2NjLWF0b21p Y3MucGF0Y2gKIApAQCAtMzQzLDkgKzMxNCw2IEBAIHBvcGQKIAogcHVzaGQgbnNzCiAlYXV0b3Bh dGNoIC1wMSAtTSA5OQotIyBHTlUgcGF0Y2ggMi44IC0tZnV6ej0wIGNhbm5vdCBhcHBseSB0aGlz IG9uZS1saW5lIGNhbGwtc2l0ZSBhZGRpdGlvbiBkdWUgdG8KLSMgY3VtdWxhdGl2ZSBodW5rIG9m ZnNldCBpbnRlcmFjdGlvbjsgdXNlIHNlZCBhcyBhIHdvcmthcm91bmQKLXNlZCAtaSAncy9eICB0 b29sc19wMTJfaW1wb3J0X2VkMjU1MTlfcHJpdmF0ZV9rZXkkLyZcbiAgdG9vbHNfcDEyX21sX2Rz YV9pbXBvcnQvJyB0ZXN0cy90b29scy90b29scy5zaAogcG9wZAogCiB0YXIgLXhmICV7U09VUkNF MzB9CkBAIC0zOTgsOCArMzY2LDggQEAgcG9wZAogCiAjIEJ1aWxkIE5TUwogIwotIyBMVE8gaXMg ZW5hYmxlZC4gVW5jb21tZW50IHRoZSBsaW5lIGJlbG93IHRvIGRpc2FibGUgaXQgaWYgbmVlZGVk LgotIyUlZ2xvYmFsIF9sdG9fY2ZsYWdzICUle25pbH0KKyMgVGhpcyBwYWNrYWdlIGZhaWxzIGl0 cyB0ZXN0c3VpdGUgd2l0aCBMVE8uICBEaXNhYmxlIExUTyBmb3Igbm93CisjJWdsb2JhbCBfbHRv X2NmbGFncyAle25pbH0KIAogI2V4cG9ydCBGUkVFQkxfTk9fREVQRU5EPTEKIApAQCAtMTMxOCw3 ICsxMjg2LDcgQEAgZmkKICAgICAgICAgICAgICAgICBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEu b3JnL3Nob3dfYnVnLmNnaT9pZD0xODM2OTI1CiAKICogTW9uIEp1biA1IDIwMjMgRnJhbnRpc2Vr IEtyZW56ZWxvayA8a3JlbnplbG9rLmZyYW50aXNla0BnbWFpbC5jb20+IC0gMy45MC4wLTEKLS0g VXBkYXRlICUlcGF0Y2ggc3ludGF4CistIFVwZGF0ZSAlcGF0Y2ggc3ludGF4CiAKICogTW9uIEp1 biA1IDIwMjMgRnJhbnRpc2VrIEtyZW56ZWxvayA8a3JlbnplbG9rLmZyYW50aXNla0BnbWFpbC5j b20+IC0gMy45MC4wLTEKIC0gVXBkYXRlIE5TUyB0byAzLjkwLjAKQEAgLTEzMjcsNyArMTI5NSw3 IEBAIGZpCiAtIGNvbWJpbmUgbnNzIGFuZCBuc3ByIHNvdXJjZSB0b2dlYXRoZXIKIAogKiBGcmkg TWF5IDUgMjAyMyBGcmFudGlzZWsgS3JlbnplbG9rIDxrcmVuemVsb2suZnJhbnRpc2VrQGdtYWls LmNvbT4gLSAzLjg5LjAtMQotLSByZXBsYWNlICUle3ZlcnNpb259IHdpdGggJSV7bnNzX3ZlcnNp b259IGFzIGl0IHZlcnNpb24gY2FuIGJlIG92ZXJpZGVuLgorLSByZXBsYWNlICV7dmVyc2lvbn0g d2l0aCAle25zc192ZXJzaW9ufSBhcyBpdCB2ZXJzaW9uIGNhbiBiZSBvdmVyaWRlbi4KIAogKiBG cmkgTWFyIDEwIDIwMjMgRnJhbnRpc2VrIEtyZW56ZWxvayA8a3JlbnplbG9rLmZyYW50aXNla0Bn bWFpbC5jb20+IC0gMy44OS4wLTEKIC0gVXBkYXRlIE5TUyB0byAzLjg5LjAK