From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 2789 invoked from network); 22 Aug 2020 17:07:42 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 22 Aug 2020 17:07:42 -0000 Content-Type: multipart/mixed; boundary="===============0477300826556399126==" MIME-Version: 1.0 Subject: =?utf8?q?=5BPR_PATCH=5D_nextcloud-client=3A_update_to_3=2E0=2E0?= To: ml@inbox.vuxu.org From: yopito Reply-to: ml@inbox.vuxu.org Message-ID: Date: Sat, 22 Aug 2020 19:07:39 +0200 List-Id: GitHub notification mails are now in MIME to allow UTF8. --===============0477300826556399126== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYSBuZXcgcHVsbCByZXF1ZXN0IGJ5IHlvcGl0byBhZ2FpbnN0IG1hc3RlciBvbiB0 aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20veW9waXRvL3Zv aWQtcGFja2FnZXMgbmV4dGNsb3VkLmNsaWVudC4zMDAKaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQt bGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzI0NDIxCgpuZXh0Y2xvdWQtY2xpZW50OiB1cGRhdGUg dG8gMy4wLjAKCgpBIHBhdGNoIGZpbGUgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51 eC92b2lkLXBhY2thZ2VzL3B1bGwvMjQ0MjEucGF0Y2ggaXMgYXR0YWNoZWQ= --===============0477300826556399126== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-nextcloud.client.300-24421.patch" RnJvbSA3MmE0YzBhZTE4ZDRjZTYzMTdkNGEyZTY0ZjYzZTI4ODJjNzE0YzE1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiB5b3BpdG8gPHBpZXJyZS5ib3VyZ2luQGZyZWUuZnI+CkRhdGU6 IFdlZCwgMjIgSnVsIDIwMjAgMjA6Mjc6MjMgKzAyMDAKU3ViamVjdDogW1BBVENIXSBuZXh0Y2xv dWQtY2xpZW50OiB1cGRhdGUgdG8gMy4wLjAKCi0tLQogLi4uL25leHRjbG91ZC1jbGllbnQvZmls ZXMvbm8td2ViZW5naW5lLnBhdGNoIHwgNDE4IC0tLS0tLS0tLS0tLS0tLS0tLQogLi4uL3BhdGNo ZXMvbm8td2ViZW5naW5lLXN1cHBvcnQucGF0Y2ggICAgICAgIHwgMzY4ICsrKysrKysrKysrKysr KwogLi4uL3BhdGNoZXMvbm8td2ViZW5naW5lLXN1cHBvcnQucGF0Y2guYXJncyAgIHwgICAxICsK IHNyY3BrZ3MvbmV4dGNsb3VkLWNsaWVudC90ZW1wbGF0ZSAgICAgICAgICAgICB8ICAxNyArLQog NCBmaWxlcyBjaGFuZ2VkLCAzNzUgaW5zZXJ0aW9ucygrKSwgNDI5IGRlbGV0aW9ucygtKQogZGVs ZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbmV4dGNsb3VkLWNsaWVudC9maWxlcy9uby13ZWJlbmdp bmUucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL25leHRjbG91ZC1jbGllbnQvcGF0 Y2hlcy9uby13ZWJlbmdpbmUtc3VwcG9ydC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3Br Z3MvbmV4dGNsb3VkLWNsaWVudC9wYXRjaGVzL25vLXdlYmVuZ2luZS1zdXBwb3J0LnBhdGNoLmFy Z3MKCmRpZmYgLS1naXQgYS9zcmNwa2dzL25leHRjbG91ZC1jbGllbnQvZmlsZXMvbm8td2ViZW5n aW5lLnBhdGNoIGIvc3JjcGtncy9uZXh0Y2xvdWQtY2xpZW50L2ZpbGVzL25vLXdlYmVuZ2luZS5w YXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmRiMGMxOGJmNGQuLjAwMDAwMDAw MDAwCi0tLSBhL3NyY3BrZ3MvbmV4dGNsb3VkLWNsaWVudC9maWxlcy9uby13ZWJlbmdpbmUucGF0 Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MTggKzAsMCBAQAotRnJvbSBiNDlkMDYzYzUyNDQ4MzZj YjcyZDVmMGM5NmMyNDc3YWYxYjc1MzJlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTog cTY2IDxkYW5pZWxAb2N0YWZvcmdlLm9yZz4KLURhdGU6IFR1ZSwgMjEgSmFuIDIwMjAgMDA6Mjc6 MDYgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSF0gUmVtb3ZlIFdlYkVuZ2luZSByZXF1aXJlbWVudAot Ci1CYXNlZCBvbiBodHRwczovL2NvZGUuZm94a2l0LnVzL2FkZWxpZS9wYWNrYWdlcy9ibG9iL21h c3Rlci91c2VyL25leHRjbG91ZC1jbGllbnQvbm8td2ViZW5naW5lLnBhdGNoLgotLS0tCi0gc3Jj L0NNYWtlTGlzdHMudHh0ICAgICAgICAgICAgICAgICAgICB8ICAyICstCi0gc3JjL2d1aS9DTWFr ZUxpc3RzLnR4dCAgICAgICAgICAgICAgICB8IDExICstLS0tLS0tCi0gc3JjL2d1aS9hY2NvdW50 bWFuYWdlci5jcHAgICAgICAgICAgICB8IDE0IC0tLS0tLS0tLS0tCi0gc3JjL2d1aS9jcmVkcy9j cmVkZW50aWFsc2ZhY3RvcnkuY3BwICB8ICAzIC0tLQotIHNyYy9ndWkvb3duY2xvdWRzZXR1cHdp emFyZC5jcHAgICAgICAgfCAgMiArLQotIHNyYy9ndWkvd2l6YXJkL293bmNsb3Vkc2V0dXBwYWdl LmNwcCAgfCAgNiArLS0tLQotIHNyYy9ndWkvd2l6YXJkL293bmNsb3Vkd2l6YXJkLmNwcCAgICAg fCAyNiArLS0tLS0tLS0tLS0tLS0tLS0tCi0gc3JjL2d1aS93aXphcmQvb3duY2xvdWR3aXphcmQu aCAgICAgICB8ICA0IC0tLQotIHNyYy9ndWkvd2l6YXJkL293bmNsb3Vkd2l6YXJkY29tbW9uLmgg fCAgMiAtLQotIHNyYy9saWJzeW5jL25ldHdvcmtqb2JzLmNwcCAgICAgICAgICAgfCAzNiArKyst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSBzcmMvbGlic3luYy9uZXR3b3Jram9icy5oICAgICAg ICAgICAgIHwgIDQgLS0tCi0gMTEgZmlsZXMgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCAxMDIg ZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvQ01ha2VMaXN0cy50eHQgYi9zcmMvQ01h a2VMaXN0cy50eHQKLWluZGV4IDlmODU0YjAuLjZmMzU0NjMgMTAwNjQ0Ci0tLS0gYS9zcmMvQ01h a2VMaXN0cy50eHQKLSsrKyBiL3NyYy9DTWFrZUxpc3RzLnR4dAotQEAgLTQsNyArNCw3IEBAIGVu ZGlmKCkKLSAKLSBzZXQoc3luY2xpYl9OQU1FICR7QVBQTElDQVRJT05fRVhFQ1VUQUJMRX1zeW5j KQotIAotLWZpbmRfcGFja2FnZShRdDUgNS42IENPTVBPTkVOVFMgQ29yZSBOZXR3b3JrIFhtbCBD b25jdXJyZW50IFdlYkVuZ2luZVdpZGdldHMgV2ViRW5naW5lIFJFUVVJUkVEKQotK2ZpbmRfcGFj a2FnZShRdDUgNS42IENPTVBPTkVOVFMgQ29yZSBOZXR3b3JrIFhtbCBDb25jdXJyZW50IFJFUVVJ UkVEKQotIGlmIChRdDVDb3JlX1ZFUlNJT04gVkVSU0lPTl9MRVNTIDUuOS4wKQotIG1lc3NhZ2Uo U1RBVFVTICJGb3IgSFRUUC8yIHN1cHBvcnQsIGNvbXBpbGUgd2l0aCBRdCA1Ljkgb3IgaGlnaGVy LiIpCi0gZW5kaWYoKQotZGlmZiAtLWdpdCBhL3NyYy9ndWkvQ01ha2VMaXN0cy50eHQgYi9zcmMv Z3VpL0NNYWtlTGlzdHMudHh0Ci1pbmRleCAyODUwNTc5Li44ZTYxNTMxIDEwMDY0NAotLS0tIGEv c3JjL2d1aS9DTWFrZUxpc3RzLnR4dAotKysrIGIvc3JjL2d1aS9DTWFrZUxpc3RzLnR4dAotQEAg LTM1LDE0ICszNSwxMiBAQCBzZXQoY2xpZW50X1VJX1NSQ1MKLSAgICAgYWRkY2VydGlmaWNhdGVk aWFsb2cudWkKLSAgICAgcHJveHlhdXRoZGlhbG9nLnVpCi0gICAgIG1uZW1vbmljZGlhbG9nLnVp Ci0tICAgIHdpemFyZC9mbG93MmF1dGh3aWRnZXQudWkKLSAgICAgd2l6YXJkL293bmNsb3VkYWR2 YW5jZWRzZXR1cHBhZ2UudWkKLSAgICAgd2l6YXJkL293bmNsb3VkY29ubmVjdGlvbm1ldGhvZGRp YWxvZy51aQotICAgICB3aXphcmQvb3duY2xvdWRodHRwY3JlZHNwYWdlLnVpCi0gICAgIHdpemFy ZC9vd25jbG91ZG9hdXRoY3JlZHNwYWdlLnVpCi0gICAgIHdpemFyZC9vd25jbG91ZHNldHVwbm9j cmVkc3BhZ2UudWkKLSAgICAgd2l6YXJkL293bmNsb3Vkd2l6YXJkcmVzdWx0cGFnZS51aQotLSAg ICB3aXphcmQvd2Vidmlldy51aQotICkKLSAKLSBzZXQoY2xpZW50X1NSQ1MKLUBAIC0xMDgsMjQg KzEwNiwxNyBAQCBzZXQoY2xpZW50X1NSQ1MKLSAgICAgY3JlZHMvY3JlZGVudGlhbHNmYWN0b3J5 LmNwcAotICAgICBjcmVkcy9odHRwY3JlZGVudGlhbHNndWkuY3BwCi0gICAgIGNyZWRzL29hdXRo LmNwcAotLSAgICBjcmVkcy9mbG93MmF1dGguY3BwCi0gICAgIGNyZWRzL2tleWNoYWluY2h1bmsu Y3BwCi0tICAgIGNyZWRzL3dlYmZsb3djcmVkZW50aWFscy5jcHAKLS0gICAgY3JlZHMvd2ViZmxv d2NyZWRlbnRpYWxzZGlhbG9nLmNwcAotICAgICB3aXphcmQvcG9zdGZpeGxpbmVlZGl0LmNwcAot ICAgICB3aXphcmQvYWJzdHJhY3RjcmVkc3dpemFyZHBhZ2UuY3BwCi0gICAgIHdpemFyZC9vd25j bG91ZGFkdmFuY2Vkc2V0dXBwYWdlLmNwcAotICAgICB3aXphcmQvb3duY2xvdWRjb25uZWN0aW9u bWV0aG9kZGlhbG9nLmNwcAotICAgICB3aXphcmQvb3duY2xvdWRodHRwY3JlZHNwYWdlLmNwcAot ICAgICB3aXphcmQvb3duY2xvdWRvYXV0aGNyZWRzcGFnZS5jcHAKLS0gICAgd2l6YXJkL2Zsb3cy YXV0aGNyZWRzcGFnZS5jcHAKLS0gICAgd2l6YXJkL2Zsb3cyYXV0aHdpZGdldC5jcHAKLSAgICAg d2l6YXJkL293bmNsb3Vkc2V0dXBwYWdlLmNwcAotICAgICB3aXphcmQvb3duY2xvdWR3aXphcmRj b21tb24uY3BwCi0gICAgIHdpemFyZC9vd25jbG91ZHdpemFyZC5jcHAKLSAgICAgd2l6YXJkL293 bmNsb3Vkd2l6YXJkcmVzdWx0cGFnZS5jcHAKLS0gICAgd2l6YXJkL3dlYnZpZXdwYWdlLmNwcAot LSAgICB3aXphcmQvd2Vidmlldy5jcHAKLSAgICAgd2l6YXJkL3NsaWRlc2hvdy5jcHAKLSApCi0g Ci1AQCAtMjk4LDcgKzI4OSw3IEBAIGVsc2UoKQotIGVuZGlmKCkKLSAKLSBhZGRfbGlicmFyeSh1 cGRhdGVyIFNUQVRJQyAke3VwZGF0ZXJfU1JDU30pCi0tdGFyZ2V0X2xpbmtfbGlicmFyaWVzKHVw ZGF0ZXIgJHtzeW5jbGliX05BTUV9IFF0NTo6V2lkZ2V0cyBRdDU6Ok5ldHdvcmsgUXQ1OjpYbWwg UXQ1OjpXZWJFbmdpbmVXaWRnZXRzKQotK3RhcmdldF9saW5rX2xpYnJhcmllcyh1cGRhdGVyICR7 c3luY2xpYl9OQU1FfSBRdDU6OldpZGdldHMgUXQ1OjpOZXR3b3JrIFF0NTo6WG1sKQotIHRhcmdl dF9pbmNsdWRlX2RpcmVjdG9yaWVzKHVwZGF0ZXIgUFVCTElDICR7Q01BS0VfQ1VSUkVOVF9TT1VS Q0VfRElSfSkKLSAKLSBzZXRfdGFyZ2V0X3Byb3BlcnRpZXMoICR7QVBQTElDQVRJT05fRVhFQ1VU QUJMRX0gUFJPUEVSVElFUwotZGlmZiAtLWdpdCBhL3NyYy9ndWkvYWNjb3VudG1hbmFnZXIuY3Bw IGIvc3JjL2d1aS9hY2NvdW50bWFuYWdlci5jcHAKLWluZGV4IGVlYzM3NTEuLmM4YWU3MmIgMTAw NjQ0Ci0tLS0gYS9zcmMvZ3VpL2FjY291bnRtYW5hZ2VyLmNwcAotKysrIGIvc3JjL2d1aS9hY2Nv dW50bWFuYWdlci5jcHAKLUBAIC0yNTMsMjAgKzI1Myw2IEBAIEFjY291bnRQdHIgQWNjb3VudE1h bmFnZXI6OmxvYWRBY2NvdW50SGVscGVyKFFTZXR0aW5ncyAmc2V0dGluZ3MpCi0gICAgICAgICBh Y2MtPnNldFVybCh1cmxDb25maWcudG9VcmwoKSk7Ci0gICAgIH0KLSAKLS0gICAgLy8gTWlncmF0 ZSB0byB3ZWJmbG93Ci0tICAgIGlmIChhdXRoVHlwZSA9PSBRTGF0aW4xU3RyaW5nKCJodHRwIikp IHsKLS0gICAgICAgIGF1dGhUeXBlID0gIndlYmZsb3ciOwotLSAgICAgICAgc2V0dGluZ3Muc2V0 VmFsdWUoUUxhdGluMVN0cmluZyhhdXRoVHlwZUMpLCBhdXRoVHlwZSk7Ci0tCi0tICAgICAgICBm b3JlYWNoKFFTdHJpbmcga2V5LCBzZXR0aW5ncy5jaGlsZEtleXMoKSkgewotLSAgICAgICAgICAg IGlmICgha2V5LnN0YXJ0c1dpdGgoImh0dHBfIikpCi0tICAgICAgICAgICAgICAgIGNvbnRpbnVl OwotLSAgICAgICAgICAgIGF1dG8gbmV3a2V5ID0gUVN0cmluZzo6ZnJvbUxhdGluMSgid2ViZmxv d18iKS5hcHBlbmQoa2V5Lm1pZCg1KSk7Ci0tICAgICAgICAgICAgc2V0dGluZ3Muc2V0VmFsdWUo bmV3a2V5LCBzZXR0aW5ncy52YWx1ZSgoa2V5KSkpOwotLSAgICAgICAgICAgIHNldHRpbmdzLnJl bW92ZShrZXkpOwotLSAgICAgICAgfQotLSAgICB9Ci0tCi0gICAgIHFDSW5mbyhsY0FjY291bnRN YW5hZ2VyKSA8PCAiQWNjb3VudCBmb3IiIDw8IGFjYy0+dXJsKCkgPDwgInVzaW5nIGF1dGggdHlw ZSIgPDwgYXV0aFR5cGU7Ci0gCi0gICAgIGFjYy0+X3NlcnZlclZlcnNpb24gPSBzZXR0aW5ncy52 YWx1ZShRTGF0aW4xU3RyaW5nKHNlcnZlclZlcnNpb25DKSkudG9TdHJpbmcoKTsKLWRpZmYgLS1n aXQgYS9zcmMvZ3VpL2NyZWRzL2NyZWRlbnRpYWxzZmFjdG9yeS5jcHAgYi9zcmMvZ3VpL2NyZWRz L2NyZWRlbnRpYWxzZmFjdG9yeS5jcHAKLWluZGV4IDYwNjJmNzAuLjUyZTAwM2IgMTAwNjQ0Ci0t LS0gYS9zcmMvZ3VpL2NyZWRzL2NyZWRlbnRpYWxzZmFjdG9yeS5jcHAKLSsrKyBiL3NyYy9ndWkv Y3JlZHMvY3JlZGVudGlhbHNmYWN0b3J5LmNwcAotQEAgLTIxLDcgKzIxLDYgQEAKLSAjaWZuZGVm IE5PX1NISUJCT0xFVEgKLSAjaW5jbHVkZSAiY3JlZHMvc2hpYmJvbGV0aGNyZWRlbnRpYWxzLmgi Ci0gI2VuZGlmCi0tI2luY2x1ZGUgImNyZWRzL3dlYmZsb3djcmVkZW50aWFscy5oIgotIAotIG5h bWVzcGFjZSBPQ0MgewotIAotQEAgLTQwLDggKzM5LDYgQEAgbmFtZXNwYWNlIENyZWRlbnRpYWxz RmFjdG9yeSB7Ci0gICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT0gInNoaWJib2xldGgiKSB7Ci0g ICAgICAgICAgICAgcmV0dXJuIG5ldyBTaGliYm9sZXRoQ3JlZGVudGlhbHM7Ci0gI2VuZGlmCi0t ICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT0gIndlYmZsb3ciKSB7Ci0tICAgICAgICAgICAgcmV0 dXJuIG5ldyBXZWJGbG93Q3JlZGVudGlhbHM7Ci0gICAgICAgICB9IGVsc2UgewotICAgICAgICAg ICAgIHFDV2FybmluZyhsY0d1aUNyZWRlbnRpYWxzLCAiVW5rbm93biBjcmVkZW50aWFscyB0eXBl OiAlcyIsIHFQcmludGFibGUodHlwZSkpOwotICAgICAgICAgICAgIHJldHVybiBuZXcgRHVtbXlD cmVkZW50aWFsczsKLWRpZmYgLS1naXQgYS9zcmMvZ3VpL293bmNsb3Vkc2V0dXB3aXphcmQuY3Bw IGIvc3JjL2d1aS9vd25jbG91ZHNldHVwd2l6YXJkLmNwcAotaW5kZXggODc1ZGFjZi4uNjVkZWE2 NiAxMDA2NDQKLS0tLSBhL3NyYy9ndWkvb3duY2xvdWRzZXR1cHdpemFyZC5jcHAKLSsrKyBiL3Ny Yy9ndWkvb3duY2xvdWRzZXR1cHdpemFyZC5jcHAKLUBAIC00MDksNyArNDA5LDcgQEAgdm9pZCBP d25jbG91ZFNldHVwV2l6YXJkOjpzbG90QXV0aEVycm9yKCkKLSAKLSAgICAgLy8gYnJpbmcgd2l6 YXJkIHRvIHRvcAotICAgICBfb2NXaXphcmQtPmJyaW5nVG9Ub3AoKTsKLS0gICAgaWYgKF9vY1dp emFyZC0+Y3VycmVudElkKCkgPT0gV2l6YXJkQ29tbW9uOjpQYWdlX1NoaWJib2xldGhDcmVkcyB8 fCBfb2NXaXphcmQtPmN1cnJlbnRJZCgpID09IFdpemFyZENvbW1vbjo6UGFnZV9PQXV0aENyZWRz IHx8IF9vY1dpemFyZC0+Y3VycmVudElkKCkgPT0gV2l6YXJkQ29tbW9uOjpQYWdlX0Zsb3cyQXV0 aENyZWRzKSB7Ci0rICAgIGlmIChfb2NXaXphcmQtPmN1cnJlbnRJZCgpID09IFdpemFyZENvbW1v bjo6UGFnZV9TaGliYm9sZXRoQ3JlZHMgfHwgX29jV2l6YXJkLT5jdXJyZW50SWQoKSA9PSBXaXph cmRDb21tb246OlBhZ2VfT0F1dGhDcmVkcykgewotICAgICAgICAgX29jV2l6YXJkLT5iYWNrKCk7 Ci0gICAgIH0KLSAgICAgX29jV2l6YXJkLT5kaXNwbGF5RXJyb3IoZXJyb3JNc2csIF9vY1dpemFy ZC0+Y3VycmVudElkKCkgPT0gV2l6YXJkQ29tbW9uOjpQYWdlX1NlcnZlclNldHVwICYmIGNoZWNr RG93bmdyYWRlQWR2aXNlZChyZXBseSkpOwotZGlmZiAtLWdpdCBhL3NyYy9ndWkvd2l6YXJkL293 bmNsb3Vkc2V0dXBwYWdlLmNwcCBiL3NyYy9ndWkvd2l6YXJkL293bmNsb3Vkc2V0dXBwYWdlLmNw cAotaW5kZXggOWE2Y2VkNy4uMTAxYjVkYSAxMDA2NDQKLS0tLSBhL3NyYy9ndWkvd2l6YXJkL293 bmNsb3Vkc2V0dXBwYWdlLmNwcAotKysrIGIvc3JjL2d1aS93aXphcmQvb3duY2xvdWRzZXR1cHBh Z2UuY3BwCi1AQCAtMTQ0LDcgKzE0NCw3IEBAIHZvaWQgT3duY2xvdWRTZXR1cFBhZ2U6OnNsb3RM b2dpbigpCi0gdm9pZCBPd25jbG91ZFNldHVwUGFnZTo6c2xvdEdvdG9Qcm92aWRlckxpc3QoKQot IHsKLSAgICAgX29jV2l6YXJkLT5zZXRSZWdpc3RyYXRpb24odHJ1ZSk7Ci0tICAgIF9vY1dpemFy ZC0+c2V0QXV0aFR5cGUoRGV0ZXJtaW5lQXV0aFR5cGVKb2I6OkF1dGhUeXBlOjpXZWJWaWV3Rmxv dyk7Ci0rICAgIF9vY1dpemFyZC0+c2V0QXV0aFR5cGUoRGV0ZXJtaW5lQXV0aFR5cGVKb2I6OkF1 dGhUeXBlOjpPQXV0aCk7Ci0gICAgIF9hdXRoVHlwZUtub3duID0gdHJ1ZTsKLSAgICAgX2NoZWNr aW5nID0gZmFsc2U7Ci0gICAgIGVtaXQgY29tcGxldGVDaGFuZ2VkKCk7Ci1AQCAtMjU5LDEyICsy NTksOCBAQCBpbnQgT3duY2xvdWRTZXR1cFBhZ2U6Om5leHRJZCgpIGNvbnN0Ci0gICAgICAgICBy ZXR1cm4gV2l6YXJkQ29tbW9uOjpQYWdlX0h0dHBDcmVkczsKLSAgICAgY2FzZSBEZXRlcm1pbmVB dXRoVHlwZUpvYjo6T0F1dGg6Ci0gICAgICAgICByZXR1cm4gV2l6YXJkQ29tbW9uOjpQYWdlX09B dXRoQ3JlZHM7Ci0tICAgIGNhc2UgRGV0ZXJtaW5lQXV0aFR5cGVKb2I6OkxvZ2luRmxvd1YyOgot LSAgICAgICAgcmV0dXJuIFdpemFyZENvbW1vbjo6UGFnZV9GbG93MkF1dGhDcmVkczsKLSAgICAg Y2FzZSBEZXRlcm1pbmVBdXRoVHlwZUpvYjo6U2hpYmJvbGV0aDoKLSAgICAgICAgIHJldHVybiBX aXphcmRDb21tb246OlBhZ2VfU2hpYmJvbGV0aENyZWRzOwotLSAgICBjYXNlIERldGVybWluZUF1 dGhUeXBlSm9iOjpXZWJWaWV3RmxvdzoKLS0gICAgICAgIHJldHVybiBXaXphcmRDb21tb246OlBh Z2VfV2ViVmlldzsKLSAgICAgfQotICAgICByZXR1cm4gV2l6YXJkQ29tbW9uOjpQYWdlX0h0dHBD cmVkczsKLSB9Ci1kaWZmIC0tZ2l0IGEvc3JjL2d1aS93aXphcmQvb3duY2xvdWR3aXphcmQuY3Bw IGIvc3JjL2d1aS93aXphcmQvb3duY2xvdWR3aXphcmQuY3BwCi1pbmRleCAyMDc2MTM2Li5iYmFj OGE1IDEwMDY0NAotLS0tIGEvc3JjL2d1aS93aXphcmQvb3duY2xvdWR3aXphcmQuY3BwCi0rKysg Yi9zcmMvZ3VpL3dpemFyZC9vd25jbG91ZHdpemFyZC5jcHAKLUBAIC0yNyw4ICsyNyw2IEBACi0g I2VuZGlmCi0gI2luY2x1ZGUgIndpemFyZC9vd25jbG91ZGFkdmFuY2Vkc2V0dXBwYWdlLmgiCi0g I2luY2x1ZGUgIndpemFyZC9vd25jbG91ZHdpemFyZHJlc3VsdHBhZ2UuaCIKLS0jaW5jbHVkZSAi d2l6YXJkL3dlYnZpZXdwYWdlLmgiCi0tI2luY2x1ZGUgIndpemFyZC9mbG93MmF1dGhjcmVkc3Bh Z2UuaCIKLSAKLSAjaW5jbHVkZSAiUVByb2dyZXNzSW5kaWNhdG9yLmgiCi0gCi1AQCAtNDcsMTQg KzQ1LDEyIEBAIE93bmNsb3VkV2l6YXJkOjpPd25jbG91ZFdpemFyZChRV2lkZ2V0ICpwYXJlbnQp Ci0gICAgICwgX3NldHVwUGFnZShuZXcgT3duY2xvdWRTZXR1cFBhZ2UodGhpcykpCi0gICAgICwg X2h0dHBDcmVkc1BhZ2UobmV3IE93bmNsb3VkSHR0cENyZWRzUGFnZSh0aGlzKSkKLSAgICAgLCBf YnJvd3NlckNyZWRzUGFnZShuZXcgT3duY2xvdWRPQXV0aENyZWRzUGFnZSkKLS0gICAgLCBfZmxv dzJDcmVkc1BhZ2UobmV3IEZsb3cyQXV0aENyZWRzUGFnZSkKLSAjaWZuZGVmIE5PX1NISUJCT0xF VEgKLSAgICAgLCBfc2hpYmJvbGV0aENyZWRzUGFnZShuZXcgT3duY2xvdWRTaGliYm9sZXRoQ3Jl ZHNQYWdlKQotICNlbmRpZgotICAgICAsIF9hZHZhbmNlZFNldHVwUGFnZShuZXcgT3duY2xvdWRB ZHZhbmNlZFNldHVwUGFnZSkKLSAgICAgLCBfcmVzdWx0UGFnZShuZXcgT3duY2xvdWRXaXphcmRS ZXN1bHRQYWdlKQotICAgICAsIF9jcmVkZW50aWFsc1BhZ2UobnVsbHB0cikKLS0gICAgLCBfd2Vi Vmlld1BhZ2UobmV3IFdlYlZpZXdQYWdlKHRoaXMpKQotICAgICAsIF9zZXR1cExvZygpCi0gICAg ICwgX3JlZ2lzdHJhdGlvbihmYWxzZSkKLSB7Ci1AQCAtNjIsMTMgKzU4LDExIEBAIE93bmNsb3Vk V2l6YXJkOjpPd25jbG91ZFdpemFyZChRV2lkZ2V0ICpwYXJlbnQpCi0gICAgIHNldFBhZ2UoV2l6 YXJkQ29tbW9uOjpQYWdlX1NlcnZlclNldHVwLCBfc2V0dXBQYWdlKTsKLSAgICAgc2V0UGFnZShX aXphcmRDb21tb246OlBhZ2VfSHR0cENyZWRzLCBfaHR0cENyZWRzUGFnZSk7Ci0gICAgIHNldFBh Z2UoV2l6YXJkQ29tbW9uOjpQYWdlX09BdXRoQ3JlZHMsIF9icm93c2VyQ3JlZHNQYWdlKTsKLS0g ICAgc2V0UGFnZShXaXphcmRDb21tb246OlBhZ2VfRmxvdzJBdXRoQ3JlZHMsIF9mbG93MkNyZWRz UGFnZSk7Ci0gI2lmbmRlZiBOT19TSElCQk9MRVRICi0gICAgIHNldFBhZ2UoV2l6YXJkQ29tbW9u OjpQYWdlX1NoaWJib2xldGhDcmVkcywgX3NoaWJib2xldGhDcmVkc1BhZ2UpOwotICNlbmRpZgot ICAgICBzZXRQYWdlKFdpemFyZENvbW1vbjo6UGFnZV9BZHZhbmNlZFNldHVwLCBfYWR2YW5jZWRT ZXR1cFBhZ2UpOwotICAgICBzZXRQYWdlKFdpemFyZENvbW1vbjo6UGFnZV9SZXN1bHQsIF9yZXN1 bHRQYWdlKTsKLS0gICAgc2V0UGFnZShXaXphcmRDb21tb246OlBhZ2VfV2ViVmlldywgX3dlYlZp ZXdQYWdlKTsKLSAKLSAgICAgY29ubmVjdCh0aGlzLCAmUURpYWxvZzo6ZmluaXNoZWQsIHRoaXMs ICZPd25jbG91ZFdpemFyZDo6YmFzaWNTZXR1cEZpbmlzaGVkKTsKLSAKLUBAIC04MCwxMSArNzQs OSBAQCBPd25jbG91ZFdpemFyZDo6T3duY2xvdWRXaXphcmQoUVdpZGdldCAqcGFyZW50KQotICAg ICBjb25uZWN0KF9zZXR1cFBhZ2UsICZPd25jbG91ZFNldHVwUGFnZTo6ZGV0ZXJtaW5lQXV0aFR5 cGUsIHRoaXMsICZPd25jbG91ZFdpemFyZDo6ZGV0ZXJtaW5lQXV0aFR5cGUpOwotICAgICBjb25u ZWN0KF9odHRwQ3JlZHNQYWdlLCAmT3duY2xvdWRIdHRwQ3JlZHNQYWdlOjpjb25uZWN0VG9PQ1Vy bCwgdGhpcywgJk93bmNsb3VkV2l6YXJkOjpjb25uZWN0VG9PQ1VybCk7Ci0gICAgIGNvbm5lY3Qo X2Jyb3dzZXJDcmVkc1BhZ2UsICZPd25jbG91ZE9BdXRoQ3JlZHNQYWdlOjpjb25uZWN0VG9PQ1Vy bCwgdGhpcywgJk93bmNsb3VkV2l6YXJkOjpjb25uZWN0VG9PQ1VybCk7Ci0tICAgIGNvbm5lY3Qo X2Zsb3cyQ3JlZHNQYWdlLCAmRmxvdzJBdXRoQ3JlZHNQYWdlOjpjb25uZWN0VG9PQ1VybCwgdGhp cywgJk93bmNsb3VkV2l6YXJkOjpjb25uZWN0VG9PQ1VybCk7Ci0gI2lmbmRlZiBOT19TSElCQk9M RVRICi0gICAgIGNvbm5lY3QoX3NoaWJib2xldGhDcmVkc1BhZ2UsICZPd25jbG91ZFNoaWJib2xl dGhDcmVkc1BhZ2U6OmNvbm5lY3RUb09DVXJsLCB0aGlzLCAmT3duY2xvdWRXaXphcmQ6OmNvbm5l Y3RUb09DVXJsKTsKLSAjZW5kaWYKLS0gICAgY29ubmVjdChfd2ViVmlld1BhZ2UsICZXZWJWaWV3 UGFnZTo6Y29ubmVjdFRvT0NVcmwsIHRoaXMsICZPd25jbG91ZFdpemFyZDo6Y29ubmVjdFRvT0NV cmwpOwotICAgICBjb25uZWN0KF9hZHZhbmNlZFNldHVwUGFnZSwgJk93bmNsb3VkQWR2YW5jZWRT ZXR1cFBhZ2U6OmNyZWF0ZUxvY2FsQW5kUmVtb3RlRm9sZGVycywKLSAgICAgICAgIHRoaXMsICZP d25jbG91ZFdpemFyZDo6Y3JlYXRlTG9jYWxBbmRSZW1vdGVGb2xkZXJzKTsKLSAgICAgY29ubmVj dCh0aGlzLCAmUVdpemFyZDo6Y3VzdG9tQnV0dG9uQ2xpY2tlZCwgdGhpcywgJk93bmNsb3VkV2l6 YXJkOjpza2lwRm9sZGVyQ29uZmlndXJhdGlvbik7Ci1AQCAtMTA2LDEyICs5OCw4IEBAIE93bmNs b3VkV2l6YXJkOjpPd25jbG91ZFdpemFyZChRV2lkZ2V0ICpwYXJlbnQpCi0gICAgIC8vIENvbm5l Y3Qgc3R5bGVDaGFuZ2VkIGV2ZW50cyB0byBvdXIgd2lkZ2V0cywgc28gdGhleSBjYW4gYWRhcHQg KERhcmstL0xpZ2h0LU1vZGUgc3dpdGNoaW5nKQotICAgICBjb25uZWN0KHRoaXMsICZPd25jbG91 ZFdpemFyZDo6c3R5bGVDaGFuZ2VkLCBfc2V0dXBQYWdlLCAmT3duY2xvdWRTZXR1cFBhZ2U6OnNs b3RTdHlsZUNoYW5nZWQpOwotICAgICBjb25uZWN0KHRoaXMsICZPd25jbG91ZFdpemFyZDo6c3R5 bGVDaGFuZ2VkLCBfYWR2YW5jZWRTZXR1cFBhZ2UsICZPd25jbG91ZEFkdmFuY2VkU2V0dXBQYWdl OjpzbG90U3R5bGVDaGFuZ2VkKTsKLS0gICAgY29ubmVjdCh0aGlzLCAmT3duY2xvdWRXaXphcmQ6 OnN0eWxlQ2hhbmdlZCwgX2Zsb3cyQ3JlZHNQYWdlLCAmRmxvdzJBdXRoQ3JlZHNQYWdlOjpzbG90 U3R5bGVDaGFuZ2VkKTsKLSAKLSAgICAgY3VzdG9taXplU3R5bGUoKTsKLS0KLS0gICAgLy8gYWxs b3cgRmxvdzIgcGFnZSB0byBwb2xsIG9uIHdpbmRvdyBhY3RpdmF0aW9uCi0tICAgIGNvbm5lY3Qo dGhpcywgJk93bmNsb3VkV2l6YXJkOjpvbkFjdGl2YXRlLCBfZmxvdzJDcmVkc1BhZ2UsICZGbG93 MkF1dGhDcmVkc1BhZ2U6OnNsb3RQb2xsTm93KTsKLSB9Ci0gCi0gdm9pZCBPd25jbG91ZFdpemFy ZDo6c2V0QWNjb3VudChBY2NvdW50UHRyIGFjY291bnQpCi1AQCAtMTgwLDIwICsxNjgsMTIgQEAg dm9pZCBPd25jbG91ZFdpemFyZDo6c3VjY2Vzc2Z1bFN0ZXAoKQotICAgICAgICAgX2Jyb3dzZXJD cmVkc1BhZ2UtPnNldENvbm5lY3RlZCgpOwotICAgICAgICAgYnJlYWs7Ci0gCi0tICAgIGNhc2Ug V2l6YXJkQ29tbW9uOjpQYWdlX0Zsb3cyQXV0aENyZWRzOgotLSAgICAgICAgX2Zsb3cyQ3JlZHNQ YWdlLT5zZXRDb25uZWN0ZWQoKTsKLS0gICAgICAgIGJyZWFrOwotLQotICNpZm5kZWYgTk9fU0hJ QkJPTEVUSAotICAgICBjYXNlIFdpemFyZENvbW1vbjo6UGFnZV9TaGliYm9sZXRoQ3JlZHM6Ci0g ICAgICAgICBfc2hpYmJvbGV0aENyZWRzUGFnZS0+c2V0Q29ubmVjdGVkKCk7Ci0gICAgICAgICBi cmVhazsKLSAjZW5kaWYKLSAKLS0gICAgY2FzZSBXaXphcmRDb21tb246OlBhZ2VfV2ViVmlldzoK LS0gICAgICAgIF93ZWJWaWV3UGFnZS0+c2V0Q29ubmVjdGVkKCk7Ci0tICAgICAgICBicmVhazsK LS0KLSAgICAgY2FzZSBXaXphcmRDb21tb246OlBhZ2VfQWR2YW5jZWRTZXR1cDoKLSAgICAgICAg IF9hZHZhbmNlZFNldHVwUGFnZS0+ZGlyZWN0b3JpZXNDcmVhdGVkKCk7Ci0gICAgICAgICBicmVh azsKLUBAIC0yMTcsMTAgKzE5Nyw2IEBAIHZvaWQgT3duY2xvdWRXaXphcmQ6OnNldEF1dGhUeXBl KERldGVybWluZUF1dGhUeXBlSm9iOjpBdXRoVHlwZSB0eXBlKQotICNlbmRpZgotICAgICAgICAg aWYgKHR5cGUgPT0gRGV0ZXJtaW5lQXV0aFR5cGVKb2I6Ok9BdXRoKSB7Ci0gICAgICAgICBfY3Jl ZGVudGlhbHNQYWdlID0gX2Jyb3dzZXJDcmVkc1BhZ2U7Ci0tICAgIH0gZWxzZSBpZiAodHlwZSA9 PSBEZXRlcm1pbmVBdXRoVHlwZUpvYjo6TG9naW5GbG93VjIpIHsKLS0gICAgICAgIF9jcmVkZW50 aWFsc1BhZ2UgPSBfZmxvdzJDcmVkc1BhZ2U7Ci0tICAgIH0gZWxzZSBpZiAodHlwZSA9PSBEZXRl cm1pbmVBdXRoVHlwZUpvYjo6V2ViVmlld0Zsb3cpIHsKLS0gICAgICAgIF9jcmVkZW50aWFsc1Bh Z2UgPSBfd2ViVmlld1BhZ2U7Ci0gICAgIH0gZWxzZSB7IC8vIHRyeSBCYXNpYyBhdXRoIGV2ZW4g Zm9yICJVbmtub3duIgotICAgICAgICAgX2NyZWRlbnRpYWxzUGFnZSA9IF9odHRwQ3JlZHNQYWdl OwotICAgICB9Ci1AQCAtMjQ1LDcgKzIyMSw3IEBAIHZvaWQgT3duY2xvdWRXaXphcmQ6OnNsb3RD dXJyZW50UGFnZUNoYW5nZWQoaW50IGlkKQotICAgICB9Ci0gCi0gICAgIHNldE9wdGlvbihRV2l6 YXJkOjpIYXZlQ3VzdG9tQnV0dG9uMSwgaWQgPT0gV2l6YXJkQ29tbW9uOjpQYWdlX0FkdmFuY2Vk U2V0dXApOwotLSAgICBpZiAoaWQgPT0gV2l6YXJkQ29tbW9uOjpQYWdlX0FkdmFuY2VkU2V0dXAg JiYgKF9jcmVkZW50aWFsc1BhZ2UgPT0gX2Jyb3dzZXJDcmVkc1BhZ2UgfHwgX2NyZWRlbnRpYWxz UGFnZSA9PSBfZmxvdzJDcmVkc1BhZ2UpKSB7Ci0rICAgIGlmIChpZCA9PSBXaXphcmRDb21tb246 OlBhZ2VfQWR2YW5jZWRTZXR1cCkgewotICAgICAgICAgLy8gRm9yIE9BdXRoLCBkaXNhYmxlIHRo ZSBiYWNrIGJ1dHRvbiBpbiB0aGUgUGFnZV9BZHZhbmNlZFNldHVwIGJlY2F1c2Ugd2UgZG9uJ3Qg d2FudAotICAgICAgICAgLy8gdG8gcmUtb3BlbiB0aGUgYnJvd3Nlci4KLSAgICAgICAgIGJ1dHRv bihRV2l6YXJkOjpCYWNrQnV0dG9uKS0+c2V0RW5hYmxlZChmYWxzZSk7Ci1kaWZmIC0tZ2l0IGEv c3JjL2d1aS93aXphcmQvb3duY2xvdWR3aXphcmQuaCBiL3NyYy9ndWkvd2l6YXJkL293bmNsb3Vk d2l6YXJkLmgKLWluZGV4IDNjYmY4OWYuLjJlZWNiZjkgMTAwNjQ0Ci0tLS0gYS9zcmMvZ3VpL3dp emFyZC9vd25jbG91ZHdpemFyZC5oCi0rKysgYi9zcmMvZ3VpL3dpemFyZC9vd25jbG91ZHdpemFy ZC5oCi1AQCAtMzksOCArMzksNiBAQCBjbGFzcyBPd25jbG91ZEFkdmFuY2VkU2V0dXBQYWdlOwot IGNsYXNzIE93bmNsb3VkV2l6YXJkUmVzdWx0UGFnZTsKLSBjbGFzcyBBYnN0cmFjdENyZWRlbnRp YWxzOwotIGNsYXNzIEFic3RyYWN0Q3JlZGVudGlhbHNXaXphcmRQYWdlOwotLWNsYXNzIFdlYlZp ZXdQYWdlOwotLWNsYXNzIEZsb3cyQXV0aENyZWRzUGFnZTsKLSAKLSAvKioKLSAgKiBAYnJpZWYg VGhlIE93bmNsb3VkV2l6YXJkIGNsYXNzCi1AQCAtMTE0LDExICsxMTIsOSBAQCBwcml2YXRlOgot ICNpZm5kZWYgTk9fU0hJQkJPTEVUSAotICAgICBPd25jbG91ZFNoaWJib2xldGhDcmVkc1BhZ2Ug Kl9zaGliYm9sZXRoQ3JlZHNQYWdlOwotICNlbmRpZgotLSAgICBGbG93MkF1dGhDcmVkc1BhZ2Ug Kl9mbG93MkNyZWRzUGFnZTsKLSAgICAgT3duY2xvdWRBZHZhbmNlZFNldHVwUGFnZSAqX2FkdmFu Y2VkU2V0dXBQYWdlOwotICAgICBPd25jbG91ZFdpemFyZFJlc3VsdFBhZ2UgKl9yZXN1bHRQYWdl OwotICAgICBBYnN0cmFjdENyZWRlbnRpYWxzV2l6YXJkUGFnZSAqX2NyZWRlbnRpYWxzUGFnZTsK LS0gICAgV2ViVmlld1BhZ2UgKl93ZWJWaWV3UGFnZTsKLSAKLSAgICAgUVN0cmluZ0xpc3QgX3Nl dHVwTG9nOwotIAotZGlmZiAtLWdpdCBhL3NyYy9ndWkvd2l6YXJkL293bmNsb3Vkd2l6YXJkY29t bW9uLmggYi9zcmMvZ3VpL3dpemFyZC9vd25jbG91ZHdpemFyZGNvbW1vbi5oCi1pbmRleCBkMWY3 YzA4Li5jNTVlZDA0IDEwMDY0NAotLS0tIGEvc3JjL2d1aS93aXphcmQvb3duY2xvdWR3aXphcmRj b21tb24uaAotKysrIGIvc3JjL2d1aS93aXphcmQvb3duY2xvdWR3aXphcmRjb21tb24uaAotQEAg LTM4LDggKzM4LDYgQEAgbmFtZXNwYWNlIFdpemFyZENvbW1vbiB7Ci0gICAgICAgICBQYWdlX0h0 dHBDcmVkcywKLSAgICAgICAgIFBhZ2VfU2hpYmJvbGV0aENyZWRzLAotICAgICAgICAgUGFnZV9P QXV0aENyZWRzLAotLSAgICAgICAgUGFnZV9GbG93MkF1dGhDcmVkcywKLS0gICAgICAgIFBhZ2Vf V2ViVmlldywKLSAgICAgICAgIFBhZ2VfQWR2YW5jZWRTZXR1cCwKLSAgICAgICAgIFBhZ2VfUmVz dWx0Ci0gICAgIH07Ci1kaWZmIC0tZ2l0IGEvc3JjL2xpYnN5bmMvbmV0d29ya2pvYnMuY3BwIGIv c3JjL2xpYnN5bmMvbmV0d29ya2pvYnMuY3BwCi1pbmRleCA3Njc4OWE4Li43MjU2ZjYwIDEwMDY0 NAotLS0tIGEvc3JjL2xpYnN5bmMvbmV0d29ya2pvYnMuY3BwCi0rKysgYi9zcmMvbGlic3luYy9u ZXR3b3Jram9icy5jcHAKLUBAIC04ODEsMTUgKzg4MSwxMCBAQCB2b2lkIERldGVybWluZUF1dGhU eXBlSm9iOjpzdGFydCgpCi0gICAgIC8vIDIuIGNoZWNrcyB0aGUgSFRUUCBhdXRoIG1ldGhvZC4K LSAgICAgYXV0byBwcm9wZmluZCA9IF9hY2NvdW50LT5zZW5kUmVxdWVzdCgiUFJPUEZJTkQiLCBf YWNjb3VudC0+ZGF2VXJsKCksIHJlcSk7Ci0gCi0tICAgIC8vIDMuIERldGVybWluZXMgaWYgdGhl IG9sZCBmbG93IGhhcyB0byBiZSB1c2VkIChHUyBmb3Igbm93KQotLSAgICBhdXRvIG9sZEZsb3dS ZXF1aXJlZCA9IG5ldyBKc29uQXBpSm9iKF9hY2NvdW50LCAiL29jcy92Mi5waHAvY2xvdWQvY2Fw YWJpbGl0aWVzIiwgdGhpcyk7Ci0tCi0gICAgIGdldC0+c2V0VGltZW91dCgzMCAqIDEwMDApOwot ICAgICBwcm9wZmluZC0+c2V0VGltZW91dCgzMCAqIDEwMDApOwotLSAgICBvbGRGbG93UmVxdWly ZWQtPnNldFRpbWVvdXQoMzAgKiAxMDAwKTsKLSAgICAgZ2V0LT5zZXRJZ25vcmVDcmVkZW50aWFs RmFpbHVyZSh0cnVlKTsKLSAgICAgcHJvcGZpbmQtPnNldElnbm9yZUNyZWRlbnRpYWxGYWlsdXJl KHRydWUpOwotLSAgICBvbGRGbG93UmVxdWlyZWQtPnNldElnbm9yZUNyZWRlbnRpYWxGYWlsdXJl KHRydWUpOwotIAotICAgICBjb25uZWN0KGdldCwgJkFic3RyYWN0TmV0d29ya0pvYjo6cmVkaXJl Y3RlZCwgdGhpcywgW3RoaXMsIGdldF0oUU5ldHdvcmtSZXBseSAqLCBjb25zdCBRVXJsICZ0YXJn ZXQsIGludCkgewotICNpZm5kZWYgTk9fU0hJQkJPTEVUSAotQEAgLTkxOSwzMiArOTE0LDEyIEBA IHZvaWQgRGV0ZXJtaW5lQXV0aFR5cGVKb2I6OnN0YXJ0KCkKLSAgICAgICAgIF9wcm9wZmluZERv bmUgPSB0cnVlOwotICAgICAgICAgY2hlY2tBbGxEb25lKCk7Ci0gICAgIH0pOwotLSAgICBjb25u ZWN0KG9sZEZsb3dSZXF1aXJlZCwgJkpzb25BcGlKb2I6Ompzb25SZWNlaXZlZCwgdGhpcywgW3Ro aXNdKGNvbnN0IFFKc29uRG9jdW1lbnQgJmpzb24sIGludCBzdGF0dXNDb2RlKSB7Ci0tICAgICAg ICBpZiAoc3RhdHVzQ29kZSA9PSAyMDApIHsKLS0gICAgICAgICAgICBfcmVzdWx0T2xkRmxvdyA9 IExvZ2luRmxvd1YyOwotLQotLSAgICAgICAgICAgIGF1dG8gZGF0YSA9IGpzb24ub2JqZWN0KCku dmFsdWUoIm9jcyIpLnRvT2JqZWN0KCkudmFsdWUoImRhdGEiKS50b09iamVjdCgpLnZhbHVlKCJj YXBhYmlsaXRpZXMiKS50b09iamVjdCgpOwotLSAgICAgICAgICAgIGF1dG8gZ3MgPSBkYXRhLnZh bHVlKCJnbG9iYWxzY2FsZSIpOwotLSAgICAgICAgICAgIGlmIChncyAhPSBRSnNvblZhbHVlOjpV bmRlZmluZWQpIHsKLS0gICAgICAgICAgICAgICAgYXV0byBmbG93ID0gZ3MudG9PYmplY3QoKS52 YWx1ZSgiZGVza3RvcGxvZ2luIik7Ci0tICAgICAgICAgICAgICAgIGlmIChmbG93ICE9IFFKc29u VmFsdWU6OlVuZGVmaW5lZCkgewotLSAgICAgICAgICAgICAgICAgICAgaWYgKGZsb3cudG9JbnQo KSA9PSAxKSB7Ci0tICAgICAgICAgICAgICAgICAgICAgICAgX3Jlc3VsdE9sZEZsb3cgPSBXZWJW aWV3RmxvdzsKLS0gICAgICAgICAgICAgICAgICAgIH0KLS0gICAgICAgICAgICAgICAgfQotLSAg ICAgICAgICAgIH0KLS0gICAgICAgIH0KLS0gICAgICAgIF9vbGRGbG93RG9uZSA9IHRydWU7Ci0t ICAgICAgICBjaGVja0FsbERvbmUoKTsKLS0gICAgfSk7Ci0tCi0tICAgIG9sZEZsb3dSZXF1aXJl ZC0+c3RhcnQoKTsKLSB9Ci0gCi0gdm9pZCBEZXRlcm1pbmVBdXRoVHlwZUpvYjo6Y2hlY2tBbGxE b25lKCkKLSB7Ci0gICAgIC8vIERvIG5vdCBjb25pdHVudWUgdW50aWwgZXZlCi0tICAgIGlmICgh X2dldERvbmUgfHwgIV9wcm9wZmluZERvbmUgfHwgIV9vbGRGbG93RG9uZSkgewotKyAgICBpZiAo IV9nZXREb25lIHx8ICFfcHJvcGZpbmREb25lKSB7Ci0gICAgICAgICByZXR1cm47Ci0gICAgIH0K LSAKLUBAIC05NTUsMTcgKzkzMCwxMiBAQCB2b2lkIERldGVybWluZUF1dGhUeXBlSm9iOjpjaGVj a0FsbERvbmUoKQotIAotICAgICAvLyBXZWJWaWV3RmxvdyA+IE9BdXRoID4gU2hpYiA+IEJhc2lj Ci0gICAgIGlmIChfYWNjb3VudC0+c2VydmVyVmVyc2lvbkludCgpID49IEFjY291bnQ6Om1ha2VT ZXJ2ZXJWZXJzaW9uKDEyLCAwLCAwKSkgewotLSAgICAgICAgcmVzdWx0ID0gV2ViVmlld0Zsb3c7 Ci0rICAgICAgICByZXN1bHQgPSBCYXNpYzsKLSAgICAgfQotIAotICAgICAvLyBMb2dpbkZsb3dW MiA+IFdlYlZpZXdGbG93ID4gT0F1dGggPiBTaGliID4gQmFzaWMKLSAgICAgaWYgKF9hY2NvdW50 LT5zZXJ2ZXJWZXJzaW9uSW50KCkgPj0gQWNjb3VudDo6bWFrZVNlcnZlclZlcnNpb24oMTYsIDAs IDApKSB7Ci0tICAgICAgICByZXN1bHQgPSBMb2dpbkZsb3dWMjsKLS0gICAgfQotLQotLSAgICAv LyBJZiB3ZSBkZXRlcm1pbmVkIHRoYXQgd2UgbmVlZCB0aGUgd2VidmlldyBmbG93IChHUyBmb3Ig ZXhhbXBsZSkgdGhlbiB3ZSBzd2l0Y2ggdG8gdGhhdAotLSAgICBpZiAoX3Jlc3VsdE9sZEZsb3cg PT0gV2ViVmlld0Zsb3cpIHsKLS0gICAgICAgIHJlc3VsdCA9IFdlYlZpZXdGbG93OwotKyAgICAg ICAgcmVzdWx0ID0gQmFzaWM7Ci0gICAgIH0KLSAKLSAgICAgcUNJbmZvKGxjRGV0ZXJtaW5lQXV0 aFR5cGVKb2IpIDw8ICJBdXRoIHR5cGUgZm9yIiA8PCBfYWNjb3VudC0+ZGF2VXJsKCkgPDwgImlz IiA8PCByZXN1bHQ7Ci1kaWZmIC0tZ2l0IGEvc3JjL2xpYnN5bmMvbmV0d29ya2pvYnMuaCBiL3Ny Yy9saWJzeW5jL25ldHdvcmtqb2JzLmgKLWluZGV4IDc2NTIwNGMuLmYzYWI4NTMgMTAwNjQ0Ci0t LS0gYS9zcmMvbGlic3luYy9uZXR3b3Jram9icy5oCi0rKysgYi9zcmMvbGlic3luYy9uZXR3b3Jr am9icy5oCi1AQCAtNDEyLDggKzQxMiw2IEBAIHB1YmxpYzoKLSAgICAgICAgIEJhc2ljLCAvLyBh bHNvIHRoZSBjYXRjaC1hbGwgZmFsbGJhY2sgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IHJl YXNvbnMKLSAgICAgICAgIE9BdXRoLAotICAgICAgICAgU2hpYmJvbGV0aCwKLS0gICAgICAgIFdl YlZpZXdGbG93LAotLSAgICAgICAgTG9naW5GbG93VjIKLSAgICAgfTsKLSAKLSAgICAgZXhwbGlj aXQgRGV0ZXJtaW5lQXV0aFR5cGVKb2IoQWNjb3VudFB0ciBhY2NvdW50LCBRT2JqZWN0ICpwYXJl bnQgPSBudWxscHRyKTsKLUBAIC00MjcsMTAgKzQyNSw4IEBAIHByaXZhdGU6Ci0gICAgIEFjY291 bnRQdHIgX2FjY291bnQ7Ci0gICAgIEF1dGhUeXBlIF9yZXN1bHRHZXQgPSBCYXNpYzsKLSAgICAg QXV0aFR5cGUgX3Jlc3VsdFByb3BmaW5kID0gQmFzaWM7Ci0tICAgIEF1dGhUeXBlIF9yZXN1bHRP bGRGbG93ID0gQmFzaWM7Ci0gICAgIGJvb2wgX2dldERvbmUgPSBmYWxzZTsKLSAgICAgYm9vbCBf cHJvcGZpbmREb25lID0gZmFsc2U7Ci0tICAgIGJvb2wgX29sZEZsb3dEb25lID0gZmFsc2U7Ci0g fTsKLSAKLSAvKioKLS0tIAotMi4yNS4wCi0KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbmV4dGNsb3Vk LWNsaWVudC9wYXRjaGVzL25vLXdlYmVuZ2luZS1zdXBwb3J0LnBhdGNoIGIvc3JjcGtncy9uZXh0 Y2xvdWQtY2xpZW50L3BhdGNoZXMvbm8td2ViZW5naW5lLXN1cHBvcnQucGF0Y2gKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjgyNGMzMGQ0YzFhCi0tLSAvZGV2L251bGwK KysrIGIvc3JjcGtncy9uZXh0Y2xvdWQtY2xpZW50L3BhdGNoZXMvbm8td2ViZW5naW5lLXN1cHBv cnQucGF0Y2gKQEAgLTAsMCArMSwzNjggQEAKK3NvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL25l eHRjbG91ZC9kZXNrdG9wL3B1bGwvMjIwNC8KKypwYXJ0aWFsKiBwaWNrIHNpbmNlIDJuZCBjb21t aXQgMWY1NzdlNSBpcyBicm9rZW4gKCJUcnkgdG8gcHJlc2VydmUgZmxvdzIiKQorCitGcm9tIDVi NmJkZTFjMjA2YzliMWVkYjA0NzJhODIzNzc2YmRjOTE0ODhkYjMgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCitGcm9tOiBNYXggUmVlcyA8bWF4Y3JlZXNAbWUuY29tPgorRGF0ZTogU3VuLCAyMyBG ZWIgMjAyMCAyMzowOToyOSAtMDYwMAorU3ViamVjdDogW1BBVENIIDEvMl0gQWRkIHN1cHBvcnQg Zm9yIGNvbXBpbGluZyB3aXRob3V0IFF0V2ViRW5naW5lICh3ZWJmbG93IC8KKyBmbG93MiBzdXBw b3J0KQorCitTaWduZWQtb2ZmLWJ5OiBNYXggUmVlcyA8bWF4Y3JlZXNAbWUuY29tPgorU2lnbmVk LW9mZi1ieTogdGhlb3ZhIDx0aGVvdmFAbWVtYmVyLmZzZi5vcmc+CistLS0KKyBDTWFrZUxpc3Rz LnR4dCAgICAgICAgICAgICAgICAgICAgICAgfCAgNyArKysrKysrCisgc3JjL0NNYWtlTGlzdHMu dHh0ICAgICAgICAgICAgICAgICAgIHwgIDYgKysrKystCisgc3JjL2d1aS9DTWFrZUxpc3RzLnR4 dCAgICAgICAgICAgICAgIHwgMjQgKysrKysrKysrKysrKystLS0tLS0tCisgc3JjL2d1aS9hY2Nv dW50bWFuYWdlci5jcHAgICAgICAgICAgIHwgIDIgKysKKyBzcmMvZ3VpL2NyZWRzL2NyZWRlbnRp YWxzZmFjdG9yeS5jcHAgfCAgNCArKysrCisgc3JjL2d1aS93aXphcmQvb3duY2xvdWRzZXR1cHBh Z2UuY3BwIHwgIDQgKysrKworIHNyYy9ndWkvd2l6YXJkL293bmNsb3Vkd2l6YXJkLmNwcCAgICB8 IDMxICsrKysrKysrKysrKysrKysrKysrKysrKysrKy0KKyBzcmMvZ3VpL3dpemFyZC9vd25jbG91 ZHdpemFyZC5oICAgICAgfCAgNiArKysrKysKKyBzcmMvbGlic3luYy9uZXR3b3Jram9icy5jcHAg ICAgICAgICAgfCAgOCArKysrKysrCisgOSBmaWxlcyBjaGFuZ2VkLCA4MiBpbnNlcnRpb25zKCsp LCAxMCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL0NNYWtlTGlzdHMudHh0IGIvQ01ha2VM aXN0cy50eHQKK2luZGV4IDVkZjIzODgzOC4uNGEzMzNkYmRkIDEwMDY0NAorLS0tIGEvQ01ha2VM aXN0cy50eHQKKysrKyBiL0NNYWtlTGlzdHMudHh0CitAQCAtMTc2LDYgKzE3NiwxMyBAQCBpZihO T19TSElCQk9MRVRIKQorICAgIGFkZF9kZWZpbml0aW9ucygtRE5PX1NISUJCT0xFVEg9MSkKKyBl bmRpZigpCisgCisrIyBEaXNhYmxlIHdlYmVuZ2luZS1iYXNlZCBjb21wb25lbnRzCisrb3B0aW9u KE5PX1dFQkVOR0lORSAiQnVpbGQgd2l0aG91dCB3ZWJmbG93IC8gZmxvdzIgc3VwcG9ydCBzbyBR dFdlYkVuZ2luZSBpc24ndCByZXF1aXJlZCIgT0ZGKQorK2lmKE5PX1dFQkVOR0lORSkKKysgICBt ZXNzYWdlKCJDb21waWxpbmcgd2l0aG91dCB3ZWJlbmdpbmUiKQorKyAgIGFkZF9kZWZpbml0aW9u cygtRE5PX1dFQkVOR0lORT0xKQorK2VuZGlmKCkKKysKKyBpZihBUFBMRSkKKyAgIHNldCggU09D S0VUQVBJX1RFQU1fSURFTlRJRklFUl9QUkVGSVggIiIgQ0FDSEUgU1RSSU5HICJTb2NrZXRBcGkg cHJlZml4IChpbmNsdWRpbmcgYSBmb2xsb3dpbmcgZG90KSB0aGF0IG11c3QgbWF0Y2ggdGhlIGNv ZGVzaWduIGtleSdzIFRlYW1JZGVudGlmaWVyL09yZ2FuaXphdGlvbmFsIFVuaXQiICkKKyBlbmRp ZigpCitkaWZmIC0tZ2l0IGEvc3JjL0NNYWtlTGlzdHMudHh0IGIvc3JjL0NNYWtlTGlzdHMudHh0 CitpbmRleCBhNzllZGZjZmIuLmM4ZWYxMTRhNCAxMDA2NDQKKy0tLSBhL3NyYy9DTWFrZUxpc3Rz LnR4dAorKysrIGIvc3JjL0NNYWtlTGlzdHMudHh0CitAQCAtNCw3ICs0LDExIEBAIGVuZGlmKCkK KyAKKyBzZXQoc3luY2xpYl9OQU1FICR7QVBQTElDQVRJT05fRVhFQ1VUQUJMRX1zeW5jKQorIAor LWZpbmRfcGFja2FnZShRdDUgNS4xMiBDT01QT05FTlRTIENvcmUgTmV0d29yayBYbWwgQ29uY3Vy cmVudCBXZWJFbmdpbmVXaWRnZXRzIFdlYkVuZ2luZSBSRVFVSVJFRCkKKytmaW5kX3BhY2thZ2Uo UXQ1IDUuMTIgQ09NUE9ORU5UUyBDb3JlIE5ldHdvcmsgWG1sIENvbmN1cnJlbnQgUkVRVUlSRUQp CisrCisraWYoTk9UIE5PX1dFQkVOR0lORSkKKysgICAgZmluZF9wYWNrYWdlKFF0NSA1LjEyIENP TVBPTkVOVFMgV2ViRW5naW5lV2lkZ2V0cyBXZWJFbmdpbmUgUkVRVUlSRUQpCisrZW5kaWYoKQor IAorIGlmKE5PVCBUT0tFTl9BVVRIX09OTFkpCisgICAgIGZpbmRfcGFja2FnZShRdDVLZXljaGFp biBSRVFVSVJFRCkKK2RpZmYgLS1naXQgYS9zcmMvZ3VpL0NNYWtlTGlzdHMudHh0IGIvc3JjL2d1 aS9DTWFrZUxpc3RzLnR4dAoraW5kZXggMmYxZTk5ZTJiLi5jNWJlMDBjMzcgMTAwNjQ0CistLS0g YS9zcmMvZ3VpL0NNYWtlTGlzdHMudHh0CisrKysgYi9zcmMvZ3VpL0NNYWtlTGlzdHMudHh0CitA QCAtMTExLDIzICsxMTEsMTYgQEAgc2V0KGNsaWVudF9TUkNTCisgICAgIGNyZWRzL2NyZWRlbnRp YWxzZmFjdG9yeS5jcHAKKyAgICAgY3JlZHMvaHR0cGNyZWRlbnRpYWxzZ3VpLmNwcAorICAgICBj cmVkcy9vYXV0aC5jcHAKKy0gICAgY3JlZHMvZmxvdzJhdXRoLmNwcAorLSAgICBjcmVkcy93ZWJm bG93Y3JlZGVudGlhbHMuY3BwCistICAgIGNyZWRzL3dlYmZsb3djcmVkZW50aWFsc2RpYWxvZy5j cHAKKyAgICAgd2l6YXJkL3Bvc3RmaXhsaW5lZWRpdC5jcHAKKyAgICAgd2l6YXJkL2Fic3RyYWN0 Y3JlZHN3aXphcmRwYWdlLmNwcAorICAgICB3aXphcmQvb3duY2xvdWRhZHZhbmNlZHNldHVwcGFn ZS5jcHAKKyAgICAgd2l6YXJkL293bmNsb3VkY29ubmVjdGlvbm1ldGhvZGRpYWxvZy5jcHAKKyAg ICAgd2l6YXJkL293bmNsb3VkaHR0cGNyZWRzcGFnZS5jcHAKKyAgICAgd2l6YXJkL293bmNsb3Vk b2F1dGhjcmVkc3BhZ2UuY3BwCistICAgIHdpemFyZC9mbG93MmF1dGhjcmVkc3BhZ2UuY3BwCist ICAgIHdpemFyZC9mbG93MmF1dGh3aWRnZXQuY3BwCisgICAgIHdpemFyZC9vd25jbG91ZHNldHVw cGFnZS5jcHAKKyAgICAgd2l6YXJkL293bmNsb3Vkd2l6YXJkY29tbW9uLmNwcAorICAgICB3aXph cmQvb3duY2xvdWR3aXphcmQuY3BwCisgICAgIHdpemFyZC9vd25jbG91ZHdpemFyZHJlc3VsdHBh Z2UuY3BwCistICAgIHdpemFyZC93ZWJ2aWV3cGFnZS5jcHAKKy0gICAgd2l6YXJkL3dlYnZpZXcu Y3BwCisgICAgIHdpemFyZC9zbGlkZXNob3cuY3BwCisgKQorIAorQEAgLTE0OCw2ICsxNDEsMTgg QEAgSUYoQlVJTERfVVBEQVRFUikKKyAgICAgKQorIGVuZGlmKCkKKyAKKytJRihOT1QgTk9fV0VC RU5HSU5FKQorKyAgICBsaXN0KEFQUEVORCBjbGllbnRfU1JDUworKyAgICAgICAgY3JlZHMvZmxv dzJhdXRoLmNwcAorKyAgICAgICAgY3JlZHMvd2ViZmxvd2NyZWRlbnRpYWxzLmNwcAorKyAgICAg ICAgY3JlZHMvd2ViZmxvd2NyZWRlbnRpYWxzZGlhbG9nLmNwcAorKyAgICAgICAgd2l6YXJkL2Zs b3cyYXV0aGNyZWRzcGFnZS5jcHAKKysgICAgICAgIHdpemFyZC9mbG93MmF1dGh3aWRnZXQuY3Bw CisrICAgICAgICB3aXphcmQvd2Vidmlld3BhZ2UuY3BwCisrICAgICAgICB3aXphcmQvd2Vidmll dy5jcHAKKysgICAgKQorK2VuZGlmKCkKKysKKyBJRiggQVBQTEUgKQorICAgICBsaXN0KEFQUEVO RCBjbGllbnRfU1JDUyBjb2NvYWluaXRpYWxpemVyX21hYy5tbSkKKyAgICAgbGlzdChBUFBFTkQg Y2xpZW50X1NSQ1Mgc29ja2V0YXBpc29ja2V0X21hYy5tbSkKK0BAIC0zMTQsOCArMzE5LDExIEBA IHNldF90YXJnZXRfcHJvcGVydGllcyggJHtBUFBMSUNBVElPTl9FWEVDVVRBQkxFfSBQUk9QRVJU SUVTCisgc2V0X3RhcmdldF9wcm9wZXJ0aWVzKCAke0FQUExJQ0FUSU9OX0VYRUNVVEFCTEV9IFBS T1BFUlRJRVMKKyAgICAgICAgIElOU1RBTExfUlBBVEggIiR7Q01BS0VfSU5TVEFMTF9QUkVGSVh9 LyR7TElCX0lOU1RBTExfRElSfS8ke0FQUExJQ0FUSU9OX0VYRUNVVEFCTEV9OyR7Q01BS0VfSU5T VEFMTF9SUEFUSH0iICkKKyAKKy10YXJnZXRfbGlua19saWJyYXJpZXMoICR7QVBQTElDQVRJT05f RVhFQ1VUQUJMRX0gUXQ1OjpXaWRnZXRzIFF0NTo6U3ZnIFF0NTo6TmV0d29yayBRdDU6OlhtbCBR dDU6OlFtbCBRdDU6OlF1aWNrIFF0NTo6UXVpY2tDb250cm9sczIgUXQ1OjpXZWJFbmdpbmVXaWRn ZXRzKQorK3RhcmdldF9saW5rX2xpYnJhcmllcyggJHtBUFBMSUNBVElPTl9FWEVDVVRBQkxFfSBR dDU6OldpZGdldHMgUXQ1OjpTdmcgUXQ1OjpOZXR3b3JrIFF0NTo6WG1sIFF0NTo6UW1sIFF0NTo6 UXVpY2sgUXQ1OjpRdWlja0NvbnRyb2xzMikKKyB0YXJnZXRfbGlua19saWJyYXJpZXMoICR7QVBQ TElDQVRJT05fRVhFQ1VUQUJMRX0gJHtzeW5jbGliX05BTUV9ICkKKytJRihOT1QgTk9fV0VCRU5H SU5FKQorKyAgICB0YXJnZXRfbGlua19saWJyYXJpZXMoICR7QVBQTElDQVRJT05fRVhFQ1VUQUJM RX0gUXQ1OjpXZWJFbmdpbmVXaWRnZXRzICkKKytlbmRpZigpCisgSUYoQlVJTERfVVBEQVRFUikK KyAgICAgdGFyZ2V0X2xpbmtfbGlicmFyaWVzKCAke0FQUExJQ0FUSU9OX0VYRUNVVEFCTEV9IHVw ZGF0ZXIgKQorIGVuZGlmKCkKK2RpZmYgLS1naXQgYS9zcmMvZ3VpL2FjY291bnRtYW5hZ2VyLmNw cCBiL3NyYy9ndWkvYWNjb3VudG1hbmFnZXIuY3BwCitpbmRleCAzNGM0Y2JjM2UuLjM3MmM1MmY0 NCAxMDA2NDQKKy0tLSBhL3NyYy9ndWkvYWNjb3VudG1hbmFnZXIuY3BwCisrKysgYi9zcmMvZ3Vp L2FjY291bnRtYW5hZ2VyLmNwcAorQEAgLTI1Myw2ICsyNTMsNyBAQCBBY2NvdW50UHRyIEFjY291 bnRNYW5hZ2VyOjpsb2FkQWNjb3VudEhlbHBlcihRU2V0dGluZ3MgJnNldHRpbmdzKQorICAgICAg ICAgYWNjLT5zZXRVcmwodXJsQ29uZmlnLnRvVXJsKCkpOworICAgICB9CisgCisrI2lmbmRlZiBO T19XRUJFTkdJTkUKKyAgICAgLy8gTWlncmF0ZSB0byB3ZWJmbG93CisgICAgIGlmIChhdXRoVHlw ZSA9PSBRTGF0aW4xU3RyaW5nKCJodHRwIikpIHsKKyAgICAgICAgIGF1dGhUeXBlID0gIndlYmZs b3ciOworQEAgLTI2Niw2ICsyNjcsNyBAQCBBY2NvdW50UHRyIEFjY291bnRNYW5hZ2VyOjpsb2Fk QWNjb3VudEhlbHBlcihRU2V0dGluZ3MgJnNldHRpbmdzKQorICAgICAgICAgICAgIHNldHRpbmdz LnJlbW92ZShrZXkpOworICAgICAgICAgfQorICAgICB9CisrI2VuZGlmCisgCisgICAgIHFDSW5m byhsY0FjY291bnRNYW5hZ2VyKSA8PCAiQWNjb3VudCBmb3IiIDw8IGFjYy0+dXJsKCkgPDwgInVz aW5nIGF1dGggdHlwZSIgPDwgYXV0aFR5cGU7CisgCitkaWZmIC0tZ2l0IGEvc3JjL2d1aS9jcmVk cy9jcmVkZW50aWFsc2ZhY3RvcnkuY3BwIGIvc3JjL2d1aS9jcmVkcy9jcmVkZW50aWFsc2ZhY3Rv cnkuY3BwCitpbmRleCA2MDYyZjcwZWIuLjcyMzE5NmQwOCAxMDA2NDQKKy0tLSBhL3NyYy9ndWkv Y3JlZHMvY3JlZGVudGlhbHNmYWN0b3J5LmNwcAorKysrIGIvc3JjL2d1aS9jcmVkcy9jcmVkZW50 aWFsc2ZhY3RvcnkuY3BwCitAQCAtMjEsNyArMjEsOSBAQAorICNpZm5kZWYgTk9fU0hJQkJPTEVU SAorICNpbmNsdWRlICJjcmVkcy9zaGliYm9sZXRoY3JlZGVudGlhbHMuaCIKKyAjZW5kaWYKKysj aWZuZGVmIE5PX1dFQkVOR0lORQorICNpbmNsdWRlICJjcmVkcy93ZWJmbG93Y3JlZGVudGlhbHMu aCIKKysjZW5kaWYKKyAKKyBuYW1lc3BhY2UgT0NDIHsKKyAKK0BAIC00MCw4ICs0MiwxMCBAQCBu YW1lc3BhY2UgQ3JlZGVudGlhbHNGYWN0b3J5IHsKKyAgICAgICAgIH0gZWxzZSBpZiAodHlwZSA9 PSAic2hpYmJvbGV0aCIpIHsKKyAgICAgICAgICAgICByZXR1cm4gbmV3IFNoaWJib2xldGhDcmVk ZW50aWFsczsKKyAjZW5kaWYKKysjaWZuZGVmIE5PX1dFQkVOR0lORQorICAgICAgICAgfSBlbHNl IGlmICh0eXBlID09ICJ3ZWJmbG93IikgeworICAgICAgICAgICAgIHJldHVybiBuZXcgV2ViRmxv d0NyZWRlbnRpYWxzOworKyNlbmRpZgorICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICBx Q1dhcm5pbmcobGNHdWlDcmVkZW50aWFscywgIlVua25vd24gY3JlZGVudGlhbHMgdHlwZTogJXMi LCBxUHJpbnRhYmxlKHR5cGUpKTsKKyAgICAgICAgICAgICByZXR1cm4gbmV3IER1bW15Q3JlZGVu dGlhbHM7CitkaWZmIC0tZ2l0IGEvc3JjL2d1aS93aXphcmQvb3duY2xvdWRzZXR1cHBhZ2UuY3Bw IGIvc3JjL2d1aS93aXphcmQvb3duY2xvdWRzZXR1cHBhZ2UuY3BwCitpbmRleCA3MWYxYzE5Yzku LmQ5OTcxMjVhOCAxMDA2NDQKKy0tLSBhL3NyYy9ndWkvd2l6YXJkL293bmNsb3Vkc2V0dXBwYWdl LmNwcAorKysrIGIvc3JjL2d1aS93aXphcmQvb3duY2xvdWRzZXR1cHBhZ2UuY3BwCitAQCAtMTM5 LDcgKzEzOSwxMSBAQCB2b2lkIE93bmNsb3VkU2V0dXBQYWdlOjpzbG90TG9naW4oKQorIHZvaWQg T3duY2xvdWRTZXR1cFBhZ2U6OnNsb3RHb3RvUHJvdmlkZXJMaXN0KCkKKyB7CisgICAgIF9vY1dp emFyZC0+c2V0UmVnaXN0cmF0aW9uKHRydWUpOworKyNpZm5kZWYgTk9fV0VCRU5HSU5FCisgICAg IF9vY1dpemFyZC0+c2V0QXV0aFR5cGUoRGV0ZXJtaW5lQXV0aFR5cGVKb2I6OkF1dGhUeXBlOjpX ZWJWaWV3Rmxvdyk7CisrI2Vsc2UKKysgICAgX29jV2l6YXJkLT5zZXRBdXRoVHlwZShEZXRlcm1p bmVBdXRoVHlwZUpvYjo6QXV0aFR5cGU6OkJhc2ljKTsKKysjZW5kaWYKKyAgICAgX2F1dGhUeXBl S25vd24gPSB0cnVlOworICAgICBfY2hlY2tpbmcgPSBmYWxzZTsKKyAgICAgZW1pdCBjb21wbGV0 ZUNoYW5nZWQoKTsKK2RpZmYgLS1naXQgYS9zcmMvZ3VpL3dpemFyZC9vd25jbG91ZHdpemFyZC5j cHAgYi9zcmMvZ3VpL3dpemFyZC9vd25jbG91ZHdpemFyZC5jcHAKK2luZGV4IDkxMjIyMmRjYS4u NDYzYzE5ZDQ4IDEwMDY0NAorLS0tIGEvc3JjL2d1aS93aXphcmQvb3duY2xvdWR3aXphcmQuY3Bw CisrKysgYi9zcmMvZ3VpL3dpemFyZC9vd25jbG91ZHdpemFyZC5jcHAKK0BAIC0yNyw4ICsyNywx MCBAQAorICNlbmRpZgorICNpbmNsdWRlICJ3aXphcmQvb3duY2xvdWRhZHZhbmNlZHNldHVwcGFn ZS5oIgorICNpbmNsdWRlICJ3aXphcmQvb3duY2xvdWR3aXphcmRyZXN1bHRwYWdlLmgiCisrI2lm bmRlZiBOT19XRUJFTkdJTkUKKyAjaW5jbHVkZSAid2l6YXJkL3dlYnZpZXdwYWdlLmgiCisgI2lu Y2x1ZGUgIndpemFyZC9mbG93MmF1dGhjcmVkc3BhZ2UuaCIKKysjZW5kaWYKKyAKKyAjaW5jbHVk ZSAiUVByb2dyZXNzSW5kaWNhdG9yLmgiCisgCitAQCAtNTAsMjIgKzUyLDMwIEBAIE93bmNsb3Vk V2l6YXJkOjpPd25jbG91ZFdpemFyZChRV2lkZ2V0ICpwYXJlbnQpCisgI2lmbmRlZiBOT19TSElC Qk9MRVRICisgICAgICwgX3NoaWJib2xldGhDcmVkc1BhZ2UobmV3IE93bmNsb3VkU2hpYmJvbGV0 aENyZWRzUGFnZSkKKyAjZW5kaWYKKysjaWZuZGVmIE5PX1dFQkVOR0lORQorICAgICAsIF9mbG93 MkNyZWRzUGFnZShuZXcgRmxvdzJBdXRoQ3JlZHNQYWdlKQorKyNlbmRpZgorICAgICAsIF9hZHZh bmNlZFNldHVwUGFnZShuZXcgT3duY2xvdWRBZHZhbmNlZFNldHVwUGFnZSkKKyAgICAgLCBfcmVz dWx0UGFnZShuZXcgT3duY2xvdWRXaXphcmRSZXN1bHRQYWdlKQorKyNpZm5kZWYgTk9fV0VCRU5H SU5FCisgICAgICwgX3dlYlZpZXdQYWdlKG5ldyBXZWJWaWV3UGFnZSh0aGlzKSkKKysjZW5kaWYK KyB7CisgICAgIHNldFdpbmRvd0ZsYWdzKHdpbmRvd0ZsYWdzKCkgJiB+UXQ6OldpbmRvd0NvbnRl eHRIZWxwQnV0dG9uSGludCk7CisgICAgIHNldFBhZ2UoV2l6YXJkQ29tbW9uOjpQYWdlX1NlcnZl clNldHVwLCBfc2V0dXBQYWdlKTsKKyAgICAgc2V0UGFnZShXaXphcmRDb21tb246OlBhZ2VfSHR0 cENyZWRzLCBfaHR0cENyZWRzUGFnZSk7CisgICAgIHNldFBhZ2UoV2l6YXJkQ29tbW9uOjpQYWdl X09BdXRoQ3JlZHMsIF9icm93c2VyQ3JlZHNQYWdlKTsKKysjaWZuZGVmIE5PX1dFQkVOR0lORQor ICAgICBzZXRQYWdlKFdpemFyZENvbW1vbjo6UGFnZV9GbG93MkF1dGhDcmVkcywgX2Zsb3cyQ3Jl ZHNQYWdlKTsKKysjZW5kaWYKKyAjaWZuZGVmIE5PX1NISUJCT0xFVEgKKyAgICAgc2V0UGFnZShX aXphcmRDb21tb246OlBhZ2VfU2hpYmJvbGV0aENyZWRzLCBfc2hpYmJvbGV0aENyZWRzUGFnZSk7 CisgI2VuZGlmCisgICAgIHNldFBhZ2UoV2l6YXJkQ29tbW9uOjpQYWdlX0FkdmFuY2VkU2V0dXAs IF9hZHZhbmNlZFNldHVwUGFnZSk7CisgICAgIHNldFBhZ2UoV2l6YXJkQ29tbW9uOjpQYWdlX1Jl c3VsdCwgX3Jlc3VsdFBhZ2UpOworKyNpZm5kZWYgTk9fV0VCRU5HSU5FCisgICAgIHNldFBhZ2Uo V2l6YXJkQ29tbW9uOjpQYWdlX1dlYlZpZXcsIF93ZWJWaWV3UGFnZSk7CisrI2VuZGlmCisgCisg ICAgIGNvbm5lY3QodGhpcywgJlFEaWFsb2c6OmZpbmlzaGVkLCB0aGlzLCAmT3duY2xvdWRXaXph cmQ6OmJhc2ljU2V0dXBGaW5pc2hlZCk7CisgCitAQCAtNzcsMTEgKzg3LDE1IEBAIE93bmNsb3Vk V2l6YXJkOjpPd25jbG91ZFdpemFyZChRV2lkZ2V0ICpwYXJlbnQpCisgICAgIGNvbm5lY3QoX3Nl dHVwUGFnZSwgJk93bmNsb3VkU2V0dXBQYWdlOjpkZXRlcm1pbmVBdXRoVHlwZSwgdGhpcywgJk93 bmNsb3VkV2l6YXJkOjpkZXRlcm1pbmVBdXRoVHlwZSk7CisgICAgIGNvbm5lY3QoX2h0dHBDcmVk c1BhZ2UsICZPd25jbG91ZEh0dHBDcmVkc1BhZ2U6OmNvbm5lY3RUb09DVXJsLCB0aGlzLCAmT3du Y2xvdWRXaXphcmQ6OmNvbm5lY3RUb09DVXJsKTsKKyAgICAgY29ubmVjdChfYnJvd3NlckNyZWRz UGFnZSwgJk93bmNsb3VkT0F1dGhDcmVkc1BhZ2U6OmNvbm5lY3RUb09DVXJsLCB0aGlzLCAmT3du Y2xvdWRXaXphcmQ6OmNvbm5lY3RUb09DVXJsKTsKKysjaWZuZGVmIE5PX1dFQkVOR0lORQorICAg ICBjb25uZWN0KF9mbG93MkNyZWRzUGFnZSwgJkZsb3cyQXV0aENyZWRzUGFnZTo6Y29ubmVjdFRv T0NVcmwsIHRoaXMsICZPd25jbG91ZFdpemFyZDo6Y29ubmVjdFRvT0NVcmwpOworKyNlbmRpZgor ICNpZm5kZWYgTk9fU0hJQkJPTEVUSAorICAgICBjb25uZWN0KF9zaGliYm9sZXRoQ3JlZHNQYWdl LCAmT3duY2xvdWRTaGliYm9sZXRoQ3JlZHNQYWdlOjpjb25uZWN0VG9PQ1VybCwgdGhpcywgJk93 bmNsb3VkV2l6YXJkOjpjb25uZWN0VG9PQ1VybCk7CisgI2VuZGlmCisrI2lmbmRlZiBOT19XRUJF TkdJTkUKKyAgICAgY29ubmVjdChfd2ViVmlld1BhZ2UsICZXZWJWaWV3UGFnZTo6Y29ubmVjdFRv T0NVcmwsIHRoaXMsICZPd25jbG91ZFdpemFyZDo6Y29ubmVjdFRvT0NVcmwpOworKyNlbmRpZgor ICAgICBjb25uZWN0KF9hZHZhbmNlZFNldHVwUGFnZSwgJk93bmNsb3VkQWR2YW5jZWRTZXR1cFBh Z2U6OmNyZWF0ZUxvY2FsQW5kUmVtb3RlRm9sZGVycywKKyAgICAgICAgIHRoaXMsICZPd25jbG91 ZFdpemFyZDo6Y3JlYXRlTG9jYWxBbmRSZW1vdGVGb2xkZXJzKTsKKyAgICAgY29ubmVjdCh0aGlz LCAmUVdpemFyZDo6Y3VzdG9tQnV0dG9uQ2xpY2tlZCwgdGhpcywgJk93bmNsb3VkV2l6YXJkOjpz a2lwRm9sZGVyQ29uZmlndXJhdGlvbik7CitAQCAtMTAzLDEyICsxMTcsMTYgQEAgT3duY2xvdWRX aXphcmQ6Ok93bmNsb3VkV2l6YXJkKFFXaWRnZXQgKnBhcmVudCkKKyAgICAgLy8gQ29ubmVjdCBz dHlsZUNoYW5nZWQgZXZlbnRzIHRvIG91ciB3aWRnZXRzLCBzbyB0aGV5IGNhbiBhZGFwdCAoRGFy ay0vTGlnaHQtTW9kZSBzd2l0Y2hpbmcpCisgICAgIGNvbm5lY3QodGhpcywgJk93bmNsb3VkV2l6 YXJkOjpzdHlsZUNoYW5nZWQsIF9zZXR1cFBhZ2UsICZPd25jbG91ZFNldHVwUGFnZTo6c2xvdFN0 eWxlQ2hhbmdlZCk7CisgICAgIGNvbm5lY3QodGhpcywgJk93bmNsb3VkV2l6YXJkOjpzdHlsZUNo YW5nZWQsIF9hZHZhbmNlZFNldHVwUGFnZSwgJk93bmNsb3VkQWR2YW5jZWRTZXR1cFBhZ2U6OnNs b3RTdHlsZUNoYW5nZWQpOworKyNpZm5kZWYgTk9fV0VCRU5HSU5FCisgICAgIGNvbm5lY3QodGhp cywgJk93bmNsb3VkV2l6YXJkOjpzdHlsZUNoYW5nZWQsIF9mbG93MkNyZWRzUGFnZSwgJkZsb3cy QXV0aENyZWRzUGFnZTo6c2xvdFN0eWxlQ2hhbmdlZCk7CisrI2VuZGlmCisgCisgICAgIGN1c3Rv bWl6ZVN0eWxlKCk7CisgCisrI2lmbmRlZiBOT19XRUJFTkdJTkUKKyAgICAgLy8gYWxsb3cgRmxv dzIgcGFnZSB0byBwb2xsIG9uIHdpbmRvdyBhY3RpdmF0aW9uCisgICAgIGNvbm5lY3QodGhpcywg Jk93bmNsb3VkV2l6YXJkOjpvbkFjdGl2YXRlLCBfZmxvdzJDcmVkc1BhZ2UsICZGbG93MkF1dGhD cmVkc1BhZ2U6OnNsb3RQb2xsTm93KTsKKysjZW5kaWYKKyB9CisgCisgdm9pZCBPd25jbG91ZFdp emFyZDo6c2V0QWNjb3VudChBY2NvdW50UHRyIGFjY291bnQpCitAQCAtMTc3LDkgKzE5NSwxMSBA QCB2b2lkIE93bmNsb3VkV2l6YXJkOjpzdWNjZXNzZnVsU3RlcCgpCisgICAgICAgICBfYnJvd3Nl ckNyZWRzUGFnZS0+c2V0Q29ubmVjdGVkKCk7CisgICAgICAgICBicmVhazsKKyAKKysjaWZuZGVm IE5PX1dFQkVOR0lORQorICAgICBjYXNlIFdpemFyZENvbW1vbjo6UGFnZV9GbG93MkF1dGhDcmVk czoKKyAgICAgICAgIF9mbG93MkNyZWRzUGFnZS0+c2V0Q29ubmVjdGVkKCk7CisgICAgICAgICBi cmVhazsKKysjZW5kaWYKKyAKKyAjaWZuZGVmIE5PX1NISUJCT0xFVEgKKyAgICAgY2FzZSBXaXph cmRDb21tb246OlBhZ2VfU2hpYmJvbGV0aENyZWRzOgorQEAgLTE4Nyw5ICsyMDcsMTEgQEAgdm9p ZCBPd25jbG91ZFdpemFyZDo6c3VjY2Vzc2Z1bFN0ZXAoKQorICAgICAgICAgYnJlYWs7CisgI2Vu ZGlmCisgCisrI2lmbmRlZiBOT19XRUJFTkdJTkUKKyAgICAgY2FzZSBXaXphcmRDb21tb246OlBh Z2VfV2ViVmlldzoKKyAgICAgICAgIF93ZWJWaWV3UGFnZS0+c2V0Q29ubmVjdGVkKCk7CisgICAg ICAgICBicmVhazsKKysjZW5kaWYKKyAKKyAgICAgY2FzZSBXaXphcmRDb21tb246OlBhZ2VfQWR2 YW5jZWRTZXR1cDoKKyAgICAgICAgIF9hZHZhbmNlZFNldHVwUGFnZS0+ZGlyZWN0b3JpZXNDcmVh dGVkKCk7CitAQCAtMjE0LDEwICsyMzYsMTIgQEAgdm9pZCBPd25jbG91ZFdpemFyZDo6c2V0QXV0 aFR5cGUoRGV0ZXJtaW5lQXV0aFR5cGVKb2I6OkF1dGhUeXBlIHR5cGUpCisgI2VuZGlmCisgICAg ICAgICBpZiAodHlwZSA9PSBEZXRlcm1pbmVBdXRoVHlwZUpvYjo6T0F1dGgpIHsKKyAgICAgICAg IF9jcmVkZW50aWFsc1BhZ2UgPSBfYnJvd3NlckNyZWRzUGFnZTsKKysjaWZuZGVmIE5PX1dFQkVO R0lORQorICAgICB9IGVsc2UgaWYgKHR5cGUgPT0gRGV0ZXJtaW5lQXV0aFR5cGVKb2I6OkxvZ2lu Rmxvd1YyKSB7CisgICAgICAgICBfY3JlZGVudGlhbHNQYWdlID0gX2Zsb3cyQ3JlZHNQYWdlOwor ICAgICB9IGVsc2UgaWYgKHR5cGUgPT0gRGV0ZXJtaW5lQXV0aFR5cGVKb2I6OldlYlZpZXdGbG93 KSB7CisgICAgICAgICBfY3JlZGVudGlhbHNQYWdlID0gX3dlYlZpZXdQYWdlOworKyNlbmRpZgor ICAgICB9IGVsc2UgeyAvLyB0cnkgQmFzaWMgYXV0aCBldmVuIGZvciAiVW5rbm93biIKKyAgICAg ICAgIF9jcmVkZW50aWFsc1BhZ2UgPSBfaHR0cENyZWRzUGFnZTsKKyAgICAgfQorQEAgLTI0Miw3 ICsyNjYsMTIgQEAgdm9pZCBPd25jbG91ZFdpemFyZDo6c2xvdEN1cnJlbnRQYWdlQ2hhbmdlZChp bnQgaWQpCisgICAgIH0KKyAKKyAgICAgc2V0T3B0aW9uKFFXaXphcmQ6OkhhdmVDdXN0b21CdXR0 b24xLCBpZCA9PSBXaXphcmRDb21tb246OlBhZ2VfQWR2YW5jZWRTZXR1cCk7CistICAgIGlmIChp ZCA9PSBXaXphcmRDb21tb246OlBhZ2VfQWR2YW5jZWRTZXR1cCAmJiAoX2NyZWRlbnRpYWxzUGFn ZSA9PSBfYnJvd3NlckNyZWRzUGFnZSB8fCBfY3JlZGVudGlhbHNQYWdlID09IF9mbG93MkNyZWRz UGFnZSkpIHsKKysgICAgaWYgKGlkID09IFdpemFyZENvbW1vbjo6UGFnZV9BZHZhbmNlZFNldHVw CisrICAgICAgICAgICAmJiAoX2NyZWRlbnRpYWxzUGFnZSA9PSBfYnJvd3NlckNyZWRzUGFnZQor KyNpZm5kZWYgTk9fV0VCRU5HSU5FCisrICAgICAgICAgICB8fCBfY3JlZGVudGlhbHNQYWdlID09 IF9mbG93MkNyZWRzUGFnZQorKyNlbmRpZgorKyAgICAgICAgICAgKSkgeworICAgICAgICAgLy8g Rm9yIE9BdXRoLCBkaXNhYmxlIHRoZSBiYWNrIGJ1dHRvbiBpbiB0aGUgUGFnZV9BZHZhbmNlZFNl dHVwIGJlY2F1c2Ugd2UgZG9uJ3Qgd2FudAorICAgICAgICAgLy8gdG8gcmUtb3BlbiB0aGUgYnJv d3Nlci4KKyAgICAgICAgIGJ1dHRvbihRV2l6YXJkOjpCYWNrQnV0dG9uKS0+c2V0RW5hYmxlZChm YWxzZSk7CitkaWZmIC0tZ2l0IGEvc3JjL2d1aS93aXphcmQvb3duY2xvdWR3aXphcmQuaCBiL3Ny Yy9ndWkvd2l6YXJkL293bmNsb3Vkd2l6YXJkLmgKK2luZGV4IGVlNjE2MWNhNS4uYzBlZTA2NDAz IDEwMDY0NAorLS0tIGEvc3JjL2d1aS93aXphcmQvb3duY2xvdWR3aXphcmQuaAorKysrIGIvc3Jj L2d1aS93aXphcmQvb3duY2xvdWR3aXphcmQuaAorQEAgLTM5LDggKzM5LDEwIEBAIGNsYXNzIE93 bmNsb3VkQWR2YW5jZWRTZXR1cFBhZ2U7CisgY2xhc3MgT3duY2xvdWRXaXphcmRSZXN1bHRQYWdl OworIGNsYXNzIEFic3RyYWN0Q3JlZGVudGlhbHM7CisgY2xhc3MgQWJzdHJhY3RDcmVkZW50aWFs c1dpemFyZFBhZ2U7CisrI2lmbmRlZiBOT19XRUJFTkdJTkUKKyBjbGFzcyBXZWJWaWV3UGFnZTsK KyBjbGFzcyBGbG93MkF1dGhDcmVkc1BhZ2U7CisrI2VuZGlmCisgCisgLyoqCisgICogQGJyaWVm IFRoZSBPd25jbG91ZFdpemFyZCBjbGFzcworQEAgLTExNCwxMSArMTE2LDE1IEBAIHByaXZhdGU6 CisgI2lmbmRlZiBOT19TSElCQk9MRVRICisgICAgIE93bmNsb3VkU2hpYmJvbGV0aENyZWRzUGFn ZSAqX3NoaWJib2xldGhDcmVkc1BhZ2U7CisgI2VuZGlmCisrI2lmbmRlZiBOT19XRUJFTkdJTkUK KyAgICAgRmxvdzJBdXRoQ3JlZHNQYWdlICpfZmxvdzJDcmVkc1BhZ2U7CisrI2VuZGlmCisgICAg IE93bmNsb3VkQWR2YW5jZWRTZXR1cFBhZ2UgKl9hZHZhbmNlZFNldHVwUGFnZTsKKyAgICAgT3du Y2xvdWRXaXphcmRSZXN1bHRQYWdlICpfcmVzdWx0UGFnZTsKKyAgICAgQWJzdHJhY3RDcmVkZW50 aWFsc1dpemFyZFBhZ2UgKl9jcmVkZW50aWFsc1BhZ2UgPSBudWxscHRyOworKyNpZm5kZWYgTk9f V0VCRU5HSU5FCisgICAgIFdlYlZpZXdQYWdlICpfd2ViVmlld1BhZ2U7CisrI2VuZGlmCisgCisg ICAgIFFTdHJpbmdMaXN0IF9zZXR1cExvZzsKKyAKK2RpZmYgLS1naXQgYS9zcmMvbGlic3luYy9u ZXR3b3Jram9icy5jcHAgYi9zcmMvbGlic3luYy9uZXR3b3Jram9icy5jcHAKK2luZGV4IGQ0MGNj ZWRlNC4uMDEyNWY3NzhiIDEwMDY0NAorLS0tIGEvc3JjL2xpYnN5bmMvbmV0d29ya2pvYnMuY3Bw CisrKysgYi9zcmMvbGlic3luYy9uZXR3b3Jram9icy5jcHAKK0BAIC05NjYsMTIgKzk2NiwyMCBA QCB2b2lkIERldGVybWluZUF1dGhUeXBlSm9iOjpjaGVja0FsbERvbmUoKQorIAorICAgICAvLyBX ZWJWaWV3RmxvdyA+IE9BdXRoID4gU2hpYiA+IEJhc2ljCisgICAgIGlmIChfYWNjb3VudC0+c2Vy dmVyVmVyc2lvbkludCgpID49IEFjY291bnQ6Om1ha2VTZXJ2ZXJWZXJzaW9uKDEyLCAwLCAwKSkg eworKyNpZm5kZWYgTk9fV0VCRU5HSU5FCisgICAgICAgICByZXN1bHQgPSBXZWJWaWV3RmxvdzsK KysjZWxzZQorKyAgICAgICAgcmVzdWx0ID0gQmFzaWM7CisrI2VuZGlmCisgICAgIH0KKyAKKyAg ICAgLy8gTG9naW5GbG93VjIgPiBXZWJWaWV3RmxvdyA+IE9BdXRoID4gU2hpYiA+IEJhc2ljCisg ICAgIGlmIChfYWNjb3VudC0+c2VydmVyVmVyc2lvbkludCgpID49IEFjY291bnQ6Om1ha2VTZXJ2 ZXJWZXJzaW9uKDE2LCAwLCAwKSkgeworKyNpZm5kZWYgTk9fV0VCRU5HSU5FCisgICAgICAgICBy ZXN1bHQgPSBMb2dpbkZsb3dWMjsKKysjZWxzZQorKyAgICAgICAgcmVzdWx0ID0gQmFzaWM7Cisr I2VuZGlmCisgICAgIH0KKyAKKyAgICAgLy8gSWYgd2UgZGV0ZXJtaW5lZCB0aGF0IHdlIG5lZWQg dGhlIHdlYnZpZXcgZmxvdyAoR1MgZm9yIGV4YW1wbGUpIHRoZW4gd2Ugc3dpdGNoIHRvIHRoYXQK Ky0tIAorMi4yOC4wCisKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbmV4dGNsb3VkLWNsaWVudC9wYXRj aGVzL25vLXdlYmVuZ2luZS1zdXBwb3J0LnBhdGNoLmFyZ3MgYi9zcmNwa2dzL25leHRjbG91ZC1j bGllbnQvcGF0Y2hlcy9uby13ZWJlbmdpbmUtc3VwcG9ydC5wYXRjaC5hcmdzCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4yZWJhMWNiM2M1YwotLS0gL2Rldi9udWxsCisr KyBiL3NyY3BrZ3MvbmV4dGNsb3VkLWNsaWVudC9wYXRjaGVzL25vLXdlYmVuZ2luZS1zdXBwb3J0 LnBhdGNoLmFyZ3MKQEAgLTAsMCArMSBAQAorLU5wMQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9uZXh0 Y2xvdWQtY2xpZW50L3RlbXBsYXRlIGIvc3JjcGtncy9uZXh0Y2xvdWQtY2xpZW50L3RlbXBsYXRl CmluZGV4IGYwOGJmN2RhZmU4Li5lOGZmMmUyYTA4NCAxMDA2NDQKLS0tIGEvc3JjcGtncy9uZXh0 Y2xvdWQtY2xpZW50L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvbmV4dGNsb3VkLWNsaWVudC90ZW1w bGF0ZQpAQCAtMSwxMyArMSwxNSBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnbmV4dGNsb3VkLWNs aWVudCcKIHBrZ25hbWU9bmV4dGNsb3VkLWNsaWVudAotdmVyc2lvbj0yLjYuNAotcmV2aXNpb249 MgordmVyc2lvbj0zLjAuMAorcmV2aXNpb249MQogd3Jrc3JjPSJkZXNrdG9wLSR7dmVyc2lvbn0i CiBidWlsZF9zdHlsZT1jbWFrZQotY29uZmlndXJlX2FyZ3M9Ii1Xbm8tZGV2ICQodm9wdF9pZiBz aGliYm9sZXRoICcnICctRE5PX1NISUJCT0xFVEg9VHJ1ZScpIgorY29uZmlndXJlX2FyZ3M9Ii1X bm8tZGV2ICQodm9wdF9pZiBzaGliYm9sZXRoICcnICctRE5PX1NISUJCT0xFVEg9VHJ1ZScpCisg JCh2b3B0X2lmIHdlYmVuZ2luZSAnJyAnLUROT19XRUJFTkdJTkU9VHJ1ZScpIgogaG9zdG1ha2Vk ZXBlbmRzPSJwa2ctY29uZmlnIgogbWFrZWRlcGVuZHM9InF0NS10b29scy1kZXZlbCBxdDUtZGVj bGFyYXRpdmUtZGV2ZWwgcXQ1LXdlYmNoYW5uZWwtZGV2ZWwKICBxdDUtbG9jYXRpb24tZGV2ZWwg cXRrZXljaGFpbi1xdDUtZGV2ZWwgc3FsaXRlLWRldmVsIGxpYmNsb3VkcHJvdmlkZXJzLWRldmVs CisgcXQ1LXF1aWNrY29udHJvbHMyLWRldmVsCiAgJCh2b3B0X2lmIGRvbHBoaW4gJ2V4dHJhLWNt YWtlLW1vZHVsZXMga2lvLWRldmVsJykKICAkKHZvcHRfaWYgc2hpYmJvbGV0aCAncXQ1LXdlYmtp dC1kZXZlbCcpCiAgJCh2b3B0X2lmIHdlYmVuZ2luZSAncXQ1LXdlYmVuZ2luZS1kZXZlbCcpIgpA QCAtMTcsNyArMTksNyBAQCBtYWludGFpbmVyPSJ5b3BpdG8gPHBpZXJyZS5ib3VyZ2luQGZyZWUu ZnI+IgogbGljZW5zZT0iR1BMLTIuMC1vci1sYXRlciIKIGhvbWVwYWdlPSJodHRwczovL25leHRj bG91ZC5jb20vY2xpZW50cy8iCiBkaXN0ZmlsZXM9Imh0dHBzOi8vZ2l0aHViLmNvbS9uZXh0Y2xv dWQvZGVza3RvcC9hcmNoaXZlL3Yke3ZlcnNpb259LnRhci5neiIKLWNoZWNrc3VtPWFlYTRkZmY2 YmYyYTZiZDJiNzgzYTYxNzVhYzIzOTNmZmNhZTI5NDk1MzZiMTVkZWY3YWFlNDM3MmYwYzI0ZWYK K2NoZWNrc3VtPWY5OWJmNDY3YzViYjRiNjUzNWQ0MWYxODY3NDNmN2JmYzdiMzc2YWM1ODRmODlm ZWEzZTE1MjBkMmFlYWQ3ZjcKIAogYnVpbGRfb3B0aW9ucz0iZG9scGhpbiBzaGliYm9sZXRoIHdl YmVuZ2luZSIKIGRlc2Nfb3B0aW9uX2RvbHBoaW49IkJ1aWxkIEtERSBkb2xwaGluIHN1cHBvcnQi CkBAIC0zOSwxMyArNDEsNiBAQCBmaQogCiBzdWJwYWNrYWdlcz0iJCh2b3B0X2lmIGRvbHBoaW4g J25leHRjbG91ZC1jbGllbnQtZG9scGhpbicpIG5leHRjbG91ZC1jbGllbnQtZGV2ZWwiCiAKLXBv c3RfcGF0Y2goKSB7Ci0JWyAiJGJ1aWxkX29wdGlvbl93ZWJlbmdpbmUiIF0gJiYgcmV0dXJuIDAK LQotCW1zZ19ub3JtYWwgIkFwcGx5aW5nIG5vLXdlYmVuZ2luZS5wYXRjaFxuIgotCXBhdGNoIC1z TnAxIC1pICR7RklMRVNESVJ9L25vLXdlYmVuZ2luZS5wYXRjaAotfQotCiBuZXh0Y2xvdWQtY2xp ZW50LWRvbHBoaW5fcGFja2FnZSgpIHsKIAlzaG9ydF9kZXNjKz0iIC0gS0RFIGRvbHBoaW4gaW50 ZWdyYXRpb24iCiAJZGVwZW5kcz0ibmV4dGNsb3VkLWNsaWVudD49JHt2ZXJzaW9ufV8ke3Jldmlz aW9ufSIK --===============0477300826556399126==--