From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Than Ngo To: git-commits@fedoraproject.org Subject: [rpms/chromium] epel9-next: update to chromium-116.0.5845.96 Date: Fri, 07 Aug 2026 16:05:21 GMT Message-ID: <178611872112.1.1884886447045914971.rpms-chromium-5175b086e886@fedoraproject.org> List-ID: X-Git-Repo: rpms/chromium X-Git-Branch: epel9-next X-Git-Rev: 5175b086e88669958a36fe105182ab8a5d33cf2a QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvY2hyb21pdW0KQnJh bmNoIDogZXBlbDktbmV4dApDb21taXQgOiA1MTc1YjA4NmU4ODY2OTk1OGEzNmZlMTA1MTgyYWI4 YTVkMzNjZjJhCkF1dGhvciA6IFRoYW4gTmdvIDx0aGFuQHJlZGhhdC5jb20+CkRhdGUgICA6IDIw MjMtMDgtMTVUMDk6MTI6MDUrMDI6MDAKU3RhdHMgIDogKzEyNTUvLTE5MTggaW4gMjUgZmlsZShz KQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2Nocm9taXVtL2Mv NTE3NWIwODZlODg2Njk5NThhMzZmZTEwNTE4MmFiOGE1ZDMzY2YyYT9icmFuY2g9ZXBlbDktbmV4 dAoKTG9nOgp1cGRhdGUgdG8gY2hyb21pdW0tMTE2LjAuNTg0NS45NgoKLS0tCmRpZmYgLS1naXQg YS9jaHJvbWl1bS0xMTAtbGltaXRzLnBhdGNoIGIvY2hyb21pdW0tMTEwLWxpbWl0cy5wYXRjaApk ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzFhNGMxZS4uMDAwMDAwMAotLS0gYS9jaHJv bWl1bS0xMTAtbGltaXRzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotZGlm ZiAtdXAgY2hyb21pdW0tMTEwLjAuNTQ4MS4xNzcvYmFzZS9tZW1vcnkvcmVmX2NvdW50ZWQuaC5t ZSBjaHJvbWl1bS0xMTAuMC41NDgxLjE3Ny9iYXNlL21lbW9yeS9yZWZfY291bnRlZC5oCi0tLS0g Y2hyb21pdW0tMTEwLjAuNTQ4MS4xNzcvYmFzZS9tZW1vcnkvcmVmX2NvdW50ZWQuaC5tZQkyMDIz LTAyLTIzIDEzOjM0OjMzLjE3NDgxNzI1NSAtMDUwMAotKysrIGNocm9taXVtLTExMC4wLjU0ODEu MTc3L2Jhc2UvbWVtb3J5L3JlZl9jb3VudGVkLmgJMjAyMy0wMi0yMyAxMzo0MjoyOC42NDYwNTI0 NjkgLTA1MDAKLUBAIC02LDYgKzYsNyBAQAotICNkZWZpbmUgQkFTRV9NRU1PUllfUkVGX0NPVU5U RURfSF8KLSAKLSAjaW5jbHVkZSA8c3RkZGVmLmg+Ci0rI2luY2x1ZGUgPGxpbWl0cz4KLSAKLSAj aW5jbHVkZSA8dXRpbGl0eT4KLSAKCmRpZmYgLS1naXQgYS9jaHJvbWl1bS0xMTMtcmhlbDgtZm9y Y2UtZGlzYWJsZS11c2VfZ25vbWVfa2V5cmluZy5wYXRjaCBiL2Nocm9taXVtLTExMy1yaGVsOC1m b3JjZS1kaXNhYmxlLXVzZV9nbm9tZV9rZXlyaW5nLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEw MDY0NAppbmRleCA2OTFmNTI4Li4wMDAwMDAwCi0tLSBhL2Nocm9taXVtLTExMy1yaGVsOC1mb3Jj ZS1kaXNhYmxlLXVzZV9nbm9tZV9rZXlyaW5nLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTIg KzAsMCBAQAotZGlmZiAtdXAgY2hyb21pdW0tMTEzLjAuNTY3Mi4yNC9jb21wb25lbnRzL29zX2Ny eXB0L3N5bmMvZmVhdHVyZXMuZ25pLmRpc2JsZWdub21la2V5cmluZyBjaHJvbWl1bS0xMTMuMC41 NjcyLjI0L2NvbXBvbmVudHMvb3NfY3J5cHQvc3luYy9mZWF0dXJlcy5nbmkKLS0tLSBjaHJvbWl1 bS0xMTMuMC41NjcyLjI0L2NvbXBvbmVudHMvb3NfY3J5cHQvc3luYy9mZWF0dXJlcy5nbmkuZGlz YmxlZ25vbWVrZXlyaW5nCTIwMjMtMDQtMDcgMTQ6MjM6MTEuMDgzOTg1NDYwICswMjAwCi0rKysg Y2hyb21pdW0tMTEzLjAuNTY3Mi4yNC9jb21wb25lbnRzL29zX2NyeXB0L3N5bmMvZmVhdHVyZXMu Z25pCTIwMjMtMDQtMDcgMTQ6MjM6NDQuMjc2NTk5MzUzICswMjAwCi1AQCAtOCw3ICs4LDcgQEAg aW1wb3J0KCIvL2J1aWxkL2NvbmZpZy91aS5nbmkiKQotIGRlY2xhcmVfYXJncygpIHsKLSAgICMg V2hldGhlciB0byB1c2UgbGliZ25vbWUta2V5cmluZyAoZGVwcmVjYXRlZCBieSBsaWJzZWNyZXQp LgotICAgIyBTZWUgaHR0cDovL2NyYnVnLmNvbS80NjY5NzUgYW5kIGh0dHA6Ly9jcmJ1Zy5jb20v MzU1MjIzLgotLSAgdXNlX2dub21lX2tleXJpbmcgPSBpc19saW51eCAmJiB1c2VfZ2xpYgotKyAg dXNlX2dub21lX2tleXJpbmcgPSBmYWxzZQotIAotICAgIyBXaGV0aGVyIHRvIG1ha2UgYWNjb3Vu dCBhbmQgc2VydmljZSBuYW1lcyBmb3IgdGhlIGNyeXB0byBrZXkgc3RvcmFnZQotICAgIyBjb25m aWd1cmFibGUgYXQgcnVudGltZSBmb3IgZW1iZWRkZXJzLgoKZGlmZiAtLWdpdCBhL2Nocm9taXVt LTExNC1xdC1maXhfZm9udF9kb3VibGVfc2NhbGluZy5wYXRjaCBiL2Nocm9taXVtLTExNC1xdC1m aXhfZm9udF9kb3VibGVfc2NhbGluZy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggOTcxM2VmNi4uMDAwMDAwMAotLS0gYS9jaHJvbWl1bS0xMTQtcXQtZml4X2ZvbnRfZG91Ymxl X3NjYWxpbmcucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyMSArMCwwIEBACi1kaWZmIC0tZ2l0 IGEvdWkvcXQvcXRfdWkuY2MgYi91aS9xdC9xdF91aS5jYwotaW5kZXggYmFjNTI0NWEuLmE5N2Zh OGIgMTAwNjQ0Ci0tLS0gYS91aS9xdC9xdF91aS5jYwotKysrIGIvdWkvcXQvcXRfdWkuY2MKLUBA IC00MjIsMTIgKzQyMiwxNCBAQAotICAgYXV0byBkZXNjID0gc2hpbV8tPkdldEZvbnREZXNjcmlw dGlvbigpOwotIAotICAgZm9udF9mYW1pbHlfID0gZGVzYy5mYW1pbHkuY19zdHIoKTsKLSsgIC8v IFBvaW50cyBhcmUgZGVmaW5lZCBhdCA3MiBEUEkgYW5kIHBpeGVscyBhcmUgOTYgRFBJIGJ5IGRl ZmF1bHQuCi0rICBjb25zdGV4cHIgZG91YmxlIGtQb2ludFRvUGl4ZWxSYXRpbyA9IDk2LjAgLyA3 Mi4wOwotICAgaWYgKGRlc2Muc2l6ZV9waXhlbHMgPiAwKSB7Ci0gICAgIGZvbnRfc2l6ZV9waXhl bHNfID0gZGVzYy5zaXplX3BpeGVsczsKLS0gICAgZm9udF9zaXplX3BvaW50c18gPSBmb250X3Np emVfcGl4ZWxzXyAvIEdldERldmljZVNjYWxlRmFjdG9yKCk7Ci0rICAgIGZvbnRfc2l6ZV9wb2lu dHNfID0gc3RkOjpyb3VuZChmb250X3NpemVfcGl4ZWxzXyAvIGtQb2ludFRvUGl4ZWxSYXRpbyk7 Ci0gICB9IGVsc2UgewotICAgICBmb250X3NpemVfcG9pbnRzXyA9IGRlc2Muc2l6ZV9wb2ludHM7 Ci0tICAgIGZvbnRfc2l6ZV9waXhlbHNfID0gZm9udF9zaXplX3BvaW50c18gKiBHZXREZXZpY2VT Y2FsZUZhY3RvcigpOwotKyAgICBmb250X3NpemVfcGl4ZWxzXyA9IHN0ZDo6cm91bmQoZm9udF9z aXplX3BvaW50c18gKiBrUG9pbnRUb1BpeGVsUmF0aW8pOwotICAgfQotICAgZm9udF9zdHlsZV8g PSBkZXNjLmlzX2l0YWxpYyA/IGdmeDo6Rm9udDo6SVRBTElDIDogZ2Z4OjpGb250OjpOT1JNQUw7 Ci0gICBmb250X3dlaWdodF8gPSBRdFdlaWdodFRvQ3NzV2VpZ2h0KGRlc2Mud2VpZ2h0KTsKCmRp ZmYgLS1naXQgYS9jaHJvbWl1bS0xMTQtcXQtaGFuZGxlX3NjYWxlX2ZhY3Rvcl9jaGFuZ2VzLnBh dGNoIGIvY2hyb21pdW0tMTE0LXF0LWhhbmRsZV9zY2FsZV9mYWN0b3JfY2hhbmdlcy5wYXRjaApk ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDhmYzcyZi4uMDAwMDAwMAotLS0gYS9jaHJv bWl1bS0xMTQtcXQtaGFuZGxlX3NjYWxlX2ZhY3Rvcl9jaGFuZ2VzLnBhdGNoCisrKyAvZGV2L251 bGwKQEAgLTEsNTc0ICswLDAgQEAKLWNvbW1pdCBjNTFkNjQ0N2ZkMGQxMjQ5MDNkMTZiZjU5NTJl ZmNjYmY5ZTFjYTkyCi1BdXRob3I6IFRvbSBBbmRlcnNvbiA8dGhvbWFzYW5kZXJzb25AY2hyb21p dW0ub3JnPgotRGF0ZTogICBXZWQgTWF5IDI0IDIyOjUzOjIwIDIwMjMgKzAwMDAKLQotICAgIFtR dF0gSGFuZGxlIHNjYWxlIGZhY3RvciBjaGFuZ2VzCi0gICAgCi0gICAgVGhpcyBpcyBhIHNwZWN1 bGF0aXZlIGZpeCBmb3IgaHR0cHM6Ly9jcmJ1Zy5jb20vMTQzOTE0OS4gIEkgc3VzcGVjdAotICAg IHRoZSBzY2FsZSBmYWN0b3IgaXMgbm90IHNldCBpbW1lZGlhdGVseSBvbiBRVCBpbml0aWFsaXph dGlvbiwgYnV0Ci0gICAgaXMgc2V0IGFzeW5jaHJvbm91c2x5IHNob3J0bHkgYWZ0ZXIuICBUaGlz IENMIGFkZHMgYSBsaXN0ZW5lciBmb3IKLSAgICBRVCBzY2FsZSBjaGFuZ2VzLgotICAgIAotICAg IFI9dGhlc3RpZwotICAgIAotICAgIExvdy1Db3ZlcmFnZS1SZWFzb246IE5vIFFUIHRlc3RzIGN1 cnJlbnRseQotICAgIENoYW5nZS1JZDogSTdkZWEyM2UxNmE2YmIyNjIzNzU2NGFmMmRjNGU0MzQ4 MGY2YWVhOWYKLSAgICBCdWc6IDE0MzkxNDkKLSAgICBSZXZpZXdlZC1vbjogaHR0cHM6Ly9jaHJv bWl1bS1yZXZpZXcuZ29vZ2xlc291cmNlLmNvbS9jL2Nocm9taXVtL3NyYy8rLzQ1NTk3MzIKLSAg ICBSZXZpZXdlZC1ieTogTGVpIFpoYW5nIDx0aGVzdGlnQGNocm9taXVtLm9yZz4KLSAgICBDb21t aXQtUXVldWU6IFRob21hcyBBbmRlcnNvbiA8dGhvbWFzYW5kZXJzb25AY2hyb21pdW0ub3JnPgot ICAgIEF1dG8tU3VibWl0OiBUaG9tYXMgQW5kZXJzb24gPHRob21hc2FuZGVyc29uQGNocm9taXVt Lm9yZz4KLSAgICBDci1Db21taXQtUG9zaXRpb246IHJlZnMvaGVhZHMvbWFpbkB7IzExNDg4MDV9 Ci0KLWRpZmYgLS1naXQgYS91aS9xdC9xdDVfc2hpbV9tb2MuY2MgYi91aS9xdC9xdDVfc2hpbV9t b2MuY2MKLWluZGV4IDhmOGI2YjU3Nzg0YTguLjZlNTA0ZjIzYzYwM2EgMTAwNjQ0Ci0tLS0gYS91 aS9xdC9xdDVfc2hpbV9tb2MuY2MKLSsrKyBiL3VpL3F0L3F0NV9zaGltX21vYy5jYwotQEAgLTIz LDggKzIzLDggQEAKLSAKLSBRVF9CRUdJTl9NT0NfTkFNRVNQQUNFCi0gc3RydWN0IHF0X21ldGFf c3RyaW5nZGF0YV9xdF9fUXRTaGltX3QgewotLSAgUUJ5dGVBcnJheURhdGEgZGF0YVs2XTsKLS0g IGNoYXIgc3RyaW5nZGF0YVs1Ml07Ci0rICBRQnl0ZUFycmF5RGF0YSBkYXRhWzEzXTsKLSsgIGNo YXIgc3RyaW5nZGF0YVsxNTFdOwotIH07Ci0gI2RlZmluZSBRVF9NT0NfTElURVJBTChpZHgsIG9m cywgbGVuKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgIFFfU1RB VElDX0JZVEVfQVJSQVlfREFUQV9IRUFERVJfSU5JVElBTElaRVJfV0lUSF9PRkZTRVQoICAgICAg ICAgICAgICAgICAgXAotQEAgLTMzLDkgKzMzLDE2IEBAIHN0cnVjdCBxdF9tZXRhX3N0cmluZ2Rh dGFfcXRfX1F0U2hpbV90IHsKLSBzdGF0aWMgY29uc3QgcXRfbWV0YV9zdHJpbmdkYXRhX3F0X19R dFNoaW1fdCBxdF9tZXRhX3N0cmluZ2RhdGFfcXRfX1F0U2hpbSA9IHsKLSAgICAge1FUX01PQ19M SVRFUkFMKDAsIDAsIDEwKSwgUVRfTU9DX0xJVEVSQUwoMSwgMTEsIDExKSwKLSAgICAgIFFUX01P Q19MSVRFUkFMKDIsIDIzLCAwKSwgUVRfTU9DX0xJVEVSQUwoMywgMjQsIDQpLAotLSAgICAgUVRf TU9DX0xJVEVSQUwoNCwgMjksIDE0KSwgUVRfTU9DX0xJVEVSQUwoNSwgNDQsIDcpfSwKLSsgICAg IFFUX01PQ19MSVRFUkFMKDQsIDI5LCAxNCksIFFUX01PQ19MSVRFUkFMKDUsIDQ0LCA3KSwKLSsg ICAgIFFUX01PQ19MSVRFUkFMKDYsIDUyLCAxMSksIFFUX01PQ19MSVRFUkFMKDcsIDY0LCA4KSwK LSsgICAgIFFUX01PQ19MSVRFUkFMKDgsIDczLCA2KSwgUVRfTU9DX0xJVEVSQUwoOSwgODAsIDEz KSwKLSsgICAgIFFUX01PQ19MSVRFUkFMKDEwLCA5NCwgMjUpLCBRVF9NT0NfTElURVJBTCgxMSwg MTIwLCAzKSwKLSsgICAgIFFUX01PQ19MSVRFUkFMKDEyLCAxMjQsIDI2KX0sCi0gICAgICJxdDo6 UXRTaGltXDBGb250Q2hhbmdlZFwwXDBmb250XDAiCi0tICAgICJQYWxldHRlQ2hhbmdlZFwwcGFs ZXR0ZSJ9OwotKyAgICAiUGFsZXR0ZUNoYW5nZWRcMHBhbGV0dGVcMFNjcmVlbkFkZGVkXDAiCi0r ICAgICJRU2NyZWVuKlwwc2NyZWVuXDBTY3JlZW5SZW1vdmVkXDAiCi0rICAgICJMb2dpY2FsRG90 c1BlckluY2hDaGFuZ2VkXDBkcGlcMCIKLSsgICAgIlBoeXNpY2FsRG90c1BlckluY2hDaGFuZ2Vk In07Ci0gI3VuZGVmIFFUX01PQ19MSVRFUkFMCi0gCi0gc3RhdGljIGNvbnN0IHVpbnQgcXRfbWV0 YV9kYXRhX3F0X19RdFNoaW1bXSA9IHsKLUBAIC00NCw3ICs1MSw3IEBAIHN0YXRpYyBjb25zdCB1 aW50IHF0X21ldGFfZGF0YV9xdF9fUXRTaGltW10gPSB7Ci0gICAgIDcsICAgICAgLy8gcmV2aXNp b24KLSAgICAgMCwgICAgICAvLyBjbGFzc25hbWUKLSAgICAgMCwgMCwgICAvLyBjbGFzc2luZm8K LS0gICAgMiwgMTQsICAvLyBtZXRob2RzCi0rICAgIDYsIDE0LCAgLy8gbWV0aG9kcwotICAgICAw LCAwLCAgIC8vIHByb3BlcnRpZXMKLSAgICAgMCwgMCwgICAvLyBlbnVtcy9zZXRzCi0gICAgIDAs IDAsICAgLy8gY29uc3RydWN0b3JzCi1AQCAtNTIsMTEgKzU5LDE1IEBAIHN0YXRpYyBjb25zdCB1 aW50IHF0X21ldGFfZGF0YV9xdF9fUXRTaGltW10gPSB7Ci0gICAgIDAsICAgICAgLy8gc2lnbmFs Q291bnQKLSAKLSAgICAgLy8gc2xvdHM6IG5hbWUsIGFyZ2MsIHBhcmFtZXRlcnMsIHRhZywgZmxh Z3MKLS0gICAgMSwgMSwgMjQsIDIsIDB4MDggLyogUHJpdmF0ZSAqLywgNCwgMSwgMjcsIDIsIDB4 MDggLyogUHJpdmF0ZSAqLywKLSsgICAgMSwgMSwgNDQsIDIsIDB4MDggLyogUHJpdmF0ZSAqLywg NCwgMSwgNDcsIDIsIDB4MDggLyogUHJpdmF0ZSAqLywgNiwgMSwgNTAsCi0rICAgIDIsIDB4MDgg LyogUHJpdmF0ZSAqLywgOSwgMSwgNTMsIDIsIDB4MDggLyogUHJpdmF0ZSAqLywgMTAsIDEsIDU2 LCAyLAotKyAgICAweDA4IC8qIFByaXZhdGUgKi8sIDEyLCAxLCA1OSwgMiwgMHgwOCAvKiBQcml2 YXRlICovLAotIAotICAgICAvLyBzbG90czogcGFyYW1ldGVycwotICAgICBRTWV0YVR5cGU6OlZv aWQsIFFNZXRhVHlwZTo6UUZvbnQsIDMsIFFNZXRhVHlwZTo6Vm9pZCwgUU1ldGFUeXBlOjpRUGFs ZXR0ZSwKLS0gICAgNSwKLSsgICAgNSwgUU1ldGFUeXBlOjpWb2lkLCAweDgwMDAwMDAwIHwgNywg OCwgUU1ldGFUeXBlOjpWb2lkLCAweDgwMDAwMDAwIHwgNywgOCwKLSsgICAgUU1ldGFUeXBlOjpW b2lkLCBRTWV0YVR5cGU6OlFSZWFsLCAxMSwgUU1ldGFUeXBlOjpWb2lkLCBRTWV0YVR5cGU6OlFS ZWFsLAotKyAgICAxMSwKLSAKLSAgICAgMCAgLy8gZW9kCi0gfTsKLUBAIC03NCw2ICs4NSwxOCBA QCB2b2lkIHF0OjpRdFNoaW06OnF0X3N0YXRpY19tZXRhY2FsbChRT2JqZWN0KiBfbywKLSAgICAg ICBjYXNlIDE6Ci0gICAgICAgICBfdC0+UGFsZXR0ZUNoYW5nZWQoKCpyZWludGVycHJldF9jYXN0 PGNvbnN0IFFQYWxldHRlKCopPihfYVsxXSkpKTsKLSAgICAgICAgIGJyZWFrOwotKyAgICAgIGNh c2UgMjoKLSsgICAgICAgIF90LT5TY3JlZW5BZGRlZCgoKnJlaW50ZXJwcmV0X2Nhc3Q8UVNjcmVl biooKik+KF9hWzFdKSkpOwotKyAgICAgICAgYnJlYWs7Ci0rICAgICAgY2FzZSAzOgotKyAgICAg ICAgX3QtPlNjcmVlblJlbW92ZWQoKCpyZWludGVycHJldF9jYXN0PFFTY3JlZW4qKCopPihfYVsx XSkpKTsKLSsgICAgICAgIGJyZWFrOwotKyAgICAgIGNhc2UgNDoKLSsgICAgICAgIF90LT5Mb2dp Y2FsRG90c1BlckluY2hDaGFuZ2VkKCgqcmVpbnRlcnByZXRfY2FzdDxxcmVhbCgqKT4oX2FbMV0p KSk7Ci0rICAgICAgICBicmVhazsKLSsgICAgICBjYXNlIDU6Ci0rICAgICAgICBfdC0+UGh5c2lj YWxEb3RzUGVySW5jaENoYW5nZWQoKCpyZWludGVycHJldF9jYXN0PHFyZWFsKCopPihfYVsxXSkp KTsKLSsgICAgICAgIGJyZWFrOwotICAgICAgIGRlZmF1bHQ6OwotICAgICB9Ci0gICB9Ci1AQCAt MTA3LDE1ICsxMzAsMTUgQEAgaW50IHF0OjpRdFNoaW06OnF0X21ldGFjYWxsKFFNZXRhT2JqZWN0 OjpDYWxsIF9jLCBpbnQgX2lkLCB2b2lkKiogX2EpIHsKLSAgICAgcmV0dXJuIF9pZDsKLSAgIH0K LSAgIGlmIChfYyA9PSBRTWV0YU9iamVjdDo6SW52b2tlTWV0YU1ldGhvZCkgewotLSAgICBpZiAo X2lkIDwgMikgewotKyAgICBpZiAoX2lkIDwgNikgewotICAgICAgIHF0X3N0YXRpY19tZXRhY2Fs bCh0aGlzLCBfYywgX2lkLCBfYSk7Ci0gICAgIH0KLS0gICAgX2lkIC09IDI7Ci0rICAgIF9pZCAt PSA2OwotICAgfSBlbHNlIGlmIChfYyA9PSBRTWV0YU9iamVjdDo6UmVnaXN0ZXJNZXRob2RBcmd1 bWVudE1ldGFUeXBlKSB7Ci0tICAgIGlmIChfaWQgPCAyKSB7Ci0rICAgIGlmIChfaWQgPCA2KSB7 Ci0gICAgICAgKnJlaW50ZXJwcmV0X2Nhc3Q8aW50Kj4oX2FbMF0pID0gLTE7Ci0gICAgIH0KLS0g ICAgX2lkIC09IDI7Ci0rICAgIF9pZCAtPSA2OwotICAgfQotICAgcmV0dXJuIF9pZDsKLSB9Ci1k aWZmIC0tZ2l0IGEvdWkvcXQvcXQ2X3NoaW1fbW9jLmNjIGIvdWkvcXQvcXQ2X3NoaW1fbW9jLmNj Ci1pbmRleCA2ZDAyY2EzMTdiNjVkLi5hMTY1MTUwMDhkODkyIDEwMDY0NAotLS0tIGEvdWkvcXQv cXQ2X3NoaW1fbW9jLmNjCi0rKysgYi91aS9xdC9xdDZfc2hpbV9tb2MuY2MKLUBAIC0yNiw4ICsy Niw4IEBAIFFUX0JFR0lOX01PQ19OQU1FU1BBQ0UKLSBRVF9XQVJOSU5HX1BVU0gKLSBRVF9XQVJO SU5HX0RJU0FCTEVfREVQUkVDQVRFRAotIHN0cnVjdCBxdF9tZXRhX3N0cmluZ2RhdGFfcXRfX1F0 U2hpbV90IHsKLS0gIGNvbnN0IHVpbnQgb2Zmc2V0c0FuZFNpemVbMTJdOwotLSAgY2hhciBzdHJp bmdkYXRhMFs1Ml07Ci0rICBjb25zdCB1aW50IG9mZnNldHNBbmRTaXplWzI2XTsKLSsgIGNoYXIg c3RyaW5nZGF0YTBbMTUxXTsKLSB9OwotICNkZWZpbmUgUVRfTU9DX0xJVEVSQUwob2ZzLCBsZW4p IFwKLSAgIHVpbnQob2Zmc2V0b2YocXRfbWV0YV9zdHJpbmdkYXRhX3F0X19RdFNoaW1fdCwgc3Ry aW5nZGF0YTApICsgb2ZzKSwgbGVuCi1AQCAtMzgsMTEgKzM4LDIxIEBAIHN0YXRpYyBjb25zdCBx dF9tZXRhX3N0cmluZ2RhdGFfcXRfX1F0U2hpbV90IHF0X21ldGFfc3RyaW5nZGF0YV9xdF9fUXRT aGltID0gewotICAgICAgICAgUVRfTU9DX0xJVEVSQUwoMjMsIDApLCAgIC8vICIiCi0gICAgICAg ICBRVF9NT0NfTElURVJBTCgyNCwgNCksICAgLy8gImZvbnQiCi0gICAgICAgICBRVF9NT0NfTElU RVJBTCgyOSwgMTQpLCAgLy8gIlBhbGV0dGVDaGFuZ2VkIgotLSAgICAgICAgUVRfTU9DX0xJVEVS QUwoNDQsIDcpICAgIC8vICJwYWxldHRlIgotKyAgICAgICAgUVRfTU9DX0xJVEVSQUwoNDQsIDcp LCAgIC8vICJwYWxldHRlIgotKyAgICAgICAgUVRfTU9DX0xJVEVSQUwoNTIsIDExKSwgIC8vICJT Y3JlZW5BZGRlZCIKLSsgICAgICAgIFFUX01PQ19MSVRFUkFMKDY0LCA4KSwgICAvLyAiUVNjcmVl bioiCi0rICAgICAgICBRVF9NT0NfTElURVJBTCg3MywgNiksICAgLy8gInNjcmVlbiIKLSsgICAg ICAgIFFUX01PQ19MSVRFUkFMKDgwLCAxMyksICAvLyAiU2NyZWVuUmVtb3ZlZCIKLSsgICAgICAg IFFUX01PQ19MSVRFUkFMKDk0LCAyNSksICAvLyAiTG9naWNhbERvdHNQZXJJbmNoQ2hhbmdlZCIK LSsgICAgICAgIFFUX01PQ19MSVRFUkFMKDEyMCwgMyksICAvLyAiZHBpIgotKyAgICAgICAgUVRf TU9DX0xJVEVSQUwoMTI0LCAyNikgIC8vICJQaHlzaWNhbERvdHNQZXJJbmNoQ2hhbmdlZCIKLSAK LSAgICAgfSwKLSAgICAgInF0OjpRdFNoaW1cMEZvbnRDaGFuZ2VkXDBcMGZvbnRcMCIKLS0gICAg IlBhbGV0dGVDaGFuZ2VkXDBwYWxldHRlIn07Ci0rICAgICJQYWxldHRlQ2hhbmdlZFwwcGFsZXR0 ZVwwU2NyZWVuQWRkZWRcMCIKLSsgICAgIlFTY3JlZW4qXDBzY3JlZW5cMFNjcmVlblJlbW92ZWRc MCIKLSsgICAgIkxvZ2ljYWxEb3RzUGVySW5jaENoYW5nZWRcMGRwaVwwIgotKyAgICAiUGh5c2lj YWxEb3RzUGVySW5jaENoYW5nZWQifTsKLSAjdW5kZWYgUVRfTU9DX0xJVEVSQUwKLSAKLSBzdGF0 aWMgY29uc3QgdWludCBxdF9tZXRhX2RhdGFfcXRfX1F0U2hpbVtdID0gewotQEAgLTUxLDcgKzYx LDcgQEAgc3RhdGljIGNvbnN0IHVpbnQgcXRfbWV0YV9kYXRhX3F0X19RdFNoaW1bXSA9IHsKLSAg ICAgMTAsICAgICAvLyByZXZpc2lvbgotICAgICAwLCAgICAgIC8vIGNsYXNzbmFtZQotICAgICAw LCAwLCAgIC8vIGNsYXNzaW5mbwotLSAgICAyLCAxNCwgIC8vIG1ldGhvZHMKLSsgICAgNiwgMTQs ICAvLyBtZXRob2RzCi0gICAgIDAsIDAsICAgLy8gcHJvcGVydGllcwotICAgICAwLCAwLCAgIC8v IGVudW1zL3NldHMKLSAgICAgMCwgMCwgICAvLyBjb25zdHJ1Y3RvcnMKLUBAIC01OSwxMSArNjks MTUgQEAgc3RhdGljIGNvbnN0IHVpbnQgcXRfbWV0YV9kYXRhX3F0X19RdFNoaW1bXSA9IHsKLSAg ICAgMCwgICAgICAvLyBzaWduYWxDb3VudAotIAotICAgICAvLyBzbG90czogbmFtZSwgYXJnYywg cGFyYW1ldGVycywgdGFnLCBmbGFncywgaW5pdGlhbCBtZXRhdHlwZSBvZmZzZXRzCi0tICAgIDEs IDEsIDI2LCAyLCAweDA4LCAxIC8qIFByaXZhdGUgKi8sIDQsIDEsIDI5LCAyLCAweDA4LCAzIC8q IFByaXZhdGUgKi8sCi0rICAgIDEsIDEsIDUwLCAyLCAweDA4LCAxIC8qIFByaXZhdGUgKi8sIDQs IDEsIDUzLCAyLCAweDA4LCAzIC8qIFByaXZhdGUgKi8sIDYsCi0rICAgIDEsIDU2LCAyLCAweDA4 LCA1IC8qIFByaXZhdGUgKi8sIDksIDEsIDU5LCAyLCAweDA4LCA3IC8qIFByaXZhdGUgKi8sIDEw LCAxLAotKyAgICA2MiwgMiwgMHgwOCwgOSAvKiBQcml2YXRlICovLCAxMiwgMSwgNjUsIDIsIDB4 MDgsIDExIC8qIFByaXZhdGUgKi8sCi0gCi0gICAgIC8vIHNsb3RzOiBwYXJhbWV0ZXJzCi0gICAg IFFNZXRhVHlwZTo6Vm9pZCwgUU1ldGFUeXBlOjpRRm9udCwgMywgUU1ldGFUeXBlOjpWb2lkLCBR TWV0YVR5cGU6OlFQYWxldHRlLAotLSAgICA1LAotKyAgICA1LCBRTWV0YVR5cGU6OlZvaWQsIDB4 ODAwMDAwMDAgfCA3LCA4LCBRTWV0YVR5cGU6OlZvaWQsIDB4ODAwMDAwMDAgfCA3LCA4LAotKyAg ICBRTWV0YVR5cGU6OlZvaWQsIFFNZXRhVHlwZTo6UVJlYWwsIDExLCBRTWV0YVR5cGU6OlZvaWQs IFFNZXRhVHlwZTo6UVJlYWwsCi0rICAgIDExLAotIAotICAgICAwICAvLyBlb2QKLSB9OwotQEAg LTgzLDYgKzk3LDIyIEBAIHZvaWQgcXQ6OlF0U2hpbTo6cXRfc3RhdGljX21ldGFjYWxsKFFPYmpl Y3QqIF9vLAotICAgICAgICAgX3QtPlBhbGV0dGVDaGFuZ2VkKAotICAgICAgICAgICAgICgqcmVp bnRlcnByZXRfY2FzdDxzdGQ6OmFkZF9wb2ludGVyX3Q8UVBhbGV0dGU+PihfYVsxXSkpKTsKLSAg ICAgICAgIGJyZWFrOwotKyAgICAgIGNhc2UgMjoKLSsgICAgICAgIF90LT5TY3JlZW5BZGRlZCgK LSsgICAgICAgICAgICAoKnJlaW50ZXJwcmV0X2Nhc3Q8c3RkOjphZGRfcG9pbnRlcl90PFFTY3Jl ZW4qPj4oX2FbMV0pKSk7Ci0rICAgICAgICBicmVhazsKLSsgICAgICBjYXNlIDM6Ci0rICAgICAg ICBfdC0+U2NyZWVuUmVtb3ZlZCgKLSsgICAgICAgICAgICAoKnJlaW50ZXJwcmV0X2Nhc3Q8c3Rk OjphZGRfcG9pbnRlcl90PFFTY3JlZW4qPj4oX2FbMV0pKSk7Ci0rICAgICAgICBicmVhazsKLSsg ICAgICBjYXNlIDQ6Ci0rICAgICAgICBfdC0+TG9naWNhbERvdHNQZXJJbmNoQ2hhbmdlZCgKLSsg ICAgICAgICAgICAoKnJlaW50ZXJwcmV0X2Nhc3Q8c3RkOjphZGRfcG9pbnRlcl90PHFyZWFsPj4o X2FbMV0pKSk7Ci0rICAgICAgICBicmVhazsKLSsgICAgICBjYXNlIDU6Ci0rICAgICAgICBfdC0+ UGh5c2ljYWxEb3RzUGVySW5jaENoYW5nZWQoCi0rICAgICAgICAgICAgKCpyZWludGVycHJldF9j YXN0PHN0ZDo6YWRkX3BvaW50ZXJfdDxxcmVhbD4+KF9hWzFdKSkpOwotKyAgICAgICAgYnJlYWs7 Ci0gICAgICAgZGVmYXVsdDo7Ci0gICAgIH0KLSAgIH0KLUBAIC05OCw3ICsxMjgsMTUgQEAgY29u c3QgUU1ldGFPYmplY3QgcXQ6OlF0U2hpbTo6c3RhdGljTWV0YU9iamVjdCA9IHsKLSAgICAgICAg ICBRdFByaXZhdGU6OlR5cGVBbmRGb3JjZUNvbXBsZXRlPHZvaWQsIHN0ZDo6ZmFsc2VfdHlwZT4s Ci0gICAgICAgICAgUXRQcml2YXRlOjpUeXBlQW5kRm9yY2VDb21wbGV0ZTxjb25zdCBRRm9udCYs IHN0ZDo6ZmFsc2VfdHlwZT4sCi0gICAgICAgICAgUXRQcml2YXRlOjpUeXBlQW5kRm9yY2VDb21w bGV0ZTx2b2lkLCBzdGQ6OmZhbHNlX3R5cGU+LAotLSAgICAgICAgIFF0UHJpdmF0ZTo6VHlwZUFu ZEZvcmNlQ29tcGxldGU8Y29uc3QgUVBhbGV0dGUmLCBzdGQ6OmZhbHNlX3R5cGU+Ci0rICAgICAg ICAgUXRQcml2YXRlOjpUeXBlQW5kRm9yY2VDb21wbGV0ZTxjb25zdCBRUGFsZXR0ZSYsIHN0ZDo6 ZmFsc2VfdHlwZT4sCi0rICAgICAgICAgUXRQcml2YXRlOjpUeXBlQW5kRm9yY2VDb21wbGV0ZTx2 b2lkLCBzdGQ6OmZhbHNlX3R5cGU+LAotKyAgICAgICAgIFF0UHJpdmF0ZTo6VHlwZUFuZEZvcmNl Q29tcGxldGU8UVNjcmVlbiosIHN0ZDo6ZmFsc2VfdHlwZT4sCi0rICAgICAgICAgUXRQcml2YXRl OjpUeXBlQW5kRm9yY2VDb21wbGV0ZTx2b2lkLCBzdGQ6OmZhbHNlX3R5cGU+LAotKyAgICAgICAg IFF0UHJpdmF0ZTo6VHlwZUFuZEZvcmNlQ29tcGxldGU8UVNjcmVlbiosIHN0ZDo6ZmFsc2VfdHlw ZT4sCi0rICAgICAgICAgUXRQcml2YXRlOjpUeXBlQW5kRm9yY2VDb21wbGV0ZTx2b2lkLCBzdGQ6 OmZhbHNlX3R5cGU+LAotKyAgICAgICAgIFF0UHJpdmF0ZTo6VHlwZUFuZEZvcmNlQ29tcGxldGU8 cXJlYWwsIHN0ZDo6ZmFsc2VfdHlwZT4sCi0rICAgICAgICAgUXRQcml2YXRlOjpUeXBlQW5kRm9y Y2VDb21wbGV0ZTx2b2lkLCBzdGQ6OmZhbHNlX3R5cGU+LAotKyAgICAgICAgIFF0UHJpdmF0ZTo6 VHlwZUFuZEZvcmNlQ29tcGxldGU8cXJlYWwsIHN0ZDo6ZmFsc2VfdHlwZT4KLSAKLSAgICAgICAg ICA+LAotICAgICAgbnVsbHB0cn19OwotQEAgLTEyNywxNSArMTY1LDE1IEBAIGludCBxdDo6UXRT aGltOjpxdF9tZXRhY2FsbChRTWV0YU9iamVjdDo6Q2FsbCBfYywgaW50IF9pZCwgdm9pZCoqIF9h KSB7Ci0gICAgIHJldHVybiBfaWQ7Ci0gICB9Ci0gICBpZiAoX2MgPT0gUU1ldGFPYmplY3Q6Oklu dm9rZU1ldGFNZXRob2QpIHsKLS0gICAgaWYgKF9pZCA8IDIpIHsKLSsgICAgaWYgKF9pZCA8IDYp IHsKLSAgICAgICBxdF9zdGF0aWNfbWV0YWNhbGwodGhpcywgX2MsIF9pZCwgX2EpOwotICAgICB9 Ci0tICAgIF9pZCAtPSAyOwotKyAgICBfaWQgLT0gNjsKLSAgIH0gZWxzZSBpZiAoX2MgPT0gUU1l dGFPYmplY3Q6OlJlZ2lzdGVyTWV0aG9kQXJndW1lbnRNZXRhVHlwZSkgewotLSAgICBpZiAoX2lk IDwgMikgewotKyAgICBpZiAoX2lkIDwgNikgewotICAgICAgICpyZWludGVycHJldF9jYXN0PFFN ZXRhVHlwZSo+KF9hWzBdKSA9IFFNZXRhVHlwZSgpOwotICAgICB9Ci0tICAgIF9pZCAtPSAyOwot KyAgICBfaWQgLT0gNjsKLSAgIH0KLSAgIHJldHVybiBfaWQ7Ci0gfQotZGlmZiAtLWdpdCBhL3Vp L3F0L3F0X2ludGVyZmFjZS5oIGIvdWkvcXQvcXRfaW50ZXJmYWNlLmgKLWluZGV4IDZhMzYyYmM2 NmMwZTMuLjI4ZGZjNjYwMzU0NGYgMTAwNjQ0Ci0tLS0gYS91aS9xdC9xdF9pbnRlcmZhY2UuaAot KysrIGIvdWkvcXQvcXRfaW50ZXJmYWNlLmgKLUBAIC0xMTgsNiArMTE4LDcgQEAgY2xhc3MgUXRJ bnRlcmZhY2UgewotIAotICAgICB2aXJ0dWFsIHZvaWQgRm9udENoYW5nZWQoKSA9IDA7Ci0gICAg IHZpcnR1YWwgdm9pZCBUaGVtZUNoYW5nZWQoKSA9IDA7Ci0rICAgIHZpcnR1YWwgdm9pZCBTY2Fs ZUZhY3Rvck1heWJlQ2hhbmdlZCgpID0gMDsKLSAgIH07Ci0gCi0gICBRdEludGVyZmFjZSgpID0g ZGVmYXVsdDsKLWRpZmYgLS1naXQgYS91aS9xdC9xdF9zaGltLmNjIGIvdWkvcXQvcXRfc2hpbS5j YwotaW5kZXggNzRkMzRhZDE5NmYxOC4uMGFlYzljM2FlZDRhZCAxMDA2NDQKLS0tLSBhL3VpL3F0 L3F0X3NoaW0uY2MKLSsrKyBiL3VpL3F0L3F0X3NoaW0uY2MKLUBAIC0xNiw2ICsxNiw3IEBACi0g I2luY2x1ZGUgPFFNaW1lVHlwZT4KLSAjaW5jbHVkZSA8UVBhaW50ZXI+Ci0gI2luY2x1ZGUgPFFQ YWxldHRlPgotKyNpbmNsdWRlIDxRU2NyZWVuPgotICNpbmNsdWRlIDxRU3R5bGU+Ci0gI2luY2x1 ZGUgPFFTdHlsZU9wdGlvblRpdGxlQmFyPgotIAotQEAgLTUyLDggKzUzLDkgQEAgRm9udEhpbnRp bmcgUXRIaW50aW5nVG9Gb250SGludGluZyhRRm9udDo6SGludGluZ1ByZWZlcmVuY2UgaGludGlu ZykgewotIC8vIE9idGFpbiB0aGUgYXZlcmFnZSBjb2xvciBvZiBhIGdyYWRpZW50LgotIFNrQ29s b3IgR3JhZGllbnRDb2xvcihjb25zdCBRR3JhZGllbnQmIGdyYWRpZW50KSB7Ci0gICBRR3JhZGll bnRTdG9wcyBzdG9wcyA9IGdyYWRpZW50LnN0b3BzKCk7Ci0tICBpZiAoc3RvcHMuZW1wdHkoKSkK LSsgIGlmIChzdG9wcy5lbXB0eSgpKSB7Ci0gICAgIHJldHVybiBxUmdiYSgwLCAwLCAwLCAwKTsK LSsgIH0KLSAKLSAgIGZsb2F0IGEgPSAwOwotICAgZmxvYXQgciA9IDA7Ci1AQCAtODYsMTEgKzg4 LDEzIEBAIFNrQ29sb3IgR3JhZGllbnRDb2xvcihjb25zdCBRR3JhZGllbnQmIGdyYWRpZW50KSB7 Ci0gLy8gT2J0YWluIHRoZSBhdmVyYWdlIGNvbG9yIG9mIGEgdGV4dHVyZS4KLSBTa0NvbG9yIFRl eHR1cmVDb2xvcihRSW1hZ2UgaW1hZ2UpIHsKLSAgIHNpemVfdCBzaXplID0gaW1hZ2Uud2lkdGgo KSAqIGltYWdlLmhlaWdodCgpOwotLSAgaWYgKCFzaXplKQotKyAgaWYgKCFzaXplKSB7Ci0gICAg IHJldHVybiBxUmdiYSgwLCAwLCAwLCAwKTsKLSsgIH0KLSAKLS0gIGlmIChpbWFnZS5mb3JtYXQo KSAhPSBRSW1hZ2U6OkZvcm1hdF9BUkdCMzJfUHJlbXVsdGlwbGllZCkKLSsgIGlmIChpbWFnZS5m b3JtYXQoKSAhPSBRSW1hZ2U6OkZvcm1hdF9BUkdCMzJfUHJlbXVsdGlwbGllZCkgewotICAgICBp bWFnZSA9IGltYWdlLmNvbnZlcnRUb0Zvcm1hdChRSW1hZ2U6OkZvcm1hdF9BUkdCMzJfUHJlbXVs dGlwbGllZCk7Ci0rICB9Ci0gCi0gICBzaXplX3QgYSA9IDA7Ci0gICBzaXplX3QgciA9IDA7Ci1A QCAtMjAzLDYgKzIwNywxMyBAQCBRdFNoaW06OlF0U2hpbShRdEludGVyZmFjZTo6RGVsZWdhdGUq IGRlbGVnYXRlLCBpbnQqIGFyZ2MsIGNoYXIqKiBhcmd2KQotICAgICAgICAgICBTTE9UKEZvbnRD aGFuZ2VkKGNvbnN0IFFGb250JikpKTsKLSAgIGNvbm5lY3QoJmFwcF8sIFNJR05BTChwYWxldHRl Q2hhbmdlZChjb25zdCBRUGFsZXR0ZSYpKSwgdGhpcywKLSAgICAgICAgICAgU0xPVChQYWxldHRl Q2hhbmdlZChjb25zdCBRUGFsZXR0ZSYpKSk7Ci0rICBjb25uZWN0KCZhcHBfLCBTSUdOQUwoc2Ny ZWVuQWRkZWQoUVNjcmVlbiopKSwgdGhpcywKLSsgICAgICAgICAgU0xPVChTY3JlZW5BZGRlZChR U2NyZWVuKikpKTsKLSsgIGNvbm5lY3QoJmFwcF8sIFNJR05BTChzY3JlZW5SZW1vdmVkKFFTY3Jl ZW4qKSksIHRoaXMsCi0rICAgICAgICAgIFNMT1QoU2NyZWVuUmVtb3ZlZChRU2NyZWVuKikpKTsK LSsgIGZvciAoUVNjcmVlbiogc2NyZWVuIDogYXBwXy5zY3JlZW5zKCkpIHsKLSsgICAgU2NyZWVu QWRkZWQoc2NyZWVuKTsKLSsgIH0KLSB9Ci0gCi0gUXRTaGltOjp+UXRTaGltKCkgPSBkZWZhdWx0 OwotQEAgLTI0MSw4ICsyNTIsOSBAQCBJbWFnZSBRdFNoaW06OkdldEljb25Gb3JDb250ZW50VHlw ZShjb25zdCBTdHJpbmcmIGNvbnRlbnRfdHlwZSwKLSAgICAgICBhdXRvIGljb24gPSBRSWNvbjo6 ZnJvbVRoZW1lKG5hbWUpOwotICAgICAgIGF1dG8gcGl4bWFwID0gaWNvbi5waXhtYXAoc2l6ZSk7 Ci0gICAgICAgYXV0byBpbWFnZSA9IHBpeG1hcC50b0ltYWdlKCk7Ci0tICAgICAgaWYgKGltYWdl LmZvcm1hdCgpICE9IFFJbWFnZTo6Rm9ybWF0X0FSR0IzMl9QcmVtdWx0aXBsaWVkKQotKyAgICAg IGlmIChpbWFnZS5mb3JtYXQoKSAhPSBRSW1hZ2U6OkZvcm1hdF9BUkdCMzJfUHJlbXVsdGlwbGll ZCkgewotICAgICAgICAgaW1hZ2UgPSBpbWFnZS5jb252ZXJ0VG9Gb3JtYXQoUUltYWdlOjpGb3Jt YXRfQVJHQjMyX1ByZW11bHRpcGxpZWQpOwotKyAgICAgIH0KLSAgICAgICBpZiAoYXV0byBieXRl cyA9IGltYWdlLnNpemVJbkJ5dGVzKCkpIHsKLSAgICAgICAgIHJldHVybiB7aW1hZ2Uud2lkdGgo KSwgaW1hZ2UuaGVpZ2h0KCksCi0gICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PGZsb2F0Pihp bWFnZS5kZXZpY2VQaXhlbFJhdGlvKCkpLAotQEAgLTI4Myw2ICsyOTUsMzAgQEAgdm9pZCBRdFNo aW06OlBhbGV0dGVDaGFuZ2VkKGNvbnN0IFFQYWxldHRlJiBwYWxldHRlKSB7Ci0gICBkZWxlZ2F0 ZV8tPlRoZW1lQ2hhbmdlZCgpOwotIH0KLSAKLStESVNBQkxFX0NGSV9WQ0FMTAotK3ZvaWQgUXRT aGltOjpTY3JlZW5BZGRlZChRU2NyZWVuKiBzY3JlZW4pIHsKLSsgIGNvbm5lY3Qoc2NyZWVuLCBT SUdOQUwobG9naWNhbERvdHNQZXJJbmNoQ2hhbmdlZChxcmVhbCkpLCB0aGlzLAotKyAgICAgICAg ICBTTE9UKExvZ2ljYWxEb3RzUGVySW5jaENoYW5nZWQocXJlYWwpKSk7Ci0rICBjb25uZWN0KHNj cmVlbiwgU0lHTkFMKHBoeXNpY2FsRG90c1BlckluY2hDaGFuZ2VkKHFyZWFsKSksIHRoaXMsCi0r ICAgICAgICAgIFNMT1QoUGh5c2ljYWxEb3RzUGVySW5jaENoYW5nZWQocXJlYWwpKSk7Ci0rICBk ZWxlZ2F0ZV8tPlNjYWxlRmFjdG9yTWF5YmVDaGFuZ2VkKCk7Ci0rfQotKwotK0RJU0FCTEVfQ0ZJ X1ZDQUxMCi0rdm9pZCBRdFNoaW06OlNjcmVlblJlbW92ZWQoUVNjcmVlbiogc2NyZWVuKSB7Ci0r ICBkZWxlZ2F0ZV8tPlNjYWxlRmFjdG9yTWF5YmVDaGFuZ2VkKCk7Ci0rfQotKwotK0RJU0FCTEVf Q0ZJX1ZDQUxMCi0rdm9pZCBRdFNoaW06OkxvZ2ljYWxEb3RzUGVySW5jaENoYW5nZWQocXJlYWwg ZHBpKSB7Ci0rICBkZWxlZ2F0ZV8tPlNjYWxlRmFjdG9yTWF5YmVDaGFuZ2VkKCk7Ci0rfQotKwot K0RJU0FCTEVfQ0ZJX1ZDQUxMCi0rdm9pZCBRdFNoaW06OlBoeXNpY2FsRG90c1BlckluY2hDaGFu Z2VkKHFyZWFsIGRwaSkgewotKyAgZGVsZWdhdGVfLT5TY2FsZUZhY3Rvck1heWJlQ2hhbmdlZCgp OwotK30KLSsKLSBJbWFnZSBRdFNoaW06OkRyYXdIZWFkZXIoaW50IHdpZHRoLAotICAgICAgICAg ICAgICAgICAgICAgICAgICBpbnQgaGVpZ2h0LAotICAgICAgICAgICAgICAgICAgICAgICAgICBT a0NvbG9yIGRlZmF1bHRfY29sb3IsCi1AQCAtMzA5LDggKzM0NSw5IEBAIFFJbWFnZSBRdFNoaW06 OkRyYXdIZWFkZXJJbXBsKGludCB3aWR0aCwKLSAgICAgUVN0eWxlT3B0aW9uVGl0bGVCYXIgb3B0 OwotICAgICBvcHQucmVjdCA9IFFSZWN0KC1rQm9yZGVyV2lkdGgsIC1rQm9yZGVyV2lkdGgsIHdp ZHRoICsgMiAqIGtCb3JkZXJXaWR0aCwKLSAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQgKyAy ICoga0JvcmRlcldpZHRoKTsKLS0gICAgaWYgKHN0YXRlID09IENvbG9yU3RhdGU6OmtOb3JtYWwp Ci0rICAgIGlmIChzdGF0ZSA9PSBDb2xvclN0YXRlOjprTm9ybWFsKSB7Ci0gICAgICAgb3B0LnRp dGxlQmFyU3RhdGUgPSBRU3R5bGU6OlN0YXRlX0FjdGl2ZTsKLSsgICAgfQotICAgICBhcHBfLnN0 eWxlKCktPmRyYXdDb21wbGV4Q29udHJvbChRU3R5bGU6OkNDX1RpdGxlQmFyLCAmb3B0LCAmcGFp bnRlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVsbHB0cik7Ci0g ICB9IGVsc2UgewotZGlmZiAtLWdpdCBhL3VpL3F0L3F0X3NoaW0uaCBiL3VpL3F0L3F0X3NoaW0u aAotaW5kZXggNjA3ZTZmZTIyZGZjMC4uZDk3OWM0N2Q1ODlkNCAxMDA2NDQKLS0tLSBhL3VpL3F0 L3F0X3NoaW0uaAotKysrIGIvdWkvcXQvcXRfc2hpbS5oCi1AQCAtNDIsNiArNDIsMTAgQEAgY2xh c3MgUXRTaGltIDogcHVibGljIFFPYmplY3QsIHB1YmxpYyBRdEludGVyZmFjZSB7Ci0gIHByaXZh dGUgc2xvdHM6Ci0gICB2b2lkIEZvbnRDaGFuZ2VkKGNvbnN0IFFGb250JiBmb250KTsKLSAgIHZv aWQgUGFsZXR0ZUNoYW5nZWQoY29uc3QgUVBhbGV0dGUmIHBhbGV0dGUpOwotKyAgdm9pZCBTY3Jl ZW5BZGRlZChRU2NyZWVuKiBzY3JlZW4pOwotKyAgdm9pZCBTY3JlZW5SZW1vdmVkKFFTY3JlZW4q IHNjcmVlbik7Ci0rICB2b2lkIExvZ2ljYWxEb3RzUGVySW5jaENoYW5nZWQocXJlYWwgZHBpKTsK LSsgIHZvaWQgUGh5c2ljYWxEb3RzUGVySW5jaENoYW5nZWQocXJlYWwgZHBpKTsKLSAKLSAgcHJp dmF0ZToKLSAgIFFJbWFnZSBEcmF3SGVhZGVySW1wbChpbnQgd2lkdGgsCi1kaWZmIC0tZ2l0IGEv dWkvcXQvcXRfdWkuY2MgYi91aS9xdC9xdF91aS5jYwotaW5kZXggNmEzYjU4ZTlmOTMwYi4uYmFj NTI0NWEwNjlmOSAxMDA2NDQKLS0tLSBhL3VpL3F0L3F0X3VpLmNjCi0rKysgYi91aS9xdC9xdF91 aS5jYwotQEAgLTE5LDYgKzE5LDcgQEAKLSAjaW5jbHVkZSAiYmFzZS9uaXgveGRnX3V0aWwuaCIK LSAjaW5jbHVkZSAiYmFzZS9ub3RyZWFjaGVkLmgiCi0gI2luY2x1ZGUgImJhc2UvcGF0aF9zZXJ2 aWNlLmgiCi0rI2luY2x1ZGUgImJhc2UvdGFzay9zaW5nbGVfdGhyZWFkX3Rhc2tfcnVubmVyLmgi Ci0gI2luY2x1ZGUgImJhc2UvdGltZS90aW1lLmgiCi0gI2luY2x1ZGUgImNjL3BhaW50L3BhaW50 X2NhbnZhcy5oIgotICNpbmNsdWRlICJjaHJvbWUvYnJvd3Nlci90aGVtZXMvdGhlbWVfcHJvcGVy dGllcy5oIiAgLy8gbm9nbmNoZWNrCi1AQCAtMzYsNiArMzcsNyBAQAotICNpbmNsdWRlICJ1aS9n ZngvaW1hZ2UvaW1hZ2UuaCIKLSAjaW5jbHVkZSAidWkvZ2Z4L2ltYWdlL2ltYWdlX3NraWFfcmVw LmgiCi0gI2luY2x1ZGUgInVpL2dmeC9pbWFnZS9pbWFnZV9za2lhX3NvdXJjZS5oIgotKyNpbmNs dWRlICJ1aS9saW51eC9kZXZpY2Vfc2NhbGVfZmFjdG9yX29ic2VydmVyLmgiCi0gI2luY2x1ZGUg InVpL2xpbnV4L2xpbnV4X3VpLmgiCi0gI2luY2x1ZGUgInVpL2xpbnV4L25hdl9idXR0b25fcHJv dmlkZXIuaCIKLSAjaW5jbHVkZSAidWkvbmF0aXZlX3RoZW1lL25hdGl2ZV90aGVtZV9hdXJhLmgi Ci1AQCAtMTk0LDE2ICsxOTYsMjEgQEAgdm9pZCBRdFVpOjpHZXREZWZhdWx0Rm9udERlc2NyaXB0 aW9uKHN0ZDo6c3RyaW5nKiBmYW1pbHlfb3V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBpbnQqIHN0eWxlX291dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgaW50KiB3ZWlnaHRfb3V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBnZng6OkZvbnRSZW5kZXJQYXJhbXMqIHBhcmFtc19vdXQpIGNvbnN0IHsKLS0gIGlm IChmYW1pbHlfb3V0KQotKyAgaWYgKGZhbWlseV9vdXQpIHsKLSAgICAgKmZhbWlseV9vdXQgPSBm b250X2ZhbWlseV87Ci0tICBpZiAoc2l6ZV9waXhlbHNfb3V0KQotKyAgfQotKyAgaWYgKHNpemVf cGl4ZWxzX291dCkgewotICAgICAqc2l6ZV9waXhlbHNfb3V0ID0gZm9udF9zaXplX3BpeGVsc187 Ci0tICBpZiAoc3R5bGVfb3V0KQotKyAgfQotKyAgaWYgKHN0eWxlX291dCkgewotICAgICAqc3R5 bGVfb3V0ID0gZm9udF9zdHlsZV87Ci0tICBpZiAod2VpZ2h0X291dCkKLSsgIH0KLSsgIGlmICh3 ZWlnaHRfb3V0KSB7Ci0gICAgICp3ZWlnaHRfb3V0ID0gZm9udF93ZWlnaHRfOwotLSAgaWYgKHBh cmFtc19vdXQpCi0rICB9Ci0rICBpZiAocGFyYW1zX291dCkgewotICAgICAqcGFyYW1zX291dCA9 IGZvbnRfcGFyYW1zXzsKLSsgIH0KLSB9Ci0gCi0gdWk6OlNlbGVjdEZpbGVEaWFsb2cqIFF0VWk6 OkNyZWF0ZVNlbGVjdEZpbGVEaWFsb2coCi1AQCAtMjM2LDYgKzI0NSw3IEBAIGJvb2wgUXRVaTo6 SW5pdGlhbGl6ZSgpIHsKLSAgIHVpOjpDb2xvclByb3ZpZGVyTWFuYWdlcjo6R2V0KCkuQXBwZW5k Q29sb3JQcm92aWRlckluaXRpYWxpemVyKAotICAgICAgIGJhc2U6OkJpbmRSZXBlYXRpbmcoJlF0 VWk6OkFkZE5hdGl2ZUNvbG9yTWl4ZXIsIGJhc2U6OlVucmV0YWluZWQodGhpcykpKTsKLSAgIEZv bnRDaGFuZ2VkKCk7Ci0rICBzY2FsZV9mYWN0b3JfID0gc2hpbV8tPkdldFNjYWxlRmFjdG9yKCk7 Ci0gCi0gICByZXR1cm4gdHJ1ZTsKLSB9Ci1AQCAtMjQ2LDggKzI1Niw5IEBAIHVpOjpOYXRpdmVU aGVtZSogUXRVaTo6R2V0TmF0aXZlVGhlbWUoKSBjb25zdCB7Ci0gCi0gYm9vbCBRdFVpOjpHZXRD b2xvcihpbnQgaWQsIFNrQ29sb3IqIGNvbG9yLCBib29sIHVzZV9jdXN0b21fZnJhbWUpIGNvbnN0 IHsKLSAgIGF1dG8gdmFsdWUgPSBHZXRDb2xvcihpZCwgdXNlX2N1c3RvbV9mcmFtZSk7Ci0tICBp ZiAodmFsdWUpCi0rICBpZiAodmFsdWUpIHsKLSAgICAgKmNvbG9yID0gKnZhbHVlOwotKyAgfQot ICAgcmV0dXJuIHZhbHVlLmhhc192YWx1ZSgpOwotIH0KLSAKLUBAIC0yOTcsOCArMzA4LDkgQEAg Z2Z4OjpJbWFnZSBRdFVpOjpHZXRJY29uRm9yQ29udGVudFR5cGUoY29uc3Qgc3RkOjpzdHJpbmcm IGNvbnRlbnRfdHlwZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBm bG9hdCBzY2FsZSkgY29uc3QgewotICAgSW1hZ2UgaW1hZ2UgPQotICAgICAgIHNoaW1fLT5HZXRJ Y29uRm9yQ29udGVudFR5cGUoU3RyaW5nKGNvbnRlbnRfdHlwZS5jX3N0cigpKSwgc2l6ZSAqIHNj YWxlKTsKLS0gIGlmICghaW1hZ2UuZGF0YV9hcmdiLnNpemUoKSkKLSsgIGlmICghaW1hZ2UuZGF0 YV9hcmdiLnNpemUoKSkgewotICAgICByZXR1cm4ge307Ci0rICB9Ci0gCi0gICBTa0ltYWdlSW5m byBpbWFnZV9pbmZvID0gU2tJbWFnZUluZm86Ok1ha2UoCi0gICAgICAgaW1hZ2Uud2lkdGgsIGlt YWdlLmhlaWdodCwga0JHUkFfODg4OF9Ta0NvbG9yVHlwZSwga1ByZW11bF9Ta0FscGhhVHlwZSk7 Ci1AQCAtMzQ1LDE0ICszNTcsMTYgQEAgYm9vbCBRdFVpOjpBbmltYXRpb25zRW5hYmxlZCgpIGNv bnN0IHsKLSAKLSB2b2lkIFF0VWk6OkFkZFdpbmRvd0J1dHRvbk9yZGVyT2JzZXJ2ZXIoCi0gICAg IHVpOjpXaW5kb3dCdXR0b25PcmRlck9ic2VydmVyKiBvYnNlcnZlcikgewotLSAgaWYgKGZhbGxi YWNrX2xpbnV4X3VpXykKLSsgIGlmIChmYWxsYmFja19saW51eF91aV8pIHsKLSAgICAgZmFsbGJh Y2tfbGludXhfdWlfLT5BZGRXaW5kb3dCdXR0b25PcmRlck9ic2VydmVyKG9ic2VydmVyKTsKLSsg IH0KLSB9Ci0gCi0gdm9pZCBRdFVpOjpSZW1vdmVXaW5kb3dCdXR0b25PcmRlck9ic2VydmVyKAot ICAgICB1aTo6V2luZG93QnV0dG9uT3JkZXJPYnNlcnZlciogb2JzZXJ2ZXIpIHsKLS0gIGlmIChm YWxsYmFja19saW51eF91aV8pCi0rICBpZiAoZmFsbGJhY2tfbGludXhfdWlfKSB7Ci0gICAgIGZh bGxiYWNrX2xpbnV4X3VpXy0+UmVtb3ZlV2luZG93QnV0dG9uT3JkZXJPYnNlcnZlcihvYnNlcnZl cik7Ci0rICB9Ci0gfQotIAotIHN0ZDo6dW5pcXVlX3B0cjx1aTo6TmF2QnV0dG9uUHJvdmlkZXI+ IFF0VWk6OkNyZWF0ZU5hdkJ1dHRvblByb3ZpZGVyKCkgewotQEAgLTQ0MSwxMSArNDU1LDI0IEBA IHZvaWQgUXRVaTo6VGhlbWVDaGFuZ2VkKCkgewotICAgbmF0aXZlX3RoZW1lXy0+VGhlbWVDaGFu Z2VkKFByZWZlckRhcmtUaGVtZSgpKTsKLSB9Ci0gCi0rdm9pZCBRdFVpOjpTY2FsZUZhY3Rvck1h eWJlQ2hhbmdlZCgpIHsKLSsgIC8vIFRoaXMgZ2V0cyBjYWxsZWQgd2hlbmV2ZXIgdGhlIG1vbml0 b3IgY29uZmlndXJhdGlvbiBjaGFuZ2VzLiAgSGFuZGxlIHRoZQotKyAgLy8gc2NhbGUgY2hhbmdl IGFzeW5jaHJvbm91c2x5IHRvIGFsbG93IHRoZSBjaGFuZ2UgdG8gcHJvcGFnYXRlIHRvIFFUJ3Mg c2NhbGUKLSsgIC8vIGZhY3Rvci4gVGhpcyBhbHNvIGNvYWxlc2NlcyBzY2FsZSBjaGFuZ2UgZXZl bnRzIHRvZ2V0aGVyLgotKyAgaWYgKCFzY2FsZV9mYWN0b3JfdGFza19hY3RpdmVfKSB7Ci0rICAg IHNjYWxlX2ZhY3Rvcl90YXNrX2FjdGl2ZV8gPSB0cnVlOwotKyAgICBiYXNlOjpTaW5nbGVUaHJl YWRUYXNrUnVubmVyOjpHZXRDdXJyZW50RGVmYXVsdCgpLT5Qb3N0VGFzaygKLSsgICAgICAgIEZS T01fSEVSRSwgYmFzZTo6QmluZE9uY2UoJlF0VWk6OlNjYWxlRmFjdG9yTWF5YmVDaGFuZ2VkSW1w bCwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2Vha19mYWN0b3J5Xy5HZXRX ZWFrUHRyKCkpKTsKLSsgIH0KLSt9Ci0rCi0gRElTQUJMRV9DRklfVkNBTEwKLSB2b2lkIFF0VWk6 OkFkZE5hdGl2ZUNvbG9yTWl4ZXIodWk6OkNvbG9yUHJvdmlkZXIqIHByb3ZpZGVyLAotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aTo6Q29sb3JQcm92aWRlck1hbmFnZXI6 OktleSYga2V5KSB7Ci0tICBpZiAoa2V5LnN5c3RlbV90aGVtZSAhPSB1aTo6U3lzdGVtVGhlbWU6 OmtRdCkKLSsgIGlmIChrZXkuc3lzdGVtX3RoZW1lICE9IHVpOjpTeXN0ZW1UaGVtZTo6a1F0KSB7 Ci0gICAgIHJldHVybjsKLSsgIH0KLSAKLSAgIHVpOjpDb2xvck1peGVyJiBtaXhlciA9IHByb3Zp ZGVyLT5BZGRNaXhlcigpOwotICAgLy8gVGhlc2UgY29sb3IgY29uc3RhbnRzIGFyZSByZXF1aXJl ZCBieSBuYXRpdmVfY2hyb21lX2NvbG9yX21peGVyX2xpbnV4LmNjCi1AQCAtNDk0LDggKzUyMSw5 IEBAIHZvaWQgUXRVaTo6QWRkTmF0aXZlQ29sb3JNaXhlcih1aTo6Q29sb3JQcm92aWRlciogcHJv dmlkZXIsCi0gICAgICAgIENvbG9yU3RhdGU6OmtJbmFjdGl2ZX0sCi0gICAgICAge3VpOjprQ29s b3JOYXRpdmVUb29sYmFyQmFja2dyb3VuZCwgQ29sb3JUeXBlOjprQnV0dG9uQmd9LAotICAgfTsK LS0gIGZvciAoY29uc3QgYXV0byYgbWFwIDoga01hcHMpCi0rICBmb3IgKGNvbnN0IGF1dG8mIG1h cCA6IGtNYXBzKSB7Ci0gICAgIG1peGVyW21hcC5pZF0gPSB7c2hpbV8tPkdldENvbG9yKG1hcC5y b2xlLCBtYXAuc3RhdGUpfTsKLSsgIH0KLSAKLSAgIGNvbnN0IGJvb2wgdXNlX2N1c3RvbV9mcmFt ZSA9Ci0gICAgICAga2V5LmZyYW1lX3R5cGUgPT0gdWk6OkNvbG9yUHJvdmlkZXJNYW5hZ2VyOjpG cmFtZVR5cGU6OmtDaHJvbWl1bTsKLUBAIC01NzgsNiArNjA2LDIwIEBAIGFic2w6Om9wdGlvbmFs PFNrQ29sb3I+IFF0VWk6OkdldENvbG9yKGludCBpZCwgYm9vbCB1c2VfY3VzdG9tX2ZyYW1lKSBj b25zdCB7Ci0gICB9Ci0gfQotIAotK0RJU0FCTEVfQ0ZJX1ZDQUxMCi0rdm9pZCBRdFVpOjpTY2Fs ZUZhY3Rvck1heWJlQ2hhbmdlZEltcGwoKSB7Ci0rICBzY2FsZV9mYWN0b3JfdGFza19hY3RpdmVf ID0gZmFsc2U7Ci0rICBkb3VibGUgc2NhbGUgPSBzaGltXy0+R2V0U2NhbGVGYWN0b3IoKTsKLSsg IGlmIChzY2FsZSA9PSBzY2FsZV9mYWN0b3JfKSB7Ci0rICAgIHJldHVybjsKLSsgIH0KLSsgIHNj YWxlX2ZhY3Rvcl8gPSBzY2FsZTsKLSsgIGZvciAodWk6OkRldmljZVNjYWxlRmFjdG9yT2JzZXJ2 ZXImIG9ic2VydmVyIDoKLSsgICAgICAgZGV2aWNlX3NjYWxlX2ZhY3Rvcl9vYnNlcnZlcl9saXN0 KCkpIHsKLSsgICAgb2JzZXJ2ZXIuT25EZXZpY2VTY2FsZUZhY3RvckNoYW5nZWQoKTsKLSsgIH0K LSt9Ci0rCi0gc3RkOjp1bmlxdWVfcHRyPHVpOjpMaW51eFVpQW5kVGhlbWU+IENyZWF0ZVF0VWko Ci0gICAgIHVpOjpMaW51eFVpKiBmYWxsYmFja19saW51eF91aSkgewotICAgcmV0dXJuIHN0ZDo6 bWFrZV91bmlxdWU8UXRVaT4oZmFsbGJhY2tfbGludXhfdWkpOwotZGlmZiAtLWdpdCBhL3VpL3F0 L3F0X3VpLmggYi91aS9xdC9xdF91aS5oCi1pbmRleCBiNTNlZDkzMjQwNzA4Li4zMzE5ZWRmMWVh OWJjIDEwMDY0NAotLS0tIGEvdWkvcXQvcXRfdWkuaAotKysrIGIvdWkvcXQvcXRfdWkuaAotQEAg LTgsNiArOCw3IEBACi0gI2luY2x1ZGUgPG1lbW9yeT4KLSAKLSAjaW5jbHVkZSAiYmFzZS9jb21w b25lbnRfZXhwb3J0LmgiCi0rI2luY2x1ZGUgImJhc2UvbWVtb3J5L3dlYWtfcHRyLmgiCi0gI2lu Y2x1ZGUgInByaW50aW5nL2J1aWxkZmxhZ3MvYnVpbGRmbGFncy5oIgotICNpbmNsdWRlICJ0aGly ZF9wYXJ0eS9hYnNlaWwtY3BwL2Fic2wvdHlwZXMvb3B0aW9uYWwuaCIKLSAjaW5jbHVkZSAidWkv Y29sb3IvY29sb3JfcHJvdmlkZXIuaCIKLUBAIC04OCwxMSArODksMTQgQEAgY2xhc3MgUXRVaSA6 IHB1YmxpYyB1aTo6TGludXhVaUFuZFRoZW1lLCBRdEludGVyZmFjZTo6RGVsZWdhdGUgewotICAg Ly8gUXRJbnRlcmZhY2U6OkRlbGVnYXRlOgotICAgdm9pZCBGb250Q2hhbmdlZCgpIG92ZXJyaWRl OwotICAgdm9pZCBUaGVtZUNoYW5nZWQoKSBvdmVycmlkZTsKLSsgIHZvaWQgU2NhbGVGYWN0b3JN YXliZUNoYW5nZWQoKSBvdmVycmlkZTsKLSAKLSAgcHJpdmF0ZToKLSAgIHZvaWQgQWRkTmF0aXZl Q29sb3JNaXhlcih1aTo6Q29sb3JQcm92aWRlciogcHJvdmlkZXIsCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgY29uc3QgdWk6OkNvbG9yUHJvdmlkZXJNYW5hZ2VyOjpLZXkmIGtleSk7Ci0g Ci0rICB2b2lkIFNjYWxlRmFjdG9yTWF5YmVDaGFuZ2VkSW1wbCgpOwotKwotICAgYWJzbDo6b3B0 aW9uYWw8U2tDb2xvcj4gR2V0Q29sb3IoaW50IGlkLCBib29sIHVzZV9jdXN0b21fZnJhbWUpIGNv bnN0OwotIAotICAgLy8gVE9ETyhodHRwczovL2NyYnVnLmNvbS8xMzE3NzgyKTogVGhpcyBpcyBh IGZhbGxiYWNrIGZvciBhbnkgdW5pbXBsZW1lbnRlZAotQEAgLTExNCw2ICsxMTgsMTEgQEAgY2xh c3MgUXRVaSA6IHB1YmxpYyB1aTo6TGludXhVaUFuZFRoZW1lLCBRdEludGVyZmFjZTo6RGVsZWdh dGUgewotICAgc3RkOjp1bmlxdWVfcHRyPFF0SW50ZXJmYWNlPiBzaGltXzsKLSAKLSAgIHN0ZDo6 dW5pcXVlX3B0cjxRdE5hdGl2ZVRoZW1lPiBuYXRpdmVfdGhlbWVfOwotKwotKyAgYm9vbCBzY2Fs ZV9mYWN0b3JfdGFza19hY3RpdmVfID0gZmFsc2U7Ci0rICBkb3VibGUgc2NhbGVfZmFjdG9yXyA9 IDEuMDsKLSsKLSsgIGJhc2U6OldlYWtQdHJGYWN0b3J5PFF0VWk+IHdlYWtfZmFjdG9yeV97dGhp c307Ci0gfTsKLSAKLSAvLyBUaGlzIHNob3VsZCBiZSB0aGUgb25seSBzeW1ib2wgZXhwb3J0ZWQg ZnJvbSB0aGlzIGNvbXBvbmVudC4KCmRpZmYgLS1naXQgYS9jaHJvbWl1bS0xMTQtcXRfZGVwcy5w YXRjaCBiL2Nocm9taXVtLTExNC1xdF9kZXBzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCBlODkwODgyLi4wMDAwMDAwCi0tLSBhL2Nocm9taXVtLTExNC1xdF9kZXBzLnBhdGNo CisrKyAvZGV2L251bGwKQEAgLTEsNDYgKzAsMCBAQAotY29tbWl0IDdiMWQ3NDdhNTk5YTc1MmU0 OTNlMzRlN2JiZjg0MWQ4YjRjNzg4MmYKLUF1dGhvcjogVG9tYXN6IMWabmlhdG93c2tpIDx0b21h c3ouc25pYXRvd3NraUB4cGVyaS5jb20+Ci1EYXRlOiAgIFRodSBNYXkgMjUgMTY6MDk6MjcgMjAy MyArMDAwMAotCi0gICAgRGVwIG9uIC8vcHJpbnRpbmcgaW4gLy91aS9xdCBpZiBwcmludGluZyBp cyBlbmFibGVkCi0gICAgCi0gICAgcXRfdWkuaCBjYW4gdXNlIHByaW50aW5nL3ByaW50aW5nX2Nv bnRleHRfbGludXguaCwgYW5kIG5lZWRzIHRvIGRlcAotICAgIG9uIC8vcHJpbnRpbmcgaWYgaXQg ZG9lcywgdG8gYXZvaWQgYSBtaXNzaW5nIGRlcGVuZGVuY3kgYnVpbGQgYnJlYWsuCi0gICAgCi0g ICAgV2l0aG91dCB0aGlzIGZpeCwgYSBjbGVhbiBidWlsZCBjYW4gZmFpbCBvbiBvYmovdWkvcXQv cXQvcXRfdWkubyB3aXRoCi0gICAgICBJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vLi4vdWkvcXQv cXRfdWkuY2M6ODoKLSAgICAgIEluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi8uLi91aS9xdC9xdF91 aS5oOjIxOgotICAgICAgLi4vLi4vcHJpbnRpbmcvcHJpbnRpbmdfY29udGV4dF9saW51eC5oOjEy OjEwOiBmYXRhbCBlcnJvcjoKLSAgICAgICdwcmludGluZy9tb2pvbS9wcmludC5tb2pvbS5oJyBm aWxlIG5vdCBmb3VuZAotICAgIAotICAgICh0aGUgI2luY2x1ZGUgaXMgYSAvLyBOT0dOQ0hFQ0sg b25lLCB3aGljaCBpcyBob3cgdGhpcyBjYW1lIHRvIGJlKQotICAgIAotICAgIENoYW5nZS1JZDog STcwYWYzNzA3MWUyMzJmZmJmNDYyYTA1ZTAyNjA1MWVmYWUwNDRiNjkKLSAgICBSZXZpZXdlZC1v bjogaHR0cHM6Ly9jaHJvbWl1bS1yZXZpZXcuZ29vZ2xlc291cmNlLmNvbS9jL2Nocm9taXVtL3Ny Yy8rLzQ1NjY5NDQKLSAgICBSZXZpZXdlZC1ieTogVGhvbWFzIEFuZGVyc29uIDx0aG9tYXNhbmRl cnNvbkBjaHJvbWl1bS5vcmc+Ci0gICAgQXV0by1TdWJtaXQ6IFRvbWFzeiDFmm5pYXRvd3NraSA8 dG9tYXN6LnNuaWF0b3dza2lAeHBlcmkuY29tPgotICAgIENvbW1pdC1RdWV1ZTogVGhvbWFzIEFu ZGVyc29uIDx0aG9tYXNhbmRlcnNvbkBjaHJvbWl1bS5vcmc+Ci0gICAgQ3ItQ29tbWl0LVBvc2l0 aW9uOiByZWZzL2hlYWRzL21haW5AeyMxMTQ5MTM4fQotCi1kaWZmIC0tZ2l0IGEvdWkvcXQvQlVJ TEQuZ24gYi91aS9xdC9CVUlMRC5nbgotaW5kZXggNmE2Nzk2MWVkYzJmNy4uODlmZmZjZjMwODlm OSAxMDA2NDQKLS0tLSBhL3VpL3F0L0JVSUxELmduCi0rKysgYi91aS9xdC9CVUlMRC5nbgotQEAg LTUsNiArNSw3IEBACi0gaW1wb3J0KCIvL2J1aWxkL2NvbmZpZy9jaHJvbWVjYXN0X2J1aWxkLmdu aSIpCi0gaW1wb3J0KCIvL2J1aWxkL2NvbmZpZy9saW51eC9wa2dfY29uZmlnLmduaSIpCi0gaW1w b3J0KCIvL2J1aWxkL2NvbmZpZy9zeXNyb290LmduaSIpCi0raW1wb3J0KCIvL3ByaW50aW5nL2J1 aWxkZmxhZ3MvYnVpbGRmbGFncy5nbmkiKQotIGltcG9ydCgiLy91aS9xdC9xdC5nbmkiKQotIAot IGFzc2VydCh1c2VfcXQpCi1AQCAtMTI3LDYgKzEyOCw5IEBAIGNvbXBvbmVudCgicXQiKSB7Ci0g ICAgICIvL3VpL3ZpZXdzIiwKLSAgIF0KLSAgIHB1YmxpY19kZXBzID0gWyAiLy9za2lhIiBdCi0r ICBpZiAoZW5hYmxlX3ByaW50aW5nKSB7Ci0rICAgIHB1YmxpY19kZXBzICs9IFsgIi8vcHJpbnRp bmciIF0KLSsgIH0KLSAKLSAgIHNvdXJjZXMgPSBbCi0gICAgICJxdF91aS5jYyIsCgpkaWZmIC0t Z2l0IGEvY2hyb21pdW0tMTE0LXF0X2VuYWJsZV9BbGxvd1F0X2ZlYXR1cmVfZmxhZy5wYXRjaCBi L2Nocm9taXVtLTExNC1xdF9lbmFibGVfQWxsb3dRdF9mZWF0dXJlX2ZsYWcucGF0Y2gKZGVsZXRl ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUzZWY2ZDkuLjAwMDAwMDAKLS0tIGEvY2hyb21pdW0t MTE0LXF0X2VuYWJsZV9BbGxvd1F0X2ZlYXR1cmVfZmxhZy5wYXRjaAorKysgL2Rldi9udWxsCkBA IC0xLDEyICswLDAgQEAKLWRpZmYgLXVwIGNocm9taXVtLTExNC4wLjU3MzUuMTA2L3VpL2xpbnV4 L2xpbnV4X3VpX2ZhY3RvcnkuY2MubWUgY2hyb21pdW0tMTE0LjAuNTczNS4xMDYvdWkvbGludXgv bGludXhfdWlfZmFjdG9yeS5jYwotLS0tIGNocm9taXVtLTExNC4wLjU3MzUuMTA2L3VpL2xpbnV4 L2xpbnV4X3VpX2ZhY3RvcnkuY2MubWUJMjAyMy0wNi0xMSAxODo0NzowOS43NDI4ODY1NzggKzAy MDAKLSsrKyBjaHJvbWl1bS0xMTQuMC41NzM1LjEwNi91aS9saW51eC9saW51eF91aV9mYWN0b3J5 LmNjCTIwMjMtMDYtMTEgMTg6NDg6NDIuMjMxNTg0ODg2ICswMjAwCi1AQCAtMTI3LDcgKzEyNyw3 IEBAIExpbnV4VWlBbmRUaGVtZSogR2V0RGVmYXVsdExpbnV4VWlBbmRUaGUKLSAKLSB9ICAvLyBu YW1lc3BhY2UKLSAKLS1CQVNFX0ZFQVRVUkUoa0FsbG93UXQsICJBbGxvd1F0IiwgYmFzZTo6RkVB VFVSRV9ESVNBQkxFRF9CWV9ERUZBVUxUKTsKLStCQVNFX0ZFQVRVUkUoa0FsbG93UXQsICJBbGxv d1F0IiwgYmFzZTo6RkVBVFVSRV9FTkFCTEVEX0JZX0RFRkFVTFQpOwotIAotIExpbnV4VWkqIEdl dERlZmF1bHRMaW51eFVpKCkgewotICAgYXV0byogbGludXhfdWkgPSBHZXREZWZhdWx0TGludXhV aUFuZFRoZW1lKCk7CgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0tMTE0LXF0X2xvZ2ljYWxfc2NhbGVf ZmFjdG9yLnBhdGNoIGIvY2hyb21pdW0tMTE0LXF0X2xvZ2ljYWxfc2NhbGVfZmFjdG9yLnBhdGNo CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MmY2YjBlLi4wMDAwMDAwCi0tLSBhL2No cm9taXVtLTExNC1xdF9sb2dpY2FsX3NjYWxlX2ZhY3Rvci5wYXRjaAorKysgL2Rldi9udWxsCkBA IC0xLDU5ICswLDAgQEAKLWNvbW1pdCBmZjM5YTI3OGRkY2NmNjE3MTZhN2RiY2I1NzU0MTU4MDFi YmY4ZGVkCi1BdXRob3I6IFRvbSBBbmRlcnNvbiA8dGhvbWFzYW5kZXJzb25AY2hyb21pdW0ub3Jn PgotRGF0ZTogICBXZWQgTWF5IDMxIDE4OjMxOjA5IDIwMjMgKzAwMDAKLQotICAgIFtRVF0gQWNj b3VudCBmb3IgbG9naWNhbCBzY2FsZSBmYWN0b3IKLSAgICAKLSAgICBQcmV2aW91c2x5IHdlIHdl cmUgb25seSB1c2luZyB0aGUgZGV2aWNlIHBpeGVsIHJhdGlvLiAgQnV0IFFUIFVJCi0gICAgc2Nh bGVzIHdpdGggYm90aCB0aGUgZGV2aWNlIHBpeGVsIHJhdGlvIGFuZCB0aGUgbG9naWNhbCBEUEku ICBUaGlzIENMCi0gICAgc2V0cyBDaHJvbWUncyBzY2FsZSBmYWN0b3IgdG8gYmUgdGhlIHByb2R1 Y3Qgb2YgdGhlc2UgdHdvLgotICAgIAotICAgIFI9dGhlc3RpZwotICAgIENDPWprdW1tZXJvdwot ICAgIAotICAgIENoYW5nZS1JZDogSTliZDQxNDA0NjA1OGU3NDE0NTBmYWJhZTQ5MTNkNDdhMTZj YTQ4YzMKLSAgICBCdWc6IDE0MzkxNDkKLSAgICBSZXZpZXdlZC1vbjogaHR0cHM6Ly9jaHJvbWl1 bS1yZXZpZXcuZ29vZ2xlc291cmNlLmNvbS9jL2Nocm9taXVtL3NyYy8rLzQ1NzU1NzIKLSAgICBS ZXZpZXdlZC1ieTogTGVpIFpoYW5nIDx0aGVzdGlnQGNocm9taXVtLm9yZz4KLSAgICBDb21taXQt UXVldWU6IFRob21hcyBBbmRlcnNvbiA8dGhvbWFzYW5kZXJzb25AY2hyb21pdW0ub3JnPgotICAg IENyLUNvbW1pdC1Qb3NpdGlvbjogcmVmcy9oZWFkcy9tYWluQHsjMTE1MTM4MH0KLQotZGlmZiAt LWdpdCBhL3VpL3F0L3F0X3NoaW0uY2MgYi91aS9xdC9xdF9zaGltLmNjCi1pbmRleCAwYWVjOWMz YWVkNGFkLi4zNzgwZjhjMzk4OGI0IDEwMDY0NAotLS0tIGEvdWkvcXQvcXRfc2hpbS5jYwotKysr IGIvdWkvcXQvcXRfc2hpbS5jYwotQEAgLTcsNyArNyw3IEBACi0gCi0gI2luY2x1ZGUgInVpL3F0 L3F0X3NoaW0uaCIKLSAKLS0jaW5jbHVkZSA8c3RkaW8uaD4KLSsjaW5jbHVkZSA8Y21hdGg+Ci0g Ci0gI2luY2x1ZGUgPFFBcHBsaWNhdGlvbj4KLSAjaW5jbHVkZSA8UUZvbnQ+Ci1AQCAtMjE5LDcg KzIxOSwyNCBAQCBRdFNoaW06OlF0U2hpbShRdEludGVyZmFjZTo6RGVsZWdhdGUqIGRlbGVnYXRl LCBpbnQqIGFyZ2MsIGNoYXIqKiBhcmd2KQotIFF0U2hpbTo6flF0U2hpbSgpID0gZGVmYXVsdDsK LSAKLSBkb3VibGUgUXRTaGltOjpHZXRTY2FsZUZhY3RvcigpIGNvbnN0IHsKLS0gIHJldHVybiBh cHBfLmRldmljZVBpeGVsUmF0aW8oKTsKLSsgIGNvbnN0ZXhwciBkb3VibGUga0RlZmF1bHRQaXhl bERwaSA9IDk2LjA7Ci0rICAvLyBVc2UgdGhlIGxhcmdlc3Qgc2NhbGUgZmFjdG9yIGFjcm9zcyBh bGwgZGlzcGxheXMgYXMgdGhlIGdsb2JhbCBzY2FsZQotKyAgLy8gZmFjdG9yLiAgVGhpcyBtYXRj aGVzIHRoZSBiZWhhdmlvciBvZiBgYXBwXy5kZXZpY2VQaXhlbFJhdGlvKClgLCBleGNlcHQKLSsg IC8vIHRoaXMgYWxzbyB0YWtlcyBpbnRvIGFjY291bnQgdGhlIGxvZ2ljYWwgRFBJLgotKyAgLy8g VE9ETyhodHRwczovL2NyYnVnLmNvbS8xNDUwMzAxKTogVW5saWtlIEdUSywgUVQgc3VwcG9ydHMg cGVyLWRpc3BsYXkKLSsgIC8vIHNjYWxpbmcuIFVzZSB0aGlzIGluc3RlYWQgb2YgdGhlIG1heCBz Y2FsZSBmYWN0b3IuCi0rICBkb3VibGUgc2NhbGUgPSAwLjA7Ci0rICBmb3IgKFFTY3JlZW4qIHNj cmVlbiA6IGFwcF8uc2NyZWVucygpKSB7Ci0rICAgIHNjYWxlID0KLSsgICAgICAgIHN0ZDo6bWF4 KHNjYWxlLCBzY3JlZW4tPmRldmljZVBpeGVsUmF0aW8oKSAqCi0rICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHNjcmVlbi0+bG9naWNhbERvdHNQZXJJbmNoKCkgLyBrRGVmYXVsdFBpeGVsRHBp KTsKLSsgIH0KLSsgIC8vIFJvdW5kIHRvIHRoZSBuZWFyZXN0IDE2dGggc28gdGhhdCBVSSBjYW4g bG9zc2xlc3NseSBtdWx0aXBseSBhbmQgZGl2aWRlCi0rICAvLyBieSB0aGUgc2NhbGUgZmFjdG9y IHVzaW5nIGZsb2F0aW5nIHBvaW50IGFyaXRobWV0aWMuICBHdGtVaSBhbHNvIHJvdW5kcwotKyAg Ly8gaW4gdGhpcyB3YXksIGJ1dCB0byAxLzY0dGguICAxLzE2dGggaXMgY2hvc2VuIGhlcmUgc2lu Y2UgdGhhdCdzIHdoYXQKLSsgIC8vIEtERSBzZXR0aW5ncyB1c2VzLgotKyAgc2NhbGUgPSBzdGQ6 OnJvdW5kKHNjYWxlICogMTYpIC8gMTY7Ci0rICByZXR1cm4gc2NhbGUgPiAwID8gc2NhbGUgOiAx LjA7Ci0gfQotIAotIEZvbnRSZW5kZXJQYXJhbXMgUXRTaGltOjpHZXRGb250UmVuZGVyUGFyYW1z KCkgY29uc3QgewoKZGlmZiAtLWdpdCBhL2Nocm9taXVtLTExNS1hZGRfQm91bmRTZXNzaW9uUmVm cmVzaENvb2tpZUZldGNoZXI6OlJlc3VsdC5wYXRjaCBiL2Nocm9taXVtLTExNS1hZGRfQm91bmRT ZXNzaW9uUmVmcmVzaENvb2tpZUZldGNoZXI6OlJlc3VsdC5wYXRjaApkZWxldGVkIGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggNzJlNDM4NS4uMDAwMDAwMAotLS0gYS9jaHJvbWl1bS0xMTUtYWRkX0Jv dW5kU2Vzc2lvblJlZnJlc2hDb29raWVGZXRjaGVyOjpSZXN1bHQucGF0Y2gKKysrIC9kZXYvbnVs bApAQCAtMSwyMjYgKzAsMCBAQAotY29tbWl0IDczZTlkODY1YWJkNmI2MzYyODBjNGJiNDU3MjBh ZjJmZjJjMWUzNzQKLUF1dGhvcjogTW9uaWNhIEJhc3RhIDxtc2FsYW1hQGNocm9taXVtLm9yZz4K LURhdGU6ICAgRnJpIEp1biAyIDEzOjI1OjQyIDIwMjMgKzAwMDAKLQotICAgIFtCU0NdOiBBZGQg Qm91bmRTZXNzaW9uUmVmcmVzaENvb2tpZUZldGNoZXI6OlJlc3VsdAotICAgIAotICAgIEJ1Zzog Yi8yNzM5MjA5MDcKLSAgICBDaGFuZ2UtSWQ6IEk2NTA4ZGNiNzk1OTI0MjBiZmEzZWJlM2FhYzg3 MmMwOTdhMzAzYTAyCi0gICAgUmV2aWV3ZWQtb246IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3Lmdv b2dsZXNvdXJjZS5jb20vYy9jaHJvbWl1bS9zcmMvKy80NTc0NjcyCi0gICAgQ29tbWl0LVF1ZXVl OiBNb25pY2EgQmFzdGEgPG1zYWxhbWFAY2hyb21pdW0ub3JnPgotICAgIFJldmlld2VkLWJ5OiBB bGV4IElsaW4gPGFsZXhpbGluQGNocm9taXVtLm9yZz4KLSAgICBDci1Db21taXQtUG9zaXRpb246 IHJlZnMvaGVhZHMvbWFpbkB7IzExNTI0ODR9Ci0KLWRpZmYgLS1naXQgYS9jaHJvbWUvYnJvd3Nl ci9zaWduaW4vYm91bmRfc2Vzc2lvbl9jcmVkZW50aWFscy9ib3VuZF9zZXNzaW9uX2Nvb2tpZV9j b250cm9sbGVyX2ltcGwuY2MgYi9jaHJvbWUvYnJvd3Nlci9zaWduaW4vYm91bmRfc2Vzc2lvbl9j cmVkZW50aWFscy9ib3VuZF9zZXNzaW9uX2Nvb2tpZV9jb250cm9sbGVyX2ltcGwuY2MKLWluZGV4 IDRlN2UwYjA5MmE1NjguLjFjOGMwMTEwZTM1MTYgMTAwNjQ0Ci0tLS0gYS9jaHJvbWUvYnJvd3Nl ci9zaWduaW4vYm91bmRfc2Vzc2lvbl9jcmVkZW50aWFscy9ib3VuZF9zZXNzaW9uX2Nvb2tpZV9j b250cm9sbGVyX2ltcGwuY2MKLSsrKyBiL2Nocm9tZS9icm93c2VyL3NpZ25pbi9ib3VuZF9zZXNz aW9uX2NyZWRlbnRpYWxzL2JvdW5kX3Nlc3Npb25fY29va2llX2NvbnRyb2xsZXJfaW1wbC5jYwot QEAgLTkzLDcgKzkzLDcgQEAgdm9pZCBCb3VuZFNlc3Npb25Db29raWVDb250cm9sbGVySW1wbDo6 TWF5YmVSZWZyZXNoQ29va2llKCkgewotIHZvaWQgQm91bmRTZXNzaW9uQ29va2llQ29udHJvbGxl ckltcGw6Ok9uQ29va2llUmVmcmVzaEZldGNoZWQoCi0gICAgIEJvdW5kU2Vzc2lvblJlZnJlc2hD b29raWVGZXRjaGVyOjpSZXN1bHQgcmVzdWx0KSB7Ci0gICByZWZyZXNoX2Nvb2tpZV9mZXRjaGVy Xy5yZXNldCgpOwotLSAgaWYgKHJlc3VsdC5uZXRfZXJyb3IgPT0gbmV0OjpPSyAmJiByZXN1bHQu cmVzcG9uc2VfY29kZSA9PSBuZXQ6OkhUVFBfT0spIHsKLSsgIGlmIChyZXN1bHQgPT0gQm91bmRT ZXNzaW9uUmVmcmVzaENvb2tpZUZldGNoZXI6OlJlc3VsdDo6a1N1Y2Nlc3MpIHsKLSAgICAgLy8g UmVxdWVzdHMgYXJlIHJlc3VtZWQgb25jZSB0aGUgY29va2llIGlzIHNldCBpbiB0aGUgY29va2ll IGphci4gVGhlCi0gICAgIC8vIGNvb2tpZSBpcyBleHBlY3RlZCB0byBiZSBmcmVzaCBhbmQgYHRo aXNgIGlzIG5vdGlmaWVkIHdpdGggaXRzCi0gICAgIC8vIGV4cGlyYXRpb24gZGF0ZSBiZWZvcmUg YE9uQ29va2llUmVmcmVzaEZldGNoZWRgIGlzIGNhbGxlZC4KLWRpZmYgLS1naXQgYS9jaHJvbWUv YnJvd3Nlci9zaWduaW4vYm91bmRfc2Vzc2lvbl9jcmVkZW50aWFscy9ib3VuZF9zZXNzaW9uX3Jl ZnJlc2hfY29va2llX2ZldGNoZXIuaCBiL2Nocm9tZS9icm93c2VyL3NpZ25pbi9ib3VuZF9zZXNz aW9uX2NyZWRlbnRpYWxzL2JvdW5kX3Nlc3Npb25fcmVmcmVzaF9jb29raWVfZmV0Y2hlci5oCi1p bmRleCBkYjYyOTg4NjM1YTI2Li5mN2E4YjM2OTMzNDZmIDEwMDY0NAotLS0tIGEvY2hyb21lL2Jy b3dzZXIvc2lnbmluL2JvdW5kX3Nlc3Npb25fY3JlZGVudGlhbHMvYm91bmRfc2Vzc2lvbl9yZWZy ZXNoX2Nvb2tpZV9mZXRjaGVyLmgKLSsrKyBiL2Nocm9tZS9icm93c2VyL3NpZ25pbi9ib3VuZF9z ZXNzaW9uX2NyZWRlbnRpYWxzL2JvdW5kX3Nlc3Npb25fcmVmcmVzaF9jb29raWVfZmV0Y2hlci5o Ci1AQCAtMTQsMTAgKzE0LDEzIEBACi0gLy8gY3JlYXRlZCBwZXIgcmVxdWVzdC4KLSBjbGFzcyBC b3VuZFNlc3Npb25SZWZyZXNoQ29va2llRmV0Y2hlciB7Ci0gIHB1YmxpYzoKLS0gIHN0cnVjdCBS ZXN1bHQgewotLSAgICBuZXQ6OkVycm9yIG5ldF9lcnJvcjsKLS0gICAgYWJzbDo6b3B0aW9uYWw8 aW50PiByZXNwb25zZV9jb2RlOwotKyAgZW51bSBjbGFzcyBSZXN1bHQgewotKyAgICBrU3VjY2Vz cyA9IDAsCi0rICAgIGtDb25uZWN0aW9uRXJyb3IgPSAxLAotKyAgICBrU2VydmVyVHJhbnNpZW50 RXJyb3IgPSAyLAotKyAgICBrU2VydmVyUGVyc2lzdGVudEVycm9yID0gMywKLSAgIH07Ci0rCi0g ICAvLyBSZXBvcnRzIHRoZSByZXN1bHQgb2YgdGhlIGZldGNoIHJlcXVlc3QuCi0gICB1c2luZyBS ZWZyZXNoQ29va2llQ29tcGxldGVDYWxsYmFjayA9IGJhc2U6Ok9uY2VDYWxsYmFjazx2b2lkKFJl c3VsdCk+OwotIAotZGlmZiAtLWdpdCBhL2Nocm9tZS9icm93c2VyL3NpZ25pbi9ib3VuZF9zZXNz aW9uX2NyZWRlbnRpYWxzL2JvdW5kX3Nlc3Npb25fcmVmcmVzaF9jb29raWVfZmV0Y2hlcl9pbXBs LmNjIGIvY2hyb21lL2Jyb3dzZXIvc2lnbmluL2JvdW5kX3Nlc3Npb25fY3JlZGVudGlhbHMvYm91 bmRfc2Vzc2lvbl9yZWZyZXNoX2Nvb2tpZV9mZXRjaGVyX2ltcGwuY2MKLWluZGV4IDQ2YmU2ZjA2 YjE0N2EuLmE2ZjAzOGIxNTgzMTEgMTAwNjQ0Ci0tLS0gYS9jaHJvbWUvYnJvd3Nlci9zaWduaW4v Ym91bmRfc2Vzc2lvbl9jcmVkZW50aWFscy9ib3VuZF9zZXNzaW9uX3JlZnJlc2hfY29va2llX2Zl dGNoZXJfaW1wbC5jYwotKysrIGIvY2hyb21lL2Jyb3dzZXIvc2lnbmluL2JvdW5kX3Nlc3Npb25f Y3JlZGVudGlhbHMvYm91bmRfc2Vzc2lvbl9yZWZyZXNoX2Nvb2tpZV9mZXRjaGVyX2ltcGwuY2MK LUBAIC04LDYgKzgsNyBAQAotIAotICNpbmNsdWRlICJjb21wb25lbnRzL3NpZ25pbi9wdWJsaWMv YmFzZS9zaWduaW5fY2xpZW50LmgiCi0gI2luY2x1ZGUgImdvb2dsZV9hcGlzL2dhaWEvZ2FpYV91 cmxzLmgiCi0rI2luY2x1ZGUgIm5ldC9odHRwL2h0dHBfc3RhdHVzX2NvZGUuaCIKLSAjaW5jbHVk ZSAibmV0L3RyYWZmaWNfYW5ub3RhdGlvbi9uZXR3b3JrX3RyYWZmaWNfYW5ub3RhdGlvbi5oIgot ICNpbmNsdWRlICJzZXJ2aWNlcy9uZXR3b3JrL3B1YmxpYy9jcHAvcmVzb3VyY2VfcmVxdWVzdC5o IgotICNpbmNsdWRlICJzZXJ2aWNlcy9uZXR3b3JrL3B1YmxpYy9jcHAvc2hhcmVkX3VybF9sb2Fk ZXJfZmFjdG9yeS5oIgotQEAgLTEwMiw3ICsxMDMsMzYgQEAgdm9pZCBCb3VuZFNlc3Npb25SZWZy ZXNoQ29va2llRmV0Y2hlckltcGw6Ok9uVVJMTG9hZGVyQ29tcGxldGUoCi0gICAgIHNjb3BlZF9y ZWZwdHI8bmV0OjpIdHRwUmVzcG9uc2VIZWFkZXJzPiBoZWFkZXJzKSB7Ci0gICBuZXQ6OkVycm9y IG5ldF9lcnJvciA9IHN0YXRpY19jYXN0PG5ldDo6RXJyb3I+KHVybF9sb2FkZXJfLT5OZXRFcnJv cigpKTsKLSAKLS0gIHN0ZDo6bW92ZShjYWxsYmFja18pLlJ1bigKLS0gICAgICBSZXN1bHQobmV0 X2Vycm9yLCBoZWFkZXJzID8gYWJzbDo6b3B0aW9uYWw8aW50PihoZWFkZXJzLT5yZXNwb25zZV9j b2RlKCkpCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGFic2w6Om51bGxvcHQp KTsKLSsgIFJlc3VsdCByZXN1bHQgPSBHZXRSZXN1bHRGcm9tTmV0RXJyb3JBbmRIdHRwU3RhdHVz Q29kZSgKLSsgICAgICBuZXRfZXJyb3IsCi0rICAgICAgaGVhZGVycyA/IGFic2w6Om9wdGlvbmFs PGludD4oaGVhZGVycy0+cmVzcG9uc2VfY29kZSgpKSA6IGFic2w6Om51bGxvcHQpOwotKyAgc3Rk Ojptb3ZlKGNhbGxiYWNrXykuUnVuKHJlc3VsdCk7Ci0rfQotKwotK0JvdW5kU2Vzc2lvblJlZnJl c2hDb29raWVGZXRjaGVyOjpSZXN1bHQKLStCb3VuZFNlc3Npb25SZWZyZXNoQ29va2llRmV0Y2hl ckltcGw6OkdldFJlc3VsdEZyb21OZXRFcnJvckFuZEh0dHBTdGF0dXNDb2RlKAotKyAgICBuZXQ6 OkVycm9yIG5ldF9lcnJvciwKLSsgICAgYWJzbDo6b3B0aW9uYWw8aW50PiByZXNwb25zZV9jb2Rl KSB7Ci0rICBpZiAoKG5ldF9lcnJvciAhPSBuZXQ6Ok9LICYmCi0rICAgICAgIG5ldF9lcnJvciAh PSBuZXQ6OkVSUl9IVFRQX1JFU1BPTlNFX0NPREVfRkFJTFVSRSkgfHwKLSsgICAgICAhcmVzcG9u c2VfY29kZSkgewotKyAgICByZXR1cm4gQm91bmRTZXNzaW9uUmVmcmVzaENvb2tpZUZldGNoZXI6 OlJlc3VsdDo6a0Nvbm5lY3Rpb25FcnJvcjsKLSsgIH0KLSsKLSsgIGlmIChyZXNwb25zZV9jb2Rl ID09IG5ldDo6SFRUUF9PSykgewotKyAgICByZXR1cm4gQm91bmRTZXNzaW9uUmVmcmVzaENvb2tp ZUZldGNoZXI6OlJlc3VsdDo6a1N1Y2Nlc3M7Ci0rICB9Ci0rCi0rICBpZiAocmVzcG9uc2VfY29k ZSA+PSBuZXQ6OkhUVFBfSU5URVJOQUxfU0VSVkVSX0VSUk9SKSB7Ci0rICAgIC8vIFNlcnZlciBl cnJvciA1eHguCi0rICAgIHJldHVybiBCb3VuZFNlc3Npb25SZWZyZXNoQ29va2llRmV0Y2hlcjo6 UmVzdWx0OjprU2VydmVyVHJhbnNpZW50RXJyb3I7Ci0rICB9Ci0rCi0rICBpZiAocmVzcG9uc2Vf Y29kZSA+PSBuZXQ6OkhUVFBfQkFEX1JFUVVFU1QpIHsKLSsgICAgLy8gU2VydmVyIGVycm9yIDR4 eC4KLSsgICAgcmV0dXJuIEJvdW5kU2Vzc2lvblJlZnJlc2hDb29raWVGZXRjaGVyOjpSZXN1bHQ6 OmtTZXJ2ZXJQZXJzaXN0ZW50RXJyb3I7Ci0rICB9Ci0rCi0rICAvLyBVbmV4cGVjdGVkIHJlc3Bv bnNlIGNvZGUuCi0rICByZXR1cm4gQm91bmRTZXNzaW9uUmVmcmVzaENvb2tpZUZldGNoZXI6OlJl c3VsdDo6a1NlcnZlclBlcnNpc3RlbnRFcnJvcjsKLSB9Ci1kaWZmIC0tZ2l0IGEvY2hyb21lL2Jy b3dzZXIvc2lnbmluL2JvdW5kX3Nlc3Npb25fY3JlZGVudGlhbHMvYm91bmRfc2Vzc2lvbl9yZWZy ZXNoX2Nvb2tpZV9mZXRjaGVyX2ltcGwuaCBiL2Nocm9tZS9icm93c2VyL3NpZ25pbi9ib3VuZF9z ZXNzaW9uX2NyZWRlbnRpYWxzL2JvdW5kX3Nlc3Npb25fcmVmcmVzaF9jb29raWVfZmV0Y2hlcl9p bXBsLmgKLWluZGV4IDczM2ZmYmFhZTA4OGMuLjUyOTQzZjAxOTRjMzIgMTAwNjQ0Ci0tLS0gYS9j aHJvbWUvYnJvd3Nlci9zaWduaW4vYm91bmRfc2Vzc2lvbl9jcmVkZW50aWFscy9ib3VuZF9zZXNz aW9uX3JlZnJlc2hfY29va2llX2ZldGNoZXJfaW1wbC5oCi0rKysgYi9jaHJvbWUvYnJvd3Nlci9z aWduaW4vYm91bmRfc2Vzc2lvbl9jcmVkZW50aWFscy9ib3VuZF9zZXNzaW9uX3JlZnJlc2hfY29v a2llX2ZldGNoZXJfaW1wbC5oCi1AQCAtMzEsOCArMzEsMTQgQEAgY2xhc3MgQm91bmRTZXNzaW9u UmVmcmVzaENvb2tpZUZldGNoZXJJbXBsCi0gICB2b2lkIFN0YXJ0KFJlZnJlc2hDb29raWVDb21w bGV0ZUNhbGxiYWNrIGNhbGxiYWNrKSBvdmVycmlkZTsKLSAKLSAgcHJpdmF0ZToKLSsgIEZSSUVO RF9URVNUX0FMTF9QUkVGSVhFUyhCb3VuZFNlc3Npb25SZWZyZXNoQ29va2llRmV0Y2hlckltcGxU ZXN0LAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEdldFJlc3VsdEZyb21OZXRFcnJvckFu ZEh0dHBTdGF0dXNDb2RlKTsKLSsKLSAgIHZvaWQgU3RhcnRSZWZyZXNoUmVxdWVzdCgpOwotICAg dm9pZCBPblVSTExvYWRlckNvbXBsZXRlKHNjb3BlZF9yZWZwdHI8bmV0OjpIdHRwUmVzcG9uc2VI ZWFkZXJzPiBoZWFkZXJzKTsKLSsgIFJlc3VsdCBHZXRSZXN1bHRGcm9tTmV0RXJyb3JBbmRIdHRw U3RhdHVzQ29kZSgKLSsgICAgICBuZXQ6OkVycm9yIG5ldF9lcnJvciwKLSsgICAgICBhYnNsOjpv cHRpb25hbDxpbnQ+IHJlc3BvbnNlX2NvZGUpOwotIAotICAgY29uc3QgcmF3X3B0cjxTaWduaW5D bGllbnQ+IGNsaWVudF87Ci0gICBjb25zdCBzY29wZWRfcmVmcHRyPG5ldHdvcms6OlNoYXJlZFVS TExvYWRlckZhY3Rvcnk+IHVybF9sb2FkZXJfZmFjdG9yeV87Ci1kaWZmIC0tZ2l0IGEvY2hyb21l L2Jyb3dzZXIvc2lnbmluL2JvdW5kX3Nlc3Npb25fY3JlZGVudGlhbHMvYm91bmRfc2Vzc2lvbl9y ZWZyZXNoX2Nvb2tpZV9mZXRjaGVyX2ltcGxfdW5pdHRlc3QuY2MgYi9jaHJvbWUvYnJvd3Nlci9z aWduaW4vYm91bmRfc2Vzc2lvbl9jcmVkZW50aWFscy9ib3VuZF9zZXNzaW9uX3JlZnJlc2hfY29v a2llX2ZldGNoZXJfaW1wbF91bml0dGVzdC5jYwotaW5kZXggZDAxODU5MjAyMmQ1NS4uMzZhZTY0 ZjgzZTRlZSAxMDA2NDQKLS0tLSBhL2Nocm9tZS9icm93c2VyL3NpZ25pbi9ib3VuZF9zZXNzaW9u X2NyZWRlbnRpYWxzL2JvdW5kX3Nlc3Npb25fcmVmcmVzaF9jb29raWVfZmV0Y2hlcl9pbXBsX3Vu aXR0ZXN0LmNjCi0rKysgYi9jaHJvbWUvYnJvd3Nlci9zaWduaW4vYm91bmRfc2Vzc2lvbl9jcmVk ZW50aWFscy9ib3VuZF9zZXNzaW9uX3JlZnJlc2hfY29va2llX2ZldGNoZXJfaW1wbF91bml0dGVz dC5jYwotQEAgLTE5LDggKzE5LDYgQEAKLSAjaW5jbHVkZSAic2VydmljZXMvbmV0d29yay90ZXN0 L3Rlc3RfdXRpbHMuaCIKLSAjaW5jbHVkZSAidGVzdGluZy9ndGVzdC9pbmNsdWRlL2d0ZXN0L2d0 ZXN0LmgiCi0gCi0tbmFtZXNwYWNlIHsKLS0KLSBjbGFzcyBCb3VuZFNlc3Npb25SZWZyZXNoQ29v a2llRmV0Y2hlckltcGxUZXN0IDogcHVibGljIDo6dGVzdGluZzo6VGVzdCB7Ci0gIHB1YmxpYzoK LSAgIEJvdW5kU2Vzc2lvblJlZnJlc2hDb29raWVGZXRjaGVySW1wbFRlc3QoKSB7Ci1AQCAtNTUs OCArNTMsNyBAQCBURVNUX0YoQm91bmRTZXNzaW9uUmVmcmVzaENvb2tpZUZldGNoZXJJbXBsVGVz dCwgU3VjY2VzcykgewotICAgICAgIHBlbmRpbmdfcmVxdWVzdC0+cmVxdWVzdC51cmwuc3BlYygp LCAiIik7Ci0gICBFWFBFQ1RfVFJVRShmdXR1cmUuV2FpdCgpKTsKLSAgIEJvdW5kU2Vzc2lvblJl ZnJlc2hDb29raWVGZXRjaGVyOjpSZXN1bHQgcmVzdWx0ID0gZnV0dXJlLkdldCgpOwotLSAgRVhQ RUNUX0VRKHJlc3VsdC5uZXRfZXJyb3IsIG5ldDo6T0spOwotLSAgRVhQRUNUX0VRKHJlc3VsdC5y ZXNwb25zZV9jb2RlLCBuZXQ6OkhUVFBfT0spOwotKyAgRVhQRUNUX0VRKHJlc3VsdCwgQm91bmRT ZXNzaW9uUmVmcmVzaENvb2tpZUZldGNoZXI6OlJlc3VsdDo6a1N1Y2Nlc3MpOwotIH0KLSAKLSBU RVNUX0YoQm91bmRTZXNzaW9uUmVmcmVzaENvb2tpZUZldGNoZXJJbXBsVGVzdCwgRmFpbHVyZU5l dEVycm9yKSB7Ci1AQCAtNzUsOCArNzIsNyBAQCBURVNUX0YoQm91bmRTZXNzaW9uUmVmcmVzaENv b2tpZUZldGNoZXJJbXBsVGVzdCwgRmFpbHVyZU5ldEVycm9yKSB7Ci0gCi0gICBFWFBFQ1RfVFJV RShmdXR1cmUuV2FpdCgpKTsKLSAgIEJvdW5kU2Vzc2lvblJlZnJlc2hDb29raWVGZXRjaGVyOjpS ZXN1bHQgcmVzdWx0ID0gZnV0dXJlLkdldCgpOwotLSAgRVhQRUNUX0VRKHJlc3VsdC5uZXRfZXJy b3IsIHN0YXR1cy5lcnJvcl9jb2RlKTsKLS0gIEVYUEVDVF9GQUxTRShyZXN1bHQucmVzcG9uc2Vf Y29kZS5oYXNfdmFsdWUoKSk7Ci0rICBFWFBFQ1RfRVEocmVzdWx0LCBCb3VuZFNlc3Npb25SZWZy ZXNoQ29va2llRmV0Y2hlcjo6UmVzdWx0OjprQ29ubmVjdGlvbkVycm9yKTsKLSB9Ci0gCi0gVEVT VF9GKEJvdW5kU2Vzc2lvblJlZnJlc2hDb29raWVGZXRjaGVySW1wbFRlc3QsIEZhaWx1cmVIdHRw RXJyb3IpIHsKLUBAIC05Myw4ICs4OSwzOCBAQCBURVNUX0YoQm91bmRTZXNzaW9uUmVmcmVzaENv b2tpZUZldGNoZXJJbXBsVGVzdCwgRmFpbHVyZUh0dHBFcnJvcikgewotIAotICAgRVhQRUNUX1RS VUUoZnV0dXJlLldhaXQoKSk7Ci0gICBCb3VuZFNlc3Npb25SZWZyZXNoQ29va2llRmV0Y2hlcjo6 UmVzdWx0IHJlc3VsdCA9IGZ1dHVyZS5HZXQoKTsKLS0gIEVYUEVDVF9FUShyZXN1bHQubmV0X2Vy cm9yLCBuZXQ6OkVSUl9IVFRQX1JFU1BPTlNFX0NPREVfRkFJTFVSRSk7Ci0tICBFWFBFQ1RfRVEo cmVzdWx0LnJlc3BvbnNlX2NvZGUsIG5ldDo6SFRUUF9VTkFVVEhPUklaRUQpOwotKyAgRVhQRUNU X0VRKHJlc3VsdCwKLSsgICAgICAgICAgICBCb3VuZFNlc3Npb25SZWZyZXNoQ29va2llRmV0Y2hl cjo6UmVzdWx0OjprU2VydmVyUGVyc2lzdGVudEVycm9yKTsKLSt9Ci0rCi0rVEVTVF9GKEJvdW5k U2Vzc2lvblJlZnJlc2hDb29raWVGZXRjaGVySW1wbFRlc3QsCi0rICAgICAgIEdldFJlc3VsdEZy b21OZXRFcnJvckFuZEh0dHBTdGF0dXNDb2RlKSB7Ci0rICAvLyBDb25uZWN0aW9uIGVycm9yLgot KyAgRVhQRUNUX0VRKGZldGNoZXJfLT5HZXRSZXN1bHRGcm9tTmV0RXJyb3JBbmRIdHRwU3RhdHVz Q29kZSgKLSsgICAgICAgICAgICAgICAgbmV0OjpFUlJfQ09OTkVDVElPTl9USU1FRF9PVVQsIGFi c2w6Om51bGxvcHQpLAotKyAgICAgICAgICAgIEJvdW5kU2Vzc2lvblJlZnJlc2hDb29raWVGZXRj aGVyOjpSZXN1bHQ6OmtDb25uZWN0aW9uRXJyb3IpOwotKyAgLy8gbmV0OjpPSy4KLSsgIEVYUEVD VF9FUSgKLSsgICAgICBmZXRjaGVyXy0+R2V0UmVzdWx0RnJvbU5ldEVycm9yQW5kSHR0cFN0YXR1 c0NvZGUobmV0OjpPSywgbmV0OjpIVFRQX09LKSwKLSsgICAgICBCb3VuZFNlc3Npb25SZWZyZXNo Q29va2llRmV0Y2hlcjo6UmVzdWx0OjprU3VjY2Vzcyk7Ci0rICAvLyBuZXQ6OkVSUl9IVFRQX1JF U1BPTlNFX0NPREVfRkFJTFVSRQotKyAgRVhQRUNUX0VRKGZldGNoZXJfLT5HZXRSZXN1bHRGcm9t TmV0RXJyb3JBbmRIdHRwU3RhdHVzQ29kZSgKLSsgICAgICAgICAgICAgICAgbmV0OjpFUlJfSFRU UF9SRVNQT05TRV9DT0RFX0ZBSUxVUkUsIG5ldDo6SFRUUF9CQURfUkVRVUVTVCksCi0rICAgICAg ICAgICAgQm91bmRTZXNzaW9uUmVmcmVzaENvb2tpZUZldGNoZXI6OlJlc3VsdDo6a1NlcnZlclBl cnNpc3RlbnRFcnJvcik7Ci0rICAvLyBQZXJzaXN0ZW50IGVycm9yLgotKyAgRVhQRUNUX0VRKGZl dGNoZXJfLT5HZXRSZXN1bHRGcm9tTmV0RXJyb3JBbmRIdHRwU3RhdHVzQ29kZSgKLSsgICAgICAg ICAgICAgICAgbmV0OjpPSywgbmV0OjpIVFRQX0JBRF9SRVFVRVNUKSwKLSsgICAgICAgICAgICBC b3VuZFNlc3Npb25SZWZyZXNoQ29va2llRmV0Y2hlcjo6UmVzdWx0OjprU2VydmVyUGVyc2lzdGVu dEVycm9yKTsKLSsgIEVYUEVDVF9FUShmZXRjaGVyXy0+R2V0UmVzdWx0RnJvbU5ldEVycm9yQW5k SHR0cFN0YXR1c0NvZGUoCi0rICAgICAgICAgICAgICAgIG5ldDo6T0ssIG5ldDo6SFRUUF9OT1Rf Rk9VTkQpLAotKyAgICAgICAgICAgIEJvdW5kU2Vzc2lvblJlZnJlc2hDb29raWVGZXRjaGVyOjpS ZXN1bHQ6OmtTZXJ2ZXJQZXJzaXN0ZW50RXJyb3IpOwotKyAgLy8gVHJhbnNpZW50IGVycm9yLgot KyAgRVhQRUNUX0VRKGZldGNoZXJfLT5HZXRSZXN1bHRGcm9tTmV0RXJyb3JBbmRIdHRwU3RhdHVz Q29kZSgKLSsgICAgICAgICAgICAgICAgbmV0OjpPSywgbmV0OjpIVFRQX0lOVEVSTkFMX1NFUlZF Ul9FUlJPUiksCi0rICAgICAgICAgICAgQm91bmRTZXNzaW9uUmVmcmVzaENvb2tpZUZldGNoZXI6 OlJlc3VsdDo6a1NlcnZlclRyYW5zaWVudEVycm9yKTsKLSsgIEVYUEVDVF9FUShmZXRjaGVyXy0+ R2V0UmVzdWx0RnJvbU5ldEVycm9yQW5kSHR0cFN0YXR1c0NvZGUoCi0rICAgICAgICAgICAgICAg IG5ldDo6T0ssIG5ldDo6SFRUUF9HQVRFV0FZX1RJTUVPVVQpLAotKyAgICAgICAgICAgIEJvdW5k U2Vzc2lvblJlZnJlc2hDb29raWVGZXRjaGVyOjpSZXN1bHQ6OmtTZXJ2ZXJUcmFuc2llbnRFcnJv cik7Ci0gfQotIAotIFRFU1RfRihCb3VuZFNlc3Npb25SZWZyZXNoQ29va2llRmV0Y2hlckltcGxU ZXN0LCBOZXR3b3JrRGVsYXllZCkgewotQEAgLTExNCw1ICsxNDAsMyBAQCBURVNUX0YoQm91bmRT ZXNzaW9uUmVmcmVzaENvb2tpZUZldGNoZXJJbXBsVGVzdCwgTmV0d29ya0RlbGF5ZWQpIHsKLSAK LSAgIEVYUEVDVF9UUlVFKGZ1dHVyZS5XYWl0KCkpOwotIH0KLS0KLS19ICAvLyBuYW1lc3BhY2UK LWRpZmYgLS1naXQgYS9jaHJvbWUvYnJvd3Nlci9zaWduaW4vYm91bmRfc2Vzc2lvbl9jcmVkZW50 aWFscy9mYWtlX2JvdW5kX3Nlc3Npb25fcmVmcmVzaF9jb29raWVfZmV0Y2hlci5jYyBiL2Nocm9t ZS9icm93c2VyL3NpZ25pbi9ib3VuZF9zZXNzaW9uX2NyZWRlbnRpYWxzL2Zha2VfYm91bmRfc2Vz c2lvbl9yZWZyZXNoX2Nvb2tpZV9mZXRjaGVyLmNjCi1pbmRleCBiNGIxYTA3ZTY4N2NiLi5mY2Zh OTMwNWQwNGU5IDEwMDY0NAotLS0tIGEvY2hyb21lL2Jyb3dzZXIvc2lnbmluL2JvdW5kX3Nlc3Np b25fY3JlZGVudGlhbHMvZmFrZV9ib3VuZF9zZXNzaW9uX3JlZnJlc2hfY29va2llX2ZldGNoZXIu Y2MKLSsrKyBiL2Nocm9tZS9icm93c2VyL3NpZ25pbi9ib3VuZF9zZXNzaW9uX2NyZWRlbnRpYWxz L2Zha2VfYm91bmRfc2Vzc2lvbl9yZWZyZXNoX2Nvb2tpZV9mZXRjaGVyLmNjCi1AQCAtNTEsNyAr NTEsOCBAQCB2b2lkIEZha2VCb3VuZFNlc3Npb25SZWZyZXNoQ29va2llRmV0Y2hlcjo6U2ltdWxh dGVDb21wbGV0ZVJlZnJlc2hSZXF1ZXN0KAotICAgICAvLyBTeW5jaHJvbm91cyBzaW5jZSB0ZXN0 cyB1c2UgYEJvdW5kU2Vzc2lvblRlc3RDb29raWVNYW5hZ2VyYC4KLSAgICAgT25SZWZyZXNoQ29v a2llQ29tcGxldGVkKENyZWF0ZUZha2VDb29raWUoY29va2llX2V4cGlyYXRpb24udmFsdWUoKSkp OwotICAgfSBlbHNlIHsKLS0gICAgc3RkOjptb3ZlKGNhbGxiYWNrXykuUnVuKFJlc3VsdChuZXQ6 OkVycm9yOjpPSywgbmV0OjpIVFRQX0ZPUkJJRERFTikpOwotKyAgICBzdGQ6Om1vdmUoY2FsbGJh Y2tfKS5SdW4oCi0rICAgICAgICBCb3VuZFNlc3Npb25SZWZyZXNoQ29va2llRmV0Y2hlcjo6UmVz dWx0OjprU2VydmVyUGVyc2lzdGVudEVycm9yKTsKLSAgIH0KLSB9Ci0gCi1AQCAtODMsOSArODQs MTEgQEAgdm9pZCBGYWtlQm91bmRTZXNzaW9uUmVmcmVzaENvb2tpZUZldGNoZXI6Ok9uQ29va2ll U2V0KAotICAgICBuZXQ6OkNvb2tpZUFjY2Vzc1Jlc3VsdCBhY2Nlc3NfcmVzdWx0KSB7Ci0gICBi b29sIHN1Y2Nlc3MgPSBhY2Nlc3NfcmVzdWx0LnN0YXR1cy5Jc0luY2x1ZGUoKTsKLSAgIGlmICgh c3VjY2VzcykgewotLSAgICBzdGQ6Om1vdmUoY2FsbGJhY2tfKS5SdW4oUmVzdWx0KG5ldDo6RXJy b3I6Ok9LLCBuZXQ6OkhUVFBfRk9SQklEREVOKSk7Ci0rICAgIHN0ZDo6bW92ZShjYWxsYmFja18p LlJ1bigKLSsgICAgICAgIEJvdW5kU2Vzc2lvblJlZnJlc2hDb29raWVGZXRjaGVyOjpSZXN1bHQ6 OmtTZXJ2ZXJQZXJzaXN0ZW50RXJyb3IpOwotICAgfSBlbHNlIHsKLS0gICAgc3RkOjptb3ZlKGNh bGxiYWNrXykuUnVuKFJlc3VsdChuZXQ6OkVycm9yOjpPSywgbmV0OjpIVFRQX09LKSk7Ci0rICAg IHN0ZDo6bW92ZShjYWxsYmFja18pLlJ1bigKLSsgICAgICAgIEJvdW5kU2Vzc2lvblJlZnJlc2hD b29raWVGZXRjaGVyOjpSZXN1bHQ6OmtTdWNjZXNzKTsKLSAgIH0KLSAgIC8vIHxUaGlzfCBtYXkg YmUgZGVzdHJveWVkCi0gfQoKZGlmZiAtLWdpdCBhL2Nocm9taXVtLTExNS1nY2MxMy5wYXRjaCBi L2Nocm9taXVtLTExNS1nY2MxMy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MTk1NjcxZS4uMDAwMDAwMAotLS0gYS9jaHJvbWl1bS0xMTUtZ2NjMTMucGF0Y2gKKysrIC9kZXYv bnVsbApAQCAtMSwzNzggKzAsMCBAQAotZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9i YXNlL2NoZWNrX29wLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9iYXNlL2NoZWNrX29wLmgK LS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Jhc2UvY2hlY2tfb3AuaC5tZQkyMDIzLTAxLTE3 IDE3OjM5OjI3LjYyMDg3NTg4MyArMDEwMAotKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvYmFz ZS9jaGVja19vcC5oCTIwMjMtMDEtMTcgMTc6Mzk6NDIuNTQ2MDYwOTU3ICswMTAwCi1AQCAtNSw2 ICs1LDcgQEAKLSAjaWZuZGVmIEJBU0VfQ0hFQ0tfT1BfSF8KLSAjZGVmaW5lIEJBU0VfQ0hFQ0tf T1BfSF8KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSA8Y3N0ZGRlZj4KLSAjaW5j bHVkZSA8c3RyaW5nPgotICNpbmNsdWRlIDx0eXBlX3RyYWl0cz4KLWRpZmYgLXVwIGNocm9taXVt LTEwOS4wLjU0MTQuNzQvYmFzZS9kZWJ1Zy9wcm9maWxlci5oLm1lIGNocm9taXVtLTEwOS4wLjU0 MTQuNzQvYmFzZS9kZWJ1Zy9wcm9maWxlci5oCi0tLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC9i YXNlL2RlYnVnL3Byb2ZpbGVyLmgubWUJMjAyMy0wMS0xNyAxNjoyOToyNi4zNjgwOTAwNzMgKzAx MDAKLSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Jhc2UvZGVidWcvcHJvZmlsZXIuaAkyMDIz LTAxLTE3IDE2OjU5OjQxLjE5MDYyODY3OSArMDEwMAotQEAgLTcsNiArNyw3IEBACi0gCi0gI2lu Y2x1ZGUgPHN0ZGRlZi5oPgotIAotKyNpbmNsdWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxzdHJp bmc+Ci0gCi0gI2luY2x1ZGUgImJhc2UvYmFzZV9leHBvcnQuaCIKLWRpZmYgLXVwIGNocm9taXVt LTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy92aXovY29tbW9uL3ZpZXdfdHJhbnNpdGlvbl9lbGVt ZW50X3Jlc291cmNlX2lkLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL3Zp ei9jb21tb24vdmlld190cmFuc2l0aW9uX2VsZW1lbnRfcmVzb3VyY2VfaWQuaAotLS0tIGNocm9t aXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy92aXovY29tbW9uL3ZpZXdfdHJhbnNpdGlvbl9l bGVtZW50X3Jlc291cmNlX2lkLmgubWUJMjAyMy0wMS0xNyAxOTowMzoxMC45MjAwMTQ4MDYgKzAx MDAKLSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvdml6L2NvbW1vbi92aWV3 X3RyYW5zaXRpb25fZWxlbWVudF9yZXNvdXJjZV9pZC5oCTIwMjMtMDEtMTcgMTk6MDM6NDguNzM2 Mzk1Mjc0ICswMTAwCi1AQCAtNSw2ICs1LDcgQEAKLSAjaWZuZGVmIENPTVBPTkVOVFNfVklaX0NP TU1PTl9WSUVXX1RSQU5TSVRJT05fRUxFTUVOVF9SRVNPVVJDRV9JRF9IXwotICNkZWZpbmUgQ09N UE9ORU5UU19WSVpfQ09NTU9OX1ZJRVdfVFJBTlNJVElPTl9FTEVNRU5UX1JFU09VUkNFX0lEX0hf Ci0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUgPHN0cmluZz4KLSAjaW5jbHVkZSA8 dmVjdG9yPgotIAotZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9ncHUvY29uZmlnL2dw dV9mZWF0dXJlX2luZm8uaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2dwdS9jb25maWcvZ3B1 X2ZlYXR1cmVfaW5mby5oCi0tLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC9ncHUvY29uZmlnL2dw dV9mZWF0dXJlX2luZm8uaC5tZQkyMDIzLTAxLTE3IDE5OjA2OjUzLjUzMDY3NTEyOSArMDEwMAot KysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvZ3B1L2NvbmZpZy9ncHVfZmVhdHVyZV9pbmZvLmgJ MjAyMy0wMS0xNyAxOTowNzowOC44NzQ4NDk4NzkgKzAxMDAKLUBAIC01LDYgKzUsNyBAQAotICNp Zm5kZWYgR1BVX0NPTkZJR19HUFVfRkVBVFVSRV9JTkZPX0hfCi0gI2RlZmluZSBHUFVfQ09ORklH X0dQVV9GRUFUVVJFX0lORk9fSF8KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSA8 c3RyaW5nPgotICNpbmNsdWRlIDx2ZWN0b3I+Ci0gCi1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41 NDE0Ljc0L25ldC9iYXNlL25ldF9leHBvcnQuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L25l dC9iYXNlL25ldF9leHBvcnQuaAotLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvbmV0L2Jhc2Uv bmV0X2V4cG9ydC5oLm1lCTIwMjMtMDEtMTcgMTg6MTY6MzQuMTMzODU0NjE1ICswMTAwCi0rKysg Y2hyb21pdW0tMTA5LjAuNTQxNC43NC9uZXQvYmFzZS9uZXRfZXhwb3J0LmgJMjAyMy0wMS0xNyAx ODoxNjoxNS45NDU2MjMxNTMgKzAxMDAKLUBAIC01LDYgKzUsOCBAQAotICNpZm5kZWYgTkVUX0JB U0VfTkVUX0VYUE9SVF9IXwotICNkZWZpbmUgTkVUX0JBU0VfTkVUX0VYUE9SVF9IXwotIAotKyNp bmNsdWRlIDxjc3RkaW50PgotKwotIC8vIERlZmluZXMgTkVUX0VYUE9SVCBzbyB0aGF0IGZ1bmN0 aW9uYWxpdHkgaW1wbGVtZW50ZWQgYnkgdGhlIG5ldCBtb2R1bGUgY2FuCi0gLy8gYmUgZXhwb3J0 ZWQgdG8gY29uc3VtZXJzLCBhbmQgTkVUX0VYUE9SVF9QUklWQVRFIHRoYXQgYWxsb3dzIHVuaXQg dGVzdHMgdG8KLSAvLyBhY2Nlc3MgZmVhdHVyZXMgbm90IGludGVuZGVkIHRvIGJlIHVzZWQgZGly ZWN0bHkgYnkgcmVhbCBjb25zdW1lcnMuCi1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0 L3NhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvYnJva2VyX2ZpbGVfcGVybWlzc2lvbi5oLm1l IGNocm9taXVtLTEwOS4wLjU0MTQuNzQvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9r ZXJfZmlsZV9wZXJtaXNzaW9uLmgKLS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3NhbmRib3gv bGludXgvc3lzY2FsbF9icm9rZXIvYnJva2VyX2ZpbGVfcGVybWlzc2lvbi5oLm1lCTIwMjMtMDEt MTcgMTc6MTI6MzQuMTg0Njg2NTE1ICswMTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9z YW5kYm94L2xpbnV4L3N5c2NhbGxfYnJva2VyL2Jyb2tlcl9maWxlX3Blcm1pc3Npb24uaAkyMDIz LTAxLTE3IDE3OjEzOjE2LjUzNzE2MjQyMCArMDEwMAotQEAgLTUsNiArNSw3IEBACi0gI2lmbmRl ZiBTQU5EQk9YX0xJTlVYX1NZU0NBTExfQlJPS0VSX0JST0tFUl9GSUxFX1BFUk1JU1NJT05fSF8K LSAjZGVmaW5lIFNBTkRCT1hfTElOVVhfU1lTQ0FMTF9CUk9LRVJfQlJPS0VSX0ZJTEVfUEVSTUlT U0lPTl9IXwotIAotKyNpbmNsdWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxiaXRzZXQ+Ci0gI2lu Y2x1ZGUgPHN0cmluZz4KLSAKLWRpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRf cGFydHkvYWJzZWlsLWNwcC9hYnNsL3N0cmluZ3Mvc3RyaW5nX3ZpZXcuaC5tZSBjaHJvbWl1bS0x MDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L2Fic2VpbC1jcHAvYWJzbC9zdHJpbmdzL3N0cmluZ192 aWV3LmgKLS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L2Fic2VpbC1jcHAv YWJzbC9zdHJpbmdzL3N0cmluZ192aWV3LmgubWUJMjAyMy0wMS0xNyAxNzozMzoyMC44OTU3MTcz MDcgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L2Fic2VpbC1j cHAvYWJzbC9zdHJpbmdzL3N0cmluZ192aWV3LmgJMjAyMy0wMS0xNyAxNzozNDowMy40NTYxODUz NjUgKzAxMDAKLUBAIC0yNyw2ICsyNyw3IEBACi0gI2lmbmRlZiBBQlNMX1NUUklOR1NfU1RSSU5H X1ZJRVdfSF8KLSAjZGVmaW5lIEFCU0xfU1RSSU5HU19TVFJJTkdfVklFV19IXwotIAotKyNpbmNs dWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxhbGdvcml0aG0+Ci0gI2luY2x1ZGUgPGNhc3NlcnQ+ Ci0gI2luY2x1ZGUgPGNzdGRkZWY+Ci1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3Ro aXJkX3BhcnR5L2FuZ2xlL2luY2x1ZGUvR0xTTEFORy9TaGFkZXJWYXJzLmgubWUgY2hyb21pdW0t MTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9hbmdsZS9pbmNsdWRlL0dMU0xBTkcvU2hhZGVyVmFy cy5oCi0tLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9hbmdsZS9pbmNsdWRl L0dMU0xBTkcvU2hhZGVyVmFycy5oLm1lCTIwMjMtMDEtMTcgMTc6MzY6MTUuMDE3NjE2MjUwICsw MTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9hbmdsZS9pbmNsdWRl L0dMU0xBTkcvU2hhZGVyVmFycy5oCTIwMjMtMDEtMTcgMTc6MzY6NDguOTYwOTgyMTk1ICswMTAw Ci1AQCAtMTAsNiArMTAsNyBAQAotICNpZm5kZWYgR0xTTEFOR19TSEFERVJWQVJTX0hfCi0gI2Rl ZmluZSBHTFNMQU5HX1NIQURFUlZBUlNfSF8KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5j bHVkZSA8YWxnb3JpdGhtPgotICNpbmNsdWRlIDxhcnJheT4KLSAjaW5jbHVkZSA8c3RyaW5nPgot ZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9ibGluay9wdWJsaWMv Y29tbW9uL2JsdWV0b290aC93ZWJfYmx1ZXRvb3RoX2RldmljZV9pZC5oLm1lIGNocm9taXVtLTEw OS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvYmxpbmsvcHVibGljL2NvbW1vbi9ibHVldG9vdGgvd2Vi X2JsdWV0b290aF9kZXZpY2VfaWQuaAotLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRf cGFydHkvYmxpbmsvcHVibGljL2NvbW1vbi9ibHVldG9vdGgvd2ViX2JsdWV0b290aF9kZXZpY2Vf aWQuaC5tZQkyMDIzLTAxLTE3IDE5OjE3OjQwLjQ4MDg3NjE3MSArMDEwMAotKysrIGNocm9taXVt LTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvYmxpbmsvcHVibGljL2NvbW1vbi9ibHVldG9vdGgv d2ViX2JsdWV0b290aF9kZXZpY2VfaWQuaAkyMDIzLTAxLTE3IDE5OjE3OjQ2LjgwMzk1ODMyMCAr MDEwMAotQEAgLTUsNiArNSw3IEBACi0gI2lmbmRlZiBUSElSRF9QQVJUWV9CTElOS19QVUJMSUNf Q09NTU9OX0JMVUVUT09USF9XRUJfQkxVRVRPT1RIX0RFVklDRV9JRF9IXwotICNkZWZpbmUgVEhJ UkRfUEFSVFlfQkxJTktfUFVCTElDX0NPTU1PTl9CTFVFVE9PVEhfV0VCX0JMVUVUT09USF9ERVZJ Q0VfSURfSF8KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSA8YXJyYXk+Ci0gI2lu Y2x1ZGUgPHN0cmluZz4KLSAKLWRpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRf cGFydHkvZGF3bi9zcmMvdGludC9yZWFkZXIvc3BpcnYvbmFtZXIuaC5tZSBjaHJvbWl1bS0xMDku MC41NDE0Ljc0L3RoaXJkX3BhcnR5L2Rhd24vc3JjL3RpbnQvcmVhZGVyL3NwaXJ2L25hbWVyLmgK LS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L2Rhd24vc3JjL3RpbnQvcmVh ZGVyL3NwaXJ2L25hbWVyLmgubWUJMjAyMy0wMS0xNyAxODowMjo0NC42ODE1MzgxMDcgKzAxMDAK LSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L2Rhd24vc3JjL3RpbnQvcmVh ZGVyL3NwaXJ2L25hbWVyLmgJMjAyMy0wMS0xNyAxODowMjo1Ny4yMDg2NzkxNDAgKzAxMDAKLUBA IC0xNSw2ICsxNSw3IEBACi0gI2lmbmRlZiBTUkNfVElOVF9SRUFERVJfU1BJUlZfTkFNRVJfSF8K LSAjZGVmaW5lIFNSQ19USU5UX1JFQURFUl9TUElSVl9OQU1FUl9IXwotIAotKyNpbmNsdWRlIDxj c3RkaW50PgotICNpbmNsdWRlIDxzdHJpbmc+Ci0gI2luY2x1ZGUgPHVub3JkZXJlZF9tYXA+Ci0g I2luY2x1ZGUgPHZlY3Rvcj4KLWRpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRf cGFydHkvb3BlbnNjcmVlbi9zcmMvZGlzY292ZXJ5L2Ruc3NkL3B1YmxpYy9kbnNfc2RfdHh0X3Jl Y29yZC5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvb3BlbnNjcmVlbi9z cmMvZGlzY292ZXJ5L2Ruc3NkL3B1YmxpYy9kbnNfc2RfdHh0X3JlY29yZC5oCi0tLS0gY2hyb21p dW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9vcGVuc2NyZWVuL3NyYy9kaXNjb3ZlcnkvZG5z c2QvcHVibGljL2Ruc19zZF90eHRfcmVjb3JkLmgubWUJMjAyMy0wMS0xOCAxNToyMjozOC40NzI5 NDA2NDggKzAxMDAKLSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L29wZW5z Y3JlZW4vc3JjL2Rpc2NvdmVyeS9kbnNzZC9wdWJsaWMvZG5zX3NkX3R4dF9yZWNvcmQuaAkyMDIz LTAxLTE4IDE1OjIzOjA5LjM4MDI1NTEwMSArMDEwMAotQEAgLTUsNiArNSw3IEBACi0gI2lmbmRl ZiBESVNDT1ZFUllfRE5TU0RfUFVCTElDX0ROU19TRF9UWFRfUkVDT1JEX0hfCi0gI2RlZmluZSBE SVNDT1ZFUllfRE5TU0RfUFVCTElDX0ROU19TRF9UWFRfUkVDT1JEX0hfCi0gCi0rI2luY2x1ZGUg PGNzdGRpbnQ+Ci0gI2luY2x1ZGUgPGZ1bmN0aW9uYWw+Ci0gI2luY2x1ZGUgPG1hcD4KLSAjaW5j bHVkZSA8c2V0PgotZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9z d2lmdHNoYWRlci9zcmMvU3lzdGVtL0xSVUNhY2hlLmhwcC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0 Ljc0L3RoaXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3NyYy9TeXN0ZW0vTFJVQ2FjaGUuaHBwCi0tLS0g Y2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9zd2lmdHNoYWRlci9zcmMvU3lzdGVt L0xSVUNhY2hlLmhwcC5tZQkyMDIzLTAxLTE3IDE1OjM3OjQ4LjUzMDYyNjUxNiArMDEwMAotKysr IGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvc3dpZnRzaGFkZXIvc3JjL1N5c3Rl bS9MUlVDYWNoZS5ocHAJMjAyMy0wMS0xNyAxNjo1Nzo0Ni4wMjU1NDgwOTIgKzAxMDAKLUBAIC0x Nyw2ICsxNyw3IEBACi0gCi0gI2luY2x1ZGUgIlN5c3RlbS9EZWJ1Zy5ocHAiCi0gCi0rI2luY2x1 ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUgPGNzdGRkZWY+Ci0gI2luY2x1ZGUgPGZ1bmN0aW9uYWw+ Ci0gI2luY2x1ZGUgPHVub3JkZXJlZF9zZXQ+Ci1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0 Ljc0L3RoaXJkX3BhcnR5L3Z1bGthbl9tZW1vcnlfYWxsb2NhdG9yL2luY2x1ZGUvdmtfbWVtX2Fs bG9jLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS92dWxrYW5fbWVtb3J5 X2FsbG9jYXRvci9pbmNsdWRlL3ZrX21lbV9hbGxvYy5oCi0tLS0gY2hyb21pdW0tMTA5LjAuNTQx NC43NC90aGlyZF9wYXJ0eS92dWxrYW5fbWVtb3J5X2FsbG9jYXRvci9pbmNsdWRlL3ZrX21lbV9h bGxvYy5oLm1lCTIwMjMtMDEtMTcgMTU6NDA6MjMuODU0Mzg2MjA2ICswMTAwCi0rKysgY2hyb21p dW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS92dWxrYW5fbWVtb3J5X2FsbG9jYXRvci9pbmNs dWRlL3ZrX21lbV9hbGxvYy5oCTIwMjMtMDEtMTcgMTY6NTg6MTkuMzk3ODYyODg1ICswMTAwCi1A QCAtMjM4OCw2ICsyMzg4LDcgQEAgVk1BX0NBTExfUFJFIHZvaWQgVk1BX0NBTExfUE9TVCB2bWFG cmVlVgotICNpZmRlZiBWTUFfSU1QTEVNRU5UQVRJT04NCi0gI3VuZGVmIFZNQV9JTVBMRU1FTlRB VElPTg0KLSANCi0rI2luY2x1ZGUgPGNzdGRpbz4NCi0gI2luY2x1ZGUgPGNzdGRpbnQ+DQotICNp bmNsdWRlIDxjc3RkbGliPg0KLSAjaW5jbHVkZSA8Y3N0cmluZz4NCi1kaWZmIC11cCBjaHJvbWl1 bS0xMDkuMC41NDE0Ljc0L3VpL2dmeC9nZW9tZXRyeS9saW5lYXJfZ3JhZGllbnQuaC5tZSBjaHJv bWl1bS0xMDkuMC41NDE0Ljc0L3VpL2dmeC9nZW9tZXRyeS9saW5lYXJfZ3JhZGllbnQuaAotLS0t IGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdWkvZ2Z4L2dlb21ldHJ5L2xpbmVhcl9ncmFkaWVudC5o Lm1lCTIwMjMtMDEtMTcgMTg6MDg6MjUuNzQ1NDkxMzUzICswMTAwCi0rKysgY2hyb21pdW0tMTA5 LjAuNTQxNC43NC91aS9nZngvZ2VvbWV0cnkvbGluZWFyX2dyYWRpZW50LmgJMjAyMy0wMS0xNyAx ODowODozNS43Nzc2Njc2MzIgKzAxMDAKLUBAIC01LDYgKzUsNyBAQAotICNpZm5kZWYgVUlfR0ZY X0xJTkVBUl9HUkFESUVOVF9IXwotICNkZWZpbmUgVUlfR0ZYX0xJTkVBUl9HUkFESUVOVF9IXwot IAotKyNpbmNsdWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxhcnJheT4KLSAjaW5jbHVkZSA8c3Ry aW5nPgotIAotZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9ydXkv c3JjL3J1eS9wcm9maWxlci9pbnN0cnVtZW50YXRpb24uaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0 Ljc0L3RoaXJkX3BhcnR5L3J1eS9zcmMvcnV5L3Byb2ZpbGVyL2luc3RydW1lbnRhdGlvbi5oCi0t LS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9ydXkvc3JjL3J1eS9wcm9maWxl ci9pbnN0cnVtZW50YXRpb24uaC5tZQkyMDIzLTAxLTE5IDEwOjEwOjIxLjI4Nzg3NjczNiArMDEw MAotKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvcnV5L3NyYy9ydXkvcHJv ZmlsZXIvaW5zdHJ1bWVudGF0aW9uLmgJMjAyMy0wMS0xOSAxMDoxMToyMS43MTQ3Nzg4OTYgKzAx MDAKLUBAIC0xNyw2ICsxNyw3IEBAIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotICNk ZWZpbmUgUlVZX1JVWV9QUk9GSUxFUl9JTlNUUlVNRU5UQVRJT05fSF8KLSAKLSAjaWZkZWYgUlVZ X1BST0ZJTEVSCi0rI2luY2x1ZGUgPHN0cmluZz4KLSAjaW5jbHVkZSA8Y3N0ZGlvPgotICNpbmNs dWRlIDxtdXRleD4KLSAjaW5jbHVkZSA8dmVjdG9yPgotZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAu NTQxNC43NC90aGlyZF9wYXJ0eS90ZmxpdGUvc3JjL3RlbnNvcmZsb3cvbGl0ZS9rZXJuZWxzL2lu dGVybmFsL3NwZWN0cm9ncmFtLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0 eS90ZmxpdGUvc3JjL3RlbnNvcmZsb3cvbGl0ZS9rZXJuZWxzL2ludGVybmFsL3NwZWN0cm9ncmFt LmgKLS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3RmbGl0ZS9zcmMvdGVu c29yZmxvdy9saXRlL2tlcm5lbHMvaW50ZXJuYWwvc3BlY3Ryb2dyYW0uaC5tZQkyMDIzLTAxLTE5 IDEwOjMwOjI3LjUzMzg2MTk4NSArMDEwMAotKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhp cmRfcGFydHkvdGZsaXRlL3NyYy90ZW5zb3JmbG93L2xpdGUva2VybmVscy9pbnRlcm5hbC9zcGVj dHJvZ3JhbS5oCTIwMjMtMDEtMTkgMTA6MzE6MTIuNTg1NTU0MTgzICswMTAwCi1AQCAtMzEsNiAr MzEsNyBAQCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLSAjaWZuZGVmIFRFTlNPUkZM T1dfTElURV9LRVJORUxTX0lOVEVSTkFMX1NQRUNUUk9HUkFNX0hfCi0gI2RlZmluZSBURU5TT1JG TE9XX0xJVEVfS0VSTkVMU19JTlRFUk5BTF9TUEVDVFJPR1JBTV9IXwotIAotKyNpbmNsdWRlIDxj c3RkaW50PgotICNpbmNsdWRlIDxjb21wbGV4PgotICNpbmNsdWRlIDxkZXF1ZT4KLSAjaW5jbHVk ZSA8dmVjdG9yPgotZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9iYXNlL2NvbnRhaW5l cnMvZmxhdF9tYXAuaC5tZWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9iYXNlL2NvbnRhaW5lcnMv ZmxhdF9tYXAuaAotLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvYmFzZS9jb250YWluZXJzL2Zs YXRfbWFwLmgubWVlCTIwMjMtMDEtMTkgMTA6NTk6NTIuMjE0OTU3NzczICswMTAwCi0rKysgY2hy b21pdW0tMTA5LjAuNTQxNC43NC9iYXNlL2NvbnRhaW5lcnMvZmxhdF9tYXAuaAkyMDIzLTAxLTE5 IDExOjAwOjA2LjQxNTIxNTMwOSArMDEwMAotQEAgLTUsNiArNSw3IEBACi0gI2lmbmRlZiBCQVNF X0NPTlRBSU5FUlNfRkxBVF9NQVBfSF8KLSAjZGVmaW5lIEJBU0VfQ09OVEFJTkVSU19GTEFUX01B UF9IXwotIAotKyNpbmNsdWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxmdW5jdGlvbmFsPgotICNp bmNsdWRlIDx0dXBsZT4KLSAjaW5jbHVkZSA8dXRpbGl0eT4KLWRpZmYgLXVwIGNocm9taXVtLTEw OS4wLjU0MTQuNzQvY29tcG9uZW50cy9jcmFzaC9jb3JlL2FwcC9jcmFzaF9yZXBvcnRlcl9jbGll bnQuaC5tZWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL2NyYXNoL2NvcmUvYXBw L2NyYXNoX3JlcG9ydGVyX2NsaWVudC5oCi0tLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21w b25lbnRzL2NyYXNoL2NvcmUvYXBwL2NyYXNoX3JlcG9ydGVyX2NsaWVudC5oLm1lZQkyMDIzLTAx LTE5IDEwOjM2OjQwLjU3MTQyMjgyNiArMDEwMAotKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQv Y29tcG9uZW50cy9jcmFzaC9jb3JlL2FwcC9jcmFzaF9yZXBvcnRlcl9jbGllbnQuaAkyMDIzLTAx LTE5IDEwOjM2OjQ5LjM0MzU2NTI5NCArMDEwMAotQEAgLTUsNiArNSw3IEBACi0gI2lmbmRlZiBD T01QT05FTlRTX0NSQVNIX0NPUkVfQVBQX0NSQVNIX1JFUE9SVEVSX0NMSUVOVF9IXwotICNkZWZp bmUgQ09NUE9ORU5UU19DUkFTSF9DT1JFX0FQUF9DUkFTSF9SRVBPUlRFUl9DTElFTlRfSF8KLSAK LSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSA8c3RyaW5nPgotIAotICNpbmNsdWRlICJi dWlsZC9idWlsZF9jb25maWcuaCIKLWRpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdWkv YmFzZS9wcmVkaWN0aW9uL2thbG1hbl9maWx0ZXIuaC5tZWUgY2hyb21pdW0tMTA5LjAuNTQxNC43 NC91aS9iYXNlL3ByZWRpY3Rpb24va2FsbWFuX2ZpbHRlci5oCi0tLS0gY2hyb21pdW0tMTA5LjAu NTQxNC43NC91aS9iYXNlL3ByZWRpY3Rpb24va2FsbWFuX2ZpbHRlci5oLm1lZQkyMDIzLTAxLTE5 IDExOjQ1OjE1Ljk1MzE1OTc1NSArMDEwMAotKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdWkv YmFzZS9wcmVkaWN0aW9uL2thbG1hbl9maWx0ZXIuaAkyMDIzLTAxLTE5IDExOjQ1OjIyLjMyMDI0 NjI0MSArMDEwMAotQEAgLTUsNiArNSw4IEBACi0gI2lmbmRlZiBVSV9CQVNFX1BSRURJQ1RJT05f S0FMTUFOX0ZJTFRFUl9IXwotICNkZWZpbmUgVUlfQkFTRV9QUkVESUNUSU9OX0tBTE1BTl9GSUxU RVJfSF8KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSsKLSAjaW5jbHVkZSAiYmFzZS9jb21wb25l bnRfZXhwb3J0LmgiCi0gI2luY2x1ZGUgInVpL2dmeC9nZW9tZXRyeS9tYXRyaXgzX2YuaCIKLSAK LWRpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9wYXNzd29yZF9tYW5h Z2VyL2NvcmUvYnJvd3Nlci9nZW5lcmF0aW9uL3Bhc3N3b3JkX2dlbmVyYXRvci5oLm1lIGNocm9t aXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9wYXNzd29yZF9tYW5hZ2VyL2NvcmUvYnJvd3Nl ci9nZW5lcmF0aW9uL3Bhc3N3b3JkX2dlbmVyYXRvci5oCi0tLS0gY2hyb21pdW0tMTA5LjAuNTQx NC43NC9jb21wb25lbnRzL3Bhc3N3b3JkX21hbmFnZXIvY29yZS9icm93c2VyL2dlbmVyYXRpb24v cGFzc3dvcmRfZ2VuZXJhdG9yLmgubWUJMjAyMy0wMS0xOSAxNToyMDowNy42MjA5ODc5NDkgKzAx MDAKLSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvcGFzc3dvcmRfbWFuYWdl ci9jb3JlL2Jyb3dzZXIvZ2VuZXJhdGlvbi9wYXNzd29yZF9nZW5lcmF0b3IuaAkyMDIzLTAxLTE5 IDE1OjIwOjE4LjMyNDE3MzcwMiArMDEwMAotQEAgLTUsNiArNSw3IEBACi0gI2lmbmRlZiBDT01Q T05FTlRTX1BBU1NXT1JEX01BTkFHRVJfQ09SRV9CUk9XU0VSX0dFTkVSQVRJT05fUEFTU1dPUkRf R0VORVJBVE9SX0hfCi0gI2RlZmluZSBDT01QT05FTlRTX1BBU1NXT1JEX01BTkFHRVJfQ09SRV9C Uk9XU0VSX0dFTkVSQVRJT05fUEFTU1dPUkRfR0VORVJBVE9SX0hfCi0gCi0rI2luY2x1ZGUgPGNz dGRpbnQ+Ci0gI2luY2x1ZGUgPHN0cmluZz4KLSAKLSAKLWRpZmYgLXVwIGNocm9taXVtLTEwOS4w LjU0MTQuNzQvY29tcG9uZW50cy9mZWF0dXJlX2VuZ2FnZW1lbnQvaW50ZXJuYWwvZXZlbnRfc3Rv cmFnZV92YWxpZGF0b3IuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvZmVh dHVyZV9lbmdhZ2VtZW50L2ludGVybmFsL2V2ZW50X3N0b3JhZ2VfdmFsaWRhdG9yLmgKLS0tLSBj aHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvZmVhdHVyZV9lbmdhZ2VtZW50L2ludGVy bmFsL2V2ZW50X3N0b3JhZ2VfdmFsaWRhdG9yLmgubWUJMjAyMy0wMS0xOSAxNjowMDoxNC4zNTAx ODY1MTUgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvZmVhdHVy ZV9lbmdhZ2VtZW50L2ludGVybmFsL2V2ZW50X3N0b3JhZ2VfdmFsaWRhdG9yLmgJMjAyMy0wMS0x OSAxNjowMDoyMS42NDMzMDc5OTMgKzAxMDAKLUBAIC01LDYgKzUsNyBAQAotICNpZm5kZWYgQ09N UE9ORU5UU19GRUFUVVJFX0VOR0FHRU1FTlRfSU5URVJOQUxfRVZFTlRfU1RPUkFHRV9WQUxJREFU T1JfSF8KLSAjZGVmaW5lIENPTVBPTkVOVFNfRkVBVFVSRV9FTkdBR0VNRU5UX0lOVEVSTkFMX0VW RU5UX1NUT1JBR0VfVkFMSURBVE9SX0hfCi0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1 ZGUgPHN0cmluZz4KLSAKLSBuYW1lc3BhY2UgZmVhdHVyZV9lbmdhZ2VtZW50IHsKLWRpZmYgLXVw IGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9mZWF0dXJlX2VuZ2FnZW1lbnQvaW50 ZXJuYWwvbmV2ZXJfZXZlbnRfc3RvcmFnZV92YWxpZGF0b3IuaC5tZSBjaHJvbWl1bS0xMDkuMC41 NDE0Ljc0L2NvbXBvbmVudHMvZmVhdHVyZV9lbmdhZ2VtZW50L2ludGVybmFsL25ldmVyX2V2ZW50 X3N0b3JhZ2VfdmFsaWRhdG9yLmgKLS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVu dHMvZmVhdHVyZV9lbmdhZ2VtZW50L2ludGVybmFsL25ldmVyX2V2ZW50X3N0b3JhZ2VfdmFsaWRh dG9yLmgubWUJMjAyMy0wMS0xOSAxNTo1OToxOC4yMTAyMzk0MTYgKzAxMDAKLSsrKyBjaHJvbWl1 bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvZmVhdHVyZV9lbmdhZ2VtZW50L2ludGVybmFsL25l dmVyX2V2ZW50X3N0b3JhZ2VfdmFsaWRhdG9yLmgJMjAyMy0wMS0xOSAxNTo1OTozNC41MTM1MTUw MzAgKzAxMDAKLUBAIC01LDYgKzUsNyBAQAotICNpZm5kZWYgQ09NUE9ORU5UU19GRUFUVVJFX0VO R0FHRU1FTlRfSU5URVJOQUxfTkVWRVJfRVZFTlRfU1RPUkFHRV9WQUxJREFUT1JfSF8KLSAjZGVm aW5lIENPTVBPTkVOVFNfRkVBVFVSRV9FTkdBR0VNRU5UX0lOVEVSTkFMX05FVkVSX0VWRU5UX1NU T1JBR0VfVkFMSURBVE9SX0hfCi0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUgPHN0 cmluZz4KLSAKLSAjaW5jbHVkZSAiY29tcG9uZW50cy9mZWF0dXJlX2VuZ2FnZW1lbnQvaW50ZXJu YWwvZXZlbnRfc3RvcmFnZV92YWxpZGF0b3IuaCIKLWRpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0 MTQuNzQvdGhpcmRfcGFydHkvc3dpZnRzaGFkZXIvdGhpcmRfcGFydHkvbGx2bS0xMC4wL2xsdm0v bGliL1N1cHBvcnQvVW5peC9TaWduYWxzLmluYy5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3Ro aXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3RoaXJkX3BhcnR5L2xsdm0tMTAuMC9sbHZtL2xpYi9TdXBw b3J0L1VuaXgvU2lnbmFscy5pbmMKLS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3Bh cnR5L3N3aWZ0c2hhZGVyL3RoaXJkX3BhcnR5L2xsdm0tMTAuMC9sbHZtL2xpYi9TdXBwb3J0L1Vu aXgvU2lnbmFscy5pbmMubWUJMjAyMy0wMS0xOSAxNjowOToyOS4yMTY0NzcxODIgKzAxMDAKLSsr KyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3RoaXJkX3Bh cnR5L2xsdm0tMTAuMC9sbHZtL2xpYi9TdXBwb3J0L1VuaXgvU2lnbmFscy5pbmMJMjAyMy0wMS0x OSAxNjoxMDowNS42NTcwODkyMDggKzAxMDAKLUBAIC00NSw2ICs0NSw3IEBACi0gI2luY2x1ZGUg Imxsdm0vU3VwcG9ydC9TYXZlQW5kUmVzdG9yZS5oIgotICNpbmNsdWRlICJsbHZtL1N1cHBvcnQv cmF3X29zdHJlYW0uaCIKLSAjaW5jbHVkZSA8YWxnb3JpdGhtPgotKyNpbmNsdWRlIDxjc3RkaW50 PgotICNpbmNsdWRlIDxzdHJpbmc+Ci0gI2luY2x1ZGUgPHN5c2V4aXRzLmg+Ci0gI2lmZGVmIEhB VkVfQkFDS1RSQUNFCi1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Nocm9tZS9icm93 c2VyL3ByaXZhY3lfYnVkZ2V0L2VuY291bnRlcmVkX3N1cmZhY2VfdHJhY2tlci5oLm1lIGNocm9t aXVtLTEwOS4wLjU0MTQuNzQvY2hyb21lL2Jyb3dzZXIvcHJpdmFjeV9idWRnZXQvZW5jb3VudGVy ZWRfc3VyZmFjZV90cmFja2VyLmgKLS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Nocm9tZS9i cm93c2VyL3ByaXZhY3lfYnVkZ2V0L2VuY291bnRlcmVkX3N1cmZhY2VfdHJhY2tlci5oLm1lCTIw MjMtMDEtMTkgMTY6MzI6MDUuMzM4MTYwMTMxICswMTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQx NC43NC9jaHJvbWUvYnJvd3Nlci9wcml2YWN5X2J1ZGdldC9lbmNvdW50ZXJlZF9zdXJmYWNlX3Ry YWNrZXIuaAkyMDIzLTAxLTE5IDE2OjMyOjE2LjIxMzMyNjc5OCArMDEwMAotQEAgLTUsNiArNSw3 IEBACi0gI2lmbmRlZiBDSFJPTUVfQlJPV1NFUl9QUklWQUNZX0JVREdFVF9FTkNPVU5URVJFRF9T VVJGQUNFX1RSQUNLRVJfSF8KLSAjZGVmaW5lIENIUk9NRV9CUk9XU0VSX1BSSVZBQ1lfQlVER0VU X0VOQ09VTlRFUkVEX1NVUkZBQ0VfVFJBQ0tFUl9IXwotIAotKyNpbmNsdWRlIDxjc3RkaW50Pgot ICNpbmNsdWRlIDxtYXA+Ci0gCi0gI2luY2x1ZGUgImJhc2UvY29udGFpbmVycy9mbGF0X3NldC5o IgotZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL2F1dG9maWxsL2Nv cmUvYnJvd3Nlci9hdXRvZmlsbF9hYmxhdGlvbl9zdHVkeS5oLm1lIGNocm9taXVtLTEwOS4wLjU0 MTQuNzQvY29tcG9uZW50cy9hdXRvZmlsbC9jb3JlL2Jyb3dzZXIvYXV0b2ZpbGxfYWJsYXRpb25f c3R1ZHkuaAotLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9hdXRvZmlsbC9j b3JlL2Jyb3dzZXIvYXV0b2ZpbGxfYWJsYXRpb25fc3R1ZHkuaC5tZQkyMDIzLTAxLTE5IDE2OjQ3 OjU1LjU0ODU3MTEwMiArMDEwMAotKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50 cy9hdXRvZmlsbC9jb3JlL2Jyb3dzZXIvYXV0b2ZpbGxfYWJsYXRpb25fc3R1ZHkuaAkyMDIzLTAx LTE5IDE2OjQ4OjI5LjIxNDE0NjUyOSArMDEwMAotQEAgLTUsNiArNSw3IEBACi0gI2lmbmRlZiBD T01QT05FTlRTX0FVVE9GSUxMX0NPUkVfQlJPV1NFUl9BVVRPRklMTF9BQkxBVElPTl9TVFVEWV9I XwotICNkZWZpbmUgQ09NUE9ORU5UU19BVVRPRklMTF9DT1JFX0JST1dTRVJfQVVUT0ZJTExfQUJM QVRJT05fU1RVRFlfSF8KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSA8c3RyaW5n PgotIAotIGNsYXNzIEdVUkw7Ci1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBv bmVudHMvb21uaWJveC9icm93c2VyL29uX2RldmljZV9oZWFkX21vZGVsLmgubWUgY2hyb21pdW0t MTA5LjAuNTQxNC43NC9jb21wb25lbnRzL29tbmlib3gvYnJvd3Nlci9vbl9kZXZpY2VfaGVhZF9t b2RlbC5oCi0tLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL29tbmlib3gvYnJv d3Nlci9vbl9kZXZpY2VfaGVhZF9tb2RlbC5oLm1lCTIwMjMtMDEtMTkgMTY6NTc6MjkuNTI1Mzcy ODE0ICswMTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL29tbmlib3gv YnJvd3Nlci9vbl9kZXZpY2VfaGVhZF9tb2RlbC5oCTIwMjMtMDEtMTkgMTY6NTg6MDIuNjY3OTc5 Mjg4ICswMTAwCi1AQCAtNSw2ICs1LDcgQEAKLSAjaWZuZGVmIENPTVBPTkVOVFNfT01OSUJPWF9C Uk9XU0VSX09OX0RFVklDRV9IRUFEX01PREVMX0hfCi0gI2RlZmluZSBDT01QT05FTlRTX09NTklC T1hfQlJPV1NFUl9PTl9ERVZJQ0VfSEVBRF9NT0RFTF9IXwotIAotKyNpbmNsdWRlIDxjc3RkaW50 PgotICNpbmNsdWRlIDxzdHJpbmc+Ci0gI2luY2x1ZGUgPHV0aWxpdHk+Ci0gI2luY2x1ZGUgPHZl Y3Rvcj4KLWRpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9wYXltZW50 cy9jb250ZW50L3V0aWxpdHkvZmluZ2VycHJpbnRfcGFyc2VyLmgubWUgY2hyb21pdW0tMTA5LjAu NTQxNC43NC9jb21wb25lbnRzL3BheW1lbnRzL2NvbnRlbnQvdXRpbGl0eS9maW5nZXJwcmludF9w YXJzZXIuaAotLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9wYXltZW50cy9j b250ZW50L3V0aWxpdHkvZmluZ2VycHJpbnRfcGFyc2VyLmgubWUJMjAyMy0wMS0xOSAxNzowMjo0 NS4yNTg1NDQ2NjUgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMv cGF5bWVudHMvY29udGVudC91dGlsaXR5L2ZpbmdlcnByaW50X3BhcnNlci5oCTIwMjMtMDEtMTkg MTc6MDI6NTIuNTc3NjExNzU3ICswMTAwCi1AQCAtNSw2ICs1LDcgQEAKLSAjaWZuZGVmIENPTVBP TkVOVFNfUEFZTUVOVFNfQ09OVEVOVF9VVElMSVRZX0ZJTkdFUlBSSU5UX1BBUlNFUl9IXwotICNk ZWZpbmUgQ09NUE9ORU5UU19QQVlNRU5UU19DT05URU5UX1VUSUxJVFlfRklOR0VSUFJJTlRfUEFS U0VSX0hfCi0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUgPHN0ZGRlZi5oPgotIAot ICNpbmNsdWRlIDxzdHJpbmc+Ci1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3BkZi9k b2N1bWVudF9hdHRhY2htZW50X2luZm8uaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3BkZi9k b2N1bWVudF9hdHRhY2htZW50X2luZm8uaAotLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvcGRm L2RvY3VtZW50X2F0dGFjaG1lbnRfaW5mby5oLm1lCTIwMjMtMDEtMTkgMTc6Mjg6MjguNTUyMDYz NTM0ICswMTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9wZGYvZG9jdW1lbnRfYXR0YWNo bWVudF9pbmZvLmgJMjAyMy0wMS0xOSAxNzoyODo0OC4wNzIzNzk5NTMgKzAxMDAKLUBAIC01LDYg KzUsNyBAQAotICNpZm5kZWYgUERGX0RPQ1VNRU5UX0FUVEFDSE1FTlRfSU5GT19IXwotICNkZWZp bmUgUERGX0RPQ1VNRU5UX0FUVEFDSE1FTlRfSU5GT19IXwotIAotKyNpbmNsdWRlIDxjc3RkaW50 PgotICNpbmNsdWRlIDxzdHJpbmc+Ci0gCi0gCi1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0 Ljc0L3RoaXJkX3BhcnR5L3BkZml1bS9jb25zdGFudHMvYW5ub3RhdGlvbl9mbGFncy5oLm1lIGNo cm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvcGRmaXVtL2NvbnN0YW50cy9hbm5vdGF0 aW9uX2ZsYWdzLmgKLS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3BkZml1 bS9jb25zdGFudHMvYW5ub3RhdGlvbl9mbGFncy5oLm1lCTIwMjMtMDEtMTkgMTg6MjU6NDcuNjQ4 MTkzNzEwICswMTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9wZGZp dW0vY29uc3RhbnRzL2Fubm90YXRpb25fZmxhZ3MuaAkyMDIzLTAxLTE5IDE4OjI2OjExLjQ4ODU5 MzU1NiArMDEwMAotQEAgLTUsNiArNSw4IEBACi0gI2lmbmRlZiBDT05TVEFOVFNfQU5OT1RBVElP Tl9GTEFHU19IXwotICNkZWZpbmUgQ09OU1RBTlRTX0FOTk9UQVRJT05fRkxBR1NfSF8KLSAKLSsj aW5jbHVkZSA8Y3N0ZGludD4KLSsKLSBuYW1lc3BhY2UgcGRmaXVtIHsKLSBuYW1lc3BhY2UgYW5u b3RhdGlvbl9mbGFncyB7Ci0gCi1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Jhc2Uv Y3B1LmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9iYXNlL2NwdS5oCi0tLS0gY2hyb21pdW0t MTA5LjAuNTQxNC43NC9iYXNlL2NwdS5oLm1lCTIwMjMtMDEtMTkgMjE6MzE6MDIuOTA1MDYyOTg3 ICswMTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9iYXNlL2NwdS5oCTIwMjMtMDEtMTkg MjE6MzE6MzIuMjk4NTczMjY3ICswMTAwCi1AQCAtNSw2ICs1LDcgQEAKLSAjaWZuZGVmIEJBU0Vf Q1BVX0hfCi0gI2RlZmluZSBCQVNFX0NQVV9IXwotIAotKyNpbmNsdWRlIDxjc3RkaW50PgotICNp bmNsdWRlIDxzdHJpbmc+Ci0gCi0gI2luY2x1ZGUgImJhc2UvYmFzZV9leHBvcnQuaCIKLWRpZmYg LXVwIGNocm9taXVtLTExMy4wLjU2NzIuMjQvdGhpcmRfcGFydHkvdnVsa2FuLWRlcHMvdnVsa2Fu LXZhbGlkYXRpb24tbGF5ZXJzL3NyYy9sYXllcnMvZXh0ZXJuYWwvdm1hL3ZrX21lbV9hbGxvYy5o Lm1lIGNocm9taXVtLTExMy4wLjU2NzIuMjQvdGhpcmRfcGFydHkvdnVsa2FuLWRlcHMvdnVsa2Fu LXZhbGlkYXRpb24tbGF5ZXJzL3NyYy9sYXllcnMvZXh0ZXJuYWwvdm1hL3ZrX21lbV9hbGxvYy5o Ci0tLS0gY2hyb21pdW0tMTEzLjAuNTY3Mi4yNC90aGlyZF9wYXJ0eS92dWxrYW4tZGVwcy92dWxr YW4tdmFsaWRhdGlvbi1sYXllcnMvc3JjL2xheWVycy9leHRlcm5hbC92bWEvdmtfbWVtX2FsbG9j LmgubWUJMjAyMy0wNC0xNSAxNjo0NDo1NS4zNDQzMDU0MTIgKzAyMDAKLSsrKyBjaHJvbWl1bS0x MTMuMC41NjcyLjI0L3RoaXJkX3BhcnR5L3Z1bGthbi1kZXBzL3Z1bGthbi12YWxpZGF0aW9uLWxh eWVycy9zcmMvbGF5ZXJzL2V4dGVybmFsL3ZtYS92a19tZW1fYWxsb2MuaAkyMDIzLTA0LTE1IDE2 OjQ3OjA5LjAyODY2Njk5NSArMDIwMAotQEAgLTI4NTQsNiArMjg1NCw3IEBAIHN0YXRpYyB2b2lk IHZtYV9hbGlnbmVkX2ZyZWUodm9pZCogVk1BX04KLSAKLSAvLyBEZWZpbmUgdGhpcyBtYWNybyB0 byAxIHRvIGVuYWJsZSBmdW5jdGlvbnM6IHZtYUJ1aWxkU3RhdHNTdHJpbmcsIHZtYUZyZWVTdGF0 c1N0cmluZy4KLSAjaWYgVk1BX1NUQVRTX1NUUklOR19FTkFCTEVECi0rI2luY2x1ZGUgPHN0ZGlv Lmg+Ci0gICAgIHN0YXRpYyBpbmxpbmUgdm9pZCBWbWFVaW50MzJUb1N0cihjaGFyKiBWTUFfTk9U X05VTEwgb3V0U3RyLCBzaXplX3Qgc3RyTGVuLCB1aW50MzJfdCBudW0pCi0gICAgIHsKLSAgICAg ICAgIHNucHJpbnRmKG91dFN0ciwgc3RyTGVuLCAiJXUiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBp bnQ+KG51bSkpOwotZGlmZiAtdXAgY2hyb21pdW0tMTEzLjAuNTY3Mi4zNy9jaHJvbWUvYnJvd3Nl ci93ZWJhdXRobi9hdXRoZW50aWNhdG9yX3JlcXVlc3RfZGlhbG9nX21vZGVsLmgubWUgY2hyb21p dW0tMTEzLjAuNTY3Mi4zNy9jaHJvbWUvYnJvd3Nlci93ZWJhdXRobi9hdXRoZW50aWNhdG9yX3Jl cXVlc3RfZGlhbG9nX21vZGVsLmgKLS0tLSBjaHJvbWl1bS0xMTMuMC41NjcyLjM3L2Nocm9tZS9i cm93c2VyL3dlYmF1dGhuL2F1dGhlbnRpY2F0b3JfcmVxdWVzdF9kaWFsb2dfbW9kZWwuaC5tZQky MDIzLTA0LTE4IDE1OjU1OjQ0Ljc3NDkxNjMxOSArMDIwMAotKysrIGNocm9taXVtLTExMy4wLjU2 NzIuMzcvY2hyb21lL2Jyb3dzZXIvd2ViYXV0aG4vYXV0aGVudGljYXRvcl9yZXF1ZXN0X2RpYWxv Z19tb2RlbC5oCTIwMjMtMDQtMTggMTU6NTU6NTQuNDQxMDg1ODgyICswMjAwCi1AQCAtOCw2ICs4 LDcgQEAKLSAjaW5jbHVkZSA8bWVtb3J5PgotICNpbmNsdWRlIDxzdHJpbmc+Ci0gI2luY2x1ZGUg PHZlY3Rvcj4KLSsjaW5jbHVkZSA8dmFyaWFudD4KLSAKLSAjaW5jbHVkZSAiYmFzZS9jb250YWlu ZXJzL3NwYW4uaCIKLSAjaW5jbHVkZSAiYmFzZS9mdW5jdGlvbmFsL2NhbGxiYWNrX2ZvcndhcmQu aCIKLWRpZmYgLXVwIGNocm9taXVtLTExMy4wLjU2NzIuMzcvZ2luL3RpbWVfY2xhbXBlci5oLm1l IGNocm9taXVtLTExMy4wLjU2NzIuMzcvZ2luL3RpbWVfY2xhbXBlci5oCi0tLS0gY2hyb21pdW0t MTEzLjAuNTY3Mi4zNy9naW4vdGltZV9jbGFtcGVyLmgubWUJMjAyMy0wNC0xOCAxNjozODo0MS4x ODA0Mzc0NjcgKzAyMDAKLSsrKyBjaHJvbWl1bS0xMTMuMC41NjcyLjM3L2dpbi90aW1lX2NsYW1w ZXIuaAkyMDIzLTA0LTE4IDE2OjM5OjQzLjg1NzA0OTQzMiArMDIwMAotQEAgLTQ4LDcgKzQ4LDcg QEAgY2xhc3MgR0lOX0VYUE9SVCBUaW1lQ2xhbXBlciB7Ci0gICAgIGNvbnN0IGludDY0X3QgbWlj cm9zID0gbm93X21pY3JvcyAlIDEwMDA7Ci0gICAgIC8vIGFicygpIGlzIG5lY2Vzc2FyeSBmb3Ig ZGV2aWNlcyB3aXRoIHRpbWVzIGJlZm9yZSB1bml4LWVwb2NoIChtb3N0IGxpa2VseQotICAgICAv LyBjb25maWd1cmVkIGluY29ycmVjdGx5KS4KLS0gICAgaWYgKGFicyhtaWNyb3MpICsga1Jlc29s dXRpb25NaWNyb3MgPCAxMDAwKSB7Ci0rICAgIGlmIChzdGQ6OmFicyhtaWNyb3MpICsga1Jlc29s dXRpb25NaWNyb3MgPCAxMDAwKSB7Ci0gICAgICAgcmV0dXJuIG5vd19taWNyb3MgLyAxMDAwOwot ICAgICB9Ci0gICAgIHJldHVybiBDbGFtcFRpbWVSZXNvbHV0aW9uKG5vd19taWNyb3MpIC8gMTAw MDsKLWRpZmYgLXVwIGNocm9taXVtLTExMy4wLjU2NzIuNTMvY2hyb21lL3Rlc3QvY2hyb21lZHJp dmVyL2Nocm9tZS93ZWJfdmlld19pbXBsLmNjLm1lIGNocm9taXVtLTExMy4wLjU2NzIuNTMvY2hy b21lL3Rlc3QvY2hyb21lZHJpdmVyL2Nocm9tZS93ZWJfdmlld19pbXBsLmNjCi0tLS0gY2hyb21p dW0tMTEzLjAuNTY3Mi41My9jaHJvbWUvdGVzdC9jaHJvbWVkcml2ZXIvY2hyb21lL3dlYl92aWV3 X2ltcGwuY2MubWUJMjAyMy0wNC0yMSAwODowNzo1NS4zNjI3MTQ1NDQgKzAyMDAKLSsrKyBjaHJv bWl1bS0xMTMuMC41NjcyLjUzL2Nocm9tZS90ZXN0L2Nocm9tZWRyaXZlci9jaHJvbWUvd2ViX3Zp ZXdfaW1wbC5jYwkyMDIzLTA0LTIxIDA4OjE0OjM1LjQyNDE1ODY5MyArMDIwMAotQEAgLTEwLDYg KzEwLDcgQEAKLSAjaW5jbHVkZSA8cXVldWU+Ci0gI2luY2x1ZGUgPHV0aWxpdHk+Ci0gI2luY2x1 ZGUgPHZlY3Rvcj4KLSsjaW5jbHVkZSA8Y3N0cmluZz4KLSAKLSAjaW5jbHVkZSAiYmFzZS9jaGVj ay5oIgotICNpbmNsdWRlICJiYXNlL2ZpbGVzL2ZpbGVfcGF0aC5oIgoKZGlmZiAtLWdpdCBhL2No cm9taXVtLTExNS1taXNzaW5nLWNtYXRoLnBhdGNoIGIvY2hyb21pdW0tMTE1LW1pc3NpbmctY21h dGgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBjOGJhY2QuLjAwMDAwMDAK LS0tIGEvY2hyb21pdW0tMTE1LW1pc3NpbmctY21hdGgucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAt MSwyMiArMCwwIEBACi1kaWZmIC11cCBjaHJvbWl1bS0xMTUuMC41NzkwLjMyL3NraWEvZXh0L3Nr Y29sb3JzcGFjZV90cmZuLmNjLm1lIGNocm9taXVtLTExNS4wLjU3OTAuMzIvc2tpYS9leHQvc2tj b2xvcnNwYWNlX3RyZm4uY2MKLS0tLSBjaHJvbWl1bS0xMTUuMC41NzkwLjMyL3NraWEvZXh0L3Nr Y29sb3JzcGFjZV90cmZuLmNjLm1lCTIwMjMtMDYtMTggMTI6MzM6NTIuMzg3NDEyNzg4ICswMjAw Ci0rKysgY2hyb21pdW0tMTE1LjAuNTc5MC4zMi9za2lhL2V4dC9za2NvbG9yc3BhY2VfdHJmbi5j YwkyMDIzLTA2LTE4IDEyOjM1OjI4LjIyOTE0ODkzNSArMDIwMAotQEAgLTMsNiArMyw3IEBACi0g Ly8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLSAKLSAjaW5jbHVkZSAic2tpYS9leHQvc2tj b2xvcnNwYWNlX3RyZm4uaCIKLSsjaW5jbHVkZSA8Y21hdGg+Ci0gCi0gbmFtZXNwYWNlIHNraWEg ewotIAotZGlmZiAtdXAgY2hyb21pdW0tMTE1LjAuNTc5MC4zMi9uZXQvY2VydC9wa2kvdmVyaWZ5 X25hbWVfbWF0Y2guaC5tZSBjaHJvbWl1bS0xMTUuMC41NzkwLjMyL25ldC9jZXJ0L3BraS92ZXJp ZnlfbmFtZV9tYXRjaC5oCi0tLS0gY2hyb21pdW0tMTE1LjAuNTc5MC4zMi9uZXQvY2VydC9wa2kv dmVyaWZ5X25hbWVfbWF0Y2guaC5tZQkyMDIzLTA2LTE4IDE0OjIzOjEzLjg0NzcyNTc3NSArMDIw MAotKysrIGNocm9taXVtLTExNS4wLjU3OTAuMzIvbmV0L2NlcnQvcGtpL3ZlcmlmeV9uYW1lX21h dGNoLmgJMjAyMy0wNi0xOCAxNDoyMzo0MS42MzcyMjExMTcgKzAyMDAKLUBAIC02LDYgKzYsNyBA QAotICNkZWZpbmUgTkVUX0NFUlRfUEtJX1ZFUklGWV9OQU1FX01BVENIX0hfCi0gCi0gI2luY2x1 ZGUgPHN0cmluZz4KLSsjaW5jbHVkZSA8dmVjdG9yPgotIAotICNpbmNsdWRlICJuZXQvYmFzZS9u ZXRfZXhwb3J0LmgiCi0gCgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0tMTE1LXJldmVydC1pZnVuYy5w YXRjaCBiL2Nocm9taXVtLTExNS1yZXZlcnQtaWZ1bmMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDdkZTg3NWEuLjAwMDAwMDAKLS0tIGEvY2hyb21pdW0tMTE1LXJldmVydC1p ZnVuYy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI4OSArMCwwIEBACi1jb21taXQgYjJjNGZm OGQ1ZDhjZGJmMjQ4NzM2M2E1YjhkNjhiNjQ4NTcwNjA2OQotQXV0aG9yOiBSaWNoYXJkIFRvd25z ZW5kIDxSaWNoYXJkLlRvd25zZW5kQGFybS5jb20+Ci1EYXRlOiAgIFRodSBNYXkgMTggMjI6NTE6 MzYgMjAyMyArMDAwMAotCi0gICAgUmVsYW5kICJSZWxhbmQgIm10ZTogcmVmYWN0b3IgdGhlIHRh Z2dpbmcgZnVuY3Rpb25zIHRvIHVzZSBpZnVuY3MiIgotICAgIAotICAgIFRoaXMgaXMgYSByZWxh bmQgb2YgY29tbWl0IDIzMjFlYTM4M2MwMDYxNDljM2I0OTZhNTE1ZjU0ZmIzYWViZGMzNGMKLSAg ICBhbmQgYSByZXZlcnQgb2YgY29tbWl0IGFkZmIxYzJjNmNlYjNkYWYyMTBjZWYxZTU2ODg1NDFl YmM1NjFlMjAuIEl0Ci0gICAgd2FzIHJldmVydGVkIGJlY2F1c2Ugb2YgYSBwcm9ibGVtIHdpdGgg YW5kcm9pZC1hcm02NCBvcmRlcmZpbGUKLSAgICBnZW5lcmF0aW9uLCB3aGljaCBpcyBub3cgcmVz b2x2ZWQuCi0gICAgCi0gICAgT3JpZ2luYWwgY2hhbmdlJ3MgZGVzY3JpcHRpb246Ci0gICAgPiBS ZWxhbmQgIm10ZTogcmVmYWN0b3IgdGhlIHRhZ2dpbmcgZnVuY3Rpb25zIHRvIHVzZSBpZnVuY3Mi Ci0gICAgPgotICAgID4gVGhpcyB3YXMgcmV2ZXJ0ZWQgZHVlIHRvIGEgdG9vbGNoYWluIHByb2Js ZW0gYWZmZWN0aW5nIFRoaW5MVE8sCi0gICAgPiByZXNvbHZlZCBpbiBbMV0KLSAgICA+Ci0gICAg PiBbMV0gaHR0cHM6Ly9yZXZpZXdzLmxsdm0ub3JnL0QxNDQ5ODIKLSAgICA+Ci0gICAgPiBUaGlz IHJldmVydHMgY29tbWl0IDZjMjJlNDFmYzNmZmQzMDUzNTlmMTdiMjQyM2MzN2MyYzk3NmFjZjMu Ci0gICAgPgotICAgID4gQnVnOiAxMTM3MzkzCi0gICAgPiBDaGFuZ2UtSWQ6IEk5OTFlMTI2MThm OThjZGY4Yjg5ZWM4M2NhZDA2ZTMwYWQ2MGQzMzJlCi0gICAgPiBSZXZpZXdlZC1vbjogaHR0cHM6 Ly9jaHJvbWl1bS1yZXZpZXcuZ29vZ2xlc291cmNlLmNvbS9jL2Nocm9taXVtL3NyYy8rLzQ0NzM4 NzAKLSAgICA+IFJldmlld2VkLWJ5OiBLZWlzaGkgSGF0dG9yaSA8a2Vpc2hpQGNocm9taXVtLm9y Zz4KLSAgICA+IENvbW1pdC1RdWV1ZTogUmljaGFyZCBUb3duc2VuZCA8cmljaGFyZC50b3duc2Vu ZEBhcm0uY29tPgotICAgID4gQ3ItQ29tbWl0LVBvc2l0aW9uOiByZWZzL2hlYWRzL21haW5AeyMx MTM1ODYyfQotICAgIAotICAgIEJ1ZzogMTEzNzM5MywgMTQ0MDUzMQotICAgIENoYW5nZS1JZDog STRjZDE5MTFhMzZjZjU1ZWUxYzA2ZTZmZmRhOTcxODY2YzkzZmE3NDEKLSAgICBSZXZpZXdlZC1v bjogaHR0cHM6Ly9jaHJvbWl1bS1yZXZpZXcuZ29vZ2xlc291cmNlLmNvbS9jL2Nocm9taXVtL3Ny Yy8rLzQ1MTc3MDIKLSAgICBDb21taXQtUXVldWU6IFJpY2hhcmQgVG93bnNlbmQgPHJpY2hhcmQu dG93bnNlbmRAYXJtLmNvbT4KLSAgICBSZXZpZXdlZC1ieTogS2Vpc2hpIEhhdHRvcmkgPGtlaXNo aUBjaHJvbWl1bS5vcmc+Ci0gICAgQ3ItQ29tbWl0LVBvc2l0aW9uOiByZWZzL2hlYWRzL21haW5A eyMxMTQ2MjQ0fQotCi1kaWZmIC0tZ2l0IGEvYmFzZS9hbGxvY2F0b3IvcGFydGl0aW9uX2FsbG9j YXRvci9wYXJ0aXRpb25fcm9vdC5jYyBiL2Jhc2UvYWxsb2NhdG9yL3BhcnRpdGlvbl9hbGxvY2F0 b3IvcGFydGl0aW9uX3Jvb3QuY2MKLWluZGV4IDQ4NjU5NGU4MWY4MjMuLjhhYjM3ZjZkZWM3NTAg MTAwNjQ0Ci0tLS0gYS9iYXNlL2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2NhdG9yL3BhcnRpdGlv bl9yb290LmNjCi0rKysgYi9iYXNlL2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2NhdG9yL3BhcnRp dGlvbl9yb290LmNjCi1AQCAtODY5LDEwICs4NjksNiBAQCB2b2lkIFBhcnRpdGlvblJvb3Q8dGhy ZWFkX3NhZmU+OjpJbml0KFBhcnRpdGlvbk9wdGlvbnMgb3B0cykgewotICAgICAgIHJldHVybjsK LSAgICAgfQotIAotLSAgICAvLyBTd2FwcyBvdXQgdGhlIGFjdGl2ZSBuby1vcCB0YWdnaW5nIGlu dHJpbnNpY3Mgd2l0aCBNVEUtY2FwYWJsZSBvbmVzLCBpZgotLSAgICAvLyBydW5uaW5nIG9uIHRo ZSByaWdodCBoYXJkd2FyZS4KLS0gICAgOjpwYXJ0aXRpb25fYWxsb2M6OmludGVybmFsOjpJbml0 aWFsaXplTVRFU3VwcG9ydElmTmVlZGVkKCk7Ci0tCi0gI2lmIEJVSUxERkxBRyhIQVNfNjRfQklU X1BPSU5URVJTKQotICAgICAvLyBSZXNlcnZlIGFkZHJlc3Mgc3BhY2UgZm9yIHBhcnRpdGlvbiBh bGxvYy4KLSAgICAgaW50ZXJuYWw6OlBhcnRpdGlvbkFkZHJlc3NTcGFjZTo6SW5pdCgpOwotZGlm ZiAtLWdpdCBhL2Jhc2UvYWxsb2NhdG9yL3BhcnRpdGlvbl9hbGxvY2F0b3IvdGFnZ2luZy5jYyBi L2Jhc2UvYWxsb2NhdG9yL3BhcnRpdGlvbl9hbGxvY2F0b3IvdGFnZ2luZy5jYwotaW5kZXggYThh NzQxNTVkZTRlMS4uZWE3YWMyYWY4MmM4OCAxMDA2NDQKLS0tLSBhL2Jhc2UvYWxsb2NhdG9yL3Bh cnRpdGlvbl9hbGxvY2F0b3IvdGFnZ2luZy5jYwotKysrIGIvYmFzZS9hbGxvY2F0b3IvcGFydGl0 aW9uX2FsbG9jYXRvci90YWdnaW5nLmNjCi1AQCAtMTIsNyArMTIsOSBAQAotIAotICNpZiBQQV9D T05GSUcoSEFTX01FTU9SWV9UQUdHSU5HKQotICNpbmNsdWRlIDxhcm1fYWNsZS5oPgotKyNpbmNs dWRlIDxhc20vaHdjYXAuaD4KLSAjaW5jbHVkZSA8c3lzL2F1eHYuaD4KLSsjaW5jbHVkZSA8c3lz L2lmdW5jLmg+Ci0gI2luY2x1ZGUgPHN5cy9wcmN0bC5oPgotICNkZWZpbmUgUFJfU0VUX1RBR0dF RF9BRERSX0NUUkwgNTUKLSAjZGVmaW5lIFBSX0dFVF9UQUdHRURfQUREUl9DVFJMIDU2Ci1AQCAt MTE5LDEyICsxMjEsNiBAQCBuYW1lc3BhY2UgewotICAgcmV0dXJuIHJldDsKLSB9Ci0gCi0tI2lm IFBBX0NPTkZJRyhIQVNfTUVNT1JZX1RBR0dJTkcpCi0tc3RhdGljIGJvb2wgSGFzQ1BVTWVtb3J5 VGFnZ2luZ0V4dGVuc2lvbigpIHsKLS0gIHJldHVybiBiYXNlOjpDUFU6OkdldEluc3RhbmNlTm9B bGxvY2F0aW9uKCkuaGFzX210ZSgpOwotLX0KLS0jZW5kaWYgIC8vIFBBX0NPTkZJRyhIQVNfTUVN T1JZX1RBR0dJTkcpCi0tCi0gI2lmIFBBX0NPTkZJRyhIQVNfTUVNT1JZX1RBR0dJTkcpCi0gdm9p ZCogVGFnUmVnaW9uUmFuZG9tbHlGb3JNVEUodm9pZCogcHRyLCBzaXplX3Qgc3osIHVpbnQ2NF90 IG1hc2spIHsKLSAgIC8vIFJhbmRvbWx5IHRhZyBhIHJlZ2lvbiAoTVRFLWVuYWJsZWQgc3lzdGVt cyBvbmx5KS4gVGhlIGZpcnN0IDE2LWJ5dGUKLUBAIC0xNjYsNyArMTYyLDYgQEAgdm9pZCogUmVt YXNrVm9pZFB0ckZvck1URSh2b2lkKiBwdHIpIHsKLSAgIH0KLSAgIHJldHVybiBudWxscHRyOwot IH0KLS0jZW5kaWYKLSAKLSB2b2lkKiBUYWdSZWdpb25JbmNyZW1lbnROb09wKHZvaWQqIHB0ciwg c2l6ZV90IHN6KSB7Ci0gICAvLyBSZWdpb24gcGFyYW1ldGVycyBhcmUgY2hlY2tlZCBldmVuIG9u IG5vbi1NVEUgc3lzdGVtcyB0byBjaGVjayB0aGUKLUBAIC0xODMsMjQgKzE3OCw0OSBAQCB2b2lk KiBUYWdSZWdpb25SYW5kb21seU5vT3Aodm9pZCogcHRyLCBzaXplX3Qgc3osIHVpbnQ2NF90IG1h c2spIHsKLSB2b2lkKiBSZW1hc2tWb2lkUHRyTm9PcCh2b2lkKiBwdHIpIHsKLSAgIHJldHVybiBw dHI7Ci0gfQotKyNlbmRpZgotIAotIH0gIC8vIG5hbWVzcGFjZQotIAotLXZvaWQgSW5pdGlhbGl6 ZU1URVN1cHBvcnRJZk5lZWRlZCgpIHsKLSAjaWYgUEFfQ09ORklHKEhBU19NRU1PUllfVEFHR0lO RykKLS0gIGlmIChIYXNDUFVNZW1vcnlUYWdnaW5nRXh0ZW5zaW9uKCkpIHsKLS0gICAgZ2xvYmFs X3JlbWFza192b2lkX3B0cl9mbiA9IFJlbWFza1ZvaWRQdHJGb3JNVEU7Ci0tICAgIGdsb2JhbF90 YWdfbWVtb3J5X3JhbmdlX2luY3JlbWVudF9mbiA9IFRhZ1JlZ2lvbkluY3JlbWVudEZvck1URTsK LS0gICAgZ2xvYmFsX3RhZ19tZW1vcnlfcmFuZ2VfcmFuZG9tbHlfZm4gPSBUYWdSZWdpb25SYW5k b21seUZvck1URTsKLSt1c2luZyBSZW1hc2tQdHJJbnRlcm5hbEZuID0gdm9pZCoodm9pZCogcHRy KTsKLSt1c2luZyBUYWdNZW1vcnlSYW5nZUluY3JlbWVudEludGVybmFsRm4gPSB2b2lkKih2b2lk KiBwdHIsIHNpemVfdCBzaXplKTsKLSsKLSt1c2luZyBUYWdNZW1vcnlSYW5nZVJhbmRvbWx5SW50 ZXJuYWxGbiA9IHZvaWQqKHZvaWQqIHB0ciwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHNpemVfdCBzaXplLAotKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdWludDY0X3QgbWFzayk7Ci0rCi0rZXh0ZXJuICJDIiBU YWdNZW1vcnlSYW5nZUluY3JlbWVudEludGVybmFsRm4oCi0rICAgICpSZXNvbHZlVGFnTWVtb3J5 UmFuZ2VJbmNyZW1lbnQodWludDY0X3QgaHdjYXAsIHN0cnVjdCBfX2lmdW5jX2FyZ190KiBodykp IHsKLSsgIGlmICgoaHdjYXAgJiBfSUZVTkNfQVJHX0hXQ0FQKSAmJiAoaHctPl9od2NhcDIgJiBI V0NBUDJfTVRFKSkgewotKyAgICByZXR1cm4gVGFnUmVnaW9uSW5jcmVtZW50Rm9yTVRFOwotICAg fQotLSNlbmRpZgotKyAgcmV0dXJuIFRhZ1JlZ2lvbkluY3JlbWVudE5vT3A7Ci0rfQotKwotK2V4 dGVybiAiQyIgVGFnTWVtb3J5UmFuZ2VSYW5kb21seUludGVybmFsRm4oCi0rICAgICpSZXNvbHZl VGFnTWVtb3J5UmFuZG9tbHkodWludDY0X3QgaHdjYXAsIHN0cnVjdCBfX2lmdW5jX2FyZ190KiBo dykpIHsKLSsgIGlmICgoaHdjYXAgJiBfSUZVTkNfQVJHX0hXQ0FQKSAmJiAoaHctPl9od2NhcDIg JiBIV0NBUDJfTVRFKSkgewotKyAgICByZXR1cm4gVGFnUmVnaW9uUmFuZG9tbHlGb3JNVEU7Ci0r ICB9Ci0rICByZXR1cm4gVGFnUmVnaW9uUmFuZG9tbHlOb09wOwotK30KLSsKLStleHRlcm4gIkMi IFJlbWFza1B0ckludGVybmFsRm4oCi0rICAgICpSZXNvbHZlUmVtYXNrUG9pbnRlcih1aW50NjRf dCBod2NhcCwgc3RydWN0IF9faWZ1bmNfYXJnX3QqIGh3KSkgewotKyAgaWYgKChod2NhcCAmIF9J RlVOQ19BUkdfSFdDQVApICYmIChody0+X2h3Y2FwMiAmIEhXQ0FQMl9NVEUpKSB7Ci0rICAgIHJl dHVybiBSZW1hc2tWb2lkUHRyRm9yTVRFOwotKyAgfQotKyAgcmV0dXJuIFJlbWFza1ZvaWRQdHJO b09wOwotIH0KLSAKLS1SZW1hc2tQdHJJbnRlcm5hbEZuKiBnbG9iYWxfcmVtYXNrX3ZvaWRfcHRy X2ZuID0gUmVtYXNrVm9pZFB0ck5vT3A7Ci0tVGFnTWVtb3J5UmFuZ2VJbmNyZW1lbnRJbnRlcm5h bEZuKiBnbG9iYWxfdGFnX21lbW9yeV9yYW5nZV9pbmNyZW1lbnRfZm4gPQotLSAgICBUYWdSZWdp b25JbmNyZW1lbnROb09wOwotLVRhZ01lbW9yeVJhbmdlUmFuZG9tbHlJbnRlcm5hbEZuKiBnbG9i YWxfdGFnX21lbW9yeV9yYW5nZV9yYW5kb21seV9mbiA9Ci0tICAgIFRhZ1JlZ2lvblJhbmRvbWx5 Tm9PcDsKLSt2b2lkKiBUYWdNZW1vcnlSYW5nZUluY3JlbWVudEludGVybmFsKHZvaWQqIHB0ciwg c2l6ZV90IHNpemUpCi0rICAgIF9fYXR0cmlidXRlX18oKGlmdW5jKCJSZXNvbHZlVGFnTWVtb3J5 UmFuZ2VJbmNyZW1lbnQiKSkpOwotK3ZvaWQqIFRhZ01lbW9yeVJhbmdlUmFuZG9tbHlJbnRlcm5h bCh2b2lkKiBwdHIsIHNpemVfdCBzaXplLCB1aW50NjRfdCBtYXNrKQotKyAgICBfX2F0dHJpYnV0 ZV9fKChpZnVuYygiUmVzb2x2ZVRhZ01lbW9yeVJhbmRvbWx5IikpKTsKLSt2b2lkKiBSZW1hc2tQ b2ludGVySW50ZXJuYWwodm9pZCogcHRyKQotKyAgICBfX2F0dHJpYnV0ZV9fKChpZnVuYygiUmVz b2x2ZVJlbWFza1BvaW50ZXIiKSkpOwotKyNlbmRpZiAvLyBQQV9DT05GSUcoSEFTX01FTU9SWV9U QUdHSU5HKQotIAotIFRhZ1Zpb2xhdGlvblJlcG9ydGluZ01vZGUgR2V0TWVtb3J5VGFnZ2luZ01v ZGVGb3JDdXJyZW50VGhyZWFkKCkgewotICNpZiBQQV9DT05GSUcoSEFTX01FTU9SWV9UQUdHSU5H KQotZGlmZiAtLWdpdCBhL2Jhc2UvYWxsb2NhdG9yL3BhcnRpdGlvbl9hbGxvY2F0b3IvdGFnZ2lu Zy5oIGIvYmFzZS9hbGxvY2F0b3IvcGFydGl0aW9uX2FsbG9jYXRvci90YWdnaW5nLmgKLWluZGV4 IGFmOTE0NDUyYjExNjIuLmQ0OWUwNjJjZTYzMTkgMTAwNjQ0Ci0tLS0gYS9iYXNlL2FsbG9jYXRv ci9wYXJ0aXRpb25fYWxsb2NhdG9yL3RhZ2dpbmcuaAotKysrIGIvYmFzZS9hbGxvY2F0b3IvcGFy dGl0aW9uX2FsbG9jYXRvci90YWdnaW5nLmgKLUBAIC01NSwzMiArNTUsMTYgQEAgdm9pZCBDaGFu Z2VNZW1vcnlUYWdnaW5nTW9kZUZvckFsbFRocmVhZHNQZXJQcm9jZXNzKFRhZ1Zpb2xhdGlvblJl cG9ydGluZ01vZGUpOwotIFBBX0NPTVBPTkVOVF9FWFBPUlQoUEFSVElUSU9OX0FMTE9DKQotIFRh Z1Zpb2xhdGlvblJlcG9ydGluZ01vZGUgR2V0TWVtb3J5VGFnZ2luZ01vZGVGb3JDdXJyZW50VGhy ZWFkKCk7Ci0gCi0tLy8gQ2FsbGVkIGJ5IHRoZSBwYXJ0aXRpb24gYWxsb2NhdG9yIGFmdGVyIGlu aXRpYWwgc3RhcnR1cCwgdGhpcyBkZXRlY3RzIE1URQotLS8vIHN1cHBvcnQgaW4gdGhlIGN1cnJl bnQgQ1BVIGFuZCByZXBsYWNlcyB0aGUgYWN0aXZlIHRhZ2dpbmcgaW50cmluc2ljcyB3aXRoCi0t Ly8gTVRFIHZlcnNpb25zIGlmIG5lZWRlZC4KLS1QQV9DT01QT05FTlRfRVhQT1JUKFBBUlRJVElP Tl9BTExPQykgdm9pZCBJbml0aWFsaXplTVRFU3VwcG9ydElmTmVlZGVkKCk7Ci0tCi0tLy8gVGhl c2UgZ2xvYmFsIGZ1bmN0aW9uIHBvaW50ZXJzIGhvbGQgdGhlIGltcGxlbWVudGF0aW9ucyBvZiB0 aGUgdGFnZ2luZwotLS8vIGludHJpbnNpY3MgKFRhZ01lbW9yeVJhbmdlUmFuZG9tbHksIFRhZ01l bW9yeVJhbmdlSW5jcmVtZW50LCBSZW1hc2tQdHIpLgotLS8vIFRoZXkgYXJlIGRlc2lnbmVkIHRv IGJlIGNhbGxhYmxlIHdpdGhvdXQgdGFraW5nIGEgYnJhbmNoLiBUaGV5IGFyZSBpbml0aWFsbHkK LS0vLyBzZXQgdG8gbm8tb3AgZnVuY3Rpb25zIGluIHRhZ2dpbmcuY2MsIGJ1dCBjYW4gYmUgcmVw bGFjZWQgd2l0aCBNVEUtY2FwYWJsZQotLS8vIG9uZXMgdGhyb3VnaCBJbml0aWFsaXplTVRFSWZO ZWVkZWQoKS4gVGhpcyBpcyBjb25jZXB0dWFsbHkgc2ltaWxhciB0byBhbgotLS8vIElGVU5DLCBl dmVuIHRob3VnaCBsZXNzIHNlY3VyZS4gVGhlc2UgZnVuY3Rpb24gcG9pbnRlcnMgd2VyZSBpbnRy b2R1Y2VkIHRvCi0tLy8gc3VwcG9ydCBvbGRlciBBbmRyb2lkIHJlbGVhc2VzLiBXaXRoIHRoZSBy ZW1vdmFsIG9mIHN1cHBvcnQgZm9yIEFuZHJvaWQgTSwKLS0vLyBpdCBiZWNhbWUgcG9zc2libGUg dG8gdXNlIElGVU5DIGluc3RlYWQuCi0tLy8gVE9ETyhiYXJ0ZWtuKTogdm9pZCogLT4gdWludHB0 cl90Ci0tdXNpbmcgUmVtYXNrUHRySW50ZXJuYWxGbiA9IHZvaWQqKHZvaWQqIHB0cik7Ci0tdXNp bmcgVGFnTWVtb3J5UmFuZ2VJbmNyZW1lbnRJbnRlcm5hbEZuID0gdm9pZCoodm9pZCogcHRyLCBz aXplX3Qgc2l6ZSk7Ci0tCi0tdXNpbmcgVGFnTWVtb3J5UmFuZ2VSYW5kb21seUludGVybmFsRm4g PSB2b2lkKih2b2lkKiBwdHIsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzaXplX3Qgc2l6ZSwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHVpbnQ2NF90IG1hc2spOwotLWV4dGVybiBQQV9DT01QT05FTlRfRVhQ T1JUKFBBUlRJVElPTl9BTExPQykKLS0gICAgVGFnTWVtb3J5UmFuZ2VSYW5kb21seUludGVybmFs Rm4qIGdsb2JhbF90YWdfbWVtb3J5X3JhbmdlX3JhbmRvbWx5X2ZuOwotLWV4dGVybiBQQV9DT01Q T05FTlRfRVhQT1JUKFBBUlRJVElPTl9BTExPQykKLS0gICAgVGFnTWVtb3J5UmFuZ2VJbmNyZW1l bnRJbnRlcm5hbEZuKiBnbG9iYWxfdGFnX21lbW9yeV9yYW5nZV9pbmNyZW1lbnRfZm47Ci0tZXh0 ZXJuIFBBX0NPTVBPTkVOVF9FWFBPUlQoUEFSVElUSU9OX0FMTE9DKQotLSAgICBSZW1hc2tQdHJJ bnRlcm5hbEZuKiBnbG9iYWxfcmVtYXNrX3ZvaWRfcHRyX2ZuOwotKy8vIFRoZXNlIGZvcndhcmQt ZGVmaW5lZCBmdW5jdGlvbnMgZG8gbm90IHJlYWxseSBleGlzdCBpbiB0YWdnaW5nLmNjLCB0aGV5 J3JlIHJlc29sdmVkCi0rLy8gYnkgdGhlIGR5bmFtaWMgbGlua2VyIHRvIE1URS1jYXBhYmxlIHZl cnNpb25zIG9uIHRoZSByaWdodCBoYXJkd2FyZS4KLSsjaWYgUEFfQ09ORklHKEhBU19NRU1PUllf VEFHR0lORykKLStQQV9DT01QT05FTlRfRVhQT1JUKFBBUlRJVElPTl9BTExPQykKLSt2b2lkKiBU YWdNZW1vcnlSYW5nZUluY3JlbWVudEludGVybmFsKHZvaWQqIHB0ciwgc2l6ZV90IHNpemUpOwot K1BBX0NPTVBPTkVOVF9FWFBPUlQoUEFSVElUSU9OX0FMTE9DKQotK3ZvaWQqIFRhZ01lbW9yeVJh bmdlUmFuZG9tbHlJbnRlcm5hbCh2b2lkKiBwdHIsIHNpemVfdCBzaXplLCB1aW50NjRfdCBtYXNr KTsKLStQQV9DT01QT05FTlRfRVhQT1JUKFBBUlRJVElPTl9BTExPQykKLSt2b2lkKiBSZW1hc2tQ b2ludGVySW50ZXJuYWwodm9pZCogcHRyKTsKLSsjZW5kaWYKLSAKLSAvLyBJbmNyZW1lbnRzIHRo ZSB0YWcgb2YgdGhlIG1lbW9yeSByYW5nZSBwdHIuIFVzZWZ1bCBmb3IgcHJvdmFibGUgcmV2b2Nh dGlvbnMKLSAvLyAoZS5nLiBmcmVlKS4gUmV0dXJucyB0aGUgcG9pbnRlciB3aXRoIHRoZSBuZXcg dGFnLiBFbnN1cmVzIHRoYXQgdGhlIGVudGlyZQotQEAgLTkwLDcgKzc0LDcgQEAgZXh0ZXJuIFBB X0NPTVBPTkVOVF9FWFBPUlQoUEFSVElUSU9OX0FMTE9DKQotIHRlbXBsYXRlIDx0eXBlbmFtZSBU PgotIFBBX0FMV0FZU19JTkxJTkUgVCogVGFnTWVtb3J5UmFuZ2VJbmNyZW1lbnQoVCogcHRyLCBz aXplX3Qgc2l6ZSkgewotICNpZiBQQV9DT05GSUcoSEFTX01FTU9SWV9UQUdHSU5HKQotLSAgcmV0 dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8VCo+KGdsb2JhbF90YWdfbWVtb3J5X3JhbmdlX2luY3JlbWVu dF9mbihwdHIsIHNpemUpKTsKLSsgIHJldHVybiByZWludGVycHJldF9jYXN0PFQqPihUYWdNZW1v cnlSYW5nZUluY3JlbWVudEludGVybmFsKHB0ciwgc2l6ZSkpOwotICNlbHNlCi0gICByZXR1cm4g cHRyOwotICNlbmRpZgotQEAgLTEwOCw4ICs5Miw3IEBAIFBBX0FMV0FZU19JTkxJTkUgVCogVGFn TWVtb3J5UmFuZ2VSYW5kb21seShUKiBwdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHNpemVfdCBzaXplLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB1aW50NjRfdCBtYXNrID0gMHUpIHsKLSAjaWYgUEFfQ09ORklHKEhB U19NRU1PUllfVEFHR0lORykKLS0gIHJldHVybiByZWludGVycHJldF9jYXN0PFQqPigKLS0gICAg ICBnbG9iYWxfdGFnX21lbW9yeV9yYW5nZV9yYW5kb21seV9mbihwdHIsIHNpemUsIG1hc2spKTsK LSsgIHJldHVybiByZWludGVycHJldF9jYXN0PFQqPihUYWdNZW1vcnlSYW5nZVJhbmRvbWx5SW50 ZXJuYWwocHRyLCBzaXplLCBtYXNrKSk7Ci0gI2Vsc2UKLSAgIHJldHVybiBwdHI7Ci0gI2VuZGlm Ci1AQCAtMTI0LDcgKzEwNyw3IEBAIFBBX0FMV0FZU19JTkxJTkUgdm9pZCogVGFnTWVtb3J5UmFu Z2VSYW5kb21seSh1aW50cHRyX3QgcHRyLAotIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgotIFBBX0FM V0FZU19JTkxJTkUgVCogVGFnUHRyKFQqIHB0cikgewotICNpZiBQQV9DT05GSUcoSEFTX01FTU9S WV9UQUdHSU5HKQotLSAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8VCo+KGdsb2JhbF9yZW1hc2tf dm9pZF9wdHJfZm4ocHRyKSk7Ci0rICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxUKj4oUmVtYXNr UG9pbnRlckludGVybmFsKHB0cikpOwotICNlbHNlCi0gICByZXR1cm4gcHRyOwotICNlbmRpZgot ZGlmZiAtLWdpdCBhL2Jhc2UvYWxsb2NhdG9yL3BhcnRpdGlvbl9hbGxvY2F0b3IvdGFnZ2luZ191 bml0dGVzdC5jYyBiL2Jhc2UvYWxsb2NhdG9yL3BhcnRpdGlvbl9hbGxvY2F0b3IvdGFnZ2luZ191 bml0dGVzdC5jYwotaW5kZXggZjNiODUzMmE4ZjFmNC4uNDdmNjJhYzAwMGI0MyAxMDA2NDQKLS0t LSBhL2Jhc2UvYWxsb2NhdG9yL3BhcnRpdGlvbl9hbGxvY2F0b3IvdGFnZ2luZ191bml0dGVzdC5j YwotKysrIGIvYmFzZS9hbGxvY2F0b3IvcGFydGl0aW9uX2FsbG9jYXRvci90YWdnaW5nX3VuaXR0 ZXN0LmNjCi1AQCAtMTYsNyArMTYsNiBAQCBuYW1lc3BhY2UgcGFydGl0aW9uX2FsbG9jOjppbnRl cm5hbCB7Ci0gCi0gLy8gQ2hlY2sgd2hldGhlciB3ZSBjYW4gY2FsbCB0aGUgdGFnZ2luZyBpbnRy aW5zaWNzIHNhZmVseSBvbiBhbGwgYXJjaGl0ZWN0dXJlcy4KLSBURVNUKFBhcnRpdGlvbkFsbG9j TWVtb3J5VGFnZ2luZ1Rlc3QsIFRhZ01lbW9yeVJhbmdlUmFuZG9tbHlTYWZlKSB7Ci0tICA6OnBh cnRpdGlvbl9hbGxvYzo6aW50ZXJuYWw6OkluaXRpYWxpemVNVEVTdXBwb3J0SWZOZWVkZWQoKTsK LSAgIHVpbnRwdHJfdCBidWZmZXIgPQotICAgICAgIEFsbG9jUGFnZXMoUGFnZUFsbG9jYXRpb25H cmFudWxhcml0eSgpLCBQYWdlQWxsb2NhdGlvbkdyYW51bGFyaXR5KCksCi0gICAgICAgICAgICAg ICAgICBQYWdlQWNjZXNzaWJpbGl0eUNvbmZpZ3VyYXRpb24oCi1AQCAtMzIsNyArMzEsNiBAQCBU RVNUKFBhcnRpdGlvbkFsbG9jTWVtb3J5VGFnZ2luZ1Rlc3QsIFRhZ01lbW9yeVJhbmdlUmFuZG9t bHlTYWZlKSB7Ci0gfQotIAotIFRFU1QoUGFydGl0aW9uQWxsb2NNZW1vcnlUYWdnaW5nVGVzdCwg VGFnTWVtb3J5UmFuZ2VJbmNyZW1lbnRTYWZlKSB7Ci0tICA6OnBhcnRpdGlvbl9hbGxvYzo6aW50 ZXJuYWw6OkluaXRpYWxpemVNVEVTdXBwb3J0SWZOZWVkZWQoKTsKLSAgIGJhc2U6OkNQVSBjcHU7 Ci0gICB1aW50cHRyX3QgYnVmZmVyID0KLSAgICAgICBBbGxvY1BhZ2VzKFBhZ2VBbGxvY2F0aW9u R3JhbnVsYXJpdHkoKSwgUGFnZUFsbG9jYXRpb25HcmFudWxhcml0eSgpLAotQEAgLTU0LDcgKzUy LDYgQEAgVEVTVChQYXJ0aXRpb25BbGxvY01lbW9yeVRhZ2dpbmdUZXN0LCBUYWdNZW1vcnlSYW5n ZUluY3JlbWVudFNhZmUpIHsKLSAjaWYgZGVmaW5lZChBUkNIX0NQVV82NF9CSVRTKQotIC8vIFNp emUgLyBhbGlnbm1lbnQgY29uc3RyYWludHMgYXJlIG9ubHkgZW5mb3JjZWQgb24gNjQtYml0IGFy Y2hpdGVjdHVyZXMuCi0gVEVTVChQYXJ0aXRpb25BbGxvY01lbW9yeVRhZ2dpbmdUZXN0LCBUYWdN ZW1vcnlSYW5nZUJhZFN6KSB7Ci0tICA6OnBhcnRpdGlvbl9hbGxvYzo6aW50ZXJuYWw6OkluaXRp YWxpemVNVEVTdXBwb3J0SWZOZWVkZWQoKTsKLSAgIGJhc2U6OkNQVSBjcHU7Ci0gICB1aW50cHRy X3QgYnVmZmVyID0KLSAgICAgICBBbGxvY1BhZ2VzKFBhZ2VBbGxvY2F0aW9uR3JhbnVsYXJpdHko KSwgUGFnZUFsbG9jYXRpb25HcmFudWxhcml0eSgpLAotQEAgLTcxLDcgKzY4LDYgQEAgVEVTVChQ YXJ0aXRpb25BbGxvY01lbW9yeVRhZ2dpbmdUZXN0LCBUYWdNZW1vcnlSYW5nZUJhZFN6KSB7Ci0g fQotIAotIFRFU1QoUGFydGl0aW9uQWxsb2NNZW1vcnlUYWdnaW5nVGVzdCwgVGFnTWVtb3J5UmFu Z2VSYW5kb21seU5vU3opIHsKLS0gIDo6cGFydGl0aW9uX2FsbG9jOjppbnRlcm5hbDo6SW5pdGlh bGl6ZU1URVN1cHBvcnRJZk5lZWRlZCgpOwotICAgYmFzZTo6Q1BVIGNwdTsKLSAgIHVpbnRwdHJf dCBidWZmZXIgPQotICAgICAgIEFsbG9jUGFnZXMoUGFnZUFsbG9jYXRpb25HcmFudWxhcml0eSgp LCBQYWdlQWxsb2NhdGlvbkdyYW51bGFyaXR5KCksCi1AQCAtODcsNyArODMsNiBAQCBURVNUKFBh cnRpdGlvbkFsbG9jTWVtb3J5VGFnZ2luZ1Rlc3QsIFRhZ01lbW9yeVJhbmdlUmFuZG9tbHlOb1N6 KSB7Ci0gfQotIAotIFRFU1QoUGFydGl0aW9uQWxsb2NNZW1vcnlUYWdnaW5nVGVzdCwgVGFnTWVt b3J5UmFuZ2VSYW5kb21seUJhZEFsaWduKSB7Ci0tICA6OnBhcnRpdGlvbl9hbGxvYzo6aW50ZXJu YWw6OkluaXRpYWxpemVNVEVTdXBwb3J0SWZOZWVkZWQoKTsKLSAgIGJhc2U6OkNQVSBjcHU7Ci0g ICB1aW50cHRyX3QgYnVmZmVyID0KLSAgICAgICBBbGxvY1BhZ2VzKFBhZ2VBbGxvY2F0aW9uR3Jh bnVsYXJpdHkoKSwgUGFnZUFsbG9jYXRpb25HcmFudWxhcml0eSgpLAotQEAgLTEwNCw3ICs5OSw2 IEBAIFRFU1QoUGFydGl0aW9uQWxsb2NNZW1vcnlUYWdnaW5nVGVzdCwgVGFnTWVtb3J5UmFuZ2VS YW5kb21seUJhZEFsaWduKSB7Ci0gfQotIAotIFRFU1QoUGFydGl0aW9uQWxsb2NNZW1vcnlUYWdn aW5nVGVzdCwgVGFnTWVtb3J5UmFuZ2VJbmNyZW1lbnRCYWRTeikgewotLSAgOjpwYXJ0aXRpb25f YWxsb2M6OmludGVybmFsOjpJbml0aWFsaXplTVRFU3VwcG9ydElmTmVlZGVkKCk7Ci0gICBiYXNl OjpDUFUgY3B1OwotICAgdWludHB0cl90IGJ1ZmZlciA9Ci0gICAgICAgQWxsb2NQYWdlcyhQYWdl QWxsb2NhdGlvbkdyYW51bGFyaXR5KCksIFBhZ2VBbGxvY2F0aW9uR3JhbnVsYXJpdHkoKSwKLUBA IC0xMjAsNyArMTE0LDYgQEAgVEVTVChQYXJ0aXRpb25BbGxvY01lbW9yeVRhZ2dpbmdUZXN0LCBU YWdNZW1vcnlSYW5nZUluY3JlbWVudEJhZFN6KSB7Ci0gfQotIAotIFRFU1QoUGFydGl0aW9uQWxs b2NNZW1vcnlUYWdnaW5nVGVzdCwgVGFnTWVtb3J5UmFuZ2VJbmNyZW1lbnROb1N6KSB7Ci0tICA6 OnBhcnRpdGlvbl9hbGxvYzo6aW50ZXJuYWw6OkluaXRpYWxpemVNVEVTdXBwb3J0SWZOZWVkZWQo KTsKLSAgIGJhc2U6OkNQVSBjcHU7Ci0gICB1aW50cHRyX3QgYnVmZmVyID0KLSAgICAgICBBbGxv Y1BhZ2VzKFBhZ2VBbGxvY2F0aW9uR3JhbnVsYXJpdHkoKSwgUGFnZUFsbG9jYXRpb25HcmFudWxh cml0eSgpLAotQEAgLTEzNiw3ICsxMjksNiBAQCBURVNUKFBhcnRpdGlvbkFsbG9jTWVtb3J5VGFn Z2luZ1Rlc3QsIFRhZ01lbW9yeVJhbmdlSW5jcmVtZW50Tm9TeikgewotIH0KLSAKLSBURVNUKFBh cnRpdGlvbkFsbG9jTWVtb3J5VGFnZ2luZ1Rlc3QsIFRhZ01lbW9yeVJhbmdlSW5jcmVtZW50QmFk QWxpZ24pIHsKLS0gIDo6cGFydGl0aW9uX2FsbG9jOjppbnRlcm5hbDo6SW5pdGlhbGl6ZU1URVN1 cHBvcnRJZk5lZWRlZCgpOwotICAgYmFzZTo6Q1BVIGNwdTsKLSAgIHVpbnRwdHJfdCBidWZmZXIg PQotICAgICAgIEFsbG9jUGFnZXMoUGFnZUFsbG9jYXRpb25HcmFudWxhcml0eSgpLCBQYWdlQWxs b2NhdGlvbkdyYW51bGFyaXR5KCksCgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0tMTE1LXN5c3RlbS1i cm90bGkucGF0Y2ggYi9jaHJvbWl1bS0xMTUtc3lzdGVtLWJyb3RsaS5wYXRjaApkZWxldGVkIGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggYzgwYzY5ZS4uMDAwMDAwMAotLS0gYS9jaHJvbWl1bS0xMTUt c3lzdGVtLWJyb3RsaS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM2ICswLDAgQEAKLWRpZmYg LXVwIGNocm9taXVtLTExNS4wLjU3OTAuMjQvbmV0L2ZpbHRlci9icm90bGlfc291cmNlX3N0cmVh bS5jYy5zeXN0ZW0tYnJvdGxpIGNocm9taXVtLTExNS4wLjU3OTAuMjQvbmV0L2ZpbHRlci9icm90 bGlfc291cmNlX3N0cmVhbS5jYwotLS0tIGNocm9taXVtLTExNS4wLjU3OTAuMjQvbmV0L2ZpbHRl ci9icm90bGlfc291cmNlX3N0cmVhbS5jYy5zeXN0ZW0tYnJvdGxpCTIwMjMtMDYtMDcgMjE6NDg6 MzguMDAwMDAwMDAwICswMjAwCi0rKysgY2hyb21pdW0tMTE1LjAuNTc5MC4yNC9uZXQvZmlsdGVy L2Jyb3RsaV9zb3VyY2Vfc3RyZWFtLmNjCTIwMjMtMDYtMTcgMTQ6NDI6MTkuNzM0Mjk5OTI5ICsw MjAwCi1AQCAtMTAsNyArMTAsNyBAQAotICNpbmNsdWRlICJiYXNlL21lbW9yeS9yYXdfcHRyLmgi Ci0gI2luY2x1ZGUgImJhc2UvbWV0cmljcy9oaXN0b2dyYW1fbWFjcm9zLmgiCi0gI2luY2x1ZGUg Im5ldC9iYXNlL2lvX2J1ZmZlci5oIgotLSNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9icm90bGkvaW5j bHVkZS9icm90bGkvZGVjb2RlLmgiCi0rI2luY2x1ZGUgPGJyb3RsaS9kZWNvZGUuaD4KLSAKLSBu YW1lc3BhY2UgbmV0IHsKLSAKLWRpZmYgLXVwIGNocm9taXVtLTExNS4wLjU3OTAuMjQvbmV0L3Nz bC9jZXJ0X2NvbXByZXNzaW9uLmNjLnN5c3RlbS1icm90bGkgY2hyb21pdW0tMTE1LjAuNTc5MC4y NC9uZXQvc3NsL2NlcnRfY29tcHJlc3Npb24uY2MKLS0tLSBjaHJvbWl1bS0xMTUuMC41NzkwLjI0 L25ldC9zc2wvY2VydF9jb21wcmVzc2lvbi5jYy5zeXN0ZW0tYnJvdGxpCTIwMjMtMDYtMDcgMjE6 NDg6MzguMDAwMDAwMDAwICswMjAwCi0rKysgY2hyb21pdW0tMTE1LjAuNTc5MC4yNC9uZXQvc3Ns L2NlcnRfY29tcHJlc3Npb24uY2MJMjAyMy0wNi0xNyAxNDo0MjoxOS43MzQyOTk5MjkgKzAyMDAK LUBAIC05LDcgKzksNyBAQAotICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL2lu Y2x1ZGUvb3BlbnNzbC9zc2wuaCIKLSAKLSAjaWYgIWRlZmluZWQoTkVUX0RJU0FCTEVfQlJPVExJ KQotLSNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9icm90bGkvaW5jbHVkZS9icm90bGkvZGVjb2RlLmgi Ci0rI2luY2x1ZGUgPGJyb3RsaS9kZWNvZGUuaD4KLSAjZW5kaWYKLSAKLSBuYW1lc3BhY2UgbmV0 IHsKLWRpZmYgLXVwIGNocm9taXVtLTExNS4wLjU3OTAuMjQvdWkvYmFzZS9yZXNvdXJjZS9yZXNv dXJjZV9idW5kbGUuY2Muc3lzdGVtLWJyb3RsaSBjaHJvbWl1bS0xMTUuMC41NzkwLjI0L3VpL2Jh c2UvcmVzb3VyY2UvcmVzb3VyY2VfYnVuZGxlLmNjCi0tLS0gY2hyb21pdW0tMTE1LjAuNTc5MC4y NC91aS9iYXNlL3Jlc291cmNlL3Jlc291cmNlX2J1bmRsZS5jYy5zeXN0ZW0tYnJvdGxpCTIwMjMt MDYtMTcgMTQ6NDI6MTkuNzM0Mjk5OTI5ICswMjAwCi0rKysgY2hyb21pdW0tMTE1LjAuNTc5MC4y NC91aS9iYXNlL3Jlc291cmNlL3Jlc291cmNlX2J1bmRsZS5jYwkyMDIzLTA2LTE3IDE0OjQ0OjE4 LjU5MTAwMjExOSArMDIwMAotQEAgLTMyLDcgKzMyLDcgQEAKLSAjaW5jbHVkZSAibmV0L2ZpbHRl ci9nemlwX2hlYWRlci5oIgotICNpbmNsdWRlICJza2lhL2V4dC9pbWFnZV9vcGVyYXRpb25zLmgi Ci0gI2luY2x1ZGUgInRoaXJkX3BhcnR5L2Fic2VpbC1jcHAvYWJzbC90eXBlcy92YXJpYW50Lmgi Ci0tI2luY2x1ZGUgInRoaXJkX3BhcnR5L2Jyb3RsaS9pbmNsdWRlL2Jyb3RsaS9kZWNvZGUuaCIK LSsjaW5jbHVkZSA8YnJvdGxpL2RlY29kZS5oPgotICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9za2lh L2luY2x1ZGUvY29yZS9Ta0JpdG1hcC5oIgotICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9za2lhL2lu Y2x1ZGUvY29yZS9Ta0NvbG9yLmgiCi0gI2luY2x1ZGUgInRoaXJkX3BhcnR5L3psaWIvZ29vZ2xl L2NvbXByZXNzaW9uX3V0aWxzLmgiCgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0tMTE1LXR5cGVuYW1l LnBhdGNoIGIvY2hyb21pdW0tMTE1LXR5cGVuYW1lLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEw MDY0NAppbmRleCBmYzcwNDIwLi4wMDAwMDAwCi0tLSBhL2Nocm9taXVtLTExNS10eXBlbmFtZS5w YXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ4ICswLDAgQEAKLWRpZmYgLXVwIGNocm9taXVtLTEx NS4wLjU3OTAuMjQvY2hyb21lL2Jyb3dzZXIvZG93bmxvYWQvYnViYmxlL2Rvd25sb2FkX2J1YmJs ZV91cGRhdGVfc2VydmljZS5jYy50eXBlbmFtZSBjaHJvbWl1bS0xMTUuMC41NzkwLjI0L2Nocm9t ZS9icm93c2VyL2Rvd25sb2FkL2J1YmJsZS9kb3dubG9hZF9idWJibGVfdXBkYXRlX3NlcnZpY2Uu Y2MKLS0tLSBjaHJvbWl1bS0xMTUuMC41NzkwLjI0L2Nocm9tZS9icm93c2VyL2Rvd25sb2FkL2J1 YmJsZS9kb3dubG9hZF9idWJibGVfdXBkYXRlX3NlcnZpY2UuY2MudHlwZW5hbWUJMjAyMy0wNi0x NyAxNDo1MDo1Ni4zNDI1OTE3MDIgKzAyMDAKLSsrKyBjaHJvbWl1bS0xMTUuMC41NzkwLjI0L2No cm9tZS9icm93c2VyL2Rvd25sb2FkL2J1YmJsZS9kb3dubG9hZF9idWJibGVfdXBkYXRlX3NlcnZp Y2UuY2MJMjAyMy0wNi0xNyAxNDo1Nzo0OC4wMjQzNzczNzUgKzAyMDAKLUBAIC05MSw3ICs5MSw3 IEBAIEl0ZW1Tb3J0S2V5IEdldFNvcnRLZXkoY29uc3QgSXRlbSYgaXRlbSkKLSAvLyBIZWxwZXIg dG8gZ2V0IGFuIGl0ZXJhdG9yIHRvIHRoZSBsYXN0IGVsZW1lbnQgaW4gdGhlIGNhY2hlLiBUaGUg Y2FjaGUKLSAvLyBtdXN0IG5vdCBiZSBlbXB0eS4KLSB0ZW1wbGF0ZSA8dHlwZW5hbWUgSXRlbT4K LS1Tb3J0ZWRJdGVtczxJdGVtPjo6Y29uc3RfaXRlcmF0b3IgR2V0TGFzdEl0ZXIoY29uc3QgU29y dGVkSXRlbXM8SXRlbT4mIGNhY2hlKSB7Ci0rdHlwZW5hbWUgU29ydGVkSXRlbXM8SXRlbT46OmNv bnN0X2l0ZXJhdG9yIEdldExhc3RJdGVyKGNvbnN0IFNvcnRlZEl0ZW1zPEl0ZW0+JiBjYWNoZSkg ewotICAgQ0hFQ0soIWNhY2hlLmVtcHR5KCkpOwotICAgYXV0byBpdCA9IGNhY2hlLmVuZCgpOwot ICAgcmV0dXJuIHN0ZDo6cHJldihpdCk7Ci1AQCAtOTY3LDkgKzk2Nyw5IEBAIGJvb2wgRG93bmxv YWRCdWJibGVVcGRhdGVTZXJ2aWNlOjpDYWNoZU0KLSB9Ci0gCi0gdGVtcGxhdGUgPHR5cGVuYW1l IElkLCB0eXBlbmFtZSBJdGVtPgotLVNvcnRlZEl0ZW1zPEl0ZW0+OjppdGVyYXRvcgotK3R5cGVu YW1lIFNvcnRlZEl0ZW1zPEl0ZW0+OjppdGVyYXRvcgotIERvd25sb2FkQnViYmxlVXBkYXRlU2Vy dmljZTo6Q2FjaGVNYW5hZ2VyOjpSZW1vdmVJdGVtRnJvbUNhY2hlQnlJdGVyKAotLSAgICBTb3J0 ZWRJdGVtczxJdGVtPjo6aXRlcmF0b3IgaXRlciwKLSsgICAgdHlwZW5hbWUgU29ydGVkSXRlbXM8 SXRlbT46Oml0ZXJhdG9yIGl0ZXIsCi0gICAgIFNvcnRlZEl0ZW1zPEl0ZW0+JiBjYWNoZSwKLSAg ICAgSXRlck1hcDxJZCwgSXRlbT4mIGl0ZXJfbWFwKSB7Ci0gICBDSEVDSyhpdGVyICE9IGNhY2hl LmVuZCgpKTsKLWRpZmYgLXVwIGNocm9taXVtLTExNS4wLjU3OTAuMzIvY29tcG9uZW50cy9vcHRp bWl6YXRpb25fZ3VpZGUvY29yZS90ZmxpdGVfbW9kZWxfZXhlY3V0b3IuaC5tZSBjaHJvbWl1bS0x MTUuMC41NzkwLjMyL2NvbXBvbmVudHMvb3B0aW1pemF0aW9uX2d1aWRlL2NvcmUvdGZsaXRlX21v ZGVsX2V4ZWN1dG9yLmgKLS0tLSBjaHJvbWl1bS0xMTUuMC41NzkwLjMyL2NvbXBvbmVudHMvb3B0 aW1pemF0aW9uX2d1aWRlL2NvcmUvdGZsaXRlX21vZGVsX2V4ZWN1dG9yLmgubWUJMjAyMy0wNi0x OCAyMTo1Mjo1My41MTU2MjUyMzcgKzAyMDAKLSsrKyBjaHJvbWl1bS0xMTUuMC41NzkwLjMyL2Nv bXBvbmVudHMvb3B0aW1pemF0aW9uX2d1aWRlL2NvcmUvdGZsaXRlX21vZGVsX2V4ZWN1dG9yLmgJ MjAyMy0wNi0xOCAyMTo1MzowNi44ODE4ODEyOTMgKzAyMDAKLUBAIC0xODksNyArMTg5LDcgQEAg Y2xhc3MgVEZMaXRlTW9kZWxFeGVjdXRvciA6IHB1YmxpYyBNb2RlbAotICAgdm9pZCBTZW5kRm9y QmF0Y2hFeGVjdXRpb24oCi0gICAgICAgQmF0Y2hFeGVjdXRpb25DYWxsYmFjayBjYWxsYmFja19v bl9jb21wbGV0ZSwKLSAgICAgICBiYXNlOjpUaW1lVGlja3Mgc3RhcnRfdGltZSwKLS0gICAgICBN b2RlbEV4ZWN1dG9yPE91dHB1dFR5cGUsIElucHV0VHlwZT46OkNvbnN0UmVmSW5wdXRWZWN0b3Ig aW5wdXRzKQotKyAgICAgIHR5cGVuYW1lIE1vZGVsRXhlY3V0b3I8T3V0cHV0VHlwZSwgSW5wdXRU eXBlPjo6Q29uc3RSZWZJbnB1dFZlY3RvciBpbnB1dHMpCi0gICAgICAgb3ZlcnJpZGUgewotICAg ICBEQ0hFQ0soZXhlY3V0aW9uX3Rhc2tfcnVubmVyXy0+UnVuc1Rhc2tzSW5DdXJyZW50U2VxdWVu Y2UoKSk7Ci0gICAgIERDSEVDS19DQUxMRURfT05fVkFMSURfU0VRVUVOQ0Uoc2VxdWVuY2VfY2hl Y2tlcl8pOwotZGlmZiAtdXAgY2hyb21pdW0tMTE1LjAuNTc5MC4zMi90aGlyZF9wYXJ0eS9ibGlu ay9yZW5kZXJlci9jb3JlL2h0bWwvcGFyc2VyL2h0bWxfZG9jdW1lbnRfcGFyc2VyX2Zhc3RwYXRo LmNjLm1lMSBjaHJvbWl1bS0xMTUuMC41NzkwLjMyL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVy L2NvcmUvaHRtbC9wYXJzZXIvaHRtbF9kb2N1bWVudF9wYXJzZXJfZmFzdHBhdGguY2MKLS0tLSBj aHJvbWl1bS0xMTUuMC41NzkwLjMyL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvaHRt bC9wYXJzZXIvaHRtbF9kb2N1bWVudF9wYXJzZXJfZmFzdHBhdGguY2MubWUxCTIwMjMtMDYtMTkg MTA6MDM6MzIuMzE5MjE4Njc4ICswMjAwCi0rKysgY2hyb21pdW0tMTE1LjAuNTc5MC4zMi90aGly ZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL2h0bWwvcGFyc2VyL2h0bWxfZG9jdW1lbnRfcGFy c2VyX2Zhc3RwYXRoLmNjCTIwMjMtMDYtMTkgMTA6MDQ6MTIuMDIzOTQyMjMyICswMjAwCi1AQCAt MTY5LDcgKzE2OSw3IEBAIGNsYXNzIEhUTUxGYXN0UGF0aFBhcnNlciB7Ci0gICB1c2luZyBTcGFu ID0gYmFzZTo6c3Bhbjxjb25zdCBDaGFyPjsKLSAgIHVzaW5nIFVTcGFuID0gYmFzZTo6c3Bhbjxj b25zdCBVQ2hhcj47Ci0gICAvLyAzMiBtYXRjaGVzIHRoYXQgdXNlZCBieSBIVE1MVG9rZW46OkF0 dHJpYnV0ZS4KLS0gIHR5cGVkZWYgc3RkOjpjb25kaXRpb25hbDxzdGQ6OmlzX3NhbWVfdjxDaGFy LCBVQ2hhcj4sCi0rICB0eXBlZGVmIHR5cGVuYW1lIHN0ZDo6Y29uZGl0aW9uYWw8c3RkOjppc19z YW1lX3Y8Q2hhciwgVUNoYXI+LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVDaGFyTGl0 ZXJhbEJ1ZmZlcjwzMj4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgTENoYXJMaXRlcmFs QnVmZmVyPDMyPj46OnR5cGUgTGl0ZXJhbEJ1ZmZlclR5cGU7Ci0gICB0eXBlZGVmIFVDaGFyTGl0 ZXJhbEJ1ZmZlcjwzMj4gVUNoYXJMaXRlcmFsQnVmZmVyVHlwZTsKCmRpZmYgLS1naXQgYS9jaHJv bWl1bS0xMTUtd2F5bGFuZC1sb2FkX2RlZmF1bHRfY3Vyc29yX3RoZW1lLnBhdGNoIGIvY2hyb21p dW0tMTE1LXdheWxhbmQtbG9hZF9kZWZhdWx0X2N1cnNvcl90aGVtZS5wYXRjaApkZWxldGVkIGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggNmY0Nzc3NC4uMDAwMDAwMAotLS0gYS9jaHJvbWl1bS0xMTUt d2F5bGFuZC1sb2FkX2RlZmF1bHRfY3Vyc29yX3RoZW1lLnBhdGNoCisrKyAvZGV2L251bGwKQEAg LTEsMzEgKzAsMCBAQAotY29tbWl0IDhmNDZhZDQ5OWQ4ZjhhZmQ1NmJmNWM4MmNiYmNhZDY3Mjg1 ZWQ4YWEKLUF1dGhvcjogUGhhbiBRdWFuZyBNaW5oIDxwaGFucXVhbmdtaW5oMjE3QGdtYWlsLmNv bT4KLURhdGU6ICAgV2VkIE1heSAyNCAxMDoxMzo0NSAyMDIzICswMDAwCi0KLSAgICBvem9uZS93 YXlsYW5kOiBMb2FkIGRlZmF1bHQgY3Vyc29yIHRoZW1lIGlmIHRoZW1lIG5hbWUgaXMgZW1wdHkK LSAgICAKLSAgICBXZSBtaWdodCBuZWVkIHRvIGxvYWQgdGhlIGN1cnNvciB0aGVtZSBldmVuIGlm IGBPbkN1cnNvclRoZW1lTmFtZWAgbmV2ZXIKLSAgICBnZXRzIGNhbGxlZCAoZS5nLiBRdCB0aGVt ZSBiYWNrZW5kKS4gSW4gdGhpcyBjYXNlIHdlIHdpbGwgbmVlZCB0byBsb2FkCi0gICAgdGhlIGRl ZmF1bHQgdGhlbWUgYnkgcGFzc2luZyBgTlVMTGAgdG8gd2xfY3Vyc29yX3RoZW1lX2xvYWQuCi0g ICAgCi0gICAgQ2hhbmdlLUlkOiBJMGUxODE0MTc4MzE5NzM0YTRkMGZlNzU3NGNkYzhjN2ExZDFj ZjdhNQotICAgIFJldmlld2VkLW9uOiBodHRwczovL2Nocm9taXVtLXJldmlldy5nb29nbGVzb3Vy Y2UuY29tL2MvY2hyb21pdW0vc3JjLysvNDU1MzY1OQotICAgIFJldmlld2VkLWJ5OiBBbnRvbmlv IEdvbWVzIDx0b25pa2l0b29AaWdhbGlhLmNvbT4KLSAgICBSZXZpZXdlZC1ieTogTWFrc2ltIFNp c292IDxtc2lzb3ZAaWdhbGlhLmNvbT4KLSAgICBDb21taXQtUXVldWU6IE1ha3NpbSBTaXNvdiA8 bXNpc292QGlnYWxpYS5jb20+Ci0gICAgQ3ItQ29tbWl0LVBvc2l0aW9uOiByZWZzL2hlYWRzL21h aW5AeyMxMTQ4NDQxfQotCi1kaWZmIC0tZ2l0IGEvdWkvb3pvbmUvcGxhdGZvcm0vd2F5bGFuZC9o b3N0L3dheWxhbmRfY3Vyc29yX2ZhY3RvcnkuY2MgYi91aS9vem9uZS9wbGF0Zm9ybS93YXlsYW5k L2hvc3Qvd2F5bGFuZF9jdXJzb3JfZmFjdG9yeS5jYwotaW5kZXggOWFiMTJiMTk5NGM2OC4uMTFi MTYyNTU0YWJjOCAxMDA2NDQKLS0tLSBhL3VpL296b25lL3BsYXRmb3JtL3dheWxhbmQvaG9zdC93 YXlsYW5kX2N1cnNvcl9mYWN0b3J5LmNjCi0rKysgYi91aS9vem9uZS9wbGF0Zm9ybS93YXlsYW5k L2hvc3Qvd2F5bGFuZF9jdXJzb3JfZmFjdG9yeS5jYwotQEAgLTIzMCw3ICsyMzAsOCBAQCB2b2lk IFdheWxhbmRDdXJzb3JGYWN0b3J5OjpNYXliZUxvYWRUaGVtZUN1cnNvcnMoKSB7Ci0gICBiYXNl OjpUaHJlYWRQb29sOjpQb3N0VGFza0FuZFJlcGx5V2l0aFJlc3VsdCgKLSAgICAgICBGUk9NX0hF UkUsCi0gICAgICAge2Jhc2U6Ok1heUJsb2NrKCksIGJhc2U6OlRhc2tTaHV0ZG93bkJlaGF2aW9y OjpTS0lQX09OX1NIVVRET1dOfSwKLS0gICAgICBiYXNlOjpCaW5kT25jZSh3bF9jdXJzb3JfdGhl bWVfbG9hZCwgbmFtZV8uY19zdHIoKSwgR2V0Q2FjaGVLZXkoKSwKLSsgICAgICBiYXNlOjpCaW5k T25jZSh3bF9jdXJzb3JfdGhlbWVfbG9hZCwKLSsgICAgICAgICAgICAgICAgICAgICBuYW1lXy5l bXB0eSgpID8gbnVsbHB0ciA6IG5hbWVfLmNfc3RyKCksIEdldENhY2hlS2V5KCksCi0gICAgICAg ICAgICAgICAgICAgICAgY29ubmVjdGlvbl8tPmJ1ZmZlcl9mYWN0b3J5KCktPnNobSgpKSwKLSAg ICAgICBiYXNlOjpCaW5kT25jZSgmV2F5bGFuZEN1cnNvckZhY3Rvcnk6Ok9uVGhlbWVMb2FkZWQs Ci0gICAgICAgICAgICAgICAgICAgICAgd2Vha19mYWN0b3J5Xy5HZXRXZWFrUHRyKCksIG5hbWVf LCBzaXplXykpOwoKZGlmZiAtLWdpdCBhL2Nocm9taXVtLTExNi1hcm02NC1tZW1vcnlfdGFnZ2lu Zy5wYXRjaCBiL2Nocm9taXVtLTExNi1hcm02NC1tZW1vcnlfdGFnZ2luZy5wYXRjaApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNjljZGE4Ci0tLSAvZGV2L251bGwKKysrIGIv Y2hyb21pdW0tMTE2LWFybTY0LW1lbW9yeV90YWdnaW5nLnBhdGNoCkBAIC0wLDAgKzEsMTQgQEAK K2RpZmYgLXVwIGNocm9taXVtLTExNi4wLjU4NDUuNTAvYmFzZS9hbGxvY2F0b3IvcGFydGl0aW9u X2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2NfY29uZmlnLmgubWUgY2hyb21pdW0tMTE2LjAuNTg0 NS41MC9iYXNlL2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2NhdG9yL3BhcnRpdGlvbl9hbGxvY19j b25maWcuaAorLS0tIGNocm9taXVtLTExNi4wLjU4NDUuNTAvYmFzZS9hbGxvY2F0b3IvcGFydGl0 aW9uX2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2NfY29uZmlnLmgubWUJMjAyMy0wNy0zMCAxNTox Mzo0NS44NzM0Mjc4NzQgKzAyMDAKKysrKyBjaHJvbWl1bS0xMTYuMC41ODQ1LjUwL2Jhc2UvYWxs b2NhdG9yL3BhcnRpdGlvbl9hbGxvY2F0b3IvcGFydGl0aW9uX2FsbG9jX2NvbmZpZy5oCTIwMjMt MDctMzAgMTU6MTU6MzEuMzkzMTgxNDAwICswMjAwCitAQCAtMTUwLDkgKzE1MCw3IEBAIHN0YXRp Y19hc3NlcnQoc2l6ZW9mKHZvaWQqKSAhPSA4LCAiIik7CisgICAoIUJVSUxERkxBRyhQVVRfUkVG X0NPVU5UX0lOX1BSRVZJT1VTX1NMT1QpICYmIFwKKyAgICBkZWZpbmVkKEFSQ0hfQ1BVX0xJVFRM RV9FTkRJQU4pKQorIAorLSNkZWZpbmUgUEFfQ09ORklHX0hBU19NRU1PUllfVEFHR0lORygpICAg ICAgICAgICAgICBcCistICAoZGVmaW5lZChBUkNIX0NQVV9BUk02NCkgJiYgZGVmaW5lZChfX2Ns YW5nX18pICYmIFwKKy0gICAoQlVJTERGTEFHKElTX0xJTlVYKSB8fCBCVUlMREZMQUcoSVNfQU5E Uk9JRCkpKQorKyNkZWZpbmUgUEFfQ09ORklHX0hBU19NRU1PUllfVEFHR0lORygpIDAKKyAKKyAj aWYgUEFfQ09ORklHKEhBU19NRU1PUllfVEFHR0lORykKKyBzdGF0aWNfYXNzZXJ0KHNpemVvZih2 b2lkKikgPT0gOCk7CgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0tMTE2LW1pc3NpbmctaGVhZGVyLWZp bGVzLnBhdGNoIGIvY2hyb21pdW0tMTE2LW1pc3NpbmctaGVhZGVyLWZpbGVzLnBhdGNoCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEzNTZlMTIKLS0tIC9kZXYvbnVsbAorKysg Yi9jaHJvbWl1bS0xMTYtbWlzc2luZy1oZWFkZXItZmlsZXMucGF0Y2gKQEAgLTAsMCArMSw0NzAg QEAKK2RpZmYgLXVwIGNocm9taXVtLTExMC4wLjU0ODEuMTc3L2Jhc2UvbWVtb3J5L3JlZl9jb3Vu dGVkLmgubWUgY2hyb21pdW0tMTEwLjAuNTQ4MS4xNzcvYmFzZS9tZW1vcnkvcmVmX2NvdW50ZWQu aAorLS0tIGNocm9taXVtLTExMC4wLjU0ODEuMTc3L2Jhc2UvbWVtb3J5L3JlZl9jb3VudGVkLmgu bWUJMjAyMy0wMi0yMyAxMzozNDozMy4xNzQ4MTcyNTUgLTA1MDAKKysrKyBjaHJvbWl1bS0xMTAu MC41NDgxLjE3Ny9iYXNlL21lbW9yeS9yZWZfY291bnRlZC5oCTIwMjMtMDItMjMgMTM6NDI6Mjgu NjQ2MDUyNDY5IC0wNTAwCitAQCAtNiw2ICs2LDcgQEAKKyAjZGVmaW5lIEJBU0VfTUVNT1JZX1JF Rl9DT1VOVEVEX0hfCisgCisgI2luY2x1ZGUgPHN0ZGRlZi5oPgorKyNpbmNsdWRlIDxsaW1pdHM+ CisgCisgI2luY2x1ZGUgPHV0aWxpdHk+CisgCitkaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0 Ljc0L2Jhc2UvY2hlY2tfb3AuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Jhc2UvY2hlY2tf b3AuaAorLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvYmFzZS9jaGVja19vcC5oLm1lCTIwMjMt MDEtMTcgMTc6Mzk6MjcuNjIwODc1ODgzICswMTAwCisrKysgY2hyb21pdW0tMTA5LjAuNTQxNC43 NC9iYXNlL2NoZWNrX29wLmgJMjAyMy0wMS0xNyAxNzozOTo0Mi41NDYwNjA5NTcgKzAxMDAKK0BA IC01LDYgKzUsNyBAQAorICNpZm5kZWYgQkFTRV9DSEVDS19PUF9IXworICNkZWZpbmUgQkFTRV9D SEVDS19PUF9IXworIAorKyNpbmNsdWRlIDxjc3RkaW50PgorICNpbmNsdWRlIDxjc3RkZGVmPgor ICNpbmNsdWRlIDxzdHJpbmc+CisgI2luY2x1ZGUgPHR5cGVfdHJhaXRzPgorZGlmZiAtdXAgY2hy b21pdW0tMTA5LjAuNTQxNC43NC9iYXNlL2RlYnVnL3Byb2ZpbGVyLmgubWUgY2hyb21pdW0tMTA5 LjAuNTQxNC43NC9iYXNlL2RlYnVnL3Byb2ZpbGVyLmgKKy0tLSBjaHJvbWl1bS0xMDkuMC41NDE0 Ljc0L2Jhc2UvZGVidWcvcHJvZmlsZXIuaC5tZQkyMDIzLTAxLTE3IDE2OjI5OjI2LjM2ODA5MDA3 MyArMDEwMAorKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvYmFzZS9kZWJ1Zy9wcm9maWxlci5o CTIwMjMtMDEtMTcgMTY6NTk6NDEuMTkwNjI4Njc5ICswMTAwCitAQCAtNyw2ICs3LDcgQEAKKyAK KyAjaW5jbHVkZSA8c3RkZGVmLmg+CisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUg PHN0cmluZz4KKyAKKyAjaW5jbHVkZSAiYmFzZS9iYXNlX2V4cG9ydC5oIgorZGlmZiAtdXAgY2hy b21pdW0tMTA5LjAuNTQxNC43NC9ncHUvY29uZmlnL2dwdV9mZWF0dXJlX2luZm8uaC5tZSBjaHJv bWl1bS0xMDkuMC41NDE0Ljc0L2dwdS9jb25maWcvZ3B1X2ZlYXR1cmVfaW5mby5oCistLS0gY2hy b21pdW0tMTA5LjAuNTQxNC43NC9ncHUvY29uZmlnL2dwdV9mZWF0dXJlX2luZm8uaC5tZQkyMDIz LTAxLTE3IDE5OjA2OjUzLjUzMDY3NTEyOSArMDEwMAorKysrIGNocm9taXVtLTEwOS4wLjU0MTQu NzQvZ3B1L2NvbmZpZy9ncHVfZmVhdHVyZV9pbmZvLmgJMjAyMy0wMS0xNyAxOTowNzowOC44NzQ4 NDk4NzkgKzAxMDAKK0BAIC01LDYgKzUsNyBAQAorICNpZm5kZWYgR1BVX0NPTkZJR19HUFVfRkVB VFVSRV9JTkZPX0hfCisgI2RlZmluZSBHUFVfQ09ORklHX0dQVV9GRUFUVVJFX0lORk9fSF8KKyAK KysjaW5jbHVkZSA8Y3N0ZGludD4KKyAjaW5jbHVkZSA8c3RyaW5nPgorICNpbmNsdWRlIDx2ZWN0 b3I+CisgCitkaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L25ldC9iYXNlL25ldF9leHBv cnQuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L25ldC9iYXNlL25ldF9leHBvcnQuaAorLS0t IGNocm9taXVtLTEwOS4wLjU0MTQuNzQvbmV0L2Jhc2UvbmV0X2V4cG9ydC5oLm1lCTIwMjMtMDEt MTcgMTg6MTY6MzQuMTMzODU0NjE1ICswMTAwCisrKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9u ZXQvYmFzZS9uZXRfZXhwb3J0LmgJMjAyMy0wMS0xNyAxODoxNjoxNS45NDU2MjMxNTMgKzAxMDAK K0BAIC01LDYgKzUsOCBAQAorICNpZm5kZWYgTkVUX0JBU0VfTkVUX0VYUE9SVF9IXworICNkZWZp bmUgTkVUX0JBU0VfTkVUX0VYUE9SVF9IXworIAorKyNpbmNsdWRlIDxjc3RkaW50PgorKworIC8v IERlZmluZXMgTkVUX0VYUE9SVCBzbyB0aGF0IGZ1bmN0aW9uYWxpdHkgaW1wbGVtZW50ZWQgYnkg dGhlIG5ldCBtb2R1bGUgY2FuCisgLy8gYmUgZXhwb3J0ZWQgdG8gY29uc3VtZXJzLCBhbmQgTkVU X0VYUE9SVF9QUklWQVRFIHRoYXQgYWxsb3dzIHVuaXQgdGVzdHMgdG8KKyAvLyBhY2Nlc3MgZmVh dHVyZXMgbm90IGludGVuZGVkIHRvIGJlIHVzZWQgZGlyZWN0bHkgYnkgcmVhbCBjb25zdW1lcnMu CitkaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3NhbmRib3gvbGludXgvc3lzY2FsbF9i cm9rZXIvYnJva2VyX2ZpbGVfcGVybWlzc2lvbi5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQv c2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJfZmlsZV9wZXJtaXNzaW9uLmgKKy0t LSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3NhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvYnJv a2VyX2ZpbGVfcGVybWlzc2lvbi5oLm1lCTIwMjMtMDEtMTcgMTc6MTI6MzQuMTg0Njg2NTE1ICsw MTAwCisrKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9zYW5kYm94L2xpbnV4L3N5c2NhbGxfYnJv a2VyL2Jyb2tlcl9maWxlX3Blcm1pc3Npb24uaAkyMDIzLTAxLTE3IDE3OjEzOjE2LjUzNzE2MjQy MCArMDEwMAorQEAgLTUsNiArNSw3IEBACisgI2lmbmRlZiBTQU5EQk9YX0xJTlVYX1NZU0NBTExf QlJPS0VSX0JST0tFUl9GSUxFX1BFUk1JU1NJT05fSF8KKyAjZGVmaW5lIFNBTkRCT1hfTElOVVhf U1lTQ0FMTF9CUk9LRVJfQlJPS0VSX0ZJTEVfUEVSTUlTU0lPTl9IXworIAorKyNpbmNsdWRlIDxj c3RkaW50PgorICNpbmNsdWRlIDxiaXRzZXQ+CisgI2luY2x1ZGUgPHN0cmluZz4KKyAKK2RpZmYg LXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvYWJzZWlsLWNwcC9hYnNsL3N0 cmluZ3Mvc3RyaW5nX3ZpZXcuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5 L2Fic2VpbC1jcHAvYWJzbC9zdHJpbmdzL3N0cmluZ192aWV3LmgKKy0tLSBjaHJvbWl1bS0xMDku MC41NDE0Ljc0L3RoaXJkX3BhcnR5L2Fic2VpbC1jcHAvYWJzbC9zdHJpbmdzL3N0cmluZ192aWV3 LmgubWUJMjAyMy0wMS0xNyAxNzozMzoyMC44OTU3MTczMDcgKzAxMDAKKysrKyBjaHJvbWl1bS0x MDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L2Fic2VpbC1jcHAvYWJzbC9zdHJpbmdzL3N0cmluZ192 aWV3LmgJMjAyMy0wMS0xNyAxNzozNDowMy40NTYxODUzNjUgKzAxMDAKK0BAIC0yNyw2ICsyNyw3 IEBACisgI2lmbmRlZiBBQlNMX1NUUklOR1NfU1RSSU5HX1ZJRVdfSF8KKyAjZGVmaW5lIEFCU0xf U1RSSU5HU19TVFJJTkdfVklFV19IXworIAorKyNpbmNsdWRlIDxjc3RkaW50PgorICNpbmNsdWRl IDxhbGdvcml0aG0+CisgI2luY2x1ZGUgPGNhc3NlcnQ+CisgI2luY2x1ZGUgPGNzdGRkZWY+Citk aWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L2FuZ2xlL2luY2x1ZGUv R0xTTEFORy9TaGFkZXJWYXJzLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0 eS9hbmdsZS9pbmNsdWRlL0dMU0xBTkcvU2hhZGVyVmFycy5oCistLS0gY2hyb21pdW0tMTA5LjAu NTQxNC43NC90aGlyZF9wYXJ0eS9hbmdsZS9pbmNsdWRlL0dMU0xBTkcvU2hhZGVyVmFycy5oLm1l CTIwMjMtMDEtMTcgMTc6MzY6MTUuMDE3NjE2MjUwICswMTAwCisrKysgY2hyb21pdW0tMTA5LjAu NTQxNC43NC90aGlyZF9wYXJ0eS9hbmdsZS9pbmNsdWRlL0dMU0xBTkcvU2hhZGVyVmFycy5oCTIw MjMtMDEtMTcgMTc6MzY6NDguOTYwOTgyMTk1ICswMTAwCitAQCAtMTAsNiArMTAsNyBAQAorICNp Zm5kZWYgR0xTTEFOR19TSEFERVJWQVJTX0hfCisgI2RlZmluZSBHTFNMQU5HX1NIQURFUlZBUlNf SF8KKyAKKysjaW5jbHVkZSA8Y3N0ZGludD4KKyAjaW5jbHVkZSA8YWxnb3JpdGhtPgorICNpbmNs dWRlIDxhcnJheT4KKyAjaW5jbHVkZSA8c3RyaW5nPgorZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAu NTQxNC43NC90aGlyZF9wYXJ0eS9ibGluay9wdWJsaWMvY29tbW9uL2JsdWV0b290aC93ZWJfYmx1 ZXRvb3RoX2RldmljZV9pZC5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkv YmxpbmsvcHVibGljL2NvbW1vbi9ibHVldG9vdGgvd2ViX2JsdWV0b290aF9kZXZpY2VfaWQuaAor LS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvYmxpbmsvcHVibGljL2NvbW1v bi9ibHVldG9vdGgvd2ViX2JsdWV0b290aF9kZXZpY2VfaWQuaC5tZQkyMDIzLTAxLTE3IDE5OjE3 OjQwLjQ4MDg3NjE3MSArMDEwMAorKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFy dHkvYmxpbmsvcHVibGljL2NvbW1vbi9ibHVldG9vdGgvd2ViX2JsdWV0b290aF9kZXZpY2VfaWQu aAkyMDIzLTAxLTE3IDE5OjE3OjQ2LjgwMzk1ODMyMCArMDEwMAorQEAgLTUsNiArNSw3IEBACisg I2lmbmRlZiBUSElSRF9QQVJUWV9CTElOS19QVUJMSUNfQ09NTU9OX0JMVUVUT09USF9XRUJfQkxV RVRPT1RIX0RFVklDRV9JRF9IXworICNkZWZpbmUgVEhJUkRfUEFSVFlfQkxJTktfUFVCTElDX0NP TU1PTl9CTFVFVE9PVEhfV0VCX0JMVUVUT09USF9ERVZJQ0VfSURfSF8KKyAKKysjaW5jbHVkZSA8 Y3N0ZGludD4KKyAjaW5jbHVkZSA8YXJyYXk+CisgI2luY2x1ZGUgPHN0cmluZz4KKyAKK2RpZmYg LXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvZGF3bi9zcmMvdGludC9yZWFk ZXIvc3BpcnYvbmFtZXIuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L2Rh d24vc3JjL3RpbnQvcmVhZGVyL3NwaXJ2L25hbWVyLmgKKy0tLSBjaHJvbWl1bS0xMDkuMC41NDE0 Ljc0L3RoaXJkX3BhcnR5L2Rhd24vc3JjL3RpbnQvcmVhZGVyL3NwaXJ2L25hbWVyLmgubWUJMjAy My0wMS0xNyAxODowMjo0NC42ODE1MzgxMDcgKzAxMDAKKysrKyBjaHJvbWl1bS0xMDkuMC41NDE0 Ljc0L3RoaXJkX3BhcnR5L2Rhd24vc3JjL3RpbnQvcmVhZGVyL3NwaXJ2L25hbWVyLmgJMjAyMy0w MS0xNyAxODowMjo1Ny4yMDg2NzkxNDAgKzAxMDAKK0BAIC0xNSw2ICsxNSw3IEBACisgI2lmbmRl ZiBTUkNfVElOVF9SRUFERVJfU1BJUlZfTkFNRVJfSF8KKyAjZGVmaW5lIFNSQ19USU5UX1JFQURF Ul9TUElSVl9OQU1FUl9IXworIAorKyNpbmNsdWRlIDxjc3RkaW50PgorICNpbmNsdWRlIDxzdHJp bmc+CisgI2luY2x1ZGUgPHVub3JkZXJlZF9tYXA+CisgI2luY2x1ZGUgPHZlY3Rvcj4KK2RpZmYg LXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvb3BlbnNjcmVlbi9zcmMvZGlz Y292ZXJ5L2Ruc3NkL3B1YmxpYy9kbnNfc2RfdHh0X3JlY29yZC5oLm1lIGNocm9taXVtLTEwOS4w LjU0MTQuNzQvdGhpcmRfcGFydHkvb3BlbnNjcmVlbi9zcmMvZGlzY292ZXJ5L2Ruc3NkL3B1Ymxp Yy9kbnNfc2RfdHh0X3JlY29yZC5oCistLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9w YXJ0eS9vcGVuc2NyZWVuL3NyYy9kaXNjb3ZlcnkvZG5zc2QvcHVibGljL2Ruc19zZF90eHRfcmVj b3JkLmgubWUJMjAyMy0wMS0xOCAxNToyMjozOC40NzI5NDA2NDggKzAxMDAKKysrKyBjaHJvbWl1 bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L29wZW5zY3JlZW4vc3JjL2Rpc2NvdmVyeS9kbnNz ZC9wdWJsaWMvZG5zX3NkX3R4dF9yZWNvcmQuaAkyMDIzLTAxLTE4IDE1OjIzOjA5LjM4MDI1NTEw MSArMDEwMAorQEAgLTUsNiArNSw3IEBACisgI2lmbmRlZiBESVNDT1ZFUllfRE5TU0RfUFVCTElD X0ROU19TRF9UWFRfUkVDT1JEX0hfCisgI2RlZmluZSBESVNDT1ZFUllfRE5TU0RfUFVCTElDX0RO U19TRF9UWFRfUkVDT1JEX0hfCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUgPGZ1 bmN0aW9uYWw+CisgI2luY2x1ZGUgPG1hcD4KKyAjaW5jbHVkZSA8c2V0PgorZGlmZiAtdXAgY2hy b21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9zd2lmdHNoYWRlci9zcmMvU3lzdGVtL0xS VUNhY2hlLmhwcC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3N3aWZ0c2hh ZGVyL3NyYy9TeXN0ZW0vTFJVQ2FjaGUuaHBwCistLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC90 aGlyZF9wYXJ0eS9zd2lmdHNoYWRlci9zcmMvU3lzdGVtL0xSVUNhY2hlLmhwcC5tZQkyMDIzLTAx LTE3IDE1OjM3OjQ4LjUzMDYyNjUxNiArMDEwMAorKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQv dGhpcmRfcGFydHkvc3dpZnRzaGFkZXIvc3JjL1N5c3RlbS9MUlVDYWNoZS5ocHAJMjAyMy0wMS0x NyAxNjo1Nzo0Ni4wMjU1NDgwOTIgKzAxMDAKK0BAIC0xNyw2ICsxNyw3IEBACisgCisgI2luY2x1 ZGUgIlN5c3RlbS9EZWJ1Zy5ocHAiCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUg PGNzdGRkZWY+CisgI2luY2x1ZGUgPGZ1bmN0aW9uYWw+CisgI2luY2x1ZGUgPHVub3JkZXJlZF9z ZXQ+CitkaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3Z1bGthbl9t ZW1vcnlfYWxsb2NhdG9yL2luY2x1ZGUvdmtfbWVtX2FsbG9jLmgubWUgY2hyb21pdW0tMTA5LjAu NTQxNC43NC90aGlyZF9wYXJ0eS92dWxrYW5fbWVtb3J5X2FsbG9jYXRvci9pbmNsdWRlL3ZrX21l bV9hbGxvYy5oCistLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS92dWxrYW5f bWVtb3J5X2FsbG9jYXRvci9pbmNsdWRlL3ZrX21lbV9hbGxvYy5oLm1lCTIwMjMtMDEtMTcgMTU6 NDA6MjMuODU0Mzg2MjA2ICswMTAwCisrKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9w YXJ0eS92dWxrYW5fbWVtb3J5X2FsbG9jYXRvci9pbmNsdWRlL3ZrX21lbV9hbGxvYy5oCTIwMjMt MDEtMTcgMTY6NTg6MTkuMzk3ODYyODg1ICswMTAwCitAQCAtMjM4OCw2ICsyMzg4LDcgQEAgVk1B X0NBTExfUFJFIHZvaWQgVk1BX0NBTExfUE9TVCB2bWFGcmVlVgorICNpZmRlZiBWTUFfSU1QTEVN RU5UQVRJT04NCisgI3VuZGVmIFZNQV9JTVBMRU1FTlRBVElPTg0KKyANCisrI2luY2x1ZGUgPGNz dGRpbz4NCisgI2luY2x1ZGUgPGNzdGRpbnQ+DQorICNpbmNsdWRlIDxjc3RkbGliPg0KKyAjaW5j bHVkZSA8Y3N0cmluZz4NCitkaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3VpL2dmeC9n ZW9tZXRyeS9saW5lYXJfZ3JhZGllbnQuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3VpL2dm eC9nZW9tZXRyeS9saW5lYXJfZ3JhZGllbnQuaAorLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQv dWkvZ2Z4L2dlb21ldHJ5L2xpbmVhcl9ncmFkaWVudC5oLm1lCTIwMjMtMDEtMTcgMTg6MDg6MjUu NzQ1NDkxMzUzICswMTAwCisrKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC91aS9nZngvZ2VvbWV0 cnkvbGluZWFyX2dyYWRpZW50LmgJMjAyMy0wMS0xNyAxODowODozNS43Nzc2Njc2MzIgKzAxMDAK K0BAIC01LDYgKzUsNyBAQAorICNpZm5kZWYgVUlfR0ZYX0xJTkVBUl9HUkFESUVOVF9IXworICNk ZWZpbmUgVUlfR0ZYX0xJTkVBUl9HUkFESUVOVF9IXworIAorKyNpbmNsdWRlIDxjc3RkaW50Pgor ICNpbmNsdWRlIDxhcnJheT4KKyAjaW5jbHVkZSA8c3RyaW5nPgorIAorZGlmZiAtdXAgY2hyb21p dW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9ydXkvc3JjL3J1eS9wcm9maWxlci9pbnN0cnVt ZW50YXRpb24uaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3J1eS9zcmMv cnV5L3Byb2ZpbGVyL2luc3RydW1lbnRhdGlvbi5oCistLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43 NC90aGlyZF9wYXJ0eS9ydXkvc3JjL3J1eS9wcm9maWxlci9pbnN0cnVtZW50YXRpb24uaC5tZQky MDIzLTAxLTE5IDEwOjEwOjIxLjI4Nzg3NjczNiArMDEwMAorKysrIGNocm9taXVtLTEwOS4wLjU0 MTQuNzQvdGhpcmRfcGFydHkvcnV5L3NyYy9ydXkvcHJvZmlsZXIvaW5zdHJ1bWVudGF0aW9uLmgJ MjAyMy0wMS0xOSAxMDoxMToyMS43MTQ3Nzg4OTYgKzAxMDAKK0BAIC0xNyw2ICsxNyw3IEBAIGxp bWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICNkZWZpbmUgUlVZX1JVWV9QUk9GSUxFUl9J TlNUUlVNRU5UQVRJT05fSF8KKyAKKyAjaWZkZWYgUlVZX1BST0ZJTEVSCisrI2luY2x1ZGUgPHN0 cmluZz4KKyAjaW5jbHVkZSA8Y3N0ZGlvPgorICNpbmNsdWRlIDxtdXRleD4KKyAjaW5jbHVkZSA8 dmVjdG9yPgorZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS90Zmxp dGUvc3JjL3RlbnNvcmZsb3cvbGl0ZS9rZXJuZWxzL2ludGVybmFsL3NwZWN0cm9ncmFtLmgubWUg Y2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS90ZmxpdGUvc3JjL3RlbnNvcmZsb3cv bGl0ZS9rZXJuZWxzL2ludGVybmFsL3NwZWN0cm9ncmFtLmgKKy0tLSBjaHJvbWl1bS0xMDkuMC41 NDE0Ljc0L3RoaXJkX3BhcnR5L3RmbGl0ZS9zcmMvdGVuc29yZmxvdy9saXRlL2tlcm5lbHMvaW50 ZXJuYWwvc3BlY3Ryb2dyYW0uaC5tZQkyMDIzLTAxLTE5IDEwOjMwOjI3LjUzMzg2MTk4NSArMDEw MAorKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvdGZsaXRlL3NyYy90ZW5z b3JmbG93L2xpdGUva2VybmVscy9pbnRlcm5hbC9zcGVjdHJvZ3JhbS5oCTIwMjMtMDEtMTkgMTA6 MzE6MTIuNTg1NTU0MTgzICswMTAwCitAQCAtMzEsNiArMzEsNyBAQCBsaW1pdGF0aW9ucyB1bmRl ciB0aGUgTGljZW5zZS4KKyAjaWZuZGVmIFRFTlNPUkZMT1dfTElURV9LRVJORUxTX0lOVEVSTkFM X1NQRUNUUk9HUkFNX0hfCisgI2RlZmluZSBURU5TT1JGTE9XX0xJVEVfS0VSTkVMU19JTlRFUk5B TF9TUEVDVFJPR1JBTV9IXworIAorKyNpbmNsdWRlIDxjc3RkaW50PgorICNpbmNsdWRlIDxjb21w bGV4PgorICNpbmNsdWRlIDxkZXF1ZT4KKyAjaW5jbHVkZSA8dmVjdG9yPgorZGlmZiAtdXAgY2hy b21pdW0tMTA5LjAuNTQxNC43NC9iYXNlL2NvbnRhaW5lcnMvZmxhdF9tYXAuaC5tZWUgY2hyb21p dW0tMTA5LjAuNTQxNC43NC9iYXNlL2NvbnRhaW5lcnMvZmxhdF9tYXAuaAorLS0tIGNocm9taXVt LTEwOS4wLjU0MTQuNzQvYmFzZS9jb250YWluZXJzL2ZsYXRfbWFwLmgubWVlCTIwMjMtMDEtMTkg MTA6NTk6NTIuMjE0OTU3NzczICswMTAwCisrKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9iYXNl L2NvbnRhaW5lcnMvZmxhdF9tYXAuaAkyMDIzLTAxLTE5IDExOjAwOjA2LjQxNTIxNTMwOSArMDEw MAorQEAgLTUsNiArNSw3IEBACisgI2lmbmRlZiBCQVNFX0NPTlRBSU5FUlNfRkxBVF9NQVBfSF8K KyAjZGVmaW5lIEJBU0VfQ09OVEFJTkVSU19GTEFUX01BUF9IXworIAorKyNpbmNsdWRlIDxjc3Rk aW50PgorICNpbmNsdWRlIDxmdW5jdGlvbmFsPgorICNpbmNsdWRlIDx0dXBsZT4KKyAjaW5jbHVk ZSA8dXRpbGl0eT4KK2RpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9j cmFzaC9jb3JlL2FwcC9jcmFzaF9yZXBvcnRlcl9jbGllbnQuaC5tZWUgY2hyb21pdW0tMTA5LjAu NTQxNC43NC9jb21wb25lbnRzL2NyYXNoL2NvcmUvYXBwL2NyYXNoX3JlcG9ydGVyX2NsaWVudC5o CistLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL2NyYXNoL2NvcmUvYXBwL2Ny YXNoX3JlcG9ydGVyX2NsaWVudC5oLm1lZQkyMDIzLTAxLTE5IDEwOjM2OjQwLjU3MTQyMjgyNiAr MDEwMAorKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9jcmFzaC9jb3JlL2Fw cC9jcmFzaF9yZXBvcnRlcl9jbGllbnQuaAkyMDIzLTAxLTE5IDEwOjM2OjQ5LjM0MzU2NTI5NCAr MDEwMAorQEAgLTUsNiArNSw3IEBACisgI2lmbmRlZiBDT01QT05FTlRTX0NSQVNIX0NPUkVfQVBQ X0NSQVNIX1JFUE9SVEVSX0NMSUVOVF9IXworICNkZWZpbmUgQ09NUE9ORU5UU19DUkFTSF9DT1JF X0FQUF9DUkFTSF9SRVBPUlRFUl9DTElFTlRfSF8KKyAKKysjaW5jbHVkZSA8Y3N0ZGludD4KKyAj aW5jbHVkZSA8c3RyaW5nPgorIAorICNpbmNsdWRlICJidWlsZC9idWlsZF9jb25maWcuaCIKK2Rp ZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdWkvYmFzZS9wcmVkaWN0aW9uL2thbG1hbl9m aWx0ZXIuaC5tZWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC91aS9iYXNlL3ByZWRpY3Rpb24va2Fs bWFuX2ZpbHRlci5oCistLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC91aS9iYXNlL3ByZWRpY3Rp b24va2FsbWFuX2ZpbHRlci5oLm1lZQkyMDIzLTAxLTE5IDExOjQ1OjE1Ljk1MzE1OTc1NSArMDEw MAorKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdWkvYmFzZS9wcmVkaWN0aW9uL2thbG1hbl9m aWx0ZXIuaAkyMDIzLTAxLTE5IDExOjQ1OjIyLjMyMDI0NjI0MSArMDEwMAorQEAgLTUsNiArNSw4 IEBACisgI2lmbmRlZiBVSV9CQVNFX1BSRURJQ1RJT05fS0FMTUFOX0ZJTFRFUl9IXworICNkZWZp bmUgVUlfQkFTRV9QUkVESUNUSU9OX0tBTE1BTl9GSUxURVJfSF8KKyAKKysjaW5jbHVkZSA8Y3N0 ZGludD4KKysKKyAjaW5jbHVkZSAiYmFzZS9jb21wb25lbnRfZXhwb3J0LmgiCisgI2luY2x1ZGUg InVpL2dmeC9nZW9tZXRyeS9tYXRyaXgzX2YuaCIKKyAKK2RpZmYgLXVwIGNocm9taXVtLTEwOS4w LjU0MTQuNzQvY29tcG9uZW50cy9wYXNzd29yZF9tYW5hZ2VyL2NvcmUvYnJvd3Nlci9nZW5lcmF0 aW9uL3Bhc3N3b3JkX2dlbmVyYXRvci5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9u ZW50cy9wYXNzd29yZF9tYW5hZ2VyL2NvcmUvYnJvd3Nlci9nZW5lcmF0aW9uL3Bhc3N3b3JkX2dl bmVyYXRvci5oCistLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL3Bhc3N3b3Jk X21hbmFnZXIvY29yZS9icm93c2VyL2dlbmVyYXRpb24vcGFzc3dvcmRfZ2VuZXJhdG9yLmgubWUJ MjAyMy0wMS0xOSAxNToyMDowNy42MjA5ODc5NDkgKzAxMDAKKysrKyBjaHJvbWl1bS0xMDkuMC41 NDE0Ljc0L2NvbXBvbmVudHMvcGFzc3dvcmRfbWFuYWdlci9jb3JlL2Jyb3dzZXIvZ2VuZXJhdGlv bi9wYXNzd29yZF9nZW5lcmF0b3IuaAkyMDIzLTAxLTE5IDE1OjIwOjE4LjMyNDE3MzcwMiArMDEw MAorQEAgLTUsNiArNSw3IEBACisgI2lmbmRlZiBDT01QT05FTlRTX1BBU1NXT1JEX01BTkFHRVJf Q09SRV9CUk9XU0VSX0dFTkVSQVRJT05fUEFTU1dPUkRfR0VORVJBVE9SX0hfCisgI2RlZmluZSBD T01QT05FTlRTX1BBU1NXT1JEX01BTkFHRVJfQ09SRV9CUk9XU0VSX0dFTkVSQVRJT05fUEFTU1dP UkRfR0VORVJBVE9SX0hfCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUgPHN0cmlu Zz4KKyAKKyAKK2RpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9mZWF0 dXJlX2VuZ2FnZW1lbnQvaW50ZXJuYWwvZXZlbnRfc3RvcmFnZV92YWxpZGF0b3IuaC5tZSBjaHJv bWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvZmVhdHVyZV9lbmdhZ2VtZW50L2ludGVybmFs L2V2ZW50X3N0b3JhZ2VfdmFsaWRhdG9yLmgKKy0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Nv bXBvbmVudHMvZmVhdHVyZV9lbmdhZ2VtZW50L2ludGVybmFsL2V2ZW50X3N0b3JhZ2VfdmFsaWRh dG9yLmgubWUJMjAyMy0wMS0xOSAxNjowMDoxNC4zNTAxODY1MTUgKzAxMDAKKysrKyBjaHJvbWl1 bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvZmVhdHVyZV9lbmdhZ2VtZW50L2ludGVybmFsL2V2 ZW50X3N0b3JhZ2VfdmFsaWRhdG9yLmgJMjAyMy0wMS0xOSAxNjowMDoyMS42NDMzMDc5OTMgKzAx MDAKK0BAIC01LDYgKzUsNyBAQAorICNpZm5kZWYgQ09NUE9ORU5UU19GRUFUVVJFX0VOR0FHRU1F TlRfSU5URVJOQUxfRVZFTlRfU1RPUkFHRV9WQUxJREFUT1JfSF8KKyAjZGVmaW5lIENPTVBPTkVO VFNfRkVBVFVSRV9FTkdBR0VNRU5UX0lOVEVSTkFMX0VWRU5UX1NUT1JBR0VfVkFMSURBVE9SX0hf CisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUgPHN0cmluZz4KKyAKKyBuYW1lc3Bh Y2UgZmVhdHVyZV9lbmdhZ2VtZW50IHsKK2RpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQv Y29tcG9uZW50cy9mZWF0dXJlX2VuZ2FnZW1lbnQvaW50ZXJuYWwvbmV2ZXJfZXZlbnRfc3RvcmFn ZV92YWxpZGF0b3IuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvZmVhdHVy ZV9lbmdhZ2VtZW50L2ludGVybmFsL25ldmVyX2V2ZW50X3N0b3JhZ2VfdmFsaWRhdG9yLmgKKy0t LSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvZmVhdHVyZV9lbmdhZ2VtZW50L2lu dGVybmFsL25ldmVyX2V2ZW50X3N0b3JhZ2VfdmFsaWRhdG9yLmgubWUJMjAyMy0wMS0xOSAxNTo1 OToxOC4yMTAyMzk0MTYgKzAxMDAKKysrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVu dHMvZmVhdHVyZV9lbmdhZ2VtZW50L2ludGVybmFsL25ldmVyX2V2ZW50X3N0b3JhZ2VfdmFsaWRh dG9yLmgJMjAyMy0wMS0xOSAxNTo1OTozNC41MTM1MTUwMzAgKzAxMDAKK0BAIC01LDYgKzUsNyBA QAorICNpZm5kZWYgQ09NUE9ORU5UU19GRUFUVVJFX0VOR0FHRU1FTlRfSU5URVJOQUxfTkVWRVJf RVZFTlRfU1RPUkFHRV9WQUxJREFUT1JfSF8KKyAjZGVmaW5lIENPTVBPTkVOVFNfRkVBVFVSRV9F TkdBR0VNRU5UX0lOVEVSTkFMX05FVkVSX0VWRU5UX1NUT1JBR0VfVkFMSURBVE9SX0hfCisgCisr I2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUgPHN0cmluZz4KKyAKKyAjaW5jbHVkZSAiY29t cG9uZW50cy9mZWF0dXJlX2VuZ2FnZW1lbnQvaW50ZXJuYWwvZXZlbnRfc3RvcmFnZV92YWxpZGF0 b3IuaCIKK2RpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvc3dpZnRz aGFkZXIvdGhpcmRfcGFydHkvbGx2bS0xMC4wL2xsdm0vbGliL1N1cHBvcnQvVW5peC9TaWduYWxz LmluYy5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3Ro aXJkX3BhcnR5L2xsdm0tMTAuMC9sbHZtL2xpYi9TdXBwb3J0L1VuaXgvU2lnbmFscy5pbmMKKy0t LSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3RoaXJkX3Bh cnR5L2xsdm0tMTAuMC9sbHZtL2xpYi9TdXBwb3J0L1VuaXgvU2lnbmFscy5pbmMubWUJMjAyMy0w MS0xOSAxNjowOToyOS4yMTY0NzcxODIgKzAxMDAKKysrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0 L3RoaXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3RoaXJkX3BhcnR5L2xsdm0tMTAuMC9sbHZtL2xpYi9T dXBwb3J0L1VuaXgvU2lnbmFscy5pbmMJMjAyMy0wMS0xOSAxNjoxMDowNS42NTcwODkyMDggKzAx MDAKK0BAIC00NSw2ICs0NSw3IEBACisgI2luY2x1ZGUgImxsdm0vU3VwcG9ydC9TYXZlQW5kUmVz dG9yZS5oIgorICNpbmNsdWRlICJsbHZtL1N1cHBvcnQvcmF3X29zdHJlYW0uaCIKKyAjaW5jbHVk ZSA8YWxnb3JpdGhtPgorKyNpbmNsdWRlIDxjc3RkaW50PgorICNpbmNsdWRlIDxzdHJpbmc+Cisg I2luY2x1ZGUgPHN5c2V4aXRzLmg+CisgI2lmZGVmIEhBVkVfQkFDS1RSQUNFCitkaWZmIC11cCBj aHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Nocm9tZS9icm93c2VyL3ByaXZhY3lfYnVkZ2V0L2VuY291 bnRlcmVkX3N1cmZhY2VfdHJhY2tlci5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY2hyb21l L2Jyb3dzZXIvcHJpdmFjeV9idWRnZXQvZW5jb3VudGVyZWRfc3VyZmFjZV90cmFja2VyLmgKKy0t LSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Nocm9tZS9icm93c2VyL3ByaXZhY3lfYnVkZ2V0L2Vu Y291bnRlcmVkX3N1cmZhY2VfdHJhY2tlci5oLm1lCTIwMjMtMDEtMTkgMTY6MzI6MDUuMzM4MTYw MTMxICswMTAwCisrKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jaHJvbWUvYnJvd3Nlci9wcml2 YWN5X2J1ZGdldC9lbmNvdW50ZXJlZF9zdXJmYWNlX3RyYWNrZXIuaAkyMDIzLTAxLTE5IDE2OjMy OjE2LjIxMzMyNjc5OCArMDEwMAorQEAgLTUsNiArNSw3IEBACisgI2lmbmRlZiBDSFJPTUVfQlJP V1NFUl9QUklWQUNZX0JVREdFVF9FTkNPVU5URVJFRF9TVVJGQUNFX1RSQUNLRVJfSF8KKyAjZGVm aW5lIENIUk9NRV9CUk9XU0VSX1BSSVZBQ1lfQlVER0VUX0VOQ09VTlRFUkVEX1NVUkZBQ0VfVFJB Q0tFUl9IXworIAorKyNpbmNsdWRlIDxjc3RkaW50PgorICNpbmNsdWRlIDxtYXA+CisgCisgI2lu Y2x1ZGUgImJhc2UvY29udGFpbmVycy9mbGF0X3NldC5oIgorZGlmZiAtdXAgY2hyb21pdW0tMTA5 LjAuNTQxNC43NC9jb21wb25lbnRzL2F1dG9maWxsL2NvcmUvYnJvd3Nlci9hdXRvZmlsbF9hYmxh dGlvbl9zdHVkeS5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9hdXRvZmls bC9jb3JlL2Jyb3dzZXIvYXV0b2ZpbGxfYWJsYXRpb25fc3R1ZHkuaAorLS0tIGNocm9taXVtLTEw OS4wLjU0MTQuNzQvY29tcG9uZW50cy9hdXRvZmlsbC9jb3JlL2Jyb3dzZXIvYXV0b2ZpbGxfYWJs YXRpb25fc3R1ZHkuaC5tZQkyMDIzLTAxLTE5IDE2OjQ3OjU1LjU0ODU3MTEwMiArMDEwMAorKysr IGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9hdXRvZmlsbC9jb3JlL2Jyb3dzZXIv YXV0b2ZpbGxfYWJsYXRpb25fc3R1ZHkuaAkyMDIzLTAxLTE5IDE2OjQ4OjI5LjIxNDE0NjUyOSAr MDEwMAorQEAgLTUsNiArNSw3IEBACisgI2lmbmRlZiBDT01QT05FTlRTX0FVVE9GSUxMX0NPUkVf QlJPV1NFUl9BVVRPRklMTF9BQkxBVElPTl9TVFVEWV9IXworICNkZWZpbmUgQ09NUE9ORU5UU19B VVRPRklMTF9DT1JFX0JST1dTRVJfQVVUT0ZJTExfQUJMQVRJT05fU1RVRFlfSF8KKyAKKysjaW5j bHVkZSA8Y3N0ZGludD4KKyAjaW5jbHVkZSA8c3RyaW5nPgorIAorIGNsYXNzIEdVUkw7CitkaWZm IC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvb21uaWJveC9icm93c2VyL29u X2RldmljZV9oZWFkX21vZGVsLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRz L29tbmlib3gvYnJvd3Nlci9vbl9kZXZpY2VfaGVhZF9tb2RlbC5oCistLS0gY2hyb21pdW0tMTA5 LjAuNTQxNC43NC9jb21wb25lbnRzL29tbmlib3gvYnJvd3Nlci9vbl9kZXZpY2VfaGVhZF9tb2Rl bC5oLm1lCTIwMjMtMDEtMTkgMTY6NTc6MjkuNTI1MzcyODE0ICswMTAwCisrKysgY2hyb21pdW0t MTA5LjAuNTQxNC43NC9jb21wb25lbnRzL29tbmlib3gvYnJvd3Nlci9vbl9kZXZpY2VfaGVhZF9t b2RlbC5oCTIwMjMtMDEtMTkgMTY6NTg6MDIuNjY3OTc5Mjg4ICswMTAwCitAQCAtNSw2ICs1LDcg QEAKKyAjaWZuZGVmIENPTVBPTkVOVFNfT01OSUJPWF9CUk9XU0VSX09OX0RFVklDRV9IRUFEX01P REVMX0hfCisgI2RlZmluZSBDT01QT05FTlRTX09NTklCT1hfQlJPV1NFUl9PTl9ERVZJQ0VfSEVB RF9NT0RFTF9IXworIAorKyNpbmNsdWRlIDxjc3RkaW50PgorICNpbmNsdWRlIDxzdHJpbmc+Cisg I2luY2x1ZGUgPHV0aWxpdHk+CisgI2luY2x1ZGUgPHZlY3Rvcj4KK2RpZmYgLXVwIGNocm9taXVt LTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9wYXltZW50cy9jb250ZW50L3V0aWxpdHkvZmluZ2Vy cHJpbnRfcGFyc2VyLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL3BheW1l bnRzL2NvbnRlbnQvdXRpbGl0eS9maW5nZXJwcmludF9wYXJzZXIuaAorLS0tIGNocm9taXVtLTEw OS4wLjU0MTQuNzQvY29tcG9uZW50cy9wYXltZW50cy9jb250ZW50L3V0aWxpdHkvZmluZ2VycHJp bnRfcGFyc2VyLmgubWUJMjAyMy0wMS0xOSAxNzowMjo0NS4yNTg1NDQ2NjUgKzAxMDAKKysrKyBj aHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvcGF5bWVudHMvY29udGVudC91dGlsaXR5 L2ZpbmdlcnByaW50X3BhcnNlci5oCTIwMjMtMDEtMTkgMTc6MDI6NTIuNTc3NjExNzU3ICswMTAw CitAQCAtNSw2ICs1LDcgQEAKKyAjaWZuZGVmIENPTVBPTkVOVFNfUEFZTUVOVFNfQ09OVEVOVF9V VElMSVRZX0ZJTkdFUlBSSU5UX1BBUlNFUl9IXworICNkZWZpbmUgQ09NUE9ORU5UU19QQVlNRU5U U19DT05URU5UX1VUSUxJVFlfRklOR0VSUFJJTlRfUEFSU0VSX0hfCisgCisrI2luY2x1ZGUgPGNz dGRpbnQ+CisgI2luY2x1ZGUgPHN0ZGRlZi5oPgorIAorICNpbmNsdWRlIDxzdHJpbmc+CitkaWZm IC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3BkZi9kb2N1bWVudF9hdHRhY2htZW50X2luZm8u aC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3BkZi9kb2N1bWVudF9hdHRhY2htZW50X2luZm8u aAorLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvcGRmL2RvY3VtZW50X2F0dGFjaG1lbnRfaW5m by5oLm1lCTIwMjMtMDEtMTkgMTc6Mjg6MjguNTUyMDYzNTM0ICswMTAwCisrKysgY2hyb21pdW0t MTA5LjAuNTQxNC43NC9wZGYvZG9jdW1lbnRfYXR0YWNobWVudF9pbmZvLmgJMjAyMy0wMS0xOSAx NzoyODo0OC4wNzIzNzk5NTMgKzAxMDAKK0BAIC01LDYgKzUsNyBAQAorICNpZm5kZWYgUERGX0RP Q1VNRU5UX0FUVEFDSE1FTlRfSU5GT19IXworICNkZWZpbmUgUERGX0RPQ1VNRU5UX0FUVEFDSE1F TlRfSU5GT19IXworIAorKyNpbmNsdWRlIDxjc3RkaW50PgorICNpbmNsdWRlIDxzdHJpbmc+Cisg CisgCitkaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3BkZml1bS9j b25zdGFudHMvYW5ub3RhdGlvbl9mbGFncy5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhp cmRfcGFydHkvcGRmaXVtL2NvbnN0YW50cy9hbm5vdGF0aW9uX2ZsYWdzLmgKKy0tLSBjaHJvbWl1 bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3BkZml1bS9jb25zdGFudHMvYW5ub3RhdGlvbl9m bGFncy5oLm1lCTIwMjMtMDEtMTkgMTg6MjU6NDcuNjQ4MTkzNzEwICswMTAwCisrKysgY2hyb21p dW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9wZGZpdW0vY29uc3RhbnRzL2Fubm90YXRpb25f ZmxhZ3MuaAkyMDIzLTAxLTE5IDE4OjI2OjExLjQ4ODU5MzU1NiArMDEwMAorQEAgLTUsNiArNSw4 IEBACisgI2lmbmRlZiBDT05TVEFOVFNfQU5OT1RBVElPTl9GTEFHU19IXworICNkZWZpbmUgQ09O U1RBTlRTX0FOTk9UQVRJT05fRkxBR1NfSF8KKyAKKysjaW5jbHVkZSA8Y3N0ZGludD4KKysKKyBu YW1lc3BhY2UgcGRmaXVtIHsKKyBuYW1lc3BhY2UgYW5ub3RhdGlvbl9mbGFncyB7CisgCitkaWZm IC11cCBjaHJvbWl1bS0xMTMuMC41NjcyLjI0L3RoaXJkX3BhcnR5L3Z1bGthbi1kZXBzL3Z1bGth bi12YWxpZGF0aW9uLWxheWVycy9zcmMvbGF5ZXJzL2V4dGVybmFsL3ZtYS92a19tZW1fYWxsb2Mu aC5tZSBjaHJvbWl1bS0xMTMuMC41NjcyLjI0L3RoaXJkX3BhcnR5L3Z1bGthbi1kZXBzL3Z1bGth bi12YWxpZGF0aW9uLWxheWVycy9zcmMvbGF5ZXJzL2V4dGVybmFsL3ZtYS92a19tZW1fYWxsb2Mu aAorLS0tIGNocm9taXVtLTExMy4wLjU2NzIuMjQvdGhpcmRfcGFydHkvdnVsa2FuLWRlcHMvdnVs a2FuLXZhbGlkYXRpb24tbGF5ZXJzL3NyYy9sYXllcnMvZXh0ZXJuYWwvdm1hL3ZrX21lbV9hbGxv Yy5oLm1lCTIwMjMtMDQtMTUgMTY6NDQ6NTUuMzQ0MzA1NDEyICswMjAwCisrKysgY2hyb21pdW0t MTEzLjAuNTY3Mi4yNC90aGlyZF9wYXJ0eS92dWxrYW4tZGVwcy92dWxrYW4tdmFsaWRhdGlvbi1s YXllcnMvc3JjL2xheWVycy9leHRlcm5hbC92bWEvdmtfbWVtX2FsbG9jLmgJMjAyMy0wNC0xNSAx Njo0NzowOS4wMjg2NjY5OTUgKzAyMDAKK0BAIC0yODU0LDYgKzI4NTQsNyBAQCBzdGF0aWMgdm9p ZCB2bWFfYWxpZ25lZF9mcmVlKHZvaWQqIFZNQV9OCisgCisgLy8gRGVmaW5lIHRoaXMgbWFjcm8g dG8gMSB0byBlbmFibGUgZnVuY3Rpb25zOiB2bWFCdWlsZFN0YXRzU3RyaW5nLCB2bWFGcmVlU3Rh dHNTdHJpbmcuCisgI2lmIFZNQV9TVEFUU19TVFJJTkdfRU5BQkxFRAorKyNpbmNsdWRlIDxzdGRp by5oPgorICAgICBzdGF0aWMgaW5saW5lIHZvaWQgVm1hVWludDMyVG9TdHIoY2hhciogVk1BX05P VF9OVUxMIG91dFN0ciwgc2l6ZV90IHN0ckxlbiwgdWludDMyX3QgbnVtKQorICAgICB7CisgICAg ICAgICBzbnByaW50ZihvdXRTdHIsIHN0ckxlbiwgIiV1Iiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQg aW50PihudW0pKTsKK2RpZmYgLXVwIGNocm9taXVtLTExMy4wLjU2NzIuMzcvY2hyb21lL2Jyb3dz ZXIvd2ViYXV0aG4vYXV0aGVudGljYXRvcl9yZXF1ZXN0X2RpYWxvZ19tb2RlbC5oLm1lIGNocm9t aXVtLTExMy4wLjU2NzIuMzcvY2hyb21lL2Jyb3dzZXIvd2ViYXV0aG4vYXV0aGVudGljYXRvcl9y ZXF1ZXN0X2RpYWxvZ19tb2RlbC5oCistLS0gY2hyb21pdW0tMTEzLjAuNTY3Mi4zNy9jaHJvbWUv YnJvd3Nlci93ZWJhdXRobi9hdXRoZW50aWNhdG9yX3JlcXVlc3RfZGlhbG9nX21vZGVsLmgubWUJ MjAyMy0wNC0xOCAxNTo1NTo0NC43NzQ5MTYzMTkgKzAyMDAKKysrKyBjaHJvbWl1bS0xMTMuMC41 NjcyLjM3L2Nocm9tZS9icm93c2VyL3dlYmF1dGhuL2F1dGhlbnRpY2F0b3JfcmVxdWVzdF9kaWFs b2dfbW9kZWwuaAkyMDIzLTA0LTE4IDE1OjU1OjU0LjQ0MTA4NTg4MiArMDIwMAorQEAgLTgsNiAr OCw3IEBACisgI2luY2x1ZGUgPG1lbW9yeT4KKyAjaW5jbHVkZSA8c3RyaW5nPgorICNpbmNsdWRl IDx2ZWN0b3I+CisrI2luY2x1ZGUgPHZhcmlhbnQ+CisgCisgI2luY2x1ZGUgImJhc2UvY29udGFp bmVycy9zcGFuLmgiCisgI2luY2x1ZGUgImJhc2UvZnVuY3Rpb25hbC9jYWxsYmFja19mb3J3YXJk LmgiCitkaWZmIC11cCBjaHJvbWl1bS0xMTMuMC41NjcyLjM3L2dpbi90aW1lX2NsYW1wZXIuaC5t ZSBjaHJvbWl1bS0xMTMuMC41NjcyLjM3L2dpbi90aW1lX2NsYW1wZXIuaAorLS0tIGNocm9taXVt LTExMy4wLjU2NzIuMzcvZ2luL3RpbWVfY2xhbXBlci5oLm1lCTIwMjMtMDQtMTggMTY6Mzg6NDEu MTgwNDM3NDY3ICswMjAwCisrKysgY2hyb21pdW0tMTEzLjAuNTY3Mi4zNy9naW4vdGltZV9jbGFt cGVyLmgJMjAyMy0wNC0xOCAxNjozOTo0My44NTcwNDk0MzIgKzAyMDAKK0BAIC00OCw3ICs0OCw3 IEBAIGNsYXNzIEdJTl9FWFBPUlQgVGltZUNsYW1wZXIgeworICAgICBjb25zdCBpbnQ2NF90IG1p Y3JvcyA9IG5vd19taWNyb3MgJSAxMDAwOworICAgICAvLyBhYnMoKSBpcyBuZWNlc3NhcnkgZm9y IGRldmljZXMgd2l0aCB0aW1lcyBiZWZvcmUgdW5peC1lcG9jaCAobW9zdCBsaWtlbHkKKyAgICAg Ly8gY29uZmlndXJlZCBpbmNvcnJlY3RseSkuCistICAgIGlmIChhYnMobWljcm9zKSArIGtSZXNv bHV0aW9uTWljcm9zIDwgMTAwMCkgeworKyAgICBpZiAoc3RkOjphYnMobWljcm9zKSArIGtSZXNv bHV0aW9uTWljcm9zIDwgMTAwMCkgeworICAgICAgIHJldHVybiBub3dfbWljcm9zIC8gMTAwMDsK KyAgICAgfQorICAgICByZXR1cm4gQ2xhbXBUaW1lUmVzb2x1dGlvbihub3dfbWljcm9zKSAvIDEw MDA7CitkaWZmIC11cCBjaHJvbWl1bS0xMTMuMC41NjcyLjUzL2Nocm9tZS90ZXN0L2Nocm9tZWRy aXZlci9jaHJvbWUvd2ViX3ZpZXdfaW1wbC5jYy5tZSBjaHJvbWl1bS0xMTMuMC41NjcyLjUzL2No cm9tZS90ZXN0L2Nocm9tZWRyaXZlci9jaHJvbWUvd2ViX3ZpZXdfaW1wbC5jYworLS0tIGNocm9t aXVtLTExMy4wLjU2NzIuNTMvY2hyb21lL3Rlc3QvY2hyb21lZHJpdmVyL2Nocm9tZS93ZWJfdmll d19pbXBsLmNjLm1lCTIwMjMtMDQtMjEgMDg6MDc6NTUuMzYyNzE0NTQ0ICswMjAwCisrKysgY2hy b21pdW0tMTEzLjAuNTY3Mi41My9jaHJvbWUvdGVzdC9jaHJvbWVkcml2ZXIvY2hyb21lL3dlYl92 aWV3X2ltcGwuY2MJMjAyMy0wNC0yMSAwODoxNDozNS40MjQxNTg2OTMgKzAyMDAKK0BAIC0xMCw2 ICsxMCw3IEBACisgI2luY2x1ZGUgPHF1ZXVlPgorICNpbmNsdWRlIDx1dGlsaXR5PgorICNpbmNs dWRlIDx2ZWN0b3I+CisrI2luY2x1ZGUgPGNzdHJpbmc+CisgCisgI2luY2x1ZGUgImJhc2UvY2hl Y2suaCIKKyAjaW5jbHVkZSAiYmFzZS9maWxlcy9maWxlX3BhdGguaCIKK2RpZmYgLXVwIGNocm9t aXVtLTExNi4wLjU4NDUuNTAvY29tcG9uZW50cy9ib29rbWFya3MvY29tbW9uL3VybF9sb2FkX3N0 YXRzLmgubWUgY2hyb21pdW0tMTE2LjAuNTg0NS41MC9jb21wb25lbnRzL2Jvb2ttYXJrcy9jb21t b24vdXJsX2xvYWRfc3RhdHMuaAorLS0tIGNocm9taXVtLTExNi4wLjU4NDUuNTAvY29tcG9uZW50 cy9ib29rbWFya3MvY29tbW9uL3VybF9sb2FkX3N0YXRzLmgubWUJMjAyMy0wOC0wMSAxNTowNzow Ni45NDA4ODE0MzkgKzAyMDAKKysrKyBjaHJvbWl1bS0xMTYuMC41ODQ1LjUwL2NvbXBvbmVudHMv Ym9va21hcmtzL2NvbW1vbi91cmxfbG9hZF9zdGF0cy5oCTIwMjMtMDgtMDEgMTU6MDk6MjkuMzAx NTM3NDUwICswMjAwCitAQCAtNSw2ICs1LDcgQEAKKyAjaWZuZGVmIENPTVBPTkVOVFNfQk9PS01B UktTX0NPTU1PTl9VUkxfTE9BRF9TVEFUU19IXworICNkZWZpbmUgQ09NUE9ORU5UU19CT09LTUFS S1NfQ09NTU9OX1VSTF9MT0FEX1NUQVRTX0hfCisgCisrI2luY2x1ZGUgPGNzdGRkZWY+CisgI2lu Y2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUgPHZlY3Rvcj4KKyAKK2RpZmYgLXVwIGNocm9taXVt LTExNi4wLjU4NDUuNTAvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWludC9vYmpl Y3RfcGFpbnRfcHJvcGVydGllc19zcGFyc2UuaC5tZSBjaHJvbWl1bS0xMTYuMC41ODQ1LjUwL3Ro aXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvcGFpbnQvb2JqZWN0X3BhaW50X3Byb3BlcnRp ZXNfc3BhcnNlLmgKKy0tLSBjaHJvbWl1bS0xMTYuMC41ODQ1LjUwL3RoaXJkX3BhcnR5L2JsaW5r L3JlbmRlcmVyL2NvcmUvcGFpbnQvb2JqZWN0X3BhaW50X3Byb3BlcnRpZXNfc3BhcnNlLmgubWUJ MjAyMy0wNy0zMCAxOTo0NDo1NC43MTg4NDY2MDYgKzAyMDAKKysrKyBjaHJvbWl1bS0xMTYuMC41 ODQ1LjUwL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvcGFpbnQvb2JqZWN0X3BhaW50 X3Byb3BlcnRpZXNfc3BhcnNlLmgJMjAyMy0wNy0zMCAxOTo0NToxNC44MjkyNDk0NjcgKzAyMDAK K0BAIC04LDYgKzgsNyBAQAorICNpbmNsdWRlIDxhcnJheT4KKyAjaW5jbHVkZSA8bWVtb3J5Pgor ICNpbmNsdWRlIDx1dGlsaXR5PgorKyNpbmNsdWRlIDx2YXJpYW50PgorIAorICNpbmNsdWRlICJi YXNlL2RjaGVja19pc19vbi5oIgorICNpbmNsdWRlICJiYXNlL21lbW9yeS9wdHJfdXRpbC5oIgor ZGlmZiAtdXAgY2hyb21pdW0tMTE2LjAuNTg0NS41MC9jaHJvbWUvYnJvd3Nlci91aS9wcm9maWxl X3ZpZXdfdXRpbHMuaC5tZSBjaHJvbWl1bS0xMTYuMC41ODQ1LjUwL2Nocm9tZS9icm93c2VyL3Vp L3Byb2ZpbGVfdmlld191dGlscy5oCistLS0gY2hyb21pdW0tMTE2LjAuNTg0NS41MC9jaHJvbWUv YnJvd3Nlci91aS9wcm9maWxlX3ZpZXdfdXRpbHMuaC5tZQkyMDIzLTA3LTMxIDEzOjQwOjE4LjE3 MTE3NTM4NSArMDIwMAorKysrIGNocm9taXVtLTExNi4wLjU4NDUuNTAvY2hyb21lL2Jyb3dzZXIv dWkvcHJvZmlsZV92aWV3X3V0aWxzLmgJMjAyMy0wNy0zMSAxMzo0MzozOC4xODUyNDQyMzQgKzAy MDAKK0BAIC03LDYgKzcsNyBAQAorIAorICNpbmNsdWRlIDxzdHJpbmc+CisgI2luY2x1ZGUgPHV0 aWxpdHk+CisrI2luY2x1ZGUgPHZlY3Rvcj4KKyAKKyBjbGFzcyBQcm9maWxlOworIGNsYXNzIFBy b2ZpbGVBdHRyaWJ1dGVzRW50cnk7CitkaWZmIC11cCBjaHJvbWl1bS0xMTUuMC41NzkwLjMyL3Nr aWEvZXh0L3NrY29sb3JzcGFjZV90cmZuLmNjLm1lIGNocm9taXVtLTExNS4wLjU3OTAuMzIvc2tp YS9leHQvc2tjb2xvcnNwYWNlX3RyZm4uY2MKKy0tLSBjaHJvbWl1bS0xMTUuMC41NzkwLjMyL3Nr aWEvZXh0L3NrY29sb3JzcGFjZV90cmZuLmNjLm1lCTIwMjMtMDYtMTggMTI6MzM6NTIuMzg3NDEy Nzg4ICswMjAwCisrKysgY2hyb21pdW0tMTE1LjAuNTc5MC4zMi9za2lhL2V4dC9za2NvbG9yc3Bh Y2VfdHJmbi5jYwkyMDIzLTA2LTE4IDEyOjM1OjI4LjIyOTE0ODkzNSArMDIwMAorQEAgLTMsNiAr Myw3IEBACisgLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKyAKKyAjaW5jbHVkZSAic2tp YS9leHQvc2tjb2xvcnNwYWNlX3RyZm4uaCIKKysjaW5jbHVkZSA8Y21hdGg+CisgCisgbmFtZXNw YWNlIHNraWEgeworIAorZGlmZiAtdXAgY2hyb21pdW0tOTYuMC40NjY0LjQ1L3RoaXJkX3BhcnR5 L3dlYnJ0Yy9jb21tb25fdmlkZW8vaDI2NC9wcHNfcGFyc2VyLmgubWlzc2luZy1jc3RkaW50IGNo cm9taXVtLTk2LjAuNDY2NC40NS90aGlyZF9wYXJ0eS93ZWJydGMvY29tbW9uX3ZpZGVvL2gyNjQv cHBzX3BhcnNlci5oCitkaWZmIC11cCBjaHJvbWl1bS05Ni4wLjQ2NjQuNDUvdGhpcmRfcGFydHkv d2VicnRjL2NvbW1vbl92aWRlby9oMjY0L3Nwc19wYXJzZXIuaC5taXNzaW5nLWNzdGRpbnQgY2hy b21pdW0tOTYuMC40NjY0LjQ1L3RoaXJkX3BhcnR5L3dlYnJ0Yy9jb21tb25fdmlkZW8vaDI2NC9z cHNfcGFyc2VyLmgKKy0tLSBjaHJvbWl1bS05Ni4wLjQ2NjQuNDUvdGhpcmRfcGFydHkvd2VicnRj L2NvbW1vbl92aWRlby9oMjY0L3Nwc19wYXJzZXIuaC5taXNzaW5nLWNzdGRpbnQJMjAyMS0xMS0x OSAxNzowNTozMS4zNzk3NTAzNTAgLTA1MDAKKysrKyBjaHJvbWl1bS05Ni4wLjQ2NjQuNDUvdGhp cmRfcGFydHkvd2VicnRjL2NvbW1vbl92aWRlby9oMjY0L3Nwc19wYXJzZXIuaAkyMDIxLTExLTE5 IDE3OjA3OjM1LjE5MTUyMDEyNyAtMDUwMAorQEAgLTExLDYgKzExLDcgQEAKKyAjaWZuZGVmIENP TU1PTl9WSURFT19IMjY0X1NQU19QQVJTRVJfSF8KKyAjZGVmaW5lIENPTU1PTl9WSURFT19IMjY0 X1NQU19QQVJTRVJfSF8KKyAKKysjaW5jbHVkZSA8Y3N0ZGludD4KKyAjaW5jbHVkZSAiYWJzbC90 eXBlcy9vcHRpb25hbC5oIgorICNpbmNsdWRlICJydGNfYmFzZS9iaXRzdHJlYW1fcmVhZGVyLmgi CisgCitkaWZmIC11cCBjaHJvbWl1bS05Ni4wLjQ2NjQuNDUvdGhpcmRfcGFydHkvd2VicnRjL21v ZHVsZXMvaW5jbHVkZS9tb2R1bGVfY29tbW9uX3R5cGVzX3B1YmxpYy5oLm1pc3NpbmctY3N0ZGlu dCBjaHJvbWl1bS05Ni4wLjQ2NjQuNDUvdGhpcmRfcGFydHkvd2VicnRjL21vZHVsZXMvaW5jbHVk ZS9tb2R1bGVfY29tbW9uX3R5cGVzX3B1YmxpYy5oCistLS0gY2hyb21pdW0tOTYuMC40NjY0LjQ1 L3RoaXJkX3BhcnR5L3dlYnJ0Yy9tb2R1bGVzL2luY2x1ZGUvbW9kdWxlX2NvbW1vbl90eXBlc19w dWJsaWMuaC5taXNzaW5nLWNzdGRpbnQJMjAyMS0xMS0xMiAwNToyODoxMC4wMDAwMDAwMDAgLTA1 MDAKKysrKyBjaHJvbWl1bS05Ni4wLjQ2NjQuNDUvdGhpcmRfcGFydHkvd2VicnRjL21vZHVsZXMv aW5jbHVkZS9tb2R1bGVfY29tbW9uX3R5cGVzX3B1YmxpYy5oCTIwMjEtMTEtMTkgMTc6MDU6MzEu Mzc5NzUwMzUwIC0wNTAwCitAQCAtMTEsNiArMTEsNyBAQAorICNpZm5kZWYgTU9EVUxFU19JTkNM VURFX01PRFVMRV9DT01NT05fVFlQRVNfUFVCTElDX0hfCisgI2RlZmluZSBNT0RVTEVTX0lOQ0xV REVfTU9EVUxFX0NPTU1PTl9UWVBFU19QVUJMSUNfSF8KKyAKKysjaW5jbHVkZSA8Y3N0ZGludD4K KyAjaW5jbHVkZSA8bGltaXRzPgorIAorICNpbmNsdWRlICJhYnNsL3R5cGVzL29wdGlvbmFsLmgi CitkaWZmIC11cCBjaHJvbWl1bS05Ni4wLjQ2NjQuNDUvdWkvZ2Z4L2xpbnV4L2RybV91dGlsX2xp bnV4LmgubWlzc2luZy1jc3RkaW50IGNocm9taXVtLTk2LjAuNDY2NC40NS91aS9nZngvbGludXgv ZHJtX3V0aWxfbGludXguaAorLS0tIGNocm9taXVtLTk2LjAuNDY2NC40NS91aS9nZngvbGludXgv ZHJtX3V0aWxfbGludXguaC5taXNzaW5nLWNzdGRpbnQJMjAyMS0xMS0xMiAwNToyNToyNC4wMDAw MDAwMDAgLTA1MDAKKysrKyBjaHJvbWl1bS05Ni4wLjQ2NjQuNDUvdWkvZ2Z4L2xpbnV4L2RybV91 dGlsX2xpbnV4LmgJMjAyMS0xMS0xOSAxNzowNTozMS4zNzk3NTAzNTAgLTA1MDAKK0BAIC05LDYg KzksOCBAQAorIAorICNpbmNsdWRlICJ1aS9nZngvYnVmZmVyX3R5cGVzLmgiCisgCisrI2luY2x1 ZGUgPGNzdGRpbnQ+CisrCisgbmFtZXNwYWNlIHVpIHsKKyAKKyBpbnQgR2V0Rm91ckNDRm9ybWF0 RnJvbUJ1ZmZlckZvcm1hdChnZng6OkJ1ZmZlckZvcm1hdCBmb3JtYXQpOworZGlmZiAtdXAgY2hy b21pdW0tOTYuMC40NjY0LjQ1L3RoaXJkX3BhcnR5L3dlYnJ0Yy9hdWRpby91dGlsaXR5L2NoYW5u ZWxfbWl4ZXIuY2MubWlzc2luZy1jc3RyaW5nIGNocm9taXVtLTk2LjAuNDY2NC40NS90aGlyZF9w YXJ0eS93ZWJydGMvYXVkaW8vdXRpbGl0eS9jaGFubmVsX21peGVyLmNjCistLS0gY2hyb21pdW0t OTYuMC40NjY0LjQ1L3RoaXJkX3BhcnR5L3dlYnJ0Yy9hdWRpby91dGlsaXR5L2NoYW5uZWxfbWl4 ZXIuY2MubWlzc2luZy1jc3RyaW5nCTIwMjEtMTEtMTIgMDU6Mjg6MDkuMDAwMDAwMDAwIC0wNTAw CisrKysgY2hyb21pdW0tOTYuMC40NjY0LjQ1L3RoaXJkX3BhcnR5L3dlYnJ0Yy9hdWRpby91dGls aXR5L2NoYW5uZWxfbWl4ZXIuY2MJMjAyMS0xMS0xOSAxNzoxMDowMi45Mjc0Mzg2OTUgLTA1MDAK K0BAIC04LDYgKzgsOCBAQAorICAqICBiZSBmb3VuZCBpbiB0aGUgQVVUSE9SUyBmaWxlIGluIHRo ZSByb290IG9mIHRoZSBzb3VyY2UgdHJlZS4KKyAgKi8KKyAKKysjaW5jbHVkZSA8Y3N0cmluZz4K KysKKyAjaW5jbHVkZSAiYXVkaW8vdXRpbGl0eS9jaGFubmVsX21peGVyLmgiCisgCisgI2luY2x1 ZGUgImF1ZGlvL3V0aWxpdHkvY2hhbm5lbF9taXhpbmdfbWF0cml4LmgiCitkaWZmIC11cCBjaHJv bWl1bS05Ni4wLjQ2NjQuNDUvdGhpcmRfcGFydHkvd2VicnRjL21vZHVsZXMvZGVza3RvcF9jYXB0 dXJlL2xpbnV4L2Jhc2VfY2FwdHVyZXJfcGlwZXdpcmUuY2MubWlzc2luZy1jc3RyaW5nIGNocm9t aXVtLTk2LjAuNDY2NC40NS90aGlyZF9wYXJ0eS93ZWJydGMvbW9kdWxlcy9kZXNrdG9wX2NhcHR1 cmUvbGludXgvYmFzZV9jYXB0dXJlcl9waXBld2lyZS5jYworZGlmZiAtdXAgY2hyb21pdW0tOTYu MC40NjY0LjQ1L3RoaXJkX3BhcnR5L3dlYnJ0Yy9tb2R1bGVzL3ZpZGVvX2NvZGluZy91dGlsaXR5 L2l2Zl9maWxlX3JlYWRlci5jYy5taXNzaW5nLWNzdHJpbmcgY2hyb21pdW0tOTYuMC40NjY0LjQ1 L3RoaXJkX3BhcnR5L3dlYnJ0Yy9tb2R1bGVzL3ZpZGVvX2NvZGluZy91dGlsaXR5L2l2Zl9maWxl X3JlYWRlci5jYworLS0tIGNocm9taXVtLTk2LjAuNDY2NC40NS90aGlyZF9wYXJ0eS93ZWJydGMv bW9kdWxlcy92aWRlb19jb2RpbmcvdXRpbGl0eS9pdmZfZmlsZV9yZWFkZXIuY2MubWlzc2luZy1j c3RyaW5nCTIwMjEtMTEtMTIgMDU6Mjg6MTAuMDAwMDAwMDAwIC0wNTAwCisrKysgY2hyb21pdW0t OTYuMC40NjY0LjQ1L3RoaXJkX3BhcnR5L3dlYnJ0Yy9tb2R1bGVzL3ZpZGVvX2NvZGluZy91dGls aXR5L2l2Zl9maWxlX3JlYWRlci5jYwkyMDIxLTExLTE5IDE3OjEwOjAyLjkyODQzODcwMSAtMDUw MAorQEAgLTEwLDYgKzEwLDcgQEAKKyAKKyAjaW5jbHVkZSAibW9kdWxlcy92aWRlb19jb2Rpbmcv dXRpbGl0eS9pdmZfZmlsZV9yZWFkZXIuaCIKKyAKKysjaW5jbHVkZSA8Y3N0cmluZz4KKyAjaW5j bHVkZSA8c3RyaW5nPgorICNpbmNsdWRlIDx2ZWN0b3I+CisgCgpkaWZmIC0tZ2l0IGEvY2hyb21p dW0tMTE2LW5vX21hdGNoaW5nX2NvbnN0cnVjdG9yLnBhdGNoIGIvY2hyb21pdW0tMTE2LW5vX21h dGNoaW5nX2NvbnN0cnVjdG9yLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAuLjRjMjM4ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9jaHJvbWl1bS0xMTYtbm9fbWF0Y2hpbmdf Y29uc3RydWN0b3IucGF0Y2gKQEAgLTAsMCArMSwzNjQgQEAKK2RpZmYgLXVwIGNocm9taXVtLTEx Ni4wLjU4NDUuNTAvbmV0L2Rucy9ob3N0X3Jlc29sdmVyX2NhY2hlLmNjLm1lIGNocm9taXVtLTEx Ni4wLjU4NDUuNTAvbmV0L2Rucy9ob3N0X3Jlc29sdmVyX2NhY2hlLmNjCistLS0gY2hyb21pdW0t MTE2LjAuNTg0NS41MC9uZXQvZG5zL2hvc3RfcmVzb2x2ZXJfY2FjaGUuY2MubWUKKysrKyBjaHJv bWl1bS0xMTYuMC41ODQ1LjUwL25ldC9kbnMvaG9zdF9yZXNvbHZlcl9jYWNoZS5jYworQEAgLTE2 MSw3ICsxNjEsNyBAQCB2b2lkIEhvc3RSZXNvbHZlckNhY2hlOjpTZXQoCisgCisgICBzdGQ6OnN0 cmluZyBkb21haW5fbmFtZSA9IHJlc3VsdC0+ZG9tYWluX25hbWUoKTsKKyAgIGVudHJpZXNfLmVt cGxhY2UoCistICAgICAgS2V5KHN0ZDo6bW92ZShkb21haW5fbmFtZSksIG5ldHdvcmtfYW5vbnlt aXphdGlvbl9rZXkpLAorKyAgICAgIEtleXtzdGQ6Om1vdmUoZG9tYWluX25hbWUpLCBuZXR3b3Jr X2Fub255bWl6YXRpb25fa2V5fSwKKyAgICAgICBFbnRyeShzdGQ6Om1vdmUocmVzdWx0KSwgc291 cmNlLCBzZWN1cmUsIHN0YWxlbmVzc19nZW5lcmF0aW9uXykpOworIAorICAgaWYgKGVudHJpZXNf LnNpemUoKSA+IG1heF9lbnRyaWVzXykgeworZGlmZiAtdXAgY2hyb21pdW0tMTE2LjAuNTg0NS41 MC9jb21wb25lbnRzL3Zpei9zZXJ2aWNlL2Rpc3BsYXlfZW1iZWRkZXIvc2tpYV9vdXRwdXRfc3Vy ZmFjZV9pbXBsX29uX2dwdS5jYy5tZSBjaHJvbWl1bS0xMTYuMC41ODQ1LjUwL2NvbXBvbmVudHMv dml6L3NlcnZpY2UvZGlzcGxheV9lbWJlZGRlci9za2lhX291dHB1dF9zdXJmYWNlX2ltcGxfb25f Z3B1LmNjCistLS0gY2hyb21pdW0tMTE2LjAuNTg0NS41MC9jb21wb25lbnRzL3Zpei9zZXJ2aWNl L2Rpc3BsYXlfZW1iZWRkZXIvc2tpYV9vdXRwdXRfc3VyZmFjZV9pbXBsX29uX2dwdS5jYy5tZQky MDIzLTA4LTAyIDE1OjE3OjUyLjYxMzg1ODQyMyArMDIwMAorKysrIGNocm9taXVtLTExNi4wLjU4 NDUuNTAvY29tcG9uZW50cy92aXovc2VydmljZS9kaXNwbGF5X2VtYmVkZGVyL3NraWFfb3V0cHV0 X3N1cmZhY2VfaW1wbF9vbl9ncHUuY2MJMjAyMy0wOC0wMiAxNToxODo0My4yNjk3OTA4NzcgKzAy MDAKK0BAIC0xNDk2LDcgKzE0OTYsNyBAQCB2b2lkIFNraWFPdXRwdXRTdXJmYWNlSW1wbE9uR3B1 OjpDb3B5T3V0CisgCisgICAgICAgLy8gSXNzdWUgcmVhZGJhY2tzIGZyb20gdGhlIHN1cmZhY2Vz OgorICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgQ29weU91dHB1dFJlc3VsdDo6a05WMTJN YXhQbGFuZXM7ICsraSkgeworLSAgICAgICAgU2tJU2l6ZSBzaXplKHBsYW5lX3N1cmZhY2VzW2ld LT53aWR0aCgpLCBwbGFuZV9zdXJmYWNlc1tpXS0+aGVpZ2h0KCkpOworKyAgICAgICAgU2tJU2l6 ZSBzaXple3BsYW5lX3N1cmZhY2VzW2ldLT53aWR0aCgpLCBwbGFuZV9zdXJmYWNlc1tpXS0+aGVp Z2h0KCl9OworICAgICAgICAgU2tJbWFnZUluZm8gZHN0X2luZm8gPSBTa0ltYWdlSW5mbzo6TWFr ZSgKKyAgICAgICAgICAgICBzaXplLCAoaSA9PSAwKSA/IGtBbHBoYV84X1NrQ29sb3JUeXBlIDog a1I4RzhfdW5vcm1fU2tDb2xvclR5cGUsCisgICAgICAgICAgICAga1VucHJlbXVsX1NrQWxwaGFU eXBlKTsKK2RpZmYgLXVwIGNocm9taXVtLTExNi4wLjU4NDUuNTAvdGhpcmRfcGFydHkvYmxpbmsv cmVuZGVyZXIvcGxhdGZvcm0vZm9udHMvcGFsZXR0ZV9pbnRlcnBvbGF0aW9uLmNjLm1lIGNocm9t aXVtLTExNi4wLjU4NDUuNTAvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vZm9u dHMvcGFsZXR0ZV9pbnRlcnBvbGF0aW9uLmNjCistLS0gY2hyb21pdW0tMTE2LjAuNTg0NS41MC90 aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9mb250cy9wYWxldHRlX2ludGVycG9s YXRpb24uY2MubWUJMjAyMy0wOC0wMiAyMTozMjoxNC4xOTU3MDU0OTQgKzAyMDAKKysrKyBjaHJv bWl1bS0xMTYuMC41ODQ1LjUwL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2Zv bnRzL3BhbGV0dGVfaW50ZXJwb2xhdGlvbi5jYwkyMDIzLTA4LTAyIDIxOjU5OjA4LjE1NjUzMjkz NCArMDIwMAorQEAgLTMxLDcgKzMxLDcgQEAgVmVjdG9yPEZvbnRQYWxldHRlOjpGb250UGFsZXR0 ZU92ZXJyaWRlPgorICAgICAgICAgY29sb3JfaW50ZXJwb2xhdGlvbl9zcGFjZSwgaHVlX2ludGVy cG9sYXRpb25fbWV0aG9kLCBzdGFydF9jb2xvciwKKyAgICAgICAgIGVuZF9jb2xvciwgcGVyY2Vu dGFnZSwgYWxwaGFfbXVsdGlwbGllcik7CisgCistICAgIEZvbnRQYWxldHRlOjpGb250UGFsZXR0 ZU92ZXJyaWRlIHJlc3VsdF9jb2xvcl9yZWNvcmQoaSwgcmVzdWx0X2NvbG9yKTsKKysgICAgRm9u dFBhbGV0dGU6OkZvbnRQYWxldHRlT3ZlcnJpZGUgcmVzdWx0X2NvbG9yX3JlY29yZHtzdGF0aWNf Y2FzdDxpbnQ+KGkpLCByZXN1bHRfY29sb3J9OworICAgICByZXN1bHRfY29sb3JfcmVjb3Jkcy5w dXNoX2JhY2socmVzdWx0X2NvbG9yX3JlY29yZCk7CisgICB9CisgICByZXR1cm4gcmVzdWx0X2Nv bG9yX3JlY29yZHM7CitkaWZmIC11cCBjaHJvbWl1bS0xMTYuMC41ODQ1LjUwL3VpL2Jhc2Uvd2F5 bGFuZC9jb2xvcl9tYW5hZ2VyX3V0aWwuaC5tZSBjaHJvbWl1bS0xMTYuMC41ODQ1LjUwL3VpL2Jh c2Uvd2F5bGFuZC9jb2xvcl9tYW5hZ2VyX3V0aWwuaAorLS0tIGNocm9taXVtLTExNi4wLjU4NDUu NTAvdWkvYmFzZS93YXlsYW5kL2NvbG9yX21hbmFnZXJfdXRpbC5oLm1lCTIwMjMtMDgtMDMgMDg6 Mjc6MTEuMzcxNzUwMTc4ICswMjAwCisrKysgY2hyb21pdW0tMTE2LjAuNTg0NS41MC91aS9iYXNl L3dheWxhbmQvY29sb3JfbWFuYWdlcl91dGlsLmgJMjAyMy0wOC0wMyAxMDozOTowNy4yNjY5ODkz MjMgKzAyMDAKK0BAIC01Miw1MyArNTIsNTMgQEAgY29uc3RleHByIGF1dG8ga0Nocm9tYXRpY2l0 eU1hcCA9IGJhc2U6OgorICAgICB6Y3JfY29sb3JfbWFuYWdlcl92MV9jaHJvbWF0aWNpdHlfbmFt ZXMsCisgICAgIFByaW1hcnlWZXJzaW9uPigKKyAgICAge3taQ1JfQ09MT1JfTUFOQUdFUl9WMV9D SFJPTUFUSUNJVFlfTkFNRVNfQlQ2MDFfNTI1X0xJTkUsCistICAgICAgUHJpbWFyeVZlcnNpb24o Z2Z4OjpDb2xvclNwYWNlOjpQcmltYXJ5SUQ6OlNNUFRFMTcwTSwKKy0gICAgICAgICAgICAgICAg ICAgICBrRGVmYXVsdFNpbmNlVmVyc2lvbil9LAorKyAgICAgIFByaW1hcnlWZXJzaW9ue2dmeDo6 Q29sb3JTcGFjZTo6UHJpbWFyeUlEOjpTTVBURTE3ME0sCisrICAgICAgICAgICAgICAgICAgICAg a0RlZmF1bHRTaW5jZVZlcnNpb259fSwKKyAgICAgIHtaQ1JfQ09MT1JfTUFOQUdFUl9WMV9DSFJP TUFUSUNJVFlfTkFNRVNfQlQ2MDFfNjI1X0xJTkUsCistICAgICAgUHJpbWFyeVZlcnNpb24oZ2Z4 OjpDb2xvclNwYWNlOjpQcmltYXJ5SUQ6OkJUNDcwQkcsCistICAgICAgICAgICAgICAgICAgICAg a0RlZmF1bHRTaW5jZVZlcnNpb24pfSwKKysgICAgICBQcmltYXJ5VmVyc2lvbntnZng6OkNvbG9y U3BhY2U6OlByaW1hcnlJRDo6QlQ0NzBCRywKKysgICAgICAgICAgICAgICAgICAgICBrRGVmYXVs dFNpbmNlVmVyc2lvbn19LAorICAgICAge1pDUl9DT0xPUl9NQU5BR0VSX1YxX0NIUk9NQVRJQ0lU WV9OQU1FU19TTVBURTE3ME0sCistICAgICAgUHJpbWFyeVZlcnNpb24oZ2Z4OjpDb2xvclNwYWNl OjpQcmltYXJ5SUQ6OlNNUFRFMTcwTSwKKy0gICAgICAgICAgICAgICAgICAgICBrRGVmYXVsdFNp bmNlVmVyc2lvbil9LAorKyAgICAgIFByaW1hcnlWZXJzaW9ue2dmeDo6Q29sb3JTcGFjZTo6UHJp bWFyeUlEOjpTTVBURTE3ME0sCisrICAgICAgICAgICAgICAgICAgICAga0RlZmF1bHRTaW5jZVZl cnNpb259fSwKKyAgICAgIHtaQ1JfQ09MT1JfTUFOQUdFUl9WMV9DSFJPTUFUSUNJVFlfTkFNRVNf QlQ3MDksCistICAgICAgUHJpbWFyeVZlcnNpb24oZ2Z4OjpDb2xvclNwYWNlOjpQcmltYXJ5SUQ6 OkJUNzA5LCBrRGVmYXVsdFNpbmNlVmVyc2lvbil9LAorKyAgICAgIFByaW1hcnlWZXJzaW9ue2dm eDo6Q29sb3JTcGFjZTo6UHJpbWFyeUlEOjpCVDcwOSwga0RlZmF1bHRTaW5jZVZlcnNpb259fSwK KyAgICAgIHtaQ1JfQ09MT1JfTUFOQUdFUl9WMV9DSFJPTUFUSUNJVFlfTkFNRVNfQlQyMDIwLAor LSAgICAgIFByaW1hcnlWZXJzaW9uKGdmeDo6Q29sb3JTcGFjZTo6UHJpbWFyeUlEOjpCVDIwMjAs IGtEZWZhdWx0U2luY2VWZXJzaW9uKX0sCisrICAgICAgUHJpbWFyeVZlcnNpb257Z2Z4OjpDb2xv clNwYWNlOjpQcmltYXJ5SUQ6OkJUMjAyMCwga0RlZmF1bHRTaW5jZVZlcnNpb259fSwKKyAgICAg IHtaQ1JfQ09MT1JfTUFOQUdFUl9WMV9DSFJPTUFUSUNJVFlfTkFNRVNfU1JHQiwKKy0gICAgICBQ cmltYXJ5VmVyc2lvbihnZng6OkNvbG9yU3BhY2U6OlByaW1hcnlJRDo6QlQ3MDksIGtEZWZhdWx0 U2luY2VWZXJzaW9uKX0sCisrICAgICAgUHJpbWFyeVZlcnNpb257Z2Z4OjpDb2xvclNwYWNlOjpQ cmltYXJ5SUQ6OkJUNzA5LCBrRGVmYXVsdFNpbmNlVmVyc2lvbn19LAorICAgICAge1pDUl9DT0xP Ul9NQU5BR0VSX1YxX0NIUk9NQVRJQ0lUWV9OQU1FU19ESVNQTEFZUDMsCistICAgICAgUHJpbWFy eVZlcnNpb24oZ2Z4OjpDb2xvclNwYWNlOjpQcmltYXJ5SUQ6OlAzLCBrRGVmYXVsdFNpbmNlVmVy c2lvbil9LAorKyAgICAgIFByaW1hcnlWZXJzaW9ue2dmeDo6Q29sb3JTcGFjZTo6UHJpbWFyeUlE OjpQMywga0RlZmF1bHRTaW5jZVZlcnNpb259fSwKKyAgICAgIHtaQ1JfQ09MT1JfTUFOQUdFUl9W MV9DSFJPTUFUSUNJVFlfTkFNRVNfQURPQkVSR0IsCistICAgICAgUHJpbWFyeVZlcnNpb24oZ2Z4 OjpDb2xvclNwYWNlOjpQcmltYXJ5SUQ6OkFET0JFX1JHQiwKKy0gICAgICAgICAgICAgICAgICAg ICBrRGVmYXVsdFNpbmNlVmVyc2lvbil9LAorKyAgICAgIFByaW1hcnlWZXJzaW9ue2dmeDo6Q29s b3JTcGFjZTo6UHJpbWFyeUlEOjpBRE9CRV9SR0IsCisrICAgICAgICAgICAgICAgICAgICAga0Rl ZmF1bHRTaW5jZVZlcnNpb259fSwKKyAgICAgIHtaQ1JfQ09MT1JfTUFOQUdFUl9WMV9DSFJPTUFU SUNJVFlfTkFNRVNfV0lERV9HQU1VVF9DT0xPUl9TUElOLAorLSAgICAgIFByaW1hcnlWZXJzaW9u KAorKyAgICAgIFByaW1hcnlWZXJzaW9ueworICAgICAgICAgICBnZng6OkNvbG9yU3BhY2U6OlBy aW1hcnlJRDo6V0lERV9HQU1VVF9DT0xPUl9TUElOLAorLSAgICAgICAgICBaQ1JfQ09MT1JfTUFO QUdFUl9WMV9DSFJPTUFUSUNJVFlfTkFNRVNfV0lERV9HQU1VVF9DT0xPUl9TUElOX1NJTkNFX1ZF UlNJT04pfSwKKysgICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfQ0hST01BVElDSVRZX05B TUVTX1dJREVfR0FNVVRfQ09MT1JfU1BJTl9TSU5DRV9WRVJTSU9OfX0sCisgICAgICB7WkNSX0NP TE9SX01BTkFHRVJfVjFfQ0hST01BVElDSVRZX05BTUVTX0JUNDcwTSwKKy0gICAgICBQcmltYXJ5 VmVyc2lvbigKKysgICAgICBQcmltYXJ5VmVyc2lvbnsKKyAgICAgICAgICAgZ2Z4OjpDb2xvclNw YWNlOjpQcmltYXJ5SUQ6OkJUNDcwTSwKKy0gICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFf Q0hST01BVElDSVRZX05BTUVTX0JUNDcwTV9TSU5DRV9WRVJTSU9OKX0sCisrICAgICAgICAgIFpD Ul9DT0xPUl9NQU5BR0VSX1YxX0NIUk9NQVRJQ0lUWV9OQU1FU19CVDQ3ME1fU0lOQ0VfVkVSU0lP Tn19LAorICAgICAge1pDUl9DT0xPUl9NQU5BR0VSX1YxX0NIUk9NQVRJQ0lUWV9OQU1FU19TTVBU RTI0ME0sCistICAgICAgUHJpbWFyeVZlcnNpb24oCisrICAgICAgUHJpbWFyeVZlcnNpb257Cisg ICAgICAgICAgIGdmeDo6Q29sb3JTcGFjZTo6UHJpbWFyeUlEOjpTTVBURTI0ME0sCistICAgICAg ICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0NIUk9NQVRJQ0lUWV9OQU1FU19TTVBURTI0ME1fU0lO Q0VfVkVSU0lPTil9LAorKyAgICAgICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9DSFJPTUFUSUNJ VFlfTkFNRVNfU01QVEUyNDBNX1NJTkNFX1ZFUlNJT059fSwKKyAgICAgIHtaQ1JfQ09MT1JfTUFO QUdFUl9WMV9DSFJPTUFUSUNJVFlfTkFNRVNfWFlaX0Q1MCwKKy0gICAgICBQcmltYXJ5VmVyc2lv bigKKysgICAgICBQcmltYXJ5VmVyc2lvbnsKKyAgICAgICAgICAgZ2Z4OjpDb2xvclNwYWNlOjpQ cmltYXJ5SUQ6OlhZWl9ENTAsCistICAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0NIUk9N QVRJQ0lUWV9OQU1FU19YWVpfRDUwX1NJTkNFX1ZFUlNJT04pfSwKKysgICAgICAgICAgWkNSX0NP TE9SX01BTkFHRVJfVjFfQ0hST01BVElDSVRZX05BTUVTX1hZWl9ENTBfU0lOQ0VfVkVSU0lPTn19 LAorICAgICAge1pDUl9DT0xPUl9NQU5BR0VSX1YxX0NIUk9NQVRJQ0lUWV9OQU1FU19TTVBURVNU NDI4XzEsCistICAgICAgUHJpbWFyeVZlcnNpb24oCisrICAgICAgUHJpbWFyeVZlcnNpb257Cisg ICAgICAgICAgIGdmeDo6Q29sb3JTcGFjZTo6UHJpbWFyeUlEOjpTTVBURVNUNDI4XzEsCistICAg ICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0NIUk9NQVRJQ0lUWV9OQU1FU19TTVBURVNUNDI4 XzFfU0lOQ0VfVkVSU0lPTil9LAorKyAgICAgICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9DSFJP TUFUSUNJVFlfTkFNRVNfU01QVEVTVDQyOF8xX1NJTkNFX1ZFUlNJT059fSwKKyAgICAgIHtaQ1Jf Q09MT1JfTUFOQUdFUl9WMV9DSFJPTUFUSUNJVFlfTkFNRVNfU01QVEVTVDQzMV8yLAorLSAgICAg IFByaW1hcnlWZXJzaW9uKAorKyAgICAgIFByaW1hcnlWZXJzaW9ueworICAgICAgICAgICBnZng6 OkNvbG9yU3BhY2U6OlByaW1hcnlJRDo6U01QVEVTVDQzMV8yLAorLSAgICAgICAgICBaQ1JfQ09M T1JfTUFOQUdFUl9WMV9DSFJPTUFUSUNJVFlfTkFNRVNfU01QVEVTVDQzMV8yX1NJTkNFX1ZFUlNJ T04pfSwKKysgICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfQ0hST01BVElDSVRZX05BTUVT X1NNUFRFU1Q0MzFfMl9TSU5DRV9WRVJTSU9OfX0sCisgICAgICB7WkNSX0NPTE9SX01BTkFHRVJf VjFfQ0hST01BVElDSVRZX05BTUVTX0ZJTE0sCistICAgICAgUHJpbWFyeVZlcnNpb24oCisrICAg ICAgUHJpbWFyeVZlcnNpb257CisgICAgICAgICAgIGdmeDo6Q29sb3JTcGFjZTo6UHJpbWFyeUlE OjpGSUxNLAorLSAgICAgICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9DSFJPTUFUSUNJVFlfTkFN RVNfRklMTV9TSU5DRV9WRVJTSU9OKX19KTsKKysgICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJf VjFfQ0hST01BVElDSVRZX05BTUVTX0ZJTE1fU0lOQ0VfVkVSU0lPTn19fSk7CisgCisgLy8gQSBt YXAgZnJvbSB0aGUgemNyX2NvbG9yX21hbmFnZXJfdjEgZW90Zl9uYW1lcyBlbnVtIHZhbHVlcwor IC8vIHJlcHJlc2VudGluZyB3ZWxsLWtub3duIEVPVEZzLCB0byB0aGVpciBlcXVpdmFsZW50IFRy YW5zZmVySURzLgorQEAgLTEwNyw2NSArMTA3LDY1IEBAIGNvbnN0ZXhwciBhdXRvIGtFb3RmTWFw ID0gYmFzZTo6TWFrZUZpeGUKKyAgICAgemNyX2NvbG9yX21hbmFnZXJfdjFfZW90Zl9uYW1lcywK KyAgICAgVHJhbnNmZXJWZXJzaW9uPih7CisgICAgIHtaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RG X05BTUVTX0xJTkVBUiwKKy0gICAgIFRyYW5zZmVyVmVyc2lvbihnZng6OkNvbG9yU3BhY2U6OlRy YW5zZmVySUQ6OkxJTkVBUiwKKy0gICAgICAgICAgICAgICAgICAgICBrRGVmYXVsdFNpbmNlVmVy c2lvbil9LAorKyAgICAgVHJhbnNmZXJWZXJzaW9ue2dmeDo6Q29sb3JTcGFjZTo6VHJhbnNmZXJJ RDo6TElORUFSLAorKyAgICAgICAgICAgICAgICAgICAgIGtEZWZhdWx0U2luY2VWZXJzaW9ufX0s CisgICAgIHtaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX1NSR0IsCistICAgICBUcmFu c2ZlclZlcnNpb24oZ2Z4OjpDb2xvclNwYWNlOjpUcmFuc2ZlcklEOjpTUkdCLCBrRGVmYXVsdFNp bmNlVmVyc2lvbil9LAorKyAgICAgVHJhbnNmZXJWZXJzaW9ue2dmeDo6Q29sb3JTcGFjZTo6VHJh bnNmZXJJRDo6U1JHQiwga0RlZmF1bHRTaW5jZVZlcnNpb259fSwKKyAgICAge1pDUl9DT0xPUl9N QU5BR0VSX1YxX0VPVEZfTkFNRVNfQlQ3MDksCistICAgICBUcmFuc2ZlclZlcnNpb24oZ2Z4OjpD b2xvclNwYWNlOjpUcmFuc2ZlcklEOjpCVDcwOSwKKy0gICAgICAgICAgICAgICAgICAgICBaQ1Jf Q09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX0JUNzA5X1NJTkNFX1ZFUlNJT04pfSwKKysgICAg IFRyYW5zZmVyVmVyc2lvbntnZng6OkNvbG9yU3BhY2U6OlRyYW5zZmVySUQ6OkJUNzA5LAorKyAg ICAgICAgICAgICAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfQlQ3MDlf U0lOQ0VfVkVSU0lPTn19LAorICAgICB7WkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19C VDIwODcsCistICAgICBUcmFuc2ZlclZlcnNpb24oZ2Z4OjpDb2xvclNwYWNlOjpUcmFuc2ZlcklE OjpHQU1NQTI0LAorLSAgICAgICAgICAgICAgICAgICAgIGtEZWZhdWx0U2luY2VWZXJzaW9uKX0s CisrICAgICBUcmFuc2ZlclZlcnNpb257Z2Z4OjpDb2xvclNwYWNlOjpUcmFuc2ZlcklEOjpHQU1N QTI0LAorKyAgICAgICAgICAgICAgICAgICAgIGtEZWZhdWx0U2luY2VWZXJzaW9ufX0sCisgICAg IHtaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX0FET0JFUkdCLAorICAgICAgLy8gVGhp cyBpcyBldmVyIHNvIHNsaWdodGx5IGluYWNjdXJhdGUuIFRoZSBudW1iZXIgb3VnaHQgdG8gYmUK KyAgICAgIC8vIDIuMTk5MjE4NzVmLCBub3QgMi4yCistICAgICBUcmFuc2ZlclZlcnNpb24oZ2Z4 OjpDb2xvclNwYWNlOjpUcmFuc2ZlcklEOjpHQU1NQTIyLAorLSAgICAgICAgICAgICAgICAgICAg IGtEZWZhdWx0U2luY2VWZXJzaW9uKX0sCisrICAgICBUcmFuc2ZlclZlcnNpb257Z2Z4OjpDb2xv clNwYWNlOjpUcmFuc2ZlcklEOjpHQU1NQTIyLAorKyAgICAgICAgICAgICAgICAgICAgIGtEZWZh dWx0U2luY2VWZXJzaW9ufX0sCisgICAgIHtaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVT X1BRLAorLSAgICAgVHJhbnNmZXJWZXJzaW9uKGdmeDo6Q29sb3JTcGFjZTo6VHJhbnNmZXJJRDo6 UFEsIGtEZWZhdWx0U2luY2VWZXJzaW9uKX0sCisrICAgICBUcmFuc2ZlclZlcnNpb257Z2Z4OjpD b2xvclNwYWNlOjpUcmFuc2ZlcklEOjpQUSwga0RlZmF1bHRTaW5jZVZlcnNpb259fSwKKyAgICAg e1pDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfSExHLAorLSAgICAgVHJhbnNmZXJWZXJz aW9uKGdmeDo6Q29sb3JTcGFjZTo6VHJhbnNmZXJJRDo6SExHLAorLSAgICAgICAgICAgICAgICAg ICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfSExHX1NJTkNFX1ZFUlNJT04pfSwK KysgICAgIFRyYW5zZmVyVmVyc2lvbntnZng6OkNvbG9yU3BhY2U6OlRyYW5zZmVySUQ6OkhMRywK KysgICAgICAgICAgICAgICAgICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX0hM R19TSU5DRV9WRVJTSU9OfX0sCisgICAgIHtaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVT X1NNUFRFMTcwTSwKKy0gICAgIFRyYW5zZmVyVmVyc2lvbihnZng6OkNvbG9yU3BhY2U6OlRyYW5z ZmVySUQ6OlNNUFRFMTcwTSwKKy0gICAgICAgICAgICAgICAgICAgICBaQ1JfQ09MT1JfTUFOQUdF Ul9WMV9FT1RGX05BTUVTX1NNUFRFMTcwTV9TSU5DRV9WRVJTSU9OKX0sCisrICAgICBUcmFuc2Zl clZlcnNpb257Z2Z4OjpDb2xvclNwYWNlOjpUcmFuc2ZlcklEOjpTTVBURTE3ME0sCisrICAgICAg ICAgICAgICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19TTVBURTE3ME1f U0lOQ0VfVkVSU0lPTn19LAorICAgICB7WkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19T TVBURTI0ME0sCistICAgICBUcmFuc2ZlclZlcnNpb24oZ2Z4OjpDb2xvclNwYWNlOjpUcmFuc2Zl cklEOjpTTVBURTI0ME0sCistICAgICAgICAgICAgICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJf VjFfRU9URl9OQU1FU19TTVBURTI0ME1fU0lOQ0VfVkVSU0lPTil9LAorKyAgICAgVHJhbnNmZXJW ZXJzaW9ue2dmeDo6Q29sb3JTcGFjZTo6VHJhbnNmZXJJRDo6U01QVEUyNDBNLAorKyAgICAgICAg ICAgICAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfU01QVEUyNDBNX1NJ TkNFX1ZFUlNJT059fSwKKyAgICAge1pDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfU01Q VEVTVDQyOF8xLAorLSAgICAgVHJhbnNmZXJWZXJzaW9uKAorKyAgICAgVHJhbnNmZXJWZXJzaW9u eworICAgICAgICAgIGdmeDo6Q29sb3JTcGFjZTo6VHJhbnNmZXJJRDo6U01QVEVTVDQyOF8xLAor LSAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfU01QVEVTVDQyOF8xX1NJ TkNFX1ZFUlNJT04pfSwKKysgICAgICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVT X1NNUFRFU1Q0MjhfMV9TSU5DRV9WRVJTSU9OfX0sCisgICAgIHtaQ1JfQ09MT1JfTUFOQUdFUl9W MV9FT1RGX05BTUVTX0xPRywKKy0gICAgIFRyYW5zZmVyVmVyc2lvbihnZng6OkNvbG9yU3BhY2U6 OlRyYW5zZmVySUQ6OkxPRywKKy0gICAgICAgICAgICAgICAgICAgICBaQ1JfQ09MT1JfTUFOQUdF Ul9WMV9FT1RGX05BTUVTX0xPR19TSU5DRV9WRVJTSU9OKX0sCisrICAgICBUcmFuc2ZlclZlcnNp b257Z2Z4OjpDb2xvclNwYWNlOjpUcmFuc2ZlcklEOjpMT0csCisrICAgICAgICAgICAgICAgICAg ICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19MT0dfU0lOQ0VfVkVSU0lPTn19LAor ICAgICB7WkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19MT0dfU1FSVCwKKy0gICAgIFRy YW5zZmVyVmVyc2lvbihnZng6OkNvbG9yU3BhY2U6OlRyYW5zZmVySUQ6OkxPR19TUVJULAorLSAg ICAgICAgICAgICAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfTE9HX1NR UlRfU0lOQ0VfVkVSU0lPTil9LAorKyAgICAgVHJhbnNmZXJWZXJzaW9ue2dmeDo6Q29sb3JTcGFj ZTo6VHJhbnNmZXJJRDo6TE9HX1NRUlQsCisrICAgICAgICAgICAgICAgICAgICAgWkNSX0NPTE9S X01BTkFHRVJfVjFfRU9URl9OQU1FU19MT0dfU1FSVF9TSU5DRV9WRVJTSU9OfX0sCisgICAgIHta Q1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX0lFQzYxOTY2XzJfNCwKKy0gICAgIFRyYW5z ZmVyVmVyc2lvbigKKysgICAgIFRyYW5zZmVyVmVyc2lvbnsKKyAgICAgICAgICBnZng6OkNvbG9y U3BhY2U6OlRyYW5zZmVySUQ6OklFQzYxOTY2XzJfNCwKKy0gICAgICAgICBaQ1JfQ09MT1JfTUFO QUdFUl9WMV9FT1RGX05BTUVTX0lFQzYxOTY2XzJfNF9TSU5DRV9WRVJTSU9OKX0sCisrICAgICAg ICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19JRUM2MTk2Nl8yXzRfU0lOQ0VfVkVS U0lPTn19LAorICAgICB7WkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19CVDEzNjFfRUNH LAorLSAgICAgVHJhbnNmZXJWZXJzaW9uKGdmeDo6Q29sb3JTcGFjZTo6VHJhbnNmZXJJRDo6QlQx MzYxX0VDRywKKy0gICAgICAgICAgICAgICAgICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RG X05BTUVTX0JUMTM2MV9FQ0dfU0lOQ0VfVkVSU0lPTil9LAorKyAgICAgVHJhbnNmZXJWZXJzaW9u e2dmeDo6Q29sb3JTcGFjZTo6VHJhbnNmZXJJRDo6QlQxMzYxX0VDRywKKysgICAgICAgICAgICAg ICAgICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX0JUMTM2MV9FQ0dfU0lOQ0Vf VkVSU0lPTn19LAorICAgICB7WkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19CVDIwMjBf MTAsCistICAgICBUcmFuc2ZlclZlcnNpb24oZ2Z4OjpDb2xvclNwYWNlOjpUcmFuc2ZlcklEOjpC VDIwMjBfMTAsCistICAgICAgICAgICAgICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfRU9U Rl9OQU1FU19CVDIwMjBfMTBfU0lOQ0VfVkVSU0lPTil9LAorKyAgICAgVHJhbnNmZXJWZXJzaW9u e2dmeDo6Q29sb3JTcGFjZTo6VHJhbnNmZXJJRDo6QlQyMDIwXzEwLAorKyAgICAgICAgICAgICAg ICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfQlQyMDIwXzEwX1NJTkNFX1ZF UlNJT059fSwKKyAgICAge1pDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfQlQyMDIwXzEy LAorLSAgICAgVHJhbnNmZXJWZXJzaW9uKGdmeDo6Q29sb3JTcGFjZTo6VHJhbnNmZXJJRDo6QlQy MDIwXzEyLAorLSAgICAgICAgICAgICAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZf TkFNRVNfQlQyMDIwXzEyX1NJTkNFX1ZFUlNJT04pfSwKKysgICAgIFRyYW5zZmVyVmVyc2lvbntn Zng6OkNvbG9yU3BhY2U6OlRyYW5zZmVySUQ6OkJUMjAyMF8xMiwKKysgICAgICAgICAgICAgICAg ICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX0JUMjAyMF8xMl9TSU5DRV9WRVJT SU9OfX0sCisgICAgIHtaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX1NDUkdCX0xJTkVB Ul84MF9OSVRTLAorLSAgICAgVHJhbnNmZXJWZXJzaW9uKAorKyAgICAgVHJhbnNmZXJWZXJzaW9u eworICAgICAgICAgIGdmeDo6Q29sb3JTcGFjZTo6VHJhbnNmZXJJRDo6U0NSR0JfTElORUFSXzgw X05JVFMsCistICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19TQ1JHQl9M SU5FQVJfODBfTklUU19TSU5DRV9WRVJTSU9OKX0sCisrICAgICAgICAgWkNSX0NPTE9SX01BTkFH RVJfVjFfRU9URl9OQU1FU19TQ1JHQl9MSU5FQVJfODBfTklUU19TSU5DRV9WRVJTSU9OfX0sCisg ICAgIHtaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX0dBTU1BMTgsCistICAgICBUcmFu c2ZlclZlcnNpb24oZ2Z4OjpDb2xvclNwYWNlOjpUcmFuc2ZlcklEOjpHQU1NQTE4LAorLSAgICAg ICAgICAgICAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfR0FNTUExOF9T SU5DRV9WRVJTSU9OKX0sCisrICAgICBUcmFuc2ZlclZlcnNpb257Z2Z4OjpDb2xvclNwYWNlOjpU cmFuc2ZlcklEOjpHQU1NQTE4LAorKyAgICAgICAgICAgICAgICAgICAgIFpDUl9DT0xPUl9NQU5B R0VSX1YxX0VPVEZfTkFNRVNfR0FNTUExOF9TSU5DRV9WRVJTSU9OfX0sCisgICAgIHtaQ1JfQ09M T1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX0dBTU1BMjgsCistICAgICBUcmFuc2ZlclZlcnNpb24o Z2Z4OjpDb2xvclNwYWNlOjpUcmFuc2ZlcklEOjpHQU1NQTI4LAorLSAgICAgICAgICAgICAgICAg ICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfR0FNTUEyOF9TSU5DRV9WRVJTSU9O KX0sCisrICAgICBUcmFuc2ZlclZlcnNpb257Z2Z4OjpDb2xvclNwYWNlOjpUcmFuc2ZlcklEOjpH QU1NQTI4LAorKyAgICAgICAgICAgICAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZf TkFNRVNfR0FNTUEyOF9TSU5DRV9WRVJTSU9OfX0sCisgfSk7CisgCisgLy8gQSBtYXAgZnJvbSB0 aGUgU0RSIHpjcl9jb2xvcl9tYW5hZ2VyX3YxIGVvdGZfbmFtZXMgZW51bSB2YWx1ZXMKK0BAIC0x NzQsMTggKzE3NCwxOCBAQCBjb25zdGV4cHIgYXV0byBrRW90Zk1hcCA9IGJhc2U6Ok1ha2VGaXhl CisgY29uc3RleHByIGF1dG8ga1RyYW5zZmVyTWFwID0KKyAgICAgYmFzZTo6TWFrZUZpeGVkRmxh dE1hcDx6Y3JfY29sb3JfbWFuYWdlcl92MV9lb3RmX25hbWVzLCBUcmFuc2ZlckZuVmVyc2lvbj4o eworICAgICAgICAge1pDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfTElORUFSLAorLSAg ICAgICAgIFRyYW5zZmVyRm5WZXJzaW9uKFNrTmFtZWRUcmFuc2ZlckZuOjprTGluZWFyLCBrRGVm YXVsdFNpbmNlVmVyc2lvbil9LAorKyAgICAgICAgIFRyYW5zZmVyRm5WZXJzaW9ue1NrTmFtZWRU cmFuc2ZlckZuOjprTGluZWFyLCBrRGVmYXVsdFNpbmNlVmVyc2lvbn19LAorICAgICAgICAge1pD Ul9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfU1JHQiwKKy0gICAgICAgICBUcmFuc2ZlckZu VmVyc2lvbihTa05hbWVkVHJhbnNmZXJGbkV4dDo6a1NSR0IsIGtEZWZhdWx0U2luY2VWZXJzaW9u KX0sCisrICAgICAgICAgVHJhbnNmZXJGblZlcnNpb257U2tOYW1lZFRyYW5zZmVyRm5FeHQ6OmtT UkdCLCBrRGVmYXVsdFNpbmNlVmVyc2lvbn19LAorICAgICAgICAge1pDUl9DT0xPUl9NQU5BR0VS X1YxX0VPVEZfTkFNRVNfQlQ3MDksCistICAgICAgICAgVHJhbnNmZXJGblZlcnNpb24oCisrICAg ICAgICAgVHJhbnNmZXJGblZlcnNpb257CisgICAgICAgICAgICAgIFNrTmFtZWRUcmFuc2ZlckZu RXh0OjprUmVjNzA5LAorLSAgICAgICAgICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05B TUVTX0JUNzA5X1NJTkNFX1ZFUlNJT04pfSwKKysgICAgICAgICAgICAgWkNSX0NPTE9SX01BTkFH RVJfVjFfRU9URl9OQU1FU19CVDcwOV9TSU5DRV9WRVJTSU9OfX0sCisgICAgICAgICB7WkNSX0NP TE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19CVDIwODcsCistICAgICAgICAgVHJhbnNmZXJGblZl cnNpb24oZ2FtbWEyNCwga0RlZmF1bHRTaW5jZVZlcnNpb24pfSwKKysgICAgICAgICBUcmFuc2Zl ckZuVmVyc2lvbntnYW1tYTI0LCBrRGVmYXVsdFNpbmNlVmVyc2lvbn19LAorICAgICAgICAge1pD Ul9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfQURPQkVSR0IsCistICAgICAgICAgVHJhbnNm ZXJGblZlcnNpb24oU2tOYW1lZFRyYW5zZmVyRm5FeHQ6OmtBOThSR0IsCistICAgICAgICAgICAg ICAgICAgICAgICAgICAga0RlZmF1bHRTaW5jZVZlcnNpb24pfSwKKysgICAgICAgICBUcmFuc2Zl ckZuVmVyc2lvbntTa05hbWVkVHJhbnNmZXJGbkV4dDo6a0E5OFJHQiwKKysgICAgICAgICAgICAg ICAgICAgICAgICAgICBrRGVmYXVsdFNpbmNlVmVyc2lvbn19LAorICAgICB9KTsKKyAKKyAvLyBB IG1hcCBmcm9tIHRoZSBIRFIgemNyX2NvbG9yX21hbmFnZXJfdjEgZW90Zl9uYW1lcyBlbnVtIHZh bHVlcworQEAgLTE5NCw2OCArMTk0LDY4IEBAIGNvbnN0ZXhwciBhdXRvIGtUcmFuc2Zlck1hcCA9 CisgY29uc3RleHByIGF1dG8ga0hEUlRyYW5zZmVyTWFwID0KKyAgICAgYmFzZTo6TWFrZUZpeGVk RmxhdE1hcDx6Y3JfY29sb3JfbWFuYWdlcl92MV9lb3RmX25hbWVzLCBUcmFuc2ZlckZuVmVyc2lv bj4oCisgICAgICAgICB7e1pDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfTElORUFSLAor LSAgICAgICAgICBUcmFuc2ZlckZuVmVyc2lvbihTa05hbWVkVHJhbnNmZXJGbjo6a0xpbmVhciwg a0RlZmF1bHRTaW5jZVZlcnNpb24pfSwKKysgICAgICAgICAgVHJhbnNmZXJGblZlcnNpb257U2tO YW1lZFRyYW5zZmVyRm46OmtMaW5lYXIsIGtEZWZhdWx0U2luY2VWZXJzaW9ufX0sCisgICAgICAg ICAge1pDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfU1JHQiwKKy0gICAgICAgICAgVHJh bnNmZXJGblZlcnNpb24oU2tOYW1lZFRyYW5zZmVyRm5FeHQ6OmtTUkdCLCBrRGVmYXVsdFNpbmNl VmVyc2lvbil9LAorKyAgICAgICAgICBUcmFuc2ZlckZuVmVyc2lvbntTa05hbWVkVHJhbnNmZXJG bkV4dDo6a1NSR0IsIGtEZWZhdWx0U2luY2VWZXJzaW9ufX0sCisgICAgICAgICAge1pDUl9DT0xP Ul9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfUFEsCistICAgICAgICAgIFRyYW5zZmVyRm5WZXJzaW9u KFNrTmFtZWRUcmFuc2ZlckZuOjprUFEsIGtEZWZhdWx0U2luY2VWZXJzaW9uKX0sCisrICAgICAg ICAgIFRyYW5zZmVyRm5WZXJzaW9ue1NrTmFtZWRUcmFuc2ZlckZuOjprUFEsIGtEZWZhdWx0U2lu Y2VWZXJzaW9ufX0sCisgICAgICAgICAge1pDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNf SExHLAorLSAgICAgICAgICBUcmFuc2ZlckZuVmVyc2lvbihTa05hbWVkVHJhbnNmZXJGbjo6a0hM RywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfRU9U Rl9OQU1FU19ITEdfU0lOQ0VfVkVSU0lPTil9LAorKyAgICAgICAgICBUcmFuc2ZlckZuVmVyc2lv bntTa05hbWVkVHJhbnNmZXJGbjo6a0hMRywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAg WkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19ITEdfU0lOQ0VfVkVSU0lPTn19LAorICAg ICAgICAgIHtaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX0VYVEVOREVEU1JHQjEwLAor LSAgICAgICAgICBUcmFuc2ZlckZuVmVyc2lvbigKKysgICAgICAgICAgVHJhbnNmZXJGblZlcnNp b257CisgICAgICAgICAgICAgICBTa05hbWVkVHJhbnNmZXJGbkV4dDo6a1NSR0JFeHRlbmRlZDEw MjNPdmVyNTEwLAorLSAgICAgICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1F U19FWFRFTkRFRFNSR0IxMF9TSU5DRV9WRVJTSU9OKX19KTsKKysgICAgICAgICAgICAgIFpDUl9D T0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfRVhURU5ERURTUkdCMTBfU0lOQ0VfVkVSU0lPTn19 fSk7CisgCisgLy8gQSBtYXAgZnJvbSB6Y3JfY29sb3JfbWFuYWdlcl92MSBtYXRyaXhfbmFtZXMg ZW51bSB2YWx1ZXMgdG8KKyAvLyBnZng6OkNvbG9yU3BhY2U6Ok1hdHJpeElEcy4KKyBjb25zdGV4 cHIgYXV0byBrTWF0cml4TWFwID0KKyAgICAgYmFzZTo6TWFrZUZpeGVkRmxhdE1hcDx6Y3JfY29s b3JfbWFuYWdlcl92MV9tYXRyaXhfbmFtZXMsIE1hdHJpeFZlcnNpb24+KAorICAgICAgICAge3ta Q1JfQ09MT1JfTUFOQUdFUl9WMV9NQVRSSVhfTkFNRVNfUkdCLAorLSAgICAgICAgICBNYXRyaXhW ZXJzaW9uKGdmeDo6Q29sb3JTcGFjZTo6TWF0cml4SUQ6OlJHQiwga0RlZmF1bHRTaW5jZVZlcnNp b24pfSwKKysgICAgICAgICAgTWF0cml4VmVyc2lvbntnZng6OkNvbG9yU3BhY2U6Ok1hdHJpeElE OjpSR0IsIGtEZWZhdWx0U2luY2VWZXJzaW9ufX0sCisgICAgICAgICAge1pDUl9DT0xPUl9NQU5B R0VSX1YxX01BVFJJWF9OQU1FU19CVDcwOSwKKy0gICAgICAgICAgTWF0cml4VmVyc2lvbihnZng6 OkNvbG9yU3BhY2U6Ok1hdHJpeElEOjpCVDcwOSwKKy0gICAgICAgICAgICAgICAgICAgICAgICBr RGVmYXVsdFNpbmNlVmVyc2lvbil9LAorKyAgICAgICAgICBNYXRyaXhWZXJzaW9ue2dmeDo6Q29s b3JTcGFjZTo6TWF0cml4SUQ6OkJUNzA5LAorKyAgICAgICAgICAgICAgICAgICAgICAgIGtEZWZh dWx0U2luY2VWZXJzaW9ufX0sCisgICAgICAgICAge1pDUl9DT0xPUl9NQU5BR0VSX1YxX01BVFJJ WF9OQU1FU19CVDQ3MEJHLAorLSAgICAgICAgICBNYXRyaXhWZXJzaW9uKAorKyAgICAgICAgICBN YXRyaXhWZXJzaW9ueworICAgICAgICAgICAgICAgZ2Z4OjpDb2xvclNwYWNlOjpNYXRyaXhJRDo6 QlQ0NzBCRywKKy0gICAgICAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX01BVFJJWF9OQU1F U19CVDQ3MEJHX1NJTkNFX1ZFUlNJT04pfSwKKysgICAgICAgICAgICAgIFpDUl9DT0xPUl9NQU5B R0VSX1YxX01BVFJJWF9OQU1FU19CVDQ3MEJHX1NJTkNFX1ZFUlNJT059fSwKKyAgICAgICAgICB7 WkNSX0NPTE9SX01BTkFHRVJfVjFfTUFUUklYX05BTUVTX0JUMjAyMF9OQ0wsCistICAgICAgICAg IE1hdHJpeFZlcnNpb24oZ2Z4OjpDb2xvclNwYWNlOjpNYXRyaXhJRDo6QlQyMDIwX05DTCwKKy0g ICAgICAgICAgICAgICAgICAgICAgICBrRGVmYXVsdFNpbmNlVmVyc2lvbil9LAorKyAgICAgICAg ICBNYXRyaXhWZXJzaW9ue2dmeDo6Q29sb3JTcGFjZTo6TWF0cml4SUQ6OkJUMjAyMF9OQ0wsCisr ICAgICAgICAgICAgICAgICAgICAgICAga0RlZmF1bHRTaW5jZVZlcnNpb259fSwKKyAgICAgICAg ICB7WkNSX0NPTE9SX01BTkFHRVJfVjFfTUFUUklYX05BTUVTX0JUMjAyMF9DTCwKKy0gICAgICAg ICAgTWF0cml4VmVyc2lvbihnZng6OkNvbG9yU3BhY2U6Ok1hdHJpeElEOjpCVDIwMjBfQ0wsCist ICAgICAgICAgICAgICAgICAgICAgICAga0RlZmF1bHRTaW5jZVZlcnNpb24pfSwKKysgICAgICAg ICAgTWF0cml4VmVyc2lvbntnZng6OkNvbG9yU3BhY2U6Ok1hdHJpeElEOjpCVDIwMjBfQ0wsCisr ICAgICAgICAgICAgICAgICAgICAgICAga0RlZmF1bHRTaW5jZVZlcnNpb259fSwKKyAgICAgICAg ICB7WkNSX0NPTE9SX01BTkFHRVJfVjFfTUFUUklYX05BTUVTX0ZDQywKKy0gICAgICAgICAgTWF0 cml4VmVyc2lvbihnZng6OkNvbG9yU3BhY2U6Ok1hdHJpeElEOjpGQ0MsIGtEZWZhdWx0U2luY2VW ZXJzaW9uKX0sCisrICAgICAgICAgIE1hdHJpeFZlcnNpb257Z2Z4OjpDb2xvclNwYWNlOjpNYXRy aXhJRDo6RkNDLCBrRGVmYXVsdFNpbmNlVmVyc2lvbn19LAorICAgICAgICAgIHtaQ1JfQ09MT1Jf TUFOQUdFUl9WMV9NQVRSSVhfTkFNRVNfWUNPQ0csCistICAgICAgICAgIE1hdHJpeFZlcnNpb24o Z2Z4OjpDb2xvclNwYWNlOjpNYXRyaXhJRDo6WUNPQ0csCistICAgICAgICAgICAgICAgICAgICAg ICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfTUFUUklYX05BTUVTX1lDT0NHX1NJTkNFX1ZFUlNJT04p fSwKKysgICAgICAgICAgTWF0cml4VmVyc2lvbntnZng6OkNvbG9yU3BhY2U6Ok1hdHJpeElEOjpZ Q09DRywKKysgICAgICAgICAgICAgICAgICAgICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9NQVRS SVhfTkFNRVNfWUNPQ0dfU0lOQ0VfVkVSU0lPTn19LAorICAgICAgICAgIHtaQ1JfQ09MT1JfTUFO QUdFUl9WMV9NQVRSSVhfTkFNRVNfWURaRFgsCistICAgICAgICAgIE1hdHJpeFZlcnNpb24oZ2Z4 OjpDb2xvclNwYWNlOjpNYXRyaXhJRDo6WURaRFgsCistICAgICAgICAgICAgICAgICAgICAgICAg WkNSX0NPTE9SX01BTkFHRVJfVjFfTUFUUklYX05BTUVTX1lEWkRYX1NJTkNFX1ZFUlNJT04pfSwK KysgICAgICAgICAgTWF0cml4VmVyc2lvbntnZng6OkNvbG9yU3BhY2U6Ok1hdHJpeElEOjpZRFpE WCwKKysgICAgICAgICAgICAgICAgICAgICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9NQVRSSVhf TkFNRVNfWURaRFhfU0lOQ0VfVkVSU0lPTn19LAorICAgICAgICAgIHtaQ1JfQ09MT1JfTUFOQUdF Ul9WMV9NQVRSSVhfTkFNRVNfR0JSLAorLSAgICAgICAgICBNYXRyaXhWZXJzaW9uKGdmeDo6Q29s b3JTcGFjZTo6TWF0cml4SUQ6OkdCUiwKKy0gICAgICAgICAgICAgICAgICAgICAgICBaQ1JfQ09M T1JfTUFOQUdFUl9WMV9NQVRSSVhfTkFNRVNfR0JSX1NJTkNFX1ZFUlNJT04pfSwKKysgICAgICAg ICAgTWF0cml4VmVyc2lvbntnZng6OkNvbG9yU3BhY2U6Ok1hdHJpeElEOjpHQlIsCisrICAgICAg ICAgICAgICAgICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfTUFUUklYX05BTUVTX0dCUl9T SU5DRV9WRVJTSU9OfX0sCisgICAgICAgICAge1pDUl9DT0xPUl9NQU5BR0VSX1YxX01BVFJJWF9O QU1FU19TTVBURTE3ME0sCistICAgICAgICAgIE1hdHJpeFZlcnNpb24oZ2Z4OjpDb2xvclNwYWNl OjpNYXRyaXhJRDo6U01QVEUxNzBNLAorLSAgICAgICAgICAgICAgICAgICAgICAgIGtEZWZhdWx0 U2luY2VWZXJzaW9uKX0sCisrICAgICAgICAgIE1hdHJpeFZlcnNpb257Z2Z4OjpDb2xvclNwYWNl OjpNYXRyaXhJRDo6U01QVEUxNzBNLAorKyAgICAgICAgICAgICAgICAgICAgICAgIGtEZWZhdWx0 U2luY2VWZXJzaW9ufX0sCisgICAgICAgICAge1pDUl9DT0xPUl9NQU5BR0VSX1YxX01BVFJJWF9O QU1FU19TTVBURTI0ME0sCistICAgICAgICAgIE1hdHJpeFZlcnNpb24oZ2Z4OjpDb2xvclNwYWNl OjpNYXRyaXhJRDo6U01QVEUyNDBNLAorLSAgICAgICAgICAgICAgICAgICAgICAgIGtEZWZhdWx0 U2luY2VWZXJzaW9uKX19KTsKKysgICAgICAgICAgTWF0cml4VmVyc2lvbntnZng6OkNvbG9yU3Bh Y2U6Ok1hdHJpeElEOjpTTVBURTI0ME0sCisrICAgICAgICAgICAgICAgICAgICAgICAga0RlZmF1 bHRTaW5jZVZlcnNpb259fX0pOworIAorIC8vIEEgbWFwIGZyb20gemNyX2NvbG9yX21hbmFnZXJf djEgcmFuZ2VfbmFtZXMgZW51bSB2YWx1ZXMgdG8KKyAvLyBnZng6OkNvbG9yU3BhY2U6OlJhbmdl SURzLgorIGNvbnN0ZXhwciBhdXRvIGtSYW5nZU1hcCA9CisgICAgIGJhc2U6Ok1ha2VGaXhlZEZs YXRNYXA8emNyX2NvbG9yX21hbmFnZXJfdjFfcmFuZ2VfbmFtZXMsIFJhbmdlVmVyc2lvbj4oCisg ICAgICAgICB7e1pDUl9DT0xPUl9NQU5BR0VSX1YxX1JBTkdFX05BTUVTX0xJTUlURUQsCistICAg ICAgICAgIFJhbmdlVmVyc2lvbihnZng6OkNvbG9yU3BhY2U6OlJhbmdlSUQ6OkxJTUlURUQsCist ICAgICAgICAgICAgICAgICAgICAgICBrRGVmYXVsdFNpbmNlVmVyc2lvbil9LAorKyAgICAgICAg ICBSYW5nZVZlcnNpb257Z2Z4OjpDb2xvclNwYWNlOjpSYW5nZUlEOjpMSU1JVEVELAorKyAgICAg ICAgICAgICAgICAgICAgICAga0RlZmF1bHRTaW5jZVZlcnNpb259fSwKKyAgICAgICAgICB7WkNS X0NPTE9SX01BTkFHRVJfVjFfUkFOR0VfTkFNRVNfRlVMTCwKKy0gICAgICAgICAgUmFuZ2VWZXJz aW9uKGdmeDo6Q29sb3JTcGFjZTo6UmFuZ2VJRDo6RlVMTCwga0RlZmF1bHRTaW5jZVZlcnNpb24p fSwKKysgICAgICAgICAgUmFuZ2VWZXJzaW9ue2dmeDo6Q29sb3JTcGFjZTo6UmFuZ2VJRDo6RlVM TCwga0RlZmF1bHRTaW5jZVZlcnNpb259fSwKKyAgICAgICAgICB7WkNSX0NPTE9SX01BTkFHRVJf VjFfUkFOR0VfTkFNRVNfREVSSVZFRCwKKy0gICAgICAgICAgUmFuZ2VWZXJzaW9uKGdmeDo6Q29s b3JTcGFjZTo6UmFuZ2VJRDo6REVSSVZFRCwKKy0gICAgICAgICAgICAgICAgICAgICAgIGtEZWZh dWx0U2luY2VWZXJzaW9uKX19KTsKKysgICAgICAgICAgUmFuZ2VWZXJzaW9ue2dmeDo6Q29sb3JT cGFjZTo6UmFuZ2VJRDo6REVSSVZFRCwKKysgICAgICAgICAgICAgICAgICAgICAgIGtEZWZhdWx0 U2luY2VWZXJzaW9ufX19KTsKKyAKKyB6Y3JfY29sb3JfbWFuYWdlcl92MV9jaHJvbWF0aWNpdHlf bmFtZXMgVG9Db2xvck1hbmFnZXJDaHJvbWF0aWNpdHkoCisgICAgIGdmeDo6Q29sb3JTcGFjZTo6 UHJpbWFyeUlEIHByaW1hcnlJRCwKK2RpZmYgLXVwIGNocm9taXVtLTExNi4wLjU4NDUuNTAvY2hy b21lL2Jyb3dzZXIvdWkvb21uaWJveC9jaHJvbWVfb21uaWJveF9jbGllbnQuY2MubWUgY2hyb21p dW0tMTE2LjAuNTg0NS41MC9jaHJvbWUvYnJvd3Nlci91aS9vbW5pYm94L2Nocm9tZV9vbW5pYm94 X2NsaWVudC5jYworLS0tIGNocm9taXVtLTExNi4wLjU4NDUuNTAvY2hyb21lL2Jyb3dzZXIvdWkv b21uaWJveC9jaHJvbWVfb21uaWJveF9jbGllbnQuY2MubWUJMjAyMy0wOC0wMyAxMzoyMzozMy43 NDgzOTQ2MTUgKzAyMDAKKysrKyBjaHJvbWl1bS0xMTYuMC41ODQ1LjUwL2Nocm9tZS9icm93c2Vy L3VpL29tbmlib3gvY2hyb21lX29tbmlib3hfY2xpZW50LmNjCTIwMjMtMDgtMDMgMTM6MjU6MDEu MTQwNDg5ODQwICswMjAwCitAQCAtNDcwLDEwICs0NzAsMTAgQEAgdm9pZCBDaHJvbWVPbW5pYm94 Q2xpZW50OjpPbkF1dG9jb21wbGV0ZQorICAgICAgICAgICAgICAgYWx0ZXJuYXRpdmVfbmF2X21h dGNoKTsKKyAKKyAgIC8vIFN0b3JlIHRoZSBkZXRhaWxzIG5lY2Vzc2FyeSB0byBvcGVuIHRoZSBv bW5pYm94IG1hdGNoIHZpYSBicm93c2VyIGNvbW1hbmRzLgorLSAgbG9jYXRpb25fYmFyXy0+c2V0 X25hdmlnYXRpb25fcGFyYW1zKExvY2F0aW9uQmFyOjpOYXZpZ2F0aW9uUGFyYW1zKAorKyAgbG9j YXRpb25fYmFyXy0+c2V0X25hdmlnYXRpb25fcGFyYW1zKExvY2F0aW9uQmFyOjpOYXZpZ2F0aW9u UGFyYW1zeworICAgICAgIGRlc3RpbmF0aW9uX3VybCwgZGlzcG9zaXRpb24sIHRyYW5zaXRpb24s IG1hdGNoX3NlbGVjdGlvbl90aW1lc3RhbXAsCisgICAgICAgZGVzdGluYXRpb25fdXJsX2VudGVy ZWRfd2l0aG91dF9zY2hlbWUsCistICAgICAgZGVzdGluYXRpb25fdXJsX2VudGVyZWRfd2l0aF9o dHRwX3NjaGVtZSkpOworKyAgICAgIGRlc3RpbmF0aW9uX3VybF9lbnRlcmVkX3dpdGhfaHR0cF9z Y2hlbWV9KTsKKyAKKyAgIGlmIChicm93c2VyXykgeworICAgICBhdXRvIG5hdmlnYXRpb24gPSBj aHJvbWU6Ok9wZW5DdXJyZW50VVJMKGJyb3dzZXJfKTsKCmRpZmYgLS1naXQgYS9jaHJvbWl1bS0x MTYtc3lzdGVtLWJyb3RsaS5wYXRjaCBiL2Nocm9taXVtLTExNi1zeXN0ZW0tYnJvdGxpLnBhdGNo Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI2MmIxMjgKLS0tIC9kZXYvbnVs bAorKysgYi9jaHJvbWl1bS0xMTYtc3lzdGVtLWJyb3RsaS5wYXRjaApAQCAtMCwwICsxLDM4IEBA CitkaWZmIC11cCBjaHJvbWl1bS0xMTYuMC41ODQ1LjUwL25ldC9maWx0ZXIvYnJvdGxpX3NvdXJj ZV9zdHJlYW0uY2Muc3lzdGVtLWJyb3RsaSBjaHJvbWl1bS0xMTYuMC41ODQ1LjUwL25ldC9maWx0 ZXIvYnJvdGxpX3NvdXJjZV9zdHJlYW0uY2MKKy0tLSBjaHJvbWl1bS0xMTYuMC41ODQ1LjUwL25l dC9maWx0ZXIvYnJvdGxpX3NvdXJjZV9zdHJlYW0uY2Muc3lzdGVtLWJyb3RsaQkyMDIzLTA3LTMw IDEzOjA2OjA2LjI4NDcwNTgyMyArMDIwMAorKysrIGNocm9taXVtLTExNi4wLjU4NDUuNTAvbmV0 L2ZpbHRlci9icm90bGlfc291cmNlX3N0cmVhbS5jYwkyMDIzLTA3LTMwIDEzOjA4OjQzLjM5ODIx ODE0MSArMDIwMAorQEAgLTEyLDggKzEyLDggQEAKKyAjaW5jbHVkZSAiYmFzZS9tZW1vcnkvcmF3 X3B0ci5oIgorICNpbmNsdWRlICJiYXNlL21ldHJpY3MvaGlzdG9ncmFtX21hY3Jvcy5oIgorICNp bmNsdWRlICJuZXQvYmFzZS9pb19idWZmZXIuaCIKKy0jaW5jbHVkZSAidGhpcmRfcGFydHkvYnJv dGxpL2luY2x1ZGUvYnJvdGxpL2RlY29kZS5oIgorLSNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9icm90 bGkvaW5jbHVkZS9icm90bGkvc2hhcmVkX2RpY3Rpb25hcnkuaCIKKysjaW5jbHVkZSA8YnJvdGxp L2RlY29kZS5oPgorKyNpbmNsdWRlIDxicm90bGkvc2hhcmVkX2RpY3Rpb25hcnkuaD4KKyAKKyBu YW1lc3BhY2UgbmV0IHsKKyAKK2RpZmYgLXVwIGNocm9taXVtLTExNi4wLjU4NDUuNTAvbmV0L3Nz bC9jZXJ0X2NvbXByZXNzaW9uLmNjLnN5c3RlbS1icm90bGkgY2hyb21pdW0tMTE2LjAuNTg0NS41 MC9uZXQvc3NsL2NlcnRfY29tcHJlc3Npb24uY2MKKy0tLSBjaHJvbWl1bS0xMTYuMC41ODQ1LjUw L25ldC9zc2wvY2VydF9jb21wcmVzc2lvbi5jYy5zeXN0ZW0tYnJvdGxpCTIwMjMtMDctMjYgMTc6 NDM6MDEuMDAwMDAwMDAwICswMjAwCisrKysgY2hyb21pdW0tMTE2LjAuNTg0NS41MC9uZXQvc3Ns L2NlcnRfY29tcHJlc3Npb24uY2MJMjAyMy0wNy0zMCAxMzowNjowNi4yODQ3MDU4MjMgKzAyMDAK K0BAIC05LDcgKzksNyBAQAorICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL2lu Y2x1ZGUvb3BlbnNzbC9zc2wuaCIKKyAKKyAjaWYgIWRlZmluZWQoTkVUX0RJU0FCTEVfQlJPVExJ KQorLSNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9icm90bGkvaW5jbHVkZS9icm90bGkvZGVjb2RlLmgi CisrI2luY2x1ZGUgPGJyb3RsaS9kZWNvZGUuaD4KKyAjZW5kaWYKKyAKKyBuYW1lc3BhY2UgbmV0 IHsKK2RpZmYgLXVwIGNocm9taXVtLTExNi4wLjU4NDUuNTAvdWkvYmFzZS9yZXNvdXJjZS9yZXNv dXJjZV9idW5kbGUuY2Muc3lzdGVtLWJyb3RsaSBjaHJvbWl1bS0xMTYuMC41ODQ1LjUwL3VpL2Jh c2UvcmVzb3VyY2UvcmVzb3VyY2VfYnVuZGxlLmNjCistLS0gY2hyb21pdW0tMTE2LjAuNTg0NS41 MC91aS9iYXNlL3Jlc291cmNlL3Jlc291cmNlX2J1bmRsZS5jYy5zeXN0ZW0tYnJvdGxpCTIwMjMt MDctMjYgMTc6NDM6MjMuMDAwMDAwMDAwICswMjAwCisrKysgY2hyb21pdW0tMTE2LjAuNTg0NS41 MC91aS9iYXNlL3Jlc291cmNlL3Jlc291cmNlX2J1bmRsZS5jYwkyMDIzLTA3LTMwIDEzOjA2OjA2 LjI4NDcwNTgyMyArMDIwMAorQEAgLTMyLDcgKzMyLDcgQEAKKyAjaW5jbHVkZSAibmV0L2ZpbHRl ci9nemlwX2hlYWRlci5oIgorICNpbmNsdWRlICJza2lhL2V4dC9pbWFnZV9vcGVyYXRpb25zLmgi CisgI2luY2x1ZGUgInRoaXJkX3BhcnR5L2Fic2VpbC1jcHAvYWJzbC90eXBlcy92YXJpYW50Lmgi CistI2luY2x1ZGUgInRoaXJkX3BhcnR5L2Jyb3RsaS9pbmNsdWRlL2Jyb3RsaS9kZWNvZGUuaCIK KysjaW5jbHVkZSA8YnJvdGxpL2RlY29kZS5oPgorICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9za2lh L2luY2x1ZGUvY29yZS9Ta0JpdG1hcC5oIgorICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9za2lhL2lu Y2x1ZGUvY29yZS9Ta0NvbG9yLmgiCisgI2luY2x1ZGUgInRoaXJkX3BhcnR5L3psaWIvZ29vZ2xl L2NvbXByZXNzaW9uX3V0aWxzLmgiCgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0tMTE2LXR3ZWFrX2Fi b3V0X2dwdS5wYXRjaCBiL2Nocm9taXVtLTExNi10d2Vha19hYm91dF9ncHUucGF0Y2gKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjRhNDhlOQotLS0gL2Rldi9udWxsCisrKyBi L2Nocm9taXVtLTExNi10d2Vha19hYm91dF9ncHUucGF0Y2gKQEAgLTAsMCArMSwyMzcgQEAKK2Nv bW1pdCBlMmY4YTFlMWI1YzAwOTZjYjA0NjVhNzllNGY2YzUzZDBkNTBlNjY0CitBdXRob3I6IEdy ZWdnIFRhdmFyZXMgPGdtYW5AY2hyb21pdW0ub3JnPgorRGF0ZTogICBGcmkgQXVnIDExIDAwOjMy OjE5IDIwMjMgKzAwMDAKKworICAgIFR3ZWFrIGFib3V0OmdwdQorICAgIAorICAgICogTWFrZSBp dCBzbyB5b3UgY2FuIHNlbGVjdCBhbGwgdGhlIHRleHQKKyAgICAKKyAgICAgIEFzIGl0IHdhcywg c2VsZWN0aW9uIG9ubHkgd29ya2VkIG9uIGluZGl2aWR1YWwgdG9wIGxldmVsIGRpdnMuCisgICAg ICBBZGRpbmcgYW4gZW5jbG9zaW5nIHBhcmVudCBkaXYgZml4ZWQgdGhpcyBpc3N1ZQorICAgIAor ICAgICogQ2hhbmdlICJDb3B5IFJlcG9ydCB0byBDbGlwYm9hcmQiIHRvICJEb3dubG9hZCBSZXBv cnQgdG8gRmlsZSIKKyAgICAKKyAgICAgIFRoZSBkYXRhIGhlcmUgd2FzIGFsbW9zdCBhbHdheXMg dG9vIGJpZy4gVG9vIGJpZyB0byBwYXN0ZSBpbnRvCisgICAgICBhIGNocm9tZSBidWcsIHRvbyBi aWcgdG8gcGFzdGUgaW50byBjaGF0LgorICAgIAorICAgICAgVGhlIHVzZXIgY2FuIHN0aWxsIHBy ZXNzIEN0cmwtQS9DbWQtQSBvciBwaWNrIFNlbGVjdC1BbGwKKyAgICAgIGFuZCBkbyBhIHRleHQg Y29weS4KKyAgICAKKyAgICAqIEFkZCBkYXJrIG1vZGUgc3VwcG9ydAorICAgIAorICAgIEJ1Zzog MTQ3MDkyNworICAgIENoYW5nZS1JZDogSTgyZGEyOWFlNWI2ODEwNmYyMDRkMDIwODRlMjUyZDNm MDczNzNhNjkKKyAgICBSZXZpZXdlZC1vbjogaHR0cHM6Ly9jaHJvbWl1bS1yZXZpZXcuZ29vZ2xl c291cmNlLmNvbS9jL2Nocm9taXVtL3NyYy8rLzQ3NjQyNjkKKyAgICBDb21taXQtUXVldWU6IEdy ZWdnIFRhdmFyZXMgPGdtYW5AY2hyb21pdW0ub3JnPgorICAgIFJldmlld2VkLWJ5OiBLZW5uZXRo IFJ1c3NlbGwgPGtickBjaHJvbWl1bS5vcmc+CisgICAgUmV2aWV3ZWQtYnk6IEthaSBOaW5vbWl5 YSA8a2Fpbmlub0BjaHJvbWl1bS5vcmc+CisgICAgQ3ItQ29tbWl0LVBvc2l0aW9uOiByZWZzL2hl YWRzL21haW5AeyMxMTgyMzgzfQorCitkaWZmIC0tZ2l0IGEvY29udGVudC9icm93c2VyL3Jlc291 cmNlcy9ncHUvZ3B1X2ludGVybmFscy5odG1sIGIvY29udGVudC9icm93c2VyL3Jlc291cmNlcy9n cHUvZ3B1X2ludGVybmFscy5odG1sCitpbmRleCBkMzI0Zjk2Nzk4ZmQ2Li4yMjMyMmJiNmJhN2Q4 IDEwMDY0NAorLS0tIGEvY29udGVudC9icm93c2VyL3Jlc291cmNlcy9ncHUvZ3B1X2ludGVybmFs cy5odG1sCisrKysgYi9jb250ZW50L2Jyb3dzZXIvcmVzb3VyY2VzL2dwdS9ncHVfaW50ZXJuYWxz Lmh0bWwKK0BAIC05LDEzICs5LDE1IEBAIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisgPG1l dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCIgLz4KKyA8dGl0 bGU+R1BVIEludGVybmFsczwvdGl0bGU+CisgPHN0eWxlPgorKyAgOnJvb3QgeworKyAgICBjb2xv ci1zY2hlbWU6IGxpZ2h0IGRhcms7CisrICB9CisgICAqIHsKKyAgICAgYm94LXNpemluZzogYm9y ZGVyLWJveDsKKyAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CisgICB9CisgCisgICBib2R5IHsKKy0g ICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7CisgICAgIGN1cnNvcjogZGVmYXVsdDsKKyAgICAg Zm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7CisgICAgIG1hcmdpbjogOHB4OworZGlmZiAtLWdpdCBh L2NvbnRlbnQvYnJvd3Nlci9yZXNvdXJjZXMvZ3B1L2luZm9fdmlldy5odG1sIGIvY29udGVudC9i cm93c2VyL3Jlc291cmNlcy9ncHUvaW5mb192aWV3Lmh0bWwKK2luZGV4IDI4OTY5MWNlYjExYjMu LmNlMzY0M2RhMmFkYjYgMTAwNjQ0CistLS0gYS9jb250ZW50L2Jyb3dzZXIvcmVzb3VyY2VzL2dw dS9pbmZvX3ZpZXcuaHRtbAorKysrIGIvY29udGVudC9icm93c2VyL3Jlc291cmNlcy9ncHUvaW5m b192aWV3Lmh0bWwKK0BAIC01LDEyICs1LDI4IEBAIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUu CisgLS0+CisgPHN0eWxlPgorICAgOmhvc3QgeworKyAgICAtLWdyZWVuOiAjMDgwOworKyAgICAt LXllbGxvdzogIzg4MDsKKysgICAgLS1yZWQ6ICNmMDA7CisrICAgIC0tZ3JheTogIzg4ODsKKysg ICAgLS1iZy15ZWxsb3c6ICNmZjA7CisrCisgICAgIGRpc3BsYXk6IGJsb2NrOworICAgICBmbGV4 OiAxOworICAgICBvdmVyZmxvdzogYXV0bzsKKyAgICAgcGFkZGluZzogMTBweDsKKyAgIH0KKyAK KysgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHsKKysgICAgOmhvc3Qgewor KyAgICAgIC0tZ3JlZW46ICMwRjA7CisrICAgICAgLS15ZWxsb3c6ICNGRjA7CisrICAgICAgLS1y ZWQ6ICNmMDA7CisrICAgICAgLS1ncmF5OiAjODg4OworKyAgICAgIC0tYmcteWVsbG93OiAjODgw OworKyAgICB9CisrICB9CisrCisgICA6aG9zdCAqIHsKKyAgICAgdXNlci1zZWxlY3Q6IHRleHQ7 CisgICB9CitAQCAtMjYsNzcgKzQyLDUyIEBAIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisg ICAgIG1hcmdpbi10b3A6IDA7CisgICB9CisgCistICA6aG9zdCA+IGRpdiB7CisrICAjY29udGVu dCA+IGRpdiB7CisgICAgIG1hcmdpbi1ib3R0b206IDFlbTsKKyAgIH0KKyAKKyAgIC5mZWF0dXJl LWdyZWVuIHsKKy0gICAgY29sb3I6IHJnYigwLCAxMjgsIDApOworKyAgICBjb2xvcjogdmFyKC0t Z3JlZW4pOworICAgfQorIAorICAgLmZlYXR1cmUteWVsbG93IHsKKy0gICAgY29sb3I6IHJnYigx MjgsIDEyOCwgMCk7CisrICAgIGNvbG9yOiB2YXIoLS15ZWxsb3cpOworICAgfQorIAorICAgLmZl YXR1cmUtcmVkIHsKKy0gICAgY29sb3I6IHJnYigyNTUsIDAsIDApOworKyAgICBjb2xvcjogdmFy KC0tcmVkKTsKKyAgIH0KKyAKKyAgIC5mZWF0dXJlLWdyYXkgeworLSAgICBjb2xvcjogcmdiKDEy OCwgMTI4LCAxMjgpOworKyAgICBjb2xvcjogdmFyKC0tZ3JheSk7CisgICB9CisgCisgICAuYmct eWVsbG93IHsKKy0gICAgYmFja2dyb3VuZC1jb2xvcjogeWVsbG93OworKyAgICBiYWNrZ3JvdW5k LWNvbG9yOiB2YXIoLS1iZy15ZWxsb3cpOworICAgfQorIAorICAgI3Z1bGthbi1pbmZvLXZhbHVl IHsKKyAgICAgd2hpdGUtc3BhY2U6IHByZTsKKyAgIH0KKyAKKy0gICNjb3B5LXRvLWNsaXBib2Fy ZCB7CistICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgjZWRlZGVkLCAjZWRl ZGVkIDM4JSwgI2RlZGVkZSk7CistICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwg LjI1KTsKKy0gICAgYm9yZGVyLXJhZGl1czogMnB4OworLSAgICBib3gtc2hhZG93OiAwIDFweCAw IHJnYmEoMCwgMCwgMCwgMC4wOCksCistICAgICAgICBpbnNldCAwIDFweCAycHggcmdiYSgyNTUs IDI1NSwgMjU1LCAwLjc1KTsKKy0gICAgY29sb3I6ICM0NDQ7CisrICAjZG93bmxvYWQtdG8tZmls ZSB7CisgICAgIGZvbnQ6IGluaGVyaXQ7CisgICAgIG1hcmdpbjogMCAxcHggMCAwOworICAgICBt aW4taGVpZ2h0OiAyZW07CistICAgIG91dGxpbmU6IG5vbmU7CisgICAgIHBhZGRpbmc6IDFweCAx MHB4OworLSAgICB0ZXh0LXNoYWRvdzogMCAxcHggMCByZ2IoMjQwLCAyNDAsIDI0MCk7CisgICAg IHVzZXItc2VsZWN0OiBub25lOworICAgfQorIAorLSAgI2NvcHktdG8tY2xpcGJvYXJkOmVuYWJs ZWQ6aG92ZXIgeworLSAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoI2YwZjBm MCwgI2YwZjBmMCAzOCUsICNlMGUwZTApOworLSAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwg MCwgMC4zKTsKKy0gICAgYm94LXNoYWRvdzogMCAxcHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLAor LSAgICAgICAgaW5zZXQgMCAxcHggMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45NSk7CistICAg IGNvbG9yOiBibGFjazsKKy0gIH0KKy0KKy0gICNjb3B5LXRvLWNsaXBib2FyZDplbmFibGVkOmFj dGl2ZSB7CistICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgjZTdlN2U3LCAj ZTdlN2U3IDM4JSwgI2Q3ZDdkNyk7CistICAgIGJveC1zaGFkb3c6IG5vbmU7CistICAgIHRleHQt c2hhZG93OiBub25lOworLSAgfQorLQorLSAgI2NvcHktdG8tY2xpcGJvYXJkOmVuYWJsZWQ6Zm9j dXMgeworLSAgICBib3JkZXItY29sb3I6IHJnYig3NywgMTQ0LCAyNTQpOworLSAgfQorLQorICAg aDQuZGF3bi1pbmZvLWhlYWRlciB7CistICAgIGNvbG9yOiByZ2IoMTI4LCAxMjgsIDApOworKyAg ICBjb2xvcjogdmFyKC0teWVsbG93KTsKKyAgICAgbWFyZ2luLWJvdHRvbTogMnB4OworICAgICBt YXJnaW4tdG9wOiAxMHB4OworICAgfQorIDwvc3R5bGU+CisgCisrPGRpdiBpZD0iY29udGVudCI+ CisgPGRpdj4KKy0gIDxidXR0b24gaWQ9ImNvcHktdG8tY2xpcGJvYXJkIj5Db3B5IFJlcG9ydCB0 byBDbGlwYm9hcmQ8L2J1dHRvbj4KKysgIDxidXR0b24gaWQ9ImRvd25sb2FkLXRvLWZpbGUiPkRv d25sb2FkIFJlcG9ydCB0byBGaWxlPC9idXR0b24+CisgPC9kaXY+CisgPGRpdj4KKyAgIDxoMz5H cmFwaGljcyBGZWF0dXJlIFN0YXR1czwvaDM+CitAQCAtMTkzLDMgKzE4NCw0IEBAIGZvdW5kIGlu IHRoZSBMSUNFTlNFIGZpbGUuCisgICA8aDM+TG9nIE1lc3NhZ2VzPC9oMz4KKyAgIDx1bD48L3Vs PgorIDwvZGl2PgorKzwvZGl2PgorXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCitkaWZmIC0t Z2l0IGEvY29udGVudC9icm93c2VyL3Jlc291cmNlcy9ncHUvaW5mb192aWV3LnRzIGIvY29udGVu dC9icm93c2VyL3Jlc291cmNlcy9ncHUvaW5mb192aWV3LnRzCitpbmRleCAwYjkxY2MxMzBmNDZm Li45NmMwOGY3NmU0YmM3IDEwMDY0NAorLS0tIGEvY29udGVudC9icm93c2VyL3Jlc291cmNlcy9n cHUvaW5mb192aWV3LnRzCisrKysgYi9jb250ZW50L2Jyb3dzZXIvcmVzb3VyY2VzL2dwdS9pbmZv X3ZpZXcudHMKK0BAIC0xMiw2ICsxMiwyMiBAQCBpbXBvcnQge2dldFRlbXBsYXRlfSBmcm9tICcu L2luZm9fdmlldy5odG1sLmpzJzsKKyBpbXBvcnQge0FycmF5RGF0YSwgRGF0YX0gZnJvbSAnLi9p bmZvX3ZpZXdfdGFibGVfcm93LmpzJzsKKyBpbXBvcnQge1Z1bGthbkluZm99IGZyb20gJy4vdnVs a2FuX2luZm8uanMnOworIAorKy8qKgorKyAqIEdpdmVuIGEgYmxvYiBhbmQgYSBmaWxlbmFtZSwg cHJvbXB0cyB1c2VyIHRvCisrICogc2F2ZSBhcyBhIGZpbGUuCisrICovCisrY29uc3Qgc2F2ZURh dGEgPSAoZnVuY3Rpb24oKSB7CisrICBjb25zdCBhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn YScpOworKyAgYS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOworKyAgZG9jdW1lbnQuYm9keS5hcHBl bmRDaGlsZChhKTsKKysgIHJldHVybiBmdW5jdGlvbiBzYXZlRGF0YShibG9iOiBCbG9iLCBmaWxl TmFtZTogc3RyaW5nKSB7CisrICAgIGNvbnN0IHVybCA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0 VVJMKGJsb2IpOworKyAgICBhLmhyZWYgPSB1cmw7CisrICAgIGEuZG93bmxvYWQgPSBmaWxlTmFt ZTsKKysgICAgYS5jbGljaygpOworKyAgfTsKKyt9KCkpOworKworIC8qKgorICAqIEBmaWxlb3Zl cnZpZXcgVGhpcyB2aWV3IGRpc3BsYXlzIGluZm9ybWF0aW9uIG9uIHRoZSBjdXJyZW50IEdQVQor ICAqIGhhcmR3YXJlLiAgSXRzIHByaW1hcnkgdXNlZnVsbmVzcyBpcyB0byBhbGxvdyB1c2VycyB0 byBjb3B5LXBhc3RlCitAQCAtMzMsMTkgKzQ5LDI2IEBAIGV4cG9ydCBjbGFzcyBJbmZvVmlld0Vs ZW1lbnQgZXh0ZW5kcyBDdXN0b21FbGVtZW50IHsKKyAgIH0KKyAKKyAgIGNvbm5lY3RlZENhbGxi YWNrKCkgeworLSAgICAvLyBBZGQgaGFuZGxlciB0byAnY29weSB0byBjbGlwYm9hcmQnIGJ1dHRv bgorLSAgICBjb25zdCBjb3B5QnV0dG9uID0KKy0gICAgICAgIHRoaXMuc2hhZG93Um9vdCEucXVl cnlTZWxlY3RvcjxIVE1MRWxlbWVudD4oJyNjb3B5LXRvLWNsaXBib2FyZCcpOworLSAgICBhc3Nl cnQoY29weUJ1dHRvbik7CistICAgIGNvcHlCdXR0b24ub25jbGljayA9ICgoKSA9PiB7CisrICAg IC8vIEFkZCBoYW5kbGVyIHRvICdkb3dubG9hZCByZXBvcnQgdG8gY2xpcGJvYXJkJyBidXR0b24K KysgICAgY29uc3QgZG93bmxvYWRCdXR0b24gPQorKyAgICAgICAgdGhpcy5zaGFkb3dSb290IS5x dWVyeVNlbGVjdG9yPEhUTUxFbGVtZW50PignI2Rvd25sb2FkLXRvLWZpbGUnKSE7CisrICAgIGFz c2VydChkb3dubG9hZEJ1dHRvbik7CisrICAgIGRvd25sb2FkQnV0dG9uLm9uY2xpY2sgPSAoKCkg PT4geworICAgICAgIC8vIE1ha2Ugc3VyZSBub3RoaW5nIGlzIHNlbGVjdGVkCisgICAgICAgY29u c3QgcyA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKSE7CisgICAgICAgcy5yZW1vdmVBbGxSYW5nZXMo KTsKKysKKysgICAgICAvLyBTZWxlY3QgZXZlcnl0aGluZworICAgICAgIHMuc2VsZWN0QWxsQ2hp bGRyZW4odGhpcy5zaGFkb3dSb290ISk7CistICAgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2Nv cHknKTsKKysgICAgICBjb25zdCB0ZXh0ID0gcy50b1N0cmluZygpOworIAorICAgICAgIC8vIEFu ZCBkZXNlbGVjdCBldmVyeXRoaW5nIGF0IHRoZSBlbmQuCisgICAgICAgd2luZG93LmdldFNlbGVj dGlvbigpIS5yZW1vdmVBbGxSYW5nZXMoKTsKKysKKysgICAgICBjb25zdCBibG9iID0gbmV3IEJs b2IoW3RleHRdLCB7dHlwZTogJ3RleHQvdGV4dCd9KTsKKysgICAgICBjb25zdCBmaWxlbmFtZSA9 IGBhYm91dC1ncHUtJHsKKysgICAgICAgICAgbmV3IERhdGUoKS50b0lTT1N0cmluZygpLnJlcGxh Y2UoL1teYS16MC05LV0vaWcsICctJyl9LnR4dGA7CisrICAgICAgc2F2ZURhdGEoYmxvYiwgZmls ZW5hbWUpOworICAgICB9KTsKKyAgIH0KKyAKCmRpZmYgLS1naXQgYS9jaHJvbWl1bS0xMTYtdHlw ZW5hbWUucGF0Y2ggYi9jaHJvbWl1bS0xMTYtdHlwZW5hbWUucGF0Y2gKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMC4uYzU4MTI2YwotLS0gL2Rldi9udWxsCisrKyBiL2Nocm9taXVt LTExNi10eXBlbmFtZS5wYXRjaApAQCAtMCwwICsxLDc5IEBACitkaWZmIC11cCBjaHJvbWl1bS0x MTUuMC41NzkwLjI0L2Nocm9tZS9icm93c2VyL2Rvd25sb2FkL2J1YmJsZS9kb3dubG9hZF9idWJi bGVfdXBkYXRlX3NlcnZpY2UuY2MubWUgY2hyb21pdW0tMTE1LjAuNTc5MC4yNC9jaHJvbWUvYnJv d3Nlci9kb3dubG9hZC9idWJibGUvZG93bmxvYWRfYnViYmxlX3VwZGF0ZV9zZXJ2aWNlLmNjCist LS0gY2hyb21pdW0tMTE1LjAuNTc5MC4yNC9jaHJvbWUvYnJvd3Nlci9kb3dubG9hZC9idWJibGUv ZG93bmxvYWRfYnViYmxlX3VwZGF0ZV9zZXJ2aWNlLmNjLm1lCTIwMjMtMDYtMTcgMTQ6NTA6NTYu MzQyNTkxNzAyICswMjAwCisrKysgY2hyb21pdW0tMTE1LjAuNTc5MC4yNC9jaHJvbWUvYnJvd3Nl ci9kb3dubG9hZC9idWJibGUvZG93bmxvYWRfYnViYmxlX3VwZGF0ZV9zZXJ2aWNlLmNjCTIwMjMt MDYtMTcgMTQ6NTc6NDguMDI0Mzc3Mzc1ICswMjAwCitAQCAtOTEsNyArOTEsNyBAQCBJdGVtU29y dEtleSBHZXRTb3J0S2V5KGNvbnN0IEl0ZW0mIGl0ZW0pCisgLy8gSGVscGVyIHRvIGdldCBhbiBp dGVyYXRvciB0byB0aGUgbGFzdCBlbGVtZW50IGluIHRoZSBjYWNoZS4gVGhlIGNhY2hlCisgLy8g bXVzdCBub3QgYmUgZW1wdHkuCisgdGVtcGxhdGUgPHR5cGVuYW1lIEl0ZW0+CistU29ydGVkSXRl bXM8SXRlbT46OmNvbnN0X2l0ZXJhdG9yIEdldExhc3RJdGVyKGNvbnN0IFNvcnRlZEl0ZW1zPEl0 ZW0+JiBjYWNoZSkgeworK3R5cGVuYW1lIFNvcnRlZEl0ZW1zPEl0ZW0+Ojpjb25zdF9pdGVyYXRv ciBHZXRMYXN0SXRlcihjb25zdCBTb3J0ZWRJdGVtczxJdGVtPiYgY2FjaGUpIHsKKyAgIENIRUNL KCFjYWNoZS5lbXB0eSgpKTsKKyAgIGF1dG8gaXQgPSBjYWNoZS5lbmQoKTsKKyAgIHJldHVybiBz dGQ6OnByZXYoaXQpOworQEAgLTk2Nyw5ICs5NjcsOSBAQCBib29sIERvd25sb2FkQnViYmxlVXBk YXRlU2VydmljZTo6Q2FjaGVNCisgfQorIAorIHRlbXBsYXRlIDx0eXBlbmFtZSBJZCwgdHlwZW5h bWUgSXRlbT4KKy1Tb3J0ZWRJdGVtczxJdGVtPjo6aXRlcmF0b3IKKyt0eXBlbmFtZSBTb3J0ZWRJ dGVtczxJdGVtPjo6aXRlcmF0b3IKKyBEb3dubG9hZEJ1YmJsZVVwZGF0ZVNlcnZpY2U6OkNhY2hl TWFuYWdlcjo6UmVtb3ZlSXRlbUZyb21DYWNoZUJ5SXRlcigKKy0gICAgU29ydGVkSXRlbXM8SXRl bT46Oml0ZXJhdG9yIGl0ZXIsCisrICAgIHR5cGVuYW1lIFNvcnRlZEl0ZW1zPEl0ZW0+OjppdGVy YXRvciBpdGVyLAorICAgICBTb3J0ZWRJdGVtczxJdGVtPiYgY2FjaGUsCisgICAgIEl0ZXJNYXA8 SWQsIEl0ZW0+JiBpdGVyX21hcCkgeworICAgQ0hFQ0soaXRlciAhPSBjYWNoZS5lbmQoKSk7Citk aWZmIC11cCBjaHJvbWl1bS0xMTUuMC41NzkwLjMyL2NvbXBvbmVudHMvb3B0aW1pemF0aW9uX2d1 aWRlL2NvcmUvdGZsaXRlX21vZGVsX2V4ZWN1dG9yLmgubWUgY2hyb21pdW0tMTE1LjAuNTc5MC4z Mi9jb21wb25lbnRzL29wdGltaXphdGlvbl9ndWlkZS9jb3JlL3RmbGl0ZV9tb2RlbF9leGVjdXRv ci5oCistLS0gY2hyb21pdW0tMTE1LjAuNTc5MC4zMi9jb21wb25lbnRzL29wdGltaXphdGlvbl9n dWlkZS9jb3JlL3RmbGl0ZV9tb2RlbF9leGVjdXRvci5oLm1lCTIwMjMtMDYtMTggMjE6NTI6NTMu NTE1NjI1MjM3ICswMjAwCisrKysgY2hyb21pdW0tMTE1LjAuNTc5MC4zMi9jb21wb25lbnRzL29w dGltaXphdGlvbl9ndWlkZS9jb3JlL3RmbGl0ZV9tb2RlbF9leGVjdXRvci5oCTIwMjMtMDYtMTgg MjE6NTM6MDYuODgxODgxMjkzICswMjAwCitAQCAtMTg5LDcgKzE4OSw3IEBAIGNsYXNzIFRGTGl0 ZU1vZGVsRXhlY3V0b3IgOiBwdWJsaWMgTW9kZWwKKyAgIHZvaWQgU2VuZEZvckJhdGNoRXhlY3V0 aW9uKAorICAgICAgIEJhdGNoRXhlY3V0aW9uQ2FsbGJhY2sgY2FsbGJhY2tfb25fY29tcGxldGUs CisgICAgICAgYmFzZTo6VGltZVRpY2tzIHN0YXJ0X3RpbWUsCistICAgICAgTW9kZWxFeGVjdXRv cjxPdXRwdXRUeXBlLCBJbnB1dFR5cGU+OjpDb25zdFJlZklucHV0VmVjdG9yIGlucHV0cykKKysg ICAgICB0eXBlbmFtZSBNb2RlbEV4ZWN1dG9yPE91dHB1dFR5cGUsIElucHV0VHlwZT46OkNvbnN0 UmVmSW5wdXRWZWN0b3IgaW5wdXRzKQorICAgICAgIG92ZXJyaWRlIHsKKyAgICAgRENIRUNLKGV4 ZWN1dGlvbl90YXNrX3J1bm5lcl8tPlJ1bnNUYXNrc0luQ3VycmVudFNlcXVlbmNlKCkpOworICAg ICBEQ0hFQ0tfQ0FMTEVEX09OX1ZBTElEX1NFUVVFTkNFKHNlcXVlbmNlX2NoZWNrZXJfKTsKK2Rp ZmYgLXVwIGNocm9taXVtLTExNS4wLjU3OTAuMzIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIv Y29yZS9odG1sL3BhcnNlci9odG1sX2RvY3VtZW50X3BhcnNlcl9mYXN0cGF0aC5jYy5tZSBjaHJv bWl1bS0xMTUuMC41NzkwLjMyL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvaHRtbC9w YXJzZXIvaHRtbF9kb2N1bWVudF9wYXJzZXJfZmFzdHBhdGguY2MKKy0tLSBjaHJvbWl1bS0xMTUu MC41NzkwLjMyL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvaHRtbC9wYXJzZXIvaHRt bF9kb2N1bWVudF9wYXJzZXJfZmFzdHBhdGguY2MubWUJMjAyMy0wNi0xOSAxMDowMzozMi4zMTky MTg2NzggKzAyMDAKKysrKyBjaHJvbWl1bS0xMTUuMC41NzkwLjMyL3RoaXJkX3BhcnR5L2JsaW5r L3JlbmRlcmVyL2NvcmUvaHRtbC9wYXJzZXIvaHRtbF9kb2N1bWVudF9wYXJzZXJfZmFzdHBhdGgu Y2MJMjAyMy0wNi0xOSAxMDowNDoxMi4wMjM5NDIyMzIgKzAyMDAKK0BAIC0xNjksNyArMTY5LDcg QEAgY2xhc3MgSFRNTEZhc3RQYXRoUGFyc2VyIHsKKyAgIHVzaW5nIFNwYW4gPSBiYXNlOjpzcGFu PGNvbnN0IENoYXI+OworICAgdXNpbmcgVVNwYW4gPSBiYXNlOjpzcGFuPGNvbnN0IFVDaGFyPjsK KyAgIC8vIDMyIG1hdGNoZXMgdGhhdCB1c2VkIGJ5IEhUTUxUb2tlbjo6QXR0cmlidXRlLgorLSAg dHlwZWRlZiBzdGQ6OmNvbmRpdGlvbmFsPHN0ZDo6aXNfc2FtZV92PENoYXIsIFVDaGFyPiwKKysg IHR5cGVkZWYgdHlwZW5hbWUgc3RkOjpjb25kaXRpb25hbDxzdGQ6OmlzX3NhbWVfdjxDaGFyLCBV Q2hhcj4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUNoYXJMaXRlcmFsQnVmZmVyPDMy PiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBMQ2hhckxpdGVyYWxCdWZmZXI8MzI+Pjo6 dHlwZSBMaXRlcmFsQnVmZmVyVHlwZTsKKyAgIHR5cGVkZWYgVUNoYXJMaXRlcmFsQnVmZmVyPDMy PiBVQ2hhckxpdGVyYWxCdWZmZXJUeXBlOworZGlmZiAtdXAgY2hyb21pdW0tMTE2LjAuNTg0NS41 MC9jb250ZW50L3B1YmxpYy9icm93c2VyL3dlYl91aV9icm93c2VyX2ludGVyZmFjZV9icm9rZXJf cmVnaXN0cnkuaC5tZSBjaHJvbWl1bS0xMTYuMC41ODQ1LjUwL2NvbnRlbnQvcHVibGljL2Jyb3dz ZXIvd2ViX3VpX2Jyb3dzZXJfaW50ZXJmYWNlX2Jyb2tlcl9yZWdpc3RyeS5oCistLS0gY2hyb21p dW0tMTE2LjAuNTg0NS41MC9jb250ZW50L3B1YmxpYy9icm93c2VyL3dlYl91aV9icm93c2VyX2lu dGVyZmFjZV9icm9rZXJfcmVnaXN0cnkuaC5tZQkyMDIzLTA4LTAyIDE2OjE4OjMwLjM4MDEwODEy NSArMDIwMAorKysrIGNocm9taXVtLTExNi4wLjU4NDUuNTAvY29udGVudC9wdWJsaWMvYnJvd3Nl ci93ZWJfdWlfYnJvd3Nlcl9pbnRlcmZhY2VfYnJva2VyX3JlZ2lzdHJ5LmgJMjAyMy0wOC0wMiAx NjoyMDo1OS42NjAwMjQ1NzggKzAyMDAKK0BAIC0xMjcsMTAgKzEyNywxMCBAQCBjbGFzcyBDT05U RU5UX0VYUE9SVCBXZWJVSUJyb3dzZXJJbnRlcmZhCisgICAvLworICAgLy8gVE9ETyhjcmJ1Zy5j b20vMTQwNzkzNik6IFBvaW50IHRvIFdlYlVJSnNCcmlkZ2UgZG9jdW1lbnRhdGlvbi4KKyAgIHRl bXBsYXRlIDx0eXBlbmFtZSBDb250cm9sbGVyVHlwZT4KKy0gIEpzQnJpZGdlVHJhaXRzPENvbnRy b2xsZXJUeXBlPjo6QmluZGVySW5pdGlhbGl6ZXImIEZvcldlYlVJV2l0aEpzQnJpZGdlKCkgewor KyAgdHlwZW5hbWUgSnNCcmlkZ2VUcmFpdHM8Q29udHJvbGxlclR5cGU+OjpCaW5kZXJJbml0aWFs aXplciYgRm9yV2ViVUlXaXRoSnNCcmlkZ2UoKSB7CisgICAgIHVzaW5nIFRyYWl0cyA9IEpzQnJp ZGdlVHJhaXRzPENvbnRyb2xsZXJUeXBlPjsKKy0gICAgdXNpbmcgSW50ZXJmYWNlID0gVHJhaXRz OjpJbnRlcmZhY2U7CistICAgIHVzaW5nIEpzQnJpZGdlQmluZGVySW5pdGlhbGl6ZXIgPSBUcmFp dHM6OkJpbmRlckluaXRpYWxpemVyOworKyAgICB1c2luZyBJbnRlcmZhY2UgPSB0eXBlbmFtZSBU cmFpdHM6OkludGVyZmFjZTsKKysgICAgdXNpbmcgSnNCcmlkZ2VCaW5kZXJJbml0aWFsaXplciA9 IHR5cGVuYW1lIFRyYWl0czo6QmluZGVySW5pdGlhbGl6ZXI7CisgCisgICAgIC8vIFdlYlVJQ29u dHJvbGxlcjo6R2V0VHlwZSgpIHJlcXVpcmVzIGFuIGluc3RhbnRpYXRlZCBXZWJVSUNvbnRyb2xs ZXIKKyAgICAgLy8gKGJlY2F1c2UgaXQncyBhIHZpcnR1YWwgbWV0aG9kIGFuZCBjYW4ndCBiZSBz dGF0aWMpLiBIZXJlIHdlIG9ubHkgaGF2ZQorZGlmZiAtdXAgY2hyb21pdW0tMTE2LjAuNTg0NS41 MC90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL3BhaW50L29iamVjdF9wYWludF9wcm9w ZXJ0aWVzX3NwYXJzZS5oLm1lIGNocm9taXVtLTExNi4wLjU4NDUuNTAvdGhpcmRfcGFydHkvYmxp bmsvcmVuZGVyZXIvY29yZS9wYWludC9vYmplY3RfcGFpbnRfcHJvcGVydGllc19zcGFyc2UuaAor LS0tIGNocm9taXVtLTExNi4wLjU4NDUuNTAvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29y ZS9wYWludC9vYmplY3RfcGFpbnRfcHJvcGVydGllc19zcGFyc2UuaC5tZQkyMDIzLTA4LTAyIDIw OjQxOjIzLjk4NDcyOTQ2MiArMDIwMAorKysrIGNocm9taXVtLTExNi4wLjU4NDUuNTAvdGhpcmRf cGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWludC9vYmplY3RfcGFpbnRfcHJvcGVydGllc19z cGFyc2UuaAkyMDIzLTA4LTAyIDIwOjQxOjUzLjczNzU4MzA5MyArMDIwMAorQEAgLTI3MCw4ICsy NzAsOCBAQCBjbGFzcyBDT1JFX0VYUE9SVCBPYmplY3RQYWludFByb3BlcnRpZXNTCisgICAgICAg Tm9kZUxpc3QmIG5vZGVzLAorICAgICAgIE5vZGVJZCBub2RlX2lkLAorICAgICAgIGNvbnN0IFBh cmVudFR5cGUmIHBhcmVudCwKKy0gICAgICBOb2RlVHlwZTo6U3RhdGUmJiBzdGF0ZSwKKy0gICAg ICBjb25zdCBOb2RlVHlwZTo6QW5pbWF0aW9uU3RhdGUmIGFuaW1hdGlvbl9zdGF0ZSA9CisrICAg ICAgdHlwZW5hbWUgTm9kZVR5cGU6OlN0YXRlJiYgc3RhdGUsCisrICAgICAgY29uc3QgdHlwZW5h bWUgTm9kZVR5cGU6OkFuaW1hdGlvblN0YXRlJiBhbmltYXRpb25fc3RhdGUgPQorICAgICAgICAg ICBOb2RlVHlwZTo6QW5pbWF0aW9uU3RhdGUoKSkgeworICAgICAvLyBGaXJzdCwgY2hlY2sgaWYg d2UgbmVlZCB0byBhZGQgYSBuZXcgbm9kZS4KKyAgICAgaWYgKCFub2Rlcy5IYXNGaWVsZChub2Rl X2lkKSkgewoKZGlmZiAtLWdpdCBhL2Nocm9taXVtLTk2LjAuNDY2NC40NS1taXNzaW5nLWNzdGRp bnQtaGVhZGVyLnBhdGNoIGIvY2hyb21pdW0tOTYuMC40NjY0LjQ1LW1pc3NpbmctY3N0ZGludC1o ZWFkZXIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZlNGU1ZGQuLjAwMDAw MDAKLS0tIGEvY2hyb21pdW0tOTYuMC40NjY0LjQ1LW1pc3NpbmctY3N0ZGludC1oZWFkZXIucGF0 Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi1kaWZmIC11cCBjaHJvbWl1bS05Ni4w LjQ2NjQuNDUvdGhpcmRfcGFydHkvd2VicnRjL2NvbW1vbl92aWRlby9oMjY0L3Bwc19wYXJzZXIu aC5taXNzaW5nLWNzdGRpbnQgY2hyb21pdW0tOTYuMC40NjY0LjQ1L3RoaXJkX3BhcnR5L3dlYnJ0 Yy9jb21tb25fdmlkZW8vaDI2NC9wcHNfcGFyc2VyLmgKLWRpZmYgLXVwIGNocm9taXVtLTk2LjAu NDY2NC40NS90aGlyZF9wYXJ0eS93ZWJydGMvY29tbW9uX3ZpZGVvL2gyNjQvc3BzX3BhcnNlci5o Lm1pc3NpbmctY3N0ZGludCBjaHJvbWl1bS05Ni4wLjQ2NjQuNDUvdGhpcmRfcGFydHkvd2VicnRj L2NvbW1vbl92aWRlby9oMjY0L3Nwc19wYXJzZXIuaAotLS0tIGNocm9taXVtLTk2LjAuNDY2NC40 NS90aGlyZF9wYXJ0eS93ZWJydGMvY29tbW9uX3ZpZGVvL2gyNjQvc3BzX3BhcnNlci5oLm1pc3Np bmctY3N0ZGludAkyMDIxLTExLTE5IDE3OjA1OjMxLjM3OTc1MDM1MCAtMDUwMAotKysrIGNocm9t aXVtLTk2LjAuNDY2NC40NS90aGlyZF9wYXJ0eS93ZWJydGMvY29tbW9uX3ZpZGVvL2gyNjQvc3Bz X3BhcnNlci5oCTIwMjEtMTEtMTkgMTc6MDc6MzUuMTkxNTIwMTI3IC0wNTAwCi1AQCAtMTEsNiAr MTEsNyBAQAotICNpZm5kZWYgQ09NTU9OX1ZJREVPX0gyNjRfU1BTX1BBUlNFUl9IXwotICNkZWZp bmUgQ09NTU9OX1ZJREVPX0gyNjRfU1BTX1BBUlNFUl9IXwotIAotKyNpbmNsdWRlIDxjc3RkaW50 PgotICNpbmNsdWRlICJhYnNsL3R5cGVzL29wdGlvbmFsLmgiCi0gI2luY2x1ZGUgInJ0Y19iYXNl L2JpdHN0cmVhbV9yZWFkZXIuaCIKLSAKLWRpZmYgLXVwIGNocm9taXVtLTk2LjAuNDY2NC40NS90 aGlyZF9wYXJ0eS93ZWJydGMvbW9kdWxlcy9pbmNsdWRlL21vZHVsZV9jb21tb25fdHlwZXNfcHVi bGljLmgubWlzc2luZy1jc3RkaW50IGNocm9taXVtLTk2LjAuNDY2NC40NS90aGlyZF9wYXJ0eS93 ZWJydGMvbW9kdWxlcy9pbmNsdWRlL21vZHVsZV9jb21tb25fdHlwZXNfcHVibGljLmgKLS0tLSBj aHJvbWl1bS05Ni4wLjQ2NjQuNDUvdGhpcmRfcGFydHkvd2VicnRjL21vZHVsZXMvaW5jbHVkZS9t b2R1bGVfY29tbW9uX3R5cGVzX3B1YmxpYy5oLm1pc3NpbmctY3N0ZGludAkyMDIxLTExLTEyIDA1 OjI4OjEwLjAwMDAwMDAwMCAtMDUwMAotKysrIGNocm9taXVtLTk2LjAuNDY2NC40NS90aGlyZF9w YXJ0eS93ZWJydGMvbW9kdWxlcy9pbmNsdWRlL21vZHVsZV9jb21tb25fdHlwZXNfcHVibGljLmgJ MjAyMS0xMS0xOSAxNzowNTozMS4zNzk3NTAzNTAgLTA1MDAKLUBAIC0xMSw2ICsxMSw3IEBACi0g I2lmbmRlZiBNT0RVTEVTX0lOQ0xVREVfTU9EVUxFX0NPTU1PTl9UWVBFU19QVUJMSUNfSF8KLSAj ZGVmaW5lIE1PRFVMRVNfSU5DTFVERV9NT0RVTEVfQ09NTU9OX1RZUEVTX1BVQkxJQ19IXwotIAot KyNpbmNsdWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxsaW1pdHM+Ci0gCi0gI2luY2x1ZGUgImFi c2wvdHlwZXMvb3B0aW9uYWwuaCIKLWRpZmYgLXVwIGNocm9taXVtLTk2LjAuNDY2NC40NS91aS9n ZngvbGludXgvZHJtX3V0aWxfbGludXguaC5taXNzaW5nLWNzdGRpbnQgY2hyb21pdW0tOTYuMC40 NjY0LjQ1L3VpL2dmeC9saW51eC9kcm1fdXRpbF9saW51eC5oCi0tLS0gY2hyb21pdW0tOTYuMC40 NjY0LjQ1L3VpL2dmeC9saW51eC9kcm1fdXRpbF9saW51eC5oLm1pc3NpbmctY3N0ZGludAkyMDIx LTExLTEyIDA1OjI1OjI0LjAwMDAwMDAwMCAtMDUwMAotKysrIGNocm9taXVtLTk2LjAuNDY2NC40 NS91aS9nZngvbGludXgvZHJtX3V0aWxfbGludXguaAkyMDIxLTExLTE5IDE3OjA1OjMxLjM3OTc1 MDM1MCAtMDUwMAotQEAgLTksNiArOSw4IEBACi0gCi0gI2luY2x1ZGUgInVpL2dmeC9idWZmZXJf dHlwZXMuaCIKLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSsKLSBuYW1lc3BhY2UgdWkgewotIAot IGludCBHZXRGb3VyQ0NGb3JtYXRGcm9tQnVmZmVyRm9ybWF0KGdmeDo6QnVmZmVyRm9ybWF0IGZv cm1hdCk7CgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0tOTYuMC40NjY0LjQ1LW1pc3NpbmctY3N0cmlu Zy5wYXRjaCBiL2Nocm9taXVtLTk2LjAuNDY2NC40NS1taXNzaW5nLWNzdHJpbmcucGF0Y2gKZGVs ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVhNWZhMmYuLjAwMDAwMDAKLS0tIGEvY2hyb21p dW0tOTYuMC40NjY0LjQ1LW1pc3NpbmctY3N0cmluZy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0x LDI0ICswLDAgQEAKLWRpZmYgLXVwIGNocm9taXVtLTk2LjAuNDY2NC40NS90aGlyZF9wYXJ0eS93 ZWJydGMvYXVkaW8vdXRpbGl0eS9jaGFubmVsX21peGVyLmNjLm1pc3NpbmctY3N0cmluZyBjaHJv bWl1bS05Ni4wLjQ2NjQuNDUvdGhpcmRfcGFydHkvd2VicnRjL2F1ZGlvL3V0aWxpdHkvY2hhbm5l bF9taXhlci5jYwotLS0tIGNocm9taXVtLTk2LjAuNDY2NC40NS90aGlyZF9wYXJ0eS93ZWJydGMv YXVkaW8vdXRpbGl0eS9jaGFubmVsX21peGVyLmNjLm1pc3NpbmctY3N0cmluZwkyMDIxLTExLTEy IDA1OjI4OjA5LjAwMDAwMDAwMCAtMDUwMAotKysrIGNocm9taXVtLTk2LjAuNDY2NC40NS90aGly ZF9wYXJ0eS93ZWJydGMvYXVkaW8vdXRpbGl0eS9jaGFubmVsX21peGVyLmNjCTIwMjEtMTEtMTkg MTc6MTA6MDIuOTI3NDM4Njk1IC0wNTAwCi1AQCAtOCw2ICs4LDggQEAKLSAgKiAgYmUgZm91bmQg aW4gdGhlIEFVVEhPUlMgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlIHRyZWUuCi0gICov Ci0gCi0rI2luY2x1ZGUgPGNzdHJpbmc+Ci0rCi0gI2luY2x1ZGUgImF1ZGlvL3V0aWxpdHkvY2hh bm5lbF9taXhlci5oIgotIAotICNpbmNsdWRlICJhdWRpby91dGlsaXR5L2NoYW5uZWxfbWl4aW5n X21hdHJpeC5oIgotZGlmZiAtdXAgY2hyb21pdW0tOTYuMC40NjY0LjQ1L3RoaXJkX3BhcnR5L3dl YnJ0Yy9tb2R1bGVzL2Rlc2t0b3BfY2FwdHVyZS9saW51eC9iYXNlX2NhcHR1cmVyX3BpcGV3aXJl LmNjLm1pc3NpbmctY3N0cmluZyBjaHJvbWl1bS05Ni4wLjQ2NjQuNDUvdGhpcmRfcGFydHkvd2Vi cnRjL21vZHVsZXMvZGVza3RvcF9jYXB0dXJlL2xpbnV4L2Jhc2VfY2FwdHVyZXJfcGlwZXdpcmUu Y2MKLWRpZmYgLXVwIGNocm9taXVtLTk2LjAuNDY2NC40NS90aGlyZF9wYXJ0eS93ZWJydGMvbW9k dWxlcy92aWRlb19jb2RpbmcvdXRpbGl0eS9pdmZfZmlsZV9yZWFkZXIuY2MubWlzc2luZy1jc3Ry aW5nIGNocm9taXVtLTk2LjAuNDY2NC40NS90aGlyZF9wYXJ0eS93ZWJydGMvbW9kdWxlcy92aWRl b19jb2RpbmcvdXRpbGl0eS9pdmZfZmlsZV9yZWFkZXIuY2MKLS0tLSBjaHJvbWl1bS05Ni4wLjQ2 NjQuNDUvdGhpcmRfcGFydHkvd2VicnRjL21vZHVsZXMvdmlkZW9fY29kaW5nL3V0aWxpdHkvaXZm X2ZpbGVfcmVhZGVyLmNjLm1pc3NpbmctY3N0cmluZwkyMDIxLTExLTEyIDA1OjI4OjEwLjAwMDAw MDAwMCAtMDUwMAotKysrIGNocm9taXVtLTk2LjAuNDY2NC40NS90aGlyZF9wYXJ0eS93ZWJydGMv bW9kdWxlcy92aWRlb19jb2RpbmcvdXRpbGl0eS9pdmZfZmlsZV9yZWFkZXIuY2MJMjAyMS0xMS0x OSAxNzoxMDowMi45Mjg0Mzg3MDEgLTA1MDAKLUBAIC0xMCw2ICsxMCw3IEBACi0gCi0gI2luY2x1 ZGUgIm1vZHVsZXMvdmlkZW9fY29kaW5nL3V0aWxpdHkvaXZmX2ZpbGVfcmVhZGVyLmgiCi0gCi0r I2luY2x1ZGUgPGNzdHJpbmc+Ci0gI2luY2x1ZGUgPHN0cmluZz4KLSAjaW5jbHVkZSA8dmVjdG9y PgotIAoKZGlmZiAtLWdpdCBhL2Nocm9taXVtLTk5LjAuNDg0NC41MS1lbDctZXh0cmEtb3BlcmF0 b3IucGF0Y2ggYi9jaHJvbWl1bS05OS4wLjQ4NDQuNTEtZWw3LWV4dHJhLW9wZXJhdG9yLnBhdGNo Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0Yzg5ZDAKLS0tIC9kZXYvbnVs bAorKysgYi9jaHJvbWl1bS05OS4wLjQ4NDQuNTEtZWw3LWV4dHJhLW9wZXJhdG9yLnBhdGNoCkBA IC0wLDAgKzEsMjYgQEAKK2RpZmYgLXVwIGNocm9taXVtLTk5LjAuNDg0NC41MS9iYXNlL2FsbG9j YXRvci9wYXJ0aXRpb25fYWxsb2NhdG9yL3N0YXJzY2FuL21ldGFkYXRhX2FsbG9jYXRvci5oLmVs Ny1leHRyYS1vcGVyYXRvci1lcXVhbGVxdWFsIGNocm9taXVtLTk5LjAuNDg0NC41MS9iYXNlL2Fs bG9jYXRvci9wYXJ0aXRpb25fYWxsb2NhdG9yL3N0YXJzY2FuL21ldGFkYXRhX2FsbG9jYXRvci5o CistLS0gY2hyb21pdW0tOTkuMC40ODQ0LjUxL2Jhc2UvYWxsb2NhdG9yL3BhcnRpdGlvbl9hbGxv Y2F0b3Ivc3RhcnNjYW4vbWV0YWRhdGFfYWxsb2NhdG9yLmguZWw3LWV4dHJhLW9wZXJhdG9yLWVx dWFsZXF1YWwJMjAyMi0wMy0wNSAxODozNzoyNS45NzkyNDE3NTQgLTA1MDAKKysrKyBjaHJvbWl1 bS05OS4wLjQ4NDQuNTEvYmFzZS9hbGxvY2F0b3IvcGFydGl0aW9uX2FsbG9jYXRvci9zdGFyc2Nh bi9tZXRhZGF0YV9hbGxvY2F0b3IuaAkyMDIyLTAzLTA1IDE4OjM3OjI1Ljk3OTI0MTc1NCAtMDUw MAorQEAgLTM5LDYgKzM5LDExIEBAIGNsYXNzIE1ldGFkYXRhQWxsb2NhdG9yIHsKKyAgIH0KKyAK KyAgIHRlbXBsYXRlIDx0eXBlbmFtZSBVPgorKyAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IE1ldGFk YXRhQWxsb2NhdG9yPFU+JikgY29uc3QgeworKyAgICByZXR1cm4gdHJ1ZTsKKysgIH0KKysKKysg IHRlbXBsYXRlIDx0eXBlbmFtZSBVPgorICAgYm9vbCBvcGVyYXRvciE9KGNvbnN0IE1ldGFkYXRh QWxsb2NhdG9yPFU+JiBvKSB7CisgICAgIHJldHVybiAhb3BlcmF0b3I9PShvKTsKKyAgIH0KK2Rp ZmYgLXVwIGNocm9taXVtLTk5LjAuNDg0NC41MS90aGlyZF9wYXJ0eS9wZGZpdW0vY29yZS9meGNy dC9meF9tZW1vcnlfd3JhcHBlcnMuaC5lbDctZXh0cmEtb3BlcmF0b3ItZXF1YWxlcXVhbCBjaHJv bWl1bS05OS4wLjQ4NDQuNTEvdGhpcmRfcGFydHkvcGRmaXVtL2NvcmUvZnhjcnQvZnhfbWVtb3J5 X3dyYXBwZXJzLmgKKy0tLSBjaHJvbWl1bS05OS4wLjQ4NDQuNTEvdGhpcmRfcGFydHkvcGRmaXVt L2NvcmUvZnhjcnQvZnhfbWVtb3J5X3dyYXBwZXJzLmguZWw3LWV4dHJhLW9wZXJhdG9yLWVxdWFs ZXF1YWwJMjAyMi0wMy0wNiAxOToxNDoyMC44OTI1MTM0NDIgLTA1MDAKKysrKyBjaHJvbWl1bS05 OS4wLjQ4NDQuNTEvdGhpcmRfcGFydHkvcGRmaXVtL2NvcmUvZnhjcnQvZnhfbWVtb3J5X3dyYXBw ZXJzLmgJMjAyMi0wMy0wNiAxOToxNTo0MC40MTIwNjA1NzQgLTA1MDAKK0BAIC03MCw2ICs3MCw3 IEBAIHN0cnVjdCBGeFBhcnRpdGlvbkFsbG9jQWxsb2NhdG9yIHsKKyAgIH0KKyAKKyAgIC8vIFRo ZXJlJ3Mgbm8gc3RhdGUsIHNvIHRoZXkgYXJlIGFsbCB0aGUgc2FtZSwKKysgIGJvb2wgb3BlcmF0 b3I9PShjb25zdCBGeFBhcnRpdGlvbkFsbG9jQWxsb2NhdG9yJikgY29uc3QgeyByZXR1cm4gdHJ1 ZTsgfQorICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IEZ4UGFydGl0aW9uQWxsb2NBbGxvY2F0b3Im IHRoYXQpIHsgcmV0dXJuIHRydWU7IH0KKyAgIGJvb2wgb3BlcmF0b3IhPShjb25zdCBGeFBhcnRp dGlvbkFsbG9jQWxsb2NhdG9yJiB0aGF0KSB7IHJldHVybiBmYWxzZTsgfQorIH07CgpkaWZmIC0t Z2l0IGEvY2hyb21pdW0tOTkuMC40ODQ0LjUxLWVsNy1leHRyYS1vcGVyYXRvcj09LnBhdGNoIGIv Y2hyb21pdW0tOTkuMC40ODQ0LjUxLWVsNy1leHRyYS1vcGVyYXRvcj09LnBhdGNoCmRlbGV0ZWQg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNGM4OWQwLi4wMDAwMDAwCi0tLSBhL2Nocm9taXVtLTk5 LjAuNDg0NC41MS1lbDctZXh0cmEtb3BlcmF0b3I9PS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0x LDI2ICswLDAgQEAKLWRpZmYgLXVwIGNocm9taXVtLTk5LjAuNDg0NC41MS9iYXNlL2FsbG9jYXRv ci9wYXJ0aXRpb25fYWxsb2NhdG9yL3N0YXJzY2FuL21ldGFkYXRhX2FsbG9jYXRvci5oLmVsNy1l eHRyYS1vcGVyYXRvci1lcXVhbGVxdWFsIGNocm9taXVtLTk5LjAuNDg0NC41MS9iYXNlL2FsbG9j YXRvci9wYXJ0aXRpb25fYWxsb2NhdG9yL3N0YXJzY2FuL21ldGFkYXRhX2FsbG9jYXRvci5oCi0t LS0gY2hyb21pdW0tOTkuMC40ODQ0LjUxL2Jhc2UvYWxsb2NhdG9yL3BhcnRpdGlvbl9hbGxvY2F0 b3Ivc3RhcnNjYW4vbWV0YWRhdGFfYWxsb2NhdG9yLmguZWw3LWV4dHJhLW9wZXJhdG9yLWVxdWFs ZXF1YWwJMjAyMi0wMy0wNSAxODozNzoyNS45NzkyNDE3NTQgLTA1MDAKLSsrKyBjaHJvbWl1bS05 OS4wLjQ4NDQuNTEvYmFzZS9hbGxvY2F0b3IvcGFydGl0aW9uX2FsbG9jYXRvci9zdGFyc2Nhbi9t ZXRhZGF0YV9hbGxvY2F0b3IuaAkyMDIyLTAzLTA1IDE4OjM3OjI1Ljk3OTI0MTc1NCAtMDUwMAot QEAgLTM5LDYgKzM5LDExIEBAIGNsYXNzIE1ldGFkYXRhQWxsb2NhdG9yIHsKLSAgIH0KLSAKLSAg IHRlbXBsYXRlIDx0eXBlbmFtZSBVPgotKyAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IE1ldGFkYXRh QWxsb2NhdG9yPFU+JikgY29uc3QgewotKyAgICByZXR1cm4gdHJ1ZTsKLSsgIH0KLSsKLSsgIHRl bXBsYXRlIDx0eXBlbmFtZSBVPgotICAgYm9vbCBvcGVyYXRvciE9KGNvbnN0IE1ldGFkYXRhQWxs b2NhdG9yPFU+JiBvKSB7Ci0gICAgIHJldHVybiAhb3BlcmF0b3I9PShvKTsKLSAgIH0KLWRpZmYg LXVwIGNocm9taXVtLTk5LjAuNDg0NC41MS90aGlyZF9wYXJ0eS9wZGZpdW0vY29yZS9meGNydC9m eF9tZW1vcnlfd3JhcHBlcnMuaC5lbDctZXh0cmEtb3BlcmF0b3ItZXF1YWxlcXVhbCBjaHJvbWl1 bS05OS4wLjQ4NDQuNTEvdGhpcmRfcGFydHkvcGRmaXVtL2NvcmUvZnhjcnQvZnhfbWVtb3J5X3dy YXBwZXJzLmgKLS0tLSBjaHJvbWl1bS05OS4wLjQ4NDQuNTEvdGhpcmRfcGFydHkvcGRmaXVtL2Nv cmUvZnhjcnQvZnhfbWVtb3J5X3dyYXBwZXJzLmguZWw3LWV4dHJhLW9wZXJhdG9yLWVxdWFsZXF1 YWwJMjAyMi0wMy0wNiAxOToxNDoyMC44OTI1MTM0NDIgLTA1MDAKLSsrKyBjaHJvbWl1bS05OS4w LjQ4NDQuNTEvdGhpcmRfcGFydHkvcGRmaXVtL2NvcmUvZnhjcnQvZnhfbWVtb3J5X3dyYXBwZXJz LmgJMjAyMi0wMy0wNiAxOToxNTo0MC40MTIwNjA1NzQgLTA1MDAKLUBAIC03MCw2ICs3MCw3IEBA IHN0cnVjdCBGeFBhcnRpdGlvbkFsbG9jQWxsb2NhdG9yIHsKLSAgIH0KLSAKLSAgIC8vIFRoZXJl J3Mgbm8gc3RhdGUsIHNvIHRoZXkgYXJlIGFsbCB0aGUgc2FtZSwKLSsgIGJvb2wgb3BlcmF0b3I9 PShjb25zdCBGeFBhcnRpdGlvbkFsbG9jQWxsb2NhdG9yJikgY29uc3QgeyByZXR1cm4gdHJ1ZTsg fQotICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IEZ4UGFydGl0aW9uQWxsb2NBbGxvY2F0b3ImIHRo YXQpIHsgcmV0dXJuIHRydWU7IH0KLSAgIGJvb2wgb3BlcmF0b3IhPShjb25zdCBGeFBhcnRpdGlv bkFsbG9jQWxsb2NhdG9yJiB0aGF0KSB7IHJldHVybiBmYWxzZTsgfQotIH07CgpkaWZmIC0tZ2l0 IGEvY2hyb21pdW0uc3BlYyBiL2Nocm9taXVtLnNwZWMKaW5kZXggZWZlY2IxMS4uMjY0YzM5ZSAx MDA2NDQKLS0tIGEvY2hyb21pdW0uc3BlYworKysgYi9jaHJvbWl1bS5zcGVjCkBAIC0xMjksOCAr MTI5LDkgQEAKICVnbG9iYWwgdG9vbGNoYWluIGdjYwogJWVuZGlmCiAKLSMgZW5hYmxlIHN5c3Rl bSBicm90bGkKLSVnbG9iYWwgYnVuZGxlYnJvdGxpIDAKKyMgZW5hYmxlfGRpc2FibGUgc3lzdGVt IGJyb3RsaQorIyBkaXNhYmxlIHN5c3RlbSBicm90bGkgZHVlIHRvIG9sZCBzeXN0ZW0gYnJvdGxp CislZ2xvYmFsIGJ1bmRsZWJyb3RsaSAxCiAKICMgQ2hyb21pdW0ncyBmb3JrIG9mIElDVSBpcyBu b3cgc29tZXRoaW5nIHdlIGNhbid0IHVuYnVuZGxlLgogIyBUaGlzIGlzIGxlZnQgaGVyZSB0byBl YXNlIHRoZSBjaGFuZ2UgaWYgdGhhdCBldmVyIHN3aXRjaGVzLgpAQCAtMjM0LDggKzIzNSw4IEBA CiAlZW5kaWYKIAogTmFtZToJY2hyb21pdW0le2Nocm9taXVtX2NoYW5uZWx9Ci1WZXJzaW9uOiAx MTUuMC41NzkwLjE3MAotUmVsZWFzZTogMiV7P2Rpc3R9CitWZXJzaW9uOiAxMTYuMC41ODQ1Ljk2 CitSZWxlYXNlOiAxJXs/ZGlzdH0KIFN1bW1hcnk6IEEgV2ViS2l0IChCbGluaykgcG93ZXJlZCB3 ZWIgYnJvd3NlciB0aGF0IEdvb2dsZSBkb2Vzbid0IHdhbnQgeW91IHRvIHVzZQogVXJsOiBodHRw Oi8vd3d3LmNocm9taXVtLm9yZy9Ib21lCiBMaWNlbnNlOiBCU0QtMy1DbGF1c2UgQU5EIExHUEwt Mi4xLW9yLWxhdGVyIEFORCBBcGFjaGUtMi4wIEFORCBJSkcgQU5EIE1JVCBBTkQgR1BMLTIuMC1v ci1sYXRlciBBTkQgSVNDIEFORCBPcGVuU1NMIEFORCAoTVBMLTEuMSBPUiBHUEwtMi4wLW9ubHkg T1IgTEdQTC0yLjAtb25seSkKQEAgLTI3MCwxNSArMjcxLDYgQEAgUGF0Y2gyMDogY2hyb21pdW0t ZGlzYWJsZS1mb250LXRlc3RzLnBhdGNoCiAjIGh0dHBzOi8vZ2l0d2ViLmdlbnRvby5vcmcvcmVw by9nZW50b28uZ2l0L3RyZWUvd3d3LWNsaWVudC9jaHJvbWl1bS9maWxlcy9jaHJvbWl1bS11bmJ1 bmRsZS16bGliLnBhdGNoCiBQYXRjaDUyOiBjaHJvbWl1bS04MS4wLjQwNDQuOTItdW5idW5kbGUt emxpYi5wYXRjaAogCi0jIG1pc3NpbmcgbGltaXRzLmgsIGVycm9yOiBubyBtZW1iZXIgbmFtZWQg J251bWVyaWNfbGltaXRzJyBpbiBuYW1lc3BhY2UgJ3N0ZCcKLVBhdGNoNTM6IGNocm9taXVtLTEx MC1saW1pdHMucGF0Y2gKLQotIyAuLi8uLi90aGlyZF9wYXJ0eS9wZXJmZXR0by9pbmNsdWRlL3Bl cmZldHRvL2Jhc2UvdGFza19ydW5uZXIuaDo0ODo1NTogZXJyb3I6ICd1aW50MzJfdCcgaGFzIG5v dCBiZWVuIGRlY2xhcmVkCi1QYXRjaDU2OiBjaHJvbWl1bS05Ni4wLjQ2NjQuNDUtbWlzc2luZy1j c3RkaW50LWhlYWRlci5wYXRjaAotCi0jIE1pc3NpbmcgPGNzdHJpbmc+ICh0aGFua3MgYysrMTcp Ci1QYXRjaDU3OiBjaHJvbWl1bS05Ni4wLjQ2NjQuNDUtbWlzc2luZy1jc3RyaW5nLnBhdGNoCi0K ICMgRml4IGhlYWRlcnMgdG8gbG9vayBmb3Igc3lzdGVtIHBhdGhzIHdoZW4gd2UgYXJlIHVzaW5n IHN5c3RlbSBtaW5pemlwCiBQYXRjaDYxOiBjaHJvbWl1bS0xMDktc3lzdGVtLW1pbml6aXAtaGVh ZGVyLWZpeC5wYXRjaAogCkBAIC0yOTYsNyArMjg4LDcgQEAgUGF0Y2g3MDogY2hyb21pdW0tMTA1 LjAuNTE5NS41Mi1weXRob24tc2l4LTEuMTYuMC5wYXRjaAogUGF0Y2g4MjogY2hyb21pdW0tOTgu MC40NzU4LjEwMi1yZW1vdGluZy1uby10ZXN0cy5wYXRjaAogCiAjIHBhdGNoIGZvciB1c2luZyBz eXN0ZW0gYnJvdGxpCi1QYXRjaDg5OiBjaHJvbWl1bS0xMTUtc3lzdGVtLWJyb3RsaS5wYXRjaAor UGF0Y2g4OTogY2hyb21pdW0tMTE2LXN5c3RlbS1icm90bGkucGF0Y2gKIAogIyBkaXNhYmxlIEds b2JhbE1lZGlhQ29udHJvbHNDYXN0U3RhcnRTdG9wIHRvIGF2b2lkIGNyYXNoCiAjIHdoZW4gdXNp bmcgdGhlIGFkZHJlc3MgYmFyIG1lZGlhIHBsYXllciBidXR0b24KQEAgLTMyOCw3ICszMjAsNyBA QCBQYXRjaDEwNTogY2hyb21pdW0tODUuMC40MTgzLjgzLWVsNy1vbGQtbGliZHJtLnBhdGNoCiBQ YXRjaDEwNjogY2hyb21pdW0tOTguMC40NzU4LjgwLWVwZWw3LWVyYXNlLWZpeC5wYXRjaAogCiAj IEFkZCBhZGRpdGlvbmFsIG9wZXJhdG9yPT0gdG8gbWFrZSBlbDcgaGFwcHkuCi1QYXRjaDEwNzog Y2hyb21pdW0tOTkuMC40ODQ0LjUxLWVsNy1leHRyYS1vcGVyYXRvcj09LnBhdGNoCitQYXRjaDEw NzogY2hyb21pdW0tOTkuMC40ODQ0LjUxLWVsNy1leHRyYS1vcGVyYXRvci5wYXRjaAogIyB3b3Jr YXJvdW5kIGZvciBjbGFuZyBidWcgb24gZWw3CiBQYXRjaDEwOTogY2hyb21pdW0tMTE0LXdpcmVs ZXNzLWVsNy5wYXRjaAogUGF0Y2gxMTA6IGNocm9taXVtLTExNS1idWlsZGZsYWctZWw3LnBhdGNo CkBAIC0zNDEsMzcgKzMzMywyOSBAQCBQYXRjaDExNjogY2hyb21pdW0tMTEyLWZmbXBlZy1maXJz dF9kdHMucGF0Y2gKICMgcmV2ZXJ0IG5ldy1jaGFubmVsLWxheW91dC1hcGkgb24gZjM2LCBvbGQg ZmZtcGVnLWZyZWUKIFBhdGNoMTE3OiBjaHJvbWl1bS0xMDgtZmZtcGVnLXJldmVydC1uZXctY2hh bm5lbC1sYXlvdXQtYXBpLnBhdGNoCiAKLSMgZ2NjMTMKLVBhdGNoMTIyOiBjaHJvbWl1bS0xMTUt Z2NjMTMucGF0Y2gKLQogIyByZXZlcnQgQVYxIFZBLUFQSSB2aWRlbyBlbmNvZGUgZHVlIHRvIG9s ZCBsaWJ2YSBvbiBlbDkKIFBhdGNoMTMwOiBjaHJvbWl1bS0xMTQtcmV2ZXJ0LWF2MWVuYy1lbDku cGF0Y2gKIAotIyBBcHBseSB0aGVzZSBwYXRjaGVzIHRvIHdvcmsgYXJvdW5kIEVQRUw4IGlzc3Vl cwotUGF0Y2gzMDA6IGNocm9taXVtLTExMy1yaGVsOC1mb3JjZS1kaXNhYmxlLXVzZV9nbm9tZV9r ZXlyaW5nLnBhdGNoCi0KICMgY29tcGlsZXIgYnVpbGQgZXJyb3JzCitQYXRjaDMwMDogY2hyb21p dW0tMTE2LW5vX21hdGNoaW5nX2NvbnN0cnVjdG9yLnBhdGNoCiBQYXRjaDMwMTogY2hyb21pdW0t MTE1LWNvbXBpbGVyLVNrQ29sb3I0Zi5wYXRjaAogCiAjIHdvcmthcm91bmQgZm9yIGNsYW5nIGJ1 ZywgaHR0cHM6Ly9naXRodWIuY29tL2xsdm0vbGx2bS1wcm9qZWN0L2lzc3Vlcy81NzgyNgogUGF0 Y2gzMDI6IGNocm9taXVtLTExNS13b3JrYXJvdW5kX2NsYW5nX2J1Zy1zdHJ1Y3R1cmVkX2JpbmRp bmcucGF0Y2gKIAogIyBtaXNzaW5nIHR5cGVuYW1lCi1QYXRjaDMwMzogY2hyb21pdW0tMTE1LXR5 cGVuYW1lLnBhdGNoCi0KLSMgbWlzc2luZyBjbWF0aAotUGF0Y2gzMDQ6IGNocm9taXVtLTExNS1t aXNzaW5nLWNtYXRoLnBhdGNoCitQYXRjaDMwMzogY2hyb21pdW0tMTE2LXR5cGVuYW1lLnBhdGNo CiAKLSMgYWRkIEJvdW5kU2Vzc2lvblJlZnJlc2hDb29raWVGZXRjaGVyOjpSZXN1bHQKLVBhdGNo MzA1OiBjaHJvbWl1bS0xMTUtYWRkX0JvdW5kU2Vzc2lvblJlZnJlc2hDb29raWVGZXRjaGVyOjpS ZXN1bHQucGF0Y2gKKyMgbWlzc2luZyBpbmNsdWRlIGhlYWRlciBmaWxlcworUGF0Y2gzMDQ6IGNo cm9taXVtLTExNi1taXNzaW5nLWhlYWRlci1maWxlcy5wYXRjaAogCiAjIGNvbXBpbGVyIGVycm9y IHdpdGggYysrMjAKIFBhdGNoMzA2OiBjaHJvbWl1bS0xMTUtZW1wbGFjZV9iYWNrX29uX3ZlY3Rv ci1jKysyMC5wYXRjaAogCi0jIHJldmVydCBmb3IgZXBlbDggb24gYWFyY2g2NCBkdWUgdG8gbmV3 IGZlYXR1cmUgSUZVTkMtUmVzb2x2ZXIgbm90IHN1cHBvcnRlZAorIyBkaXNhYmxlIG1lbW9yeSB0 YWdnaW5nIGZvciBlcGVsOCBvbiBhYXJjaDY0IGR1ZSB0byBuZXcgZmVhdHVyZSBJRlVOQy1SZXNv bHZlciBub3Qgc3VwcG9ydGVkCiAjIGluIG9sZCBnbGliYyA8IDIuMzAKICMgZXJyb3I6IGZhdGFs IGVycm9yOiAnc3lzL2lmdW5jLmgnIGZpbGUgbm90IGZvdW5kCi1QYXRjaDMwNzogY2hyb21pdW0t MTE1LXJldmVydC1pZnVuYy5wYXRjaAorUGF0Y2gzMDc6IGNocm9taXVtLTExNi1hcm02NC1tZW1v cnlfdGFnZ2luZy5wYXRjaAogCiAjIHVwc3RyZWFtLCBkbyBub3QgcmVzdHJpY3QgbmV3IFY0TDIg ZGVjb2RlcnMgdG8gQVJNIG9yIENocm9tZU9TIAogIyBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQg aWRlbnRpZmllciAna1Y0TDJGbGF0U3RhdGVmdWxWaWRlb0RlY29kZXInCkBAIC0zODIsMjUgKzM2 NiwxNyBAQCBQYXRjaDMwODogY2hyb21pdW0tMTE1LWRvX25vdF9yZXN0cmljdF9uZXdfVjRMMl9k ZWNvZGVycy52NGwyLnBhY2gKICMgZXJyb3I6IG5vIG1lbWJlciBuYW1lZCAnQ29udGFpbnMnIGlu IG5hbWVzcGFjZSAnYmFzZScKIFBhdGNoMzA5OiBjaHJvbWl1bS0xMTUtaW5jbHVkZV9jb250YWlu c19oX2hlYWRlcl9mb3JfVjRMMlN0YXRlZnVsVmlkZW9EZWNvZGVyLnBhdGNoCiAKLSMgTG9hZCBk ZWZhdWx0IGN1cnNvciB0aGVtZSBpZiB0aGVtZSBuYW1lIGlzIGVtcHR5Ci1QYXRjaDMxMDogY2hy b21pdW0tMTE1LXdheWxhbmQtbG9hZF9kZWZhdWx0X2N1cnNvcl90aGVtZS5wYXRjaAotCiAjIGNs YW5nIHdhcm5pbmdzCiBQYXRjaDMxMTogY2hyb21pdW0tMTE1LWNsYW5nLXdhcm5pbmdzLnBhdGNo CiAKICMgaW1wIG1vZHVsZSBpcyByZW1vdmVkIGluIHB5dGhvbi0zLjEyCiBQYXRjaDMxMjogY2hy b21pdW0tMTE1LXB5dGhvbi0zLjEyLWRlcHJlY2F0ZWQucGF0Y2gKIAotIyBRdCBpc3N1ZQotUGF0 Y2gzMjE6IGNocm9taXVtLTExNC1xdC1oYW5kbGVfc2NhbGVfZmFjdG9yX2NoYW5nZXMucGF0Y2gK LVBhdGNoMzIyOiBjaHJvbWl1bS0xMTQtcXQtZml4X2ZvbnRfZG91YmxlX3NjYWxpbmcucGF0Y2gK LVBhdGNoMzIzOiBjaHJvbWl1bS0xMTQtcXRfZGVwcy5wYXRjaAotUGF0Y2gzMjQ6IGNocm9taXVt LTExNC1xdF9lbmFibGVfQWxsb3dRdF9mZWF0dXJlX2ZsYWcucGF0Y2gKLVBhdGNoMzI1OiBjaHJv bWl1bS0xMTQtcXRfbG9naWNhbF9zY2FsZV9mYWN0b3IucGF0Y2gKLQotIyB0aGVtZQotIyB1cHN0 cmVhbSwgU2V0IHRvb2xraXQgZGFyayBwcmVmZXJlbmNlIGJhc2VkIG9uIEZETyBkYXJrIHByZWZl cmVuY2UKKyMgdXBzdHJlYW0gcGF0Y2hlcworIyBTZXQgdG9vbGtpdCBkYXJrIHByZWZlcmVuY2Ug YmFzZWQgb24gRkRPIGRhcmsgcHJlZmVyZW5jZQogUGF0Y2gzNTA6IGNocm9taXVtLTExNS1saW51 eF91aV9kYXJrbW9kZS5wYXRjaAorIyBUd2VhayBhYm91dDpncHUsIEFkZCBkYXJrIG1vZGUgc3Vw cG9ydAorUGF0Y2gzNTE6IGNocm9taXVtLTExNi10d2Vha19hYm91dF9ncHUucGF0Y2gKIAogIyBV c2UgY2hyb21pdW0tbGF0ZXN0LnB5IHRvIGdlbmVyYXRlIGNsZWFuIHRhcmJhbGwgZnJvbSByZWxl YXNlZCBidWlsZCB0YXJiYWxscywgZm91bmQgaGVyZToKICMgaHR0cDovL2J1aWxkLmNocm9taXVt Lm9yZy9idWlsZGJvdC9vZmZpY2lhbC8KQEAgLTYyMSwxMyArNTk3LDcgQEAgQnVpbGRSZXF1aXJl czoJb3B1cy1kZXZlbAogCiBCdWlsZFJlcXVpcmVzOglwZXJsKFN3aXRjaCkKIEJ1aWxkUmVxdWly ZXM6ICV7Y2hyb21pdW1fcHliaW59Ci0KLSVpZiAle2d0azN9CiBCdWlsZFJlcXVpcmVzOglwa2dj b25maWcoZ3RrKy0zLjApCi0lZWxzZQotQnVpbGRSZXF1aXJlczoJcGtnY29uZmlnKGd0aystMi4w KQotJWVuZGlmCi0KIEJ1aWxkUmVxdWlyZXM6CXB5dGhvbjMtZGV2ZWwKIEJ1aWxkUmVxdWlyZXM6 IHB5dGhvbjMtemlwcAogQnVpbGRSZXF1aXJlczogcHl0aG9uMy1zaW1wbGVqc29uCkBAIC05MzAs MTAgKzkwMCw2IEBAIHVkZXYuCiAlcGF0Y2ggLVA1MiAtcDEgLWIgLnVuYnVuZGxlLXpsaWIKICVl bmRpZgogCi0lcGF0Y2ggLVA1MyAtcDEgLWIgLmxpbWl0cy1oZWFkZXIKLSVwYXRjaCAtUDU2IC1w MSAtYiAubWlzc2luZy1jc3RkaW50Ci0lcGF0Y2ggLVA1NyAtcDEgLWIgLm1pc3NpbmctY3N0cmlu ZwotCiAlaWYgISAle2J1bmRsZW1pbml6aXB9CiAlcGF0Y2ggLVA2MSAtcDEgLWIgLnN5c3RlbS1t aW5pemlwCiAlZW5kaWYKQEAgLTk4MCwxNiArOTQ2LDExIEBAIHVkZXYuCiAlcGF0Y2ggLVAxMTAg LXAxIC1iIC5idWlsZGZsYWctZWw3CiAlZW5kaWYKIAotJXBhdGNoIC1QMTIyIC1wMSAtYiAuZ2Nj MTMKLQogJWlmIDAlez9yaGVsfSA9PSA5CiAlcGF0Y2ggLVAxMzAgLXAxIC1iIC5yZXZlcnQtYXYx ZW5jCiAlZW5kaWYKIAotJWlmIDAlez9yaGVsfSA+PSA4Ci0lcGF0Y2ggLVAzMDAgLXAxIC1iIC5k aXNibGVnbm9tZWtleXJpbmcKLSVlbmRpZgotCislcGF0Y2ggLVAzMDAgLXAxIC1iIC5ub19tYXRj aGluZ19jb25zdHJ1Y3RvcgogJWlmICV7Y2xhbmd9CiAlaWYgMCV7P3JoZWx9IHx8IDAlez9mZWRv cmF9IDwgMzgKICVwYXRjaCAtUDMwMSAtcDEgLWIgLndvcmthcm91bmRfY2xhbmctU2tDb2xvcjRm CkBAIC05OTgsMjcgKzk1OSwyMiBAQCB1ZGV2LgogJWVuZGlmCiAKICVwYXRjaCAtUDMwMyAtcDEg LWIgLnR5cGVuYW1lCi0lcGF0Y2ggLVAzMDQgLXAxIC1iIC5jbWF0aAotJXBhdGNoIC1QMzA1IC1w MSAtYiAuYWRkX0JvdW5kU2Vzc2lvblJlZnJlc2hDb29raWVGZXRjaGVyOjpSZXN1bHQKKyVwYXRj aCAtUDMwNCAtcDEgLWIgLm1pc3NpbmctaGVhZGVyLWZpbGVzCiAlcGF0Y2ggLVAzMDYgLXAxIC1i IC5lbXBsYWNlX2JhY2tfb25fdmVjdG9yLWMrKzIwCisKICVpZmFyY2ggYWFyY2g2NAotJWlmIDAl ez9yaGVsfSA9PSA4Ci0lcGF0Y2ggLVAzMDcgLXAxIC1SIC1iIC5pZnVuYworJWlmIDAlez9yaGVs fSA8PSA4CislcGF0Y2ggLVAzMDcgLXAxIC1iIC5tZW1vcnlfdGFnZ2luZwogJWVuZGlmCiAlZW5k aWYKKwogJXBhdGNoIC1QMzA4IC1wMSAtYiAuZG9fbm90X3Jlc3RyaWN0X25ld19WNEwyX2RlY29k ZXJzLnY0bDIKICVwYXRjaCAtUDMwOSAtcDEgLWIgLmluY2x1ZGVfY29udGFpbnNfaF9oZWFkZXJf Zm9yX1Y0TDJTdGF0ZWZ1bFZpZGVvRGVjb2RlcgotJXBhdGNoIC1QMzEwIC1wMSAtYiAud2F5bGFu ZF9sb2FkX2RlZmF1bHRfY3Vyc29yX3RoZW1lCiAlcGF0Y2ggLVAzMTEgLXAxIC1iIC5jbGFuZy13 YXJuaW5ncwogJXBhdGNoIC1QMzEyIC1wMSAtYiAucHl0aG9uLTMuMTItZGVwcmVjYXRlZAogCi0l cGF0Y2ggLVAzMjEgLXAxIC1iIC5oYW5kbGVfc2NhbGVfZmFjdG9yX2NoYW5nZXMKLSVwYXRjaCAt UDMyMiAtcDEgLWIgLmZpeF9mb250X2RvdWJsZV9zY2FsaW5nCi0lcGF0Y2ggLVAzMjMgLXAxIC1i IC5xdF9kZXBzCi0lcGF0Y2ggLVAzMjQgLXAxIC1iIC5xdF9lbmFibGVfQWxsb3dRdF9mZWF0dXJl X2ZsYWcKLSVwYXRjaCAtUDMyNSAtcDEgLWIgLnF0X2xvZ2ljYWxfc2NhbGVfZmFjdG9yCi0KICVw YXRjaCAtUDM1MCAtcDEgLWIgLmxpbnV4X3VpX2Rhcmttb2RlCislcGF0Y2ggLVAzNTEgLXAxIC1i IC50d2Vha19hYm91dF9ncHUKIAogIyBDaGFuZ2Ugc2hlYmFuZyBpbiBhbGwgcmVsZXZhbnQgZmls ZXMgaW4gdGhpcyBkaXJlY3RvcnkgYW5kIGFsbCBzdWJkaXJlY3RvcmllcwogIyBTZWUgYG1hbiBm aW5kYCBmb3IgaG93IHRoZSBgLWV4ZWMgY29tbWFuZCB7fSArYCBzeW50YXggd29ya3MKQEAgLTE3 MDAsNiArMTY1Niw5IEBAIGdldGVudCBncm91cCBjaHJvbWUtcmVtb3RlLWRlc2t0b3AgPi9kZXYv bnVsbCB8fCBncm91cGFkZCAtciBjaHJvbWUtcmVtb3RlLWRlc2t0CiAle2Nocm9taXVtX3BhdGh9 L2Nocm9tZWRyaXZlcgogCiAlY2hhbmdlbG9nCisqIFR1ZSBBdWcgMTUgMjAyMyBUaGFuIE5nbyA8 dGhhbkByZWRoYXQuY29tPiAtIDExNi4wLjU4NDUuOTYtMQorLSAgdXBkYXRlIHRvIDExNi4wLjU4 NDUuOTYgCisKICogV2VkIEF1ZyAwOSAyMDIzIFRoYW4gTmdvIDx0aGFuQHJlZGhhdC5jb20+IC0g MTE1LjAuNTc5MC4xNzAtMgogLSBzZXQgdXNlX2FsbF9jcHVzPTEgZm9yIGFhcmNoNjQKIAo=