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 4417 invoked from network); 22 May 2020 12:05:09 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 22 May 2020 12:05:09 -0000 Content-Type: multipart/mixed; boundary="===============0909848955780698186==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_openshot=2C_libopenshot_and_libopenshot-audio_update?= To: ml@inbox.vuxu.org From: m3tav3rse Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Fri, 22 May 2020 14:05:08 +0200 List-Id: Message-ID: <20200522120508.kNjUfskBY4w1OlpRlSuYTeAZ3JLVp9--0JSOkkrkZ80@z> GitHub notification mails are now in MIME to allow UTF8. --===============0909848955780698186== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgbTN0YXYzcnNlIGFnYWluc3QgbWFz dGVyIG9uIHRoZSB2b2lkLXBhY2thZ2VzIHJlcG9zaXRvcnkKCmh0dHBzOi8vZ2l0aHViLmNvbS9t M3RhdjNyc2Uvdm9pZC1wYWNrYWdlcyBvcGVuc2hvdC11cGRhdGUKaHR0cHM6Ly9naXRodWIuY29t L3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzIyMTk2CgpvcGVuc2hvdCwgbGlib3BlbnNo b3QgYW5kIGxpYm9wZW5zaG90LWF1ZGlvIHVwZGF0ZQpTdXBlcnNlZGVzICMyMDczMy4NCkluY2x1 ZGVzIGZpeCBmb3IgYXJjaGl0ZWN0dXJlcyB3aXRob3V0IGF0b21pYzguDQoKCkEgcGF0Y2ggZmls ZSBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvcHVsbC8y MjE5Ni5wYXRjaCBpcyBhdHRhY2hlZA== --===============0909848955780698186== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-openshot-update-22196.patch" RnJvbSAwNzBjYjNkM2QwYjE5ZWM0OThkODA1M2NiODlhYmQzNGMzODg3NTgyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBjcmF0ZXIyMTUwIDxjcmF0ZXJAcXdlcnR5dWlvcC5kZT4KRGF0 ZTogU3VuLCA1IEFwciAyMDIwIDIxOjM5OjQ1ICswMjAwClN1YmplY3Q6IFtQQVRDSCAxLzNdIG9w ZW5zaG90OiB1cGRhdGUgdG8gMi41LjEKCi0tLQogLi4uL2Rpc2FibGUtZ29vZ2xlLWFuYWx5dGlj cy1ieS1kZWZhdWx0LnBhdGNoICB8IDE4IC0tLS0tLS0tLS0tLS0tLS0tLQogc3JjcGtncy9vcGVu c2hvdC90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAgICB8ICA3ICsrKy0tLS0KIDIgZmlsZXMg Y2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAyMiBkZWxldGlvbnMoLSkKIGRlbGV0ZSBtb2RlIDEw MDY0NCBzcmNwa2dzL29wZW5zaG90L3BhdGNoZXMvZGlzYWJsZS1nb29nbGUtYW5hbHl0aWNzLWJ5 LWRlZmF1bHQucGF0Y2gKCmRpZmYgLS1naXQgYS9zcmNwa2dzL29wZW5zaG90L3BhdGNoZXMvZGlz YWJsZS1nb29nbGUtYW5hbHl0aWNzLWJ5LWRlZmF1bHQucGF0Y2ggYi9zcmNwa2dzL29wZW5zaG90 L3BhdGNoZXMvZGlzYWJsZS1nb29nbGUtYW5hbHl0aWNzLWJ5LWRlZmF1bHQucGF0Y2gKZGVsZXRl ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYyZGI0ZjNkYzkyLi4wMDAwMDAwMDAwMAotLS0gYS9z cmNwa2dzL29wZW5zaG90L3BhdGNoZXMvZGlzYWJsZS1nb29nbGUtYW5hbHl0aWNzLWJ5LWRlZmF1 bHQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi0tLS0gc3JjL3NldHRpbmdz L19kZWZhdWx0LnNldHRpbmdzLm9yaWcJMjAxNi0wOS0wNCAwODo1Nzo0NS41OTE2ODU4MTcgKzAy MDAKLSsrKyBzcmMvc2V0dGluZ3MvX2RlZmF1bHQuc2V0dGluZ3MJMjAxNi0wOS0wNCAwODo1Nzo1 OS41Mjg2ODY1MzYgKzAyMDAKLUBAIC0yMzIsNyArMjMyLDcgQEAKLSAgICAgInJlc3RhcnQiOiB0 cnVlCi0gICB9LAotICAgewotLSAgICAidmFsdWUiOiB0cnVlLAotKyAgICAidmFsdWUiOiBmYWxz ZSwKLSAgICAgInRpdGxlIjogIlNlbmQgQW5vbnltb3VzIE1ldHJpY3MgYW5kIEVycm9ycyIsCi0g ICAgICJ0eXBlIjogImJvb2wiLAotICAgICAiY2F0ZWdvcnkiOiAiRGVidWciLAotQEAgLTYyOCw0 ICs2MjgsNCBAQAotICAgICAidmFsdWUiOiAiQ3RybCtJIiwKLSAgICAgInR5cGUiOiAidGV4dCIK LSAgIH0KLS1dCi1cIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKLStdCmRpZmYgLS1naXQgYS9z cmNwa2dzL29wZW5zaG90L3RlbXBsYXRlIGIvc3JjcGtncy9vcGVuc2hvdC90ZW1wbGF0ZQppbmRl eCBkNzFiNGQwOWZhZS4uM2VlNzMwNjFmODMgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mvb3BlbnNob3Qv dGVtcGxhdGUKKysrIGIvc3JjcGtncy9vcGVuc2hvdC90ZW1wbGF0ZQpAQCAtMSwxMSArMSwxMCBA QAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnb3BlbnNob3QnCiBwa2duYW1lPW9wZW5zaG90Ci12ZXJz aW9uPTIuNC40Ci1yZXZpc2lvbj0yCit2ZXJzaW9uPTIuNS4xCityZXZpc2lvbj0xCiBhcmNocz0i aTY4NiB4ODZfNjQgcHBjNjRsZSIKIHdya3NyYz0iJHtwa2duYW1lfS1xdC0ke3ZlcnNpb259Igog YnVpbGRfc3R5bGU9cHl0aG9uMy1tb2R1bGUKLXB5Y29tcGlsZV9tb2R1bGU9Im9wZW5zaG90X3F0 IgogaG9zdG1ha2VkZXBlbmRzPSJweXRob24zIgogbWFrZWRlcGVuZHM9ImZmbXBlZy1kZXZlbCBw eXRob24zLVB5UXQ1IHB5dGhvbjMtc2V0dXB0b29scyIKIGRlcGVuZHM9IkltYWdlTWFnaWNrIGxp Ym9wZW5zaG90IG1sdCBweXRob24zLVB5UXQ1LXN2ZwpAQCAtMTUsNCArMTQsNCBAQCBtYWludGFp bmVyPSJTcGVuY2VyIEhpbGwgPHNwZW5jZXJuaDc3QGdtYWlsLmNvbT4iCiBsaWNlbnNlPSJHUEwt My4wLW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0dHBzOi8vd3d3Lm9wZW5zaG90Lm9yZyIKIGRpc3Rm aWxlcz0iaHR0cHM6Ly9naXRodWIuY29tL09wZW5TaG90L29wZW5zaG90LXF0L2FyY2hpdmUvdiR7 dmVyc2lvbn0udGFyLmd6IgotY2hlY2tzdW09ODE5NzkyM2IzZmZmMjAxMGVlNjljNzU0Njk4MTg1 NDM2NzRhMTJmY2I4ZmNiMDg5NDQ0NzFlNGVhZDM0MjZiZQorY2hlY2tzdW09NGMyNWViOWE1ZGU0 MmU3NDlkZTRjNmNhMmY3YTMxM2M2MGUxMjgzZmU1MmQ3MGMxMjE2MjlkYmI4YmIyZGY3YgoKRnJv bSA2YWYzZmMwMGI0OTU5YWU0MGY0YzkxY2EwNTM3ZWMxNTQ5MzA3OWYyIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQpGcm9tOiBjcmF0ZXIyMTUwIDxjcmF0ZXJAcXdlcnR5dWlvcC5kZT4KRGF0ZTog U3VuLCA1IEFwciAyMDIwIDIxOjM4OjA0ICswMjAwClN1YmplY3Q6IFtQQVRDSCAyLzNdIGxpYm9w ZW5zaG90LWF1ZGlvOiB1cGRhdGUgdG8gMC4yLjAKCi0tLQogY29tbW9uL3NobGlicyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAzICstCiAuLi4vcGF0Y2hlcy9maXgtc3RkX2lz ZmluaXRlLnBhdGNoICAgICAgICAgICAgfCAgMjMgLS0tCiBzcmNwa2dzL2xpYm9wZW5zaG90LWF1 ZGlvL3BhdGNoZXMvZ2NjOS5wYXRjaCAgfCAxMzYgLS0tLS0tLS0tLS0tLS0tLS0tCiBzcmNwa2dz L2xpYm9wZW5zaG90LWF1ZGlvL3RlbXBsYXRlICAgICAgICAgICAgfCAgMTEgKy0KIDQgZmlsZXMg Y2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgMTYzIGRlbGV0aW9ucygtKQogZGVsZXRlIG1vZGUg MTAwNjQ0IHNyY3BrZ3MvbGlib3BlbnNob3QtYXVkaW8vcGF0Y2hlcy9maXgtc3RkX2lzZmluaXRl LnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9saWJvcGVuc2hvdC1hdWRpby9wYXRj aGVzL2djYzkucGF0Y2gKCmRpZmYgLS1naXQgYS9jb21tb24vc2hsaWJzIGIvY29tbW9uL3NobGli cwppbmRleCA0NzdjZTVmMmQzZi4uNjBkMTdmZTk0NzggMTAwNjQ0Ci0tLSBhL2NvbW1vbi9zaGxp YnMKKysrIGIvY29tbW9uL3NobGlicwpAQCAtMjQ5Niw3ICsyNDk2LDggQEAgbGlibWlsbC5zby4x OCBsaWJtaWxsLTEuMTRfMQogbGliZ2VzLTEuMC5zby4wIGdzdDEtZWRpdGluZy1zZXJ2aWNlcy0x LjYuMl8xCiBsaWJ5a25lb21nci5zby4wIGxpYnlrbmVvbWdyLTAuMS44XzEKIGxpYm9wZW5zaG90 LnNvLjE3IGxpYm9wZW5zaG90LTAuMi4zXzEKLWxpYm9wZW5zaG90LWF1ZGlvLnNvLjYgbGlib3Bl bnNob3QtYXVkaW8tMC4xLjVfMQorbGlib3BlbnNob3QtYXVkaW8uc28uNyBsaWJvcGVuc2hvdC1h dWRpby0wLjIuMF8xCitsaWJvcGVuc2hvdC5zby4xOSBsaWJvcGVuc2hvdC0wLjIuNV8zCiBsaWJw cXh4LTYuMy5zbyBsaWJwcXh4LTYuMy4zXzEKIGxpYm5kcGkuc28uMSBuZHBpLTEuNl8xCiBsaWJs b2cuc28gYW5kcm9pZC1zdHVkaW8tMy4wLjFfMQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9saWJvcGVu c2hvdC1hdWRpby9wYXRjaGVzL2ZpeC1zdGRfaXNmaW5pdGUucGF0Y2ggYi9zcmNwa2dzL2xpYm9w ZW5zaG90LWF1ZGlvL3BhdGNoZXMvZml4LXN0ZF9pc2Zpbml0ZS5wYXRjaApkZWxldGVkIGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMjMxZjE4M2Q1YTcuLjAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3Mv bGlib3BlbnNob3QtYXVkaW8vcGF0Y2hlcy9maXgtc3RkX2lzZmluaXRlLnBhdGNoCisrKyAvZGV2 L251bGwKQEAgLTEsMjMgKzAsMCBAQAotRml4IGZvciBnY2M2IHdoaWNoIGRvZXMgbm90IGhhdmUg c3RkOjppc2Zpbml0ZSgpIGJ1dCBzdWdnZXN0cwotdG8gdXNlIHN0ZDo6ZmluaXRlKCkgaW5zdGVh ZC4KLQotLS0tIEp1Y2VMaWJyYXJ5Q29kZS9tb2R1bGVzL2p1Y2VfY29yZS9tYXRocy9qdWNlX01h dGhzRnVuY3Rpb25zLmgJMjAxNi0wOC0zMCAwNjoyNDoyNy4wMDAwMDAwMDAgKzAyMDAKLSsrKyBK dWNlTGlicmFyeUNvZGUvbW9kdWxlcy9qdWNlX2NvcmUvbWF0aHMvanVjZV9NYXRoc0Z1bmN0aW9u cy5oCTIwMTYtMTItMTIgMTQ6MzM6MjkuMTcwMDA1NTc2ICswMTAwCi1AQCAtMzgxLDcgKzM4MSw3 IEBACi0gICAgI2lmIEpVQ0VfV0lORE9XUyAmJiAhSlVDRV9NSU5HVw0KLSAgICAgcmV0dXJuIF9m aW5pdGUgKHZhbHVlKSAhPSAwOw0KLSAgICAjZWxzZQ0KLS0gICAgcmV0dXJuIHN0ZDo6aXNmaW5p dGUgKHZhbHVlKTsNCi0rICAgIHJldHVybiBmaW5pdGUgKHZhbHVlKTsNCi0gICAgI2VuZGlmDQot IH0NCi0gDQotQEAgLTM5MSw3ICszOTEsNyBAQAotICAgICNpZiBKVUNFX1dJTkRPV1MgJiYgIUpV Q0VfTUlOR1cNCi0gICAgIHJldHVybiBfZmluaXRlICh2YWx1ZSkgIT0gMDsNCi0gICAgI2Vsc2UN Ci0tICAgIHJldHVybiBzdGQ6OmlzZmluaXRlICh2YWx1ZSk7DQotKyAgICByZXR1cm4gZmluaXRl ICh2YWx1ZSk7DQotICAgICNlbmRpZg0KLSB9DQotIA0KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbGli b3BlbnNob3QtYXVkaW8vcGF0Y2hlcy9nY2M5LnBhdGNoIGIvc3JjcGtncy9saWJvcGVuc2hvdC1h dWRpby9wYXRjaGVzL2djYzkucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQy YWNiZDI5MmM4Li4wMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2xpYm9wZW5zaG90LWF1ZGlvL3Bh dGNoZXMvZ2NjOS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEzNiArMCwwIEBACi1jb21taXQg ZmEwZTRlZjFjNDk2OWFjMWY2YzU0ZDMwNmU2NmIyN2EzMWRhNWI4NwotQXV0aG9yOiBxNjYgPGRh bmllbEBvY3RhZm9yZ2Uub3JnPgotRGF0ZTogICBNb24gRGVjIDIzIDE4OjIzOjI4IDIwMTkgKzAx MDAKLQotICAgIGZpeCBidWlsZCB3aXRoIGdjYzkKLSAgICAKLSAgICBBZGFwdGVkIGZyb20gdXBz dHJlYW0uCi0KLWRpZmYgLS1naXQgSnVjZUxpYnJhcnlDb2RlL21vZHVsZXMvanVjZV9ncmFwaGlj cy9jb2xvdXIvanVjZV9QaXhlbEZvcm1hdHMuaCBKdWNlTGlicmFyeUNvZGUvbW9kdWxlcy9qdWNl X2dyYXBoaWNzL2NvbG91ci9qdWNlX1BpeGVsRm9ybWF0cy5oCi1pbmRleCAwZGY1OTg3Li5lYTJl OTkwIDEwMDY0NAotLS0tIEp1Y2VMaWJyYXJ5Q29kZS9tb2R1bGVzL2p1Y2VfZ3JhcGhpY3MvY29s b3VyL2p1Y2VfUGl4ZWxGb3JtYXRzLmgKLSsrKyBKdWNlTGlicmFyeUNvZGUvbW9kdWxlcy9qdWNl X2dyYXBoaWNzL2NvbG91ci9qdWNlX1BpeGVsRm9ybWF0cy5oCi1AQCAtMTA4LDE5ICsxMDgsNiBA QCBwdWJsaWM6Ci0gICAgIGZvcmNlZGlubGluZSB1aW50OCBnZXRHcmVlbigpIGNvbnN0IG5vZXhj ZXB0ICAgICAgeyByZXR1cm4gY29tcG9uZW50cy5nOyB9DQotICAgICBmb3JjZWRpbmxpbmUgdWlu dDggZ2V0Qmx1ZSgpIGNvbnN0IG5vZXhjZXB0ICAgICAgIHsgcmV0dXJuIGNvbXBvbmVudHMuYjsg fQ0KLSANCi0tICAgI2lmIEpVQ0VfR0NDICYmICEgSlVDRV9DTEFORw0KLS0gICAgLy8gTkIgdGhl c2UgYXJlIGhlcmUgYXMgYSB3b3JrYXJvdW5kIGJlY2F1c2UgR0NDIHJlZnVzZXMgdG8gYmluZCB0 byBwYWNrZWQgdmFsdWVzLg0KLS0gICAgZm9yY2VkaW5saW5lIHVpbnQ4JiBnZXRBbHBoYSgpIG5v ZXhjZXB0ICAgICAgICAgICB7IHJldHVybiBjb21wcyBbaW5kZXhBXTsgfQ0KLS0gICAgZm9yY2Vk aW5saW5lIHVpbnQ4JiBnZXRSZWQoKSBub2V4Y2VwdCAgICAgICAgICAgICB7IHJldHVybiBjb21w cyBbaW5kZXhSXTsgfQ0KLS0gICAgZm9yY2VkaW5saW5lIHVpbnQ4JiBnZXRHcmVlbigpIG5vZXhj ZXB0ICAgICAgICAgICB7IHJldHVybiBjb21wcyBbaW5kZXhHXTsgfQ0KLS0gICAgZm9yY2VkaW5s aW5lIHVpbnQ4JiBnZXRCbHVlKCkgbm9leGNlcHQgICAgICAgICAgICB7IHJldHVybiBjb21wcyBb aW5kZXhCXTsgfQ0KLS0gICAjZWxzZQ0KLS0gICAgZm9yY2VkaW5saW5lIHVpbnQ4JiBnZXRBbHBo YSgpIG5vZXhjZXB0ICAgICAgICAgICB7IHJldHVybiBjb21wb25lbnRzLmE7IH0NCi0tICAgIGZv cmNlZGlubGluZSB1aW50OCYgZ2V0UmVkKCkgbm9leGNlcHQgICAgICAgICAgICAgeyByZXR1cm4g Y29tcG9uZW50cy5yOyB9DQotLSAgICBmb3JjZWRpbmxpbmUgdWludDgmIGdldEdyZWVuKCkgbm9l eGNlcHQgICAgICAgICAgIHsgcmV0dXJuIGNvbXBvbmVudHMuZzsgfQ0KLS0gICAgZm9yY2VkaW5s aW5lIHVpbnQ4JiBnZXRCbHVlKCkgbm9leGNlcHQgICAgICAgICAgICB7IHJldHVybiBjb21wb25l bnRzLmI7IH0NCi0tICAgI2VuZGlmDQotLQ0KLSAgICAgLy89PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0N Ci0gICAgIC8qKiBDb3BpZXMgYW5vdGhlciBwaXhlbCBjb2xvdXIgb3ZlciB0aGlzIG9uZS4NCi0g DQotQEAgLTMzOSw5ICszMjYsNiBAQCBwcml2YXRlOgotICAgICB7DQotICAgICAgICAgdWludDMy IGludGVybmFsOw0KLSAgICAgICAgIENvbXBvbmVudHMgY29tcG9uZW50czsNCi0tICAgICAgICNp ZiBKVUNFX0dDQw0KLS0gICAgICAgIHVpbnQ4IGNvbXBzWzRdOyAgLy8gaGVscGVyIHN0cnVjdCBu ZWVkZWQgYmVjYXVzZSBnY2MgZG9lcyBub3QgYWxsb3cgcmVmZXJlbmNlcyB0byBwYWNrZWQgdW5p b24gbWVtYmVycw0KLS0gICAgICAgI2VuZGlmDQotICAgICB9Ow0KLSB9DQotICNpZm5kZWYgRE9Y WUdFTg0KLUBAIC00MjgsMTAgKzQxMiw2IEBAIHB1YmxpYzoKLSAgICAgZm9yY2VkaW5saW5lIHVp bnQ4IGdldEdyZWVuKCkgY29uc3Qgbm9leGNlcHQgICAgeyByZXR1cm4gZzsgfQ0KLSAgICAgZm9y Y2VkaW5saW5lIHVpbnQ4IGdldEJsdWUoKSBjb25zdCBub2V4Y2VwdCAgICAgeyByZXR1cm4gYjsg fQ0KLSANCi0tICAgIGZvcmNlZGlubGluZSB1aW50OCYgZ2V0UmVkKCkgbm9leGNlcHQgICAgICAg ICAgIHsgcmV0dXJuIHI7IH0NCi0tICAgIGZvcmNlZGlubGluZSB1aW50OCYgZ2V0R3JlZW4oKSBu b2V4Y2VwdCAgICAgICAgIHsgcmV0dXJuIGc7IH0NCi0tICAgIGZvcmNlZGlubGluZSB1aW50OCYg Z2V0Qmx1ZSgpIG5vZXhjZXB0ICAgICAgICAgIHsgcmV0dXJuIGI7IH0NCi0tDQotICAgICAvLz09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQ0KLSAgICAgLyoqIENvcGllcyBhbm90aGVyIHBpeGVsIGNvbG91 ciBvdmVyIHRoaXMgb25lLg0KLSANCi1AQCAtNjQ1LDcgKzYyNSw2IEBAIHB1YmxpYzoKLSANCi0g ICAgIC8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotICAgICBmb3JjZWRpbmxpbmUgdWludDggZ2V0 QWxwaGEoKSBjb25zdCBub2V4Y2VwdCAgICB7IHJldHVybiBhOyB9DQotLSAgICBmb3JjZWRpbmxp bmUgdWludDgmIGdldEFscGhhKCkgbm9leGNlcHQgICAgICAgICB7IHJldHVybiBhOyB9DQotIA0K LSAgICAgZm9yY2VkaW5saW5lIHVpbnQ4IGdldFJlZCgpIGNvbnN0IG5vZXhjZXB0ICAgICAgeyBy ZXR1cm4gMDsgfQ0KLSAgICAgZm9yY2VkaW5saW5lIHVpbnQ4IGdldEdyZWVuKCkgY29uc3Qgbm9l eGNlcHQgICAgeyByZXR1cm4gMDsgfQ0KLWRpZmYgLS1naXQgSnVjZUxpYnJhcnlDb2RlL21vZHVs ZXMvanVjZV9ncmFwaGljcy9uYXRpdmUvanVjZV9SZW5kZXJpbmdIZWxwZXJzLmggSnVjZUxpYnJh cnlDb2RlL21vZHVsZXMvanVjZV9ncmFwaGljcy9uYXRpdmUvanVjZV9SZW5kZXJpbmdIZWxwZXJz LmgKLWluZGV4IGNkOGNkMzYuLjg3YmYzM2UgMTAwNjQ0Ci0tLS0gSnVjZUxpYnJhcnlDb2RlL21v ZHVsZXMvanVjZV9ncmFwaGljcy9uYXRpdmUvanVjZV9SZW5kZXJpbmdIZWxwZXJzLmgKLSsrKyBK dWNlTGlicmFyeUNvZGUvbW9kdWxlcy9qdWNlX2dyYXBoaWNzL25hdGl2ZS9qdWNlX1JlbmRlcmlu Z0hlbHBlcnMuaAotQEAgLTU4MywxMCArNTgzLDYgQEAgbmFtZXNwYWNlIEVkZ2VUYWJsZUZpbGxl cnMKLSAgICAgICAgICAgICB7DQotICAgICAgICAgICAgICAgICBhcmVSR0JDb21wb25lbnRzRXF1 YWwgPSBzb3VyY2VDb2xvdXIuZ2V0UmVkKCkgPT0gc291cmNlQ29sb3VyLmdldEdyZWVuKCkNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiBzb3VyY2VDb2xv dXIuZ2V0R3JlZW4oKSA9PSBzb3VyY2VDb2xvdXIuZ2V0Qmx1ZSgpOw0KLS0gICAgICAgICAgICAg ICAgZmlsbGVyWzBdLnNldCAoc291cmNlQ29sb3VyKTsNCi0tICAgICAgICAgICAgICAgIGZpbGxl clsxXS5zZXQgKHNvdXJjZUNvbG91cik7DQotLSAgICAgICAgICAgICAgICBmaWxsZXJbMl0uc2V0 IChzb3VyY2VDb2xvdXIpOw0KLS0gICAgICAgICAgICAgICAgZmlsbGVyWzNdLnNldCAoc291cmNl Q29sb3VyKTsNCi0gICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgICBlbHNlDQotICAgICAgICAg ICAgIHsNCi1AQCAtNjQyLDcgKzYzOCw2IEBAIG5hbWVzcGFjZSBFZGdlVGFibGVGaWxsZXJzCi0g ICAgICAgICBjb25zdCBJbWFnZTo6Qml0bWFwRGF0YSYgZGVzdERhdGE7DQotICAgICAgICAgUGl4 ZWxUeXBlKiBsaW5lUGl4ZWxzOw0KLSAgICAgICAgIFBpeGVsQVJHQiBzb3VyY2VDb2xvdXI7DQot LSAgICAgICAgUGl4ZWxSR0IgZmlsbGVyIFs0XTsNCi0gICAgICAgICBib29sIGFyZVJHQkNvbXBv bmVudHNFcXVhbDsNCi0gDQotICAgICAgICAgZm9yY2VkaW5saW5lIFBpeGVsVHlwZSogZ2V0UGl4 ZWwgKGNvbnN0IGludCB4KSBjb25zdCBub2V4Y2VwdA0KLUBAIC02NTcsNDcgKzY1MiwxMCBAQCBu YW1lc3BhY2UgRWRnZVRhYmxlRmlsbGVycwotIA0KLSAgICAgICAgIGZvcmNlZGlubGluZSB2b2lk IHJlcGxhY2VMaW5lIChQaXhlbFJHQiogZGVzdCwgY29uc3QgUGl4ZWxBUkdCIGNvbG91ciwgaW50 IHdpZHRoKSBjb25zdCBub2V4Y2VwdA0KLSAgICAgICAgIHsNCi0tICAgICAgICAgICAgaWYgKGRl c3REYXRhLnBpeGVsU3RyaWRlID09IHNpemVvZiAoKmRlc3QpKQ0KLS0gICAgICAgICAgICB7DQot LSAgICAgICAgICAgICAgICBpZiAoYXJlUkdCQ29tcG9uZW50c0VxdWFsKSAgLy8gaWYgYWxsIHRo ZSBjb21wb25lbnQgdmFsdWVzIGFyZSB0aGUgc2FtZSwgd2UgY2FuIGNoZWF0Li4NCi0tICAgICAg ICAgICAgICAgIHsNCi0tICAgICAgICAgICAgICAgICAgICBtZW1zZXQgKGRlc3QsIGNvbG91ci5n ZXRSZWQoKSwgKHNpemVfdCkgd2lkdGggKiAzKTsNCi0tICAgICAgICAgICAgICAgIH0NCi0tICAg ICAgICAgICAgICAgIGVsc2UNCi0tICAgICAgICAgICAgICAgIHsNCi0tICAgICAgICAgICAgICAg ICAgICBpZiAod2lkdGggPj4gNSkNCi0tICAgICAgICAgICAgICAgICAgICB7DQotLSAgICAgICAg ICAgICAgICAgICAgICAgIGNvbnN0IGludCogY29uc3QgaW50RmlsbGVyID0gcmVpbnRlcnByZXRf Y2FzdDxjb25zdCBpbnQqPiAoZmlsbGVyKTsNCi0tDQotLSAgICAgICAgICAgICAgICAgICAgICAg IHdoaWxlICh3aWR0aCA+IDggJiYgKCgocG9pbnRlcl9zaXplZF9pbnQpIGRlc3QpICYgNykgIT0g MCkNCi0tICAgICAgICAgICAgICAgICAgICAgICAgew0KLS0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgZGVzdC0+c2V0IChjb2xvdXIpOw0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAg KytkZXN0Ow0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgLS13aWR0aDsNCi0tICAgICAg ICAgICAgICAgICAgICAgICAgfQ0KLS0NCi0tICAgICAgICAgICAgICAgICAgICAgICAgd2hpbGUg KHdpZHRoID4gNCkNCi0tICAgICAgICAgICAgICAgICAgICAgICAgew0KLS0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgaW50KiBkID0gcmVpbnRlcnByZXRfY2FzdDxpbnQqPiAoZGVzdCk7DQot LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAqZCsrID0gaW50RmlsbGVyWzBdOw0KLS0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgKmQrKyA9IGludEZpbGxlclsxXTsNCi0tICAgICAgICAg ICAgICAgICAgICAgICAgICAgICpkKysgPSBpbnRGaWxsZXJbMl07DQotLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICBkZXN0ID0gcmVpbnRlcnByZXRfY2FzdDxQaXhlbFJHQio+IChkKTsNCi0t ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoIC09IDQ7DQotLSAgICAgICAgICAgICAg ICAgICAgICAgIH0NCi0tICAgICAgICAgICAgICAgICAgICB9DQotLQ0KLS0gICAgICAgICAgICAg ICAgICAgIHdoaWxlICgtLXdpZHRoID49IDApDQotLSAgICAgICAgICAgICAgICAgICAgew0KLS0g ICAgICAgICAgICAgICAgICAgICAgICBkZXN0LT5zZXQgKGNvbG91cik7DQotLSAgICAgICAgICAg ICAgICAgICAgICAgICsrZGVzdDsNCi0tICAgICAgICAgICAgICAgICAgICB9DQotLSAgICAgICAg ICAgICAgICB9DQotLSAgICAgICAgICAgIH0NCi0tICAgICAgICAgICAgZWxzZQ0KLS0gICAgICAg ICAgICB7DQotLSAgICAgICAgICAgICAgICBKVUNFX1BFUkZPUk1fUElYRUxfT1BfTE9PUCAoc2V0 IChjb2xvdXIpKQ0KLS0gICAgICAgICAgICB9DQotKyAgICAgICAgICAgIGlmICgoc2l6ZV90KSBk ZXN0RGF0YS5waXhlbFN0cmlkZSA9PSBzaXplb2YgKCpkZXN0KSAmJiBhcmVSR0JDb21wb25lbnRz RXF1YWwpDQotKyAgICAgICAgICAgICAgICBtZW1zZXQgKCh2b2lkKikgZGVzdCwgY29sb3VyLmdl dFJlZCgpLCAoc2l6ZV90KSB3aWR0aCAqIDMpOyAgIC8vIGlmIGFsbCB0aGUgY29tcG9uZW50IHZh bHVlcyBhcmUgdGhlIHNhbWUsIHdlIGNhbiBjaGVhdC4uDQotKyAgICAgICAgICAgICBlbHNlDQot KyAgICAgICAgICAgICAgICBKVUNFX1BFUkZPUk1fUElYRUxfT1BfTE9PUCAoc2V0IChjb2xvdXIp KTsNCi0gICAgICAgICB9DQotIA0KLSAgICAgICAgIGZvcmNlZGlubGluZSB2b2lkIHJlcGxhY2VM aW5lIChQaXhlbEFscGhhKiBkZXN0LCBjb25zdCBQaXhlbEFSR0IgY29sb3VyLCBpbnQgd2lkdGgp IGNvbnN0IG5vZXhjZXB0DQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9saWJvcGVuc2hvdC1hdWRpby90 ZW1wbGF0ZSBiL3NyY3BrZ3MvbGlib3BlbnNob3QtYXVkaW8vdGVtcGxhdGUKaW5kZXggNzk3NTA1 MGZjNDkuLmQ5YTZhNzE5NzM0IDEwMDY0NAotLS0gYS9zcmNwa2dzL2xpYm9wZW5zaG90LWF1ZGlv L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvbGlib3BlbnNob3QtYXVkaW8vdGVtcGxhdGUKQEAgLTEs NyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdsaWJvcGVuc2hvdC1hdWRpbycKIHBrZ25h bWU9bGlib3BlbnNob3QtYXVkaW8KLXZlcnNpb249MC4xLjgKLXJldmlzaW9uPTMKK3ZlcnNpb249 MC4yLjAKK3JldmlzaW9uPTEKIGJ1aWxkX3N0eWxlPWNtYWtlCiBob3N0bWFrZWRlcGVuZHM9ImRv eHlnZW4iCiBtYWtlZGVwZW5kcz0iYWxzYS1saWItZGV2ZWwgbGliWGN1cnNvci1kZXZlbCBsaWJY aW5lcmFtYS1kZXZlbCBsaWJYcmFuZHItZGV2ZWwKQEAgLTExLDEwICsxMSwxNSBAQCBtYWludGFp bmVyPSJTcGVuY2VyIEhpbGwgPHNwZW5jZXJuaDc3QGdtYWlsLmNvbT4iCiBsaWNlbnNlPSJHUEwt My4wLW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0dHBzOi8vZ2l0aHViLmNvbS9PcGVuU2hvdC9saWJv cGVuc2hvdC1hdWRpbyIKIGRpc3RmaWxlcz0iaHR0cHM6Ly9naXRodWIuY29tL09wZW5TaG90L2xp Ym9wZW5zaG90LWF1ZGlvL2FyY2hpdmUvdiR7dmVyc2lvbn0udGFyLmd6IgotY2hlY2tzdW09Mzg0 ZDBlZjM5Yzc4ZjE2ZDc3MDQ4ZGUzYzk2MTUyMzIxNzI0MDg0Zjk3OGRjNjIyNjc1ZGQ2YmIxNmUx NWUxOQorY2hlY2tzdW09OTM3ZmY0ZjFjMmRmYjhhYjVkNTZhZDg1YmVhY2FhMjlkZmQ1YTc5YWYw ZDljZjY0NzM4NjAzNGZlOTg4MjMwOQogCiBDWFhGTEFHUz0iLUkke1hCUFNfQ1JPU1NfQkFTRX0v dXNyL2luY2x1ZGUvZnJlZXR5cGUyIgogCitpZiBbICIkWEJQU19UQVJHRVRfTk9fQVRPTUlDOCIg XTsgdGhlbgorCW1ha2VkZXBlbmRzKz0iIGxpYmF0b21pYy1kZXZlbCIKKwlDWFhGTEFHUys9IiAt bGF0b21pYyAiCitmaQorCiBsaWJvcGVuc2hvdC1hdWRpby1kZXZlbF9wYWNrYWdlKCkgewogCXNo b3J0X2Rlc2MrPSIgLSBkZXZlbG9wbWVudCBmaWxlcyIKIAlkZXBlbmRzKz0iICR7c291cmNlcGtn fT49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIKCkZyb20gOGQxYWY0MmE1OTkyMTIxNjlhNGNkNTA0 Y2I1OGJmMGFmZjYzNGUyMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogY3JhdGVyMjE1 MCA8Y3JhdGVyQHF3ZXJ0eXVpb3AuZGU+CkRhdGU6IFN1biwgNSBBcHIgMjAyMCAyMTozODozNCAr MDIwMApTdWJqZWN0OiBbUEFUQ0ggMy8zXSBsaWJvcGVuc2hvdDogdXBkYXRlIHRvIDAuMi41Cgot LS0KIGNvbW1vbi9zaGxpYnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMSAt CiAuLi4vbGlib3BlbnNob3QvcGF0Y2hlcy9pbWFnZW1hZ2ljazcucGF0Y2ggICAgfCA0MTcgLS0t LS0tLS0tLS0tLS0tLS0tCiBzcmNwa2dzL2xpYm9wZW5zaG90L3RlbXBsYXRlICAgICAgICAgICAg ICAgICAgfCAgMTEgKy0KIDMgZmlsZXMgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCA0MjYgZGVs ZXRpb25zKC0pCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9saWJvcGVuc2hvdC9wYXRjaGVz L2ltYWdlbWFnaWNrNy5wYXRjaAoKZGlmZiAtLWdpdCBhL2NvbW1vbi9zaGxpYnMgYi9jb21tb24v c2hsaWJzCmluZGV4IDYwZDE3ZmU5NDc4Li43NzRiMzg2OWRmOCAxMDA2NDQKLS0tIGEvY29tbW9u L3NobGlicworKysgYi9jb21tb24vc2hsaWJzCkBAIC0yNDk1LDcgKzI0OTUsNiBAQCBsaWJheDI1 aW8uc28uMCBsaWJheDI1LTAuMC4xMnJjNF8xCiBsaWJtaWxsLnNvLjE4IGxpYm1pbGwtMS4xNF8x CiBsaWJnZXMtMS4wLnNvLjAgZ3N0MS1lZGl0aW5nLXNlcnZpY2VzLTEuNi4yXzEKIGxpYnlrbmVv bWdyLnNvLjAgbGlieWtuZW9tZ3ItMC4xLjhfMQotbGlib3BlbnNob3Quc28uMTcgbGlib3BlbnNo b3QtMC4yLjNfMQogbGlib3BlbnNob3QtYXVkaW8uc28uNyBsaWJvcGVuc2hvdC1hdWRpby0wLjIu MF8xCiBsaWJvcGVuc2hvdC5zby4xOSBsaWJvcGVuc2hvdC0wLjIuNV8zCiBsaWJwcXh4LTYuMy5z byBsaWJwcXh4LTYuMy4zXzEKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbGlib3BlbnNob3QvcGF0Y2hl cy9pbWFnZW1hZ2ljazcucGF0Y2ggYi9zcmNwa2dzL2xpYm9wZW5zaG90L3BhdGNoZXMvaW1hZ2Vt YWdpY2s3LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MmM5OTY1ZWEyZC4u MDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9saWJvcGVuc2hvdC9wYXRjaGVzL2ltYWdlbWFnaWNr Ny5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQxNyArMCwwIEBACi1Gcm9tIGIwYjZlNDNkOGZm OTc3ZTQ4NTNmZTQ5NGE4ZWQ0ZjEwZGMyNWU1NzEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1G cm9tOiAiRmVSRCAoRnJhbmsgRGFuYSkiIDxmZXJkbnljQGdtYWlsLmNvbT4KLURhdGU6IFRodSwg MTMgSnVuIDIwMTkgMDM6MTA6MTYgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSCAxLzJdIEFkZCBJbWFn ZU1hZ2ljayA3IGNvbXBhdGliaWxpdHkKLU1JTUUtVmVyc2lvbjogMS4wCi1Db250ZW50LVR5cGU6 IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhi aXQKLQotQSBuZXcgaGVhZGVyLCBgaW1jbHVkZS9NYWdpY2tVdGlsaXRpZXMuaGAsIGlzIGNyZWF0 ZWQgdG8gaG9sZCB0aGUKLWNvbXBhdGliaWxpdHkgYCNkZWZpbmVgcy4KLQotVGhlIGltYWdlLWNv bnZlcnNpb24gY29kZSBpbiBgc3JjL0ZyYW1lLmNwcGAgcmVjZWl2ZWQgdGhlIG9ubHkKLW1ham9y IGNoYW5nZXMg4oCUIGluc3RlYWQgb2YgZG9pbmcgdGhlIGV4cG9ydCBieSBoYW5kIChhbmQgaGF2 aW5nCi10byBhY2NvdW50IGZvciBjaGFuZ2VzIGluIHRoZSB1bmRlcmx5aW5nIEFQSSksIGl0IHVz ZXMgdGhlCi1gTWFnaWNrQ29yZTo6RXhwb3J0SW1hZ2VQaXhlbHMoKWAgZnVuY3Rpb24gd2hpY2gg ZG9lcyBiYXNpY2FsbHkKLXRoZSBzYW1lIHdvcmssIGJ1dCBhY2NvdW50cyBmb3IgYWxsIG9mIHRo ZSBBUEkgY2hhbmdlcyBmb3IgdXMuCi1UaGUgQVBJIG9mIHRoYXQgZnVuY3Rpb24gaXMgX3VuY2hh bmdlZF8gZnJvbSBJTTYgdG8gSU03LgotCi1UT0RPOiBgTWFnaWNrQ29yZTo6RXhwb3J0SW1hZ2VQ aXhlbHMoKWAgd2lsbCByZXR1cm4gYW4gYGV4Y2VwdGlvbmAKLXN0cnVjdCBpZiBpdCBlbmNvdW50 ZXJzIGFueSBwcm9ibGVtcy4gQ3VycmVudGx5IHRoZSBjb2RlIGlnbm9yZXMKLXRoYXQsIHdoaWNo IGl0IHNob3VsZCBub3QuCi0tLS0KLSBpbmNsdWRlL0ZyYW1lLmggICAgICAgICAgIHwgIDQgKy0t Ci0gaW5jbHVkZS9JbWFnZVJlYWRlci5oICAgICB8ICA4ICsrKy0tCi0gaW5jbHVkZS9JbWFnZVdy aXRlci5oICAgICB8ICA5ICsrKy0tLQotIGluY2x1ZGUvTWFnaWNrVXRpbGl0aWVzLmggfCA2MSAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKLSBpbmNsdWRlL1RleHRSZWFk ZXIuaCAgICAgIHwgMTAgKysrKystLQotIGluY2x1ZGUvZWZmZWN0cy9NYXNrLmggICAgfCAgNyAr KystLQotIHNyYy9GcmFtZS5jcHAgICAgICAgICAgICAgfCAyMiArKysrKy0tLS0tLS0tLQotIHNy Yy9JbWFnZVJlYWRlci5jcHAgICAgICAgfCAgOSArKysrLS0KLSBzcmMvSW1hZ2VXcml0ZXIuY3Bw ICAgICAgIHwgIDYgKysrLQotIHNyYy9UZXh0UmVhZGVyLmNwcCAgICAgICAgfCAgNSArKysrCi0g c3JjL2VmZmVjdHMvTWFzay5jcHAgICAgICB8ICA5ICsrKy0tLQotIDExIGZpbGVzIGNoYW5nZWQs IDExMiBpbnNlcnRpb25zKCspLCAzOCBkZWxldGlvbnMoLSkKLSBjcmVhdGUgbW9kZSAxMDA2NDQg aW5jbHVkZS9NYWdpY2tVdGlsaXRpZXMuaAotCi1kaWZmIC0tZ2l0IGEvaW5jbHVkZS9GcmFtZS5o IGIvaW5jbHVkZS9GcmFtZS5oCi1pbmRleCA2YjY4MmVkYi4uZWVmNzUwZmYgMTAwNjQ0Ci0tLS0g YS9pbmNsdWRlL0ZyYW1lLmgKLSsrKyBiL2luY2x1ZGUvRnJhbWUuaAotQEAgLTUzLDE0ICs1Mywx MiBAQAotICNpbmNsdWRlIDxtZW1vcnk+Ci0gI2luY2x1ZGUgPHVuaXN0ZC5oPgotICNpbmNsdWRl ICJabXFMb2dnZXIuaCIKLS0jaWZkZWYgVVNFX0lNQUdFTUFHSUNLCi0tCSNpbmNsdWRlICJNYWdp Y2srKy5oIgotLSNlbmRpZgotICNpbmNsdWRlICJKdWNlTGlicmFyeUNvZGUvSnVjZUhlYWRlci5o IgotICNpbmNsdWRlICJDaGFubmVsTGF5b3V0cy5oIgotICNpbmNsdWRlICJBdWRpb0J1ZmZlclNv dXJjZS5oIgotICNpbmNsdWRlICJBdWRpb1Jlc2FtcGxlci5oIgotICNpbmNsdWRlICJGcmFjdGlv bi5oIgotKyNpbmNsdWRlICJNYWdpY2tVdGlsaXRpZXMuaCIKLSAKLSAjcHJhZ21hIFNXSUcgbm93 YXJuPTM2MgotIHVzaW5nIG5hbWVzcGFjZSBzdGQ7Ci1kaWZmIC0tZ2l0IGEvaW5jbHVkZS9JbWFn ZVJlYWRlci5oIGIvaW5jbHVkZS9JbWFnZVJlYWRlci5oCi1pbmRleCBlNjk4ZTBjMS4uN2FkMjMx NzMgMTAwNjQ0Ci0tLS0gYS9pbmNsdWRlL0ltYWdlUmVhZGVyLmgKLSsrKyBiL2luY2x1ZGUvSW1h Z2VSZWFkZXIuaAotQEAgLTI4LDYgKzI4LDkgQEAKLSAjaWZuZGVmIE9QRU5TSE9UX0lNQUdFX1JF QURFUl9ICi0gI2RlZmluZSBPUEVOU0hPVF9JTUFHRV9SRUFERVJfSAotIAotKy8vIFJlcXVpcmUg SW1hZ2VNYWdpY2sgc3VwcG9ydAotKyNpZmRlZiBVU0VfSU1BR0VNQUdJQ0sKLSsKLSAjaW5jbHVk ZSAiUmVhZGVyQmFzZS5oIgotIAotICNpbmNsdWRlIDxjbWF0aD4KLUBAIC0zNiw5ICszOSw5IEBA Ci0gI2luY2x1ZGUgPG9tcC5oPgotICNpbmNsdWRlIDxzdGRpby5oPgotICNpbmNsdWRlIDxtZW1v cnk+Ci0tI2luY2x1ZGUgIk1hZ2ljaysrLmgiCi0gI2luY2x1ZGUgIkNhY2hlTWVtb3J5LmgiCi0g I2luY2x1ZGUgIkV4Y2VwdGlvbnMuaCIKLSsjaW5jbHVkZSAiTWFnaWNrVXRpbGl0aWVzLmgiCi0g Ci0gdXNpbmcgbmFtZXNwYWNlIHN0ZDsKLSAKLUBAIC0xMTMsNCArMTE2LDUgQEAgbmFtZXNwYWNl IG9wZW5zaG90Ci0gCi0gfQotIAotLSNlbmRpZgotKyNlbmRpZiAvL1VTRV9JTUFHRU1BR0lDSwot KyNlbmRpZiAvL09QRU5TSE9UX0lNQUdFX1JFQURFUl9ICi1kaWZmIC0tZ2l0IGEvaW5jbHVkZS9J bWFnZVdyaXRlci5oIGIvaW5jbHVkZS9JbWFnZVdyaXRlci5oCi1pbmRleCAyNTE3NzEzNC4uYjdk ZDdkYzIgMTAwNjQ0Ci0tLS0gYS9pbmNsdWRlL0ltYWdlV3JpdGVyLmgKLSsrKyBiL2luY2x1ZGUv SW1hZ2VXcml0ZXIuaAotQEAgLTMyLDEwICszMiwxMSBAQAotICAqIGFsb25nIHdpdGggT3BlblNo b3QgTGlicmFyeS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+Lgot ICAqLwotIAotLQotICNpZm5kZWYgT1BFTlNIT1RfSU1BR0VfV1JJVEVSX0gKLSAjZGVmaW5lIE9Q RU5TSE9UX0lNQUdFX1dSSVRFUl9ICi0gCi0rI2lmZGVmIFVTRV9JTUFHRU1BR0lDSwotKwotICNp bmNsdWRlICJSZWFkZXJCYXNlLmgiCi0gI2luY2x1ZGUgIldyaXRlckJhc2UuaCIKLSAKLUBAIC00 NCwxMSArNDUsMTAgQEAKLSAjaW5jbHVkZSA8aW9zdHJlYW0+Ci0gI2luY2x1ZGUgPHN0ZGlvLmg+ Ci0gI2luY2x1ZGUgPHVuaXN0ZC5oPgotLSNpbmNsdWRlICJNYWdpY2srKy5oIgotICNpbmNsdWRl ICJDYWNoZU1lbW9yeS5oIgotICNpbmNsdWRlICJFeGNlcHRpb25zLmgiCi0gI2luY2x1ZGUgIk9w ZW5NUFV0aWxpdGllcy5oIgotLQotKyNpbmNsdWRlICJNYWdpY2tVdGlsaXRpZXMuaCIKLSAKLSB1 c2luZyBuYW1lc3BhY2Ugc3RkOwotIAotQEAgLTE0NSw0ICsxNDUsNSBAQCBuYW1lc3BhY2Ugb3Bl bnNob3QKLSAKLSB9Ci0gCi0tI2VuZGlmCi0rI2VuZGlmIC8vVVNFX0lNQUdFTUFHSUNLCi0rI2Vu ZGlmIC8vT1BFTlNIT1RfSU1BR0VfV1JJVEVSX0gKLWRpZmYgLS1naXQgYS9pbmNsdWRlL01hZ2lj a1V0aWxpdGllcy5oIGIvaW5jbHVkZS9NYWdpY2tVdGlsaXRpZXMuaAotbmV3IGZpbGUgbW9kZSAx MDA2NDQKLWluZGV4IDAwMDAwMDAwLi5mM2I3ZWExMgotLS0tIC9kZXYvbnVsbAotKysrIGIvaW5j bHVkZS9NYWdpY2tVdGlsaXRpZXMuaAotQEAgLTAsMCArMSw2MSBAQAotKy8qKgotKyAqIEBmaWxl Ci0rICogQGJyaWVmIEhlYWRlciBmaWxlIGZvciBNYWdpY2tVdGlsaXRpZXMgKElNNi9JTTcgY29t cGF0aWJpbGl0eSBvdmVybGF5KQotKyAqIEBhdXRob3IgSm9uYXRoYW4gVGhvbWFzIDxqb25hdGhh bkBvcGVuc2hvdC5vcmc+Ci0rICogQGF1dGhvciBGZVJEIChGcmFuayBEYW5hKSA8ZmVyZG55Y0Bn bWFpbC5jb20+Ci0rICovCi0rCi0rLyogTElDRU5TRQotKyAqCi0rICogQ29weXJpZ2h0IChjKSAy MDA4LTIwMTkgT3BlblNob3QgU3R1ZGlvcywgTExDCi0rICogPGh0dHA6Ly93d3cub3BlbnNob3Rz dHVkaW9zLmNvbS8+LiBUaGlzIGZpbGUgaXMgcGFydCBvZgotKyAqIE9wZW5TaG90IExpYnJhcnkg KGxpYm9wZW5zaG90KSwgYW4gb3Blbi1zb3VyY2UgcHJvamVjdCBkZWRpY2F0ZWQgdG8KLSsgKiBk ZWxpdmVyaW5nIGhpZ2ggcXVhbGl0eSB2aWRlbyBlZGl0aW5nIGFuZCBhbmltYXRpb24gc29sdXRp b25zIHRvIHRoZQotKyAqIHdvcmxkLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiB2aXNpdCA8aHR0cDov L3d3dy5vcGVuc2hvdC5vcmcvPi4KLSsgKgotKyAqIE9wZW5TaG90IExpYnJhcnkgKGxpYm9wZW5z aG90KSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdAotKyAqIGFuZC9v ciBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UKLSsgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUKLSsgKiBMaWNlbnNlLCBvciAoYXQgeW91ciBv cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotKyAqCi0rICogT3BlblNob3QgTGlicmFyeSAobGli b3BlbnNob3QpIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZQotKyAq IHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp ZWQgd2FycmFudHkgb2YKLSsgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU SUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUKLSsgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSsgKgotKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl ZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotKyAqIGFs b25nIHdpdGggT3BlblNob3QgTGlicmFyeS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9y Zy9saWNlbnNlcy8+LgotKyAqLwotKwotKyNpZm5kZWYgT1BFTlNIT1RfTUFHSUNLX1VUSUxJVElF U19ICi0rI2RlZmluZSBPUEVOU0hPVF9NQUdJQ0tfVVRJTElUSUVTX0gKLSsKLSsjaWZkZWYgVVNF X0lNQUdFTUFHSUNLCi0rCi0rICAgICNpbmNsdWRlICJNYWdpY2srKy5oIgotKwotKyAgICAvLyBE ZXRlcm1pbmUgSW1hZ2VNYWdpY2sgdmVyc2lvbiwgYXMgSU03IGlzbid0IGZ1bGx5Ci0rICAgIC8v IGJhY2t3YXJkcyBjb21wYXRpYmxlCi0rICAgICNpZm5kZWYgTkVXX01BR0lDSwotKwkgICAjZGVm aW5lIE5FV19NQUdJQ0sgKE1hZ2lja0xpYlZlcnNpb24gPj0gMHg3MDApCi0rCSNlbmRpZgotKwot KyAgICAvLyBJTTc6IDxNYWdpY2s6OkltYWdlPi0+YWxwaGEoYm9vbCkKLSsgICAgLy8gSU02OiA8 TWFnaWNrOjpJbWFnZT4tPm1hdHRlKGJvb2wpCi0rICAgICNpZiBORVdfTUFHSUNLCi0rICAgICAg ICAjZGVmaW5lIE1BR0lDS19JTUFHRV9BTFBIQShpbSwgYSkgaW0tPmFscGhhKChhKSkKLSsgICAg I2Vsc2UKLSsgICAgICAgICNkZWZpbmUgTUFHSUNLX0lNQUdFX0FMUEhBKGltLCBhKSBpbS0+bWF0 dGUoKGEpKQotKyAgICAjZW5kaWYKLSsKLSsgICAgLy8gSU03OiB2ZWN0b3I8TWFnaWNrOjpEcmF3 YWJsZT4KLSsgICAgLy8gSU02OiBsaXN0PE1hZ2ljazo6RHJhd2FibGU+Ci0rICAgIC8vIChib3Ro IGhhdmUgdGhlIHB1c2hfYmFjaygpIG1ldGhvZCB3aGljaCBpcyBhbGwgd2UgdXNlKQotKyAgICAj aWYgTkVXX01BR0lDSwotKyAgICAgICAgI2RlZmluZSBNQUdJQ0tfRFJBV0FCTEUgdmVjdG9yPE1h Z2ljazo6RHJhd2FibGU+Ci0rICAgICNlbHNlCi0rICAgICAgICAjZGVmaW5lIE1BR0lDS19EUkFX QUJMRSBsaXN0PE1hZ2ljazo6RHJhd2FibGU+Ci0rICAgICNlbmRpZgotKwotKyNlbmRpZgotKyNl bmRpZgotZGlmZiAtLWdpdCBhL2luY2x1ZGUvVGV4dFJlYWRlci5oIGIvaW5jbHVkZS9UZXh0UmVh ZGVyLmgKLWluZGV4IGQ3ZDY1M2QyLi5iYjRiZGMyMiAxMDA2NDQKLS0tLSBhL2luY2x1ZGUvVGV4 dFJlYWRlci5oCi0rKysgYi9pbmNsdWRlL1RleHRSZWFkZXIuaAotQEAgLTI4LDYgKzI4LDkgQEAK LSAjaWZuZGVmIE9QRU5TSE9UX1RFWFRfUkVBREVSX0gKLSAjZGVmaW5lIE9QRU5TSE9UX1RFWFRf UkVBREVSX0gKLSAKLSsvLyBSZXF1aXJlIEltYWdlTWFnaWNrIHN1cHBvcnQKLSsjaWZkZWYgVVNF X0lNQUdFTUFHSUNLCi0rCi0gI2luY2x1ZGUgIlJlYWRlckJhc2UuaCIKLSAKLSAjaW5jbHVkZSA8 Y21hdGg+Ci1AQCAtMzYsMTAgKzM5LDEwIEBACi0gI2luY2x1ZGUgPG9tcC5oPgotICNpbmNsdWRl IDxzdGRpby5oPgotICNpbmNsdWRlIDxtZW1vcnk+Ci0tI2luY2x1ZGUgIk1hZ2ljaysrLmgiCi0g I2luY2x1ZGUgIkNhY2hlTWVtb3J5LmgiCi0gI2luY2x1ZGUgIkVudW1zLmgiCi0gI2luY2x1ZGUg IkV4Y2VwdGlvbnMuaCIKLSsjaW5jbHVkZSAiTWFnaWNrVXRpbGl0aWVzLmgiCi0gCi0gdXNpbmcg bmFtZXNwYWNlIHN0ZDsKLSAKLUBAIC05MSw3ICs5NCw3IEBAIG5hbWVzcGFjZSBvcGVuc2hvdAot IAkJc3RyaW5nIHRleHRfY29sb3I7Ci0gCQlzdHJpbmcgYmFja2dyb3VuZF9jb2xvcjsKLSAJCXN0 ZDo6c2hhcmVkX3B0cjxNYWdpY2s6OkltYWdlPiBpbWFnZTsKLS0JCWxpc3Q8TWFnaWNrOjpEcmF3 YWJsZT4gbGluZXM7Ci0rCQlNQUdJQ0tfRFJBV0FCTEUgbGluZXM7Ci0gCQlib29sIGlzX29wZW47 Ci0gCQlHcmF2aXR5VHlwZSBncmF2aXR5OwotIAotQEAgLTE0NCw0ICsxNDcsNSBAQCBuYW1lc3Bh Y2Ugb3BlbnNob3QKLSAKLSB9Ci0gCi0tI2VuZGlmCi0rI2VuZGlmIC8vVVNFX0lNQUdFTUFHSUNL Ci0rI2VuZGlmIC8vT1BFTlNIT1RfVEVYVF9SRUFERVJfSAotZGlmZiAtLWdpdCBhL2luY2x1ZGUv ZWZmZWN0cy9NYXNrLmggYi9pbmNsdWRlL2VmZmVjdHMvTWFzay5oCi1pbmRleCBlZjcwN2Y1Zi4u ZTViOGY2NDkgMTAwNjQ0Ci0tLS0gYS9pbmNsdWRlL2VmZmVjdHMvTWFzay5oCi0rKysgYi9pbmNs dWRlL2VmZmVjdHMvTWFzay5oCi1AQCAtMjUsOCArMjUsOCBAQAotICAqIGFsb25nIHdpdGggT3Bl blNob3QgTGlicmFyeS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+ LgotICAqLwotIAotLSNpZm5kZWYgT1BFTlNIT1RfV0lQRV9FRkZFQ1RfSAotLSNkZWZpbmUgT1BF TlNIT1RfV0lQRV9FRkZFQ1RfSAotKyNpZm5kZWYgT1BFTlNIT1RfTUFTS19FRkZFQ1RfSAotKyNk ZWZpbmUgT1BFTlNIT1RfTUFTS19FRkZFQ1RfSAotIAotICNpbmNsdWRlICIuLi9FZmZlY3RCYXNl LmgiCi0gCi1AQCAtNDUsNiArNDUsNyBAQAotICNpbmNsdWRlICIuLi9RdEltYWdlUmVhZGVyLmgi Ci0gI2luY2x1ZGUgIi4uL0NodW5rUmVhZGVyLmgiCi0gI2lmZGVmIFVTRV9JTUFHRU1BR0lDSwot KwkjaW5jbHVkZSAiLi4vTWFnaWNrVXRpbGl0aWVzLmgiCi0gCSNpbmNsdWRlICIuLi9JbWFnZVJl YWRlci5oIgotICNlbmRpZgotIAotQEAgLTU0LDcgKzU1LDcgQEAgbmFtZXNwYWNlIG9wZW5zaG90 Ci0gewotIAotIAkvKioKLS0JICogQGJyaWVmIFRoaXMgY2xhc3MgdXNlcyB0aGUgSW1hZ2VNYWdp Y2srKyBsaWJyYXJpZXMsIHRvIGFwcGx5IGFscGhhIChvciB0cmFuc3BhcmVuY3kpIG1hc2tzCi0r CSAqIEBicmllZiBUaGlzIGNsYXNzIHVzZXMgdGhlIGltYWdlIGxpYnJhcmllcyB0byBhcHBseSBh bHBoYSAob3IgdHJhbnNwYXJlbmN5KSBtYXNrcwotIAkgKiB0byBhbnkgZnJhbWUuIEl0IGNhbiBh bHNvIGJlIGFuaW1hdGVkLCBhbmQgdXNlZCBhcyBhIHBvd2VyZnVsIFdpcGUgdHJhbnNpdGlvbi4K LSAJICoKLSAJICogVGhlc2UgbWFza3MgLyB3aXBlcyBjYW4gYWxzbyBiZSBjb21iaW5lZCwgc3Vj aCBhcyBhIHRyYW5zcGFyZW5jeSBtYXNrIG9uIHRvcCBvZiBhIGNsaXAsIHdoaWNoCi1kaWZmIC0t Z2l0IGEvc3JjL0ZyYW1lLmNwcCBiL3NyYy9GcmFtZS5jcHAKLWluZGV4IGFhN2MwZDg3Li41ZTA2 ZTYxZSAxMDA2NDQKLS0tLSBhL3NyYy9GcmFtZS5jcHAKLSsrKyBiL3NyYy9GcmFtZS5jcHAKLUBA IC05MjYsNyArOTI2LDcgQEAgc3RkOjpzaGFyZWRfcHRyPE1hZ2ljazo6SW1hZ2U+IEZyYW1lOjpH ZXRNYWdpY2tJbWFnZSgpCi0gCS8vIEdpdmUgaW1hZ2UgYSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5k IGNvbG9yCi0gCW1hZ2lja19pbWFnZS0+YmFja2dyb3VuZENvbG9yKE1hZ2ljazo6Q29sb3IoIm5v bmUiKSk7Ci0gCW1hZ2lja19pbWFnZS0+dmlydHVhbFBpeGVsTWV0aG9kKE1hZ2ljazo6VHJhbnNw YXJlbnRWaXJ0dWFsUGl4ZWxNZXRob2QpOwotLQltYWdpY2tfaW1hZ2UtPm1hdHRlKHRydWUpOwot KwlNQUdJQ0tfSU1BR0VfQUxQSEEobWFnaWNrX2ltYWdlLCB0cnVlKTsKLSAKLSAJcmV0dXJuIG1h Z2lja19pbWFnZTsKLSB9Ci1AQCAtOTQ1LDIwICs5NDUsMTIgQEAgdm9pZCBGcmFtZTo6QWRkTWFn aWNrSW1hZ2Uoc3RkOjpzaGFyZWRfcHRyPE1hZ2ljazo6SW1hZ2U+IG5ld19pbWFnZSkKLSAJcWJ1 ZmZlciA9IG5ldyB1bnNpZ25lZCBjaGFyW2J1ZmZlclNpemVdKCk7Ci0gCXVuc2lnbmVkIGNoYXIg KmJ1ZmZlciA9ICh1bnNpZ25lZCBjaGFyKilxYnVmZmVyOwotIAotLSAgICAvLyBJdGVyYXRlIHRo cm91Z2ggdGhlIHBpeGVsIHBhY2tldHMsIGFuZCBsb2FkIG91ciBvd24gYnVmZmVyCi0tCS8vIEVh Y2ggY29sb3IgbmVlZHMgdG8gYmUgc2NhbGVkIHRvIDggYml0ICh1c2luZyB0aGUgSW1hZ2VNYWdp Y2sgYnVpbHQtaW4gU2NhbGVRdWFudHVtVG9DaGFyIGZ1bmN0aW9uKQotLQlpbnQgbnVtY29waWVk ID0gMDsKLS0gICAgTWFnaWNrOjpQaXhlbFBhY2tldCAqcGl4ZWxzID0gbmV3X2ltYWdlLT5nZXRQ aXhlbHMoMCwwLCBuZXdfaW1hZ2UtPmNvbHVtbnMoKSwgbmV3X2ltYWdlLT5yb3dzKCkpOwotLSAg ICBmb3IgKGludCBuID0gMCwgaSA9IDA7IG4gPCBuZXdfaW1hZ2UtPmNvbHVtbnMoKSAqIG5ld19p bWFnZS0+cm93cygpOyBuICs9IDEsIGkgKz0gNCkgewotLSAgICAJYnVmZmVyW2krMF0gPSBNYWdp Y2tDb3JlOjpTY2FsZVF1YW50dW1Ub0NoYXIoKE1hZ2ljazo6UXVhbnR1bSkgcGl4ZWxzW25dLnJl ZCk7Ci0tICAgIAlidWZmZXJbaSsxXSA9IE1hZ2lja0NvcmU6OlNjYWxlUXVhbnR1bVRvQ2hhcigo TWFnaWNrOjpRdWFudHVtKSBwaXhlbHNbbl0uZ3JlZW4pOwotLSAgICAJYnVmZmVyW2krMl0gPSBN YWdpY2tDb3JlOjpTY2FsZVF1YW50dW1Ub0NoYXIoKE1hZ2ljazo6UXVhbnR1bSkgcGl4ZWxzW25d LmJsdWUpOwotLSAgICAJYnVmZmVyW2krM10gPSAyNTUgLSBNYWdpY2tDb3JlOjpTY2FsZVF1YW50 dW1Ub0NoYXIoKE1hZ2ljazo6UXVhbnR1bSkgcGl4ZWxzW25dLm9wYWNpdHkpOwotLSAgICAJbnVt Y29waWVkKz00OwotLSAgICB9Ci0tCi0tICAgIC8vIENyZWF0ZSBRSW1hZ2Ugb2YgZnJhbWUgZGF0 YQotLSAgICBpbWFnZSA9IHN0ZDo6c2hhcmVkX3B0cjxRSW1hZ2U+KG5ldyBRSW1hZ2UocWJ1ZmZl ciwgd2lkdGgsIGhlaWdodCwgd2lkdGggKiBCUFAsIFFJbWFnZTo6Rm9ybWF0X1JHQkE4ODg4LCAo UUltYWdlQ2xlYW51cEZ1bmN0aW9uKSAmY2xlYW5VcEJ1ZmZlciwgKHZvaWQqKSBxYnVmZmVyKSk7 Ci0rCU1hZ2lja0NvcmU6OkV4Y2VwdGlvbkluZm8gZXhjZXB0aW9uOwotKwkvLyBUT0RPOiBBY3R1 YWxseSBkbyBzb21ldGhpbmcsIGlmIHdlIGdldCBhbiBleGNlcHRpb24gaGVyZQotKwlNYWdpY2tD b3JlOjpFeHBvcnRJbWFnZVBpeGVscyhuZXdfaW1hZ2UtPmNvbnN0SW1hZ2UoKSwgMCwgMCwgbmV3 X2ltYWdlLT5jb2x1bW5zKCksIG5ld19pbWFnZS0+cm93cygpLCAiUkdCQSIsIE1hZ2ljazo6Q2hh clBpeGVsLCBidWZmZXIsICZleGNlcHRpb24pOwotKwotKwkvLyBDcmVhdGUgUUltYWdlIG9mIGZy YW1lIGRhdGEKLSsJaW1hZ2UgPSBzdGQ6OnNoYXJlZF9wdHI8UUltYWdlPihuZXcgUUltYWdlKHFi dWZmZXIsIHdpZHRoLCBoZWlnaHQsIHdpZHRoICogQlBQLCBRSW1hZ2U6OkZvcm1hdF9SR0JBODg4 OCwgKFFJbWFnZUNsZWFudXBGdW5jdGlvbikgJmNsZWFuVXBCdWZmZXIsICh2b2lkKikgcWJ1ZmZl cikpOwotIAotIAkvLyBVcGRhdGUgaGVpZ2h0IGFuZCB3aWR0aAotIAl3aWR0aCA9IGltYWdlLT53 aWR0aCgpOwotZGlmZiAtLWdpdCBhL3NyYy9JbWFnZVJlYWRlci5jcHAgYi9zcmMvSW1hZ2VSZWFk ZXIuY3BwCi1pbmRleCBmNTM1NjY2YS4uY2MyMDA1YTQgMTAwNjQ0Ci0tLS0gYS9zcmMvSW1hZ2VS ZWFkZXIuY3BwCi0rKysgYi9zcmMvSW1hZ2VSZWFkZXIuY3BwCi1AQCAtMjUsNiArMjUsOSBAQAot ICAqIGFsb25nIHdpdGggT3BlblNob3QgTGlicmFyeS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cu Z251Lm9yZy9saWNlbnNlcy8+LgotICAqLwotIAotKy8vIFJlcXVpcmUgSW1hZ2VNYWdpY2sgc3Vw cG9ydAotKyNpZmRlZiBVU0VfSU1BR0VNQUdJQ0sKLSsKLSAjaW5jbHVkZSAiLi4vaW5jbHVkZS9J bWFnZVJlYWRlci5oIgotIAotIHVzaW5nIG5hbWVzcGFjZSBvcGVuc2hvdDsKLUBAIC01OSw3ICs2 Miw3IEBAIHZvaWQgSW1hZ2VSZWFkZXI6Ok9wZW4oKQotIAotIAkJCS8vIEdpdmUgaW1hZ2UgYSB0 cmFuc3BhcmVudCBiYWNrZ3JvdW5kIGNvbG9yCi0gCQkJaW1hZ2UtPmJhY2tncm91bmRDb2xvcihN YWdpY2s6OkNvbG9yKCJub25lIikpOwotLQkJCWltYWdlLT5tYXR0ZSh0cnVlKTsKLSsJCQlNQUdJ Q0tfSU1BR0VfQUxQSEEoaW1hZ2UsIHRydWUpOwotIAkJfQotIAkJY2F0Y2ggKE1hZ2ljazo6RXhj ZXB0aW9uIGUpIHsKLSAJCQkvLyByYWlzZSBleGNlcHRpb24KLUBAIC0xMDYsNyArMTA5LDcgQEAg dm9pZCBJbWFnZVJlYWRlcjo6Q2xvc2UoKQotIAl7Ci0gCQkvLyBNYXJrIGFzICJjbG9zZWQiCi0g CQlpc19vcGVuID0gZmFsc2U7Ci0tCQkKLSsKLSAJCS8vIERlbGV0ZSB0aGUgaW1hZ2UKLSAJCWlt YWdlLnJlc2V0KCk7Ci0gCX0KLUBAIC0xODgsMyArMTkxLDUgQEAgdm9pZCBJbWFnZVJlYWRlcjo6 U2V0SnNvblZhbHVlKEpzb246OlZhbHVlIHJvb3QpIHsKLSAJCU9wZW4oKTsKLSAJfQotIH0KLSsK LSsjZW5kaWYgLy9VU0VfSU1BR0VNQUdJQ0sKLWRpZmYgLS1naXQgYS9zcmMvSW1hZ2VXcml0ZXIu Y3BwIGIvc3JjL0ltYWdlV3JpdGVyLmNwcAotaW5kZXggNDE2MjZiMDkuLjViYzAzNjdhIDEwMDY0 NAotLS0tIGEvc3JjL0ltYWdlV3JpdGVyLmNwcAotKysrIGIvc3JjL0ltYWdlV3JpdGVyLmNwcAot QEAgLTI4LDYgKzI4LDkgQEAKLSAgKiBhbG9uZyB3aXRoIE9wZW5TaG90IExpYnJhcnkuIElmIG5v dCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KLSAgKi8KLSAKLSsvL1JlcXVp cmUgSW1hZ2VNYWdpY2sgc3VwcG9ydAotKyNpZmRlZiBVU0VfSU1BR0VNQUdJQ0sKLSsKLSAjaW5j bHVkZSAiLi4vaW5jbHVkZS9JbWFnZVdyaXRlci5oIgotIAotIHVzaW5nIG5hbWVzcGFjZSBvcGVu c2hvdDsKLUBAIC05Nyw3ICsxMDAsNyBAQCB2b2lkIEltYWdlV3JpdGVyOjpXcml0ZUZyYW1lKHN0 ZDo6c2hhcmVkX3B0cjxGcmFtZT4gZnJhbWUpCi0gCXN0ZDo6c2hhcmVkX3B0cjxNYWdpY2s6Oklt YWdlPiBmcmFtZV9pbWFnZSA9IGZyYW1lLT5HZXRNYWdpY2tJbWFnZSgpOwotIAlmcmFtZV9pbWFn ZS0+bWFnaWNrKCBpbmZvLnZjb2RlYyApOwotIAlmcmFtZV9pbWFnZS0+YmFja2dyb3VuZENvbG9y KE1hZ2ljazo6Q29sb3IoIm5vbmUiKSk7Ci0tCWZyYW1lX2ltYWdlLT5tYXR0ZSh0cnVlKTsKLSsJ TUFHSUNLX0lNQUdFX0FMUEhBKGZyYW1lX2ltYWdlLCB0cnVlKTsKLSAJZnJhbWVfaW1hZ2UtPnF1 YWxpdHkoaW1hZ2VfcXVhbGl0eSk7Ci0gCWZyYW1lX2ltYWdlLT5hbmltYXRpb25EZWxheShpbmZv LnZpZGVvX3RpbWViYXNlLlRvRmxvYXQoKSAqIDEwMCk7Ci0gCWZyYW1lX2ltYWdlLT5hbmltYXRp b25JdGVyYXRpb25zKG51bWJlcl9vZl9sb29wcyk7Ci1AQCAtMTUzLDMgKzE1Niw0IEBAIHZvaWQg SW1hZ2VXcml0ZXI6OkNsb3NlKCkKLSAJWm1xTG9nZ2VyOjpJbnN0YW5jZSgpLT5BcHBlbmREZWJ1 Z01ldGhvZCgiSW1hZ2VXcml0ZXI6OkNsb3NlIiwgIiIsIC0xLCAiIiwgLTEsICIiLCAtMSwgIiIs IC0xLCAiIiwgLTEsICIiLCAtMSk7Ci0gfQotIAotKyNlbmRpZiAvL1VTRV9JTUFHRU1BR0lDSwot ZGlmZiAtLWdpdCBhL3NyYy9UZXh0UmVhZGVyLmNwcCBiL3NyYy9UZXh0UmVhZGVyLmNwcAotaW5k ZXggODIzNGFhNWQuLmIzZmFlY2YzIDEwMDY0NAotLS0tIGEvc3JjL1RleHRSZWFkZXIuY3BwCi0r KysgYi9zcmMvVGV4dFJlYWRlci5jcHAKLUBAIC0yNSw2ICsyNSw5IEBACi0gICogYWxvbmcgd2l0 aCBPcGVuU2hvdCBMaWJyYXJ5LiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vu c2VzLz4uCi0gICovCi0gCi0rLy8gUmVxdWlyZSBJbWFnZU1hZ2ljayBzdXBwb3J0Ci0rI2lmZGVm IFVTRV9JTUFHRU1BR0lDSwotKwotICNpbmNsdWRlICIuLi9pbmNsdWRlL1RleHRSZWFkZXIuaCIK LSAKLSB1c2luZyBuYW1lc3BhY2Ugb3BlbnNob3Q7Ci1AQCAtMjU0LDMgKzI1Nyw1IEBAIHZvaWQg VGV4dFJlYWRlcjo6U2V0SnNvblZhbHVlKEpzb246OlZhbHVlIHJvb3QpIHsKLSAJCU9wZW4oKTsK LSAJfQotIH0KLSsKLSsjZW5kaWYgLy9VU0VfSU1BR0VNQUdJQ0sKLWRpZmYgLS1naXQgYS9zcmMv ZWZmZWN0cy9NYXNrLmNwcCBiL3NyYy9lZmZlY3RzL01hc2suY3BwCi1pbmRleCBmOGYzNGFjNi4u YWI2MzQ2NTQgMTAwNjQ0Ci0tLS0gYS9zcmMvZWZmZWN0cy9NYXNrLmNwcAotKysrIGIvc3JjL2Vm ZmVjdHMvTWFzay5jcHAKLUBAIC0yMzQsMTEgKzIzNCwxMSBAQCB2b2lkIE1hc2s6OlNldEpzb25W YWx1ZShKc29uOjpWYWx1ZSByb290KSB7Ci0gCQkJCQlyZWFkZXItPlNldEpzb25WYWx1ZShyb290 WyJyZWFkZXIiXSk7Ci0gCi0gCSNpZmRlZiBVU0VfSU1BR0VNQUdJQ0sKLS0JCQkJCX0gZWxzZSBp ZiAodHlwZSA9PSAiSW1hZ2VSZWFkZXIiKSB7Ci0rCQkJCX0gZWxzZSBpZiAodHlwZSA9PSAiSW1h Z2VSZWFkZXIiKSB7Ci0gCi0tCQkJCQkJLy8gQ3JlYXRlIG5ldyByZWFkZXIKLS0JCQkJCQlyZWFk ZXIgPSBuZXcgSW1hZ2VSZWFkZXIocm9vdFsicmVhZGVyIl1bInBhdGgiXS5hc1N0cmluZygpKTsK LS0JCQkJCQlyZWFkZXItPlNldEpzb25WYWx1ZShyb290WyJyZWFkZXIiXSk7Ci0rCQkJCQkvLyBD cmVhdGUgbmV3IHJlYWRlcgotKwkJCQkJcmVhZGVyID0gbmV3IEltYWdlUmVhZGVyKHJvb3RbInJl YWRlciJdWyJwYXRoIl0uYXNTdHJpbmcoKSk7Ci0rCQkJCQlyZWFkZXItPlNldEpzb25WYWx1ZShy b290WyJyZWFkZXIiXSk7Ci0gCSNlbmRpZgotIAotIAkJCQl9IGVsc2UgaWYgKHR5cGUgPT0gIlF0 SW1hZ2VSZWFkZXIiKSB7Ci1AQCAtMjkwLDQgKzI5MCwzIEBAIHN0cmluZyBNYXNrOjpQcm9wZXJ0 aWVzSlNPTihpbnQ2NF90IHJlcXVlc3RlZF9mcmFtZSkgewotIAkvLyBSZXR1cm4gZm9ybWF0dGVk IHN0cmluZwotIAlyZXR1cm4gcm9vdC50b1N0eWxlZFN0cmluZygpOwotIH0KLS0KZGlmZiAtLWdp dCBhL3NyY3BrZ3MvbGlib3BlbnNob3QvdGVtcGxhdGUgYi9zcmNwa2dzL2xpYm9wZW5zaG90L3Rl bXBsYXRlCmluZGV4IDA3MDFiZWQwZGJmLi41N2IzZWRjZjdlMyAxMDA2NDQKLS0tIGEvc3JjcGtn cy9saWJvcGVuc2hvdC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2xpYm9wZW5zaG90L3RlbXBsYXRl CkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnbGlib3BlbnNob3QnCiBwa2du YW1lPWxpYm9wZW5zaG90Ci12ZXJzaW9uPTAuMi4zCi1yZXZpc2lvbj0zCit2ZXJzaW9uPTAuMi41 CityZXZpc2lvbj0xCiBhcmNocz0iaTY4NiB4ODZfNjQgcHBjNjRsZSIKIGJ1aWxkX3N0eWxlPWNt YWtlCiBjb25maWd1cmVfYXJncz0iLURFTkFCTEVfUlVCWT1PRkYgLURVU0VfU1lTVEVNX0pTT05D UFA9T04iICMgQnVpbGRzIGZhaWwgd2l0aCBSdWJ5LTIuNC4xCkBAIC0xNSwxNCArMTUsOSBAQCBt YWludGFpbmVyPSJTcGVuY2VyIEhpbGwgPHNwZW5jZXJuaDc3QGdtYWlsLmNvbT4iCiBsaWNlbnNl PSJMR1BMLTMuMC1vci1sYXRlciIKIGhvbWVwYWdlPSJodHRwczovL2dpdGh1Yi5jb20vT3BlblNo b3QvbGlib3BlbnNob3QiCiBkaXN0ZmlsZXM9Imh0dHBzOi8vZ2l0aHViLmNvbS9PcGVuU2hvdC9s aWJvcGVuc2hvdC9hcmNoaXZlL3Yke3ZlcnNpb259LnRhci5neiIKLWNoZWNrc3VtPTg1MzZiMGE3 OTBiMGQ5OGVkNGMzYjEwZTExZDFiMzRhZTY4Y2NiYzcxMDg4N2UzNzAzYTUxNDNkOTU1OTg3NDYK K2NoZWNrc3VtPThhZTdkMjI2ZmJkMmVmYmM4NGRhNGY3ZDlkOGM3ZjNjYzk2MTZlNGRlNDZlMTIz M2UzYjBhODRhYzBhNDI5YmMKIHBhdGNoX2FyZ3M9Ii1OcDEiCiAKLXByZV9jb25maWd1cmUoKSB7 Ci0JIyB2ZW5kb3JlZCBweXRob24gY21ha2UgbW9kdWxlIGRvZXMgbm90IGZpbmQgcHl0aG9uIDMu OAotCXJtIGNtYWtlL01vZHVsZXMvRmluZFB5dGhvbkxpYnMuY21ha2UKLX0KLQogbGlib3BlbnNo b3QtZGV2ZWxfcGFja2FnZSgpIHsKIAlzaG9ydF9kZXNjKz0iIC0gZGV2ZWxvcG1lbnQgZmlsZXMi CiAJcGtnX2luc3RhbGwoKSB7Cg== --===============0909848955780698186==--