From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from inbox.vuxu.org (localhost [IPv6:::1]) by inbox.vuxu.org (OpenSMTPD) with ESMTP id bf7d98e1 for ; Wed, 19 Jun 2019 15:12:56 +0000 (UTC) Content-Type: multipart/mixed; boundary="===============7764013133129280269==" MIME-Version: 1.0 Subject: Re: [PR PATCH] [Updated] [WIP] qt5: update to 5.13.0 To: ml@inbox.vuxu.org From: voidlinux-github@inbox.vuxu.org Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Wed, 19 Jun 2019 17:12:56 +0200 Message-ID: <20190619151256.mo-D45l8tiymMzmjzHEhcW8HxqzZO6FkZWgirjhY0AY@z> GitHub notification mails are now in MIME to allow UTF8. --===============7764013133129280269== MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgSm9obm55bmF0b3IgYWdhaW5zdCBt YXN0ZXIgb24gdGhlIHZvaWQtcGFja2FnZXMgcmVwb3NpdG9yeQoKaHR0cHM6Ly9naXRodWIuY29t L0pvaG5ueW5hdG9yL3ZvaWQtcGFja2FnZXMgcXQ1LjEzCmh0dHBzOi8vZ2l0aHViLmNvbS92b2lk LWxpbnV4L3ZvaWQtcGFja2FnZXMvcHVsbC8xMTg5MQoKW1dJUF0gcXQ1OiB1cGRhdGUgdG8gNS4x My4wClRlc3QgcmVwbyB1cCBvbiBodHRwczovL3ZvaWQuam9obm55bmF0b3IuZGV2L3F0NS4xMy8N Cg0KUXQ1LXdlYmVuZ2luZSBub3cgYWx3YXlzIHJlcXVpcmVzIGEgMzJiaXQgaG9zdCBjb21waWxl ciB3aGVuIGNyb3NzIGNvbXBpbGluZyB0byBhIDMyYml0IGNyb3NzIGFyY2ggKGUuZy4geDg2XzY0 IC0+IGFybSopLCBzbyB3ZSBoYXZlIHRvIGRpc2FibGUgaXQgZm9yIG5vdyBvbiBhbGwgMzJiaXQg YXJtKiBhcmNoaXRlY3R1cmVzLg0KDQoNClN0YXR1czogcXQ1LXdlYmVuZ2luZSBpcyBzdGlsbCBi cm9rZW4gb24gbXVzbA0KDQpTaG91bGQgcmVzb2x2ZSAjMTI1NTANCgoKQSBwYXRjaCBmaWxlIGZy b20gaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzExODkx LnBhdGNoIGlzIGF0dGFjaGVk --===============7764013133129280269== Content-Type: application/text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-qt5.13-11891.patch" RnJvbSA0ZGI3MDY4MjkyNDM1NTlhMmE2MDE1N2M1ZmE2NTUyN2QxN2I0NTM5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2huIDxqb2huekBwb3N0ZW8ubmV0PgpEYXRlOiBUaHUsIDIz IE1heSAyMDE5IDA4OjQ5OjQwICswMjAwClN1YmplY3Q6IFtQQVRDSCAxLzddIHF0NTogdXBkYXRl IHRvIDUuMTMuMAoKLS0tCiBjb21tb24vc2hsaWJzICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgICAzICsKIHNyY3BrZ3Mve3F0NS1jYW52YXMzZCA9PiBxdDUtbG90dGllfSAgICAg ICAgICB8ICAgIDAKIHNyY3BrZ3MvcXQ1LWxvdHRpZS1kZXZlbCAgICAgICAgICAgICAgICAgICAg ICB8ICAgIDEgKwogLi4uLzAwOTAtaGFyZC1kaXNhYmxlLXFtbGNoYWNoZWdlbi5wYXRjaCAgICAg IHwgICAxMCArCiBzcmNwa2dzL3F0NS9maWxlcy9hc3Npc3RhbnQucHJvICAgICAgICAgICAgICAg fCAgICAyIC0KIHNyY3BrZ3MvcXQ1L2ZpbGVzL2xyZWxlYXNlLnBybyAgICAgICAgICAgICAgICB8 ICAgMTAgKy0KIHNyY3BrZ3MvcXQ1L2ZpbGVzL2x1cGRhdGUucHJvICAgICAgICAgICAgICAgICB8 ICAgIDggKy0KIHNyY3BrZ3MvcXQ1L2ZpbGVzL21vYy9tb2MucHJvICAgICAgICAgICAgICAgICB8 ICAgIDggLQogLi4uL3F0NS9maWxlcy9xZGJ1c2NwcDJ4bWwvcWRidXNjcHAyeG1sLnBybyAgIHwg ICAgOCAtCiBzcmNwa2dzL3F0NS9maWxlcy9xbGFsci9xbGFsci5wcm8gICAgICAgICAgICAgfCAg IDIzIC0KIHNyY3BrZ3MvcXQ1L2ZpbGVzL3FtbGltcG9ydHNjYW5uZXIucHJvICAgICAgICB8ICAg IDIgKy0KIHNyY3BrZ3MvcXQ1L2ZpbGVzL3FtbGxpbnQucHJvICAgICAgICAgICAgICAgICB8ICAg IDQgKy0KIHNyY3BrZ3MvcXQ1L2ZpbGVzL3FtbG1pbi5wcm8gICAgICAgICAgICAgICAgICB8ICAg IDIgKy0KIHNyY3BrZ3MvcXQ1L2ZpbGVzL3F0dG9vbHNfc3JjLnBybyAgICAgICAgICAgICB8ICAg IDEgLQogc3JjcGtncy9xdDUvZmlsZXMvcmNjLnBybyAgICAgICAgICAgICAgICAgICAgIHwgICAg MiArCiBzcmNwa2dzL3F0NS9maWxlcy9yY2MvcmNjLnBybyAgICAgICAgICAgICAgICAgfCAgICA2 IC0KIHNyY3BrZ3MvcXQ1L2ZpbGVzL3VpYy5wcm8gICAgICAgICAgICAgICAgICAgICB8ICAgIDEg Kwogc3JjcGtncy9xdDUvZmlsZXMvdWljL3VpYy5wcm8gICAgICAgICAgICAgICAgIHwgICAxMSAt CiAuLi50LWJldHdlZW4tbXVzbC1saWJjLWRpcmVudC5oLWFuZC1sc3MucGF0Y2ggfCAgIDM1IC0K IC4uLi9wYXRjaGVzLzAwMDQtbXVzbC1kaXNwYXRjaC10by1tdXNsLnBhdGNoICB8ICAgMjYgKy0K IC4uLi1pcy1hLW5vbnBvcnRhYmxlLWFsaWFzLWZvci1zaWduYWwuaC5wYXRjaCB8ICAgODEgLQog Li4uL3F0NS9wYXRjaGVzLzAwMDgtbXVzbC1uby1tYWxsaW5mby5wYXRjaCAgIHwgICAxMSAtCiBz cmNwa2dzL3F0NS9wYXRjaGVzLzAwMTMtbXVzbC1zZXJpYWxpby5wYXRjaCAgfCAgIDEyIC0KIC4u Li9xdDUvcGF0Y2hlcy8wMDE3LW11c2wtc3RhY2tzdGFydC5wYXRjaCAgICB8ICAgIDQgKy0KIC4u Li9xdDUvcGF0Y2hlcy8wMDIxLWNocm9taXVtLW1vam8tZ2NjOC5wYXRjaCB8ICAgMTggLQogLi4u L3F0NS9wYXRjaGVzLzAwMjItbGlicmVzc2wtY29tcGF0LnBhdGNoICAgIHwgICAyNyArLQogLi4u L3F0NS9wYXRjaGVzLzAwMjMtZW5hYmxlX3Rvb2xzLWNyb3NzLnBhdGNoIHwgICAzNSArLQogc3Jj cGtncy9xdDUvcGF0Y2hlcy8wMDI3LXNraWFfY3B1LWJlLnBhdGNoICAgIHwgICAxMiAtCiBzcmNw a2dzL3F0NS9wYXRjaGVzLzAwMjgtd2VicnRjLWJlLnBhdGNoICAgICAgfCAgIDEyIC0KIHNyY3Br Z3MvcXQ1L3BhdGNoZXMvMDAyOS1tdXNsLWxpYmV2ZW50LnBhdGNoICB8ICAxMjEgLQogLi4uX3Jl bW92ZV9vdXJfdXNlX29mX3N5c2NhbGxfZm9yLXN0YXR4LnBhdGNoIHwgIDExOSAtCiBzcmNwa2dz L3F0NS9wYXRjaGVzLzAwMzQtZ2NjLTguMy1idWlsZC5wYXRjaCAgfCAgMjM2IC0tCiBzcmNwa2dz L3F0NS9wYXRjaGVzLzAwMzUtZ2NjLTkuMS1idWlsZC5wYXRjaCAgfCAgIDM1IC0KIHNyY3BrZ3Mv cXQ1L3BhdGNoZXMvMDA0MC15YXNtLW5scy5wYXRjaCAgICAgICB8ICAgMTMgKwogLi4uL3F0NS9w YXRjaGVzL2FybS12b2lkLWlzLW5vdC1hbmRyb2lkLnBhdGNoIHwgICAyMSArCiBzcmNwa2dzL3F0 NS9wYXRjaGVzL2xpYnJlc3NsLWNvbnN0LWJpby5wYXRjaCAgfCAgICA4ICstCiAuLi4tZXhlY2lu Zm8ucGF0Y2ggPT4gcXQtbXVzbC1leGVjaW5mby5wYXRjaH0gfCAgIDg1ICstCiAuLi4vcGF0Y2hl cy9xdC1tdXNsLXRocmVhZC1zdGFja3NpemUucGF0Y2ggICAgfCAgIDI2ICsKIC4uLi9wYXRjaGVz L3F0d2ViZW5naW5lLWNocm9taXVtLXBwYzY0LnBhdGNoICB8IDIxMTIgLS0tLS0tLS0tLS0tLS0t LS0KIC4uLi9wYXRjaGVzL3F0d2ViZW5naW5lLWVuYWJsZS1wcGM2NC5wYXRjaCAgICB8ICAgNDEg LQogc3JjcGtncy9xdDUvcGF0Y2hlcy9zYW5kYm94LW1lbWJhcnJpZXIucGF0Y2ggIHwgICA2MCAr CiBzcmNwa2dzL3F0NS90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMTE5ICst CiA0MiBmaWxlcyBjaGFuZ2VkLCAyOTggaW5zZXJ0aW9ucygrKSwgMzA3MyBkZWxldGlvbnMoLSkK IHJlbmFtZSBzcmNwa2dzL3txdDUtY2FudmFzM2QgPT4gcXQ1LWxvdHRpZX0gKDEwMCUpCiBjcmVh dGUgbW9kZSAxMjAwMDAgc3JjcGtncy9xdDUtbG90dGllLWRldmVsCiBjcmVhdGUgbW9kZSAxMDA2 NDQgc3JjcGtncy9xdDUvZmlsZXMvMDA5MC1oYXJkLWRpc2FibGUtcW1sY2hhY2hlZ2VuLnBhdGNo CiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDUvZmlsZXMvbW9jL21vYy5wcm8KIGRlbGV0 ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0NS9maWxlcy9xZGJ1c2NwcDJ4bWwvcWRidXNjcHAyeG1s LnBybwogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ1L2ZpbGVzL3FsYWxyL3FsYWxyLnBy bwogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ1L2ZpbGVzL3JjYy9yY2MucHJvCiBkZWxl dGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDUvZmlsZXMvdWljL3VpYy5wcm8KIGRlbGV0ZSBtb2Rl IDEwMDY0NCBzcmNwa2dzL3F0NS9wYXRjaGVzLzAwMDEtRml4LWNvbmZsaWN0LWJldHdlZW4tbXVz bC1saWJjLWRpcmVudC5oLWFuZC1sc3MucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dz L3F0NS9wYXRjaGVzLzAwMDYtc3lzLXNpZ25hbC5oLWlzLWEtbm9ucG9ydGFibGUtYWxpYXMtZm9y LXNpZ25hbC5oLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDUvcGF0Y2hlcy8w MDEzLW11c2wtc2VyaWFsaW8ucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0NS9w YXRjaGVzLzAwMjEtY2hyb21pdW0tbW9qby1nY2M4LnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQg c3JjcGtncy9xdDUvcGF0Y2hlcy8wMDI3LXNraWFfY3B1LWJlLnBhdGNoCiBkZWxldGUgbW9kZSAx MDA2NDQgc3JjcGtncy9xdDUvcGF0Y2hlcy8wMDI4LXdlYnJ0Yy1iZS5wYXRjaAogZGVsZXRlIG1v ZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ1L3BhdGNoZXMvMDAyOS1tdXNsLWxpYmV2ZW50LnBhdGNoCiBk ZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDUvcGF0Y2hlcy8wMDMzLXJldmVydF9yZW1vdmVf b3VyX3VzZV9vZl9zeXNjYWxsX2Zvci1zdGF0eC5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNy Y3BrZ3MvcXQ1L3BhdGNoZXMvMDAzNC1nY2MtOC4zLWJ1aWxkLnBhdGNoCiBkZWxldGUgbW9kZSAx MDA2NDQgc3JjcGtncy9xdDUvcGF0Y2hlcy8wMDM1LWdjYy05LjEtYnVpbGQucGF0Y2gKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0NS9wYXRjaGVzLzAwNDAteWFzbS1ubHMucGF0Y2gKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0NS9wYXRjaGVzL2FybS12b2lkLWlzLW5vdC1hbmRy b2lkLnBhdGNoCiByZW5hbWUgc3JjcGtncy9xdDUvcGF0Y2hlcy97MDAwNS1tdXNsLW5vLWV4ZWNp bmZvLnBhdGNoID0+IHF0LW11c2wtZXhlY2luZm8ucGF0Y2h9ICg1NiUpCiBjcmVhdGUgbW9kZSAx MDA2NDQgc3JjcGtncy9xdDUvcGF0Y2hlcy9xdC1tdXNsLXRocmVhZC1zdGFja3NpemUucGF0Y2gK IGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0NS9wYXRjaGVzL3F0d2ViZW5naW5lLWNocm9t aXVtLXBwYzY0LnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDUvcGF0Y2hlcy9x dHdlYmVuZ2luZS1lbmFibGUtcHBjNjQucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dz L3F0NS9wYXRjaGVzL3NhbmRib3gtbWVtYmFycmllci5wYXRjaAoKZGlmZiAtLWdpdCBhL2NvbW1v bi9zaGxpYnMgYi9jb21tb24vc2hsaWJzCmluZGV4IDc1NDMxNjU3ZjIwLi4xYzBiZGE3YWZmMCAx MDA2NDQKLS0tIGEvY29tbW9uL3NobGlicworKysgYi9jb21tb24vc2hsaWJzCkBAIC0xODUwLDEw ICsxODUwLDEzIEBAIGxpYlF0NVF1aWNrLnNvLjUgcXQ1LWRlY2xhcmF0aXZlLTUuNi4wXzEKIGxp YlF0NVF1aWNrVGVzdC5zby41IHF0NS1kZWNsYXJhdGl2ZS01LjYuMF8xCiBsaWJRdDVRdWlja1dp ZGdldHMuc28uNSBxdDUtZGVjbGFyYXRpdmUtNS42LjBfMQogbGliUXQ1UXVpY2tQYXJ0aWNsZXMu c28uNSBxdDUtZGVjbGFyYXRpdmUtNS42LjBfMQorbGliUXQ1UXVpY2tTaGFwZXMuc28uNSBxdDUt ZGVjbGFyYXRpdmUtNS4xMi4xXzEKIGxpYlF0NVF1aWNrQ29udHJvbHMyLnNvLjUgcXQ1LXF1aWNr Y29udHJvbHMyLTUuNy4xXzEKIGxpYlF0NVF1aWNrVGVtcGxhdGVzMi5zby41IHF0NS1xdWlja2Nv bnRyb2xzMi01LjcuMV8xCiBsaWJRdDVQb3NpdGlvbmluZy5zby41IHF0NS1sb2NhdGlvbi01LjYu MF8xCiBsaWJRdDVMb2NhdGlvbi5zby41IHF0NS1sb2NhdGlvbi01LjYuMF8xCitsaWJRdDVQb3Np dGlvbmluZ1F1aWNrLnNvLjUgcXQ1LWxvY2F0aW9uLTUuMTIuMV8xCitsaWJRdDVWaXJ0dWFsS2V5 Ym9hcmQuc28uNSBxdDUtdmlydHVhbGtleWJvYXJkLTUuMTIuMV8xCiBsaWJRdDVNdWx0aW1lZGlh LnNvLjUgcXQ1LW11bHRpbWVkaWEtNS42LjBfMQogbGliUXQ1TXVsdGltZWRpYUdzdFRvb2xzLnNv LjUgcXQ1LW11bHRpbWVkaWEtNS4xMC4xXzEKIGxpYlF0NU11bHRpbWVkaWFRdWljay5zby41IHF0 NS1tdWx0aW1lZGlhLTUuMTAuMV8xCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0NS1jYW52YXMzZCBi L3NyY3BrZ3MvcXQ1LWxvdHRpZQpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gc3Jj cGtncy9xdDUtY2FudmFzM2QKcmVuYW1lIHRvIHNyY3BrZ3MvcXQ1LWxvdHRpZQpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9xdDUtbG90dGllLWRldmVsIGIvc3JjcGtncy9xdDUtbG90dGllLWRldmVsCm5l dyBmaWxlIG1vZGUgMTIwMDAwCmluZGV4IDAwMDAwMDAwMDAwLi43NTc5M2ViNjY2NAotLS0gL2Rl di9udWxsCisrKyBiL3NyY3BrZ3MvcXQ1LWxvdHRpZS1kZXZlbApAQCAtMCwwICsxIEBACitxdDUK XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0NS9maWxl cy8wMDkwLWhhcmQtZGlzYWJsZS1xbWxjaGFjaGVnZW4ucGF0Y2ggYi9zcmNwa2dzL3F0NS9maWxl cy8wMDkwLWhhcmQtZGlzYWJsZS1xbWxjaGFjaGVnZW4ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwMDAuLjVlY2RmYjMwZjViCi0tLSAvZGV2L251bGwKKysrIGIvc3Jj cGtncy9xdDUvZmlsZXMvMDA5MC1oYXJkLWRpc2FibGUtcW1sY2hhY2hlZ2VuLnBhdGNoCkBAIC0w LDAgKzEsMTAgQEAKKy0tLSBxdGRlY2xhcmF0aXZlL3Rvb2xzL3Rvb2xzLnBybwkyMDE5LTA0LTA5 IDAxOjAxOjA3LjAwMDAwMDAwMCArMDIwMAorKysrIC0JMjAxOS0wNC0yMSAwMDoyNDoxNi4xOTI5 NjYzNDUgKzAyMDAKK0BAIC03LDcgKzcsNiBAQAorICAgICAgICAgcW1sbWluIFwKKyAgICAgICAg IHFtbGltcG9ydHNjYW5uZXIKKyAKKy0gICAgcXRDb25maWcoY29tbWFuZGxpbmVwYXJzZXIpOnF0 Q29uZmlnKHhtbHN0cmVhbXdyaXRlcik6IFNVQkRJUlMgKz0gcW1sY2FjaGVnZW4KKyB9CisgCisg cXRDb25maWcodGhyZWFkKTohYW5kcm9pZHxhbmRyb2lkX2FwcDohd2FzbSB7CmRpZmYgLS1naXQg YS9zcmNwa2dzL3F0NS9maWxlcy9hc3Npc3RhbnQucHJvIGIvc3JjcGtncy9xdDUvZmlsZXMvYXNz aXN0YW50LnBybwppbmRleCAzZTMyNzc2YTgyNy4uNTEwMGY2MTEwNWUgMTAwNjQ0Ci0tLSBhL3Ny Y3BrZ3MvcXQ1L2ZpbGVzL2Fzc2lzdGFudC5wcm8KKysrIGIvc3JjcGtncy9xdDUvZmlsZXMvYXNz aXN0YW50LnBybwpAQCAtNSw5ICs1LDcgQEAgU1VCRElSUyArPSBcCiAgICAgICAgICAgIGFzc2lz dGFudCBcCiAgICAgICAgICAgIHFoZWxwZ2VuZXJhdG9yIFwKICAgICAgICAgICAgcWNvbGxlY3Rp b25nZW5lcmF0b3IgXAotICAgICAgICAgICBxaGVscGNvbnZlcnRlcgogCiBhc3Npc3RhbnQuZGVw ZW5kcyA9IGhlbHAKLXFoZWxwZ2VuZXJhdG9yLmRlcGVuZHMgPSBoZWxwCiBxY29sbGVjdGlvbmdl bmVyYXRvci5kZXBlbmRzID0gaGVscAogcWhlbHBjb252ZXJ0ZXIuZGVwZW5kcyA9IGhlbHAKZGlm ZiAtLWdpdCBhL3NyY3BrZ3MvcXQ1L2ZpbGVzL2xyZWxlYXNlLnBybyBiL3NyY3BrZ3MvcXQ1L2Zp bGVzL2xyZWxlYXNlLnBybwppbmRleCA0ZGJkNGNlNTMyNy4uYmFiNmIyOTI4ZTQgMTAwNjQ0Ci0t LSBhL3NyY3BrZ3MvcXQ1L2ZpbGVzL2xyZWxlYXNlLnBybworKysgYi9zcmNwa2dzL3F0NS9maWxl cy9scmVsZWFzZS5wcm8KQEAgLTEsMTAgKzEsMTYgQEAKIFFUID0gY29yZSBxbWwgbmV0d29yayBj b3JlLXByaXZhdGUKIERFRklORVMgKz0gUVRfTk9fQ0FTVF9GUk9NX0FTQ0lJIFFUX05PX0NBU1Rf VE9fQVNDSUkKIAotU09VUkNFUyArPSBtYWluLmNwcAorSEVBREVSUyArPSBcCisgICAgLi4vc2hh cmVkL3Byb2plY3RkZXNjcmlwdGlvbnJlYWRlci5oIFwKKyAgICAuLi9zaGFyZWQvcnVucXR0b29s LmgKKworU09VUkNFUyArPSBcCisgICAgLi4vc2hhcmVkL3Byb2plY3RkZXNjcmlwdGlvbnJlYWRl ci5jcHAgXAorICAgIC4uL3NoYXJlZC9ydW5xdHRvb2wuY3BwIFwKKyAgICBtYWluLmNwcAogCiBp bmNsdWRlKC4uL3NoYXJlZC9mb3JtYXRzLnByaSkKLWluY2x1ZGUoLi4vc2hhcmVkL3Byb3BhcnNl ci5wcmkpCiAKIHFtYWtlLm5hbWUgPSBRTUFLRQogcW1ha2UudmFsdWUgPSAkJHNoZWxsX3BhdGgo JCRRTUFLRV9RTUFLRSkKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ1L2ZpbGVzL2x1cGRhdGUucHJv IGIvc3JjcGtncy9xdDUvZmlsZXMvbHVwZGF0ZS5wcm8KaW5kZXggYzg2N2FjZTkwOTkuLmJmNjg3 MTEzYzg2IDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0NS9maWxlcy9sdXBkYXRlLnBybworKysgYi9z cmNwa2dzL3F0NS9maWxlcy9sdXBkYXRlLnBybwpAQCAtMywxMyArMywxNCBAQCBRVCA9IGNvcmUg cW1sIG5ldHdvcmsgY29yZS1wcml2YXRlIHFtbGRldnRvb2xzLXByaXZhdGUKIERFRklORVMgKz0g UVRfTk9fQ0FTVF9UT19BU0NJSSBRVF9OT19DQVNUX0ZST01fQVNDSUkKIAogaW5jbHVkZSguLi9z aGFyZWQvZm9ybWF0cy5wcmkpCi1pbmNsdWRlKC4uL3NoYXJlZC9wcm9wYXJzZXIucHJpKQogCi1E RUZJTkVTICs9IFBST0VWQUxVQVRPUl9ERUJVRwogCiBTT1VSQ0VTICs9IFwKICAgICBtYWluLmNw cCBcCiAgICAgbWVyZ2UuY3BwIFwKKyAgICAuLi9zaGFyZWQvcHJvamVjdGRlc2NyaXB0aW9ucmVh ZGVyLmNwcCBcCisgICAgLi4vc2hhcmVkL3J1bnF0dG9vbC5jcHAgXAorICAgIC4uL3NoYXJlZC9x cmNyZWFkZXIuY3BwIFwKICAgICAuLi9zaGFyZWQvc2ltdGV4dGguY3BwIFwKICAgICBcCiAgICAg Y3BwLmNwcCBcCkBAIC0yMCw2ICsyMSw5IEBAIFNPVVJDRVMgKz0gcWRlY2xhcmF0aXZlLmNwcAog CiBIRUFERVJTICs9IFwKICAgICBsdXBkYXRlLmggXAorICAgIC4uL3NoYXJlZC9wcm9qZWN0ZGVz Y3JpcHRpb25yZWFkZXIuaCBcCisgICAgLi4vc2hhcmVkL3FyY3JlYWRlci5oIFwKKyAgICAuLi9z aGFyZWQvcnVucXR0b29sLmggXAogICAgIC4uL3NoYXJlZC9zaW10ZXh0aC5oCiAKIG1pbmd3IHsK ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ1L2ZpbGVzL21vYy9tb2MucHJvIGIvc3JjcGtncy9xdDUv ZmlsZXMvbW9jL21vYy5wcm8KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU0NDI1Y2Zi NDYyLi4wMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3F0NS9maWxlcy9tb2MvbW9jLnBybworKysg L2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotUVQgKz0gY29yZS1wcml2YXRlCi1ERUZJTkVTICs9 IFFUX01PQwotCi1pbmNsdWRlKG1vYy5wcmkpCi1IRUFERVJTICs9IHFkYXRldGltZV9wLmgKLVNP VVJDRVMgKz0gbWFpbi5jcHAKLQotbG9hZChxdF90b29sKQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9x dDUvZmlsZXMvcWRidXNjcHAyeG1sL3FkYnVzY3BwMnhtbC5wcm8gYi9zcmNwa2dzL3F0NS9maWxl cy9xZGJ1c2NwcDJ4bWwvcWRidXNjcHAyeG1sLnBybwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggN2NhNmQzNmJjYjguLjAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvcXQ1L2ZpbGVzL3Fk YnVzY3BwMnhtbC9xZGJ1c2NwcDJ4bWwucHJvCisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBA Ci1RVCA9IGNvcmUtcHJpdmF0ZSBkYnVzLXByaXZhdGUKLVFNQUtFX0NYWEZMQUdTICs9ICQkUVRf SE9TVF9DRkxBR1NfREJVUwotCi1pbmNsdWRlKC4uL21vYy9tb2MucHJpKQotCi1TT1VSQ0VTICs9 IHFkYnVzY3BwMnhtbC5jcHAKLQotbG9hZChxdF90b29sKQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9x dDUvZmlsZXMvcWxhbHIvcWxhbHIucHJvIGIvc3JjcGtncy9xdDUvZmlsZXMvcWxhbHIvcWxhbHIu cHJvCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZDc3NjcyN2ZlZi4uMDAwMDAwMDAw MDAKLS0tIGEvc3JjcGtncy9xdDUvZmlsZXMvcWxhbHIvcWxhbHIucHJvCisrKyAvZGV2L251bGwK QEAgLTEsMjMgKzAsMCBAQAotU09VUkNFUyArPSBcCi0gICAgY29tcHJlc3MuY3BwIFwKLSAgICBj cHBnZW5lcmF0b3IuY3BwIFwKLSAgICBkb3RncmFwaC5jcHAgXAotICAgIGxhbHIuY3BwIFwKLSAg ICBtYWluLmNwcCBcCi0gICAgcGFyc2V0YWJsZS5jcHAgXAotICAgIHJlY29nbml6ZXIuY3BwIFwK LSAgICBncmFtbWFyLmNwcAotCi1IRUFERVJTICs9IFwKLSAgICBjb21wcmVzcy5oIFwKLSAgICBj cHBnZW5lcmF0b3IuaCBcCi0gICAgZG90Z3JhcGguaCBcCi0gICAgbGFsci5oIFwKLSAgICBwYXJz ZXRhYmxlLmggXAotICAgIHJlY29nbml6ZXIuaCBcCi0gICAgZ3JhbW1hcl9wLmgKLQotT1RIRVJf RklMRVMgKz0gXAotICAgIGxhbHIuZwotCi1sb2FkKHF0X3Rvb2wpCmRpZmYgLS1naXQgYS9zcmNw a2dzL3F0NS9maWxlcy9xbWxpbXBvcnRzY2FubmVyLnBybyBiL3NyY3BrZ3MvcXQ1L2ZpbGVzL3Ft bGltcG9ydHNjYW5uZXIucHJvCmluZGV4IGY5MjIzNGFkNDQyLi41N2MyMjhiODU0MCAxMDA2NDQK LS0tIGEvc3JjcGtncy9xdDUvZmlsZXMvcW1saW1wb3J0c2Nhbm5lci5wcm8KKysrIGIvc3JjcGtn cy9xdDUvZmlsZXMvcW1saW1wb3J0c2Nhbm5lci5wcm8KQEAgLTEsNyArMSw3IEBACiBRVCA9IGNv cmUgcW1sIG5ldHdvcmsgcW1sZGV2dG9vbHMtcHJpdmF0ZQogREVGSU5FUyArPSBRVF9OT19DQVNU X1RPX0FTQ0lJIFFUX05PX0NBU1RfRlJPTV9BU0NJSQogCi1TT1VSQ0VTICs9IG1haW4uY3BwIC4u Ly4uL3NyYy9xbWwvcGFyc2VyL3FxbWxqc2dyYW1tYXIuY3BwCitTT1VSQ0VTICs9IG1haW4uY3Bw IC4uLy4uL3NyYy9xbWwvcXFtbGpzZ3JhbW1hci5jcHAKIAogUU1BS0VfVEFSR0VUX0RFU0NSSVBU SU9OID0gUU1MIEltcG9ydCBTY2FubmVyCiAKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ1L2ZpbGVz L3FtbGxpbnQucHJvIGIvc3JjcGtncy9xdDUvZmlsZXMvcW1sbGludC5wcm8KaW5kZXggMDMyZDAy Y2YzM2IuLjQwOWEzNzhiZmNiIDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0NS9maWxlcy9xbWxsaW50 LnBybworKysgYi9zcmNwa2dzL3F0NS9maWxlcy9xbWxsaW50LnBybwpAQCAtMSw2ICsxLDYgQEAK LVFUID0gY29yZSBxbWwgbmV0d29yayBxbWxkZXZ0b29scy1wcml2YXRlCitRVCA9IGNvcmUgcW1s IHFtbGRldnRvb2xzLXByaXZhdGUKIAotU09VUkNFUyArPSBtYWluLmNwcCAuLi8uLi9zcmMvcW1s L3BhcnNlci9xcW1sanNncmFtbWFyLmNwcAorU09VUkNFUyArPSBtYWluLmNwcCAuLi8uLi9zcmMv cW1sL3FxbWxqc2dyYW1tYXIuY3BwCiAKIFFNQUtFX1RBUkdFVF9ERVNDUklQVElPTiA9IFFNTCBT eW50YXggVmVyaWZpZXIKIApkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDUvZmlsZXMvcW1sbWluLnBy byBiL3NyY3BrZ3MvcXQ1L2ZpbGVzL3FtbG1pbi5wcm8KaW5kZXggNThmNzVjNzZlMDEuLmYwOTZi NDE0YmY0IDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0NS9maWxlcy9xbWxtaW4ucHJvCisrKyBiL3Ny Y3BrZ3MvcXQ1L2ZpbGVzL3FtbG1pbi5wcm8KQEAgLTEsNSArMSw1IEBACiBRVCAgICAgICA9IGNv cmUgcW1sIG5ldHdvcmsgcW1sZGV2dG9vbHMtcHJpdmF0ZQotU09VUkNFUyArPSBtYWluLmNwcCAu Li8uLi9zcmMvcW1sL3BhcnNlci9xcW1sanNncmFtbWFyLmNwcAorU09VUkNFUyArPSBtYWluLmNw cCAuLi8uLi9zcmMvcW1sL3FxbWxqc2dyYW1tYXIuY3BwCiAKIFFNQUtFX1RBUkdFVF9ERVNDUklQ VElPTiA9IFFNTC9KUyBNaW5pZmllcgogCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0NS9maWxlcy9x dHRvb2xzX3NyYy5wcm8gYi9zcmNwa2dzL3F0NS9maWxlcy9xdHRvb2xzX3NyYy5wcm8KaW5kZXgg N2IzOWY5MjllNzcuLmM3MzQ0NDA0YzA1IDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0NS9maWxlcy9x dHRvb2xzX3NyYy5wcm8KKysrIGIvc3JjcGtncy9xdDUvZmlsZXMvcXR0b29sc19zcmMucHJvCkBA IC01LDcgKzUsNiBAQCBTVUJESVJTID0gYXNzaXN0YW50IFwKIAlkZXNpZ25lciBcCiAJbGluZ3Vp c3QgXAogCXFkYnVzIFwKLQlxZG9jIFwKIAlxdGF0dHJpYnV0aW9uc3NjYW5uZXIKIAogbGluZ3Vp c3QuZGVwZW5kcyA9IGRlc2lnbmVyCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0NS9maWxlcy9yY2Mu cHJvIGIvc3JjcGtncy9xdDUvZmlsZXMvcmNjLnBybwppbmRleCA4MDQ2YjcyYjQ4ZC4uMzI5Njk3 OTc2OWIgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ1L2ZpbGVzL3JjYy5wcm8KKysrIGIvc3JjcGtn cy9xdDUvZmlsZXMvcmNjLnBybwpAQCAtNiwzICs2LDUgQEAgU09VUkNFUyArPSBtYWluLmNwcAog CiBRTUFLRV9UQVJHRVRfREVTQ1JJUFRJT04gPSAiUXQgUmVzb3VyY2UgQ29tcGlsZXIiCiBsb2Fk KHF0X3Rvb2wpCisKK0RFRklORVMgKz0gUVRfRkVBVFVSRV96c3RkPS0xCmRpZmYgLS1naXQgYS9z cmNwa2dzL3F0NS9maWxlcy9yY2MvcmNjLnBybyBiL3NyY3BrZ3MvcXQ1L2ZpbGVzL3JjYy9yY2Mu cHJvCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ODFjZDQ1NjRmNi4uMDAwMDAwMDAw MDAKLS0tIGEvc3JjcGtncy9xdDUvZmlsZXMvcmNjL3JjYy5wcm8KKysrIC9kZXYvbnVsbApAQCAt MSw2ICswLDAgQEAKLURFRklORVMgKz0gUVRfUkNDCi0KLWluY2x1ZGUocmNjLnByaSkKLVNPVVJD RVMgKz0gbWFpbi5jcHAKLQotbG9hZChxdF90b29sKQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDUv ZmlsZXMvdWljLnBybyBiL3NyY3BrZ3MvcXQ1L2ZpbGVzL3VpYy5wcm8KaW5kZXggMzBmOTg2NDRl YjcuLjc0ZDdkYmQ4NzhmIDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0NS9maWxlcy91aWMucHJvCisr KyBiL3NyY3BrZ3MvcXQ1L2ZpbGVzL3VpYy5wcm8KQEAgLTIsNiArMiw3IEBAIFFUID0gY29yZSBx bWwgY29yZS1wcml2YXRlIHFtbGRldnRvb2xzLXByaXZhdGUKIERFRklORVMgKz0gUVRfVUlDIFFU X05PX0NBU1RfRlJPTV9BU0NJSSBRVF9OT19GT1JFQUNICiAKIGluY2x1ZGUodWljLnByaSkKK2lu Y2x1ZGUoc2hhcmVkL3NoYXJlZC5wcmkpCiBpbmNsdWRlKGNwcC9jcHAucHJpKQogCiBIRUFERVJT ICs9IHVpYy5oCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0NS9maWxlcy91aWMvdWljLnBybyBiL3Ny Y3BrZ3MvcXQ1L2ZpbGVzL3VpYy91aWMucHJvCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCBjNzhiMTIzNzU5Zi4uMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9xdDUvZmlsZXMvdWljL3Vp Yy5wcm8KKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi1ERUZJTkVTICs9IFFUX1VJQwot Ci1pbmNsdWRlKHVpYy5wcmkpCi1pbmNsdWRlKGNwcC9jcHAucHJpKQotCi1IRUFERVJTICs9IHVp Yy5oCi0KLVNPVVJDRVMgKz0gbWFpbi5jcHAgXAotICAgICAgICAgICB1aWMuY3BwCi0KLWxvYWQo cXRfdG9vbCkKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ1L3BhdGNoZXMvMDAwMS1GaXgtY29uZmxp Y3QtYmV0d2Vlbi1tdXNsLWxpYmMtZGlyZW50LmgtYW5kLWxzcy5wYXRjaCBiL3NyY3BrZ3MvcXQ1 L3BhdGNoZXMvMDAwMS1GaXgtY29uZmxpY3QtYmV0d2Vlbi1tdXNsLWxpYmMtZGlyZW50LmgtYW5k LWxzcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGYyM2EyMmY0NTAuLjAw MDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvcXQ1L3BhdGNoZXMvMDAwMS1GaXgtY29uZmxpY3QtYmV0 d2Vlbi1tdXNsLWxpYmMtZGlyZW50LmgtYW5kLWxzcy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0x LDM1ICswLDAgQEAKLUZyb20gMWFjMjgyYWQzYTg1OTA3N2NiZmY4YmY0NzczZGI5YmI1YjZhNWJi ZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEZlbGl4IEphbmRhIDxmZWxpeC5qYW5k YUBwb3N0ZW8uZGU+Ci1EYXRlOiBTdW4sIDEgRmViIDIwMTUgMTM6NDE6MDggKzAxMDAKLVN1Ympl Y3Q6IFtQQVRDSCAxLzZdIEZpeCBjb25mbGljdCBiZXR3ZWVuIG11c2wgbGliYyA8ZGlyZW50Lmg+ IGFuZCBsc3MKLQotSW5jbHVkZSA8ZGlyZW50Lmg+IGxhdGUgdG8gYXZvaWQgdGhlIG1hY3JvIGdl dGRlbnRzNjQgaW4gbXVzbAotbGliYydzIDxkaXJlbnQuaD4gdG8gY29uZmxpY3Qgd2l0aCBsaW51 eF9zeWNhbGxfc3VwcG9ydC5oLgotLS0tCi0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvY3Jhc2hf Z2VuZXJhdGlvbi9jcmFzaF9nZW5lcmF0aW9uX3NlcnZlci5jYyB8IDMgKystCi0gMSBmaWxlIGNo YW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvc3Jj L2NsaWVudC9saW51eC9jcmFzaF9nZW5lcmF0aW9uL2NyYXNoX2dlbmVyYXRpb25fc2VydmVyLmNj IGIvc3JjL2NsaWVudC9saW51eC9jcmFzaF9nZW5lcmF0aW9uL2NyYXNoX2dlbmVyYXRpb25fc2Vy dmVyLmNjCi1pbmRleCA4NjBlOGJjLi5mMGFhODAxIDEwMDY0NAotLS0tIHF0d2ViZW5naW5lL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xp ZW50L2xpbnV4L2NyYXNoX2dlbmVyYXRpb24vY3Jhc2hfZ2VuZXJhdGlvbl9zZXJ2ZXIuY2MKLSsr KyBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQv YnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9jcmFzaF9nZW5lcmF0aW9uL2NyYXNoX2dlbmVyYXRp b25fc2VydmVyLmNjCi1AQCAtMjgsNyArMjgsNiBAQAotIC8vIE9GIFRISVMgU09GVFdBUkUsIEVW RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gCi0gI2lu Y2x1ZGUgPGFzc2VydC5oPgotLSNpbmNsdWRlIDxkaXJlbnQuaD4KLSAjaW5jbHVkZSA8ZmNudGwu aD4KLSAjaW5jbHVkZSA8bGltaXRzLmg+Ci0gI2luY2x1ZGUgPHBvbGwuaD4KLUBAIC00OSw2ICs0 OCw4IEBACi0gI2luY2x1ZGUgImNvbW1vbi9saW51eC9ndWlkX2NyZWF0b3IuaCIKLSAjaW5jbHVk ZSAiY29tbW9uL2xpbnV4L3NhZmVfcmVhZGxpbmsuaCIKLSAKLSsjaW5jbHVkZSA8ZGlyZW50Lmg+ Ci0rCi0gc3RhdGljIGNvbnN0IGNoYXIga0NvbW1hbmRRdWl0ID0gJ3gnOwotIAotIG5hbWVzcGFj ZSBnb29nbGVfYnJlYWtwYWQgewotLS0gCi0yLjAuNQotCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0 NS9wYXRjaGVzLzAwMDQtbXVzbC1kaXNwYXRjaC10by1tdXNsLnBhdGNoIGIvc3JjcGtncy9xdDUv cGF0Y2hlcy8wMDA0LW11c2wtZGlzcGF0Y2gtdG8tbXVzbC5wYXRjaAppbmRleCA4NmUwOWQ1Y2Zk My4uZGUzMmEzZGFiOTUgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ1L3BhdGNoZXMvMDAwNC1tdXNs LWRpc3BhdGNoLXRvLW11c2wucGF0Y2gKKysrIGIvc3JjcGtncy9xdDUvcGF0Y2hlcy8wMDA0LW11 c2wtZGlzcGF0Y2gtdG8tbXVzbC5wYXRjaApAQCAtMSw1ICsxLDUgQEAKLS0tLSBxdHdlYmVuZ2lu ZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vYmFzZS9hbGxvY2F0b3IvYWxsb2NhdG9yX3NoaW1fZGVm YXVsdF9kaXNwYXRjaF90b19nbGliYy5jYwkyMDE3LTA5LTE5IDE4OjE1OjE1LjAwMDAwMDAwMCAr MDIwMAotKysrIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9iYXNlL2FsbG9jYXRv ci9hbGxvY2F0b3Jfc2hpbV9kZWZhdWx0X2Rpc3BhdGNoX3RvX2dsaWJjLmNjCTIwMTctMTAtMDkg MTk6MzU6MTEuNzYyMzg0ODA5ICswMjAwCistLS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2No cm9taXVtL2Jhc2UvYWxsb2NhdG9yL2FsbG9jYXRvcl9zaGltX2RlZmF1bHRfZGlzcGF0Y2hfdG9f Z2xpYmMuY2MKKy0tLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vYmFzZS9hbGxv Y2F0b3IvYWxsb2NhdG9yX3NoaW1fZGVmYXVsdF9kaXNwYXRjaF90b19nbGliYy5jYwogQEAgLTYs NiArNiw3IEBACiAgCiAgI2luY2x1ZGUgPG1hbGxvYy5oPgpAQCAtOCw4ICs4LDggQEAKICAvLyBU aGlzIHRyYW5zbGF0aW9uIHVuaXQgZGVmaW5lcyBhIGRlZmF1bHQgZGlzcGF0Y2ggZm9yIHRoZSBh bGxvY2F0b3Igc2hpbSB3aGljaAogIC8vIHJvdXRlcyBhbGxvY2F0aW9ucyB0byBsaWJjIGZ1bmN0 aW9ucy4KICAvLyBUaGUgY29kZSBoZXJlIGlzIHN0cm9uZ2x5IGluc3BpcmVkIGZyb20gdGNtYWxs b2MncyBsaWJjX292ZXJyaWRlX2dsaWJjLmguCi1AQCAtNTksMyArNjAsOTggQEAKLSAgICAgJkds aWJjR2V0U2l6ZUVzdGltYXRlLCAvKiBnZXRfc2l6ZV9lc3RpbWF0ZV9mdW5jdGlvbiAqLworQEAg LTczLDMgKzc0LDkyIEBAIGNvbnN0IEFsbG9jYXRvckRpc3BhdGNoIEFsbG9jYXRvckRpc3BhdGNo OjpkZWZhdWx0X2Rpc3BhdGNoID0geworICAgICBudWxscHRyLCAgICAgICAgICAgICAgIC8qIGZy ZWVfZGVmaW5pdGVfc2l6ZV9mdW5jdGlvbiAqLwogICAgICBudWxscHRyLCAgICAgICAgICAgICAg IC8qIG5leHQgKi8KICB9OwogKwpAQCAtMzcsMTggKzM3LDEyIEBACiArLy8gcmVzb2x2ZSB0aGUg c3ltYm9scyBpbiBsaWJjLnNvCiArdm9pZCBtdXNsX2xpYmNfbWVtb3J5X2luaXQodm9pZCkKICt7 Ci0rICB2b2lkKiBsaWJjID0gZGxvcGVuKCJsaWJjIiwgUlRMRF9MQVpZKTsKLSsgIGlmICghbGli YykKLSsgICAgbGliYyA9IGRsb3BlbigibGliYy5zbyIsIFJUTERfTEFaWSk7Ci0rICBpZiAoIWxp YmMpCi0rICAgIGxpYmMgPSBkbG9wZW4oImxpYmMuc28uNiIsIFJUTERfTEFaWSk7Ci0rICBsaWJj X21hbGxvYyA9ICh0X2xpYmNfbWFsbG9jKSBkbHN5bShsaWJjLCAibWFsbG9jIik7Ci0rICBsaWJj X2NhbGxvYyA9ICh0X2xpYmNfY2FsbG9jKSBkbHN5bShsaWJjLCAiY2FsbG9jIik7Ci0rICBsaWJj X3JlYWxsb2MgPSAodF9saWJjX3JlYWxsb2MpIGRsc3ltKGxpYmMsICJyZWFsbG9jIik7Ci0rICBs aWJjX21lbWFsaWduID0gKHRfbGliY19tZW1hbGlnbikgZGxzeW0obGliYywgIm1lbWFsaWduIik7 Ci0rICBsaWJjX2ZyZWUgPSAodF9saWJjX2ZyZWUpIGRsc3ltKGxpYmMsICJmcmVlIik7Ci0rICBs aWJjX21hbGxvY191c2FibGVfc2l6ZSA9ICh0X2xpYmNfbWFsbG9jX3VzYWJsZV9zaXplKSBkbHN5 bShsaWJjLCAibWFsbG9jX3VzYWJsZV9zaXplIik7Ci0rICBkbGNsb3NlKGxpYmMpOworKyAgbGli Y19tYWxsb2MgPSAodF9saWJjX21hbGxvYykgZGxzeW0oUlRMRF9ORVhULCAibWFsbG9jIik7Cisr ICBsaWJjX2NhbGxvYyA9ICh0X2xpYmNfY2FsbG9jKSBkbHN5bShSVExEX05FWFQsICJjYWxsb2Mi KTsKKysgIGxpYmNfcmVhbGxvYyA9ICh0X2xpYmNfcmVhbGxvYykgZGxzeW0oUlRMRF9ORVhULCAi cmVhbGxvYyIpOworKyAgbGliY19tZW1hbGlnbiA9ICh0X2xpYmNfbWVtYWxpZ24pIGRsc3ltKFJU TERfTkVYVCwgIm1lbWFsaWduIik7CisrICBsaWJjX2ZyZWUgPSAodF9saWJjX2ZyZWUpIGRsc3lt KFJUTERfTkVYVCwgImZyZWUiKTsKKysgIGxpYmNfbWFsbG9jX3VzYWJsZV9zaXplID0gKHRfbGli Y19tYWxsb2NfdXNhYmxlX3NpemUpIGRsc3ltKFJUTERfTkVYVCwgIm1hbGxvY191c2FibGVfc2l6 ZSIpOwogK30KICt9ICAvLyBleHRlcm4gIkMiCiArCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0NS9w YXRjaGVzLzAwMDYtc3lzLXNpZ25hbC5oLWlzLWEtbm9ucG9ydGFibGUtYWxpYXMtZm9yLXNpZ25h bC5oLnBhdGNoIGIvc3JjcGtncy9xdDUvcGF0Y2hlcy8wMDA2LXN5cy1zaWduYWwuaC1pcy1hLW5v bnBvcnRhYmxlLWFsaWFzLWZvci1zaWduYWwuaC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggNTQ5MWQ2NDQwZTEuLjAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvcXQ1L3BhdGNo ZXMvMDAwNi1zeXMtc2lnbmFsLmgtaXMtYS1ub25wb3J0YWJsZS1hbGlhcy1mb3Itc2lnbmFsLmgu cGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw4MSArMCwwIEBACi1Gcm9tIDdlMGEyYTcyZDE2YzEx Njk5NTU4MDU0YzAxYTIwODI1MTdmN2RhYzEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9t OiBGZWxpeCBKYW5kYSA8ZmVsaXguamFuZGFAcG9zdGVvLmRlPgotRGF0ZTogU3VuLCAxIEZlYiAy MDE1IDE0OjQwOjQxICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggNi82XSA8c3lzL3NpZ25hbC5oPiBp cyBhIG5vbnBvcnRhYmxlIGFsaWFzIGZvciA8c2lnbmFsLmg+Ci0KLS0tLQotIHF0d2ViZW5naW5l L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMv Y2xpZW50L2xpbnV4L2hhbmRsZXIvZXhjZXB0aW9uX2hhbmRsZXIuY2MgfCAgMiArLQotIHF0d2Vi ZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3Bh ZC9zcmMvY29tbW9uL2FuZHJvaWQvaW5jbHVkZS9zeXMvc2lnbmFsLmggICAgICAgfCAzNSAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21p dW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NvbW1vbi9jb21tb24uZ3lwICAg ICAgICAgICAgICAgICAgICAgICAgIHwgIDEgLQotIDMgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRp b24oKyksIDM3IGRlbGV0aW9ucygtKQotIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmMvY29tbW9uL2Fu ZHJvaWQvaW5jbHVkZS9zeXMvc2lnbmFsLmgKLQotZGlmZiAtLWdpdCBhL3NyYy9jbGllbnQvbGlu dXgvaGFuZGxlci9leGNlcHRpb25faGFuZGxlci5jYyBiL3NyYy9jbGllbnQvbGludXgvaGFuZGxl ci9leGNlcHRpb25faGFuZGxlci5jYwotaW5kZXggM2UyZDE5Ni4uY2MzYjFkMyAxMDA2NDQKLS0t LSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQv YnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyLmNjCi0r KysgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFk L2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvaGFuZGxlci9leGNlcHRpb25faGFuZGxlci5jYwot QEAgLTc4LDcgKzc4LDcgQEAKLSAjaW5jbHVkZSA8c3lzL3dhaXQuaD4KLSAjaW5jbHVkZSA8dW5p c3RkLmg+Ci0gCi0tI2luY2x1ZGUgPHN5cy9zaWduYWwuaD4KLSsjaW5jbHVkZSA8c2lnbmFsLmg+ Ci0gI2luY2x1ZGUgPHN5cy91Y29udGV4dC5oPgotICNpbmNsdWRlIDxzeXMvdXNlci5oPgotICNp bmNsdWRlIDx1Y29udGV4dC5oPgotZGlmZiAtLWdpdCBhL3NyYy9jb21tb24vYW5kcm9pZC9pbmNs dWRlL3N5cy9zaWduYWwuaCBiL3NyYy9jb21tb24vYW5kcm9pZC9pbmNsdWRlL3N5cy9zaWduYWwu aAotZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAyMGM4MWU5Li4wMDAwMDAwCi0tLS0g cXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2Jy ZWFrcGFkL3NyYy9jb21tb24vYW5kcm9pZC9pbmNsdWRlL3N5cy9zaWduYWwuaAotKysrIC9kZXYv bnVsbAotQEAgLTEsMzUgKzAsMCBAQAotLS8vIENvcHlyaWdodCAoYykgMjAxMiwgR29vZ2xlIElu Yy4KLS0vLyBBbGwgcmlnaHRzIHJlc2VydmVkLgotLS8vCi0tLy8gUmVkaXN0cmlidXRpb24gYW5k IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0tLy8gbW9k aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k aXRpb25zIGFyZQotLS8vIG1ldDoKLS0vLwotLS8vICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0tLy8gbm90aWNlLCB0 aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotLS8v ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg YWJvdmUKLS0vLyBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCi0tLy8gaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotLS8vIGRpc3RyaWJ1dGlvbi4KLS0v LyAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2Yg aXRzCi0tLy8gY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw cm9kdWN0cyBkZXJpdmVkIGZyb20KLS0vLyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotLS8vCi0tLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9W SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotLS8vICJBUyBJ UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg Tk9UCi0tLy8gTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC SUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0tLy8gQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKLS0vLyBPV05FUiBPUiBDT05U UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwK LS0vLyBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE SU5HLCBCVVQgTk9UCi0tLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0tLy8gREFUQSwgT1IgUFJPRklUUzsgT1Ig QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0tLy8gVEhF T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg T1IgVE9SVAotLS8vIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotLS8vIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0tCi0tI2lmbmRlZiBH T09HTEVfQlJFQUtQQURfQ09NTU9OX0FORFJPSURfSU5DTFVERV9TWVNfU0lHTkFMX0gKLS0jZGVm aW5lIEdPT0dMRV9CUkVBS1BBRF9DT01NT05fQU5EUk9JRF9JTkNMVURFX1NZU19TSUdOQUxfSAot LQotLSNpbmNsdWRlIDxzaWduYWwuaD4KLS0KLS0jZW5kaWYgIC8vIEdPT0dMRV9CUkVBS1BBRF9D T01NT05fQU5EUk9JRF9JTkNMVURFX1NZU19TSUdOQUxfSAotZGlmZiAtLWdpdCBhL3NyYy9jb21t b24vY29tbW9uLmd5cCBiL3NyYy9jb21tb24vY29tbW9uLmd5cAotaW5kZXggYzQ5ZmY4NS4uMWE2 YjFhZSAxMDA2NDQKLS0tLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRf cGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NvbW1vbi9jb21tb24uZ3lwCi0rKysgcXR3ZWJl bmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFk L3NyYy9jb21tb24vY29tbW9uLmd5cAotQEAgLTQ3LDcgKzQ3LDYgQEAKLSAgICAgICAgICdhbmRy b2lkL2luY2x1ZGUvbGluay5oJywKLSAgICAgICAgICdhbmRyb2lkL2luY2x1ZGUvc2dpZGVmcy5o JywKLSAgICAgICAgICdhbmRyb2lkL2luY2x1ZGUvc3lzL3Byb2Nmcy5oJywKLS0gICAgICAgICdh bmRyb2lkL2luY2x1ZGUvc3lzL3NpZ25hbC5oJywKLSAgICAgICAgICdhbmRyb2lkL2luY2x1ZGUv c3lzL3VzZXIuaCcsCi0gICAgICAgICAnYW5kcm9pZC9pbmNsdWRlL3Vjb250ZXh0LmgnLAotICAg ICAgICAgJ2FuZHJvaWQvdGVzdGluZy9pbmNsdWRlL3djaGFyLmgnLAotLS0gCi0yLjAuNQotCmRp ZmYgLS1naXQgYS9zcmNwa2dzL3F0NS9wYXRjaGVzLzAwMDgtbXVzbC1uby1tYWxsaW5mby5wYXRj aCBiL3NyY3BrZ3MvcXQ1L3BhdGNoZXMvMDAwOC1tdXNsLW5vLW1hbGxpbmZvLnBhdGNoCmluZGV4 IDY3Y2UyY2IzZjc5Li43YjMwNzE3MTM2YSAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDUvcGF0Y2hl cy8wMDA4LW11c2wtbm8tbWFsbGluZm8ucGF0Y2gKKysrIGIvc3JjcGtncy9xdDUvcGF0Y2hlcy8w MDA4LW11c2wtbm8tbWFsbGluZm8ucGF0Y2gKQEAgLTI5LDE0ICsyOSwzIEBACiAgICBzdHJ1Y3Qg bWFsbGluZm8gbWluZm8gPSBtYWxsaW5mbygpOwogICNpZiBkZWZpbmVkKFVTRV9UQ01BTExPQykK ICAgIHJldHVybiBtaW5mby51b3JkYmxrczsKLS0tLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkv Y2hyb21pdW0vY29udGVudC9jaGlsZC9jb250ZW50X2NoaWxkX2hlbHBlcnMuY2MJMjAxNy0xMS0y OCAxNDowNjo1My4wMDAwMDAwMDAgKzAxMDAKLSsrKyBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkv Y2hyb21pdW0vY29udGVudC9jaGlsZC9jb250ZW50X2NoaWxkX2hlbHBlcnMuY2MJMjAxOC0wMS0y OCAwNjoyMzoxNC44OTEyMzg1MDcgKzAxMDAKLUBAIC0yNSw3ICsyNSw3IEBACi0gLy8gdGhvdWdo LCB0aGlzIHByb3ZpZGVzIG9ubHkgYSBwYXJ0aWFsIGFuZCBtaXNsZWFkaW5nIHZhbHVlLgotIC8v IFVuZm9ydHVuYXRlbHkgc29tZSB0ZWxlbWV0cnkgYmVuY2htYXJrIHJlbHkgb24gaXQgYW5kIHRo ZXNlIG5lZWQgdG8KLSAvLyBiZSByZWZhY3RvcmVkIGJlZm9yZSBnZXR0aW5nIHJpZCBvZiB0aGlz LiBTZWUgY3JidWcuY29tLzU4MTM2NSAuCi0tI2lmIGRlZmluZWQoT1NfTElOVVgpIHx8IGRlZmlu ZWQoT1NfQU5EUk9JRCkKLSsjaWYgZGVmaW5lZChfX0dMSUJDX18pIHx8IGRlZmluZWQoT1NfQU5E Uk9JRCkKLSBzaXplX3QgR2V0TWVtb3J5VXNhZ2VLQigpIHsKLSAgIHN0cnVjdCBtYWxsaW5mbyBt aW5mbyA9IG1hbGxpbmZvKCk7Ci0gICB1aW50NjRfdCBtZW1fdXNhZ2UgPQpkaWZmIC0tZ2l0IGEv c3JjcGtncy9xdDUvcGF0Y2hlcy8wMDEzLW11c2wtc2VyaWFsaW8ucGF0Y2ggYi9zcmNwa2dzL3F0 NS9wYXRjaGVzLzAwMTMtbXVzbC1zZXJpYWxpby5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggY2YwZTBmYTc2OGYuLjAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvcXQ1L3BhdGNo ZXMvMDAxMy1tdXNsLXNlcmlhbGlvLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBA QAotLS0tIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9kZXZpY2Uvc2VyaWFsL3Nl cmlhbF9pb19oYW5kbGVyX3Bvc2l4LmNjCTIwMTctMDEtMDMgMTA6Mjg6NTMuMDAwMDAwMDAwICsw MTAwCi0rKysgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2RldmljZS9zZXJpYWwv c2VyaWFsX2lvX2hhbmRsZXJfcG9zaXguY2MJMjAxNy0wMi0yMyAyMToyMDo0Mi42NTA2Njk1NjMg KzAxMDAKLUBAIC0xMiw2ICsxMiw5IEBACi0gCi0gI2lmIGRlZmluZWQoT1NfTElOVVgpCi0gI2lu Y2x1ZGUgPGxpbnV4L3NlcmlhbC5oPgotKyNpZiAhZGVmaW5lZChfX0dMSUJDX18pCi0rI2luY2x1 ZGUgPGFzbS1nZW5lcmljL2lvY3Rscy5oPgotKyNlbmRpZgotIAotIC8vIFRoZSBkZWZpbml0aW9u IG9mIHN0cnVjdCB0ZXJtaW9zMiBpcyBjb3BpZWQgZnJvbSBhc20tZ2VuZXJpYy90ZXJtYml0cy5o Ci0gLy8gYmVjYXVzZSBpbmNsdWRpbmcgdGhhdCBoZWFkZXIgZGlyZWN0bHkgY29uZmxpY3RzIHdp dGggdGVybWlvcy5oLgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDUvcGF0Y2hlcy8wMDE3LW11c2wt c3RhY2tzdGFydC5wYXRjaCBiL3NyY3BrZ3MvcXQ1L3BhdGNoZXMvMDAxNy1tdXNsLXN0YWNrc3Rh cnQucGF0Y2gKaW5kZXggZDhkZDFhYTkwZjYuLjU3MTM2YmMyYmNkIDEwMDY0NAotLS0gYS9zcmNw a2dzL3F0NS9wYXRjaGVzLzAwMTctbXVzbC1zdGFja3N0YXJ0LnBhdGNoCisrKyBiL3NyY3BrZ3Mv cXQ1L3BhdGNoZXMvMDAxNy1tdXNsLXN0YWNrc3RhcnQucGF0Y2gKQEAgLTEsNSArMSw1IEBACi0t LS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L1dlYktpdC9T b3VyY2UvcGxhdGZvcm0vd3RmL1N0YWNrVXRpbC5jcHAJMjAxOC0wMS0yNyAyMzowODo0My41ODY0 NzUzNDkgKzAxMDAKLSsrKyBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRf cGFydHkvV2ViS2l0L1NvdXJjZS9wbGF0Zm9ybS93dGYvU3RhY2tVdGlsLmNwcAkyMDE4LTAxLTI3 IDIzOjE4OjIyLjI3NDUwNTIwMyArMDEwMAorLS0tIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS93dGYvc3RhY2tfdXRp bC5jYwkyMDE4LTAxLTI3IDIzOjA4OjQzLjU4NjQ3NTM0OSArMDEwMAorKysrIHF0d2ViZW5naW5l L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9y bS93dGYvc3RhY2tfdXRpbC5jYwkyMDE4LTAxLTI3IDIzOjE4OjIyLjI3NDUwNTIwMyArMDEwMAog QEAgLTI4LDcgKzI4LDcgQEAKICAvLyBGSVhNRTogT24gTWFjIE9TWCBhbmQgTGludXgsIHRoaXMg bWV0aG9kIGNhbm5vdCBlc3RpbWF0ZSBzdGFjayBzaXplCiAgLy8gY29ycmVjdGx5IGZvciB0aGUg bWFpbiB0aHJlYWQuCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0NS9wYXRjaGVzLzAwMjEtY2hyb21p dW0tbW9qby1nY2M4LnBhdGNoIGIvc3JjcGtncy9xdDUvcGF0Y2hlcy8wMDIxLWNocm9taXVtLW1v am8tZ2NjOC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2M0ZjNhOTc5YjIu LjAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvcXQ1L3BhdGNoZXMvMDAyMS1jaHJvbWl1bS1tb2pv LWdjYzgucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi0tLS0gcXR3ZWJlbmdp bmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL21vam8vcHVibGljL2Mvc3lzdGVtL21hY3Jvcy5oCTIw MTgtMDUtMTUgMTQ6NTg6NDYuNDQ4OTEyNjM0IC0wNDAwCi0rKysgcXR3ZWJlbmdpbmUvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL21vam8vcHVibGljL2Mvc3lzdGVtL21hY3Jvcy5oCTIwMTgtMDUtMTUg MTQ6NTg6NTIuMDQxNzg0NjEzIC0wNDAwCi1AQCAtMTgsNyArMTgsMTMgQEAKLSAjZW5kaWYKLSAK LSAvLyBMaWtlIHRoZSBDKysxMSB8YWxpZ25vZnwgb3BlcmF0b3IuCi0tI2lmIF9fY3BsdXNwbHVz ID49IDIwMTEwM0wKLSsjaWYgZGVmaW5lZChfX0dOVUNfXykgJiYgX19HTlVDX18gPj0gOAotKy8v IEdDQyA4IGhhcyBjaGFuZ2VkIHRoZSBhbGlnbm9mIG9wZXJhdG9yIHRvIHJldHVybiB0aGUgbWlu aW1hbCBhbGlnbm1lbnQKLSsvLyByZXF1aXJlZCBieSB0aGUgdGFyZ2V0IEFCSSwgaW5zdGVhZCBv ZiB0aGUgcHJlZmVycmVkIGFsaWdubWVudC4KLSsvLyBUaGlzIG1lYW5zIHRoYXQgb24gMzItYml0 IHg4NiwgaXQgd2lsbCByZXR1cm4gNCBpbnN0ZWFkIG9mIDguCi0rLy8gVXNlIF9fYWxpZ25vZl9f IGluc3RlYWQgdG8gYXZvaWQgdGhpcy4KLSsjZGVmaW5lIE1PSk9fQUxJR05PRih0eXBlKSBfX2Fs aWdub2ZfXyh0eXBlKQotKyNlbGlmIF9fY3BsdXNwbHVzID49IDIwMTEwM0wKLSAjZGVmaW5lIE1P Sk9fQUxJR05PRih0eXBlKSBhbGlnbm9mKHR5cGUpCi0gI2VsaWYgZGVmaW5lZChfX0dOVUNfXykK LSAjZGVmaW5lIE1PSk9fQUxJR05PRih0eXBlKSBfX2FsaWdub2ZfXyh0eXBlKQotZ2VuZXJhdGVk IGJ5IGNnaXQgdjEuMSBhdCAyMDE4LTA1LTI4IDE3OjM4OjQxICswMDAwCmRpZmYgLS1naXQgYS9z cmNwa2dzL3F0NS9wYXRjaGVzLzAwMjItbGlicmVzc2wtY29tcGF0LnBhdGNoIGIvc3JjcGtncy9x dDUvcGF0Y2hlcy8wMDIyLWxpYnJlc3NsLWNvbXBhdC5wYXRjaAppbmRleCAyNzdjYzYwODU4Zi4u NGU1ZjY5N2Q3MmMgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ1L3BhdGNoZXMvMDAyMi1saWJyZXNz bC1jb21wYXQucGF0Y2gKKysrIGIvc3JjcGtncy9xdDUvcGF0Y2hlcy8wMDIyLWxpYnJlc3NsLWNv bXBhdC5wYXRjaApAQCAtMSwxNSArMSwzIEBACi0tLS0gcXRiYXNlL2NvbmZpZy50ZXN0cy91bml4 L29wZW5zc2wxMS9vcGVuc3NsLmNwcAkyMDE3LTExLTA1IDE2OjA3OjQwLjk2MzM4NTA3MCAtMDUw MAotKysrIHF0YmFzZS9jb25maWcudGVzdHMvdW5peC9vcGVuc3NsMTEvb3BlbnNzbC5jcHAJMjAx Ny0xMS0wNSAxNjowNzo1MS43NTUyNTU1NDUgLTA1MDAKLUBAIC0zOSw3ICszOSw3IEBACi0gCi0g I2luY2x1ZGUgPG9wZW5zc2wvb3BlbnNzbHYuaD4KLSAKLS0jaWYgIWRlZmluZWQoT1BFTlNTTF9W RVJTSU9OX05VTUJFUikgfHwgT1BFTlNTTF9WRVJTSU9OX05VTUJFUi0wIDwgMHgxMDEwMDAwMEwK LSsjaWYgIWRlZmluZWQoT1BFTlNTTF9WRVJTSU9OX05VTUJFUikgfHwgT1BFTlNTTF9WRVJTSU9O X05VTUJFUi0wIDwgMHgxMDEwMDAwMEwgfHwgZGVmaW5lZChMSUJSRVNTTF9WRVJTSU9OX05VTUJF UikKLSAjICBlcnJvciAiT3BlblNTTCA+PSAxLjEgaXMgcmVxdWlyZWQiCi0gI2VuZGlmCi0gCi0K IGRpZmYgLS1naXQgYS9zcmMvbmV0d29yay9zc2wvcXNzbGNvbnRleHRfb3BlbnNzbC5jcHAgYi9z cmMvbmV0d29yay9zc2wvcXNzbGNvbnRleHRfb3BlbnNzbC5jcHAKIGluZGV4IDQxYjc1OTM2NGIu LjE3Y2U1YjRiMzAgMTAwNjQ0CiAtLS0gcXRiYXNlL3NyYy9uZXR3b3JrL3NzbC9xc3NsY29udGV4 dF9vcGVuc3NsLmNwcApAQCAtMzEsMTAgKzE5LDEwIEBAIGluZGV4IDgyZmY1ZTllM2EuLjc3ZTVk MDNiN2QgMTAwNjQ0CiBAQCAtNDAyLDcgKzQwMiw3IEBAIERFRklORUZVTkMyKGludCwgU1NMX0NU WF91c2VfUHJpdmF0ZUtleSwgU1NMX0NUWCAqYSwgYSwgRVZQX1BLRVkgKmIsIGIsIHJldHVybiAt CiAgREVGSU5FRlVOQzIoaW50LCBTU0xfQ1RYX3VzZV9SU0FQcml2YXRlS2V5LCBTU0xfQ1RYICph LCBhLCBSU0EgKmIsIGIsIHJldHVybiAtMSwgcmV0dXJuKQogIERFRklORUZVTkMzKGludCwgU1NM X0NUWF91c2VfUHJpdmF0ZUtleV9maWxlLCBTU0xfQ1RYICphLCBhLCBjb25zdCBjaGFyICpiLCBi LCBpbnQgYywgYywgcmV0dXJuIC0xLCByZXR1cm4pCi0gREVGSU5FRlVOQyhYNTA5X1NUT1JFICos IFNTTF9DVFhfZ2V0X2NlcnRfc3RvcmUsIGNvbnN0IFNTTF9DVFggKmEsIGEsIHJldHVybiAwLCBy ZXR1cm4pCisgREVGSU5FRlVOQyhYNTA5X1NUT1JFICosIFNTTF9DVFhfZ2V0X2NlcnRfc3RvcmUs IGNvbnN0IFNTTF9DVFggKmEsIGEsIHJldHVybiBudWxscHRyLCByZXR1cm4pCiAtI2lmIE9QRU5T U0xfVkVSU0lPTl9OVU1CRVIgPj0gMHgxMDAwMjAwMEwKICsjaWYgT1BFTlNTTF9WRVJTSU9OX05V TUJFUiA+PSAweDEwMDAyMDAwTCAmJiAhZGVmaW5lZChMSUJSRVNTTF9WRVJTSU9OX05VTUJFUikK LSBERUZJTkVGVU5DKFNTTF9DT05GX0NUWCAqLCBTU0xfQ09ORl9DVFhfbmV3LCBEVU1NWUFSRywg RFVNTVlBUkcsIHJldHVybiAwLCByZXR1cm4pOworIERFRklORUZVTkMoU1NMX0NPTkZfQ1RYICos IFNTTF9DT05GX0NUWF9uZXcsIERVTU1ZQVJHLCBEVU1NWUFSRywgcmV0dXJuIG51bGxwdHIsIHJl dHVybik7CiAgREVGSU5FRlVOQyh2b2lkLCBTU0xfQ09ORl9DVFhfZnJlZSwgU1NMX0NPTkZfQ1RY ICphLCBhLCByZXR1cm4gLHJldHVybik7CiAgREVGSU5FRlVOQzIodm9pZCwgU1NMX0NPTkZfQ1RY X3NldF9zc2xfY3R4LCBTU0xfQ09ORl9DVFggKmEsIGEsIFNTTF9DVFggKmIsIGIsIHJldHVybiwg cmV0dXJuKTsKIGRpZmYgLS1naXQgYS9zcmMvbmV0d29yay9zc2wvcXNzbHNvY2tldF9vcGVuc3Ns X3N5bWJvbHNfcC5oIGIvc3JjL25ldHdvcmsvc3NsL3Fzc2xzb2NrZXRfb3BlbnNzbF9zeW1ib2xz X3AuaApAQCAtNTAsMyArMzgsMTQgQEAgaW5kZXggNGZiOGYyNmNmNi4uM2E3ZGU5MzExMyAxMDA2 NDQKICBTU0xfQ09ORl9DVFggKnFfU1NMX0NPTkZfQ1RYX25ldygpOwogIHZvaWQgcV9TU0xfQ09O Rl9DVFhfZnJlZShTU0xfQ09ORl9DVFggKmEpOwogIHZvaWQgcV9TU0xfQ09ORl9DVFhfc2V0X3Nz bF9jdHgoU1NMX0NPTkZfQ1RYICphLCBTU0xfQ1RYICpiKTsKKy0tLSBxdGJhc2Uvc3JjL25ldHdv cmsvY29uZmlndXJlLmpzb24JMjAxOS0wMS0yOCAxODoxMTo1Mi4wMDAwMDAwMDAgKzAxMDAKKysr KyAtCTIwMTktMDMtMTEgMDA6MzE6NDIuODgzMjY0MjQ2ICswMTAwCitAQCAtMTY1LDcgKzE2NSw3 IEBACisgICAgICAgICAgICAgInRlc3QiOiB7CisgICAgICAgICAgICAgICAgICJpbmNsdWRlIjog Im9wZW5zc2wvb3BlbnNzbHYuaCIsCisgICAgICAgICAgICAgICAgICJ0YWlsIjogWworLSAgICAg ICAgICAgICAgICAgICAgIiNpZiAhZGVmaW5lZChPUEVOU1NMX1ZFUlNJT05fTlVNQkVSKSB8fCBP UEVOU1NMX1ZFUlNJT05fTlVNQkVSLTAgPCAweDEwMTAwMDAwTCIsCisrICAgICAgICAgICAgICAg ICAgICAiI2lmICFkZWZpbmVkKE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIpIHx8IE9QRU5TU0xfVkVS U0lPTl9OVU1CRVItMCA8IDB4MTAxMDAwMDBMIHx8IGRlZmluZWQoTElCUkVTU0xfVkVSU0lPTl9O VU1CRVIpIiwKKyAgICAgICAgICAgICAgICAgICAgICIjICBlcnJvciBPcGVuU1NMID49IDEuMSBp cyByZXF1aXJlZCIsCisgICAgICAgICAgICAgICAgICAgICAiI2VuZGlmIgorICAgICAgICAgICAg ICAgICBdCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0NS9wYXRjaGVzLzAwMjMtZW5hYmxlX3Rvb2xz LWNyb3NzLnBhdGNoIGIvc3JjcGtncy9xdDUvcGF0Y2hlcy8wMDIzLWVuYWJsZV90b29scy1jcm9z cy5wYXRjaAppbmRleCA4MTA5MmM3N2I0MS4uOWVhYzRlNzBlZmEgMTAwNjQ0Ci0tLSBhL3NyY3Br Z3MvcXQ1L3BhdGNoZXMvMDAyMy1lbmFibGVfdG9vbHMtY3Jvc3MucGF0Y2gKKysrIGIvc3JjcGtn cy9xdDUvcGF0Y2hlcy8wMDIzLWVuYWJsZV90b29scy1jcm9zcy5wYXRjaApAQCAtMSwyOCArMSwz NyBAQAogLS0tIHF0dG9vbHMvc3JjL3NyYy5wcm8JMjAxOC0wNi0wOSAxMzoxMDozOC4wMDAwMDAw MDAgKzAyMDAKICsrKyBxdHRvb2xzL3NyYy9zcmMucHJvCTIwMTgtMDgtMTkgMDk6MzQ6MjkuODAz NjcwMjA1ICswMjAwCi1AQCAtMSwxNiArMSwxMCBAQAorQEAgLTEsMjAgKzEsMTQgQEAKICBURU1Q TEFURSA9IHN1YmRpcnMKICAKIC1xdEhhdmVNb2R1bGUod2lkZ2V0cykgewogLSAgICBuby1wbmcg ewogLSAgICAgICAgbWVzc2FnZSgiU29tZSBncmFwaGljcy1yZWxhdGVkIHRvb2xzIGFyZSB1bmF2 YWlsYWJsZSB3aXRob3V0IFBORyBzdXBwb3J0IikKIC0gICAgfSBlbHNlIHsKLS0gICAgICAgIFNV QkRJUlMgPSBhc3Npc3RhbnQgXAotLSAgICAgICAgICAgICAgICAgIHBpeGVsdG9vbCBcCi0tICAg ICAgICAgICAgICAgICAgZGVzaWduZXIKLStTVUJESVJTID0gYXNzaXN0YW50IFwKLSsJcGl4ZWx0 b29sIFwKLSsJZGVzaWduZXIKLSAKLS0gICAgICAgIGxpbmd1aXN0LmRlcGVuZHMgPSBkZXNpZ25l cgorLSAgICAgICAgUVRfRk9SX0NPTkZJRyArPSB3aWRnZXRzCistICAgICAgICBxdENvbmZpZyhw dXNoYnV0dG9uKTpxdENvbmZpZyh0b29sYnV0dG9uKSB7CistICAgICAgICAgICAgU1VCRElSUyA9 IGFzc2lzdGFudCBcCistICAgICAgICAgICAgICAgICAgICAgIGRlc2lnbmVyIFwKKy0gICAgICAg ICAgICAgICAgICAgICAgcGl4ZWx0b29sCistCistICAgICAgICAgICAgbGluZ3Vpc3QuZGVwZW5k cyA9IGRlc2lnbmVyCistICAgICAgICB9CistICAgICAgICBxdEhhdmVNb2R1bGUocXVpY2spOnF0 Q29uZmlnKHRocmVhZCk6cXRDb25maWcodG9vbGJ1dHRvbik6IFNVQkRJUlMgKz0gZGlzdGFuY2Vm aWVsZGdlbmVyYXRvcgogLSAgICB9CiAtfQorK1FUX0ZPUl9DT05GSUcgKz0gd2lkZ2V0cworKwor K1NVQkRJUlMgPSBhc3Npc3RhbnQgXAorKyAgICAgICAgICBkZXNpZ25lciBcCisrICAgICAgICAg IHBpeGVsdG9vbAorKwogK2xpbmd1aXN0LmRlcGVuZHMgPSBkZXNpZ25lcgorKworK1NVQkRJUlMg Kz0gZGlzdGFuY2VmaWVsZGdlbmVyYXRvcgogIAogIFNVQkRJUlMgKz0gbGluZ3Vpc3QgXAogICAg ICBxdGF0dHJpYnV0aW9uc3NjYW5uZXIKLUBAIC0zMSwxMSArMjUsMTEgQEAKLSAgICAgU1VCRElS UyArPSBhbmRyb2lkZGVwbG95cXQKK0BAIC0zMSwxMSArMjUsMTEgQEAgbWFjb3MgeworICAgICBT VUJESVJTICs9IG1hY2RlcGxveXF0CiAgfQogIAogLXF0SGF2ZU1vZHVsZShkYnVzKTogU1VCRElS UyArPSBxZGJ1cwpAQCAtMzAsOCArMzksOCBAQAogIAogIHdpbjMyfHdpbnJ0OlNVQkRJUlMgKz0g d2luZGVwbG95cXQKICB3aW5ydDpTVUJESVJTICs9IHdpbnJ0cnVubmVyCi0tcXRIYXZlTW9kdWxl KGd1aSk6IWFuZHJvaWQ6IXVpa2l0OiFxbng6IXdpbnJ0OiBTVUJESVJTICs9IHF0ZGlhZworLXF0 SGF2ZU1vZHVsZShndWkpOiF3YXNtOiFhbmRyb2lkOiF1aWtpdDohcW54OiF3aW5ydDogU1VCRElS UyArPSBxdGRpYWcKICtTVUJESVJTICs9IHF0ZGlhZwogIAogIHF0Tm9tYWtlVG9vbHMoIFwKLSAg ICAgcGl4ZWx0b29sIFwKKyAgICAgZGlzdGFuY2VmaWVsZGdlbmVyYXRvciBcCmRpZmYgLS1naXQg YS9zcmNwa2dzL3F0NS9wYXRjaGVzLzAwMjctc2tpYV9jcHUtYmUucGF0Y2ggYi9zcmNwa2dzL3F0 NS9wYXRjaGVzLzAwMjctc2tpYV9jcHUtYmUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDkzNTJmMTkwYTNiLi4wMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3F0NS9wYXRjaGVz LzAwMjctc2tpYV9jcHUtYmUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi0t LS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3NraWEvaW5j bHVkZS9ncHUvR3JUeXBlcy5oLm9yaWcJMjAxOC0wOS0xMSAxNDozNzo1Ni44MzI4MjIwNTUgKzAy MDAKLSsrKyBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvc2tp YS9pbmNsdWRlL2dwdS9HclR5cGVzLmgJMjAxOC0wOS0xMSAxNDozODoxMS40NjQ4MjExODMgKzAy MDAKLUBAIC0zNDgsOSArMzQ4LDYgQEAKLSBzdGF0aWMgY29uc3QgaW50IGtHclBpeGVsQ29uZmln Q250ID0ga0xhc3RfR3JQaXhlbENvbmZpZyArIDE7Ci0gCi0gLy8gQWxpYXNlcyBmb3IgcGl4ZWwg Y29uZmlncyB0aGF0IG1hdGNoIHNraWEncyBieXRlIG9yZGVyLgotLSNpZm5kZWYgU0tfQ1BVX0xF TkRJQU4KLS0gICAgI2Vycm9yICJTa2lhIGdwdSBjdXJyZW50bHkgYXNzdW1lcyBsaXR0bGUgZW5k aWFuIgotLSNlbmRpZgotICNpZiBTS19QTUNPTE9SX0JZVEVfT1JERVIoQixHLFIsQSkKLSAgICAg c3RhdGljIGNvbnN0IEdyUGl4ZWxDb25maWcga1NraWE4ODg4X0dyUGl4ZWxDb25maWcgPSBrQkdS QV84ODg4X0dyUGl4ZWxDb25maWc7Ci0gI2VsaWYgU0tfUE1DT0xPUl9CWVRFX09SREVSKFIsRyxC LEEpCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0NS9wYXRjaGVzLzAwMjgtd2VicnRjLWJlLnBhdGNo IGIvc3JjcGtncy9xdDUvcGF0Y2hlcy8wMDI4LXdlYnJ0Yy1iZS5wYXRjaApkZWxldGVkIGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggYzcxYzY1YzkyNmIuLjAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3Mv cXQ1L3BhdGNoZXMvMDAyOC13ZWJydGMtYmUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMiAr MCwwIEBACi0tLS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5 L3dlYnJ0Yy90eXBlZGVmcy5oCTIwMTgtMDYtMTUgMDk6NDc6MjAuMDAwMDAwMDAwICswMjAwCi0r KysgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3dlYnJ0Yy90 eXBlZGVmcy5oCTIwMTgtMDktMTQgMTc6NTA6NDUuMTk4MTUzOTQyICswMjAwCi1AQCAtNDcsNiAr NDcsOSBAQAotICNlbGlmIGRlZmluZWQoX19wbmFjbF9fKQotICNkZWZpbmUgV0VCUlRDX0FSQ0hf MzJfQklUUwotICNkZWZpbmUgV0VCUlRDX0FSQ0hfTElUVExFX0VORElBTgotKyNlbGlmIGRlZmlu ZWQoX19NSVBTRUJfXykKLSsjZGVmaW5lIFdFQlJUQ19BUkNIX01JUFNfRkFNSUxZCi0rI2RlZmlu ZSBXRUJSVENfQVJDSF9CSUdfRU5ESUFOCi0gI2Vsc2UKLSAjZXJyb3IgUGxlYXNlIGFkZCBzdXBw b3J0IGZvciB5b3VyIGFyY2hpdGVjdHVyZSBpbiB0eXBlZGVmcy5oCi0gI2VuZGlmCmRpZmYgLS1n aXQgYS9zcmNwa2dzL3F0NS9wYXRjaGVzLzAwMjktbXVzbC1saWJldmVudC5wYXRjaCBiL3NyY3Br Z3MvcXQ1L3BhdGNoZXMvMDAyOS1tdXNsLWxpYmV2ZW50LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCA2MjI2NWI2Mzk5NC4uMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9xdDUv cGF0Y2hlcy8wMDI5LW11c2wtbGliZXZlbnQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMjEg KzAsMCBAQAotLS0tIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9iYXNlL21lc3Nh Z2VfbG9vcC9tZXNzYWdlX3B1bXBfbGliZXZlbnQuY2MKLSsrKyBxdHdlYmVuZ2luZS9zcmMvM3Jk cGFydHkvY2hyb21pdW0vYmFzZS9tZXNzYWdlX2xvb3AvbWVzc2FnZV9wdW1wX2xpYmV2ZW50LmNj Ci1AQCAtMTQsNyArMTQsNyBAQAotICNpbmNsdWRlICJiYXNlL2ZpbGVzL2ZpbGVfdXRpbC5oIgot ICNpbmNsdWRlICJiYXNlL2xvZ2dpbmcuaCIKLSAjaW5jbHVkZSAiYmFzZS9wb3NpeC9laW50cl93 cmFwcGVyLmgiCi0tI2luY2x1ZGUgImJhc2UvdGhpcmRfcGFydHkvbGliZXZlbnQvZXZlbnQuaCIK LSsjaW5jbHVkZSAiZXZlbnQuaCIKLSAjaW5jbHVkZSAiYmFzZS90aW1lL3RpbWUuaCIKLSAjaW5j bHVkZSAiYmFzZS90cmFjZV9ldmVudC90cmFjZV9ldmVudC5oIgotICNpbmNsdWRlICJidWlsZC9i dWlsZF9jb25maWcuaCIKLS0tLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdG9v bHMvZ24vYm9vdHN0cmFwL2Jvb3RzdHJhcC5weQkyMDE4LTEwLTE4IDAxOjIwOjE5LjIyNDE2OTc4 NiArMDIwMAotKysrIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90b29scy9nbi9i b290c3RyYXAvYm9vdHN0cmFwLnB5CTIwMTgtMTAtMTggMDE6MjY6MTEuMjczMTQ4ODAyICswMjAw Ci1AQCAtMzIsNiArMzIsNyBAQAotIAotIGlzX3dpbiA9IHN5cy5wbGF0Zm9ybS5zdGFydHN3aXRo KCd3aW4nKQotIGlzX2xpbnV4ID0gc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoJ2xpbnV4JykKLStp c19nbnVfbGludXggPSBpc19saW51eCBhbmQgcGxhdGZvcm0ubGliY192ZXIoKVswXS5zdGFydHN3 aXRoKCdnbGliYycpCi0gaXNfbWFjID0gc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoJ2Rhcndpbicp Ci0gaXNfYWl4ID0gc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoJ2FpeCcpCi0gaXNfcG9zaXggPSBp c19saW51eCBvciBpc19tYWMgb3IgaXNfYWl4Ci1AQCAtMTkzLDcgKzE5Myw3IEBACi0gICAgICAg eydFTkFCTEVfTVVURVhfUFJJT1JJVFlfSU5IRVJJVEFOQ0UnOiAnZmFsc2UnfSkKLSAKLSAgIHdy aXRlX2J1aWxkZmxhZ19oZWFkZXJfbWFudWFsbHkocm9vdF9nZW5fZGlyLCAnYmFzZS9hbGxvY2F0 b3IvZmVhdHVyZXMuaCcsCi0tICAgICAgeydVU0VfQUxMT0NBVE9SX1NISU0nOiAndHJ1ZScgaWYg aXNfbGludXggZWxzZSAnZmFsc2UnfSkKLSsgICAgICB7J1VTRV9BTExPQ0FUT1JfU0hJTSc6ICd0 cnVlJyBpZiBpc19nbnVfbGludXggZWxzZSAnZmFsc2UnfSkKLSAKLSAgIHdyaXRlX2J1aWxkZmxh Z19oZWFkZXJfbWFudWFsbHkocm9vdF9nZW5fZGlyLCAnYmFzZS9kZWJ1Zy9kZWJ1Z2dpbmdfZmxh Z3MuaCcsCi0gICAgICAgewotQEAgLTQ1Myw4ICs0NTMsNiBAQAotICAgICAgICdiYXNlL3RoaXJk X3BhcnR5L3N1cGVyZmFzdGhhc2gvc3VwZXJmYXN0aGFzaC5jJywKLSAgIF0pCi0gICBzdGF0aWNf bGlicmFyaWVzWydiYXNlJ11bJ3NvdXJjZXMnXS5leHRlbmQoWwotLSAgICAgICdiYXNlL2FsbG9j YXRvci9hbGxvY2F0b3JfY2hlY2suY2MnLAotLSAgICAgICdiYXNlL2FsbG9jYXRvci9hbGxvY2F0 b3JfZXh0ZW5zaW9uLmNjJywKLSAgICAgICAnYmFzZS9hdF9leGl0LmNjJywKLSAgICAgICAnYmFz ZS9iYXNlX3BhdGhzLmNjJywKLSAgICAgICAnYmFzZS9iYXNlX3N3aXRjaGVzLmNjJywKLUBAIC02 MjUsNiArNjIzLDExIEBACi0gICAgICAgJ2Jhc2UvdmFsdWVzLmNjJywKLSAgICAgICAnYmFzZS92 bG9nLmNjJywKLSAgIF0pCi0rICBpZiBpc19nbnVfbGludXg6Ci0rICAgIHN0YXRpY19saWJyYXJp ZXNbJ2Jhc2UnXVsnc291cmNlcyddLmV4dGVuZChbCi0rICAgICAgICAnYmFzZS9hbGxvY2F0b3Iv YWxsb2NhdG9yX2NoZWNrLmNjJywKLSsgICAgICAgICdiYXNlL2FsbG9jYXRvci9hbGxvY2F0b3Jf ZXh0ZW5zaW9uLmNjJywKLSsgICAgXSkKLSAKLSAgIGlmIGlzX3Bvc2l4OgotICAgICBzdGF0aWNf bGlicmFyaWVzWydiYXNlJ11bJ3NvdXJjZXMnXS5leHRlbmQoWwotQEAgLTY2MywyOSArNjY2LDMx IEBACi0gICAgICAgICAgICAgJ2Jhc2UvdGltZS90aW1lX2V4cGxvZGVkX3Bvc2l4LmNjJywKLSAg ICAgICAgIF0pCi0gCi0tICAgIHN0YXRpY19saWJyYXJpZXNbJ2xpYmV2ZW50J10gPSB7Ci0tICAg ICAgICAnc291cmNlcyc6IFsKLS0gICAgICAgICAgICAnYmFzZS90aGlyZF9wYXJ0eS9saWJldmVu dC9idWZmZXIuYycsCi0tICAgICAgICAgICAgJ2Jhc2UvdGhpcmRfcGFydHkvbGliZXZlbnQvZXZi dWZmZXIuYycsCi0tICAgICAgICAgICAgJ2Jhc2UvdGhpcmRfcGFydHkvbGliZXZlbnQvZXZkbnMu YycsCi0tICAgICAgICAgICAgJ2Jhc2UvdGhpcmRfcGFydHkvbGliZXZlbnQvZXZlbnQuYycsCi0t ICAgICAgICAgICAgJ2Jhc2UvdGhpcmRfcGFydHkvbGliZXZlbnQvZXZlbnRfdGFnZ2luZy5jJywK LS0gICAgICAgICAgICAnYmFzZS90aGlyZF9wYXJ0eS9saWJldmVudC9ldnJwYy5jJywKLS0gICAg ICAgICAgICAnYmFzZS90aGlyZF9wYXJ0eS9saWJldmVudC9ldnV0aWwuYycsCi0tICAgICAgICAg ICAgJ2Jhc2UvdGhpcmRfcGFydHkvbGliZXZlbnQvaHR0cC5jJywKLS0gICAgICAgICAgICAnYmFz ZS90aGlyZF9wYXJ0eS9saWJldmVudC9sb2cuYycsCi0tICAgICAgICAgICAgJ2Jhc2UvdGhpcmRf cGFydHkvbGliZXZlbnQvcG9sbC5jJywKLS0gICAgICAgICAgICAnYmFzZS90aGlyZF9wYXJ0eS9s aWJldmVudC9zZWxlY3QuYycsCi0tICAgICAgICAgICAgJ2Jhc2UvdGhpcmRfcGFydHkvbGliZXZl bnQvc2lnbmFsLmMnLAotLSAgICAgICAgICAgICdiYXNlL3RoaXJkX3BhcnR5L2xpYmV2ZW50L3N0 cmxjcHkuYycsCi0tICAgICAgICBdLAotLSAgICAgICAgJ3Rvb2wnOiAnY2MnLAotLSAgICAgICAg J2luY2x1ZGVfZGlycyc6IFtdLAotLSAgICAgICAgJ2NmbGFncyc6IGNmbGFncyArIFsnLURIQVZF X0NPTkZJR19IJ10sCi0tICAgIH0KLSsgICAgaWYgaXNfZ251X2xpbnV4OgotKyAgICAgIHN0YXRp Y19saWJyYXJpZXNbJ2xpYmV2ZW50J10gPSB7Ci0rICAgICAgICAgICdzb3VyY2VzJzogWwotKyAg ICAgICAgICAgICAgJ2Jhc2UvdGhpcmRfcGFydHkvbGliZXZlbnQvYnVmZmVyLmMnLAotKyAgICAg ICAgICAgICAgJ2Jhc2UvdGhpcmRfcGFydHkvbGliZXZlbnQvZXZidWZmZXIuYycsCi0rICAgICAg ICAgICAgICAnYmFzZS90aGlyZF9wYXJ0eS9saWJldmVudC9ldmRucy5jJywKLSsgICAgICAgICAg ICAgICdiYXNlL3RoaXJkX3BhcnR5L2xpYmV2ZW50L2V2ZW50LmMnLAotKyAgICAgICAgICAgICAg J2Jhc2UvdGhpcmRfcGFydHkvbGliZXZlbnQvZXZlbnRfdGFnZ2luZy5jJywKLSsgICAgICAgICAg ICAgICdiYXNlL3RoaXJkX3BhcnR5L2xpYmV2ZW50L2V2cnBjLmMnLAotKyAgICAgICAgICAgICAg J2Jhc2UvdGhpcmRfcGFydHkvbGliZXZlbnQvZXZ1dGlsLmMnLAotKyAgICAgICAgICAgICAgJ2Jh c2UvdGhpcmRfcGFydHkvbGliZXZlbnQvaHR0cC5jJywKLSsgICAgICAgICAgICAgICdiYXNlL3Ro aXJkX3BhcnR5L2xpYmV2ZW50L2xvZy5jJywKLSsgICAgICAgICAgICAgICdiYXNlL3RoaXJkX3Bh cnR5L2xpYmV2ZW50L3BvbGwuYycsCi0rICAgICAgICAgICAgICAnYmFzZS90aGlyZF9wYXJ0eS9s aWJldmVudC9zZWxlY3QuYycsCi0rICAgICAgICAgICAgICAnYmFzZS90aGlyZF9wYXJ0eS9saWJl dmVudC9zaWduYWwuYycsCi0rICAgICAgICAgICAgICAnYmFzZS90aGlyZF9wYXJ0eS9saWJldmVu dC9zdHJsY3B5LmMnLAotKyAgICAgICAgICBdLAotKyAgICAgICAgICAndG9vbCc6ICdjYycsCi0r ICAgICAgICAgICdpbmNsdWRlX2RpcnMnOiBbXSwKLSsgICAgICAgICAgJ2NmbGFncyc6IGNmbGFn cyArIFsnLURIQVZFX0NPTkZJR19IJ10sCi0rICAgICAgfQotIAotICAgaWYgaXNfbGludXggb3Ig aXNfYWl4OgotICAgICBsZGZsYWdzLmV4dGVuZChbJy1wdGhyZWFkJ10pCi0rICAgIGxkZmxhZ3Mu ZXh0ZW5kKFsnLWxldmVudCddKQotIAotICAgICBzdGF0aWNfbGlicmFyaWVzWyd4ZGdfdXNlcl9k aXJzJ10gPSB7Ci0gICAgICAgICAnc291cmNlcyc6IFsKLUBAIC03MDksNyArNzE0LDcgQEAKLSAg ICAgICAgICdiYXNlL3N5c19pbmZvX2xpbnV4LmNjJywKLSAgICAgICAgICdiYXNlL3RocmVhZGlu Zy9wbGF0Zm9ybV90aHJlYWRfbGludXguY2MnLAotICAgICBdKQotLSAgICBpZiBpc19saW51eDoK LSsgICAgaWYgaXNfZ251X2xpbnV4OgotICAgICAgIHN0YXRpY19saWJyYXJpZXNbJ2Jhc2UnXVsn c291cmNlcyddLmV4dGVuZChbCi0gICAgICAgICAnYmFzZS9hbGxvY2F0b3IvYWxsb2NhdG9yX3No aW0uY2MnLAotICAgICAgICAgJ2Jhc2UvYWxsb2NhdG9yL2FsbG9jYXRvcl9zaGltX2RlZmF1bHRf ZGlzcGF0Y2hfdG9fZ2xpYmMuY2MnLAotQEAgLTcyMSw3ICs3MjYsNyBAQAotICAgICAgIHN0YXRp Y19saWJyYXJpZXNbJ2xpYmV2ZW50J11bJ3NvdXJjZXMnXS5leHRlbmQoWwotICAgICAgICAgICdi YXNlL3RoaXJkX3BhcnR5L2xpYmV2ZW50L2Vwb2xsLmMnLAotICAgICAgIF0pCi0tICAgIGVsc2U6 Ci0rICAgIGlmIGlzX2FpeDoKLSAgICAgICBsaWJzLmV4dGVuZChbJy1scnQnXSkKLSAgICAgICBz dGF0aWNfbGlicmFyaWVzWydiYXNlJ11bJ3NvdXJjZXMnXS5leHRlbmQoWwotICAgICAgICAgICAn YmFzZS9wcm9jZXNzL2ludGVybmFsX2FpeC5jYycKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ1L3Bh dGNoZXMvMDAzMy1yZXZlcnRfcmVtb3ZlX291cl91c2Vfb2Zfc3lzY2FsbF9mb3Itc3RhdHgucGF0 Y2ggYi9zcmNwa2dzL3F0NS9wYXRjaGVzLzAwMzMtcmV2ZXJ0X3JlbW92ZV9vdXJfdXNlX29mX3N5 c2NhbGxfZm9yLXN0YXR4LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ZTc3 OWEwOWNkMC4uMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9xdDUvcGF0Y2hlcy8wMDMzLXJldmVy dF9yZW1vdmVfb3VyX3VzZV9vZl9zeXNjYWxsX2Zvci1zdGF0eC5wYXRjaAorKysgL2Rldi9udWxs CkBAIC0xLDExOSArMCwwIEBACi1EZXNjcmlwdGlvbjogcmV2ZXJ0IHVwc3RyZWFtIGNvbW1pdCB0 aGF0IHJlbW92ZXMgdXNlIG9mIHN5c2NhbGwoKSBhbmQgc3RhdHgoMikKLSBUaGUgY29tbWl0IGh0 dHBzOi8vY29kZS5xdC5pby9jZ2l0L3F0L3F0YmFzZS5naXQvY29tbWl0Lz9pZD1iNzg4N2Y5YjRm YWFkMjIyCi0gcmVtb3ZlcyB0aGUgdXNlIG9mIHRoZSBhYm92ZSBtZW50aW9uZWQgc3lzY2FsbHMu IFRoaXMgbWFrZXMgUXQgbm90IGFibGUKLSB0byBydW4gb24gY3VycmVudCBzdGFibGUgc2VydmVy cyB1bmRlciBhIHRlc3RpbmcvdW5zdGFibGUgVk0uCi0gLgotIFRoaXMgcGF0Y2ggc2hvdWxkIGJl IHJlbW92ZWQgaW4gdGVzdGluZy91bnN0YWJsZSBhZnRlciBCdXN0ZXIgZ2V0cyByZWxlYXNlZC4K LUF1dGhvcjogTGlzYW5kcm8gRGFtacOhbiBOaWNhbm9yIFDDqXJleiBNZXllciA8bGlzYW5kcm9A ZGViaWFuLm9yZz4KLUZvcndhcmRlZDogbm90LW5lZWRlZAotCi0tLS0KLSBzcmMvY29yZWxpYi9n bG9iYWwvbWluaW11bS1saW51eF9wLmggICAgICB8ICAgIDcgLS0tLQotIHNyYy9jb3JlbGliL2lv L3FmaWxlc3lzdGVtZW5naW5lX3VuaXguY3BwIHwgICA0NSArKysrKysrKysrKysrKysrKysrKysr KysrKysrLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDQzIGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25z KC0pCi0KLS0tLSBxdGJhc2Uvc3JjL2NvcmVsaWIvZ2xvYmFsL21pbmltdW0tbGludXhfcC5oCi0r KysgcXRiYXNlL3NyYy9jb3JlbGliL2dsb2JhbC9taW5pbXVtLWxpbnV4X3AuaAotQEAgLTc1LDE0 ICs3NSw5IEBAIFFUX0JFR0lOX05BTUVTUEFDRQotICAqIC0gYWNjZXB0NCAgICAgICAgICAgICAg ICAgICAgMi42LjI4Ci0gICogLSByZW5hbWVhdDIgICAgICAgICAgICAgICAgICAzLjE2ICAgICAg ICAgICAgICAgICAgICBRVF9DT05GSUcocmVuYW1lYXQyKQotICAqIC0gZ2V0cmFuZG9tICAgICAg ICAgICAgICAgICAgMy4xNyAgICAgICAgICAgICAgICAgICAgUVRfQ09ORklHKGdldGVudHJvcHkp Ci0tICogLSBzdGF0eCAgICAgICAgICAgICAgICAgICAgICA0LjExICAgICAgICAgICAgICAgICAg ICBRVF9DT05GSUcoc3RhdHgpCi0gICovCi0gCi0tI2lmIFFUX0NPTkZJRyhzdGF0eCkKLS0jICBk ZWZpbmUgTUlOTElOVVhfTUFKT1IgICAgICAgIDQKLS0jICBkZWZpbmUgTUlOTElOVVhfTUlOT1Ig ICAgICAgIDExCi0tIyAgZGVmaW5lIE1JTkxJTlVYX1BBVENIICAgICAgICAwCi0tI2VsaWYgUVRf Q09ORklHKGdldGVudHJvcHkpCi0rI2lmIFFUX0NPTkZJRyhnZXRlbnRyb3B5KQotICMgIGRlZmlu ZSBNSU5MSU5VWF9NQUpPUiAgICAgICAgMwotICMgIGRlZmluZSBNSU5MSU5VWF9NSU5PUiAgICAg ICAgMTcKLSAjICBkZWZpbmUgTUlOTElOVVhfUEFUQ0ggICAgICAgIDAKLS0tLSBxdGJhc2Uvc3Jj L2NvcmVsaWIvaW8vcWZpbGVzeXN0ZW1lbmdpbmVfdW5peC5jcHAKLSsrKyBxdGJhc2Uvc3JjL2Nv cmVsaWIvaW8vcWZpbGVzeXN0ZW1lbmdpbmVfdW5peC5jcHAKLUBAIC0xLDYgKzEsNiBAQAotIC8q KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqCi0gKioKLS0qKiBDb3B5cmlnaHQgKEMpIDIwMTggSW50ZWwgQ29y cG9yYXRpb24uCi0rKiogQ29weXJpZ2h0IChDKSAyMDE3IEludGVsIENvcnBvcmF0aW9uLgotICoq IENvcHlyaWdodCAoQykgMjAxNiBUaGUgUXQgQ29tcGFueSBMdGQuCi0gKiogQ29weXJpZ2h0IChD KSAyMDEzIFNhbXVlbCBHYWlzdCA8c2FtdWVsLmdhaXN0QGVkZWx0ZWNoLmNoPgotICoqIENvbnRh Y3Q6IGh0dHBzOi8vd3d3LnF0LmlvL2xpY2Vuc2luZy8KLUBAIC04OCw2ICs4OCw3IEBAIGV4dGVy biAiQyIgTlNTdHJpbmcgKk5TVGVtcG9yYXJ5RGlyZWN0b3IKLSAKLSAjaWYgZGVmaW5lZChRX09T X0xJTlVYKQotICMgIGluY2x1ZGUgPHN5cy9pb2N0bC5oPgotKyMgIGluY2x1ZGUgPHN5cy9zeXNj YWxsLmg+Ci0gIyAgaW5jbHVkZSA8c3lzL3NlbmRmaWxlLmg+Ci0gIyAgaW5jbHVkZSA8bGludXgv ZnMuaD4KLSAKLUBAIC05NSw2ICs5NiwyOCBAQCBleHRlcm4gIkMiIE5TU3RyaW5nICpOU1RlbXBv cmFyeURpcmVjdG9yCi0gI2lmbmRlZiBGSUNMT05FCi0gIyAgZGVmaW5lIEZJQ0xPTkUgICAgICAg X0lPVygweDk0LCA5LCBpbnQpCi0gI2VuZGlmCi0rCi0rIyAgaWYgZGVmaW5lZChRX09TX0FORFJP SUQpCi0rLy8gcmVuYW1lYXQyKCkgYW5kIHN0YXR4KCkgYXJlIGRpc2FibGVkIG9uIEFuZHJvaWQg YmVjYXVzZSBxdWl0ZSBhIGZldyBzeXN0ZW1zCi0rLy8gY29tZSB3aXRoIHNhbmRib3hlcyB0aGF0 IGtpbGwgYXBwbGljYXRpb25zIHRoYXQgbWFrZSBzeXN0ZW0gY2FsbHMgb3V0c2lkZSBhCi0rLy8g d2hpdGVsaXN0IGFuZCBzZXZlcmFsIEFuZHJvaWQgdmVuZG9ycyBjYW4ndCBiZSBib3RoZXJlZCB0 byB1cGRhdGUgdGhlIGxpc3QuCi0rIyAgICB1bmRlZiBTWVNfcmVuYW1lYXQyCi0rIyAgICB1bmRl ZiBTWVNfc3RhdHgKLSsjICAgIHVuZGVmIFNUQVRYX0JBU0lDX1NUQVRTCi0rIyAgZWxzZQotKyMg ICAgaWYgIVFUX0NPTkZJRyhyZW5hbWVhdDIpICYmIGRlZmluZWQoU1lTX3JlbmFtZWF0MikKLStz dGF0aWMgaW50IHJlbmFtZWF0MihpbnQgb2xkZmQsIGNvbnN0IGNoYXIgKm9sZHBhdGgsIGludCBu ZXdmZCwgY29uc3QgY2hhciAqbmV3cGF0aCwgdW5zaWduZWQgZmxhZ3MpCi0reyByZXR1cm4gc3lz Y2FsbChTWVNfcmVuYW1lYXQyLCBvbGRmZCwgb2xkcGF0aCwgbmV3ZmQsIG5ld3BhdGgsIGZsYWdz KTsgfQotKyMgICAgZW5kaWYKLSsKLSsjICAgIGlmICFRVF9DT05GSUcoc3RhdHgpICYmIGRlZmlu ZWQoU1lTX3N0YXR4KQotKyMgICAgICBpbmNsdWRlIDxsaW51eC9zdGF0Lmg+Ci0rc3RhdGljIGlu dCBzdGF0eChpbnQgZGlyZmQsIGNvbnN0IGNoYXIgKnBhdGhuYW1lLCBpbnQgZmxhZywgdW5zaWdu ZWQgbWFzaywgc3RydWN0IHN0YXR4ICpzdGF0eGJ1ZikKLSt7IHJldHVybiBzeXNjYWxsKFNZU19z dGF0eCwgZGlyZmQsIHBhdGhuYW1lLCBmbGFnLCBtYXNrLCBzdGF0eGJ1Zik7IH0KLSsjICAgIGVs aWYgIVFUX0NPTkZJRyhzdGF0eCkgJiYgIWRlZmluZWQoU1lTX3N0YXR4KQotKyMgICAgICB1bmRl ZiBTVEFUWF9CQVNJQ19TVEFUUwotKyMgICAgZW5kaWYKLSsjICBlbmRpZiAvLyAhUV9PU19BTkRS T0lECi0gI2VuZGlmCi0gCi0gI2lmIGRlZmluZWQoUV9PU19BTkRST0lEKQotQEAgLTMxNSw4ICsz MzgsMjIgQEAgbXRpbWUoY29uc3QgVCAmc3RhdEJ1ZmZlciwgaW50KQotICNpZmRlZiBTVEFUWF9C QVNJQ19TVEFUUwotIHN0YXRpYyBpbnQgcXRfcmVhbF9zdGF0eChpbnQgZmQsIGNvbnN0IGNoYXIg KnBhdGhuYW1lLCBpbnQgZmxhZ3MsIHN0cnVjdCBzdGF0eCAqc3RhdHhCdWZmZXIpCi0gewotKyNp ZmRlZiBRX0FUT01JQ19JTlQ4X0lTX1NVUFBPUlRFRAotKyAgICBzdGF0aWMgUUJhc2ljQXRvbWlj SW50ZWdlcjxxaW50OD4gc3RhdHhUZXN0ZWQgID0gUV9CQVNJQ19BVE9NSUNfSU5JVElBTElaRVIo MCk7Ci0rI2Vsc2UKLSsgICAgc3RhdGljIFFCYXNpY0F0b21pY0ludCBzdGF0eFRlc3RlZCA9IFFf QkFTSUNfQVRPTUlDX0lOSVRJQUxJWkVSKDApOwotKyNlbmRpZgotKwotKyAgICBpZiAoc3RhdHhU ZXN0ZWQubG9hZCgpID09IC0xKQotKyAgICAgICAgcmV0dXJuIC1FTk9TWVM7Ci0rCi0gICAgIHVu c2lnbmVkIG1hc2sgPSBTVEFUWF9CQVNJQ19TVEFUUyB8IFNUQVRYX0JUSU1FOwotICAgICBpbnQg cmV0ID0gc3RhdHgoZmQsIHBhdGhuYW1lLCBmbGFncywgbWFzaywgc3RhdHhCdWZmZXIpOwotKyAg ICBpZiAocmV0ID09IC0xICYmIGVycm5vID09IEVOT1NZUykgewotKyAgICAgICAgc3RhdHhUZXN0 ZWQuc3RvcmUoLTEpOwotKyAgICAgICAgcmV0dXJuIC1FTk9TWVM7Ci0rICAgIH0KLSsgICAgc3Rh dHhUZXN0ZWQuc3RvcmUoMSk7Ci0gICAgIHJldHVybiByZXQgPT0gLTEgPyAtZXJybm8gOiAwOwot IH0KLSAKLUBAIC0xMjUyLDEyICsxMjg5LDE0IEBAIGJvb2wgUUZpbGVTeXN0ZW1FbmdpbmU6OnJl bmFtZUZpbGUoY29uc3QKLSAgICAgaWYgKFFfVU5MSUtFTFkoc3JjUGF0aC5pc0VtcHR5KCkgfHwg dGd0UGF0aC5pc0VtcHR5KCkpKQotICAgICAgICAgcmV0dXJuIGVtcHR5RmlsZUVudHJ5V2Fybmlu ZygpLCBmYWxzZTsKLSAKLS0jaWYgZGVmaW5lZChSRU5BTUVfTk9SRVBMQUNFKSAmJiBRVF9DT05G SUcocmVuYW1lYXQyKQotKyNpZiBkZWZpbmVkKFJFTkFNRV9OT1JFUExBQ0UpICYmIChRVF9DT05G SUcocmVuYW1lYXQyKSB8fCBkZWZpbmVkKFNZU19yZW5hbWVhdDIpKQotICAgICBpZiAocmVuYW1l YXQyKEFUX0ZEQ1dELCBzcmNQYXRoLCBBVF9GRENXRCwgdGd0UGF0aCwgUkVOQU1FX05PUkVQTEFD RSkgPT0gMCkKLSAgICAgICAgIHJldHVybiB0cnVlOwotIAotKyAgICAvLyBJZiB3ZSdyZSB1c2lu ZyBzeXNjYWxsKCksIGNoZWNrIGZvciBFTk9TWVM7Ci0rICAgIC8vIGlmIHJlbmFtZWF0MiBjYW1l IGZyb20gbGliYywgd2UgZG9uJ3QgYWNjZXB0IEVOT1NZUy4KLSAgICAgLy8gV2UgY2FuIGFsc28g Z2V0IEVJTlZBTCBmb3Igc29tZSBub24tbG9jYWwgZmlsZXN5c3RlbXMuCi0tICAgIGlmIChlcnJu byAhPSBFSU5WQUwpIHsKLSsgICAgaWYgKChRVF9DT05GSUcocmVuYW1lYXQyKSB8fCBlcnJubyAh PSBFTk9TWVMpICYmIGVycm5vICE9IEVJTlZBTCkgewotICAgICAgICAgZXJyb3IgPSBRU3lzdGVt RXJyb3IoZXJybm8sIFFTeXN0ZW1FcnJvcjo6U3RhbmRhcmRMaWJyYXJ5RXJyb3IpOwotICAgICAg ICAgcmV0dXJuIGZhbHNlOwotICAgICB9CmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0NS9wYXRjaGVz LzAwMzQtZ2NjLTguMy1idWlsZC5wYXRjaCBiL3NyY3BrZ3MvcXQ1L3BhdGNoZXMvMDAzNC1nY2Mt OC4zLWJ1aWxkLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiOWI0NWMzMTM5 Ni4uMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9xdDUvcGF0Y2hlcy8wMDM0LWdjYy04LjMtYnVp bGQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyMzYgKzAsMCBAQAotRnJvbSA5N2VjMWQxODgy YTgzYzIzYzkxZjBmN2RhZWE0OGUwNTg1OGQ4YzMyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQot RnJvbTogVGhpYWdvIE1hY2llaXJhIDx0aGlhZ28ubWFjaWVpcmFAaW50ZWwuY29tPgotRGF0ZTog TW9uLCAyOCBKYW4gMjAxOSAxNDozMzoxMiAtMDgwMAotU3ViamVjdDogW1BBVENIXSBGaXggYnVp bGQgd2l0aCBHQ0MgOC4zCi0KLVF1YWxpZmllcnMgaW4gdGhlIGFzbSBzdGF0ZW1lbnQgYXJlIG5v dCBhbGxvd2VkIGluIHRoZSBnbG9iYWwgc2NvcGUuIEkKLXRob3VnaHQgdGhleSB3ZXJlIG5lY2Vz c2FyeSBmb3IgTFRPLCBidXQgSSB0aGUgY29tbWl0IHRvIHRoaXMgZmlsZSB0aGF0Ci1hZGRlZCB0 aGVtIHByZWRhdGVzIG15IHdvcmsgb24gc2V0dGluZyB1cCBMVE8gZm9yIEdDQy4KLQotQ2hhbmdl LUlkOiBJZDk4MTQwZTFjMmYwNDI2Y2FiYmVmZmZkMTU3ZTIzZTVlY2U2N2E0OQotUmV2aWV3ZWQt Ynk6IEFsbGFuIFNhbmRmZWxkIEplbnNlbiA8YWxsYW4uamVuc2VuQHF0LmlvPgotLS0tCi0gLi4u L0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVicy5jcHAgICAgICAgICAgIHwgNDggKysrKysrKysr LS0tLS0tLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCAyNCBpbnNlcnRpb25zKCspLCAyNCBkZWxldGlv bnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy8zcmRwYXJ0eS9qYXZhc2NyaXB0Y29yZS9KYXZhU2Ny aXB0Q29yZS9qaXQvSklUU3R1YnMuY3BwIGIvc3JjLzNyZHBhcnR5L2phdmFzY3JpcHRjb3JlL0ph dmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVicy5jcHAKLWluZGV4IDFhYmRmOGIuLjlmNjA3NjEgMTAw NjQ0Ci0tLS0gcXRzY3JpcHQvc3JjLzNyZHBhcnR5L2phdmFzY3JpcHRjb3JlL0phdmFTY3JpcHRD b3JlL2ppdC9KSVRTdHVicy5jcHAKLSsrKyBxdHNjcmlwdC9zcmMvM3JkcGFydHkvamF2YXNjcmlw dGNvcmUvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzLmNwcAotQEAgLTExNiw3ICsxMTYsNyBA QCBDT01QSUxFX0FTU0VSVChvZmZzZXRvZihzdHJ1Y3QgSklUU3RhY2tGcmFtZSwgc2F2ZWRFQlgp ID09IDB4M2MsIEpJVFN0YWNrRnJhbWVfcwotIENPTVBJTEVfQVNTRVJUKG9mZnNldG9mKHN0cnVj dCBKSVRTdGFja0ZyYW1lLCBjYWxsRnJhbWUpID09IDB4NTgsIEpJVFN0YWNrRnJhbWVfY2FsbEZy YW1lX29mZnNldF9tYXRjaGVzX2N0aVRyYW1wb2xpbmUpOwotIENPTVBJTEVfQVNTRVJUKG9mZnNl dG9mKHN0cnVjdCBKSVRTdGFja0ZyYW1lLCBjb2RlKSA9PSAweDUwLCBKSVRTdGFja0ZyYW1lX2Nv ZGVfb2Zmc2V0X21hdGNoZXNfY3RpVHJhbXBvbGluZSk7Ci0gCi0tYXNtIHZvbGF0aWxlICgKLSth c20gKAotICIudGV4dFxuIgotICIuZ2xvYmwgIiBTWU1CT0xfU1RSSU5HKGN0aVRyYW1wb2xpbmUp ICJcbiIKLSBISURFX1NZTUJPTChjdGlUcmFtcG9saW5lKSAiXG4iCi1AQCAtMTM4LDcgKzEzOCw3 IEBAIFNZTUJPTF9TVFJJTkcoY3RpVHJhbXBvbGluZSkgIjoiICJcbiIKLSAgICAgInJldCIgIlxu IgotICk7Ci0gCi0tYXNtIHZvbGF0aWxlICgKLSthc20gKAotICIuZ2xvYmwgIiBTWU1CT0xfU1RS SU5HKGN0aVZNVGhyb3dUcmFtcG9saW5lKSAiXG4iCi0gSElERV9TWU1CT0woY3RpVk1UaHJvd1Ry YW1wb2xpbmUpICJcbiIKLSBTWU1CT0xfU1RSSU5HKGN0aVZNVGhyb3dUcmFtcG9saW5lKSAiOiIg IlxuIgotQEAgLTE1NCw3ICsxNTQsNyBAQCBTWU1CT0xfU1RSSU5HKGN0aVZNVGhyb3dUcmFtcG9s aW5lKSAiOiIgIlxuIgotICAgICAicmV0IiAiXG4iCi0gKTsKLSAgICAgCi0tYXNtIHZvbGF0aWxl ICgKLSthc20gKAotICIuZ2xvYmwgIiBTWU1CT0xfU1RSSU5HKGN0aU9wVGhyb3dOb3RDYXVnaHQp ICJcbiIKLSBISURFX1NZTUJPTChjdGlPcFRocm93Tm90Q2F1Z2h0KSAiXG4iCi0gU1lNQk9MX1NU UklORyhjdGlPcFRocm93Tm90Q2F1Z2h0KSAiOiIgIlxuIgotQEAgLTE3OSw3ICsxNzksNyBAQCBD T01QSUxFX0FTU0VSVChvZmZzZXRvZihzdHJ1Y3QgSklUU3RhY2tGcmFtZSwgc2F2ZWRSQlgpID09 IDB4NDgsIEpJVFN0YWNrRnJhbWVfcwotIENPTVBJTEVfQVNTRVJUKG9mZnNldG9mKHN0cnVjdCBK SVRTdGFja0ZyYW1lLCBjYWxsRnJhbWUpID09IDB4OTAsIEpJVFN0YWNrRnJhbWVfY2FsbEZyYW1l X29mZnNldF9tYXRjaGVzX2N0aVRyYW1wb2xpbmUpOwotIENPTVBJTEVfQVNTRVJUKG9mZnNldG9m KHN0cnVjdCBKSVRTdGFja0ZyYW1lLCBjb2RlKSA9PSAweDgwLCBKSVRTdGFja0ZyYW1lX2NvZGVf b2Zmc2V0X21hdGNoZXNfY3RpVHJhbXBvbGluZSk7Ci0gCi0tYXNtIHZvbGF0aWxlICgKLSthc20g KAotICIuZ2xvYmwgIiBTWU1CT0xfU1RSSU5HKGN0aVRyYW1wb2xpbmUpICJcbiIKLSBISURFX1NZ TUJPTChjdGlUcmFtcG9saW5lKSAiXG4iCi0gU1lNQk9MX1NUUklORyhjdGlUcmFtcG9saW5lKSAi OiIgIlxuIgotQEAgLTIwNiw3ICsyMDYsNyBAQCBTWU1CT0xfU1RSSU5HKGN0aVRyYW1wb2xpbmUp ICI6IiAiXG4iCi0gICAgICJyZXQiICJcbiIKLSApOwotIAotLWFzbSB2b2xhdGlsZSAoCi0rYXNt ICgKLSAiLmdsb2JsICIgU1lNQk9MX1NUUklORyhjdGlWTVRocm93VHJhbXBvbGluZSkgIlxuIgot IEhJREVfU1lNQk9MKGN0aVZNVGhyb3dUcmFtcG9saW5lKSAiXG4iCi0gU1lNQk9MX1NUUklORyhj dGlWTVRocm93VHJhbXBvbGluZSkgIjoiICJcbiIKLUBAIC0yMjIsNyArMjIyLDcgQEAgU1lNQk9M X1NUUklORyhjdGlWTVRocm93VHJhbXBvbGluZSkgIjoiICJcbiIKLSAgICAgInJldCIgIlxuIgot ICk7Ci0gCi0tYXNtIHZvbGF0aWxlICgKLSthc20gKAotICIuZ2xvYmwgIiBTWU1CT0xfU1RSSU5H KGN0aU9wVGhyb3dOb3RDYXVnaHQpICJcbiIKLSBISURFX1NZTUJPTChjdGlPcFRocm93Tm90Q2F1 Z2h0KSAiXG4iCi0gU1lNQk9MX1NUUklORyhjdGlPcFRocm93Tm90Q2F1Z2h0KSAiOiIgIlxuIgot QEAgLTI0Miw3ICsyNDIsNyBAQCBTWU1CT0xfU1RSSU5HKGN0aU9wVGhyb3dOb3RDYXVnaHQpICI6 IiAiXG4iCi0gI2Vycm9yICJKSVRfU1RVQl9BUkdVTUVOVF9WQV9MSVNUIG5vdCBzdXBwb3J0ZWQg b24gQVJNdjcuIgotICNlbmRpZgotIAotLWFzbSB2b2xhdGlsZSAoCi0rYXNtICgKLSAiLnRleHQi ICJcbiIKLSAiLmFsaWduIDIiICJcbiIKLSAiLmdsb2JsICIgU1lNQk9MX1NUUklORyhjdGlUcmFt cG9saW5lKSAiXG4iCi1AQCAtMjY5LDcgKzI2OSw3IEBAIFNZTUJPTF9TVFJJTkcoY3RpVHJhbXBv bGluZSkgIjoiICJcbiIKLSAgICAgImJ4IGxyIiAiXG4iCi0gKTsKLSAKLS1hc20gdm9sYXRpbGUg KAotK2FzbSAoCi0gIi50ZXh0IiAiXG4iCi0gIi5hbGlnbiAyIiAiXG4iCi0gIi5nbG9ibCAiIFNZ TUJPTF9TVFJJTkcoY3RpVk1UaHJvd1RyYW1wb2xpbmUpICJcbiIKLUBAIC0yODcsNyArMjg3LDcg QEAgU1lNQk9MX1NUUklORyhjdGlWTVRocm93VHJhbXBvbGluZSkgIjoiICJcbiIKLSAgICAgImJ4 IGxyIiAiXG4iCi0gKTsKLSAKLS1hc20gdm9sYXRpbGUgKAotK2FzbSAoCi0gIi50ZXh0IiAiXG4i Ci0gIi5hbGlnbiAyIiAiXG4iCi0gIi5nbG9ibCAiIFNZTUJPTF9TVFJJTkcoY3RpT3BUaHJvd05v dENhdWdodCkgIlxuIgotQEAgLTMwNSw3ICszMDUsNyBAQCBTWU1CT0xfU1RSSU5HKGN0aU9wVGhy b3dOb3RDYXVnaHQpICI6IiAiXG4iCi0gCi0gI2VsaWYgQ09NUElMRVIoR0NDKSAmJiBDUFUoQVJN X1RSQURJVElPTkFMKQotIAotLWFzbSB2b2xhdGlsZSAoCi0rYXNtICgKLSAiLmdsb2JsICIgU1lN Qk9MX1NUUklORyhjdGlUcmFtcG9saW5lKSAiXG4iCi0gSElERV9TWU1CT0woY3RpVHJhbXBvbGlu ZSkgIlxuIgotIFNZTUJPTF9TVFJJTkcoY3RpVHJhbXBvbGluZSkgIjoiICJcbiIKLUBAIC0zMjMs NyArMzIzLDcgQEAgU1lNQk9MX1NUUklORyhjdGlUcmFtcG9saW5lKSAiOiIgIlxuIgotICAgICAi bW92IHBjLCBsciIgIlxuIgotICk7Ci0gCi0tYXNtIHZvbGF0aWxlICgKLSthc20gKAotICIuZ2xv YmwgIiBTWU1CT0xfU1RSSU5HKGN0aVZNVGhyb3dUcmFtcG9saW5lKSAiXG4iCi0gSElERV9TWU1C T0woY3RpVk1UaHJvd1RyYW1wb2xpbmUpICJcbiIKLSBTWU1CT0xfU1RSSU5HKGN0aVZNVGhyb3dU cmFtcG9saW5lKSAiOiIgIlxuIgotQEAgLTQxOCw3ICs0MTgsNyBAQCBDT01QSUxFX0FTU0VSVChv ZmZzZXRvZihzdHJ1Y3QgSklUU3RhY2tGcmFtZSwgY2FsbEZyYW1lKSA9PSAweDM4LCBKSVRTdGFj a0ZyYW1lXwotIENPTVBJTEVfQVNTRVJUKG9mZnNldG9mKHN0cnVjdCBKSVRTdGFja0ZyYW1lLCBj b2RlKSA9PSAweDMwLCBKSVRTdGFja0ZyYW1lX2NvZGVfb2Zmc2V0X21hdGNoZXNfY3RpVHJhbXBv bGluZSk7Ci0gQ09NUElMRV9BU1NFUlQob2Zmc2V0b2Yoc3RydWN0IEpJVFN0YWNrRnJhbWUsIHNh dmVkRUJYKSA9PSAweDFjLCBKSVRTdGFja0ZyYW1lX3N0dWJfYXJndW1lbnRfc3BhY2VfbWF0Y2hl c19jdGlUcmFtcG9saW5lKTsKLSAKLS1hc20gdm9sYXRpbGUgKAotK2FzbSAoCi0gIi50ZXh0XG4i Ci0gIi5nbG9ibCAiIFNZTUJPTF9TVFJJTkcoY3RpVHJhbXBvbGluZSkgIlxuIgotIEhJREVfU1lN Qk9MKGN0aVRyYW1wb2xpbmUpICJcbiIKLUBAIC00NDAsNyArNDQwLDcgQEAgU1lNQk9MX1NUUklO RyhjdGlUcmFtcG9saW5lKSAiOiIgIlxuIgotICAgICAicmV0IiAiXG4iCi0gKTsKLSAKLS1hc20g dm9sYXRpbGUgKAotK2FzbSAoCi0gIi5nbG9ibCAiIFNZTUJPTF9TVFJJTkcoY3RpVk1UaHJvd1Ry YW1wb2xpbmUpICJcbiIKLSBISURFX1NZTUJPTChjdGlWTVRocm93VHJhbXBvbGluZSkgIlxuIgot IFNZTUJPTF9TVFJJTkcoY3RpVk1UaHJvd1RyYW1wb2xpbmUpICI6IiAiXG4iCi1AQCAtNDU2LDcg KzQ1Niw3IEBAIFNZTUJPTF9TVFJJTkcoY3RpVk1UaHJvd1RyYW1wb2xpbmUpICI6IiAiXG4iCi0g ICAgICJyZXQiICJcbiIKLSApOwotICAgICAKLS1hc20gdm9sYXRpbGUgKAotK2FzbSAoCi0gIi5n bG9ibCAiIFNZTUJPTF9TVFJJTkcoY3RpT3BUaHJvd05vdENhdWdodCkgIlxuIgotIEhJREVfU1lN Qk9MKGN0aU9wVGhyb3dOb3RDYXVnaHQpICJcbiIKLSBTWU1CT0xfU1RSSU5HKGN0aU9wVGhyb3dO b3RDYXVnaHQpICI6IiAiXG4iCi1AQCAtNDgwLDcgKzQ4MCw3IEBAIENPTVBJTEVfQVNTRVJUKG9m ZnNldG9mKHN0cnVjdCBKSVRTdGFja0ZyYW1lLCBjYWxsRnJhbWUpID09IDB4NTgsIEpJVFN0YWNr RnJhbWVfCi0gQ09NUElMRV9BU1NFUlQob2Zmc2V0b2Yoc3RydWN0IEpJVFN0YWNrRnJhbWUsIGNv ZGUpID09IDB4NDgsIEpJVFN0YWNrRnJhbWVfY29kZV9vZmZzZXRfbWF0Y2hlc19jdGlUcmFtcG9s aW5lKTsKLSBDT01QSUxFX0FTU0VSVChvZmZzZXRvZihzdHJ1Y3QgSklUU3RhY2tGcmFtZSwgc2F2 ZWRSQlgpID09IDB4NzgsIEpJVFN0YWNrRnJhbWVfc3R1Yl9hcmd1bWVudF9zcGFjZV9tYXRjaGVz X2N0aVRyYW1wb2xpbmUpOwotIAotLWFzbSB2b2xhdGlsZSAoCi0rYXNtICgKLSAiLnRleHRcbiIK LSAiLmdsb2JsICIgU1lNQk9MX1NUUklORyhjdGlUcmFtcG9saW5lKSAiXG4iCi0gSElERV9TWU1C T0woY3RpVHJhbXBvbGluZSkgIlxuIgotQEAgLTUxNSw3ICs1MTUsNyBAQCBTWU1CT0xfU1RSSU5H KGN0aVRyYW1wb2xpbmUpICI6IiAiXG4iCi0gICAgICJyZXQiICJcbiIKLSApOwotIAotLWFzbSB2 b2xhdGlsZSAoCi0rYXNtICgKLSAiLmdsb2JsICIgU1lNQk9MX1NUUklORyhjdGlWTVRocm93VHJh bXBvbGluZSkgIlxuIgotIEhJREVfU1lNQk9MKGN0aVZNVGhyb3dUcmFtcG9saW5lKSAiXG4iCi0g U1lNQk9MX1NUUklORyhjdGlWTVRocm93VHJhbXBvbGluZSkgIjoiICJcbiIKLUBAIC01MzEsNyAr NTMxLDcgQEAgU1lNQk9MX1NUUklORyhjdGlWTVRocm93VHJhbXBvbGluZSkgIjoiICJcbiIKLSAg ICAgInJldCIgIlxuIgotICk7Ci0gCi0tYXNtIHZvbGF0aWxlICgKLSthc20gKAotICIuZ2xvYmwg IiBTWU1CT0xfU1RSSU5HKGN0aU9wVGhyb3dOb3RDYXVnaHQpICJcbiIKLSBISURFX1NZTUJPTChj dGlPcFRocm93Tm90Q2F1Z2h0KSAiXG4iCi0gU1lNQk9MX1NUUklORyhjdGlPcFRocm93Tm90Q2F1 Z2h0KSAiOiIgIlxuIgotQEAgLTU1MSw3ICs1NTEsNyBAQCBTWU1CT0xfU1RSSU5HKGN0aU9wVGhy b3dOb3RDYXVnaHQpICI6IiAiXG4iCi0gI2Vycm9yICJKSVRfU1RVQl9BUkdVTUVOVF9WQV9MSVNU IG5vdCBzdXBwb3J0ZWQgb24gQVJNdjcuIgotICNlbmRpZgotIAotLWFzbSB2b2xhdGlsZSAoCi0r YXNtICgKLSAiLnRleHQiICJcbiIKLSAiLmFsaWduIDIiICJcbiIKLSAiLmdsb2JsICIgU1lNQk9M X1NUUklORyhjdGlUcmFtcG9saW5lKSAiXG4iCi1AQCAtNTc4LDcgKzU3OCw3IEBAIFNZTUJPTF9T VFJJTkcoY3RpVHJhbXBvbGluZSkgIjoiICJcbiIKLSAgICAgImJ4IGxyIiAiXG4iCi0gKTsKLSAK LS1hc20gdm9sYXRpbGUgKAotK2FzbSAoCi0gIi50ZXh0IiAiXG4iCi0gIi5hbGlnbiAyIiAiXG4i Ci0gIi5nbG9ibCAiIFNZTUJPTF9TVFJJTkcoY3RpVk1UaHJvd1RyYW1wb2xpbmUpICJcbiIKLUBA IC01OTYsNyArNTk2LDcgQEAgU1lNQk9MX1NUUklORyhjdGlWTVRocm93VHJhbXBvbGluZSkgIjoi ICJcbiIKLSAgICAgImJ4IGxyIiAiXG4iCi0gKTsKLSAKLS1hc20gdm9sYXRpbGUgKAotK2FzbSAo Ci0gIi50ZXh0IiAiXG4iCi0gIi5hbGlnbiAyIiAiXG4iCi0gIi5nbG9ibCAiIFNZTUJPTF9TVFJJ TkcoY3RpT3BUaHJvd05vdENhdWdodCkgIlxuIgotQEAgLTYxNCw3ICs2MTQsNyBAQCBTWU1CT0xf U1RSSU5HKGN0aU9wVGhyb3dOb3RDYXVnaHQpICI6IiAiXG4iCi0gCi0gI2VsaWYgQ09NUElMRVIo R0NDKSAmJiBDUFUoQVJNX1RSQURJVElPTkFMKQotIAotLWFzbSB2b2xhdGlsZSAoCi0rYXNtICgK LSAiLnRleHRcbiIKLSAiLmdsb2JsICIgU1lNQk9MX1NUUklORyhjdGlUcmFtcG9saW5lKSAiXG4i Ci0gSElERV9TWU1CT0woY3RpVHJhbXBvbGluZSkgIlxuIgotQEAgLTYzMiw3ICs2MzIsNyBAQCBT WU1CT0xfU1RSSU5HKGN0aVRyYW1wb2xpbmUpICI6IiAiXG4iCi0gICAgICJtb3YgcGMsIGxyIiAi XG4iCi0gKTsKLSAKLS1hc20gdm9sYXRpbGUgKAotK2FzbSAoCi0gIi5nbG9ibCAiIFNZTUJPTF9T VFJJTkcoY3RpVk1UaHJvd1RyYW1wb2xpbmUpICJcbiIKLSBISURFX1NZTUJPTChjdGlWTVRocm93 VHJhbXBvbGluZSkgIlxuIgotIFNZTUJPTF9TVFJJTkcoY3RpVk1UaHJvd1RyYW1wb2xpbmUpICI6 IiAiXG4iCi1AQCAtMTAyNCw3ICsxMDI0LDcgQEAgc3RhdGljIE5FVkVSX0lOTElORSB2b2lkIHRo cm93U3RhY2tPdmVyZmxvd0Vycm9yKENhbGxGcmFtZSogY2FsbEZyYW1lLCBKU0dsb2JhbEQKLSAg ICAgZXh0ZXJuICJDIiB7IFwKLSAgICAgICAgIHJ0eXBlIEpJVFN0dWJUaHVua2VkXyMjb3AoU1RV Ql9BUkdTX0RFQ0xBUkFUSU9OKTsgXAotICAgICB9OyBcCi0tICAgIGFzbSB2b2xhdGlsZSAoIFwK LSsgICAgYXNtICggXAotICAgICAgICAgIi50ZXh0IiAiXG4iIFwKLSAgICAgICAgICIuYWxpZ24g MiIgIlxuIiBcCi0gICAgICAgICAiLmdsb2JsICIgU1lNQk9MX1NUUklORyhjdGlfIyNvcCkgIlxu IiBcCi1AQCAtMTA1Myw3ICsxMDUzLDcgQEAgQ09NUElMRV9BU1NFUlQob2Zmc2V0b2Yoc3RydWN0 IEpJVFN0YWNrRnJhbWUsIHRodW5rUmV0dXJuQWRkcmVzcykgPT0gVEhVTktfUkVUVVIKLSAgICAg ZXh0ZXJuICJDIiB7IFwKLSAgICAgICAgIHJ0eXBlIEpJVFN0dWJUaHVua2VkXyMjb3AoU1RVQl9B UkdTX0RFQ0xBUkFUSU9OKTsgXAotICAgICB9OyBcCi0tICAgIGFzbSB2b2xhdGlsZSAoIFwKLSsg ICAgYXNtICggXAotICAgICAgICAgIi5nbG9ibCAiIFNZTUJPTF9TVFJJTkcoY3RpXyMjb3ApICJc biIgXAotICAgICAgICAgSElERV9TWU1CT0woY3RpXyMjb3ApICJcbiIgICAgICAgICAgICAgXAot ICAgICAgICAgU1lNQk9MX1NUUklORyhjdGlfIyNvcCkgIjoiICJcbiIgXAotCmRpZmYgLS1naXQg YS9zcmNwa2dzL3F0NS9wYXRjaGVzLzAwMzUtZ2NjLTkuMS1idWlsZC5wYXRjaCBiL3NyY3BrZ3Mv cXQ1L3BhdGNoZXMvMDAzNS1nY2MtOS4xLWJ1aWxkLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwNGRhM2Q0YzcwOC4uMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9xdDUvcGF0 Y2hlcy8wMDM1LWdjYy05LjEtYnVpbGQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCww IEBACi1Gcm9tIDBkODlkZWFkNDM5NjEyNjYwNmZiNzk1NGMwYmIwYTI3MzRkMjM0N2IgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbGxhbiBTYW5kZmVsZCBKZW5zZW4gPGFsbGFuLmpl bnNlbkBxdC5pbz4KLURhdGU6IFR1ZSwgMTMgTm92IDIwMTggMTY6MDA6MjMgKzAxMDAKLVN1Ympl Y3Q6IFtQQVRDSF0gRml4IGNvbXBpbGUgaXNzdWUgd2l0aCBnY2MgOQotCi1JdCBhcHBlYXJzIG1l c3Nlbm5lX3R3aXN0ZXJzIGluIHRoZSBsYXRlc3QgbGlic3RkYysrIGhhcyBvbmUgbW9yZQotcmVx dWlyZW1lbnQgYmVmb3JlIGl0IGlzIHdpbGxpbmcgdG8gY29uc3RydWN0IHdpdGggb3VyCi1TeXN0 ZW1HZW5lcmF0b3Igc3RydWN0IGFzIGFuIHNzZXEgcHJvdmlkZXIuCi0KLVVwc3RyZWFtLVN0YXR1 czogQmFja3BvcnQKLQotQ2hhbmdlLUlkOiBJZjM4MTUxZDFmYTZmNDBhODAyNzRhY2MyNmQ5ZWQ2 YjRhYzYwNDlmZQotUmV2aWV3ZWQtYnk6IEdpdXNlcHBlIEQnQW5nZWxvIDxnaXVzZXBwZS5kYW5n ZWxvQGtkYWIuY29tPgotUmV2aWV3ZWQtYnk6IFRoaWFnbyBNYWNpZWlyYSA8dGhpYWdvLm1hY2ll aXJhQGludGVsLmNvbT4KLS0tLQotCi0gcXRiYXNlL3NyYy9jb3JlbGliL2dsb2JhbC9xcmFuZG9t LmNwcCB8IDEgKwotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQotCi1kaWZmIC0tZ2l0 IGEvc3JjL2NvcmVsaWIvZ2xvYmFsL3FyYW5kb20uY3BwIGIvc3JjL2NvcmVsaWIvZ2xvYmFsL3Fy YW5kb20uY3BwCi1pbmRleCBlYmY5ODY0YjE1Li41Nzc3MzZhODY3IDEwMDY0NAotLS0tIHF0YmFz ZS9zcmMvY29yZWxpYi9nbG9iYWwvcXJhbmRvbS5jcHAKLSsrKyBxdGJhc2Uvc3JjL2NvcmVsaWIv Z2xvYmFsL3FyYW5kb20uY3BwCi1AQCAtMjE4LDYgKzIxOCw3IEBAIHN0cnVjdCBRUmFuZG9tR2Vu ZXJhdG9yOjpTeXN0ZW1HZW5lcmF0b3IKLSAjZW5kaWYgLy8gUV9PU19XSU5SVAotIAotICAgICBz dGF0aWMgU3lzdGVtR2VuZXJhdG9yICZzZWxmKCk7Ci0rICAgIHR5cGVkZWYgcXVpbnQzMiByZXN1 bHRfdHlwZTsKLSAgICAgdm9pZCBnZW5lcmF0ZShxdWludDMyICpiZWdpbiwgcXVpbnQzMiAqZW5k KSBRX0RFQ0xfTk9FWENFUFRfRVhQUihGaWxsQnVmZmVyTm9leGNlcHQpOwotIAotICAgICAvLyBG b3Igc3RkOjptZXJzZW5uZV90d2lzdGVyX2VuZ2luZSBpbXBsZW1lbnRhdGlvbnMgdGhhdCB1c2Ug c29tZXRoaW5nCi0tLSAKLTIuMjAuMQotCi0KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ1L3BhdGNo ZXMvMDA0MC15YXNtLW5scy5wYXRjaCBiL3NyY3BrZ3MvcXQ1L3BhdGNoZXMvMDA0MC15YXNtLW5s cy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMjJhYzA0MjA3 NjQKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0NS9wYXRjaGVzLzAwNDAteWFzbS1ubHMu cGF0Y2gKQEAgLTAsMCArMSwxMyBAQAorZGlmZiAtLWdpdCBzcmMvM3JkcGFydHkvY2hyb21pdW0v dGhpcmRfcGFydHkveWFzbS9zb3VyY2UvY29uZmlnL2xpbnV4L2NvbmZpZy5oIHNyYy8zcmRwYXJ0 eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS95YXNtL3NvdXJjZS9jb25maWcvbGludXgvY29uZmlnLmgK K2luZGV4IDllMzY1MzkuLmY1ODgwODMgMTAwNjQ0CistLS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBh cnR5L2Nocm9taXVtLy90aGlyZF9wYXJ0eS95YXNtL3NvdXJjZS9jb25maWcvbGludXgvY29uZmln LmgKKy0tLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vL3RoaXJkX3BhcnR5L3lh c20vc291cmNlL2NvbmZpZy9saW51eC9jb25maWcuaAorQEAgLTUsNyArNSw3IEBACisgI2RlZmlu ZSBDUFBfUFJPRyAiZ2NjIC1FIgorIAorIC8qICovCistI2RlZmluZSBFTkFCTEVfTkxTIDEKKysv KiAjdW5kZWYgRU5BQkxFX05MUyAxICovCisgCisgLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUg dGhlIGBhYm9ydCcgZnVuY3Rpb24uICovCisgI2RlZmluZSBIQVZFX0FCT1JUIDEKZGlmZiAtLWdp dCBhL3NyY3BrZ3MvcXQ1L3BhdGNoZXMvYXJtLXZvaWQtaXMtbm90LWFuZHJvaWQucGF0Y2ggYi9z cmNwa2dzL3F0NS9wYXRjaGVzL2FybS12b2lkLWlzLW5vdC1hbmRyb2lkLnBhdGNoCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5iMTMyOTBkM2NjZAotLS0gL2Rldi9udWxs CisrKyBiL3NyY3BrZ3MvcXQ1L3BhdGNoZXMvYXJtLXZvaWQtaXMtbm90LWFuZHJvaWQucGF0Y2gK QEAgLTAsMCArMSwyMSBAQAorLS0tIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS8v dGhpcmRfcGFydHkvb3Blbm1heF9kbC9kbC9CVUlMRC5nbgkyMDE5LTA0LTA5IDA5OjMxOjE2LjAw MDAwMDAwMCArMDIwMAorKysrIC0JMjAxOS0wNS0wNiAyMzowODowOS41MzczNDY1NDYgKzAyMDAK K0BAIC0yMDYsMTggKzIwNiw2IEBACisgICAgICAgInNwL3NyYy9hcm0vYXJtdjcvb214U1BfRkZU RndkX1JUb0NDU19GMzJfU2ZzX3MuUyIsCisgICAgICAgInNwL3NyYy9hcm0vYXJtdjcvb214U1Bf RkZUSW52X0NDU1RvUl9GMzJfU2ZzX3MuUyIsCisgICAgIF0KKy0gICAgaWYgKGFybV9vcHRpb25h bGx5X3VzZV9uZW9uKSB7CistICAgICAgIyBSdW4tdGltZSBORU9OIGRldGVjdGlvbi4KKy0gICAg ICBkZXBzID0gWworLSAgICAgICAgIi8vdGhpcmRfcGFydHkvYW5kcm9pZF90b29sczpjcHVfZmVh dHVyZXMiLAorLSAgICAgIF0KKy0KKy0gICAgICAjIFRvIGdldCB0aGUgX19hbmRyb2lkX2xvZ19w cmludCByb3V0aW5lCistICAgICAgbGlicyA9IFsgImxvZyIgXQorLQorLSAgICAgICMgRGV0ZWN0 aW9uIHJvdXRpbmUKKy0gICAgICBzb3VyY2VzICs9IFsgInNwL3NyYy9hcm0vZGV0ZWN0LmMiIF0K Ky0gICAgfQorICAgfQorIAorICAgIyBORU9OIGltcGxlbWVudGF0aW9uIG9mIEZGVC4gVGhpcyBs aWJyYXJ5IGlzIE5PVApkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDUvcGF0Y2hlcy9saWJyZXNzbC1j b25zdC1iaW8ucGF0Y2ggYi9zcmNwa2dzL3F0NS9wYXRjaGVzL2xpYnJlc3NsLWNvbnN0LWJpby5w YXRjaAppbmRleCBmMzQ5Mzg2MmNkNC4uZDNhMWZlOTZjNTMgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mv cXQ1L3BhdGNoZXMvbGlicmVzc2wtY29uc3QtYmlvLnBhdGNoCisrKyBiL3NyY3BrZ3MvcXQ1L3Bh dGNoZXMvbGlicmVzc2wtY29uc3QtYmlvLnBhdGNoCkBAIC00LDEwICs0LDEwIEBACiAgI2VuZGlm CiAgREVGSU5FRlVOQzIoQklPICosIEJJT19uZXdfZmlsZSwgY29uc3QgY2hhciAqZmlsZW5hbWUs IGZpbGVuYW1lLCBjb25zdCBjaGFyICptb2RlLCBtb2RlLCByZXR1cm4gMCwgcmV0dXJuKQogIERF RklORUZVTkModm9pZCwgRVJSX2NsZWFyX2Vycm9yLCBEVU1NWUFSRywgRFVNTVlBUkcsIHJldHVy biwgRFVNTVlBUkcpCi0tREVGSU5FRlVOQyhCSU8gKiwgQklPX25ldywgQklPX01FVEhPRCAqYSwg YSwgcmV0dXJuIDAsIHJldHVybikKLS1ERUZJTkVGVU5DKEJJT19NRVRIT0QgKiwgQklPX3NfbWVt LCB2b2lkLCBEVU1NWUFSRywgcmV0dXJuIDAsIHJldHVybikKLStERUZJTkVGVU5DKEJJTyAqLCBC SU9fbmV3LCBjb25zdCBCSU9fTUVUSE9EICphLCBhLCByZXR1cm4gMCwgcmV0dXJuKQotK0RFRklO RUZVTkMoY29uc3QgQklPX01FVEhPRCAqLCBCSU9fc19tZW0sIHZvaWQsIERVTU1ZQVJHLCByZXR1 cm4gMCwgcmV0dXJuKQorLURFRklORUZVTkMoQklPICosIEJJT19uZXcsIEJJT19NRVRIT0QgKmEs IGEsIHJldHVybiBudWxscHRyLCByZXR1cm4pCistREVGSU5FRlVOQyhCSU9fTUVUSE9EICosIEJJ T19zX21lbSwgdm9pZCwgRFVNTVlBUkcsIHJldHVybiBudWxscHRyLCByZXR1cm4pCisrREVGSU5F RlVOQyhCSU8gKiwgQklPX25ldywgY29uc3QgQklPX01FVEhPRCAqYSwgYSwgcmV0dXJuIG51bGxw dHIsIHJldHVybikKKytERUZJTkVGVU5DKGNvbnN0IEJJT19NRVRIT0QgKiwgQklPX3NfbWVtLCB2 b2lkLCBEVU1NWUFSRywgcmV0dXJuIG51bGxwdHIsIHJldHVybikKICBERUZJTkVGVU5DKGludCwg Q1JZUFRPX251bV9sb2NrcywgRFVNTVlBUkcsIERVTU1ZQVJHLCByZXR1cm4gMCwgcmV0dXJuKQog IERFRklORUZVTkModm9pZCwgQ1JZUFRPX3NldF9sb2NraW5nX2NhbGxiYWNrLCB2b2lkICgqYSko aW50LCBpbnQsIGNvbnN0IGNoYXIgKiwgaW50KSwgYSwgcmV0dXJuLCBEVU1NWUFSRykKICBERUZJ TkVGVU5DKHZvaWQsIENSWVBUT19zZXRfaWRfY2FsbGJhY2ssIHVuc2lnbmVkIGxvbmcgKCphKSgp LCBhLCByZXR1cm4sIERVTU1ZQVJHKQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDUvcGF0Y2hlcy8w MDA1LW11c2wtbm8tZXhlY2luZm8ucGF0Y2ggYi9zcmNwa2dzL3F0NS9wYXRjaGVzL3F0LW11c2wt ZXhlY2luZm8ucGF0Y2gKc2ltaWxhcml0eSBpbmRleCA1NiUKcmVuYW1lIGZyb20gc3JjcGtncy9x dDUvcGF0Y2hlcy8wMDA1LW11c2wtbm8tZXhlY2luZm8ucGF0Y2gKcmVuYW1lIHRvIHNyY3BrZ3Mv cXQ1L3BhdGNoZXMvcXQtbXVzbC1leGVjaW5mby5wYXRjaAppbmRleCA2MTUxNzdiYTE2ZS4uOThm M2EzODc0NWEgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ1L3BhdGNoZXMvMDAwNS1tdXNsLW5vLWV4 ZWNpbmZvLnBhdGNoCisrKyBiL3NyY3BrZ3MvcXQ1L3BhdGNoZXMvcXQtbXVzbC1leGVjaW5mby5w YXRjaApAQCAtMSw2ICsxLDYgQEAKLS0tLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21p dW0vYmFzZS9kZWJ1Zy9zdGFja190cmFjZV9wb3NpeC5jYwkyMDE3LTExLTI4IDE0OjA2OjUzLjAw MDAwMDAwMCArMDEwMAotKysrIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9iYXNl L2RlYnVnL3N0YWNrX3RyYWNlX3Bvc2l4LmNjCTIwMTgtMDEtMjcgMjE6NTA6MDQuNjkzMjMxOTA1 ICswMTAwCi1AQCAtMjYsNyArMjYsNyBAQAorLS0tIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS8vYmFzZS9kZWJ1Zy9zdGFja190cmFjZV9wb3NpeC5jYy5vcmlnCTIwMTktMDQtMDkg MDk6MzE6MTYuMDAwMDAwMDAwICswMjAwCisrKysgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2No cm9taXVtLy9iYXNlL2RlYnVnL3N0YWNrX3RyYWNlX3Bvc2l4LmNjCTIwMTktMDUtMDYgMjM6MTY6 MTMuMjQ1NTAyNDY3ICswMjAwCitAQCAtMjcsNyArMjcsNyBAQAogICNpZiAhZGVmaW5lZChVU0Vf U1lNQk9MSVpFKQogICNpbmNsdWRlIDxjeHhhYmkuaD4KICAjZW5kaWYKQEAgLTksNyArOSw3IEBA CiAgI2luY2x1ZGUgPGV4ZWNpbmZvLmg+CiAgI2VuZGlmCiAgCi1AQCAtODIsNyArODIsNyBAQAor QEAgLTg2LDcgKzg2LDcgQEAKICAgIC8vIE5vdGU6IGNvZGUgaW4gdGhpcyBmdW5jdGlvbiBpcyBO T1QgYXN5bmMtc2lnbmFsIHNhZmUgKHN0ZDo6c3RyaW5nIHVzZXMKICAgIC8vIG1hbGxvYyBpbnRl cm5hbGx5KS4KICAKQEAgLTE4LDcgKzE4LDcgQEAKICAgIHN0ZDo6c3RyaW5nOjpzaXplX3R5cGUg c2VhcmNoX2Zyb20gPSAwOwogICAgd2hpbGUgKHNlYXJjaF9mcm9tIDwgdGV4dC0+c2l6ZSgpKSB7 CiAgICAgIC8vIExvb2sgZm9yIHRoZSBzdGFydCBvZiBhIG1hbmdsZWQgc3ltYm9sLCBmcm9tIHNl YXJjaF9mcm9tLgotQEAgLTExNyw3ICsxMTcsNyBAQAorQEAgLTEyMSw3ICsxMjEsNyBAQAogICAg ICAgIHNlYXJjaF9mcm9tID0gbWFuZ2xlZF9zdGFydCArIDI7CiAgICAgIH0KICAgIH0KQEAgLTI3 LDggKzI3LDggQEAKICB9CiAgI2VuZGlmICAvLyAhZGVmaW5lZChVU0VfU1lNQk9MSVpFKQogIAot QEAgLTEyOSw3ICsxMjksNyBAQAotICAgdmlydHVhbCB+QmFja3RyYWNlT3V0cHV0SGFuZGxlcigp IHt9CitAQCAtMTMzLDcgKzEzMyw3IEBACisgICB2aXJ0dWFsIH5CYWNrdHJhY2VPdXRwdXRIYW5k bGVyKCkgPSBkZWZhdWx0OwogIH07CiAgCiAtI2lmICFkZWZpbmVkKF9fVUNMSUJDX18pICYmICFk ZWZpbmVkKF9BSVgpCkBAIC0zNiw3ICszNiw3IEBACiAgdm9pZCBPdXRwdXRQb2ludGVyKHZvaWQq IHBvaW50ZXIsIEJhY2t0cmFjZU91dHB1dEhhbmRsZXIqIGhhbmRsZXIpIHsKICAgIC8vIFRoaXMg c2hvdWxkIGJlIG1vcmUgdGhhbiBlbm91Z2ggdG8gc3RvcmUgYSA2NC1iaXQgbnVtYmVyIGluIGhl eDoKICAgIC8vIDE2IGhleCBkaWdpdHMgKyAxIGZvciBudWxsLXRlcm1pbmF0b3IuCi1AQCAtMjA2 LDcgKzIwNiw3IEBACitAQCAtMjE2LDcgKzIxNiw3IEBACiAgICB9CiAgI2VuZGlmICAvLyBkZWZp bmVkKFVTRV9TWU1CT0xJWkUpCiAgfQpAQCAtNDUsNDQgKzQ1LDQ0IEBACiAgCiAgdm9pZCBQcmlu dFRvU3RkZXJyKGNvbnN0IGNoYXIqIG91dHB1dCkgewogICAgLy8gTk9URTogVGhpcyBjb2RlIE1V U1QgYmUgYXN5bmMtc2lnbmFsIHNhZmUgKGl0J3MgdXNlZCBieSBpbi1wcm9jZXNzCi1AQCAtNzQ5 LDcgKzc0OSw3IEBACi0gLy8gTk9URTogVGhpcyBjb2RlIE1VU1QgYmUgYXN5bmMtc2lnbmFsIHNh ZmUgKGl0J3MgdXNlZCBieSBpbi1wcm9jZXNzCi0gLy8gc3RhY2sgZHVtcGluZyBzaWduYWwgaGFu ZGxlcikuIE5PIG1hbGxvYyBvciBzdGRpbyBpcyBhbGxvd2VkIGhlcmUuCitAQCAtODEyLDcgKzgx Miw3IEBACisgICAvLyBOT1RFOiBUaGlzIGNvZGUgTVVTVCBiZSBhc3luYy1zaWduYWwgc2FmZSAo aXQncyB1c2VkIGJ5IGluLXByb2Nlc3MKKyAgIC8vIHN0YWNrIGR1bXBpbmcgc2lnbmFsIGhhbmRs ZXIpLiBOTyBtYWxsb2Mgb3Igc3RkaW8gaXMgYWxsb3dlZCBoZXJlLgogIAogLSNpZiAhZGVmaW5l ZChfX1VDTElCQ19fKSAmJiAhZGVmaW5lZChfQUlYKQogKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykg JiYgIWRlZmluZWQoX0FJWCkKLSAgIGNvdW50ID0gc3RkOjptaW4oYXJyYXlzaXplKHRyYWNlXyks IGNvdW50KTsKLSAKICAgIC8vIFRob3VnaCB0aGUgYmFja3RyYWNlIEFQSSBtYW4gcGFnZSBkb2Vz IG5vdCBsaXN0IGFueSBwb3NzaWJsZSBuZWdhdGl2ZQotQEAgLTc2NCwxMyArNzY0LDEzIEBACi0g ICAvLyBOT1RFOiBUaGlzIGNvZGUgTVVTVCBiZSBhc3luYy1zaWduYWwgc2FmZSAoaXQncyB1c2Vk IGJ5IGluLXByb2Nlc3MKLSAgIC8vIHN0YWNrIGR1bXBpbmcgc2lnbmFsIGhhbmRsZXIpLiBOTyBt YWxsb2Mgb3Igc3RkaW8gaXMgYWxsb3dlZCBoZXJlLgorICAgLy8gcmV0dXJuIHZhbHVlcywgd2Ug dGFrZSBubyBjaGFuY2UuCisgICByZXR1cm4gYmFzZTo6c2F0dXJhdGVkX2Nhc3Q8c2l6ZV90Pihi YWNrdHJhY2UodHJhY2UsIGNvdW50KSk7CitAQCAtODI1LDEzICs4MjUsMTMgQEAKKyAvLyBOT1RF OiBUaGlzIGNvZGUgTVVTVCBiZSBhc3luYy1zaWduYWwgc2FmZSAoaXQncyB1c2VkIGJ5IGluLXBy b2Nlc3MKKyAvLyBzdGFjayBkdW1waW5nIHNpZ25hbCBoYW5kbGVyKS4gTk8gbWFsbG9jIG9yIHN0 ZGlvIGlzIGFsbG93ZWQgaGVyZS4KICAKIC0jaWYgIWRlZmluZWQoX19VQ0xJQkNfXykgJiYgIWRl ZmluZWQoX0FJWCkKICsjaWYgZGVmaW5lZChfX0dMSUJDX18pICYmICFkZWZpbmVkKF9BSVgpCiAg ICBQcmludEJhY2t0cmFjZU91dHB1dEhhbmRsZXIgaGFuZGxlcjsKLSAgIFByb2Nlc3NCYWNrdHJh Y2UodHJhY2VfLCBjb3VudF8sICZoYW5kbGVyKTsKKyAgIFByb2Nlc3NCYWNrdHJhY2UodHJhY2Vf LCBjb3VudF8sIHByZWZpeF9zdHJpbmcsICZoYW5kbGVyKTsKICAjZW5kaWYKICB9CiAgCiAtI2lm ICFkZWZpbmVkKF9fVUNMSUJDX18pICYmICFkZWZpbmVkKF9BSVgpCiArI2lmIGRlZmluZWQoX19H TElCQ19fKSAmJiAhZGVmaW5lZChfQUlYKQotIHZvaWQgU3RhY2tUcmFjZTo6T3V0cHV0VG9TdHJl YW0oc3RkOjpvc3RyZWFtKiBvcykgY29uc3QgeworIHZvaWQgU3RhY2tUcmFjZTo6T3V0cHV0VG9T dHJlYW1XaXRoUHJlZml4KHN0ZDo6b3N0cmVhbSogb3MsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciogcHJlZml4X3N0cmluZykgY29uc3Qgewog ICAgU3RyZWFtQmFja3RyYWNlT3V0cHV0SGFuZGxlciBoYW5kbGVyKG9zKTsKLSAgIFByb2Nlc3NC YWNrdHJhY2UodHJhY2VfLCBjb3VudF8sICZoYW5kbGVyKTsKLS0tLSBxdHdlYmVuZ2luZS9zcmMv M3JkcGFydHkvY2hyb21pdW0vYmFzZS9kZWJ1Zy9zdGFja190cmFjZS5jYwkyMDE3LTExLTI4IDE0 OjA2OjUzLjAwMDAwMDAwMCArMDEwMAotKysrIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS9iYXNlL2RlYnVnL3N0YWNrX3RyYWNlLmNjCTIwMTgtMDEtMjcgMjI6MzE6MDguMjk2MzU5 MDAwICswMTAwCi1AQCAtMjE0LDcgKzIxNCw3IEBACi0gCi0gc3RkOjpzdHJpbmcgU3RhY2tUcmFj ZTo6VG9TdHJpbmcoKSBjb25zdCB7CistLS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL2Jhc2UvZGVidWcvc3RhY2tfdHJhY2UuY2MJMjAxOS0wNC0wOSAwOTozMToxNi4wMDAwMDAw MDAgKzAyMDAKKysrKyAtCTIwMTktMDUtMDYgMjM6MTg6MTQuOTIzNTY2OTkyICswMjAwCitAQCAt MjMzLDcgKzIzMyw3IEBACisgfQorIHN0ZDo6c3RyaW5nIFN0YWNrVHJhY2U6OlRvU3RyaW5nV2l0 aFByZWZpeChjb25zdCBjaGFyKiBwcmVmaXhfc3RyaW5nKSBjb25zdCB7CiAgICBzdGQ6OnN0cmlu Z3N0cmVhbSBzdHJlYW07CiAtI2lmICFkZWZpbmVkKF9fVUNMSUJDX18pICYmICFkZWZpbmVkKF9B SVgpCiArI2lmIGRlZmluZWQoX19HTElCQ19fKSAmJiAhZGVmaW5lZChfQUlYKQotICAgT3V0cHV0 VG9TdHJlYW0oJnN0cmVhbSk7CisgICBPdXRwdXRUb1N0cmVhbVdpdGhQcmVmaXgoJnN0cmVhbSwg cHJlZml4X3N0cmluZyk7CiAgI2VuZGlmCiAgICByZXR1cm4gc3RyZWFtLnN0cigpOwotLS0tIHF0 d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9iYXNlL2xvZ2dpbmcuY2MJMjAxNy0xMS0y OCAxNDowNjo1My4wMDAwMDAwMDAgKzAxMDAKLSsrKyBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkv Y2hyb21pdW0vYmFzZS9sb2dnaW5nLmNjCTIwMTgtMDEtMjcgMjI6NDY6MzQuOTcwNDA2ODA3ICsw MTAwCistLS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtLy9iYXNlL2xvZ2dpbmcu Y2MJMjAxNy0xMS0yOCAxNDowNjo1My4wMDAwMDAwMDAgKzAxMDAKKy0tLSBxdHdlYmVuZ2luZS9z cmMvM3JkcGFydHkvY2hyb21pdW0vL2Jhc2UvbG9nZ2luZy5jYwkyMDE4LTAxLTI3IDIyOjQ2OjM0 Ljk3MDQwNjgwNyArMDEwMAogQEAgLTU0Niw3ICs1NDYsNyBAQAogIAogIExvZ01lc3NhZ2U6On5M b2dNZXNzYWdlKCkgewpAQCAtOTIsMzMgKzkyLDE2IEBACiAgICAgICFkZWZpbmVkKE9TX0FJWCkK ICAgIGlmIChzZXZlcml0eV8gPT0gTE9HX0ZBVEFMICYmICFiYXNlOjpkZWJ1Zzo6QmVpbmdEZWJ1 Z2dlZCgpKSB7CiAgICAgIC8vIEluY2x1ZGUgYSBzdGFjayB0cmFjZSBvbiBhIGZhdGFsLCB1bmxl c3MgYSBkZWJ1Z2dlciBpcyBhdHRhY2hlZC4KLS0tLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkv Y2hyb21pdW0vdGhpcmRfcGFydHkvV2ViS2l0L1NvdXJjZS9wbGF0Zm9ybS93dGYvQXNzZXJ0aW9u cy5jcHAJMjAxNy0xMS0yOCAxNDowNjo1My4wMDAwMDAwMDAgKzAxMDAKLSsrKyBxdHdlYmVuZ2lu ZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvV2ViS2l0L1NvdXJjZS9wbGF0Zm9y bS93dGYvQXNzZXJ0aW9ucy5jcHAJMjAxOC0wMS0yOSAyMDoyMzoyNi40OTgxODU2MjMgKzAxMDAK LUBAIC01OSw3ICs1OSw2IEBACistLS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVt L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL3d0Zi9hc3NlcnRpb25zLmNjCTIw MTktMDQtMDkgMDk6MzE6MTYuMDAwMDAwMDAwICswMjAwCisrKysgLQkyMDE5LTA1LTA2IDIzOjEy OjA3LjA0MDk3NzI1OCArMDIwMAorQEAgLTUxLDggKzUxLDEwIEBACiAgI2lmIGRlZmluZWQoT1Nf TUFDT1NYKSB8fCAoZGVmaW5lZChPU19MSU5VWCkgJiYgIWRlZmluZWQoX19VQ0xJQkNfXykpCiAg I2luY2x1ZGUgPGN4eGFiaS5oPgogICNpbmNsdWRlIDxkbGZjbi5oPgotLSNpbmNsdWRlIDxleGVj aW5mby5oPgorKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykKKyAjaW5jbHVkZSA8ZXhlY2luZm8uaD4K ICAjZW5kaWYKKysjZW5kaWYKICAKICAjaWYgZGVmaW5lZChPU19BTkRST0lEKQotLS0tIHF0d2Vi ZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS93ZWJydGMvcnRjX2Jhc2Uv Y2hlY2tzLmNjCTIwMTctMTEtMjggMTQ6MDY6NTMuMDAwMDAwMDAwICswMTAwCi0rKysgcXR3ZWJl bmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3dlYnJ0Yy9ydGNfYmFzZS9j aGVja3MuY2MJMjAxOC0wMS0yOSAyMDozMjo0MS4wNzAxNjM1MTEgKzAxMDAKLUBAIC0xNiw3ICsx Niw3IEBACi0gI2luY2x1ZGUgPGNzdGRpbz4KLSAjaW5jbHVkZSA8Y3N0ZGxpYj4KLSAKLS0jaWYg ZGVmaW5lZChfX0dMSUJDWFhfXykgJiYgIWRlZmluZWQoX19VQ0xJQkNfXykKLSsjaWYgZGVmaW5l ZChfX0dMSUJDWFhfXykgJiYgZGVmaW5lZChfX0dMSUJDX18pCi0gI2luY2x1ZGUgPGN4eGFiaS5o PgotICNpbmNsdWRlIDxleGVjaW5mby5oPgotICNlbmRpZgotQEAgLTYwLDcgKzYwLDcgQEAKLSAv LyB0byBnZXQgdXNhYmxlIHN5bWJvbHMgb24gTGludXguIFRoaXMgaXMgY29waWVkIGZyb20gVjgu IENocm9taXVtIGhhcyBhIG1vcmUKLSAvLyBhZHZhbmNlZCBzdGFjZSB0cmFjZSBzeXN0ZW07IGFs c28gbW9yZSBkaWZmaWN1bHQgdG8gY29weS4KLSB2b2lkIER1bXBCYWNrdHJhY2UoKSB7Ci0tI2lm IGRlZmluZWQoX19HTElCQ1hYX18pICYmICFkZWZpbmVkKF9fVUNMSUJDX18pCi0rI2lmIGRlZmlu ZWQoX19HTElCQ1hYX18pICYmIGRlZmluZWQoX19HTElCQ19fKQotICAgdm9pZCogdHJhY2VbMTAw XTsKLSAgIGludCBzaXplID0gYmFja3RyYWNlKHRyYWNlLCBzaXplb2YodHJhY2UpIC8gc2l6ZW9m KCp0cmFjZSkpOwotICAgY2hhcioqIHN5bWJvbHMgPSBiYWNrdHJhY2Vfc3ltYm9scyh0cmFjZSwg c2l6ZSk7CisgI2luY2x1ZGUgPGFuZHJvaWQvbG9nLmg+CmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0 NS9wYXRjaGVzL3F0LW11c2wtdGhyZWFkLXN0YWNrc2l6ZS5wYXRjaCBiL3NyY3BrZ3MvcXQ1L3Bh dGNoZXMvcXQtbXVzbC10aHJlYWQtc3RhY2tzaXplLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAwMDAwLi40OTY3NTNiZWYzMAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3Br Z3MvcXQ1L3BhdGNoZXMvcXQtbXVzbC10aHJlYWQtc3RhY2tzaXplLnBhdGNoCkBAIC0wLDAgKzEs MjYgQEAKK2RpZmYgLS1naXQgYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vcHBhcGkvdXRpbGl0eS90 aHJlYWRpbmcvc2ltcGxlX3RocmVhZC5jYyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9wcGFwaS91 dGlsaXR5L3RocmVhZGluZy9zaW1wbGVfdGhyZWFkLmNjCitpbmRleCAwMmJmNDliLi4wNWVlMTgy IDEwMDY0NAorLS0tIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9wcGFwaS91dGls aXR5L3RocmVhZGluZy9zaW1wbGVfdGhyZWFkLmNjCisrKysgcXR3ZWJlbmdpbmUvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3BwYXBpL3V0aWxpdHkvdGhyZWFkaW5nL3NpbXBsZV90aHJlYWQuY2MKK0BA IC0xMyw3ICsxMyw3IEBAIG5hbWVzcGFjZSBwcCB7CisgbmFtZXNwYWNlIHsKKyAKKyAvLyBVc2Ug Mk1CIGRlZmF1bHQgc3RhY2sgc2l6ZSBmb3IgTmF0aXZlIENsaWVudCwgb3RoZXJ3aXNlIHVzZSBz eXN0ZW0gZGVmYXVsdC4KKy0jaWYgZGVmaW5lZChfX25hdGl2ZV9jbGllbnRfXykKKysjaWYgZGVm aW5lZChfX25hdGl2ZV9jbGllbnRfXykgfHwgIWRlZmluZWQoX19HTElCQ19fKQorIGNvbnN0IHNp emVfdCBrRGVmYXVsdFN0YWNrU2l6ZSA9IDIgKiAxMDI0ICogMTAyNDsKKyAjZWxzZQorIGNvbnN0 IHNpemVfdCBrRGVmYXVsdFN0YWNrU2l6ZSA9IDA7CitkaWZmIC0tZ2l0IGEvc3JjLzNyZHBhcnR5 L2Nocm9taXVtL3Y4L3NyYy9iYXNlL3BsYXRmb3JtL3BsYXRmb3JtLXBvc2l4LmNjIGIvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL3Y4L3NyYy9iYXNlL3BsYXRmb3JtL3BsYXRmb3JtLXBvc2l4LmNjCitp bmRleCBjZjdmM2VjLi5lMDZhNWNlIDEwMDY0NAorLS0tIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS92OC9zcmMvYmFzZS9wbGF0Zm9ybS9wbGF0Zm9ybS1wb3NpeC5jYworKysrIHF0 d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS92OC9zcmMvYmFzZS9wbGF0Zm9ybS9wbGF0 Zm9ybS1wb3NpeC5jYworQEAgLTc2MSw3ICs3NjEsNyBAQCB2b2lkIFRocmVhZDo6U3RhcnQoKSB7 CisgI2lmIFY4X09TX01BQ09TWAorICAgICAvLyBEZWZhdWx0IG9uIE1hYyBPUyBYIGlzIDUxMmtC IC0tIGJ1bXAgdXAgdG8gMU1CCisgICAgIHN0YWNrX3NpemUgPSAxICogMTAyNCAqIDEwMjQ7Cist I2VsaWYgVjhfT1NfQUlYCisrI2VsaWYgVjhfT1NfQUlYIHx8ICFkZWZpbmVkKF9fR0xJQkNfXykK KyAgICAgLy8gRGVmYXVsdCBvbiBBSVggaXMgOTZrQiAtLSBidW1wIHVwIHRvIDJNQgorICAgICBz dGFja19zaXplID0gMiAqIDEwMjQgKiAxMDI0OworICNlbmRpZgpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9xdDUvcGF0Y2hlcy9xdHdlYmVuZ2luZS1jaHJvbWl1bS1wcGM2NC5wYXRjaCBiL3NyY3BrZ3Mv cXQ1L3BhdGNoZXMvcXR3ZWJlbmdpbmUtY2hyb21pdW0tcHBjNjQucGF0Y2gKZGVsZXRlZCBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAyNjZiYjhlYmIxLi4wMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dz L3F0NS9wYXRjaGVzL3F0d2ViZW5naW5lLWNocm9taXVtLXBwYzY0LnBhdGNoCisrKyAvZGV2L251 bGwKQEAgLTEsMjExMiArMCwwIEBACi1UaGlzIHBhdGNoZXMgdGhlIGJ1bmRsZWQgQ2hyb21pdW0g ZW5vdWdoIHRvIGFsbG93IGl0IHRvIGJ1aWxkIGFuZCB3b3JrIG9uCi1saXR0bGUgZW5kaWFuIHBw YzY0LiBUaGUgcGF0Y2hzZXQgaXMgcmViYXNlZCByZWd1bGFybHkgb24gdG9wIG9mIGxhdGVzdAot Q2hyb21pdW0gY29kZWJhc2UsIHNvIHRoZXJlIHNob3VsZCBiZSBubyBwcm9ibGVtIGtlZXBpbmcg aXQgdXAgdG8gZGF0ZS4KLQotUGluZyBxNjYgaWYgeW91J3JlIHVwZGF0aW5nIHF0NSBhbmQgdGhl IHBhdGNoIGRvZXMgbm90IGFwcGx5IGFueW1vcmUuCi0KLVNvdXJjZTogaHR0cHM6Ly93aWtpLnJh cHRvcmNzLmNvbS93L2luZGV4LnBocD90aXRsZT1Qb3J0aW5nL0Nocm9taXVtCi1VcHN0cmVhbTog Q2hyb21pdW0gZG9lcyBub3QgYWNjZXB0IGFkZGl0aW9uYWwgcGxhdGZvcm0gc3VwcG9ydCwgZG93 bnN0cmVhbQotICAgICAgICAgIHBhdGNoaW5nIG5lY2Vzc2FyeQotCi1kaWZmIC0tZ2l0IHF0d2Vi ZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9iYXNlL2FsbG9jYXRvci9wYXJ0aXRpb25fYWxs b2NhdG9yL3BhZ2VfYWxsb2NhdG9yLmggcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVt L2Jhc2UvYWxsb2NhdG9yL3BhcnRpdGlvbl9hbGxvY2F0b3IvcGFnZV9hbGxvY2F0b3IuaAotaW5k ZXggYTM5YjRlMzAxLi41ZTYyZTdhMjMgMTAwNjQ0Ci0tLS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBh cnR5L2Nocm9taXVtL2Jhc2UvYWxsb2NhdG9yL3BhcnRpdGlvbl9hbGxvY2F0b3IvcGFnZV9hbGxv Y2F0b3IuaAotKysrIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9iYXNlL2FsbG9j YXRvci9wYXJ0aXRpb25fYWxsb2NhdG9yL3BhZ2VfYWxsb2NhdG9yLmgKLUBAIC0xNSw3ICsxNSw3 IEBACi0gCi0gbmFtZXNwYWNlIGJhc2UgewotIAotLSNpZiBkZWZpbmVkKE9TX1dJTikKLSsjaWYg ZGVmaW5lZChPU19XSU4pIHx8IGRlZmluZWQoQVJDSF9DUFVfUFBDNjQpCi0gc3RhdGljIGNvbnN0 IHNpemVfdCBrUGFnZUFsbG9jYXRpb25HcmFudWxhcml0eVNoaWZ0ID0gMTY7ICAvLyA2NEtCCi0g I2VsaWYgZGVmaW5lZChfTUlQU19BUkNIX0xPT05HU09OKQotIHN0YXRpYyBjb25zdCBzaXplX3Qg a1BhZ2VBbGxvY2F0aW9uR3JhbnVsYXJpdHlTaGlmdCA9IDE0OyAgLy8gMTZLQgotQEAgLTMxLDYg KzMxLDEwIEBAIHN0YXRpYyBjb25zdCBzaXplX3Qga1BhZ2VBbGxvY2F0aW9uR3JhbnVsYXJpdHlC YXNlTWFzayA9Ci0gCi0gI2lmIGRlZmluZWQoX01JUFNfQVJDSF9MT09OR1NPTikKLSBzdGF0aWMg Y29uc3Qgc2l6ZV90IGtTeXN0ZW1QYWdlU2l6ZSA9IDE2Mzg0OwotKyNlbGlmIGRlZmluZWQoQVJD SF9DUFVfUFBDNjQpCi0rLy8gVE9ETzogbW9kZXJuIHBwYzY0IGNhbiBkbyA0ayBhbmQgNjRrIHBh Z2Ugc2l6ZXMKLSsvLyBmb3Igbm93LCA2NGsgaXMgYXNzdW1lZAotK3N0YXRpYyBjb25zdGV4cHIg c2l6ZV90IGtTeXN0ZW1QYWdlU2l6ZSA9IDY1NTM2OwotICNlbHNlCi0gc3RhdGljIGNvbnN0IHNp emVfdCBrU3lzdGVtUGFnZVNpemUgPSA0MDk2OwotICNlbmRpZgotZGlmZiAtLWdpdCBxdHdlYmVu Z2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vYmFzZS9hbGxvY2F0b3IvcGFydGl0aW9uX2FsbG9j YXRvci9wYXJ0aXRpb25fYWxsb2MuaCBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0v YmFzZS9hbGxvY2F0b3IvcGFydGl0aW9uX2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2MuaAotaW5k ZXggNmU1MTQzYjA5Li43NGM3Y2Y4OGYgMTAwNjQ0Ci0tLS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBh cnR5L2Nocm9taXVtL2Jhc2UvYWxsb2NhdG9yL3BhcnRpdGlvbl9hbGxvY2F0b3IvcGFydGl0aW9u X2FsbG9jLmgKLSsrKyBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vYmFzZS9hbGxv Y2F0b3IvcGFydGl0aW9uX2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2MuaAotQEAgLTk5LDYgKzk5 LDggQEAgc3RhdGljIGNvbnN0IHNpemVfdCBrQnVja2V0U2hpZnQgPSAoa0FsbG9jYXRpb25HcmFu dWxhcml0eSA9PSA4KSA/IDMgOiAyOwotIC8vIHVwIGFnYWluc3QgdGhlIGVuZCBvZiBhIHN5c3Rl bSBwYWdlLgotICNpZiBkZWZpbmVkKF9NSVBTX0FSQ0hfTE9PTkdTT04pCi0gc3RhdGljIGNvbnN0 IHNpemVfdCBrUGFydGl0aW9uUGFnZVNoaWZ0ID0gMTY7ICAvLyA2NEtCCi0rI2VsaWYgZGVmaW5l ZChBUkNIX0NQVV9QUEM2NCkKLStzdGF0aWMgY29uc3Qgc2l6ZV90IGtQYXJ0aXRpb25QYWdlU2hp ZnQgPSAxODsgIC8vIDI1NiBLaUIKLSAjZWxzZQotIHN0YXRpYyBjb25zdCBzaXplX3Qga1BhcnRp dGlvblBhZ2VTaGlmdCA9IDE0OyAgLy8gMTZLQgotICNlbmRpZgotZGlmZiAtLWdpdCBxdHdlYmVu Z2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vY29tcG9uZW50cy91cGRhdGVfY2xpZW50L3VwZGF0 ZV9xdWVyeV9wYXJhbXMuY2MgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2NvbXBv bmVudHMvdXBkYXRlX2NsaWVudC91cGRhdGVfcXVlcnlfcGFyYW1zLmNjCi1pbmRleCAyNzIwMTZj NzYuLjRiMDJkM2NlNSAxMDA2NDQKLS0tLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21p dW0vY29tcG9uZW50cy91cGRhdGVfY2xpZW50L3VwZGF0ZV9xdWVyeV9wYXJhbXMuY2MKLSsrKyBx dHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vY29tcG9uZW50cy91cGRhdGVfY2xpZW50 L3VwZGF0ZV9xdWVyeV9wYXJhbXMuY2MKLUBAIC01NSw2ICs1NSw4IEBAIGNvbnN0IGNoYXIga0Fy Y2hbXSA9Ci0gICAgICJtaXBzNjRlbCI7Ci0gI2VsaWYgZGVmaW5lZChfX21pcHNfXykKLSAgICAg Im1pcHNlbCI7Ci0rI2VsaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotKyAgICAicHBjNjQiOwot ICNlbHNlCi0gI2Vycm9yICJ1bmtub3duIGFyY2giCi0gI2VuZGlmCi1AQCAtMTI3LDYgKzEyOSw4 IEBAIGNvbnN0IGNoYXIqIFVwZGF0ZVF1ZXJ5UGFyYW1zOjpHZXROYWNsQXJjaCgpIHsKLSAgIHJl dHVybiAibWlwczMyIjsKLSAjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX01JUFM2NEVMKQotICAgcmV0 dXJuICJtaXBzNjQiOwotKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUFBDNjQpCi0rICByZXR1cm4g InBwYzY0IjsKLSAjZWxzZQotIC8vIE5PVEU6IHdoZW4gYWRkaW5nIG5ldyB2YWx1ZXMgaGVyZSwg cGxlYXNlIHJlbWVtYmVyIHRvIHVwZGF0ZSB0aGUKLSAvLyBjb21tZW50IGluIHRoZSAuaCBmaWxl IGFib3V0IHBvc3NpYmxlIHJldHVybiB2YWx1ZXMgZnJvbSB0aGlzIGZ1bmN0aW9uLgotZGlmZiAt LWdpdCBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vY29tcG9uZW50cy91cGRhdGVf Y2xpZW50L3VwZGF0ZV9xdWVyeV9wYXJhbXMuaCBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hy b21pdW0vY29tcG9uZW50cy91cGRhdGVfY2xpZW50L3VwZGF0ZV9xdWVyeV9wYXJhbXMuaAotaW5k ZXggYTM1ZTRjMzc3Li5lMzE1ZTE0NGMgMTAwNjQ0Ci0tLS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBh cnR5L2Nocm9taXVtL2NvbXBvbmVudHMvdXBkYXRlX2NsaWVudC91cGRhdGVfcXVlcnlfcGFyYW1z LmgKLSsrKyBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vY29tcG9uZW50cy91cGRh dGVfY2xpZW50L3VwZGF0ZV9xdWVyeV9wYXJhbXMuaAotQEAgLTQ1LDcgKzQ1LDcgQEAgY2xhc3Mg VXBkYXRlUXVlcnlQYXJhbXMgewotICAgLy8gUmV0dXJucyB0aGUgdmFsdWUgd2UgdXNlIGZvciB0 aGUgIm5hY2xfYXJjaCIgcGFyYW1ldGVyLiBOb3RlIHRoYXQgdGhpcyBtYXkKLSAgIC8vIGJlIGRp ZmZlcmVudCBmcm9tIHRoZSAiYXJjaCIgcGFyYW1ldGVyIGFib3ZlIChlLmcuIG9uZSBtYXkgYmUg MzItYml0IGFuZAotICAgLy8gdGhlIG90aGVyIDY0LWJpdCkuIFBvc3NpYmxlIHJldHVybiB2YWx1 ZXMgaW5jbHVkZTogIng4Ni0zMiIsICJ4ODYtNjQiLAotLSAgLy8gImFybSIsIGFuZCAibWlwczMy Ii4KLSsgIC8vICJhcm0iLCAibWlwczMyIiwgYW5kICJwcGM2NCIuCi0gICBzdGF0aWMgY29uc3Qg Y2hhciogR2V0TmFjbEFyY2goKTsKLSAKLSAgIC8vIFJldHVybnMgdGhlIGN1cnJlbnQgdmVyc2lv biBvZiBDaHJvbWUvQ2hyb21pdW0uCi1kaWZmIC0tZ2l0IHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS9zYW5kYm94L2ZlYXR1cmVzLmduaSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkv Y2hyb21pdW0vc2FuZGJveC9mZWF0dXJlcy5nbmkKLWluZGV4IDg5NjkzYzU0Yy4uNjAxN2M3ZWVh IDEwMDY0NAotLS0tIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2Zl YXR1cmVzLmduaQotKysrIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94 L2ZlYXR1cmVzLmduaQotQEAgLTEyLDYgKzEyLDYgQEAgdXNlX3NlY2NvbXBfYnBmID0KLSAgICAg KGlzX2xpbnV4IHx8IGlzX2FuZHJvaWQpICYmCi0gICAgIChjdXJyZW50X2NwdSA9PSAieDg2IiB8 fCBjdXJyZW50X2NwdSA9PSAieDY0IiB8fCBjdXJyZW50X2NwdSA9PSAiYXJtIiB8fAotICAgICAg Y3VycmVudF9jcHUgPT0gImFybTY0IiB8fCBjdXJyZW50X2NwdSA9PSAibWlwc2VsIiB8fAotLSAg ICAgY3VycmVudF9jcHUgPT0gIm1pcHM2NGVsIikKLSsgICAgIGN1cnJlbnRfY3B1ID09ICJtaXBz NjRlbCIgfHwgY3VycmVudF9jcHUgPT0gInBwYzY0IikKLSAKLSB1c2Vfc2VjY29tcF9icGYgPSB1 c2Vfc2VjY29tcF9icGYgfHwgaXNfbmFjbF9ub25zZmkKLWRpZmYgLS1naXQgcXR3ZWJlbmdpbmUv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvQlVJTEQuZ24gcXR3ZWJlbmdpbmUv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvQlVJTEQuZ24KLWluZGV4IDlkNDcy NmY4OS4uOTM0OGY2NDYxIDEwMDY0NAotLS0tIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS9zYW5kYm94L2xpbnV4L0JVSUxELmduCi0rKysgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5 L2Nocm9taXVtL3NhbmRib3gvbGludXgvQlVJTEQuZ24KLUBAIC00MjMsNiArNDIzLDggQEAgY29t cG9uZW50KCJzYW5kYm94X3NlcnZpY2VzIikgewotIAotIHNvdXJjZV9zZXQoInNhbmRib3hfc2Vy dmljZXNfaGVhZGVycyIpIHsKLSAgIHNvdXJjZXMgPSBbCi0rICAgICJzeXN0ZW1faGVhZGVycy9w cGM2NF9saW51eF9zeXNjYWxscy5oIiwKLSsgICAgInN5c3RlbV9oZWFkZXJzL3BwYzY0X2xpbnV4 X3Vjb250ZXh0LmgiLAotICAgICAic3lzdGVtX2hlYWRlcnMvYXJtNjRfbGludXhfc3lzY2FsbHMu aCIsCi0gICAgICJzeXN0ZW1faGVhZGVycy9hcm02NF9saW51eF91Y29udGV4dC5oIiwKLSAgICAg InN5c3RlbV9oZWFkZXJzL2FybV9saW51eF9zeXNjYWxscy5oIiwKLWRpZmYgLS1naXQgcXR3ZWJl bmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvYnBmX2RzbC9saW51eF9z eXNjYWxsX3Jhbmdlcy5oIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94 L2xpbnV4L2JwZl9kc2wvbGludXhfc3lzY2FsbF9yYW5nZXMuaAotaW5kZXggMzM0YTAwYmI5Li4y NzJkNjViMmEgMTAwNjQ0Ci0tLS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Nh bmRib3gvbGludXgvYnBmX2RzbC9saW51eF9zeXNjYWxsX3Jhbmdlcy5oCi0rKysgcXR3ZWJlbmdp bmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvYnBmX2RzbC9saW51eF9zeXNj YWxsX3Jhbmdlcy5oCi1AQCAtNTMsNiArNTMsMTMgQEAKLSAjZGVmaW5lIE1BWF9QVUJMSUNfU1lT Q0FMTCAyNzl1Ci0gI2RlZmluZSBNQVhfU1lTQ0FMTCBNQVhfUFVCTElDX1NZU0NBTEwKLSAKLSsj ZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0rCi0rI2luY2x1ZGUgPGFzbS91bmlzdGQuaD4K LSsjZGVmaW5lIE1JTl9TWVNDQUxMIDB1Ci0rI2RlZmluZSBNQVhfUFVCTElDX1NZU0NBTEwgMzg2 dQotKyNkZWZpbmUgTUFYX1NZU0NBTEwgTUFYX1BVQkxJQ19TWVNDQUxMCi0rCi0gI2Vsc2UKLSAj ZXJyb3IgIlVuc3VwcG9ydGVkIGFyY2hpdGVjdHVyZSIKLSAjZW5kaWYKLWRpZmYgLS1naXQgcXR3 ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvYnBmX2RzbC9zZWNj b21wX21hY3Jvcy5oIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xp bnV4L2JwZl9kc2wvc2VjY29tcF9tYWNyb3MuaAotaW5kZXggZTRlODE0MmM0Li42YTkyNmY5MDQg MTAwNjQ0Ci0tLS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGlu dXgvYnBmX2RzbC9zZWNjb21wX21hY3Jvcy5oCi0rKysgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5 L2Nocm9taXVtL3NhbmRib3gvbGludXgvYnBmX2RzbC9zZWNjb21wX21hY3Jvcy5oCi1AQCAtMTYs NiArMTYsOSBAQAotICNpZiBkZWZpbmVkKF9fbWlwc19fKQotIC8vIHN5cy91c2VyLmggaW4gZWds aWJjIG1pc3NlcyBzaXplX3QgZGVmaW5pdGlvbgotICNpbmNsdWRlIDxzdGRkZWYuaD4KLSsjZWxp ZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0rLy8gTWFudWFsbHkgZGVmaW5lIGdyZWdfdCBvbiBw cGM2NAotK3R5cGVkZWYgdW5zaWduZWQgbG9uZyBsb25nIGdyZWdfdDsKLSAjZW5kaWYKLSAjZW5k aWYKLSAKLUBAIC0zNDUsNiArMzQ4LDUxIEBAIHN0cnVjdCByZWdzX3N0cnVjdCB7Ci0gI2RlZmlu ZSBTRUNDT01QX1BUX1BBUk00KF9yZWdzKSAoX3JlZ3MpLnJlZ3NbM10KLSAjZGVmaW5lIFNFQ0NP TVBfUFRfUEFSTTUoX3JlZ3MpIChfcmVncykucmVnc1s0XQotICNkZWZpbmUgU0VDQ09NUF9QVF9Q QVJNNihfcmVncykgKF9yZWdzKS5yZWdzWzVdCi0rCi0rI2VsaWYgZGVmaW5lZChfX3Bvd2VycGM2 NF9fKQotKyNpbmNsdWRlIDxhc20vcHRyYWNlLmg+Ci0rCi0rdHlwZWRlZiBzdHJ1Y3QgcHRfcmVn cyByZWdzX3N0cnVjdDsKLSsKLSsjaWZkZWYgQVJDSF9DUFVfTElUVExFX0VORElBTgotKyNkZWZp bmUgU0VDQ09NUF9BUkNIIEFVRElUX0FSQ0hfUFBDNjRMRQotKyNlbHNlCi0rI2RlZmluZSBTRUND T01QX0FSQ0ggQVVESVRfQVJDSF9QUEM2NAotKyNlbmRpZgotKwotKyNkZWZpbmUgU0VDQ09NUF9S RUcoX2N0eCwgX3JlZykgKChfY3R4KS0+dWNfbWNvbnRleHQucmVncy0+Z3ByW19yZWddKQotKwot KyNkZWZpbmUgU0VDQ09NUF9SRVNVTFQoX2N0eCkgU0VDQ09NUF9SRUcoX2N0eCwgMykKLSsjZGVm aW5lIFNFQ0NPTVBfU1lTQ0FMTChfY3R4KSBTRUNDT01QX1JFRyhfY3R4LCAwKQotKyNkZWZpbmUg U0VDQ09NUF9JUChfY3R4KSAoX2N0eCktPnVjX21jb250ZXh0LnJlZ3MtPm5pcAotKyNkZWZpbmUg U0VDQ09NUF9QQVJNMShfY3R4KSBTRUNDT01QX1JFRyhfY3R4LCAzKQotKyNkZWZpbmUgU0VDQ09N UF9QQVJNMihfY3R4KSBTRUNDT01QX1JFRyhfY3R4LCA0KQotKyNkZWZpbmUgU0VDQ09NUF9QQVJN MyhfY3R4KSBTRUNDT01QX1JFRyhfY3R4LCA1KQotKyNkZWZpbmUgU0VDQ09NUF9QQVJNNChfY3R4 KSBTRUNDT01QX1JFRyhfY3R4LCA2KQotKyNkZWZpbmUgU0VDQ09NUF9QQVJNNShfY3R4KSBTRUND T01QX1JFRyhfY3R4LCA3KQotKyNkZWZpbmUgU0VDQ09NUF9QQVJNNihfY3R4KSBTRUNDT01QX1JF RyhfY3R4LCA4KQotKwotKyNkZWZpbmUgU0VDQ09NUF9OUl9JRFggKG9mZnNldG9mKHN0cnVjdCBh cmNoX3NlY2NvbXBfZGF0YSwgbnIpKQotKyNkZWZpbmUgU0VDQ09NUF9BUkNIX0lEWCAob2Zmc2V0 b2Yoc3RydWN0IGFyY2hfc2VjY29tcF9kYXRhLCBhcmNoKSkKLSsjZGVmaW5lIFNFQ0NPTVBfSVBf TVNCX0lEWCBcCi0rICAob2Zmc2V0b2Yoc3RydWN0IGFyY2hfc2VjY29tcF9kYXRhLCBpbnN0cnVj dGlvbl9wb2ludGVyKSArIDQpCi0rI2RlZmluZSBTRUNDT01QX0lQX0xTQl9JRFggXAotKyAgKG9m ZnNldG9mKHN0cnVjdCBhcmNoX3NlY2NvbXBfZGF0YSwgaW5zdHJ1Y3Rpb25fcG9pbnRlcikgKyAw KQotKyNkZWZpbmUgU0VDQ09NUF9BUkdfTVNCX0lEWChucikgXAotKyAgKG9mZnNldG9mKHN0cnVj dCBhcmNoX3NlY2NvbXBfZGF0YSwgYXJncykgKyA4ICogKG5yKSArIDQpCi0rI2RlZmluZSBTRUND T01QX0FSR19MU0JfSURYKG5yKSBcCi0rICAob2Zmc2V0b2Yoc3RydWN0IGFyY2hfc2VjY29tcF9k YXRhLCBhcmdzKSArIDggKiAobnIpICsgMCkKLSsKLSsjZGVmaW5lIFNFQ0NPTVBfUFRfUkVTVUxU KF9yZWdzKSAoX3JlZ3MpLmdwclszXQotKyNkZWZpbmUgU0VDQ09NUF9QVF9TWVNDQUxMKF9yZWdz KSAoX3JlZ3MpLmdwclswXQotKyNkZWZpbmUgU0VDQ09NUF9QVF9JUChfcmVncykgKF9yZWdzKS5u aXAKLSsjZGVmaW5lIFNFQ0NPTVBfUFRfUEFSTTEoX3JlZ3MpIChfcmVncykuZ3ByWzNdCi0rI2Rl ZmluZSBTRUNDT01QX1BUX1BBUk0yKF9yZWdzKSAoX3JlZ3MpLmdwcls0XQotKyNkZWZpbmUgU0VD Q09NUF9QVF9QQVJNMyhfcmVncykgKF9yZWdzKS5ncHJbNV0KLSsjZGVmaW5lIFNFQ0NPTVBfUFRf UEFSTTQoX3JlZ3MpIChfcmVncykuZ3ByWzZdCi0rI2RlZmluZSBTRUNDT01QX1BUX1BBUk01KF9y ZWdzKSAoX3JlZ3MpLmdwcls3XQotKyNkZWZpbmUgU0VDQ09NUF9QVF9QQVJNNihfcmVncykgKF9y ZWdzKS5ncHJbOF0KLSsKLSAjZWxzZQotICNlcnJvciBVbnN1cHBvcnRlZCB0YXJnZXQgcGxhdGZv cm0KLSAKLWRpZmYgLS1naXQgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRi b3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9iYXNlbGluZV9wb2xpY3kuY2MgcXR3ZWJlbmdp bmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVy cy9iYXNlbGluZV9wb2xpY3kuY2MKLWluZGV4IDZhYWIzN2E4OC4uMGE0ZDQ5NzI5IDEwMDY0NAot LS0tIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3NlY2Nv bXAtYnBmLWhlbHBlcnMvYmFzZWxpbmVfcG9saWN5LmNjCi0rKysgcXR3ZWJlbmdpbmUvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9iYXNlbGlu ZV9wb2xpY3kuY2MKLUBAIC04Niw3ICs4Niw3IEBAIGJvb2wgSXNCYXNlbGluZVBvbGljeVdhdGNo ZWQoaW50IHN5c25vKSB7Ci0gICAgICAgICAgU3lzY2FsbFNldHM6OklzTnVtYShzeXNubykgfHwK LSAgICAgICAgICBTeXNjYWxsU2V0czo6SXNQcmN0bChzeXNubykgfHwKLSAgICAgICAgICBTeXNj YWxsU2V0czo6SXNQcm9jZXNzR3JvdXBPclNlc3Npb24oc3lzbm8pIHx8Ci0tI2lmIGRlZmluZWQo X19pMzg2X18pIHx8IGRlZmluZWQoX19taXBzMzJfXykKLSsjaWYgZGVmaW5lZChfX2kzODZfXykg fHwgZGVmaW5lZChfX21pcHMzMl9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gICAgICAg ICAgU3lzY2FsbFNldHM6OklzU29ja2V0Q2FsbChzeXNubykgfHwKLSAjZW5kaWYKLSAjaWYgZGVm aW5lZChfX2FybV9fKQotQEAgLTE4Niw3ICsxODYsNyBAQCBSZXN1bHRFeHByIEV2YWx1YXRlU3lz Y2FsbEltcGwoaW50IGZzX2RlbmllZF9lcnJubywKLSAgIH0KLSAKLSAjaWYgZGVmaW5lZChfX2kz ODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBcCi0t ICAgIGRlZmluZWQoX19hYXJjaDY0X18pCi0rICAgIGRlZmluZWQoX19hYXJjaDY0X18pIHx8IGRl ZmluZWQoX19wb3dlcnBjNjRfXykKLSAgIGlmIChzeXNubyA9PSBfX05SX21tYXApCi0gICAgIHJl dHVybiBSZXN0cmljdE1tYXBGbGFncygpOwotICNlbmRpZgotQEAgLTIwMyw3ICsyMDMsNyBAQCBS ZXN1bHRFeHByIEV2YWx1YXRlU3lzY2FsbEltcGwoaW50IGZzX2RlbmllZF9lcnJubywKLSAgICAg cmV0dXJuIFJlc3RyaWN0UHJjdGwoKTsKLSAKLSAjaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBk ZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwKLS0gICAgZGVmaW5lZChf X2FhcmNoNjRfXykKLSsgICAgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX3Bvd2Vy cGM2NF9fKQotICAgaWYgKHN5c25vID09IF9fTlJfc29ja2V0cGFpcikgewotICAgICAvLyBPbmx5 IGFsbG93IEFGX1VOSVgsIFBGX1VOSVguIENyYXNoIGlmIGFueXRoaW5nIGVsc2UgaXMgc2Vlbi4K LSAgICAgc3RhdGljX2Fzc2VydChBRl9VTklYID09IFBGX1VOSVgsCi1AQCAtMjQxLDcgKzI0MSw3 IEBAIFJlc3VsdEV4cHIgRXZhbHVhdGVTeXNjYWxsSW1wbChpbnQgZnNfZGVuaWVkX2Vycm5vLAot ICAgICByZXR1cm4gRXJyb3IoRVBFUk0pOwotICAgfQotIAotLSNpZiBkZWZpbmVkKF9faTM4Nl9f KSB8fCBkZWZpbmVkKF9fbWlwczMyX18pCi0rI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmlu ZWQoX19taXBzMzJfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotICAgaWYgKFN5c2NhbGxT ZXRzOjpJc1NvY2tldENhbGwoc3lzbm8pKQotICAgICByZXR1cm4gUmVzdHJpY3RTb2NrZXRjYWxs Q29tbWFuZCgpOwotICNlbmRpZgotZGlmZiAtLWdpdCBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkv Y2hyb21pdW0vc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfcGFyYW1l dGVyc19yZXN0cmljdGlvbnMuY2MgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Nh bmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3BhcmFtZXRlcnNfcmVzdHJp Y3Rpb25zLmNjCi1pbmRleCAxNTVlNTJlOWIuLjU5NWMyNzM3NyAxMDA2NDQKLS0tLSBxdHdlYmVu Z2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxw ZXJzL3N5c2NhbGxfcGFyYW1ldGVyc19yZXN0cmljdGlvbnMuY2MKLSsrKyBxdHdlYmVuZ2luZS9z cmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5 c2NhbGxfcGFyYW1ldGVyc19yZXN0cmljdGlvbnMuY2MKLUBAIC0zNiw2ICszNiwxMSBAQAotICNp bmNsdWRlIDxzeXMvaW9jdGwuaD4KLSAjZW5kaWYKLSAKLSsvLyBPbiBQUEM2NCwgVENHRVRTIGlz IGRlZmluZWQgaW4gdGVybXMgb2Ygc3RydWN0IHRlcm1pb3MsIHNvIHdlIG11c3QgaW5jbHVkZSB0 ZXJtaW9zLmgKLSsjaWZkZWYgX19wb3dlcnBjNjRfXwotKyNpbmNsdWRlIDx0ZXJtaW9zLmg+Ci0r I2VuZGlmCi0rCi0gI2lmIGRlZmluZWQoT1NfQU5EUk9JRCkKLSAKLSAjaWYgIWRlZmluZWQoRl9E VVBGRF9DTE9FWEVDKQotQEAgLTk4LDYgKzEwMywxNSBAQCBpbmxpbmUgYm9vbCBJc0FyY2hpdGVj dHVyZU1pcHMoKSB7Ci0gI2VuZGlmCi0gfQotIAotK2lubGluZSBib29sIElzQXJjaGl0ZWN0dXJl UFBDNjQoKSB7Ci0rI2lmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSsgIHJldHVybiB0cnVlOwot KyNlbHNlCi0rICByZXR1cm4gZmFsc2U7Ci0rI2VuZGlmCi0rfQotKwotKwotIC8vIFVidW50dSdz IHZlcnNpb24gb2YgZ2xpYmMgaGFzIGEgcmFjZSBjb25kaXRpb24gaW4gc2VtX3Bvc3QgdGhhdCBj YW4gY2F1c2UKLSAvLyBpdCB0byBjYWxsIGZ1dGV4KDIpIHdpdGggYm9ndXMgb3AgYXJndW1lbnRz LiBUbyB3b3JrYXJvdW5kIHRoaXMsIHdlIG5lZWQKLSAvLyB0byBhbGxvdyB0aG9zZSBmdXRleCgy KSBjYWxscyB0byBmYWlsIHdpdGggRUlOVkFMLCBpbnN0ZWFkIG9mIGNyYXNoaW5nIHRoZQotQEAg LTIzOSw3ICsyNTMsOCBAQCBSZXN1bHRFeHByIFJlc3RyaWN0RmNudGxDb21tYW5kcygpIHsKLSAg IC8vIG9wZXJhdG9yLgotICAgLy8gR2xpYmMgb3ZlcnJpZGVzIHRoZSBrZXJuZWwncyBPX0xBUkdF RklMRSB2YWx1ZS4gQWNjb3VudCBmb3IgdGhpcy4KLSAgIHVpbnQ2NF90IGtPTGFyZ2VGaWxlRmxh ZyA9IE9fTEFSR0VGSUxFOwotLSAgaWYgKElzQXJjaGl0ZWN0dXJlWDg2XzY0KCkgfHwgSXNBcmNo aXRlY3R1cmVJMzg2KCkgfHwgSXNBcmNoaXRlY3R1cmVNaXBzKCkpCi0rICBpZiAoSXNBcmNoaXRl Y3R1cmVYODZfNjQoKSB8fCBJc0FyY2hpdGVjdHVyZUkzODYoKSB8fCBJc0FyY2hpdGVjdHVyZU1p cHMoKSBcCi0rICAgICAgfHwgSXNBcmNoaXRlY3R1cmVQUEM2NCgpKQotICAgICBrT0xhcmdlRmls ZUZsYWcgPSAwMTAwMDAwOwotIAotICAgY29uc3QgQXJnPGludD4gY21kKDEpOwotQEAgLTI2Miw3 ICsyNzcsNyBAQCBSZXN1bHRFeHByIFJlc3RyaWN0RmNudGxDb21tYW5kcygpIHsKLSAgICAgICAu RGVmYXVsdChDcmFzaFNJR1NZUygpKTsKLSB9Ci0gCi0tI2lmIGRlZmluZWQoX19pMzg2X18pIHx8 IGRlZmluZWQoX19taXBzX18pCi0rI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19t aXBzX18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSBSZXN1bHRFeHByIFJlc3RyaWN0U29j a2V0Y2FsbENvbW1hbmQoKSB7Ci0gICAvLyBVbmZvcnR1bmF0ZWx5LCB3ZSBhcmUgdW5hYmxlIHRv IHJlc3RyaWN0IHRoZSBmaXJzdCBwYXJhbWV0ZXIgdG8KLSAgIC8vIHNvY2tldHBhaXIoMikuIFdo aWxzdCBpbml0aWFsbHkgc291bmRpbmcgYmFkLCBpdCdzIG5vdGV3b3J0aHkgdGhhdCB2ZXJ5Ci1k aWZmIC0tZ2l0IHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4 L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9wYXJhbWV0ZXJzX3Jlc3RyaWN0aW9ucy5oIHF0 d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBm LWhlbHBlcnMvc3lzY2FsbF9wYXJhbWV0ZXJzX3Jlc3RyaWN0aW9ucy5oCi1pbmRleCA3MWM1NjA5 M2QuLmY4YjljMGM2YiAxMDA2NDQKLS0tLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21p dW0vc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfcGFyYW1ldGVyc19y ZXN0cmljdGlvbnMuaAotKysrIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5k Ym94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9wYXJhbWV0ZXJzX3Jlc3RyaWN0 aW9ucy5oCi1AQCAtNDgsNyArNDgsNyBAQCBTQU5EQk9YX0VYUE9SVCBicGZfZHNsOjpSZXN1bHRF eHByIFJlc3RyaWN0TXByb3RlY3RGbGFncygpOwotIC8vIE9fTk9OQkxPQ0sgfCBPX1NZTkMgfCBP X0xBUkdFRklMRSB8IE9fQ0xPRVhFQyB8IE9fTk9BVElNRS4KLSBTQU5EQk9YX0VYUE9SVCBicGZf ZHNsOjpSZXN1bHRFeHByIFJlc3RyaWN0RmNudGxDb21tYW5kcygpOwotIAotLSNpZiBkZWZpbmVk KF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKQotKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8 fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gLy8gUmVzdHJp Y3Qgc29ja2V0Y2FsbCgyKSB0byBvbmx5IGFsbG93IHNvY2tldHBhaXIoMiksIHNlbmQoMiksIHJl Y3YoMiksCi0gLy8gc2VuZHRvKDIpLCByZWN2ZnJvbSgyKSwgc2h1dGRvd24oMiksIHNlbmRtc2co MikgYW5kIHJlY3Ztc2coMikuCi0gU0FOREJPWF9FWFBPUlQgYnBmX2RzbDo6UmVzdWx0RXhwciBS ZXN0cmljdFNvY2tldGNhbGxDb21tYW5kKCk7Ci1kaWZmIC0tZ2l0IHF0d2ViZW5naW5lL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2Fs bF9zZXRzLmNjIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4 L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9zZXRzLmNjCi1pbmRleCA2MjU5NjM5YzkuLmYy ZjUxMWQ3MCAxMDA2NDQKLS0tLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2Fu ZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfc2V0cy5jYwotKysrIHF0d2Vi ZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhl bHBlcnMvc3lzY2FsbF9zZXRzLmNjCi1AQCAtMjgsNyArMjgsOCBAQCBib29sIFN5c2NhbGxTZXRz OjpJc0tpbGwoaW50IHN5c25vKSB7Ci0gYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkR2V0dGlt ZShpbnQgc3lzbm8pIHsKLSAgIHN3aXRjaCAoc3lzbm8pIHsKLSAgICAgY2FzZSBfX05SX2dldHRp bWVvZmRheToKLS0jaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8 fCBkZWZpbmVkKF9fbWlwczMyX18pCi0rI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQo X194ODZfNjRfXykgfHwgZGVmaW5lZChfX21pcHMzMl9fKSB8fCBcCi0rICAgIGRlZmluZWQoX19w b3dlcnBjNjRfXykKLSAgICAgY2FzZSBfX05SX3RpbWU6Ci0gI2VuZGlmCi0gICAgICAgcmV0dXJu IHRydWU7Ci1AQCAtNDIsNyArNDMsNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRHZXR0 aW1lKGludCBzeXNubykgewotICAgICBjYXNlIF9fTlJfZnRpbWU6ICAvLyBPYnNvbGV0ZS4KLSAj ZW5kaWYKLSAgICAgY2FzZSBfX05SX3NldHRpbWVvZmRheTogIC8vIFByaXZpbGVnZWQuCi0tI2lm IGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19taXBzMzJfXykKLSsjaWYgZGVmaW5lZChf X2kzODZfXykgfHwgZGVmaW5lZChfX21pcHMzMl9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18p Ci0gICAgIGNhc2UgX19OUl9zdGltZToKLSAjZW5kaWYKLSAgICAgZGVmYXVsdDoKLUBAIC0xMDgs NyArMTA5LDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNGaWxlU3lzdGVtKGludCBzeXNubykgewot ICAgICBjYXNlIF9fTlJfZmFjY2Vzc2F0OiAgLy8gRVBFUk0gbm90IGEgdmFsaWQgZXJybm8uCi0g ICAgIGNhc2UgX19OUl9mY2htb2RhdDoKLSAgICAgY2FzZSBfX05SX2ZjaG93bmF0OiAgLy8gU2hv dWxkIGJlIGNhbGxlZCBjaG93bmF0ID8KLS0jaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZp bmVkKF9fYWFyY2g2NF9fKQotKyNpZiBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19h YXJjaDY0X18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSAgICAgY2FzZSBfX05SX25ld2Zz dGF0YXQ6ICAvLyBmc3RhdGF0KCkuIEVQRVJNIG5vdCBhIHZhbGlkIGVycm5vLgotICNlbGlmIGRl ZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX21pcHMzMl9f KQotICAgICBjYXNlIF9fTlJfZnN0YXRhdDY0OgotQEAgLTEyNSw3ICsxMjYsNyBAQCBib29sIFN5 c2NhbGxTZXRzOjpJc0ZpbGVTeXN0ZW0oaW50IHN5c25vKSB7Ci0gICAgIGNhc2UgX19OUl9tZW1m ZF9jcmVhdGU6Ci0gICAgIGNhc2UgX19OUl9ta2RpcmF0OgotICAgICBjYXNlIF9fTlJfbWtub2Rh dDoKLS0jaWYgZGVmaW5lZChfX2kzODZfXykKLSsjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVm aW5lZChfX3Bvd2VycGM2NF9fKQotICAgICBjYXNlIF9fTlJfb2xkbHN0YXQ6Ci0gICAgIGNhc2Ug X19OUl9vbGRzdGF0OgotICNlbmRpZgotQEAgLTE0Niw3ICsxNDcsOCBAQCBib29sIFN5c2NhbGxT ZXRzOjpJc0ZpbGVTeXN0ZW0oaW50IHN5c25vKSB7Ci0gICAgIGNhc2UgX19OUl90cnVuY2F0ZTY0 OgotICNlbmRpZgotICAgICBjYXNlIF9fTlJfdW5saW5rYXQ6Ci0tI2lmIGRlZmluZWQoX19pMzg2 X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX21pcHNfXykKLSsjaWYgZGVm aW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fbWlwc19f KSB8fCBcCi0rICAgIGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSAgICAgY2FzZSBfX05SX3V0aW1l OgotICNlbmRpZgotICAgICBjYXNlIF9fTlJfdXRpbWVuc2F0OiAgLy8gTmV3LgotQEAgLTE2NCw3 ICsxNjYsOCBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRGaWxlU3lzdGVtQWNjZXNzVmlh RmQoaW50IHN5c25vKSB7Ci0gI2VuZGlmCi0gICAgICAgcmV0dXJuIHRydWU7Ci0gLy8gVE9ETyhq bG4pOiB0aGVzZSBzaG91bGQgYmUgZGVuaWVkIGdyYWNlZnVsbHkgYXMgd2VsbCAobW92ZWQgYmVs b3cpLgotLSNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRl ZmluZWQoX19taXBzX18pCi0rI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZf NjRfXykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwgXAotKyAgICBkZWZpbmVkKF9fcG93ZXJwYzY0 X18pCi0gICAgIGNhc2UgX19OUl9mYWR2aXNlNjQ6ICAvLyBFUEVSTSBub3QgYSB2YWxpZCBlcnJu by4KLSAjZW5kaWYKLSAjaWYgZGVmaW5lZChfX2kzODZfXykKLUBAIC0xNzYsNyArMTc5LDggQEAg Ym9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkRmlsZVN5c3RlbUFjY2Vzc1ZpYUZkKGludCBzeXNu bykgewotICAgICBjYXNlIF9fTlJfZmRhdGFzeW5jOiAgLy8gRVBFUk0gbm90IGEgdmFsaWQgZXJy bm8uCi0gICAgIGNhc2UgX19OUl9mbG9jazogICAgICAvLyBFUEVSTSBub3QgYSB2YWxpZCBlcnJu by4KLSAgICAgY2FzZSBfX05SX2ZzdGF0ZnM6ICAgIC8vIEdpdmUgaW5mb3JtYXRpb24gYWJvdXQg dGhlIHdob2xlIGZpbGVzeXN0ZW0uCi0tI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQo X19hcm1fXykgfHwgZGVmaW5lZChfX21pcHMzMl9fKQotKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8 fCBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19taXBzMzJfXykgfHwgXAotKyAgICBkZWZp bmVkKF9fcG93ZXJwYzY0X18pCi0gICAgIGNhc2UgX19OUl9mc3RhdGZzNjQ6Ci0gI2VuZGlmCi0g ICAgIGNhc2UgX19OUl9mc3luYzogIC8vIEVQRVJNIG5vdCBhIHZhbGlkIGVycm5vLgotQEAgLTE4 OCw2ICsxOTIsOCBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRGaWxlU3lzdGVtQWNjZXNz VmlhRmQoaW50IHN5c25vKSB7Ci0gICAgIGNhc2UgX19OUl9zeW5jX2ZpbGVfcmFuZ2U6ICAvLyBF UEVSTSBub3QgYSB2YWxpZCBlcnJuby4KLSAjZWxpZiBkZWZpbmVkKF9fYXJtX18pCi0gICAgIGNh c2UgX19OUl9hcm1fc3luY19maWxlX3JhbmdlOiAgLy8gRVBFUk0gbm90IGEgdmFsaWQgZXJybm8u Ci0rI2VsaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotKyAgICBjYXNlIF9fTlJfc3luY19maWxl X3JhbmdlMjogLy8gRVBFUk0gbm90IGEgdmFsaWQgZXJybm8uCi0gI2VuZGlmCi0gICAgIGRlZmF1 bHQ6Ci0gICAgICAgcmV0dXJuIGZhbHNlOwotQEAgLTIxMSw3ICsyMTcsNyBAQCBib29sIFN5c2Nh bGxTZXRzOjpJc0RlbmllZEZpbGVTeXN0ZW1BY2Nlc3NWaWFGZChpbnQgc3lzbm8pIHsKLSAgICAg Y2FzZSBfX05SX2dldGRlbnRzOiAgICAvLyBFUEVSTSBub3QgYSB2YWxpZCBlcnJuby4KLSAjZW5k aWYKLSAgICAgY2FzZSBfX05SX2dldGRlbnRzNjQ6ICAvLyBFUEVSTSBub3QgYSB2YWxpZCBlcnJu by4KLS0jaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX21pcHMzMl9fKQotKyNpZiBk ZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fbWlwczMyX18pIHx8IGRlZmluZWQoX19wb3dl cnBjNjRfXykKLSAgICAgY2FzZSBfX05SX3JlYWRkaXI6Ci0gI2VuZGlmCi0gICAgICAgcmV0dXJu IHRydWU7Ci1AQCAtMjUyLDcgKzI1OCw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzR2V0U2ltcGxl SWQoaW50IHN5c25vKSB7Ci0gYm9vbCBTeXNjYWxsU2V0czo6SXNQcm9jZXNzUHJpdmlsZWdlQ2hh bmdlKGludCBzeXNubykgewotICAgc3dpdGNoIChzeXNubykgewotICAgICBjYXNlIF9fTlJfY2Fw c2V0OgotLSNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pCi0rI2lm IGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX3Bv d2VycGM2NF9fKQotICAgICBjYXNlIF9fTlJfaW9wZXJtOiAgLy8gSW50ZWwgcHJpdmlsZWdlLgot ICAgICBjYXNlIF9fTlJfaW9wbDogICAgLy8gSW50ZWwgcHJpdmlsZWdlLgotICNlbmRpZgotQEAg LTMwMSw3ICszMDcsOCBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRTaWduYWxIYW5kbGlu ZyhpbnQgc3lzbm8pIHsKLSAgICAgY2FzZSBfX05SX3J0X3NpZ2FjdGlvbjoKLSAgICAgY2FzZSBf X05SX3J0X3NpZ3Byb2NtYXNrOgotICAgICBjYXNlIF9fTlJfcnRfc2lncmV0dXJuOgotLSNpZiBk ZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19taXBzMzJf XykKLSsjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVk KF9fbWlwczMyX18pIHx8IFwKLSsgICAgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotICAgICBjYXNl IF9fTlJfc2lnYWN0aW9uOgotICAgICBjYXNlIF9fTlJfc2lncHJvY21hc2s6Ci0gICAgIGNhc2Ug X19OUl9zaWdyZXR1cm46Ci1AQCAtMzE3LDcgKzMyNCw4IEBAIGJvb2wgU3lzY2FsbFNldHM6Oklz QWxsb3dlZFNpZ25hbEhhbmRsaW5nKGludCBzeXNubykgewotICAgICBjYXNlIF9fTlJfc2lnbmFs ZmQ6Ci0gI2VuZGlmCi0gICAgIGNhc2UgX19OUl9zaWduYWxmZDQ6Ci0tI2lmIGRlZmluZWQoX19p Mzg2X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX21pcHMzMl9fKQotKyNpZiBk ZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19taXBzMzJf XykgfHwgXAotKyAgICBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gICAgIGNhc2UgX19OUl9zaWdw ZW5kaW5nOgotICAgICBjYXNlIF9fTlJfc2lnc3VzcGVuZDoKLSAjZW5kaWYKLUBAIC0zNDAsNyAr MzQ4LDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkT3BlcmF0aW9uT25GZChpbnQgc3lz bm8pIHsKLSAjZW5kaWYKLSAgICAgY2FzZSBfX05SX2R1cDM6Ci0gI2lmIGRlZmluZWQoX194ODZf NjRfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBcCi0tICAg IGRlZmluZWQoX19hYXJjaDY0X18pCi0rICAgIGRlZmluZWQoX19hYXJjaDY0X18pIHx8IGRlZmlu ZWQoX19wb3dlcnBjNjRfXykKLSAgICAgY2FzZSBfX05SX3NodXRkb3duOgotICNlbmRpZgotICAg ICAgIHJldHVybiB0cnVlOwotQEAgLTM3Miw3ICszODAsNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJ c0FsbG93ZWRQcm9jZXNzU3RhcnRPckRlYXRoKGludCBzeXNubykgewotICAgICBjYXNlIF9fTlJf ZXhpdF9ncm91cDoKLSAgICAgY2FzZSBfX05SX3dhaXQ0OgotICAgICBjYXNlIF9fTlJfd2FpdGlk OgotLSNpZiBkZWZpbmVkKF9faTM4Nl9fKQotKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZp bmVkKF9fcG93ZXJwYzY0X18pCi0gICAgIGNhc2UgX19OUl93YWl0cGlkOgotICNlbmRpZgotICNp ZiAhZGVmaW5lZChfX0dMSUJDX18pCi1AQCAtNDQzLDcgKzQ1MSw3IEBAIGJvb2wgU3lzY2FsbFNl dHM6OklzQWxsb3dlZEdldE9yTW9kaWZ5U29ja2V0KGludCBzeXNubykgewotICAgICAgIHJldHVy biB0cnVlOwotICAgICBkZWZhdWx0OgotICNpZiBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmlu ZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwgXAotLSAgICBkZWZpbmVkKF9fYWFy Y2g2NF9fKQotKyAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0 X18pCi0gICAgIGNhc2UgX19OUl9zb2NrZXRwYWlyOiAgLy8gV2Ugd2lsbCB3YW50IHRvIGluc3Bl Y3QgaXRzIGFyZ3VtZW50LgotICNlbmRpZgotICAgICAgIHJldHVybiBmYWxzZTsKLUBAIC00NTMs NyArNDYxLDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkR2V0T3JNb2RpZnlTb2NrZXQo aW50IHN5c25vKSB7Ci0gYm9vbCBTeXNjYWxsU2V0czo6SXNEZW5pZWRHZXRPck1vZGlmeVNvY2tl dChpbnQgc3lzbm8pIHsKLSAgIHN3aXRjaCAoc3lzbm8pIHsKLSAjaWYgZGVmaW5lZChfX3g4Nl82 NF9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwKLS0gICAg ZGVmaW5lZChfX2FhcmNoNjRfXykKLSsgICAgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgZGVmaW5l ZChfX3Bvd2VycGM2NF9fKQotICAgICBjYXNlIF9fTlJfYWNjZXB0OgotICAgICBjYXNlIF9fTlJf YWNjZXB0NDoKLSAgICAgY2FzZSBfX05SX2JpbmQ6Ci1AQCAtNDY3LDcgKzQ3NSw3IEBAIGJvb2wg U3lzY2FsbFNldHM6OklzRGVuaWVkR2V0T3JNb2RpZnlTb2NrZXQoaW50IHN5c25vKSB7Ci0gICB9 Ci0gfQotIAotLSNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fbWlwczMyX18pCi0r I2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19taXBzMzJfXykgfHwgZGVmaW5lZChf X3Bvd2VycGM2NF9fKQotIC8vIEJpZyBtdWx0aXBsZXhpbmcgc3lzdGVtIGNhbGwgZm9yIHNvY2tl dHMuCi0gYm9vbCBTeXNjYWxsU2V0czo6SXNTb2NrZXRDYWxsKGludCBzeXNubykgewotICAgc3dp dGNoIChzeXNubykgewotQEAgLTQ4MSw3ICs0ODksOCBAQCBib29sIFN5c2NhbGxTZXRzOjpJc1Nv Y2tldENhbGwoaW50IHN5c25vKSB7Ci0gfQotICNlbmRpZgotIAotLSNpZiBkZWZpbmVkKF9feDg2 XzY0X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX21pcHNfXykKLSsjaWYgZGVm aW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19taXBzX18p IHx8IFwKLSsgICAgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotIGJvb2wgU3lzY2FsbFNldHM6Oklz TmV0d29ya1NvY2tldEluZm9ybWF0aW9uKGludCBzeXNubykgewotICAgc3dpdGNoIChzeXNubykg ewotICAgICBjYXNlIF9fTlJfZ2V0cGVlcm5hbWU6Ci1AQCAtNTA5LDcgKzUxOCw3IEBAIGJvb2wg U3lzY2FsbFNldHM6OklzQWxsb3dlZEFkZHJlc3NTcGFjZUFjY2VzcyhpbnQgc3lzbm8pIHsKLSAg ICAgY2FzZSBfX05SX21pbmNvcmU6Ci0gICAgIGNhc2UgX19OUl9tbG9ja2FsbDoKLSAjaWYgZGVm aW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fbWlwc19f KSB8fCBcCi0tICAgIGRlZmluZWQoX19hYXJjaDY0X18pCi0rICAgIGRlZmluZWQoX19hYXJjaDY0 X18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSAgICAgY2FzZSBfX05SX21tYXA6Ci0gI2Vu ZGlmCi0gI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5l ZChfX21pcHMzMl9fKQotQEAgLTUzOCw3ICs1NDcsOCBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0Fs bG93ZWRBZGRyZXNzU3BhY2VBY2Nlc3MoaW50IHN5c25vKSB7Ci0gYm9vbCBTeXNjYWxsU2V0czo6 SXNBbGxvd2VkR2VuZXJhbElvKGludCBzeXNubykgewotICAgc3dpdGNoIChzeXNubykgewotICAg ICBjYXNlIF9fTlJfbHNlZWs6Ci0tI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19h cm1fXykgfHwgZGVmaW5lZChfX21pcHMzMl9fKQotKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBk ZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19taXBzMzJfXykgfHwgXAotKyAgICBkZWZpbmVk KF9fcG93ZXJwYzY0X18pCi0gICAgIGNhc2UgX19OUl9fbGxzZWVrOgotICNlbmRpZgotICNpZiAh ZGVmaW5lZChfX2FhcmNoNjRfXykKLUBAIC01NDgsMjUgKzU1OCwyNiBAQCBib29sIFN5c2NhbGxT ZXRzOjpJc0FsbG93ZWRHZW5lcmFsSW8oaW50IHN5c25vKSB7Ci0gICAgIGNhc2UgX19OUl9wc2Vs ZWN0NjoKLSAgICAgY2FzZSBfX05SX3JlYWQ6Ci0gICAgIGNhc2UgX19OUl9yZWFkdjoKLS0jaWYg ZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fbWlwczMyX18pCi0rI2lmIGRlZmluZWQoX19h cm1fXykgfHwgZGVmaW5lZChfX21pcHMzMl9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0g ICAgIGNhc2UgX19OUl9yZWN2OgotICNlbmRpZgotICNpZiBkZWZpbmVkKF9feDg2XzY0X18pIHx8 IGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwgXAotLSAgICBkZWZpbmVk KF9fYWFyY2g2NF9fKQotKyAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBkZWZpbmVkKF9fcG93 ZXJwYzY0X18pCi0gICAgIGNhc2UgX19OUl9yZWN2ZnJvbTogIC8vIENvdWxkIHNwZWNpZnkgc291 cmNlLgotICAgICBjYXNlIF9fTlJfcmVjdm1zZzogICAvLyBDb3VsZCBzcGVjaWZ5IHNvdXJjZS4K LSAjZW5kaWYKLS0jaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKQot KyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQo X19wb3dlcnBjNjRfXykKLSAgICAgY2FzZSBfX05SX3NlbGVjdDoKLSAjZW5kaWYKLS0jaWYgZGVm aW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKQot KyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19t aXBzX18pIHx8IFwKLSsgICAgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotICAgICBjYXNlIF9fTlJf X25ld3NlbGVjdDoKLSAjZW5kaWYKLS0jaWYgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9f bWlwczMyX18pCi0rI2lmIGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX21pcHMzMl9fKSB8 fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gICAgIGNhc2UgX19OUl9zZW5kOgotICNlbmRpZgot ICNpZiBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChf X21pcHNfXykgfHwgXAotLSAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKQotKyAgICBkZWZpbmVkKF9f YWFyY2g2NF9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gICAgIGNhc2UgX19OUl9zZW5k bXNnOiAgLy8gQ291bGQgc3BlY2lmeSBkZXN0aW5hdGlvbi4KLSAgICAgY2FzZSBfX05SX3NlbmR0 bzogICAvLyBDb3VsZCBzcGVjaWZ5IGRlc3RpbmF0aW9uLgotICNlbmRpZgotQEAgLTYyMiw3ICs2 MzMsOCBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRCYXNpY1NjaGVkdWxlcihpbnQgc3lz bm8pIHsKLSAgICAgY2FzZSBfX05SX25hbm9zbGVlcDoKLSAgICAgICByZXR1cm4gdHJ1ZTsKLSAg ICAgY2FzZSBfX05SX2dldHByaW9yaXR5OgotLSNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZp bmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19taXBzMzJfXykKLSsjaWYgZGVmaW5lZChfX2kzODZf XykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fbWlwczMyX18pIHx8IFwKLSsgICAg ZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotICAgICBjYXNlIF9fTlJfbmljZToKLSAjZW5kaWYKLSAg ICAgY2FzZSBfX05SX3NldHByaW9yaXR5OgotQEAgLTYzMyw3ICs2NDUsOCBAQCBib29sIFN5c2Nh bGxTZXRzOjpJc0FsbG93ZWRCYXNpY1NjaGVkdWxlcihpbnQgc3lzbm8pIHsKLSAKLSBib29sIFN5 c2NhbGxTZXRzOjpJc0FkbWluT3BlcmF0aW9uKGludCBzeXNubykgewotICAgc3dpdGNoIChzeXNu bykgewotLSNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmlu ZWQoX19taXBzMzJfXykKLSsjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX2FybV9f KSB8fCBkZWZpbmVkKF9fbWlwczMyX18pIHx8IFwKLSsgICAgZGVmaW5lZChfX3Bvd2VycGM2NF9f KQotICAgICBjYXNlIF9fTlJfYmRmbHVzaDoKLSAjZW5kaWYKLSAgICAgY2FzZSBfX05SX2tleGVj X2xvYWQ6Ci1AQCAtNjQ5LDcgKzY2Miw4IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWRtaW5PcGVy YXRpb24oaW50IHN5c25vKSB7Ci0gCi0gYm9vbCBTeXNjYWxsU2V0czo6SXNLZXJuZWxNb2R1bGUo aW50IHN5c25vKSB7Ci0gICBzd2l0Y2ggKHN5c25vKSB7Ci0tI2lmIGRlZmluZWQoX19pMzg2X18p IHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX21pcHNfXykKLSsjaWYgZGVmaW5l ZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8 fCBcCi0rICAgIGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSAgICAgY2FzZSBfX05SX2NyZWF0ZV9t b2R1bGU6Ci0gICAgIGNhc2UgX19OUl9nZXRfa2VybmVsX3N5bXM6ICAvLyBTaG91bGQgRU5PU1lT LgotICAgICBjYXNlIF9fTlJfcXVlcnlfbW9kdWxlOgotQEAgLTY4MSw3ICs2OTUsNyBAQCBib29s IFN5c2NhbGxTZXRzOjpJc0ZzQ29udHJvbChpbnQgc3lzbm8pIHsKLSAgICAgY2FzZSBfX05SX3F1 b3RhY3RsOgotICAgICBjYXNlIF9fTlJfc3dhcG9mZjoKLSAgICAgY2FzZSBfX05SX3N3YXBvbjoK LS0jaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX21pcHMzMl9fKQotKyNpZiBkZWZp bmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fbWlwczMyX18pIHx8IGRlZmluZWQoX19wb3dlcnBj NjRfXykKLSAgICAgY2FzZSBfX05SX3Vtb3VudDoKLSAjZW5kaWYKLSAgICAgY2FzZSBfX05SX3Vt b3VudDI6Ci1AQCAtNjk3LDcgKzcxMSw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzTnVtYShpbnQg c3lzbm8pIHsKLSAgICAgY2FzZSBfX05SX2dldGNwdToKLSAgICAgY2FzZSBfX05SX21iaW5kOgot ICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQo X19taXBzX18pIHx8IFwKLS0gICAgZGVmaW5lZChfX2FhcmNoNjRfXykKLSsgICAgZGVmaW5lZChf X2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotICAgICBjYXNlIF9fTlJfbWln cmF0ZV9wYWdlczoKLSAjZW5kaWYKLSAgICAgY2FzZSBfX05SX21vdmVfcGFnZXM6Ci1AQCAtNzI2 LDEzICs3NDAsMTMgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNHbG9iYWxQcm9jZXNzRW52aXJvbm1l bnQoaW50IHN5c25vKSB7Ci0gICBzd2l0Y2ggKHN5c25vKSB7Ci0gICAgIGNhc2UgX19OUl9hY2N0 OiAgLy8gUHJpdmlsZWdlZC4KLSAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4 Nl82NF9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBcCi0tICAgIGRlZmluZWQoX19hYXJjaDY0 X18pCi0rICAgIGRlZmluZWQoX19hYXJjaDY0X18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykK LSAgICAgY2FzZSBfX05SX2dldHJsaW1pdDoKLSAjZW5kaWYKLS0jaWYgZGVmaW5lZChfX2kzODZf XykgfHwgZGVmaW5lZChfX2FybV9fKQotKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVk KF9fYXJtX18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSAgICAgY2FzZSBfX05SX3VnZXRy bGltaXQ6Ci0gI2VuZGlmCi0tI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19taXBz MzJfXykKLSsjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX21pcHMzMl9fKSB8fCBk ZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gICAgIGNhc2UgX19OUl91bGltaXQ6Ci0gI2VuZGlmCi0g ICAgIGNhc2UgX19OUl9nZXRydXNhZ2U6Ci1AQCAtNzY2LDcgKzc4MCw3IEBAIGJvb2wgU3lzY2Fs bFNldHM6OklzR2xvYmFsU3lzdGVtU3RhdHVzKGludCBzeXNubykgewotICNlbmRpZgotICAgICBj YXNlIF9fTlJfc3lzaW5mbzoKLSAgICAgY2FzZSBfX05SX3VuYW1lOgotLSNpZiBkZWZpbmVkKF9f aTM4Nl9fKQotKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18p Ci0gICAgIGNhc2UgX19OUl9vbGR1bmFtZToKLSAgICAgY2FzZSBfX05SX29sZG9sZHVuYW1lOgot ICNlbmRpZgotQEAgLTg1Nyw3ICs4NzEsNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc1N5c3RlbVZN ZXNzYWdlUXVldWUoaW50IHN5c25vKSB7Ci0gfQotICNlbmRpZgotIAotLSNpZiBkZWZpbmVkKF9f aTM4Nl9fKSB8fCBkZWZpbmVkKF9fbWlwczMyX18pCi0rI2lmIGRlZmluZWQoX19pMzg2X18pIHx8 IGRlZmluZWQoX19taXBzMzJfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotIC8vIEJpZyBz eXN0ZW0gViBtdWx0aXBsZXhpbmcgc3lzdGVtIGNhbGwuCi0gYm9vbCBTeXNjYWxsU2V0czo6SXNT eXN0ZW1WSXBjKGludCBzeXNubykgewotICAgc3dpdGNoIChzeXNubykgewotQEAgLTg3Niw3ICs4 OTAsNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FueVN5c3RlbVYoaW50IHN5c25vKSB7Ci0gICAg IHx8IGRlZmluZWQoX19taXBzNjRfXykKLSAgIHJldHVybiBJc1N5c3RlbVZNZXNzYWdlUXVldWUo c3lzbm8pIHx8IElzU3lzdGVtVlNlbWFwaG9yZXMoc3lzbm8pIHx8Ci0gICAgICAgICAgSXNTeXN0 ZW1WU2hhcmVkTWVtb3J5KHN5c25vKTsKLS0jZWxpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZp bmVkKF9fbWlwczMyX18pCi0rI2VsaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX21p cHMzMl9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gICByZXR1cm4gSXNTeXN0ZW1WSXBj KHN5c25vKTsKLSAjZW5kaWYKLSB9Ci1AQCAtOTI5LDcgKzk0Myw4IEBAIGJvb2wgU3lzY2FsbFNl dHM6OklzRmFOb3RpZnkoaW50IHN5c25vKSB7Ci0gYm9vbCBTeXNjYWxsU2V0czo6SXNUaW1lcihp bnQgc3lzbm8pIHsKLSAgIHN3aXRjaCAoc3lzbm8pIHsKLSAgICAgY2FzZSBfX05SX2dldGl0aW1l cjoKLS0jaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZp bmVkKF9fbWlwc19fKQotKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0 X18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwKLSsgICAgZGVmaW5lZChfX3Bvd2VycGM2NF9f KQotICAgICBjYXNlIF9fTlJfYWxhcm06Ci0gI2VuZGlmCi0gICAgIGNhc2UgX19OUl9zZXRpdGlt ZXI6Ci1AQCAtOTg4LDE2ICsxMDAzLDE4IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzTWlzYyhpbnQg c3lzbm8pIHsKLSAgICAgY2FzZSBfX05SX3N5bmNmczoKLSAgICAgY2FzZSBfX05SX3ZoYW5ndXA6 Ci0gLy8gVGhlIHN5c3RlbSBjYWxscyBiZWxvdyBhcmUgbm90IGltcGxlbWVudGVkLgotLSNpZiBk ZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19taXBz X18pCi0rI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVm aW5lZChfX21pcHNfXykgfHwgXAotKyAgICBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gICAgIGNh c2UgX19OUl9hZnNfc3lzY2FsbDoKLSAjZW5kaWYKLS0jaWYgZGVmaW5lZChfX2kzODZfXykgfHwg ZGVmaW5lZChfX21pcHMzMl9fKQotKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9f bWlwczMyX18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSAgICAgY2FzZSBfX05SX2JyZWFr OgotICNlbmRpZgotLSNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18p IHx8IGRlZmluZWQoX19taXBzX18pCi0rI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQo X194ODZfNjRfXykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwgXAotKyAgICBkZWZpbmVkKF9fcG93 ZXJwYzY0X18pCi0gICAgIGNhc2UgX19OUl9nZXRwbXNnOgotICNlbmRpZgotLSNpZiBkZWZpbmVk KF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fbWlwczMyX18pCi0rI2lmIGRlZmluZWQoX19pMzg2X18p IHx8IGRlZmluZWQoX19taXBzMzJfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotICAgICBj YXNlIF9fTlJfZ3R0eToKLSAgICAgY2FzZSBfX05SX2lkbGU6Ci0gICAgIGNhc2UgX19OUl9sb2Nr OgotQEAgLTEwMDUsMTkgKzEwMjIsMjAgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNNaXNjKGludCBz eXNubykgewotICAgICBjYXNlIF9fTlJfcHJvZjoKLSAgICAgY2FzZSBfX05SX3Byb2ZpbDoKLSAj ZW5kaWYKLS0jaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBk ZWZpbmVkKF9fbWlwc19fKQotKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2 XzY0X18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwKLSsgICAgZGVmaW5lZChfX3Bvd2VycGM2 NF9fKQotICAgICBjYXNlIF9fTlJfcHV0cG1zZzoKLSAjZW5kaWYKLSAjaWYgZGVmaW5lZChfX3g4 Nl82NF9fKQotICAgICBjYXNlIF9fTlJfc2VjdXJpdHk6Ci0gI2VuZGlmCi0tI2lmIGRlZmluZWQo X19pMzg2X18pIHx8IGRlZmluZWQoX19taXBzMzJfXykKLSsjaWYgZGVmaW5lZChfX2kzODZfXykg fHwgZGVmaW5lZChfX21pcHMzMl9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gICAgIGNh c2UgX19OUl9zdHR5OgotICNlbmRpZgotLSNpZiBkZWZpbmVkKF9feDg2XzY0X18pCi0rI2lmIGRl ZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotICAgICBjYXNlIF9f TlJfdHV4Y2FsbDoKLSAjZW5kaWYKLS0jaWYgIWRlZmluZWQoX19hYXJjaDY0X18pCi0rI2lmICFk ZWZpbmVkKF9fYWFyY2g2NF9fKSAmJiAhZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotICAgICBjYXNl IF9fTlJfdnNlcnZlcjoKLSAjZW5kaWYKLSAgICAgICByZXR1cm4gdHJ1ZTsKLWRpZmYgLS1naXQg cXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1i cGYtaGVscGVycy9zeXNjYWxsX3NldHMuaCBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21p dW0vc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfc2V0cy5oCi1pbmRl eCBjMzFkNWU5YzEuLjc4OThiZTllMSAxMDA2NDQKLS0tLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFy dHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfc2V0 cy5oCi0rKysgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgv c2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3NldHMuaAotQEAgLTQyLDEzICs0MiwxMyBAQCBj bGFzcyBTQU5EQk9YX0VYUE9SVCBTeXNjYWxsU2V0cyB7Ci0gICBzdGF0aWMgYm9vbCBJc0FsbG93 ZWRHZXRPck1vZGlmeVNvY2tldChpbnQgc3lzbm8pOwotICAgc3RhdGljIGJvb2wgSXNEZW5pZWRH ZXRPck1vZGlmeVNvY2tldChpbnQgc3lzbm8pOwotIAotLSNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8 fCBkZWZpbmVkKF9fbWlwczMyX18pCi0rI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQo X19taXBzMzJfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotICAgLy8gQmlnIG11bHRpcGxl eGluZyBzeXN0ZW0gY2FsbCBmb3Igc29ja2V0cy4KLSAgIHN0YXRpYyBib29sIElzU29ja2V0Q2Fs bChpbnQgc3lzbm8pOwotICNlbmRpZgotIAotICNpZiBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRl ZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwgXAotLSAgICBkZWZpbmVkKF9f YWFyY2g2NF9fKQotKyAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBkZWZpbmVkKF9fcG93ZXJw YzY0X18pCi0gICBzdGF0aWMgYm9vbCBJc05ldHdvcmtTb2NrZXRJbmZvcm1hdGlvbihpbnQgc3lz bm8pOwotICNlbmRpZgotIAotQEAgLTg1LDcgKzg1LDcgQEAgY2xhc3MgU0FOREJPWF9FWFBPUlQg U3lzY2FsbFNldHMgewotICAgc3RhdGljIGJvb2wgSXNTeXN0ZW1WTWVzc2FnZVF1ZXVlKGludCBz eXNubyk7Ci0gI2VuZGlmCi0gCi0tI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19t aXBzMzJfXykKLSsjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX21pcHMzMl9fKSB8 fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gICAvLyBCaWcgc3lzdGVtIFYgbXVsdGlwbGV4aW5n IHN5c3RlbSBjYWxsLgotICAgc3RhdGljIGJvb2wgSXNTeXN0ZW1WSXBjKGludCBzeXNubyk7Ci0g I2VuZGlmCi1kaWZmIC0tZ2l0IHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5k Ym94L2xpbnV4L3NlY2NvbXAtYnBmL3N5c2NhbGwuY2MgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5 L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYvc3lzY2FsbC5jYwotaW5kZXggZDZk YjcwZjBkLi40OTM3YjI1YTQgMTAwNjQ0Ci0tLS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2No cm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYvc3lzY2FsbC5jYwotKysrIHF0d2ViZW5n aW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmL3N5c2Nh bGwuY2MKLUBAIC0xNSw3ICsxNSw3IEBAIG5hbWVzcGFjZSBzYW5kYm94IHsKLSBuYW1lc3BhY2Ug ewotIAotICNpZiBkZWZpbmVkKEFSQ0hfQ1BVX1g4Nl9GQU1JTFkpIHx8IGRlZmluZWQoQVJDSF9D UFVfQVJNX0ZBTUlMWSkgfHwgXAotLSAgICBkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKQot KyAgICBkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSB8fCBkZWZpbmVkIChBUkNIX0NQVV9Q UEM2NF9GQU1JTFkpCi0gLy8gTnVtYmVyIHRoYXQncyBub3QgY3VycmVudGx5IHVzZWQgYnkgYW55 IExpbnV4IGtlcm5lbCBBQklzLgotIGNvbnN0IGludCBrSW52YWxpZFN5c2NhbGxOdW1iZXIgPSAw eDM1MWQzOwotICNlbHNlCi1AQCAtMzA3LDEyICszMDcsNTYgQEAgYXNtKC8vIFdlIG5lZWQgdG8g YmUgYWJsZSB0byB0ZWxsIHRoZSBrZXJuZWwgZXhhY3RseSB3aGVyZSB3ZSBtYWRlIGEKLSAgICAg Ly8gRW50ZXIgdGhlIGtlcm5lbAotICAgICAic3ZjIDBcbiIKLSAgICAgIjI6cmV0XG4iCi0rICAg ICIuY2ZpX2VuZHByb2NcbiIKLSsgICAgIi5zaXplIFN5c2NhbGxBc20sIC4tU3lzY2FsbEFzbVxu IgotKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSsgICAgIi50ZXh0XG4iCi0rICAgICIu YWxpZ24gNFxuIgotKyAgICAiLnR5cGUgU3lzY2FsbEFzbSBAZnVuY3Rpb25cbiIKLSsgICAgIlN5 c2NhbGxBc206XG4iCi0rICAgICIuY2ZpX3N0YXJ0cHJvY1xuIgotKwotKyAgICAvLyBDaGVjayBp ZiByMyBpcyBuZWdhdGl2ZQotKyAgICAiY21wZGkgMywgMFxuIgotKyAgICAiYmd0IDJmXG4iCi0r Ci0rICAgIC8vIExvYWQgYWRkcmVzcyBvZiAzZiBpbnRvIHIzIGFuZCByZXR1cm4KLSsgICAgIm1m bHIgMTBcbiIKLSsgICAgImJsIDFmXG4iCi0rICAgICIxOiBtZmxyIDNcbiIKLSsgICAgIm10bHIg MTBcbiIKLSsgICAgImFkZGkgMywgMywgNCoxM1xuIgotKyAgICAiYmxyXG4iCi0rCi0rICAgIC8v IExvYWQgYXJndW1lbnRzIGZyb20gYXJyYXkgaW50byByMy04Ci0rICAgIC8vIHNhdmUgcGFyYW0g MyBpbiByMTAKLSsgICAgIjI6XG4iCi0rICAgICJtciAwLCAzXG4iCi0rICAgICJsZCAzLCAwKDQp XG4iCi0rICAgICJsZCA1LCAxNig0KVxuIgotKyAgICAibGQgNiwgMjQoNClcbiIKLSsgICAgImxk IDcsIDMyKDQpXG4iCi0rICAgICJsZCA4LCA0MCg0KVxuIgotKyAgICAibGQgNCwgOCg0KVxuIgot KyAgICAibGkgOSwgMFxuIgotKwotKyAgICAvLyBFbnRlciBrZXJuZWwKLSsgICAgInNjXG4iCi0r Ci0rICAgIC8vIE1hZ2ljIHJldHVybiBhZGRyZXNzCi0rICAgICIzOlxuIgotKyAgICAvLyBMaWtl IE1JUFMsIHBwYzY0IHJldHVybiB2YWx1ZXMgYXJlIGFsd2F5cyBwb3NpdGl2ZS4KLSsgICAgLy8g Q2hlY2sgZm9yIGVycm9yIGluIGNyMC5TTyBhbmQgbmVnYXRlIHVwb24gZXJyb3IKLSsgICAgImJj IDQsIDMsIDRmXG4iCi0rICAgICJuZWcgMywgM1xuIgotKyAgICAiNDogYmxyXG4iCi0rCi0gICAg ICIuY2ZpX2VuZHByb2NcbiIKLSAgICAgIi5zaXplIFN5c2NhbGxBc20sIC4tU3lzY2FsbEFzbVxu IgotICNlbmRpZgotICAgICApOyAgLy8gYXNtCi0gCi0tI2lmIGRlZmluZWQoX194ODZfNjRfXykK LSsjaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gZXh0 ZXJuICJDIiB7Ci0gaW50cHRyX3QgU3lzY2FsbEFzbShpbnRwdHJfdCBuciwgY29uc3QgaW50cHRy X3QgYXJnc1s2XSk7Ci0gfQotQEAgLTQyNiw2ICs0NzAsOCBAQCBpbnRwdHJfdCBTeXNjYWxsOjpD YWxsKGludCBuciwKLSAgICAgcmV0ID0gaW5vdXQ7Ci0gICB9Ci0gCi0rI2VsaWYgZGVmaW5lZChf X3Bvd2VycGM2NF9fKQotKyAgaW50cHRyX3QgcmV0ID0gU3lzY2FsbEFzbShuciwgYXJncyk7Ci0g I2Vsc2UKLSAjZXJyb3IgIlVuaW1wbGVtZW50ZWQgYXJjaGl0ZWN0dXJlIgotICNlbmRpZgotQEAg LTQ0Miw4ICs0ODgsMTggQEAgdm9pZCBTeXNjYWxsOjpQdXRWYWx1ZUluVWNvbnRleHQoaW50cHRy X3QgcmV0X3ZhbCwgdWNvbnRleHRfdCogY3R4KSB7Ci0gICAgIC8vIG5lZWRzIHRvIGJlIGNoYW5n ZWQgYmFjay4KLSAgICAgcmV0X3ZhbCA9IC1yZXRfdmFsOwotICAgICBTRUNDT01QX1BBUk00KGN0 eCkgPSAxOwotLSAgfSBlbHNlCi0rICB9IGVsc2UgewotICAgICBTRUNDT01QX1BBUk00KGN0eCkg PSAwOwotKyAgfQotKyNlbmRpZgotKyNpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0rICAvLyBT YW1lIGFzIE1JUFMsIG5lZWQgdG8gaW52ZXJ0IHJldCBhbmQgc2V0IGVycm9yIHJlZ2lzdGVyIChj cjAuU08pCi0rICBpZiAocmV0X3ZhbCA8PSAtMSAmJiByZXRfdmFsID49IC00MDk1KSB7Ci0rICAg IHJldF92YWwgPSAtcmV0X3ZhbDsKLSsgICAgY3R4LT51Y19tY29udGV4dC5yZWdzLT5jY3IgfD0g KDEgPDwgMjgpOwotKyAgfSBlbHNlIHsKLSsgICAgY3R4LT51Y19tY29udGV4dC5yZWdzLT5jY3Ig Jj0gfigxIDw8IDI4KTsKLSsgIH0KLSAjZW5kaWYKLSAgIFNFQ0NPTVBfUkVTVUxUKGN0eCkgPSBz dGF0aWNfY2FzdDxncmVnX3Q+KHJldF92YWwpOwotIH0KLWRpZmYgLS1naXQgcXR3ZWJlbmdpbmUv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYvdHJhcC5jYyBx dHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zZWNjb21wLWJw Zi90cmFwLmNjCi1pbmRleCBlOWM1MTk0MGMuLjM1YThmMGQ2NyAxMDA2NDQKLS0tLSBxdHdlYmVu Z2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi90cmFw LmNjCi0rKysgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgv c2VjY29tcC1icGYvdHJhcC5jYwotQEAgLTIzMCw2ICsyMzAsMjAgQEAgdm9pZCBUcmFwOjpTaWdT eXMoaW50IG5yLCBMaW51eFNpZ0luZm8qIGluZm8sIHVjb250ZXh0X3QqIGN0eCkgewotICAgICAg IFNldElzSW5TaWdIYW5kbGVyKCk7Ci0gICAgIH0KLSAKLSsjaWYgZGVmaW5lZChfX3Bvd2VycGM2 NF9fKQotKyAgICAvLyBPbiBwcGM2NCtnbGliYywgc29tZSBzeXNjYWxscyBzZWVtIHRvIGFjY2lk ZW50YWxseSBuZWdhdGUgdGhlIGZpcnN0Ci0rICAgIC8vIHBhcmFtZXRlciB3aGljaCBjYXVzZXMg Y2hlY2tzIGFnYWluc3QgaXQgdG8gZmFpbC4gRm9yIG5vdywgbWFudWFsbHkKLSsgICAgLy8gbmVn YXRlIHRoZW0gYmFjay4KLSsgICAgLy8gVE9ETyhzaGF3bkBhbmFzdGFzLmlvKTogaW52ZXN0aWdh dGUgdGhpcyBpc3N1ZSBmdXJ0aGVyCi0rICAgIGF1dG8gbnIgPSBTRUNDT01QX1NZU0NBTEwoY3R4 KTsKLSsgICAgaWYgKG5yID09IF9fTlJfb3BlbmF0IHx8IG5yID09IF9fTlJfbWtkaXJhdCB8fCBu ciA9PSBfX05SX2ZhY2Nlc3NhdCB8fCBuciA9PSBfX05SX3JlYWRsaW5rYXQgfHwKLSsgICAgICAg IG5yID09IF9fTlJfcmVuYW1lYXQgfHwgbnIgPT0gX19OUl9yZW5hbWVhdDIgfHwgbnIgPT0gX19O Ul9uZXdmc3RhdGF0IHx8IG5yID09IF9fTlJfdW5saW5rYXQpIHsKLSsgICAgICAgIGlmIChzdGF0 aWNfY2FzdDxpbnQ+KFNFQ0NPTVBfUEFSTTEoY3R4KSkgPiAwKSB7Ci0rICAgICAgICAgICAgU0VD Q09NUF9QQVJNMShjdHgpID0gLVNFQ0NPTVBfUEFSTTEoY3R4KTsKLSsgICAgICAgIH0KLSsgICAg fQotKyNlbmRpZgotKwotICAgICAvLyBDb3B5IHRoZSBzZWNjb21wLXNwZWNpZmljIGRhdGEgaW50 byBhIGFyY2hfc2VjY29tcF9kYXRhIHN0cnVjdHVyZS4gVGhpcwotICAgICAvLyBpcyB3aGF0IHdl IGFyZSBzaG93aW5nIHRvIFRyYXBGbmMgY2FsbGJhY2tzIHRoYXQgdGhlIHN5c3RlbSBjYWxsCi0g ICAgIC8vIGV2YWx1YXRvciByZWdpc3RlcmVkIHdpdGggdGhlIHNhbmRib3guCi1kaWZmIC0tZ2l0 IHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3NlcnZpY2Vz L2NyZWRlbnRpYWxzLmNjIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94 L2xpbnV4L3NlcnZpY2VzL2NyZWRlbnRpYWxzLmNjCi1pbmRleCA2NWI2M2FkZmUuLjFiNGU2MmU0 NiAxMDA2NDQKLS0tLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9s aW51eC9zZXJ2aWNlcy9jcmVkZW50aWFscy5jYwotKysrIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3NlcnZpY2VzL2NyZWRlbnRpYWxzLmNjCi1AQCAtNzcs NyArNzcsNyBAQCBib29sIENocm9vdFRvU2FmZUVtcHR5RGlyKCkgewotICAgcGlkX3QgcGlkID0g LTE7Ci0gICBhbGlnbmFzKDE2KSBjaGFyIHN0YWNrX2J1ZltQVEhSRUFEX1NUQUNLX01JTl07Ci0g I2lmIGRlZmluZWQoQVJDSF9DUFVfWDg2X0ZBTUlMWSkgfHwgZGVmaW5lZChBUkNIX0NQVV9BUk1f RkFNSUxZKSB8fCBcCi0tICAgIGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpCi0rICAgIGRl ZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpIHx8IGRlZmluZWQoQVJDSF9DUFVfUFBDNjRfRkFN SUxZKQotICAgLy8gVGhlIHN0YWNrIGdyb3dzIGRvd253YXJkLgotICAgdm9pZCogc3RhY2sgPSBz dGFja19idWYgKyBzaXplb2Yoc3RhY2tfYnVmKTsKLSAjZWxzZQotZGlmZiAtLWdpdCBxdHdlYmVu Z2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9s aW51eF9zZWNjb21wLmggcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gv bGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhfc2VjY29tcC5oCi1pbmRleCBhNjBmZTJhZDMuLjlk Y2NkYjUxZCAxMDA2NDQKLS0tLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2Fu ZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF9zZWNjb21wLmgKLSsrKyBxdHdlYmVuZ2lu ZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51 eF9zZWNjb21wLmgKLUBAIC0yOSw2ICsyOSw5IEBACi0gI2lmbmRlZiBFTV9BQVJDSDY0Ci0gI2Rl ZmluZSBFTV9BQVJDSDY0IDE4MwotICNlbmRpZgotKyNpZm5kZWYgRU1fUFBDNjQKLSsjZGVmaW5l IEVNX1BQQzY0IDIxCi0rI2VuZGlmCi0gCi0gI2lmbmRlZiBfX0FVRElUX0FSQ0hfNjRCSVQKLSAj ZGVmaW5lIF9fQVVESVRfQVJDSF82NEJJVCAweDgwMDAwMDAwCi1AQCAtNTQsNiArNTcsMTIgQEAK LSAjaWZuZGVmIEFVRElUX0FSQ0hfQUFSQ0g2NAotICNkZWZpbmUgQVVESVRfQVJDSF9BQVJDSDY0 IChFTV9BQVJDSDY0IHwgX19BVURJVF9BUkNIXzY0QklUIHwgX19BVURJVF9BUkNIX0xFKQotICNl bmRpZgotKyNpZm5kZWYgQVVESVRfQVJDSF9QUEM2NAotKyNkZWZpbmUgQVVESVRfQVJDSF9QUEM2 NCAoRU1fUFBDNjQgfCBfX0FVRElUX0FSQ0hfNjRCSVQpCi0rI2VuZGlmCi0rI2lmbmRlZiBBVURJ VF9BUkNIX1BQQzY0TEUKLSsjZGVmaW5lIEFVRElUX0FSQ0hfUFBDNjRMRSAoRU1fUFBDNjQgfCBf X0FVRElUX0FSQ0hfNjRCSVQgfCBfX0FVRElUX0FSQ0hfTEUpCi0rI2VuZGlmCi0gCi0gLy8gRm9y IHByY3RsLmgKLSAjaWZuZGVmIFBSX1NFVF9TRUNDT01QCi1kaWZmIC0tZ2l0IHF0d2ViZW5naW5l L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4 X3NpZ25hbC5oIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4 L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3NpZ25hbC5oCi1pbmRleCA1YWM0ZmRiNDIuLmIyN2I0ZWE1 ZiAxMDA2NDQKLS0tLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9s aW51eC9zeXN0ZW1faGVhZGVycy9saW51eF9zaWduYWwuaAotKysrIHF0d2ViZW5naW5lL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3NpZ25h bC5oCi1AQCAtMTEsNyArMTEsNyBAQAotIC8vIChub3QgdW5kZWZpbmVkLCBidXQgZGVmaW5lZCBk aWZmZXJlbnQgdmFsdWVzIGFuZCBpbiBkaWZmZXJlbnQgbWVtb3J5Ci0gLy8gbGF5b3V0cykuIFNv LCBmaWxsIHRoZSBnYXAgaGVyZS4KLSAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChf X3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IFwKLS0gICAgZGVmaW5lZChfX2FhcmNo NjRfXykKLSsgICAgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9f KQotIAotICNkZWZpbmUgTElOVVhfU0lHSFVQIDEKLSAjZGVmaW5lIExJTlVYX1NJR0lOVCAyCi1k aWZmIC0tZ2l0IHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4 L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3N5c2NhbGxzLmggcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5 L2Nocm9taXVtL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhfc3lzY2FsbHMuaAot aW5kZXggNzYxYzA4YWJlLi4yOGViZjJmNGUgMTAwNjQ0Ci0tLS0gcXR3ZWJlbmdpbmUvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhfc3lzY2Fs bHMuaAotKysrIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4 L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3N5c2NhbGxzLmgKLUBAIC0zMyw1ICszMyw5IEBACi0gI2lu Y2x1ZGUgInNhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvYXJtNjRfbGludXhfc3lzY2FsbHMu aCIKLSAjZW5kaWYKLSAKLSsjaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotKyNpbmNsdWRlICJz YW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL3BwYzY0X2xpbnV4X3N5c2NhbGxzLmgiCi0rI2Vu ZGlmCi0rCi0gI2VuZGlmICAvLyBTQU5EQk9YX0xJTlVYX1NZU1RFTV9IRUFERVJTX0xJTlVYX1NZ U0NBTExTX0hfCi0gCi1kaWZmIC0tZ2l0IHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3Vjb250ZXh0LmggcXR3ZWJlbmdp bmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbGlu dXhfdWNvbnRleHQuaAotaW5kZXggZTk3ZDcyNzdkLi5mM2YwNTg0OWEgMTAwNjQ0Ci0tLS0gcXR3 ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRl cnMvbGludXhfdWNvbnRleHQuaAotKysrIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3Vjb250ZXh0LmgKLUBAIC0xOSw2 ICsxOSw4IEBACi0gI2luY2x1ZGUgInNhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbWlwczY0 X2xpbnV4X3Vjb250ZXh0LmgiCi0gI2VsaWYgZGVmaW5lZChfX2FhcmNoNjRfXykKLSAjaW5jbHVk ZSAic2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9hcm02NF9saW51eF91Y29udGV4dC5oIgot KyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSsjaW5jbHVkZSAic2FuZGJveC9saW51eC9z eXN0ZW1faGVhZGVycy9wcGM2NF9saW51eF91Y29udGV4dC5oIgotICNlbHNlCi0gI2Vycm9yICJO byBzdXBwb3J0IGZvciB5b3VyIGFyY2hpdGVjdHVyZSBpbiBBbmRyb2lkIG9yIFBOYUNsIGhlYWRl ciIKLSAjZW5kaWYKLWRpZmYgLS1naXQgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVt L3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvcHBjNjRfbGludXhfc3lzY2FsbHMuaCBxdHdl YmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVy cy9wcGM2NF9saW51eF9zeXNjYWxscy5oCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAw MDAwMDAwLi5jY2FjZmZlMjIKLS0tLSAvZGV2L251bGwKLSsrKyBxdHdlYmVuZ2luZS9zcmMvM3Jk cGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9wcGM2NF9saW51eF9z eXNjYWxscy5oCi1AQCAtMCwwICsxLDEyIEBACi0rLy8gQ29weXJpZ2h0IDIwMTQgVGhlIENocm9t aXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0rLy8gVXNlIG9mIHRoaXMgc291cmNl IGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQotKy8v IGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0rCi0rI2lmbmRlZiBTQU5EQk9YX0xJTlVYX1NZ U1RFTV9IRUFERVJTX1BQQzY0X0xJTlVYX1NZU0NBTExTX0hfCi0rI2RlZmluZSBTQU5EQk9YX0xJ TlVYX1NZU1RFTV9IRUFERVJTX1BQQzY0X0xJTlVYX1NZU0NBTExTX0hfCi0rCi0rI2luY2x1ZGUg PGFzbS91bmlzdGQuaD4KLSsKLSsvL1RPRE86IGlzIGl0IG5lY2Vzc2FyeSB0byByZWRlZmluZSBz eXNjYWxsIG51bWJlcnMgZm9yIFBQQzY0PwotKwotKyNlbmRpZiAgLy8gU0FOREJPWF9MSU5VWF9T WVNURU1fSEVBREVSU19QUEM2NF9MSU5VWF9TWVNDQUxMU19IXwotZGlmZiAtLWdpdCBxdHdlYmVu Z2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9w cGM2NF9saW51eF91Y29udGV4dC5oIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9z YW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL3BwYzY0X2xpbnV4X3Vjb250ZXh0LmgKLW5ldyBm aWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAuLjA3NzI4ZTA4NwotLS0tIC9kZXYvbnVs bAotKysrIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3N5 c3RlbV9oZWFkZXJzL3BwYzY0X2xpbnV4X3Vjb250ZXh0LmgKLUBAIC0wLDAgKzEsMTIgQEAKLSsv LyBDb3B5cmlnaHQgMjAxNCBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZl ZC4KLSsvLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHls ZSBsaWNlbnNlIHRoYXQgY2FuIGJlCi0rLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLSsK LSsjaWZuZGVmIFNBTkRCT1hfTElOVVhfU1lTVEVNX0hFQURFUlNfUFBDNjRfTElOVVhfVUNPTlRF WFRfSF8KLSsjZGVmaW5lIFNBTkRCT1hfTElOVVhfU1lTVEVNX0hFQURFUlNfUFBDNjRfTElOVVhf VUNPTlRFWFRfSF8KLSsKLSsjaW5jbHVkZSA8c3lzL3Vjb250ZXh0Lmg+Ci0rCi0rLy9UT0RPOiBp cyBpdCBuZWNlc3NhcnkgdG8gcmVkZWZpbmUgdWNvbnRleHQgb24gUFBDNjQ/Ci0rCi0rI2VuZGlm ICAvLyBTQU5EQk9YX0xJTlVYX1NZU1RFTV9IRUFERVJTX1BQQzY0X0xJTlVYX1VDT05URVhUX0hf Ci1kaWZmIC0tZ2l0IHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zZXJ2aWNlcy9z ZXJ2aWNlX21hbmFnZXIvc2FuZGJveC9saW51eC9icGZfcmVuZGVyZXJfcG9saWN5X2xpbnV4LmNj IHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zZXJ2aWNlcy9zZXJ2aWNlX21hbmFn ZXIvc2FuZGJveC9saW51eC9icGZfcmVuZGVyZXJfcG9saWN5X2xpbnV4LmNjCi1pbmRleCBiYmVi MzE1MmQuLjE1NmNkMGQyNCAxMDA2NDQKLS0tLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hy b21pdW0vc2VydmljZXMvc2VydmljZV9tYW5hZ2VyL3NhbmRib3gvbGludXgvYnBmX3JlbmRlcmVy X3BvbGljeV9saW51eC5jYwotKysrIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9z ZXJ2aWNlcy9zZXJ2aWNlX21hbmFnZXIvc2FuZGJveC9saW51eC9icGZfcmVuZGVyZXJfcG9saWN5 X2xpbnV4LmNjCi1AQCAtMTUsNiArMTUsMTEgQEAKLSAjaW5jbHVkZSAic2FuZGJveC9saW51eC9z eXN0ZW1faGVhZGVycy9saW51eF9zeXNjYWxscy5oIgotICNpbmNsdWRlICJzZXJ2aWNlcy9zZXJ2 aWNlX21hbmFnZXIvc2FuZGJveC9saW51eC9zYW5kYm94X2xpbnV4LmgiCi0gCi0rLy8gT24gUFBD NjQsIFRDR0VUUyBpcyBkZWZpbmVkIGluIHRlcm1zIG9mIHN0cnVjdCB0ZXJtaW9zLCBzbyB3ZSBt dXN0IGluY2x1ZGUgdGVybWlvcy5oCi0rI2lmZGVmIF9fcG93ZXJwYzY0X18KLSsjaW5jbHVkZSA8 dGVybWlvcy5oPgotKyNlbmRpZgotKwotICNpZiBkZWZpbmVkKE9TX0NIUk9NRU9TKQotIC8vIFRP RE8odmlnbmF0dGkpOiByZXBsYWNlIHRoZSBsb2NhbCBkZWZpbml0aW9ucyBiZWxvdyB3aXRoICNp bmNsdWRlCi0gLy8gPGxpbnV4L2RtYS1idWYuaD4gb25jZSBrZXJuZWwgdmVyc2lvbiA0LjYgYmVj b21lcyB3aWRlbHkgdXNlZC4KLWRpZmYgLS1naXQgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2No cm9taXVtL3RoaXJkX3BhcnR5L1dlYktpdC9Tb3VyY2UvcGxhdGZvcm0vaGVhcC9IZWFwUGFnZS5o IHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9XZWJLaXQvU291 cmNlL3BsYXRmb3JtL2hlYXAvSGVhcFBhZ2UuaAotaW5kZXggMjA2NzQ1NjNlLi40OWY0NWZlZGUg MTAwNjQ0Ci0tLS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5 L1dlYktpdC9Tb3VyY2UvcGxhdGZvcm0vaGVhcC9IZWFwUGFnZS5oCi0rKysgcXR3ZWJlbmdpbmUv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L1dlYktpdC9Tb3VyY2UvcGxhdGZvcm0v aGVhcC9IZWFwUGFnZS5oCi1AQCAtNjIsMTEgKzYyLDEyIEBAIGNvbnN0ZXhwciBzaXplX3Qga0Js aW5rUGFnZUJhc2VNYXNrID0gfmtCbGlua1BhZ2VPZmZzZXRNYXNrOwotIGNvbnN0ZXhwciBzaXpl X3Qga0JsaW5rUGFnZXNQZXJSZWdpb24gPSAxMDsKLSAKLSAvLyBUT0RPKG55YSk6IFJlcGxhY2Ug dGhpcyB3aXRoIHNvbWV0aGluZyBsaWtlICNpZiBFTkFCTEVfTkFDTC4KLS0jaWYgMAotKyNpZiBk ZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0KQotIC8vIE5hQ2wncyBzeXN0ZW0gcGFnZSBzaXplIGlzIDY0 IEtpQi4gVGhpcyBjYXVzZXMgYSBwcm9ibGVtIGluIE9pbHBhbidzIGhlYXAKLSAvLyBsYXlvdXQg YmVjYXVzZSBPaWxwYW4gYWxsb2NhdGVzIHR3byBndWFyZCBwYWdlcyBmb3IgZWFjaCBCbGluayBw YWdlICh3aG9zZQotIC8vIHNpemUgaXMga0JsaW5rUGFnZVNpemUgPSAyXjE3ID0gMTI4IEtpQiku IFNvIHdlIGRvbid0IHVzZSBndWFyZCBwYWdlcyBpbgotIC8vIE5hQ2wuCi0rLy8gVGhlIHNhbWUg aXNzdWUgaG9sZHMgZm9yIHBwYzY0IHN5c3RlbXMsIHdoaWNoIHVzZSBhIDY0ayBwYWdlIHNpemUu Ci0gY29uc3RleHByIHNpemVfdCBrQmxpbmtHdWFyZFBhZ2VTaXplID0gMDsKLSAjZWxzZQotIGNv bnN0ZXhwciBzaXplX3Qga0JsaW5rR3VhcmRQYWdlU2l6ZSA9IGJhc2U6OmtTeXN0ZW1QYWdlU2l6 ZTsKLWRpZmYgLS1naXQgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3Bh cnR5L1dlYktpdC9Tb3VyY2UvcGxhdGZvcm0vaGVhcC9hc20vQlVJTEQuZ24gcXR3ZWJlbmdpbmUv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L1dlYktpdC9Tb3VyY2UvcGxhdGZvcm0v aGVhcC9hc20vQlVJTEQuZ24KLWluZGV4IDZjODc5NTBmNC4uYTJmYWIzMmIzIDEwMDY0NAotLS0t IHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9XZWJLaXQvU291 cmNlL3BsYXRmb3JtL2hlYXAvYXNtL0JVSUxELmduCi0rKysgcXR3ZWJlbmdpbmUvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L1dlYktpdC9Tb3VyY2UvcGxhdGZvcm0vaGVhcC9hc20v QlVJTEQuZ24KLUBAIC00Niw2ICs0NiwxMCBAQCBpZiAoY3VycmVudF9jcHUgPT0gIng4NiIgfHwg Y3VycmVudF9jcHUgPT0gIng2NCIpIHsKLSAgICAgICBzb3VyY2VzID0gWwotICAgICAgICAgIlNh dmVSZWdpc3RlcnNfbWlwczY0LlMiLAotICAgICAgIF0KLSsgICAgfSBlbHNlIGlmIChjdXJyZW50 X2NwdSA9PSAicHBjNjQiKSB7Ci0rICAgICAgc291cmNlcyA9IFsKLSsgICAgICAgICJTYXZlUmVn aXN0ZXJzX3BwYzY0LlMiLAotKyAgICAgIF0KLSAgICAgfQotIAotICAgICBpZiAoY3VycmVudF9j cHUgPT0gImFybSIpIHsKLWRpZmYgLS1naXQgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL3RoaXJkX3BhcnR5L1dlYktpdC9Tb3VyY2UvcGxhdGZvcm0vaGVhcC9hc20vU2F2ZVJlZ2lz dGVyc19wcGM2NC5TIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0 eS9XZWJLaXQvU291cmNlL3BsYXRmb3JtL2hlYXAvYXNtL1NhdmVSZWdpc3RlcnNfcHBjNjQuUwot bmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAwMC4uZWNkMTM5YWUxCi0tLS0gL2Rl di9udWxsCi0rKysgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5 L1dlYktpdC9Tb3VyY2UvcGxhdGZvcm0vaGVhcC9hc20vU2F2ZVJlZ2lzdGVyc19wcGM2NC5TCi1A QCAtMCwwICsxLDU5IEBACi0rLyoKLSsgKiB0eXBlZGVmIHZvaWQgKCpQdXNoQWxsUmVnaXN0ZXJz Q2FsbGJhY2spKFNhZmVQb2ludEJhcnJpZXIqLCBUaHJlYWRTdGF0ZSosIGludHB0cl90Kik7Ci0r ICogZXh0ZXJuICJDIiB2b2lkIFB1c2hBbGxSZWdpc3RlcnMoU2FmZVBvaW50QmFycmllciosIFRo cmVhZFN0YXRlKiwgUHVzaEFsbFJlZ2lzdGVyc0NhbGxiYWNrKQotKyAqLwotKwotKy50eXBlIFB1 c2hBbGxSZWdpc3RlcnMsICVmdW5jdGlvbgotKy5nbG9iYWwgUHVzaEFsbFJlZ2lzdGVycwotKy5o aWRkZW4gUHVzaEFsbFJlZ2lzdGVycwotK1B1c2hBbGxSZWdpc3RlcnM6Ci0rICAgICAgICAvLyBQ dXNoIGFsbCBjYWxsZWUtc2F2ZXMgcmVnaXN0ZXJzIHRvIGdldCB0aGVtCi0rICAgICAgICAvLyBv biB0aGUgc3RhY2sgZm9yIGNvbnNlcnZhdGl2ZSBzdGFjayBzY2FubmluZy4KLSsgICAgICAgIC8v IFJlc2VydmUgc3BhY2UgZm9yIGNhbGxlZS1zYXZlZCByZWdpc3RlcnMgYW5kIG1pbmltYWwgc3Rh Y2sgZnJhbWUuCi0rICAgICAgICBtZmxyIDAgICAgICAgICAjIHIwID0gTFIKLSsgICAgICAgIHN0 ZCAwLDE2KDEpICAgICMgc3RvcmUgTFIgYXQgYWRkciBzcCsxNgotKyAgICAgICAgc3RkdSAxLC0x NzYoMSkgIyBncm93IHN0YWNrIGJ5IDE3NiBieXRlcyBhbmQgc3RvcmUgbmV3IHN0YWNrIHRvcCBw dHIgdG8gcjEKLSsgICAgICAgICAgICAjIDMyMTgqOCA9IG1pbiBzdGFjayAgbm9uLXZvbGF0aWxl IHJlZ2lzdGVycwotKwotKyAgICAgICAgLy8gU2F2ZSB0aGUgY2FsbGVlLXNhdmVkIHJlZ2lzdGVy cwotKyAgICAgICAgc3RkIDMxLDE2OCgxKSAgIyBzdG9yZSByMzEgdG8gYWRkciBzcCsxNjggCi0r ICAgICAgICBzdGQgMzAsMTYwKDEpICAjIGV0Yy4uLgotKyAgICAgICAgc3RkIDI5LDE1MigxKQot KyAgICAgICAgc3RkIDI4LDE0NCgxKQotKyAgICAgICAgc3RkIDI3LDEzNigxKQotKyAgICAgICAg c3RkIDI2LDEyOCgxKQotKyAgICAgICAgc3RkIDI1LDEyMCgxKQotKyAgICAgICAgc3RkIDI0LDEx MigxKQotKyAgICAgICAgc3RkIDIzLDEwNCgxKQotKyAgICAgICAgc3RkIDIyLDk2KDEpCi0rICAg ICAgICBzdGQgMjEsODgoMSkKLSsgICAgICAgIHN0ZCAyMCw4MCgxKQotKyAgICAgICAgc3RkIDE5 LDcyKDEpCi0rICAgICAgICBzdGQgMTgsNjQoMSkKLSsgICAgICAgIHN0ZCAxNyw1NigxKQotKyAg ICAgICAgc3RkIDE2LDQ4KDEpCi0rICAgICAgICBzdGQgMTUsNDAoMSkKLSsgICAgICAgIHN0ZCAx NCwzMigxKQotKyAgICAgICAgCi0rICAgICAgICAvLyBOb3RlOiB0aGUgY2FsbGVlLXNhdmVkIGZs b2F0aW5nIHBvaW50IHJlZ2lzdGVycyBkbyBub3QgbmVlZCB0byBiZQotKyAgICAgICAgLy8gY29w aWVkIHRvIHRoZSBzdGFjaywgYmVjYXVzZSBmcCByZWdpc3RlcnMgbmV2ZXIgaG9sZCBoZWFwIHBv aW50ZXJzCi0rICAgICAgICAvLyBhbmQgc28gZG8gbm90IG5lZWQgdG8gYmUga2VwdCB2aXNpYmxl IHRvIHRoZSBnYXJiYWdlIGNvbGxlY3Rvci4KLSsgICAgICAgIAotKyAgICAgICAgLy8gUGFzcyB0 aGUgdHdvIGZpcnN0IGFyZ3VtZW50cyB1bnRvdWNoZWQgaW4gcjMgYW5kIHI0IGFuZCB0aGUKLSsg ICAgICAgIC8vIHN0YWNrIHBvaW50ZXIgdG8gdGhlIGNhbGxiYWNrLgotKwotKyAgICAgICAgc3Rk IDIsIDI0KDEpICAgIyBzYXZlIHIyIHRvIHNwKzI0IGFkZHIKLSsgICAgICAgIG10Y3RyIDUgICAg ICAgICMgY29weSAzcmQgZnVuY3Rpb24gYXJnIChjYWxsYmFjayBmbiBwb2ludGVyKSB0byBDVFIK LSsgICAgICAgIG1yIDEyLCA1ICAgICAgICMgcjEyIG11c3QgaG9sZCBhZGRyZXNzIG9mIGNhbGxi YWNrIHdlIGFyZSBnb2luZyB0byBjYWxsIAotKyAgICAgICAgICAgICAgICAgICAgICAgIyAgZm9y IHBvc2l0aW9uLWlkZXBlbmRlbnQgZnVuY3Rpb25zIGluc2lkZSB0aGUgY2FsbGJhY2sgdG8gd29y awotKyAgICAgICAgbXIgNSwgMSAgICAgICAgIyBzZXQgY3VycmVudCBzcCAoc3RhY2sgdG9wKSBh cyAzcmQgYXJndW1lbnQgZm9yIHRoZSBjYWxsYmFjawotKyAgICAgICAgYmN0cmwgICAgICAgICAg IyBzZXQgTFIgdG8gUEMrNCBhbmQgY2FsbCB0aGUgY2FsbGJhY2sKLSsgICAgICAgIGxkIDIsIDI0 KDEpICAgICMgcmVzdG9yZSByMiBmcm9tIHNwKzI0IGFkZHIKLSsKLSsgICAgICAgIC8vIEFkanVz dCBzdGFjaywgcmVzdG9yZSByZXR1cm4gYWRkcmVzcyBhbmQgcmV0dXJuLgotKyAgICAgICAgLy8g Tm90ZTogdGhlIGNvcGllZCByZWdpc3RlcnMgZG8gbm90IG5lZWQgdG8gYmUgcmVsb2FkZWQgaGVy ZSwKLSsgICAgICAgIC8vIGJlY2F1c2UgdGhleSB3ZXJlIHByZXNlcnZlZCBieSB0aGUgY2FsbGVk IHJvdXRpbmUuCi0rICAgICAgICBhZGRpIDEsMSwxNzYgICAjIHJlc3RvcmUgb3JpZ2luYWwgU1Ag YnkgZG9pbmcgc3AgKz0gMTc2Ci0rICAgICAgICBsZCAwLDE2KDEpICAgICAjIHJlc3RvcmUgb3Jp Z2luYWwgTFIgZnJvbSBhZGRyIHNwKzE2Ci0rICAgICAgICBtdGxyIDAgICAgICAgICAjIC4uLiBj b3B5IGl0IHRvIHRoZSBhY3R1YWwgTFIKLSsgICAgICAgIGJsciAgICAgICAgICAgICMgcmV0dXJu IHRvIExSIGFkZHIKLWRpZmYgLS1naXQgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVt L3RoaXJkX3BhcnR5L1dlYktpdC9Tb3VyY2UvcGxhdGZvcm0vd3RmL2R0b2EvdXRpbHMuaCBxdHdl YmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvV2ViS2l0L1NvdXJjZS9w bGF0Zm9ybS93dGYvZHRvYS91dGlscy5oCi1pbmRleCA3ZjFiMWM2Y2EuLjY1YWRjMGU2ZCAxMDA2 NDQKLS0tLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvV2Vi S2l0L1NvdXJjZS9wbGF0Zm9ybS93dGYvZHRvYS91dGlscy5oCi0rKysgcXR3ZWJlbmdpbmUvc3Jj LzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L1dlYktpdC9Tb3VyY2UvcGxhdGZvcm0vd3Rm L2R0b2EvdXRpbHMuaAotQEAgLTQ1LDcgKzQ1LDcgQEAKLSAvLyBkaXNhYmxlZC4pCi0gLy8gT24g TGludXgseDg2IDg5MjU1ZS0yMiAhPSBEaXZfZG91YmxlKDg5MjU1LjAvMWUyMikKLSAjaWYgZGVm aW5lZChfTV9YNjQpIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX0FSTUVMX18p IHx8IFwKLS0gICAgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX01JUFNFTF9fKQot KyAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBkZWZpbmVkKF9fTUlQU0VMX18pIHx8IGRlZmlu ZWQoX19wb3dlcnBjNjRfXykKLSAjZGVmaW5lIERPVUJMRV9DT05WRVJTSU9OX0NPUlJFQ1RfRE9V QkxFX09QRVJBVElPTlMgMQotICNlbGlmIGRlZmluZWQoX01fSVg4NikgfHwgZGVmaW5lZChfX2kz ODZfXykKLSAjaWYgZGVmaW5lZChfV0lOMzIpCi1kaWZmIC0tZ2l0IHF0d2ViZW5naW5lL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9hbmdsZS9zcmMvbGliQU5HTEUvQ29uc3RhbnRz LmggcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2FuZ2xlL3Ny Yy9saWJBTkdMRS9Db25zdGFudHMuaAotaW5kZXggMmZlOTIxYWYzLi4wYTBiZmU0NDIgMTAwNjQ0 Ci0tLS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2FuZ2xl L3NyYy9saWJBTkdMRS9Db25zdGFudHMuaAotKysrIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS90aGlyZF9wYXJ0eS9hbmdsZS9zcmMvbGliQU5HTEUvQ29uc3RhbnRzLmgKLUBAIC05 LDYgKzksNyBAQAotICNpZm5kZWYgTElCQU5HTEVfQ09OU1RBTlRTX0hfCi0gI2RlZmluZSBMSUJB TkdMRV9DT05TVEFOVFNfSF8KLSAKLSsjaW5jbHVkZSA8Y3N0ZGRlZj4KLSAjaW5jbHVkZSAiY29t bW9uL3BsYXRmb3JtLmgiCi0gCi0gbmFtZXNwYWNlIGdsCi1kaWZmIC0tZ2l0IHF0d2ViZW5naW5l L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMv Y2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi9yYXdfY29udGV4dF9jcHUuaCBxdHdlYmVu Z2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQv c3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vcmF3X2NvbnRleHRfY3B1LmgKLWlu ZGV4IGUyZWY0NWRmNS4uZTI5NWJkNzZiIDEwMDY0NAotLS0tIHF0d2ViZW5naW5lL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xp bnV4L2R1bXBfd3JpdGVyX2NvbW1vbi9yYXdfY29udGV4dF9jcHUuaAotKysrIHF0d2ViZW5naW5l L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMv Y2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi9yYXdfY29udGV4dF9jcHUuaAotQEAgLTQ0 LDYgKzQ0LDggQEAgdHlwZWRlZiBNRFJhd0NvbnRleHRBUk0gUmF3Q29udGV4dENQVTsKLSB0eXBl ZGVmIE1EUmF3Q29udGV4dEFSTTY0IFJhd0NvbnRleHRDUFU7Ci0gI2VsaWYgZGVmaW5lZChfX21p cHNfXykKLSB0eXBlZGVmIE1EUmF3Q29udGV4dE1JUFMgUmF3Q29udGV4dENQVTsKLSsjZWxpZiBk ZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0rdHlwZWRlZiBNRFJhd0NvbnRleHRQUEM2NCBSYXdDb250 ZXh0Q1BVOwotICNlbHNlCi0gI2Vycm9yICJUaGlzIGNvZGUgaGFzIG5vdCBiZWVuIHBvcnRlZCB0 byB5b3VyIHBsYXRmb3JtIHlldC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IHF0d2ViZW5naW5lL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xp ZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi90aHJlYWRfaW5mby5jYyBxdHdlYmVuZ2luZS9z cmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2Ns aWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vdGhyZWFkX2luZm8uY2MKLWluZGV4IDBhMTA0 MWQ2Mi4uZDJhN2IzMzk0IDEwMDY0NAotLS0tIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBf d3JpdGVyX2NvbW1vbi90aHJlYWRfaW5mby5jYwotKysrIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4 L2R1bXBfd3JpdGVyX2NvbW1vbi90aHJlYWRfaW5mby5jYwotQEAgLTI3MCw3ICsyNzAsNDIgQEAg dm9pZCBUaHJlYWRJbmZvOjpGaWxsQ1BVQ29udGV4dChSYXdDb250ZXh0Q1BVKiBvdXQpIGNvbnN0 IHsKLSAgIG91dC0+ZmxvYXRfc2F2ZS5maXIgPSBtY29udGV4dC5mcGNfZWlyOwotICNlbmRpZgot IH0KLS0jZW5kaWYgIC8vIF9fbWlwc19fCi0rCi0rI2VsaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9f KQotKwotK3VpbnRwdHJfdCBUaHJlYWRJbmZvOjpHZXRJbnN0cnVjdGlvblBvaW50ZXIoKSBjb25z dCB7Ci0rICAgIHJldHVybiBtY29udGV4dC5ncF9yZWdzW1BUX05JUF07Ci0rfQotKwotK3ZvaWQg VGhyZWFkSW5mbzo6RmlsbENQVUNvbnRleHQoUmF3Q29udGV4dENQVSogb3V0KSBjb25zdCB7Ci0r ICAgIG91dC0+Y29udGV4dF9mbGFncyA9IE1EX0NPTlRFWFRfUFBDNjRfRlVMTDsKLSsgICAgZm9y IChpbnQgaSA9IDA7IGkgPCBNRF9DT05URVhUX1BQQzY0X0dQUl9DT1VOVDsgaSsrKQotKyAgICAg ICAgb3V0LT5ncHJbaV0gPSBtY29udGV4dC5ncF9yZWdzW2ldOwotKwotKyAgICBvdXQtPmxyID0g bWNvbnRleHQuZ3BfcmVnc1tQVF9MTktdOwotKyAgICBvdXQtPnNycjAgPSBtY29udGV4dC5ncF9y ZWdzW1BUX05JUF07Ci0rICAgIG91dC0+c3JyMSA9IG1jb250ZXh0LmdwX3JlZ3NbUFRfTVNSXTsK LSsgICAgb3V0LT5jciA9IG1jb250ZXh0LmdwX3JlZ3NbUFRfQ0NSXTsKLSsgICAgb3V0LT54ZXIg PSBtY29udGV4dC5ncF9yZWdzW1BUX1hFUl07Ci0rICAgIG91dC0+Y3RyID0gbWNvbnRleHQuZ3Bf cmVnc1tQVF9DVFJdOwotKyAgICAKLSsgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBNRF9GTE9BVElO R1NBVkVBUkVBX1BQQ19GUFJfQ09VTlQ7IGkrKykKLSsgICAgICAgIG91dC0+ZmxvYXRfc2F2ZS5m cHJlZ3NbaV0gPSBtY29udGV4dC5mcF9yZWdzW2ldOwotKwotKyAgICBvdXQtPmZsb2F0X3NhdmUu ZnBzY3IgPSBtY29udGV4dC5mcF9yZWdzW05GUFJFRy0xXTsKLSsKLSsgICAgZm9yIChpbnQgaSA9 IDA7IGkgPCBNRF9WRUNUT1JTQVZFQVJFQV9QUENfVlJfQ09VTlQ7IGkrKykKLSsgICAgICAgIG91 dC0+dmVjdG9yX3NhdmUuc2F2ZV92cltpXSA9IFwKLSsgICAgICAgICAgICB7KCgodWludDY0X3Qp dnJlZ3MudnJyZWdzW2ldWzBdKSA8PCAzMikgCi0rICAgICAgICAgICAgICAgICAgICAgICAgICB8 IHZyZWdzLnZycmVnc1tpXVsxXSwgCi0rICAgICAgICAgICAgKCgodWludDY0X3QpdnJlZ3MudnJy ZWdzW2ldWzJdKSA8PCAzMikKLSsgICAgICAgICAgICAgICAgICAgICAgICAgfCB2cmVncy52cnJl Z3NbaV1bM119OwotKwotKyAgICBvdXQtPnZyc2F2ZSA9IHZyZWdzLnZyc2F2ZTsKLSsgICAgb3V0 LT52ZWN0b3Jfc2F2ZS5zYXZlX3ZzY3IgPSB7MCwgdnJlZ3MudnNjci52c2NyX3dvcmR9OwotKyAg ICBvdXQtPnZlY3Rvcl9zYXZlLnNhdmVfdnJ2YWxpZCA9IDB4RkZGRkZGRkY7IAotK30KLSsjZW5k aWYgIC8vIF9fcG93ZXJwYzY0X18KLSAKLSB2b2lkIFRocmVhZEluZm86OkdldEdlbmVyYWxQdXJw b3NlUmVnaXN0ZXJzKHZvaWQqKiBncF9yZWdzLCBzaXplX3QqIHNpemUpIHsKLSAgIGFzc2VydChn cF9yZWdzIHx8IHNpemUpOwotQEAgLTI3OSw2ICszMTQsMTEgQEAgdm9pZCBUaHJlYWRJbmZvOjpH ZXRHZW5lcmFsUHVycG9zZVJlZ2lzdGVycyh2b2lkKiogZ3BfcmVncywgc2l6ZV90KiBzaXplKSB7 Ci0gICAgICpncF9yZWdzID0gbWNvbnRleHQuZ3JlZ3M7Ci0gICBpZiAoc2l6ZSkKLSAgICAgKnNp emUgPSBzaXplb2YobWNvbnRleHQuZ3JlZ3MpOwotKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRf XykKLSsgIGlmIChncF9yZWdzKQotKyAgICAqZ3BfcmVncyA9IG1jb250ZXh0LmdwX3JlZ3M7Ci0r ICBpZiAoc2l6ZSkKLSsgICAgKnNpemUgPSBzaXplb2YobWNvbnRleHQuZ3BfcmVncyk7Ci0gI2Vs c2UKLSAgIGlmIChncF9yZWdzKQotICAgICAqZ3BfcmVncyA9ICZyZWdzOwotQEAgLTI5NCw2ICsz MzQsMTEgQEAgdm9pZCBUaHJlYWRJbmZvOjpHZXRGbG9hdGluZ1BvaW50UmVnaXN0ZXJzKHZvaWQq KiBmcF9yZWdzLCBzaXplX3QqIHNpemUpIHsKLSAgICAgKmZwX3JlZ3MgPSAmbWNvbnRleHQuZnBy ZWdzOwotICAgaWYgKHNpemUpCi0gICAgICpzaXplID0gc2l6ZW9mKG1jb250ZXh0LmZwcmVncyk7 Ci0rI2VsaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotKyAgaWYgKGZwX3JlZ3MpCi0rICAgICpm cF9yZWdzID0gJm1jb250ZXh0LmZwX3JlZ3M7Ci0rICBpZiAoc2l6ZSkKLSsgICAgKnNpemUgPSBz aXplb2YobWNvbnRleHQuZnBfcmVncyk7Ci0gI2Vsc2UKLSAgIGlmIChmcF9yZWdzKQotICAgICAq ZnBfcmVncyA9ICZmcHJlZ3M7Ci1AQCAtMzAyLDQgKzM0NywxMyBAQCB2b2lkIFRocmVhZEluZm86 OkdldEZsb2F0aW5nUG9pbnRSZWdpc3RlcnModm9pZCoqIGZwX3JlZ3MsIHNpemVfdCogc2l6ZSkg ewotICNlbmRpZgotIH0KLSAKLSsjaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotK3ZvaWQgVGhy ZWFkSW5mbzo6R2V0VmVjdG9yUmVnaXN0ZXJzKHZvaWQqKiB2X3JlZ3MsIHNpemVfdCogc2l6ZSkg ewotKyAgICBpZiAodl9yZWdzKQotKyAgICAgICAgKnZfcmVncyA9ICZ2cmVnczsKLSsgICAgaWYg KHNpemUpCi0rICAgICAgICAqc2l6ZSA9IHNpemVvZih2cmVncyk7Ci0rfQotKyNlbmRpZgotKwot IH0gIC8vIG5hbWVzcGFjZSBnb29nbGVfYnJlYWtwYWQKLWRpZmYgLS1naXQgcXR3ZWJlbmdpbmUv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9j bGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3RocmVhZF9pbmZvLmggcXR3ZWJlbmdpbmUv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9j bGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3RocmVhZF9pbmZvLmgKLWluZGV4IGZiMjE2 ZmE2ZC4uZmI2NjkxMjZmIDEwMDY0NAotLS0tIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBf d3JpdGVyX2NvbW1vbi90aHJlYWRfaW5mby5oCi0rKysgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5 L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgv ZHVtcF93cml0ZXJfY29tbW9uL3RocmVhZF9pbmZvLmgKLUBAIC02OCw2ICs2OCwxMCBAQCBzdHJ1 Y3QgVGhyZWFkSW5mbyB7Ci0gICAvLyBVc2UgdGhlIHN0cnVjdHVyZXMgZGVmaW5lZCBpbiA8c3lz L3VzZXIuaD4KLSAgIHN0cnVjdCB1c2VyX3JlZ3Nfc3RydWN0IHJlZ3M7Ci0gICBzdHJ1Y3QgdXNl cl9mcHNpbWRfc3RydWN0IGZwcmVnczsKLSsjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0r ICAvLyBVc2UgdGhlIHN0cnVjdHVyZXMgZGVmaW5lZCBpbiA8c3lzL3Vjb250ZXh0Lmg+LgotKyAg bWNvbnRleHRfdCBtY29udGV4dDsKLSsgIHN0cnVjdCBfbGliY192cnN0YXRlIHZyZWdzOwotICNl bGlmIGRlZmluZWQoX19taXBzX18pCi0gICAvLyBVc2UgdGhlIHN0cnVjdHVyZSBkZWZpbmVkIGlu IDxzeXMvdWNvbnRleHQuaD4uCi0gICBtY29udGV4dF90IG1jb250ZXh0OwotQEAgLTg0LDYgKzg4 LDExIEBAIHN0cnVjdCBUaHJlYWRJbmZvIHsKLSAKLSAgIC8vIFJldHVybnMgdGhlIHBvaW50ZXIg YW5kIHNpemUgb2YgZmxvYXQgcG9pbnQgcmVnaXN0ZXIgYXJlYS4KLSAgIHZvaWQgR2V0RmxvYXRp bmdQb2ludFJlZ2lzdGVycyh2b2lkKiogZnBfcmVncywgc2l6ZV90KiBzaXplKTsKLSsKLSsjaWYg ZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotKyAgLy8gUmV0dXJucyB0aGUgcG9pbnRlciBhbmQgc2l6 ZSBvZiB0aGUgdmVjdG9yIHJlZ2lzdGVyIGFyZWEuIChQUEM2NCBvbmx5KQotKyAgdm9pZCBHZXRW ZWN0b3JSZWdpc3RlcnModm9pZCoqIHZfcmVncywgc2l6ZV90KiBzaXplKTsKLSsjZW5kaWYKLSB9 OwotIAotIH0gIC8vIG5hbWVzcGFjZSBnb29nbGVfYnJlYWtwYWQKLWRpZmYgLS1naXQgcXR3ZWJl bmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFk L3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3Vjb250ZXh0X3JlYWRlci5jYyBx dHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJl YWtwYWQvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vdWNvbnRleHRfcmVhZGVy LmNjCi1pbmRleCA5NWIwZmI0NGUuLjgyYjQyOGZhOSAxMDA2NDQKLS0tLSBxdHdlYmVuZ2luZS9z cmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2Ns aWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vdWNvbnRleHRfcmVhZGVyLmNjCi0rKysgcXR3 ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFr cGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3Vjb250ZXh0X3JlYWRlci5j YwotQEAgLTI1NCw2ICsyNTQsNDggQEAgdm9pZCBVQ29udGV4dFJlYWRlcjo6RmlsbENQVUNvbnRl eHQoUmF3Q29udGV4dENQVSAqb3V0LCBjb25zdCB1Y29udGV4dF90ICp1YykgewotICAgb3V0LT5m bG9hdF9zYXZlLmZpciA9IHVjLT51Y19tY29udGV4dC5mcGNfZWlyOyAgLy8gVW51c2VkLgotICNl bmRpZgotIH0KLSsKLSsjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0rCi0rdWludHB0cl90 IFVDb250ZXh0UmVhZGVyOjpHZXRTdGFja1BvaW50ZXIoY29uc3QgdWNvbnRleHRfdCogdWMpIHsK LSsgICAgcmV0dXJuIHVjLT51Y19tY29udGV4dC5ncF9yZWdzW01EX0NPTlRFWFRfUFBDNjRfUkVH X1NQXTsKLSt9Ci0rCi0rdWludHB0cl90IFVDb250ZXh0UmVhZGVyOjpHZXRJbnN0cnVjdGlvblBv aW50ZXIoY29uc3QgdWNvbnRleHRfdCogdWMpIHsKLSsgICAgcmV0dXJuIHVjLT51Y19tY29udGV4 dC5ncF9yZWdzW1BUX05JUF07Ci0rfQotKwotK3ZvaWQgVUNvbnRleHRSZWFkZXI6OkZpbGxDUFVD b250ZXh0KFJhd0NvbnRleHRDUFUqIG91dCwgY29uc3QgdWNvbnRleHRfdCogdWMsCi0rICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IF9saWJjX3Zyc3RhdGUq IHZyZWdzKSB7Ci0rICAgIG91dC0+Y29udGV4dF9mbGFncyA9IE1EX0NPTlRFWFRfUFBDNjRfRlVM TDsKLSsKLSsgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBNRF9DT05URVhUX1BQQzY0X0dQUl9DT1VO VDsgaSsrKQotKyAgICAgICAgb3V0LT5ncHJbaV0gPSB1Yy0+dWNfbWNvbnRleHQuZ3BfcmVnc1tp XTsKLSsKLSsgICAgb3V0LT5sciA9IHVjLT51Y19tY29udGV4dC5ncF9yZWdzW1BUX0xOS107ICAg IAotKyAgICBvdXQtPnNycjAgPSB1Yy0+dWNfbWNvbnRleHQuZ3BfcmVnc1tQVF9OSVBdOwotKyAg ICBvdXQtPnNycjEgPSB1Yy0+dWNfbWNvbnRleHQuZ3BfcmVnc1tQVF9NU1JdOwotKyAgICBvdXQt PmNyID0gdWMtPnVjX21jb250ZXh0LmdwX3JlZ3NbUFRfQ0NSXTsKLSsgICAgb3V0LT54ZXIgPSB1 Yy0+dWNfbWNvbnRleHQuZ3BfcmVnc1tQVF9YRVJdOwotKyAgICBvdXQtPmN0ciA9IHVjLT51Y19t Y29udGV4dC5ncF9yZWdzW1BUX0NUUl07Ci0rICAgIAotKyAgICBmb3IgKGludCBpID0gMDsgaSA8 IE1EX0ZMT0FUSU5HU0FWRUFSRUFfUFBDX0ZQUl9DT1VOVDsgaSsrKQotKyAgICAgICAgb3V0LT5m bG9hdF9zYXZlLmZwcmVnc1tpXSA9IHVjLT51Y19tY29udGV4dC5mcF9yZWdzW2ldOwotKwotKyAg ICBvdXQtPmZsb2F0X3NhdmUuZnBzY3IgPSB1Yy0+dWNfbWNvbnRleHQuZnBfcmVnc1tORlBSRUct MV07Ci0rCi0rICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTURfVkVDVE9SU0FWRUFSRUFfUFBDX1ZS X0NPVU5UOyBpKyspCi0rICAgICAgICBvdXQtPnZlY3Rvcl9zYXZlLnNhdmVfdnJbaV0gPQotKyAg ICAgICAgICAgIHsoKCh1aW50NjRfdCl2cmVncy0+dnJyZWdzW2ldWzBdKSA8PCAzMikgCi0rICAg ICAgICAgICAgICAgICAgICAgICAgIHwgdnJlZ3MtPnZycmVnc1tpXVsxXSwgCi0rICAgICAgICAg ICAgICgoKHVpbnQ2NF90KXZyZWdzLT52cnJlZ3NbaV1bMl0pIDw8IDMyKQotKyAgICAgICAgICAg ICAgICAgICAgICAgICB8IHZyZWdzLT52cnJlZ3NbaV1bM119OwotKwotKyAgICBvdXQtPnZyc2F2 ZSA9IHZyZWdzLT52cnNhdmU7Ci0rICAgIG91dC0+dmVjdG9yX3NhdmUuc2F2ZV92c2NyID0gezAs IHZyZWdzLT52c2NyLnZzY3Jfd29yZH07Ci0rICAgIG91dC0+dmVjdG9yX3NhdmUuc2F2ZV92cnZh bGlkID0gMHhGRkZGRkZGRjsgCi0rfQotKwotICNlbmRpZgotIAotIH0gIC8vIG5hbWVzcGFjZSBn b29nbGVfYnJlYWtwYWQKLWRpZmYgLS1naXQgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93 cml0ZXJfY29tbW9uL3Vjb250ZXh0X3JlYWRlci5oIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1 bXBfd3JpdGVyX2NvbW1vbi91Y29udGV4dF9yZWFkZXIuaAotaW5kZXggZjNkZGUxZjRkLi41YzFm MTZlNTYgMTAwNjQ0Ci0tLS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJk X3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29t bW9uL3Vjb250ZXh0X3JlYWRlci5oCi0rKysgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93 cml0ZXJfY29tbW9uL3Vjb250ZXh0X3JlYWRlci5oCi1AQCAtNTQsNiArNTQsOSBAQCBzdHJ1Y3Qg VUNvbnRleHRSZWFkZXIgewotICNlbGlmIGRlZmluZWQoX19hYXJjaDY0X18pCi0gICBzdGF0aWMg dm9pZCBGaWxsQ1BVQ29udGV4dChSYXdDb250ZXh0Q1BVICpvdXQsIGNvbnN0IHVjb250ZXh0X3Qg KnVjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IGZwc2ltZF9j b250ZXh0KiBmcHJlZ3MpOwotKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSsgIHN0YXRp YyB2b2lkIEZpbGxDUFVDb250ZXh0KFJhd0NvbnRleHRDUFUgKm91dCwgY29uc3QgdWNvbnRleHRf dCAqdWMsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgX2xpYmNf dnJzdGF0ZSogdnJlZ3MpOwotICNlbHNlCi0gICBzdGF0aWMgdm9pZCBGaWxsQ1BVQ29udGV4dChS YXdDb250ZXh0Q1BVICpvdXQsIGNvbnN0IHVjb250ZXh0X3QgKnVjKTsKLSAjZW5kaWYKLWRpZmYg LS1naXQgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFr cGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvaGFuZGxlci9leGNlcHRpb25faGFuZGxlci5j YyBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQv YnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyLmNjCi1p bmRleCAzMDNlOGVkYjkuLjg4NzRiMzg4YSAxMDA2NDQKLS0tLSBxdHdlYmVuZ2luZS9zcmMvM3Jk cGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9s aW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyLmNjCi0rKysgcXR3ZWJlbmdpbmUvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQv bGludXgvaGFuZGxlci9leGNlcHRpb25faGFuZGxlci5jYwotQEAgLTQ2MCw5ICs0NjAsMTYgQEAg Ym9vbCBFeGNlcHRpb25IYW5kbGVyOjpIYW5kbGVTaWduYWwoaW50IC8qc2lnKi8sIHNpZ2luZm9f dCogaW5mbywgdm9pZCogdWMpIHsKLSAgICAgbWVtY3B5KCZnX2NyYXNoX2NvbnRleHRfLmZsb2F0 X3N0YXRlLCBmcF9wdHIsCi0gICAgICAgICAgICBzaXplb2YoZ19jcmFzaF9jb250ZXh0Xy5mbG9h dF9zdGF0ZSkpOwotICAgfQotKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSsgIC8vIE9u IFBQQzY0LCB3ZSBtdXN0IGNvcHkgVlIgc3RhdGUKLSsgIHVjb250ZXh0X3QqIHVjX3B0ciA9ICh1 Y29udGV4dF90Kil1YzsKLSsgIGlmICh1Y19wdHItPnVjX21jb250ZXh0LnZfcmVncykgewotKyAg ICBtZW1jcHkoJmdfY3Jhc2hfY29udGV4dF8udmVjdG9yX3N0YXRlLCB1Y19wdHItPnVjX21jb250 ZXh0LnZfcmVncywKLSsgICAgICAgICAgIHNpemVvZihnX2NyYXNoX2NvbnRleHRfLnZlY3Rvcl9z dGF0ZSkpOwotKyAgfQotICNlbGlmICFkZWZpbmVkKF9fQVJNX0VBQklfXykgJiYgIWRlZmluZWQo X19taXBzX18pCi0gICAvLyBGUCBzdGF0ZSBpcyBub3QgcGFydCBvZiB1c2VyIEFCSSBvbiBBUk0g TGludXguCi0tICAvLyBJbiBjYXNlIG9mIE1JUFMgTGludXggRlAgc3RhdGUgaXMgYWxyZWFkeSBw YXJ0IG9mIHVjb250ZXh0X3QKLSsgIC8vIEluIGNhc2Ugb2YgTUlQUywgTGludXggRlAgc3RhdGUg aXMgYWxyZWFkeSBwYXJ0IG9mIHVjb250ZXh0X3QKLSAgIC8vIGFuZCAnZmxvYXRfc3RhdGUnIGlz IG5vdCBhIG1lbWJlciBvZiBDcmFzaENvbnRleHQuCi0gICB1Y29udGV4dF90KiB1Y19wdHIgPSAo dWNvbnRleHRfdCopdWM7Ci0gICBpZiAodWNfcHRyLT51Y19tY29udGV4dC5mcHJlZ3MpIHsKLUBA IC03MDAsMTEgKzcwNywxOSBAQCBib29sIEV4Y2VwdGlvbkhhbmRsZXI6OldyaXRlTWluaWR1bXAo KSB7Ci0gICB9Ci0gI2VuZGlmCi0gCi0tI2lmICFkZWZpbmVkKF9fQVJNX0VBQklfXykgJiYgIWRl ZmluZWQoX19hYXJjaDY0X18pICYmICFkZWZpbmVkKF9fbWlwc19fKQotKyNpZiAhZGVmaW5lZChf X0FSTV9FQUJJX18pICYmICFkZWZpbmVkKF9fYWFyY2g2NF9fKSAmJiAhZGVmaW5lZChfX21pcHNf XykgXAotKyAgICAmJiAhZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotICAgLy8gRlBVIHN0YXRlIGlz IG5vdCBwYXJ0IG9mIEFSTSBFQUJJIHVjb250ZXh0X3QuCi0gICBtZW1jcHkoJmNvbnRleHQuZmxv YXRfc3RhdGUsIGNvbnRleHQuY29udGV4dC51Y19tY29udGV4dC5mcHJlZ3MsCi0gICAgICAgICAg c2l6ZW9mKGNvbnRleHQuZmxvYXRfc3RhdGUpKTsKLSAjZW5kaWYKLSsKLSsjaWYgZGVmaW5lZChf X3Bvd2VycGM2NF9fKQotKyAgLy8gVmVjdG9yIHJlZ2lzdGVycyBtdXN0IGJlIGNvcGllZCBvbiBQ UEM2NAotKyAgbWVtY3B5KCZjb250ZXh0LnZlY3Rvcl9zdGF0ZSwgY29udGV4dC5jb250ZXh0LnVj X21jb250ZXh0LnZfcmVncywKLSsgICAgICAgICBzaXplb2YoY29udGV4dC52ZWN0b3Jfc3RhdGUp KTsKLSsjZW5kaWYKLSsKLSAgIGNvbnRleHQudGlkID0gc3lzX2dldHRpZCgpOwotIAotICAgLy8g QWRkIGFuIGV4Y2VwdGlvbiBzdHJlYW0gdG8gdGhlIG1pbmlkdW1wIGZvciBiZXR0ZXIgcmVwb3J0 aW5nLgotQEAgLTcyNSw2ICs3NDAsOSBAQCBib29sIEV4Y2VwdGlvbkhhbmRsZXI6OldyaXRlTWlu aWR1bXAoKSB7Ci0gI2VsaWYgZGVmaW5lZChfX21pcHNfXykKLSAgIGNvbnRleHQuc2lnaW5mby5z aV9hZGRyID0KLSAgICAgICByZWludGVycHJldF9jYXN0PHZvaWQqPihjb250ZXh0LmNvbnRleHQu dWNfbWNvbnRleHQucGMpOwotKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSsgIGNvbnRl eHQuc2lnaW5mby5zaV9hZGRyID0KLSsgICAgICByZWludGVycHJldF9jYXN0PHZvaWQqPihjb250 ZXh0LmNvbnRleHQudWNfbWNvbnRleHQuZ3BfcmVnc1tQVF9OSVBdKTsKLSAjZWxzZQotICNlcnJv ciAiVGhpcyBjb2RlIGhhcyBub3QgYmVlbiBwb3J0ZWQgdG8geW91ciBwbGF0Zm9ybSB5ZXQuIgot ICNlbmRpZgotZGlmZiAtLWdpdCBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhp cmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2Vw dGlvbl9oYW5kbGVyLmggcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3Bh cnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvaGFuZGxlci9leGNlcHRpb25f aGFuZGxlci5oCi1pbmRleCBkMjQ2ZjYwMTkuLjBhZjg5Mzg3OCAxMDA2NDQKLS0tLSBxdHdlYmVu Z2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQv c3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyLmgKLSsrKyBxdHdlYmVu Z2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQv c3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyLmgKLUBAIC0xOTIsNyAr MTkyLDExIEBAIGNsYXNzIEV4Y2VwdGlvbkhhbmRsZXIgewotICAgICBzaWdpbmZvX3Qgc2lnaW5m bzsKLSAgICAgcGlkX3QgdGlkOyAgLy8gdGhlIGNyYXNoaW5nIHRocmVhZC4KLSAgICAgdWNvbnRl eHRfdCBjb250ZXh0OwotLSNpZiAhZGVmaW5lZChfX0FSTV9FQUJJX18pICYmICFkZWZpbmVkKF9f bWlwc19fKQotKyNpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0rICAgIC8vIFBQQzY0J3MgRlAg c3RhdGUgaXMgYSBwYXJ0IG9mIHVjb250ZXh0X3QgbGlrZSBNSVBTIGJ1dCB0aGUgdmVjdG9yCi0r ICAgIC8vIHN0YXRlIGlzIG5vdCwgc28gYSBzdHJ1Y3QgaXMgbmVlZGVkLgotKyAgICB2c3RhdGVf dCB2ZWN0b3Jfc3RhdGU7Ci0rI2VsaWYgIWRlZmluZWQoX19BUk1fRUFCSV9fKSAmJiAhZGVmaW5l ZChfX21pcHNfXykKLSAgICAgLy8gI2lmZGVmIHRoaXMgb3V0IGJlY2F1c2UgRlAgc3RhdGUgaXMg bm90IHBhcnQgb2YgdXNlciBBQkkgZm9yIExpbnV4IEFSTS4KLSAgICAgLy8gSW4gY2FzZSBvZiBN SVBTIExpbnV4IEZQIHN0YXRlIGlzIGFscmVhZHkgcGFydCBvZiB1Y29udGV4dF90IHNvCi0gICAg IC8vICdmbG9hdF9zdGF0ZScgaXMgbm90IHJlcXVpcmVkLgotZGlmZiAtLWdpdCBxdHdlYmVuZ2lu ZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3Jj L2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyX3VuaXR0ZXN0LmNjIHF0d2Vi ZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3Bh ZC9zcmMvY2xpZW50L2xpbnV4L2hhbmRsZXIvZXhjZXB0aW9uX2hhbmRsZXJfdW5pdHRlc3QuY2MK LWluZGV4IDE5M2E3NmU3Yi4uMTY1ZmZmNmZhIDEwMDY0NAotLS0tIHF0d2ViZW5naW5lL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50 L2xpbnV4L2hhbmRsZXIvZXhjZXB0aW9uX2hhbmRsZXJfdW5pdHRlc3QuY2MKLSsrKyBxdHdlYmVu Z2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQv c3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyX3VuaXR0ZXN0LmNjCi1A QCAtNDk0LDYgKzQ5NCw4IEBAIGNvbnN0IHVuc2lnbmVkIGNoYXIga0lsbGVnYWxJbnN0cnVjdGlv bltdID0gewotICNpZiBkZWZpbmVkKF9fbWlwc19fKQotICAgLy8gbWZjMiB6ZXJvLEltcGwgLSB1 c3VhbGx5IGlsbGVnYWwgaW4gdXNlcnNwYWNlLgotICAgMHg0OCwgMHgwMCwgMHgwMCwgMHg0OAot KyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSsgIDB4MDEsIDB4MDEsIDB4MDEsIDB4MDEg Ly8gQ3Jhc2hlcyBvbiBhIHRlc3RlZCBQT1dFUjkgY3B1Ci0gI2Vsc2UKLSAgIC8vIFRoaXMgY3Jh c2hlcyB3aXRoIFNJR0lMTCBvbiB4ODYveDg2LTY0L2FybS4KLSAgIDB4ZmYsIDB4ZmYsIDB4ZmYs IDB4ZmYKLUBAIC02ODksMTAgKzY5MSwxMCBAQCBURVNUKEV4Y2VwdGlvbkhhbmRsZXJUZXN0LCBJ bnN0cnVjdGlvblBvaW50ZXJNZW1vcnlNYXhCb3VuZCkgewotIAotICAgLy8gVGhlc2UgYXJlIGRl ZmluZWQgaGVyZSBzbyB0aGUgcGFyZW50IGNhbiB1c2UgdGhlbSB0byBjaGVjayB0aGUKLSAgIC8v IGRhdGEgZnJvbSB0aGUgbWluaWR1bXAgYWZ0ZXJ3YXJkcy4KLS0gIC8vIFVzZSA0ayBoZXJlIGJl Y2F1c2UgdGhlIE9TIHdpbGwgaGFuZCBvdXQgYSBzaW5nbGUgcGFnZSBldmVuCi0rICAvLyBVc2Ug dGhlIHBhZ2Ugc2l6ZSBoZXJlIGJlY2F1c2UgdGhlIE9TIHdpbGwgaGFuZCBvdXQgYSBzaW5nbGUg cGFnZSBldmVuCi0gICAvLyBpZiBhIHNtYWxsZXIgc2l6ZSBpcyByZXF1ZXN0ZWQsIGFuZCB0aGlz IHRlc3Qgd2FudHMgdG8KLSAgIC8vIHRlc3QgdGhlIHVwcGVyIGJvdW5kIG9mIHRoZSBtZW1vcnkg cmFuZ2UuCi0tICBjb25zdCB1aW50MzJfdCBrTWVtb3J5U2l6ZSA9IDQwOTY7ICAvLyBieXRlcwot KyAgY29uc3QgdWludDMyX3Qga01lbW9yeVNpemUgPSBnZXRwYWdlc2l6ZSgpOyAgLy8gYnl0ZXMK LSAgIGNvbnN0IGludCBrT2Zmc2V0ID0ga01lbW9yeVNpemUgLSBzaXplb2Yoa0lsbGVnYWxJbnN0 cnVjdGlvbik7Ci0gCi0gICBjb25zdCBwaWRfdCBjaGlsZCA9IGZvcmsoKTsKLWRpZmYgLS1naXQg cXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2Jy ZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWljcm9kdW1wX3dyaXRlci9taWNyb2R1bXBfd3JpdGVy LmNjIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3Bh ZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pY3JvZHVtcF93cml0ZXIvbWljcm9kdW1wX3dy aXRlci5jYwotaW5kZXggMTgwODczZjQwLi4yOTIxZmQzODcgMTAwNjQ0Ci0tLS0gcXR3ZWJlbmdp bmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3Ny Yy9jbGllbnQvbGludXgvbWljcm9kdW1wX3dyaXRlci9taWNyb2R1bXBfd3JpdGVyLmNjCi0rKysg cXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2Jy ZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWljcm9kdW1wX3dyaXRlci9taWNyb2R1bXBfd3JpdGVy LmNjCi1AQCAtMTM4LDcgKzEzOCw5IEBAIGNsYXNzIE1pY3JvZHVtcFdyaXRlciB7Ci0gICAgICAg ICAgICAgICAgICAgY29uc3QgTWljcm9kdW1wRXh0cmFJbmZvJiBtaWNyb2R1bXBfZXh0cmFfaW5m bywKLSAgICAgICAgICAgICAgICAgICBMaW51eER1bXBlciogZHVtcGVyKQotICAgICAgIDogdWNv bnRleHRfKGNvbnRleHQgPyAmY29udGV4dC0+Y29udGV4dCA6IE5VTEwpLAotLSNpZiAhZGVmaW5l ZChfX0FSTV9FQUJJX18pICYmICFkZWZpbmVkKF9fbWlwc19fKQotKyNpZiBkZWZpbmVkKF9fcG93 ZXJwYzY0X18pCi0rICAgICAgICB2ZWN0b3Jfc3RhdGVfKGNvbnRleHQgPyAmY29udGV4dC0+dmVj dG9yX3N0YXRlIDogTlVMTCksCi0rI2VsaWYgIWRlZmluZWQoX19BUk1fRUFCSV9fKSAmJiAhZGVm aW5lZChfX21pcHNfXykKLSAgICAgICAgIGZsb2F0X3N0YXRlXyhjb250ZXh0ID8gJmNvbnRleHQt PmZsb2F0X3N0YXRlIDogTlVMTCksCi0gI2VuZGlmCi0gICAgICAgICBkdW1wZXJfKGR1bXBlciks Ci1AQCAtMzM3LDYgKzMzOSw4IEBAIGNsYXNzIE1pY3JvZHVtcFdyaXRlciB7Ci0gIyBlbHNlCi0g IyAgZXJyb3IgIlRoaXMgbWlwcyBBQkkgaXMgY3VycmVudGx5IG5vdCBzdXBwb3J0ZWQgKG4zMiki Ci0gI2VuZGlmCi0rI2VsaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotKyAgICBjb25zdCBjaGFy IGtBcmNoW10gPSAicHBjNjQiOwotICNlbHNlCi0gI2Vycm9yICJUaGlzIGNvZGUgaGFzIG5vdCBi ZWVuIHBvcnRlZCB0byB5b3VyIHBsYXRmb3JtIHlldCIKLSAjZW5kaWYKLUBAIC00MDksNyArNDEz LDkgQEAgY2xhc3MgTWljcm9kdW1wV3JpdGVyIHsKLSAgIHZvaWQgRHVtcENQVVN0YXRlKCkgewot ICAgICBSYXdDb250ZXh0Q1BVIGNwdTsKLSAgICAgbXlfbWVtc2V0KCZjcHUsIDAsIHNpemVvZihS YXdDb250ZXh0Q1BVKSk7Ci0tI2lmICFkZWZpbmVkKF9fQVJNX0VBQklfXykgJiYgIWRlZmluZWQo X19taXBzX18pCi0rI2lmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSsgICAgVUNvbnRleHRSZWFk ZXI6OkZpbGxDUFVDb250ZXh0KCZjcHUsIHVjb250ZXh0XywgdmVjdG9yX3N0YXRlXyk7Ci0rI2Vs aWYgIWRlZmluZWQoX19BUk1fRUFCSV9fKSAmJiAhZGVmaW5lZChfX21pcHNfXykKLSAgICAgVUNv bnRleHRSZWFkZXI6OkZpbGxDUFVDb250ZXh0KCZjcHUsIHVjb250ZXh0XywgZmxvYXRfc3RhdGVf KTsKLSAjZWxzZQotICAgICBVQ29udGV4dFJlYWRlcjo6RmlsbENQVUNvbnRleHQoJmNwdSwgdWNv bnRleHRfKTsKLUBAIC02MDUsNyArNjExLDkgQEAgY2xhc3MgTWljcm9kdW1wV3JpdGVyIHsKLSAg IHZvaWQqIEFsbG9jKHVuc2lnbmVkIGJ5dGVzKSB7IHJldHVybiBkdW1wZXJfLT5hbGxvY2F0b3Io KS0+QWxsb2MoYnl0ZXMpOyB9Ci0gCi0gICBjb25zdCB1Y29udGV4dF90KiBjb25zdCB1Y29udGV4 dF87Ci0tI2lmICFkZWZpbmVkKF9fQVJNX0VBQklfXykgJiYgIWRlZmluZWQoX19taXBzX18pCi0r I2lmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSsgIGNvbnN0IGdvb2dsZV9icmVha3BhZDo6dnN0 YXRlX3QqIGNvbnN0IHZlY3Rvcl9zdGF0ZV87Ci0rI2VsaWYgIWRlZmluZWQoX19BUk1fRUFCSV9f KSAmJiAhZGVmaW5lZChfX21pcHNfXykKLSAgIGNvbnN0IGdvb2dsZV9icmVha3BhZDo6ZnBzdGF0 ZV90KiBjb25zdCBmbG9hdF9zdGF0ZV87Ci0gI2VuZGlmCi0gICBMaW51eER1bXBlciogZHVtcGVy XzsKLWRpZmYgLS1naXQgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3Bh cnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWljcm9kdW1wX3dyaXRlci9t aWNyb2R1bXBfd3JpdGVyX3VuaXR0ZXN0LmNjIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pY3Jv ZHVtcF93cml0ZXIvbWljcm9kdW1wX3dyaXRlcl91bml0dGVzdC5jYwotaW5kZXggYzJmZWEwMjI1 Li44YzYyYzUyNGEgMTAwNjQ0Ci0tLS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVt L3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWljcm9kdW1w X3dyaXRlci9taWNyb2R1bXBfd3JpdGVyX3VuaXR0ZXN0LmNjCi0rKysgcXR3ZWJlbmdpbmUvc3Jj LzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGll bnQvbGludXgvbWljcm9kdW1wX3dyaXRlci9taWNyb2R1bXBfd3JpdGVyX3VuaXR0ZXN0LmNjCi1A QCAtMjc4LDEwICsyNzgsMTkgQEAgVEVTVChNaWNyb2R1bXBXcml0ZXJUZXN0LCBCYXNpY1dpdGhN YXBwaW5ncykgewotICAgQ3Jhc2hBbmRHZXRNaWNyb2R1bXAobWFwcGluZ3MsIE1pY3JvZHVtcEV4 dHJhSW5mbygpLCAmYnVmKTsKLSAgIEFTU0VSVF9UUlVFKENvbnRhaW5zTWljcm9kdW1wKGJ1Zikp OwotIAotKyAgaW50IHBhZ2Vfc2l6ZSA9IGdldHBhZ2VzaXplKCk7Ci0gI2lmZGVmIF9fTFA2NF9f Ci0tICBBU1NFUlRfTkUoc3RkOjpzdHJpbmc6Om5wb3MsCi0tICAgICAgICAgICAgYnVmLmZpbmQo Ik0gMDAwMDAwMDAwMDAwMTAwMCAwMDAwMDAwMDAwMDAwMDJBIDAwMDAwMDAwMDAwMDEwMDAgIgot LSAgICAgICAgICAgICAgICAgICAgICIzMzIyMTEwMDU1NDQ3NzY2ODg5OUFBQkJDQ0RERUVGRjAg bGliZm9vLnNvIikpOwotKyAgLy8gVGhpcyB0ZXN0IGlzIG9ubHkgYXZhaWxhYmxlIGZvciB0aGUg Zm9sbG93aW5nIHBhZ2Ugc2l6ZXMKLSsgIEFTU0VSVF9UUlVFKChwYWdlX3NpemUgPT0gNDA5Nikg fHwgKHBhZ2Vfc2l6ZSA9PSA2NTUzNikpOwotKyAgaWYgKHBhZ2Vfc2l6ZSA9PSA0MDk2KSB7IAot KyAgICBBU1NFUlRfTkUoc3RkOjpzdHJpbmc6Om5wb3MsCi0rICAgICAgICAgICAgICBidWYuZmlu ZCgiTSAwMDAwMDAwMDAwMDAxMDAwIDAwMDAwMDAwMDAwMDAwMkEgMDAwMDAwMDAwMDAwMTAwMCAi Ci0rICAgICAgICAgICAgICAgICAgICAgICAiMzMyMjExMDA1NTQ0Nzc2Njg4OTlBQUJCQ0NEREVF RkYwIGxpYmZvby5zbyIpKTsKLSsgIH0gZWxzZSB7Ci0rICAgIEFTU0VSVF9ORShzdGQ6OnN0cmlu Zzo6bnBvcywKLSsgICAgICAgICAgICAgIGJ1Zi5maW5kKCJNIDAwMDAwMDAwMDAwMTAwMDAgMDAw MDAwMDAwMDAwMDAyQSAwMDAwMDAwMDAwMDEwMDAwICIKLSsgICAgICAgICAgICAgICAgICAgICAg ICIzMzIyMTEwMDU1NDQ3NzY2ODg5OUFBQkJDQ0RERUVGRjAgbGliZm9vLnNvIikpOwotKyAgfQot ICNlbHNlCi0gICBBU1NFUlRfTkUoc3RkOjpzdHJpbmc6Om5wb3MsCi0gICAgICAgICAgICAgYnVm LmZpbmQoIk0gMDAwMDEwMDAgMDAwMDAwMkEgMDAwMDEwMDAgIgotZGlmZiAtLWdpdCBxdHdlYmVu Z2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQv c3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfY29yZV9kdW1wZXIuY2MgcXR3 ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFr cGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X2NvcmVfZHVtcGVyLmNj Ci1pbmRleCA5YmUzNzUzMzMuLmYyOWFlNWU2MyAxMDA2NDQKLS0tLSBxdHdlYmVuZ2luZS9zcmMv M3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVu dC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfY29yZV9kdW1wZXIuY2MKLSsrKyBxdHdlYmVu Z2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQv c3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfY29yZV9kdW1wZXIuY2MKLUBA IC0xMTYsNiArMTE2LDkgQEAgYm9vbCBMaW51eENvcmVEdW1wZXI6OkdldFRocmVhZEluZm9CeUlu ZGV4KHNpemVfdCBpbmRleCwgVGhyZWFkSW5mbyogaW5mbykgewotICNlbGlmIGRlZmluZWQoX19t aXBzX18pCi0gICBzdGFja19wb2ludGVyID0KLSAgICAgICByZWludGVycHJldF9jYXN0PHVpbnQ4 X3QqPihpbmZvLT5tY29udGV4dC5ncmVnc1tNRF9DT05URVhUX01JUFNfUkVHX1NQXSk7Ci0rI2Vs aWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotKyAgc3RhY2tfcG9pbnRlciA9Ci0rICAgICAgcmVp bnRlcnByZXRfY2FzdDx1aW50OF90Kj4oaW5mby0+bWNvbnRleHQuZ3BfcmVnc1tNRF9DT05URVhU X1BQQzY0X1JFR19TUF0pOwotICNlbHNlCi0gI2Vycm9yICJUaGlzIGNvZGUgaGFzbid0IGJlZW4g cG9ydGVkIHRvIHlvdXIgcGxhdGZvcm0geWV0LiIKLSAjZW5kaWYKLUBAIC0yMDAsNyArMjAzLDEw IEBAIGJvb2wgTGludXhDb3JlRHVtcGVyOjpFbnVtZXJhdGVUaHJlYWRzKCkgewotICAgICAgICAg bWVtc2V0KCZpbmZvLCAwLCBzaXplb2YoVGhyZWFkSW5mbykpOwotICAgICAgICAgaW5mby50Z2lk ID0gc3RhdHVzLT5wcl9wZ3JwOwotICAgICAgICAgaW5mby5wcGlkID0gc3RhdHVzLT5wcl9wcGlk OwotLSNpZiBkZWZpbmVkKF9fbWlwc19fKQotKyNpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0r ICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IDMxOyBpKyspCi0rICAgICAgICAgICAgaW5mby5t Y29udGV4dC5ncF9yZWdzW2ldID0gc3RhdHVzLT5wcl9yZWdbaV07Ci0rI2VsaWYgZGVmaW5lZChf X21pcHNfXykKLSAjaWYgZGVmaW5lZChfX0FORFJPSURfXykKLSAgICAgICAgIGZvciAoaW50IGkg PSBFRl9SMDsgaSA8PSBFRl9SMzE7IGkrKykKLSAgICAgICAgICAgaW5mby5tY29udGV4dC5ncmVn c1tpIC0gRUZfUjBdID0gc3RhdHVzLT5wcl9yZWdbaV07Ci1kaWZmIC0tZ2l0IHF0d2ViZW5naW5l L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMv Y2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9kdW1wZXIuY2MgcXR3ZWJlbmdpbmUv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9j bGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X2R1bXBlci5jYwotaW5kZXggNTE1YWYz ZmY0Li5hMzI5OTUwNzYgMTAwNjQ0Ci0tLS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1 bXBfd3JpdGVyL2xpbnV4X2R1bXBlci5jYwotKysrIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21p bmlkdW1wX3dyaXRlci9saW51eF9kdW1wZXIuY2MKLUBAIC03OTEsNyArNzkxLDkgQEAgYm9vbCBM aW51eER1bXBlcjo6R2V0U3RhY2tJbmZvKGNvbnN0IHZvaWQqKiBzdGFjaywgc2l6ZV90KiBzdGFj a19sZW4sCi0gICAgICAgcmVpbnRlcnByZXRfY2FzdDx1aW50OF90Kj4oaW50X3N0YWNrX3BvaW50 ZXIgJiB+KHBhZ2Vfc2l6ZSAtIDEpKTsKLSAKLSAgIC8vIFRoZSBudW1iZXIgb2YgYnl0ZXMgb2Yg c3RhY2sgd2hpY2ggd2UgdHJ5IHRvIGNhcHR1cmUuCi0tICBzdGF0aWMgY29uc3QgcHRyZGlmZl90 IGtTdGFja1RvQ2FwdHVyZSA9IDMyICogMTAyNDsKLSsgIC8vIFRoaXMgbm93IGRlcGVuZHMgb24g cGFnZV9zaXplIHRvIGF2b2lkIG1pc3NpbmcgZGF0YQotKyAgLy8gb24gc3lzdGVtcyB3aXRoIGxh cmdlciBwYWdlIHNpemVzLgotKyAgc3RhdGljIGNvbnN0IHB0cmRpZmZfdCBrU3RhY2tUb0NhcHR1 cmUgPSA4ICogcGFnZV9zaXplOwotIAotICAgY29uc3QgTWFwcGluZ0luZm8qIG1hcHBpbmcgPSBG aW5kTWFwcGluZyhzdGFja19wb2ludGVyKTsKLSAgIGlmICghbWFwcGluZykKLWRpZmYgLS1naXQg cXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2Jy ZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X2R1bXBlci5oIHF0 d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVh a3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9kdW1wZXIuaAotaW5k ZXggNGE0ZTBiMGFmLi5jYWEwZmFiNjMgMTAwNjQ0Ci0tLS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGlu dXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X2R1bXBlci5oCi0rKysgcXR3ZWJlbmdpbmUvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQv bGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X2R1bXBlci5oCi1AQCAtNjAsNyArNjAsOCBAQCBu YW1lc3BhY2UgZ29vZ2xlX2JyZWFrcGFkIHsKLSAgKGRlZmluZWQoX19taXBzX18pICYmIF9NSVBT X1NJTSA9PSBfQUJJTzMyKQotIHR5cGVkZWYgRWxmMzJfYXV4dl90IGVsZl9hdXhfZW50cnk7Ci0g I2VsaWYgZGVmaW5lZChfX3g4Nl82NCkgfHwgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgXAotLSAg ICAgKGRlZmluZWQoX19taXBzX18pICYmIF9NSVBTX1NJTSAhPSBfQUJJTzMyKQotKyAgICAgKGRl ZmluZWQoX19taXBzX18pICYmIF9NSVBTX1NJTSAhPSBfQUJJTzMyKSB8fCBcCi0rICAgICBkZWZp bmVkKF9fcG93ZXJwYzY0X18pCi0gdHlwZWRlZiBFbGY2NF9hdXh2X3QgZWxmX2F1eF9lbnRyeTsK LSAjZW5kaWYKLSAKLWRpZmYgLS1naXQgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVt L3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBf d3JpdGVyL2xpbnV4X2R1bXBlcl91bml0dGVzdF9oZWxwZXIuY2MgcXR3ZWJlbmdpbmUvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQv bGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X2R1bXBlcl91bml0dGVzdF9oZWxwZXIuY2MKLWlu ZGV4IDNhZDQ4ZTUwMS4uMTY4OGMzNjVlIDEwMDY0NAotLS0tIHF0d2ViZW5naW5lL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xp bnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9kdW1wZXJfdW5pdHRlc3RfaGVscGVyLmNjCi0rKysg cXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2Jy ZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X2R1bXBlcl91bml0 dGVzdF9oZWxwZXIuY2MKLUBAIC01MSw2ICs1MSw4IEBACi0gI2RlZmluZSBUSURfUFRSX1JFR0lT VEVSICJyY3giCi0gI2VsaWYgZGVmaW5lZChfX21pcHNfXykKLSAjZGVmaW5lIFRJRF9QVFJfUkVH SVNURVIgIiQxIgotKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSsjZGVmaW5lIFRJRF9Q VFJfUkVHSVNURVIgInI4IgotICNlbHNlCi0gI2Vycm9yIFRoaXMgdGVzdCBoYXMgbm90IGJlZW4g cG9ydGVkIHRvIHRoaXMgcGxhdGZvcm0uCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IHF0d2ViZW5naW5l L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMv Y2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9wdHJhY2VfZHVtcGVyLmNjIHF0d2Vi ZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3Bh ZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9wdHJhY2VfZHVtcGVyLmNj Ci1pbmRleCA4YTNmMDRlMjkuLmU2MDdiMjhkNSAxMDA2NDQKLS0tLSBxdHdlYmVuZ2luZS9zcmMv M3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVu dC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfcHRyYWNlX2R1bXBlci5jYwotKysrIHF0d2Vi ZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3Bh ZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9wdHJhY2VfZHVtcGVyLmNj Ci1AQCAtMTU0LDE5ICsxNTQsMjcgQEAgYm9vbCBMaW51eFB0cmFjZUR1bXBlcjo6Q29weUZyb21Q cm9jZXNzKHZvaWQqIGRlc3QsIHBpZF90IGNoaWxkLAotICAgcmV0dXJuIHRydWU7Ci0gfQotIAot LWJvb2wgTGludXhQdHJhY2VEdW1wZXI6OlJlYWRSZWdpc3RlclNldChUaHJlYWRJbmZvKiBpbmZv LCBwaWRfdCB0aWQpCi0tewotK2Jvb2wgTGludXhQdHJhY2VEdW1wZXI6OlJlYWRSZWdpc3RlclNl dChUaHJlYWRJbmZvKiBpbmZvLCBwaWRfdCB0aWQpIHsKLSAjaWZkZWYgUFRSQUNFX0dFVFJFR1NF VAotICAgc3RydWN0IGlvdmVjIGlvOwotICAgaW5mby0+R2V0R2VuZXJhbFB1cnBvc2VSZWdpc3Rl cnMoJmlvLmlvdl9iYXNlLCAmaW8uaW92X2xlbik7Ci0tICBpZiAoc3lzX3B0cmFjZShQVFJBQ0Vf R0VUUkVHU0VULCB0aWQsICh2b2lkKilOVF9QUlNUQVRVUywgKHZvaWQqKSZpbykgPT0gLTEpIHsK LSsgIGlmIChwdHJhY2UoUFRSQUNFX0dFVFJFR1NFVCwgdGlkLCAodm9pZCopTlRfUFJTVEFUVVMs ICh2b2lkKikmaW8pID09IC0xKSB7Ci0gICAgIHJldHVybiBmYWxzZTsKLSAgIH0KLSAKLSAgIGlu Zm8tPkdldEZsb2F0aW5nUG9pbnRSZWdpc3RlcnMoJmlvLmlvdl9iYXNlLCAmaW8uaW92X2xlbik7 Ci0tICBpZiAoc3lzX3B0cmFjZShQVFJBQ0VfR0VUUkVHU0VULCB0aWQsICh2b2lkKilOVF9GUFJF R1NFVCwgKHZvaWQqKSZpbykgPT0gLTEpIHsKLSsgIGlmIChwdHJhY2UoUFRSQUNFX0dFVFJFR1NF VCwgdGlkLCAodm9pZCopTlRfRlBSRUdTRVQsICh2b2lkKikmaW8pID09IC0xKSB7Ci0gICAgIHJl dHVybiBmYWxzZTsKLSAgIH0KLSsKLSsjaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotKyAgLy8g R3JhYiB0aGUgdmVjdG9yIHJlZ2lzdGVycyBvbiBQUEM2NCB0b28KLSsgIGluZm8tPkdldFZlY3Rv clJlZ2lzdGVycygmaW8uaW92X2Jhc2UsICZpby5pb3ZfbGVuKTsKLSsgIGlmIChwdHJhY2UoUFRS QUNFX0dFVFJFR1NFVCwgdGlkLCAodm9pZCopTlRfUFBDX1ZNWCwgKHZvaWQqKSZpbykgPT0gLTEp IHsKLSsgICAgcmV0dXJuIGZhbHNlOwotKyAgfQotKyNlbmRpZiAvLyBkZWZpbmVkKF9fcG93ZXJw YzY0X18pCi0rCi0gICByZXR1cm4gdHJ1ZTsKLSAjZWxzZQotICAgcmV0dXJuIGZhbHNlOwotQEAg LTMwMyw2ICszMTEsOSBAQCBib29sIExpbnV4UHRyYWNlRHVtcGVyOjpHZXRUaHJlYWRJbmZvQnlJ bmRleChzaXplX3QgaW5kZXgsIFRocmVhZEluZm8qIGluZm8pIHsKLSAjZWxpZiBkZWZpbmVkKF9f bWlwc19fKQotICAgc3RhY2tfcG9pbnRlciA9Ci0gICAgICAgcmVpbnRlcnByZXRfY2FzdDx1aW50 OF90Kj4oaW5mby0+bWNvbnRleHQuZ3JlZ3NbTURfQ09OVEVYVF9NSVBTX1JFR19TUF0pOwotKyNl bGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSsgIHN0YWNrX3BvaW50ZXIgPQotKyAgICAgIHJl aW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KGluZm8tPm1jb250ZXh0LmdwX3JlZ3NbTURfQ09OVEVY VF9QUEM2NF9SRUdfU1BdKTsKLSAjZWxzZQotICNlcnJvciAiVGhpcyBjb2RlIGhhc24ndCBiZWVu IHBvcnRlZCB0byB5b3VyIHBsYXRmb3JtIHlldC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IHF0d2Vi ZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3Bh ZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9wdHJhY2VfZHVtcGVyX3Vu aXR0ZXN0LmNjIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9i cmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9w dHJhY2VfZHVtcGVyX3VuaXR0ZXN0LmNjCi1pbmRleCBhNGEwZmQ5YjYuLjUyYzE1MDcwNCAxMDA2 NDQKLS0tLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJl YWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfcHRy YWNlX2R1bXBlcl91bml0dGVzdC5jYwotKysrIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlk dW1wX3dyaXRlci9saW51eF9wdHJhY2VfZHVtcGVyX3VuaXR0ZXN0LmNjCi1AQCAtNDU3LDYgKzQ1 Nyw5IEBAIFRFU1QoTGludXhQdHJhY2VEdW1wZXJUZXN0LCBWZXJpZnlTdGFja1JlYWRXaXRoTXVs dGlwbGVUaHJlYWRzKSB7Ci0gI2VsaWYgZGVmaW5lZChfX21pcHNfXykKLSAgICAgcGlkX3QqIHBy b2Nlc3NfdGlkX2xvY2F0aW9uID0KLSAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8cGlkX3QqPihv bmVfdGhyZWFkLm1jb250ZXh0LmdyZWdzWzFdKTsKLSsjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0 X18pCi0rICAgIHBpZF90KiBwcm9jZXNzX3RpZF9sb2NhdGlvbiA9Ci0rICAgICAgICByZWludGVy cHJldF9jYXN0PHBpZF90Kj4ob25lX3RocmVhZC5tY29udGV4dC5ncF9yZWdzWzhdKTsKLSAjZWxz ZQotICNlcnJvciBUaGlzIHRlc3QgaGFzIG5vdCBiZWVuIHBvcnRlZCB0byB0aGlzIHBsYXRmb3Jt LgotICNlbmRpZgotQEAgLTU1Myw2ICs1NTYsOCBAQCBURVNUX0YoTGludXhQdHJhY2VEdW1wZXJU ZXN0LCBTYW5pdGl6ZVN0YWNrQ29weSkgewotICAgdWludHB0cl90IGhlYXBfYWRkciA9IHRocmVh ZF9pbmZvLnJlZ3MucmN4OwotICNlbGlmIGRlZmluZWQoX19taXBzX18pCi0gICB1aW50cHRyX3Qg aGVhcF9hZGRyID0gdGhyZWFkX2luZm8ubWNvbnRleHQuZ3JlZ3NbMV07Ci0rI2VsaWYgZGVmaW5l ZChfX3Bvd2VycGM2NF9fKQotKyAgdWludHB0cl90IGhlYXBfYWRkciA9IHRocmVhZF9pbmZvLm1j b250ZXh0LmdwX3JlZ3NbOF07Ci0gI2Vsc2UKLSAjZXJyb3IgVGhpcyB0ZXN0IGhhcyBub3QgYmVl biBwb3J0ZWQgdG8gdGhpcyBwbGF0Zm9ybS4KLSAjZW5kaWYKLWRpZmYgLS1naXQgcXR3ZWJlbmdp bmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3Ny Yy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL21pbmlkdW1wX3dyaXRlci5jYyBxdHdlYmVu Z2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQv c3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbWluaWR1bXBfd3JpdGVyLmNjCi1pbmRl eCBjNzE2MTQzNDUuLmE5OGY5YWZhNSAxMDA2NDQKLS0tLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFy dHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51 eC9taW5pZHVtcF93cml0ZXIvbWluaWR1bXBfd3JpdGVyLmNjCi0rKysgcXR3ZWJlbmdpbmUvc3Jj LzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGll bnQvbGludXgvbWluaWR1bXBfd3JpdGVyL21pbmlkdW1wX3dyaXRlci5jYwotQEAgLTEzNiw3ICsx MzYsOSBAQCBjbGFzcyBNaW5pZHVtcFdyaXRlciB7Ci0gICAgICAgOiBmZF8obWluaWR1bXBfZmQp LAotICAgICAgICAgcGF0aF8obWluaWR1bXBfcGF0aCksCi0gICAgICAgICB1Y29udGV4dF8oY29u dGV4dCA/ICZjb250ZXh0LT5jb250ZXh0IDogTlVMTCksCi0tI2lmICFkZWZpbmVkKF9fQVJNX0VB QklfXykgJiYgIWRlZmluZWQoX19taXBzX18pCi0rI2lmIGRlZmluZWQoX19wb3dlcnBjNjRfXykK LSsgICAgICAgIHZlY3Rvcl9zdGF0ZV8oY29udGV4dCA/ICZjb250ZXh0LT52ZWN0b3Jfc3RhdGUg OiBOVUxMKSwKLSsjZWxpZiAhZGVmaW5lZChfX0FSTV9FQUJJX18pICYmICFkZWZpbmVkKF9fbWlw c19fKQotICAgICAgICAgZmxvYXRfc3RhdGVfKGNvbnRleHQgPyAmY29udGV4dC0+ZmxvYXRfc3Rh dGUgOiBOVUxMKSwKLSAjZW5kaWYKLSAgICAgICAgIGR1bXBlcl8oZHVtcGVyKSwKLUBAIC00Njgs NyArNDcwLDkgQEAgY2xhc3MgTWluaWR1bXBXcml0ZXIgewotICAgICAgICAgaWYgKCFjcHUuQWxs b2NhdGUoKSkKLSAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgbXlfbWVtc2V0KGNw dS5nZXQoKSwgMCwgc2l6ZW9mKFJhd0NvbnRleHRDUFUpKTsKLS0jaWYgIWRlZmluZWQoX19BUk1f RUFCSV9fKSAmJiAhZGVmaW5lZChfX21pcHNfXykKLSsjaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9f KQotKyAgICAgICAgVUNvbnRleHRSZWFkZXI6OkZpbGxDUFVDb250ZXh0KGNwdS5nZXQoKSwgdWNv bnRleHRfLCB2ZWN0b3Jfc3RhdGVfKTsKLSsjZWxpZiAhZGVmaW5lZChfX0FSTV9FQUJJX18pICYm ICFkZWZpbmVkKF9fbWlwc19fKQotICAgICAgICAgVUNvbnRleHRSZWFkZXI6OkZpbGxDUFVDb250 ZXh0KGNwdS5nZXQoKSwgdWNvbnRleHRfLCBmbG9hdF9zdGF0ZV8pOwotICNlbHNlCi0gICAgICAg ICBVQ29udGV4dFJlYWRlcjo6RmlsbENQVUNvbnRleHQoY3B1LmdldCgpLCB1Y29udGV4dF8pOwot QEAgLTg4OCw3ICs4OTIsNyBAQCBjbGFzcyBNaW5pZHVtcFdyaXRlciB7Ci0gICAgIGRpcmVudC0+ bG9jYXRpb24ucnZhID0gMDsKLSAgIH0KLSAKLS0jaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVm aW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKQotKyNpZiBkZWZpbmVkKF9faTM4 Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IGRlZmlu ZWQoX19wb3dlcnBjNjRfXykKLSAgIGJvb2wgV3JpdGVDUFVJbmZvcm1hdGlvbihNRFJhd1N5c3Rl bUluZm8qIHN5c19pbmZvKSB7Ci0gICAgIGNoYXIgdmVuZG9yX2lkW3NpemVvZihzeXNfaW5mby0+ Y3B1Lng4Nl9jcHVfaW5mby52ZW5kb3JfaWQpICsgMV0gPSB7MH07Ci0gICAgIHN0YXRpYyBjb25z dCBjaGFyIHZlbmRvcl9pZF9uYW1lW10gPSAidmVuZG9yX2lkIjsKLUBAIC05MDgsNyArOTEyLDkg QEAgY2xhc3MgTWluaWR1bXBXcml0ZXIgewotIAotICAgICAvLyBwcm9jZXNzb3JfYXJjaGl0ZWN0 dXJlIHNob3VsZCBhbHdheXMgYmUgc2V0LCBkbyB0aGlzIGZpcnN0Ci0gICAgIHN5c19pbmZvLT5w cm9jZXNzb3JfYXJjaGl0ZWN0dXJlID0KLS0jaWYgZGVmaW5lZChfX21pcHNfXykKLSsjaWYgZGVm aW5lZChfX3Bvd2VycGM2NF9fKQotKyAgICAgICAgTURfQ1BVX0FSQ0hJVEVDVFVSRV9QUEM2NDsK LSsjZWxpZiBkZWZpbmVkKF9fbWlwc19fKQotICMgaWYgX01JUFNfU0lNID09IF9BQklPMzIKLSAg ICAgICAgIE1EX0NQVV9BUkNISVRFQ1RVUkVfTUlQUzsKLSAjIGVsaWYgX01JUFNfU0lNID09IF9B Qkk2NAotQEAgLTEzMjQsNyArMTMzMCw5IEBAIGNsYXNzIE1pbmlkdW1wV3JpdGVyIHsKLSAgIGNv bnN0IGNoYXIqIHBhdGhfOyAgLy8gUGF0aCB0byB0aGUgZmlsZSB3aGVyZSB0aGUgbWluaWR1bSBz aG91bGQgYmUgd3JpdHRlbi4KLSAKLSAgIGNvbnN0IHVjb250ZXh0X3QqIGNvbnN0IHVjb250ZXh0 XzsgIC8vIGFsc28gZnJvbSB0aGUgc2lnbmFsIGhhbmRsZXIKLS0jaWYgIWRlZmluZWQoX19BUk1f RUFCSV9fKSAmJiAhZGVmaW5lZChfX21pcHNfXykKLSsjaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9f KQotKyAgY29uc3QgZ29vZ2xlX2JyZWFrcGFkOjp2c3RhdGVfdCogY29uc3QgdmVjdG9yX3N0YXRl XzsKLSsjZWxpZiAhZGVmaW5lZChfX0FSTV9FQUJJX18pICYmICFkZWZpbmVkKF9fbWlwc19fKQot ICAgY29uc3QgZ29vZ2xlX2JyZWFrcGFkOjpmcHN0YXRlX3QqIGNvbnN0IGZsb2F0X3N0YXRlXzsg IC8vIGRpdHRvCi0gI2VuZGlmCi0gICBMaW51eER1bXBlciogZHVtcGVyXzsKLWRpZmYgLS1naXQg cXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2Jy ZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL21pbmlkdW1wX3dyaXRlci5o IHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9i cmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVtcF93cml0ZXIu aAotaW5kZXggZDFjYzU2MjRjLi40MDM0OTUyOTUgMTAwNjQ0Ci0tLS0gcXR3ZWJlbmdpbmUvc3Jj LzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGll bnQvbGludXgvbWluaWR1bXBfd3JpdGVyL21pbmlkdW1wX3dyaXRlci5oCi0rKysgcXR3ZWJlbmdp bmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3Ny Yy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL21pbmlkdW1wX3dyaXRlci5oCi1AQCAtNDcs NiArNDcsOCBAQCBjbGFzcyBFeGNlcHRpb25IYW5kbGVyOwotIAotICNpZiBkZWZpbmVkKF9fYWFy Y2g2NF9fKQotIHR5cGVkZWYgc3RydWN0IGZwc2ltZF9jb250ZXh0IGZwc3RhdGVfdDsKLSsjZWxp ZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0rdHlwZWRlZiBzdHJ1Y3QgX2xpYmNfdnJzdGF0ZSB2 c3RhdGVfdDsKLSAjZWxpZiAhZGVmaW5lZChfX0FSTV9FQUJJX18pICYmICFkZWZpbmVkKF9fbWlw c19fKQotIHR5cGVkZWYgc3RydWN0IF9mcHN0YXRlIGZwc3RhdGVfdDsKLSAjZW5kaWYKLWRpZmYg LS1naXQgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFr cGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL21pbmlkdW1wX3dy aXRlcl91bml0dGVzdC5jYyBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRf cGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIv bWluaWR1bXBfd3JpdGVyX3VuaXR0ZXN0LmNjCi1pbmRleCA1ODNkZGRhODYuLjVlM2RlY2NmZCAx MDA2NDQKLS0tLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkv YnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbWluaWR1 bXBfd3JpdGVyX3VuaXR0ZXN0LmNjCi0rKysgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1 bXBfd3JpdGVyL21pbmlkdW1wX3dyaXRlcl91bml0dGVzdC5jYwotQEAgLTcxMCw2ICs3MTAsOSBA QCBURVNUKE1pbmlkdW1wV3JpdGVyVGVzdCwgSW52YWxpZFN0YWNrUG9pbnRlcikgewotICNlbGlm IGRlZmluZWQoX19taXBzX18pCi0gICBjb250ZXh0LmNvbnRleHQudWNfbWNvbnRleHQuZ3JlZ3Nb TURfQ09OVEVYVF9NSVBTX1JFR19TUF0gPQotICAgICAgIGludmFsaWRfc3RhY2tfcG9pbnRlcjsK LSsjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0rICBjb250ZXh0LmNvbnRleHQudWNfbWNv bnRleHQuZ3BfcmVnc1tNRF9DT05URVhUX1BQQzY0X1JFR19TUF0gPQotKyAgICAgIGludmFsaWRf c3RhY2tfcG9pbnRlcjsKLSAjZWxzZQotICMgZXJyb3IgIlRoaXMgY29kZSBoYXMgbm90IGJlZW4g cG9ydGVkIHRvIHlvdXIgcGxhdGZvcm0geWV0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgcXR3ZWJl bmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFk L3NyYy9jb21tb24vbGludXgvbWVtb3J5X21hcHBlZF9maWxlLmNjIHF0d2ViZW5naW5lL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY29tbW9u L2xpbnV4L21lbW9yeV9tYXBwZWRfZmlsZS5jYwotaW5kZXggNGU5MzgyNjlmLi5mMGZmMTVkOTYg MTAwNjQ0Ci0tLS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5 L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jb21tb24vbGludXgvbWVtb3J5X21hcHBlZF9maWxlLmNj Ci0rKysgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFr cGFkL2JyZWFrcGFkL3NyYy9jb21tb24vbGludXgvbWVtb3J5X21hcHBlZF9maWxlLmNjCi1AQCAt NjUsOCArNjUsNyBAQCBib29sIE1lbW9yeU1hcHBlZEZpbGU6Ok1hcChjb25zdCBjaGFyKiBwYXRo LCBzaXplX3Qgb2Zmc2V0KSB7Ci0gICB9Ci0gCi0gI2lmIGRlZmluZWQoX194ODZfNjRfXykgfHwg ZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgXAotLSAgIChkZWZpbmVkKF9fbWlwc19fKSAmJiBfTUlQ U19TSU0gPT0gX0FCSTY0KQotLQotKyAgIChkZWZpbmVkKF9fbWlwc19fKSAmJiBfTUlQU19TSU0g PT0gX0FCSTY0KSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gICBzdHJ1Y3Qga2VybmVsX3N0 YXQgc3Q7Ci0gICBpZiAoc3lzX2ZzdGF0KGZkLCAmc3QpID09IC0xIHx8IHN0LnN0X3NpemUgPCAw KSB7Ci0gI2Vsc2UKLWRpZmYgLS1naXQgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVt L3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jb21tb24vbGludXgvbWVtb3J5X21h cHBlZF9maWxlX3VuaXR0ZXN0LmNjIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90 aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY29tbW9uL2xpbnV4L21lbW9yeV9tYXBw ZWRfZmlsZV91bml0dGVzdC5jYwotaW5kZXggZmFkNTlmNDBjLi42MTY0OTZkNjcgMTAwNjQ0Ci0t LS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFk L2JyZWFrcGFkL3NyYy9jb21tb24vbGludXgvbWVtb3J5X21hcHBlZF9maWxlX3VuaXR0ZXN0LmNj Ci0rKysgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFr cGFkL2JyZWFrcGFkL3NyYy9jb21tb24vbGludXgvbWVtb3J5X21hcHBlZF9maWxlX3VuaXR0ZXN0 LmNjCi1AQCAtMTc2LDkgKzE3NiwxMCBAQCBURVNUX0YoTWVtb3J5TWFwcGVkRmlsZVRlc3QsIFJl bWFwQWZ0ZXJNYXApIHsKLSBURVNUX0YoTWVtb3J5TWFwcGVkRmlsZVRlc3QsIE1hcFdpdGhPZmZz ZXQpIHsKLSAgIC8vIFB1dCBtb3JlIGRhdGEgaW4gdGhlIHRlc3QgZmlsZSB0aGlzIHRpbWUuIE9m ZnNldHMgY2FuIG9ubHkgYmUKLSAgIC8vIGRvbmUgb24gcGFnZSBib3VuZGFyaWVzLCBzbyB3ZSBu ZWVkIGEgdHdvIHBhZ2UgZmlsZSB0byB0ZXN0IHRoaXMuCi0tICBjb25zdCBpbnQgcGFnZV9zaXpl ID0gNDA5NjsKLS0gIGNoYXIgZGF0YTFbMiAqIHBhZ2Vfc2l6ZV07Ci0tICBzaXplX3QgZGF0YTFf c2l6ZSA9IHNpemVvZihkYXRhMSk7Ci0rICBjb25zdCBpbnQgcGFnZV9zaXplID0gZ2V0cGFnZXNp emUoKTsKLSsgIGNoYXIgKmRhdGExID0gc3RhdGljX2Nhc3Q8Y2hhcio+KG1hbGxvYygyICogcGFn ZV9zaXplKSk7Ci0rICBFWFBFQ1RfVFJVRShkYXRhMSAhPSBOVUxMKTsKLSsgIHNpemVfdCBkYXRh MV9zaXplID0gKDIgKiBwYWdlX3NpemUpOwotICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBkYXRh MV9zaXplOyArK2kpIHsKLSAgICAgZGF0YTFbaV0gPSBpICYgMHg3ZjsKLSAgIH0KLWRpZmYgLS1n aXQgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFk L2JyZWFrcGFkL3NyYy9jb21tb24vbWVtb3J5X2FsbG9jYXRvcl91bml0dGVzdC5jYyBxdHdlYmVu Z2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQv c3JjL2NvbW1vbi9tZW1vcnlfYWxsb2NhdG9yX3VuaXR0ZXN0LmNjCi1pbmRleCA0M2M4NjMxNGMu LjI3MzI1YjgxMyAxMDA2NDQKLS0tLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0v dGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NvbW1vbi9tZW1vcnlfYWxsb2NhdG9y X3VuaXR0ZXN0LmNjCi0rKysgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJk X3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jb21tb24vbWVtb3J5X2FsbG9jYXRvcl91bml0 dGVzdC5jYwotQEAgLTU3LDggKzU3LDkgQEAgVEVTVChQYWdlQWxsb2NhdG9yVGVzdCwgTGFyZ2VP YmplY3QpIHsKLSAKLSAgIEVYUEVDVF9FUSgwVSwgYWxsb2NhdG9yLnBhZ2VzX2FsbG9jYXRlZCgp KTsKLSAgIHVpbnQ4X3QgKnAgPSByZWludGVycHJldF9jYXN0PHVpbnQ4X3QqPihhbGxvY2F0b3Iu QWxsb2MoMTAwMDApKTsKLSsgIHVpbnQ2NF90IGV4cGVjdGVkX3BhZ2VzID0gMSArICgoMTAwMDAg LSAxKSAvIGdldHBhZ2VzaXplKCkpOwotICAgQVNTRVJUX0ZBTFNFKHAgPT0gTlVMTCk7Ci0tICBF WFBFQ1RfRVEoM1UsIGFsbG9jYXRvci5wYWdlc19hbGxvY2F0ZWQoKSk7Ci0rICBFWFBFQ1RfRVEo ZXhwZWN0ZWRfcGFnZXMsIGFsbG9jYXRvci5wYWdlc19hbGxvY2F0ZWQoKSk7Ci0gICBmb3IgKHVu c2lnbmVkIGkgPSAxOyBpIDwgMTA7ICsraSkgewotICAgICB1aW50OF90ICpwID0gcmVpbnRlcnBy ZXRfY2FzdDx1aW50OF90Kj4oYWxsb2NhdG9yLkFsbG9jKGkpKTsKLSAgICAgQVNTRVJUX0ZBTFNF KHAgPT0gTlVMTCk7Ci1kaWZmIC0tZ2l0IHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvcHJvY2Vzc29yL2V4cGxvaXRhYmls aXR5X2xpbnV4LmNjIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0 eS9icmVha3BhZC9icmVha3BhZC9zcmMvcHJvY2Vzc29yL2V4cGxvaXRhYmlsaXR5X2xpbnV4LmNj Ci1pbmRleCBjY2M5ZjE0NTkuLmRlYmFlZDRkNiAxMDA2NDQKLS0tLSBxdHdlYmVuZ2luZS9zcmMv M3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL3Byb2Nl c3Nvci9leHBsb2l0YWJpbGl0eV9saW51eC5jYwotKysrIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvcHJvY2Vzc29yL2V4 cGxvaXRhYmlsaXR5X2xpbnV4LmNjCi1AQCAtMjAyLDEyICsyMDIsMTQgQEAgYm9vbCBFeHBsb2l0 YWJpbGl0eUxpbnV4OjpFbmRlZE9uSWxsZWdhbFdyaXRlKHVpbnQ2NF90IGluc3RydWN0aW9uX3B0 cikgewotICAgLy8gQ2hlY2sgYXJjaGl0ZWN0dXJlIGFuZCBzZXQgYXJjaGl0ZWN0dXJlIHZhcmlh YmxlIHRvIGNvcnJlc3BvbmRpbmcgZmxhZwotICAgLy8gaW4gb2JqZHVtcC4KLSAgIHN3aXRjaCAo Y29udGV4dC0+R2V0Q29udGV4dENQVSgpKSB7Ci0rI2lmIGRlZmluZWQoX19pMzg2KSB8fCBkZWZp bmVkKF9feDg2XzY0KQotICAgICBjYXNlIE1EX0NPTlRFWFRfWDg2OgotICAgICAgIGFyY2hpdGVj dHVyZSA9ICJpMzg2IjsKLSAgICAgICBicmVhazsKLSAgICAgY2FzZSBNRF9DT05URVhUX0FNRDY0 OgotICAgICAgIGFyY2hpdGVjdHVyZSA9ICJpMzg2Ong4Ni02NCI7Ci0gICAgICAgYnJlYWs7Ci0r I2VuZGlmCi0gICAgIGRlZmF1bHQ6Ci0gICAgICAgLy8gVW5zdXBwb3J0ZWQgYXJjaGl0ZWN0dXJl LiBOb3RlIHRoYXQgQVJNIGFyY2hpdGVjdHVyZXMgYXJlIG5vdAotICAgICAgIC8vIHN1cHBvcnRl ZCBiZWNhdXNlIG9iamR1bXAgZG9lcyBub3Qgc3VwcG9ydCBBUk0uCi1kaWZmIC0tZ2l0IHF0d2Vi ZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3Bh ZC9zcmMvcHJvY2Vzc29yL2V4cGxvaXRhYmlsaXR5X3VuaXR0ZXN0LmNjIHF0d2ViZW5naW5lL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvcHJv Y2Vzc29yL2V4cGxvaXRhYmlsaXR5X3VuaXR0ZXN0LmNjCi1pbmRleCA1MjhlZTVmMjEuLjcyNzY0 ZDZjMSAxMDA2NDQKLS0tLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRf cGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL3Byb2Nlc3Nvci9leHBsb2l0YWJpbGl0eV91bml0 dGVzdC5jYwotKysrIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0 eS9icmVha3BhZC9icmVha3BhZC9zcmMvcHJvY2Vzc29yL2V4cGxvaXRhYmlsaXR5X3VuaXR0ZXN0 LmNjCi1AQCAtMTA0LDYgKzEwNCw4IEBAIEV4cGxvaXRhYmlsaXR5Rm9yKGNvbnN0IHN0cmluZyYg ZmlsZW5hbWUpIHsKLSB9Ci0gCi0gVEVTVChFeHBsb2l0YWJpbGl0eVRlc3QsIFRlc3RXaW5kb3dz RW5naW5lKSB7Ci0rLy8gVGhlIGZvbGxvd2luZyB0ZXN0cyBhcmUgb25seSBleGVjdXRhYmxlIG9u IGFuIHg4Ni1jbGFzcyBsaW51eCBtYWNoaW5lLgotKyNpZiAhZGVmaW5lZChfV0lOMzIpICYmIChk ZWZpbmVkKF9faTM4NikgfHwgZGVmaW5lZChfX3g4Nl82NCkpCi0gICBBU1NFUlRfRVEoZ29vZ2xl X2JyZWFrcGFkOjpFWFBMT0lUQUJJTElUWV9ISUdILAotICAgICAgICAgICAgIEV4cGxvaXRhYmls aXR5Rm9yKCJhc2NpaV9yZWFkX2F2LmRtcCIpKTsKLSAgIEFTU0VSVF9FUShnb29nbGVfYnJlYWtw YWQ6OkVYUExPSVRBQklMSVRZX0hJR0gsCi1AQCAtMTM2LDkgKzEzOCwxMiBAQCBURVNUKEV4cGxv aXRhYmlsaXR5VGVzdCwgVGVzdFdpbmRvd3NFbmdpbmUpIHsKLSAgICAgICAgICAgICBFeHBsb2l0 YWJpbGl0eUZvcigicmVhZF9hdl9jbG9iYmVyX3dyaXRlLmRtcCIpKTsKLSAgIEFTU0VSVF9FUShn b29nbGVfYnJlYWtwYWQ6OkVYUExPSVRBQklMSVRZX0xPVywKLSAgICAgICAgICAgICBFeHBsb2l0 YWJpbGl0eUZvcigicmVhZF9hdl9jb25kaXRpb25hbC5kbXAiKSk7Ci0rI2VuZGlmCi0gfQotIAot IFRFU1QoRXhwbG9pdGFiaWxpdHlUZXN0LCBUZXN0TGludXhFbmdpbmUpIHsKLSsvLyBUaGUgZm9s bG93aW5nIHRlc3RzIGFyZSBvbmx5IGV4ZWN1dGFibGUgb24gYW4geDg2LWNsYXNzIGxpbnV4IG1h Y2hpbmUuCi0rI2lmIGRlZmluZWQoX19pMzg2KSB8fCBkZWZpbmVkKF9feDg2XzY0KQotICAgQVNT RVJUX0VRKGdvb2dsZV9icmVha3BhZDo6RVhQTE9JVEFCSUxJVFlfSU5URVJFU1RJTkcsCi0gICAg ICAgICAgICAgRXhwbG9pdGFiaWxpdHlGb3IoImxpbnV4X251bGxfcmVhZF9hdi5kbXAiKSk7Ci0g ICBBU1NFUlRfRVEoZ29vZ2xlX2JyZWFrcGFkOjpFWFBMT0lUQUJJTElUWV9ISUdILAotQEAgLTE3 MSw3ICsxNzYsOCBAQCBURVNUKEV4cGxvaXRhYmlsaXR5VGVzdCwgVGVzdExpbnV4RW5naW5lKSB7 Ci0gICAgICAgICAgICAgRXhwbG9pdGFiaWxpdHlGb3IoImxpbnV4X2V4ZWN1dGFibGVfaGVhcC5k bXAiKSk7Ci0gICBBU1NFUlRfRVEoZ29vZ2xlX2JyZWFrcGFkOjpFWFBMT0lUQUJJTElUWV9ISUdI LAotICAgICAgICAgICAgIEV4cGxvaXRhYmlsaXR5Rm9yKCJsaW51eF9qbXBfdG9fbW9kdWxlX25v dF9leGVfcmVnaW9uLmRtcCIpKTsKLS0jaWZuZGVmIF9XSU4zMgotKyNlbmRpZgotKyNpZiAhZGVm aW5lZChfV0lOMzIpICYmIChkZWZpbmVkKF9faTM4NikgfHwgZGVmaW5lZChfX3g4Nl82NCkpCi0g ICBBU1NFUlRfRVEoZ29vZ2xlX2JyZWFrcGFkOjpFWFBMT0lUQUJJTElUWV9ISUdILAotICAgICAg ICAgICAgIEV4cGxvaXRhYmlsaXR5Rm9yKCJsaW51eF93cml0ZV90b19ub253cml0YWJsZV9tb2R1 bGUuZG1wIikpOwotICAgQVNTRVJUX0VRKGdvb2dsZV9icmVha3BhZDo6RVhQTE9JVEFCSUxJVFlf SElHSCwKLUBAIC0xODIsMTAgKzE4OCwxMCBAQCBURVNUKEV4cGxvaXRhYmlsaXR5VGVzdCwgVGVz dExpbnV4RW5naW5lKSB7Ci0gICAgICAgICAgICAgRXhwbG9pdGFiaWxpdHlGb3IoImxpbnV4X3dy aXRlX3RvX291dHNpZGVfbW9kdWxlX3ZpYV9tYXRoLmRtcCIpKTsKLSAgIEFTU0VSVF9FUShnb29n bGVfYnJlYWtwYWQ6OkVYUExPSVRBQklMSVRZX0lOVEVSRVNUSU5HLAotICAgICAgICAgICAgIEV4 cGxvaXRhYmlsaXR5Rm9yKCJsaW51eF93cml0ZV90b191bmRlcl80ay5kbXAiKSk7Ci0tI2VuZGlm ICAvLyBfV0lOMzIKLSsjZW5kaWYgIC8vICFkZWZpbmVkKF9XSU4zMikgJiYgKCFkZWZpbmVkKF9f aTM4NikgJiYgIWRlZmluZWQoX194ODZfNjQpKQotIH0KLSAKLS0jaWZuZGVmIF9XSU4zMgotKyNp ZiAhZGVmaW5lZChfV0lOMzIpICYmIChkZWZpbmVkKF9faTM4NikgfHwgZGVmaW5lZChfX3g4Nl82 NCkpCi0gVEVTVChFeHBsb2l0YWJpbGl0eUxpbnV4VXRpbHNUZXN0LCBEaXNhc3NlbWJsZUJ5dGVz VGVzdCkgewotICAgQVNTRVJUX0ZBTFNFKEV4cGxvaXRhYmlsaXR5TGludXhUZXN0OjpEaXNhc3Nl bWJsZUJ5dGVzKCIiLCBOVUxMLCA1LCBOVUxMKSk7Ci0gICB1aW50OF90IGJ5dGVzWzZdID0gezB4 YzcsIDB4MCwgMHg1LCAweDAsIDB4MCwgMHgwfTsKLUBAIC0zMDEsNiArMzA3LDcgQEAgVEVTVChF eHBsb2l0YWJpbGl0eUxpbnV4VXRpbHNUZXN0LCBDYWxjdWxhdGVBZGRyZXNzVGVzdCkgewotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv bnRleHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJndyaXRlX2FkZHJlc3MpKTsKLSB9Ci0tI2VuZGlmICAvLyBfV0lOMzIKLSsjZW5k aWYgIC8vICFkZWZpbmVkKF9XSU4zMikgJiYgKGRlZmluZWQoX19pMzg2KSB8fCBkZWZpbmVkKF9f eDg2XzY0KSkKLSsKLSAKLSB9ICAvLyBuYW1lc3BhY2UKLWRpZmYgLS1naXQgcXR3ZWJlbmdpbmUv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy90 b29scy9saW51eC9tZDJjb3JlL21pbmlkdW1wLTItY29yZS5jYyBxdHdlYmVuZ2luZS9zcmMvM3Jk cGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL3Rvb2xzL2xp bnV4L21kMmNvcmUvbWluaWR1bXAtMi1jb3JlLmNjCi1pbmRleCA4Y2MwN2E2ZWYuLmY2NzU1Njkx NCAxMDA2NDQKLS0tLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFy dHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL3Rvb2xzL2xpbnV4L21kMmNvcmUvbWluaWR1bXAtMi1j b3JlLmNjCi0rKysgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5 L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy90b29scy9saW51eC9tZDJjb3JlL21pbmlkdW1wLTItY29y ZS5jYwotQEAgLTc2LDYgKzc2LDggQEAKLSAgICNkZWZpbmUgRUxGX0FSQ0ggIEVNX01JUFMKLSAj ZWxpZiBkZWZpbmVkKF9fYWFyY2g2NF9fKQotICAgI2RlZmluZSBFTEZfQVJDSCAgRU1fQUFSQ0g2 NAotKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSsgICNkZWZpbmUgRUxGX0FSQ0ggIEVN X1BQQzY0Ci0gI2VuZGlmCi0gCi0gI2lmIGRlZmluZWQoX19hcm1fXykKLUBAIC04Niw2ICs4OCw4 IEBAIHR5cGVkZWYgdXNlcl9yZWdzIHVzZXJfcmVnc19zdHJ1Y3Q7Ci0gI2VsaWYgZGVmaW5lZCAo X19taXBzX18pCi0gLy8gVGhpcyBmaWxlLWxvY2FsIHR5cGVkZWYgc2ltcGxpZmllcyB0aGUgc291 cmNlIGNvZGUuCi0gdHlwZWRlZiBncmVnc2V0X3QgdXNlcl9yZWdzX3N0cnVjdDsKLSsjZWxpZiBk ZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0rdHlwZWRlZiBzdHJ1Y3QgcHRfcmVncyB1c2VyX3JlZ3Nf c3RydWN0OwotICNlbmRpZgotIAotIHVzaW5nIGdvb2dsZV9icmVha3BhZDo6TURUeXBlSGVscGVy OwotQEAgLTMyMCw2ICszMjQsOSBAQCBzdHJ1Y3QgQ3Jhc2hlZFByb2Nlc3MgewotICNlbmRpZgot ICNpZiBkZWZpbmVkKF9fYWFyY2g2NF9fKQotICAgICB1c2VyX2Zwc2ltZF9zdHJ1Y3QgZnByZWdz OwotKyNlbmRpZgotKyNpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0rICAgIG1jb250ZXh0X3Qg bWNvbnRleHQ7Ci0gI2VuZGlmCi0gICAgIHVpbnRwdHJfdCBzdGFja19hZGRyOwotICAgICBjb25z dCB1aW50OF90KiBzdGFjazsKLUBAIC01MjMsNiArNTMwLDM4IEBAIFBhcnNlVGhyZWFkUmVnaXN0 ZXJzKENyYXNoZWRQcm9jZXNzOjpUaHJlYWQqIHRocmVhZCwKLSAgIHRocmVhZC0+bWNvbnRleHQu ZnBjX2VpciA9IHJhd3JlZ3MtPmZsb2F0X3NhdmUuZmlyOwotICNlbmRpZgotIH0KLSsjZWxpZiBk ZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0rc3RhdGljIHZvaWQKLStQYXJzZVRocmVhZFJlZ2lzdGVy cyhDcmFzaGVkUHJvY2Vzczo6VGhyZWFkKiB0aHJlYWQsCi0rICAgICAgICAgICAgICAgICAgICAg Y29uc3QgTWluaWR1bXBNZW1vcnlSYW5nZSYgcmFuZ2UpIHsKLSsgIGNvbnN0IE1EUmF3Q29udGV4 dFBQQzY0KiByYXdyZWdzID0gcmFuZ2UuR2V0RGF0YTxNRFJhd0NvbnRleHRQUEM2ND4oMCk7Ci0r Ci0rICBmb3IgKGludCBpID0gMDsgaSA8IE1EX0NPTlRFWFRfUFBDNjRfR1BSX0NPVU5UOyBpKysp Ci0rICAgIHRocmVhZC0+bWNvbnRleHQuZ3BfcmVnc1tpXSA9IHJhd3JlZ3MtPmdwcltpXTsKLSsK LSsgIHRocmVhZC0+bWNvbnRleHQuZ3BfcmVnc1tQVF9MTktdID0gcmF3cmVncy0+bHI7Ci0rICB0 aHJlYWQtPm1jb250ZXh0LmdwX3JlZ3NbUFRfTklQXSA9IHJhd3JlZ3MtPnNycjA7Ci0rICB0aHJl YWQtPm1jb250ZXh0LmdwX3JlZ3NbUFRfTVNSXSA9IHJhd3JlZ3MtPnNycjE7Ci0rICB0aHJlYWQt Pm1jb250ZXh0LmdwX3JlZ3NbUFRfQ0NSXSA9IHJhd3JlZ3MtPmNyOwotKyAgdGhyZWFkLT5tY29u dGV4dC5ncF9yZWdzW1BUX1hFUl0gPSByYXdyZWdzLT54ZXI7Ci0rICB0aHJlYWQtPm1jb250ZXh0 LmdwX3JlZ3NbUFRfQ1RSXSA9IHJhd3JlZ3MtPmN0cjsKLSsgIHRocmVhZC0+bWNvbnRleHQudl9y ZWdzLT52cnNhdmUgPSByYXdyZWdzLT52cnNhdmU7Ci0rCi0rICBmb3IgKGludCBpID0gMDsgaSA8 IE1EX0ZMT0FUSU5HU0FWRUFSRUFfUFBDX0ZQUl9DT1VOVDsgaSsrKQotKyAgICAgIHRocmVhZC0+ bWNvbnRleHQuZnBfcmVnc1tpXSA9IHJhd3JlZ3MtPmZsb2F0X3NhdmUuZnByZWdzW2ldOwotKwot KyAgdGhyZWFkLT5tY29udGV4dC5mcF9yZWdzW05GUFJFRy0xXSA9IHJhd3JlZ3MtPmZsb2F0X3Nh dmUuZnBzY3I7Ci0rCi0rICBmb3IgKGludCBpID0gMDsgaSA8IE1EX1ZFQ1RPUlNBVkVBUkVBX1BQ Q19WUl9DT1VOVDsgaSsrKSB7Ci0rICAgICAgdGhyZWFkLT5tY29udGV4dC52X3JlZ3MtPnZycmVn c1tpXVswXSA9IHJhd3JlZ3MtPnZlY3Rvcl9zYXZlLnNhdmVfdnJbaV0uaGlnaCA+PiAzMjsKLSsg ICAgICB0aHJlYWQtPm1jb250ZXh0LnZfcmVncy0+dnJyZWdzW2ldWzFdID0gcmF3cmVncy0+dmVj dG9yX3NhdmUuc2F2ZV92cltpXS5oaWdoOwotKyAgICAgIHRocmVhZC0+bWNvbnRleHQudl9yZWdz LT52cnJlZ3NbaV1bMl0gPSByYXdyZWdzLT52ZWN0b3Jfc2F2ZS5zYXZlX3ZyW2ldLmxvdyA+PiAz MjsKLSsgICAgICB0aHJlYWQtPm1jb250ZXh0LnZfcmVncy0+dnJyZWdzW2ldWzNdID0gcmF3cmVn cy0+dmVjdG9yX3NhdmUuc2F2ZV92cltpXS5sb3c7Ci0rICB9Ci0rCi0rICB0aHJlYWQtPm1jb250 ZXh0LnZfcmVncy0+dnNjci52c2NyX3dvcmQgPSByYXdyZWdzLT52ZWN0b3Jfc2F2ZS5zYXZlX3Zz Y3IubG93ICYgMHhGRkZGRkZGRjsKLSt9Ci0rCi0gI2Vsc2UKLSAjZXJyb3IgIlRoaXMgY29kZSBo YXMgbm90IGJlZW4gcG9ydGVkIHRvIHlvdXIgcGxhdGZvcm0geWV0IgotICNlbmRpZgotQEAgLTYx MSw2ICs2NTAsMTIgQEAgUGFyc2VTeXN0ZW1JbmZvKGNvbnN0IE9wdGlvbnMmIG9wdGlvbnMsIENy YXNoZWRQcm9jZXNzKiBjcmFzaGluZm8sCi0gIyBlbHNlCi0gIyAgZXJyb3IgIlRoaXMgbWlwcyBB QkkgaXMgY3VycmVudGx5IG5vdCBzdXBwb3J0ZWQgKG4zMikiCi0gIyBlbmRpZgotKyNlbGlmIGRl ZmluZWQoX19wb3dlcnBjNjRfXykKLSsgIGlmIChzeXNpbmZvLT5wcm9jZXNzb3JfYXJjaGl0ZWN0 dXJlICE9IE1EX0NQVV9BUkNISVRFQ1RVUkVfUFBDNjQpIHsKLSsgICAgZnByaW50ZihzdGRlcnIs Ci0rICAgICAgICAgICAgIlRoaXMgdmVyc2lvbiBvZiBtaW5pZHVtcC0yLWNvcmUgb25seSBzdXBw b3J0cyBQUEM2NC5cbiIpOwotKyAgICBleGl0KDEpOwotKyAgfQotICNlbHNlCi0gI2Vycm9yICJU aGlzIGNvZGUgaGFzIG5vdCBiZWVuIHBvcnRlZCB0byB5b3VyIHBsYXRmb3JtIHlldCIKLSAjZW5k aWYKLWRpZmYgLS1naXQgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3Bh cnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX21pc2NfaW5mb193cml0ZXIu Y2MgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFk L2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX21pc2NfaW5mb193cml0ZXIuY2MKLWluZGV4IGMx ZTI0ODkyZi4uZWUxOGQzMzE1IDEwMDY0NAotLS0tIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9taW5pZHVtcC9taW5pZHVtcF9t aXNjX2luZm9fd3JpdGVyLmNjCi0rKysgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVt L3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX21pc2NfaW5m b193cml0ZXIuY2MKLUBAIC0xMjIsNiArMTIyLDggQEAgc3RkOjpzdHJpbmcgTWluaWR1bXBNaXNj SW5mb0RlYnVnQnVpbGRTdHJpbmcoKSB7Ci0gICBzdGF0aWMgY29uc3RleHByIGNoYXIga0NQVVtd ID0gImFybSI7Ci0gI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9BUk02NCkKLSAgIHN0YXRpYyBjb25z dGV4cHIgY2hhciBrQ1BVW10gPSAiYXJtNjQiOwotKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUFBD NjQpCi0rICBzdGF0aWMgY29uc3RleHByIGNoYXIga0NQVVtdID0gInBwYzY0IjsKLSAjZWxzZQot ICNlcnJvciBkZWZpbmUga0NQVSBmb3IgdGhpcyBDUFUKLSAjZW5kaWYKLWRpZmYgLS1naXQgcXR3 ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2xzcy9saW51eF9zeXNj YWxsX3N1cHBvcnQuaCBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFy dHkvbHNzL2xpbnV4X3N5c2NhbGxfc3VwcG9ydC5oCi1pbmRleCBlODFlN2I0MjAuLjUxMWE1NGU0 ZSAxMDA2NDQKLS0tLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFy dHkvbHNzL2xpbnV4X3N5c2NhbGxfc3VwcG9ydC5oCi0rKysgcXR3ZWJlbmdpbmUvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2xzcy9saW51eF9zeXNjYWxsX3N1cHBvcnQuaAotQEAg LTM5MTQsNyArMzkxNCw3IEBAIHN0cnVjdCBrZXJuZWxfc3RhdGZzIHsKLSAgICAgICBMU1NfUkVH KDIsIGJ1Zik7Ci0gICAgICAgTFNTX0JPRFkodm9pZCosIG1tYXAyLCAiMCIoX19yMikpOwotICAg ICB9Ci0tI2Vsc2UKLSsjZWxpZiAhZGVmaW5lZChfX3Bvd2VycGM2NF9fKSAvKiBwcGM2NCBkb2Vz bid0IGhhdmUgbW1hcDIgKi8KLSAgICAgI2RlZmluZSBfX05SX19tbWFwMiBfX05SX21tYXAyCi0g ICAgIExTU19JTkxJTkUgX3N5c2NhbGw2KHZvaWQqLCBfbW1hcDIsICAgICAgICAgICAgdm9pZCos IHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCwgICAgICAgICAgICAgICAgICAg bCwgaW50LCAgICAgICAgICAgICAgIHAsCi1AQCAtNDA0NSw3ICs0MDQ1LDcgQEAgc3RydWN0IGtl cm5lbF9zdGF0ZnMgewotICAgI2lmIGRlZmluZWQoX19pMzg2X18pIHx8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICBkZWZpbmVkKF9f QVJNX0FSQ0hfM19fKSB8fCBkZWZpbmVkKF9fQVJNX0VBQklfXykgfHwgICAgICAgICAgICAgICAg ICAgICBcCi0gICAgICAoZGVmaW5lZChfX21pcHNfXykgJiYgX01JUFNfU0lNID09IF9NSVBTX1NJ TV9BQkkzMikgfHwgICAgICAgICAgICAgICAgICAgXAotLSAgICAgIGRlZmluZWQoX19QUENfXykg fHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK LSsgICAgIChkZWZpbmVkKF9fUFBDX18pICYmICFkZWZpbmVkKF9fcG93ZXJwYzY0X18pKSB8fCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg ICAgKGRlZmluZWQoX19zMzkwX18pICYmICFkZWZpbmVkKF9fczM5MHhfXykpCi0gICAgIC8qIE9u IHRoZXNlIGFyY2hpdGVjdHVyZXMsIGltcGxlbWVudCBtbWFwKCkgd2l0aCBtbWFwMigpLiAqLwot ICAgICBMU1NfSU5MSU5FIHZvaWQqIExTU19OQU1FKG1tYXApKHZvaWQgKnMsIHNpemVfdCBsLCBp bnQgcCwgaW50IGYsIGludCBkLAotZGlmZiAtLWdpdCBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkv Y2hyb21pdW0vdGhpcmRfcGFydHkvcGRmaXVtL3RoaXJkX3BhcnR5L2Jhc2UvYWxsb2NhdG9yL3Bh cnRpdGlvbl9hbGxvY2F0b3IvcGFnZV9hbGxvY2F0b3IuaCBxdHdlYmVuZ2luZS9zcmMvM3JkcGFy dHkvY2hyb21pdW0vdGhpcmRfcGFydHkvcGRmaXVtL3RoaXJkX3BhcnR5L2Jhc2UvYWxsb2NhdG9y L3BhcnRpdGlvbl9hbGxvY2F0b3IvcGFnZV9hbGxvY2F0b3IuaAotaW5kZXggYWVlMjUzMjQ4Li4y NWVlNDAxZTggMTAwNjQ0Ci0tLS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Ro aXJkX3BhcnR5L3BkZml1bS90aGlyZF9wYXJ0eS9iYXNlL2FsbG9jYXRvci9wYXJ0aXRpb25fYWxs b2NhdG9yL3BhZ2VfYWxsb2NhdG9yLmgKLSsrKyBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hy b21pdW0vdGhpcmRfcGFydHkvcGRmaXVtL3RoaXJkX3BhcnR5L2Jhc2UvYWxsb2NhdG9yL3BhcnRp dGlvbl9hbGxvY2F0b3IvcGFnZV9hbGxvY2F0b3IuaAotQEAgLTE2LDcgKzE2LDcgQEAKLSBuYW1l c3BhY2UgcGRmaXVtIHsKLSBuYW1lc3BhY2UgYmFzZSB7Ci0gCi0tI2lmIGRlZmluZWQoT1NfV0lO KQotKyNpZiBkZWZpbmVkKE9TX1dJTikgfHwgZGVmaW5lZChBUkNIX0NQVV9QUEM2NCkKLSBzdGF0 aWMgY29uc3Qgc2l6ZV90IGtQYWdlQWxsb2NhdGlvbkdyYW51bGFyaXR5U2hpZnQgPSAxNjsgIC8v IDY0S0IKLSAjZWxpZiBkZWZpbmVkKF9NSVBTX0FSQ0hfTE9PTkdTT04pCi0gc3RhdGljIGNvbnN0 IHNpemVfdCBrUGFnZUFsbG9jYXRpb25HcmFudWxhcml0eVNoaWZ0ID0gMTQ7ICAvLyAxNktCCi1A QCAtMzUsNiArMzUsMTAgQEAgc3RhdGljIGNvbnN0IHNpemVfdCBrUGFnZUFsbG9jYXRpb25HcmFu dWxhcml0eUJhc2VNYXNrID0KLSAvLyBMb29uZ3NvbiBoYXZlIDE2Mzg0IHNpemVkIHN5c3RlbSBw YWdlcy4KLSAjaWYgZGVmaW5lZChfTUlQU19BUkNIX0xPT05HU09OKQotIHN0YXRpYyBjb25zdCBz aXplX3Qga1N5c3RlbVBhZ2VTaXplID0gMTYzODQ7Ci0rI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9Q UEM2NCkKLSsvLyBUT0RPOiBtb2Rlcm4gcHBjNjQgY2FuIGRvIDRrIGFuZCA2NGsgcGFnZSBzaXpl cwotKy8vIGZvciBub3csIDY0ayBpcyBhc3N1bWVkCi0rc3RhdGljIGNvbnN0ZXhwciBzaXplX3Qg a1N5c3RlbVBhZ2VTaXplID0gNjU1MzY7Ci0gI2Vsc2UKLSBzdGF0aWMgY29uc3Qgc2l6ZV90IGtT eXN0ZW1QYWdlU2l6ZSA9IDQwOTY7Ci0gI2VuZGlmCi1kaWZmIC0tZ2l0IHF0d2ViZW5naW5lL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9wZGZpdW0vdGhpcmRfcGFydHkvYmFzZS9h bGxvY2F0b3IvcGFydGl0aW9uX2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2MuaCBxdHdlYmVuZ2lu ZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvcGRmaXVtL3RoaXJkX3BhcnR5L2Jh c2UvYWxsb2NhdG9yL3BhcnRpdGlvbl9hbGxvY2F0b3IvcGFydGl0aW9uX2FsbG9jLmgKLWluZGV4 IDdlODQxNWM3Ni4uOTk4ZWI2ZTE0IDEwMDY0NAotLS0tIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9wZGZpdW0vdGhpcmRfcGFydHkvYmFzZS9hbGxvY2F0b3Iv cGFydGl0aW9uX2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2MuaAotKysrIHF0d2ViZW5naW5lL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9wZGZpdW0vdGhpcmRfcGFydHkvYmFzZS9h bGxvY2F0b3IvcGFydGl0aW9uX2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2MuaAotQEAgLTk3LDYg Kzk3LDggQEAgc3RhdGljIGNvbnN0IHNpemVfdCBrQnVja2V0U2hpZnQgPSAoa0FsbG9jYXRpb25H cmFudWxhcml0eSA9PSA4KSA/IDMgOiAyOwotIC8vIGFnYWluc3QgdGhlIGVuZCBvZiBhIHN5c3Rl bSBwYWdlLgotICNpZiBkZWZpbmVkKF9NSVBTX0FSQ0hfTE9PTkdTT04pCi0gc3RhdGljIGNvbnN0 IHNpemVfdCBrUGFydGl0aW9uUGFnZVNoaWZ0ID0gMTY7ICAvLyA2NEtCCi0rI2VsaWYgZGVmaW5l ZChBUkNIX0NQVV9QUEM2NCkKLStzdGF0aWMgY29uc3Qgc2l6ZV90IGtQYXJ0aXRpb25QYWdlU2hp ZnQgPSAxODsgIC8vIDI1NktCCi0gI2Vsc2UKLSBzdGF0aWMgY29uc3Qgc2l6ZV90IGtQYXJ0aXRp b25QYWdlU2hpZnQgPSAxNDsgIC8vIDE2S0IKLSAjZW5kaWYKLWRpZmYgLS1naXQgcXR3ZWJlbmdp bmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3BkZml1bS90aGlyZF9wYXJ0eS9i YXNlL2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2NhdG9yL3NwaW5fbG9jay5jYyBxdHdlYmVuZ2lu ZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvcGRmaXVtL3RoaXJkX3BhcnR5L2Jh c2UvYWxsb2NhdG9yL3BhcnRpdGlvbl9hbGxvY2F0b3Ivc3Bpbl9sb2NrLmNjCi1pbmRleCA4ZDcx NTFhOGIuLjU5NmM1ZTFiOSAxMDA2NDQKLS0tLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hy b21pdW0vdGhpcmRfcGFydHkvcGRmaXVtL3RoaXJkX3BhcnR5L2Jhc2UvYWxsb2NhdG9yL3BhcnRp dGlvbl9hbGxvY2F0b3Ivc3Bpbl9sb2NrLmNjCi0rKysgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5 L2Nocm9taXVtL3RoaXJkX3BhcnR5L3BkZml1bS90aGlyZF9wYXJ0eS9iYXNlL2FsbG9jYXRvci9w YXJ0aXRpb25fYWxsb2NhdG9yL3NwaW5fbG9jay5jYwotQEAgLTM3LDYgKzM3LDggQEAKLSAvLyBE b24ndCBib3RoZXIgZG9pbmcgdXNpbmcgLndvcmQgaGVyZSBzaW5jZSByMiBpcyB0aGUgbG93ZXN0 IHN1cHBvcnRlZCBtaXBzNjQKLSAvLyB0aGF0IENocm9taXVtIHN1cHBvcnRzLgotICNkZWZpbmUg WUlFTERfUFJPQ0VTU09SIF9fYXNtX18gX192b2xhdGlsZV9fKCJwYXVzZSIpCi0rI2VsaWYgZGVm aW5lZChBUkNIX0NQVV9QUEM2NF9GQU1JTFkpCi0rI2RlZmluZSBZSUVMRF9QUk9DRVNTT1IgX19h c21fXyBfX3ZvbGF0aWxlX18oIm9yIDMxLDMxLDMxIikKLSAjZW5kaWYKLSAjZW5kaWYKLSAKLWRp ZmYgLS1naXQgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3Nx bGl0ZS9hbWFsZ2FtYXRpb24vc3FsaXRlMy5jIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS90aGlyZF9wYXJ0eS9zcWxpdGUvYW1hbGdhbWF0aW9uL3NxbGl0ZTMuYwotaW5kZXggYzUy ODNkZDAyLi42NzIwNjg5NzMgMTAwNjQ0Ci0tLS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2No cm9taXVtL3RoaXJkX3BhcnR5L3NxbGl0ZS9hbWFsZ2FtYXRpb24vc3FsaXRlMy5jCi0rKysgcXR3 ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3NxbGl0ZS9hbWFsZ2Ft YXRpb24vc3FsaXRlMy5jCi1AQCAtMTI5MjAsNyArMTI5MjAsOCBAQCB0eXBlZGVmIElOVDE2X1RZ UEUgTG9nRXN0OwotICMgaWYgZGVmaW5lZChpMzg2KSAgICAgfHwgZGVmaW5lZChfX2kzODZfXykg ICB8fCBkZWZpbmVkKF9NX0lYODYpIHx8ICAgIFwKLSAgICAgIGRlZmluZWQoX194ODZfNjQpIHx8 IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfTV9YNjQpICB8fCAgICBcCi0gICAgICBk ZWZpbmVkKF9NX0FNRDY0KSB8fCBkZWZpbmVkKF9NX0FSTSkgICAgIHx8IGRlZmluZWQoX194ODYp ICAgfHwgICAgXAotLSAgICAgZGVmaW5lZChfX2FybV9fKQotKyAgICAgZGVmaW5lZChfX2FybV9f KSB8fCAoZGVmaW5lZChfX3Bvd2VycGM2NF9fKSAmJiBcCi0rICAgICAoX19CWVRFX09SREVSX18g PT0gX19PUkRFUl9MSVRUTEVfRU5ESUFOX18pKQotICMgICBkZWZpbmUgU1FMSVRFX0JZVEVPUkRF UiAgICAxMjM0Ci0gIyBlbGlmIGRlZmluZWQoc3BhcmMpICAgIHx8IGRlZmluZWQoX19wcGNfXykK LSAjICAgZGVmaW5lIFNRTElURV9CWVRFT1JERVIgICAgNDMyMQotZGlmZiAtLWdpdCBxdHdlYmVu Z2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvc3FsaXRlL3NyYy9zcmMvc3Fs aXRlSW50LmggcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3Nx bGl0ZS9zcmMvc3JjL3NxbGl0ZUludC5oCi1pbmRleCBkMTIxNDhkNDIuLjM5ZWZhODBkNCAxMDA2 NDQKLS0tLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvc3Fs aXRlL3NyYy9zcmMvc3FsaXRlSW50LmgKLSsrKyBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hy b21pdW0vdGhpcmRfcGFydHkvc3FsaXRlL3NyYy9zcmMvc3FsaXRlSW50LmgKLUBAIC04MjUsNyAr ODI1LDggQEAgdHlwZWRlZiBJTlQxNl9UWVBFIExvZ0VzdDsKLSAjIGlmIGRlZmluZWQoaTM4Nikg ICAgIHx8IGRlZmluZWQoX19pMzg2X18pICAgfHwgZGVmaW5lZChfTV9JWDg2KSB8fCAgICBcCi0g ICAgICBkZWZpbmVkKF9feDg2XzY0KSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQo X01fWDY0KSAgfHwgICAgXAotICAgICAgZGVmaW5lZChfTV9BTUQ2NCkgfHwgZGVmaW5lZChfTV9B Uk0pICAgICB8fCBkZWZpbmVkKF9feDg2KSAgIHx8ICAgIFwKLS0gICAgIGRlZmluZWQoX19hcm1f XykKLSsgICAgIGRlZmluZWQoX19hcm1fXykgfHwgKGRlZmluZWQoX19wb3dlcnBjNjRfXykgJiYg XAotKyAgICAgKF9fQllURV9PUkRFUl9fID09IF9fT1JERVJfTElUVExFX0VORElBTl9fKSkKLSAj ICAgZGVmaW5lIFNRTElURV9CWVRFT1JERVIgICAgMTIzNAotICMgZWxpZiBkZWZpbmVkKHNwYXJj KSAgICB8fCBkZWZpbmVkKF9fcHBjX18pCi0gIyAgIGRlZmluZSBTUUxJVEVfQllURU9SREVSICAg IDQzMjEKLWRpZmYgLS1naXQgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJk X3BhcnR5L3dlYnJ0Yy9tb2R1bGVzL2Rlc2t0b3BfY2FwdHVyZS9kaWZmZXJfYmxvY2suY2MgcXR3 ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3dlYnJ0Yy9tb2R1bGVz L2Rlc2t0b3BfY2FwdHVyZS9kaWZmZXJfYmxvY2suY2MKLWluZGV4IDMzMTUyNDcyMy4uZjEwMzk0 MDQzIDEwMDY0NAotLS0tIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9w YXJ0eS93ZWJydGMvbW9kdWxlcy9kZXNrdG9wX2NhcHR1cmUvZGlmZmVyX2Jsb2NrLmNjCi0rKysg cXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3dlYnJ0Yy9tb2R1 bGVzL2Rlc2t0b3BfY2FwdHVyZS9kaWZmZXJfYmxvY2suY2MKLUBAIC0zMCwxMSArMzAsNyBAQCBi b29sIFZlY3RvckRpZmZlcmVuY2UoY29uc3QgdWludDhfdCogaW1hZ2UxLCBjb25zdCB1aW50OF90 KiBpbWFnZTIpIHsKLSAgIHN0YXRpYyBib29sICgqZGlmZl9wcm9jKShjb25zdCB1aW50OF90Kiwg Y29uc3QgdWludDhfdCopID0gbnVsbHB0cjsKLSAKLSAgIGlmICghZGlmZl9wcm9jKSB7Ci0tI2lm IGRlZmluZWQoV0VCUlRDX0FSQ0hfQVJNX0ZBTUlMWSkgfHwgZGVmaW5lZChXRUJSVENfQVJDSF9N SVBTX0ZBTUlMWSkKLS0gICAgLy8gRm9yIEFSTSBhbmQgTUlQUyBwcm9jZXNzb3JzLCBhbHdheXMg dXNlIEMgdmVyc2lvbi4KLS0gICAgLy8gVE9ETyhoY2xhbSk6IEltcGxlbWVudCBhIE5FT04gdmVy c2lvbi4KLS0gICAgZGlmZl9wcm9jID0gJlZlY3RvckRpZmZlcmVuY2VfQzsKLS0jZWxzZQotKyNp ZiBkZWZpbmVkKFdFQlJUQ19BUkNIX1g4Nl9GQU1JTFkpCi0gICAgIGJvb2wgaGF2ZV9zc2UyID0g V2ViUnRjX0dldENQVUluZm8oa1NTRTIpICE9IDA7Ci0gICAgIC8vIEZvciB4ODYgcHJvY2Vzc29y cywgY2hlY2sgaWYgU1NFMiBpcyBzdXBwb3J0ZWQuCi0gICAgIGlmIChoYXZlX3NzZTIgJiYga0Js b2NrU2l6ZSA9PSAzMikgewotQEAgLTQ0LDYgKzQwLDEwIEBAIGJvb2wgVmVjdG9yRGlmZmVyZW5j ZShjb25zdCB1aW50OF90KiBpbWFnZTEsIGNvbnN0IHVpbnQ4X3QqIGltYWdlMikgewotICAgICB9 IGVsc2UgewotICAgICAgIGRpZmZfcHJvYyA9ICZWZWN0b3JEaWZmZXJlbmNlX0M7Ci0gICAgIH0K LSsjZWxzZQotKyAgICAvLyBGb3Igb3RoZXIgcHJvY2Vzc29ycywgYWx3YXlzIHVzZSBDIHZlcnNp b24uCi0rICAgIC8vIFRPRE8oaGNsYW0pOiBJbXBsZW1lbnQgYSBORU9OIHZlcnNpb24uCi0rICAg IGRpZmZfcHJvYyA9ICZWZWN0b3JEaWZmZXJlbmNlX0M7Ci0gI2VuZGlmCi0gICB9Ci0gCi1kaWZm IC0tZ2l0IHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS93ZWJy dGMvdHlwZWRlZnMuaCBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFy dHkvd2VicnRjL3R5cGVkZWZzLmgKLWluZGV4IDcyN2JmODNkZS4uZDNhMmJhNmE0IDEwMDY0NAot LS0tIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS93ZWJydGMv dHlwZWRlZnMuaAotKysrIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9w YXJ0eS93ZWJydGMvdHlwZWRlZnMuaAotQEAgLTUwLDYgKzUwLDE4IEBACi0gI2VsaWYgZGVmaW5l ZChfX01JUFNFQl9fKQotICNkZWZpbmUgV0VCUlRDX0FSQ0hfTUlQU19GQU1JTFkKLSAjZGVmaW5l IFdFQlJUQ19BUkNIX0JJR19FTkRJQU4KLSsjZWxpZiBkZWZpbmVkKF9fUFBDX18pCi0rI2RlZmlu ZSBXRUJSVENfQVJDSF9QUENfRkFNSUxZCi0rI2lmIF9fQllURV9PUkRFUl9fID09IF9fT1JERVJf TElUVExFX0VORElBTl9fCi0rI2RlZmluZSBXRUJSVENfQVJDSF9MSVRUTEVfRU5ESUFOCi0rI2Vs c2UKLSsjZGVmaW5lIFdFQlJUQ19BUkNIX0JJR19FTkRJQU4KLSsjZW5kaWYKLSsjaWYgZGVmaW5l ZChfX0xQNjRfXykKLSsjZGVmaW5lIFdFQlJUQ19BUkNIXzY0X0JJVFMKLSsjZWxzZQotKyNkZWZp bmUgV0VCUlRDX0FSQ0hfMzJfQklUUwotKyNlbmRpZgotICNlbHNlCi0gI2Vycm9yIFBsZWFzZSBh ZGQgc3VwcG9ydCBmb3IgeW91ciBhcmNoaXRlY3R1cmUgaW4gdHlwZWRlZnMuaAotICNlbmRpZgot ZGlmZiAtLWdpdCBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkv d2VicnRjL3dlYnJ0Yy5nbmkgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJk X3BhcnR5L3dlYnJ0Yy93ZWJydGMuZ25pCi1pbmRleCBmYjFkNzdjYWQuLjIyZmM3NjY5NyAxMDA2 NDQKLS0tLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvd2Vi cnRjL3dlYnJ0Yy5nbmkKLSsrKyBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhp cmRfcGFydHkvd2VicnRjL3dlYnJ0Yy5nbmkKLUBAIC0xNzcsNyArMTc3LDcgQEAgZGVjbGFyZV9h cmdzKCkgewotICAgfQotIAotICAgaWYgKCFpc19pb3MgJiYgKGN1cnJlbnRfY3B1ICE9ICJhcm0i IHx8IGFybV92ZXJzaW9uID49IDcpICYmCi0tICAgICAgY3VycmVudF9jcHUgIT0gIm1pcHM2NGVs IiAmJiAhYnVpbGRfd2l0aF9tb3ppbGxhKSB7Ci0rICAgICAgY3VycmVudF9jcHUgIT0gIm1pcHM2 NGVsIiAmJiBjdXJyZW50X2NwdSAhPSAicHBjNjQiICYmICFidWlsZF93aXRoX21vemlsbGEpIHsK LSAgICAgcnRjX3VzZV9vcGVubWF4X2RsID0gdHJ1ZQotICAgfSBlbHNlIHsKLSAgICAgcnRjX3Vz ZV9vcGVubWF4X2RsID0gZmFsc2UKLWRpZmYgLS1naXQgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5 L2Nocm9taXVtL3Y4L0JVSUxELmduIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS92 OC9CVUlMRC5nbgotaW5kZXggMmY0MjAyYTFiLi5jY2UzMzliODggMTAwNjQ0Ci0tLS0gcXR3ZWJl bmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Y4L0JVSUxELmduCi0rKysgcXR3ZWJlbmdpbmUv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3Y4L0JVSUxELmduCi1AQCAtNDUwLDYgKzQ1MCwxMiBAQCBj b25maWcoInRvb2xjaGFpbiIpIHsKLSAgICAgfQotICAgICBpZiAoaG9zdF9ieXRlb3JkZXIgPT0g ImxpdHRsZSIpIHsKLSAgICAgICBkZWZpbmVzICs9IFsgIlY4X1RBUkdFVF9BUkNIX1BQQ19MRSIg XQotKyAgICAgICAgY2ZsYWdzICs9IFsKLSsgICAgICAgICMgRW5hYmxlIHVzYWdlIG9mIEFsdGlW ZWMsIFZTWCwgYW5kIG90aGVyIFBPV0VSOCBhbmQgaGlnaGVyIGZlYXR1cmVzCi0rICAgICAgICAi LW1jcHU9cG93ZXI4IiwKLSsgICAgICAgICItbWFsdGl2ZWMiLAotKyAgICAgICAgIi1tdnN4IiwK LSsgICAgICBdCi0gICAgIH0gZWxzZSBpZiAoaG9zdF9ieXRlb3JkZXIgPT0gImJpZyIpIHsKLSAg ICAgICBkZWZpbmVzICs9IFsgIlY4X1RBUkdFVF9BUkNIX1BQQ19CRSIgXQotICAgICAgIGlmIChj dXJyZW50X29zID09ICJhaXgiKSB7Ci1kaWZmIC0tZ2l0IHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS92OC9zcmMvYnVpbHRpbnMvcHBjL2J1aWx0aW5zLXBwYy5jYyBxdHdlYmVuZ2lu ZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdjgvc3JjL2J1aWx0aW5zL3BwYy9idWlsdGlucy1wcGMu Y2MKLWluZGV4IDM0ZGE3MGZmMC4uYTg3YWMxOTZhIDEwMDY0NAotLS0tIHF0d2ViZW5naW5lL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS92OC9zcmMvYnVpbHRpbnMvcHBjL2J1aWx0aW5zLXBwYy5jYwot KysrIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS92OC9zcmMvYnVpbHRpbnMvcHBj L2J1aWx0aW5zLXBwYy5jYwotQEAgLTYsNiArNiw3IEBACi0gCi0gI2luY2x1ZGUgInNyYy9hc3Nl bWJsZXItaW5sLmgiCi0gI2luY2x1ZGUgInNyYy9jb2RlLXN0dWJzLmgiCi0rI2luY2x1ZGUgInNy Yy9jb3VudGVycy5oIgotICNpbmNsdWRlICJzcmMvZGVidWcvZGVidWcuaCIKLSAjaW5jbHVkZSAi c3JjL2Rlb3B0aW1pemVyLmgiCi0gI2luY2x1ZGUgInNyYy9mcmFtZS1jb25zdGFudHMuaCIKLWRp ZmYgLS1naXQgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Y4L3NyYy9idWlsdGlu cy9zMzkwL2J1aWx0aW5zLXMzOTAuY2MgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVt L3Y4L3NyYy9idWlsdGlucy9zMzkwL2J1aWx0aW5zLXMzOTAuY2MKLWluZGV4IDAyMGIwNGI5MS4u NWFjN2U1NjU5IDEwMDY0NAotLS0tIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS92 OC9zcmMvYnVpbHRpbnMvczM5MC9idWlsdGlucy1zMzkwLmNjCi0rKysgcXR3ZWJlbmdpbmUvc3Jj LzNyZHBhcnR5L2Nocm9taXVtL3Y4L3NyYy9idWlsdGlucy9zMzkwL2J1aWx0aW5zLXMzOTAuY2MK LUBAIC02LDYgKzYsNyBAQAotIAotICNpbmNsdWRlICJzcmMvYXNzZW1ibGVyLWlubC5oIgotICNp bmNsdWRlICJzcmMvY29kZS1zdHVicy5oIgotKyNpbmNsdWRlICJzcmMvY291bnRlcnMuaCIKLSAj aW5jbHVkZSAic3JjL2RlYnVnL2RlYnVnLmgiCi0gI2luY2x1ZGUgInNyYy9kZW9wdGltaXplci5o IgotICNpbmNsdWRlICJzcmMvZnJhbWUtY29uc3RhbnRzLmgiCi1kaWZmIC0tZ2l0IHF0d2ViZW5n aW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS92OC9zcmMvcHBjL21hY3JvLWFzc2VtYmxlci1wcGMu Y2MgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Y4L3NyYy9wcGMvbWFjcm8tYXNz ZW1ibGVyLXBwYy5jYwotaW5kZXggOGQ3YzNkMDViLi5iZTgzMjI5YTggMTAwNjQ0Ci0tLS0gcXR3 ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Y4L3NyYy9wcGMvbWFjcm8tYXNzZW1ibGVy LXBwYy5jYwotKysrIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS92OC9zcmMvcHBj L21hY3JvLWFzc2VtYmxlci1wcGMuY2MKLUBAIC0xMiw2ICsxMiw3IEBACi0gI2luY2x1ZGUgInNy Yy9ib290c3RyYXBwZXIuaCIKLSAjaW5jbHVkZSAic3JjL2NhbGxhYmxlLmgiCi0gI2luY2x1ZGUg InNyYy9jb2RlLXN0dWJzLmgiCi0rI2luY2x1ZGUgInNyYy9jb3VudGVycy5oIgotICNpbmNsdWRl ICJzcmMvZGVidWcvZGVidWcuaCIKLSAjaW5jbHVkZSAic3JjL2V4dGVybmFsLXJlZmVyZW5jZS10 YWJsZS5oIgotICNpbmNsdWRlICJzcmMvZnJhbWVzLWlubC5oIgotZGlmZiAtLWdpdCBxdHdlYmVu Z2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdjgvc3JjL3MzOTAvbWFjcm8tYXNzZW1ibGVyLXMz OTAuY2MgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Y4L3NyYy9zMzkwL21hY3Jv LWFzc2VtYmxlci1zMzkwLmNjCi1pbmRleCBmZTI0ODg0MzcuLmRlY2JiYjQzYSAxMDA2NDQKLS0t LSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdjgvc3JjL3MzOTAvbWFjcm8tYXNz ZW1ibGVyLXMzOTAuY2MKLSsrKyBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdjgv c3JjL3MzOTAvbWFjcm8tYXNzZW1ibGVyLXMzOTAuY2MKLUBAIC0xMiw2ICsxMiw3IEBACi0gI2lu Y2x1ZGUgInNyYy9ib290c3RyYXBwZXIuaCIKLSAjaW5jbHVkZSAic3JjL2NhbGxhYmxlLmgiCi0g I2luY2x1ZGUgInNyYy9jb2RlLXN0dWJzLmgiCi0rI2luY2x1ZGUgInNyYy9jb3VudGVycy5oIgot ICNpbmNsdWRlICJzcmMvZGVidWcvZGVidWcuaCIKLSAjaW5jbHVkZSAic3JjL2V4dGVybmFsLXJl ZmVyZW5jZS10YWJsZS5oIgotICNpbmNsdWRlICJzcmMvZnJhbWVzLWlubC5oIgpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9xdDUvcGF0Y2hlcy9xdHdlYmVuZ2luZS1lbmFibGUtcHBjNjQucGF0Y2ggYi9z cmNwa2dzL3F0NS9wYXRjaGVzL3F0d2ViZW5naW5lLWVuYWJsZS1wcGM2NC5wYXRjaApkZWxldGVk IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzVlNjQ1NjEzOWYuLjAwMDAwMDAwMDAwCi0tLSBhL3Ny Y3BrZ3MvcXQ1L3BhdGNoZXMvcXR3ZWJlbmdpbmUtZW5hYmxlLXBwYzY0LnBhdGNoCisrKyAvZGV2 L251bGwKQEAgLTEsNDEgKzAsMCBAQAotVGhpcyBhZGRzIHRoZSBuZWNlc3NhcnkgYml0cyB0byBt YWtlIHF0IGF0dGVtcHQgYnVpbGRpbmcgd2ViZW5naW5lIG9uIHBwYzY0LgotU2luY2UgdGhlIHBh dGNoIGlzIG9ubHkgc3VmZmljaWVudCBmb3IgcHBjNjRsZSwga2VlcCBpdCBjb21tZW50ZWQgb3V0 IGFuZAotbGV0IHRoZSBwYWNrYWdpbmcgdGVtcGxhdGUgcmVtb3ZlIHRoZSBjb21tZW50IGxhdGVy LCBhcyB0aGVyZSBpcyBubyBnb29kCi13YXkgdG8gY2hlY2sgZW5kaWFubmVzcyBkaXJlY3RseSBp biB0aGUgZmlsZS4KLQotV2UgYWxzbyBoYXZlIHRvIGRpc2FibGUganVtYm8gYnVpbGQgZm9yIHRo ZSB0aW1lIGJlaW5nIGJlY2F1c2UgaXQgcmVzdWx0cwotaW4gYnVpbGQgZmFpbHVyZXMgb3RoZXJ3 aXNlLCBtb3N0IGxpa2VseSBiZWNhdXNlIG9mIGNvbXBpbGVyIG1pc2NvbXBpbGluZwotdGhlIGNv ZGUuCi0tLS0gcXR3ZWJlbmdpbmUvbWtzcGVjcy9mZWF0dXJlcy9mdW5jdGlvbnMucHJmCi0rKysg cXR3ZWJlbmdpbmUvbWtzcGVjcy9mZWF0dXJlcy9mdW5jdGlvbnMucHJmCi1AQCAtOTUsNiArOTUs NyBAQAotICAgICBjb250YWlucyhxdEFyY2gsICJhcm02NCIpOiByZXR1cm4oYXJtNjQpCi0gICAg IGNvbnRhaW5zKHF0QXJjaCwgIm1pcHMiKTogcmV0dXJuKG1pcHNlbCkKLSAgICAgY29udGFpbnMo cXRBcmNoLCAibWlwczY0Iik6IHJldHVybihtaXBzNjRlbCkKLSsgICAgY29udGFpbnMocXRBcmNo LCAicG93ZXI2NCIpOiByZXR1cm4ocHBjNjQpCi0gICAgIHJldHVybih1bmtub3duKQotIH0KLSAK LS0tLSBxdHdlYmVuZ2luZS9ta3NwZWNzL2ZlYXR1cmVzL3BsYXRmb3JtLnByZgotKysrIHF0d2Vi ZW5naW5lL21rc3BlY3MvZmVhdHVyZXMvcGxhdGZvcm0ucHJmCi1AQCAtODIsNiArODIsNyBAQAot ICAgICBjb250YWlucyhRVF9BUkNILCAiYXJtIil8Y29udGFpbnMoUVRfQVJDSCwgImFybTY0Iik6 IHJldHVybih0cnVlKQotICAgICBjb250YWlucyhRVF9BUkNILCAibWlwcyIpOiByZXR1cm4odHJ1 ZSkKLSAjICAgICBjb250YWlucyhRVF9BUkNILCAibWlwczY0Iik6IHJldHVybih0cnVlKQotKyNw cGM2NGxlICAgIGNvbnRhaW5zKFFUX0FSQ0gsICJwb3dlcjY0Iik6IHJldHVybih0cnVlKQotIAot ICAgICBza2lwQnVpbGQoIlF0V2ViRW5naW5lIGNhbiBvbmx5IGJlIGJ1aWx0IGZvciB4ODYsIHg4 Ni02NCwgQVJNLCBBYXJjaDY0LCBhbmQgTUlQU2VsIGFyY2hpdGVjdHVyZXMuIikKLSAgICAgcmV0 dXJuKGZhbHNlKQotLS0tIHF0d2ViZW5naW5lL3NyYy9jb3JlL2NvbmZpZy9saW51eC5wcmkKLSsr KyBxdHdlYmVuZ2luZS9zcmMvY29yZS9jb25maWcvbGludXgucHJpCi1AQCAtOTAsNiArOTAsMTAg QEAKLSAgICAgZWxzZTogY29udGFpbnMoUU1BS0VfQ0ZMQUdTLCAiLW1kc3AiKTogZ25fYXJncyAr PSBtaXBzX2RzcF9yZXY9MQotIH0KLSAKLStjb250YWlucyhRVF9BUkNILCAicG93ZXI2NCIpIHsK LSsgICAgZ25fYXJncyArPSB1c2VfanVtYm9fYnVpbGQ9ZmFsc2UKLSt9Ci0rCi0gaG9zdF9idWls ZCB7Ci0gICAgIGduX2FyZ3MgKz0gY3VzdG9tX3Rvb2xjaGFpbj1cIiQkUVRXRUJFTkdJTkVfT1VU X1JPT1Qvc3JjL3Rvb2xjaGFpbjpob3N0XCIKLSAgICAgR05fSE9TVF9DUFUgPSAkJGduQXJjaCgk JFFUX0FSQ0gpCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0NS9wYXRjaGVzL3NhbmRib3gtbWVtYmFy cmllci5wYXRjaCBiL3NyY3BrZ3MvcXQ1L3BhdGNoZXMvc2FuZGJveC1tZW1iYXJyaWVyLnBhdGNo Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5iNzM5NzFmMjQzMgotLS0g L2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ1L3BhdGNoZXMvc2FuZGJveC1tZW1iYXJyaWVyLnBh dGNoCkBAIC0wLDAgKzEsNjAgQEAKKy0tLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21p dW0vL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvYXJtNjRfbGludXhfc3lzY2FsbHMuaAor KysrIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS8vc2FuZGJveC9saW51eC9zeXN0 ZW1faGVhZGVycy9hcm02NF9saW51eF9zeXNjYWxscy5oCitAQCAtMTA2Myw0ICsxMDYzLDggQEAK KyAjZGVmaW5lIF9fTlJfbWVtZmRfY3JlYXRlIDI3OQorICNlbmRpZgorIAorKyNpZiAhZGVmaW5l ZChfX05SX21lbWJhcnJpZXIpCisrI2RlZmluZSBfX05SX21lbWJhcnJpZXIgMjgzCisrI2VuZGlm CisrCisgI2VuZGlmICAvLyBTQU5EQk9YX0xJTlVYX1NZU1RFTV9IRUFERVJTX0FSTTY0X0xJTlVY X1NZU0NBTExTX0hfCisKKy0tLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vL3Nh bmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvYXJtX2xpbnV4X3N5c2NhbGxzLmgKKysrKyBxdHdl YmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRl cnMvYXJtX2xpbnV4X3N5c2NhbGxzLmgKK0BAIC0xMzg1LDYgKzEzODUsMTAgQEAKKyAjZGVmaW5l IF9fTlJfbWVtZmRfY3JlYXRlIChfX05SX1NZU0NBTExfQkFTRSszODUpCisgI2VuZGlmCisgCisr I2lmICFkZWZpbmVkKF9fTlJfbWVtYmFycmllcikKKysjZGVmaW5lIF9fTlJfbWVtYmFycmllciAo X19OUl9TWVNDQUxMX0JBU0UrMzg5KQorKyNlbmRpZgorKworIC8vIEFSTSBwcml2YXRlIHN5c2Nh bGxzLgorICNpZiAhZGVmaW5lZChfX0FSTV9OUl9CQVNFKQorICNkZWZpbmUgX19BUk1fTlJfQkFT RSAoX19OUl9TWVNDQUxMX0JBU0UgKyAweEYwMDAwKQorCistLS0gcXR3ZWJlbmdpbmUvc3JjLzNy ZHBhcnR5L2Nocm9taXVtLy9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL3g4Nl8zMl9saW51 eF9zeXNjYWxscy5oCisrKysgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtLy9zYW5k Ym94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL3g4Nl8zMl9saW51eF9zeXNjYWxscy5oCitAQCAtMTQy Miw1ICsxNDIyLDkgQEAKKyAjZGVmaW5lIF9fTlJfbWVtZmRfY3JlYXRlIDM1NgorICNlbmRpZgor IAorKyNpZiAhZGVmaW5lZChfX05SX21lbWJhcnJpZXIpCisrI2RlZmluZSBfX05SX21lbWJhcnJp ZXIgMzc1CisrI2VuZGlmCisrCisgI2VuZGlmICAvLyBTQU5EQk9YX0xJTlVYX1NZU1RFTV9IRUFE RVJTX1g4Nl8zMl9MSU5VWF9TWVNDQUxMU19IXworIAorLS0tIHF0d2ViZW5naW5lL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS8vc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy94ODZfNjRfbGludXhf c3lzY2FsbHMuaAorKysrIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS8vc2FuZGJv eC9saW51eC9zeXN0ZW1faGVhZGVycy94ODZfNjRfbGludXhfc3lzY2FsbHMuaAorQEAgLTEyOTAs NSArMTI5MCw5IEBACisgI2RlZmluZSBfX05SX21lbWZkX2NyZWF0ZSAzMTkKKyAjZW5kaWYKKyAK KysjaWYgIWRlZmluZWQoX19OUl9tZW1iYXJyaWVyKQorKyNkZWZpbmUgX19OUl9tZW1iYXJyaWVy IDMyNAorKyNlbmRpZgorKworICNlbmRpZiAgLy8gU0FOREJPWF9MSU5VWF9TWVNURU1fSEVBREVS U19YODZfNjRfTElOVVhfU1lTQ0FMTFNfSF8KKyAKKy0tLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFy dHkvY2hyb21pdW0vL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3Nl dHMuY2MKKysrKyBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vL3NhbmRib3gvbGlu dXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3NldHMuY2MKK0BAIC0zNzAsNiArMzcwLDcg QEAKKyAgIHN3aXRjaCAoc3lzbm8pIHsKKyAgICAgY2FzZSBfX05SX2V4aXQ6CisgICAgIGNhc2Ug X19OUl9leGl0X2dyb3VwOgorKyAgICBjYXNlIF9fTlJfbWVtYmFycmllcjoKKyAgICAgY2FzZSBf X05SX3dhaXQ0OgorICAgICBjYXNlIF9fTlJfd2FpdGlkOgorICNpZiBkZWZpbmVkKF9faTM4Nl9f KQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDUvdGVtcGxhdGUgYi9zcmNwa2dzL3F0NS90ZW1wbGF0 ZQppbmRleCBiZmQ4NzEyZTdhZi4uMjQ5MjIwMDNjMGEgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ1 L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ1L3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBU ZW1wbGF0ZSBmaWxlIGZvciAncXQ1JwogcGtnbmFtZT1xdDUKLXZlcnNpb249NS4xMS4zCi1yZXZp c2lvbj03Cit2ZXJzaW9uPTUuMTMuMAorcmV2aXNpb249MQogd3Jrc3JjPSJxdC1ldmVyeXdoZXJl LXNyYy0ke3ZlcnNpb259IgogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQogaG9zdG1ha2VkZXBl bmRzPSJjbWFrZSBjbGFuZyBmbGV4IGdpdCBnbGliLWRldmVsIGdwZXJmIG5pbmphIHBrZy1jb25m aWcKQEAgLTEwLDIwICsxMCwyMCBAQCBtYWtlZGVwZW5kcz0iU0RMMi1kZXZlbCBWdWxrYW4tSGVh ZGVycyBhbHNhLWxpYi1kZXZlbCBkb3VibGUtY29udmVyc2lvbi1kZXZlbAogIGV1ZGV2LWxpYnVk ZXYtZGV2ZWwgZmZtcGVnLWRldmVsIGZyZWV0ZHMtZGV2ZWwgZ2xpYi1kZXZlbCBnc3QtcGx1Z2lu cy1iYXNlMS1kZXZlbAogIGd0ayszLWRldmVsIGljdS1kZXZlbCBqc29uY3BwLWRldmVsIGxpYlh2 LWRldmVsIGxpYmJsdWV0b290aC1kZXZlbCBsaWJjYXAtZGV2ZWwKICBsaWJldmVudC1kZXZlbCBs aWJpbnB1dC1kZXZlbCBsaWJtbmctZGV2ZWwgbGlibXlzcWxjbGllbnQtZGV2ZWwgbGlicHJveHkt ZGV2ZWwKLSBsaWJ2cHg1LWRldmVsIGxpYndlYnAtZGV2ZWwgbGlieHNsdC1kZXZlbCBtaW5pemlw LWRldmVsIG5zcy1kZXZlbAorIGxpYnZweC1kZXZlbCBsaWJ3ZWJwLWRldmVsIGxpYnhzbHQtZGV2 ZWwgbWluaXppcC1kZXZlbCBuc3MtZGV2ZWwgY3Vwcy1kZXZlbAogIG9wdXMtZGV2ZWwgcGNpdXRp bHMtZGV2ZWwgcGNyZTItZGV2ZWwgcG9zdGdyZXNxbC1saWJzLWRldmVsCiAgcHJvdG9idWYtZGV2 ZWwgcHVsc2VhdWRpby1kZXZlbCBzbmFwcHktZGV2ZWwgdHNsaWItZGV2ZWwKICB1bml4b2RiYy1k ZXZlbCB4Y2ItdXRpbC1pbWFnZS1kZXZlbCB4Y2ItdXRpbC1rZXlzeW1zLWRldmVsCi0geGNiLXV0 aWwtcmVuZGVydXRpbC1kZXZlbCB4Y2ItdXRpbC13bS1kZXZlbCIKKyB4Y2ItdXRpbC1yZW5kZXJ1 dGlsLWRldmVsIHhjYi11dGlsLXdtLWRldmVsIGxpYnpzdGQtZGV2ZWwiCiBkZXBlbmRzPSJxdGNo b29zZXIiCiBzaG9ydF9kZXNjPSJDcm9zcy1wbGF0Zm9ybSBhcHBsaWNhdGlvbiBhbmQgVUkgZnJh bWV3b3JrIChRVDUpIgogbWFpbnRhaW5lcj0iSsO8cmdlbiBCdWNobcO8bGxlciA8cHVsbG1vbGxA dC1vbmxpbmUuZGU+IgotbGljZW5zZT0iR1BMLTMuMC1vci1sYXRlciwgTEdQTC0yLjEtb3ItbGF0 ZXIiCitsaWNlbnNlPSJHUEwtMy4wLW9yLWxhdGVyLCBMR1BMLTMuMC1vci1sYXRlciIKIGhvbWVw YWdlPSJodHRwczovL3F0LmlvLyIKIGRpc3RmaWxlcz0iaHR0cDovL2Rvd25sb2FkLnF0LmlvL29m ZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9ufS9zaW5nbGUvcXQtZXZl cnl3aGVyZS1zcmMtJHt2ZXJzaW9ufS50YXIueHoiCi1jaGVja3N1bT04NTk0MTc2NDI3MTNjZWUy NDkzZWUzNjQ2YTdmZWU3ODJjOWYxZGIzOWU0MWQ3YmIxMzIyYmJhMGM1ZjBmZjRkCitjaGVja3N1 bT0yY2JhMzFlNDEwZTE2OWJkNWNkYWUxNTlmODM5NjQwZTY3MjUzMmE0Njg3ZWEwZjI2NWY2ODY0 MjFlMGU4NmQ2CiByZXBsYWNlcz0icXQ1LWRvYzw1LjYuMCBxdDUtcXVpY2sxPDUuNi4wIHF0NS1x dWljazEtZGV2ZWw8NS42LjAgcXQ1LXdlYmtpdDw1LjYuMCBxdDUtd2Via2l0LWRldmVsPDUuNi4w Ci0gcXQ1LWVuZ2luaW88NS43LjEgcXQ1LWVuZ2luaW8tZGV2ZWw8NS43LjEgcXQ1LXBsdWdpbi1n dGs8NS43LjEiCisgcXQ1LWVuZ2luaW88NS43LjEgcXQ1LWVuZ2luaW8tZGV2ZWw8NS43LjEgcXQ1 LXBsdWdpbi1ndGs8NS43LjEgcXQ1LWNhbnZhczNkPDUuMTMuMCIKIAogYnVpbGRfb3B0aW9ucz0i d2ViZW5naW5lIgogZGVzY19vcHRpb25fd2ViZW5naW5lPSJCdWlsZCBDaHJvbWl1bS1iYXNlZCBX ZWJFbmdpbmUgY29tcG9uZW50IgpAQCAtMzEsMTEgKzMxLDEyIEBAIGRlc2Nfb3B0aW9uX3dlYmVu Z2luZT0iQnVpbGQgQ2hyb21pdW0tYmFzZWQgV2ViRW5naW5lIGNvbXBvbmVudCIKIGNhc2UgIiRY QlBTX1RBUkdFVF9NQUNISU5FIiBpbgogCXg4Nl82NCp8aTY4Nip8cHBjNjRsZSopIGJ1aWxkX29w dGlvbnNfZGVmYXVsdD0id2ViZW5naW5lIjs7CiAJYXJtdjV0ZWwqKSA7OyAjIHF0d2ViZW5naW5l IHVzZXMgVlNNIGFzc2VtYmxlciBjb21tYW5kcwotCWFybSp8YWFyY2g2NCopIGJ1aWxkX29wdGlv bnNfZGVmYXVsdD0id2ViZW5naW5lIjs7CisJYWFyY2g2NCopIGJ1aWxkX29wdGlvbnNfZGVmYXVs dD0id2ViZW5naW5lIjs7CisJYXJtKikgOzsgIyBxdHdlYmVuZ2luZSByZXF1aXJlcyBhIDMyYml0 IGhvc3QgdG9vbGNoYWluIGh0dHA6Ly9zcHJ1bmdlLnVzL3JiUnlXUQogCSopIDs7ICMgYXNzdW1l IG5vIHdlYmVuZ2luZQogZXNhYwogCi1zdWJwYWNrYWdlcz0icXQ1LTNkIHF0NS0zZC1kZXZlbCBx dDUtY2FudmFzM2QgcXQ1LWNoYXJ0cyBxdDUtY2hhcnRzLWRldmVsCitzdWJwYWNrYWdlcz0icXQ1 LTNkIHF0NS0zZC1kZXZlbCBxdDUtY2hhcnRzIHF0NS1jaGFydHMtZGV2ZWwKICBxdDUtY29ubmVj dGl2aXR5IHF0NS1jb25uZWN0aXZpdHktZGV2ZWwgcXQ1LWRhdGF2aXMzZCBxdDUtZGF0YXZpczNk LWRldmVsCiAgcXQ1LWRlY2xhcmF0aXZlIHF0NS1kZWNsYXJhdGl2ZS1kZXZlbCBxdDUtZGV2ZWwg cXQ1LWV4YW1wbGVzIHF0NS1nYW1lcGFkCiAgcXQ1LWdhbWVwYWQtZGV2ZWwgcXQ1LWdyYXBoaWNh bGVmZmVjdHMgcXQ1LWhvc3QtdG9vbHMgcXQ1LWltYWdlZm9ybWF0cwpAQCAtNTEsNyArNTIsOCBA QCBzdWJwYWNrYWdlcz0icXQ1LTNkIHF0NS0zZC1kZXZlbCBxdDUtY2FudmFzM2QgcXQ1LWNoYXJ0 cyBxdDUtY2hhcnRzLWRldmVsCiAgcXQ1LXZpcnR1YWxrZXlib2FyZC1kZXZlbCBxdDUtd2F5bGFu ZCBxdDUtd2F5bGFuZC1kZXZlbCBxdDUtd2ViY2hhbm5lbAogIHF0NS13ZWJjaGFubmVsLWRldmVs IHF0NS13ZWJnbHBsdWdpbiBxdDUtd2ViZ2xwbHVnaW4tZGV2ZWwgcXQ1LXdlYnNvY2tldHMKICBx dDUtd2Vic29ja2V0cy1kZXZlbCBxdDUtd2VidmlldyBxdDUtd2Vidmlldy1kZXZlbCBxdDUteDEx ZXh0cmFzCi0gcXQ1LXgxMWV4dHJhcy1kZXZlbCBxdDUteG1scGF0dGVybnMgcXQ1LXhtbHBhdHRl cm5zLWRldmVsIgorIHF0NS14MTFleHRyYXMtZGV2ZWwgcXQ1LXhtbHBhdHRlcm5zIHF0NS14bWxw YXR0ZXJucy1kZXZlbAorIHF0NS1sb3R0aWUgcXQ1LWxvdHRpZS1kZXZlbCIKIAogaWYgWyAiJGJ1 aWxkX29wdGlvbl93ZWJlbmdpbmUiIF07IHRoZW4KIAlzdWJwYWNrYWdlcys9IiBxdDUtd2ViZW5n aW5lIHF0NS13ZWJlbmdpbmUtZGV2ZWwiCkBAIC02MCw2ICs2Miw3IEBAIGZpCiBpZiBbICIke1hC UFNfTUFDSElORSUlLW11c2x9IiA9IGk2ODYgXTsgdGhlbgogCW5vZGVidWc9eWVzICAjIHByZXZl bnQgT09NCiBmaQorCiAjIFdvcmsgYXJvdW5kIFNTTHYzX3tjbGllbnQsc2VydmVyfV9tZXRob2Qg bWlzc2luZyBpbiBsaWJyZXNzbC0yLjMuMwogQ0ZMQUdTPSItRE9QRU5TU0xfTk9fUFNLIC1ET1BF TlNTTF9OT19ORVhUUFJPVE9ORUciCiBDWFhGTEFHUz0iJHtDRkxBR1N9IC1Xbm8tZGVwcmVjYXRl ZC1kZWNsYXJhdGlvbnMgLVduby1jbGFzcy1tZW1hY2Nlc3MgLVduby1wYWNrZWQtbm90LWFsaWdu ZWQiCkBAIC03MCw2ICs3Myw3IEBAIGlmIFsgIiRDUk9TU19CVUlMRCIgXTsgdGhlbgogCSMgTmVl ZCBzb21lIGRldmVsIHBhY2thZ2VzIGluIHRoZSBob3N0IHRvIGJ1aWxkIHFtYWtlLCBtb2MsIHVp YywgcmNjCiAJIyB3YXlsYW5kLWRldmVsIGNvbnRhaW5zIC91c3IvYmluL3dheWxhbmQtc2Nhbm5l cgogCWhvc3RtYWtlZGVwZW5kcys9IiBpY3UtZGV2ZWwgd2F5bGFuZC1kZXZlbCB6bGliLWRldmVs IgorCWhvc3RtYWtlZGVwZW5kcys9IiBwb3N0Z3Jlc3FsLWxpYnMtZGV2ZWwiCiAJIyBDcm9zcyBi dWlsZGluZyBxdHdlYmVuZ2luZSByZXF1aXJlcyBzb21lIG1vcmUgaG9zdCBwYWNrYWdlcwogCWlm IFsgIiRidWlsZF9vcHRpb25fd2ViZW5naW5lIiBdOyB0aGVuCiAJCWhvc3RtYWtlZGVwZW5kcys9 IiBuc3MtZGV2ZWwgbGliZXZlbnQtZGV2ZWwiCkBAIC03OCw0OCArODIsMTggQEAgZmkKIAogX2Jv b3RzdHJhcF9nbigpIHsKIAkjIEJvb3RzdHJhcCBnbiAoZ2VuZXJhdGUgbmluamEpCi0JX21zZ19j cm9zcyAiQm9vdHN0cmFwcGluZyAnZ24nIgotCWNkICR7d3Jrc3JjfS9xdHdlYmVuZ2luZS9zcmMv M3JkcGFydHkvY2hyb21pdW0vdG9vbHMvZ24KLQljb25mPSdpc19jbGFuZz1mYWxzZScKLQljb25m Kz0nIHRyZWF0X3dhcm5pbmdzX2FzX2Vycm9ycz1mYWxzZScKLQljb25mKz0nIGVuYWJsZV9yZW1v dGluZz1mYWxzZScKLQljb25mKz0nIGVuYWJsZV9uYWNsPWZhbHNlJwotCWNvbmYrPScgdXNlX2N1 cHM9ZmFsc2UnCi0JY29uZis9JyB1c2VfZ2NvbmY9ZmFsc2UnCi0JY29uZis9JyB1c2VfZ2lvPWZh bHNlJwotCWNvbmYrPScgdXNlX2dub21lX2tleXJpbmc9ZmFsc2UnCi0JY29uZis9JyB1c2VfZ3Rr PWZhbHNlJwotCWNvbmYrPScgdXNlX2tlcmJlcm9zPWZhbHNlJwotCWNvbmYrPScgbGludXhfdXNl X2J1bmRsZWRfYmludXRpbHM9ZmFsc2UnCi0JY29uZis9JyBiaW51dGlsc19wYXRoPSIvdXNyL2Jp biInCi0JY29uZis9JyB1c2VfZ29sZD1mYWxzZScKLQljb25mKz0nIHVzZV9zeXNyb290PWZhbHNl JwotCWNvbmYrPScgdXNlX2FsbG9jYXRvcj0ibm9uZSInCi0JY29uZis9JyBpc19hbmRyb2lkPWZh bHNlJwotCi0Jc2VkIC1pICR7d3Jrc3JjfS9xdHdlYmVuZ2luZS9zcmMvY29yZS9jb25maWcvbGlu dXgucHJpIFwKLQkJLWUgIi9lcXVhbHMoTUFSTVYvczt0cnVlO2ZhbHNlOyIKLQljYXNlICIkWEJQ U19UQVJHRVRfTUFDSElORSIgaW4KLQkJYXJtdls1Nl0qKSBjb25mKz0nIGFybV91c2VfbmVvbj1m YWxzZSBhcm1fb3B0aW9uYWxseV91c2VfbmVvbj1mYWxzZSc7OwotCQlhcm12NyopICAgIGNvbmYr PScgYXJtX3VzZV9uZW9uPXRydWUgYXJtX29wdGlvbmFsbHlfdXNlX25lb249ZmFsc2UnOzsKLQkJ YWFyY2g2NCopICBjb25mKz0nIGFybV91c2VfbmVvbj10cnVlIGFybV9vcHRpb25hbGx5X3VzZV9u ZW9uPWZhbHNlJzs7Ci0JZXNhYwotCi0JQVI9IiRBUl9ob3N0IiBDQz0iJENDX2hvc3QiIENYWD0i JENYWF9ob3N0IiBMRD0iJENYWF9ob3N0IiBcCisJZWNobyAiQm9vdHN0cmFwcGluZyAnZ24nIgor CWNkICR7d3Jrc3JjfS9xdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvZ24KIAlDRkxBR1M9IiRDRkxB R1NfaG9zdCIgQ1hYRkxBR1M9IiRDWFhGTEFHU19ob3N0IiBMREZMQUdTPSIkTERGTEFHU19ob3N0 IiBcCiAJUEtHQ09ORklHPS91c3IvYmluL3BrZ2NvbmZpZyBQS0dfQ09ORklHX1BBVEg9Ii91c3Iv bGliL3BrZ2NvbmZpZzovdXNyL3NoYXJlL3BrZ2NvbmZpZyIgXAotCQlweXRob24yIGJvb3RzdHJh cC9ib290c3RyYXAucHkgLW4gLS1nbi1nZW4tYXJncyAiJHtjb25mfSIKKwkJcHl0aG9uMiBidWls ZC9nZW4ucHkgLS1uby1sYXN0LWNvbW1pdC1wb3NpdGlvbiAtLW91dC1wYXRoIFwKKwkJCSR7d3Jr c3JjfS9xdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvZ24vb3V0L1JlbGVhc2UgLS1jYyAiJENDX2hv c3QiIFwKKwkJCS0tY3h4ICIkQ1hYX2hvc3QiIC0tbGQgIiRDWFhfaG9zdCIgLS1hciAiJEFSX2hv c3QiCisJbmluamEgLUMgb3V0L1JlbGVhc2UgZ24KIAljZCAke3dya3NyY30KLQotCW1rZGlyIC1w ICR7d3Jrc3JjfS9xdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdG9vbHMvZ24vb3V0 L1JlbGVhc2UKLQljcCAtcCAke3dya3NyY30vcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL291dC9SZWxlYXNlL2duIFwKLQkJJHt3cmtzcmN9L3F0d2ViZW5naW5lL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS90b29scy9nbi9vdXQvUmVsZWFzZS8KLQotCSMgUmVtb3ZlIGduIGZyb20gU1VC RElSUyBmb3IgcXR3ZWJlbmdpbmUvc3JjL2J1aWxkdG9vbHMKLQlzZWQgLWkgJHt3cmtzcmN9L3F0 d2ViZW5naW5lL3NyYy9idWlsZHRvb2xzL2J1aWxkdG9vbHMucHJvIFwKLQkJLWUiL2duLmZpbGUg PSBnbi5wcm8vLCszZCIKIH0KIAorCiBfY2xlYW51cF93cmtzcmNfbGVhaygpIHsKIAlpZiBbIC1k ICIke1BLR0RFU1RESVJ9L3Vzci9saWIvY21ha2UiIF07IHRoZW4KIAkJIyBSZXBsYWNlIHJlZmVy ZW5jZXMgdG8gJHt3cmtzcmN9IGluIGNtYWtlIGZpbGVzCkBAIC0xMzcsNyArMTExLDEwIEBAIF9j bGVhbnVwX3dya3NyY19sZWFrKCkgewogCSMgYW5kIHJlcGxhY2UgcmVmZXJlbmNlcyB0byAke3dy a3NyY30KIAlmaW5kICR7UEtHREVTVERJUn0gLWluYW1lICIqLnBybCIgLWV4ZWMgc2VkIC1pICJ7 fSIgXAogCQktZSAiL15RTUFLRV9QUkxfQlVJTERfRElSL2QiIFwKLQkJLWUgInM7LUwke3dya3Ny Y30vcXRiYXNlL2xpYjstTC91c3IvbGliO2ciIFw7CisJCS1lICJzOy1MJHt3cmtzcmN9L3F0YmFz ZS9saWI7LUwvdXNyL2xpYjtnIiBcCisJCS1lICJzJS91c3IvbGliL2xpYlwoW15bOnNwYWNlOl1d KlwpXC5bc2FdW29dKiUtbFwxJWciIFw7CisJZmluZCAke1BLR0RFU1RESVJ9IC1pbmFtZSAiKi5w cmkiIC1leGVjIHNlZCAtaSAie30iIFwKKwkJLWUgInMlL3Vzci9saWIvbGliXChbXls6c3BhY2U6 XV0qXClcLltzYV1bb10qJS1sXDElZyIgXDsKIAkjIFJlcGxhY2UgJHt3cmtzcmN9IGluIHByb2pl Y3QgaW5jbHVkZSBmaWxlcwogCWZpbmQgJHtQS0dERVNURElSfSAtaW5hbWUgIioucHJpIiAtZXhl YyBzZWQgLWkgInt9IiBcCiAJCS1lICJzOyR7d3Jrc3JjfS9xdGJhc2U7L3Vzci9saWIvcXQ1O2ci IFw7CkBAIC0yODUsOCArMjYyLDcgQEAgZG9fY29uZmlndXJlKCkgewogCQlmb3IgZCBpbiAkKGxz ICR7d3Jrc3JjfS9xdGJhc2UvaW5jbHVkZSk7IGRvCiAJCQlsbiAtc2Z2ICR7dmVyc2lvbn0vJHtk fS9wcml2YXRlIHF0YmFzZS9pbmNsdWRlLyR7ZH0vcHJpdmF0ZQogCQlkb25lCi0KLQkJaWYgWyAi JGJ1aWxkX29wdGlvbl93ZWJlbmdpbmUiIF07IHRoZW4KK2lmIFsgIiRidWlsZF9vcHRpb25fd2Vi ZW5naW5lIiBdOyB0aGVuCiAJCQlfYm9vdHN0cmFwX2duCiAJCWZpCiAKQEAgLTMwNyw2ICsyODMs NyBAQCBkb19jb25maWd1cmUoKSB7CiAJCQkJLWUgJy8jZXJyb3IgUmVhZCB0aGUgY29tbWVudCBh dCB0aGlzIGxvY2F0aW9uL2QnCiAJCQk7OwogCQllc2FjCisJCXBhdGNoIC1OcDAgPCAke0ZJTEVT RElSfS8wMDkwLWhhcmQtZGlzYWJsZS1xbWxjaGFjaGVnZW4ucGF0Y2gKIAllbHNlCiAJCSMgcW1h a2Uge0NYWCxMfUZMQUdTIHBhdGNoZXMKIAkJc2VkIC1pIC1lICJzfF5cKENYWEZMQUdTID0uKlwp fFwxICR7Q1hYRkxBR1N9fCIgXApAQCAtMzM5LDYgKzMxNiwxMCBAQCBkb19jb25maWd1cmUoKSB7 CiAJb3B0cys9IiAtaWN1IgogCW9wdHMrPSIgLW9wZW5zc2wtbGlua2VkIgogCW9wdHMrPSIgLWRi dXMtbGlua2VkIgorCW9wdHMrPSIgLXNxbC1teXNxbCIKKwlvcHRzKz0iIC1teXNxbF9jb25maWcg JHtYQlBTX0NST1NTX0JBU0V9L3Vzci9iaW4vbXlzcWxfY29uZmlnIgorCW9wdHMrPSIgLXNxbC1w c3FsIgorCW9wdHMrPSIgLXBzcWxfY29uZmlnIC91c3IvYmluL3BnX2NvbmZpZyIKIAlvcHRzKz0i IC1uby1wY2giCiAJb3B0cys9IiAtbm8tc3RyaXAiCiAJb3B0cys9IiAtbm9tYWtlIGV4YW1wbGVz IgpAQCAtMzY5LDEyICszNTAsMTAgQEAgZG9fY29uZmlndXJlKCkgewogCWZpCiAJb3B0cys9IiAt c2lsZW50IgogCSMgb3B0cys9IiAtdiIKLQogCSMgbWFrZSBzdXJlIHRvIGRpc2FibGUgd2ViZW5n aW5lIG9uIHBsYXRmb3JtcyB0aGF0IHdlIGRvbid0IGJ1aWxkIGl0IGZvcgogCWlmIFsgLXogIiRi dWlsZF9vcHRpb25fd2ViZW5naW5lIiBdOyB0aGVuCiAJCW9wdHMrPSIgLXNraXAgcXR3ZWJlbmdp bmUiCiAJZmkKLQogCUxERkxBR1MrPSIgLVdsLC0tbm8ta2VlcC1tZW1vcnkiICAjIG5lZWRzIG1v cmUgdGhhbiA4R0IgUkFNIGVsc2UKIAlpZiBbICIkQ1JPU1NfQlVJTEQiIF07IHRoZW4KIAkJc3Bl Yz12b2lkLSR7WEJQU19DUk9TU19UUklQTEVUfS1nKysKQEAgLTM5Miw2ICszNzEsMTkgQEAgZG9f Y29uZmlndXJlKCkgewogCQkJZmkKIAkJCTs7CiAJCWVzYWMKKwkJY2FzZSAiJFhCUFNfVEFSR0VU X01BQ0hJTkUiIGluCisJCWFhcmNoNjQqfGFybXY3KikKKwkJCXNlZCAtaSAke3dya3NyY30vcXR3 ZWJlbmdpbmUvc3JjL2NvcmUvY29uZmlnL2xpbnV4LnByaSBcCisJCQkJLWUgIi9hcm1fdXNlX25l b249L3M7ZmFsc2U7dHJ1ZTsiCisJCQk7OworCQlhcm0qKQorCQkJc2VkIC1pICR7d3Jrc3JjfS9x dHdlYmVuZ2luZS9zcmMvY29yZS9jb25maWcvbGludXgucHJpIFwKKwkJCQktZSAiL2FybV91c2Vf bmVvbj0vczt0cnVlO2ZhbHNlOyIKKworCQkJOzsKKwkJZXNhYworCQlzZWQgLWkgJHt3cmtzcmN9 L3F0d2ViZW5naW5lL3NyYy9jb3JlL2NvbmZpZy9saW51eC5wcmkgXAorCQkJLWUgIi9lcXVhbHMo TUFSTVYvczt0cnVlO2ZhbHNlOyIKIAogCQkjIE1ha2Ugc3VyZSBsaWJRdDVEZXNpZ25lciBpcyBi dWlsdAogCQljcCAtdiAke0ZJTEVTRElSfS9xdHRvb2xzX3NyYy5wcm8gcXR0b29scy9zcmMvc3Jj LnBybwpAQCAtNDI1LDcgKzQxNyw2IEBAIGRvX2luc3RhbGwoKSB7CiAJY2QgJHt3cmtzcmN9L3F0 YmFzZQogCW1ha2UgSU5TVEFMTF9ST09UPSR7REVTVERJUn0gaW5zdGFsbAogCi0JdmxpY2Vuc2Ug JHt3cmtzcmN9L0xHUExfRVhDRVBUSU9OLnR4dAogCV9jbGVhbnVwX3dya3NyY19sZWFrCiAKIAkj IFN5bWJvbGljIGxpbmtzIGZvciByZW1haW5pbmcgYmluYXJpZXMKQEAgLTU0Nyw2ICs1MzgsNyBA QCBkb19pbnN0YWxsKCkgewogCQkJWyAtZiAiJHtiYXNlfS5wcm8ub3JpZyIgXSAmJiBtdiAtdiAk e2Jhc2V9LnByb3sub3JpZyx9CiAJCQlbIC1mIE1ha2VmaWxlLm9yaWcgXSAmJiBtdiAtdiBNYWtl ZmlsZXsub3JpZyx9CiAJCQkjIEF2b2lkIHJlYnVpbGRpbmcgdGhlIE1ha2VmaWxlIGJ5IGNoYW5n aW5nIHRoZSBydWxlCisJCQlzZWQgLWkgTWFrZWZpbGUgLWUgJ3M7XmFsbDouKjthbGw6OycKIAkJ CXNlZCAtaSBNYWtlZmlsZSAtZSAiczteTWFrZWZpbGU6O01ha2VmaWxlLmhvc3Q6OyIKIAkJCWlm IFsgLXggIiR7d3Jrc3JjfS8ke2Rpcn0vYmluLyR7YmFzZX0taG9zdCIgXTsgdGhlbgogCQkJCW12 IC12ICR7d3Jrc3JjfS8ke2Rpcn0vYmluLyR7YmFzZX17LWhvc3QsfQpAQCAtNTc0LDEzICs1NjYs NiBAQCBxdDUtM2RfcGFja2FnZSgpIHsKIAl9CiB9CiAKLXF0NS1jYW52YXMzZF9wYWNrYWdlKCkg ewotCXNob3J0X2Rlc2MrPSIgLSBDYW52YXMgM0QgY29tcG9uZW50IgotCXBrZ19pbnN0YWxsKCkg ewotCQlfaW5zdGFsbF9zdWJwa2cgcXRjYW52YXMzZAotCX0KLX0KLQogcXQ1LWNoYXJ0cy1kZXZl bF9wYWNrYWdlKCkgewogCXNob3J0X2Rlc2MrPSIgLSBDaGFydHMgY29tcG9uZW50IChkZXZlbG9w bWVudCkiCiAJZGVwZW5kcz0icXQ1LWNoYXJ0cy0ke3ZlcnNpb259XyR7cmV2aXNpb259IHF0NS1k ZWNsYXJhdGl2ZS1kZXZlbC0ke3ZlcnNpb259XyR7cmV2aXNpb259IgpAQCAtNjYyLDYgKzY0Nywx OCBAQCBxdDUtZXhhbXBsZXNfcGFja2FnZSgpIHsKIAl9CiB9CiAKK3F0NS1sb3R0aWUtZGV2ZWxf cGFja2FnZSgpIHsKKwlwa2dfaW5zdGFsbCgpIHsKKwkJX2luc3RhbGxfZGV2ZWwgcXRsb3R0aWUK Kwl9Cit9CisKK3F0NS1sb3R0aWVfcGFja2FnZSgpIHsKKwlwa2dfaW5zdGFsbCgpIHsKKwkJX2lu c3RhbGxfc3VicGtnIHF0bG90dGllCisJfQorfQorCiBxdDUtZ2FtZXBhZC1kZXZlbF9wYWNrYWdl KCkgewogCXNob3J0X2Rlc2MrPSIgLSBHYW1lcGFkIGNvbXBvbmVudCAoZGV2ZWxvcG1lbnQpIgog CWRlcGVuZHM9InF0NS1nYW1lcGFkLSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0gcXQ1LWRlY2xhcmF0 aXZlLWRldmVsLSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCkBAIC0xMTE1LDcgKzExMTIsNyBAQCBx dDUtdG9vbHNfcGFja2FnZSgpIHsKIHF0NS1kZXZlbF9wYWNrYWdlKCkgewogCWRlcGVuZHM9Inps aWItZGV2ZWwgbGlicmVzc2wtZGV2ZWw+PTIuMS40IGxpYlhleHQtZGV2ZWwgbGliWHJlbmRlci1k ZXZlbAogCQlmb250Y29uZmlnLWRldmVsIGxpYmdsaWItZGV2ZWwgTWVzYUxpYi1kZXZlbCBtdGRl di1kZXZlbAotCQlkYnVzLWRldmVsIGljdS1kZXZlbCBxdDUtJHt2ZXJzaW9ufV8ke3JldmlzaW9u fQorCQlkYnVzLWRldmVsIGljdS1kZXZlbCBjdXBzLWRldmVsIHF0NS0ke3ZlcnNpb259XyR7cmV2 aXNpb259CiAJCXF0NS1xbWFrZS0ke3ZlcnNpb259XyR7cmV2aXNpb259CiAJCXF0NS1ob3N0LXRv b2xzLSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCiAJc2hvcnRfZGVzYys9IiAtIERldmVsb3BtZW50 IGZpbGVzIgoKRnJvbSBkYThkZDU0NjlhYTM3ZWE2ODE4ZTdiODM4YjJkMWRiN2E3YjllZmRlIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKb2huIDxqb2huekBwb3N0ZW8ubmV0PgpEYXRl OiBNb24sIDE1IEFwciAyMDE5IDE4OjI4OjA1ICswMjAwClN1YmplY3Q6IFtQQVRDSCAyLzddIHF0 NS13ZWJraXQ6IHJlYnVpbGQgYWdhaW5zdCBxdDUtNS4xMy4wCgotLS0KIHNyY3BrZ3MvcXQ1LXdl YmtpdC90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBk ZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ1LXdlYmtpdC90ZW1wbGF0ZSBiL3Ny Y3BrZ3MvcXQ1LXdlYmtpdC90ZW1wbGF0ZQppbmRleCBiMmU5OTZmMzBkOC4uMjkwMzljYzYwNmQg MTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ1LXdlYmtpdC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0 NS13ZWJraXQvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdx dDUtd2Via2l0JwogcGtnbmFtZT1xdDUtd2Via2l0CiB2ZXJzaW9uPTUuMjEyLjAKLXJldmlzaW9u PTIKK3JldmlzaW9uPTMKIF92PSR7dmVyc2lvbiUuKn0KIHdya3NyYz0icXR3ZWJraXQtZXZlcnl3 aGVyZS1zcmMtJHtfdn0iCiBidWlsZF9zdHlsZT1jbWFrZQoKRnJvbSBiNWE3NWQ0MzU0MGI4OTdh OGYwNDM0YTIzM2M2NWYwMmUwNDg4YjkwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBK b2huIDxqb2huekBwb3N0ZW8ubmV0PgpEYXRlOiBNb24sIDExIE1hciAyMDE5IDAxOjI1OjE0ICsw MTAwClN1YmplY3Q6IFtQQVRDSCAzLzddIHRlbGVncmFtLWRlc2t0b3A6IHJlYnVpbGQgZm9yIHF0 NS01LjEzLjAKCi0tLQogc3JjcGtncy90ZWxlZ3JhbS1kZXNrdG9wL3RlbXBsYXRlIHwgMiArLQog MSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0 IGEvc3JjcGtncy90ZWxlZ3JhbS1kZXNrdG9wL3RlbXBsYXRlIGIvc3JjcGtncy90ZWxlZ3JhbS1k ZXNrdG9wL3RlbXBsYXRlCmluZGV4IGFhOTA3NzVjMmM3Li4yNTQwMjA1MzlkYiAxMDA2NDQKLS0t IGEvc3JjcGtncy90ZWxlZ3JhbS1kZXNrdG9wL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvdGVsZWdy YW0tZGVza3RvcC90ZW1wbGF0ZQpAQCAtMTksNyArMTksNyBAQCBtYWtlZGVwZW5kcz0iYWxzYS1s aWItZGV2ZWwgZmZtcGVnLWRldmVsIGd0ayszLWRldmVsIGxpYmFwcGluZGljYXRvci1kZXZlbAog IGxpYmRidXNtZW51LWdsaWItZGV2ZWwgbGlib3BlbmFsLWRldmVsIG1pbml6aXAtZGV2ZWwgb3B1 cy1kZXZlbCB4eEhhc2gtZGV2ZWwKICAkKHZvcHRfaWYgcHVsc2VhdWRpbyAncHVsc2VhdWRpby1k ZXZlbCcpIHF0NS1kZXZlbCByYW5nZS12MyBsaWJ2YS1kZXZlbAogIHJhcGlkanNvbiIKLWRlcGVu ZHM9InF0NS1pbWFnZWZvcm1hdHMgcXQ1Pj01LjExLjM8NS4xMS40IgorZGVwZW5kcz0icXQ1LWlt YWdlZm9ybWF0cyBxdDU+PTUuMTMuMDw1LjEzLjEiCiBzaG9ydF9kZXNjPSJUZWxlZ3JhbSBEZXNr dG9wIG1lc3NhZ2luZyBhcHAiCiBtYWludGFpbmVyPSJKb2huIDxqb2huekBwb3N0ZW8ubmV0PiIK IGxpY2Vuc2U9IkdQTC0zLjAtb3ItbGF0ZXIgV0lUSCBPcGVuU1NMIgoKRnJvbSBkZTMwMTM4MGYx ODc0Mjg2MzE3NWI5OWQ1NDhmYTI4NzY2YjcxYjBkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiBxNjYgPGRhbmllbEBvY3RhZm9yZ2Uub3JnPgpEYXRlOiBGcmksIDE1IE1hciAyMDE5IDE4 OjU3OjE3ICswMTAwClN1YmplY3Q6IFtQQVRDSCA0LzddIHF0NS1zdHlsZXBsdWdpbnM6IHJlYnVp bGQgYWdhaW5zdCBxdDUtNS4xMy4wCgpbY2kgc2tpcF0KLS0tCiBzcmNwa2dzL3F0NS1zdHlsZXBs dWdpbnMvdGVtcGxhdGUgfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyks IDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDUtc3R5bGVwbHVnaW5zL3Rl bXBsYXRlIGIvc3JjcGtncy9xdDUtc3R5bGVwbHVnaW5zL3RlbXBsYXRlCmluZGV4IGVjMjg2YjRi ZGQzLi43NDViY2I4ZjdhNSAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDUtc3R5bGVwbHVnaW5zL3Rl bXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ1LXN0eWxlcGx1Z2lucy90ZW1wbGF0ZQpAQCAtMSwxMyAr MSwxMyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ1LXN0eWxlcGx1Z2lucycKIHBrZ25hbWU9 cXQ1LXN0eWxlcGx1Z2lucwogdmVyc2lvbj01LjAuMAotcmV2aXNpb249NworcmV2aXNpb249OAog X2dpdHJldj02MDBjMjk2ZjRkNDI5ZmZlYjgyMDNmZWI1NGVmZWFjYzJiYmVhMGY3CiB3cmtzcmM9 InF0c3R5bGVwbHVnaW5zLSR7X2dpdHJldn0iCiBidWlsZF9zdHlsZT1xbWFrZQogaG9zdG1ha2Vk ZXBlbmRzPSJwa2ctY29uZmlnIHF0NS1ob3N0LXRvb2xzIHF0NS1kZXZlbCIKIG1ha2VkZXBlbmRz PSJsaWJ4Y2ItZGV2ZWwgbGlieGtiY29tbW9uLWRldmVsIGxpYmlucHV0LWRldmVsIHRzbGliLWRl dmVsIGd0aystZGV2ZWwgcXQ1LWRldmVsIgotZGVwZW5kcz0icXQ1Pj01LjExLjM8NS4xMS40Igor ZGVwZW5kcz0icXQ1Pj01LjEzLjA8NS4xMy4xIgogc2hvcnRfZGVzYz0iQWRkaXRpb25hbCBzdHls ZSBwbHVnaW5zIGZvciBRdDUiCiBtYWludGFpbmVyPSJKw7xyZ2VuIEJ1Y2htw7xsbGVyIDxwdWxs bW9sbEB0LW9ubGluZS5kZT4iCiBsaWNlbnNlPSJMR1BMLTIuMS1vbmx5LCBMR1BMLTMuMC1vbmx5 IgoKRnJvbSA1MWYzOGYyNDMyNTJlMDFkNDhmYjRlZWU0MzM0NTAwNjRjNzExYTQ4IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKb2huIDxqb2huekBwb3N0ZW8ubmV0PgpEYXRlOiBUaHUs IDE4IEFwciAyMDE5IDIyOjU0OjIzICswMjAwClN1YmplY3Q6IFtQQVRDSCA1LzddIHF0Y3JlYXRv cjogcmVtb3ZlIGRlcHJlY2F0ZWQgcXQ1LWNhdm5hczNkIGRlcAoKLS0tCiBzcmNwa2dzL3F0Y3Jl YXRvci90ZW1wbGF0ZSB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwg MiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Y3JlYXRvci90ZW1wbGF0ZSBi L3NyY3BrZ3MvcXRjcmVhdG9yL3RlbXBsYXRlCmluZGV4IDdhNzZjNmYzZGIyLi4xOWVmMWI4NTc0 NiAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdGNyZWF0b3IvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9x dGNyZWF0b3IvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdx dGNyZWF0b3InCiBwa2duYW1lPXF0Y3JlYXRvcgogdmVyc2lvbj00LjkuMQotcmV2aXNpb249MQor cmV2aXNpb249Mgogd3Jrc3JjPSJxdC1jcmVhdG9yLW9wZW5zb3VyY2Utc3JjLSR7dmVyc2lvbn0i CiBidWlsZF9zdHlsZT1xbWFrZQogbWFrZV9pbnN0YWxsX2FyZ3M9IklOU1RBTExfUk9PVD1cJHtE RVNURElSfS91c3IiCkBAIC0zNiw3ICszNiw3IEBAIHBvc3RfaW5zdGFsbCgpIHsKIHF0Y3JlYXRv ci1mdWxsX3BhY2thZ2UoKSB7CiAJc2hvcnRfZGVzYys9IiAtIGZ1bGwgUXQ1IGRlcGVuZGVuY2ll cyIKIAlkZXBlbmRzPSIke3NvdXJjZXBrZ30+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0KLSBxdDUt M2QtZGV2ZWwgcXQ1LWNhbnZhczNkIHF0NS1jaGFydHMtZGV2ZWwgcXQ1LWNvbm5lY3Rpdml0eS1k ZXZlbCBxdDUtZGF0YXZpczNkLWRldmVsCisgcXQ1LTNkLWRldmVsIHF0NS1jaGFydHMtZGV2ZWwg cXQ1LWNvbm5lY3Rpdml0eS1kZXZlbCBxdDUtZGF0YXZpczNkLWRldmVsCiAgcXQ1LWRlY2xhcmF0 aXZlLWRldmVsIHF0NS1kYXRhdmlzM2QtZGV2ZWwgcXQ1LWdhbWVwYWQtZGV2ZWwgcXQ1LWxvY2F0 aW9uLWRldmVsCiAgcXQ1LW11bHRpbWVkaWEtZGV2ZWwgcXQ1LW5ldHdvcmthdXRoLWRldmVsIHF0 NS1wdXJjaGFzaW5nLWRldmVsIHF0NS1xdWlja2NvbnRyb2xzCiAgcXQ1LXF1aWNrY29udHJvbHMy LWRldmVsIHF0NS1yZW1vdGVvYmplY3RzLWRldmVsIHF0NS1zY3JpcHQtZGV2ZWwgcXQ1LXNjeG1s LWRldmVsCgpGcm9tIDFhNDRjN2JjYTY1OGU3NGM2NjQ4MDQ3M2U5YmMyY2Y3YmM4OTVjMDkgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEpvaG4gPGpvaG56QHBvc3Rlby5uZXQ+CkRhdGU6 IFdlZCwgMTkgSnVuIDIwMTkgMTU6MjA6MjkgKzAyMDAKU3ViamVjdDogW1BBVENIIDYvN10gZml4 dXAhIHF0NTogdXBkYXRlIHRvIDUuMTMuMAoKLS0tCiBzcmNwa2dzL3F0NS90ZW1wbGF0ZSB8IDIg Ky0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAt LWdpdCBhL3NyY3BrZ3MvcXQ1L3RlbXBsYXRlIGIvc3JjcGtncy9xdDUvdGVtcGxhdGUKaW5kZXgg MjQ5MjIwMDNjMGEuLjVmNTA1OTE0MDIyIDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0NS90ZW1wbGF0 ZQorKysgYi9zcmNwa2dzL3F0NS90ZW1wbGF0ZQpAQCAtMTA1Miw3ICsxMDUyLDcgQEAgcXQ1LWhv c3QtdG9vbHNfcGFja2FnZSgpIHsKIAkJCWlmIFsgLWYgJHtERVNURElSfS91c3IvbGliL3F0NS9i aW4vJHtmfSBdOyB0aGVuCiAJCQkJdm1vdmUgdXNyL2xpYi9xdDUvYmluLyR7Zn0KIAkJCWZpCi0J CQlpZiBbIC1mICR7REVTVERJUn0vdXNyL2Jpbi8ke2Z9LXF0NSBdOyB0aGVuCisJCQlpZiBbIC1l ICR7REVTVERJUn0vdXNyL2Jpbi8ke2Z9LXF0NSBdOyB0aGVuCiAJCQkJdm1vdmUgdXNyL2Jpbi8k e2Z9LXF0NQogCQkJZWxzZQogCQkJCWxuIC1zZiAuLi9saWIvcXQ1L2Jpbi8ke2Z9ICR7UEtHREVT VERJUn0vdXNyL2Jpbi8ke2Z9LXF0NQoKRnJvbSA0N2M5ZTU4Y2E3NzlhYjBlODFhZjhlZDIyMTM2 ZDgwMjZhM2M2ZDk3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKb2huIDxqb2huekBw b3N0ZW8ubmV0PgpEYXRlOiBXZWQsIDE5IEp1biAyMDE5IDE3OjEyOjM1ICswMjAwClN1YmplY3Q6 IFtQQVRDSCA3LzddIGZpeHVwISBxdDU6IHVwZGF0ZSB0byA1LjEzLjAKCi0tLQogc3JjcGtncy9x dDUvcGF0Y2hlcy8wMDQxLWxpYnJlc3NsLnBhdGNoIHwgMTEgKysrKysrKysrKysKIDEgZmlsZSBj aGFuZ2VkLCAxMSBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDUv cGF0Y2hlcy8wMDQxLWxpYnJlc3NsLnBhdGNoCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDUvcGF0 Y2hlcy8wMDQxLWxpYnJlc3NsLnBhdGNoIGIvc3JjcGtncy9xdDUvcGF0Y2hlcy8wMDQxLWxpYnJl c3NsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5iODlmZGRk MDFhYgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ1L3BhdGNoZXMvMDA0MS1saWJyZXNz bC5wYXRjaApAQCAtMCwwICsxLDExIEBACistLS0gcXRiYXNlL3NyYy9uZXR3b3JrL3NzbC9xc3Ns c29ja2V0X29wZW5zc2wuY3BwCTIwMTktMDYtMTMgMDY6MTg6MTguMDAwMDAwMDAwICswMjAwCisr KysgLQkyMDE5LTA2LTE3IDE0OjU5OjIyLjUwMTQ2MDg4MiArMDIwMAorQEAgLTYwNCw3ICs2MDQs NyBAQAorICAgICAgICAgICAgIHFfU1NMX3NldF9wc2tfc2VydmVyX2NhbGxiYWNrKHNzbCwgJnFf c3NsX3Bza19zZXJ2ZXJfY2FsbGJhY2spOworICAgICB9CisgI2VuZGlmCistI2lmIE9QRU5TU0xf VkVSU0lPTl9OVU1CRVIgPj0gMHgxMDEwMTAwNkwKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJF UiA+PSAweDEwMTAxMDA2TCAmJiAhZGVmaW5lZChMSUJSRVNTTF9WRVJTSU9OX05VTUJFUikKKyAg ICAgLy8gU2V0IHRoZSBjbGllbnQgY2FsbGJhY2sgZm9yIFRMU3YxLjMgUFNLCisgICAgIGlmICht b2RlID09IFFTc2xTb2NrZXQ6OlNzbENsaWVudE1vZGUKKyAgICAgICAgICYmIFFTc2xTb2NrZXQ6 OnNzbExpYnJhcnlCdWlsZFZlcnNpb25OdW1iZXIoKSA+PSAweDEwMTAxMDA2TCkgewo= --===============7764013133129280269==--