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 18514 invoked from network); 18 Mar 2023 15:51:34 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 18 Mar 2023 15:51:34 -0000 Content-Type: multipart/mixed; boundary="===============0220816138139567510==" MIME-Version: 1.0 Subject: =?utf8?q?=5BPR_PATCH=5D_chromium=3A_update_to_111=2E0=2E5563=2E64=2E?= To: ml@inbox.vuxu.org From: Duncaen Reply-to: ml@inbox.vuxu.org Message-ID: Date: Sat, 18 Mar 2023 16:51:34 +0100 List-Id: GitHub notification mails are now in MIME to allow UTF8. --===============0220816138139567510== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYSBuZXcgcHVsbCByZXF1ZXN0IGJ5IER1bmNhZW4gYWdhaW5zdCBtYXN0ZXIgb24g dGhlIHZvaWQtcGFja2FnZXMgcmVwb3NpdG9yeQoKaHR0cHM6Ly9naXRodWIuY29tL0R1bmNhZW4v dm9pZC1wYWNrYWdlcyBjaHJvbWl1bS0xMTEKaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgv dm9pZC1wYWNrYWdlcy9wdWxsLzQyODQyCgpjaHJvbWl1bTogdXBkYXRlIHRvIDExMS4wLjU1NjMu NjQuCltjaSBza2lwXQ0KDQoqIFt4XSB4ODZfNjQtZ2xpYmMNCiogWyBdIHg4Nl82NC1tdXNsDQoq IFsgXSBhYXJjaDY0LW11c2wNCiogWyBdIGk2ODYKCkEgcGF0Y2ggZmlsZSBmcm9tIGh0dHBzOi8v Z2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvcHVsbC80Mjg0Mi5wYXRjaCBpcyBh dHRhY2hlZA== --===============0220816138139567510== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-chromium-111-42842.patch" RnJvbSA1NmRjZjFkZmQyY2I5NTBiNzVkNTEyZTIxNDdiMzM3NTQwY2JjYzc0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBEdW5jYWVuIDxkdW5jYWVuQHZvaWRsaW51eC5vcmc+CkRhdGU6 IFNhdCwgMTggTWFyIDIwMjMgMDA6NDE6MzcgKzAxMDAKU3ViamVjdDogW1BBVENIXSBjaHJvbWl1 bTogdXBkYXRlIHRvIDExMS4wLjU1NjMuNjQuCgotLS0KIC4uLi9wYXRjaGVzL2J1aWxkLWFkZC11 c2VfY3h4MTcucGF0Y2ggICAgICAgICB8ICAyMiAtLQogLi4uaHJvbWl1bS0xMDMtVmlydHVhbEN1 cnNvci1zdGQtbGF5b3V0LnBhdGNoIHwgMjMxIC0tLS0tLS0tLS0tLS0tLS0tLQogLi4uY2hyb21p dW0tMTEwLUNyZWRlbnRpYWxVSUVudHJ5LWNvbnN0LnBhdGNoIHwgIDQxIC0tLS0KIC4uLnJvbWl1 bS0xMTAtRGFya01vZGVMQUJDb2xvclNwYWNlLXBvdy5wYXRjaCB8ICAzNyAtLS0KIC4uLi9jaHJv bWl1bS0xMTAtTmF0aXZlVGhlbWVCYXNlLWZhYnMucGF0Y2ggICB8ICAyOSAtLS0KIC4uLi9wYXRj aGVzL2ZpeC1nbnUtbGliYy12ZXJzaW9uLXVzYWdlLnBhdGNoICB8ICAyMSAtLQogLi4uL3BhdGNo ZXMvZml4LWxpYmMtdmVyc2lvbi1pbmNsdWRlLnBhdGNoICAgIHwgIDE1ICsrCiAuLi4vY2hyb21p dW0vcGF0Y2hlcy9maXgtbmFycm93aW5nLWNhc3QucGF0Y2ggfCAgMTYgLS0KIC4uLi9wYXRjaGVz L2ZpeC1zdGFjay11dGlscy13aXRoLW11c2wucGF0Y2ggICB8ICAyMCAtLQogc3JjcGtncy9jaHJv bWl1bS9wYXRjaGVzL211c2wtc3RhdC5wYXRjaCAgICAgIHwgIDEyIC0KIHNyY3BrZ3MvY2hyb21p dW0vcGF0Y2hlcy9uby1leGVjaW5mby5wYXRjaCAgICB8ICA1NCAtLS0tCiAuLi4tY29uc3RyYWlu dHMtb24tVmlydHVhbEN1cnNvci1sYXlvdXQucGF0Y2ggfCAgNDggKysrKwogLi4udGhlLVN0YWNr LW9iamVjdC1mcm9tLVRocmVhZExvY2FsVG9wLnBhdGNoIHwgMjA1IC0tLS0tLS0tLS0tLS0tLS0K IHNyY3BrZ3MvY2hyb21pdW0vdGVtcGxhdGUgICAgICAgICAgICAgICAgICAgICB8ICAgNiArLQog MTQgZmlsZXMgY2hhbmdlZCwgNjYgaW5zZXJ0aW9ucygrKSwgNjkxIGRlbGV0aW9ucygtKQogZGVs ZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9idWlsZC1hZGQtdXNlX2N4 eDE3LnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2No cm9taXVtLTEwMy1WaXJ0dWFsQ3Vyc29yLXN0ZC1sYXlvdXQucGF0Y2gKIGRlbGV0ZSBtb2RlIDEw MDY0NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTEwLUNyZWRlbnRpYWxVSUVu dHJ5LWNvbnN0LnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRj aGVzL2Nocm9taXVtLTExMC1EYXJrTW9kZUxBQkNvbG9yU3BhY2UtcG93LnBhdGNoCiBkZWxldGUg bW9kZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTExMC1OYXRpdmVU aGVtZUJhc2UtZmFicy5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2hyb21pdW0v cGF0Y2hlcy9maXgtZ251LWxpYmMtdmVyc2lvbi11c2FnZS5wYXRjaAogY3JlYXRlIG1vZGUgMTAw NjQ0IHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9maXgtbGliYy12ZXJzaW9uLWluY2x1ZGUucGF0 Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvZml4LW5hcnJv d2luZy1jYXN0LnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRj aGVzL2ZpeC1zdGFjay11dGlscy13aXRoLW11c2wucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBz cmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvbXVzbC1zdGF0LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2 NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL3NxbC1yZWxheC1jb25zdHJhaW50cy1vbi1WaXJ0 dWFsQ3Vyc29yLWxheW91dC5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2hyb21p dW0vcGF0Y2hlcy92OC1tb3ZlLXRoZS1TdGFjay1vYmplY3QtZnJvbS1UaHJlYWRMb2NhbFRvcC5w YXRjaAoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9idWlsZC1hZGQtdXNl X2N4eDE3LnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2J1aWxkLWFkZC11c2VfY3h4 MTcucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI1MDgyNWZiN2UyYy4uMDAw MDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9idWlsZC1hZGQtdXNlX2N4 eDE3LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotLS0tIGEvYnVpbGQvY29u ZmlnL2NvbXBpbGVyL0JVSUxELmduCi0rKysgYi9idWlsZC9jb25maWcvY29tcGlsZXIvQlVJTEQu Z24KLUBAIC0xOTEsNiArMTkxLDEwIEBACi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRfY3B1ID09ICJ4NjQiKSkpKQotIH0KLSAK LStkZWNsYXJlX2FyZ3MoKSB7Ci0rICB1c2VfY3h4MTcgPSBmYWxzZQotK30KLSsKLSBpZiAoaXNf YW5kcm9pZCB8fCAoaXNfY2hyb21lb3NfYXNoICYmIGlzX2Nocm9tZW9zX2RldmljZSkpIHsKLSAg ICMgU2V0IHRoZSBwYXRoIHRvIHVzZSBvcmRlcmZpbGUgZm9yIGxpbmtpbmcgQ2hyb21lCi0gICAj IE5vdGUgdGhhdCB0aGlzIGlzIGZvciB1c2luZyBvbmx5IG9uZSBvcmRlcmZpbGUgZm9yIGxpbmtp bmcKLUBAIC02MDUsNyArNjA5LDcgQEAKLSAgICAgICAgIGNmbGFnc19jYyArPSBbICItZm5vLXRy aWdyYXBocyIgXQotICAgICAgIH0KLSAgICAgfSBlbHNlIGlmIChpc19jbGFuZykgewotLSAgICAg IGlmIChpc19jaHJvbWVvc19kZXZpY2UpIHsKLSsgICAgICBpZiAoaXNfY2hyb21lb3NfZGV2aWNl IHx8IHVzZV9jeHgxNykgewotICAgICAgICAgIyBUT0RPKGNyYnVnLmNvbS8xMzkyNDcxKTogU3Vw cG9ydCBDKysyMCBpbiBDck9TIHRvb2xjaGFpbi4KLSAgICAgICAgIGNmbGFnc19jYyArPSBbICIt c3RkPSR7c3RhbmRhcmRfcHJlZml4fSsrMTciIF0KLSAgICAgICB9IGVsc2UgewpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTEwMy1WaXJ0dWFsQ3Vyc29yLXN0 ZC1sYXlvdXQucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTAzLVZp cnR1YWxDdXJzb3Itc3RkLWxheW91dC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggYmUwNTAyZTk5MWJlLi4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9jaHJvbWl1bS9wYXRj aGVzL2Nocm9taXVtLTEwMy1WaXJ0dWFsQ3Vyc29yLXN0ZC1sYXlvdXQucGF0Y2gKKysrIC9kZXYv bnVsbApAQCAtMSwyMzEgKzAsMCBAQAotRnJvbSAxNDQ0NzlhZDdiNDI4N2JlZTQwNjdmOTVlNDIx OGY2MTQ3OThhODY1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogU3RlcGhhbiBIYXJ0 bWFubiA8c3RoYTA5QGdvb2dsZW1haWwuY29tPgotRGF0ZTogU3VuLCAxNiBKYW4gMjAyMiAxOTox NToyNiArMDAwMAotU3ViamVjdDogW1BBVENIXSBzcWw6IG1ha2UgVmlydHVhbEN1cnNvciBzdGFu ZGFyZCBsYXlvdXQgdHlwZQotCi1zcWw6OnJlY292ZXI6OlZpcnR1YWxDdXJzb3IgbmVlZHMgdG8g YmUgYSBzdGFuZGFyZCBsYXlvdXQgdHlwZSwgYnV0Ci1oYXMgbWVtYmVycyBvZiB0eXBlIHN0ZDo6 dW5pcXVlX3B0ci4gSG93ZXZlciwgc3RkOjp1bmlxdWVfcHRyIGlzIG5vdAotZ3VhcmFudGVlZCB0 byBiZSBzdGFuZGFyZCBsYXlvdXQuIENvbXBpbGluZyB3aXRoIGNsYW5nIGNvbWJpbmVkIHdpdGgK LWdjYy0xMSBsaWJzdGRjKysgZmFpbHMgYmVjYXVzZSBvZiB0aGlzLgotCi1CdWc6IDExODk3ODgK LUNoYW5nZS1JZDogSWE2ZGMzODhjYzVlZjFjMGYyYWZjNzVmOGNhNDViOWYxMjY4N2NhOWMKLS0t LQotCi1kaWZmIC0tZ2l0IGEvc3FsL3JlY292ZXJfbW9kdWxlL2J0cmVlLmNjIGIvc3FsL3JlY292 ZXJfbW9kdWxlL2J0cmVlLmNjCi1pbmRleCBjYzk0MjBlNS4uZjEyZDhmYSAxMDA2NDQKLS0tLSBh L3NxbC9yZWNvdmVyX21vZHVsZS9idHJlZS5jYwotKysrIGIvc3FsL3JlY292ZXJfbW9kdWxlL2J0 cmVlLmNjCi1AQCAtMTM2LDE2ICsxMzYsMjIgQEAKLSAgICAgICAgICAgICAgICJNb3ZlIHRoZSBk ZXN0cnVjdG9yIHRvIHRoZSAuY2MgZmlsZSBpZiBpdCdzIG5vbi10cml2YWwiKTsKLSAjZW5kaWYg IC8vICFEQ0hFQ0tfSVNfT04oKQotIAotLUxlYWZQYWdlRGVjb2Rlcjo6TGVhZlBhZ2VEZWNvZGVy KERhdGFiYXNlUGFnZVJlYWRlciogZGJfcmVhZGVyKSBub2V4Y2VwdAotLSAgICA6IHBhZ2VfaWRf KGRiX3JlYWRlci0+cGFnZV9pZCgpKSwKLS0gICAgICBkYl9yZWFkZXJfKGRiX3JlYWRlciksCi0t ICAgICAgY2VsbF9jb3VudF8oQ29tcHV0ZUNlbGxDb3VudChkYl9yZWFkZXIpKSwKLS0gICAgICBu ZXh0X3JlYWRfaW5kZXhfKDApLAotLSAgICAgIGxhc3RfcmVjb3JkX3NpemVfKDApIHsKLStMZWFm UGFnZURlY29kZXI6OkxlYWZQYWdlRGVjb2RlcigpIG5vZXhjZXB0ID0gZGVmYXVsdDsKLSsKLSt2 b2lkIExlYWZQYWdlRGVjb2Rlcjo6SW5pdGlhbGl6ZShEYXRhYmFzZVBhZ2VSZWFkZXIqIGRiX3Jl YWRlcikgewotKyAgcGFnZV9pZF8gPSBkYl9yZWFkZXItPnBhZ2VfaWQoKTsKLSsgIGRiX3JlYWRl cl8gPSBkYl9yZWFkZXI7Ci0rICBjZWxsX2NvdW50XyA9IENvbXB1dGVDZWxsQ291bnQoZGJfcmVh ZGVyKTsKLSsgIG5leHRfcmVhZF9pbmRleF8gPSAwOwotKyAgbGFzdF9yZWNvcmRfc2l6ZV8gPSAw OwotICAgRENIRUNLKElzT25WYWxpZFBhZ2UoZGJfcmVhZGVyKSk7Ci0gICBEQ0hFQ0soRGF0YWJh c2VQYWdlUmVhZGVyOjpJc1ZhbGlkUGFnZUlkKHBhZ2VfaWRfKSk7Ci0gfQotIAotK3ZvaWQgTGVh ZlBhZ2VEZWNvZGVyOjpSZXNldCgpIHsKLSsgIGRiX3JlYWRlcl8gPSBudWxscHRyOwotK30KLSsK LSBib29sIExlYWZQYWdlRGVjb2Rlcjo6VHJ5QWR2YW5jZSgpIHsKLSAgIERDSEVDS19DQUxMRURf T05fVkFMSURfU0VRVUVOQ0Uoc2VxdWVuY2VfY2hlY2tlcl8pOwotICAgRENIRUNLKENhbkFkdmFu Y2UoKSk7Ci1kaWZmIC0tZ2l0IGEvc3FsL3JlY292ZXJfbW9kdWxlL2J0cmVlLmggYi9zcWwvcmVj b3Zlcl9tb2R1bGUvYnRyZWUuaAotaW5kZXggZWFhMDg3YTUuLmRmMGUwYzkgMTAwNjQ0Ci0tLS0g YS9zcWwvcmVjb3Zlcl9tb2R1bGUvYnRyZWUuaAotKysrIGIvc3FsL3JlY292ZXJfbW9kdWxlL2J0 cmVlLmgKLUBAIC0xMDEsOSArMTAxLDcgQEAKLSAgcHVibGljOgotICAgLy8gQ3JlYXRlcyBhIGRl Y29kZXIgZm9yIGEgRGF0YWJhc2VQYWdlUmVhZGVyJ3MgbGFzdCByZWFkIHBhZ2UuCi0gICAvLwot LSAgLy8gfGRiX3JlYWRlcnwgbXVzdCBoYXZlIGJlZW4gdXNlZCB0byByZWFkIGFuIGlubmVyIHBh Z2Ugb2YgYSB0YWJsZSBCLXRyZWUuCi0tICAvLyB8ZGJfcmVhZGVyfCBtdXN0IG91dGxpdmUgdGhp cyBpbnN0YW5jZS4KLS0gIGV4cGxpY2l0IExlYWZQYWdlRGVjb2RlcihEYXRhYmFzZVBhZ2VSZWFk ZXIqIGRiX3JlYWRlcikgbm9leGNlcHQ7Ci0rICBMZWFmUGFnZURlY29kZXIoKSBub2V4Y2VwdDsK LSAgIH5MZWFmUGFnZURlY29kZXIoKSBub2V4Y2VwdCA9IGRlZmF1bHQ7Ci0gCi0gICBMZWFmUGFn ZURlY29kZXIoY29uc3QgTGVhZlBhZ2VEZWNvZGVyJikgPSBkZWxldGU7Ci1AQCAtMTUxLDYgKzE0 OSwxNyBAQAotICAgLy8gcmVhZCBhcyBsb25nIGFzIENhbkFkdmFuY2UoKSByZXR1cm5zIHRydWUu Ci0gICBib29sIFRyeUFkdmFuY2UoKTsKLSAKLSsgIC8vIEluaXRpYWxpemUgd2l0aCBEYXRhYmFz ZVBhZ2VSZWFkZXIKLSsgIC8vIHxkYl9yZWFkZXJ8IG11c3QgaGF2ZSBiZWVuIHVzZWQgdG8gcmVh ZCBhbiBpbm5lciBwYWdlIG9mIGEgdGFibGUgQi10cmVlLgotKyAgLy8gfGRiX3JlYWRlcnwgbXVz dCBvdXRsaXZlIHRoaXMgaW5zdGFuY2UuCi0rICB2b2lkIEluaXRpYWxpemUoRGF0YWJhc2VQYWdl UmVhZGVyKiBkYl9yZWFkZXIpOwotKwotKyAgLy8gUmVzZXQgaW50ZXJuYWwgRGF0YWJhc2VQYWdl UmVhZGVyCi0rICB2b2lkIFJlc2V0KCk7Ci0rCi0rICAvLyBUcnVlIGlmIERhdGFiYXNlUGFnZVJl YWRlciBpcyB2YWxpZAotKyAgYm9vbCBJc1ZhbGlkKCkgeyByZXR1cm4gKGRiX3JlYWRlcl8gIT0g bnVsbHB0cik7IH0KLSsKLSAgIC8vIFRydWUgaWYgdGhlIGdpdmVuIHJlYWRlciBtYXkgcG9pbnQg dG8gYW4gaW5uZXIgcGFnZSBpbiBhIHRhYmxlIEItdHJlZS4KLSAgIC8vCi0gICAvLyBUaGUgbGFz dCBSZWFkUGFnZSgpIGNhbGwgb24gfGRiX3JlYWRlcnwgbXVzdCBoYXZlIHN1Y2NlZWRlZC4KLUBA IC0xNjQsMTQgKzE3MywxNCBAQAotICAgc3RhdGljIGludCBDb21wdXRlQ2VsbENvdW50KERhdGFi YXNlUGFnZVJlYWRlciogZGJfcmVhZGVyKTsKLSAKLSAgIC8vIFRoZSBudW1iZXIgb2YgdGhlIEIt dHJlZSBwYWdlIHRoaXMgcmVhZGVyIGlzIHJlYWRpbmcuCi0tICBjb25zdCBpbnQ2NF90IHBhZ2Vf aWRfOwotKyAgaW50NjRfdCBwYWdlX2lkXzsKLSAgIC8vIFVzZWQgdG8gcmVhZCB0aGUgdHJlZSBw YWdlLgotICAgLy8KLSAgIC8vIFJhdyBwb2ludGVyIHVzYWdlIGlzIGFjY2VwdGFibGUgYmVjYXVz ZSB0aGlzIGluc3RhbmNlJ3Mgb3duZXIgaXMgZXhwZWN0ZWQKLSAgIC8vIHRvIGVuc3VyZSB0aGF0 IHRoZSBEYXRhYmFzZVBhZ2VSZWFkZXIgb3V0bGl2ZXMgdGhpcy4KLS0gIERhdGFiYXNlUGFnZVJl YWRlciogY29uc3QgZGJfcmVhZGVyXzsKLSsgIERhdGFiYXNlUGFnZVJlYWRlciogZGJfcmVhZGVy XzsKLSAgIC8vIENhY2hlcyB0aGUgQ29tcHV0ZUNlbGxDb3VudCgpIHZhbHVlIGZvciB0aGlzIHJl YWRlcidzIHBhZ2UuCi0tICBjb25zdCBpbnQgY2VsbF9jb3VudF8gPSBDb21wdXRlQ2VsbENvdW50 KGRiX3JlYWRlcl8pOwotKyAgaW50IGNlbGxfY291bnRfOwotIAotICAgLy8gVGhlIHJlYWRlcidz IGN1cnNvciBzdGF0ZS4KLSAgIC8vCi1kaWZmIC0tZ2l0IGEvc3FsL3JlY292ZXJfbW9kdWxlL2N1 cnNvci5jYyBiL3NxbC9yZWNvdmVyX21vZHVsZS9jdXJzb3IuY2MKLWluZGV4IDRmODI3ZWQuLjI0 MGRlNDk5IDEwMDY0NAotLS0tIGEvc3FsL3JlY292ZXJfbW9kdWxlL2N1cnNvci5jYwotKysrIGIv c3FsL3JlY292ZXJfbW9kdWxlL2N1cnNvci5jYwotQEAgLTI4LDcgKzI4LDcgQEAKLSBpbnQgVmly dHVhbEN1cnNvcjo6Rmlyc3QoKSB7Ci0gICBEQ0hFQ0tfQ0FMTEVEX09OX1ZBTElEX1NFUVVFTkNF KHNlcXVlbmNlX2NoZWNrZXJfKTsKLSAgIGlubmVyX2RlY29kZXJzXy5jbGVhcigpOwotLSAgbGVh Zl9kZWNvZGVyXyA9IG51bGxwdHI7Ci0rICBsZWFmX2RlY29kZXJfLlJlc2V0KCk7Ci0gCi0gICBB cHBlbmRQYWdlRGVjb2Rlcih0YWJsZV8tPnJvb3RfcGFnZV9pZCgpKTsKLSAgIHJldHVybiBOZXh0 KCk7Ci1AQCAtMzgsMTggKzM4LDE4IEBACi0gICBEQ0hFQ0tfQ0FMTEVEX09OX1ZBTElEX1NFUVVF TkNFKHNlcXVlbmNlX2NoZWNrZXJfKTsKLSAgIHJlY29yZF9yZWFkZXJfLlJlc2V0KCk7Ci0gCi0t ICB3aGlsZSAoIWlubmVyX2RlY29kZXJzXy5lbXB0eSgpIHx8IGxlYWZfZGVjb2Rlcl8uZ2V0KCkp IHsKLS0gICAgaWYgKGxlYWZfZGVjb2Rlcl8uZ2V0KCkpIHsKLS0gICAgICBpZiAoIWxlYWZfZGVj b2Rlcl8tPkNhbkFkdmFuY2UoKSkgewotKyAgd2hpbGUgKCFpbm5lcl9kZWNvZGVyc18uZW1wdHko KSB8fCBsZWFmX2RlY29kZXJfLklzVmFsaWQoKSkgewotKyAgICBpZiAobGVhZl9kZWNvZGVyXy5J c1ZhbGlkKCkpIHsKLSsgICAgICBpZiAoIWxlYWZfZGVjb2Rlcl8uQ2FuQWR2YW5jZSgpKSB7Ci0g ICAgICAgICAvLyBUaGUgbGVhZiBoYXMgYmVlbiBleGhhdXN0ZWQuIFJlbW92ZSBpdCBmcm9tIHRo ZSBERlMgc3RhY2suCi0tICAgICAgICBsZWFmX2RlY29kZXJfID0gbnVsbHB0cjsKLSsgICAgICAg IGxlYWZfZGVjb2Rlcl8uUmVzZXQoKTsKLSAgICAgICAgIGNvbnRpbnVlOwotICAgICAgIH0KLS0g ICAgICBpZiAoIWxlYWZfZGVjb2Rlcl8tPlRyeUFkdmFuY2UoKSkKLSsgICAgICBpZiAoIWxlYWZf ZGVjb2Rlcl8uVHJ5QWR2YW5jZSgpKQotICAgICAgICAgY29udGludWU7Ci0gCi0tICAgICAgaWYg KCFwYXlsb2FkX3JlYWRlcl8uSW5pdGlhbGl6ZShsZWFmX2RlY29kZXJfLT5sYXN0X3JlY29yZF9z aXplKCksCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWFmX2RlY29k ZXJfLT5sYXN0X3JlY29yZF9vZmZzZXQoKSkpIHsKLSsgICAgICBpZiAoIXBheWxvYWRfcmVhZGVy Xy5Jbml0aWFsaXplKGxlYWZfZGVjb2Rlcl8ubGFzdF9yZWNvcmRfc2l6ZSgpLAotKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVhZl9kZWNvZGVyXy5sYXN0X3JlY29yZF9v ZmZzZXQoKSkpIHsKLSAgICAgICAgIGNvbnRpbnVlOwotICAgICAgIH0KLSAgICAgICBpZiAoIXJl Y29yZF9yZWFkZXJfLkluaXRpYWxpemUoKSkKLUBAIC0xMDEsMTMgKzEwMSwxMyBAQAotIGludDY0 X3QgVmlydHVhbEN1cnNvcjo6Um93SWQoKSB7Ci0gICBEQ0hFQ0tfQ0FMTEVEX09OX1ZBTElEX1NF UVVFTkNFKHNlcXVlbmNlX2NoZWNrZXJfKTsKLSAgIERDSEVDSyhyZWNvcmRfcmVhZGVyXy5Jc0lu aXRpYWxpemVkKCkpOwotLSAgRENIRUNLKGxlYWZfZGVjb2Rlcl8uZ2V0KCkpOwotLSAgcmV0dXJu IGxlYWZfZGVjb2Rlcl8tPmxhc3RfcmVjb3JkX3Jvd2lkKCk7Ci0rICBEQ0hFQ0sobGVhZl9kZWNv ZGVyXy5Jc1ZhbGlkKCkpOwotKyAgcmV0dXJuIGxlYWZfZGVjb2Rlcl8ubGFzdF9yZWNvcmRfcm93 aWQoKTsKLSB9Ci0gCi0gdm9pZCBWaXJ0dWFsQ3Vyc29yOjpBcHBlbmRQYWdlRGVjb2RlcihpbnQg cGFnZV9pZCkgewotICAgRENIRUNLX0NBTExFRF9PTl9WQUxJRF9TRVFVRU5DRShzZXF1ZW5jZV9j aGVja2VyXyk7Ci0tICBEQ0hFQ0sobGVhZl9kZWNvZGVyXy5nZXQoKSA9PSBudWxscHRyKQotKyAg RENIRUNLKCFsZWFmX2RlY29kZXJfLklzVmFsaWQoKSkKLSAgICAgICA8PCBfX2Z1bmNfXwotICAg ICAgIDw8ICIgbXVzdCBvbmx5IGJlIGNhbGxlZCB3aGVuIHRoZSBjdXJyZW50IHBhdGggaGFzIG5v IGxlYWYgZGVjb2RlciI7Ci0gCi1AQCAtMTE1LDcgKzExNSw3IEBACi0gICAgIHJldHVybjsKLSAK LSAgIGlmIChMZWFmUGFnZURlY29kZXI6OklzT25WYWxpZFBhZ2UoJmRiX3JlYWRlcl8pKSB7Ci0t ICAgIGxlYWZfZGVjb2Rlcl8gPSBzdGQ6Om1ha2VfdW5pcXVlPExlYWZQYWdlRGVjb2Rlcj4oJmRi X3JlYWRlcl8pOwotKyAgICBsZWFmX2RlY29kZXJfLkluaXRpYWxpemUoJmRiX3JlYWRlcl8pOwot ICAgICByZXR1cm47Ci0gICB9Ci0gCi1kaWZmIC0tZ2l0IGEvc3FsL3JlY292ZXJfbW9kdWxlL2N1 cnNvci5oIGIvc3FsL3JlY292ZXJfbW9kdWxlL2N1cnNvci5oCi1pbmRleCA4NDViNzg1Li5jYzRl ODVmOCAxMDA2NDQKLS0tLSBhL3NxbC9yZWNvdmVyX21vZHVsZS9jdXJzb3IuaAotKysrIGIvc3Fs L3JlY292ZXJfbW9kdWxlL2N1cnNvci5oCi1AQCAtMTMwLDcgKzEzMCw3IEBACi0gICBzdGQ6OnZl Y3RvcjxzdGQ6OnVuaXF1ZV9wdHI8SW5uZXJQYWdlRGVjb2Rlcj4+IGlubmVyX2RlY29kZXJzXzsK LSAKLSAgIC8vIERlY29kZXMgdGhlIGxlYWYgcGFnZSBjb250YWluaW5nIHJlY29yZHMuCi0tICBz dGQ6OnVuaXF1ZV9wdHI8TGVhZlBhZ2VEZWNvZGVyPiBsZWFmX2RlY29kZXJfOwotKyAgTGVhZlBh Z2VEZWNvZGVyIGxlYWZfZGVjb2Rlcl87Ci0gCi0gICBTRVFVRU5DRV9DSEVDS0VSKHNlcXVlbmNl X2NoZWNrZXJfKTsKLSB9OwotZGlmZiAtLWdpdCBhL3NxbC9yZWNvdmVyX21vZHVsZS9wYWdlci5j YyBiL3NxbC9yZWNvdmVyX21vZHVsZS9wYWdlci5jYwotaW5kZXggNThlNzVkZS4uNjlkOThjZWYg MTAwNjQ0Ci0tLS0gYS9zcWwvcmVjb3Zlcl9tb2R1bGUvcGFnZXIuY2MKLSsrKyBiL3NxbC9yZWNv dmVyX21vZHVsZS9wYWdlci5jYwotQEAgLTIzLDggKzIzLDcgQEAKLSAgICAgICAgICAgICAgICJp bnRzIGFyZSBub3QgYXBwcm9wcmlhdGUgZm9yIHJlcHJlc2VudGluZyBwYWdlIElEcyIpOwotIAot IERhdGFiYXNlUGFnZVJlYWRlcjo6RGF0YWJhc2VQYWdlUmVhZGVyKFZpcnR1YWxUYWJsZSogdGFi bGUpCi0tICAgIDogcGFnZV9kYXRhXyhzdGQ6Om1ha2VfdW5pcXVlPHVpbnQ4X3RbXT4odGFibGUt PnBhZ2Vfc2l6ZSgpKSksCi0tICAgICAgdGFibGVfKHRhYmxlKSB7Ci0rICAgIDogcGFnZV9kYXRh Xyh0YWJsZS0+cGFnZV9zaXplKCkpLCB0YWJsZV8odGFibGUpIHsKLSAgIERDSEVDSyh0YWJsZSAh PSBudWxscHRyKTsKLSAgIERDSEVDSyhJc1ZhbGlkUGFnZVNpemUodGFibGUtPnBhZ2Vfc2l6ZSgp KSk7Ci0gfQotQEAgLTU4LDcgKzU3LDcgQEAKLSAgICAgICAgICAgICAgICAgIlRoZSB8cmVhZF9v ZmZzZXR8IGNvbXB1dGF0aW9uIGFib3ZlIG1heSBvdmVyZmxvdyIpOwotIAotICAgaW50IHNxbGl0 ZV9zdGF0dXMgPQotLSAgICAgIFJhd1JlYWQoc3FsaXRlX2ZpbGUsIHJlYWRfc2l6ZSwgcmVhZF9v ZmZzZXQsIHBhZ2VfZGF0YV8uZ2V0KCkpOwotKyAgICAgIFJhd1JlYWQoc3FsaXRlX2ZpbGUsIHJl YWRfc2l6ZSwgcmVhZF9vZmZzZXQsIHBhZ2VfZGF0YV8uZGF0YSgpKTsKLSAKLSAgIC8vIHxwYWdl X2lkX3wgbmVlZHMgdG8gYmUgc2V0IHRvIGtJbnZhbGlkUGFnZUlkIGlmIHRoZSByZWFkIGZhaWxl ZC4KLSAgIC8vIE90aGVyd2lzZSwgZnV0dXJlIFJlYWRQYWdlKCkgY2FsbHMgd2l0aCB0aGUgcHJl dmlvdXMgfHBhZ2VfaWRffCB2YWx1ZQotZGlmZiAtLWdpdCBhL3NxbC9yZWNvdmVyX21vZHVsZS9w YWdlci5oIGIvc3FsL3JlY292ZXJfbW9kdWxlL3BhZ2VyLmgKLWluZGV4IDA3Y2FjM2NiLi5kMDhm MDkzIDEwMDY0NAotLS0tIGEvc3FsL3JlY292ZXJfbW9kdWxlL3BhZ2VyLmgKLSsrKyBiL3NxbC9y ZWNvdmVyX21vZHVsZS9wYWdlci5oCi1AQCAtNiw4ICs2LDggQEAKLSAjZGVmaW5lIFNRTF9SRUNP VkVSX01PRFVMRV9QQUdFUl9IXwotIAotICNpbmNsdWRlIDxjc3RkaW50PgotLSNpbmNsdWRlIDxt ZW1vcnk+Ci0gI2luY2x1ZGUgPG9zdHJlYW0+Ci0rI2luY2x1ZGUgPHZlY3Rvcj4KLSAKLSAjaW5j bHVkZSAiYmFzZS9jaGVja19vcC5oIgotICNpbmNsdWRlICJiYXNlL21lbW9yeS9yYXdfcHRyLmgi Ci1AQCAtNzIsNyArNzIsNyBAQAotICAgICBEQ0hFQ0tfQ0FMTEVEX09OX1ZBTElEX1NFUVVFTkNF KHNlcXVlbmNlX2NoZWNrZXJfKTsKLSAgICAgRENIRUNLX05FKHBhZ2VfaWRfLCBrSW52YWxpZFBh Z2VJZCkKLSAgICAgICAgIDw8ICJTdWNjZXNzZnVsIFJlYWRQYWdlKCkgcmVxdWlyZWQgYmVmb3Jl IGFjY2Vzc2luZyBwYWdlciBzdGF0ZSI7Ci0tICAgIHJldHVybiBwYWdlX2RhdGFfLmdldCgpOwot KyAgICByZXR1cm4gcGFnZV9kYXRhXy5kYXRhKCk7Ci0gICB9Ci0gCi0gICAvLyBUaGUgbnVtYmVy IG9mIGJ5dGVzIGluIHRoZSBwYWdlIHJlYWQgYnkgdGhlIGxhc3QgUmVhZFBhZ2UoKSBjYWxsLgot QEAgLTEzOSw3ICsxMzksNyBAQAotICAgaW50IHBhZ2VfaWRfID0ga0ludmFsaWRQYWdlSWQ7Ci0g ICAvLyBTdG9yZXMgdGhlIGJ5dGVzIG9mIHRoZSBsYXN0IHBhZ2Ugc3VjY2Vzc2Z1bGx5IHJlYWQg YnkgUmVhZFBhZ2UoKS4KLSAgIC8vIFRoZSBjb250ZW50IGlzIHVuZGVmaW5lZCBpZiB0aGUgbGFz dCBjYWxsIHRvIFJlYWRQYWdlKCkgZGlkIG5vdCBzdWNjZWVkLgotLSAgY29uc3Qgc3RkOjp1bmlx dWVfcHRyPHVpbnQ4X3RbXT4gcGFnZV9kYXRhXzsKLSsgIHN0ZDo6dmVjdG9yPHVpbnQ4X3Q+IHBh Z2VfZGF0YV87Ci0gICAvLyBSYXcgcG9pbnRlciB1c2FnZSBpcyBhY2NlcHRhYmxlIGJlY2F1c2Ug dGhpcyBpbnN0YW5jZSdzIG93bmVyIGlzIGV4cGVjdGVkCi0gICAvLyB0byBlbnN1cmUgdGhhdCB0 aGUgVmlydHVhbFRhYmxlIG91dGxpdmVzIHRoaXMuCi0gICBjb25zdCByYXdfcHRyPFZpcnR1YWxU YWJsZT4gdGFibGVfOwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9t aXVtLTExMC1DcmVkZW50aWFsVUlFbnRyeS1jb25zdC5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0v cGF0Y2hlcy9jaHJvbWl1bS0xMTAtQ3JlZGVudGlhbFVJRW50cnktY29uc3QucGF0Y2gKZGVsZXRl ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGViNjhhYTI3YWNhNC4uMDAwMDAwMDAwMDAwCi0tLSBh L3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0xMTAtQ3JlZGVudGlhbFVJRW50cnkt Y29uc3QucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi1Gcm9tIGI0ZTU2ZDIy Mjc1Y2FlNWE5MTA0NjNhOTY2YTk2MzQ1NDMwYTgzZWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx Ci1Gcm9tOiBJdmFuIE11cmFzaG92IDxpdmFuLm11cmFzaG92QGxnZS5jb20+Ci1EYXRlOiBTYXQs IDE3IERlYyAyMDIyIDEyOjA2OjAxICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIGxpYnN0ZGMrKzog RG9uJ3QgdXNlIGNvbnN0IG1lbWJlcnMgaW4gc3RkOjp2ZWN0b3IgaW4gcGFzc3dvcmRfbWFuYWdl cjo6Q3JlZGVudGlhbFVJRW50cnkKLQotT3RoZXJ3aXNlIGJ1aWxkIGZhaWxzIHdoZW4gYnVpbGRp bmcgd2l0aCB1c2VfY3VzdG9tX2xpYmN4eD1mYWxzZS4KLVRoZSBlcnJvciBleGFtcGxlOgotc3Rk Ojp2ZWN0b3IgbXVzdCBoYXZlIGEgbm9uLWNvbnN0LCBub24tdm9sYXRpbGUgdmFsdWVfdHlwZQot Ci1JbXBsZW1lbnRhdGlvbiBvZiBzdGQ6OnZlY3RvciBpbiBsaWJzdGRjKysgZG9lcyBub3QgYWxs b3cgY29uc3QuCi0KLUJ1ZzogOTU3NTE5Ci1DaGFuZ2UtSWQ6IEkwODlkZTJkNTJkZjI1MTM4ZDc0 ZGJmMDFmZGY2MWQ2MzAxYjRkODcxCi1SZXZpZXdlZC1vbjogaHR0cHM6Ly9jaHJvbWl1bS1yZXZp ZXcuZ29vZ2xlc291cmNlLmNvbS9jL2Nocm9taXVtL3NyYy8rLzQxMTEwMzcKLVJldmlld2VkLWJ5 OiBNb2hhbWVkIEFtaXIgWW9zZWYgPG1hbWlyQGNocm9taXVtLm9yZz4KLUNvbW1pdC1RdWV1ZTog TW9oYW1lZCBBbWlyIFlvc2VmIDxtYW1pckBjaHJvbWl1bS5vcmc+Ci1Dci1Db21taXQtUG9zaXRp b246IHJlZnMvaGVhZHMvbWFpbkB7IzEwODQ2OTd9Ci0tLS0KLQotZGlmZiAtLWdpdCBhL2NvbXBv bmVudHMvcGFzc3dvcmRfbWFuYWdlci9jb3JlL2Jyb3dzZXIvdWkvY3JlZGVudGlhbF91aV9lbnRy eS5jYyBiL2NvbXBvbmVudHMvcGFzc3dvcmRfbWFuYWdlci9jb3JlL2Jyb3dzZXIvdWkvY3JlZGVu dGlhbF91aV9lbnRyeS5jYwotaW5kZXggMWUwNzY2YS4uYTlhMzRmNyAxMDA2NDQKLS0tLSBhL2Nv bXBvbmVudHMvcGFzc3dvcmRfbWFuYWdlci9jb3JlL2Jyb3dzZXIvdWkvY3JlZGVudGlhbF91aV9l bnRyeS5jYwotKysrIGIvY29tcG9uZW50cy9wYXNzd29yZF9tYW5hZ2VyL2NvcmUvYnJvd3Nlci91 aS9jcmVkZW50aWFsX3VpX2VudHJ5LmNjCi1AQCAtOTcsNyArOTcsNyBAQAotICAgLy8gRm9yIGNh c2VzIHdoZW4gdGhlIG5vdGVzIGRpZmZlciB3aXRoaW4gZ3JvdXBlZCBwYXNzd29yZHMgKGUuZzog YQotICAgLy8gY3JlZGVudGlhbCBleGlzdHMgaW4gYm90aCBhY2NvdW50IGFuZCBwcm9maWxlIHN0 b3JlcyksIHJlc3BlY3RpdmUgbm90ZXMKLSAgIC8vIHNob3VsZCBiZSBjb25jYXRlbmF0ZWQgYW5k IGxpbmVicmVhayB1c2VkIGFzIGEgZGVsaW1pdGVyLgotLSAgc3RkOjp2ZWN0b3I8Y29uc3Qgc3Rk Ojp1MTZzdHJpbmc+IG5vdGVzX3dpdGhfZHVwbGljYXRlczsKLSsgIHN0ZDo6dmVjdG9yPHN0ZDo6 dTE2c3RyaW5nPiBub3Rlc193aXRoX2R1cGxpY2F0ZXM7Ci0gICBmb3IgKGNvbnN0IGF1dG8mIGZv cm0gOiBmb3JtcykgewotICAgICAvLyBPbmx5IG5vdGVzIHdpdGggYW4gZW1wdHkgYHVuaXF1ZV9k aXNwbGF5X25hbWVgIGFyZSBzdXBwb3J0ZWQgaW4gdGhlCi0gICAgIC8vIHNldHRpbmdzIFVJLgot QEAgLTEwOSw3ICsxMDksNyBAQAotICAgfQotICAgYXV0byB1bmlxdWVfbm90ZXMgPQotICAgICAg IGJhc2U6Ok1ha2VGbGF0U2V0PHN0ZDo6dTE2c3RyaW5nPihzdGQ6Om1vdmUobm90ZXNfd2l0aF9k dXBsaWNhdGVzKSk7Ci0tICBub3RlID0gYmFzZTo6Sm9pblN0cmluZyhzdGQ6OnZlY3Rvcjxjb25z dCBzdGQ6OnUxNnN0cmluZz4oCi0rICBub3RlID0gYmFzZTo6Sm9pblN0cmluZyhzdGQ6OnZlY3Rv cjxzdGQ6OnUxNnN0cmluZz4oCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pcXVl X25vdGVzLmJlZ2luKCksIHVuaXF1ZV9ub3Rlcy5lbmQoKSksCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICB1IlxuIik7Ci0gCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMv Y2hyb21pdW0tMTEwLURhcmtNb2RlTEFCQ29sb3JTcGFjZS1wb3cucGF0Y2ggYi9zcmNwa2dzL2No cm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTEwLURhcmtNb2RlTEFCQ29sb3JTcGFjZS1wb3cucGF0 Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkxZjFhZWUwNzNlNi4uMDAwMDAwMDAw MDAwCi0tLSBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0xMTAtRGFya01vZGVM QUJDb2xvclNwYWNlLXBvdy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM3ICswLDAgQEAKLUZy b20gNzk1YzMxMWFhZTRiNzE4NTg1YmM2MTk0MTg5ZjA2MTAwMGM4MjNhMSBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKLUZyb206IFN0ZXBoYW4gSGFydG1hbm4gPHN0aGEwOUBnb29nbGVtYWlsLmNv bT4KLURhdGU6IEZyaSwgMjMgRGVjIDIwMjIgMTQ6Mjg6NTUgKzAwMDAKLVN1YmplY3Q6IFtQQVRD SF0gbGlic3RkYysrOiBmaXggbmFycm93aW5nIGluIGJsaW5rOjpEYXJrTW9kZUxBQkNvbG9yU3Bh Y2UKLQotQ2xhbmctMTQgZXJyb3JzIG91dCB3aXRoIG5hcnJvd2luZyBmcm9tIGRvdWJsZSB0byBm bG9hdC4gVXNlIHN0ZDo6cG93Ci1pbnN0ZWFkLgotLS0tCi0gLi4uL3JlbmRlcmVyL3BsYXRmb3Jt L2dyYXBoaWNzL2RhcmtfbW9kZV9sYWJfY29sb3Jfc3BhY2UuaCAgIHwgNSArKystLQotIDEgZmls ZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQg YS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9ncmFwaGljcy9kYXJrX21vZGVf bGFiX2NvbG9yX3NwYWNlLmggYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9n cmFwaGljcy9kYXJrX21vZGVfbGFiX2NvbG9yX3NwYWNlLmgKLWluZGV4IDk5OWMzZTUuLmMxOGVh N2IgMTAwNjQ0Ci0tLS0gYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9ncmFw aGljcy9kYXJrX21vZGVfbGFiX2NvbG9yX3NwYWNlLmgKLSsrKyBiL3RoaXJkX3BhcnR5L2JsaW5r L3JlbmRlcmVyL3BsYXRmb3JtL2dyYXBoaWNzL2RhcmtfbW9kZV9sYWJfY29sb3Jfc3BhY2UuaAot QEAgLTEyNSw3ICsxMjUsNyBAQCBjbGFzcyBEYXJrTW9kZUxBQkNvbG9yU3BhY2UgewotICAgLy8g aHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQ0lFTEFCX2NvbG9yX3NwYWNlI1JldmVyc2Vf dHJhbnNmb3JtYXRpb24uCi0gICBTa1YzIEZyb21YWVooY29uc3QgU2tWMyYgdikgY29uc3Qgewot ICAgICBhdXRvIGYgPSBbXShmbG9hdCB4KSB7Ci0tICAgICAgcmV0dXJuIHggPiBrU2lnbWEzID8g cG93KHgsIDEuMGYgLyAzLjBmKQotKyAgICAgIHJldHVybiB4ID4ga1NpZ21hMyA/IHN0ZDo6cG93 KHgsIDEuMGYgLyAzLjBmKQotICAgICAgICAgICAgICAgICAgICAgICAgICA6IHggLyAoMyAqIGtT aWdtYTIpICsgNC4wZiAvIDI5LjBmOwotICAgICB9OwotIAotQEAgLTE0NSw3ICsxNDUsOCBAQCBj bGFzcyBEYXJrTW9kZUxBQkNvbG9yU3BhY2UgewotICAgLy8gaHR0cHM6Ly9lbi53aWtpcGVkaWEu b3JnL3dpa2kvQ0lFTEFCX2NvbG9yX3NwYWNlI0ZvcndhcmRfdHJhbnNmb3JtYXRpb24uCi0gICBT a1YzIFRvWFlaKGNvbnN0IFNrVjMmIGxhYikgY29uc3QgewotICAgICBhdXRvIGludmYgPSBbXShm bG9hdCB4KSB7Ci0tICAgICAgcmV0dXJuIHggPiBrU2lnbWEgPyBwb3coeCwgMy4wZikgOiAzLjBm ICoga1NpZ21hMiAqICh4IC0gNC4wZiAvIDI5LjBmKTsKLSsgICAgICByZXR1cm4geCA+IGtTaWdt YSA/IHN0ZDo6cG93KHgsIDMuMGYpCi0rICAgICAgICAgICAgICAgICAgICAgICAgOiAzLjBmICog a1NpZ21hMiAqICh4IC0gNC4wZiAvIDI5LjBmKTsKLSAgICAgfTsKLSAKLSAgICAgU2tWMyB2ID0g e0NsYW1wKGxhYi54LCAwLjBmLCAxMDAuMGYpLCBDbGFtcChsYWIueSwgLTEyOC4wZiwgMTI4LjBm KSwKLS0tIAotMi4zOC4yCi0KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9j aHJvbWl1bS0xMTAtTmF0aXZlVGhlbWVCYXNlLWZhYnMucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVt L3BhdGNoZXMvY2hyb21pdW0tMTEwLU5hdGl2ZVRoZW1lQmFzZS1mYWJzLnBhdGNoCmRlbGV0ZWQg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjN2QwZThiMWRlOGQuLjAwMDAwMDAwMDAwMAotLS0gYS9z cmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTEwLU5hdGl2ZVRoZW1lQmFzZS1mYWJz LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotRnJvbSAwN2YwYTg3ZTQ0MDlm Mjc4NTRiM2ExZDE3ZjI3MGEzNDk3ZjM4OTQ3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJv bTogU3RlcGhhbiBIYXJ0bWFubiA8c3RoYTA5QGdvb2dsZW1haWwuY29tPgotRGF0ZTogTW9uLCAx OSBEZWMgMjAyMiAxOTowNzozNyArMDAwMAotU3ViamVjdDogW1BBVENIXSBHQ0M6IHVzZSBmYWJz ZiBpbiB1aTo6TmF0aXZlVGhlbWVCYXNlOjpPdXRsaW5lQ29sb3IKLQotVGVtcGxhdGUgZGVkdWN0 aW9uIGZhaWxzIGZvciBiYXNlOjpjbGFtcCwgYmVjYXVzZSByZXR1cm4gdHlwZSBvZgotZmFicyBp cyBkb3VibGUgYW5kIGFsbCBvdGhlciBwYXJhbWV0ZXJzIGFyZSBmbG9hdC4KLQotQnVnOiA4MTky OTQKLUNoYW5nZS1JZDogSTM0ZjFjOWM5OWQxM2Y2OTA5N2Q4OTliZmNiMDUyNmNiZGY0ZmUxYzEK LVJldmlld2VkLW9uOiBodHRwczovL2Nocm9taXVtLXJldmlldy5nb29nbGVzb3VyY2UuY29tL2Mv Y2hyb21pdW0vc3JjLysvNDExMDg2OQotUmV2aWV3ZWQtYnk6IFBldGVyIEthc3RpbmcgPHBrYXN0 aW5nQGNocm9taXVtLm9yZz4KLUNvbW1pdC1RdWV1ZTogU3RlcGhhbiBIYXJ0bWFubiA8c3RoYTA5 QGdvb2dsZW1haWwuY29tPgotQ3ItQ29tbWl0LVBvc2l0aW9uOiByZWZzL2hlYWRzL21haW5AeyMx MDg1MDM0fQotLS0tCi0KLWRpZmYgLS1naXQgYS91aS9uYXRpdmVfdGhlbWUvbmF0aXZlX3RoZW1l X2Jhc2UuY2MgYi91aS9uYXRpdmVfdGhlbWUvbmF0aXZlX3RoZW1lX2Jhc2UuY2MKLWluZGV4IDE2 OWM2MGMuLjM2ZGI0OWEgMTAwNjQ0Ci0tLS0gYS91aS9uYXRpdmVfdGhlbWUvbmF0aXZlX3RoZW1l X2Jhc2UuY2MKLSsrKyBiL3VpL25hdGl2ZV90aGVtZS9uYXRpdmVfdGhlbWVfYmFzZS5jYwotQEAg LTEzMzYsNyArMTMzNiw3IEBACi0gICAvLyBUaGUgZm9sbG93aW5nIGNvZGUgaGFzIGJlZW4gdGVz dGVkIHRvIGxvb2sgT0sgd2l0aCBhbGwgb2YgdGhlCi0gICAvLyBkZWZhdWx0IEdUSyB0aGVtZXMu Ci0gICBTa1NjYWxhciBtaW5fZGlmZiA9IGJhc2U6OmNsYW1wKChoc3YxWzFdICsgaHN2MlsxXSkg KiAxLjJmLCAwLjI4ZiwgMC41Zik7Ci0tICBTa1NjYWxhciBkaWZmID0gYmFzZTo6Y2xhbXAoZmFi cyhoc3YxWzJdIC0gaHN2MlsyXSkgLyAyLCBtaW5fZGlmZiwgMC41Zik7Ci0rICBTa1NjYWxhciBk aWZmID0gYmFzZTo6Y2xhbXAoZmFic2YoaHN2MVsyXSAtIGhzdjJbMl0pIC8gMiwgbWluX2RpZmYs IDAuNWYpOwotIAotICAgaWYgKGhzdjFbMl0gKyBoc3YyWzJdID4gMS4wKQotICAgICBkaWZmID0g LWRpZmY7CmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvZml4LWdudS1saWJj LXZlcnNpb24tdXNhZ2UucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvZml4LWdudS1s aWJjLXZlcnNpb24tdXNhZ2UucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI1 MjIyOTRmNzVlYS4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9m aXgtZ251LWxpYmMtdmVyc2lvbi11c2FnZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDIxICsw LDAgQEAKLS0tLSBhL2Nocm9tZS9icm93c2VyL21ldHJpY3MvY2hyb21lX2Jyb3dzZXJfbWFpbl9l eHRyYV9wYXJ0c19tZXRyaWNzLmNjCi0rKysgYi9jaHJvbWUvYnJvd3Nlci9tZXRyaWNzL2Nocm9t ZV9icm93c2VyX21haW5fZXh0cmFfcGFydHNfbWV0cmljcy5jYwotQEAgLTU5LDcgKzU5LDkgQEAK LSAvLyBUT0RPKGNyYnVnLmNvbS8xMDUyMzk3KTogUmV2aXNpdCB0aGUgbWFjcm8gZXhwcmVzc2lv biBvbmNlIGJ1aWxkIGZsYWcgc3dpdGNoCi0gLy8gb2YgbGFjcm9zLWNocm9tZSBpcyBjb21wbGV0 ZS4KLSAjaWYgQlVJTERGTEFHKElTX0xJTlVYKSB8fCBCVUlMREZMQUcoSVNfQ0hST01FT1NfTEFD Uk9TKQotKyNpZiAoQlVJTERGTEFHKElTX0xJTlVYKSAmJiBkZWZpbmVkKF9fR0xJQkNfXykpIHx8 IEJVSUxERkxBRyhJU19DSFJPTUVPU19MQUNST1MpCi0gI2luY2x1ZGUgPGdudS9saWJjLXZlcnNp b24uaD4KLSsjZW5kaWYgIC8vIChCVUlMREZMQUcoSVNfTElOVVgpICYmIGRlZmluZWQoX19HTElC Q19fKSkgfHwgQlVJTERGTEFHKElTX0NIUk9NRU9TX0xBQ1JPUykKLSAKLSAjaW5jbHVkZSAiYmFz ZS9saW51eF91dGlsLmgiCi0gI2luY2x1ZGUgImJhc2Uvc3RyaW5ncy9zdHJpbmdfc3BsaXQuaCIK LUBAIC0zMjMsNyArMzIzLDcgQEAKLSB2b2lkIFJlY29yZExpbnV4R2xpYmNWZXJzaW9uKCkgewot IC8vIFRPRE8oY3JidWcuY29tLzEwNTIzOTcpOiBSZXZpc2l0IHRoZSBtYWNybyBleHByZXNzaW9u IG9uY2UgYnVpbGQgZmxhZyBzd2l0Y2gKLSAvLyBvZiBsYWNyb3MtY2hyb21lIGlzIGNvbXBsZXRl LgotLSNpZiBCVUlMREZMQUcoSVNfTElOVVgpIHx8IEJVSUxERkxBRyhJU19DSFJPTUVPU19MQUNS T1MpCi0rI2lmIChCVUlMREZMQUcoSVNfTElOVVgpICYmIGRlZmluZWQoX19HTElCQ19fKSkgfHwg QlVJTERGTEFHKElTX0NIUk9NRU9TX0xBQ1JPUykKLSAgIGJhc2U6OlZlcnNpb24gdmVyc2lvbihn bnVfZ2V0X2xpYmNfdmVyc2lvbigpKTsKLSAKLSAgIFVNQUxpbnV4R2xpYmNWZXJzaW9uIGdsaWJj X3ZlcnNpb25fcmVzdWx0ID0gVU1BX0xJTlVYX0dMSUJDX05PVF9QQVJTRUFCTEU7CmRpZmYgLS1n aXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvZml4LWxpYmMtdmVyc2lvbi1pbmNsdWRlLnBh dGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2ZpeC1saWJjLXZlcnNpb24taW5jbHVkZS5w YXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmQ5NGRjZjZkZWFj NQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9maXgtbGliYy12 ZXJzaW9uLWluY2x1ZGUucGF0Y2gKQEAgLTAsMCArMSwxNSBAQAorLS0tIGEvY2hyb21lL2Jyb3dz ZXIvbWV0cmljcy9jaHJvbWVfYnJvd3Nlcl9tYWluX2V4dHJhX3BhcnRzX21ldHJpY3MuY2MKKysr KyBiL2Nocm9tZS9icm93c2VyL21ldHJpY3MvY2hyb21lX2Jyb3dzZXJfbWFpbl9leHRyYV9wYXJ0 c19tZXRyaWNzLmNjCitAQCAtNjEsOCArNjEsMTEgQEAKKyAKKyAvLyBUT0RPKGNyYnVnLmNvbS8x MDUyMzk3KTogUmV2aXNpdCB0aGUgbWFjcm8gZXhwcmVzc2lvbiBvbmNlIGJ1aWxkIGZsYWcgc3dp dGNoCisgLy8gb2YgbGFjcm9zLWNocm9tZSBpcyBjb21wbGV0ZS4KKy0jaWYgZGVmaW5lZChfX0dM SUJDX18pICYmIChCVUlMREZMQUcoSVNfTElOVVgpIHx8IEJVSUxERkxBRyhJU19DSFJPTUVPU19M QUNST1MpKQorKyNpZiBCVUlMREZMQUcoSVNfTElOVVgpIHx8IEJVSUxERkxBRyhJU19DSFJPTUVP U19MQUNST1MpCisrCisrI2lmIGRlZmluZWQoX19HTElCQ19fKQorICNpbmNsdWRlIDxnbnUvbGli Yy12ZXJzaW9uLmg+CisrI2VuZGlmCisgCisgI2luY2x1ZGUgImJhc2UvbGludXhfdXRpbC5oIgor ICNpbmNsdWRlICJiYXNlL3N0cmluZ3Mvc3RyaW5nX3NwbGl0LmgiCmRpZmYgLS1naXQgYS9zcmNw a2dzL2Nocm9taXVtL3BhdGNoZXMvZml4LW5hcnJvd2luZy1jYXN0LnBhdGNoIGIvc3JjcGtncy9j aHJvbWl1bS9wYXRjaGVzL2ZpeC1uYXJyb3dpbmctY2FzdC5wYXRjaApkZWxldGVkIGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMWEyNDdlNTRmZTdjLi4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9j aHJvbWl1bS9wYXRjaGVzL2ZpeC1uYXJyb3dpbmctY2FzdC5wYXRjaAorKysgL2Rldi9udWxsCkBA IC0xLDE2ICswLDAgQEAKLS0tLSBhL2Jhc2Uvc3lzdGVtL3N5c19pbmZvX3Bvc2l4LmNjCi0rKysg Yi9iYXNlL3N5c3RlbS9zeXNfaW5mb19wb3NpeC5jYwotQEAgLTYyLDEwICs2MiwxMCBAQAotICAg aWYgKEhBTkRMRV9FSU5UUihzdGF0ZnMocGF0aC52YWx1ZSgpLmNfc3RyKCksICZzdGF0cykpICE9 IDApCi0gICAgIHJldHVybiBmYWxzZTsKLSAKLS0gIHN3aXRjaCAoc3RhdHMuZl90eXBlKSB7Ci0r ICBzd2l0Y2ggKHN0YXRpY19jYXN0PHVpbnRtYXhfdD4oc3RhdHMuZl90eXBlKSkgewotICAgICBj YXNlIFRNUEZTX01BR0lDOgotLSAgICBjYXNlIHN0YXRpY19jYXN0PGludD4oSFVHRVRMQkZTX01B R0lDKToKLS0gICAgY2FzZSBzdGF0aWNfY2FzdDxpbnQ+KFJBTUZTX01BR0lDKToKLSsgICAgY2Fz ZSBIVUdFVExCRlNfTUFHSUM6Ci0rICAgIGNhc2UgUkFNRlNfTUFHSUM6Ci0gICAgICAgcmV0dXJu IHRydWU7Ci0gICB9Ci0gICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9t aXVtL3BhdGNoZXMvZml4LXN0YWNrLXV0aWxzLXdpdGgtbXVzbC5wYXRjaCBiL3NyY3BrZ3MvY2hy b21pdW0vcGF0Y2hlcy9maXgtc3RhY2stdXRpbHMtd2l0aC1tdXNsLnBhdGNoCmRlbGV0ZWQgZmls ZSBtb2RlIDEwMDY0NAppbmRleCA3OTM2YWE2ZTBkYjQuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNw a2dzL2Nocm9taXVtL3BhdGNoZXMvZml4LXN0YWNrLXV0aWxzLXdpdGgtbXVzbC5wYXRjaAorKysg L2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLS0tLSBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRl cmVyL3BsYXRmb3JtL3d0Zi9zdGFja191dGlsLmNjLm9yaWcKLSsrKyBiL3RoaXJkX3BhcnR5L2Js aW5rL3JlbmRlcmVyL3BsYXRmb3JtL3d0Zi9zdGFja191dGlsLmNjCi1AQCAtMjksNyArMjksNyBA QAotIC8vIEZJWE1FOiBPbiBNYWMgT1NYIGFuZCBMaW51eCwgdGhpcyBtZXRob2QgY2Fubm90IGVz dGltYXRlIHN0YWNrIHNpemUKLSAvLyBjb3JyZWN0bHkgZm9yIHRoZSBtYWluIHRocmVhZC4KLSAK LS0jZWxpZiBkZWZpbmVkKF9fR0xJQkNfXykgfHwgQlVJTERGTEFHKElTX0FORFJPSUQpIHx8IEJV SUxERkxBRyhJU19GUkVFQlNEKSB8fCBcCi0rI2VsaWYgQlVJTERGTEFHKElTX0xJTlVYKSB8fCBC VUlMREZMQUcoSVNfQU5EUk9JRCkgfHwgQlVJTERGTEFHKElTX0ZSRUVCU0QpIHx8IFwKLSAgICAg QlVJTERGTEFHKElTX0ZVQ0hTSUEpCi0gICAvLyBwdGhyZWFkX2dldGF0dHJfbnAoKSBjYW4gZmFp bCBpZiB0aGUgdGhyZWFkIGlzIG5vdCBpbnZva2VkIGJ5Ci0gICAvLyBwdGhyZWFkX2NyZWF0ZSgp IChlLmcuLCB0aGUgbWFpbiB0aHJlYWQgb2YgYmxpbmtfdW5pdHRlc3RzKS4KLUBAIC05Nyw3ICs5 Nyw3IEBACi0gfQotIAotIHZvaWQqIEdldFN0YWNrU3RhcnQoKSB7Ci0tI2lmIGRlZmluZWQoX19H TElCQ19fKSB8fCBCVUlMREZMQUcoSVNfQU5EUk9JRCkgfHwgQlVJTERGTEFHKElTX0ZSRUVCU0Qp IHx8IFwKLSsjaWYgQlVJTERGTEFHKElTX0xJTlVYKSB8fCBCVUlMREZMQUcoSVNfQU5EUk9JRCkg fHwgQlVJTERGTEFHKElTX0ZSRUVCU0QpIHx8IFwKLSAgICAgQlVJTERGTEFHKElTX0ZVQ0hTSUEp Ci0gICBwdGhyZWFkX2F0dHJfdCBhdHRyOwotICAgaW50IGVycm9yOwpkaWZmIC0tZ2l0IGEvc3Jj cGtncy9jaHJvbWl1bS9wYXRjaGVzL211c2wtc3RhdC5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0v cGF0Y2hlcy9tdXNsLXN0YXQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIy NWUzYzA2MjE3Mi4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9t dXNsLXN0YXQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi0tLS0gYS9iYXNl L2ZpbGVzL2ZpbGUuaC5vcmlnCi0rKysgYi9iYXNlL2ZpbGVzL2ZpbGUuaAotQEAgLTE5LDcgKzE5 LDggQEAKLSAjaW5jbHVkZSAiYnVpbGQvYnVpbGRfY29uZmlnLmgiCi0gCi0gI2lmIEJVSUxERkxB RyhJU19CU0QpIHx8IEJVSUxERkxBRyhJU19BUFBMRSkgfHwgQlVJTERGTEFHKElTX05BQ0wpIHx8 IFwKLS0gICAgQlVJTERGTEFHKElTX0ZVQ0hTSUEpIHx8IChCVUlMREZMQUcoSVNfQU5EUk9JRCkg JiYgX19BTkRST0lEX0FQSV9fIDwgMjEpCi0rICAgIEJVSUxERkxBRyhJU19GVUNIU0lBKSB8fCAo QlVJTERGTEFHKElTX0FORFJPSUQpICYmIF9fQU5EUk9JRF9BUElfXyA8IDIxKSB8fCBcCi0rICAg IChCVUlMREZMQUcoSVNfTElOVVgpICYmICFkZWZpbmVkKF9fR0xJQkNfXykpCi0gc3RydWN0IHN0 YXQ7Ci0gbmFtZXNwYWNlIGJhc2UgewotIHR5cGVkZWYgc3RydWN0IHN0YXQgc3RhdF93cmFwcGVy X3Q7CmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvbm8tZXhlY2luZm8ucGF0 Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvbm8tZXhlY2luZm8ucGF0Y2gKaW5kZXggNmU2 NzE4MmIyMWI2Li43NDc0NzZkNzViMTUgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0 Y2hlcy9uby1leGVjaW5mby5wYXRjaAorKysgYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvbm8t ZXhlY2luZm8ucGF0Y2gKQEAgLTEsNTcgKzEsMyBAQAotLS0tIGEvYmFzZS9kZWJ1Zy9zdGFja190 cmFjZV9wb3NpeC5jYwotKysrIGIvYmFzZS9kZWJ1Zy9zdGFja190cmFjZV9wb3NpeC5jYwotQEAg LTI3LDcgKzI3LDcgQEAKLSAjaWYgIWRlZmluZWQoVVNFX1NZTUJPTElaRSkKLSAjaW5jbHVkZSA8 Y3h4YWJpLmg+Ci0gI2VuZGlmCi0tI2lmICFkZWZpbmVkKF9fVUNMSUJDX18pICYmICFkZWZpbmVk KF9BSVgpCi0rI2lmIGRlZmluZWQoX19HTElCQ19fKSAmJiAhZGVmaW5lZChfQUlYKQotICNpbmNs dWRlIDxleGVjaW5mby5oPgotICNlbmRpZgotIAotQEAgLTg5LDcgKzg5LDcgQEAKLSAgIC8vIE5v dGU6IGNvZGUgaW4gdGhpcyBmdW5jdGlvbiBpcyBOT1QgYXN5bmMtc2lnbmFsIHNhZmUgKHN0ZDo6 c3RyaW5nIHVzZXMKLSAgIC8vIG1hbGxvYyBpbnRlcm5hbGx5KS4KLSAKLS0jaWYgIWRlZmluZWQo X19VQ0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkKLSsjaWYgZGVmaW5lZChfX0dMSUJDX18pICYm ICFkZWZpbmVkKF9BSVgpCi0gICBzdGQ6OnN0cmluZzo6c2l6ZV90eXBlIHNlYXJjaF9mcm9tID0g MDsKLSAgIHdoaWxlIChzZWFyY2hfZnJvbSA8IHRleHQtPnNpemUoKSkgewotICAgICAvLyBMb29r IGZvciB0aGUgc3RhcnQgb2YgYSBtYW5nbGVkIHN5bWJvbCwgZnJvbSBzZWFyY2hfZnJvbS4KLUBA IC0xMzYsNyArMTM2LDcgQEAKLSAgIHZpcnR1YWwgfkJhY2t0cmFjZU91dHB1dEhhbmRsZXIoKSA9 IGRlZmF1bHQ7Ci0gfTsKLSAKLS0jaWYgIWRlZmluZWQoX19VQ0xJQkNfXykgJiYgIWRlZmluZWQo X0FJWCkKLSsjaWYgZGVmaW5lZChfX0dMSUJDX18pICYmICFkZWZpbmVkKF9BSVgpCi0gdm9pZCBP dXRwdXRQb2ludGVyKHZvaWQqIHBvaW50ZXIsIEJhY2t0cmFjZU91dHB1dEhhbmRsZXIqIGhhbmRs ZXIpIHsKLSAgIC8vIFRoaXMgc2hvdWxkIGJlIG1vcmUgdGhhbiBlbm91Z2ggdG8gc3RvcmUgYSA2 NC1iaXQgbnVtYmVyIGluIGhleDoKLSAgIC8vIDE2IGhleCBkaWdpdHMgKyAxIGZvciBudWxsLXRl cm1pbmF0b3IuCi1AQCAtODM5LDcgKzgzOSw3IEBACi0gICAvLyBJZiB3ZSBkbyBub3QgaGF2ZSB1 bndpbmQgdGFibGVzLCB0aGVuIHRyeSB0cmFjaW5nIHVzaW5nIGZyYW1lIHBvaW50ZXJzLgotICAg cmV0dXJuIGJhc2U6OmRlYnVnOjpUcmFjZVN0YWNrRnJhbWVQb2ludGVycyhjb25zdF9jYXN0PGNv bnN0IHZvaWQqKj4odHJhY2UpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBjb3VudCwgMCk7Ci0tI2VsaWYgIWRlZmluZWQoX19VQ0xJQkNfXykgJiYgIWRl ZmluZWQoX0FJWCkKLSsjZWxpZiBkZWZpbmVkKF9fR0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkK LSAgIC8vIFRob3VnaCB0aGUgYmFja3RyYWNlIEFQSSBtYW4gcGFnZSBkb2VzIG5vdCBsaXN0IGFu eSBwb3NzaWJsZSBuZWdhdGl2ZQotICAgLy8gcmV0dXJuIHZhbHVlcywgd2UgdGFrZSBubyBjaGFu Y2UuCi0gICByZXR1cm4gYmFzZTo6c2F0dXJhdGVkX2Nhc3Q8c2l6ZV90PihiYWNrdHJhY2UodHJh Y2UsIGNvdW50KSk7Ci1AQCAtODUyLDEzICs4NTIsMTMgQEAKLSAvLyBOT1RFOiBUaGlzIGNvZGUg TVVTVCBiZSBhc3luYy1zaWduYWwgc2FmZSAoaXQncyB1c2VkIGJ5IGluLXByb2Nlc3MKLSAvLyBz dGFjayBkdW1waW5nIHNpZ25hbCBoYW5kbGVyKS4gTk8gbWFsbG9jIG9yIHN0ZGlvIGlzIGFsbG93 ZWQgaGVyZS4KLSAKLS0jaWYgIWRlZmluZWQoX19VQ0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkK LSsjaWYgZGVmaW5lZChfX0dMSUJDX18pICYmICFkZWZpbmVkKF9BSVgpCi0gICBQcmludEJhY2t0 cmFjZU91dHB1dEhhbmRsZXIgaGFuZGxlcjsKLSAgIFByb2Nlc3NCYWNrdHJhY2UodHJhY2VfLCBj b3VudF8sIHByZWZpeF9zdHJpbmcsICZoYW5kbGVyKTsKLSAjZW5kaWYKLSB9Ci0gCi0tI2lmICFk ZWZpbmVkKF9fVUNMSUJDX18pICYmICFkZWZpbmVkKF9BSVgpCi0rI2lmIGRlZmluZWQoX19HTElC Q19fKSAmJiAhZGVmaW5lZChfQUlYKQotIHZvaWQgU3RhY2tUcmFjZTo6T3V0cHV0VG9TdHJlYW1X aXRoUHJlZml4KHN0ZDo6b3N0cmVhbSogb3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgY29uc3QgY2hhciogcHJlZml4X3N0cmluZykgY29uc3QgewotICAgU3Ry ZWFtQmFja3RyYWNlT3V0cHV0SGFuZGxlciBoYW5kbGVyKG9zKTsKIC0tLSBhL3Y4L3NyYy9jb2Rl Z2VuL2V4dGVybmFsLXJlZmVyZW5jZS10YWJsZS5jYy5vcmlnCiArKysgYi92OC9zcmMvY29kZWdl bi9leHRlcm5hbC1yZWZlcmVuY2UtdGFibGUuY2MKIEBAIC0xMSw3ICsxMSw5IEBACmRpZmYgLS1n aXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvc3FsLXJlbGF4LWNvbnN0cmFpbnRzLW9uLVZp cnR1YWxDdXJzb3ItbGF5b3V0LnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL3NxbC1y ZWxheC1jb25zdHJhaW50cy1vbi1WaXJ0dWFsQ3Vyc29yLWxheW91dC5wYXRjaApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmQxZTY1ZWUxNTYxYwotLS0gL2Rldi9udWxs CisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9zcWwtcmVsYXgtY29uc3RyYWludHMtb24t VmlydHVhbEN1cnNvci1sYXlvdXQucGF0Y2gKQEAgLTAsMCArMSw0OCBAQAorRnJvbSA3ZDEzOTRi ZDYzOWUzYmNmNjgwODJhYzNmYzMzZWVlZDZhMDBkMmU2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQorRnJvbTogRWxseSBGb25nLUpvbmVzIDxlbGx5am9uZXNAY2hyb21pdW0ub3JnPgorRGF0ZTog VGh1LCAyIE1hciAyMDIzIDAwOjE1OjExICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIHNxbDogcmVs YXggY29uc3RyYWludHMgb24gVmlydHVhbEN1cnNvciBsYXlvdXQKKworVmlydHVhbEN1cnNvcjo6 RnJvbVNxbGl0ZUN1cnNvciByZXF1aXJlZCB0aGF0IFZpcnR1YWxDdXJzb3IgaGFkIGEKK3N0YW5k YXJkIGxheW91dCwgYnV0IGluIGZhY3QgVmlydHVhbEN1cnNvciBzaG91bGRuJ3QgaGF2ZSBhIHN0 YW5kYXJkCitsYXlvdXQsIGFuZCB0aGUgZmFjdCB0aGF0IGl0IGRvZXMgd2l0aCBsaWJjKysgaXMg YSBkZXZpYXRpb24gZnJvbSB0aGUKK0MrKyBzdGFuZGFyZC4gVGhpcyBjaGFuZ2U6CisKKzEuIFJl bGF4ZXMgdGhlIHJlcXVpcmVtZW50IHRoYXQgVmlydHVhbEN1cnNvciBoYXMgYSBzdGFuZGFyZCBs YXlvdXQsIGFuZAorMi4gUmVsYXhlcyB0aGUgcmVxdWlyZW1lbnQgdGhhdCB0aGUgc3FsaXRlX2N1 cnNvcl8gZmllbGQgaGFzIHRvIGJlIGF0CisgICBvZmZzZXQgMAorCitieSB1c2Ugb2Ygb2Zmc2V0 b2YoKSBhbmQgcG9pbnRlciBzdWJ0cmFjdGlvbi4gVGhpcyBjaGFuZ2UgYm90aCBpbXByb3Zlcwor c3RhbmRhcmRzIGNvbXBsaWFuY2UgYW5kIG1ha2VzIHRoaXMgY29kZSBidWlsZCB3aXRoIGxpYnN0 ZGMrKy4KKworQnVnOiAxMzgwNjU2CitDaGFuZ2UtSWQ6IEk5YzQ3YWJkOTE5N2IxODdkYTAzNjBj YTU2MTljY2Y3ZGFkYWI0ZjMzCitSZXZpZXdlZC1vbjogaHR0cHM6Ly9jaHJvbWl1bS1yZXZpZXcu Z29vZ2xlc291cmNlLmNvbS9jL2Nocm9taXVtL3NyYy8rLzQyOTIzMTMKK1Jldmlld2VkLWJ5OiBB dXN0aW4gU3VsbGl2YW4gPGFzdWxseUBjaHJvbWl1bS5vcmc+CitDb21taXQtUXVldWU6IEVsbHkg Rm9uZy1Kb25lcyA8ZWxseWpvbmVzQGNocm9taXVtLm9yZz4KK0NyLUNvbW1pdC1Qb3NpdGlvbjog cmVmcy9oZWFkcy9tYWluQHsjMTExMTkyNX0KKy0tLQorIHNxbC9yZWNvdmVyX21vZHVsZS9jdXJz b3IuaCB8IDEwICsrKystLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA2 IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3FsL3JlY292ZXJfbW9kdWxlL2N1cnNvci5o IGIvc3FsL3JlY292ZXJfbW9kdWxlL2N1cnNvci5oCitpbmRleCAxOTcwYmRjYThjNi4uNGNiMDY1 NTcwMDkgMTAwNjQ0CistLS0gYS9zcWwvcmVjb3Zlcl9tb2R1bGUvY3Vyc29yLmgKKysrKyBiL3Nx bC9yZWNvdmVyX21vZHVsZS9jdXJzb3IuaAorQEAgLTYzLDEyICs2MywxMCBAQCBjbGFzcyBWaXJ0 dWFsQ3Vyc29yIHsKKyAgIC8vIHxzcWxpdGVfY3Vyc29yfCBtdXN0IGhhdmUgYmVlbiByZXR1cm5l ZCBieSBWaXJ0dWFsVGFibGU6OlNxbGl0ZUN1cnNvcigpLgorICAgc3RhdGljIGlubGluZSBWaXJ0 dWFsQ3Vyc29yKiBGcm9tU3FsaXRlQ3Vyc29yKAorICAgICAgIHNxbGl0ZTNfdnRhYl9jdXJzb3Iq IHNxbGl0ZV9jdXJzb3IpIHsKKy0gICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX3N0YW5kYXJkX2xh eW91dDxWaXJ0dWFsQ3Vyc29yPjo6dmFsdWUsCistICAgICAgICAgICAgICAgICAgIm5lZWRlZCBm b3IgdGhlIHJlaW50ZXJwcmV0X2Nhc3QgYmVsb3ciKTsKKy0gICAgc3RhdGljX2Fzc2VydChvZmZz ZXRvZihWaXJ0dWFsQ3Vyc29yLCBzcWxpdGVfY3Vyc29yXykgPT0gMCwKKy0gICAgICAgICAgICAg ICAgICAic3FsaXRlX2N1cnNvcl8gbXVzdCBiZSB0aGUgZmlyc3QgbWVtYmVyIG9mIHRoZSBjbGFz cyIpOworLSAgICBWaXJ0dWFsQ3Vyc29yKiByZXN1bHQgPSByZWludGVycHJldF9jYXN0PFZpcnR1 YWxDdXJzb3IqPihzcWxpdGVfY3Vyc29yKTsKKy0gICAgRENIRUNLX0VRKHNxbGl0ZV9jdXJzb3Is ICZyZXN1bHQtPnNxbGl0ZV9jdXJzb3JfKTsKKysgICAgVmlydHVhbEN1cnNvciogcmVzdWx0ID0g cmVpbnRlcnByZXRfY2FzdDxWaXJ0dWFsQ3Vyc29yKj4oCisrICAgICAgICAocmVpbnRlcnByZXRf Y2FzdDxjaGFyKj4oc3FsaXRlX2N1cnNvcikgLQorKyAgICAgICAgIG9mZnNldG9mKFZpcnR1YWxD dXJzb3IsIHNxbGl0ZV9jdXJzb3JfKSkpOworKyAgICBDSEVDS19FUShzcWxpdGVfY3Vyc29yLCAm cmVzdWx0LT5zcWxpdGVfY3Vyc29yXyk7CisgICAgIHJldHVybiByZXN1bHQ7CisgICB9CisgCmRp ZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvdjgtbW92ZS10aGUtU3RhY2stb2Jq ZWN0LWZyb20tVGhyZWFkTG9jYWxUb3AucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMv djgtbW92ZS10aGUtU3RhY2stb2JqZWN0LWZyb20tVGhyZWFkTG9jYWxUb3AucGF0Y2gKZGVsZXRl ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDczZTA0MmNmNTU2Mi4uMDAwMDAwMDAwMDAwCi0tLSBh L3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy92OC1tb3ZlLXRoZS1TdGFjay1vYmplY3QtZnJvbS1U aHJlYWRMb2NhbFRvcC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDIwNSArMCwwIEBACi1Gcm9t IDdiNmZiY2QwYTY3MDBkYjQ5OGFkNTVkYjA0NmVjZGE5MmM4ZWU4YzEgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCi1Gcm9tOiBOaWtvbGFvcyBQYXBhc3B5cm91IDxuaWtvbGFvc0BjaHJvbWl1bS5v cmc+Ci1EYXRlOiBTdW4sIDI5IEphbiAyMDIzIDE3OjE4OjA4ICswMTAwCi1TdWJqZWN0OiBbUEFU Q0hdIE1lcmdlOiBbaGVhcF0gTW92ZSB0aGUgU3RhY2sgb2JqZWN0IGZyb20gVGhyZWFkTG9jYWxU b3AgdG8KLSBJc29sYXRlCi0KLVRoaXMgaXMganVzdCBmb3Igbm9kZWpzLCBkbyBub3QgYmFja21l cmdlIHRvIDExLjAuCi0oY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAxZTRiNzFkOTlmZWE1ZWE2 YmI0YmY2NDIwNTg1YTc4MTk4NzJiYjBmKQotCi0+IENoYW5nZS1JZDogSTAyNmEzNWFmM2JjNjk5 OWEwOWIyMWYyNzc3NTZkNDQ1NGMwODYzNDMKLT4gUmV2aWV3ZWQtb246IGh0dHBzOi8vY2hyb21p dW0tcmV2aWV3Lmdvb2dsZXNvdXJjZS5jb20vYy92OC92OC8rLzQxNTI0NzYKLT4gUmV2aWV3ZWQt Ynk6IE1pY2hhZWwgTGlwcGF1dHogPG1saXBwYXV0ekBjaHJvbWl1bS5vcmc+Ci0+IFJldmlld2Vk LWJ5OiBPbWVyIEthdHogPG9tZXJrYXR6QGNocm9taXVtLm9yZz4KLT4gQ29tbWl0LVF1ZXVlOiBO aWtvbGFvcyBQYXBhc3B5cm91IDxuaWtvbGFvc0BjaHJvbWl1bS5vcmc+Ci0+IENyLUNvbW1pdC1Q b3NpdGlvbjogcmVmcy9oZWFkcy9tYWluQHsjODU0NDV9Ci0KLVN0YWNrIGluZm9ybWF0aW9uIGlz IHRocmVhZC1zcGVjaWZpYyBhbmQsIHVudGlsIG5vdywgaXQgd2FzIHN0b3JlZCBpbiBhCi1maWVs ZCBpbiBUaHJlYWRMb2NhbFRvcC4gVGhpcyBDTCBtb3ZlcyBzdGFjayBpbmZvcm1hdGlvbiB0byB0 aGUgaXNvbGF0ZQotYW5kIG1ha2VzIHN1cmUgdG8gdXBkYXRlIHRoZSBzdGFjayBzdGFydCB3aGVu ZXZlciBhIG1haW4gdGhyZWFkIGVudGVycwotdGhlIGlzb2xhdGUuIEF0IHRoZSBzYW1lIHRpbWUs IHRoZSBTdGFjayBvYmplY3QgaXMgcmVmYWN0b3JlZCBhbmQKLXNpbXBsaWZpZWQuCi0KLUFzIGEg c2lkZSBlZmZlY3QsIGFmdGVyIHJlbW92aW5nIHRoZSBTdGFjayBvYmplY3QsIFRocmVhZExvY2Fs VG9wCi1zYXRpc2ZpZXMgdGhlIHN0ZDo6c3RhbmRhcmRfbGF5b3V0IHRyYWl0OyB0aGlzIGZpeGVz IHNvbWUgaXNzdWVzCi1vYnNlcnZlZCB3aXRoIGRpZmZlcmVudCBDKysgY29tcGlsZXJzLgotCi1C dWc6IHY4OjEzNjMwCi1CdWc6IHY4OjEzMjU3Ci1DaGFuZ2UtSWQ6IEk0YmUxZjA0ZmU5MDY5OWUx YTZlNDU2ZGFkM2UwZGQ2MjM4NTFhY2NlCi0tLS0KLSBzcmMvZXhlY3V0aW9uL2lzb2xhdGUuY2Mg ICAgICAgICAgfCAzNiArKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tCi0gc3JjL2V4ZWN1 dGlvbi9pc29sYXRlLmggICAgICAgICAgIHwgIDYgKysrKysrCi0gc3JjL2V4ZWN1dGlvbi90aHJl YWQtbG9jYWwtdG9wLmNjIHwgIDIgLS0KLSBzcmMvZXhlY3V0aW9uL3RocmVhZC1sb2NhbC10b3Au aCAgfCAgNiArLS0tLS0KLSBzcmMvaGVhcC9oZWFwLmNjICAgICAgICAgICAgICAgICAgfCAgNCAr LS0tCi0gNSBmaWxlcyBjaGFuZ2VkLCAyNSBpbnNlcnRpb25zKCspLCAyOSBkZWxldGlvbnMoLSkK LQotZGlmZiAtLWdpdCBhL3NyYy9leGVjdXRpb24vaXNvbGF0ZS5jYyBiL3NyYy9leGVjdXRpb24v aXNvbGF0ZS5jYwotaW5kZXggNGVkZjM2NGUwYS4uYmU0ZmQ0MDBkMiAxMDA2NDQKLS0tLSBhL3Y4 L3NyYy9leGVjdXRpb24vaXNvbGF0ZS5jYwotKysrIGIvdjgvc3JjL2V4ZWN1dGlvbi9pc29sYXRl LmNjCi1AQCAtMzA3NCwyMiArMzA3NCwyMyBAQCB2b2lkIElzb2xhdGU6OkFkZFNoYXJlZFdhc21N ZW1vcnkoSGFuZGxlPFdhc21NZW1vcnlPYmplY3Q+IG1lbW9yeV9vYmplY3QpIHsKLSB2b2lkIElz b2xhdGU6OlJlY29yZFN0YWNrU3dpdGNoRm9yU2Nhbm5pbmcoKSB7Ci0gICBPYmplY3QgY3VycmVu dCA9IHJvb3QoUm9vdEluZGV4OjprQWN0aXZlQ29udGludWF0aW9uKTsKLSAgIERDSEVDSyghY3Vy cmVudC5Jc1VuZGVmaW5lZCgpKTsKLS0gIHRocmVhZF9sb2NhbF90b3AoKS0+c3RhY2tfLkNsZWFy U3RhY2tTZWdtZW50cygpOwotLSAgd2FzbTo6U3RhY2tNZW1vcnkqIHN0YWNrID0gTWFuYWdlZDx3 YXNtOjpTdGFja01lbW9yeT46OmNhc3QoCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgV2FzbUNvbnRpbnVhdGlvbk9iamVjdDo6Y2FzdChjdXJyZW50KS5zdGFjaygpKQotLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5nZXQoKQotLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIC5nZXQoKTsKLSsgIHN0YWNrKCkuQ2xlYXJTdGFja1NlZ21lbnRzKCk7Ci0r ICB3YXNtOjpTdGFja01lbW9yeSogd2FzbV9zdGFjayA9Ci0rICAgICAgTWFuYWdlZDx3YXNtOjpT dGFja01lbW9yeT46OmNhc3QoCi0rICAgICAgICAgIFdhc21Db250aW51YXRpb25PYmplY3Q6OmNh c3QoY3VycmVudCkuc3RhY2soKSkKLSsgICAgICAgICAgLmdldCgpCi0rICAgICAgICAgIC5nZXQo KTsKLSAgIGN1cnJlbnQgPSBXYXNtQ29udGludWF0aW9uT2JqZWN0OjpjYXN0KGN1cnJlbnQpLnBh cmVudCgpOwotLSAgdGhyZWFkX2xvY2FsX3RvcCgpLT5zdGFja18uU2V0U3RhY2tTdGFydCgKLS0g ICAgICByZWludGVycHJldF9jYXN0PHZvaWQqPihzdGFjay0+YmFzZSgpKSk7Ci0rICBoZWFwKCkt PlNldFN0YWNrU3RhcnQocmVpbnRlcnByZXRfY2FzdDx2b2lkKj4od2FzbV9zdGFjay0+YmFzZSgp KSk7Ci0gICAvLyBXZSBkb24ndCBuZWVkIHRvIGFkZCBhbGwgaW5hY3RpdmUgc3RhY2tzLiBPbmx5 IHRoZSBvbmVzIGluIHRoZSBhY3RpdmUgY2hhaW4KLSAgIC8vIG1heSBjb250YWluIGNwcCBoZWFw IHBvaW50ZXJzLgotICAgd2hpbGUgKCFjdXJyZW50LklzVW5kZWZpbmVkKCkpIHsKLSAgICAgYXV0 byBjb250ID0gV2FzbUNvbnRpbnVhdGlvbk9iamVjdDo6Y2FzdChjdXJyZW50KTsKLS0gICAgYXV0 byogc3RhY2sgPSBNYW5hZ2VkPHdhc206OlN0YWNrTWVtb3J5Pjo6Y2FzdChjb250LnN0YWNrKCkp LmdldCgpLmdldCgpOwotLSAgICB0aHJlYWRfbG9jYWxfdG9wKCktPnN0YWNrXy5BZGRTdGFja1Nl Z21lbnQoCi0tICAgICAgICByZWludGVycHJldF9jYXN0PGNvbnN0IHZvaWQqPihzdGFjay0+YmFz ZSgpKSwKLS0gICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3Qgdm9pZCo+KHN0YWNrLT5qbXBi dWYoKS0+c3ApKTsKLSsgICAgYXV0byogd2FzbV9zdGFjayA9Ci0rICAgICAgICBNYW5hZ2VkPHdh c206OlN0YWNrTWVtb3J5Pjo6Y2FzdChjb250LnN0YWNrKCkpLmdldCgpLmdldCgpOwotKyAgICBz dGFjaygpLkFkZFN0YWNrU2VnbWVudCgKLSsgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3Qg dm9pZCo+KHdhc21fc3RhY2stPmJhc2UoKSksCi0rICAgICAgICByZWludGVycHJldF9jYXN0PGNv bnN0IHZvaWQqPih3YXNtX3N0YWNrLT5qbXBidWYoKS0+c3ApKTsKLSAgICAgY3VycmVudCA9IGNv bnQucGFyZW50KCk7Ci0gICB9Ci0gfQotQEAgLTMzNzcsMjAgKzMzNzgsMTMgQEAgdm9pZCBJc29s YXRlOjpEZWxldGUoSXNvbGF0ZSogaXNvbGF0ZSkgewotICAgSXNvbGF0ZSogc2F2ZWRfaXNvbGF0 ZSA9IGlzb2xhdGUtPlRyeUdldEN1cnJlbnQoKTsKLSAgIFNldElzb2xhdGVUaHJlYWRMb2NhbHMo aXNvbGF0ZSwgbnVsbHB0cik7Ci0gICBpc29sYXRlLT5zZXRfdGhyZWFkX2lkKFRocmVhZElkOjpD dXJyZW50KCkpOwotLSAgaXNvbGF0ZS0+dGhyZWFkX2xvY2FsX3RvcCgpLT5zdGFja18gPQotLSAg ICAgIHNhdmVkX2lzb2xhdGUgPyBzdGQ6Om1vdmUoc2F2ZWRfaXNvbGF0ZS0+dGhyZWFkX2xvY2Fs X3RvcCgpLT5zdGFja18pCi0tICAgICAgICAgICAgICAgICAgICA6IDo6aGVhcDo6YmFzZTo6U3Rh Y2soYmFzZTo6U3RhY2s6OkdldFN0YWNrU3RhcnQoKSk7Ci0rICBpc29sYXRlLT5oZWFwKCktPlNl dFN0YWNrU3RhcnQoYmFzZTo6U3RhY2s6OkdldFN0YWNrU3RhcnQoKSk7Ci0gCi0gICBib29sIG93 bnNfc2hhcmVkX2lzb2xhdGUgPSBpc29sYXRlLT5vd25zX3NoYXJlZF9pc29sYXRlXzsKLSAgIElz b2xhdGUqIG1heWJlX3NoYXJlZF9pc29sYXRlID0gaXNvbGF0ZS0+c2hhcmVkX2lzb2xhdGVfOwot IAotICAgaXNvbGF0ZS0+RGVpbml0KCk7Ci0gCi0tICAvLyBSZXN0b3JlIHRoZSBzYXZlZCBpc29s YXRlJ3Mgc3RhY2suCi0tICBpZiAoc2F2ZWRfaXNvbGF0ZSkKLS0gICAgc2F2ZWRfaXNvbGF0ZS0+ dGhyZWFkX2xvY2FsX3RvcCgpLT5zdGFja18gPQotLSAgICAgICAgc3RkOjptb3ZlKGlzb2xhdGUt PnRocmVhZF9sb2NhbF90b3AoKS0+c3RhY2tfKTsKLS0KLSAjaWZkZWYgREVCVUcKLSAgIG5vbl9k aXNwb3NlZF9pc29sYXRlc18tLTsKLSAjZW5kaWYgIC8vIERFQlVHCi1AQCAtNDY0Nyw2ICs0NjQx LDEwIEBAIGJvb2wgSXNvbGF0ZTo6SW5pdChTbmFwc2hvdERhdGEqIHN0YXJ0dXBfc25hcHNob3Rf ZGF0YSwKLSB2b2lkIElzb2xhdGU6OkVudGVyKCkgewotICAgSXNvbGF0ZSogY3VycmVudF9pc29s YXRlID0gbnVsbHB0cjsKLSAgIFBlcklzb2xhdGVUaHJlYWREYXRhKiBjdXJyZW50X2RhdGEgPSBD dXJyZW50UGVySXNvbGF0ZVRocmVhZERhdGEoKTsKLSsKLSsgIC8vIFNldCB0aGUgc3RhY2sgc3Rh cnQgZm9yIHRoZSBtYWluIHRocmVhZCB0aGF0IGVudGVycyB0aGUgaXNvbGF0ZS4KLSsgIGhlYXAo KS0+U2V0U3RhY2tTdGFydChiYXNlOjpTdGFjazo6R2V0U3RhY2tTdGFydCgpKTsKLSsKLSAgIGlm IChjdXJyZW50X2RhdGEgIT0gbnVsbHB0cikgewotICAgICBjdXJyZW50X2lzb2xhdGUgPSBjdXJy ZW50X2RhdGEtPmlzb2xhdGVfOwotICAgICBEQ0hFQ0tfTk9UX05VTEwoY3VycmVudF9pc29sYXRl KTsKLWRpZmYgLS1naXQgYS9zcmMvZXhlY3V0aW9uL2lzb2xhdGUuaCBiL3NyYy9leGVjdXRpb24v aXNvbGF0ZS5oCi1pbmRleCBhMzJmOTk5ZmU1Li4xY2I2ZTEwNjYxIDEwMDY0NAotLS0tIGEvdjgv c3JjL2V4ZWN1dGlvbi9pc29sYXRlLmgKLSsrKyBiL3Y4L3NyYy9leGVjdXRpb24vaXNvbGF0ZS5o Ci1AQCAtMzIsNiArMzIsNyBAQAotICNpbmNsdWRlICJzcmMvZXhlY3V0aW9uL3N0YWNrLWd1YXJk LmgiCi0gI2luY2x1ZGUgInNyYy9oYW5kbGVzL2hhbmRsZXMuaCIKLSAjaW5jbHVkZSAic3JjL2hh bmRsZXMvdHJhY2VkLWhhbmRsZXMuaCIKLSsjaW5jbHVkZSAic3JjL2hlYXAvYmFzZS9zdGFjay5o IgotICNpbmNsdWRlICJzcmMvaGVhcC9mYWN0b3J5LmgiCi0gI2luY2x1ZGUgInNyYy9oZWFwL2hl YXAuaCIKLSAjaW5jbHVkZSAic3JjL2hlYXAvcmVhZC1vbmx5LWhlYXAuaCIKLUBAIC0yMDIyLDYg KzIwMjMsOCBAQCBjbGFzcyBWOF9FWFBPUlRfUFJJVkFURSBJc29sYXRlIGZpbmFsIDogcHJpdmF0 ZSBIaWRkZW5GYWN0b3J5IHsKLSAgIFNpbXVsYXRvckRhdGEqIHNpbXVsYXRvcl9kYXRhKCkgeyBy ZXR1cm4gc2ltdWxhdG9yX2RhdGFfOyB9Ci0gI2VuZGlmCi0gCi0rICA6OmhlYXA6OmJhc2U6OlN0 YWNrJiBzdGFjaygpIHsgcmV0dXJuIHN0YWNrXzsgfQotKwotICNpZmRlZiBWOF9FTkFCTEVfV0VC QVNTRU1CTFkKLSAgIHdhc206OlN0YWNrTWVtb3J5KiYgd2FzbV9zdGFja3MoKSB7IHJldHVybiB3 YXNtX3N0YWNrc187IH0KLSAgIC8vIFVwZGF0ZSB0aGUgdGhyZWFkIGxvY2FsJ3MgU3RhY2sgb2Jq ZWN0IHNvIHRoYXQgaXQgaXMgYXdhcmUgb2YgdGhlIG5ldyBzdGFjawotQEAgLTI1MjAsNiArMjUy Myw5IEBAIGNsYXNzIFY4X0VYUE9SVF9QUklWQVRFIElzb2xhdGUgZmluYWwgOiBwcml2YXRlIEhp ZGRlbkZhY3RvcnkgewotICAgLy8gVGhlIG11dGV4IG9ubHkgZ3VhcmRzIGFkZGluZyBwYWdlcywg dGhlIHJldHJpZXZhbCBpcyBzaWduYWwgc2FmZS4KLSAgIGJhc2U6Ok11dGV4IGNvZGVfcGFnZXNf bXV0ZXhfOwotIAotKyAgLy8gU3RhY2sgaW5mb3JtYXRpb24gZm9yIHRoZSBtYWluIHRocmVhZC4K LSsgIDo6aGVhcDo6YmFzZTo6U3RhY2sgc3RhY2tfOwotKwotICNpZmRlZiBWOF9FTkFCTEVfV0VC QVNTRU1CTFkKLSAgIHdhc206OlN0YWNrTWVtb3J5KiB3YXNtX3N0YWNrc187Ci0gI2VuZGlmCi1k aWZmIC0tZ2l0IGEvc3JjL2V4ZWN1dGlvbi90aHJlYWQtbG9jYWwtdG9wLmNjIGIvc3JjL2V4ZWN1 dGlvbi90aHJlYWQtbG9jYWwtdG9wLmNjCi1pbmRleCAwZDcwNzFkZGRhLi4wNWNjMjBiOGU0IDEw MDY0NAotLS0tIGEvdjgvc3JjL2V4ZWN1dGlvbi90aHJlYWQtbG9jYWwtdG9wLmNjCi0rKysgYi92 OC9zcmMvZXhlY3V0aW9uL3RocmVhZC1sb2NhbC10b3AuY2MKLUBAIC0zNywxNCArMzcsMTIgQEAg dm9pZCBUaHJlYWRMb2NhbFRvcDo6Q2xlYXIoKSB7Ci0gICBjdXJyZW50X2VtYmVkZGVyX3N0YXRl XyA9IG51bGxwdHI7Ci0gICBmYWlsZWRfYWNjZXNzX2NoZWNrX2NhbGxiYWNrXyA9IG51bGxwdHI7 Ci0gICB0aHJlYWRfaW5fd2FzbV9mbGFnX2FkZHJlc3NfID0ga051bGxBZGRyZXNzOwotLSAgc3Rh Y2tfID0gOjpoZWFwOjpiYXNlOjpTdGFjaygpOwotIH0KLSAKLSB2b2lkIFRocmVhZExvY2FsVG9w OjpJbml0aWFsaXplKElzb2xhdGUqIGlzb2xhdGUpIHsKLSAgIENsZWFyKCk7Ci0gICBpc29sYXRl XyA9IGlzb2xhdGU7Ci0gICB0aHJlYWRfaWRfID0gVGhyZWFkSWQ6OkN1cnJlbnQoKTsKLS0gIHN0 YWNrXy5TZXRTdGFja1N0YXJ0KGJhc2U6OlN0YWNrOjpHZXRTdGFja1N0YXJ0KCkpOwotICNpZiBW OF9FTkFCTEVfV0VCQVNTRU1CTFkKLSAgIHRocmVhZF9pbl93YXNtX2ZsYWdfYWRkcmVzc18gPSBy ZWludGVycHJldF9jYXN0PEFkZHJlc3M+KAotICAgICAgIHRyYXBfaGFuZGxlcjo6R2V0VGhyZWFk SW5XYXNtVGhyZWFkTG9jYWxBZGRyZXNzKCkpOwotZGlmZiAtLWdpdCBhL3NyYy9leGVjdXRpb24v dGhyZWFkLWxvY2FsLXRvcC5oIGIvc3JjL2V4ZWN1dGlvbi90aHJlYWQtbG9jYWwtdG9wLmgKLWlu ZGV4IDQzZmVjMGE3ZGYuLjk4OWM4MTdmMzEgMTAwNjQ0Ci0tLS0gYS92OC9zcmMvZXhlY3V0aW9u L3RocmVhZC1sb2NhbC10b3AuaAotKysrIGIvdjgvc3JjL2V4ZWN1dGlvbi90aHJlYWQtbG9jYWwt dG9wLmgKLUBAIC0xMCw3ICsxMCw2IEBACi0gI2luY2x1ZGUgImluY2x1ZGUvdjgtdW53aW5kZXIu aCIKLSAjaW5jbHVkZSAic3JjL2NvbW1vbi9nbG9iYWxzLmgiCi0gI2luY2x1ZGUgInNyYy9leGVj dXRpb24vdGhyZWFkLWlkLmgiCi0tI2luY2x1ZGUgInNyYy9oZWFwL2Jhc2Uvc3RhY2suaCIKLSAj aW5jbHVkZSAic3JjL29iamVjdHMvY29udGV4dHMuaCIKLSAjaW5jbHVkZSAic3JjL3V0aWxzL3V0 aWxzLmgiCi0gCi1AQCAtMzAsNyArMjksNyBAQCBjbGFzcyBUaHJlYWRMb2NhbFRvcCB7Ci0gICAv LyBUT0RPKGFsbCk6IFRoaXMgaXMgbm90IHBhcnRpY3VsYXJseSBiZWF1dGlmdWwuIFdlIHNob3Vs ZCBwcm9iYWJseQotICAgLy8gcmVmYWN0b3IgdGhpcyB0byByZWFsbHkgY29uc2lzdCBvZiBqdXN0 IEFkZHJlc3NlcyBhbmQgMzItYml0Ci0gICAvLyBpbnRlZ2VyIGZpZWxkcy4KLS0gIHN0YXRpYyBj b25zdGV4cHIgdWludDMyX3Qga1NpemVJbkJ5dGVzID0gMzAgKiBrU3lzdGVtUG9pbnRlclNpemU7 Ci0rICBzdGF0aWMgY29uc3RleHByIHVpbnQzMl90IGtTaXplSW5CeXRlcyA9IDI1ICoga1N5c3Rl bVBvaW50ZXJTaXplOwotIAotICAgLy8gRG9lcyBlYXJseSBsb3ctbGV2ZWwgaW5pdGlhbGl6YXRp b24gdGhhdCBkb2VzIG5vdCBkZXBlbmQgb24gdGhlCi0gICAvLyBpc29sYXRlIGJlaW5nIHByZXNl bnQuCi1AQCAtMTQ3LDkgKzE0Niw2IEBAIGNsYXNzIFRocmVhZExvY2FsVG9wIHsKLSAKLSAgIC8v IEFkZHJlc3Mgb2YgdGhlIHRocmVhZC1sb2NhbCAidGhyZWFkIGluIHdhc20iIGZsYWcuCi0gICBB ZGRyZXNzIHRocmVhZF9pbl93YXNtX2ZsYWdfYWRkcmVzc187Ci0tCi0tICAvLyBTdGFjayBpbmZv cm1hdGlvbi4KLS0gIDo6aGVhcDo6YmFzZTo6U3RhY2sgc3RhY2tfOwotIH07Ci0gCi0gfSAgLy8g bmFtZXNwYWNlIGludGVybmFsCi1kaWZmIC0tZ2l0IGEvc3JjL2hlYXAvaGVhcC5jYyBiL3NyYy9o ZWFwL2hlYXAuY2MKLWluZGV4IDUxYTkwZGRjYWIuLmI1NzIyYWI2ZWMgMTAwNjQ0Ci0tLS0gYS92 OC9zcmMvaGVhcC9oZWFwLmNjCi0rKysgYi92OC9zcmMvaGVhcC9oZWFwLmNjCi1AQCAtNTg1MSw5 ICs1ODUxLDcgQEAgdm9pZCBIZWFwOjpTZXRTdGFja1N0YXJ0KHZvaWQqIHN0YWNrX3N0YXJ0KSB7 Ci0gICBzdGFjaygpLlNldFN0YWNrU3RhcnQoc3RhY2tfc3RhcnQpOwotIH0KLSAKLS06OmhlYXA6 OmJhc2U6OlN0YWNrJiBIZWFwOjpzdGFjaygpIHsKLS0gIHJldHVybiBpc29sYXRlXy0+dGhyZWFk X2xvY2FsX3RvcCgpLT5zdGFja187Ci0tfQotKzo6aGVhcDo6YmFzZTo6U3RhY2smIEhlYXA6OnN0 YWNrKCkgeyByZXR1cm4gaXNvbGF0ZV8tPnN0YWNrKCk7IH0KLSAKLSB2b2lkIEhlYXA6OlJlZ2lz dGVyRXh0ZXJuYWxseVJlZmVyZW5jZWRPYmplY3QoQWRkcmVzcyogbG9jYXRpb24pIHsKLSAgIE9i amVjdCBvYmplY3QgPSBUcmFjZWRIYW5kbGVzOjpNYXJrKGxvY2F0aW9uLCBUcmFjZWRIYW5kbGVz OjpNYXJrTW9kZTo6a0FsbCk7CmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3RlbXBsYXRl IGIvc3JjcGtncy9jaHJvbWl1bS90ZW1wbGF0ZQppbmRleCBiNGIwM2YzYjE0MTAuLjNjMWMxY2Fm Mzc2NSAxMDA2NDQKLS0tIGEvc3JjcGtncy9jaHJvbWl1bS90ZW1wbGF0ZQorKysgYi9zcmNwa2dz L2Nocm9taXVtL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAn Y2hyb21pdW0nCiBwa2duYW1lPWNocm9taXVtCiAjIFNlZSBodHRwczovL2Nocm9taXVtZGFzaC5h cHBzcG90LmNvbS9yZWxlYXNlcz9wbGF0Zm9ybT1MaW51eCBmb3IgdGhlIGxhdGVzdCB2ZXJzaW9u Ci12ZXJzaW9uPTExMC4wLjU0ODEuNzcKK3ZlcnNpb249MTExLjAuNTU2My42NAogcmV2aXNpb249 MQogYXJjaHM9Imk2ODYqIHg4Nl82NCogYWFyY2g2NCogYXJtdjdsKiIKIGhvc3RtYWtlZGVwZW5k cz0iCkBAIC0yOCwxMiArMjgsMTIgQEAgbWFpbnRhaW5lcj0iRHVuY2FlbiA8ZHVuY2FlbkB2b2lk bGludXgub3JnPiIKIGxpY2Vuc2U9IkJTRC0zLUNsYXVzZSIKIGhvbWVwYWdlPSJodHRwczovL3d3 dy5jaHJvbWl1bS5vcmcvIgogZGlzdGZpbGVzPSJodHRwczovL2NvbW1vbmRhdGFzdG9yYWdlLmdv b2dsZWFwaXMuY29tL2Nocm9taXVtLWJyb3dzZXItb2ZmaWNpYWwvJHtwa2duYW1lfS0ke3ZlcnNp b259LnRhci54eiIKLWNoZWNrc3VtPWUzNDhhYjJkYzQzMTEwODNlNzI5ZDcxNGE4MWU5NWRkOWRi MTA4ZmY3MTQzN2RkZTQ1MWM5N2FjOTM5ODgxY2UKK2NoZWNrc3VtPTdkNWNhMGUyYmRiMjJhOTc3 MTNlNmJmY2U3NGM2NTEwMDZkNzFhYTg4MzA1NmM4ZTJjMmExNDgwMzlmZTQwNzQKIAogbGliMzJk aXNhYmxlZD15ZXMKIAogYnVpbGRfb3B0aW9ucz0iY2xhbmcgZGVidWcganNfb3B0aW1pemUgdmFh cGkgcHVsc2VhdWRpbyBzbmRpbyBwaXBld2lyZSIKLWJ1aWxkX29wdGlvbnNfZGVmYXVsdD0iY2xh bmcganNfb3B0aW1pemUgdmFhcGkgcHVsc2VhdWRpbyBwaXBld2lyZSIKK2J1aWxkX29wdGlvbnNf ZGVmYXVsdD0iY2xhbmcgdmFhcGkgcHVsc2VhdWRpbyBwaXBld2lyZSIKIGRlc2Nfb3B0aW9uX2Ns YW5nPSJVc2UgY2xhbmcgdG8gYnVpbGQiCiBkZXNjX29wdGlvbl9kZWJ1Zz0iQnVpbGQgd2l0aCBk ZWJ1ZyBzeW1ib2xzIgogZGVzY19vcHRpb25fanNfb3B0aW1pemU9Ik9wdGltaXplIHRoZSBKUyB1 c2VkIGZvciBDaHJvbWl1bSdzIFVJIgo= --===============0220816138139567510==--