From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=ALL_TRUSTED,DKIM_ADSP_NXDOMAIN, T_SCC_BODY_TEXT_LINE,URI_TRY_USME autolearn=no autolearn_force=no version=3.4.4 Received: from inbox.vuxu.org (inbox.vuxu.org [IPv6:::1]) by inbox.vuxu.org (Postfix) with ESMTP id 911B02280E for ; Thu, 25 Jan 2024 16:39:31 +0100 (CET) Content-Type: multipart/mixed; boundary="===============2043562359590951122==" MIME-Version: 1.0 Subject: =?utf8?q?=5BPR_PATCH=5D_chromium=3A_update_to_121=2E0=2E6167=2E85=2E?= To: ml@inbox.vuxu.org From: Duncaen Reply-to: ml@inbox.vuxu.org Message-ID: Date: Thu, 25 Jan 2024 16:39:31 +0100 List-Id: GitHub notification mails are now in MIME to allow UTF8. --===============2043562359590951122== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYSBuZXcgcHVsbCByZXF1ZXN0IGJ5IER1bmNhZW4gYWdhaW5zdCBtYXN0ZXIgb24g dGhlIHZvaWQtcGFja2FnZXMgcmVwb3NpdG9yeQoKaHR0cHM6Ly9naXRodWIuY29tL0R1bmNhZW4v dm9pZC1wYWNrYWdlcyBjaHJvbWl1bS0xMjEKaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgv dm9pZC1wYWNrYWdlcy9wdWxsLzQ4MzY3CgpjaHJvbWl1bTogdXBkYXRlIHRvIDEyMS4wLjYxNjcu ODUuCltjaSBza2lwXQ0KDQoqIFsgXSB4ODZfNjQtZ2xpYmMNCiogWyBdIHg4Nl82NC1tdXNsDQoq IFsgXSBhYXJjaDY0LW11c2wNCiogWyBdIGk2ODYKCkEgcGF0Y2ggZmlsZSBmcm9tIGh0dHBzOi8v Z2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvcHVsbC80ODM2Ny5wYXRjaCBpcyBh dHRhY2hlZA== --===============2043562359590951122== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-chromium-121-48367.patch" RnJvbSA1MGYxNDM2NDU2MjdkZjg1NTBmNDUxNjJiZjlmNzgzZTRkNWMyYzdiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBEdW5jYWVuIDxkdW5jYWVuQHZvaWRsaW51eC5vcmc+CkRhdGU6 IFRodSwgMjUgSmFuIDIwMjQgMTY6MDc6MDcgKzAxMDAKU3ViamVjdDogW1BBVENIXSBjaHJvbWl1 bTogdXBkYXRlIHRvIDEyMS4wLjYxNjcuODUuCgotLS0KIC4uLkVSVC1yb2xsLXNyYy10aGlyZF9w YXJ0eS1mZm1wZWctbTEwMi5wYXRjaCB8IDMzMyAtLS0tLS0tLS0tLS0tCiAuLi5vbGwtc3JjLXRo aXJkX3BhcnR5LWZmbXBlZy1tMTAyLnBhdGNoLmFyZ3MgfCAgIDEgLQogLi4uRVJULXJvbGwtc3Jj LXRoaXJkX3BhcnR5LWZmbXBlZy1tMTA2LnBhdGNoIHwgIDU1IC0tLQogLi4ub2xsLXNyYy10aGly ZF9wYXJ0eS1mZm1wZWctbTEwNi5wYXRjaC5hcmdzIHwgICAxIC0KIC4uLi9jaHJvbWl1bS0xMjAt YXJtNjQtbWVtb3J5X3RhZ2dpbmcucGF0Y2ggICB8ICAxNCAtCiAuLi5yb21pdW0tMTIwLWVsNy1j bGFuZy12ZXJzaW9uLXdhcm5pbmcucGF0Y2ggfCAgMTYgLQogLi4uL2Nocm9taXVtLTEyMC1nbi13 b3JrYXJvdW5kLWF0c3BpLnBhdGNoICAgIHwgIDEzIC0KIC4uLi9jaHJvbWl1bS0xMjAtbWlzc2lu Zy1oZWFkZXItZmlsZXMucGF0Y2ggICB8IDQ1OSAtLS0tLS0tLS0tLS0tLS0tLS0KIC4uLi9jaHJv bWl1bS0xMjEtYXJtNjQtbWVtb3J5X3RhZ2dpbmcucGF0Y2ggICB8ICAxMyArCiAuLi4vcGF0Y2hl cy9jaHJvbWl1bS0xMjEtY29uc3RleHByLnBhdGNoICAgICAgfCAgMTIgKwogLi4ucm9taXVtLTEy MS1lbDctY2xhbmctdmVyc2lvbi13YXJuaW5nLnBhdGNoIHwgIDE1ICsKIC4uLm9uc3RydWN0b3It aW52b2x2aW5nLWFub255bW91cy11bmlvbi5wYXRjaCB8ICAxMiArCiAuLi4vY2hyb21pdW0tMTIx LW1pc3NpbmctaGVhZGVyLWZpbGVzLnBhdGNoICAgfCA0NTkgKysrKysrKysrKysrKysrKysrCiAu Li4vcGF0Y2hlcy9jaHJvbWl1bS0xMjEtbW5lbW9uaWMtZXJyb3IucGF0Y2ggfCAgMTIgKwogLi4u aHJvbWl1bS0xMjEtbm9fbWF0Y2hpbmdfY29uc3RydWN0b3IucGF0Y2h9IHwgNDA3ICsrKysrKysr KysrKy0tLS0KIC4uLi0xMjEtbnVsbHB0cl90LXdpdGhvdXQtbmFtZXNwYWNlLXN0ZC5wYXRjaCB8 ICAxMiArCiAuLi4tMTIxLXB5dGhvbjMtaW52YWxpZC1lc2NhcGUtc2VxdWVuY2UucGF0Y2ggfCAg NzcgKysrCiAuLi4vcGF0Y2hlcy9jaHJvbWl1bS0xMjEtcnVzdC1jbGFuZ19saWIucGF0Y2ggfCAg MjIgKwogLi4ubS0xMjEtcnVzdC13aXRob3V0LXByb2ZpbGVyX2J1aWx0aW5zLnBhdGNoIHwgIDEw ICsKIC4uLi9jaHJvbWl1bS0xMjEtc3lzdGVtLW9sZC1mZm1wZWcucGF0Y2ggICAgICB8ICAzNCAr KwogLi4ubmFtZS5wYXRjaCA9PiBjaHJvbWl1bS0xMjEtdHlwZW5hbWUucGF0Y2h9IHwgIDU0ICsr KwogLi4uYXJvdW5kX2NsYW5nX2J1Zy1zdHJ1Y3R1cmVkX2JpbmRpbmcucGF0Y2h9IHwgIDIwICst CiBzcmNwa2dzL2Nocm9taXVtL3RlbXBsYXRlICAgICAgICAgICAgICAgICAgICAgfCAgMTMgKy0K IDIzIGZpbGVzIGNoYW5nZWQsIDEwNTcgaW5zZXJ0aW9ucygrKSwgMTAwNyBkZWxldGlvbnMoLSkK IGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvUkVWRVJULXJvbGwt c3JjLXRoaXJkX3BhcnR5LWZmbXBlZy1tMTAyLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3Jj cGtncy9jaHJvbWl1bS9wYXRjaGVzL1JFVkVSVC1yb2xsLXNyYy10aGlyZF9wYXJ0eS1mZm1wZWct bTEwMi5wYXRjaC5hcmdzCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRj aGVzL1JFVkVSVC1yb2xsLXNyYy10aGlyZF9wYXJ0eS1mZm1wZWctbTEwNi5wYXRjaAogZGVsZXRl IG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9SRVZFUlQtcm9sbC1zcmMtdGhp cmRfcGFydHktZmZtcGVnLW0xMDYucGF0Y2guYXJncwogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3Br Z3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0xMjAtYXJtNjQtbWVtb3J5X3RhZ2dpbmcucGF0 Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0t MTIwLWVsNy1jbGFuZy12ZXJzaW9uLXdhcm5pbmcucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBz cmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTIwLWduLXdvcmthcm91bmQtYXRzcGku cGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21p dW0tMTIwLW1pc3NpbmctaGVhZGVyLWZpbGVzLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3Jj cGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTEyMS1hcm02NC1tZW1vcnlfdGFnZ2luZy5w YXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1 bS0xMjEtY29uc3RleHByLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1 bS9wYXRjaGVzL2Nocm9taXVtLTEyMS1lbDctY2xhbmctdmVyc2lvbi13YXJuaW5nLnBhdGNoCiBj cmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTEyMS1l bDctZGVmYXVsdC1jb25zdHJ1Y3Rvci1pbnZvbHZpbmctYW5vbnltb3VzLXVuaW9uLnBhdGNoCiBj cmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTEyMS1t aXNzaW5nLWhlYWRlci1maWxlcy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2hy b21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0xMjEtbW5lbW9uaWMtZXJyb3IucGF0Y2gKIHJlbmFtZSBz cmNwa2dzL2Nocm9taXVtL3BhdGNoZXMve2Nocm9taXVtLTEyMC1ub19tYXRjaGluZ19jb25zdHJ1 Y3Rvci5wYXRjaCA9PiBjaHJvbWl1bS0xMjEtbm9fbWF0Y2hpbmdfY29uc3RydWN0b3IucGF0Y2h9 ICg3NSUpCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9t aXVtLTEyMS1udWxscHRyX3Qtd2l0aG91dC1uYW1lc3BhY2Utc3RkLnBhdGNoCiBjcmVhdGUgbW9k ZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTEyMS1weXRob24zLWlu dmFsaWQtZXNjYXBlLXNlcXVlbmNlLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9j aHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTEyMS1ydXN0LWNsYW5nX2xpYi5wYXRjaAogY3JlYXRl IG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0xMjEtcnVzdC13 aXRob3V0LXByb2ZpbGVyX2J1aWx0aW5zLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtn cy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTEyMS1zeXN0ZW0tb2xkLWZmbXBlZy5wYXRjaAog cmVuYW1lIHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy97Y2hyb21pdW0tMTIwLXR5cGVuYW1lLnBh dGNoID0+IGNocm9taXVtLTEyMS10eXBlbmFtZS5wYXRjaH0gKDc4JSkKIHJlbmFtZSBzcmNwa2dz L2Nocm9taXVtL3BhdGNoZXMve2Nocm9taXVtLTEyMC13b3JrYXJvdW5kX2NsYW5nX2J1Zy1zdHJ1 Y3R1cmVkX2JpbmRpbmcucGF0Y2ggPT4gY2hyb21pdW0tMTIxLXdvcmthcm91bmRfY2xhbmdfYnVn LXN0cnVjdHVyZWRfYmluZGluZy5wYXRjaH0gKDc1JSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2No cm9taXVtL3BhdGNoZXMvUkVWRVJULXJvbGwtc3JjLXRoaXJkX3BhcnR5LWZmbXBlZy1tMTAyLnBh dGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL1JFVkVSVC1yb2xsLXNyYy10aGlyZF9wYXJ0 eS1mZm1wZWctbTEwMi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTczOWI0 MGEyNzMzYy4uMDAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvUkVW RVJULXJvbGwtc3JjLXRoaXJkX3BhcnR5LWZmbXBlZy1tMTAyLnBhdGNoCisrKyAvZGV2L251bGwK QEAgLTEsMzMzICswLDAgQEAKLUZyb20gNmU1NTRhMzA4OTMxNTA3OTNjMjYzOGUzNjg5Y2YyMDhm ZmM4ZTM3NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IERhbGUgQ3VydGlzIDxkYWxl Y3VydGlzQGNocm9taXVtLm9yZz4KLURhdGU6IFNhdCwgMiBBcHIgMjAyMiAwNToxMzo1MyArMDAw MAotU3ViamVjdDogW1BBVENIXSBSb2xsIHNyYy90aGlyZF9wYXJ0eS9mZm1wZWcvIDU3NGMzOWNj ZS4uMzJiMmQxZDUyNiAoMTEyNQotIGNvbW1pdHMpCi0KLWh0dHBzOi8vY2hyb21pdW0uZ29vZ2xl c291cmNlLmNvbS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9mZm1wZWcuZ2l0Lytsb2cvNTc0YzM5Y2Nl MzIzLi4zMmIyZDFkNTI2Ci0KLUNyZWF0ZWQgd2l0aDoKLSAgcm9sbC1kZXAgc3JjL3RoaXJkX3Bh cnR5L2ZmbXBlZwotCi1GaXhlZDogMTI5MzkxOAotQ3EtSW5jbHVkZS1Ucnlib3RzOiBsdWNpLmNo cm9taXVtLnRyeTptYWNfY2hyb21pdW1fYXNhbl9yZWxfbmcsbGludXhfY2hyb21pdW1fYXNhbl9y ZWxfbmcsbGludXhfY2hyb21pdW1fY2hyb21lb3NfYXNhbl9yZWxfbmcKLUNoYW5nZS1JZDogSTQx OTQ1ZDBmOTYzZTNkMWY2NTk0MDA2N2JhYzIyZjYzYjY4ZTM3ZDIKLVJldmlld2VkLW9uOiBodHRw czovL2Nocm9taXVtLXJldmlldy5nb29nbGVzb3VyY2UuY29tL2MvY2hyb21pdW0vc3JjLysvMzU2 NTY0NwotQXV0by1TdWJtaXQ6IERhbGUgQ3VydGlzIDxkYWxlY3VydGlzQGNocm9taXVtLm9yZz4K LVJldmlld2VkLWJ5OiBEYW4gU2FuZGVycyA8c2FuZGVyc2RAY2hyb21pdW0ub3JnPgotQ29tbWl0 LVF1ZXVlOiBEYWxlIEN1cnRpcyA8ZGFsZWN1cnRpc0BjaHJvbWl1bS5vcmc+Ci1Dci1Db21taXQt UG9zaXRpb246IHJlZnMvaGVhZHMvbWFpbkB7Izk4ODI1M30KLS0tLQotIC4uLi9jbGVhcl9rZXlf Y2RtL2ZmbXBlZ19jZG1fYXVkaW9fZGVjb2Rlci5jYyB8IDI5ICsrKysrKysrKystLS0tLS0tLS0K LSBtZWRpYS9mZm1wZWcvZmZtcGVnX2NvbW1vbi5jYyAgICAgICAgICAgICAgICAgfCAxMSArKyst LS0tCi0gbWVkaWEvZmlsdGVycy9hdWRpb19maWxlX3JlYWRlci5jYyAgICAgICAgICAgIHwgIDkg KysrLS0tCi0gbWVkaWEvZmlsdGVycy9hdWRpb19maWxlX3JlYWRlcl91bml0dGVzdC5jYyAgIHwg IDYgKystLQotIC4uLi9maWx0ZXJzL2F1ZGlvX3ZpZGVvX21ldGFkYXRhX2V4dHJhY3Rvci5jYyB8 IDExICsrKysrLS0KLSAuLi4vZmlsdGVycy9mZm1wZWdfYWFjX2JpdHN0cmVhbV9jb252ZXJ0ZXIu Y2MgfCAgNyArKystLQotIC4uLmZmbXBlZ19hYWNfYml0c3RyZWFtX2NvbnZlcnRlcl91bml0dGVz dC5jYyB8ICAyICstCi0gbWVkaWEvZmlsdGVycy9mZm1wZWdfYXVkaW9fZGVjb2Rlci5jYyAgICAg ICAgIHwgMTMgKysrKystLS0tCi0gOCBmaWxlcyBjaGFuZ2VkLCA1MSBpbnNlcnRpb25zKCspLCAz NyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL21lZGlhL2NkbS9saWJyYXJ5X2NkbS9jbGVh cl9rZXlfY2RtL2ZmbXBlZ19jZG1fYXVkaW9fZGVjb2Rlci5jYyBiL21lZGlhL2NkbS9saWJyYXJ5 X2NkbS9jbGVhcl9rZXlfY2RtL2ZmbXBlZ19jZG1fYXVkaW9fZGVjb2Rlci5jYwotaW5kZXggZTRm YzNmNDYwZTIuLjliMWFkOWY3Njc1IDEwMDY0NAotLS0tIGEvbWVkaWEvY2RtL2xpYnJhcnlfY2Rt L2NsZWFyX2tleV9jZG0vZmZtcGVnX2NkbV9hdWRpb19kZWNvZGVyLmNjCi0rKysgYi9tZWRpYS9j ZG0vbGlicmFyeV9jZG0vY2xlYXJfa2V5X2NkbS9mZm1wZWdfY2RtX2F1ZGlvX2RlY29kZXIuY2MK LUBAIC03NCw3ICs3NCw3IEBAIHZvaWQgQ2RtQXVkaW9EZWNvZGVyQ29uZmlnVG9BVkNvZGVjQ29u dGV4dCgKLSAgICAgICBjb2RlY19jb250ZXh0LT5zYW1wbGVfZm10ID0gQVZfU0FNUExFX0ZNVF9O T05FOwotICAgfQotIAotLSAgY29kZWNfY29udGV4dC0+Y2hhbm5lbHMgPSBjb25maWcuY2hhbm5l bF9jb3VudDsKLSsgIGNvZGVjX2NvbnRleHQtPmNoX2xheW91dC5uYl9jaGFubmVscyA9IGNvbmZp Zy5jaGFubmVsX2NvdW50OwotICAgY29kZWNfY29udGV4dC0+c2FtcGxlX3JhdGUgPSBjb25maWcu c2FtcGxlc19wZXJfc2Vjb25kOwotIAotICAgaWYgKGNvbmZpZy5leHRyYV9kYXRhKSB7Ci1AQCAt MTI0LDggKzEyNCw4IEBAIHZvaWQgQ29weVNhbXBsZXMoY2RtOjpBdWRpb0Zvcm1hdCBjZG1fZm9y bWF0LAotICAgICBjYXNlIGNkbTo6a0F1ZGlvRm9ybWF0UGxhbmFyUzE2OgotICAgICBjYXNlIGNk bTo6a0F1ZGlvRm9ybWF0UGxhbmFyRjMyOiB7Ci0gICAgICAgY29uc3QgaW50IGRlY29kZWRfc2l6 ZV9wZXJfY2hhbm5lbCA9Ci0tICAgICAgICAgIGRlY29kZWRfYXVkaW9fc2l6ZSAvIGF2X2ZyYW1l LmNoYW5uZWxzOwotLSAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgYXZfZnJhbWUuY2hhbm5lbHM7 ICsraSkgewotKyAgICAgICAgICBkZWNvZGVkX2F1ZGlvX3NpemUgLyBhdl9mcmFtZS5jaF9sYXlv dXQubmJfY2hhbm5lbHM7Ci0rICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBhdl9mcmFtZS5jaF9s YXlvdXQubmJfY2hhbm5lbHM7ICsraSkgewotICAgICAgICAgbWVtY3B5KG91dHB1dF9idWZmZXIs IGF2X2ZyYW1lLmV4dGVuZGVkX2RhdGFbaV0sCi0gICAgICAgICAgICAgICAgZGVjb2RlZF9zaXpl X3Blcl9jaGFubmVsKTsKLSAgICAgICAgIG91dHB1dF9idWZmZXIgKz0gZGVjb2RlZF9zaXplX3Bl cl9jaGFubmVsOwotQEAgLTE4NSwxMyArMTg1LDE0IEBAIGJvb2wgRkZtcGVnQ2RtQXVkaW9EZWNv ZGVyOjpJbml0aWFsaXplKAotICAgLy8gU3VjY2VzcyEKLSAgIGRlY29kaW5nX2xvb3BfID0gc3Rk OjptYWtlX3VuaXF1ZTxGRm1wZWdEZWNvZGluZ0xvb3A+KGNvZGVjX2NvbnRleHRfLmdldCgpKTsK LSAgIHNhbXBsZXNfcGVyX3NlY29uZF8gPSBjb25maWcuc2FtcGxlc19wZXJfc2Vjb25kOwotLSAg Ynl0ZXNfcGVyX2ZyYW1lXyA9IGNvZGVjX2NvbnRleHRfLT5jaGFubmVscyAqIGNvbmZpZy5iaXRz X3Blcl9jaGFubmVsIC8gODsKLSsgIGJ5dGVzX3Blcl9mcmFtZV8gPQotKyAgICAgIGNvZGVjX2Nv bnRleHRfLT5jaF9sYXlvdXQubmJfY2hhbm5lbHMgKiBjb25maWcuYml0c19wZXJfY2hhbm5lbCAv IDg7Ci0gICBvdXRwdXRfdGltZXN0YW1wX2hlbHBlcl8gPQotICAgICAgIHN0ZDo6bWFrZV91bmlx dWU8QXVkaW9UaW1lc3RhbXBIZWxwZXI+KGNvbmZpZy5zYW1wbGVzX3Blcl9zZWNvbmQpOwotICAg aXNfaW5pdGlhbGl6ZWRfID0gdHJ1ZTsKLSAKLSAgIC8vIFN0b3JlIGluaXRpYWwgdmFsdWVzIHRv IGd1YXJkIGFnYWluc3QgbWlkc3RyZWFtIGNvbmZpZ3VyYXRpb24gY2hhbmdlcy4KLS0gIGNoYW5u ZWxzXyA9IGNvZGVjX2NvbnRleHRfLT5jaGFubmVsczsKLSsgIGNoYW5uZWxzXyA9IGNvZGVjX2Nv bnRleHRfLT5jaF9sYXlvdXQubmJfY2hhbm5lbHM7Ci0gICBhdl9zYW1wbGVfZm9ybWF0XyA9IGNv ZGVjX2NvbnRleHRfLT5zYW1wbGVfZm10OwotIAotICAgcmV0dXJuIHRydWU7Ci1AQCAtMjkxLDE3 ICsyOTIsMTkgQEAgY2RtOjpTdGF0dXMgRkZtcGVnQ2RtQXVkaW9EZWNvZGVyOjpEZWNvZGVCdWZm ZXIoCi0gICBmb3IgKGF1dG8mIGZyYW1lIDogYXVkaW9fZnJhbWVzKSB7Ci0gICAgIGludCBkZWNv ZGVkX2F1ZGlvX3NpemUgPSAwOwotICAgICBpZiAoZnJhbWUtPnNhbXBsZV9yYXRlICE9IHNhbXBs ZXNfcGVyX3NlY29uZF8gfHwKLS0gICAgICAgIGZyYW1lLT5jaGFubmVscyAhPSBjaGFubmVsc18g fHwgZnJhbWUtPmZvcm1hdCAhPSBhdl9zYW1wbGVfZm9ybWF0XykgewotKyAgICAgICAgZnJhbWUt PmNoX2xheW91dC5uYl9jaGFubmVscyAhPSBjaGFubmVsc18gfHwKLSsgICAgICAgIGZyYW1lLT5m b3JtYXQgIT0gYXZfc2FtcGxlX2Zvcm1hdF8pIHsKLSAgICAgICBETE9HKEVSUk9SKSA8PCAiVW5z dXBwb3J0ZWQgbWlkc3RyZWFtIGNvbmZpZ3VyYXRpb24gY2hhbmdlISIKLSAgICAgICAgICAgICAg ICAgICA8PCAiIFNhbXBsZSBSYXRlOiAiIDw8IGZyYW1lLT5zYW1wbGVfcmF0ZSA8PCAiIHZzICIK LS0gICAgICAgICAgICAgICAgICA8PCBzYW1wbGVzX3Blcl9zZWNvbmRfIDw8ICIsIENoYW5uZWxz OiAiIDw8IGZyYW1lLT5jaGFubmVscwotLSAgICAgICAgICAgICAgICAgIDw8ICIgdnMgIiA8PCBj aGFubmVsc18gPDwgIiwgU2FtcGxlIEZvcm1hdDogIiA8PCBmcmFtZS0+Zm9ybWF0Ci0tICAgICAg ICAgICAgICAgICAgPDwgIiB2cyAiIDw8IGF2X3NhbXBsZV9mb3JtYXRfOwotKyAgICAgICAgICAg ICAgICAgIDw8IHNhbXBsZXNfcGVyX3NlY29uZF8KLSsgICAgICAgICAgICAgICAgICA8PCAiLCBD aGFubmVsczogIiA8PCBmcmFtZS0+Y2hfbGF5b3V0Lm5iX2NoYW5uZWxzIDw8ICIgdnMgIgotKyAg ICAgICAgICAgICAgICAgIDw8IGNoYW5uZWxzXyA8PCAiLCBTYW1wbGUgRm9ybWF0OiAiIDw8IGZy YW1lLT5mb3JtYXQgPDwgIiB2cyAiCi0rICAgICAgICAgICAgICAgICAgPDwgYXZfc2FtcGxlX2Zv cm1hdF87Ci0gICAgICAgcmV0dXJuIGNkbTo6a0RlY29kZUVycm9yOwotICAgICB9Ci0gCi0gICAg IGRlY29kZWRfYXVkaW9fc2l6ZSA9IGF2X3NhbXBsZXNfZ2V0X2J1ZmZlcl9zaXplKAotLSAgICAg ICAgbnVsbHB0ciwgY29kZWNfY29udGV4dF8tPmNoYW5uZWxzLCBmcmFtZS0+bmJfc2FtcGxlcywK LSsgICAgICAgIG51bGxwdHIsIGNvZGVjX2NvbnRleHRfLT5jaF9sYXlvdXQubmJfY2hhbm5lbHMs IGZyYW1lLT5uYl9zYW1wbGVzLAotICAgICAgICAgY29kZWNfY29udGV4dF8tPnNhbXBsZV9mbXQs IDEpOwotICAgICBpZiAoIWRlY29kZWRfYXVkaW9fc2l6ZSkKLSAgICAgICBjb250aW51ZTsKLUBA IC0zMjAsOSArMzIzLDkgQEAgYm9vbCBGRm1wZWdDZG1BdWRpb0RlY29kZXI6Ok9uTmV3RnJhbWUo Ci0gICAgIHNpemVfdCogdG90YWxfc2l6ZSwKLSAgICAgc3RkOjp2ZWN0b3I8c3RkOjp1bmlxdWVf cHRyPEFWRnJhbWUsIFNjb3BlZFB0ckFWRnJlZUZyYW1lPj4qIGF1ZGlvX2ZyYW1lcywKLSAgICAg QVZGcmFtZSogZnJhbWUpIHsKLS0gICp0b3RhbF9zaXplICs9IGF2X3NhbXBsZXNfZ2V0X2J1ZmZl cl9zaXplKG51bGxwdHIsIGNvZGVjX2NvbnRleHRfLT5jaGFubmVscywKLS0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyYW1lLT5uYl9zYW1wbGVzLAotLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29kZWNfY29udGV4dF8tPnNh bXBsZV9mbXQsIDEpOwotKyAgKnRvdGFsX3NpemUgKz0gYXZfc2FtcGxlc19nZXRfYnVmZmVyX3Np emUoCi0rICAgICAgbnVsbHB0ciwgY29kZWNfY29udGV4dF8tPmNoX2xheW91dC5uYl9jaGFubmVs cywgZnJhbWUtPm5iX3NhbXBsZXMsCi0rICAgICAgY29kZWNfY29udGV4dF8tPnNhbXBsZV9mbXQs IDEpOwotICAgYXVkaW9fZnJhbWVzLT5lbXBsYWNlX2JhY2soYXZfZnJhbWVfY2xvbmUoZnJhbWUp KTsKLSAgIHJldHVybiB0cnVlOwotIH0KLWRpZmYgLS1naXQgYS9tZWRpYS9mZm1wZWcvZmZtcGVn X2NvbW1vbi5jYyBiL21lZGlhL2ZmbXBlZy9mZm1wZWdfY29tbW9uLmNjCi1pbmRleCA4N2NhODk2 OTYyNi4uNzZmMDNkNjYwOGUgMTAwNjQ0Ci0tLS0gYS9tZWRpYS9mZm1wZWcvZmZtcGVnX2NvbW1v bi5jYwotKysrIGIvbWVkaWEvZmZtcGVnL2ZmbXBlZ19jb21tb24uY2MKLUBAIC0zNDUsMTAgKzM0 NSwxMSBAQCBib29sIEFWQ29kZWNDb250ZXh0VG9BdWRpb0RlY29kZXJDb25maWcoY29uc3QgQVZD b2RlY0NvbnRleHQqIGNvZGVjX2NvbnRleHQsCi0gICAgICAgY29kZWNfY29udGV4dC0+c2FtcGxl X2ZtdCwgY29kZWNfY29udGV4dC0+Y29kZWNfaWQpOwotIAotICAgQ2hhbm5lbExheW91dCBjaGFu bmVsX2xheW91dCA9Ci0tICAgICAgY29kZWNfY29udGV4dC0+Y2hhbm5lbHMgPiA4Ci0rICAgICAg Y29kZWNfY29udGV4dC0+Y2hfbGF5b3V0Lm5iX2NoYW5uZWxzID4gOAotICAgICAgICAgICA/IENI QU5ORUxfTEFZT1VUX0RJU0NSRVRFCi0tICAgICAgICAgIDogQ2hhbm5lbExheW91dFRvQ2hyb21l Q2hhbm5lbExheW91dChjb2RlY19jb250ZXh0LT5jaGFubmVsX2xheW91dCwKLS0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvZGVjX2NvbnRleHQtPmNoYW5u ZWxzKTsKLSsgICAgICAgICAgOiBDaGFubmVsTGF5b3V0VG9DaHJvbWVDaGFubmVsTGF5b3V0KAot KyAgICAgICAgICAgICAgICBjb2RlY19jb250ZXh0LT5jaF9sYXlvdXQudS5tYXNrLAotKyAgICAg ICAgICAgICAgICBjb2RlY19jb250ZXh0LT5jaF9sYXlvdXQubmJfY2hhbm5lbHMpOwotIAotICAg aW50IHNhbXBsZV9yYXRlID0gY29kZWNfY29udGV4dC0+c2FtcGxlX3JhdGU7Ci0gICBzd2l0Y2gg KGNvZGVjKSB7Ci1AQCAtNDAxLDcgKzQwMiw3IEBAIGJvb2wgQVZDb2RlY0NvbnRleHRUb0F1ZGlv RGVjb2RlckNvbmZpZyhjb25zdCBBVkNvZGVjQ29udGV4dCogY29kZWNfY29udGV4dCwKLSAgICAg ICAgICAgICAgICAgICAgICBleHRyYV9kYXRhLCBlbmNyeXB0aW9uX3NjaGVtZSwgc2Vla19wcmVy b2xsLAotICAgICAgICAgICAgICAgICAgICAgIGNvZGVjX2NvbnRleHQtPmRlbGF5KTsKLSAgIGlm IChjaGFubmVsX2xheW91dCA9PSBDSEFOTkVMX0xBWU9VVF9ESVNDUkVURSkKLS0gICAgY29uZmln LT5TZXRDaGFubmVsc0ZvckRpc2NyZXRlKGNvZGVjX2NvbnRleHQtPmNoYW5uZWxzKTsKLSsgICAg Y29uZmlnLT5TZXRDaGFubmVsc0ZvckRpc2NyZXRlKGNvZGVjX2NvbnRleHQtPmNoX2xheW91dC5u Yl9jaGFubmVscyk7Ci0gCi0gI2lmIEJVSUxERkxBRyhFTkFCTEVfUExBVEZPUk1fQUMzX0VBQzNf QVVESU8pCi0gICAvLyBUaGVzZSBhcmUgYml0c3RyZWFtIGZvcm1hdHMgdW5rbm93biB0byBmZm1w ZWcsIHNvIHRoZXkgZG9uJ3QgaGF2ZQotQEAgLTQ3MCw3ICs0NzEsNyBAQCB2b2lkIEF1ZGlvRGVj b2RlckNvbmZpZ1RvQVZDb2RlY0NvbnRleHQoY29uc3QgQXVkaW9EZWNvZGVyQ29uZmlnJiBjb25m aWcsCi0gCi0gICAvLyBUT0RPKHNjaGVya3VzKTogc2hvdWxkIHdlIHNldCB8Y2hhbm5lbF9sYXlv dXR8PyBJJ20gbm90IHN1cmUgaWYgRkZtcGVnIHVzZXMKLSAgIC8vIHNhaWQgaW5mb3JtYXRpb24g dG8gZGVjb2RlLgotLSAgY29kZWNfY29udGV4dC0+Y2hhbm5lbHMgPSBjb25maWcuY2hhbm5lbHMo KTsKLSsgIGNvZGVjX2NvbnRleHQtPmNoX2xheW91dC5uYl9jaGFubmVscyA9IGNvbmZpZy5jaGFu bmVscygpOwotICAgY29kZWNfY29udGV4dC0+c2FtcGxlX3JhdGUgPSBjb25maWcuc2FtcGxlc19w ZXJfc2Vjb25kKCk7Ci0gCi0gICBpZiAoY29uZmlnLmV4dHJhX2RhdGEoKS5lbXB0eSgpKSB7Ci1k aWZmIC0tZ2l0IGEvbWVkaWEvZmlsdGVycy9hdWRpb19maWxlX3JlYWRlci5jYyBiL21lZGlhL2Zp bHRlcnMvYXVkaW9fZmlsZV9yZWFkZXIuY2MKLWluZGV4IDVmMjU3YmRmYWE2Li5lMWJlNWFhOWE1 YiAxMDA2NDQKLS0tLSBhL21lZGlhL2ZpbHRlcnMvYXVkaW9fZmlsZV9yZWFkZXIuY2MKLSsrKyBi L21lZGlhL2ZpbHRlcnMvYXVkaW9fZmlsZV9yZWFkZXIuY2MKLUBAIC0xMTMsMTQgKzExMywxNSBA QCBib29sIEF1ZGlvRmlsZVJlYWRlcjo6T3BlbkRlY29kZXIoKSB7Ci0gCi0gICAvLyBWZXJpZnkg dGhlIGNoYW5uZWwgbGF5b3V0IGlzIHN1cHBvcnRlZCBieSBDaHJvbWUuICBBY3RzIGFzIGEgc2Fu aXR5IGNoZWNrCi0gICAvLyBhZ2FpbnN0IGludmFsaWQgZmlsZXMuICBTZWUgaHR0cDovL2NyYnVn LmNvbS8xNzE5NjIKLS0gIGlmIChDaGFubmVsTGF5b3V0VG9DaHJvbWVDaGFubmVsTGF5b3V0KGNv ZGVjX2NvbnRleHRfLT5jaGFubmVsX2xheW91dCwKLS0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGNvZGVjX2NvbnRleHRfLT5jaGFubmVscykgPT0KLSsgIGlmIChDaGFu bmVsTGF5b3V0VG9DaHJvbWVDaGFubmVsTGF5b3V0KAotKyAgICAgICAgICBjb2RlY19jb250ZXh0 Xy0+Y2hfbGF5b3V0LnUubWFzaywKLSsgICAgICAgICAgY29kZWNfY29udGV4dF8tPmNoX2xheW91 dC5uYl9jaGFubmVscykgPT0KLSAgICAgICBDSEFOTkVMX0xBWU9VVF9VTlNVUFBPUlRFRCkgewot ICAgICByZXR1cm4gZmFsc2U7Ci0gICB9Ci0gCi0gICAvLyBTdG9yZSBpbml0aWFsIHZhbHVlcyB0 byBndWFyZCBhZ2FpbnN0IG1pZHN0cmVhbSBjb25maWd1cmF0aW9uIGNoYW5nZXMuCi0tICBjaGFu bmVsc18gPSBjb2RlY19jb250ZXh0Xy0+Y2hhbm5lbHM7Ci0rICBjaGFubmVsc18gPSBjb2RlY19j b250ZXh0Xy0+Y2hfbGF5b3V0Lm5iX2NoYW5uZWxzOwotICAgYXVkaW9fY29kZWNfID0gQ29kZWNJ RFRvQXVkaW9Db2RlYyhjb2RlY19jb250ZXh0Xy0+Y29kZWNfaWQpOwotICAgc2FtcGxlX3JhdGVf ID0gY29kZWNfY29udGV4dF8tPnNhbXBsZV9yYXRlOwotICAgYXZfc2FtcGxlX2Zvcm1hdF8gPSBj b2RlY19jb250ZXh0Xy0+c2FtcGxlX2ZtdDsKLUBAIC0yMjMsNyArMjI0LDcgQEAgYm9vbCBBdWRp b0ZpbGVSZWFkZXI6Ok9uTmV3RnJhbWUoCi0gICBpZiAoZnJhbWVzX3JlYWQgPCAwKQotICAgICBy ZXR1cm4gZmFsc2U7Ci0gCi0tICBjb25zdCBpbnQgY2hhbm5lbHMgPSBmcmFtZS0+Y2hhbm5lbHM7 Ci0rICBjb25zdCBpbnQgY2hhbm5lbHMgPSBmcmFtZS0+Y2hfbGF5b3V0Lm5iX2NoYW5uZWxzOwot ICAgaWYgKGZyYW1lLT5zYW1wbGVfcmF0ZSAhPSBzYW1wbGVfcmF0ZV8gfHwgY2hhbm5lbHMgIT0g Y2hhbm5lbHNfIHx8Ci0gICAgICAgZnJhbWUtPmZvcm1hdCAhPSBhdl9zYW1wbGVfZm9ybWF0Xykg ewotICAgICBETE9HKEVSUk9SKSA8PCAiVW5zdXBwb3J0ZWQgbWlkc3RyZWFtIGNvbmZpZ3VyYXRp b24gY2hhbmdlISIKLWRpZmYgLS1naXQgYS9tZWRpYS9maWx0ZXJzL2F1ZGlvX2ZpbGVfcmVhZGVy X3VuaXR0ZXN0LmNjIGIvbWVkaWEvZmlsdGVycy9hdWRpb19maWxlX3JlYWRlcl91bml0dGVzdC5j YwotaW5kZXggMmFiYTc5MjdhMzEuLjFmNDVhNTBjYWNlIDEwMDY0NAotLS0tIGEvbWVkaWEvZmls dGVycy9hdWRpb19maWxlX3JlYWRlcl91bml0dGVzdC5jYwotKysrIGIvbWVkaWEvZmlsdGVycy9h dWRpb19maWxlX3JlYWRlcl91bml0dGVzdC5jYwotQEAgLTEyMSwxMSArMTIxLDExIEBAIGNsYXNz IEF1ZGlvRmlsZVJlYWRlclRlc3QgOiBwdWJsaWMgdGVzdGluZzo6VGVzdCB7Ci0gICAgIEVYUEVD VF9GQUxTRShyZWFkZXJfLT5PcGVuKCkpOwotICAgfQotIAotLSAgdm9pZCBSdW5UZXN0RmFpbGlu Z0RlY29kZShjb25zdCBjaGFyKiBmbikgewotKyAgdm9pZCBSdW5UZXN0RmFpbGluZ0RlY29kZShj b25zdCBjaGFyKiBmbiwgaW50IGV4cGVjdF9yZWFkID0gMCkgewotICAgICBJbml0aWFsaXplKGZu KTsKLSAgICAgRVhQRUNUX1RSVUUocmVhZGVyXy0+T3BlbigpKTsKLSAgICAgc3RkOjp2ZWN0b3I8 c3RkOjp1bmlxdWVfcHRyPEF1ZGlvQnVzPj4gZGVjb2RlZF9hdWRpb19wYWNrZXRzOwotLSAgICBF WFBFQ1RfRVEocmVhZGVyXy0+UmVhZCgmZGVjb2RlZF9hdWRpb19wYWNrZXRzKSwgMCk7Ci0rICAg IEVYUEVDVF9FUShyZWFkZXJfLT5SZWFkKCZkZWNvZGVkX2F1ZGlvX3BhY2tldHMpLCBleHBlY3Rf cmVhZCk7Ci0gICB9Ci0gCi0gICB2b2lkIFJ1blRlc3RQYXJ0aWFsRGVjb2RlKGNvbnN0IGNoYXIq IGZuKSB7Ci1AQCAtMjE5LDcgKzIxOSw3IEBAIFRFU1RfRihBdWRpb0ZpbGVSZWFkZXJUZXN0LCBB QUNfQURUUykgewotIH0KLSAKLSBURVNUX0YoQXVkaW9GaWxlUmVhZGVyVGVzdCwgTWlkU3RyZWFt Q29uZmlnQ2hhbmdlc0ZhaWwpIHsKLS0gIFJ1blRlc3RGYWlsaW5nRGVjb2RlKCJtaWRzdHJlYW1f Y29uZmlnX2NoYW5nZS5tcDMiKTsKLSsgIFJ1blRlc3RGYWlsaW5nRGVjb2RlKCJtaWRzdHJlYW1f Y29uZmlnX2NoYW5nZS5tcDMiLCA0MjYyNCk7Ci0gfQotICNlbmRpZgotIAotZGlmZiAtLWdpdCBh L21lZGlhL2ZpbHRlcnMvYXVkaW9fdmlkZW9fbWV0YWRhdGFfZXh0cmFjdG9yLmNjIGIvbWVkaWEv ZmlsdGVycy9hdWRpb192aWRlb19tZXRhZGF0YV9leHRyYWN0b3IuY2MKLWluZGV4IDE4NTgxOWVi OTM2Li42OWZmNTA4YzIyMSAxMDA2NDQKLS0tLSBhL21lZGlhL2ZpbHRlcnMvYXVkaW9fdmlkZW9f bWV0YWRhdGFfZXh0cmFjdG9yLmNjCi0rKysgYi9tZWRpYS9maWx0ZXJzL2F1ZGlvX3ZpZGVvX21l dGFkYXRhX2V4dHJhY3Rvci5jYwotQEAgLTExMyw2ICsxMTMsMTUgQEAgYm9vbCBBdWRpb1ZpZGVv TWV0YWRhdGFFeHRyYWN0b3I6OkV4dHJhY3QoRGF0YVNvdXJjZSogc291cmNlLAotICAgICBpZiAo IXN0cmVhbSkKLSAgICAgICBjb250aW51ZTsKLSAKLSsgICAgdm9pZCogZGlzcGxheV9tYXRyaXgg PQotKyAgICAgICAgYXZfc3RyZWFtX2dldF9zaWRlX2RhdGEoc3RyZWFtLCBBVl9QS1RfREFUQV9E SVNQTEFZTUFUUklYLCBudWxscHRyKTsKLSsgICAgaWYgKGRpc3BsYXlfbWF0cml4KSB7Ci0rICAg ICAgcm90YXRpb25fID0gVmlkZW9UcmFuc2Zvcm1hdGlvbjo6RnJvbUZGbXBlZ0Rpc3BsYXlNYXRy aXgoCi0rICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PGludDMyX3QqPihkaXNwbGF5 X21hdHJpeCkpCi0rICAgICAgICAgICAgICAgICAgICAgIC5yb3RhdGlvbjsKLSsgICAgICBpbmZv LnRhZ3NbInJvdGF0ZSJdID0gYmFzZTo6TnVtYmVyVG9TdHJpbmcocm90YXRpb25fKTsKLSsgICAg fQotKwotICAgICAvLyBFeHRyYWN0IGRpY3Rpb25hcnkgZnJvbSBzdHJlYW1zIGFsc28uIE5lZWRl ZCBmb3IgY29udGFpbmVycyB0aGF0IGF0dGFjaAotICAgICAvLyBtZXRhZGF0YSB0byBjb250YWlu ZWQgc3RyZWFtcyBpbnN0ZWFkIHRoZSBjb250YWluZXIgaXRzZWxmLCBsaWtlIE9HRy4KLSAgICAg RXh0cmFjdERpY3Rpb25hcnkoc3RyZWFtLT5tZXRhZGF0YSwgJmluZm8udGFncyk7Ci1AQCAtMjU1 LDggKzI2NCw2IEBAIHZvaWQgQXVkaW9WaWRlb01ldGFkYXRhRXh0cmFjdG9yOjpFeHRyYWN0RGlj dGlvbmFyeShBVkRpY3Rpb25hcnkqIG1ldGFkYXRhLAotICAgICBpZiAocmF3X3RhZ3MtPmZpbmQo dGFnLT5rZXkpID09IHJhd190YWdzLT5lbmQoKSkKLSAgICAgICAoKnJhd190YWdzKVt0YWctPmtl eV0gPSB0YWctPnZhbHVlOwotIAotLSAgICBpZiAoRXh0cmFjdEludCh0YWcsICJyb3RhdGUiLCAm cm90YXRpb25fKSkKLS0gICAgICBjb250aW51ZTsKLSAgICAgaWYgKEV4dHJhY3RTdHJpbmcodGFn LCAiYWxidW0iLCAmYWxidW1fKSkKLSAgICAgICBjb250aW51ZTsKLSAgICAgaWYgKEV4dHJhY3RT dHJpbmcodGFnLCAiYXJ0aXN0IiwgJmFydGlzdF8pKQotZGlmZiAtLWdpdCBhL21lZGlhL2ZpbHRl cnMvZmZtcGVnX2FhY19iaXRzdHJlYW1fY29udmVydGVyLmNjIGIvbWVkaWEvZmlsdGVycy9mZm1w ZWdfYWFjX2JpdHN0cmVhbV9jb252ZXJ0ZXIuY2MKLWluZGV4IDZmMjMxYzg1NzI5Li5jYTVlNWZi OTI3ZCAxMDA2NDQKLS0tLSBhL21lZGlhL2ZpbHRlcnMvZmZtcGVnX2FhY19iaXRzdHJlYW1fY29u dmVydGVyLmNjCi0rKysgYi9tZWRpYS9maWx0ZXJzL2ZmbXBlZ19hYWNfYml0c3RyZWFtX2NvbnZl cnRlci5jYwotQEAgLTE5NSwxNCArMTk1LDE1IEBAIGJvb2wgRkZtcGVnQUFDQml0c3RyZWFtQ29u dmVydGVyOjpDb252ZXJ0UGFja2V0KEFWUGFja2V0KiBwYWNrZXQpIHsKLSAgIGlmICghaGVhZGVy X2dlbmVyYXRlZF8gfHwgY29kZWNfICE9IHN0cmVhbV9jb2RlY19wYXJhbWV0ZXJzXy0+Y29kZWNf aWQgfHwKLSAgICAgICBhdWRpb19wcm9maWxlXyAhPSBzdHJlYW1fY29kZWNfcGFyYW1ldGVyc18t PnByb2ZpbGUgfHwKLSAgICAgICBzYW1wbGVfcmF0ZV9pbmRleF8gIT0gc2FtcGxlX3JhdGVfaW5k ZXggfHwKLS0gICAgICBjaGFubmVsX2NvbmZpZ3VyYXRpb25fICE9IHN0cmVhbV9jb2RlY19wYXJh bWV0ZXJzXy0+Y2hhbm5lbHMgfHwKLSsgICAgICBjaGFubmVsX2NvbmZpZ3VyYXRpb25fICE9Ci0r ICAgICAgICAgIHN0cmVhbV9jb2RlY19wYXJhbWV0ZXJzXy0+Y2hfbGF5b3V0Lm5iX2NoYW5uZWxz IHx8Ci0gICAgICAgZnJhbWVfbGVuZ3RoXyAhPSBoZWFkZXJfcGx1c19wYWNrZXRfc2l6ZSkgewot ICAgICBoZWFkZXJfZ2VuZXJhdGVkXyA9Ci0gICAgICAgICBHZW5lcmF0ZUFkdHNIZWFkZXIoc3Ry ZWFtX2NvZGVjX3BhcmFtZXRlcnNfLT5jb2RlY19pZCwKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAwLCAgLy8gbGF5ZXIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJlYW1fY29k ZWNfcGFyYW1ldGVyc18tPnByb2ZpbGUsIHNhbXBsZV9yYXRlX2luZGV4LAotICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDAsICAvLyBwcml2YXRlIHN0cmVhbQotLSAgICAgICAgICAgICAgICAg ICAgICAgICAgIHN0cmVhbV9jb2RlY19wYXJhbWV0ZXJzXy0+Y2hhbm5lbHMsCi0rICAgICAgICAg ICAgICAgICAgICAgICAgICAgc3RyZWFtX2NvZGVjX3BhcmFtZXRlcnNfLT5jaF9sYXlvdXQubmJf Y2hhbm5lbHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgIC8vIG9yaWdpbmFsaXR5 Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgIC8vIGhvbWUKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAwLCAgLy8gY29weXJpZ2h0ZWRfc3RyZWFtCi1AQCAtMjE0LDcgKzIxNSw3 IEBAIGJvb2wgRkZtcGVnQUFDQml0c3RyZWFtQ29udmVydGVyOjpDb252ZXJ0UGFja2V0KEFWUGFj a2V0KiBwYWNrZXQpIHsKLSAgICAgY29kZWNfID0gc3RyZWFtX2NvZGVjX3BhcmFtZXRlcnNfLT5j b2RlY19pZDsKLSAgICAgYXVkaW9fcHJvZmlsZV8gPSBzdHJlYW1fY29kZWNfcGFyYW1ldGVyc18t PnByb2ZpbGU7Ci0gICAgIHNhbXBsZV9yYXRlX2luZGV4XyA9IHNhbXBsZV9yYXRlX2luZGV4Owot LSAgICBjaGFubmVsX2NvbmZpZ3VyYXRpb25fID0gc3RyZWFtX2NvZGVjX3BhcmFtZXRlcnNfLT5j aGFubmVsczsKLSsgICAgY2hhbm5lbF9jb25maWd1cmF0aW9uXyA9IHN0cmVhbV9jb2RlY19wYXJh bWV0ZXJzXy0+Y2hfbGF5b3V0Lm5iX2NoYW5uZWxzOwotICAgICBmcmFtZV9sZW5ndGhfID0gaGVh ZGVyX3BsdXNfcGFja2V0X3NpemU7Ci0gICB9Ci0gCi1kaWZmIC0tZ2l0IGEvbWVkaWEvZmlsdGVy cy9mZm1wZWdfYWFjX2JpdHN0cmVhbV9jb252ZXJ0ZXJfdW5pdHRlc3QuY2MgYi9tZWRpYS9maWx0 ZXJzL2ZmbXBlZ19hYWNfYml0c3RyZWFtX2NvbnZlcnRlcl91bml0dGVzdC5jYwotaW5kZXggMWZk NGM1Y2NkN2QuLmY1OWJjZDhmZGFmIDEwMDY0NAotLS0tIGEvbWVkaWEvZmlsdGVycy9mZm1wZWdf YWFjX2JpdHN0cmVhbV9jb252ZXJ0ZXJfdW5pdHRlc3QuY2MKLSsrKyBiL21lZGlhL2ZpbHRlcnMv ZmZtcGVnX2FhY19iaXRzdHJlYW1fY29udmVydGVyX3VuaXR0ZXN0LmNjCi1AQCAtMzQsNyArMzQs NyBAQCBjbGFzcyBGRm1wZWdBQUNCaXRzdHJlYW1Db252ZXJ0ZXJUZXN0IDogcHVibGljIHRlc3Rp bmc6OlRlc3QgewotICAgICBtZW1zZXQoJnRlc3RfcGFyYW1ldGVyc18sIDAsIHNpemVvZihBVkNv ZGVjUGFyYW1ldGVycykpOwotICAgICB0ZXN0X3BhcmFtZXRlcnNfLmNvZGVjX2lkID0gQVZfQ09E RUNfSURfQUFDOwotICAgICB0ZXN0X3BhcmFtZXRlcnNfLnByb2ZpbGUgPSBGRl9QUk9GSUxFX0FB Q19NQUlOOwotLSAgICB0ZXN0X3BhcmFtZXRlcnNfLmNoYW5uZWxzID0gMjsKLSsgICAgdGVzdF9w YXJhbWV0ZXJzXy5jaF9sYXlvdXQubmJfY2hhbm5lbHMgPSAyOwotICAgICB0ZXN0X3BhcmFtZXRl cnNfLmV4dHJhZGF0YSA9IGV4dHJhZGF0YV9oZWFkZXJfOwotICAgICB0ZXN0X3BhcmFtZXRlcnNf LmV4dHJhZGF0YV9zaXplID0gc2l6ZW9mKGV4dHJhZGF0YV9oZWFkZXJfKTsKLSAgIH0KLWRpZmYg LS1naXQgYS9tZWRpYS9maWx0ZXJzL2ZmbXBlZ19hdWRpb19kZWNvZGVyLmNjIGIvbWVkaWEvZmls dGVycy9mZm1wZWdfYXVkaW9fZGVjb2Rlci5jYwotaW5kZXggNmE1NmM2NzVmN2QuLjQ2MTVmZGVi M2ZiIDEwMDY0NAotLS0tIGEvbWVkaWEvZmlsdGVycy9mZm1wZWdfYXVkaW9fZGVjb2Rlci5jYwot KysrIGIvbWVkaWEvZmlsdGVycy9mZm1wZWdfYXVkaW9fZGVjb2Rlci5jYwotQEAgLTI4LDcgKzI4 LDcgQEAgbmFtZXNwYWNlIG1lZGlhIHsKLSAKLSAvLyBSZXR1cm4gdGhlIG51bWJlciBvZiBjaGFu bmVscyBmcm9tIHRoZSBkYXRhIGluIHxmcmFtZXwuCi0gc3RhdGljIGlubGluZSBpbnQgRGV0ZXJt aW5lQ2hhbm5lbHMoQVZGcmFtZSogZnJhbWUpIHsKLS0gIHJldHVybiBmcmFtZS0+Y2hhbm5lbHM7 Ci0rICByZXR1cm4gZnJhbWUtPmNoX2xheW91dC5uYl9jaGFubmVsczsKLSB9Ci0gCi0gLy8gQ2Fs bGVkIGJ5IEZGbXBlZydzIGFsbG9jYXRpb24gcm91dGluZSB0byBhbGxvY2F0ZSBhIGJ1ZmZlci4g VXNlcwotQEAgLTIzMSw3ICsyMzEsNyBAQCBib29sIEZGbXBlZ0F1ZGlvRGVjb2Rlcjo6T25OZXdG cmFtZShjb25zdCBEZWNvZGVyQnVmZmVyJiBidWZmZXIsCi0gICAvLyBUcmFuc2xhdGUgdW5zdXBw b3J0ZWQgaW50byBkaXNjcmV0ZSBsYXlvdXRzIGZvciBkaXNjcmV0ZSBjb25maWd1cmF0aW9uczsK LSAgIC8vIGZmbXBlZyBkb2VzIG5vdCBoYXZlIGEgbGFiZWxlZCBkaXNjcmV0ZSBjb25maWd1cmF0 aW9uIGludGVybmFsbHkuCi0gICBDaGFubmVsTGF5b3V0IGNoYW5uZWxfbGF5b3V0ID0gQ2hhbm5l bExheW91dFRvQ2hyb21lQ2hhbm5lbExheW91dCgKLS0gICAgICBjb2RlY19jb250ZXh0Xy0+Y2hh bm5lbF9sYXlvdXQsIGNvZGVjX2NvbnRleHRfLT5jaGFubmVscyk7Ci0rICAgICAgY29kZWNfY29u dGV4dF8tPmNoX2xheW91dC51Lm1hc2ssIGNvZGVjX2NvbnRleHRfLT5jaF9sYXlvdXQubmJfY2hh bm5lbHMpOwotICAgaWYgKGNoYW5uZWxfbGF5b3V0ID09IENIQU5ORUxfTEFZT1VUX1VOU1VQUE9S VEVEICYmCi0gICAgICAgY29uZmlnXy5jaGFubmVsX2xheW91dCgpID09IENIQU5ORUxfTEFZT1VU X0RJU0NSRVRFKSB7Ci0gICAgIGNoYW5uZWxfbGF5b3V0ID0gQ0hBTk5FTF9MQVlPVVRfRElTQ1JF VEU7Ci1AQCAtMzQ4LDExICszNDgsMTEgQEAgYm9vbCBGRm1wZWdBdWRpb0RlY29kZXI6OkNvbmZp Z3VyZURlY29kZXIoY29uc3QgQXVkaW9EZWNvZGVyQ29uZmlnJiBjb25maWcpIHsKLSAgIC8vIFN1 Y2Nlc3MhCi0gICBhdl9zYW1wbGVfZm9ybWF0XyA9IGNvZGVjX2NvbnRleHRfLT5zYW1wbGVfZm10 OwotIAotLSAgaWYgKGNvZGVjX2NvbnRleHRfLT5jaGFubmVscyAhPSBjb25maWcuY2hhbm5lbHMo KSkgewotKyAgaWYgKGNvZGVjX2NvbnRleHRfLT5jaF9sYXlvdXQubmJfY2hhbm5lbHMgIT0gY29u ZmlnLmNoYW5uZWxzKCkpIHsKLSAgICAgTUVESUFfTE9HKEVSUk9SLCBtZWRpYV9sb2dfKQotICAg ICAgICAgPDwgIkF1ZGlvIGNvbmZpZ3VyYXRpb24gc3BlY2lmaWVkICIgPDwgY29uZmlnLmNoYW5u ZWxzKCkKLSAgICAgICAgIDw8ICIgY2hhbm5lbHMsIGJ1dCBGRm1wZWcgdGhpbmtzIHRoZSBmaWxl IGNvbnRhaW5zICIKLS0gICAgICAgIDw8IGNvZGVjX2NvbnRleHRfLT5jaGFubmVscyA8PCAiIGNo YW5uZWxzIjsKLSsgICAgICAgIDw8IGNvZGVjX2NvbnRleHRfLT5jaF9sYXlvdXQubmJfY2hhbm5l bHMgPDwgIiBjaGFubmVscyI7Ci0gICAgIFJlbGVhc2VGRm1wZWdSZXNvdXJjZXMoKTsKLSAgICAg c3RhdGVfID0gRGVjb2RlclN0YXRlOjprVW5pbml0aWFsaXplZDsKLSAgICAgcmV0dXJuIGZhbHNl OwotQEAgLTQwMyw3ICs0MDMsNyBAQCBpbnQgRkZtcGVnQXVkaW9EZWNvZGVyOjpHZXRBdWRpb0J1 ZmZlcihzdHJ1Y3QgQVZDb2RlY0NvbnRleHQqIHMsCi0gICBpZiAoZnJhbWUtPm5iX3NhbXBsZXMg PD0gMCkKLSAgICAgcmV0dXJuIEFWRVJST1IoRUlOVkFMKTsKLSAKLS0gIGlmIChzLT5jaGFubmVs cyAhPSBjaGFubmVscykgewotKyAgaWYgKHMtPmNoX2xheW91dC5uYl9jaGFubmVscyAhPSBjaGFu bmVscykgewotICAgICBETE9HKEVSUk9SKSA8PCAiQVZDb2RlY0NvbnRleHQgYW5kIEFWRnJhbWUg ZGlzYWdyZWUgb24gY2hhbm5lbCBjb3VudC4iOwotICAgICByZXR1cm4gQVZFUlJPUihFSU5WQUwp OwotICAgfQotQEAgLTQzNiw3ICs0MzYsOCBAQCBpbnQgRkZtcGVnQXVkaW9EZWNvZGVyOjpHZXRB dWRpb0J1ZmZlcihzdHJ1Y3QgQVZDb2RlY0NvbnRleHQqIHMsCi0gICBDaGFubmVsTGF5b3V0IGNo YW5uZWxfbGF5b3V0ID0KLSAgICAgICBjb25maWdfLmNoYW5uZWxfbGF5b3V0KCkgPT0gQ0hBTk5F TF9MQVlPVVRfRElTQ1JFVEUKLSAgICAgICAgICAgPyBDSEFOTkVMX0xBWU9VVF9ESVNDUkVURQot LSAgICAgICAgICA6IENoYW5uZWxMYXlvdXRUb0Nocm9tZUNoYW5uZWxMYXlvdXQocy0+Y2hhbm5l bF9sYXlvdXQsIHMtPmNoYW5uZWxzKTsKLSsgICAgICAgICAgOiBDaGFubmVsTGF5b3V0VG9DaHJv bWVDaGFubmVsTGF5b3V0KHMtPmNoX2xheW91dC51Lm1hc2ssCi0rICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzLT5jaF9sYXlvdXQubmJfY2hhbm5lbHMpOwot IAotICAgaWYgKGNoYW5uZWxfbGF5b3V0ID09IENIQU5ORUxfTEFZT1VUX1VOU1VQUE9SVEVEKSB7 Ci0gICAgIERMT0coRVJST1IpIDw8ICJVbnN1cHBvcnRlZCBjaGFubmVsIGxheW91dC4iOwpkaWZm IC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL1JFVkVSVC1yb2xsLXNyYy10aGlyZF9w YXJ0eS1mZm1wZWctbTEwMi5wYXRjaC5hcmdzIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL1JF VkVSVC1yb2xsLXNyYy10aGlyZF9wYXJ0eS1mZm1wZWctbTEwMi5wYXRjaC5hcmdzCmRlbGV0ZWQg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4YmJiYmU5NDgzNjMyLi4wMDAwMDAwMDAwMDAwCi0tLSBh L3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9SRVZFUlQtcm9sbC1zcmMtdGhpcmRfcGFydHktZmZt cGVnLW0xMDIucGF0Y2guYXJncworKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLS1STnAxCmRp ZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvUkVWRVJULXJvbGwtc3JjLXRoaXJk X3BhcnR5LWZmbXBlZy1tMTA2LnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL1JFVkVS VC1yb2xsLXNyYy10aGlyZF9wYXJ0eS1mZm1wZWctbTEwNi5wYXRjaApkZWxldGVkIGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggYjJhMTEzNzkxNzM0Yy4uMDAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dz L2Nocm9taXVtL3BhdGNoZXMvUkVWRVJULXJvbGwtc3JjLXRoaXJkX3BhcnR5LWZmbXBlZy1tMTA2 LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTUgKzAsMCBAQAotRnJvbSBkZWQzNzk4MjRmNWRl MzkzNTdiNmIxODk0NTc4MTAxYWJhNWNkZjA1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJv bTogRXVnZW5lIFplbXRzb3YgPGV1Z2VuZUBjaHJvbWl1bS5vcmc+Ci1EYXRlOiBGcmksIDI5IEp1 bCAyMDIyIDA0OjQxOjA0ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIFJvbGwgc3JjL3RoaXJkX3Bh cnR5L2ZmbXBlZy8gODgwZGY1ZWRlLi5iNzFlY2QwMmIgKDI3OQotIGNvbW1pdHMpCi0KLWh0dHBz Oi8vY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9mZm1wZWcu Z2l0Lytsb2cvODgwZGY1ZWRlNTBhLi5iNzFlY2QwMmI0NzkKLQotJCBnaXQgbG9nIDg4MGRmNWVk ZS4uYjcxZWNkMDJiIC0tZGF0ZT1zaG9ydCAtLW5vLW1lcmdlcyAtLWZvcm1hdD0nJWFkICVhZSAl cycKLTIwMjItMDctMjcgZXVnZW5lIFJvbGwgZm9yIE0xMDYKLTIwMjItMDctMjUgYW5kcmVhcy5y aGVpbmhhcmR0IGF2Y29kZWMveDg2L3BuZ2RzcDogUmVtb3ZlIG9ic29sZXRlIGZmX2FkZF9ieXRl c19sMl9tbXgoKQotMjAyMi0wNy0yMiBhbmRyZWFzLnJoZWluaGFyZHQgYXZjb2RlYy9oZXZjZGVj OiBPdXRwdXQgTUQ1LW1lc3NhZ2UgaW4gb25lIHBpZWNlCi0yMDIyLTA3LTI0IGVwaXJhdDA3IGNv bmZpZ3VyZTogcHJvcGVybHkgcmVxdWlyZSBsaWJ4MjY0IGlmIGVuYWJsZWQKLTIwMjItMDctMjQg emFuZSBhdmZvcm1hdC9hcmdvX2N2ZzogZXhwb3NlIGxvb3AvcmV2ZXJiL2NoZWNrc3VtIHZpYSBt ZXRhZGF0YQotKC4uLikKLTIwMjItMDUtMDMgbGVvLml6ZW4gYXZjb2RlYy9saWJqeGxkZWM6IHBy b3Blcmx5IHRhZyBvdXRwdXQgY29sb3JzcGFjZQotMjAyMi0wNi0yNSBmZm1wZWcgYXZmaWx0ZXIv TWFrZWZpbGU6IGFsd2F5cyBtYWtlIGNvbG9yc3BhY2UubwotMjAyMi0wMy0wMiBicmFkIGF2dXRp bC9wcGMvY3B1OiBVc2UgcHJvcGVyIGhlYWRlciBmb3IgT3BlbkJTRCBQUEMgQ1BVIGRldGVjdGlv bgotMjAyMi0wNi0yNCBqYW1yaWFsIGF2Zm9ybWF0L2h0dHA6IGluY2x1ZGUgdmVyc2lvbi5oCi0y MDIyLTA1LTE2IG1ib25kYS1hdC1udmlkaWEuY29tIEFWMSBWRFBBVSBod2FjY2VsIERlY29kZSBz dXBwb3J0Ci0KLUNyZWF0ZWQgd2l0aDoKLSAgcm9sbC1kZXAgc3JjL3RoaXJkX3BhcnR5L2ZmbXBl ZwotCi1mZm1wZWcgdXNhZ2UgZml4OgotIFN3aXRjaCBmcm9tIEFWRnJhbWU6OnBrdF9kdXJhdGlv biB0byBBVkZyYW1lOjpkdXJhdGlvbiwKLSBBVkZyYW1lOjpwa3RfZHVyYXRpb24gaXMgZGVwcmVj YXRlZAotCi1CdWc6IDEzNDQ2NDYKLUNoYW5nZS1JZDogSWFhM2FiZjQ4ZWY4MWRhZTZkMjgyYmNh OGYwZmEyYThkZmZlZWJhMjUKLVJldmlld2VkLW9uOiBodHRwczovL2Nocm9taXVtLXJldmlldy5n b29nbGVzb3VyY2UuY29tL2MvY2hyb21pdW0vc3JjLysvMzc4ODYzOAotUmV2aWV3ZWQtYnk6IFdp bGwgQ2Fzc2VsbGEgPGNhc3Nld0BjaHJvbWl1bS5vcmc+Ci1Db21taXQtUXVldWU6IEV1Z2VuZSBa ZW10c292IDxldWdlbmVAY2hyb21pdW0ub3JnPgotQ3ItQ29tbWl0LVBvc2l0aW9uOiByZWZzL2hl YWRzL21haW5AeyMxMDI5NjIzfQotLS0tCi0gbWVkaWEvZmlsdGVycy9hdWRpb19maWxlX3JlYWRl ci5jYyB8IDQgKystLQotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRp b25zKC0pCi0KLWRpZmYgLS1naXQgYS9tZWRpYS9maWx0ZXJzL2F1ZGlvX2ZpbGVfcmVhZGVyLmNj IGIvbWVkaWEvZmlsdGVycy9hdWRpb19maWxlX3JlYWRlci5jYwotaW5kZXggZTFiZTVhYTlhNWIu Ljk1MWMwMDM5NTZmIDEwMDY0NAotLS0tIGEvbWVkaWEvZmlsdGVycy9hdWRpb19maWxlX3JlYWRl ci5jYwotKysrIGIvbWVkaWEvZmlsdGVycy9hdWRpb19maWxlX3JlYWRlci5jYwotQEAgLTI0Mywx MCArMjQzLDEwIEBAIGJvb2wgQXVkaW9GaWxlUmVhZGVyOjpPbk5ld0ZyYW1lKAotICAgLy8gc2ls ZW5jZSBmcm9tIGJlaW5nIG91dHB1dC4gSW4gdGhlIGNhc2Ugd2hlcmUgd2UgYXJlIGFsc28gZGlz Y2FyZGluZyBzb21lCi0gICAvLyBwb3J0aW9uIG9mIHRoZSBwYWNrZXQgKGFzIGluZGljYXRlZCBi eSBhIG5lZ2F0aXZlIHB0cyksIHdlIGZ1cnRoZXIgd2FudCB0bwotICAgLy8gYWRqdXN0IHRoZSBk dXJhdGlvbiBkb3dud2FyZCBieSBob3dldmVyIG11Y2ggZXhpc3RzIGJlZm9yZSB6ZXJvLgotLSAg aWYgKGF1ZGlvX2NvZGVjXyA9PSBBdWRpb0NvZGVjOjprQUFDICYmIGZyYW1lLT5wa3RfZHVyYXRp b24pIHsKLSsgIGlmIChhdWRpb19jb2RlY18gPT0gQXVkaW9Db2RlYzo6a0FBQyAmJiBmcmFtZS0+ ZHVyYXRpb24pIHsKLSAgICAgY29uc3QgYmFzZTo6VGltZURlbHRhIHBrdF9kdXJhdGlvbiA9IENv bnZlcnRGcm9tVGltZUJhc2UoCi0gICAgICAgICBnbHVlXy0+Zm9ybWF0X2NvbnRleHQoKS0+c3Ry ZWFtc1tzdHJlYW1faW5kZXhfXS0+dGltZV9iYXNlLAotLSAgICAgICAgZnJhbWUtPnBrdF9kdXJh dGlvbiArIHN0ZDo6bWluKHN0YXRpY19jYXN0PGludDY0X3Q+KDApLCBmcmFtZS0+cHRzKSk7Ci0r ICAgICAgICBmcmFtZS0+ZHVyYXRpb24gKyBzdGQ6Om1pbihzdGF0aWNfY2FzdDxpbnQ2NF90Pigw KSwgZnJhbWUtPnB0cykpOwotICAgICBjb25zdCBiYXNlOjpUaW1lRGVsdGEgZnJhbWVfZHVyYXRp b24gPQotICAgICAgICAgYmFzZTo6U2Vjb25kcyhmcmFtZXNfcmVhZCAvIHN0YXRpY19jYXN0PGRv dWJsZT4oc2FtcGxlX3JhdGVfKSk7Ci0gCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3Bh dGNoZXMvUkVWRVJULXJvbGwtc3JjLXRoaXJkX3BhcnR5LWZmbXBlZy1tMTA2LnBhdGNoLmFyZ3Mg Yi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvUkVWRVJULXJvbGwtc3JjLXRoaXJkX3BhcnR5LWZm bXBlZy1tMTA2LnBhdGNoLmFyZ3MKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhiYmJi ZTk0ODM2MzIuLjAwMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL1JF VkVSVC1yb2xsLXNyYy10aGlyZF9wYXJ0eS1mZm1wZWctbTEwNi5wYXRjaC5hcmdzCisrKyAvZGV2 L251bGwKQEAgLTEgKzAsMCBAQAotLVJOcDEKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0v cGF0Y2hlcy9jaHJvbWl1bS0xMjAtYXJtNjQtbWVtb3J5X3RhZ2dpbmcucGF0Y2ggYi9zcmNwa2dz L2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTIwLWFybTY0LW1lbW9yeV90YWdnaW5nLnBhdGNo CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiYjQ2MWVmMzY2NGEyLi4wMDAwMDAwMDAw MDAwCi0tLSBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0xMjAtYXJtNjQtbWVt b3J5X3RhZ2dpbmcucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi0tLS0gY2hy b21pdW0tMTIwLjAuNjA5OS4zNS9iYXNlL2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2NhdG9yL3Ny Yy9wYXJ0aXRpb25fYWxsb2MvcGFydGl0aW9uX2FsbG9jX2NvbmZpZy5oLnRoYW4JMjAyMy0xMS0y NiAxMzo1MDowNy4wMDU1MTk4NzcgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMjAuMC42MDk5LjM1L2Jh c2UvYWxsb2NhdG9yL3BhcnRpdGlvbl9hbGxvY2F0b3Ivc3JjL3BhcnRpdGlvbl9hbGxvYy9wYXJ0 aXRpb25fYWxsb2NfY29uZmlnLmgJMjAyMy0xMS0yNiAxMzo1MDo0OS43MjcyNjcyNDAgKzAxMDAK LUBAIC0xNTIsMTAgKzE1Miw3IEBACi0gICAoIUJVSUxERkxBRyhQVVRfUkVGX0NPVU5UX0lOX1BS RVZJT1VTX1NMT1QpICYmIFwKLSAgICBkZWZpbmVkKEFSQ0hfQ1BVX0xJVFRMRV9FTkRJQU4pKQot IAotLSNkZWZpbmUgUEFfQ09ORklHX0hBU19NRU1PUllfVEFHR0lORygpICAgICAgICAgICAgICBc Ci0tICAoZGVmaW5lZChBUkNIX0NQVV9BUk02NCkgJiYgZGVmaW5lZChfX2NsYW5nX18pICYmIFwK LS0gICAhZGVmaW5lZChBRERSRVNTX1NBTklUSVpFUikgJiYgICAgICAgICAgICAgICAgICAgXAot LSAgIChCVUlMREZMQUcoSVNfTElOVVgpIHx8IEJVSUxERkxBRyhJU19BTkRST0lEKSkpCi0rI2Rl ZmluZSBQQV9DT05GSUdfSEFTX01FTU9SWV9UQUdHSU5HKCkgMAotIAotICNpZiBQQV9DT05GSUco SEFTX01FTU9SWV9UQUdHSU5HKQotIHN0YXRpY19hc3NlcnQoc2l6ZW9mKHZvaWQqKSA9PSA4KTsK ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0xMjAtZWw3LWNs YW5nLXZlcnNpb24td2FybmluZy5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJv bWl1bS0xMjAtZWw3LWNsYW5nLXZlcnNpb24td2FybmluZy5wYXRjaApkZWxldGVkIGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMTEyZGE2NWI0ZDliNi4uMDAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dz L2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTIwLWVsNy1jbGFuZy12ZXJzaW9uLXdhcm5pbmcu cGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNiArMCwwIEBACi1kaWZmIC11cCBjaHJvbWl1bS0x MjAuMC42MDk5LjU2L3RoaXJkX3BhcnR5L2xpYmMrKy9zcmMvaW5jbHVkZS9fX2NvbmZpZy5tZSBj aHJvbWl1bS0xMjAuMC42MDk5LjU2L3RoaXJkX3BhcnR5L2xpYmMrKy9zcmMvaW5jbHVkZS9fX2Nv bmZpZwotLS0tIGNocm9taXVtLTEyMC4wLjYwOTkuNTYvdGhpcmRfcGFydHkvbGliYysrL3NyYy9p bmNsdWRlL19fY29uZmlnLm1lCTIwMjMtMTItMDMgMDA6MDU6NTEuMjU0NDgzNDc0ICswMTAwCi0r KysgY2hyb21pdW0tMTIwLjAuNjA5OS41Ni90aGlyZF9wYXJ0eS9saWJjKysvc3JjL2luY2x1ZGUv X19jb25maWcJMjAyMy0xMi0wMyAwMDowNjowNS44NzI4NjMxNjggKzAxMDAKLUBAIC0zMiwxMSAr MzIsNyBAQAotIAotIC8vIFdhcm4gaWYgYSBjb21waWxlciB2ZXJzaW9uIGlzIHVzZWQgdGhhdCBp cyBub3Qgc3VwcG9ydGVkIGFueW1vcmUKLSAvLyBMTFZNIFJFTEVBU0UgVXBkYXRlIHRoZSBtaW5p bXVtIGNvbXBpbGVyIHZlcnNpb25zCi0tIyAgaWYgZGVmaW5lZChfTElCQ1BQX0NMQU5HX1ZFUikK LS0jICAgIGlmIF9MSUJDUFBfQ0xBTkdfVkVSIDwgMTUwMAotLSMgICAgICB3YXJuaW5nICJMaWJj Kysgb25seSBzdXBwb3J0cyBDbGFuZyAxNSBhbmQgbGF0ZXIiCi0tIyAgICBlbmRpZgotLSMgIGVs aWYgZGVmaW5lZChfTElCQ1BQX0FQUExFX0NMQU5HX1ZFUikKLSsjICBpZiBkZWZpbmVkKF9MSUJD UFBfQVBQTEVfQ0xBTkdfVkVSKQotICMgICAgaWYgX0xJQkNQUF9BUFBMRV9DTEFOR19WRVIgPCAx NTAwCi0gIyAgICAgIHdhcm5pbmcgIkxpYmMrKyBvbmx5IHN1cHBvcnRzIEFwcGxlQ2xhbmcgMTUg YW5kIGxhdGVyIgotICMgICAgZW5kaWYKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0 Y2hlcy9jaHJvbWl1bS0xMjAtZ24td29ya2Fyb3VuZC1hdHNwaS5wYXRjaCBiL3NyY3BrZ3MvY2hy b21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0xMjAtZ24td29ya2Fyb3VuZC1hdHNwaS5wYXRjaApkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzJjN2I3ZWM0MWMyOC4uMDAwMDAwMDAwMDAwMAot LS0gYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTIwLWduLXdvcmthcm91bmQt YXRzcGkucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMyArMCwwIEBACi1kaWZmIC11cCBjaHJv bWl1bS0xMjAuMC42MDk5LjM1L2J1aWxkL2NvbmZpZy9saW51eC9hdHNwaTIvQlVJTEQuZ24ubWUg Y2hyb21pdW0tMTIwLjAuNjA5OS4zNS9idWlsZC9jb25maWcvbGludXgvYXRzcGkyL0JVSUxELmdu Ci0tLS0gY2hyb21pdW0tMTIwLjAuNjA5OS4zNS9idWlsZC9jb25maWcvbGludXgvYXRzcGkyL0JV SUxELmduLm1lCTIwMjMtMTEtMjYgMTY6MTQ6MTUuMzY0MDY0MTI2ICswMTAwCi0rKysgY2hyb21p dW0tMTIwLjAuNjA5OS4zNS9idWlsZC9jb25maWcvbGludXgvYXRzcGkyL0JVSUxELmduCTIwMjMt MTEtMjYgMTY6NDE6MTYuODc3MzIxOTkwICswMTAwCi1AQCAtMjEsNiArMjEsOSBAQCBpZiAodXNl X2F0aykgewotICAgICBtaW5vciA9IGF0c3BpX3ZlcnNpb25bMV0KLSAgICAgbWljcm8gPSBhdHNw aV92ZXJzaW9uWzJdCi0gCi0rICAgICMgZ24gd29ya2Fyb3VuZCBmb3IgdGhlIGVycm9yOiBBc3Np Z25tZW50IGhhZCBubyBlZmZlY3QKLSsgICAgcHJpbnQoIkFUU1BJIFZlcnNpb246ICRtYWpvci4k bWlub3IuJG1pY3JvIikKLSsKLSAgICAgIyBBVFNQSSAyLjQ5LjkwIG5vdyBkZWZpbmVzIHRoZXNl IGZvciB1cyBhbmQgaXQncyBhbiBlcnJvciBmb3IgdXMgdG8KLSAgICAgIyByZWRlZmluZSB0aGVt IG9uIHRoZSBjb21waWxlciBjb21tYW5kIGxpbmUuCi0gICAgICMgU2VlIEFUU1BJIDkyNzM0NGEz NGNkNWJmODFmYzY0ZGE0OTY4MjQxNzM1ZWNiNGYwM2IKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hy b21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0xMjAtbWlzc2luZy1oZWFkZXItZmlsZXMucGF0Y2ggYi9z cmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTIwLW1pc3NpbmctaGVhZGVyLWZpbGVz LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NGY4Njc0NzViMjE4Li4wMDAw MDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0xMjAtbWlz c2luZy1oZWFkZXItZmlsZXMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0NTkgKzAsMCBAQAot ZGlmZiAtdXAgY2hyb21pdW0tMTEwLjAuNTQ4MS4xNzcvYmFzZS9tZW1vcnkvcmVmX2NvdW50ZWQu aC5tZSBjaHJvbWl1bS0xMTAuMC41NDgxLjE3Ny9iYXNlL21lbW9yeS9yZWZfY291bnRlZC5oCi0t LS0gY2hyb21pdW0tMTEwLjAuNTQ4MS4xNzcvYmFzZS9tZW1vcnkvcmVmX2NvdW50ZWQuaC5tZQky MDIzLTAyLTIzIDEzOjM0OjMzLjE3NDgxNzI1NSAtMDUwMAotKysrIGNocm9taXVtLTExMC4wLjU0 ODEuMTc3L2Jhc2UvbWVtb3J5L3JlZl9jb3VudGVkLmgJMjAyMy0wMi0yMyAxMzo0MjoyOC42NDYw NTI0NjkgLTA1MDAKLUBAIC02LDYgKzYsNyBAQAotICNkZWZpbmUgQkFTRV9NRU1PUllfUkVGX0NP VU5URURfSF8KLSAKLSAjaW5jbHVkZSA8c3RkZGVmLmg+Ci0rI2luY2x1ZGUgPGxpbWl0cz4KLSAK LSAjaW5jbHVkZSA8dXRpbGl0eT4KLSAKLWRpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQv YmFzZS9jaGVja19vcC5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvYmFzZS9jaGVja19vcC5o Ci0tLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC9iYXNlL2NoZWNrX29wLmgubWUJMjAyMy0wMS0x NyAxNzozOToyNy42MjA4NzU4ODMgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Jh c2UvY2hlY2tfb3AuaAkyMDIzLTAxLTE3IDE3OjM5OjQyLjU0NjA2MDk1NyArMDEwMAotQEAgLTUs NiArNSw3IEBACi0gI2lmbmRlZiBCQVNFX0NIRUNLX09QX0hfCi0gI2RlZmluZSBCQVNFX0NIRUNL X09QX0hfCi0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUgPGNzdGRkZWY+Ci0gI2lu Y2x1ZGUgPHN0cmluZz4KLSAjaW5jbHVkZSA8dHlwZV90cmFpdHM+Ci1kaWZmIC11cCBjaHJvbWl1 bS0xMDkuMC41NDE0Ljc0L2Jhc2UvZGVidWcvcHJvZmlsZXIuaC5tZSBjaHJvbWl1bS0xMDkuMC41 NDE0Ljc0L2Jhc2UvZGVidWcvcHJvZmlsZXIuaAotLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQv YmFzZS9kZWJ1Zy9wcm9maWxlci5oLm1lCTIwMjMtMDEtMTcgMTY6Mjk6MjYuMzY4MDkwMDczICsw MTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9iYXNlL2RlYnVnL3Byb2ZpbGVyLmgJMjAy My0wMS0xNyAxNjo1OTo0MS4xOTA2Mjg2NzkgKzAxMDAKLUBAIC03LDYgKzcsNyBAQAotIAotICNp bmNsdWRlIDxzdGRkZWYuaD4KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSA8c3Ry aW5nPgotIAotICNpbmNsdWRlICJiYXNlL2Jhc2VfZXhwb3J0LmgiCi1kaWZmIC11cCBjaHJvbWl1 bS0xMDkuMC41NDE0Ljc0L2dwdS9jb25maWcvZ3B1X2ZlYXR1cmVfaW5mby5oLm1lIGNocm9taXVt LTEwOS4wLjU0MTQuNzQvZ3B1L2NvbmZpZy9ncHVfZmVhdHVyZV9pbmZvLmgKLS0tLSBjaHJvbWl1 bS0xMDkuMC41NDE0Ljc0L2dwdS9jb25maWcvZ3B1X2ZlYXR1cmVfaW5mby5oLm1lCTIwMjMtMDEt MTcgMTk6MDY6NTMuNTMwNjc1MTI5ICswMTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9n cHUvY29uZmlnL2dwdV9mZWF0dXJlX2luZm8uaAkyMDIzLTAxLTE3IDE5OjA3OjA4Ljg3NDg0OTg3 OSArMDEwMAotQEAgLTUsNiArNSw3IEBACi0gI2lmbmRlZiBHUFVfQ09ORklHX0dQVV9GRUFUVVJF X0lORk9fSF8KLSAjZGVmaW5lIEdQVV9DT05GSUdfR1BVX0ZFQVRVUkVfSU5GT19IXwotIAotKyNp bmNsdWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxzdHJpbmc+Ci0gI2luY2x1ZGUgPHZlY3Rvcj4K LSAKLWRpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvbmV0L2Jhc2UvbmV0X2V4cG9ydC5o Lm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvbmV0L2Jhc2UvbmV0X2V4cG9ydC5oCi0tLS0gY2hy b21pdW0tMTA5LjAuNTQxNC43NC9uZXQvYmFzZS9uZXRfZXhwb3J0LmgubWUJMjAyMy0wMS0xNyAx ODoxNjozNC4xMzM4NTQ2MTUgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L25ldC9i YXNlL25ldF9leHBvcnQuaAkyMDIzLTAxLTE3IDE4OjE2OjE1Ljk0NTYyMzE1MyArMDEwMAotQEAg LTUsNiArNSw4IEBACi0gI2lmbmRlZiBORVRfQkFTRV9ORVRfRVhQT1JUX0hfCi0gI2RlZmluZSBO RVRfQkFTRV9ORVRfRVhQT1JUX0hfCi0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0rCi0gLy8gRGVm aW5lcyBORVRfRVhQT1JUIHNvIHRoYXQgZnVuY3Rpb25hbGl0eSBpbXBsZW1lbnRlZCBieSB0aGUg bmV0IG1vZHVsZSBjYW4KLSAvLyBiZSBleHBvcnRlZCB0byBjb25zdW1lcnMsIGFuZCBORVRfRVhQ T1JUX1BSSVZBVEUgdGhhdCBhbGxvd3MgdW5pdCB0ZXN0cyB0bwotIC8vIGFjY2VzcyBmZWF0dXJl cyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBieSByZWFsIGNvbnN1bWVycy4KLWRp ZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tl ci9icm9rZXJfZmlsZV9wZXJtaXNzaW9uLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9zYW5k Ym94L2xpbnV4L3N5c2NhbGxfYnJva2VyL2Jyb2tlcl9maWxlX3Blcm1pc3Npb24uaAotLS0tIGNo cm9taXVtLTEwOS4wLjU0MTQuNzQvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJf ZmlsZV9wZXJtaXNzaW9uLmgubWUJMjAyMy0wMS0xNyAxNzoxMjozNC4xODQ2ODY1MTUgKzAxMDAK LSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3NhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIv YnJva2VyX2ZpbGVfcGVybWlzc2lvbi5oCTIwMjMtMDEtMTcgMTc6MTM6MTYuNTM3MTYyNDIwICsw MTAwCi1AQCAtNSw2ICs1LDcgQEAKLSAjaWZuZGVmIFNBTkRCT1hfTElOVVhfU1lTQ0FMTF9CUk9L RVJfQlJPS0VSX0ZJTEVfUEVSTUlTU0lPTl9IXwotICNkZWZpbmUgU0FOREJPWF9MSU5VWF9TWVND QUxMX0JST0tFUl9CUk9LRVJfRklMRV9QRVJNSVNTSU9OX0hfCi0gCi0rI2luY2x1ZGUgPGNzdGRp bnQ+Ci0gI2luY2x1ZGUgPGJpdHNldD4KLSAjaW5jbHVkZSA8c3RyaW5nPgotIAotZGlmZiAtdXAg Y2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9hYnNlaWwtY3BwL2Fic2wvc3RyaW5n cy9zdHJpbmdfdmlldy5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvYWJz ZWlsLWNwcC9hYnNsL3N0cmluZ3Mvc3RyaW5nX3ZpZXcuaAotLS0tIGNocm9taXVtLTEwOS4wLjU0 MTQuNzQvdGhpcmRfcGFydHkvYWJzZWlsLWNwcC9hYnNsL3N0cmluZ3Mvc3RyaW5nX3ZpZXcuaC5t ZQkyMDIzLTAxLTE3IDE3OjMzOjIwLjg5NTcxNzMwNyArMDEwMAotKysrIGNocm9taXVtLTEwOS4w LjU0MTQuNzQvdGhpcmRfcGFydHkvYWJzZWlsLWNwcC9hYnNsL3N0cmluZ3Mvc3RyaW5nX3ZpZXcu aAkyMDIzLTAxLTE3IDE3OjM0OjAzLjQ1NjE4NTM2NSArMDEwMAotQEAgLTI3LDYgKzI3LDcgQEAK LSAjaWZuZGVmIEFCU0xfU1RSSU5HU19TVFJJTkdfVklFV19IXwotICNkZWZpbmUgQUJTTF9TVFJJ TkdTX1NUUklOR19WSUVXX0hfCi0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUgPGFs Z29yaXRobT4KLSAjaW5jbHVkZSA8Y2Fzc2VydD4KLSAjaW5jbHVkZSA8Y3N0ZGRlZj4KLWRpZmYg LXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvYW5nbGUvaW5jbHVkZS9HTFNM QU5HL1NoYWRlclZhcnMuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L2Fu Z2xlL2luY2x1ZGUvR0xTTEFORy9TaGFkZXJWYXJzLmgKLS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0 Ljc0L3RoaXJkX3BhcnR5L2FuZ2xlL2luY2x1ZGUvR0xTTEFORy9TaGFkZXJWYXJzLmgubWUJMjAy My0wMS0xNyAxNzozNjoxNS4wMTc2MTYyNTAgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0 Ljc0L3RoaXJkX3BhcnR5L2FuZ2xlL2luY2x1ZGUvR0xTTEFORy9TaGFkZXJWYXJzLmgJMjAyMy0w MS0xNyAxNzozNjo0OC45NjA5ODIxOTUgKzAxMDAKLUBAIC0xMCw2ICsxMCw3IEBACi0gI2lmbmRl ZiBHTFNMQU5HX1NIQURFUlZBUlNfSF8KLSAjZGVmaW5lIEdMU0xBTkdfU0hBREVSVkFSU19IXwot IAotKyNpbmNsdWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxhbGdvcml0aG0+Ci0gI2luY2x1ZGUg PGFycmF5PgotICNpbmNsdWRlIDxzdHJpbmc+Ci1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0 Ljc0L3RoaXJkX3BhcnR5L2JsaW5rL3B1YmxpYy9jb21tb24vYmx1ZXRvb3RoL3dlYl9ibHVldG9v dGhfZGV2aWNlX2lkLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9ibGlu ay9wdWJsaWMvY29tbW9uL2JsdWV0b290aC93ZWJfYmx1ZXRvb3RoX2RldmljZV9pZC5oCi0tLS0g Y2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9ibGluay9wdWJsaWMvY29tbW9uL2Js dWV0b290aC93ZWJfYmx1ZXRvb3RoX2RldmljZV9pZC5oLm1lCTIwMjMtMDEtMTcgMTk6MTc6NDAu NDgwODc2MTcxICswMTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9i bGluay9wdWJsaWMvY29tbW9uL2JsdWV0b290aC93ZWJfYmx1ZXRvb3RoX2RldmljZV9pZC5oCTIw MjMtMDEtMTcgMTk6MTc6NDYuODAzOTU4MzIwICswMTAwCi1AQCAtNSw2ICs1LDcgQEAKLSAjaWZu ZGVmIFRISVJEX1BBUlRZX0JMSU5LX1BVQkxJQ19DT01NT05fQkxVRVRPT1RIX1dFQl9CTFVFVE9P VEhfREVWSUNFX0lEX0hfCi0gI2RlZmluZSBUSElSRF9QQVJUWV9CTElOS19QVUJMSUNfQ09NTU9O X0JMVUVUT09USF9XRUJfQkxVRVRPT1RIX0RFVklDRV9JRF9IXwotIAotKyNpbmNsdWRlIDxjc3Rk aW50PgotICNpbmNsdWRlIDxhcnJheT4KLSAjaW5jbHVkZSA8c3RyaW5nPgotIAotZGlmZiAtdXAg Y2hyb21pdW0tMTE3LjAuNTkzOC40OC90aGlyZF9wYXJ0eS9kYXduL3NyYy90aW50L2xhbmcvc3Bp cnYvcmVhZGVyL2FzdF9wYXJzZXIvbmFtZXIuaC5tZSBjaHJvbWl1bS0xMTcuMC41OTM4LjQ4L3Ro aXJkX3BhcnR5L2Rhd24vc3JjL3RpbnQvbGFuZy9zcGlydi9yZWFkZXIvYXN0X3BhcnNlci9uYW1l ci5oCi0tLS0gY2hyb21pdW0tMTE3LjAuNTkzOC40OC90aGlyZF9wYXJ0eS9kYXduL3NyYy90aW50 L2xhbmcvc3BpcnYvcmVhZGVyL2FzdF9wYXJzZXIvbmFtZXIuaC5tZQkyMDIzLTAxLTE3IDE4OjAy OjQ0LjY4MTUzODEwNyArMDEwMAotKysrIGNocm9taXVtLTExNy4wLjU5MzguNDgvdGhpcmRfcGFy dHkvZGF3bi9zcmMvdGludC9sYW5nL3NwaXJ2L3JlYWRlci9hc3RfcGFyc2VyL25hbWVyLmgJMjAy My0wMS0xNyAxODowMjo1Ny4yMDg2NzkxNDAgKzAxMDAKLUBAIC0xNSw2ICsxNSw3IEBACi0gI2lm bmRlZiBTUkNfVElOVF9SRUFERVJfU1BJUlZfTkFNRVJfSF8KLSAjZGVmaW5lIFNSQ19USU5UX1JF QURFUl9TUElSVl9OQU1FUl9IXwotIAotKyNpbmNsdWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxz dHJpbmc+Ci0gI2luY2x1ZGUgPHVub3JkZXJlZF9tYXA+Ci0gI2luY2x1ZGUgPHZlY3Rvcj4KLWRp ZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvb3BlbnNjcmVlbi9zcmMv ZGlzY292ZXJ5L2Ruc3NkL3B1YmxpYy9kbnNfc2RfdHh0X3JlY29yZC5oLm1lIGNocm9taXVtLTEw OS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvb3BlbnNjcmVlbi9zcmMvZGlzY292ZXJ5L2Ruc3NkL3B1 YmxpYy9kbnNfc2RfdHh0X3JlY29yZC5oCi0tLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGly ZF9wYXJ0eS9vcGVuc2NyZWVuL3NyYy9kaXNjb3ZlcnkvZG5zc2QvcHVibGljL2Ruc19zZF90eHRf cmVjb3JkLmgubWUJMjAyMy0wMS0xOCAxNToyMjozOC40NzI5NDA2NDggKzAxMDAKLSsrKyBjaHJv bWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L29wZW5zY3JlZW4vc3JjL2Rpc2NvdmVyeS9k bnNzZC9wdWJsaWMvZG5zX3NkX3R4dF9yZWNvcmQuaAkyMDIzLTAxLTE4IDE1OjIzOjA5LjM4MDI1 NTEwMSArMDEwMAotQEAgLTUsNiArNSw3IEBACi0gI2lmbmRlZiBESVNDT1ZFUllfRE5TU0RfUFVC TElDX0ROU19TRF9UWFRfUkVDT1JEX0hfCi0gI2RlZmluZSBESVNDT1ZFUllfRE5TU0RfUFVCTElD X0ROU19TRF9UWFRfUkVDT1JEX0hfCi0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUg PGZ1bmN0aW9uYWw+Ci0gI2luY2x1ZGUgPG1hcD4KLSAjaW5jbHVkZSA8c2V0PgotZGlmZiAtdXAg Y2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9zd2lmdHNoYWRlci9zcmMvU3lzdGVt L0xSVUNhY2hlLmhwcC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3N3aWZ0 c2hhZGVyL3NyYy9TeXN0ZW0vTFJVQ2FjaGUuaHBwCi0tLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43 NC90aGlyZF9wYXJ0eS9zd2lmdHNoYWRlci9zcmMvU3lzdGVtL0xSVUNhY2hlLmhwcC5tZQkyMDIz LTAxLTE3IDE1OjM3OjQ4LjUzMDYyNjUxNiArMDEwMAotKysrIGNocm9taXVtLTEwOS4wLjU0MTQu NzQvdGhpcmRfcGFydHkvc3dpZnRzaGFkZXIvc3JjL1N5c3RlbS9MUlVDYWNoZS5ocHAJMjAyMy0w MS0xNyAxNjo1Nzo0Ni4wMjU1NDgwOTIgKzAxMDAKLUBAIC0xNyw2ICsxNyw3IEBACi0gCi0gI2lu Y2x1ZGUgIlN5c3RlbS9EZWJ1Zy5ocHAiCi0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1 ZGUgPGNzdGRkZWY+Ci0gI2luY2x1ZGUgPGZ1bmN0aW9uYWw+Ci0gI2luY2x1ZGUgPHVub3JkZXJl ZF9zZXQ+Ci1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3VpL2dmeC9nZW9tZXRyeS9s aW5lYXJfZ3JhZGllbnQuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3VpL2dmeC9nZW9tZXRy eS9saW5lYXJfZ3JhZGllbnQuaAotLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdWkvZ2Z4L2dl b21ldHJ5L2xpbmVhcl9ncmFkaWVudC5oLm1lCTIwMjMtMDEtMTcgMTg6MDg6MjUuNzQ1NDkxMzUz ICswMTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC91aS9nZngvZ2VvbWV0cnkvbGluZWFy X2dyYWRpZW50LmgJMjAyMy0wMS0xNyAxODowODozNS43Nzc2Njc2MzIgKzAxMDAKLUBAIC01LDYg KzUsNyBAQAotICNpZm5kZWYgVUlfR0ZYX0xJTkVBUl9HUkFESUVOVF9IXwotICNkZWZpbmUgVUlf R0ZYX0xJTkVBUl9HUkFESUVOVF9IXwotIAotKyNpbmNsdWRlIDxjc3RkaW50PgotICNpbmNsdWRl IDxhcnJheT4KLSAjaW5jbHVkZSA8c3RyaW5nPgotIAotZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAu NTQxNC43NC90aGlyZF9wYXJ0eS9ydXkvc3JjL3J1eS9wcm9maWxlci9pbnN0cnVtZW50YXRpb24u aC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3J1eS9zcmMvcnV5L3Byb2Zp bGVyL2luc3RydW1lbnRhdGlvbi5oCi0tLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9w YXJ0eS9ydXkvc3JjL3J1eS9wcm9maWxlci9pbnN0cnVtZW50YXRpb24uaC5tZQkyMDIzLTAxLTE5 IDEwOjEwOjIxLjI4Nzg3NjczNiArMDEwMAotKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhp cmRfcGFydHkvcnV5L3NyYy9ydXkvcHJvZmlsZXIvaW5zdHJ1bWVudGF0aW9uLmgJMjAyMy0wMS0x OSAxMDoxMToyMS43MTQ3Nzg4OTYgKzAxMDAKLUBAIC0xNyw2ICsxNyw3IEBAIGxpbWl0YXRpb25z IHVuZGVyIHRoZSBMaWNlbnNlLgotICNkZWZpbmUgUlVZX1JVWV9QUk9GSUxFUl9JTlNUUlVNRU5U QVRJT05fSF8KLSAKLSAjaWZkZWYgUlVZX1BST0ZJTEVSCi0rI2luY2x1ZGUgPHN0cmluZz4KLSAj aW5jbHVkZSA8Y3N0ZGlvPgotICNpbmNsdWRlIDxtdXRleD4KLSAjaW5jbHVkZSA8dmVjdG9yPgot ZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS90ZmxpdGUvc3JjL3Rl bnNvcmZsb3cvbGl0ZS9rZXJuZWxzL2ludGVybmFsL3NwZWN0cm9ncmFtLmgubWUgY2hyb21pdW0t MTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS90ZmxpdGUvc3JjL3RlbnNvcmZsb3cvbGl0ZS9rZXJu ZWxzL2ludGVybmFsL3NwZWN0cm9ncmFtLmgKLS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3Ro aXJkX3BhcnR5L3RmbGl0ZS9zcmMvdGVuc29yZmxvdy9saXRlL2tlcm5lbHMvaW50ZXJuYWwvc3Bl Y3Ryb2dyYW0uaC5tZQkyMDIzLTAxLTE5IDEwOjMwOjI3LjUzMzg2MTk4NSArMDEwMAotKysrIGNo cm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvdGZsaXRlL3NyYy90ZW5zb3JmbG93L2xp dGUva2VybmVscy9pbnRlcm5hbC9zcGVjdHJvZ3JhbS5oCTIwMjMtMDEtMTkgMTA6MzE6MTIuNTg1 NTU0MTgzICswMTAwCi1AQCAtMzEsNiArMzEsNyBAQCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGlj ZW5zZS4KLSAjaWZuZGVmIFRFTlNPUkZMT1dfTElURV9LRVJORUxTX0lOVEVSTkFMX1NQRUNUUk9H UkFNX0hfCi0gI2RlZmluZSBURU5TT1JGTE9XX0xJVEVfS0VSTkVMU19JTlRFUk5BTF9TUEVDVFJP R1JBTV9IXwotIAotKyNpbmNsdWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxjb21wbGV4PgotICNp bmNsdWRlIDxkZXF1ZT4KLSAjaW5jbHVkZSA8dmVjdG9yPgotZGlmZiAtdXAgY2hyb21pdW0tMTA5 LjAuNTQxNC43NC9iYXNlL2NvbnRhaW5lcnMvZmxhdF9tYXAuaC5tZWUgY2hyb21pdW0tMTA5LjAu NTQxNC43NC9iYXNlL2NvbnRhaW5lcnMvZmxhdF9tYXAuaAotLS0tIGNocm9taXVtLTEwOS4wLjU0 MTQuNzQvYmFzZS9jb250YWluZXJzL2ZsYXRfbWFwLmgubWVlCTIwMjMtMDEtMTkgMTA6NTk6NTIu MjE0OTU3NzczICswMTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9iYXNlL2NvbnRhaW5l cnMvZmxhdF9tYXAuaAkyMDIzLTAxLTE5IDExOjAwOjA2LjQxNTIxNTMwOSArMDEwMAotQEAgLTUs NiArNSw3IEBACi0gI2lmbmRlZiBCQVNFX0NPTlRBSU5FUlNfRkxBVF9NQVBfSF8KLSAjZGVmaW5l IEJBU0VfQ09OVEFJTkVSU19GTEFUX01BUF9IXwotIAotKyNpbmNsdWRlIDxjc3RkaW50PgotICNp bmNsdWRlIDxmdW5jdGlvbmFsPgotICNpbmNsdWRlIDx0dXBsZT4KLSAjaW5jbHVkZSA8dXRpbGl0 eT4KLWRpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9jcmFzaC9jb3Jl L2FwcC9jcmFzaF9yZXBvcnRlcl9jbGllbnQuaC5tZWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9j b21wb25lbnRzL2NyYXNoL2NvcmUvYXBwL2NyYXNoX3JlcG9ydGVyX2NsaWVudC5oCi0tLS0gY2hy b21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL2NyYXNoL2NvcmUvYXBwL2NyYXNoX3JlcG9y dGVyX2NsaWVudC5oLm1lZQkyMDIzLTAxLTE5IDEwOjM2OjQwLjU3MTQyMjgyNiArMDEwMAotKysr IGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9jcmFzaC9jb3JlL2FwcC9jcmFzaF9y ZXBvcnRlcl9jbGllbnQuaAkyMDIzLTAxLTE5IDEwOjM2OjQ5LjM0MzU2NTI5NCArMDEwMAotQEAg LTUsNiArNSw3IEBACi0gI2lmbmRlZiBDT01QT05FTlRTX0NSQVNIX0NPUkVfQVBQX0NSQVNIX1JF UE9SVEVSX0NMSUVOVF9IXwotICNkZWZpbmUgQ09NUE9ORU5UU19DUkFTSF9DT1JFX0FQUF9DUkFT SF9SRVBPUlRFUl9DTElFTlRfSF8KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSA8 c3RyaW5nPgotIAotICNpbmNsdWRlICJidWlsZC9idWlsZF9jb25maWcuaCIKLWRpZmYgLXVwIGNo cm9taXVtLTEwOS4wLjU0MTQuNzQvdWkvYmFzZS9wcmVkaWN0aW9uL2thbG1hbl9maWx0ZXIuaC5t ZWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC91aS9iYXNlL3ByZWRpY3Rpb24va2FsbWFuX2ZpbHRl ci5oCi0tLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC91aS9iYXNlL3ByZWRpY3Rpb24va2FsbWFu X2ZpbHRlci5oLm1lZQkyMDIzLTAxLTE5IDExOjQ1OjE1Ljk1MzE1OTc1NSArMDEwMAotKysrIGNo cm9taXVtLTEwOS4wLjU0MTQuNzQvdWkvYmFzZS9wcmVkaWN0aW9uL2thbG1hbl9maWx0ZXIuaAky MDIzLTAxLTE5IDExOjQ1OjIyLjMyMDI0NjI0MSArMDEwMAotQEAgLTUsNiArNSw4IEBACi0gI2lm bmRlZiBVSV9CQVNFX1BSRURJQ1RJT05fS0FMTUFOX0ZJTFRFUl9IXwotICNkZWZpbmUgVUlfQkFT RV9QUkVESUNUSU9OX0tBTE1BTl9GSUxURVJfSF8KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSsK LSAjaW5jbHVkZSAiYmFzZS9jb21wb25lbnRfZXhwb3J0LmgiCi0gI2luY2x1ZGUgInVpL2dmeC9n ZW9tZXRyeS9tYXRyaXgzX2YuaCIKLSAKLWRpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQv Y29tcG9uZW50cy9wYXNzd29yZF9tYW5hZ2VyL2NvcmUvYnJvd3Nlci9nZW5lcmF0aW9uL3Bhc3N3 b3JkX2dlbmVyYXRvci5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9wYXNz d29yZF9tYW5hZ2VyL2NvcmUvYnJvd3Nlci9nZW5lcmF0aW9uL3Bhc3N3b3JkX2dlbmVyYXRvci5o Ci0tLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL3Bhc3N3b3JkX21hbmFnZXIv Y29yZS9icm93c2VyL2dlbmVyYXRpb24vcGFzc3dvcmRfZ2VuZXJhdG9yLmgubWUJMjAyMy0wMS0x OSAxNToyMDowNy42MjA5ODc5NDkgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Nv bXBvbmVudHMvcGFzc3dvcmRfbWFuYWdlci9jb3JlL2Jyb3dzZXIvZ2VuZXJhdGlvbi9wYXNzd29y ZF9nZW5lcmF0b3IuaAkyMDIzLTAxLTE5IDE1OjIwOjE4LjMyNDE3MzcwMiArMDEwMAotQEAgLTUs NiArNSw3IEBACi0gI2lmbmRlZiBDT01QT05FTlRTX1BBU1NXT1JEX01BTkFHRVJfQ09SRV9CUk9X U0VSX0dFTkVSQVRJT05fUEFTU1dPUkRfR0VORVJBVE9SX0hfCi0gI2RlZmluZSBDT01QT05FTlRT X1BBU1NXT1JEX01BTkFHRVJfQ09SRV9CUk9XU0VSX0dFTkVSQVRJT05fUEFTU1dPUkRfR0VORVJB VE9SX0hfCi0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUgPHN0cmluZz4KLSAKLSAK LWRpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9mZWF0dXJlX2VuZ2Fn ZW1lbnQvaW50ZXJuYWwvZXZlbnRfc3RvcmFnZV92YWxpZGF0b3IuaC5tZSBjaHJvbWl1bS0xMDku MC41NDE0Ljc0L2NvbXBvbmVudHMvZmVhdHVyZV9lbmdhZ2VtZW50L2ludGVybmFsL2V2ZW50X3N0 b3JhZ2VfdmFsaWRhdG9yLmgKLS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMv ZmVhdHVyZV9lbmdhZ2VtZW50L2ludGVybmFsL2V2ZW50X3N0b3JhZ2VfdmFsaWRhdG9yLmgubWUJ MjAyMy0wMS0xOSAxNjowMDoxNC4zNTAxODY1MTUgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMDkuMC41 NDE0Ljc0L2NvbXBvbmVudHMvZmVhdHVyZV9lbmdhZ2VtZW50L2ludGVybmFsL2V2ZW50X3N0b3Jh Z2VfdmFsaWRhdG9yLmgJMjAyMy0wMS0xOSAxNjowMDoyMS42NDMzMDc5OTMgKzAxMDAKLUBAIC01 LDYgKzUsNyBAQAotICNpZm5kZWYgQ09NUE9ORU5UU19GRUFUVVJFX0VOR0FHRU1FTlRfSU5URVJO QUxfRVZFTlRfU1RPUkFHRV9WQUxJREFUT1JfSF8KLSAjZGVmaW5lIENPTVBPTkVOVFNfRkVBVFVS RV9FTkdBR0VNRU5UX0lOVEVSTkFMX0VWRU5UX1NUT1JBR0VfVkFMSURBVE9SX0hfCi0gCi0rI2lu Y2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUgPHN0cmluZz4KLSAKLSBuYW1lc3BhY2UgZmVhdHVy ZV9lbmdhZ2VtZW50IHsKLWRpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50 cy9mZWF0dXJlX2VuZ2FnZW1lbnQvaW50ZXJuYWwvbmV2ZXJfZXZlbnRfc3RvcmFnZV92YWxpZGF0 b3IuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvZmVhdHVyZV9lbmdhZ2Vt ZW50L2ludGVybmFsL25ldmVyX2V2ZW50X3N0b3JhZ2VfdmFsaWRhdG9yLmgKLS0tLSBjaHJvbWl1 bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvZmVhdHVyZV9lbmdhZ2VtZW50L2ludGVybmFsL25l dmVyX2V2ZW50X3N0b3JhZ2VfdmFsaWRhdG9yLmgubWUJMjAyMy0wMS0xOSAxNTo1OToxOC4yMTAy Mzk0MTYgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvZmVhdHVy ZV9lbmdhZ2VtZW50L2ludGVybmFsL25ldmVyX2V2ZW50X3N0b3JhZ2VfdmFsaWRhdG9yLmgJMjAy My0wMS0xOSAxNTo1OTozNC41MTM1MTUwMzAgKzAxMDAKLUBAIC01LDYgKzUsNyBAQAotICNpZm5k ZWYgQ09NUE9ORU5UU19GRUFUVVJFX0VOR0FHRU1FTlRfSU5URVJOQUxfTkVWRVJfRVZFTlRfU1RP UkFHRV9WQUxJREFUT1JfSF8KLSAjZGVmaW5lIENPTVBPTkVOVFNfRkVBVFVSRV9FTkdBR0VNRU5U X0lOVEVSTkFMX05FVkVSX0VWRU5UX1NUT1JBR0VfVkFMSURBVE9SX0hfCi0gCi0rI2luY2x1ZGUg PGNzdGRpbnQ+Ci0gI2luY2x1ZGUgPHN0cmluZz4KLSAKLSAjaW5jbHVkZSAiY29tcG9uZW50cy9m ZWF0dXJlX2VuZ2FnZW1lbnQvaW50ZXJuYWwvZXZlbnRfc3RvcmFnZV92YWxpZGF0b3IuaCIKLWRp ZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvc3dpZnRzaGFkZXIvdGhp cmRfcGFydHkvbGx2bS0xMC4wL2xsdm0vbGliL1N1cHBvcnQvVW5peC9TaWduYWxzLmluYy5tZSBj aHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3RoaXJkX3BhcnR5 L2xsdm0tMTAuMC9sbHZtL2xpYi9TdXBwb3J0L1VuaXgvU2lnbmFscy5pbmMKLS0tLSBjaHJvbWl1 bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3RoaXJkX3BhcnR5L2xsdm0t MTAuMC9sbHZtL2xpYi9TdXBwb3J0L1VuaXgvU2lnbmFscy5pbmMubWUJMjAyMy0wMS0xOSAxNjow OToyOS4yMTY0NzcxODIgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3Bh cnR5L3N3aWZ0c2hhZGVyL3RoaXJkX3BhcnR5L2xsdm0tMTAuMC9sbHZtL2xpYi9TdXBwb3J0L1Vu aXgvU2lnbmFscy5pbmMJMjAyMy0wMS0xOSAxNjoxMDowNS42NTcwODkyMDggKzAxMDAKLUBAIC00 NSw2ICs0NSw3IEBACi0gI2luY2x1ZGUgImxsdm0vU3VwcG9ydC9TYXZlQW5kUmVzdG9yZS5oIgot ICNpbmNsdWRlICJsbHZtL1N1cHBvcnQvcmF3X29zdHJlYW0uaCIKLSAjaW5jbHVkZSA8YWxnb3Jp dGhtPgotKyNpbmNsdWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxzdHJpbmc+Ci0gI2luY2x1ZGUg PHN5c2V4aXRzLmg+Ci0gI2lmZGVmIEhBVkVfQkFDS1RSQUNFCi1kaWZmIC11cCBjaHJvbWl1bS0x MDkuMC41NDE0Ljc0L2Nocm9tZS9icm93c2VyL3ByaXZhY3lfYnVkZ2V0L2VuY291bnRlcmVkX3N1 cmZhY2VfdHJhY2tlci5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY2hyb21lL2Jyb3dzZXIv cHJpdmFjeV9idWRnZXQvZW5jb3VudGVyZWRfc3VyZmFjZV90cmFja2VyLmgKLS0tLSBjaHJvbWl1 bS0xMDkuMC41NDE0Ljc0L2Nocm9tZS9icm93c2VyL3ByaXZhY3lfYnVkZ2V0L2VuY291bnRlcmVk X3N1cmZhY2VfdHJhY2tlci5oLm1lCTIwMjMtMDEtMTkgMTY6MzI6MDUuMzM4MTYwMTMxICswMTAw Ci0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jaHJvbWUvYnJvd3Nlci9wcml2YWN5X2J1ZGdl dC9lbmNvdW50ZXJlZF9zdXJmYWNlX3RyYWNrZXIuaAkyMDIzLTAxLTE5IDE2OjMyOjE2LjIxMzMy Njc5OCArMDEwMAotQEAgLTUsNiArNSw3IEBACi0gI2lmbmRlZiBDSFJPTUVfQlJPV1NFUl9QUklW QUNZX0JVREdFVF9FTkNPVU5URVJFRF9TVVJGQUNFX1RSQUNLRVJfSF8KLSAjZGVmaW5lIENIUk9N RV9CUk9XU0VSX1BSSVZBQ1lfQlVER0VUX0VOQ09VTlRFUkVEX1NVUkZBQ0VfVFJBQ0tFUl9IXwot IAotKyNpbmNsdWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxtYXA+Ci0gCi0gI2luY2x1ZGUgImJh c2UvY29udGFpbmVycy9mbGF0X3NldC5oIgotZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43 NC9jb21wb25lbnRzL2F1dG9maWxsL2NvcmUvYnJvd3Nlci9hdXRvZmlsbF9hYmxhdGlvbl9zdHVk eS5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9hdXRvZmlsbC9jb3JlL2Jy b3dzZXIvYXV0b2ZpbGxfYWJsYXRpb25fc3R1ZHkuaAotLS0tIGNocm9taXVtLTEwOS4wLjU0MTQu NzQvY29tcG9uZW50cy9hdXRvZmlsbC9jb3JlL2Jyb3dzZXIvYXV0b2ZpbGxfYWJsYXRpb25fc3R1 ZHkuaC5tZQkyMDIzLTAxLTE5IDE2OjQ3OjU1LjU0ODU3MTEwMiArMDEwMAotKysrIGNocm9taXVt LTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9hdXRvZmlsbC9jb3JlL2Jyb3dzZXIvYXV0b2ZpbGxf YWJsYXRpb25fc3R1ZHkuaAkyMDIzLTAxLTE5IDE2OjQ4OjI5LjIxNDE0NjUyOSArMDEwMAotQEAg LTUsNiArNSw3IEBACi0gI2lmbmRlZiBDT01QT05FTlRTX0FVVE9GSUxMX0NPUkVfQlJPV1NFUl9B VVRPRklMTF9BQkxBVElPTl9TVFVEWV9IXwotICNkZWZpbmUgQ09NUE9ORU5UU19BVVRPRklMTF9D T1JFX0JST1dTRVJfQVVUT0ZJTExfQUJMQVRJT05fU1RVRFlfSF8KLSAKLSsjaW5jbHVkZSA8Y3N0 ZGludD4KLSAjaW5jbHVkZSA8c3RyaW5nPgotIAotIGNsYXNzIEdVUkw7Ci1kaWZmIC11cCBjaHJv bWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvb21uaWJveC9icm93c2VyL29uX2RldmljZV9o ZWFkX21vZGVsLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL29tbmlib3gv YnJvd3Nlci9vbl9kZXZpY2VfaGVhZF9tb2RlbC5oCi0tLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43 NC9jb21wb25lbnRzL29tbmlib3gvYnJvd3Nlci9vbl9kZXZpY2VfaGVhZF9tb2RlbC5oLm1lCTIw MjMtMDEtMTkgMTY6NTc6MjkuNTI1MzcyODE0ICswMTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQx NC43NC9jb21wb25lbnRzL29tbmlib3gvYnJvd3Nlci9vbl9kZXZpY2VfaGVhZF9tb2RlbC5oCTIw MjMtMDEtMTkgMTY6NTg6MDIuNjY3OTc5Mjg4ICswMTAwCi1AQCAtNSw2ICs1LDcgQEAKLSAjaWZu ZGVmIENPTVBPTkVOVFNfT01OSUJPWF9CUk9XU0VSX09OX0RFVklDRV9IRUFEX01PREVMX0hfCi0g I2RlZmluZSBDT01QT05FTlRTX09NTklCT1hfQlJPV1NFUl9PTl9ERVZJQ0VfSEVBRF9NT0RFTF9I XwotIAotKyNpbmNsdWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxzdHJpbmc+Ci0gI2luY2x1ZGUg PHV0aWxpdHk+Ci0gI2luY2x1ZGUgPHZlY3Rvcj4KLWRpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0 MTQuNzQvY29tcG9uZW50cy9wYXltZW50cy9jb250ZW50L3V0aWxpdHkvZmluZ2VycHJpbnRfcGFy c2VyLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL3BheW1lbnRzL2NvbnRl bnQvdXRpbGl0eS9maW5nZXJwcmludF9wYXJzZXIuaAotLS0tIGNocm9taXVtLTEwOS4wLjU0MTQu NzQvY29tcG9uZW50cy9wYXltZW50cy9jb250ZW50L3V0aWxpdHkvZmluZ2VycHJpbnRfcGFyc2Vy LmgubWUJMjAyMy0wMS0xOSAxNzowMjo0NS4yNTg1NDQ2NjUgKzAxMDAKLSsrKyBjaHJvbWl1bS0x MDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvcGF5bWVudHMvY29udGVudC91dGlsaXR5L2ZpbmdlcnBy aW50X3BhcnNlci5oCTIwMjMtMDEtMTkgMTc6MDI6NTIuNTc3NjExNzU3ICswMTAwCi1AQCAtNSw2 ICs1LDcgQEAKLSAjaWZuZGVmIENPTVBPTkVOVFNfUEFZTUVOVFNfQ09OVEVOVF9VVElMSVRZX0ZJ TkdFUlBSSU5UX1BBUlNFUl9IXwotICNkZWZpbmUgQ09NUE9ORU5UU19QQVlNRU5UU19DT05URU5U X1VUSUxJVFlfRklOR0VSUFJJTlRfUEFSU0VSX0hfCi0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0g I2luY2x1ZGUgPHN0ZGRlZi5oPgotIAotICNpbmNsdWRlIDxzdHJpbmc+Ci1kaWZmIC11cCBjaHJv bWl1bS0xMDkuMC41NDE0Ljc0L3BkZi9kb2N1bWVudF9hdHRhY2htZW50X2luZm8uaC5tZSBjaHJv bWl1bS0xMDkuMC41NDE0Ljc0L3BkZi9kb2N1bWVudF9hdHRhY2htZW50X2luZm8uaAotLS0tIGNo cm9taXVtLTEwOS4wLjU0MTQuNzQvcGRmL2RvY3VtZW50X2F0dGFjaG1lbnRfaW5mby5oLm1lCTIw MjMtMDEtMTkgMTc6Mjg6MjguNTUyMDYzNTM0ICswMTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQx NC43NC9wZGYvZG9jdW1lbnRfYXR0YWNobWVudF9pbmZvLmgJMjAyMy0wMS0xOSAxNzoyODo0OC4w NzIzNzk5NTMgKzAxMDAKLUBAIC01LDYgKzUsNyBAQAotICNpZm5kZWYgUERGX0RPQ1VNRU5UX0FU VEFDSE1FTlRfSU5GT19IXwotICNkZWZpbmUgUERGX0RPQ1VNRU5UX0FUVEFDSE1FTlRfSU5GT19I XwotIAotKyNpbmNsdWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxzdHJpbmc+Ci0gCi0gCi1kaWZm IC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3BkZml1bS9jb25zdGFudHMv YW5ub3RhdGlvbl9mbGFncy5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkv cGRmaXVtL2NvbnN0YW50cy9hbm5vdGF0aW9uX2ZsYWdzLmgKLS0tLSBjaHJvbWl1bS0xMDkuMC41 NDE0Ljc0L3RoaXJkX3BhcnR5L3BkZml1bS9jb25zdGFudHMvYW5ub3RhdGlvbl9mbGFncy5oLm1l CTIwMjMtMDEtMTkgMTg6MjU6NDcuNjQ4MTkzNzEwICswMTAwCi0rKysgY2hyb21pdW0tMTA5LjAu NTQxNC43NC90aGlyZF9wYXJ0eS9wZGZpdW0vY29uc3RhbnRzL2Fubm90YXRpb25fZmxhZ3MuaAky MDIzLTAxLTE5IDE4OjI2OjExLjQ4ODU5MzU1NiArMDEwMAotQEAgLTUsNiArNSw4IEBACi0gI2lm bmRlZiBDT05TVEFOVFNfQU5OT1RBVElPTl9GTEFHU19IXwotICNkZWZpbmUgQ09OU1RBTlRTX0FO Tk9UQVRJT05fRkxBR1NfSF8KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSsKLSBuYW1lc3BhY2Ug cGRmaXVtIHsKLSBuYW1lc3BhY2UgYW5ub3RhdGlvbl9mbGFncyB7Ci0gCi1kaWZmIC11cCBjaHJv bWl1bS0xMTMuMC41NjcyLjI0L3RoaXJkX3BhcnR5L3Z1bGthbi1kZXBzL3Z1bGthbi12YWxpZGF0 aW9uLWxheWVycy9zcmMvbGF5ZXJzL2V4dGVybmFsL3ZtYS92a19tZW1fYWxsb2MuaC5tZSBjaHJv bWl1bS0xMTMuMC41NjcyLjI0L3RoaXJkX3BhcnR5L3Z1bGthbi1kZXBzL3Z1bGthbi12YWxpZGF0 aW9uLWxheWVycy9zcmMvbGF5ZXJzL2V4dGVybmFsL3ZtYS92a19tZW1fYWxsb2MuaAotLS0tIGNo cm9taXVtLTExMy4wLjU2NzIuMjQvdGhpcmRfcGFydHkvdnVsa2FuLWRlcHMvdnVsa2FuLXZhbGlk YXRpb24tbGF5ZXJzL3NyYy9sYXllcnMvZXh0ZXJuYWwvdm1hL3ZrX21lbV9hbGxvYy5oLm1lCTIw MjMtMDQtMTUgMTY6NDQ6NTUuMzQ0MzA1NDEyICswMjAwCi0rKysgY2hyb21pdW0tMTEzLjAuNTY3 Mi4yNC90aGlyZF9wYXJ0eS92dWxrYW4tZGVwcy92dWxrYW4tdmFsaWRhdGlvbi1sYXllcnMvc3Jj L2xheWVycy9leHRlcm5hbC92bWEvdmtfbWVtX2FsbG9jLmgJMjAyMy0wNC0xNSAxNjo0NzowOS4w Mjg2NjY5OTUgKzAyMDAKLUBAIC0yODU0LDYgKzI4NTQsNyBAQCBzdGF0aWMgdm9pZCB2bWFfYWxp Z25lZF9mcmVlKHZvaWQqIFZNQV9OCi0gCi0gLy8gRGVmaW5lIHRoaXMgbWFjcm8gdG8gMSB0byBl bmFibGUgZnVuY3Rpb25zOiB2bWFCdWlsZFN0YXRzU3RyaW5nLCB2bWFGcmVlU3RhdHNTdHJpbmcu Ci0gI2lmIFZNQV9TVEFUU19TVFJJTkdfRU5BQkxFRAotKyNpbmNsdWRlIDxzdGRpby5oPgotICAg ICBzdGF0aWMgaW5saW5lIHZvaWQgVm1hVWludDMyVG9TdHIoY2hhciogVk1BX05PVF9OVUxMIG91 dFN0ciwgc2l6ZV90IHN0ckxlbiwgdWludDMyX3QgbnVtKQotICAgICB7Ci0gICAgICAgICBzbnBy aW50ZihvdXRTdHIsIHN0ckxlbiwgIiV1Iiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQgaW50PihudW0p KTsKLWRpZmYgLXVwIGNocm9taXVtLTExMy4wLjU2NzIuMzcvY2hyb21lL2Jyb3dzZXIvd2ViYXV0 aG4vYXV0aGVudGljYXRvcl9yZXF1ZXN0X2RpYWxvZ19tb2RlbC5oLm1lIGNocm9taXVtLTExMy4w LjU2NzIuMzcvY2hyb21lL2Jyb3dzZXIvd2ViYXV0aG4vYXV0aGVudGljYXRvcl9yZXF1ZXN0X2Rp YWxvZ19tb2RlbC5oCi0tLS0gY2hyb21pdW0tMTEzLjAuNTY3Mi4zNy9jaHJvbWUvYnJvd3Nlci93 ZWJhdXRobi9hdXRoZW50aWNhdG9yX3JlcXVlc3RfZGlhbG9nX21vZGVsLmgubWUJMjAyMy0wNC0x OCAxNTo1NTo0NC43NzQ5MTYzMTkgKzAyMDAKLSsrKyBjaHJvbWl1bS0xMTMuMC41NjcyLjM3L2No cm9tZS9icm93c2VyL3dlYmF1dGhuL2F1dGhlbnRpY2F0b3JfcmVxdWVzdF9kaWFsb2dfbW9kZWwu aAkyMDIzLTA0LTE4IDE1OjU1OjU0LjQ0MTA4NTg4MiArMDIwMAotQEAgLTgsNiArOCw3IEBACi0g I2luY2x1ZGUgPG1lbW9yeT4KLSAjaW5jbHVkZSA8c3RyaW5nPgotICNpbmNsdWRlIDx2ZWN0b3I+ Ci0rI2luY2x1ZGUgPHZhcmlhbnQ+Ci0gCi0gI2luY2x1ZGUgImJhc2UvY29udGFpbmVycy9zcGFu LmgiCi0gI2luY2x1ZGUgImJhc2UvZnVuY3Rpb25hbC9jYWxsYmFja19mb3J3YXJkLmgiCi1kaWZm IC11cCBjaHJvbWl1bS0xMTMuMC41NjcyLjM3L2dpbi90aW1lX2NsYW1wZXIuaC5tZSBjaHJvbWl1 bS0xMTMuMC41NjcyLjM3L2dpbi90aW1lX2NsYW1wZXIuaAotLS0tIGNocm9taXVtLTExMy4wLjU2 NzIuMzcvZ2luL3RpbWVfY2xhbXBlci5oLm1lCTIwMjMtMDQtMTggMTY6Mzg6NDEuMTgwNDM3NDY3 ICswMjAwCi0rKysgY2hyb21pdW0tMTEzLjAuNTY3Mi4zNy9naW4vdGltZV9jbGFtcGVyLmgJMjAy My0wNC0xOCAxNjozOTo0My44NTcwNDk0MzIgKzAyMDAKLUBAIC00OCw3ICs0OCw3IEBAIGNsYXNz IEdJTl9FWFBPUlQgVGltZUNsYW1wZXIgewotICAgICBjb25zdCBpbnQ2NF90IG1pY3JvcyA9IG5v d19taWNyb3MgJSAxMDAwOwotICAgICAvLyBhYnMoKSBpcyBuZWNlc3NhcnkgZm9yIGRldmljZXMg d2l0aCB0aW1lcyBiZWZvcmUgdW5peC1lcG9jaCAobW9zdCBsaWtlbHkKLSAgICAgLy8gY29uZmln dXJlZCBpbmNvcnJlY3RseSkuCi0tICAgIGlmIChhYnMobWljcm9zKSArIGtSZXNvbHV0aW9uTWlj cm9zIDwgMTAwMCkgewotKyAgICBpZiAoc3RkOjphYnMobWljcm9zKSArIGtSZXNvbHV0aW9uTWlj cm9zIDwgMTAwMCkgewotICAgICAgIHJldHVybiBub3dfbWljcm9zIC8gMTAwMDsKLSAgICAgfQot ICAgICByZXR1cm4gQ2xhbXBUaW1lUmVzb2x1dGlvbihub3dfbWljcm9zKSAvIDEwMDA7Ci1kaWZm IC11cCBjaHJvbWl1bS0xMTMuMC41NjcyLjUzL2Nocm9tZS90ZXN0L2Nocm9tZWRyaXZlci9jaHJv bWUvd2ViX3ZpZXdfaW1wbC5jYy5tZSBjaHJvbWl1bS0xMTMuMC41NjcyLjUzL2Nocm9tZS90ZXN0 L2Nocm9tZWRyaXZlci9jaHJvbWUvd2ViX3ZpZXdfaW1wbC5jYwotLS0tIGNocm9taXVtLTExMy4w LjU2NzIuNTMvY2hyb21lL3Rlc3QvY2hyb21lZHJpdmVyL2Nocm9tZS93ZWJfdmlld19pbXBsLmNj Lm1lCTIwMjMtMDQtMjEgMDg6MDc6NTUuMzYyNzE0NTQ0ICswMjAwCi0rKysgY2hyb21pdW0tMTEz LjAuNTY3Mi41My9jaHJvbWUvdGVzdC9jaHJvbWVkcml2ZXIvY2hyb21lL3dlYl92aWV3X2ltcGwu Y2MJMjAyMy0wNC0yMSAwODoxNDozNS40MjQxNTg2OTMgKzAyMDAKLUBAIC0xMCw2ICsxMCw3IEBA Ci0gI2luY2x1ZGUgPHF1ZXVlPgotICNpbmNsdWRlIDx1dGlsaXR5PgotICNpbmNsdWRlIDx2ZWN0 b3I+Ci0rI2luY2x1ZGUgPGNzdHJpbmc+Ci0gCi0gI2luY2x1ZGUgImJhc2UvY2hlY2suaCIKLSAj aW5jbHVkZSAiYmFzZS9maWxlcy9maWxlX3BhdGguaCIKLWRpZmYgLXVwIGNocm9taXVtLTExNS4w LjU3OTAuMzIvc2tpYS9leHQvc2tjb2xvcnNwYWNlX3RyZm4uY2MubWUgY2hyb21pdW0tMTE1LjAu NTc5MC4zMi9za2lhL2V4dC9za2NvbG9yc3BhY2VfdHJmbi5jYwotLS0tIGNocm9taXVtLTExNS4w LjU3OTAuMzIvc2tpYS9leHQvc2tjb2xvcnNwYWNlX3RyZm4uY2MubWUJMjAyMy0wNi0xOCAxMjoz Mzo1Mi4zODc0MTI3ODggKzAyMDAKLSsrKyBjaHJvbWl1bS0xMTUuMC41NzkwLjMyL3NraWEvZXh0 L3NrY29sb3JzcGFjZV90cmZuLmNjCTIwMjMtMDYtMTggMTI6MzU6MjguMjI5MTQ4OTM1ICswMjAw Ci1AQCAtMyw2ICszLDcgQEAKLSAvLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotIAotICNp bmNsdWRlICJza2lhL2V4dC9za2NvbG9yc3BhY2VfdHJmbi5oIgotKyNpbmNsdWRlIDxjbWF0aD4K LSAKLSBuYW1lc3BhY2Ugc2tpYSB7Ci0gCi1kaWZmIC11cCBjaHJvbWl1bS05Ni4wLjQ2NjQuNDUv dGhpcmRfcGFydHkvd2VicnRjL2NvbW1vbl92aWRlby9oMjY0L3Nwc19wYXJzZXIuaC5taXNzaW5n LWNzdGRpbnQgY2hyb21pdW0tOTYuMC40NjY0LjQ1L3RoaXJkX3BhcnR5L3dlYnJ0Yy9jb21tb25f dmlkZW8vaDI2NC9zcHNfcGFyc2VyLmgKLS0tLSBjaHJvbWl1bS05Ni4wLjQ2NjQuNDUvdGhpcmRf cGFydHkvd2VicnRjL2NvbW1vbl92aWRlby9oMjY0L3Nwc19wYXJzZXIuaC5taXNzaW5nLWNzdGRp bnQJMjAyMS0xMS0xOSAxNzowNTozMS4zNzk3NTAzNTAgLTA1MDAKLSsrKyBjaHJvbWl1bS05Ni4w LjQ2NjQuNDUvdGhpcmRfcGFydHkvd2VicnRjL2NvbW1vbl92aWRlby9oMjY0L3Nwc19wYXJzZXIu aAkyMDIxLTExLTE5IDE3OjA3OjM1LjE5MTUyMDEyNyAtMDUwMAotQEAgLTExLDYgKzExLDcgQEAK LSAjaWZuZGVmIENPTU1PTl9WSURFT19IMjY0X1NQU19QQVJTRVJfSF8KLSAjZGVmaW5lIENPTU1P Tl9WSURFT19IMjY0X1NQU19QQVJTRVJfSF8KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5j bHVkZSAiYWJzbC90eXBlcy9vcHRpb25hbC5oIgotICNpbmNsdWRlICJydGNfYmFzZS9iaXRzdHJl YW1fcmVhZGVyLmgiCi0gCi1kaWZmIC11cCBjaHJvbWl1bS05Ni4wLjQ2NjQuNDUvdGhpcmRfcGFy dHkvd2VicnRjL21vZHVsZXMvaW5jbHVkZS9tb2R1bGVfY29tbW9uX3R5cGVzX3B1YmxpYy5oLm1p c3NpbmctY3N0ZGludCBjaHJvbWl1bS05Ni4wLjQ2NjQuNDUvdGhpcmRfcGFydHkvd2VicnRjL21v ZHVsZXMvaW5jbHVkZS9tb2R1bGVfY29tbW9uX3R5cGVzX3B1YmxpYy5oCi0tLS0gY2hyb21pdW0t OTYuMC40NjY0LjQ1L3RoaXJkX3BhcnR5L3dlYnJ0Yy9tb2R1bGVzL2luY2x1ZGUvbW9kdWxlX2Nv bW1vbl90eXBlc19wdWJsaWMuaC5taXNzaW5nLWNzdGRpbnQJMjAyMS0xMS0xMiAwNToyODoxMC4w MDAwMDAwMDAgLTA1MDAKLSsrKyBjaHJvbWl1bS05Ni4wLjQ2NjQuNDUvdGhpcmRfcGFydHkvd2Vi cnRjL21vZHVsZXMvaW5jbHVkZS9tb2R1bGVfY29tbW9uX3R5cGVzX3B1YmxpYy5oCTIwMjEtMTEt MTkgMTc6MDU6MzEuMzc5NzUwMzUwIC0wNTAwCi1AQCAtMTEsNiArMTEsNyBAQAotICNpZm5kZWYg TU9EVUxFU19JTkNMVURFX01PRFVMRV9DT01NT05fVFlQRVNfUFVCTElDX0hfCi0gI2RlZmluZSBN T0RVTEVTX0lOQ0xVREVfTU9EVUxFX0NPTU1PTl9UWVBFU19QVUJMSUNfSF8KLSAKLSsjaW5jbHVk ZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSA8bGltaXRzPgotIAotICNpbmNsdWRlICJhYnNsL3R5cGVz L29wdGlvbmFsLmgiCi1kaWZmIC11cCBjaHJvbWl1bS05Ni4wLjQ2NjQuNDUvdWkvZ2Z4L2xpbnV4 L2RybV91dGlsX2xpbnV4LmgubWlzc2luZy1jc3RkaW50IGNocm9taXVtLTk2LjAuNDY2NC40NS91 aS9nZngvbGludXgvZHJtX3V0aWxfbGludXguaAotLS0tIGNocm9taXVtLTk2LjAuNDY2NC40NS91 aS9nZngvbGludXgvZHJtX3V0aWxfbGludXguaC5taXNzaW5nLWNzdGRpbnQJMjAyMS0xMS0xMiAw NToyNToyNC4wMDAwMDAwMDAgLTA1MDAKLSsrKyBjaHJvbWl1bS05Ni4wLjQ2NjQuNDUvdWkvZ2Z4 L2xpbnV4L2RybV91dGlsX2xpbnV4LmgJMjAyMS0xMS0xOSAxNzowNTozMS4zNzk3NTAzNTAgLTA1 MDAKLUBAIC05LDYgKzksOCBAQAotIAotICNpbmNsdWRlICJ1aS9nZngvYnVmZmVyX3R5cGVzLmgi Ci0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0rCi0gbmFtZXNwYWNlIHVpIHsKLSAKLSBpbnQgR2V0 Rm91ckNDRm9ybWF0RnJvbUJ1ZmZlckZvcm1hdChnZng6OkJ1ZmZlckZvcm1hdCBmb3JtYXQpOwot ZGlmZiAtdXAgY2hyb21pdW0tOTYuMC40NjY0LjQ1L3RoaXJkX3BhcnR5L3dlYnJ0Yy9hdWRpby91 dGlsaXR5L2NoYW5uZWxfbWl4ZXIuY2MubWlzc2luZy1jc3RyaW5nIGNocm9taXVtLTk2LjAuNDY2 NC40NS90aGlyZF9wYXJ0eS93ZWJydGMvYXVkaW8vdXRpbGl0eS9jaGFubmVsX21peGVyLmNjCi0t LS0gY2hyb21pdW0tOTYuMC40NjY0LjQ1L3RoaXJkX3BhcnR5L3dlYnJ0Yy9hdWRpby91dGlsaXR5 L2NoYW5uZWxfbWl4ZXIuY2MubWlzc2luZy1jc3RyaW5nCTIwMjEtMTEtMTIgMDU6Mjg6MDkuMDAw MDAwMDAwIC0wNTAwCi0rKysgY2hyb21pdW0tOTYuMC40NjY0LjQ1L3RoaXJkX3BhcnR5L3dlYnJ0 Yy9hdWRpby91dGlsaXR5L2NoYW5uZWxfbWl4ZXIuY2MJMjAyMS0xMS0xOSAxNzoxMDowMi45Mjc0 Mzg2OTUgLTA1MDAKLUBAIC04LDYgKzgsOCBAQAotICAqICBiZSBmb3VuZCBpbiB0aGUgQVVUSE9S UyBmaWxlIGluIHRoZSByb290IG9mIHRoZSBzb3VyY2UgdHJlZS4KLSAgKi8KLSAKLSsjaW5jbHVk ZSA8Y3N0cmluZz4KLSsKLSAjaW5jbHVkZSAiYXVkaW8vdXRpbGl0eS9jaGFubmVsX21peGVyLmgi Ci0gCi0gI2luY2x1ZGUgImF1ZGlvL3V0aWxpdHkvY2hhbm5lbF9taXhpbmdfbWF0cml4LmgiCi1k aWZmIC11cCBjaHJvbWl1bS05Ni4wLjQ2NjQuNDUvdGhpcmRfcGFydHkvd2VicnRjL21vZHVsZXMv dmlkZW9fY29kaW5nL3V0aWxpdHkvaXZmX2ZpbGVfcmVhZGVyLmNjLm1pc3NpbmctY3N0cmluZyBj aHJvbWl1bS05Ni4wLjQ2NjQuNDUvdGhpcmRfcGFydHkvd2VicnRjL21vZHVsZXMvdmlkZW9fY29k aW5nL3V0aWxpdHkvaXZmX2ZpbGVfcmVhZGVyLmNjCi0tLS0gY2hyb21pdW0tOTYuMC40NjY0LjQ1 L3RoaXJkX3BhcnR5L3dlYnJ0Yy9tb2R1bGVzL3ZpZGVvX2NvZGluZy91dGlsaXR5L2l2Zl9maWxl X3JlYWRlci5jYy5taXNzaW5nLWNzdHJpbmcJMjAyMS0xMS0xMiAwNToyODoxMC4wMDAwMDAwMDAg LTA1MDAKLSsrKyBjaHJvbWl1bS05Ni4wLjQ2NjQuNDUvdGhpcmRfcGFydHkvd2VicnRjL21vZHVs ZXMvdmlkZW9fY29kaW5nL3V0aWxpdHkvaXZmX2ZpbGVfcmVhZGVyLmNjCTIwMjEtMTEtMTkgMTc6 MTA6MDIuOTI4NDM4NzAxIC0wNTAwCi1AQCAtMTAsNiArMTAsNyBAQAotIAotICNpbmNsdWRlICJt b2R1bGVzL3ZpZGVvX2NvZGluZy91dGlsaXR5L2l2Zl9maWxlX3JlYWRlci5oIgotIAotKyNpbmNs dWRlIDxjc3RyaW5nPgotICNpbmNsdWRlIDxzdHJpbmc+Ci0gI2luY2x1ZGUgPHZlY3Rvcj4KLSAK LWRpZmYgLXVwIGNocm9taXVtLTExNy4wLjU5MzguNDgvdGhpcmRfcGFydHkvaXBjei9zcmMvaXBj ei9yb3V0ZXJfbGluay5oLm1lIGNocm9taXVtLTExNy4wLjU5MzguNDgvdGhpcmRfcGFydHkvaXBj ei9zcmMvaXBjei9yb3V0ZXJfbGluay5oCi0tLS0gY2hyb21pdW0tMTE3LjAuNTkzOC40OC90aGly ZF9wYXJ0eS9pcGN6L3NyYy9pcGN6L3JvdXRlcl9saW5rLmgubWUJMjAyMy0wOS0xMCAxNzo1Mzow NC44MjYyOTgzNTEgKzAyMDAKLSsrKyBjaHJvbWl1bS0xMTcuMC41OTM4LjQ4L3RoaXJkX3BhcnR5 L2lwY3ovc3JjL2lwY3ovcm91dGVyX2xpbmsuaAkyMDIzLTA5LTEwIDE3OjUzOjIyLjIwMTc1Njg5 NCArMDIwMAotQEAgLTUsNiArNSw3IEBACi0gI2lmbmRlZiBJUENaX1NSQ19JUENaX1JPVVRFUl9M SU5LX0hfCi0gI2RlZmluZSBJUENaX1NSQ19JUENaX1JPVVRFUl9MSU5LX0hfCi0gCi0rI2luY2x1 ZGUgPG1lbW9yeT4KLSAjaW5jbHVkZSA8Y3N0ZGRlZj4KLSAjaW5jbHVkZSA8ZnVuY3Rpb25hbD4K LSAjaW5jbHVkZSA8c3RyaW5nPgotZGlmZiAtdXAgY2hyb21pdW0tMTE3LjAuNTkzOC40OC90aGly ZF9wYXJ0eS9tYXRlcmlhbF9jb2xvcl91dGlsaXRpZXMvc3JjL2NwcC9wYWxldHRlcy90b25lcy5j Yy5tZSBjaHJvbWl1bS0xMTcuMC41OTM4LjQ4L3RoaXJkX3BhcnR5L21hdGVyaWFsX2NvbG9yX3V0 aWxpdGllcy9zcmMvY3BwL3BhbGV0dGVzL3RvbmVzLmNjCi0tLS0gY2hyb21pdW0tMTE3LjAuNTkz OC40OC90aGlyZF9wYXJ0eS9tYXRlcmlhbF9jb2xvcl91dGlsaXRpZXMvc3JjL2NwcC9wYWxldHRl cy90b25lcy5jYy5tZQkyMDIzLTA5LTEwIDE3OjM2OjI3LjE5OTg0MTA1MSArMDIwMAotKysrIGNo cm9taXVtLTExNy4wLjU5MzguNDgvdGhpcmRfcGFydHkvbWF0ZXJpYWxfY29sb3JfdXRpbGl0aWVz L3NyYy9jcHAvcGFsZXR0ZXMvdG9uZXMuY2MJMjAyMy0wOS0xMCAxNzo0NDo1MS44NzA1NTQyMzMg KzAyMDAKLUBAIC0xNCw2ICsxNCw3IEBACi0gICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vu c2UuCi0gICovCi0gCi0rI2luY2x1ZGUgPGNtYXRoPgotICNpbmNsdWRlICJjcHAvcGFsZXR0ZXMv dG9uZXMuaCIKLSAKLSAjaW5jbHVkZSAiY3BwL2NhbS9jYW0uaCIKLWRpZmYgLXVwIGNocm9taXVt LTExOC4wLjU5OTMuMzIvc2VydmljZXMvZGV2aWNlL3B1YmxpYy9jcHAvZ2VuZXJpY19zZW5zb3Iv c2Vuc29yX3JlYWRpbmcuaC5tZSBjaHJvbWl1bS0xMTguMC41OTkzLjMyL3NlcnZpY2VzL2Rldmlj ZS9wdWJsaWMvY3BwL2dlbmVyaWNfc2Vuc29yL3NlbnNvcl9yZWFkaW5nLmgKLS0tLSBjaHJvbWl1 bS0xMTguMC41OTkzLjMyL3NlcnZpY2VzL2RldmljZS9wdWJsaWMvY3BwL2dlbmVyaWNfc2Vuc29y L3NlbnNvcl9yZWFkaW5nLmgubWUJMjAyMy0xMC0wMSAxMzo1NTowMS45MTMxOTMxODYgKzAyMDAK LSsrKyBjaHJvbWl1bS0xMTguMC41OTkzLjMyL3NlcnZpY2VzL2RldmljZS9wdWJsaWMvY3BwL2dl bmVyaWNfc2Vuc29yL3NlbnNvcl9yZWFkaW5nLmgJMjAyMy0xMC0wMSAxNDowNTozOC40ODgwMzg0 MjkgKzAyMDAKLUBAIC01LDYgKzUsOSBAQAotICNpZm5kZWYgU0VSVklDRVNfREVWSUNFX1BVQkxJ Q19DUFBfR0VORVJJQ19TRU5TT1JfU0VOU09SX1JFQURJTkdfSF8KLSAjZGVmaW5lIFNFUlZJQ0VT X0RFVklDRV9QVUJMSUNfQ1BQX0dFTkVSSUNfU0VOU09SX1NFTlNPUl9SRUFESU5HX0hfCi0gCi0r I2luY2x1ZGUgPGNzdGRkZWY+Ci0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0rCi0gI2luY2x1ZGUgPHR5 cGVfdHJhaXRzPgotIAotIG5hbWVzcGFjZSBkZXZpY2UgewpkaWZmIC0tZ2l0IGEvc3JjcGtncy9j aHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTEyMS1hcm02NC1tZW1vcnlfdGFnZ2luZy5wYXRjaCBi L3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0xMjEtYXJtNjQtbWVtb3J5X3RhZ2dp bmcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMC4uY2Y4MDdk ZGIzMWVjNwotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJv bWl1bS0xMjEtYXJtNjQtbWVtb3J5X3RhZ2dpbmcucGF0Y2gKQEAgLTAsMCArMSwxMyBAQAorZGlm ZiAtdXAgY2hyb21pdW0tMTIxLjAuNjE2Ny41Ny9iYXNlL2FsbG9jYXRvci9wYXJ0aXRpb25fYWxs b2NhdG9yL3NyYy9wYXJ0aXRpb25fYWxsb2MvcGFydGl0aW9uX2FsbG9jX2NvbmZpZy5oLm1lIGNo cm9taXVtLTEyMS4wLjYxNjcuNTcvYmFzZS9hbGxvY2F0b3IvcGFydGl0aW9uX2FsbG9jYXRvci9z cmMvcGFydGl0aW9uX2FsbG9jL3BhcnRpdGlvbl9hbGxvY19jb25maWcuaAorLS0tIGNocm9taXVt LTEyMS4wLjYxNjcuNTcvYmFzZS9hbGxvY2F0b3IvcGFydGl0aW9uX2FsbG9jYXRvci9zcmMvcGFy dGl0aW9uX2FsbG9jL3BhcnRpdGlvbl9hbGxvY19jb25maWcuaC5tZQkyMDI0LTAxLTE2IDE0OjIw OjUyLjQwMTg5MDY1NyArMDEwMAorKysrIGNocm9taXVtLTEyMS4wLjYxNjcuNTcvYmFzZS9hbGxv Y2F0b3IvcGFydGl0aW9uX2FsbG9jYXRvci9zcmMvcGFydGl0aW9uX2FsbG9jL3BhcnRpdGlvbl9h bGxvY19jb25maWcuaAkyMDI0LTAxLTE2IDE1OjA4OjA0LjA3MDE1NjQ3NCArMDEwMAorQEAgLTE2 Miw3ICsxNjIsOCBAQCBzdGF0aWNfYXNzZXJ0KHNpemVvZih2b2lkKikgIT0gOCwgIiIpOworIAor ICNpZiBkZWZpbmVkKEFSQ0hfQ1BVX0FSTTY0KSAmJiBkZWZpbmVkKF9fY2xhbmdfXykgJiYgXAor ICAgICAhZGVmaW5lZChBRERSRVNTX1NBTklUSVpFUikgJiYgICAgICAgICAgICAgICAgICAgXAor LSAgICAoQlVJTERGTEFHKElTX0xJTlVYKSB8fCBCVUlMREZMQUcoSVNfQU5EUk9JRCkpCisrICAg IChCVUlMREZMQUcoSVNfTElOVVgpIHx8IEJVSUxERkxBRyhJU19BTkRST0lEKSkgJiYgXAorKyAg ICBfX0dMSUJDX1BSRVJFUSgyLCAyOSkKKyAjZGVmaW5lIFBBX0NPTkZJR19IQVNfTUVNT1JZX1RB R0dJTkcoKSAxCisgI2Vsc2UKKyAjZGVmaW5lIFBBX0NPTkZJR19IQVNfTUVNT1JZX1RBR0dJTkco KSAwCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTIxLWNv bnN0ZXhwci5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0xMjEtY29u c3RleHByLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAuLmEw YjcxNjZhNWM4ZjgKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMv Y2hyb21pdW0tMTIxLWNvbnN0ZXhwci5wYXRjaApAQCAtMCwwICsxLDEyIEBACitkaWZmIC11cCBj aHJvbWl1bS0xMjEuMC42MTY3LjU3L2NvbXBvbmVudHMvcGVyZm9ybWFuY2VfbWFuYWdlci9yZXNv dXJjZV9hdHRyaWJ1dGlvbi9xdWVyeV9wYXJhbXMuaC5tZSBjaHJvbWl1bS0xMjEuMC42MTY3LjU3 L2NvbXBvbmVudHMvcGVyZm9ybWFuY2VfbWFuYWdlci9yZXNvdXJjZV9hdHRyaWJ1dGlvbi9xdWVy eV9wYXJhbXMuaAorLS0tIGNocm9taXVtLTEyMS4wLjYxNjcuNTcvY29tcG9uZW50cy9wZXJmb3Jt YW5jZV9tYW5hZ2VyL3Jlc291cmNlX2F0dHJpYnV0aW9uL3F1ZXJ5X3BhcmFtcy5oLm1lCTIwMjQt MDEtMTggMTc6MDA6MjQuNzkxNTgyNDIyICswMTAwCisrKysgY2hyb21pdW0tMTIxLjAuNjE2Ny41 Ny9jb21wb25lbnRzL3BlcmZvcm1hbmNlX21hbmFnZXIvcmVzb3VyY2VfYXR0cmlidXRpb24vcXVl cnlfcGFyYW1zLmgJMjAyNC0wMS0xOCAxNzoyMjoyMS41MjE2ODI4NDUgKzAxMDAKK0BAIC0yNyw3 ICsyNyw3IEBAIHN0cnVjdCBRdWVyeVBhcmFtcyB7CisgICBRdWVyeVBhcmFtcyhjb25zdCBRdWVy eVBhcmFtcyYgb3RoZXIpOworICAgUXVlcnlQYXJhbXMmIG9wZXJhdG9yPShjb25zdCBRdWVyeVBh cmFtcyYgb3RoZXIpOworIAorLSAgZnJpZW5kIGNvbnN0ZXhwciBib29sIG9wZXJhdG9yPT0oY29u c3QgUXVlcnlQYXJhbXMmLAorKyAgZnJpZW5kIGJvb2wgb3BlcmF0b3I9PShjb25zdCBRdWVyeVBh cmFtcyYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBRdWVyeVBh cmFtcyYpID0gZGVmYXVsdDsKKyAKKyAgIC8vIEluZGl2aWR1YWwgcmVzb3VyY2UgY29udGV4dHMg dG8gbWVhc3VyZS4KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1 bS0xMjEtZWw3LWNsYW5nLXZlcnNpb24td2FybmluZy5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0v cGF0Y2hlcy9jaHJvbWl1bS0xMjEtZWw3LWNsYW5nLXZlcnNpb24td2FybmluZy5wYXRjaApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwLi5iYzg2ZWIyMzU1ODc0Ci0tLSAv ZGV2L251bGwKKysrIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTEyMS1lbDct Y2xhbmctdmVyc2lvbi13YXJuaW5nLnBhdGNoCkBAIC0wLDAgKzEsMTUgQEAKKy0tLSBjaHJvbWl1 bS0xMjEuMC42MTY3LjU3L3RoaXJkX3BhcnR5L2xpYmMrKy9zcmMvaW5jbHVkZS9fX2NvbmZpZy5v cmlnCTIwMjQtMDEtMTYgMTg6Mzg6MDAuOTk1OTMwNzc0ICswMTAwCisrKysgY2hyb21pdW0tMTIx LjAuNjE2Ny41Ny90aGlyZF9wYXJ0eS9saWJjKysvc3JjL2luY2x1ZGUvX19jb25maWcJMjAyNC0w MS0xNiAxODo0Mzo0Ny4wNTY1MTcyODkgKzAxMDAKK0BAIC0zMiwxMSArMzIsNyBAQAorIAorIC8v IFdhcm4gaWYgYSBjb21waWxlciB2ZXJzaW9uIGlzIHVzZWQgdGhhdCBpcyBub3Qgc3VwcG9ydGVk IGFueW1vcmUKKyAvLyBMTFZNIFJFTEVBU0UgVXBkYXRlIHRoZSBtaW5pbXVtIGNvbXBpbGVyIHZl cnNpb25zCistIyAgaWYgZGVmaW5lZChfTElCQ1BQX0NMQU5HX1ZFUikKKy0jICAgIGlmIF9MSUJD UFBfQ0xBTkdfVkVSIDwgMTYwMAorLSMgICAgICB3YXJuaW5nICJMaWJjKysgb25seSBzdXBwb3J0 cyBDbGFuZyAxNiBhbmQgbGF0ZXIiCistIyAgICBlbmRpZgorLSMgIGVsaWYgZGVmaW5lZChfTElC Q1BQX0FQUExFX0NMQU5HX1ZFUikKKysjICBpZiBkZWZpbmVkKF9MSUJDUFBfQVBQTEVfQ0xBTkdf VkVSKQorICMgICAgaWYgX0xJQkNQUF9BUFBMRV9DTEFOR19WRVIgPCAxNTAwCisgIyAgICAgIHdh cm5pbmcgIkxpYmMrKyBvbmx5IHN1cHBvcnRzIEFwcGxlQ2xhbmcgMTUgYW5kIGxhdGVyIgorICMg ICAgZW5kaWYKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0x MjEtZWw3LWRlZmF1bHQtY29uc3RydWN0b3ItaW52b2x2aW5nLWFub255bW91cy11bmlvbi5wYXRj aCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0xMjEtZWw3LWRlZmF1bHQtY29u c3RydWN0b3ItaW52b2x2aW5nLWFub255bW91cy11bmlvbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwLi4wYTJhYzFkZTM1NjFkCi0tLSAvZGV2L251bGwKKysr IGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTEyMS1lbDctZGVmYXVsdC1jb25z dHJ1Y3Rvci1pbnZvbHZpbmctYW5vbnltb3VzLXVuaW9uLnBhdGNoCkBAIC0wLDAgKzEsMTIgQEAK K2RpZmYgLXVwIGNocm9taXVtLTEyMS4wLjYxNjcuNTcvY29udGVudC9icm93c2VyL2ludGVyZXN0 X2dyb3VwL2hlYWRlcl9kaXJlY3RfZnJvbV9zZWxsZXJfc2lnbmFscy5jYy5tZSBjaHJvbWl1bS0x MjEuMC42MTY3LjU3L2NvbnRlbnQvYnJvd3Nlci9pbnRlcmVzdF9ncm91cC9oZWFkZXJfZGlyZWN0 X2Zyb21fc2VsbGVyX3NpZ25hbHMuY2MKKy0tLSBjaHJvbWl1bS0xMjEuMC42MTY3LjU3L2NvbnRl bnQvYnJvd3Nlci9pbnRlcmVzdF9ncm91cC9oZWFkZXJfZGlyZWN0X2Zyb21fc2VsbGVyX3NpZ25h bHMuY2MubWUJMjAyNC0wMS0yMyAxNToxMzoxMS40NjkxMDQ2OTQgKzAxMDAKKysrKyBjaHJvbWl1 bS0xMjEuMC42MTY3LjU3L2NvbnRlbnQvYnJvd3Nlci9pbnRlcmVzdF9ncm91cC9oZWFkZXJfZGly ZWN0X2Zyb21fc2VsbGVyX3NpZ25hbHMuY2MJMjAyNC0wMS0yMyAxNToxMTo0MC4xMTc4NDIwMTUg KzAxMDAKK0BAIC00Niw3ICs0Niw3IEBAIHNpemVfdCBHZXRSZXN1bHRTaXplQnl0ZXMoY29uc3Qg SGVhZGVyRGkKKyAKKyB9ICAvLyBuYW1lc3BhY2UKKyAKKy1IZWFkZXJEaXJlY3RGcm9tU2VsbGVy U2lnbmFsczo6UmVzdWx0OjpSZXN1bHQoKSA9IGRlZmF1bHQ7CisrSGVhZGVyRGlyZWN0RnJvbVNl bGxlclNpZ25hbHM6OlJlc3VsdDo6UmVzdWx0KCkge30KKyAKKyBIZWFkZXJEaXJlY3RGcm9tU2Vs bGVyU2lnbmFsczo6UmVzdWx0OjpSZXN1bHQoCisgICAgIGFic2w6Om9wdGlvbmFsPHN0ZDo6c3Ry aW5nPiBzZWxsZXJfc2lnbmFscywKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hl cy9jaHJvbWl1bS0xMjEtbWlzc2luZy1oZWFkZXItZmlsZXMucGF0Y2ggYi9zcmNwa2dzL2Nocm9t aXVtL3BhdGNoZXMvY2hyb21pdW0tMTIxLW1pc3NpbmctaGVhZGVyLWZpbGVzLnBhdGNoCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAuLjM3N2RlMGQxMTQwY2IKLS0tIC9k ZXYvbnVsbAorKysgYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTIxLW1pc3Np bmctaGVhZGVyLWZpbGVzLnBhdGNoCkBAIC0wLDAgKzEsNDU5IEBACitkaWZmIC11cCBjaHJvbWl1 bS0xMTkuMC42MDQ1LjEwNS9iYXNlL2NoZWNrX29wLmgubWlzc2luZy1oZWFkZXItZmlsZXMgY2hy b21pdW0tMTE5LjAuNjA0NS4xMDUvYmFzZS9jaGVja19vcC5oCistLS0gY2hyb21pdW0tMTE5LjAu NjA0NS4xMDUvYmFzZS9jaGVja19vcC5oLm1pc3NpbmctaGVhZGVyLWZpbGVzCTIwMjMtMTEtMDEg MTk6MTA6MDUuMDAwMDAwMDAwICswMTAwCisrKysgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvYmFz ZS9jaGVja19vcC5oCTIwMjMtMTEtMDYgMTQ6MzQ6MDEuODA4ODY4OTgyICswMTAwCitAQCAtNSw2 ICs1LDcgQEAKKyAjaWZuZGVmIEJBU0VfQ0hFQ0tfT1BfSF8KKyAjZGVmaW5lIEJBU0VfQ0hFQ0tf T1BfSF8KKyAKKysjaW5jbHVkZSA8Y3N0ZGludD4KKyAjaW5jbHVkZSA8Y3N0ZGRlZj4KKyAjaW5j bHVkZSA8c3RyaW5nPgorICNpbmNsdWRlIDxzdHJpbmdfdmlldz4KK2RpZmYgLXVwIGNocm9taXVt LTExOS4wLjYwNDUuMTA1L2Jhc2UvY29udGFpbmVycy9mbGF0X21hcC5oLm1pc3NpbmctaGVhZGVy LWZpbGVzIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L2Jhc2UvY29udGFpbmVycy9mbGF0X21hcC5o CistLS0gY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvYmFzZS9jb250YWluZXJzL2ZsYXRfbWFwLmgu bWlzc2luZy1oZWFkZXItZmlsZXMJMjAyMy0xMS0wMSAxOToxMDowNS4wMDAwMDAwMDAgKzAxMDAK KysrKyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9iYXNlL2NvbnRhaW5lcnMvZmxhdF9tYXAuaAky MDIzLTExLTA2IDE0OjM0OjAxLjgxMzg2OTA4OSArMDEwMAorQEAgLTUsNiArNSw3IEBACisgI2lm bmRlZiBCQVNFX0NPTlRBSU5FUlNfRkxBVF9NQVBfSF8KKyAjZGVmaW5lIEJBU0VfQ09OVEFJTkVS U19GTEFUX01BUF9IXworIAorKyNpbmNsdWRlIDxjc3RkaW50PgorICNpbmNsdWRlIDxmdW5jdGlv bmFsPgorICNpbmNsdWRlIDx0dXBsZT4KKyAjaW5jbHVkZSA8dHlwZV90cmFpdHM+CitkaWZmIC11 cCBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9iYXNlL2RlYnVnL3Byb2ZpbGVyLmgubWlzc2luZy1o ZWFkZXItZmlsZXMgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvYmFzZS9kZWJ1Zy9wcm9maWxlci5o CistLS0gY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvYmFzZS9kZWJ1Zy9wcm9maWxlci5oLm1pc3Np bmctaGVhZGVyLWZpbGVzCTIwMjMtMTEtMDEgMTk6MTA6MDUuMDAwMDAwMDAwICswMTAwCisrKysg Y2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvYmFzZS9kZWJ1Zy9wcm9maWxlci5oCTIwMjMtMTEtMDYg MTQ6MzQ6MDEuODA5ODY5MDA0ICswMTAwCitAQCAtOCw2ICs4LDcgQEAKKyAjaW5jbHVkZSA8c3Rk ZGVmLmg+CisgI2luY2x1ZGUgPHN0ZGludC5oPgorIAorKyNpbmNsdWRlIDxjc3RkaW50PgorICNp bmNsdWRlIDxzdHJpbmc+CisgCisgI2luY2x1ZGUgImJhc2UvYmFzZV9leHBvcnQuaCIKK2RpZmYg LXVwIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L2Jhc2UvbWVtb3J5L3JlZl9jb3VudGVkLmgubWlz c2luZy1oZWFkZXItZmlsZXMgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvYmFzZS9tZW1vcnkvcmVm X2NvdW50ZWQuaAorLS0tIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L2Jhc2UvbWVtb3J5L3JlZl9j b3VudGVkLmgubWlzc2luZy1oZWFkZXItZmlsZXMJMjAyMy0xMS0wMSAxOToxMDowNS4wMDAwMDAw MDAgKzAxMDAKKysrKyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9iYXNlL21lbW9yeS9yZWZfY291 bnRlZC5oCTIwMjMtMTEtMDYgMTQ6MzQ6MDEuODA4ODY4OTgyICswMTAwCitAQCAtNiw2ICs2LDcg QEAKKyAjZGVmaW5lIEJBU0VfTUVNT1JZX1JFRl9DT1VOVEVEX0hfCisgCisgI2luY2x1ZGUgPHN0 ZGRlZi5oPgorKyNpbmNsdWRlIDxsaW1pdHM+CisgCisgI2luY2x1ZGUgPGxpbWl0cz4KKyAjaW5j bHVkZSA8dXRpbGl0eT4KK2RpZmYgLXVwIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L2Nocm9tZS9i cm93c2VyL3ByaXZhY3lfYnVkZ2V0L2VuY291bnRlcmVkX3N1cmZhY2VfdHJhY2tlci5oLm1pc3Np bmctaGVhZGVyLWZpbGVzIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L2Nocm9tZS9icm93c2VyL3By aXZhY3lfYnVkZ2V0L2VuY291bnRlcmVkX3N1cmZhY2VfdHJhY2tlci5oCistLS0gY2hyb21pdW0t MTE5LjAuNjA0NS4xMDUvY2hyb21lL2Jyb3dzZXIvcHJpdmFjeV9idWRnZXQvZW5jb3VudGVyZWRf c3VyZmFjZV90cmFja2VyLmgubWlzc2luZy1oZWFkZXItZmlsZXMJMjAyMy0xMS0wMSAxOToxMDox My4wMDAwMDAwMDAgKzAxMDAKKysrKyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9jaHJvbWUvYnJv d3Nlci9wcml2YWN5X2J1ZGdldC9lbmNvdW50ZXJlZF9zdXJmYWNlX3RyYWNrZXIuaAkyMDIzLTEx LTA2IDE0OjM0OjAxLjgxNDg2OTExMCArMDEwMAorQEAgLTcsNiArNyw3IEBACisgCisgI2luY2x1 ZGUgPHN0ZGludC5oPgorIAorKyNpbmNsdWRlIDxjc3RkaW50PgorICNpbmNsdWRlIDxtYXA+Cisg CisgI2luY2x1ZGUgImJhc2UvY29udGFpbmVycy9mbGF0X3NldC5oIgorZGlmZiAtdXAgY2hyb21p dW0tMTE5LjAuNjA0NS4xMDUvY2hyb21lL2Jyb3dzZXIvd2ViYXV0aG4vYXV0aGVudGljYXRvcl9y ZXF1ZXN0X2RpYWxvZ19tb2RlbC5oLm1pc3NpbmctaGVhZGVyLWZpbGVzIGNocm9taXVtLTExOS4w LjYwNDUuMTA1L2Nocm9tZS9icm93c2VyL3dlYmF1dGhuL2F1dGhlbnRpY2F0b3JfcmVxdWVzdF9k aWFsb2dfbW9kZWwuaAorLS0tIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L2Nocm9tZS9icm93c2Vy L3dlYmF1dGhuL2F1dGhlbnRpY2F0b3JfcmVxdWVzdF9kaWFsb2dfbW9kZWwuaC5taXNzaW5nLWhl YWRlci1maWxlcwkyMDIzLTExLTAxIDE5OjEwOjE2LjAwMDAwMDAwMCArMDEwMAorKysrIGNocm9t aXVtLTExOS4wLjYwNDUuMTA1L2Nocm9tZS9icm93c2VyL3dlYmF1dGhuL2F1dGhlbnRpY2F0b3Jf cmVxdWVzdF9kaWFsb2dfbW9kZWwuaAkyMDIzLTExLTA2IDE0OjM0OjAxLjgxNzg2OTE3NCArMDEw MAorQEAgLTgsNiArOCw3IEBACisgI2luY2x1ZGUgPG1lbW9yeT4KKyAjaW5jbHVkZSA8c3RyaW5n PgorICNpbmNsdWRlIDx2ZWN0b3I+CisrI2luY2x1ZGUgPHZhcmlhbnQ+CisgCisgI2luY2x1ZGUg ImJhc2UvY29udGFpbmVycy9zcGFuLmgiCisgI2luY2x1ZGUgImJhc2UvZnVuY3Rpb25hbC9jYWxs YmFja19mb3J3YXJkLmgiCitkaWZmIC11cCBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9jaHJvbWUv dGVzdC9jaHJvbWVkcml2ZXIvY2hyb21lL3dlYl92aWV3X2ltcGwuY2MubWlzc2luZy1oZWFkZXIt ZmlsZXMgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvY2hyb21lL3Rlc3QvY2hyb21lZHJpdmVyL2No cm9tZS93ZWJfdmlld19pbXBsLmNjCistLS0gY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvY2hyb21l L3Rlc3QvY2hyb21lZHJpdmVyL2Nocm9tZS93ZWJfdmlld19pbXBsLmNjLm1pc3NpbmctaGVhZGVy LWZpbGVzCTIwMjMtMTEtMDEgMTk6MTA6MTYuMDAwMDAwMDAwICswMTAwCisrKysgY2hyb21pdW0t MTE5LjAuNjA0NS4xMDUvY2hyb21lL3Rlc3QvY2hyb21lZHJpdmVyL2Nocm9tZS93ZWJfdmlld19p bXBsLmNjCTIwMjMtMTEtMDYgMTQ6MzQ6MDEuODE4ODY5MTk2ICswMTAwCitAQCAtMTEsNiArMTEs NyBAQAorICNpbmNsdWRlIDxxdWV1ZT4KKyAjaW5jbHVkZSA8dXRpbGl0eT4KKyAjaW5jbHVkZSA8 dmVjdG9yPgorKyNpbmNsdWRlIDxjc3RyaW5nPgorIAorICNpbmNsdWRlICJiYXNlL2NoZWNrLmgi CisgI2luY2x1ZGUgImJhc2UvZmlsZXMvZmlsZV9wYXRoLmgiCitkaWZmIC11cCBjaHJvbWl1bS0x MTkuMC42MDQ1LjEwNS9jb21wb25lbnRzL2F1dG9maWxsL2NvcmUvYnJvd3Nlci9hdXRvZmlsbF9h YmxhdGlvbl9zdHVkeS5oLm1pc3NpbmctaGVhZGVyLWZpbGVzIGNocm9taXVtLTExOS4wLjYwNDUu MTA1L2NvbXBvbmVudHMvYXV0b2ZpbGwvY29yZS9icm93c2VyL2F1dG9maWxsX2FibGF0aW9uX3N0 dWR5LmgKKy0tLSBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9jb21wb25lbnRzL2F1dG9maWxsL2Nv cmUvYnJvd3Nlci9hdXRvZmlsbF9hYmxhdGlvbl9zdHVkeS5oLm1pc3NpbmctaGVhZGVyLWZpbGVz CTIwMjMtMTEtMDEgMTk6MTA6MTkuMDAwMDAwMDAwICswMTAwCisrKysgY2hyb21pdW0tMTE5LjAu NjA0NS4xMDUvY29tcG9uZW50cy9hdXRvZmlsbC9jb3JlL2Jyb3dzZXIvYXV0b2ZpbGxfYWJsYXRp b25fc3R1ZHkuaAkyMDIzLTExLTA2IDE0OjM0OjAxLjgxNTg2OTEzMiArMDEwMAorQEAgLTcsNiAr Nyw3IEBACisgCisgI2luY2x1ZGUgPHN0ZGludC5oPgorIAorKyNpbmNsdWRlIDxjc3RkaW50Pgor ICNpbmNsdWRlIDxzdHJpbmc+CisgCisgY2xhc3MgR1VSTDsKK2RpZmYgLXVwIGNocm9taXVtLTEx OS4wLjYwNDUuMTA1L2NvbXBvbmVudHMvY3Jhc2gvY29yZS9hcHAvY3Jhc2hfcmVwb3J0ZXJfY2xp ZW50LmgubWlzc2luZy1oZWFkZXItZmlsZXMgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvY29tcG9u ZW50cy9jcmFzaC9jb3JlL2FwcC9jcmFzaF9yZXBvcnRlcl9jbGllbnQuaAorLS0tIGNocm9taXVt LTExOS4wLjYwNDUuMTA1L2NvbXBvbmVudHMvY3Jhc2gvY29yZS9hcHAvY3Jhc2hfcmVwb3J0ZXJf Y2xpZW50LmgubWlzc2luZy1oZWFkZXItZmlsZXMJMjAyMy0xMS0wMSAxOToxMDoyMC4wMDAwMDAw MDAgKzAxMDAKKysrKyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9jb21wb25lbnRzL2NyYXNoL2Nv cmUvYXBwL2NyYXNoX3JlcG9ydGVyX2NsaWVudC5oCTIwMjMtMTEtMDYgMTQ6MzQ6MDEuODEzODY5 MDg5ICswMTAwCitAQCAtNyw2ICs3LDcgQEAKKyAKKyAjaW5jbHVkZSA8c3RkaW50Lmg+CisgCisr I2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUgPHN0cmluZz4KKyAKKyAjaW5jbHVkZSAiYnVp bGQvYnVpbGRfY29uZmlnLmgiCitkaWZmIC11cCBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9jb21w b25lbnRzL2ZlYXR1cmVfZW5nYWdlbWVudC9pbnRlcm5hbC9ldmVudF9zdG9yYWdlX3ZhbGlkYXRv ci5oLm1pc3NpbmctaGVhZGVyLWZpbGVzIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L2NvbXBvbmVu dHMvZmVhdHVyZV9lbmdhZ2VtZW50L2ludGVybmFsL2V2ZW50X3N0b3JhZ2VfdmFsaWRhdG9yLmgK Ky0tLSBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9jb21wb25lbnRzL2ZlYXR1cmVfZW5nYWdlbWVu dC9pbnRlcm5hbC9ldmVudF9zdG9yYWdlX3ZhbGlkYXRvci5oLm1pc3NpbmctaGVhZGVyLWZpbGVz CTIwMjMtMTEtMDEgMTk6MTA6MjEuMDAwMDAwMDAwICswMTAwCisrKysgY2hyb21pdW0tMTE5LjAu NjA0NS4xMDUvY29tcG9uZW50cy9mZWF0dXJlX2VuZ2FnZW1lbnQvaW50ZXJuYWwvZXZlbnRfc3Rv cmFnZV92YWxpZGF0b3IuaAkyMDIzLTExLTA2IDE0OjM0OjAxLjgxNDg2OTExMCArMDEwMAorQEAg LTcsNiArNyw3IEBACisgCisgI2luY2x1ZGUgPHN0ZGludC5oPgorIAorKyNpbmNsdWRlIDxjc3Rk aW50PgorICNpbmNsdWRlIDxzdHJpbmc+CisgCisgbmFtZXNwYWNlIGZlYXR1cmVfZW5nYWdlbWVu dCB7CitkaWZmIC11cCBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9jb21wb25lbnRzL2ZlYXR1cmVf ZW5nYWdlbWVudC9pbnRlcm5hbC9uZXZlcl9ldmVudF9zdG9yYWdlX3ZhbGlkYXRvci5oLm1pc3Np bmctaGVhZGVyLWZpbGVzIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L2NvbXBvbmVudHMvZmVhdHVy ZV9lbmdhZ2VtZW50L2ludGVybmFsL25ldmVyX2V2ZW50X3N0b3JhZ2VfdmFsaWRhdG9yLmgKKy0t LSBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9jb21wb25lbnRzL2ZlYXR1cmVfZW5nYWdlbWVudC9p bnRlcm5hbC9uZXZlcl9ldmVudF9zdG9yYWdlX3ZhbGlkYXRvci5oLm1pc3NpbmctaGVhZGVyLWZp bGVzCTIwMjMtMTEtMDEgMTk6MTA6MjEuMDAwMDAwMDAwICswMTAwCisrKysgY2hyb21pdW0tMTE5 LjAuNjA0NS4xMDUvY29tcG9uZW50cy9mZWF0dXJlX2VuZ2FnZW1lbnQvaW50ZXJuYWwvbmV2ZXJf ZXZlbnRfc3RvcmFnZV92YWxpZGF0b3IuaAkyMDIzLTExLTA2IDE0OjM0OjAxLjgxNDg2OTExMCAr MDEwMAorQEAgLTUsNiArNSw3IEBACisgI2lmbmRlZiBDT01QT05FTlRTX0ZFQVRVUkVfRU5HQUdF TUVOVF9JTlRFUk5BTF9ORVZFUl9FVkVOVF9TVE9SQUdFX1ZBTElEQVRPUl9IXworICNkZWZpbmUg Q09NUE9ORU5UU19GRUFUVVJFX0VOR0FHRU1FTlRfSU5URVJOQUxfTkVWRVJfRVZFTlRfU1RPUkFH RV9WQUxJREFUT1JfSF8KKyAKKysjaW5jbHVkZSA8Y3N0ZGludD4KKyAjaW5jbHVkZSA8c3RyaW5n PgorIAorICNpbmNsdWRlICJjb21wb25lbnRzL2ZlYXR1cmVfZW5nYWdlbWVudC9pbnRlcm5hbC9l dmVudF9zdG9yYWdlX3ZhbGlkYXRvci5oIgorZGlmZiAtdXAgY2hyb21pdW0tMTE5LjAuNjA0NS4x MDUvY29tcG9uZW50cy9vbW5pYm94L2Jyb3dzZXIvb25fZGV2aWNlX2hlYWRfbW9kZWwuaC5taXNz aW5nLWhlYWRlci1maWxlcyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9jb21wb25lbnRzL29tbmli b3gvYnJvd3Nlci9vbl9kZXZpY2VfaGVhZF9tb2RlbC5oCistLS0gY2hyb21pdW0tMTE5LjAuNjA0 NS4xMDUvY29tcG9uZW50cy9vbW5pYm94L2Jyb3dzZXIvb25fZGV2aWNlX2hlYWRfbW9kZWwuaC5t aXNzaW5nLWhlYWRlci1maWxlcwkyMDIzLTExLTAxIDE5OjEwOjIxLjAwMDAwMDAwMCArMDEwMAor KysrIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L2NvbXBvbmVudHMvb21uaWJveC9icm93c2VyL29u X2RldmljZV9oZWFkX21vZGVsLmgJMjAyMy0xMS0wNiAxNDozNDowMS44MTU4NjkxMzIgKzAxMDAK K0BAIC03LDYgKzcsNyBAQAorIAorICNpbmNsdWRlIDxzdGRpbnQuaD4KKyAKKysjaW5jbHVkZSA8 Y3N0ZGludD4KKyAjaW5jbHVkZSA8c3RyaW5nPgorICNpbmNsdWRlIDx1dGlsaXR5PgorICNpbmNs dWRlIDx2ZWN0b3I+CitkaWZmIC11cCBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9jb21wb25lbnRz L3Bhc3N3b3JkX21hbmFnZXIvY29yZS9icm93c2VyL2dlbmVyYXRpb24vcGFzc3dvcmRfZ2VuZXJh dG9yLmgubWlzc2luZy1oZWFkZXItZmlsZXMgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvY29tcG9u ZW50cy9wYXNzd29yZF9tYW5hZ2VyL2NvcmUvYnJvd3Nlci9nZW5lcmF0aW9uL3Bhc3N3b3JkX2dl bmVyYXRvci5oCistLS0gY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvY29tcG9uZW50cy9wYXNzd29y ZF9tYW5hZ2VyL2NvcmUvYnJvd3Nlci9nZW5lcmF0aW9uL3Bhc3N3b3JkX2dlbmVyYXRvci5oLm1p c3NpbmctaGVhZGVyLWZpbGVzCTIwMjMtMTEtMDEgMTk6MTA6MjEuMDAwMDAwMDAwICswMTAwCisr KysgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvY29tcG9uZW50cy9wYXNzd29yZF9tYW5hZ2VyL2Nv cmUvYnJvd3Nlci9nZW5lcmF0aW9uL3Bhc3N3b3JkX2dlbmVyYXRvci5oCTIwMjMtMTEtMDYgMTQ6 MzQ6MDEuODE0ODY5MTEwICswMTAwCitAQCAtNyw2ICs3LDcgQEAKKyAKKyAjaW5jbHVkZSA8c3Rk aW50Lmg+CisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUgPHN0cmluZz4KKyAKKyAK K2RpZmYgLXVwIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L2NvbXBvbmVudHMvcGF5bWVudHMvY29u dGVudC91dGlsaXR5L2ZpbmdlcnByaW50X3BhcnNlci5oLm1pc3NpbmctaGVhZGVyLWZpbGVzIGNo cm9taXVtLTExOS4wLjYwNDUuMTA1L2NvbXBvbmVudHMvcGF5bWVudHMvY29udGVudC91dGlsaXR5 L2ZpbmdlcnByaW50X3BhcnNlci5oCistLS0gY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvY29tcG9u ZW50cy9wYXltZW50cy9jb250ZW50L3V0aWxpdHkvZmluZ2VycHJpbnRfcGFyc2VyLmgubWlzc2lu Zy1oZWFkZXItZmlsZXMJMjAyMy0xMS0wMSAxOToxMDoyMS4wMDAwMDAwMDAgKzAxMDAKKysrKyBj aHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9jb21wb25lbnRzL3BheW1lbnRzL2NvbnRlbnQvdXRpbGl0 eS9maW5nZXJwcmludF9wYXJzZXIuaAkyMDIzLTExLTA2IDE0OjM0OjAxLjgxNTg2OTEzMiArMDEw MAorQEAgLTUsNiArNSw3IEBACisgI2lmbmRlZiBDT01QT05FTlRTX1BBWU1FTlRTX0NPTlRFTlRf VVRJTElUWV9GSU5HRVJQUklOVF9QQVJTRVJfSF8KKyAjZGVmaW5lIENPTVBPTkVOVFNfUEFZTUVO VFNfQ09OVEVOVF9VVElMSVRZX0ZJTkdFUlBSSU5UX1BBUlNFUl9IXworIAorKyNpbmNsdWRlIDxj c3RkaW50PgorICNpbmNsdWRlIDxzdGRkZWYuaD4KKyAjaW5jbHVkZSA8c3RkaW50Lmg+CisgCitk aWZmIC11cCBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9naW4vdGltZV9jbGFtcGVyLmgubWlzc2lu Zy1oZWFkZXItZmlsZXMgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvZ2luL3RpbWVfY2xhbXBlci5o CistLS0gY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvZ2luL3RpbWVfY2xhbXBlci5oLm1pc3Npbmct aGVhZGVyLWZpbGVzCTIwMjMtMTEtMDEgMTk6MTA6MjguMDAwMDAwMDAwICswMTAwCisrKysgY2hy b21pdW0tMTE5LjAuNjA0NS4xMDUvZ2luL3RpbWVfY2xhbXBlci5oCTIwMjMtMTEtMDYgMTQ6MzQ6 MDEuODE4ODY5MTk2ICswMTAwCitAQCAtNDgsNyArNDgsNyBAQCBjbGFzcyBHSU5fRVhQT1JUIFRp bWVDbGFtcGVyIHsKKyAgICAgY29uc3QgaW50NjRfdCBtaWNyb3MgPSBub3dfbWljcm9zICUgMTAw MDsKKyAgICAgLy8gYWJzKCkgaXMgbmVjZXNzYXJ5IGZvciBkZXZpY2VzIHdpdGggdGltZXMgYmVm b3JlIHVuaXgtZXBvY2ggKG1vc3QgbGlrZWx5CisgICAgIC8vIGNvbmZpZ3VyZWQgaW5jb3JyZWN0 bHkpLgorLSAgICBpZiAoYWJzKG1pY3JvcykgKyBrUmVzb2x1dGlvbk1pY3JvcyA8IDEwMDApIHsK KysgICAgaWYgKHN0ZDo6YWJzKG1pY3JvcykgKyBrUmVzb2x1dGlvbk1pY3JvcyA8IDEwMDApIHsK KyAgICAgICByZXR1cm4gbm93X21pY3JvcyAvIDEwMDA7CisgICAgIH0KKyAgICAgcmV0dXJuIENs YW1wVGltZVJlc29sdXRpb24obm93X21pY3JvcykgLyAxMDAwOworZGlmZiAtdXAgY2hyb21pdW0t MTE5LjAuNjA0NS4xMDUvZ3B1L2NvbmZpZy9ncHVfZmVhdHVyZV9pbmZvLmgubWlzc2luZy1oZWFk ZXItZmlsZXMgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvZ3B1L2NvbmZpZy9ncHVfZmVhdHVyZV9p bmZvLmgKKy0tLSBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9ncHUvY29uZmlnL2dwdV9mZWF0dXJl X2luZm8uaC5taXNzaW5nLWhlYWRlci1maWxlcwkyMDIzLTExLTAxIDE5OjEwOjI4LjAwMDAwMDAw MCArMDEwMAorKysrIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L2dwdS9jb25maWcvZ3B1X2ZlYXR1 cmVfaW5mby5oCTIwMjMtMTEtMDYgMTQ6MzQ6MDEuODA5ODY5MDA0ICswMTAwCitAQCAtNyw2ICs3 LDcgQEAKKyAKKyAjaW5jbHVkZSA8c3RkaW50Lmg+CisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+Cisg I2luY2x1ZGUgPHN0cmluZz4KKyAjaW5jbHVkZSA8dmVjdG9yPgorIAorZGlmZiAtdXAgY2hyb21p dW0tMTE5LjAuNjA0NS4xMDUvbmV0L2Jhc2UvbmV0X2V4cG9ydC5oLm1pc3NpbmctaGVhZGVyLWZp bGVzIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L25ldC9iYXNlL25ldF9leHBvcnQuaAorLS0tIGNo cm9taXVtLTExOS4wLjYwNDUuMTA1L25ldC9iYXNlL25ldF9leHBvcnQuaC5taXNzaW5nLWhlYWRl ci1maWxlcwkyMDIzLTExLTAxIDE5OjEwOjMyLjAwMDAwMDAwMCArMDEwMAorKysrIGNocm9taXVt LTExOS4wLjYwNDUuMTA1L25ldC9iYXNlL25ldF9leHBvcnQuaAkyMDIzLTExLTA2IDE0OjM0OjAx LjgwOTg2OTAwNCArMDEwMAorQEAgLTUsNiArNSw4IEBACisgI2lmbmRlZiBORVRfQkFTRV9ORVRf RVhQT1JUX0hfCisgI2RlZmluZSBORVRfQkFTRV9ORVRfRVhQT1JUX0hfCisgCisrI2luY2x1ZGUg PGNzdGRpbnQ+CisrCisgLy8gRGVmaW5lcyBORVRfRVhQT1JUIHNvIHRoYXQgZnVuY3Rpb25hbGl0 eSBpbXBsZW1lbnRlZCBieSB0aGUgbmV0IG1vZHVsZSBjYW4KKyAvLyBiZSBleHBvcnRlZCB0byBj b25zdW1lcnMsIGFuZCBORVRfRVhQT1JUX1BSSVZBVEUgdGhhdCBhbGxvd3MgdW5pdCB0ZXN0cyB0 bworIC8vIGFjY2VzcyBmZWF0dXJlcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBi eSByZWFsIGNvbnN1bWVycy4KK2RpZmYgLXVwIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3BkZi9k b2N1bWVudF9hdHRhY2htZW50X2luZm8uaC5taXNzaW5nLWhlYWRlci1maWxlcyBjaHJvbWl1bS0x MTkuMC42MDQ1LjEwNS9wZGYvZG9jdW1lbnRfYXR0YWNobWVudF9pbmZvLmgKKy0tLSBjaHJvbWl1 bS0xMTkuMC42MDQ1LjEwNS9wZGYvZG9jdW1lbnRfYXR0YWNobWVudF9pbmZvLmgubWlzc2luZy1o ZWFkZXItZmlsZXMJMjAyMy0xMS0wMSAxOToxMDozNC4wMDAwMDAwMDAgKzAxMDAKKysrKyBjaHJv bWl1bS0xMTkuMC42MDQ1LjEwNS9wZGYvZG9jdW1lbnRfYXR0YWNobWVudF9pbmZvLmgJMjAyMy0x MS0wNiAxNDozNDowMS44MTU4NjkxMzIgKzAxMDAKK0BAIC03LDYgKzcsNyBAQAorIAorICNpbmNs dWRlIDxzdGRpbnQuaD4KKyAKKysjaW5jbHVkZSA8Y3N0ZGludD4KKyAjaW5jbHVkZSA8c3RyaW5n PgorIAorIAorZGlmZiAtdXAgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvc2FuZGJveC9saW51eC9z eXNjYWxsX2Jyb2tlci9icm9rZXJfZmlsZV9wZXJtaXNzaW9uLmgubWlzc2luZy1oZWFkZXItZmls ZXMgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9i cm9rZXJfZmlsZV9wZXJtaXNzaW9uLmgKKy0tLSBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9zYW5k Ym94L2xpbnV4L3N5c2NhbGxfYnJva2VyL2Jyb2tlcl9maWxlX3Blcm1pc3Npb24uaC5taXNzaW5n LWhlYWRlci1maWxlcwkyMDIzLTExLTAxIDE5OjEwOjM0LjAwMDAwMDAwMCArMDEwMAorKysrIGNo cm9taXVtLTExOS4wLjYwNDUuMTA1L3NhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvYnJva2Vy X2ZpbGVfcGVybWlzc2lvbi5oCTIwMjMtMTEtMDYgMTQ6MzQ6MDEuODA5ODY5MDA0ICswMTAwCitA QCAtNSw2ICs1LDcgQEAKKyAjaWZuZGVmIFNBTkRCT1hfTElOVVhfU1lTQ0FMTF9CUk9LRVJfQlJP S0VSX0ZJTEVfUEVSTUlTU0lPTl9IXworICNkZWZpbmUgU0FOREJPWF9MSU5VWF9TWVNDQUxMX0JS T0tFUl9CUk9LRVJfRklMRV9QRVJNSVNTSU9OX0hfCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+Cisg I2luY2x1ZGUgPGJpdHNldD4KKyAjaW5jbHVkZSA8Y3N0ZGludD4KKyAjaW5jbHVkZSA8c3RyaW5n PgorZGlmZiAtdXAgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvc2VydmljZXMvZGV2aWNlL3B1Ymxp Yy9jcHAvZ2VuZXJpY19zZW5zb3Ivc2Vuc29yX3JlYWRpbmcuaC5taXNzaW5nLWhlYWRlci1maWxl cyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9zZXJ2aWNlcy9kZXZpY2UvcHVibGljL2NwcC9nZW5l cmljX3NlbnNvci9zZW5zb3JfcmVhZGluZy5oCistLS0gY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUv c2VydmljZXMvZGV2aWNlL3B1YmxpYy9jcHAvZ2VuZXJpY19zZW5zb3Ivc2Vuc29yX3JlYWRpbmcu aC5taXNzaW5nLWhlYWRlci1maWxlcwkyMDIzLTExLTAxIDE5OjEwOjM1LjAwMDAwMDAwMCArMDEw MAorKysrIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3NlcnZpY2VzL2RldmljZS9wdWJsaWMvY3Bw L2dlbmVyaWNfc2Vuc29yL3NlbnNvcl9yZWFkaW5nLmgJMjAyMy0xMS0wNiAxNDozNDowMS44MjA4 NjkyMzggKzAxMDAKK0BAIC04LDYgKzgsOSBAQAorICNpbmNsdWRlIDxzdGRkZWYuaD4KKyAjaW5j bHVkZSA8c3RkaW50Lmg+CisgCisrI2luY2x1ZGUgPGNzdGRkZWY+CisrI2luY2x1ZGUgPGNzdGRp bnQ+CisrCisgI2luY2x1ZGUgPHR5cGVfdHJhaXRzPgorIAorIG5hbWVzcGFjZSBkZXZpY2Ugewor ZGlmZiAtdXAgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvc2tpYS9leHQvc2tjb2xvcnNwYWNlX3Ry Zm4uY2MubWlzc2luZy1oZWFkZXItZmlsZXMgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvc2tpYS9l eHQvc2tjb2xvcnNwYWNlX3RyZm4uY2MKKy0tLSBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9za2lh L2V4dC9za2NvbG9yc3BhY2VfdHJmbi5jYy5taXNzaW5nLWhlYWRlci1maWxlcwkyMDIzLTExLTAx IDE5OjEwOjM1LjAwMDAwMDAwMCArMDEwMAorKysrIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3Nr aWEvZXh0L3NrY29sb3JzcGFjZV90cmZuLmNjCTIwMjMtMTEtMDYgMTQ6MzQ6MDEuODE4ODY5MTk2 ICswMTAwCitAQCAtMyw2ICszLDcgQEAKKyAvLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgor IAorICNpbmNsdWRlICJza2lhL2V4dC9za2NvbG9yc3BhY2VfdHJmbi5oIgorKyNpbmNsdWRlIDxj bWF0aD4KKyAKKyAjaW5jbHVkZSA8Y21hdGg+CisgCitkaWZmIC11cCBjaHJvbWl1bS0xMTkuMC42 MDQ1LjEwNS90aGlyZF9wYXJ0eS9hYnNlaWwtY3BwL2Fic2wvc3RyaW5ncy9zdHJpbmdfdmlldy5o Lm1pc3NpbmctaGVhZGVyLWZpbGVzIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3RoaXJkX3BhcnR5 L2Fic2VpbC1jcHAvYWJzbC9zdHJpbmdzL3N0cmluZ192aWV3LmgKKy0tLSBjaHJvbWl1bS0xMTku MC42MDQ1LjEwNS90aGlyZF9wYXJ0eS9hYnNlaWwtY3BwL2Fic2wvc3RyaW5ncy9zdHJpbmdfdmll dy5oLm1pc3NpbmctaGVhZGVyLWZpbGVzCTIwMjMtMTEtMDEgMTk6MTA6MzYuMDAwMDAwMDAwICsw MTAwCisrKysgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvdGhpcmRfcGFydHkvYWJzZWlsLWNwcC9h YnNsL3N0cmluZ3Mvc3RyaW5nX3ZpZXcuaAkyMDIzLTExLTA2IDE0OjM0OjAxLjgwOTg2OTAwNCAr MDEwMAorQEAgLTI3LDYgKzI3LDcgQEAKKyAjaWZuZGVmIEFCU0xfU1RSSU5HU19TVFJJTkdfVklF V19IXworICNkZWZpbmUgQUJTTF9TVFJJTkdTX1NUUklOR19WSUVXX0hfCisgCisrI2luY2x1ZGUg PGNzdGRpbnQ+CisgI2luY2x1ZGUgPGFsZ29yaXRobT4KKyAjaW5jbHVkZSA8Y2Fzc2VydD4KKyAj aW5jbHVkZSA8Y3N0ZGRlZj4KK2RpZmYgLXVwIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3RoaXJk X3BhcnR5L2FuZ2xlL2luY2x1ZGUvR0xTTEFORy9TaGFkZXJWYXJzLmgubWlzc2luZy1oZWFkZXIt ZmlsZXMgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvdGhpcmRfcGFydHkvYW5nbGUvaW5jbHVkZS9H TFNMQU5HL1NoYWRlclZhcnMuaAorLS0tIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3RoaXJkX3Bh cnR5L2FuZ2xlL2luY2x1ZGUvR0xTTEFORy9TaGFkZXJWYXJzLmgubWlzc2luZy1oZWFkZXItZmls ZXMJMjAyMy0xMS0wMSAxOToxMTo1OS4wMDAwMDAwMDAgKzAxMDAKKysrKyBjaHJvbWl1bS0xMTku MC42MDQ1LjEwNS90aGlyZF9wYXJ0eS9hbmdsZS9pbmNsdWRlL0dMU0xBTkcvU2hhZGVyVmFycy5o CTIwMjMtMTEtMDYgMTQ6MzQ6MDEuODEwODY5MDI1ICswMTAwCitAQCAtMTAsNiArMTAsNyBAQAor ICNpZm5kZWYgR0xTTEFOR19TSEFERVJWQVJTX0hfCisgI2RlZmluZSBHTFNMQU5HX1NIQURFUlZB UlNfSF8KKyAKKysjaW5jbHVkZSA8Y3N0ZGludD4KKyAjaW5jbHVkZSA8YWxnb3JpdGhtPgorICNp bmNsdWRlIDxhcnJheT4KKyAjaW5jbHVkZSA8Y3N0ZGludD4KK2RpZmYgLXVwIGNocm9taXVtLTEx OS4wLjYwNDUuMTA1L3RoaXJkX3BhcnR5L2JsaW5rL3B1YmxpYy9jb21tb24vYmx1ZXRvb3RoL3dl Yl9ibHVldG9vdGhfZGV2aWNlX2lkLmgubWlzc2luZy1oZWFkZXItZmlsZXMgY2hyb21pdW0tMTE5 LjAuNjA0NS4xMDUvdGhpcmRfcGFydHkvYmxpbmsvcHVibGljL2NvbW1vbi9ibHVldG9vdGgvd2Vi X2JsdWV0b290aF9kZXZpY2VfaWQuaAorLS0tIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3RoaXJk X3BhcnR5L2JsaW5rL3B1YmxpYy9jb21tb24vYmx1ZXRvb3RoL3dlYl9ibHVldG9vdGhfZGV2aWNl X2lkLmgubWlzc2luZy1oZWFkZXItZmlsZXMJMjAyMy0xMS0wMSAxOToxMDozNy4wMDAwMDAwMDAg KzAxMDAKKysrKyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90aGlyZF9wYXJ0eS9ibGluay9wdWJs aWMvY29tbW9uL2JsdWV0b290aC93ZWJfYmx1ZXRvb3RoX2RldmljZV9pZC5oCTIwMjMtMTEtMDYg MTQ6MzQ6MDEuODEwODY5MDI1ICswMTAwCitAQCAtNyw2ICs3LDcgQEAKKyAKKyAjaW5jbHVkZSA8 c3RkaW50Lmg+CisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUgPGFycmF5PgorICNp bmNsdWRlIDxjc3RkaW50PgorICNpbmNsdWRlIDxmdW5jdGlvbmFsPgorZGlmZiAtdXAgY2hyb21p dW0tMTE5LjAuNjA0NS4xMDUvdGhpcmRfcGFydHkvZGF3bi9zcmMvdGludC9sYW5nL3NwaXJ2L3Jl YWRlci9hc3RfcGFyc2VyL25hbWVyLmgubWlzc2luZy1oZWFkZXItZmlsZXMgY2hyb21pdW0tMTE5 LjAuNjA0NS4xMDUvdGhpcmRfcGFydHkvZGF3bi9zcmMvdGludC9sYW5nL3NwaXJ2L3JlYWRlci9h c3RfcGFyc2VyL25hbWVyLmgKKy0tLSBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90aGlyZF9wYXJ0 eS9kYXduL3NyYy90aW50L2xhbmcvc3BpcnYvcmVhZGVyL2FzdF9wYXJzZXIvbmFtZXIuaC5taXNz aW5nLWhlYWRlci1maWxlcwkyMDIzLTExLTAxIDE5OjEzOjUwLjAwMDAwMDAwMCArMDEwMAorKysr IGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3RoaXJkX3BhcnR5L2Rhd24vc3JjL3RpbnQvbGFuZy9z cGlydi9yZWFkZXIvYXN0X3BhcnNlci9uYW1lci5oCTIwMjMtMTEtMDYgMTQ6MzQ6MDEuODEwODY5 MDI1ICswMTAwCitAQCAtMTUsNiArMTUsNyBAQAorICNpZm5kZWYgU1JDX1RJTlRfTEFOR19TUElS Vl9SRUFERVJfQVNUX1BBUlNFUl9OQU1FUl9IXworICNkZWZpbmUgU1JDX1RJTlRfTEFOR19TUElS Vl9SRUFERVJfQVNUX1BBUlNFUl9OQU1FUl9IXworIAorKyNpbmNsdWRlIDxjc3RkaW50PgorICNp bmNsdWRlIDxzdHJpbmc+CisgI2luY2x1ZGUgPHVub3JkZXJlZF9tYXA+CisgI2luY2x1ZGUgPHZl Y3Rvcj4KK2RpZmYgLXVwIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3RoaXJkX3BhcnR5L2lwY3ov c3JjL2lwY3ovcm91dGVyX2xpbmsuaC5taXNzaW5nLWhlYWRlci1maWxlcyBjaHJvbWl1bS0xMTku MC42MDQ1LjEwNS90aGlyZF9wYXJ0eS9pcGN6L3NyYy9pcGN6L3JvdXRlcl9saW5rLmgKKy0tLSBj aHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90aGlyZF9wYXJ0eS9pcGN6L3NyYy9pcGN6L3JvdXRlcl9s aW5rLmgubWlzc2luZy1oZWFkZXItZmlsZXMJMjAyMy0xMS0wMSAxOToxMToyMC4wMDAwMDAwMDAg KzAxMDAKKysrKyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90aGlyZF9wYXJ0eS9pcGN6L3NyYy9p cGN6L3JvdXRlcl9saW5rLmgJMjAyMy0xMS0wNiAxNDozNDowMS44MTk4NjkyMTcgKzAxMDAKK0BA IC01LDYgKzUsNyBAQAorICNpZm5kZWYgSVBDWl9TUkNfSVBDWl9ST1VURVJfTElOS19IXworICNk ZWZpbmUgSVBDWl9TUkNfSVBDWl9ST1VURVJfTElOS19IXworIAorKyNpbmNsdWRlIDxtZW1vcnk+ CisgI2luY2x1ZGUgPGNzdGRkZWY+CisgI2luY2x1ZGUgPGZ1bmN0aW9uYWw+CisgI2luY2x1ZGUg PG1lbW9yeT4KK2RpZmYgLXVwIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3RoaXJkX3BhcnR5L21h dGVyaWFsX2NvbG9yX3V0aWxpdGllcy9zcmMvY3BwL3BhbGV0dGVzL3RvbmVzLmNjLm1pc3Npbmct aGVhZGVyLWZpbGVzIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3RoaXJkX3BhcnR5L21hdGVyaWFs X2NvbG9yX3V0aWxpdGllcy9zcmMvY3BwL3BhbGV0dGVzL3RvbmVzLmNjCistLS0gY2hyb21pdW0t MTE5LjAuNjA0NS4xMDUvdGhpcmRfcGFydHkvbWF0ZXJpYWxfY29sb3JfdXRpbGl0aWVzL3NyYy9j cHAvcGFsZXR0ZXMvdG9uZXMuY2MubWlzc2luZy1oZWFkZXItZmlsZXMJMjAyMy0xMS0wMSAxOTox MTo1My4wMDAwMDAwMDAgKzAxMDAKKysrKyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90aGlyZF9w YXJ0eS9tYXRlcmlhbF9jb2xvcl91dGlsaXRpZXMvc3JjL2NwcC9wYWxldHRlcy90b25lcy5jYwky MDIzLTExLTA2IDE0OjM0OjAxLjgxOTg2OTIxNyArMDEwMAorQEAgLTE0LDYgKzE0LDcgQEAKKyAg KiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAgKi8KKyAKKysjaW5jbHVkZSA8Y21h dGg+CisgI2luY2x1ZGUgImNwcC9wYWxldHRlcy90b25lcy5oIgorIAorICNpbmNsdWRlICJjcHAv Y2FtL2NhbS5oIgorZGlmZiAtdXAgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvdGhpcmRfcGFydHkv b3BlbnNjcmVlbi9zcmMvZGlzY292ZXJ5L2Ruc3NkL3B1YmxpYy9kbnNfc2RfdHh0X3JlY29yZC5o Lm1pc3NpbmctaGVhZGVyLWZpbGVzIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3RoaXJkX3BhcnR5 L29wZW5zY3JlZW4vc3JjL2Rpc2NvdmVyeS9kbnNzZC9wdWJsaWMvZG5zX3NkX3R4dF9yZWNvcmQu aAorLS0tIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3RoaXJkX3BhcnR5L29wZW5zY3JlZW4vc3Jj L2Rpc2NvdmVyeS9kbnNzZC9wdWJsaWMvZG5zX3NkX3R4dF9yZWNvcmQuaC5taXNzaW5nLWhlYWRl ci1maWxlcwkyMDIzLTExLTAxIDE5OjExOjU5LjAwMDAwMDAwMCArMDEwMAorKysrIGNocm9taXVt LTExOS4wLjYwNDUuMTA1L3RoaXJkX3BhcnR5L29wZW5zY3JlZW4vc3JjL2Rpc2NvdmVyeS9kbnNz ZC9wdWJsaWMvZG5zX3NkX3R4dF9yZWNvcmQuaAkyMDIzLTExLTA2IDE0OjM0OjAxLjgxMDg2OTAy NSArMDEwMAorQEAgLTcsNiArNyw3IEBACisgCisgI2luY2x1ZGUgPHN0ZGludC5oPgorIAorKyNp bmNsdWRlIDxjc3RkaW50PgorICNpbmNsdWRlIDxmdW5jdGlvbmFsPgorICNpbmNsdWRlIDxtYXA+ CisgI2luY2x1ZGUgPHNldD4KK2RpZmYgLXVwIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3RoaXJk X3BhcnR5L3BkZml1bS9jb25zdGFudHMvYW5ub3RhdGlvbl9mbGFncy5oLm1pc3NpbmctaGVhZGVy LWZpbGVzIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3RoaXJkX3BhcnR5L3BkZml1bS9jb25zdGFu dHMvYW5ub3RhdGlvbl9mbGFncy5oCistLS0gY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvdGhpcmRf cGFydHkvcGRmaXVtL2NvbnN0YW50cy9hbm5vdGF0aW9uX2ZsYWdzLmgubWlzc2luZy1oZWFkZXIt ZmlsZXMJMjAyMy0xMS0wMSAxOToxNDo0OC4wMDAwMDAwMDAgKzAxMDAKKysrKyBjaHJvbWl1bS0x MTkuMC42MDQ1LjEwNS90aGlyZF9wYXJ0eS9wZGZpdW0vY29uc3RhbnRzL2Fubm90YXRpb25fZmxh Z3MuaAkyMDIzLTExLTA2IDE0OjM0OjAxLjgxNTg2OTEzMiArMDEwMAorQEAgLTcsNiArNyw4IEBA CisgCisgI2luY2x1ZGUgPHN0ZGludC5oPgorIAorKyNpbmNsdWRlIDxjc3RkaW50PgorKworIG5h bWVzcGFjZSBwZGZpdW0geworIG5hbWVzcGFjZSBhbm5vdGF0aW9uX2ZsYWdzIHsKKyAKK2RpZmYg LXVwIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3RoaXJkX3BhcnR5L3J1eS9zcmMvcnV5L3Byb2Zp bGVyL2luc3RydW1lbnRhdGlvbi5oLm1pc3NpbmctaGVhZGVyLWZpbGVzIGNocm9taXVtLTExOS4w LjYwNDUuMTA1L3RoaXJkX3BhcnR5L3J1eS9zcmMvcnV5L3Byb2ZpbGVyL2luc3RydW1lbnRhdGlv bi5oCistLS0gY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvdGhpcmRfcGFydHkvcnV5L3NyYy9ydXkv cHJvZmlsZXIvaW5zdHJ1bWVudGF0aW9uLmgubWlzc2luZy1oZWFkZXItZmlsZXMJMjAyMy0xMS0w MSAxOToxMjowMi4wMDAwMDAwMDAgKzAxMDAKKysrKyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90 aGlyZF9wYXJ0eS9ydXkvc3JjL3J1eS9wcm9maWxlci9pbnN0cnVtZW50YXRpb24uaAkyMDIzLTEx LTA2IDE0OjM0OjAxLjgxMzg2OTA4OSArMDEwMAorQEAgLTE3LDYgKzE3LDcgQEAgbGltaXRhdGlv bnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgI2RlZmluZSBSVVlfUlVZX1BST0ZJTEVSX0lOU1RSVU1F TlRBVElPTl9IXworIAorICNpZmRlZiBSVVlfUFJPRklMRVIKKysjaW5jbHVkZSA8c3RyaW5nPgor ICNpbmNsdWRlIDxjc3RkaW8+CisgI2luY2x1ZGUgPG11dGV4PgorICNpbmNsdWRlIDx2ZWN0b3I+ CitkaWZmIC11cCBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90aGlyZF9wYXJ0eS9zd2lmdHNoYWRl ci9zcmMvU3lzdGVtL0xSVUNhY2hlLmhwcC5taXNzaW5nLWhlYWRlci1maWxlcyBjaHJvbWl1bS0x MTkuMC42MDQ1LjEwNS90aGlyZF9wYXJ0eS9zd2lmdHNoYWRlci9zcmMvU3lzdGVtL0xSVUNhY2hl LmhwcAorLS0tIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3RoaXJkX3BhcnR5L3N3aWZ0c2hhZGVy L3NyYy9TeXN0ZW0vTFJVQ2FjaGUuaHBwLm1pc3NpbmctaGVhZGVyLWZpbGVzCTIwMjMtMTEtMDEg MTk6MTI6MTUuMDAwMDAwMDAwICswMTAwCisrKysgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvdGhp cmRfcGFydHkvc3dpZnRzaGFkZXIvc3JjL1N5c3RlbS9MUlVDYWNoZS5ocHAJMjAyMy0xMS0wNiAx NDozNDowMS44MTA4NjkwMjUgKzAxMDAKK0BAIC0xNyw2ICsxNyw3IEBACisgCisgI2luY2x1ZGUg IlN5c3RlbS9EZWJ1Zy5ocHAiCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUgPGNz dGRkZWY+CisgI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUgPGZ1bmN0aW9uYWw+CitkaWZm IC11cCBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90aGlyZF9wYXJ0eS9zd2lmdHNoYWRlci90aGly ZF9wYXJ0eS9sbHZtLTEwLjAvbGx2bS9saWIvU3VwcG9ydC9Vbml4L1NpZ25hbHMuaW5jLm1pc3Np bmctaGVhZGVyLWZpbGVzIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3RoaXJkX3BhcnR5L3N3aWZ0 c2hhZGVyL3RoaXJkX3BhcnR5L2xsdm0tMTAuMC9sbHZtL2xpYi9TdXBwb3J0L1VuaXgvU2lnbmFs cy5pbmMKKy0tLSBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90aGlyZF9wYXJ0eS9zd2lmdHNoYWRl ci90aGlyZF9wYXJ0eS9sbHZtLTEwLjAvbGx2bS9saWIvU3VwcG9ydC9Vbml4L1NpZ25hbHMuaW5j Lm1pc3NpbmctaGVhZGVyLWZpbGVzCTIwMjMtMTEtMDEgMTk6MTI6NDIuMDAwMDAwMDAwICswMTAw CisrKysgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvdGhpcmRfcGFydHkvc3dpZnRzaGFkZXIvdGhp cmRfcGFydHkvbGx2bS0xMC4wL2xsdm0vbGliL1N1cHBvcnQvVW5peC9TaWduYWxzLmluYwkyMDIz LTExLTA2IDE0OjM0OjAxLjgxNDg2OTExMCArMDEwMAorQEAgLTQ1LDYgKzQ1LDcgQEAKKyAjaW5j bHVkZSAibGx2bS9TdXBwb3J0L1NhdmVBbmRSZXN0b3JlLmgiCisgI2luY2x1ZGUgImxsdm0vU3Vw cG9ydC9yYXdfb3N0cmVhbS5oIgorICNpbmNsdWRlIDxhbGdvcml0aG0+CisrI2luY2x1ZGUgPGNz dGRpbnQ+CisgI2luY2x1ZGUgPHN0cmluZz4KKyAjaW5jbHVkZSA8c3lzZXhpdHMuaD4KKyAjaWZk ZWYgSEFWRV9CQUNLVFJBQ0UKK2RpZmYgLXVwIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3RoaXJk X3BhcnR5L3RmbGl0ZS9zcmMvdGVuc29yZmxvdy9saXRlL2tlcm5lbHMvaW50ZXJuYWwvc3BlY3Ry b2dyYW0uaC5taXNzaW5nLWhlYWRlci1maWxlcyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90aGly ZF9wYXJ0eS90ZmxpdGUvc3JjL3RlbnNvcmZsb3cvbGl0ZS9rZXJuZWxzL2ludGVybmFsL3NwZWN0 cm9ncmFtLmgKKy0tLSBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90aGlyZF9wYXJ0eS90ZmxpdGUv c3JjL3RlbnNvcmZsb3cvbGl0ZS9rZXJuZWxzL2ludGVybmFsL3NwZWN0cm9ncmFtLmgubWlzc2lu Zy1oZWFkZXItZmlsZXMJMjAyMy0xMS0wMSAxOToxMzoyMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBj aHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90aGlyZF9wYXJ0eS90ZmxpdGUvc3JjL3RlbnNvcmZsb3cv bGl0ZS9rZXJuZWxzL2ludGVybmFsL3NwZWN0cm9ncmFtLmgJMjAyMy0xMS0wNiAxNDozNDowMS44 MTM4NjkwODkgKzAxMDAKK0BAIC0zMSw2ICszMSw3IEBAIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBM aWNlbnNlLgorICNpZm5kZWYgVEVOU09SRkxPV19MSVRFX0tFUk5FTFNfSU5URVJOQUxfU1BFQ1RS T0dSQU1fSF8KKyAjZGVmaW5lIFRFTlNPUkZMT1dfTElURV9LRVJORUxTX0lOVEVSTkFMX1NQRUNU Uk9HUkFNX0hfCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUgPGNvbXBsZXg+Cisg I2luY2x1ZGUgPGRlcXVlPgorICNpbmNsdWRlIDx2ZWN0b3I+CitkaWZmIC11cCBjaHJvbWl1bS0x MTkuMC42MDQ1LjEwNS90aGlyZF9wYXJ0eS92dWxrYW4tZGVwcy92dWxrYW4tdmFsaWRhdGlvbi1s YXllcnMvc3JjL2xheWVycy9leHRlcm5hbC92bWEvdmtfbWVtX2FsbG9jLmgubWlzc2luZy1oZWFk ZXItZmlsZXMgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvdGhpcmRfcGFydHkvdnVsa2FuLWRlcHMv dnVsa2FuLXZhbGlkYXRpb24tbGF5ZXJzL3NyYy9sYXllcnMvZXh0ZXJuYWwvdm1hL3ZrX21lbV9h bGxvYy5oCistLS0gY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvdGhpcmRfcGFydHkvdnVsa2FuLWRl cHMvdnVsa2FuLXZhbGlkYXRpb24tbGF5ZXJzL3NyYy9sYXllcnMvZXh0ZXJuYWwvdm1hL3ZrX21l bV9hbGxvYy5oLm1pc3NpbmctaGVhZGVyLWZpbGVzCTIwMjMtMTEtMDEgMTk6MTI6NDUuMDAwMDAw MDAwICswMTAwCisrKysgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvdGhpcmRfcGFydHkvdnVsa2Fu LWRlcHMvdnVsa2FuLXZhbGlkYXRpb24tbGF5ZXJzL3NyYy9sYXllcnMvZXh0ZXJuYWwvdm1hL3Zr X21lbV9hbGxvYy5oCTIwMjMtMTEtMDYgMTQ6MzQ6MDEuODE3ODY5MTc0ICswMTAwCitAQCAtMjg4 NCw2ICsyODg0LDcgQEAgc3RhdGljIHZvaWQgdm1hX2FsaWduZWRfZnJlZSh2b2lkKiBWTUFfTgor IAorIC8vIERlZmluZSB0aGlzIG1hY3JvIHRvIDEgdG8gZW5hYmxlIGZ1bmN0aW9uczogdm1hQnVp bGRTdGF0c1N0cmluZywgdm1hRnJlZVN0YXRzU3RyaW5nLgorICNpZiBWTUFfU1RBVFNfU1RSSU5H X0VOQUJMRUQKKysjaW5jbHVkZSA8c3RkaW8uaD4KKyAgICAgc3RhdGljIGlubGluZSB2b2lkIFZt YVVpbnQzMlRvU3RyKGNoYXIqIFZNQV9OT1RfTlVMTCBvdXRTdHIsIHNpemVfdCBzdHJMZW4sIHVp bnQzMl90IG51bSkKKyAgICAgeworICAgICAgICAgc25wcmludGYob3V0U3RyLCBzdHJMZW4sICIl dSIsIHN0YXRpY19jYXN0PHVuc2lnbmVkIGludD4obnVtKSk7CitkaWZmIC11cCBjaHJvbWl1bS0x MTkuMC42MDQ1LjEwNS90aGlyZF9wYXJ0eS93ZWJydGMvYXVkaW8vdXRpbGl0eS9jaGFubmVsX21p eGVyLmNjLm1pc3NpbmctaGVhZGVyLWZpbGVzIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3RoaXJk X3BhcnR5L3dlYnJ0Yy9hdWRpby91dGlsaXR5L2NoYW5uZWxfbWl4ZXIuY2MKKy0tLSBjaHJvbWl1 bS0xMTkuMC42MDQ1LjEwNS90aGlyZF9wYXJ0eS93ZWJydGMvYXVkaW8vdXRpbGl0eS9jaGFubmVs X21peGVyLmNjLm1pc3NpbmctaGVhZGVyLWZpbGVzCTIwMjMtMTEtMDEgMTk6MTQ6MDUuMDAwMDAw MDAwICswMTAwCisrKysgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvdGhpcmRfcGFydHkvd2VicnRj L2F1ZGlvL3V0aWxpdHkvY2hhbm5lbF9taXhlci5jYwkyMDIzLTExLTA2IDE0OjM0OjAxLjgxOTg2 OTIxNyArMDEwMAorQEAgLTgsNiArOCw4IEBACisgICogIGJlIGZvdW5kIGluIHRoZSBBVVRIT1JT IGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZSB0cmVlLgorICAqLworIAorKyNpbmNsdWRl IDxjc3RyaW5nPgorKworICNpbmNsdWRlICJhdWRpby91dGlsaXR5L2NoYW5uZWxfbWl4ZXIuaCIK KyAKKyAjaW5jbHVkZSAiYXVkaW8vdXRpbGl0eS9jaGFubmVsX21peGluZ19tYXRyaXguaCIKK2Rp ZmYgLXVwIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3RoaXJkX3BhcnR5L3dlYnJ0Yy9jb21tb25f dmlkZW8vaDI2NC9zcHNfcGFyc2VyLmgubWlzc2luZy1oZWFkZXItZmlsZXMgY2hyb21pdW0tMTE5 LjAuNjA0NS4xMDUvdGhpcmRfcGFydHkvd2VicnRjL2NvbW1vbl92aWRlby9oMjY0L3Nwc19wYXJz ZXIuaAorLS0tIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3RoaXJkX3BhcnR5L3dlYnJ0Yy9jb21t b25fdmlkZW8vaDI2NC9zcHNfcGFyc2VyLmgubWlzc2luZy1oZWFkZXItZmlsZXMJMjAyMy0xMS0w MSAxOToxNDowNi4wMDAwMDAwMDAgKzAxMDAKKysrKyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90 aGlyZF9wYXJ0eS93ZWJydGMvY29tbW9uX3ZpZGVvL2gyNjQvc3BzX3BhcnNlci5oCTIwMjMtMTEt MDYgMTQ6MzQ6MDEuODE5ODY5MjE3ICswMTAwCitAQCAtMTEsNiArMTEsNyBAQAorICNpZm5kZWYg Q09NTU9OX1ZJREVPX0gyNjRfU1BTX1BBUlNFUl9IXworICNkZWZpbmUgQ09NTU9OX1ZJREVPX0gy NjRfU1BTX1BBUlNFUl9IXworIAorKyNpbmNsdWRlIDxjc3RkaW50PgorICNpbmNsdWRlICJhYnNs L3R5cGVzL29wdGlvbmFsLmgiCisgI2luY2x1ZGUgInJ0Y19iYXNlL2JpdHN0cmVhbV9yZWFkZXIu aCIKKyAKK2RpZmYgLXVwIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3RoaXJkX3BhcnR5L3dlYnJ0 Yy9tb2R1bGVzL2luY2x1ZGUvbW9kdWxlX2NvbW1vbl90eXBlc19wdWJsaWMuaC5taXNzaW5nLWhl YWRlci1maWxlcyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90aGlyZF9wYXJ0eS93ZWJydGMvbW9k dWxlcy9pbmNsdWRlL21vZHVsZV9jb21tb25fdHlwZXNfcHVibGljLmgKKy0tLSBjaHJvbWl1bS0x MTkuMC42MDQ1LjEwNS90aGlyZF9wYXJ0eS93ZWJydGMvbW9kdWxlcy9pbmNsdWRlL21vZHVsZV9j b21tb25fdHlwZXNfcHVibGljLmgubWlzc2luZy1oZWFkZXItZmlsZXMJMjAyMy0xMS0wMSAxOTox NDoxMS4wMDAwMDAwMDAgKzAxMDAKKysrKyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90aGlyZF9w YXJ0eS93ZWJydGMvbW9kdWxlcy9pbmNsdWRlL21vZHVsZV9jb21tb25fdHlwZXNfcHVibGljLmgJ MjAyMy0xMS0wNiAxNDozNDowMS44MTk4NjkyMTcgKzAxMDAKK0BAIC0xMSw2ICsxMSw3IEBACisg I2lmbmRlZiBNT0RVTEVTX0lOQ0xVREVfTU9EVUxFX0NPTU1PTl9UWVBFU19QVUJMSUNfSF8KKyAj ZGVmaW5lIE1PRFVMRVNfSU5DTFVERV9NT0RVTEVfQ09NTU9OX1RZUEVTX1BVQkxJQ19IXworIAor KyNpbmNsdWRlIDxjc3RkaW50PgorICNpbmNsdWRlIDxsaW1pdHM+CisgCisgI2luY2x1ZGUgImFi c2wvdHlwZXMvb3B0aW9uYWwuaCIKK2RpZmYgLXVwIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3Ro aXJkX3BhcnR5L3dlYnJ0Yy9tb2R1bGVzL3ZpZGVvX2NvZGluZy91dGlsaXR5L2l2Zl9maWxlX3Jl YWRlci5jYy5taXNzaW5nLWhlYWRlci1maWxlcyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90aGly ZF9wYXJ0eS93ZWJydGMvbW9kdWxlcy92aWRlb19jb2RpbmcvdXRpbGl0eS9pdmZfZmlsZV9yZWFk ZXIuY2MKKy0tLSBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90aGlyZF9wYXJ0eS93ZWJydGMvbW9k dWxlcy92aWRlb19jb2RpbmcvdXRpbGl0eS9pdmZfZmlsZV9yZWFkZXIuY2MubWlzc2luZy1oZWFk ZXItZmlsZXMJMjAyMy0xMS0wMSAxOToxNDoxMi4wMDAwMDAwMDAgKzAxMDAKKysrKyBjaHJvbWl1 bS0xMTkuMC42MDQ1LjEwNS90aGlyZF9wYXJ0eS93ZWJydGMvbW9kdWxlcy92aWRlb19jb2Rpbmcv dXRpbGl0eS9pdmZfZmlsZV9yZWFkZXIuY2MJMjAyMy0xMS0wNiAxNDozNDowMS44MTk4NjkyMTcg KzAxMDAKK0BAIC0xMCw2ICsxMCw3IEBACisgCisgI2luY2x1ZGUgIm1vZHVsZXMvdmlkZW9fY29k aW5nL3V0aWxpdHkvaXZmX2ZpbGVfcmVhZGVyLmgiCisgCisrI2luY2x1ZGUgPGNzdHJpbmc+Cisg I2luY2x1ZGUgPHN0cmluZz4KKyAjaW5jbHVkZSA8dmVjdG9yPgorIAorZGlmZiAtdXAgY2hyb21p dW0tMTE5LjAuNjA0NS4xMDUvdWkvYmFzZS9wcmVkaWN0aW9uL2thbG1hbl9maWx0ZXIuaC5taXNz aW5nLWhlYWRlci1maWxlcyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS91aS9iYXNlL3ByZWRpY3Rp b24va2FsbWFuX2ZpbHRlci5oCistLS0gY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvdWkvYmFzZS9w cmVkaWN0aW9uL2thbG1hbl9maWx0ZXIuaC5taXNzaW5nLWhlYWRlci1maWxlcwkyMDIzLTExLTAx IDE5OjExOjI4LjAwMDAwMDAwMCArMDEwMAorKysrIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3Vp L2Jhc2UvcHJlZGljdGlvbi9rYWxtYW5fZmlsdGVyLmgJMjAyMy0xMS0wNiAxNDozNDowMS44MTQ4 NjkxMTAgKzAxMDAKK0BAIC03LDYgKzcsOCBAQAorIAorICNpbmNsdWRlIDxzdGRpbnQuaD4KKyAK KysjaW5jbHVkZSA8Y3N0ZGludD4KKysKKyAjaW5jbHVkZSAiYmFzZS9jb21wb25lbnRfZXhwb3J0 LmgiCisgI2luY2x1ZGUgInVpL2dmeC9nZW9tZXRyeS9tYXRyaXgzX2YuaCIKKyAKK2RpZmYgLXVw IGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3VpL2dmeC9nZW9tZXRyeS9saW5lYXJfZ3JhZGllbnQu aC5taXNzaW5nLWhlYWRlci1maWxlcyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS91aS9nZngvZ2Vv bWV0cnkvbGluZWFyX2dyYWRpZW50LmgKKy0tLSBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS91aS9n ZngvZ2VvbWV0cnkvbGluZWFyX2dyYWRpZW50LmgubWlzc2luZy1oZWFkZXItZmlsZXMJMjAyMy0x MS0wMSAxOToxMToyOC4wMDAwMDAwMDAgKzAxMDAKKysrKyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEw NS91aS9nZngvZ2VvbWV0cnkvbGluZWFyX2dyYWRpZW50LmgJMjAyMy0xMS0wNiAxNDozNDowMS44 MTI4NjkwNjggKzAxMDAKK0BAIC03LDYgKzcsNyBAQAorIAorICNpbmNsdWRlIDxzdGRpbnQuaD4K KyAKKysjaW5jbHVkZSA8Y3N0ZGludD4KKyAjaW5jbHVkZSA8YXJyYXk+CisgI2luY2x1ZGUgPGNz dGRkZWY+CisgI2luY2x1ZGUgPGNzdGRpbnQ+CitkaWZmIC11cCBjaHJvbWl1bS0xMTkuMC42MDQ1 LjEwNS91aS9nZngvbGludXgvZHJtX3V0aWxfbGludXguaC5taXNzaW5nLWhlYWRlci1maWxlcyBj aHJvbWl1bS0xMTkuMC42MDQ1LjEwNS91aS9nZngvbGludXgvZHJtX3V0aWxfbGludXguaAorLS0t IGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3VpL2dmeC9saW51eC9kcm1fdXRpbF9saW51eC5oLm1p c3NpbmctaGVhZGVyLWZpbGVzCTIwMjMtMTEtMDEgMTk6MTE6MjguMDAwMDAwMDAwICswMTAwCisr KysgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvdWkvZ2Z4L2xpbnV4L2RybV91dGlsX2xpbnV4LmgJ MjAyMy0xMS0wNiAxNDozNDowMS44MTk4NjkyMTcgKzAxMDAKK0BAIC05LDYgKzksOCBAQAorIAor ICNpbmNsdWRlICJ1aS9nZngvYnVmZmVyX3R5cGVzLmgiCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+ CisrCisgbmFtZXNwYWNlIHVpIHsKKyAKKyBpbnQgR2V0Rm91ckNDRm9ybWF0RnJvbUJ1ZmZlckZv cm1hdChnZng6OkJ1ZmZlckZvcm1hdCBmb3JtYXQpOwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJv bWl1bS9wYXRjaGVzL2Nocm9taXVtLTEyMS1tbmVtb25pYy1lcnJvci5wYXRjaCBiL3NyY3BrZ3Mv Y2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0xMjEtbW5lbW9uaWMtZXJyb3IucGF0Y2gKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMC4uNjEyMzllN2YwMjI3NgotLS0gL2Rl di9udWxsCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0xMjEtbW5lbW9u aWMtZXJyb3IucGF0Y2gKQEAgLTAsMCArMSwxMiBAQAorZGlmZiAtdXAgY2hyb21pdW0tMTIxLjAu NjE2Ny4xNi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL0JVSUxELmduLm1uZW1vbmlj LWVycm9yIGNocm9taXVtLTEyMS4wLjYxNjcuMTYvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIv Y29yZS9CVUlMRC5nbgorLS0tIGNocm9taXVtLTEyMS4wLjYxNjcuMTYvdGhpcmRfcGFydHkvYmxp bmsvcmVuZGVyZXIvY29yZS9CVUlMRC5nbi5tbmVtb25pYy1lcnJvcgkyMDIzLTEyLTE5IDE4OjE0 OjQzLjAyNzcyMzgzMiArMDEwMAorKysrIGNocm9taXVtLTEyMS4wLjYxNjcuMTYvdGhpcmRfcGFy dHkvYmxpbmsvcmVuZGVyZXIvY29yZS9CVUlMRC5nbgkyMDIzLTEyLTE5IDE4OjM5OjQ3LjQ5MjM4 NDYyMCArMDEwMAorQEAgLTE3MzEsOCArMTczMSw2IEBAIGFjdGlvbl9mb3JlYWNoKCJlbGVtZW50 X2xvY2F0b3JfdGVzdF9wcm8KKyAgIHB5dGhvbl9wYXRoX3Jvb3QgPSAiJHtyb290X291dF9kaXJ9 L3B5cHJvdG8iCisgICBweXRob25fcGF0aF9wcm90byA9ICIke3B5dGhvbl9wYXRoX3Jvb3R9L3Ro aXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvbGNwX2NyaXRpY2FsX3BhdGhfcHJlZGljdG9y IgorIAorLSAgbW5lbW9uaWMgPSAiRUxPQ19QUk9UTyIKKy0KKyAgIHNvdXJjZV9kaXIgPSAibGNw X2NyaXRpY2FsX3BhdGhfcHJlZGljdG9yL3Rlc3RfcHJvdG8iCisgICBzb3VyY2VzID0gcmViYXNl X3BhdGgoWyAibGNwX2ltYWdlX2lkLmFzY2lpcGIiIF0sICIiLCBzb3VyY2VfZGlyKQorICAgc291 cmNlcyArPSByZWJhc2VfcGF0aChbICJsY3BfaW1hZ2VfaWRfYi5hc2NpaXBiIiBdLCAiIiwgc291 cmNlX2RpcikKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0x MjAtbm9fbWF0Y2hpbmdfY29uc3RydWN0b3IucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNo ZXMvY2hyb21pdW0tMTIxLW5vX21hdGNoaW5nX2NvbnN0cnVjdG9yLnBhdGNoCnNpbWlsYXJpdHkg aW5kZXggNzUlCnJlbmFtZSBmcm9tIHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0x MjAtbm9fbWF0Y2hpbmdfY29uc3RydWN0b3IucGF0Y2gKcmVuYW1lIHRvIHNyY3BrZ3MvY2hyb21p dW0vcGF0Y2hlcy9jaHJvbWl1bS0xMjEtbm9fbWF0Y2hpbmdfY29uc3RydWN0b3IucGF0Y2gKaW5k ZXggYjFkOTg3YWRlZmY4ZC4uMzMyYTkxYWQwNmIzZCAxMDA2NDQKLS0tIGEvc3JjcGtncy9jaHJv bWl1bS9wYXRjaGVzL2Nocm9taXVtLTEyMC1ub19tYXRjaGluZ19jb25zdHJ1Y3Rvci5wYXRjaAor KysgYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTIxLW5vX21hdGNoaW5nX2Nv bnN0cnVjdG9yLnBhdGNoCkBAIC0xMTQsOSArMTE0LDkgQEAgZGlmZiAtdXAgY2hyb21pdW0tMTIw LjAuNjA5OS41Ni9jaHJvbWUvYnJvd3Nlci91aS92aWV3cy9wZXJtaXNzaW9ucy9lbWJlZGRlZF9w ZXIKICsgICAgICAgIEJ1dHRvblR5cGU6OmtBbGxvd1RoaXNUaW1lLCB1aTo6QnV0dG9uU3R5bGU6 OmtUb25hbH07CiAgICB9CiAtICBidXR0b25zLmVtcGxhY2VfYmFjayhsMTBuX3V0aWw6OkdldFN0 cmluZ1VURjE2KElEU19QRVJNSVNTSU9OX0FMTE9XKSwKLS0gICAgICAgICAgICAgICAgICAgICAg IEJ1dHRvblR5cGU6OmtBbGxvdywgdWk6OkJ1dHRvblN0eWxlOjprVG9uYWwpOworLSAgICAgICAg ICAgICAgICAgICAgICAgQnV0dG9uVHlwZTo6a0FsbG93LCB1aTo6QnV0dG9uU3R5bGU6OmtUb25h bCwga0FsbG93SWQpOwogKyAgYnV0dG9ucy5lbXBsYWNlX2JhY2soKSA9IHtsMTBuX3V0aWw6Okdl dFN0cmluZ1VURjE2KElEU19QRVJNSVNTSU9OX0FMTE9XKSwKLSsgICAgICAgICAgICAgICAgICAg ICAgIEJ1dHRvblR5cGU6OmtBbGxvdywgdWk6OkJ1dHRvblN0eWxlOjprVG9uYWx9OworKyAgICAg ICAgICAgICAgICAgICAgICAgQnV0dG9uVHlwZTo6a0FsbG93LCB1aTo6QnV0dG9uU3R5bGU6OmtU b25hbCwga0FsbG93SWR9OwogICAgcmV0dXJuIGJ1dHRvbnM7CiAgfQogIApAQCAtMTQ1LDU1ICsx NDUsNiBAQCBkaWZmIC11cCBjaHJvbWl1bS0xMjAuMC42MDk5LjU2L2Nocm9tZS9icm93c2VyL3Vp L3ZpZXdzL3Blcm1pc3Npb25zL2VtYmVkZGVkX3BlcgogICAgcmV0dXJuIGJ1dHRvbnM7CiAgfQog IAotZGlmZiAtdXAgY2hyb21pdW0tMTIwLjAuNjA5OS41Ni9jaHJvbWUvYnJvd3Nlci91aS92aWV3 cy9wZXJtaXNzaW9ucy9lbWJlZGRlZF9wZXJtaXNzaW9uX3Byb21wdF9wcmV2aW91c2x5X2Rlbmll ZF92aWV3LmNjLm5vX21hdGNoaW5nX2NvbnN0cnVjdG9yIGNocm9taXVtLTEyMC4wLjYwOTkuNTYv Y2hyb21lL2Jyb3dzZXIvdWkvdmlld3MvcGVybWlzc2lvbnMvZW1iZWRkZWRfcGVybWlzc2lvbl9w cm9tcHRfcHJldmlvdXNseV9kZW5pZWRfdmlldy5jYwotLS0tIGNocm9taXVtLTEyMC4wLjYwOTku NTYvY2hyb21lL2Jyb3dzZXIvdWkvdmlld3MvcGVybWlzc2lvbnMvZW1iZWRkZWRfcGVybWlzc2lv bl9wcm9tcHRfcHJldmlvdXNseV9kZW5pZWRfdmlldy5jYy5ub19tYXRjaGluZ19jb25zdHJ1Y3Rv cgkyMDIzLTExLTI5IDIyOjM5OjUzLjAwMDAwMDAwMCArMDEwMAotKysrIGNocm9taXVtLTEyMC4w LjYwOTkuNTYvY2hyb21lL2Jyb3dzZXIvdWkvdmlld3MvcGVybWlzc2lvbnMvZW1iZWRkZWRfcGVy bWlzc2lvbl9wcm9tcHRfcHJldmlvdXNseV9kZW5pZWRfdmlldy5jYwkyMDIzLTEyLTAzIDE3OjMx OjI1Ljc1NjQyMDM0MiArMDEwMAotQEAgLTYzLDE4ICs2MywxOCBAQCBFbWJlZGRlZFBlcm1pc3Np b25Qcm9tcHRQcmV2aW91c2x5RGVuaWVkCi0gc3RkOjp2ZWN0b3I8RW1iZWRkZWRQZXJtaXNzaW9u UHJvbXB0UHJldmlvdXNseURlbmllZFZpZXc6OkJ1dHRvbkNvbmZpZ3VyYXRpb24+Ci0gRW1iZWRk ZWRQZXJtaXNzaW9uUHJvbXB0UHJldmlvdXNseURlbmllZFZpZXc6OkdldEJ1dHRvbnNDb25maWd1 cmF0aW9uKCkgY29uc3QgewotICAgc3RkOjp2ZWN0b3I8QnV0dG9uQ29uZmlndXJhdGlvbj4gYnV0 dG9uczsKLS0gIGJ1dHRvbnMuZW1wbGFjZV9iYWNrKAotKyAgYnV0dG9ucy5lbXBsYWNlX2JhY2so KSA9IHsKLSAgICAgICBsMTBuX3V0aWw6OkdldFN0cmluZ1VURjE2KElEU19FTUJFRERFRF9QUk9N UFRfQ09OVElOVUVfTk9UX0FMTE9XSU5HKSwKLS0gICAgICBCdXR0b25UeXBlOjprQ29udGludWVO b3RBbGxvd2luZywgdWk6OkJ1dHRvblN0eWxlOjprVG9uYWwpOwotKyAgICAgIEJ1dHRvblR5cGU6 OmtDb250aW51ZU5vdEFsbG93aW5nLCB1aTo6QnV0dG9uU3R5bGU6OmtUb25hbH07Ci0gCi0gICBp ZiAoYmFzZTo6RmVhdHVyZUxpc3Q6OklzRW5hYmxlZChwZXJtaXNzaW9uczo6ZmVhdHVyZXM6OmtP bmVUaW1lUGVybWlzc2lvbikpIHsKLS0gICAgYnV0dG9ucy5lbXBsYWNlX2JhY2soCi0rICAgIGJ1 dHRvbnMuZW1wbGFjZV9iYWNrKCkgPSB7Ci0gICAgICAgICBsMTBuX3V0aWw6OkdldFN0cmluZ1VU RjE2KElEU19QRVJNSVNTSU9OX0FMTE9XX1RISVNfVElNRSksCi0tICAgICAgICBCdXR0b25UeXBl OjprQWxsb3dUaGlzVGltZSwgdWk6OkJ1dHRvblN0eWxlOjprVG9uYWwpOwotKyAgICAgICAgQnV0 dG9uVHlwZTo6a0FsbG93VGhpc1RpbWUsIHVpOjpCdXR0b25TdHlsZTo6a1RvbmFsfTsKLSAgIH0g ZWxzZSB7Ci0tICAgIGJ1dHRvbnMuZW1wbGFjZV9iYWNrKAotKyAgICBidXR0b25zLmVtcGxhY2Vf YmFjaygpID0gewotICAgICAgICAgbDEwbl91dGlsOjpHZXRTdHJpbmdVVEYxNihJRFNfUEVSTUlT U0lPTl9BTExPV19USElTX1RJTUUpLAotLSAgICAgICAgQnV0dG9uVHlwZTo6a0FsbG93LCB1aTo6 QnV0dG9uU3R5bGU6OmtUb25hbCk7Ci0rICAgICAgICBCdXR0b25UeXBlOjprQWxsb3csIHVpOjpC dXR0b25TdHlsZTo6a1RvbmFsfTsKLSAgIH0KLSAgIHJldHVybiBidXR0b25zOwotIH0KLWRpZmYg LXVwIGNocm9taXVtLTEyMC4wLjYwOTkuNTYvY2hyb21lL2Jyb3dzZXIvdWkvdmlld3MvcGVybWlz c2lvbnMvZW1iZWRkZWRfcGVybWlzc2lvbl9wcm9tcHRfcHJldmlvdXNseV9ncmFudGVkX3ZpZXcu Y2Mubm9fbWF0Y2hpbmdfY29uc3RydWN0b3IgY2hyb21pdW0tMTIwLjAuNjA5OS41Ni9jaHJvbWUv YnJvd3Nlci91aS92aWV3cy9wZXJtaXNzaW9ucy9lbWJlZGRlZF9wZXJtaXNzaW9uX3Byb21wdF9w cmV2aW91c2x5X2dyYW50ZWRfdmlldy5jYwotLS0tIGNocm9taXVtLTEyMC4wLjYwOTkuNTYvY2hy b21lL2Jyb3dzZXIvdWkvdmlld3MvcGVybWlzc2lvbnMvZW1iZWRkZWRfcGVybWlzc2lvbl9wcm9t cHRfcHJldmlvdXNseV9ncmFudGVkX3ZpZXcuY2Mubm9fbWF0Y2hpbmdfY29uc3RydWN0b3IJMjAy My0xMS0yOSAyMjozOTo1My4wMDAwMDAwMDAgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMjAuMC42MDk5 LjU2L2Nocm9tZS9icm93c2VyL3VpL3ZpZXdzL3Blcm1pc3Npb25zL2VtYmVkZGVkX3Blcm1pc3Np b25fcHJvbXB0X3ByZXZpb3VzbHlfZ3JhbnRlZF92aWV3LmNjCTIwMjMtMTItMDMgMTc6MzE6MjUu NzUwNDIwMjI3ICswMTAwCi1AQCAtNTcsMTMgKzU3LDEzIEBAIEVtYmVkZGVkUGVybWlzc2lvblBy b21wdFByZXZpb3VzbHlHcmFudGUKLSBzdGQ6OnZlY3RvcjxFbWJlZGRlZFBlcm1pc3Npb25Qcm9t cHRQcmV2aW91c2x5R3JhbnRlZFZpZXc6OkJ1dHRvbkNvbmZpZ3VyYXRpb24+Ci0gRW1iZWRkZWRQ ZXJtaXNzaW9uUHJvbXB0UHJldmlvdXNseUdyYW50ZWRWaWV3OjpHZXRCdXR0b25zQ29uZmlndXJh dGlvbigpIGNvbnN0IHsKLSAgIHN0ZDo6dmVjdG9yPEJ1dHRvbkNvbmZpZ3VyYXRpb24+IGJ1dHRv bnM7Ci0tICBidXR0b25zLmVtcGxhY2VfYmFjaygKLSsgIGJ1dHRvbnMuZW1wbGFjZV9iYWNrKCkg PSB7Ci0gICAgICAgbDEwbl91dGlsOjpHZXRTdHJpbmdVVEYxNihJRFNfRU1CRURERURfUFJPTVBU X0NPTlRJTlVFX0FMTE9XSU5HKSwKLS0gICAgICBCdXR0b25UeXBlOjprQ29udGludWVBbGxvd2lu ZywgdWk6OkJ1dHRvblN0eWxlOjprVG9uYWwpOwotKyAgICAgIEJ1dHRvblR5cGU6OmtDb250aW51 ZUFsbG93aW5nLCB1aTo6QnV0dG9uU3R5bGU6OmtUb25hbH07Ci0gCi0tICBidXR0b25zLmVtcGxh Y2VfYmFjaygKLSsgIGJ1dHRvbnMuZW1wbGFjZV9iYWNrKCkgPSB7Ci0gICAgICAgbDEwbl91dGls OjpHZXRTdHJpbmdVVEYxNihJRFNfRU1CRURERURfUFJPTVBUX1NUT1BfQUxMT1dJTkcpLAotLSAg ICAgIEJ1dHRvblR5cGU6OmtTdG9wQWxsb3dpbmcsIHVpOjpCdXR0b25TdHlsZTo6a1RvbmFsKTsK LSsgICAgICBCdXR0b25UeXBlOjprU3RvcEFsbG93aW5nLCB1aTo6QnV0dG9uU3R5bGU6OmtUb25h bH07Ci0gICByZXR1cm4gYnV0dG9uczsKLSB9Ci0gCiBkaWZmIC11cCBjaHJvbWl1bS0xMjAuMC42 MDk5LjU2L2Nocm9tZS90ZXN0L2Nocm9tZWRyaXZlci9jYXBhYmlsaXRpZXMuY2Mubm9fbWF0Y2hp bmdfY29uc3RydWN0b3IgY2hyb21pdW0tMTIwLjAuNjA5OS41Ni9jaHJvbWUvdGVzdC9jaHJvbWVk cml2ZXIvY2FwYWJpbGl0aWVzLmNjCiAtLS0gY2hyb21pdW0tMTIwLjAuNjA5OS41Ni9jaHJvbWUv dGVzdC9jaHJvbWVkcml2ZXIvY2FwYWJpbGl0aWVzLmNjLm5vX21hdGNoaW5nX2NvbnN0cnVjdG9y CTIwMjMtMTEtMjkgMjI6Mzk6NTQuMDAwMDAwMDAwICswMTAwCiArKysgY2hyb21pdW0tMTIwLjAu NjA5OS41Ni9jaHJvbWUvdGVzdC9jaHJvbWVkcml2ZXIvY2FwYWJpbGl0aWVzLmNjCTIwMjMtMTIt MDMgMTc6MzE6MjUuNzUwNDIwMjI3ICswMTAwCkBAIC0yNDYsMTggKzE5Nyw2IEBAIGRpZmYgLXVw IGNocm9taXVtLTEyMC4wLjYwOTkuNTYvY29tcG9uZW50cy9hdXRvZmlsbC9jb3JlL2Jyb3dzZXIv d2ViZGF0YS9hdXRvZmlsCiAgCiAgICAgIGlmICh0eXBlID09IEFERFJFU1NfSE9NRV9DT1VOVFJZ KSB7CiAgICAgICAgY291bnRyeV9jb2RlID0gYmFzZTo6VVRGMTZUb1VURjgocy5Db2x1bW5TdHJp bmcxNigxKSk7Ci1kaWZmIC11cCBjaHJvbWl1bS0xMjAuMC42MDk5LjU2L2NvbXBvbmVudHMvcGFz c3dvcmRfbWFuYWdlci9jb3JlL2Jyb3dzZXIvcGFzc3dvcmRfbWFuYWdlci5jYy5ub19tYXRjaGlu Z19jb25zdHJ1Y3RvciBjaHJvbWl1bS0xMjAuMC42MDk5LjU2L2NvbXBvbmVudHMvcGFzc3dvcmRf bWFuYWdlci9jb3JlL2Jyb3dzZXIvcGFzc3dvcmRfbWFuYWdlci5jYwotLS0tIGNocm9taXVtLTEy MC4wLjYwOTkuNTYvY29tcG9uZW50cy9wYXNzd29yZF9tYW5hZ2VyL2NvcmUvYnJvd3Nlci9wYXNz d29yZF9tYW5hZ2VyLmNjLm5vX21hdGNoaW5nX2NvbnN0cnVjdG9yCTIwMjMtMTEtMjkgMjI6Mzk6 NTguMDAwMDAwMDAwICswMTAwCi0rKysgY2hyb21pdW0tMTIwLjAuNjA5OS41Ni9jb21wb25lbnRz L3Bhc3N3b3JkX21hbmFnZXIvY29yZS9icm93c2VyL3Bhc3N3b3JkX21hbmFnZXIuY2MJMjAyMy0x Mi0wMyAxNzozMToyNS43NTE0MjAyNDYgKzAxMDAKLUBAIC02MzAsNyArNjMwLDcgQEAgdm9pZCBQ YXNzd29yZE1hbmFnZXI6Ok9uVXNlck1vZGlmaWVkTm9uUAotICAgLy8gfGRyaXZlcnwgbWlnaHQg YmUgZW1wdHkgb24gaU9TIG9yIGluIHRlc3RzLgotICAgaW50IGRyaXZlcl9pZCA9IGRyaXZlciA/ IGRyaXZlci0+R2V0SWQoKSA6IDA7Ci0gICBwb3NzaWJsZV91c2VybmFtZXNfLlB1dCgKLS0gICAg ICBQb3NzaWJsZVVzZXJuYW1lRmllbGRJZGVudGlmaWVyKGRyaXZlcl9pZCwgcmVuZGVyZXJfaWQp LAotKyAgICAgIFBvc3NpYmxlVXNlcm5hbWVGaWVsZElkZW50aWZpZXJ7ZHJpdmVyX2lkLCByZW5k ZXJlcl9pZH0sCi0gICAgICAgUG9zc2libGVVc2VybmFtZURhdGEoR2V0U2lnbm9uUmVhbG0oZHJp dmVyLT5HZXRMYXN0Q29tbWl0dGVkVVJMKCkpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg IHJlbmRlcmVyX2lkLCB2YWx1ZSwgYmFzZTo6VGltZTo6Tm93KCksIGRyaXZlcl9pZCwKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICBhdXRvY29tcGxldGVfYXR0cmlidXRlX2hhc191c2VybmFt ZSwgaXNfbGlrZWx5X290cCkpOwogZGlmZiAtdXAgY2hyb21pdW0tMTIwLjAuNjA5OS41Ni9jb21w b25lbnRzL3Zpei9zZXJ2aWNlL2Rpc3BsYXlfZW1iZWRkZXIvc2tpYV9vdXRwdXRfc3VyZmFjZV9p bXBsX29uX2dwdS5jYy5ub19tYXRjaGluZ19jb25zdHJ1Y3RvciBjaHJvbWl1bS0xMjAuMC42MDk5 LjU2L2NvbXBvbmVudHMvdml6L3NlcnZpY2UvZGlzcGxheV9lbWJlZGRlci9za2lhX291dHB1dF9z dXJmYWNlX2ltcGxfb25fZ3B1LmNjCiAtLS0gY2hyb21pdW0tMTIwLjAuNjA5OS41Ni9jb21wb25l bnRzL3Zpei9zZXJ2aWNlL2Rpc3BsYXlfZW1iZWRkZXIvc2tpYV9vdXRwdXRfc3VyZmFjZV9pbXBs X29uX2dwdS5jYy5ub19tYXRjaGluZ19jb25zdHJ1Y3RvcgkyMDIzLTExLTI5IDIyOjQwOjAxLjAw MDAwMDAwMCArMDEwMAogKysrIGNocm9taXVtLTEyMC4wLjYwOTkuNTYvY29tcG9uZW50cy92aXov c2VydmljZS9kaXNwbGF5X2VtYmVkZGVyL3NraWFfb3V0cHV0X3N1cmZhY2VfaW1wbF9vbl9ncHUu Y2MJMjAyMy0xMi0wMyAxNzozMToyNS43NTE0MjAyNDYgKzAxMDAKQEAgLTMwMCw0NSArMjM5LDYg QEAgZGlmZiAtdXAgY2hyb21pdW0tMTIwLjAuNjA5OS41Ni9jb250ZW50L2Jyb3dzZXIvaW50ZXJl c3RfZ3JvdXAvaW50ZXJlc3RfZ3JvdXBfc3QKICAgIH0KICAgIGlmICghaW50ZXJlc3RfZ3JvdXBf a2Fub25fcXVlcnkuU3VjY2VlZGVkKCkpIHsKICAgICAgcmV0dXJuIGFic2w6Om51bGxvcHQ7Ci1k aWZmIC11cCBjaHJvbWl1bS0xMjAuMC42MDk5LjU2L2NvbnRlbnQvYnJvd3Nlci9yZW5kZXJlcl9o b3N0L3JlbmRlcl9mcmFtZV9ob3N0X2ltcGwuY2Mubm9fbWF0Y2hpbmdfY29uc3RydWN0b3IgY2hy b21pdW0tMTIwLjAuNjA5OS41Ni9jb250ZW50L2Jyb3dzZXIvcmVuZGVyZXJfaG9zdC9yZW5kZXJf ZnJhbWVfaG9zdF9pbXBsLmNjCi0tLS0gY2hyb21pdW0tMTIwLjAuNjA5OS41Ni9jb250ZW50L2Jy b3dzZXIvcmVuZGVyZXJfaG9zdC9yZW5kZXJfZnJhbWVfaG9zdF9pbXBsLmNjLm5vX21hdGNoaW5n X2NvbnN0cnVjdG9yCTIwMjMtMTEtMjkgMjI6NDA6MDEuMDAwMDAwMDAwICswMTAwCi0rKysgY2hy b21pdW0tMTIwLjAuNjA5OS41Ni9jb250ZW50L2Jyb3dzZXIvcmVuZGVyZXJfaG9zdC9yZW5kZXJf ZnJhbWVfaG9zdF9pbXBsLmNjCTIwMjMtMTItMDMgMjA6NDk6MjguMDU5MDQyNjcyICswMTAwCi1A QCAtODY4NSw3ICs4Njg1LDcgQEAgdm9pZCBSZW5kZXJGcmFtZUhvc3RJbXBsOjpTZW5kRmVuY2Vk RnJhbQotICAgZm9yIChjb25zdCBibGluazo6RmVuY2VkRnJhbWU6OlJlcG9ydGluZ0Rlc3RpbmF0 aW9uJiBkZXN0aW5hdGlvbiA6Ci0gICAgICAgIGRlc3RpbmF0aW9ucykgewotICAgICBTZW5kRmVu Y2VkRnJhbWVSZXBvcnRpbmdCZWFjb25JbnRlcm5hbCgKLS0gICAgICAgIERlc3RpbmF0aW9uRW51 bUV2ZW50KGV2ZW50X3R5cGUsIGV2ZW50X2RhdGEpLCBkZXN0aW5hdGlvbiwKLSsgICAgICAgIERl c3RpbmF0aW9uRW51bUV2ZW50e2V2ZW50X3R5cGUsIGV2ZW50X2RhdGF9LCBkZXN0aW5hdGlvbiwK LSAgICAgICAgIC8qZnJvbV9yZW5kZXJlcj0qL3RydWUsIGF0dHJpYnV0aW9uX3JlcG9ydGluZ19y dW50aW1lX2ZlYXR1cmVzKTsKLSAgIH0KLSB9Ci1AQCAtODcyMCw3ICs4NzIwLDcgQEAgdm9pZCBS ZW5kZXJGcmFtZUhvc3RJbXBsOjpTZW5kRmVuY2VkRnJhbQotICAgfQotIAotICAgU2VuZEZlbmNl ZEZyYW1lUmVwb3J0aW5nQmVhY29uSW50ZXJuYWwoCi0tICAgICAgRGVzdGluYXRpb25VUkxFdmVu dChkZXN0aW5hdGlvbl91cmwpLAotKyAgICAgIERlc3RpbmF0aW9uVVJMRXZlbnR7ZGVzdGluYXRp b25fdXJsfSwKLSAgICAgICBibGluazo6RmVuY2VkRnJhbWU6OlJlcG9ydGluZ0Rlc3RpbmF0aW9u OjprQnV5ZXIsCi0gICAgICAgLypmcm9tX3JlbmRlcmVyPSovdHJ1ZSwgYXR0cmlidXRpb25fcmVw b3J0aW5nX3J1bnRpbWVfZmVhdHVyZXMpOwotIH0KLUBAIC04ODIwLDcgKzg4MjAsNyBAQCB2b2lk IFJlbmRlckZyYW1lSG9zdEltcGw6Ok1heWJlU2VuZEZlbmNlCi0gICAgICAgICBkYXRhID0gaW5m by0+ZGF0YTsKLSAgICAgICB9Ci0gICAgICAgaW5pdGlhdG9yX3JmaC0+U2VuZEZlbmNlZEZyYW1l UmVwb3J0aW5nQmVhY29uSW50ZXJuYWwoCi0tICAgICAgICAgIEF1dG9tYXRpY0JlYWNvbkV2ZW50 KGV2ZW50X3R5cGUsIGRhdGEpLCBkZXN0aW5hdGlvbiwKLSsgICAgICAgICAgQXV0b21hdGljQmVh Y29uRXZlbnR7ZXZlbnRfdHlwZSwgZGF0YX0sIGRlc3RpbmF0aW9uLAotICAgICAgICAgICAvKmZy b21fcmVuZGVyZXI9Ki9mYWxzZSwgYXR0cmlidXRpb25fcmVwb3J0aW5nX2ZlYXR1cmVzLAotICAg ICAgICAgICBuYXZpZ2F0aW9uX3JlcXVlc3QuR2V0TmF2aWdhdGlvbklkKCkpOwotICAgICB9Ci1A QCAtODgzMiw3ICs4ODMyLDcgQEAgdm9pZCBSZW5kZXJGcmFtZUhvc3RJbXBsOjpNYXliZVNlbmRG ZW5jZQotICAgICBmb3IgKGJsaW5rOjpGZW5jZWRGcmFtZTo6UmVwb3J0aW5nRGVzdGluYXRpb24g ZGVzdGluYXRpb24gOgotICAgICAgICAgIGluZm8tPmRlc3RpbmF0aW9ucykgewotICAgICAgIGlu aXRpYXRvcl9yZmgtPlNlbmRGZW5jZWRGcmFtZVJlcG9ydGluZ0JlYWNvbkludGVybmFsKAotLSAg ICAgICAgICBBdXRvbWF0aWNCZWFjb25FdmVudChldmVudF90eXBlLCBpbmZvLT5kYXRhKSwgZGVz dGluYXRpb24sCi0rICAgICAgICAgIEF1dG9tYXRpY0JlYWNvbkV2ZW50e2V2ZW50X3R5cGUsIGlu Zm8tPmRhdGF9LCBkZXN0aW5hdGlvbiwKLSAgICAgICAgICAgLypmcm9tX3JlbmRlcmVyPSovZmFs c2UsIGluZm8tPmF0dHJpYnV0aW9uX3JlcG9ydGluZ19ydW50aW1lX2ZlYXR1cmVzLAotICAgICAg ICAgICBuYXZpZ2F0aW9uX3JlcXVlc3QuR2V0TmF2aWdhdGlvbklkKCkpOwotICAgICB9CiBkaWZm IC11cCBjaHJvbWl1bS0xMjAuMC42MDk5LjU2L25ldC9kbnMvaG9zdF9yZXNvbHZlcl9jYWNoZS5j Yy5ub19tYXRjaGluZ19jb25zdHJ1Y3RvciBjaHJvbWl1bS0xMjAuMC42MDk5LjU2L25ldC9kbnMv aG9zdF9yZXNvbHZlcl9jYWNoZS5jYwogLS0tIGNocm9taXVtLTEyMC4wLjYwOTkuNTYvbmV0L2Ru cy9ob3N0X3Jlc29sdmVyX2NhY2hlLmNjLm5vX21hdGNoaW5nX2NvbnN0cnVjdG9yCTIwMjMtMTEt MjkgMjI6NDA6MDcuMDAwMDAwMDAwICswMTAwCiArKysgY2hyb21pdW0tMTIwLjAuNjA5OS41Ni9u ZXQvZG5zL2hvc3RfcmVzb2x2ZXJfY2FjaGUuY2MJMjAyMy0xMi0wMyAxNzozMToyNS43NTQ0MjAz MDMgKzAxMDAKQEAgLTc0MCwzICs2NDAsMzA2IEBAIGRpZmYgLXVwIGNocm9taXVtLTEyMC4wLjYw OTkuNTYvdWkvZ3RrL2d0a191aS5jYy5ub19tYXRjaGluZ19jb25zdHJ1Y3RvciBjaHJvbWl1CiAg ICB9CiAgICByZXR1cm4gY29uZmlnOwogIH0KK2RpZmYgLXVwIGNocm9taXVtLTEyMS4wLjYxNjcu MTYvY2hyb21lL2Jyb3dzZXIvdWkvdmlld3MvcGVybWlzc2lvbnMvZW1iZWRkZWRfcGVybWlzc2lv bl9wcm9tcHRfcHJldmlvdXNseV9kZW5pZWRfdmlldy5jYy50aGFuIGNocm9taXVtLTEyMS4wLjYx NjcuMTYvY2hyb21lL2Jyb3dzZXIvdWkvdmlld3MvcGVybWlzc2lvbnMvZW1iZWRkZWRfcGVybWlz c2lvbl9wcm9tcHRfcHJldmlvdXNseV9kZW5pZWRfdmlldy5jYworLS0tIGNocm9taXVtLTEyMS4w LjYxNjcuMTYvY2hyb21lL2Jyb3dzZXIvdWkvdmlld3MvcGVybWlzc2lvbnMvZW1iZWRkZWRfcGVy bWlzc2lvbl9wcm9tcHRfcHJldmlvdXNseV9kZW5pZWRfdmlldy5jYy50aGFuCTIwMjMtMTItMTkg MTc6MTM6MTUuMTE2OTQ5ODE0ICswMTAwCisrKysgY2hyb21pdW0tMTIxLjAuNjE2Ny4xNi9jaHJv bWUvYnJvd3Nlci91aS92aWV3cy9wZXJtaXNzaW9ucy9lbWJlZGRlZF9wZXJtaXNzaW9uX3Byb21w dF9wcmV2aW91c2x5X2RlbmllZF92aWV3LmNjCTIwMjMtMTItMTkgMTc6Mjc6MTguODA3MTAyNzE2 ICswMTAwCitAQCAtNjYsMTcgKzY2LDE3IEBAIEVtYmVkZGVkUGVybWlzc2lvblByb21wdFByZXZp b3VzbHlEZW5pZWQKKyBzdGQ6OnZlY3RvcjxFbWJlZGRlZFBlcm1pc3Npb25Qcm9tcHRQcmV2aW91 c2x5RGVuaWVkVmlldzo6QnV0dG9uQ29uZmlndXJhdGlvbj4KKyBFbWJlZGRlZFBlcm1pc3Npb25Q cm9tcHRQcmV2aW91c2x5RGVuaWVkVmlldzo6R2V0QnV0dG9uc0NvbmZpZ3VyYXRpb24oKSBjb25z dCB7CisgICBzdGQ6OnZlY3RvcjxCdXR0b25Db25maWd1cmF0aW9uPiBidXR0b25zOworLSAgYnV0 dG9ucy5lbXBsYWNlX2JhY2soCisrICBidXR0b25zLmVtcGxhY2VfYmFjaygpID0geworICAgICAg IGwxMG5fdXRpbDo6R2V0U3RyaW5nVVRGMTYoSURTX0VNQkVEREVEX1BST01QVF9DT05USU5VRV9O T1RfQUxMT1dJTkcpLAorLSAgICAgIEJ1dHRvblR5cGU6OmtDb250aW51ZU5vdEFsbG93aW5nLCB1 aTo6QnV0dG9uU3R5bGU6OmtUb25hbCk7CisrICAgICAgQnV0dG9uVHlwZTo6a0NvbnRpbnVlTm90 QWxsb3dpbmcsIHVpOjpCdXR0b25TdHlsZTo6a1RvbmFsfTsKKyAKKyAgIGlmIChiYXNlOjpGZWF0 dXJlTGlzdDo6SXNFbmFibGVkKHBlcm1pc3Npb25zOjpmZWF0dXJlczo6a09uZVRpbWVQZXJtaXNz aW9uKSkgeworLSAgICBidXR0b25zLmVtcGxhY2VfYmFjaygKKysgICAgYnV0dG9ucy5lbXBsYWNl X2JhY2soKSA9IHsKKyAgICAgICAgIGwxMG5fdXRpbDo6R2V0U3RyaW5nVVRGMTYoSURTX1BFUk1J U1NJT05fQUxMT1dfVEhJU19USU1FKSwKKy0gICAgICAgIEJ1dHRvblR5cGU6OmtBbGxvd1RoaXNU aW1lLCB1aTo6QnV0dG9uU3R5bGU6OmtUb25hbCwga0FsbG93VGhpc1RpbWVJZCk7CisrICAgICAg ICBCdXR0b25UeXBlOjprQWxsb3dUaGlzVGltZSwgdWk6OkJ1dHRvblN0eWxlOjprVG9uYWwsIGtB bGxvd1RoaXNUaW1lSWR9OworICAgfSBlbHNlIHsKKy0gICAgYnV0dG9ucy5lbXBsYWNlX2JhY2so bDEwbl91dGlsOjpHZXRTdHJpbmdVVEYxNihJRFNfUEVSTUlTU0lPTl9BTExPVyksCistICAgICAg ICAgICAgICAgICAgICAgICAgIEJ1dHRvblR5cGU6OmtBbGxvdywgdWk6OkJ1dHRvblN0eWxlOjpr VG9uYWwpOworKyAgICBidXR0b25zLmVtcGxhY2VfYmFjaygpID0ge2wxMG5fdXRpbDo6R2V0U3Ry aW5nVVRGMTYoSURTX1BFUk1JU1NJT05fQUxMT1cpLAorKyAgICAgICAgICAgICAgICAgICAgICAg ICBCdXR0b25UeXBlOjprQWxsb3csIHVpOjpCdXR0b25TdHlsZTo6a1RvbmFsfTsKKyAgIH0KKyAg IHJldHVybiBidXR0b25zOworIH0KK2RpZmYgLXVwIGNocm9taXVtLTEyMS4wLjYxNjcuMTYvY2hy b21lL2Jyb3dzZXIvdWkvdmlld3MvcGVybWlzc2lvbnMvZW1iZWRkZWRfcGVybWlzc2lvbl9wcm9t cHRfcHJldmlvdXNseV9ncmFudGVkX3ZpZXcuY2MudGhhbiBjaHJvbWl1bS0xMjEuMC42MTY3LjE2 L2Nocm9tZS9icm93c2VyL3VpL3ZpZXdzL3Blcm1pc3Npb25zL2VtYmVkZGVkX3Blcm1pc3Npb25f cHJvbXB0X3ByZXZpb3VzbHlfZ3JhbnRlZF92aWV3LmNjCistLS0gY2hyb21pdW0tMTIxLjAuNjE2 Ny4xNi9jaHJvbWUvYnJvd3Nlci91aS92aWV3cy9wZXJtaXNzaW9ucy9lbWJlZGRlZF9wZXJtaXNz aW9uX3Byb21wdF9wcmV2aW91c2x5X2dyYW50ZWRfdmlldy5jYy50aGFuCTIwMjMtMTItMTkgMTc6 Mzk6MTcuODE4ODM0MDIwICswMTAwCisrKysgY2hyb21pdW0tMTIxLjAuNjE2Ny4xNi9jaHJvbWUv YnJvd3Nlci91aS92aWV3cy9wZXJtaXNzaW9ucy9lbWJlZGRlZF9wZXJtaXNzaW9uX3Byb21wdF9w cmV2aW91c2x5X2dyYW50ZWRfdmlldy5jYwkyMDIzLTEyLTE5IDE3OjQ0OjE1LjM0NjMzNzg3NiAr MDEwMAorQEAgLTYxLDEzICs2MSwxMyBAQCBFbWJlZGRlZFBlcm1pc3Npb25Qcm9tcHRQcmV2aW91 c2x5R3JhbnRlCisgc3RkOjp2ZWN0b3I8RW1iZWRkZWRQZXJtaXNzaW9uUHJvbXB0UHJldmlvdXNs eUdyYW50ZWRWaWV3OjpCdXR0b25Db25maWd1cmF0aW9uPgorIEVtYmVkZGVkUGVybWlzc2lvblBy b21wdFByZXZpb3VzbHlHcmFudGVkVmlldzo6R2V0QnV0dG9uc0NvbmZpZ3VyYXRpb24oKSBjb25z dCB7CisgICBzdGQ6OnZlY3RvcjxCdXR0b25Db25maWd1cmF0aW9uPiBidXR0b25zOworLSAgYnV0 dG9ucy5lbXBsYWNlX2JhY2soCisrICBidXR0b25zLmVtcGxhY2VfYmFjaygpID0geworICAgICAg IGwxMG5fdXRpbDo6R2V0U3RyaW5nVVRGMTYoSURTX0VNQkVEREVEX1BST01QVF9DT05USU5VRV9B TExPV0lORyksCistICAgICAgQnV0dG9uVHlwZTo6a0NvbnRpbnVlQWxsb3dpbmcsIHVpOjpCdXR0 b25TdHlsZTo6a1RvbmFsKTsKKysgICAgICBCdXR0b25UeXBlOjprQ29udGludWVBbGxvd2luZywg dWk6OkJ1dHRvblN0eWxlOjprVG9uYWx9OworIAorLSAgYnV0dG9ucy5lbXBsYWNlX2JhY2soCisr ICBidXR0b25zLmVtcGxhY2VfYmFjaygpID0geworICAgICAgIGwxMG5fdXRpbDo6R2V0U3RyaW5n VVRGMTYoSURTX0VNQkVEREVEX1BST01QVF9TVE9QX0FMTE9XSU5HKSwKKy0gICAgICBCdXR0b25U eXBlOjprU3RvcEFsbG93aW5nLCB1aTo6QnV0dG9uU3R5bGU6OmtUb25hbCwga1N0b3BBbGxvd2lu Z0lkKTsKKysgICAgICBCdXR0b25UeXBlOjprU3RvcEFsbG93aW5nLCB1aTo6QnV0dG9uU3R5bGU6 OmtUb25hbCwga1N0b3BBbGxvd2luZ0lkfTsKKyAgIHJldHVybiBidXR0b25zOworIH0KKyAKK2Rp ZmYgLXVwIGNocm9taXVtLTEyMS4wLjYxNjcuMTYvY29tcG9uZW50cy9wYXNzd29yZF9tYW5hZ2Vy L2NvcmUvYnJvd3Nlci9wYXNzd29yZF9tYW5hZ2VyLmNjLnRoYW4gY2hyb21pdW0tMTIxLjAuNjE2 Ny4xNi9jb21wb25lbnRzL3Bhc3N3b3JkX21hbmFnZXIvY29yZS9icm93c2VyL3Bhc3N3b3JkX21h bmFnZXIuY2MKKy0tLSBjaHJvbWl1bS0xMjEuMC42MTY3LjE2L2NvbXBvbmVudHMvcGFzc3dvcmRf bWFuYWdlci9jb3JlL2Jyb3dzZXIvcGFzc3dvcmRfbWFuYWdlci5jYy50aGFuCTIwMjMtMTItMTkg MTc6Mzk6MTcuODE5ODM0MDM5ICswMTAwCisrKysgY2hyb21pdW0tMTIxLjAuNjE2Ny4xNi9jb21w b25lbnRzL3Bhc3N3b3JkX21hbmFnZXIvY29yZS9icm93c2VyL3Bhc3N3b3JkX21hbmFnZXIuY2MJ MjAyMy0xMi0xOSAxNzo0ODozMy4xNDQzODkwODEgKzAxMDAKK0BAIC02NjYsNyArNjY2LDcgQEAg dm9pZCBQYXNzd29yZE1hbmFnZXI6Ok9uVXNlck1vZGlmaWVkTm9uUAorICAgICBpdC0+c2Vjb25k Lmxhc3RfY2hhbmdlID0gYmFzZTo6VGltZTo6Tm93KCk7CisgICB9IGVsc2UgeworICAgICBwb3Nz aWJsZV91c2VybmFtZXNfLlB1dCgKKy0gICAgICAgIFBvc3NpYmxlVXNlcm5hbWVGaWVsZElkZW50 aWZpZXIoZHJpdmVyX2lkLCByZW5kZXJlcl9pZCksCisrICAgICAgICBQb3NzaWJsZVVzZXJuYW1l RmllbGRJZGVudGlmaWVye2RyaXZlcl9pZCwgcmVuZGVyZXJfaWR9LAorICAgICAgICAgUG9zc2li bGVVc2VybmFtZURhdGEoR2V0U2lnbm9uUmVhbG0oZHJpdmVyLT5HZXRMYXN0Q29tbWl0dGVkVVJM KCkpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyZXJfaWQsIHZhbHVlLCBi YXNlOjpUaW1lOjpOb3coKSwgZHJpdmVyX2lkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgYXV0b2NvbXBsZXRlX2F0dHJpYnV0ZV9oYXNfdXNlcm5hbWUsCitkaWZmIC11cCBjaHJvbWl1 bS0xMjEuMC42MTY3LjE2L2NvbnRlbnQvYnJvd3Nlci9yZW5kZXJlcl9ob3N0L3JlbmRlcl9mcmFt ZV9ob3N0X2ltcGwuY2MudGhhbiBjaHJvbWl1bS0xMjEuMC42MTY3LjE2L2NvbnRlbnQvYnJvd3Nl ci9yZW5kZXJlcl9ob3N0L3JlbmRlcl9mcmFtZV9ob3N0X2ltcGwuY2MKKy0tLSBjaHJvbWl1bS0x MjEuMC42MTY3LjE2L2NvbnRlbnQvYnJvd3Nlci9yZW5kZXJlcl9ob3N0L3JlbmRlcl9mcmFtZV9o b3N0X2ltcGwuY2MudGhhbgkyMDIzLTEyLTE5IDE3OjM5OjE3LjgyNTgzNDE1NiArMDEwMAorKysr IGNocm9taXVtLTEyMS4wLjYxNjcuMTYvY29udGVudC9icm93c2VyL3JlbmRlcmVyX2hvc3QvcmVu ZGVyX2ZyYW1lX2hvc3RfaW1wbC5jYwkyMDIzLTEyLTE5IDE3OjUzOjQzLjE1MzI4Mzg0NyArMDEw MAorQEAgLTg1NjEsNyArODU2MSw3IEBAIHZvaWQgUmVuZGVyRnJhbWVIb3N0SW1wbDo6U2VuZEZl bmNlZEZyYW0KKyAgIGZvciAoY29uc3QgYmxpbms6OkZlbmNlZEZyYW1lOjpSZXBvcnRpbmdEZXN0 aW5hdGlvbiYgZGVzdGluYXRpb24gOgorICAgICAgICBkZXN0aW5hdGlvbnMpIHsKKyAgICAgU2Vu ZEZlbmNlZEZyYW1lUmVwb3J0aW5nQmVhY29uSW50ZXJuYWwoCistICAgICAgICBEZXN0aW5hdGlv bkVudW1FdmVudChldmVudF90eXBlLCBldmVudF9kYXRhKSwgZGVzdGluYXRpb24sCisrICAgICAg ICBEZXN0aW5hdGlvbkVudW1FdmVudHtldmVudF90eXBlLCBldmVudF9kYXRhfSwgZGVzdGluYXRp b24sCisgICAgICAgICBhdHRyaWJ1dGlvbl9yZXBvcnRpbmdfcnVudGltZV9mZWF0dXJlcyk7Cisg ICB9CisgfQorQEAgLTg1OTMsNyArODU5Myw3IEBAIHZvaWQgUmVuZGVyRnJhbWVIb3N0SW1wbDo6 U2VuZEZlbmNlZEZyYW0KKyAgIH0KKyAKKyAgIFNlbmRGZW5jZWRGcmFtZVJlcG9ydGluZ0JlYWNv bkludGVybmFsKAorLSAgICAgIERlc3RpbmF0aW9uVVJMRXZlbnQoZGVzdGluYXRpb25fdXJsKSwK KysgICAgICBEZXN0aW5hdGlvblVSTEV2ZW50e2Rlc3RpbmF0aW9uX3VybH0sCisgICAgICAgYmxp bms6OkZlbmNlZEZyYW1lOjpSZXBvcnRpbmdEZXN0aW5hdGlvbjo6a0J1eWVyLAorICAgICAgIGF0 dHJpYnV0aW9uX3JlcG9ydGluZ19ydW50aW1lX2ZlYXR1cmVzKTsKKyB9CitAQCAtODczMCw3ICs4 NzMwLDcgQEAgdm9pZCBSZW5kZXJGcmFtZUhvc3RJbXBsOjpNYXliZVNlbmRGZW5jZQorICAgICAg ICAgZGF0YSA9IGluZm8tPmRhdGE7CisgICAgICAgfQorICAgICAgIGluaXRpYXRvcl9yZmgtPlNl bmRGZW5jZWRGcmFtZVJlcG9ydGluZ0JlYWNvbkludGVybmFsKAorLSAgICAgICAgICBBdXRvbWF0 aWNCZWFjb25FdmVudChldmVudF90eXBlLCBkYXRhKSwgZGVzdGluYXRpb24sCisrICAgICAgICAg IEF1dG9tYXRpY0JlYWNvbkV2ZW50e2V2ZW50X3R5cGUsIGRhdGF9LCBkZXN0aW5hdGlvbiwKKyAg ICAgICAgICAgYXR0cmlidXRpb25fcmVwb3J0aW5nX2ZlYXR1cmVzLCBuYXZpZ2F0aW9uX3JlcXVl c3QuR2V0TmF2aWdhdGlvbklkKCkpOworICAgICB9CisgICB9IGVsc2UgeworQEAgLTg3NDEsNyAr ODc0MSw3IEBAIHZvaWQgUmVuZGVyRnJhbWVIb3N0SW1wbDo6TWF5YmVTZW5kRmVuY2UKKyAgICAg Zm9yIChibGluazo6RmVuY2VkRnJhbWU6OlJlcG9ydGluZ0Rlc3RpbmF0aW9uIGRlc3RpbmF0aW9u IDoKKyAgICAgICAgICBpbmZvLT5kZXN0aW5hdGlvbnMpIHsKKyAgICAgICBpbml0aWF0b3JfcmZo LT5TZW5kRmVuY2VkRnJhbWVSZXBvcnRpbmdCZWFjb25JbnRlcm5hbCgKKy0gICAgICAgICAgQXV0 b21hdGljQmVhY29uRXZlbnQoZXZlbnRfdHlwZSwgaW5mby0+ZGF0YSksIGRlc3RpbmF0aW9uLAor KyAgICAgICAgICBBdXRvbWF0aWNCZWFjb25FdmVudHtldmVudF90eXBlLCBpbmZvLT5kYXRhfSwg ZGVzdGluYXRpb24sCisgICAgICAgICAgIGluZm8tPmF0dHJpYnV0aW9uX3JlcG9ydGluZ19ydW50 aW1lX2ZlYXR1cmVzLAorICAgICAgICAgICBuYXZpZ2F0aW9uX3JlcXVlc3QuR2V0TmF2aWdhdGlv bklkKCkpOworICAgICB9CitkaWZmIC11cCBjaHJvbWl1bS0xMjEuMC42MTY3LjU3L2Jhc2Uvbml4 L21pbWVfdXRpbF94ZGcuY2MubWUgY2hyb21pdW0tMTIxLjAuNjE2Ny41Ny9iYXNlL25peC9taW1l X3V0aWxfeGRnLmNjCistLS0gY2hyb21pdW0tMTIxLjAuNjE2Ny41Ny9iYXNlL25peC9taW1lX3V0 aWxfeGRnLmNjLm1lCTIwMjQtMDEtMjEgMTY6NTQ6MTUuMjYxODQ0NDQ4ICswMTAwCisrKysgY2hy b21pdW0tMTIxLjAuNjE2Ny41Ny9iYXNlL25peC9taW1lX3V0aWxfeGRnLmNjCTIwMjQtMDEtMjEg MTY6NTU6NDguNzA1NTc3NDI0ICswMTAwCitAQCAtNTYsNyArNTYsNyBAQCB2b2lkIExvYWRBbGxN aW1lQ2FjaGVGaWxlcyhNaW1lVHlwZU1hcCYKKyAgIGZvciAoY29uc3QgYXV0byYgcGF0aCA6IEdl dFhER0RhdGFTZWFyY2hMb2NhdGlvbnMoZW52LmdldCgpKSkgeworICAgICBGaWxlUGF0aCBtaW1l X2NhY2hlID0gcGF0aC5BcHBlbmQoIm1pbWUvbWltZS5jYWNoZSIpOworICAgICBpZiAoR2V0Rmls ZUluZm8obWltZV9jYWNoZSwgJmluZm8pICYmIFBhcnNlTWltZVR5cGVzKG1pbWVfY2FjaGUsIG1h cCkpIHsKKy0gICAgICBmaWxlcy5lbXBsYWNlX2JhY2sobWltZV9jYWNoZSwgaW5mby5sYXN0X21v ZGlmaWVkKTsKKysgICAgICBmaWxlcy5lbXBsYWNlX2JhY2soKSA9IHttaW1lX2NhY2hlLCBpbmZv Lmxhc3RfbW9kaWZpZWR9OworICAgICB9CisgICB9CisgfQorZGlmZiAtdXAgY2hyb21pdW0tMTIx LjAuNjE2Ny41Ny9jb21wb25lbnRzL3BlcmZvcm1hbmNlX21hbmFnZXIvd29ya2VyX3dhdGNoZXIu Y2MubWUgY2hyb21pdW0tMTIxLjAuNjE2Ny41Ny9jb21wb25lbnRzL3BlcmZvcm1hbmNlX21hbmFn ZXIvd29ya2VyX3dhdGNoZXIuY2MKKy0tLSBjaHJvbWl1bS0xMjEuMC42MTY3LjU3L2NvbXBvbmVu dHMvcGVyZm9ybWFuY2VfbWFuYWdlci93b3JrZXJfd2F0Y2hlci5jYy5tZQkyMDI0LTAxLTIxIDE4 OjExOjMxLjM5Nzg1OTYwOCArMDEwMAorKysrIGNocm9taXVtLTEyMS4wLjYxNjcuNTcvY29tcG9u ZW50cy9wZXJmb3JtYW5jZV9tYW5hZ2VyL3dvcmtlcl93YXRjaGVyLmNjCTIwMjQtMDEtMjEgMTg6 MjA6MDcuNzE1NDE1MDM3ICswMTAwCitAQCAtMjM5LDcgKzIzOSw3IEBAIHZvaWQgV29ya2VyV2F0 Y2hlcjo6T25Xb3JrZXJDcmVhdGVkKAorICAgRENIRUNLKGluc2VydGlvbl9yZXN1bHQuc2Vjb25k KTsKKyAKKyAgIGFic2w6OnZpc2l0KAorLSAgICAgIGJhc2U6Ok92ZXJsb2FkZWQoCisrICAgICAg YmFzZTo6T3ZlcmxvYWRlZHsKKyAgICAgICAgICAgWyYsCisgICAgICAgICAgICB0aGlzXShjb25z dCBjb250ZW50OjpHbG9iYWxSZW5kZXJGcmFtZUhvc3RJZCYgcmVuZGVyX2ZyYW1lX2hvc3RfaWQp IHsKKyAgICAgICAgICAgICBBZGRGcmFtZUNsaWVudENvbm5lY3Rpb24oaW5zZXJ0aW9uX3Jlc3Vs dC5maXJzdC0+c2Vjb25kLmdldCgpLAorQEAgLTI0OCw3ICsyNDgsNyBAQCB2b2lkIFdvcmtlcldh dGNoZXI6Ok9uV29ya2VyQ3JlYXRlZCgKKyAgICAgICAgICAgWyYsIHRoaXNdKGJsaW5rOjpEZWRp Y2F0ZWRXb3JrZXJUb2tlbiBkZWRpY2F0ZWRfd29ya2VyX3Rva2VuKSB7CisgICAgICAgICAgICAg Q29ubmVjdERlZGljYXRlZFdvcmtlckNsaWVudChpbnNlcnRpb25fcmVzdWx0LmZpcnN0LT5zZWNv bmQuZ2V0KCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWRp Y2F0ZWRfd29ya2VyX3Rva2VuKTsKKy0gICAgICAgICAgfSksCisrICAgICAgICAgIH19LAorICAg ICAgIGNyZWF0b3IpOworIH0KKyAKK0BAIC0yNjUsNyArMjY1LDcgQEAgdm9pZCBXb3JrZXJXYXRj aGVyOjpPbkJlZm9yZVdvcmtlckRlc3RybworICAgLy8gRmlyc3QgZGlzY29ubmVjdCB0aGUgY3Jl YXRvcidzIG5vZGUgZnJvbSB0aGlzIHdvcmtlciBub2RlLgorIAorICAgYWJzbDo6dmlzaXQoCist ICAgICAgYmFzZTo6T3ZlcmxvYWRlZCgKKysgICAgICBiYXNlOjpPdmVybG9hZGVkeworICAgICAg ICAgICBbJiwKKyAgICAgICAgICAgIHRoaXNdKGNvbnN0IGNvbnRlbnQ6Okdsb2JhbFJlbmRlckZy YW1lSG9zdElkJiByZW5kZXJfZnJhbWVfaG9zdF9pZCkgeworICAgICAgICAgICAgIFJlbW92ZUZy YW1lQ2xpZW50Q29ubmVjdGlvbih3b3JrZXJfbm9kZS5nZXQoKSwKK0BAIC0yNzQsNyArMjc0LDcg QEAgdm9pZCBXb3JrZXJXYXRjaGVyOjpPbkJlZm9yZVdvcmtlckRlc3RybworICAgICAgICAgICBb JiwgdGhpc10oYmxpbms6OkRlZGljYXRlZFdvcmtlclRva2VuIGRlZGljYXRlZF93b3JrZXJfdG9r ZW4pIHsKKyAgICAgICAgICAgICBEaXNjb25uZWN0RGVkaWNhdGVkV29ya2VyQ2xpZW50KHdvcmtl cl9ub2RlLmdldCgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgZGVkaWNhdGVkX3dvcmtlcl90b2tlbik7CistICAgICAgICAgIH0pLAorKyAgICAgICAgICB9 fSwKKyAgICAgICBjcmVhdG9yKTsKKyAKKyAgIC8vIERpc2Nvbm5lY3QgYWxsIGNoaWxkIHdvcmtl cnMgYmVmb3JlIGRlc3Ryb3lpbmcgdGhlIG5vZGUuCitAQCAtNDQ2LDcgKzQ0Niw3IEBAIHZvaWQg V29ya2VyV2F0Y2hlcjo6T25Db250cm9sbGVlQWRkZWQoCisgICAgIGNvbnN0IHN0ZDo6c3RyaW5n JiBjbGllbnRfdXVpZCwKKyAgICAgY29uc3QgY29udGVudDo6U2VydmljZVdvcmtlckNsaWVudElu Zm8mIGNsaWVudF9pbmZvKSB7CisgICBhYnNsOjp2aXNpdCgKKy0gICAgICBiYXNlOjpPdmVybG9h ZGVkKAorKyAgICAgIGJhc2U6Ok92ZXJsb2FkZWR7CisgICAgICAgICAgIFsmLCB0aGlzXShjb250 ZW50OjpHbG9iYWxSZW5kZXJGcmFtZUhvc3RJZCByZW5kZXJfZnJhbWVfaG9zdF9pZCkgeworICAg ICAgICAgICAgIC8vIEZvciB3aW5kb3cgY2xpZW50cywgaXQgaXMgbmVjZXNzYXJ5IHRvIHdhaXQg dW50aWwgdGhlIG5hdmlnYXRpb24KKyAgICAgICAgICAgICAvLyBoYXMgY29tbWl0dGVkIHRvIGEg UmVuZGVyRnJhbWVIb3N0LgorQEAgLTQ4NCw3ICs0ODQsNyBAQCB2b2lkIFdvcmtlcldhdGNoZXI6 Ok9uQ29udHJvbGxlZUFkZGVkKAorICAgICAgICAgICAgICAgQ29ubmVjdFNoYXJlZFdvcmtlckNs aWVudChzZXJ2aWNlX3dvcmtlcl9ub2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzaGFyZWRfd29ya2VyX3Rva2VuKTsKKyAgICAgICAgICAgICB9CistICAgICAg ICAgIH0pLAorKyAgICAgICAgICB9fSwKKyAgICAgICBjbGllbnRfaW5mbyk7CisgfQorIAorQEAg LTUyNCw3ICs1MjQsNyBAQCB2b2lkIFdvcmtlcldhdGNoZXI6Ok9uQ29udHJvbGxlZVJlbW92ZWQo CisgICAgIHJldHVybjsKKyAKKyAgIGFic2w6OnZpc2l0KAorLSAgICAgIGJhc2U6Ok92ZXJsb2Fk ZWQoCisrICAgICAgYmFzZTo6T3ZlcmxvYWRlZHsKKyAgICAgICAgICAgWyYsIHRoaXNdKGNvbnRl bnQ6Okdsb2JhbFJlbmRlckZyYW1lSG9zdElkIHJlbmRlcl9mcmFtZV9ob3N0X2lkKSB7CisgICAg ICAgICAgICAgUmVtb3ZlRnJhbWVDbGllbnRDb25uZWN0aW9uKHdvcmtlcl9ub2RlLCByZW5kZXJf ZnJhbWVfaG9zdF9pZCk7CisgICAgICAgICAgIH0sCitAQCAtNTM0LDcgKzUzNCw3IEBAIHZvaWQg V29ya2VyV2F0Y2hlcjo6T25Db250cm9sbGVlUmVtb3ZlZCgKKyAgICAgICAgICAgfSwKKyAgICAg ICAgICAgWyYsIHRoaXNdKGJsaW5rOjpTaGFyZWRXb3JrZXJUb2tlbiBzaGFyZWRfd29ya2VyX3Rv a2VuKSB7CisgICAgICAgICAgICAgRGlzY29ubmVjdFNoYXJlZFdvcmtlckNsaWVudCh3b3JrZXJf bm9kZSwgc2hhcmVkX3dvcmtlcl90b2tlbik7CistICAgICAgICAgIH0pLAorKyAgICAgICAgICB9 fSwKKyAgICAgICBjbGllbnQpOworIH0KKyAKK0BAIC04MTAsNyArODEwLDcgQEAgdm9pZCBXb3Jr ZXJXYXRjaGVyOjpDb25uZWN0QWxsU2VydmljZVdvcgorIAorICAgZm9yIChjb25zdCBhdXRvJiBr diA6IGl0LT5zZWNvbmQpIHsKKyAgICAgYWJzbDo6dmlzaXQoCistICAgICAgICBiYXNlOjpPdmVy bG9hZGVkKAorKyAgICAgICAgYmFzZTo6T3ZlcmxvYWRlZHsKKyAgICAgICAgICAgICBbJiwgdGhp c10oY29udGVudDo6R2xvYmFsUmVuZGVyRnJhbWVIb3N0SWQgcmVuZGVyX2ZyYW1lX2hvc3RfaWQp IHsKKyAgICAgICAgICAgICAgIEFkZEZyYW1lQ2xpZW50Q29ubmVjdGlvbihzZXJ2aWNlX3dvcmtl cl9ub2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlcl9m cmFtZV9ob3N0X2lkKTsKK0BAIC04MjIsNyArODIyLDcgQEAgdm9pZCBXb3JrZXJXYXRjaGVyOjpD b25uZWN0QWxsU2VydmljZVdvcgorICAgICAgICAgICAgIFsmLCB0aGlzXShibGluazo6U2hhcmVk V29ya2VyVG9rZW4gc2hhcmVkX3dvcmtlcl90b2tlbikgeworICAgICAgICAgICAgICAgQ29ubmVj dFNoYXJlZFdvcmtlckNsaWVudChzZXJ2aWNlX3dvcmtlcl9ub2RlLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzaGFyZWRfd29ya2VyX3Rva2VuKTsKKy0gICAgICAg ICAgICB9KSwKKysgICAgICAgICAgICB9fSwKKyAgICAgICAgIGt2LnNlY29uZCk7CisgICB9Cisg fQorQEAgLTgzNyw3ICs4MzcsNyBAQCB2b2lkIFdvcmtlcldhdGNoZXI6OkRpc2Nvbm5lY3RBbGxT ZXJ2aWNlCisgCisgICBmb3IgKGNvbnN0IGF1dG8mIGt2IDogaXQtPnNlY29uZCkgeworICAgICBh YnNsOjp2aXNpdCgKKy0gICAgICAgIGJhc2U6Ok92ZXJsb2FkZWQoCisrICAgICAgICBiYXNlOjpP dmVybG9hZGVkeworICAgICAgICAgICAgIFsmLCB0aGlzXSgKKyAgICAgICAgICAgICAgICAgY29u c3QgY29udGVudDo6R2xvYmFsUmVuZGVyRnJhbWVIb3N0SWQmIHJlbmRlcl9mcmFtZV9ob3N0X2lk KSB7CisgICAgICAgICAgICAgICBSZW1vdmVGcmFtZUNsaWVudENvbm5lY3Rpb24oc2VydmljZV93 b3JrZXJfbm9kZSwKK0BAIC04NTEsNyArODUxLDcgQEAgdm9pZCBXb3JrZXJXYXRjaGVyOjpEaXNj b25uZWN0QWxsU2VydmljZQorICAgICAgICAgICAgIFsmLCB0aGlzXShjb25zdCBibGluazo6U2hh cmVkV29ya2VyVG9rZW4mIHNoYXJlZF93b3JrZXJfdG9rZW4pIHsKKyAgICAgICAgICAgICAgIERp c2Nvbm5lY3RTaGFyZWRXb3JrZXJDbGllbnQoc2VydmljZV93b3JrZXJfbm9kZSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhcmVkX3dvcmtlcl90b2tlbik7 CistICAgICAgICAgICAgfSksCisrICAgICAgICAgICAgfX0sCisgICAgICAgICBrdi5zZWNvbmQp OworICAgfQorIH0KK2RpZmYgLXVwIGNocm9taXVtLTEyMS4wLjYxNjcuNTcvY29udGVudC9icm93 c2VyL2ZpcnN0X3BhcnR5X3NldHMvZmlyc3RfcGFydHlfc2V0X3BhcnNlci5jYy5tZSBjaHJvbWl1 bS0xMjEuMC42MTY3LjU3L2NvbnRlbnQvYnJvd3Nlci9maXJzdF9wYXJ0eV9zZXRzL2ZpcnN0X3Bh cnR5X3NldF9wYXJzZXIuY2MKKy0tLSBjaHJvbWl1bS0xMjEuMC42MTY3LjU3L2NvbnRlbnQvYnJv d3Nlci9maXJzdF9wYXJ0eV9zZXRzL2ZpcnN0X3BhcnR5X3NldF9wYXJzZXIuY2MubWUJMjAyNC0w MS0yMSAxODo0MDo1Mi4yODQzODkyODYgKzAxMDAKKysrKyBjaHJvbWl1bS0xMjEuMC42MTY3LjU3 L2NvbnRlbnQvYnJvd3Nlci9maXJzdF9wYXJ0eV9zZXRzL2ZpcnN0X3BhcnR5X3NldF9wYXJzZXIu Y2MJMjAyNC0wMS0yMSAxODo0MToxNy4yNzY4NDAyMjIgKzAxMDAKK0BAIC03NjQsNyArNzY0LDcg QEAgRmlyc3RQYXJ0eVNldFBhcnNlcjo6UGFyc2VTZXRzRnJvbUVudGVycAorICAgICAgICAgICAg ICAgICAgICAgIGNvbnRleHQuR2V0UG9saWN5U2V0c0Zyb21MaXN0KAorICAgICAgICAgICAgICAg ICAgICAgICAgICBwb2xpY3kuRmluZExpc3Qoa0ZpcnN0UGFydHlTZXRQb2xpY3lBZGRpdGlvbnNG aWVsZCksCisgICAgICAgICAgICAgICAgICAgICAgICAgIFBvbGljeVNldFR5cGU6OmtBZGRpdGlv bikpOworLSAgICByZXR1cm4gUGFyc2VkUG9saWN5U2V0TGlzdHMoc3RkOjptb3ZlKHJlcGxhY2Vt ZW50cyksIHN0ZDo6bW92ZShhZGRpdGlvbnMpKTsKKysgICAgcmV0dXJuIFBhcnNlZFBvbGljeVNl dExpc3Rze3N0ZDo6bW92ZShyZXBsYWNlbWVudHMpLCBzdGQ6Om1vdmUoYWRkaXRpb25zKX07Cisg ICB9KCk7CisgCisgICBjb250ZXh0LlBvc3RQcm9jZXNzU2V0TGlzdHMoc2V0X2xpc3RzKTsKK2Rp ZmYgLXVwIGNocm9taXVtLTEyMS4wLjYxNjcuNTcvY29udGVudC9icm93c2VyL2ludGVyZXN0X2dy b3VwL2hlYWRlcl9kaXJlY3RfZnJvbV9zZWxsZXJfc2lnbmFscy5oLm1lIGNocm9taXVtLTEyMS4w LjYxNjcuNTcvY29udGVudC9icm93c2VyL2ludGVyZXN0X2dyb3VwL2hlYWRlcl9kaXJlY3RfZnJv bV9zZWxsZXJfc2lnbmFscy5oCistLS0gY2hyb21pdW0tMTIxLjAuNjE2Ny41Ny9jb250ZW50L2Jy b3dzZXIvaW50ZXJlc3RfZ3JvdXAvaGVhZGVyX2RpcmVjdF9mcm9tX3NlbGxlcl9zaWduYWxzLmgu bWUJMjAyNC0wMS0yMSAxOTozMDowMC41MzYzODc4NDQgKzAxMDAKKysrKyBjaHJvbWl1bS0xMjEu MC42MTY3LjU3L2NvbnRlbnQvYnJvd3Nlci9pbnRlcmVzdF9ncm91cC9oZWFkZXJfZGlyZWN0X2Zy b21fc2VsbGVyX3NpZ25hbHMuaAkyMDI0LTAxLTIxIDIwOjI5OjUwLjIzNjI4NzUxNCArMDEwMAor QEAgLTEzMyw2ICsxMzMsNyBAQCBjbGFzcyBDT05URU5UX0VYUE9SVCBIZWFkZXJEaXJlY3RGcm9t U2VsCisgCisgICAgIC8vIFRoZSBBZC1BdWN0aW9uLVNpZ25hbHMgcmVzcG9uc2Ugc2VydmVkIGJ5 IGBvcmlnaW5gLgorICAgICBzdGQ6OnN0cmluZyByZXNwb25zZV9qc29uOworKyAgICBVbnByb2Nl c3NlZFJlc3BvbnNlKGF1dG8gdSwgYXV0byBzKSA6IG9yaWdpbih1KSwgcmVzcG9uc2VfanNvbihz KSB7IH0KKyAgIH07CisgCisgICAvLyBJbmZvcm1hdGlvbiBmcm9tIFBhcnNlQW5kRmluZCgpIGNh bGxzIHVzZWQgYnkgUGFyc2VBbmRGaW5kQ29tcGxldGVkLgorZGlmZiAtdXAgY2hyb21pdW0tMTIx LjAuNjE2Ny41Ny9jb250ZW50L2Jyb3dzZXIvc2VydmljZV93b3JrZXIvc2VydmljZV93b3JrZXJf bWFpbl9yZXNvdXJjZV9sb2FkZXJfaW50ZXJjZXB0b3IuY2MubWUgY2hyb21pdW0tMTIxLjAuNjE2 Ny41Ny9jb250ZW50L2Jyb3dzZXIvc2VydmljZV93b3JrZXIvc2VydmljZV93b3JrZXJfbWFpbl9y ZXNvdXJjZV9sb2FkZXJfaW50ZXJjZXB0b3IuY2MKKy0tLSBjaHJvbWl1bS0xMjEuMC42MTY3LjU3 L2NvbnRlbnQvYnJvd3Nlci9zZXJ2aWNlX3dvcmtlci9zZXJ2aWNlX3dvcmtlcl9tYWluX3Jlc291 cmNlX2xvYWRlcl9pbnRlcmNlcHRvci5jYy5tZQkyMDI0LTAxLTIxIDIxOjU4OjQ4Ljc3MzM2NjMw MSArMDEwMAorKysrIGNocm9taXVtLTEyMS4wLjYxNjcuNTcvY29udGVudC9icm93c2VyL3NlcnZp Y2Vfd29ya2VyL3NlcnZpY2Vfd29ya2VyX21haW5fcmVzb3VyY2VfbG9hZGVyX2ludGVyY2VwdG9y LmNjCTIwMjQtMDEtMjEgMjI6MDI6MTcuOTU2MDg2MTY3ICswMTAwCitAQCAtMzYwLDEwICszNjAs MTAgQEAgU2VydmljZVdvcmtlck1haW5SZXNvdXJjZUxvYWRlckludGVyY2VwdAorICAgfQorICAg YXV0byogc3RvcmFnZV9wYXJ0aXRpb24gPSBwcm9jZXNzLT5HZXRTdG9yYWdlUGFydGl0aW9uKCk7 CisgCistICByZXR1cm4gYWJzbDo6dmlzaXQoYmFzZTo6T3ZlcmxvYWRlZChbJiwgdGhpc10oYXV0 byB0b2tlbikgeworKyAgcmV0dXJuIGFic2w6OnZpc2l0KGJhc2U6Ok92ZXJsb2FkZWR7WyYsIHRo aXNdKGF1dG8gdG9rZW4pIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBHZXRTdG9y YWdlS2V5RnJvbVdvcmtlckhvc3Qoc3RvcmFnZV9wYXJ0aXRpb24sCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRva2VuLCBvcmlnaW4p OworLSAgICAgICAgICAgICAgICAgICAgIH0pLAorKyAgICAgICAgICAgICAgICAgICAgIH19LAor ICAgICAgICAgICAgICAgICAgICAgICp3b3JrZXJfdG9rZW5fKTsKKyB9CisgCitkaWZmIC11cCBj aHJvbWl1bS0xMjEuMC42MTY3LjU3L2NvbnRlbnQvYnJvd3Nlci9zZXJ2aWNlX3dvcmtlci9zZXJ2 aWNlX3dvcmtlcl9jb250YWluZXJfaG9zdC5jYy5tZSBjaHJvbWl1bS0xMjEuMC42MTY3LjU3L2Nv bnRlbnQvYnJvd3Nlci9zZXJ2aWNlX3dvcmtlci9zZXJ2aWNlX3dvcmtlcl9jb250YWluZXJfaG9z dC5jYworLS0tIGNocm9taXVtLTEyMS4wLjYxNjcuNTcvY29udGVudC9icm93c2VyL3NlcnZpY2Vf d29ya2VyL3NlcnZpY2Vfd29ya2VyX2NvbnRhaW5lcl9ob3N0LmNjLm1lCTIwMjQtMDEtMjEgMjI6 MDQ6MzAuNDQ2NDU0Njk3ICswMTAwCisrKysgY2hyb21pdW0tMTIxLjAuNjE2Ny41Ny9jb250ZW50 L2Jyb3dzZXIvc2VydmljZV93b3JrZXIvc2VydmljZV93b3JrZXJfY29udGFpbmVyX2hvc3QuY2MJ MjAyNC0wMS0yMSAyMjowNToyMi44NDczOTE0ODEgKzAxMDAKK0BAIC04NzAsNyArODcwLDcgQEAg U2VydmljZVdvcmtlckNvbnRhaW5lckhvc3Q6OkdldENsaWVudFR5cAorICAgRENIRUNLX0NBTExF RF9PTl9WQUxJRF9TRVFVRU5DRShzZXF1ZW5jZV9jaGVja2VyXyk7CisgICBEQ0hFQ0soY2xpZW50 X2luZm9fKTsKKyAgIHJldHVybiBhYnNsOjp2aXNpdCgKKy0gICAgICBiYXNlOjpPdmVybG9hZGVk KAorKyAgICAgIGJhc2U6Ok92ZXJsb2FkZWR7CisgICAgICAgICAgIFtdKEdsb2JhbFJlbmRlckZy YW1lSG9zdElkIHJlbmRlcl9mcmFtZV9ob3N0X2lkKSB7CisgICAgICAgICAgICAgcmV0dXJuIGJs aW5rOjptb2pvbTo6U2VydmljZVdvcmtlckNsaWVudFR5cGU6OmtXaW5kb3c7CisgICAgICAgICAg IH0sCitAQCAtODc5LDcgKzg3OSw3IEBAIFNlcnZpY2VXb3JrZXJDb250YWluZXJIb3N0OjpHZXRD bGllbnRUeXAKKyAgICAgICAgICAgfSwKKyAgICAgICAgICAgW10oYmxpbms6OlNoYXJlZFdvcmtl clRva2VuIHNoYXJlZF93b3JrZXJfdG9rZW4pIHsKKyAgICAgICAgICAgICByZXR1cm4gYmxpbms6 Om1vam9tOjpTZXJ2aWNlV29ya2VyQ2xpZW50VHlwZTo6a1NoYXJlZFdvcmtlcjsKKy0gICAgICAg ICAgfSksCisrICAgICAgICAgIH19LAorICAgICAgICpjbGllbnRfaW5mb18pOworIH0KKyAKK2Rp ZmYgLXVwIGNocm9taXVtLTEyMS4wLjYxNjcuNTcvY29udGVudC9icm93c2VyL3dvcmtlcl9ob3N0 L2RlZGljYXRlZF93b3JrZXJfaG9zdC5jYy5tZSBjaHJvbWl1bS0xMjEuMC42MTY3LjU3L2NvbnRl bnQvYnJvd3Nlci93b3JrZXJfaG9zdC9kZWRpY2F0ZWRfd29ya2VyX2hvc3QuY2MKKy0tLSBjaHJv bWl1bS0xMjEuMC42MTY3LjU3L2NvbnRlbnQvYnJvd3Nlci93b3JrZXJfaG9zdC9kZWRpY2F0ZWRf d29ya2VyX2hvc3QuY2MubWUJMjAyNC0wMS0yMSAyMjozNzowMC45Njk0MTYxNDggKzAxMDAKKysr KyBjaHJvbWl1bS0xMjEuMC42MTY3LjU3L2NvbnRlbnQvYnJvd3Nlci93b3JrZXJfaG9zdC9kZWRp Y2F0ZWRfd29ya2VyX2hvc3QuY2MJMjAyNC0wMS0yMSAyMjozODowNy43NTQ1MjgzMzUgKzAxMDAK K0BAIC0yNTEsNyArMjUxLDcgQEAgdm9pZCBEZWRpY2F0ZWRXb3JrZXJIb3N0OjpTdGFydFNjcmlw dExvYQorICAgUmVuZGVyRnJhbWVIb3N0SW1wbCogY3JlYXRvcl9yZW5kZXJfZnJhbWVfaG9zdCA9 IG51bGxwdHI7CisgICBEZWRpY2F0ZWRXb3JrZXJIb3N0KiBjcmVhdG9yX3dvcmtlciA9IG51bGxw dHI7CisgCistICBhYnNsOjp2aXNpdChiYXNlOjpPdmVybG9hZGVkKAorKyAgYWJzbDo6dmlzaXQo YmFzZTo6T3ZlcmxvYWRlZHsKKyAgICAgICAgICAgICAgICAgICBbJl0oY29uc3QgR2xvYmFsUmVu ZGVyRnJhbWVIb3N0SWQmIHJlbmRlcl9mcmFtZV9ob3N0X2lkKSB7CisgICAgICAgICAgICAgICAg ICAgICBjcmVhdG9yX3JlbmRlcl9mcmFtZV9ob3N0ID0KKyAgICAgICAgICAgICAgICAgICAgICAg ICBSZW5kZXJGcmFtZUhvc3RJbXBsOjpGcm9tSUQocmVuZGVyX2ZyYW1lX2hvc3RfaWQpOworQEAg LTI1OSw3ICsyNTksNyBAQCB2b2lkIERlZGljYXRlZFdvcmtlckhvc3Q6OlN0YXJ0U2NyaXB0TG9h CisgICAgICAgICAgICAgICAgICAgWyZdKGJsaW5rOjpEZWRpY2F0ZWRXb3JrZXJUb2tlbiBkZWRp Y2F0ZWRfd29ya2VyX3Rva2VuKSB7CisgICAgICAgICAgICAgICAgICAgICBjcmVhdG9yX3dvcmtl ciA9IHNlcnZpY2VfLT5HZXREZWRpY2F0ZWRXb3JrZXJIb3N0RnJvbVRva2VuKAorICAgICAgICAg ICAgICAgICAgICAgICAgIGRlZGljYXRlZF93b3JrZXJfdG9rZW4pOworLSAgICAgICAgICAgICAg ICAgIH0pLAorKyAgICAgICAgICAgICAgICAgIH19LAorICAgICAgICAgICAgICAgY3JlYXRvcl8p OworIAorICAgaWYgKCFjcmVhdG9yX3JlbmRlcl9mcmFtZV9ob3N0ICYmICFjcmVhdG9yX3dvcmtl cikgewpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTEyMS1u dWxscHRyX3Qtd2l0aG91dC1uYW1lc3BhY2Utc3RkLnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9w YXRjaGVzL2Nocm9taXVtLTEyMS1udWxscHRyX3Qtd2l0aG91dC1uYW1lc3BhY2Utc3RkLnBhdGNo Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAuLjNkZWZjMzkzYzA4NGYK LS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTIx LW51bGxwdHJfdC13aXRob3V0LW5hbWVzcGFjZS1zdGQucGF0Y2gKQEAgLTAsMCArMSwxMiBAQAor ZGlmZiAtdXAgY2hyb21pdW0tMTIwLjAuNjA5OS41Ni90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJl ci9jb3JlL3BhaW50L2ZyYWdtZW50X2RhdGFfaXRlcmF0b3IuaC50aGFuIGNocm9taXVtLTEyMC4w LjYwOTkuNTYvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWludC9mcmFnbWVudF9k YXRhX2l0ZXJhdG9yLmgKKy0tLSBjaHJvbWl1bS0xMjAuMC42MDk5LjU2L3RoaXJkX3BhcnR5L2Js aW5rL3JlbmRlcmVyL2NvcmUvcGFpbnQvZnJhZ21lbnRfZGF0YV9pdGVyYXRvci5oLnRoYW4JMjAy My0xMi0wNCAxMDoyMDo0NS4zNTA1NDA4OTcgKzAxMDAKKysrKyBjaHJvbWl1bS0xMjAuMC42MDk5 LjU2L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvcGFpbnQvZnJhZ21lbnRfZGF0YV9p dGVyYXRvci5oCTIwMjMtMTItMDQgMTA6MjM6MTcuMzM1MzM5NjcwICswMTAwCitAQCAtMjEsNyAr MjEsNyBAQCBjbGFzcyBGcmFnbWVudERhdGFJdGVyYXRvckJhc2UgeworIAorICBwdWJsaWM6Cisg ICBleHBsaWNpdCBGcmFnbWVudERhdGFJdGVyYXRvckJhc2UoSGVhZCYgaGVhZCkgOiBmcmFnbWVu dF9oZWFkXyhoZWFkKSB7fQorLSAgZXhwbGljaXQgRnJhZ21lbnREYXRhSXRlcmF0b3JCYXNlKG51 bGxwdHJfdCkge30KKysgIGV4cGxpY2l0IEZyYWdtZW50RGF0YUl0ZXJhdG9yQmFzZShzdGQ6Om51 bGxwdHJfdCkge30KKyAKKyAgIERhdGEqIEdldEZyYWdtZW50RGF0YSgpIGNvbnN0IHsKKyAgICAg cmV0dXJuICFJc0RvbmUoKSA/ICZmcmFnbWVudF9oZWFkXy5hdChpZHhfKSA6IG51bGxwdHI7CmRp ZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTIxLXB5dGhvbjMt aW52YWxpZC1lc2NhcGUtc2VxdWVuY2UucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMv Y2hyb21pdW0tMTIxLXB5dGhvbjMtaW52YWxpZC1lc2NhcGUtc2VxdWVuY2UucGF0Y2gKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMC4uYzJiZjViNDg5ZjdhMQotLS0gL2Rl di9udWxsCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0xMjEtcHl0aG9u My1pbnZhbGlkLWVzY2FwZS1zZXF1ZW5jZS5wYXRjaApAQCAtMCwwICsxLDc3IEBACitkaWZmIC11 cCBjaHJvbWl1bS0xMjEuMC42MTY3LjU3L3RoaXJkX3BhcnR5L2NhdGFwdWx0L2NvbW1vbi9weV92 dWxjYW5pemUvcHlfdnVsY2FuaXplL2h0bWxfZ2VuZXJhdGlvbl9jb250cm9sbGVyLnB5Lm1lIGNo cm9taXVtLTEyMS4wLjYxNjcuNTcvdGhpcmRfcGFydHkvY2F0YXB1bHQvY29tbW9uL3B5X3Z1bGNh bml6ZS9weV92dWxjYW5pemUvaHRtbF9nZW5lcmF0aW9uX2NvbnRyb2xsZXIucHkKKy0tLSBjaHJv bWl1bS0xMjEuMC42MTY3LjU3L3RoaXJkX3BhcnR5L2NhdGFwdWx0L2NvbW1vbi9weV92dWxjYW5p emUvcHlfdnVsY2FuaXplL2h0bWxfZ2VuZXJhdGlvbl9jb250cm9sbGVyLnB5Lm1lCTIwMjQtMDEt MTUgMjA6NDg6MjguMTc3Mzk3MTAyICswMTAwCisrKysgY2hyb21pdW0tMTIxLjAuNjE2Ny41Ny90 aGlyZF9wYXJ0eS9jYXRhcHVsdC9jb21tb24vcHlfdnVsY2FuaXplL3B5X3Z1bGNhbml6ZS9odG1s X2dlbmVyYXRpb25fY29udHJvbGxlci5weQkyMDI0LTAxLTE1IDIwOjQ4OjQ2LjQyNzc2ODMyOCAr MDEwMAorQEAgLTE4LDcgKzE4LDcgQEAgY2xhc3MgSFRNTEdlbmVyYXRpb25Db250cm9sbGVyKG9i amVjdCk6CisgCisgICBkZWYgR2V0SFRNTEZvcklubGluZVN0eWxlc2hlZXQoc2VsZiwgY29udGVu dHMpOgorICAgICBpZiBzZWxmLmN1cnJlbnRfbW9kdWxlIGlzIE5vbmU6CistICAgICAgaWYgcmUu c2VhcmNoKCd1cmxcKC4rXCknLCBjb250ZW50cyk6CisrICAgICAgaWYgcmUuc2VhcmNoKHIndXJs XCguK1wpJywgY29udGVudHMpOgorICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKAorICAgICAgICAg ICAgICdEZWZhdWx0IEhUTUxHZW5lcmF0aW9uQ29udHJvbGxlciBjYW5ub3QgaGFuZGxlIGlubGlu ZSBzdHlsZSB1cmxzJykKKyAgICAgICByZXR1cm4gY29udGVudHMKK2RpZmYgLXVwIGNocm9taXVt LTEyMS4wLjYxNjcuNTcvdGhpcmRfcGFydHkvY2F0YXB1bHQvY29tbW9uL3B5X3Z1bGNhbml6ZS9w eV92dWxjYW5pemUvanNfdXRpbHMucHkubWUgY2hyb21pdW0tMTIxLjAuNjE2Ny41Ny90aGlyZF9w YXJ0eS9jYXRhcHVsdC9jb21tb24vcHlfdnVsY2FuaXplL3B5X3Z1bGNhbml6ZS9qc191dGlscy5w eQorLS0tIGNocm9taXVtLTEyMS4wLjYxNjcuNTcvdGhpcmRfcGFydHkvY2F0YXB1bHQvY29tbW9u L3B5X3Z1bGNhbml6ZS9weV92dWxjYW5pemUvanNfdXRpbHMucHkubWUJMjAyNC0wMS0xNSAyMDo0 OTozOS4zNjM4NDUwODMgKzAxMDAKKysrKyBjaHJvbWl1bS0xMjEuMC42MTY3LjU3L3RoaXJkX3Bh cnR5L2NhdGFwdWx0L2NvbW1vbi9weV92dWxjYW5pemUvcHlfdnVsY2FuaXplL2pzX3V0aWxzLnB5 CTIwMjQtMDEtMTUgMjA6NDk6NTcuNDA3MjEyMDk4ICswMTAwCitAQCAtNCw0ICs0LDQgQEAKKyAK KyAKKyBkZWYgRXNjYXBlSlNJZk5lZWRlZChqcyk6CistICByZXR1cm4ganMucmVwbGFjZSgnPC9z Y3JpcHQ+JywgJzxcL3NjcmlwdD4nKQorKyAgcmV0dXJuIGpzLnJlcGxhY2Uocic8L3NjcmlwdD4n LCByJzxcL3NjcmlwdD4nKQorZGlmZiAtdXAgY2hyb21pdW0tMTIxLjAuNjE2Ny41Ny90aGlyZF9w YXJ0eS9jYXRhcHVsdC9jb21tb24vcHlfdnVsY2FuaXplL3B5X3Z1bGNhbml6ZS9wYXJzZV9odG1s X2RlcHMucHkubWUgY2hyb21pdW0tMTIxLjAuNjE2Ny41Ny90aGlyZF9wYXJ0eS9jYXRhcHVsdC9j b21tb24vcHlfdnVsY2FuaXplL3B5X3Z1bGNhbml6ZS9wYXJzZV9odG1sX2RlcHMucHkKKy0tLSBj aHJvbWl1bS0xMjEuMC42MTY3LjU3L3RoaXJkX3BhcnR5L2NhdGFwdWx0L2NvbW1vbi9weV92dWxj YW5pemUvcHlfdnVsY2FuaXplL3BhcnNlX2h0bWxfZGVwcy5weS5tZQkyMDI0LTAxLTE1IDIwOjUw OjExLjgxOTUwNTI1NCArMDEwMAorKysrIGNocm9taXVtLTEyMS4wLjYxNjcuNTcvdGhpcmRfcGFy dHkvY2F0YXB1bHQvY29tbW9uL3B5X3Z1bGNhbml6ZS9weV92dWxjYW5pemUvcGFyc2VfaHRtbF9k ZXBzLnB5CTIwMjQtMDEtMTUgMjA6NTA6MzguNjExMDUwMjEzICswMTAwCitAQCAtMjkzLDYgKzI5 Myw2IEBAIGNsYXNzIEhUTUxNb2R1bGVQYXJzZXIoKToKKyAgICAgICBodG1sID0gJycKKyAgICAg ZWxzZToKKyAgICAgICBpZiBodG1sLmZpbmQoJzwgL3NjcmlwdD4nKSAhPSAtMToKKy0gICAgICAg IHJhaXNlIEV4Y2VwdGlvbignRXNjYXBlIHNjcmlwdCB0YWdzIHdpdGggPFwvc2NyaXB0PicpCisr ICAgICAgICByYWlzZSBFeGNlcHRpb24ocidFc2NhcGUgc2NyaXB0IHRhZ3Mgd2l0aCA8XC9zY3Jp cHQ+JykKKyAKKyAgICAgcmV0dXJuIEhUTUxNb2R1bGVQYXJzZXJSZXN1bHRzKGh0bWwpCitkaWZm IC11cCBjaHJvbWl1bS0xMjEuMC42MTY3LjU3L3RoaXJkX3BhcnR5L2NhdGFwdWx0L2NvbW1vbi9w eV92dWxjYW5pemUvcHlfdnVsY2FuaXplL3N0eWxlX3NoZWV0LnB5Lm1lIGNocm9taXVtLTEyMS4w LjYxNjcuNTcvdGhpcmRfcGFydHkvY2F0YXB1bHQvY29tbW9uL3B5X3Z1bGNhbml6ZS9weV92dWxj YW5pemUvc3R5bGVfc2hlZXQucHkKKy0tLSBjaHJvbWl1bS0xMjEuMC42MTY3LjU3L3RoaXJkX3Bh cnR5L2NhdGFwdWx0L2NvbW1vbi9weV92dWxjYW5pemUvcHlfdnVsY2FuaXplL3N0eWxlX3NoZWV0 LnB5Lm1lCTIwMjQtMDEtMTUgMjA6NDg6NTkuOTE3MDQyNzA5ICswMTAwCisrKysgY2hyb21pdW0t MTIxLjAuNjE2Ny41Ny90aGlyZF9wYXJ0eS9jYXRhcHVsdC9jb21tb24vcHlfdnVsY2FuaXplL3B5 X3Z1bGNhbml6ZS9zdHlsZV9zaGVldC5weQkyMDI0LTAxLTE1IDIwOjQ5OjI0LjQwMjU0MDc2MSAr MDEwMAorQEAgLTYwLDcgKzYwLDcgQEAgY2xhc3MgUGFyc2VkU3R5bGVTaGVldChvYmplY3QpOgor ICAgICAgIHJldHVybiAndXJsKGRhdGE6aW1hZ2UvJXM7YmFzZTY0LCVzKScgJSAoZXh0WzE6XSwg ZGF0YS5kZWNvZGUoJ3V0Zi04JykpCisgCisgICAgICMgSSdtIGFzc3VtaW5nIHdlIG9ubHkgaGF2 ZSB1cmwoKSdzIGFzc29jaWF0ZWQgd2l0aCBpbWFnZXMKKy0gICAgcmV0dXJuIHJlLnN1YigndXJs XCgoP1A8cXVvdGU+InxcJ3wpKD9QPHVybD5bXiJcJygpXSopKD9QPXF1b3RlKVwpJywKKysgICAg cmV0dXJuIHJlLnN1YihyJ3VybFwoKD9QPHF1b3RlPiJ8XCd8KSg/UDx1cmw+W14iXCcoKV0qKSg/ UD1xdW90ZSlcKScsCisgICAgICAgICAgICAgICAgICAgSW5saW5lVXJsLCBzZWxmLmNvbnRlbnRz KQorIAorICAgZGVmIEFwcGVuZERpcmVjdGx5RGVwZW5kZW50RmlsZW5hbWVzVG8oc2VsZiwgZGVw ZW5kZW50X2ZpbGVuYW1lcyk6CitAQCAtNzIsNyArNzIsNyBAQCBjbGFzcyBQYXJzZWRTdHlsZVNo ZWV0KG9iamVjdCk6CisgICAgICAgcmFpc2UgRXhjZXB0aW9uKCdAaW1wb3J0cyBhcmUgbm90IHN1 cHBvcnRlZCcpCisgCisgICAgIG1hdGNoZXMgPSByZS5maW5kYWxsKAorLSAgICAgICAgJ3VybFwo KD86WyJ8XCddPykoW14iXCcoKV0qKSg/OlsifFwnXT8pXCknLAorKyAgICAgICAgcid1cmxcKCg/ OlsifFwnXT8pKFteIlwnKCldKikoPzpbInxcJ10/KVwpJywKKyAgICAgICAgIHNlbGYuY29udGVu dHMpCisgCisgICAgIGRlZiByZXNvbHZlX3VybCh1cmwpOgorZGlmZiAtdXAgY2hyb21pdW0tMTIx LjAuNjE2Ny41Ny90aGlyZF9wYXJ0eS92dWxrYW4tZGVwcy92dWxrYW4tdG9vbHMvc3JjL3Njcmlw dHMvZ24vZ2VuZXJhdGVfdnVsa2FuX2ljZF9qc29uLnB5Lm1lIGNocm9taXVtLTEyMS4wLjYxNjcu NTcvdGhpcmRfcGFydHkvdnVsa2FuLWRlcHMvdnVsa2FuLXRvb2xzL3NyYy9zY3JpcHRzL2duL2dl bmVyYXRlX3Z1bGthbl9pY2RfanNvbi5weQorLS0tIGNocm9taXVtLTEyMS4wLjYxNjcuNTcvdGhp cmRfcGFydHkvdnVsa2FuLWRlcHMvdnVsa2FuLXRvb2xzL3NyYy9zY3JpcHRzL2duL2dlbmVyYXRl X3Z1bGthbl9pY2RfanNvbi5weS5tZQkyMDI0LTAxLTE1IDIwOjUwOjU2LjgxMDQyMDQwMCArMDEw MAorKysrIGNocm9taXVtLTEyMS4wLjYxNjcuNTcvdGhpcmRfcGFydHkvdnVsa2FuLWRlcHMvdnVs a2FuLXRvb2xzL3NyYy9zY3JpcHRzL2duL2dlbmVyYXRlX3Z1bGthbl9pY2RfanNvbi5weQkyMDI0 LTAxLTE1IDIwOjUyOjMzLjUwNjM4NzI2MSArMDEwMAorQEAgLTI4LDcgKzI4LDcgQEAgaW1wb3J0 IHBsYXRmb3JtCisgaW1wb3J0IHN5cworIAorIGRlZiBnbG9iX3NsYXNoKGRpcm5hbWUpOgorLSAg ICAiIiJMaWtlIHJlZ3VsYXIgZ2xvYiBidXQgcmVwbGFjZXMgXCB3aXRoIC8gaW4gcmV0dXJuZWQg cGF0aHMuIiIiCisrICAgICIiIkxpa2UgcmVndWxhciBnbG9iIGJ1dCByZXBsYWNlcyBcXCB3aXRo IC8gaW4gcmV0dXJuZWQgcGF0aHMuIiIiCisgICAgIHJldHVybiBbcy5yZXBsYWNlKCdcXCcsICcv JykgZm9yIHMgaW4gZ2xvYi5nbG9iKGRpcm5hbWUpXQorIAorIGRlZiBtYWluKCk6CitkaWZmIC11 cCBjaHJvbWl1bS0xMjEuMC42MTY3LjU3L3RoaXJkX3BhcnR5L3Z1bGthbi1kZXBzL3Z1bGthbi12 YWxpZGF0aW9uLWxheWVycy9zcmMvc2NyaXB0cy9nbi9nZW5lcmF0ZV92dWxrYW5fbGF5ZXJzX2pz b24ucHkubWUgY2hyb21pdW0tMTIxLjAuNjE2Ny41Ny90aGlyZF9wYXJ0eS92dWxrYW4tZGVwcy92 dWxrYW4tdmFsaWRhdGlvbi1sYXllcnMvc3JjL3NjcmlwdHMvZ24vZ2VuZXJhdGVfdnVsa2FuX2xh eWVyc19qc29uLnB5CistLS0gY2hyb21pdW0tMTIxLjAuNjE2Ny41Ny90aGlyZF9wYXJ0eS92dWxr YW4tZGVwcy92dWxrYW4tdmFsaWRhdGlvbi1sYXllcnMvc3JjL3NjcmlwdHMvZ24vZ2VuZXJhdGVf dnVsa2FuX2xheWVyc19qc29uLnB5Lm1lCTIwMjQtMDEtMTUgMjA6NTI6MzguMDE2NDc5MDAwICsw MTAwCisrKysgY2hyb21pdW0tMTIxLjAuNjE2Ny41Ny90aGlyZF9wYXJ0eS92dWxrYW4tZGVwcy92 dWxrYW4tdmFsaWRhdGlvbi1sYXllcnMvc3JjL3NjcmlwdHMvZ24vZ2VuZXJhdGVfdnVsa2FuX2xh eWVyc19qc29uLnB5CTIwMjQtMDEtMTUgMjA6NTI6NDguODYzNjk5NjQwICswMTAwCitAQCAtMjgs NyArMjgsNyBAQCBpbXBvcnQgcGxhdGZvcm0KKyBpbXBvcnQgc3lzCisgCisgZGVmIGdsb2Jfc2xh c2goZGlybmFtZSk6CistICAgICIiIkxpa2UgcmVndWxhciBnbG9iIGJ1dCByZXBsYWNlcyBcIHdp dGggLyBpbiByZXR1cm5lZCBwYXRocy4iIiIKKysgICAgIiIiTGlrZSByZWd1bGFyIGdsb2IgYnV0 IHJlcGxhY2VzIFxcIHdpdGggLyBpbiByZXR1cm5lZCBwYXRocy4iIiIKKyAgICAgcmV0dXJuIFtz LnJlcGxhY2UoJ1xcJywgJy8nKSBmb3IgcyBpbiBnbG9iLmdsb2IoZGlybmFtZSldCisgCisgZGVm IG1haW4oKToKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0x MjEtcnVzdC1jbGFuZ19saWIucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21p dW0tMTIxLXJ1c3QtY2xhbmdfbGliLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMDAwMDAuLjQwMTRmOWE4Mjc2NDgKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2No cm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTIxLXJ1c3QtY2xhbmdfbGliLnBhdGNoCkBAIC0wLDAg KzEsMjIgQEAKKy0tLSBhL2J1aWxkL2NvbmZpZy9jbGFuZy9CVUlMRC5nbgorKysrIGIvYnVpbGQv Y29uZmlnL2NsYW5nL0JVSUxELmduCitAQCAtMTI4LDE0ICsxMjgsMTUgQEAKKyAgICAgICB9IGVs c2UgaWYgKGlzX2FwcGxlKSB7CisgICAgICAgICBfZGlyID0gImRhcndpbiIKKyAgICAgICB9IGVs c2UgaWYgKGlzX2xpbnV4IHx8IGlzX2Nocm9tZW9zKSB7CisrICAgICAgICBfZGlyID0gImxpbnV4 IgorICAgICAgICAgaWYgKGN1cnJlbnRfY3B1ID09ICJ4NjQiKSB7CistICAgICAgICAgIF9kaXIg PSAieDg2XzY0LXVua25vd24tbGludXgtZ251IgorKyAgICAgICAgICBfc3VmZml4ID0gIi14ODZf NjQiCisgICAgICAgICB9IGVsc2UgaWYgKGN1cnJlbnRfY3B1ID09ICJ4ODYiKSB7CistICAgICAg ICAgIF9kaXIgPSAiaTM4Ni11bmtub3duLWxpbnV4LWdudSIKKysgICAgICAgICAgX3N1ZmZpeCA9 ICItaTM4NiIKKyAgICAgICAgIH0gZWxzZSBpZiAoY3VycmVudF9jcHUgPT0gImFybSIpIHsKKy0g ICAgICAgICAgX2RpciA9ICJhcm12Ny11bmtub3duLWxpbnV4LWdudWVhYmloZiIKKysgICAgICAg ICAgX3N1ZmZpeCA9ICItYXJtaGYiCisgICAgICAgICB9IGVsc2UgaWYgKGN1cnJlbnRfY3B1ID09 ICJhcm02NCIpIHsKKy0gICAgICAgICAgX2RpciA9ICJhYXJjaDY0LXVua25vd24tbGludXgtZ251 IgorKyAgICAgICAgICBfc3VmZml4ID0gIi1hYXJjaDY0IgorICAgICAgICAgfSBlbHNlIHsKKyAg ICAgICAgICAgYXNzZXJ0KGZhbHNlKSAgIyBVbmhhbmRsZWQgY3B1IHR5cGUKKyAgICAgICAgIH0K ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0xMjEtcnVzdC13 aXRob3V0LXByb2ZpbGVyX2J1aWx0aW5zLnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVz L2Nocm9taXVtLTEyMS1ydXN0LXdpdGhvdXQtcHJvZmlsZXJfYnVpbHRpbnMucGF0Y2gKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMC4uMjVjMzQyMjk4MjkzMwotLS0gL2Rl di9udWxsCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0xMjEtcnVzdC13 aXRob3V0LXByb2ZpbGVyX2J1aWx0aW5zLnBhdGNoCkBAIC0wLDAgKzEsMTAgQEAKKy0tLSBhL2J1 aWxkL3J1c3Qvc3RkL0JVSUxELmduCisrKysgYi9idWlsZC9ydXN0L3N0ZC9CVUlMRC5nbgorQEAg LTEwMCw3ICsxMDAsNiBAQAorICAgIyBkb24ndCBuZWVkIHRvIHBhc3MgdG8gdGhlIEMrKyBsaW5r ZXIgYmVjYXVzZSB0aGV5J3JlIHVzZWQgZm9yIHNwZWNpYWxpemVkCisgICAjIHB1cnBvc2VzLgor ICAgc2tpcF9zdGRsaWJfZmlsZXMgPSBbCistICAgICJwcm9maWxlcl9idWlsdGlucyIsCisgICAg ICJydXN0Y19zdGRfd29ya3NwYWNlX2FsbG9jIiwKKyAgICAgInJ1c3RjX3N0ZF93b3Jrc3BhY2Vf Y29yZSIsCisgICAgICJydXN0Y19zdGRfd29ya3NwYWNlX3N0ZCIsCmRpZmYgLS1naXQgYS9zcmNw a2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTIxLXN5c3RlbS1vbGQtZmZtcGVnLnBhdGNo IGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTEyMS1zeXN0ZW0tb2xkLWZmbXBl Zy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwLi4wMzk4ZTVi Njk3ZjkwCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9t aXVtLTEyMS1zeXN0ZW0tb2xkLWZmbXBlZy5wYXRjaApAQCAtMCwwICsxLDM0IEBACitkaWZmIC11 cCBjaHJvbWl1bS0xMjEuMC42MTY3LjU3L21lZGlhL2ZmbXBlZy9mZm1wZWdfY29tbW9uLmNjLm1l IGNocm9taXVtLTEyMS4wLjYxNjcuNTcvbWVkaWEvZmZtcGVnL2ZmbXBlZ19jb21tb24uY2MKKy0t LSBjaHJvbWl1bS0xMjEuMC42MTY3LjU3L21lZGlhL2ZmbXBlZy9mZm1wZWdfY29tbW9uLmNjLm1l CTIwMjQtMDEtMTYgMTA6NTQ6MzguOTk0MTczOTExICswMTAwCisrKysgY2hyb21pdW0tMTIxLjAu NjE2Ny41Ny9tZWRpYS9mZm1wZWcvZmZtcGVnX2NvbW1vbi5jYwkyMDI0LTAxLTE2IDExOjA2OjIw Ljk3NDE2MDYxMiArMDEwMAorQEAgLTcxMCw4ICs3MTAsMTMgQEAgYm9vbCBBVlN0cmVhbVRvVmlk ZW9EZWNvZGVyQ29uZmlnKGNvbnN0CisgICB9CisgCisgICBWaWRlb1RyYW5zZm9ybWF0aW9uIHZp ZGVvX3RyYW5zZm9ybWF0aW9uID0gVmlkZW9UcmFuc2Zvcm1hdGlvbigpOworKyNpZiBMSUJBVkNP REVDX1ZFUlNJT05fSU5UIDwgQVZfVkVSU0lPTl9JTlQoNjAsIDMxLCAxMDIpCisrICBmb3IgKGlu dCBpID0gMDsgaSA8IHN0cmVhbS0+bmJfc2lkZV9kYXRhOyBpKyspIHsKKysgICAgY29uc3QgYXV0 byYgc2lkZV9kYXRhID0gc3RyZWFtLT5zaWRlX2RhdGFbaV07CisrI2Vsc2UKKyAgIGZvciAoaW50 IGkgPSAwOyBpIDwgc3RyZWFtLT5jb2RlY3Bhci0+bmJfY29kZWRfc2lkZV9kYXRhOyArK2kpIHsK KyAgICAgY29uc3QgYXV0byYgc2lkZV9kYXRhID0gc3RyZWFtLT5jb2RlY3Bhci0+Y29kZWRfc2lk ZV9kYXRhW2ldOworKyNlbmRpZgorICAgICBzd2l0Y2ggKHNpZGVfZGF0YS50eXBlKSB7CisgICAg ICAgY2FzZSBBVl9QS1RfREFUQV9ESVNQTEFZTUFUUklYOiB7CisgICAgICAgICBDSEVDS19FUShz aWRlX2RhdGEuc2l6ZSwgc2l6ZW9mKGludDMyX3QpICogMyAqIDMpOworZGlmZiAtdXAgY2hyb21p dW0tMTIxLjAuNjE2Ny41Ny9tZWRpYS9maWx0ZXJzL2F1ZGlvX3ZpZGVvX21ldGFkYXRhX2V4dHJh Y3Rvci5jYy5tZSBjaHJvbWl1bS0xMjEuMC42MTY3LjU3L21lZGlhL2ZpbHRlcnMvYXVkaW9fdmlk ZW9fbWV0YWRhdGFfZXh0cmFjdG9yLmNjCistLS0gY2hyb21pdW0tMTIxLjAuNjE2Ny41Ny9tZWRp YS9maWx0ZXJzL2F1ZGlvX3ZpZGVvX21ldGFkYXRhX2V4dHJhY3Rvci5jYy5tZQkyMDI0LTAxLTE2 IDExOjEyOjI3LjUyMTUzNDE1MSArMDEwMAorKysrIGNocm9taXVtLTEyMS4wLjYxNjcuNTcvbWVk aWEvZmlsdGVycy9hdWRpb192aWRlb19tZXRhZGF0YV9leHRyYWN0b3IuY2MJMjAyNC0wMS0xNiAx MToxNTowOC43MTczMzcwMjYgKzAxMDAKK0BAIC0xMTMsOCArMTEzLDEzIEBAIGJvb2wgQXVkaW9W aWRlb01ldGFkYXRhRXh0cmFjdG9yOjpFeHRyYWMKKyAgICAgaWYgKCFzdHJlYW0pCisgICAgICAg Y29udGludWU7CisgCisrI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9JTlQgPCBBVl9WRVJTSU9OX0lO VCg2MCwgMzEsIDEwMikKKysgICAgZm9yIChpbnQgaiA9IDA7IGogPCBzdHJlYW0tPm5iX3NpZGVf ZGF0YTsgaisrKSB7CisrICAgICAgY29uc3QgQVZQYWNrZXRTaWRlRGF0YSYgc2QgPSBzdHJlYW0t PnNpZGVfZGF0YVtqXTsKKysjZWxzZQorICAgICBmb3IgKGludCBqID0gMDsgaiA8IHN0cmVhbS0+ Y29kZWNwYXItPm5iX2NvZGVkX3NpZGVfZGF0YTsgaisrKSB7CisgICAgICAgY29uc3QgQVZQYWNr ZXRTaWRlRGF0YSYgc2QgPSBzdHJlYW0tPmNvZGVjcGFyLT5jb2RlZF9zaWRlX2RhdGFbal07Cisr I2VuZGlmCisgICAgICAgaWYgKHNkLnR5cGUgPT0gQVZfUEtUX0RBVEFfRElTUExBWU1BVFJJWCkg eworICAgICAgICAgQ0hFQ0tfRVEoc2Quc2l6ZSwgc2l6ZW9mKGludDMyX3QpICogMyAqIDMpOwor ICAgICAgICAgcm90YXRpb25fID0gVmlkZW9UcmFuc2Zvcm1hdGlvbjo6RnJvbUZGbXBlZ0Rpc3Bs YXlNYXRyaXgoCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0t MTIwLXR5cGVuYW1lLnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTEy MS10eXBlbmFtZS5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDc4JQpyZW5hbWUgZnJvbSBzcmNwa2dz L2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTIwLXR5cGVuYW1lLnBhdGNoCnJlbmFtZSB0byBz cmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTIxLXR5cGVuYW1lLnBhdGNoCmluZGV4 IDlhMmQ4NzhiMTJiNTQuLmU4M2U2MmM2MGE1NGUgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvY2hyb21p dW0vcGF0Y2hlcy9jaHJvbWl1bS0xMjAtdHlwZW5hbWUucGF0Y2gKKysrIGIvc3JjcGtncy9jaHJv bWl1bS9wYXRjaGVzL2Nocm9taXVtLTEyMS10eXBlbmFtZS5wYXRjaApAQCAtMjAzLDMgKzIwMyw1 NyBAQCBkaWZmIC11cCBjaHJvbWl1bS0xMjAuMC42MDk5LjU2L3RoaXJkX3BhcnR5L2JsaW5rL3Jl bmRlcmVyL2JpbmRpbmdzL2NvcmUvdjgvYXN5bgogICAgICAgIEV4Y2VwdGlvblN0YXRlJiBleGNl cHRpb25fc3RhdGUpID0gMDsKICB9OwogIAorZGlmZiAtdXAgY2hyb21pdW0tMTIxLjAuNjE2Ny41 Ny9iYXNlL2Z1bmN0aW9uYWwvYmluZF9pbnRlcm5hbC5oLm1lIGNocm9taXVtLTEyMS4wLjYxNjcu NTcvYmFzZS9mdW5jdGlvbmFsL2JpbmRfaW50ZXJuYWwuaAorLS0tIGNocm9taXVtLTEyMS4wLjYx NjcuNTcvYmFzZS9mdW5jdGlvbmFsL2JpbmRfaW50ZXJuYWwuaC5tZQkyMDI0LTAxLTIxIDE2OjEw OjA5LjgwOTAzNzU4MSArMDEwMAorKysrIGNocm9taXVtLTEyMS4wLjYxNjcuNTcvYmFzZS9mdW5j dGlvbmFsL2JpbmRfaW50ZXJuYWwuaAkyMDI0LTAxLTIxIDE2OjQ2OjMzLjc1OTM5NzMwMyArMDEw MAorQEAgLTE1MzMsMTEgKzE1MzMsMTEgQEAgdGVtcGxhdGUgPGludCBpLAorICAgICAgICAgICB0 eXBlbmFtZSBQYXJhbT4KKyBzdHJ1Y3QgUGFyYW1DYW5CZUJvdW5kIHsKKyAgcHJpdmF0ZToKKy0g IHVzaW5nIFVud3JhcHBlZFBhcmFtID0gQmluZEFyZ3VtZW50PGk+Ojp0ZW1wbGF0ZSBGb3J3YXJk ZWRBczwKKysgIHVzaW5nIFVud3JhcHBlZFBhcmFtID0gdHlwZW5hbWUgQmluZEFyZ3VtZW50PGk+ Ojp0ZW1wbGF0ZSBGb3J3YXJkZWRBczwKKyAgICAgICBVbndyYXBwZWQ+Ojp0ZW1wbGF0ZSBUb1Bh cmFtV2l0aFR5cGU8UGFyYW0+OworLSAgdXNpbmcgUGFyYW1TdG9yYWdlID0gQmluZEFyZ3VtZW50 PGk+Ojp0ZW1wbGF0ZSBUb1BhcmFtV2l0aFR5cGU8CisrICB1c2luZyBQYXJhbVN0b3JhZ2UgPSB0 eXBlbmFtZSBCaW5kQXJndW1lbnQ8aT46OnRlbXBsYXRlIFRvUGFyYW1XaXRoVHlwZTwKKyAgICAg ICBQYXJhbT46OnRlbXBsYXRlIFN0b3JlZEFzPFN0b3JhZ2U+OworLSAgdXNpbmcgQm91bmRTdG9y YWdlID0KKysgIHVzaW5nIEJvdW5kU3RvcmFnZSA9IHR5cGVuYW1lCisgICAgICAgQmluZEFyZ3Vt ZW50PGk+Ojp0ZW1wbGF0ZSBCb3VuZEFzPEFyZz46OnRlbXBsYXRlIFN0b3JlZEFzPFN0b3JhZ2U+ OworIAorICAgLy8gV2UgZm9yYmlkIGNhbGxiYWNrcyBmcm9tIHVzaW5nIHJhd19wdHIgYXMgYSBw YXJhbWV0ZXIuIEhvd2V2ZXIsIHdlIGFsbG93CitkaWZmIC11cCBjaHJvbWl1bS0xMjEuMC42MTY3 LjU3L21vam8vcHVibGljL2NwcC9iaW5kaW5ncy9hcnJheV90cmFpdHMuaC5tZSBjaHJvbWl1bS0x MjEuMC42MTY3LjU3L21vam8vcHVibGljL2NwcC9iaW5kaW5ncy9hcnJheV90cmFpdHMuaAorLS0t IGNocm9taXVtLTEyMS4wLjYxNjcuNTcvbW9qby9wdWJsaWMvY3BwL2JpbmRpbmdzL2FycmF5X3Ry YWl0cy5oLm1lCTIwMjQtMDEtMjEgMTc6MjM6MzcuNzg2NjA2NDI4ICswMTAwCisrKysgY2hyb21p dW0tMTIxLjAuNjE2Ny41Ny9tb2pvL3B1YmxpYy9jcHAvYmluZGluZ3MvYXJyYXlfdHJhaXRzLmgJ MjAyNC0wMS0yMSAxNzoyMzo1OC41ODIxMjcxMDMgKzAxMDAKK0BAIC05MCw3ICs5MCw3IEBAIHRl bXBsYXRlIDx0eXBlbmFtZSBDb250YWluZXI+CisgICAgIHsgY1tpXSB9IC0+IHN0ZDo6c2FtZV9h czx0eXBlbmFtZSBDb250YWluZXI6OnJlZmVyZW5jZT47CisgICB9Cisgc3RydWN0IEFycmF5VHJh aXRzPENvbnRhaW5lcj4geworLSAgdXNpbmcgRWxlbWVudCA9IENvbnRhaW5lcjo6dmFsdWVfdHlw ZTsKKysgIHVzaW5nIEVsZW1lbnQgPSB0eXBlbmFtZSBDb250YWluZXI6OnZhbHVlX3R5cGU7Cisg CisgICAvLyB2ZWN0b3ItbGlrZSBjb250YWluZXJzIGhhdmUgbm8gYnVpbHQtaW4gbnVsbC4KKyAg IHN0YXRpYyBib29sIElzTnVsbChjb25zdCBDb250YWluZXImIGMpIHsgcmV0dXJuIGZhbHNlOyB9 CitkaWZmIC11cCBjaHJvbWl1bS0xMjEuMC42MTY3LjU3L2NvbXBvbmVudHMvb3B0aW1pemF0aW9u X2d1aWRlL2NvcmUvbW9kZWxfZXhlY3V0aW9uL21vZGVsX2V4ZWN1dGlvbl91dGlsLmgubWUgY2hy b21pdW0tMTIxLjAuNjE2Ny41Ny9jb21wb25lbnRzL29wdGltaXphdGlvbl9ndWlkZS9jb3JlL21v ZGVsX2V4ZWN1dGlvbi9tb2RlbF9leGVjdXRpb25fdXRpbC5oCistLS0gY2hyb21pdW0tMTIxLjAu NjE2Ny41Ny9jb21wb25lbnRzL29wdGltaXphdGlvbl9ndWlkZS9jb3JlL21vZGVsX2V4ZWN1dGlv bi9tb2RlbF9leGVjdXRpb25fdXRpbC5oLm1lCTIwMjQtMDEtMjEgMTc6MzM6NDAuMDMwODk3ODM4 ICswMTAwCisrKysgY2hyb21pdW0tMTIxLjAuNjE2Ny41Ny9jb21wb25lbnRzL29wdGltaXphdGlv bl9ndWlkZS9jb3JlL21vZGVsX2V4ZWN1dGlvbi9tb2RlbF9leGVjdXRpb25fdXRpbC5oCTIwMjQt MDEtMjEgMTc6MzQ6MTEuNTE4NzA1MjY2ICswMTAwCitAQCAtMjUsNyArMjUsNyBAQCB2b2lkIFNl dEV4ZWN1dGlvblJlcXVlc3RUZW1wbGF0ZSgKKyAKKyAgIC8vIFJlcXVlc3QgaXMgc2V0IGJ5IHRo ZSBmZWF0dXJlIGFuZCBzaG91bGQgYWx3YXlzIGJlIHR5cGVkLgorICAgYXV0byB0eXBlZF9yZXF1 ZXN0ID0KKy0gICAgICBzdGF0aWNfY2FzdDxjb25zdCBGZWF0dXJlVHlwZTo6UmVxdWVzdCY+KHJl cXVlc3RfbWV0YWRhdGEpOworKyAgICAgIHN0YXRpY19jYXN0PGNvbnN0IHR5cGVuYW1lIEZlYXR1 cmVUeXBlOjpSZXF1ZXN0Jj4ocmVxdWVzdF9tZXRhZGF0YSk7CisgICAqKGxvZ2dpbmdfZGF0YS0+ bXV0YWJsZV9yZXF1ZXN0X2RhdGEoKSkgPSB0eXBlZF9yZXF1ZXN0OworIH0KKyAKK2RpZmYgLXVw IGNocm9taXVtLTEyMS4wLjYxNjcuNTcvY29tcG9uZW50cy9vcHRpbWl6YXRpb25fZ3VpZGUvY29y ZS9tb2RlbF9xdWFsaXR5L21vZGVsX3F1YWxpdHlfbG9nX2VudHJ5LmgubWUgY2hyb21pdW0tMTIx LjAuNjE2Ny41Ny9jb21wb25lbnRzL29wdGltaXphdGlvbl9ndWlkZS9jb3JlL21vZGVsX3F1YWxp dHkvbW9kZWxfcXVhbGl0eV9sb2dfZW50cnkuaAorLS0tIGNocm9taXVtLTEyMS4wLjYxNjcuNTcv Y29tcG9uZW50cy9vcHRpbWl6YXRpb25fZ3VpZGUvY29yZS9tb2RlbF9xdWFsaXR5L21vZGVsX3F1 YWxpdHlfbG9nX2VudHJ5LmgubWUJMjAyNC0wMS0yMSAxNzozMjo0Mi4zNjc0MTc2MTkgKzAxMDAK KysrKyBjaHJvbWl1bS0xMjEuMC42MTY3LjU3L2NvbXBvbmVudHMvb3B0aW1pemF0aW9uX2d1aWRl L2NvcmUvbW9kZWxfcXVhbGl0eS9tb2RlbF9xdWFsaXR5X2xvZ19lbnRyeS5oCTIwMjQtMDEtMjEg MTc6MzM6MjUuNzMyNTMxMTk4ICswMTAwCitAQCAtMjksNyArMjksNyBAQCBjbGFzcyBNb2RlbFF1 YWxpdHlMb2dFbnRyeSB7CisgICB9CisgCisgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgRmVhdHVyZVR5 cGU+CistICBGZWF0dXJlVHlwZTo6UXVhbGl0eSogcXVhbGl0eV9kYXRhKCkgeworKyAgdHlwZW5h bWUgRmVhdHVyZVR5cGU6OlF1YWxpdHkqIHF1YWxpdHlfZGF0YSgpIHsKKyAgICAgcmV0dXJuIEZl YXR1cmVUeXBlOjpHZXRMb2dnaW5nRGF0YSgqbG9nX2FpX2RhdGFfcmVxdWVzdF8pCisgICAgICAg ICAtPm11dGFibGVfcXVhbGl0eV9kYXRhKCk7CisgICB9CmRpZmYgLS1naXQgYS9zcmNwa2dzL2No cm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTIwLXdvcmthcm91bmRfY2xhbmdfYnVnLXN0cnVjdHVy ZWRfYmluZGluZy5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0xMjEt d29ya2Fyb3VuZF9jbGFuZ19idWctc3RydWN0dXJlZF9iaW5kaW5nLnBhdGNoCnNpbWlsYXJpdHkg aW5kZXggNzUlCnJlbmFtZSBmcm9tIHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0x MjAtd29ya2Fyb3VuZF9jbGFuZ19idWctc3RydWN0dXJlZF9iaW5kaW5nLnBhdGNoCnJlbmFtZSB0 byBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTIxLXdvcmthcm91bmRfY2xhbmdf YnVnLXN0cnVjdHVyZWRfYmluZGluZy5wYXRjaAppbmRleCBiMDZlMjlmMjkwNDdhLi4xOTJiMDY5 MmZiZjczIDEwMDY0NAotLS0gYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTIw LXdvcmthcm91bmRfY2xhbmdfYnVnLXN0cnVjdHVyZWRfYmluZGluZy5wYXRjaAorKysgYi9zcmNw a2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTIxLXdvcmthcm91bmRfY2xhbmdfYnVnLXN0 cnVjdHVyZWRfYmluZGluZy5wYXRjaApAQCAtMjUsMjcgKzI1LDI5IEBAIGRpZmYgLXVwIGNocm9t aXVtLTExNS4wLjU3OTAuMzIvY29udGVudC9icm93c2VyL3NlcnZpY2Vfd29ya2VyL3NlcnZpY2Vf d29ya2VyX2NvCiAgCiAgICBEQ0hFQ0soZG9jdW1lbnRfdXJsLmlzX3ZhbGlkKCkpOwogICAgVFJB Q0VfRVZFTlQxKCJTZXJ2aWNlV29ya2VyIiwKLWRpZmYgLXVwIGNocm9taXVtLTEyMC4wLjYwOTku NTYvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9sYXlvdXQvZ3JpZC9ncmlkX2xheW91 dF9hbGdvcml0aG0uY2MubWUgY2hyb21pdW0tMTIwLjAuNjA5OS41Ni90aGlyZF9wYXJ0eS9ibGlu ay9yZW5kZXJlci9jb3JlL2xheW91dC9ncmlkL2dyaWRfbGF5b3V0X2FsZ29yaXRobS5jYwotLS0t IGNocm9taXVtLTEyMC4wLjYwOTkuNTYvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9s YXlvdXQvZ3JpZC9ncmlkX2xheW91dF9hbGdvcml0aG0uY2MubWUJMjAyMy0xMi0wMyAyMjoxNzo1 MC45MjIwODMyMDAgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMjAuMC42MDk5LjU2L3RoaXJkX3BhcnR5 L2JsaW5rL3JlbmRlcmVyL2NvcmUvbGF5b3V0L2dyaWQvZ3JpZF9sYXlvdXRfYWxnb3JpdGhtLmNj CTIwMjMtMTItMDMgMjI6MjI6NTUuNDM3NDg0MzQzICswMTAwCi1AQCAtMzQ0Nyw3ICszNDQ3LDgg QEAgdm9pZCBHcmlkTGF5b3V0QWxnb3JpdGhtOjpQbGFjZUdyaWRJdGVtcworZGlmZiAtdXAgY2hy b21pdW0tMTIxLjAuNjE2Ny4xNi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL2xheW91 dC9ncmlkL2dyaWRfbGF5b3V0X2FsZ29yaXRobS5jYy50aGFuIGNocm9taXVtLTEyMS4wLjYxNjcu MTYvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9sYXlvdXQvZ3JpZC9ncmlkX2xheW91 dF9hbGdvcml0aG0uY2MKKy0tLSBjaHJvbWl1bS0xMjEuMC42MTY3LjE2L3RoaXJkX3BhcnR5L2Js aW5rL3JlbmRlcmVyL2NvcmUvbGF5b3V0L2dyaWQvZ3JpZF9sYXlvdXRfYWxnb3JpdGhtLmNjLnRo YW4JMjAyMy0xMi0xOSAxNzo1Nzo1Ni4yMDUxOTcyNDYgKzAxMDAKKysrKyBjaHJvbWl1bS0xMjEu MC42MTY3LjE2L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvbGF5b3V0L2dyaWQvZ3Jp ZF9sYXlvdXRfYWxnb3JpdGhtLmNjCTIwMjMtMTItMTkgMTg6MTA6MTMuNzc4NjM0NTMxICswMTAw CitAQCAtMzUyNyw4ICszNTI3LDggQEAgdm9pZCBHcmlkTGF5b3V0QWxnb3JpdGhtOjpQbGFjZUdy aWRJdGVtcwogICAgRENIRUNLKG91dF9yb3dfYnJlYWtfYmV0d2Vlbik7CiAgCi0gICBjb25zdCBh dXRvJiBjb250YWluZXJfc3BhY2UgPSBDb25zdHJhaW50U3BhY2UoKTsKKyAgIGNvbnN0IGF1dG8m IGNvbnRhaW5lcl9zcGFjZSA9IEdldENvbnN0cmFpbnRTcGFjZSgpOwogLSAgY29uc3QgYXV0byYg W2dyaWRfaXRlbXMsIGxheW91dF9kYXRhLCB0cmVlX3NpemVdID0gc2l6aW5nX3RyZWUuVHJlZVJv b3REYXRhKCk7CistCiArICBjb25zdCBhdXRvJiBbZ3JpZF9pdGVtcywgbF9kLCB0cmVlX3NpemVd ID0gc2l6aW5nX3RyZWUuVHJlZVJvb3REYXRhKCk7CiArICBjb25zdCBhdXRvJiBsYXlvdXRfZGF0 YSA9IGxfZDsKLSAKICAgIGNvbnN0IGF1dG8qIGNhY2hlZF9sYXlvdXRfc3VidHJlZSA9IGNvbnRh aW5lcl9zcGFjZS5HZXRHcmlkTGF5b3V0U3VidHJlZSgpOwogICAgY29uc3QgYXV0byBjb250YWlu ZXJfd3JpdGluZ19kaXJlY3Rpb24gPQotQEAgLTM2MTEsNyArMzYxMiw5IEBAIHZvaWQgR3JpZExh eW91dEFsZ29yaXRobTo6UGxhY2VHcmlkSXRlbXMKKyAgICAgICBjb250YWluZXJfc3BhY2UuR2V0 V3JpdGluZ0RpcmVjdGlvbigpOworQEAgLTM2OTEsOCArMzY5MSw5IEBAIHZvaWQgR3JpZExheW91 dEFsZ29yaXRobTo6UGxhY2VHcmlkSXRlbXMKICAKICAgIC8vIFRPRE8oaWtpbHBhdHJpY2spOiBV cGRhdGUgfFNldEhhc1NlZW5BbGxDaGlsZHJlbnwgYW5kIGVhcmx5IGV4aXQgaWYgdHJ1ZS4KLSAg IGNvbnN0IGF1dG8mIGNvbnN0cmFpbnRfc3BhY2UgPSBDb25zdHJhaW50U3BhY2UoKTsKKyAgIGNv bnN0IGF1dG8mIGNvbnN0cmFpbnRfc3BhY2UgPSBHZXRDb25zdHJhaW50U3BhY2UoKTsKIC0gIGNv bnN0IGF1dG8mIFtncmlkX2l0ZW1zLCBsYXlvdXRfZGF0YSwgdHJlZV9zaXplXSA9IHNpemluZ190 cmVlLlRyZWVSb290RGF0YSgpOworLQogKyAgY29uc3QgYXV0byYgW2dfaSwgbF9kLCB0cmVlX3Np emVdID0gc2l6aW5nX3RyZWUuVHJlZVJvb3REYXRhKCk7CiArICBjb25zdCBhdXRvJiBncmlkX2l0 ZW1zID0gZ19pOwogKyAgY29uc3QgYXV0byYgbGF5b3V0X2RhdGEgPSBsX2Q7Ci0gCiAgICBjb25z dCBhdXRvKiBjYWNoZWRfbGF5b3V0X3N1YnRyZWUgPSBjb25zdHJhaW50X3NwYWNlLkdldEdyaWRM YXlvdXRTdWJ0cmVlKCk7CiAgICBjb25zdCBhdXRvIGNvbnRhaW5lcl93cml0aW5nX2RpcmVjdGlv biA9CisgICAgICAgY29uc3RyYWludF9zcGFjZS5HZXRXcml0aW5nRGlyZWN0aW9uKCk7CmRpZmYg LS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3RlbXBsYXRlIGIvc3JjcGtncy9jaHJvbWl1bS90ZW1w bGF0ZQppbmRleCA1NjEzZmEzODEzODIyLi4xOTdhYzlmYTA3MzQ2IDEwMDY0NAotLS0gYS9zcmNw a2dzL2Nocm9taXVtL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vdGVtcGxhdGUKQEAg LTEsMTMgKzEsMTMgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2Nocm9taXVtJwogcGtnbmFtZT1j aHJvbWl1bQogIyBTZWUgaHR0cHM6Ly9jaHJvbWl1bWRhc2guYXBwc3BvdC5jb20vcmVsZWFzZXM/ cGxhdGZvcm09TGludXggZm9yIHRoZSBsYXRlc3QgdmVyc2lvbgotdmVyc2lvbj0xMjAuMC42MDk5 LjEyOQordmVyc2lvbj0xMjEuMC42MTY3Ljg1CiByZXZpc2lvbj0xCiBhcmNocz0iaTY4NiogeDg2 XzY0KiBhYXJjaDY0KiBhcm12N2wqIgogaG9zdG1ha2VkZXBlbmRzPSIKICAkKHZvcHRfaWYgY2xh bmcgImNsYW5nIGxsZCBsbHZtMTUiKQogIGJpc29uIGdpdCBncGVyZiBod2lkcyBuaW5qYSBub2Rl anMgcGVybCBwa2ctY29uZmlnIHB5dGhvbjMKLSBsaWJlcG94eS1kZXZlbCBsaWJldmVudC1kZXZl bCBsaWJnbGliLWRldmVsIgorIGxpYmVwb3h5LWRldmVsIGxpYmV2ZW50LWRldmVsIGxpYmdsaWIt ZGV2ZWwgcnVzdCIKIG1ha2VkZXBlbmRzPSIKICBhbHNhLWxpYi1kZXZlbCBsaWJkYXYxZC1kZXZl bCBicm90bGktZGV2ZWwgY3Vwcy1kZXZlbCBlbGZ1dGlscy1kZXZlbCBmZm1wZWctZGV2ZWwKICBm b250Y29uZmlnLWRldmVsIGZyZWV0eXBlLWRldmVsIGd0ayszLWRldmVsIGxpYlhTY3JuU2F2ZXIt ZGV2ZWwKQEAgLTI3LDcgKzI3LDcgQEAgbWFpbnRhaW5lcj0iRHVuY2FlbiA8ZHVuY2FlbkB2b2lk bGludXgub3JnPiIKIGxpY2Vuc2U9IkJTRC0zLUNsYXVzZSIKIGhvbWVwYWdlPSJodHRwczovL3d3 dy5jaHJvbWl1bS5vcmcvIgogZGlzdGZpbGVzPSJodHRwczovL2NvbW1vbmRhdGFzdG9yYWdlLmdv b2dsZWFwaXMuY29tL2Nocm9taXVtLWJyb3dzZXItb2ZmaWNpYWwvJHtwa2duYW1lfS0ke3ZlcnNp b259LnRhci54eiIKLWNoZWNrc3VtPWJlMzZkNWFiZWNmYWZkYzY4ZDliMjdiMGJlZTY1MTM2MzE2 NjEwYTI5NWU4NDRiOTk0ODNhNzUyMGIyNDVmODUKK2NoZWNrc3VtPWEyZjQ2YzUyNjY2ODExMjZl YTllMTVjMWMzMDY3NTYwZDg0ZjNlNWQ5MDJlMWFjZTkzNGEzODEzYzg0ZTcxNTIKIAogbGliMzJk aXNhYmxlZD15ZXMKIApAQCAtMTg4LDcgKzE4OCw2IEBAIGRvX2NvbmZpZ3VyZSgpIHsKIAogCWNv bmY9KAogCQknZW5hYmxlX25hY2w9ZmFsc2UnCi0JCSdlbmFibGVfcnVzdD1mYWxzZScKIAogCQkn dXNlX3N5c3Jvb3Q9ZmFsc2UnCiAKQEAgLTE5OCwxMiArMTk3LDE1IEBAIGRvX2NvbmZpZ3VyZSgp IHsKIAkJInVzZV9sbGQ9JCh2b3B0X2lmIGNsYW5nIHRydWUgZmFsc2UpIgogCQknY2xhbmdfdXNl X2Nocm9tZV9wbHVnaW5zPWZhbHNlJwogCQknY2xhbmdfYmFzZV9wYXRoPSIvdXNyIicKKwkJImNs YW5nX3ZlcnNpb249XCIkKGNsYW5nIC1kdW1wdmVyc2lvbilcIiIKIAogCQkiZ29sZF9wYXRoPVwi JHtYQlBTX0NST1NTX0JBU0V9L3Vzci9iaW4vbGQuZ29sZFwiIgogCQkidXNlX2N1c3RvbV9saWJj eHg9JCh2b3B0X2lmIGxpYmN4eCB0cnVlIGZhbHNlKSIgIyBodHRwczovL2dpdGh1Yi5jb20vbGx2 bS9sbHZtLXByb2plY3QvaXNzdWVzLzYxNzA1CiAJCSd1c2VfZ29sZD1mYWxzZScKIAorCQknZW5h YmxlX3J1c3Q9dHJ1ZScKIAkJJ3J1c3Rfc3lzcm9vdF9hYnNvbHV0ZT0iL3VzciInCisJCSJydXN0 Y192ZXJzaW9uPVwiJChydXN0YyAtLXZlcnNpb24pXCIiCiAKIAkJIyBpc19kZWJ1ZyBtYWtlcyB0 aGUgYnVpbGQgYSBkZWJ1ZyBidWlsZCwgY2hhbmdlcyBzb21lIHRoaW5ncy4KIAkJIyBtaWdodCBi ZSB1c2VmdWwgZm9yIHJlYWwgZGVidWdnaW5nIHZzIGp1c3QgZGVidWcgc3ltYm9scy4KQEAgLTI5 Myw2ICsyOTUsOSBAQCBkb19jb25maWd1cmUoKSB7CiB9CiAKIGRvX2J1aWxkKCkgeworCSMgWFhY OiBuZWVkIGZvciBlcnJvcjogdGhlIG9wdGlvbiBgWmAgaXMgb25seSBhY2NlcHRlZCBvbiB0aGUg bmlnaHRseSBjb21waWxlcgorCWV4cG9ydCBSVVNUQ19CT09UU1RSQVA9MQorCiAJX3NldHVwX3Rv b2xjaGFpbgogCUNDQUNIRV9TTE9QUElORVNTPWluY2x1ZGVfZmlsZV9tdGltZSBuaW5qYSAtQyBv dXQvUmVsZWFzZSAke21ha2Vqb2JzfSBjaHJvbWUgY2hyb21lZHJpdmVyLnVuc3RyaXBwZWQgY2hy b21lX2NyYXNocGFkX2hhbmRsZXIKIH0K --===============2043562359590951122==--