From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 26352 invoked from network); 16 Aug 2020 13:36:34 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 16 Aug 2020 13:36:34 -0000 Content-Type: multipart/mixed; boundary="===============0673904282625544124==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_system_wide_electron_package?= To: ml@inbox.vuxu.org From: Johnnynator Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Sun, 16 Aug 2020 15:36:33 +0200 List-Id: Message-ID: <20200816133633.yyxSmOOIlVHb1LMq37DP_Ug-QdG_QjkH7iLzllYSqUE@z> GitHub notification mails are now in MIME to allow UTF8. --===============0673904282625544124== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgSm9obm55bmF0b3IgYWdhaW5zdCBt YXN0ZXIgb24gdGhlIHZvaWQtcGFja2FnZXMgcmVwb3NpdG9yeQoKaHR0cHM6Ly9naXRodWIuY29t L0pvaG5ueW5hdG9yL3ZvaWQtcGFja2FnZXMgZWxlY3Ryb24KaHR0cHM6Ly9naXRodWIuY29tL3Zv aWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzIxNzU4CgpzeXN0ZW0gd2lkZSBlbGVjdHJvbiBw YWNrYWdlClRlc3QgcmVwbzogaHR0cHM6Ly92b2lkLmpvaG5ueW5hdG9yLmRldi9lbGVjdHJvbi8N Cg0KdG8gZG86IHJlaW50cm9kdWNlIHN5c3RlbSB6bGliIHBhdGNoDQp0byBkbzogZWxlY3Ryb244 IHBhY2thZ2UgZm9yIGFsbCB0aGUgb3RoZXIgZWxlY3Ryb24gYXBwcw0KdG8gZG86IGJyaW5nIHRo ZSB0ZW1wbGF0ZSBtb3JlIGluIGxpbmUgd2l0aCB0aGUgY2hyb21pdW0gb25lIHN0aWxlIHdpc2UN Cg0KVGhhbmtzIHRvIEBDb2dpdHJpIHdobyBkaWQgcHJlcGFyZSBtb3N0IG9mIHRoaXMgd29yaw0K DQpQLnMuIEknbSBhbHJlYWR5IHNvcnJ5IGZvciB0aGUgYnVpbGQgc2VydmVyIHRvIGdldCBhIDNy ZCBjaHJvbWl1bSBwYWNrYWdlIHRvIGJ1aWxkIG9jY2FzaW9uYWxseS4KCkEgcGF0Y2ggZmlsZSBm cm9tIGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvcHVsbC8yMTc1 OC5wYXRjaCBpcyBhdHRhY2hlZA== --===============0673904282625544124== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-electron-21758.patch" RnJvbSA2NDUyM2M4ZDNjYTJmM2E3NjkwYjhjMjVlNmUzOTkwZDNlNjQxZjEzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2huIDxtZUBqb2hubnluYXRvci5kZXY+CkRhdGU6IEZyaSwg OCBNYXkgMjAyMCAxOToxNjozOSArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMS8yXSBOZXcgcGFja2Fn ZTogZWxlY3Ryb243LTcuMi4zCgpjbG9zZXMgIzIxNzU4Ci0tLQogLi4ubXVzbC1kZWZhdWx0LXB0 aHJlYWQtc3RhY2tzaXplLnBhdGNoLnBhdGNoIHwgICAzMSArCiAuLi4vY2hyb21pdW0tbXVzbC1z YW5kYm94LnBhdGNoLnBhdGNoICAgICAgICAgfCAgMTc2ICsrCiAuLi51bS1tdXNsX2Nhbm9uaWNh bGl6ZV9maWxlX25hbWUucGF0Y2gucGF0Y2ggfCAgIDEzICsKIC4uLi9jaHJvbWl1bS1tdXNsX2Nk ZWZzLnBhdGNoLnBhdGNoICAgICAgICAgICB8ICAgNDUgKwogLi4ubXVzbF9kZWZpbmVfdGVtcF9m YWlsdXJlX3JldHJ5LnBhdGNoLnBhdGNoIHwgICAxOCArCiAuLi4vY2hyb21pdW0tbXVzbF9kbnMu cGF0Y2gucGF0Y2ggICAgICAgICAgICAgfCAgIDYxICsKIC4uLi9jaHJvbWl1bS1tdXNsX2V4ZWlu Zm8ucGF0Y2gucGF0Y2ggICAgICAgICB8ICAgOTYgKysKIC4uLi9jaHJvbWl1bS1tdXNsX2Zwc3Rh dGVfdC5wYXRjaC5wYXRjaCAgICAgICB8ICAgNDggKwogLi4uL2Nocm9taXVtLW11c2xfZ2V0Y29u dGV4dC5wYXRjaC5wYXRjaCAgICAgIHwgICAyNSArCiAuLi4vY2hyb21pdW0tbXVzbF9tYWxsaW5m by5wYXRjaC5wYXRjaCAgICAgICAgfCAgIDYxICsKIC4uLi9jaHJvbWl1bS1tdXNsX3ByZWFkX3B3 cml0ZTY0LnBhdGNoLnBhdGNoICB8ICAgMTggKwogLi4uL2Nocm9taXVtLW11c2xfcHVzaF9iYWNr LnBhdGNoLnBhdGNoICAgICAgIHwgICAxMyArCiAuLi4vY2hyb21pdW0tbXVzbF9zaV9maWVsZHMu cGF0Y2gucGF0Y2ggICAgICAgfCAgIDEzICsKIC4uLi9jaHJvbWl1bS1tdXNsX3N0YWNrX3NpemUu cGF0Y2gucGF0Y2ggICAgICB8ICAgNDEgKwogLi4uL2Nocm9taXVtLW11c2xfc3RhY2tfdHJhY2Uu cGF0Y2gucGF0Y2ggICAgIHwgICA0NCArCiAuLi4vY2hyb21pdW0tbXVzbF90Y3BfbGlzdGVuLnBh dGNoLnBhdGNoICAgICAgfCAgIDE0ICsKIC4uLi9jaHJvbWl1bS1tdXNsX3dvcmRzaXplLnBhdGNo LnBhdGNoICAgICAgICB8ICAgMjQgKwogLi4udW0tMDAxLXVwc3RyZWFtX2Nocm9tZV9jbGVhbmVy LnBhdGNoLnBhdGNoIHwgICA3MyArCiAuLi5fbG9nc19mcm9tX3Rlc3RfY2lsZF9wcm9jZXNzZXMu cGF0Y2gucGF0Y2ggfCAgMzQyICsrKysKIC4uLnBzdHJlYW1fbW92ZV9jaGlsZF9wcm9jZXNzX2xv Zy5wYXRjaC5wYXRjaCB8ICA3MzAgKysrKysrKysKIC4uLnBzdHJlYW1fdXNlX2NoaWxkcHJvY2Vz c2xvZ2dlci5wYXRjaC5wYXRjaCB8ICAxODYgKysrCiAuLi4tMDA1LXVwc3RyZWFtLWNocm9taXVt X3ZlcnNpb24ucGF0Y2gucGF0Y2ggfCAgIDI2ICsKIC4uLi9maWxlcy9wYXRjaGVzL2Nocm9taXVt LTc3LWNsYW5nLnBhdGNoICAgICB8ICAgMTMgKwogLi4uL3BhdGNoZXMvY2hyb21pdW0tNzctcHVs c2VhdWRpby0xMy5wYXRjaCAgIHwgICA4MiArCiAuLi4vcGF0Y2hlcy9jaHJvbWl1bS03Ny1zeXN0 ZW0taWN1LnBhdGNoICAgICAgfCAgIDIwICsKIC4uLi9wYXRjaGVzL2Nocm9taXVtLTc4LWdjYy1h bGlnbmFzLnBhdGNoICAgICB8ICAxMDIgKysKIC4uLi9wYXRjaGVzL2Nocm9taXVtLTc4LWdjYy1l bnVtLXJhbmdlLnBhdGNoICB8ICAgNDYgKwogLi4uL3BhdGNoZXMvY2hyb21pdW0tNzgtZ2NjLW5v ZXhjZXB0LnBhdGNoICAgIHwgICAzMiArCiAuLi4vZmlsZXMvcGF0Y2hlcy9jaHJvbWl1bS03OC1p Y29uLnBhdGNoICAgICAgfCAgIDEyICsKIC4uLi9maWxlcy9wYXRjaGVzL2Nocm9taXVtLTc4LWlu Y2x1ZGUucGF0Y2ggICB8ICAgNDAgKwogLi4uL2ZpbGVzL3BhdGNoZXMvY2hyb21pdW0tNzgtcG0t Y3Jhc2gucGF0Y2ggIHwgICA0MyArCiAuLi4vcGF0Y2hlcy9jaHJvbWl1bS03OC1wcm90b2J1Zi1l eHBvcnQucGF0Y2ggfCAgIDEzICsKIC4uLi9jaHJvbWl1bS03OC1yZXZlcnQtbm9leGNlcHQtcjEu cGF0Y2ggICAgICB8IDE0NzEgKysrKysrKysrKysrKysrKysKIC4uLnJvbWl1bS03OS1nY2MtYW1i aWd1b3VzLW5vZGVzdHJ1Y3Rvci5wYXRjaCB8ICAgMzkgKwogLi4uL3BhdGNoZXMvY2hyb21pdW0t NzktZ2NjLWluY2x1ZGVzLnBhdGNoICAgIHwgIDEwMiArKwogLi4uL3BhdGNoZXMvY2hyb21pdW0t NzktZ2NjLXN0YXR1cy1lbnVtLnBhdGNoIHwgICAzMSArCiAuLi4vZmlsZXMvcGF0Y2hlcy9jaHJv bWl1bS03OS1pY3UtNjUucGF0Y2ggICAgfCAgIDEzICsKIC4uLi9maWxlcy9wYXRjaGVzL2Nocm9t aXVtLTc5LWljdS02Ny5wYXRjaCAgICB8ICAxNjcgKysKIC4uLmNocm9taXVtLWNocm9taXVtX2F0 a19vcHRpb25hbC5wYXRjaC5wYXRjaCB8ICAgMTcgKwogLi4uL2Nocm9taXVtLWNsYW5nMTBfZ2xz bGFuZy5wYXRjaC5wYXRjaCAgICAgIHwgICAyNSArCiAuLi4vZmlsZXMvcGF0Y2hlcy9jaHJvbWl1 bS1jb21waWxlci1yMTAucGF0Y2ggfCAgMTg1ICsrKwogLi4uL3BhdGNoZXMvY2hyb21pdW0tZml4 LWNoYXJfdHJhaXRzLnBhdGNoICAgIHwgICAxNCArCiAuLi4vY2hyb21pdW0tZml4LWNvbW1hbmRs aW5lLWluY2x1ZGUucGF0Y2ggICAgfCAgIDQ0ICsKIC4uLi9jaHJvbWl1bS1maXgtc3VjZXNzLWRl ZmluaXRpb24ucGF0Y2ggICAgICB8ICAgMTUgKwogLi4uL2ZpbGVzL3BhdGNoZXMvY2hyb21pdW0t Z2NjLWx0by5wYXRjaCAgICAgIHwgIDEzMSArKwogLi4uL2ZpbGVzL3BhdGNoZXMvY2hyb21pdW0t Z2NjLXNoYXJlZC5wYXRjaCAgIHwgICAyMCArCiAuLi4vcGF0Y2hlcy9jaHJvbWl1bS1nbl9ib290 c3RyYXBfbmluamEucGF0Y2ggfCAgIDMyICsKIC4uLi9maWxlcy9wYXRjaGVzL2Nocm9taXVtLWxp YmNfbWFsbG9jLnBhdGNoICB8ICAgMjYgKwogLi4uL3BhdGNoZXMvY2hyb21pdW0tdG9vbGNoYWlu LWhvc3QucGF0Y2ggICAgIHwgICAxMSArCiAuLi4vcGF0Y2hlcy9jaHJvbWl1bS11bmJ1bmRsZS16 bGliLXIxLnBhdGNoICAgfCAgIDEzICsKIC4uLjMtZmlsZXMtdG8taGF2ZS1hLXN0YXJ0LXRpbWUt b2YtemVyby5wYXRjaCB8ICAgMzggKwogLi4uYS1zY3JpcHQtdG8tbGlzdC1wYXRjaC10YXJnZXRz LnBhdGNoLnBhdGNoIHwgICA0MiArCiAuLi4vcGF0Y2hlcy9lbGVjdHJvbi1CdWlsZC1maXhlcy5w YXRjaC5wYXRjaCAgfCAgIDU3ICsKIC4uLmVjdHJvbi1kb250LWFzc3VtZS1weXRob24taXMtcHl0 aG9uMi5wYXRjaCB8ICAgMTcgKwogLi4uL2ZpbGVzL3BhdGNoZXMvZWxlY3Ryb24tZml4LWluY2x1 ZGVzLnBhdGNoIHwgICAxOSArCiAuLi4vZWxlY3Ryb24tbWpzdW5pdC1ub3QtZXhzaXQucGF0Y2gu cGF0Y2ggICAgfCAgIDQ3ICsKIHNyY3BrZ3MvZWxlY3Ryb243L3RlbXBsYXRlICAgICAgICAgICAg ICAgICAgICB8ICAzNDEgKysrKwogc3JjcGtncy9lbGVjdHJvbjcvdXBkYXRlICAgICAgICAgICAg ICAgICAgICAgIHwgICAgMiArCiA1OCBmaWxlcyBjaGFuZ2VkLCA1NDIwIGluc2VydGlvbnMoKykK IGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9tdXNsLXBhdGNoZXMv Y2hyb21pdW0tbXVzbC1kZWZhdWx0LXB0aHJlYWQtc3RhY2tzaXplLnBhdGNoLnBhdGNoCiBjcmVh dGUgbW9kZSAxMDA2NDQgc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvbXVzbC1wYXRjaGVzL2Nocm9t aXVtLW11c2wtc2FuZGJveC5wYXRjaC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mv ZWxlY3Ryb243L2ZpbGVzL211c2wtcGF0Y2hlcy9jaHJvbWl1bS1tdXNsX2Nhbm9uaWNhbGl6ZV9m aWxlX25hbWUucGF0Y2gucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2VsZWN0cm9u Ny9maWxlcy9tdXNsLXBhdGNoZXMvY2hyb21pdW0tbXVzbF9jZGVmcy5wYXRjaC5wYXRjaAogY3Jl YXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL211c2wtcGF0Y2hlcy9jaHJv bWl1bS1tdXNsX2RlZmluZV90ZW1wX2ZhaWx1cmVfcmV0cnkucGF0Y2gucGF0Y2gKIGNyZWF0ZSBt b2RlIDEwMDY0NCBzcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9tdXNsLXBhdGNoZXMvY2hyb21pdW0t bXVzbF9kbnMucGF0Y2gucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2VsZWN0cm9u Ny9maWxlcy9tdXNsLXBhdGNoZXMvY2hyb21pdW0tbXVzbF9leGVpbmZvLnBhdGNoLnBhdGNoCiBj cmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvbXVzbC1wYXRjaGVzL2No cm9taXVtLW11c2xfZnBzdGF0ZV90LnBhdGNoLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3Jj cGtncy9lbGVjdHJvbjcvZmlsZXMvbXVzbC1wYXRjaGVzL2Nocm9taXVtLW11c2xfZ2V0Y29udGV4 dC5wYXRjaC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvZWxlY3Ryb243L2ZpbGVz L211c2wtcGF0Y2hlcy9jaHJvbWl1bS1tdXNsX21hbGxpbmZvLnBhdGNoLnBhdGNoCiBjcmVhdGUg bW9kZSAxMDA2NDQgc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvbXVzbC1wYXRjaGVzL2Nocm9taXVt LW11c2xfcHJlYWRfcHdyaXRlNjQucGF0Y2gucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNw a2dzL2VsZWN0cm9uNy9maWxlcy9tdXNsLXBhdGNoZXMvY2hyb21pdW0tbXVzbF9wdXNoX2JhY2su cGF0Y2gucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9t dXNsLXBhdGNoZXMvY2hyb21pdW0tbXVzbF9zaV9maWVsZHMucGF0Y2gucGF0Y2gKIGNyZWF0ZSBt b2RlIDEwMDY0NCBzcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9tdXNsLXBhdGNoZXMvY2hyb21pdW0t bXVzbF9zdGFja19zaXplLnBhdGNoLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9l bGVjdHJvbjcvZmlsZXMvbXVzbC1wYXRjaGVzL2Nocm9taXVtLW11c2xfc3RhY2tfdHJhY2UucGF0 Y2gucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9tdXNs LXBhdGNoZXMvY2hyb21pdW0tbXVzbF90Y3BfbGlzdGVuLnBhdGNoLnBhdGNoCiBjcmVhdGUgbW9k ZSAxMDA2NDQgc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvbXVzbC1wYXRjaGVzL2Nocm9taXVtLW11 c2xfd29yZHNpemUucGF0Y2gucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2VsZWN0 cm9uNy9maWxlcy9wYXRjaGVzL2Nocm9taXVtLTAwMS11cHN0cmVhbV9jaHJvbWVfY2xlYW5lci5w YXRjaC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3Bh dGNoZXMvY2hyb21pdW0tMDAyLXVwc3RyZWFtX3NhdmVfbG9nc19mcm9tX3Rlc3RfY2lsZF9wcm9j ZXNzZXMucGF0Y2gucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2VsZWN0cm9uNy9m aWxlcy9wYXRjaGVzL2Nocm9taXVtLTAwMy11cHN0cmVhbV9tb3ZlX2NoaWxkX3Byb2Nlc3NfbG9n LnBhdGNoLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMv cGF0Y2hlcy9jaHJvbWl1bS0wMDQtdXBzdHJlYW1fdXNlX2NoaWxkcHJvY2Vzc2xvZ2dlci5wYXRj aC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3BhdGNo ZXMvY2hyb21pdW0tMDA1LXVwc3RyZWFtLWNocm9taXVtX3ZlcnNpb24ucGF0Y2gucGF0Y2gKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9wYXRjaGVzL2Nocm9taXVt LTc3LWNsYW5nLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9lbGVjdHJvbjcvZmls ZXMvcGF0Y2hlcy9jaHJvbWl1bS03Ny1wdWxzZWF1ZGlvLTEzLnBhdGNoCiBjcmVhdGUgbW9kZSAx MDA2NDQgc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9jaHJvbWl1bS03Ny1zeXN0ZW0t aWN1LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvcGF0 Y2hlcy9jaHJvbWl1bS03OC1nY2MtYWxpZ25hcy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNy Y3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3BhdGNoZXMvY2hyb21pdW0tNzgtZ2NjLWVudW0tcmFuZ2Uu cGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9wYXRjaGVz L2Nocm9taXVtLTc4LWdjYy1ub2V4Y2VwdC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3Br Z3MvZWxlY3Ryb243L2ZpbGVzL3BhdGNoZXMvY2hyb21pdW0tNzgtaWNvbi5wYXRjaAogY3JlYXRl IG1vZGUgMTAwNjQ0IHNyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3BhdGNoZXMvY2hyb21pdW0tNzgt aW5jbHVkZS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvZWxlY3Ryb243L2ZpbGVz L3BhdGNoZXMvY2hyb21pdW0tNzgtcG0tY3Jhc2gucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBz cmNwa2dzL2VsZWN0cm9uNy9maWxlcy9wYXRjaGVzL2Nocm9taXVtLTc4LXByb3RvYnVmLWV4cG9y dC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3BhdGNo ZXMvY2hyb21pdW0tNzgtcmV2ZXJ0LW5vZXhjZXB0LXIxLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2 NDQgc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9jaHJvbWl1bS03OS1nY2MtYW1iaWd1 b3VzLW5vZGVzdHJ1Y3Rvci5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvZWxlY3Ry b243L2ZpbGVzL3BhdGNoZXMvY2hyb21pdW0tNzktZ2NjLWluY2x1ZGVzLnBhdGNoCiBjcmVhdGUg bW9kZSAxMDA2NDQgc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9jaHJvbWl1bS03OS1n Y2Mtc3RhdHVzLWVudW0ucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2VsZWN0cm9u Ny9maWxlcy9wYXRjaGVzL2Nocm9taXVtLTc5LWljdS02NS5wYXRjaAogY3JlYXRlIG1vZGUgMTAw NjQ0IHNyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3BhdGNoZXMvY2hyb21pdW0tNzktaWN1LTY3LnBh dGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9j aHJvbWl1bS1jaHJvbWl1bV9hdGtfb3B0aW9uYWwucGF0Y2gucGF0Y2gKIGNyZWF0ZSBtb2RlIDEw MDY0NCBzcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9wYXRjaGVzL2Nocm9taXVtLWNsYW5nMTBfZ2xz bGFuZy5wYXRjaC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvZWxlY3Ryb243L2Zp bGVzL3BhdGNoZXMvY2hyb21pdW0tY29tcGlsZXItcjEwLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2 NDQgc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9jaHJvbWl1bS1maXgtY2hhcl90cmFp dHMucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9wYXRj aGVzL2Nocm9taXVtLWZpeC1jb21tYW5kbGluZS1pbmNsdWRlLnBhdGNoCiBjcmVhdGUgbW9kZSAx MDA2NDQgc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9jaHJvbWl1bS1maXgtc3VjZXNz LWRlZmluaXRpb24ucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2VsZWN0cm9uNy9m aWxlcy9wYXRjaGVzL2Nocm9taXVtLWdjYy1sdG8ucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBz cmNwa2dzL2VsZWN0cm9uNy9maWxlcy9wYXRjaGVzL2Nocm9taXVtLWdjYy1zaGFyZWQucGF0Y2gK IGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9wYXRjaGVzL2Nocm9t aXVtLWduX2Jvb3RzdHJhcF9uaW5qYS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mv ZWxlY3Ryb243L2ZpbGVzL3BhdGNoZXMvY2hyb21pdW0tbGliY19tYWxsb2MucGF0Y2gKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9wYXRjaGVzL2Nocm9taXVtLXRv b2xjaGFpbi1ob3N0LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9lbGVjdHJvbjcv ZmlsZXMvcGF0Y2hlcy9jaHJvbWl1bS11bmJ1bmRsZS16bGliLXIxLnBhdGNoCiBjcmVhdGUgbW9k ZSAxMDA2NDQgc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9jaHJvbWl1bS11cHN0cmVh bS1mb3JjZS1tcDMtZmlsZXMtdG8taGF2ZS1hLXN0YXJ0LXRpbWUtb2YtemVyby5wYXRjaAogY3Jl YXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3BhdGNoZXMvZWxlY3Ryb24t QWRkLWEtc2NyaXB0LXRvLWxpc3QtcGF0Y2gtdGFyZ2V0cy5wYXRjaC5wYXRjaAogY3JlYXRlIG1v ZGUgMTAwNjQ0IHNyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3BhdGNoZXMvZWxlY3Ryb24tQnVpbGQt Zml4ZXMucGF0Y2gucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2VsZWN0cm9uNy9m aWxlcy9wYXRjaGVzL2VsZWN0cm9uLWRvbnQtYXNzdW1lLXB5dGhvbi1pcy1weXRob24yLnBhdGNo CiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9lbGVj dHJvbi1maXgtaW5jbHVkZXMucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2VsZWN0 cm9uNy9maWxlcy9wYXRjaGVzL2VsZWN0cm9uLW1qc3VuaXQtbm90LWV4c2l0LnBhdGNoLnBhdGNo CiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9lbGVjdHJvbjcvdGVtcGxhdGUKIGNyZWF0ZSBt b2RlIDEwMDY0NCBzcmNwa2dzL2VsZWN0cm9uNy91cGRhdGUKCmRpZmYgLS1naXQgYS9zcmNwa2dz L2VsZWN0cm9uNy9maWxlcy9tdXNsLXBhdGNoZXMvY2hyb21pdW0tbXVzbC1kZWZhdWx0LXB0aHJl YWQtc3RhY2tzaXplLnBhdGNoLnBhdGNoIGIvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvbXVzbC1w YXRjaGVzL2Nocm9taXVtLW11c2wtZGVmYXVsdC1wdGhyZWFkLXN0YWNrc2l6ZS5wYXRjaC5wYXRj aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZDBjMTM2MWI4ZWQKLS0t IC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9tdXNsLXBhdGNoZXMvY2hy b21pdW0tbXVzbC1kZWZhdWx0LXB0aHJlYWQtc3RhY2tzaXplLnBhdGNoLnBhdGNoCkBAIC0wLDAg KzEsMzEgQEAKK2RpZmYgLS1naXQgYS9iYXNlL3RocmVhZGluZy9wbGF0Zm9ybV90aHJlYWRfbGlu dXguY2MgYi9iYXNlL3RocmVhZGluZy9wbGF0Zm9ybV90aHJlYWRfbGludXguY2MKK2luZGV4IDA5 NWM0OWIuLjUwNDRiYjggMTAwNjQ0CistLS0gYS9iYXNlL3RocmVhZGluZy9wbGF0Zm9ybV90aHJl YWRfbGludXguY2MKKysrKyBiL2Jhc2UvdGhyZWFkaW5nL3BsYXRmb3JtX3RocmVhZF9saW51eC5j YworQEAgLTE4Niw3ICsxODYsNyBAQCB2b2lkIFRlcm1pbmF0ZU9uVGhyZWFkKCkge30KKyAKKyBz aXplX3QgR2V0RGVmYXVsdFRocmVhZFN0YWNrU2l6ZShjb25zdCBwdGhyZWFkX2F0dHJfdCYgYXR0 cmlidXRlcykgeworICNpZiAhZGVmaW5lZChUSFJFQURfU0FOSVRJWkVSKQorLSAgcmV0dXJuIDA7 CisrICByZXR1cm4gKDEgPDwgMjMpOworICNlbHNlCisgICAvLyBUaHJlYWRTYW5pdGl6ZXIgYmxv YXRzIHRoZSBzdGFjayBoZWF2aWx5LiBFdmlkZW5jZSBoYXMgYmVlbiB0aGF0IHRoZQorICAgLy8g ZGVmYXVsdCBzdGFjayBzaXplIGlzbid0IGVub3VnaCBmb3Igc29tZSBicm93c2VyIHRlc3RzLgor ZGlmZiAtLWdpdCBhL2Nocm9tZS9hcHAvc2h1dGRvd25fc2lnbmFsX2hhbmRsZXJzX3Bvc2l4LmNj IGIvY2hyb21lL2FwcC9zaHV0ZG93bl9zaWduYWxfaGFuZGxlcnNfcG9zaXguY2MKK2luZGV4IDYy MWQ0NDEuLmJlMjExMDYgMTAwNjQ0CistLS0gYS9jaHJvbWUvYXBwL3NodXRkb3duX3NpZ25hbF9o YW5kbGVyc19wb3NpeC5jYworKysrIGIvY2hyb21lL2FwcC9zaHV0ZG93bl9zaWduYWxfaGFuZGxl cnNfcG9zaXguY2MKK0BAIC0xODcsMTEgKzE4NywxMSBAQCB2b2lkIEluc3RhbGxTaHV0ZG93blNp Z25hbEhhbmRsZXJzKAorICAgZ19zaHV0ZG93bl9waXBlX3JlYWRfZmQgPSBwaXBlZmRbMF07Cisg ICBnX3NodXRkb3duX3BpcGVfd3JpdGVfZmQgPSBwaXBlZmRbMV07CisgI2lmICFkZWZpbmVkKEFE RFJFU1NfU0FOSVRJWkVSKQorLSAgY29uc3Qgc2l6ZV90IGtTaHV0ZG93bkRldGVjdG9yVGhyZWFk U3RhY2tTaXplID0gUFRIUkVBRF9TVEFDS19NSU4gKiAyOworKyAgY29uc3Qgc2l6ZV90IGtTaHV0 ZG93bkRldGVjdG9yVGhyZWFkU3RhY2tTaXplID0gUFRIUkVBRF9TVEFDS19NSU4gKiAyICo4Owor ICNlbHNlCisgICAvLyBBU2FuIGluc3RydW1lbnRhdGlvbiBibG9hdHMgdGhlIHN0YWNrIGZyYW1l cywgc28gd2UgbmVlZCB0byBpbmNyZWFzZSB0aGUKKyAgIC8vIHN0YWNrIHNpemUgdG8gYXZvaWQg aGl0dGluZyB0aGUgZ3VhcmQgcGFnZS4KKy0gIGNvbnN0IHNpemVfdCBrU2h1dGRvd25EZXRlY3Rv clRocmVhZFN0YWNrU2l6ZSA9IFBUSFJFQURfU1RBQ0tfTUlOICogNDsKKysgIGNvbnN0IHNpemVf dCBrU2h1dGRvd25EZXRlY3RvclRocmVhZFN0YWNrU2l6ZSA9IFBUSFJFQURfU1RBQ0tfTUlOICog NCAqODsKKyAjZW5kaWYKKyAgIFNodXRkb3duRGV0ZWN0b3IqIGRldGVjdG9yID0gbmV3IFNodXRk b3duRGV0ZWN0b3IoCisgICAgICAgZ19zaHV0ZG93bl9waXBlX3JlYWRfZmQsIHN0ZDo6bW92ZShz aHV0ZG93bl9jYWxsYmFjayksIHRhc2tfcnVubmVyKTsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZWxl Y3Ryb243L2ZpbGVzL211c2wtcGF0Y2hlcy9jaHJvbWl1bS1tdXNsLXNhbmRib3gucGF0Y2gucGF0 Y2ggYi9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9tdXNsLXBhdGNoZXMvY2hyb21pdW0tbXVzbC1z YW5kYm94LnBhdGNoLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw Li5mNDg1ZjZjYzc1YQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVz L211c2wtcGF0Y2hlcy9jaHJvbWl1bS1tdXNsLXNhbmRib3gucGF0Y2gucGF0Y2gKQEAgLTAsMCAr MSwxNzYgQEAKK2RpZmYgLS1naXQgYS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMv c3lzY2FsbF9wYXJhbWV0ZXJzX3Jlc3RyaWN0aW9ucy5jYyBiL3NhbmRib3gvbGludXgvc2VjY29t cC1icGYtaGVscGVycy9zeXNjYWxsX3BhcmFtZXRlcnNfcmVzdHJpY3Rpb25zLmNjCitpbmRleCAz NDhhYjZlLi40NTUwZjllIDEwMDY0NAorLS0tIC4vc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1o ZWxwZXJzL3N5c2NhbGxfcGFyYW1ldGVyc19yZXN0cmljdGlvbnMuY2MKKysrKyAuL3NhbmRib3gv bGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3BhcmFtZXRlcnNfcmVzdHJpY3Rpb25z LmNjCitAQCAtMTM5LDIxICsxMzksMTEgQEAgbmFtZXNwYWNlIHNhbmRib3ggeworIC8vIHByZXNl bnQgKGFzIGluIG5ld2VyIHZlcnNpb25zIG9mIHBvc2l4X3NwYXduKS4KKyBSZXN1bHRFeHByIFJl c3RyaWN0Q2xvbmVUb1RocmVhZHNBbmRFUEVSTUZvcmsoKSB7CisgICBjb25zdCBBcmc8dW5zaWdu ZWQgbG9uZz4gZmxhZ3MoMCk7CistCistICAvLyBUT0RPKG1kZW1wc2t5KTogRXh0ZW5kIERTTCB0 byBzdXBwb3J0IChmbGFncyAmIH5tYXNrMSkgPT0gbWFzazIuCistICBjb25zdCB1aW50NjRfdCBr QW5kcm9pZENsb25lTWFzayA9IENMT05FX1ZNIHwgQ0xPTkVfRlMgfCBDTE9ORV9GSUxFUyB8Cist ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENMT05FX1NJR0hBTkQgfCBDTE9O RV9USFJFQUQgfAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDTE9ORV9T WVNWU0VNOworLSAgY29uc3QgdWludDY0X3Qga09ic29sZXRlQW5kcm9pZENsb25lTWFzayA9IGtB bmRyb2lkQ2xvbmVNYXNrIHwgQ0xPTkVfREVUQUNIRUQ7CistCistICBjb25zdCB1aW50NjRfdCBr R2xpYmNQdGhyZWFkRmxhZ3MgPQorLSAgICAgIENMT05FX1ZNIHwgQ0xPTkVfRlMgfCBDTE9ORV9G SUxFUyB8IENMT05FX1NJR0hBTkQgfCBDTE9ORV9USFJFQUQgfAorLSAgICAgIENMT05FX1NZU1ZT RU0gfCBDTE9ORV9TRVRUTFMgfCBDTE9ORV9QQVJFTlRfU0VUVElEIHwgQ0xPTkVfQ0hJTERfQ0xF QVJUSUQ7CistICBjb25zdCBCb29sRXhwciBnbGliY190ZXN0ID0gZmxhZ3MgPT0ga0dsaWJjUHRo cmVhZEZsYWdzOworLQorLSAgY29uc3QgQm9vbEV4cHIgYW5kcm9pZF90ZXN0ID0KKy0gICAgICBB bnlPZihmbGFncyA9PSBrQW5kcm9pZENsb25lTWFzaywgZmxhZ3MgPT0ga09ic29sZXRlQW5kcm9p ZENsb25lTWFzaywKKy0gICAgICAgICAgICBmbGFncyA9PSBrR2xpYmNQdGhyZWFkRmxhZ3MpOwor KyAgY29uc3QgaW50IHJlcXVpcmVkID0gQ0xPTkVfVk0gfCBDTE9ORV9GUyB8IENMT05FX0ZJTEVT IHwgQ0xPTkVfU0lHSEFORCB8CisrICAgICAgICAgICAgICAgICAgICAgICBDTE9ORV9USFJFQUQg fCBDTE9ORV9TWVNWU0VNOworKyAgY29uc3QgaW50IHNhZmUgPSBDTE9ORV9TRVRUTFMgfCBDTE9O RV9QQVJFTlRfU0VUVElEIHwgQ0xPTkVfQ0hJTERfQ0xFQVJUSUQgfAorKyAgICAgICAgICAgICAg ICAgICBDTE9ORV9ERVRBQ0hFRDsKKysgIGNvbnN0IEJvb2xFeHByIHRocmVhZF9jbG9uZV9vayA9 IChmbGFncyZ+c2FmZSk9PXJlcXVpcmVkOworIAorICAgLy8gVGhlIGZvbGxvd2luZyB0d28gZmxh Z3MgYXJlIHRoZSB0d28gaW1wb3J0YW50IGZsYWdzIGluIGFueSB2Zm9yay1lbXVsYXRpbmcKKyAg IC8vIGNsb25lIGNhbGwuIEVQRVJNIGFueSBjbG9uZSBjYWxsIHRoYXQgY29udGFpbnMgYm90aCBv ZiB0aGVtLgorQEAgLTE2Myw3ICsxNTMsNyBAQCBSZXN1bHRFeHByIFJlc3RyaWN0Q2xvbmVUb1Ro cmVhZHNBbmRFUEVSTUZvcmsoKSB7CisgICAgICAgQW55T2YoKGZsYWdzICYgKENMT05FX1ZNIHwg Q0xPTkVfVEhSRUFEKSkgPT0gMCwKKyAgICAgICAgICAgICAoZmxhZ3MgJiBrSW1wb3J0YW50Q2xv bmVWZm9ya0ZsYWdzKSA9PSBrSW1wb3J0YW50Q2xvbmVWZm9ya0ZsYWdzKTsKKyAKKy0gIHJldHVy biBJZihJc0FuZHJvaWQoKSA/IGFuZHJvaWRfdGVzdCA6IGdsaWJjX3Rlc3QsIEFsbG93KCkpCisr ICByZXR1cm4gSWYodGhyZWFkX2Nsb25lX29rLCBBbGxvdygpKQorICAgICAgIC5FbHNlSWYoaXNf Zm9ya19vcl9jbG9uZV92Zm9yaywgRXJyb3IoRVBFUk0pKQorICAgICAgIC5FbHNlKENyYXNoU0lH U1lTQ2xvbmUoKSk7CisgfQorZGlmZiAtLWdpdCBhL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYt aGVscGVycy9zeXNjYWxsX3NldHMuY2MgYi9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBl cnMvc3lzY2FsbF9zZXRzLmNjCitpbmRleCA3ZGJjYzg3Li41ODkyNjJmIDEwMDY0NAorLS0tIC4v c2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfc2V0cy5jYworKysrIC4v c2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfc2V0cy5jYworQEAgLTM5 MSw2ICszOTEsNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRQcm9jZXNzU3RhcnRPckRl YXRoKGludCBzeXNubykgeworICNpZiBkZWZpbmVkKF9faTM4Nl9fKQorICAgICBjYXNlIF9fTlJf d2FpdHBpZDoKKyAjZW5kaWYKKysgICAgY2FzZSBfX05SX3NldF90aWRfYWRkcmVzczoKKyAgICAg ICByZXR1cm4gdHJ1ZTsKKyAgICAgY2FzZSBfX05SX2Nsb25lOiAgLy8gU2hvdWxkIGJlIHBhcmFt ZXRlci1yZXN0cmljdGVkLgorICAgICBjYXNlIF9fTlJfc2V0bnM6ICAvLyBQcml2aWxlZ2VkLgor QEAgLTQwMyw3ICs0MDQsNiBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRQcm9jZXNzU3Rh cnRPckRlYXRoKGludCBzeXNubykgeworICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVk KF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19taXBzX18pCisgICAgIGNhc2UgX19OUl9zZXRfdGhy ZWFkX2FyZWE6CisgI2VuZGlmCistICAgIGNhc2UgX19OUl9zZXRfdGlkX2FkZHJlc3M6CisgICAg IGNhc2UgX19OUl91bnNoYXJlOgorICNpZiAhZGVmaW5lZChfX21pcHNfXykgJiYgIWRlZmluZWQo X19hYXJjaDY0X18pCisgICAgIGNhc2UgX19OUl92Zm9yazoKK0BAIC01MTMsNiArNTEzLDggQEAg Ym9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkQWRkcmVzc1NwYWNlQWNjZXNzKGludCBzeXNubykg eworICAgICBjYXNlIF9fTlJfbWxvY2s6CisgICAgIGNhc2UgX19OUl9tdW5sb2NrOgorICAgICBj YXNlIF9fTlJfbXVubWFwOgorKyAgICBjYXNlIF9fTlJfbXJlbWFwOgorKyAgICBjYXNlIF9fTlJf bWVtYmFycmllcjoKKyAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgY2FzZSBfX05SX21hZHZpc2U6 CisgICAgIGNhc2UgX19OUl9taW5jb3JlOgorQEAgLTUzMCw3ICs1MzIsNiBAQCBib29sIFN5c2Nh bGxTZXRzOjpJc0FsbG93ZWRBZGRyZXNzU3BhY2VBY2Nlc3MoaW50IHN5c25vKSB7CisgICAgIGNh c2UgX19OUl9tb2RpZnlfbGR0OgorICNlbmRpZgorICAgICBjYXNlIF9fTlJfbXByb3RlY3Q6Cist ICAgIGNhc2UgX19OUl9tcmVtYXA6CisgICAgIGNhc2UgX19OUl9tc3luYzoKKyAgICAgY2FzZSBf X05SX211bmxvY2thbGw6CisgICAgIGNhc2UgX19OUl9yZWFkYWhlYWQ6CitkaWZmIC0tZ2l0IGEv c2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9hcm02NF9saW51eF9zeXNjYWxscy5oIGIvc2Fu ZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9hcm02NF9saW51eF9zeXNjYWxscy5oCitpbmRleCA1 OWQwZWFiLi43YWU3MDAyIDEwMDY0NAorLS0tIC4vc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVy cy9hcm02NF9saW51eF9zeXNjYWxscy5oCisrKysgLi9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFk ZXJzL2FybTY0X2xpbnV4X3N5c2NhbGxzLmgKK0BAIC0xMDYzLDQgKzEwNjMsOCBAQAorICNkZWZp bmUgX19OUl9tZW1mZF9jcmVhdGUgMjc5CisgI2VuZGlmCisgCisrI2lmICFkZWZpbmVkKF9fTlJf bWVtYmFycmllcikKKysjZGVmaW5lIF9fTlJfbWVtYmFycmllciAyODMKKysjZW5kaWYKKysKKyAj ZW5kaWYgIC8vIFNBTkRCT1hfTElOVVhfU1lTVEVNX0hFQURFUlNfQVJNNjRfTElOVVhfU1lTQ0FM TFNfSF8KK2RpZmYgLS1naXQgYS9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2FybV9saW51 eF9zeXNjYWxscy5oIGIvc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9hcm1fbGludXhfc3lz Y2FsbHMuaAoraW5kZXggMWFkZGQ1My4uNzg0M2I1ZSAxMDA2NDQKKy0tLSAuL3NhbmRib3gvbGlu dXgvc3lzdGVtX2hlYWRlcnMvYXJtX2xpbnV4X3N5c2NhbGxzLmgKKysrKyAuL3NhbmRib3gvbGlu dXgvc3lzdGVtX2hlYWRlcnMvYXJtX2xpbnV4X3N5c2NhbGxzLmgKK0BAIC0xMzg1LDYgKzEzODUs MTAgQEAKKyAjZGVmaW5lIF9fTlJfbWVtZmRfY3JlYXRlIChfX05SX1NZU0NBTExfQkFTRSszODUp CisgI2VuZGlmCisgCisrI2lmICFkZWZpbmVkKF9fTlJfbWVtYmFycmllcikKKysjZGVmaW5lIF9f TlJfbWVtYmFycmllciAoX19OUl9TWVNDQUxMX0JBU0UrMzg5KQorKyNlbmRpZgorKworIC8vIEFS TSBwcml2YXRlIHN5c2NhbGxzLgorICNpZiAhZGVmaW5lZChfX0FSTV9OUl9CQVNFKQorICNkZWZp bmUgX19BUk1fTlJfQkFTRSAoX19OUl9TWVNDQUxMX0JBU0UgKyAweEYwMDAwKQorZGlmZiAtLWdp dCBhL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbWlwczY0X2xpbnV4X3N5c2NhbGxzLmgg Yi9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL21pcHM2NF9saW51eF9zeXNjYWxscy5oCitp bmRleCBlYzc1ODE1Li42MTJmY2ZhIDEwMDY0NAorLS0tIC4vc2FuZGJveC9saW51eC9zeXN0ZW1f aGVhZGVycy9taXBzNjRfbGludXhfc3lzY2FsbHMuaAorKysrIC4vc2FuZGJveC9saW51eC9zeXN0 ZW1faGVhZGVycy9taXBzNjRfbGludXhfc3lzY2FsbHMuaAorQEAgLTEyNzEsNCArMTI3MSw4IEBA CisgI2RlZmluZSBfX05SX21lbWZkX2NyZWF0ZSAoX19OUl9MaW51eCArIDMxNCkKKyAjZW5kaWYK KyAKKysjaWYgIWRlZmluZWQoX19OUl9tZW1iYXJyaWVyKQorKyNkZWZpbmUgX19OUl9tZW1iYXJy aWVyIChfX05SX0xpbnV4ICsgMzE4KQorKyNlbmRpZgorKworICNlbmRpZiAgLy8gU0FOREJPWF9M SU5VWF9TWVNURU1fSEVBREVSU19NSVBTNjRfTElOVVhfU1lTQ0FMTFNfSF8KK2RpZmYgLS1naXQg YS9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL21pcHNfbGludXhfc3lzY2FsbHMuaCBiL3Nh bmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbWlwc19saW51eF9zeXNjYWxscy5oCitpbmRleCBk ZGJmOTdmLi4xNzQyYWNkIDEwMDY0NAorLS0tIC4vc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVy cy9taXBzX2xpbnV4X3N5c2NhbGxzLmgKKysrKyAuL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRl cnMvbWlwc19saW51eF9zeXNjYWxscy5oCitAQCAtMTQzMyw0ICsxNDMzLDggQEAKKyAjZGVmaW5l IF9fTlJfbWVtZmRfY3JlYXRlIChfX05SX0xpbnV4ICsgMzU0KQorICNlbmRpZgorIAorKyNpZiAh ZGVmaW5lZChfX05SX21lbWJhcnJpZXIpCisrI2RlZmluZSBfX05SX21lbWJhcnJpZXIgKF9fTlJf TGludXggKyAzNTgpCisrI2VuZGlmCisrCisgI2VuZGlmICAvLyBTQU5EQk9YX0xJTlVYX1NZU1RF TV9IRUFERVJTX01JUFNfTElOVVhfU1lTQ0FMTFNfSF8KK2RpZmYgLS1naXQgYS9zYW5kYm94L2xp bnV4L3N5c3RlbV9oZWFkZXJzL3g4Nl8zMl9saW51eF9zeXNjYWxscy5oIGIvc2FuZGJveC9saW51 eC9zeXN0ZW1faGVhZGVycy94ODZfMzJfbGludXhfc3lzY2FsbHMuaAoraW5kZXggYTZhZmM2Mi4u N2VkMGEzYiAxMDA2NDQKKy0tLSAuL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMveDg2XzMy X2xpbnV4X3N5c2NhbGxzLmgKKysrKyAuL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMveDg2 XzMyX2xpbnV4X3N5c2NhbGxzLmgKK0BAIC0xNDIyLDUgKzE0MjIsOSBAQAorICNkZWZpbmUgX19O Ul9tZW1mZF9jcmVhdGUgMzU2CisgI2VuZGlmCisgCisrI2lmICFkZWZpbmVkKF9fTlJfbWVtYmFy cmllcikKKysjZGVmaW5lIF9fTlJfbWVtYmFycmllciAzNzUKKysjZW5kaWYKKysKKyAjZW5kaWYg IC8vIFNBTkRCT1hfTElOVVhfU1lTVEVNX0hFQURFUlNfWDg2XzMyX0xJTlVYX1NZU0NBTExTX0hf CisgCitkaWZmIC0tZ2l0IGEvc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy94ODZfNjRfbGlu dXhfc3lzY2FsbHMuaCBiL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMveDg2XzY0X2xpbnV4 X3N5c2NhbGxzLmgKK2luZGV4IDM0OTUwNGEuLmVhM2M3YzkgMTAwNjQ0CistLS0gLi9zYW5kYm94 L2xpbnV4L3N5c3RlbV9oZWFkZXJzL3g4Nl82NF9saW51eF9zeXNjYWxscy5oCisrKysgLi9zYW5k Ym94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL3g4Nl82NF9saW51eF9zeXNjYWxscy5oCitAQCAtMTI5 MCw1ICsxMjkwLDkgQEAKKyAjZGVmaW5lIF9fTlJfbWVtZmRfY3JlYXRlIDMxOQorICNlbmRpZgor IAorKyNpZiAhZGVmaW5lZChfX05SX21lbWJhcnJpZXIpCisrI2RlZmluZSBfX05SX21lbWJhcnJp ZXIgMzI0CisrI2VuZGlmCisrCisgI2VuZGlmICAvLyBTQU5EQk9YX0xJTlVYX1NZU1RFTV9IRUFE RVJTX1g4Nl82NF9MSU5VWF9TWVNDQUxMU19IXworIAorZGlmZiAtLWdpdCBhL3NlcnZpY2VzL3Nl cnZpY2VfbWFuYWdlci9zYW5kYm94L2xpbnV4L2JwZl9yZW5kZXJlcl9wb2xpY3lfbGludXguY2Mg Yi9zZXJ2aWNlcy9zZXJ2aWNlX21hbmFnZXIvc2FuZGJveC9saW51eC9icGZfcmVuZGVyZXJfcG9s aWN5X2xpbnV4LmNjCitpbmRleCAwMTdmMTNjLi41MGFlZWMzIDEwMDY0NAorLS0tIC4vc2Vydmlj ZXMvc2VydmljZV9tYW5hZ2VyL3NhbmRib3gvbGludXgvYnBmX3JlbmRlcmVyX3BvbGljeV9saW51 eC5jYworKysrIC4vc2VydmljZXMvc2VydmljZV9tYW5hZ2VyL3NhbmRib3gvbGludXgvYnBmX3Jl bmRlcmVyX3BvbGljeV9saW51eC5jYworQEAgLTg4LDEwICs4OCwxMCBAQCBSZXN1bHRFeHByIFJl bmRlcmVyUHJvY2Vzc1BvbGljeTo6RXZhbHVhdGVTeXNjYWxsKGludCBzeXNubykgY29uc3Qgewor ICAgICBjYXNlIF9fTlJfc3lzaW5mbzoKKyAgICAgY2FzZSBfX05SX3RpbWVzOgorICAgICBjYXNl IF9fTlJfdW5hbWU6CistICAgICAgcmV0dXJuIEFsbG93KCk7CistICAgIGNhc2UgX19OUl9zY2hl ZF9nZXRhZmZpbml0eToKKyAgICAgY2FzZSBfX05SX3NjaGVkX2dldHBhcmFtOgorICAgICBjYXNl IF9fTlJfc2NoZWRfZ2V0c2NoZWR1bGVyOgorKyAgICAgIHJldHVybiBBbGxvdygpOworKyAgICBj YXNlIF9fTlJfc2NoZWRfZ2V0YWZmaW5pdHk6CisgICAgIGNhc2UgX19OUl9zY2hlZF9zZXRzY2hl ZHVsZXI6CisgICAgICAgcmV0dXJuIHNhbmRib3g6OlJlc3RyaWN0U2NoZWRUYXJnZXQoR2V0UG9s aWN5UGlkKCksIHN5c25vKTsKKyAgICAgY2FzZSBfX05SX3BybGltaXQ2NDoKZGlmZiAtLWdpdCBh L3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL211c2wtcGF0Y2hlcy9jaHJvbWl1bS1tdXNsX2Nhbm9u aWNhbGl6ZV9maWxlX25hbWUucGF0Y2gucGF0Y2ggYi9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9t dXNsLXBhdGNoZXMvY2hyb21pdW0tbXVzbF9jYW5vbmljYWxpemVfZmlsZV9uYW1lLnBhdGNoLnBh dGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4wNTYxNGRhYTc1Nwot LS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL211c2wtcGF0Y2hlcy9j aHJvbWl1bS1tdXNsX2Nhbm9uaWNhbGl6ZV9maWxlX25hbWUucGF0Y2gucGF0Y2gKQEAgLTAsMCAr MSwxMyBAQAorZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L25hc20vY29uZmlnL2NvbmZpZy1saW51 eC5oIGIvdGhpcmRfcGFydHkvbmFzbS9jb25maWcvY29uZmlnLWxpbnV4LmgKK2luZGV4IDdlYjdj MjAuLjg4MmI3MzYgMTAwNjQ0CistLS0gYS90aGlyZF9wYXJ0eS9uYXNtL2NvbmZpZy9jb25maWct bGludXguaAorKysrIGIvdGhpcmRfcGFydHkvbmFzbS9jb25maWcvY29uZmlnLWxpbnV4LmgKK0BA IC0xMTcsNyArMTE3LDcgQEAKKyAjZGVmaW5lIEhBVkVfQUNDRVNTIDEKKyAKKyAvKiBEZWZpbmUg dG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGNhbm9uaWNhbGl6ZV9maWxlX25hbWUnIGZ1bmN0aW9uLiAq LworLSNkZWZpbmUgSEFWRV9DQU5PTklDQUxJWkVfRklMRV9OQU1FIDEKKysvKiAjdW5kZWYgSEFW RV9DQU5PTklDQUxJWkVfRklMRV9OQU1FICovCisgCisgLyogRGVmaW5lIHRvIDEgaWYgeW91IGhh dmUgdGhlIGBjcHVfdG9fbGUxNicgaW50cmluc2ljIGZ1bmN0aW9uLiAqLworIC8qICN1bmRlZiBI QVZFX0NQVV9UT19MRTE2ICovCmRpZmYgLS1naXQgYS9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9t dXNsLXBhdGNoZXMvY2hyb21pdW0tbXVzbF9jZGVmcy5wYXRjaC5wYXRjaCBiL3NyY3BrZ3MvZWxl Y3Ryb243L2ZpbGVzL211c2wtcGF0Y2hlcy9jaHJvbWl1bS1tdXNsX2NkZWZzLnBhdGNoLnBhdGNo Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5mYzdkYzA2ZmYyMQotLS0g L2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL211c2wtcGF0Y2hlcy9jaHJv bWl1bS1tdXNsX2NkZWZzLnBhdGNoLnBhdGNoCkBAIC0wLDAgKzEsNDUgQEAKK2RpZmYgLS1naXQg YS9iYXNlL2FsbG9jYXRvci9hbGxvY2F0b3Jfc2hpbV9pbnRlcm5hbHMuaCBiL2Jhc2UvYWxsb2Nh dG9yL2FsbG9jYXRvcl9zaGltX2ludGVybmFsCitzLmgKK2luZGV4IDAxOTZmODkuLmJiNDJiNWQg MTAwNjQ0CistLS0gYS9iYXNlL2FsbG9jYXRvci9hbGxvY2F0b3Jfc2hpbV9pbnRlcm5hbHMuaAor KysrIGIvYmFzZS9hbGxvY2F0b3IvYWxsb2NhdG9yX3NoaW1faW50ZXJuYWxzLmgKK0BAIC03LDcg KzcsOSBAQAorCisgI2lmIGRlZmluZWQoX19HTlVDX18pCisKKysjaWYgZGVmaW5lZChfX0dMSUJD X18pCisgI2luY2x1ZGUgPHN5cy9jZGVmcy5oPiAgLy8gZm9yIF9fVEhST1cKKysjZW5kaWYKKwor ICNpZm5kZWYgX19USFJPVyAgLy8gTm90IGEgZ2xpYmMgc3lzdGVtCisgI2lmZGVmIF9OT0VYQ0VQ VCAgLy8gTExWTSBsaWJjKysgdXNlcyBub2V4Y2VwdCBpbnN0ZWFkCitkaWZmIC0tZ2l0IGEvdGhp cmRfcGFydHkvbGlic3luYy9zcmMvaW5jbHVkZS9zeW5jL3N5bmMuaCBiL3RoaXJkX3BhcnR5L2xp YnN5bmMvc3JjL2luY2x1ZGUvc3luYy9zeW5jLmgKK2luZGV4IDUwZWQwYWMuLjc1NTJhNDkgMTAw NjQ0CistLS0gYS90aGlyZF9wYXJ0eS9saWJzeW5jL3NyYy9pbmNsdWRlL3N5bmMvc3luYy5oCisr KysgYi90aGlyZF9wYXJ0eS9saWJzeW5jL3NyYy9pbmNsdWRlL3N5bmMvc3luYy5oCitAQCAtMTks MTIgKzE5LDEzIEBACisgI2lmbmRlZiBfX1NZU19DT1JFX1NZTkNfSAorICNkZWZpbmUgX19TWVNf Q09SRV9TWU5DX0gKKyAKKy0jaW5jbHVkZSA8c3lzL2NkZWZzLmg+CisgI2luY2x1ZGUgPHN0ZGlu dC5oPgorIAorICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorIAorLV9fQkVHSU5fREVDTFMKKysj aWZkZWYgX19jcGx1c3BsdXMKKytleHRlcm4gIkMiIHsKKysjZW5kaWYgLyogX19jcGx1c3BsdXMg Ki8KKyAKKyBzdHJ1Y3Qgc3luY19sZWdhY3lfbWVyZ2VfZGF0YSB7CisgIGludDMyX3QgZmQyOwor QEAgLTE1OCw2ICsxNTksOCBAQCBzdHJ1Y3Qgc3luY19wdF9pbmZvICpzeW5jX3B0X2luZm8oc3Ry dWN0IHN5bmNfZmVuY2VfaW5mb19kYXRhICppbmZvLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzdHJ1Y3Qgc3luY19wdF9pbmZvICppdHIpOworIHZvaWQgc3luY19mZW5jZV9p bmZvX2ZyZWUoc3RydWN0IHN5bmNfZmVuY2VfaW5mb19kYXRhICppbmZvKTsKKyAKKy1fX0VORF9E RUNMUworKyNpZmRlZiBfX2NwbHVzcGx1cworK30KKysjZW5kaWYgLyogX19jcGx1c3BsdXMgKi8K KyAKKyAjZW5kaWYgLyogX19TWVNfQ09SRV9TWU5DX0ggKi8KZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv ZWxlY3Ryb243L2ZpbGVzL211c2wtcGF0Y2hlcy9jaHJvbWl1bS1tdXNsX2RlZmluZV90ZW1wX2Zh aWx1cmVfcmV0cnkucGF0Y2gucGF0Y2ggYi9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9tdXNsLXBh dGNoZXMvY2hyb21pdW0tbXVzbF9kZWZpbmVfdGVtcF9mYWlsdXJlX3JldHJ5LnBhdGNoLnBhdGNo Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi42MWRiNjU4Zjg0OQotLS0g L2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL211c2wtcGF0Y2hlcy9jaHJv bWl1bS1tdXNsX2RlZmluZV90ZW1wX2ZhaWx1cmVfcmV0cnkucGF0Y2gucGF0Y2gKQEAgLTAsMCAr MSwxOCBAQAorLS0tIGEvc2FuZGJveC9saW51eC9zdWlkL3NhbmRib3guYwkyMDE5LTExLTE5IDA5 OjI4OjA1LjAwMDAwMDAwMCArMDgwMAorKysrIGIvc2FuZGJveC9saW51eC9zdWlkL3NhbmRib3gu YwkyMDIwLTA0LTI0IDExOjUwOjEyLjcxOTg4MDcyOCArMDgwMAorQEAgLTQyLDYgKzQyLDE1IEBA CisgI2RlZmluZSBDTE9ORV9ORVdORVQgMHg0MDAwMDAwMAorICNlbmRpZgorIAorKyNpZm5kZWYg VEVNUF9GQUlMVVJFX1JFVFJZCisrI2RlZmluZSBURU1QX0ZBSUxVUkVfUkVUUlkoZXhwcmVzc2lv bikgXAorKyAgKF9fZXh0ZW5zaW9uX18gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKyAgICAoeyBsb25nIGludCBfX3Jlc3VsdDsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKyAg ICAgICBkbyBfX3Jlc3VsdCA9IChsb25nIGludCkgKGV4cHJlc3Npb24pOyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXAorKyAgICAgICB3aGlsZSAoX19yZXN1bHQgPT0gLTFMICYmIGVy cm5vID09IEVJTlRSKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKyAgICAgICBfX3Jl c3VsdDsgfSkpCisrI2VuZGlmCisrCisgc3RhdGljIGJvb2wgRHJvcFJvb3QoKTsKKyAKKyAjZGVm aW5lIEhBTkRMRV9FSU5UUih4KSBURU1QX0ZBSUxVUkVfUkVUUlkoeCkKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvZWxlY3Ryb243L2ZpbGVzL211c2wtcGF0Y2hlcy9jaHJvbWl1bS1tdXNsX2Rucy5wYXRj aC5wYXRjaCBiL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL211c2wtcGF0Y2hlcy9jaHJvbWl1bS1t dXNsX2Rucy5wYXRjaC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw MC4uZjQ5ZDhiZDBhZmEKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2VsZWN0cm9uNy9maWxl cy9tdXNsLXBhdGNoZXMvY2hyb21pdW0tbXVzbF9kbnMucGF0Y2gucGF0Y2gKQEAgLTAsMCArMSw2 MSBAQAorZGlmZiAtLWdpdCBhL25ldC9kbnMvZG5zX2NvbmZpZ19zZXJ2aWNlX3Bvc2l4LmNjIGIv bmV0L2Rucy9kbnNfY29uZmlnX3NlcnZpY2VfcG9zaXguY2MKK2luZGV4IDJmOTQ4MzIuLjJkZDFh OTggMTAwNjQ0CistLS0gYS9uZXQvZG5zL2Ruc19jb25maWdfc2VydmljZV9wb3NpeC5jYworKysr IGIvbmV0L2Rucy9kbnNfY29uZmlnX3NlcnZpY2VfcG9zaXguY2MKK0BAIC0xNTAsNyArMTUwLDcg QEAgQ29uZmlnUGFyc2VQb3NpeFJlc3VsdCBSZWFkRG5zQ29uZmlnKERuc0NvbmZpZyogZG5zX2Nv bmZpZykgeworICNpZiAhZGVmaW5lZChPU19BTkRST0lEKQorICAgQ29uZmlnUGFyc2VQb3NpeFJl c3VsdCByZXN1bHQ7CisgLy8gVE9ETyhmdWNoc2lhKTogVXNlIHJlc19uaW5pdCgpIHdoZW4gaXQn cyBpbXBsZW1lbnRlZCBvbiBGdWNoc2lhLgorLSNpZiBkZWZpbmVkKE9TX09QRU5CU0QpIHx8IGRl ZmluZWQoT1NfRlVDSFNJQSkKKysjaWYgZGVmaW5lZChPU19PUEVOQlNEKSB8fCBkZWZpbmVkKE9T X0ZVQ0hTSUEpIHx8IChkZWZpbmVkKE9TX0xJTlVYKSAmJiAhZGVmaW5lZChfX0dMSUJDX18pKQor ICAgLy8gTm90ZTogcmVzX25pbml0IGluIGdsaWJjIGFsd2F5cyByZXR1cm5zIDAgYW5kIHNldHMg UkVTX0lOSVQuCisgICAvLyByZXNfaW5pdCBiZWhhdmVzIHRoZSBzYW1lIHdheS4KKyAgIG1lbXNl dCgmX3JlcywgMCwgc2l6ZW9mKF9yZXMpKTsKK0BAIC0xNzMsNyArMTczLDcgQEAgQ29uZmlnUGFy c2VQb3NpeFJlc3VsdCBSZWFkRG5zQ29uZmlnKERuc0NvbmZpZyogZG5zX2NvbmZpZykgeworICNl bHNlCisgICByZXNfbmNsb3NlKCZyZXMpOworICNlbmRpZiAgLy8gZGVmaW5lZChPU19NQUNPU1gp IHx8IGRlZmluZWQoT1NfRlJFRUJTRCkKKy0jZW5kaWYgIC8vIGRlZmluZWQoT1NfT1BFTkJTRCkK KysjZW5kaWYgIC8vIGRlZmluZWQoT1NfT1BFTkJTRCkgfHwgZGVmaW5lZChPU19GVUNIU0lBKSB8 fCAoZGVmaW5lZChPU19MSU5VWCkgJiYgIWRlZmluZWQoX19HTElCQ19fKSkKKyAKKyAjaWYgZGVm aW5lZChPU19NQUNPU1gpICYmICFkZWZpbmVkKE9TX0lPUykKKyAgIENvbmZpZ1BhcnNlUG9zaXhS ZXN1bHQgZXJyb3IgPSBEbnNDb25maWdXYXRjaGVyOjpDaGVja0Ruc0NvbmZpZygpOworZGlmZiAt LWdpdCBhL25ldC9kbnMvZG5zX3JlbG9hZGVyLmNjIGIvbmV0L2Rucy9kbnNfcmVsb2FkZXIuY2MK K2luZGV4IDk1MmNmZjQuLjRiMzY2ZjQgMTAwNjQ0CistLS0gYS9uZXQvZG5zL2Ruc19yZWxvYWRl ci5jYworKysrIGIvbmV0L2Rucy9kbnNfcmVsb2FkZXIuY2MKK0BAIC00LDcgKzQsNyBAQAorIAor ICNpbmNsdWRlICJuZXQvZG5zL2Ruc19yZWxvYWRlci5oIgorIAorLSNpZiBkZWZpbmVkKE9TX1BP U0lYKSAmJiAhZGVmaW5lZChPU19NQUNPU1gpICYmICFkZWZpbmVkKE9TX09QRU5CU0QpICYmIFwK KysjaWYgZGVmaW5lZChPU19QT1NJWCkgJiYgZGVmaW5lZChfX0dMSUJDX18pICYmICFkZWZpbmVk KE9TX01BQ09TWCkgJiYgIWRlZmluZWQoT1NfT1BFTkJTRCkgJiYgXAorICAgICAhZGVmaW5lZChP U19BTkRST0lEKSAmJiAhZGVmaW5lZChPU19GVUNIU0lBKQorIAorICNpbmNsdWRlIDxyZXNvbHYu aD4KK2RpZmYgLS1naXQgYS9uZXQvZG5zL2hvc3RfcmVzb2x2ZXJfbWFuYWdlci5jYyBiL25ldC9k bnMvaG9zdF9yZXNvbHZlcl9tYW5hZ2VyLmNjCitpbmRleCBlOGRlYTQ2Li5jODZhODMwIDEwMDY0 NAorLS0tIGEvbmV0L2Rucy9ob3N0X3Jlc29sdmVyX21hbmFnZXIuY2MKKysrKyBiL25ldC9kbnMv aG9zdF9yZXNvbHZlcl9tYW5hZ2VyLmNjCitAQCAtMjM4Niw3ICsyMzg2LDcgQEAgSG9zdFJlc29s dmVyTWFuYWdlcjo6SG9zdFJlc29sdmVyTWFuYWdlcigKKyAgIE5ldHdvcmtDaGFuZ2VOb3RpZmll cjo6QWRkQ29ubmVjdGlvblR5cGVPYnNlcnZlcih0aGlzKTsKKyAgIGlmIChzeXN0ZW1fZG5zX2Nv bmZpZ19ub3RpZmllcl8pCisgICAgIHN5c3RlbV9kbnNfY29uZmlnX25vdGlmaWVyXy0+QWRkT2Jz ZXJ2ZXIodGhpcyk7CistI2lmIGRlZmluZWQoT1NfUE9TSVgpICYmICFkZWZpbmVkKE9TX01BQ09T WCkgJiYgIWRlZmluZWQoT1NfT1BFTkJTRCkgJiYgXAorKyNpZiBkZWZpbmVkKE9TX1BPU0lYKSAm JiBkZWZpbmVkKF9fR0xJQkNfXykgJiYgIWRlZmluZWQoT1NfTUFDT1NYKSAmJiAhZGVmaW5lZChP U19PUEVOQlNEKSAmJiBcCisgICAgICFkZWZpbmVkKE9TX0FORFJPSUQpCisgICBFbnN1cmVEbnNS ZWxvYWRlckluaXQoKTsKKyAjZW5kaWYKK2RpZmYgLS1naXQgYS9uZXQvZG5zL2hvc3RfcmVzb2x2 ZXJfcHJvYy5jYyBiL25ldC9kbnMvaG9zdF9yZXNvbHZlcl9wcm9jLmNjCitpbmRleCAwODI0NTQw Li4zMzg0OTc4IDEwMDY0NAorLS0tIGEvbmV0L2Rucy9ob3N0X3Jlc29sdmVyX3Byb2MuY2MKKysr KyBiL25ldC9kbnMvaG9zdF9yZXNvbHZlcl9wcm9jLmNjCitAQCAtMTk3LDcgKzE5Nyw3IEBAIGlu dCBTeXN0ZW1Ib3N0UmVzb2x2ZXJDYWxsKGNvbnN0IHN0ZDo6c3RyaW5nJiBob3N0LAorICAgYmFz ZTo6U2NvcGVkQmxvY2tpbmdDYWxsIHNjb3BlZF9ibG9ja2luZ19jYWxsKEZST01fSEVSRSwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXNlOjpCbG9j a2luZ1R5cGU6OldJTExfQkxPQ0spOworIAorLSNpZiBkZWZpbmVkKE9TX1BPU0lYKSAmJiAhZGVm aW5lZChPU19NQUNPU1gpICYmICFkZWZpbmVkKE9TX09QRU5CU0QpICYmIFwKKysjaWYgZGVmaW5l ZChPU19QT1NJWCkgJiYgZGVmaW5lZChfX0dMSUJDX18pICYmICFkZWZpbmVkKE9TX01BQ09TWCkg JiYgIWRlZmluZWQoT1NfT1BFTkJTRCkgJiYgXAorICAgICAhZGVmaW5lZChPU19BTkRST0lEKSAm JiAhZGVmaW5lZChPU19GVUNIU0lBKQorICAgRG5zUmVsb2FkZXJNYXliZVJlbG9hZCgpOworICNl bmRpZgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvbXVzbC1wYXRjaGVzL2No cm9taXVtLW11c2xfZXhlaW5mby5wYXRjaC5wYXRjaCBiL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVz L211c2wtcGF0Y2hlcy9jaHJvbWl1bS1tdXNsX2V4ZWluZm8ucGF0Y2gucGF0Y2gKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmYxYWZjN2MxYjE3Ci0tLSAvZGV2L251bGwK KysrIGIvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvbXVzbC1wYXRjaGVzL2Nocm9taXVtLW11c2xf ZXhlaW5mby5wYXRjaC5wYXRjaApAQCAtMCwwICsxLDk2IEBACitkaWZmIC0tZ2l0IGEvYmFzZS9k ZWJ1Zy9zdGFja190cmFjZV9wb3NpeC5jYyBiL2Jhc2UvZGVidWcvc3RhY2tfdHJhY2VfcG9zaXgu Y2MKK2luZGV4IGRlMmYzNTYuLmY2OTdjNjYgMTAwNjQ0CistLS0gYS9iYXNlL2RlYnVnL3N0YWNr X3RyYWNlX3Bvc2l4LmNjCisrKysgYi9iYXNlL2RlYnVnL3N0YWNrX3RyYWNlX3Bvc2l4LmNjCitA QCAtMjcsNyArMjcsNyBAQAorICNpZiAhZGVmaW5lZChVU0VfU1lNQk9MSVpFKQorICNpbmNsdWRl IDxjeHhhYmkuaD4KKyAjZW5kaWYKKy0jaWYgIWRlZmluZWQoX19VQ0xJQkNfXykgJiYgIWRlZmlu ZWQoX0FJWCkKKysjaWYgZGVmaW5lZChfX0dMSUJDX18pICYmICFkZWZpbmVkKF9fVUNMSUJDX18p ICYmICFkZWZpbmVkKF9BSVgpCisgI2luY2x1ZGUgPGV4ZWNpbmZvLmg+CisgI2VuZGlmCisgCitA QCAtODYsNyArODYsNyBAQCB2b2lkIERlbWFuZ2xlU3ltYm9scyhzdGQ6OnN0cmluZyogdGV4dCkg eworICAgLy8gTm90ZTogY29kZSBpbiB0aGlzIGZ1bmN0aW9uIGlzIE5PVCBhc3luYy1zaWduYWwg c2FmZSAoc3RkOjpzdHJpbmcgdXNlcworICAgLy8gbWFsbG9jIGludGVybmFsbHkpLgorIAorLSNp ZiAhZGVmaW5lZChfX1VDTElCQ19fKSAmJiAhZGVmaW5lZChfQUlYKQorKyNpZiBkZWZpbmVkKF9f R0xJQkNfXykgJiYgIWRlZmluZWQoX19VQ0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkKKyAgIHN0 ZDo6c3RyaW5nOjpzaXplX3R5cGUgc2VhcmNoX2Zyb20gPSAwOworICAgd2hpbGUgKHNlYXJjaF9m cm9tIDwgdGV4dC0+c2l6ZSgpKSB7CisgICAgIC8vIExvb2sgZm9yIHRoZSBzdGFydCBvZiBhIG1h bmdsZWQgc3ltYm9sLCBmcm9tIHNlYXJjaF9mcm9tLgorQEAgLTEyMSw3ICsxMjEsNyBAQCB2b2lk IERlbWFuZ2xlU3ltYm9scyhzdGQ6OnN0cmluZyogdGV4dCkgeworICAgICAgIHNlYXJjaF9mcm9t ID0gbWFuZ2xlZF9zdGFydCArIDI7CisgICAgIH0KKyAgIH0KKy0jZW5kaWYgIC8vICFkZWZpbmVk KF9fVUNMSUJDX18pICYmICFkZWZpbmVkKF9BSVgpCisrI2VuZGlmICAvLyBkZWZpbmVkKF9fR0xJ QkNfXykgJiYgIWRlZmluZWQoX19VQ0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkKKyB9CisgI2Vu ZGlmICAvLyAhZGVmaW5lZChVU0VfU1lNQk9MSVpFKQorIAorQEAgLTEzMyw3ICsxMzMsNyBAQCBj bGFzcyBCYWNrdHJhY2VPdXRwdXRIYW5kbGVyIHsKKyAgIHZpcnR1YWwgfkJhY2t0cmFjZU91dHB1 dEhhbmRsZXIoKSA9IGRlZmF1bHQ7CisgfTsKKyAKKy0jaWYgIWRlZmluZWQoX19VQ0xJQkNfXykg JiYgIWRlZmluZWQoX0FJWCkKKysjaWYgZGVmaW5lZChfX0dMSUJDX18pICYmICFkZWZpbmVkKF9f VUNMSUJDX18pICYmICFkZWZpbmVkKF9BSVgpCisgdm9pZCBPdXRwdXRQb2ludGVyKHZvaWQqIHBv aW50ZXIsIEJhY2t0cmFjZU91dHB1dEhhbmRsZXIqIGhhbmRsZXIpIHsKKyAgIC8vIFRoaXMgc2hv dWxkIGJlIG1vcmUgdGhhbiBlbm91Z2ggdG8gc3RvcmUgYSA2NC1iaXQgbnVtYmVyIGluIGhleDoK KyAgIC8vIDE2IGhleCBkaWdpdHMgKyAxIGZvciBudWxsLXRlcm1pbmF0b3IuCitAQCAtMjE2LDcg KzIxNiw3IEBAIHZvaWQgUHJvY2Vzc0JhY2t0cmFjZSh2b2lkKiBjb25zdCogdHJhY2UsCisgICB9 CisgI2VuZGlmICAvLyBkZWZpbmVkKFVTRV9TWU1CT0xJWkUpCisgfQorLSNlbmRpZiAgLy8gIWRl ZmluZWQoX19VQ0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkKKysjZW5kaWYgIC8vIGRlZmluZWQo X19HTElCQ19fKSAmJiAhZGVmaW5lZChfX1VDTElCQ19fKSAmJiAhZGVmaW5lZChfQUlYKQorIAor IHZvaWQgUHJpbnRUb1N0ZGVycihjb25zdCBjaGFyKiBvdXRwdXQpIHsKKyAgIC8vIE5PVEU6IFRo aXMgY29kZSBNVVNUIGJlIGFzeW5jLXNpZ25hbCBzYWZlIChpdCdzIHVzZWQgYnkgaW4tcHJvY2Vz cworQEAgLTgyOCw3ICs4MjgsNyBAQCBzaXplX3QgQ29sbGVjdFN0YWNrVHJhY2Uodm9pZCoqIHRy YWNlLCBzaXplX3QgY291bnQpIHsKKyAgIC8vIE5PVEU6IFRoaXMgY29kZSBNVVNUIGJlIGFzeW5j LXNpZ25hbCBzYWZlIChpdCdzIHVzZWQgYnkgaW4tcHJvY2VzcworICAgLy8gc3RhY2sgZHVtcGlu ZyBzaWduYWwgaGFuZGxlcikuIE5PIG1hbGxvYyBvciBzdGRpbyBpcyBhbGxvd2VkIGhlcmUuCisg CistI2lmICFkZWZpbmVkKF9fVUNMSUJDX18pICYmICFkZWZpbmVkKF9BSVgpCisrI2lmIGRlZmlu ZWQoX19HTElCQ19fKSAmJiAhZGVmaW5lZChfX1VDTElCQ19fKSAmJiAhZGVmaW5lZChfQUlYKQor ICAgLy8gVGhvdWdoIHRoZSBiYWNrdHJhY2UgQVBJIG1hbiBwYWdlIGRvZXMgbm90IGxpc3QgYW55 IHBvc3NpYmxlIG5lZ2F0aXZlCisgICAvLyByZXR1cm4gdmFsdWVzLCB3ZSB0YWtlIG5vIGNoYW5j ZS4KKyAgIHJldHVybiBiYXNlOjpzYXR1cmF0ZWRfY2FzdDxzaXplX3Q+KGJhY2t0cmFjZSh0cmFj ZSwgY291bnQpKTsKK0BAIC04NDEsMTMgKzg0MSwxMyBAQCB2b2lkIFN0YWNrVHJhY2U6OlByaW50 V2l0aFByZWZpeChjb25zdCBjaGFyKiBwcmVmaXhfc3RyaW5nKSBjb25zdCB7CisgLy8gTk9URTog VGhpcyBjb2RlIE1VU1QgYmUgYXN5bmMtc2lnbmFsIHNhZmUgKGl0J3MgdXNlZCBieSBpbi1wcm9j ZXNzCisgLy8gc3RhY2sgZHVtcGluZyBzaWduYWwgaGFuZGxlcikuIE5PIG1hbGxvYyBvciBzdGRp byBpcyBhbGxvd2VkIGhlcmUuCisgCistI2lmICFkZWZpbmVkKF9fVUNMSUJDX18pICYmICFkZWZp bmVkKF9BSVgpCisrI2lmIGRlZmluZWQoX19HTElCQ19fKSAmJiAhZGVmaW5lZChfX1VDTElCQ19f KSAmJiAhZGVmaW5lZChfQUlYKQorICAgUHJpbnRCYWNrdHJhY2VPdXRwdXRIYW5kbGVyIGhhbmRs ZXI7CisgICBQcm9jZXNzQmFja3RyYWNlKHRyYWNlXywgY291bnRfLCBwcmVmaXhfc3RyaW5nLCAm aGFuZGxlcik7CisgI2VuZGlmCisgfQorIAorLSNpZiAhZGVmaW5lZChfX1VDTElCQ19fKSAmJiAh ZGVmaW5lZChfQUlYKQorKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykgJiYgIWRlZmluZWQoX19VQ0xJ QkNfXykgJiYgIWRlZmluZWQoX0FJWCkKKyB2b2lkIFN0YWNrVHJhY2U6Ok91dHB1dFRvU3RyZWFt V2l0aFByZWZpeChzdGQ6Om9zdHJlYW0qIG9zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIHByZWZpeF9zdHJpbmcpIGNvbnN0IHsKKyAgIFN0 cmVhbUJhY2t0cmFjZU91dHB1dEhhbmRsZXIgaGFuZGxlcihvcyk7CitkaWZmIC0tZ2l0IGEvdGhp cmRfcGFydHkvc3dpZnRzaGFkZXIvdGhpcmRfcGFydHkvbGx2bS1zdWJ6ZXJvL2J1aWxkL0xpbnV4 L2luY2x1ZGUvbGx2bS9Db25maWcvY29uZmlnLmggYi90aGlyZF9wYXJ0eS9zd2lmdHNoYWRlci90 aGlyZF9wYXJ0eS9sbHZtLXN1Ynplcm8vYnVpbGQvTGludXgvaW5jbHVkZS9sbHZtL0NvbmZpZy9j b25maWcuaAoraW5kZXggNzk4ZjE1MC4uOTdhY2M3YyAxMDA2NDQKKy0tLSBhL3RoaXJkX3BhcnR5 L3N3aWZ0c2hhZGVyL3RoaXJkX3BhcnR5L2xsdm0tc3ViemVyby9idWlsZC9MaW51eC9pbmNsdWRl L2xsdm0vQ29uZmlnL2NvbmZpZy5oCisrKysgYi90aGlyZF9wYXJ0eS9zd2lmdHNoYWRlci90aGly ZF9wYXJ0eS9sbHZtLXN1Ynplcm8vYnVpbGQvTGludXgvaW5jbHVkZS9sbHZtL0NvbmZpZy9jb25m aWcuaAorQEAgLTE0LDcgKzE0LDcgQEAKKyAjZGVmaW5lIEVOQUJMRV9DUkFTSF9PVkVSUklERVMg MQorIAorIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgYmFja3RyYWNlJyBmdW5jdGlv bi4gKi8KKy0jZGVmaW5lIEhBVkVfQkFDS1RSQUNFIDEKKysvKiAjdW5kZWYgSEFWRV9CQUNLVFJB Q0UgKi8KKyAKKyAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPENyYXNoUmVwb3J0ZXJD bGllbnQuaD4gaGVhZGVyIGZpbGUuICovCisgLyogI3VuZGVmIEhBVkVfQ1JBU0hSRVBPUlRFUkNM SUVOVF9IICovCitAQCAtNTUsNyArNTUsNyBAQAorICNkZWZpbmUgSEFWRV9FUlJOT19IIDEKKyAK KyAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGV4ZWNpbmZvLmg+IGhlYWRlciBmaWxl LiAqLworLSNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKKysvKiAjdW5kZWYgSEFWRV9FWEVDSU5G T19IICovCisgCisgLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxmY250bC5oPiBoZWFk ZXIgZmlsZS4gKi8KKyAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCmRpZmYgLS1naXQgYS9zcmNwa2dz L2VsZWN0cm9uNy9maWxlcy9tdXNsLXBhdGNoZXMvY2hyb21pdW0tbXVzbF9mcHN0YXRlX3QucGF0 Y2gucGF0Y2ggYi9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9tdXNsLXBhdGNoZXMvY2hyb21pdW0t bXVzbF9mcHN0YXRlX3QucGF0Y2gucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwMDAuLmQ4YzQxY2NkOWEwCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9lbGVjdHJv bjcvZmlsZXMvbXVzbC1wYXRjaGVzL2Nocm9taXVtLW11c2xfZnBzdGF0ZV90LnBhdGNoLnBhdGNo CkBAIC0wLDAgKzEsNDggQEAKK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVh a3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi91Y29udGV4dF9yZWFkZXIu Y2MgYi90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBf d3JpdGVyX2NvbW1vbi91Y29udGV4dF9yZWFkZXIuY2MKK2luZGV4IDZlZTZjYzEuLmE4ZjljY2Mg MTAwNjQ0CistLS0gYS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xp bnV4L2R1bXBfd3JpdGVyX2NvbW1vbi91Y29udGV4dF9yZWFkZXIuY2MKKysrKyBiL3RoaXJkX3Bh cnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9u L3Vjb250ZXh0X3JlYWRlci5jYworQEAgLTQ5LDcgKzQ5LDcgQEAgdWludHB0cl90IFVDb250ZXh0 UmVhZGVyOjpHZXRJbnN0cnVjdGlvblBvaW50ZXIoY29uc3QgdWNvbnRleHRfdCogdWMpIHsKKyB9 CisgCisgdm9pZCBVQ29udGV4dFJlYWRlcjo6RmlsbENQVUNvbnRleHQoUmF3Q29udGV4dENQVSAq b3V0LCBjb25zdCB1Y29udGV4dF90ICp1YywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjb25zdCBzdHJ1Y3QgX2xpYmNfZnBzdGF0ZSogZnApIHsKKysgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgX2Zwc3RhdGUqIGZwKSB7CisgICBj b25zdCBncmVnX3QqIHJlZ3MgPSB1Yy0+dWNfbWNvbnRleHQuZ3JlZ3M7CisgCisgICBvdXQtPmNv bnRleHRfZmxhZ3MgPSBNRF9DT05URVhUX1g4Nl9GVUxMIHwKK0BAIC05Nyw3ICs5Nyw3IEBAIHVp bnRwdHJfdCBVQ29udGV4dFJlYWRlcjo6R2V0SW5zdHJ1Y3Rpb25Qb2ludGVyKGNvbnN0IHVjb250 ZXh0X3QqIHVjKSB7CisgfQorIAorIHZvaWQgVUNvbnRleHRSZWFkZXI6OkZpbGxDUFVDb250ZXh0 KFJhd0NvbnRleHRDUFUgKm91dCwgY29uc3QgdWNvbnRleHRfdCAqdWMsCistICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IF9saWJjX2Zwc3RhdGUqIGZwcmVn cykgeworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBf ZnBzdGF0ZSogZnByZWdzKSB7CisgICBjb25zdCBncmVnX3QqIHJlZ3MgPSB1Yy0+dWNfbWNvbnRl eHQuZ3JlZ3M7CisgCisgICBvdXQtPmNvbnRleHRfZmxhZ3MgPSBNRF9DT05URVhUX0FNRDY0X0ZV TEw7CitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVu dC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vdWNvbnRleHRfcmVhZGVyLmggYi90aGlyZF9wYXJ0 eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi91 Y29udGV4dF9yZWFkZXIuaAoraW5kZXggZjgzMDYxOC4uZjNkZGUxZiAxMDA2NDQKKy0tLSBhL3Ro aXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJf Y29tbW9uL3Vjb250ZXh0X3JlYWRlci5oCisrKysgYi90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVh a3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi91Y29udGV4dF9yZWFkZXIu aAorQEAgLTUwLDcgKzUwLDcgQEAgc3RydWN0IFVDb250ZXh0UmVhZGVyIHsKKyAgIC8vICAgaW5m bzogdGhlIGNvbGxlY3Rpb24gb2YgcmVnaXN0ZXIgc3RydWN0dXJlcy4KKyAjaWYgZGVmaW5lZChf X2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NCkKKyAgIHN0YXRpYyB2b2lkIEZpbGxDUFVDb250 ZXh0KFJhd0NvbnRleHRDUFUgKm91dCwgY29uc3QgdWNvbnRleHRfdCAqdWMsCistICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgX2xpYmNfZnBzdGF0ZSogZnApOworKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IF9mcHN0YXRlKiBmcCk7Cisg I2VsaWYgZGVmaW5lZChfX2FhcmNoNjRfXykKKyAgIHN0YXRpYyB2b2lkIEZpbGxDUFVDb250ZXh0 KFJhd0NvbnRleHRDUFUgKm91dCwgY29uc3QgdWNvbnRleHRfdCAqdWMsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgZnBzaW1kX2NvbnRleHQqIGZwcmVncyk7Citk aWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51 eC9taW5pZHVtcF93cml0ZXIvbWluaWR1bXBfd3JpdGVyLmggYi90aGlyZF9wYXJ0eS9icmVha3Bh ZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVtcF93cml0 ZXIuaAoraW5kZXggZDFkYzMzMS4uZDFjYzU2MiAxMDA2NDQKKy0tLSBhL3RoaXJkX3BhcnR5L2Jy ZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL21pbmlkdW1w X3dyaXRlci5oCisrKysgYi90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50 L2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVtcF93cml0ZXIuaAorQEAgLTQ4LDcgKzQ4LDcg QEAgY2xhc3MgRXhjZXB0aW9uSGFuZGxlcjsKKyAjaWYgZGVmaW5lZChfX2FhcmNoNjRfXykKKyB0 eXBlZGVmIHN0cnVjdCBmcHNpbWRfY29udGV4dCBmcHN0YXRlX3Q7CisgI2VsaWYgIWRlZmluZWQo X19BUk1fRUFCSV9fKSAmJiAhZGVmaW5lZChfX21pcHNfXykKKy10eXBlZGVmIHN0cnVjdCBfbGli Y19mcHN0YXRlIGZwc3RhdGVfdDsKKyt0eXBlZGVmIHN0cnVjdCBfZnBzdGF0ZSBmcHN0YXRlX3Q7 CisgI2VuZGlmCisgCisgLy8gVGhlc2UgZW50cmllcyBzdG9yZSBhIGxpc3Qgb2YgbWVtb3J5IHJl Z2lvbnMgdGhhdCB0aGUgY2xpZW50IHdhbnRzIGluY2x1ZGVkCmRpZmYgLS1naXQgYS9zcmNwa2dz L2VsZWN0cm9uNy9maWxlcy9tdXNsLXBhdGNoZXMvY2hyb21pdW0tbXVzbF9nZXRjb250ZXh0LnBh dGNoLnBhdGNoIGIvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvbXVzbC1wYXRjaGVzL2Nocm9taXVt LW11c2xfZ2V0Y29udGV4dC5wYXRjaC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwMC4uNzY5NzI0M2E5MTAKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2VsZWN0 cm9uNy9maWxlcy9tdXNsLXBhdGNoZXMvY2hyb21pdW0tbXVzbF9nZXRjb250ZXh0LnBhdGNoLnBh dGNoCkBAIC0wLDAgKzEsMjUgQEAKK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9icmVha3BhZC9i cmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2hhbmRsZXIvZXhjZXB0aW9uX2hhbmRsZXIuY2MgYi90 aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2hhbmRsZXIvZXhj ZXB0aW9uX2hhbmRsZXIuY2MKK2luZGV4IGI4OTVmNmQuLjRmMTMzNTIgMTAwNjQ0CistLS0gYS90 aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2hhbmRsZXIvZXhj ZXB0aW9uX2hhbmRsZXIuY2MKKysrKyBiL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3Ny Yy9jbGllbnQvbGludXgvaGFuZGxlci9leGNlcHRpb25faGFuZGxlci5jYworQEAgLTQ5MCw3ICs0 OTAsOSBAQCBib29sIEV4Y2VwdGlvbkhhbmRsZXI6OlNpbXVsYXRlU2lnbmFsRGVsaXZlcnkoaW50 IHNpZykgeworICAgc2lnaW5mby5zaV9jb2RlID0gU0lfVVNFUjsKKyAgIHNpZ2luZm8uc2lfcGlk ID0gZ2V0cGlkKCk7CisgICB1Y29udGV4dF90IGNvbnRleHQ7CisrI2lmIGRlZmluZWQoX19HTElC Q19fKQorICAgZ2V0Y29udGV4dCgmY29udGV4dCk7CisrI2VuZGlmCisgICByZXR1cm4gSGFuZGxl U2lnbmFsKHNpZywgJnNpZ2luZm8sICZjb250ZXh0KTsKKyB9CisgCitAQCAtNjc1LDggKzY3Nywx MCBAQCBib29sIEV4Y2VwdGlvbkhhbmRsZXI6OldyaXRlTWluaWR1bXAoKSB7CisgICBzeXNfcHJj dGwoUFJfU0VUX0RVTVBBQkxFLCAxLCAwLCAwLCAwKTsKKyAKKyAgIENyYXNoQ29udGV4dCBjb250 ZXh0OworKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykKKyAgIGludCBnZXRjb250ZXh0X3Jlc3VsdCA9 IGdldGNvbnRleHQoJmNvbnRleHQuY29udGV4dCk7CisgICBpZiAoZ2V0Y29udGV4dF9yZXN1bHQp CisrI2VuZGlmCisgICAgIHJldHVybiBmYWxzZTsKKyAKKyAjaWYgZGVmaW5lZChfX2kzODZfXykK ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL211c2wtcGF0Y2hlcy9jaHJvbWl1 bS1tdXNsX21hbGxpbmZvLnBhdGNoLnBhdGNoIGIvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvbXVz bC1wYXRjaGVzL2Nocm9taXVtLW11c2xfbWFsbGluZm8ucGF0Y2gucGF0Y2gKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjk0MTMxM2U0OTM5Ci0tLSAvZGV2L251bGwKKysr IGIvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvbXVzbC1wYXRjaGVzL2Nocm9taXVtLW11c2xfbWFs bGluZm8ucGF0Y2gucGF0Y2gKQEAgLTAsMCArMSw2MSBAQAorZGlmZiAtLWdpdCBhL2Jhc2UvcHJv Y2Vzcy9wcm9jZXNzX21ldHJpY3NfcG9zaXguY2MgYi9iYXNlL3Byb2Nlc3MvcHJvY2Vzc19tZXRy aWNzX3Bvc2l4LmNjCitpbmRleCAwNDRiZDhkLi4wNTIxMzIxIDEwMDY0NAorLS0tIGEvYmFzZS9w cm9jZXNzL3Byb2Nlc3NfbWV0cmljc19wb3NpeC5jYworKysrIGIvYmFzZS9wcm9jZXNzL3Byb2Nl c3NfbWV0cmljc19wb3NpeC5jYworQEAgLTExMCwxNCArMTEwLDE0IEBAIHNpemVfdCBQcm9jZXNz TWV0cmljczo6R2V0TWFsbG9jVXNhZ2UoKSB7CisgICBtYWxsb2Nfc3RhdGlzdGljc190IHN0YXRz ID0gezB9OworICAgbWFsbG9jX3pvbmVfc3RhdGlzdGljcyhudWxscHRyLCAmc3RhdHMpOworICAg cmV0dXJuIHN0YXRzLnNpemVfaW5fdXNlOworLSNlbGlmIGRlZmluZWQoT1NfTElOVVgpIHx8IGRl ZmluZWQoT1NfQU5EUk9JRCkKKysjZWxpZiAoZGVmaW5lZChPU19MSU5VWCkgJiYgZGVmaW5lZChf X0dMSUJDX18pKSB8fCBkZWZpbmVkKE9TX0FORFJPSUQpCisgICBzdHJ1Y3QgbWFsbGluZm8gbWlu Zm8gPSBtYWxsaW5mbygpOworICNpZiBCVUlMREZMQUcoVVNFX1RDTUFMTE9DKQorICAgcmV0dXJu IG1pbmZvLnVvcmRibGtzOworICNlbHNlCisgICByZXR1cm4gbWluZm8uaGJsa2hkICsgbWluZm8u YXJlbmE7CisgI2VuZGlmCistI2VsaWYgZGVmaW5lZChPU19GVUNIU0lBKQorKyNlbHNlCisgICAv LyBUT0RPKGZ1Y2hzaWEpOiBOb3QgY3VycmVudGx5IGV4cG9zZWQuIGh0dHBzOi8vY3JidWcuY29t LzczNTA4Ny4KKyAgIHJldHVybiAwOworICNlbmRpZgorZGlmZiAtLWdpdCBhL2Jhc2UvdHJhY2Vf ZXZlbnQvbWFsbG9jX2R1bXBfcHJvdmlkZXIuY2MgYi9iYXNlL3RyYWNlX2V2ZW50L21hbGxvY19k dW1wX3Byb3ZpZGVyLmNjCitpbmRleCBlODk1OTdjLi5lY2EyNThjIDEwMDY0NAorLS0tIGEvYmFz ZS90cmFjZV9ldmVudC9tYWxsb2NfZHVtcF9wcm92aWRlci5jYworKysrIGIvYmFzZS90cmFjZV9l dmVudC9tYWxsb2NfZHVtcF9wcm92aWRlci5jYworQEAgLTEzMiw3ICsxMzIsNyBAQCBib29sIE1h bGxvY0R1bXBQcm92aWRlcjo6T25NZW1vcnlEdW1wKGNvbnN0IE1lbW9yeUR1bXBBcmdzJiBhcmdz LAorICAgfQorICNlbGlmIGRlZmluZWQoT1NfRlVDSFNJQSkKKyAvLyBUT0RPKGZ1Y2hzaWEpOiBQ b3J0LCBzZWUgaHR0cHM6Ly9jcmJ1Zy5jb20vNzA2NTkyLgorLSNlbHNlCisrI2VsaWYgZGVmaW5l ZChPU19MSU5VWCkgJiYgZGVmaW5lZChfX0dMSUJDX18pCisgICBzdHJ1Y3QgbWFsbGluZm8gaW5m byA9IG1hbGxpbmZvKCk7CisgICBEQ0hFQ0tfR0UoaW5mby5hcmVuYSArIGluZm8uaGJsa2hkLCBp bmZvLnVvcmRibGtzKTsKKyAKK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9zd2lmdHNoYWRlci90 aGlyZF9wYXJ0eS9sbHZtLXN1Ynplcm8vYnVpbGQvTGludXgvaW5jbHVkZS9sbHZtL0NvbmZpZy9j b25maWcuaCBiL3RoaXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3RoaXJkX3BhcnR5L2xsdm0tc3ViemVy by9idWlsZC9MaW51eC9pbmNsdWRlL2xsdm0vQ29uZmlnL2NvbmZpZy5oCitpbmRleCBhYTk4MjQy Li45N2FjYzdjIDEwMDY0NAorLS0tIGEvdGhpcmRfcGFydHkvc3dpZnRzaGFkZXIvdGhpcmRfcGFy dHkvbGx2bS1zdWJ6ZXJvL2J1aWxkL0xpbnV4L2luY2x1ZGUvbGx2bS9Db25maWcvY29uZmlnLmgK KysrKyBiL3RoaXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3RoaXJkX3BhcnR5L2xsdm0tc3ViemVyby9i dWlsZC9MaW51eC9pbmNsdWRlL2xsdm0vQ29uZmlnL2NvbmZpZy5oCitAQCAtMTMwLDcgKzEzMCw3 IEBACisgLyogI3VuZGVmIEhBVkVfTUFMTENUTCAqLworIAorIC8qIERlZmluZSB0byAxIGlmIHlv dSBoYXZlIHRoZSBgbWFsbGluZm8nIGZ1bmN0aW9uLiAqLworLSNkZWZpbmUgSEFWRV9NQUxMSU5G TyAxCisrLyogI3VuZGVmIEhBVkVfTUFMTElORk8gKi8KKyAKKyAvKiBEZWZpbmUgdG8gMSBpZiB5 b3UgaGF2ZSB0aGUgPG1hbGxvYy5oPiBoZWFkZXIgZmlsZS4gKi8KKyAjZGVmaW5lIEhBVkVfTUFM TE9DX0ggMQorZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3RoaXJkX3BhcnR5 L2xsdm0tNy4wL2NvbmZpZ3MvbGludXgvaW5jbHVkZS9sbHZtL0NvbmZpZy9jb25maWcuaCBiL3Ro aXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3RoaXJkX3BhcnR5L2xsdm0tNy4wL2NvbmZpZ3MvbGludXgv aW5jbHVkZS9sbHZtL0NvbmZpZy9jb25maWcuaAoraW5kZXggNmUxNzAyMC4uZDRhOWVkMCAxMDA2 NDQKKy0tLSBhL3RoaXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3RoaXJkX3BhcnR5L2xsdm0tNy4wL2Nv bmZpZ3MvbGludXgvaW5jbHVkZS9sbHZtL0NvbmZpZy9jb25maWcuaAorKysrIGIvdGhpcmRfcGFy dHkvc3dpZnRzaGFkZXIvdGhpcmRfcGFydHkvbGx2bS03LjAvY29uZmlncy9saW51eC9pbmNsdWRl L2xsdm0vQ29uZmlnL2NvbmZpZy5oCitAQCAtMTIyLDcgKzEyMiw3IEBACisgLyogI3VuZGVmIEhB VkVfTUFMTENUTCAqLworCisgLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBtYWxsaW5m bycgZnVuY3Rpb24uICovCistI2RlZmluZSBIQVZFX01BTExJTkZPIDEKKysvKiAjdW5kZWYgSEFW RV9NQUxMSU5GTyAqLworCisgLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxtYWxsb2Mu aD4gaGVhZGVyIGZpbGUuICovCisgI2RlZmluZSBIQVZFX01BTExPQ19IIDEKKwpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvbXVzbC1wYXRjaGVzL2Nocm9taXVtLW11c2xfcHJl YWRfcHdyaXRlNjQucGF0Y2gucGF0Y2ggYi9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9tdXNsLXBh dGNoZXMvY2hyb21pdW0tbXVzbF9wcmVhZF9wd3JpdGU2NC5wYXRjaC5wYXRjaApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMmFlYWFlYjc1OTMKLS0tIC9kZXYvbnVsbAor KysgYi9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9tdXNsLXBhdGNoZXMvY2hyb21pdW0tbXVzbF9w cmVhZF9wd3JpdGU2NC5wYXRjaC5wYXRjaApAQCAtMCwwICsxLDE4IEBACitkaWZmIC0tZ2l0IGEv dGhpcmRfcGFydHkvbHNzL2xpbnV4X3N5c2NhbGxfc3VwcG9ydC5oIGIvdGhpcmRfcGFydHkvbHNz L2xpbnV4X3N5c2NhbGxfc3VwcG9ydC5oCitpbmRleCA1ZDljMmU4Li4yNjgyMzQ5IDEwMDY0NAor LS0tIGEvdGhpcmRfcGFydHkvbHNzL2xpbnV4X3N5c2NhbGxfc3VwcG9ydC5oCisrKysgYi90aGly ZF9wYXJ0eS9sc3MvbGludXhfc3lzY2FsbF9zdXBwb3J0LmgKK0BAIC0xNjYsNiArMTY2LDEzIEBA IGV4dGVybiAiQyIgeworICMgdW5kZWYgX19OUl93YWl0cGlkCisgI2VuZGlmCisgCisrI2lmZGVm IHByZWFkNjQKKysjdW5kZWYgcHJlYWQ2NAorKyNlbmRpZgorKyNpZmRlZiBwd3JpdGU2NAorKyN1 bmRlZiBwd3JpdGU2NAorKyNlbmRpZgorKworIC8qIEFzIGdsaWJjIG9mdGVuIHByb3ZpZGVzIHN1 YnRseSBpbmNvbXBhdGlibGUgZGF0YSBzdHJ1Y3R1cmVzIChhbmQgaW1wbGljaXQKKyAgKiB3cmFw cGVyIGZ1bmN0aW9ucyB0aGF0IGNvbnZlcnQgdGhlbSksIHdlIHByb3ZpZGUgb3VyIG93biBrZXJu ZWwgZGF0YQorICAqIHN0cnVjdHVyZXMgZm9yIHVzZSBieSB0aGUgc3lzdGVtIGNhbGxzLgpkaWZm IC0tZ2l0IGEvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvbXVzbC1wYXRjaGVzL2Nocm9taXVtLW11 c2xfcHVzaF9iYWNrLnBhdGNoLnBhdGNoIGIvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvbXVzbC1w YXRjaGVzL2Nocm9taXVtLW11c2xfcHVzaF9iYWNrLnBhdGNoLnBhdGNoCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5jZmYzNDAyODdkYQotLS0gL2Rldi9udWxsCisrKyBi L3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL211c2wtcGF0Y2hlcy9jaHJvbWl1bS1tdXNsX3B1c2hf YmFjay5wYXRjaC5wYXRjaApAQCAtMCwwICsxLDEzIEBACitkaWZmIC0tZ2l0IGEvbmV0L3NvY2tl dC91ZHBfc29ja2V0X3Bvc2l4LmNjIGIvbmV0L3NvY2tldC91ZHBfc29ja2V0X3Bvc2l4LmNjCitp bmRleCAwOGJmNzljLi4zZWU1MzUzIDEwMDY0NAorLS0tIGEvbmV0L3NvY2tldC91ZHBfc29ja2V0 X3Bvc2l4LmNjCisrKysgYi9uZXQvc29ja2V0L3VkcF9zb2NrZXRfcG9zaXguY2MKK0BAIC0xMTk0 LDcgKzExOTQsNyBAQCBTZW5kUmVzdWx0IFVEUFNvY2tldFBvc2l4U2VuZGVyOjpJbnRlcm5hbFNl bmRtbXNnQnVmZmVycygKKyAgICAgbXNnX2lvdi0+cHVzaF9iYWNrKHtjb25zdF9jYXN0PGNoYXIq PihidWZmZXItPmRhdGEoKSksIGJ1ZmZlci0+bGVuZ3RoKCl9KTsKKyAgIG1zZ3ZlYy0+cmVzZXJ2 ZShidWZmZXJzLnNpemUoKSk7CisgICBmb3IgKHNpemVfdCBqID0gMDsgaiA8IGJ1ZmZlcnMuc2l6 ZSgpOyBqKyspCistICAgIG1zZ3ZlYy0+cHVzaF9iYWNrKHt7bnVsbHB0ciwgMCwgJm1zZ19pb3Zb al0sIDEsIG51bGxwdHIsIDAsIDB9LCAwfSk7CisrICAgIG1zZ3ZlYy0+cHVzaF9iYWNrKHt7bnVs bHB0ciwgMCwgJm1zZ19pb3Zbal0sIDEsIDAsIG51bGxwdHIsIDAsIDAsIDB9LCAwfSk7CisgICBp bnQgcmVzdWx0ID0gSEFORExFX0VJTlRSKFNlbmRtbXNnKGZkLCAmbXNndmVjWzBdLCBidWZmZXJz LnNpemUoKSwgMCkpOworICAgU2VuZFJlc3VsdCBzZW5kX3Jlc3VsdCgwLCAwLCBzdGQ6Om1vdmUo YnVmZmVycykpOworICAgaWYgKHJlc3VsdCA8IDApIHsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZWxl Y3Ryb243L2ZpbGVzL211c2wtcGF0Y2hlcy9jaHJvbWl1bS1tdXNsX3NpX2ZpZWxkcy5wYXRjaC5w YXRjaCBiL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL211c2wtcGF0Y2hlcy9jaHJvbWl1bS1tdXNs X3NpX2ZpZWxkcy5wYXRjaC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMC4uZmRiZWZkMjdlMmIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2VsZWN0cm9uNy9m aWxlcy9tdXNsLXBhdGNoZXMvY2hyb21pdW0tbXVzbF9zaV9maWVsZHMucGF0Y2gucGF0Y2gKQEAg LTAsMCArMSwxMyBAQAorZGlmZiAtLWdpdCBhL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYvdHJh cC5jYyBiL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYvdHJhcC5jYworaW5kZXggMDAzNzA4ZC4u YjIxNDE0ZiAxMDA2NDQKKy0tLSBhL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYvdHJhcC5jYwor KysrIGIvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi90cmFwLmNjCitAQCAtMTY4LDcgKzE2OCw3 IEBAIHZvaWQgVHJhcDo6U2lnU3lzKGludCBuciwgTGludXhTaWdJbmZvKiBpbmZvLCB1Y29udGV4 dF90KiBjdHgpIHsKKyAgIC8vIG1vc3QgdmVyc2lvbnMgb2YgZ2xpYmMgZG9uJ3QgaW5jbHVkZSB0 aGlzIGluZm9ybWF0aW9uIGluIHNpZ2luZm9fdC4gU28sCisgICAvLyB3ZSBuZWVkIHRvIGV4cGxp Y2l0bHkgY29weSBpdCBpbnRvIGEgYXJjaF9zaWdzeXMgc3RydWN0dXJlLgorICAgc3RydWN0IGFy Y2hfc2lnc3lzIHNpZ3N5czsKKy0gIG1lbWNweSgmc2lnc3lzLCAmaW5mby0+X3NpZmllbGRzLCBz aXplb2Yoc2lnc3lzKSk7CisrICBtZW1jcHkoJnNpZ3N5cywgJmluZm8tPl9fc2lfZmllbGRzLCBz aXplb2Yoc2lnc3lzKSk7CisgCisgI2lmIGRlZmluZWQoX19taXBzX18pCisgICAvLyBXaGVuIGlu ZGlyZWN0IHN5c2NhbGwgKHN5c2NhbGwoX19OUl9mb28sIC4uLikpIGlzIG1hZGUgb24gTWlwcywg dGhlCmRpZmYgLS1naXQgYS9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9tdXNsLXBhdGNoZXMvY2hy b21pdW0tbXVzbF9zdGFja19zaXplLnBhdGNoLnBhdGNoIGIvc3JjcGtncy9lbGVjdHJvbjcvZmls ZXMvbXVzbC1wYXRjaGVzL2Nocm9taXVtLW11c2xfc3RhY2tfc2l6ZS5wYXRjaC5wYXRjaApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uYTRkZjdhMzcyOWIKLS0tIC9kZXYv bnVsbAorKysgYi9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9tdXNsLXBhdGNoZXMvY2hyb21pdW0t bXVzbF9zdGFja19zaXplLnBhdGNoLnBhdGNoCkBAIC0wLDAgKzEsNDEgQEAKK2RpZmYgLS1naXQg YS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS93dGYvc3RhY2tfdXRpbC5jYyBi L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL3d0Zi9zdGFja191dGlsLmNjCitp bmRleCBiMjQyMTY0Li4xYTBiNTE5IDEwMDY0NAorLS0tIGEvdGhpcmRfcGFydHkvYmxpbmsvcmVu ZGVyZXIvcGxhdGZvcm0vd3RmL3N0YWNrX3V0aWwuY2MKKysrKyBiL3RoaXJkX3BhcnR5L2JsaW5r L3JlbmRlcmVyL3BsYXRmb3JtL3d0Zi9zdGFja191dGlsLmNjCitAQCAtMjksNyArMjksNyBAQCBz aXplX3QgR2V0VW5kZXJlc3RpbWF0ZWRTdGFja1NpemUoKSB7CisgLy8gRklYTUU6IE9uIE1hYyBP U1ggYW5kIExpbnV4LCB0aGlzIG1ldGhvZCBjYW5ub3QgZXN0aW1hdGUgc3RhY2sgc2l6ZQorIC8v IGNvcnJlY3RseSBmb3IgdGhlIG1haW4gdGhyZWFkLgorIAorLSNpZiBkZWZpbmVkKF9fR0xJQkNf XykgfHwgZGVmaW5lZChPU19BTkRST0lEKSB8fCBkZWZpbmVkKE9TX0ZSRUVCU0QpIHx8IFwKKysj aWYgZGVmaW5lZChPU19MSU5VWCkgfHwgZGVmaW5lZChPU19BTkRST0lEKSB8fCBkZWZpbmVkKE9T X0ZSRUVCU0QpIHx8IFwKKyAgICAgZGVmaW5lZChPU19GVUNIU0lBKQorICAgLy8gcHRocmVhZF9n ZXRhdHRyX25wKCkgY2FuIGZhaWwgaWYgdGhlIHRocmVhZCBpcyBub3QgaW52b2tlZCBieQorICAg Ly8gcHRocmVhZF9jcmVhdGUoKSAoZS5nLiwgdGhlIG1haW4gdGhyZWFkIG9mIGJsaW5rX3VuaXR0 ZXN0cykuCitAQCAtNTUsNiArNTUsOSBAQCBzaXplX3QgR2V0VW5kZXJlc3RpbWF0ZWRTdGFja1Np emUoKSB7CisgICBwdGhyZWFkX2F0dHJfZGVzdHJveSgmYXR0cik7CisgI2VuZGlmCisgCisrI2lm IGRlZmluZWQoT1NfTElOVVgpICYmICFkZWZpbmVkKF9fR0xJQkNfXykKKysgIHJldHVybiAwOwor KyNlbHNlCisgICAvLyBSZXR1cm4gYSA1MTJrIHN0YWNrIHNpemUsIChjb25zZXJ2YXRpdmVseSkg YXNzdW1pbmcgdGhlIGZvbGxvd2luZzoKKyAgIC8vICAtIHRoYXQgc2l6ZSBpcyBtdWNoIGxvd2Vy IHRoYW4gdGhlIHB0aHJlYWRzIGRlZmF1bHQgKHg4NiBwdGhyZWFkcyBoYXMgYSAyTQorICAgLy8g ICAgZGVmYXVsdC4pCitAQCAtNjIsNiArNjUsOCBAQCBzaXplX3QgR2V0VW5kZXJlc3RpbWF0ZWRT dGFja1NpemUoKSB7CisgICAvLyAgICBsb3cgYXMgNTEyay4KKyAgIC8vCisgICByZXR1cm4gNTEy ICogMTAyNDsKKysjZW5kaWYKKysKKyAjZWxpZiBkZWZpbmVkKE9TX01BQ09TWCkKKyAgIC8vIHB0 aHJlYWRfZ2V0X3N0YWNrc2l6ZV9ucCgpIHJldHVybnMgdG9vIGxvdyBhIHZhbHVlIGZvciB0aGUg bWFpbiB0aHJlYWQgb24KKyAgIC8vIE9TWCAxMC45LAorQEAgLTk3LDcgKzEwMiw3IEBAIHJldHVy biBUaHJlYWRpbmc6OlRocmVhZFN0YWNrU2l6ZSgpOworIH0KKyAKKyB2b2lkKiBHZXRTdGFja1N0 YXJ0KCkgeworLSNpZiBkZWZpbmVkKF9fR0xJQkNfXykgfHwgZGVmaW5lZChPU19BTkRST0lEKSB8 fCBkZWZpbmVkKE9TX0ZSRUVCU0QpIHx8IFwKKysjaWYgZGVmaW5lZChPU19MSU5VWCkgfHwgZGVm aW5lZChPU19BTkRST0lEKSB8fCBkZWZpbmVkKE9TX0ZSRUVCU0QpIHx8IFwKKyAgICAgZGVmaW5l ZChPU19GVUNIU0lBKQorICAgcHRocmVhZF9hdHRyX3QgYXR0cjsKKyAgIGludCBlcnJvcjsKZGlm ZiAtLWdpdCBhL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL211c2wtcGF0Y2hlcy9jaHJvbWl1bS1t dXNsX3N0YWNrX3RyYWNlLnBhdGNoLnBhdGNoIGIvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvbXVz bC1wYXRjaGVzL2Nocm9taXVtLW11c2xfc3RhY2tfdHJhY2UucGF0Y2gucGF0Y2gKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjlhMWYyYjA0NDU4Ci0tLSAvZGV2L251bGwK KysrIGIvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvbXVzbC1wYXRjaGVzL2Nocm9taXVtLW11c2xf c3RhY2tfdHJhY2UucGF0Y2gucGF0Y2gKQEAgLTAsMCArMSw0NCBAQAorZGlmZiAtLWdpdCBhL2Jh c2UvZGVidWcvc3RhY2tfdHJhY2UuY2MgYi9iYXNlL2RlYnVnL3N0YWNrX3RyYWNlLmNjCitpbmRl eCBkOGNhODIyLi5mZmUxZjA4IDEwMDY0NAorLS0tIGEvYmFzZS9kZWJ1Zy9zdGFja190cmFjZS5j YworKysrIGIvYmFzZS9kZWJ1Zy9zdGFja190cmFjZS5jYworQEAgLTIyNSw3ICsyMjUsOSBAQCB2 b2lkIFN0YWNrVHJhY2U6OlByaW50KCkgY29uc3QgeworIH0KKworIHZvaWQgU3RhY2tUcmFjZTo6 T3V0cHV0VG9TdHJlYW0oc3RkOjpvc3RyZWFtKiBvcykgY29uc3QgeworKyNpZiBkZWZpbmVkKF9f R0xJQkNfXykgJiYgIWRlZmluZWQoX19VQ0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkKKyAgIE91 dHB1dFRvU3RyZWFtV2l0aFByZWZpeChvcywgbnVsbHB0cik7CisrI2VuZGlmCisgfQorCisgc3Rk OjpzdHJpbmcgU3RhY2tUcmFjZTo6VG9TdHJpbmcoKSBjb25zdCB7CitAQCAtMjMzLDE0ICsyMzMs MTQgQEAgc3RkOjpzdHJpbmcgU3RhY2tUcmFjZTo6VG9TdHJpbmcoKSBjb25zdCB7CisgfQorIHN0 ZDo6c3RyaW5nIFN0YWNrVHJhY2U6OlRvU3RyaW5nV2l0aFByZWZpeChjb25zdCBjaGFyKiBwcmVm aXhfc3RyaW5nKSBjb25zdCB7CisgICBzdGQ6OnN0cmluZ3N0cmVhbSBzdHJlYW07CistI2lmICFk ZWZpbmVkKF9fVUNMSUJDX18pICYmICFkZWZpbmVkKF9BSVgpCisrI2lmIGRlZmluZWQoX19HTElC Q19fKSAmJiAhZGVmaW5lZChfX1VDTElCQ19fKSAmJiAhZGVmaW5lZChfQUlYKQorICAgT3V0cHV0 VG9TdHJlYW1XaXRoUHJlZml4KCZzdHJlYW0sIHByZWZpeF9zdHJpbmcpOworICNlbmRpZgorICAg cmV0dXJuIHN0cmVhbS5zdHIoKTsKKyB9CisgCisgc3RkOjpvc3RyZWFtJiBvcGVyYXRvcjw8KHN0 ZDo6b3N0cmVhbSYgb3MsIGNvbnN0IFN0YWNrVHJhY2UmIHMpIHsKKy0jaWYgIWRlZmluZWQoX19V Q0xJQkNfXykgJiAhZGVmaW5lZChfQUlYKQorKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykgJiYgIWRl ZmluZWQoX19VQ0xJQkNfXykgJiAhZGVmaW5lZChfQUlYKQorICAgcy5PdXRwdXRUb1N0cmVhbSgm b3MpOworICNlbHNlCisgICBvcyA8PCAiU3RhY2tUcmFjZTo6T3V0cHV0VG9TdHJlYW0gbm90IGlt cGxlbWVudGVkLiI7CitkaWZmIC0tZ2l0IGEvYmFzZS9sb2dnaW5nLmNjIGIvYmFzZS9sb2dnaW5n LmNjCitpbmRleCAzNmI4YmZjLi5kZDgzMGZlIDEwMDY0NAorLS0tIGEvYmFzZS9sb2dnaW5nLmNj CisrKysgYi9iYXNlL2xvZ2dpbmcuY2MKK0BAIC02MDcsNyArNjA3LDcgQEAgTG9nTWVzc2FnZTo6 TG9nTWVzc2FnZShjb25zdCBjaGFyKiBmaWxlLCBpbnQgbGluZSwgTG9nU2V2ZXJpdHkgc2V2ZXJp dHksCisgTG9nTWVzc2FnZTo6fkxvZ01lc3NhZ2UoKSB7CisgICBzaXplX3Qgc3RhY2tfc3RhcnQg PSBzdHJlYW1fLnRlbGxwKCk7CisgI2lmICFkZWZpbmVkKE9GRklDSUFMX0JVSUxEKSAmJiAhZGVm aW5lZChPU19OQUNMKSAmJiAhZGVmaW5lZChfX1VDTElCQ19fKSAmJiBcCistICAgICFkZWZpbmVk KE9TX0FJWCkKKysgICAgIWRlZmluZWQoT1NfQUlYKSAmJiBkZWZpbmVkKF9fR0xJQkNfXykKKyAg IGlmIChzZXZlcml0eV8gPT0gTE9HX0ZBVEFMICYmICFiYXNlOjpkZWJ1Zzo6QmVpbmdEZWJ1Z2dl ZCgpKSB7CisgICAgIC8vIEluY2x1ZGUgYSBzdGFjayB0cmFjZSBvbiBhIGZhdGFsLCB1bmxlc3Mg YSBkZWJ1Z2dlciBpcyBhdHRhY2hlZC4KKyAgICAgYmFzZTo6ZGVidWc6OlN0YWNrVHJhY2Ugc3Rh Y2tfdHJhY2U7CmRpZmYgLS1naXQgYS9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9tdXNsLXBhdGNo ZXMvY2hyb21pdW0tbXVzbF90Y3BfbGlzdGVuLnBhdGNoLnBhdGNoIGIvc3JjcGtncy9lbGVjdHJv bjcvZmlsZXMvbXVzbC1wYXRjaGVzL2Nocm9taXVtLW11c2xfdGNwX2xpc3Rlbi5wYXRjaC5wYXRj aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZmE2MjMxN2IxMWEKLS0t IC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9tdXNsLXBhdGNoZXMvY2hy b21pdW0tbXVzbF90Y3BfbGlzdGVuLnBhdGNoLnBhdGNoCkBAIC0wLDAgKzEsMTQgQEAKK2RpZmYg LS1naXQgYS9jb250ZW50L3B1YmxpYy9jb21tb24vc29ja2V0X3Blcm1pc3Npb25fcmVxdWVzdC5o IGIvY29udGVudC9wdWJsaWMvY29tbW9uL3NvY2tldF9wZXJtaXNzaW9uX3JlcXVlc3QuaAoraW5k ZXggNzMxNjYyMS4uNjE3MTIxOSAxMDA2NDQKKy0tLSBhL2NvbnRlbnQvcHVibGljL2NvbW1vbi9z b2NrZXRfcGVybWlzc2lvbl9yZXF1ZXN0LmgKKysrKyBiL2NvbnRlbnQvcHVibGljL2NvbW1vbi9z b2NrZXRfcGVybWlzc2lvbl9yZXF1ZXN0LmgKK0BAIC05LDYgKzksOSBAQAorIAorICNpbmNsdWRl IDxzdHJpbmc+CisgCisrI2lmZGVmIFRDUF9MSVNURU4KKysjdW5kZWYgVENQX0xJU1RFTgorKyNl bmRpZgorIAorIG5hbWVzcGFjZSBjb250ZW50IHsKKyAKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZWxl Y3Ryb243L2ZpbGVzL211c2wtcGF0Y2hlcy9jaHJvbWl1bS1tdXNsX3dvcmRzaXplLnBhdGNoLnBh dGNoIGIvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvbXVzbC1wYXRjaGVzL2Nocm9taXVtLW11c2xf d29yZHNpemUucGF0Y2gucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw MDAuLjYyMDhjZmZhZmJlCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9lbGVjdHJvbjcvZmls ZXMvbXVzbC1wYXRjaGVzL2Nocm9taXVtLW11c2xfd29yZHNpemUucGF0Y2gucGF0Y2gKQEAgLTAs MCArMSwyNCBAQAorZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3Ny Yy9jb21tb24vbGludXgvZWxmX2NvcmVfZHVtcC5oIGIvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJl YWtwYWQvc3JjL2NvbW1vbi9saW51eC9lbGZfY29yZV9kdW1wLmgKK2luZGV4IGQwM2M3YTguLjc4 Y2E5ZGQgMTAwNjQ0CistLS0gYS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY29t bW9uL2xpbnV4L2VsZl9jb3JlX2R1bXAuaAorKysrIGIvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJl YWtwYWQvc3JjL2NvbW1vbi9saW51eC9lbGZfY29yZV9kdW1wLmgKK0BAIC0zNiw2ICszNiw3IEBA CisgI2luY2x1ZGUgPGVsZi5oPgorICNpbmNsdWRlIDxsaW5rLmg+CisgI2luY2x1ZGUgPHN0ZGRl Zi5oPgorKyNpbmNsdWRlIDxsaW1pdHMuaD4KKyAKKyAjaW5jbHVkZSAiY29tbW9uL21lbW9yeV9y YW5nZS5oIgorIAorQEAgLTUxLDkgKzUyLDkgQEAgY2xhc3MgRWxmQ29yZUR1bXAgeworICAgdHlw ZWRlZiBFbGZXKFBoZHIpIFBoZHI7CisgICB0eXBlZGVmIEVsZlcoV29yZCkgV29yZDsKKyAgIHR5 cGVkZWYgRWxmVyhBZGRyKSBBZGRyOworLSNpZiBfX1dPUkRTSVpFID09IDMyCisrI2lmIFVMT05H X01BWCA9PSAweGZmZmZmZmZmCisgICBzdGF0aWMgY29uc3QgaW50IGtDbGFzcyA9IEVMRkNMQVNT MzI7CistI2VsaWYgX19XT1JEU0laRSA9PSA2NAorKyNlbGlmIFVMT05HX01BWCA9PSAweGZmZmZm ZmZmZmZmZmZmZmYKKyAgIHN0YXRpYyBjb25zdCBpbnQga0NsYXNzID0gRUxGQ0xBU1M2NDsKKyAj ZWxzZQorICNlcnJvciAiVW5zdXBwb3J0ZWQgX19XT1JEU0laRSBmb3IgRWxmQ29yZUR1bXAuIgpk aWZmIC0tZ2l0IGEvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9jaHJvbWl1bS0wMDEt dXBzdHJlYW1fY2hyb21lX2NsZWFuZXIucGF0Y2gucGF0Y2ggYi9zcmNwa2dzL2VsZWN0cm9uNy9m aWxlcy9wYXRjaGVzL2Nocm9taXVtLTAwMS11cHN0cmVhbV9jaHJvbWVfY2xlYW5lci5wYXRjaC5w YXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNTdlOTQxODBjNTkK LS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9wYXRjaGVzL2Nocm9t aXVtLTAwMS11cHN0cmVhbV9jaHJvbWVfY2xlYW5lci5wYXRjaC5wYXRjaApAQCAtMCwwICsxLDcz IEBACitGcm9tIGM3NTVlYzg0NzQ1OWQ5ZDM4MDdjMjJjMmQ0ZDZhYTZmOWM4NmRjN2MgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBKb2huIEJ1ZG9yaWNrIDxqYnVkb3JpY2tAY2hyb21p dW0ub3JnPgorRGF0ZTogVHVlLCAxOSBOb3YgMjAxOSAyMjoyNDoyMCArMDAwMAorU3ViamVjdDog W1BBVENIXSAzOTA0OiBjaHJvbWVfY2xlYW5lcjogZW5zdXJlIGludGVybmFsIHRhcmdldHMgYXJl IHJlYWNoYWJsZQorIGZyb20gOmduX2FsbC4KKworKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQg ZWVlNTEzZGZjNzgwYWQ0YmNhYTc0YjY3ZjJlMGVhZWJmNTdiNWM5MykKKworQnVnOiA5ODQxNjIs IDEwMDQ4NDgKK0NoYW5nZS1JZDogSWJiN2M0N2YwMTg4ZGU4ZTA3N2NkMzBhYThkNjhjYTYxMTMz ZDIwMzcKK1Jldmlld2VkLW9uOiBodHRwczovL2Nocm9taXVtLXJldmlldy5nb29nbGVzb3VyY2Uu Y29tL2MvY2hyb21pdW0vc3JjLysvMTkwNDU0OQorQ29tbWl0LVF1ZXVlOiBKb2huIEJ1ZG9yaWNr IDxqYnVkb3JpY2tAY2hyb21pdW0ub3JnPgorUmV2aWV3ZWQtYnk6IEpvZSBNYXNvbiA8am9lbm90 Y2hhcmxlc0BjaHJvbWl1bS5vcmc+CitDci1PcmlnaW5hbC1Db21taXQtUG9zaXRpb246IHJlZnMv aGVhZHMvbWFzdGVyQHsjNzEzNjgzfQorUmV2aWV3ZWQtb246IGh0dHBzOi8vY2hyb21pdW0tcmV2 aWV3Lmdvb2dsZXNvdXJjZS5jb20vYy9jaHJvbWl1bS9zcmMvKy8xOTIyMjk5CitDci1Db21taXQt UG9zaXRpb246IHJlZnMvYnJhbmNoLWhlYWRzLzM5MDRAeyM4OTV9CitDci1CcmFuY2hlZC1Gcm9t OiA2NzU5NjhhOGM2NTdhM2JkOWMxYzJjMjBjNWQyOTM1NTc3YmJjNWU2LXJlZnMvaGVhZHMvbWFz dGVyQHsjNjkzOTU0fQorLS0tCisgQlVJTEQuZ24gICAgICAgICAgICAgICAgICAgICAgIHwgIDIg Ky0KKyBjaHJvbWUvY2hyb21lX2NsZWFuZXIvQlVJTEQuZ24gfCAyMyArKysrKysrKysrKysrKysr KysrKy0tLQorIDIgZmlsZXMgY2hhbmdlZCwgMjEgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMo LSkKKworZGlmZiAtLWdpdCBhL0JVSUxELmduIGIvQlVJTEQuZ24KK2luZGV4IDVlMmY2YjliMGY0 MWMuLmFjMDI5NzYwODU5NGYgMTAwNjQ0CistLS0gYS9CVUlMRC5nbgorKysrIGIvQlVJTEQuZ24K K0BAIC02MDQsNyArNjA0LDcgQEAgZ3JvdXAoImduX2FsbCIpIHsKKyAgIGlmIChpc193aW4pIHsK KyAgICAgZGVwcyArPSBbCisgICAgICAgIi8vYmFzZTpwZV9pbWFnZV90ZXN0IiwKKy0gICAgICAi Ly9jaHJvbWUvY2hyb21lX2NsZWFuZXI6Y2hyb21lX2NsZWFuZXJfdW5pdHRlc3RzIiwKKysgICAg ICAiLy9jaHJvbWUvY2hyb21lX2NsZWFuZXIiLAorICAgICAgICIvL2Nocm9tZS9jaHJvbWVfZWxm OmNocm9tZV9lbGZfdW5pdHRlc3RzIiwKKyAgICAgICAiLy9jaHJvbWUvY2hyb21lX2VsZjpkbGxf aGFzaF9tYWluIiwKKyAgICAgICAiLy9jaHJvbWUvZWxldmF0aW9uX3NlcnZpY2U6ZWxldmF0aW9u X3NlcnZpY2VfdW5pdHRlc3RzIiwKK2RpZmYgLS1naXQgYS9jaHJvbWUvY2hyb21lX2NsZWFuZXIv QlVJTEQuZ24gYi9jaHJvbWUvY2hyb21lX2NsZWFuZXIvQlVJTEQuZ24KK2luZGV4IGZiZDJkOGQ1 MzA3YWEuLjE2NzFhM2Y3ZDA5N2MgMTAwNjQ0CistLS0gYS9jaHJvbWUvY2hyb21lX2NsZWFuZXIv QlVJTEQuZ24KKysrKyBiL2Nocm9tZS9jaHJvbWVfY2xlYW5lci9CVUlMRC5nbgorQEAgLTY0LDkg KzY0LDYgQEAgc3RhdGljX2xpYnJhcnkoIm90aGVyX2V4ZWN1dGFibGVfZGVmaW5pdGlvbnMiKSB7 CisgfQorIAorIHRlc3QoImNocm9tZV9jbGVhbmVyX3VuaXR0ZXN0cyIpIHsKKy0gICMgTWFrZSB0 aGlzIHRhcmdldCBmaW5kYWJsZSBmcm9tIHRoZSAiYWxsIiB0YXJnZXQgdXNlZCBieSB0aGUgYnVp bGRlcnMuCistICB2aXNpYmlsaXR5ICs9IFsgIi8vLjpnbl9hbGwiIF0KKy0KKyAgIHNvdXJjZXMg PSBbCisgICAgICIvL2Nocm9tZS9jaHJvbWVfY2xlYW5lci90ZXN0L3Rlc3RfbWFpbi5jYyIsCisg ICBdCitAQCAtMTI2LDMgKzEyMywyMyBAQCB0ZXN0KCJjaHJvbWVfY2xlYW5lcl91bml0dGVzdHMi KSB7CisgICAgIF0KKyAgIH0KKyB9CisrCisrZ3JvdXAoImNocm9tZV9jbGVhbmVyIikgeworKyAg dGVzdG9ubHkgPSB0cnVlCisrCisrICAjIE1ha2UgdGhpcyB0YXJnZXQgZmluZGFibGUgZnJvbSB0 aGUgImFsbCIgdGFyZ2V0IHVzZWQgYnkgdGhlIGJ1aWxkZXJzLgorKyAgdmlzaWJpbGl0eSArPSBb ICIvLy46Z25fYWxsIiBdCisrCisrICBkZXBzID0gWworKyAgICAiOmNocm9tZV9jbGVhbmVyX3Vu aXR0ZXN0cyIsCisrICAgICIvL2Nocm9tZS9jaHJvbWVfY2xlYW5lci9leGVjdXRhYmxlczpjaHJv bWVfY2xlYW51cF90b29sIiwKKysgICAgIi8vY2hyb21lL2Nocm9tZV9jbGVhbmVyL2V4ZWN1dGFi bGVzOnNvZnR3YXJlX3JlcG9ydGVyX3Rvb2wiLAorKyAgXQorKworKyAgaWYgKGlzX2ludGVybmFs X2Nocm9tZV9jbGVhbmVyX2J1aWxkKSB7CisrICAgIGRlcHMgKz0gWworKyAgICAgICIke2Nocm9t ZV9jbGVhbmVyX2ludGVybmFsX3Jvb3R9OmJ1aWxkX3RhcmdldHMiLAorKyAgICAgICIke2Nocm9t ZV9jbGVhbmVyX2ludGVybmFsX3Jvb3R9OnRlc3RfdGFyZ2V0cyIsCisrICAgIF0KKysgIH0KKyt9 CmRpZmYgLS1naXQgYS9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9wYXRjaGVzL2Nocm9taXVtLTAw Mi11cHN0cmVhbV9zYXZlX2xvZ3NfZnJvbV90ZXN0X2NpbGRfcHJvY2Vzc2VzLnBhdGNoLnBhdGNo IGIvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9jaHJvbWl1bS0wMDItdXBzdHJlYW1f c2F2ZV9sb2dzX2Zyb21fdGVzdF9jaWxkX3Byb2Nlc3Nlcy5wYXRjaC5wYXRjaApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNzRiOWZlYzU5YTcKLS0tIC9kZXYvbnVsbAor KysgYi9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9wYXRjaGVzL2Nocm9taXVtLTAwMi11cHN0cmVh bV9zYXZlX2xvZ3NfZnJvbV90ZXN0X2NpbGRfcHJvY2Vzc2VzLnBhdGNoLnBhdGNoCkBAIC0wLDAg KzEsMzQyIEBACitGcm9tIGRhZWM2NjFmMjdiZGZhYjc5MTMyZDdkMmM0NjM3Y2MxN2ZkNGFhMzUg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBKb2UgTWFzb24gPGpvZW5vdGNoYXJsZXNA Z29vZ2xlLmNvbT4KK0RhdGU6IFdlZCwgNCBEZWMgMjAxOSAxODowNDoyMSArMDAwMAorU3ViamVj dDogW1BBVENIXSBTYXZlIGxvZ3MgZnJvbSB0ZXN0IGNoaWxkIHByb2Nlc3NlcyBieSByZWRpcmVj dGluZyBzdGRvdXQgYW5kCisgc3RkZXJyLgorCitUaGUgcHJldmlvdXMgc29sdXRpb24gY2FuIG9u bHkgY2FwdHVyZSBsb2dzIGFmdGVyIHRoZSBjaGlsZCBwcm9jZXNzCitjcmVhdGVzIGEgU2NvcGVk TG9nZ2luZyBvYmplY3QuIFdlIHNlZSBmbGFreSBjcmFzaGVzIGluIHNhbmRib3ggY3JlYXRpb24K K3RoYXQgaGFwcGVuIGJlZm9yZSB0aGF0IHNvIHRoaXMgd2lsbCBsZXQgdXMgc2VlIHRoZSBjaGls ZCBwcm9jZXNzIHN0YWNrCit0cmFjZXMuCisKK0Fsc28gbW92ZXMgc29tZSBmdW5jdGlvbnMgdGhh dCB3ZXJlIGV4cG9ydGVkIGZyb20gaXBjX3Rlc3RfdXRpbC5oIHRvIGJlCitwcml2YXRlIHRvIHBy b3RvX2Nocm9tZV9wcm9tcHRfaXBjX3VuaXR0ZXN0LmNjLCB3aGljaCBpcyB0aGUgb25seSB0ZXN0 Cit0aGF0IHN0aWxsIHVzZXMgdGhlbS4KKworKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZTdh NzU1NDIxMTM2ZDdmYzliM2E3M2E1ZTU0NjQzNjhmM2VmYTdmOSkKKworQnVnOiAxMDMwMzMzCitD aGFuZ2UtSWQ6IEllMzBlZWQzYjE2NjMxNzIxZTgxYTQyMGIzYjcwZjFlYzVmMGQ5YTBjCitSZXZp ZXdlZC1vbjogaHR0cHM6Ly9jaHJvbWl1bS1yZXZpZXcuZ29vZ2xlc291cmNlLmNvbS9jL2Nocm9t aXVtL3NyYy8rLzE5NDg0ODMKK1Jldmlld2VkLWJ5OiBwcm9iZXJnZSA8cHJvYmVyZ2VAY2hyb21p dW0ub3JnPgorQ29tbWl0LVF1ZXVlOiBKb2UgTWFzb24gPGpvZW5vdGNoYXJsZXNAY2hyb21pdW0u b3JnPgorQ3ItT3JpZ2luYWwtQ29tbWl0LVBvc2l0aW9uOiByZWZzL2hlYWRzL21hc3RlckB7Izcy MTA3MX0KK1Jldmlld2VkLW9uOiBodHRwczovL2Nocm9taXVtLXJldmlldy5nb29nbGVzb3VyY2Uu Y29tL2MvY2hyb21pdW0vc3JjLysvMTk1MTA4OQorUmV2aWV3ZWQtYnk6IEpvZSBNYXNvbiA8am9l bm90Y2hhcmxlc0BjaHJvbWl1bS5vcmc+CitDci1Db21taXQtUG9zaXRpb246IHJlZnMvYnJhbmNo LWhlYWRzLzM5MDRAeyM5MTN9CitDci1CcmFuY2hlZC1Gcm9tOiA2NzU5NjhhOGM2NTdhM2JkOWMx YzJjMjBjNWQyOTM1NTc3YmJjNWU2LXJlZnMvaGVhZHMvbWFzdGVyQHsjNjkzOTU0fQorLS0tCisg Y2hyb21lL2Nocm9tZV9jbGVhbmVyL2lwYy9pcGNfdGVzdF91dGlsLmNjICAgIHwgOTIgKysrKysr KysrKysrLS0tLS0tLQorIGNocm9tZS9jaHJvbWVfY2xlYW5lci9pcGMvaXBjX3Rlc3RfdXRpbC5o ICAgICB8IDEzICsrLQorIC4uLi9pcGMvcHJvdG9fY2hyb21lX3Byb21wdF9pcGNfdW5pdHRlc3Qu Y2MgICB8IDE3ICsrLS0KKyBjaHJvbWUvY2hyb21lX2NsZWFuZXIvaXBjL3NhbmRib3guY2MgICAg ICAgICAgfCAgNSArLQorIDQgZmlsZXMgY2hhbmdlZCwgNzcgaW5zZXJ0aW9ucygrKSwgNTAgZGVs ZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jaHJvbWUvY2hyb21lX2NsZWFuZXIvaXBjL2lwY190 ZXN0X3V0aWwuY2MgYi9jaHJvbWUvY2hyb21lX2NsZWFuZXIvaXBjL2lwY190ZXN0X3V0aWwuY2MK K2luZGV4IDA1ZmMwZDAyN2VjNDMuLjBkMDNhNjg3MGZiMDcgMTAwNjQ0CistLS0gYS9jaHJvbWUv Y2hyb21lX2NsZWFuZXIvaXBjL2lwY190ZXN0X3V0aWwuY2MKKysrKyBiL2Nocm9tZS9jaHJvbWVf Y2xlYW5lci9pcGMvaXBjX3Rlc3RfdXRpbC5jYworQEAgLTEzLDYgKzEzLDcgQEAKKyAjaW5jbHVk ZSAiYmFzZS9jb21tYW5kX2xpbmUuaCIKKyAjaW5jbHVkZSAiYmFzZS9maWxlcy9maWxlX3BhdGgu aCIKKyAjaW5jbHVkZSAiYmFzZS9maWxlcy9maWxlX3V0aWwuaCIKKysjaW5jbHVkZSAiYmFzZS9m aWxlcy9zY29wZWRfdGVtcF9kaXIuaCIKKyAjaW5jbHVkZSAiYmFzZS9sb2dnaW5nLmgiCisgI2lu Y2x1ZGUgImJhc2UvcHJvY2Vzcy9sYXVuY2guaCIKKyAjaW5jbHVkZSAiYmFzZS9yYW5kX3V0aWwu aCIKK0BAIC0yMyw3ICsyNCw2IEBACisgI2luY2x1ZGUgImJhc2UvdGVzdC90ZXN0X3RpbWVvdXRz LmgiCisgI2luY2x1ZGUgImJhc2Uvd2luL3dpbl91dGlsLmgiCisgI2luY2x1ZGUgImNocm9tZS9j aHJvbWVfY2xlYW5lci9pcGMvc2FuZGJveC5oIgorLSNpbmNsdWRlICJjaHJvbWUvY2hyb21lX2Ns ZWFuZXIvbG9nZ2luZy9zY29wZWRfbG9nZ2luZy5oIgorICNpbmNsdWRlICJzYW5kYm94L3dpbi9z cmMvc2FuZGJveF9mYWN0b3J5LmgiCisgCisgbmFtZXNwYWNlIGNocm9tZV9jbGVhbmVyIHsKK0BA IC0zMiwxMiArMzIsMTMgQEAgbmFtZXNwYWNlIHsKKyAKKyBjb25zdGV4cHIgY2hhciBrTW9qb1Bp cGVUb2tlblN3aXRjaFtdID0gIm1vam8tcGlwZS10b2tlbiI7CisgCistY29uc3RleHByIHdjaGFy X3Qga0lQQ1Rlc3RVdGlsTG9nU3VmZml4W10gPSBMImlwYy10ZXN0LXV0aWwiOworLQorIGNsYXNz IE1vam9TYW5kYm94U2V0dXBIb29rcyA6IHB1YmxpYyBTYW5kYm94U2V0dXBIb29rcyB7CisgIHB1 YmxpYzoKKy0gIGV4cGxpY2l0IE1vam9TYW5kYm94U2V0dXBIb29rcyhTYW5kYm94ZWRQYXJlbnRQ cm9jZXNzKiBwYXJlbnRfcHJvY2VzcykKKy0gICAgICA6IHBhcmVudF9wcm9jZXNzXyhwYXJlbnRf cHJvY2Vzcykge30KKysgIGV4cGxpY2l0IE1vam9TYW5kYm94U2V0dXBIb29rcygKKysgICAgICBT YW5kYm94ZWRQYXJlbnRQcm9jZXNzKiBwYXJlbnRfcHJvY2VzcywKKysgICAgICBiYXNlOjp3aW46 OlNjb3BlZEhhbmRsZSBjaGlsZF9zdGRvdXRfd3JpdGVfaGFuZGxlKQorKyAgICAgIDogcGFyZW50 X3Byb2Nlc3NfKHBhcmVudF9wcm9jZXNzKSwKKysgICAgICAgIGNoaWxkX3N0ZG91dF93cml0ZV9o YW5kbGVfKHN0ZDo6bW92ZShjaGlsZF9zdGRvdXRfd3JpdGVfaGFuZGxlKSkge30KKyAgIH5Nb2pv U2FuZGJveFNldHVwSG9va3MoKSBvdmVycmlkZSA9IGRlZmF1bHQ7CisgCisgICAvLyBTYW5kYm94 U2V0dXBIb29rcworQEAgLTQ5LDYgKzUwLDggQEAgY2xhc3MgTW9qb1NhbmRib3hTZXR1cEhvb2tz IDogcHVibGljIFNhbmRib3hTZXR1cEhvb2tzIHsKKyAgICAgcGFyZW50X3Byb2Nlc3NfLT5DcmVh dGVNb2pvUGlwZShjb21tYW5kX2xpbmUsICZoYW5kbGVzX3RvX2luaGVyaXQpOworICAgICBmb3Ig KEhBTkRMRSBoYW5kbGUgOiBoYW5kbGVzX3RvX2luaGVyaXQpCisgICAgICAgcG9saWN5LT5BZGRI YW5kbGVUb1NoYXJlKGhhbmRsZSk7CisrICAgIHBvbGljeS0+U2V0U3Rkb3V0SGFuZGxlKGNoaWxk X3N0ZG91dF93cml0ZV9oYW5kbGVfLkdldCgpKTsKKysgICAgcG9saWN5LT5TZXRTdGRlcnJIYW5k bGUoY2hpbGRfc3Rkb3V0X3dyaXRlX2hhbmRsZV8uR2V0KCkpOworICAgICByZXR1cm4gUkVTVUxU X0NPREVfU1VDQ0VTUzsKKyAgIH0KKyAKK0BAIC02MSwzMyArNjQsMTQgQEAgY2xhc3MgTW9qb1Nh bmRib3hTZXR1cEhvb2tzIDogcHVibGljIFNhbmRib3hTZXR1cEhvb2tzIHsKKyAKKyAgcHJpdmF0 ZToKKyAgIFNhbmRib3hlZFBhcmVudFByb2Nlc3MqIHBhcmVudF9wcm9jZXNzXzsKKysgIGJhc2U6 Ondpbjo6U2NvcGVkSGFuZGxlIGNoaWxkX3N0ZG91dF93cml0ZV9oYW5kbGVfOworIH07CisgCisg fSAgLy8gbmFtZXNwYWNlCisgCisgbmFtZXNwYWNlIGludGVybmFsIHsKKyAKKy1iYXNlOjpGaWxl UGF0aDo6U3RyaW5nUGllY2VUeXBlIEdldExvZ1BhdGhTdWZmaXgoKSB7CistICByZXR1cm4ga0lQ Q1Rlc3RVdGlsTG9nU3VmZml4OworLX0KKy0KKy1iYXNlOjpGaWxlUGF0aCBHZXRMb2dQYXRoKCkg eworLSAgcmV0dXJuIFNjb3BlZExvZ2dpbmc6OkdldExvZ0ZpbGVQYXRoKGtJUENUZXN0VXRpbExv Z1N1ZmZpeCk7CistfQorLQorLWJvb2wgRGVsZXRlQ2hpbGRQcm9jZXNzTG9ncygpIHsKKy0gIC8v IERlbGV0ZSB0aGUgY2hpbGQgcHJvY2VzcyBsb2cgZmlsZSBpZiBleGlzdGluZy4KKy0gIGNvbnN0 IGJhc2U6OkZpbGVQYXRoIGxvZ19wYXRoID0gR2V0TG9nUGF0aCgpOworLSAgaWYgKCFiYXNlOjpE ZWxldGVGaWxlKGxvZ19wYXRoLCBmYWxzZSkpIHsKKy0gICAgTE9HKEVSUk9SKSA8PCAiQ2FuJ3Qg ZGVsZXRlIGxvZyBmaWxlIGZyb20gcHJldmlvdXMgcnVuOiAiCistICAgICAgICAgICAgICAgPDwg bG9nX3BhdGgudmFsdWUoKTsKKy0gICAgcmV0dXJuIGZhbHNlOworLSAgfQorLSAgcmV0dXJuIHRy dWU7CistfQorLQorLXZvaWQgUHJpbnRDaGlsZFByb2Nlc3NMb2dzKCkgeworLSAgY29uc3QgYmFz ZTo6RmlsZVBhdGggbG9nX3BhdGggPSBHZXRMb2dQYXRoKCk7Cisrdm9pZCBQcmludENoaWxkUHJv Y2Vzc0xvZ3MoY29uc3QgYmFzZTo6RmlsZVBhdGgmIGxvZ19wYXRoKSB7CisgICBpZiAobG9nX3Bh dGguZW1wdHkoKSkgeworICAgICBMT0coRVJST1IpIDw8ICJDaGlsZCBwcm9jZXNzIGxvZyBwYXRo IGlzIGVtcHR5IjsKKyAgICAgcmV0dXJuOworQEAgLTE3NCwxMSArMTU4LDM4IEBAIGJvb2wgUGFy ZW50UHJvY2Vzczo6TGF1bmNoQ29ubmVjdGVkQ2hpbGRQcm9jZXNzKAorICAgICBjb25zdCBzdGQ6 OnN0cmluZyYgY2hpbGRfbWFpbl9mdW5jdGlvbiwKKyAgICAgYmFzZTo6VGltZURlbHRhIHRpbWVv dXQsCisgICAgIGludDMyX3QqIGV4aXRfY29kZSkgeworLSAgaWYgKCFpbnRlcm5hbDo6RGVsZXRl Q2hpbGRQcm9jZXNzTG9ncygpKQorKyAgLy8gQWRhcHRlZCBmcm9tCisrICAvLyBodHRwczovL2Nz LmNocm9taXVtLm9yZy9jaHJvbWl1bS9zcmMvc2FuZGJveC93aW4vc3JjL2hhbmRsZV9pbmhlcml0 YW5jZV90ZXN0LmNjCisrICBiYXNlOjpTY29wZWRUZW1wRGlyIHRlbXBfZGlyOworKyAgaWYgKCF0 ZW1wX2Rpci5DcmVhdGVVbmlxdWVUZW1wRGlyKCkpIHsKKysgICAgUExPRyhFUlJPUikgPDwgIkNv dWxkIG5vdCBjcmVhdGUgdGVtcCBkaXIgZm9yIGNoaWxkIHN0ZG91dCI7CisrICAgIHJldHVybiBm YWxzZTsKKysgIH0KKysKKysgIGJhc2U6OkZpbGVQYXRoIHRlbXBfZmlsZV9uYW1lOworKyAgaWYg KCFDcmVhdGVUZW1wb3JhcnlGaWxlSW5EaXIodGVtcF9kaXIuR2V0UGF0aCgpLCAmdGVtcF9maWxl X25hbWUpKSB7CisrICAgIFBMT0coRVJST1IpIDw8ICJDb3VsZCBub3QgY3JlYXRlIHRlbXAgZmls ZSBmb3IgY2hpbGQgc3Rkb3V0IjsKKysgICAgcmV0dXJuIGZhbHNlOworKyAgfQorKworKyAgU0VD VVJJVFlfQVRUUklCVVRFUyBhdHRycyA9IHt9OworKyAgYXR0cnMubkxlbmd0aCA9IHNpemVvZihh dHRycyk7CisrICBhdHRycy5iSW5oZXJpdEhhbmRsZSA9IHRydWU7CisrCisrICBiYXNlOjp3aW46 OlNjb3BlZEhhbmRsZSBjaGlsZF9zdGRvdXRfd3JpdGVfaGFuZGxlKAorKyAgICAgIDo6Q3JlYXRl RmlsZSh0ZW1wX2ZpbGVfbmFtZS52YWx1ZSgpLmNfc3RyKCksIEdFTkVSSUNfV1JJVEUsCisrICAg ICAgICAgICAgICAgICAgIEZJTEVfU0hBUkVfV1JJVEUgfCBGSUxFX1NIQVJFX1JFQUQgfCBGSUxF X1NIQVJFX0RFTEVURSwKKysgICAgICAgICAgICAgICAgICAgJmF0dHJzLCBPUEVOX0VYSVNUSU5H LCAwLCBudWxscHRyKSk7CisrICBpZiAoIWNoaWxkX3N0ZG91dF93cml0ZV9oYW5kbGUuSXNWYWxp ZCgpKSB7CisrICAgIFBMT0coRVJST1IpIDw8ICJDb3VsZCBub3Qgb3BlbiBjaGlsZCBzdGRvdXQg ZmlsZSI7CisgICAgIHJldHVybiBmYWxzZTsKKysgIH0KKyAKKy0gIGlmICghUHJlcGFyZUFuZExh dW5jaFRlc3RDaGlsZFByb2Nlc3MoY2hpbGRfbWFpbl9mdW5jdGlvbikpCisrICBpZiAoIVByZXBh cmVBbmRMYXVuY2hUZXN0Q2hpbGRQcm9jZXNzKGNoaWxkX21haW5fZnVuY3Rpb24sCisrICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZDo6bW92ZShjaGlsZF9zdGRvdXRf d3JpdGVfaGFuZGxlKSkpIHsKKysgICAgaW50ZXJuYWw6OlByaW50Q2hpbGRQcm9jZXNzTG9ncyh0 ZW1wX2ZpbGVfbmFtZSk7CisgICAgIHJldHVybiBmYWxzZTsKKysgIH0KKyAKKyAgIENyZWF0ZUlt cGxPbklQQ1RocmVhZChzdGQ6Om1vdmUobW9qb19waXBlXykpOworICAgY29uc3QgYm9vbCBzdWNj ZXNzID0gYmFzZTo6V2FpdEZvck11bHRpcHJvY2Vzc1Rlc3RDaGlsZEV4aXQoCitAQCAtMTg5LDIx ICsyMDAsMzIgQEAgYm9vbCBQYXJlbnRQcm9jZXNzOjpMYXVuY2hDb25uZWN0ZWRDaGlsZFByb2Nl c3MoCisgICB9CisgICBEZXN0cm95SW1wbE9uSVBDVGhyZWFkKCk7CisgCistICBpZiAoIXN1Y2Nl c3MgfHwgKmV4aXRfY29kZSAhPSAwKQorLSAgICBpbnRlcm5hbDo6UHJpbnRDaGlsZFByb2Nlc3NM b2dzKCk7CisrICBpZiAoIXN1Y2Nlc3MgfHwgKmV4aXRfY29kZSAhPSAwKSB7CisrICAgIGludGVy bmFsOjpQcmludENoaWxkUHJvY2Vzc0xvZ3ModGVtcF9maWxlX25hbWUpOworKyAgfQorIAorICAg cmV0dXJuIHN1Y2Nlc3M7CisgfQorIAorIGJvb2wgUGFyZW50UHJvY2Vzczo6UHJlcGFyZUFuZExh dW5jaFRlc3RDaGlsZFByb2Nlc3MoCistICAgIGNvbnN0IHN0ZDo6c3RyaW5nJiBjaGlsZF9tYWlu X2Z1bmN0aW9uKSB7CisrICAgIGNvbnN0IHN0ZDo6c3RyaW5nJiBjaGlsZF9tYWluX2Z1bmN0aW9u LAorKyAgICBiYXNlOjp3aW46OlNjb3BlZEhhbmRsZSBjaGlsZF9zdGRvdXRfd3JpdGVfaGFuZGxl KSB7CisgICBiYXNlOjpMYXVuY2hPcHRpb25zIGxhdW5jaF9vcHRpb25zOworICAgbGF1bmNoX29w dGlvbnMuaGFuZGxlc190b19pbmhlcml0ID0gZXh0cmFfaGFuZGxlc190b19pbmhlcml0XzsKKysg IGxhdW5jaF9vcHRpb25zLmhhbmRsZXNfdG9faW5oZXJpdC5wdXNoX2JhY2soY2hpbGRfc3Rkb3V0 X3dyaXRlX2hhbmRsZS5HZXQoKSk7CisrICBsYXVuY2hfb3B0aW9ucy5zdGRpbl9oYW5kbGUgPSBJ TlZBTElEX0hBTkRMRV9WQUxVRTsKKysgIGxhdW5jaF9vcHRpb25zLnN0ZG91dF9oYW5kbGUgPSBj aGlsZF9zdGRvdXRfd3JpdGVfaGFuZGxlLkdldCgpOworKyAgbGF1bmNoX29wdGlvbnMuc3RkZXJy X2hhbmRsZSA9IGNoaWxkX3N0ZG91dF93cml0ZV9oYW5kbGUuR2V0KCk7CisrCisgICBDcmVhdGVN b2pvUGlwZSgmY29tbWFuZF9saW5lXywgJmxhdW5jaF9vcHRpb25zLmhhbmRsZXNfdG9faW5oZXJp dCk7CisgCisgICBiYXNlOjpQcm9jZXNzIGNoaWxkX3Byb2Nlc3MgPSBiYXNlOjpTcGF3bk11bHRp UHJvY2Vzc1Rlc3RDaGlsZCgKKyAgICAgICBjaGlsZF9tYWluX2Z1bmN0aW9uLCBjb21tYW5kX2xp bmVfLCBsYXVuY2hfb3B0aW9ucyk7CisgCisrICAvLyBOb3cgdGhhdCBpdCdzIGJlZW4gcGFzc2Vk IHRvIHRoZSBjaGlsZCBwcm9jZXNzLAorKyAgLy8gfGNoaWxkX3N0ZG91dF93cml0ZV9oYW5kbGV8 IGNhbiBiZSBjbG9zZWQgaW4gdGhpcyBwcm9jZXNzIGFzIGl0IGdvZXMgb3V0CisrICAvLyBvZiBz Y29wZS4KKysKKyAgIENvbm5lY3RNb2pvUGlwZShzdGQ6Om1vdmUoY2hpbGRfcHJvY2VzcykpOwor ICAgcmV0dXJuIHRydWU7CisgfQorQEAgLTIzNSw4ICsyNTcsOSBAQCBTYW5kYm94ZWRQYXJlbnRQ cm9jZXNzOjpTYW5kYm94ZWRQYXJlbnRQcm9jZXNzKAorIFNhbmRib3hlZFBhcmVudFByb2Nlc3M6 On5TYW5kYm94ZWRQYXJlbnRQcm9jZXNzKCkge30KKyAKKyBib29sIFNhbmRib3hlZFBhcmVudFBy b2Nlc3M6OlByZXBhcmVBbmRMYXVuY2hUZXN0Q2hpbGRQcm9jZXNzKAorLSAgICBjb25zdCBzdGQ6 OnN0cmluZyYgY2hpbGRfbWFpbl9mdW5jdGlvbikgeworLSAgTW9qb1NhbmRib3hTZXR1cEhvb2tz IGhvb2tzKHRoaXMpOworKyAgICBjb25zdCBzdGQ6OnN0cmluZyYgY2hpbGRfbWFpbl9mdW5jdGlv biwKKysgICAgYmFzZTo6d2luOjpTY29wZWRIYW5kbGUgY2hpbGRfc3Rkb3V0X3dyaXRlX2hhbmRs ZSkgeworKyAgTW9qb1NhbmRib3hTZXR1cEhvb2tzIGhvb2tzKHRoaXMsIHN0ZDo6bW92ZShjaGls ZF9zdGRvdXRfd3JpdGVfaGFuZGxlKSk7CisgCisgICAvLyBUaGlzIHN3aXRjaCB1c2FnZSBpcyBj b3BpZWQgZnJvbSBTcGF3bk11bHRpUHJvY2Vzc1Rlc3RDaGlsZC4KKyAgIC8vCitAQCAtMjU4LDgg KzI4MSw3IEBAIGJvb2wgU2FuZGJveGVkUGFyZW50UHJvY2Vzczo6UHJlcGFyZUFuZExhdW5jaFRl c3RDaGlsZFByb2Nlc3MoCisgCisgQ2hpbGRQcm9jZXNzOjpDaGlsZFByb2Nlc3Moc2NvcGVkX3Jl ZnB0cjxNb2pvVGFza1J1bm5lcj4gbW9qb190YXNrX3J1bm5lcikKKyAgICAgOiBtb2pvX3Rhc2tf cnVubmVyXyhtb2pvX3Rhc2tfcnVubmVyKSwKKy0gICAgICBjb21tYW5kX2xpbmVfKGJhc2U6OkNv bW1hbmRMaW5lOjpGb3JDdXJyZW50UHJvY2VzcygpKSwKKy0gICAgICBzY29wcGVkX2xvZ2dpbmdf KG5ldyBTY29wZWRMb2dnaW5nKGtJUENUZXN0VXRpbExvZ1N1ZmZpeCkpIHsKKysgICAgICBjb21t YW5kX2xpbmVfKGJhc2U6OkNvbW1hbmRMaW5lOjpGb3JDdXJyZW50UHJvY2VzcygpKSB7CisgICBz YW5kYm94OjpUYXJnZXRTZXJ2aWNlcyogdGFyZ2V0X3NlcnZpY2VzID0KKyAgICAgICBzYW5kYm94 OjpTYW5kYm94RmFjdG9yeTo6R2V0VGFyZ2V0U2VydmljZXMoKTsKKyAgIGlmICghdGFyZ2V0X3Nl cnZpY2VzKQorZGlmZiAtLWdpdCBhL2Nocm9tZS9jaHJvbWVfY2xlYW5lci9pcGMvaXBjX3Rlc3Rf dXRpbC5oIGIvY2hyb21lL2Nocm9tZV9jbGVhbmVyL2lwYy9pcGNfdGVzdF91dGlsLmgKK2luZGV4 IDk3ZjIwNzJhMDkxNjUuLjFiMmU1NTk4ZWQ1MmEgMTAwNjQ0CistLS0gYS9jaHJvbWUvY2hyb21l X2NsZWFuZXIvaXBjL2lwY190ZXN0X3V0aWwuaAorKysrIGIvY2hyb21lL2Nocm9tZV9jbGVhbmVy L2lwYy9pcGNfdGVzdF91dGlsLmgKK0BAIC0xNCw5ICsxNCw5IEBACisgI2luY2x1ZGUgImJhc2Uv cHJvY2Vzcy9sYXVuY2guaCIKKyAjaW5jbHVkZSAiYmFzZS9wcm9jZXNzL3Byb2Nlc3MuaCIKKyAj aW5jbHVkZSAiYmFzZS90aW1lL3RpbWUuaCIKKysjaW5jbHVkZSAiYmFzZS93aW4vc2NvcGVkX2hh bmRsZS5oIgorICNpbmNsdWRlICJjaHJvbWUvY2hyb21lX2NsZWFuZXIvaXBjL2Nocm9tZV9wcm9t cHRfaXBjLmgiCisgI2luY2x1ZGUgImNocm9tZS9jaHJvbWVfY2xlYW5lci9pcGMvbW9qb190YXNr X3J1bm5lci5oIgorLSNpbmNsdWRlICJjaHJvbWUvY2hyb21lX2NsZWFuZXIvbG9nZ2luZy9zY29w ZWRfbG9nZ2luZy5oIgorICNpbmNsdWRlICJtb2pvL3B1YmxpYy9jcHAvcGxhdGZvcm0vcGxhdGZv cm1fY2hhbm5lbC5oIgorICNpbmNsdWRlICJtb2pvL3B1YmxpYy9jcHAvc3lzdGVtL2ludml0YXRp b24uaCIKKyAjaW5jbHVkZSAibW9qby9wdWJsaWMvY3BwL3N5c3RlbS9tZXNzYWdlX3BpcGUuaCIK K0BAIC03MCw3ICs3MCw4IEBAIGNsYXNzIFBhcmVudFByb2Nlc3MgOiBwdWJsaWMgYmFzZTo6UmVm Q291bnRlZFRocmVhZFNhZmU8UGFyZW50UHJvY2Vzcz4geworICAgLy8gYXMgaW4gdGhlIHNhbmRi b3guIFN1YmNsYXNzZXMgc2hvdWxkIGNhbGwgQ3JlYXRlTW9qb1BpcGUgYmVmb3JlIHRoZQorICAg Ly8gc3VicHJvY2VzcyBpcyBzcGF3bmVkIGFuZCBDb25uZWN0TW9qb1BpcGUgYWZ0ZXJ3YXJkLgor ICAgdmlydHVhbCBib29sIFByZXBhcmVBbmRMYXVuY2hUZXN0Q2hpbGRQcm9jZXNzKAorLSAgICAg IGNvbnN0IHN0ZDo6c3RyaW5nJiBjaGlsZF9tYWluX2Z1bmN0aW9uKTsKKysgICAgICBjb25zdCBz dGQ6OnN0cmluZyYgY2hpbGRfbWFpbl9mdW5jdGlvbiwKKysgICAgICBiYXNlOjp3aW46OlNjb3Bl ZEhhbmRsZSBjaGlsZF9zdGRvdXRfd3JpdGVfaGFuZGxlKTsKKyAKKyAgIHNjb3BlZF9yZWZwdHI8 TW9qb1Rhc2tSdW5uZXI+IG1vam9fdGFza19ydW5uZXIoKTsKKyAKK0BAIC05NSw3ICs5Niw4IEBA IGNsYXNzIFNhbmRib3hlZFBhcmVudFByb2Nlc3MgOiBwdWJsaWMgUGFyZW50UHJvY2VzcyB7Cisg ICB+U2FuZGJveGVkUGFyZW50UHJvY2VzcygpIG92ZXJyaWRlOworIAorICAgYm9vbCBQcmVwYXJl QW5kTGF1bmNoVGVzdENoaWxkUHJvY2VzcygKKy0gICAgICBjb25zdCBzdGQ6OnN0cmluZyYgY2hp bGRfbWFpbl9mdW5jdGlvbikgb3ZlcnJpZGU7CisrICAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIGNo aWxkX21haW5fZnVuY3Rpb24sCisrICAgICAgYmFzZTo6d2luOjpTY29wZWRIYW5kbGUgY2hpbGRf c3Rkb3V0X3dyaXRlX2hhbmRsZSkgb3ZlcnJpZGU7CisgfTsKKyAKKyBjbGFzcyBDaGlsZFByb2Nl c3MgOiBwdWJsaWMgYmFzZTo6UmVmQ291bnRlZFRocmVhZFNhZmU8Q2hpbGRQcm9jZXNzPiB7CitA QCAtMTIwLDcgKzEyMiw2IEBAIGNsYXNzIENoaWxkUHJvY2VzcyA6IHB1YmxpYyBiYXNlOjpSZWZD b3VudGVkVGhyZWFkU2FmZTxDaGlsZFByb2Nlc3M+IHsKKyAKKyAgcHJpdmF0ZToKKyAgIGJhc2U6 OkNvbW1hbmRMaW5lKiBjb21tYW5kX2xpbmVfOworLSAgc3RkOjp1bmlxdWVfcHRyPFNjb3BlZExv Z2dpbmc+IHNjb3BwZWRfbG9nZ2luZ187CisgCisgICAvLyBUaGlzIHdpbGwgYmUgdHJ1ZSBpZmYg dGhlIHByb2Nlc3MgaXMgcnVubmluZyBpbiBhIHNhbmRib3ggYW5kCisgICAvLyBUYXJnZXRTZXJ2 aWNlcyB3YXMgaW5pdGlhbGl6ZWQgc3VjY2Vzc2Z1bGx5LgorQEAgLTE0Myw5ICsxNDQsNyBAQCBj bGFzcyBDaHJvbWVQcm9tcHRJUENUZXN0RXJyb3JIYW5kbGVyIDogcHVibGljIENocm9tZVByb21w dElQQzo6RXJyb3JIYW5kbGVyIHsKKyB9OworIAorIG5hbWVzcGFjZSBpbnRlcm5hbCB7CistYmFz ZTo6RmlsZVBhdGg6OlN0cmluZ1BpZWNlVHlwZSBHZXRMb2dQYXRoU3VmZml4KCk7CistYm9vbCBE ZWxldGVDaGlsZFByb2Nlc3NMb2dzKCk7Cistdm9pZCBQcmludENoaWxkUHJvY2Vzc0xvZ3MoKTsK Kyt2b2lkIFByaW50Q2hpbGRQcm9jZXNzTG9ncyhjb25zdCBiYXNlOjpGaWxlUGF0aCYgbG9nX2Zp bGUpOworIH0gIC8vIG5hbWVzcGFjZSBpbnRlcm5hbAorIAorIH0gIC8vIG5hbWVzcGFjZSBjaHJv bWVfY2xlYW5lcgorZGlmZiAtLWdpdCBhL2Nocm9tZS9jaHJvbWVfY2xlYW5lci9pcGMvcHJvdG9f Y2hyb21lX3Byb21wdF9pcGNfdW5pdHRlc3QuY2MgYi9jaHJvbWUvY2hyb21lX2NsZWFuZXIvaXBj L3Byb3RvX2Nocm9tZV9wcm9tcHRfaXBjX3VuaXR0ZXN0LmNjCitpbmRleCAxYzdiNGM1NzVlYjNk Li5mODY3ZGY1OGY5NmVhIDEwMDY0NAorLS0tIGEvY2hyb21lL2Nocm9tZV9jbGVhbmVyL2lwYy9w cm90b19jaHJvbWVfcHJvbXB0X2lwY191bml0dGVzdC5jYworKysrIGIvY2hyb21lL2Nocm9tZV9j bGVhbmVyL2lwYy9wcm90b19jaHJvbWVfcHJvbXB0X2lwY191bml0dGVzdC5jYworQEAgLTUsNiAr NSw3IEBACisgI2luY2x1ZGUgPHdpbmRvd3MuaD4KKyAKKyAjaW5jbHVkZSAiYmFzZS9jb21tYW5k X2xpbmUuaCIKKysjaW5jbHVkZSAiYmFzZS9maWxlcy9maWxlX3V0aWwuaCIKKyAjaW5jbHVkZSAi YmFzZS9wcm9jZXNzL3Byb2Nlc3MuaCIKKyAjaW5jbHVkZSAiYmFzZS9zdHJpbmdzL3N0cmNhdC5o IgorICNpbmNsdWRlICJiYXNlL3N0cmluZ3Mvc3RyaW5nX251bWJlcl9jb252ZXJzaW9ucy5oIgor QEAgLTQxLDggKzQyLDkgQEAgY29uc3RleHByIGNoYXIga0V4cGVjdGVkUHJvbXB0UmVzdWx0U3dp dGNoW10gPSAiZXhwZWN0ZWQtcHJvbXB0LXJlc3VsdCI7CisgY29uc3RleHByIGNoYXIga0V4cGVj dGVkQ2hyb21lRGlzY29ubmVjdFBvaW50U3dpdGNoW10gPQorICAgICAiZXhwZWN0ZWQtcGFyZW50 LWRpc2Nvbm5lY3RlZCI7CisgCistY29uc3QgYmFzZTo6Y2hhcjE2IGtJbnZhbGlkVVRGMTZTdHJp bmdbXSA9IHsweERDMDAsIDB4RDgwMCwgMHhEODAwLCAweERGRkYsCistICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweERGRkYsIDB4REJGRiwgMH07CisrY29uc3Rl eHByIGJhc2U6OmNoYXIxNiBrTG9nU3VmZml4W10gPSBMInByb21wdC1pcGMtdGVzdCI7CisrY29u c3RleHByIGJhc2U6OmNoYXIxNiBrSW52YWxpZFVURjE2U3RyaW5nW10gPSB7MHhEQzAwLCAweEQ4 MDAsIDB4RDgwMCwgMHhERkZGLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDB4REZGRiwgMHhEQkZGLCAwfTsKKyBjb25zdCBiYXNlOjpGaWxlUGF0aCBr SW52YWxpZEZpbGVQYXRoKGtJbnZhbGlkVVRGMTZTdHJpbmcpOworIGNvbnN0IGJhc2U6OkZpbGVQ YXRoIGtOb25BU0NJSUZpbGVQYXRoKEwiw6nDqcOgw6DDp8OnIik7CisgY29uc3QgYmFzZTo6c3Ry aW5nMTYga0ludmFsaWRSZWdpc3RyeUtleShrSW52YWxpZFVURjE2U3RyaW5nKTsKK0BAIC00MjAs OCArNDIyLDcgQEAgY2xhc3MgTW9ja0Nocm9tZSB7CisgY2xhc3MgQ2hpbGRQcm9jZXNzIHsKKyAg cHVibGljOgorICAgQ2hpbGRQcm9jZXNzKCkKKy0gICAgICA6IHNjb3BwZWRfbG9nZ2luZ18oCist ICAgICAgICAgICAgc3RkOjptYWtlX3VuaXF1ZTxTY29wZWRMb2dnaW5nPihpbnRlcm5hbDo6R2V0 TG9nUGF0aFN1ZmZpeCgpKSkgeworKyAgICAgIDogc2NvcHBlZF9sb2dnaW5nXyhzdGQ6Om1ha2Vf dW5pcXVlPFNjb3BlZExvZ2dpbmc+KGtMb2dTdWZmaXgpKSB7CisgICAgIG1vY2tfY2hyb21lXyA9 IHN0ZDo6bWFrZV91bmlxdWU8TW9ja0Nocm9tZT4oCisgICAgICAgICBFeHRyYWN0SGFuZGxlRnJv bUNvbW1hbmRMaW5lKGNocm9tZV9jbGVhbmVyOjprQ2hyb21lUmVhZEhhbmRsZVN3aXRjaCksCisg ICAgICAgICBFeHRyYWN0SGFuZGxlRnJvbUNvbW1hbmRMaW5lKGNocm9tZV9jbGVhbmVyOjprQ2hy b21lV3JpdGVIYW5kbGVTd2l0Y2gpKTsKK0BAIC02MzAsNyArNjMxLDEwIEBAIGNsYXNzIFBhcmVu dFByb2Nlc3MgeworICAgfQorIAorICAgdm9pZCBSdW4oKSB7CistICAgIEFTU0VSVF9UUlVFKGlu dGVybmFsOjpEZWxldGVDaGlsZFByb2Nlc3NMb2dzKCkpOworKyAgICAvLyBEZWxldGUgdGhlIGNo aWxkIHByb2Nlc3MgbG9nIGZpbGUgaWYgZXhpc3RpbmcuCisrICAgIGNvbnN0IGJhc2U6OkZpbGVQ YXRoIGxvZ19wYXRoID0gU2NvcGVkTG9nZ2luZzo6R2V0TG9nRmlsZVBhdGgoa0xvZ1N1ZmZpeCk7 CisrICAgIEFTU0VSVF9UUlVFKGJhc2U6OkRlbGV0ZUZpbGUobG9nX3BhdGgsIGZhbHNlKSkKKysg ICAgICAgIDw8ICJDYW4ndCBkZWxldGUgbG9nIGZpbGUgZnJvbSBwcmV2aW91cyBydW46ICIgPDwg bG9nX3BhdGgudmFsdWUoKTsKKyAKKyAgICAgLy8gUGFzcyB0aGUgY29tbWFuZCB0byB0aGUgY2hp bGQgcHJvY2VzcyBhbmQgbGF1bmNoIHRoZSBjaGlsZCBwcm9jZXNzLgorICAgICBiYXNlOjpQcm9j ZXNzIGNoaWxkX3Byb2Nlc3MgPSBiYXNlOjpTcGF3bk11bHRpUHJvY2Vzc1Rlc3RDaGlsZCgKK0BA IC03MDIsNyArNzA2LDggQEAgY2xhc3MgUGFyZW50UHJvY2VzcyB7CisgICAgIEVYUEVDVF9FUShl eHBlY3RlZF9leGl0X2NvZGUsIHJ2KTsKKyAKKyAgICAgaWYgKCFzdWNjZXNzIHx8IHJ2ICE9IDAp IHsKKy0gICAgICBpbnRlcm5hbDo6UHJpbnRDaGlsZFByb2Nlc3NMb2dzKCk7CisrICAgICAgaW50 ZXJuYWw6OlByaW50Q2hpbGRQcm9jZXNzTG9ncygKKysgICAgICAgICAgU2NvcGVkTG9nZ2luZzo6 R2V0TG9nRmlsZVBhdGgoa0xvZ1N1ZmZpeCkpOworICAgICB9CisgICB9CisgCitkaWZmIC0tZ2l0 IGEvY2hyb21lL2Nocm9tZV9jbGVhbmVyL2lwYy9zYW5kYm94LmNjIGIvY2hyb21lL2Nocm9tZV9j bGVhbmVyL2lwYy9zYW5kYm94LmNjCitpbmRleCAxNTRiZDA1YzUxMDY2Li5mYWZhZDRmMGM2MTg4 IDEwMDY0NAorLS0tIGEvY2hyb21lL2Nocm9tZV9jbGVhbmVyL2lwYy9zYW5kYm94LmNjCisrKysg Yi9jaHJvbWUvY2hyb21lX2NsZWFuZXIvaXBjL3NhbmRib3guY2MKK0BAIC0yODAsOCArMjgwLDkg QEAgUmVzdWx0Q29kZSBTdGFydFNhbmRib3hUYXJnZXQoY29uc3QgYmFzZTo6Q29tbWFuZExpbmUm IHNhbmRib3hfY29tbWFuZF9saW5lLAorICAgICAgICZsYXN0X3dpbl9lcnJvciwgJnRlbXBfcHJv Y2Vzc19pbmZvKTsKKyAgIGlmIChzYW5kYm94X3Jlc3VsdCAhPSBzYW5kYm94OjpTQk9YX0FMTF9P SykgeworICAgICBMT0coREZBVEFMKSA8PCAiRmFpbGVkIHRvIHNwYXduIHNhbmRib3ggdGFyZ2V0 OiAiIDw8IHNhbmRib3hfcmVzdWx0CistICAgICAgICAgICAgICAgIDw8ICIgLCBsYXN0IHNhbmRi b3ggd2FybmluZyA6ICIgPDwgbGFzdF9zYm94X3dhcm5pbmcKKy0gICAgICAgICAgICAgICAgPDwg IiAsIGxhc3Qgd2luZG93cyBlcnJvcjogIiA8PCBsYXN0X3dpbl9lcnJvcjsKKysgICAgICAgICAg ICAgICAgPDwgIiwgbGFzdCBzYW5kYm94IHdhcm5pbmc6ICIgPDwgbGFzdF9zYm94X3dhcm5pbmcK KysgICAgICAgICAgICAgICAgPDwgIiwgbGFzdCB3aW5kb3dzIGVycm9yOiAiCisrICAgICAgICAg ICAgICAgIDw8IGxvZ2dpbmc6OlN5c3RlbUVycm9yQ29kZVRvU3RyaW5nKGxhc3Rfd2luX2Vycm9y KTsKKyAgICAgcmV0dXJuIFJFU1VMVF9DT0RFX0ZBSUxFRF9UT19TVEFSVF9TQU5EQk9YX1BST0NF U1M7CisgICB9CisgCmRpZmYgLS1naXQgYS9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9wYXRjaGVz L2Nocm9taXVtLTAwMy11cHN0cmVhbV9tb3ZlX2NoaWxkX3Byb2Nlc3NfbG9nLnBhdGNoLnBhdGNo IGIvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9jaHJvbWl1bS0wMDMtdXBzdHJlYW1f bW92ZV9jaGlsZF9wcm9jZXNzX2xvZy5wYXRjaC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAwMC4uNTE4Yjk1NWEwYjAKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dz L2VsZWN0cm9uNy9maWxlcy9wYXRjaGVzL2Nocm9taXVtLTAwMy11cHN0cmVhbV9tb3ZlX2NoaWxk X3Byb2Nlc3NfbG9nLnBhdGNoLnBhdGNoCkBAIC0wLDAgKzEsNzMwIEBACitGcm9tIDcyNmNiZmNm YWE1MjFlOWU1MDk4ODI5MTk1YTdkOWE5YzE5Y2EzOTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CitGcm9tOiBKb2UgTWFzb24gPGpvZW5vdGNoYXJsZXNAZ29vZ2xlLmNvbT4KK0RhdGU6IFdlZCwg NCBEZWMgMjAxOSAxODoxNTozNiArMDAwMAorU3ViamVjdDogW1BBVENIXSBNb3ZlIGNoaWxkIHBy b2Nlc3MgbG9nIGNhcHR1cmUgdG8gYSBDaGlsZFByb2Nlc3NMb2dnZXIgY2xhc3MuCitNSU1FLVZl cnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250 ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1VwZGF0ZSBjb21tZW50cyB0byBjbGFyaWZ5 IGhvdyB0aGUgY2hpbGQgcHJvY2VzcyBsb2cgaW50ZXJhY3RzIHdpdGgKK1Njb3BlZExvZ2dpbmcu CisKK1VzZSB0aGUgbmV3IGNsYXNzIHRvIGNhcHR1cmUgbG9ncyBpbiBjbGVhbmVyX3Rlc3QuY2Ms CitzZWN1cmVfZGxsX2xvYWRpbmdfdGVzdC5jYyBhbmQgcHJvdG9fY2hyb21lX3Byb21wdF9pcGNf dW5pdHRlc3QuY2MuCisKK1I94oCLcHJvYmVyZ2UKKworKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21t aXQgMDYzNjAwMjI5ZmI3ZGM0NzJmZjY2ODM5YmEyNjU3YmY5OWI5ODg1MCkKKworQnVnOiAxMDMw MzMzCitDaGFuZ2UtSWQ6IEk4OGY1MzhmZjM2MGJiOGVkOWRhNjc0M2RjNWQ2YzRiMjYzYWY5OTJj CitSZXZpZXdlZC1vbjogaHR0cHM6Ly9jaHJvbWl1bS1yZXZpZXcuZ29vZ2xlc291cmNlLmNvbS9j L2Nocm9taXVtL3NyYy8rLzE5NDc5ODYKK0NvbW1pdC1RdWV1ZTogSm9lIE1hc29uIDxqb2Vub3Rj aGFybGVzQGNocm9taXVtLm9yZz4KK1Jldmlld2VkLWJ5OiBwcm9iZXJnZSA8cHJvYmVyZ2VAY2hy b21pdW0ub3JnPgorQ3ItT3JpZ2luYWwtQ29tbWl0LVBvc2l0aW9uOiByZWZzL2hlYWRzL21hc3Rl ckB7IzcyMTE4NH0KK1Jldmlld2VkLW9uOiBodHRwczovL2Nocm9taXVtLXJldmlldy5nb29nbGVz b3VyY2UuY29tL2MvY2hyb21pdW0vc3JjLysvMTk0OTYzMQorUmV2aWV3ZWQtYnk6IEpvZSBNYXNv biA8am9lbm90Y2hhcmxlc0BjaHJvbWl1bS5vcmc+CitDci1Db21taXQtUG9zaXRpb246IHJlZnMv YnJhbmNoLWhlYWRzLzM5MDRAeyM5MTR9CitDci1CcmFuY2hlZC1Gcm9tOiA2NzU5NjhhOGM2NTdh M2JkOWMxYzJjMjBjNWQyOTM1NTc3YmJjNWU2LXJlZnMvaGVhZHMvbWFzdGVyQHsjNjkzOTU0fQor LS0tCisgY2hyb21lL2Nocm9tZV9jbGVhbmVyL2lwYy9CVUlMRC5nbiAgICAgICAgICAgIHwgIDEg KworIGNocm9tZS9jaHJvbWVfY2xlYW5lci9pcGMvaXBjX3Rlc3RfdXRpbC5jYyAgICB8IDk4ICsr Ky0tLS0tLS0tLS0tLS0tLS0KKyBjaHJvbWUvY2hyb21lX2NsZWFuZXIvaXBjL2lwY190ZXN0X3V0 aWwuaCAgICAgfCAxNyArKy0tCisgLi4uL2lwYy9wcm90b19jaHJvbWVfcHJvbXB0X2lwY191bml0 dGVzdC5jYyAgIHwgMjYgKysrLS0KKyBjaHJvbWUvY2hyb21lX2NsZWFuZXIvdGVzdC9CVUlMRC5n biAgICAgICAgICAgfCAgMyArCisgLi4uL3Rlc3QvY2hpbGRfcHJvY2Vzc19sb2dnZXIuY2MgICAg ICAgICAgICAgIHwgOTAgKysrKysrKysrKysrKysrKysKKyAuLi4vdGVzdC9jaGlsZF9wcm9jZXNz X2xvZ2dlci5oICAgICAgICAgICAgICAgfCA2MiArKysrKysrKysrKysKKyBjaHJvbWUvY2hyb21l X2NsZWFuZXIvdGVzdC9jbGVhbmVyX3Rlc3QuY2MgICAgfCAxNCArKy0KKyAuLi4vdGVzdC9zZWN1 cmVfZGxsX2xvYWRpbmdfdGVzdC5jYyAgICAgICAgICAgfCA1NyArKy0tLS0tLS0tLQorIDkgZmls ZXMgY2hhbmdlZCwgMjA3IGluc2VydGlvbnMoKyksIDE2MSBkZWxldGlvbnMoLSkKKyBjcmVhdGUg bW9kZSAxMDA2NDQgY2hyb21lL2Nocm9tZV9jbGVhbmVyL3Rlc3QvY2hpbGRfcHJvY2Vzc19sb2dn ZXIuY2MKKyBjcmVhdGUgbW9kZSAxMDA2NDQgY2hyb21lL2Nocm9tZV9jbGVhbmVyL3Rlc3QvY2hp bGRfcHJvY2Vzc19sb2dnZXIuaAorCitkaWZmIC0tZ2l0IGEvY2hyb21lL2Nocm9tZV9jbGVhbmVy L2lwYy9CVUlMRC5nbiBiL2Nocm9tZS9jaHJvbWVfY2xlYW5lci9pcGMvQlVJTEQuZ24KK2luZGV4 IDAzZmRkZmQ4NzM2ZTEuLjRkODE4MDNhMjRkZjYgMTAwNjQ0CistLS0gYS9jaHJvbWUvY2hyb21l X2NsZWFuZXIvaXBjL0JVSUxELmduCisrKysgYi9jaHJvbWUvY2hyb21lX2NsZWFuZXIvaXBjL0JV SUxELmduCitAQCAtNzcsNiArNzcsNyBAQCBzb3VyY2Vfc2V0KCJpcGNfdGVzdF91dGlsIikgewor ICAgICAiLy9iYXNlL3Rlc3Q6dGVzdF9zdXBwb3J0IiwKKyAgICAgIi8vY2hyb21lL2Nocm9tZV9j bGVhbmVyL2lwYzpzYW5kYm94IiwKKyAgICAgIi8vY2hyb21lL2Nocm9tZV9jbGVhbmVyL2xvZ2dp bmc6Y29tbW9uIiwKKysgICAgIi8vY2hyb21lL2Nocm9tZV9jbGVhbmVyL3Rlc3Q6dGVzdF91dGls IiwKKyAgICAgIi8vbW9qby9wdWJsaWMvY3BwL3N5c3RlbSIsCisgICAgICIvL3NhbmRib3gvd2lu OnNhbmRib3giLAorICAgICAiLy90ZXN0aW5nL2d0ZXN0IiwKK2RpZmYgLS1naXQgYS9jaHJvbWUv Y2hyb21lX2NsZWFuZXIvaXBjL2lwY190ZXN0X3V0aWwuY2MgYi9jaHJvbWUvY2hyb21lX2NsZWFu ZXIvaXBjL2lwY190ZXN0X3V0aWwuY2MKK2luZGV4IDBkMDNhNjg3MGZiMDcuLmVhMmJiMjE0NWJm ZGQgMTAwNjQ0CistLS0gYS9jaHJvbWUvY2hyb21lX2NsZWFuZXIvaXBjL2lwY190ZXN0X3V0aWwu Y2MKKysrKyBiL2Nocm9tZS9jaHJvbWVfY2xlYW5lci9pcGMvaXBjX3Rlc3RfdXRpbC5jYworQEAg LTEyLDE0ICsxMiwxMCBAQAorICNpbmNsdWRlICJiYXNlL2JpbmRfaGVscGVycy5oIgorICNpbmNs dWRlICJiYXNlL2NvbW1hbmRfbGluZS5oIgorICNpbmNsdWRlICJiYXNlL2ZpbGVzL2ZpbGVfcGF0 aC5oIgorLSNpbmNsdWRlICJiYXNlL2ZpbGVzL2ZpbGVfdXRpbC5oIgorLSNpbmNsdWRlICJiYXNl L2ZpbGVzL3Njb3BlZF90ZW1wX2Rpci5oIgorICNpbmNsdWRlICJiYXNlL2xvZ2dpbmcuaCIKKyAj aW5jbHVkZSAiYmFzZS9wcm9jZXNzL2xhdW5jaC5oIgorICNpbmNsdWRlICJiYXNlL3JhbmRfdXRp bC5oIgorICNpbmNsdWRlICJiYXNlL3N0cmluZ3Mvc3RyaW5nX251bWJlcl9jb252ZXJzaW9ucy5o IgorLSNpbmNsdWRlICJiYXNlL3N0cmluZ3Mvc3RyaW5nX3BpZWNlLmgiCistI2luY2x1ZGUgImJh c2Uvc3RyaW5ncy9zdHJpbmdfc3BsaXQuaCIKKyAjaW5jbHVkZSAiYmFzZS90ZXN0L211bHRpcHJv Y2Vzc190ZXN0LmgiCisgI2luY2x1ZGUgImJhc2UvdGVzdC90ZXN0X3RpbWVvdXRzLmgiCisgI2lu Y2x1ZGUgImJhc2Uvd2luL3dpbl91dGlsLmgiCitAQCAtMzQsMTEgKzMwLDggQEAgY29uc3RleHBy IGNoYXIga01vam9QaXBlVG9rZW5Td2l0Y2hbXSA9ICJtb2pvLXBpcGUtdG9rZW4iOworIAorIGNs YXNzIE1vam9TYW5kYm94U2V0dXBIb29rcyA6IHB1YmxpYyBTYW5kYm94U2V0dXBIb29rcyB7Cisg IHB1YmxpYzoKKy0gIGV4cGxpY2l0IE1vam9TYW5kYm94U2V0dXBIb29rcygKKy0gICAgICBTYW5k Ym94ZWRQYXJlbnRQcm9jZXNzKiBwYXJlbnRfcHJvY2VzcywKKy0gICAgICBiYXNlOjp3aW46OlNj b3BlZEhhbmRsZSBjaGlsZF9zdGRvdXRfd3JpdGVfaGFuZGxlKQorLSAgICAgIDogcGFyZW50X3By b2Nlc3NfKHBhcmVudF9wcm9jZXNzKSwKKy0gICAgICAgIGNoaWxkX3N0ZG91dF93cml0ZV9oYW5k bGVfKHN0ZDo6bW92ZShjaGlsZF9zdGRvdXRfd3JpdGVfaGFuZGxlKSkge30KKysgIGV4cGxpY2l0 IE1vam9TYW5kYm94U2V0dXBIb29rcyhTYW5kYm94ZWRQYXJlbnRQcm9jZXNzKiBwYXJlbnRfcHJv Y2VzcykKKysgICAgICA6IHBhcmVudF9wcm9jZXNzXyhwYXJlbnRfcHJvY2Vzcykge30KKyAgIH5N b2pvU2FuZGJveFNldHVwSG9va3MoKSBvdmVycmlkZSA9IGRlZmF1bHQ7CisgCisgICAvLyBTYW5k Ym94U2V0dXBIb29rcworQEAgLTUwLDggKzQzLDcgQEAgY2xhc3MgTW9qb1NhbmRib3hTZXR1cEhv b2tzIDogcHVibGljIFNhbmRib3hTZXR1cEhvb2tzIHsKKyAgICAgcGFyZW50X3Byb2Nlc3NfLT5D cmVhdGVNb2pvUGlwZShjb21tYW5kX2xpbmUsICZoYW5kbGVzX3RvX2luaGVyaXQpOworICAgICBm b3IgKEhBTkRMRSBoYW5kbGUgOiBoYW5kbGVzX3RvX2luaGVyaXQpCisgICAgICAgcG9saWN5LT5B ZGRIYW5kbGVUb1NoYXJlKGhhbmRsZSk7CistICAgIHBvbGljeS0+U2V0U3Rkb3V0SGFuZGxlKGNo aWxkX3N0ZG91dF93cml0ZV9oYW5kbGVfLkdldCgpKTsKKy0gICAgcG9saWN5LT5TZXRTdGRlcnJI YW5kbGUoY2hpbGRfc3Rkb3V0X3dyaXRlX2hhbmRsZV8uR2V0KCkpOworKyAgICBwYXJlbnRfcHJv Y2Vzc18tPmNoaWxkX3Byb2Nlc3NfbG9nZ2VyKCkuVXBkYXRlU2FuZGJveFBvbGljeShwb2xpY3kp OworICAgICByZXR1cm4gUkVTVUxUX0NPREVfU1VDQ0VTUzsKKyAgIH0KKyAKK0BAIC02OSwzOCAr NjEsNiBAQCBjbGFzcyBNb2pvU2FuZGJveFNldHVwSG9va3MgOiBwdWJsaWMgU2FuZGJveFNldHVw SG9va3MgeworIAorIH0gIC8vIG5hbWVzcGFjZQorIAorLW5hbWVzcGFjZSBpbnRlcm5hbCB7Cist Cistdm9pZCBQcmludENoaWxkUHJvY2Vzc0xvZ3MoY29uc3QgYmFzZTo6RmlsZVBhdGgmIGxvZ19w YXRoKSB7CistICBpZiAobG9nX3BhdGguZW1wdHkoKSkgeworLSAgICBMT0coRVJST1IpIDw8ICJD aGlsZCBwcm9jZXNzIGxvZyBwYXRoIGlzIGVtcHR5IjsKKy0gICAgcmV0dXJuOworLSAgfQorLQor LSAgaWYgKCFiYXNlOjpQYXRoRXhpc3RzKGxvZ19wYXRoKSkgeworLSAgICBMT0coRVJST1IpIDw8 ICJDaGlsZCBwcm9jZXNzIGxvZyBmaWxlIGRvZXNuJ3QgZXhpc3QiOworLSAgICByZXR1cm47Cist ICB9CistCistICAvLyBDb2xsZWN0IHRoZSBjaGlsZCBwcm9jZXNzIGxvZyBmaWxlLCBhbmQgZHVt cCB0aGUgY29udGVudHMsIHRvIGhlbHAKKy0gIC8vIGRlYnVnZ2luZyBmYWlsdXJlcy4KKy0gIHN0 ZDo6c3RyaW5nIGxvZ19maWxlX2NvbnRlbnRzOworLSAgaWYgKCFiYXNlOjpSZWFkRmlsZVRvU3Ry aW5nKGxvZ19wYXRoLCAmbG9nX2ZpbGVfY29udGVudHMpKSB7CistICAgIExPRyhFUlJPUikgPDwg IkZhaWxlZCB0byByZWFkIGNoaWxkIHByb2Nlc3MgbG9nIGZpbGUiOworLSAgICByZXR1cm47Cist ICB9CistCistICBzdGQ6OnZlY3RvcjxiYXNlOjpTdHJpbmdQaWVjZT4gbGluZXMgPQorLSAgICAg IGJhc2U6OlNwbGl0U3RyaW5nUGllY2UobG9nX2ZpbGVfY29udGVudHMsICJcbiIsIGJhc2U6OlRS SU1fV0hJVEVTUEFDRSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhc2U6OlNQTElU X1dBTlRfTk9ORU1QVFkpOworLSAgTE9HKEVSUk9SKSA8PCAiRHVtcGluZyBjaGlsZCBwcm9jZXNz IGxvZ3MiOworLSAgZm9yIChjb25zdCBhdXRvJiBsaW5lIDogbGluZXMpIHsKKy0gICAgTE9HKEVS Uk9SKSA8PCAiQ2hpbGQgcHJvY2VzczogIiA8PCBsaW5lOworLSAgfQorLX0KKy0KKy19ICAvLyBu YW1lc3BhY2UgaW50ZXJuYWwKKy0KKyBQYXJlbnRQcm9jZXNzOjpQYXJlbnRQcm9jZXNzKHNjb3Bl ZF9yZWZwdHI8TW9qb1Rhc2tSdW5uZXI+IG1vam9fdGFza19ydW5uZXIpCisgICAgIDogY29tbWFu ZF9saW5lXyhiYXNlOjpHZXRNdWx0aVByb2Nlc3NUZXN0Q2hpbGRCYXNlQ29tbWFuZExpbmUoKSks CisgICAgICAgbW9qb190YXNrX3J1bm5lcl8obW9qb190YXNrX3J1bm5lcikge30KK0BAIC0xNTgs MzYgKzExOCwxMCBAQCBib29sIFBhcmVudFByb2Nlc3M6OkxhdW5jaENvbm5lY3RlZENoaWxkUHJv Y2VzcygKKyAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIGNoaWxkX21haW5fZnVuY3Rpb24sCisgICAg IGJhc2U6OlRpbWVEZWx0YSB0aW1lb3V0LAorICAgICBpbnQzMl90KiBleGl0X2NvZGUpIHsKKy0g IC8vIEFkYXB0ZWQgZnJvbQorLSAgLy8gaHR0cHM6Ly9jcy5jaHJvbWl1bS5vcmcvY2hyb21pdW0v c3JjL3NhbmRib3gvd2luL3NyYy9oYW5kbGVfaW5oZXJpdGFuY2VfdGVzdC5jYworLSAgYmFzZTo6 U2NvcGVkVGVtcERpciB0ZW1wX2RpcjsKKy0gIGlmICghdGVtcF9kaXIuQ3JlYXRlVW5pcXVlVGVt cERpcigpKSB7CistICAgIFBMT0coRVJST1IpIDw8ICJDb3VsZCBub3QgY3JlYXRlIHRlbXAgZGly IGZvciBjaGlsZCBzdGRvdXQiOworKyAgaWYgKCFjaGlsZF9wcm9jZXNzX2xvZ2dlcl8uSW5pdGlh bGl6ZSgpKQorICAgICByZXR1cm4gZmFsc2U7CistICB9CistCistICBiYXNlOjpGaWxlUGF0aCB0 ZW1wX2ZpbGVfbmFtZTsKKy0gIGlmICghQ3JlYXRlVGVtcG9yYXJ5RmlsZUluRGlyKHRlbXBfZGly LkdldFBhdGgoKSwgJnRlbXBfZmlsZV9uYW1lKSkgeworLSAgICBQTE9HKEVSUk9SKSA8PCAiQ291 bGQgbm90IGNyZWF0ZSB0ZW1wIGZpbGUgZm9yIGNoaWxkIHN0ZG91dCI7CistICAgIHJldHVybiBm YWxzZTsKKy0gIH0KKy0KKy0gIFNFQ1VSSVRZX0FUVFJJQlVURVMgYXR0cnMgPSB7fTsKKy0gIGF0 dHJzLm5MZW5ndGggPSBzaXplb2YoYXR0cnMpOworLSAgYXR0cnMuYkluaGVyaXRIYW5kbGUgPSB0 cnVlOworLQorLSAgYmFzZTo6d2luOjpTY29wZWRIYW5kbGUgY2hpbGRfc3Rkb3V0X3dyaXRlX2hh bmRsZSgKKy0gICAgICA6OkNyZWF0ZUZpbGUodGVtcF9maWxlX25hbWUudmFsdWUoKS5jX3N0cigp LCBHRU5FUklDX1dSSVRFLAorLSAgICAgICAgICAgICAgICAgICBGSUxFX1NIQVJFX1dSSVRFIHwg RklMRV9TSEFSRV9SRUFEIHwgRklMRV9TSEFSRV9ERUxFVEUsCistICAgICAgICAgICAgICAgICAg ICZhdHRycywgT1BFTl9FWElTVElORywgMCwgbnVsbHB0cikpOworLSAgaWYgKCFjaGlsZF9zdGRv dXRfd3JpdGVfaGFuZGxlLklzVmFsaWQoKSkgeworLSAgICBQTE9HKEVSUk9SKSA8PCAiQ291bGQg bm90IG9wZW4gY2hpbGQgc3Rkb3V0IGZpbGUiOworLSAgICByZXR1cm4gZmFsc2U7CistICB9Cist CistICBpZiAoIVByZXBhcmVBbmRMYXVuY2hUZXN0Q2hpbGRQcm9jZXNzKGNoaWxkX21haW5fZnVu Y3Rpb24sCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZDo6bW92 ZShjaGlsZF9zdGRvdXRfd3JpdGVfaGFuZGxlKSkpIHsKKy0gICAgaW50ZXJuYWw6OlByaW50Q2hp bGRQcm9jZXNzTG9ncyh0ZW1wX2ZpbGVfbmFtZSk7CisrICBpZiAoIVByZXBhcmVBbmRMYXVuY2hU ZXN0Q2hpbGRQcm9jZXNzKGNoaWxkX21haW5fZnVuY3Rpb24pKSB7CisrICAgIGNoaWxkX3Byb2Nl c3NfbG9nZ2VyXy5EdW1wTG9ncygpOworICAgICByZXR1cm4gZmFsc2U7CisgICB9CisgCitAQCAt MjAxLDMxICsxMzUsMjIgQEAgYm9vbCBQYXJlbnRQcm9jZXNzOjpMYXVuY2hDb25uZWN0ZWRDaGls ZFByb2Nlc3MoCisgICBEZXN0cm95SW1wbE9uSVBDVGhyZWFkKCk7CisgCisgICBpZiAoIXN1Y2Nl c3MgfHwgKmV4aXRfY29kZSAhPSAwKSB7CistICAgIGludGVybmFsOjpQcmludENoaWxkUHJvY2Vz c0xvZ3ModGVtcF9maWxlX25hbWUpOworKyAgICBjaGlsZF9wcm9jZXNzX2xvZ2dlcl8uRHVtcExv Z3MoKTsKKyAgIH0KKyAKKyAgIHJldHVybiBzdWNjZXNzOworIH0KKyAKKyBib29sIFBhcmVudFBy b2Nlc3M6OlByZXBhcmVBbmRMYXVuY2hUZXN0Q2hpbGRQcm9jZXNzKAorLSAgICBjb25zdCBzdGQ6 OnN0cmluZyYgY2hpbGRfbWFpbl9mdW5jdGlvbiwKKy0gICAgYmFzZTo6d2luOjpTY29wZWRIYW5k bGUgY2hpbGRfc3Rkb3V0X3dyaXRlX2hhbmRsZSkgeworKyAgICBjb25zdCBzdGQ6OnN0cmluZyYg Y2hpbGRfbWFpbl9mdW5jdGlvbikgeworICAgYmFzZTo6TGF1bmNoT3B0aW9ucyBsYXVuY2hfb3B0 aW9uczsKKyAgIGxhdW5jaF9vcHRpb25zLmhhbmRsZXNfdG9faW5oZXJpdCA9IGV4dHJhX2hhbmRs ZXNfdG9faW5oZXJpdF87CistICBsYXVuY2hfb3B0aW9ucy5oYW5kbGVzX3RvX2luaGVyaXQucHVz aF9iYWNrKGNoaWxkX3N0ZG91dF93cml0ZV9oYW5kbGUuR2V0KCkpOworLSAgbGF1bmNoX29wdGlv bnMuc3RkaW5faGFuZGxlID0gSU5WQUxJRF9IQU5ETEVfVkFMVUU7CistICBsYXVuY2hfb3B0aW9u cy5zdGRvdXRfaGFuZGxlID0gY2hpbGRfc3Rkb3V0X3dyaXRlX2hhbmRsZS5HZXQoKTsKKy0gIGxh dW5jaF9vcHRpb25zLnN0ZGVycl9oYW5kbGUgPSBjaGlsZF9zdGRvdXRfd3JpdGVfaGFuZGxlLkdl dCgpOworLQorKyAgY2hpbGRfcHJvY2Vzc19sb2dnZXJfLlVwZGF0ZUxhdW5jaE9wdGlvbnMoJmxh dW5jaF9vcHRpb25zKTsKKyAgIENyZWF0ZU1vam9QaXBlKCZjb21tYW5kX2xpbmVfLCAmbGF1bmNo X29wdGlvbnMuaGFuZGxlc190b19pbmhlcml0KTsKKyAKKyAgIGJhc2U6OlByb2Nlc3MgY2hpbGRf cHJvY2VzcyA9IGJhc2U6OlNwYXduTXVsdGlQcm9jZXNzVGVzdENoaWxkKAorICAgICAgIGNoaWxk X21haW5fZnVuY3Rpb24sIGNvbW1hbmRfbGluZV8sIGxhdW5jaF9vcHRpb25zKTsKKyAKKy0gIC8v IE5vdyB0aGF0IGl0J3MgYmVlbiBwYXNzZWQgdG8gdGhlIGNoaWxkIHByb2Nlc3MsCistICAvLyB8 Y2hpbGRfc3Rkb3V0X3dyaXRlX2hhbmRsZXwgY2FuIGJlIGNsb3NlZCBpbiB0aGlzIHByb2Nlc3Mg YXMgaXQgZ29lcyBvdXQKKy0gIC8vIG9mIHNjb3BlLgorLQorICAgQ29ubmVjdE1vam9QaXBlKHN0 ZDo6bW92ZShjaGlsZF9wcm9jZXNzKSk7CisgICByZXR1cm4gdHJ1ZTsKKyB9CitAQCAtMjU3LDkg KzE4Miw4IEBAIFNhbmRib3hlZFBhcmVudFByb2Nlc3M6OlNhbmRib3hlZFBhcmVudFByb2Nlc3Mo CisgU2FuZGJveGVkUGFyZW50UHJvY2Vzczo6flNhbmRib3hlZFBhcmVudFByb2Nlc3MoKSB7fQor IAorIGJvb2wgU2FuZGJveGVkUGFyZW50UHJvY2Vzczo6UHJlcGFyZUFuZExhdW5jaFRlc3RDaGls ZFByb2Nlc3MoCistICAgIGNvbnN0IHN0ZDo6c3RyaW5nJiBjaGlsZF9tYWluX2Z1bmN0aW9uLAor LSAgICBiYXNlOjp3aW46OlNjb3BlZEhhbmRsZSBjaGlsZF9zdGRvdXRfd3JpdGVfaGFuZGxlKSB7 CistICBNb2pvU2FuZGJveFNldHVwSG9va3MgaG9va3ModGhpcywgc3RkOjptb3ZlKGNoaWxkX3N0 ZG91dF93cml0ZV9oYW5kbGUpKTsKKysgICAgY29uc3Qgc3RkOjpzdHJpbmcmIGNoaWxkX21haW5f ZnVuY3Rpb24pIHsKKysgIE1vam9TYW5kYm94U2V0dXBIb29rcyBob29rcyh0aGlzKTsKKyAKKyAg IC8vIFRoaXMgc3dpdGNoIHVzYWdlIGlzIGNvcGllZCBmcm9tIFNwYXduTXVsdGlQcm9jZXNzVGVz dENoaWxkLgorICAgLy8KK2RpZmYgLS1naXQgYS9jaHJvbWUvY2hyb21lX2NsZWFuZXIvaXBjL2lw Y190ZXN0X3V0aWwuaCBiL2Nocm9tZS9jaHJvbWVfY2xlYW5lci9pcGMvaXBjX3Rlc3RfdXRpbC5o CitpbmRleCAxYjJlNTU5OGVkNTJhLi4xNTI2YTQyNzAxMzUzIDEwMDY0NAorLS0tIGEvY2hyb21l L2Nocm9tZV9jbGVhbmVyL2lwYy9pcGNfdGVzdF91dGlsLmgKKysrKyBiL2Nocm9tZS9jaHJvbWVf Y2xlYW5lci9pcGMvaXBjX3Rlc3RfdXRpbC5oCitAQCAtMTQsOSArMTQsOSBAQAorICNpbmNsdWRl ICJiYXNlL3Byb2Nlc3MvbGF1bmNoLmgiCisgI2luY2x1ZGUgImJhc2UvcHJvY2Vzcy9wcm9jZXNz LmgiCisgI2luY2x1ZGUgImJhc2UvdGltZS90aW1lLmgiCistI2luY2x1ZGUgImJhc2Uvd2luL3Nj b3BlZF9oYW5kbGUuaCIKKyAjaW5jbHVkZSAiY2hyb21lL2Nocm9tZV9jbGVhbmVyL2lwYy9jaHJv bWVfcHJvbXB0X2lwYy5oIgorICNpbmNsdWRlICJjaHJvbWUvY2hyb21lX2NsZWFuZXIvaXBjL21v am9fdGFza19ydW5uZXIuaCIKKysjaW5jbHVkZSAiY2hyb21lL2Nocm9tZV9jbGVhbmVyL3Rlc3Qv Y2hpbGRfcHJvY2Vzc19sb2dnZXIuaCIKKyAjaW5jbHVkZSAibW9qby9wdWJsaWMvY3BwL3BsYXRm b3JtL3BsYXRmb3JtX2NoYW5uZWwuaCIKKyAjaW5jbHVkZSAibW9qby9wdWJsaWMvY3BwL3N5c3Rl bS9pbnZpdGF0aW9uLmgiCisgI2luY2x1ZGUgIm1vam8vcHVibGljL2NwcC9zeXN0ZW0vbWVzc2Fn ZV9waXBlLmgiCitAQCAtNTgsNiArNTgsMTAgQEAgY2xhc3MgUGFyZW50UHJvY2VzcyA6IHB1Ymxp YyBiYXNlOjpSZWZDb3VudGVkVGhyZWFkU2FmZTxQYXJlbnRQcm9jZXNzPiB7CisgICAgIHJldHVy biBleHRyYV9oYW5kbGVzX3RvX2luaGVyaXRfOworICAgfQorIAorKyAgY29uc3QgQ2hpbGRQcm9j ZXNzTG9nZ2VyJiBjaGlsZF9wcm9jZXNzX2xvZ2dlcigpIGNvbnN0IHsKKysgICAgcmV0dXJuIGNo aWxkX3Byb2Nlc3NfbG9nZ2VyXzsKKysgIH0KKysKKyAgcHJvdGVjdGVkOgorICAgZnJpZW5kIGJh c2U6OlJlZkNvdW50ZWRUaHJlYWRTYWZlPFBhcmVudFByb2Nlc3M+OworICAgdmlydHVhbCB+UGFy ZW50UHJvY2VzcygpOworQEAgLTcwLDEzICs3NCwxMyBAQCBjbGFzcyBQYXJlbnRQcm9jZXNzIDog cHVibGljIGJhc2U6OlJlZkNvdW50ZWRUaHJlYWRTYWZlPFBhcmVudFByb2Nlc3M+IHsKKyAgIC8v IGFzIGluIHRoZSBzYW5kYm94LiBTdWJjbGFzc2VzIHNob3VsZCBjYWxsIENyZWF0ZU1vam9QaXBl IGJlZm9yZSB0aGUKKyAgIC8vIHN1YnByb2Nlc3MgaXMgc3Bhd25lZCBhbmQgQ29ubmVjdE1vam9Q aXBlIGFmdGVyd2FyZC4KKyAgIHZpcnR1YWwgYm9vbCBQcmVwYXJlQW5kTGF1bmNoVGVzdENoaWxk UHJvY2VzcygKKy0gICAgICBjb25zdCBzdGQ6OnN0cmluZyYgY2hpbGRfbWFpbl9mdW5jdGlvbiwK Ky0gICAgICBiYXNlOjp3aW46OlNjb3BlZEhhbmRsZSBjaGlsZF9zdGRvdXRfd3JpdGVfaGFuZGxl KTsKKysgICAgICBjb25zdCBzdGQ6OnN0cmluZyYgY2hpbGRfbWFpbl9mdW5jdGlvbik7CisgCisg ICBzY29wZWRfcmVmcHRyPE1vam9UYXNrUnVubmVyPiBtb2pvX3Rhc2tfcnVubmVyKCk7CisgCisg ICBiYXNlOjpDb21tYW5kTGluZSBjb21tYW5kX2xpbmVfOworICAgYmFzZTo6SGFuZGxlc1RvSW5o ZXJpdFZlY3RvciBleHRyYV9oYW5kbGVzX3RvX2luaGVyaXRfOworKyAgQ2hpbGRQcm9jZXNzTG9n Z2VyIGNoaWxkX3Byb2Nlc3NfbG9nZ2VyXzsKKyAKKyAgcHJpdmF0ZToKKyAgIHNjb3BlZF9yZWZw dHI8TW9qb1Rhc2tSdW5uZXI+IG1vam9fdGFza19ydW5uZXJfOworQEAgLTk2LDggKzEwMCw3IEBA IGNsYXNzIFNhbmRib3hlZFBhcmVudFByb2Nlc3MgOiBwdWJsaWMgUGFyZW50UHJvY2VzcyB7Cisg ICB+U2FuZGJveGVkUGFyZW50UHJvY2VzcygpIG92ZXJyaWRlOworIAorICAgYm9vbCBQcmVwYXJl QW5kTGF1bmNoVGVzdENoaWxkUHJvY2VzcygKKy0gICAgICBjb25zdCBzdGQ6OnN0cmluZyYgY2hp bGRfbWFpbl9mdW5jdGlvbiwKKy0gICAgICBiYXNlOjp3aW46OlNjb3BlZEhhbmRsZSBjaGlsZF9z dGRvdXRfd3JpdGVfaGFuZGxlKSBvdmVycmlkZTsKKysgICAgICBjb25zdCBzdGQ6OnN0cmluZyYg Y2hpbGRfbWFpbl9mdW5jdGlvbikgb3ZlcnJpZGU7CisgfTsKKyAKKyBjbGFzcyBDaGlsZFByb2Nl c3MgOiBwdWJsaWMgYmFzZTo6UmVmQ291bnRlZFRocmVhZFNhZmU8Q2hpbGRQcm9jZXNzPiB7CitA QCAtMTQzLDEwICsxNDYsNiBAQCBjbGFzcyBDaHJvbWVQcm9tcHRJUENUZXN0RXJyb3JIYW5kbGVy IDogcHVibGljIENocm9tZVByb21wdElQQzo6RXJyb3JIYW5kbGVyIHsKKyAgIGJhc2U6Ok9uY2VD bG9zdXJlIG9uX2Nsb3NlZF9hZnRlcl9kb25lXzsKKyB9OworIAorLW5hbWVzcGFjZSBpbnRlcm5h bCB7Cistdm9pZCBQcmludENoaWxkUHJvY2Vzc0xvZ3MoY29uc3QgYmFzZTo6RmlsZVBhdGgmIGxv Z19maWxlKTsKKy19ICAvLyBuYW1lc3BhY2UgaW50ZXJuYWwKKy0KKyB9ICAvLyBuYW1lc3BhY2Ug Y2hyb21lX2NsZWFuZXIKKyAKKyAjZW5kaWYgIC8vIENIUk9NRV9DSFJPTUVfQ0xFQU5FUl9JUENf SVBDX1RFU1RfVVRJTF9IXworZGlmZiAtLWdpdCBhL2Nocm9tZS9jaHJvbWVfY2xlYW5lci9pcGMv cHJvdG9fY2hyb21lX3Byb21wdF9pcGNfdW5pdHRlc3QuY2MgYi9jaHJvbWUvY2hyb21lX2NsZWFu ZXIvaXBjL3Byb3RvX2Nocm9tZV9wcm9tcHRfaXBjX3VuaXR0ZXN0LmNjCitpbmRleCBmODY3ZGY1 OGY5NmVhLi5lM2NlMmFiNmMyN2ZlIDEwMDY0NAorLS0tIGEvY2hyb21lL2Nocm9tZV9jbGVhbmVy L2lwYy9wcm90b19jaHJvbWVfcHJvbXB0X2lwY191bml0dGVzdC5jYworKysrIGIvY2hyb21lL2No cm9tZV9jbGVhbmVyL2lwYy9wcm90b19jaHJvbWVfcHJvbXB0X2lwY191bml0dGVzdC5jYworQEAg LTUsNyArNSw2IEBACisgI2luY2x1ZGUgPHdpbmRvd3MuaD4KKyAKKyAjaW5jbHVkZSAiYmFzZS9j b21tYW5kX2xpbmUuaCIKKy0jaW5jbHVkZSAiYmFzZS9maWxlcy9maWxlX3V0aWwuaCIKKyAjaW5j bHVkZSAiYmFzZS9wcm9jZXNzL3Byb2Nlc3MuaCIKKyAjaW5jbHVkZSAiYmFzZS9zdHJpbmdzL3N0 cmNhdC5oIgorICNpbmNsdWRlICJiYXNlL3N0cmluZ3Mvc3RyaW5nX251bWJlcl9jb252ZXJzaW9u cy5oIgorQEAgLTE5LDcgKzE4LDcgQEAKKyAjaW5jbHVkZSAiYmFzZS93aW4vd2luX3V0aWwuaCIK KyAjaW5jbHVkZSAiY2hyb21lL2Nocm9tZV9jbGVhbmVyL2lwYy9pcGNfdGVzdF91dGlsLmgiCisg I2luY2x1ZGUgImNocm9tZS9jaHJvbWVfY2xlYW5lci9pcGMvcHJvdG9fY2hyb21lX3Byb21wdF9p cGMuaCIKKy0jaW5jbHVkZSAiY2hyb21lL2Nocm9tZV9jbGVhbmVyL2xvZ2dpbmcvc2NvcGVkX2xv Z2dpbmcuaCIKKysjaW5jbHVkZSAiY2hyb21lL2Nocm9tZV9jbGVhbmVyL3Rlc3QvY2hpbGRfcHJv Y2Vzc19sb2dnZXIuaCIKKyAjaW5jbHVkZSAiY29tcG9uZW50cy9jaHJvbWVfY2xlYW5lci9wdWJs aWMvY29uc3RhbnRzL2NvbnN0YW50cy5oIgorICNpbmNsdWRlICJjb21wb25lbnRzL2Nocm9tZV9j bGVhbmVyL3B1YmxpYy9wcm90by9jaHJvbWVfcHJvbXB0LnBiLmgiCisgI2luY2x1ZGUgImNvbXBv bmVudHMvY2hyb21lX2NsZWFuZXIvcHVibGljL3Byb3RvL2Nocm9tZV9wcm9tcHRfZm9yX3Rlc3Rz LnBiLmgiCitAQCAtNDIsNyArNDEsNiBAQCBjb25zdGV4cHIgY2hhciBrRXhwZWN0ZWRQcm9tcHRS ZXN1bHRTd2l0Y2hbXSA9ICJleHBlY3RlZC1wcm9tcHQtcmVzdWx0IjsKKyBjb25zdGV4cHIgY2hh ciBrRXhwZWN0ZWRDaHJvbWVEaXNjb25uZWN0UG9pbnRTd2l0Y2hbXSA9CisgICAgICJleHBlY3Rl ZC1wYXJlbnQtZGlzY29ubmVjdGVkIjsKKyAKKy1jb25zdGV4cHIgYmFzZTo6Y2hhcjE2IGtMb2dT dWZmaXhbXSA9IEwicHJvbXB0LWlwYy10ZXN0IjsKKyBjb25zdGV4cHIgYmFzZTo6Y2hhcjE2IGtJ bnZhbGlkVVRGMTZTdHJpbmdbXSA9IHsweERDMDAsIDB4RDgwMCwgMHhEODAwLCAweERGRkYsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhERkZGLCAw eERCRkYsIDB9OworIGNvbnN0IGJhc2U6OkZpbGVQYXRoIGtJbnZhbGlkRmlsZVBhdGgoa0ludmFs aWRVVEYxNlN0cmluZyk7CitAQCAtNDIxLDggKzQxOSw3IEBAIGNsYXNzIE1vY2tDaHJvbWUgewor IC8vIEd0ZXN0IHRvIGxvZy4KKyBjbGFzcyBDaGlsZFByb2Nlc3MgeworICBwdWJsaWM6CistICBD aGlsZFByb2Nlc3MoKQorLSAgICAgIDogc2NvcHBlZF9sb2dnaW5nXyhzdGQ6Om1ha2VfdW5pcXVl PFNjb3BlZExvZ2dpbmc+KGtMb2dTdWZmaXgpKSB7CisrICBDaGlsZFByb2Nlc3MoKSB7CisgICAg IG1vY2tfY2hyb21lXyA9IHN0ZDo6bWFrZV91bmlxdWU8TW9ja0Nocm9tZT4oCisgICAgICAgICBF eHRyYWN0SGFuZGxlRnJvbUNvbW1hbmRMaW5lKGNocm9tZV9jbGVhbmVyOjprQ2hyb21lUmVhZEhh bmRsZVN3aXRjaCksCisgICAgICAgICBFeHRyYWN0SGFuZGxlRnJvbUNvbW1hbmRMaW5lKGNocm9t ZV9jbGVhbmVyOjprQ2hyb21lV3JpdGVIYW5kbGVTd2l0Y2gpKTsKK0BAIC01NzEsNyArNTY4LDYg QEAgY2xhc3MgQ2hpbGRQcm9jZXNzIHsKKyAKKyAgcHJpdmF0ZToKKyAgIHN0ZDo6dW5pcXVlX3B0 cjxNb2NrQ2hyb21lPiBtb2NrX2Nocm9tZV87CistICBzdGQ6OnVuaXF1ZV9wdHI8U2NvcGVkTG9n Z2luZz4gc2NvcHBlZF9sb2dnaW5nXzsKKyAKKyAgIENocm9tZURpc2Nvbm5lY3RQb2ludCBleHBl Y3RlZF9kaXNjb25uZWN0X3BvaW50XyA9CisgICAgICAgQ2hyb21lRGlzY29ubmVjdFBvaW50Ojpr VW5zcGVjaWZpZWQ7CitAQCAtNjAzLDYgKzU5OSw5IEBAIGNsYXNzIFByb3RvQ2hyb21lUHJvbXB0 SVBDVGVzdAorIGNsYXNzIFBhcmVudFByb2Nlc3MgeworICBwdWJsaWM6CisgICBib29sIEluaXRp YWxpemUoKSB7CisrICAgIGlmICghY2hpbGRfcHJvY2Vzc19sb2dnZXJfLkluaXRpYWxpemUoKSkK KysgICAgICByZXR1cm4gZmFsc2U7CisrCisgICAgIC8vIEluamVjdCB0aGUgZmxhZ3MgcmVsYXRl ZCB0byB0aGUgdGhlIGNvbmZpZyBpbiB0aGUgY29tbWFuZCBsaW5lLgorICAgICB0ZXN0X2NvbmZp Z18uRW5oYW5jZUNvbW1hbmRMaW5lKCZjb21tYW5kX2xpbmVfKTsKKyAKK0BAIC02MzEsMTQgKzYz MCwxMyBAQCBjbGFzcyBQYXJlbnRQcm9jZXNzIHsKKyAgIH0KKyAKKyAgIHZvaWQgUnVuKCkgewor LSAgICAvLyBEZWxldGUgdGhlIGNoaWxkIHByb2Nlc3MgbG9nIGZpbGUgaWYgZXhpc3RpbmcuCist ICAgIGNvbnN0IGJhc2U6OkZpbGVQYXRoIGxvZ19wYXRoID0gU2NvcGVkTG9nZ2luZzo6R2V0TG9n RmlsZVBhdGgoa0xvZ1N1ZmZpeCk7CistICAgIEFTU0VSVF9UUlVFKGJhc2U6OkRlbGV0ZUZpbGUo bG9nX3BhdGgsIGZhbHNlKSkKKy0gICAgICAgIDw8ICJDYW4ndCBkZWxldGUgbG9nIGZpbGUgZnJv bSBwcmV2aW91cyBydW46ICIgPDwgbG9nX3BhdGgudmFsdWUoKTsKKysgICAgY2hpbGRfcHJvY2Vz c19sb2dnZXJfLlVwZGF0ZUxhdW5jaE9wdGlvbnMoJmxhdW5jaF9vcHRpb25zXyk7CisgCisgICAg IC8vIFBhc3MgdGhlIGNvbW1hbmQgdG8gdGhlIGNoaWxkIHByb2Nlc3MgYW5kIGxhdW5jaCB0aGUg Y2hpbGQgcHJvY2Vzcy4KKyAgICAgYmFzZTo6UHJvY2VzcyBjaGlsZF9wcm9jZXNzID0gYmFzZTo6 U3Bhd25NdWx0aVByb2Nlc3NUZXN0Q2hpbGQoCisgICAgICAgICAiUHJvdG9DaHJvbWVQcm9tcHRJ UENDbGllbnRNYWluIiwgY29tbWFuZF9saW5lXywgbGF1bmNoX29wdGlvbnNfKTsKKysgICAgaWYg KCFjaGlsZF9wcm9jZXNzLklzUnVubmluZygpKQorKyAgICAgIGNoaWxkX3Byb2Nlc3NfbG9nZ2Vy Xy5EdW1wTG9ncygpOworICAgICBBU1NFUlRfVFJVRShjaGlsZF9wcm9jZXNzLklzUnVubmluZygp KTsKKyAKKyAgICAgLy8gQ2xvc2Ugb3VyIHJlZmVyZW5jZXMgdG8gdGhlIGhhbmRsZXMgYXMgdGhl eSBhcmUgbm93IGhhbmRsZWQgYnkgdGhlIGNoaWxkCitAQCAtNzA1LDEwICs3MDMsOCBAQCBjbGFz cyBQYXJlbnRQcm9jZXNzIHsKKyAKKyAgICAgRVhQRUNUX0VRKGV4cGVjdGVkX2V4aXRfY29kZSwg cnYpOworIAorLSAgICBpZiAoIXN1Y2Nlc3MgfHwgcnYgIT0gMCkgeworLSAgICAgIGludGVybmFs OjpQcmludENoaWxkUHJvY2Vzc0xvZ3MoCistICAgICAgICAgIFNjb3BlZExvZ2dpbmc6OkdldExv Z0ZpbGVQYXRoKGtMb2dTdWZmaXgpKTsKKy0gICAgfQorKyAgICBpZiAoIXN1Y2Nlc3MgfHwgcnYg IT0gMCkKKysgICAgICBjaGlsZF9wcm9jZXNzX2xvZ2dlcl8uRHVtcExvZ3MoKTsKKyAgIH0KKyAK KyAgIFRlc3RDb25maWcmIEdldFRlc3RDb25maWcoKSB7IHJldHVybiB0ZXN0X2NvbmZpZ187IH0K K0BAIC03MzIsNiArNzI4LDggQEAgY2xhc3MgUGFyZW50UHJvY2VzcyB7CisgICAvLyBCbG9ja3Mg dW50aWwgd2UgcmVjZWl2ZSB0aGUgcmVzcG9uc2UgZnJvbSBDaHJvbWUgb3IgYW4gZXJyb3Igb2Nj dXJzLgorICAgYmFzZTo6UnVuTG9vcCBtYWluX3J1bmxvb3BfOworICAgYm9vbCBlcnJvcl9vY2N1 cnJlZF8gPSBmYWxzZTsKKysKKysgIENoaWxkUHJvY2Vzc0xvZ2dlciBjaGlsZF9wcm9jZXNzX2xv Z2dlcl87CisgfTsKKyAKKyAvLyBUaGlzIGNvbnRhaW5zIGNhbGxzIHRvIHRoZSBjaHJvbWVfY2xl YW5lcl9pcGMgaW1wbGVtZW50YXRpb24uCitkaWZmIC0tZ2l0IGEvY2hyb21lL2Nocm9tZV9jbGVh bmVyL3Rlc3QvQlVJTEQuZ24gYi9jaHJvbWUvY2hyb21lX2NsZWFuZXIvdGVzdC9CVUlMRC5nbgor aW5kZXggMTE4NDU0YzJiZGNkMi4uNGIwNTNmZGNhZjE4MiAxMDA2NDQKKy0tLSBhL2Nocm9tZS9j aHJvbWVfY2xlYW5lci90ZXN0L0JVSUxELmduCisrKysgYi9jaHJvbWUvY2hyb21lX2NsZWFuZXIv dGVzdC9CVUlMRC5nbgorQEAgLTE0OCw2ICsxNDgsOCBAQCBzb3VyY2Vfc2V0KCJ0ZXN0X3V0aWwi KSB7CisgICB0ZXN0b25seSA9IHRydWUKKyAKKyAgIHNvdXJjZXMgPSBbCisrICAgICJjaGlsZF9w cm9jZXNzX2xvZ2dlci5jYyIsCisrICAgICJjaGlsZF9wcm9jZXNzX2xvZ2dlci5oIiwKKyAgICAg ImZpbGVfcmVtb3Zlcl90ZXN0X3V0aWwuY2MiLAorICAgICAiZmlsZV9yZW1vdmVyX3Rlc3RfdXRp bC5oIiwKKyAgICAgInJlYm9vdF9kZWxldGlvbl9oZWxwZXIuY2MiLAorQEAgLTIyOCw2ICsyMzAs NyBAQCBzb3VyY2Vfc2V0KCJpbnRlZ3JhdGlvbl90ZXN0X3NvdXJjZXMiKSB7CisgICAgICIvL2No cm9tZS9jaHJvbWVfY2xlYW5lci9vczpjb21tb25fb3MiLAorICAgICAiLy9jaHJvbWUvY2hyb21l X2NsZWFuZXIvcHVwX2RhdGE6cHVwX2RhdGFfYmFzZSIsCisgICAgICIvL2Nocm9tZS9jaHJvbWVf Y2xlYW5lci9wdXBfZGF0YTp0ZXN0X3V3cyIsCisrICAgICIvL2Nocm9tZS9jaHJvbWVfY2xlYW5l ci90ZXN0OnRlc3RfdXRpbCIsCisgICAgICIvL2Nocm9tZS9jaHJvbWVfY2xlYW5lci96aXBfYXJj aGl2ZXI6Y29tbW9uIiwKKyAgICAgIi8vY29tcG9uZW50cy9jaHJvbWVfY2xlYW5lci9wdWJsaWMv Y29uc3RhbnRzIiwKKyAgICAgIi8vY29tcG9uZW50cy9jaHJvbWVfY2xlYW5lci90ZXN0OnRlc3Rf bmFtZV9oZWxwZXIiLAorZGlmZiAtLWdpdCBhL2Nocm9tZS9jaHJvbWVfY2xlYW5lci90ZXN0L2No aWxkX3Byb2Nlc3NfbG9nZ2VyLmNjIGIvY2hyb21lL2Nocm9tZV9jbGVhbmVyL3Rlc3QvY2hpbGRf cHJvY2Vzc19sb2dnZXIuY2MKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAw MDAwLi45ZjQ4MzYyNjdhZWE2CistLS0gL2Rldi9udWxsCisrKysgYi9jaHJvbWUvY2hyb21lX2Ns ZWFuZXIvdGVzdC9jaGlsZF9wcm9jZXNzX2xvZ2dlci5jYworQEAgLTAsMCArMSw5MCBAQAorKy8v IENvcHlyaWdodCAyMDE5IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVk LgorKy8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxl IGxpY2Vuc2UgdGhhdCBjYW4gYmUKKysvLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorKwor KyNpbmNsdWRlICJjaHJvbWUvY2hyb21lX2NsZWFuZXIvdGVzdC9jaGlsZF9wcm9jZXNzX2xvZ2dl ci5oIgorKworKyNpbmNsdWRlIDx2ZWN0b3I+CisrCisrI2luY2x1ZGUgImJhc2UvZmlsZXMvZmls ZV91dGlsLmgiCisrI2luY2x1ZGUgImJhc2UvbG9nZ2luZy5oIgorKyNpbmNsdWRlICJiYXNlL3N0 cmluZ3Mvc3RyaW5nX3BpZWNlLmgiCisrI2luY2x1ZGUgImJhc2Uvc3RyaW5ncy9zdHJpbmdfc3Bs aXQuaCIKKysKKytuYW1lc3BhY2UgY2hyb21lX2NsZWFuZXIgeworKworK0NoaWxkUHJvY2Vzc0xv Z2dlcjo6Q2hpbGRQcm9jZXNzTG9nZ2VyKCkgPSBkZWZhdWx0OworKworK0NoaWxkUHJvY2Vzc0xv Z2dlcjo6fkNoaWxkUHJvY2Vzc0xvZ2dlcigpID0gZGVmYXVsdDsKKysKKytib29sIENoaWxkUHJv Y2Vzc0xvZ2dlcjo6SW5pdGlhbGl6ZSgpIHsKKysgIC8vIEFkYXB0ZWQgZnJvbQorKyAgLy8gaHR0 cHM6Ly9jcy5jaHJvbWl1bS5vcmcvY2hyb21pdW0vc3JjL3NhbmRib3gvd2luL3NyYy9oYW5kbGVf aW5oZXJpdGFuY2VfdGVzdC5jYworKyAgaWYgKCF0ZW1wX2Rpcl8uQ3JlYXRlVW5pcXVlVGVtcERp cigpKSB7CisrICAgIFBMT0coRVJST1IpIDw8ICJDb3VsZCBub3QgY3JlYXRlIHRlbXAgZGlyIGZv ciBjaGlsZCBzdGRvdXQiOworKyAgICByZXR1cm4gZmFsc2U7CisrICB9CisrCisrICBpZiAoIUNy ZWF0ZVRlbXBvcmFyeUZpbGVJbkRpcih0ZW1wX2Rpcl8uR2V0UGF0aCgpLCAmdGVtcF9maWxlX25h bWVfKSkgeworKyAgICBQTE9HKEVSUk9SKSA8PCAiQ291bGQgbm90IGNyZWF0ZSB0ZW1wIGZpbGUg Zm9yIGNoaWxkIHN0ZG91dCI7CisrICAgIHJldHVybiBmYWxzZTsKKysgIH0KKysKKysgIFNFQ1VS SVRZX0FUVFJJQlVURVMgYXR0cnMgPSB7fTsKKysgIGF0dHJzLm5MZW5ndGggPSBzaXplb2YoYXR0 cnMpOworKyAgYXR0cnMuYkluaGVyaXRIYW5kbGUgPSB0cnVlOworKworKyAgY2hpbGRfc3Rkb3V0 X2hhbmRsZV8uU2V0KAorKyAgICAgIDo6Q3JlYXRlRmlsZSh0ZW1wX2ZpbGVfbmFtZV8udmFsdWUo KS5jX3N0cigpLCBHRU5FUklDX1dSSVRFLAorKyAgICAgICAgICAgICAgICAgICBGSUxFX1NIQVJF X1dSSVRFIHwgRklMRV9TSEFSRV9SRUFEIHwgRklMRV9TSEFSRV9ERUxFVEUsCisrICAgICAgICAg ICAgICAgICAgICZhdHRycywgT1BFTl9FWElTVElORywgMCwgbnVsbHB0cikpOworKyAgaWYgKCFj aGlsZF9zdGRvdXRfaGFuZGxlXy5Jc1ZhbGlkKCkpIHsKKysgICAgUExPRyhFUlJPUikgPDwgIkNv dWxkIG5vdCBvcGVuIGNoaWxkIHN0ZG91dCBmaWxlIjsKKysgICAgcmV0dXJuIGZhbHNlOworKyAg fQorKworKyAgcmV0dXJuIHRydWU7CisrfQorKworK3ZvaWQgQ2hpbGRQcm9jZXNzTG9nZ2VyOjpV cGRhdGVMYXVuY2hPcHRpb25zKAorKyAgICBiYXNlOjpMYXVuY2hPcHRpb25zKiBvcHRpb25zKSBj b25zdCB7CisrICBEQ0hFQ0soY2hpbGRfc3Rkb3V0X2hhbmRsZV8uSXNWYWxpZCgpKTsKKysgIG9w dGlvbnMtPmhhbmRsZXNfdG9faW5oZXJpdC5wdXNoX2JhY2soY2hpbGRfc3Rkb3V0X2hhbmRsZV8u R2V0KCkpOworKyAgb3B0aW9ucy0+c3RkaW5faGFuZGxlID0gSU5WQUxJRF9IQU5ETEVfVkFMVUU7 CisrICBvcHRpb25zLT5zdGRvdXRfaGFuZGxlID0gY2hpbGRfc3Rkb3V0X2hhbmRsZV8uR2V0KCk7 CisrICBvcHRpb25zLT5zdGRlcnJfaGFuZGxlID0gY2hpbGRfc3Rkb3V0X2hhbmRsZV8uR2V0KCk7 CisrfQorKworK3ZvaWQgQ2hpbGRQcm9jZXNzTG9nZ2VyOjpVcGRhdGVTYW5kYm94UG9saWN5KAor KyAgICBzYW5kYm94OjpUYXJnZXRQb2xpY3kqIHBvbGljeSkgY29uc3QgeworKyAgRENIRUNLKGNo aWxkX3N0ZG91dF9oYW5kbGVfLklzVmFsaWQoKSk7CisrICBwb2xpY3ktPlNldFN0ZG91dEhhbmRs ZShjaGlsZF9zdGRvdXRfaGFuZGxlXy5HZXQoKSk7CisrICBwb2xpY3ktPlNldFN0ZGVyckhhbmRs ZShjaGlsZF9zdGRvdXRfaGFuZGxlXy5HZXQoKSk7CisrfQorKworK3ZvaWQgQ2hpbGRQcm9jZXNz TG9nZ2VyOjpEdW1wTG9ncygpIGNvbnN0IHsKKysgIERDSEVDSyghdGVtcF9maWxlX25hbWVfLmVt cHR5KCkpOworKworKyAgaWYgKCFiYXNlOjpQYXRoRXhpc3RzKHRlbXBfZmlsZV9uYW1lXykpIHsK KysgICAgTE9HKEVSUk9SKSA8PCAiQ2hpbGQgcHJvY2VzcyBsb2cgZmlsZSBkb2Vzbid0IGV4aXN0 IjsKKysgICAgcmV0dXJuOworKyAgfQorKworKyAgLy8gQ29sbGVjdCB0aGUgY2hpbGQgcHJvY2Vz cyBsb2cgZmlsZSwgYW5kIGR1bXAgdGhlIGNvbnRlbnRzLCB0byBoZWxwCisrICAvLyBkZWJ1Z2dp bmcgZmFpbHVyZXMuCisrICBzdGQ6OnN0cmluZyBsb2dfZmlsZV9jb250ZW50czsKKysgIGlmICgh YmFzZTo6UmVhZEZpbGVUb1N0cmluZyh0ZW1wX2ZpbGVfbmFtZV8sICZsb2dfZmlsZV9jb250ZW50 cykpIHsKKysgICAgTE9HKEVSUk9SKSA8PCAiRmFpbGVkIHRvIHJlYWQgY2hpbGQgcHJvY2VzcyBs b2cgZmlsZSI7CisrICAgIHJldHVybjsKKysgIH0KKysKKysgIHN0ZDo6dmVjdG9yPGJhc2U6OlN0 cmluZ1BpZWNlPiBsaW5lcyA9CisrICAgICAgYmFzZTo6U3BsaXRTdHJpbmdQaWVjZShsb2dfZmls ZV9jb250ZW50cywgIlxuIiwgYmFzZTo6VFJJTV9XSElURVNQQUNFLAorKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgYmFzZTo6U1BMSVRfV0FOVF9OT05FTVBUWSk7CisrICBMT0coRVJST1Ip IDw8ICJEdW1waW5nIGNoaWxkIHByb2Nlc3MgbG9ncyI7CisrICBmb3IgKGNvbnN0IGF1dG8mIGxp bmUgOiBsaW5lcykgeworKyAgICBMT0coRVJST1IpIDw8ICJDaGlsZCBwcm9jZXNzOiAiIDw8IGxp bmU7CisrICB9CisrfQorKworK30gIC8vIG5hbWVzcGFjZSBjaHJvbWVfY2xlYW5lcgorZGlmZiAt LWdpdCBhL2Nocm9tZS9jaHJvbWVfY2xlYW5lci90ZXN0L2NoaWxkX3Byb2Nlc3NfbG9nZ2VyLmgg Yi9jaHJvbWUvY2hyb21lX2NsZWFuZXIvdGVzdC9jaGlsZF9wcm9jZXNzX2xvZ2dlci5oCituZXcg ZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMDAwMC4uMjE1ZmE5MTFkNzg5OQorLS0t IC9kZXYvbnVsbAorKysrIGIvY2hyb21lL2Nocm9tZV9jbGVhbmVyL3Rlc3QvY2hpbGRfcHJvY2Vz c19sb2dnZXIuaAorQEAgLTAsMCArMSw2MiBAQAorKy8vIENvcHlyaWdodCAyMDE5IFRoZSBDaHJv bWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKy8vIFVzZSBvZiB0aGlzIHNvdXJj ZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKKysv LyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorKworKyNpZm5kZWYgQ0hST01FX0NIUk9NRV9D TEVBTkVSX1RFU1RfQ0hJTERfUFJPQ0VTU19MT0dHRVJfSF8KKysjZGVmaW5lIENIUk9NRV9DSFJP TUVfQ0xFQU5FUl9URVNUX0NISUxEX1BST0NFU1NfTE9HR0VSX0hfCisrCisrI2luY2x1ZGUgImJh c2UvZmlsZXMvc2NvcGVkX3RlbXBfZGlyLmgiCisrI2luY2x1ZGUgImJhc2UvcHJvY2Vzcy9sYXVu Y2guaCIKKysjaW5jbHVkZSAiYmFzZS93aW4vc2NvcGVkX2hhbmRsZS5oIgorKyNpbmNsdWRlICJz YW5kYm94L3dpbi9zcmMvc2FuZGJveF9wb2xpY3kuaCIKKysKKytuYW1lc3BhY2UgY2hyb21lX2Ns ZWFuZXIgeworKworKy8vIFJlZGlyZWN0cyBzdGRpbiBhbmQgc3Rkb3V0IG9mIGEgY2hpbGQgcHJv Y2VzcyB0byBhIHRlbXAgZmlsZS4gVGVzdHMgdGhhdAorKy8vIHNwYXduIGNoaWxkcmVuIGNhbiBh ZGQgdGhlIGNvbnRlbnRzIG9mIHRoZSB0ZW1wIGZpbGUgdG8gdGhlIHRlc3Qgb3V0cHV0LgorKy8v CisrLy8gTm90ZSB0aGF0IGlmIHRoZSBjaGlsZCBwcm9jZXNzIHNldHMgdXAgU2NvcGVkTG9nZ2lu ZywgRVJST1IgYW5kIEZBVEFMIGxldmVsCisrLy8gbG9ncyB3aWxsIHN0aWxsIGJlIGNhcHR1cmVk IGJ5IHRoaXMsIGJ1dCBvdGhlciBsb2dzIHdpbGwgc3RhcnQgZ29pbmcgdG8gdGhlCisrLy8gU2Nv cGVkTG9nZ2luZyBsb2cgZmlsZS4gdGVzdF9tYWluLmNjIHNldHMgdXAgU2NvcGVkTG9nZ2luZyBz byB1c3VhbGx5IHRoaXMKKysvLyBjbGFzcyB3aWxsIGNhcHR1cmU6CisrLy8KKysvLyAxLiBBbGwg bG9nIGxpbmVzIGZyb20gYmVmb3JlIHRoZSBTY29wZWRMb2dnaW5nIGNvbnN0cnVjdG9yLgorKy8v IDIuIEVSUk9SIGFuZCBGQVRBTCBsb2cgbGluZXMgZnJvbSBhZnRlciB0aGF0LgorKy8vIDMuIHN0 ZG91dCBhbmQgc3RkZXJyIG91dHB1dCB0aGF0IGRvZXNuJ3QgZ28gdGhyb3VnaCB0aGUgbG9nZ2lu ZyBzeXN0ZW0uCisrLy8gNC4gU3RhY2sgdHJhY2VzIGZyb20gYW55IGNyYXNoZXMuCisrLy8KKysv LyBUaGlzIHNob3VsZCBiZSBhbGwgdGhhdCdzIG5lZWRlZCB0byBkaWFnbm9zZSBlcnJvcnMgaW4g dGVzdHMuCisrY2xhc3MgQ2hpbGRQcm9jZXNzTG9nZ2VyIHsKKysgcHVibGljOgorKyAgQ2hpbGRQ cm9jZXNzTG9nZ2VyKCk7CisrICB+Q2hpbGRQcm9jZXNzTG9nZ2VyKCk7CisrCisrICAvLyBDcmVh dGVzIGEgdGVtcCBmaWxlIGZvciBjaGlsZCBwcm9jZXNzZXMgdG8gbG9nIHRvLiBMb2dzIGFuIGVy cm9yIGFuZAorKyAgLy8gcmV0dXJucyBmYWxzZSBvbiBmYWlsdXJlLgorKyAgYm9vbCBJbml0aWFs aXplKCk7CisrCisrICAvLyBVcGRhdGVzIHxvcHRpb25zfCB0byBkaXJlY3QgdGhlIGNoaWxkIHN0 ZG91dCBhbmQgc3RkZXJyIHRvIHRoZSB0ZW1wIGZpbGUuCisrICAvLyBGb3IgdXNlIHdpdGggYmFz ZTo6TGF1bmNoUHJvY2VzcyBhbmQgYmFzZTo6U3Bhd25NdWx0aVByb2Nlc3NUZXN0Q2hpbGQuCisr ICB2b2lkIFVwZGF0ZUxhdW5jaE9wdGlvbnMoYmFzZTo6TGF1bmNoT3B0aW9ucyogb3B0aW9ucykg Y29uc3Q7CisrCisrICAvLyBVcGRhdGVzIHxwb2xpY3l8IHRvIGRpcmVjdCB0aGUgY2hpbGQgc3Rk b3V0IGFuZCBzdGRlcnIgdG8gdGhlIHRlbXAgZmlsZS4KKysgIC8vIEZvciB1c2Ugd2l0aCBzYW5k Ym94OjpCcm9rZXJTZXJ2aWNlczo6U3Bhd25UYXJnZXQuCisrICB2b2lkIFVwZGF0ZVNhbmRib3hQ b2xpY3koc2FuZGJveDo6VGFyZ2V0UG9saWN5KiBwb2xpY3kpIGNvbnN0OworKworKyAgLy8gV3Jp dGVzIGV2ZXJ5IGxpbmUgaW4gdGhlIHRlbXAgZmlsZSB1c2luZyBMT0coRVJST1IpIHNvIHRoYXQg YWxsIGxpbmVzIGFyZQorKyAgLy8gY2FwdHVyZWQgaW4gdGhlIHRlc3Qgc3VpdGUgb3V0cHV0LiBU aGUgY2xhc3MtbGV2ZWwgY29tbWVudCBhYm92ZSBkZXNjcmliZXMKKysgIC8vIHdoaWNoIGxvZyBs aW5lcyBmcm9tIHRoZSBjaGlsZCB3aWxsIGJlIGNhcHR1cmVkLgorKyAgdm9pZCBEdW1wTG9ncygp IGNvbnN0OworKworKyBwcml2YXRlOgorKyAgQ2hpbGRQcm9jZXNzTG9nZ2VyKGNvbnN0IENoaWxk UHJvY2Vzc0xvZ2dlciYgb3RoZXIpID0gZGVsZXRlOworKyAgQ2hpbGRQcm9jZXNzTG9nZ2VyJiBv cGVyYXRvcj0oY29uc3QgQ2hpbGRQcm9jZXNzTG9nZ2VyJiBvdGhlcikgPSBkZWxldGU7CisrCisr ICBiYXNlOjpTY29wZWRUZW1wRGlyIHRlbXBfZGlyXzsKKysgIGJhc2U6OkZpbGVQYXRoIHRlbXBf ZmlsZV9uYW1lXzsKKysgIGJhc2U6Ondpbjo6U2NvcGVkSGFuZGxlIGNoaWxkX3N0ZG91dF9oYW5k bGVfOworK307CisrCisrfSAgLy8gbmFtZXNwYWNlIGNocm9tZV9jbGVhbmVyCisrCisrI2VuZGlm ICAvLyBDSFJPTUVfQ0hST01FX0NMRUFORVJfVEVTVF9DSElMRF9QUk9DRVNTX0xPR0dFUl9IXwor ZGlmZiAtLWdpdCBhL2Nocm9tZS9jaHJvbWVfY2xlYW5lci90ZXN0L2NsZWFuZXJfdGVzdC5jYyBi L2Nocm9tZS9jaHJvbWVfY2xlYW5lci90ZXN0L2NsZWFuZXJfdGVzdC5jYworaW5kZXggZDZkZjE3 ZTM1MTZmMS4uZjc3ODEwM2JmZGFkMyAxMDA2NDQKKy0tLSBhL2Nocm9tZS9jaHJvbWVfY2xlYW5l ci90ZXN0L2NsZWFuZXJfdGVzdC5jYworKysrIGIvY2hyb21lL2Nocm9tZV9jbGVhbmVyL3Rlc3Qv Y2xlYW5lcl90ZXN0LmNjCitAQCAtMjQsNiArMjQsNyBAQAorICNpbmNsdWRlICJjaHJvbWUvY2hy b21lX2NsZWFuZXIvb3MvcHJlX2ZldGNoZWRfcGF0aHMuaCIKKyAjaW5jbHVkZSAiY2hyb21lL2No cm9tZV9jbGVhbmVyL3B1cF9kYXRhL3B1cF9kYXRhLmgiCisgI2luY2x1ZGUgImNocm9tZS9jaHJv bWVfY2xlYW5lci9wdXBfZGF0YS90ZXN0X3V3cy5oIgorKyNpbmNsdWRlICJjaHJvbWUvY2hyb21l X2NsZWFuZXIvdGVzdC9jaGlsZF9wcm9jZXNzX2xvZ2dlci5oIgorICNpbmNsdWRlICJjaHJvbWUv Y2hyb21lX2NsZWFuZXIvdGVzdC90ZXN0X3V0aWwuaCIKKyAjaW5jbHVkZSAiY2hyb21lL2Nocm9t ZV9jbGVhbmVyL3ppcF9hcmNoaXZlci9zYW5kYm94ZWRfemlwX2FyY2hpdmVyLmgiCisgI2luY2x1 ZGUgImNvbXBvbmVudHMvY2hyb21lX2NsZWFuZXIvcHVibGljL2NvbnN0YW50cy9jb25zdGFudHMu aCIKK0BAIC0zMTEsOCArMzEyLDE0IEBAIGNsYXNzIENsZWFuZXJUZXN0CisgCisgICB2b2lkIEV4 cGVjdEV4aXRDb2RlKGNvbnN0IGJhc2U6OkNvbW1hbmRMaW5lJiBjb21tYW5kX2xpbmUsCisgICAg ICAgICAgICAgICAgICAgICAgIGludCBleHBlY3RlZF9leGl0X2NvZGUpIHsKKy0gICAgYmFzZTo6 UHJvY2VzcyBwcm9jZXNzKAorLSAgICAgICAgYmFzZTo6TGF1bmNoUHJvY2Vzcyhjb21tYW5kX2xp bmUsIGJhc2U6OkxhdW5jaE9wdGlvbnMoKSkpOworKyAgICBjaHJvbWVfY2xlYW5lcjo6Q2hpbGRQ cm9jZXNzTG9nZ2VyIGxvZ2dlcjsKKysgICAgQVNTRVJUX1RSVUUobG9nZ2VyLkluaXRpYWxpemUo KSk7CisrCisrICAgIGJhc2U6OkxhdW5jaE9wdGlvbnMgb3B0aW9uczsKKysgICAgbG9nZ2VyLlVw ZGF0ZUxhdW5jaE9wdGlvbnMoJm9wdGlvbnMpOworKyAgICBiYXNlOjpQcm9jZXNzIHByb2Nlc3Mo YmFzZTo6TGF1bmNoUHJvY2Vzcyhjb21tYW5kX2xpbmUsIG9wdGlvbnMpKTsKKysgICAgaWYgKCFw cm9jZXNzLklzVmFsaWQoKSkKKysgICAgICBsb2dnZXIuRHVtcExvZ3MoKTsKKyAgICAgQVNTRVJU X1RSVUUocHJvY2Vzcy5Jc1ZhbGlkKCkpOworIAorICAgICBpbnQgZXhpdF9jb2RlID0gLTE7CitA QCAtMzIwLDcgKzMyNyw4IEBAIGNsYXNzIENsZWFuZXJUZXN0CisgICAgICAgICBiYXNlOjpUaW1l RGVsdGE6OkZyb21NaW51dGVzKDEwKSwgJmV4aXRfY29kZSk7CisgICAgIEVYUEVDVF9UUlVFKGV4 aXRlZF93aXRoaW5fdGltZW91dCk7CisgICAgIEVYUEVDVF9FUShleHBlY3RlZF9leGl0X2NvZGUs IGV4aXRfY29kZSk7CistCisrICAgIGlmICghZXhpdGVkX3dpdGhpbl90aW1lb3V0IHx8IGV4cGVj dGVkX2V4aXRfY29kZSAhPSBleGl0X2NvZGUpCisrICAgICAgbG9nZ2VyLkR1bXBMb2dzKCk7Cisg ICAgIGlmICghZXhpdGVkX3dpdGhpbl90aW1lb3V0KQorICAgICAgIHByb2Nlc3MuVGVybWluYXRl KC8qZXhpdF9jb2RlPSovLTEsIC8qd2FpdD0qL2ZhbHNlKTsKKyAgIH0KK2RpZmYgLS1naXQgYS9j aHJvbWUvY2hyb21lX2NsZWFuZXIvdGVzdC9zZWN1cmVfZGxsX2xvYWRpbmdfdGVzdC5jYyBiL2No cm9tZS9jaHJvbWVfY2xlYW5lci90ZXN0L3NlY3VyZV9kbGxfbG9hZGluZ190ZXN0LmNjCitpbmRl eCBmZTEwYzQ0MzQ2YjVlLi45MmUyZGIxOWZkZTZjIDEwMDY0NAorLS0tIGEvY2hyb21lL2Nocm9t ZV9jbGVhbmVyL3Rlc3Qvc2VjdXJlX2RsbF9sb2FkaW5nX3Rlc3QuY2MKKysrKyBiL2Nocm9tZS9j aHJvbWVfY2xlYW5lci90ZXN0L3NlY3VyZV9kbGxfbG9hZGluZ190ZXN0LmNjCitAQCAtOCwyMiAr OCwxNyBAQAorIAorICNpbmNsdWRlIDxtZW1vcnk+CisgI2luY2x1ZGUgPHNldD4KKy0jaW5jbHVk ZSA8c3RyaW5nPgorICNpbmNsdWRlIDx2ZWN0b3I+CisgCisgI2luY2x1ZGUgImJhc2UvYmFzZV9w YXRocy5oIgorICNpbmNsdWRlICJiYXNlL2NvbW1hbmRfbGluZS5oIgorICNpbmNsdWRlICJiYXNl L2ZpbGVzL2ZpbGVfcGF0aC5oIgorLSNpbmNsdWRlICJiYXNlL2ZpbGVzL2ZpbGVfdXRpbC5oIgor LSNpbmNsdWRlICJiYXNlL2ZpbGVzL3Njb3BlZF90ZW1wX2Rpci5oIgorICNpbmNsdWRlICJiYXNl L2xvZ2dpbmcuaCIKKyAjaW5jbHVkZSAiYmFzZS9wYXRoX3NlcnZpY2UuaCIKKyAjaW5jbHVkZSAi YmFzZS9wcm9jZXNzL2xhdW5jaC5oIgorICNpbmNsdWRlICJiYXNlL3Byb2Nlc3MvcHJvY2Vzcy5o IgorICNpbmNsdWRlICJiYXNlL3N0cmluZ3Mvc3RyaW5nMTYuaCIKKyAjaW5jbHVkZSAiYmFzZS9z dHJpbmdzL3N0cmluZ19udW1iZXJfY29udmVyc2lvbnMuaCIKKy0jaW5jbHVkZSAiYmFzZS9zdHJp bmdzL3N0cmluZ19waWVjZS5oIgorLSNpbmNsdWRlICJiYXNlL3N0cmluZ3Mvc3RyaW5nX3NwbGl0 LmgiCisgI2luY2x1ZGUgImJhc2Uvc3RyaW5ncy9zdHJpbmdfdXRpbC5oIgorICNpbmNsdWRlICJi YXNlL3N5bmNocm9uaXphdGlvbi93YWl0YWJsZV9ldmVudC5oIgorICNpbmNsdWRlICJiYXNlL3Rl c3QvdGVzdF90aW1lb3V0cy5oIgorQEAgLTMyLDU0ICsyNywxNiBAQAorICNpbmNsdWRlICJjaHJv bWUvY2hyb21lX2NsZWFuZXIvY29uc3RhbnRzL2Nocm9tZV9jbGVhbmVyX3N3aXRjaGVzLmgiCisg I2luY2x1ZGUgImNocm9tZS9jaHJvbWVfY2xlYW5lci9vcy9pbmhlcml0YWJsZV9ldmVudC5oIgor ICNpbmNsdWRlICJjaHJvbWUvY2hyb21lX2NsZWFuZXIvb3MvcHJvY2Vzcy5oIgorKyNpbmNsdWRl ICJjaHJvbWUvY2hyb21lX2NsZWFuZXIvdGVzdC9jaGlsZF9wcm9jZXNzX2xvZ2dlci5oIgorICNp bmNsdWRlICJjaHJvbWUvY2hyb21lX2NsZWFuZXIvdGVzdC90ZXN0X3V0aWwuaCIKKyAjaW5jbHVk ZSAiY29tcG9uZW50cy9jaHJvbWVfY2xlYW5lci9wdWJsaWMvY29uc3RhbnRzL2NvbnN0YW50cy5o IgorICNpbmNsdWRlICJjb21wb25lbnRzL2Nocm9tZV9jbGVhbmVyL3Rlc3QvdGVzdF9uYW1lX2hl bHBlci5oIgorICNpbmNsdWRlICJ0ZXN0aW5nL2d0ZXN0L2luY2x1ZGUvZ3Rlc3QvZ3Rlc3QuaCIK KyAKKy1uYW1lc3BhY2UgeworLQorLXZvaWQgUHJpbnRDaGlsZFByb2Nlc3NMb2dzKGNvbnN0IGJh c2U6OkZpbGVQYXRoJiBsb2dfZGlyLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhc2U6 OlN0cmluZ1BpZWNlMTYgZmlsZV9uYW1lKSB7CistICBiYXNlOjpzdHJpbmcxNiBiYXNlX25hbWU7 CistICBpZiAoZmlsZV9uYW1lID09IEwic29mdHdhcmVfcmVwb3J0ZXJfdG9vbCIpIHsKKy0gICAg YmFzZV9uYW1lID0gTCJzb2Z0d2FyZV9yZXBvcnRlcl90b29sIjsKKy0gIH0gZWxzZSBpZiAoZmls ZV9uYW1lID09IEwiY2hyb21lX2NsZWFudXBfdG9vbCIpIHsKKy0gICAgYmFzZV9uYW1lID0gTCJj aHJvbWVfY2xlYW51cCI7CistICB9IGVsc2UgeworLSAgICBMT0coRVJST1IpIDw8ICJVbmtub3du IGZpbGUgbmFtZSAiIDw8IGZpbGVfbmFtZS5kYXRhKCk7CistICAgIHJldHVybjsKKy0gIH0KKy0K Ky0gIGJhc2U6OkZpbGVQYXRoIGxvZ19wYXRoID0gbG9nX2Rpci5BcHBlbmQoYmFzZV9uYW1lKS5B ZGRFeHRlbnNpb24oTCJsb2ciKTsKKy0KKy0gIGlmICghYmFzZTo6UGF0aEV4aXN0cyhsb2dfcGF0 aCkpIHsKKy0gICAgTE9HKEVSUk9SKSA8PCAiQ2hpbGQgcHJvY2VzcyBsb2cgZmlsZSBkb2Vzbid0 IGV4aXN0IjsKKy0gICAgcmV0dXJuOworLSAgfQorLQorLSAgLy8gQ29sbGVjdCB0aGUgY2hpbGQg cHJvY2VzcyBsb2cgZmlsZSwgYW5kIGR1bXAgdGhlIGNvbnRlbnRzLCB0byBoZWxwCistICAvLyBk ZWJ1Z2dpbmcgZmFpbHVyZXMuCistICBzdGQ6OnN0cmluZyBsb2dfZmlsZV9jb250ZW50czsKKy0g IGlmICghYmFzZTo6UmVhZEZpbGVUb1N0cmluZyhsb2dfcGF0aCwgJmxvZ19maWxlX2NvbnRlbnRz KSkgeworLSAgICBMT0coRVJST1IpIDw8ICJGYWlsZWQgdG8gcmVhZCBjaGlsZCBwcm9jZXNzIGxv ZyBmaWxlIjsKKy0gICAgcmV0dXJuOworLSAgfQorLQorLSAgc3RkOjp2ZWN0b3I8YmFzZTo6U3Ry aW5nUGllY2U+IGxpbmVzID0KKy0gICAgICBiYXNlOjpTcGxpdFN0cmluZ1BpZWNlKGxvZ19maWxl X2NvbnRlbnRzLCAiXG4iLCBiYXNlOjpUUklNX1dISVRFU1BBQ0UsCistICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBiYXNlOjpTUExJVF9XQU5UX05PTkVNUFRZKTsKKy0gIExPRyhFUlJPUikg PDwgIkR1bXBpbmcgY2hpbGQgcHJvY2VzcyBsb2dzIjsKKy0gIGZvciAoY29uc3QgYXV0byYgbGlu ZSA6IGxpbmVzKSB7CistICAgIExPRyhFUlJPUikgPDwgIkNoaWxkIHByb2Nlc3M6ICIgPDwgbGlu ZTsKKy0gIH0KKy19CistCistfSAgLy8gbmFtZXNwYWNlCistCisgY2xhc3MgU2VjdXJlRExMTG9h ZGluZ1Rlc3QgOiBwdWJsaWMgdGVzdGluZzo6VGVzdFdpdGhQYXJhbTxiYXNlOjpzdHJpbmcxNj4g eworICBwcm90ZWN0ZWQ6CisgICB2b2lkIFNldFVwKCkgb3ZlcnJpZGUgeworKyAgICBBU1NFUlRf VFJVRShjaGlsZF9wcm9jZXNzX2xvZ2dlcl8uSW5pdGlhbGl6ZSgpKTsKKyAgICAgYmFzZTo6Rmls ZVBhdGggb3V0X2RpcjsKKyAgICAgQVNTRVJUX1RSVUUoYmFzZTo6UGF0aFNlcnZpY2U6OkdldChi YXNlOjpESVJfRVhFLCAmb3V0X2RpcikpOworICAgICBleGVfcGF0aF8gPSBvdXRfZGlyLkFwcGVu ZChHZXRQYXJhbSgpICsgTCIuZXhlIik7CitAQCAtMTA0LDggKzYxLDYgQEAgY2xhc3MgU2VjdXJl RExMTG9hZGluZ1Rlc3QgOiBwdWJsaWMgdGVzdGluZzo6VGVzdFdpdGhQYXJhbTxiYXNlOjpzdHJp bmcxNj4geworICAgICAgICAgYmFzZTo6TnVtYmVyVG9TdHJpbmcxNigKKyAgICAgICAgICAgICBi YXNlOjp3aW46OkhhbmRsZVRvVWludDMyKGluaXRfZG9uZV9ub3RpZmllci0+aGFuZGxlKCkpKSk7 CisgICAgIGNvbW1hbmRfbGluZS5BcHBlbmRTd2l0Y2goY2hyb21lX2NsZWFuZXI6OmtMb2FkRW1w dHlETExTd2l0Y2gpOworLSAgICBjb21tYW5kX2xpbmUuQXBwZW5kU3dpdGNoUGF0aChjaHJvbWVf Y2xlYW5lcjo6a1Rlc3RMb2dnaW5nUGF0aFN3aXRjaCwKKy0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgbG9nX2Rpci5HZXRQYXRoKCkpOworIAorICNpZiAhQlVJTERGTEFHKElTX09G RklDSUFMX0NIUk9NRV9DTEVBTkVSX0JVSUxEKQorICAgICBpZiAoZGlzYWJsZV9zZWN1cmVfZGxs X2xvYWRpbmcpCitAQCAtMTIxLDcgKzc2LDEyIEBAIGNsYXNzIFNlY3VyZURMTExvYWRpbmdUZXN0 IDogcHVibGljIHRlc3Rpbmc6OlRlc3RXaXRoUGFyYW08YmFzZTo6c3RyaW5nMTY+IHsKKyAKKyAg ICAgYmFzZTo6TGF1bmNoT3B0aW9ucyBvcHRpb25zOworICAgICBvcHRpb25zLmhhbmRsZXNfdG9f aW5oZXJpdC5wdXNoX2JhY2soaW5pdF9kb25lX25vdGlmaWVyLT5oYW5kbGUoKSk7CisrICAgIGNo aWxkX3Byb2Nlc3NfbG9nZ2VyXy5VcGRhdGVMYXVuY2hPcHRpb25zKCZvcHRpb25zKTsKKyAgICAg YmFzZTo6UHJvY2VzcyBwcm9jZXNzID0gYmFzZTo6TGF1bmNoUHJvY2Vzcyhjb21tYW5kX2xpbmUs IG9wdGlvbnMpOworKyAgICBpZiAoIXByb2Nlc3MuSXNWYWxpZCgpKSB7CisrICAgICAgY2hpbGRf cHJvY2Vzc19sb2dnZXJfLkR1bXBMb2dzKCk7CisrICAgICAgcmV0dXJuIHByb2Nlc3M7CisrICAg IH0KKyAKKyAgICAgLy8gTWFrZSBzdXJlIHRoZSBwcm9jZXNzIGhhcyBmaW5pc2hlZCBpdHMgaW5p dGlhbGl6YXRpb24gKGluY2x1ZGluZyBsb2FkaW5nCisgICAgIC8vIERMTHMpLiBBbHNvIGNoZWNr IHRoZSBwcm9jZXNzIGhhbmRsZSBpbiBjYXNlIGl0IGV4aXRzIHdpdGggYW4gZXJyb3IuCitAQCAt MTM2LDcgKzk2LDcgQEAgY2xhc3MgU2VjdXJlRExMTG9hZGluZ1Rlc3QgOiBwdWJsaWMgdGVzdGlu Zzo6VGVzdFdpdGhQYXJhbTxiYXNlOjpzdHJpbmcxNj4geworICAgICAgIFBMT0dfSUYoRVJST1Is ICE6OkdldEV4aXRDb2RlUHJvY2Vzcyhwcm9jZXNzLkhhbmRsZSgpLCAmZXhpdF9jb2RlKSk7Cisg ICAgICAgQUREX0ZBSUxVUkUoKSA8PCAiUHJvY2VzcyBleGl0ZWQgd2l0aCAiIDw8IGV4aXRfY29k ZQorICAgICAgICAgICAgICAgICAgICAgPDwgIiBiZWZvcmUgc2lnbmFsbGluZyBpbml0X2RvbmVf bm90aWZpZXIiOworLSAgICAgIFByaW50Q2hpbGRQcm9jZXNzTG9ncyhsb2dfZGlyLkdldFBhdGgo KSwgR2V0UGFyYW0oKSk7CisrICAgICAgY2hpbGRfcHJvY2Vzc19sb2dnZXJfLkR1bXBMb2dzKCk7 CisgICAgIH0gZWxzZSB7CisgICAgICAgRVhQRUNUX0VRKHdhaXRfcmVzdWx0LCBXQUlUX09CSkVD VF8wKTsKKyAgICAgfQorQEAgLTE1Nyw2ICsxMTcsNyBAQCBjbGFzcyBTZWN1cmVETExMb2FkaW5n VGVzdCA6IHB1YmxpYyB0ZXN0aW5nOjpUZXN0V2l0aFBhcmFtPGJhc2U6OnN0cmluZzE2PiB7Cisg ICB9CisgCisgIHByaXZhdGU6CisrICBjaHJvbWVfY2xlYW5lcjo6Q2hpbGRQcm9jZXNzTG9nZ2Vy IGNoaWxkX3Byb2Nlc3NfbG9nZ2VyXzsKKyAgIGJhc2U6OkZpbGVQYXRoIGV4ZV9wYXRoXzsKKyAg IGJhc2U6OkZpbGVQYXRoIGVtcHR5X2RsbF9wYXRoXzsKKyB9OwpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9lbGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9jaHJvbWl1bS0wMDQtdXBzdHJlYW1fdXNlX2NoaWxk cHJvY2Vzc2xvZ2dlci5wYXRjaC5wYXRjaCBiL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3BhdGNo ZXMvY2hyb21pdW0tMDA0LXVwc3RyZWFtX3VzZV9jaGlsZHByb2Nlc3Nsb2dnZXIucGF0Y2gucGF0 Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjZhMmE0ODkzZDQ0Ci0t LSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9jaHJvbWl1 bS0wMDQtdXBzdHJlYW1fdXNlX2NoaWxkcHJvY2Vzc2xvZ2dlci5wYXRjaC5wYXRjaApAQCAtMCww ICsxLDE4NiBAQAorRnJvbSA4OTA5NTZiZTE0OTZiNjI1OTY3ZGYwYmJmNjIwZThmYzRhZWZiMzkw IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSm9lIE1hc29uIDxqb2Vub3RjaGFybGVz QGdvb2dsZS5jb20+CitEYXRlOiBXZWQsIDQgRGVjIDIwMTkgMTg6MjI6MzQgKzAwMDAKK1N1Ympl Y3Q6IFtQQVRDSF0gVXNlIENoaWxkUHJvY2Vzc0xvZ2dlciBpbiBGaWxlUmVtb3ZlclF1YXJhbnRp bmVUZXN0IGFuZAorIFNhbmRib3hlZFNob3J0Y3V0UGFyc2VyVGVzdAorTUlNRS1WZXJzaW9uOiAx LjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFu c2Zlci1FbmNvZGluZzogOGJpdAorCitSPeKAi3Byb2JlcmdlCisKKyhjaGVycnkgcGlja2VkIGZy b20gY29tbWl0IDgxNDU4MzgzNGViZjM1ZWRlNWRhZDBiYTM1NzQzNDM4NTFiMWE4YmQpCisKK0J1 ZzogMTAzMDMzMworQ2hhbmdlLUlkOiBJNjZiOWIzZGM3Mzk4MGU4ZWQwM2VlMzdkODllYjE3MmI1 MzMwYzkxMworUmV2aWV3ZWQtb246IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3Lmdvb2dsZXNvdXJj ZS5jb20vYy9jaHJvbWl1bS9zcmMvKy8xOTQ4MjM1CitDb21taXQtUXVldWU6IEpvZSBNYXNvbiA8 am9lbm90Y2hhcmxlc0BjaHJvbWl1bS5vcmc+CitSZXZpZXdlZC1ieTogcHJvYmVyZ2UgPHByb2Jl cmdlQGNocm9taXVtLm9yZz4KK0NyLU9yaWdpbmFsLUNvbW1pdC1Qb3NpdGlvbjogcmVmcy9oZWFk cy9tYXN0ZXJAeyM3MjExOTN9CitSZXZpZXdlZC1vbjogaHR0cHM6Ly9jaHJvbWl1bS1yZXZpZXcu Z29vZ2xlc291cmNlLmNvbS9jL2Nocm9taXVtL3NyYy8rLzE5NDgxMDIKK1Jldmlld2VkLWJ5OiBK b2UgTWFzb24gPGpvZW5vdGNoYXJsZXNAY2hyb21pdW0ub3JnPgorQ3ItQ29tbWl0LVBvc2l0aW9u OiByZWZzL2JyYW5jaC1oZWFkcy8zOTA0QHsjOTE1fQorQ3ItQnJhbmNoZWQtRnJvbTogNjc1OTY4 YThjNjU3YTNiZDljMWMyYzIwYzVkMjkzNTU3N2JiYzVlNi1yZWZzL2hlYWRzL21hc3RlckB7IzY5 Mzk1NH0KKy0tLQorIC4uLi9vcy9maWxlX3JlbW92ZXJfdW5pdHRlc3QuY2MgICAgICAgICAgICAg ICB8IDM5ICsrKysrKysrKysrKysrKystLS0KKyAuLi4vcGFyc2Vycy9zaG9ydGN1dF9wYXJzZXIv YnJva2VyL0JVSUxELmduICAgfCAgMSArCisgLi4uL3NhbmRib3hlZF9zaG9ydGN1dF9wYXJzZXJf dW5pdHRlc3QuY2MgICAgIHwgMzUgKysrKysrKysrKysrKysrLS0KKyAzIGZpbGVzIGNoYW5nZWQs IDY3IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jaHJvbWUv Y2hyb21lX2NsZWFuZXIvb3MvZmlsZV9yZW1vdmVyX3VuaXR0ZXN0LmNjIGIvY2hyb21lL2Nocm9t ZV9jbGVhbmVyL29zL2ZpbGVfcmVtb3Zlcl91bml0dGVzdC5jYworaW5kZXggNTJjOWI0ZjFjNTA4 OS4uYzU3OTgzZTgzYzZiOSAxMDA2NDQKKy0tLSBhL2Nocm9tZS9jaHJvbWVfY2xlYW5lci9vcy9m aWxlX3JlbW92ZXJfdW5pdHRlc3QuY2MKKysrKyBiL2Nocm9tZS9jaHJvbWVfY2xlYW5lci9vcy9m aWxlX3JlbW92ZXJfdW5pdHRlc3QuY2MKK0BAIC0zMCw2ICszMCw3IEBACisgI2luY2x1ZGUgImNo cm9tZS9jaHJvbWVfY2xlYW5lci9vcy9wcmVfZmV0Y2hlZF9wYXRocy5oIgorICNpbmNsdWRlICJj aHJvbWUvY2hyb21lX2NsZWFuZXIvb3Mvc3lzdGVtX3V0aWwuaCIKKyAjaW5jbHVkZSAiY2hyb21l L2Nocm9tZV9jbGVhbmVyL29zL3doaXRlbGlzdGVkX2RpcmVjdG9yeS5oIgorKyNpbmNsdWRlICJj aHJvbWUvY2hyb21lX2NsZWFuZXIvdGVzdC9jaGlsZF9wcm9jZXNzX2xvZ2dlci5oIgorICNpbmNs dWRlICJjaHJvbWUvY2hyb21lX2NsZWFuZXIvdGVzdC9maWxlX3JlbW92ZXJfdGVzdF91dGlsLmgi CisgI2luY2x1ZGUgImNocm9tZS9jaHJvbWVfY2xlYW5lci90ZXN0L3JlYm9vdF9kZWxldGlvbl9o ZWxwZXIuaCIKKyAjaW5jbHVkZSAiY2hyb21lL2Nocm9tZV9jbGVhbmVyL3Rlc3QvcmVzb3VyY2Vz L2dyaXQvdGVzdF9yZXNvdXJjZXMuaCIKK0BAIC0zOTgsMjAgKzM5OSw0NyBAQCBjb25zdGV4cHIg d2NoYXJfdCBrVGVzdEV4cGVjdEFyY2hpdmVOYW1lW10gPQorICAgICBMInRlbXBfZmlsZS5leGVf IgorICAgICBMIkE1OTFBNkQ0MEJGNDIwNDA0QTAxMTczM0NGQjdCMTkwRDYyQzY1QkYwQkNEQTMy QjU3QjI3N0Q5QUQ5RjE0NkUuemlwIjsKKyAKKytjbGFzcyBMb2dnZWRaaXBBcmNoaXZlclNhbmRi b3hTZXR1cEhvb2tzIDogcHVibGljIFppcEFyY2hpdmVyU2FuZGJveFNldHVwSG9va3MgeworKyBw dWJsaWM6CisrICBleHBsaWNpdCBMb2dnZWRaaXBBcmNoaXZlclNhbmRib3hTZXR1cEhvb2tzKAor KyAgICAgIHNjb3BlZF9yZWZwdHI8TW9qb1Rhc2tSdW5uZXI+IG1vam9fdGFza19ydW5uZXIsCisr ICAgICAgYmFzZTo6T25jZUNsb3N1cmUgY29ubmVjdGlvbl9lcnJvcl9oYW5kbGVyLAorKyAgICAg IGNocm9tZV9jbGVhbmVyOjpDaGlsZFByb2Nlc3NMb2dnZXIqIGNoaWxkX3Byb2Nlc3NfbG9nZ2Vy KQorKyAgICAgIDogWmlwQXJjaGl2ZXJTYW5kYm94U2V0dXBIb29rcyhzdGQ6Om1vdmUobW9qb190 YXNrX3J1bm5lciksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZDo6 bW92ZShjb25uZWN0aW9uX2Vycm9yX2hhbmRsZXIpKSwKKysgICAgICAgIGNoaWxkX3Byb2Nlc3Nf bG9nZ2VyXyhjaGlsZF9wcm9jZXNzX2xvZ2dlcikge30KKysKKysgIFJlc3VsdENvZGUgVXBkYXRl U2FuZGJveFBvbGljeShzYW5kYm94OjpUYXJnZXRQb2xpY3kqIHBvbGljeSwKKysgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBiYXNlOjpDb21tYW5kTGluZSogY29tbWFuZF9saW5lKSBv dmVycmlkZSB7CisrICAgIGNoaWxkX3Byb2Nlc3NfbG9nZ2VyXy0+VXBkYXRlU2FuZGJveFBvbGlj eShwb2xpY3kpOworKyAgICByZXR1cm4gWmlwQXJjaGl2ZXJTYW5kYm94U2V0dXBIb29rczo6VXBk YXRlU2FuZGJveFBvbGljeShwb2xpY3ksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmRfbGluZSk7CisrICB9CisrCisr IHByaXZhdGU6CisrICBjaHJvbWVfY2xlYW5lcjo6Q2hpbGRQcm9jZXNzTG9nZ2VyKiBjaGlsZF9w cm9jZXNzX2xvZ2dlcl87CisrfTsKKysKKyBjbGFzcyBGaWxlUmVtb3ZlclF1YXJhbnRpbmVUZXN0 IDogcHVibGljIGJhc2U6Ok11bHRpUHJvY2Vzc1Rlc3QsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHB1YmxpYyA6OnRlc3Rpbmc6OldpdGhQYXJhbUludGVyZmFjZTxib29sPiB7 CisgIHB1YmxpYzoKKyAgIHZvaWQgU2V0VXAoKSBvdmVycmlkZSB7CisgICAgIHVzZV9yZWJvb3Rf cmVtb3ZhbF8gPSBHZXRQYXJhbSgpOworIAorKyAgICBBU1NFUlRfVFJVRShjaGlsZF9wcm9jZXNz X2xvZ2dlcl8uSW5pdGlhbGl6ZSgpKTsKKysKKyAgICAgc2NvcGVkX3JlZnB0cjxNb2pvVGFza1J1 bm5lcj4gbW9qb190YXNrX3J1bm5lciA9IE1vam9UYXNrUnVubmVyOjpDcmVhdGUoKTsKKy0gICAg WmlwQXJjaGl2ZXJTYW5kYm94U2V0dXBIb29rcyBzZXR1cF9ob29rcygKKysgICAgTG9nZ2VkWmlw QXJjaGl2ZXJTYW5kYm94U2V0dXBIb29rcyBzZXR1cF9ob29rcygKKyAgICAgICAgIG1vam9fdGFz a19ydW5uZXIuZ2V0KCksIGJhc2U6OkJpbmRPbmNlKFtdIHsKKyAgICAgICAgICAgRkFJTCgpIDw8 ICJaaXBBcmNoaXZlciBzYW5kYm94IGNvbm5lY3Rpb24gZXJyb3IiOworLSAgICAgICAgfSkpOwor LSAgICBBU1NFUlRfRVEoUkVTVUxUX0NPREVfU1VDQ0VTUywKKy0gICAgICAgICAgICAgIFN0YXJ0 U2FuZGJveFRhcmdldChNYWtlQ21kTGluZSgiRmlsZVJlbW92ZXJRdWFyYW50aW5lVGFyZ2V0TWFp biIpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzZXR1cF9ob29rcywgU2Fu ZGJveFR5cGU6OmtUZXN0KSk7CisrICAgICAgICB9KSwKKysgICAgICAgICZjaGlsZF9wcm9jZXNz X2xvZ2dlcl8pOworKyAgICBSZXN1bHRDb2RlIHJlc3VsdF9jb2RlID0KKysgICAgICAgIFN0YXJ0 U2FuZGJveFRhcmdldChNYWtlQ21kTGluZSgiRmlsZVJlbW92ZXJRdWFyYW50aW5lVGFyZ2V0TWFp biIpLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICZzZXR1cF9ob29rcywgU2FuZGJveFR5 cGU6OmtUZXN0KTsKKysgICAgaWYgKHJlc3VsdF9jb2RlICE9IFJFU1VMVF9DT0RFX1NVQ0NFU1Mp CisrICAgICAgY2hpbGRfcHJvY2Vzc19sb2dnZXJfLkR1bXBMb2dzKCk7CisrICAgIEFTU0VSVF9F UShSRVNVTFRfQ09ERV9TVUNDRVNTLCByZXN1bHRfY29kZSk7CisgCisgICAgIEFTU0VSVF9UUlVF KHRlbXBfZGlyXy5DcmVhdGVVbmlxdWVUZW1wRGlyKCkpOworIAorQEAgLTQ0Nyw2ICs0NzUsNyBA QCBjbGFzcyBGaWxlUmVtb3ZlclF1YXJhbnRpbmVUZXN0IDogcHVibGljIGJhc2U6Ok11bHRpUHJv Y2Vzc1Rlc3QsCisgICBiYXNlOjp0ZXN0OjpTaW5nbGVUaHJlYWRUYXNrRW52aXJvbm1lbnQgdGFz a19lbnZpcm9ubWVudF87CisgICBiYXNlOjpTY29wZWRUZW1wRGlyIHRlbXBfZGlyXzsKKyAgIHN0 ZDo6dW5pcXVlX3B0cjxGaWxlUmVtb3Zlcj4gZmlsZV9yZW1vdmVyXzsKKysgIGNocm9tZV9jbGVh bmVyOjpDaGlsZFByb2Nlc3NMb2dnZXIgY2hpbGRfcHJvY2Vzc19sb2dnZXJfOworIH07CisgCisg fSAgLy8gbmFtZXNwYWNlCitkaWZmIC0tZ2l0IGEvY2hyb21lL2Nocm9tZV9jbGVhbmVyL3BhcnNl cnMvc2hvcnRjdXRfcGFyc2VyL2Jyb2tlci9CVUlMRC5nbiBiL2Nocm9tZS9jaHJvbWVfY2xlYW5l ci9wYXJzZXJzL3Nob3J0Y3V0X3BhcnNlci9icm9rZXIvQlVJTEQuZ24KK2luZGV4IGJjN2JhODE4 OGM4M2IuLjA5ZWQwN2I3NjFhNGUgMTAwNjQ0CistLS0gYS9jaHJvbWUvY2hyb21lX2NsZWFuZXIv cGFyc2Vycy9zaG9ydGN1dF9wYXJzZXIvYnJva2VyL0JVSUxELmduCisrKysgYi9jaHJvbWUvY2hy b21lX2NsZWFuZXIvcGFyc2Vycy9zaG9ydGN1dF9wYXJzZXIvYnJva2VyL0JVSUxELmduCitAQCAt NjcsNiArNjcsNyBAQCBzb3VyY2Vfc2V0KCJ1bml0dGVzdF9zb3VyY2VzIikgeworICAgICAiLy9j aHJvbWUvY2hyb21lX2NsZWFuZXIvcGFyc2Vycy9zaG9ydGN1dF9wYXJzZXI6c2FuZGJveGVkX2xu a19wYXJzZXJfdGVzdF91dGlsIiwKKyAgICAgIi8vY2hyb21lL2Nocm9tZV9jbGVhbmVyL3BhcnNl cnMvc2hvcnRjdXRfcGFyc2VyL3RhcmdldDpsbmtfcGFyc2VyIiwKKyAgICAgIi8vY2hyb21lL2No cm9tZV9jbGVhbmVyL3BhcnNlcnMvdGFyZ2V0OnBhcnNlcl9zYW5kYm94X3RhcmdldCIsCisrICAg ICIvL2Nocm9tZS9jaHJvbWVfY2xlYW5lci90ZXN0OnRlc3RfdXRpbCIsCisgICAgICIvL21vam8v cHVibGljL2NwcC9iaW5kaW5nczpiaW5kaW5ncyIsCisgICAgICIvL3NhbmRib3gvd2luOnNhbmRi b3giLAorICAgICAiLy90ZXN0aW5nL2d0ZXN0IiwKK2RpZmYgLS1naXQgYS9jaHJvbWUvY2hyb21l X2NsZWFuZXIvcGFyc2Vycy9zaG9ydGN1dF9wYXJzZXIvYnJva2VyL3NhbmRib3hlZF9zaG9ydGN1 dF9wYXJzZXJfdW5pdHRlc3QuY2MgYi9jaHJvbWUvY2hyb21lX2NsZWFuZXIvcGFyc2Vycy9zaG9y dGN1dF9wYXJzZXIvYnJva2VyL3NhbmRib3hlZF9zaG9ydGN1dF9wYXJzZXJfdW5pdHRlc3QuY2MK K2luZGV4IDY0YWM5MWVkOTIwMTYuLjRjMDMzZjIxYzc3YzMgMTAwNjQ0CistLS0gYS9jaHJvbWUv Y2hyb21lX2NsZWFuZXIvcGFyc2Vycy9zaG9ydGN1dF9wYXJzZXIvYnJva2VyL3NhbmRib3hlZF9z aG9ydGN1dF9wYXJzZXJfdW5pdHRlc3QuY2MKKysrKyBiL2Nocm9tZS9jaHJvbWVfY2xlYW5lci9w YXJzZXJzL3Nob3J0Y3V0X3BhcnNlci9icm9rZXIvc2FuZGJveGVkX3Nob3J0Y3V0X3BhcnNlcl91 bml0dGVzdC5jYworQEAgLTE4LDYgKzE4LDcgQEAKKyAjaW5jbHVkZSAiY2hyb21lL2Nocm9tZV9j bGVhbmVyL3BhcnNlcnMvYnJva2VyL3NhbmRib3hfc2V0dXBfaG9va3MuaCIKKyAjaW5jbHVkZSAi Y2hyb21lL2Nocm9tZV9jbGVhbmVyL3BhcnNlcnMvc2hvcnRjdXRfcGFyc2VyL3NhbmRib3hlZF9s bmtfcGFyc2VyX3Rlc3RfdXRpbC5oIgorICNpbmNsdWRlICJjaHJvbWUvY2hyb21lX2NsZWFuZXIv cGFyc2Vycy90YXJnZXQvc2FuZGJveF9zZXR1cC5oIgorKyNpbmNsdWRlICJjaHJvbWUvY2hyb21l X2NsZWFuZXIvdGVzdC9jaGlsZF9wcm9jZXNzX2xvZ2dlci5oIgorICNpbmNsdWRlICJtb2pvL3B1 YmxpYy9jcHAvYmluZGluZ3MvaW50ZXJmYWNlX3JlcXVlc3QuaCIKKyAjaW5jbHVkZSAibW9qby9w dWJsaWMvY3BwL3N5c3RlbS9wbGF0Zm9ybV9oYW5kbGUuaCIKKyAjaW5jbHVkZSAic2FuZGJveC93 aW4vc3JjL3NhbmRib3hfZmFjdG9yeS5oIgorQEAgLTMxLDYgKzMyLDI2IEBAIGNvbnN0ZXhwciB1 bnNpZ25lZCBpbnQga0RpclF1YW50aXR5ID0gNTsKKyAKKyBjb25zdCBiYXNlOjpzdHJpbmcxNiBr TG5rQXJndW1lbnRzID0gTCItYSAtYiAtYyAtZCBHZW5lcmljRXhhbXBsZSI7CisgCisrY2xhc3Mg TG9nZ2VkUGFyc2VyU2FuZGJveFNldHVwSG9va3MgOiBwdWJsaWMgUGFyc2VyU2FuZGJveFNldHVw SG9va3MgeworKyBwdWJsaWM6CisrICBleHBsaWNpdCBMb2dnZWRQYXJzZXJTYW5kYm94U2V0dXBI b29rcygKKysgICAgICBzY29wZWRfcmVmcHRyPE1vam9UYXNrUnVubmVyPiBtb2pvX3Rhc2tfcnVu bmVyLAorKyAgICAgIGJhc2U6Ok9uY2VDbG9zdXJlIGNvbm5lY3Rpb25fZXJyb3JfaGFuZGxlciwK KysgICAgICBjaHJvbWVfY2xlYW5lcjo6Q2hpbGRQcm9jZXNzTG9nZ2VyKiBjaGlsZF9wcm9jZXNz X2xvZ2dlcikKKysgICAgICA6IFBhcnNlclNhbmRib3hTZXR1cEhvb2tzKHN0ZDo6bW92ZShtb2pv X3Rhc2tfcnVubmVyKSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZDo6bW92 ZShjb25uZWN0aW9uX2Vycm9yX2hhbmRsZXIpKSwKKysgICAgICAgIGNoaWxkX3Byb2Nlc3NfbG9n Z2VyXyhjaGlsZF9wcm9jZXNzX2xvZ2dlcikge30KKysKKysgIFJlc3VsdENvZGUgVXBkYXRlU2Fu ZGJveFBvbGljeShzYW5kYm94OjpUYXJnZXRQb2xpY3kqIHBvbGljeSwKKysgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBiYXNlOjpDb21tYW5kTGluZSogY29tbWFuZF9saW5lKSBvdmVy cmlkZSB7CisrICAgIGNoaWxkX3Byb2Nlc3NfbG9nZ2VyXy0+VXBkYXRlU2FuZGJveFBvbGljeShw b2xpY3kpOworKyAgICByZXR1cm4gUGFyc2VyU2FuZGJveFNldHVwSG9va3M6OlVwZGF0ZVNhbmRi b3hQb2xpY3kocG9saWN5LCBjb21tYW5kX2xpbmUpOworKyAgfQorKworKyBwcml2YXRlOgorKyAg Y2hyb21lX2NsZWFuZXI6OkNoaWxkUHJvY2Vzc0xvZ2dlciogY2hpbGRfcHJvY2Vzc19sb2dnZXJf OworK307CisrCisgfSAgLy8gbmFtZXNwYWNlCisgCisgY2xhc3MgU2FuZGJveGVkU2hvcnRjdXRQ YXJzZXJUZXN0IDogcHVibGljIGJhc2U6Ok11bHRpUHJvY2Vzc1Rlc3QgeworQEAgLTQwLDE0ICs2 MSwyMCBAQCBjbGFzcyBTYW5kYm94ZWRTaG9ydGN1dFBhcnNlclRlc3QgOiBwdWJsaWMgYmFzZTo6 TXVsdGlQcm9jZXNzVGVzdCB7CisgICAgICAgICB0ZW1wX2RpcnNfd2l0aF9jaHJvbWVfbG5rXyhr RGlyUXVhbnRpdHkpIHt9CisgCisgICB2b2lkIFNldFVwKCkgb3ZlcnJpZGUgeworKyAgICBBU1NF UlRfVFJVRShjaGlsZF9wcm9jZXNzX2xvZ2dlcl8uSW5pdGlhbGl6ZSgpKTsKKysKKyAgICAgbW9q b190YXNrX3J1bm5lcl8gPSBNb2pvVGFza1J1bm5lcjo6Q3JlYXRlKCk7CisgICAgIFBhcnNlclNh bmRib3hTZXR1cEhvb2tzIHNldHVwX2hvb2tzKAorICAgICAgICAgbW9qb190YXNrX3J1bm5lcl8u Z2V0KCksCisgICAgICAgICBiYXNlOjpCaW5kT25jZShbXSB7IEZBSUwoKSA8PCAiUGFyc2VyIHNh bmRib3ggY29ubmVjdGlvbiBlcnJvciI7IH0pKTsKKy0gICAgQVNTRVJUX0VRKAorLSAgICAgICAg UkVTVUxUX0NPREVfU1VDQ0VTUywKKysKKysgICAgUmVzdWx0Q29kZSByZXN1bHRfY29kZSA9Cisg ICAgICAgICBTdGFydFNhbmRib3hUYXJnZXQoTWFrZUNtZExpbmUoIlNhbmRib3hlZFNob3J0Y3V0 UGFyc2VyVGFyZ2V0TWFpbiIpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICZzZXR1cF9o b29rcywgU2FuZGJveFR5cGU6OmtUZXN0KSk7CisrICAgICAgICAgICAgICAgICAgICAgICAgICAg JnNldHVwX2hvb2tzLCBTYW5kYm94VHlwZTo6a1Rlc3QpOworKyAgICBpZiAocmVzdWx0X2NvZGUg IT0gUkVTVUxUX0NPREVfU1VDQ0VTUykKKysgICAgICBjaGlsZF9wcm9jZXNzX2xvZ2dlcl8uRHVt cExvZ3MoKTsKKysgICAgQVNTRVJUX0VRKFJFU1VMVF9DT0RFX1NVQ0NFU1MsIHJlc3VsdF9jb2Rl KTsKKysKKyAgICAgcGFyc2VyX3B0cl8gPSBzZXR1cF9ob29rcy5UYWtlUGFyc2VyUHRyKCk7Cisg ICAgIHNob3J0Y3V0X3BhcnNlcl8gPSBzdGQ6Om1ha2VfdW5pcXVlPFNhbmRib3hlZFNob3J0Y3V0 UGFyc2VyPigKKyAgICAgICAgIG1vam9fdGFza19ydW5uZXJfLmdldCgpLCBwYXJzZXJfcHRyXy5n ZXQoKSk7CitAQCAtOTgsNiArMTI1LDggQEAgY2xhc3MgU2FuZGJveGVkU2hvcnRjdXRQYXJzZXJU ZXN0IDogcHVibGljIGJhc2U6Ok11bHRpUHJvY2Vzc1Rlc3QgeworICAgYmFzZTo6RmlsZVBhdGgg bm90X2xua19maWxlX3BhdGhfOworIAorICAgYmFzZTo6dGVzdDo6VGFza0Vudmlyb25tZW50IHRh c2tfZW52aXJvbm1lbnRfOworKworKyAgY2hyb21lX2NsZWFuZXI6OkNoaWxkUHJvY2Vzc0xvZ2dl ciBjaGlsZF9wcm9jZXNzX2xvZ2dlcl87CisgfTsKKyAKKyBNVUxUSVBST0NFU1NfVEVTVF9NQUlO KFNhbmRib3hlZFNob3J0Y3V0UGFyc2VyVGFyZ2V0TWFpbikgewpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9lbGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9jaHJvbWl1bS0wMDUtdXBzdHJlYW0tY2hyb21pdW1f dmVyc2lvbi5wYXRjaC5wYXRjaCBiL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3BhdGNoZXMvY2hy b21pdW0tMDA1LXVwc3RyZWFtLWNocm9taXVtX3ZlcnNpb24ucGF0Y2gucGF0Y2gKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjY1YjhlZjRkZjBhCi0tLSAvZGV2L251bGwK KysrIGIvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9jaHJvbWl1bS0wMDUtdXBzdHJl YW0tY2hyb21pdW1fdmVyc2lvbi5wYXRjaC5wYXRjaApAQCAtMCwwICsxLDI2IEBACitGcm9tIGMx MTA5YjcwN2IxZWRhNWQ5OGViMmVkNmJkNzQwODNiYzM1MmY0ODIgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCitGcm9tOiBjaHJvbWUtcmVsZWFzZS1ib3QgPGNocm9tZS1yZWxlYXNlLWJvdEBjaHJv bWl1bS5vcmc+CitEYXRlOiBGcmksIDYgRGVjIDIwMTkgMDE6MDk6NTAgKzAwMDAKK1N1YmplY3Q6 IFtQQVRDSF0gSW5jcmVtZW50aW5nIFZFUlNJT04gdG8gNzguMC4zOTA0LjEzMAorCitUQlI9Z292 aW5kQGNocm9taXVtLm9yZworCitDaGFuZ2UtSWQ6IEliNjc1NjUzZTI2MDVjZjJjMTVlYmRiZDEz MjA0NjViMDhhNDk5OTRkCitSZXZpZXdlZC1vbjogaHR0cHM6Ly9jaHJvbWl1bS1yZXZpZXcuZ29v Z2xlc291cmNlLmNvbS9jL2Nocm9taXVtL3NyYy8rLzE5NTQ3MDkKK1Jldmlld2VkLWJ5OiBDaHJv bWUgUmVsZWFzZSBCb3QgKExVQ0kpIDxjaHJvbWUtb2ZmaWNpYWwtYnJhbmNoZXJAY2hvcHMtc2Vy dmljZS1hY2NvdW50cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbT4KK0NyLUNvbW1pdC1Qb3NpdGlv bjogcmVmcy9icmFuY2gtaGVhZHMvMzkwNEB7IzkxN30KK0NyLUJyYW5jaGVkLUZyb206IDY3NTk2 OGE4YzY1N2EzYmQ5YzFjMmMyMGM1ZDI5MzU1NzdiYmM1ZTYtcmVmcy9oZWFkcy9tYXN0ZXJAeyM2 OTM5NTR9CistLS0KKyBjaHJvbWUvVkVSU0lPTiB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBp bnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2Nocm9tZS9WRVJTSU9O IGIvY2hyb21lL1ZFUlNJT04KK2luZGV4IDdhNDM4M2ExY2NiN2YuLjUwZjg4N2Y3NDYyMjcgMTAw NjQ0CistLS0gYS9jaHJvbWUvVkVSU0lPTgorKysrIGIvY2hyb21lL1ZFUlNJT04KK0BAIC0xLDQg KzEsNCBAQAorIE1BSk9SPTc4CisgTUlOT1I9MAorIEJVSUxEPTM5MDQKKy1QQVRDSD0xMDgKKytQ QVRDSD0xMzAKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3BhdGNoZXMvY2hy b21pdW0tNzctY2xhbmcucGF0Y2ggYi9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9wYXRjaGVzL2No cm9taXVtLTc3LWNsYW5nLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MDAwLi5hNTdiNWE0NThhNAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvZWxlY3Ryb243L2Zp bGVzL3BhdGNoZXMvY2hyb21pdW0tNzctY2xhbmcucGF0Y2gKQEAgLTAsMCArMSwxMyBAQAorZGlm ZiAtLWdpdCBhL2Jhc2UvbG9jYXRpb24uaCBiL2Jhc2UvbG9jYXRpb24uaAoraW5kZXggYzA3ZTc0 Ny4uOTI0ZGIxYyAxMDA2NDQKKy0tLSBhL2Jhc2UvbG9jYXRpb24uaAorKysrIGIvYmFzZS9sb2Nh dGlvbi5oCitAQCAtMTgsNyArMTgsNyBAQAorIAorIG5hbWVzcGFjZSBiYXNlIHsKKyAKKy0jaWYg ZGVmaW5lZChfX2hhc19idWlsdGluKQorKyNpZiBkZWZpbmVkKF9fY2xhbmdfXykKKyAvLyBDbGFu ZyBhbGxvd3MgZGV0ZWN0aW9uIG9mIHRoZXNlIGJ1aWx0aW5zLgorICNkZWZpbmUgU1VQUE9SVFNf TE9DQVRJT05fQlVJTFRJTlMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc CisgICAoX19oYXNfYnVpbHRpbihfX2J1aWx0aW5fRlVOQ1RJT04pICYmIF9faGFzX2J1aWx0aW4o X19idWlsdGluX0ZJTEUpICYmIFwKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVz L3BhdGNoZXMvY2hyb21pdW0tNzctcHVsc2VhdWRpby0xMy5wYXRjaCBiL3NyY3BrZ3MvZWxlY3Ry b243L2ZpbGVzL3BhdGNoZXMvY2hyb21pdW0tNzctcHVsc2VhdWRpby0xMy5wYXRjaApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uODkyYTMxODNjOWQKLS0tIC9kZXYvbnVs bAorKysgYi9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9wYXRjaGVzL2Nocm9taXVtLTc3LXB1bHNl YXVkaW8tMTMucGF0Y2gKQEAgLTAsMCArMSw4MiBAQAorRnJvbSA3YWM4NWZiNGNjNmY0NGEyMTc2 MWE1OTFhYzQ5N2FlM2Q2YmY5NjZkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQWxs YW4gU2FuZGZlbGQgSmVuc2VuIDxhbGxhbi5qZW5zZW5AcXQuaW8+CitEYXRlOiBNb24sIDIzIFNl cCAyMDE5IDEzOjQ5OjUzICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIEZpeCBidWlsZGluZyB3aXRo IHB1bHNlYXVkaW8gMTMKKworVGhlIGZ1bmN0aW9uIHNpZ25hdHVyZSBjaGFuZ2VkIHRob3VnaCB0 aGUgQUJJIHN0YXllZCB0aGUgc2FtZS4KKworKE1vZGlmaWVkIHRvIGFwcGx5IG9uIGNocm9taXVt IHNvdXJjZXMgdG9vKQorCitDaGFuZ2UtSWQ6IEk4NmNhMzYxYjVlNGYwYzUyM2UxMDMxOTEwZGY0 MzhjMjNiZWVlODc2CitGaXhlczogUVRCVUctNzcwMzcKK1Jldmlld2VkLWJ5OiBKw7xyaSBWYWxk bWFubiA8anVyaS52YWxkbWFubkBxdC5pbz4KKy0tLQorCitkaWZmIC0tZ2l0IGEvbWVkaWEvYXVk aW8vcHVsc2UvcHVsc2Uuc2lncyBiL21lZGlhL2F1ZGlvL3B1bHNlL3B1bHNlLnNpZ3MKK2luZGV4 IDhiNTg4ODcuLmRhYWViMTQgMTAwNjQ0CistLS0gYS9tZWRpYS9hdWRpby9wdWxzZS9wdWxzZS5z aWdzCisrKysgYi9tZWRpYS9hdWRpby9wdWxzZS9wdWxzZS5zaWdzCitAQCAtMjQsMTEgKzI0LDEx IEBACisgcGFfb3BlcmF0aW9uKiBwYV9jb250ZXh0X2dldF9zb3VyY2VfaW5mb19ieV9uYW1lKHBh X2NvbnRleHQqIGMsIGNvbnN0IGNoYXIqIG5hbWUsIHBhX3NvdXJjZV9pbmZvX2NiX3QgY2IsIHZv aWQgKnVzZXJkYXRhKTsKKyBwYV9vcGVyYXRpb24qIHBhX2NvbnRleHRfZ2V0X3NvdXJjZV9pbmZv X2xpc3QocGFfY29udGV4dCogYywgcGFfc291cmNlX2luZm9fY2JfdCBjYiwgdm9pZCogdXNlcmRh dGEpOworIHBhX29wZXJhdGlvbiogcGFfY29udGV4dF9nZXRfc2lua19pbmZvX2xpc3QocGFfY29u dGV4dCogYywgcGFfc2lua19pbmZvX2NiX3QgY2IsIHZvaWQqIHVzZXJkYXRhKTsKKy1wYV9jb250 ZXh0X3N0YXRlX3QgcGFfY29udGV4dF9nZXRfc3RhdGUocGFfY29udGV4dCogYyk7CisrcGFfY29u dGV4dF9zdGF0ZV90IHBhX2NvbnRleHRfZ2V0X3N0YXRlKGNvbnN0X3BhX2NvbnRleHRfcHRyIGMp OworIHBhX2NvbnRleHQqIHBhX2NvbnRleHRfbmV3KHBhX21haW5sb29wX2FwaSogbWFpbmxvb3As IGNvbnN0IGNoYXIqIG5hbWUpOworIHBhX29wZXJhdGlvbiogcGFfY29udGV4dF9zZXRfc291cmNl X3ZvbHVtZV9ieV9pbmRleChwYV9jb250ZXh0KiBjLCB1aW50MzJfdCBpZHgsIGNvbnN0IHBhX2N2 b2x1bWUqIHZvbHVtZSwgcGFfY29udGV4dF9zdWNjZXNzX2NiX3QgY2IsIHZvaWQqIHVzZXJkYXRh KTsKKyB2b2lkIHBhX2NvbnRleHRfc2V0X3N0YXRlX2NhbGxiYWNrKHBhX2NvbnRleHQqIGMsIHBh X2NvbnRleHRfbm90aWZ5X2NiX3QgY2IsIHZvaWQqIHVzZXJkYXRhKTsKKy1wYV9vcGVyYXRpb25f c3RhdGVfdCBwYV9vcGVyYXRpb25fZ2V0X3N0YXRlKHBhX29wZXJhdGlvbiogbyk7CisrcGFfb3Bl cmF0aW9uX3N0YXRlX3QgcGFfb3BlcmF0aW9uX2dldF9zdGF0ZShjb25zdF9wYV9vcGVyYXRpb25f cHRyIG8pOworIHZvaWQgcGFfY29udGV4dF91bnJlZihwYV9jb250ZXh0KiBjKTsKKyB2b2lkIHBh X29wZXJhdGlvbl91bnJlZihwYV9vcGVyYXRpb24qIG8pOworIGludCBwYV9zdHJlYW1fYmVnaW5f d3JpdGUocGFfc3RyZWFtKiBwLCB2b2lkKiogZGF0YSwgc2l6ZV90KiBuYnl0ZXMpOworQEAgLTM4 LDIzICszOCwyMyBAQAorIGludCBwYV9zdHJlYW1fZGlzY29ubmVjdChwYV9zdHJlYW0qIHMpOwor IGludCBwYV9zdHJlYW1fZHJvcChwYV9zdHJlYW0gKnApOworIHBhX29wZXJhdGlvbiogcGFfc3Ry ZWFtX2ZsdXNoKHBhX3N0cmVhbSogcywgcGFfc3RyZWFtX3N1Y2Nlc3NfY2JfdCBjYiwgdm9pZCog dXNlcmRhdGEpOworLXVpbnQzMl90IHBhX3N0cmVhbV9nZXRfZGV2aWNlX2luZGV4KHBhX3N0cmVh bSogcyk7CisrdWludDMyX3QgcGFfc3RyZWFtX2dldF9kZXZpY2VfaW5kZXgoY29uc3RfcGFfc3Ry ZWFtX3B0ciBzKTsKKyBpbnQgcGFfc3RyZWFtX2dldF9sYXRlbmN5KHBhX3N0cmVhbSogcywgcGFf dXNlY190KiByX3VzZWMsIGludCogbmVnYXRpdmUpOworLXBhX3N0cmVhbV9zdGF0ZV90IHBhX3N0 cmVhbV9nZXRfc3RhdGUocGFfc3RyZWFtKiBwKTsKKytwYV9zdHJlYW1fc3RhdGVfdCBwYV9zdHJl YW1fZ2V0X3N0YXRlKGNvbnN0X3BhX3N0cmVhbV9wdHIgcCk7CisgcGFfc3RyZWFtKiBwYV9zdHJl YW1fbmV3KHBhX2NvbnRleHQqICBjLCBjb25zdCBjaGFyKiAgbmFtZSwgY29uc3QgcGFfc2FtcGxl X3NwZWMqICBzcywgY29uc3QgcGFfY2hhbm5lbF9tYXAgKiAgbWFwKTsKKyBwYV9zdHJlYW0qIHBh X3N0cmVhbV9uZXdfd2l0aF9wcm9wbGlzdChwYV9jb250ZXh0KiBjLCBjb25zdCBjaGFyKiBuYW1l LCBjb25zdCBwYV9zYW1wbGVfc3BlYyogc3MsIGNvbnN0IHBhX2NoYW5uZWxfbWFwKiBtYXAsIHBh X3Byb3BsaXN0KiBwKTsKKyBwYV9wcm9wbGlzdCogcGFfcHJvcGxpc3RfbmV3KHZvaWQpOworLWlu dCBwYV9wcm9wbGlzdF9jb250YWlucyhwYV9wcm9wbGlzdCogcCwgY29uc3QgY2hhcioga2V5KTsK KytpbnQgcGFfcHJvcGxpc3RfY29udGFpbnMoY29uc3RfcGFfcHJvcGxpc3RfcHRyIHAsIGNvbnN0 IGNoYXIqIGtleSk7Cisgdm9pZCBwYV9wcm9wbGlzdF9mcmVlKHBhX3Byb3BsaXN0KiBwKTsKKy1j b25zdCBjaGFyKiBwYV9wcm9wbGlzdF9nZXRzKHBhX3Byb3BsaXN0KiBwLCBjb25zdCBjaGFyKiBr ZXkpOworK2NvbnN0IGNoYXIqIHBhX3Byb3BsaXN0X2dldHMoY29uc3RfcGFfcHJvcGxpc3RfcHRy IHAsIGNvbnN0IGNoYXIqIGtleSk7CisgaW50IHBhX3Byb3BsaXN0X3NldHMocGFfcHJvcGxpc3Qq IHAsIGNvbnN0IGNoYXIqIGtleSwgY29uc3QgY2hhciogdmFsdWUpOworLXNpemVfdCBwYV9zdHJl YW1fcmVhZGFibGVfc2l6ZShwYV9zdHJlYW0gKnApOworK3NpemVfdCBwYV9zdHJlYW1fcmVhZGFi bGVfc2l6ZShjb25zdF9wYV9zdHJlYW1fcHRyIHApOworIGludCBwYV9zdHJlYW1fcGVlayhwYV9z dHJlYW0qIHAsIGNvbnN0IHZvaWQqKiBkYXRhLCBzaXplX3QqIG5ieXRlcyk7Cisgdm9pZCBwYV9z dHJlYW1fc2V0X3JlYWRfY2FsbGJhY2socGFfc3RyZWFtKiBwLCBwYV9zdHJlYW1fcmVxdWVzdF9j Yl90IGNiLCB2b2lkKiB1c2VyZGF0YSk7Cisgdm9pZCBwYV9zdHJlYW1fc2V0X3N0YXRlX2NhbGxi YWNrKHBhX3N0cmVhbSogcywgcGFfc3RyZWFtX25vdGlmeV9jYl90IGNiLCB2b2lkKiB1c2VyZGF0 YSk7CisgaW50IHBhX3N0cmVhbV93cml0ZShwYV9zdHJlYW0qIHAsIGNvbnN0IHZvaWQqIGRhdGEs IHNpemVfdCBuYnl0ZXMsIHBhX2ZyZWVfY2JfdCBmcmVlX2NiLCBpbnQ2NF90IG9mZnNldCwgcGFf c2Vla19tb2RlX3Qgc2Vlayk7Cisgdm9pZCBwYV9zdHJlYW1fc2V0X3dyaXRlX2NhbGxiYWNrKHBh X3N0cmVhbSAqcCwgcGFfc3RyZWFtX3JlcXVlc3RfY2JfdCBjYiwgdm9pZCAqdXNlcmRhdGEpOwor IHZvaWQgcGFfc3RyZWFtX3VucmVmKHBhX3N0cmVhbSogcyk7CistaW50IHBhX2NvbnRleHRfZXJy bm8ocGFfY29udGV4dCAqYyk7CisraW50IHBhX2NvbnRleHRfZXJybm8oY29uc3RfcGFfY29udGV4 dF9wdHIgYyk7CisgY29uc3QgY2hhciogcGFfc3RyZXJyb3IoaW50IGVycm9yKTsKKyBwYV9jdm9s dW1lKiBwYV9jdm9sdW1lX3NldChwYV9jdm9sdW1lKiBhLCB1bnNpZ25lZCAgY2hhbm5lbHMsIHBh X3ZvbHVtZV90IHYpOworZGlmZiAtLWdpdCBhL2Nocm9taXVtL21lZGlhL2F1ZGlvL3B1bHNlL3B1 bHNlX3N0dWJfaGVhZGVyLmZyYWdtZW50IGIvY2hyb21pdW0vbWVkaWEvYXVkaW8vcHVsc2UvcHVs c2Vfc3R1Yl9oZWFkZXIuZnJhZ21lbnQKK2luZGV4IDJhMmQzZTcuLmNkYWE4NDEgMTAwNjQ0Cist LS0gYS9tZWRpYS9hdWRpby9wdWxzZS9wdWxzZV9zdHViX2hlYWRlci5mcmFnbWVudAorKysrIGIv bWVkaWEvYXVkaW8vcHVsc2UvcHVsc2Vfc3R1Yl9oZWFkZXIuZnJhZ21lbnQKK0BAIC01LDQgKzUs MTUgQEAKKyAKKyAjaW5jbHVkZSA8cHVsc2UvcHVsc2VhdWRpby5oPgorIAorKyNpZiBQQV9NQUpP UiA+IDEyCisrdHlwZWRlZiBjb25zdCBwYV9jb250ZXh0KiBjb25zdF9wYV9jb250ZXh0X3B0cjsK Kyt0eXBlZGVmIGNvbnN0IHBhX29wZXJhdGlvbiogY29uc3RfcGFfb3BlcmF0aW9uX3B0cjsKKyt0 eXBlZGVmIGNvbnN0IHBhX3Byb3BsaXN0KiBjb25zdF9wYV9wcm9wbGlzdF9wdHI7CisrdHlwZWRl ZiBjb25zdCBwYV9zdHJlYW0qIGNvbnN0X3BhX3N0cmVhbV9wdHI7CisrI2Vsc2UKKyt0eXBlZGVm IHBhX2NvbnRleHQqIGNvbnN0X3BhX2NvbnRleHRfcHRyOworK3R5cGVkZWYgcGFfb3BlcmF0aW9u KiBjb25zdF9wYV9vcGVyYXRpb25fcHRyOworK3R5cGVkZWYgcGFfcHJvcGxpc3QqIGNvbnN0X3Bh X3Byb3BsaXN0X3B0cjsKKyt0eXBlZGVmIHBhX3N0cmVhbSogY29uc3RfcGFfc3RyZWFtX3B0cjsK KysjZW5kaWYKKyB9CmRpZmYgLS1naXQgYS9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9wYXRjaGVz L2Nocm9taXVtLTc3LXN5c3RlbS1pY3UucGF0Y2ggYi9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9w YXRjaGVzL2Nocm9taXVtLTc3LXN5c3RlbS1pY3UucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMDAwMDAuLjFmODQ4ZDdlZTJiCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtn cy9lbGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9jaHJvbWl1bS03Ny1zeXN0ZW0taWN1LnBhdGNoCkBA IC0wLDAgKzEsMjAgQEAKK2RpZmYgLS1naXQgYS9idWlsZC9saW51eC91bmJ1bmRsZS9pY3UuZ24g Yi9idWlsZC9saW51eC91bmJ1bmRsZS9pY3UuZ24KK2luZGV4IDQ0NTBlNDAuLjljYTM2ZGQgMTAw NjQ0CistLS0gYS9idWlsZC9saW51eC91bmJ1bmRsZS9pY3UuZ24KKysrKyBiL2J1aWxkL2xpbnV4 L3VuYnVuZGxlL2ljdS5nbgorQEAgLTk2LDYgKzk2LDcgQEAgc2hpbV9oZWFkZXJzKCJpY3VpMThu X3NoaW0iKSB7CisgICAgICJ1bmljb2RlL2Zwb3NpdGVyLmgiLAorICAgICAidW5pY29kZS9nZW5k ZXIuaCIsCisgICAgICJ1bmljb2RlL2dyZWdvY2FsLmgiLAorKyAgICAidW5pY29kZS9saXN0Zm9y bWF0dGVyLmgiLAorICAgICAidW5pY29kZS9tZWFzZm10LmgiLAorICAgICAidW5pY29kZS9tZWFz dW5pdC5oIiwKKyAgICAgInVuaWNvZGUvbWVhc3VyZS5oIiwKK0BAIC0xNzgsNyArMTc5LDYgQEAg c2hpbV9oZWFkZXJzKCJpY3V1Y19zaGltIikgeworICAgICAidW5pY29kZS9pY3VkYXRhdmVyLmgi LAorICAgICAidW5pY29kZS9pY3VwbHVnLmgiLAorICAgICAidW5pY29kZS9pZG5hLmgiLAorLSAg ICAidW5pY29kZS9saXN0Zm9ybWF0dGVyLmgiLAorICAgICAidW5pY29kZS9sb2NhbHBvaW50ZXIu aCIsCisgICAgICJ1bmljb2RlL2xvY2RzcG5tLmgiLAorICAgICAidW5pY29kZS9sb2NpZC5oIiwK ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3BhdGNoZXMvY2hyb21pdW0tNzgt Z2NjLWFsaWduYXMucGF0Y2ggYi9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9wYXRjaGVzL2Nocm9t aXVtLTc4LWdjYy1hbGlnbmFzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAwLi5iY2U0MTE4NTk2YgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvZWxlY3Ryb243 L2ZpbGVzL3BhdGNoZXMvY2hyb21pdW0tNzgtZ2NjLWFsaWduYXMucGF0Y2gKQEAgLTAsMCArMSwx MDIgQEAKK0Zyb20gNmI2MzNjNGIxNDg1MGRmMzc2ZDVjZWM1NzE2OTkwMTg3NzJmMzU4ZSBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFRvbWFzIFBvcGVsYSA8dG9tYXMucG9wZWxhQGdt YWlsLmNvbT4KK0RhdGU6IFR1ZSwgMTcgU2VwIDIwMTkgMTk6NDg6NDggKzAwMDAKK1N1YmplY3Q6 IFtQQVRDSF0gR0NDOiBDYW4ndCB1c2UgYWxpZ25hcygpIHRvZ2V0aGVyIHdpdGggX19hdHRyaWJ1 dGVfXygpCisKK0l0J3MgYmVjYXVzZSBHQ0MgaGFzIHByb2JsZW1zIHdoZW4gbWl4aW5nIHRoZSBh bGlnbmFzKCkgdG9nZXRoZXIgd2l0aAorX19hdHRyaWJ1dGVfXygpICh0aGF0IGlzIHVzZWQgdG8g ZXhwb3J0IHRoZSBzeW1ib2xzKS4gVGhlIGJlc3QKK3NvbHV0aW9uIGlzIHRvIHVzZSBBTElHTkFT KCkgbWFjcm8gZnJvbSAvL2Jhc2UvY29tcGlsZXJfc3BlY2lmaWMuaAordG9nZXRoZXIgd2l0aCBh bGlnbm9mKCkgdG8gaGF2ZSB0aGUgZXF1YWwgZnVuY3Rpb25hbGl0eSB0aGF0IGNvbXBpbGVzIG9u CitHQ0MgYXMgd2VsbCBhcyBvbiBjbGFuZy4KKworQnVnOiA4MTkyOTQKK0NoYW5nZS1JZDogSWVi MTY5NTkyYTI5NjVmMTdhMThiZmM4OGQyODQxOGViNzIzYTRlNWEKK1Jldmlld2VkLW9uOiBodHRw czovL2Nocm9taXVtLXJldmlldy5nb29nbGVzb3VyY2UuY29tL2MvY2hyb21pdW0vc3JjLysvMTgw NjczNQorQXV0by1TdWJtaXQ6IFRvbSAgICAgUG9wZWxhIDx0b21hcy5wb3BlbGFAZ21haWwuY29t PgorQ29tbWl0LVF1ZXVlOiBBbGV4IENsYXJrZSA8YWxleGNsYXJrZUBjaHJvbWl1bS5vcmc+CitS ZXZpZXdlZC1ieTogQWxleCBDbGFya2UgPGFsZXhjbGFya2VAY2hyb21pdW0ub3JnPgorQ3ItQ29t bWl0LVBvc2l0aW9uOiByZWZzL2hlYWRzL21hc3RlckB7IzY5NzMzMH0KKy0tLQorCitkaWZmIC0t Z2l0IGEvYmFzZS90YXNrL3Byb21pc2UvZGVwZW5kZW50X2xpc3QuaCBiL2Jhc2UvdGFzay9wcm9t aXNlL2RlcGVuZGVudF9saXN0LmgKK2luZGV4IDAyMGJkYmZjLi4zMjQ1YzFjIDEwMDY0NAorLS0t IGEvYmFzZS90YXNrL3Byb21pc2UvZGVwZW5kZW50X2xpc3QuaAorKysrIGIvYmFzZS90YXNrL3By b21pc2UvZGVwZW5kZW50X2xpc3QuaAorQEAgLTU5LDcgKzU5LDcgQEAKKyAKKyAgIC8vIEFsaWdu IE5vZGUgb24gYW4gOC1ieXRlIGJvdW5kYXJ5IHRvIGVuc3VyZSB0aGUgZmlyc3QgMyBiaXRzIGFy ZSAwIGFuZCBjYW4KKyAgIC8vIGJlIHVzZWQgdG8gc3RvcmUgYWRkaXRpb25hbCBzdGF0ZSAoc2Vl IHN0YXRpY19hc3NlcnRzIGJlbG93KS4KKy0gIGNsYXNzIEJBU0VfRVhQT1JUIGFsaWduYXMoOCkg Tm9kZSB7CisrICBjbGFzcyBCQVNFX0VYUE9SVCBBTElHTkFTKDgpIE5vZGUgeworICAgIHB1Ymxp YzoKKyAgICAgTm9kZSgpOworICAgICBleHBsaWNpdCBOb2RlKE5vZGUmJiBvdGhlcikgbm9leGNl cHQ7CisKK1JlLXVzZSBjaHJvbWl1bSBhbGlnbmFzIHdvcmthcm91bmQgaW4gcHJvdG9idWYuCist LS0KKworZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L3Byb3RvYnVmL3NyYy9nb29nbGUvcHJvdG9i dWYvcG9ydF9kZWYuaW5jIGIvdGhpcmRfcGFydHkvcHJvdG9idWYvc3JjL2dvb2dsZS9wcm90b2J1 Zi9wb3J0X2RlZi5pbmMKK2luZGV4IGYxYmQ4NWQuLjljMjA0YTEgMTAwNjQ0CistLS0gYS90aGly ZF9wYXJ0eS9wcm90b2J1Zi9zcmMvZ29vZ2xlL3Byb3RvYnVmL3BvcnRfZGVmLmluYworKysrIGIv dGhpcmRfcGFydHkvcHJvdG9idWYvc3JjL2dvb2dsZS9wcm90b2J1Zi9wb3J0X2RlZi5pbmMKK0BA IC01MjgsNiArNTI4LDM1IEBAIFBST1RPQlVGX0VYUE9SVF9URU1QTEFURV9URVNUKERFRkFVTFQs IF9fZGVjbHNwZWMoZGxsaW1wb3J0KSk7CisgI3VuZGVmIElOCisgI2VuZGlmICAvLyBfTVNDX1ZF UgorIAorKy8vIFNwZWNpZnkgbWVtb3J5IGFsaWdubWVudCBmb3Igc3RydWN0cywgY2xhc3Nlcywg ZXRjLgorKy8vIFVzZSBsaWtlOgorKy8vICAgY2xhc3MgUFJPVE9CVUZfQUxJR05BUygxNikgTXlD bGFzcyB7IC4uLiB9CisrLy8gICBQUk9UT0JVRl9BTElHTkFTKDE2KSBpbnQgYXJyYXlbNF07Cisr Ly8KKysvLyBJbiBtb3N0IHBsYWNlcyB5b3UgY2FuIHVzZSB0aGUgQysrMTEga2V5d29yZCAiYWxp Z25hcyIsIHdoaWNoIGlzIHByZWZlcnJlZC4KKysvLworKy8vIEJ1dCBjb21waWxlcnMgaGF2ZSB0 cm91YmxlIG1peGluZyBfX2F0dHJpYnV0ZV9fKCguLi4pKSBzeW50YXggd2l0aAorKy8vIGFsaWdu YXMoLi4uKSBzeW50YXguCisrLy8KKysvLyBEb2Vzbid0IHdvcmsgaW4gY2xhbmcgb3IgZ2NjOgor Ky8vICAgc3RydWN0IGFsaWduYXMoMTYpIF9fYXR0cmlidXRlX18oKHBhY2tlZCkpIFMgeyBjaGFy IGM7IH07CisrLy8gV29ya3MgaW4gY2xhbmcgYnV0IG5vdCBnY2M6CisrLy8gICBzdHJ1Y3QgX19h dHRyaWJ1dGVfXygocGFja2VkKSkgYWxpZ25hcygxNikgUzIgeyBjaGFyIGM7IH07CisrLy8gV29y a3MgaW4gY2xhbmcgYW5kIGdjYzoKKysvLyAgIHN0cnVjdCBhbGlnbmFzKDE2KSBTMyB7IGNoYXIg YzsgfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKysvLworKy8vIFRoZXJlIGFyZSBhbHNvIHNv bWUgYXR0cmlidXRlcyB0aGF0IG11c3QgYmUgc3BlY2lmaWVkICpiZWZvcmUqIGEgY2xhc3MKKysv LyBkZWZpbml0aW9uOiB2aXNpYmlsaXR5ICh1c2VkIGZvciBleHBvcnRpbmcgZnVuY3Rpb25zL2Ns YXNzZXMpIGlzIG9uZSBvZgorKy8vIHRoZXNlIGF0dHJpYnV0ZXMuIFRoaXMgbWVhbnMgdGhhdCBp dCBpcyBub3QgcG9zc2libGUgdG8gdXNlIGFsaWduYXMoKSB3aXRoIGEKKysvLyBjbGFzcyB0aGF0 IGlzIG1hcmtlZCBhcyBleHBvcnRlZC4KKysjaWYgZGVmaW5lZChfTVNDX1ZFUikKKysjZGVmaW5l IFBST1RPQlVGX0FMSUdOQVMoYnl0ZV9hbGlnbm1lbnQpIF9fZGVjbHNwZWMoYWxpZ24oYnl0ZV9h bGlnbm1lbnQpKQorKyNlbGlmIGRlZmluZWQoX19HTlVDX18pCisrI2RlZmluZSBQUk9UT0JVRl9B TElHTkFTKGJ5dGVfYWxpZ25tZW50KSBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKGJ5dGVfYWxpZ25t ZW50KSkpCisrI2Vsc2UKKysjZGVmaW5lIFBST1RPQlVGX0FMSUdOQVMoYnl0ZV9hbGlnbm1lbnQp IGFsaWduYXMoYnl0ZV9hbGlnbm1lbnQpCisrI2VuZGlmCisrCisgI2lmIGRlZmluZWQoX19jbGFu Z19fKQorICNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwdXNoCisgLy8gVE9ETyhnZXJiZW5zKSBp ZGVhbGx5IHdlIGNsZWFudXAgdGhlIGNvZGUuIEJ1dCBhIGN1cnNvcnkgdHJ5IHNob3dzIG1hbnkK K2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9wcm90b2J1Zi9zcmMvZ29vZ2xlL3Byb3RvYnVmL2Fy ZW5hLmggYi90aGlyZF9wYXJ0eS9wcm90b2J1Zi9zcmMvZ29vZ2xlL3Byb3RvYnVmL2FyZW5hLmgK K2luZGV4IGRlZGMyMjEuLmE4NTE1Y2UgMTAwNjQ0CistLS0gYS90aGlyZF9wYXJ0eS9wcm90b2J1 Zi9zcmMvZ29vZ2xlL3Byb3RvYnVmL2FyZW5hLmgKKysrKyBiL3RoaXJkX3BhcnR5L3Byb3RvYnVm L3NyYy9nb29nbGUvcHJvdG9idWYvYXJlbmEuaAorQEAgLTI0NSw3ICsyNDUsNyBAQCBzdHJ1Y3Qg QXJlbmFPcHRpb25zIHsKKyAvLyB3ZWxsIGFzIHByb3RvYnVmIGNvbnRhaW5lciB0eXBlcyBsaWtl IFJlcGVhdGVkUHRyRmllbGQgYW5kIE1hcC4gVGhlIHByb3RvY29sCisgLy8gaXMgaW50ZXJuYWwg dG8gcHJvdG9idWYgYW5kIGlzIG5vdCBndWFyYW50ZWVkIHRvIGJlIHN0YWJsZS4gTm9uLXByb3Rv IHR5cGVzCisgLy8gc2hvdWxkIG5vdCByZWx5IG9uIHRoaXMgcHJvdG9jb2wuCistY2xhc3MgUFJP VE9CVUZfRVhQT1JUIGFsaWduYXMoOCkgQXJlbmEgZmluYWwgeworK2NsYXNzIFBST1RPQlVGX0VY UE9SVCBQUk9UT0JVRl9BTElHTkFTKDgpIEFyZW5hIGZpbmFsIHsKKyAgcHVibGljOgorICAgLy8g QXJlbmEgY29uc3RydWN0b3IgdGFraW5nIGN1c3RvbSBvcHRpb25zLiBTZWUgQXJlbmFPcHRpb25z IGJlbG93IGZvcgorICAgLy8gZGVzY3JpcHRpb25zIG9mIHRoZSBvcHRpb25zIGF2YWlsYWJsZS4K K2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9wcm90b2J1Zi9zcmMvZ29vZ2xlL3Byb3RvYnVmL3Bv cnRfdW5kZWYuaW5jIGIvdGhpcmRfcGFydHkvcHJvdG9idWYvc3JjL2dvb2dsZS9wcm90b2J1Zi9w b3J0X3VuZGVmLmluYworaW5kZXggYjdlNjdmZS4uYmExZmZmYyAxMDA2NDQKKy0tLSBhL3RoaXJk X3BhcnR5L3Byb3RvYnVmL3NyYy9nb29nbGUvcHJvdG9idWYvcG9ydF91bmRlZi5pbmMKKysrKyBi L3RoaXJkX3BhcnR5L3Byb3RvYnVmL3NyYy9nb29nbGUvcHJvdG9idWYvcG9ydF91bmRlZi5pbmMK K0BAIC04MCw2ICs4MCw3IEBACisgI3VuZGVmIFBST1RPQlVGX0VYUE9SVF9URU1QTEFURV9TVFlM RV9NQVRDSF9mb2ozRkpvNVN0RjBPdkl6bDdvTXhBX19kZWNsc3BlYworICN1bmRlZiBQUk9UT0JV Rl9FWFBPUlRfVEVNUExBVEVfU1RZTEVfTUFUQ0hfREVDTFNQRUNfZGxsZXhwb3J0CisgI3VuZGVm IFBST1RPQlVGX0VYUE9SVF9URU1QTEFURV9TVFlMRV9NQVRDSF9ERUNMU1BFQ19kbGxpbXBvcnQK KysjdW5kZWYgUFJPVE9CVUZfQUxJR05BUworIAorIAorIApkaWZmIC0tZ2l0IGEvc3JjcGtncy9l bGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9jaHJvbWl1bS03OC1nY2MtZW51bS1yYW5nZS5wYXRjaCBi L3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3BhdGNoZXMvY2hyb21pdW0tNzgtZ2NjLWVudW0tcmFu Z2UucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjljMTVlOTU0 YjRlCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9j aHJvbWl1bS03OC1nY2MtZW51bS1yYW5nZS5wYXRjaApAQCAtMCwwICsxLDQ2IEBACitGcm9tIDk2 NjJlYzg0NDAxNzY5MGQ1ZmQ1NmJmMGYwNWVmNmE1NDBkZDI5YzEgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCitGcm9tOiBUb20gQW5kZXJzb24gPHRob21hc2FuZGVyc29uQGNocm9taXVtLm9yZz4K K0RhdGU6IE1vbiwgMDkgU2VwIDIwMTkgMTk6MDY6MDEgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0g Rml4IEdDQyBidWlsZCBlcnJvcgorCitGaXhlcyB0aGlzIGVycm9yOgorWyAgMzc1c10gSW4gZmls ZSBpbmNsdWRlZCBmcm9tIC4uLy4uL2Jhc2UvdGFzay9jb21tb24vaW50cnVzaXZlX2hlYXAuaDo4 LAorWyAgMzc1c10gICAgICAgICAgICAgICAgICBmcm9tIC4uLy4uL2Jhc2UvdGFzay90aHJlYWRf cG9vbC90YXNrX3NvdXJjZS5oOjE3LAorWyAgMzc1c10gICAgICAgICAgICAgICAgICBmcm9tIC4u Ly4uL2Jhc2UvdGFzay90aHJlYWRfcG9vbC90YXNrX3RyYWNrZXIuaDoyNywKK1sgIDM3NXNdICAg ICAgICAgICAgICAgICAgZnJvbSAuLy4uLy4uL2Jhc2UvdGFzay90aHJlYWRfcG9vbC9zZXJ2aWNl X3RocmVhZC5jYzoxNCwKK1sgIDM3NXNdICAgICAgICAgICAgICAgICAgZnJvbSBnZW4vYmFzZS9i YXNlX2p1bWJvXzI4LmNjOjU6CitbICAzNzVzXSAuLi8uLi9iYXNlL2NvbnRhaW5lcnMvaW50cnVz aXZlX2hlYXAuaDoxNTI6MzY6IGVycm9yOiBlbnVtZXJhdG9yIHZhbHVlCisgICAgICAgICAnLTEn IGlzIG91dHNpZGUgdGhlIHJhbmdlIG9mIHVuZGVybHlpbmcgdHlwZSAnc2l6ZV90JyB7YWthICds b25nIHVuc2lnbmVkIGludCd9CitbICAzNzVzXSAgIDE1MiB8ICAgZW51bSA6IHNpemVfdCB7IGtJ bnZhbGlkSW5kZXggPSAtMSB9OworWyAgMzc1c10gICAgICAgfAorCitDaGFuZ2UtSWQ6IEk2MDQ0 ZmI3MDQ5MzFiMmY4NDE2ZjZiMTlhMjQ3YWUyOTdjZDdiMGQ2CitSZXZpZXdlZC1vbjogaHR0cHM6 Ly9jaHJvbWl1bS1yZXZpZXcuZ29vZ2xlc291cmNlLmNvbS9jL2Nocm9taXVtL3NyYy8rLzE3OTI3 NjMKK0NvbW1pdC1RdWV1ZTogVGhvbWFzIEFuZGVyc29uIDx0aG9tYXNhbmRlcnNvbkBjaHJvbWl1 bS5vcmc+CitDb21taXQtUXVldWU6IExlaSBaaGFuZyA8dGhlc3RpZ0BjaHJvbWl1bS5vcmc+CitS ZXZpZXdlZC1ieTogTGVpIFpoYW5nIDx0aGVzdGlnQGNocm9taXVtLm9yZz4KK0F1dG8tU3VibWl0 OiBUaG9tYXMgQW5kZXJzb24gPHRob21hc2FuZGVyc29uQGNocm9taXVtLm9yZz4KK0NyLUNvbW1p dC1Qb3NpdGlvbjogcmVmcy9oZWFkcy9tYXN0ZXJAeyM2OTQ4NTN9CistLS0KKworZGlmZiAtLWdp dCBhL2Jhc2UvY29udGFpbmVycy9pbnRydXNpdmVfaGVhcC5oIGIvYmFzZS9jb250YWluZXJzL2lu dHJ1c2l2ZV9oZWFwLmgKK2luZGV4IDUzZDM5MDkuLmQ3NjI2YmIgMTAwNjQ0CistLS0gYS9iYXNl L2NvbnRhaW5lcnMvaW50cnVzaXZlX2hlYXAuaAorKysrIGIvYmFzZS9jb250YWluZXJzL2ludHJ1 c2l2ZV9oZWFwLmgKK0BAIC0xMzEsNiArMTMxLDcgQEAKKyAKKyAjaW5jbHVkZSA8YWxnb3JpdGht PgorICNpbmNsdWRlIDxmdW5jdGlvbmFsPgorKyNpbmNsdWRlIDxsaW1pdHM+CisgI2luY2x1ZGUg PHR5cGVfdHJhaXRzPgorICNpbmNsdWRlIDx1dGlsaXR5PgorICNpbmNsdWRlIDx2ZWN0b3I+CitA QCAtMTQ5LDcgKzE1MCw3IEBACisgLy8gaW4gcGxhY2UuCisgY2xhc3MgQkFTRV9FWFBPUlQgSGVh cEhhbmRsZSB7CisgIHB1YmxpYzoKKy0gIGVudW0gOiBzaXplX3QgeyBrSW52YWxpZEluZGV4ID0g LTEgfTsKKysgIGVudW0gOiBzaXplX3QgeyBrSW52YWxpZEluZGV4ID0gc3RkOjpudW1lcmljX2xp bWl0czxzaXplX3Q+OjptYXgoKSB9OworIAorICAgY29uc3RleHByIEhlYXBIYW5kbGUoKSA9IGRl ZmF1bHQ7CisgICBjb25zdGV4cHIgSGVhcEhhbmRsZShjb25zdCBIZWFwSGFuZGxlJiBvdGhlcikg PSBkZWZhdWx0OwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9j aHJvbWl1bS03OC1nY2Mtbm9leGNlcHQucGF0Y2ggYi9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9w YXRjaGVzL2Nocm9taXVtLTc4LWdjYy1ub2V4Y2VwdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAwMC4uOGRkYjUzZmU4MmQKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNw a2dzL2VsZWN0cm9uNy9maWxlcy9wYXRjaGVzL2Nocm9taXVtLTc4LWdjYy1ub2V4Y2VwdC5wYXRj aApAQCAtMCwwICsxLDMyIEBACitGcm9tIGQxNmNkYThmYzM0NzZjYzUzNGE3NTY4NzNjYzhhYTI2 OTJhNTcwNTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBKb3NlIERhcGVuYSBQYXog PGpvc2UuZGFwZW5hQGxnZS5jb20+CitEYXRlOiBUaHUsIDIyIEF1ZyAyMDE5IDEzOjEzOjM2ICsw MjAwCitTdWJqZWN0OiBbUEFUQ0hdIEdDQzogZGVjbGFyZSBub2V4Y2VwdCBtb3ZlIGNvbnN0cnVj dG9yL2Fzc2lnbiBvcGVyYXRvcnMgb2YgVjhTdGFja1RyYWNlSWQKKworYmxpbms6OkJsaW5rQ2xv bmVhYmxlTWVzc2FnZSBkZWNsYXJlcyBkZWZhdWx0IGltcGxlbWVudGF0aW9uIG9mCittb3ZlIG9w ZXJhdG9yL2Fzc2lnbiBvcGVyYXRvciB0aGF0IHJlcXVpcmVzIHY4X2luc3BlY3Rvcjo6VjhTdGFj a1RyYWNlSWQKK3RvIGRlY2xhcmUgaXRzIG1vdmUgY29uc3RydWN0b3IvYXNzaWduIG9wZXJhdG9y IHRvby4KKworQnVnOiBjaHJvbWl1bTo4MTkyOTQKK0NoYW5nZS1JZDogSWFmNjI2ZWU4MjQ1ZWZj YmEzNzJhMTdjZGYyZGU0NDhlNjkxZDQxZDYKK1Jldmlld2VkLW9uOiBodHRwczovL2Nocm9taXVt LXJldmlldy5nb29nbGVzb3VyY2UuY29tL2MvdjgvdjgvKy8xNzk2MDYyCitDb21taXQtUXVldWU6 IEpvc8OpIERhcGVuYSBQYXogPGpvc2UuZGFwZW5hQGxnZS5jb20+CitSZXZpZXdlZC1ieTogWWFu ZyBHdW8gPHlhbmdndW9AY2hyb21pdW0ub3JnPgorQ3ItQ29tbWl0LVBvc2l0aW9uOiByZWZzL2hl YWRzL21hc3RlckB7IzYzNzk5fQorLS0tCisKK2RpZmYgLS1naXQgYS92OC9pbmNsdWRlL3Y4LWlu c3BlY3Rvci5oIGIvdjgvaW5jbHVkZS92OC1pbnNwZWN0b3IuaAoraW5kZXggY2U1Yjc3Ny4uZWQ0 Y2RlYyAxMDA2NDQKKy0tLSBhL3Y4L2luY2x1ZGUvdjgtaW5zcGVjdG9yLmgKKysrKyBiL3Y4L2lu Y2x1ZGUvdjgtaW5zcGVjdG9yLmgKK0BAIC0yMzEsNyArMjMxLDEwIEBAIHN0cnVjdCBWOF9FWFBP UlQgVjhTdGFja1RyYWNlSWQgeworICAgc3RkOjpwYWlyPGludDY0X3QsIGludDY0X3Q+IGRlYnVn Z2VyX2lkOworIAorICAgVjhTdGFja1RyYWNlSWQoKTsKKysgIFY4U3RhY2tUcmFjZUlkKGNvbnN0 IFY4U3RhY2tUcmFjZUlkJikgPSBkZWZhdWx0OworICAgVjhTdGFja1RyYWNlSWQodWludHB0cl90 IGlkLCBjb25zdCBzdGQ6OnBhaXI8aW50NjRfdCwgaW50NjRfdD4gZGVidWdnZXJfaWQpOworKyAg VjhTdGFja1RyYWNlSWQmIG9wZXJhdG9yPShjb25zdCBWOFN0YWNrVHJhY2VJZCYpID0gZGVmYXVs dDsKKysgIFY4U3RhY2tUcmFjZUlkJiBvcGVyYXRvcj0oVjhTdGFja1RyYWNlSWQmJikgbm9leGNl cHQgPSBkZWZhdWx0OworICAgflY4U3RhY2tUcmFjZUlkKCkgPSBkZWZhdWx0OworIAorICAgYm9v bCBJc0ludmFsaWQoKSBjb25zdDsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVz L3BhdGNoZXMvY2hyb21pdW0tNzgtaWNvbi5wYXRjaCBiL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVz L3BhdGNoZXMvY2hyb21pdW0tNzgtaWNvbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAwMC4uMmNjYTdmMTBkMTkKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2Vs ZWN0cm9uNy9maWxlcy9wYXRjaGVzL2Nocm9taXVtLTc4LWljb24ucGF0Y2gKQEAgLTAsMCArMSwx MiBAQAorZGlmZiAtLWdpdCBhL3VpL3BsYXRmb3JtX3dpbmRvdy94MTEveDExX3dpbmRvdy5jYyBi L3VpL3BsYXRmb3JtX3dpbmRvdy94MTEveDExX3dpbmRvdy5jYworaW5kZXggN2EzYTZlYi4uN2Mw MTUzNCAxMDA2NDQKKy0tLSBhL3VpL3BsYXRmb3JtX3dpbmRvdy94MTEveDExX3dpbmRvdy5jYwor KysrIGIvdWkvcGxhdGZvcm1fd2luZG93L3gxMS94MTFfd2luZG93LmNjCitAQCAtNjcsNiArNjcs NyBAQCB1aTo6WFdpbmRvdzo6Q29uZmlndXJhdGlvbiBDb252ZXJ0SW5pdFByb3BlcnRpZXNUb1hX aW5kb3dDb25maWcoCisgICBjb25maWcud21fcm9sZV9uYW1lID0gcHJvcGVydGllcy53bV9yb2xl X25hbWU7CisgICBjb25maWcuYWN0aXZhdGFibGUgPSBwcm9wZXJ0aWVzLmFjdGl2YXRhYmxlOwor ICAgY29uZmlnLnZpc3VhbF9pZCA9IHByb3BlcnRpZXMueF92aXN1YWxfaWQ7CisrICBjb25maWcu aWNvbiA9IHByb3BlcnRpZXMuaWNvbjsKKyAgIHJldHVybiBjb25maWc7CisgfQorIApkaWZmIC0t Z2l0IGEvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9jaHJvbWl1bS03OC1pbmNsdWRl LnBhdGNoIGIvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9jaHJvbWl1bS03OC1pbmNs dWRlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4zZGIzOGVh YzFjOQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3BhdGNoZXMv Y2hyb21pdW0tNzgtaW5jbHVkZS5wYXRjaApAQCAtMCwwICsxLDQwIEBACitGcm9tIGJiZmUyNjY1 OTIzMjI1YjRhN2M0MzZiYTJiNmM3ZTVmNjk1ZjJlNTIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CitGcm9tOiBEYXZpZCBMYW5kZWxsIDxsYW5kZWxsQHZld2QuY29tPgorRGF0ZTogRnJpLCAxMyBT ZXAgMjAxOSAxMjoyNDoxMyArMDAwMAorU3ViamVjdDogW1BBVENIXSBBZGQgbWlzc2luZyBpbmNs dWRlIGZvciB1bmlxdWVfcHRyCisKK0NoYW5nZS1JZDogSTYxNGQyZjQyODY4ZDU2M2ViNmE5MmRm YjJhYWUwODI4NmUyMGQ2ODcKK1Jldmlld2VkLW9uOiBodHRwczovL2Nocm9taXVtLXJldmlldy5n b29nbGVzb3VyY2UuY29tL2MvY2hyb21pdW0vc3JjLysvMTgwMzEzNworUmV2aWV3ZWQtYnk6IEhl bnJpayBCb3N0csO2bSA8aGJvc0BjaHJvbWl1bS5vcmc+CitDb21taXQtUXVldWU6IEhlbnJpayBC b3N0csO2bSA8aGJvc0BjaHJvbWl1bS5vcmc+CitDci1Db21taXQtUG9zaXRpb246IHJlZnMvaGVh ZHMvbWFzdGVyQHsjNjk2MzU1fQorLS0tCisKK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9ibGlu ay9wdWJsaWMvcGxhdGZvcm0vd2ViX3J0Y19ydHBfc291cmNlLmggYi90aGlyZF9wYXJ0eS9ibGlu ay9wdWJsaWMvcGxhdGZvcm0vd2ViX3J0Y19ydHBfc291cmNlLmgKK2luZGV4IDk1OTQ0MGYuLmMz ZmQ1NDIgMTAwNjQ0CistLS0gYS90aGlyZF9wYXJ0eS9ibGluay9wdWJsaWMvcGxhdGZvcm0vd2Vi X3J0Y19ydHBfc291cmNlLmgKKysrKyBiL3RoaXJkX3BhcnR5L2JsaW5rL3B1YmxpYy9wbGF0Zm9y bS93ZWJfcnRjX3J0cF9zb3VyY2UuaAorQEAgLTUsNiArNSw4IEBACisgI2lmbmRlZiBUSElSRF9Q QVJUWV9CTElOS19QVUJMSUNfUExBVEZPUk1fV0VCX1JUQ19SVFBfU09VUkNFX0hfCisgI2RlZmlu ZSBUSElSRF9QQVJUWV9CTElOS19QVUJMSUNfUExBVEZPUk1fV0VCX1JUQ19SVFBfU09VUkNFX0hf CisgCisrI2luY2x1ZGUgPG1lbW9yeT4KKysKKyAjaW5jbHVkZSAiYmFzZS9vcHRpb25hbC5oIgor ICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9ibGluay9wdWJsaWMvcGxhdGZvcm0vd2ViX2NvbW1vbi5o IgorIAorTWlzc2luZyBpbmNsdWRlIGR1ZSB0byByZXZlcnRpbmcgUHJvZmlsZU1hbmFnZXJPYnNl cnZlcgorLS0tCisKK2RpZmYgLS1naXQgYS9jaHJvbWUvYnJvd3Nlci93ZWJfYXBwbGljYXRpb25z L2V4dGVuc2lvbnMvYm9va21hcmtfYXBwX3V0aWwuY2MgYi9jaHJvbWUvYnJvd3Nlci93ZWJfYXBw bGljYXRpb25zL2V4dGVuc2lvbnMvYm9va21hcmtfYXBwX3V0aWwuY2MKK2luZGV4IGVlNGI3MGEu LmIzMWU1ZjUgMTAwNjQ0CistLS0gYS9jaHJvbWUvYnJvd3Nlci93ZWJfYXBwbGljYXRpb25zL2V4 dGVuc2lvbnMvYm9va21hcmtfYXBwX3V0aWwuY2MKKysrKyBiL2Nocm9tZS9icm93c2VyL3dlYl9h cHBsaWNhdGlvbnMvZXh0ZW5zaW9ucy9ib29rbWFya19hcHBfdXRpbC5jYworQEAgLTcsNiArNyw3 IEBACisgI2luY2x1ZGUgImJhc2Uvc3RyaW5ncy9zdHJpbmdfcGllY2UuaCIKKyAjaW5jbHVkZSAi YmFzZS92YWx1ZXMuaCIKKyAjaW5jbHVkZSAiY2hyb21lL2Jyb3dzZXIvZXh0ZW5zaW9ucy9leHRl bnNpb25fc2VydmljZS5oIgorKyNpbmNsdWRlICJjaHJvbWUvYnJvd3Nlci9wcm9maWxlcy9wcm9m aWxlLmgiCisgI2luY2x1ZGUgImNocm9tZS9icm93c2VyL3dlYl9hcHBsaWNhdGlvbnMvY29tcG9u ZW50cy9hcHBfcmVnaXN0cmFyLmgiCisgI2luY2x1ZGUgImNocm9tZS9icm93c2VyL3dlYl9hcHBs aWNhdGlvbnMvY29tcG9uZW50cy93ZWJfYXBwX3Byb3ZpZGVyX2Jhc2UuaCIKKyAjaW5jbHVkZSAi Y2hyb21lL2NvbW1vbi9jaHJvbWVfZmVhdHVyZXMuaCIKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZWxl Y3Ryb243L2ZpbGVzL3BhdGNoZXMvY2hyb21pdW0tNzgtcG0tY3Jhc2gucGF0Y2ggYi9zcmNwa2dz L2VsZWN0cm9uNy9maWxlcy9wYXRjaGVzL2Nocm9taXVtLTc4LXBtLWNyYXNoLnBhdGNoCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5hZGEyNjYxMjBkYwotLS0gL2Rldi9u dWxsCisrKyBiL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3BhdGNoZXMvY2hyb21pdW0tNzgtcG0t Y3Jhc2gucGF0Y2gKQEAgLTAsMCArMSw0MyBAQAorRnJvbSBlNzNhZWQ5YTVlZjE1MTAyZjI5YWMz MWI3MDI5MGZhZjVjOTBmOWZlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRXZhbiBT dGFkZSA8ZXN0YWRlQGNocm9taXVtLm9yZz4KK0RhdGU6IFdlZCwgMTYgT2N0IDIwMTkgMTY6MDE6 MzIgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gRml4IHNodXRkb3duIGNyYXNoIGluIFByb2ZpbGVN YW5hZ2VyLgorCitPblByb2ZpbGVNYXJrZWRGb3JQZXJtYW5lbnREZWxldGlvbiBzaG91bGQgbW92 ZSBmcm9tCitQcm9maWxlTWFuYWdlck9ic2VydmVyIHRvIFByb2ZpbGVPYnNlcnZlciwgd2hpY2gg d291bGQgYWxzbworZml4IHRoaXMgYnVnLiBIb3dldmVyLCBjaGFuZ2luZyB0aGUgb3JkZXIgb2Yg bWVtYmVycyBpcyB0aGUKK3F1aWNrZXN0IGFuZCBtb3N0IGNoZXJyeS1waWNrLWFibGUgd2F5IHRv IGF2b2lkIHRoZSBjcmFzaC4KKworQnVnOiAxMDA1MjQ0CitDaGFuZ2UtSWQ6IElmMmRiNjhjODQ2 ZGQ0MThjZDAyODY0YjU3YjliNTQzNjg3ZmExZTAzCitSZXZpZXdlZC1vbjogaHR0cHM6Ly9jaHJv bWl1bS1yZXZpZXcuZ29vZ2xlc291cmNlLmNvbS9jL2Nocm9taXVtL3NyYy8rLzE4NjM1MTgKK0F1 dG8tU3VibWl0OiBFdmFuIFN0YWRlIDxlc3RhZGVAY2hyb21pdW0ub3JnPgorUmV2aWV3ZWQtYnk6 IERhdmlkIFJvZ2VyIDxkcm9nZXJAY2hyb21pdW0ub3JnPgorQ29tbWl0LVF1ZXVlOiBFdmFuIFN0 YWRlIDxlc3RhZGVAY2hyb21pdW0ub3JnPgorQ3ItQ29tbWl0LVBvc2l0aW9uOiByZWZzL2hlYWRz L21hc3RlckB7IzcwNjQ2N30KKy0tLQorCitkaWZmIC0tZ2l0IGEvY2hyb21lL2Jyb3dzZXIvcHJv ZmlsZXMvcHJvZmlsZV9tYW5hZ2VyLmggYi9jaHJvbWUvYnJvd3Nlci9wcm9maWxlcy9wcm9maWxl X21hbmFnZXIuaAoraW5kZXggYjYwZGY3NmQuLjdkMDJhZjcgMTAwNjQ0CistLS0gYS9jaHJvbWUv YnJvd3Nlci9wcm9maWxlcy9wcm9maWxlX21hbmFnZXIuaAorKysrIGIvY2hyb21lL2Jyb3dzZXIv cHJvZmlsZXMvcHJvZmlsZV9tYW5hZ2VyLmgKK0BAIC00MDksNiArNDA5LDEwIEBAIGNsYXNzIFBy b2ZpbGVNYW5hZ2VyIDogcHVibGljIGNvbnRlbnQ6Ok5vdGlmaWNhdGlvbk9ic2VydmVyLAorICAg ICAgIGNvbnN0IGJhc2U6OkZpbGVQYXRoJiBwcm9maWxlX2Rpcik7CisgI2VuZGlmICAvLyAhZGVm aW5lZChPU19BTkRST0lEKQorIAorKyAgLy8gRGVzdHJveSBhZnRlciB8cHJvZmlsZV9pbmZvX2Nh Y2hlX3wgc2luY2UgUHJvZmlsZSBkZXN0cnVjdGlvbiBtYXkgdHJpZ2dlcgorKyAgLy8gc29tZSBv YnNlcnZlcnMgdG8gdW5yZWdpc3RlciB0aGVtc2VsdmVzLgorKyAgYmFzZTo6T2JzZXJ2ZXJMaXN0 PFByb2ZpbGVNYW5hZ2VyT2JzZXJ2ZXI+IG9ic2VydmVyc187CisrCisgICAvLyBPYmplY3QgdG8g Y2FjaGUgdmFyaW91cyBpbmZvcm1hdGlvbiBhYm91dCBwcm9maWxlcy4gQ29udGFpbnMgaW5mb3Jt YXRpb24KKyAgIC8vIGFib3V0IGV2ZXJ5IHByb2ZpbGUgd2hpY2ggaGFzIGJlZW4gY3JlYXRlZCBm b3IgdGhpcyBpbnN0YW5jZSBvZiBDaHJvbWUsCisgICAvLyBpZiBpdCBoYXMgbm90IGJlZW4gZXhw bGljaXRseSBkZWxldGVkLiBJdCBtdXN0IGJlIGRlc3Ryb3llZCBhZnRlcgorQEAgLTQ1MCw4ICs0 NTQsNiBAQCBjbGFzcyBQcm9maWxlTWFuYWdlciA6IHB1YmxpYyBjb250ZW50OjpOb3RpZmljYXRp b25PYnNlcnZlciwKKyAgIC8vIENvbnRyb2xzIHdoZXRoZXIgdG8gaW5pdGlhbGl6ZSBzb21lIHNl cnZpY2VzLiBPbmx5IGRpc2FibGVkIGZvciB0ZXN0aW5nLgorICAgYm9vbCBkb19maW5hbF9zZXJ2 aWNlc19pbml0XyA9IHRydWU7CisgCistICBiYXNlOjpPYnNlcnZlckxpc3Q8UHJvZmlsZU1hbmFn ZXJPYnNlcnZlcj4gb2JzZXJ2ZXJzXzsKKy0KKyAgIC8vIFRPRE8oY2hyb21lL2Jyb3dzZXIvcHJv ZmlsZXMvT1dORVJTKTogVXNhZ2Ugb2YgdGhpcyBpbiBwcm9maWxlX21hbmFnZXIuY2MKKyAgIC8v IHNob3VsZCBsaWtlbHkgYmUgdHVybmVkIGludG8gRENIRUNLX0NVUlJFTlRMWV9PTihCcm93c2Vy VGhyZWFkOjpVSSkgZm9yCisgICAvLyBjb25zaXN0ZW5jeSB3aXRoIHN1cnJvdW5kaW5nIGNvZGUg aW4gdGhlIHNhbWUgZmlsZSBidXQgdGhhdCB3YXNuJ3QgdHJpdmlhbApkaWZmIC0tZ2l0IGEvc3Jj cGtncy9lbGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9jaHJvbWl1bS03OC1wcm90b2J1Zi1leHBvcnQu cGF0Y2ggYi9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9wYXRjaGVzL2Nocm9taXVtLTc4LXByb3Rv YnVmLWV4cG9ydC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4u ZGRiOWU4MGVlZmUKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9w YXRjaGVzL2Nocm9taXVtLTc4LXByb3RvYnVmLWV4cG9ydC5wYXRjaApAQCAtMCwwICsxLDEzIEBA CitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvcHJvdG9idWYvc3JjL2dvb2dsZS9wcm90b2J1Zi9y ZXBlYXRlZF9maWVsZC5oIGIvdGhpcmRfcGFydHkvcHJvdG9idWYvc3JjL2dvb2dsZS9wcm90b2J1 Zi9yZXBlYXRlZF9maWVsZC5oCitpbmRleCBiNWIxOTNjLi40NDM0ODU0IDEwMDY0NAorLS0tIGEv dGhpcmRfcGFydHkvcHJvdG9idWYvc3JjL2dvb2dsZS9wcm90b2J1Zi9yZXBlYXRlZF9maWVsZC5o CisrKysgYi90aGlyZF9wYXJ0eS9wcm90b2J1Zi9zcmMvZ29vZ2xlL3Byb3RvYnVmL3JlcGVhdGVk X2ZpZWxkLmgKK0BAIC04MDQsNyArODA0LDcgQEAgY2xhc3MgU3RyaW5nVHlwZUhhbmRsZXIgewor IC8vIFJlcGVhdGVkUHRyRmllbGQgaXMgbGlrZSBSZXBlYXRlZEZpZWxkLCBidXQgdXNlZCBmb3Ig cmVwZWF0ZWQgc3RyaW5ncyBvcgorIC8vIE1lc3NhZ2VzLgorIHRlbXBsYXRlIDx0eXBlbmFtZSBF bGVtZW50PgorLWNsYXNzIFJlcGVhdGVkUHRyRmllbGQgZmluYWwgOiBwcml2YXRlIGludGVybmFs OjpSZXBlYXRlZFB0ckZpZWxkQmFzZSB7CisrY2xhc3MgUFJPVE9CVUZfRVhQT1JUIFJlcGVhdGVk UHRyRmllbGQgZmluYWwgOiBwcml2YXRlIGludGVybmFsOjpSZXBlYXRlZFB0ckZpZWxkQmFzZSB7 CisgIHB1YmxpYzoKKyAgIFJlcGVhdGVkUHRyRmllbGQoKTsKKyAgIGV4cGxpY2l0IFJlcGVhdGVk UHRyRmllbGQoQXJlbmEqIGFyZW5hKTsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZWxlY3Ryb243L2Zp bGVzL3BhdGNoZXMvY2hyb21pdW0tNzgtcmV2ZXJ0LW5vZXhjZXB0LXIxLnBhdGNoIGIvc3JjcGtn cy9lbGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9jaHJvbWl1bS03OC1yZXZlcnQtbm9leGNlcHQtcjEu cGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjQwOGQ2MThiNTQx Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9jaHJv bWl1bS03OC1yZXZlcnQtbm9leGNlcHQtcjEucGF0Y2gKQEAgLTAsMCArMSwxNDcxIEBACitGcm9t IDM3YTk1ZGQ5M2U1NTM4ODhjMDBjZjk0NDNhNWVjNzM4Y2U2NThlNjUgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxDQorRnJvbTogWmlub3Z5IE5pcyA8enluaXNAeWFuZGV4LXRlYW0ucnU+DQorRGF0 ZTogTW9uLCAxNiBTZXAgMjAxOSAxMzowODoxNyArMDAwMA0KK1N1YmplY3Q6IFtQQVRDSF0gUmV2 ZXJ0ICJbY2xhbmctdGlkeV0gYWRkIG5vZXhjZXB0IGZvciBtb3ZlIGN0b3JzIGFuZCBvcGVyYXRv cj0gaW4gYmxpbmsiDQorDQorVGhpcyByZXZlcnRzIGNvbW1pdCA4ZjNlZWExMGZlNjNhNjRhYzY3 ZGMyMTU0MmViZWU2Yjg5NjE1NmEzLg0KKw0KK1JlYXNvbiBmb3IgcmV2ZXJ0OiBjb2RlIGJsb2F0 aW5nDQorDQorT3JpZ2luYWwgY2hhbmdlJ3MgZGVzY3JpcHRpb246DQorPiBbY2xhbmctdGlkeV0g YWRkIG5vZXhjZXB0IGZvciBtb3ZlIGN0b3JzIGFuZCBvcGVyYXRvcj0gaW4gYmxpbmsNCis+DQor PiBCdWc6IDk5NDkxNQ0KKz4gQ2hhbmdlLUlkOiBJMmUxYmNmMjg2YTJkMmZhNjYxM2UxOGI1MjY4 MDk4YTBkMjU4ZmIyZQ0KKz4gUmV2aWV3ZWQtb246IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3Lmdv b2dsZXNvdXJjZS5jb20vYy9jaHJvbWl1bS9zcmMvKy8xNzU5MTYzDQorPiBDb21taXQtUXVldWU6 IFppbm92eSBOaXMgPHp5bmlzQHlhbmRleC10ZWFtLnJ1Pg0KKz4gUmV2aWV3ZWQtYnk6IEplcmVt eSBSb21hbiA8amJyb21hbkBjaHJvbWl1bS5vcmc+DQorPiBSZXZpZXdlZC1ieTogTWlrZSBXZXN0 IDxta3dzdEBjaHJvbWl1bS5vcmc+DQorPiBDci1Db21taXQtUG9zaXRpb246IHJlZnMvaGVhZHMv bWFzdGVyQHsjNjg4Njc2fQ0KKw0KK1RCUj1qYnJvbWFuQGNocm9taXVtLm9yZyxmb29saXBAY2hy b21pdW0ub3JnLG1rd3N0QGNocm9taXVtLm9yZyx6eW5pc0B5YW5kZXgtdGVhbS5ydQ0KKw0KKyMg Tm90IHNraXBwaW5nIENRIGNoZWNrcyBiZWNhdXNlIG9yaWdpbmFsIENMIGxhbmRlZCA+IDEgZGF5 IGFnby4NCisNCitCdWc6IDk5NDkxNQ0KK0NoYW5nZS1JZDogSTEyYjNlY2MxMTg2ZTI3ODA5MDgy ZGMzOTljNmQ2ODY0MTA5Y2UzMDcNCistLS0NCisNCitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkv YmxpbmsvY29tbW9uL2luZGV4ZWRkYi9pbmRleGVkZGJfa2V5X3BhdGguY2MgYi90aGlyZF9wYXJ0 eS9ibGluay9jb21tb24vaW5kZXhlZGRiL2luZGV4ZWRkYl9rZXlfcGF0aC5jYw0KK2luZGV4IGVj MmI2MTguLjU1MmQ1NDEgMTAwNjQ0DQorLS0tIGEvdGhpcmRfcGFydHkvYmxpbmsvY29tbW9uL2lu ZGV4ZWRkYi9pbmRleGVkZGJfa2V5X3BhdGguY2MNCisrKysgYi90aGlyZF9wYXJ0eS9ibGluay9j b21tb24vaW5kZXhlZGRiL2luZGV4ZWRkYl9rZXlfcGF0aC5jYw0KK0BAIC0xOCwxMiArMTgsMTIg QEANCisgICAgIDogdHlwZV8obW9qb206OklEQktleVBhdGhUeXBlOjpBcnJheSksIGFycmF5Xyhh cnJheSkge30NCisgDQorIEluZGV4ZWREQktleVBhdGg6OkluZGV4ZWREQktleVBhdGgoY29uc3Qg SW5kZXhlZERCS2V5UGF0aCYgb3RoZXIpID0gZGVmYXVsdDsNCistSW5kZXhlZERCS2V5UGF0aDo6 SW5kZXhlZERCS2V5UGF0aChJbmRleGVkREJLZXlQYXRoJiYgb3RoZXIpIG5vZXhjZXB0ID0gZGVm YXVsdDsNCisrSW5kZXhlZERCS2V5UGF0aDo6SW5kZXhlZERCS2V5UGF0aChJbmRleGVkREJLZXlQ YXRoJiYgb3RoZXIpID0gZGVmYXVsdDsNCisgSW5kZXhlZERCS2V5UGF0aDo6fkluZGV4ZWREQktl eVBhdGgoKSA9IGRlZmF1bHQ7DQorIEluZGV4ZWREQktleVBhdGgmIEluZGV4ZWREQktleVBhdGg6 Om9wZXJhdG9yPShjb25zdCBJbmRleGVkREJLZXlQYXRoJiBvdGhlcikgPQ0KKyAgICAgZGVmYXVs dDsNCistSW5kZXhlZERCS2V5UGF0aCYgSW5kZXhlZERCS2V5UGF0aDo6b3BlcmF0b3I9KA0KKy0g ICAgSW5kZXhlZERCS2V5UGF0aCYmIG90aGVyKSBub2V4Y2VwdCA9IGRlZmF1bHQ7DQorK0luZGV4 ZWREQktleVBhdGgmIEluZGV4ZWREQktleVBhdGg6Om9wZXJhdG9yPShJbmRleGVkREJLZXlQYXRo JiYgb3RoZXIpID0NCisrICAgIGRlZmF1bHQ7DQorIA0KKyBjb25zdCBzdGQ6OnZlY3RvcjxiYXNl OjpzdHJpbmcxNj4mIEluZGV4ZWREQktleVBhdGg6OmFycmF5KCkgY29uc3Qgew0KKyAgIERDSEVD Syh0eXBlXyA9PSBibGluazo6bW9qb206OklEQktleVBhdGhUeXBlOjpBcnJheSk7DQorZGlmZiAt LWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5rL2NvbW1vbi9pbmRleGVkZGIvaW5kZXhlZGRiX21ldGFk YXRhLmNjIGIvdGhpcmRfcGFydHkvYmxpbmsvY29tbW9uL2luZGV4ZWRkYi9pbmRleGVkZGJfbWV0 YWRhdGEuY2MNCitpbmRleCA1MGQ1ODQ1Li45MzQ5NzMyIDEwMDY0NA0KKy0tLSBhL3RoaXJkX3Bh cnR5L2JsaW5rL2NvbW1vbi9pbmRleGVkZGIvaW5kZXhlZGRiX21ldGFkYXRhLmNjDQorKysrIGIv dGhpcmRfcGFydHkvYmxpbmsvY29tbW9uL2luZGV4ZWRkYi9pbmRleGVkZGJfbWV0YWRhdGEuY2MN CitAQCAtMjMsMTUgKzIzLDE1IEBADQorIA0KKyBJbmRleGVkREJJbmRleE1ldGFkYXRhOjpJbmRl eGVkREJJbmRleE1ldGFkYXRhKA0KKyAgICAgY29uc3QgSW5kZXhlZERCSW5kZXhNZXRhZGF0YSYg b3RoZXIpID0gZGVmYXVsdDsNCistSW5kZXhlZERCSW5kZXhNZXRhZGF0YTo6SW5kZXhlZERCSW5k ZXhNZXRhZGF0YSgNCistICAgIEluZGV4ZWREQkluZGV4TWV0YWRhdGEmJiBvdGhlcikgbm9leGNl cHQgPSBkZWZhdWx0Ow0KKytJbmRleGVkREJJbmRleE1ldGFkYXRhOjpJbmRleGVkREJJbmRleE1l dGFkYXRhKEluZGV4ZWREQkluZGV4TWV0YWRhdGEmJiBvdGhlcikgPQ0KKysgICAgZGVmYXVsdDsN CisgDQorIEluZGV4ZWREQkluZGV4TWV0YWRhdGE6On5JbmRleGVkREJJbmRleE1ldGFkYXRhKCkg PSBkZWZhdWx0Ow0KKyANCisgSW5kZXhlZERCSW5kZXhNZXRhZGF0YSYgSW5kZXhlZERCSW5kZXhN ZXRhZGF0YTo6b3BlcmF0b3I9KA0KKyAgICAgY29uc3QgSW5kZXhlZERCSW5kZXhNZXRhZGF0YSYg b3RoZXIpID0gZGVmYXVsdDsNCisgSW5kZXhlZERCSW5kZXhNZXRhZGF0YSYgSW5kZXhlZERCSW5k ZXhNZXRhZGF0YTo6b3BlcmF0b3I9KA0KKy0gICAgSW5kZXhlZERCSW5kZXhNZXRhZGF0YSYmIG90 aGVyKSBub2V4Y2VwdCA9IGRlZmF1bHQ7DQorKyAgICBJbmRleGVkREJJbmRleE1ldGFkYXRhJiYg b3RoZXIpID0gZGVmYXVsdDsNCisgDQorIGJvb2wgSW5kZXhlZERCSW5kZXhNZXRhZGF0YTo6b3Bl cmF0b3I9PSgNCisgICAgIGNvbnN0IEluZGV4ZWREQkluZGV4TWV0YWRhdGEmIG90aGVyKSBjb25z dCB7DQorQEAgLTU2LDE0ICs1NiwxNCBAQA0KKyBJbmRleGVkREJPYmplY3RTdG9yZU1ldGFkYXRh OjpJbmRleGVkREJPYmplY3RTdG9yZU1ldGFkYXRhKA0KKyAgICAgY29uc3QgSW5kZXhlZERCT2Jq ZWN0U3RvcmVNZXRhZGF0YSYgb3RoZXIpID0gZGVmYXVsdDsNCisgSW5kZXhlZERCT2JqZWN0U3Rv cmVNZXRhZGF0YTo6SW5kZXhlZERCT2JqZWN0U3RvcmVNZXRhZGF0YSgNCistICAgIEluZGV4ZWRE Qk9iamVjdFN0b3JlTWV0YWRhdGEmJiBvdGhlcikgbm9leGNlcHQgPSBkZWZhdWx0Ow0KKysgICAg SW5kZXhlZERCT2JqZWN0U3RvcmVNZXRhZGF0YSYmIG90aGVyKSA9IGRlZmF1bHQ7DQorIA0KKyBJ bmRleGVkREJPYmplY3RTdG9yZU1ldGFkYXRhOjp+SW5kZXhlZERCT2JqZWN0U3RvcmVNZXRhZGF0 YSgpID0gZGVmYXVsdDsNCisgDQorIEluZGV4ZWREQk9iamVjdFN0b3JlTWV0YWRhdGEmIEluZGV4 ZWREQk9iamVjdFN0b3JlTWV0YWRhdGE6Om9wZXJhdG9yPSgNCisgICAgIGNvbnN0IEluZGV4ZWRE Qk9iamVjdFN0b3JlTWV0YWRhdGEmIG90aGVyKSA9IGRlZmF1bHQ7DQorIEluZGV4ZWREQk9iamVj dFN0b3JlTWV0YWRhdGEmIEluZGV4ZWREQk9iamVjdFN0b3JlTWV0YWRhdGE6Om9wZXJhdG9yPSgN CistICAgIEluZGV4ZWREQk9iamVjdFN0b3JlTWV0YWRhdGEmJiBvdGhlcikgbm9leGNlcHQgPSBk ZWZhdWx0Ow0KKysgICAgSW5kZXhlZERCT2JqZWN0U3RvcmVNZXRhZGF0YSYmIG90aGVyKSA9IGRl ZmF1bHQ7DQorIA0KKyBib29sIEluZGV4ZWREQk9iamVjdFN0b3JlTWV0YWRhdGE6Om9wZXJhdG9y PT0oDQorICAgICBjb25zdCBJbmRleGVkREJPYmplY3RTdG9yZU1ldGFkYXRhJiBvdGhlcikgY29u c3Qgew0KK0BAIC04NywxNCArODcsMTQgQEANCisgSW5kZXhlZERCRGF0YWJhc2VNZXRhZGF0YTo6 SW5kZXhlZERCRGF0YWJhc2VNZXRhZGF0YSgNCisgICAgIGNvbnN0IEluZGV4ZWREQkRhdGFiYXNl TWV0YWRhdGEmIG90aGVyKSA9IGRlZmF1bHQ7DQorIEluZGV4ZWREQkRhdGFiYXNlTWV0YWRhdGE6 OkluZGV4ZWREQkRhdGFiYXNlTWV0YWRhdGEoDQorLSAgICBJbmRleGVkREJEYXRhYmFzZU1ldGFk YXRhJiYgb3RoZXIpIG5vZXhjZXB0ID0gZGVmYXVsdDsNCisrICAgIEluZGV4ZWREQkRhdGFiYXNl TWV0YWRhdGEmJiBvdGhlcikgPSBkZWZhdWx0Ow0KKyANCisgSW5kZXhlZERCRGF0YWJhc2VNZXRh ZGF0YTo6fkluZGV4ZWREQkRhdGFiYXNlTWV0YWRhdGEoKSA9IGRlZmF1bHQ7DQorIA0KKyBJbmRl eGVkREJEYXRhYmFzZU1ldGFkYXRhJiBJbmRleGVkREJEYXRhYmFzZU1ldGFkYXRhOjpvcGVyYXRv cj0oDQorICAgICBjb25zdCBJbmRleGVkREJEYXRhYmFzZU1ldGFkYXRhJiBvdGhlcikgPSBkZWZh dWx0Ow0KKyBJbmRleGVkREJEYXRhYmFzZU1ldGFkYXRhJiBJbmRleGVkREJEYXRhYmFzZU1ldGFk YXRhOjpvcGVyYXRvcj0oDQorLSAgICBJbmRleGVkREJEYXRhYmFzZU1ldGFkYXRhJiYgb3RoZXIp IG5vZXhjZXB0ID0gZGVmYXVsdDsNCisrICAgIEluZGV4ZWREQkRhdGFiYXNlTWV0YWRhdGEmJiBv dGhlcikgPSBkZWZhdWx0Ow0KKyANCisgYm9vbCBJbmRleGVkREJEYXRhYmFzZU1ldGFkYXRhOjpv cGVyYXRvcj09KA0KKyAgICAgY29uc3QgSW5kZXhlZERCRGF0YWJhc2VNZXRhZGF0YSYgb3RoZXIp IGNvbnN0IHsNCitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvYmxpbmsvY29tbW9uL21lZGlhc3Ry ZWFtL21lZGlhX2RldmljZXMuY2MgYi90aGlyZF9wYXJ0eS9ibGluay9jb21tb24vbWVkaWFzdHJl YW0vbWVkaWFfZGV2aWNlcy5jYw0KK2luZGV4IDkzZGYyMDEuLjM2NjFiNGIgMTAwNjQ0DQorLS0t IGEvdGhpcmRfcGFydHkvYmxpbmsvY29tbW9uL21lZGlhc3RyZWFtL21lZGlhX2RldmljZXMuY2MN CisrKysgYi90aGlyZF9wYXJ0eS9ibGluay9jb21tb24vbWVkaWFzdHJlYW0vbWVkaWFfZGV2aWNl cy5jYw0KK0BAIC0xMyw4ICsxMyw3IEBADQorIFdlYk1lZGlhRGV2aWNlSW5mbzo6V2ViTWVkaWFE ZXZpY2VJbmZvKGNvbnN0IFdlYk1lZGlhRGV2aWNlSW5mbyYgb3RoZXIpID0NCisgICAgIGRlZmF1 bHQ7DQorIA0KKy1XZWJNZWRpYURldmljZUluZm86OldlYk1lZGlhRGV2aWNlSW5mbyhXZWJNZWRp YURldmljZUluZm8mJiBvdGhlcikgbm9leGNlcHQgPQ0KKy0gICAgZGVmYXVsdDsNCisrV2ViTWVk aWFEZXZpY2VJbmZvOjpXZWJNZWRpYURldmljZUluZm8oV2ViTWVkaWFEZXZpY2VJbmZvJiYgb3Ro ZXIpID0gZGVmYXVsdDsNCisgDQorIFdlYk1lZGlhRGV2aWNlSW5mbzo6V2ViTWVkaWFEZXZpY2VJ bmZvKGNvbnN0IHN0ZDo6c3RyaW5nJiBkZXZpY2VfaWQsDQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0ZDo6c3RyaW5nJiBsYWJlbCwNCitAQCAtMzYsOCAr MzUsOCBAQA0KKyBXZWJNZWRpYURldmljZUluZm8mIFdlYk1lZGlhRGV2aWNlSW5mbzo6b3BlcmF0 b3I9KA0KKyAgICAgY29uc3QgV2ViTWVkaWFEZXZpY2VJbmZvJiBvdGhlcikgPSBkZWZhdWx0Ow0K KyANCistV2ViTWVkaWFEZXZpY2VJbmZvJiBXZWJNZWRpYURldmljZUluZm86Om9wZXJhdG9yPSgN CistICAgIFdlYk1lZGlhRGV2aWNlSW5mbyYmIG90aGVyKSBub2V4Y2VwdCA9IGRlZmF1bHQ7DQor K1dlYk1lZGlhRGV2aWNlSW5mbyYgV2ViTWVkaWFEZXZpY2VJbmZvOjpvcGVyYXRvcj0oV2ViTWVk aWFEZXZpY2VJbmZvJiYgb3RoZXIpID0NCisrICAgIGRlZmF1bHQ7DQorIA0KKyBib29sIG9wZXJh dG9yPT0oY29uc3QgV2ViTWVkaWFEZXZpY2VJbmZvJiBmaXJzdCwNCisgICAgICAgICAgICAgICAg IGNvbnN0IFdlYk1lZGlhRGV2aWNlSW5mbyYgc2Vjb25kKSB7DQorZGlmZiAtLWdpdCBhL3RoaXJk X3BhcnR5L2JsaW5rL2NvbW1vbi9tZXNzYWdpbmcvY2xvbmVhYmxlX21lc3NhZ2UuY2MgYi90aGly ZF9wYXJ0eS9ibGluay9jb21tb24vbWVzc2FnaW5nL2Nsb25lYWJsZV9tZXNzYWdlLmNjDQoraW5k ZXggMjk4NGZkMS4uNWMzZWU3ZSAxMDA2NDQNCistLS0gYS90aGlyZF9wYXJ0eS9ibGluay9jb21t b24vbWVzc2FnaW5nL2Nsb25lYWJsZV9tZXNzYWdlLmNjDQorKysrIGIvdGhpcmRfcGFydHkvYmxp bmsvY29tbW9uL21lc3NhZ2luZy9jbG9uZWFibGVfbWVzc2FnZS5jYw0KK0BAIC0xMiw5ICsxMiw4 IEBADQorIG5hbWVzcGFjZSBibGluayB7DQorIA0KKyBDbG9uZWFibGVNZXNzYWdlOjpDbG9uZWFi bGVNZXNzYWdlKCkgPSBkZWZhdWx0Ow0KKy1DbG9uZWFibGVNZXNzYWdlOjpDbG9uZWFibGVNZXNz YWdlKENsb25lYWJsZU1lc3NhZ2UmJikgbm9leGNlcHQgPSBkZWZhdWx0Ow0KKy1DbG9uZWFibGVN ZXNzYWdlJiBDbG9uZWFibGVNZXNzYWdlOjpvcGVyYXRvcj0oQ2xvbmVhYmxlTWVzc2FnZSYmKSBu b2V4Y2VwdCA9DQorLSAgICBkZWZhdWx0Ow0KKytDbG9uZWFibGVNZXNzYWdlOjpDbG9uZWFibGVN ZXNzYWdlKENsb25lYWJsZU1lc3NhZ2UmJikgPSBkZWZhdWx0Ow0KKytDbG9uZWFibGVNZXNzYWdl JiBDbG9uZWFibGVNZXNzYWdlOjpvcGVyYXRvcj0oQ2xvbmVhYmxlTWVzc2FnZSYmKSA9IGRlZmF1 bHQ7DQorIENsb25lYWJsZU1lc3NhZ2U6On5DbG9uZWFibGVNZXNzYWdlKCkgPSBkZWZhdWx0Ow0K KyANCisgQ2xvbmVhYmxlTWVzc2FnZSBDbG9uZWFibGVNZXNzYWdlOjpTaGFsbG93Q2xvbmUoKSBj b25zdCB7DQorZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5rL2NvbW1vbi9tZXNzYWdpbmcv dHJhbnNmZXJhYmxlX21lc3NhZ2UuY2MgYi90aGlyZF9wYXJ0eS9ibGluay9jb21tb24vbWVzc2Fn aW5nL3RyYW5zZmVyYWJsZV9tZXNzYWdlLmNjDQoraW5kZXggMDdhYzliYi4uNGE2OWQwYSAxMDA2 NDQNCistLS0gYS90aGlyZF9wYXJ0eS9ibGluay9jb21tb24vbWVzc2FnaW5nL3RyYW5zZmVyYWJs ZV9tZXNzYWdlLmNjDQorKysrIGIvdGhpcmRfcGFydHkvYmxpbmsvY29tbW9uL21lc3NhZ2luZy90 cmFuc2ZlcmFibGVfbWVzc2FnZS5jYw0KK0BAIC05LDEwICs5LDkgQEANCisgbmFtZXNwYWNlIGJs aW5rIHsNCisgDQorIFRyYW5zZmVyYWJsZU1lc3NhZ2U6OlRyYW5zZmVyYWJsZU1lc3NhZ2UoKSA9 IGRlZmF1bHQ7DQorLVRyYW5zZmVyYWJsZU1lc3NhZ2U6OlRyYW5zZmVyYWJsZU1lc3NhZ2UoVHJh bnNmZXJhYmxlTWVzc2FnZSYmKSBub2V4Y2VwdCA9DQorK1RyYW5zZmVyYWJsZU1lc3NhZ2U6OlRy YW5zZmVyYWJsZU1lc3NhZ2UoVHJhbnNmZXJhYmxlTWVzc2FnZSYmKSA9IGRlZmF1bHQ7DQorK1Ry YW5zZmVyYWJsZU1lc3NhZ2UmIFRyYW5zZmVyYWJsZU1lc3NhZ2U6Om9wZXJhdG9yPShUcmFuc2Zl cmFibGVNZXNzYWdlJiYpID0NCisgICAgIGRlZmF1bHQ7DQorLVRyYW5zZmVyYWJsZU1lc3NhZ2Um IFRyYW5zZmVyYWJsZU1lc3NhZ2U6Om9wZXJhdG9yPSgNCistICAgIFRyYW5zZmVyYWJsZU1lc3Nh Z2UmJikgbm9leGNlcHQgPSBkZWZhdWx0Ow0KKyBUcmFuc2ZlcmFibGVNZXNzYWdlOjp+VHJhbnNm ZXJhYmxlTWVzc2FnZSgpID0gZGVmYXVsdDsNCisgDQorIH0gIC8vIG5hbWVzcGFjZSBibGluaw0K K2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9ibGluay9wdWJsaWMvY29tbW9uL2luZGV4ZWRkYi9p bmRleGVkZGJfa2V5X3BhdGguaCBiL3RoaXJkX3BhcnR5L2JsaW5rL3B1YmxpYy9jb21tb24vaW5k ZXhlZGRiL2luZGV4ZWRkYl9rZXlfcGF0aC5oDQoraW5kZXggOGViZTEwYy4uOWY1NDIyYyAxMDA2 NDQNCistLS0gYS90aGlyZF9wYXJ0eS9ibGluay9wdWJsaWMvY29tbW9uL2luZGV4ZWRkYi9pbmRl eGVkZGJfa2V5X3BhdGguaA0KKysrKyBiL3RoaXJkX3BhcnR5L2JsaW5rL3B1YmxpYy9jb21tb24v aW5kZXhlZGRiL2luZGV4ZWRkYl9rZXlfcGF0aC5oDQorQEAgLTIyLDEwICsyMiwxMCBAQA0KKyAg IGV4cGxpY2l0IEluZGV4ZWREQktleVBhdGgoY29uc3QgYmFzZTo6c3RyaW5nMTYmKTsNCisgICBl eHBsaWNpdCBJbmRleGVkREJLZXlQYXRoKGNvbnN0IHN0ZDo6dmVjdG9yPGJhc2U6OnN0cmluZzE2 PiYpOw0KKyAgIEluZGV4ZWREQktleVBhdGgoY29uc3QgSW5kZXhlZERCS2V5UGF0aCYgb3RoZXIp Ow0KKy0gIEluZGV4ZWREQktleVBhdGgoSW5kZXhlZERCS2V5UGF0aCYmIG90aGVyKSBub2V4Y2Vw dDsNCisrICBJbmRleGVkREJLZXlQYXRoKEluZGV4ZWREQktleVBhdGgmJiBvdGhlcik7DQorICAg fkluZGV4ZWREQktleVBhdGgoKTsNCisgICBJbmRleGVkREJLZXlQYXRoJiBvcGVyYXRvcj0oY29u c3QgSW5kZXhlZERCS2V5UGF0aCYgb3RoZXIpOw0KKy0gIEluZGV4ZWREQktleVBhdGgmIG9wZXJh dG9yPShJbmRleGVkREJLZXlQYXRoJiYgb3RoZXIpIG5vZXhjZXB0Ow0KKysgIEluZGV4ZWREQktl eVBhdGgmIG9wZXJhdG9yPShJbmRleGVkREJLZXlQYXRoJiYgb3RoZXIpOw0KKyANCisgICBib29s IElzTnVsbCgpIGNvbnN0IHsgcmV0dXJuIHR5cGVfID09IGJsaW5rOjptb2pvbTo6SURCS2V5UGF0 aFR5cGU6Ok51bGw7IH0NCisgICBib29sIG9wZXJhdG9yPT0oY29uc3QgSW5kZXhlZERCS2V5UGF0 aCYgb3RoZXIpIGNvbnN0Ow0KK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9ibGluay9wdWJsaWMv Y29tbW9uL2luZGV4ZWRkYi9pbmRleGVkZGJfbWV0YWRhdGEuaCBiL3RoaXJkX3BhcnR5L2JsaW5r L3B1YmxpYy9jb21tb24vaW5kZXhlZGRiL2luZGV4ZWRkYl9tZXRhZGF0YS5oDQoraW5kZXggMTU2 NjNmNi4uN2JiMzdjOSAxMDA2NDQNCistLS0gYS90aGlyZF9wYXJ0eS9ibGluay9wdWJsaWMvY29t bW9uL2luZGV4ZWRkYi9pbmRleGVkZGJfbWV0YWRhdGEuaA0KKysrKyBiL3RoaXJkX3BhcnR5L2Js aW5rL3B1YmxpYy9jb21tb24vaW5kZXhlZGRiL2luZGV4ZWRkYl9tZXRhZGF0YS5oDQorQEAgLTI2 LDEwICsyNiwxMCBAQA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCB1bmlxdWUsDQor ICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIG11bHRpX2VudHJ5KTsNCisgICBJbmRleGVk REJJbmRleE1ldGFkYXRhKGNvbnN0IEluZGV4ZWREQkluZGV4TWV0YWRhdGEmIG90aGVyKTsNCist ICBJbmRleGVkREJJbmRleE1ldGFkYXRhKEluZGV4ZWREQkluZGV4TWV0YWRhdGEmJiBvdGhlcikg bm9leGNlcHQ7DQorKyAgSW5kZXhlZERCSW5kZXhNZXRhZGF0YShJbmRleGVkREJJbmRleE1ldGFk YXRhJiYgb3RoZXIpOw0KKyAgIH5JbmRleGVkREJJbmRleE1ldGFkYXRhKCk7DQorICAgSW5kZXhl ZERCSW5kZXhNZXRhZGF0YSYgb3BlcmF0b3I9KGNvbnN0IEluZGV4ZWREQkluZGV4TWV0YWRhdGEm IG90aGVyKTsNCistICBJbmRleGVkREJJbmRleE1ldGFkYXRhJiBvcGVyYXRvcj0oSW5kZXhlZERC SW5kZXhNZXRhZGF0YSYmIG90aGVyKSBub2V4Y2VwdDsNCisrICBJbmRleGVkREJJbmRleE1ldGFk YXRhJiBvcGVyYXRvcj0oSW5kZXhlZERCSW5kZXhNZXRhZGF0YSYmIG90aGVyKTsNCisgICBib29s IG9wZXJhdG9yPT0oY29uc3QgSW5kZXhlZERCSW5kZXhNZXRhZGF0YSYgb3RoZXIpIGNvbnN0Ow0K KyANCisgICBiYXNlOjpzdHJpbmcxNiBuYW1lOw0KK0BAIC01MCwxMiArNTAsMTEgQEANCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgYXV0b19pbmNyZW1lbnQsDQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQ2NF90IG1heF9pbmRleF9pZCk7DQorICAgSW5k ZXhlZERCT2JqZWN0U3RvcmVNZXRhZGF0YShjb25zdCBJbmRleGVkREJPYmplY3RTdG9yZU1ldGFk YXRhJiBvdGhlcik7DQorLSAgSW5kZXhlZERCT2JqZWN0U3RvcmVNZXRhZGF0YShJbmRleGVkREJP YmplY3RTdG9yZU1ldGFkYXRhJiYgb3RoZXIpIG5vZXhjZXB0Ow0KKysgIEluZGV4ZWREQk9iamVj dFN0b3JlTWV0YWRhdGEoSW5kZXhlZERCT2JqZWN0U3RvcmVNZXRhZGF0YSYmIG90aGVyKTsNCisg ICB+SW5kZXhlZERCT2JqZWN0U3RvcmVNZXRhZGF0YSgpOw0KKyAgIEluZGV4ZWREQk9iamVjdFN0 b3JlTWV0YWRhdGEmIG9wZXJhdG9yPSgNCisgICAgICAgY29uc3QgSW5kZXhlZERCT2JqZWN0U3Rv cmVNZXRhZGF0YSYgb3RoZXIpOw0KKy0gIEluZGV4ZWREQk9iamVjdFN0b3JlTWV0YWRhdGEmIG9w ZXJhdG9yPSgNCistICAgICAgSW5kZXhlZERCT2JqZWN0U3RvcmVNZXRhZGF0YSYmIG90aGVyKSBu b2V4Y2VwdDsNCisrICBJbmRleGVkREJPYmplY3RTdG9yZU1ldGFkYXRhJiBvcGVyYXRvcj0oSW5k ZXhlZERCT2JqZWN0U3RvcmVNZXRhZGF0YSYmIG90aGVyKTsNCisgICBib29sIG9wZXJhdG9yPT0o Y29uc3QgSW5kZXhlZERCT2JqZWN0U3RvcmVNZXRhZGF0YSYgb3RoZXIpIGNvbnN0Ow0KKyANCisg ICBiYXNlOjpzdHJpbmcxNiBuYW1lOw0KK0BAIC03NywxMSArNzYsMTAgQEANCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGludDY0X3QgdmVyc2lvbiwNCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGludDY0X3QgbWF4X29iamVjdF9zdG9yZV9pZCk7DQorICAgSW5kZXhlZERCRGF0 YWJhc2VNZXRhZGF0YShjb25zdCBJbmRleGVkREJEYXRhYmFzZU1ldGFkYXRhJiBvdGhlcik7DQor LSAgSW5kZXhlZERCRGF0YWJhc2VNZXRhZGF0YShJbmRleGVkREJEYXRhYmFzZU1ldGFkYXRhJiYg b3RoZXIpIG5vZXhjZXB0Ow0KKysgIEluZGV4ZWREQkRhdGFiYXNlTWV0YWRhdGEoSW5kZXhlZERC RGF0YWJhc2VNZXRhZGF0YSYmIG90aGVyKTsNCisgICB+SW5kZXhlZERCRGF0YWJhc2VNZXRhZGF0 YSgpOw0KKyAgIEluZGV4ZWREQkRhdGFiYXNlTWV0YWRhdGEmIG9wZXJhdG9yPShjb25zdCBJbmRl eGVkREJEYXRhYmFzZU1ldGFkYXRhJiBvdGhlcik7DQorLSAgSW5kZXhlZERCRGF0YWJhc2VNZXRh ZGF0YSYgb3BlcmF0b3I9KA0KKy0gICAgICBJbmRleGVkREJEYXRhYmFzZU1ldGFkYXRhJiYgb3Ro ZXIpIG5vZXhjZXB0Ow0KKysgIEluZGV4ZWREQkRhdGFiYXNlTWV0YWRhdGEmIG9wZXJhdG9yPShJ bmRleGVkREJEYXRhYmFzZU1ldGFkYXRhJiYgb3RoZXIpOw0KKyAgIGJvb2wgb3BlcmF0b3I9PShj b25zdCBJbmRleGVkREJEYXRhYmFzZU1ldGFkYXRhJiBvdGhlcikgY29uc3Q7DQorIA0KKyAgIGJh c2U6OnN0cmluZzE2IG5hbWU7DQorZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5rL3B1Ymxp Yy9jb21tb24vbWVkaWFzdHJlYW0vbWVkaWFfZGV2aWNlcy5oIGIvdGhpcmRfcGFydHkvYmxpbmsv cHVibGljL2NvbW1vbi9tZWRpYXN0cmVhbS9tZWRpYV9kZXZpY2VzLmgNCitpbmRleCAwZDYzZTU3 NS4uZDg3YWZmZSAxMDA2NDQNCistLS0gYS90aGlyZF9wYXJ0eS9ibGluay9wdWJsaWMvY29tbW9u L21lZGlhc3RyZWFtL21lZGlhX2RldmljZXMuaA0KKysrKyBiL3RoaXJkX3BhcnR5L2JsaW5rL3B1 YmxpYy9jb21tb24vbWVkaWFzdHJlYW0vbWVkaWFfZGV2aWNlcy5oDQorQEAgLTI3LDcgKzI3LDcg QEANCisgc3RydWN0IEJMSU5LX0NPTU1PTl9FWFBPUlQgV2ViTWVkaWFEZXZpY2VJbmZvIHsNCisg ICBXZWJNZWRpYURldmljZUluZm8oKTsNCisgICBXZWJNZWRpYURldmljZUluZm8oY29uc3QgV2Vi TWVkaWFEZXZpY2VJbmZvJiBvdGhlcik7DQorLSAgV2ViTWVkaWFEZXZpY2VJbmZvKFdlYk1lZGlh RGV2aWNlSW5mbyYmIG90aGVyKSBub2V4Y2VwdDsNCisrICBXZWJNZWRpYURldmljZUluZm8oV2Vi TWVkaWFEZXZpY2VJbmZvJiYgb3RoZXIpOw0KKyAgIFdlYk1lZGlhRGV2aWNlSW5mbygNCisgICAg ICAgY29uc3Qgc3RkOjpzdHJpbmcmIGRldmljZV9pZCwNCisgICAgICAgY29uc3Qgc3RkOjpzdHJp bmcmIGxhYmVsLA0KK0BAIC0zNyw3ICszNyw3IEBADQorICAgICAgIGNvbnN0IG1lZGlhOjpWaWRl b0NhcHR1cmVEZXZpY2VEZXNjcmlwdG9yJiBkZXNjcmlwdG9yKTsNCisgICB+V2ViTWVkaWFEZXZp Y2VJbmZvKCk7DQorICAgV2ViTWVkaWFEZXZpY2VJbmZvJiBvcGVyYXRvcj0oY29uc3QgV2ViTWVk aWFEZXZpY2VJbmZvJiBvdGhlcik7DQorLSAgV2ViTWVkaWFEZXZpY2VJbmZvJiBvcGVyYXRvcj0o V2ViTWVkaWFEZXZpY2VJbmZvJiYgb3RoZXIpIG5vZXhjZXB0Ow0KKysgIFdlYk1lZGlhRGV2aWNl SW5mbyYgb3BlcmF0b3I9KFdlYk1lZGlhRGV2aWNlSW5mbyYmIG90aGVyKTsNCisgDQorICAgc3Rk OjpzdHJpbmcgZGV2aWNlX2lkOw0KKyAgIHN0ZDo6c3RyaW5nIGxhYmVsOw0KK2RpZmYgLS1naXQg YS90aGlyZF9wYXJ0eS9ibGluay9wdWJsaWMvY29tbW9uL21lc3NhZ2luZy9jbG9uZWFibGVfbWVz c2FnZS5oIGIvdGhpcmRfcGFydHkvYmxpbmsvcHVibGljL2NvbW1vbi9tZXNzYWdpbmcvY2xvbmVh YmxlX21lc3NhZ2UuaA0KK2luZGV4IGRlOTk1MmQuLjhkYmQ5MTAgMTAwNjQ0DQorLS0tIGEvdGhp cmRfcGFydHkvYmxpbmsvcHVibGljL2NvbW1vbi9tZXNzYWdpbmcvY2xvbmVhYmxlX21lc3NhZ2Uu aA0KKysrKyBiL3RoaXJkX3BhcnR5L2JsaW5rL3B1YmxpYy9jb21tb24vbWVzc2FnaW5nL2Nsb25l YWJsZV9tZXNzYWdlLmgNCitAQCAtMjEsOCArMjEsOCBAQA0KKyAvLyBUaGlzIHR5cGUgY2FuIGJl IHNlcmlhbGl6ZWQgYXMgYSBibGluazo6bW9qb206OkNsb25lYWJsZU1lc3NhZ2Ugc3RydWN0Lg0K KyBzdHJ1Y3QgQkxJTktfQ09NTU9OX0VYUE9SVCBDbG9uZWFibGVNZXNzYWdlIHsNCisgICBDbG9u ZWFibGVNZXNzYWdlKCk7DQorLSAgQ2xvbmVhYmxlTWVzc2FnZShDbG9uZWFibGVNZXNzYWdlJiYp IG5vZXhjZXB0Ow0KKy0gIENsb25lYWJsZU1lc3NhZ2UmIG9wZXJhdG9yPShDbG9uZWFibGVNZXNz YWdlJiYpIG5vZXhjZXB0Ow0KKysgIENsb25lYWJsZU1lc3NhZ2UoQ2xvbmVhYmxlTWVzc2FnZSYm KTsNCisrICBDbG9uZWFibGVNZXNzYWdlJiBvcGVyYXRvcj0oQ2xvbmVhYmxlTWVzc2FnZSYmKTsN CisgICB+Q2xvbmVhYmxlTWVzc2FnZSgpOw0KKyANCisgICAvLyBSZXR1cm5zIGEgc2hhbGxvdyBj bG9uZSBvZiB0aGlzIG1lc3NhZ2UuIHxlbmNvZGVkX21lc3NhZ2V8IGluIHRoZSBjbG9uZQ0KK2Rp ZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9ibGluay9wdWJsaWMvY29tbW9uL21lc3NhZ2luZy90cmFu c2ZlcmFibGVfbWVzc2FnZS5oIGIvdGhpcmRfcGFydHkvYmxpbmsvcHVibGljL2NvbW1vbi9tZXNz YWdpbmcvdHJhbnNmZXJhYmxlX21lc3NhZ2UuaA0KK2luZGV4IDVlZWY2M2MuLjJkODczNjMgMTAw NjQ0DQorLS0tIGEvdGhpcmRfcGFydHkvYmxpbmsvcHVibGljL2NvbW1vbi9tZXNzYWdpbmcvdHJh bnNmZXJhYmxlX21lc3NhZ2UuaA0KKysrKyBiL3RoaXJkX3BhcnR5L2JsaW5rL3B1YmxpYy9jb21t b24vbWVzc2FnaW5nL3RyYW5zZmVyYWJsZV9tZXNzYWdlLmgNCitAQCAtMjIsOCArMjIsOCBAQA0K KyAvLyB0eXBlIGNhbiBiZSBzZXJpYWxpemVkIGFzIGEgYmxpbms6Om1vam9tOjpUcmFuc2ZlcmFi bGVNZXNzYWdlIHN0cnVjdC4NCisgc3RydWN0IEJMSU5LX0NPTU1PTl9FWFBPUlQgVHJhbnNmZXJh YmxlTWVzc2FnZSA6IHB1YmxpYyBDbG9uZWFibGVNZXNzYWdlIHsNCisgICBUcmFuc2ZlcmFibGVN ZXNzYWdlKCk7DQorLSAgVHJhbnNmZXJhYmxlTWVzc2FnZShUcmFuc2ZlcmFibGVNZXNzYWdlJiYp IG5vZXhjZXB0Ow0KKy0gIFRyYW5zZmVyYWJsZU1lc3NhZ2UmIG9wZXJhdG9yPShUcmFuc2ZlcmFi bGVNZXNzYWdlJiYpIG5vZXhjZXB0Ow0KKysgIFRyYW5zZmVyYWJsZU1lc3NhZ2UoVHJhbnNmZXJh YmxlTWVzc2FnZSYmKTsNCisrICBUcmFuc2ZlcmFibGVNZXNzYWdlJiBvcGVyYXRvcj0oVHJhbnNm ZXJhYmxlTWVzc2FnZSYmKTsNCisgICB+VHJhbnNmZXJhYmxlTWVzc2FnZSgpOw0KKyANCisgICAv LyBBbnkgcG9ydHMgYmVpbmcgdHJhbnNmZXJyZWQgYXMgcGFydCBvZiB0aGlzIG1lc3NhZ2UuDQor ZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5rL3B1YmxpYy9wbGF0Zm9ybS9zY2hlZHVsZXIv d2ViX3Njb3BlZF92aXJ0dWFsX3RpbWVfcGF1c2VyLmggYi90aGlyZF9wYXJ0eS9ibGluay9wdWJs aWMvcGxhdGZvcm0vc2NoZWR1bGVyL3dlYl9zY29wZWRfdmlydHVhbF90aW1lX3BhdXNlci5oDQor aW5kZXggNzVmM2FlMTYuLjgxZWRkNjkgMTAwNjQ0DQorLS0tIGEvdGhpcmRfcGFydHkvYmxpbmsv cHVibGljL3BsYXRmb3JtL3NjaGVkdWxlci93ZWJfc2NvcGVkX3ZpcnR1YWxfdGltZV9wYXVzZXIu aA0KKysrKyBiL3RoaXJkX3BhcnR5L2JsaW5rL3B1YmxpYy9wbGF0Zm9ybS9zY2hlZHVsZXIvd2Vi X3Njb3BlZF92aXJ0dWFsX3RpbWVfcGF1c2VyLmgNCitAQCAtNDIsOSArNDIsOCBAQA0KKyAgIFdl YlNjb3BlZFZpcnR1YWxUaW1lUGF1c2VyKCk7DQorICAgfldlYlNjb3BlZFZpcnR1YWxUaW1lUGF1 c2VyKCk7DQorIA0KKy0gIFdlYlNjb3BlZFZpcnR1YWxUaW1lUGF1c2VyKFdlYlNjb3BlZFZpcnR1 YWxUaW1lUGF1c2VyJiYgb3RoZXIpIG5vZXhjZXB0Ow0KKy0gIFdlYlNjb3BlZFZpcnR1YWxUaW1l UGF1c2VyJiBvcGVyYXRvcj0oDQorLSAgICAgIFdlYlNjb3BlZFZpcnR1YWxUaW1lUGF1c2VyJiYg b3RoZXIpIG5vZXhjZXB0Ow0KKysgIFdlYlNjb3BlZFZpcnR1YWxUaW1lUGF1c2VyKFdlYlNjb3Bl ZFZpcnR1YWxUaW1lUGF1c2VyJiYgb3RoZXIpOw0KKysgIFdlYlNjb3BlZFZpcnR1YWxUaW1lUGF1 c2VyJiBvcGVyYXRvcj0oV2ViU2NvcGVkVmlydHVhbFRpbWVQYXVzZXImJiBvdGhlcik7DQorIA0K KyAgIFdlYlNjb3BlZFZpcnR1YWxUaW1lUGF1c2VyKGNvbnN0IFdlYlNjb3BlZFZpcnR1YWxUaW1l UGF1c2VyJikgPSBkZWxldGU7DQorICAgV2ViU2NvcGVkVmlydHVhbFRpbWVQYXVzZXImIG9wZXJh dG9yPShjb25zdCBXZWJTY29wZWRWaXJ0dWFsVGltZVBhdXNlciYpID0NCitkaWZmIC0tZ2l0IGEv dGhpcmRfcGFydHkvYmxpbmsvcHVibGljL3BsYXRmb3JtL3dlYl9zdHJpbmcuaCBiL3RoaXJkX3Bh cnR5L2JsaW5rL3B1YmxpYy9wbGF0Zm9ybS93ZWJfc3RyaW5nLmgNCitpbmRleCBlNGZkYTRmLi5m ZmQxZGEwIDEwMDY0NA0KKy0tLSBhL3RoaXJkX3BhcnR5L2JsaW5rL3B1YmxpYy9wbGF0Zm9ybS93 ZWJfc3RyaW5nLmgNCisrKysgYi90aGlyZF9wYXJ0eS9ibGluay9wdWJsaWMvcGxhdGZvcm0vd2Vi X3N0cmluZy5oDQorQEAgLTEwMiwxMCArMTAyLDEwIEBADQorICAgQkxJTktfUExBVEZPUk1fRVhQ T1JUIFdlYlN0cmluZyhjb25zdCBXZWJVQ2hhciogZGF0YSwgc2l6ZV90IGxlbik7DQorIA0KKyAg IEJMSU5LX1BMQVRGT1JNX0VYUE9SVCBXZWJTdHJpbmcoY29uc3QgV2ViU3RyaW5nJik7DQorLSAg QkxJTktfUExBVEZPUk1fRVhQT1JUIFdlYlN0cmluZyhXZWJTdHJpbmcmJikgbm9leGNlcHQ7DQor KyAgQkxJTktfUExBVEZPUk1fRVhQT1JUIFdlYlN0cmluZyhXZWJTdHJpbmcmJik7DQorIA0KKyAg IEJMSU5LX1BMQVRGT1JNX0VYUE9SVCBXZWJTdHJpbmcmIG9wZXJhdG9yPShjb25zdCBXZWJTdHJp bmcmKTsNCistICBCTElOS19QTEFURk9STV9FWFBPUlQgV2ViU3RyaW5nJiBvcGVyYXRvcj0oV2Vi U3RyaW5nJiYpIG5vZXhjZXB0Ow0KKysgIEJMSU5LX1BMQVRGT1JNX0VYUE9SVCBXZWJTdHJpbmcm IG9wZXJhdG9yPShXZWJTdHJpbmcmJik7DQorIA0KKyAgIEJMSU5LX1BMQVRGT1JNX0VYUE9SVCB2 b2lkIFJlc2V0KCk7DQorIA0KK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9ibGluay9wdWJsaWMv d2ViL21vZHVsZXMvbWVkaWFzdHJlYW0vbWVkaWFfc3RyZWFtX2NvbnN0cmFpbnRzX3V0aWwuaCBi L3RoaXJkX3BhcnR5L2JsaW5rL3B1YmxpYy93ZWIvbW9kdWxlcy9tZWRpYXN0cmVhbS9tZWRpYV9z dHJlYW1fY29uc3RyYWludHNfdXRpbC5oDQoraW5kZXggOTlmNDdmNS4uODQ1MWI4NiAxMDA2NDQN CistLS0gYS90aGlyZF9wYXJ0eS9ibGluay9wdWJsaWMvd2ViL21vZHVsZXMvbWVkaWFzdHJlYW0v bWVkaWFfc3RyZWFtX2NvbnN0cmFpbnRzX3V0aWwuaA0KKysrKyBiL3RoaXJkX3BhcnR5L2JsaW5r L3B1YmxpYy93ZWIvbW9kdWxlcy9tZWRpYXN0cmVhbS9tZWRpYV9zdHJlYW1fY29uc3RyYWludHNf dXRpbC5oDQorQEAgLTczLDggKzczLDggQEANCisgDQorICAgVmlkZW9DYXB0dXJlU2V0dGluZ3Mo Y29uc3QgVmlkZW9DYXB0dXJlU2V0dGluZ3MmIG90aGVyKTsNCisgICBWaWRlb0NhcHR1cmVTZXR0 aW5ncyYgb3BlcmF0b3I9KGNvbnN0IFZpZGVvQ2FwdHVyZVNldHRpbmdzJiBvdGhlcik7DQorLSAg VmlkZW9DYXB0dXJlU2V0dGluZ3MoVmlkZW9DYXB0dXJlU2V0dGluZ3MmJiBvdGhlcikgbm9leGNl cHQ7DQorLSAgVmlkZW9DYXB0dXJlU2V0dGluZ3MmIG9wZXJhdG9yPShWaWRlb0NhcHR1cmVTZXR0 aW5ncyYmIG90aGVyKSBub2V4Y2VwdDsNCisrICBWaWRlb0NhcHR1cmVTZXR0aW5ncyhWaWRlb0Nh cHR1cmVTZXR0aW5ncyYmIG90aGVyKTsNCisrICBWaWRlb0NhcHR1cmVTZXR0aW5ncyYgb3BlcmF0 b3I9KFZpZGVvQ2FwdHVyZVNldHRpbmdzJiYgb3RoZXIpOw0KKyAgIH5WaWRlb0NhcHR1cmVTZXR0 aW5ncygpOw0KKyANCisgICBib29sIEhhc1ZhbHVlKCkgY29uc3QgeyByZXR1cm4gIWZhaWxlZF9j b25zdHJhaW50X25hbWVfOyB9DQorQEAgLTE5Myw4ICsxOTMsOCBAQA0KKyAgICAgICBjb25zdCBB dWRpb1Byb2Nlc3NpbmdQcm9wZXJ0aWVzJiBhdWRpb19wcm9jZXNzaW5nX3Byb3BlcnRpZXMpOw0K KyAgIEF1ZGlvQ2FwdHVyZVNldHRpbmdzKGNvbnN0IEF1ZGlvQ2FwdHVyZVNldHRpbmdzJiBvdGhl cik7DQorICAgQXVkaW9DYXB0dXJlU2V0dGluZ3MmIG9wZXJhdG9yPShjb25zdCBBdWRpb0NhcHR1 cmVTZXR0aW5ncyYgb3RoZXIpOw0KKy0gIEF1ZGlvQ2FwdHVyZVNldHRpbmdzKEF1ZGlvQ2FwdHVy ZVNldHRpbmdzJiYgb3RoZXIpIG5vZXhjZXB0Ow0KKy0gIEF1ZGlvQ2FwdHVyZVNldHRpbmdzJiBv cGVyYXRvcj0oQXVkaW9DYXB0dXJlU2V0dGluZ3MmJiBvdGhlcikgbm9leGNlcHQ7DQorKyAgQXVk aW9DYXB0dXJlU2V0dGluZ3MoQXVkaW9DYXB0dXJlU2V0dGluZ3MmJiBvdGhlcik7DQorKyAgQXVk aW9DYXB0dXJlU2V0dGluZ3MmIG9wZXJhdG9yPShBdWRpb0NhcHR1cmVTZXR0aW5ncyYmIG90aGVy KTsNCisgDQorICAgYm9vbCBIYXNWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuICFmYWlsZWRfY29uc3Ry YWludF9uYW1lXzsgfQ0KKyANCitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvYmxpbmsvcHVibGlj L3dlYi9tb2R1bGVzL21lZGlhc3RyZWFtL21lZGlhX3N0cmVhbV9jb25zdHJhaW50c191dGlsX3Nl dHMuaCBiL3RoaXJkX3BhcnR5L2JsaW5rL3B1YmxpYy93ZWIvbW9kdWxlcy9tZWRpYXN0cmVhbS9t ZWRpYV9zdHJlYW1fY29uc3RyYWludHNfdXRpbF9zZXRzLmgNCitpbmRleCAxOTliZGViLi5jODll NmU5IDEwMDY0NA0KKy0tLSBhL3RoaXJkX3BhcnR5L2JsaW5rL3B1YmxpYy93ZWIvbW9kdWxlcy9t ZWRpYXN0cmVhbS9tZWRpYV9zdHJlYW1fY29uc3RyYWludHNfdXRpbF9zZXRzLmgNCisrKysgYi90 aGlyZF9wYXJ0eS9ibGluay9wdWJsaWMvd2ViL21vZHVsZXMvbWVkaWFzdHJlYW0vbWVkaWFfc3Ry ZWFtX2NvbnN0cmFpbnRzX3V0aWxfc2V0cy5oDQorQEAgLTE1OSw4ICsxNTksOCBAQA0KKyANCisg ICBEaXNjcmV0ZVNldChjb25zdCBEaXNjcmV0ZVNldCYgb3RoZXIpID0gZGVmYXVsdDsNCisgICBE aXNjcmV0ZVNldCYgb3BlcmF0b3I9KGNvbnN0IERpc2NyZXRlU2V0JiBvdGhlcikgPSBkZWZhdWx0 Ow0KKy0gIERpc2NyZXRlU2V0KERpc2NyZXRlU2V0JiYgb3RoZXIpIG5vZXhjZXB0ID0gZGVmYXVs dDsNCistICBEaXNjcmV0ZVNldCYgb3BlcmF0b3I9KERpc2NyZXRlU2V0JiYgb3RoZXIpIG5vZXhj ZXB0ID0gZGVmYXVsdDsNCisrICBEaXNjcmV0ZVNldChEaXNjcmV0ZVNldCYmIG90aGVyKSA9IGRl ZmF1bHQ7DQorKyAgRGlzY3JldGVTZXQmIG9wZXJhdG9yPShEaXNjcmV0ZVNldCYmIG90aGVyKSA9 IGRlZmF1bHQ7DQorICAgfkRpc2NyZXRlU2V0KCkgPSBkZWZhdWx0Ow0KKyANCisgICBib29sIENv bnRhaW5zKGNvbnN0IFQmIHZhbHVlKSBjb25zdCB7DQorZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5 L2JsaW5rL3B1YmxpYy93ZWIvbW9kdWxlcy9tZWRpYXN0cmVhbS9tZWRpYV9zdHJlYW1fdmlkZW9f c291cmNlLmggYi90aGlyZF9wYXJ0eS9ibGluay9wdWJsaWMvd2ViL21vZHVsZXMvbWVkaWFzdHJl YW0vbWVkaWFfc3RyZWFtX3ZpZGVvX3NvdXJjZS5oDQoraW5kZXggNWU1MGQxYi4uZWQ1OTY3ZiAx MDA2NDQNCistLS0gYS90aGlyZF9wYXJ0eS9ibGluay9wdWJsaWMvd2ViL21vZHVsZXMvbWVkaWFz dHJlYW0vbWVkaWFfc3RyZWFtX3ZpZGVvX3NvdXJjZS5oDQorKysrIGIvdGhpcmRfcGFydHkvYmxp bmsvcHVibGljL3dlYi9tb2R1bGVzL21lZGlhc3RyZWFtL21lZGlhX3N0cmVhbV92aWRlb19zb3Vy Y2UuaA0KK0BAIC0yODUsOCArMjg1LDggQEANCisgICAgICAgICBjb25zdCBWaWRlb1RyYWNrRm9y bWF0Q2FsbGJhY2smIGZvcm1hdF9jYWxsYmFjaywNCisgICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8 VmlkZW9UcmFja0FkYXB0ZXJTZXR0aW5ncz4gYWRhcHRlcl9zZXR0aW5ncywNCisgICAgICAgICBj b25zdCBDb25zdHJhaW50c0NhbGxiYWNrJiBjYWxsYmFjayk7DQorLSAgICBQZW5kaW5nVHJhY2tJ bmZvKFBlbmRpbmdUcmFja0luZm8mJiBvdGhlcikgbm9leGNlcHQ7DQorLSAgICBQZW5kaW5nVHJh Y2tJbmZvJiBvcGVyYXRvcj0oUGVuZGluZ1RyYWNrSW5mbyYmIG90aGVyKSBub2V4Y2VwdDsNCisr ICAgIFBlbmRpbmdUcmFja0luZm8oUGVuZGluZ1RyYWNrSW5mbyYmIG90aGVyKTsNCisrICAgIFBl bmRpbmdUcmFja0luZm8mIG9wZXJhdG9yPShQZW5kaW5nVHJhY2tJbmZvJiYgb3RoZXIpOw0KKyAg ICAgflBlbmRpbmdUcmFja0luZm8oKTsNCisgDQorICAgICBNZWRpYVN0cmVhbVZpZGVvVHJhY2sq IHRyYWNrOw0KK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL2Fu aW1hdGlvbi9pbnRlcnBvbGF0aW9uX3ZhbHVlLmggYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJl ci9jb3JlL2FuaW1hdGlvbi9pbnRlcnBvbGF0aW9uX3ZhbHVlLmgNCitpbmRleCA3NWM1ZDM1Li4x N2NjZjAyIDEwMDY0NA0KKy0tLSBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvYW5p bWF0aW9uL2ludGVycG9sYXRpb25fdmFsdWUuaA0KKysrKyBiL3RoaXJkX3BhcnR5L2JsaW5rL3Jl bmRlcmVyL2NvcmUvYW5pbWF0aW9uL2ludGVycG9sYXRpb25fdmFsdWUuaA0KK0BAIC0yNywxMSAr MjcsMTEgQEANCisgDQorICAgSW50ZXJwb2xhdGlvblZhbHVlKHN0ZDo6bnVsbHB0cl90KSB7fQ0K KyANCistICBJbnRlcnBvbGF0aW9uVmFsdWUoSW50ZXJwb2xhdGlvblZhbHVlJiYgb3RoZXIpIG5v ZXhjZXB0DQorKyAgSW50ZXJwb2xhdGlvblZhbHVlKEludGVycG9sYXRpb25WYWx1ZSYmIG90aGVy KQ0KKyAgICAgICA6IGludGVycG9sYWJsZV92YWx1ZShzdGQ6Om1vdmUob3RoZXIuaW50ZXJwb2xh YmxlX3ZhbHVlKSksDQorICAgICAgICAgbm9uX2ludGVycG9sYWJsZV92YWx1ZShzdGQ6Om1vdmUo b3RoZXIubm9uX2ludGVycG9sYWJsZV92YWx1ZSkpIHt9DQorIA0KKy0gIHZvaWQgb3BlcmF0b3I9 KEludGVycG9sYXRpb25WYWx1ZSYmIG90aGVyKSBub2V4Y2VwdCB7DQorKyAgdm9pZCBvcGVyYXRv cj0oSW50ZXJwb2xhdGlvblZhbHVlJiYgb3RoZXIpIHsNCisgICAgIGludGVycG9sYWJsZV92YWx1 ZSA9IHN0ZDo6bW92ZShvdGhlci5pbnRlcnBvbGFibGVfdmFsdWUpOw0KKyAgICAgbm9uX2ludGVy cG9sYWJsZV92YWx1ZSA9IHN0ZDo6bW92ZShvdGhlci5ub25faW50ZXJwb2xhYmxlX3ZhbHVlKTsN CisgICB9DQorZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvYW5p bWF0aW9uL3BhaXJ3aXNlX2ludGVycG9sYXRpb25fdmFsdWUuaCBiL3RoaXJkX3BhcnR5L2JsaW5r L3JlbmRlcmVyL2NvcmUvYW5pbWF0aW9uL3BhaXJ3aXNlX2ludGVycG9sYXRpb25fdmFsdWUuaA0K K2luZGV4IDM5ZTZjNTcuLjg3YmI0MzEgMTAwNjQ0DQorLS0tIGEvdGhpcmRfcGFydHkvYmxpbmsv cmVuZGVyZXIvY29yZS9hbmltYXRpb24vcGFpcndpc2VfaW50ZXJwb2xhdGlvbl92YWx1ZS5oDQor KysrIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9hbmltYXRpb24vcGFpcndpc2Vf aW50ZXJwb2xhdGlvbl92YWx1ZS5oDQorQEAgLTI4LDcgKzI4LDcgQEANCisgDQorICAgUGFpcndp c2VJbnRlcnBvbGF0aW9uVmFsdWUoc3RkOjpudWxscHRyX3QpIHt9DQorIA0KKy0gIFBhaXJ3aXNl SW50ZXJwb2xhdGlvblZhbHVlKFBhaXJ3aXNlSW50ZXJwb2xhdGlvblZhbHVlJiYgb3RoZXIpIG5v ZXhjZXB0DQorKyAgUGFpcndpc2VJbnRlcnBvbGF0aW9uVmFsdWUoUGFpcndpc2VJbnRlcnBvbGF0 aW9uVmFsdWUmJiBvdGhlcikNCisgICAgICAgOiBzdGFydF9pbnRlcnBvbGFibGVfdmFsdWUoc3Rk Ojptb3ZlKG90aGVyLnN0YXJ0X2ludGVycG9sYWJsZV92YWx1ZSkpLA0KKyAgICAgICAgIGVuZF9p bnRlcnBvbGFibGVfdmFsdWUoc3RkOjptb3ZlKG90aGVyLmVuZF9pbnRlcnBvbGFibGVfdmFsdWUp KSwNCisgICAgICAgICBub25faW50ZXJwb2xhYmxlX3ZhbHVlKHN0ZDo6bW92ZShvdGhlci5ub25f aW50ZXJwb2xhYmxlX3ZhbHVlKSkge30NCitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvYmxpbmsv cmVuZGVyZXIvY29yZS9jc3MvY3NzX3NlbGVjdG9yX2xpc3QuaCBiL3RoaXJkX3BhcnR5L2JsaW5r L3JlbmRlcmVyL2NvcmUvY3NzL2Nzc19zZWxlY3Rvcl9saXN0LmgNCitpbmRleCA0ZDM4YjA5Li41 MWYzNTRiIDEwMDY0NA0KKy0tLSBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvY3Nz L2Nzc19zZWxlY3Rvcl9saXN0LmgNCisrKysgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9j b3JlL2Nzcy9jc3Nfc2VsZWN0b3JfbGlzdC5oDQorQEAgLTY3LDggKzY3LDcgQEANCisgIHB1Ymxp YzoNCisgICBDU1NTZWxlY3Rvckxpc3QoKSA6IHNlbGVjdG9yX2FycmF5XyhudWxscHRyKSB7fQ0K KyANCistICBDU1NTZWxlY3Rvckxpc3QoQ1NTU2VsZWN0b3JMaXN0JiYgbykgbm9leGNlcHQNCist ICAgICAgOiBzZWxlY3Rvcl9hcnJheV8oby5zZWxlY3Rvcl9hcnJheV8pIHsNCisrICBDU1NTZWxl Y3Rvckxpc3QoQ1NTU2VsZWN0b3JMaXN0JiYgbykgOiBzZWxlY3Rvcl9hcnJheV8oby5zZWxlY3Rv cl9hcnJheV8pIHsNCisgICAgIG8uc2VsZWN0b3JfYXJyYXlfID0gbnVsbHB0cjsNCisgICB9DQor IA0KK0BAIC04Miw3ICs4MSw3IEBADQorICAgYm9vbCBIYXNQc2V1ZG9XaGVyZSgpIGNvbnN0Ow0K KyAgIGJvb2wgUmVxdWlyZXNFeHBhbnNpb24oKSBjb25zdDsNCisgDQorLSAgQ1NTU2VsZWN0b3JM aXN0JiBvcGVyYXRvcj0oQ1NTU2VsZWN0b3JMaXN0JiYgbykgbm9leGNlcHQgew0KKysgIENTU1Nl bGVjdG9yTGlzdCYgb3BlcmF0b3I9KENTU1NlbGVjdG9yTGlzdCYmIG8pIHsNCisgICAgIERDSEVD Syh0aGlzICE9ICZvKTsNCisgICAgIERlbGV0ZVNlbGVjdG9yc0lmTmVlZGVkKCk7DQorICAgICBz ZWxlY3Rvcl9hcnJheV8gPSBvLnNlbGVjdG9yX2FycmF5XzsNCitkaWZmIC0tZ2l0IGEvdGhpcmRf cGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9kaXNwbGF5X2xvY2svZGlzcGxheV9sb2NrX2NvbnRl eHQuY2MgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL2Rpc3BsYXlfbG9jay9kaXNw bGF5X2xvY2tfY29udGV4dC5jYw0KK2luZGV4IDBlNmI2Y2IuLjc5ZjI4MWEgMTAwNjQ0DQorLS0t IGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9kaXNwbGF5X2xvY2svZGlzcGxheV9s b2NrX2NvbnRleHQuY2MNCisrKysgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL2Rp c3BsYXlfbG9jay9kaXNwbGF5X2xvY2tfY29udGV4dC5jYw0KK0BAIC0xMDMzLDcgKzEwMzMsNyBA QA0KKyAgICAgOiBjb250ZXh0Xyhjb250ZXh0KSB7fQ0KKyANCisgRGlzcGxheUxvY2tDb250ZXh0 OjpTY29wZWRGb3JjZWRVcGRhdGU6OlNjb3BlZEZvcmNlZFVwZGF0ZSgNCistICAgIFNjb3BlZEZv cmNlZFVwZGF0ZSYmIG90aGVyKSBub2V4Y2VwdA0KKysgICAgU2NvcGVkRm9yY2VkVXBkYXRlJiYg b3RoZXIpDQorICAgICA6IGNvbnRleHRfKG90aGVyLmNvbnRleHRfKSB7DQorICAgb3RoZXIuY29u dGV4dF8gPSBudWxscHRyOw0KKyB9DQorZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5rL3Jl bmRlcmVyL2NvcmUvZGlzcGxheV9sb2NrL2Rpc3BsYXlfbG9ja19jb250ZXh0LmggYi90aGlyZF9w YXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL2Rpc3BsYXlfbG9jay9kaXNwbGF5X2xvY2tfY29udGV4 dC5oDQoraW5kZXggMWEzOGIyYWYuLmY4OTBiNDMyIDEwMDY0NA0KKy0tLSBhL3RoaXJkX3BhcnR5 L2JsaW5rL3JlbmRlcmVyL2NvcmUvZGlzcGxheV9sb2NrL2Rpc3BsYXlfbG9ja19jb250ZXh0LmgN CisrKysgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL2Rpc3BsYXlfbG9jay9kaXNw bGF5X2xvY2tfY29udGV4dC5oDQorQEAgLTc2LDcgKzc2LDcgQEANCisgICAgIERJU0FMTE9XX05F VygpOw0KKyANCisgICAgcHVibGljOg0KKy0gICAgU2NvcGVkRm9yY2VkVXBkYXRlKFNjb3BlZEZv cmNlZFVwZGF0ZSYmKSBub2V4Y2VwdDsNCisrICAgIFNjb3BlZEZvcmNlZFVwZGF0ZShTY29wZWRG b3JjZWRVcGRhdGUmJik7DQorICAgICB+U2NvcGVkRm9yY2VkVXBkYXRlKCk7DQorIA0KKyAgICBw cml2YXRlOg0KK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL2Vk aXRpbmcvbGF5b3V0X3NlbGVjdGlvbi5jYyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2Nv cmUvZWRpdGluZy9sYXlvdXRfc2VsZWN0aW9uLmNjDQoraW5kZXggMDAwNDBkMi4uNzNjZmUwZiAx MDA2NDQNCistLS0gYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL2VkaXRpbmcvbGF5 b3V0X3NlbGVjdGlvbi5jYw0KKysrKyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUv ZWRpdGluZy9sYXlvdXRfc2VsZWN0aW9uLmNjDQorQEAgLTE3OCw3ICsxNzgsNyBAQA0KKyAgcHVi bGljOg0KKyAgIE9sZFNlbGVjdGVkTm9kZXMoKQ0KKyAgICAgICA6IHBhaW50X3JhbmdlKE1ha2VH YXJiYWdlQ29sbGVjdGVkPFNlbGVjdGlvblBhaW50UmFuZ2U+KCkpIHt9DQorLSAgT2xkU2VsZWN0 ZWROb2RlcyhPbGRTZWxlY3RlZE5vZGVzJiYgb3RoZXIpIG5vZXhjZXB0IHsNCisrICBPbGRTZWxl Y3RlZE5vZGVzKE9sZFNlbGVjdGVkTm9kZXMmJiBvdGhlcikgew0KKyAgICAgcGFpbnRfcmFuZ2Ug PSBvdGhlci5wYWludF9yYW5nZTsNCisgICAgIHNlbGVjdGVkX21hcCA9IHN0ZDo6bW92ZShvdGhl ci5zZWxlY3RlZF9tYXApOw0KKyAgIH0NCitAQCAtMjA1LDggKzIwNSw3IEBADQorICAgICAgIEhl YXBIYXNoU2V0PE1lbWJlcjxjb25zdCBOb2RlPj4mJiBwYXNzZWRfc2VsZWN0ZWRfb2JqZWN0cykN CisgICAgICAgOiBwYWludF9yYW5nZShwYXNzZWRfcGFpbnRfcmFuZ2UpLA0KKyAgICAgICAgIHNl bGVjdGVkX29iamVjdHMoc3RkOjptb3ZlKHBhc3NlZF9zZWxlY3RlZF9vYmplY3RzKSkge30NCist ICBOZXdQYWludFJhbmdlQW5kU2VsZWN0ZWROb2RlcygNCistICAgICAgTmV3UGFpbnRSYW5nZUFu ZFNlbGVjdGVkTm9kZXMmJiBvdGhlcikgbm9leGNlcHQgew0KKysgIE5ld1BhaW50UmFuZ2VBbmRT ZWxlY3RlZE5vZGVzKE5ld1BhaW50UmFuZ2VBbmRTZWxlY3RlZE5vZGVzJiYgb3RoZXIpIHsNCisg ICAgIHBhaW50X3JhbmdlID0gb3RoZXIucGFpbnRfcmFuZ2U7DQorICAgICBzZWxlY3RlZF9vYmpl Y3RzID0gc3RkOjptb3ZlKG90aGVyLnNlbGVjdGVkX29iamVjdHMpOw0KKyAgIH0NCitkaWZmIC0t Z2l0IGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9mcmFtZS9sb2NhbF9mcmFtZV91 a21fYWdncmVnYXRvci5jYyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvZnJhbWUv bG9jYWxfZnJhbWVfdWttX2FnZ3JlZ2F0b3IuY2MNCitpbmRleCBmMGFjM2M0Li44MWY0N2FiIDEw MDY0NA0KKy0tLSBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvZnJhbWUvbG9jYWxf ZnJhbWVfdWttX2FnZ3JlZ2F0b3IuY2MNCisrKysgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJl ci9jb3JlL2ZyYW1lL2xvY2FsX2ZyYW1lX3VrbV9hZ2dyZWdhdG9yLmNjDQorQEAgLTI0LDcgKzI0 LDcgQEANCisgICAgICAgc3RhcnRfdGltZV8oY2xvY2tfLT5Ob3dUaWNrcygpKSB7fQ0KKyANCisg TG9jYWxGcmFtZVVrbUFnZ3JlZ2F0b3I6OlNjb3BlZFVrbUhpZXJhcmNoaWNhbFRpbWVyOjpTY29w ZWRVa21IaWVyYXJjaGljYWxUaW1lcigNCistICAgIFNjb3BlZFVrbUhpZXJhcmNoaWNhbFRpbWVy JiYgb3RoZXIpIG5vZXhjZXB0DQorKyAgICBTY29wZWRVa21IaWVyYXJjaGljYWxUaW1lciYmIG90 aGVyKQ0KKyAgICAgOiBhZ2dyZWdhdG9yXyhvdGhlci5hZ2dyZWdhdG9yXyksDQorICAgICAgIG1l dHJpY19pbmRleF8ob3RoZXIubWV0cmljX2luZGV4XyksDQorICAgICAgIGNsb2NrXyhvdGhlci5j bG9ja18pLA0KK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL2Zy YW1lL2xvY2FsX2ZyYW1lX3VrbV9hZ2dyZWdhdG9yLmggYi90aGlyZF9wYXJ0eS9ibGluay9yZW5k ZXJlci9jb3JlL2ZyYW1lL2xvY2FsX2ZyYW1lX3VrbV9hZ2dyZWdhdG9yLmgNCitpbmRleCA0NGMz Zjg3Li5kYzA2MDkxIDEwMDY0NA0KKy0tLSBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2Nv cmUvZnJhbWUvbG9jYWxfZnJhbWVfdWttX2FnZ3JlZ2F0b3IuaA0KKysrKyBiL3RoaXJkX3BhcnR5 L2JsaW5rL3JlbmRlcmVyL2NvcmUvZnJhbWUvbG9jYWxfZnJhbWVfdWttX2FnZ3JlZ2F0b3IuaA0K K0BAIC0xOTUsNyArMTk1LDcgQEANCisgICAgIFNUQUNLX0FMTE9DQVRFRCgpOw0KKyANCisgICAg cHVibGljOg0KKy0gICAgU2NvcGVkVWttSGllcmFyY2hpY2FsVGltZXIoU2NvcGVkVWttSGllcmFy Y2hpY2FsVGltZXImJikgbm9leGNlcHQ7DQorKyAgICBTY29wZWRVa21IaWVyYXJjaGljYWxUaW1l cihTY29wZWRVa21IaWVyYXJjaGljYWxUaW1lciYmKTsNCisgICAgIH5TY29wZWRVa21IaWVyYXJj aGljYWxUaW1lcigpOw0KKyANCisgICAgcHJpdmF0ZToNCitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFy dHkvYmxpbmsvcmVuZGVyZXIvY29yZS9sYXlvdXQvbmcvaW5saW5lL25nX2xpbmVfYm94X2ZyYWdt ZW50X2J1aWxkZXIuaCBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvbGF5b3V0L25n L2lubGluZS9uZ19saW5lX2JveF9mcmFnbWVudF9idWlsZGVyLmgNCitpbmRleCAyYWYxOWNhLi40 OThlNDJlIDEwMDY0NA0KKy0tLSBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvbGF5 b3V0L25nL2lubGluZS9uZ19saW5lX2JveF9mcmFnbWVudF9idWlsZGVyLmgNCisrKysgYi90aGly ZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL2xheW91dC9uZy9pbmxpbmUvbmdfbGluZV9ib3hf ZnJhZ21lbnRfYnVpbGRlci5oDQorQEAgLTE4MSw3ICsxODEsNyBAQA0KKyANCisgICAgcHVibGlj Og0KKyAgICAgQ2hpbGRMaXN0KCkgPSBkZWZhdWx0Ow0KKy0gICAgdm9pZCBvcGVyYXRvcj0oQ2hp bGRMaXN0JiYgb3RoZXIpIG5vZXhjZXB0IHsNCisrICAgIHZvaWQgb3BlcmF0b3I9KENoaWxkTGlz dCYmIG90aGVyKSB7DQorICAgICAgIGNoaWxkcmVuXyA9IHN0ZDo6bW92ZShvdGhlci5jaGlsZHJl bl8pOw0KKyAgICAgfQ0KKyANCitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVy ZXIvY29yZS9sYXlvdXQvbmcvbmdfY29uc3RyYWludF9zcGFjZS5oIGIvdGhpcmRfcGFydHkvYmxp bmsvcmVuZGVyZXIvY29yZS9sYXlvdXQvbmcvbmdfY29uc3RyYWludF9zcGFjZS5oDQoraW5kZXgg OGY3N2I5MC4uODMzYjBkMiAxMDA2NDQNCistLS0gYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJl ci9jb3JlL2xheW91dC9uZy9uZ19jb25zdHJhaW50X3NwYWNlLmgNCisrKysgYi90aGlyZF9wYXJ0 eS9ibGluay9yZW5kZXJlci9jb3JlL2xheW91dC9uZy9uZ19jb25zdHJhaW50X3NwYWNlLmgNCitA QCAtODYsNyArODYsNyBAQA0KKyAgICAgZWxzZQ0KKyAgICAgICBiZmNfb2Zmc2V0XyA9IG90aGVy LmJmY19vZmZzZXRfOw0KKyAgIH0NCistICBOR0NvbnN0cmFpbnRTcGFjZShOR0NvbnN0cmFpbnRT cGFjZSYmIG90aGVyKSBub2V4Y2VwdA0KKysgIE5HQ29uc3RyYWludFNwYWNlKE5HQ29uc3RyYWlu dFNwYWNlJiYgb3RoZXIpDQorICAgICAgIDogYXZhaWxhYmxlX3NpemVfKG90aGVyLmF2YWlsYWJs ZV9zaXplXyksDQorICAgICAgICAgZXhjbHVzaW9uX3NwYWNlXyhzdGQ6Om1vdmUob3RoZXIuZXhj bHVzaW9uX3NwYWNlXykpLA0KKyAgICAgICAgIGJpdGZpZWxkc18ob3RoZXIuYml0ZmllbGRzXykg ew0KK0BAIC0xMTAsNyArMTEwLDcgQEANCisgICAgIGJpdGZpZWxkc18gPSBvdGhlci5iaXRmaWVs ZHNfOw0KKyAgICAgcmV0dXJuICp0aGlzOw0KKyAgIH0NCistICBOR0NvbnN0cmFpbnRTcGFjZSYg b3BlcmF0b3I9KE5HQ29uc3RyYWludFNwYWNlJiYgb3RoZXIpIG5vZXhjZXB0IHsNCisrICBOR0Nv bnN0cmFpbnRTcGFjZSYgb3BlcmF0b3I9KE5HQ29uc3RyYWludFNwYWNlJiYgb3RoZXIpIHsNCisg ICAgIGF2YWlsYWJsZV9zaXplXyA9IG90aGVyLmF2YWlsYWJsZV9zaXplXzsNCisgICAgIGlmIChI YXNSYXJlRGF0YSgpKQ0KKyAgICAgICBkZWxldGUgcmFyZV9kYXRhXzsNCitkaWZmIC0tZ2l0IGEv dGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9tZXNzYWdpbmcvYmxpbmtfY2xvbmVhYmxl X21lc3NhZ2UuY2MgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL21lc3NhZ2luZy9i bGlua19jbG9uZWFibGVfbWVzc2FnZS5jYw0KK2luZGV4IGI2Yzg3NjguLjc0MjM5MzAgMTAwNjQ0 DQorLS0tIGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9tZXNzYWdpbmcvYmxpbmtf Y2xvbmVhYmxlX21lc3NhZ2UuY2MNCisrKysgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9j b3JlL21lc3NhZ2luZy9ibGlua19jbG9uZWFibGVfbWVzc2FnZS5jYw0KK0BAIC05LDkgKzksOCBA QA0KKyBCbGlua0Nsb25lYWJsZU1lc3NhZ2U6OkJsaW5rQ2xvbmVhYmxlTWVzc2FnZSgpID0gZGVm YXVsdDsNCisgQmxpbmtDbG9uZWFibGVNZXNzYWdlOjp+QmxpbmtDbG9uZWFibGVNZXNzYWdlKCkg PSBkZWZhdWx0Ow0KKyANCistQmxpbmtDbG9uZWFibGVNZXNzYWdlOjpCbGlua0Nsb25lYWJsZU1l c3NhZ2UoQmxpbmtDbG9uZWFibGVNZXNzYWdlJiYpIG5vZXhjZXB0ID0NCistICAgIGRlZmF1bHQ7 DQorK0JsaW5rQ2xvbmVhYmxlTWVzc2FnZTo6QmxpbmtDbG9uZWFibGVNZXNzYWdlKEJsaW5rQ2xv bmVhYmxlTWVzc2FnZSYmKSA9IGRlZmF1bHQ7DQorIEJsaW5rQ2xvbmVhYmxlTWVzc2FnZSYgQmxp bmtDbG9uZWFibGVNZXNzYWdlOjpvcGVyYXRvcj0oDQorLSAgICBCbGlua0Nsb25lYWJsZU1lc3Nh Z2UmJikgbm9leGNlcHQgPSBkZWZhdWx0Ow0KKysgICAgQmxpbmtDbG9uZWFibGVNZXNzYWdlJiYp ID0gZGVmYXVsdDsNCisgDQorIH0gIC8vIG5hbWVzcGFjZSBibGluaw0KK2RpZmYgLS1naXQgYS90 aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL21lc3NhZ2luZy9ibGlua19jbG9uZWFibGVf bWVzc2FnZS5oIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9tZXNzYWdpbmcvYmxp bmtfY2xvbmVhYmxlX21lc3NhZ2UuaA0KK2luZGV4IDMzN2IwZjguLmE1MWU4ODggMTAwNjQ0DQor LS0tIGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9tZXNzYWdpbmcvYmxpbmtfY2xv bmVhYmxlX21lc3NhZ2UuaA0KKysrKyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUv bWVzc2FnaW5nL2JsaW5rX2Nsb25lYWJsZV9tZXNzYWdlLmgNCitAQCAtMjEsOCArMjEsOCBAQA0K KyAgIEJsaW5rQ2xvbmVhYmxlTWVzc2FnZSgpOw0KKyAgIH5CbGlua0Nsb25lYWJsZU1lc3NhZ2Uo KTsNCisgDQorLSAgQmxpbmtDbG9uZWFibGVNZXNzYWdlKEJsaW5rQ2xvbmVhYmxlTWVzc2FnZSYm KSBub2V4Y2VwdDsNCistICBCbGlua0Nsb25lYWJsZU1lc3NhZ2UmIG9wZXJhdG9yPShCbGlua0Ns b25lYWJsZU1lc3NhZ2UmJikgbm9leGNlcHQ7DQorKyAgQmxpbmtDbG9uZWFibGVNZXNzYWdlKEJs aW5rQ2xvbmVhYmxlTWVzc2FnZSYmKTsNCisrICBCbGlua0Nsb25lYWJsZU1lc3NhZ2UmIG9wZXJh dG9yPShCbGlua0Nsb25lYWJsZU1lc3NhZ2UmJik7DQorIA0KKyAgIHNjb3BlZF9yZWZwdHI8Ymxp bms6OlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gbWVzc2FnZTsNCisgICB2OF9pbnNwZWN0b3I6OlY4 U3RhY2tUcmFjZUlkIHNlbmRlcl9zdGFja190cmFjZV9pZDsNCitkaWZmIC0tZ2l0IGEvdGhpcmRf cGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9tZXNzYWdpbmcvYmxpbmtfdHJhbnNmZXJhYmxlX21l c3NhZ2UuY2MgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL21lc3NhZ2luZy9ibGlu a190cmFuc2ZlcmFibGVfbWVzc2FnZS5jYw0KK2luZGV4IDkwOWRkYjAuLmI1Y2RmZGEgMTAwNjQ0 DQorLS0tIGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9tZXNzYWdpbmcvYmxpbmtf dHJhbnNmZXJhYmxlX21lc3NhZ2UuY2MNCisrKysgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJl ci9jb3JlL21lc3NhZ2luZy9ibGlua190cmFuc2ZlcmFibGVfbWVzc2FnZS5jYw0KK0BAIC0xNiwx MCArMTYsMTAgQEANCisgQmxpbmtUcmFuc2ZlcmFibGVNZXNzYWdlOjpCbGlua1RyYW5zZmVyYWJs ZU1lc3NhZ2UoKSA9IGRlZmF1bHQ7DQorIEJsaW5rVHJhbnNmZXJhYmxlTWVzc2FnZTo6fkJsaW5r VHJhbnNmZXJhYmxlTWVzc2FnZSgpID0gZGVmYXVsdDsNCisgDQorLUJsaW5rVHJhbnNmZXJhYmxl TWVzc2FnZTo6QmxpbmtUcmFuc2ZlcmFibGVNZXNzYWdlKA0KKy0gICAgQmxpbmtUcmFuc2ZlcmFi bGVNZXNzYWdlJiYpIG5vZXhjZXB0ID0gZGVmYXVsdDsNCisrQmxpbmtUcmFuc2ZlcmFibGVNZXNz YWdlOjpCbGlua1RyYW5zZmVyYWJsZU1lc3NhZ2UoQmxpbmtUcmFuc2ZlcmFibGVNZXNzYWdlJiYp ID0NCisrICAgIGRlZmF1bHQ7DQorIEJsaW5rVHJhbnNmZXJhYmxlTWVzc2FnZSYgQmxpbmtUcmFu c2ZlcmFibGVNZXNzYWdlOjpvcGVyYXRvcj0oDQorLSAgICBCbGlua1RyYW5zZmVyYWJsZU1lc3Nh Z2UmJikgbm9leGNlcHQgPSBkZWZhdWx0Ow0KKysgICAgQmxpbmtUcmFuc2ZlcmFibGVNZXNzYWdl JiYpID0gZGVmYXVsdDsNCisgDQorIHNjb3BlZF9yZWZwdHI8Ymxpbms6OlN0YXRpY0JpdG1hcElt YWdlPiBUb1N0YXRpY0JpdG1hcEltYWdlKA0KKyAgICAgY29uc3QgU2tCaXRtYXAmIHNrX2JpdG1h cCkgew0KK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL21lc3Nh Z2luZy9ibGlua190cmFuc2ZlcmFibGVfbWVzc2FnZS5oIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVu ZGVyZXIvY29yZS9tZXNzYWdpbmcvYmxpbmtfdHJhbnNmZXJhYmxlX21lc3NhZ2UuaA0KK2luZGV4 IGVkZjRmYWIuLjM5NTdiZWQgMTAwNjQ0DQorLS0tIGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVy ZXIvY29yZS9tZXNzYWdpbmcvYmxpbmtfdHJhbnNmZXJhYmxlX21lc3NhZ2UuaA0KKysrKyBiL3Ro aXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvbWVzc2FnaW5nL2JsaW5rX3RyYW5zZmVyYWJs ZV9tZXNzYWdlLmgNCitAQCAtMjQsOCArMjQsOCBAQA0KKyAgIEJsaW5rVHJhbnNmZXJhYmxlTWVz c2FnZSgpOw0KKyAgIH5CbGlua1RyYW5zZmVyYWJsZU1lc3NhZ2UoKTsNCisgDQorLSAgQmxpbmtU cmFuc2ZlcmFibGVNZXNzYWdlKEJsaW5rVHJhbnNmZXJhYmxlTWVzc2FnZSYmKSBub2V4Y2VwdDsN CistICBCbGlua1RyYW5zZmVyYWJsZU1lc3NhZ2UmIG9wZXJhdG9yPShCbGlua1RyYW5zZmVyYWJs ZU1lc3NhZ2UmJikgbm9leGNlcHQ7DQorKyAgQmxpbmtUcmFuc2ZlcmFibGVNZXNzYWdlKEJsaW5r VHJhbnNmZXJhYmxlTWVzc2FnZSYmKTsNCisrICBCbGlua1RyYW5zZmVyYWJsZU1lc3NhZ2UmIG9w ZXJhdG9yPShCbGlua1RyYW5zZmVyYWJsZU1lc3NhZ2UmJik7DQorIA0KKyAgIFZlY3RvcjxNZXNz YWdlUG9ydENoYW5uZWw+IHBvcnRzOw0KKyANCitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvYmxp bmsvcmVuZGVyZXIvbW9kdWxlcy9pbWFnZWNhcHR1cmUvaW1hZ2VfY2FwdHVyZV9mcmFtZV9ncmFi YmVyLmggYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9tb2R1bGVzL2ltYWdlY2FwdHVyZS9p bWFnZV9jYXB0dXJlX2ZyYW1lX2dyYWJiZXIuaA0KK2luZGV4IDg1YjQ2ZTEuLmYwNTBhODUgMTAw NjQ0DQorLS0tIGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvbW9kdWxlcy9pbWFnZWNhcHR1 cmUvaW1hZ2VfY2FwdHVyZV9mcmFtZV9ncmFiYmVyLmgNCisrKysgYi90aGlyZF9wYXJ0eS9ibGlu ay9yZW5kZXJlci9tb2R1bGVzL2ltYWdlY2FwdHVyZS9pbWFnZV9jYXB0dXJlX2ZyYW1lX2dyYWJi ZXIuaA0KK0BAIC05MiwxMCArOTIsMTAgQEANCisgICAgICAgc3RkOjptb3ZlKGRlc3RydWN0aW9u X2NhbGxiYWNrXykuUnVuKHN0ZDo6bW92ZShjYWxsYmFja3NfKSk7DQorICAgfQ0KKyANCistICBT Y29wZWRXZWJDYWxsYmFja3MoU2NvcGVkV2ViQ2FsbGJhY2tzJiYgb3RoZXIpIG5vZXhjZXB0ID0g ZGVmYXVsdDsNCisrICBTY29wZWRXZWJDYWxsYmFja3MoU2NvcGVkV2ViQ2FsbGJhY2tzJiYgb3Ro ZXIpID0gZGVmYXVsdDsNCisgICBTY29wZWRXZWJDYWxsYmFja3MoY29uc3QgU2NvcGVkV2ViQ2Fs bGJhY2tzJiBvdGhlcikgPSBkZWxldGU7DQorIA0KKy0gIFNjb3BlZFdlYkNhbGxiYWNrcyYgb3Bl cmF0b3I9KFNjb3BlZFdlYkNhbGxiYWNrcyYmIG90aGVyKSBub2V4Y2VwdCA9IGRlZmF1bHQ7DQor KyAgU2NvcGVkV2ViQ2FsbGJhY2tzJiBvcGVyYXRvcj0oU2NvcGVkV2ViQ2FsbGJhY2tzJiYgb3Ro ZXIpID0gZGVmYXVsdDsNCisgICBTY29wZWRXZWJDYWxsYmFja3MmIG9wZXJhdG9yPShjb25zdCBT Y29wZWRXZWJDYWxsYmFja3MmIG90aGVyKSA9IGRlbGV0ZTsNCisgDQorICAgc3RkOjp1bmlxdWVf cHRyPENhbGxiYWNrc1R5cGU+IFBhc3NDYWxsYmFja3MoKSB7DQorZGlmZiAtLWdpdCBhL3RoaXJk X3BhcnR5L2JsaW5rL3JlbmRlcmVyL21vZHVsZXMvaW5kZXhlZGRiL2lkYl9yZXF1ZXN0LmggYi90 aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9tb2R1bGVzL2luZGV4ZWRkYi9pZGJfcmVxdWVzdC5o DQoraW5kZXggZjg1Yjg2NC4uZDNmMTEzMiAxMDA2NDQNCistLS0gYS90aGlyZF9wYXJ0eS9ibGlu ay9yZW5kZXJlci9tb2R1bGVzL2luZGV4ZWRkYi9pZGJfcmVxdWVzdC5oDQorKysrIGIvdGhpcmRf cGFydHkvYmxpbmsvcmVuZGVyZXIvbW9kdWxlcy9pbmRleGVkZGIvaWRiX3JlcXVlc3QuaA0KK0BA IC0xMTAsMTMgKzExMCwxMyBAQA0KKyAgICAgfkFzeW5jVHJhY2VTdGF0ZSgpOw0KKyANCisgICAg IC8vIFVzZWQgdG8gdHJhbnNmZXIgdGhlIHRyYWNlIGVuZCBldmVudCBzdGF0ZSB0byBhbiBJREJS ZXF1ZXN0Lg0KKy0gICAgQXN5bmNUcmFjZVN0YXRlKEFzeW5jVHJhY2VTdGF0ZSYmIG90aGVyKSBu b2V4Y2VwdCB7DQorKyAgICBBc3luY1RyYWNlU3RhdGUoQXN5bmNUcmFjZVN0YXRlJiYgb3RoZXIp IHsNCisgICAgICAgRENIRUNLKElzRW1wdHkoKSk7DQorICAgICAgIHRoaXMtPnRyYWNlX2V2ZW50 X25hbWVfID0gb3RoZXIudHJhY2VfZXZlbnRfbmFtZV87DQorICAgICAgIHRoaXMtPmlkXyA9IG90 aGVyLmlkXzsNCisgICAgICAgb3RoZXIudHJhY2VfZXZlbnRfbmFtZV8gPSBudWxscHRyOw0KKyAg ICAgfQ0KKy0gICAgQXN5bmNUcmFjZVN0YXRlJiBvcGVyYXRvcj0oQXN5bmNUcmFjZVN0YXRlJiYg cmhzKSBub2V4Y2VwdCB7DQorKyAgICBBc3luY1RyYWNlU3RhdGUmIG9wZXJhdG9yPShBc3luY1Ry YWNlU3RhdGUmJiByaHMpIHsNCisgICAgICAgRENIRUNLKElzRW1wdHkoKSk7DQorICAgICAgIHRo aXMtPnRyYWNlX2V2ZW50X25hbWVfID0gcmhzLnRyYWNlX2V2ZW50X25hbWVfOw0KKyAgICAgICB0 aGlzLT5pZF8gPSByaHMuaWRfOw0KK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9ibGluay9yZW5k ZXJlci9tb2R1bGVzL2luZGV4ZWRkYi9pZGJfcmVxdWVzdF90ZXN0LmNjIGIvdGhpcmRfcGFydHkv YmxpbmsvcmVuZGVyZXIvbW9kdWxlcy9pbmRleGVkZGIvaWRiX3JlcXVlc3RfdGVzdC5jYw0KK2lu ZGV4IDg0ZGU3MjYuLjJkM2Q0ZGU1IDEwMDY0NA0KKy0tLSBhL3RoaXJkX3BhcnR5L2JsaW5rL3Jl bmRlcmVyL21vZHVsZXMvaW5kZXhlZGRiL2lkYl9yZXF1ZXN0X3Rlc3QuY2MNCisrKysgYi90aGly ZF9wYXJ0eS9ibGluay9yZW5kZXJlci9tb2R1bGVzL2luZGV4ZWRkYi9pZGJfcmVxdWVzdF90ZXN0 LmNjDQorQEAgLTQzNCwxMCArNDM0LDkgQEANCisgY2xhc3MgQXN5bmNUcmFjZVN0YXRlRm9yVGVz dGluZyA6IHB1YmxpYyBJREJSZXF1ZXN0OjpBc3luY1RyYWNlU3RhdGUgew0KKyAgcHVibGljOg0K KyAgIEFzeW5jVHJhY2VTdGF0ZUZvclRlc3RpbmcoKSA6IElEQlJlcXVlc3Q6OkFzeW5jVHJhY2VT dGF0ZSgpIHt9DQorLSAgQXN5bmNUcmFjZVN0YXRlRm9yVGVzdGluZyhBc3luY1RyYWNlU3RhdGVG b3JUZXN0aW5nJiYgb3RoZXIpIG5vZXhjZXB0DQorKyAgQXN5bmNUcmFjZVN0YXRlRm9yVGVzdGlu ZyhBc3luY1RyYWNlU3RhdGVGb3JUZXN0aW5nJiYgb3RoZXIpDQorICAgICAgIDogSURCUmVxdWVz dDo6QXN5bmNUcmFjZVN0YXRlKHN0ZDo6bW92ZShvdGhlcikpIHt9DQorLSAgQXN5bmNUcmFjZVN0 YXRlRm9yVGVzdGluZyYgb3BlcmF0b3I9KA0KKy0gICAgICBBc3luY1RyYWNlU3RhdGVGb3JUZXN0 aW5nJiYgcmhzKSBub2V4Y2VwdCB7DQorKyAgQXN5bmNUcmFjZVN0YXRlRm9yVGVzdGluZyYgb3Bl cmF0b3I9KEFzeW5jVHJhY2VTdGF0ZUZvclRlc3RpbmcmJiByaHMpIHsNCisgICAgIEFzeW5jVHJh Y2VTdGF0ZTo6b3BlcmF0b3I9KHN0ZDo6bW92ZShyaHMpKTsNCisgICAgIHJldHVybiAqdGhpczsN CisgICB9DQorZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL21vZHVsZXMv bWVkaWFzdHJlYW0vbWVkaWFfc3RyZWFtX2NvbnN0cmFpbnRzX3V0aWwuY2MgYi90aGlyZF9wYXJ0 eS9ibGluay9yZW5kZXJlci9tb2R1bGVzL21lZGlhc3RyZWFtL21lZGlhX3N0cmVhbV9jb25zdHJh aW50c191dGlsLmNjDQoraW5kZXggMjQ0OTliZC4uM2JmMDBlOSAxMDA2NDQNCistLS0gYS90aGly ZF9wYXJ0eS9ibGluay9yZW5kZXJlci9tb2R1bGVzL21lZGlhc3RyZWFtL21lZGlhX3N0cmVhbV9j b25zdHJhaW50c191dGlsLmNjDQorKysrIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvbW9k dWxlcy9tZWRpYXN0cmVhbS9tZWRpYV9zdHJlYW1fY29uc3RyYWludHNfdXRpbC5jYw0KK0BAIC0x MzQsMTMgKzEzNCwxMyBAQA0KKyANCisgVmlkZW9DYXB0dXJlU2V0dGluZ3M6OlZpZGVvQ2FwdHVy ZVNldHRpbmdzKGNvbnN0IFZpZGVvQ2FwdHVyZVNldHRpbmdzJiBvdGhlcikgPQ0KKyAgICAgZGVm YXVsdDsNCistVmlkZW9DYXB0dXJlU2V0dGluZ3M6OlZpZGVvQ2FwdHVyZVNldHRpbmdzKA0KKy0g ICAgVmlkZW9DYXB0dXJlU2V0dGluZ3MmJiBvdGhlcikgbm9leGNlcHQgPSBkZWZhdWx0Ow0KKytW aWRlb0NhcHR1cmVTZXR0aW5nczo6VmlkZW9DYXB0dXJlU2V0dGluZ3MoVmlkZW9DYXB0dXJlU2V0 dGluZ3MmJiBvdGhlcikgPQ0KKysgICAgZGVmYXVsdDsNCisgVmlkZW9DYXB0dXJlU2V0dGluZ3M6 On5WaWRlb0NhcHR1cmVTZXR0aW5ncygpID0gZGVmYXVsdDsNCisgVmlkZW9DYXB0dXJlU2V0dGlu Z3MmIFZpZGVvQ2FwdHVyZVNldHRpbmdzOjpvcGVyYXRvcj0oDQorICAgICBjb25zdCBWaWRlb0Nh cHR1cmVTZXR0aW5ncyYgb3RoZXIpID0gZGVmYXVsdDsNCisgVmlkZW9DYXB0dXJlU2V0dGluZ3Mm IFZpZGVvQ2FwdHVyZVNldHRpbmdzOjpvcGVyYXRvcj0oDQorLSAgICBWaWRlb0NhcHR1cmVTZXR0 aW5ncyYmIG90aGVyKSBub2V4Y2VwdCA9IGRlZmF1bHQ7DQorKyAgICBWaWRlb0NhcHR1cmVTZXR0 aW5ncyYmIG90aGVyKSA9IGRlZmF1bHQ7DQorIA0KKyBBdWRpb0NhcHR1cmVTZXR0aW5nczo6QXVk aW9DYXB0dXJlU2V0dGluZ3MoKSA6IEF1ZGlvQ2FwdHVyZVNldHRpbmdzKCIiKSB7fQ0KKyANCitA QCAtMTY2LDEwICsxNjYsMTAgQEANCisgICAgIGRlZmF1bHQ7DQorIEF1ZGlvQ2FwdHVyZVNldHRp bmdzJiBBdWRpb0NhcHR1cmVTZXR0aW5nczo6b3BlcmF0b3I9KA0KKyAgICAgY29uc3QgQXVkaW9D YXB0dXJlU2V0dGluZ3MmIG90aGVyKSA9IGRlZmF1bHQ7DQorLUF1ZGlvQ2FwdHVyZVNldHRpbmdz OjpBdWRpb0NhcHR1cmVTZXR0aW5ncygNCistICAgIEF1ZGlvQ2FwdHVyZVNldHRpbmdzJiYgb3Ro ZXIpIG5vZXhjZXB0ID0gZGVmYXVsdDsNCisrQXVkaW9DYXB0dXJlU2V0dGluZ3M6OkF1ZGlvQ2Fw dHVyZVNldHRpbmdzKEF1ZGlvQ2FwdHVyZVNldHRpbmdzJiYgb3RoZXIpID0NCisrICAgIGRlZmF1 bHQ7DQorIEF1ZGlvQ2FwdHVyZVNldHRpbmdzJiBBdWRpb0NhcHR1cmVTZXR0aW5nczo6b3BlcmF0 b3I9KA0KKy0gICAgQXVkaW9DYXB0dXJlU2V0dGluZ3MmJiBvdGhlcikgbm9leGNlcHQgPSBkZWZh dWx0Ow0KKysgICAgQXVkaW9DYXB0dXJlU2V0dGluZ3MmJiBvdGhlcikgPSBkZWZhdWx0Ow0KKyAN CisgYm9vbCBHZXRDb25zdHJhaW50VmFsdWVBc0Jvb2xlYW4oDQorICAgICBjb25zdCBXZWJNZWRp YUNvbnN0cmFpbnRzJiBjb25zdHJhaW50cywNCitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvYmxp bmsvcmVuZGVyZXIvbW9kdWxlcy9tZWRpYXN0cmVhbS9tZWRpYV9zdHJlYW1fY29uc3RyYWludHNf dXRpbF92aWRlb19kZXZpY2UuY2MgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9tb2R1bGVz L21lZGlhc3RyZWFtL21lZGlhX3N0cmVhbV9jb25zdHJhaW50c191dGlsX3ZpZGVvX2RldmljZS5j Yw0KK2luZGV4IDk2OTkyMjE3Li42N2M4YmFiIDEwMDY0NA0KKy0tLSBhL3RoaXJkX3BhcnR5L2Js aW5rL3JlbmRlcmVyL21vZHVsZXMvbWVkaWFzdHJlYW0vbWVkaWFfc3RyZWFtX2NvbnN0cmFpbnRz X3V0aWxfdmlkZW9fZGV2aWNlLmNjDQorKysrIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIv bW9kdWxlcy9tZWRpYXN0cmVhbS9tZWRpYV9zdHJlYW1fY29uc3RyYWludHNfdXRpbF92aWRlb19k ZXZpY2UuY2MNCitAQCAtNTI5LDkgKzUyOSw5IEBADQorICAgICAgIGZhY2luZ19tb2RlKGZhY2lu Z19tb2RlKSB7fQ0KKyANCisgVmlkZW9JbnB1dERldmljZUNhcGFiaWxpdGllczo6VmlkZW9JbnB1 dERldmljZUNhcGFiaWxpdGllcygNCistICAgIFZpZGVvSW5wdXREZXZpY2VDYXBhYmlsaXRpZXMm JiBvdGhlcikgbm9leGNlcHQgPSBkZWZhdWx0Ow0KKysgICAgVmlkZW9JbnB1dERldmljZUNhcGFi aWxpdGllcyYmIG90aGVyKSA9IGRlZmF1bHQ7DQorIFZpZGVvSW5wdXREZXZpY2VDYXBhYmlsaXRp ZXMmIFZpZGVvSW5wdXREZXZpY2VDYXBhYmlsaXRpZXM6Om9wZXJhdG9yPSgNCistICAgIFZpZGVv SW5wdXREZXZpY2VDYXBhYmlsaXRpZXMmJiBvdGhlcikgbm9leGNlcHQgPSBkZWZhdWx0Ow0KKysg ICAgVmlkZW9JbnB1dERldmljZUNhcGFiaWxpdGllcyYmIG90aGVyKSA9IGRlZmF1bHQ7DQorIA0K KyBWaWRlb0lucHV0RGV2aWNlQ2FwYWJpbGl0aWVzOjp+VmlkZW9JbnB1dERldmljZUNhcGFiaWxp dGllcygpID0gZGVmYXVsdDsNCisgDQorQEAgLTU1NywxMCArNTU3LDEwIEBADQorIA0KKyBWaWRl b0RldmljZUNhcHR1cmVDYXBhYmlsaXRpZXM6OlZpZGVvRGV2aWNlQ2FwdHVyZUNhcGFiaWxpdGll cygpID0gZGVmYXVsdDsNCisgVmlkZW9EZXZpY2VDYXB0dXJlQ2FwYWJpbGl0aWVzOjpWaWRlb0Rl dmljZUNhcHR1cmVDYXBhYmlsaXRpZXMoDQorLSAgICBWaWRlb0RldmljZUNhcHR1cmVDYXBhYmls aXRpZXMmJiBvdGhlcikgbm9leGNlcHQgPSBkZWZhdWx0Ow0KKysgICAgVmlkZW9EZXZpY2VDYXB0 dXJlQ2FwYWJpbGl0aWVzJiYgb3RoZXIpID0gZGVmYXVsdDsNCisgVmlkZW9EZXZpY2VDYXB0dXJl Q2FwYWJpbGl0aWVzOjp+VmlkZW9EZXZpY2VDYXB0dXJlQ2FwYWJpbGl0aWVzKCkgPSBkZWZhdWx0 Ow0KKyBWaWRlb0RldmljZUNhcHR1cmVDYXBhYmlsaXRpZXMmIFZpZGVvRGV2aWNlQ2FwdHVyZUNh cGFiaWxpdGllczo6b3BlcmF0b3I9KA0KKy0gICAgVmlkZW9EZXZpY2VDYXB0dXJlQ2FwYWJpbGl0 aWVzJiYgb3RoZXIpIG5vZXhjZXB0ID0gZGVmYXVsdDsNCisrICAgIFZpZGVvRGV2aWNlQ2FwdHVy ZUNhcGFiaWxpdGllcyYmIG90aGVyKSA9IGRlZmF1bHQ7DQorIA0KKyBWaWRlb0NhcHR1cmVTZXR0 aW5ncyBTZWxlY3RTZXR0aW5nc1ZpZGVvRGV2aWNlQ2FwdHVyZSgNCisgICAgIGNvbnN0IFZpZGVv RGV2aWNlQ2FwdHVyZUNhcGFiaWxpdGllcyYgY2FwYWJpbGl0aWVzLA0KK2RpZmYgLS1naXQgYS90 aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9tb2R1bGVzL21lZGlhc3RyZWFtL21lZGlhX3N0cmVh bV9jb25zdHJhaW50c191dGlsX3ZpZGVvX2RldmljZS5oIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVu ZGVyZXIvbW9kdWxlcy9tZWRpYXN0cmVhbS9tZWRpYV9zdHJlYW1fY29uc3RyYWludHNfdXRpbF92 aWRlb19kZXZpY2UuaA0KK2luZGV4IDY2YWUxMDMuLjk0ZDhlZDkgMTAwNjQ0DQorLS0tIGEvdGhp cmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvbW9kdWxlcy9tZWRpYXN0cmVhbS9tZWRpYV9zdHJlYW1f Y29uc3RyYWludHNfdXRpbF92aWRlb19kZXZpY2UuaA0KKysrKyBiL3RoaXJkX3BhcnR5L2JsaW5r L3JlbmRlcmVyL21vZHVsZXMvbWVkaWFzdHJlYW0vbWVkaWFfc3RyZWFtX2NvbnN0cmFpbnRzX3V0 aWxfdmlkZW9fZGV2aWNlLmgNCitAQCAtMzQsOSArMzQsOCBAQA0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgVmVjdG9yPG1lZGlhOjpWaWRlb0NhcHR1cmVGb3JtYXQ+IGZvcm1hdHMs DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZWRpYTo6VmlkZW9GYWNpbmdNb2Rl IGZhY2luZ19tb2RlKTsNCisgICBWaWRlb0lucHV0RGV2aWNlQ2FwYWJpbGl0aWVzKCk7DQorLSAg VmlkZW9JbnB1dERldmljZUNhcGFiaWxpdGllcyhWaWRlb0lucHV0RGV2aWNlQ2FwYWJpbGl0aWVz JiYgb3RoZXIpIG5vZXhjZXB0Ow0KKy0gIFZpZGVvSW5wdXREZXZpY2VDYXBhYmlsaXRpZXMmIG9w ZXJhdG9yPSgNCistICAgICAgVmlkZW9JbnB1dERldmljZUNhcGFiaWxpdGllcyYmIG90aGVyKSBu b2V4Y2VwdDsNCisrICBWaWRlb0lucHV0RGV2aWNlQ2FwYWJpbGl0aWVzKFZpZGVvSW5wdXREZXZp Y2VDYXBhYmlsaXRpZXMmJiBvdGhlcik7DQorKyAgVmlkZW9JbnB1dERldmljZUNhcGFiaWxpdGll cyYgb3BlcmF0b3I9KFZpZGVvSW5wdXREZXZpY2VDYXBhYmlsaXRpZXMmJiBvdGhlcik7DQorICAg flZpZGVvSW5wdXREZXZpY2VDYXBhYmlsaXRpZXMoKTsNCisgDQorICAgU3RyaW5nIGRldmljZV9p ZDsNCitAQCAtNDcsMTEgKzQ2LDEwIEBADQorIA0KKyBzdHJ1Y3QgTU9EVUxFU19FWFBPUlQgVmlk ZW9EZXZpY2VDYXB0dXJlQ2FwYWJpbGl0aWVzIHsNCisgICBWaWRlb0RldmljZUNhcHR1cmVDYXBh YmlsaXRpZXMoKTsNCistICBWaWRlb0RldmljZUNhcHR1cmVDYXBhYmlsaXRpZXMoDQorLSAgICAg IFZpZGVvRGV2aWNlQ2FwdHVyZUNhcGFiaWxpdGllcyYmIG90aGVyKSBub2V4Y2VwdDsNCisrICBW aWRlb0RldmljZUNhcHR1cmVDYXBhYmlsaXRpZXMoVmlkZW9EZXZpY2VDYXB0dXJlQ2FwYWJpbGl0 aWVzJiYgb3RoZXIpOw0KKyAgIH5WaWRlb0RldmljZUNhcHR1cmVDYXBhYmlsaXRpZXMoKTsNCisg ICBWaWRlb0RldmljZUNhcHR1cmVDYXBhYmlsaXRpZXMmIG9wZXJhdG9yPSgNCistICAgICAgVmlk ZW9EZXZpY2VDYXB0dXJlQ2FwYWJpbGl0aWVzJiYgb3RoZXIpIG5vZXhjZXB0Ow0KKysgICAgICBW aWRlb0RldmljZUNhcHR1cmVDYXBhYmlsaXRpZXMmJiBvdGhlcik7DQorIA0KKyAgIC8vIEVhY2gg Y2FwYWJpbGl0aWVzIGZpZWxkIGlzIGluZGVwZW5kZW50IG9mIGVhY2ggb3RoZXIuDQorICAgLy8g VE9ETyhjcmJ1Zy5jb20vNzA0MTM2KTogUmVwbGFjZSBWaWRlb0lucHV0RGV2aWNlQ2FwYWJpbGl0 aWVzIGluIHRoZQ0KK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9tb2R1 bGVzL21lZGlhc3RyZWFtL21lZGlhX3N0cmVhbV92aWRlb19zb3VyY2UuY2MgYi90aGlyZF9wYXJ0 eS9ibGluay9yZW5kZXJlci9tb2R1bGVzL21lZGlhc3RyZWFtL21lZGlhX3N0cmVhbV92aWRlb19z b3VyY2UuY2MNCitpbmRleCA3NjUxZTQ3Li45OTc1OWMxIDEwMDY0NA0KKy0tLSBhL3RoaXJkX3Bh cnR5L2JsaW5rL3JlbmRlcmVyL21vZHVsZXMvbWVkaWFzdHJlYW0vbWVkaWFfc3RyZWFtX3ZpZGVv X3NvdXJjZS5jYw0KKysrKyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL21vZHVsZXMvbWVk aWFzdHJlYW0vbWVkaWFfc3RyZWFtX3ZpZGVvX3NvdXJjZS5jYw0KK0BAIC00NjEsMTAgKzQ2MSwx MCBAQA0KKyAgICAgICBjYWxsYmFjayhjYWxsYmFjaykge30NCisgDQorIE1lZGlhU3RyZWFtVmlk ZW9Tb3VyY2U6OlBlbmRpbmdUcmFja0luZm86OlBlbmRpbmdUcmFja0luZm8oDQorLSAgICBQZW5k aW5nVHJhY2tJbmZvJiYgb3RoZXIpIG5vZXhjZXB0ID0gZGVmYXVsdDsNCisrICAgIFBlbmRpbmdU cmFja0luZm8mJiBvdGhlcikgPSBkZWZhdWx0Ow0KKyBNZWRpYVN0cmVhbVZpZGVvU291cmNlOjpQ ZW5kaW5nVHJhY2tJbmZvJg0KKyBNZWRpYVN0cmVhbVZpZGVvU291cmNlOjpQZW5kaW5nVHJhY2tJ bmZvOjpvcGVyYXRvcj0oDQorLSAgICBNZWRpYVN0cmVhbVZpZGVvU291cmNlOjpQZW5kaW5nVHJh Y2tJbmZvJiYgb3RoZXIpIG5vZXhjZXB0ID0gZGVmYXVsdDsNCisrICAgIE1lZGlhU3RyZWFtVmlk ZW9Tb3VyY2U6OlBlbmRpbmdUcmFja0luZm8mJiBvdGhlcikgPSBkZWZhdWx0Ow0KKyANCisgTWVk aWFTdHJlYW1WaWRlb1NvdXJjZTo6UGVuZGluZ1RyYWNrSW5mbzo6flBlbmRpbmdUcmFja0luZm8o KSB7fQ0KKyANCitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZv cm0vYmluZGluZ3MvZG9tX2RhdGFfc3RvcmUuaCBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVy L3BsYXRmb3JtL2JpbmRpbmdzL2RvbV9kYXRhX3N0b3JlLmgNCitpbmRleCBkNjYwYjY3Li4wNjYw ZGQxOCAxMDA2NDQNCistLS0gYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9i aW5kaW5ncy9kb21fZGF0YV9zdG9yZS5oDQorKysrIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVy ZXIvcGxhdGZvcm0vYmluZGluZ3MvZG9tX2RhdGFfc3RvcmUuaA0KK0BAIC0yMzAsMTIgKzIzMCwx MSBAQA0KKyAgICAgICAgIDogVHJhY2VXcmFwcGVyVjhSZWZlcmVuY2UoaXNvbGF0ZSwgaGFuZGxl KSB7fQ0KKyANCisgICAgIC8vIE1vdmUgc3VwcG9ydCB3aXRob3V0IHdyaXRlIGJhcnJpZXIuDQor LSAgICBET01Xb3JsZFdyYXBwZXJSZWZlcmVuY2UoRE9NV29ybGRXcmFwcGVyUmVmZXJlbmNlJiYg b3RoZXIpIG5vZXhjZXB0DQorKyAgICBET01Xb3JsZFdyYXBwZXJSZWZlcmVuY2UoRE9NV29ybGRX cmFwcGVyUmVmZXJlbmNlJiYgb3RoZXIpDQorICAgICAgICAgOiBUcmFjZVdyYXBwZXJWOFJlZmVy ZW5jZSgpIHsNCisgICAgICAgaGFuZGxlXyA9IHN0ZDo6bW92ZShvdGhlci5oYW5kbGVfKTsNCisg ICAgIH0NCistICAgIERPTVdvcmxkV3JhcHBlclJlZmVyZW5jZSYgb3BlcmF0b3I9KA0KKy0gICAg ICAgIERPTVdvcmxkV3JhcHBlclJlZmVyZW5jZSYmIHJocykgbm9leGNlcHQgew0KKysgICAgRE9N V29ybGRXcmFwcGVyUmVmZXJlbmNlJiBvcGVyYXRvcj0oRE9NV29ybGRXcmFwcGVyUmVmZXJlbmNl JiYgcmhzKSB7DQorICAgICAgIGhhbmRsZV8gPSBzdGQ6Om1vdmUocmhzLmhhbmRsZV8pOw0KKyAg ICAgICByZXR1cm4gKnRoaXM7DQorICAgICB9DQorZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2Js aW5rL3JlbmRlcmVyL3BsYXRmb3JtL2V4cG9ydGVkL3dlYl9zdHJpbmcuY2MgYi90aGlyZF9wYXJ0 eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9leHBvcnRlZC93ZWJfc3RyaW5nLmNjDQoraW5kZXgg NzFkNGMwNy4uZmJlNDgyOCAxMDA2NDQNCistLS0gYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJl ci9wbGF0Zm9ybS9leHBvcnRlZC93ZWJfc3RyaW5nLmNjDQorKysrIGIvdGhpcmRfcGFydHkvYmxp bmsvcmVuZGVyZXIvcGxhdGZvcm0vZXhwb3J0ZWQvd2ViX3N0cmluZy5jYw0KK0BAIC01MSw5ICs1 MSw5IEBADQorIFdlYlN0cmluZzo6fldlYlN0cmluZygpID0gZGVmYXVsdDsNCisgV2ViU3RyaW5n OjpXZWJTdHJpbmcoKSA9IGRlZmF1bHQ7DQorIFdlYlN0cmluZzo6V2ViU3RyaW5nKGNvbnN0IFdl YlN0cmluZyYpID0gZGVmYXVsdDsNCistV2ViU3RyaW5nOjpXZWJTdHJpbmcoV2ViU3RyaW5nJiYp IG5vZXhjZXB0ID0gZGVmYXVsdDsNCisrV2ViU3RyaW5nOjpXZWJTdHJpbmcoV2ViU3RyaW5nJiYp ID0gZGVmYXVsdDsNCisgV2ViU3RyaW5nJiBXZWJTdHJpbmc6Om9wZXJhdG9yPShjb25zdCBXZWJT dHJpbmcmKSA9IGRlZmF1bHQ7DQorLVdlYlN0cmluZyYgV2ViU3RyaW5nOjpvcGVyYXRvcj0oV2Vi U3RyaW5nJiYpIG5vZXhjZXB0ID0gZGVmYXVsdDsNCisrV2ViU3RyaW5nJiBXZWJTdHJpbmc6Om9w ZXJhdG9yPShXZWJTdHJpbmcmJikgPSBkZWZhdWx0Ow0KKyANCisgV2ViU3RyaW5nOjpXZWJTdHJp bmcoY29uc3QgV2ViVUNoYXIqIGRhdGEsIHNpemVfdCBsZW4pDQorICAgICA6IGltcGxfKFN0cmlu Z0ltcGw6OkNyZWF0ZThCaXRJZlBvc3NpYmxlKGRhdGEsIGxlbikpIHt9DQorZGlmZiAtLWdpdCBh L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2dyYXBoaWNzL2NvbnRpZ3VvdXNf Y29udGFpbmVyLmNjIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vZ3JhcGhp Y3MvY29udGlndW91c19jb250YWluZXIuY2MNCitpbmRleCBmZDAxYzAwLi4xOWNiNmYyIDEwMDY0 NA0KKy0tLSBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2dyYXBoaWNzL2Nv bnRpZ3VvdXNfY29udGFpbmVyLmNjDQorKysrIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIv cGxhdGZvcm0vZ3JhcGhpY3MvY29udGlndW91c19jb250YWluZXIuY2MNCitAQCAtNjksNyArNjks NyBAQA0KKyAgICAgOiBlbmRfaW5kZXhfKDApLCBtYXhfb2JqZWN0X3NpemVfKG1heF9vYmplY3Rf c2l6ZSkge30NCisgDQorIENvbnRpZ3VvdXNDb250YWluZXJCYXNlOjpDb250aWd1b3VzQ29udGFp bmVyQmFzZSgNCistICAgIENvbnRpZ3VvdXNDb250YWluZXJCYXNlJiYgc291cmNlKSBub2V4Y2Vw dA0KKysgICAgQ29udGlndW91c0NvbnRhaW5lckJhc2UmJiBzb3VyY2UpDQorICAgICA6IENvbnRp Z3VvdXNDb250YWluZXJCYXNlKHNvdXJjZS5tYXhfb2JqZWN0X3NpemVfKSB7DQorICAgU3dhcChz b3VyY2UpOw0KKyB9DQorQEAgLTc3LDcgKzc3LDcgQEANCisgQ29udGlndW91c0NvbnRhaW5lckJh c2U6On5Db250aWd1b3VzQ29udGFpbmVyQmFzZSgpID0gZGVmYXVsdDsNCisgDQorIENvbnRpZ3Vv dXNDb250YWluZXJCYXNlJiBDb250aWd1b3VzQ29udGFpbmVyQmFzZTo6b3BlcmF0b3I9KA0KKy0g ICAgQ29udGlndW91c0NvbnRhaW5lckJhc2UmJiBzb3VyY2UpIG5vZXhjZXB0IHsNCisrICAgIENv bnRpZ3VvdXNDb250YWluZXJCYXNlJiYgc291cmNlKSB7DQorICAgU3dhcChzb3VyY2UpOw0KKyAg IHJldHVybiAqdGhpczsNCisgfQ0KK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9ibGluay9yZW5k ZXJlci9wbGF0Zm9ybS9ncmFwaGljcy9jb250aWd1b3VzX2NvbnRhaW5lci5oIGIvdGhpcmRfcGFy dHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vZ3JhcGhpY3MvY29udGlndW91c19jb250YWluZXIu aA0KK2luZGV4IDg2N2U1OWMuLjNlZWU1NTggMTAwNjQ0DQorLS0tIGEvdGhpcmRfcGFydHkvYmxp bmsvcmVuZGVyZXIvcGxhdGZvcm0vZ3JhcGhpY3MvY29udGlndW91c19jb250YWluZXIuaA0KKysr KyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2dyYXBoaWNzL2NvbnRpZ3Vv dXNfY29udGFpbmVyLmgNCitAQCAtNDIsMTAgKzQyLDEwIEBADQorIA0KKyAgcHJvdGVjdGVkOg0K KyAgIGV4cGxpY2l0IENvbnRpZ3VvdXNDb250YWluZXJCYXNlKHNpemVfdCBtYXhfb2JqZWN0X3Np emUpOw0KKy0gIENvbnRpZ3VvdXNDb250YWluZXJCYXNlKENvbnRpZ3VvdXNDb250YWluZXJCYXNl JiYpIG5vZXhjZXB0Ow0KKysgIENvbnRpZ3VvdXNDb250YWluZXJCYXNlKENvbnRpZ3VvdXNDb250 YWluZXJCYXNlJiYpOw0KKyAgIH5Db250aWd1b3VzQ29udGFpbmVyQmFzZSgpOw0KKyANCistICBD b250aWd1b3VzQ29udGFpbmVyQmFzZSYgb3BlcmF0b3I9KENvbnRpZ3VvdXNDb250YWluZXJCYXNl JiYpIG5vZXhjZXB0Ow0KKysgIENvbnRpZ3VvdXNDb250YWluZXJCYXNlJiBvcGVyYXRvcj0oQ29u dGlndW91c0NvbnRhaW5lckJhc2UmJik7DQorIA0KKyAgIHNpemVfdCBzaXplKCkgY29uc3QgeyBy ZXR1cm4gZWxlbWVudHNfLnNpemUoKTsgfQ0KKyAgIGJvb2wgSXNFbXB0eSgpIGNvbnN0IHsgcmV0 dXJuICFzaXplKCk7IH0NCitAQCAtMTQ3LDcgKzE0Nyw3IEBADQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFdURl9IRUFQX1BST0ZJTEVSX1RZUEVfTkFNRShCYXNlRWxlbWVudFR5cGUpKTsN CisgICB9DQorIA0KKy0gIENvbnRpZ3VvdXNDb250YWluZXIoQ29udGlndW91c0NvbnRhaW5lciYm IHNvdXJjZSkgbm9leGNlcHQNCisrICBDb250aWd1b3VzQ29udGFpbmVyKENvbnRpZ3VvdXNDb250 YWluZXImJiBzb3VyY2UpDQorICAgICAgIDogQ29udGlndW91c0NvbnRhaW5lckJhc2Uoc3RkOjpt b3ZlKHNvdXJjZSkpIHt9DQorIA0KKyAgIH5Db250aWd1b3VzQ29udGFpbmVyKCkgew0KK0BAIC0x NTcsNyArMTU3LDcgQEANCisgICAgIH0NCisgICB9DQorIA0KKy0gIENvbnRpZ3VvdXNDb250YWlu ZXImIG9wZXJhdG9yPShDb250aWd1b3VzQ29udGFpbmVyJiYgc291cmNlKSBub2V4Y2VwdCB7DQor KyAgQ29udGlndW91c0NvbnRhaW5lciYgb3BlcmF0b3I9KENvbnRpZ3VvdXNDb250YWluZXImJiBz b3VyY2UpIHsNCisgICAgIC8vIE11c3QgY2xlYXIgaW4gdGhlIGRlcml2ZWQgY2xhc3MgdG8gZW5z dXJlIHRoYXQgZWxlbWVudCBkZXN0cnVjdG9ycw0KKyAgICAgLy8gY2FyZSBjYWxsZWQuDQorICAg ICBDbGVhcigpOw0KK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0 Zm9ybS9ncmFwaGljcy9ncHUvaW1hZ2VfbGF5ZXJfYnJpZGdlLmNjIGIvdGhpcmRfcGFydHkvYmxp bmsvcmVuZGVyZXIvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L2ltYWdlX2xheWVyX2JyaWRnZS5jYw0K K2luZGV4IGFkMTBjNTQuLjRlZGJmN2YgMTAwNjQ0DQorLS0tIGEvdGhpcmRfcGFydHkvYmxpbmsv cmVuZGVyZXIvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L2ltYWdlX2xheWVyX2JyaWRnZS5jYw0KKysr KyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9pbWFn ZV9sYXllcl9icmlkZ2UuY2MNCitAQCAtMjQ3LDkgKzI0Nyw5IEBADQorIH0NCisgDQorIEltYWdl TGF5ZXJCcmlkZ2U6OlJlZ2lzdGVyZWRCaXRtYXA6OlJlZ2lzdGVyZWRCaXRtYXAoKSA9IGRlZmF1 bHQ7DQorLUltYWdlTGF5ZXJCcmlkZ2U6OlJlZ2lzdGVyZWRCaXRtYXA6OlJlZ2lzdGVyZWRCaXRt YXAoDQorLSAgICBSZWdpc3RlcmVkQml0bWFwJiYgb3RoZXIpIG5vZXhjZXB0ID0gZGVmYXVsdDsN CisrSW1hZ2VMYXllckJyaWRnZTo6UmVnaXN0ZXJlZEJpdG1hcDo6UmVnaXN0ZXJlZEJpdG1hcChS ZWdpc3RlcmVkQml0bWFwJiYgb3RoZXIpID0NCisrICAgIGRlZmF1bHQ7DQorIEltYWdlTGF5ZXJC cmlkZ2U6OlJlZ2lzdGVyZWRCaXRtYXAmIEltYWdlTGF5ZXJCcmlkZ2U6OlJlZ2lzdGVyZWRCaXRt YXA6Og0KKy1vcGVyYXRvcj0oUmVnaXN0ZXJlZEJpdG1hcCYmIG90aGVyKSBub2V4Y2VwdCA9IGRl ZmF1bHQ7DQorK29wZXJhdG9yPShSZWdpc3RlcmVkQml0bWFwJiYgb3RoZXIpID0gZGVmYXVsdDsN CisgDQorIH0gIC8vIG5hbWVzcGFjZSBibGluaw0KK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9i bGluay9yZW5kZXJlci9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvaW1hZ2VfbGF5ZXJfYnJpZGdlLmgg Yi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvaW1hZ2Vf bGF5ZXJfYnJpZGdlLmgNCitpbmRleCBiZWE4MWRmYi4uYjY4NzlmOSAxMDA2NDQNCistLS0gYS90 aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvaW1hZ2VfbGF5 ZXJfYnJpZGdlLmgNCisrKysgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9n cmFwaGljcy9ncHUvaW1hZ2VfbGF5ZXJfYnJpZGdlLmgNCitAQCAtNjUsOCArNjUsOCBAQA0KKyAg IC8vIG9ubHkgd2l0aCBzb2Z0d2FyZSBjb21wb3NpdGluZy4NCisgICBzdHJ1Y3QgUmVnaXN0ZXJl ZEJpdG1hcCB7DQorICAgICBSZWdpc3RlcmVkQml0bWFwKCk7DQorLSAgICBSZWdpc3RlcmVkQml0 bWFwKFJlZ2lzdGVyZWRCaXRtYXAmJiBvdGhlcikgbm9leGNlcHQ7DQorLSAgICBSZWdpc3RlcmVk Qml0bWFwJiBvcGVyYXRvcj0oUmVnaXN0ZXJlZEJpdG1hcCYmIG90aGVyKSBub2V4Y2VwdDsNCisr ICAgIFJlZ2lzdGVyZWRCaXRtYXAoUmVnaXN0ZXJlZEJpdG1hcCYmIG90aGVyKTsNCisrICAgIFJl Z2lzdGVyZWRCaXRtYXAmIG9wZXJhdG9yPShSZWdpc3RlcmVkQml0bWFwJiYgb3RoZXIpOw0KKyAN CisgICAgIHNjb3BlZF9yZWZwdHI8Y2M6OkNyb3NzVGhyZWFkU2hhcmVkQml0bWFwPiBiaXRtYXA7 DQorICAgICBjYzo6U2hhcmVkQml0bWFwSWRSZWdpc3RyYXRpb24gcmVnaXN0cmF0aW9uOw0KK2Rp ZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9ncmFwaGljcy9w YWludC9kaXNwbGF5X2l0ZW1fbGlzdC5oIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxh dGZvcm0vZ3JhcGhpY3MvcGFpbnQvZGlzcGxheV9pdGVtX2xpc3QuaA0KK2luZGV4IGNkM2VkMmYu LjllZTI1NzEgMTAwNjQ0DQorLS0tIGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZv cm0vZ3JhcGhpY3MvcGFpbnQvZGlzcGxheV9pdGVtX2xpc3QuaA0KKysrKyBiL3RoaXJkX3BhcnR5 L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2dyYXBoaWNzL3BhaW50L2Rpc3BsYXlfaXRlbV9saXN0 LmgNCitAQCAtMjgsMTAgKzI4LDEwIEBADQorICBwdWJsaWM6DQorICAgRGlzcGxheUl0ZW1MaXN0 KHNpemVfdCBpbml0aWFsX3NpemVfYnl0ZXMpDQorICAgICAgIDogQ29udGlndW91c0NvbnRhaW5l cihrTWF4aW11bURpc3BsYXlJdGVtU2l6ZSwgaW5pdGlhbF9zaXplX2J5dGVzKSB7fQ0KKy0gIERp c3BsYXlJdGVtTGlzdChEaXNwbGF5SXRlbUxpc3QmJiBzb3VyY2UpIG5vZXhjZXB0DQorKyAgRGlz cGxheUl0ZW1MaXN0KERpc3BsYXlJdGVtTGlzdCYmIHNvdXJjZSkNCisgICAgICAgOiBDb250aWd1 b3VzQ29udGFpbmVyKHN0ZDo6bW92ZShzb3VyY2UpKSB7fQ0KKyANCistICBEaXNwbGF5SXRlbUxp c3QmIG9wZXJhdG9yPShEaXNwbGF5SXRlbUxpc3QmJiBzb3VyY2UpIG5vZXhjZXB0IHsNCisrICBE aXNwbGF5SXRlbUxpc3QmIG9wZXJhdG9yPShEaXNwbGF5SXRlbUxpc3QmJiBzb3VyY2UpIHsNCisg ICAgIENvbnRpZ3VvdXNDb250YWluZXI6Om9wZXJhdG9yPShzdGQ6Om1vdmUoc291cmNlKSk7DQor ICAgICByZXR1cm4gKnRoaXM7DQorICAgfQ0KK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9ibGlu ay9yZW5kZXJlci9wbGF0Zm9ybS9oZWFwL2hlYXBfdGVzdC5jYyBiL3RoaXJkX3BhcnR5L2JsaW5r L3JlbmRlcmVyL3BsYXRmb3JtL2hlYXAvaGVhcF90ZXN0LmNjDQoraW5kZXggZGFkMGNhMC4uZTk0 Y2JjOTUgMTAwNjQ0DQorLS0tIGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0v aGVhcC9oZWFwX3Rlc3QuY2MNCisrKysgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0 Zm9ybS9oZWFwL2hlYXBfdGVzdC5jYw0KK0BAIC0xNDUsNyArMTQ1LDcgQEANCisgICB9DQorICAg S2V5V2l0aENvcHlpbmdNb3ZlQ29uc3RydWN0b3IoY29uc3QgS2V5V2l0aENvcHlpbmdNb3ZlQ29u c3RydWN0b3ImKSA9IGRlZmF1bHQ7DQorICAgLy8gVGhlIG1vdmUgY29uc3RydWN0b3IgZGVsZWdh dGVzIHRvIHRoZSBjb3B5IGNvbnN0cnVjdG9yIGludGVudGlvbmFsbHkuDQorLSAgS2V5V2l0aENv cHlpbmdNb3ZlQ29uc3RydWN0b3IoS2V5V2l0aENvcHlpbmdNb3ZlQ29uc3RydWN0b3ImJiB4KSBu b2V4Y2VwdA0KKysgIEtleVdpdGhDb3B5aW5nTW92ZUNvbnN0cnVjdG9yKEtleVdpdGhDb3B5aW5n TW92ZUNvbnN0cnVjdG9yJiYgeCkNCisgICAgICAgOiBLZXlXaXRoQ29weWluZ01vdmVDb25zdHJ1 Y3Rvcih4KSB7fQ0KKyAgIEtleVdpdGhDb3B5aW5nTW92ZUNvbnN0cnVjdG9yJiBvcGVyYXRvcj0o DQorICAgICAgIGNvbnN0IEtleVdpdGhDb3B5aW5nTW92ZUNvbnN0cnVjdG9yJikgPSBkZWZhdWx0 Ow0KK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9pbWFn ZS1kZWNvZGVycy9zZWdtZW50X3N0cmVhbS5jYyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVy L3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL3NlZ21lbnRfc3RyZWFtLmNjDQoraW5kZXggNDAyNGY5 Yy4uNWE5ODcwMSAxMDA2NDQNCistLS0gYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0 Zm9ybS9pbWFnZS1kZWNvZGVycy9zZWdtZW50X3N0cmVhbS5jYw0KKysrKyBiL3RoaXJkX3BhcnR5 L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL3NlZ21lbnRfc3RyZWFtLmNj DQorQEAgLTEwLDEwICsxMCwxMCBAQA0KKyANCisgU2VnbWVudFN0cmVhbTo6U2VnbWVudFN0cmVh bSgpID0gZGVmYXVsdDsNCisgDQorLVNlZ21lbnRTdHJlYW06OlNlZ21lbnRTdHJlYW0oU2VnbWVu dFN0cmVhbSYmIHJocykgbm9leGNlcHQNCisrU2VnbWVudFN0cmVhbTo6U2VnbWVudFN0cmVhbShT ZWdtZW50U3RyZWFtJiYgcmhzKQ0KKyAgICAgOiByZWFkZXJfKHN0ZDo6bW92ZShyaHMucmVhZGVy XykpLCBwb3NpdGlvbl8ocmhzLnBvc2l0aW9uXykge30NCisgDQorLVNlZ21lbnRTdHJlYW0mIFNl Z21lbnRTdHJlYW06Om9wZXJhdG9yPShTZWdtZW50U3RyZWFtJiYgcmhzKSBub2V4Y2VwdCB7DQor K1NlZ21lbnRTdHJlYW0mIFNlZ21lbnRTdHJlYW06Om9wZXJhdG9yPShTZWdtZW50U3RyZWFtJiYg cmhzKSB7DQorICAgcmVhZGVyXyA9IHN0ZDo6bW92ZShyaHMucmVhZGVyXyk7DQorICAgcG9zaXRp b25fID0gcmhzLnBvc2l0aW9uXzsNCisgDQorZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5r L3JlbmRlcmVyL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL3NlZ21lbnRfc3RyZWFtLmggYi90aGly ZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9zZWdtZW50X3N0 cmVhbS5oDQoraW5kZXggZjQ5ZjU1MS4uZmExY2NmMiAxMDA2NDQNCistLS0gYS90aGlyZF9wYXJ0 eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9zZWdtZW50X3N0cmVhbS5o DQorKysrIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vaW1hZ2UtZGVjb2Rl cnMvc2VnbWVudF9zdHJlYW0uaA0KK0BAIC0xOSw4ICsxOSw4IEBADQorICAgU2VnbWVudFN0cmVh bSgpOw0KKyAgIFNlZ21lbnRTdHJlYW0oY29uc3QgU2VnbWVudFN0cmVhbSYpID0gZGVsZXRlOw0K KyAgIFNlZ21lbnRTdHJlYW0mIG9wZXJhdG9yPShjb25zdCBTZWdtZW50U3RyZWFtJikgPSBkZWxl dGU7DQorLSAgU2VnbWVudFN0cmVhbShTZWdtZW50U3RyZWFtJiYpIG5vZXhjZXB0Ow0KKy0gIFNl Z21lbnRTdHJlYW0mIG9wZXJhdG9yPShTZWdtZW50U3RyZWFtJiYpIG5vZXhjZXB0Ow0KKysgIFNl Z21lbnRTdHJlYW0oU2VnbWVudFN0cmVhbSYmKTsNCisrICBTZWdtZW50U3RyZWFtJiBvcGVyYXRv cj0oU2VnbWVudFN0cmVhbSYmKTsNCisgDQorICAgflNlZ21lbnRTdHJlYW0oKSBvdmVycmlkZTsN CisgDQorZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL21v am8vcmV2b2NhYmxlX2ludGVyZmFjZV9wdHIuaCBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVy L3BsYXRmb3JtL21vam8vcmV2b2NhYmxlX2ludGVyZmFjZV9wdHIuaA0KK2luZGV4IDU1NWJlMjgu LjM0YmFkM2YgMTAwNjQ0DQorLS0tIGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZv cm0vbW9qby9yZXZvY2FibGVfaW50ZXJmYWNlX3B0ci5oDQorKysrIGIvdGhpcmRfcGFydHkvYmxp bmsvcmVuZGVyZXIvcGxhdGZvcm0vbW9qby9yZXZvY2FibGVfaW50ZXJmYWNlX3B0ci5oDQorQEAg LTQxLDcgKzQxLDcgQEANCisgICBSZXZvY2FibGVJbnRlcmZhY2VQdHIoc3RkOjpudWxscHRyX3Qp IHt9DQorIA0KKyAgIC8vIFRha2VzIG92ZXIgdGhlIGJpbmRpbmcgb2YgYW5vdGhlciBSZXZvY2Fi bGVJbnRlcmZhY2VQdHIuDQorLSAgUmV2b2NhYmxlSW50ZXJmYWNlUHRyKFJldm9jYWJsZUludGVy ZmFjZVB0ciYmIG90aGVyKSBub2V4Y2VwdCB7DQorKyAgUmV2b2NhYmxlSW50ZXJmYWNlUHRyKFJl dm9jYWJsZUludGVyZmFjZVB0ciYmIG90aGVyKSB7DQorICAgICBpbnRlcmZhY2VfcHRyXyA9IHN0 ZDo6bW92ZShvdGhlci5pbnRlcmZhY2VfcHRyXyk7DQorICAgICBTZXRJbnZhbGlkYXRvcihvdGhl ci5pbnZhbGlkYXRvcl8uZ2V0KCkpOw0KKyAgICAgLy8gUmVzZXQgdGhlIG90aGVyIGludGVyZmFj ZSBwdHIgdG8gcmVtb3ZlIGl0IGFzIGFuIG9ic2VydmVyIG9mIHRoZQ0KK0BAIC01OCw3ICs1OCw3 IEBADQorIA0KKyAgIC8vIFRha2VzIG92ZXIgdGhlIGJpbmRpbmcgb2YgYW5vdGhlciBSZXZvY2Fi bGVJbnRlcmZhY2VQdHIsIGFuZCBjbG9zZXMgYW55DQorICAgLy8gbWVzc2FnZSBwaXBlIGFscmVh ZHkgYm91bmQgdG8gdGhpcyBwb2ludGVyLg0KKy0gIFJldm9jYWJsZUludGVyZmFjZVB0ciYgb3Bl cmF0b3I9KFJldm9jYWJsZUludGVyZmFjZVB0ciYmIG90aGVyKSBub2V4Y2VwdCB7DQorKyAgUmV2 b2NhYmxlSW50ZXJmYWNlUHRyJiBvcGVyYXRvcj0oUmV2b2NhYmxlSW50ZXJmYWNlUHRyJiYgb3Ro ZXIpIHsNCisgICAgIHJlc2V0KCk7DQorICAgICBpbnRlcmZhY2VfcHRyXyA9IHN0ZDo6bW92ZShv dGhlci5pbnRlcmZhY2VfcHRyXyk7DQorICAgICBTZXRJbnZhbGlkYXRvcihvdGhlci5pbnZhbGlk YXRvcl8uZ2V0KCkpOw0KK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9w bGF0Zm9ybS9uZXR3b3JrL2VuY29kZWRfZm9ybV9kYXRhLmNjIGIvdGhpcmRfcGFydHkvYmxpbmsv cmVuZGVyZXIvcGxhdGZvcm0vbmV0d29yay9lbmNvZGVkX2Zvcm1fZGF0YS5jYw0KK2luZGV4IGJj NGVjMTQuLjFiNjYwZTYgMTAwNjQ0DQorLS0tIGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIv cGxhdGZvcm0vbmV0d29yay9lbmNvZGVkX2Zvcm1fZGF0YS5jYw0KKysrKyBiL3RoaXJkX3BhcnR5 L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL25ldHdvcmsvZW5jb2RlZF9mb3JtX2RhdGEuY2MNCitA QCAtNjEsMTEgKzYxLDEwIEBADQorICAgICA6IHR5cGVfKGtEYXRhUGlwZSksIGRhdGFfcGlwZV9n ZXR0ZXJfKHN0ZDo6bW92ZShkYXRhX3BpcGVfZ2V0dGVyKSkge30NCisgDQorIEZvcm1EYXRhRWxl bWVudDo6Rm9ybURhdGFFbGVtZW50KGNvbnN0IEZvcm1EYXRhRWxlbWVudCYpID0gZGVmYXVsdDsN CistRm9ybURhdGFFbGVtZW50OjpGb3JtRGF0YUVsZW1lbnQoRm9ybURhdGFFbGVtZW50JiYpIG5v ZXhjZXB0ID0gZGVmYXVsdDsNCisrRm9ybURhdGFFbGVtZW50OjpGb3JtRGF0YUVsZW1lbnQoRm9y bURhdGFFbGVtZW50JiYpID0gZGVmYXVsdDsNCisgRm9ybURhdGFFbGVtZW50Ojp+Rm9ybURhdGFF bGVtZW50KCkgPSBkZWZhdWx0Ow0KKyBGb3JtRGF0YUVsZW1lbnQmIEZvcm1EYXRhRWxlbWVudDo6 b3BlcmF0b3I9KGNvbnN0IEZvcm1EYXRhRWxlbWVudCYpID0gZGVmYXVsdDsNCistRm9ybURhdGFF bGVtZW50JiBGb3JtRGF0YUVsZW1lbnQ6Om9wZXJhdG9yPShGb3JtRGF0YUVsZW1lbnQmJikgbm9l eGNlcHQgPQ0KKy0gICAgZGVmYXVsdDsNCisrRm9ybURhdGFFbGVtZW50JiBGb3JtRGF0YUVsZW1l bnQ6Om9wZXJhdG9yPShGb3JtRGF0YUVsZW1lbnQmJikgPSBkZWZhdWx0Ow0KKyANCisgYm9vbCBv cGVyYXRvcj09KGNvbnN0IEZvcm1EYXRhRWxlbWVudCYgYSwgY29uc3QgRm9ybURhdGFFbGVtZW50 JiBiKSB7DQorICAgaWYgKCZhID09ICZiKQ0KK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9ibGlu ay9yZW5kZXJlci9wbGF0Zm9ybS9uZXR3b3JrL2VuY29kZWRfZm9ybV9kYXRhLmggYi90aGlyZF9w YXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9uZXR3b3JrL2VuY29kZWRfZm9ybV9kYXRhLmgN CitpbmRleCA0OGY4NGM4Li44NjVmNjY0IDEwMDY0NA0KKy0tLSBhL3RoaXJkX3BhcnR5L2JsaW5r L3JlbmRlcmVyL3BsYXRmb3JtL25ldHdvcmsvZW5jb2RlZF9mb3JtX2RhdGEuaA0KKysrKyBiL3Ro aXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL25ldHdvcmsvZW5jb2RlZF9mb3JtX2Rh dGEuaA0KK0BAIC02MSwxMiArNjEsMTIgQEANCisgICBleHBsaWNpdCBGb3JtRGF0YUVsZW1lbnQo c2NvcGVkX3JlZnB0cjxXcmFwcGVkRGF0YVBpcGVHZXR0ZXI+KTsNCisgDQorICAgRm9ybURhdGFF bGVtZW50KGNvbnN0IEZvcm1EYXRhRWxlbWVudCYpOw0KKy0gIEZvcm1EYXRhRWxlbWVudChGb3Jt RGF0YUVsZW1lbnQmJikgbm9leGNlcHQ7DQorKyAgRm9ybURhdGFFbGVtZW50KEZvcm1EYXRhRWxl bWVudCYmKTsNCisgDQorICAgfkZvcm1EYXRhRWxlbWVudCgpOw0KKyANCisgICBGb3JtRGF0YUVs ZW1lbnQmIG9wZXJhdG9yPShjb25zdCBGb3JtRGF0YUVsZW1lbnQmKTsNCistICBGb3JtRGF0YUVs ZW1lbnQmIG9wZXJhdG9yPShGb3JtRGF0YUVsZW1lbnQmJikgbm9leGNlcHQ7DQorKyAgRm9ybURh dGFFbGVtZW50JiBvcGVyYXRvcj0oRm9ybURhdGFFbGVtZW50JiYpOw0KKyANCisgICBib29sIElz U2FmZVRvU2VuZFRvQW5vdGhlclRocmVhZCgpIGNvbnN0Ow0KKyANCitkaWZmIC0tZ2l0IGEvdGhp cmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vc2NoZWR1bGVyL2NvbW1vbi9mcmFtZV9v cl93b3JrZXJfc2NoZWR1bGVyLmNjIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZv cm0vc2NoZWR1bGVyL2NvbW1vbi9mcmFtZV9vcl93b3JrZXJfc2NoZWR1bGVyLmNjDQoraW5kZXgg ZWJlOTlmZi4uZTk3MTg1NiAxMDA2NDQNCistLS0gYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJl ci9wbGF0Zm9ybS9zY2hlZHVsZXIvY29tbW9uL2ZyYW1lX29yX3dvcmtlcl9zY2hlZHVsZXIuY2MN CisrKysgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9zY2hlZHVsZXIvY29t bW9uL2ZyYW1lX29yX3dvcmtlcl9zY2hlZHVsZXIuY2MNCitAQCAtMjgsMTUgKzI4LDE0IEBADQor IH0NCisgDQorIEZyYW1lT3JXb3JrZXJTY2hlZHVsZXI6OlNjaGVkdWxpbmdBZmZlY3RpbmdGZWF0 dXJlSGFuZGxlOjoNCistICAgIFNjaGVkdWxpbmdBZmZlY3RpbmdGZWF0dXJlSGFuZGxlKA0KKy0g ICAgICAgIFNjaGVkdWxpbmdBZmZlY3RpbmdGZWF0dXJlSGFuZGxlJiYgb3RoZXIpIG5vZXhjZXB0 DQorKyAgICBTY2hlZHVsaW5nQWZmZWN0aW5nRmVhdHVyZUhhbmRsZShTY2hlZHVsaW5nQWZmZWN0 aW5nRmVhdHVyZUhhbmRsZSYmIG90aGVyKQ0KKyAgICAgOiBmZWF0dXJlXyhvdGhlci5mZWF0dXJl XyksIHNjaGVkdWxlcl8oc3RkOjptb3ZlKG90aGVyLnNjaGVkdWxlcl8pKSB7DQorICAgb3RoZXIu c2NoZWR1bGVyXyA9IG51bGxwdHI7DQorIH0NCisgDQorIEZyYW1lT3JXb3JrZXJTY2hlZHVsZXI6 OlNjaGVkdWxpbmdBZmZlY3RpbmdGZWF0dXJlSGFuZGxlJg0KKyBGcmFtZU9yV29ya2VyU2NoZWR1 bGVyOjpTY2hlZHVsaW5nQWZmZWN0aW5nRmVhdHVyZUhhbmRsZTo6b3BlcmF0b3I9KA0KKy0gICAg U2NoZWR1bGluZ0FmZmVjdGluZ0ZlYXR1cmVIYW5kbGUmJiBvdGhlcikgbm9leGNlcHQgew0KKysg ICAgU2NoZWR1bGluZ0FmZmVjdGluZ0ZlYXR1cmVIYW5kbGUmJiBvdGhlcikgew0KKyAgIGZlYXR1 cmVfID0gb3RoZXIuZmVhdHVyZV87DQorICAgcG9saWN5XyA9IHN0ZDo6bW92ZShvdGhlci5wb2xp Y3lfKTsNCisgICBzY2hlZHVsZXJfID0gc3RkOjptb3ZlKG90aGVyLnNjaGVkdWxlcl8pOw0KK2Rp ZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9zY2hlZHVsZXIv Y29tbW9uL3Bvc3RfY2FuY2VsbGFibGVfdGFzay5jYyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRl cmVyL3BsYXRmb3JtL3NjaGVkdWxlci9jb21tb24vcG9zdF9jYW5jZWxsYWJsZV90YXNrLmNjDQor aW5kZXggMmM4NGQ3MC4uZmFkNTZlZTEgMTAwNjQ0DQorLS0tIGEvdGhpcmRfcGFydHkvYmxpbmsv cmVuZGVyZXIvcGxhdGZvcm0vc2NoZWR1bGVyL2NvbW1vbi9wb3N0X2NhbmNlbGxhYmxlX3Rhc2su Y2MNCisrKysgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9zY2hlZHVsZXIv Y29tbW9uL3Bvc3RfY2FuY2VsbGFibGVfdGFzay5jYw0KK0BAIC0xMDMsOSArMTAzLDkgQEANCisg ICBDYW5jZWwoKTsNCisgfQ0KKyANCistVGFza0hhbmRsZTo6VGFza0hhbmRsZShUYXNrSGFuZGxl JiYpIG5vZXhjZXB0ID0gZGVmYXVsdDsNCisrVGFza0hhbmRsZTo6VGFza0hhbmRsZShUYXNrSGFu ZGxlJiYpID0gZGVmYXVsdDsNCisgDQorLVRhc2tIYW5kbGUmIFRhc2tIYW5kbGU6Om9wZXJhdG9y PShUYXNrSGFuZGxlJiYgb3RoZXIpIG5vZXhjZXB0IHsNCisrVGFza0hhbmRsZSYgVGFza0hhbmRs ZTo6b3BlcmF0b3I9KFRhc2tIYW5kbGUmJiBvdGhlcikgew0KKyAgIFRhc2tIYW5kbGUgdG1wKHN0 ZDo6bW92ZShvdGhlcikpOw0KKyAgIHJ1bm5lcl8uc3dhcCh0bXAucnVubmVyXyk7DQorICAgcmV0 dXJuICp0aGlzOw0KK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0 Zm9ybS9zY2hlZHVsZXIvbWFpbl90aHJlYWQvd2ViX3Njb3BlZF92aXJ0dWFsX3RpbWVfcGF1c2Vy LmNjIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vc2NoZWR1bGVyL21haW5f dGhyZWFkL3dlYl9zY29wZWRfdmlydHVhbF90aW1lX3BhdXNlci5jYw0KK2luZGV4IGY1NTczMGEu LmI2NGVjOWQgMTAwNjQ0DQorLS0tIGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZv cm0vc2NoZWR1bGVyL21haW5fdGhyZWFkL3dlYl9zY29wZWRfdmlydHVhbF90aW1lX3BhdXNlci5j Yw0KKysrKyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL3NjaGVkdWxlci9t YWluX3RocmVhZC93ZWJfc2NvcGVkX3ZpcnR1YWxfdGltZV9wYXVzZXIuY2MNCitAQCAtMjgsNyAr MjgsNyBAQA0KKyB9DQorIA0KKyBXZWJTY29wZWRWaXJ0dWFsVGltZVBhdXNlcjo6V2ViU2NvcGVk VmlydHVhbFRpbWVQYXVzZXIoDQorLSAgICBXZWJTY29wZWRWaXJ0dWFsVGltZVBhdXNlciYmIG90 aGVyKSBub2V4Y2VwdCB7DQorKyAgICBXZWJTY29wZWRWaXJ0dWFsVGltZVBhdXNlciYmIG90aGVy KSB7DQorICAgdmlydHVhbF90aW1lX3doZW5fcGF1c2VkXyA9IG90aGVyLnZpcnR1YWxfdGltZV93 aGVuX3BhdXNlZF87DQorICAgcGF1c2VkXyA9IG90aGVyLnBhdXNlZF87DQorICAgZHVyYXRpb25f ID0gb3RoZXIuZHVyYXRpb25fOw0KK0BAIC0zOSw3ICszOSw3IEBADQorIH0NCisgDQorIFdlYlNj b3BlZFZpcnR1YWxUaW1lUGF1c2VyJiBXZWJTY29wZWRWaXJ0dWFsVGltZVBhdXNlcjo6b3BlcmF0 b3I9KA0KKy0gICAgV2ViU2NvcGVkVmlydHVhbFRpbWVQYXVzZXImJiBvdGhlcikgbm9leGNlcHQg ew0KKysgICAgV2ViU2NvcGVkVmlydHVhbFRpbWVQYXVzZXImJiBvdGhlcikgew0KKyAgIGlmIChz Y2hlZHVsZXJfICYmIHBhdXNlZF8pDQorICAgICBEZWNyZW1lbnRWaXJ0dWFsVGltZVBhdXNlQ291 bnQoKTsNCisgICB2aXJ0dWFsX3RpbWVfd2hlbl9wYXVzZWRfID0gb3RoZXIudmlydHVhbF90aW1l X3doZW5fcGF1c2VkXzsNCitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIv cGxhdGZvcm0vc2NoZWR1bGVyL3B1YmxpYy9mcmFtZV9vcl93b3JrZXJfc2NoZWR1bGVyLmggYi90 aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9zY2hlZHVsZXIvcHVibGljL2ZyYW1l X29yX3dvcmtlcl9zY2hlZHVsZXIuaA0KK2luZGV4IDU2OTE1ZWUuLjNmZGI4Y2YgMTAwNjQ0DQor LS0tIGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vc2NoZWR1bGVyL3B1Ymxp Yy9mcmFtZV9vcl93b3JrZXJfc2NoZWR1bGVyLmgNCisrKysgYi90aGlyZF9wYXJ0eS9ibGluay9y ZW5kZXJlci9wbGF0Zm9ybS9zY2hlZHVsZXIvcHVibGljL2ZyYW1lX29yX3dvcmtlcl9zY2hlZHVs ZXIuaA0KK0BAIC01NywxMiArNTcsMTEgQEANCisgDQorICAgIHB1YmxpYzoNCisgICAgIFNjaGVk dWxpbmdBZmZlY3RpbmdGZWF0dXJlSGFuZGxlKCkgPSBkZWZhdWx0Ow0KKy0gICAgU2NoZWR1bGlu Z0FmZmVjdGluZ0ZlYXR1cmVIYW5kbGUoDQorLSAgICAgICAgU2NoZWR1bGluZ0FmZmVjdGluZ0Zl YXR1cmVIYW5kbGUmJikgbm9leGNlcHQ7DQorKyAgICBTY2hlZHVsaW5nQWZmZWN0aW5nRmVhdHVy ZUhhbmRsZShTY2hlZHVsaW5nQWZmZWN0aW5nRmVhdHVyZUhhbmRsZSYmKTsNCisgICAgIGlubGlu ZSB+U2NoZWR1bGluZ0FmZmVjdGluZ0ZlYXR1cmVIYW5kbGUoKSB7IHJlc2V0KCk7IH0NCisgDQor ICAgICBTY2hlZHVsaW5nQWZmZWN0aW5nRmVhdHVyZUhhbmRsZSYgb3BlcmF0b3I9KA0KKy0gICAg ICAgIFNjaGVkdWxpbmdBZmZlY3RpbmdGZWF0dXJlSGFuZGxlJiYpIG5vZXhjZXB0Ow0KKysgICAg ICAgIFNjaGVkdWxpbmdBZmZlY3RpbmdGZWF0dXJlSGFuZGxlJiYpOw0KKyANCisgICAgIGlubGlu ZSB2b2lkIHJlc2V0KCkgew0KKyAgICAgICBpZiAoc2NoZWR1bGVyXykNCitkaWZmIC0tZ2l0IGEv dGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vc2NoZWR1bGVyL3B1YmxpYy9wb3N0 X2NhbmNlbGxhYmxlX3Rhc2suaCBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3Jt L3NjaGVkdWxlci9wdWJsaWMvcG9zdF9jYW5jZWxsYWJsZV90YXNrLmgNCitpbmRleCAzOGNiZjYz Li5hZTY2YzczIDEwMDY0NA0KKy0tLSBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRm b3JtL3NjaGVkdWxlci9wdWJsaWMvcG9zdF9jYW5jZWxsYWJsZV90YXNrLmgNCisrKysgYi90aGly ZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9zY2hlZHVsZXIvcHVibGljL3Bvc3RfY2Fu Y2VsbGFibGVfdGFzay5oDQorQEAgLTI4LDggKzI4LDggQEANCisgICBUYXNrSGFuZGxlKCk7DQor ICAgflRhc2tIYW5kbGUoKTsNCisgDQorLSAgVGFza0hhbmRsZShUYXNrSGFuZGxlJiYpIG5vZXhj ZXB0Ow0KKy0gIFRhc2tIYW5kbGUmIG9wZXJhdG9yPShUYXNrSGFuZGxlJiYpIG5vZXhjZXB0Ow0K KysgIFRhc2tIYW5kbGUoVGFza0hhbmRsZSYmKTsNCisrICBUYXNrSGFuZGxlJiBvcGVyYXRvcj0o VGFza0hhbmRsZSYmKTsNCisgDQorICAgLy8gUmV0dXJucyB0cnVlIGlmIHRoZSB0YXNrIHdpbGwg cnVuIGxhdGVyLiBSZXR1cm5zIGZhbHNlIGlmIHRoZSB0YXNrIGlzDQorICAgLy8gY2FuY2VsbGVk IG9yIHRoZSB0YXNrIGlzIHJ1biBhbHJlYWR5Lg0KK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9i bGluay9yZW5kZXJlci9wbGF0Zm9ybS93ZWJvcmlnaW4vb3JpZ2luX2FjY2Vzc19lbnRyeS5jYyBi L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL3dlYm9yaWdpbi9vcmlnaW5fYWNj ZXNzX2VudHJ5LmNjDQoraW5kZXggMmU5YTlkMS4uYzlkNzc3ZTcgMTAwNjQ0DQorLS0tIGEvdGhp cmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vd2Vib3JpZ2luL29yaWdpbl9hY2Nlc3Nf ZW50cnkuY2MNCisrKysgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS93ZWJv cmlnaW4vb3JpZ2luX2FjY2Vzc19lbnRyeS5jYw0KK0BAIC01OSw4ICs1OSw3IEBADQorICAgICAg ICAgICAgICAgIG5ldHdvcms6Om1vam9tOjpDb3JzUG9ydE1hdGNoTW9kZTo6a0FsbG93T25seVNw ZWNpZmllZFBvcnQsDQorICAgICAgICAgICAgICAgIHByaW9yaXR5KSB7fQ0KKyANCistT3JpZ2lu QWNjZXNzRW50cnk6Ok9yaWdpbkFjY2Vzc0VudHJ5KE9yaWdpbkFjY2Vzc0VudHJ5JiYgZnJvbSkg bm9leGNlcHQgPQ0KKy0gICAgZGVmYXVsdDsNCisrT3JpZ2luQWNjZXNzRW50cnk6Ok9yaWdpbkFj Y2Vzc0VudHJ5KE9yaWdpbkFjY2Vzc0VudHJ5JiYgZnJvbSkgPSBkZWZhdWx0Ow0KKyANCisgbmV0 d29yazo6Y29yczo6T3JpZ2luQWNjZXNzRW50cnk6Ok1hdGNoUmVzdWx0IE9yaWdpbkFjY2Vzc0Vu dHJ5OjpNYXRjaGVzT3JpZ2luKA0KKyAgICAgY29uc3QgU2VjdXJpdHlPcmlnaW4mIG9yaWdpbikg Y29uc3Qgew0KK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9y bS93ZWJvcmlnaW4vb3JpZ2luX2FjY2Vzc19lbnRyeS5oIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVu ZGVyZXIvcGxhdGZvcm0vd2Vib3JpZ2luL29yaWdpbl9hY2Nlc3NfZW50cnkuaA0KK2luZGV4IGIz ZTU2NzQuLjUxMTNhNDAgMTAwNjQ0DQorLS0tIGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIv cGxhdGZvcm0vd2Vib3JpZ2luL29yaWdpbl9hY2Nlc3NfZW50cnkuaA0KKysrKyBiL3RoaXJkX3Bh cnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL3dlYm9yaWdpbi9vcmlnaW5fYWNjZXNzX2VudHJ5 LmgNCitAQCAtNTgsNyArNTgsNyBAQA0KKyAgICAgICBuZXR3b3JrOjptb2pvbTo6Q29yc0RvbWFp bk1hdGNoTW9kZSwNCisgICAgICAgbmV0d29yazo6bW9qb206OkNvcnNPcmlnaW5BY2Nlc3NNYXRj aFByaW9yaXR5IHByaW9yaXR5ID0NCisgICAgICAgICAgIG5ldHdvcms6Om1vam9tOjpDb3JzT3Jp Z2luQWNjZXNzTWF0Y2hQcmlvcml0eTo6a0RlZmF1bHRQcmlvcml0eSk7DQorLSAgT3JpZ2luQWNj ZXNzRW50cnkoT3JpZ2luQWNjZXNzRW50cnkmJiBmcm9tKSBub2V4Y2VwdDsNCisrICBPcmlnaW5B Y2Nlc3NFbnRyeShPcmlnaW5BY2Nlc3NFbnRyeSYmIGZyb20pOw0KKyANCisgICBuZXR3b3JrOjpj b3JzOjpPcmlnaW5BY2Nlc3NFbnRyeTo6TWF0Y2hSZXN1bHQgTWF0Y2hlc09yaWdpbigNCisgICAg ICAgY29uc3QgU2VjdXJpdHlPcmlnaW4mKSBjb25zdDsNCitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFy dHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vd3RmL2RlcXVlLmggYi90aGlyZF9wYXJ0eS9ibGlu ay9yZW5kZXJlci9wbGF0Zm9ybS93dGYvZGVxdWUuaA0KK2luZGV4IGM2ZmUxYjkuLjRhOThmZmIg MTAwNjQ0DQorLS0tIGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vd3RmL2Rl cXVlLmgNCisrKysgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS93dGYvZGVx dWUuaA0KK0BAIC02NCw4ICs2NCw4IEBAIGNsYXNzIERlcXVlIHsNCisgICBEZXF1ZSgpOw0KKyAg IERlcXVlKGNvbnN0IERlcXVlJik7DQorICAgRGVxdWUmIG9wZXJhdG9yPShjb25zdCBEZXF1ZSYp Ow0KKy0gIERlcXVlKERlcXVlJiYpIG5vZXhjZXB0Ow0KKy0gIERlcXVlJiBvcGVyYXRvcj0oRGVx dWUmJikgbm9leGNlcHQ7DQorKyAgRGVxdWUoRGVxdWUmJik7DQorKyAgRGVxdWUmIG9wZXJhdG9y PShEZXF1ZSYmKTsNCisgICB+RGVxdWUoKTsNCisgDQorICAgdm9pZCBGaW5hbGl6ZUdhcmJhZ2VD b2xsZWN0ZWRPYmplY3QoKSB7IE5PVFJFQUNIRUQoKTsgfQ0KK0BAIC0zNDMsMTQgKzM0MywxNCBA QA0KKyB9DQorIA0KKyB0ZW1wbGF0ZSA8dHlwZW5hbWUgVCwgd3RmX3NpemVfdCBpbmxpbmVDYXBh Y2l0eSwgdHlwZW5hbWUgQWxsb2NhdG9yPg0KKy1pbmxpbmUgRGVxdWU8VCwgaW5saW5lQ2FwYWNp dHksIEFsbG9jYXRvcj46OkRlcXVlKERlcXVlJiYgb3RoZXIpIG5vZXhjZXB0DQorK2lubGluZSBE ZXF1ZTxULCBpbmxpbmVDYXBhY2l0eSwgQWxsb2NhdG9yPjo6RGVxdWUoRGVxdWUmJiBvdGhlcikN CisgICAgIDogc3RhcnRfKDApLCBlbmRfKDApIHsNCisgICBTd2FwKG90aGVyKTsNCisgfQ0KKyAN CisgdGVtcGxhdGUgPHR5cGVuYW1lIFQsIHd0Zl9zaXplX3QgaW5saW5lQ2FwYWNpdHksIHR5cGVu YW1lIEFsbG9jYXRvcj4NCisgaW5saW5lIERlcXVlPFQsIGlubGluZUNhcGFjaXR5LCBBbGxvY2F0 b3I+Jg0KKy1EZXF1ZTxULCBpbmxpbmVDYXBhY2l0eSwgQWxsb2NhdG9yPjo6b3BlcmF0b3I9KERl cXVlJiYgb3RoZXIpIG5vZXhjZXB0IHsNCisrRGVxdWU8VCwgaW5saW5lQ2FwYWNpdHksIEFsbG9j YXRvcj46Om9wZXJhdG9yPShEZXF1ZSYmIG90aGVyKSB7DQorICAgU3dhcChvdGhlcik7DQorICAg cmV0dXJuICp0aGlzOw0KKyB9DQorZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRl cmVyL3BsYXRmb3JtL3d0Zi9mdW5jdGlvbmFsLmggYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJl ci9wbGF0Zm9ybS93dGYvZnVuY3Rpb25hbC5oDQoraW5kZXggMmM1YWVlYS4uNWU0YjM3MyAxMDA2 NDQNCistLS0gYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS93dGYvZnVuY3Rp b25hbC5oDQorKysrIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vd3RmL2Z1 bmN0aW9uYWwuaA0KK0BAIC0xMTcsOCArMTE3LDcgQEANCisgY2xhc3MgUGFzc2VkV3JhcHBlciBm aW5hbCB7DQorICBwdWJsaWM6DQorICAgZXhwbGljaXQgUGFzc2VkV3JhcHBlcihUJiYgc2NvcGVy KSA6IHNjb3Blcl8oc3RkOjptb3ZlKHNjb3BlcikpIHt9DQorLSAgUGFzc2VkV3JhcHBlcihQYXNz ZWRXcmFwcGVyJiYgb3RoZXIpIG5vZXhjZXB0DQorLSAgICAgIDogc2NvcGVyXyhzdGQ6Om1vdmUo b3RoZXIuc2NvcGVyXykpIHt9DQorKyAgUGFzc2VkV3JhcHBlcihQYXNzZWRXcmFwcGVyJiYgb3Ro ZXIpIDogc2NvcGVyXyhzdGQ6Om1vdmUob3RoZXIuc2NvcGVyXykpIHt9DQorICAgVCBNb3ZlT3V0 KCkgY29uc3QgeyByZXR1cm4gc3RkOjptb3ZlKHNjb3Blcl8pOyB9DQorIA0KKyAgcHJpdmF0ZToN CitAQCAtMzE5LDkgKzMxOCw4IEBADQorICAgQ3Jvc3NUaHJlYWRGdW5jdGlvbihjb25zdCBDcm9z c1RocmVhZEZ1bmN0aW9uJikgPSBkZWxldGU7DQorICAgQ3Jvc3NUaHJlYWRGdW5jdGlvbiYgb3Bl cmF0b3I9KGNvbnN0IENyb3NzVGhyZWFkRnVuY3Rpb24mKSA9IGRlbGV0ZTsNCisgDQorLSAgQ3Jv c3NUaHJlYWRGdW5jdGlvbihDcm9zc1RocmVhZEZ1bmN0aW9uJiYgb3RoZXIpIG5vZXhjZXB0ID0g ZGVmYXVsdDsNCistICBDcm9zc1RocmVhZEZ1bmN0aW9uJiBvcGVyYXRvcj0oQ3Jvc3NUaHJlYWRG dW5jdGlvbiYmIG90aGVyKSBub2V4Y2VwdCA9DQorLSAgICAgIGRlZmF1bHQ7DQorKyAgQ3Jvc3NU aHJlYWRGdW5jdGlvbihDcm9zc1RocmVhZEZ1bmN0aW9uJiYgb3RoZXIpID0gZGVmYXVsdDsNCisr ICBDcm9zc1RocmVhZEZ1bmN0aW9uJiBvcGVyYXRvcj0oQ3Jvc3NUaHJlYWRGdW5jdGlvbiYmIG90 aGVyKSA9IGRlZmF1bHQ7DQorIA0KKyAgIFIgUnVuKEFyZ3MuLi4gYXJncykgY29uc3QgJiB7DQor ICAgICByZXR1cm4gY2FsbGJhY2tfLlJ1bihzdGQ6OmZvcndhcmQ8QXJncz4oYXJncykuLi4pOw0K K0BAIC0zNTYsOSArMzU0LDggQEANCisgICBDcm9zc1RocmVhZE9uY2VGdW5jdGlvbihjb25zdCBD cm9zc1RocmVhZE9uY2VGdW5jdGlvbiYpID0gZGVsZXRlOw0KKyAgIENyb3NzVGhyZWFkT25jZUZ1 bmN0aW9uJiBvcGVyYXRvcj0oY29uc3QgQ3Jvc3NUaHJlYWRPbmNlRnVuY3Rpb24mKSA9IGRlbGV0 ZTsNCisgDQorLSAgQ3Jvc3NUaHJlYWRPbmNlRnVuY3Rpb24oQ3Jvc3NUaHJlYWRPbmNlRnVuY3Rp b24mJiBvdGhlcikgbm9leGNlcHQgPSBkZWZhdWx0Ow0KKy0gIENyb3NzVGhyZWFkT25jZUZ1bmN0 aW9uJiBvcGVyYXRvcj0oQ3Jvc3NUaHJlYWRPbmNlRnVuY3Rpb24mJiBvdGhlcikgbm9leGNlcHQg PQ0KKy0gICAgICBkZWZhdWx0Ow0KKysgIENyb3NzVGhyZWFkT25jZUZ1bmN0aW9uKENyb3NzVGhy ZWFkT25jZUZ1bmN0aW9uJiYgb3RoZXIpID0gZGVmYXVsdDsNCisrICBDcm9zc1RocmVhZE9uY2VG dW5jdGlvbiYgb3BlcmF0b3I9KENyb3NzVGhyZWFkT25jZUZ1bmN0aW9uJiYgb3RoZXIpID0gZGVm YXVsdDsNCisgDQorICAgUiBSdW4oQXJncy4uLiBhcmdzKSAmJiB7DQorICAgICByZXR1cm4gc3Rk Ojptb3ZlKGNhbGxiYWNrXykuUnVuKHN0ZDo6Zm9yd2FyZDxBcmdzPihhcmdzKS4uLik7DQorZGlm ZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL3d0Zi9oYXNoX21h cC5oIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vd3RmL2hhc2hfbWFwLmgN CitpbmRleCA4YTAwMmE4Li40NmIzOWUwIDEwMDY0NA0KKy0tLSBhL3RoaXJkX3BhcnR5L2JsaW5r L3JlbmRlcmVyL3BsYXRmb3JtL3d0Zi9oYXNoX21hcC5oDQorKysrIGIvdGhpcmRfcGFydHkvYmxp bmsvcmVuZGVyZXIvcGxhdGZvcm0vd3RmL2hhc2hfbWFwLmgNCitAQCAtMTA2LDggKzEwNiw4IEBA DQorICNlbmRpZg0KKyAgIEhhc2hNYXAoY29uc3QgSGFzaE1hcCYpID0gZGVmYXVsdDsNCisgICBI YXNoTWFwJiBvcGVyYXRvcj0oY29uc3QgSGFzaE1hcCYpID0gZGVmYXVsdDsNCistICBIYXNoTWFw KEhhc2hNYXAmJikgbm9leGNlcHQgPSBkZWZhdWx0Ow0KKy0gIEhhc2hNYXAmIG9wZXJhdG9yPShI YXNoTWFwJiYpIG5vZXhjZXB0ID0gZGVmYXVsdDsNCisrICBIYXNoTWFwKEhhc2hNYXAmJikgPSBk ZWZhdWx0Ow0KKysgIEhhc2hNYXAmIG9wZXJhdG9yPShIYXNoTWFwJiYpID0gZGVmYXVsdDsNCisg DQorICAgLy8gRm9yIGV4YW1wbGUsIEhhc2hNYXA8aW50LCBpbnQ+KHt7MSwgMTF9LCB7MiwgMjJ9 LCB7MywgMzN9fSkgd2lsbCBnaXZlIHlvdQ0KKyAgIC8vIGEgSGFzaE1hcCBjb250YWluaW5nIGEg bWFwcGluZyB7MSAtPiAxMSwgMiAtPiAyMiwgMyAtPiAzM30uDQorZGlmZiAtLWdpdCBhL3RoaXJk X3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL3d0Zi9oYXNoX3NldC5oIGIvdGhpcmRfcGFy dHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vd3RmL2hhc2hfc2V0LmgNCitpbmRleCBjNzllNDVm MS4uZDdjZGVlZCAxMDA2NDQNCistLS0gYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0 Zm9ybS93dGYvaGFzaF9zZXQuaA0KKysrKyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3Bs YXRmb3JtL3d0Zi9oYXNoX3NldC5oDQorQEAgLTc0LDggKzc0LDggQEANCisgICB9DQorICAgSGFz aFNldChjb25zdCBIYXNoU2V0JikgPSBkZWZhdWx0Ow0KKyAgIEhhc2hTZXQmIG9wZXJhdG9yPShj b25zdCBIYXNoU2V0JikgPSBkZWZhdWx0Ow0KKy0gIEhhc2hTZXQoSGFzaFNldCYmKSBub2V4Y2Vw dCA9IGRlZmF1bHQ7DQorLSAgSGFzaFNldCYgb3BlcmF0b3I9KEhhc2hTZXQmJikgbm9leGNlcHQg PSBkZWZhdWx0Ow0KKysgIEhhc2hTZXQoSGFzaFNldCYmKSA9IGRlZmF1bHQ7DQorKyAgSGFzaFNl dCYgb3BlcmF0b3I9KEhhc2hTZXQmJikgPSBkZWZhdWx0Ow0KKyANCisgICBIYXNoU2V0KHN0ZDo6 aW5pdGlhbGl6ZXJfbGlzdDxWYWx1ZVR5cGU+IGVsZW1lbnRzKTsNCisgICBIYXNoU2V0JiBvcGVy YXRvcj0oc3RkOjppbml0aWFsaXplcl9saXN0PFZhbHVlVHlwZT4gZWxlbWVudHMpOw0KK2RpZmYg LS1naXQgYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS93dGYvaGFzaF90YWJs ZS5oIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vd3RmL2hhc2hfdGFibGUu aA0KK2luZGV4IDM3MzI4MGYuLjUyNDgzZWM1IDEwMDY0NA0KKy0tLSBhL3RoaXJkX3BhcnR5L2Js aW5rL3JlbmRlcmVyL3BsYXRmb3JtL3d0Zi9oYXNoX3RhYmxlLmgNCisrKysgYi90aGlyZF9wYXJ0 eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS93dGYvaGFzaF90YWJsZS5oDQorQEAgLTc0NywxMCAr NzQ3LDEwIEBADQorICAgfQ0KKyANCisgICBIYXNoVGFibGUoY29uc3QgSGFzaFRhYmxlJik7DQor LSAgSGFzaFRhYmxlKEhhc2hUYWJsZSYmKSBub2V4Y2VwdDsNCisrICBIYXNoVGFibGUoSGFzaFRh YmxlJiYpOw0KKyAgIHZvaWQgc3dhcChIYXNoVGFibGUmKTsNCisgICBIYXNoVGFibGUmIG9wZXJh dG9yPShjb25zdCBIYXNoVGFibGUmKTsNCistICBIYXNoVGFibGUmIG9wZXJhdG9yPShIYXNoVGFi bGUmJikgbm9leGNlcHQ7DQorKyAgSGFzaFRhYmxlJiBvcGVyYXRvcj0oSGFzaFRhYmxlJiYpOw0K KyANCisgICAvLyBXaGVuIHRoZSBoYXNoIHRhYmxlIGlzIGVtcHR5LCBqdXN0IHJldHVybiB0aGUg c2FtZSBpdGVyYXRvciBmb3IgZW5kIGFzDQorICAgLy8gZm9yIGJlZ2luLiAgVGhpcyBpcyBtb3Jl IGVmZmljaWVudCBiZWNhdXNlIHdlIGRvbid0IGhhdmUgdG8gc2tpcCBhbGwgdGhlDQorQEAgLTE5 MjksNyArMTkyOSw3IEBADQorICAgICAgICAgICB0eXBlbmFtZSBLZXlUcmFpdHMsDQorICAgICAg ICAgICB0eXBlbmFtZSBBbGxvY2F0b3I+DQorIEhhc2hUYWJsZTxLZXksIFZhbHVlLCBFeHRyYWN0 b3IsIEhhc2hGdW5jdGlvbnMsIFRyYWl0cywgS2V5VHJhaXRzLCBBbGxvY2F0b3I+OjoNCistICAg IEhhc2hUYWJsZShIYXNoVGFibGUmJiBvdGhlcikgbm9leGNlcHQNCisrICAgIEhhc2hUYWJsZShI YXNoVGFibGUmJiBvdGhlcikNCisgICAgIDogdGFibGVfKG51bGxwdHIpLA0KKyAgICAgICB0YWJs ZV9zaXplXygwKSwNCisgICAgICAga2V5X2NvdW50XygwKSwNCitAQCAtMjAwOCw3ICsyMDA4LDcg QEANCisgICAgICAgICAgIHR5cGVuYW1lIEFsbG9jYXRvcj4NCisgSGFzaFRhYmxlPEtleSwgVmFs dWUsIEV4dHJhY3RvciwgSGFzaEZ1bmN0aW9ucywgVHJhaXRzLCBLZXlUcmFpdHMsIEFsbG9jYXRv cj4mDQorIEhhc2hUYWJsZTxLZXksIFZhbHVlLCBFeHRyYWN0b3IsIEhhc2hGdW5jdGlvbnMsIFRy YWl0cywgS2V5VHJhaXRzLCBBbGxvY2F0b3I+OjoNCistb3BlcmF0b3I9KEhhc2hUYWJsZSYmIG90 aGVyKSBub2V4Y2VwdCB7DQorK29wZXJhdG9yPShIYXNoVGFibGUmJiBvdGhlcikgew0KKyAgIHN3 YXAob3RoZXIpOw0KKyAgIHJldHVybiAqdGhpczsNCisgfQ0KK2RpZmYgLS1naXQgYS90aGlyZF9w YXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS93dGYvbGlua2VkX2hhc2hfc2V0LmggYi90aGly ZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS93dGYvbGlua2VkX2hhc2hfc2V0LmgNCitp bmRleCA3OWMzZDc2ZC4uNzFlZjM3YSAxMDA2NDQNCistLS0gYS90aGlyZF9wYXJ0eS9ibGluay9y ZW5kZXJlci9wbGF0Zm9ybS93dGYvbGlua2VkX2hhc2hfc2V0LmgNCisrKysgYi90aGlyZF9wYXJ0 eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS93dGYvbGlua2VkX2hhc2hfc2V0LmgNCitAQCAtMTIx LDcgKzEyMSw3IEBADQorICAgTGlua2VkSGFzaFNldE5vZGVCYXNlKGNvbnN0IExpbmtlZEhhc2hT ZXROb2RlQmFzZSYgb3RoZXIpDQorICAgICAgIDogcHJldl8obnVsbHB0ciksIG5leHRfKG51bGxw dHIpIHt9DQorIA0KKy0gIExpbmtlZEhhc2hTZXROb2RlQmFzZShMaW5rZWRIYXNoU2V0Tm9kZUJh c2UmJiBvdGhlcikgbm9leGNlcHQNCisrICBMaW5rZWRIYXNoU2V0Tm9kZUJhc2UoTGlua2VkSGFz aFNldE5vZGVCYXNlJiYgb3RoZXIpDQorICAgICAgIDogcHJldl8ob3RoZXIucHJldl8pLCBuZXh0 XyhvdGhlci5uZXh0Xykgew0KKyAgICAgb3RoZXIucHJldl8gPSBudWxscHRyOw0KKyAgICAgb3Ro ZXIubmV4dF8gPSBudWxscHRyOw0KK0BAIC0xNTEsNyArMTUxLDcgQEANCisgICAgICAgICAgICAg ICAgICAgICBMaW5rZWRIYXNoU2V0Tm9kZUJhc2UqIG5leHQpDQorICAgICAgIDogTGlua2VkSGFz aFNldE5vZGVCYXNlKHByZXYsIG5leHQpLCB2YWx1ZV8oc3RkOjptb3ZlKHZhbHVlKSkge30NCisg DQorLSAgTGlua2VkSGFzaFNldE5vZGUoTGlua2VkSGFzaFNldE5vZGUmJiBvdGhlcikgbm9leGNl cHQNCisrICBMaW5rZWRIYXNoU2V0Tm9kZShMaW5rZWRIYXNoU2V0Tm9kZSYmIG90aGVyKQ0KKyAg ICAgICA6IExpbmtlZEhhc2hTZXROb2RlQmFzZShzdGQ6Om1vdmUob3RoZXIpKSwNCisgICAgICAg ICB2YWx1ZV8oc3RkOjptb3ZlKG90aGVyLnZhbHVlXykpIHt9DQorIA0KK0BAIC0yMTQsOSArMjE0 LDkgQEANCisgDQorICAgTGlua2VkSGFzaFNldCgpOw0KKyAgIExpbmtlZEhhc2hTZXQoY29uc3Qg TGlua2VkSGFzaFNldCYpOw0KKy0gIExpbmtlZEhhc2hTZXQoTGlua2VkSGFzaFNldCYmKSBub2V4 Y2VwdDsNCisrICBMaW5rZWRIYXNoU2V0KExpbmtlZEhhc2hTZXQmJik7DQorICAgTGlua2VkSGFz aFNldCYgb3BlcmF0b3I9KGNvbnN0IExpbmtlZEhhc2hTZXQmKTsNCistICBMaW5rZWRIYXNoU2V0 JiBvcGVyYXRvcj0oTGlua2VkSGFzaFNldCYmKSBub2V4Y2VwdDsNCisrICBMaW5rZWRIYXNoU2V0 JiBvcGVyYXRvcj0oTGlua2VkSGFzaFNldCYmKTsNCisgDQorICAgLy8gTmVlZHMgZmluYWxpemF0 aW9uLiBUaGUgYW5jaG9yIG5lZWRzIHRvIHVubGluayBpdHNlbGYgZnJvbSB0aGUgY2hhaW4uDQor ICAgfkxpbmtlZEhhc2hTZXQoKTsNCitAQCAtNzQ4LDcgKzc0OCw3IEBADQorIH0NCisgDQorIHRl bXBsYXRlIDx0eXBlbmFtZSBULCB0eXBlbmFtZSBVLCB0eXBlbmFtZSBWLCB0eXBlbmFtZSBXPg0K Ky1pbmxpbmUgTGlua2VkSGFzaFNldDxULCBVLCBWLCBXPjo6TGlua2VkSGFzaFNldChMaW5rZWRI YXNoU2V0JiYgb3RoZXIpIG5vZXhjZXB0DQorK2lubGluZSBMaW5rZWRIYXNoU2V0PFQsIFUsIFYs IFc+OjpMaW5rZWRIYXNoU2V0KExpbmtlZEhhc2hTZXQmJiBvdGhlcikNCisgICAgIDogYW5jaG9y XygpIHsNCisgICBTd2FwKG90aGVyKTsNCisgfQ0KK0BAIC03NjMsNyArNzYzLDcgQEANCisgDQor IHRlbXBsYXRlIDx0eXBlbmFtZSBULCB0eXBlbmFtZSBVLCB0eXBlbmFtZSBWLCB0eXBlbmFtZSBX Pg0KKyBpbmxpbmUgTGlua2VkSGFzaFNldDxULCBVLCBWLCBXPiYgTGlua2VkSGFzaFNldDxULCBV LCBWLCBXPjo6b3BlcmF0b3I9KA0KKy0gICAgTGlua2VkSGFzaFNldCYmIG90aGVyKSBub2V4Y2Vw dCB7DQorKyAgICBMaW5rZWRIYXNoU2V0JiYgb3RoZXIpIHsNCisgICBTd2FwKG90aGVyKTsNCisg ICByZXR1cm4gKnRoaXM7DQorIH0NCitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvYmxpbmsvcmVu ZGVyZXIvcGxhdGZvcm0vd3RmL2xpc3RfaGFzaF9zZXQuaCBiL3RoaXJkX3BhcnR5L2JsaW5rL3Jl bmRlcmVyL3BsYXRmb3JtL3d0Zi9saXN0X2hhc2hfc2V0LmgNCitpbmRleCBlYWQ2YTg3Li43OGJk Mjc5IDEwMDY0NA0KKy0tLSBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL3d0 Zi9saXN0X2hhc2hfc2V0LmgNCisrKysgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0 Zm9ybS93dGYvbGlzdF9oYXNoX3NldC5oDQorQEAgLTE0NSw5ICsxNDUsOSBAQCBjbGFzcyBMaXN0 SGFzaFNldCB7DQorIA0KKyAgIExpc3RIYXNoU2V0KCk7DQorICAgTGlzdEhhc2hTZXQoY29uc3Qg TGlzdEhhc2hTZXQmKTsNCistICBMaXN0SGFzaFNldChMaXN0SGFzaFNldCYmKSBub2V4Y2VwdDsN CisrICBMaXN0SGFzaFNldChMaXN0SGFzaFNldCYmKTsNCisgICBMaXN0SGFzaFNldCYgb3BlcmF0 b3I9KGNvbnN0IExpc3RIYXNoU2V0Jik7DQorLSAgTGlzdEhhc2hTZXQmIG9wZXJhdG9yPShMaXN0 SGFzaFNldCYmKSBub2V4Y2VwdDsNCisrICBMaXN0SGFzaFNldCYgb3BlcmF0b3I9KExpc3RIYXNo U2V0JiYpOw0KKyAgIH5MaXN0SGFzaFNldCgpOw0KKyANCisgICB2b2lkIFN3YXAoTGlzdEhhc2hT ZXQmKTsNCitAQCAtNzgwLDggKzc4MCw3IEBADQorIH0NCisgDQorIHRlbXBsYXRlIDx0eXBlbmFt ZSBULCBzaXplX3QgaW5saW5lQ2FwYWNpdHksIHR5cGVuYW1lIFUsIHR5cGVuYW1lIFY+DQorLWlu bGluZSBMaXN0SGFzaFNldDxULCBpbmxpbmVDYXBhY2l0eSwgVSwgVj46Okxpc3RIYXNoU2V0KA0K Ky0gICAgTGlzdEhhc2hTZXQmJiBvdGhlcikgbm9leGNlcHQNCisraW5saW5lIExpc3RIYXNoU2V0 PFQsIGlubGluZUNhcGFjaXR5LCBVLCBWPjo6TGlzdEhhc2hTZXQoTGlzdEhhc2hTZXQmJiBvdGhl cikNCisgICAgIDogaGVhZF8obnVsbHB0ciksIHRhaWxfKG51bGxwdHIpIHsNCisgICBTd2FwKG90 aGVyKTsNCisgfQ0KK0BAIC03OTYsNyArNzk1LDcgQEANCisgDQorIHRlbXBsYXRlIDx0eXBlbmFt ZSBULCBzaXplX3QgaW5saW5lQ2FwYWNpdHksIHR5cGVuYW1lIFUsIHR5cGVuYW1lIFY+DQorIGlu bGluZSBMaXN0SGFzaFNldDxULCBpbmxpbmVDYXBhY2l0eSwgVSwgVj4mDQorLUxpc3RIYXNoU2V0 PFQsIGlubGluZUNhcGFjaXR5LCBVLCBWPjo6b3BlcmF0b3I9KExpc3RIYXNoU2V0JiYgb3RoZXIp IG5vZXhjZXB0IHsNCisrTGlzdEhhc2hTZXQ8VCwgaW5saW5lQ2FwYWNpdHksIFUsIFY+OjpvcGVy YXRvcj0oTGlzdEhhc2hTZXQmJiBvdGhlcikgew0KKyAgIFN3YXAob3RoZXIpOw0KKyAgIHJldHVy biAqdGhpczsNCisgfQ0KK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9w bGF0Zm9ybS93dGYvdHlwZV90cmFpdHNfdGVzdC5jYyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRl cmVyL3BsYXRmb3JtL3d0Zi90eXBlX3RyYWl0c190ZXN0LmNjDQoraW5kZXggMDkzMGI3My4uMWI0 NWQ1NSAxMDA2NDQNCistLS0gYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS93 dGYvdHlwZV90cmFpdHNfdGVzdC5jYw0KKysrKyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVy L3BsYXRmb3JtL3d0Zi90eXBlX3RyYWl0c190ZXN0LmNjDQorQEAgLTE1OCw3ICsxNTgsNyBAQA0K KyAgIFNUQUNLX0FMTE9DQVRFRCgpOw0KKyANCisgIHB1YmxpYzoNCistICBDb3B5QXNzaWdubWVu dERlbGV0ZWQmIG9wZXJhdG9yPShDb3B5QXNzaWdubWVudERlbGV0ZWQmJikgbm9leGNlcHQ7DQor KyAgQ29weUFzc2lnbm1lbnREZWxldGVkJiBvcGVyYXRvcj0oQ29weUFzc2lnbm1lbnREZWxldGVk JiYpOw0KKyANCisgIHByaXZhdGU6DQorICAgQ29weUFzc2lnbm1lbnREZWxldGVkJiBvcGVyYXRv cj0oY29uc3QgQ29weUFzc2lnbm1lbnREZWxldGVkJikgPSBkZWxldGU7DQorQEAgLTE3Myw3ICsx NzMsNyBAQA0KKyAgIFNUQUNLX0FMTE9DQVRFRCgpOw0KKyANCisgIHB1YmxpYzoNCistICBDb3B5 QXNzaWdubWVudFByaXZhdGUmIG9wZXJhdG9yPShDb3B5QXNzaWdubWVudFByaXZhdGUmJikgbm9l eGNlcHQ7DQorKyAgQ29weUFzc2lnbm1lbnRQcml2YXRlJiBvcGVyYXRvcj0oQ29weUFzc2lnbm1l bnRQcml2YXRlJiYpOw0KKyANCisgIHByaXZhdGU6DQorICAgQ29weUFzc2lnbm1lbnRQcml2YXRl JiBvcGVyYXRvcj0oY29uc3QgQ29weUFzc2lnbm1lbnRQcml2YXRlJik7DQorQEAgLTE4OCw3ICsx ODgsNyBAQA0KKyAgIFNUQUNLX0FMTE9DQVRFRCgpOw0KKyANCisgIHB1YmxpYzoNCistICBDb3B5 QXNzaWdubWVudFVuZGVjbGFyZWQmIG9wZXJhdG9yPShDb3B5QXNzaWdubWVudFVuZGVjbGFyZWQm Jikgbm9leGNlcHQ7DQorKyAgQ29weUFzc2lnbm1lbnRVbmRlY2xhcmVkJiBvcGVyYXRvcj0oQ29w eUFzc2lnbm1lbnRVbmRlY2xhcmVkJiYpOw0KKyB9Ow0KKyANCisgc3RhdGljX2Fzc2VydCghc3Rk Ojppc19jb3B5X2Fzc2lnbmFibGU8Q29weUFzc2lnbm1lbnRVbmRlY2xhcmVkPjo6dmFsdWUsDQor ZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL3d0Zi90eXBl ZF9hcnJheXMvYXJyYXlfYnVmZmVyX2NvbnRlbnRzLmggYi90aGlyZF9wYXJ0eS9ibGluay9yZW5k ZXJlci9wbGF0Zm9ybS93dGYvdHlwZWRfYXJyYXlzL2FycmF5X2J1ZmZlcl9jb250ZW50cy5oDQor aW5kZXggM2Y0NGNkMi4uZWU3Yzg5YSAxMDA2NDQNCistLS0gYS90aGlyZF9wYXJ0eS9ibGluay9y ZW5kZXJlci9wbGF0Zm9ybS93dGYvdHlwZWRfYXJyYXlzL2FycmF5X2J1ZmZlcl9jb250ZW50cy5o DQorKysrIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vd3RmL3R5cGVkX2Fy cmF5cy9hcnJheV9idWZmZXJfY29udGVudHMuaA0KK0BAIC02OCw3ICs2OCw3IEBADQorICAgICAg ICAgICBkZWxldGVyXyhkZWxldGVyKSwNCisgICAgICAgICAgIGRlbGV0ZXJfaW5mb18oZGVsZXRl cl9pbmZvKSB7fQ0KKyAgICAgLy8gTW92ZSBjb25zdHJ1Y3Rvcg0KKy0gICAgRGF0YUhhbmRsZShE YXRhSGFuZGxlJiYgb3RoZXIpIG5vZXhjZXB0IHsgKnRoaXMgPSBzdGQ6Om1vdmUob3RoZXIpOyB9 DQorKyAgICBEYXRhSGFuZGxlKERhdGFIYW5kbGUmJiBvdGhlcikgeyAqdGhpcyA9IHN0ZDo6bW92 ZShvdGhlcik7IH0NCisgICAgIH5EYXRhSGFuZGxlKCkgew0KKyAgICAgICBpZiAoIWRhdGFfKQ0K KyAgICAgICAgIHJldHVybjsNCitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVy ZXIvcGxhdGZvcm0vd3RmL3ZlY3Rvci5oIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxh dGZvcm0vd3RmL3ZlY3Rvci5oDQoraW5kZXggMjc4M2MyYi4uNDNhMjdmNyAxMDA2NDQNCistLS0g YS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS93dGYvdmVjdG9yLmgNCisrKysg Yi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS93dGYvdmVjdG9yLmgNCitAQCAt MTAxOCw4ICsxMDE4LDggQEANCisgICBWZWN0b3ImIG9wZXJhdG9yPShjb25zdCBWZWN0b3I8VCwg b3RoZXJDYXBhY2l0eSwgQWxsb2NhdG9yPiYpOw0KKyANCisgICAvLyBNb3ZpbmcuDQorLSAgVmVj dG9yKFZlY3RvciYmKSBub2V4Y2VwdDsNCistICBWZWN0b3ImIG9wZXJhdG9yPShWZWN0b3ImJikg bm9leGNlcHQ7DQorKyAgVmVjdG9yKFZlY3RvciYmKTsNCisrICBWZWN0b3ImIG9wZXJhdG9yPShW ZWN0b3ImJik7DQorIA0KKyAgIC8vIENvbnN0cnVjdCB3aXRoIGFuIGluaXRpYWxpemVyIGxpc3Qu IFlvdSBjYW4gZG8gZS5nLg0KKyAgIC8vICAgICBWZWN0b3I8aW50PiB2KHsxLCAyLCAzfSk7DQor QEAgLTE0NTksNyArMTQ1OSw3IEBADQorIA0KKyB0ZW1wbGF0ZSA8dHlwZW5hbWUgVCwgd3RmX3Np emVfdCBpbmxpbmVDYXBhY2l0eSwgdHlwZW5hbWUgQWxsb2NhdG9yPg0KKyBWZWN0b3I8VCwgaW5s aW5lQ2FwYWNpdHksIEFsbG9jYXRvcj46OlZlY3RvcigNCistICAgIFZlY3RvcjxULCBpbmxpbmVD YXBhY2l0eSwgQWxsb2NhdG9yPiYmIG90aGVyKSBub2V4Y2VwdCB7DQorKyAgICBWZWN0b3I8VCwg aW5saW5lQ2FwYWNpdHksIEFsbG9jYXRvcj4mJiBvdGhlcikgew0KKyAgIHNpemVfID0gMDsNCisg ICAvLyBJdCdzIGEgbGl0dGxlIHdlaXJkIHRvIGltcGxlbWVudCBhIG1vdmUgY29uc3RydWN0b3Ig dXNpbmcgc3dhcCBidXQgdGhpcw0KKyAgIC8vIHdheSB3ZSBkb24ndCBoYXZlIHRvIGFkZCBhIG1v dmUgY29uc3RydWN0b3IgdG8gVmVjdG9yQnVmZmVyLg0KK0BAIC0xNDY4LDcgKzE0NjgsNyBAQA0K KyANCisgdGVtcGxhdGUgPHR5cGVuYW1lIFQsIHd0Zl9zaXplX3QgaW5saW5lQ2FwYWNpdHksIHR5 cGVuYW1lIEFsbG9jYXRvcj4NCisgVmVjdG9yPFQsIGlubGluZUNhcGFjaXR5LCBBbGxvY2F0b3I+ JiBWZWN0b3I8VCwgaW5saW5lQ2FwYWNpdHksIEFsbG9jYXRvcj46Og0KKy1vcGVyYXRvcj0oVmVj dG9yPFQsIGlubGluZUNhcGFjaXR5LCBBbGxvY2F0b3I+JiYgb3RoZXIpIG5vZXhjZXB0IHsNCisr b3BlcmF0b3I9KFZlY3RvcjxULCBpbmxpbmVDYXBhY2l0eSwgQWxsb2NhdG9yPiYmIG90aGVyKSB7 DQorICAgc3dhcChvdGhlcik7DQorICAgcmV0dXJuICp0aGlzOw0KKyB9DQorZGlmZiAtLWdpdCBh L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL3d0Zi92ZWN0b3JfdGVzdC5jYyBi L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL3d0Zi92ZWN0b3JfdGVzdC5jYw0K K2luZGV4IGFhOGExMzguLjc4OGNjMmJiIDEwMDY0NA0KKy0tLSBhL3RoaXJkX3BhcnR5L2JsaW5r L3JlbmRlcmVyL3BsYXRmb3JtL3d0Zi92ZWN0b3JfdGVzdC5jYw0KKysrKyBiL3RoaXJkX3BhcnR5 L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL3d0Zi92ZWN0b3JfdGVzdC5jYw0KK0BAIC00MjAsOCAr NDIwLDggQEANCisgY2xhc3MgTW9qb01vdmVPbmx5VHlwZSBmaW5hbCB7DQorICBwdWJsaWM6DQor ICAgTW9qb01vdmVPbmx5VHlwZSgpOw0KKy0gIE1vam9Nb3ZlT25seVR5cGUoTW9qb01vdmVPbmx5 VHlwZSYmKSBub2V4Y2VwdDsNCistICBNb2pvTW92ZU9ubHlUeXBlJiBvcGVyYXRvcj0oTW9qb01v dmVPbmx5VHlwZSYmKSBub2V4Y2VwdDsNCisrICBNb2pvTW92ZU9ubHlUeXBlKE1vam9Nb3ZlT25s eVR5cGUmJik7DQorKyAgTW9qb01vdmVPbmx5VHlwZSYgb3BlcmF0b3I9KE1vam9Nb3ZlT25seVR5 cGUmJik7DQorICAgfk1vam9Nb3ZlT25seVR5cGUoKTsNCisgDQorICBwcml2YXRlOg0KK2RpZmYg LS1naXQgYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS93dGYvd3RmX3Rlc3Rf aGVscGVyLmggYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS93dGYvd3RmX3Rl c3RfaGVscGVyLmgNCitpbmRleCBlNzk3NDQ1Li44ZjMxMzY1IDEwMDY0NA0KKy0tLSBhL3RoaXJk X3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL3d0Zi93dGZfdGVzdF9oZWxwZXIuaA0KKysr KyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL3d0Zi93dGZfdGVzdF9oZWxw ZXIuaA0KK0BAIC0zNiw5ICszNiw5IEBADQorICBwdWJsaWM6DQorICAgZXhwbGljaXQgTW92ZU9u bHkoaW50IGkgPSAwKSA6IGlfKGkpIHt9DQorIA0KKy0gIE1vdmVPbmx5KE1vdmVPbmx5JiYgb3Ro ZXIpIG5vZXhjZXB0IDogaV8ob3RoZXIuaV8pIHsgb3RoZXIuaV8gPSAwOyB9DQorKyAgTW92ZU9u bHkoTW92ZU9ubHkmJiBvdGhlcikgOiBpXyhvdGhlci5pXykgeyBvdGhlci5pXyA9IDA7IH0NCisg DQorLSAgTW92ZU9ubHkmIG9wZXJhdG9yPShNb3ZlT25seSYmIG90aGVyKSBub2V4Y2VwdCB7DQor KyAgTW92ZU9ubHkmIG9wZXJhdG9yPShNb3ZlT25seSYmIG90aGVyKSB7DQorICAgICBpZiAodGhp cyAhPSAmb3RoZXIpIHsNCisgICAgICAgaV8gPSBvdGhlci5pXzsNCisgICAgICAgb3RoZXIuaV8g PSAwOw0KK0BAIC02MiwxMiArNjIsMTIgQEANCisgDQorICAgZXhwbGljaXQgTW92ZU9ubHlIYXNo VmFsdWUoaW50IHZhbHVlID0ga0VtcHR5LCBpbnQgaWQgPSAwKQ0KKyAgICAgICA6IHZhbHVlXyh2 YWx1ZSksIGlkXyhpZCkge30NCistICBNb3ZlT25seUhhc2hWYWx1ZShNb3ZlT25seUhhc2hWYWx1 ZSYmIG90aGVyKSBub2V4Y2VwdA0KKysgIE1vdmVPbmx5SGFzaFZhbHVlKE1vdmVPbmx5SGFzaFZh bHVlJiYgb3RoZXIpDQorICAgICAgIDogdmFsdWVfKG90aGVyLnZhbHVlXyksIGlkXyhvdGhlci5p ZF8pIHsNCisgICAgIG90aGVyLnZhbHVlXyA9IGtNb3ZlZE91dDsNCisgICAgIG90aGVyLmlkXyA9 IDA7DQorICAgfQ0KKy0gIE1vdmVPbmx5SGFzaFZhbHVlJiBvcGVyYXRvcj0oTW92ZU9ubHlIYXNo VmFsdWUmJiBvdGhlcikgbm9leGNlcHQgew0KKysgIE1vdmVPbmx5SGFzaFZhbHVlJiBvcGVyYXRv cj0oTW92ZU9ubHlIYXNoVmFsdWUmJiBvdGhlcikgew0KKyAgICAgdmFsdWVfID0gb3RoZXIudmFs dWVfOw0KKyAgICAgaWRfID0gb3RoZXIuaWRfOw0KKyAgICAgb3RoZXIudmFsdWVfID0ga01vdmVk T3V0Ow0KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3BhdGNoZXMvY2hyb21p dW0tNzktZ2NjLWFtYmlndW91cy1ub2Rlc3RydWN0b3IucGF0Y2ggYi9zcmNwa2dzL2VsZWN0cm9u Ny9maWxlcy9wYXRjaGVzL2Nocm9taXVtLTc5LWdjYy1hbWJpZ3VvdXMtbm9kZXN0cnVjdG9yLnBh dGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5kNDNhMDkxYjk3MQot LS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3BhdGNoZXMvY2hyb21p dW0tNzktZ2NjLWFtYmlndW91cy1ub2Rlc3RydWN0b3IucGF0Y2gKQEAgLTAsMCArMSwzOSBAQAor RnJvbSBhZjc3ZGM0MDE0ZWFkM2Q4OThmZGM4YTdhNzBmZTUwNjNhYzliMTAyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQorRnJvbTogSm9zZSBEYXBlbmEgUGF6IDxqb3NlLmRhcGVuYUBsZ2UuY29t PgorRGF0ZTogRnJpLCAyNSBPY3QgMjAxOSAxOTowMToyOSArMDAwMAorU3ViamVjdDogW1BBVENI XSBHQ0M6IHVzZSBicmFjZS1pbml0aWFsaXplciBmb3IgRG9oVXBncmFkZSB2ZWN0b3IKKworQ29u c3RydWN0aW5nIE5vRGVzdHJ1Y3RvciB3aXRoIHBhcmVudGhlc2lzIGNvbnN0cnVjdG9yIGlzIGFt YmlndW91cworaW4gR0NDLiBVc2UgYnJhY2UtaW5pdGlhbGl6ZXIgdG8gYXZvaWQgdGhhdCBwcm9i bGVtLiBUaGlzIGZpeGVzIHRoaXMKK2J1aWxkIGVycm9yOgorCitCdWc6IDgxOTI5NAorQ2hhbmdl LUlkOiBJMDBkZGE0MmRhYTE3OTRkMTFlMDIyZjI2YWMwN2Y5MmU1OTlkMTA2ZAorUmV2aWV3ZWQt b246IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3Lmdvb2dsZXNvdXJjZS5jb20vYy9jaHJvbWl1bS9z cmMvKy8xODc5OTEwCitSZXZpZXdlZC1ieTogRXJpYyBPcnRoIDxlcmljb3J0aEBjaHJvbWl1bS5v cmc+CitDb21taXQtUXVldWU6IEpvc8OpIERhcGVuYSBQYXogPGpvc2UuZGFwZW5hQGxnZS5jb20+ CitDci1Db21taXQtUG9zaXRpb246IHJlZnMvaGVhZHMvbWFzdGVyQHsjNzA5NTY5fQorLS0tCisK K2RpZmYgLS1naXQgYS9uZXQvZG5zL2Ruc191dGlsLmNjIGIvbmV0L2Rucy9kbnNfdXRpbC5jYwor aW5kZXggMTQ5OTdjNC4uNjM3YjZmMiAxMDA2NDQKKy0tLSBhL25ldC9kbnMvZG5zX3V0aWwuY2MK KysrKyBiL25ldC9kbnMvZG5zX3V0aWwuY2MKK0BAIC0xNDQsNyArMTQ0LDcgQEAKKyAgIC8vIERv aFByb3ZpZGVySWQgaGlzdG9ncmFtIHN1ZmZpeCBsaXN0IGluCisgICAvLyB0b29scy9tZXRyaWNz L2hpc3RvZ3JhbXMvaGlzdG9ncmFtcy54bWwuCisgICBzdGF0aWMgY29uc3QgYmFzZTo6Tm9EZXN0 cnVjdG9yPHN0ZDo6dmVjdG9yPERvaFVwZ3JhZGVFbnRyeT4+CistICAgICAgdXBncmFkYWJsZV9z ZXJ2ZXJzKHsKKysgICAgICB1cGdyYWRhYmxlX3NlcnZlcnN7eworICAgICAgICAgICBEb2hVcGdy YWRlRW50cnkoCisgICAgICAgICAgICAgICAiQ2xlYW5Ccm93c2luZ0FkdWx0IiwKKyAgICAgICAg ICAgICAgIHsiMTg1LjIyOC4xNjguMTAiLCAiMTg1LjIyOC4xNjkuMTEiLCAiMmEwZDoyYTAwOjE6 OjEiLAorQEAgLTIxNSw3ICsyMTUsNyBAQAorICAgICAgICAgICAgICAgeyI5LjkuOS45IiwgIjE0 OS4xMTIuMTEyLjExMiIsICIyNjIwOmZlOjpmZSIsICIyNjIwOmZlOjo5In0sCisgICAgICAgICAg ICAgICB7ImRucy5xdWFkOS5uZXQiLCAiZG5zOS5xdWFkOS5uZXQifSAvKiBEb1QgaG9zdG5hbWUg Ki8sCisgICAgICAgICAgICAgICB7Imh0dHBzOi8vZG5zLnF1YWQ5Lm5ldC9kbnMtcXVlcnkiLCB0 cnVlIC8qIHVzZV9wb3N0ICovfSksCistICAgICAgfSk7CisrICAgICAgfX07CisgICByZXR1cm4g KnVwZ3JhZGFibGVfc2VydmVyczsKKyB9CisgCmRpZmYgLS1naXQgYS9zcmNwa2dzL2VsZWN0cm9u Ny9maWxlcy9wYXRjaGVzL2Nocm9taXVtLTc5LWdjYy1pbmNsdWRlcy5wYXRjaCBiL3NyY3BrZ3Mv ZWxlY3Ryb243L2ZpbGVzL3BhdGNoZXMvY2hyb21pdW0tNzktZ2NjLWluY2x1ZGVzLnBhdGNoCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4wNWNiMWU5YjYzNAotLS0gL2Rl di9udWxsCisrKyBiL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3BhdGNoZXMvY2hyb21pdW0tNzkt Z2NjLWluY2x1ZGVzLnBhdGNoCkBAIC0wLDAgKzEsMTAyIEBACitGcm9tIGNmMjAyMmIxMWNkM2Uy OGYxZjM3NzdiMDYwZmQ1MDlmNjY1ZmY4ZTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9t OiBFbHZpcyBQcmFuc2tldmljaHVzIDxlbHZpc0BtYWdpYy5pbz4KK0RhdGU6IE1vbiwgNiBKdWwg MjAyMCAxMDoyMToyNyAtMDcwMAorU3ViamVjdDogW1BBVENIXSBHQ0MgMTAgRml4ZXMKKworLS0t CisgYmFzZS90cmFjZV9ldmVudC90cmFjZV9ldmVudF9tZW1vcnlfb3ZlcmhlYWQuaCAgICAgICAg ICAgfCAxICsKKyB0aGlyZF9wYXJ0eS9hbmdsZS9pbmNsdWRlL3BsYXRmb3JtL1BsYXRmb3JtLmgg ICAgICAgICAgICB8IDEgKworIHRoaXJkX3BhcnR5L3BlcmZldHRvL2luY2x1ZGUvcGVyZmV0dG8v YmFzZS90YXNrX3J1bm5lci5oIHwgMiArKworIHRoaXJkX3BhcnR5L3dlYnJ0Yy9jYWxsL3J0eF9y ZWNlaXZlX3N0cmVhbS5oICAgICAgICAgICAgIHwgMSArCisgNCBmaWxlcyBjaGFuZ2VkLCA1IGlu c2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2Jhc2UvdHJhY2VfZXZlbnQvdHJhY2VfZXZlbnRf bWVtb3J5X292ZXJoZWFkLmggYi9iYXNlL3RyYWNlX2V2ZW50L3RyYWNlX2V2ZW50X21lbW9yeV9v dmVyaGVhZC5oCitpbmRleCA2OTQ2OGQ0Li5lMTBhM2VjIDEwMDY0NAorLS0tIGEvYmFzZS90cmFj ZV9ldmVudC90cmFjZV9ldmVudF9tZW1vcnlfb3ZlcmhlYWQuaAorKysrIGIvYmFzZS90cmFjZV9l dmVudC90cmFjZV9ldmVudF9tZW1vcnlfb3ZlcmhlYWQuaAorQEAgLTgsNiArOCw3IEBACisgI2lu Y2x1ZGUgPHN0ZGRlZi5oPgorICNpbmNsdWRlIDxzdGRpbnQuaD4KKyAKKysjaW5jbHVkZSA8c3Ry aW5nPgorICNpbmNsdWRlIDx1bm9yZGVyZWRfbWFwPgorIAorICNpbmNsdWRlICJiYXNlL2Jhc2Vf ZXhwb3J0LmgiCitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvYW5nbGUvaW5jbHVkZS9wbGF0Zm9y bS9QbGF0Zm9ybS5oIGIvdGhpcmRfcGFydHkvYW5nbGUvaW5jbHVkZS9wbGF0Zm9ybS9QbGF0Zm9y bS5oCitpbmRleCBjZWE2MDcwLi4wZmJkNjRmIDEwMDY0NAorLS0tIGEvdGhpcmRfcGFydHkvYW5n bGUvaW5jbHVkZS9wbGF0Zm9ybS9QbGF0Zm9ybS5oCisrKysgYi90aGlyZF9wYXJ0eS9hbmdsZS9p bmNsdWRlL3BsYXRmb3JtL1BsYXRmb3JtLmgKK0BAIC05LDYgKzksNyBAQAorICNpZm5kZWYgQU5H TEVfUExBVEZPUk1fSAorICNkZWZpbmUgQU5HTEVfUExBVEZPUk1fSAorIAorKyNpbmNsdWRlIDxz dGRkZWYuaD4KKyAjaW5jbHVkZSA8c3RkaW50Lmg+CisgI2luY2x1ZGUgPGFycmF5PgorIAorZGlm ZiAtLWdpdCBhL3RoaXJkX3BhcnR5L3BlcmZldHRvL2luY2x1ZGUvcGVyZmV0dG8vYmFzZS90YXNr X3J1bm5lci5oIGIvdGhpcmRfcGFydHkvcGVyZmV0dG8vaW5jbHVkZS9wZXJmZXR0by9iYXNlL3Rh c2tfcnVubmVyLmgKK2luZGV4IGNmNjA0MDEuLjA0MGFhYjIgMTAwNjQ0CistLS0gYS90aGlyZF9w YXJ0eS9wZXJmZXR0by9pbmNsdWRlL3BlcmZldHRvL2Jhc2UvdGFza19ydW5uZXIuaAorKysrIGIv dGhpcmRfcGFydHkvcGVyZmV0dG8vaW5jbHVkZS9wZXJmZXR0by9iYXNlL3Rhc2tfcnVubmVyLmgK K0BAIC0xNyw2ICsxNyw4IEBACisgI2lmbmRlZiBJTkNMVURFX1BFUkZFVFRPX0JBU0VfVEFTS19S VU5ORVJfSF8KKyAjZGVmaW5lIElOQ0xVREVfUEVSRkVUVE9fQkFTRV9UQVNLX1JVTk5FUl9IXwor IAorKyNpbmNsdWRlIDxzdGRpbnQuaD4KKysKKyAjaW5jbHVkZSA8ZnVuY3Rpb25hbD4KKyAKKyAj aW5jbHVkZSAicGVyZmV0dG8vYmFzZS9leHBvcnQuaCIKK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0 eS93ZWJydGMvY2FsbC9ydHhfcmVjZWl2ZV9zdHJlYW0uaCBiL3RoaXJkX3BhcnR5L3dlYnJ0Yy9j YWxsL3J0eF9yZWNlaXZlX3N0cmVhbS5oCitpbmRleCA4ZmZhNDQwLi5mYjJmOWY0IDEwMDY0NAor LS0tIGEvdGhpcmRfcGFydHkvd2VicnRjL2NhbGwvcnR4X3JlY2VpdmVfc3RyZWFtLmgKKysrKyBi L3RoaXJkX3BhcnR5L3dlYnJ0Yy9jYWxsL3J0eF9yZWNlaXZlX3N0cmVhbS5oCitAQCAtMTEsNiAr MTEsOCBAQAorICNpZm5kZWYgQ0FMTF9SVFhfUkVDRUlWRV9TVFJFQU1fSF8KKyAjZGVmaW5lIENB TExfUlRYX1JFQ0VJVkVfU1RSRUFNX0hfCisKKysjaW5jbHVkZSA8c3RkaW50Lmg+CisrCisgI2lu Y2x1ZGUgPG1hcD4KKworICNpbmNsdWRlICJjYWxsL3J0cF9wYWNrZXRfc2lua19pbnRlcmZhY2Uu aCIKK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS93ZWJydGMvbW9kdWxlcy9hdWRpb19wcm9jZXNz aW5nL2FlYzMvY2xvY2tkcmlmdF9kZXRlY3Rvci5oIGIvdGhpcmRfcGFydHkvd2VicnRjL21vZHVs ZXMvYXVkaW9fcHJvY2Vzc2luZy9hZWMzL2Nsb2NrZHJpZnRfZGV0ZWN0b3IuaAoraW5kZXggMjI1 MjhjOS4uMmJhOTBiYiAxMDA2NDQKKy0tLSBhL3RoaXJkX3BhcnR5L3dlYnJ0Yy9tb2R1bGVzL2F1 ZGlvX3Byb2Nlc3NpbmcvYWVjMy9jbG9ja2RyaWZ0X2RldGVjdG9yLmgKKysrKyBiL3RoaXJkX3Bh cnR5L3dlYnJ0Yy9tb2R1bGVzL2F1ZGlvX3Byb2Nlc3NpbmcvYWVjMy9jbG9ja2RyaWZ0X2RldGVj dG9yLmgKK0BAIC0xMSw2ICsxMSw4IEBACisgI2lmbmRlZiBNT0RVTEVTX0FVRElPX1BST0NFU1NJ TkdfQUVDM19DTE9DS0RSSUZUX0RFVEVDVE9SX0hfCisgI2RlZmluZSBNT0RVTEVTX0FVRElPX1BS T0NFU1NJTkdfQUVDM19DTE9DS0RSSUZUX0RFVEVDVE9SX0hfCisKKysjaW5jbHVkZSA8c3RkZGVm Lmg+CisrCisgI2luY2x1ZGUgPGFycmF5PgorCisgbmFtZXNwYWNlIHdlYnJ0YyB7CitkaWZmIC0t Z2l0IGEvbWVkaWEvY2RtL3N1cHBvcnRlZF9jZG1fdmVyc2lvbnMuaCBiL21lZGlhL2NkbS9zdXBw b3J0ZWRfY2RtX3ZlcnNpb25zLmgKK2luZGV4IDNmMjIwZGEuLmM1NGUzYmIgMTAwNjQ0CistLS0g YS9tZWRpYS9jZG0vc3VwcG9ydGVkX2NkbV92ZXJzaW9ucy5oCisrKysgYi9tZWRpYS9jZG0vc3Vw cG9ydGVkX2NkbV92ZXJzaW9ucy5oCitAQCAtNiw2ICs2LDcgQEAKKyAjZGVmaW5lIE1FRElBX0NE TV9TVVBQT1JURURfQ0RNX1ZFUlNJT05TX0hfCisKKyAjaW5jbHVkZSA8YXJyYXk+CisrI2luY2x1 ZGUgPGNzdGRkZWY+CisKKyAjaW5jbHVkZSAibWVkaWEvYmFzZS9tZWRpYV9leHBvcnQuaCIKKyAj aW5jbHVkZSAibWVkaWEvY2RtL2FwaS9jb250ZW50X2RlY3J5cHRpb25fbW9kdWxlLmgiCitkaWZm IC0tZ2l0IGEvdGhpcmRfcGFydHkvd2VicnRjL21vZHVsZXMvdmlkZW9fY29kaW5nL2RlY29kaW5n X3N0YXRlLmggYi90aGlyZF9wYXJ0eS93ZWJydGMvbW9kdWxlcy92aWRlb19jb2RpbmcvZGVjb2Rp bmdfc3RhdGUuaAoraW5kZXggYjg3ZmIyZC4uZWM5NzI5NCAxMDA2NDQKKy0tLSBhL3RoaXJkX3Bh cnR5L3dlYnJ0Yy9tb2R1bGVzL3ZpZGVvX2NvZGluZy9kZWNvZGluZ19zdGF0ZS5oCisrKysgYi90 aGlyZF9wYXJ0eS93ZWJydGMvbW9kdWxlcy92aWRlb19jb2RpbmcvZGVjb2Rpbmdfc3RhdGUuaAor QEAgLTExLDYgKzExLDcgQEAKKyAjaWZuZGVmIE1PRFVMRVNfVklERU9fQ09ESU5HX0RFQ09ESU5H X1NUQVRFX0hfCisgI2RlZmluZSBNT0RVTEVTX1ZJREVPX0NPRElOR19ERUNPRElOR19TVEFURV9I XworCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUgPG1hcD4KKyAjaW5jbHVkZSA8c2V0 PgorICNpbmNsdWRlIDx2ZWN0b3I+CistLSAKKzIuMjYuMgorCmRpZmYgLS1naXQgYS9zcmNwa2dz L2VsZWN0cm9uNy9maWxlcy9wYXRjaGVzL2Nocm9taXVtLTc5LWdjYy1zdGF0dXMtZW51bS5wYXRj aCBiL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3BhdGNoZXMvY2hyb21pdW0tNzktZ2NjLXN0YXR1 cy1lbnVtLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5lZjU3 Y2U3NzRhOQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3BhdGNo ZXMvY2hyb21pdW0tNzktZ2NjLXN0YXR1cy1lbnVtLnBhdGNoCkBAIC0wLDAgKzEsMzEgQEAKK0Zy b20gZDQ4NDg2NTA3ZDZiNGVkMTMwNjk2NzIxYTc1OGUyYTIzMTA2NmNmNyBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKK0Zyb206IEVsdmlzIFByYW5za2V2aWNodXMgPGVsdmlzQG1hZ2ljLmlvPgor RGF0ZTogTW9uLCA2IEp1bCAyMDIwIDE2OjMzOjE0IC0wNzAwCitTdWJqZWN0OiBbUEFUQ0hdIEdD Qy1YMTEtU3VjY2Vzcy1lbnVtCisKKy0tLQorIGNvbXBvbmVudHMvdml6L2hvc3QvaG9zdF9kaXNw bGF5X2NsaWVudC5oIHwgNyArKysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygr KQorCitkaWZmIC0tZ2l0IGEvY29tcG9uZW50cy92aXovaG9zdC9ob3N0X2Rpc3BsYXlfY2xpZW50 LmggYi9jb21wb25lbnRzL3Zpei9ob3N0L2hvc3RfZGlzcGxheV9jbGllbnQuaAoraW5kZXggNzJh ODA3ZS4uMjU3YmM4NiAxMDA2NDQKKy0tLSBhL2NvbXBvbmVudHMvdml6L2hvc3QvaG9zdF9kaXNw bGF5X2NsaWVudC5oCisrKysgYi9jb21wb25lbnRzL3Zpei9ob3N0L2hvc3RfZGlzcGxheV9jbGll bnQuaAorQEAgLTEzLDcgKzEzLDE0IEBACisgI2luY2x1ZGUgImJ1aWxkL2J1aWxkX2NvbmZpZy5o IgorICNpbmNsdWRlICJjb21wb25lbnRzL3Zpei9ob3N0L3Zpel9ob3N0X2V4cG9ydC5oIgorICNp bmNsdWRlICJtb2pvL3B1YmxpYy9jcHAvYmluZGluZ3MvYmluZGluZy5oIgorKyNpZmRlZiBTdWNj ZXNzCisrI3VuZGVmIFN1Y2Nlc3MKKysjZGVmaW5lIF9fWDExX1NVQ0NFU1MKKysjZW5kaWYKKyAj aW5jbHVkZSAic2VydmljZXMvdml6L3ByaXZpbGVnZWQvbW9qb20vY29tcG9zaXRpbmcvZGlzcGxh eV9wcml2YXRlLm1vam9tLmgiCisrI2lmZGVmIF9fWDExX1NVQ0NFU1MKKysjZGVmaW5lIFN1Y2Nl c3MgMAorKyNlbmRpZgorICNpbmNsdWRlICJ1aS9nZngvbmF0aXZlX3dpZGdldF90eXBlcy5oIgor IAorIG5hbWVzcGFjZSB2aXogeworLS0gCisyLjI2LjIKKwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9l bGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9jaHJvbWl1bS03OS1pY3UtNjUucGF0Y2ggYi9zcmNwa2dz L2VsZWN0cm9uNy9maWxlcy9wYXRjaGVzL2Nocm9taXVtLTc5LWljdS02NS5wYXRjaApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZTA3MzJiNmFjZTIKLS0tIC9kZXYvbnVs bAorKysgYi9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9wYXRjaGVzL2Nocm9taXVtLTc5LWljdS02 NS5wYXRjaApAQCAtMCwwICsxLDEzIEBACitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvYmxpbmsv cmVuZGVyZXIvY29yZS9kb20vZG9jdW1lbnQuY2MgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJl ci9jb3JlL2RvbS9kb2N1bWVudC5jYworaW5kZXggNWE2Mjc3MC4uMWZhZTJhYSAxMDA2NDQKKy0t LSBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvZG9tL2RvY3VtZW50LmNjCisrKysg Yi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL2RvbS9kb2N1bWVudC5jYworQEAgLTYx OTIsNyArNjE5Miw3IEBAIHN0YXRpYyBQYXJzZVF1YWxpZmllZE5hbWVSZXN1bHQgUGFyc2VRdWFs aWZpZWROYW1lSW50ZXJuYWwoCisgCisgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbGVuZ3Ro OykgeworICAgICBVQ2hhcjMyIGM7CistICAgIFUxNl9ORVhUKGNoYXJhY3RlcnMsIGksIGxlbmd0 aCwgYykKKysgICAgVTE2X05FWFQoY2hhcmFjdGVycywgaSwgbGVuZ3RoLCBjKTsKKyAgICAgaWYg KGMgPT0gJzonKSB7CisgICAgICAgaWYgKHNhd19jb2xvbikKKyAgICAgICAgIHJldHVybiBQYXJz ZVF1YWxpZmllZE5hbWVSZXN1bHQoa1FOTXVsdGlwbGVDb2xvbnMpOwpkaWZmIC0tZ2l0IGEvc3Jj cGtncy9lbGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9jaHJvbWl1bS03OS1pY3UtNjcucGF0Y2ggYi9z cmNwa2dzL2VsZWN0cm9uNy9maWxlcy9wYXRjaGVzL2Nocm9taXVtLTc5LWljdS02Ny5wYXRjaApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uYzE4YjNlZDVjNTEKLS0tIC9k ZXYvbnVsbAorKysgYi9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9wYXRjaGVzL2Nocm9taXVtLTc5 LWljdS02Ny5wYXRjaApAQCAtMCwwICsxLDE2NyBAQAorRnJvbSA2NGI4ZWU2ZmM2NWJjY2UwN2Jj YWE0YmJhNWY2MWYyOWM1NDk1MjUzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRnJh bmsgVGFuZyA8ZnRhbmdAY2hyb21pdW0ub3JnPgorRGF0ZTogRnJpLCAzIEFwciAyMDIwIDIzOjEz OjU0IC0wNzAwCitTdWJqZWN0OiBbUEFUQ0hdIFtpbnRsXSBSZW1vdmUgc29vbi10by1iZSByZW1v dmVkIGdldEFsbEZpZWxkUG9zaXRpb25zCisKK05lZWRlZCB0byBsYW5kIElDVTY3LjEgc29vbi4K KworQnVnOiB2ODoxMDM5MworQ2hhbmdlLUlkOiBJM2M3NzM3Y2E2MDBkNmNjZmRjNDZmZmFkZGZi MzE4Y2U2MGJjNzYxOAorUmV2aWV3ZWQtb246IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3Lmdvb2ds ZXNvdXJjZS5jb20vYy92OC92OC8rLzIxMzY0ODkKK1Jldmlld2VkLWJ5OiBKYWtvYiBLdW1tZXJv dyA8amt1bW1lcm93QGNocm9taXVtLm9yZz4KK0NvbW1pdC1RdWV1ZTogRnJhbmsgVGFuZyA8ZnRh bmdAY2hyb21pdW0ub3JnPgorQ3ItQ29tbWl0LVBvc2l0aW9uOiByZWZzL2hlYWRzL21hc3RlckB7 IzY3MDI3fQorLS0tCisgdjgvc3JjL29iamVjdHMvanMtbnVtYmVyLWZvcm1hdC5jYyB8IDc2ICsr KysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA0MCBpbnNl cnRpb25zKCspLCAzNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3Y4L3NyYy9vYmplY3Rz L2pzLW51bWJlci1mb3JtYXQuY2MgYi92OC9zcmMvb2JqZWN0cy9qcy1udW1iZXItZm9ybWF0LmNj CitpbmRleCBmZjU2NDk3NWQ2Li5hZDhlMTczYjU5IDEwMDY0NAorLS0tIGEvdjgvc3JjL29iamVj dHMvanMtbnVtYmVyLWZvcm1hdC5jYworKysrIGIvdjgvc3JjL29iamVjdHMvanMtbnVtYmVyLWZv cm1hdC5jYworQEAgLTEyNTcsNDIgKzEyNTcsMzMgQEAgTWF5YmVIYW5kbGU8SlNOdW1iZXJGb3Jt YXQ+IEpTTnVtYmVyRm9ybWF0OjpOZXcoSXNvbGF0ZSogaXNvbGF0ZSwKKyB9CisKKyBuYW1lc3Bh Y2UgeworLU1heWJlPGljdTo6VW5pY29kZVN0cmluZz4gSWN1Rm9ybWF0TnVtYmVyKAorK01heWJl PGJvb2w+IEljdUZvcm1hdE51bWJlcigKKyAgICAgSXNvbGF0ZSogaXNvbGF0ZSwKKyAgICAgY29u c3QgaWN1OjpudW1iZXI6OkxvY2FsaXplZE51bWJlckZvcm1hdHRlciYgbnVtYmVyX2Zvcm1hdCwK Ky0gICAgSGFuZGxlPE9iamVjdD4gbnVtZXJpY19vYmosIGljdTo6RmllbGRQb3NpdGlvbkl0ZXJh dG9yKiBmcF9pdGVyKSB7CisrICAgIEhhbmRsZTxPYmplY3Q+IG51bWVyaWNfb2JqLCBpY3U6Om51 bWJlcjo6Rm9ybWF0dGVkTnVtYmVyKiBmb3JtYXR0ZWQpIHsKKyAgIC8vIElmIGl0IGlzIEJpZ0lu dCwgaGFuZGxlIGl0IGRpZmZlcmVudGx5LgorICAgVUVycm9yQ29kZSBzdGF0dXMgPSBVX1pFUk9f RVJST1I7CistICBpY3U6Om51bWJlcjo6Rm9ybWF0dGVkTnVtYmVyIGZvcm1hdHRlZDsKKyAgIGlm IChudW1lcmljX29iai0+SXNCaWdJbnQoKSkgeworICAgICBIYW5kbGU8QmlnSW50PiBiaWdfaW50 ID0gSGFuZGxlPEJpZ0ludD46OmNhc3QobnVtZXJpY19vYmopOworICAgICBIYW5kbGU8U3RyaW5n PiBiaWdfaW50X3N0cmluZzsKKyAgICAgQVNTSUdOX1JFVFVSTl9PTl9FWENFUFRJT05fVkFMVUUo aXNvbGF0ZSwgYmlnX2ludF9zdHJpbmcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEJpZ0ludDo6VG9TdHJpbmcoaXNvbGF0ZSwgYmlnX2ludCksCistICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIE5vdGhpbmc8aWN1OjpVbmljb2RlU3RyaW5nPigpKTsK Ky0gICAgZm9ybWF0dGVkID0gbnVtYmVyX2Zvcm1hdC5mb3JtYXREZWNpbWFsKAorKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOb3RoaW5nPGJvb2w+KCkpOworKyAgICAqZm9y bWF0dGVkID0gbnVtYmVyX2Zvcm1hdC5mb3JtYXREZWNpbWFsKAorICAgICAgICAge2JpZ19pbnRf c3RyaW5nLT5Ub0NTdHJpbmcoKS5nZXQoKSwgYmlnX2ludF9zdHJpbmctPmxlbmd0aCgpfSwgc3Rh dHVzKTsKKyAgIH0gZWxzZSB7CistICAgIGRvdWJsZSBudW1iZXIgPSBudW1lcmljX29iai0+TnVt YmVyKCk7CistICAgIGZvcm1hdHRlZCA9IG51bWJlcl9mb3JtYXQuZm9ybWF0RG91YmxlKG51bWJl ciwgc3RhdHVzKTsKKysgICAgZG91YmxlIG51bWJlciA9IG51bWVyaWNfb2JqLT5Jc05hTigpCisr ICAgICAgICAgICAgICAgICAgICAgICAgPyBzdGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT46OnF1 aWV0X05hTigpCisrICAgICAgICAgICAgICAgICAgICAgICAgOiBudW1lcmljX29iai0+TnVtYmVy KCk7CisrICAgICpmb3JtYXR0ZWQgPSBudW1iZXJfZm9ybWF0LmZvcm1hdERvdWJsZShudW1iZXIs IHN0YXR1cyk7CisgICB9CisgICBpZiAoVV9GQUlMVVJFKHN0YXR1cykpIHsKKyAgICAgLy8gVGhp cyBoYXBwZW4gYmVjYXVzZSBvZiBpY3UgZGF0YSB0cmltbWluZyB0cmltIG91dCAidW5pdCIuCisg ICAgIC8vIFNlZSBodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvdjgvaXNzdWVzL2RldGFpbD9p ZD04NjQxCistICAgIFRIUk9XX05FV19FUlJPUl9SRVRVUk5fVkFMVUUoaXNvbGF0ZSwKKy0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXdUeXBlRXJyb3IoTWVzc2FnZVRlbXBsYXRl OjprSWN1RXJyb3IpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vdGhpbmc8 aWN1OjpVbmljb2RlU3RyaW5nPigpKTsKKy0gIH0KKy0gIGlmIChmcF9pdGVyKSB7CistICAgIGZv cm1hdHRlZC5nZXRBbGxGaWVsZFBvc2l0aW9ucygqZnBfaXRlciwgc3RhdHVzKTsKKysgICAgVEhS T1dfTkVXX0VSUk9SX1JFVFVSTl9WQUxVRSgKKysgICAgICAgIGlzb2xhdGUsIE5ld1R5cGVFcnJv cihNZXNzYWdlVGVtcGxhdGU6OmtJY3VFcnJvciksIE5vdGhpbmc8Ym9vbD4oKSk7CisgICB9Cist ICBpY3U6OlVuaWNvZGVTdHJpbmcgcmVzdWx0ID0gZm9ybWF0dGVkLnRvU3RyaW5nKHN0YXR1cyk7 CistICBpZiAoVV9GQUlMVVJFKHN0YXR1cykpIHsKKy0gICAgVEhST1dfTkVXX0VSUk9SX1JFVFVS Tl9WQUxVRShpc29sYXRlLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ld1R5 cGVFcnJvcihNZXNzYWdlVGVtcGxhdGU6OmtJY3VFcnJvciksCistICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgTm90aGluZzxpY3U6OlVuaWNvZGVTdHJpbmc+KCkpOworLSAgfQorLSAg cmV0dXJuIEp1c3QocmVzdWx0KTsKKysgIHJldHVybiBKdXN0KHRydWUpOworIH0KKworIH0gIC8v IG5hbWVzcGFjZQorQEAgLTEzMDMsMTAgKzEyOTQsMTYgQEAgTWF5YmVIYW5kbGU8U3RyaW5nPiBK U051bWJlckZvcm1hdDo6Rm9ybWF0TnVtZXJpYygKKyAgICAgSGFuZGxlPE9iamVjdD4gbnVtZXJp Y19vYmopIHsKKyAgIERDSEVDSyhudW1lcmljX29iai0+SXNOdW1lcmljKCkpOworCistICBNYXli ZTxpY3U6OlVuaWNvZGVTdHJpbmc+IG1heWJlX2Zvcm1hdCA9CistICAgICAgSWN1Rm9ybWF0TnVt YmVyKGlzb2xhdGUsIG51bWJlcl9mb3JtYXQsIG51bWVyaWNfb2JqLCBudWxscHRyKTsKKysgIGlj dTo6bnVtYmVyOjpGb3JtYXR0ZWROdW1iZXIgZm9ybWF0dGVkOworKyAgTWF5YmU8Ym9vbD4gbWF5 YmVfZm9ybWF0ID0KKysgICAgICBJY3VGb3JtYXROdW1iZXIoaXNvbGF0ZSwgbnVtYmVyX2Zvcm1h dCwgbnVtZXJpY19vYmosICZmb3JtYXR0ZWQpOworICAgTUFZQkVfUkVUVVJOKG1heWJlX2Zvcm1h dCwgSGFuZGxlPFN0cmluZz4oKSk7CistICByZXR1cm4gSW50bDo6VG9TdHJpbmcoaXNvbGF0ZSwg bWF5YmVfZm9ybWF0LkZyb21KdXN0KCkpOworKyAgVUVycm9yQ29kZSBzdGF0dXMgPSBVX1pFUk9f RVJST1I7CisrICBpY3U6OlVuaWNvZGVTdHJpbmcgcmVzdWx0ID0gZm9ybWF0dGVkLnRvU3RyaW5n KHN0YXR1cyk7CisrICBpZiAoVV9GQUlMVVJFKHN0YXR1cykpIHsKKysgICAgVEhST1dfTkVXX0VS Uk9SKGlzb2xhdGUsIE5ld1R5cGVFcnJvcihNZXNzYWdlVGVtcGxhdGU6OmtJY3VFcnJvciksIFN0 cmluZyk7CisrICB9CisrICByZXR1cm4gSW50bDo6VG9TdHJpbmcoaXNvbGF0ZSwgcmVzdWx0KTsK KyB9CisKKyBuYW1lc3BhY2UgeworQEAgLTE0MTksMTIgKzE0MTYsMTggQEAgc3RkOjp2ZWN0b3I8 TnVtYmVyRm9ybWF0U3Bhbj4gRmxhdHRlblJlZ2lvbnNUb1BhcnRzKAorIH0KKworIG5hbWVzcGFj ZSB7CistTWF5YmU8aW50PiBDb25zdHJ1Y3RQYXJ0cyhJc29sYXRlKiBpc29sYXRlLCBjb25zdCBp Y3U6OlVuaWNvZGVTdHJpbmcmIGZvcm1hdHRlZCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAg IGljdTo6RmllbGRQb3NpdGlvbkl0ZXJhdG9yKiBmcF9pdGVyLAorK01heWJlPGludD4gQ29uc3Ry dWN0UGFydHMoSXNvbGF0ZSogaXNvbGF0ZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgIGlj dTo6bnVtYmVyOjpGb3JtYXR0ZWROdW1iZXIqIGZvcm1hdHRlZCwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgIEhhbmRsZTxKU0FycmF5PiByZXN1bHQsIGludCBzdGFydF9pbmRleCwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgIEhhbmRsZTxPYmplY3Q+IG51bWVyaWNfb2JqLCBib29sIHN0 eWxlX2lzX3VuaXQpIHsKKysgIFVFcnJvckNvZGUgc3RhdHVzID0gVV9aRVJPX0VSUk9SOworKyAg aWN1OjpVbmljb2RlU3RyaW5nIGZvcm1hdHRlZF90ZXh0ID0gZm9ybWF0dGVkLT50b1N0cmluZyhz dGF0dXMpOworKyAgaWYgKFVfRkFJTFVSRShzdGF0dXMpKSB7CisrICAgIFRIUk9XX05FV19FUlJP Ul9SRVRVUk5fVkFMVUUoCisrICAgICAgICBpc29sYXRlLCBOZXdUeXBlRXJyb3IoTWVzc2FnZVRl bXBsYXRlOjprSWN1RXJyb3IpLCBOb3RoaW5nPGludD4oKSk7CisrICB9CisgICBEQ0hFQ0sobnVt ZXJpY19vYmotPklzTnVtZXJpYygpKTsKKy0gIGludDMyX3QgbGVuZ3RoID0gZm9ybWF0dGVkLmxl bmd0aCgpOworKyAgaW50MzJfdCBsZW5ndGggPSBmb3JtYXR0ZWRfdGV4dC5sZW5ndGgoKTsKKyAg IGludCBpbmRleCA9IHN0YXJ0X2luZGV4OworICAgaWYgKGxlbmd0aCA9PSAwKSByZXR1cm4gSnVz dChpbmRleCk7CisKK0BAIC0xNDMzLDEzICsxNDM2LDE0IEBAIE1heWJlPGludD4gQ29uc3RydWN0 UGFydHMoSXNvbGF0ZSogaXNvbGF0ZSwgY29uc3QgaWN1OjpVbmljb2RlU3RyaW5nJiBmb3JtYXR0 ZWQsCisgICAvLyBvdGhlciByZWdpb24gY292ZXJzIHNvbWUgcGFydCBvZiB0aGUgZm9ybWF0dGVk IHN0cmluZy4gSXQncyBwb3NzaWJsZQorICAgLy8gdGhlcmUncyBhbm90aGVyIGZpZWxkIHdpdGgg ZXhhY3RseSB0aGUgc2FtZSBiZWdpbiBhbmQgZW5kIGFzIHRoaXMgYmFja2Ryb3AsCisgICAvLyBp biB3aGljaCBjYXNlIHRoZSBiYWNrZHJvcCdzIGZpZWxkX2lkIG9mIC0xIHdpbGwgZ2l2ZSBpdCBs b3dlciBwcmlvcml0eS4KKy0gIHJlZ2lvbnMucHVzaF9iYWNrKE51bWJlckZvcm1hdFNwYW4oLTEs IDAsIGZvcm1hdHRlZC5sZW5ndGgoKSkpOworKyAgcmVnaW9ucy5wdXNoX2JhY2soTnVtYmVyRm9y bWF0U3BhbigtMSwgMCwgZm9ybWF0dGVkX3RleHQubGVuZ3RoKCkpKTsKKworICAgeworLSAgICBp Y3U6OkZpZWxkUG9zaXRpb24gZnA7CistICAgIHdoaWxlIChmcF9pdGVyLT5uZXh0KGZwKSkgewor LSAgICAgIHJlZ2lvbnMucHVzaF9iYWNrKE51bWJlckZvcm1hdFNwYW4oZnAuZ2V0RmllbGQoKSwg ZnAuZ2V0QmVnaW5JbmRleCgpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZnAuZ2V0RW5kSW5kZXgoKSkpOworKyAgICBpY3U6OkNvbnN0cmFpbmVkRmllbGRQb3Np dGlvbiBjZnA7CisrICAgIGNmcC5jb25zdHJhaW5DYXRlZ29yeShVRklFTERfQ0FURUdPUllfTlVN QkVSKTsKKysgICAgd2hpbGUgKGZvcm1hdHRlZC0+bmV4dFBvc2l0aW9uKGNmcCwgc3RhdHVzKSkg eworKyAgICAgIHJlZ2lvbnMucHVzaF9iYWNrKAorKyAgICAgICAgICBOdW1iZXJGb3JtYXRTcGFu KGNmcC5nZXRGaWVsZCgpLCBjZnAuZ2V0U3RhcnQoKSwgY2ZwLmdldExpbWl0KCkpKTsKKyAgICAg fQorICAgfQorCitAQCAtMTQ2MSw3ICsxNDY1LDcgQEAgTWF5YmU8aW50PiBDb25zdHJ1Y3RQYXJ0 cyhJc29sYXRlKiBpc29sYXRlLCBjb25zdCBpY3U6OlVuaWNvZGVTdHJpbmcmIGZvcm1hdHRlZCwK KyAgICAgSGFuZGxlPFN0cmluZz4gc3Vic3RyaW5nOworICAgICBBU1NJR05fUkVUVVJOX09OX0VY Q0VQVElPTl9WQUxVRSgKKyAgICAgICAgIGlzb2xhdGUsIHN1YnN0cmluZywKKy0gICAgICAgIElu dGw6OlRvU3RyaW5nKGlzb2xhdGUsIGZvcm1hdHRlZCwgcGFydC5iZWdpbl9wb3MsIHBhcnQuZW5k X3BvcyksCisrICAgICAgICBJbnRsOjpUb1N0cmluZyhpc29sYXRlLCBmb3JtYXR0ZWRfdGV4dCwg cGFydC5iZWdpbl9wb3MsIHBhcnQuZW5kX3BvcyksCisgICAgICAgICBOb3RoaW5nPGludD4oKSk7 CisgICAgIEludGw6OkFkZEVsZW1lbnQoaXNvbGF0ZSwgcmVzdWx0LCBpbmRleCwgZmllbGRfdHlw ZV9zdHJpbmcsIHN1YnN0cmluZyk7CisgICAgICsraW5kZXg7CitAQCAtMTQ4MSwxNCArMTQ4NSwx NCBAQCBNYXliZUhhbmRsZTxKU0FycmF5PiBKU051bWJlckZvcm1hdDo6Rm9ybWF0VG9QYXJ0cygK KyAgICAgICBudW1iZXJfZm9ybWF0LT5pY3VfbnVtYmVyX2Zvcm1hdHRlcigpLnJhdygpOworICAg Q0hFQ0tfTk9UX05VTEwoZm10KTsKKworLSAgaWN1OjpGaWVsZFBvc2l0aW9uSXRlcmF0b3IgZnBf aXRlcjsKKy0gIE1heWJlPGljdTo6VW5pY29kZVN0cmluZz4gbWF5YmVfZm9ybWF0ID0KKy0gICAg ICBJY3VGb3JtYXROdW1iZXIoaXNvbGF0ZSwgKmZtdCwgbnVtZXJpY19vYmosICZmcF9pdGVyKTsK KysgIGljdTo6bnVtYmVyOjpGb3JtYXR0ZWROdW1iZXIgZm9ybWF0dGVkOworKyAgTWF5YmU8Ym9v bD4gbWF5YmVfZm9ybWF0ID0KKysgICAgICBJY3VGb3JtYXROdW1iZXIoaXNvbGF0ZSwgKmZtdCwg bnVtZXJpY19vYmosICZmb3JtYXR0ZWQpOworICAgTUFZQkVfUkVUVVJOKG1heWJlX2Zvcm1hdCwg SGFuZGxlPEpTQXJyYXk+KCkpOworCisgICBIYW5kbGU8SlNBcnJheT4gcmVzdWx0ID0gZmFjdG9y eS0+TmV3SlNBcnJheSgwKTsKKyAgIE1heWJlPGludD4gbWF5YmVfZm9ybWF0X3RvX3BhcnRzID0g Q29uc3RydWN0UGFydHMoCistICAgICAgaXNvbGF0ZSwgbWF5YmVfZm9ybWF0LkZyb21KdXN0KCks ICZmcF9pdGVyLCByZXN1bHQsIDAsIG51bWVyaWNfb2JqLAorKyAgICAgIGlzb2xhdGUsICZmb3Jt YXR0ZWQsIHJlc3VsdCwgMCwgbnVtZXJpY19vYmosCisgICAgICAgbnVtYmVyX2Zvcm1hdC0+c3R5 bGUoKSA9PSBKU051bWJlckZvcm1hdDo6U3R5bGU6OlVOSVQpOworICAgTUFZQkVfUkVUVVJOKG1h eWJlX2Zvcm1hdF90b19wYXJ0cywgSGFuZGxlPEpTQXJyYXk+KCkpOworCistLQorMi4yNi4yCmRp ZmYgLS1naXQgYS9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9wYXRjaGVzL2Nocm9taXVtLWNocm9t aXVtX2F0a19vcHRpb25hbC5wYXRjaC5wYXRjaCBiL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3Bh dGNoZXMvY2hyb21pdW0tY2hyb21pdW1fYXRrX29wdGlvbmFsLnBhdGNoLnBhdGNoCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4yN2I1NjI1MWVjMwotLS0gL2Rldi9udWxs CisrKyBiL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3BhdGNoZXMvY2hyb21pdW0tY2hyb21pdW1f YXRrX29wdGlvbmFsLnBhdGNoLnBhdGNoCkBAIC0wLDAgKzEsMTcgQEAKK2RpZmYgLS1naXQgYS9i dWlsZC9jb25maWcvdWkuZ25pIGIvYnVpbGQvY29uZmlnL3VpLmduaQoraW5kZXggNTQ3YjQyZi4u OTY2YjAwYyAxMDA2NDQKKy0tLSBhL2J1aWxkL2NvbmZpZy91aS5nbmkKKysrKyBiL2J1aWxkL2Nv bmZpZy91aS5nbmkKK0BAIC01MSw4ICs1MSwxMCBAQCBpZiAodXNlX296b25lKSB7CisgICB1c2Vf Z2xpYiA9IGZhbHNlCisgfQorCistIyBXaGV0aGVyIHRvIHVzZSBhdGssIHRoZSBBY2Nlc3NpYmls aXR5IFRvb2xLaXQgbGlicmFyeQorLXVzZV9hdGsgPSBpc19kZXNrdG9wX2xpbnV4ICYmIHVzZV94 MTEKKytkZWNsYXJlX2FyZ3MoKSB7CisrICAjIFdoZXRoZXIgdG8gdXNlIGF0aywgdGhlIEFjY2Vz c2liaWxpdHkgVG9vbEtpdCBsaWJyYXJ5CisrICB1c2VfYXRrID0gaXNfZGVza3RvcF9saW51eCAm JiB1c2VfeDExCisrfQorICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09CisgIyAgIFBMRUFTRSBETyBOT1QgQUREIE1PUkUgRkxBR1MgVE8gVEhJUyBGSUxFCisg IyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KZGlmZiAtLWdp dCBhL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3BhdGNoZXMvY2hyb21pdW0tY2xhbmcxMF9nbHNs YW5nLnBhdGNoLnBhdGNoIGIvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9jaHJvbWl1 bS1jbGFuZzEwX2dsc2xhbmcucGF0Y2gucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwMDAuLjkxZWY4NGNhN2U2Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9lbGVj dHJvbjcvZmlsZXMvcGF0Y2hlcy9jaHJvbWl1bS1jbGFuZzEwX2dsc2xhbmcucGF0Y2gucGF0Y2gK QEAgLTAsMCArMSwyNSBAQAorRnJvbSAyNGIzZTgzODRlOTNmM2U3M2I2YWExNGVhMDBhMzA1NzQx MTJmOWJhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUmVpZCBLbGVja25lciA8cm5r QGdvb2dsZS5jb20+CitEYXRlOiBXZWQsIDQgRGVjIDIwMTkgMTQ6MDk6MDMgLTA4MDAKK1N1Ympl Y3Q6IFtQQVRDSF0gUmVtb3ZlIGdsc2xhbmc6OnBvb2xfYWxsb2NhdG9yOjpzZXRBbGxvY2F0b3IK KworVFBvb2xBbGxvY2F0b3IgaXMgbm90IGNvcHkgYXNzaWduYWJsZSwgc28gdGhpcyBzZXR0ZXIg Y291bGQgbmV2ZXIgaGF2ZQorYmVlbiB1c2VkLiBBZnRlciBhIHJlY2VudCBjaGFuZ2UgKDg3OGEy NGVlMiksIG5ldyB2ZXJzaW9ucyBvZiBDbGFuZworcmVqZWN0IHRoaXMgY29kZSBvdXRyaWdodC4K Ky0tLQorIGdsc2xhbmcvSW5jbHVkZS9Qb29sQWxsb2MuaCB8IDEgLQorIDEgZmlsZSBjaGFuZ2Vk LCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9nbHNsYW5nL0luY2x1ZGUvUG9vbEFsbG9j LmggYi9nbHNsYW5nL0luY2x1ZGUvUG9vbEFsbG9jLmgKK2luZGV4IDBlMjM3YTZhMi4uYjhlY2Ni ODgzIDEwMDY0NAorLS0tIGEvdGhpcmRfcGFydHkvZ2xzbGFuZy9zcmMvZ2xzbGFuZy9JbmNsdWRl L1Bvb2xBbGxvYy5oCisrKysgYi90aGlyZF9wYXJ0eS9nbHNsYW5nL3NyYy9nbHNsYW5nL0luY2x1 ZGUvUG9vbEFsbG9jLmgKK0BAIC0zMDQsNyArMzA0LDYgQEAgY2xhc3MgcG9vbF9hbGxvY2F0b3Ig eworICAgICBzaXplX3R5cGUgbWF4X3NpemUoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxz aXplX3R5cGU+KC0xKSAvIHNpemVvZihUKTsgfQorICAgICBzaXplX3R5cGUgbWF4X3NpemUoaW50 IHNpemUpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PHNpemVfdHlwZT4oLTEpIC8gc2l6ZTsg fQorIAorLSAgICB2b2lkIHNldEFsbG9jYXRvcihUUG9vbEFsbG9jYXRvciogYSkgeyBhbGxvY2F0 b3IgPSAqYTsgfQorICAgICBUUG9vbEFsbG9jYXRvciYgZ2V0QWxsb2NhdG9yKCkgY29uc3QgeyBy ZXR1cm4gYWxsb2NhdG9yOyB9CisgCisgcHJvdGVjdGVkOgorCmRpZmYgLS1naXQgYS9zcmNwa2dz L2VsZWN0cm9uNy9maWxlcy9wYXRjaGVzL2Nocm9taXVtLWNvbXBpbGVyLXIxMC5wYXRjaCBiL3Ny Y3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3BhdGNoZXMvY2hyb21pdW0tY29tcGlsZXItcjEwLnBhdGNo Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5mMmVjZGMzZjMyYgotLS0g L2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3BhdGNoZXMvY2hyb21pdW0t Y29tcGlsZXItcjEwLnBhdGNoCkBAIC0wLDAgKzEsMTg1IEBACitGcm9tIGExMjA3Y2M3NTQ1NGU2 NTMwMzA3MTY5NDhkMjdlYzI3NDEyZjZmZTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9t OiBNaWtlIEdpbGJlcnQgPGZsb3BweW1AZ2VudG9vLm9yZz4KK0RhdGU6IFNhdCwgMTYgSnVuIDIw MTkgMTU6NDM6MjcgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gRGlzYWJsZSB2YXJpb3VzIGNvbXBp bGVyIGNvbmZpZ3MKKworLS0tCisgYnVpbGQvY29uZmlnL2NvbXBpbGVyL0JVSUxELmduIHwgNjQg KysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAyNSBp bnNlcnRpb25zKCspLCAzOSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2J1aWxkL2NvbmZp Zy9jb21waWxlci9CVUlMRC5nbiBiL2J1aWxkL2NvbmZpZy9jb21waWxlci9CVUlMRC5nbgoraW5k ZXggYTNmMjFiNy4uMGE3YmVjNiAxMDA2NDQKKy0tLSBhL2J1aWxkL2NvbmZpZy9jb21waWxlci9C VUlMRC5nbgorKysrIGIvYnVpbGQvY29uZmlnL2NvbXBpbGVyL0JVSUxELmduCitAQCAtMjMwLDgg KzIzMCw2IEBAIGNvbmZpZygiY29tcGlsZXIiKSB7CisgCisgICBjb25maWdzICs9IFsKKyAgICAg IyBTZWUgdGhlIGRlZmluaXRpb25zIGJlbG93LgorLSAgICAiOmNsYW5nX3JldmlzaW9uIiwKKy0g ICAgIjpjb21waWxlcl9jcHVfYWJpIiwKKyAgICAgIjpjb21waWxlcl9jb2RlZ2VuIiwKKyAgICAg Ijpjb21waWxlcl9kZXRlcm1pbmlzdGljIiwKKyAgIF0KK0BAIC00NzEsMjAgKzQ2OSw2IEBAIGNv bmZpZygiY29tcGlsZXIiKSB7CisgICAgIH0KKyAgIH0KKyAKKy0gIGlmIChpc19jbGFuZyAmJiAh aXNfbmFjbCAmJiAhdXNlX3hjb2RlX2NsYW5nKSB7CistICAgIGNmbGFncyArPSBbICItZmNyYXNo LWRpYWdub3N0aWNzLWRpcj0iICsKKy0gICAgICAgICAgICAgICAgcmViYXNlX3BhdGgoIi8vdG9v bHMvY2xhbmcvY3Jhc2hyZXBvcnRzIiwgcm9vdF9idWlsZF9kaXIpIF0KKy0KKy0gICAgY2ZsYWdz ICs9IFsKKy0gICAgICAjIFRPRE8oaGFucyk6IFJlbW92ZSB0aGlzIG9uY2UgQ2xhbmcgZ2VuZXJh dGVzIGJldHRlciBvcHRpbWl6ZWQgZGVidWcgaW5mbworLSAgICAgICMgYnkgZGVmYXVsdC4gaHR0 cHM6Ly9jcmJ1Zy5jb20vNzY1NzkzCistICAgICAgIi1YY2xhbmciLAorLSAgICAgICItbWxsdm0i LAorLSAgICAgICItWGNsYW5nIiwKKy0gICAgICAiLWluc3Rjb21iaW5lLWxvd2VyLWRiZy1kZWNs YXJlPTAiLAorLSAgICBdCistICB9CistCisgICAjIEMxMS9DKysxMSBjb21waWxlciBmbGFncyBz ZXR1cC4KKyAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICBpZiAoaXNfbGludXgg fHwgaXNfYW5kcm9pZCB8fCAoaXNfbmFjbCAmJiBpc19jbGFuZykgfHwgY3VycmVudF9vcyA9PSAi YWl4IikgeworQEAgLTE0MzEsNiArMTQxNSwxMiBAQCBjb25maWcoImRlZmF1bHRfd2FybmluZ3Mi KSB7CisgICAgICAgICAiLVduby1uYXJyb3dpbmciLAorICAgICAgIF0KKyAKKysgICAgICAjIC1X bm8tY2xhc3MtbWVtYWNjZXNzIHdhcm5zIGFib3V0IGhhc2ggdGFibGUgYW5kIHZlY3RvciBpbiBi bGluay4KKysgICAgICAjIEJ1dCB0aGUgdmlvbGF0aW9uIGlzIGludGVudGlvbmFsLgorKyAgICAg IGlmICghaXNfbmFjbCkgeworKyAgICAgICAgY2ZsYWdzX2NjICs9IFsgIi1Xbm8tY2xhc3MtbWVt YWNjZXNzIiBdCisrICAgICAgfQorKworICAgICAgICMgLVd1bnVzZWQtbG9jYWwtdHlwZWRlZnMg aXMgYnJva2VuIGluIGdjYywKKyAgICAgICAjIGh0dHBzOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEv c2hvd19idWcuY2dpP2lkPTYzODcyCisgICAgICAgY2ZsYWdzICs9IFsgIi1Xbm8tdW51c2VkLWxv Y2FsLXR5cGVkZWZzIiBdCitAQCAtMTUyNSw3ICsxNTE1LDcgQEAgY29uZmlnKCJjaHJvbWl1bV9j b2RlIikgeworICAgICAgIGRlZmluZXMgPSBbICJfSEFTX05PRElTQ0FSRCIgXQorICAgICB9Cisg ICB9IGVsc2UgeworLSAgICBjZmxhZ3MgPSBbICItV2FsbCIgXQorKyAgICBjZmxhZ3MgPSBbXQor ICAgICBpZiAodHJlYXRfd2FybmluZ3NfYXNfZXJyb3JzKSB7CisgICAgICAgY2ZsYWdzICs9IFsg Ii1XZXJyb3IiIF0KKyAKK0BAIC0xNTM0LDEwICsxNTI0LDYgQEAgY29uZmlnKCJjaHJvbWl1bV9j b2RlIikgeworICAgICAgICMgd2VsbC4KKyAgICAgICBsZGZsYWdzID0gWyAiLVdlcnJvciIgXQor ICAgICB9CistICAgIGlmIChpc19jbGFuZykgeworLSAgICAgICMgRW5hYmxlIGV4dHJhIHdhcm5p bmdzIGZvciBjaHJvbWl1bV9jb2RlIHdoZW4gd2UgY29udHJvbCB0aGUgY29tcGlsZXIuCistICAg ICAgY2ZsYWdzICs9IFsgIi1XZXh0cmEiIF0KKy0gICAgfQorIAorICAgICAjIEluIENocm9taXVt IGNvZGUsIHdlIGRlZmluZSBfX1NURENfZm9vX01BQ1JPUyBpbiBvcmRlciB0byBnZXQgdGhlCisg ICAgICMgQzk5IG1hY3JvcyBvbiBNYWMgYW5kIExpbnV4LgorQEAgLTE1NDYsMTUgKzE1MzIsNiBA QCBjb25maWcoImNocm9taXVtX2NvZGUiKSB7CisgICAgICAgIl9fU1REQ19GT1JNQVRfTUFDUk9T IiwKKyAgICAgXQorIAorLSAgICBpZiAoIWlzX2RlYnVnICYmICF1c2luZ19zYW5pdGl6ZXIgJiYg Y3VycmVudF9jcHUgIT0gInMzOTB4IiAmJgorLSAgICAgICAgY3VycmVudF9jcHUgIT0gInMzOTAi ICYmIGN1cnJlbnRfY3B1ICE9ICJwcGM2NCIgJiYKKy0gICAgICAgIGN1cnJlbnRfY3B1ICE9ICJt aXBzIiAmJiBjdXJyZW50X2NwdSAhPSAibWlwczY0IikgeworLSAgICAgICMgTm9uLWNocm9taXVt IGNvZGUgaXMgbm90IGd1YXJhbnRlZWQgdG8gY29tcGlsZSBjbGVhbmx5IHdpdGgKKy0gICAgICAj IF9GT1JUSUZZX1NPVVJDRS4gQWxzbywgZm9ydGlmaWVkIGJ1aWxkIG1heSBmYWlsIHdoZW4gb3B0 aW1pemF0aW9ucyBhcmUKKy0gICAgICAjIGRpc2FibGVkLCBzbyBvbmx5IGRvIHRoYXQgZm9yIFJl bGVhc2UgYnVpbGQuCistICAgICAgZGVmaW5lcyArPSBbICJfRk9SVElGWV9TT1VSQ0U9MiIgXQor LSAgICB9CistCisgICAgIGlmIChpc19tYWMpIHsKKyAgICAgICBjZmxhZ3Nfb2JqYyA9IFsgIi1X b2JqYy1taXNzaW5nLXByb3BlcnR5LXN5bnRoZXNpcyIgXQorICAgICAgIGNmbGFnc19vYmpjYyA9 IFsgIi1Xb2JqYy1taXNzaW5nLXByb3BlcnR5LXN5bnRoZXNpcyIgXQorQEAgLTE5NDMsNyArMTky MCw4IEBAIGNvbmZpZygiZGVmYXVsdF9zdGFja19mcmFtZXMiKSB7CisgfQorIAorICMgRGVmYXVs dCAib3B0aW1pemF0aW9uIG9uIiBjb25maWcuCistY29uZmlnKCJvcHRpbWl6ZSIpIHsKKytjb25m aWcoIm9wdGltaXplIikgeyB9CisrY29uZmlnKCJ4b3B0aW1pemUiKSB7CisgICBpZiAoaXNfd2lu KSB7CisgICAgICMgVE9ETyh0aGFraXMpOiBSZW1vdmUgaXNfY2xhbmcgaGVyZSwgaHR0cHM6Ly9j cmJ1Zy5jb20vNTk4NzcyCisgICAgIGlmIChpc19vZmZpY2lhbF9idWlsZCAmJiBmdWxsX3dwb19v bl9vZmZpY2lhbCAmJiAhaXNfY2xhbmcpIHsKK0BAIC0xOTc3LDcgKzE5NTUsOCBAQCBjb25maWco Im9wdGltaXplIikgeworIH0KKyAKKyAjIFNhbWUgY29uZmlnIGFzICdvcHRpbWl6ZScgYnV0IHdp dGhvdXQgdGhlIFdQTyBmbGFnLgorLWNvbmZpZygib3B0aW1pemVfbm9fd3BvIikgeworK2NvbmZp Zygib3B0aW1pemVfbm9fd3BvIikgeyB9CisrY29uZmlnKCJ4b3B0aW1pemVfbm9fd3BvIikgewor ICAgaWYgKGlzX3dpbikgeworICAgICAjIEZhdm9yIHNpemUgb3ZlciBzcGVlZCwgL08xIG11c3Qg YmUgYmVmb3JlIHRoZSBjb21tb24gZmxhZ3MuIFRoZSBHWVAKKyAgICAgIyBidWlsZCBhbHNvIHNw ZWNpZmllcyAvT3MgYW5kIC9HRiBidXQgdGhlc2UgYXJlIGltcGxpZWQgYnkgL08xLgorQEAgLTIw MDAsNyArMTk3OSw4IEBAIGNvbmZpZygib3B0aW1pemVfbm9fd3BvIikgeworIH0KKyAKKyAjIFR1 cm4gb2ZmIG9wdGltaXphdGlvbnMuCistY29uZmlnKCJub19vcHRpbWl6ZSIpIHsKKytjb25maWco Im5vX29wdGltaXplIikgeyB9CisrY29uZmlnKCJ4bm9fb3B0aW1pemUiKSB7CisgICBpZiAoaXNf d2luKSB7CisgICAgIGNmbGFncyA9IFsKKyAgICAgICAiL09kIiwgICMgRGlzYWJsZSBvcHRpbWl6 YXRpb24uCitAQCAtMjAyOCw3ICsyMDA4LDggQEAgY29uZmlnKCJub19vcHRpbWl6ZSIpIHsKKyAj IFR1cm5zIHVwIHRoZSBvcHRpbWl6YXRpb24gbGV2ZWwuIE9uIFdpbmRvd3MsIHRoaXMgaW1wbGll cyB3aG9sZSBwcm9ncmFtCisgIyBvcHRpbWl6YXRpb24gYW5kIGxpbmstdGltZSBjb2RlIGdlbmVy YXRpb24gd2hpY2ggaXMgdmVyeSBleHBlbnNpdmUgYW5kIHNob3VsZAorICMgYmUgdXNlZCBzcGFy aW5nbHkuCistY29uZmlnKCJvcHRpbWl6ZV9tYXgiKSB7CisrY29uZmlnKCJvcHRpbWl6ZV9tYXgi KSB7IH0KKytjb25maWcoInhvcHRpbWl6ZV9tYXgiKSB7CisgICBpZiAoaXNfbmFjbCAmJiBpc19u YWNsX2lydCkgeworICAgICAjIFRoZSBOYUNsIElSVCBpcyBhIHNwZWNpYWwgY2FzZSBhbmQgYWx3 YXlzIHdhbnRzIGl0cyBvd24gY29uZmlnLgorICAgICAjIFZhcmlvdXMgY29tcG9uZW50cyBkbzoK K0BAIC0yMDc1LDcgKzIwNTYsOCBAQCBjb25maWcoIm9wdGltaXplX21heCIpIHsKKyAjCisgIyBU T0RPKGNyYnVnLmNvbS82MjEzMzUpIC0gcmV3b3JrIGhvdyBhbGwgb2YgdGhlc2UgY29uZmlncyBh cmUgcmVsYXRlZAorICMgc28gdGhhdCB3ZSBkb24ndCBuZWVkIHRoaXMgZGlzY2xhaW1lci4KKy1j b25maWcoIm9wdGltaXplX3NwZWVkIikgeworK2NvbmZpZygib3B0aW1pemVfc3BlZWQiKSB7IH0K Kytjb25maWcoInhvcHRpbWl6ZV9zcGVlZCIpIHsKKyAgIGlmIChpc19uYWNsICYmIGlzX25hY2xf aXJ0KSB7CisgICAgICMgVGhlIE5hQ2wgSVJUIGlzIGEgc3BlY2lhbCBjYXNlIGFuZCBhbHdheXMg d2FudHMgaXRzIG93biBjb25maWcuCisgICAgICMgVmFyaW91cyBjb21wb25lbnRzIGRvOgorQEAg LTIxMTMsNyArMjA5NSw4IEBAIGNvbmZpZygib3B0aW1pemVfc3BlZWQiKSB7CisgICB9CisgfQor IAorLWNvbmZpZygib3B0aW1pemVfZnV6emluZyIpIHsKKytjb25maWcoIm9wdGltaXplX2Z1enpp bmciKSB7IH0KKytjb25maWcoInhvcHRpbWl6ZV9mdXp6aW5nIikgeworICAgY2ZsYWdzID0gWyAi LU8xIiBdICsgY29tbW9uX29wdGltaXplX29uX2NmbGFncworICAgbGRmbGFncyA9IGNvbW1vbl9v cHRpbWl6ZV9vbl9sZGZsYWdzCisgICB2aXNpYmlsaXR5ID0gWyAiOmRlZmF1bHRfb3B0aW1pemF0 aW9uIiBdCitAQCAtMjIxNSw3ICsyMTk4LDggQEAgY29uZmlnKCJ3aW5fcGRiYWx0cGF0aCIpIHsK KyB9CisgCisgIyBGdWxsIHN5bWJvbHMuCistY29uZmlnKCJzeW1ib2xzIikgeworK2NvbmZpZygi c3ltYm9scyIpIHsgfQorK2NvbmZpZygieHN5bWJvbHMiKSB7CisgICBpZiAoaXNfd2luKSB7Cisg ICAgIGlmICh1c2VfZ29tYSB8fCBpc19jbGFuZykgeworICAgICAgICMgTm90ZSB0aGF0IHdpdGgg VkMrKyB0aGlzIHJlcXVpcmVzIGlzX3dpbl9mYXN0bGluaywgZW5mb3JjZWQgZWxzZXdoZXJlLgor QEAgLTIzMjUsNyArMjMwOSw4IEBAIGNvbmZpZygic3ltYm9scyIpIHsKKyAjIE1pbmltYWwgc3lt Ym9scy4KKyAjIFRoaXMgY29uZmlnIGd1YXJhbnRlZXMgdG8gaG9sZCBzeW1ib2wgZm9yIHN0YWNr IHRyYWNlIHdoaWNoIGFyZSBzaG93biB0byB1c2VyCisgIyB3aGVuIGNyYXNoIGhhcHBlbnMgaW4g dW5pdHRlc3RzIHJ1bm5pbmcgb24gYnVpbGRib3QuCistY29uZmlnKCJtaW5pbWFsX3N5bWJvbHMi KSB7CisrY29uZmlnKCJtaW5pbWFsX3N5bWJvbHMiKSB7IH0KKytjb25maWcoInhtaW5pbWFsX3N5 bWJvbHMiKSB7CisgICBpZiAoaXNfd2luKSB7CisgICAgICMgTGlua2VyIHN5bWJvbHMgZm9yIGJh Y2t0cmFjZXMgb25seS4KKyAgICAgY2ZsYWdzID0gW10KK0BAIC0yMzgyLDcgKzIzNjcsOCBAQCBj b25maWcoIm1pbmltYWxfc3ltYm9scyIpIHsKKyB9CisgCisgIyBObyBzeW1ib2xzLgorLWNvbmZp Zygibm9fc3ltYm9scyIpIHsKKytjb25maWcoIm5vX3N5bWJvbHMiKSB7IH0KKytjb25maWcoInhu b19zeW1ib2xzIikgeworICAgaWYgKCFpc193aW4pIHsKKyAgICAgY2ZsYWdzID0gWyAiLWcwIiBd CisgICAgIGFzbWZsYWdzID0gY2ZsYWdzCistLSAKKzIuMjEuMAorCmRpZmYgLS1naXQgYS9zcmNw a2dzL2VsZWN0cm9uNy9maWxlcy9wYXRjaGVzL2Nocm9taXVtLWZpeC1jaGFyX3RyYWl0cy5wYXRj aCBiL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3BhdGNoZXMvY2hyb21pdW0tZml4LWNoYXJfdHJh aXRzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi40Y2I5NTAz YTkzZgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3BhdGNoZXMv Y2hyb21pdW0tZml4LWNoYXJfdHJhaXRzLnBhdGNoCkBAIC0wLDAgKzEsMTQgQEAKKy0tLSBhL2Jh c2Uvc3RyaW5ncy9jaGFyX3RyYWl0cy5oCisrKysgYi9iYXNlL3N0cmluZ3MvY2hhcl90cmFpdHMu aAorQEAgLTY3LDkgKzY3LDkgQEAKKyAgIHJldHVybiBfX2J1aWx0aW5fbWVtY21wKHMxLCBzMiwg bik7CisgI2Vsc2UKKyAgIGZvciAoOyBuOyAtLW4sICsrczEsICsrczIpIHsKKy0gICAgaWYgKCpz MSA8ICpzMikKKysgICAgaWYgKCh1bnNpZ25lZCBjaGFyKSpzMSA8ICh1bnNpZ25lZCBjaGFyKSpz MikKKyAgICAgICByZXR1cm4gLTE7CistICAgIGlmICgqczEgPiAqczIpCisrICAgIGlmICgodW5z aWduZWQgY2hhcikqczEgPiAodW5zaWduZWQgY2hhcikqczIpCisgICAgICAgcmV0dXJuIDE7Cisg ICB9CisgICByZXR1cm4gMDsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3Bh dGNoZXMvY2hyb21pdW0tZml4LWNvbW1hbmRsaW5lLWluY2x1ZGUucGF0Y2ggYi9zcmNwa2dzL2Vs ZWN0cm9uNy9maWxlcy9wYXRjaGVzL2Nocm9taXVtLWZpeC1jb21tYW5kbGluZS1pbmNsdWRlLnBh dGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4xNWRhNzk0Y2JiYQot LS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3BhdGNoZXMvY2hyb21p dW0tZml4LWNvbW1hbmRsaW5lLWluY2x1ZGUucGF0Y2gKQEAgLTAsMCArMSw0NCBAQAorRWxlY3Ry b24gcGF0Y2hlcyB0aGUgZmlsZSB0byB1c2UgYmFzZTo6Q29tbWFuZExpbmUsIGJ1dCBmb3Jnb3Qg dG8gaW5jbHVkZQordGhlIG5lY2Vzc2FyeSBoZWFkZXIgZm9yIGl0LgorLS0tIGEvdGhpcmRfcGFy dHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vZ3JhcGhpY3MvY2FudmFzX2NvbG9yX3BhcmFtcy5j Yy5vcmlnCTIwMjAtMDQtMjcgMTM6NDk6NDEuNDA4NTkyOTQxICswMjAwCisrKysgYi90aGlyZF9w YXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9ncmFwaGljcy9jYW52YXNfY29sb3JfcGFyYW1z LmNjCTIwMjAtMDQtMjcgMTM6NDk6NTMuODQxMDcxODMwICswMjAwCitAQCAtNCw2ICs0LDcgQEAK KyAKKyAjaW5jbHVkZSAidGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vZ3JhcGhp Y3MvY2FudmFzX2NvbG9yX3BhcmFtcy5oIgorIAorKyNpbmNsdWRlICJiYXNlL2NvbW1hbmRfbGlu ZS5oIgorICNpbmNsdWRlICJjYy9wYWludC9za2lhX3BhaW50X2NhbnZhcy5oIgorICNpbmNsdWRl ICJjb21wb25lbnRzL3Zpei9jb21tb24vcmVzb3VyY2VzL3Jlc291cmNlX2Zvcm1hdF91dGlscy5o IgorICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9ydW50aW1l X2VuYWJsZWRfZmVhdHVyZXMuaCIKKy0tLSBhL3RoaXJkX3BhcnR5L2JsaW5rL3B1YmxpYy9wbGF0 Zm9ybS93ZWJfcnRjX3J0cF9zb3VyY2UuaC5vcmlnCTIwMjAtMDQtMjcgMTQ6MTY6MDUuMzIzMDg1 ODE0ICswMjAwCisrKysgYi90aGlyZF9wYXJ0eS9ibGluay9wdWJsaWMvcGxhdGZvcm0vd2ViX3J0 Y19ydHBfc291cmNlLmgJMjAyMC0wNC0yNyAxNDoxNjoxNy4yNzk0ODA4MzggKzAyMDAKK0BAIC03 LDYgKzcsNyBAQAorIAorICNpbmNsdWRlICJiYXNlL29wdGlvbmFsLmgiCisgI2luY2x1ZGUgInRo aXJkX3BhcnR5L2JsaW5rL3B1YmxpYy9wbGF0Zm9ybS93ZWJfY29tbW9uLmgiCisrI2luY2x1ZGUg PG1lbW9yeT4KKyAKKyBuYW1lc3BhY2UgYmFzZSB7CisgY2xhc3MgVGltZVRpY2tzOworLS0tIGEv Y2hyb21lL2Jyb3dzZXIvY2hyb21lX2NvbnRlbnRfYnJvd3Nlcl9jbGllbnQuY2Mub3JpZwkyMDIw LTA0LTI3IDE2OjE2OjI3LjI5MTIwODM5NCArMDIwMAorKysrIGIvY2hyb21lL2Jyb3dzZXIvY2hy b21lX2NvbnRlbnRfYnJvd3Nlcl9jbGllbnQuY2MJMjAyMC0wNC0yNyAxNjoxNjo0OS4yODM5ODQy MTcgKzAyMDAKK0BAIC0yODk2LDYgKzI4OTYsOCBAQAorICAgICBjb25zdCBzdGQ6OnN0cmluZyYg ZnJhbWVfbmFtZSwKKyAgICAgV2luZG93T3BlbkRpc3Bvc2l0aW9uIGRpc3Bvc2l0aW9uLAorICAg ICBjb25zdCBibGluazo6bW9qb206OldpbmRvd0ZlYXR1cmVzJiBmZWF0dXJlcywKKysgICAgY29u c3Qgc3RkOjp2ZWN0b3I8c3RkOjpzdHJpbmc+JiBhZGRpdGlvbmFsX2ZlYXR1cmVzLAorKyAgICBj b25zdCBzY29wZWRfcmVmcHRyPG5ldHdvcms6OlJlc291cmNlUmVxdWVzdEJvZHk+JiBib2R5LAor ICAgICBib29sIHVzZXJfZ2VzdHVyZSwKKyAgICAgYm9vbCBvcGVuZXJfc3VwcHJlc3NlZCwKKyAg ICAgYm9vbCogbm9famF2YXNjcmlwdF9hY2Nlc3MpIHsKKy0tLSBhL2Nocm9tZS9icm93c2VyL2No cm9tZV9jb250ZW50X2Jyb3dzZXJfY2xpZW50Lmgub3JpZwkyMDIwLTA0LTI3IDE2OjE1OjQxLjkz MjM1OTc1MyArMDIwMAorKysrIGIvY2hyb21lL2Jyb3dzZXIvY2hyb21lX2NvbnRlbnRfYnJvd3Nl cl9jbGllbnQuaAkyMDIwLTA0LTI3IDE2OjE2OjA5Ljc5ODMxODg0NSArMDIwMAorQEAgLTMwMyw2 ICszMDMsOCBAQAorICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIGZy YW1lX25hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICBXaW5kb3dPcGVuRGlzcG9zaXRpb24g ZGlzcG9zaXRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBibGluazo6bW9qb206 OldpbmRvd0ZlYXR1cmVzJiBmZWF0dXJlcywKKysgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0 IHN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiYgYWRkaXRpb25hbF9mZWF0dXJlcywKKysgICAgICAg ICAgICAgICAgICAgICAgIGNvbnN0IHNjb3BlZF9yZWZwdHI8bmV0d29yazo6UmVzb3VyY2VSZXF1 ZXN0Qm9keT4mIGJvZHksCisgICAgICAgICAgICAgICAgICAgICAgICBib29sIHVzZXJfZ2VzdHVy ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgb3BlbmVyX3N1cHByZXNzZWQsCisgICAg ICAgICAgICAgICAgICAgICAgICBib29sKiBub19qYXZhc2NyaXB0X2FjY2Vzcykgb3ZlcnJpZGU7 CmRpZmYgLS1naXQgYS9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9wYXRjaGVzL2Nocm9taXVtLWZp eC1zdWNlc3MtZGVmaW5pdGlvbi5wYXRjaCBiL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3BhdGNo ZXMvY2hyb21pdW0tZml4LXN1Y2Vzcy1kZWZpbml0aW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAwLi40ZGMwMjQ2OTNlNgotLS0gL2Rldi9udWxsCisrKyBiL3Ny Y3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3BhdGNoZXMvY2hyb21pdW0tZml4LXN1Y2Vzcy1kZWZpbml0 aW9uLnBhdGNoCkBAIC0wLDAgKzEsMTUgQEAKK1gxMS5oIGRlZmluZXMgYSBtYWNybyBjYWxsZWQg IlN1Y2Nlc3MiLCB3aGljaCBpcyAwLiBUaGlzIGJyZWFrcyBhbiBlbnVtCit0aGF0IGlzIGdlbmVy YXRlZCBpbiBDaHJvbWl1bSB0aGF0IGhhcyBhIG1lbWJlciAiU3VjY2VzcyIsIHNvIHVuZGVmaW5l CitpdC4KKy0tLSBhL2Nocm9tZS9icm93c2VyL3VpL2xpYmd0a3VpL3NlbGVjdF9maWxlX2RpYWxv Z19pbXBsX2tkZS5jYy5vcmlnCTIwMjAtMDQtMjcgMTg6NDI6MTUuNDU3Mjk3NTQ0ICswMjAwCisr KysgYi9jaHJvbWUvYnJvd3Nlci91aS9saWJndGt1aS9zZWxlY3RfZmlsZV9kaWFsb2dfaW1wbF9r ZGUuY2MJMjAyMC0wNC0yNyAxODo0MjoyMS43NjA0NTQzMDQgKzAyMDAKK0BAIC0yNCw3ICsyNCw5 IEBACisgI2luY2x1ZGUgImJhc2UvdGFzay9wb3N0X3Rhc2suaCIKKyAjaW5jbHVkZSAiYmFzZS90 YXNrL3Rhc2tfdHJhaXRzLmgiCisgI2luY2x1ZGUgImJhc2UvdGhyZWFkaW5nL3RocmVhZF9yZXN0 cmljdGlvbnMuaCIKKysjdW5kZWYgU3VjY2VzcworICNpbmNsdWRlICJjaHJvbWUvYnJvd3Nlci91 aS9saWJndGt1aS9zZWxlY3RfZmlsZV9kaWFsb2dfaW1wbC5oIgorKyNkZWZpbmUgU3VjY2VzcyAw CisgI2luY2x1ZGUgImNvbnRlbnQvcHVibGljL2Jyb3dzZXIvYnJvd3Nlcl90aHJlYWQuaCIKKyAj aW5jbHVkZSAidWkvYXVyYS93aW5kb3dfdHJlZV9ob3N0LmgiCisgI2luY2x1ZGUgInVpL2Jhc2Uv bDEwbi9sMTBuX3V0aWwuaCIKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3Bh dGNoZXMvY2hyb21pdW0tZ2NjLWx0by5wYXRjaCBiL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3Bh dGNoZXMvY2hyb21pdW0tZ2NjLWx0by5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwMC4uMWUwOWNiODA0NGMKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2VsZWN0 cm9uNy9maWxlcy9wYXRjaGVzL2Nocm9taXVtLWdjYy1sdG8ucGF0Y2gKQEAgLTAsMCArMSwxMzEg QEAKK0Zyb20gMTVkOWIyNTE1NjMxY2VkY2JkNDI3ZTRjNmRlMmRkNGU3YTBiZmEzNiBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEVsdmlzIFByYW5za2V2aWNodXMgPGVsdmlzQG1hZ2lj LmlvPgorRGF0ZTogU2F0LCA0IEphbiAyMDIwIDE2OjAzOjAzIC0wNTAwCitTdWJqZWN0OiBbUEFU Q0hdIEdDQyBMVE8gU3VwcG9ydAorCistLS0KKyBidWlsZC9jb25maWcvQlVJTEQuZ24gICAgICAg ICAgICAgIHwgIDYgKysrKystCisgYnVpbGQvY29uZmlnL2NvbXBpbGVyL0JVSUxELmduICAgICB8 IDMwICsrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLQorIGJ1aWxkL2NvbmZpZy9jb21waWxl ci9jb21waWxlci5nbmkgfCAgMiArLQorIHNhbmRib3gvbGludXgvQlVJTEQuZ24gICAgICAgICAg ICAgfCAgMyArKysKKyA0IGZpbGVzIGNoYW5nZWQsIDMxIGluc2VydGlvbnMoKyksIDEwIGRlbGV0 aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYnVpbGQvY29uZmlnL0JVSUxELmduIGIvYnVpbGQvY29u ZmlnL0JVSUxELmduCitpbmRleCA1MTRhYjdiLi5mOGQzNmZlIDEwMDY0NAorLS0tIGEvYnVpbGQv Y29uZmlnL0JVSUxELmduCisrKysgYi9idWlsZC9jb25maWcvQlVJTEQuZ24KK0BAIC0yNjAsOSAr MjYwLDEzIEBAIGNvbmZpZygiZGVmYXVsdF9saWJzIikgeworICAgfSBlbHNlIGlmIChpc19saW51 eCkgeworICAgICBsaWJzID0gWworICAgICAgICJkbCIsCistICAgICAgInB0aHJlYWQiLAorICAg ICAgICJydCIsCisgICAgIF0KKysgICAgbGRmbGFncyA9IFsKKysgICAgICAiLVdsLC0tbm8tYXMt bmVlZGVkIiwKKysgICAgICAiLWxwdGhyZWFkIiwKKysgICAgICAiLVdsLC0tYXMtbmVlZGVkIgor KyAgICBdCisgICB9CisgfQorIAorZGlmZiAtLWdpdCBhL2J1aWxkL2NvbmZpZy9jb21waWxlci9C VUlMRC5nbiBiL2J1aWxkL2NvbmZpZy9jb21waWxlci9CVUlMRC5nbgoraW5kZXggYTNmMjFiNy4u NDg3NDdmNyAxMDA2NDQKKy0tLSBhL2J1aWxkL2NvbmZpZy9jb21waWxlci9CVUlMRC5nbgorKysr IGIvYnVpbGQvY29uZmlnL2NvbXBpbGVyL0JVSUxELmduCitAQCAtNTU4LDEyICs1NTgsMTMgQEAg Y29uZmlnKCJjb21waWxlciIpIHsKKyAgICMgVE9ETyhwY2MpOiBNYWtlIHRoaXMgY29uZGl0aW9u YWwgb24gaXNfb2ZmaWNpYWxfYnVpbGQgcmF0aGVyIHRoYW4gb24gZ24KKyAgICMgZmxhZ3MgZm9y IHNwZWNpZmljIGZlYXR1cmVzLgorICAgaWYgKCFpc19kZWJ1ZyAmJiB1c2VfdGhpbl9sdG8gJiYg aXNfYV90YXJnZXRfdG9vbGNoYWluKSB7CistICAgIGFzc2VydCh1c2VfbGxkIHx8IHRhcmdldF9v cyA9PSAiY2hyb21lb3MiLAorLSAgICAgICAgICAgImdvbGQgcGx1Z2luIG9ubHkgc3VwcG9ydGVk IHdpdGggQ2hyb21lT1MiKQorLQorLSAgICBjZmxhZ3MgKz0gWyAiLWZsdG89dGhpbiIgXQorKyAg ICBpZiAoaXNfY2xhbmcpIHsKKysgICAgICBjZmxhZ3MgKz0gWyAiLWZsdG89dGhpbiIgXQorKyAg ICB9IGVsc2UgeworKyAgICAgIGNmbGFncyArPSBbICItZmx0bz0yIiwgIi1mbm8tZmF0LWx0by1v YmplY3RzIiwgIi1mdXNlLWxpbmtlci1wbHVnaW4iIF0KKysgICAgfQorIAorLSAgICBpZiAodGFy Z2V0X29zICE9ICJjaHJvbWVvcyIpIHsKKysgICAgaWYgKHRhcmdldF9vcyAhPSAiY2hyb21lb3Mi ICYmIGlzX2NsYW5nKSB7CisgICAgICAgY2ZsYWdzICs9IFsgIi1mc3BsaXQtbHRvLXVuaXQiIF0K KyAgICAgfQorIAorQEAgLTU4Niw3ICs1ODcsMTEgQEAgY29uZmlnKCJjb21waWxlciIpIHsKKyAg ICAgICAgICItbWxsdm06LWltcG9ydC1pbnN0ci1saW1pdD0xMCIsCisgICAgICAgXQorICAgICB9 IGVsc2UgeworLSAgICAgIGxkZmxhZ3MgKz0gWyAiLWZsdG89dGhpbiIgXQorKyAgICAgIGlmIChp c19jbGFuZykgeworKyAgICAgICAgbGRmbGFncyArPSBbICItZmx0bz10aGluIiBdCisrICAgICAg fSBlbHNlIHsKKysgICAgICAgIGxkZmxhZ3MgKz0gWyAiLWZsdG89OCIsICItZm5vLWZhdC1sdG8t b2JqZWN0cyIsICItZnVzZS1saW5rZXItcGx1Z2luIiBdCisrICAgICAgfQorIAorICAgICAgICMg TGltaXQgdGhlIHBhcmFsbGVsaXNtIHRvIGF2b2lkIHRvbyBhZ2dyZXNzaXZlIGNvbXBldGl0aW9u IGJldHdlZW4KKyAgICAgICAjIGxpbmtlciBqb2JzLiBUaGlzIGlzIHN0aWxsIHN1Ym9wdGltYWwg dG8gYSBwb3RlbnRpYWwgZHluYW1pYworQEAgLTYwNyw3ICs2MTIsNyBAQCBjb25maWcoImNvbXBp bGVyIikgeworICAgICAgICAgICAgICItV2wsLS10aGlubHRvLWNhY2hlLXBvbGljeSwkY2FjaGVf cG9saWN5IiwKKyAgICAgICAgICAgXQorICAgICAgICAgfQorLSAgICAgIH0gZWxzZSB7CisrICAg ICAgfSBlbHNlIGlmIChpc19jbGFuZykgeworICAgICAgICAgbGRmbGFncyArPSBbICItV2wsLXBs dWdpbi1vcHQsam9icz04IiBdCisgICAgICAgfQorIAorQEAgLTYzMCw3ICs2MzUsNyBAQCBjb25m aWcoImNvbXBpbGVyIikgeworIAorICAgICAjIFRPRE8ocGNjKTogUmUtZW5hYmxlIHRoaXMgZmxh ZyBvbiBBbmRyb2lkLiBUaGlzIHdpbGwgcmVxdWlyZSBsaWJjKysgdG8gYmUKKyAgICAgIyBidWls dCB3aXRoIFRoaW5MVE8gKHNlZSBodHRwczovL2NyYnVnLmNvbS83Njc5MDEpIGFzIHdlbGwgYXMg dGhlIEdWUiBzaGltLgorLSAgICBpZiAoIWlzX2FuZHJvaWQpIHsKKysgICAgaWYgKCFpc19hbmRy b2lkICYmIGlzX2NsYW5nKSB7CisgICAgICAgY2ZsYWdzICs9IFsgIi1md2hvbGUtcHJvZ3JhbS12 dGFibGVzIiBdCisgICAgICAgaWYgKCFpc193aW4pIHsKKyAgICAgICAgIGxkZmxhZ3MgKz0gWyAi LWZ3aG9sZS1wcm9ncmFtLXZ0YWJsZXMiIF0KK0BAIC02OTcsNiArNzAyLDE1IEBAIGNvbmZpZygi Y29tcGlsZXIiKSB7CisgICB9CisgfQorIAorK2NvbmZpZygiY29tcGlsZXJfbm9fbHRvIikgewor KyAgY2ZsYWdzID0gW10KKysgIGxkZmxhZ3MgPSBbXQorKyAgaWYgKCFpc19kZWJ1ZyAmJiB1c2Vf dGhpbl9sdG8gJiYgaXNfYV90YXJnZXRfdG9vbGNoYWluKSB7CisrICAgIGNmbGFncyArPSBbIi1m bm8tbHRvIl0KKysgICAgbGRmbGFncyArPSBbIi1mbm8tbHRvIl0KKysgIH0KKyt9CisrCisgIyBU aGlzIHByb3ZpZGVzIHRoZSBiYXNpYyBvcHRpb25zIHRvIHNlbGVjdCB0aGUgdGFyZ2V0IENQVSBh bmQgQUJJLgorICMgSXQgaXMgZmFjdG9yZWQgb3V0IG9mICJjb21waWxlciIgc28gdGhhdCBzcGVj aWFsIGNhc2VzIGNhbiB1c2UgdGhpcworICMgd2l0aG91dCB1c2luZyBldmVyeXRoaW5nIHRoYXQg ImNvbXBpbGVyIiBicmluZ3MgaW4uICBPcHRpb25zIHRoYXQKK2RpZmYgLS1naXQgYS9idWlsZC9j b25maWcvY29tcGlsZXIvY29tcGlsZXIuZ25pIGIvYnVpbGQvY29uZmlnL2NvbXBpbGVyL2NvbXBp bGVyLmduaQoraW5kZXggYzM1MWQ2Yi4uZTU2NzM3MiAxMDA2NDQKKy0tLSBhL2J1aWxkL2NvbmZp Zy9jb21waWxlci9jb21waWxlci5nbmkKKysrKyBiL2J1aWxkL2NvbmZpZy9jb21waWxlci9jb21w aWxlci5nbmkKK0BAIC01Nyw3ICs1Nyw3IEBAIGRlY2xhcmVfYXJncygpIHsKKyAKKyAgICMgRW5h YmxlcyBzdXBwb3J0IGZvciBUaGluTFRPLCB3aGljaCBsaW5rcyAzeC0xMHggZmFzdGVyIHRoYW4g ZnVsbCBMVE8uIFNlZQorICAgIyBhbHNvIGh0dHA6Ly9ibG9nLmxsdm0ub3JnLzIwMTYvMDYvdGhp bmx0by1zY2FsYWJsZS1hbmQtaW5jcmVtZW50YWwtbHRvLmh0bWwKKy0gIHVzZV90aGluX2x0byA9 IGlzX2NmaSB8fCAoaXNfYW5kcm9pZCAmJiBpc19vZmZpY2lhbF9idWlsZCkKKysgIHVzZV90aGlu X2x0byA9IGZhbHNlCisgCisgICAjIFRlbGwgVlMgdG8gY3JlYXRlIGEgUERCIHRoYXQgcmVmZXJl bmNlcyBpbmZvcm1hdGlvbiBpbiAub2JqIGZpbGVzIHJhdGhlcgorICAgIyB0aGFuIGNvcHlpbmcg aXQgYWxsLiBUaGlzIHNob3VsZCBpbXByb3ZlIGxpbmtlciBwZXJmb3JtYW5jZS4gbXNwZGJjbWYu ZXhlCitkaWZmIC0tZ2l0IGEvc2FuZGJveC9saW51eC9CVUlMRC5nbiBiL3NhbmRib3gvbGludXgv QlVJTEQuZ24KK2luZGV4IGIwMGE4OGMuLmU0NjE1YzAgMTAwNjQ0CistLS0gYS9zYW5kYm94L2xp bnV4L0JVSUxELmduCisrKysgYi9zYW5kYm94L2xpbnV4L0JVSUxELmduCitAQCAtMjU2LDYgKzI1 Niw5IEBAIGNvbXBvbmVudCgic2VjY29tcF9icGYiKSB7CisgICAgICIvL2Jhc2UiLAorICAgICAi Ly9iYXNlL3RoaXJkX3BhcnR5L2R5bmFtaWNfYW5ub3RhdGlvbnMiLAorICAgXQorKyAgY29uZmln cyArPSBbCisrICAgICIvL2J1aWxkL2NvbmZpZy9jb21waWxlcjpjb21waWxlcl9ub19sdG8iCisr ICBdCisgCisgICBpZiAoaXNfbmFjbF9ub25zZmkpIHsKKyAgICAgY2ZsYWdzID0gWyAiLWZnbnUt aW5saW5lLWFzbSIgXQorLS0gCisyLjI0LjEKKwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9lbGVjdHJv bjcvZmlsZXMvcGF0Y2hlcy9jaHJvbWl1bS1nY2Mtc2hhcmVkLnBhdGNoIGIvc3JjcGtncy9lbGVj dHJvbjcvZmlsZXMvcGF0Y2hlcy9jaHJvbWl1bS1nY2Mtc2hhcmVkLnBhdGNoCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4wOThiNjgzMjI0MgotLS0gL2Rldi9udWxsCisr KyBiL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3BhdGNoZXMvY2hyb21pdW0tZ2NjLXNoYXJlZC5w YXRjaApAQCAtMCwwICsxLDIwIEBACistLS0gYS9idWlsZC90b29sY2hhaW4vZ2NjX3Rvb2xjaGFp bi5nbmkJMjAxOS0xMS0xOSAwMjoyNzo0My4wMDAwMDAwMDAgKzAxMDAKKysrKyAtCTIwMjAtMDct MjEgMDA6NTk6MDkuMjAxNDIxNDY5ICswMjAwCitAQCAtMzcxLDcgKzM3MSw3IEBACisgICAgICAg IyAuVE9DIGZpbGUsIG92ZXJ3cml0ZSBpdCwgb3RoZXJ3aXNlLCBkb24ndCBjaGFuZ2UgaXQuCisg ICAgICAgdG9jZmlsZSA9IHNvZmlsZSArICIuVE9DIgorIAorLSAgICAgIGxpbmtfY29tbWFuZCA9 ICIkbGQgLXNoYXJlZCAtV2wsLXNvbmFtZT1cIiRzb25hbWVcIiB7e2xkZmxhZ3N9fSR7ZXh0cmFf bGRmbGFnc30gLW8gXCIkdW5zdHJpcHBlZF9zb2ZpbGVcIiBAXCIkcnNwZmlsZVwiIgorKyAgICAg IGxpbmtfY29tbWFuZCA9ICIkbGQgLXNoYXJlZCAtV2wsLXNvbmFtZT1cIiRzb25hbWVcIiB7e2xk ZmxhZ3N9fSR7ZXh0cmFfbGRmbGFnc30gLW8gXCIkdW5zdHJpcHBlZF9zb2ZpbGVcIiAtc2hhcmVk IEBcIiRyc3BmaWxlXCIiCisgCisgICAgICAgIyBHZW5lcmF0ZSBhIG1hcCBmaWxlIHRvIGJlIHVz ZWQgZm9yIGJpbmFyeSBzaXplIGFuYWx5c2lzLgorICAgICAgICMgTWFwIGZpbGUgYWRkcyB+MTAl IHRvIHRoZSBsaW5rIHRpbWUgb24gYSB6NjIwLgorQEAgLTQ1MCw3ICs0NTAsNyBAQAorICAgICAg ICAgdW5zdHJpcHBlZF9zb2ZpbGUgPSBzb2ZpbGUKKyAgICAgICB9CisgCistICAgICAgY29tbWFu ZCA9ICIkbGQgLXNoYXJlZCB7e2xkZmxhZ3N9fSR7ZXh0cmFfbGRmbGFnc30gLW8gXCIkdW5zdHJp cHBlZF9zb2ZpbGVcIiAtV2wsLXNvbmFtZT1cIiRzb25hbWVcIiBAXCIkcnNwZmlsZVwiIgorKyAg ICAgIGNvbW1hbmQgPSAiJGxkIC1zaGFyZWQge3tsZGZsYWdzfX0ke2V4dHJhX2xkZmxhZ3N9IC1v IFwiJHVuc3RyaXBwZWRfc29maWxlXCIgLVdsLC1zb25hbWU9XCIkc29uYW1lXCIgLXNoYXJlZCBA XCIkcnNwZmlsZVwiIgorIAorICAgICAgIGlmIChkZWZpbmVkKGludm9rZXIuc3RyaXApKSB7Cisg ICAgICAgICBzdHJpcF9jb21tYW5kID0gIiR7aW52b2tlci5zdHJpcH0gLW8gXCIkc29maWxlXCIg XCIkdW5zdHJpcHBlZF9zb2ZpbGVcIiIKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZWxlY3Ryb243L2Zp bGVzL3BhdGNoZXMvY2hyb21pdW0tZ25fYm9vdHN0cmFwX25pbmphLnBhdGNoIGIvc3JjcGtncy9l bGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9jaHJvbWl1bS1nbl9ib290c3RyYXBfbmluamEucGF0Y2gK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmU5Zjk1ZjA5Y2FlCi0tLSAv ZGV2L251bGwKKysrIGIvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9jaHJvbWl1bS1n bl9ib290c3RyYXBfbmluamEucGF0Y2gKQEAgLTAsMCArMSwzMiBAQAorUGF0Y2ggYnkgTWljaGFl bCBGb3JuZXkgPG1mb3JuZXlAbWZvcm5leS5vcmc+CisKK0FscmVhZHkgbWVyZ2VkIGh0dHBzOi8v Y2hyb21pdW0tcmV2aWV3Lmdvb2dsZXNvdXJjZS5jb20vYy9jaHJvbWl1bS9zcmMvKy8xOTc1NDUz CisKKy0tLSBhL3Rvb2xzL2duL2Jvb3RzdHJhcC9ib290c3RyYXAucHkKKysrKyBiL3Rvb2xzL2du L2Jvb3RzdHJhcC9ib290c3RyYXAucHkKK0BAIC03MCw2ICs3MCw3IEBACisgICBvdXRfZGlyID0g b3MucGF0aC5qb2luKFNSQ19ST09ULCBidWlsZF9yZWwpCisgICBnbl9wYXRoID0gb3B0aW9ucy5v dXRwdXQgb3Igb3MucGF0aC5qb2luKG91dF9kaXIsICdnbicpCisgICBnbl9idWlsZF9kaXIgPSBv cy5wYXRoLmpvaW4ob3V0X2RpciwgJ2duX2J1aWxkJykKKysgIG5pbmphX2JpbmFyeSA9IG9zLmVu dmlyb24uZ2V0KCdOSU5KQScsICduaW5qYScpCisgCisgICAjIFRPRE8odGhvbWFzYW5kZXJzb24p OiBSZW1vdmUgdGhpcyBvbmNlIFVidW50dSBUcnVzdHkgcmVhY2hlcyBFT0wsIG9yIHdoZW4KKyAg ICMgQ2hyb21pdW0ncyBpbmZyYXN0cnVjdHVyZSBpcyB1cGdyYWRlZCBmcm9tIFRydXN0eSB0byBY ZW5pYWwsIHdoaWNoZXZlciBjb21lcworQEAgLTkwLDcgKzkxLDcgQEAKKyAgICAgICAgICAgICAg IG9zLmVudmlyb24uZ2V0KCdDRkxBR1MnLCAnJykuc3BsaXQoKSArCisgICAgICAgICAgICAgICBv cy5lbnZpcm9uLmdldCgnQ1hYRkxBR1MnLCAnJykuc3BsaXQoKSksCisgICAgICAgXSkgKyAnXG4n KQorLSAgICBzdWJwcm9jZXNzLmNoZWNrX2NhbGwoWyduaW5qYScsICctQycsIGxpYmN4eF9kaXJd KQorKyAgICBzdWJwcm9jZXNzLmNoZWNrX2NhbGwoW25pbmphX2JpbmFyeSwgJy1DJywgbGliY3h4 X2Rpcl0pCisgICAgIHNodXRpbC5jb3B5Mihvcy5wYXRoLmpvaW4oZ25fYnVpbGRfZGlyLCAnbGli YysrLmduLnNvJyksIG91dF9kaXIpCisgCisgICAgIGRlZiBhcHBlbmRfdG9fZW52KHZhciwgdmFs cyk6CitAQCAtMTIwLDcgKzEyMSw3IEBACisgICBzaHV0aWwuY29weTIoCisgICAgICAgb3MucGF0 aC5qb2luKEJPT1RTVFJBUF9ESVIsICdsYXN0X2NvbW1pdF9wb3NpdGlvbi5oJyksIGduX2J1aWxk X2RpcikKKyAgIHN1YnByb2Nlc3MuY2hlY2tfY2FsbCgKKy0gICAgICBbJ25pbmphJywgJy1DJywg Z25fYnVpbGRfZGlyLCAnZ24nLCAnLXcnLCAnZHVwYnVpbGQ9ZXJyJ10pCisrICAgICAgW25pbmph X2JpbmFyeSwgJy1DJywgZ25fYnVpbGRfZGlyLCAnLXcnLCAnZHVwYnVpbGQ9ZXJyJywgJ2duJ10p CisgICBzaHV0aWwuY29weTIob3MucGF0aC5qb2luKGduX2J1aWxkX2RpciwgJ2duJyksIGduX3Bh dGgpCisgCisgICBpZiBub3Qgb3B0aW9ucy5za2lwX2dlbmVyYXRlX2J1aWxkZmlsZXM6CmRpZmYg LS1naXQgYS9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9wYXRjaGVzL2Nocm9taXVtLWxpYmNfbWFs bG9jLnBhdGNoIGIvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9jaHJvbWl1bS1saWJj X21hbGxvYy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMjdj ZDJjZWZjNDYKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9wYXRj aGVzL2Nocm9taXVtLWxpYmNfbWFsbG9jLnBhdGNoCkBAIC0wLDAgKzEsMjYgQEAKKy0tLSBhL2Jh c2UvcHJvY2Vzcy9tZW1vcnlfbGludXguY2Mub3JpZwkyMDE3LTA5LTE1IDA4OjQxOjQzLjAwMDAw MDAwMCArMDAwMAorKysrIGIvYmFzZS9wcm9jZXNzL21lbW9yeV9saW51eC5jYwkyMDE3LTA5LTE1 IDA4OjQ0OjM5LjgwNDk5NTQ2OSArMDAwMAorQEAgLTIxLDYgKzIxLDEyIEBACisgI2luY2x1ZGUg InRoaXJkX3BhcnR5L3RjbWFsbG9jL2Nocm9taXVtL3NyYy9ncGVyZnRvb2xzL3RjbWFsbG9jLmgi CisgI2VuZGlmCisgCisrI2lmIGRlZmluZWQoTElCQ19HTElCQykKKytleHRlcm4gIkMiIHsKKytl eHRlcm4gdm9pZCAqX19saWJjX21hbGxvYyhzaXplX3Qgc2l6ZSk7CisrfQorKyNlbmRpZgorKwor IG5hbWVzcGFjZSBiYXNlIHsKKyAKKyBzaXplX3QgZ19vb21fc2l6ZSA9IDBVOworLS0tIGEvYmFz ZS9wcm9jZXNzL21lbW9yeV9saW51eC5jYy5vcmlnCTIwMTctMDktMTUgMDg6NDY6NTUuMDAwMDAw MDAwICswMDAwCisrKysgYi9iYXNlL3Byb2Nlc3MvbWVtb3J5X2xpbnV4LmNjCTIwMTctMDktMTUg MDg6NTE6MzQuNDIyMDE2ODU4ICswMDAwCitAQCAtMTA3LDcgKzEwNyw3IEBACisgICAgICghZGVm aW5lZChMSUJDX0dMSUJDKSAmJiAhZGVmaW5lZChVU0VfVENNQUxMT0MpKQorICAgKnJlc3VsdCA9 IG1hbGxvYyhzaXplKTsKKyAjZWxpZiBkZWZpbmVkKExJQkNfR0xJQkMpICYmICFkZWZpbmVkKFVT RV9UQ01BTExPQykKKy0gICpyZXN1bHQgPSBfX2xpYmNfbWFsbG9jKHNpemUpOworKyAgKnJlc3Vs dCA9IDo6X19saWJjX21hbGxvYyhzaXplKTsKKyAjZWxpZiBkZWZpbmVkKFVTRV9UQ01BTExPQykK KyAgICpyZXN1bHQgPSB0Y19tYWxsb2Nfc2tpcF9uZXdfaGFuZGxlcihzaXplKTsKKyAjZW5kaWYK ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3BhdGNoZXMvY2hyb21pdW0tdG9v bGNoYWluLWhvc3QucGF0Y2ggYi9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9wYXRjaGVzL2Nocm9t aXVtLXRvb2xjaGFpbi1ob3N0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAwLi4wZGFjZTI2MWEwOAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvZWxlY3Ryb243 L2ZpbGVzL3BhdGNoZXMvY2hyb21pdW0tdG9vbGNoYWluLWhvc3QucGF0Y2gKQEAgLTAsMCArMSwx MSBAQAorLS0tIHNyYy9idWlsZC90b29sY2hhaW4vbGludXgvdW5idW5kbGUvQlVJTEQuZ24JMjAy MC0wNy0yMSAxNzozNjozNC4wNjQ3NDgyNjEgKzAyMDAKKysrKyAtCTIwMjAtMDctMjEgMTc6Mzk6 MDMuMTE1NzQwNTIyICswMjAwCitAQCAtMzUsNyArMzUsNyBAQAorICAgZXh0cmFfbGRmbGFncyA9 IGdldGVudigiQlVJTERfTERGTEFHUyIpCisgCisgICB0b29sY2hhaW5fYXJncyA9IHsKKy0gICAg Y3VycmVudF9jcHUgPSBjdXJyZW50X2NwdQorKyAgICBjdXJyZW50X2NwdSA9IGhvc3RfY3B1Cisg ICAgIGN1cnJlbnRfb3MgPSBjdXJyZW50X29zCisgICB9CisgfQpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9lbGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9jaHJvbWl1bS11bmJ1bmRsZS16bGliLXIxLnBhdGNo IGIvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9jaHJvbWl1bS11bmJ1bmRsZS16bGli LXIxLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi45NTFhMmFk YjE5NgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3BhdGNoZXMv Y2hyb21pdW0tdW5idW5kbGUtemxpYi1yMS5wYXRjaApAQCAtMCwwICsxLDEzIEBACitkaWZmIC0t Z2l0IGEvdGhpcmRfcGFydHkvcGVyZmV0dG8vZ24vQlVJTEQuZ24gYi90aGlyZF9wYXJ0eS9wZXJm ZXR0by9nbi9CVUlMRC5nbgoraW5kZXggM2JjNjE4YS4uZTBkZGY2ZCAxMDA2NDQKKy0tLSBhL3Ro aXJkX3BhcnR5L3BlcmZldHRvL2duL0JVSUxELmduCisrKysgYi90aGlyZF9wYXJ0eS9wZXJmZXR0 by9nbi9CVUlMRC5nbgorQEAgLTI0NCw3ICsyNDQsNyBAQCBpZiAoZW5hYmxlX3BlcmZldHRvX3Ry YWNlX3Byb2Nlc3NvciB8fCBwZXJmZXR0b19idWlsZF9zdGFuZGFsb25lIHx8CisgICAgICAgICAi Ly9idWlsZHRvb2xzOnpsaWIiLAorICAgICAgIF0KKyAgICAgfSBlbHNlIHsKKy0gICAgICBwdWJs aWNfY29uZmlncyA9IFsgIi8vdGhpcmRfcGFydHkvemxpYjp6bGliX2NvbmZpZyIgXQorKyAgICAg IHB1YmxpY19jb25maWdzID0gWyAiLy90aGlyZF9wYXJ0eS96bGliOnN5c3RlbV96bGliIiBdCisg ICAgICAgcHVibGljX2RlcHMgPSBbCisgICAgICAgICAiLy90aGlyZF9wYXJ0eS96bGliIiwKKyAg ICAgICBdCmRpZmYgLS1naXQgYS9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9wYXRjaGVzL2Nocm9t aXVtLXVwc3RyZWFtLWZvcmNlLW1wMy1maWxlcy10by1oYXZlLWEtc3RhcnQtdGltZS1vZi16ZXJv LnBhdGNoIGIvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9jaHJvbWl1bS11cHN0cmVh bS1mb3JjZS1tcDMtZmlsZXMtdG8taGF2ZS1hLXN0YXJ0LXRpbWUtb2YtemVyby5wYXRjaApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZDAxOGE4NzA5NGQKLS0tIC9kZXYv bnVsbAorKysgYi9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9wYXRjaGVzL2Nocm9taXVtLXVwc3Ry ZWFtLWZvcmNlLW1wMy1maWxlcy10by1oYXZlLWEtc3RhcnQtdGltZS1vZi16ZXJvLnBhdGNoCkBA IC0wLDAgKzEsMzggQEAKK0Zyb20gMTkyZmMzODk5Zjc2ZTk0ODdkNzc4OTVmMzFkZjhkMmQxM2Jm OTYxOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IERhbGUgQ3VydGlzIDxkYWxlY3Vy dGlzQGNocm9taXVtLm9yZz4KK0RhdGU6IEZyaSwgMjYgSnVuIDIwMjAgMDE6MTA6NTUgKzAwMDAK K1N1YmplY3Q6IFtQQVRDSF0gRm9yY2UgbXAzIGZpbGVzIHRvIGhhdmUgYSBzdGFydCB0aW1lIG9m IHplcm8uCisKK1RoaXMgd2lsbCBhbGxvdyB1cyB0byByZW1vdmUgb3VyIGN1c3RvbSBwYXRjaCB3 aGljaCBicmVha3MgdXBzdHJlYW0KK2ZmbXBlZyBmdW5jdGlvbmFsaXR5IGZvciB1bmtub3duIHJl YXNvbnMuCisKK1I9c2FuZGVyc2QKKworRml4ZWQ6IDEwNjIwMzcKK0NoYW5nZS1JZDogSTI1MzAx MTg0M2RlZTRkZDZhOGM5NThiMTQ5OTBhZDgzNmE5ZjFkY2EKK1Jldmlld2VkLW9uOiBodHRwczov L2Nocm9taXVtLXJldmlldy5nb29nbGVzb3VyY2UuY29tL2MvY2hyb21pdW0vc3JjLysvMjI2ODIy MQorQXV0by1TdWJtaXQ6IERhbGUgQ3VydGlzIDxkYWxlY3VydGlzQGNocm9taXVtLm9yZz4KK1Jl dmlld2VkLWJ5OiBEYW4gU2FuZGVycyA8c2FuZGVyc2RAY2hyb21pdW0ub3JnPgorQ29tbWl0LVF1 ZXVlOiBEYWxlIEN1cnRpcyA8ZGFsZWN1cnRpc0BjaHJvbWl1bS5vcmc+CitDci1Db21taXQtUG9z aXRpb246IHJlZnMvaGVhZHMvbWFzdGVyQHsjNzgyNzkyfQorLS0tCisgbWVkaWEvZmlsdGVycy9m Zm1wZWdfZGVtdXhlci5jYyB8IDYgKysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9u cygrKQorCitkaWZmIC0tZ2l0IGEvbWVkaWEvZmlsdGVycy9mZm1wZWdfZGVtdXhlci5jYyBiL21l ZGlhL2ZpbHRlcnMvZmZtcGVnX2RlbXV4ZXIuY2MKK2luZGV4IDAxMjY2ZTFhMDcyLi5hN2VkNTQy YjVmYyAxMDA2NDQKKy0tLSBhL21lZGlhL2ZpbHRlcnMvZmZtcGVnX2RlbXV4ZXIuY2MKKysrKyBi L21lZGlhL2ZpbHRlcnMvZmZtcGVnX2RlbXV4ZXIuY2MKK0BAIC0xNTIyLDYgKzE1MjIsMTIgQEAg dm9pZCBGRm1wZWdEZW11eGVyOjpPbkZpbmRTdHJlYW1JbmZvRG9uZShpbnQgcmVzdWx0KSB7Cisg ICBpZiAoZ2x1ZV8tPmNvbnRhaW5lcigpID09IGNvbnRhaW5lcl9uYW1lczo6Q09OVEFJTkVSX0FW SSkKKyAgICAgZm9ybWF0X2NvbnRleHQtPmZsYWdzIHw9IEFWRk1UX0ZMQUdfR0VOUFRTOworIAor KyAgLy8gRkZtcGVnIHdpbGwgaW5jb3JyZWN0bHkgYWRqdXN0IHRoZSBzdGFydCB0aW1lIG9mIE1Q MyBmaWxlcyBpbnRvIHRoZSBmdXR1cmUKKysgIC8vIGJhc2VkIG9uIGRpc2NhcmQgc2FtcGxlcy4g V2Ugd2VyZSB1bmFibGUgdG8gZml4IHRoaXMgdXBzdHJlYW0gd2l0aG91dAorKyAgLy8gYnJlYWtp bmcgZmZtcGVnIGZ1bmN0aW9uYWxpdHkuIGh0dHBzOi8vY3JidWcuY29tLzEwNjIwMzcKKysgIGlm IChnbHVlXy0+Y29udGFpbmVyKCkgPT0gY29udGFpbmVyX25hbWVzOjpDT05UQUlORVJfTVAzKQor KyAgICBzdGFydF90aW1lXyA9IGJhc2U6OlRpbWVEZWx0YSgpOworKworICAgLy8gRm9yIHRlc3Rp bmcgcHVycG9zZXMsIGRvbid0IG92ZXJ3cml0ZSB0aGUgdGltZWxpbmUgb2Zmc2V0IGlmIHNldCBh bHJlYWR5LgorICAgaWYgKHRpbWVsaW5lX29mZnNldF8uaXNfbnVsbCgpKSB7CisgICAgIHRpbWVs aW5lX29mZnNldF8gPQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvcGF0Y2hl cy9lbGVjdHJvbi1BZGQtYS1zY3JpcHQtdG8tbGlzdC1wYXRjaC10YXJnZXRzLnBhdGNoLnBhdGNo IGIvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9lbGVjdHJvbi1BZGQtYS1zY3JpcHQt dG8tbGlzdC1wYXRjaC10YXJnZXRzLnBhdGNoLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAwLi45MTZkYmE5ZGMzYgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3Mv ZWxlY3Ryb243L2ZpbGVzL3BhdGNoZXMvZWxlY3Ryb24tQWRkLWEtc2NyaXB0LXRvLWxpc3QtcGF0 Y2gtdGFyZ2V0cy5wYXRjaC5wYXRjaApAQCAtMCwwICsxLDQyIEBACitGcm9tIGZmNDEyMmYyMzZi NzBjMjcyYzc0NmQwYzMzNmNkYmQ1ODhkNzhjZDEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitG cm9tOiBFbHZpcyBQcmFuc2tldmljaHVzIDxlbHZpc0BtYWdpYy5pbz4KK0RhdGU6IFRodSwgMTIg RGVjIDIwMTkgMTY6MTI6MTggLTA1MDAKK1N1YmplY3Q6IFtQQVRDSF0gQWRkIGEgc2NyaXB0IHRv IGxpc3QgcGF0Y2ggdGFyZ2V0cworCistLS0KKyBzY3JpcHQvbGlzdF9wYXRjaF90YXJnZXRzLnB5 IHwgMjMgKysrKysrKysrKysrKysrKysrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgMjMgaW5zZXJ0 aW9ucygrKQorIGNyZWF0ZSBtb2RlIDEwMDc1NSBzY3JpcHQvbGlzdF9wYXRjaF90YXJnZXRzLnB5 CisKK2RpZmYgLS1naXQgYS9zY3JpcHQvbGlzdF9wYXRjaF90YXJnZXRzLnB5IGIvc2NyaXB0L2xp c3RfcGF0Y2hfdGFyZ2V0cy5weQorbmV3IGZpbGUgbW9kZSAxMDA3NTUKK2luZGV4IDAwMDAwMDAw MC4uNTUxNzNiYWM5CistLS0gL2Rldi9udWxsCisrKysgYi9zY3JpcHQvbGlzdF9wYXRjaF90YXJn ZXRzLnB5CitAQCAtMCwwICsxLDIzIEBACisrIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCisrCisraW1w b3J0IGFyZ3BhcnNlCisraW1wb3J0IGpzb24KKysKKysKKytkZWYgcGFyc2VfYXJncygpOgorKyAg cGFyc2VyID0gYXJncGFyc2UuQXJndW1lbnRQYXJzZXIoZGVzY3JpcHRpb249J0FwcGx5IEVsZWN0 cm9uIHBhdGNoZXMnKQorKyAgcGFyc2VyLmFkZF9hcmd1bWVudCgnY29uZmlnJywgbmFyZ3M9Jysn LAorKyAgICAgICAgICAgICAgICAgICAgICB0eXBlPWFyZ3BhcnNlLkZpbGVUeXBlKCdyJyksCisr ICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J3BhdGNoZXNcJyBjb25maWcocykgaW4gdGhlIEpT T04gZm9ybWF0JykKKysgIHJldHVybiBwYXJzZXIucGFyc2VfYXJncygpCisrCisrCisrZGVmIG1h aW4oKToKKysgIGNvbmZpZ3MgPSBwYXJzZV9hcmdzKCkuY29uZmlnCisrICBmb3IgY29uZmlnX2pz b24gaW4gY29uZmlnczoKKysgICAgZm9yIHBhdGNoX2RpciwgcmVwbyBpbiBqc29uLmxvYWQoY29u ZmlnX2pzb24pLml0ZXJpdGVtcygpOgorKyAgICAgIHByaW50KHJlcG8pCisrCisrCisraWYgX19u YW1lX18gPT0gJ19fbWFpbl9fJzoKKysgIG1haW4oKQorLS0gCisyLjIzLjAKKwpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9lbGVjdHJvbi1CdWlsZC1maXhlcy5w YXRjaC5wYXRjaCBiL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3BhdGNoZXMvZWxlY3Ryb24tQnVp bGQtZml4ZXMucGF0Y2gucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw MDAuLmE1OTFjMmVkZjYyCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9lbGVjdHJvbjcvZmls ZXMvcGF0Y2hlcy9lbGVjdHJvbi1CdWlsZC1maXhlcy5wYXRjaC5wYXRjaApAQCAtMCwwICsxLDU3 IEBACitkaWZmIC0tZ2l0IGEvYnVpbGQvYXJncy9hbGwuZ24gYi9idWlsZC9hcmdzL2FsbC5nbgor aW5kZXggOGJiYjg2ZTI4Li44NDc2ZDA5ZWEgMTAwNjQ0CistLS0gYS9idWlsZC9hcmdzL2FsbC5n bgorKysrIGIvYnVpbGQvYXJncy9hbGwuZ24KK0BAIC0xLDUgKzEsNCBAQAorIGlzX2VsZWN0cm9u X2J1aWxkID0gdHJ1ZQorLXVzZV9qdW1ib19idWlsZCA9IHRydWUKKyByb290X2V4dHJhX2RlcHMg PSBbICIvL2VsZWN0cm9uIiBdCisgCisgIyBSZWdpc3RyeSBvZiBOTVZzIC0tPiBodHRwczovL2dp dGh1Yi5jb20vbm9kZWpzL25vZGUvYmxvYi9tYXN0ZXIvZG9jL2FiaV92ZXJzaW9uX3JlZ2lzdHJ5 Lmpzb24KK2RpZmYgLS1naXQgYS9idWlsZC9hcmdzL3JlbGVhc2UuZ24gYi9idWlsZC9hcmdzL3Jl bGVhc2UuZ24KK2luZGV4IGU1MDE3ZjZlMS4uNTkyMDdiMzg5IDEwMDY0NAorLS0tIGEvYnVpbGQv YXJncy9yZWxlYXNlLmduCisrKysgYi9idWlsZC9hcmdzL3JlbGVhc2UuZ24KK0BAIC0xLDYgKzEs NCBAQAorIGltcG9ydCgiYWxsLmduIikKKy1pc19jb21wb25lbnRfYnVpbGQgPSBmYWxzZQorLWlz X29mZmljaWFsX2J1aWxkID0gdHJ1ZQorIAorICMgVGhpcyBtYXkgYmUgZ3VhcmRlZCBiZWhpbmQg aXNfY2hyb21lX2JyYW5kZWQgYWxvbmdzaWRlCisgIyBwcm9wcmlldGFyeV9jb2RlY3MgaHR0cHM6 Ly93ZWJydGMtcmV2aWV3Lmdvb2dsZXNvdXJjZS5jb20vYy9zcmMvKy8zNjMyMSwKK0BAIC04LDkg KzYsMyBAQCBpc19vZmZpY2lhbF9idWlsZCA9IHRydWUKKyAjIFRoZSBpbml0aWFsaXphdGlvbiBv ZiB0aGUgZGVjb2RlciBkZXBlbmRzIG9uIHdoZXRoZXIgZmZtcGVnIGhhcworICMgYmVlbiBidWls dCB3aXRoIEguMjY0IHN1cHBvcnQuCisgcnRjX3VzZV9oMjY0ID0gcHJvcHJpZXRhcnlfY29kZWNz CistCistIyBCeSBkZWZhdWx0LCBFbGVjdHJvbiBidWlsZHMgZmZtcGVnIHdpdGggcHJvcHJpZXRh cnkgY29kZWNzIGVuYWJsZWQuIEluIG9yZGVyCistIyB0byBmYWNpbGl0YXRlIHVzZXJzIHdobyBk b24ndCB3YW50IHRvIHNoaXAgcHJvcHJpZXRhcnkgY29kZWNzIGluIGZmbXBlZywgb3IKKy0jIHdo byBoYXZlIGFuIExHUEwgcmVxdWlyZW1lbnQgdG8gc2hpcCBmZm1wZWcgYXMgYSBkeW5hbWljYWxs eSBsaW5rZWQgbGlicmFyeSwKKy0jIHdlIGJ1aWxkIGZmbXBlZyBhcyBhIHNoYXJlZCBsaWJyYXJ5 LgorLWlzX2NvbXBvbmVudF9mZm1wZWcgPSB0cnVlCitkaWZmIC0tZ2l0IGEvYnVpbGQvbnBtLmdu aSBiL2J1aWxkL25wbS5nbmkKK2luZGV4IGExOTg3ZDA5NS4uZmIzM2ExNGMzIDEwMDY0NAorLS0t IGEvYnVpbGQvbnBtLmduaQorKysrIGIvYnVpbGQvbnBtLmduaQorQEAgLTM1LDcgKzM1LDYgQEAg dGVtcGxhdGUoIm5wbV9hY3Rpb24iKSB7CisgICAgIGlmICghZGVmaW5lZChkZXBzKSkgeworICAg ICAgIGRlcHMgPSBbXQorICAgICB9CistICAgIGRlcHMgKz0gWyAiOm5wbV9wcmVfZmxpZ2h0XyIg KyB0YXJnZXRfbmFtZSBdCisgCisgICAgIHNjcmlwdCA9ICIvL2VsZWN0cm9uL2J1aWxkL25wbS1y dW4ucHkiCisgICAgIGFyZ3MgPSBbCitkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9ub2RlL2ZpeF9hZGRf ZGVmYXVsdF92YWx1ZXNfZm9yX2VuYWJsZV9sdG9fYW5kX2J1aWxkX3Y4X3dpdGhfZ25faW4ucGF0 Y2ggYi9wYXRjaGVzL25vZGUvZml4X2FkZF9kZWZhdWx0X3ZhbHVlc19mb3JfZW5hYmxlX2x0b19h bmRfYnVpbGRfdjhfd2l0aF9nbl9pbi5wYXRjaAoraW5kZXggMGRjOTkxNmJlLi43ZWFhNDZiZjUg MTAwNjQ0CistLS0gYS9wYXRjaGVzL25vZGUvZml4X2FkZF9kZWZhdWx0X3ZhbHVlc19mb3JfZW5h YmxlX2x0b19hbmRfYnVpbGRfdjhfd2l0aF9nbl9pbi5wYXRjaAorKysrIGIvcGF0Y2hlcy9ub2Rl L2ZpeF9hZGRfZGVmYXVsdF92YWx1ZXNfZm9yX2VuYWJsZV9sdG9fYW5kX2J1aWxkX3Y4X3dpdGhf Z25faW4ucGF0Y2gKK0BAIC0zMCw3ICszMCw3IEBACisgKyAgICAjIHRoZXNlIHZhbHVlcyBiZWlu ZyBhY2N1cmF0ZS4KKyArICAgICdidWlsZF92OF93aXRoX2duJzogJ2ZhbHNlJywKKyArICAgICdl bmFibGVfbHRvJSc6ICdmYWxzZScsCistKworKysgICAgJ29wZW5zc2xfZmlwcyc6ICcnLAorICAg ICAgJ2NvbmRpdGlvbnMnOiBbCisgICAgICAgIFsndGFyZ2V0X2FyY2g9PSJhcm02NCInLCB7Cisg ICAgICAgICAgIyBEaXNhYmxlZCBwZW5kaW5nIGh0dHBzOi8vZ2l0aHViLmNvbS9ub2RlanMvbm9k ZS9pc3N1ZXMvMjM5MTMuCisKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3Bh dGNoZXMvZWxlY3Ryb24tZG9udC1hc3N1bWUtcHl0aG9uLWlzLXB5dGhvbjIucGF0Y2ggYi9zcmNw a2dzL2VsZWN0cm9uNy9maWxlcy9wYXRjaGVzL2VsZWN0cm9uLWRvbnQtYXNzdW1lLXB5dGhvbi1p cy1weXRob24yLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5m YjEzNDc0ODAyNQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3Bh dGNoZXMvZWxlY3Ryb24tZG9udC1hc3N1bWUtcHl0aG9uLWlzLXB5dGhvbjIucGF0Y2gKQEAgLTAs MCArMSwxNyBAQAorLS0tIGEvYnVpbGQvemlwLnB5Lm9yaWcJMjAyMC0wNC0yNyAxNzo1OTo1My40 OTkyODE2NjcgKzAyMDAKKysrKyBiL2J1aWxkL3ppcC5weQkyMDIwLTA0LTI3IDE3OjU5OjU3LjY1 NTgzOTE0MyArMDIwMAorQEAgLTEsNCArMSw0IEBACistIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCisr IyEvdXNyL2Jpbi9lbnYgcHl0aG9uMgorIGZyb20gX19mdXR1cmVfXyBpbXBvcnQgcHJpbnRfZnVu Y3Rpb24KKyBpbXBvcnQgb3MKKyBpbXBvcnQgc3VicHJvY2VzcworCistLS0gYS9idWlsZC9ucG0t cnVuLnB5Lm9yaWcJMjAyMC0wNC0yNyAxNzo1OTo1MC44MjkzNTE4MDcgKzAyMDAKKysrKyBiL2J1 aWxkL25wbS1ydW4ucHkJMjAyMC0wNC0yNyAxODowMDowMi43MDIzNzMyNTYgKzAyMDAKK0BAIC0x LDQgKzEsNCBAQAorLSMhL3Vzci9iaW4vZW52IHB5dGhvbgorKyMhL3Vzci9iaW4vZW52IHB5dGhv bjIKKyBmcm9tIF9fZnV0dXJlX18gaW1wb3J0IHByaW50X2Z1bmN0aW9uCisgaW1wb3J0IG9zCisg aW1wb3J0IHN1YnByb2Nlc3MKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZWxlY3Ryb243L2ZpbGVzL3Bh dGNoZXMvZWxlY3Ryb24tZml4LWluY2x1ZGVzLnBhdGNoIGIvc3JjcGtncy9lbGVjdHJvbjcvZmls ZXMvcGF0Y2hlcy9lbGVjdHJvbi1maXgtaW5jbHVkZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwMDAuLjlkZjFmZDY5NDZkCi0tLSAvZGV2L251bGwKKysrIGIvc3Jj cGtncy9lbGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9lbGVjdHJvbi1maXgtaW5jbHVkZXMucGF0Y2gK QEAgLTAsMCArMSwxOSBAQAorLS0tIGEvcGF0Y2hlcy9jaHJvbWl1bS9mZWF0X29mZnNjcmVlbl9y ZW5kZXJpbmdfd2l0aF92aXpfY29tcG9zaXRvci5wYXRjaC5vcmlnCTIwMjAtMDQtMjcgMTY6Mzc6 MDkuOTM0MjcxMjI3ICswMjAwCisrKysgYi9wYXRjaGVzL2Nocm9taXVtL2ZlYXRfb2Zmc2NyZWVu X3JlbmRlcmluZ193aXRoX3Zpel9jb21wb3NpdG9yLnBhdGNoCTIwMjAtMDQtMjcgMTY6Mzc6NTAu OTAzMjA3MTY2ICswMjAwCitAQCAtMzUwLDcgKzM1MCw3IEBACisgaW5kZXggMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzg2NTkzOWQwNDQ1YTIzYTQ2ODc3MGY1NzIw N2JhNWVmMjMyNzdlZAorIC0tLSAvZGV2L251bGwKKyArKysgYi9jb21wb25lbnRzL3Zpei9zZXJ2 aWNlL2Rpc3BsYXlfZW1iZWRkZXIvc29mdHdhcmVfb3V0cHV0X2RldmljZV9wcm94eS5oCistQEAg LTAsMCArMSw4OCBAQAorK0BAIC0wLDAgKzEsODkgQEAKKyArLy8gQ29weXJpZ2h0IDIwMTQgVGhl IENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKy8vIFVzZSBvZiB0aGlz IHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4g YmUKKyArLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KK0BAIC0zNjQsNiArMzY0LDcgQEAK KyArCisgKyNpbmNsdWRlIDxtZW1vcnk+CisgKworKysjaW5jbHVkZSAiYmFzZS90aHJlYWRpbmcv dGhyZWFkX2NoZWNrZXIuaCIKKyArI2luY2x1ZGUgImNvbXBvbmVudHMvdml6L2hvc3QvaG9zdF9k aXNwbGF5X2NsaWVudC5oIgorICsjaW5jbHVkZSAiY29tcG9uZW50cy92aXovc2VydmljZS9kaXNw bGF5L3NvZnR3YXJlX291dHB1dF9kZXZpY2UuaCIKKyArI2luY2x1ZGUgImNvbXBvbmVudHMvdml6 L3NlcnZpY2Uvdml6X3NlcnZpY2VfZXhwb3J0LmgiCmRpZmYgLS1naXQgYS9zcmNwa2dzL2VsZWN0 cm9uNy9maWxlcy9wYXRjaGVzL2VsZWN0cm9uLW1qc3VuaXQtbm90LWV4c2l0LnBhdGNoLnBhdGNo IGIvc3JjcGtncy9lbGVjdHJvbjcvZmlsZXMvcGF0Y2hlcy9lbGVjdHJvbi1tanN1bml0LW5vdC1l eHNpdC5wYXRjaC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4u MjU2NzU0MDg2OWMKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2VsZWN0cm9uNy9maWxlcy9w YXRjaGVzL2VsZWN0cm9uLW1qc3VuaXQtbm90LWV4c2l0LnBhdGNoLnBhdGNoCkBAIC0wLDAgKzEs NDcgQEAKK2RpZmYgLS1naXQgYS9wYXRjaGVzL3Y4L21ha2VfY3JlYXRlZHluYW1pY2Z1bmN0aW9u X3Rocm93X2lmX2Rpc2FsbG93ZWQucGF0Y2ggYi9wYXRjaGVzL3Y4L21ha2VfY3JlYXRlZHluYW1p Y2Z1bmN0aW9uX3Rocm93X2lmX2Rpc2FsbG93ZWQucGF0Y2gKK2luZGV4IGJhZmQwYjAuLjk0OWNi MmQgMTAwNjQ0CistLS0gYS9wYXRjaGVzL3Y4L21ha2VfY3JlYXRlZHluYW1pY2Z1bmN0aW9uX3Ro cm93X2lmX2Rpc2FsbG93ZWQucGF0Y2gKKysrKyBiL3BhdGNoZXMvdjgvbWFrZV9jcmVhdGVkeW5h bWljZnVuY3Rpb25fdGhyb3dfaWZfZGlzYWxsb3dlZC5wYXRjaAorQEAgLTI1LDQyICsyNSwzIEBA IGluZGV4IGY3NTAxNGQwMzQ2MjY2NDNhZTgzZGM4ZjE2N2E0NzNiNzI5MTUyMmMuLmI1YzJlOGIy NWYxMGYyZmZmOTAxMWEwYTFiZDFhZWVmCisgICAgfQorICAKKyAgICAvLyBCdWlsZCB0aGUgc291 cmNlIHN0cmluZy4KKy1kaWZmIC0tZ2l0IGEvdGVzdC9tanN1bml0L21qc3VuaXQuc3RhdHVzIGIv dGVzdC9tanN1bml0L21qc3VuaXQuc3RhdHVzCistaW5kZXggMTM0YTQ5Zjc0ODBjODdhY2JiMDgx MzNhMmQ2YTRkMDI4YmJkZDA5MC4uN2RjYWE0MTIxOTk3NzBkN2M0ZjY4OGQ3ZjhhNjZkODg3MTMw YmY4MiAxMDA2NDQKKy0tLS0gYS90ZXN0L21qc3VuaXQvbWpzdW5pdC5zdGF0dXMKKy0rKysgYi90 ZXN0L21qc3VuaXQvbWpzdW5pdC5zdGF0dXMKKy1AQCAtMjMyLDYgKzIzMiw5IEBACistICAgIyBC VUcodjg6NjMwNikuCistICAgJ3dhc20vaHVnZS1tZW1vcnknOiBbU0tJUF0sCistIAorLSsgICMg TmVlZHMgdG8gYmUgYWRhcHRlZCBhZnRlciBjaGFuZ2VzIHRvIEZ1bmN0aW9uIGNvbnN0cnVjdG9y LiBjaHJvbWl1bToxMDY1MDk0CistKyAgJ2Nyb3NzLXJlYWxtLWZpbHRlcmluZyc6IFtTS0lQXSwK Ky0rCistICAgIyBBbGxvY2F0ZXMgYSBodWdlIHN0cmluZyBhbmQgdGhlbiBmbGF0dGVucyBpdCwg dmVyeSBzbG93IGluIGRlYnVnIG1vZGUuCistICAgJ3JlZ3Jlc3MvcmVncmVzcy03NTI3NjQnOiBb UEFTUywgWydtb2RlID09IGRlYnVnJywgU0xPV11dLAorLSAKKy1kaWZmIC0tZ2l0IGEvdGVzdC9t anN1bml0L3JlZ3Jlc3MtMTA2NTA5NC5qcyBiL3Rlc3QvbWpzdW5pdC9yZWdyZXNzLTEwNjUwOTQu anMKKy1uZXcgZmlsZSBtb2RlIDEwMDY0NAorLWluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAuLjM2NWUyMDI4NWJiMDUwNWRlYzNmODRjNGRmNTdkYjA1MjVlN2Fj YzMKKy0tLS0gL2Rldi9udWxsCistKysrIGIvdGVzdC9tanN1bml0L3JlZ3Jlc3MtMTA2NTA5NC5q cworLUBAIC0wLDAgKzEsMTkgQEAKKy0rLy8gQ29weXJpZ2h0IDIwMjAgdGhlIFY4IHByb2plY3Qg YXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy0rLy8gVXNlIG9mIHRoaXMgc291cmNlIGNv ZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQorLSsvLyBm b3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLSsKKy0rLy8gRmxhZ3M6IC0tYWxsb3ctbmF0aXZl cy1zeW50YXgKKy0rCistK2Z1bmN0aW9uIGYoZm5Db25zdHJ1Y3RvcikgeworLSsgICAgcmV0dXJu IE9iamVjdC5pcyhuZXcgZm5Db25zdHJ1Y3RvcigpLCB1bmRlZmluZWQpOworLSt9CistKworLStj b25zdCByZWFsbUluZGV4ID0gUmVhbG0uY3JlYXRlQWxsb3dDcm9zc1JlYWxtQWNjZXNzKCk7Cist K2NvbnN0IG90aGVyRnVuY3Rpb24gPSBSZWFsbS5nbG9iYWwocmVhbG1JbmRleCkuRnVuY3Rpb247 CistK1JlYWxtLmRldGFjaEdsb2JhbChyZWFsbUluZGV4KTsKKy0rCistKyVQcmVwYXJlRnVuY3Rp b25Gb3JPcHRpbWl6YXRpb24oZik7CistK2Fzc2VydEZhbHNlKGYoRnVuY3Rpb24pKTsKKy0rYXNz ZXJ0VGhyb3dzKF8gPT4gZihvdGhlckZ1bmN0aW9uKSk7CistKyVPcHRpbWl6ZUZ1bmN0aW9uT25O ZXh0Q2FsbChmKTsKKy0rYXNzZXJ0VGhyb3dzKF8gPT4gZihvdGhlckZ1bmN0aW9uKSk7CmRpZmYg LS1naXQgYS9zcmNwa2dzL2VsZWN0cm9uNy90ZW1wbGF0ZSBiL3NyY3BrZ3MvZWxlY3Ryb243L3Rl bXBsYXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4zZDg3MWE3Mzhh YwotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvZWxlY3Ryb243L3RlbXBsYXRlCkBAIC0wLDAg KzEsMzQxIEBACisjIFRlbXBsYXRlIGZpbGUgZm9yICdlbGVjdHJvbjcnCitwa2duYW1lPWVsZWN0 cm9uNwordmVyc2lvbj03LjMuMgorcmV2aXNpb249MQorX25vZGV2ZXI9MTIuOC4xCitfY2hyb21p dW12ZXI9NzguMC4zOTA0LjEwOAorYXJjaHM9Ing4Nl82NCogYWFyY2g2NCoiCitjcmVhdGVfd3Jr c3JjPXllcworYnVpbGRfd3Jrc3JjPSJzcmMiCitob3N0bWFrZWRlcGVuZHM9IiQodm9wdF9pZiBj bGFuZyBjbGFuZykgeWFzbSBweXRob24gcGtnY29uZiBwZXJsIGdwZXJmIGJpc29uIG5pbmphIG5v ZGVqcyBod2lkcworIGxpYndlYnAtZGV2ZWwgZnJlZXR5cGUtZGV2ZWwgaGFyZmJ1enotZGV2ZWwg bGlicG5nLWRldmVsIG5zcy1kZXZlbCB3aGljaCBnaXQgbGliZXZlbnQtZGV2ZWwKKyBwY2l1dGls cy1kZXZlbCBsaWJhdG9taWMtZGV2ZWwgZmZtcGVnLWRldmVsIGxpYnhtbDItZGV2ZWwgbGliZ2xp Yi1kZXZlbCB5YXJuIG9wZW5qZGsgbGlieHNsdC1kZXZlbAorIG9wdXMtZGV2ZWwgbGliWGN1cnNv ci1kZXZlbCBsaWJYY29tcG9zaXRlLWRldmVsIGxpYlh0c3QtZGV2ZWwgbGliWHJhbmRyLWRldmVs IGxpYlhTY3JuU2F2ZXItZGV2ZWwKKyBhbHNhLWxpYi1kZXZlbCByZTItZGV2ZWwgc25hcHB5LWRl dmVsIG1pdC1rcmI1LWRldmVsIgorbWFrZWRlcGVuZHM9ImxpYnBuZy1kZXZlbCBndGsrLWRldmVs IGd0ayszLWRldmVsIG5zcy1kZXZlbCBwY2l1dGlscy1kZXZlbAorIGxpYlhpLWRldmVsIGxpYmdj cnlwdC1kZXZlbCBsaWJnbm9tZS1rZXlyaW5nLWRldmVsIGN1cHMtZGV2ZWwgZWxmdXRpbHMtZGV2 ZWwKKyBsaWJYY29tcG9zaXRlLWRldmVsIHNwZWVjaC1kaXNwYXRjaGVyLWRldmVsIGxpYlhyYW5k ci1kZXZlbCBtaXQta3JiNS1kZXZlbAorIGxpYlhTY3JuU2F2ZXItZGV2ZWwgYWxzYS1saWItZGV2 ZWwgc25hcHB5LWRldmVsIGxpYmRybS1kZXZlbAorIGxpYnhtbDItZGV2ZWwgbGlieHNsdC1kZXZl bCAkKHZvcHRfaWYgcHVsc2VhdWRpbyBwdWxzZWF1ZGlvLWRldmVsKSBsaWJleGlmLWRldmVsCisg bGliWGN1cnNvci1kZXZlbCBsaWJmbGFjLWRldmVsIHNwZWV4LWRldmVsIGxpYm10cC1kZXZlbCBs aWJ3ZWJwLWRldmVsCisgbGlianBlZy10dXJiby1kZXZlbCBsaWJldmVudC1kZXZlbCBqc29uLWMt ZGV2ZWwgaGFyZmJ1enotZGV2ZWwKKyBtaW5pemlwLWRldmVsIGpzb25jcHAtZGV2ZWwgemxpYi1k ZXZlbCBsaWJjYXAtZGV2ZWwgbGliWGRhbWFnZS1kZXZlbAorIHJlMi1kZXZlbCBmb250Y29uZmln LWRldmVsIGZyZWV0eXBlLWRldmVsIG9wdXMtZGV2ZWwgbGliYXRvbWljLWRldmVsCisgZmZtcGVn LWRldmVsIGxpYnZhLWRldmVsIGxpYnV2LWRldmVsIGMtYXJlcy1kZXZlbCBsaWJub3RpZnktZGV2 ZWwiCitzaG9ydF9kZXNjPSJBcHBsaWNhdGlvbiBkZXZlbG9wbWVudCBmcmFtZXdvcmsgYmFzZWQg b24gd2ViIHRlY2hub2xvZ2llcyIKK21haW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRl dj4iCitsaWNlbnNlPSJCU0QtMy1DbGF1c2UiCitob21lcGFnZT0iaHR0cHM6Ly9lbGVjdHJvbmpz Lm9yZyIKK2Rpc3RmaWxlcz0iaHR0cHM6Ly9naXRodWIuY29tL2VsZWN0cm9uL2VsZWN0cm9uL2Fy Y2hpdmUvdiR2ZXJzaW9uLnRhci5nej5lbGVjdHJvbi0ke3ZlcnNpb259LnRhci5negorIGh0dHBz Oi8vY29tbW9uZGF0YXN0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vY2hyb21pdW0tYnJvd3Nlci1vZmZp Y2lhbC9jaHJvbWl1bS0kX2Nocm9taXVtdmVyLnRhci54egorIGh0dHBzOi8vZ2l0aHViLmNvbS9u b2RlanMvbm9kZS9hcmNoaXZlL3YkX25vZGV2ZXIudGFyLmd6Pm5vZGUtJF9ub2RldmVyLnRhci5n eiIKK2NoZWNrc3VtPSI0ZWRlNTAxZjBkNWVlMzA2ODQ3NGM5ZTJhYzE1NGNkMjNmZGIzNTgwYzBj ZmY1MjMwZDRkZGNmZmU1NDJlNmJhCisgZjljNTM4MzlmMzA2ZDI5NzNkZTI3NzIzMzYwMDI0Zjc5 MDQxMDFkNDI2YjllN2U5Y2RiNTZlOGJjYzc3NWIwZQorIDExNjQ4ZDU4NmY2OGVlNWZjMzhlNGNh ZGYzOTc0NTQxYWFjNGE2NzcwOWZhMDI4ZTkwNzVhZmY0MmUyOGQ5YjkiCisKK25vX2dlbmVyaWNf cGtnY29uZmlnX2xpbms9eWVzCitsaWIzMmRpc2FibGVkPXllcworbm9kZWJ1Zz15ZXMKK25vcGll PXllcyAgIyBjb250YWlucyB0b29scyB0aGF0IGFyZSBub3QgUElFLCBlbmFibGVzIFBJRSBpdHNl bGYKKworIyBYWFg6IHB1bHNlYXVkaW8gYnJva2VuIGF0IGNvbXBpbGUgdGltZQorYnVpbGRfb3B0 aW9ucz0icHVsc2VhdWRpbyBjbGFuZyIKK2J1aWxkX29wdGlvbnNfZGVmYXVsdD0icHVsc2VhdWRp byIKKworaWYgWyAteiAiJENST1NTX0JVSUxEIiBdOyB0aGVuCisJYnVpbGRfb3B0aW9uc19kZWZh dWx0Kz0iIGNsYW5nIgorZmkKKworaWYgWyAiJGJ1aWxkX29wdGlvbl9jbGFuZyIgXTsgdGhlbgor CW5vY3Jvc3M9Ik5vIHByb3BlciBzZXR1cCBmb3IgdXNpbmcgY2xhbmcgYXMgY3Jvc3MgY29tcGls ZXIgaW4gdm9pZCB5ZXQiCitlbGlmIFsgIiRDUk9TU19CVUlMRCIgXSAmJiBbICIke1hCUFNfVEFS R0VUX01BQ0hJTkUlJS1tdXNsfSIgPSAiYWFyY2g2NCIgXTsgdGhlbgorCWJyb2tlbj0ie3N0YW5k YXJkIGlucHV0fTogRXJyb3I6IHVuYWxpZ25lZCBvcGNvZGVzIGRldGVjdGVkIGluIGV4ZWN1dGFi bGUgc2VnbWVudCIKKwkjIFRoaXMgbWlnaHQgYWxzbyBoYXBwZW4gd2l0aCBub24tY3Jvc3MgZ2Nj PworZmkKKworX2J1aWxkdHlwZT1SZWxlYXNlCitfaXNfZGVidWc9ZmFsc2UKKworQ0ZMQUdTPSIt V25vLXVua25vd24td2FybmluZy1vcHRpb24gLWZQSUMiCitDWFhGTEFHUz0iLVduby11bmtub3du LXdhcm5pbmctb3B0aW9uIC1mUElDIgorCitfYXBwbHlfcGF0Y2goKSB7CisJbG9jYWwgYXJncz0i JDEiIHBuYW1lPSIkKGJhc2VuYW1lICQyKSIKKworCWlmIFsgISAtZiAiLiR7cG5hbWV9X2RvbmUi IF07IHRoZW4KKwkJbXNnX25vcm1hbCAiJHBrZ3ZlcjogcGF0Y2hpbmc6ICR7cG5hbWV9LlxuIgor CQlwYXRjaCAtTiAkYXJncyAtaSAkMgorCQl0b3VjaCAuJHtwbmFtZX1fZG9uZQorCWZpCit9CisK K19nZXRfY2hyb21pdW1fYXJjaCgpIHsKKwljYXNlICIkMSIgaW4KKwkJeDg2XzY0KikgZWNobyB4 NjQgOzsKKwkJaTY4NiopIGVjaG8geDg2IDs7CisJCWFybSopIGVjaG8gYXJtIDs7CisJCWFhcmNo NjQqKSBlY2hvIGFybTY0IDs7CisJCXBwYzY0KikgZWNobyBwcGM2NCA7OworCQlwcGMqKSBlY2hv IHBwYyA7OworCQltaXBzZWwqKSBlY2hvIG1pcHNlbCA7OworCQltaXBzKikgZWNobyBtaXBzIDs7 CisJCSopIG1zZ19lcnJvciAiJHBrZ3ZlcjogY2Fubm90IGJlIGNvbXBpbGVkIGZvciAke1hCUFNf VEFSR0VUX01BQ0hJTkV9LlxuIiA7OworCWVzYWMKK30KKworcG9zdF9leHRyYWN0KCkgeworCWxu IC1zIGNocm9taXVtLSRfY2hyb21pdW12ZXIgc3JjCisJbWtkaXIgLXAgc3JjL3RoaXJkX3BhcnR5 LworCWxuIC1zIC4uLy4uL25vZGUtJF9ub2RldmVyIHNyYy90aGlyZF9wYXJ0eS9lbGVjdHJvbl9u b2RlCisJbG4gLXMgLi4vZWxlY3Ryb24tJHt2ZXJzaW9ufSBzcmMvZWxlY3Ryb24KKworfQorCitw b3N0X3BhdGNoKCkgeworCWNkICR3cmtzcmMKKwlmb3IgeCBpbiAkRklMRVNESVIvcGF0Y2hlcy8q OyBkbworCQljYXNlICIke3gjIyovfSIgaW4KKwkJCWVsZWN0cm9uKi5wYXRjaCkKKwkJCQljZCBz cmMvZWxlY3Ryb24KKwkJCQlfYXBwbHlfcGF0Y2ggLXAxICIkeCIKKwkJCQljZCAiJHdya3NyYyI7 OworCQllc2FjCisJZG9uZQorCisJIyBTaWdoLCBlbGVjdHJvbiB1c2VzIGdpdCBhbS4uLgorCXB5 dGhvbjIgc3JjL2VsZWN0cm9uL3NjcmlwdC9saXN0X3BhdGNoX3RhcmdldHMucHkgc3JjL2VsZWN0 cm9uL3BhdGNoZXMvY29uZmlnLmpzb24gfCB3aGlsZSByZWFkIC1yIHJlcG9wYXRoOyBkbworCQlj ZCAiJHdya3NyYyIvIiRyZXBvcGF0aCIKKwkJZ2l0IGluaXQgLXEKKwkJZ2l0IGNvbmZpZyAiZ2Mu YXV0byIgMAorCQlpZiBbICIkcmVwb3BhdGgiICE9ICJzcmMiIF07IHRoZW4KKwkJCWVjaG8gIi8k e3JlcG9wYXRoI3NyYy99IiA+PiAiJHdya3NyYy8kYnVpbGRfd3Jrc3JjLy5naXRpZ25vcmUiCisJ CWZpCisJCWdpdCBhZGQgLgorCQlnaXQgLWMgJ3VzZXIubmFtZT1FbGVjdHJvbiBidWlsZCcgLWMg J3VzZXIuZW1haWw9ZWxlY3Ryb25AZWJ1aWxkJyBcCisJCQljb21taXQgLXEgLW0gIi4iIHx8IHRy dWUKKwlkb25lCisJY2QgJHdya3NyYworCXB5dGhvbjIgc3JjL2VsZWN0cm9uL3NjcmlwdC9hcHBs eV9hbGxfcGF0Y2hlcy5weSBzcmMvZWxlY3Ryb24vcGF0Y2hlcy9jb25maWcuanNvbgorCisJZm9y IHggaW4gJEZJTEVTRElSL3BhdGNoZXMvKjsgZG8KKwkJY2FzZSAiJHt4IyMqL30iIGluCisJCQlj aHJvbWl1bSoucGF0Y2gpCisJCQkJY2Qgc3JjCisJCQkJX2FwcGx5X3BhdGNoIC1wMSAiJHgiCisJ CQkJY2QgIiR3cmtzcmMiOzsKKwkJZXNhYworCWRvbmUKKworCWlmIFsgIiRYQlBTX1RBUkdFVF9M SUJDIiA9ICJtdXNsIiBdOyB0aGVuCisJZm9yIHggaW4gJEZJTEVTRElSL211c2wtcGF0Y2hlcy8q OyBkbworCQljYXNlICIke3gjIyovfSIgaW4KKwkJCWNocm9taXVtKi5wYXRjaCkKKwkJCQljZCBz cmMKKwkJCQlfYXBwbHlfcGF0Y2ggLXAxICIkeCIKKwkJCQljZCAiJHdya3NyYyI7OworCQkJZWxl Y3Ryb24qLnBhdGNoKQorCQkJCWNkIHNyYy9lbGVjdHJvbgorCQkJCV9hcHBseV9wYXRjaCAtcDEg IiR4IgorCQkJCWNkICIkd3Jrc3JjIjs7CisJCWVzYWMKKwlkb25lCisJZmkKK30KKworcHJlX2Nv bmZpZ3VyZSgpIHsKKwljZCAiJHdya3NyYy8kYnVpbGRfd3Jrc3JjIgorCisJIyBodHRwczovL2dy b3Vwcy5nb29nbGUuY29tL2EvY2hyb21pdW0ub3JnL2QvdG9waWMvY2hyb21pdW0tcGFja2FnZXJz LzlKWDFOMm5mNFBVL2Rpc2N1c3Npb24KKwl0b3VjaCBjaHJvbWUvdGVzdC9kYXRhL3dlYnVpL2kx OG5fcHJvY2Vzc19jc3NfdGVzdC5odG1sCisJIyBVc2UgdGhlIGZpbGUgYXQgcnVuIHRpbWUgaW5z dGVhZCBvZiBlZmZlY3RpdmVseSBjb21waWxpbmcgaXQgaW4KKwlzZWQgJ3N8Ly90aGlyZF9wYXJ0 eS91c2JfaWRzL3VzYi5pZHN8L3Vzci9zaGFyZS9od2RhdGEvdXNiLmlkc3xnJyBcCisJCS1pIHNl cnZpY2VzL2RldmljZS9wdWJsaWMvY3BwL3VzYi9CVUlMRC5nbgorCisJbWtkaXIgLXAgdGhpcmRf cGFydHkvbm9kZS9saW51eC9ub2RlLWxpbnV4LXg2NC9iaW4KKwlsbiAtcyAvdXNyL2Jpbi9ub2Rl IHRoaXJkX3BhcnR5L25vZGUvbGludXgvbm9kZS1saW51eC14NjQvYmluLworCisJIyByZXVzYWJs ZSBzeXN0ZW0gbGlicmFyeSBzZXR0aW5ncworCWxvY2FsIHVzZV9zeXN0ZW09IgorCQlmZm1wZWcK KwkJZmxhYworCQlmb250Y29uZmlnCisJCWZyZWV0eXBlCisJCWhhcmZidXp6LW5nCisJCWxpYmRy bQorCQlsaWJldmVudAorCQlsaWJqcGVnCisJCWxpYnBuZworCQlsaWJ3ZWJwCisJCWxpYnhtbAor CQlsaWJ4c2x0CisJCW9wdXMKKwkJcmUyCisJCXNuYXBweQorCQl5YXNtCisJCXpsaWIKKwkJIgor CWZvciBfbGliIGluICR1c2Vfc3lzdGVtIGxpYmpwZWdfdHVyYm87IGRvCisJCW1zZ19ub3JtYWwg IlJlbW92aW5nIGJ1aWxkc2NyaXB0cyBmb3Igc3lzdGVtIHByb3ZpZGVkICRfbGliXG4iCisJCWZp bmQgLXR5cGUgZiAtcGF0aCAiKnRoaXJkX3BhcnR5LyRfbGliLyoiIFwKKwkJCVwhIC1wYXRoICIq dGhpcmRfcGFydHkvJF9saWIvY2hyb21pdW0vKiIgXAorCQkJXCEgLXBhdGggIip0aGlyZF9wYXJ0 eS8kX2xpYi9nb29nbGUvKiIgXAorCQkJXCEgLXBhdGggJy4vYmFzZS90aGlyZF9wYXJ0eS9pY3Uv KicgXAorCQkJXCEgLXBhdGggJy4vdGhpcmRfcGFydHkvbGlieG1sLyonIFwKKwkJCVwhIC1wYXRo ICcuL3RoaXJkX3BhcnR5L3BkZml1bS90aGlyZF9wYXJ0eS9mcmVldHlwZS9pbmNsdWRlL3BzdGFi bGVzLmgnIFwKKwkJCVwhIC1wYXRoICcuL3RoaXJkX3BhcnR5L3lhc20vcnVuX3lhc20ucHknIFwK KwkJCVwhIC1yZWdleCAnLipcLlwoZ25cfGduaVx8aXNvbGF0ZVx8cHlcKScgXAorCQkJLWRlbGV0 ZQorCWRvbmUKKworCisJbXNnX25vcm1hbCAiUmVwbGFjaW5nIGduIGZpbGVzXG4iCisJcHl0aG9u MiBidWlsZC9saW51eC91bmJ1bmRsZS9yZXBsYWNlX2duX2ZpbGVzLnB5IC0tc3lzdGVtLWxpYnJh cmllcyBcCisJCSR1c2Vfc3lzdGVtCisJdGhpcmRfcGFydHkvbGliYWRkcmVzc2lucHV0L2Nocm9t aXVtL3Rvb2xzL3VwZGF0ZS1zdHJpbmdzLnB5Cit9CisKK2RvX2NvbmZpZ3VyZSgpIHsKKwlsb2Nh bCB0YXJnZXRfYXJjaD0iJChfZ2V0X2Nocm9taXVtX2FyY2ggJHtYQlBTX1RBUkdFVF9NQUNISU5F fSkiCisJbG9jYWwgaG9zdF9hcmNoPSIkKF9nZXRfY2hyb21pdW1fYXJjaCAke1hCUFNfTUFDSElO RX0pIgorCSMgdGhlIGJ1aWxkIHN5c3RlbSB3aWxsIHNldCBtYXJjaCBmb3IgdXNlLCBhZGRpbmcg aXQgdG8gY2ZsYWdzIHdpbGwgYnJlYWsgYnVpbGRzCisJZXhwb3J0IENYWEZMQUdTPSQoIHNob3B0 IC1zIGV4dGdsb2I7IGVjaG8gJHtDWFhGTEFHUy8tbWFyY2g9KihbXiBdKX0gKQorCWV4cG9ydCBD RkxBR1M9JCggc2hvcHQgLXMgZXh0Z2xvYjsgZWNobyAke0NGTEFHUy8tbWFyY2g9KihbXiBdKX0g KQorCWxvY2FsIGNvbmY9KCkKKwljZCB0aGlyZF9wYXJ0eS9lbGVjdHJvbl9ub2RlCisJaWYgWyAi JENST1NTX0JVSUxEIiBdOyB0aGVuCisJCWNvbmZfYXJncz0iIC0tZGVzdC1jcHU9JHt0YXJnZXRf YXJjaH0gLS1jcm9zcy1jb21waWxpbmciCisJZmkKKwkuL2NvbmZpZ3VyZSAtLXByZWZpeD0vdXNy IFwKKwkJLS1zaGFyZWQtemxpYiBcCisJCS0tc2hhcmVkLWxpYnV2IFwKKwkJLS1zaGFyZWQtb3Bl bnNzbCBcCisJCS0tc2hhcmVkLWNhcmVzIFwKKwkJLS1vcGVuc3NsLXVzZS1kZWYtY2Etc3RvcmUg XAorCQktLXdpdGhvdXQtbnBtIFwKKwkJLS13aXRob3V0LWR0cmFjZSBcCisJCS0td2l0aG91dC1i dW5kbGVkLXY4IFwKKwkJJHtjb25mX2FyZ3N9CisKKwljZCAiJHdya3NyYy8kYnVpbGRfd3Jrc3Jj Ii9lbGVjdHJvbgorCXlhcm4gaW5zdGFsbAorCWNkICIkd3Jrc3JjLyRidWlsZF93cmtzcmMiCisK KwlpZiBbICIkYnVpbGRfb3B0aW9uX2NsYW5nIiBdOyB0aGVuCisJCWV4cG9ydCBDQz1jbGFuZwor CQlleHBvcnQgQ1hYPWNsYW5nKysKKwkJZXhwb3J0IEhPU1RfQ0M9Y2xhbmcKKwkJZXhwb3J0IEhP U1RfQ1hYPWNsYW5nKysKKwllbHNlCisJCWV4cG9ydCBDWFhGTEFHUz0iJENYWEZMQUdTIC1mcGVy bWlzc2l2ZSIKKwkJZXhwb3J0IEJVSUxEX0NYWEZMQUdTPSIkQlVJTERfQ1hYRkxBR1MgLWZwZXJt aXNzaXZlIgorCQlleHBvcnQgQlVJTERfQVI9IiRBUl9ob3N0IgorCQlleHBvcnQgQlVJTERfTk09 IiROTV9ob3N0IgorCWZpCisKKwkjIEdvb2dsZSBBUEkga2V5cyAoc2VlIGh0dHA6Ly93d3cuY2hy b21pdW0ub3JnL2RldmVsb3BlcnMvaG93LXRvcy9hcGkta2V5cykKKwkjIE5vdGU6IFRoZXNlIGFy ZSBmb3IgVm9pZCBMaW51eCB1c2UgT05MWS4KKwljb25mKz0oCisJCSdnb29nbGVfYXBpX2tleT0i QUl6YVN5QTlnV2F6S2FIYU5JUFBnMmhyTWo2X1pTRzhBRm1xNzM4IicKKwkJJ2dvb2dsZV9kZWZh dWx0X2NsaWVudF9pZD0iMTI2NjU5MTQ5NDIzLWhvbzZpY2tiazNwMXUycWpzZHNwMGRkY2l1cmZ2 YjR0LmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIicKKwkJJ2dvb2dsZV9kZWZhdWx0X2NsaWVu dF9zZWNyZXQ9Il9vekl4MkQtREttX3NlXzJOUHdWNGw1YiInCisJKQorCisJY29uZis9KAorCQkn Ymxpbmtfc3ltYm9sX2xldmVsPTAnCisJCSdjbGFuZ191c2VfY2hyb21lX3BsdWdpbnM9ZmFsc2Un CisJCSdjbG9zdXJlX2NvbXBpbGU9dHJ1ZScKKwkJJ2N1c3RvbV90b29sY2hhaW49Ii8vYnVpbGQv dG9vbGNoYWluL2xpbnV4L3VuYnVuZGxlOmRlZmF1bHQiJworCSkKKwlpZiBbICIkQ1JPU1NfQlVJ TEQiIF07IHRoZW4KKwkJY29uZis9KAorCQkJJ2hvc3RfdG9vbGNoYWluPSIvL2J1aWxkL3Rvb2xj aGFpbi9saW51eC91bmJ1bmRsZTpob3N0IicKKwkJCSd2OF9zbmFwc2hvdF90b29sY2hhaW49Ii8v YnVpbGQvdG9vbGNoYWluL2xpbnV4L3VuYnVuZGxlOmhvc3QiJworCQkJImhvc3RfcGtnX2NvbmZp Zz1cIiRQS0dfQ09ORklHX0ZPUl9CVUlMRFwiIgorCQkJInBrZ19jb25maWc9XCIkUEtHX0NPTkZJ R1wiIgorCQkpCisJZWxzZQorCQljb25mKz0oCisJCQknaG9zdF90b29sY2hhaW49Ii8vYnVpbGQv dG9vbGNoYWluL2xpbnV4L3VuYnVuZGxlOmRlZmF1bHQiJworCQkJJ3Y4X3NuYXBzaG90X3Rvb2xj aGFpbj0iLy9idWlsZC90b29sY2hhaW4vbGludXgvdW5idW5kbGU6ZGVmYXVsdCInCisJCSkKKwlm aQorCWNvbmYrPSgKKwkJJ2VuYWJsZV9oYW5nb3V0X3NlcnZpY2VzX2V4dGVuc2lvbj10cnVlJwor CQknZW5hYmxlX25hY2xfbm9uc2ZpPWZhbHNlJworCQknZW5hYmxlX25hY2w9ZmFsc2UnCisJCSdl bmFibGVfcHJlY29tcGlsZWRfaGVhZGVycz1mYWxzZScKKwkJJ2ZhdGFsX2xpbmtlcl93YXJuaW5n cz1mYWxzZScKKwkJJ2ZmbXBlZ19icmFuZGluZz0iQ2hyb21lIicKKwkJJ2ZpZWxkdHJpYWxfdGVz dGluZ19saWtlX29mZmljaWFsX2J1aWxkPXRydWUnCisJCSdnb2xkX3BhdGg9Ii91c3IvYmluL2xk LmdvbGQiJworCQknaWN1X3VzZV9kYXRhX2ZpbGU9dHJ1ZScKKwkJImlzX2NsYW5nPSQodm9wdF9p ZiBjbGFuZyB0cnVlIGZhbHNlKSIKKwkJJ2lzX2NvbXBvbmVudF9idWlsZD1mYWxzZScKKwkJImlz X2RlYnVnPSRfaXNfZGVidWciCisJCSdpc19kZXNrdG9wX2xpbnV4PXRydWUnCisJCSdsaW51eF91 c2VfYnVuZGxlZF9iaW51dGlscz1mYWxzZScKKwkJJ3Byb3ByaWV0YXJ5X2NvZGVjcz10cnVlJwor CQknc3ltYm9sX2xldmVsPTAnCisJCSd0cmVhdF93YXJuaW5nc19hc19lcnJvcnM9ZmFsc2UnCisJ CSd1c2VfYWxsb2NhdG9yX3NoaW09ZmFsc2UnCisJCSd1c2VfYWxsb2NhdG9yPSJub25lIicKKwkJ J3VzZV9jdXBzPXRydWUnCisJCSd1c2VfY3VzdG9tX2xpYmN4eD1mYWxzZScKKwkJJ3VzZV9nbm9t ZV9rZXlyaW5nPWZhbHNlJworCQkndXNlX2dvbGQ9ZmFsc2UnCisJCSd1c2VfbGxkPWZhbHNlJwor CQkidXNlX3B1bHNlYXVkaW89JCh2b3B0X2lmIHB1bHNlYXVkaW8gJ3RydWUnICdmYWxzZScpIgor CQkndXNlX3N5c3Jvb3Q9ZmFsc2UnCisJCSd1c2Vfc3lzdGVtX2hhcmZidXp6PXRydWUnCisJCSJ0 YXJnZXRfY3B1PVwiJHRhcmdldF9hcmNoXCIiCisJCSJob3N0X2NwdT1cIiRob3N0X2FyY2hcIiIK KwkJJ2ltcG9ydCgiLy9lbGVjdHJvbi9idWlsZC9hcmdzL3JlbGVhc2UuZ24iKScKKwkpCisKKwlt c2dfbm9ybWFsICJCb290c3RyYXBwaW5nIEdOXG4iCisJQ0M9IiR7Q0NfRk9SX0JVSUxEOi0kQ0N9 IiBDWFg9IiR7Q1hYX0ZPUl9CVUlMRDotJENYWH0iIExEPSIke0xEX0ZPUl9CVUlMRDotJExEfSIg XAorCUNGTEFHUz0iJHtDRkxBR1NfRk9SX0JVSUxEOi0kQ0ZMQUdTfSIgQ1hYRkxBR1M9IiR7Q1hY RkxBR1NfRk9SX0JVSUxEOi0kQ1hYRkxBR1N9IiBcCisJTERGTEFHUz0iJHtYQlBTX0xERkxBR1N9 IiBcCisJCXB5dGhvbjIgdG9vbHMvZ24vYm9vdHN0cmFwL2Jvb3RzdHJhcC5weSAtcyAtdiAtLXNr aXAtZ2VuZXJhdGUtYnVpbGRmaWxlcworCisJbXNnX25vcm1hbCAiQ29uZmlndXJpbmcgYnVpbGRc biIKKwlvdXQvUmVsZWFzZS9nbiBnZW4gb3V0LyRfYnVpbGR0eXBlIC0tYXJncz0iJHtjb25mWypd fSIKK30KKworZG9fYnVpbGQoKSB7CisJZXhwb3J0IENYWEZMQUdTPSQoIHNob3B0IC1zIGV4dGds b2I7IGVjaG8gJHtDWFhGTEFHUy8tbWFyY2g9KihbXiBdKX0gKQorCWV4cG9ydCBDRkxBR1M9JCgg c2hvcHQgLXMgZXh0Z2xvYjsgZWNobyAke0NGTEFHUy8tbWFyY2g9KihbXiBdKX0gKQorCWlmIFsg IiRidWlsZF9vcHRpb25fY2xhbmciIF07IHRoZW4KKwkJZXhwb3J0IENDPWNsYW5nCisJCWV4cG9y dCBDWFg9Y2xhbmcrKworCQlleHBvcnQgSE9TVF9DQz1jbGFuZworCQlleHBvcnQgSE9TVF9DWFg9 Y2xhbmcrKworCWVsc2UKKwkJZXhwb3J0IEJVSUxEX0NYWEZMQUdTPSIkQlVJTERfQ1hYRkxBR1Mg LWZwZXJtaXNzaXZlIgorCQlleHBvcnQgQ1hYRkxBR1M9IiRDWFhGTEFHUyAtZnBlcm1pc3NpdmUi CisJCWV4cG9ydCBCVUlMRF9BUj0iJEFSX2hvc3QiCisJCWV4cG9ydCBCVUlMRF9OTT0iJE5NX2hv c3QiCisJZmkKKwltc2dfbm9ybWFsICJOaW5qYSB0dXJ0bGVzIEdPIVxuIgorCW5pbmphICR7bWFr ZWpvYnN9IC1DIG91dC8kX2J1aWxkdHlwZSBlbGVjdHJvbiB0aGlyZF9wYXJ0eS9lbGVjdHJvbl9u b2RlOmhlYWRlcnMKKwkjIGZpbmlzaCByZXN0IG9mIHRoZSBidWlsZAorCXN0cmlwIC1zIG91dC8k X2J1aWxkdHlwZS9lbGVjdHJvbgorCW5pbmphICR7bWFrZWpvYnN9IC1DIG91dC8kX2J1aWxkdHlw ZSBlbGVjdHJvbl9kaXN0X3ppcAorfQorCitkb19pbnN0YWxsKCkgeworCXZta2RpciAvdXNyL2xp Yi8kcGtnbmFtZQorCXZta2RpciAvdXNyL2luY2x1ZGUvJHBrZ25hbWUKKwlic2R0YXIgLXhmIG91 dC8kX2J1aWxkdHlwZS9kaXN0LnppcCAtQyAiJERFU1RESVIvdXNyL2xpYi8kcGtnbmFtZSIKKwor CWNobW9kIHUrcyAiJERFU1RESVIvdXNyL2xpYi8kcGtnbmFtZS9jaHJvbWUtc2FuZGJveCIKKwor CWNwIG91dC8kX2J1aWxkdHlwZS9nZW4vbm9kZV9oZWFkZXJzLnRhci5neiAiJERFU1RESVIiL3Vz ci9pbmNsdWRlLyRwa2duYW1lCisKKwl2bGljZW5zZSAke3dya3NyY30vc3JjL0xJQ0VOU0UgY2hy b21pdW0uTElDRU5TRQorCXZsaWNlbnNlICR7d3Jrc3JjfS9zcmMvZWxlY3Ryb24vTElDRU5TRSBl bGVjdHJvbi5MSUNFTlNFCisJdmxpY2Vuc2UgJHt3cmtzcmN9L3NyYy90aGlyZF9wYXJ0eS9lbGVj dHJvbl9ub2RlL0xJQ0VOU0Ugbm9kZS5MSUNFTlNFCisKKwl2bWtkaXIgL3Vzci9iaW4KKwlsbiAt cyAuLi9saWIvJHBrZ25hbWUvZWxlY3Ryb24gIiRERVNURElSIi91c3IvYmluLyRwa2duYW1lCit9 CmRpZmYgLS1naXQgYS9zcmNwa2dzL2VsZWN0cm9uNy91cGRhdGUgYi9zcmNwa2dzL2VsZWN0cm9u Ny91cGRhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjNhZjhlNThi NTM1Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9lbGVjdHJvbjcvdXBkYXRlCkBAIC0wLDAg KzEsMiBAQAorc2l0ZT1odHRwczovL3d3dy5lbGVjdHJvbmpzLm9yZy9yZWxlYXNlcy9zdGFibGU/ dmVyc2lvbj0ke3ZlcnNpb24lJS4qfQorcGF0dGVybj0ndGFnL3ZcS1tcZFwuXSsoPz0iKScKCkZy b20gODdmZTZjY2EzODA1OTFhNGMyNjA5ZjVhZjE4MGFmNzg1NzNjZmRjOCBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKRnJvbTogSm9obiA8bWVAam9obm55bmF0b3IuZGV2PgpEYXRlOiBGcmksIDgg TWF5IDIwMjAgMTk6MTc6MDkgKzAyMDAKU3ViamVjdDogW1BBVENIIDIvMl0gdnNjb2RlOiBidWls dCBhZ2FpbnN0IHN5c3RlbSBlbGVjdHJvbgoKW2NpIHNraXBdCi0tLQogY29tbW9uL3NobGlicyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDEgLQogLi4uL3ZzY29kZS9wYXRjaGVz L2RvbnQtZG93bmxvYWQtZmZtcGVnLnBhdGNoIHwgMTQgKysrKysrKysrKwogc3JjcGtncy92c2Nv ZGUvcGF0Y2hlcy9maXhfZGlyLnBhdGNoICAgICAgICAgIHwgIDYgKystLQogc3JjcGtncy92c2Nv ZGUvdGVtcGxhdGUgICAgICAgICAgICAgICAgICAgICAgIHwgMjggKysrKysrKysrKysrKy0tLS0t LQogNCBmaWxlcyBjaGFuZ2VkLCAzNiBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3ZzY29kZS9wYXRjaGVzL2RvbnQtZG93bmxvYWQtZmZt cGVnLnBhdGNoCgpkaWZmIC0tZ2l0IGEvY29tbW9uL3NobGlicyBiL2NvbW1vbi9zaGxpYnMKaW5k ZXggNGQzZGZhM2M3ZmUuLjk5M2IzZDRjMThiIDEwMDY0NAotLS0gYS9jb21tb24vc2hsaWJzCisr KyBiL2NvbW1vbi9zaGxpYnMKQEAgLTEyNSw3ICsxMjUsNiBAQCBsaWJHTEVTdjIuc28gZGlzY29y ZC0wLjAuN18xCiBsaWJHTEVTdjIuc28ga2V5YmFzZS1kZXNrdG9wLTMuMS4yXzEKIGxpYkdMRVN2 Mi5zbyByaW90LWRlc2t0b3AtMC4xNy45XzIKIGxpYkdMRVN2Mi5zbyB3aXJlLWRlc2t0b3AtMy42 LjI4ODVfMQotbGliR0xFU3YyLnNvIHZzY29kZS0xLjM2LjFfMQogbGliR0xFU3YyLnNvIFNpZ25h bC1EZXNrdG9wLTEuMjMuMl8xCiBsaWJHTEVTdjIuc28gc2xhY2stZGVza3RvcC0zLjQuMl8xCiBs aWJicmNtRUdMLnNvIHJwaS11c2VybGFuZC0yMDE4MDEwM18yCmRpZmYgLS1naXQgYS9zcmNwa2dz L3ZzY29kZS9wYXRjaGVzL2RvbnQtZG93bmxvYWQtZmZtcGVnLnBhdGNoIGIvc3JjcGtncy92c2Nv ZGUvcGF0Y2hlcy9kb250LWRvd25sb2FkLWZmbXBlZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAwMC4uOTVlZWUzNjFlMWIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNw a2dzL3ZzY29kZS9wYXRjaGVzL2RvbnQtZG93bmxvYWQtZmZtcGVnLnBhdGNoCkBAIC0wLDAgKzEs MTQgQEAKK2RpZmYgLS1naXQgYS9idWlsZC9ndWxwZmlsZS52c2NvZGUuanMgYi9idWlsZC9ndWxw ZmlsZS52c2NvZGUuanMKK2luZGV4IDM0ODhkN2I1MWMuLjczMTI4MmE4ODEgMTAwNjQ0CistLS0g YS9idWlsZC9ndWxwZmlsZS52c2NvZGUuanMKKysrKyBiL2J1aWxkL2d1bHBmaWxlLnZzY29kZS5q cworQEAgLTI2Nyw3ICsyNjcsNyBAQCBmdW5jdGlvbiBwYWNrYWdlVGFzayhwbGF0Zm9ybSwgYXJj aCwgc291cmNlRm9sZGVyTmFtZSwgZGVzdGluYXRpb25Gb2xkZXJOYW1lLCBvcAorIAkJbGV0IHJl c3VsdCA9IGFsbAorIAkJCS5waXBlKHV0aWwuc2tpcERpcmVjdG9yaWVzKCkpCisgCQkJLnBpcGUo dXRpbC5maXhXaW4zMkRpcmVjdG9yeVBlcm1pc3Npb25zKCkpCistCQkJLnBpcGUoZWxlY3Ryb24o Xy5leHRlbmQoe30sIGNvbmZpZywgeyBwbGF0Zm9ybSwgYXJjaCwgZmZtcGVnQ2hyb21pdW06IHRy dWUgfSkpKQorKwkJCS5waXBlKGVsZWN0cm9uKF8uZXh0ZW5kKHt9LCBjb25maWcsIHsgcGxhdGZv cm0sIGFyY2gsIGZmbXBlZ0Nocm9taXVtOiBmYWxzZSB9KSkpCisgCQkJLnBpcGUoZmlsdGVyKFsn KionLCAnIUxJQ0VOU0UnLCAnIUxJQ0VOU0VTLmNocm9taXVtLmh0bWwnLCAnIXZlcnNpb24nXSwg eyBkb3Q6IHRydWUgfSkpOworIAorIAkJaWYgKHBsYXRmb3JtID09PSAnbGludXgnKSB7CisgCmRp ZmYgLS1naXQgYS9zcmNwa2dzL3ZzY29kZS9wYXRjaGVzL2ZpeF9kaXIucGF0Y2ggYi9zcmNwa2dz L3ZzY29kZS9wYXRjaGVzL2ZpeF9kaXIucGF0Y2gKaW5kZXggZjQyNTFlODliY2IuLjgxMzJhYzdl MjhjIDEwMDY0NAotLS0gYS9zcmNwa2dzL3ZzY29kZS9wYXRjaGVzL2ZpeF9kaXIucGF0Y2gKKysr IGIvc3JjcGtncy92c2NvZGUvcGF0Y2hlcy9maXhfZGlyLnBhdGNoCkBAIC0yMCw3ICsyMCw3IEBA IGluZGV4IGI4NTUyNWZiZDA0Mi4uZGM3NjE3MDUxYjk1IDEwMDY0NAogIENvbW1lbnQ9Q29kZSBF ZGl0aW5nLiBSZWRlZmluZWQuCiAgR2VuZXJpY05hbWU9VGV4dCBFZGl0b3IKIC1FeGVjPUBARVhF Q0BAIC0tbm8tc2FuZGJveCAtLW9wZW4tdXJsICVVCi0rRXhlYz0vdXNyL2xpYi9AQE5BTUVAQC9A QE5BTUVAQCAtLW5vLXNhbmRib3ggLS1vcGVuLXVybCAlVQorK0V4ZWM9L3Vzci9saWIvQEBOQU1F QEAvYmluL0BATkFNRUBAIC0tbm8tc2FuZGJveCAtLW9wZW4tdXJsICVVCiAgSWNvbj1AQElDT05A QAogIFR5cGU9QXBwbGljYXRpb24KICBOb0Rpc3BsYXk9dHJ1ZQpAQCAtMzMsNyArMzMsNyBAQCBp bmRleCBiOTc1ZTEwOTRhMmMuLmEwOTRjYzM2ZTgxMCAxMDA2NDQKICBDb21tZW50PUNvZGUgRWRp dGluZy4gUmVkZWZpbmVkLgogIEdlbmVyaWNOYW1lPVRleHQgRWRpdG9yCiAtRXhlYz1AQEVYRUNA QCAtLW5vLXNhbmRib3ggLS11bml0eS1sYXVuY2ggJUYKLStFeGVjPS91c3IvbGliL0BATkFNRUBA L0BATkFNRUBAIC0tbm8tc2FuZGJveCAtLXVuaXR5LWxhdW5jaCAlRgorK0V4ZWM9L3Vzci9saWIv QEBOQU1FQEAvYmluL0BATkFNRUBAIC0tbm8tc2FuZGJveCAtLXVuaXR5LWxhdW5jaCAlRgogIElj b249QEBJQ09OQEAKICBUeXBlPUFwcGxpY2F0aW9uCiAgU3RhcnR1cE5vdGlmeT1mYWxzZQpAQCAt NDIsNSArNDIsNSBAQCBpbmRleCBiOTc1ZTEwOTRhMmMuLmEwOTRjYzM2ZTgxMCAxMDA2NDQKICBb RGVza3RvcCBBY3Rpb24gbmV3LWVtcHR5LXdpbmRvd10KICBOYW1lPU5ldyBFbXB0eSBXaW5kb3cK IC1FeGVjPUBARVhFQ0BAIC0tbm8tc2FuZGJveCAtLW5ldy13aW5kb3cgJUYKLStFeGVjPS91c3Iv bGliL0BATkFNRUBAL0BATkFNRUBAIC0tbm8tc2FuZGJveCAtLW5ldy13aW5kb3cgJUYKKytFeGVj PS91c3IvbGliL0BATkFNRUBAL2Jpbi9AQE5BTUVAQCAtLW5vLXNhbmRib3ggLS1uZXctd2luZG93 ICVGCiAgSWNvbj1AQElDT05AQApkaWZmIC0tZ2l0IGEvc3JjcGtncy92c2NvZGUvdGVtcGxhdGUg Yi9zcmNwa2dzL3ZzY29kZS90ZW1wbGF0ZQppbmRleCA5NjI0MDIyZGNkMC4uNzkyNjZmZDUyODgg MTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvdnNjb2RlL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvdnNjb2Rl L3RlbXBsYXRlCkBAIC0xLDEwICsxLDExIEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICd2c2NvZGUn CiBwa2duYW1lPXZzY29kZQogdmVyc2lvbj0xLjQ3LjMKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIK K19lbGVjdHJvbnZlcj03LjMuMgogaG9zdG1ha2VkZXBlbmRzPSJwa2ctY29uZmlnIHB5dGhvbiBu b2RlanMtbHRzLTEwIHlhcm4gdGFyIgotbWFrZWRlcGVuZHM9ImxpYnhrYmZpbGUtZGV2ZWwgbGli c2VjcmV0LWRldmVsIgotZGVwZW5kcz0ibGliWHRzdCBsaWJ4a2JmaWxlIG5zcyBkZWphdnUtZm9u dHMtdHRmIHhkZy11dGlscyIKK21ha2VkZXBlbmRzPSJsaWJ4a2JmaWxlLWRldmVsIGxpYnNlY3Jl dC1kZXZlbCBlbGVjdHJvbjciCitkZXBlbmRzPSJsaWJYdHN0IGxpYnhrYmZpbGUgbnNzIGRlamF2 dS1mb250cy10dGYgeGRnLXV0aWxzIHJpcGdyZXAgZWxlY3Ryb243Igogc2hvcnRfZGVzYz0iTWlj cm9zb2Z0IENvZGUgZm9yIExpbnV4IgogbWFpbnRhaW5lcj0ic2hpem9uaWMgPHJlYWx0aWF6QGdt YWlsLmNvbT4iCiBsaWNlbnNlPSJNSVQiCkBAIC0xMywxMCArMTQsNiBAQCBkaXN0ZmlsZXM9Imh0 dHBzOi8vZ2l0aHViLmNvbS9NaWNyb3NvZnQvdnNjb2RlL2FyY2hpdmUvJHt2ZXJzaW9ufS50YXIu Z3oiCiBjaGVja3N1bT00NjNjOGQ1YzNlMDIwMzVhZGE1YzBiOWRjYmI4NzE4ODQxZmEyN2Y2MjU4 ODM4YmZhNGJhYjNhOTE2Y2ExNmYzCiBwYXRjaF9hcmdzPSItTnAxIgogCi0jIER1ZSB0byBlbGVj dHJvbgotYXJjaHM9Ing4Nl82NCIKLW5vc3RyaXBfZmlsZXM9ImNvZGUtb3NzIgotCiBwcmVfYnVp bGQoKSB7CiAJIyBVc2UgeWFybiB0byBpbnN0YWxsIGRlcGVuZGVuY2llcwogCWVjaG8gIiIgPiBi dWlsZC9ucG0vcHJlaW5zdGFsbC5qcwpAQCAtMjYsNiArMjMsOSBAQCBwcmVfYnVpbGQoKSB7CiAJ X1RFTEVNRVRSWV9VUkxTPSIoZGNcLnNlcnZpY2VzXC52aXN1YWxzdHVkaW9cLmNvbSl8KHZvcnRl eFwuZGF0YVwubWljcm9zb2Z0XC5jb20pIgogCV9SRVBMQUNFTUVOVD0icy8kX1RFTEVNRVRSWV9V UkxTLzBcLjBcLjBcLjAvZyIKIAlncmVwIC1ybCAtLWV4Y2x1ZGUtZGlyPS5naXQgLUUgJF9URUxF TUVUUllfVVJMUyB8IHhhcmdzIHNlZCAtaSAtRSAkX1JFUExBQ0VNRU5UCisKKwkjIHNldCB1c2Vk IGVsZWN0cm9uIHZlcnNpb24KKwlzZWQgLWkgInMvXnRhcmdldCAuKi90YXJnZXQgXCIke19lbGVj dHJvbnZlcn1cIi8iIC55YXJucmMKIH0KIAogZG9fYnVpbGQoKSB7CkBAIC0zNSwxOCArMzUsMjgg QEAgZG9fYnVpbGQoKSB7CiAJX21lbV9saW1pdD0iLS1tYXhfb2xkX3NwYWNlX3NpemU9NDA5NSIK IAogCWV4cG9ydCBOT0RFX09QVElPTlM9IiR7X21lbV9saW1pdH0iCi0JeWFybiBpbnN0YWxsIC0t aWdub3JlLWVuZ2luZXMgLS1hcmNoPXg2NAorCS91c3IvbGliL25vZGVfbW9kdWxlcy9ucG0vYmlu L25vZGUtZ3lwLWJpbi9ub2RlLWd5cCBpbnN0YWxsIFwKKwkJLS10YXJnZXQ9JF9lbGVjdHJvbnZl ciBcCisJCS0tdGFyYmFsbD0vdXNyL2luY2x1ZGUvZWxlY3Ryb243L25vZGVfaGVhZGVycy50YXIu Z3oKKwl5YXJuIGluc3RhbGwgLS1pZ25vcmUtZW5naW5lcyAtLWZyb3plbi1sb2NrZmlsZSAtLWFy Y2g9eDY0CisJZXhwb3J0IENGTEFHUz0iJENGTEFHUyAtSS91c3IvaW5jbHVkZS9ub2RlIgogCXlh cm4gcnVuIGd1bHAgdnNjb2RlLWxpbnV4LXg2NC1taW4KIH0KIAogZG9faW5zdGFsbCgpIHsKIAl2 bWtkaXIgdXNyL2xpYi9jb2RlLW9zcwotCXZjb3B5IC4uL1ZTQ29kZS1saW51eC14NjQvKiB1c3Iv bGliL2NvZGUtb3NzCisJdmNvcHkgLi4vVlNDb2RlLWxpbnV4LXg2NC9yZXNvdXJjZXMgdXNyL2xp Yi9jb2RlLW9zcworCXZjb3B5IC4uL1ZTQ29kZS1saW51eC14NjQvYmluIHVzci9saWIvY29kZS1v c3MKIAl2bWtkaXIgdXNyL2JpbgogCWxuIC1zZiAvdXNyL2xpYi9jb2RlLW9zcy9iaW4vY29kZS1v c3MgJHtERVNURElSfS91c3IvYmluLwogCXZta2RpciB1c3Ivc2hhcmUvYXBwbGljYXRpb25zCiAJ bG4gLXNmIC91c3IvbGliL2NvZGUtb3NzL3Jlc291cmNlcy9hcHAvcmVzb3VyY2VzL2xpbnV4L2Nv ZGUuZGVza3RvcCAke0RFU1RESVJ9L3Vzci9zaGFyZS9hcHBsaWNhdGlvbnMvY29kZS1vc3MuZGVz a3RvcAogCXZta2RpciB1c3Ivc2hhcmUvcGl4bWFwcwogCWxuIC1zZiAvdXNyL2xpYi9jb2RlLW9z cy9yZXNvdXJjZXMvYXBwL3Jlc291cmNlcy9saW51eC9jb2RlLnBuZyAke0RFU1RESVJ9L3Vzci9z aGFyZS9waXhtYXBzL2NvZGUtb3NzLnBuZworCWxuIC1zZiAvdXNyL2Jpbi9yZyAke0RFU1RESVJ9 L3Vzci9saWIvY29kZS1vc3MvcmVzb3VyY2VzL2FwcC9ub2RlX21vZHVsZXMuYXNhci51bnBhY2tl ZC92c2NvZGUtcmlwZ3JlcC9iaW4vcmcKKwl2c2VkIFwKKwkJLWUgInN8RUxFQ1RST049Lip8RUxF Q1RST049L3Vzci9saWIvZWxlY3Ryb24ke19lbGVjdHJvbnZlciUlLip9L2VsZWN0cm9ufGciIFwK KwkJLWUgJ3N8IiRDTEkifCIkQ0xJIiAtLWFwcD0iJHtWU0NPREVfUEFUSH0vcmVzb3VyY2VzL2Fw cCJ8ZycgXAorCQktaSAiJERFU1RESVIiL3Vzci9saWIvY29kZS1vc3MvYmluL2NvZGUtb3NzCiAJ dmxpY2Vuc2UgTElDRU5TRS50eHQKIH0K --===============0673904282625544124==--