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 24085 invoked from network); 14 Feb 2023 13:03:27 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 14 Feb 2023 13:03:27 -0000 Content-Type: multipart/mixed; boundary="===============4253051029349114373==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_sagemath=3A_update_to_9=2E8?= To: ml@inbox.vuxu.org From: tornaria Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Tue, 14 Feb 2023 14:03:26 +0100 List-Id: Message-ID: <20230214130326.sTNvwHoV-ryT5VdgbsT1a8-0C7BnIRddxYfpjrQhwGA@z> GitHub notification mails are now in MIME to allow UTF8. --===============4253051029349114373== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgdG9ybmFyaWEgYWdhaW5zdCBtYXN0 ZXIgb24gdGhlIHZvaWQtcGFja2FnZXMgcmVwb3NpdG9yeQoKaHR0cHM6Ly9naXRodWIuY29tL3Rv cm5hcmlhL3ZvaWQtcGFja2FnZXMgc2FnZW1hdGgKaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGlu dXgvdm9pZC1wYWNrYWdlcy9wdWxsLzQyMDQ4CgpzYWdlbWF0aDogdXBkYXRlIHRvIDkuOAo8IS0t IFVuY29tbWVudCByZWxldmFudCBzZWN0aW9ucyBhbmQgZGVsZXRlIG9wdGlvbnMgd2hpY2ggYXJl IG5vdCBhcHBsaWNhYmxlIC0tPg0KDQpUaGlzIFBSIGluY2x1ZGVzDQogLSB1cGRhdGUgYnJpYWwg dG8gMS4yLjEyICAgKGl0IGhhcyB0byBiZSBidWlsdCBpbiBzeW5jIGJlY2F1c2Ugb2YgYm9vc3Qp DQogLSB1cGRhdGUgc2luZ3VsYXIgdG8gNC4zLjEucDMgICAoaXQgaGFzIHRvIGJlIGJ1aWx0IGlu IHN5bmMgYmVjYXVzZSBhbiBvdXRwdXQgZGlmZmVyZW5jZSkNCg0KQ2hhbmdlcyBpbiBzYWdlbWF0 aCBwYWNrYWdlOg0KIC0gZml4IGVkZ2UgY2FzZSBvZiBweXRob24gMy4xMSBpbnRlZ2VyIGNvbnZl cnNpb24gb24gMzIgYml0DQogLSBzdXBwb3J0IHRhY2h5b24gMC45OS41DQogLSBzdXBwb3J0IHNp bmd1bGFyIDQuMy4xcDMNCiAtIGZpeCB0ZXN0cyBmb3IgZ2lhYyAxLjkuMC4zNQ0KIC0gIGZpeCB0 ZXN0cyBmb3IgbnVtcHkgMS4yNA0KIC0gc2tpcCB1bnN0YWJsZSB0ZXN0cyBpbiBrbHlhY2hrby5w eQ0KIC0gcmVtb3ZlIHpuX3BvbHkgZGVwZW5kZW5jeQ0KDQoNCiMjIyMgVGVzdGluZyB0aGUgY2hh bmdlcw0KLSBJIHRlc3RlZCB0aGUgY2hhbmdlcyBpbiB0aGlzIFBSOiAqKllFUyoqDQoNCjwhLS0N CiMjIyMgTmV3IHBhY2thZ2UNCi0gVGhpcyBuZXcgcGFja2FnZSBjb25mb3JtcyB0byB0aGUgW3Bh Y2thZ2UgcmVxdWlyZW1lbnRzXShodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBh Y2thZ2VzL2Jsb2IvbWFzdGVyL0NPTlRSSUJVVElORy5tZCNwYWNrYWdlLXJlcXVpcmVtZW50cyk6 ICoqWUVTKip8KipOTyoqDQotLT4NCg0KPCEtLSBOb3RlOiBJZiB0aGUgYnVpbGQgaXMgbGlrZWx5 IHRvIHRha2UgbW9yZSB0aGFuIDIgaG91cnMsIHBsZWFzZSBhZGQgY2kgc2tpcCB0YWcgYXMgZGVz Y3JpYmVkIGluDQpodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL2Js b2IvbWFzdGVyL0NPTlRSSUJVVElORy5tZCNjb250aW51b3VzLWludGVncmF0aW9uDQphbmQgdGVz dCBhdCBsZWFzdCBvbmUgbmF0aXZlIGJ1aWxkIGFuZCwgaWYgc3VwcG9ydGVkLCBhdCBsZWFzdCBv bmUgY3Jvc3MgYnVpbGQuDQpJZ25vcmUgdGhpcyBzZWN0aW9uIGlmIHRoaXMgUFIgaXMgbm90IHNr aXBwaW5nIENJLg0KLS0+DQo8IS0tDQojIyMjIExvY2FsIGJ1aWxkIHRlc3RpbmcNCi0gSSBidWls dCB0aGlzIFBSIGxvY2FsbHkgZm9yIG15IG5hdGl2ZSBhcmNoaXRlY3R1cmUsIChBUkNILUxJQkMp DQotIEkgYnVpbHQgdGhpcyBQUiBsb2NhbGx5IGZvciB0aGVzZSBhcmNoaXRlY3R1cmVzIChpZiBz dXBwb3J0ZWQuIG1hcmsgY3Jvc3NidWlsZHMpOg0KICAtIGFhcmNoNjQtbXVzbA0KICAtIGFybXY3 bA0KICAtIGFybXY2bC1tdXNsDQotLT4NCgoKQSBwYXRjaCBmaWxlIGZyb20gaHR0cHM6Ly9naXRo dWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzQyMDQ4LnBhdGNoIGlzIGF0dGFj aGVk --===============4253051029349114373== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-sagemath-42048.patch" RnJvbSA4Y2Y1ZGNmYzgxNDIwYTc4MDU4N2FkMzM4NDRkMzRkN2ViY2UzZmVlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/R29uemFsbz0yMFRvcm5hcj1DMz1BRGE/PSA8 dG9ybmFyaWFAY21hdC5lZHUudXk+CkRhdGU6IFRodSwgMiBGZWIgMjAyMyAyMzoxMTowNCAtMDMw MApTdWJqZWN0OiBbUEFUQ0ggMS8zXSBzaW5ndWxhcjogdXBkYXRlIHRvIDQuMy4xcDMuCgotLS0K IHNyY3BrZ3Mvc2luZ3VsYXIvdGVtcGxhdGUgfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGlu c2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9zaW5ndWxh ci90ZW1wbGF0ZSBiL3NyY3BrZ3Mvc2luZ3VsYXIvdGVtcGxhdGUKaW5kZXggMmRjMzhhZjgyNmJl Li5jNzNhMDIwZGNmMTUgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mvc2luZ3VsYXIvdGVtcGxhdGUKKysr IGIvc3JjcGtncy9zaW5ndWxhci90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYgQEAKICMgVGVtcGxhdGUg ZmlsZSBmb3IgJ3Npbmd1bGFyJwogcGtnbmFtZT1zaW5ndWxhcgotdmVyc2lvbj00LjMuMXAyCit2 ZXJzaW9uPTQuMy4xcDMKIHJldmlzaW9uPTEKIF9tYWp2ZXI9JHt2ZXJzaW9uJXAqfQogYnVpbGRf c3R5bGU9Z251LWNvbmZpZ3VyZQpAQCAtMjAsNyArMjAsNyBAQCBtYWludGFpbmVyPSJka3dvIDxu cGlhenphQGRpc3Jvb3Qub3JnPiIKIGxpY2Vuc2U9IkdQTC0yLjAtb3ItbGF0ZXIiCiBob21lcGFn ZT0iaHR0cHM6Ly93d3cuc2luZ3VsYXIudW5pLWtsLmRlIgogZGlzdGZpbGVzPSJodHRwczovL3d3 dy5zaW5ndWxhci51bmkta2wuZGUvZnRwL3B1Yi9NYXRoL1Npbmd1bGFyL1NPVVJDRVMvJHtfbWFq dmVyLy8uLy19L3Npbmd1bGFyLSR7dmVyc2lvbn0udGFyLmd6IgotY2hlY2tzdW09OTU4MTRiYmEw ZjBiZDAyOTBjZDk3OTllYzFkMmVjYzZmNGM4YTRlNjQyOWQ5YTAyZWI3ZjljNGU1NjQ5NjgyYQor Y2hlY2tzdW09NjZjZmFlZWU3YWI5MDkyNzJmZDgxMDUwYTA5Y2FlM2VjMTE1NjUyYTAxYWRkZTAx NGE1MTI4YTU0Yjk3Mzk3YQogCiBpZiBbIC16ICIkQ1JPU1NfQlVJTEQiIF07IHRoZW4KIAltYWtl ZGVwZW5kcys9IiBudGwtZGV2ZWwiCgpGcm9tIDVlM2QwNDVkNTMxNGZjYTFlZDk1ZmZiMjE1ZjQ0 MTc2MzRkYTkwODkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ID0/VVRGLTg/cT9Hb256 YWxvPTIwVG9ybmFyPUMzPUFEYT89IDx0b3JuYXJpYUBjbWF0LmVkdS51eT4KRGF0ZTogTW9uLCAz MCBKYW4gMjAyMyAxMTowNDo0NiAtMDMwMApTdWJqZWN0OiBbUEFUQ0ggMi8zXSBicmlhbDogdXBk YXRlIHRvIDEuMi4xMi4KCi0tLQogc3JjcGtncy9icmlhbC90ZW1wbGF0ZSB8IDUgKysrLS0KIDEg ZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9icmlhbC90ZW1wbGF0ZSBiL3NyY3BrZ3MvYnJpYWwvdGVtcGxhdGUKaW5kZXgg OGY5ODhjMTI5NmM2Li4yZjhlMTk1YTg4MDQgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvYnJpYWwvdGVt cGxhdGUKKysrIGIvc3JjcGtncy9icmlhbC90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYgQEAKICMgVGVt cGxhdGUgZmlsZSBmb3IgJ2JyaWFsJwogcGtnbmFtZT1icmlhbAotdmVyc2lvbj0xLjIuMTEKK3Zl cnNpb249MS4yLjEyCiByZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCiBob3N0 bWFrZWRlcGVuZHM9InBrZy1jb25maWciCkBAIC05LDggKzksOSBAQCBzaG9ydF9kZXNjPSJCUmlB bCAoQm9vbGVhbiBSaW5nIEFsZ2VicmEpIGlzIHRoZSBzdWNjZXNzb3IgdG8gUG9seUJvUmkiCiBt YWludGFpbmVyPSJHb256YWxvIFRvcm5hcsOtYSA8dG9ybmFyaWFAY21hdC5lZHUudXk+IgogbGlj ZW5zZT0iR1BMLTIuMC1vci1sYXRlciIKIGhvbWVwYWdlPSJodHRwczovL2dpdGh1Yi5jb20vQlJp QWwvQlJpQWwiCitjaGFuZ2Vsb2c9Imh0dHBzOi8vZ2l0aHViLmNvbS9CUmlBbC9CUmlBbC9yZWxl YXNlcyIKIGRpc3RmaWxlcz0iaHR0cHM6Ly9naXRodWIuY29tL0JSaUFsL0JSaUFsL3JlbGVhc2Vz L2Rvd25sb2FkLyR2ZXJzaW9uL2JyaWFsLSR2ZXJzaW9uLnRhci5iejIiCi1jaGVja3N1bT02YzBm NjIyMDA5ZGNkOTkyODI5NWQ3NDgyMjZiYWE5Y2RjMWE4N2MzMjU1MmUxMzc3MmZkZGY5NWJiYjZm MDJjCitjaGVja3N1bT1jYTAwOWUzNzIyZGQzZjBhNjBkMTU1MDFjYWVkMTQxMzE0NmM4MGFiY2Vk NTc0MjNlMzJhZTAxMTZmNDA3NDk0CiAKIGlmIFsgLW4gIiRDUk9TU19CVUlMRCIgXTsgdGhlbgog CWNvbmZpZ3VyZV9hcmdzKz0iIC0td2l0aC1ib29zdC11bml0LXRlc3QtZnJhbWV3b3JrPW5vIgoK RnJvbSBlNDYzOTcwMDc0YmVmN2FlNzgxMWI3Yjk1ZmI1ZDBmZWU3MDc2ZTZhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/R29uemFsbz0yMFRvcm5hcj1DMz1BRGE/PSA8 dG9ybmFyaWFAY21hdC5lZHUudXk+CkRhdGU6IFRodSwgMiBGZWIgMjAyMyAxOTowMzozNCAtMDMw MApTdWJqZWN0OiBbUEFUQ0ggMy8zXSBzYWdlbWF0aDogdXBkYXRlIHRvIDkuOC4KCkFsc286CiAt IGZpeCBlZGdlIGNhc2Ugb2YgcHl0aG9uIDMuMTEgaW50ZWdlciBjb252ZXJzaW9uIG9uIDMyIGJp dAogLSBzdXBwb3J0IHRhY2h5b24gMC45OS41CiAtIHN1cHBvcnQgc2luZ3VsYXIgNC4zLjFwMwog LSBmaXggdGVzdHMgZm9yIGdpYWMgMS45LjAuMzUKIC0gZml4IHRlc3RzIGZvciBudW1weSAxLjI0 CiAtIHNraXAgdW5zdGFibGUgdGVzdHMgaW4ga2x5YWNoa28ucHkKIC0gcmVtb3ZlIHpuX3BvbHkg ZGVwZW5kZW5jeQogLSBmaXggdmVyeSBzbG93IHRlc3QgaW4gc3RyZWFtLnB5Ci0tLQogc3JjcGtn cy9zYWdlbWF0aC9maWxlcy9zYWdlX2NvbmYucHkgICAgICAgICAgIHwgICAgMyArLQogLi4uL3Bh dGNoZXMvMDktZG9jdGVzdF9udW1lcmljYWxfZml4LnBhdGNoICAgIHwgICAxNCAtCiAuLi4vMzQ5 ODAtYXZvaWRfZmFjdG9yaW5nX2luX2lzX3ByaW1lLnBhdGNoICAgfCAgIDQ3ICsKIC4uLi9wYXRj aGVzLzM0OTk0LWZpeF90ZXN0c19udW1weV8xLjI0LnBhdGNoICB8ICAgNTggKwogLi4uLzM0OTk1 LXN1cHBvcnRfdGFjaHlvbl8wLjk5LjIucGF0Y2ggICAgICAgIHwgICA1NyArCiAuLi4zNDk5Ny1m aXhfZWRnZV9jYXNlX29mX2ludGVnZXJfY2hlY2sucGF0Y2ggfCAgIDM2ICsKIC4uLi8zNTA1OC1z a2lwX3Vuc3RhYmxlX3Rlc3RzX2tseWFjaGtvLnBhdGNoICB8ICAgMjIgKwogLi4uLzM1MDY4LWZp eF90ZXN0c19naWFjXzEuOS4wLjM1LnBhdGNoICAgICAgIHwgICA2MiArCiAuLi4vcGF0Y2hlcy8z NTA5NC1zdXBwb3J0X2dhcF80LjEyLnBhdGNoICAgICAgfCAxMzAzICsrKysrKysrKysrKwogLi4u LzM1MTI3LWZpeF92ZXJ5X3Nsb3dfdGVzdF9zdHJlYW0ucHkucGF0Y2ggIHwgICAxNSArCiBzcmNw a2dzL3NhZ2VtYXRoL3BhdGNoZXMvZ2V0X3BhdGNoZXMgICAgICAgICAgfCAgIDQxICsKIC4uLmNl ZTFhNjkyMjliMmY1ZDhhYzRhMDlhNzNkODE1MmY1ZTE0ZC5wYXRjaCB8ICAgNTMgLQogLi4uZmM0 ZWM4Yjg2ODdiY2NkMjJkMmUzMTYxYzg2Y2Y1NTUzZTA2LnBhdGNoIHwgIDQyNyAtLS0tCiAuLi5y YWMtMzM4NDItMDEtcHl0aG9uXzMuMTEtZGUzOGJhYzIxZTIucGF0Y2ggfCAgIDY2IC0KIC4uLi1w eXRob25fMy4xMS1hcmdzcGVjLWZpeC05ZWIwOGYzYWZkZS5wYXRjaCB8ICAxNjggLS0KIC4uLjMt cHl0aG9uMy4xMS1maW5hbF9maXhlcy03YjZmYTU2NWY0Mi5wYXRjaCB8IDEyNzkgLS0tLS0tLS0t LS0tCiAuLi4vdHJhYy0zMzg0Mi0wNC1weXRob24zLjExX2ZpeF8zMl9iaXQucGF0Y2ggfCAgMjEy IC0tCiAuLi5kNGU1NjI0M2M2MDlmNDRhZmMxZjIxYzExMmIwMjZmOWUxZmUucGF0Y2ggfCAgIDQy IC0KIC4uLjkzZDY3Y2ZjZGY4ZmJhN2JjNmFhNzg5OWUyMDg2ZDQyY2M3ZS5wYXRjaCB8ICA1MjYg LS0tLS0KIC4uLjEzMThmMDMyY2FmOGRjMWMwZGU5NDg5MzQ2ZDg5NDQwOTA5MS5wYXRjaCB8ICAg MTkgLQogLi4uL3RyYWMtMzQ1Mzctc2FnZW1hdGgtcGFyaS0yLjE1LnBhdGNoICAgICAgIHwgMTc1 MCAtLS0tLS0tLS0tLS0tLS0tLQogLi4uL3RyYWMtMzQ1Mzctc2FnZW1hdGgtcGFyaS0yLjE1Yi5w YXRjaCAgICAgIHwgICAyOSAtCiAuLi5lMGRlMGRjYTFjZmYwMzU1MzI2ZGQ0MmJkOGM3ZTU3NDk1 NjgucGF0Y2ggfCAgIDcyIC0KIC4uLi1zdXBwb3J0X3Npbmd1bGFyXzQuMy4xLnAzLTVlNTczN2Ew Yy5wYXRjaCB8ICAyMDUgKysKIHNyY3BrZ3Mvc2FnZW1hdGgvdGVtcGxhdGUgICAgICAgICAgICAg ICAgICAgICB8ICAgIDggKy0KIHNyY3BrZ3Mvc2FnZW1hdGgvdXBkYXRlICAgICAgICAgICAgICAg ICAgICAgICB8ICAgIDIgKwogMjYgZmlsZXMgY2hhbmdlZCwgMTg1NCBpbnNlcnRpb25zKCspLCA0 NjYyIGRlbGV0aW9ucygtKQogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mvc2FnZW1hdGgvcGF0 Y2hlcy8wOS1kb2N0ZXN0X251bWVyaWNhbF9maXgucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBz cmNwa2dzL3NhZ2VtYXRoL3BhdGNoZXMvMzQ5ODAtYXZvaWRfZmFjdG9yaW5nX2luX2lzX3ByaW1l LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9zYWdlbWF0aC9wYXRjaGVzLzM0OTk0 LWZpeF90ZXN0c19udW1weV8xLjI0LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9z YWdlbWF0aC9wYXRjaGVzLzM0OTk1LXN1cHBvcnRfdGFjaHlvbl8wLjk5LjIucGF0Y2gKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3NhZ2VtYXRoL3BhdGNoZXMvMzQ5OTctZml4X2VkZ2VfY2Fz ZV9vZl9pbnRlZ2VyX2NoZWNrLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9zYWdl bWF0aC9wYXRjaGVzLzM1MDU4LXNraXBfdW5zdGFibGVfdGVzdHNfa2x5YWNoa28ucGF0Y2gKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3NhZ2VtYXRoL3BhdGNoZXMvMzUwNjgtZml4X3Rlc3Rz X2dpYWNfMS45LjAuMzUucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3NhZ2VtYXRo L3BhdGNoZXMvMzUwOTQtc3VwcG9ydF9nYXBfNC4xMi5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0 IHNyY3BrZ3Mvc2FnZW1hdGgvcGF0Y2hlcy8zNTEyNy1maXhfdmVyeV9zbG93X3Rlc3Rfc3RyZWFt LnB5LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA3NTUgc3JjcGtncy9zYWdlbWF0aC9wYXRjaGVzL2dl dF9wYXRjaGVzCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9zYWdlbWF0aC9wYXRjaGVzL3Ry YWMtMzMzNjAtYXZvaWRfZmFjdG9yaW5nX2luX2lzX3ByaW1lLTYzMzBjZWUxYTY5MjI5YjJmNWQ4 YWM0YTA5YTczZDgxNTJmNWUxNGQucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3Nh Z2VtYXRoL3BhdGNoZXMvdHJhYy0zMzQ0Ni1tYWtlX0dBUF9TT191bm5lY2Vzc2FyeS0zMWUzZmM0 ZWM4Yjg2ODdiY2NkMjJkMmUzMTYxYzg2Y2Y1NTUzZTA2LnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2 NDQgc3JjcGtncy9zYWdlbWF0aC9wYXRjaGVzL3RyYWMtMzM4NDItMDEtcHl0aG9uXzMuMTEtZGUz OGJhYzIxZTIucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3NhZ2VtYXRoL3BhdGNo ZXMvdHJhYy0zMzg0Mi0wMi1weXRob25fMy4xMS1hcmdzcGVjLWZpeC05ZWIwOGYzYWZkZS5wYXRj aAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mvc2FnZW1hdGgvcGF0Y2hlcy90cmFjLTMzODQy LTAzLXB5dGhvbjMuMTEtZmluYWxfZml4ZXMtN2I2ZmE1NjVmNDIucGF0Y2gKIGRlbGV0ZSBtb2Rl IDEwMDY0NCBzcmNwa2dzL3NhZ2VtYXRoL3BhdGNoZXMvdHJhYy0zMzg0Mi0wNC1weXRob24zLjEx X2ZpeF8zMl9iaXQucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3NhZ2VtYXRoL3Bh dGNoZXMvdHJhYy0zNDExOC11cGRhdGVfc3ltcHlfdG9fMS4xMS4xLTVkYjVkNGU1NjI0M2M2MDlm NDRhZmMxZjIxYzExMmIwMjZmOWUxZmUucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dz L3NhZ2VtYXRoL3BhdGNoZXMvdHJhYy0zNDM5MS11cGdyYWRlX2dhcF80LjEyLWE2YzI5M2Q2N2Nm Y2RmOGZiYTdiYzZhYTc4OTllMjA4NmQ0MmNjN2UucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBz cmNwa2dzL3NhZ2VtYXRoL3BhdGNoZXMvdHJhYy0zNDQ2NS1maXhfaW52YWxpZF9lc2NhcGVfc2Vx dWVuY2UtMDQ5NzEzMThmMDMyY2FmOGRjMWMwZGU5NDg5MzQ2ZDg5NDQwOTA5MS5wYXRjaAogZGVs ZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mvc2FnZW1hdGgvcGF0Y2hlcy90cmFjLTM0NTM3LXNhZ2Vt YXRoLXBhcmktMi4xNS5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mvc2FnZW1hdGgv cGF0Y2hlcy90cmFjLTM0NTM3LXNhZ2VtYXRoLXBhcmktMi4xNWIucGF0Y2gKIGRlbGV0ZSBtb2Rl IDEwMDY0NCBzcmNwa2dzL3NhZ2VtYXRoL3BhdGNoZXMvdHJhYy0zNDY2OC1tYXRwbG90bGliXzMu Ni01NTAxZTBkZTBkY2ExY2ZmMDM1NTMyNmRkNDJiZDhjN2U1NzQ5NTY4LnBhdGNoCiBjcmVhdGUg bW9kZSAxMDA2NDQgc3JjcGtncy9zYWdlbWF0aC9wYXRjaGVzL3RyYWMtMzQ4NTEtc3VwcG9ydF9z aW5ndWxhcl80LjMuMS5wMy01ZTU3MzdhMGMucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNw a2dzL3NhZ2VtYXRoL3VwZGF0ZQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvc2FnZW1hdGgvZmlsZXMv c2FnZV9jb25mLnB5IGIvc3JjcGtncy9zYWdlbWF0aC9maWxlcy9zYWdlX2NvbmYucHkKaW5kZXgg ODVlYzM3ZGZiNTBlLi4wMGRlNDBmMWVlNGYgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mvc2FnZW1hdGgv ZmlsZXMvc2FnZV9jb25mLnB5CisrKyBiL3NyY3BrZ3Mvc2FnZW1hdGgvZmlsZXMvc2FnZV9jb25m LnB5CkBAIC0xLDMgKzEsNCBAQAogIyBjb25maWd1cmF0aW9uIGZvciBzYWdlIG9uIHZvaWQgbGlu dXgKIFNBR0VfU0hBUkUgPSAiL3Vzci9zaGFyZS9zYWdlbWF0aCIKLUdBUF9ST09UX0RJUiA9ICIv dXNyL3NoYXJlL2dhcCIKK0dBUF9TSEFSRV9ESVIgPSAiL3Vzci9zaGFyZS9nYXAiCitHQVBfTElC X0RJUiA9ICIvdXNyL2xpYi9nYXAiCmRpZmYgLS1naXQgYS9zcmNwa2dzL3NhZ2VtYXRoL3BhdGNo ZXMvMDktZG9jdGVzdF9udW1lcmljYWxfZml4LnBhdGNoIGIvc3JjcGtncy9zYWdlbWF0aC9wYXRj aGVzLzA5LWRvY3Rlc3RfbnVtZXJpY2FsX2ZpeC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggODc4MGM4YTk3ZWZhLi4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9zYWdlbWF0 aC9wYXRjaGVzLzA5LWRvY3Rlc3RfbnVtZXJpY2FsX2ZpeC5wYXRjaAorKysgL2Rldi9udWxsCkBA IC0xLDE0ICswLDAgQEAKLSAtIFRoaXMgZml4ZXMgYSBkb2N0ZXN0IGZhaWx1cmUgZHVlIHRvIGEg c21hbGwgbnVtZXJpY2FsIGlzc3VlIHdoZW4gcnVubmluZwotICAgbWF4aW1hLXNiY2wgb24gMzIg Yml0Ci0KLS0tLSBhL3NyYy9zYWdlL2ludGVyZmFjZXMvbWF4aW1hX2Fic3RyYWN0LnB5Ci0rKysg Yi9zcmMvc2FnZS9pbnRlcmZhY2VzL21heGltYV9hYnN0cmFjdC5weQotQEAgLTE1MjUsNyArMTUy NSw3IEBAIGNsYXNzIE1heGltYUFic3RyYWN0RWxlbWVudChFeHRyYVRhYkNvbXBsZXRpb24sIElu dGVyZmFjZUVsZW1lbnQpOgotICAgICAgICAgRVhBTVBMRVM6OgotIAotICAgICAgICAgICAgIHNh Z2U6IG1heGltYSgnZXhwKC1zcXJ0KHgpKScpLm5pbnRlZ3JhbCgneCcsMCwxKQotLSAgICAgICAg ICAgICgwLjUyODQ4MjIzNTMxNDIzMDYsIDQuMTYzMzE0MTM3ODgzOC4uLmUtMTEsIDIzMSwgMCkK LSsgICAgICAgICAgICAoMC41Mjg0ODIyMzUzMTQyMzA2LCA0LjE2My4uLmUtMTEsIDIzMSwgMCkK LSAKLSAgICAgICAgIE5vdGUgdGhhdCBHUCBhbHNvIGRvZXMgbnVtZXJpY2FsIGludGVncmF0aW9u LCBhbmQgY2FuIGRvIHNvIHRvIHZlcnkKLSAgICAgICAgIGhpZ2ggcHJlY2lzaW9uIHZlcnkgcXVp Y2tseTo6CmRpZmYgLS1naXQgYS9zcmNwa2dzL3NhZ2VtYXRoL3BhdGNoZXMvMzQ5ODAtYXZvaWRf ZmFjdG9yaW5nX2luX2lzX3ByaW1lLnBhdGNoIGIvc3JjcGtncy9zYWdlbWF0aC9wYXRjaGVzLzM0 OTgwLWF2b2lkX2ZhY3RvcmluZ19pbl9pc19wcmltZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAwMDAuLmNhNjFhMmFkYTRlYgotLS0gL2Rldi9udWxsCisrKyBiL3Ny Y3BrZ3Mvc2FnZW1hdGgvcGF0Y2hlcy8zNDk4MC1hdm9pZF9mYWN0b3JpbmdfaW5faXNfcHJpbWUu cGF0Y2gKQEAgLTAsMCArMSw0NyBAQAorZGlmZiAtLWdpdCBhL3NyYy9zYWdlL3JpbmdzL251bWJl cl9maWVsZC9udW1iZXJfZmllbGRfaWRlYWwucHkgYi9zcmMvc2FnZS9yaW5ncy9udW1iZXJfZmll bGQvbnVtYmVyX2ZpZWxkX2lkZWFsLnB5CitpbmRleCBkNWY3MTU3MjE3Zi4uMWE5ZDExYWVjNjgg MTAwNjQ0CistLS0gYS9zcmMvc2FnZS9yaW5ncy9udW1iZXJfZmllbGQvbnVtYmVyX2ZpZWxkX2lk ZWFsLnB5CisrKysgYi9zcmMvc2FnZS9yaW5ncy9udW1iZXJfZmllbGQvbnVtYmVyX2ZpZWxkX2lk ZWFsLnB5CitAQCAtOTk2LDE2ICs5OTYsMzYgQEAgZGVmIGlzX3ByaW1lKHNlbGYpOgorICAgICAg ICAgICAgIEZhbHNlCisgICAgICAgICAgICAgc2FnZTogSy5pZGVhbCgxNykuaXNfcHJpbWUoKSAg IyByYW1pZmllZAorICAgICAgICAgICAgIEZhbHNlCisrCisrICAgICAgICBURVNUUzoKKysKKysg ICAgICAgIENoZWNrIHRoYXQgd2UgZG8gbm90IGZhY3RvciB0aGUgbm9ybSBvZiB0aGUgaWRlYWws IHRoaXMgdXNlZAorKyAgICAgICAgdG8gdGFrZSBoYWxmIGFuIGhvdXIsIHNlZSA6dHJhYzpgMzMz NjBgOjoKKysKKysgICAgICAgICAgICBzYWdlOiBLLjxhLGIsYz4gPSBOdW1iZXJGaWVsZChbeF4y LTIseF4yLTMseF4yLTVdKQorKyAgICAgICAgICAgIHNhZ2U6IHQgPSAoKCgtMjYxMTk0MCpjICsg MTkyNTI5MC83NjUzKSpiIC0gMTUzNzEzMC83NjUzKmMKKysgICAgICAgICAgICAuLi4uOiAgICAg ICArIDEwMTMwOTUwKSphICsgKDEzNDMwMTQvNzY1MypjIC0gODM0OTc3MCkqYgorKyAgICAgICAg ICAgIC4uLi46ICAgICAgICsgNjQ3NzA1OCpjIC0gMjgwMTQ0OTk5MC80MDAyNTE5KQorKyAgICAg ICAgICAgIHNhZ2U6IHQuaXNfcHJpbWUoKQorKyAgICAgICAgICAgIEZhbHNlCisgICAgICAgICAi IiIKKyAgICAgICAgIHRyeToKKyAgICAgICAgICAgICByZXR1cm4gc2VsZi5fcGFyaV9wcmltZSBp cyBub3QgTm9uZQorICAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgorLSAgICAgICAgICAg IEYgPSBzZWxmLmZhY3RvcigpICAjIGZhY3Rvcml6YXRpb24gd2l0aCBjYWNoaW5nCistICAgICAg ICAgICAgaWYgbGVuKEYpICE9IDEgb3IgRlswXVsxXSAhPSAxOgorLSAgICAgICAgICAgICAgICBz ZWxmLl9wYXJpX3ByaW1lID0gTm9uZQorLSAgICAgICAgICAgIGVsc2U6CistICAgICAgICAgICAg ICAgIHNlbGYuX3BhcmlfcHJpbWUgPSBGWzBdWzBdLl9wYXJpX3ByaW1lCistICAgICAgICAgICAg cmV0dXJuIHNlbGYuX3BhcmlfcHJpbWUgaXMgbm90IE5vbmUKKysgICAgICAgICAgICBwYXNzCisr CisrICAgICAgICBLID0gc2VsZi5udW1iZXJfZmllbGQoKS5wYXJpX25mKCkKKysgICAgICAgIEkg PSBzZWxmLnBhcmlfaG5mKCkKKysKKysgICAgICAgIHNlbGYuX3BhcmlfcHJpbWUgPSBLLmlkZWFs aXNtYXhpbWFsKEkpIG9yIE5vbmUKKysKKysgICAgICAgICMgUEFSSSB1c2VzIHByb2JhYmlsaXN0 aWMgcHJpbWFsaXR5IHRlc3RpbmcgaW5zaWRlIGlkZWFsaXNtYXhpbWFsKCkuCisrICAgICAgICBp ZiBzZWxmLl9wYXJpX3ByaW1lIFwKKysgICAgICAgICAgICAgICAgYW5kIGdldF9mbGFnKE5vbmUs ICdhcml0aG1ldGljJykgXAorKyAgICAgICAgICAgICAgICBhbmQgbm90IHNlbGYuX3BhcmlfcHJp bWVbMF0uaXNwcmltZSgpOgorKyAgICAgICAgICAgIHNlbGYuX3BhcmlfcHJpbWUgPSBOb25lCisr CisrICAgICAgICByZXR1cm4gc2VsZi5fcGFyaV9wcmltZSBpcyBub3QgTm9uZQorIAorICAgICBk ZWYgcGFyaV9wcmltZShzZWxmKToKKyAgICAgICAgIHIiIiIKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv c2FnZW1hdGgvcGF0Y2hlcy8zNDk5NC1maXhfdGVzdHNfbnVtcHlfMS4yNC5wYXRjaCBiL3NyY3Br Z3Mvc2FnZW1hdGgvcGF0Y2hlcy8zNDk5NC1maXhfdGVzdHNfbnVtcHlfMS4yNC5wYXRjaApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjkxZjA2ZmQ0ZDE3MwotLS0gL2Rl di9udWxsCisrKyBiL3NyY3BrZ3Mvc2FnZW1hdGgvcGF0Y2hlcy8zNDk5NC1maXhfdGVzdHNfbnVt cHlfMS4yNC5wYXRjaApAQCAtMCwwICsxLDU4IEBACitkaWZmIC0tZ2l0IGEvc3JjL3NhZ2UvbWlz Yy9wZXJzaXN0LnB5eCBiL3NyYy9zYWdlL21pc2MvcGVyc2lzdC5weXgKK2luZGV4IDNhYzVmMWNj MmIwLi5jYjFmMzI3YzE5OSAxMDA2NDQKKy0tLSBhL3NyYy9zYWdlL21pc2MvcGVyc2lzdC5weXgK KysrKyBiL3NyYy9zYWdlL21pc2MvcGVyc2lzdC5weXgKK0BAIC0xNTcsNyArMTU3LDcgQEAgZGVm IGxvYWQoKmZpbGVuYW1lLCBjb21wcmVzcz1UcnVlLCB2ZXJib3NlPVRydWUsICoqa3dhcmdzKToK KyAgICAgICAgIC4uLi46ICAgICBfID0gZi53cml0ZShjb2RlKQorICAgICAgICAgc2FnZTogbG9h ZCh0KQorICAgICAgICAgc2FnZTogaGVsbG8KKy0gICAgICAgIDxmb3J0cmFuIG9iamVjdD4KKysg ICAgICAgIDxmb3J0cmFuIC4uLj4KKyAgICAgIiIiCisgICAgIGltcG9ydCBzYWdlLnJlcGwubG9h ZAorICAgICBpZiBsZW4oZmlsZW5hbWUpICE9IDE6CitkaWZmIC0tZ2l0IGEvc3JjL3NhZ2UvcGxv dC9jb21wbGV4X3Bsb3QucHl4IGIvc3JjL3NhZ2UvcGxvdC9jb21wbGV4X3Bsb3QucHl4CitpbmRl eCA2ZjBhZWFiODdhZS4uYjc3YzY5YjJmNzcgMTAwNjQ0CistLS0gYS9zcmMvc2FnZS9wbG90L2Nv bXBsZXhfcGxvdC5weXgKKysrKyBiL3NyYy9zYWdlL3Bsb3QvY29tcGxleF9wbG90LnB5eAorQEAg LTQ2MSw2ICs0NjEsOCBAQCBkZWYgY29tcGxleF90b19yZ2Ioel92YWx1ZXMsIGNvbnRvdXJlZD1G YWxzZSwgdGlsZWQ9RmFsc2UsCisgICAgICAgICAgICAgcmdiW2ksIGosIDJdID0gYgorIAorICAg ICBzaWdfb2ZmKCkKKysgICAgbmFuX2luZGljZXMgPSBucC5pc25hbihyZ2IpLmFueSgtMSkgICAg ICMgTWFzayBmb3IgdW5kZWZpbmVkIHBvaW50cworKyAgICByZ2JbbmFuX2luZGljZXNdID0gMSAg ICAgICAgICAgICAgICAgICAgIyBNYWtlIG5hbl9pbmRpY2VzIHdoaXRlCisgICAgIHJldHVybiBy Z2IKKyAKKyAKK2RpZmYgLS1naXQgYS9zcmMvc2FnZS9wbG90L2hpc3RvZ3JhbS5weSBiL3NyYy9z YWdlL3Bsb3QvaGlzdG9ncmFtLnB5CitpbmRleCAzYmMyYjc2YjU4ZS4uMzg4YzJkMTM5MWQgMTAw NjQ0CistLS0gYS9zcmMvc2FnZS9wbG90L2hpc3RvZ3JhbS5weQorKysrIGIvc3JjL3NhZ2UvcGxv dC9oaXN0b2dyYW0ucHkKK0BAIC04NywxMyArODcsOCBAQCBkZWYgZ2V0X21pbm1heF9kYXRhKHNl bGYpOgorIAorICAgICAgICAgVEVTVFM6OgorIAorLSAgICAgICAgICAgIHNhZ2U6IGggPSBoaXN0 b2dyYW0oWzEwLDMsNV0sIG5vcm1lZD1UcnVlKVswXQorLSAgICAgICAgICAgIGRvY3Rlc3Q6d2Fy bmluZy4uLjoKKy0gICAgICAgICAgICBEZXByZWNhdGlvbldhcm5pbmc6IHRoZSAnbm9ybWVkJyBv cHRpb24gaXMgZGVwcmVjYXRlZC4gVXNlICdkZW5zaXR5JyBpbnN0ZWFkLgorLSAgICAgICAgICAg IFNlZSBodHRwczovL3RyYWMuc2FnZW1hdGgub3JnLzI1MjYwIGZvciBkZXRhaWxzLgorKyAgICAg ICAgICAgIHNhZ2U6IGggPSBoaXN0b2dyYW0oWzEwLDMsNV0sIGRlbnNpdHk9VHJ1ZSlbMF0KKyAg ICAgICAgICAgICBzYWdlOiBoLmdldF9taW5tYXhfZGF0YSgpCistICAgICAgICAgICAgZG9jdGVz dDp3YXJuaW5nIC4uLgorLSAgICAgICAgICAgIC4uLlZpc2libGVEZXByZWNhdGlvbldhcm5pbmc6 IFBhc3NpbmcgYG5vcm1lZD1UcnVlYCBvbiBub24tdW5pZm9ybSBiaW5zIGhhcyBhbHdheXMgYmVl biBicm9rZW4sIGFuZCBjb21wdXRlcyBuZWl0aGVyIHRoZSBwcm9iYWJpbGl0eSBkZW5zaXR5IGZ1 bmN0aW9uIG5vciB0aGUgcHJvYmFiaWxpdHkgbWFzcyBmdW5jdGlvbi4gVGhlIHJlc3VsdCBpcyBv bmx5IGNvcnJlY3QgaWYgdGhlIGJpbnMgYXJlIHVuaWZvcm0sIHdoZW4gZGVuc2l0eT1UcnVlIHdp bGwgcHJvZHVjZSB0aGUgc2FtZSByZXN1bHQgYW55d2F5LiBUaGUgYXJndW1lbnQgd2lsbCBiZSBy ZW1vdmVkIGluIGEgZnV0dXJlIHZlcnNpb24gb2YgbnVtcHkuCisgICAgICAgICAgICAgeyd4bWF4 JzogMTAuMCwgJ3htaW4nOiAzLjAsICd5bWF4JzogMC40NzYxOTA0NzYxOTAuLi4sICd5bWluJzog MH0KKyAgICAgICAgICIiIgorICAgICAgICAgaW1wb3J0IG51bXB5CitkaWZmIC0tZ2l0IGEvc3Jj L3NhZ2UvcmVwbC9pcHl0aG9uX2V4dGVuc2lvbi5weSBiL3NyYy9zYWdlL3JlcGwvaXB5dGhvbl9l eHRlbnNpb24ucHkKK2luZGV4IDc5ODY3MWFhYjQyLi5jYWQ2YTQ3Y2E4YiAxMDA2NDQKKy0tLSBh L3NyYy9zYWdlL3JlcGwvaXB5dGhvbl9leHRlbnNpb24ucHkKKysrKyBiL3NyYy9zYWdlL3JlcGwv aXB5dGhvbl9leHRlbnNpb24ucHkKK0BAIC00MDUsNyArNDA1LDcgQEAgZGVmIGZvcnRyYW4oc2Vs ZiwgbGluZSwgY2VsbCk6CisgICAgICAgICAgICAgLi4uLjogQyBFTkQgRklMRSBGSUIxLkYKKyAg ICAgICAgICAgICAuLi4uOiAnJycpCisgICAgICAgICAgICAgc2FnZTogZmliCistICAgICAgICAg ICAgPGZvcnRyYW4gb2JqZWN0PgorKyAgICAgICAgICAgIDxmb3J0cmFuIC4uLj4KKyAgICAgICAg ICAgICBzYWdlOiBmcm9tIG51bXB5IGltcG9ydCBhcnJheQorICAgICAgICAgICAgIHNhZ2U6IGEg PSBhcnJheShyYW5nZSgxMCksIGR0eXBlPWZsb2F0KQorICAgICAgICAgICAgIHNhZ2U6IGZpYihh LCAxMCkKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvc2FnZW1hdGgvcGF0Y2hlcy8zNDk5NS1zdXBwb3J0 X3RhY2h5b25fMC45OS4yLnBhdGNoIGIvc3JjcGtncy9zYWdlbWF0aC9wYXRjaGVzLzM0OTk1LXN1 cHBvcnRfdGFjaHlvbl8wLjk5LjIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwMDAwLi4yNzY5ZTg3ZjZhNGIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3NhZ2Vt YXRoL3BhdGNoZXMvMzQ5OTUtc3VwcG9ydF90YWNoeW9uXzAuOTkuMi5wYXRjaApAQCAtMCwwICsx LDU3IEBACitkaWZmIC0tZ2l0IGEvc3JjL3NhZ2UvaW50ZXJmYWNlcy90YWNoeW9uLnB5IGIvc3Jj L3NhZ2UvaW50ZXJmYWNlcy90YWNoeW9uLnB5CitpbmRleCAyMzY3MWU1MDg5Mi4uY2UxZDUwZjcx YmMgMTAwNjQ0CistLS0gYS9zcmMvc2FnZS9pbnRlcmZhY2VzL3RhY2h5b24ucHkKKysrKyBiL3Ny Yy9zYWdlL2ludGVyZmFjZXMvdGFjaHlvbi5weQorQEAgLTY4MywxMiArNjgzLDE0IEBACisgIyoq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqCisgCisgaW1wb3J0IG9zCisraW1wb3J0IHJlCisgCisgZnJvbSBz YWdlLmNweXRob24uc3RyaW5nIGltcG9ydCBieXRlc190b19zdHIKKyBmcm9tIHNhZ2UubWlzYy5w YWdlciBpbXBvcnQgcGFnZXIKKyBmcm9tIHNhZ2UubWlzYy5zdXBlcnNlZGVkIGltcG9ydCBkZXBy ZWNhdGlvbgorIGZyb20gc2FnZS5taXNjLnRlbXBvcmFyeV9maWxlIGltcG9ydCB0bXBfZmlsZW5h bWUKKyBmcm9tIHNhZ2Uuc3RydWN0dXJlLnNhZ2Vfb2JqZWN0IGltcG9ydCBTYWdlT2JqZWN0Cisr ZnJvbSBzYWdlLm1pc2MuY2FjaGVmdW5jIGltcG9ydCBjYWNoZWRfbWV0aG9kCisgCisgCisgY2xh c3MgVGFjaHlvblJUKFNhZ2VPYmplY3QpOgorQEAgLTc5OSw2ICs4MDEsMTEgQEAgZGVmIF9fY2Fs bF9fKHNlbGYsIG1vZGVsLCBvdXRmaWxlPSdzYWdlLnBuZycsIHZlcmJvc2U9MSwgZXh0cmFfb3B0 cz0nJyk6CisgICAgICAgICAgICAgUGFyc2VyIGZhaWxlZCBkdWUgdG8gYW4gaW5wdXQgZmlsZSBz eW50YXggZXJyb3IuCisgICAgICAgICAgICAgQWJvcnRpbmcgcmVuZGVyLgorICAgICAgICAgIiIi CisrICAgICAgICBpZiBzZWxmLnZlcnNpb24oKSA+PSAnMC45OS4yJzoKKysgICAgICAgICAgICAj IHRoaXMga2V5d29yZCB3YXMgY2hhbmdlZCBpbiAwLjk5LjIKKysgICAgICAgICAgICBtb2RlbCA9 IG1vZGVsLnJlcGxhY2UoCisrICAgICAgICAgICAgICAgICAgICAiICAgICAgICAgICAgICBmb2Nh bGxlbmd0aCAiLAorKyAgICAgICAgICAgICAgICAgICAgIiAgICAgICAgICAgICAgZm9jYWxkaXN0 ICIpCisgICAgICAgICBtb2RlbGZpbGUgPSB0bXBfZmlsZW5hbWUoZXh0PScuZGF0JykKKyAgICAg ICAgIHdpdGggb3Blbihtb2RlbGZpbGUsICd3JykgYXMgZmlsZToKKyAgICAgICAgICAgICBmaWxl LndyaXRlKG1vZGVsKQorQEAgLTg1MSw2ICs4NTgsMjUgQEAgZGVmIHVzYWdlKHNlbGYsIHVzZV9w YWdlcj1UcnVlKToKKyAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgcHJpbnQocikKKyAKKysg ICAgQGNhY2hlZF9tZXRob2QKKysgICAgZGVmIHZlcnNpb24oc2VsZik6CisrICAgICAgICAiIiIK KysgICAgICAgIFJldHVybnMgdGhlIHZlcnNpb24gb2YgdGhlIFRhY2h5b24gcmF5dHJhY2VyIGJl aW5nIHVzZWQuCisrCisrICAgICAgICBURVNUUzo6CisrCisrICAgICAgICAgICAgc2FnZTogdGFj aHlvbl9ydC52ZXJzaW9uKCkgICMgcmFuZG9tCisrICAgICAgICAgICAgMC45OC45CisrICAgICAg ICAgICAgc2FnZTogdGFjaHlvbl9ydC52ZXJzaW9uKCkgPj0gJzAuOTguOScKKysgICAgICAgICAg ICBUcnVlCisrICAgICAgICAiIiIKKysgICAgICAgIHdpdGggb3MucG9wZW4oJ3RhY2h5b24nKSBh cyBmOgorKyAgICAgICAgICAgIHIgPSBmLnJlYWRsaW5lKCkKKysgICAgICAgIHJlcyA9IHJlLnNl YXJjaChyIlZlcnNpb24gKFtcZC5dKikiLCByKQorKyAgICAgICAgIyBkZWJpYW4gcGF0Y2hlcyB0 YWNoeW9uIHNvIGl0IHdvbid0IHJlcG9ydCB0aGUgdmVyc2lvbgorKyAgICAgICAgIyB3ZSBoYXJk Y29kZSAnMC45OScgc2luY2UgdGhhdCdzIGluZGVlZCB0aGUgdmVyc2lvbiB0aGV5IHNoaXAKKysg ICAgICAgIHJldHVybiByZXNbMV0gaWYgcmVzIGVsc2UgJzAuOTknCisrCisgICAgIGRlZiBoZWxw KHNlbGYsIHVzZV9wYWdlcj1UcnVlKToKKyAgICAgICAgICIiIgorICAgICAgICAgRGVwcmVjYXRl ZDogdHlwZSAnc2FnZS5pbnRlcmZhY2VzLnRhY2h5b24/JyBmb3IgaGVscApkaWZmIC0tZ2l0IGEv c3JjcGtncy9zYWdlbWF0aC9wYXRjaGVzLzM0OTk3LWZpeF9lZGdlX2Nhc2Vfb2ZfaW50ZWdlcl9j aGVjay5wYXRjaCBiL3NyY3BrZ3Mvc2FnZW1hdGgvcGF0Y2hlcy8zNDk5Ny1maXhfZWRnZV9jYXNl X29mX2ludGVnZXJfY2hlY2sucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwMDAwLi4xMWViMjBkNGY3MzUKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3NhZ2VtYXRo L3BhdGNoZXMvMzQ5OTctZml4X2VkZ2VfY2FzZV9vZl9pbnRlZ2VyX2NoZWNrLnBhdGNoCkBAIC0w LDAgKzEsMzYgQEAKK2RpZmYgLS1naXQgYS9zcmMvc2FnZS9hcml0aC9sb25nLnB4ZCBiL3NyYy9z YWdlL2FyaXRoL2xvbmcucHhkCitpbmRleCAxYzlhNTMzODdhMC4uZDk2Yjk4ZjI0N2MgMTAwNjQ0 CistLS0gYS9zcmMvc2FnZS9hcml0aC9sb25nLnB4ZAorKysrIGIvc3JjL3NhZ2UvYXJpdGgvbG9u Zy5weGQKK0BAIC0yNzAsNiArMjcwLDE3IEBAIGNkZWYgaW5saW5lIGJpbnQgaW50ZWdlcl9jaGVj a19sb25nX3B5KHgsIGxvbmcqIHZhbHVlLCBpbnQqIGVycik6CisgICAgICAgICBzYWdlOiBMICs9 IFsteCBmb3IgeCBpbiBMXSArIFswLCBsb25nX21pbigpXQorICAgICAgICAgc2FnZTogZm9yIHYg aW4gTDoKKyAgICAgICAgIC4uLi46ICAgICBhc3NlcnQgY2hlY2tfbG9uZ19weShpbnQodikpID09 IHYKKysgICAgICAgIHNhZ2U6IGNoZWNrX2xvbmdfcHkoaW50KDJeNjApKQorKyAgICAgICAgMTE1 MjkyMTUwNDYwNjg0Njk3NiAgICAgICAgICAgICAgICAgIyA2NC1iaXQKKysgICAgICAgICdPdmVy ZmxvdyAoLi4uKScgICAgICAgICAgICAgICAgICAgICMgMzItYml0CisrICAgICAgICBzYWdlOiBj aGVja19sb25nX3B5KGludCgyXjYxKSkKKysgICAgICAgIDIzMDU4NDMwMDkyMTM2OTM5NTIgICAg ICAgICAgICAgICAgICMgNjQtYml0CisrICAgICAgICAnT3ZlcmZsb3cgKC4uLiknICAgICAgICAg ICAgICAgICAgICAjIDMyLWJpdAorKyAgICAgICAgc2FnZTogY2hlY2tfbG9uZ19weShpbnQoMl42 MikpCisrICAgICAgICA0NjExNjg2MDE4NDI3Mzg3OTA0ICAgICAgICAgICAgICAgICAjIDY0LWJp dAorKyAgICAgICAgJ092ZXJmbG93ICguLi4pJyAgICAgICAgICAgICAgICAgICAgIyAzMi1iaXQK KysgICAgICAgIHNhZ2U6IGNoZWNrX2xvbmdfcHkoaW50KDJeNjMpKQorKyAgICAgICAgJ092ZXJm bG93ICguLi4pJworICAgICAgICAgc2FnZTogY2hlY2tfbG9uZ19weShpbnQoMl4xMDApKQorICAg ICAgICAgJ092ZXJmbG93ICguLi4pJworICAgICAgICAgc2FnZTogY2hlY2tfbG9uZ19weShpbnQo bG9uZ19tYXgoKSArIDEpKQorQEAgLTMwOSw3ICszMjAsMTIgQEAgY2RlZiBpbmxpbmUgYmludCBp bnRlZ2VyX2NoZWNrX2xvbmdfcHkoeCwgbG9uZyogdmFsdWUsIGludCogZXJyKToKKyAKKyAgICAg Y2RlZiBsb25nIGxlYWQKKyAgICAgY2RlZiBsb25nIGxlYWRfMl9vdmVyZmxvdyA9ICg8bG9uZz4x KSA8PCAoQklUU19JTl9MT05HIC0gUHlMb25nX1NISUZUKQorLSAgICBjZGVmIGxvbmcgbGVhZF8z X292ZXJmbG93ID0gKDxsb25nPjEpIDw8IChCSVRTX0lOX0xPTkcgLSAyICogUHlMb25nX1NISUZU KQorKyAgICBjZGVmIGxvbmcgbGVhZF8zX292ZXJmbG93CisrICAgIGlmIEJJVFNfSU5fTE9ORyA8 IDIgKiBQeUxvbmdfU0hJRlQ6CisrICAgICAgICAjIGluIHRoaXMgY2FzZSAzIGRpZ2l0IGlzIGFs d2F5cyBvdmVyZmxvdworKyAgICAgICAgbGVhZF8zX292ZXJmbG93ID0gMAorKyAgICBlbHNlOgor KyAgICAgICAgbGVhZF8zX292ZXJmbG93ID0gKDxsb25nPjEpIDw8IChCSVRTX0lOX0xPTkcgLSAy ICogUHlMb25nX1NISUZUKQorICAgICBpZiBzaXplID09IDA6CisgICAgICAgICB2YWx1ZVswXSA9 IDAKKyAgICAgICAgIGVyclswXSA9IDAKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvc2FnZW1hdGgvcGF0 Y2hlcy8zNTA1OC1za2lwX3Vuc3RhYmxlX3Rlc3RzX2tseWFjaGtvLnBhdGNoIGIvc3JjcGtncy9z YWdlbWF0aC9wYXRjaGVzLzM1MDU4LXNraXBfdW5zdGFibGVfdGVzdHNfa2x5YWNoa28ucGF0Y2gK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5jNGQ3ZDVjNzc5ZDEKLS0t IC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3NhZ2VtYXRoL3BhdGNoZXMvMzUwNTgtc2tpcF91bnN0 YWJsZV90ZXN0c19rbHlhY2hrby5wYXRjaApAQCAtMCwwICsxLDIyIEBACitkaWZmIC0tZ2l0IGEv c3JjL3NhZ2Uvc2NoZW1lcy90b3JpYy9zaGVhZi9rbHlhY2hrby5weSBiL3NyYy9zYWdlL3NjaGVt ZXMvdG9yaWMvc2hlYWYva2x5YWNoa28ucHkKK2luZGV4IGIxMzA0YTE2OTEzLi43N2ZhZTRiNzU0 NSAxMDA2NDQKKy0tLSBhL3NyYy9zYWdlL3NjaGVtZXMvdG9yaWMvc2hlYWYva2x5YWNoa28ucHkK KysrKyBiL3NyYy9zYWdlL3NjaGVtZXMvdG9yaWMvc2hlYWYva2x5YWNoa28ucHkKK0BAIC0yNiw3 ICsyNiw3IEBACisgICAgICgwLCAwLCAxOCwgMTYsIDEpCisgICAgIHNhZ2U6IEd0aWxkZSA9IEdf c3VtLnJhbmRvbV9kZWZvcm1hdGlvbigpCisgICAgIHNhZ2U6IFYgPSBHdGlsZGUud2VkZ2UoMikg KiBLICAgICAgICAgICAgICAgICAgICAgIyBsb25nIHRpbWUKKy0gICAgc2FnZTogVi5jb2hvbW9s b2d5KGRpbT1UcnVlLCB3ZWlnaHQ9KDAsMCwwLDApKSAgICAjIGxvbmcgdGltZQorKyAgICBzYWdl OiBWLmNvaG9tb2xvZ3koZGltPVRydWUsIHdlaWdodD0oMCwwLDAsMCkpICAgICMgbG9uZyB0aW1l ICAjIHJhbmRvbSBmYWlsdXJlIChzZWUgIzMyNzczKQorICAgICAoMCwgMCwgMywgMCwgMCkKKyAK KyBSRUZFUkVOQ0VTOgorQEAgLTk0OCw3ICs5NDgsNyBAQCBkZWYgcmFuZG9tX2RlZm9ybWF0aW9u KHNlbGYsIGVwc2lsb249Tm9uZSk6CisgICAgICAgICAgICBzYWdlOiBWLmNvaG9tb2xvZ3koZGlt PVRydWUsIHdlaWdodD0oMCwpKQorICAgICAgICAgICAgKDEsIDApCisgICAgICAgICAgICBzYWdl OiBWdGlsZGUgPSBWLnJhbmRvbV9kZWZvcm1hdGlvbigpCistICAgICAgICAgICBzYWdlOiBWdGls ZGUuY29ob21vbG9neShkaW09VHJ1ZSwgd2VpZ2h0PSgwLCkpCisrICAgICAgICAgICBzYWdlOiBW dGlsZGUuY29ob21vbG9neShkaW09VHJ1ZSwgd2VpZ2h0PSgwLCkpICAjIHJhbmRvbSBmYWlsdXJl IChzZWUgIzMyNzczKQorICAgICAgICAgICAgKDEsIDApCisgICAgICAgICAiIiIKKyAgICAgICAg IGZpbHQgPSBzZWxmLl9maWx0LnJhbmRvbV9kZWZvcm1hdGlvbihlcHNpbG9uKQpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9zYWdlbWF0aC9wYXRjaGVzLzM1MDY4LWZpeF90ZXN0c19naWFjXzEuOS4wLjM1 LnBhdGNoIGIvc3JjcGtncy9zYWdlbWF0aC9wYXRjaGVzLzM1MDY4LWZpeF90ZXN0c19naWFjXzEu OS4wLjM1LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZDlh OTgzNWM2OTZiCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9zYWdlbWF0aC9wYXRjaGVzLzM1 MDY4LWZpeF90ZXN0c19naWFjXzEuOS4wLjM1LnBhdGNoCkBAIC0wLDAgKzEsNjIgQEAKK0Zyb20g OWFjNzg0MDEzNDA1NDE1NTU0NWUyNGZhM2U2NjQwMmQ0MmI5MWMwZiBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKK0Zyb206IEFudG9uaW8gUm9qYXMgPGFyb2phc0BhcmNobGludXgub3JnPgorRGF0 ZTogRnJpLCAyMCBKYW4gMjAyMyAyMTozNjoyNyArMDEwMAorU3ViamVjdDogW1BBVENIXSBGaXgg dGVzdHMgd2l0aCBnaWFjIDEuOS4wLjM1CisKKy0tLQorIHNyYy9zYWdlL2xpYnMvZ2lhYy9naWFj LnB5eCAgIHwgIDMgKy0tCisgc3JjL3NhZ2Uvc3ltYm9saWMvcmVsYXRpb24ucHkgfCAxNSArKysr Ky0tLS0tLS0tLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRp b25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvc2FnZS9saWJzL2dpYWMvZ2lhYy5weXggYi9zcmMv c2FnZS9saWJzL2dpYWMvZ2lhYy5weXgKK2luZGV4IDRlNDUxZGJhNWU3Li5jY2FkNTE2OTgzNiAx MDA2NDQKKy0tLSBhL3NyYy9zYWdlL2xpYnMvZ2lhYy9naWFjLnB5eAorKysrIGIvc3JjL3NhZ2Uv bGlicy9naWFjL2dpYWMucHl4CitAQCAtMzc0LDggKzM3NCw3IEBAIGRlZiBfZ2lhYyhzKToKKyAK KyAgICAgICAgIHNhZ2U6IHggPSBsaWJnaWFjKCd4JykKKyAgICAgICAgIHNhZ2U6ICgxKzIqc2lu KDMqeCkpLnNvbHZlKHgpLnNpbXBsaWZ5KCkKKy0gICAgICAgIFdhcm5pbmcsIGFyZ3VtZW50IGlz IG5vdCBhbiBlcXVhdGlvbiwgc29sdmluZyAxKzIqc2luKDMqeCk9MAorLSAgICAgICAgbGlzdFst cGkvMTgsNypwaS8xOF0KKysgICAgICAgIC4uLmxpc3RbLXBpLzE4LDcqcGkvMThdCisgCisgICAg ICAgICBzYWdlOiBsaWJnaWFjLnNvbHZlKCdzaW4oMyp4KT4yKnNpbih4KScseCkKKyAgICAgICAg IFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKK2RpZmYgLS1naXQgYS9zcmMvc2Fn ZS9zeW1ib2xpYy9yZWxhdGlvbi5weSBiL3NyYy9zYWdlL3N5bWJvbGljL3JlbGF0aW9uLnB5Citp bmRleCBlOWRiYzBmZWEzMC4uYjg4OTZhOTRiZTkgMTAwNjQ0CistLS0gYS9zcmMvc2FnZS9zeW1i b2xpYy9yZWxhdGlvbi5weQorKysrIGIvc3JjL3NhZ2Uvc3ltYm9saWMvcmVsYXRpb24ucHkKK0BA IC05MzUsOCArOTM1LDcgQEAgZGVmIHNvbHZlKGYsICphcmdzLCAqKmt3ZHMpOgorIAorICAgICAg ICAgc2FnZTogZiA9IChzaW4oeCkgLSA4KmNvcyh4KSpzaW4oeCkpKihzaW4oeCleMiArIGNvcyh4 KSkgLSAoMipjb3MoeCkqc2luKHgpIC0gc2luKHgpKSooLTIqc2luKHgpXjIgKyAyKmNvcyh4KV4y IC0gY29zKHgpKQorICAgICAgICAgc2FnZTogc29sdmUoZiwgeCwgYWxnb3JpdGhtPSdnaWFjJykK Ky0gICAgICAgIC4uLgorLSAgICAgICAgWy0yKmFyY3RhbihzcXJ0KDIpKSwgMCwgMiphcmN0YW4o c3FydCgyKSksIHBpXQorKyAgICAgICAgLi4uWy0yKmFyY3RhbihzcXJ0KDIpKSwgMCwgMiphcmN0 YW4oc3FydCgyKSksIHBpXQorIAorICAgICAgICAgc2FnZTogeCwgeSA9IFNSLnZhcigneCx5JykK KyAgICAgICAgIHNhZ2U6IHNvbHZlKFt4K3ktNCx4KnktM10sW3gseV0sYWxnb3JpdGhtPSdnaWFj JykKK0BAIC0xNDQwLDE5ICsxNDM5LDE1IEBAIGRlZiBfZ2lhY19zb2x2ZXIoZiwgeCwgc29sdXRp b25fZGljdD1GYWxzZSk6CisgICAgIEVYQU1QTEVTOjoKKyAKKyAgICAgICAgIHNhZ2U6IHNvbHZl KFsoMi8zKV54LTJdLCBbeF0sIGFsZ29yaXRobT0nZ2lhYycpCistICAgICAgICAuLi4KKy0gICAg ICAgIFtbLWxvZygyKS8obG9nKDMpIC0gbG9nKDIpKV1dCisrICAgICAgICAuLi5bWy1sb2coMikv KGxvZygzKSAtIGxvZygyKSldXQorICAgICAgICAgc2FnZTogc29sdmUoWygyLzMpXngtMl0sIFt4 XSwgYWxnb3JpdGhtPSdnaWFjJywgc29sdXRpb25fZGljdD1UcnVlKQorLSAgICAgICAgLi4uCist ICAgICAgICBbe3g6IC1sb2coMikvKGxvZygzKSAtIGxvZygyKSl9XQorKyAgICAgICAgLi4uW3t4 OiAtbG9nKDIpLyhsb2coMykgLSBsb2coMikpfV0KKyAKKyAgICAgICAgIHNhZ2U6IGYgPSAoc2lu KHgpIC0gOCpjb3MoeCkqc2luKHgpKSooc2luKHgpXjIgKyBjb3MoeCkpIC0gKDIqY29zKHgpKnNp bih4KSAtIHNpbih4KSkqKC0yKnNpbih4KV4yICsgMipjb3MoeCleMiAtIGNvcyh4KSkKKyAgICAg ICAgIHNhZ2U6IHNvbHZlKGYsIHgsIGFsZ29yaXRobT0nZ2lhYycpCistICAgICAgICAuLi4KKy0g ICAgICAgIFstMiphcmN0YW4oc3FydCgyKSksIDAsIDIqYXJjdGFuKHNxcnQoMikpLCBwaV0KKysg ICAgICAgIC4uLlstMiphcmN0YW4oc3FydCgyKSksIDAsIDIqYXJjdGFuKHNxcnQoMikpLCBwaV0K KyAgICAgICAgIHNhZ2U6IHNvbHZlKGYsIHgsIGFsZ29yaXRobT0nZ2lhYycsIHNvbHV0aW9uX2Rp Y3Q9VHJ1ZSkKKy0gICAgICAgIC4uLgorLSAgICAgICAgW3t4OiAtMiphcmN0YW4oc3FydCgyKSl9 LCB7eDogMH0sIHt4OiAyKmFyY3RhbihzcXJ0KDIpKX0sIHt4OiBwaX1dCisrICAgICAgICAuLi5b e3g6IC0yKmFyY3RhbihzcXJ0KDIpKX0sIHt4OiAwfSwge3g6IDIqYXJjdGFuKHNxcnQoMikpfSwg e3g6IHBpfV0KKyAKKyAgICAgICAgIHNhZ2U6IHgsIHkgPSBTUi52YXIoJ3gseScpCisgICAgICAg ICBzYWdlOiBzb2x2ZShbeCt5LTcseCp5LTEwXSxbeCx5XSxhbGdvcml0aG09J2dpYWMnKQpkaWZm IC0tZ2l0IGEvc3JjcGtncy9zYWdlbWF0aC9wYXRjaGVzLzM1MDk0LXN1cHBvcnRfZ2FwXzQuMTIu cGF0Y2ggYi9zcmNwa2dzL3NhZ2VtYXRoL3BhdGNoZXMvMzUwOTQtc3VwcG9ydF9nYXBfNC4xMi5w YXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjQ5OWUwYzcxZTI1 NgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3Mvc2FnZW1hdGgvcGF0Y2hlcy8zNTA5NC1zdXBw b3J0X2dhcF80LjEyLnBhdGNoCkBAIC0wLDAgKzEsMTMwMyBAQAorZGlmZiAtLWdpdCBhL2J1aWxk L3BrZ3MvZ2FwL2NoZWNrc3Vtcy5pbmkgYi9idWlsZC9wa2dzL2dhcC9jaGVja3N1bXMuaW5pCitp bmRleCAwNjZlOTQzMzA4YS4uYjBlYThiYTg4MTggMTAwNjQ0CistLS0gYS9idWlsZC9wa2dzL2dh cC9jaGVja3N1bXMuaW5pCisrKysgYi9idWlsZC9wa2dzL2dhcC9jaGVja3N1bXMuaW5pCitAQCAt MSw1ICsxLDUgQEAKKyB0YXJiYWxsPWdhcC1WRVJTSU9OLnRhci5negorLXNoYTE9NGVjZGQyODFi OGY0MzAyODJmYjliMTI2OTBiMDZlMGEyNmFiZGUxMAorLW1kNT04NWRjOWU0NTlkNWI2YzY2ZmNh ZDlmNDY4YWZkM2UzZQorLWNrc3VtPTEzNTE4NDMxNTgKKytzaGExPWE2ZTM2ZjNmODc0YTJjNDZm NTE1NjE0MDI2MzQ0OTdlYWI3MDVjY2EKKyttZDU9YzVjZDlmMjcyZjI3MDNkN2EzNjQ5YWQ3MTkz YjJkOTAKKytja3N1bT0yNzYwNDc3Mjg0CisgdXBzdHJlYW1fdXJsPWh0dHBzOi8vZ2l0aHViLmNv bS9nYXAtc3lzdGVtL2dhcC9yZWxlYXNlcy9kb3dubG9hZC92VkVSU0lPTi9nYXAtVkVSU0lPTi50 YXIuZ3oKK2RpZmYgLS1naXQgYS9idWlsZC9wa2dzL2dhcC9wYWNrYWdlLXZlcnNpb24udHh0IGIv YnVpbGQvcGtncy9nYXAvcGFja2FnZS12ZXJzaW9uLnR4dAoraW5kZXggZDc4MmZjYThmNjQuLmYx Y2Q3ZGUxZGU1IDEwMDY0NAorLS0tIGEvYnVpbGQvcGtncy9nYXAvcGFja2FnZS12ZXJzaW9uLnR4 dAorKysrIGIvYnVpbGQvcGtncy9nYXAvcGFja2FnZS12ZXJzaW9uLnR4dAorQEAgLTEgKzEgQEAK Ky00LjExLjEKKys0LjEyLjIKK2RpZmYgLS1naXQgYS9idWlsZC9wa2dzL2dhcC9zcGtnLWNoZWNr LmluIGIvYnVpbGQvcGtncy9nYXAvc3BrZy1jaGVjay5pbgoraW5kZXggZDk3OTFkMzMyOTMuLmQy ZmNjZGE2ZTA0IDEwMDY0NAorLS0tIGEvYnVpbGQvcGtncy9nYXAvc3BrZy1jaGVjay5pbgorKysr IGIvYnVpbGQvcGtncy9nYXAvc3BrZy1jaGVjay5pbgorQEAgLTMsNiArMywxMyBAQCBjZCBzcmMK KyAjICMyODcyODogRml4IHRlc3QgZmFpbHVyZSBpbiB0c3QvdGVzdGluc3RhbGwvc3RyaW5ncy50 c3QKKyBleHBvcnQgTENfQ1RZUEU9ZW5fVVMuVVRGLTgKKyAKKysjICMzNDM5MTogaW4gR0FQIDQu MTIgc29tZSBwYWNrYWdlcyBuZWVkIEdBUCBwYWNrYWdlIGlvCisrIyAgICAgICAgIHRvIGxldCB0 ZXN0cyBydW4sIG90aGVyd2lzZSB0aGlzIGhhbmdzLiBUaHVzIHdlIGluc3RhbGwgaW8gaGVyZS4K KytjZCBwa2cvaW8KKysuL2NvbmZpZ3VyZSAtLXdpdGgtZ2Fwcm9vdD0uLi8uLgorK21ha2UKKytj ZCAuLi8uLgorKworIG1ha2UgdGVzdGluc3RhbGwKKyBpZiBbWyAkPyAtbmUgMCBdXTsgdGhlbgor ICAgICBleGl0IDEKK2RpZmYgLS1naXQgYS9idWlsZC9wa2dzL2dhcC9zcGtnLWluc3RhbGwuaW4g Yi9idWlsZC9wa2dzL2dhcC9zcGtnLWluc3RhbGwuaW4KK2luZGV4IDJjZWFkZjk5ZGI0Li5lMmM4 YjRkY2E1NCAxMDA2NDQKKy0tLSBhL2J1aWxkL3BrZ3MvZ2FwL3Nwa2ctaW5zdGFsbC5pbgorKysr IGIvYnVpbGQvcGtncy9nYXAvc3BrZy1pbnN0YWxsLmluCitAQCAtOCw4ICs4LDcgQEAgZXhwb3J0 IENGTEFHUz0kQ0ZMQUdTX05PTl9OQVRJVkUKKyBleHBvcnQgQ1hYRkxBR1M9JENYWEZMQUdTX05P Tl9OQVRJVkUKKyAKKyBHQVBfQlVJTERfUk9PVD0iJChwd2QpIgorLUdBUF9ST09UPSIkU0FHRV9M T0NBTC9zaGFyZS9nYXAiCistREVTVERJUl9HQVBfUk9PVD0iJFNBR0VfREVTVERJUiRHQVBfUk9P VCIKKytHQVBfUk9PVD0iJFNBR0VfTE9DQUwvbGliL2dhcCIKKyAKKyAjIEVuYWJsZSBkZWJ1ZyBp bmZvIGlmIHJlcXVlc3RlZC4KKyAjIE5vdGUgdGhhdCAtZzMgYWxsb3dzIHlvdSB0byB1c2UgcHJl cHJvY2Vzc29yIG1hY3JvcyBpbiBnZGIgd2hpY2ggYXJlIHdpZGVseSB1c2VkCitAQCAtMTcsMzcg KzE2LDE3IEBAIGlmIFsgIiRTQUdFX0RFQlVHIiA9IHllcyBdIDsgdGhlbgorICAgICBleHBvcnQg Q0ZMQUdTPSItTzAgLWczIC1EREVCVUdfTUFTVEVSUE9JTlRFUlMgLURERUJVR19HTE9CQUxfQkFH UyAtRERFQlVHX0ZVTkNUSU9OU19CQUdTICRDRkxBR1MiCisgZmkKKyAKKy1zZGhfY29uZmlndXJl ICRTQUdFX0NPTkZJR1VSRV9HTVAKKy1zZGhfbWFrZSAtajEKKysjIExERkxBR1MgaGFjayBiZWxv dyBuZWVkZWQgYnkgU2VtaWdyb3VwcyBwYWNrYWdlCisrc2RoX2NvbmZpZ3VyZSAkU0FHRV9DT05G SUdVUkVfR01QIExERkxBR1M9Ii1wdGhyZWFkIiAtLXByZWZpeD0kU0FHRV9MT0NBTAorK3NkaF9t YWtlCisgCistIyBHQVAncyAibWFrZSBpbnN0YWxsIiBpcyB3b3JrIGluIHByb2dyZXNzOyB3ZSB1 c2UgYml0cyBhbmQgcGllY2VzIG9mIGl0CistIyBidXQgd2UgaW5zdGFsbCBtYW55IHRoaW5ncyBt YW51YWxseS4KKy1zZGhfbWFrZSBpbnN0YWxsLWhlYWRlcnMgaW5zdGFsbC1saWJnYXAKKy0KKy0j IEluc3RhbGwgY29uZmlnLmgsIHdoaWNoIGlzIG5vdCBjdXJyZW50bHkgaGFuZGxlZCBieSBgbWFr ZSBpbnN0YWxsLWhlYWRlcnNgCistc2RoX2luc3RhbGwgZ2VuL2NvbmZpZy5oICIkU0FHRV9MT0NB TC9pbmNsdWRlL2dhcCIKKy0KKy0jIE5vdyBpbnN0YWxsIHRoZSBnYXAgZXhlY3V0YWJsZSBhcyAi Z2FwLWJpbiI7IGl0IHdpbGwgYmUgY2FsbGVkIG5vcm1hbGx5CistIyB0aHJvdWdoIG91ciB3cmFw cGVyIHNjcmlwdCB0aGF0IHNldHMgdGhlIGFwcHJvcHJpYXRlIEdBUF9ST09UCistU0FHRV9CSU49 IiRTQUdFX0xPQ0FML2JpbiIKKy1ta2RpciAtcCAiJFNBR0VfREVTVERJUiRTQUdFX0JJTiIgfHwg c2RoX2RpZSAiRmFpbGVkIHRvIGNyZWF0ZSB0aGUgZGlyZWN0b3J5ICRTQUdFX0JJTiIKKy0KKy0u L2xpYnRvb2wgLS1tb2RlPWluc3RhbGwgaW5zdGFsbCBnYXAgIiRTQUdFX0RFU1RESVIkU0FHRV9C SU4vZ2FwLWJpbiIgfHwgXAorLSAgICBzZGhfZGllICJGYWlsZWQgdG8gaW5zdGFsbCBnYXAtYmlu IHRvICRTQUdFX0JJTiIKKy0KKy0uL2xpYnRvb2wgLS1tb2RlPWluc3RhbGwgaW5zdGFsbCBnYWMg IiRTQUdFX0RFU1RESVIkU0FHRV9CSU4vZ2FjIiB8fCBcCistICAgIHNkaF9kaWUgIkZhaWxlZCB0 byBpbnN0YWxsIGdhYyB0byAkU0FHRV9CSU4iCistCistIyBOb3cgY29weSBhZGRpdGlvbmFsIGZp bGVzIEdBUCBuZWVkcyB0byBydW4gKGFuZCBhIGZldyBvcHRpb25hbCBiaXRzKSBpbnRvCistIyBH QVBfUk9PVDsgd2UgZG9uJ3QgbmVlZCBldmVyeXRoaW5nIGZyb20gdGhlIHNvdXJjZSB0cmVlCist c2RoX2luc3RhbGwgYmluIGRvYyBnZW4gZ3JwIGxpYiBzcmMgdHN0IHN5c2luZm8uZ2FwICIkR0FQ X1JPT1QiCistCistIyBHQVAncyBjb3B5IG9mIGxpYnRvb2wgaXMgYWxzbyB1c2VkIGJ5IHRoZSB0 b29sY2hhaW4gZm9yIGJ1aWxkIEdBUCBwYWNrYWdlcworLSMgKGkuZS4gYnkgZ2FjKQorLXNkaF9p bnN0YWxsIGxpYnRvb2wgIiRHQVBfUk9PVCIKKytzZGhfbWFrZV9pbnN0YWxsCisrIyBzZGhfbWFr ZSBpbnN0YWxsLWhlYWRlcnMgaW5zdGFsbC1saWJnYXAKKysjIFRoZSAncGFja2FnZW1hbmFnZXIn IHBhY2thZ2UgZXhwZWN0cyB0aGlzIGh0dHBzOi8vZ2l0aHViLmNvbS9nYXAtcGFja2FnZXMvUGFj a2FnZU1hbmFnZXIvaXNzdWVzLzEwNQorK21rZGlyIC1wICIkU0FHRV9MT0NBTC9saWIvZ2FwL2Jp biIKKyAKKyAjIEluc3RhbGwgb25seSB0aGUgbWluaW1hbCBwYWNrYWdlcyBHQVAgbmVlZHMgdG8g cnVuCistc2RoX2luc3RhbGwgcGtnL0dBUERvYy0qIHBrZy9wcmltZ3JwLSogcGtnL1NtYWxsR3Jw LSogcGtnL3RyYW5zZ3JwICIkR0FQX1JPT1QiL3BrZworK3NkaF9pbnN0YWxsIHBrZy9nYXBkb2Mg cGtnL3ByaW1ncnAgcGtnL3NtYWxsZ3JwIHBrZy90cmFuc2dycCAiJEdBUF9ST09UIi9wa2cKKyAK KyAjIEluc3RhbGwgYWRkaXRpb25hbCBwYWNrYWdlcyB0aGF0IGFyZSBub3Qgc3RyaWN0bHkgcmVx dWlyZWQsIGJ1dCB0aGF0IGFyZQorICMgdHlwaWNhbGx5ICJleHBlY3RlZCIgdG8gYmUgbG9hZGVk OiBUaGVzZSBhcmUgdGhlIGRlZmF1bHQgcGFja2FnZXMgdGhhdCBhcmUKK0BAIC01OCw1MCArMzcs MjUgQEAgc2RoX2luc3RhbGwgcGtnL0dBUERvYy0qIHBrZy9wcmltZ3JwLSogcGtnL1NtYWxsR3Jw LSogcGtnL3RyYW5zZ3JwICIkR0FQX1JPT1QiL3AKKyAjIEFsc28gaW5jbHVkZSBhdGxhc3JlcCB3 aGljaCBpcyBhIGRlcGVuZGVuY3kgb2YgdG9tbGliCisgc2RoX2luc3RhbGwgXAorICAgICBwa2cv YXRsYXNyZXAgXAorLSAgICBwa2cvYXV0cGdycC0qIFwKKy0gICAgcGtnL2FsbnV0aC0qIFwKKy0g ICAgcGtnL2NyaXNwLSogXAorLSAgICBwa2cvY3RibGxpYi0qIFwKKy0gICAgcGtnL0ZhY3RJbnQt KiBcCisrICAgIHBrZy9hdXRvZG9jIFwKKysgICAgcGtnL2F1dHBncnAgXAorKyAgICBwa2cvYWxu dXRoIFwKKysgICAgcGtnL2NyaXNwIFwKKysgICAgcGtnL2N0YmxsaWIgXAorKyAgICBwa2cvZmFj dGludCBcCisgICAgIHBrZy9mZ2EgXAorLSAgICBwa2cvaXJyZWRzb2wtKiBcCistICAgIHBrZy9s YWd1bmEtKiBcCistICAgIHBrZy9QYWNrYWdlTWFuYWdlci0qIFwKKy0gICAgcGtnL3BvbGVudGEt KiBcCistICAgIHBrZy9wb2x5Y3ljbGljLSogXAorLSAgICBwa2cvcmVzY2xhc3Nlcy0qIFwKKy0g ICAgcGtnL3NvcGh1cy0qIFwKKy0gICAgcGtnL3RvbWxpYi0qIFwKKysgICAgcGtnL2lycmVkc29s IFwKKysgICAgcGtnL2xhZ3VuYSBcCisrICAgIHBrZy9wYWNrYWdlbWFuYWdlciBcCisrICAgIHBr Zy9wb2xlbnRhIFwKKysgICAgcGtnL3BvbHljeWNsaWMgXAorKyAgICBwa2cvcmFkaXJvb3QgXAor KyAgICBwa2cvcmVzY2xhc3NlcyBcCisrICAgIHBrZy9zb3BodXMgXAorKyAgICBwa2cvdG9tbGli IFwKKysgICAgcGtnL3V0aWxzIFwKKyAgICAgIiRHQVBfUk9PVCIvcGtnCisgCistIyBJbnN0YWxs IHRoZSBHQVAgc3RhcnR1cCBzY3JpcHQ7IGVuc3VyZSBpdCBpcyBleGVjdXRhYmxlCistc2RoX2lu c3RhbGwgLVQgLi4vZ2FwICIkU0FHRV9CSU4vZ2FwIgorLWNobW9kICt4ICIkU0FHRV9ERVNURElS JFNBR0VfQklOL2dhcCIKKy0KKy0jIENyZWF0ZSBzeW1saW5rcyB1bmRlciAkR0FQX1JPT1QgZm9y IHRoZXNlIGV4ZWN1dGFibGVzLCBhcyB0aGV5IGFyZSBleHBlY3RlZAorLSMgKGVzcGVjaWFsbHkg d2hlbiBidWlsZGluZyBrZXJuZWwgcGFja2FnZXMpIHRvIGV4aXN0CistbG4gLXNmICIuLi8uLi9i aW4vZ2FwLWJpbiIgIiRERVNURElSX0dBUF9ST09UL2dhcCIKKy1sbiAtc2YgIi4uLy4uL2Jpbi9n YWMiICIkREVTVERJUl9HQVBfUk9PVC9nYWMiCistCistIyBGaXggdGhlICRHQVBfUk9PVC9iaW4v PGFyY2g+L3NyYyBzeW1saW5rIHRvIGJlIHJlbGF0aXZlIChvdGhlcndpc2UgaXQgbGlua3MKKy0j IHRvIHRoZSBhY3R1YWwgcGF0aCBvZiB0aGUgc291cmNlcyBHQVAgd2FzIGNvbXBpbGVkIGZyb20p CistZm9yIHNyY2xpbmsgaW4gIiRERVNURElSX0dBUF9ST09UIi9iaW4vKi9zcmM7IGRvCistICAg IHJtIC1mICIkc3JjbGluayIKKy0gICAgbG4gLXMgIi4uLy4uL3NyYyIgIiRzcmNsaW5rIgorLWRv bmUKKy0KKy0jIEFkZGl0aW9uYWwgZml4dXBzIGZvciBzb21lIGZpbGVzIGFmdGVyIHRoZXkgaGF2 ZSBiZWVuIGNvcGllZCBpbnRvIHRoZWlyCistIyBkZXN0aW5hdGlvbiBkaXJlY3RvcnkuICBnYWMg YW5kIHN5c2luZm8uZ2FwIGFyZSBnZW5lcmF0ZWQgZmlsZXMgdGhhdCBjb250YWluCistIyBpbiB0 aGVtIGhhcmQtY29kZWQgcmVmZXJlbmNlcyB0byB0aGUgR0FQIGJ1aWxkIGRpcmVjdG9yeSwgd2hp Y2ggd2lsbCBzb29uCistIyBiZSBnb2luZyBhd2F5LiAgVGhpcyBicmVha3MgdGhlIGJ1aWxkIHRv b2xjaGFpbiBmb3Igc29tZSBjb21waWxlZCBHQVAKKy0jIHBhY2thZ2VzLiAgV2UgbmVlZCB0byBy ZXBsYWNlIHRoZXNlIHBhdGhzIHdpdGggdGhlIGZpbmFsIEdBUF9ST09UIHBhdGguICBUaGUKKy0j IGJlbG93IHdpbGwgd29yayBzbyBsb25nIGFzIG5laXRoZXIgb2YgdGhlc2UgcGF0aHMgY29udGFp biAnfCcsIGFuZCBpZiB0aGV5IGRvCistIyB0aGVuIGdvZCBoZWxwIHlvdS4gIGh0dHBzOi8vdHJh Yy5zYWdlbWF0aC5vcmcvdGlja2V0LzI3MjE4Cistc2VkIC1pIC1lICJzfCRHQVBfQlVJTERfUk9P VHwkR0FQX1JPT1R8ZyIgXAorLSAgICAiJFNBR0VfREVTVERJUiRTQUdFX0JJTi9nYWMiICIkREVT VERJUl9HQVBfUk9PVC9zeXNpbmZvLmdhcCIgXAorLSAgICAiJERFU1RESVJfR0FQX1JPT1QvYmlu L2dhcC5zaCIgIiRERVNURElSX0dBUF9ST09UL2RvYy9tYWtlX2RvYyIgfHwgXAorLSAgICBzZGhf ZGllICJGYWlsZWQgdG8gZml4IHVwIGhhcmQtY29kZWQgcGF0aHMgaW4gR0FQIGJ1aWxkIHRvb2xz LiIKKy0KKyAjIFRPRE86IFRoaXMgc2VlbXMgdW5uZWNlc3NhcnktLXdlIGFyZSBhbHJlYWR5IGlu c3RhbGxpbmcgYWxsIG9mIGRvYy8gdG8KKyAjIEdBUF9ST09ULCB3aGljaCBpcyBuZWNlc3Nhcnkg Zm9yIHNvbWUgZnVuY3Rpb25hbGl0eSBpbiBHQVAgdG8gd29yay4gIERvCisgIyB3ZSBuZWVkIHRo aXM/ICBNYXliZSBkb2MvZ2FwIGNvdWxkIGp1c3QgYmUgYSBzeW1saW5rIHRvIGdhcC9kb2M/Pwor ZGlmZiAtLWdpdCBhL2J1aWxkL3BrZ3MvZ2FwL3Nwa2ctbGVnYWN5LXVuaW5zdGFsbCBiL2J1aWxk L3BrZ3MvZ2FwL3Nwa2ctbGVnYWN5LXVuaW5zdGFsbAoraW5kZXggZDE3ZWI5MzllYjcuLmE4ZTVj NTllMWZiIDEwMDc1NQorLS0tIGEvYnVpbGQvcGtncy9nYXAvc3BrZy1sZWdhY3ktdW5pbnN0YWxs CisrKysgYi9idWlsZC9wa2dzL2dhcC9zcGtnLWxlZ2FjeS11bmluc3RhbGwKK0BAIC00LDYgKzQs OCBAQCBybSAtcmYgIiRTQUdFX0xPQ0FML2dhcC9nYXAtNC4iKgorIHJtIC1yZiAiJFNBR0VfU0hB UkUvZ2FwIgorIHJtIC1mICIkU0FHRV9MT0NBTC9nYXAvbGF0ZXN0IgorIHJtIC1mICIkU0FHRV9M T0NBTC9iaW4vZ2FwIgorK3JtIC1mICIkU0FHRV9MT0NBTC9iaW4vZ2FjIgorIAorLSMgUmVtb3Zl IG9sZCBsaWJnYXAgaGVhZGVycworKyMgUmVtb3ZlIG9sZCBsaWJnYXAgaGVhZGVycyBhbmQgbGli cmFyeQorIHJtIC1yZiAiJFNBR0VfTE9DQUwvaW5jbHVkZS9nYXAiCisrcm0gLXJmICIkU0FHRV9M T0NBTC9saWIvZ2FwIgorZGlmZiAtLWdpdCBhL2J1aWxkL3BrZ3MvZ2FwL3Nwa2ctcHJlcm0uaW4g Yi9idWlsZC9wa2dzL2dhcC9zcGtnLXByZXJtLmluCitkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK K2luZGV4IDY2MWQ5MjYyMWZhLi4wMDAwMDAwMDAwMAorLS0tIGEvYnVpbGQvcGtncy9nYXAvc3Br Zy1wcmVybS5pbgorKysrIC9kZXYvbnVsbAorQEAgLTEsNiArMCwwIEBACistIyBUaGVzZSBnZW5l cmF0ZWQgZmlsZXMgYXJlIHBsYWNlZCBpbiBkaXJlY3RvcnkgcHJvdmlkZWQgYnkgdGhlIFNQS0cs IHNvCistIyBkZWxldGUgdGhlIGdlbmVyYXRlZCBmaWxlcyBmaXJzdCBzbyB0aGF0IHRoZWlyIHBh cmVudCBkaXJlY3RvcmllcyBjYW4gYmUKKy0jIHJlbW92ZWQgZHVyaW5nIGluc3RhbGxhdGlvbgor LUdBUF9ST09UPSIkU0FHRV9MT0NBTC9zaGFyZS9nYXAiCistcm0gLWYgIiRHQVBfUk9PVC9wa2cv YXRsYXNyZXAvZGF0YWdlbnMvIiouKgorLXJtIC1mICIkR0FQX1JPT1QvcGtnL2F0bGFzcmVwL2Rh dGF3b3JkLyIqLioKK2RpZmYgLS1naXQgYS9idWlsZC9wa2dzL2dhcF9wYWNrYWdlcy9wYXRjaGVz L2NvaG9tb2xvLWdjYzEwLnBhdGNoIGIvYnVpbGQvcGtncy9nYXBfcGFja2FnZXMvcGF0Y2hlcy9j b2hvbW9sby1nY2MxMC5wYXRjaAorZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCBlNDVm ZTdkOWM2Zi4uMDAwMDAwMDAwMDAKKy0tLSBhL2J1aWxkL3BrZ3MvZ2FwX3BhY2thZ2VzL3BhdGNo ZXMvY29ob21vbG8tZ2NjMTAucGF0Y2gKKysrKyAvZGV2L251bGwKK0BAIC0xLDE1MCArMCwwIEBA CistZGlmZiAtLWdpdCBhL3BrZy9jb2hvbW9sby0xLjYuOC9zdGFuZGFsb25lL3Byb2dzLmQvY3Jw MS5jIGIvcGtnL2NvaG9tb2xvLTEuNi44L3N0YW5kYWxvbmUvcHJvZ3MuZC9jcnAxLmMKKy1pbmRl eCAzYmJkYzQ1Li43ZGY2OTlmIDEwMDY0NAorLS0tLSBhL3BrZy9jb2hvbW9sby0xLjYuOC9zdGFu ZGFsb25lL3Byb2dzLmQvY3JwMS5jCistKysrIGIvcGtnL2NvaG9tb2xvLTEuNi44L3N0YW5kYWxv bmUvcHJvZ3MuZC9jcnAxLmMKKy1AQCAtOCw5ICs4LDggQEAgZXh0ZXJuIHNob3J0IHNwW10sKipt YXRbXSwqcHNwW10sKippbWNvc1tdLCoqY3Bjb1tdLGxvcmJbXSwKKy0gc2hvcnQgKmNzdCwqKmNw c3QsKioqY2Rwc3QsKipzdnB0ciwqY3AsKnJlbDsKKy0gc2hvcnQgKnNwc3QsKipwc3BzdCwqKnBw dHIsKipjcHB0cixucHQsbmIsbnBoLG5waDIsbnBnLG5wZzIsCistICAgICAgIHJubyxvcm5vLGNv aF9pbmRleCwqaW52ZzsKKy0tRklMRSAgKmlwLCpvcDsKKy0gCistLXZvaWQgc2Vla25sbiAodm9p ZCkgeyB3aGlsZSAoZ2V0YyhpcCkhPSdcbicpOyB9CistK3ZvaWQgc2Vla25sbiAoRklMRSAqaXAp IHsgd2hpbGUgKGdldGMoaXApIT0nXG4nKTsgfQorLSAKKy0gLyogVGhpcyBwcm9ncmFtIGRpZmZl cnMgZnJvbSBtb3N0IG90aGVyIHBlcm11dGF0aW9uIHByb2dyYW1zIGluIHRoYXQgcGVybXMgYXJl CistICAgIGFsbCBzdG9yZWQgaW4gdGhlIHNpbmdsZSBhcnJheSBzcC4gU2NocmVpZXIgdmVjdG9y cyBhcmUgc3RvcmVkIGluIHRoZSBzaG9ydAorLUBAIC0yMywxMyArMjIsMTQgQEAgdm9pZCBzZWVr bmxuICh2b2lkKSB7IHdoaWxlIChnZXRjKGlwKSE9J1xuJyk7IH0KKy0gaW50IAorLSBjcnByb2cx ICh2b2lkKQorLSB7IHNob3J0ICpwYywqcWMsZXgsbmVnOyBpbnQgeDsKKy0rICBGSUxFICAqaXAs Km9wOworLSAgIHNob3J0IGksaixrLGwsbSxuLGNsLHJsLCpwLG9jbCxpbSxwdCxwdDEscG4saXB0 OworLSAgIGlmICgoaXA9Zm9wZW4oaW5mMiwiciIpKT09IDApCistICAgeyBmcHJpbnRmKHN0ZGVy ciwiQ2Fubm90IG9wZW4gJXMuXG4iLGluZjIpOyByZXR1cm4oLTEpO30KKy0gICBmc2NhbmYoaXAs IiVoZCVoZCVoZCVoZCIsJm5wdCwmbnBoLCZuYiwmayk7CistICAgaWYgKG5iPj1tYikge2Zwcmlu dGYoc3RkZXJyLCJuYiB0b28gYmlnLiBJbmNyZWFzZSBNQi5cbiIpOyByZXR1cm4oLTEpO30KKy0g ICBpZiAoazw9Mikge2ZwcmludGYoc3RkZXJyLCJpbmYyIGhhcyBpbGxlZ2FsIGZvcm1hdC5cbiIp OyByZXR1cm4oLTEpOyB9CistLSAgc2Vla25sbigpOyBzZWVrbmxuKCk7CistKyAgc2Vla25sbihp cCk7IHNlZWtubG4oaXApOworLSAgIGZvciAoaT0xO2k8PW5iO2krKykgZnNjYW5mKGlwLCIlaGQi LGxvcmIraSk7CistICAgcHB0cj1wc3AtMTsgcHNwc3Q9cHNwK25waDsgc3ZwdHI9Y3BzcC0xOyAg Y3BzdD1jcHNwK25iOworLSAgIGludmc9c3A7IG5waDI9MipucGg7IHNwc3Q9c3ArbnBoMjsKKy1A QCAtMzcsNyArMzcsNyBAQCBjcnByb2cxICh2b2lkKQorLSAgIHsgcHB0cltpXT1zcHN0KyhpLTEp Km5wdC0xOyBwPXBwdHJbaV07CistICAgICBmb3IgKGo9MTtqPD1ucHQ7aisrKSB7ZnNjYW5mKGlw LCIlaGQiLCZrKTsgcFtrXT1qOyB9CistICAgICBpbnZnWzIqaS0yXT0yKmktMTsgaW52Z1syKmkt MV09MippLTI7CistLSAgICBzZWVrbmxuKCk7CistKyAgICBzZWVrbmxuKGlwKTsKKy0gICB9Cist ICAgc3BzdCs9KG5wdCpucGgpOworLSAgIGZvciAoaT0xO2k8PW5iO2krKykKKy1AQCAtNzUsNyAr NzUsNyBAQCBjcnByb2cxICh2b2lkKQorLSAgIHN0cmNweShpbmYxLGluZjApOyBzdHJjYXQoaW5m MSwiLnJlbCIpOworLSAgIGlmICgoaXA9Zm9wZW4oaW5mMSwiciIpKT09MCkKKy0gICB7IGZwcmlu dGYoc3RkZXJyLCJDYW5ub3Qgb3BlbiAlcy5cbiIsaW5mMSk7IHJldHVybigtMSk7fQorLS0gIGZz Y2FuZihpcCwiJWhkJWhkIiwmaywmcm5vKTsgc2Vla25sbigpOworLSsgIGZzY2FuZihpcCwiJWhk JWhkIiwmaywmcm5vKTsgc2Vla25sbihpcCk7CistICAgb3A9Zm9wZW4ob3V0ZnQsInciKTsKKy0g LyogTm93IHdlIGhhdmUgcmVhZCBldmVyeXRoaW5nIGluLCBhbmQgdGhlIGNvbXB1dGF0aW9uIGNh biBzdGFydCAqLworLSAgIG9ybm89MDsKKy1kaWZmIC0tZ2l0IGEvcGtnL2NvaG9tb2xvLTEuNi44 L3N0YW5kYWxvbmUvcHJvZ3MuZC9ucStjaGZucy5jIGIvcGtnL2NvaG9tb2xvLTEuNi44L3N0YW5k YWxvbmUvcHJvZ3MuZC9ucStjaGZucy5jCistaW5kZXggYTczOTZiMi4uNjU4NDk2ZiAxMDA2NDQK Ky0tLS0gYS9wa2cvY29ob21vbG8tMS42Ljgvc3RhbmRhbG9uZS9wcm9ncy5kL25xK2NoZm5zLmMK Ky0rKysgYi9wa2cvY29ob21vbG8tMS42Ljgvc3RhbmRhbG9uZS9wcm9ncy5kL25xK2NoZm5zLmMK Ky1AQCAtMjAsOCArMjAsNiBAQCBzaG9ydCAgbWV4cD1NRVhQLG1jbD1NQ0wsbm8scmVsW1JTUF0s d3RbTUVYUF0sZXhwLCpycGYsKnJwYiwKKy0gZXh0ZXJuIHNob3J0ICBwcmltZSxkaW0sKnNwdiwq KnNwbSxtc3BhY2VbXSwqdmVjW10sKiptYXRbXSxjcFtdLHBpbnZbXSxvcG1hdHMsCistICAgICAg ICAgbW0sbXY7CistIGV4dGVybiBpbnQgbXNwOworLS1GSUxFICppcCwqb3A7CistLQorLSAKKy0g aW50IAorLSBjYWxjbWF0cyAodm9pZCkKKy1AQCAtNTksNyArNTcsNyBAQCBjYWxjbWF0cyAodm9p ZCkKKy0gICB9CistICAgZm9yIChpPTE7aTw9ZXhwO2krKykgdHJhbnMobWF0W2krZXhwXSxtYXRb aV0pOworLSAgIGlmIChvcG1hdHMpCistLSAgeyBvcD1mb3BlbihvdXRmLCJ3Iik7CistKyAgeyBG SUxFICpvcD1mb3BlbihvdXRmLCJ3Iik7CistICAgICBmcHJpbnRmKG9wLCIlNGQlNGQlNGRcbiIs cHJpbWUsZGltLGV4cCk7CistICAgICBmb3IgKGk9MTtpPD1leHA7aSsrKSBwcmludG1hdChtYXRb aV0pOyAKKy0gICAgIGZjbG9zZShvcCk7CistQEAgLTcxLDYgKzY5LDcgQEAgaW50CistIHJkbWF0 cyAodm9pZCkKKy0gLyogcmVhZHMgbWF0cmljZXMgb2YgZ2VuZXJhdG9ycyBvZiBQICovCistIHsg c2hvcnQgaTsgaW50IHF1b3Q7CistKyAgRklMRSAqaXA7CistICAgaXA9Zm9wZW4oaW5mNCwiciIp OworLSAgIGlmIChpcD09MCkKKy0gICB7IGZwcmludGYoc3RkZXJyLCJDYW5ub3Qgb3BlbiAlc1xu ICIsaW5mNCk7IHJldHVybigtMSk7IH0KKy1AQCAtOTAsMTIgKzg5LDEyIEBAIHJkbWF0cyAodm9p ZCkKKy0gICBmY2xvc2UoaXApOworLSAgIHJldHVybigwKTsKKy0gfQorLS1GSUxFICppcDsKKy0g CistIGludCAKKy0gaW5ncCAoaW50IGlucCkKKy0gLyogUmVhZCBpbiBvdXRwdXQgb2YgcmVzcGNy dW4gLXMgKi8KKy0geyBzaG9ydCBpLGosayxsLG0sKm9ycGYsKipwY3A7CistKyAgRklMRSAqaXA7 CistICAgaXA9Zm9wZW4oaW5mMywiciIpOworLSAgIGlmIChpcD09MCkgeyBmcHJpbnRmKHN0ZGVy ciwiQ2Fubm90IG9wZW4gJXNcbiIsaW5mMyk7IHJldHVybigtMSk7IH0KKy0gICBmc2NhbmYoaXAs IiVoZCVoZCVoZCVoZCVoZCVoZCIsJnByaW1lLCZleHAsJmksJm5vLCZqLCZtKTsKKy1kaWZmIC0t Z2l0IGEvcGtnL2NvaG9tb2xvLTEuNi44L3N0YW5kYWxvbmUvcHJvZ3MuZC9ucW1mbnMuYyBiL3Br Zy9jb2hvbW9sby0xLjYuOC9zdGFuZGFsb25lL3Byb2dzLmQvbnFtZm5zLmMKKy1pbmRleCAwODk2 NTUxLi42ODQxYmM4IDEwMDY0NAorLS0tLSBhL3BrZy9jb2hvbW9sby0xLjYuOC9zdGFuZGFsb25l L3Byb2dzLmQvbnFtZm5zLmMKKy0rKysgYi9wa2cvY29ob21vbG8tMS42Ljgvc3RhbmRhbG9uZS9w cm9ncy5kL25xbWZucy5jCistQEAgLTksNyArOSw2IEBAIGV4dGVybiBzaG9ydCAgaW50ZXhwLG1l eHAsbW5nLHdrc3AsCistICAgICAgICBzcHVnZW5bXSwqdGxpbnRnW107CistIGV4dGVybiBpbnQg cHRyc3AscnNwOworLSBzaG9ydCAgZmFjOworLS1GSUxFICppcCwqb3A7CistIAorLSBpbnQgCist IGluZ3AgKHZvaWQpCistQEAgLTE4LDYgKzE3LDcgQEAgaW5ncCAodm9pZCkKKy0gICAgb2YgbnFy dW4sIGFuZCB0YWlscyBhcmUgYWxzbyByZWFkIGluLgorLSAqLworLSB7IHNob3J0IGksaixrLGws bSx4LHksbm8sKm9ycGYsKm9ycGIsKipwY3A7ICBjaGFyIHRhaWxzOworLSsgIEZJTEUgKmlwOwor LSAgIGlmICgoaXA9Zm9wZW4oaW5mMSwiciIpKT09MCkKKy0gICB7IGZwcmludGYoc3RkZXJyLCJD YW5ub3Qgb3BlbiAlcy5cbiIsaW5mMSk7IHJldHVybigtMSk7IH0KKy0gICBmc2NhbmYoaXAsIiVo ZCVoZCVoZCVoZCVoZCVoZCIsJnByaW1lLCZleHAsJm5uZywmbm8sJmNsYXNzLCZtKTsKKy1AQCAt ODksNiArODksNyBAQCBpbnQKKy0gb3V0Z3AgKHZvaWQpCistIC8qIFRoZSBQQ1AgaXMgb3V0cHV0 LCB0b2dldGhlciB3aXRoIHRhaWxzICovCistIHsgc2hvcnQgaSxrLGwsKipwY3AsKmIsKmUsKmM7 CistKyAgRklMRSAqb3A7CistICAgb3A9Zm9wZW4ob3V0ZiwidyIpOworLSAgIGZwcmludGYob3As IiU0ZCU0ZCU0ZCU0ZCU0ZCU0ZFxuIixwcmltZSxleHAsbm5nLGV4cCxjbGFzcywxKTsKKy0gICBm b3IgKGk9MTtpPD1leHA7aSsrKSBmcHJpbnRmKG9wLCIlNGQiLHd0W2ldKTsgZnByaW50ZihvcCwi XG4iKTsKKy1AQCAtMzc5LDcgKzM4MCw3IEBAIHJlc3RhcnQ6CistICAgICBubmctLTsgbW5uZy0t OyBlbmV4cG50LS07CistICAgICBpZiAobm5nPT0wKQorLSAgICAgeyBpZiAoZ2FwKQorLS0gICAg ICB7IG9wPWZvcGVuKG91dGZtLCJ3Iik7IGZwcmludGYob3AsIkNPSE9NT0xPLk11bHRpcGxpZXI6 PVtdO1xuIik7CistKyAgICAgIHsgRklMRSAqb3A9Zm9wZW4ob3V0Zm0sInciKTsgZnByaW50Zihv cCwiQ09IT01PTE8uTXVsdGlwbGllcjo9W107XG4iKTsKKy0gICAgICAgICBmY2xvc2Uob3ApOwor LSAgICAgICAgIHByaW50ZigiQWxsIG5ldyBnZW5lcmF0b3JzIGVsaW1pbmF0ZWQuIE11bHRpcGxp ZXIgaXMgdHJpdmlhbC5cbiIpOworLSAgICAgICB9CistZGlmZiAtLWdpdCBhL3BrZy9jb2hvbW9s by0xLjYuOC9zdGFuZGFsb25lL3Byb2dzLmQvbnFtcC5jIGIvcGtnL2NvaG9tb2xvLTEuNi44L3N0 YW5kYWxvbmUvcHJvZ3MuZC9ucW1wLmMKKy1pbmRleCAwMWNmOTE0Li4wMTQ0ODgzIDEwMDY0NAor LS0tLSBhL3BrZy9jb2hvbW9sby0xLjYuOC9zdGFuZGFsb25lL3Byb2dzLmQvbnFtcC5jCistKysr IGIvcGtnL2NvaG9tb2xvLTEuNi44L3N0YW5kYWxvbmUvcHJvZ3MuZC9ucW1wLmMKKy1AQCAtOSw3 ICs5LDYgQEAgZXh0ZXJuIHNob3J0ICBpbnRleHAsbW5nLG1leHAsd2tzcCwKKy0gICAgICAgIHNw dWdlbltdLCppbnRnW10sKmltaW50Z1tdLCp0bGludGdbXTsKKy0gZXh0ZXJuIGludCBwdHJzcCxy c3A7CistIHNob3J0ICAqd2YsKndjOyBjaGFyIG5vcm07CistLUZJTEUgKmlwLCpvcDsKKy0gCist IC8qIFRoZSBkYXRhIHN0cnVjdHVyZXMgZm9yIHRoaXMgcHJvZ3JhbSBhbmQgZm9yIG5xcnVuIGFy ZSBzaW1pbGFyLgorLSAgICBkMSBhbmQgZDIgY29udGFpbiBkZWZpbml0aW9ucyBvZiBnZW5lcmF0 b3JzLiAoRGVmLiBjb21lcyBmcm9tIGNvbW11dGF0b3IKKy1AQCAtMzUsNiArMzQsNyBAQCBucW1w cm9nICh2b2lkKQorLSB7IHNob3J0IGksaixrLGwsbSxkLCpnaSwqZ2osKnRpLCp0aixjbCxkZWYs KnBzLCpwZiwqKmRwLCpucnBiLCpwLCpvcnBmLCpvcnBiLAorLSAgICAgICAgIG5iLG5wLGsxLCpy bm8sKmNvdnJlbCwqKnBnZW4sdGRlZixzZ247CistICAgY2hhciBudDsKKy0rICBGSUxFICppcCwq b3A7CistICAgaWYgKGluZ3AoKSA9PSAtMSkge2ZwcmludGYoc3RkZXJyLCJJbnB1dCBlcnJvci5c biIpOyByZXR1cm4oLTEpOyB9CistICAgZWV4cG50PWV4cG50K2V4cDsgZW5leHBudD1uZXhwbnQr bm5nOworLSAKK2RpZmYgLS1naXQgYS9idWlsZC9wa2dzL2dhcF9wYWNrYWdlcy9wYXRjaGVzL2d1 YXZhX2xlb25faW5jbHVkZXMucGF0Y2ggYi9idWlsZC9wa2dzL2dhcF9wYWNrYWdlcy9wYXRjaGVz L2d1YXZhX2xlb25faW5jbHVkZXMucGF0Y2gKK2RlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAoraW5k ZXggY2RjZDE5Y2MzZTguLjAwMDAwMDAwMDAwCistLS0gYS9idWlsZC9wa2dzL2dhcF9wYWNrYWdl cy9wYXRjaGVzL2d1YXZhX2xlb25faW5jbHVkZXMucGF0Y2gKKysrKyAvZGV2L251bGwKK0BAIC0x LDEzICswLDAgQEAKKy0tLS0gYS9wa2cvZ3VhdmEtMy4xNS9zcmMvbGVvbi9zcmMvZ2VuZXJhdGUu YwlTYXQgRmViIDI5IDA5OjAyOjEwIDIwMjAKKy0tLS0gYi9wa2cvZ3VhdmEtMy4xNS9zcmMvbGVv bi9zcmMvZ2VuZXJhdGUuYwlUaHUgU2VwIDI0IDEzOjU4OjM2IDIwMjAKKy0qKioqKioqKioqKioq KioKKy0qKiogMTE1LDEyMCAqKioqCistLS0tIDExNSwxMjIgLS0tLQorLSAgI2luY2x1ZGUgImdy b3VwaW8uaCIKKy0gICNpbmNsdWRlICJlbnVtLmgiCistICAjaW5jbHVkZSAic3RvcmFnZS5oIgor LSsgI2luY2x1ZGUgImNoYmFzZS5oIgorLSsgI2luY2x1ZGUgImluZm9ybS5oIgorLSAgCistICAj aWZkZWYgQUxUX1RJTUVfSEVBREVSCistICAjaW5jbHVkZSAiY3B1dGltZS5oIgorZGlmZiAtLWdp dCBhL2J1aWxkL3BrZ3MvZ2FwX3BhY2thZ2VzL3Nwa2ctaW5zdGFsbC5pbiBiL2J1aWxkL3BrZ3Mv Z2FwX3BhY2thZ2VzL3Nwa2ctaW5zdGFsbC5pbgoraW5kZXggMTY4ZTZiMTE1MzIuLjZkZmYxODJh NDhmIDEwMDY0NAorLS0tIGEvYnVpbGQvcGtncy9nYXBfcGFja2FnZXMvc3BrZy1pbnN0YWxsLmlu CisrKysgYi9idWlsZC9wa2dzL2dhcF9wYWNrYWdlcy9zcGtnLWluc3RhbGwuaW4KK0BAIC0xLDQg KzEsNCBAQAorLUdBUF9ST09UPSIkU0FHRV9MT0NBTC9zaGFyZS9nYXAiCisrR0FQX1JPT1Q9IiRT QUdFX0xPQ0FML2xpYi9nYXAiCisgUEtHX0RJUj0iJEdBUF9ST09UL3BrZyIKKyAKKyBQS0dfU1JD X0RJUj0iJChwd2QpL3NyYy9wa2ciCitAQCAtMTEsMzMgKzExLDMxIEBAIGNkICIkUEtHX1NSQ19E SVIiCisgIyAgICAoR0FQIDQuOC42IHN0aWxsIGhhZCBpdCwgYnV0IHRoaXMgaXMgZ29uZSBpbiA0 LjEwKQorIAorIHNkaF9pbnN0YWxsIFwKKy0gICAgYWNsaWItKiBcCistICAgIEF1dG9Eb2MtKiBc CistICAgIGNvcmVsZy0qIFwKKy0gICAgY3JpbWUtKiBcCisrICAgIGFjbGliIFwKKysgICAgY29y ZWxnIFwKKysgICAgY3JpbWUgXAorICAgICBjcnlzdCBcCisgICAgIGNyeXN0Y2F0IFwKKy0gICAg ZGVzaWduLSogXAorKyAgICBkZXNpZ24gXAorICAgICBnYm5wIFwKKy0gICAgZ2Vuc3MtKiBcCist ICAgIGhhcC0qIFwKKy0gICAgaGFwY3J5c3QtKiBcCistICAgIGhlY2tlLSogXAorLSAgICBpbWFn ZXMtKiBcCistICAgIGxpZWFsZ2RiLSogXAorLSAgICBsaWVwcmluZy0qIFwKKy0gICAgbGllcmlu Zy0qIFwKKy0gICAgbG9vcHMtKiBcCistICAgIE1hcENsYXNzLSogXAorLSAgICBwb2x5bWFraW5n LSogXAorLSAgICBxcGEtKiBcCistICAgIHF1YWdyb3VwLSogXAorLSAgICByYWRpcm9vdC0qIFwK Ky0gICAgcmVwc24tKiBcCistICAgIHNsYS0qIFwKKy0gICAgc29uYXRhLSogXAorLSAgICBUb3Jp Yy0qIFwKKy0gICAgdXRpbHMtKiBcCisrICAgIGdlbnNzIFwKKysgICAgaGFwIFwKKysgICAgaGFw Y3J5c3QgXAorKyAgICBoZWNrZSBcCisrICAgIGltYWdlcyBcCisrICAgIGxpZWFsZ2RiIFwKKysg ICAgbGllcHJpbmcgXAorKyAgICBsaWVyaW5nIFwKKysgICAgbG9vcHMgXAorKyAgICBtYXBjbGFz cyBcCisrICAgIHBvbHltYWtpbmcgXAorKyAgICBxcGEgXAorKyAgICBxdWFncm91cCBcCisrICAg IHJlcHNuIFwKKysgICAgc2luZ3VsYXIgXAorKyAgICBzbGEgXAorKyAgICBzb25hdGEgXAorKyAg ICB0b3JpYyBcCisgICAgICIkUEtHX0RJUiIKKyAKKyBpbnN0YWxsX2NvbXBpbGVkX3BrZygpCitA QCAtNDUsMjcgKzQzLDIzIEBAIGluc3RhbGxfY29tcGlsZWRfcGtnKCkKKyAgICAgbG9jYWwgcGtn PSIkMSIKKyAgICAgIyBJbnN0YWxsIHRoZSBiaW4vIGRpciAod2hlcmUgY29tcGlsZWQgbW9kdWxl cyBzaG91bGQgZW5kIHVwKQorICAgICAjIHVuZGVyIDxwcmVmaXg+L2xpYi9nYXA7IHdlIHRoZW4g c3ltbGluayB0byBpdCBsYXRlcgorLSAgICBzZGhfaW5zdGFsbCBiaW4gIiRTQUdFX0xPQ0FML2xp Yi9nYXAvcGtnLyRwa2ciCisrICAgIHNkaF9pbnN0YWxsICogIiRTQUdFX0xPQ0FML2xpYi9nYXAv cGtnLyRwa2ciCisgCisrICAgICMgVE9ETzoKKyAgICAgIyBDbGVhbiB1cCBhbnkgYnVpbGQgYXJ0 aWZpY3RzIGJlZm9yZSBpbnN0YWxsaW5nIHRoZSByZXN0IG9mIHRoZSBwYWNrYWdlCisgICAgICMg QWxzbyByZW1vdmUgY29uZmlndXJlL01ha2VmaWxlcworICAgICAjIE5vdGU6IE5vbmUsIGlmIGFu eSBvZiB0aGUgcGFja2FnZXMgcmVhbGx5IGhhdmUgYSBwcm9wZXIgaW5zdGFsbCB0YXJnZXQKKy0g ICAgbWFrZSBjbGVhbiAgIyBXb3JrcyBmb3Igc29tZSBwYWNrYWdlcyBidXQgbm90IGFsbAorLSAg ICBybSAtcmYgYmluLworLSAgICBybSAtcmYgY29uZmlndXJlIGNvbmZpZ3VyZS4qIGNvbmZpZy4q IGF1dG9nZW4uc2ggKi5tNCBNYWtlZmlsZSogbTQvCisrICAgICNtYWtlIGNsZWFuICAjIFdvcmtz IGZvciBzb21lIHBhY2thZ2VzIGJ1dCBub3QgYWxsCisrICAgICNybSAtcmYgYmluLworKyAgICAj cm0gLXJmIGNvbmZpZ3VyZSBjb25maWd1cmUuKiBjb25maWcuKiBhdXRvZ2VuLnNoICoubTQgTWFr ZWZpbGUqIG00LworIAorLSAgICAjIENyZWF0ZSB0aGUgYmluLyBzeW1saW5rCistICAgIGxuIC1z ICIkU0FHRV9MT0NBTC9saWIvZ2FwL3BrZy8kcGtnL2JpbiIgYmluCistCistICAgICMgSW5zdGFs bCB0aGUgcmVzdCBvZiB0aGUgcGFja2FnZSBmaWxlcworLSAgICBzZGhfaW5zdGFsbCAqICIkUEtH X0RJUi8kcGtnIgorIH0KKyAKKyAjIEJ1aWxkIGFuZCBpbnN0YWxsIGNvbXBpbGVkIHBhY2thZ2Vz OgorICMKKyAjIFRoZXNlIHBhY2thZ2VzIGhhdmUgYW4gb2xkIC4vY29uZmlndXJlIHRoYXQgdGFr ZSB0aGUgR0FQX1JPT1QgYXMgYSBwb3NpdGlvbmFsCisgIyBhcmd1bWVudAorLWZvciBwa2cgaW4g Y29ob21vbG8tKiBjcnlwdGluZy0qIGdyYXBlLSogZ3VhdmEtKiBvcmItKiBkYXRhc3RydWN0dXJl cy0qCisrZm9yIHBrZyBpbiBjb2hvbW9sbyBjcnlwdGluZyBncmFwZSBndWF2YSBvcmIgZGF0YXN0 cnVjdHVyZXMKKyBkbworICAgICBlY2hvICJCdWlsZGluZyBHQVAgcGFja2FnZSAkcGtnIgorICAg ICBDRkxBR1M9IiRDRkxBR1MgLVduby1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbiIKK0BA IC05MSw3ICs4NSw3IEBAIHBhcmFycj0oICIgIiAiICIgIi0td2l0aC1leHRlcm5hbC1wbGFuYXJp dHkiICItLXdpdGgtZXh0ZXJuYWwtbGlic2VtaWdyb3VwcyIgKQorICMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIworIAorIHBhcmluZD0wCistZm9yIHBrZyBpbiBucS0qIGlvLSogZGlncmFwaHMtKiBzZW1p Z3JvdXBzLSoKKytmb3IgcGtnIGluIG5xIGlvIGRpZ3JhcGhzIHNlbWlncm91cHMKKyBkbworICAg ICBlY2hvICJCdWlsZGluZyBHQVAgcGFja2FnZSAkcGtnIgorICAgICBjZCAiJFBLR19TUkNfRElS LyRwa2ciCitkaWZmIC0tZ2l0IGEvYnVpbGQvcGtncy9saWJzZW1pZ3JvdXBzL2NoZWNrc3Vtcy5p bmkgYi9idWlsZC9wa2dzL2xpYnNlbWlncm91cHMvY2hlY2tzdW1zLmluaQoraW5kZXggNjJjNDI2 ODUxNWYuLjRlMTNhMzZjYjM1IDEwMDY0NAorLS0tIGEvYnVpbGQvcGtncy9saWJzZW1pZ3JvdXBz L2NoZWNrc3Vtcy5pbmkKKysrKyBiL2J1aWxkL3BrZ3MvbGlic2VtaWdyb3Vwcy9jaGVja3N1bXMu aW5pCitAQCAtMSw1ICsxLDUgQEAKKyB0YXJiYWxsPWxpYnNlbWlncm91cHMtVkVSU0lPTi50YXIu Z3oKKy1zaGExPTJiMTZjMDk1Y2M1ZmZkM2Y3N2E3MWRmYmY0OGNjZTE4OGUwNTRjMDMKKy1tZDU9 NzA4MmNhZGNmN2ExOTVjY2I5MzE3NWNkNzJiNmRiOTUKKy1ja3N1bT0xNTAxMDIyMzU4Cisrc2hh MT04NjM3NTgyNGI0N2NlNGIwZTIzNTcwMTIyZTg3M2Y2NzEzNmQwYzBhCisrbWQ1PWZmNzlhZDVm YmM4YmZlYjY0ZDQ4ZmFhZjI0MTA2Yjk4CisrY2tzdW09Mjg0NTA0NTQ1NQorIHVwc3RyZWFtX3Vy bD1odHRwczovL2dpdGh1Yi5jb20vbGlic2VtaWdyb3Vwcy9saWJzZW1pZ3JvdXBzL3JlbGVhc2Vz L2Rvd25sb2FkL3ZWRVJTSU9OL2xpYnNlbWlncm91cHMtVkVSU0lPTi50YXIuZ3oKK2RpZmYgLS1n aXQgYS9idWlsZC9wa2dzL2xpYnNlbWlncm91cHMvcGFja2FnZS12ZXJzaW9uLnR4dCBiL2J1aWxk L3BrZ3MvbGlic2VtaWdyb3Vwcy9wYWNrYWdlLXZlcnNpb24udHh0CitpbmRleCA5MDg0ZmEyZjcx Ni4uZjkwYjFhZmMwODIgMTAwNjQ0CistLS0gYS9idWlsZC9wa2dzL2xpYnNlbWlncm91cHMvcGFj a2FnZS12ZXJzaW9uLnR4dAorKysrIGIvYnVpbGQvcGtncy9saWJzZW1pZ3JvdXBzL3BhY2thZ2Ut dmVyc2lvbi50eHQKK0BAIC0xICsxIEBACistMS4xLjAKKysyLjMuMgorZGlmZiAtLWdpdCBhL2J1 aWxkL3BrZ3MvbGlic2VtaWdyb3Vwcy9zcGtnLWluc3RhbGwuaW4gYi9idWlsZC9wa2dzL2xpYnNl bWlncm91cHMvc3BrZy1pbnN0YWxsLmluCitpbmRleCAyYWFmMGU5OTA0My4uMTI4YjU0ZDJmOTkg MTAwNjQ0CistLS0gYS9idWlsZC9wa2dzL2xpYnNlbWlncm91cHMvc3BrZy1pbnN0YWxsLmluCisr KysgYi9idWlsZC9wa2dzL2xpYnNlbWlncm91cHMvc3BrZy1pbnN0YWxsLmluCitAQCAtMSw0ICsx LDQgQEAKKyBjZCBzcmMKKy1zZGhfY29uZmlndXJlCisrc2RoX2NvbmZpZ3VyZSAtLWRpc2FibGUt ZWlnZW4KKyBzZGhfbWFrZQorIHNkaF9tYWtlX2luc3RhbGwKK2RpZmYgLS1naXQgYS9idWlsZC9w a2dzL3Npbmd1bGFyL3Nwa2ctY29uZmlndXJlLm00IGIvYnVpbGQvcGtncy9zaW5ndWxhci9zcGtn LWNvbmZpZ3VyZS5tNAoraW5kZXggZDRkMTQ1ZGVmZTMuLjZhODU2MzFmNjI0IDEwMDY0NAorLS0t IGEvYnVpbGQvcGtncy9zaW5ndWxhci9zcGtnLWNvbmZpZ3VyZS5tNAorKysrIGIvYnVpbGQvcGtn cy9zaW5ndWxhci9zcGtnLWNvbmZpZ3VyZS5tNAorQEAgLTksNTIgKzksNyBAQCBTQUdFX1NQS0df Q09ORklHVVJFKFtzaW5ndWxhcl0sIFsKKyAgICAgICAgQUNfTVNHX0NIRUNLSU5HKFt0aGF0IFNp bmd1bGFyJ3MgaGVscCBpcyB3b3JraW5nXSkKKyAgICAgICAgQVNfSUYoW3Rlc3QgeGBwcmludGYg InN5c3RlbShcIi0tYnJvd3NlclwiLCBcImJ1aWx0aW5cIik7IFxuIGhlbHA7IiB8IFNpbmd1bGFy IDI+JjEgfCBncmVwICJlcnJvciBvY2N1cnJlZCJgID0geF0sIFsKKyAgICAgICAgIEFDX01TR19S RVNVTFQoeWVzKQorLSAgICAgICAgZG5sIFdlIGhhdmUgU2luZ3VsYXIuIE5vdyBkZXRlcm1pbmUg dGhlIHNoYXJlZCBsaWJyYXJ5IHBhdGggb24KKy0gICAgICAgIGRubCBwbGF0Zm9ybXMgb24gd2hp Y2ggc2FnZS5saWJzLnNpbmd1bGFyIG5lZWRzIHRvIHJlbG9hZCB0aGUgbGlicmFyeSB3aXRoIFJU TERfR0xPQkFMLgorLSAgICAgICAgQVNfQ0FTRShbJGhvc3Rfb3NdLAorLSAgICAgICAgICBbY3ln d2luKl0sIFtkbmwgTm90aGluZyB0byBkbworLSAgICAgICAgICAgICAgICAgICAgIF0sCistICAg ICAgICAgICAgICAgICAgICAgW2RubCBVc2UgcGtnLWNvbmZpZyB0byBnZXQgc2luZ3VsYXIncyBs aWJkaXIgd2hpbGUgd2UncmUgYXQgaXQuIEFzIGEKKy0gICAgICAgICAgICAgICAgICAgICAgZG5s IG1vcmFsIGNvbXByb21pc2UgZm9yIHVzaW5nIHBrZy1jb25maWcsIHRoaXMgdWx0aW1hdGVseSBh bGxvd3MgdXMKKy0gICAgICAgICAgICAgICAgICAgICAgZG5sIHRvIHBhc3MgYW4gYWJzb2x1dGUg cGF0aCB0byBkbG9wZW4oKSwgd2hpY2ggaXMgdGhlIG9ubHkgYXBwcm9hY2gKKy0gICAgICAgICAg ICAgICAgICAgICAgZG5sIHRoYXQgUE9TSVggZ3VhcmFudGVlcyB3aWxsIHdvcmsuCistICAgICAg ICAgICAgICAgICAgICAgIFBLR19DSEVDS19WQVIoW1NJTkdVTEFSX0xJQl9ESVJdLCBbU2luZ3Vs YXJdLCBbbGliZGlyXSkKKy0gICAgICAgICAgICAgICAgICAgICAgZG5sIFRoZSBhY2xfc2hsaWJl eHQgdmFyaWFibGUgaXMgc2V0IGluIHRoZSB0b3AtbGV2ZWwgY29uZmlndXJlLmFjLgorLSAgICAg ICAgICAgICAgICAgICAgICBBQ19MQU5HX1BVU0goQykKKy0gICAgICAgICAgICAgICAgICAgICAg T1JJR19MSUJTPSIke0xJQlN9IgorLSAgICAgICAgICAgICAgICAgICAgICBMSUJTPSIke0xJQlN9 IC1sZGwiCistICAgICAgICAgICAgICAgICAgICAgIEFDX01TR19DSEVDS0lORyhbaWYgd2UgY2Fu IGRsb3BlbigkTElCU0lOR1VMQVJfUEFUSCldKQorLSAgICAgICAgICAgICAgICAgICAgICBMSUJT SU5HVUxBUl9QQVRIPSIke1NJTkdVTEFSX0xJQl9ESVJ9L2xpYlNpbmd1bGFyLiR7YWNsX3NobGli ZXh0fSIKKy0KKy0gICAgICAgICAgICAgICAgICAgICAgZG5sIGlmIHdlIGNhbiBkbG9wZW4oKSBp dCwgc3Vic3RpdHV0ZSB0aGUgbmFtZSBmb3Igc2FnZV9jb25mOworLSAgICAgICAgICAgICAgICAg ICAgICBkbmwgb3RoZXJ3aXNlLCBmYWxsIGJhY2sgdG8gdXNpbmcgdGhlIFNQS0cuCistICAgICAg ICAgICAgICAgICAgICAgIEFDX1JVTl9JRkVMU0UoCistICAgICAgICAgICAgICAgICAgICAgICAg W0FDX0xBTkdfUFJPR1JBTSgKKy0gICAgICAgICAgICAgICAgICAgICAgICAgIFtbI2luY2x1ZGUg PGRsZmNuLmg+XV0sCistICAgICAgICAgICAgICAgICAgICAgICAgICBbW3ZvaWQqIGggPSBkbG9w ZW4oIiR7TElCU0lOR1VMQVJfUEFUSH0iLCBSVExEX0xBWlkgfCBSVExEX0dMT0JBTCk7CistICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChoID09IDApIHsgcmV0dXJuIDE7IH0gZWxzZSB7 IHJldHVybiBkbGNsb3NlKGgpOyB9XV0KKy0gICAgICAgICAgICAgICAgICAgICAgICApXSwgWwor LSAgICAgICAgICAgICAgICAgICAgICAgICAgQUNfTVNHX1JFU1VMVCh5ZXMpCistICAgICAgICAg ICAgICAgICAgICAgICAgXSwgWworLSAgICAgICAgICAgICAgICAgICAgICAgICAgZG5sIHRyeSBE ZWJpYW4tc3BlY2lmaWMgbmFtZQorLSAgICAgICAgICAgICAgICAgICAgICAgICAgTElCU0lOR1VM QVJfUEFUSD0iJHtTSU5HVUxBUl9MSUJfRElSfS9saWJzaW5ndWxhci1TaW5ndWxhci4ke2FjbF9z aGxpYmV4dH0iCistICAgICAgICAgICAgICAgICAgICAgICAgICBBQ19SVU5fSUZFTFNFKAorLSAg ICAgICAgICAgICAgICAgICAgICAgICAgIFtBQ19MQU5HX1BST0dSQU0oCistICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBbWyNpbmNsdWRlIDxkbGZjbi5oPl1dLAorLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgW1t2b2lkKiBoID0gZGxvcGVuKCIke0xJQlNJTkdVTEFSX1BBVEh9Iiwg UlRMRF9MQVpZIHwgUlRMRF9HTE9CQUwpOworLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBpZiAoaCA9PSAwKSB7IHJldHVybiAxOyB9IGVsc2UgeyByZXR1cm4gZGxjbG9zZShoKTsgfV1d CistICAgICAgICAgICAgICAgICAgICAgICAgICAgKV0sIFsKKy0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEFDX01TR19SRVNVTFQoeWVzKQorLSAgICAgICAgICAgICAgICAgICAgICAgICAg IF0sIFsKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgQUNfTVNHX1JFU1VMVChubykKKy0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2FnZV9zcGtnX2luc3RhbGxfc2luZ3VsYXI9eWVz CistICAgICAgICAgICAgICAgICAgICAgICAgICBdLCBbQUNfTVNHX1JFU1VMVCh5ZXMpXSkKKy0g ICAgICAgICAgICAgICAgICAgICAgICBdLCBbQUNfTVNHX1JFU1VMVCh5ZXMpXSkKKy0KKy0gICAg ICAgICAgICAgICAgICAgICAgQUNfTEFOR19QT1AoKQorLSAgICAgICAgICAgICAgICAgICAgICBM SUJTPSIke09SSUdfTElCU30iCistICAgICAgICAgICAgICAgICAgICAgXQorLSAgICAgICApXSwg WworKyAgICAgICBdLCBbCisgICAgICAgIEFDX01TR19SRVNVTFQobm8pCisgICAgICAgIHNhZ2Vf c3BrZ19pbnN0YWxsX3Npbmd1bGFyPXllcworICAgICAgICBdCitAQCAtNjQsMjAgKzE5LDQgQEAg U0FHRV9TUEtHX0NPTkZJR1VSRShbc2luZ3VsYXJdLCBbCisgICAgICAgXSkKKyAgICAgXSkKKyAg IF0pCistXSxbXSxbXSxbCistICBkbmwgUG9zdC1jaGVjayBwaGFzZQorLSAgZG5sIFdlIG1ha2Ug dGhlIHNhZ2VfY29uZiBzdWJzdGl0dXRpb25zIGhlcmUsIGJlY2F1c2UgdGhlICJkZWZhdWx0Igor LSAgZG5sIHN1YnN0aXR1dGlvbiBuZWVkcyB0byBiZSBtYWRlIGV2ZW4gaWYgd2Ugc2tpcHBlZCB0 aGUgc3lzdGVtLVNpbmd1bGFyCistICBkbmwgY2hlY2tzIHRoZW1zZWx2ZXMuCistICBBU19JRihb dGVzdCAieCR7c2FnZV9zcGtnX2luc3RhbGxfc2luZ3VsYXJ9IiA9ICJ4eWVzIl0sIFsKKy0gICAg QVNfQ0FTRShbJGhvc3Rfb3NdLAorLSAgICAgIFtjeWd3aW4qXSwgW2RubCBOb3RoaW5nIHRvIGRv CistICAgICAgICAgICAgICAgICBdLAorLSAgICAgICAgICAgICAgICAgW2RubCBTZXQgc2hhcmVk IGxpYnJhcnkgcGF0aCwgbmVlZGVkIGZvciByZWxvYWRpbmcgdGhlIGxpYnJhcnkgd2l0aCBSVExE X0dMT0JBTAorLSAgICAgICAgICAgICAgICAgIExJQlNJTkdVTEFSX1BBVEg9IlwkU0FHRV9MT0NB TC9saWIvbGliU2luZ3VsYXIuJHthY2xfc2hsaWJleHR9IgorLSAgICAgICAgICAgICAgICAgXQor LSAgICApCistICBdKQorLQorLSAgQUNfU1VCU1QoTElCU0lOR1VMQVJfUEFUSCwgIiR7TElCU0lO R1VMQVJfUEFUSH0iKQorIF0pCitkaWZmIC0tZ2l0IGEvcGtncy9zYWdlLWNvbmYvX3NhZ2VfY29u Zi9fY29uZi5weS5pbiBiL3BrZ3Mvc2FnZS1jb25mL19zYWdlX2NvbmYvX2NvbmYucHkuaW4KK2lu ZGV4IDZjZDI4ZjU1OGE4Li5kNjZiZGIzZDI2NCAxMDA2NDQKKy0tLSBhL3BrZ3Mvc2FnZS1jb25m L19zYWdlX2NvbmYvX2NvbmYucHkuaW4KKysrKyBiL3BrZ3Mvc2FnZS1jb25mL19zYWdlX2NvbmYv X2NvbmYucHkuaW4KK0BAIC01NSw5ICs1NSw2IEBAIFRIUkVFSlNfRElSID0gU0FHRV9MT0NBTCAr ICIvc2hhcmUvdGhyZWVqcy1zYWdlIgorIE9QRU5NUF9DRkxBR1MgPSAiQE9QRU5NUF9DRkxBR1NA IgorIE9QRU5NUF9DWFhGTEFHUyA9ICJAT1BFTk1QX0NYWEZMQUdTQCIKKyAKKy0jIFRoZSBmdWxs IGFic29sdXRlIHBhdGggdG8gdGhlIG1haW4gU2luZ3VsYXIgbGlicmFyeS4KKy1MSUJTSU5HVUxB Ul9QQVRIID0gIkBMSUJTSU5HVUxBUl9QQVRIQCIucmVwbGFjZSgnJFNBR0VfTE9DQUwnLCBTQUdF X0xPQ0FMKQorLQorICMgSW5zdGFsbGF0aW9uIGxvY2F0aW9uIG9mIHdoZWVscy4gVGhpcyBpcyBk ZXRlcm1pbmVkIGF0IGNvbmZpZ3VyYXRpb24gdGltZQorICMgYW5kIGRvZXMgbm90IGRlcGVuZCBv biB0aGUgaW5zdGFsbGF0aW9uIGxvY2F0aW9uIG9mIHNhZ2UtY29uZi4KKyBTQUdFX1NQS0dfV0hF RUxTID0gIkBTQUdFX1ZFTlZAIi5yZXBsYWNlKCcke1NBR0VfTE9DQUx9JywgU0FHRV9MT0NBTCkg KyAiL3Zhci9saWIvc2FnZS93aGVlbHMiCitkaWZmIC0tZ2l0IGEvc3JjL2RvYy9lbi90aGVtYXRp Y190dXRvcmlhbHMvbGllL3dleWxfZ3JvdXBzLnJzdCBiL3NyYy9kb2MvZW4vdGhlbWF0aWNfdHV0 b3JpYWxzL2xpZS93ZXlsX2dyb3Vwcy5yc3QKK2luZGV4IGM5MTczMzhlNDQ0Li4xODJlNzRhYWQy MCAxMDA2NDQKKy0tLSBhL3NyYy9kb2MvZW4vdGhlbWF0aWNfdHV0b3JpYWxzL2xpZS93ZXlsX2dy b3Vwcy5yc3QKKysrKyBiL3NyYy9kb2MvZW4vdGhlbWF0aWNfdHV0b3JpYWxzL2xpZS93ZXlsX2dy b3Vwcy5yc3QKK0BAIC0xMzksMTIgKzEzOSwxMiBAQCBzdHJpbmcsIHdoaWNoIHlvdSBjYW4gcHJp bnQ6OgorICAgICBYLjEgICAgICAxICAxICAxICAxICAxICAxICAxICAxICAxICAxICAxICAxICAx CisgICAgIFguMiAgICAgIDEgLTEgIDEgIDEgLTEgIDEgIDEgLTEgLTEgLTEgIDEgIDEgIDEKKyAg ICAgWC4zICAgICAgMiAgLiAgMiAtMSAgLiAgMiAgMiAgLiAgLiAgLiAtMSAgMiAgMgorLSAgICBY LjQgICAgICAzIC0xIC0xICAuICAxIC0xICAzIC0xICAxIC0xICAuIC0xICAzCistICAgIFguNSAg ICAgIDMgLTEgLTEgIC4gIDEgIDMgLTEgLTEgLTEgIDEgIC4gLTEgIDMKKy0gICAgWC42ICAgICAg MyAgMSAtMSAgLiAtMSAtMSAgMyAgMSAtMSAgMSAgLiAtMSAgMworLSAgICBYLjcgICAgICAzICAx IC0xICAuIC0xICAzIC0xICAxICAxIC0xICAuIC0xICAzCistICAgIFguOCAgICAgIDMgLTEgIDMg IC4gLTEgLTEgLTEgLTEgIDEgIDEgIC4gLTEgIDMKKy0gICAgWC45ICAgICAgMyAgMSAgMyAgLiAg MSAtMSAtMSAgMSAtMSAtMSAgLiAtMSAgMworKyAgICBYLjQgICAgICAzIC0xIC0xICAuICAxICAz IC0xIC0xIC0xICAxICAuIC0xICAzCisrICAgIFguNSAgICAgIDMgIDEgLTEgIC4gLTEgIDMgLTEg IDEgIDEgLTEgIC4gLTEgIDMKKysgICAgWC42ICAgICAgMyAtMSAgMyAgLiAtMSAtMSAtMSAtMSAg MSAgMSAgLiAtMSAgMworKyAgICBYLjcgICAgICAzIC0xIC0xICAuICAxIC0xICAzIC0xICAxIC0x ICAuIC0xICAzCisrICAgIFguOCAgICAgIDMgIDEgIDMgIC4gIDEgLTEgLTEgIDEgLTEgLTEgIC4g LTEgIDMKKysgICAgWC45ICAgICAgMyAgMSAtMSAgLiAtMSAtMSAgMyAgMSAtMSAgMSAgLiAtMSAg MworICAgICBYLjEwICAgICA0IC0yICAuIC0xICAuICAuICAuICAyICAuICAuICAxICAuIC00Cisg ICAgIFguMTEgICAgIDQgIDIgIC4gLTEgIC4gIC4gIC4gLTIgIC4gIC4gIDEgIC4gLTQKKyAgICAg WC4xMiAgICAgNiAgLiAtMiAgLiAgLiAtMiAtMiAgLiAgLiAgLiAgLiAgMiAgNgorZGlmZiAtLWdp dCBhL3NyYy9zYWdlL2NvZGluZy9jb2RlY2FuL2F1dGdyb3VwX2Nhbl9sYWJlbC5weXggYi9zcmMv c2FnZS9jb2RpbmcvY29kZWNhbi9hdXRncm91cF9jYW5fbGFiZWwucHl4CitpbmRleCBkZTVkYjk4 NWUwYi4uYzgzYjkyNjRlNDQgMTAwNjQ0CistLS0gYS9zcmMvc2FnZS9jb2RpbmcvY29kZWNhbi9h dXRncm91cF9jYW5fbGFiZWwucHl4CisrKysgYi9zcmMvc2FnZS9jb2RpbmcvY29kZWNhbi9hdXRn cm91cF9jYW5fbGFiZWwucHl4CitAQCAtNzYsNyArNzYsNyBAQCBjb2x1bW5zIGRvIHNoYXJlIHRo ZSBzYW1lIGNvbG9yaW5nOjoKKyAgICAgKCgxLCksCisgICAgICAoMiwpLAorICAgICAgKDMsIDUs IDQpLAorLSAgICAgKDYsIDE5LCAxNiwgOSwgMjEsIDEwLCA4LCAxNSwgMTQsIDExLCAyMCwgMTMs IDEyLCA3LCAxNywgMTgpKQorKyAgICAgKDYsIDE5LCAxNiwgMjEsIDksIDEwLCAxNSwgOCwgMjAs IDExLCAxNCwgMTMsIDcsIDEyLCAxOCwgMTcpKQorIAorIFdlIGNhbiBhbHNvIHJlc3RyaWN0IHRo ZSBncm91cCBhY3Rpb24gdG8gbGluZWFyIGlzb21ldHJpZXM6OgorIAorZGlmZiAtLWdpdCBhL3Ny Yy9zYWdlL2NvZGluZy9saW5lYXJfY29kZS5weSBiL3NyYy9zYWdlL2NvZGluZy9saW5lYXJfY29k ZS5weQoraW5kZXggYTNhYzNjYTE1NDcuLmJmYjlmODY5NmU4IDEwMDY0NAorLS0tIGEvc3JjL3Nh Z2UvY29kaW5nL2xpbmVhcl9jb2RlLnB5CisrKysgYi9zcmMvc2FnZS9jb2RpbmcvbGluZWFyX2Nv ZGUucHkKK0BAIC00NjUsMjcgKzQ2NSwyNyBAQCBkZWYgYXV0b21vcnBoaXNtX2dyb3VwX2dlbnMo c2VsZiwgZXF1aXZhbGVuY2U9InNlbWlsaW5lYXIiKToKKyAgICAgICAgICAgICAwCisgICAgICAg ICAgICAgc2FnZTogQyA9IGNvZGVzLkhhbW1pbmdDb2RlKEdGKDQsICd6JyksIDMpCisgICAgICAg ICAgICAgc2FnZTogQy5hdXRvbW9ycGhpc21fZ3JvdXBfZ2VucygpCistICAgICAgICAgICAgKFso KDEsIDEsIDEsIDEsIDEsIHogKyAxLCB6LCB6ICsgMSwgeiwgeiwgeiwgMSwgMSwgeiArIDEsIHog KyAxLCB6LCB6ICsgMSwgeiwgeiArIDEsIHogKyAxLCB6ICsgMSk7ICgxLDE0LDYsNyw0LDEwLDEx LDE5KSgyLDgsMTYsMTMsMywxNywyMSwxNSkoOSwxMiwxOCwyMCksIFJpbmcgZW5kb21vcnBoaXNt IG9mIEZpbml0ZSBGaWVsZCBpbiB6IG9mIHNpemUgMl4yCisrICAgICAgICAgICAgKFsoKDEsIDEs IDEsIHosIHogKyAxLCAxLCAxLCAxLCAxLCB6ICsgMSwgeiwgeiwgeiArIDEsIHogKyAxLCB6ICsg MSwgMSwgeiArIDEsIHosIHosIDEsIHopOyAoMSwxMywxNCwyMCkoMiwyMSw4LDE4LDcsMTYsMTks MTUpKDMsMTAsNSwxMiwxNyw5LDYsNCksIFJpbmcgZW5kb21vcnBoaXNtIG9mIEZpbml0ZSBGaWVs ZCBpbiB6IG9mIHNpemUgMl4yCisrICAgICAgICAgICAgICAgIERlZm46IHogfC0tPiB6ICsgMSks CisrICAgICAgICAgICAgICAoKHosIDEsIHosIHosIHosIHogKyAxLCB6LCB6LCB6LCB6LCB6LCB6 LCB6ICsgMSwgeiwgeiwgeiwgeiwgeiArIDEsIHosIHosIHopOyAoMSwxMSw1LDEyLDMsMTkpKDIs OCkoNiwxOCwxMykoNywxNywxNSkoOSwxMCwxNCwxNiwyMCwyMSksIFJpbmcgZW5kb21vcnBoaXNt IG9mIEZpbml0ZSBGaWVsZCBpbiB6IG9mIHNpemUgMl4yCisgICAgICAgICAgICAgICAgIERlZm46 IHogfC0tPiB6ICsgMSksCistICAgICAgICAgICAgICAoKHogKyAxLCAxLCAxLCB6LCB6ICsgMSwg eiwgeiwgeiArIDEsIHogKyAxLCB6ICsgMSwgMSwgeiArIDEsIHosIHosIDEsIHogKyAxLCAxLCB6 LCB6ICsgMSwgeiArIDEsIHopOyAoMSwxOCw2LDE5LDIsOSwxNywxMCwxMywxNCwyMSwxMSw0LDUs MTIpKDMsMjAsNywxNiw4KSwgUmluZyBlbmRvbW9ycGhpc20gb2YgRmluaXRlIEZpZWxkIGluIHog b2Ygc2l6ZSAyXjIKKy0gICAgICAgICAgICAgICAgRGVmbjogeiB8LS0+IHopLAorICAgICAgICAg ICAgICAgKCh6LCB6LCB6LCB6LCB6LCB6LCB6LCB6LCB6LCB6LCB6LCB6LCB6LCB6LCB6LCB6LCB6 LCB6LCB6LCB6LCB6KTsgKCksIFJpbmcgZW5kb21vcnBoaXNtIG9mIEZpbml0ZSBGaWVsZCBpbiB6 IG9mIHNpemUgMl4yCisgICAgICAgICAgICAgICAgIERlZm46IHogfC0tPiB6KV0sCisgICAgICAg ICAgICAgIDM2Mjg4MCkKKyAgICAgICAgICAgICBzYWdlOiBDLmF1dG9tb3JwaGlzbV9ncm91cF9n ZW5zKGVxdWl2YWxlbmNlPSJsaW5lYXIiKQorLSAgICAgICAgICAgIChbKCh6ICsgMSwgMSwgeiAr IDEsIHogKyAxLCB6ICsgMSwgeiwgMSwgeiwgMSwgMSwgMSwgMSwgeiArIDEsIHogKyAxLCB6ICsg MSwgeiwgeiwgMSwgeiwgeiwgeik7ICgxLDE1LDIsOCwxNiwxOCwzKSg0LDksMTIsMTMsMjAsMTAs MTEpKDUsMjEsMTQsNiw3LDE5LDE3KSwgUmluZyBlbmRvbW9ycGhpc20gb2YgRmluaXRlIEZpZWxk IGluIHogb2Ygc2l6ZSAyXjIKKysgICAgICAgICAgICAoWygoeiwgMSwgeiArIDEsIHogKyAxLCAx LCB6ICsgMSwgeiwgMSwgeiArIDEsIHogKyAxLCAxLCB6LCAxLCB6ICsgMSwgeiwgMSwgeiwgMSwg eiArIDEsIDEsIDEpOyAoMSwxMiwxMSwxMCw2LDgsOSwyMCwxMywyMSw1LDE0LDMsMTYsMTcsMTks Nyw0LDIsMTUsMTgpLCBSaW5nIGVuZG9tb3JwaGlzbSBvZiBGaW5pdGUgRmllbGQgaW4geiBvZiBz aXplIDJeMgorICAgICAgICAgICAgICAgICBEZWZuOiB6IHwtLT4geiksCistICAgICAgICAgICAg ICAoKHogKyAxLCB6ICsgMSwgeiArIDEsIHogKyAxLCB6ICsgMSwgMSwgeiwgMSwgeiwgeiwgeiwg MSwgeiwgMSwgMSwgMSwgeiArIDEsIHogKyAxLCB6ICsgMSwgMSwgeik7ICgxLDE1LDIxLDgsOSko MiwxOCw1LDMsMTEsMTYsNywxMCwxOSwxMywxMiw0LDE3LDYsMjApLCBSaW5nIGVuZG9tb3JwaGlz bSBvZiBGaW5pdGUgRmllbGQgaW4geiBvZiBzaXplIDJeMgorKyAgICAgICAgICAgICAgKCh6ICsg MSwgeiArIDEsIHogKyAxLCB6LCAxLCAxLCB6LCB6LCAxLCB6ICsgMSwgeiwgMSwgMSwgeiwgMSwg eiArIDEsIHosIHogKyAxLCB6ICsgMSwgMSwgeik7ICgxLDMsMTgsMiwxNyw2LDE5KSg0LDE1LDEz LDIwLDcsMTQsMTYpKDUsMTEsOCwyMSwxMiw5LDEwKSwgUmluZyBlbmRvbW9ycGhpc20gb2YgRmlu aXRlIEZpZWxkIGluIHogb2Ygc2l6ZSAyXjIKKyAgICAgICAgICAgICAgICAgRGVmbjogeiB8LS0+ IHopLAorICAgICAgICAgICAgICAgKCh6ICsgMSwgeiArIDEsIHogKyAxLCB6ICsgMSwgeiArIDEs IHogKyAxLCB6ICsgMSwgeiArIDEsIHogKyAxLCB6ICsgMSwgeiArIDEsIHogKyAxLCB6ICsgMSwg eiArIDEsIHogKyAxLCB6ICsgMSwgeiArIDEsIHogKyAxLCB6ICsgMSwgeiArIDEsIHogKyAxKTsg KCksIFJpbmcgZW5kb21vcnBoaXNtIG9mIEZpbml0ZSBGaWVsZCBpbiB6IG9mIHNpemUgMl4yCisg ICAgICAgICAgICAgICAgIERlZm46IHogfC0tPiB6KV0sCisgICAgICAgICAgICAgIDE4MTQ0MCkK KyAgICAgICAgICAgICBzYWdlOiBDLmF1dG9tb3JwaGlzbV9ncm91cF9nZW5zKGVxdWl2YWxlbmNl PSJwZXJtdXRhdGlvbmFsIikKKy0gICAgICAgICAgICAoWygoMSwgMSwgMSwgMSwgMSwgMSwgMSwg MSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSk7ICgxLDE5KSgzLDE3KSg0 LDIxKSg1LDIwKSg3LDE0KSg5LDEyKSgxMCwxNikoMTEsMTUpLCBSaW5nIGVuZG9tb3JwaGlzbSBv ZiBGaW5pdGUgRmllbGQgaW4geiBvZiBzaXplIDJeMgorKyAgICAgICAgICAgIChbKCgxLCAxLCAx LCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxKTsg KDEsMTEpKDMsMTApKDQsOSkoNSw3KSgxMiwyMSkoMTQsMjApKDE1LDE5KSgxNiwxNyksIFJpbmcg ZW5kb21vcnBoaXNtIG9mIEZpbml0ZSBGaWVsZCBpbiB6IG9mIHNpemUgMl4yCisgICAgICAgICAg ICAgICAgIERlZm46IHogfC0tPiB6KSwKKy0gICAgICAgICAgICAgICgoMSwgMSwgMSwgMSwgMSwg MSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSk7ICgxLDExKSgz LDEwKSg0LDkpKDUsNykoMTIsMjEpKDE0LDIwKSgxNSwxOSkoMTYsMTcpLCBSaW5nIGVuZG9tb3Jw aGlzbSBvZiBGaW5pdGUgRmllbGQgaW4geiBvZiBzaXplIDJeMgorKyAgICAgICAgICAgICAgKCgx LCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAx LCAxKTsgKDIsMTgpKDMsMTkpKDQsMTApKDUsMTYpKDgsMTMpKDksMTQpKDExLDIxKSgxNSwyMCks IFJpbmcgZW5kb21vcnBoaXNtIG9mIEZpbml0ZSBGaWVsZCBpbiB6IG9mIHNpemUgMl4yCisgICAg ICAgICAgICAgICAgIERlZm46IHogfC0tPiB6KSwKKy0gICAgICAgICAgICAgICgoMSwgMSwgMSwg MSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSk7ICgx LDE3KSgyLDgpKDMsMTQpKDQsMTApKDcsMTIpKDksMTkpKDEzLDE4KSgxNSwyMCksIFJpbmcgZW5k b21vcnBoaXNtIG9mIEZpbml0ZSBGaWVsZCBpbiB6IG9mIHNpemUgMl4yCisrICAgICAgICAgICAg ICAoKDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEs IDEsIDEsIDEpOyAoMSwxOSkoMywxNykoNCwyMSkoNSwyMCkoNywxNCkoOSwxMikoMTAsMTYpKDEx LDE1KSwgUmluZyBlbmRvbW9ycGhpc20gb2YgRmluaXRlIEZpZWxkIGluIHogb2Ygc2l6ZSAyXjIK KyAgICAgICAgICAgICAgICAgRGVmbjogeiB8LS0+IHopLAorICAgICAgICAgICAgICAgKCgxLCAx LCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAx KTsgKDIsMTMpKDMsMTQpKDQsMjApKDUsMTEpKDgsMTgpKDksMTkpKDEwLDE1KSgxNiwyMSksIFJp bmcgZW5kb21vcnBoaXNtIG9mIEZpbml0ZSBGaWVsZCBpbiB6IG9mIHNpemUgMl4yCisgICAgICAg ICAgICAgICAgIERlZm46IHogfC0tPiB6KV0sCitAQCAtNjkxLDEwICs2OTEsMTAgQEAgZGVmIF9j YW5vbml6ZShzZWxmLCBlcXVpdmFsZW5jZSk6CisgICAgICAgICAgICAgc2FnZTogQ19pc28gPT0g YXV0X2dyb3VwX2Nhbl9sYWJlbC5nZXRfY2Fub25pY2FsX2Zvcm0oKQorICAgICAgICAgICAgIFRy dWUKKyAgICAgICAgICAgICBzYWdlOiBhdXRfZ3JvdXBfY2FuX2xhYmVsLmdldF9hdXRvbV9nZW5z KCkKKy0gICAgICAgICAgICBbKCgxLCAxLCAxLCAxLCAxLCB6ICsgMSwgeiwgeiArIDEsIHosIHos IHosIDEsIDEsIHogKyAxLCB6ICsgMSwgeiwgeiArIDEsIHosIHogKyAxLCB6ICsgMSwgeiArIDEp OyAoMSwxNCw2LDcsNCwxMCwxMSwxOSkoMiw4LDE2LDEzLDMsMTcsMjEsMTUpKDksMTIsMTgsMjAp LCBSaW5nIGVuZG9tb3JwaGlzbSBvZiBGaW5pdGUgRmllbGQgaW4geiBvZiBzaXplIDJeMgorKyAg ICAgICAgICAgIFsoKDEsIDEsIDEsIHosIHogKyAxLCAxLCAxLCAxLCAxLCB6ICsgMSwgeiwgeiwg eiArIDEsIHogKyAxLCB6ICsgMSwgMSwgeiArIDEsIHosIHosIDEsIHopOyAoMSwxMywxNCwyMCko MiwyMSw4LDE4LDcsMTYsMTksMTUpKDMsMTAsNSwxMiwxNyw5LDYsNCksIFJpbmcgZW5kb21vcnBo aXNtIG9mIEZpbml0ZSBGaWVsZCBpbiB6IG9mIHNpemUgMl4yCisrICAgICAgICAgICAgICAgRGVm bjogeiB8LS0+IHogKyAxKSwKKysgICAgICAgICAgICAgKCh6LCAxLCB6LCB6LCB6LCB6ICsgMSwg eiwgeiwgeiwgeiwgeiwgeiwgeiArIDEsIHosIHosIHosIHosIHogKyAxLCB6LCB6LCB6KTsgKDEs MTEsNSwxMiwzLDE5KSgyLDgpKDYsMTgsMTMpKDcsMTcsMTUpKDksMTAsMTQsMTYsMjAsMjEpLCBS aW5nIGVuZG9tb3JwaGlzbSBvZiBGaW5pdGUgRmllbGQgaW4geiBvZiBzaXplIDJeMgorICAgICAg ICAgICAgICAgIERlZm46IHogfC0tPiB6ICsgMSksCistICAgICAgICAgICAgICgoeiArIDEsIDEs IDEsIHosIHogKyAxLCB6LCB6LCB6ICsgMSwgeiArIDEsIHogKyAxLCAxLCB6ICsgMSwgeiwgeiwg MSwgeiArIDEsIDEsIHosIHogKyAxLCB6ICsgMSwgeik7ICgxLDE4LDYsMTksMiw5LDE3LDEwLDEz LDE0LDIxLDExLDQsNSwxMikoMywyMCw3LDE2LDgpLCBSaW5nIGVuZG9tb3JwaGlzbSBvZiBGaW5p dGUgRmllbGQgaW4geiBvZiBzaXplIDJeMgorLSAgICAgICAgICAgICAgIERlZm46IHogfC0tPiB6 KSwKKyAgICAgICAgICAgICAgKCh6LCB6LCB6LCB6LCB6LCB6LCB6LCB6LCB6LCB6LCB6LCB6LCB6 LCB6LCB6LCB6LCB6LCB6LCB6LCB6LCB6KTsgKCksIFJpbmcgZW5kb21vcnBoaXNtIG9mIEZpbml0 ZSBGaWVsZCBpbiB6IG9mIHNpemUgMl4yCisgICAgICAgICAgICAgICAgRGVmbjogeiB8LS0+IHop XQorICAgICAgICAgIiIiCitkaWZmIC0tZ2l0IGEvc3JjL3NhZ2UvY29tYmluYXQvcG9zZXRzL3Bv c2V0cy5weSBiL3NyYy9zYWdlL2NvbWJpbmF0L3Bvc2V0cy9wb3NldHMucHkKK2luZGV4IDI4MzZk NTlkOTYwLi44Yzg4MmQ1YWMzYiAxMDA2NDQKKy0tLSBhL3NyYy9zYWdlL2NvbWJpbmF0L3Bvc2V0 cy9wb3NldHMucHkKKysrKyBiL3NyYy9zYWdlL2NvbWJpbmF0L3Bvc2V0cy9wb3NldHMucHkKK0BA IC04ODEzLDcgKzg4MTMsNyBAQCBkZWYgX2xpYmdhcF8oc2VsZik6CisgICAgICAgICAgICAgc2Fn ZTogbGliZ2FwKFApICAjIG9wdGlvbmFsIC0gZ2FwX3BhY2thZ2VzCisgICAgICAgICAgICAgPEEg cG9zZXQgb24gNSBwb2ludHM+CisgICAgICAgICAgICAgc2FnZTogQSA9IGxpYmdhcChHRigyKSku UG9zZXRBbGdlYnJhKFApOyBBICAjIG9wdGlvbmFsIC0gZ2FwX3BhY2thZ2VzCistICAgICAgICAg ICAgPEdGKDIpWzxxdWl2ZXIgd2l0aCA1IHZlcnRpY2VzIGFuZCA1IGFycm93cz5dLzx0d28tc2lk ZWQgaWRlYWwgaW4gPEdGKDIpWzxxdWl2ZXIgd2l0aCA1IHZlcnRpY2VzIGFuZCA1IGFycm93cz5d PiwgKDEgZ2VuZXJhdG9ycyk+PgorKyAgICAgICAgICAgIDxHRigyKVs8cXVpdmVyIHdpdGggNSB2 ZXJ0aWNlcyBhbmQgNSBhcnJvd3M+XS88dHdvLXNpZGVkIGlkZWFsIGluIDxHRigyKVs8cXVpdmVy IHdpdGggNSB2ZXJ0aWNlcyBhbmQgNSBhcnJvd3M+XT4sICgxIGdlbmVyYXRvcik+PgorICAgICAg ICAgICAgIHNhZ2U6IEEuRGltZW5zaW9uKCkgICMgb3B0aW9uYWwgLSBnYXBfcGFja2FnZXMKKyAg ICAgICAgICAgICAxMworICAgICAgICAgIiIiCitkaWZmIC0tZ2l0IGEvc3JjL3NhZ2UvY29tYmlu YXQvcm9vdF9zeXN0ZW0vaGVja2VfYWxnZWJyYV9yZXByZXNlbnRhdGlvbi5weSBiL3NyYy9zYWdl L2NvbWJpbmF0L3Jvb3Rfc3lzdGVtL2hlY2tlX2FsZ2VicmFfcmVwcmVzZW50YXRpb24ucHkKK2lu ZGV4IDZiNzU2YmFmYzMwLi44YWM5OTMxOWJlYyAxMDA2NDQKKy0tLSBhL3NyYy9zYWdlL2NvbWJp bmF0L3Jvb3Rfc3lzdGVtL2hlY2tlX2FsZ2VicmFfcmVwcmVzZW50YXRpb24ucHkKKysrKyBiL3Ny Yy9zYWdlL2NvbWJpbmF0L3Jvb3Rfc3lzdGVtL2hlY2tlX2FsZ2VicmFfcmVwcmVzZW50YXRpb24u cHkKK0BAIC0zNTcsNyArMzU3LDcgQEAgZGVmIFR3KHNlbGYsIHdvcmQsIHNpZ25zPU5vbmUsIHNj YWxhcj1Ob25lKToKKyAgICAgICAgICAgICBzYWdlOiBxMSwgcTIgPSBLLmdlbnMoKQorICAgICAg ICAgICAgIHNhZ2U6IEtXID0gVy5hbGdlYnJhKEspCisgICAgICAgICAgICAgc2FnZTogeCA9IEtX LmFuX2VsZW1lbnQoKTsgeAorLSAgICAgICAgICAgIDEyMyArIDMqMzIgKyAyKjMgKyBlCisrICAg ICAgICAgICAgMTIzICsgMyoyMzEyICsgMiozMSArIGUKKyAKKyAgICAgICAgICAgICBzYWdlOiBU ID0gS1cuZGVtYXp1cmVfbHVzenRpZ19vcGVyYXRvcnMocTEscTIpCisgICAgICAgICAgICAgc2Fn ZTogVDEyID0gVC5UdyggKDEsMikgKQorZGlmZiAtLWdpdCBhL3NyYy9zYWdlL2NvbWJpbmF0L3N5 bW1ldHJpY19ncm91cF9hbGdlYnJhLnB5IGIvc3JjL3NhZ2UvY29tYmluYXQvc3ltbWV0cmljX2dy b3VwX2FsZ2VicmEucHkKK2luZGV4IGI4YTBiZWJhYjQ0Li45YmNjYmExMjRjOCAxMDA2NDQKKy0t LSBhL3NyYy9zYWdlL2NvbWJpbmF0L3N5bW1ldHJpY19ncm91cF9hbGdlYnJhLnB5CisrKysgYi9z cmMvc2FnZS9jb21iaW5hdC9zeW1tZXRyaWNfZ3JvdXBfYWxnZWJyYS5weQorQEAgLTEwMSw3ICsx MDEsNyBAQCBkZWYgU3ltbWV0cmljR3JvdXBBbGdlYnJhKFIsIFcsIGNhdGVnb3J5PU5vbmUpOgor ICAgICAgICAgc2FnZTogU0dBLmdyb3VwKCkKKyAgICAgICAgIFdleWwgR3JvdXAgb2YgdHlwZSBb J0EnLCAzXSAoYXMgYSBtYXRyaXggZ3JvdXAgYWN0aW5nIG9uIHRoZSBhbWJpZW50IHNwYWNlKQor ICAgICAgICAgc2FnZTogU0dBLmFuX2VsZW1lbnQoKQorLSAgICAgICAgczEqczIqczMgKyAzKnMz KnMyICsgMipzMyArIDEKKysgICAgICAgIHMxKnMyKnMzICsgMypzMipzMypzMSpzMiArIDIqczMq czEgKyAxCisgCisgICAgIFRoZSBwcmVmZXJyZWQgd2F5IHRvIGNvbnN0cnVjdCB0aGUgc3ltbWV0 cmljIGdyb3VwIGFsZ2VicmEgaXMgdG8KKyAgICAgZ28gdGhyb3VnaCB0aGUgdXN1YWwgYGBhbGdl YnJhYGAgbWV0aG9kOjoKK2RpZmYgLS1naXQgYS9zcmMvc2FnZS9lbnYucHkgYi9zcmMvc2FnZS9l bnYucHkKK2luZGV4IDkxMWYzNGIxYmM2Li41ZjdhY2E4NTk5YyAxMDA2NDQKKy0tLSBhL3NyYy9z YWdlL2Vudi5weQorKysrIGIvc3JjL3NhZ2UvZW52LnB5CitAQCAtMTk3LDcgKzE5Nyw4IEBAIGRl ZiB2YXIoa2V5OiBzdHIsICpmYWxsYmFja3M6IE9wdGlvbmFsW3N0cl0sIGZvcmNlOiBib29sID0g RmFsc2UpIC0+IE9wdGlvbmFsW3N0CisgR1JBUEhTX0RBVEFfRElSID0gdmFyKCJHUkFQSFNfREFU QV9ESVIiLCBqb2luKFNBR0VfU0hBUkUsICJncmFwaHMiKSkKKyBFTExDVVJWRV9EQVRBX0RJUiA9 IHZhcigiRUxMQ1VSVkVfREFUQV9ESVIiLCBqb2luKFNBR0VfU0hBUkUsICJlbGxjdXJ2ZXMiKSkK KyBQT0xZVE9QRV9EQVRBX0RJUiA9IHZhcigiUE9MWVRPUEVfREFUQV9ESVIiLCBqb2luKFNBR0Vf U0hBUkUsICJyZWZsZXhpdmVfcG9seXRvcGVzIikpCistR0FQX1JPT1RfRElSID0gdmFyKCJHQVBf Uk9PVF9ESVIiLCBqb2luKFNBR0VfU0hBUkUsICJnYXAiKSkKKytHQVBfTElCX0RJUiA9IHZhcigi R0FQX0xJQl9ESVIiLCBqb2luKFNBR0VfTE9DQUwsICJsaWIiLCAiZ2FwIikpCisrR0FQX1NIQVJF X0RJUiA9IHZhcigiR0FQX1NIQVJFX0RJUiIsIGpvaW4oU0FHRV9TSEFSRSwgImdhcCIpKQorIFRI RUJFX0RJUiA9IHZhcigiVEhFQkVfRElSIiwgam9pbihTQUdFX1NIQVJFLCAidGhlYmUiKSkKKyBD T01CSU5BVE9SSUFMX0RFU0lHTl9EQVRBX0RJUiA9IHZhcigiQ09NQklOQVRPUklBTF9ERVNJR05f REFUQV9ESVIiLCBqb2luKFNBR0VfU0hBUkUsICJjb21iaW5hdG9yaWFsX2Rlc2lnbnMiKSkKKyBD UkVNT05BX01JTklfREFUQV9ESVIgPSB2YXIoIkNSRU1PTkFfTUlOSV9EQVRBX0RJUiIsIGpvaW4o U0FHRV9TSEFSRSwgImNyZW1vbmEiKSkKK0BAIC0yMjksMTIgKzIzMCw2IEBAIGRlZiB2YXIoa2V5 OiBzdHIsICpmYWxsYmFja3M6IE9wdGlvbmFsW3N0cl0sIGZvcmNlOiBib29sID0gRmFsc2UpIC0+ IE9wdGlvbmFsW3N0CisgTElFX0lORk9fRElSID0gdmFyKCJMSUVfSU5GT19ESVIiLCBqb2luKFNB R0VfTE9DQUwsICJsaWIiLCAiTGlFIikpCisgU0lOR1VMQVJfQklOID0gdmFyKCJTSU5HVUxBUl9C SU4iKSBvciAiU2luZ3VsYXIiCisgCistIyBUaGUgcGF0aCB0byBsaWJTaW5ndWxhciwgdG8gYmUg cGFzc2VkIHRvIGRsb3BlbigpLiBUaGlzIHdpbGwKKy0jIHR5cGljYWxseSBiZSBzZXQgdG8gYW4g YWJzb2x1dGUgcGF0aCBpbiBzYWdlX2NvbmYsIGJ1dCB0aGUgcmVsYXRpdmUKKy0jIGZhbGxiYWNr IHBhdGggaGVyZSB3b3JrcyBvbiBzeXN0ZW1zIHdoZXJlIGRsb3BlbigpIHNlYXJjaGVzIHRoZQor LSMgc3lzdGVtJ3MgbGlicmFyeSBsb2NhdGlvbnMuCistTElCU0lOR1VMQVJfUEFUSCA9IHZhcigi TElCU0lOR1VMQVJfUEFUSCIsICJsaWJTaW5ndWxhci5zbyIpCistCisgIyBPcGVuTVAKKyBPUEVO TVBfQ0ZMQUdTID0gdmFyKCJPUEVOTVBfQ0ZMQUdTIiwgIiIpCisgT1BFTk1QX0NYWEZMQUdTID0g dmFyKCJPUEVOTVBfQ1hYRkxBR1MiLCAiIikKK0BAIC0yNTUsODEgKzI1MCw2IEBAIGRlZiB2YXIo a2V5OiBzdHIsICpmYWxsYmFja3M6IE9wdGlvbmFsW3N0cl0sIGZvcmNlOiBib29sID0gRmFsc2Up IC0+IE9wdGlvbmFsW3N0CisgU0FHRV9HQVBfQ09NTUFORCA9IHZhcignU0FHRV9HQVBfQ09NTUFO RCcsIF9nYXBfY21kKQorIAorIAorLWRlZiBfZ2V0X3NoYXJlZF9saWJfcGF0aCgqbGlibmFtZXM6 IHN0cikgLT4gT3B0aW9uYWxbc3RyXToKKy0gICAgIiIiCistICAgIFJldHVybiB0aGUgZnVsbCBw YXRoIHRvIGEgc2hhcmVkIGxpYnJhcnkgZmlsZSBpbnN0YWxsZWQgaW4KKy0gICAgYGAkU0FHRV9M T0NBTC9saWJgYCBvciB0aGUgZGlyZWN0b3JpZXMgYXNzb2NpYXRlZCB3aXRoIHRoZQorLSAgICBQ eXRob24gc3lzY29uZmlnLgorLQorLSAgICBUaGlzIGNhbiBhbHNvIGJlIHBhc3NlZCBtb3JlIHRo YW4gb25lIGxpYnJhcnkgbmFtZSAoZS5nLiBmb3IgY2FzZXMgd2hlcmUKKy0gICAgc29tZSBsaWJy YXJ5IG1heSBoYXZlIG11bHRpcGxlIG5hbWVzIGRlcGVuZGluZyBvbiB0aGUgcGxhdGZvcm0pIGlu IHdoaWNoCistICAgIGNhc2UgdGhlIGZpcnN0IG9uZSBmb3VuZCBpcyByZXR1cm5lZC4KKy0KKy0g ICAgVGhpcyBzdXBwb3J0cyBtb3N0ICpOSVggdmFyaWFudHMgKGluIHdoaWNoIGBgbGliPGxpYm5h bWU+LnNvYGAgaXMgZm91bmQKKy0gICAgdW5kZXIgYGAkU0FHRV9MT0NBTC9saWJgYCksIG1hY09T IChzYW1lLCBidXQgd2l0aCB0aGUgYGAuZHlsaWJgYAorLSAgICBleHRlbnNpb24pLCBhbmQgQ3ln d2luICh1bmRlciBgYCRTQUdFX0xPQ0FML2Jpbi9jeWc8bGlibmFtZT4uZGxsYGAsCistICAgIG9y IGBgJFNBR0VfTE9DQUwvYmluL2N5ZzxsaWJuYW1lPi0qLmRsbGBgIGZvciB2ZXJzaW9uZWQgRExM cykuCistCistICAgIEZvciBkaXN0cmlidXRpb25zIGxpa2UgRGViaWFuIHRoYXQgdXNlIGEgbXVs dGlhcmNoIGxheW91dCwgd2UgYWxzbyB0cnkgdGhlCistICAgIG11bHRpYXJjaCBsaWIgcGF0aHMg KGkuZS4gYGAvdXNyL2xpYi88YXJjaD4vYGApLgorLQorLSAgICBUaGlzIHJldHVybnMgYGBOb25l YGAgaWYgbm8gbWF0Y2hpbmcgbGlicmFyeSBmaWxlIGNvdWxkIGJlIGZvdW5kLgorLQorLSAgICBF WEFNUExFUzo6CistCistICAgICAgICBzYWdlOiBmcm9tIHNhZ2UuZW52IGltcG9ydCBfZ2V0X3No YXJlZF9saWJfcGF0aAorLSAgICAgICAgc2FnZTogImdhcCIgaW4gX2dldF9zaGFyZWRfbGliX3Bh dGgoImdhcCIpCistICAgICAgICBUcnVlCistICAgICAgICBzYWdlOiBfZ2V0X3NoYXJlZF9saWJf cGF0aCgiYW5fYWJzdXJkX2xpYiIpIGlzIE5vbmUKKy0gICAgICAgIFRydWUKKy0KKy0gICAgIiIi CistCistICAgIGZvciBsaWJuYW1lIGluIGxpYm5hbWVzOgorLSAgICAgICAgc2VhcmNoX2RpcmVj dG9yaWVzOiBMaXN0W1BhdGhdID0gW10KKy0gICAgICAgIHBhdHRlcm5zOiBMaXN0W3N0cl0gPSBb XQorLSAgICAgICAgaWYgc3lzLnBsYXRmb3JtID09ICdjeWd3aW4nOgorLSAgICAgICAgICAgICMg TGF0ZXIgZG93biB3ZSB0YWtlIHRoZSBmaXJzdCBtYXRjaGluZyBETEwgZm91bmQsIHNvIHNlYXJj aAorLSAgICAgICAgICAgICMgU0FHRV9MT0NBTCBmaXJzdCBzbyB0aGF0IGl0IHRha2VzIHByZWNl ZGVuY2UKKy0gICAgICAgICAgICBpZiBTQUdFX0xPQ0FMOgorLSAgICAgICAgICAgICAgICBzZWFy Y2hfZGlyZWN0b3JpZXMuYXBwZW5kKFBhdGgoU0FHRV9MT0NBTCkgLyAnYmluJykKKy0gICAgICAg ICAgICBzZWFyY2hfZGlyZWN0b3JpZXMuYXBwZW5kKFBhdGgoc3lzY29uZmlnLmdldF9jb25maWdf dmFyKCdCSU5ESVInKSkpCistICAgICAgICAgICAgIyBOb3RlOiBUaGUgZm9sbG93aW5nIGlzIG5v dCB2ZXJ5IHJvYnVzdCwgc2luY2UgaWYgdGhlcmUgYXJlIG11bHRpYmxlCistICAgICAgICAgICAg IyB2ZXJzaW9ucyBmb3IgdGhlIHNhbWUgbGlicmFyeSB0aGlzIGp1c3Qgc2VsZWN0cyBvbmUgbW9y ZSBvciBsZXNzCistICAgICAgICAgICAgIyBhdCBhcmJpdHJhcnkuIEhvd2V2ZXIsIHByYWN0aWNh bGx5IHNwZWFraW5nLCBvbiBDeWd3aW4sIHRoZXJlCistICAgICAgICAgICAgIyB3aWxsIG9ubHkg ZXZlciBiZSBvbmUgdmVyc2lvbgorLSAgICAgICAgICAgIHBhdHRlcm5zID0gW2YnY3lne2xpYm5h bWV9LmRsbCcsIGYnY3lne2xpYm5hbWV9LSouZGxsJ10KKy0gICAgICAgIGVsc2U6CistICAgICAg ICAgICAgaWYgc3lzLnBsYXRmb3JtID09ICdkYXJ3aW4nOgorLSAgICAgICAgICAgICAgICBleHQg PSAnZHlsaWInCistICAgICAgICAgICAgZWxzZToKKy0gICAgICAgICAgICAgICAgZXh0ID0gJ3Nv JworLQorLSAgICAgICAgICAgIGlmIFNBR0VfTE9DQUw6CistICAgICAgICAgICAgICAgIHNlYXJj aF9kaXJlY3Rvcmllcy5hcHBlbmQoUGF0aChTQUdFX0xPQ0FMKSAvICdsaWInKQorLSAgICAgICAg ICAgIGxpYmRpciA9IHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcignTElCRElSJykKKy0gICAgICAg ICAgICBpZiBsaWJkaXIgaXMgbm90IE5vbmU6CistICAgICAgICAgICAgICAgIGxpYmRpciA9IFBh dGgobGliZGlyKQorLSAgICAgICAgICAgICAgICBzZWFyY2hfZGlyZWN0b3JpZXMuYXBwZW5kKGxp YmRpcikKKy0KKy0gICAgICAgICAgICAgICAgbXVsdGlhcmNobGliID0gc3lzY29uZmlnLmdldF9j b25maWdfdmFyKCdNVUxUSUFSQ0gnKQorLSAgICAgICAgICAgICAgICBpZiBtdWx0aWFyY2hsaWIg aXMgbm90IE5vbmU6CistICAgICAgICAgICAgICAgICAgICBzZWFyY2hfZGlyZWN0b3JpZXMuYXBw ZW5kKGxpYmRpciAvIG11bHRpYXJjaGxpYiksCistCistICAgICAgICAgICAgcGF0dGVybnMgPSBb ZidsaWJ7bGlibmFtZX0ue2V4dH0nXQorLQorLSAgICAgICAgZm9yIGRpcmVjdG9yeSBpbiBzZWFy Y2hfZGlyZWN0b3JpZXM6CistICAgICAgICAgICAgZm9yIHBhdHRlcm4gaW4gcGF0dGVybnM6Cist ICAgICAgICAgICAgICAgIHBhdGggPSBuZXh0KGRpcmVjdG9yeS5nbG9iKHBhdHRlcm4pLCBOb25l KQorLSAgICAgICAgICAgICAgICBpZiBwYXRoIGlzIG5vdCBOb25lOgorLSAgICAgICAgICAgICAg ICAgICAgcmV0dXJuIHN0cihwYXRoLnJlc29sdmUoKSkKKy0KKy0gICAgIyBKdXN0IHJldHVybiBO b25lIGlmIG5vIGZpbGVzIHdlcmUgZm91bmQKKy0gICAgcmV0dXJuIE5vbmUKKy0KKy0jIGxvY2F0 ZSBsaWJnYXAgc2hhcmVkIG9iamVjdAorLUdBUF9TTyA9IHZhcigiR0FQX1NPIiwgX2dldF9zaGFy ZWRfbGliX3BhdGgoImdhcCIsICIiKSkKKy0KKyAjIHBvc3QgcHJvY2VzcworIGlmIERPVF9TQUdF IGlzIG5vdCBOb25lIGFuZCAnICcgaW4gRE9UX1NBR0U6CisgICAgIGlmIFVOQU1FWzo2XSA9PSAn Q1lHV0lOJzoKK2RpZmYgLS1naXQgYS9zcmMvc2FnZS9ncm91cHMvYWJlbGlhbl9ncHMvYWJlbGlh bl9ncm91cF9nYXAucHkgYi9zcmMvc2FnZS9ncm91cHMvYWJlbGlhbl9ncHMvYWJlbGlhbl9ncm91 cF9nYXAucHkKK2luZGV4IGE0YjA0NzExM2M1Li44NjA5MGI0MzUzNSAxMDA2NDQKKy0tLSBhL3Ny Yy9zYWdlL2dyb3Vwcy9hYmVsaWFuX2dwcy9hYmVsaWFuX2dyb3VwX2dhcC5weQorKysrIGIvc3Jj L3NhZ2UvZ3JvdXBzL2FiZWxpYW5fZ3BzL2FiZWxpYW5fZ3JvdXBfZ2FwLnB5CitAQCAtMzM4LDcg KzMzOCw3IEBAIGRlZiBfZWxlbWVudF9jb25zdHJ1Y3Rvcl8oc2VsZiwgeCwgY2hlY2s9VHJ1ZSk6 CisgICAgICAgICBpZiBpc2luc3RhbmNlKHgsIEFiZWxpYW5Hcm91cEVsZW1lbnRfZ2FwKToKKyAg ICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgIGlmIHggaW4gc2VsZi5fY292ZXI6Cist ICAgICAgICAgICAgICAgICAgICB4ID0gc2VsZi5nYXAoKS5OYXR1cmFsSG9tb21vcnBoaXNtKCku SW1hZ2UoeC5nYXAoKSkKKysgICAgICAgICAgICAgICAgICAgIHggPSBzZWxmLl9jb3Zlci5nYXAo KS5OYXR1cmFsSG9tb21vcnBoaXNtQnlOb3JtYWxTdWJncm91cChzZWxmLl9yZWxhdGlvbnMpLklt YWdlKHguZ2FwKCkpCisgICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAg ICB4ID0geC5nYXAoKQorICAgICAgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKK0BAIC0x MDQzLDcgKzEwNDMsNyBAQCBkZWYgbmF0dXJhbF9ob21vbW9ycGhpc20oc2VsZik6CisgICAgICAg ICAgICAgRnJvbTogQWJlbGlhbiBncm91cCB3aXRoIGdhcCwgZ2VuZXJhdG9yIG9yZGVycyAoNCwp CisgICAgICAgICAgICAgVG86ICAgUXVvdGllbnQgYWJlbGlhbiBncm91cCB3aXRoIGdlbmVyYXRv ciBvcmRlcnMgKDIsKQorICAgICAgICAgIiIiCistICAgICAgICBwaGkgPSBzZWxmLmdhcCgpLk5h dHVyYWxIb21vbW9ycGhpc20oKQorKyAgICAgICAgcGhpID0gc2VsZi5fY292ZXIuZ2FwKCkuTmF0 dXJhbEhvbW9tb3JwaGlzbUJ5Tm9ybWFsU3ViZ3JvdXAoc2VsZi5fcmVsYXRpb25zKQorICAgICAg ICAgSG9tID0gc2VsZi5fY292ZXIuSG9tKHNlbGYpCisgICAgICAgICByZXR1cm4gSG9tKHBoaSkK KyAKK2RpZmYgLS1naXQgYS9zcmMvc2FnZS9ncm91cHMvZmluaXRlbHlfcHJlc2VudGVkLnB5IGIv c3JjL3NhZ2UvZ3JvdXBzL2Zpbml0ZWx5X3ByZXNlbnRlZC5weQoraW5kZXggOGQ2ZTQ0MzY4M2Mu LjFiZWIwMWFmODdmIDEwMDY0NAorLS0tIGEvc3JjL3NhZ2UvZ3JvdXBzL2Zpbml0ZWx5X3ByZXNl bnRlZC5weQorKysrIGIvc3JjL3NhZ2UvZ3JvdXBzL2Zpbml0ZWx5X3ByZXNlbnRlZC5weQorQEAg LTU5Niw5ICs1OTYsOSBAQCBkZWYgZ2FwKHNlbGYpOgorICAgICAgICAgICAgIHNhZ2U6IGsgPSBH LnJld3JpdGluZ19zeXN0ZW0oKQorICAgICAgICAgICAgIHNhZ2U6IGsuZ2FwKCkKKyAgICAgICAg ICAgICBLbnV0aCBCZW5kaXggUmV3cml0aW5nIFN5c3RlbSBmb3IgTW9ub2lkKCBbIGEsIEEsIGIs IEIgXSApIHdpdGggcnVsZXMKKy0gICAgICAgICAgICBbIFsgYV4yLCA8aWRlbnRpdHkgLi4uPiBd LCBbIGEqQSwgPGlkZW50aXR5IC4uLj4gXSwKKy0gICAgICAgICAgICAgIFsgQSphLCA8aWRlbnRp dHkgLi4uPiBdLCBbIGJeMiwgPGlkZW50aXR5IC4uLj4gXSwKKy0gICAgICAgICAgICAgIFsgYipC LCA8aWRlbnRpdHkgLi4uPiBdLCBbIEIqYiwgPGlkZW50aXR5IC4uLj4gXSBdCisrICAgICAgICAg ICAgWyBbIGEqQSwgPGlkZW50aXR5IC4uLj4gXSwgWyBBKmEsIDxpZGVudGl0eSAuLi4+IF0sCisr ICAgICAgICAgICAgICBbIGIqQiwgPGlkZW50aXR5IC4uLj4gXSwgWyBCKmIsIDxpZGVudGl0eSAu Li4+IF0sCisrICAgICAgICAgICAgICBbIGFeMiwgPGlkZW50aXR5IC4uLj4gXSwgWyBiXjIsIDxp ZGVudGl0eSAuLi4+IF0gXQorICAgICAgICAgIiIiCisgICAgICAgICByZXR1cm4gc2VsZi5fZ2Fw CisgCitkaWZmIC0tZ2l0IGEvc3JjL3NhZ2UvZ3JvdXBzL2ZxZl9vcnRob2dvbmFsLnB5IGIvc3Jj L3NhZ2UvZ3JvdXBzL2ZxZl9vcnRob2dvbmFsLnB5CitpbmRleCA3ZmM0ZGJlNzU0OC4uZTVlY2Nk NDU5NDIgMTAwNjQ0CistLS0gYS9zcmMvc2FnZS9ncm91cHMvZnFmX29ydGhvZ29uYWwucHkKKysr KyBiL3NyYy9zYWdlL2dyb3Vwcy9mcWZfb3J0aG9nb25hbC5weQorQEAgLTE0Myw3ICsxNDMsNyBA QCBjbGFzcyBGcWZPcnRob2dvbmFsR3JvdXAoQWJlbGlhbkdyb3VwQXV0b21vcnBoaXNtR3JvdXBf c3ViZ3JvdXApOgorICAgICAgICAgWzIvMyAgIDAgICAwXQorICAgICAgICAgWyAgMCAyLzMgICAw XQorICAgICAgICAgWyAgMCAgIDAgNC8zXQorLSAgICAgICAgZ2VuZXJhdGVkIGJ5IDIgZWxlbWVu dHMKKysgICAgICAgIGdlbmVyYXRlZCBieSAzIGVsZW1lbnRzCisgICAgICAgICBzYWdlOiBxID0g bWF0cml4LmRpYWdvbmFsKFFRLCBbMy8yLCAxLzQsIDEvNF0pCisgICAgICAgICBzYWdlOiBUID0g VG9yc2lvblF1YWRyYXRpY0Zvcm0ocSkKKyAgICAgICAgIHNhZ2U6IFQub3J0aG9nb25hbF9ncm91 cCgpLm9yZGVyKCkKK2RpZmYgLS1naXQgYS9zcmMvc2FnZS9ncm91cHMvbGliZ2FwX3dyYXBwZXIu cHl4IGIvc3JjL3NhZ2UvZ3JvdXBzL2xpYmdhcF93cmFwcGVyLnB5eAoraW5kZXggZDI1MTIxYWE3 OTIuLmRjODFiNzE2MzViIDEwMDY0NAorLS0tIGEvc3JjL3NhZ2UvZ3JvdXBzL2xpYmdhcF93cmFw cGVyLnB5eAorKysrIGIvc3JjL3NhZ2UvZ3JvdXBzL2xpYmdhcF93cmFwcGVyLnB5eAorQEAgLTI1 LDcgKzI1LDcgQEAgTm90ZSBob3cgd2UgY2FsbCB0aGUgY29uc3RydWN0b3Igb2YgYm90aCBzdXBl cmNsYXNzZXMgdG8gaW5pdGlhbGl6ZQorIGl0cyBvdXRwdXQgdmlhIExpYkdBUDo6CisgCisgICAg IHNhZ2U6IEZvb0dyb3VwKCkKKy0gICAgPHBjIGdyb3VwIG9mIHNpemUgMyB3aXRoIDEgZ2VuZXJh dG9ycz4KKysgICAgPHBjIGdyb3VwIG9mIHNpemUgMyB3aXRoIDEgZ2VuZXJhdG9yPgorICAgICBz YWdlOiB0eXBlKEZvb0dyb3VwKCkuZ2FwKCkpCisgICAgIDxjbGFzcyAnc2FnZS5saWJzLmdhcC5l bGVtZW50LkdhcEVsZW1lbnQnPgorIAorQEAgLTEwNiw3ICsxMDYsNyBAQCBjbGFzcyBQYXJlbnRM aWJHQVAoU2FnZU9iamVjdCk6CisgICAgICAgICAuLi4uOiAgICAgICAgIFBhcmVudExpYkdBUC5f X2luaXRfXyhzZWxmLCBsZykKKyAgICAgICAgIC4uLi46ICAgICAgICAgR3JvdXAuX19pbml0X18o c2VsZikKKyAgICAgICAgIHNhZ2U6IEZvb0dyb3VwKCkKKy0gICAgICAgIDxwYyBncm91cCBvZiBz aXplIDMgd2l0aCAxIGdlbmVyYXRvcnM+CisrICAgICAgICA8cGMgZ3JvdXAgb2Ygc2l6ZSAzIHdp dGggMSBnZW5lcmF0b3I+CisgICAgICIiIgorIAorICAgICBkZWYgX19pbml0X18oc2VsZiwgbGli Z2FwX3BhcmVudCwgYW1iaWVudD1Ob25lKToKK0BAIC00NjEsNyArNDYxLDcgQEAgY2RlZiBjbGFz cyBFbGVtZW50TGliR0FQKE11bHRpcGxpY2F0aXZlR3JvdXBFbGVtZW50KToKKyAgICAgICAgIC4u Li46ICAgICAgICAgUGFyZW50TGliR0FQLl9faW5pdF9fKHNlbGYsIGxnKQorICAgICAgICAgLi4u LjogICAgICAgICBHcm91cC5fX2luaXRfXyhzZWxmKQorICAgICAgICAgc2FnZTogRm9vR3JvdXAo KQorLSAgICAgICAgPHBjIGdyb3VwIG9mIHNpemUgMyB3aXRoIDEgZ2VuZXJhdG9ycz4KKysgICAg ICAgIDxwYyBncm91cCBvZiBzaXplIDMgd2l0aCAxIGdlbmVyYXRvcj4KKyAgICAgICAgIHNhZ2U6 IEZvb0dyb3VwKCkuZ2VucygpCisgICAgICAgICAoZjEsKQorICAgICAiIiIKK2RpZmYgLS1naXQg YS9zcmMvc2FnZS9ncm91cHMvbWF0cml4X2dwcy9maW5pdGVseV9nZW5lcmF0ZWQucHkgYi9zcmMv c2FnZS9ncm91cHMvbWF0cml4X2dwcy9maW5pdGVseV9nZW5lcmF0ZWQucHkKK2luZGV4IGE2ZDNk YzAyNTEzLi42Mzk1NmFkNWYxMCAxMDA2NDQKKy0tLSBhL3NyYy9zYWdlL2dyb3Vwcy9tYXRyaXhf Z3BzL2Zpbml0ZWx5X2dlbmVyYXRlZC5weQorKysrIGIvc3JjL3NhZ2UvZ3JvdXBzL21hdHJpeF9n cHMvZmluaXRlbHlfZ2VuZXJhdGVkLnB5CitAQCAtNTYzLDkgKzU2Myw2IEBAIGRlZiBhc19wZXJt dXRhdGlvbl9ncm91cChzZWxmLCBhbGdvcml0aG09Tm9uZSwgc2VlZD1Ob25lKToKKyAgICAgICAg ICAgICAyMTQ5OTA4NDgwMAorICAgICAgICAgICAgIHNhZ2U6IFAgPSBHLmFzX3Blcm11dGF0aW9u X2dyb3VwKCkKKyAgICAgICAgICAgICBzYWdlOiBQc21hbGxlciA9IEcuYXNfcGVybXV0YXRpb25f Z3JvdXAoYWxnb3JpdGhtPSJzbWFsbGVyIiwgc2VlZD02KQorLSAgICAgICAgICAgIHNhZ2U6IFAg PT0gUHNtYWxsZXIgICMgc2VlIHRoZSBub3RlIGJlbG93CistICAgICAgICAgICAgVHJ1ZQorLSAg ICAgICAgICAgIHNhZ2U6IFBzbWFsbGVyID0gRy5hc19wZXJtdXRhdGlvbl9ncm91cChhbGdvcml0 aG09InNtYWxsZXIiKQorICAgICAgICAgICAgIHNhZ2U6IFAgPT0gUHNtYWxsZXIKKyAgICAgICAg ICAgICBGYWxzZQorICAgICAgICAgICAgIHNhZ2U6IFAuY2FyZGluYWxpdHkoKQorZGlmZiAtLWdp dCBhL3NyYy9zYWdlL2dyb3Vwcy9wZXJtX2dwcy9wYXJ0bl9yZWYyL3JlZmluZW1lbnRfZ2VuZXJp Yy5weXggYi9zcmMvc2FnZS9ncm91cHMvcGVybV9ncHMvcGFydG5fcmVmMi9yZWZpbmVtZW50X2dl bmVyaWMucHl4CitpbmRleCBmMmNjY2EwNDJhYy4uNDdkNjg2MjMzM2MgMTAwNjQ0CistLS0gYS9z cmMvc2FnZS9ncm91cHMvcGVybV9ncHMvcGFydG5fcmVmMi9yZWZpbmVtZW50X2dlbmVyaWMucHl4 CisrKysgYi9zcmMvc2FnZS9ncm91cHMvcGVybV9ncHMvcGFydG5fcmVmMi9yZWZpbmVtZW50X2dl bmVyaWMucHl4CitAQCAtNDI3LDcgKzQyNyw3IEBAIGNkZWYgY2xhc3MgTGFiZWxsZWRCcmFuY2hp bmc6CisgICAgICAgICAgICAgc2FnZTogZnJvbSBzYWdlLmdyb3Vwcy5wZXJtX2dwcy5wYXJ0bl9y ZWYyLnJlZmluZW1lbnRfZ2VuZXJpYyBpbXBvcnQgTGFiZWxsZWRCcmFuY2hpbmcKKyAgICAgICAg ICAgICBzYWdlOiBMID0gTGFiZWxsZWRCcmFuY2hpbmcoMykKKyAgICAgICAgICAgICBzYWdlOiBM LnNtYWxsX2dlbmVyYXRpbmdfc2V0KCkKKy0gICAgICAgICAgICBbXQorKyAgICAgICAgICAgIFso KV0KKyAgICAgICAgICAgICBzYWdlOiBMLmFkZF9nZW4obGliZ2FwLmV2YWwoJygxLDIsMyknKSkK KyAgICAgICAgICAgICBzYWdlOiBMLnNtYWxsX2dlbmVyYXRpbmdfc2V0KCkKKyAgICAgICAgICAg ICBbKDEsMiwzKV0KK2RpZmYgLS1naXQgYS9zcmMvc2FnZS9ncm91cHMvcGVybV9ncHMvcGVybWdy b3VwLnB5IGIvc3JjL3NhZ2UvZ3JvdXBzL3Blcm1fZ3BzL3Blcm1ncm91cC5weQoraW5kZXggZWJk ZjdjNGM2ZWIuLmZiMTQwMDhjOGUwIDEwMDY0NAorLS0tIGEvc3JjL3NhZ2UvZ3JvdXBzL3Blcm1f Z3BzL3Blcm1ncm91cC5weQorKysrIGIvc3JjL3NhZ2UvZ3JvdXBzL3Blcm1fZ3BzL3Blcm1ncm91 cC5weQorQEAgLTkyNiw3ICs5MjYsNyBAQCBkZWYgX2NvZXJjZV9tYXBfZnJvbV8oc2VsZiwgRyk6 CisgICAgICAgICAgICBzYWdlOiBmID0gUEcuX2NvZXJjZV9tYXBfZnJvbV8oTUcpCisgICAgICAg ICAgICBzYWdlOiBtZyA9IE1HLmFuX2VsZW1lbnQoKQorICAgICAgICAgICAgc2FnZTogcCA9IGYo bWcpOyBwCistICAgICAgICAgICAoMiwzMywzMiwyMywzMSw1NSkoMyw0OSwzOCw0NCw0MCwyOCko NCwxNyw1OSw2Miw1OCw0NikoNSwyMSw0NywyMCw0Myw4KSg2LDUzLDUwKSg3LDM3LDEyLDU3LDE0 LDI5KSg5LDQxLDU2LDM0LDY0LDEwKSgxMSwyNSwxOSkoMTMsNjEsMjYsNTEsMjIsMTUpKDE2LDQ1 LDM2KSgxOCwyNywzNSw0OCw1Miw1NCkoMjQsNjMsNDIpKDMwLDM5LDYwKQorKyAgICAgICAgICAg KDEsMiw2LDE5LDM1LDMzKSgzLDksMjYsMTQsMzEsMjMpKDQsMTMsNSkoNywyMiwxNykoOCwyNCwx MikoMTAsMTYsMzIsMjcsMjAsMjgpKDExLDMwLDE4KSgxNSwyNSwzNiwzNCwyOSwyMSkKKyAgICAg ICAgICAgIHNhZ2U6IFBHKHAuX2dhcF8oKSkgPT0gcAorICAgICAgICAgICAgVHJ1ZQorIAorQEAg LTk3MiwxMiArOTcyLDEyIEBAIGRlZiBfY29lcmNlX21hcF9mcm9tXyhzZWxmLCBHKToKKyAgICAg ICAgICAgICBzYWdlOiBQID0gRy5hc19wZXJtdXRhdGlvbl9ncm91cChhbGdvcml0aG09J3NtYWxs ZXInLCBzZWVkPTUpCisgICAgICAgICAgICAgc2FnZTogUDEgPSBHLmFzX3Blcm11dGF0aW9uX2dy b3VwKCkKKyAgICAgICAgICAgICBzYWdlOiBQID09IFAxCistICAgICAgICAgICAgRmFsc2UKKysg ICAgICAgICAgICBUcnVlCisgICAgICAgICAgICAgc2FnZTogZzEsIGcyLCBnMyA9IEcuZ2Vucygp CisgICAgICAgICAgICAgc2FnZTogUChnMSpnMikKKy0gICAgICAgICAgICAoMSwzLDcsMTIpKDIs NCw4LDEwKSg1LDExKSg2LDkpCisrICAgICAgICAgICAgKDEsNCwxMywxMSkoMiw1LDE0LDE4KSgz LDE1LDgsMTYpKDYsNykoOSwyMCwxOSwxMikoMTAsMTcpCisgICAgICAgICAgICAgc2FnZTogUDEo ZzEqZzIpCistICAgICAgICAgICAgKDIsMjksMjUsNjgpKDMsNTcsMTMsNTQpKDQsMTEsNzIsMzcp KDUsMzksNjAsMjMpKDYsNjQsNzUsNjMpKDcsMjEsNTAsNzMpKDgsNDYsMzgsMzIpKDksNzQsMzUs MTgpKDEwLDQ0LDQ5LDQ4KSgxMiwxNiwzNCw3MSkoMTQsNzksMjcsNDApKDE1LDI2KSgxNyw2Miw1 OSw3NikoMTksNzgsNzAsNjUpKDIwLDIyLDU4LDUxKSgyNCwzMywzNiw0MykoMjgsODEsODAsNTIp KDMwLDUzLDU2LDY5KSgzMSw2MSkoNDEsNDIsNjcsNTUpKDQ1LDc3KSg0Nyw2NikKKysgICAgICAg ICAgICAoMSw0LDEzLDExKSgyLDUsMTQsMTgpKDMsMTUsOCwxNikoNiw3KSg5LDIwLDE5LDEyKSgx MCwxNykKKyAKKyAgICAgICAgIEFub3RoZXIgY2hlY2sgZm9yIDp0cmFjOmA1NTgzYDo6CisgCitA QCAtMTMwMiw3ICsxMzAyLDcgQEAgZGVmIGdlbnNfc21hbGwoc2VsZik6CisgICAgICAgICAgICAg c2FnZTogRy5nZW5zX3NtYWxsKCkgIyByYW5kb20KKyAgICAgICAgICAgICBbKCdiJywnYycpLCAo J2EnLCdjJywnYicpXSAjIyAob24gNjQtYml0IExpbnV4KQorICAgICAgICAgICAgIFsoJ2EnLCdi JyksICgnYScsJ2MnLCdiJyldICMjIChvbiBTb2xhcmlzKQorLSAgICAgICAgICAgIHNhZ2U6IGxl bihHLmdlbnNfc21hbGwoKSkgPT0gMgorKyAgICAgICAgICAgIHNhZ2U6IGxlbihHLmdlbnNfc21h bGwoKSkgPT0gMiAjIHJhbmRvbQorICAgICAgICAgICAgIFRydWUKKyAgICAgICAgICIiIgorICAg ICAgICAgZ2VucyA9IHNlbGYuX2xpYmdhcF8oKS5TbWFsbEdlbmVyYXRpbmdTZXQoKQorQEAgLTQz NzAsMTcgKzQzNzAsMjMgQEAgZGVmIGlzX3RyYW5zaXRpdmUoc2VsZiwgZG9tYWluPU5vbmUpOgor IAorICAgICAgICAgOjoKKyAKKy0gICAgICAgICAgICBzYWdlOiBHID0gUGVybXV0YXRpb25Hcm91 cChbWygxLDIsMyw0LDUpXSxbKDEsMildXSkgI1NfNSBvbiBbMS4uNV0KKy0gICAgICAgICAgICBz YWdlOiBHLmlzX3RyYW5zaXRpdmUoWzEsNCw1XSkKKysgICAgICAgICAgICBzYWdlOiBHID0gUGVy bXV0YXRpb25Hcm91cChbWygxLDIsMyw0LDUpXSxbKDEsMildLFsoNiw3KV1dKQorKyAgICAgICAg ICAgIHNhZ2U6IEcuaXNfdHJhbnNpdGl2ZShbMSwyLDMsNCw1XSkKKyAgICAgICAgICAgICBUcnVl CistICAgICAgICAgICAgc2FnZTogRy5pc190cmFuc2l0aXZlKFsyLi42XSkKKysgICAgICAgICAg ICBzYWdlOiBHLmlzX3RyYW5zaXRpdmUoWzEuLjddKQorICAgICAgICAgICAgIEZhbHNlCisgICAg ICAgICAgICAgc2FnZTogRy5pc190cmFuc2l0aXZlKEcubm9uX2ZpeGVkX3BvaW50cygpKQorLSAg ICAgICAgICAgIFRydWUKKysgICAgICAgICAgICBGYWxzZQorICAgICAgICAgICAgIHNhZ2U6IEgg PSBQZXJtdXRhdGlvbkdyb3VwKFtbKDEsMiwzKV0sWyg0LDUsNildXSkKKyAgICAgICAgICAgICBz YWdlOiBILmlzX3RyYW5zaXRpdmUoSC5ub25fZml4ZWRfcG9pbnRzKCkpCisgICAgICAgICAgICAg RmFsc2UKKyAKKysgICAgICAgIElmIGBHYCBkb2VzIG5vdCBhY3Qgb24gdGhlIGRvbWFpbiwgaXQg YWx3YXlzIHJldHVybnMgYGBGYWxzZWBgOjoKKysKKysgICAgICAgICAgICBzYWdlOiBHID0gUGVy bXV0YXRpb25Hcm91cChbWygxLDIsMyw0LDUpXSxbKDEsMildXSkgI1NfNSBvbiBbMS4uNV0KKysg ICAgICAgICAgICBzYWdlOiBHLmlzX3RyYW5zaXRpdmUoWzEsNCw1XSkKKysgICAgICAgICAgICBG YWxzZQorKworICAgICAgICAgTm90ZSB0aGF0IHRoaXMgZGlmZmVycyBmcm9tIHRoZSBkZWZpbml0 aW9uIGluIEdBUCwgd2hlcmUKKyAgICAgICAgIGBgSXNUcmFuc2l0aXZlYGAgcmV0dXJucyB3aGV0 aGVyIHRoZSBncm91cCBpcyB0cmFuc2l0aXZlIG9uIHRoZQorICAgICAgICAgc2V0IG9mIHBvaW50 cyBtb3ZlZCBieSB0aGUgZ3JvdXAuCitAQCAtNDQzNiwxMiArNDQ0MiwxNiBAQCBkZWYgaXNfcHJp bWl0aXZlKHNlbGYsIGRvbWFpbj1Ob25lKToKKyAgICAgICAgICAgICBzYWdlOiBHID0gUGVybXV0 YXRpb25Hcm91cChbWygxLDIsMyw0KV0sWygyLDQpXV0pCisgICAgICAgICAgICAgc2FnZTogRy5p c19wcmltaXRpdmUoWzEuLjRdKQorICAgICAgICAgICAgIEZhbHNlCistICAgICAgICAgICAgc2Fn ZTogRy5pc19wcmltaXRpdmUoWzEsMiwzXSkKKy0gICAgICAgICAgICBUcnVlCisgICAgICAgICAg ICAgc2FnZTogRyA9IFBlcm11dGF0aW9uR3JvdXAoW1soMyw0LDUsNildLFsoMyw0KV1dKSAjU180 IG9uIFszLi42XQorICAgICAgICAgICAgIHNhZ2U6IEcuaXNfcHJpbWl0aXZlKEcubm9uX2ZpeGVk X3BvaW50cygpKQorICAgICAgICAgICAgIFRydWUKKyAKKysgICAgICAgIElmIGBHYCBkb2VzIG5v dCBhY3Qgb24gdGhlIGRvbWFpbiwgaXQgYWx3YXlzIHJldHVybnMgYGBGYWxzZWBgOjoKKysKKysg ICAgICAgICAgICBzYWdlOiBHID0gUGVybXV0YXRpb25Hcm91cChbWygxLDIsMyw0KV0sWygyLDQp XV0pCisrICAgICAgICAgICAgc2FnZTogRy5pc19wcmltaXRpdmUoWzEsMiwzXSkKKysgICAgICAg ICAgICBGYWxzZQorKworICAgICAgICAgIiIiCisgICAgICAgICAjSWYgdGhlIGRvbWFpbiBpcyBu b3QgYSBzdWJzZXQgb2Ygc2VsZi5kb21haW4oKSwgdGhlbiB0aGUKKyAgICAgICAgICNhY3Rpb24g aXNuJ3QgcHJpbWl0aXZlLgorZGlmZiAtLWdpdCBhL3NyYy9zYWdlL2ludGVyZmFjZXMvZ2FwLnB5 IGIvc3JjL3NhZ2UvaW50ZXJmYWNlcy9nYXAucHkKK2luZGV4IDdhZTE3OTJlOWRlLi5lY2FhOWZk MjM0MSAxMDA2NDQKKy0tLSBhL3NyYy9zYWdlL2ludGVyZmFjZXMvZ2FwLnB5CisrKysgYi9zcmMv c2FnZS9pbnRlcmZhY2VzL2dhcC5weQorQEAgLTE1MTIsNiArMTUxMiw4IEBAIGRlZiBnYXBfcmVz ZXRfd29ya3NwYWNlKG1heF93b3Jrc3BhY2Vfc2l6ZT1Ob25lLCB2ZXJib3NlPUZhbHNlKToKKyAg ICAgIiIiCisgICAgICMgQ3JlYXRlIG5ldyB3b3Jrc3BhY2Ugd2l0aCBmaWxlbmFtZSBXT1JLU1BB Q0UKKyAgICAgZyA9IEdhcCh1c2Vfd29ya3NwYWNlX2NhY2hlPUZhbHNlLCBtYXhfd29ya3NwYWNl X3NpemU9Tm9uZSkKKysgICAgZy5ldmFsKCdDb2xvclByb21wdChmYWxzZSknKQorKyAgICBnLmV2 YWwoJ1NldFVzZXJQcmVmZXJlbmNlKCJVc2VDb2xvclByb21wdCIsIGZhbHNlKScpCisgICAgIGcu ZXZhbCgnU2V0VXNlclByZWZlcmVuY2UoIkhpc3RvcnlNYXhMaW5lcyIsIDMwKScpCisgICAgIGZy b20gc2FnZS50ZXN0cy5nYXBfcGFja2FnZXMgaW1wb3J0IGFsbF9pbnN0YWxsZWRfcGFja2FnZXMK KyAgICAgZm9yIHBrZyBpbiBhbGxfaW5zdGFsbGVkX3BhY2thZ2VzKGdhcD1nKToKK2RpZmYgLS1n aXQgYS9zcmMvc2FnZS9pbnRlcmZhY2VzL2dhcF93b3Jrc3BhY2UucHkgYi9zcmMvc2FnZS9pbnRl cmZhY2VzL2dhcF93b3Jrc3BhY2UucHkKK2luZGV4IDMzYTg3ZGQ1MDc2Li4wM2I0MGJlNjg1NiAx MDA2NDQKKy0tLSBhL3NyYy9zYWdlL2ludGVyZmFjZXMvZ2FwX3dvcmtzcGFjZS5weQorKysrIGIv c3JjL3NhZ2UvaW50ZXJmYWNlcy9nYXBfd29ya3NwYWNlLnB5CitAQCAtMTYsNyArMTYsOCBAQAor IGltcG9ydCBvcworIGltcG9ydCB0aW1lCisgaW1wb3J0IGhhc2hsaWIKKy1mcm9tIHNhZ2UuZW52 IGltcG9ydCBET1RfU0FHRSwgR0FQX1NPCisraW1wb3J0IHN1YnByb2Nlc3MKKytmcm9tIHNhZ2Uu ZW52IGltcG9ydCBET1RfU0FHRSwgSE9TVE5BTUUsIEdBUF9MSUJfRElSLCBHQVBfU0hBUkVfRElS CisgCisgCisgZGVmIGdhcF93b3Jrc3BhY2VfZmlsZShzeXN0ZW09ImdhcCIsIG5hbWU9Indvcmtz cGFjZSIsIGRpcj1Ob25lKToKK0BAIC01OSwxMSArNjAsMTMgQEAgZGVmIGdhcF93b3Jrc3BhY2Vf ZmlsZShzeXN0ZW09ImdhcCIsIG5hbWU9IndvcmtzcGFjZSIsIGRpcj1Ob25lKToKKyAgICAgaWYg ZGlyIGlzIE5vbmU6CisgICAgICAgICBkaXIgPSBvcy5wYXRoLmpvaW4oRE9UX1NBR0UsICdnYXAn KQorIAorLSAgICBpZiBHQVBfU086CistICAgICAgICBoID0gaGFzaGxpYi5zaGExKEdBUF9TTy5l bmNvZGUoJ3V0Zi04JykpLmhleGRpZ2VzdCgpCistICAgIGVsc2U6CistICAgICAgICBoID0gJ3Vu a25vd24nCistICAgIHJldHVybiBvcy5wYXRoLmpvaW4oZGlyLCAnJXMtJXMtJXMnICUgKHN5c3Rl bSwgbmFtZSwgaCkpCisrICAgIGRhdGEgPSBmJ3tHQVBfTElCX0RJUn06e0dBUF9TSEFSRV9ESVJ9 JworKyAgICBmb3IgcGF0aCBpbiBHQVBfTElCX0RJUiwgR0FQX1NIQVJFX0RJUjoKKysgICAgICAg IHN5c2luZm8gPSBvcy5wYXRoLmpvaW4ocGF0aCwgInN5c2luZm8uZ2FwIikKKysgICAgICAgIGlm IG9zLnBhdGguZXhpc3RzKHN5c2luZm8pOgorKyAgICAgICAgICAgIGRhdGEgKz0gc3VicHJvY2Vz cy5nZXRvdXRwdXQoZicuICJ7c3lzaW5mb30iICYmIGVjaG8gIjokR0FQX1ZFUlNJT046JEdBUGFy Y2giJykKKysgICAgaCA9IGhhc2hsaWIuc2hhMShkYXRhLmVuY29kZSgndXRmLTgnKSkuaGV4ZGln ZXN0KCkKKysgICAgcmV0dXJuIG9zLnBhdGguam9pbihkaXIsIGYne3N5c3RlbX0te25hbWV9LXtI T1NUTkFNRX0te2h9JykKKyAKKyAKKyBkZWYgcHJlcGFyZV93b3Jrc3BhY2VfZGlyKGRpcj1Ob25l KToKK2RpZmYgLS1naXQgYS9zcmMvc2FnZS9saWJzL2dhcC9lbGVtZW50LnB5eCBiL3NyYy9zYWdl L2xpYnMvZ2FwL2VsZW1lbnQucHl4CitpbmRleCBjNTU1ZWEwMzMzYy4uZTNkYjM5MzRiYWYgMTAw NjQ0CistLS0gYS9zcmMvc2FnZS9saWJzL2dhcC9lbGVtZW50LnB5eAorKysrIGIvc3JjL3NhZ2Uv bGlicy9nYXAvZWxlbWVudC5weXgKK0BAIC0xMzAsNiArMTMwLDcgQEAgY2RlZiBjaGFyICpjYXB0 dXJlX3N0ZG91dChPYmogZnVuYywgT2JqIG9iaik6CisgICAgICIiIgorICAgICBjZGVmIE9iaiBz LCBzdHJlYW0sIG91dHB1dF90ZXh0X3N0cmluZworICAgICBjZGVmIFVJbnQgcmVzCisrICAgIGNk ZWYgVHlwT3V0cHV0RmlsZSBvdXRwdXQKKyAgICAgIyBUaGUgb25seSB3YXkgdG8gZ2V0IGEgc3Ry aW5nIHJlcHJlc2VudGF0aW9uIG9mIGFuIG9iamVjdCB0aGF0IGlzIHRydWx5CisgICAgICMgY29u c2lzdGVudCB3aXRoIGhvdyBpdCB3b3VsZCBiZSByZXByZXNlbnRlZCBhdCB0aGUgR0FQIFJFUEwg aXMgdG8gY2FsbAorICAgICAjIFZpZXdPYmogb24gaXQuICBVbmZvcnR1bmF0ZWx5LCBWaWV3T2Jq ICpwcmludHMqIHRvIHRoZSBvdXRwdXQgc3RyZWFtLAorQEAgLTE0NSwxMiArMTQ2LDEyIEBAIGNk ZWYgY2hhciAqY2FwdHVyZV9zdGRvdXQoT2JqIGZ1bmMsIE9iaiBvYmopOgorICAgICAgICAgb3V0 cHV0X3RleHRfc3RyaW5nID0gR0FQX1ZhbHVlR2xvYmFsVmFyaWFibGUoIk91dHB1dFRleHRTdHJp bmciKQorICAgICAgICAgc3RyZWFtID0gQ0FMTF8yQVJHUyhvdXRwdXRfdGV4dF9zdHJpbmcsIHMs IEdBUF9UcnVlKQorIAorLSAgICAgICAgaWYgbm90IE9wZW5PdXRwdXRTdHJlYW0oc3RyZWFtKToK KysgICAgICAgIGlmIG5vdCBPcGVuT3V0cHV0U3RyZWFtKCZvdXRwdXQsIHN0cmVhbSk6CisgICAg ICAgICAgICAgcmFpc2UgR0FQRXJyb3IoImZhaWxlZCB0byBvcGVuIG91dHB1dCBjYXB0dXJlIHN0 cmVhbSBmb3IgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXByZXNlbnRpbmcgR0FQ IG9iamVjdCIpCisgCisgICAgICAgICBDQUxMXzFBUkdTKGZ1bmMsIG9iaikKKy0gICAgICAgIENs b3NlT3V0cHV0KCkKKysgICAgICAgIENsb3NlT3V0cHV0KCZvdXRwdXQpCisgICAgICAgICByZXR1 cm4gQ1NUUl9TVFJJTkcocykKKyAgICAgZmluYWxseToKKyAgICAgICAgIEdBUF9MZWF2ZSgpCitk aWZmIC0tZ2l0IGEvc3JjL3NhZ2UvbGlicy9nYXAvZ2FwX2luY2x1ZGVzLnB4ZCBiL3NyYy9zYWdl L2xpYnMvZ2FwL2dhcF9pbmNsdWRlcy5weGQKK2luZGV4IDZkMjJlMzI1NDBiLi42MTExZDE4YTVj NyAxMDA2NDQKKy0tLSBhL3NyYy9zYWdlL2xpYnMvZ2FwL2dhcF9pbmNsdWRlcy5weGQKKysrKyBi L3NyYy9zYWdlL2xpYnMvZ2FwL2dhcF9pbmNsdWRlcy5weGQKK0BAIC03Niw4ICs3NiwxMCBAQCBj ZGVmIGV4dGVybiBmcm9tICJnYXAvaW50b2JqLmgiIG5vZ2lsOgorIAorIAorIGNkZWYgZXh0ZXJu IGZyb20gImdhcC9pby5oIiBub2dpbDoKKy0gICAgVUludCBPcGVuT3V0cHV0U3RyZWFtKE9iaiBz dHJlYW0pCistICAgIFVJbnQgQ2xvc2VPdXRwdXQoKQorKyAgICBjdHlwZWRlZiBzdHJ1Y3QgVHlw T3V0cHV0RmlsZToKKysgICAgICAgIHBhc3MKKysgICAgVUludCBPcGVuT3V0cHV0U3RyZWFtKFR5 cE91dHB1dEZpbGUqIG91dHB1dCwgT2JqIHN0cmVhbSkKKysgICAgVUludCBDbG9zZU91dHB1dChU eXBPdXRwdXRGaWxlKiBvdXRwdXQpCisgCisgCisgY2RlZiBleHRlcm4gZnJvbSAiZ2FwL2xpYmdh cC1hcGkuaCIgbm9naWw6CitkaWZmIC0tZ2l0IGEvc3JjL3NhZ2UvbGlicy9nYXAvbGliZ2FwLnB5 eCBiL3NyYy9zYWdlL2xpYnMvZ2FwL2xpYmdhcC5weXgKK2luZGV4IGIxYTY0ZTU3OTM5Li42YTM2 NjEzYWE4YyAxMDA2NDQKKy0tLSBhL3NyYy9zYWdlL2xpYnMvZ2FwL2xpYmdhcC5weXgKKysrKyBi L3NyYy9zYWdlL2xpYnMvZ2FwL2xpYmdhcC5weXgKK0BAIC02OTUsNyArNjk1LDcgQEAgY2xhc3Mg R2FwKFBhcmVudCk6CisgICAgICAgICAgICAgc2FnZTogbGliZ2FwLkxpc3QKKyAgICAgICAgICAg ICA8R2FwIGZ1bmN0aW9uICJMaXN0Ij4KKyAgICAgICAgICAgICBzYWdlOiBsaWJnYXAuR2xvYmFs UmFuZG9tU291cmNlCistICAgICAgICAgICAgPFJhbmRvbVNvdXJjZSBpbiBJc0dsb2JhbFJhbmRv bVNvdXJjZT4KKysgICAgICAgICAgICA8UmFuZG9tU291cmNlIGluIElzR0FQUmFuZG9tU291cmNl PgorICAgICAgICAgIiIiCisgICAgICAgICBpZiBuYW1lIGluIGRpcihzZWxmLl9fY2xhc3NfXyk6 CisgICAgICAgICAgICAgcmV0dXJuIGdldGF0dHIoc2VsZi5fX2NsYXNzX18sIG5hbWUpCitkaWZm IC0tZ2l0IGEvc3JjL3NhZ2UvbGlicy9nYXAvc2F2ZWRfd29ya3NwYWNlLnB5IGIvc3JjL3NhZ2Uv bGlicy9nYXAvc2F2ZWRfd29ya3NwYWNlLnB5CitpbmRleCBhZDVhZGVjMzZkMC4uNzYzNjcwN2Y1 NTcgMTAwNjQ0CistLS0gYS9zcmMvc2FnZS9saWJzL2dhcC9zYXZlZF93b3Jrc3BhY2UucHkKKysr KyBiL3NyYy9zYWdlL2xpYnMvZ2FwL3NhdmVkX3dvcmtzcGFjZS5weQorQEAgLTgsNyArOCw3IEBA CisgCisgaW1wb3J0IG9zCisgaW1wb3J0IGdsb2IKKy1mcm9tIHNhZ2UuZW52IGltcG9ydCBHQVBf Uk9PVF9ESVIKKytmcm9tIHNhZ2UuZW52IGltcG9ydCBHQVBfTElCX0RJUgorIGZyb20gc2FnZS5p bnRlcmZhY2VzLmdhcF93b3Jrc3BhY2UgaW1wb3J0IGdhcF93b3Jrc3BhY2VfZmlsZQorIAorIAor QEAgLTMxLDcgKzMxLDcgQEAgZGVmIHRpbWVzdGFtcCgpOgorICAgICAiIiIKKyAgICAgbGliZ2Fw X2RpciA9IG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXykKKyAgICAgbGliZ2FwX2ZpbGVzID0gZ2xv Yi5nbG9iKG9zLnBhdGguam9pbihsaWJnYXBfZGlyLCAnKicpKQorLSAgICBnYXBfcGFja2FnZXMg PSBnbG9iLmdsb2Iob3MucGF0aC5qb2luKEdBUF9ST09UX0RJUiwgJ3BrZycsICcqJykpCisrICAg IGdhcF9wYWNrYWdlcyA9IGdsb2IuZ2xvYihvcy5wYXRoLmpvaW4oR0FQX0xJQl9ESVIsICdwa2cn LCAnKicpKQorICAgICBmaWxlcyA9IGxpYmdhcF9maWxlcyArIGdhcF9wYWNrYWdlcworICAgICBp ZiBsZW4oZmlsZXMpID09IDA6CisgICAgICAgICBwcmludCgnVW5hYmxlIHRvIGZpbmQgTGliR0FQ IGZpbGVzLicpCitkaWZmIC0tZ2l0IGEvc3JjL3NhZ2UvbGlicy9nYXAvdXRpbC5weXggYi9zcmMv c2FnZS9saWJzL2dhcC91dGlsLnB5eAoraW5kZXggMzQ0YWI4OGM0MmEuLmVhYTY1OWQ2NGM3IDEw MDY0NAorLS0tIGEvc3JjL3NhZ2UvbGlicy9nYXAvdXRpbC5weXgKKysrKyBiL3NyYy9zYWdlL2xp YnMvZ2FwL3V0aWwucHl4CitAQCAtMTMsNyArMTMsNyBAQCBVdGlsaXR5IGZ1bmN0aW9ucyBmb3Ig R0FQCisgIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqCisgCisgZnJvbSBsaWJjLnNpZ25hbCBjaW1wb3J0 IHNpZ25hbCwgU0lHQ0hMRCwgU0lHX0RGTAorLWZyb20gcG9zaXguZGxmY24gY2ltcG9ydCBkbG9w ZW4sIGRsY2xvc2UsIFJUTERfTk9XLCBSVExEX0dMT0JBTAorK2Zyb20gcG9zaXguZGxmY24gY2lt cG9ydCBkbG9wZW4sIGRsY2xvc2UsIGRsZXJyb3IsIFJUTERfTEFaWSwgUlRMRF9HTE9CQUwKKyAK KyBmcm9tIGNweXRob24uZXhjIGNpbXBvcnQgUHlFcnJfRmV0Y2gsIFB5RXJyX1Jlc3RvcmUKKyBm cm9tIGNweXRob24ub2JqZWN0IGNpbXBvcnQgUHlfTFQsIFB5X0xFLCBQeV9FUSwgUHlfTkUsIFB5 X0dULCBQeV9HRQorQEAgLTE2NCwzMyArMTY0LDYgQEAgY2RlZiB2b2lkIGdhc21hbl9jYWxsYmFj aygpIHdpdGggZ2lsOgorICMjIyBJbml0aWFsaXphdGlvbiBvZiBHQVAgIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyAjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj CisgCistZGVmIGdhcF9yb290KCk6CistICAgICIiIgorLSAgICBGaW5kIHRoZSBsb2NhdGlvbiBv ZiB0aGUgR0FQIHJvb3QgaW5zdGFsbCB3aGljaCBpcyBzdG9yZWQgaW4gdGhlIGdhcAorLSAgICBz dGFydHVwIHNjcmlwdC4KKy0KKy0gICAgRVhBTVBMRVM6OgorLQorLSAgICAgICAgc2FnZTogZnJv bSBzYWdlLmxpYnMuZ2FwLnV0aWwgaW1wb3J0IGdhcF9yb290CistICAgICAgICBzYWdlOiBnYXBf cm9vdCgpICAgIyByYW5kb20gb3V0cHV0CistICAgICAgICAnL2hvbWUvdmJyYXVuL29wdC9zYWdl LTUuMy5yYzAvbG9jYWwvZ2FwL2xhdGVzdCcKKy0gICAgIiIiCistICAgIGlmIG9zLnBhdGguZXhp c3RzKHNhZ2UuZW52LkdBUF9ST09UX0RJUik6CistICAgICAgICByZXR1cm4gc2FnZS5lbnYuR0FQ X1JPT1RfRElSCistCistICAgICMgQXR0ZW1wdCB0byBmaWd1cmUgb3V0IHRoZSBhcHByb3ByaWF0 ZSBHQVBfUk9PVCBieSByZWFkaW5nIHRoZQorLSAgICAjIGxvY2FsL2Jpbi9nYXAgc2hlbGwgc2Ny aXB0OyB0aGlzIGlzIGFuIHVnbHkgaGFjayB0aGF0IGV4aXN0cyBmb3IKKy0gICAgIyBoaXN0b3Jp Y2FsIHJlYXNvbnM7IHRoZSBiZXN0IGFwcHJvYWNoIHRvIHNldHRpbmcgd2hlcmUgU2FnZSBsb29r cyBmb3IKKy0gICAgIyB0aGUgYXBwcm9wcmlhdGUgR0FQX1JPT1QgaXMgdG8gc2V0IHRoZSBHQVBf Uk9PVF9ESVIgdmFyaWFibGUKKy0gICAgU0FHRV9MT0NBTCA9IHNhZ2UuZW52LlNBR0VfTE9DQUwK Ky0gICAgd2l0aCBvcGVuKG9zLnBhdGguam9pbihTQUdFX0xPQ0FMLCAnYmluJywgJ2dhcCcpKSBh cyBmOgorLSAgICAgICAgZ2FwX3NoID0gZi5yZWFkKCkuc3BsaXRsaW5lcygpCistICAgIGdhcGRp ciA9IG5leHQoeCBmb3IgeCBpbiBnYXBfc2ggaWYgeC5zdHJpcCgpLnN0YXJ0c3dpdGgoJ0dBUF9S T09UJykpCistICAgIGdhcGRpciA9IGdhcGRpci5zcGxpdCgnIicpWzFdCistICAgIGdhcGRpciA9 IGdhcGRpci5yZXBsYWNlKCckU0FHRV9MT0NBTCcsIFNBR0VfTE9DQUwpCistICAgIHJldHVybiBn YXBkaXIKKy0KKy0KKyAjIFRvIGVuc3VyZSB0aGF0IHdlIGNhbGwgaW5pdGlhbGl6ZV9saWJnYXAg b25seSBvbmNlLgorIGNkZWYgYmludCBfZ2FwX2lzX2luaXRpYWxpemVkID0gRmFsc2UKKyAKK0BA IC0yMzIsMTIgKzIwNSwxMiBAQCBjZGVmIGluaXRpYWxpemUoKToKKyAgICAgIyB0aGlzIGlzbid0 IHBvcnRhYmxlCisgCisgICAgIGNkZWYgdm9pZCogaGFuZGxlCistICAgIGxpYmdhcG5hbWUgPSBz dHJfdG9fYnl0ZXMoc2FnZS5lbnYuR0FQX1NPKQorLSAgICBoYW5kbGUgPSBkbG9wZW4obGliZ2Fw bmFtZSwgUlRMRF9OT1cgfCBSVExEX0dMT0JBTCkKKysgICAgIyByZWxvYWQgdGhlIGN1cnJlbnQg bW9kdWxlIHRvIGZvcmNlIHJlbG9hZCBvZiBsaWJnYXAgKHNlZSAjMzM0NDYpCisrICAgIGxpYiA9 IHN0cl90b19ieXRlcyhfX2xvYWRlcl9fLnBhdGgsIEZTX0VOQ09ESU5HLCAic3Vycm9nYXRlZXNj YXBlIikKKysgICAgaGFuZGxlID0gZGxvcGVuKGxpYiwgUlRMRF9HTE9CQUx8UlRMRF9MQVpZKQor ICAgICBpZiBoYW5kbGUgaXMgTlVMTDoKKy0gICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcigKKy0g ICAgICAgICAgICAgICAgIkNvdWxkIG5vdCBkbG9wZW4oKSBsaWJnYXAgZXZlbiB0aG91Z2ggaXQg c2hvdWxkIGFscmVhZHkgIgorLSAgICAgICAgICAgICAgICAiYmUgbG9hZGVkISIpCisrICAgICAg ICBlcnIgPSBkbGVycm9yKCkKKysgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcihmIkNvdWxkIG5v dCByZWxvYWQgZ2FwIGxpYnJhcnkgd2l0aCBSVExEX0dMT0JBTCAoe2Vycn0pIikKKyAgICAgZGxj bG9zZShoYW5kbGUpCisgCisgICAgICMgRGVmaW5lIGFyZ3YgdmFyaWFibGUsIHdoaWNoIHdlIHdp bGwgcGFzcyBpbiB0bworQEAgLTI0NSw3ICsyMTgsNyBAQCBjZGVmIGluaXRpYWxpemUoKToKKyAg ICAgY2RlZiBjaGFyKiBhcmd2WzE2XQorICAgICBhcmd2WzBdID0gInNhZ2UiCisgICAgIGFyZ3Zb MV0gPSAiLWwiCistICAgIHMgPSBzdHJfdG9fYnl0ZXMoZ2FwX3Jvb3QoKSwgRlNfRU5DT0RJTkcs ICJzdXJyb2dhdGVlc2NhcGUiKQorKyAgICBzID0gc3RyX3RvX2J5dGVzKHNhZ2UuZW52LkdBUF9M SUJfRElSICsgIjsiICsgc2FnZS5lbnYuR0FQX1NIQVJFX0RJUiwgRlNfRU5DT0RJTkcsICJzdXJy b2dhdGVlc2NhcGUiKQorICAgICBhcmd2WzJdID0gcworIAorICAgICBhcmd2WzNdID0gIi1tIgor QEAgLTM2MiwxNSArMzM1LDkgQEAgY2RlZiBPYmogZ2FwX2V2YWwoc3RyIGdhcF9zdHJpbmcpIGV4 Y2VwdD8gTlVMTDoKKyAgICAgICAgIEdBUEVycm9yOiBFcnJvciwgVmFyaWFibGU6ICdDb21wbGV4 JyBtdXN0IGhhdmUgYSB2YWx1ZQorICAgICAgICAgU3ludGF4IGVycm9yOiA7IGV4cGVjdGVkIGlu IHN0cmVhbToxCisgICAgICAgICBDb21wbGV4IEZpZWxkIHdpdGggNTMgYml0cyBvZiBwcmVjaXNp b247OworLSAgICAgICAgIF5eXl5eXl5eXl5eXgorKyAgICAgICAgICAgICAgICBeXl5eXgorICAg ICAgICAgRXJyb3IsIFZhcmlhYmxlOiAnd2l0aCcgbXVzdCBoYXZlIGEgdmFsdWUKKy0gICAgICAg IFN5bnRheCBlcnJvcjogOyBleHBlY3RlZCBpbiBzdHJlYW06MQorLSAgICAgICAgQ29tcGxleCBG aWVsZCB3aXRoIDUzIGJpdHMgb2YgcHJlY2lzaW9uOzsKKy0gICAgICAgICBeXl5eXl5eXl5eXl5e Xl5eXl5eXgorICAgICAgICAgRXJyb3IsIFZhcmlhYmxlOiAnYml0cycgbXVzdCBoYXZlIGEgdmFs dWUKKy0gICAgICAgIFN5bnRheCBlcnJvcjogOyBleHBlY3RlZCBpbiBzdHJlYW06MQorLSAgICAg ICAgQ29tcGxleCBGaWVsZCB3aXRoIDUzIGJpdHMgb2YgcHJlY2lzaW9uOzsKKy0gICAgICAgICBe Xl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eCisgICAgICAgICBFcnJvciwgVmFyaWFibGU6ICdw cmVjaXNpb24nIG11c3QgaGF2ZSBhIHZhbHVlCisgCisgICAgIFRlc3QgdGhhdCBvbiBhIHN1YnNl cXVlbnQgYXR0ZW1wdCB3ZSBnZXQgdGhlIHNhbWUgbWVzc2FnZSAobm8gZ2FyYmFnZSB3YXMKK2Rp ZmYgLS1naXQgYS9zcmMvc2FnZS9saWJzL3Npbmd1bGFyL3Npbmd1bGFyLnB5eCBiL3NyYy9zYWdl L2xpYnMvc2luZ3VsYXIvc2luZ3VsYXIucHl4CitpbmRleCBkOGVhN2IwN2YzYy4uNGJlYjE3NzRk ZjkgMTAwNjQ0CistLS0gYS9zcmMvc2FnZS9saWJzL3Npbmd1bGFyL3Npbmd1bGFyLnB5eAorKysr IGIvc3JjL3NhZ2UvbGlicy9zaW5ndWxhci9zaW5ndWxhci5weXgKK0BAIC0xNzA1LDE0ICsxNzA1 LDcgQEAgY2RlZiBvYmplY3Qgc2kyc2FfaW50dmVjKGludHZlYyAqdik6CisgY2RlZiBleHRlcm4g ZnJvbSAqOiAjIGhhY2sgdG8gZ2V0IGF0IGN5dGhvbiBtYWNybworICAgICBpbnQgdW5saWtlbHko aW50KQorIAorLWNkZWYgZXh0ZXJuIGZyb20gImRsZmNuLmgiOgorLSAgICB2b2lkICpkbG9wZW4o Y2hhciAqLCBsb25nKQorLSAgICBjaGFyICpkbGVycm9yKCkKKy0gICAgdm9pZCBkbGNsb3NlKHZv aWQgKmhhbmRsZSkKKy0KKy1jZGVmIGV4dGVybiBmcm9tICJkbGZjbi5oIjoKKy0gICAgY2RlZiBs b25nIFJUTERfTEFaWQorLSAgICBjZGVmIGxvbmcgUlRMRF9HTE9CQUwKKytmcm9tIHBvc2l4LmRs ZmNuIGNpbXBvcnQgZGxvcGVuLCBkbGNsb3NlLCBkbGVycm9yLCBSVExEX0xBWlksIFJUTERfR0xP QkFMCisgCisgY2RlZiBpbnQgb3ZlcmZsb3dfY2hlY2sodW5zaWduZWQgbG9uZyBlLCByaW5nICpf cmluZykgZXhjZXB0IC0xOgorICAgICAiIiIKK0BAIC0xNzYyLDggKzE3NTUsNiBAQCBjZGVmIGlu aXRfbGlic2luZ3VsYXIoKToKKyAKKyAgICAgY2RlZiB2b2lkICpoYW5kbGUgPSBOVUxMCisgCist ICAgIGZyb20gc2FnZS5lbnYgaW1wb3J0IExJQlNJTkdVTEFSX1BBVEgKKy0gICAgbGliID0gc3Ry X3RvX2J5dGVzKExJQlNJTkdVTEFSX1BBVEgsIEZTX0VOQ09ESU5HLCAic3Vycm9nYXRlZXNjYXBl IikKKyAKKyAgICAgIyBUaGlzIGlzIGEgd29ya2Fyb3VuZCBmb3IgaHR0cHM6Ly9naXRodWIuY29t L1Npbmd1bGFyL1Npbmd1bGFyL2lzc3Vlcy8xMTEzCisgICAgICMgYW5kIGNhbiBiZSByZW1vdmVk IG9uY2UgdGhhdCBmaXggbWFrZXMgaXQgaW50byByZWxlYXNlIG9mIFNpbmd1bGFyIHRoYXQKK0BA IC0xNzgwLDEwICsxNzcxLDEyIEBAIGNkZWYgaW5pdF9saWJzaW5ndWxhcigpOgorIAorICAgICBp bXBvcnQgcGxhdGZvcm0KKyAgICAgaWYgbm90IHBsYXRmb3JtLnN5c3RlbSgpLnN0YXJ0c3dpdGgo IkNZR1dJTiIpOgorKyAgICAgICAgIyByZWxvYWQgdGhlIGN1cnJlbnQgbW9kdWxlIHRvIGZvcmNl IHJlbG9hZCBvZiBsaWJTaW5ndWxhciAoc2VlICMzMzQ0NikKKysgICAgICAgIGxpYiA9IHN0cl90 b19ieXRlcyhfX2xvYWRlcl9fLnBhdGgsIEZTX0VOQ09ESU5HLCAic3Vycm9nYXRlZXNjYXBlIikK KyAgICAgICAgIGhhbmRsZSA9IGRsb3BlbihsaWIsIFJUTERfR0xPQkFMfFJUTERfTEFaWSkKKyAg ICAgICAgIGlmIG5vdCBoYW5kbGU6CisgICAgICAgICAgICAgZXJyID0gZGxlcnJvcigpCistICAg ICAgICAgICAgcmFpc2UgSW1wb3J0RXJyb3IoZiJjYW5ub3QgbG9hZCBTaW5ndWxhciBsaWJyYXJ5 IGZyb20ge0xJQlNJTkdVTEFSX1BBVEh9ICh7ZXJyfSkiKQorKyAgICAgICAgICAgIHJhaXNlIFJ1 bnRpbWVFcnJvcihmIkNvdWxkIG5vdCByZWxvYWQgU2luZ3VsYXIgbGlicmFyeSB3aXRoIFJUTERf R0xPQkFMICh7ZXJyfSkiKQorIAorICAgICAjIGxvYWQgU0lOR1VMQVIKKyAgICAgc2lJbml0KGxp YikKK2RpZmYgLS1naXQgYS9zcmMvc2FnZS90ZXN0cy9nYXBfcGFja2FnZXMucHkgYi9zcmMvc2Fn ZS90ZXN0cy9nYXBfcGFja2FnZXMucHkKK2luZGV4IDJlNDUxOGNhMjI2Li5jMzAyYjE2OWI4YSAx MDA2NDQKKy0tLSBhL3NyYy9zYWdlL3Rlc3RzL2dhcF9wYWNrYWdlcy5weQorKysrIGIvc3JjL3Nh Z2UvdGVzdHMvZ2FwX3BhY2thZ2VzLnB5CitAQCAtMTAzLDcgKzEwMyw3IEBAIGRlZiBhbGxfaW5z dGFsbGVkX3BhY2thZ2VzKGlnbm9yZV9kb3RfZ2FwPUZhbHNlLCBnYXA9Tm9uZSk6CisgCisgICAg ICAgICBzYWdlOiBmcm9tIHNhZ2UudGVzdHMuZ2FwX3BhY2thZ2VzIGltcG9ydCBhbGxfaW5zdGFs bGVkX3BhY2thZ2VzCisgICAgICAgICBzYWdlOiBhbGxfaW5zdGFsbGVkX3BhY2thZ2VzKCkKKy0g ICAgICAgICguLi4nR0FQRG9jJy4uLikKKysgICAgICAgICguLi4nZ2FwZG9jJy4uLikKKyAgICAg ICAgIHNhZ2U6IGFsbF9pbnN0YWxsZWRfcGFja2FnZXMoaWdub3JlX2RvdF9nYXA9VHJ1ZSkgPT0g YWxsX2luc3RhbGxlZF9wYWNrYWdlcyhnYXA9Z2FwLCBpZ25vcmVfZG90X2dhcD1UcnVlKQorICAg ICAgICAgVHJ1ZQorICAgICAiIiIKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvc2FnZW1hdGgvcGF0Y2hl cy8zNTEyNy1maXhfdmVyeV9zbG93X3Rlc3Rfc3RyZWFtLnB5LnBhdGNoIGIvc3JjcGtncy9zYWdl bWF0aC9wYXRjaGVzLzM1MTI3LWZpeF92ZXJ5X3Nsb3dfdGVzdF9zdHJlYW0ucHkucGF0Y2gKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5kMzMxYTY1NzNlMWMKLS0tIC9k ZXYvbnVsbAorKysgYi9zcmNwa2dzL3NhZ2VtYXRoL3BhdGNoZXMvMzUxMjctZml4X3Zlcnlfc2xv d190ZXN0X3N0cmVhbS5weS5wYXRjaApAQCAtMCwwICsxLDE1IEBACitkaWZmIC0tZ2l0IGEvc3Jj L3NhZ2UvZGF0YV9zdHJ1Y3R1cmVzL3N0cmVhbS5weSBiL3NyYy9zYWdlL2RhdGFfc3RydWN0dXJl cy9zdHJlYW0ucHkKK2luZGV4IGY4ZjZkYzZhMTg2Li4wMDJlOTI1ZjAyZiAxMDA2NDQKKy0tLSBh L3NyYy9zYWdlL2RhdGFfc3RydWN0dXJlcy9zdHJlYW0ucHkKKysrKyBiL3NyYy9zYWdlL2RhdGFf c3RydWN0dXJlcy9zdHJlYW0ucHkKK0BAIC0yMDkwLDggKzIwOTAsOCBAQCBkZWYgY29tcHV0ZV9w cm9kdWN0KHNlbGYsIG4sIGxhKToKKyAgICAgICAgICAgICBzYWdlOiBmID0gU3RyZWFtX2V4YWN0 KFsxXSkgIyBpcnJlbGV2YW50IGZvciB0aGlzIHRlc3QKKyAgICAgICAgICAgICBzYWdlOiBnID0g U3RyZWFtX2Z1bmN0aW9uKGxhbWJkYSBuOiBzW25dLCBUcnVlLCAwKQorICAgICAgICAgICAgIHNh Z2U6IGggPSBTdHJlYW1fcGxldGh5c20oZiwgZywgVHJ1ZSwgcCkKKy0gICAgICAgICAgICBzYWdl OiBCID0gcFsyLCAyLCAxXShzdW0oc1tpXSBmb3IgaSBpbiByYW5nZSg3KSkpCistICAgICAgICAg ICAgc2FnZTogYWxsKGguY29tcHV0ZV9wcm9kdWN0KGssIFBhcnRpdGlvbihbMiwgMiwgMV0pKSA9 PSBCLnJlc3RyaWN0X2RlZ3JlZShrKSBmb3IgayBpbiByYW5nZSg3KSkKKysgICAgICAgICAgICBz YWdlOiBCID0gcFsyLCAyLCAxXShzdW0ocChzW2ldKSBmb3IgaSBpbiByYW5nZSg3KSkpICAjIGxv bmcgdGltZQorKyAgICAgICAgICAgIHNhZ2U6IGFsbChoLmNvbXB1dGVfcHJvZHVjdChrLCBQYXJ0 aXRpb24oWzIsIDIsIDFdKSkgPT0gQi5yZXN0cmljdF9kZWdyZWUoaykgZm9yIGsgaW4gcmFuZ2Uo NykpICAjIGxvbmcgdGltZQorICAgICAgICAgICAgIFRydWUKKyAgICAgICAgICIiIgorICAgICAg ICAgIyBUaGlzIGlzIHRoZSBhcHByb3hpbWF0ZSBvcmRlciBvZiB0aGUgcmVzdWx0CmRpZmYgLS1n aXQgYS9zcmNwa2dzL3NhZ2VtYXRoL3BhdGNoZXMvZ2V0X3BhdGNoZXMgYi9zcmNwa2dzL3NhZ2Vt YXRoL3BhdGNoZXMvZ2V0X3BhdGNoZXMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAw MDAwMDAwLi5jOThkYTY4NjgzY2MKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3NhZ2VtYXRo L3BhdGNoZXMvZ2V0X3BhdGNoZXMKQEAgLTAsMCArMSw0MSBAQAorIyEgL2Jpbi9zaAorCitVUkxf QkFTRV9QUj0iaHR0cHM6Ly9naXRodWIuY29tL3NhZ2VtYXRoL3NhZ2UvcHVsbC8iCitVUkxfQkFT RV9DT01QQVJFPSJodHRwczovL2dpdGh1Yi5jb20vc2FnZW1hdGgvc2FnZS9jb21wYXJlLzkuOC4u LiIKKworY2FzZSAiJDEiIGluCisJLW4pICBETz1lY2hvIDs7Citlc2FjCisKKyMgZ2V0X3ByIDxQ UiBudW1iZXI+IDxkZXNjcmlwdGlvbj4gW2V4dF0KK2dldF9wcigpIHsKKwlwcj0kMQorCWRlc2M9 JChlY2hvICIkMiIgfCBzZWQgLWUgJ3MvIC9fL2cnKQorCWV4dD0kezMtZGlmZn0KKwkkRE8gd2dl dCAiJFVSTF9CQVNFX1BSJHByLiRleHQiIC1PICIkcHItJGRlc2MucGF0Y2giCit9CisKK2dldF90 cmFjKCkgeworCXRpY2tldD0kMQorCWRlc2M9JChlY2hvICIkMiIgfCBzZWQgLWUgJ3MvIC9fL2cn KQorCWNvbW1pdD0kMworCSRETyB3Z2V0ICIkVVJMX0JBU0VfQ09NUEFSRSRjb21taXQuZGlmZiIg LU8gInRyYWMtJHRpY2tldC0kZGVzYy0kY29tbWl0LnBhdGNoIgorfQorCisjIHJ1biBmcm9tIHBh dGNoZXMgZGlyCitjZCAkKGRpcm5hbWUgIiQwIikKKworIyBtZXJnZWQgaW4gMTAuMC5iZXRhMAor Z2V0X3RyYWMgMzQ4NTEgInN1cHBvcnQgc2luZ3VsYXIgNC4zLjEucDMiIDVlNTczN2EwYworZ2V0 X3ByIDM1MDY4ICJmaXggdGVzdHMgZ2lhYyAxLjkuMC4zNSIgcGF0Y2gKKworIyBwb3NpdGl2ZSBy ZXZpZXcKK2dldF9wciAzNDk5NCAiZml4IHRlc3RzIG51bXB5IDEuMjQiCitnZXRfcHIgMzQ5OTcg ImZpeCBlZGdlIGNhc2Ugb2YgaW50ZWdlcl9jaGVjayIKK2dldF9wciAzNTA1OCAic2tpcCB1bnN0 YWJsZSB0ZXN0cyBrbHlhY2hrbyIKK2dldF9wciAzNTA5NCAic3VwcG9ydCBnYXAgNC4xMiIJCQkJ CSMgaW5jbHVkZXMgUFIgMzUwOTMKKworIyBuZWVkcyByZXZpZXcgCitnZXRfcHIgMzQ5OTUgInN1 cHBvcnQgdGFjaHlvbiAwLjk5LjIiCitnZXRfcHIgMzQ5ODAgImF2b2lkIGZhY3RvcmluZyBpbiBp c19wcmltZSIKK2dldF9wciAzNTEyNyAiZml4IHZlcnkgc2xvdyB0ZXN0IHN0cmVhbS5weSIKZGlm ZiAtLWdpdCBhL3NyY3BrZ3Mvc2FnZW1hdGgvcGF0Y2hlcy90cmFjLTMzMzYwLWF2b2lkX2ZhY3Rv cmluZ19pbl9pc19wcmltZS02MzMwY2VlMWE2OTIyOWIyZjVkOGFjNGEwOWE3M2Q4MTUyZjVlMTRk LnBhdGNoIGIvc3JjcGtncy9zYWdlbWF0aC9wYXRjaGVzL3RyYWMtMzMzNjAtYXZvaWRfZmFjdG9y aW5nX2luX2lzX3ByaW1lLTYzMzBjZWUxYTY5MjI5YjJmNWQ4YWM0YTA5YTczZDgxNTJmNWUxNGQu cGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUwNTJlMzA2ZTdhMS4uMDAwMDAw MDAwMDAwCi0tLSBhL3NyY3BrZ3Mvc2FnZW1hdGgvcGF0Y2hlcy90cmFjLTMzMzYwLWF2b2lkX2Zh Y3RvcmluZ19pbl9pc19wcmltZS02MzMwY2VlMWE2OTIyOWIyZjVkOGFjNGEwOWE3M2Q4MTUyZjVl MTRkLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTMgKzAsMCBAQAotRnJvbSA2MzMwY2VlMWE2 OTIyOWIyZjVkOGFjNGEwOWE3M2Q4MTUyZjVlMTRkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQot RnJvbTogPT9VVEYtOD9xP0dvbnphbG89MjBUb3JuYXI9QzM9QURhPz0gPHRvcm5hcmlhQGNtYXQu ZWR1LnV5PgotRGF0ZTogTW9uLCAyOCBGZWIgMjAyMiAyMzoxNToxNiAtMDMwMAotU3ViamVjdDog dHJhYyAzMzM2MDogYXZvaWQgZmFjdG9yaW5nIGluIGlzX3ByaW1lKCkKLQotSW4gdGhlIGFkZGVk IFRFU1QsIHRoZSBpZGVhbCBub3JtIGlzIHByb2R1Y3Qgb2YgdHdvIHByaW1lcyBidXQgZmFjdG9y aW5nCi10aGlzIHByb2R1Y3QgdGFrZXMgYWJvdXQgaGFsZiBhbiBob3VyLCBzbyBmYWN0b3Jpbmcg dGhlIGlkZWFsIGlzIHNsb3cuCi0KLVRvIGZpeCB0aGUgaXNzdWUsIHdlIG9ubHkgZmFjdG9yIHRo ZSBpZGVhbCBpZiB0aGUgbm9ybSBpcyBhIHByaW1lIHBvd2VyLgotLS0tCi0gc3JjL3NhZ2Uvcmlu Z3MvbnVtYmVyX2ZpZWxkL251bWJlcl9maWVsZF9pZGVhbC5weSB8IDIyICsrKysrKysrKysrKysr KysrKysrKysKLSAxIGZpbGUgY2hhbmdlZCwgMjIgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0 IGEvc3JjL3NhZ2UvcmluZ3MvbnVtYmVyX2ZpZWxkL251bWJlcl9maWVsZF9pZGVhbC5weSBiL3Ny Yy9zYWdlL3JpbmdzL251bWJlcl9maWVsZC9udW1iZXJfZmllbGRfaWRlYWwucHkKLWluZGV4IGY3 ODVmMjIuLjEwZDFmODggMTAwNjQ0Ci0tLS0gYS9zcmMvc2FnZS9yaW5ncy9udW1iZXJfZmllbGQv bnVtYmVyX2ZpZWxkX2lkZWFsLnB5Ci0rKysgYi9zcmMvc2FnZS9yaW5ncy9udW1iZXJfZmllbGQv bnVtYmVyX2ZpZWxkX2lkZWFsLnB5Ci1AQCAtOTk1LDEwICs5OTUsMzIgQEAgY2xhc3MgTnVtYmVy RmllbGRJZGVhbChJZGVhbF9nZW5lcmljKToKLSAgICAgICAgICAgICBGYWxzZQotICAgICAgICAg ICAgIHNhZ2U6IEsuaWRlYWwoMTcpLmlzX3ByaW1lKCkgICMgcmFtaWZpZWQKLSAgICAgICAgICAg ICBGYWxzZQotKwotKyAgICAgICAgVEVTVFM6OgotKwotKyAgICAgICAgQ2hlY2sgdGhhdCB3ZSBk byBub3QgZmFjdG9yIHRoZSBub3JtIG9mIHRoZSBpZGVhbCwgdGhpcyB1c2VkCi0rICAgICAgICB0 byB0YWtlIGhhbGYgYW4gaG91ciwgc2VlIDp0cmFjOmAzMzM2MGAKLSsKLSsgICAgICAgICAgIHNh Z2U6IEsuPGEsYixjPiA9IE51bWJlckZpZWxkKFt4XjItMix4XjItMyx4XjItNV0pCi0rICAgICAg ICAgICBzYWdlOiB0ID0gKCgoLTI2MTE5NDAqYyArIDE5MjUyOTAvNzY1MykqYiAtIDE1MzcxMzAv NzY1MypjCi0rICAgICAgICAgICAuLi4uOiAgICAgICArIDEwMTMwOTUwKSphICsgKDEzNDMwMTQv NzY1MypjIC0gODM0OTc3MCkqYgotKyAgICAgICAgICAgLi4uLjogICAgICAgKyA2NDc3MDU4KmMg LSAyODAxNDQ5OTkwLzQwMDI1MTkpCi0rICAgICAgICAgICBzYWdlOiB0LmlzX3ByaW1lKCkKLSsg ICAgICAgICAgIEZhbHNlCi0rCi0gICAgICAgICAiIiIKLSAgICAgICAgIHRyeToKLSAgICAgICAg ICAgICByZXR1cm4gc2VsZi5fcGFyaV9wcmltZSBpcyBub3QgTm9uZQotICAgICAgICAgZXhjZXB0 IEF0dHJpYnV0ZUVycm9yOgotKyAgICAgICAgICAgIEsgPSBzZWxmLm51bWJlcl9maWVsZCgpLnBh cmlfbmYoKQotKyAgICAgICAgICAgIEkgPSBzZWxmLnBhcmlfaG5mKCkKLSsgICAgICAgICAgICAj IFRoaXMgd291bGQgYmUgYmV0dGVyLCBidXQgaXQgaXMgYnJva2VuIGluIHBhcmkgMi4xMy4zLgot KyAgICAgICAgICAgICMgICBzZWxmLl9wYXJpX3ByaW1lID0gSy5pZGVhbGlzbWF4aW1hbChJKSBv ciBOb25lCi0rICAgICAgICAgICAgIyBJbnN0ZWFkIHdlIGZhY3RvciBJLCBidXQgb25seSBpZiB0 aGUgbm9ybSBpcyBhIHByaW1lIHBvd2VyCi0rICAgICAgICAgICAgbiA9IEsuaWRlYWxub3JtKEkp Ci0rICAgICAgICAgICAgaWYgbi5kZW5vbWluYXRvcigpID4gMSBvciBub3Qgbi5pc3ByaW1lcG93 ZXIoKToKLSsgICAgICAgICAgICAgICAgc2VsZi5fcGFyaV9wcmltZSA9IE5vbmUKLSsgICAgICAg ICAgICAgICAgcmV0dXJuIEZhbHNlCi0gICAgICAgICAgICAgRiA9IHNlbGYuZmFjdG9yKCkgICMg ZmFjdG9yaXphdGlvbiB3aXRoIGNhY2hpbmcKLSAgICAgICAgICAgICBpZiBsZW4oRikgIT0gMSBv ciBGWzBdWzFdICE9IDE6Ci0gICAgICAgICAgICAgICAgIHNlbGYuX3BhcmlfcHJpbWUgPSBOb25l Ci0tLSAKLWNnaXQgdjEuMC0xLWdkODhlCi0KZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvc2FnZW1hdGgv cGF0Y2hlcy90cmFjLTMzNDQ2LW1ha2VfR0FQX1NPX3VubmVjZXNzYXJ5LTMxZTNmYzRlYzhiODY4 N2JjY2QyMmQyZTMxNjFjODZjZjU1NTNlMDYucGF0Y2ggYi9zcmNwa2dzL3NhZ2VtYXRoL3BhdGNo ZXMvdHJhYy0zMzQ0Ni1tYWtlX0dBUF9TT191bm5lY2Vzc2FyeS0zMWUzZmM0ZWM4Yjg2ODdiY2Nk MjJkMmUzMTYxYzg2Y2Y1NTUzZTA2LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCBmYjllMGY1YTgwNzEuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3NhZ2VtYXRoL3BhdGNo ZXMvdHJhYy0zMzQ0Ni1tYWtlX0dBUF9TT191bm5lY2Vzc2FyeS0zMWUzZmM0ZWM4Yjg2ODdiY2Nk MjJkMmUzMTYxYzg2Y2Y1NTUzZTA2LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDI3ICswLDAg QEAKLUZyb20gOWZlZWMyODJkMDM5Y2EyNWJiZWZhNTA3MTBmODIxN2I3NzVjZTExMSBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ID0/VVRGLTg/cT9Hb256YWxvPTIwVG9ybmFyPUMzPUFE YT89IDx0b3JuYXJpYUBjbWF0LmVkdS51eT4KLURhdGU6IFRodSwgMyBNYXIgMjAyMiAxNDo0Nzow MCAtMDMwMAotU3ViamVjdDogZ2FwOiBkbyBub3QgZGlyZWN0bHkgZGxvcGVuKCkgdGhlIGdhcCBs aWJyYXJ5Ci0KLVRoaXMgbmVlZHMgdGhlIHNvbmFtZSAoYXMgaW4gc2FnZS5lbnYuR0FQX1NPKSB3 aGljaCBoYXMgaXNzdWVzIGZvcgotc3lzdGVtIGdhcCBhcyBleHBsYWluZWQgaW4gIzMzNDQ2Lgot Ci1JbnN0ZWFkIHdlIGRsb3BlbigpIHRoZSBleHRlbnNpb24gbW9kdWxlIHNhZ2UubGlicy5nYXAu dXRpbCB3aGljaCwKLWhhdmluZyBhIGxpbmsgdGltZSBkZXBlbmRlbmN5IHRvIGxpYmdhcCwgd2ls bCBpbmRpcmVjdGx5IGRsb3BlbigpIGl0LgotCi1Gb3IgdGhlIHJlY29yZDogYnkgdGhlIHRpbWUg d2UgcnVuIGRsb3BlbigpIHRoZSBsaWJnYXAgc2hvdWxkIGJlIGFscmVhZHkKLWxvYWRlZC4gVGhl IHB1cnBvc2Ugb2YgZG9pbmcgaXQgaXMgdG8gY2hhbmdlIG1vZGUgdG8gUlRMRF9HTE9CQUwgc28g dGhhdAotc3ltYm9scyBpbiBsaWJnYXAgYXJlIHBsYWNlZCBpbiB0aGUgZ2xvYmFsIHN5bWJvbCB0 YWJsZS4gVGhpcyBpcwotcmVxdWlyZWQgdG8gY29tcGlsZWQgbG9hZCBnYXAgcGFja2FnZXMuCi0K LUFuIGVhc3kgdGVzdCB0aGF0IHRoaXMgaXMgd29ya2luZyBvayBpczoKLQotICAgIHNhZ2U6IGxp YmdhcC5Mb2FkUGFja2FnZSgiaW8iKQotICAgIHRydWUKLQotVGhpcyByZXF1aXJlcyBvcHRpb25h bCBzcGtnIGBnYXBfcGFja2FnZXNgIHRvIGJlIGluc3RhbGxlZC4KLS0tLQotIHNyYy9zYWdlL2xp YnMvZ2FwL3V0aWwucHl4IHwgMTIgKysrKysrLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDYgaW5z ZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9zYWdlL2xpYnMv Z2FwL3V0aWwucHl4IGIvc3JjL3NhZ2UvbGlicy9nYXAvdXRpbC5weXgKLWluZGV4IDM0NGFiODgu LmFmZjYwNGIgMTAwNjQ0Ci0tLS0gYS9zcmMvc2FnZS9saWJzL2dhcC91dGlsLnB5eAotKysrIGIv c3JjL3NhZ2UvbGlicy9nYXAvdXRpbC5weXgKLUBAIC0xMyw3ICsxMyw3IEBAIFV0aWxpdHkgZnVu Y3Rpb25zIGZvciBHQVAKLSAjKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAKLSBmcm9tIGxpYmMuc2ln bmFsIGNpbXBvcnQgc2lnbmFsLCBTSUdDSExELCBTSUdfREZMCi0tZnJvbSBwb3NpeC5kbGZjbiBj aW1wb3J0IGRsb3BlbiwgZGxjbG9zZSwgUlRMRF9OT1csIFJUTERfR0xPQkFMCi0rZnJvbSBwb3Np eC5kbGZjbiBjaW1wb3J0IGRsb3BlbiwgZGxjbG9zZSwgZGxlcnJvciwgUlRMRF9MQVpZLCBSVExE X0dMT0JBTAotIAotIGZyb20gY3B5dGhvbi5leGMgY2ltcG9ydCBQeUVycl9GZXRjaCwgUHlFcnJf UmVzdG9yZQotIGZyb20gY3B5dGhvbi5vYmplY3QgY2ltcG9ydCBQeV9MVCwgUHlfTEUsIFB5X0VR LCBQeV9ORSwgUHlfR1QsIFB5X0dFCi1AQCAtMjMyLDEyICsyMzIsMTIgQEAgY2RlZiBpbml0aWFs aXplKCk6Ci0gICAgICMgdGhpcyBpc24ndCBwb3J0YWJsZQotIAotICAgICBjZGVmIHZvaWQqIGhh bmRsZQotLSAgICBsaWJnYXBuYW1lID0gc3RyX3RvX2J5dGVzKHNhZ2UuZW52LkdBUF9TTykKLS0g ICAgaGFuZGxlID0gZGxvcGVuKGxpYmdhcG5hbWUsIFJUTERfTk9XIHwgUlRMRF9HTE9CQUwpCi0r ICAgICMgcmVsb2FkIHRoZSBjdXJyZW50IG1vZHVsZSB0byBmb3JjZSByZWxvYWQgb2YgbGliZ2Fw IChzZWUgIzMzNDQ2KQotKyAgICBsaWIgPSBzdHJfdG9fYnl0ZXMoX19sb2FkZXJfXy5wYXRoLCBG U19FTkNPRElORywgInN1cnJvZ2F0ZWVzY2FwZSIpCi0rICAgIGhhbmRsZSA9IGRsb3BlbihsaWIs IFJUTERfR0xPQkFMfFJUTERfTEFaWSkKLSAgICAgaWYgaGFuZGxlIGlzIE5VTEw6Ci0tICAgICAg ICByYWlzZSBSdW50aW1lRXJyb3IoCi0tICAgICAgICAgICAgICAgICJDb3VsZCBub3QgZGxvcGVu KCkgbGliZ2FwIGV2ZW4gdGhvdWdoIGl0IHNob3VsZCBhbHJlYWR5ICIKLS0gICAgICAgICAgICAg ICAgImJlIGxvYWRlZCEiKQotKyAgICAgICAgZXJyID0gZGxlcnJvcigpCi0rICAgICAgICByYWlz ZSBSdW50aW1lRXJyb3IoZiJDb3VsZCBub3QgcmVsb2FkIGdhcCBsaWJyYXJ5IHdpdGggUlRMRF9H TE9CQUwgKHtlcnJ9KSIpCi0gICAgIGRsY2xvc2UoaGFuZGxlKQotIAotICAgICAjIERlZmluZSBh cmd2IHZhcmlhYmxlLCB3aGljaCB3ZSB3aWxsIHBhc3MgaW4gdG8KLS0tIAotY2dpdCB2MS4wLTEt Z2Q4OGUKLQotCi1Gcm9tIDcwNGE3OTUzYjk3YWI3MjZlMmFmNjEwNzI0NzI2YWE1NjJiYzhiZjgg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04P3E/R29uemFsbz0yMFRvcm5h cj1DMz1BRGE/PSA8dG9ybmFyaWFAY21hdC5lZHUudXk+Ci1EYXRlOiBUaHUsIDMgTWFyIDIwMjIg MjM6MDA6MDcgLTAzMDAKLVN1YmplY3Q6IHNpbmd1bGFyOiBkbyBub3QgZGlyZWN0bHkgZGxvcGVu KCkgdGhlIHNpbmd1bGFyIGxpYnJhcnkKLQotU2FtZSBhcyBmb3IgZ2FwIGluIHRoZSBwcmV2aW91 cyBjb21taXQuIEluc3RlYWQgb2YgcmVxdWlyaW5nIHRoZSBzb25hbWUKLShhcyBpbiBzYWdlLmVu di5MSUJTSU5HVUxBUl9QQVRIKSB3ZSBkbG9wZW4oKSB0aGUgZXh0ZW5zaW9uIG1vZHVsZQotc2Fn ZS5saWJzLnNpbmd1bGFyLnNpbmd1bGFyIHdoaWNoIHdpbGwgaW5kaXJlY3RseSBkbG9wZW4oKSBs aWJTaW5ndWxhci4KLS0tLQotIHNyYy9zYWdlL2xpYnMvc2luZ3VsYXIvc2luZ3VsYXIucHl4IHwg MTUgKysrKy0tLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMTEg ZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvc2FnZS9saWJzL3Npbmd1bGFyL3Npbmd1 bGFyLnB5eCBiL3NyYy9zYWdlL2xpYnMvc2luZ3VsYXIvc2luZ3VsYXIucHl4Ci1pbmRleCBkOGVh N2IwLi40YmViMTc3IDEwMDY0NAotLS0tIGEvc3JjL3NhZ2UvbGlicy9zaW5ndWxhci9zaW5ndWxh ci5weXgKLSsrKyBiL3NyYy9zYWdlL2xpYnMvc2luZ3VsYXIvc2luZ3VsYXIucHl4Ci1AQCAtMTcw NSwxNCArMTcwNSw3IEBAIGNkZWYgb2JqZWN0IHNpMnNhX2ludHZlYyhpbnR2ZWMgKnYpOgotIGNk ZWYgZXh0ZXJuIGZyb20gKjogIyBoYWNrIHRvIGdldCBhdCBjeXRob24gbWFjcm8KLSAgICAgaW50 IHVubGlrZWx5KGludCkKLSAKLS1jZGVmIGV4dGVybiBmcm9tICJkbGZjbi5oIjoKLS0gICAgdm9p ZCAqZGxvcGVuKGNoYXIgKiwgbG9uZykKLS0gICAgY2hhciAqZGxlcnJvcigpCi0tICAgIHZvaWQg ZGxjbG9zZSh2b2lkICpoYW5kbGUpCi0tCi0tY2RlZiBleHRlcm4gZnJvbSAiZGxmY24uaCI6Ci0t ICAgIGNkZWYgbG9uZyBSVExEX0xBWlkKLS0gICAgY2RlZiBsb25nIFJUTERfR0xPQkFMCi0rZnJv bSBwb3NpeC5kbGZjbiBjaW1wb3J0IGRsb3BlbiwgZGxjbG9zZSwgZGxlcnJvciwgUlRMRF9MQVpZ LCBSVExEX0dMT0JBTAotIAotIGNkZWYgaW50IG92ZXJmbG93X2NoZWNrKHVuc2lnbmVkIGxvbmcg ZSwgcmluZyAqX3JpbmcpIGV4Y2VwdCAtMToKLSAgICAgIiIiCi1AQCAtMTc2Miw4ICsxNzU1LDYg QEAgY2RlZiBpbml0X2xpYnNpbmd1bGFyKCk6Ci0gCi0gICAgIGNkZWYgdm9pZCAqaGFuZGxlID0g TlVMTAotIAotLSAgICBmcm9tIHNhZ2UuZW52IGltcG9ydCBMSUJTSU5HVUxBUl9QQVRICi0tICAg IGxpYiA9IHN0cl90b19ieXRlcyhMSUJTSU5HVUxBUl9QQVRILCBGU19FTkNPRElORywgInN1cnJv Z2F0ZWVzY2FwZSIpCi0gCi0gICAgICMgVGhpcyBpcyBhIHdvcmthcm91bmQgZm9yIGh0dHBzOi8v Z2l0aHViLmNvbS9TaW5ndWxhci9TaW5ndWxhci9pc3N1ZXMvMTExMwotICAgICAjIGFuZCBjYW4g YmUgcmVtb3ZlZCBvbmNlIHRoYXQgZml4IG1ha2VzIGl0IGludG8gcmVsZWFzZSBvZiBTaW5ndWxh ciB0aGF0Ci1AQCAtMTc4MCwxMCArMTc3MSwxMiBAQCBjZGVmIGluaXRfbGlic2luZ3VsYXIoKToK LSAKLSAgICAgaW1wb3J0IHBsYXRmb3JtCi0gICAgIGlmIG5vdCBwbGF0Zm9ybS5zeXN0ZW0oKS5z dGFydHN3aXRoKCJDWUdXSU4iKToKLSsgICAgICAgICMgcmVsb2FkIHRoZSBjdXJyZW50IG1vZHVs ZSB0byBmb3JjZSByZWxvYWQgb2YgbGliU2luZ3VsYXIgKHNlZSAjMzM0NDYpCi0rICAgICAgICBs aWIgPSBzdHJfdG9fYnl0ZXMoX19sb2FkZXJfXy5wYXRoLCBGU19FTkNPRElORywgInN1cnJvZ2F0 ZWVzY2FwZSIpCi0gICAgICAgICBoYW5kbGUgPSBkbG9wZW4obGliLCBSVExEX0dMT0JBTHxSVExE X0xBWlkpCi0gICAgICAgICBpZiBub3QgaGFuZGxlOgotICAgICAgICAgICAgIGVyciA9IGRsZXJy b3IoKQotLSAgICAgICAgICAgIHJhaXNlIEltcG9ydEVycm9yKGYiY2Fubm90IGxvYWQgU2luZ3Vs YXIgbGlicmFyeSBmcm9tIHtMSUJTSU5HVUxBUl9QQVRIfSAoe2Vycn0pIikKLSsgICAgICAgICAg ICByYWlzZSBSdW50aW1lRXJyb3IoZiJDb3VsZCBub3QgcmVsb2FkIFNpbmd1bGFyIGxpYnJhcnkg d2l0aCBSVExEX0dMT0JBTCAoe2Vycn0pIikKLSAKLSAgICAgIyBsb2FkIFNJTkdVTEFSCi0gICAg IHNpSW5pdChsaWIpCi0tLSAKLWNnaXQgdjEuMC0xLWdkODhlCi0KLQotRnJvbSBkNzE0NWMxNGVm NThhY2ZiZTAwZDhmOTQxZDI4MDJlOTZhZDRiYTE1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQot RnJvbTogPT9VVEYtOD9xP0dvbnphbG89MjBUb3JuYXI9QzM9QURhPz0gPHRvcm5hcmlhQGNtYXQu ZWR1LnV5PgotRGF0ZTogRnJpLCA0IE1hciAyMDIyIDE2OjM3OjM0IC0wMzAwCi1TdWJqZWN0OiBz aW5ndWxhcjogcmVtb3ZlIExJQlNJTkdVTEFSX1BBVEgsIG5vIGxvbmdlciBuZWVkZWQKLQotLS0t Ci0gYnVpbGQvcGtncy9zaW5ndWxhci9zcGtnLWNvbmZpZ3VyZS5tNCB8IDYzICstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gcGtncy9zYWdlLWNvbmYvX3NhZ2VfY29uZi9fY29u Zi5weS5pbiB8ICAzIC0tCi0gc3JjL3NhZ2UvZW52LnB5ICAgICAgICAgICAgICAgICAgICAgICB8 ICA2IC0tLS0KLSAzIGZpbGVzIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCA3MSBkZWxldGlvbnMo LSkKLQotZGlmZiAtLWdpdCBhL2J1aWxkL3BrZ3Mvc2luZ3VsYXIvc3BrZy1jb25maWd1cmUubTQg Yi9idWlsZC9wa2dzL3Npbmd1bGFyL3Nwa2ctY29uZmlndXJlLm00Ci1pbmRleCBhZjJlYjg1Li42 ZDNkM2RhIDEwMDY0NAotLS0tIGEvYnVpbGQvcGtncy9zaW5ndWxhci9zcGtnLWNvbmZpZ3VyZS5t NAotKysrIGIvYnVpbGQvcGtncy9zaW5ndWxhci9zcGtnLWNvbmZpZ3VyZS5tNAotQEAgLTksNTIg KzksNyBAQCBTQUdFX1NQS0dfQ09ORklHVVJFKFtzaW5ndWxhcl0sIFsKLSAgICAgICAgQUNfTVNH X0NIRUNLSU5HKFt0aGF0IFNpbmd1bGFyJ3MgaGVscCBpcyB3b3JraW5nXSkKLSAgICAgICAgQVNf SUYoW3Rlc3QgeGBwcmludGYgInN5c3RlbShcIi0tYnJvd3NlclwiLCBcImJ1aWx0aW5cIik7IFxu IGhlbHA7IiB8IFNpbmd1bGFyIDI+JjEgfCBncmVwICJlcnJvclwgb2NjdXJyZWQiYCA9IHhdLCBb Ci0gICAgICAgICBBQ19NU0dfUkVTVUxUKHllcykKLS0gICAgICAgIGRubCBXZSBoYXZlIFNpbmd1 bGFyLiBOb3cgZGV0ZXJtaW5lIHRoZSBzaGFyZWQgbGlicmFyeSBwYXRoIG9uCi0tICAgICAgICBk bmwgcGxhdGZvcm1zIG9uIHdoaWNoIHNhZ2UubGlicy5zaW5ndWxhciBuZWVkcyB0byByZWxvYWQg dGhlIGxpYnJhcnkgd2l0aCBSVExEX0dMT0JBTC4KLS0gICAgICAgIEFTX0NBU0UoWyRob3N0X29z XSwKLS0gICAgICAgICAgW2N5Z3dpbipdLCBbZG5sIE5vdGhpbmcgdG8gZG8KLS0gICAgICAgICAg ICAgICAgICAgICBdLAotLSAgICAgICAgICAgICAgICAgICAgIFtkbmwgVXNlIHBrZy1jb25maWcg dG8gZ2V0IHNpbmd1bGFyJ3MgbGliZGlyIHdoaWxlIHdlJ3JlIGF0IGl0LiBBcyBhCi0tICAgICAg ICAgICAgICAgICAgICAgIGRubCBtb3JhbCBjb21wcm9taXNlIGZvciB1c2luZyBwa2ctY29uZmln LCB0aGlzIHVsdGltYXRlbHkgYWxsb3dzIHVzCi0tICAgICAgICAgICAgICAgICAgICAgIGRubCB0 byBwYXNzIGFuIGFic29sdXRlIHBhdGggdG8gZGxvcGVuKCksIHdoaWNoIGlzIHRoZSBvbmx5IGFw cHJvYWNoCi0tICAgICAgICAgICAgICAgICAgICAgIGRubCB0aGF0IFBPU0lYIGd1YXJhbnRlZXMg d2lsbCB3b3JrLgotLSAgICAgICAgICAgICAgICAgICAgICBQS0dfQ0hFQ0tfVkFSKFtTSU5HVUxB Ul9MSUJfRElSXSwgW1Npbmd1bGFyXSwgW2xpYmRpcl0pCi0tICAgICAgICAgICAgICAgICAgICAg IGRubCBUaGUgYWNsX3NobGliZXh0IHZhcmlhYmxlIGlzIHNldCBpbiB0aGUgdG9wLWxldmVsIGNv bmZpZ3VyZS5hYy4KLS0gICAgICAgICAgICAgICAgICAgICAgQUNfTEFOR19QVVNIKEMpCi0tICAg ICAgICAgICAgICAgICAgICAgIE9SSUdfTElCUz0iJHtMSUJTfSIKLS0gICAgICAgICAgICAgICAg ICAgICAgTElCUz0iJHtMSUJTfSAtbGRsIgotLSAgICAgICAgICAgICAgICAgICAgICBBQ19NU0df Q0hFQ0tJTkcoW2lmIHdlIGNhbiBkbG9wZW4oJExJQlNJTkdVTEFSX1BBVEgpXSkKLS0gICAgICAg ICAgICAgICAgICAgICAgTElCU0lOR1VMQVJfUEFUSD0iJHtTSU5HVUxBUl9MSUJfRElSfS9saWJT aW5ndWxhci4ke2FjbF9zaGxpYmV4dH0iCi0tCi0tICAgICAgICAgICAgICAgICAgICAgIGRubCBp ZiB3ZSBjYW4gZGxvcGVuKCkgaXQsIHN1YnN0aXR1dGUgdGhlIG5hbWUgZm9yIHNhZ2VfY29uZjsK LS0gICAgICAgICAgICAgICAgICAgICAgZG5sIG90aGVyd2lzZSwgZmFsbCBiYWNrIHRvIHVzaW5n IHRoZSBTUEtHLgotLSAgICAgICAgICAgICAgICAgICAgICBBQ19SVU5fSUZFTFNFKAotLSAgICAg ICAgICAgICAgICAgICAgICAgIFtBQ19MQU5HX1BST0dSQU0oCi0tICAgICAgICAgICAgICAgICAg ICAgICAgICBbWyNpbmNsdWRlIDxkbGZjbi5oPl1dLAotLSAgICAgICAgICAgICAgICAgICAgICAg ICAgW1t2b2lkKiBoID0gZGxvcGVuKCIke0xJQlNJTkdVTEFSX1BBVEh9IiwgUlRMRF9MQVpZIHwg UlRMRF9HTE9CQUwpOwotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaCA9PSAwKSB7 IHJldHVybiAxOyB9IGVsc2UgeyByZXR1cm4gZGxjbG9zZShoKTsgfV1dCi0tICAgICAgICAgICAg ICAgICAgICAgICAgKV0sIFsKLS0gICAgICAgICAgICAgICAgICAgICAgICAgIEFDX01TR19SRVNV TFQoeWVzKQotLSAgICAgICAgICAgICAgICAgICAgICAgIF0sIFsKLS0gICAgICAgICAgICAgICAg ICAgICAgICAgIGRubCB0cnkgRGViaWFuLXNwZWNpZmljIG5hbWUKLS0gICAgICAgICAgICAgICAg ICAgICAgICAgIExJQlNJTkdVTEFSX1BBVEg9IiR7U0lOR1VMQVJfTElCX0RJUn0vbGlic2luZ3Vs YXItU2luZ3VsYXIuJHthY2xfc2hsaWJleHR9IgotLSAgICAgICAgICAgICAgICAgICAgICAgICAg QUNfUlVOX0lGRUxTRSgKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICBbQUNfTEFOR19QUk9H UkFNKAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1sjaW5jbHVkZSA8ZGxmY24uaD5d XSwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtbdm9pZCogaCA9IGRsb3BlbigiJHtM SUJTSU5HVUxBUl9QQVRIfSIsIFJUTERfTEFaWSB8IFJUTERfR0xPQkFMKTsKLS0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgaWYgKGggPT0gMCkgeyByZXR1cm4gMTsgfSBlbHNlIHsgcmV0 dXJuIGRsY2xvc2UoaCk7IH1dXQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICldLCBbCi0t ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBQ19NU0dfUkVTVUxUKHllcykKLS0gICAgICAg ICAgICAgICAgICAgICAgICAgICBdLCBbCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFD X01TR19SRVNVTFQobm8pCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhZ2Vfc3BrZ19p bnN0YWxsX3Npbmd1bGFyPXllcwotLSAgICAgICAgICAgICAgICAgICAgICAgICAgXSwgW0FDX01T R19SRVNVTFQoeWVzKV0pCi0tICAgICAgICAgICAgICAgICAgICAgICAgXSwgW0FDX01TR19SRVNV TFQoeWVzKV0pCi0tCi0tICAgICAgICAgICAgICAgICAgICAgIEFDX0xBTkdfUE9QKCkKLS0gICAg ICAgICAgICAgICAgICAgICAgTElCUz0iJHtPUklHX0xJQlN9IgotLSAgICAgICAgICAgICAgICAg ICAgIF0KLS0gICAgICAgKV0sIFsKLSsgICAgICAgXSwgWwotICAgICAgICBBQ19NU0dfUkVTVUxU KG5vKQotICAgICAgICBzYWdlX3Nwa2dfaW5zdGFsbF9zaW5ndWxhcj15ZXMKLSAgICAgICAgXQot QEAgLTY0LDIwICsxOSw0IEBAIFNBR0VfU1BLR19DT05GSUdVUkUoW3Npbmd1bGFyXSwgWwotICAg ICAgIF0pCi0gICAgIF0pCi0gICBdKQotLV0sW10sW10sWwotLSAgZG5sIFBvc3QtY2hlY2sgcGhh c2UKLS0gIGRubCBXZSBtYWtlIHRoZSBzYWdlX2NvbmYgc3Vic3RpdHV0aW9ucyBoZXJlLCBiZWNh dXNlIHRoZSAiZGVmYXVsdCIKLS0gIGRubCBzdWJzdGl0dXRpb24gbmVlZHMgdG8gYmUgbWFkZSBl dmVuIGlmIHdlIHNraXBwZWQgdGhlIHN5c3RlbS1TaW5ndWxhcgotLSAgZG5sIGNoZWNrcyB0aGVt c2VsdmVzLgotLSAgQVNfSUYoW3Rlc3QgIngke3NhZ2Vfc3BrZ19pbnN0YWxsX3Npbmd1bGFyfSIg PSAieHllcyJdLCBbCi0tICAgIEFTX0NBU0UoWyRob3N0X29zXSwKLS0gICAgICBbY3lnd2luKl0s IFtkbmwgTm90aGluZyB0byBkbwotLSAgICAgICAgICAgICAgICAgXSwKLS0gICAgICAgICAgICAg ICAgIFtkbmwgU2V0IHNoYXJlZCBsaWJyYXJ5IHBhdGgsIG5lZWRlZCBmb3IgcmVsb2FkaW5nIHRo ZSBsaWJyYXJ5IHdpdGggUlRMRF9HTE9CQUwKLS0gICAgICAgICAgICAgICAgICBMSUJTSU5HVUxB Ul9QQVRIPSJcJFNBR0VfTE9DQUwvbGliL2xpYlNpbmd1bGFyLiR7YWNsX3NobGliZXh0fSIKLS0g ICAgICAgICAgICAgICAgIF0KLS0gICAgKQotLSAgXSkKLS0KLS0gIEFDX1NVQlNUKExJQlNJTkdV TEFSX1BBVEgsICIke0xJQlNJTkdVTEFSX1BBVEh9IikKLSBdKQotZGlmZiAtLWdpdCBhL3BrZ3Mv c2FnZS1jb25mL19zYWdlX2NvbmYvX2NvbmYucHkuaW4gYi9wa2dzL3NhZ2UtY29uZi9fc2FnZV9j b25mL19jb25mLnB5LmluCi1pbmRleCA2Y2QyOGY1Li5kNjZiZGIzIDEwMDY0NAotLS0tIGEvcGtn cy9zYWdlLWNvbmYvX3NhZ2VfY29uZi9fY29uZi5weS5pbgotKysrIGIvcGtncy9zYWdlLWNvbmYv X3NhZ2VfY29uZi9fY29uZi5weS5pbgotQEAgLTU1LDkgKzU1LDYgQEAgVEhSRUVKU19ESVIgPSBT QUdFX0xPQ0FMICsgIi9zaGFyZS90aHJlZWpzLXNhZ2UiCi0gT1BFTk1QX0NGTEFHUyA9ICJAT1BF Tk1QX0NGTEFHU0AiCi0gT1BFTk1QX0NYWEZMQUdTID0gIkBPUEVOTVBfQ1hYRkxBR1NAIgotIAot LSMgVGhlIGZ1bGwgYWJzb2x1dGUgcGF0aCB0byB0aGUgbWFpbiBTaW5ndWxhciBsaWJyYXJ5Lgot LUxJQlNJTkdVTEFSX1BBVEggPSAiQExJQlNJTkdVTEFSX1BBVEhAIi5yZXBsYWNlKCckU0FHRV9M T0NBTCcsIFNBR0VfTE9DQUwpCi0tCi0gIyBJbnN0YWxsYXRpb24gbG9jYXRpb24gb2Ygd2hlZWxz LiBUaGlzIGlzIGRldGVybWluZWQgYXQgY29uZmlndXJhdGlvbiB0aW1lCi0gIyBhbmQgZG9lcyBu b3QgZGVwZW5kIG9uIHRoZSBpbnN0YWxsYXRpb24gbG9jYXRpb24gb2Ygc2FnZS1jb25mLgotIFNB R0VfU1BLR19XSEVFTFMgPSAiQFNBR0VfVkVOVkAiLnJlcGxhY2UoJyR7U0FHRV9MT0NBTH0nLCBT QUdFX0xPQ0FMKSArICIvdmFyL2xpYi9zYWdlL3doZWVscyIKLWRpZmYgLS1naXQgYS9zcmMvc2Fn ZS9lbnYucHkgYi9zcmMvc2FnZS9lbnYucHkKLWluZGV4IDkxMWYzNGIuLjkzZjc5ZGUgMTAwNjQ0 Ci0tLS0gYS9zcmMvc2FnZS9lbnYucHkKLSsrKyBiL3NyYy9zYWdlL2Vudi5weQotQEAgLTIyOSwx MiArMjI5LDYgQEAgTlRMX0xJQkRJUiA9IHZhcigiTlRMX0xJQkRJUiIpCi0gTElFX0lORk9fRElS ID0gdmFyKCJMSUVfSU5GT19ESVIiLCBqb2luKFNBR0VfTE9DQUwsICJsaWIiLCAiTGlFIikpCi0g U0lOR1VMQVJfQklOID0gdmFyKCJTSU5HVUxBUl9CSU4iKSBvciAiU2luZ3VsYXIiCi0gCi0tIyBU aGUgcGF0aCB0byBsaWJTaW5ndWxhciwgdG8gYmUgcGFzc2VkIHRvIGRsb3BlbigpLiBUaGlzIHdp bGwKLS0jIHR5cGljYWxseSBiZSBzZXQgdG8gYW4gYWJzb2x1dGUgcGF0aCBpbiBzYWdlX2NvbmYs IGJ1dCB0aGUgcmVsYXRpdmUKLS0jIGZhbGxiYWNrIHBhdGggaGVyZSB3b3JrcyBvbiBzeXN0ZW1z IHdoZXJlIGRsb3BlbigpIHNlYXJjaGVzIHRoZQotLSMgc3lzdGVtJ3MgbGlicmFyeSBsb2NhdGlv bnMuCi0tTElCU0lOR1VMQVJfUEFUSCA9IHZhcigiTElCU0lOR1VMQVJfUEFUSCIsICJsaWJTaW5n dWxhci5zbyIpCi0tCi0gIyBPcGVuTVAKLSBPUEVOTVBfQ0ZMQUdTID0gdmFyKCJPUEVOTVBfQ0ZM QUdTIiwgIiIpCi0gT1BFTk1QX0NYWEZMQUdTID0gdmFyKCJPUEVOTVBfQ1hYRkxBR1MiLCAiIikK LS0tIAotY2dpdCB2MS4wLTEtZ2Q4OGUKLQotCi1Gcm9tIDkyZTVhMjExYzc5MmY4NmY1MzI1ZDYw MWFiZmRkZjY2N2RhNmE3NzYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04 P3E/R29uemFsbz0yMFRvcm5hcj1DMz1BRGE/PSA8dG9ybmFyaWFAY21hdC5lZHUudXk+Ci1EYXRl OiBGcmksIDQgTWFyIDIwMjIgMTU6NDk6MjYgLTAzMDAKLVN1YmplY3Q6IFJldmVydCAic3JjL3Nh Z2UvaW50ZXJmYWNlcy9nYXBfd29ya3NwYWNlLnB5OiBVc2UgaGFzaCBvZiBHQVBfU08gdG8KLSBk aXNhbWJpZ3VhdGUgdGhlIHdvcmtzcGFjZSBmaWxlLCBub3QgU0FHRV9MT0NBTCIKLQotVGhpcyBy ZXZlcnRzIGNvbW1pdCBhODAxZTZkODViZDQyMGI2MGVhNzViMTY3MTg1NmViNDNhYzZiMThiLgot Ci1TZWUgIzMzNDQ2LgotLS0tCi0gc3JjL3NhZ2UvaW50ZXJmYWNlcy9nYXBfd29ya3NwYWNlLnB5 IHwgNyArKy0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlv bnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9zYWdlL2ludGVyZmFjZXMvZ2FwX3dvcmtzcGFjZS5w eSBiL3NyYy9zYWdlL2ludGVyZmFjZXMvZ2FwX3dvcmtzcGFjZS5weQotaW5kZXggMzNhODdkZC4u OTUzZGM4NSAxMDA2NDQKLS0tLSBhL3NyYy9zYWdlL2ludGVyZmFjZXMvZ2FwX3dvcmtzcGFjZS5w eQotKysrIGIvc3JjL3NhZ2UvaW50ZXJmYWNlcy9nYXBfd29ya3NwYWNlLnB5Ci1AQCAtMTYsNyAr MTYsNyBAQCBTdXBwb3J0IGZvciAobGliKUdBUCB3b3Jrc3BhY2UgZmlsZXMKLSBpbXBvcnQgb3MK LSBpbXBvcnQgdGltZQotIGltcG9ydCBoYXNobGliCi0tZnJvbSBzYWdlLmVudiBpbXBvcnQgRE9U X1NBR0UsIEdBUF9TTwotK2Zyb20gc2FnZS5lbnYgaW1wb3J0IERPVF9TQUdFLCBTQUdFX0xPQ0FM Ci0gCi0gCi0gZGVmIGdhcF93b3Jrc3BhY2VfZmlsZShzeXN0ZW09ImdhcCIsIG5hbWU9Indvcmtz cGFjZSIsIGRpcj1Ob25lKToKLUBAIC01OSwxMCArNTksNyBAQCBkZWYgZ2FwX3dvcmtzcGFjZV9m aWxlKHN5c3RlbT0iZ2FwIiwgbmFtZT0id29ya3NwYWNlIiwgZGlyPU5vbmUpOgotICAgICBpZiBk aXIgaXMgTm9uZToKLSAgICAgICAgIGRpciA9IG9zLnBhdGguam9pbihET1RfU0FHRSwgJ2dhcCcp Ci0gCi0tICAgIGlmIEdBUF9TTzoKLS0gICAgICAgIGggPSBoYXNobGliLnNoYTEoR0FQX1NPLmVu Y29kZSgndXRmLTgnKSkuaGV4ZGlnZXN0KCkKLS0gICAgZWxzZToKLS0gICAgICAgIGggPSAndW5r bm93bicKLSsgICAgaCA9IGhhc2hsaWIuc2hhMShTQUdFX0xPQ0FMLmVuY29kZSgndXRmLTgnKSku aGV4ZGlnZXN0KCkKLSAgICAgcmV0dXJuIG9zLnBhdGguam9pbihkaXIsICclcy0lcy0lcycgJSAo c3lzdGVtLCBuYW1lLCBoKSkKLSAKLSAKLS0tIAotY2dpdCB2MS4wLTEtZ2Q4OGUKLQotCi1Gcm9t IGI0NWU1NTViNTcxMWFlMTBkMzY5YjU2ODMzMzk0MGMyYWE3NzEwNTMgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCi1Gcm9tOiA9P1VURi04P3E/R29uemFsbz0yMFRvcm5hcj1DMz1BRGE/PSA8dG9y bmFyaWFAY21hdC5lZHUudXk+Ci1EYXRlOiBGcmksIDQgTWFyIDIwMjIgMTY6Mzg6NDkgLTAzMDAK LVN1YmplY3Q6IGdhcDogcmVtb3ZlIEdBUF9TTywgbm8gbG9uZ2VyIG5lZWRlZAotCi0tLS0KLSBz cmMvc2FnZS9lbnYucHkgfCA3NSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgNzUgZGVsZXRpb25zKC0pCi0K LWRpZmYgLS1naXQgYS9zcmMvc2FnZS9lbnYucHkgYi9zcmMvc2FnZS9lbnYucHkKLWluZGV4IDkz Zjc5ZGUuLmMxNmEwOTQgMTAwNjQ0Ci0tLS0gYS9zcmMvc2FnZS9lbnYucHkKLSsrKyBiL3NyYy9z YWdlL2Vudi5weQotQEAgLTI0OSw4MSArMjQ5LDYgQEAgaWYgU0FHRV9HQVBfTUVNT1JZIGlzIG5v dCBOb25lOgotIFNBR0VfR0FQX0NPTU1BTkQgPSB2YXIoJ1NBR0VfR0FQX0NPTU1BTkQnLCBfZ2Fw X2NtZCkKLSAKLSAKLS1kZWYgX2dldF9zaGFyZWRfbGliX3BhdGgoKmxpYm5hbWVzOiBzdHIpIC0+ IE9wdGlvbmFsW3N0cl06Ci0tICAgICIiIgotLSAgICBSZXR1cm4gdGhlIGZ1bGwgcGF0aCB0byBh IHNoYXJlZCBsaWJyYXJ5IGZpbGUgaW5zdGFsbGVkIGluCi0tICAgIGBgJFNBR0VfTE9DQUwvbGli YGAgb3IgdGhlIGRpcmVjdG9yaWVzIGFzc29jaWF0ZWQgd2l0aCB0aGUKLS0gICAgUHl0aG9uIHN5 c2NvbmZpZy4KLS0KLS0gICAgVGhpcyBjYW4gYWxzbyBiZSBwYXNzZWQgbW9yZSB0aGFuIG9uZSBs aWJyYXJ5IG5hbWUgKGUuZy4gZm9yIGNhc2VzIHdoZXJlCi0tICAgIHNvbWUgbGlicmFyeSBtYXkg aGF2ZSBtdWx0aXBsZSBuYW1lcyBkZXBlbmRpbmcgb24gdGhlIHBsYXRmb3JtKSBpbiB3aGljaAot LSAgICBjYXNlIHRoZSBmaXJzdCBvbmUgZm91bmQgaXMgcmV0dXJuZWQuCi0tCi0tICAgIFRoaXMg c3VwcG9ydHMgbW9zdCAqTklYIHZhcmlhbnRzIChpbiB3aGljaCBgYGxpYjxsaWJuYW1lPi5zb2Bg IGlzIGZvdW5kCi0tICAgIHVuZGVyIGBgJFNBR0VfTE9DQUwvbGliYGApLCBtYWNPUyAoc2FtZSwg YnV0IHdpdGggdGhlIGBgLmR5bGliYGAKLS0gICAgZXh0ZW5zaW9uKSwgYW5kIEN5Z3dpbiAodW5k ZXIgYGAkU0FHRV9MT0NBTC9iaW4vY3lnPGxpYm5hbWU+LmRsbGBgLAotLSAgICBvciBgYCRTQUdF X0xPQ0FML2Jpbi9jeWc8bGlibmFtZT4tKi5kbGxgYCBmb3IgdmVyc2lvbmVkIERMTHMpLgotLQot LSAgICBGb3IgZGlzdHJpYnV0aW9ucyBsaWtlIERlYmlhbiB0aGF0IHVzZSBhIG11bHRpYXJjaCBs YXlvdXQsIHdlIGFsc28gdHJ5IHRoZQotLSAgICBtdWx0aWFyY2ggbGliIHBhdGhzIChpLmUuIGBg L3Vzci9saWIvPGFyY2g+L2BgKS4KLS0KLS0gICAgVGhpcyByZXR1cm5zIGBgTm9uZWBgIGlmIG5v IG1hdGNoaW5nIGxpYnJhcnkgZmlsZSBjb3VsZCBiZSBmb3VuZC4KLS0KLS0gICAgRVhBTVBMRVM6 OgotLQotLSAgICAgICAgc2FnZTogZnJvbSBzYWdlLmVudiBpbXBvcnQgX2dldF9zaGFyZWRfbGli X3BhdGgKLS0gICAgICAgIHNhZ2U6ICJnYXAiIGluIF9nZXRfc2hhcmVkX2xpYl9wYXRoKCJnYXAi KQotLSAgICAgICAgVHJ1ZQotLSAgICAgICAgc2FnZTogX2dldF9zaGFyZWRfbGliX3BhdGgoImFu X2Fic3VyZF9saWIiKSBpcyBOb25lCi0tICAgICAgICBUcnVlCi0tCi0tICAgICIiIgotLQotLSAg ICBmb3IgbGlibmFtZSBpbiBsaWJuYW1lczoKLS0gICAgICAgIHNlYXJjaF9kaXJlY3Rvcmllczog TGlzdFtQYXRoXSA9IFtdCi0tICAgICAgICBwYXR0ZXJuczogTGlzdFtzdHJdID0gW10KLS0gICAg ICAgIGlmIHN5cy5wbGF0Zm9ybSA9PSAnY3lnd2luJzoKLS0gICAgICAgICAgICAjIExhdGVyIGRv d24gd2UgdGFrZSB0aGUgZmlyc3QgbWF0Y2hpbmcgRExMIGZvdW5kLCBzbyBzZWFyY2gKLS0gICAg ICAgICAgICAjIFNBR0VfTE9DQUwgZmlyc3Qgc28gdGhhdCBpdCB0YWtlcyBwcmVjZWRlbmNlCi0t ICAgICAgICAgICAgaWYgU0FHRV9MT0NBTDoKLS0gICAgICAgICAgICAgICAgc2VhcmNoX2RpcmVj dG9yaWVzLmFwcGVuZChQYXRoKFNBR0VfTE9DQUwpIC8gJ2JpbicpCi0tICAgICAgICAgICAgc2Vh cmNoX2RpcmVjdG9yaWVzLmFwcGVuZChQYXRoKHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcignQklO RElSJykpKQotLSAgICAgICAgICAgICMgTm90ZTogVGhlIGZvbGxvd2luZyBpcyBub3QgdmVyeSBy b2J1c3QsIHNpbmNlIGlmIHRoZXJlIGFyZSBtdWx0aWJsZQotLSAgICAgICAgICAgICMgdmVyc2lv bnMgZm9yIHRoZSBzYW1lIGxpYnJhcnkgdGhpcyBqdXN0IHNlbGVjdHMgb25lIG1vcmUgb3IgbGVz cwotLSAgICAgICAgICAgICMgYXQgYXJiaXRyYXJ5LiBIb3dldmVyLCBwcmFjdGljYWxseSBzcGVh a2luZywgb24gQ3lnd2luLCB0aGVyZQotLSAgICAgICAgICAgICMgd2lsbCBvbmx5IGV2ZXIgYmUg b25lIHZlcnNpb24KLS0gICAgICAgICAgICBwYXR0ZXJucyA9IFtmJ2N5Z3tsaWJuYW1lfS5kbGwn LCBmJ2N5Z3tsaWJuYW1lfS0qLmRsbCddCi0tICAgICAgICBlbHNlOgotLSAgICAgICAgICAgIGlm IHN5cy5wbGF0Zm9ybSA9PSAnZGFyd2luJzoKLS0gICAgICAgICAgICAgICAgZXh0ID0gJ2R5bGli JwotLSAgICAgICAgICAgIGVsc2U6Ci0tICAgICAgICAgICAgICAgIGV4dCA9ICdzbycKLS0KLS0g ICAgICAgICAgICBpZiBTQUdFX0xPQ0FMOgotLSAgICAgICAgICAgICAgICBzZWFyY2hfZGlyZWN0 b3JpZXMuYXBwZW5kKFBhdGgoU0FHRV9MT0NBTCkgLyAnbGliJykKLS0gICAgICAgICAgICBsaWJk aXIgPSBzeXNjb25maWcuZ2V0X2NvbmZpZ192YXIoJ0xJQkRJUicpCi0tICAgICAgICAgICAgaWYg bGliZGlyIGlzIG5vdCBOb25lOgotLSAgICAgICAgICAgICAgICBsaWJkaXIgPSBQYXRoKGxpYmRp cikKLS0gICAgICAgICAgICAgICAgc2VhcmNoX2RpcmVjdG9yaWVzLmFwcGVuZChsaWJkaXIpCi0t Ci0tICAgICAgICAgICAgICAgIG11bHRpYXJjaGxpYiA9IHN5c2NvbmZpZy5nZXRfY29uZmlnX3Zh cignTVVMVElBUkNIJykKLS0gICAgICAgICAgICAgICAgaWYgbXVsdGlhcmNobGliIGlzIG5vdCBO b25lOgotLSAgICAgICAgICAgICAgICAgICAgc2VhcmNoX2RpcmVjdG9yaWVzLmFwcGVuZChsaWJk aXIgLyBtdWx0aWFyY2hsaWIpLAotLQotLSAgICAgICAgICAgIHBhdHRlcm5zID0gW2YnbGlie2xp Ym5hbWV9LntleHR9J10KLS0KLS0gICAgICAgIGZvciBkaXJlY3RvcnkgaW4gc2VhcmNoX2RpcmVj dG9yaWVzOgotLSAgICAgICAgICAgIGZvciBwYXR0ZXJuIGluIHBhdHRlcm5zOgotLSAgICAgICAg ICAgICAgICBwYXRoID0gbmV4dChkaXJlY3RvcnkuZ2xvYihwYXR0ZXJuKSwgTm9uZSkKLS0gICAg ICAgICAgICAgICAgaWYgcGF0aCBpcyBub3QgTm9uZToKLS0gICAgICAgICAgICAgICAgICAgIHJl dHVybiBzdHIocGF0aC5yZXNvbHZlKCkpCi0tCi0tICAgICMgSnVzdCByZXR1cm4gTm9uZSBpZiBu byBmaWxlcyB3ZXJlIGZvdW5kCi0tICAgIHJldHVybiBOb25lCi0tCi0tIyBsb2NhdGUgbGliZ2Fw IHNoYXJlZCBvYmplY3QKLS1HQVBfU08gPSB2YXIoIkdBUF9TTyIsIF9nZXRfc2hhcmVkX2xpYl9w YXRoKCJnYXAiLCAiIikpCi0tCi0gIyBwb3N0IHByb2Nlc3MKLSBpZiBET1RfU0FHRSBpcyBub3Qg Tm9uZSBhbmQgJyAnIGluIERPVF9TQUdFOgotICAgICBpZiBVTkFNRVs6Nl0gPT0gJ0NZR1dJTic6 Ci0tLSAKLWNnaXQgdjEuMC0xLWdkODhlCi0KLQotRnJvbSAzMWUzZmM0ZWM4Yjg2ODdiY2NkMjJk MmUzMTYxYzg2Y2Y1NTUzZTA2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYt OD9xP0dvbnphbG89MjBUb3JuYXI9QzM9QURhPz0gPHRvcm5hcmlhQGNtYXQuZWR1LnV5PgotRGF0 ZTogU3VuLCA2IE1hciAyMDIyIDEyOjEwOjM3IC0wMzAwCi1TdWJqZWN0OiBnYXBfd29ya3NwYWNl X2ZpbGU6IGluY2x1ZGUgaG9zdG5hbWUgYW5kIGdhcCB2ZXJzaW9uCi0KLS0tLQotIHNyYy9zYWdl L2ludGVyZmFjZXMvZ2FwX3dvcmtzcGFjZS5weSB8IDExICsrKysrKysrLS0tCi0gMSBmaWxlIGNo YW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3Ny Yy9zYWdlL2ludGVyZmFjZXMvZ2FwX3dvcmtzcGFjZS5weSBiL3NyYy9zYWdlL2ludGVyZmFjZXMv Z2FwX3dvcmtzcGFjZS5weQotaW5kZXggOTUzZGM4NS4uOGMwM2I2YiAxMDA2NDQKLS0tLSBhL3Ny Yy9zYWdlL2ludGVyZmFjZXMvZ2FwX3dvcmtzcGFjZS5weQotKysrIGIvc3JjL3NhZ2UvaW50ZXJm YWNlcy9nYXBfd29ya3NwYWNlLnB5Ci1AQCAtMTYsNyArMTYsOCBAQCBTdXBwb3J0IGZvciAobGli KUdBUCB3b3Jrc3BhY2UgZmlsZXMKLSBpbXBvcnQgb3MKLSBpbXBvcnQgdGltZQotIGltcG9ydCBo YXNobGliCi0tZnJvbSBzYWdlLmVudiBpbXBvcnQgRE9UX1NBR0UsIFNBR0VfTE9DQUwKLStpbXBv cnQgc3VicHJvY2VzcwotK2Zyb20gc2FnZS5lbnYgaW1wb3J0IERPVF9TQUdFLCBTQUdFX0xPQ0FM LCBIT1NUTkFNRSwgR0FQX1JPT1RfRElSCi0gCi0gCi0gZGVmIGdhcF93b3Jrc3BhY2VfZmlsZShz eXN0ZW09ImdhcCIsIG5hbWU9IndvcmtzcGFjZSIsIGRpcj1Ob25lKToKLUBAIC01OSw4ICs2MCwx MiBAQCBkZWYgZ2FwX3dvcmtzcGFjZV9maWxlKHN5c3RlbT0iZ2FwIiwgbmFtZT0id29ya3NwYWNl IiwgZGlyPU5vbmUpOgotICAgICBpZiBkaXIgaXMgTm9uZToKLSAgICAgICAgIGRpciA9IG9zLnBh dGguam9pbihET1RfU0FHRSwgJ2dhcCcpCi0gCi0tICAgIGggPSBoYXNobGliLnNoYTEoU0FHRV9M T0NBTC5lbmNvZGUoJ3V0Zi04JykpLmhleGRpZ2VzdCgpCi0tICAgIHJldHVybiBvcy5wYXRoLmpv aW4oZGlyLCAnJXMtJXMtJXMnICUgKHN5c3RlbSwgbmFtZSwgaCkpCi0rICAgIGRhdGEgPSBTQUdF X0xPQ0FMCi0rICAgIHN5c2luZm8gPSBvcy5wYXRoLmpvaW4oR0FQX1JPT1RfRElSLCAic3lzaW5m by5nYXAiKQotKyAgICBpZiBvcy5wYXRoLmV4aXN0cyhzeXNpbmZvKToKLSsgICAgICAgIGRhdGEg Kz0gc3VicHJvY2Vzcy5nZXRvdXRwdXQoZicuICJ7c3lzaW5mb30iICYmIGVjaG8gIjokR0FQX1ZF UlNJT046JEdBUGFyY2giJykKLSsgICAgaCA9IGhhc2hsaWIuc2hhMShkYXRhLmVuY29kZSgndXRm LTgnKSkuaGV4ZGlnZXN0KCkKLSsgICAgcmV0dXJuIG9zLnBhdGguam9pbihkaXIsICclcy0lcy0l cy0lcycgJSAoc3lzdGVtLCBuYW1lLCBIT1NUTkFNRSwgaCkpCi0gCi0gCi0gZGVmIHByZXBhcmVf d29ya3NwYWNlX2RpcihkaXI9Tm9uZSk6Ci0tLSAKLWNnaXQgdjEuMC0xLWdkODhlCi0KZGlmZiAt LWdpdCBhL3NyY3BrZ3Mvc2FnZW1hdGgvcGF0Y2hlcy90cmFjLTMzODQyLTAxLXB5dGhvbl8zLjEx LWRlMzhiYWMyMWUyLnBhdGNoIGIvc3JjcGtncy9zYWdlbWF0aC9wYXRjaGVzL3RyYWMtMzM4NDIt MDEtcHl0aG9uXzMuMTEtZGUzOGJhYzIxZTIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDcwYjFmZWQ5OWNlNC4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3Mvc2FnZW1hdGgv cGF0Y2hlcy90cmFjLTMzODQyLTAxLXB5dGhvbl8zLjExLWRlMzhiYWMyMWUyLnBhdGNoCisrKyAv ZGV2L251bGwKQEAgLTEsNjYgKzAsMCBAQAotRnJvbSBkZTM4YmFjMjFlMjc2YzZkYmE5NWI4YjMz Zjc0NTdhMGFjNTZiZGViIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTWF0dGhpYXMg S29lcHBlIDxta29lcHBlQG1hdGgudWNkYXZpcy5lZHU+Ci1EYXRlOiBUdWUsIDI1IE9jdCAyMDIy IDE5OjQzOjUzIC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0hdIHNyYy9zYWdlOiBBcHBseSBweXRob24t My4xMS5wYXRjaCBmcm9tCi0gaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNr YWdlcy9jb21taXQvNjIyOWYzMTM0NTBlY2FlODg3NDNiNGQ1ZTk5ZGEyZWQ0ZGU0NGUwNwotCi0t LS0KLSBzcmMvc2FnZS9jcHl0aG9uL2N5dGhvbl9tZXRhY2xhc3MuaCB8IDIgKy0KLSBzcmMvc2Fn ZS9saWJzL2dtcC9weWxvbmcucHl4ICAgICAgICB8IDggKysrLS0tLS0KLSBzcmMvc2FnZS9zeW1i b2xpYy9naW5hYy9udW1lcmljLmNwcCB8IDEgLQotIDMgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRp b25zKCspLCA3IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3NhZ2UvY3B5dGhvbi9j eXRob25fbWV0YWNsYXNzLmggYi9zcmMvc2FnZS9jcHl0aG9uL2N5dGhvbl9tZXRhY2xhc3MuaAot aW5kZXggY2M2MjBhNGRhYzcuLjY0ODczNDJiNzFlIDEwMDY0NAotLS0tIGEvc3JjL3NhZ2UvY3B5 dGhvbi9jeXRob25fbWV0YWNsYXNzLmgKLSsrKyBiL3NyYy9zYWdlL2NweXRob24vY3l0aG9uX21l dGFjbGFzcy5oCi1AQCAtNjYsNyArNjYsNyBAQCBzdGF0aWMgQ1lUSE9OX0lOTElORSBpbnQgU2Fn ZV9QeVR5cGVfUmVhZHkoUHlUeXBlT2JqZWN0KiB0KQotICAgICAgICAgfQotIAotICAgICAgICAg LyogTm93LCBzZXQgdC5fX2NsYXNzX18gdG8gbWV0YWNsYXNzICovCi0tICAgICAgICBQeV9UWVBF KHQpID0gbWV0YWNsYXNzOwotKyAgICAgICAgUHlfU0VUX1RZUEUodCwgbWV0YWNsYXNzKTsKLSAg ICAgICAgIFB5VHlwZV9Nb2RpZmllZCh0KTsKLSAgICAgfQotICAgICBlbHNlCi1kaWZmIC0tZ2l0 IGEvc3JjL3NhZ2UvbGlicy9nbXAvcHlsb25nLnB5eCBiL3NyYy9zYWdlL2xpYnMvZ21wL3B5bG9u Zy5weXgKLWluZGV4IDM4OGJlMzJjNTVlLi5lNzcyYjYwZTNlMCAxMDA2NDQKLS0tLSBhL3NyYy9z YWdlL2xpYnMvZ21wL3B5bG9uZy5weXgKLSsrKyBiL3NyYy9zYWdlL2xpYnMvZ21wL3B5bG9uZy5w eXgKLUBAIC0zMiw3ICszMiw3IEBAIGZyb20gY3B5dGhvbi5sb25naW50cmVwciBjaW1wb3J0IF9Q eUxvbmdfTmV3LCBweV9sb25nLCBkaWdpdCwgUHlMb25nX1NISUZUCi0gZnJvbSAubXB6IGNpbXBv cnQgKgotIAotIGNkZWYgZXh0ZXJuIGZyb20gKjoKLS0gICAgUHlfc3NpemVfdCogUHlfU0laRV9Q VFIgIiZQeV9TSVpFIihvYmplY3QpCi0rICAgIHZvaWQgUHlfU0VUX1NJWkUob2JqZWN0LCBQeV9z c2l6ZV90KQotICAgICBpbnQgaGFzaF9iaXRzICIiIgotICAgICAgICAgI2lmZGVmIF9QeUhBU0hf QklUUwotICAgICAgICAgX1B5SEFTSF9CSVRTICAgICAgICAgLyogUHl0aG9uIDMgKi8KLUBAIC01 NywxMCArNTcsOCBAQCBjZGVmIG1wel9nZXRfcHlsb25nX2xhcmdlKG1wel9zcmNwdHIgeik6Ci0g ICAgIG1wel9leHBvcnQoTC5vYl9kaWdpdCwgTlVMTCwKLSAgICAgICAgICAgICAtMSwgc2l6ZW9m KGRpZ2l0KSwgMCwgUHlMb25nX25haWxzLCB6KQotICAgICBpZiBtcHpfc2duKHopIDwgMDoKLS0g ICAgICAgICMgU2V0IGNvcnJlY3Qgc2l6ZSAodXNlIGEgcG9pbnRlciB0byBoYWNrIGFyb3VuZCBD eXRob24ncwotLSAgICAgICAgIyBub24tc3VwcG9ydCBmb3IgbHZhbHVlcykuCi0tICAgICAgICBz aXplcHRyID0gUHlfU0laRV9QVFIoTCkKLS0gICAgICAgIHNpemVwdHJbMF0gPSAtcHlsb25nX3Np emUKLSsgICAgICAgICMgU2V0IGNvcnJlY3Qgc2l6ZQotKyAgICAgICAgUHlfU0VUX1NJWkUoTCwg LXB5bG9uZ19zaXplKQotICAgICByZXR1cm4gTAotIAotIAotZGlmZiAtLWdpdCBhL3NyYy9zYWdl L3N5bWJvbGljL2dpbmFjL251bWVyaWMuY3BwIGIvc3JjL3NhZ2Uvc3ltYm9saWMvZ2luYWMvbnVt ZXJpYy5jcHAKLWluZGV4IDIyMDYwNDQxNzYwLi5iNDBlZDY0ZWRiNSAxMDA2NDQKLS0tLSBhL3Ny Yy9zYWdlL3N5bWJvbGljL2dpbmFjL251bWVyaWMuY3BwCi0rKysgYi9zcmMvc2FnZS9zeW1ib2xp Yy9naW5hYy9udW1lcmljLmNwcAotQEAgLTUyLDcgKzUyLDYgQEAKLSAjZGVmaW5lIHJlZ2lzdGVy Ci0gI2RlZmluZSBQWV9TU0laRV9UX0NMRUFOCi0gI2luY2x1ZGUgPFB5dGhvbi5oPgotLSNpbmNs dWRlIDxsb25naW50cmVwci5oPgotICNpbmNsdWRlICJmbGludC9mbXB6LmgiCi0gI2luY2x1ZGUg ImZsaW50L2ZtcHpfZmFjdG9yLmgiCi0gCi0tLSAKLTIuMzguMQotCmRpZmYgLS1naXQgYS9zcmNw a2dzL3NhZ2VtYXRoL3BhdGNoZXMvdHJhYy0zMzg0Mi0wMi1weXRob25fMy4xMS1hcmdzcGVjLWZp eC05ZWIwOGYzYWZkZS5wYXRjaCBiL3NyY3BrZ3Mvc2FnZW1hdGgvcGF0Y2hlcy90cmFjLTMzODQy LTAyLXB5dGhvbl8zLjExLWFyZ3NwZWMtZml4LTllYjA4ZjNhZmRlLnBhdGNoCmRlbGV0ZWQgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwYmIxZjVmNjhiMGUuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNw a2dzL3NhZ2VtYXRoL3BhdGNoZXMvdHJhYy0zMzg0Mi0wMi1weXRob25fMy4xMS1hcmdzcGVjLWZp eC05ZWIwOGYzYWZkZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE2OCArMCwwIEBACi1Gcm9t IDllYjA4ZjNhZmRlMzI2NmJiZDY2N2UxOTY1MTMyNDBhMGZlMjQ1ZjQgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCi1Gcm9tOiBNYXR0aGlhcyBLb2VwcGUgPG1rb2VwcGVAbWF0aC51Y2RhdmlzLmVk dT4KLURhdGU6IFR1ZSwgMjUgT2N0IDIwMjIgMjI6NTI6NTYgLTA3MDAKLVN1YmplY3Q6IFtQQVRD SF0gaW5zcGVjdC5BcmdTcGVjIC0+IGluc3BlY3QuRnVsbEFyZ1NwZWMKLQotLS0tCi0gc3JjL3Nh Z2UvbWlzYy9jYWNoZWZ1bmMucHl4ICAgICAgICAgfCAgNCArKy0tCi0gc3JjL3NhZ2UvbWlzYy9k ZWNvcmF0b3JzLnB5ICAgICAgICAgfCAgNiArKysrLS0KLSBzcmMvc2FnZS9taXNjL2Z1bmN0aW9u X21hbmdsaW5nLnB5eCB8ICAyICstCi0gc3JjL3NhZ2UvbWlzYy9zYWdlaW5zcGVjdC5weSAgICAg ICAgfCAyNCArKysrKysrKysrKysrLS0tLS0tLS0tLS0KLSA0IGZpbGVzIGNoYW5nZWQsIDIwIGlu c2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3NhZ2UvbWlz Yy9jYWNoZWZ1bmMucHl4IGIvc3JjL3NhZ2UvbWlzYy9jYWNoZWZ1bmMucHl4Ci1pbmRleCA5ZmE5 NjdjZTczNy4uNzIwNDJlZjEzZDYgMTAwNjQ0Ci0tLS0gYS9zcmMvc2FnZS9taXNjL2NhY2hlZnVu Yy5weXgKLSsrKyBiL3NyYy9zYWdlL21pc2MvY2FjaGVmdW5jLnB5eAotQEAgLTI4MTgsNyArMjgx OCw3IEBAIGNkZWYgY2xhc3MgQ2FjaGVkTWV0aG9kKCk6Ci0gICAgICAgICAgICAgICAgIGV4Y2Vw dCBFeGNlcHRpb246Ci0gICAgICAgICAgICAgICAgICAgICBwYXNzCi0gICAgICAgICAgICAgaWYg c2VsZi5uYXJncyA9PSAwOgotLSAgICAgICAgICAgICAgICBhcmdzLCB2YXJhcmdzLCBrZXl3b3Jk cywgZGVmYXVsdHMgPSBzYWdlX2dldGFyZ3NwZWMoZikKLSsgICAgICAgICAgICAgICAgYXJncywg dmFyYXJncywga2V5d29yZHMsIGRlZmF1bHRzLCBrd29ubHlhcmdzLCBrd29ubHlkZWZhdWx0cywg YW5ub3RhdGlvbnMgPSBzYWdlX2dldGFyZ3NwZWMoZikKLSAgICAgICAgICAgICAgICAgaWYgdmFy YXJncyBpcyBOb25lIGFuZCBrZXl3b3JkcyBpcyBOb25lIGFuZCBsZW4oYXJncyk8PTE6Ci0gICAg ICAgICAgICAgICAgICAgICBzZWxmLm5hcmdzID0gMQotICAgICAgICAgICAgICAgICBlbHNlOgot QEAgLTI5NTQsNyArMjk1NCw3IEBAIGNkZWYgY2xhc3MgQ2FjaGVkU3BlY2lhbE1ldGhvZChDYWNo ZWRNZXRob2QpOgotICAgICAgICAgIyB3ZSBuZWVkIHRvIGFuYWx5c2UgdGhlIGFyZ3NwZWMKLSAg ICAgICAgIGYgPSBzZWxmLl9jYWNoZWRmdW5jLmYKLSAgICAgICAgIGlmIHNlbGYubmFyZ3MgPT0g MDoKLS0gICAgICAgICAgICBhcmdzLCB2YXJhcmdzLCBrZXl3b3JkcywgZGVmYXVsdHMgPSBzYWdl X2dldGFyZ3NwZWMoZikKLSsgICAgICAgICAgICBhcmdzLCB2YXJhcmdzLCBrZXl3b3JkcywgZGVm YXVsdHMsIGt3b25seWFyZ3MsIGt3b25seWRlZmF1bHRzLCBhbm5vdGF0aW9ucyA9IHNhZ2VfZ2V0 YXJnc3BlYyhmKQotICAgICAgICAgICAgIGlmIHZhcmFyZ3MgaXMgTm9uZSBhbmQga2V5d29yZHMg aXMgTm9uZSBhbmQgbGVuKGFyZ3MpPD0xOgotICAgICAgICAgICAgICAgICBzZWxmLm5hcmdzID0g MQotICAgICAgICAgICAgICAgICBDYWxsZXIgPSBDYWNoZWRNZXRob2RDYWxsZXJOb0FyZ3MoaW5z dCwgZiwgbmFtZT1uYW1lLCBkb19waWNrbGU9c2VsZi5fY2FjaGVkZnVuYy5kb19waWNrbGUpCi1k aWZmIC0tZ2l0IGEvc3JjL3NhZ2UvbWlzYy9kZWNvcmF0b3JzLnB5IGIvc3JjL3NhZ2UvbWlzYy9k ZWNvcmF0b3JzLnB5Ci1pbmRleCAyOGM1MjQ0ODgxMy4uMzExYTUxMDU3MzkgMTAwNjQ0Ci0tLS0g YS9zcmMvc2FnZS9taXNjL2RlY29yYXRvcnMucHkKLSsrKyBiL3NyYy9zYWdlL21pc2MvZGVjb3Jh dG9ycy5weQotQEAgLTMyLDcgKzMyLDggQEAgZnJvbSBjb3B5IGltcG9ydCBjb3B5Ci0gCi0gZnJv bSBzYWdlLm1pc2Muc2FnZWluc3BlY3QgaW1wb3J0IChzYWdlX2dldHNvdXJjZSwgc2FnZV9nZXRz b3VyY2VsaW5lcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhZ2VfZ2V0 YXJnc3BlYykKLS1mcm9tIGluc3BlY3QgaW1wb3J0IEFyZ1NwZWMKLSsKLStmcm9tIGluc3BlY3Qg aW1wb3J0IEZ1bGxBcmdTcGVjCi0gCi0gCi0gZGVmIHNhZ2Vfd3JhcHMod3JhcHBlZCwgYXNzaWdu ZWQ9V1JBUFBFUl9BU1NJR05NRU5UUywgdXBkYXRlZD1XUkFQUEVSX1VQREFURVMpOgotQEAgLTQ5 OSw3ICs1MDAsOCBAQCBjbGFzcyBvcHRpb25zKCk6Ci0gICAgICAgICAgICAgICAgICAgICBsaXN0 KHNlbGYub3B0aW9ucykpCi0gICAgICAgICAgICAgZGVmYXVsdHMgPSAoYXJnc3BlYy5kZWZhdWx0 cyBvciAoKSkgKyB0dXBsZShzZWxmLm9wdGlvbnMudmFsdWVzKCkpCi0gICAgICAgICAgICAgIyBO b3RlOiBhcmdzcGVjLmRlZmF1bHRzIGlzIG5vdCBhbHdheXMgYSB0dXBsZSBmb3Igc29tZSByZWFz b24KLS0gICAgICAgICAgICByZXR1cm4gQXJnU3BlYyhhcmdzLCBhcmdzcGVjLnZhcmFyZ3MsIGFy Z3NwZWMua2V5d29yZHMsIGRlZmF1bHRzKQotKyAgICAgICAgICAgIHJldHVybiBGdWxsQXJnU3Bl YyhhcmdzLCBhcmdzcGVjLnZhcmFyZ3MsIGFyZ3NwZWMua2V5d29yZHMsIGRlZmF1bHRzLAotKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrd29ubHlhcmdzPVtdLCBrd29ubHlkZWZhdWx0 cz17fSwgYW5ub3RhdGlvbnM9e30pCi0gCi0gICAgICAgICB3cmFwcGVyLl9zYWdlX2FyZ3NwZWNf ID0gYXJnc3BlYwotIAotZGlmZiAtLWdpdCBhL3NyYy9zYWdlL21pc2MvZnVuY3Rpb25fbWFuZ2xp bmcucHl4IGIvc3JjL3NhZ2UvbWlzYy9mdW5jdGlvbl9tYW5nbGluZy5weXgKLWluZGV4IDBhYzAz Y2YwNzE1Li5lMWJiNzk3ODk1MyAxMDA2NDQKLS0tLSBhL3NyYy9zYWdlL21pc2MvZnVuY3Rpb25f bWFuZ2xpbmcucHl4Ci0rKysgYi9zcmMvc2FnZS9taXNjL2Z1bmN0aW9uX21hbmdsaW5nLnB5eAot QEAgLTExNiw3ICsxMTYsNyBAQCBjZGVmIGNsYXNzIEFyZ3VtZW50Rml4ZXI6Ci0gICAgICIiIgot ICAgICBkZWYgX19pbml0X18oc2VsZiwgZiwgY2xhc3NtZXRob2QgPSBGYWxzZSk6Ci0gICAgICAg ICB0cnk6Ci0tICAgICAgICAgICAgYXJnX25hbWVzLCB2YXJhcmdzLCB2YXJrdywgZGVmYXVsdHMg PSBzYWdlX2dldGFyZ3NwZWMoZikKLSsgICAgICAgICAgICBhcmdfbmFtZXMsIHZhcmFyZ3MsIHZh cmt3LCBkZWZhdWx0cywga3dvbmx5YXJncywga3dvbmx5ZGVmYXVsdHMsIGFubm90YXRpb25zID0g c2FnZV9nZXRhcmdzcGVjKGYpCi0gICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6Ci0gICAg ICAgICAgICAgIyBUaGlzIGVycm9yIG9jY3VycyBpZiBmIGlzIGRlZmluZWQgaW4gYSBDeXRob24g ZmlsZSBhbmQgdGhlCi0gICAgICAgICAgICAgIyBzb3VyY2UgZmlsZSBoYXMgZ29uZS4KLWRpZmYg LS1naXQgYS9zcmMvc2FnZS9taXNjL3NhZ2VpbnNwZWN0LnB5IGIvc3JjL3NhZ2UvbWlzYy9zYWdl aW5zcGVjdC5weQotaW5kZXggZmJjYTJkZWZjMjAuLmEzODIxY2I1NmI5IDEwMDY0NAotLS0tIGEv c3JjL3NhZ2UvbWlzYy9zYWdlaW5zcGVjdC5weQotKysrIGIvc3JjL3NhZ2UvbWlzYy9zYWdlaW5z cGVjdC5weQotQEAgLTM1OSw3ICszNTksNyBAQCBkZWYgX2V4dHJhY3RfZW1iZWRkZWRfc2lnbmF0 dXJlKGRvY3N0cmluZywgbmFtZSk6Ci0gICAgICAgICBkb2NzdHJpbmcgPSBMWzFdIGlmIGxlbihM KSA+IDEgZWxzZSAnJyAgIyBSZW1vdmUgZmlyc3QgbGluZSwga2VlcCB0aGUgcmVzdAotICAgICAg ICAgZGVmX3N0cmluZyA9ICJkZWYgIiArIG5hbWUgKyBzaWduYXR1cmUgKyAiOiBwYXNzIgotICAg ICAgICAgdHJ5OgotLSAgICAgICAgICAgIHJldHVybiBkb2NzdHJpbmcsIGluc3BlY3QuQXJnU3Bl YygqX3NhZ2VfZ2V0YXJnc3BlY19jeXRob24oZGVmX3N0cmluZykpCi0rICAgICAgICAgICAgcmV0 dXJuIGRvY3N0cmluZywgaW5zcGVjdC5GdWxsQXJnU3BlYygqX3NhZ2VfZ2V0YXJnc3BlY19jeXRo b24oZGVmX3N0cmluZykpCi0gICAgICAgICBleGNlcHQgU3ludGF4RXJyb3I6Ci0gICAgICAgICAg ICAgZG9jc3RyaW5nID0gb3MubGluZXNlcC5qb2luKEwpCi0gICAgIHJldHVybiBkb2NzdHJpbmcs IE5vbmUKLUBAIC0xMTM1LDggKzExMzUsOSBAQCBkZWYgX3NhZ2VfZ2V0YXJnc3BlY19mcm9tX2Fz dChzb3VyY2UpOgotICAgICB2YXJhcmcgPSBnZXRhdHRyKGFzdF9hcmdzLnZhcmFyZywgJ2FyZycs IE5vbmUpCi0gICAgIGt3YXJnID0gZ2V0YXR0cihhc3RfYXJncy5rd2FyZywgJ2FyZycsIE5vbmUp Ci0gCi0tICAgIHJldHVybiBpbnNwZWN0LkFyZ1NwZWMoYXJncywgdmFyYXJnLCBrd2FyZywKLS0g ICAgICAgICAgICAgICAgICAgICAgICAgICB0dXBsZShkZWZhdWx0cykgaWYgZGVmYXVsdHMgZWxz ZSBOb25lKQotKyAgICByZXR1cm4gaW5zcGVjdC5GdWxsQXJnU3BlYyhhcmdzLCB2YXJhcmcsIGt3 YXJnLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dXBsZShkZWZhdWx0cykgaWYg ZGVmYXVsdHMgZWxzZSBOb25lLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrd29u bHlhcmdzPVtdLCBrd29ubHlkZWZhdWx0cz17fSwgYW5ub3RhdGlvbnM9e30pCi0gCi0gCi0gZGVm IF9zYWdlX2dldGFyZ3NwZWNfY3l0aG9uKHNvdXJjZSk6Ci1AQCAtMTE1Miw3ICsxMTUzLDcgQEAg ZGVmIF9zYWdlX2dldGFyZ3NwZWNfY3l0aG9uKHNvdXJjZSk6Ci0gCi0gICAgIE9VVFBVVDoKLSAK LS0gICAgLSBhbiBpbnN0YW5jZSBvZiA6b2JqOmBpbnNwZWN0LkFyZ1NwZWNgLCBpLmUuLCBhIG5h bWVkIHR1cGxlCi0rICAgIC0gYW4gaW5zdGFuY2Ugb2YgOmNsYXNzOmBpbnNwZWN0LkZ1bGxBcmdT cGVjYCwgaS5lLiwgYSBuYW1lZCB0dXBsZQotIAotICAgICBFWEFNUExFUzo6Ci0gCi1AQCAtMTY2 MiwxMSArMTY2MywxMSBAQCBkZWYgc2FnZV9nZXRhcmdzcGVjKG9iaik6Ci0gICAgICAgICByZXR1 cm4gc2FnZV9nZXRhcmdzcGVjKG9iai5fX2NhbGxfXykKLSAgICAgaWYgaXNpbnN0YW5jZShvYmos IChsYXp5X2F0dHJpYnV0ZSwgQWJzdHJhY3RNZXRob2QpKToKLSAgICAgICAgIHNvdXJjZSA9IHNh Z2VfZ2V0c291cmNlKG9iaikKLS0gICAgICAgIHJldHVybiBpbnNwZWN0LkFyZ1NwZWMoKl9zYWdl X2dldGFyZ3NwZWNfY3l0aG9uKHNvdXJjZSkpCi0rICAgICAgICByZXR1cm4gaW5zcGVjdC5GdWxs QXJnU3BlYygqX3NhZ2VfZ2V0YXJnc3BlY19jeXRob24oc291cmNlKSkKLSAgICAgaWYgbm90IGNh bGxhYmxlKG9iaik6Ci0gICAgICAgICByYWlzZSBUeXBlRXJyb3IoIm9iaiBpcyBub3QgYSBjb2Rl IG9iamVjdCIpCi0gICAgIHRyeToKLS0gICAgICAgIHJldHVybiBpbnNwZWN0LkFyZ1NwZWMoKm9i ai5fc2FnZV9hcmdzcGVjXygpKQotKyAgICAgICAgcmV0dXJuIGluc3BlY3QuRnVsbEFyZ1NwZWMo Km9iai5fc2FnZV9hcmdzcGVjXygpKQotICAgICBleGNlcHQgKEF0dHJpYnV0ZUVycm9yLCBUeXBl RXJyb3IpOgotICAgICAgICAgcGFzcwotICAgICAjIElmIHdlIGFyZSBsdWNreSwgdGhlIGZ1bmN0 aW9uIHNpZ25hdHVyZSBpcyBlbWJlZGRlZCBpbiB0aGUgZG9jc3RyaW5nLgotQEAgLTE2ODIsNyAr MTY4Myw3IEBAIGRlZiBzYWdlX2dldGFyZ3NwZWMob2JqKToKLSAgICAgICAgICMgTm90ZSB0aGF0 IHRoaXMgbWF5IGdpdmUgYSB3cm9uZyByZXN1bHQgZm9yIHRoZSBjb25zdGFudHMhCi0gICAgICAg ICB0cnk6Ci0gICAgICAgICAgICAgYXJncywgdmFyYXJncywgdmFya3cgPSBpbnNwZWN0LmdldGFy Z3Mob2JqLl9fY29kZV9fKQotLSAgICAgICAgICAgIHJldHVybiBpbnNwZWN0LkFyZ1NwZWMoYXJn cywgdmFyYXJncywgdmFya3csIG9iai5fX2RlZmF1bHRzX18pCi0rICAgICAgICAgICAgcmV0dXJu IGluc3BlY3QuRnVsbEFyZ1NwZWMoYXJncywgdmFyYXJncywgdmFya3csIG9iai5fX2RlZmF1bHRz X18pCi0gICAgICAgICBleGNlcHQgKFR5cGVFcnJvciwgQXR0cmlidXRlRXJyb3IpOgotICAgICAg ICAgICAgIHBhc3MKLSAgICAgaWYgaXNjbGFzc2luc3RhbmNlKG9iaik6Ci1AQCAtMTcxNyw3ICsx NzE4LDcgQEAgZGVmIHNhZ2VfZ2V0YXJnc3BlYyhvYmopOgotICAgICAgICAgZXhjZXB0IFR5cGVF cnJvcjogIyBoYXBwZW5zIGZvciBQeXRob24gYnVpbHRpbnMKLSAgICAgICAgICAgICBzb3VyY2Ug PSAnJwotICAgICAgICAgaWYgc291cmNlOgotLSAgICAgICAgICAgIHJldHVybiBpbnNwZWN0LkFy Z1NwZWMoKl9zYWdlX2dldGFyZ3NwZWNfY3l0aG9uKHNvdXJjZSkpCi0rICAgICAgICAgICAgcmV0 dXJuIGluc3BlY3QuRnVsbEFyZ1NwZWMoKl9zYWdlX2dldGFyZ3NwZWNfY3l0aG9uKHNvdXJjZSkp Ci0gICAgICAgICBlbHNlOgotICAgICAgICAgICAgIGZ1bmNfb2JqID0gb2JqCi0gCi1AQCAtMTcz MCw3ICsxNzMxLDcgQEAgZGVmIHNhZ2VfZ2V0YXJnc3BlYyhvYmopOgotICAgICAgICAgZXhjZXB0 IFR5cGVFcnJvcjogIyBhcmcgaXMgbm90IGEgY29kZSBvYmplY3QKLSAgICAgICAgICAgICAjIFRo ZSBhYm92ZSAiaG9wZWZ1bGx5IiB3YXMgd2lzaGZ1bCB0aGlua2luZzoKLSAgICAgICAgICAgICB0 cnk6Ci0tICAgICAgICAgICAgICAgIHJldHVybiBpbnNwZWN0LkFyZ1NwZWMoKl9zYWdlX2dldGFy Z3NwZWNfY3l0aG9uKHNhZ2VfZ2V0c291cmNlKG9iaikpKQotKyAgICAgICAgICAgICAgICByZXR1 cm4gaW5zcGVjdC5GdWxsQXJnU3BlYygqX3NhZ2VfZ2V0YXJnc3BlY19jeXRob24oc2FnZV9nZXRz b3VyY2Uob2JqKSkpCi0gICAgICAgICAgICAgZXhjZXB0IFR5cGVFcnJvcjogIyBUaGlzIGhhcHBl bnMgZm9yIFB5dGhvbiBidWlsdGlucwotICAgICAgICAgICAgICAgICAjIFRoZSBiZXN0IHdlIGNh biBkbyBpcyB0byByZXR1cm4gYSBnZW5lcmljIGFyZ3NwZWMKLSAgICAgICAgICAgICAgICAgYXJn cyA9IFtdCi1AQCAtMTc0MCw3ICsxNzQxLDggQEAgZGVmIHNhZ2VfZ2V0YXJnc3BlYyhvYmopOgot ICAgICAgICAgZGVmYXVsdHMgPSBmdW5jX29iai5fX2RlZmF1bHRzX18KLSAgICAgZXhjZXB0IEF0 dHJpYnV0ZUVycm9yOgotICAgICAgICAgZGVmYXVsdHMgPSBOb25lCi0tICAgIHJldHVybiBpbnNw ZWN0LkFyZ1NwZWMoYXJncywgdmFyYXJncywgdmFya3csIGRlZmF1bHRzKQotKyAgICByZXR1cm4g aW5zcGVjdC5GdWxsQXJnU3BlYyhhcmdzLCB2YXJhcmdzLCB2YXJrdywgZGVmYXVsdHMsCi0rICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGt3b25seWFyZ3M9W10sIGt3b25seWRlZmF1bHRz PXt9LCBhbm5vdGF0aW9ucz17fSkKLSAKLSAKLSBkZWYgZm9ybWF0YW5ub3RhdGlvbihhbm5vdGF0 aW9uLCBiYXNlX21vZHVsZT1Ob25lKToKLUBAIC0xODExLDcgKzE4MTMsNyBAQCBkZWYgc2FnZV9m b3JtYXRhcmdzcGVjKGFyZ3MsIHZhcmFyZ3M9Tm9uZSwgdmFya3c9Tm9uZSwgZGVmYXVsdHM9Tm9u ZSwKLSAgICAgOmZ1bmM6YHNhZ2VfZ2V0YXJnc3BlY2AuIFNpbmNlIDpmdW5jOmBzYWdlX2dldGFy Z3NwZWNgIHdvcmtzIGZvcgotICAgICBDeXRob24gZnVuY3Rpb25zIHdoaWxlIFB5dGhvbidzIGlu c3BlY3QgbW9kdWxlIGRvZXMgbm90LCBpdCBtYWtlcwotICAgICBzZW5zZSB0byBrZWVwIHRoaXMg ZnVuY3Rpb24gZm9yIGZvcm1hdHRpbmcgaW5zdGFuY2VzIG9mCi0tICAgIGBgaW5zcGVjdC5BcmdT cGVjYGAuCi0rICAgIGBgaW5zcGVjdC5GdWxsQXJnU3BlY2BgLgotIAotICAgICBFWEFNUExFUzo6 Ci0gCi0tLSAKLTIuMzguMQotCmRpZmYgLS1naXQgYS9zcmNwa2dzL3NhZ2VtYXRoL3BhdGNoZXMv dHJhYy0zMzg0Mi0wMy1weXRob24zLjExLWZpbmFsX2ZpeGVzLTdiNmZhNTY1ZjQyLnBhdGNoIGIv c3JjcGtncy9zYWdlbWF0aC9wYXRjaGVzL3RyYWMtMzM4NDItMDMtcHl0aG9uMy4xMS1maW5hbF9m aXhlcy03YjZmYTU2NWY0Mi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2Qy ZmExMTYyMmMzLi4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9zYWdlbWF0aC9wYXRjaGVzL3Ry YWMtMzM4NDItMDMtcHl0aG9uMy4xMS1maW5hbF9maXhlcy03YjZmYTU2NWY0Mi5wYXRjaAorKysg L2Rldi9udWxsCkBAIC0xLDEyNzkgKzAsMCBAQAotRnJvbSA4OTU1NjA3YzcxY2I5NGU0YTgxMGI4 OWYxMTNiN2IyMjBhMzUxNDE3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYt OD9xP0dvbnphbG89MjBUb3JuYXI9QzM9QURhPz0gPHRvcm5hcmlhQGNtYXQuZWR1LnV5PgotRGF0 ZTogU3VuLCA2IE5vdiAyMDIyIDExOjI2OjEwIC0wMzAwCi1TdWJqZWN0OiBbUEFUQ0ggMDEvMTFd IGRpY3RfZGVsX2J5X3ZhbHVlOiBtb3ZlIHB5dGhvbiBpbnRlcm5hbCBkZWZpbml0aW9ucyB0bwot IGEgc2VwYXJhdGUgZmlsZQotCi0tLS0KLSBzcmMvc2FnZS9jcHl0aG9uL2RpY3RfZGVsX2J5X3Zh bHVlLnB5eCB8IDE1MyArKysrKysrKy0tLS0tLS0tLS0tLS0tLQotIHNyYy9zYWdlL2NweXRob24v ZGljdF9pbnRlcm5hbC5oICAgICAgIHwgMTY1ICsrKysrKysrKysrKysrKysrKysrKysrKysKLSAy IGZpbGVzIGNoYW5nZWQsIDIxNCBpbnNlcnRpb25zKCspLCAxMDQgZGVsZXRpb25zKC0pCi0gY3Jl YXRlIG1vZGUgMTAwNjQ0IHNyYy9zYWdlL2NweXRob24vZGljdF9pbnRlcm5hbC5oCi0KLWRpZmYg LS1naXQgYS9zcmMvc2FnZS9jcHl0aG9uL2RpY3RfZGVsX2J5X3ZhbHVlLnB5eCBiL3NyYy9zYWdl L2NweXRob24vZGljdF9kZWxfYnlfdmFsdWUucHl4Ci1pbmRleCA0ODhiZjljODRjYy4uMzg5NDU1 NGMxM2QgMTAwNjQ0Ci0tLS0gYS9zcmMvc2FnZS9jcHl0aG9uL2RpY3RfZGVsX2J5X3ZhbHVlLnB5 eAotKysrIGIvc3JjL3NhZ2UvY3B5dGhvbi9kaWN0X2RlbF9ieV92YWx1ZS5weXgKLUBAIC0xOSwx MyArMTksOCBAQCBBVVRIT1JTOgotICMgICAgICAgICAgICAgICAgICBodHRwczovL3d3dy5nbnUu b3JnL2xpY2Vuc2VzLwotICMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotIAotLWltcG9ydCB3ZWFrcmVm Ci0tZnJvbSB3ZWFrcmVmIGltcG9ydCBLZXllZFJlZgotLQotIGZyb20gY3B5dGhvbi5saXN0IGNp bXBvcnQgUHlMaXN0X05ldwotLWZyb20gY3B5dGhvbiBjaW1wb3J0IFB5X1hJTkNSRUYsIFB5X1hE RUNSRUYKLSAKLS1mcm9tIGxpYmMuc3RkaW50IGNpbXBvcnQgaW50OF90LCBpbnQxNl90LCBpbnQz Ml90LCBpbnQ2NF90Ci0gY2RlZiBleHRlcm4gZnJvbSAiUHl0aG9uLmgiOgotICAgICBjdHlwZWRl ZiBzdHJ1Y3QgUHlEaWN0S2V5c09iamVjdAotIAotQEAgLTM0LDk5ICsyOSw0NyBAQCBjZGVmIGV4 dGVybiBmcm9tICJQeXRob24uaCI6Ci0gICAgICAgICBQeURpY3RLZXlzT2JqZWN0ICogbWFfa2V5 cwotICAgICAgICAgUHlPYmplY3QgKiogbWFfdmFsdWVzCi0gCi0tICAgICN3ZSBuZWVkIHRoaXMg cmVkZWZpbml0aW9uIGJlY2F1c2Ugd2Ugd2FudCB0byBiZSBhYmxlIHRvIGNhbGwKLS0gICAgI1B5 V2Vha3JlZl9HZXRPYmplY3Qgd2l0aCBib3Jyb3dlZCByZWZlcmVuY2VzLiBUaGlzIGlzIHRoZSBy ZWNvbW1lbmRlZAotLSAgICAjc3RyYXRlZ3kgYWNjb3JkaW5nIHRvIEN5dGhvbi9JbmNsdWRlcy9j cHl0aG9uL19faW5pdF9fLnB4ZAotLSAgICBQeU9iamVjdCogUHlXZWFrcmVmX0dldE9iamVjdChQ eU9iamVjdCAqIHdyKQotICAgICBpbnQgUHlMaXN0X1NldEl0ZW0ob2JqZWN0IGxpc3QsIFB5X3Nz aXplX3QgaW5kZXgsIFB5T2JqZWN0ICogaXRlbSkgZXhjZXB0IC0xCi0tICAgIGludCBQeVdlYWty ZWZfQ2hlY2soUHlPYmplY3QgKiBvYikKLS0jIyMjCi0tI2RlZmluaXRpb25zIHJlcGxpY2F0ZWQg ZnJvbSBDUHl0aG9uJ3MgT2JqZWN0cy9kaWN0LWNvbW1vbi5oCi0tIyh0aGlzIGZpbGUgaXMgbm90 IGV4cG9ydGVkIGZyb20gQ1B5dGhvbiwgc28gd2UgbmVlZCB0byBiZQotLSNjYXJlZnVsIHRoZSBk ZWZpbml0aW9ucyBhcmUgaW4gc3RlcCB3aXRoIHdoYXQgaGFwcGVucyB0aGVyZS4KLS0KLS1jdHlw ZWRlZiB2b2lkKiBkaWN0X2xvb2t1cF9mdW5jICAjIFByZWNpc2UgZGVmaW5pdGlvbiBub3QgbmVl ZGVkCi0tCi0tY3R5cGVkZWYgdW5pb24gSW5kZXhCbG9jazoKLS0gICAgaW50OF90IGFzXzFbOF0K LS0gICAgaW50MTZfdCBhc18yWzRdCi0tICAgIGludDMyX3QgYXNfNFsyXQotLSAgICBpbnQ2NF90 IGFzXzhbMV0KLS0KLS1jdHlwZWRlZiBzdHJ1Y3QgTXlQeURpY3RLZXlzT2JqZWN0OgotLSAgICBQ eV9zc2l6ZV90IGRrX3JlZmNudAotLSAgICBQeV9zc2l6ZV90IGRrX3NpemUKLS0gICAgZGljdF9s b29rdXBfZnVuYyBka19sb29rdXAKLS0gICAgUHlfc3NpemVfdCBka191c2FibGUKLS0gICAgUHlf c3NpemVfdCBka19uZW50cmllcwotLSAgICBJbmRleEJsb2NrIGRrX2luZGljZXMKLS0KLS1jdHlw ZWRlZiBzdHJ1Y3QgUHlEaWN0S2V5RW50cnk6Ci0tICAgIFB5X2hhc2hfdCBtZV9oYXNoCi0tICAg IFB5T2JqZWN0ICogbWVfa2V5Ci0tICAgIFB5T2JqZWN0ICogbWVfdmFsdWUKLS0KLS1jZGVmIFB5 X3NzaXplX3QgREtJWF9FTVBUWSA9IC0xCi0tY2RlZiBQeV9zc2l6ZV90IERLSVhfRFVNTVkgPSAt MgotLWNkZWYgUHlfc3NpemVfdCBES0lYX0VSUk9SID0gLTMKLS0KLS0jIyMjIwotLSNUaGVzZSBy b3V0aW5lcyBhcmUgY29waWVkIGZyb20gQ1B5dGhvbidzIE9iamVjdC9kaWN0b2JqZWN0LmMKLS0j aW4gb3JkZXIgdG8gYWNjZXNzIFB5RGljdEtleXNPYmplY3QgZmllbGRzCi0tCi0tY2RlZiBpbmxp bmUgaW50IERLX0lYU0laRShNeVB5RGljdEtleXNPYmplY3QgKmtleXMpOgotLSAgICBjZGVmIFB5 X3NzaXplX3QgcyA9IGtleXMuZGtfc2l6ZQotLSAgICBpZiBzIDw9IDB4ZmY6Ci0tICAgICAgICBy ZXR1cm4gMQotLSAgICBlbGlmIHMgPD0gMHhmZmZmOgotLSAgICAgICAgcmV0dXJuIDIKLS0gICAg ZWxpZiBzIDw9IDB4ZmZmZmZmZmY6Ci0tICAgICAgICByZXR1cm4gNAotLSAgICBlbHNlOgotLSAg ICAgICAgcmV0dXJuIDgKLS0KLS1jZGVmIGlubGluZSBQeURpY3RLZXlFbnRyeSAqIERLX0VOVFJJ RVMoTXlQeURpY3RLZXlzT2JqZWN0ICprZXlzKToKLS0gICAgcmV0dXJuIDxQeURpY3RLZXlFbnRy eSo+ICYoa2V5cy5ka19pbmRpY2VzLmFzXzFba2V5cy5ka19zaXplICogREtfSVhTSVpFKGtleXMp XSkKLS0KLS1jZGVmIGlubGluZSBQeV9zc2l6ZV90IGRrX2dldF9pbmRleChNeVB5RGljdEtleXNP YmplY3QgKmtleXMsIFB5X3NzaXplX3QgaSk6Ci0tICAgIGNkZWYgUHlfc3NpemVfdCBzID0ga2V5 cy5ka19zaXplCi0tICAgIGlmIHMgPD0gMHhmZjoKLS0gICAgICAgIHJldHVybiBrZXlzLmRrX2lu ZGljZXMuYXNfMVtpXQotLSAgICBlbGlmIHMgPD0gMHhmZmZmOgotLSAgICAgICAgcmV0dXJuIGtl eXMuZGtfaW5kaWNlcy5hc18yW2ldCi0tICAgIGVsaWYgcyA8PSAweGZmZmZmZmZmOgotLSAgICAg ICAgcmV0dXJuIGtleXMuZGtfaW5kaWNlcy5hc180W2ldCi0tICAgIGVsc2U6Ci0tICAgICAgICBy ZXR1cm4ga2V5cy5ka19pbmRpY2VzLmFzXzhbaV0KLS0KLS1jZGVmIGlubGluZSB2b2lkIGRrX3Nl dF9pbmRleChNeVB5RGljdEtleXNPYmplY3QgKmtleXMsIFB5X3NzaXplX3QgaSwgUHlfc3NpemVf dCBpeCk6Ci0tICAgIGNkZWYgUHlfc3NpemVfdCBzID0ga2V5cy5ka19zaXplCi0tICAgIGlmIHMg PD0gMHhmZjoKLS0gICAgICAgIGtleXMuZGtfaW5kaWNlcy5hc18xW2ldID0gaXgKLS0gICAgZWxp ZiBzIDw9IDB4ZmZmZjoKLS0gICAgICAgIGtleXMuZGtfaW5kaWNlcy5hc18yW2ldID0gaXgKLS0g ICAgZWxpZiBzIDw9IDB4ZmZmZmZmZmY6Ci0tICAgICAgICBrZXlzLmRrX2luZGljZXMuYXNfNFtp XSA9IGl4Ci0tICAgIGVsc2U6Ci0tICAgICAgICBrZXlzLmRrX2luZGljZXMuYXNfOFtpXSA9IGl4 Ci0tCi0tI0VuZCBvZiByZXBsaWNhdGlvbiBvZiBPYmplY3QvZGljdG9iamVjdC5jCi0tIyMjIyMj Ci0tCi0tY2RlZiBkaWN0X2xvb2t1cF9mdW5jIGxvb2tkaWN0Ci0tCi0tY2RlZiBkaWN0X2xvb2t1 cF9mdW5jIERLX0xPT0tVUChQeURpY3RPYmplY3QgKm1wKToKLS0gICAgcmV0dXJuICg8TXlQeURp Y3RLZXlzT2JqZWN0ICo+KG1wLm1hX2tleXMpKS5ka19sb29rdXAKLS0KLS1kZWYgaW5pdF9sb29r ZGljdCgpOgotLSAgICBnbG9iYWwgbG9va2RpY3QKLS0gICAgIyBBIGRpY3Qgd2hpY2ggYSBub24t c3RyaW5nIGtleSB1c2VzIHRoZSBnZW5lcmljICJsb29rZGljdCIKLS0gICAgIyBhcyBsb29rdXAg ZnVuY3Rpb24KLS0gICAgY2RlZiBvYmplY3QgRCA9IHt9Ci0tICAgIERbMF0gPSAwCi0tICAgIGxv b2tkaWN0ID0gREtfTE9PS1VQKDxQeURpY3RPYmplY3QgKj5EKQotLQotLWluaXRfbG9va2RpY3Qo KQotKwotK2NkZWYgZXh0ZXJuIGZyb20gImRpY3RfaW50ZXJuYWwuaCI6Ci0rICAgIFB5X3NzaXpl X3QgREtfTUFTSyhQeURpY3RLZXlzT2JqZWN0ICopCi0rICAgIFB5RGljdEtleUVudHJ5ICogREtf RU5UUklFUyhQeURpY3RLZXlzT2JqZWN0ICprZXlzKQotKwotKyAgICBQeV9zc2l6ZV90IGRpY3Rr ZXlzX2dldF9pbmRleCAoUHlEaWN0S2V5c09iamVjdCAqa2V5cywgUHlfc3NpemVfdCBpKQotKyAg ICB2b2lkIGRpY3RrZXlzX3NldF9pbmRleCAoUHlEaWN0S2V5c09iamVjdCAqa2V5cywgUHlfc3Np emVfdCBpLCBQeV9zc2l6ZV90IGl4KQotKwotKyAgICBQeV9zc2l6ZV90IERLSVhfRU1QVFksIERL SVhfRFVNTVkKLSsgICAgaW50IFBFUlRVUkJfU0hJRlQKLSsKLSsgICAgY3R5cGVkZWYgc3RydWN0 IFB5RGljdEtleUVudHJ5OgotKyAgICAgICAgUHlfaGFzaF90IG1lX2hhc2gKLSsgICAgICAgIFB5 T2JqZWN0ICogbWVfa2V5Ci0rICAgICAgICBQeU9iamVjdCAqIG1lX3ZhbHVlCi0rCi0rCi0rIyBk a19sb29rdXAgd2FzIHJlbW92ZWQgaW4gcHl0aG9uIDMuMTEKLStERUYgSEFTX0RLX0xPT0tVUCA9 IFBZX1ZFUlNJT05fSEVYIDwgMHgzMGIwMDAwCi0rCi0rSUYgSEFTX0RLX0xPT0tVUDoKLSsKLSsg ICAgY2RlZiBleHRlcm4gZnJvbSAqOgotKyAgICAgICAgIiIiCi0rICAgICAgICAjZGVmaW5lIERL X0xPT0tVUChkaykgKChkayktPmRrX2xvb2t1cCkKLSsgICAgICAgICIiIgotKyAgICAgICAgY3R5 cGVkZWYgdm9pZCAqIGRpY3RfbG9va3VwX2Z1bmMgICMgUHJlY2lzZSBkZWZpbml0aW9uIG5vdCBu ZWVkZWQKLSsgICAgICAgIGRpY3RfbG9va3VwX2Z1bmMgREtfTE9PS1VQKFB5RGljdEtleXNPYmpl Y3QgKm1wKQotKwotKyAgICBjZGVmIGRpY3RfbG9va3VwX2Z1bmMgbG9va2RpY3QKLSsKLSsgICAg ZGVmIGluaXRfbG9va2RpY3QoKToKLSsgICAgICAgIGdsb2JhbCBsb29rZGljdAotKyAgICAgICAg IyBBIGRpY3Qgd2hpY2ggYSBub24tc3RyaW5nIGtleSB1c2VzIHRoZSBnZW5lcmljICJsb29rZGlj dCIKLSsgICAgICAgICMgYXMgbG9va3VwIGZ1bmN0aW9uCi0rICAgICAgICBjZGVmIG9iamVjdCBE ID0ge30KLSsgICAgICAgIERbMF0gPSAwCi0rICAgICAgICBsb29rZGljdCA9IERLX0xPT0tVUCgo PFB5RGljdE9iamVjdCAqPkQpLm1hX2tleXMpCi0rCi0rICAgIGluaXRfbG9va2RpY3QoKQotIAot IGNkZWYgaW50IGRlbF9kaWN0aXRlbV9ieV9leGFjdF92YWx1ZShQeURpY3RPYmplY3QgKm1wLCBQ eU9iamVjdCAqdmFsdWUsIFB5X2hhc2hfdCBoYXNoKSBleGNlcHQgLTE6Ci0gICAgICIiIgotQEAg LTE3Nyw5ICsxMjAsOSBAQCBjZGVmIGludCBkZWxfZGljdGl0ZW1fYnlfZXhhY3RfdmFsdWUoUHlE aWN0T2JqZWN0ICptcCwgUHlPYmplY3QgKnZhbHVlLCBQeV9oYXNoXwotICAgICAgICAgc2FnZTog Zm9yIGkgaW4gcmFuZ2UoMTBeMysxMCk6IG5ld0EgPSBBKCk7IE1bbmV3QV0gPSBwcmV2OyBwcmV2 ID0gbmV3QQotICAgICAgICAgc2FnZTogZGVsIGEKLSAgICAgIiIiCi0tICAgIGtleXMgPSA8TXlQ eURpY3RLZXlzT2JqZWN0ICo+KG1wLm1hX2tleXMpCi0rICAgIGtleXMgPSBtcC5tYV9rZXlzCi0g ICAgIGNkZWYgc2l6ZV90IHBlcnR1cmIKLS0gICAgY2RlZiBzaXplX3QgbWFzayA9IDxzaXplX3Q+ IGtleXMuZGtfc2l6ZS0xCi0rICAgIGNkZWYgc2l6ZV90IG1hc2sgPSBES19NQVNLKGtleXMpCi0g ICAgIGNkZWYgUHlEaWN0S2V5RW50cnkgKmVudHJpZXMgPSBES19FTlRSSUVTKGtleXMpCi0gICAg IGNkZWYgUHlEaWN0S2V5RW50cnkgKmVwCi0gCi1AQCAtMTg3LDcgKzEzMCw3IEBAIGNkZWYgaW50 IGRlbF9kaWN0aXRlbV9ieV9leGFjdF92YWx1ZShQeURpY3RPYmplY3QgKm1wLCBQeU9iamVjdCAq dmFsdWUsIFB5X2hhc2hfCi0gICAgICAgICByYWlzZSBUeXBlRXJyb3IoImRlbF9kaWN0aXRlbV9i eV9leGFjdF92YWx1ZSBjYW5ub3QgYmUgYXBwbGllZCB0byBhIHNoYXJlZCBrZXkgZGljdCIpCi0g Ci0gICAgIGNkZWYgc2l6ZV90IGkgPSA8c2l6ZV90Pmhhc2ggJiBtYXNrCi0tICAgIGl4ID0gZGtf Z2V0X2luZGV4KGtleXMsIGkpCi0rICAgIGl4ID0gZGljdGtleXNfZ2V0X2luZGV4KGtleXMsIGkp Ci0gCi0gICAgIGlmIGl4ID09IERLSVhfRU1QVFk6Ci0gICAgICAgICAjIGtleSBub3QgZm91bmQK LUBAIC0xOTYsOSArMTM5LDkgQEAgY2RlZiBpbnQgZGVsX2RpY3RpdGVtX2J5X2V4YWN0X3ZhbHVl KFB5RGljdE9iamVjdCAqbXAsIFB5T2JqZWN0ICp2YWx1ZSwgUHlfaGFzaF8KLSAgICAgZXAgPSAm KGVudHJpZXNbaXhdKQotICAgICBwZXJ0dXJiID0gaGFzaAotICAgICB3aGlsZSAoZXAubWVfdmFs dWUgIT0gdmFsdWUgb3IgZXAubWVfaGFzaCAhPSBoYXNoKToKLS0gICAgICAgIHBlcnR1cmIgPSBw ZXJ0dXJiID4+IDUgI3RoaXMgaXMgdGhlIHZhbHVlIG9mIFBFUlRVUkJfU0hJRlQKLSsgICAgICAg IHBlcnR1cmIgPSBwZXJ0dXJiID4+IFBFUlRVUkJfU0hJRlQKLSAgICAgICAgIGkgPSBtYXNrICYg KGkgKiA1ICsgcGVydHVyYiArIDEpCi0tICAgICAgICBpeCA9IGRrX2dldF9pbmRleChrZXlzLCBp KQotKyAgICAgICAgaXggPSBkaWN0a2V5c19nZXRfaW5kZXgoa2V5cywgaSkKLSAgICAgICAgIGlm IGl4ID09IERLSVhfRU1QVFk6Ci0gICAgICAgICAgICAgIyBrZXkgbm90IGZvdW5kCi0gICAgICAg ICAgICAgcmV0dXJuIDAKLUBAIC0yMDYsNyArMTQ5LDkgQEAgY2RlZiBpbnQgZGVsX2RpY3RpdGVt X2J5X2V4YWN0X3ZhbHVlKFB5RGljdE9iamVjdCAqbXAsIFB5T2JqZWN0ICp2YWx1ZSwgUHlfaGFz aF8KLSAKLSAgICAgIyBXZSBuZWVkIHRoZSBsb29rdXAgZnVuY3Rpb24gdG8gYmUgdGhlIGdlbmVy aWMgbG9va2RpY3QsIG90aGVyd2lzZQotICAgICAjIGRlbGV0aW9ucyBtYXkgbm90IHdvcmsgY29y cmVjdGx5Ci0tICAgIGtleXMuZGtfbG9va3VwID0gbG9va2RpY3QKLSsgICAgSUYgSEFTX0RLX0xP T0tVUDoKLSsgICAgICAgICMgQ2FuIHRoaXMgZmFpbD8gSW4gYW55IGNhc2UgZGtfbG9va3VwIHdh cyByZW1vdmVkIGluIHB5dGhvbiAzLjExCi0rICAgICAgICBhc3NlcnQgREtfTE9PS1VQKGtleXMp IGlzIGxvb2tkaWN0Ci0gCi0gICAgIFQgPSBQeUxpc3RfTmV3KDIpCi0gICAgIFB5TGlzdF9TZXRJ dGVtKFQsIDAsIGVwLm1lX2tleSkKLUBAIC0yMTQsNyArMTU5LDcgQEAgY2RlZiBpbnQgZGVsX2Rp Y3RpdGVtX2J5X2V4YWN0X3ZhbHVlKFB5RGljdE9iamVjdCAqbXAsIFB5T2JqZWN0ICp2YWx1ZSwg UHlfaGFzaF8KLSAgICAgZXAubWVfa2V5ID0gTlVMTAotICAgICBlcC5tZV92YWx1ZSA9IE5VTEwK LSAgICAgbXAubWFfdXNlZCAtPSAxCi0tICAgIGRrX3NldF9pbmRleChrZXlzLCBpLCBES0lYX0RV TU1ZKQotKyAgICBkaWN0a2V5c19zZXRfaW5kZXgoa2V5cywgaSwgREtJWF9EVU1NWSkKLSAgICAg I1dlIGhhdmUgdHJhbnNmZXJyZWQgdGhlIHRvLWJlLWRlbGV0ZWQgcmVmZXJlbmNlcyB0byB0aGUg bGlzdCBUCi0gICAgICN3ZSBub3cgZGVsZXRlIHRoZSBsaXN0IHNvIHRoYXQgdGhlIGFjdHVhbCBk ZWNyZWYgaGFwcGVucyB0aHJvdWdoIGEKLSAgICAgI2RlYWxsb2NhdGlvbiByb3V0aW5lIHRoYXQg dXNlcyB0aGUgUHl0aG9uIFRyYXNoY2FuIG1hY3JvcyB0bwotZGlmZiAtLWdpdCBhL3NyYy9zYWdl L2NweXRob24vZGljdF9pbnRlcm5hbC5oIGIvc3JjL3NhZ2UvY3B5dGhvbi9kaWN0X2ludGVybmFs LmgKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAwMC4uMDZjN2ExNmIyNzUK LS0tLSAvZGV2L251bGwKLSsrKyBiL3NyYy9zYWdlL2NweXRob24vZGljdF9pbnRlcm5hbC5oCi1A QCAtMCwwICsxLDE2NSBAQAotKy8qIFRoaXMgY29udGFpbnMgaW50ZXJuYWwgZGVmaW5pdGlvbnMg Zm9yIHB5dGhvbiBkaWN0aW9uYXJpZXMsCi0rICogbW9zdGx5IGNvcGllZCBmcm9tIGNweXRob24g c291cmNlY29kZS4KLSsgKgotKyAqIE1vdmVkIGhlcmUgdG8gbWFrZSBpdCBlYXNpZXIgdG8gbWFp bnRhaW4gaW4gdGhlIGZhY2Ugb2YgcHl0aG9uCi0rICogY2hhbmdlcy4KLSsgKiAqLwotKwotKy8q KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KiovCi0rLyogQ29waWVkIHZlcmJhdGltIGZyb20gY3B5dGhvbiAzLjggKE9iamVjdHMvZGljdC1j b21tb24uaCkgKi8KLSsvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqLwotKwotKyNpZm5kZWYgUHlfRElDVF9DT01NT05fSAotKyNkZWZp bmUgUHlfRElDVF9DT01NT05fSAotKwotK3R5cGVkZWYgc3RydWN0IHsKLSsgICAgLyogQ2FjaGVk IGhhc2ggY29kZSBvZiBtZV9rZXkuICovCi0rICAgIFB5X2hhc2hfdCBtZV9oYXNoOwotKyAgICBQ eU9iamVjdCAqbWVfa2V5OwotKyAgICBQeU9iamVjdCAqbWVfdmFsdWU7IC8qIFRoaXMgZmllbGQg aXMgb25seSBtZWFuaW5nZnVsIGZvciBjb21iaW5lZCB0YWJsZXMgKi8KLSt9IFB5RGljdEtleUVu dHJ5OwotKwotKy8qIGRpY3RfbG9va3VwX2Z1bmMoKSByZXR1cm5zIGluZGV4IG9mIGVudHJ5IHdo aWNoIGNhbiBiZSB1c2VkIGxpa2UgREtfRU5UUklFUyhkaylbaW5kZXhdLgotKyAqIC0xIHdoZW4g bm8gZW50cnkgZm91bmQsIC0zIHdoZW4gY29tcGFyZSByYWlzZXMgZXJyb3IuCi0rICovCi0rdHlw ZWRlZiBQeV9zc2l6ZV90ICgqZGljdF9sb29rdXBfZnVuYykKLSsgICAgKFB5RGljdE9iamVjdCAq bXAsIFB5T2JqZWN0ICprZXksIFB5X2hhc2hfdCBoYXNoLCBQeU9iamVjdCAqKnZhbHVlX2FkZHIp OwotKwotKyNkZWZpbmUgREtJWF9FTVBUWSAoLTEpCi0rI2RlZmluZSBES0lYX0RVTU1ZICgtMikg IC8qIFVzZWQgaW50ZXJuYWxseSAqLwotKyNkZWZpbmUgREtJWF9FUlJPUiAoLTMpCi0rCi0rLyog U2VlIGRpY3RvYmplY3QuYyBmb3IgYWN0dWFsIGxheW91dCBvZiBEaWN0S2V5c09iamVjdCAqLwot K3N0cnVjdCBfZGljdGtleXNvYmplY3QgewotKyAgICBQeV9zc2l6ZV90IGRrX3JlZmNudDsKLSsK LSsgICAgLyogU2l6ZSBvZiB0aGUgaGFzaCB0YWJsZSAoZGtfaW5kaWNlcykuIEl0IG11c3QgYmUg YSBwb3dlciBvZiAyLiAqLwotKyAgICBQeV9zc2l6ZV90IGRrX3NpemU7Ci0rCi0rICAgIC8qIEZ1 bmN0aW9uIHRvIGxvb2t1cCBpbiB0aGUgaGFzaCB0YWJsZSAoZGtfaW5kaWNlcyk6Ci0rCi0rICAg ICAgIC0gbG9va2RpY3QoKTogZ2VuZXJhbC1wdXJwb3NlLCBhbmQgbWF5IHJldHVybiBES0lYX0VS Uk9SIGlmIChhbmQKLSsgICAgICAgICBvbmx5IGlmKSBhIGNvbXBhcmlzb24gcmFpc2VzIGFuIGV4 Y2VwdGlvbi4KLSsKLSsgICAgICAgLSBsb29rZGljdF91bmljb2RlKCk6IHNwZWNpYWxpemVkIHRv IFVuaWNvZGUgc3RyaW5nIGtleXMsIGNvbXBhcmlzb24gb2YKLSsgICAgICAgICB3aGljaCBjYW4g bmV2ZXIgcmFpc2UgYW4gZXhjZXB0aW9uOyB0aGF0IGZ1bmN0aW9uIGNhbiBuZXZlciByZXR1cm4K LSsgICAgICAgICBES0lYX0VSUk9SLgotKwotKyAgICAgICAtIGxvb2tkaWN0X3VuaWNvZGVfbm9k dW1teSgpOiBzaW1pbGFyIHRvIGxvb2tkaWN0X3VuaWNvZGUoKSBidXQgZnVydGhlcgotKyAgICAg ICAgIHNwZWNpYWxpemVkIGZvciBVbmljb2RlIHN0cmluZyBrZXlzIHRoYXQgY2Fubm90IGJlIHRo ZSA8ZHVtbXk+IHZhbHVlLgotKwotKyAgICAgICAtIGxvb2tkaWN0X3NwbGl0KCk6IFZlcnNpb24g b2YgbG9va2RpY3QoKSBmb3Igc3BsaXQgdGFibGVzLiAqLwotKyAgICBkaWN0X2xvb2t1cF9mdW5j IGRrX2xvb2t1cDsKLSsKLSsgICAgLyogTnVtYmVyIG9mIHVzYWJsZSBlbnRyaWVzIGluIGRrX2Vu dHJpZXMuICovCi0rICAgIFB5X3NzaXplX3QgZGtfdXNhYmxlOwotKwotKyAgICAvKiBOdW1iZXIg b2YgdXNlZCBlbnRyaWVzIGluIGRrX2VudHJpZXMuICovCi0rICAgIFB5X3NzaXplX3QgZGtfbmVu dHJpZXM7Ci0rCi0rICAgIC8qIEFjdHVhbCBoYXNoIHRhYmxlIG9mIGRrX3NpemUgZW50cmllcy4g SXQgaG9sZHMgaW5kaWNlcyBpbiBka19lbnRyaWVzLAotKyAgICAgICBvciBES0lYX0VNUFRZKC0x KSBvciBES0lYX0RVTU1ZKC0yKS4KLSsKLSsgICAgICAgSW5kaWNlcyBtdXN0IGJlOiAwIDw9IGlu ZGljZSA8IFVTQUJMRV9GUkFDVElPTihka19zaXplKS4KLSsKLSsgICAgICAgVGhlIHNpemUgaW4g Ynl0ZXMgb2YgYW4gaW5kaWNlIGRlcGVuZHMgb24gZGtfc2l6ZToKLSsKLSsgICAgICAgLSAxIGJ5 dGUgaWYgZGtfc2l6ZSA8PSAweGZmIChjaGFyKikKLSsgICAgICAgLSAyIGJ5dGVzIGlmIGRrX3Np emUgPD0gMHhmZmZmIChpbnQxNl90KikKLSsgICAgICAgLSA0IGJ5dGVzIGlmIGRrX3NpemUgPD0g MHhmZmZmZmZmZiAoaW50MzJfdCopCi0rICAgICAgIC0gOCBieXRlcyBvdGhlcndpc2UgKGludDY0 X3QqKQotKwotKyAgICAgICBEeW5hbWljYWxseSBzaXplZCwgU0laRU9GX1ZPSURfUCBpcyBtaW5p bXVtLiAqLwotKyAgICBjaGFyIGRrX2luZGljZXNbXTsgIC8qIGNoYXIgaXMgcmVxdWlyZWQgdG8g YXZvaWQgc3RyaWN0IGFsaWFzaW5nLiAqLwotKwotKyAgICAvKiAiUHlEaWN0S2V5RW50cnkgZGtf ZW50cmllc1tka191c2FibGVdOyIgYXJyYXkgZm9sbG93czoKLSsgICAgICAgc2VlIHRoZSBES19F TlRSSUVTKCkgbWFjcm8gKi8KLSt9OwotKwotKyNlbmRpZgotKwotKwotKy8qKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLSsvKiBDb3Bp ZWQgdmVyYmF0aW0gZnJvbSBjcHl0aG9uIDMuOCAoT2JqZWN0cy9kaWN0b2JqZWN0LmMpICovCi0r LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqLwotKwotKyNkZWZpbmUgUEVSVFVSQl9TSElGVCA1Ci0rI2RlZmluZSBES19TSVpFKGRrKSAo KGRrKS0+ZGtfc2l6ZSkKLSsjaWYgU0laRU9GX1ZPSURfUCA+IDQKLSsjZGVmaW5lIERLX0lYU0la RShkaykgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSsgICAgKERLX1NJWkUoZGspIDw9IDB4 ZmYgPyAgICAgICAgICAgICAgICAgICAgIFwKLSsgICAgICAgIDEgOiBES19TSVpFKGRrKSA8PSAw eGZmZmYgPyAgICAgICAgICAgIFwKLSsgICAgICAgICAgICAyIDogREtfU0laRShkaykgPD0gMHhm ZmZmZmZmZiA/ICAgIFwKLSsgICAgICAgICAgICAgICAgNCA6IHNpemVvZihpbnQ2NF90KSkKLSsj ZWxzZQotKyNkZWZpbmUgREtfSVhTSVpFKGRrKSAgICAgICAgICAgICAgICAgICAgICAgICAgXAot KyAgICAoREtfU0laRShkaykgPD0gMHhmZiA/ICAgICAgICAgICAgICAgICAgICAgXAotKyAgICAg ICAgMSA6IERLX1NJWkUoZGspIDw9IDB4ZmZmZiA/ICAgICAgICAgICAgXAotKyAgICAgICAgICAg IDIgOiBzaXplb2YoaW50MzJfdCkpCi0rI2VuZGlmCi0rI2RlZmluZSBES19FTlRSSUVTKGRrKSBc Ci0rICAgICgoUHlEaWN0S2V5RW50cnkqKSgmKChpbnQ4X3QqKSgoZGspLT5ka19pbmRpY2VzKSlb REtfU0laRShkaykgKiBES19JWFNJWkUoZGspXSkpCi0rCi0rI2RlZmluZSBES19NQVNLKGRrKSAo KChkayktPmRrX3NpemUpLTEpCi0rCi0rLyogbG9va3VwIGluZGljZXMuICByZXR1cm5zIERLSVhf RU1QVFksIERLSVhfRFVNTVksIG9yIGl4ID49MCAqLwotK3N0YXRpYyBpbmxpbmUgUHlfc3NpemVf dAotK2RpY3RrZXlzX2dldF9pbmRleChQeURpY3RLZXlzT2JqZWN0ICprZXlzLCBQeV9zc2l6ZV90 IGkpCi0rewotKyAgICBQeV9zc2l6ZV90IHMgPSBES19TSVpFKGtleXMpOwotKyAgICBQeV9zc2l6 ZV90IGl4OwotKwotKyAgICBpZiAocyA8PSAweGZmKSB7Ci0rICAgICAgICBpbnQ4X3QgKmluZGlj ZXMgPSAoaW50OF90Kikoa2V5cy0+ZGtfaW5kaWNlcyk7Ci0rICAgICAgICBpeCA9IGluZGljZXNb aV07Ci0rICAgIH0KLSsgICAgZWxzZSBpZiAocyA8PSAweGZmZmYpIHsKLSsgICAgICAgIGludDE2 X3QgKmluZGljZXMgPSAoaW50MTZfdCopKGtleXMtPmRrX2luZGljZXMpOwotKyAgICAgICAgaXgg PSBpbmRpY2VzW2ldOwotKyAgICB9Ci0rI2lmIFNJWkVPRl9WT0lEX1AgPiA0Ci0rICAgIGVsc2Ug aWYgKHMgPiAweGZmZmZmZmZmKSB7Ci0rICAgICAgICBpbnQ2NF90ICppbmRpY2VzID0gKGludDY0 X3QqKShrZXlzLT5ka19pbmRpY2VzKTsKLSsgICAgICAgIGl4ID0gaW5kaWNlc1tpXTsKLSsgICAg fQotKyNlbmRpZgotKyAgICBlbHNlIHsKLSsgICAgICAgIGludDMyX3QgKmluZGljZXMgPSAoaW50 MzJfdCopKGtleXMtPmRrX2luZGljZXMpOwotKyAgICAgICAgaXggPSBpbmRpY2VzW2ldOwotKyAg ICB9Ci0rICAgIGFzc2VydChpeCA+PSBES0lYX0RVTU1ZKTsKLSsgICAgcmV0dXJuIGl4OwotK30K LSsKLSsvKiB3cml0ZSB0byBpbmRpY2VzLiAqLwotK3N0YXRpYyBpbmxpbmUgdm9pZAotK2RpY3Rr ZXlzX3NldF9pbmRleChQeURpY3RLZXlzT2JqZWN0ICprZXlzLCBQeV9zc2l6ZV90IGksIFB5X3Nz aXplX3QgaXgpCi0rewotKyAgICBQeV9zc2l6ZV90IHMgPSBES19TSVpFKGtleXMpOwotKwotKyAg ICBhc3NlcnQoaXggPj0gREtJWF9EVU1NWSk7Ci0rCi0rICAgIGlmIChzIDw9IDB4ZmYpIHsKLSsg ICAgICAgIGludDhfdCAqaW5kaWNlcyA9IChpbnQ4X3QqKShrZXlzLT5ka19pbmRpY2VzKTsKLSsg ICAgICAgIGFzc2VydChpeCA8PSAweDdmKTsKLSsgICAgICAgIGluZGljZXNbaV0gPSAoY2hhcilp eDsKLSsgICAgfQotKyAgICBlbHNlIGlmIChzIDw9IDB4ZmZmZikgewotKyAgICAgICAgaW50MTZf dCAqaW5kaWNlcyA9IChpbnQxNl90Kikoa2V5cy0+ZGtfaW5kaWNlcyk7Ci0rICAgICAgICBhc3Nl cnQoaXggPD0gMHg3ZmZmKTsKLSsgICAgICAgIGluZGljZXNbaV0gPSAoaW50MTZfdClpeDsKLSsg ICAgfQotKyNpZiBTSVpFT0ZfVk9JRF9QID4gNAotKyAgICBlbHNlIGlmIChzID4gMHhmZmZmZmZm ZikgewotKyAgICAgICAgaW50NjRfdCAqaW5kaWNlcyA9IChpbnQ2NF90Kikoa2V5cy0+ZGtfaW5k aWNlcyk7Ci0rICAgICAgICBpbmRpY2VzW2ldID0gaXg7Ci0rICAgIH0KLSsjZW5kaWYKLSsgICAg ZWxzZSB7Ci0rICAgICAgICBpbnQzMl90ICppbmRpY2VzID0gKGludDMyX3QqKShrZXlzLT5ka19p bmRpY2VzKTsKLSsgICAgICAgIGFzc2VydChpeCA8PSAweDdmZmZmZmZmKTsKLSsgICAgICAgIGlu ZGljZXNbaV0gPSAoaW50MzJfdClpeDsKLSsgICAgfQotK30KLSsKLSsvKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotLS0gCi0yLjM4 LjEKLQotCi1Gcm9tIDc2MDQwODAzYzhhZTE1MGJhZWY0NDllZGNlNjdlYmRhZmIyZWU4OTYgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04P3E/R29uemFsbz0yMFRvcm5hcj1D Mz1BRGE/PSA8dG9ybmFyaWFAY21hdC5lZHUudXk+Ci1EYXRlOiBTdW4sIDYgTm92IDIwMjIgMTE6 NTM6MjQgLTAzMDAKLVN1YmplY3Q6IFtQQVRDSCAwMi8xMV0gZGljdF9kZWxfYnlfdmFsdWU6IGFk ZCBpbnRlcm5hbCBkZWZpbml0aW9ucyBmb3IgcHl0aG9uCi0gMy4xMQotCi0tLS0KLSBzcmMvc2Fn ZS9jcHl0aG9uL2RpY3RfaW50ZXJuYWwuaCB8IDc3ICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrCi0gMSBmaWxlIGNoYW5nZWQsIDc3IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBh L3NyYy9zYWdlL2NweXRob24vZGljdF9pbnRlcm5hbC5oIGIvc3JjL3NhZ2UvY3B5dGhvbi9kaWN0 X2ludGVybmFsLmgKLWluZGV4IDA2YzdhMTZiMjc1Li40MmE1N2JjYjQ2OCAxMDA2NDQKLS0tLSBh L3NyYy9zYWdlL2NweXRob24vZGljdF9pbnRlcm5hbC5oCi0rKysgYi9zcmMvc2FnZS9jcHl0aG9u L2RpY3RfaW50ZXJuYWwuaAotQEAgLTUsNiArNSw4IEBACi0gICogY2hhbmdlcy4KLSAgKiAqLwot IAotKyNpZiBQWV9WRVJTSU9OX0hFWCA8IDB4MzBiMDAwMAotKwotIC8qKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0gLyogQ29waWVk IHZlcmJhdGltIGZyb20gY3B5dGhvbiAzLjggKE9iamVjdHMvZGljdC1jb21tb24uaCkgKi8KLSAv KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqLwotQEAgLTE2MywzICsxNjUsNzggQEAgZGljdGtleXNfc2V0X2luZGV4KFB5RGljdEtleXNP YmplY3QgKmtleXMsIFB5X3NzaXplX3QgaSwgUHlfc3NpemVfdCBpeCkKLSB9Ci0gCi0gLyoqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8K LSsKLSsjZWxzZSAgIC8qIFB5dGhvbiA+PSAzLjExICovCi0rCi0rI2RlZmluZSBQeV9CVUlMRF9D T1JFCi0rI2luY2x1ZGUgPGludGVybmFsL3B5Y29yZV9kaWN0Lmg+Ci0rCi0rLyoqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLSsvKiBD b3BpZWQgdmVyYmF0aW0gZnJvbSBjcHl0aG9uIDMuMTEgKE9iamVjdHMvZGljdG9iamVjdC5jKSAq LwotKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKiovCi0rCi0rI2RlZmluZSBQRVJUVVJCX1NISUZUIDUKLSsjZGVmaW5lIERLX01BU0so ZGspIChES19TSVpFKGRrKS0xKQotKwotKy8qIGxvb2t1cCBpbmRpY2VzLiAgcmV0dXJucyBES0lY X0VNUFRZLCBES0lYX0RVTU1ZLCBvciBpeCA+PTAgKi8KLStzdGF0aWMgaW5saW5lIFB5X3NzaXpl X3QKLStkaWN0a2V5c19nZXRfaW5kZXgoY29uc3QgUHlEaWN0S2V5c09iamVjdCAqa2V5cywgUHlf c3NpemVfdCBpKQotK3sKLSsgICAgaW50IGxvZzJzaXplID0gREtfTE9HX1NJWkUoa2V5cyk7Ci0r ICAgIFB5X3NzaXplX3QgaXg7Ci0rCi0rICAgIGlmIChsb2cyc2l6ZSA8IDgpIHsKLSsgICAgICAg IGNvbnN0IGludDhfdCAqaW5kaWNlcyA9IChjb25zdCBpbnQ4X3QqKShrZXlzLT5ka19pbmRpY2Vz KTsKLSsgICAgICAgIGl4ID0gaW5kaWNlc1tpXTsKLSsgICAgfQotKyAgICBlbHNlIGlmIChsb2cy c2l6ZSA8IDE2KSB7Ci0rICAgICAgICBjb25zdCBpbnQxNl90ICppbmRpY2VzID0gKGNvbnN0IGlu dDE2X3QqKShrZXlzLT5ka19pbmRpY2VzKTsKLSsgICAgICAgIGl4ID0gaW5kaWNlc1tpXTsKLSsg ICAgfQotKyNpZiBTSVpFT0ZfVk9JRF9QID4gNAotKyAgICBlbHNlIGlmIChsb2cyc2l6ZSA+PSAz MikgewotKyAgICAgICAgY29uc3QgaW50NjRfdCAqaW5kaWNlcyA9IChjb25zdCBpbnQ2NF90Kiko a2V5cy0+ZGtfaW5kaWNlcyk7Ci0rICAgICAgICBpeCA9IGluZGljZXNbaV07Ci0rICAgIH0KLSsj ZW5kaWYKLSsgICAgZWxzZSB7Ci0rICAgICAgICBjb25zdCBpbnQzMl90ICppbmRpY2VzID0gKGNv bnN0IGludDMyX3QqKShrZXlzLT5ka19pbmRpY2VzKTsKLSsgICAgICAgIGl4ID0gaW5kaWNlc1tp XTsKLSsgICAgfQotKyAgICBhc3NlcnQoaXggPj0gREtJWF9EVU1NWSk7Ci0rICAgIHJldHVybiBp eDsKLSt9Ci0rCi0rLyogd3JpdGUgdG8gaW5kaWNlcy4gKi8KLStzdGF0aWMgaW5saW5lIHZvaWQK LStkaWN0a2V5c19zZXRfaW5kZXgoUHlEaWN0S2V5c09iamVjdCAqa2V5cywgUHlfc3NpemVfdCBp LCBQeV9zc2l6ZV90IGl4KQotK3sKLSsgICAgaW50IGxvZzJzaXplID0gREtfTE9HX1NJWkUoa2V5 cyk7Ci0rCi0rICAgIGFzc2VydChpeCA+PSBES0lYX0RVTU1ZKTsKLSsgICAgYXNzZXJ0KGtleXMt PmRrX3ZlcnNpb24gPT0gMCk7Ci0rCi0rICAgIGlmIChsb2cyc2l6ZSA8IDgpIHsKLSsgICAgICAg IGludDhfdCAqaW5kaWNlcyA9IChpbnQ4X3QqKShrZXlzLT5ka19pbmRpY2VzKTsKLSsgICAgICAg IGFzc2VydChpeCA8PSAweDdmKTsKLSsgICAgICAgIGluZGljZXNbaV0gPSAoY2hhcilpeDsKLSsg ICAgfQotKyAgICBlbHNlIGlmIChsb2cyc2l6ZSA8IDE2KSB7Ci0rICAgICAgICBpbnQxNl90ICpp bmRpY2VzID0gKGludDE2X3QqKShrZXlzLT5ka19pbmRpY2VzKTsKLSsgICAgICAgIGFzc2VydChp eCA8PSAweDdmZmYpOwotKyAgICAgICAgaW5kaWNlc1tpXSA9IChpbnQxNl90KWl4OwotKyAgICB9 Ci0rI2lmIFNJWkVPRl9WT0lEX1AgPiA0Ci0rICAgIGVsc2UgaWYgKGxvZzJzaXplID49IDMyKSB7 Ci0rICAgICAgICBpbnQ2NF90ICppbmRpY2VzID0gKGludDY0X3QqKShrZXlzLT5ka19pbmRpY2Vz KTsKLSsgICAgICAgIGluZGljZXNbaV0gPSBpeDsKLSsgICAgfQotKyNlbmRpZgotKyAgICBlbHNl IHsKLSsgICAgICAgIGludDMyX3QgKmluZGljZXMgPSAoaW50MzJfdCopKGtleXMtPmRrX2luZGlj ZXMpOwotKyAgICAgICAgYXNzZXJ0KGl4IDw9IDB4N2ZmZmZmZmYpOwotKyAgICAgICAgaW5kaWNl c1tpXSA9IChpbnQzMl90KWl4OwotKyAgICB9Ci0rfQotKwotKyNlbmRpZgotLS0gCi0yLjM4LjEK LQotCi1Gcm9tIDAxNGMyYWM5YTZmNmRlMjVkNGUzMWZlMGJkYWY4MTllOWM2N2QyNGIgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04P3E/R29uemFsbz0yMFRvcm5hcj1DMz1B RGE/PSA8dG9ybmFyaWFAY21hdC5lZHUudXk+Ci1EYXRlOiBNb24sIDMxIE9jdCAyMDIyIDA2OjQ3 OjE4IC0wMzAwCi1TdWJqZWN0OiBbUEFUQ0ggMDMvMTFdIGRlcHJlY2F0ZWQgdXUgLT4gYmFzZTY0 Ci0KLS0tLQotIHNyYy9zYWdlL3JpbmdzL3BvbHlub21pYWwvcGJvcmkvZ2JyZWZzLnB5IHwgMiAr LQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZm IC0tZ2l0IGEvc3JjL3NhZ2UvcmluZ3MvcG9seW5vbWlhbC9wYm9yaS9nYnJlZnMucHkgYi9zcmMv c2FnZS9yaW5ncy9wb2x5bm9taWFsL3Bib3JpL2dicmVmcy5weQotaW5kZXggNzZlMzkyNDcxNWQu LjcwZGM3OTVjYmFiIDEwMDY0NAotLS0tIGEvc3JjL3NhZ2UvcmluZ3MvcG9seW5vbWlhbC9wYm9y aS9nYnJlZnMucHkKLSsrKyBiL3NyYy9zYWdlL3JpbmdzL3BvbHlub21pYWwvcGJvcmkvZ2JyZWZz LnB5Ci1AQCAtMSw2ICsxLDYgQEAKLSBpbXBvcnQgZ3ppcAotIGZyb20gaW8gaW1wb3J0IFN0cmlu Z0lPCi0taW1wb3J0IHV1Ci0raW1wb3J0IGJhc2U2NCBhcyB1dQotIGltcG9ydCByZQotIGZyb20g dHlwZXMgaW1wb3J0IE1vZHVsZVR5cGUKLSBmcm9tIC5QeVBvbHlCb1JpIGltcG9ydCBQb2x5bm9t aWFsCi0tLSAKLTIuMzguMQotCi0KLUZyb20gZGM4ZTE1NTk5NGE4NzBhNWUwYjAxYTY5MGEzZmVj ODk3NTE5Nzk3MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ID0/VVRGLTg/cT9Hb256 YWxvPTIwVG9ybmFyPUMzPUFEYT89IDx0b3JuYXJpYUBjbWF0LmVkdS51eT4KLURhdGU6IE1vbiwg MzEgT2N0IDIwMjIgMDY6NDc6MzQgLTAzMDAKLVN1YmplY3Q6IFtQQVRDSCAwNC8xMV0gc2FnZS5t aXNjLmZwaWNrbGU6IGZpeCBmb3IgcHl0aG9uIDMuMTEKLQotLS0tCi0gc3JjL3NhZ2UvbWlzYy9m cGlja2xlLnB5eCB8IDEzICsrKysrKysrKysrKy0KLSAxIGZpbGUgY2hhbmdlZCwgMTIgaW5zZXJ0 aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3NhZ2UvbWlzYy9mcGlj a2xlLnB5eCBiL3NyYy9zYWdlL21pc2MvZnBpY2tsZS5weXgKLWluZGV4IDUwMjA4MGUyYzEwLi5j NWQ1NDQ3NjViYiAxMDA2NDQKLS0tLSBhL3NyYy9zYWdlL21pc2MvZnBpY2tsZS5weXgKLSsrKyBi L3NyYy9zYWdlL21pc2MvZnBpY2tsZS5weXgKLUBAIC0zNCw2ICszNCwxMiBAQCBkZWYgcmVkdWNl X2NvZGUoY28pOgotICAgICAgICAgc2FnZTogZGVmIGZvbyhOKTogcmV0dXJuIE4rMQotICAgICAg ICAgc2FnZTogc2FnZS5taXNjLmZwaWNrbGUucmVkdWNlX2NvZGUoZm9vLl9fY29kZV9fKQotICAg ICAgICAgKDxjeWZ1bmN0aW9uIGNvZGVfY3RvciBhdCAuLi4+LCAuLi4pCi0rCi0rICAgIFRlc3Qg dGhhdCB0aGUgY29uc3RydWN0ZWQgY29kZSBtYXRjaGVzIHRoZSBvcmlnaW5hbCBjb2RlOgotKwot KyAgICAgICAgc2FnZTogY3RvciwgYXJncyA9IHNhZ2UubWlzYy5mcGlja2xlLnJlZHVjZV9jb2Rl KGZvby5fX2NvZGVfXykKLSsgICAgICAgIHNhZ2U6IGN0b3IoKmFyZ3MpID09IGZvby5fX2NvZGVf XwotKyAgICAgICAgVHJ1ZQotICAgICAiIiIKLSAgICAgaWYgY28uY29fZnJlZXZhcnMgb3IgY28u Y29fY2VsbHZhcnM6Ci0gICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJDYW5ub3QgcGlja2xlIGNv ZGUgb2JqZWN0cyBmcm9tIGNsb3N1cmVzIikKLUBAIC00NCw3ICs1MCwxMiBAQCBkZWYgcmVkdWNl X2NvZGUoY28pOgotICAgICBjb19hcmdzICs9IChjby5jb19rd29ubHlhcmdjb3VudCwgY28uY29f bmxvY2FscywKLSAgICAgICAgICAgICAgICAgY28uY29fc3RhY2tzaXplLCBjby5jb19mbGFncywg Y28uY29fY29kZSwKLSAgICAgICAgICAgICAgICAgY28uY29fY29uc3RzLCBjby5jb19uYW1lcywg Y28uY29fdmFybmFtZXMsIGNvLmNvX2ZpbGVuYW1lLAotLSAgICAgICAgICAgICAgICBjby5jb19u YW1lLCBjby5jb19maXJzdGxpbmVubywgY28uY29fbG5vdGFiKQotKyAgICAgICAgICAgICAgICBj by5jb19uYW1lKQotKyAgICBpZiBzeXMudmVyc2lvbl9pbmZvLm1pbm9yID49IDExOgotKyAgICAg ICAgY29fYXJncyArPSAoY28uY29fcXVhbG5hbWUsIGNvLmNvX2ZpcnN0bGluZW5vLAotKyAgICAg ICAgICAgICAgICAgICAgY28uY29fbGluZXRhYmxlLCBjby5jb19leGNlcHRpb250YWJsZSkKLSsg ICAgZWxzZToKLSsgICAgICAgIGNvX2FyZ3MgKz0gKGNvLmNvX2ZpcnN0bGluZW5vLCBjby5jb19s bm90YWIpCi0gCi0gICAgIHJldHVybiAoY29kZV9jdG9yLCBjb19hcmdzKQotIAotLS0gCi0yLjM4 LjEKLQotCi1Gcm9tIDhiMGRhYzIzMjJkNGE4ODhjNjA3YzU2ZDNiNWE3MmZmNzFkZjQxNDcgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04P3E/R29uemFsbz0yMFRvcm5hcj1D Mz1BRGE/PSA8dG9ybmFyaWFAY21hdC5lZHUudXk+Ci1EYXRlOiBNb24sIDMxIE9jdCAyMDIyIDA4 OjE1OjQzIC0wMzAwCi1TdWJqZWN0OiBbUEFUQ0ggMDUvMTFdIEZpeCBGdWxsQXJnU3BlYyB1c2Fn ZSBhZnRlcgotIDllYjA4ZjNhZmRlMzI2NmJiZDY2N2UxOTY1MTMyNDBhMGZlMjQ1ZjQKLQotIC0g YGt3b25seWRlZmF1bHRzYCBkZWZhdWx0IGlzIGBbXWAgcmF0aGVyIHRoYW4gYHt9YAotIC0gYGFy Z3NwZWMua2V5d29yZHNgIGNoYW5nZWQgdG8gYGFyZ3NwZWMudmFya3dgCi0gLSBgQXJnU3BlY2Ag Y2hhbmdlZCB0byBgRnVsbEFyZ1NwZWNgCi0tLS0KLSBzcmMvc2FnZS9jb2RpbmcvYWJzdHJhY3Rf Y29kZS5weSB8IDIgKy0KLSBzcmMvc2FnZS9taXNjL2RlY29yYXRvcnMucHkgICAgICB8IDcgKysr Ky0tLQotIHNyYy9zYWdlL21pc2Mvc2FnZWluc3BlY3QucHkgICAgIHwgOSArKysrKy0tLS0KLSAz IGZpbGVzIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCi0KLWRpZmYg LS1naXQgYS9zcmMvc2FnZS9jb2RpbmcvYWJzdHJhY3RfY29kZS5weSBiL3NyYy9zYWdlL2NvZGlu Zy9hYnN0cmFjdF9jb2RlLnB5Ci1pbmRleCBiYTJlYzY4YTAzOC4uMjM4YTE2NWMwMjEgMTAwNjQ0 Ci0tLS0gYS9zcmMvc2FnZS9jb2RpbmcvYWJzdHJhY3RfY29kZS5weQotKysrIGIvc3JjL3NhZ2Uv Y29kaW5nL2Fic3RyYWN0X2NvZGUucHkKLUBAIC0xMjMsNyArMTIzLDcgQEAgZGVmIF9leHBsYWlu X2NvbnN0cnVjdG9yKGNsKToKLSAgICAgICAgIHJlcXMgPSAiVGhlIGNvbnN0cnVjdG9yIHJlcXVp cmVzIHRoZSBhcmd1bWVudHMge30uIi5mb3JtYXQoYXJncykKLSAgICAgZWxzZToKLSAgICAgICAg IHJlcXMgPSAiVGhlIGNvbnN0cnVjdG9yIHJlcXVpcmVzIG5vIGFyZ3VtZW50cy4iCi0tICAgIGlm IGFyZ3NwZWMudmFyYXJncyBvciBhcmdzcGVjLmtleXdvcmRzOgotKyAgICBpZiBhcmdzcGVjLnZh cmFyZ3Mgb3IgYXJnc3BlYy52YXJrdzoKLSAgICAgICAgIHZhciA9ICJJdCBhY2NlcHRzIHVuc3Bl Y2lmaWVkIGFyZ3VtZW50cyBhcyB3ZWxsLlxuIgotICAgICBlbHNlOgotICAgICAgICAgdmFyID0g IiIKLWRpZmYgLS1naXQgYS9zcmMvc2FnZS9taXNjL2RlY29yYXRvcnMucHkgYi9zcmMvc2FnZS9t aXNjL2RlY29yYXRvcnMucHkKLWluZGV4IDMxMWE1MTA1NzM5Li4yNzFlMjQzMDUwZiAxMDA2NDQK LS0tLSBhL3NyYy9zYWdlL21pc2MvZGVjb3JhdG9ycy5weQotKysrIGIvc3JjL3NhZ2UvbWlzYy9k ZWNvcmF0b3JzLnB5Ci1AQCAtNDIzLDcgKzQyMyw4IEBAIGNsYXNzIHN1Ym9wdGlvbnMoKToKLSAg ICAgICAgICAgICBkZWZhdWx0cyA9IChhcmdzcGVjLmRlZmF1bHRzIGlmIGFyZ3NwZWMuZGVmYXVs dHMgaXMgbm90IE5vbmUgZWxzZSAoKSkgXAotICAgICAgICAgICAgICAgICAgICAgICAgICsgdHVw bGUoc2VsZi5vcHRpb25zLnZhbHVlcygpKQotICAgICAgICAgICAgICMgTm90ZTogYXJnc3BlYy5k ZWZhdWx0cyBpcyBub3QgYWx3YXlzIGEgdHVwbGUgZm9yIHNvbWUgcmVhc29uCi0tICAgICAgICAg ICAgcmV0dXJuIEFyZ1NwZWMoYXJncywgYXJnc3BlYy52YXJhcmdzLCBhcmdzcGVjLmtleXdvcmRz LCBkZWZhdWx0cykKLSsgICAgICAgICAgICByZXR1cm4gRnVsbEFyZ1NwZWMoYXJncywgYXJnc3Bl Yy52YXJhcmdzLCBhcmdzcGVjLnZhcmt3LCBkZWZhdWx0cywKLSsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAga3dvbmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9uZSwgYW5ub3RhdGlv bnM9e30pCi0gICAgICAgICB3cmFwcGVyLl9zYWdlX2FyZ3NwZWNfID0gYXJnc3BlYwotIAotICAg ICAgICAgcmV0dXJuIHdyYXBwZXIKLUBAIC01MDAsOCArNTAxLDggQEAgY2xhc3Mgb3B0aW9ucygp OgotICAgICAgICAgICAgICAgICAgICAgbGlzdChzZWxmLm9wdGlvbnMpKQotICAgICAgICAgICAg IGRlZmF1bHRzID0gKGFyZ3NwZWMuZGVmYXVsdHMgb3IgKCkpICsgdHVwbGUoc2VsZi5vcHRpb25z LnZhbHVlcygpKQotICAgICAgICAgICAgICMgTm90ZTogYXJnc3BlYy5kZWZhdWx0cyBpcyBub3Qg YWx3YXlzIGEgdHVwbGUgZm9yIHNvbWUgcmVhc29uCi0tICAgICAgICAgICAgcmV0dXJuIEZ1bGxB cmdTcGVjKGFyZ3MsIGFyZ3NwZWMudmFyYXJncywgYXJnc3BlYy5rZXl3b3JkcywgZGVmYXVsdHMs Ci0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGt3b25seWFyZ3M9W10sIGt3b25seWRl ZmF1bHRzPXt9LCBhbm5vdGF0aW9ucz17fSkKLSsgICAgICAgICAgICByZXR1cm4gRnVsbEFyZ1Nw ZWMoYXJncywgYXJnc3BlYy52YXJhcmdzLCBhcmdzcGVjLnZhcmt3LCBkZWZhdWx0cywKLSsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAga3dvbmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9 Tm9uZSwgYW5ub3RhdGlvbnM9e30pCi0gCi0gICAgICAgICB3cmFwcGVyLl9zYWdlX2FyZ3NwZWNf ID0gYXJnc3BlYwotIAotZGlmZiAtLWdpdCBhL3NyYy9zYWdlL21pc2Mvc2FnZWluc3BlY3QucHkg Yi9zcmMvc2FnZS9taXNjL3NhZ2VpbnNwZWN0LnB5Ci1pbmRleCBhMzgyMWNiNTZiOS4uY2U5YTc0 ZjkzMWQgMTAwNjQ0Ci0tLS0gYS9zcmMvc2FnZS9taXNjL3NhZ2VpbnNwZWN0LnB5Ci0rKysgYi9z cmMvc2FnZS9taXNjL3NhZ2VpbnNwZWN0LnB5Ci1AQCAtMTEzNyw3ICsxMTM3LDcgQEAgZGVmIF9z YWdlX2dldGFyZ3NwZWNfZnJvbV9hc3Qoc291cmNlKToKLSAKLSAgICAgcmV0dXJuIGluc3BlY3Qu RnVsbEFyZ1NwZWMoYXJncywgdmFyYXJnLCBrd2FyZywKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdHVwbGUoZGVmYXVsdHMpIGlmIGRlZmF1bHRzIGVsc2UgTm9uZSwKLS0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAga3dvbmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9e30s IGFubm90YXRpb25zPXt9KQotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrd29ubHlh cmdzPVtdLCBrd29ubHlkZWZhdWx0cz1Ob25lLCBhbm5vdGF0aW9ucz17fSkKLSAKLSAKLSBkZWYg X3NhZ2VfZ2V0YXJnc3BlY19jeXRob24oc291cmNlKToKLUBAIC0xNjgzLDcgKzE2ODMsOCBAQCBk ZWYgc2FnZV9nZXRhcmdzcGVjKG9iaik6Ci0gICAgICAgICAjIE5vdGUgdGhhdCB0aGlzIG1heSBn aXZlIGEgd3JvbmcgcmVzdWx0IGZvciB0aGUgY29uc3RhbnRzIQotICAgICAgICAgdHJ5OgotICAg ICAgICAgICAgIGFyZ3MsIHZhcmFyZ3MsIHZhcmt3ID0gaW5zcGVjdC5nZXRhcmdzKG9iai5fX2Nv ZGVfXykKLS0gICAgICAgICAgICByZXR1cm4gaW5zcGVjdC5GdWxsQXJnU3BlYyhhcmdzLCB2YXJh cmdzLCB2YXJrdywgb2JqLl9fZGVmYXVsdHNfXykKLSsgICAgICAgICAgICByZXR1cm4gaW5zcGVj dC5GdWxsQXJnU3BlYyhhcmdzLCB2YXJhcmdzLCB2YXJrdywgb2JqLl9fZGVmYXVsdHNfXywKLSsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrd29ubHlhcmdzPVtdLCBrd29u bHlkZWZhdWx0cz1Ob25lLCBhbm5vdGF0aW9ucz17fSkKLSAgICAgICAgIGV4Y2VwdCAoVHlwZUVy cm9yLCBBdHRyaWJ1dGVFcnJvcik6Ci0gICAgICAgICAgICAgcGFzcwotICAgICBpZiBpc2NsYXNz aW5zdGFuY2Uob2JqKToKLUBAIC0xNzQyLDcgKzE3NDMsNyBAQCBkZWYgc2FnZV9nZXRhcmdzcGVj KG9iaik6Ci0gICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKLSAgICAgICAgIGRlZmF1bHRzID0g Tm9uZQotICAgICByZXR1cm4gaW5zcGVjdC5GdWxsQXJnU3BlYyhhcmdzLCB2YXJhcmdzLCB2YXJr dywgZGVmYXVsdHMsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGt3b25seWFyZ3M9 W10sIGt3b25seWRlZmF1bHRzPXt9LCBhbm5vdGF0aW9ucz17fSkKLSsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAga3dvbmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9uZSwgYW5ub3Rh dGlvbnM9e30pCi0gCi0gCi0gZGVmIGZvcm1hdGFubm90YXRpb24oYW5ub3RhdGlvbiwgYmFzZV9t b2R1bGU9Tm9uZSk6Ci1AQCAtMTc4OCw3ICsxNzg5LDcgQEAgZGVmIGZvcm1hdGFubm90YXRpb24o YW5ub3RhdGlvbiwgYmFzZV9tb2R1bGU9Tm9uZSk6Ci0gCi0gCi0gZGVmIHNhZ2VfZm9ybWF0YXJn c3BlYyhhcmdzLCB2YXJhcmdzPU5vbmUsIHZhcmt3PU5vbmUsIGRlZmF1bHRzPU5vbmUsCi0tICAg ICAgICAgICAgICAgICAgICAgICBrd29ubHlhcmdzPSgpLCBrd29ubHlkZWZhdWx0cz17fSwgYW5u b3RhdGlvbnM9e30sCi0rICAgICAgICAgICAgICAgICAgICAgICBrd29ubHlhcmdzPSgpLCBrd29u bHlkZWZhdWx0cz1Ob25lLCBhbm5vdGF0aW9ucz17fSwKLSAgICAgICAgICAgICAgICAgICAgICAg IGZvcm1hdGFyZz1zdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXR2YXJhcmdzPWxh bWJkYSBuYW1lOiAnKicgKyBuYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0dmFy a3c9bGFtYmRhIG5hbWU6ICcqKicgKyBuYW1lLAotLS0gCi0yLjM4LjEKLQotCi1Gcm9tIGRiNDVh ZWJmZDZiZDg0MTNiZWMwZmRhMjE4NDEwZDcyZGVhY2QzOTggTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCi1Gcm9tOiA9P1VURi04P3E/R29uemFsbz0yMFRvcm5hcj1DMz1BRGE/PSA8dG9ybmFyaWFA Y21hdC5lZHUudXk+Ci1EYXRlOiBNb24sIDMxIE9jdCAyMDIyIDA3OjEzOjM4IC0wMzAwCi1TdWJq ZWN0OiBbUEFUQ0ggMDYvMTFdIHdhcm5pbmdzOiBpZ25vcmUgZGVwcmVjYXRpb24gZm9yICdpbXBv cnQgY2dpJyBpbiBjeXRob24KLQotLS0tCi0gc3JjL3NhZ2UvYWxsLnB5IHwgNSArKysrKwotIDEg ZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL3NyYy9zYWdlL2Fs bC5weSBiL3NyYy9zYWdlL2FsbC5weQotaW5kZXggNmFlZjI2YzQyYTkuLjkyZDM2ZDFmZDI2IDEw MDY0NAotLS0tIGEvc3JjL3NhZ2UvYWxsLnB5Ci0rKysgYi9zcmMvc2FnZS9hbGwucHkKLUBAIC0x MDQsNiArMTA0LDExIEBAIHdhcm5pbmdzLmZpbHRlcndhcm5pbmdzKCdpZ25vcmUnLCBjYXRlZ29y eT1EZXByZWNhdGlvbldhcm5pbmcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZT0n VGhlIGRpc3R1dGlscyguc3lzY29uZmlnIG1vZHVsZXwgcGFja2FnZSkgaXMgZGVwcmVjYXRlZCcs Ci0gICAgICAgICAgICAgICAgICAgICAgICAgbW9kdWxlPSdDeXRob258ZGlzdHV0aWxzfG51bXB5 fHNhZ2UuZW52fHNhZ2UuZmVhdHVyZXMnKQotIAotKyMgdHJpZ2dlcmVkIGJ5IGN5dGhvbiAwLjI5 LjMyCi0rd2FybmluZ3MuZmlsdGVyd2FybmluZ3MoJ2lnbm9yZScsIGNhdGVnb3J5PURlcHJlY2F0 aW9uV2FybmluZywKLSsgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlPSInY2dpJyBpcyBk ZXByZWNhdGVkIGFuZCBzbGF0ZWQgZm9yIHJlbW92YWwgaW4gUHl0aG9uIDMuMTMiLAotKyAgICAg ICAgICAgICAgICAgICAgICAgIG1vZHVsZT0nQ3l0aG9uJykKLSsKLSAjIyMjIyMjIyMjIyMjIyMj IGVuZCBzZXR1cCB3YXJuaW5ncyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0gCi0g Ci0tLSAKLTIuMzguMQotCi0KLUZyb20gNjY0ZmMwMDhlZDUwYzJmNjFmYjNkZjMwMjBjMGQ4MWI0 MTE3MDYyOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ID0/VVRGLTg/cT9Hb256YWxv PTIwVG9ybmFyPUMzPUFEYT89IDx0b3JuYXJpYUBjbWF0LmVkdS51eT4KLURhdGU6IE1vbiwgMzEg T2N0IDIwMjIgMjA6Mzk6MTIgLTAzMDAKLVN1YmplY3Q6IFtQQVRDSCAwNy8xMV0gd2FybmluZ3M6 IGlnbm9yZSBkZXByZWNhdGlvbiBmb3IgJ2ltcG9ydCBzcmVfY29uc3RhbnRzJwotIGluIHB5cGFy c2luZwotCi0tLS0KLSBzcmMvc2FnZS9hbGwucHkgfCA1ICsrKysrCi0gMSBmaWxlIGNoYW5nZWQs IDUgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3NhZ2UvYWxsLnB5IGIvc3JjL3Nh Z2UvYWxsLnB5Ci1pbmRleCA5MmQzNmQxZmQyNi4uZWEwNzEyMzA4YjQgMTAwNjQ0Ci0tLS0gYS9z cmMvc2FnZS9hbGwucHkKLSsrKyBiL3NyYy9zYWdlL2FsbC5weQotQEAgLTEwOSw2ICsxMDksMTEg QEAgd2FybmluZ3MuZmlsdGVyd2FybmluZ3MoJ2lnbm9yZScsIGNhdGVnb3J5PURlcHJlY2F0aW9u V2FybmluZywKLSAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlPSInY2dpJyBpcyBkZXBy ZWNhdGVkIGFuZCBzbGF0ZWQgZm9yIHJlbW92YWwgaW4gUHl0aG9uIDMuMTMiLAotICAgICAgICAg ICAgICAgICAgICAgICAgIG1vZHVsZT0nQ3l0aG9uJykKLSAKLSsjIHRyaWdnZXJlZCBieSBweXBh cnNpbmcgMi40LjcKLSt3YXJuaW5ncy5maWx0ZXJ3YXJuaW5ncygnaWdub3JlJywgY2F0ZWdvcnk9 RGVwcmVjYXRpb25XYXJuaW5nLAotKyAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U9Im1v ZHVsZSAnc3JlX2NvbnN0YW50cycgaXMgZGVwcmVjYXRlZCIsCi0rICAgICAgICAgICAgICAgICAg ICAgICAgbW9kdWxlPSdweXBhcnNpbmcnKQotKwotICMjIyMjIyMjIyMjIyMjIyMgZW5kIHNldHVw IHdhcm5pbmdzICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSAKLSAKLS0tIAotMi4z OC4xCi0KLQotRnJvbSAwOGUxMTYxYzIzY2FlZWVkNWFkMGUwMjM3ZGY4MTcyZWI4ODA2ZWU1IE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYtOD9xP0dvbnphbG89MjBUb3JuYXI9 QzM9QURhPz0gPHRvcm5hcmlhQGNtYXQuZWR1LnV5PgotRGF0ZTogTW9uLCAzMSBPY3QgMjAyMiAy Mjo0MDoxNyAtMDMwMAotU3ViamVjdDogW1BBVENIIDA4LzExXSB3YXJuaW5nczogaWdub3JlIGRl cHJlY2F0aW9uIG9mCi0gaW1wb3J0bGliLnJlc291cmNlcy5wYXRoL3JlYWRfYmluYXJ5Ci0KLS0t LQotIHNyYy9zYWdlL2FsbC5weSAgICAgICAgICAgICAgICAgICAgfCA2ICsrKysrKwotIHNyYy9z YWdlL3JlcGwvZGlzcGxheS9mb3JtYXR0ZXIucHkgfCAzICsrKwotIDIgZmlsZXMgY2hhbmdlZCwg OSBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9zcmMvc2FnZS9hbGwucHkgYi9zcmMvc2Fn ZS9hbGwucHkKLWluZGV4IGVhMDcxMjMwOGI0Li5mZWRmMmExN2FhYiAxMDA2NDQKLS0tLSBhL3Ny Yy9zYWdlL2FsbC5weQotKysrIGIvc3JjL3NhZ2UvYWxsLnB5Ci1AQCAtMTE0LDYgKzExNCwxMiBA QCB3YXJuaW5ncy5maWx0ZXJ3YXJuaW5ncygnaWdub3JlJywgY2F0ZWdvcnk9RGVwcmVjYXRpb25X YXJuaW5nLAotICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U9Im1vZHVsZSAnc3JlX2Nv bnN0YW50cycgaXMgZGVwcmVjYXRlZCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgbW9kdWxl PSdweXBhcnNpbmcnKQotIAotKyMgaW1wb3J0bGliLnJlc291cmNlcy5wYXRoIGFuZCAuLi5yZWFk X2JpbmFyeSBhcmUgZGVwcmVjYXRlZCBpbiBweXRob24gMy4xMSwKLSsjIGJ1dCB0aGUgcmVwbGFj ZW1lbnQgaW1wb3J0bGliLnJlc291cmNlcy5maWxlcyBuZWVkcyBweXRob24gMy45Ci0rd2Fybmlu Z3MuZmlsdGVyd2FybmluZ3MoJ2lnbm9yZScsIGNhdGVnb3J5PURlcHJlY2F0aW9uV2FybmluZywK LSsgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlPXInKHBhdGh8cmVhZF9iaW5hcnkpIGlz IGRlcHJlY2F0ZWRcLiBVc2UgZmlsZXNcKFwpIGluc3RlYWRcLicsCi0rICAgICAgICAgICAgICAg ICAgICAgICAgbW9kdWxlPSdzYWdlLnJlcGwucmljaF9vdXRwdXQub3V0cHV0XyhncmFwaGljc3xn cmFwaGljczNkfHZpZGVvKScpCi0rCi0gIyMjIyMjIyMjIyMjIyMjIyBlbmQgc2V0dXAgd2Fybmlu Z3MgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIAotIAotZGlmZiAtLWdpdCBhL3Ny Yy9zYWdlL3JlcGwvZGlzcGxheS9mb3JtYXR0ZXIucHkgYi9zcmMvc2FnZS9yZXBsL2Rpc3BsYXkv Zm9ybWF0dGVyLnB5Ci1pbmRleCA0ODhmMGJmMjc5MS4uN2UwNjY1NmQ4ODAgMTAwNjQ0Ci0tLS0g YS9zcmMvc2FnZS9yZXBsL2Rpc3BsYXkvZm9ybWF0dGVyLnB5Ci0rKysgYi9zcmMvc2FnZS9yZXBs L2Rpc3BsYXkvZm9ybWF0dGVyLnB5Ci1AQCAtMTQzLDYgKzE0Myw5IEBAIGNsYXNzIFNhZ2VEaXNw bGF5Rm9ybWF0dGVyKERpc3BsYXlGb3JtYXR0ZXIpOgotIAotICAgICAgICAgICAgIHNhZ2U6IGlt cG9ydCBvcwotICAgICAgICAgICAgIHNhZ2U6IGltcG9ydCBpbXBvcnRsaWIucmVzb3VyY2VzCi0r ICAgICAgICAgICAgc2FnZTogaW1wb3J0IHdhcm5pbmdzCi0rICAgICAgICAgICAgc2FnZTogd2Fy bmluZ3MuZmlsdGVyd2FybmluZ3MoJ2lnbm9yZScsIGNhdGVnb3J5PURlcHJlY2F0aW9uV2Fybmlu ZywKLSsgICAgICAgICAgICAuLi4uOiAgICAgbWVzc2FnZT1yJ3BhdGggaXMgZGVwcmVjYXRlZFwu IFVzZSBmaWxlc1woXCkgaW5zdGVhZFwuJykKLSAgICAgICAgICAgICBzYWdlOiBmcm9tIHNhZ2Uu cmVwbC5yaWNoX291dHB1dC5iYWNrZW5kX2lweXRob24gaW1wb3J0IEJhY2tlbmRJUHl0aG9uCi0g ICAgICAgICAgICAgc2FnZTogYmFja2VuZCA9IEJhY2tlbmRJUHl0aG9uKCkKLSAgICAgICAgICAg ICBzYWdlOiBzaGVsbCA9IGdldF90ZXN0X3NoZWxsKCkKLS0tIAotMi4zOC4xCi0KLQotRnJvbSA0 NDQ4MGY0ODI3ZTJiYzFlZDhkYWY2ZjQ1MDRhMjJhZTZlOGJlNGE0IE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQotRnJvbTogPT9VVEYtOD9xP0dvbnphbG89MjBUb3JuYXI9QzM9QURhPz0gPHRvcm5h cmlhQGNtYXQuZWR1LnV5PgotRGF0ZTogTW9uLCAzMSBPY3QgMjAyMiAwNzoxNDowMSAtMDMwMAot U3ViamVjdDogW1BBVENIIDA5LzExXSBkb2N0ZXN0czogZml4ZXMgZHVlIHRvIEFyZ1NwZWMgLT4g RnVsbEFyZ1NwZWMgY2hhbmdlCi0KLS0tLQotIHNyYy9zYWdlL2ludGVyZmFjZXMvc2luZ3VsYXIu cHkgICAgICAgICAgICB8ICAzICstCi0gc3JjL3NhZ2UvbGlicy9zaW5ndWxhci9zdGFuZGFyZF9v cHRpb25zLnB5IHwgIDMgKy0KLSBzcmMvc2FnZS9taXNjL2NhY2hlZnVuYy5weXggICAgICAgICAg ICAgICAgfCAgNiArLQotIHNyYy9zYWdlL21pc2MvZGVjb3JhdG9ycy5weSAgICAgICAgICAgICAg ICB8ICA5ICsrLQotIHNyYy9zYWdlL21pc2MvbGF6eV9pbXBvcnQucHl4ICAgICAgICAgICAgICB8 ICA0ICstCi0gc3JjL3NhZ2UvbWlzYy9zYWdlaW5zcGVjdC5weSAgICAgICAgICAgICAgIHwgOTQg KysrKysrKysrKy0tLS0tLS0tLS0tLQotIHNyYy9zYWdlL3BhcmFsbGVsL2RlY29yYXRlLnB5ICAg ICAgICAgICAgICB8ICAzICstCi0gc3JjL3NhZ2UvcGxvdC9wbG90M2QvcGxvdDNkLnB5ICAgICAg ICAgICAgIHwgMTggKysrLS0KLSBzcmMvc2FnZS9zZXRzL3NldF9mcm9tX2l0ZXJhdG9yLnB5ICAg ICAgICAgfCAgNCArLQotIDkgZmlsZXMgY2hhbmdlZCwgNzYgaW5zZXJ0aW9ucygrKSwgNjggZGVs ZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvc2FnZS9pbnRlcmZhY2VzL3Npbmd1bGFyLnB5 IGIvc3JjL3NhZ2UvaW50ZXJmYWNlcy9zaW5ndWxhci5weQotaW5kZXggOWM5NTg2ZDhiYzcuLjFk ZWE3N2NkZmYwIDEwMDY0NAotLS0tIGEvc3JjL3NhZ2UvaW50ZXJmYWNlcy9zaW5ndWxhci5weQot KysrIGIvc3JjL3NhZ2UvaW50ZXJmYWNlcy9zaW5ndWxhci5weQotQEAgLTI3MzQsNyArMjczNCw4 IEBAIGRlZiBzaW5ndWxhcl9nYl9zdGFuZGFyZF9vcHRpb25zKGZ1bmMpOgotICAgICAgICAgc2Fn ZTogUC48eCx5PiA9IFFRW10KLSAgICAgICAgIHNhZ2U6IEkgPSBQKlt4LHldCi0gICAgICAgICBz YWdlOiBzYWdlX2dldGFyZ3NwZWMoSS5pbnRlcnJlZHVjZWRfYmFzaXMpCi0tICAgICAgICBBcmdT cGVjKGFyZ3M9WydzZWxmJ10sIHZhcmFyZ3M9Tm9uZSwga2V5d29yZHM9Tm9uZSwgZGVmYXVsdHM9 Tm9uZSkKLSsgICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9WydzZWxmJ10sIHZhcmFyZ3M9Tm9uZSwg dmFya3c9Tm9uZSwgZGVmYXVsdHM9Tm9uZSwKLSsgICAgICAgICAgICAgICAgICAgIGt3b25seWFy Z3M9W10sIGt3b25seWRlZmF1bHRzPU5vbmUsIGFubm90YXRpb25zPXt9KQotICAgICAgICAgc2Fn ZTogc2FnZV9nZXRzb3VyY2VsaW5lcyhJLmludGVycmVkdWNlZF9iYXNpcykKLSAgICAgICAgIChb JyAgICBAaGFuZGxlX0FBX2FuZF9RUWJhclxuJywKLSAgICAgICAgICAgJyAgICBAc2luZ3VsYXJf Z2Jfc3RhbmRhcmRfb3B0aW9uc1xuJywKLWRpZmYgLS1naXQgYS9zcmMvc2FnZS9saWJzL3Npbmd1 bGFyL3N0YW5kYXJkX29wdGlvbnMucHkgYi9zcmMvc2FnZS9saWJzL3Npbmd1bGFyL3N0YW5kYXJk X29wdGlvbnMucHkKLWluZGV4IDY3OTdjYjA1MDAxLi41ZDc0ZGEzY2UzYSAxMDA2NDQKLS0tLSBh L3NyYy9zYWdlL2xpYnMvc2luZ3VsYXIvc3RhbmRhcmRfb3B0aW9ucy5weQotKysrIGIvc3JjL3Nh Z2UvbGlicy9zaW5ndWxhci9zdGFuZGFyZF9vcHRpb25zLnB5Ci1AQCAtMTE3LDcgKzExNyw4IEBA IGRlZiBsaWJzaW5ndWxhcl9nYl9zdGFuZGFyZF9vcHRpb25zKGZ1bmMpOgotICAgICAgICAgc2Fn ZTogUC48eCx5PiA9IFFRW10KLSAgICAgICAgIHNhZ2U6IEkgPSBQKlt4LHldCi0gICAgICAgICBz YWdlOiBzYWdlX2dldGFyZ3NwZWMoSS5pbnRlcnJlZHVjZWRfYmFzaXMpCi0tICAgICAgICBBcmdT cGVjKGFyZ3M9WydzZWxmJ10sIHZhcmFyZ3M9Tm9uZSwga2V5d29yZHM9Tm9uZSwgZGVmYXVsdHM9 Tm9uZSkKLSsgICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9WydzZWxmJ10sIHZhcmFyZ3M9Tm9uZSwg dmFya3c9Tm9uZSwgZGVmYXVsdHM9Tm9uZSwKLSsgICAgICAgICAgICAgICAgICAgIGt3b25seWFy Z3M9W10sIGt3b25seWRlZmF1bHRzPU5vbmUsIGFubm90YXRpb25zPXt9KQotICAgICAgICAgc2Fn ZTogc2FnZV9nZXRzb3VyY2VsaW5lcyhJLmludGVycmVkdWNlZF9iYXNpcykKLSAgICAgICAgIChb JyAgICBAaGFuZGxlX0FBX2FuZF9RUWJhclxuJywKLSAgICAgICAgICAgJyAgICBAc2luZ3VsYXJf Z2Jfc3RhbmRhcmRfb3B0aW9uc1xuJywKLWRpZmYgLS1naXQgYS9zcmMvc2FnZS9taXNjL2NhY2hl ZnVuYy5weXggYi9zcmMvc2FnZS9taXNjL2NhY2hlZnVuYy5weXgKLWluZGV4IDcyMDQyZWYxM2Q2 Li5jZWEzMDcxMTE1ZCAxMDA2NDQKLS0tLSBhL3NyYy9zYWdlL21pc2MvY2FjaGVmdW5jLnB5eAot KysrIGIvc3JjL3NhZ2UvbWlzYy9jYWNoZWZ1bmMucHl4Ci1AQCAtOTMxLDkgKzkzMSw5IEBAIGNk ZWYgY2xhc3MgQ2FjaGVkRnVuY3Rpb24oKToKLSAgICAgICAgICAgICBzYWdlOiBJID0gUCpbeCx5 XQotICAgICAgICAgICAgIHNhZ2U6IGZyb20gc2FnZS5taXNjLnNhZ2VpbnNwZWN0IGltcG9ydCBz YWdlX2dldGFyZ3NwZWMKLSAgICAgICAgICAgICBzYWdlOiBzYWdlX2dldGFyZ3NwZWMoSS5ncm9l Ym5lcl9iYXNpcykgICAjIGluZGlyZWN0IGRvY3Rlc3QKLS0gICAgICAgICAgICBBcmdTcGVjKGFy Z3M9WydzZWxmJywgJ2FsZ29yaXRobScsICdkZWdfYm91bmQnLCAnbXVsdF9ib3VuZCcsICdwcm90 J10sCi0tICAgICAgICAgICAgdmFyYXJncz0nYXJncycsIGtleXdvcmRzPSdrd2RzJywgZGVmYXVs dHM9KCcnLCBOb25lLCBOb25lLAotLSAgICAgICAgICAgIEZhbHNlKSkKLSsgICAgICAgICAgICBG dWxsQXJnU3BlYyhhcmdzPVsnc2VsZicsICdhbGdvcml0aG0nLCAnZGVnX2JvdW5kJywgJ211bHRf Ym91bmQnLCAncHJvdCddLAotKyAgICAgICAgICAgICAgICAgICAgICAgIHZhcmFyZ3M9J2FyZ3Mn LCB2YXJrdz0na3dkcycsIGRlZmF1bHRzPSgnJywgTm9uZSwgTm9uZSwgRmFsc2UpLAotKyAgICAg ICAgICAgICAgICAgICAgICAgIGt3b25seWFyZ3M9W10sIGt3b25seWRlZmF1bHRzPU5vbmUsIGFu bm90YXRpb25zPXt9KQotIAotICAgICAgICAgIiIiCi0gICAgICAgICByZXR1cm4gc2FnZV9nZXRh cmdzcGVjKHNlbGYuZikKLWRpZmYgLS1naXQgYS9zcmMvc2FnZS9taXNjL2RlY29yYXRvcnMucHkg Yi9zcmMvc2FnZS9taXNjL2RlY29yYXRvcnMucHkKLWluZGV4IDI3MWUyNDMwNTBmLi5kZDkxMjNm NTAwNCAxMDA2NDQKLS0tLSBhL3NyYy9zYWdlL21pc2MvZGVjb3JhdG9ycy5weQotKysrIGIvc3Jj L3NhZ2UvbWlzYy9kZWNvcmF0b3JzLnB5Ci1AQCAtOTMsNyArOTMsOCBAQCBkZWYgc2FnZV93cmFw cyh3cmFwcGVkLCBhc3NpZ25lZD1XUkFQUEVSX0FTU0lHTk1FTlRTLCB1cGRhdGVkPVdSQVBQRVJf VVBEQVRFUyk6Ci0gICAgICAgICA1Ci0gICAgICAgICBzYWdlOiBmcm9tIHNhZ2UubWlzYy5zYWdl aW5zcGVjdCBpbXBvcnQgc2FnZV9nZXRhcmdzcGVjCi0gICAgICAgICBzYWdlOiBzYWdlX2dldGFy Z3NwZWMoZykKLS0gICAgICAgIEFyZ1NwZWMoYXJncz1bJ3gnXSwgdmFyYXJncz1Ob25lLCBrZXl3 b3Jkcz1Ob25lLCBkZWZhdWx0cz1Ob25lKQotKyAgICAgICAgRnVsbEFyZ1NwZWMoYXJncz1bJ3gn XSwgdmFyYXJncz1Ob25lLCB2YXJrdz1Ob25lLCBkZWZhdWx0cz1Ob25lLAotKyAgICAgICAgICAg ICAgICAgICAga3dvbmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9uZSwgYW5ub3RhdGlvbnM9 e30pCi0gCi0gICAgIERlbW9uc3RyYXRlIHRoYXQgaXQgY29ycmVjdGx5IGdldHMgdGhlIHNvdXJj ZSBsaW5lcyBhbmQgdGhlIHNvdXJjZQotICAgICBmaWxlLCB3aGljaCBpcyBlc3NlbnRpYWwgZm9y IGludGVyYWN0aXZlIGNvZGUgZWRpdGlvbjsgbm90ZSB0aGF0IHdlCi1AQCAtMzkyLDcgKzM5Myw4 IEBAIGNsYXNzIHN1Ym9wdGlvbnMoKToKLSAKLSAgICAgICAgICAgICBzYWdlOiBmcm9tIHNhZ2Uu bWlzYy5zYWdlaW5zcGVjdCBpbXBvcnQgc2FnZV9nZXRhcmdzcGVjCi0gICAgICAgICAgICAgc2Fn ZTogc2FnZV9nZXRhcmdzcGVjKGYpCi0tICAgICAgICAgICAgQXJnU3BlYyhhcmdzPVsnYXJyb3df c2l6ZSddLCB2YXJhcmdzPSdhcmdzJywga2V5d29yZHM9J2t3ZHMnLCBkZWZhdWx0cz0oMiwpKQot KyAgICAgICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9WydhcnJvd19zaXplJ10sIHZhcmFyZ3M9J2Fy Z3MnLCB2YXJrdz0na3dkcycsIGRlZmF1bHRzPSgyLCksCi0rICAgICAgICAgICAgICAgICAgICAg ICAga3dvbmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9uZSwgYW5ub3RhdGlvbnM9e30pCi0g ICAgICAgICAiIiIKLSAgICAgICAgIEBzYWdlX3dyYXBzKGZ1bmMpCi0gICAgICAgICBkZWYgd3Jh cHBlcigqYXJncywgKiprd2RzKToKLUBAIC00NjAsNyArNDYyLDggQEAgY2xhc3Mgb3B0aW9ucygp OgotICAgICAgICAgICAgIHNhZ2U6IGYxID0gbyhmKQotICAgICAgICAgICAgIHNhZ2U6IGZyb20g c2FnZS5taXNjLnNhZ2VpbnNwZWN0IGltcG9ydCBzYWdlX2dldGFyZ3NwZWMKLSAgICAgICAgICAg ICBzYWdlOiBzYWdlX2dldGFyZ3NwZWMoZjEpCi0tICAgICAgICAgICAgQXJnU3BlYyhhcmdzPVsn cmdiY29sb3InXSwgdmFyYXJncz0nYXJncycsIGtleXdvcmRzPSdrd2RzJywgZGVmYXVsdHM9KCgw LCAwLCAxKSwpKQotKyAgICAgICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9WydyZ2Jjb2xvciddLCB2 YXJhcmdzPSdhcmdzJywgdmFya3c9J2t3ZHMnLCBkZWZhdWx0cz0oKDAsIDAsIDEpLCksCi0rICAg ICAgICAgICAgICAgICAgICAgICAga3dvbmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9uZSwg YW5ub3RhdGlvbnM9e30pCi0gICAgICAgICAiIiIKLSAgICAgICAgIHNlbGYub3B0aW9ucyA9IG9w dGlvbnMKLSAgICAgICAgIHNlbGYub3JpZ2luYWxfb3B0cyA9IG9wdGlvbnMucG9wKCdfX29yaWdp bmFsX29wdHMnLCBGYWxzZSkKLWRpZmYgLS1naXQgYS9zcmMvc2FnZS9taXNjL2xhenlfaW1wb3J0 LnB5eCBiL3NyYy9zYWdlL21pc2MvbGF6eV9pbXBvcnQucHl4Ci1pbmRleCAyZDQ0MTNjZDFhMy4u MDE4MDc4YjBjZjIgMTAwNjQ0Ci0tLS0gYS9zcmMvc2FnZS9taXNjL2xhenlfaW1wb3J0LnB5eAot KysrIGIvc3JjL3NhZ2UvbWlzYy9sYXp5X2ltcG9ydC5weXgKLUBAIC0zNTEsNyArMzUxLDkgQEAg Y2RlZiBjbGFzcyBMYXp5SW1wb3J0KCk6Ci0gICAgICAgICAgICAgc2FnZTogZnJvbSBzYWdlLm1p c2MubGF6eV9pbXBvcnQgaW1wb3J0IExhenlJbXBvcnQKLSAgICAgICAgICAgICBzYWdlOiBybSA9 IExhenlJbXBvcnQoJ3NhZ2UuYWxsJywgJ3JhbmRvbV9tYXRyaXgnKQotICAgICAgICAgICAgIHNh Z2U6IHJtLl9zYWdlX2FyZ3NwZWNfKCkKLS0gICAgICAgICAgICBBcmdTcGVjKGFyZ3M9WydyaW5n JywgJ25yb3dzJywgJ25jb2xzJywgJ2FsZ29yaXRobScsICdpbXBsZW1lbnRhdGlvbiddLCB2YXJh cmdzPSdhcmdzJywga2V5d29yZHM9J2t3ZHMnLCBkZWZhdWx0cz0oTm9uZSwgJ3JhbmRvbWl6ZScs IE5vbmUpKQotKyAgICAgICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9WydyaW5nJywgJ25yb3dzJywg J25jb2xzJywgJ2FsZ29yaXRobScsICdpbXBsZW1lbnRhdGlvbiddLAotKyAgICAgICAgICAgICAg ICAgICAgICAgIHZhcmFyZ3M9J2FyZ3MnLCB2YXJrdz0na3dkcycsIGRlZmF1bHRzPShOb25lLCAn cmFuZG9taXplJywgTm9uZSksCi0rICAgICAgICAgICAgICAgICAgICAgICAga3dvbmx5YXJncz1b XSwga3dvbmx5ZGVmYXVsdHM9Tm9uZSwgYW5ub3RhdGlvbnM9e30pCi0gICAgICAgICAiIiIKLSAg ICAgICAgIHJldHVybiBzYWdlaW5zcGVjdC5zYWdlX2dldGFyZ3NwZWMoc2VsZi5nZXRfb2JqZWN0 KCkpCi0gCi1kaWZmIC0tZ2l0IGEvc3JjL3NhZ2UvbWlzYy9zYWdlaW5zcGVjdC5weSBiL3NyYy9z YWdlL21pc2Mvc2FnZWluc3BlY3QucHkKLWluZGV4IGNlOWE3NGY5MzFkLi42MTlmZjZkYTY2MSAx MDA2NDQKLS0tLSBhL3NyYy9zYWdlL21pc2Mvc2FnZWluc3BlY3QucHkKLSsrKyBiL3NyYy9zYWdl L21pc2Mvc2FnZWluc3BlY3QucHkKLUBAIC0xMDksNyArMTA5LDcgQEAgZGVmaW5lZCBDeXRob24g Y29kZSwgYW5kIHdpdGggcmF0aGVyIHRyaWNreSBhcmd1bWVudCBsaW5lczo6Ci0gICAgIHNhZ2U6 IHByaW50KHNhZ2VfZ2V0c291cmNlKGZvbykpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBvcHRpb25hbCAtIHNh Z2UubWlzYy5jeXRob24KLSAgICAgZGVmIGZvbyh1bnNpZ25lZCBpbnQgeD0xLCBhPScpIicsIGI9 e25vdCAoMisxPT0zKTonYmFyJ30sICphcmdzLCAqKmt3ZHMpOiByZXR1cm4KLSAgICAgc2FnZTog c2FnZV9nZXRhcmdzcGVjKGZvbykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIG9wdGlvbmFsIC0gc2Fn ZS5taXNjLmN5dGhvbgotLSAgICBBcmdTcGVjKGFyZ3M9Wyd4JywgJ2EnLCAnYiddLCB2YXJhcmdz PSdhcmdzJywga2V5d29yZHM9J2t3ZHMnLCBkZWZhdWx0cz0oMSwgJykiJywge0ZhbHNlOiAnYmFy J30pKQotKyAgICBGdWxsQXJnU3BlYyhhcmdzPVsneCcsICdhJywgJ2InXSwgdmFyYXJncz0nYXJn cycsIHZhcmt3PSdrd2RzJywgZGVmYXVsdHM9KDEsICcpIicsIHtGYWxzZTogJ2Jhcid9KSwga3dv bmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9uZSwgYW5ub3RhdGlvbnM9e30pCi0gCi0gIiIi Ci0gCi1AQCAtMzQzLDcgKzM0Myw3IEBAIGRlZiBfZXh0cmFjdF9lbWJlZGRlZF9zaWduYXR1cmUo ZG9jc3RyaW5nLCBuYW1lKToKLSAgICAgICAgIEZpbGU6IHNhZ2UvbWlzYy9uZXN0ZWRfY2xhc3Mu cHl4IChzdGFydGluZyBhdCBsaW5lIC4uLikKLSAgICAgICAgIC4uLgotICAgICAgICAgc2FnZTog X2V4dHJhY3RfZW1iZWRkZWRfc2lnbmF0dXJlKE1haW5DbGFzcy5OZXN0ZWRDbGFzcy5OZXN0ZWRT dWJDbGFzcy5kdW1teS5fX2RvY19fLCAnZHVtbXknKVsxXQotLSAgICAgICAgQXJnU3BlYyhhcmdz PVsnc2VsZicsICd4JywgJ3InXSwgdmFyYXJncz0nYXJncycsIGtleXdvcmRzPSdrd2RzJywgZGVm YXVsdHM9KCgxLCAyLCAzLjQpLCkpCi0rICAgICAgICBGdWxsQXJnU3BlYyhhcmdzPVsnc2VsZics ICd4JywgJ3InXSwgdmFyYXJncz0nYXJncycsIHZhcmt3PSdrd2RzJywgZGVmYXVsdHM9KCgxLCAy LCAzLjQpLCksIGt3b25seWFyZ3M9W10sIGt3b25seWRlZmF1bHRzPU5vbmUsIGFubm90YXRpb25z PXt9KQotICAgICAgICAgc2FnZTogX2V4dHJhY3RfZW1iZWRkZWRfc2lnbmF0dXJlKHJhbmdlLl9f Y2FsbF9fLl9fZG9jX18sICdfX2NhbGxfXycpCi0gICAgICAgICAoJ0NhbGwgc2VsZiBhcyBhIGZ1 bmN0aW9uLicsIE5vbmUpCi0gICAgICIiIgotQEAgLTExMDcsMjIgKzExMDcsMTggQEAgZGVmIF9z YWdlX2dldGFyZ3NwZWNfZnJvbV9hc3Qoc291cmNlKToKLSAKLSAgICAgRVhBTVBMRVM6OgotIAot LSAgICAgICAgc2FnZTogaW1wb3J0IHdhcm5pbmdzCi0tICAgICAgICBzYWdlOiB3YXJuaW5ncy5m aWx0ZXJ3YXJuaW5ncygnaWdub3JlJywKLS0gICAgICAgIC4uLi46ICAgICAgICAgICAgICAgICAg ICAgICAgIHInaW5zcGVjdC5nZXRhcmdzcGVjXChcKSBpcyBkZXByZWNhdGVkJywKLS0gICAgICAg IC4uLi46ICAgICAgICAgICAgICAgICAgICAgICAgIERlcHJlY2F0aW9uV2FybmluZykKLSAgICAg ICAgIHNhZ2U6IGltcG9ydCBpbnNwZWN0LCBzYWdlLm1pc2Muc2FnZWluc3BlY3QgYXMgc21zCi0g ICAgICAgICBzYWdlOiBmcm9tX2FzdCA9IHNtcy5fc2FnZV9nZXRhcmdzcGVjX2Zyb21fYXN0Ci0g ICAgICAgICBzYWdlOiBzID0gImRlZiBmKGEsIGI9MiwgYz17J2EnOiBbNCwgNS41LCBGYWxzZV19 LCBkPShOb25lLCBUcnVlKSk6XG4gICAgcmV0dXJuIgotICAgICAgICAgc2FnZTogZnJvbV9hc3Qo cykKLS0gICAgICAgIEFyZ1NwZWMoYXJncz1bJ2EnLCAnYicsICdjJywgJ2QnXSwgdmFyYXJncz1O b25lLCBrZXl3b3Jkcz1Ob25lLCBkZWZhdWx0cz0oMiwgeydhJzogWzQsIDUuNSwgRmFsc2VdfSwg KE5vbmUsIFRydWUpKSkKLSsgICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9WydhJywgJ2InLCAnYycs ICdkJ10sIHZhcmFyZ3M9Tm9uZSwgdmFya3c9Tm9uZSwgZGVmYXVsdHM9KDIsIHsnYSc6IFs0LCA1 LjUsIEZhbHNlXX0sIChOb25lLCBUcnVlKSksIGt3b25seWFyZ3M9W10sIGt3b25seWRlZmF1bHRz PU5vbmUsIGFubm90YXRpb25zPXt9KQotICAgICAgICAgc2FnZTogY29udGV4dCA9IHt9Ci0gICAg ICAgICBzYWdlOiBleGVjKGNvbXBpbGUocywgJzxzdHJpbmc+JywgJ3NpbmdsZScpLCBjb250ZXh0 KQotLSAgICAgICAgc2FnZTogaW5zcGVjdC5nZXRhcmdzcGVjKGNvbnRleHRbJ2YnXSkKLS0gICAg ICAgIEFyZ1NwZWMoYXJncz1bJ2EnLCAnYicsICdjJywgJ2QnXSwgdmFyYXJncz1Ob25lLCBrZXl3 b3Jkcz1Ob25lLCBkZWZhdWx0cz0oMiwgeydhJzogWzQsIDUuNSwgRmFsc2VdfSwgKE5vbmUsIFRy dWUpKSkKLS0gICAgICAgIHNhZ2U6IGZyb21fYXN0KHMpID09IGluc3BlY3QuZ2V0YXJnc3BlYyhj b250ZXh0WydmJ10pCi0rICAgICAgICBzYWdlOiBpbnNwZWN0LmdldGZ1bGxhcmdzcGVjKGNvbnRl eHRbJ2YnXSkKLSsgICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9WydhJywgJ2InLCAnYycsICdkJ10s IHZhcmFyZ3M9Tm9uZSwgdmFya3c9Tm9uZSwgZGVmYXVsdHM9KDIsIHsnYSc6IFs0LCA1LjUsIEZh bHNlXX0sIChOb25lLCBUcnVlKSksIGt3b25seWFyZ3M9W10sIGt3b25seWRlZmF1bHRzPU5vbmUs IGFubm90YXRpb25zPXt9KQotKyAgICAgICAgc2FnZTogZnJvbV9hc3QocykgPT0gaW5zcGVjdC5n ZXRmdWxsYXJnc3BlYyhjb250ZXh0WydmJ10pCi0gICAgICAgICBUcnVlCi0tICAgICAgICBzYWdl OiBzZXQoZnJvbV9hc3Qoc21zLnNhZ2VfZ2V0c291cmNlKHgpKSA9PSBpbnNwZWN0LmdldGFyZ3Nw ZWMoeCkgZm9yIHggaW4gW2ZhY3RvciwgaWRlbnRpdHlfbWF0cml4LCBHcmFwaC5fX2luaXRfX10p Ci0rICAgICAgICBzYWdlOiBzZXQoZnJvbV9hc3Qoc21zLnNhZ2VfZ2V0c291cmNlKHgpKSA9PSBp bnNwZWN0LmdldGZ1bGxhcmdzcGVjKHgpIGZvciB4IGluIFtmYWN0b3IsIGlkZW50aXR5X21hdHJp eCwgR3JhcGguX19pbml0X19dKQotICAgICAgICAge1RydWV9Ci0gICAgICIiIgotICAgICBhc3Rf YXJncyA9IGFzdC5wYXJzZShzb3VyY2UubHN0cmlwKCkpLmJvZHlbMF0uYXJncwotQEAgLTExNTks MjMgKzExNTUsMjMgQEAgZGVmIF9zYWdlX2dldGFyZ3NwZWNfY3l0aG9uKHNvdXJjZSk6Ci0gCi0g ICAgICAgICBzYWdlOiBmcm9tIHNhZ2UubWlzYy5zYWdlaW5zcGVjdCBpbXBvcnQgX3NhZ2VfZ2V0 YXJnc3BlY19jeXRob24gYXMgc2djCi0gICAgICAgICBzYWdlOiBzZ2MoImNwZGVmIGRvdWJsZSBh YmMoc2VsZiwgRWxlbWVudCB4PU5vbmUsIFBhcmVudCBiYXNlPTApOiIpCi0tICAgICAgICBBcmdT cGVjKGFyZ3M9WydzZWxmJywgJ3gnLCAnYmFzZSddLCB2YXJhcmdzPU5vbmUsIGtleXdvcmRzPU5v bmUsIGRlZmF1bHRzPShOb25lLCAwKSkKLSsgICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9WydzZWxm JywgJ3gnLCAnYmFzZSddLCB2YXJhcmdzPU5vbmUsIHZhcmt3PU5vbmUsIGRlZmF1bHRzPShOb25l LCAwKSwga3dvbmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9uZSwgYW5ub3RhdGlvbnM9e30p Ci0gICAgICAgICBzYWdlOiBzZ2MoImRlZiBfX2luaXRfXyhzZWxmLCB4PU5vbmUsIHVuc2lnbmVk IGludCBiYXNlPTApOiIpCi0tICAgICAgICBBcmdTcGVjKGFyZ3M9WydzZWxmJywgJ3gnLCAnYmFz ZSddLCB2YXJhcmdzPU5vbmUsIGtleXdvcmRzPU5vbmUsIGRlZmF1bHRzPShOb25lLCAwKSkKLSsg ICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9WydzZWxmJywgJ3gnLCAnYmFzZSddLCB2YXJhcmdzPU5v bmUsIHZhcmt3PU5vbmUsIGRlZmF1bHRzPShOb25lLCAwKSwga3dvbmx5YXJncz1bXSwga3dvbmx5 ZGVmYXVsdHM9Tm9uZSwgYW5ub3RhdGlvbnM9e30pCi0gICAgICAgICBzYWdlOiBzZ2MoJ2RlZiBv KHAsIHI9e30sICpxLCAqKnMpIGV4Y2VwdD8gLTE6JykKLS0gICAgICAgIEFyZ1NwZWMoYXJncz1b J3AnLCAnciddLCB2YXJhcmdzPSdxJywga2V5d29yZHM9J3MnLCBkZWZhdWx0cz0oe30sKSkKLSsg ICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9WydwJywgJ3InXSwgdmFyYXJncz0ncScsIHZhcmt3PSdz JywgZGVmYXVsdHM9KHt9LCksIGt3b25seWFyZ3M9W10sIGt3b25seWRlZmF1bHRzPU5vbmUsIGFu bm90YXRpb25zPXt9KQotICAgICAgICAgc2FnZTogc2djKCdjcGRlZiBob3cocj0oTm9uZSwgInU6 ZG9pbmc/IikpOicpCi0tICAgICAgICBBcmdTcGVjKGFyZ3M9WydyJ10sIHZhcmFyZ3M9Tm9uZSwg a2V5d29yZHM9Tm9uZSwgZGVmYXVsdHM9KChOb25lLCAndTpkb2luZz8nKSwpKQotKyAgICAgICAg RnVsbEFyZ1NwZWMoYXJncz1bJ3InXSwgdmFyYXJncz1Ob25lLCB2YXJrdz1Ob25lLCBkZWZhdWx0 cz0oKE5vbmUsICd1OmRvaW5nPycpLCksIGt3b25seWFyZ3M9W10sIGt3b25seWRlZmF1bHRzPU5v bmUsIGFubm90YXRpb25zPXt9KQotICAgICAgICAgc2FnZTogc2djKCdkZWYgXyh4PSIpOiIpOicp Ci0tICAgICAgICBBcmdTcGVjKGFyZ3M9Wyd4J10sIHZhcmFyZ3M9Tm9uZSwga2V5d29yZHM9Tm9u ZSwgZGVmYXVsdHM9KCcpOicsKSkKLSsgICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9Wyd4J10sIHZh cmFyZ3M9Tm9uZSwgdmFya3c9Tm9uZSwgZGVmYXVsdHM9KCcpOicsKSwga3dvbmx5YXJncz1bXSwg a3dvbmx5ZGVmYXVsdHM9Tm9uZSwgYW5ub3RhdGlvbnM9e30pCi0gICAgICAgICBzYWdlOiBzZ2Mo J2RlZiBmKHogPSB7KDEsIDIsIDMpOiBUcnVlfSk6XG4gICAgcmV0dXJuIHonKQotLSAgICAgICAg QXJnU3BlYyhhcmdzPVsneiddLCB2YXJhcmdzPU5vbmUsIGtleXdvcmRzPU5vbmUsIGRlZmF1bHRz PSh7KDEsIDIsIDMpOiBUcnVlfSwpKQotKyAgICAgICAgRnVsbEFyZ1NwZWMoYXJncz1bJ3onXSwg dmFyYXJncz1Ob25lLCB2YXJrdz1Ob25lLCBkZWZhdWx0cz0oeygxLCAyLCAzKTogVHJ1ZX0sKSwg a3dvbmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9uZSwgYW5ub3RhdGlvbnM9e30pCi0gICAg ICAgICBzYWdlOiBzZ2MoJ2RlZiBmKGRvdWJsZSB4LCB6ID0geygxLCAyLCAzKTogVHJ1ZX0pOlxu ICAgIHJldHVybiB6JykKLS0gICAgICAgIEFyZ1NwZWMoYXJncz1bJ3gnLCAneiddLCB2YXJhcmdz PU5vbmUsIGtleXdvcmRzPU5vbmUsIGRlZmF1bHRzPSh7KDEsIDIsIDMpOiBUcnVlfSwpKQotKyAg ICAgICAgRnVsbEFyZ1NwZWMoYXJncz1bJ3gnLCAneiddLCB2YXJhcmdzPU5vbmUsIHZhcmt3PU5v bmUsIGRlZmF1bHRzPSh7KDEsIDIsIDMpOiBUcnVlfSwpLCBrd29ubHlhcmdzPVtdLCBrd29ubHlk ZWZhdWx0cz1Ob25lLCBhbm5vdGF0aW9ucz17fSkKLSAgICAgICAgIHNhZ2U6IHNnYygnZGVmIGYo KmFyZ3MpOiBwYXNzJykKLS0gICAgICAgIEFyZ1NwZWMoYXJncz1bXSwgdmFyYXJncz0nYXJncycs IGtleXdvcmRzPU5vbmUsIGRlZmF1bHRzPU5vbmUpCi0rICAgICAgICBGdWxsQXJnU3BlYyhhcmdz PVtdLCB2YXJhcmdzPSdhcmdzJywgdmFya3c9Tm9uZSwgZGVmYXVsdHM9Tm9uZSwga3dvbmx5YXJn cz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9uZSwgYW5ub3RhdGlvbnM9e30pCi0gICAgICAgICBzYWdl OiBzZ2MoJ2RlZiBmKCoqYXJncyk6IHBhc3MnKQotLSAgICAgICAgQXJnU3BlYyhhcmdzPVtdLCB2 YXJhcmdzPU5vbmUsIGtleXdvcmRzPSdhcmdzJywgZGVmYXVsdHM9Tm9uZSkKLSsgICAgICAgIEZ1 bGxBcmdTcGVjKGFyZ3M9W10sIHZhcmFyZ3M9Tm9uZSwgdmFya3c9J2FyZ3MnLCBkZWZhdWx0cz1O b25lLCBrd29ubHlhcmdzPVtdLCBrd29ubHlkZWZhdWx0cz1Ob25lLCBhbm5vdGF0aW9ucz17fSkK LSAKLSAgICAgU29tZSBtYWxmb3JtZWQgaW5wdXQgaXMgZGV0ZWN0ZWQ6OgotIAotQEAgLTEyMDcs MTcgKzEyMDMsMTcgQEAgZGVmIF9zYWdlX2dldGFyZ3NwZWNfY3l0aG9uKHNvdXJjZSk6Ci0gCi0g ICAgICAgICBzYWdlOiBkZWYgZHVtbXlfcHl0aG9uKHNlbGYsICphcmdzLCB4PTEpOiBwYXNzCi0g ICAgICAgICBzYWdlOiBzZ2MoImRlZiBkdW1teV9weXRob24oc2VsZiwgKmFyZ3MsIHg9MSk6IHBh c3MiKQotLSAgICAgICAgQXJnU3BlYyhhcmdzPVsnc2VsZicsICd4J10sIHZhcmFyZ3M9J2FyZ3Mn LCBrZXl3b3Jkcz1Ob25lLCBkZWZhdWx0cz0oMSwpKQotKyAgICAgICAgRnVsbEFyZ1NwZWMoYXJn cz1bJ3NlbGYnLCAneCddLCB2YXJhcmdzPSdhcmdzJywgdmFya3c9Tm9uZSwgZGVmYXVsdHM9KDEs KSwga3dvbmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9uZSwgYW5ub3RhdGlvbnM9e30pCi0g ICAgICAgICBzYWdlOiBjeXRob24oImRlZiBkdW1teV9jeXRob24oc2VsZiwgKmFyZ3MsIHg9MSk6 IHBhc3MiKQotICAgICAgICAgc2FnZTogc2djKCJkZWYgZHVtbXlfY3l0aG9uKHNlbGYsICphcmdz LCB4PTEpOiBwYXNzIikKLS0gICAgICAgIEFyZ1NwZWMoYXJncz1bJ3NlbGYnLCAneCddLCB2YXJh cmdzPSdhcmdzJywga2V5d29yZHM9Tm9uZSwgZGVmYXVsdHM9KDEsKSkKLSsgICAgICAgIEZ1bGxB cmdTcGVjKGFyZ3M9WydzZWxmJywgJ3gnXSwgdmFyYXJncz0nYXJncycsIHZhcmt3PU5vbmUsIGRl ZmF1bHRzPSgxLCksIGt3b25seWFyZ3M9W10sIGt3b25seWRlZmF1bHRzPU5vbmUsIGFubm90YXRp b25zPXt9KQotIAotICAgICBJbiBzb21lIGV4YW1wbGVzIGFib3ZlLCBhIHN5bnRheCBlcnJvciB3 YXMgcmFpc2VkIHdoZW4gYSB0eXBlCi0gICAgIGRlZmluaXRpb24gY29udGFpbnMgYSBwb2ludGVy LiBBbiBleGNlcHRpb24gaXMgbWFkZSBmb3IgYGBjaGFyKmBgLAotICAgICBzaW5jZSBDIHN0cmlu Z3MgYXJlIGFjY2VwdGFibGUgaW5wdXQgaW4gcHVibGljIEN5dGhvbiBmdW5jdGlvbnM6OgotIAot ICAgICAgICAgc2FnZTogc2djKCdkZWYgZihjaGFyICp4ID0gImEgc3RyaW5nIiwgeiA9IHsoMSwy LDMpOiBUcnVlfSk6IHBhc3MnKQotLSAgICAgICAgQXJnU3BlYyhhcmdzPVsneCcsICd6J10sIHZh cmFyZ3M9Tm9uZSwga2V5d29yZHM9Tm9uZSwgZGVmYXVsdHM9KCdhIHN0cmluZycsIHsoMSwgMiwg Myk6IFRydWV9KSkKLSsgICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9Wyd4JywgJ3onXSwgdmFyYXJn cz1Ob25lLCB2YXJrdz1Ob25lLCBkZWZhdWx0cz0oJ2Egc3RyaW5nJywgeygxLCAyLCAzKTogVHJ1 ZX0pLCBrd29ubHlhcmdzPVtdLCBrd29ubHlkZWZhdWx0cz1Ob25lLCBhbm5vdGF0aW9ucz17fSkK LSAKLSAKLSAgICAgQVVUSE9SUzoKLUBAIC0xNTAzLDQwICsxNDk5LDQwIEBAIGRlZiBzYWdlX2dl dGFyZ3NwZWMob2JqKToKLSAgICAgICAgIHNhZ2U6IGRlZiBmKHgsIHksIHo9MSwgdD0yLCAqYXJn cywgKiprZXl3b3Jkcyk6Ci0gICAgICAgICAuLi4uOiAgICAgcGFzcwotICAgICAgICAgc2FnZTog c2FnZV9nZXRhcmdzcGVjKGYpCi0tICAgICAgICBBcmdTcGVjKGFyZ3M9Wyd4JywgJ3knLCAneics ICd0J10sIHZhcmFyZ3M9J2FyZ3MnLCBrZXl3b3Jkcz0na2V5d29yZHMnLCBkZWZhdWx0cz0oMSwg MikpCi0rICAgICAgICBGdWxsQXJnU3BlYyhhcmdzPVsneCcsICd5JywgJ3onLCAndCddLCB2YXJh cmdzPSdhcmdzJywgdmFya3c9J2tleXdvcmRzJywgZGVmYXVsdHM9KDEsIDIpLCBrd29ubHlhcmdz PVtdLCBrd29ubHlkZWZhdWx0cz1Ob25lLCBhbm5vdGF0aW9ucz17fSkKLSAKLSAgICAgV2Ugbm93 IHJ1biBzYWdlX2dldGFyZ3NwZWMgb24gc29tZSBmdW5jdGlvbnMgZnJvbSB0aGUgU2FnZSBsaWJy YXJ5OjoKLSAKLSAgICAgICAgIHNhZ2U6IHNhZ2VfZ2V0YXJnc3BlYyhpZGVudGl0eV9tYXRyaXgp Ci0tICAgICAgICBBcmdTcGVjKGFyZ3M9WydyaW5nJywgJ24nLCAnc3BhcnNlJ10sIHZhcmFyZ3M9 Tm9uZSwga2V5d29yZHM9Tm9uZSwgZGVmYXVsdHM9KDAsIEZhbHNlKSkKLSsgICAgICAgIEZ1bGxB cmdTcGVjKGFyZ3M9WydyaW5nJywgJ24nLCAnc3BhcnNlJ10sIHZhcmFyZ3M9Tm9uZSwgdmFya3c9 Tm9uZSwgZGVmYXVsdHM9KDAsIEZhbHNlKSwga3dvbmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9 Tm9uZSwgYW5ub3RhdGlvbnM9e30pCi0gICAgICAgICBzYWdlOiBzYWdlX2dldGFyZ3NwZWMoZmFj dG9yKQotLSAgICAgICAgQXJnU3BlYyhhcmdzPVsnbicsICdwcm9vZicsICdpbnRfJywgJ2FsZ29y aXRobScsICd2ZXJib3NlJ10sIHZhcmFyZ3M9Tm9uZSwga2V5d29yZHM9J2t3ZHMnLCBkZWZhdWx0 cz0oTm9uZSwgRmFsc2UsICdwYXJpJywgMCkpCi0rICAgICAgICBGdWxsQXJnU3BlYyhhcmdzPVsn bicsICdwcm9vZicsICdpbnRfJywgJ2FsZ29yaXRobScsICd2ZXJib3NlJ10sIHZhcmFyZ3M9Tm9u ZSwgdmFya3c9J2t3ZHMnLCBkZWZhdWx0cz0oTm9uZSwgRmFsc2UsICdwYXJpJywgMCksIGt3b25s eWFyZ3M9W10sIGt3b25seWRlZmF1bHRzPU5vbmUsIGFubm90YXRpb25zPXt9KQotIAotICAgICBJ biB0aGUgY2FzZSBvZiBhIGNsYXNzIG9yIGEgY2xhc3MgaW5zdGFuY2UsIHRoZSBgYEFyZ1NwZWNg YCBvZiB0aGUKLSAgICAgYGBfX25ld19fYGAsIGBgX19pbml0X19gYCBvciBgYF9fY2FsbF9fYGAg bWV0aG9kIGlzIHJldHVybmVkOjoKLSAKLSAgICAgICAgIHNhZ2U6IFAuPHgseT4gPSBRUVtdCi0g ICAgICAgICBzYWdlOiBzYWdlX2dldGFyZ3NwZWMoUCkKLS0gICAgICAgIEFyZ1NwZWMoYXJncz1b J2Jhc2VfcmluZycsICduJywgJ25hbWVzJywgJ29yZGVyJ10sIHZhcmFyZ3M9Tm9uZSwga2V5d29y ZHM9Tm9uZSwgZGVmYXVsdHM9KCdkZWdyZXZsZXgnLCkpCi0rICAgICAgICBGdWxsQXJnU3BlYyhh cmdzPVsnYmFzZV9yaW5nJywgJ24nLCAnbmFtZXMnLCAnb3JkZXInXSwgdmFyYXJncz1Ob25lLCB2 YXJrdz1Ob25lLCBkZWZhdWx0cz0oJ2RlZ3JldmxleCcsKSwga3dvbmx5YXJncz1bXSwga3dvbmx5 ZGVmYXVsdHM9Tm9uZSwgYW5ub3RhdGlvbnM9e30pCi0gICAgICAgICBzYWdlOiBzYWdlX2dldGFy Z3NwZWMoUC5fX2NsYXNzX18pCi0tICAgICAgICBBcmdTcGVjKGFyZ3M9WydzZWxmJywgJ3gnXSwg dmFyYXJncz0nYXJncycsIGtleXdvcmRzPSdrd2RzJywgZGVmYXVsdHM9KDAsKSkKLSsgICAgICAg IEZ1bGxBcmdTcGVjKGFyZ3M9WydzZWxmJywgJ3gnXSwgdmFyYXJncz0nYXJncycsIHZhcmt3PSdr d2RzJywgZGVmYXVsdHM9KDAsKSwga3dvbmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9uZSwg YW5ub3RhdGlvbnM9e30pCi0gCi0gICAgIFRoZSBmb2xsb3dpbmcgdGVzdHMgYWdhaW5zdCB2YXJp b3VzIGJ1Z3MgdGhhdCB3ZXJlIGZpeGVkIGluCi0gICAgIDp0cmFjOmA5OTc2YDo6Ci0gCi0gICAg ICAgICBzYWdlOiBmcm9tIHNhZ2UucmluZ3MucG9seW5vbWlhbC5yZWFsX3Jvb3RzIGltcG9ydCBi ZXJuc3RlaW5fcG9seW5vbWlhbF9mYWN0b3J5X3JhdGxpc3QKLSAgICAgICAgIHNhZ2U6IHNhZ2Vf Z2V0YXJnc3BlYyhiZXJuc3RlaW5fcG9seW5vbWlhbF9mYWN0b3J5X3JhdGxpc3QuY29lZmZzX2Jp dHNpemUpCi0tICAgICAgICBBcmdTcGVjKGFyZ3M9WydzZWxmJ10sIHZhcmFyZ3M9Tm9uZSwga2V5 d29yZHM9Tm9uZSwgZGVmYXVsdHM9Tm9uZSkKLSsgICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9Wydz ZWxmJ10sIHZhcmFyZ3M9Tm9uZSwgdmFya3c9Tm9uZSwgZGVmYXVsdHM9Tm9uZSwga3dvbmx5YXJn cz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9uZSwgYW5ub3RhdGlvbnM9e30pCi0gICAgICAgICBzYWdl OiBmcm9tIHNhZ2UucmluZ3MucG9seW5vbWlhbC5wYm9yaS5wYm9yaSBpbXBvcnQgQm9vbGVhbk1v bm9taWFsTW9ub2lkCi0gICAgICAgICBzYWdlOiBzYWdlX2dldGFyZ3NwZWMoQm9vbGVhbk1vbm9t aWFsTW9ub2lkLmdlbikKLS0gICAgICAgIEFyZ1NwZWMoYXJncz1bJ3NlbGYnLCAnaSddLCB2YXJh cmdzPU5vbmUsIGtleXdvcmRzPU5vbmUsIGRlZmF1bHRzPSgwLCkpCi0rICAgICAgICBGdWxsQXJn U3BlYyhhcmdzPVsnc2VsZicsICdpJ10sIHZhcmFyZ3M9Tm9uZSwgdmFya3c9Tm9uZSwgZGVmYXVs dHM9KDAsKSwga3dvbmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9uZSwgYW5ub3RhdGlvbnM9 e30pCi0gICAgICAgICBzYWdlOiBJID0gUCpbeCx5XQotICAgICAgICAgc2FnZTogc2FnZV9nZXRh cmdzcGVjKEkuZ3JvZWJuZXJfYmFzaXMpCi0tICAgICAgICBBcmdTcGVjKGFyZ3M9WydzZWxmJywg J2FsZ29yaXRobScsICdkZWdfYm91bmQnLCAnbXVsdF9ib3VuZCcsICdwcm90J10sCi0tICAgICAg ICB2YXJhcmdzPSdhcmdzJywga2V5d29yZHM9J2t3ZHMnLCBkZWZhdWx0cz0oJycsIE5vbmUsIE5v bmUsIEZhbHNlKSkKLSsgICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9WydzZWxmJywgJ2FsZ29yaXRo bScsICdkZWdfYm91bmQnLCAnbXVsdF9ib3VuZCcsICdwcm90J10sCi0rICAgICAgICB2YXJhcmdz PSdhcmdzJywgdmFya3c9J2t3ZHMnLCBkZWZhdWx0cz0oJycsIE5vbmUsIE5vbmUsIEZhbHNlKSwg a3dvbmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9uZSwgYW5ub3RhdGlvbnM9e30pCi0gICAg ICAgICBzYWdlOiBjeXRob24oImNwZGVmIGludCBmb28oeCx5KSBleGNlcHQgLTE6IHJldHVybiAx IikKLSAgICAgICAgIHNhZ2U6IHNhZ2VfZ2V0YXJnc3BlYyhmb28pCi0tICAgICAgICBBcmdTcGVj KGFyZ3M9Wyd4JywgJ3knXSwgdmFyYXJncz1Ob25lLCBrZXl3b3Jkcz1Ob25lLCBkZWZhdWx0cz1O b25lKQotKyAgICAgICAgRnVsbEFyZ1NwZWMoYXJncz1bJ3gnLCAneSddLCB2YXJhcmdzPU5vbmUs IHZhcmt3PU5vbmUsIGRlZmF1bHRzPU5vbmUsIGt3b25seWFyZ3M9W10sIGt3b25seWRlZmF1bHRz PU5vbmUsIGFubm90YXRpb25zPXt9KQotIAotICAgICBJZiBhIGBgZnVuY3Rvb2xzLnBhcnRpYWxg YCBpbnN0YW5jZSBpcyBpbnZvbHZlZCwgd2Ugc2VlIG5vIG90aGVyIG1lYW5pbmdmdWwgc29sdXRp b24KLSAgICAgdGhhbiB0byByZXR1cm4gdGhlIGFyZ3NwZWMgb2YgdGhlIHVuZGVybHlpbmcgZnVu Y3Rpb246OgotQEAgLTE1NDYsNyArMTU0Miw3IEBAIGRlZiBzYWdlX2dldGFyZ3NwZWMob2JqKToK LSAgICAgICAgIHNhZ2U6IGltcG9ydCBmdW5jdG9vbHMKLSAgICAgICAgIHNhZ2U6IGYxID0gZnVu Y3Rvb2xzLnBhcnRpYWwoZiwgMSxjPTIpCi0gICAgICAgICBzYWdlOiBzYWdlX2dldGFyZ3NwZWMo ZjEpCi0tICAgICAgICBBcmdTcGVjKGFyZ3M9WydhJywgJ2InLCAnYycsICdkJ10sIHZhcmFyZ3M9 Tm9uZSwga2V5d29yZHM9Tm9uZSwgZGVmYXVsdHM9KDEsKSkKLSsgICAgICAgIEZ1bGxBcmdTcGVj KGFyZ3M9WydhJywgJ2InLCAnYycsICdkJ10sIHZhcmFyZ3M9Tm9uZSwgdmFya3c9Tm9uZSwgZGVm YXVsdHM9KDEsKSwga3dvbmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9uZSwgYW5ub3RhdGlv bnM9e30pCi0gCi0gICAgIFRFU1RTOgotIAotQEAgLTE1NzIsMTQgKzE1NjgsMTQgQEAgZGVmIHNh Z2VfZ2V0YXJnc3BlYyhvYmopOgotICAgICAgICAgc2FnZTogcHJpbnQoc2FnZS5taXNjLnNhZ2Vp bnNwZWN0LnNhZ2VfZ2V0c291cmNlKE8pKQotICAgICAgICAgZGVmIGZvbyh4LCBhPScpIicsIGI9 eygyKzEpOidiYXInLCBub3QgMTozLCAzPDw0OjV9KTogcmV0dXJuCi0gICAgICAgICBzYWdlOiBz cGVjID0gc2FnZS5taXNjLnNhZ2VpbnNwZWN0LnNhZ2VfZ2V0YXJnc3BlYyhPKQotLSAgICAgICAg c2FnZTogc3BlYy5hcmdzLCBzcGVjLnZhcmFyZ3MsIHNwZWMua2V5d29yZHMKLSsgICAgICAgIHNh Z2U6IHNwZWMuYXJncywgc3BlYy52YXJhcmdzLCBzcGVjLnZhcmt3Ci0gICAgICAgICAoWyd4Jywg J2EnLCAnYiddLCBOb25lLCBOb25lKQotICAgICAgICAgc2FnZTogc3BlYy5kZWZhdWx0c1swXQot ICAgICAgICAgJykiJwotICAgICAgICAgc2FnZTogc29ydGVkKHNwZWMuZGVmYXVsdHNbMV0uaXRl bXMoKSwga2V5PWxhbWJkYSB4OiBzdHIoeCkpCi0gICAgICAgICBbKDMsICdiYXInKSwgKDQ4LCA1 KSwgKEZhbHNlLCAzKV0KLSAgICAgICAgIHNhZ2U6IHNhZ2UubWlzYy5zYWdlaW5zcGVjdC5zYWdl X2dldGFyZ3NwZWMoTy5fX2NhbGxfXykKLS0gICAgICAgIEFyZ1NwZWMoYXJncz1bJ3NlbGYnLCAn bScsICduJ10sIHZhcmFyZ3M9Tm9uZSwga2V5d29yZHM9Tm9uZSwgZGVmYXVsdHM9Tm9uZSkKLSsg ICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9WydzZWxmJywgJ20nLCAnbiddLCB2YXJhcmdzPU5vbmUs IHZhcmt3PU5vbmUsIGRlZmF1bHRzPU5vbmUsIGt3b25seWFyZ3M9W10sIGt3b25seWRlZmF1bHRz PU5vbmUsIGFubm90YXRpb25zPXt9KQotIAotICAgICA6OgotIAotQEAgLTE1ODgsMTMgKzE1ODQs MTMgQEAgZGVmIHNhZ2VfZ2V0YXJnc3BlYyhvYmopOgotICAgICAgICAgZGVmIGZvbyh4LCBhPSdc JykiJywgYj17bm90ICgyKzE9PTMpOidiYXInfSk6IHJldHVybgotICAgICAgICAgPEJMQU5LTElO RT4KLSAgICAgICAgIHNhZ2U6IHNhZ2UubWlzYy5zYWdlaW5zcGVjdC5zYWdlX2dldGFyZ3NwZWMo Zm9vKQotLSAgICAgICAgQXJnU3BlYyhhcmdzPVsneCcsICdhJywgJ2InXSwgdmFyYXJncz1Ob25l LCBrZXl3b3Jkcz1Ob25lLCBkZWZhdWx0cz0oJ1wnKSInLCB7RmFsc2U6ICdiYXInfSkpCi0rICAg ICAgICBGdWxsQXJnU3BlYyhhcmdzPVsneCcsICdhJywgJ2InXSwgdmFyYXJncz1Ob25lLCB2YXJr dz1Ob25lLCBkZWZhdWx0cz0oJ1wnKSInLCB7RmFsc2U6ICdiYXInfSksIGt3b25seWFyZ3M9W10s IGt3b25seWRlZmF1bHRzPU5vbmUsIGFubm90YXRpb25zPXt9KQotIAotICAgICBUaGUgZm9sbG93 aW5nIHByb2R1Y2VkIGEgc3ludGF4IGVycm9yIGJlZm9yZSB0aGUgcGF0Y2ggYXQgOnRyYWM6YDEx OTEzYCwKLSAgICAgc2VlIGFsc28gOnRyYWM6YDI2OTA2YDo6Ci0gCi0gICAgICAgICBzYWdlOiBz YWdlLm1pc2Muc2FnZWluc3BlY3Quc2FnZV9nZXRhcmdzcGVjKHIubG0pICAgICAgICAgICAgICAg ICAgICAgICAgICMgb3B0aW9uYWwgLSBycHkyCi0tICAgICAgICBBcmdTcGVjKGFyZ3M9WydzZWxm J10sIHZhcmFyZ3M9J2FyZ3MnLCBrZXl3b3Jkcz0na3dkcycsIGRlZmF1bHRzPU5vbmUpCi0rICAg ICAgICBGdWxsQXJnU3BlYyhhcmdzPVsnc2VsZiddLCB2YXJhcmdzPSdhcmdzJywgdmFya3c9J2t3 ZHMnLCBkZWZhdWx0cz1Ob25lLCBrd29ubHlhcmdzPVtdLCBrd29ubHlkZWZhdWx0cz1Ob25lLCBh bm5vdGF0aW9ucz17fSkKLSAKLSAgICAgVGhlIGZvbGxvd2luZyB3YXMgZml4ZWQgaW4gOnRyYWM6 YDE2MzA5YDo6Ci0gCi1AQCAtMTYwOCwyMyArMTYwNCwyMyBAQCBkZWYgc2FnZV9nZXRhcmdzcGVj KG9iaik6Ci0gICAgICAgICAuLi4uOiAgICAgY3BkZWYgbWVldChjYXRlZ29yaWVzLCBiaW50IGFz X2xpc3QgPSBGYWxzZSwgdHVwbGUgaWdub3JlX2F4aW9tcz0oKSwgdHVwbGUgYXhpb21zPSgpKTog cGFzcwotICAgICAgICAgLi4uLjogJycnKQotICAgICAgICAgc2FnZTogc2FnZV9nZXRhcmdzcGVj KEZvby5qb2luKQotLSAgICAgICAgQXJnU3BlYyhhcmdzPVsnY2F0ZWdvcmllcycsICdhc19saXN0 JywgJ2lnbm9yZV9heGlvbXMnLCAnYXhpb21zJ10sIHZhcmFyZ3M9Tm9uZSwga2V5d29yZHM9Tm9u ZSwgZGVmYXVsdHM9KEZhbHNlLCAoKSwgKCkpKQotKyAgICAgICAgRnVsbEFyZ1NwZWMoYXJncz1b J2NhdGVnb3JpZXMnLCAnYXNfbGlzdCcsICdpZ25vcmVfYXhpb21zJywgJ2F4aW9tcyddLCB2YXJh cmdzPU5vbmUsIHZhcmt3PU5vbmUsIGRlZmF1bHRzPShGYWxzZSwgKCksICgpKSwga3dvbmx5YXJn cz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9uZSwgYW5ub3RhdGlvbnM9e30pCi0gICAgICAgICBzYWdl OiBzYWdlX2dldGFyZ3NwZWMoQmFyLmpvaW4pCi0tICAgICAgICBBcmdTcGVjKGFyZ3M9WydjYXRl Z29yaWVzJywgJ2FzX2xpc3QnLCAnaWdub3JlX2F4aW9tcycsICdheGlvbXMnXSwgdmFyYXJncz1O b25lLCBrZXl3b3Jkcz1Ob25lLCBkZWZhdWx0cz0oRmFsc2UsICgpLCAoKSkpCi0rICAgICAgICBG dWxsQXJnU3BlYyhhcmdzPVsnY2F0ZWdvcmllcycsICdhc19saXN0JywgJ2lnbm9yZV9heGlvbXMn LCAnYXhpb21zJ10sIHZhcmFyZ3M9Tm9uZSwgdmFya3c9Tm9uZSwgZGVmYXVsdHM9KEZhbHNlLCAo KSwgKCkpLCBrd29ubHlhcmdzPVtdLCBrd29ubHlkZWZhdWx0cz1Ob25lLCBhbm5vdGF0aW9ucz17 fSkKLSAgICAgICAgIHNhZ2U6IHNhZ2VfZ2V0YXJnc3BlYyhCYXIubWVldCkKLS0gICAgICAgIEFy Z1NwZWMoYXJncz1bJ2NhdGVnb3JpZXMnLCAnYXNfbGlzdCcsICdpZ25vcmVfYXhpb21zJywgJ2F4 aW9tcyddLCB2YXJhcmdzPU5vbmUsIGtleXdvcmRzPU5vbmUsIGRlZmF1bHRzPShGYWxzZSwgKCks ICgpKSkKLSsgICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9WydjYXRlZ29yaWVzJywgJ2FzX2xpc3Qn LCAnaWdub3JlX2F4aW9tcycsICdheGlvbXMnXSwgdmFyYXJncz1Ob25lLCB2YXJrdz1Ob25lLCBk ZWZhdWx0cz0oRmFsc2UsICgpLCAoKSksIGt3b25seWFyZ3M9W10sIGt3b25seWRlZmF1bHRzPU5v bmUsIGFubm90YXRpb25zPXt9KQotIAotICAgICBUZXN0IHRoYXQgOnRyYWM6YDE3MDA5YCBpcyBm aXhlZDo6Ci0gCi0gICAgICAgICBzYWdlOiBzYWdlX2dldGFyZ3NwZWMoZ2FwKQotLSAgICAgICAg QXJnU3BlYyhhcmdzPVsnc2VsZicsICd4JywgJ25hbWUnXSwgdmFyYXJncz1Ob25lLCBrZXl3b3Jk cz1Ob25lLCBkZWZhdWx0cz0oTm9uZSwpKQotKyAgICAgICAgRnVsbEFyZ1NwZWMoYXJncz1bJ3Nl bGYnLCAneCcsICduYW1lJ10sIHZhcmFyZ3M9Tm9uZSwgdmFya3c9Tm9uZSwgZGVmYXVsdHM9KE5v bmUsKSwga3dvbmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9uZSwgYW5ub3RhdGlvbnM9e30p Ci0gCi0gICAgIEJ5IDp0cmFjOmAxNzgxNGAsIHRoZSBmb2xsb3dpbmcgZ2l2ZXMgdGhlIGNvcnJl Y3QgYW5zd2VyIChwcmV2aW91c2x5LCB0aGUKLSAgICAgZGVmYXVsdHMgd291bGQgaGF2ZSBiZWVu IGZvdW5kIGBgTm9uZWBgKTo6Ci0gCi0gICAgICAgICBzYWdlOiBmcm9tIHNhZ2UubWlzYy5uZXN0 ZWRfY2xhc3MgaW1wb3J0IE1haW5DbGFzcwotICAgICAgICAgc2FnZTogc2FnZV9nZXRhcmdzcGVj KE1haW5DbGFzcy5OZXN0ZWRDbGFzcy5OZXN0ZWRTdWJDbGFzcy5kdW1teSkKLS0gICAgICAgIEFy Z1NwZWMoYXJncz1bJ3NlbGYnLCAneCcsICdyJ10sIHZhcmFyZ3M9J2FyZ3MnLCBrZXl3b3Jkcz0n a3dkcycsIGRlZmF1bHRzPSgoMSwgMiwgMy40KSwpKQotKyAgICAgICAgRnVsbEFyZ1NwZWMoYXJn cz1bJ3NlbGYnLCAneCcsICdyJ10sIHZhcmFyZ3M9J2FyZ3MnLCB2YXJrdz0na3dkcycsIGRlZmF1 bHRzPSgoMSwgMiwgMy40KSwpLCBrd29ubHlhcmdzPVtdLCBrd29ubHlkZWZhdWx0cz1Ob25lLCBh bm5vdGF0aW9ucz17fSkKLSAKLSAgICAgSW4gOnRyYWM6YDE4MjQ5YCB3YXMgZGVjaWRlZCB0byBy ZXR1cm4gYSBnZW5lcmljIHNpZ25hdHVyZSBmb3IgUHl0aG9uCi0gICAgIGJ1aWx0aW4gZnVuY3Rp b25zLCByYXRoZXIgdGhhbiB0byByYWlzZSBhbiBlcnJvciAod2hpY2ggaXMgd2hhdCBQeXRob24n cwotQEAgLTE2MzIsNyArMTYyOCw3IEBAIGRlZiBzYWdlX2dldGFyZ3NwZWMob2JqKToKLSAKLSAg ICAgICAgIHNhZ2U6IGltcG9ydCBpbnNwZWN0Ci0gICAgICAgICBzYWdlOiBzYWdlX2dldGFyZ3Nw ZWMocmFuZ2UpCi0tICAgICAgICBBcmdTcGVjKGFyZ3M9W10sIHZhcmFyZ3M9J2FyZ3MnLCBrZXl3 b3Jkcz0na3dkcycsIGRlZmF1bHRzPU5vbmUpCi0rICAgICAgICBGdWxsQXJnU3BlYyhhcmdzPVtd LCB2YXJhcmdzPSdhcmdzJywgdmFya3c9J2t3ZHMnLCBkZWZhdWx0cz1Ob25lLCBrd29ubHlhcmdz PVtdLCBrd29ubHlkZWZhdWx0cz1Ob25lLCBhbm5vdGF0aW9ucz17fSkKLSAKLSAgICAgVGVzdCB0 aGF0IDp0cmFjOmAyODUyNGAgaXMgZml4ZWQ6OgotIAotQEAgLTE4MTksMTQgKzE4MTUsMTAgQEAg ZGVmIHNhZ2VfZm9ybWF0YXJnc3BlYyhhcmdzLCB2YXJhcmdzPU5vbmUsIHZhcmt3PU5vbmUsIGRl ZmF1bHRzPU5vbmUsCi0gICAgIEVYQU1QTEVTOjoKLSAKLSAgICAgICAgIHNhZ2U6IGZyb20gc2Fn ZS5taXNjLnNhZ2VpbnNwZWN0IGltcG9ydCBzYWdlX2Zvcm1hdGFyZ3NwZWMKLS0gICAgICAgIHNh Z2U6IGZyb20gaW5zcGVjdCBpbXBvcnQgZm9ybWF0YXJnc3BlYyAjIGRlcHJlY2F0ZWQgaW4gUHl0 aG9uIDMKLSAgICAgICAgIHNhZ2U6IGFyZ3MgPSBbJ2EnLCAnYicsICdjJ10KLSAgICAgICAgIHNh Z2U6IGRlZmF1bHRzID0gWzNdCi0gICAgICAgICBzYWdlOiBzYWdlX2Zvcm1hdGFyZ3NwZWMoYXJn cywgZGVmYXVsdHM9ZGVmYXVsdHMpCi0gICAgICAgICAnKGEsIGIsIGM9MyknCi0tICAgICAgICBz YWdlOiBpbXBvcnQgd2FybmluZ3M7IHdhcm5pbmdzLnNpbXBsZWZpbHRlcignaWdub3JlJykgICMg aWdub3JlIERlcHJlY2F0aW9uV2FybmluZwotLSAgICAgICAgc2FnZTogZm9ybWF0YXJnc3BlYyhh cmdzLCBkZWZhdWx0cz1kZWZhdWx0cykgPT0gc2FnZV9mb3JtYXRhcmdzcGVjKGFyZ3MsIGRlZmF1 bHRzPWRlZmF1bHRzKQotLSAgICAgICAgVHJ1ZQotICAgICAiIiIKLSAgICAgZGVmIGZvcm1hdGFy Z2FuZGFubm90YXRpb24oYXJnKToKLSAgICAgICAgIHJlc3VsdCA9IGZvcm1hdGFyZyhhcmcpCi1A QCAtMjY0OSwxMSArMjY0MSwxMSBAQCBkZWYgX19pbnRlcm5hbF90ZXN0cygpOgotICAgICBUZXN0 IF9zYWdlX2dldGFyZ3NwZWNfY3l0aG9uIHdpdGggbXVsdGlwbGUgZGVmYXVsdCBhcmd1bWVudHMg YW5kIGEgdHlwZTo6Ci0gCi0gICAgICAgICBzYWdlOiBfc2FnZV9nZXRhcmdzcGVjX2N5dGhvbigi ZGVmIGluaXQoc2VsZiwgeD1Ob25lLCBiYXNlPTApOiIpCi0tICAgICAgICBBcmdTcGVjKGFyZ3M9 WydzZWxmJywgJ3gnLCAnYmFzZSddLCB2YXJhcmdzPU5vbmUsIGtleXdvcmRzPU5vbmUsIGRlZmF1 bHRzPShOb25lLCAwKSkKLSsgICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9WydzZWxmJywgJ3gnLCAn YmFzZSddLCB2YXJhcmdzPU5vbmUsIHZhcmt3PU5vbmUsIGRlZmF1bHRzPShOb25lLCAwKSwga3dv bmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9uZSwgYW5ub3RhdGlvbnM9e30pCi0gICAgICAg ICBzYWdlOiBfc2FnZV9nZXRhcmdzcGVjX2N5dGhvbigiZGVmIF9faW5pdF9fKHNlbGYsIHg9Tm9u ZSwgYmFzZT0wKToiKQotLSAgICAgICAgQXJnU3BlYyhhcmdzPVsnc2VsZicsICd4JywgJ2Jhc2Un XSwgdmFyYXJncz1Ob25lLCBrZXl3b3Jkcz1Ob25lLCBkZWZhdWx0cz0oTm9uZSwgMCkpCi0rICAg ICAgICBGdWxsQXJnU3BlYyhhcmdzPVsnc2VsZicsICd4JywgJ2Jhc2UnXSwgdmFyYXJncz1Ob25l LCB2YXJrdz1Ob25lLCBkZWZhdWx0cz0oTm9uZSwgMCksIGt3b25seWFyZ3M9W10sIGt3b25seWRl ZmF1bHRzPU5vbmUsIGFubm90YXRpb25zPXt9KQotICAgICAgICAgc2FnZTogX3NhZ2VfZ2V0YXJn c3BlY19jeXRob24oImRlZiBfX2luaXRfXyhzZWxmLCB4PU5vbmUsIHVuc2lnbmVkIGludCBiYXNl PTAsICoqa2V5cyk6IikKLS0gICAgICAgIEFyZ1NwZWMoYXJncz1bJ3NlbGYnLCAneCcsICdiYXNl J10sIHZhcmFyZ3M9Tm9uZSwga2V5d29yZHM9J2tleXMnLCBkZWZhdWx0cz0oTm9uZSwgMCkpCi0r ICAgICAgICBGdWxsQXJnU3BlYyhhcmdzPVsnc2VsZicsICd4JywgJ2Jhc2UnXSwgdmFyYXJncz1O b25lLCB2YXJrdz0na2V5cycsIGRlZmF1bHRzPShOb25lLCAwKSwga3dvbmx5YXJncz1bXSwga3dv bmx5ZGVmYXVsdHM9Tm9uZSwgYW5ub3RhdGlvbnM9e30pCi0gCi0gICAgIFRlc3QgX2V4dHJhY3Rf ZW1iZWRkZWRfcG9zaXRpb246Ci0gCi1kaWZmIC0tZ2l0IGEvc3JjL3NhZ2UvcGFyYWxsZWwvZGVj b3JhdGUucHkgYi9zcmMvc2FnZS9wYXJhbGxlbC9kZWNvcmF0ZS5weQotaW5kZXggYzE0NTE4YWY1 NzAuLjNhNzE1MmQ1YWM5IDEwMDY0NAotLS0tIGEvc3JjL3NhZ2UvcGFyYWxsZWwvZGVjb3JhdGUu cHkKLSsrKyBiL3NyYy9zYWdlL3BhcmFsbGVsL2RlY29yYXRlLnB5Ci1AQCAtMjQzLDcgKzI0Myw4 IEBAIGZvciBhIGluIGFyZ3NbMF0pKQotICAgICAgICAgICAgIC4uLi46ICAgICByZXR1cm4geCAr IHkKLSAgICAgICAgICAgICBzYWdlOiBmcm9tIHNhZ2UubWlzYy5zYWdlaW5zcGVjdCBpbXBvcnQg c2FnZV9nZXRhcmdzcGVjCi0gICAgICAgICAgICAgc2FnZTogc2FnZV9nZXRhcmdzcGVjKHAoZikp Ci0tICAgICAgICAgICAgQXJnU3BlYyhhcmdzPVsneCcsICd5J10sIHZhcmFyZ3M9Tm9uZSwga2V5 d29yZHM9Tm9uZSwgZGVmYXVsdHM9Tm9uZSkKLSsgICAgICAgICAgICBGdWxsQXJnU3BlYyhhcmdz PVsneCcsICd5J10sIHZhcmFyZ3M9Tm9uZSwgdmFya3c9Tm9uZSwgZGVmYXVsdHM9Tm9uZSwKLSsg ICAgICAgICAgICAgICAgICAgICAgICBrd29ubHlhcmdzPVtdLCBrd29ubHlkZWZhdWx0cz1Ob25l LCBhbm5vdGF0aW9ucz17fSkKLSAgICAgICAgICIiIgotICAgICAgICAgZnJvbSBzYWdlLm1pc2Mu c2FnZWluc3BlY3QgaW1wb3J0IHNhZ2VfZ2V0YXJnc3BlYwotICAgICAgICAgcmV0dXJuIHNhZ2Vf Z2V0YXJnc3BlYyhzZWxmLmZ1bmMpCi1kaWZmIC0tZ2l0IGEvc3JjL3NhZ2UvcGxvdC9wbG90M2Qv cGxvdDNkLnB5IGIvc3JjL3NhZ2UvcGxvdC9wbG90M2QvcGxvdDNkLnB5Ci1pbmRleCA2NGIxMWEw NDQyYS4uMTc0NzY1OTgwZjcgMTAwNjQ0Ci0tLS0gYS9zcmMvc2FnZS9wbG90L3Bsb3QzZC9wbG90 M2QucHkKLSsrKyBiL3NyYy9zYWdlL3Bsb3QvcGxvdDNkL3Bsb3QzZC5weQotQEAgLTMyOSwxOSAr MzI5LDI0IEBAIGNsYXNzIF9Db29yZGluYXRlcygpOgotICAgICAgICAgICAgIHNhZ2U6IHQxLHQy LHQzPVQudG9fY2FydGVzaWFuKGxhbWJkYSBhLGI6IDIqYStiKQotICAgICAgICAgICAgIHNhZ2U6 IGZyb20gc2FnZS5taXNjLnNhZ2VpbnNwZWN0IGltcG9ydCBzYWdlX2dldGFyZ3NwZWMKLSAgICAg ICAgICAgICBzYWdlOiBzYWdlX2dldGFyZ3NwZWModDEpCi0tICAgICAgICAgICAgQXJnU3BlYyhh cmdzPVsnYScsICdiJ10sIHZhcmFyZ3M9Tm9uZSwga2V5d29yZHM9Tm9uZSwgZGVmYXVsdHM9Tm9u ZSkKLSsgICAgICAgICAgICBGdWxsQXJnU3BlYyhhcmdzPVsnYScsICdiJ10sIHZhcmFyZ3M9Tm9u ZSwgdmFya3c9Tm9uZSwgZGVmYXVsdHM9Tm9uZSwKLSsgICAgICAgICAgICAgICAgICAgICAgICBr d29ubHlhcmdzPVtdLCBrd29ubHlkZWZhdWx0cz1Ob25lLCBhbm5vdGF0aW9ucz17fSkKLSAgICAg ICAgICAgICBzYWdlOiBzYWdlX2dldGFyZ3NwZWModDIpCi0tICAgICAgICAgICAgQXJnU3BlYyhh cmdzPVsnYScsICdiJ10sIHZhcmFyZ3M9Tm9uZSwga2V5d29yZHM9Tm9uZSwgZGVmYXVsdHM9Tm9u ZSkKLSsgICAgICAgICAgICBGdWxsQXJnU3BlYyhhcmdzPVsnYScsICdiJ10sIHZhcmFyZ3M9Tm9u ZSwgdmFya3c9Tm9uZSwgZGVmYXVsdHM9Tm9uZSwKLSsgICAgICAgICAgICAgICAgICAgICAgICBr d29ubHlhcmdzPVtdLCBrd29ubHlkZWZhdWx0cz1Ob25lLCBhbm5vdGF0aW9ucz17fSkKLSAgICAg ICAgICAgICBzYWdlOiBzYWdlX2dldGFyZ3NwZWModDMpCi0tICAgICAgICAgICAgQXJnU3BlYyhh cmdzPVsnYScsICdiJ10sIHZhcmFyZ3M9Tm9uZSwga2V5d29yZHM9Tm9uZSwgZGVmYXVsdHM9Tm9u ZSkKLSsgICAgICAgICAgICBGdWxsQXJnU3BlYyhhcmdzPVsnYScsICdiJ10sIHZhcmFyZ3M9Tm9u ZSwgdmFya3c9Tm9uZSwgZGVmYXVsdHM9Tm9uZSwKLSsgICAgICAgICAgICAgICAgICAgICAgICBr d29ubHlhcmdzPVtdLCBrd29ubHlkZWZhdWx0cz1Ob25lLCBhbm5vdGF0aW9ucz17fSkKLSAKLSAg ICAgICAgICAgICBzYWdlOiBkZWYgZyhhLGIpOiByZXR1cm4gMiphK2IKLSAgICAgICAgICAgICBz YWdlOiB0MSx0Mix0Mz1ULnRvX2NhcnRlc2lhbihnKQotICAgICAgICAgICAgIHNhZ2U6IHNhZ2Vf Z2V0YXJnc3BlYyh0MSkKLS0gICAgICAgICAgICBBcmdTcGVjKGFyZ3M9WydhJywgJ2InXSwgdmFy YXJncz1Ob25lLCBrZXl3b3Jkcz1Ob25lLCBkZWZhdWx0cz1Ob25lKQotKyAgICAgICAgICAgIEZ1 bGxBcmdTcGVjKGFyZ3M9WydhJywgJ2InXSwgdmFyYXJncz1Ob25lLCB2YXJrdz1Ob25lLCBkZWZh dWx0cz1Ob25lLAotKyAgICAgICAgICAgICAgICAgICAgICAgIGt3b25seWFyZ3M9W10sIGt3b25s eWRlZmF1bHRzPU5vbmUsIGFubm90YXRpb25zPXt9KQotICAgICAgICAgICAgIHNhZ2U6IHQxLHQy LHQzPVQudG9fY2FydGVzaWFuKDIqYStiKQotICAgICAgICAgICAgIHNhZ2U6IHNhZ2VfZ2V0YXJn c3BlYyh0MSkKLS0gICAgICAgICAgICBBcmdTcGVjKGFyZ3M9WydhJywgJ2InXSwgdmFyYXJncz1O b25lLCBrZXl3b3Jkcz1Ob25lLCBkZWZhdWx0cz1Ob25lKQotKyAgICAgICAgICAgIEZ1bGxBcmdT cGVjKGFyZ3M9WydhJywgJ2InXSwgdmFyYXJncz1Ob25lLCB2YXJrdz1Ob25lLCBkZWZhdWx0cz1O b25lLAotKyAgICAgICAgICAgICAgICAgICAgICAgIGt3b25seWFyZ3M9W10sIGt3b25seWRlZmF1 bHRzPU5vbmUsIGFubm90YXRpb25zPXt9KQotIAotICAgICAgICAgSWYgd2UgY2Fubm90IGd1ZXNz IHRoZSByaWdodCBwYXJhbWV0ZXIgbmFtZXMsIHRoZW4gdGhlCi0gICAgICAgICBwYXJhbWV0ZXJz IGFyZSBuYW1lZCBgdWAgYW5kIGB2YDo6Ci1AQCAtMzUyLDcgKzM1Nyw4IEBAIGNsYXNzIF9Db29y ZGluYXRlcygpOgotICAgICAgICAgICAgIHNhZ2U6IFQgPSBfQXJiaXRyYXJ5Q29vcmRpbmF0ZXMo KHggKyB5LCB4IC0geSwgeiksIHosW3gseV0pCi0gICAgICAgICAgICAgc2FnZTogdDEsdDIsdDM9 VC50b19jYXJ0ZXNpYW4ob3BlcmF0b3IuYWRkKQotICAgICAgICAgICAgIHNhZ2U6IHNhZ2VfZ2V0 YXJnc3BlYyh0MSkKLS0gICAgICAgICAgICBBcmdTcGVjKGFyZ3M9Wyd1JywgJ3YnXSwgdmFyYXJn cz1Ob25lLCBrZXl3b3Jkcz1Ob25lLCBkZWZhdWx0cz1Ob25lKQotKyAgICAgICAgICAgIEZ1bGxB cmdTcGVjKGFyZ3M9Wyd1JywgJ3YnXSwgdmFyYXJncz1Ob25lLCB2YXJrdz1Ob25lLCBkZWZhdWx0 cz1Ob25lLAotKyAgICAgICAgICAgICAgICAgICAgICAgIGt3b25seWFyZ3M9W10sIGt3b25seWRl ZmF1bHRzPU5vbmUsIGFubm90YXRpb25zPXt9KQotICAgICAgICAgICAgIHNhZ2U6IFtoKDEsMikg Zm9yIGggaW4gVC50b19jYXJ0ZXNpYW4ob3BlcmF0b3IubXVsKV0KLSAgICAgICAgICAgICBbMy4w LCAtMS4wLCAyLjBdCi0gICAgICAgICAgICAgc2FnZTogW2godT0xLHY9MikgZm9yIGggaW4gVC50 b19jYXJ0ZXNpYW4ob3BlcmF0b3IubXVsKV0KLWRpZmYgLS1naXQgYS9zcmMvc2FnZS9zZXRzL3Nl dF9mcm9tX2l0ZXJhdG9yLnB5IGIvc3JjL3NhZ2Uvc2V0cy9zZXRfZnJvbV9pdGVyYXRvci5weQot aW5kZXggM2EyMzYwMzgzZWEuLjc0MDE1YzQ0MzNkIDEwMDY0NAotLS0tIGEvc3JjL3NhZ2Uvc2V0 cy9zZXRfZnJvbV9pdGVyYXRvci5weQotKysrIGIvc3JjL3NhZ2Uvc2V0cy9zZXRfZnJvbV9pdGVy YXRvci5weQotQEAgLTUyNiw3ICs1MjYsOSBAQCBjbGFzcyBEZWNvcmF0b3IoKToKLSAgICAgICAg ICAgICBzYWdlOiBkID0gRGVjb3JhdG9yKCkKLSAgICAgICAgICAgICBzYWdlOiBkLmYgPSBmaW5k X2xvY2FsX21pbmltdW0KLSAgICAgICAgICAgICBzYWdlOiBzYWdlX2dldGFyZ3NwZWMoZCkgIyBp bmRpcmVjdCBkb2N0ZXN0Ci0tICAgICAgICAgICAgQXJnU3BlYyhhcmdzPVsnZicsICdhJywgJ2In LCAndG9sJywgJ21heGZ1biddLCB2YXJhcmdzPU5vbmUsIGtleXdvcmRzPU5vbmUsIGRlZmF1bHRz PSgxLjQ4ZS0wOCwgNTAwKSkKLSsgICAgICAgICAgICBGdWxsQXJnU3BlYyhhcmdzPVsnZicsICdh JywgJ2InLCAndG9sJywgJ21heGZ1biddLAotKyAgICAgICAgICAgICAgICAgICAgICAgIHZhcmFy Z3M9Tm9uZSwgdmFya3c9Tm9uZSwgZGVmYXVsdHM9KDEuNDhlLTA4LCA1MDApLAotKyAgICAgICAg ICAgICAgICAgICAgICAgIGt3b25seWFyZ3M9W10sIGt3b25seWRlZmF1bHRzPU5vbmUsIGFubm90 YXRpb25zPXt9KQotICAgICAgICAgIiIiCi0gICAgICAgICBmcm9tIHNhZ2UubWlzYy5zYWdlaW5z cGVjdCBpbXBvcnQgc2FnZV9nZXRhcmdzcGVjCi0gICAgICAgICByZXR1cm4gc2FnZV9nZXRhcmdz cGVjKHNlbGYuZikKLS0tIAotMi4zOC4xCi0KLQotRnJvbSA0ODJkZDFhYzNkMmJjYWE5NGRkOTM1 ZTNhZGQxYTUxNjU2NzRiMTQ2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYt OD9xP0dvbnphbG89MjBUb3JuYXI9QzM9QURhPz0gPHRvcm5hcmlhQGNtYXQuZWR1LnV5PgotRGF0 ZTogTW9uLCAzMSBPY3QgMjAyMiAyMjoxMjozOCAtMDMwMAotU3ViamVjdDogW1BBVENIIDEwLzEx XSBkb2N0ZXN0czogQXNzZXJ0aW9uRXJyb3IgbWVzc2FnZSBjaGFuZ2VkIGluIHB5dGhvbiAzLjEx Ci0KLS0tLQotIHNyYy9zYWdlL21pc2MvbGF6eV9mb3JtYXQucHkgfCAyICstCi0gMSBmaWxlIGNo YW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMv c2FnZS9taXNjL2xhenlfZm9ybWF0LnB5IGIvc3JjL3NhZ2UvbWlzYy9sYXp5X2Zvcm1hdC5weQot aW5kZXggZTMwNTA2OTViMjUuLmI1OGVhMTU1ODYyIDEwMDY0NAotLS0tIGEvc3JjL3NhZ2UvbWlz Yy9sYXp5X2Zvcm1hdC5weQotKysrIGIvc3JjL3NhZ2UvbWlzYy9sYXp5X2Zvcm1hdC5weQotQEAg LTc4LDcgKzc4LDcgQEAgY2xhc3MgTGF6eUZvcm1hdChzdHIpOgotICAgICAgICAgLi4uLjogICAg ICAgICAgICAgICBMYXp5Rm9ybWF0KCIlcyBpcyB3cm9uZyIpJUlEb250TGlrZUJlaW5nUHJpbnRl ZCgpKQotICAgICAgICAgVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgotICAgICAg ICAgLi4uCi0tICAgICAgICBBc3NlcnRpb25FcnJvcjogPHVucHJpbnRhYmxlIEFzc2VydGlvbkVy cm9yIG9iamVjdD4KLSsgICAgICAgIEFzc2VydGlvbkVycm9yOiAuLi4KLSAgICAgIiIiCi0gCi0g ICAgIGRlZiBfX21vZF9fKHNlbGYsIGFyZ3MpOgotLS0gCi0yLjM4LjEKLQotCi1Gcm9tIDdiNmZh NTY1ZjQyNmUyOGUxNGJlM2IyMmMyMDIzMDFmOWQ1MzBlOWUgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCi1Gcm9tOiA9P1VURi04P3E/R29uemFsbz0yMFRvcm5hcj1DMz1BRGE/PSA8dG9ybmFyaWFA Y21hdC5lZHUudXk+Ci1EYXRlOiBNb24sIDMxIE9jdCAyMDIyIDIyOjEzOjEzIC0wMzAwCi1TdWJq ZWN0OiBbUEFUQ0ggMTEvMTFdIGRvY3Rlc3RzOiBtZXNzYWdlIGFkZGVkIG1vcmUgaW5mbyBpbiBw eXRob24gMy4xMQotCi0tLS0KLSBzcmMvc2FnZS9yZXBsL2F0dGFjaC5weSB8IDEgKwotIDEgZmls ZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3NhZ2UvcmVwbC9h dHRhY2gucHkgYi9zcmMvc2FnZS9yZXBsL2F0dGFjaC5weQotaW5kZXggMzlkYTZlZTRhY2QuLjIw Yjg0OGU0ZjA0IDEwMDY0NAotLS0tIGEvc3JjL3NhZ2UvcmVwbC9hdHRhY2gucHkKLSsrKyBiL3Ny Yy9zYWdlL3JlcGwvYXR0YWNoLnB5Ci1AQCAtNTQsNiArNTQsNyBAQCBjaGFyYWN0ZXItYnktY2hh cmFjdGVyOjoKLSAgICAgICAgIGV4ZWMoY29kZSwgZ2xvYmFscykKLSAgICAgICBGaWxlICIuLi4v Zm9vYmFyLnNhZ2UuLi4ucHkiLCBsaW5lIC4uLiwgaW4gPG1vZHVsZT4KLSAgICAgICAgIHJhaXNl IFZhbHVlRXJyb3IoInRoaXJkIikgICAjIHRoaXMgc2hvdWxkIGFwcGVhciBpbiB0aGUgc291cmNl IHNuaXBwZXQKLSsgICAgLi4uCi0gICAgIFZhbHVlRXJyb3I6IHRoaXJkCi0gICAgIHNhZ2U6IGRl dGFjaChzcmMpCi0gIiIiCi0tLSAKLTIuMzguMQotCmRpZmYgLS1naXQgYS9zcmNwa2dzL3NhZ2Vt YXRoL3BhdGNoZXMvdHJhYy0zMzg0Mi0wNC1weXRob24zLjExX2ZpeF8zMl9iaXQucGF0Y2ggYi9z cmNwa2dzL3NhZ2VtYXRoL3BhdGNoZXMvdHJhYy0zMzg0Mi0wNC1weXRob24zLjExX2ZpeF8zMl9i aXQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRjMjZkZmRiNjg0My4uMDAw MDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3Mvc2FnZW1hdGgvcGF0Y2hlcy90cmFjLTMzODQyLTA0LXB5 dGhvbjMuMTFfZml4XzMyX2JpdC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDIxMiArMCwwIEBA Ci1kaWZmIC0tZ2l0IGEvc3JjL3NhZ2UvYXJpdGgvbG9uZy5weGQgYi9zcmMvc2FnZS9hcml0aC9s b25nLnB4ZAotaW5kZXggYjBjODBmNjE0ODAuLjFjOWE1MzM4N2EwIDEwMDY0NAotLS0tIGEvc3Jj L3NhZ2UvYXJpdGgvbG9uZy5weGQKLSsrKyBiL3NyYy9zYWdlL2FyaXRoL2xvbmcucHhkCi1AQCAt MTI0LDcgKzEyNCw3IEBAIGNkZWYgaW5saW5lIGJpbnQgaW50ZWdlcl9jaGVja19sb25nKHgsIGxv bmcqIHZhbHVlLCBpbnQqIGVycikgZXhjZXB0IC0xOgotICAgICAgICAgLi4uLjogICAgICAgICBp ZiBlcnIgPT0gMDoKLSAgICAgICAgIC4uLi46ICAgICAgICAgICAgIHJldHVybiB2YWx1ZQotICAg ICAgICAgLi4uLjogICAgICAgICBlbGlmIGVyciA9PSBFUlJfT1ZFUkZMT1c6Ci0tICAgICAgICAu Li4uOiAgICAgICAgICAgICByYWlzZSBPdmVyZmxvd0Vycm9yKCJpbnRlZ2VyX2NoZWNrX2xvbmc6 IG92ZXJmbG93IikKLSsgICAgICAgIC4uLi46ICAgICAgICAgICAgIHJhaXNlIE92ZXJmbG93RXJy b3IoZiJpbnRlZ2VyX2NoZWNrX2xvbmc6IG92ZXJmbG93ICh7eH0pIikKLSAgICAgICAgIC4uLi46 ICAgICBlbGlmIGVyciA9PSBFUlJfVFlQRToKLSAgICAgICAgIC4uLi46ICAgICAgICAgcmFpc2Ug VHlwZUVycm9yKCJpbnRlZ2VyX2NoZWNrX2xvbmc6IHdyb25nIHR5cGUiKQotICAgICAgICAgLi4u LjogICAgIGVsaWYgZXJyID09IEVSUl9JTkRFWDoKLUBAIC0xMzYsMjQgKzEzNiwyMyBAQCBjZGVm IGlubGluZSBiaW50IGludGVnZXJfY2hlY2tfbG9uZyh4LCBsb25nKiB2YWx1ZSwgaW50KiBlcnIp IGV4Y2VwdCAtMToKLSAgICAgICAgIC4uLi46IGRlZiBsb25nX21heCgpOgotICAgICAgICAgLi4u LjogICAgIHJldHVybiBzbWFsbEludGVnZXIoTE9OR19NQVgpCi0gICAgICAgICAuLi4uOiAnJycp Ci0tICAgICAgICBzYWdlOiB0eXBlcyA9IChaWiwgUVEsIGludCkKLSAgICAgICAgIHNhZ2U6IEwg PSBbMSwgMTIzNDUsIDEwXjksIDJeMzAsIGxvbmdfbWF4KCkvLzksIGxvbmdfbWF4KCkvLzMsIGxv bmdfbWF4KCldCi0gICAgICAgICBzYWdlOiBMICs9IFsteCBmb3IgeCBpbiBMXSArIFswLCBsb25n X21pbigpXQotICAgICAgICAgc2FnZTogZm9yIHYgaW4gTDoKLS0gICAgICAgIC4uLi46ICAgICBm b3IgdCBpbiAoSW50ZWdlciwgaW50KToKLSsgICAgICAgIC4uLi46ICAgICBmb3IgdCBpbiAoSW50 ZWdlciwgaW50LCBRUSk6Ci0gICAgICAgICAuLi4uOiAgICAgICAgIGFzc2VydCBjaGVja19sb25n KHQodikpID09IHYKLSAgICAgICAgIHNhZ2U6IGNoZWNrX2xvbmcoMl4xMDApCi0gICAgICAgICBU cmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6Ci0gICAgICAgICAuLi4KLS0gICAgICAg IE92ZXJmbG93RXJyb3I6IGludGVnZXJfY2hlY2tfbG9uZzogb3ZlcmZsb3cKLSsgICAgICAgIE92 ZXJmbG93RXJyb3I6IGludGVnZXJfY2hlY2tfbG9uZzogb3ZlcmZsb3cgKC4uLikKLSAgICAgICAg IHNhZ2U6IGNoZWNrX2xvbmcobG9uZ19tYXgoKSArIDEpCi0gICAgICAgICBUcmFjZWJhY2sgKG1v c3QgcmVjZW50IGNhbGwgbGFzdCk6Ci0gICAgICAgICAuLi4KLS0gICAgICAgIE92ZXJmbG93RXJy b3I6IGludGVnZXJfY2hlY2tfbG9uZzogb3ZlcmZsb3cKLSsgICAgICAgIE92ZXJmbG93RXJyb3I6 IGludGVnZXJfY2hlY2tfbG9uZzogb3ZlcmZsb3cgKC4uLikKLSAgICAgICAgIHNhZ2U6IGNoZWNr X2xvbmcobG9uZ19taW4oKSAtIDEpCi0gICAgICAgICBUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNh bGwgbGFzdCk6Ci0gICAgICAgICAuLi4KLS0gICAgICAgIE92ZXJmbG93RXJyb3I6IGludGVnZXJf Y2hlY2tfbG9uZzogb3ZlcmZsb3cKLSsgICAgICAgIE92ZXJmbG93RXJyb3I6IGludGVnZXJfY2hl Y2tfbG9uZzogb3ZlcmZsb3cgKC4uLikKLSAgICAgICAgIHNhZ2U6IGNoZWNrX2xvbmcoImhlbGxv IikKLSAgICAgICAgIFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKLSAgICAgICAg IC4uLgotQEAgLTE2Miw2ICsxNjEsMzYgQEAgY2RlZiBpbmxpbmUgYmludCBpbnRlZ2VyX2NoZWNr X2xvbmcoeCwgbG9uZyogdmFsdWUsIGludCogZXJyKSBleGNlcHQgLTE6Ci0gICAgICAgICBUcmFj ZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6Ci0gICAgICAgICAuLi4KLSAgICAgICAgIFR5 cGVFcnJvcjogaW50ZWdlcl9jaGVja19sb25nOiBiYWQgX19pbmRleF9fCi0rCi0rICAgIFJlcGVh dCB0aGUgb3ZlcmZsb3cgdGVzdHMgd2l0aCBweXRob24gaW50ZWdlcnM6Ci0rCi0rICAgICAgICBz YWdlOiBjaGVja19sb25nKGludCgyXjEwMCkpCi0rICAgICAgICBUcmFjZWJhY2sgKG1vc3QgcmVj ZW50IGNhbGwgbGFzdCk6Ci0rICAgICAgICAuLi4KLSsgICAgICAgIE92ZXJmbG93RXJyb3I6IGlu dGVnZXJfY2hlY2tfbG9uZzogb3ZlcmZsb3cgKC4uLikKLSsgICAgICAgIHNhZ2U6IGNoZWNrX2xv bmcoaW50KGxvbmdfbWF4KCkgKyAxKSkKLSsgICAgICAgIFRyYWNlYmFjayAobW9zdCByZWNlbnQg Y2FsbCBsYXN0KToKLSsgICAgICAgIC4uLgotKyAgICAgICAgT3ZlcmZsb3dFcnJvcjogaW50ZWdl cl9jaGVja19sb25nOiBvdmVyZmxvdyAoLi4uKQotKyAgICAgICAgc2FnZTogY2hlY2tfbG9uZyhp bnQobG9uZ19taW4oKSAtIDEpKQotKyAgICAgICAgVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxs IGxhc3QpOgotKyAgICAgICAgLi4uCi0rICAgICAgICBPdmVyZmxvd0Vycm9yOiBpbnRlZ2VyX2No ZWNrX2xvbmc6IG92ZXJmbG93ICguLi4pCi0rCi0rICAgIEFuZCBhZ2FpbiB3aXRoIHJhdGlvbmFs czoKLSsKLSsgICAgICAgIHNhZ2U6IGNoZWNrX2xvbmcoUVEoMl4xMDApKQotKyAgICAgICAgVHJh Y2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgotKyAgICAgICAgLi4uCi0rICAgICAgICBP dmVyZmxvd0Vycm9yOiBpbnRlZ2VyX2NoZWNrX2xvbmc6IG92ZXJmbG93ICguLi4pCi0rICAgICAg ICBzYWdlOiBjaGVja19sb25nKFFRKGxvbmdfbWF4KCkgKyAxKSkKLSsgICAgICAgIFRyYWNlYmFj ayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKLSsgICAgICAgIC4uLgotKyAgICAgICAgT3ZlcmZs b3dFcnJvcjogaW50ZWdlcl9jaGVja19sb25nOiBvdmVyZmxvdyAoLi4uKQotKyAgICAgICAgc2Fn ZTogY2hlY2tfbG9uZyhRUShsb25nX21pbigpIC0gMSkpCi0rICAgICAgICBUcmFjZWJhY2sgKG1v c3QgcmVjZW50IGNhbGwgbGFzdCk6Ci0rICAgICAgICAuLi4KLSsgICAgICAgIE92ZXJmbG93RXJy b3I6IGludGVnZXJfY2hlY2tfbG9uZzogb3ZlcmZsb3cgKC4uLikKLSAgICAgIiIiCi0gICAgIGNk ZWYgaW50IGMgPSBpbnRlZ2VyX2NoZWNrX2xvbmdfcHkoeCwgdmFsdWUsIGVycikKLSAgICAgaWYg YzoKLUBAIC0xOTMsMzUgKzIyMiw5MyBAQCBjZGVmIGlubGluZSBsb25nIGRpZyhjb25zdCBkaWdp dCogRCwgaW50IG4pOgotIAotIGNkZWYgaW5saW5lIGJpbnQgaW50ZWdlcl9jaGVja19sb25nX3B5 KHgsIGxvbmcqIHZhbHVlLCBpbnQqIGVycik6Ci0gICAgICIiIgotLSAgICBQYXJ0IG9mIGBgaW50 ZWdlcl9jaGVja19sb25nYGAgaW4gYGBsb25nLnB4ZGBgLCBjaGVja2luZyBvbmx5IGZvcgotLSAg ICBQeXRob24gb2JqZWN0cyBvZiB0eXBlIGBgaW50YGAgYW5kIGBgbG9uZ2BgLiBTZWUgdGhhdCBm dW5jdGlvbiBmb3IKLS0gICAgZG9jdW1lbnRhdGlvbiBhbmQgdGVzdHMuCi0rICAgIFJldHVybiB3 aGV0aGVyIGBgeGBgIGlzIGEgcHl0aG9uIG9iamVjdCBvZiB0eXBlIGBgaW50YGAuCi0rCi0rICAg IElmIHBvc3NpYmxlLCBjb21wdXRlIHRoZSB2YWx1ZSBvZiB0aGlzIGludGVnZXIgYXMgQyBsb25n IGFuZCBzdG9yZQotKyAgICBpdCBpbiBgYCp2YWx1ZWBgLgotKwotKyAgICBFcnJvcnMgYXJlIHJl dHVybmVkIGFzIGFuIGVycm9yIGluZGljYXRvciBgYCplcnJgYCAod2l0aG91dCByYWlzaW5nCi0r ICAgIGFueSBQeXRob24gZXhjZXB0aW9uKS4KLSsKLSsgICAgUG9zc2libGUgZXJyb3JzIHdoZW4g cmV0dXJuaW5nIGBgVHJ1ZWBgOgotKwotKyAgICAtIGBgMGBgOiBgYHhgYCB3YXMgc3VjY2Vzc2Z1 bGx5IGNvbnZlcnRlZCB0byBhIEMgbG9uZyBhbmQgaXRzIHZhbHVlCi0rICAgICAgaXMgc3RvcmVk IGluIGBgKnZhbHVlYGAuCi0rCi0rICAgIC0gYGBFUlJfT1ZFUkZMT1dgYDogYGB4YGAgaXMgYSBw eXRob24gb2JqZWN0IG9mIHR5cGUgYGBpbnRgYCBidXQKLSsgICAgICB0b28gbGFyZ2UgdG8gc3Rv cmUgaW4gYSBDIGxvbmcuCi0rCi0rICAgIFBvc3NpYmxlIGVycm9ycyB3aGVuIHJldHVybmluZyBg YEZhbHNlYGA6Ci0rCi0rICAgIC0gYGBFUlJfVFlQRWBgOiBgYHhgYCBpcyBub3QgYSBweXRob24g b2JqZWN0IG9mIHR5cGUgYGBpbnRgYC4KLSsKLSsgICAgRVhBTVBMRVM6Ci0rCi0rICAgIFdlIGNy ZWF0ZSBhIHB1cmUgUHl0aG9uIHdyYXBwZXIgb2YgdGhpcyBmdW5jdGlvbjo6Ci0rCi0rICAgICAg ICBzYWdlOiBjeXRob24oJycnICAjIG9wdGlvbmFsIC0gc2FnZS5taXNjLmN5dGhvbgotKyAgICAg ICAgLi4uLjogZnJvbSBzYWdlLmFyaXRoLmxvbmcgY2ltcG9ydCAqCi0rICAgICAgICAuLi4uOiBk ZWYgY2hlY2tfbG9uZ19weSh4KToKLSsgICAgICAgIC4uLi46ICAgICBjZGVmIGxvbmcgdmFsdWUK LSsgICAgICAgIC4uLi46ICAgICBjZGVmIGludCBlcnIKLSsgICAgICAgIC4uLi46ICAgICBjZGVm IGJpbnQgYyA9IGludGVnZXJfY2hlY2tfbG9uZ19weSh4LCAmdmFsdWUsICZlcnIpCi0rICAgICAg ICAuLi4uOiAgICAgaWYgYzoKLSsgICAgICAgIC4uLi46ICAgICAgICAgaWYgZXJyID09IDA6Ci0r ICAgICAgICAuLi4uOiAgICAgICAgICAgICByZXR1cm4gdmFsdWUKLSsgICAgICAgIC4uLi46ICAg ICAgICAgZWxpZiBlcnIgPT0gRVJSX09WRVJGTE9XOgotKyAgICAgICAgLi4uLjogICAgICAgICAg ICAgcmV0dXJuIGYiT3ZlcmZsb3cgKHt4fSkiCi0rICAgICAgICAuLi4uOiAgICAgZWxpZiBlcnIg PT0gRVJSX1RZUEU6Ci0rICAgICAgICAuLi4uOiAgICAgICAgIHJldHVybiBmIkJhZCB0eXBlICh7 eH0pIgotKyAgICAgICAgLi4uLjogICAgIHJldHVybiBmIlRoaXMgc2hvdWxkIG5ldmVyIGhhcHBl biAoe3h9KSIKLSsgICAgICAgIC4uLi46IGZyb20gbGliYy5saW1pdHMgY2ltcG9ydCBMT05HX01J TiwgTE9OR19NQVgKLSsgICAgICAgIC4uLi46IGRlZiBsb25nX21pbigpOgotKyAgICAgICAgLi4u LjogICAgIHJldHVybiBMT05HX01JTgotKyAgICAgICAgLi4uLjogZGVmIGxvbmdfbWF4KCk6Ci0r ICAgICAgICAuLi4uOiAgICAgcmV0dXJuIExPTkdfTUFYCi0rICAgICAgICAuLi4uOiAnJycpCi0r ICAgICAgICBzYWdlOiBMID0gWzEsIDEyMzQ1LCAxMF45LCAyXjMwLCBsb25nX21heCgpLy85LCBs b25nX21heCgpLy8zLCBsb25nX21heCgpXQotKyAgICAgICAgc2FnZTogTCArPSBbLXggZm9yIHgg aW4gTF0gKyBbMCwgbG9uZ19taW4oKV0KLSsgICAgICAgIHNhZ2U6IGZvciB2IGluIEw6Ci0rICAg ICAgICAuLi4uOiAgICAgYXNzZXJ0IGNoZWNrX2xvbmdfcHkoaW50KHYpKSA9PSB2Ci0rICAgICAg ICBzYWdlOiBjaGVja19sb25nX3B5KGludCgyXjEwMCkpCi0rICAgICAgICAnT3ZlcmZsb3cgKC4u LiknCi0rICAgICAgICBzYWdlOiBjaGVja19sb25nX3B5KGludChsb25nX21heCgpICsgMSkpCi0r ICAgICAgICAnT3ZlcmZsb3cgKC4uLiknCi0rICAgICAgICBzYWdlOiBjaGVja19sb25nX3B5KGlu dChsb25nX21pbigpIC0gMSkpCi0rICAgICAgICAnT3ZlcmZsb3cgKC4uLiknCi0rICAgICAgICBz YWdlOiBjaGVja19sb25nX3B5KDM4OSkKLSsgICAgICAgICdCYWQgdHlwZSAoLi4uKScKLSsgICAg ICAgIHNhZ2U6IGNoZWNrX2xvbmdfcHkoImhlbGxvIikKLSsgICAgICAgICdCYWQgdHlwZSAoLi4u KScKLSsgICAgICAgIHNhZ2U6IGNoZWNrX2xvbmdfcHkoMi8zKQotKyAgICAgICAgJ0JhZCB0eXBl ICguLi4pJwotICAgICAiIiIKLS0gICAgaWYgbm90IGlzaW5zdGFuY2UoeCwgbG9uZyk6Ci0tICAg ICAgICBpZiBpc2luc3RhbmNlKHgsIGludCk6Ci0tICAgICAgICAgICAgIyBUaGlzIGNhbiBoYXBw ZW4gb25seSBvbiBQeXRob24gMgotLSAgICAgICAgICAgIHZhbHVlWzBdID0gUHlJbnRfQVNfTE9O Ryh4KQotLSAgICAgICAgICAgIGVyclswXSA9IDAKLS0gICAgICAgICAgICByZXR1cm4gMQotKyAg ICBpZiBub3QgaXNpbnN0YW5jZSh4LCBpbnQpOgotICAgICAgICAgZXJyWzBdID0gRVJSX1RZUEUK LSAgICAgICAgIHJldHVybiAwCi0gCi0tICAgICMgeCBpcyBhIFB5dGhvbiAibG9uZyIgKGNhbGxl ZCAiaW50IiBvbiBQeXRob24gMykKLSsgICAgIyB4IGlzIGEgUHl0aG9uICJpbnQiIChha2EgUHlM b25nT2JqZWN0IG9yIHB5X2xvbmcgaW4gY3l0aG9uKQotICAgICBjZGVmIGNvbnN0IGRpZ2l0KiBE ID0gKDxweV9sb25nPngpLm9iX2RpZ2l0Ci0gICAgIGNkZWYgUHlfc3NpemVfdCBzaXplID0gUHlf U0laRSh4KQotIAotLSAgICAjIFdlIGFzc3VtZSB0aGF0IFB5TG9uZ19TSElGVCBpcyAxNSBvbiBh IDMyLWJpdCBzeXN0ZW0gYW5kIDMwIG9uIGEKLS0gICAgIyA2NC1iaXQgc3lzdGVtLiBUaGlzIGlz IG5vdCBndWFyYW50ZWVkIGJ5IFB5dGhvbiwgYnV0IGl0IGlzIHRoZQotLSAgICAjIGRlZmF1bHQg Y29uZmlndXJhdGlvbi4KLSsgICAgIyBXZSBhc3N1bWUgUHlMb25nX1NISUZUIDw9IEJJVFNfSU5f TE9ORyA8PSAzICogUHlMb25nX1NISUZULgotKyAgICAjIFRoaXMgaXMgdHJ1ZSBpbiBhbGwgdGhl IGRlZmF1bHQgY29uZmlndXJhdGlvbnM6Ci0rICAgICMgLSBCSVRTX0lOX0xPTkcgPSA2MywgUHlM b25nX1NISUZUID0gMzAKLSsgICAgIyAtIEJJVFNfSU5fTE9ORyA9IDMxLCBQeUxvbmdfU0hJRlQg PSAxNSAocHl0aG9uIDw9IDMuMTApCi0rICAgICMgLSBCSVRTX0lOX0xPTkcgPSAzMSwgUHlMb25n X1NISUZUID0gMzAgKG5ldyBpbiBweXRob24gMy4xMSkKLSsgICAgIyBjZi4gaHR0cHM6Ly90cmFj LnNhZ2VtYXRoLm9yZy90aWNrZXQvMzM4NDIjY29tbWVudDoxMzAKLSAgICAgIwotLSAgICAjIFRo aXMgd2F5LCB3ZSBrbm93IHRoYXQgMSBhbmQgMiBkaWdpdHMgY2VydGFpbmx5IGZpdCBpbiBhIEMg bG9uZwotLSAgICAjIGFuZCA0IG9yIG1vcmUgZGlnaXRzIG5ldmVyIGZpdC4gRm9yIDMgZGlnaXRz LCB3ZSBuZWVkIGFuIGV4cGxpY2l0Ci0tICAgICMgb3ZlcmZsb3cgY2hlY2suCi0rICAgICMgVGhp cyB3YXksIHdlIGtub3cgdGhhdCAxIGRpZ2l0IGNlcnRhaW5seSBmaXRzIGluIGEgQyBsb25nCi0r ICAgICMgYW5kIDQgb3IgbW9yZSBkaWdpdHMgbmV2ZXIgZml0LgotKyAgICAjIEZvciAyIG9yIDMg ZGlnaXRzLCB3ZSBuZWVkIGFuIGV4cGxpY2l0IG92ZXJmbG93IGNoZWNrLgotICAgICBjZGVmIGlu dCBCSVRTX0lOX0xPTkcgPSA4ICogc2l6ZW9mKGxvbmcpIC0gMQotLSAgICBpZiBub3QgKDIgKiBQ eUxvbmdfU0hJRlQgPD0gQklUU19JTl9MT05HIDwgNCAqIFB5TG9uZ19TSElGVCk6Ci0tICAgICAg ICByYWlzZSBBc3NlcnRpb25FcnJvcgotKyAgICBpZiBub3QgKFB5TG9uZ19TSElGVCA8PSBCSVRT X0lOX0xPTkcgPD0gMyAqIFB5TG9uZ19TSElGVCk6Ci0rICAgICAgICByYWlzZSBBc3NlcnRpb25F cnJvcigKLSsgICAgICAgICAgICAgICAgZiJQeUxvbmdfU0hJRlQgPSB7UHlMb25nX1NISUZUfSwg IgotKyAgICAgICAgICAgICAgICBmIkJJVFNfSU5fTE9ORyA9IHtCSVRTX0lOX0xPTkd9IikKLSAK LSAgICAgY2RlZiBsb25nIGxlYWQKLSsgICAgY2RlZiBsb25nIGxlYWRfMl9vdmVyZmxvdyA9ICg8 bG9uZz4xKSA8PCAoQklUU19JTl9MT05HIC0gUHlMb25nX1NISUZUKQotICAgICBjZGVmIGxvbmcg bGVhZF8zX292ZXJmbG93ID0gKDxsb25nPjEpIDw8IChCSVRTX0lOX0xPTkcgLSAyICogUHlMb25n X1NISUZUKQotICAgICBpZiBzaXplID09IDA6Ci0gICAgICAgICB2YWx1ZVswXSA9IDAKLUBAIC0y MzMsOSArMzIwLDIwIEBAIGNkZWYgaW5saW5lIGJpbnQgaW50ZWdlcl9jaGVja19sb25nX3B5KHgs IGxvbmcqIHZhbHVlLCBpbnQqIGVycik6Ci0gICAgICAgICB2YWx1ZVswXSA9IC1kaWcoRCwgMCkK LSAgICAgICAgIGVyclswXSA9IDAKLSAgICAgZWxpZiBzaXplID09IDI6Ci0rICAgICAgICBpZiBC SVRTX0lOX0xPTkcgPCAyICogUHlMb25nX1NISUZUIGFuZCBEWzFdID49IGxlYWRfMl9vdmVyZmxv dzoKLSsgICAgICAgICAgICBlcnJbMF0gPSBFUlJfT1ZFUkZMT1cKLSsgICAgICAgICAgICByZXR1 cm4gMQotICAgICAgICAgdmFsdWVbMF0gPSBkaWcoRCwgMCkgKyBkaWcoRCwgMSkKLSAgICAgICAg IGVyclswXSA9IDAKLSAgICAgZWxpZiBzaXplID09IC0yOgotKyAgICAgICAgaWYgQklUU19JTl9M T05HIDwgMiAqIFB5TG9uZ19TSElGVCBhbmQgRFsxXSA+PSBsZWFkXzJfb3ZlcmZsb3c6Ci0rICAg ICAgICAgICAgaWYgRFswXSA9PSAwIGFuZCBEWzFdID09IGxlYWRfMl9vdmVyZmxvdzoKLSsgICAg ICAgICAgICAgICAgIyBTcGVjaWFsIGNhc2UgZm9yIExPTkdfTUlOCi0rICAgICAgICAgICAgICAg IHZhbHVlWzBdID0gKDxsb25nPi0xKSA8PCBCSVRTX0lOX0xPTkcKLSsgICAgICAgICAgICAgICAg ZXJyWzBdID0gMAotKyAgICAgICAgICAgIGVsc2U6Ci0rICAgICAgICAgICAgICAgIGVyclswXSA9 IEVSUl9PVkVSRkxPVwotKyAgICAgICAgICAgIHJldHVybiAxCi0gICAgICAgICB2YWx1ZVswXSA9 IC0oZGlnKEQsIDApICsgZGlnKEQsIDEpKQotICAgICAgICAgZXJyWzBdID0gMAotICAgICBlbGlm IHNpemUgPT0gMzoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvc2FnZW1hdGgvcGF0Y2hlcy90cmFjLTM0 MTE4LXVwZGF0ZV9zeW1weV90b18xLjExLjEtNWRiNWQ0ZTU2MjQzYzYwOWY0NGFmYzFmMjFjMTEy YjAyNmY5ZTFmZS5wYXRjaCBiL3NyY3BrZ3Mvc2FnZW1hdGgvcGF0Y2hlcy90cmFjLTM0MTE4LXVw ZGF0ZV9zeW1weV90b18xLjExLjEtNWRiNWQ0ZTU2MjQzYzYwOWY0NGFmYzFmMjFjMTEyYjAyNmY5 ZTFmZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTc3YTQyNDAwZTU5Li4w MDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9zYWdlbWF0aC9wYXRjaGVzL3RyYWMtMzQxMTgtdXBk YXRlX3N5bXB5X3RvXzEuMTEuMS01ZGI1ZDRlNTYyNDNjNjA5ZjQ0YWZjMWYyMWMxMTJiMDI2Zjll MWZlLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDIgKzAsMCBAQAotY29tbWl0IDVkYjVkNGU1 NjI0M2M2MDlmNDRhZmMxZjIxYzExMmIwMjZmOWUxZmUKLUF1dGhvcjogT3NjYXIgQmVuamFtaW4g PG9zY2FyLmouYmVuamFtaW5AZ21haWwuY29tPgotRGF0ZTogICBNb24gSnVsIDExIDIxOjI0OjAx IDIwMjIgKzAxMDAKLQotICAgIFVwZGF0ZSBkb2N0ZXN0cyBmb3IgU3ltUHkgMS4xMQotICAgIAot ICAgIERvY3Rlc3RzIHJlbGF0ZWQgdG8gU3ltUHkncyByc29sdmUgZnVuY3Rpb24gYXJlIHVwZGF0 ZWQgaW46Ci0gICAgCi0gICAgc3JjL3NhZ2UvY2FsY3VsdXMvdGVzdF9zeW1weS5weQotICAgIHNy Yy9zYWdlL3Rlc3RzL2Jvb2tzL2NvbXB1dGF0aW9uYWwtbWF0aGVtYXRpY3Mtd2l0aC1zYWdlbWF0 aC9yZWNlcXVhZGlmZl9kb2N0ZXN0LnB5Ci0gICAgCi0gICAgVGhlIGZvcm0gb2YgdGhlIG91dHB1 dCBmcm9tIFN5bVB5IGhhcyBjaGFuZ2VkIHNpbmNlCi0gICAgCi0gICAgaHR0cHM6Ly9naXRodWIu Y29tL3N5bXB5L3N5bXB5L3B1bGwvMjM1NjcKLQotZGlmZiAtLWdpdCBhL3NyYy9zYWdlL2NhbGN1 bHVzL3Rlc3Rfc3ltcHkucHkgYi9zcmMvc2FnZS9jYWxjdWx1cy90ZXN0X3N5bXB5LnB5Ci1pbmRl eCA3Y2Y3ZjNmNmJmZC4uOTI3ZTZlZTRmYjYgMTAwNjQ0Ci0tLS0gYS9zcmMvc2FnZS9jYWxjdWx1 cy90ZXN0X3N5bXB5LnB5Ci0rKysgYi9zcmMvc2FnZS9jYWxjdWx1cy90ZXN0X3N5bXB5LnB5Ci1A QCAtMTkzLDcgKzE5Myw3IEBAIFRoaXMgd2FzIGZpeGVkIGluIFN5bXB5LCBzZWUgOnRyYWM6YDE0 NDM3YDo6Ci0gICAgIHNhZ2U6IHUgPSBGdW5jdGlvbigndScpCi0gICAgIHNhZ2U6IG4gPSBTeW1i b2woJ24nLCBpbnRlZ2VyPVRydWUpCi0gICAgIHNhZ2U6IGYgPSB1KG4rMikgLSB1KG4rMSkgKyB1 KG4pLzQKLS0gICAgc2FnZTogMioqbiAqIHJzb2x2ZShmLHUobikpCi0tICAgIEMxKm4gKyBDMAot KyAgICBzYWdlOiBleHBhbmQoMioqbiAqIHJzb2x2ZShmLHUobikpKQotKyAgICAyKkMxKm4gKyBD MAotIAotICIiIgotZGlmZiAtLWdpdCBhL3NyYy9zYWdlL3Rlc3RzL2Jvb2tzL2NvbXB1dGF0aW9u YWwtbWF0aGVtYXRpY3Mtd2l0aC1zYWdlbWF0aC9yZWNlcXVhZGlmZl9kb2N0ZXN0LnB5IGIvc3Jj L3NhZ2UvdGVzdHMvYm9va3MvY29tcHV0YXRpb25hbC1tYXRoZW1hdGljcy13aXRoLXNhZ2VtYXRo L3JlY2VxdWFkaWZmX2RvY3Rlc3QucHkKLWluZGV4IDEwNjJmNGY3ZThjLi5mNTNmODEzZDc5MyAx MDA2NDQKLS0tLSBhL3NyYy9zYWdlL3Rlc3RzL2Jvb2tzL2NvbXB1dGF0aW9uYWwtbWF0aGVtYXRp Y3Mtd2l0aC1zYWdlbWF0aC9yZWNlcXVhZGlmZl9kb2N0ZXN0LnB5Ci0rKysgYi9zcmMvc2FnZS90 ZXN0cy9ib29rcy9jb21wdXRhdGlvbmFsLW1hdGhlbWF0aWNzLXdpdGgtc2FnZW1hdGgvcmVjZXF1 YWRpZmZfZG9jdGVzdC5weQotQEAgLTM4Miw3ICszODIsNyBAQCBTYWdlIGV4YW1wbGUgaW4gLi9y ZWNlcXVhZGlmZi50ZXgsIGxpbmUgMTc5ODo6Ci0gICBzYWdlOiBmcm9tIHN5bXB5IGltcG9ydCBy c29sdmVfaHlwZXIKLSAgIHNhZ2U6IGZyb20gc3ltcHkuYWJjIGltcG9ydCBuCi0gICBzYWdlOiBy c29sdmVfaHlwZXIoWy0yLDFdLDIqKihuKzIpLG4pCi0tICAyKipuKkMwICsgMioqKG4gKyAyKSoo QzAgKyBuLzIpCi0rICAyKipuKkMwICsgMioqKG4gKyAxKSpuCi0gCi0gIiIiCi0gCmRpZmYgLS1n aXQgYS9zcmNwa2dzL3NhZ2VtYXRoL3BhdGNoZXMvdHJhYy0zNDM5MS11cGdyYWRlX2dhcF80LjEy LWE2YzI5M2Q2N2NmY2RmOGZiYTdiYzZhYTc4OTllMjA4NmQ0MmNjN2UucGF0Y2ggYi9zcmNwa2dz L3NhZ2VtYXRoL3BhdGNoZXMvdHJhYy0zNDM5MS11cGdyYWRlX2dhcF80LjEyLWE2YzI5M2Q2N2Nm Y2RmOGZiYTdiYzZhYTc4OTllMjA4NmQ0MmNjN2UucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IGI1NDRhM2VlZjdkZC4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3Mvc2FnZW1h dGgvcGF0Y2hlcy90cmFjLTM0MzkxLXVwZ3JhZGVfZ2FwXzQuMTItYTZjMjkzZDY3Y2ZjZGY4ZmJh N2JjNmFhNzg5OWUyMDg2ZDQyY2M3ZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDUyNiArMCww IEBACi1Gcm9tIGFlZmY5OTJkNTNhNjVhNzA1ZGNhNWNkNTIxNmJjYjk3YzIxOGRjZTcgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbnRvbmlvIFJvamFzIDxhcm9qYXNAYXJjaGxpbnV4 Lm9yZz4KLURhdGU6IE1vbiwgMjkgQXVnIDIwMjIgMjM6MTQ6MDMgKzAyMDAKLVN1YmplY3Q6IEFk YXB0IHRvIEFQSSBjaGFuZ2VzIGluIE9wZW5PdXRwdXRTdHJlYW0gYW5kIENsb3NlT3V0cHV0Ci0K LS0tLQotIHNyYy9zYWdlL2xpYnMvZ2FwL2VsZW1lbnQucHl4ICAgICAgfCA1ICsrKy0tCi0gc3Jj L3NhZ2UvbGlicy9nYXAvZ2FwX2luY2x1ZGVzLnB4ZCB8IDYgKysrKy0tCi0gMiBmaWxlcyBjaGFu Z2VkLCA3IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMv c2FnZS9saWJzL2dhcC9lbGVtZW50LnB5eCBiL3NyYy9zYWdlL2xpYnMvZ2FwL2VsZW1lbnQucHl4 Ci1pbmRleCBiZTQzYzRjLi5lMjY4MTE2IDEwMDY0NAotLS0tIGEvc3JjL3NhZ2UvbGlicy9nYXAv ZWxlbWVudC5weXgKLSsrKyBiL3NyYy9zYWdlL2xpYnMvZ2FwL2VsZW1lbnQucHl4Ci1AQCAtMTMw LDYgKzEzMCw3IEBAIGNkZWYgY2hhciAqY2FwdHVyZV9zdGRvdXQoT2JqIGZ1bmMsIE9iaiBvYmop OgotICAgICAiIiIKLSAgICAgY2RlZiBPYmogcywgc3RyZWFtLCBvdXRwdXRfdGV4dF9zdHJpbmcK LSAgICAgY2RlZiBVSW50IHJlcwotKyAgICBjZGVmIFR5cE91dHB1dEZpbGUgb3V0cHV0Ci0gICAg ICMgVGhlIG9ubHkgd2F5IHRvIGdldCBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhbiBvYmpl Y3QgdGhhdCBpcyB0cnVseQotICAgICAjIGNvbnNpc3RlbnQgd2l0aCBob3cgaXQgd291bGQgYmUg cmVwcmVzZW50ZWQgYXQgdGhlIEdBUCBSRVBMIGlzIHRvIGNhbGwKLSAgICAgIyBWaWV3T2JqIG9u IGl0LiAgVW5mb3J0dW5hdGVseSwgVmlld09iaiAqcHJpbnRzKiB0byB0aGUgb3V0cHV0IHN0cmVh bSwKLUBAIC0xNDUsMTIgKzE0NiwxMiBAQCBjZGVmIGNoYXIgKmNhcHR1cmVfc3Rkb3V0KE9iaiBm dW5jLCBPYmogb2JqKToKLSAgICAgICAgIG91dHB1dF90ZXh0X3N0cmluZyA9IEdBUF9WYWx1ZUds b2JhbFZhcmlhYmxlKCJPdXRwdXRUZXh0U3RyaW5nIikKLSAgICAgICAgIHN0cmVhbSA9IENBTExf MkFSR1Mob3V0cHV0X3RleHRfc3RyaW5nLCBzLCBHQVBfVHJ1ZSkKLSAKLS0gICAgICAgIGlmIG5v dCBPcGVuT3V0cHV0U3RyZWFtKHN0cmVhbSk6Ci0rICAgICAgICBpZiBub3QgT3Blbk91dHB1dFN0 cmVhbSgmb3V0cHV0LCBzdHJlYW0pOgotICAgICAgICAgICAgIHJhaXNlIEdBUEVycm9yKCJmYWls ZWQgdG8gb3BlbiBvdXRwdXQgY2FwdHVyZSBzdHJlYW0gZm9yICIKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAicmVwcmVzZW50aW5nIEdBUCBvYmplY3QiKQotIAotICAgICAgICAgQ0FMTF8x QVJHUyhmdW5jLCBvYmopCi0tICAgICAgICBDbG9zZU91dHB1dCgpCi0rICAgICAgICBDbG9zZU91 dHB1dCgmb3V0cHV0KQotICAgICAgICAgcmV0dXJuIENTVFJfU1RSSU5HKHMpCi0gICAgIGZpbmFs bHk6Ci0gICAgICAgICBHQVBfTGVhdmUoKQotZGlmZiAtLWdpdCBhL3NyYy9zYWdlL2xpYnMvZ2Fw L2dhcF9pbmNsdWRlcy5weGQgYi9zcmMvc2FnZS9saWJzL2dhcC9nYXBfaW5jbHVkZXMucHhkCi1p bmRleCA1YTlhYjQ4Li4zNDAzNWZlIDEwMDY0NAotLS0tIGEvc3JjL3NhZ2UvbGlicy9nYXAvZ2Fw X2luY2x1ZGVzLnB4ZAotKysrIGIvc3JjL3NhZ2UvbGlicy9nYXAvZ2FwX2luY2x1ZGVzLnB4ZAot QEAgLTc2LDggKzc2LDEwIEBAIGNkZWYgZXh0ZXJuIGZyb20gImdhcC9pbnRvYmouaCIgbm9naWw6 Ci0gCi0gCi0gY2RlZiBleHRlcm4gZnJvbSAiZ2FwL2lvLmgiIG5vZ2lsOgotLSAgICBVSW50IE9w ZW5PdXRwdXRTdHJlYW0oT2JqIHN0cmVhbSkKLS0gICAgVUludCBDbG9zZU91dHB1dCgpCi0rICAg IGN0eXBlZGVmIHN0cnVjdCBUeXBPdXRwdXRGaWxlOgotKyAgICAgICAgcGFzcwotKyAgICBVSW50 IE9wZW5PdXRwdXRTdHJlYW0oVHlwT3V0cHV0RmlsZSogb3V0cHV0LCBPYmogc3RyZWFtKQotKyAg ICBVSW50IENsb3NlT3V0cHV0KFR5cE91dHB1dEZpbGUqIG91dHB1dCkKLSAKLSAKLSBjZGVmIGV4 dGVybiBmcm9tICJnYXAvbGliZ2FwLWFwaS5oIiBub2dpbDoKLS0tIAotY2dpdCB2MS4wLTEtZ2Q4 OGUKLQotCi1Gcm9tIGMzMzY3YjQyOTA5ODFlNWU5M2I3YTMwYzQ4YjAyZjFhZTM3NzBkYzggTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbnRvbmlvIFJvamFzIDxhcm9qYXNAYXJjaGxp bnV4Lm9yZz4KLURhdGU6IE1vbiwgMjkgQXVnIDIwMjIgMjM6MTQ6NTMgKzAyMDAKLVN1YmplY3Q6 IERpc2FibGUgY29sb3JlZCBwcm9tcHQgYXMgaXQgYnJlYWtzIHRoZSBwZXhwZWN0IGludGVyZmFj ZQotCi0tLS0KLSBzcmMvc2FnZS9pbnRlcmZhY2VzL2dhcC5weSB8IDIgKysKLSAxIGZpbGUgY2hh bmdlZCwgMiBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9zcmMvc2FnZS9pbnRlcmZhY2Vz L2dhcC5weSBiL3NyYy9zYWdlL2ludGVyZmFjZXMvZ2FwLnB5Ci1pbmRleCBjMzRmZTUzLi41Njlj YWEyIDEwMDY0NAotLS0tIGEvc3JjL3NhZ2UvaW50ZXJmYWNlcy9nYXAucHkKLSsrKyBiL3NyYy9z YWdlL2ludGVyZmFjZXMvZ2FwLnB5Ci1AQCAtMTUxMiw2ICsxNTEyLDggQEAgZGVmIGdhcF9yZXNl dF93b3Jrc3BhY2UobWF4X3dvcmtzcGFjZV9zaXplPU5vbmUsIHZlcmJvc2U9RmFsc2UpOgotICAg ICAiIiIKLSAgICAgIyBDcmVhdGUgbmV3IHdvcmtzcGFjZSB3aXRoIGZpbGVuYW1lIFdPUktTUEFD RQotICAgICBnID0gR2FwKHVzZV93b3Jrc3BhY2VfY2FjaGU9RmFsc2UsIG1heF93b3Jrc3BhY2Vf c2l6ZT1Ob25lKQotKyAgICBnLmV2YWwoJ0NvbG9yUHJvbXB0KGZhbHNlKScpCi0rICAgIGcuZXZh bCgnU2V0VXNlclByZWZlcmVuY2UoIlVzZUNvbG9yUHJvbXB0IiwgZmFsc2UpJykKLSAgICAgZy5l dmFsKCdTZXRVc2VyUHJlZmVyZW5jZSgiSGlzdG9yeU1heExpbmVzIiwgMzApJykKLSAgICAgZnJv bSBzYWdlLnRlc3RzLmdhcF9wYWNrYWdlcyBpbXBvcnQgYWxsX2luc3RhbGxlZF9wYWNrYWdlcwot ICAgICBmb3IgcGtnIGluIGFsbF9pbnN0YWxsZWRfcGFja2FnZXMoZ2FwPWcpOgotLS0gCi1jZ2l0 IHYxLjAtMS1nZDg4ZQotCi0KLUZyb20gM2I2M2U5OThlNGQ2MTE4ZmM4NmIxM2I5NDBjOGYzZDNi ODMwN2E1MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEFudG9uaW8gUm9qYXMgPGFy b2phc0BhcmNobGludXgub3JnPgotRGF0ZTogTW9uLCAyOSBBdWcgMjAyMiAyMzoxNjowMyArMDIw MAotU3ViamVjdDogUG9ydCBOYXR1cmFsSG9tb21vcnBoaXNtIHVzZXMKLQotLS0tCi0gc3JjL3Nh Z2UvZ3JvdXBzL2FiZWxpYW5fZ3BzL2FiZWxpYW5fZ3JvdXBfZ2FwLnB5IHwgNCArKy0tCi0gMSBm aWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdp dCBhL3NyYy9zYWdlL2dyb3Vwcy9hYmVsaWFuX2dwcy9hYmVsaWFuX2dyb3VwX2dhcC5weSBiL3Ny Yy9zYWdlL2dyb3Vwcy9hYmVsaWFuX2dwcy9hYmVsaWFuX2dyb3VwX2dhcC5weQotaW5kZXggYTRi MDQ3MS4uODYwOTBiNCAxMDA2NDQKLS0tLSBhL3NyYy9zYWdlL2dyb3Vwcy9hYmVsaWFuX2dwcy9h YmVsaWFuX2dyb3VwX2dhcC5weQotKysrIGIvc3JjL3NhZ2UvZ3JvdXBzL2FiZWxpYW5fZ3BzL2Fi ZWxpYW5fZ3JvdXBfZ2FwLnB5Ci1AQCAtMzM4LDcgKzMzOCw3IEBAIGNsYXNzIEFiZWxpYW5Hcm91 cF9nYXAoVW5pcXVlUmVwcmVzZW50YXRpb24sIEdyb3VwTWl4aW5MaWJHQVAsIFBhcmVudExpYkdB UCwgQWJlCi0gICAgICAgICBpZiBpc2luc3RhbmNlKHgsIEFiZWxpYW5Hcm91cEVsZW1lbnRfZ2Fw KToKLSAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgIGlmIHggaW4gc2VsZi5fY292 ZXI6Ci0tICAgICAgICAgICAgICAgICAgICB4ID0gc2VsZi5nYXAoKS5OYXR1cmFsSG9tb21vcnBo aXNtKCkuSW1hZ2UoeC5nYXAoKSkKLSsgICAgICAgICAgICAgICAgICAgIHggPSBzZWxmLl9jb3Zl ci5nYXAoKS5OYXR1cmFsSG9tb21vcnBoaXNtQnlOb3JtYWxTdWJncm91cChzZWxmLl9yZWxhdGlv bnMpLkltYWdlKHguZ2FwKCkpCi0gICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAg ICAgICAgICB4ID0geC5nYXAoKQotICAgICAgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoK LUBAIC0xMDQzLDcgKzEwNDMsNyBAQCBjbGFzcyBBYmVsaWFuR3JvdXBRdW90aWVudF9nYXAoQWJl bGlhbkdyb3VwX2dhcCk6Ci0gICAgICAgICAgICAgRnJvbTogQWJlbGlhbiBncm91cCB3aXRoIGdh cCwgZ2VuZXJhdG9yIG9yZGVycyAoNCwpCi0gICAgICAgICAgICAgVG86ICAgUXVvdGllbnQgYWJl bGlhbiBncm91cCB3aXRoIGdlbmVyYXRvciBvcmRlcnMgKDIsKQotICAgICAgICAgIiIiCi0tICAg ICAgICBwaGkgPSBzZWxmLmdhcCgpLk5hdHVyYWxIb21vbW9ycGhpc20oKQotKyAgICAgICAgcGhp ID0gc2VsZi5fY292ZXIuZ2FwKCkuTmF0dXJhbEhvbW9tb3JwaGlzbUJ5Tm9ybWFsU3ViZ3JvdXAo c2VsZi5fcmVsYXRpb25zKQotICAgICAgICAgSG9tID0gc2VsZi5fY292ZXIuSG9tKHNlbGYpCi0g ICAgICAgICByZXR1cm4gSG9tKHBoaSkKLSAKLS0tIAotY2dpdCB2MS4wLTEtZ2Q4OGUKLQotCi1G cm9tIGJjNDA3NjRiZTA0NDY1M2UwNmYyZGEzNDk3ZTFlMDVkYTA4MjUxZjcgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCi1Gcm9tOiBBbnRvbmlvIFJvamFzIDxhcm9qYXNAYXJjaGxpbnV4Lm9yZz4K LURhdGU6IE1vbiwgMjkgQXVnIDIwMjIgMjM6MTc6MzYgKzAyMDAKLVN1YmplY3Q6IEZpeCB0ZXN0 cyB3aXRoIEdBUCA0LjEyCi0KLS0tLQotIHNyYy9kb2MvZW4vdGhlbWF0aWNfdHV0b3JpYWxzL2xp ZS93ZXlsX2dyb3Vwcy5yc3QgIHwgMTIgKysrKysrLS0tLS0tCi0gc3JjL3NhZ2UvY29kaW5nL2Nv ZGVjYW4vYXV0Z3JvdXBfY2FuX2xhYmVsLnB5eCAgICAgfCAgMiArLQotIHNyYy9zYWdlL2NvZGlu Zy9saW5lYXJfY29kZS5weSAgICAgICAgICAgICAgICAgICAgIHwgMjIgKysrKysrKysrKystLS0t LS0tLS0tLQotIC4uLi9yb290X3N5c3RlbS9oZWNrZV9hbGdlYnJhX3JlcHJlc2VudGF0aW9uLnB5 ICAgIHwgIDIgKy0KLSBzcmMvc2FnZS9jb21iaW5hdC9zeW1tZXRyaWNfZ3JvdXBfYWxnZWJyYS5w eSAgICAgICB8ICAyICstCi0gc3JjL3NhZ2UvZ3JvdXBzL2Zpbml0ZWx5X3ByZXNlbnRlZC5weSAg ICAgICAgICAgICAgfCAgNiArKystLS0KLSBzcmMvc2FnZS9ncm91cHMvZnFmX29ydGhvZ29uYWwu cHkgICAgICAgICAgICAgICAgICB8ICAyICstCi0gc3JjL3NhZ2UvZ3JvdXBzL2xpYmdhcF93cmFw cGVyLnB5eCAgICAgICAgICAgICAgICAgfCAgNiArKystLS0KLSAuLi4vcGVybV9ncHMvcGFydG5f cmVmMi9yZWZpbmVtZW50X2dlbmVyaWMucHl4ICAgICB8ICAyICstCi0gc3JjL3NhZ2UvZ3JvdXBz L3Blcm1fZ3BzL3Blcm1ncm91cC5weSAgICAgICAgICAgICAgfCAgOCArKysrLS0tLQotIHNyYy9z YWdlL2xpYnMvZ2FwL2xpYmdhcC5weXggICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KLSBz cmMvc2FnZS9saWJzL2dhcC91dGlsLnB5eCAgICAgICAgICAgICAgICAgICAgICAgICB8ICA4ICst LS0tLS0tCi0gc3JjL3NhZ2UvdGVzdHMvZ2FwX3BhY2thZ2VzLnB5ICAgICAgICAgICAgICAgICAg ICAgfCAgMiArLQotIDEzIGZpbGVzIGNoYW5nZWQsIDM1IGluc2VydGlvbnMoKyksIDQxIGRlbGV0 aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2RvYy9lbi90aGVtYXRpY190dXRvcmlhbHMvbGll L3dleWxfZ3JvdXBzLnJzdCBiL3NyYy9kb2MvZW4vdGhlbWF0aWNfdHV0b3JpYWxzL2xpZS93ZXls X2dyb3Vwcy5yc3QKLWluZGV4IGM5MTczMzguLjE4MmU3NGEgMTAwNjQ0Ci0tLS0gYS9zcmMvZG9j L2VuL3RoZW1hdGljX3R1dG9yaWFscy9saWUvd2V5bF9ncm91cHMucnN0Ci0rKysgYi9zcmMvZG9j L2VuL3RoZW1hdGljX3R1dG9yaWFscy9saWUvd2V5bF9ncm91cHMucnN0Ci1AQCAtMTM5LDEyICsx MzksMTIgQEAgc3RyaW5nLCB3aGljaCB5b3UgY2FuIHByaW50OjoKLSAgICAgWC4xICAgICAgMSAg MSAgMSAgMSAgMSAgMSAgMSAgMSAgMSAgMSAgMSAgMSAgMQotICAgICBYLjIgICAgICAxIC0xICAx ICAxIC0xICAxICAxIC0xIC0xIC0xICAxICAxICAxCi0gICAgIFguMyAgICAgIDIgIC4gIDIgLTEg IC4gIDIgIDIgIC4gIC4gIC4gLTEgIDIgIDIKLS0gICAgWC40ICAgICAgMyAtMSAtMSAgLiAgMSAt MSAgMyAtMSAgMSAtMSAgLiAtMSAgMwotLSAgICBYLjUgICAgICAzIC0xIC0xICAuICAxICAzIC0x IC0xIC0xICAxICAuIC0xICAzCi0tICAgIFguNiAgICAgIDMgIDEgLTEgIC4gLTEgLTEgIDMgIDEg LTEgIDEgIC4gLTEgIDMKLS0gICAgWC43ICAgICAgMyAgMSAtMSAgLiAtMSAgMyAtMSAgMSAgMSAt MSAgLiAtMSAgMwotLSAgICBYLjggICAgICAzIC0xICAzICAuIC0xIC0xIC0xIC0xICAxICAxICAu IC0xICAzCi0tICAgIFguOSAgICAgIDMgIDEgIDMgIC4gIDEgLTEgLTEgIDEgLTEgLTEgIC4gLTEg IDMKLSsgICAgWC40ICAgICAgMyAtMSAtMSAgLiAgMSAgMyAtMSAtMSAtMSAgMSAgLiAtMSAgMwot KyAgICBYLjUgICAgICAzICAxIC0xICAuIC0xICAzIC0xICAxICAxIC0xICAuIC0xICAzCi0rICAg IFguNiAgICAgIDMgLTEgIDMgIC4gLTEgLTEgLTEgLTEgIDEgIDEgIC4gLTEgIDMKLSsgICAgWC43 ICAgICAgMyAtMSAtMSAgLiAgMSAtMSAgMyAtMSAgMSAtMSAgLiAtMSAgMwotKyAgICBYLjggICAg ICAzICAxICAzICAuICAxIC0xIC0xICAxIC0xIC0xICAuIC0xICAzCi0rICAgIFguOSAgICAgIDMg IDEgLTEgIC4gLTEgLTEgIDMgIDEgLTEgIDEgIC4gLTEgIDMKLSAgICAgWC4xMCAgICAgNCAtMiAg LiAtMSAgLiAgLiAgLiAgMiAgLiAgLiAgMSAgLiAtNAotICAgICBYLjExICAgICA0ICAyICAuIC0x ICAuICAuICAuIC0yICAuICAuICAxICAuIC00Ci0gICAgIFguMTIgICAgIDYgIC4gLTIgIC4gIC4g LTIgLTIgIC4gIC4gIC4gIC4gIDIgIDYKLWRpZmYgLS1naXQgYS9zcmMvc2FnZS9jb2RpbmcvY29k ZWNhbi9hdXRncm91cF9jYW5fbGFiZWwucHl4IGIvc3JjL3NhZ2UvY29kaW5nL2NvZGVjYW4vYXV0 Z3JvdXBfY2FuX2xhYmVsLnB5eAotaW5kZXggZGU1ZGI5OC4uYzgzYjkyNiAxMDA2NDQKLS0tLSBh L3NyYy9zYWdlL2NvZGluZy9jb2RlY2FuL2F1dGdyb3VwX2Nhbl9sYWJlbC5weXgKLSsrKyBiL3Ny Yy9zYWdlL2NvZGluZy9jb2RlY2FuL2F1dGdyb3VwX2Nhbl9sYWJlbC5weXgKLUBAIC03Niw3ICs3 Niw3IEBAIGNvbHVtbnMgZG8gc2hhcmUgdGhlIHNhbWUgY29sb3Jpbmc6OgotICAgICAoKDEsKSwK LSAgICAgICgyLCksCi0gICAgICAoMywgNSwgNCksCi0tICAgICAoNiwgMTksIDE2LCA5LCAyMSwg MTAsIDgsIDE1LCAxNCwgMTEsIDIwLCAxMywgMTIsIDcsIDE3LCAxOCkpCi0rICAgICAoNiwgMTks IDE2LCAyMSwgOSwgMTAsIDE1LCA4LCAyMCwgMTEsIDE0LCAxMywgNywgMTIsIDE4LCAxNykpCi0g Ci0gV2UgY2FuIGFsc28gcmVzdHJpY3QgdGhlIGdyb3VwIGFjdGlvbiB0byBsaW5lYXIgaXNvbWV0 cmllczo6Ci0gCi1kaWZmIC0tZ2l0IGEvc3JjL3NhZ2UvY29kaW5nL2xpbmVhcl9jb2RlLnB5IGIv c3JjL3NhZ2UvY29kaW5nL2xpbmVhcl9jb2RlLnB5Ci1pbmRleCBlOGUzMmY4Li45ZDQ1MTYwIDEw MDY0NAotLS0tIGEvc3JjL3NhZ2UvY29kaW5nL2xpbmVhcl9jb2RlLnB5Ci0rKysgYi9zcmMvc2Fn ZS9jb2RpbmcvbGluZWFyX2NvZGUucHkKLUBAIC00NjYsMjcgKzQ2NiwyNyBAQCBjbGFzcyBBYnN0 cmFjdExpbmVhckNvZGUoQWJzdHJhY3RMaW5lYXJDb2RlTm9NZXRyaWMpOgotICAgICAgICAgICAg IDAKLSAgICAgICAgICAgICBzYWdlOiBDID0gY29kZXMuSGFtbWluZ0NvZGUoR0YoNCwgJ3onKSwg MykKLSAgICAgICAgICAgICBzYWdlOiBDLmF1dG9tb3JwaGlzbV9ncm91cF9nZW5zKCkKLS0gICAg ICAgICAgICAoWygoMSwgMSwgMSwgMSwgMSwgeiArIDEsIHosIHogKyAxLCB6LCB6LCB6LCAxLCAx LCB6ICsgMSwgeiArIDEsIHosIHogKyAxLCB6LCB6ICsgMSwgeiArIDEsIHogKyAxKTsgKDEsMTQs Niw3LDQsMTAsMTEsMTkpKDIsOCwxNiwxMywzLDE3LDIxLDE1KSg5LDEyLDE4LDIwKSwgUmluZyBl bmRvbW9ycGhpc20gb2YgRmluaXRlIEZpZWxkIGluIHogb2Ygc2l6ZSAyXjIKLSsgICAgICAgICAg ICAoWygoMSwgMSwgMSwgeiwgeiArIDEsIDEsIDEsIDEsIDEsIHogKyAxLCB6LCB6LCB6ICsgMSwg eiArIDEsIHogKyAxLCAxLCB6ICsgMSwgeiwgeiwgMSwgeik7ICgxLDEzLDE0LDIwKSgyLDIxLDgs MTgsNywxNiwxOSwxNSkoMywxMCw1LDEyLDE3LDksNiw0KSwgUmluZyBlbmRvbW9ycGhpc20gb2Yg RmluaXRlIEZpZWxkIGluIHogb2Ygc2l6ZSAyXjIKLSsgICAgICAgICAgICAgICAgRGVmbjogeiB8 LS0+IHogKyAxKSwKLSsgICAgICAgICAgICAgICgoeiwgMSwgeiwgeiwgeiwgeiArIDEsIHosIHos IHosIHosIHosIHosIHogKyAxLCB6LCB6LCB6LCB6LCB6ICsgMSwgeiwgeiwgeik7ICgxLDExLDUs MTIsMywxOSkoMiw4KSg2LDE4LDEzKSg3LDE3LDE1KSg5LDEwLDE0LDE2LDIwLDIxKSwgUmluZyBl bmRvbW9ycGhpc20gb2YgRmluaXRlIEZpZWxkIGluIHogb2Ygc2l6ZSAyXjIKLSAgICAgICAgICAg ICAgICAgRGVmbjogeiB8LS0+IHogKyAxKSwKLS0gICAgICAgICAgICAgICgoeiArIDEsIDEsIDEs IHosIHogKyAxLCB6LCB6LCB6ICsgMSwgeiArIDEsIHogKyAxLCAxLCB6ICsgMSwgeiwgeiwgMSwg eiArIDEsIDEsIHosIHogKyAxLCB6ICsgMSwgeik7ICgxLDE4LDYsMTksMiw5LDE3LDEwLDEzLDE0 LDIxLDExLDQsNSwxMikoMywyMCw3LDE2LDgpLCBSaW5nIGVuZG9tb3JwaGlzbSBvZiBGaW5pdGUg RmllbGQgaW4geiBvZiBzaXplIDJeMgotLSAgICAgICAgICAgICAgICBEZWZuOiB6IHwtLT4geiks Ci0gICAgICAgICAgICAgICAoKHosIHosIHosIHosIHosIHosIHosIHosIHosIHosIHosIHosIHos IHosIHosIHosIHosIHosIHosIHosIHopOyAoKSwgUmluZyBlbmRvbW9ycGhpc20gb2YgRmluaXRl IEZpZWxkIGluIHogb2Ygc2l6ZSAyXjIKLSAgICAgICAgICAgICAgICAgRGVmbjogeiB8LS0+IHop XSwKLSAgICAgICAgICAgICAgMzYyODgwKQotICAgICAgICAgICAgIHNhZ2U6IEMuYXV0b21vcnBo aXNtX2dyb3VwX2dlbnMoZXF1aXZhbGVuY2U9ImxpbmVhciIpCi0tICAgICAgICAgICAgKFsoKHog KyAxLCAxLCB6ICsgMSwgeiArIDEsIHogKyAxLCB6LCAxLCB6LCAxLCAxLCAxLCAxLCB6ICsgMSwg eiArIDEsIHogKyAxLCB6LCB6LCAxLCB6LCB6LCB6KTsgKDEsMTUsMiw4LDE2LDE4LDMpKDQsOSwx MiwxMywyMCwxMCwxMSkoNSwyMSwxNCw2LDcsMTksMTcpLCBSaW5nIGVuZG9tb3JwaGlzbSBvZiBG aW5pdGUgRmllbGQgaW4geiBvZiBzaXplIDJeMgotKyAgICAgICAgICAgIChbKCh6LCAxLCB6ICsg MSwgeiArIDEsIDEsIHogKyAxLCB6LCAxLCB6ICsgMSwgeiArIDEsIDEsIHosIDEsIHogKyAxLCB6 LCAxLCB6LCAxLCB6ICsgMSwgMSwgMSk7ICgxLDEyLDExLDEwLDYsOCw5LDIwLDEzLDIxLDUsMTQs MywxNiwxNywxOSw3LDQsMiwxNSwxOCksIFJpbmcgZW5kb21vcnBoaXNtIG9mIEZpbml0ZSBGaWVs ZCBpbiB6IG9mIHNpemUgMl4yCi0gICAgICAgICAgICAgICAgIERlZm46IHogfC0tPiB6KSwKLS0g ICAgICAgICAgICAgICgoeiArIDEsIHogKyAxLCB6ICsgMSwgeiArIDEsIHogKyAxLCAxLCB6LCAx LCB6LCB6LCB6LCAxLCB6LCAxLCAxLCAxLCB6ICsgMSwgeiArIDEsIHogKyAxLCAxLCB6KTsgKDEs MTUsMjEsOCw5KSgyLDE4LDUsMywxMSwxNiw3LDEwLDE5LDEzLDEyLDQsMTcsNiwyMCksIFJpbmcg ZW5kb21vcnBoaXNtIG9mIEZpbml0ZSBGaWVsZCBpbiB6IG9mIHNpemUgMl4yCi0rICAgICAgICAg ICAgICAoKHogKyAxLCB6ICsgMSwgeiArIDEsIHosIDEsIDEsIHosIHosIDEsIHogKyAxLCB6LCAx LCAxLCB6LCAxLCB6ICsgMSwgeiwgeiArIDEsIHogKyAxLCAxLCB6KTsgKDEsMywxOCwyLDE3LDYs MTkpKDQsMTUsMTMsMjAsNywxNCwxNikoNSwxMSw4LDIxLDEyLDksMTApLCBSaW5nIGVuZG9tb3Jw aGlzbSBvZiBGaW5pdGUgRmllbGQgaW4geiBvZiBzaXplIDJeMgotICAgICAgICAgICAgICAgICBE ZWZuOiB6IHwtLT4geiksCi0gICAgICAgICAgICAgICAoKHogKyAxLCB6ICsgMSwgeiArIDEsIHog KyAxLCB6ICsgMSwgeiArIDEsIHogKyAxLCB6ICsgMSwgeiArIDEsIHogKyAxLCB6ICsgMSwgeiAr IDEsIHogKyAxLCB6ICsgMSwgeiArIDEsIHogKyAxLCB6ICsgMSwgeiArIDEsIHogKyAxLCB6ICsg MSwgeiArIDEpOyAoKSwgUmluZyBlbmRvbW9ycGhpc20gb2YgRmluaXRlIEZpZWxkIGluIHogb2Yg c2l6ZSAyXjIKLSAgICAgICAgICAgICAgICAgRGVmbjogeiB8LS0+IHopXSwKLSAgICAgICAgICAg ICAgMTgxNDQwKQotICAgICAgICAgICAgIHNhZ2U6IEMuYXV0b21vcnBoaXNtX2dyb3VwX2dlbnMo ZXF1aXZhbGVuY2U9InBlcm11dGF0aW9uYWwiKQotLSAgICAgICAgICAgIChbKCgxLCAxLCAxLCAx LCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxKTsgKDEs MTkpKDMsMTcpKDQsMjEpKDUsMjApKDcsMTQpKDksMTIpKDEwLDE2KSgxMSwxNSksIFJpbmcgZW5k b21vcnBoaXNtIG9mIEZpbml0ZSBGaWVsZCBpbiB6IG9mIHNpemUgMl4yCi0rICAgICAgICAgICAg KFsoKDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEs IDEsIDEsIDEpOyAoMSwxMSkoMywxMCkoNCw5KSg1LDcpKDEyLDIxKSgxNCwyMCkoMTUsMTkpKDE2 LDE3KSwgUmluZyBlbmRvbW9ycGhpc20gb2YgRmluaXRlIEZpZWxkIGluIHogb2Ygc2l6ZSAyXjIK LSAgICAgICAgICAgICAgICAgRGVmbjogeiB8LS0+IHopLAotLSAgICAgICAgICAgICAgKCgxLCAx LCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAx KTsgKDEsMTEpKDMsMTApKDQsOSkoNSw3KSgxMiwyMSkoMTQsMjApKDE1LDE5KSgxNiwxNyksIFJp bmcgZW5kb21vcnBoaXNtIG9mIEZpbml0ZSBGaWVsZCBpbiB6IG9mIHNpemUgMl4yCi0rICAgICAg ICAgICAgICAoKDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEs IDEsIDEsIDEsIDEsIDEpOyAoMiwxOCkoMywxOSkoNCwxMCkoNSwxNikoOCwxMykoOSwxNCkoMTEs MjEpKDE1LDIwKSwgUmluZyBlbmRvbW9ycGhpc20gb2YgRmluaXRlIEZpZWxkIGluIHogb2Ygc2l6 ZSAyXjIKLSAgICAgICAgICAgICAgICAgRGVmbjogeiB8LS0+IHopLAotLSAgICAgICAgICAgICAg KCgxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAx LCAxLCAxKTsgKDEsMTcpKDIsOCkoMywxNCkoNCwxMCkoNywxMikoOSwxOSkoMTMsMTgpKDE1LDIw KSwgUmluZyBlbmRvbW9ycGhpc20gb2YgRmluaXRlIEZpZWxkIGluIHogb2Ygc2l6ZSAyXjIKLSsg ICAgICAgICAgICAgICgoMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwg MSwgMSwgMSwgMSwgMSwgMSwgMSk7ICgxLDE5KSgzLDE3KSg0LDIxKSg1LDIwKSg3LDE0KSg5LDEy KSgxMCwxNikoMTEsMTUpLCBSaW5nIGVuZG9tb3JwaGlzbSBvZiBGaW5pdGUgRmllbGQgaW4geiBv ZiBzaXplIDJeMgotICAgICAgICAgICAgICAgICBEZWZuOiB6IHwtLT4geiksCi0gICAgICAgICAg ICAgICAoKDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEs IDEsIDEsIDEsIDEpOyAoMiwxMykoMywxNCkoNCwyMCkoNSwxMSkoOCwxOCkoOSwxOSkoMTAsMTUp KDE2LDIxKSwgUmluZyBlbmRvbW9ycGhpc20gb2YgRmluaXRlIEZpZWxkIGluIHogb2Ygc2l6ZSAy XjIKLSAgICAgICAgICAgICAgICAgRGVmbjogeiB8LS0+IHopXSwKLUBAIC02OTIsMTAgKzY5Miwx MCBAQCBjbGFzcyBBYnN0cmFjdExpbmVhckNvZGUoQWJzdHJhY3RMaW5lYXJDb2RlTm9NZXRyaWMp OgotICAgICAgICAgICAgIHNhZ2U6IENfaXNvID09IGF1dF9ncm91cF9jYW5fbGFiZWwuZ2V0X2Nh bm9uaWNhbF9mb3JtKCkKLSAgICAgICAgICAgICBUcnVlCi0gICAgICAgICAgICAgc2FnZTogYXV0 X2dyb3VwX2Nhbl9sYWJlbC5nZXRfYXV0b21fZ2VucygpCi0tICAgICAgICAgICAgWygoMSwgMSwg MSwgMSwgMSwgeiArIDEsIHosIHogKyAxLCB6LCB6LCB6LCAxLCAxLCB6ICsgMSwgeiArIDEsIHos IHogKyAxLCB6LCB6ICsgMSwgeiArIDEsIHogKyAxKTsgKDEsMTQsNiw3LDQsMTAsMTEsMTkpKDIs OCwxNiwxMywzLDE3LDIxLDE1KSg5LDEyLDE4LDIwKSwgUmluZyBlbmRvbW9ycGhpc20gb2YgRmlu aXRlIEZpZWxkIGluIHogb2Ygc2l6ZSAyXjIKLSsgICAgICAgICAgICBbKCgxLCAxLCAxLCB6LCB6 ICsgMSwgMSwgMSwgMSwgMSwgeiArIDEsIHosIHosIHogKyAxLCB6ICsgMSwgeiArIDEsIDEsIHog KyAxLCB6LCB6LCAxLCB6KTsgKDEsMTMsMTQsMjApKDIsMjEsOCwxOCw3LDE2LDE5LDE1KSgzLDEw LDUsMTIsMTcsOSw2LDQpLCBSaW5nIGVuZG9tb3JwaGlzbSBvZiBGaW5pdGUgRmllbGQgaW4geiBv ZiBzaXplIDJeMgotKyAgICAgICAgICAgICAgIERlZm46IHogfC0tPiB6ICsgMSksCi0rICAgICAg ICAgICAgICgoeiwgMSwgeiwgeiwgeiwgeiArIDEsIHosIHosIHosIHosIHosIHosIHogKyAxLCB6 LCB6LCB6LCB6LCB6ICsgMSwgeiwgeiwgeik7ICgxLDExLDUsMTIsMywxOSkoMiw4KSg2LDE4LDEz KSg3LDE3LDE1KSg5LDEwLDE0LDE2LDIwLDIxKSwgUmluZyBlbmRvbW9ycGhpc20gb2YgRmluaXRl IEZpZWxkIGluIHogb2Ygc2l6ZSAyXjIKLSAgICAgICAgICAgICAgICBEZWZuOiB6IHwtLT4geiAr IDEpLAotLSAgICAgICAgICAgICAoKHogKyAxLCAxLCAxLCB6LCB6ICsgMSwgeiwgeiwgeiArIDEs IHogKyAxLCB6ICsgMSwgMSwgeiArIDEsIHosIHosIDEsIHogKyAxLCAxLCB6LCB6ICsgMSwgeiAr IDEsIHopOyAoMSwxOCw2LDE5LDIsOSwxNywxMCwxMywxNCwyMSwxMSw0LDUsMTIpKDMsMjAsNywx Niw4KSwgUmluZyBlbmRvbW9ycGhpc20gb2YgRmluaXRlIEZpZWxkIGluIHogb2Ygc2l6ZSAyXjIK LS0gICAgICAgICAgICAgICBEZWZuOiB6IHwtLT4geiksCi0gICAgICAgICAgICAgICgoeiwgeiwg eiwgeiwgeiwgeiwgeiwgeiwgeiwgeiwgeiwgeiwgeiwgeiwgeiwgeiwgeiwgeiwgeiwgeiwgeik7 ICgpLCBSaW5nIGVuZG9tb3JwaGlzbSBvZiBGaW5pdGUgRmllbGQgaW4geiBvZiBzaXplIDJeMgot ICAgICAgICAgICAgICAgIERlZm46IHogfC0tPiB6KV0KLSAgICAgICAgICIiIgotZGlmZiAtLWdp dCBhL3NyYy9zYWdlL2NvbWJpbmF0L3Jvb3Rfc3lzdGVtL2hlY2tlX2FsZ2VicmFfcmVwcmVzZW50 YXRpb24ucHkgYi9zcmMvc2FnZS9jb21iaW5hdC9yb290X3N5c3RlbS9oZWNrZV9hbGdlYnJhX3Jl cHJlc2VudGF0aW9uLnB5Ci1pbmRleCBiZGUyODIzLi5iZmZjYzg1IDEwMDY0NAotLS0tIGEvc3Jj L3NhZ2UvY29tYmluYXQvcm9vdF9zeXN0ZW0vaGVja2VfYWxnZWJyYV9yZXByZXNlbnRhdGlvbi5w eQotKysrIGIvc3JjL3NhZ2UvY29tYmluYXQvcm9vdF9zeXN0ZW0vaGVja2VfYWxnZWJyYV9yZXBy ZXNlbnRhdGlvbi5weQotQEAgLTM1NSw3ICszNTUsNyBAQCBjbGFzcyBIZWNrZUFsZ2VicmFSZXBy ZXNlbnRhdGlvbihXaXRoRXF1YWxpdHlCeUlkLCBTYWdlT2JqZWN0KToKLSAgICAgICAgICAgICBz YWdlOiBxMSwgcTIgPSBLLmdlbnMoKQotICAgICAgICAgICAgIHNhZ2U6IEtXID0gVy5hbGdlYnJh KEspCi0gICAgICAgICAgICAgc2FnZTogeCA9IEtXLmFuX2VsZW1lbnQoKTsgeAotLSAgICAgICAg ICAgIDEyMyArIDMqMzIgKyAyKjMgKyBlCi0rICAgICAgICAgICAgMTIzICsgMyoyMzEyICsgMioz MSArIGUKLSAKLSAgICAgICAgICAgICBzYWdlOiBUID0gS1cuZGVtYXp1cmVfbHVzenRpZ19vcGVy YXRvcnMocTEscTIpCi0gICAgICAgICAgICAgc2FnZTogVDEyID0gVC5UdyggKDEsMikgKQotZGlm ZiAtLWdpdCBhL3NyYy9zYWdlL2NvbWJpbmF0L3N5bW1ldHJpY19ncm91cF9hbGdlYnJhLnB5IGIv c3JjL3NhZ2UvY29tYmluYXQvc3ltbWV0cmljX2dyb3VwX2FsZ2VicmEucHkKLWluZGV4IGMzZDY3 NTUuLmRhOTUzZDIgMTAwNjQ0Ci0tLS0gYS9zcmMvc2FnZS9jb21iaW5hdC9zeW1tZXRyaWNfZ3Jv dXBfYWxnZWJyYS5weQotKysrIGIvc3JjL3NhZ2UvY29tYmluYXQvc3ltbWV0cmljX2dyb3VwX2Fs Z2VicmEucHkKLUBAIC0xMDEsNyArMTAxLDcgQEAgZGVmIFN5bW1ldHJpY0dyb3VwQWxnZWJyYShS LCBXLCBjYXRlZ29yeT1Ob25lKToKLSAgICAgICAgIHNhZ2U6IFNHQS5ncm91cCgpCi0gICAgICAg ICBXZXlsIEdyb3VwIG9mIHR5cGUgWydBJywgM10gKGFzIGEgbWF0cml4IGdyb3VwIGFjdGluZyBv biB0aGUgYW1iaWVudCBzcGFjZSkKLSAgICAgICAgIHNhZ2U6IFNHQS5hbl9lbGVtZW50KCkKLS0g ICAgICAgIHMxKnMyKnMzICsgMypzMypzMiArIDIqczMgKyAxCi0rICAgICAgICBzMSpzMipzMyAr IDMqczIqczMqczEqczIgKyAyKnMzKnMxICsgMQotIAotICAgICBUaGUgcHJlZmVycmVkIHdheSB0 byBjb25zdHJ1Y3QgdGhlIHN5bW1ldHJpYyBncm91cCBhbGdlYnJhIGlzIHRvCi0gICAgIGdvIHRo cm91Z2ggdGhlIHVzdWFsIGBgYWxnZWJyYWBgIG1ldGhvZDo6Ci1kaWZmIC0tZ2l0IGEvc3JjL3Nh Z2UvZ3JvdXBzL2Zpbml0ZWx5X3ByZXNlbnRlZC5weSBiL3NyYy9zYWdlL2dyb3Vwcy9maW5pdGVs eV9wcmVzZW50ZWQucHkKLWluZGV4IDJhNjFiYmYuLmQyNjg5MWEgMTAwNjQ0Ci0tLS0gYS9zcmMv c2FnZS9ncm91cHMvZmluaXRlbHlfcHJlc2VudGVkLnB5Ci0rKysgYi9zcmMvc2FnZS9ncm91cHMv ZmluaXRlbHlfcHJlc2VudGVkLnB5Ci1AQCAtNTk2LDkgKzU5Niw5IEBAIGNsYXNzIFJld3JpdGlu Z1N5c3RlbSgpOgotICAgICAgICAgICAgIHNhZ2U6IGsgPSBHLnJld3JpdGluZ19zeXN0ZW0oKQot ICAgICAgICAgICAgIHNhZ2U6IGsuZ2FwKCkKLSAgICAgICAgICAgICBLbnV0aCBCZW5kaXggUmV3 cml0aW5nIFN5c3RlbSBmb3IgTW9ub2lkKCBbIGEsIEEsIGIsIEIgXSApIHdpdGggcnVsZXMKLS0g ICAgICAgICAgICBbIFsgYV4yLCA8aWRlbnRpdHkgLi4uPiBdLCBbIGEqQSwgPGlkZW50aXR5IC4u Lj4gXSwKLS0gICAgICAgICAgICAgIFsgQSphLCA8aWRlbnRpdHkgLi4uPiBdLCBbIGJeMiwgPGlk ZW50aXR5IC4uLj4gXSwKLS0gICAgICAgICAgICAgIFsgYipCLCA8aWRlbnRpdHkgLi4uPiBdLCBb IEIqYiwgPGlkZW50aXR5IC4uLj4gXSBdCi0rICAgICAgICAgICAgWyBbIGEqQSwgPGlkZW50aXR5 IC4uLj4gXSwgWyBBKmEsIDxpZGVudGl0eSAuLi4+IF0sCi0rICAgICAgICAgICAgICBbIGIqQiwg PGlkZW50aXR5IC4uLj4gXSwgWyBCKmIsIDxpZGVudGl0eSAuLi4+IF0sCi0rICAgICAgICAgICAg ICBbIGFeMiwgPGlkZW50aXR5IC4uLj4gXSwgWyBiXjIsIDxpZGVudGl0eSAuLi4+IF0gXQotICAg ICAgICAgIiIiCi0gICAgICAgICByZXR1cm4gc2VsZi5fZ2FwCi0gCi1kaWZmIC0tZ2l0IGEvc3Jj L3NhZ2UvZ3JvdXBzL2ZxZl9vcnRob2dvbmFsLnB5IGIvc3JjL3NhZ2UvZ3JvdXBzL2ZxZl9vcnRo b2dvbmFsLnB5Ci1pbmRleCA3NWRlNDA4Li5kZDdkODRkIDEwMDY0NAotLS0tIGEvc3JjL3NhZ2Uv Z3JvdXBzL2ZxZl9vcnRob2dvbmFsLnB5Ci0rKysgYi9zcmMvc2FnZS9ncm91cHMvZnFmX29ydGhv Z29uYWwucHkKLUBAIC0xNDMsNyArMTQzLDcgQEAgY2xhc3MgRnFmT3J0aG9nb25hbEdyb3VwKEFi ZWxpYW5Hcm91cEF1dG9tb3JwaGlzbUdyb3VwX3N1Ymdyb3VwKToKLSAgICAgICAgIFsyLzMgICAw ICAgMF0KLSAgICAgICAgIFsgIDAgMi8zICAgMF0KLSAgICAgICAgIFsgIDAgICAwIDQvM10KLS0g ICAgICAgIGdlbmVyYXRlZCBieSAyIGVsZW1lbnRzCi0rICAgICAgICBnZW5lcmF0ZWQgYnkgMyBl bGVtZW50cwotICAgICAgICAgc2FnZTogcSA9IG1hdHJpeC5kaWFnb25hbChRUSwgWzMvMiwgMS80 LCAxLzRdKQotICAgICAgICAgc2FnZTogVCA9IFRvcnNpb25RdWFkcmF0aWNGb3JtKHEpCi0gICAg ICAgICBzYWdlOiBULm9ydGhvZ29uYWxfZ3JvdXAoKS5vcmRlcigpCi1kaWZmIC0tZ2l0IGEvc3Jj L3NhZ2UvZ3JvdXBzL2xpYmdhcF93cmFwcGVyLnB5eCBiL3NyYy9zYWdlL2dyb3Vwcy9saWJnYXBf d3JhcHBlci5weXgKLWluZGV4IGE3NmFmYzIuLjkzNDBjMGQgMTAwNjQ0Ci0tLS0gYS9zcmMvc2Fn ZS9ncm91cHMvbGliZ2FwX3dyYXBwZXIucHl4Ci0rKysgYi9zcmMvc2FnZS9ncm91cHMvbGliZ2Fw X3dyYXBwZXIucHl4Ci1AQCAtMjUsNyArMjUsNyBAQCBOb3RlIGhvdyB3ZSBjYWxsIHRoZSBjb25z dHJ1Y3RvciBvZiBib3RoIHN1cGVyY2xhc3NlcyB0byBpbml0aWFsaXplCi0gaXRzIG91dHB1dCB2 aWEgTGliR0FQOjoKLSAKLSAgICAgc2FnZTogRm9vR3JvdXAoKQotLSAgICA8cGMgZ3JvdXAgb2Yg c2l6ZSAzIHdpdGggMSBnZW5lcmF0b3JzPgotKyAgICA8cGMgZ3JvdXAgb2Ygc2l6ZSAzIHdpdGgg MSBnZW5lcmF0b3I+Ci0gICAgIHNhZ2U6IHR5cGUoRm9vR3JvdXAoKS5nYXAoKSkKLSAgICAgPGNs YXNzICdzYWdlLmxpYnMuZ2FwLmVsZW1lbnQuR2FwRWxlbWVudCc+Ci0gCi1AQCAtMTA2LDcgKzEw Niw3IEBAIGNsYXNzIFBhcmVudExpYkdBUChTYWdlT2JqZWN0KToKLSAgICAgICAgIC4uLi46ICAg ICAgICAgUGFyZW50TGliR0FQLl9faW5pdF9fKHNlbGYsIGxnKQotICAgICAgICAgLi4uLjogICAg ICAgICBHcm91cC5fX2luaXRfXyhzZWxmKQotICAgICAgICAgc2FnZTogRm9vR3JvdXAoKQotLSAg ICAgICAgPHBjIGdyb3VwIG9mIHNpemUgMyB3aXRoIDEgZ2VuZXJhdG9ycz4KLSsgICAgICAgIDxw YyBncm91cCBvZiBzaXplIDMgd2l0aCAxIGdlbmVyYXRvcj4KLSAgICAgIiIiCi0gCi0gICAgIGRl ZiBfX2luaXRfXyhzZWxmLCBsaWJnYXBfcGFyZW50LCBhbWJpZW50PU5vbmUpOgotQEAgLTQ2MSw3 ICs0NjEsNyBAQCBjZGVmIGNsYXNzIEVsZW1lbnRMaWJHQVAoTXVsdGlwbGljYXRpdmVHcm91cEVs ZW1lbnQpOgotICAgICAgICAgLi4uLjogICAgICAgICBQYXJlbnRMaWJHQVAuX19pbml0X18oc2Vs ZiwgbGcpCi0gICAgICAgICAuLi4uOiAgICAgICAgIEdyb3VwLl9faW5pdF9fKHNlbGYpCi0gICAg ICAgICBzYWdlOiBGb29Hcm91cCgpCi0tICAgICAgICA8cGMgZ3JvdXAgb2Ygc2l6ZSAzIHdpdGgg MSBnZW5lcmF0b3JzPgotKyAgICAgICAgPHBjIGdyb3VwIG9mIHNpemUgMyB3aXRoIDEgZ2VuZXJh dG9yPgotICAgICAgICAgc2FnZTogRm9vR3JvdXAoKS5nZW5zKCkKLSAgICAgICAgIChmMSwpCi0g ICAgICIiIgotZGlmZiAtLWdpdCBhL3NyYy9zYWdlL2dyb3Vwcy9wZXJtX2dwcy9wYXJ0bl9yZWYy L3JlZmluZW1lbnRfZ2VuZXJpYy5weXggYi9zcmMvc2FnZS9ncm91cHMvcGVybV9ncHMvcGFydG5f cmVmMi9yZWZpbmVtZW50X2dlbmVyaWMucHl4Ci1pbmRleCAyZmNiMDM2Li5jYTczYzZiIDEwMDY0 NAotLS0tIGEvc3JjL3NhZ2UvZ3JvdXBzL3Blcm1fZ3BzL3BhcnRuX3JlZjIvcmVmaW5lbWVudF9n ZW5lcmljLnB5eAotKysrIGIvc3JjL3NhZ2UvZ3JvdXBzL3Blcm1fZ3BzL3BhcnRuX3JlZjIvcmVm aW5lbWVudF9nZW5lcmljLnB5eAotQEAgLTQyNyw3ICs0MjcsNyBAQCBjZGVmIGNsYXNzIExhYmVs bGVkQnJhbmNoaW5nOgotICAgICAgICAgICAgIHNhZ2U6IGZyb20gc2FnZS5ncm91cHMucGVybV9n cHMucGFydG5fcmVmMi5yZWZpbmVtZW50X2dlbmVyaWMgaW1wb3J0IExhYmVsbGVkQnJhbmNoaW5n Ci0gICAgICAgICAgICAgc2FnZTogTCA9IExhYmVsbGVkQnJhbmNoaW5nKDMpCi0gICAgICAgICAg ICAgc2FnZTogTC5zbWFsbF9nZW5lcmF0aW5nX3NldCgpCi0tICAgICAgICAgICAgW10KLSsgICAg ICAgICAgICBbKCldCi0gICAgICAgICAgICAgc2FnZTogTC5hZGRfZ2VuKGxpYmdhcC5ldmFsKCco MSwyLDMpJykpCi0gICAgICAgICAgICAgc2FnZTogTC5zbWFsbF9nZW5lcmF0aW5nX3NldCgpCi0g ICAgICAgICAgICAgWygxLDIsMyldCi1kaWZmIC0tZ2l0IGEvc3JjL3NhZ2UvZ3JvdXBzL3Blcm1f Z3BzL3Blcm1ncm91cC5weSBiL3NyYy9zYWdlL2dyb3Vwcy9wZXJtX2dwcy9wZXJtZ3JvdXAucHkK LWluZGV4IDQ5MDg5MzQuLjM0YmEwY2MgMTAwNjQ0Ci0tLS0gYS9zcmMvc2FnZS9ncm91cHMvcGVy bV9ncHMvcGVybWdyb3VwLnB5Ci0rKysgYi9zcmMvc2FnZS9ncm91cHMvcGVybV9ncHMvcGVybWdy b3VwLnB5Ci1AQCAtOTEzLDcgKzkxMyw3IEBAIGNsYXNzIFBlcm11dGF0aW9uR3JvdXBfZ2VuZXJp YyhGaW5pdGVHcm91cCk6Ci0gICAgICAgICAgICBzYWdlOiBmID0gUEcuX2NvZXJjZV9tYXBfZnJv bV8oTUcpCi0gICAgICAgICAgICBzYWdlOiBtZyA9IE1HLmFuX2VsZW1lbnQoKQotICAgICAgICAg ICAgc2FnZTogcCA9IGYobWcpOyBwCi0tICAgICAgICAgICAoMiwzMywzMiwyMywzMSw1NSkoMyw0 OSwzOCw0NCw0MCwyOCkoNCwxNyw1OSw2Miw1OCw0NikoNSwyMSw0NywyMCw0Myw4KSg2LDUzLDUw KSg3LDM3LDEyLDU3LDE0LDI5KSg5LDQxLDU2LDM0LDY0LDEwKSgxMSwyNSwxOSkoMTMsNjEsMjYs NTEsMjIsMTUpKDE2LDQ1LDM2KSgxOCwyNywzNSw0OCw1Miw1NCkoMjQsNjMsNDIpKDMwLDM5LDYw KQotKyAgICAgICAgICAgKDEsMiw2LDE5LDM1LDMzKSgzLDksMjYsMTQsMzEsMjMpKDQsMTMsNSko NywyMiwxNykoOCwyNCwxMikoMTAsMTYsMzIsMjcsMjAsMjgpKDExLDMwLDE4KSgxNSwyNSwzNiwz NCwyOSwyMSkKLSAgICAgICAgICAgIHNhZ2U6IFBHKHAuX2dhcF8oKSkgPT0gcAotICAgICAgICAg ICAgVHJ1ZQotIAotQEAgLTk1OSwxMiArOTU5LDEyIEBAIGNsYXNzIFBlcm11dGF0aW9uR3JvdXBf Z2VuZXJpYyhGaW5pdGVHcm91cCk6Ci0gICAgICAgICAgICAgc2FnZTogUCA9IEcuYXNfcGVybXV0 YXRpb25fZ3JvdXAoYWxnb3JpdGhtPSdzbWFsbGVyJywgc2VlZD01KQotICAgICAgICAgICAgIHNh Z2U6IFAxID0gRy5hc19wZXJtdXRhdGlvbl9ncm91cCgpCi0gICAgICAgICAgICAgc2FnZTogUCA9 PSBQMQotLSAgICAgICAgICAgIEZhbHNlCi0rICAgICAgICAgICAgVHJ1ZQotICAgICAgICAgICAg IHNhZ2U6IGcxLCBnMiwgZzMgPSBHLmdlbnMoKQotICAgICAgICAgICAgIHNhZ2U6IFAoZzEqZzIp Ci0tICAgICAgICAgICAgKDEsMyw3LDEyKSgyLDQsOCwxMCkoNSwxMSkoNiw5KQotKyAgICAgICAg ICAgICgxLDQsMTMsMTEpKDIsNSwxNCwxOCkoMywxNSw4LDE2KSg2LDcpKDksMjAsMTksMTIpKDEw LDE3KQotICAgICAgICAgICAgIHNhZ2U6IFAxKGcxKmcyKQotLSAgICAgICAgICAgICgyLDI5LDI1 LDY4KSgzLDU3LDEzLDU0KSg0LDExLDcyLDM3KSg1LDM5LDYwLDIzKSg2LDY0LDc1LDYzKSg3LDIx LDUwLDczKSg4LDQ2LDM4LDMyKSg5LDc0LDM1LDE4KSgxMCw0NCw0OSw0OCkoMTIsMTYsMzQsNzEp KDE0LDc5LDI3LDQwKSgxNSwyNikoMTcsNjIsNTksNzYpKDE5LDc4LDcwLDY1KSgyMCwyMiw1OCw1 MSkoMjQsMzMsMzYsNDMpKDI4LDgxLDgwLDUyKSgzMCw1Myw1Niw2OSkoMzEsNjEpKDQxLDQyLDY3 LDU1KSg0NSw3NykoNDcsNjYpCi0rICAgICAgICAgICAgKDEsNCwxMywxMSkoMiw1LDE0LDE4KSgz LDE1LDgsMTYpKDYsNykoOSwyMCwxOSwxMikoMTAsMTcpCi0gCi0gICAgICAgICBBbm90aGVyIGNo ZWNrIGZvciA6dHJhYzpgNTU4M2A6OgotIAotZGlmZiAtLWdpdCBhL3NyYy9zYWdlL2xpYnMvZ2Fw L2xpYmdhcC5weXggYi9zcmMvc2FnZS9saWJzL2dhcC9saWJnYXAucHl4Ci1pbmRleCBiMWE2NGU1 Li42YTM2NjEzIDEwMDY0NAotLS0tIGEvc3JjL3NhZ2UvbGlicy9nYXAvbGliZ2FwLnB5eAotKysr IGIvc3JjL3NhZ2UvbGlicy9nYXAvbGliZ2FwLnB5eAotQEAgLTY5NSw3ICs2OTUsNyBAQCBjbGFz cyBHYXAoUGFyZW50KToKLSAgICAgICAgICAgICBzYWdlOiBsaWJnYXAuTGlzdAotICAgICAgICAg ICAgIDxHYXAgZnVuY3Rpb24gIkxpc3QiPgotICAgICAgICAgICAgIHNhZ2U6IGxpYmdhcC5HbG9i YWxSYW5kb21Tb3VyY2UKLS0gICAgICAgICAgICA8UmFuZG9tU291cmNlIGluIElzR2xvYmFsUmFu ZG9tU291cmNlPgotKyAgICAgICAgICAgIDxSYW5kb21Tb3VyY2UgaW4gSXNHQVBSYW5kb21Tb3Vy Y2U+Ci0gICAgICAgICAiIiIKLSAgICAgICAgIGlmIG5hbWUgaW4gZGlyKHNlbGYuX19jbGFzc19f KToKLSAgICAgICAgICAgICByZXR1cm4gZ2V0YXR0cihzZWxmLl9fY2xhc3NfXywgbmFtZSkKLWRp ZmYgLS1naXQgYS9zcmMvc2FnZS9saWJzL2dhcC91dGlsLnB5eCBiL3NyYy9zYWdlL2xpYnMvZ2Fw L3V0aWwucHl4Ci1pbmRleCAzNDRhYjg4Li42MzUwOTg3IDEwMDY0NAotLS0tIGEvc3JjL3NhZ2Uv bGlicy9nYXAvdXRpbC5weXgKLSsrKyBiL3NyYy9zYWdlL2xpYnMvZ2FwL3V0aWwucHl4Ci1AQCAt MzYyLDE1ICszNjIsOSBAQCBjZGVmIE9iaiBnYXBfZXZhbChzdHIgZ2FwX3N0cmluZykgZXhjZXB0 PyBOVUxMOgotICAgICAgICAgR0FQRXJyb3I6IEVycm9yLCBWYXJpYWJsZTogJ0NvbXBsZXgnIG11 c3QgaGF2ZSBhIHZhbHVlCi0gICAgICAgICBTeW50YXggZXJyb3I6IDsgZXhwZWN0ZWQgaW4gc3Ry ZWFtOjEKLSAgICAgICAgIENvbXBsZXggRmllbGQgd2l0aCA1MyBiaXRzIG9mIHByZWNpc2lvbjs7 Ci0tICAgICAgICAgXl5eXl5eXl5eXl5eCi0rICAgICAgICAgICAgICAgIF5eXl5eCi0gICAgICAg ICBFcnJvciwgVmFyaWFibGU6ICd3aXRoJyBtdXN0IGhhdmUgYSB2YWx1ZQotLSAgICAgICAgU3lu dGF4IGVycm9yOiA7IGV4cGVjdGVkIGluIHN0cmVhbToxCi0tICAgICAgICBDb21wbGV4IEZpZWxk IHdpdGggNTMgYml0cyBvZiBwcmVjaXNpb247OwotLSAgICAgICAgIF5eXl5eXl5eXl5eXl5eXl5e Xl5eCi0gICAgICAgICBFcnJvciwgVmFyaWFibGU6ICdiaXRzJyBtdXN0IGhhdmUgYSB2YWx1ZQot LSAgICAgICAgU3ludGF4IGVycm9yOiA7IGV4cGVjdGVkIGluIHN0cmVhbToxCi0tICAgICAgICBD b21wbGV4IEZpZWxkIHdpdGggNTMgYml0cyBvZiBwcmVjaXNpb247OwotLSAgICAgICAgIF5eXl5e Xl5eXl5eXl5eXl5eXl5eXl5eXl5eXl4KLSAgICAgICAgIEVycm9yLCBWYXJpYWJsZTogJ3ByZWNp c2lvbicgbXVzdCBoYXZlIGEgdmFsdWUKLSAKLSAgICAgVGVzdCB0aGF0IG9uIGEgc3Vic2VxdWVu dCBhdHRlbXB0IHdlIGdldCB0aGUgc2FtZSBtZXNzYWdlIChubyBnYXJiYWdlIHdhcwotZGlmZiAt LWdpdCBhL3NyYy9zYWdlL3Rlc3RzL2dhcF9wYWNrYWdlcy5weSBiL3NyYy9zYWdlL3Rlc3RzL2dh cF9wYWNrYWdlcy5weQotaW5kZXggMmU0NTE4Yy4uYzMwMmIxNiAxMDA2NDQKLS0tLSBhL3NyYy9z YWdlL3Rlc3RzL2dhcF9wYWNrYWdlcy5weQotKysrIGIvc3JjL3NhZ2UvdGVzdHMvZ2FwX3BhY2th Z2VzLnB5Ci1AQCAtMTAzLDcgKzEwMyw3IEBAIGRlZiBhbGxfaW5zdGFsbGVkX3BhY2thZ2VzKGln bm9yZV9kb3RfZ2FwPUZhbHNlLCBnYXA9Tm9uZSk6Ci0gCi0gICAgICAgICBzYWdlOiBmcm9tIHNh Z2UudGVzdHMuZ2FwX3BhY2thZ2VzIGltcG9ydCBhbGxfaW5zdGFsbGVkX3BhY2thZ2VzCi0gICAg ICAgICBzYWdlOiBhbGxfaW5zdGFsbGVkX3BhY2thZ2VzKCkKLS0gICAgICAgICguLi4nR0FQRG9j Jy4uLikKLSsgICAgICAgICguLi4nZ2FwZG9jJy4uLikKLSAgICAgICAgIHNhZ2U6IGFsbF9pbnN0 YWxsZWRfcGFja2FnZXMoaWdub3JlX2RvdF9nYXA9VHJ1ZSkgPT0gYWxsX2luc3RhbGxlZF9wYWNr YWdlcyhnYXA9Z2FwLCBpZ25vcmVfZG90X2dhcD1UcnVlKQotICAgICAgICAgVHJ1ZQotICAgICAi IiIKLS0tIAotY2dpdCB2MS4wLTEtZ2Q4OGUKLQotCi1Gcm9tIGNiYzkwMmE3OWZmOWVjMDFkNGQ0 ZWI5YTc2N2ExYzY2MWZiNWRkYTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbnRv bmlvIFJvamFzIDxhcm9qYXNAYXJjaGxpbnV4Lm9yZz4KLURhdGU6IEZyaSwgMzAgU2VwIDIwMjIg MTk6MTc6NDIgKzAyMDAKLVN1YmplY3Q6IEFkYXB0IHRlc3QgdG8gbmV3IGlzX3RyYW5zaXRpdmUg YW5kIGlzX3ByaW1pdGl2ZSBiZWhhdmlvcgotCi0tLS0KLSBzcmMvc2FnZS9ncm91cHMvcGVybV9n cHMvcGVybWdyb3VwLnB5IHwgMjIgKysrKysrKysrKysrKysrKy0tLS0tLQotIDEgZmlsZSBjaGFu Z2VkLCAxNiBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3Jj L3NhZ2UvZ3JvdXBzL3Blcm1fZ3BzL3Blcm1ncm91cC5weSBiL3NyYy9zYWdlL2dyb3Vwcy9wZXJt X2dwcy9wZXJtZ3JvdXAucHkKLWluZGV4IDM0YmEwY2MuLjU4MzJiOTggMTAwNjQ0Ci0tLS0gYS9z cmMvc2FnZS9ncm91cHMvcGVybV9ncHMvcGVybWdyb3VwLnB5Ci0rKysgYi9zcmMvc2FnZS9ncm91 cHMvcGVybV9ncHMvcGVybWdyb3VwLnB5Ci1AQCAtNDM1OSwxNyArNDM1OSwyMyBAQCBjbGFzcyBQ ZXJtdXRhdGlvbkdyb3VwX2dlbmVyaWMoRmluaXRlR3JvdXApOgotIAotICAgICAgICAgOjoKLSAK LS0gICAgICAgICAgICBzYWdlOiBHID0gUGVybXV0YXRpb25Hcm91cChbWygxLDIsMyw0LDUpXSxb KDEsMildXSkgI1NfNSBvbiBbMS4uNV0KLS0gICAgICAgICAgICBzYWdlOiBHLmlzX3RyYW5zaXRp dmUoWzEsNCw1XSkKLSsgICAgICAgICAgICBzYWdlOiBHID0gUGVybXV0YXRpb25Hcm91cChbWygx LDIsMyw0LDUpXSxbKDEsMildLFsoNiw3KV1dKQotKyAgICAgICAgICAgIHNhZ2U6IEcuaXNfdHJh bnNpdGl2ZShbMSwyLDMsNCw1XSkKLSAgICAgICAgICAgICBUcnVlCi0tICAgICAgICAgICAgc2Fn ZTogRy5pc190cmFuc2l0aXZlKFsyLi42XSkKLSsgICAgICAgICAgICBzYWdlOiBHLmlzX3RyYW5z aXRpdmUoWzEuLjddKQotICAgICAgICAgICAgIEZhbHNlCi0gICAgICAgICAgICAgc2FnZTogRy5p c190cmFuc2l0aXZlKEcubm9uX2ZpeGVkX3BvaW50cygpKQotLSAgICAgICAgICAgIFRydWUKLSsg ICAgICAgICAgICBGYWxzZQotICAgICAgICAgICAgIHNhZ2U6IEggPSBQZXJtdXRhdGlvbkdyb3Vw KFtbKDEsMiwzKV0sWyg0LDUsNildXSkKLSAgICAgICAgICAgICBzYWdlOiBILmlzX3RyYW5zaXRp dmUoSC5ub25fZml4ZWRfcG9pbnRzKCkpCi0gICAgICAgICAgICAgRmFsc2UKLSAKLSsgICAgICAg IElmIGBHYCBkb2VzIG5vdCBhY3Qgb24gdGhlIGRvbWFpbiwgaXQgYWx3YXlzIHJldHVybnMgYGBG YWxzZWBgOjoKLSsKLSsgICAgICAgICAgICBzYWdlOiBHID0gUGVybXV0YXRpb25Hcm91cChbWygx LDIsMyw0LDUpXSxbKDEsMildXSkgI1NfNSBvbiBbMS4uNV0KLSsgICAgICAgICAgICBzYWdlOiBH LmlzX3RyYW5zaXRpdmUoWzEsNCw1XSkKLSsgICAgICAgICAgICBGYWxzZQotKwotICAgICAgICAg Tm90ZSB0aGF0IHRoaXMgZGlmZmVycyBmcm9tIHRoZSBkZWZpbml0aW9uIGluIEdBUCwgd2hlcmUK LSAgICAgICAgIGBgSXNUcmFuc2l0aXZlYGAgcmV0dXJucyB3aGV0aGVyIHRoZSBncm91cCBpcyB0 cmFuc2l0aXZlIG9uIHRoZQotICAgICAgICAgc2V0IG9mIHBvaW50cyBtb3ZlZCBieSB0aGUgZ3Jv dXAuCi1AQCAtNDQyNSwxMiArNDQzMSwxNiBAQCBjbGFzcyBQZXJtdXRhdGlvbkdyb3VwX2dlbmVy aWMoRmluaXRlR3JvdXApOgotICAgICAgICAgICAgIHNhZ2U6IEcgPSBQZXJtdXRhdGlvbkdyb3Vw KFtbKDEsMiwzLDQpXSxbKDIsNCldXSkKLSAgICAgICAgICAgICBzYWdlOiBHLmlzX3ByaW1pdGl2 ZShbMS4uNF0pCi0gICAgICAgICAgICAgRmFsc2UKLS0gICAgICAgICAgICBzYWdlOiBHLmlzX3By aW1pdGl2ZShbMSwyLDNdKQotLSAgICAgICAgICAgIFRydWUKLSAgICAgICAgICAgICBzYWdlOiBH ID0gUGVybXV0YXRpb25Hcm91cChbWygzLDQsNSw2KV0sWygzLDQpXV0pICNTXzQgb24gWzMuLjZd Ci0gICAgICAgICAgICAgc2FnZTogRy5pc19wcmltaXRpdmUoRy5ub25fZml4ZWRfcG9pbnRzKCkp Ci0gICAgICAgICAgICAgVHJ1ZQotIAotKyAgICAgICAgSWYgYEdgIGRvZXMgbm90IGFjdCBvbiB0 aGUgZG9tYWluLCBpdCBhbHdheXMgcmV0dXJucyBgYEZhbHNlYGA6OgotKwotKyAgICAgICAgICAg IHNhZ2U6IEcgPSBQZXJtdXRhdGlvbkdyb3VwKFtbKDEsMiwzLDQpXSxbKDIsNCldXSkKLSsgICAg ICAgICAgICBzYWdlOiBHLmlzX3ByaW1pdGl2ZShbMSwyLDNdKQotKyAgICAgICAgICAgIEZhbHNl Ci0rCi0gICAgICAgICAiIiIKLSAgICAgICAgICNJZiB0aGUgZG9tYWluIGlzIG5vdCBhIHN1YnNl dCBvZiBzZWxmLmRvbWFpbigpLCB0aGVuIHRoZQotICAgICAgICAgI2FjdGlvbiBpc24ndCBwcmlt aXRpdmUuCi0tLSAKLWNnaXQgdjEuMC0xLWdkODhlCi0KLQotRnJvbSA4MGRkNmIzMzgyMzZmMTcw ZWZjYTFmYzM1NDVkZjE4Y2U4ZDg3OTVjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTog QW50b25pbyBSb2phcyA8YXJvamFzQGFyY2hsaW51eC5vcmc+Ci1EYXRlOiBGcmksIDMwIFNlcCAy MDIyIDE5OjE4OjA2ICswMjAwCi1TdWJqZWN0OiBNYXJrIHRlc3QgYXMgcmFuZG9tLiBXaXRoIGdh cCA0LjEyIG9uIHg4Nl82NCBpdCBpcyBubyBsb25nZXIgMgotCi0tLS0KLSBzcmMvc2FnZS9ncm91 cHMvcGVybV9ncHMvcGVybWdyb3VwLnB5IHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2Vy dGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3NhZ2UvZ3JvdXBzL3Bl cm1fZ3BzL3Blcm1ncm91cC5weSBiL3NyYy9zYWdlL2dyb3Vwcy9wZXJtX2dwcy9wZXJtZ3JvdXAu cHkKLWluZGV4IDU4MzJiOTguLmMxMjMwYTMgMTAwNjQ0Ci0tLS0gYS9zcmMvc2FnZS9ncm91cHMv cGVybV9ncHMvcGVybWdyb3VwLnB5Ci0rKysgYi9zcmMvc2FnZS9ncm91cHMvcGVybV9ncHMvcGVy bWdyb3VwLnB5Ci1AQCAtMTI4Nyw3ICsxMjg3LDcgQEAgY2xhc3MgUGVybXV0YXRpb25Hcm91cF9n ZW5lcmljKEZpbml0ZUdyb3VwKToKLSAgICAgICAgICAgICBzYWdlOiBHLmdlbnNfc21hbGwoKSAj IHJhbmRvbQotICAgICAgICAgICAgIFsoJ2InLCdjJyksICgnYScsJ2MnLCdiJyldICMjIChvbiA2 NC1iaXQgTGludXgpCi0gICAgICAgICAgICAgWygnYScsJ2InKSwgKCdhJywnYycsJ2InKV0gIyMg KG9uIFNvbGFyaXMpCi0tICAgICAgICAgICAgc2FnZTogbGVuKEcuZ2Vuc19zbWFsbCgpKSA9PSAy Ci0rICAgICAgICAgICAgc2FnZTogbGVuKEcuZ2Vuc19zbWFsbCgpKSA9PSAyICMgcmFuZG9tCi0g ICAgICAgICAgICAgVHJ1ZQotICAgICAgICAgIiIiCi0gICAgICAgICBnZW5zID0gc2VsZi5fbGli Z2FwXygpLlNtYWxsR2VuZXJhdGluZ1NldCgpCi0tLSAKLWNnaXQgdjEuMC0xLWdkODhlCi0KLQot RnJvbSBhNmMyOTNkNjdjZmNkZjhmYmE3YmM2YWE3ODk5ZTIwODZkNDJjYzdlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQotRnJvbTogQW50b25pbyBSb2phcyA8YXJvamFzQGFyY2hsaW51eC5vcmc+ Ci1EYXRlOiBGcmksIDMwIFNlcCAyMDIyIDE5OjE4OjMwICswMjAwCi1TdWJqZWN0OiBSZW1vdmUg dGVzdCB0aGF0IGlzIG5vdyByZWR1bmRhbnQsIGFsbCBzZWVkcyBnaXZlIHRoZSBzYW1lIGFuc3dl cgotCi0tLS0KLSBzcmMvc2FnZS9ncm91cHMvbWF0cml4X2dwcy9maW5pdGVseV9nZW5lcmF0ZWQu cHkgfCAzIC0tLQotIDEgZmlsZSBjaGFuZ2VkLCAzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0 IGEvc3JjL3NhZ2UvZ3JvdXBzL21hdHJpeF9ncHMvZmluaXRlbHlfZ2VuZXJhdGVkLnB5IGIvc3Jj L3NhZ2UvZ3JvdXBzL21hdHJpeF9ncHMvZmluaXRlbHlfZ2VuZXJhdGVkLnB5Ci1pbmRleCBhNmQz ZGMwLi42Mzk1NmFkIDEwMDY0NAotLS0tIGEvc3JjL3NhZ2UvZ3JvdXBzL21hdHJpeF9ncHMvZmlu aXRlbHlfZ2VuZXJhdGVkLnB5Ci0rKysgYi9zcmMvc2FnZS9ncm91cHMvbWF0cml4X2dwcy9maW5p dGVseV9nZW5lcmF0ZWQucHkKLUBAIC01NjMsOSArNTYzLDYgQEAgY2xhc3MgRmluaXRlbHlHZW5l cmF0ZWRNYXRyaXhHcm91cF9nYXAoTWF0cml4R3JvdXBfZ2FwKToKLSAgICAgICAgICAgICAyMTQ5 OTA4NDgwMAotICAgICAgICAgICAgIHNhZ2U6IFAgPSBHLmFzX3Blcm11dGF0aW9uX2dyb3VwKCkK LSAgICAgICAgICAgICBzYWdlOiBQc21hbGxlciA9IEcuYXNfcGVybXV0YXRpb25fZ3JvdXAoYWxn b3JpdGhtPSJzbWFsbGVyIiwgc2VlZD02KQotLSAgICAgICAgICAgIHNhZ2U6IFAgPT0gUHNtYWxs ZXIgICMgc2VlIHRoZSBub3RlIGJlbG93Ci0tICAgICAgICAgICAgVHJ1ZQotLSAgICAgICAgICAg IHNhZ2U6IFBzbWFsbGVyID0gRy5hc19wZXJtdXRhdGlvbl9ncm91cChhbGdvcml0aG09InNtYWxs ZXIiKQotICAgICAgICAgICAgIHNhZ2U6IFAgPT0gUHNtYWxsZXIKLSAgICAgICAgICAgICBGYWxz ZQotICAgICAgICAgICAgIHNhZ2U6IFAuY2FyZGluYWxpdHkoKQotLS0gCi1jZ2l0IHYxLjAtMS1n ZDg4ZQotCmRpZmYgLS1naXQgYS9zcmNwa2dzL3NhZ2VtYXRoL3BhdGNoZXMvdHJhYy0zNDQ2NS1m aXhfaW52YWxpZF9lc2NhcGVfc2VxdWVuY2UtMDQ5NzEzMThmMDMyY2FmOGRjMWMwZGU5NDg5MzQ2 ZDg5NDQwOTA5MS5wYXRjaCBiL3NyY3BrZ3Mvc2FnZW1hdGgvcGF0Y2hlcy90cmFjLTM0NDY1LWZp eF9pbnZhbGlkX2VzY2FwZV9zZXF1ZW5jZS0wNDk3MTMxOGYwMzJjYWY4ZGMxYzBkZTk0ODkzNDZk ODk0NDA5MDkxLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ZmVkY2I3OGNm NzEuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3NhZ2VtYXRoL3BhdGNoZXMvdHJhYy0zNDQ2 NS1maXhfaW52YWxpZF9lc2NhcGVfc2VxdWVuY2UtMDQ5NzEzMThmMDMyY2FmOGRjMWMwZGU5NDg5 MzQ2ZDg5NDQwOTA5MS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLWNvbW1p dCAwNDk3MTMxOGYwMzJjYWY4ZGMxYzBkZTk0ODkzNDZkODk0NDA5MDkxCi1BdXRob3I6IEpvaG4g SC4gUGFsbWllcmkgPGpocGFsbWllcmk2NEBnbWFpbC5jb20+Ci1EYXRlOiAgIFdlZCBBdWcgMzEg MTQ6MjI6MjYgMjAyMiAtMDcwMAotCi0gICAgdHJhYyAzNDQ2NTogZml4IGludmFsaWQgZXNjYXBl IHNlcXVlbmNlIGluIGZ1bmN0aW9ucy9zcGVjaWFsLnB5Ci0KLWRpZmYgLS1naXQgYS9zcmMvc2Fn ZS9mdW5jdGlvbnMvc3BlY2lhbC5weSBiL3NyYy9zYWdlL2Z1bmN0aW9ucy9zcGVjaWFsLnB5Ci1p bmRleCAwMjU5NmU0OTYyMC4uOTAxZjAyZjliZWUgMTAwNjQ0Ci0tLS0gYS9zcmMvc2FnZS9mdW5j dGlvbnMvc3BlY2lhbC5weQotKysrIGIvc3JjL3NhZ2UvZnVuY3Rpb25zL3NwZWNpYWwucHkKLUBA IC04NDksNyArODQ5LDcgQEAgY2xhc3MgRWxsaXB0aWNGKEJ1aWx0aW5GdW5jdGlvbik6Ci0gICAg IC0gOndpa2lwZWRpYTpgRWxsaXB0aWNfaW50ZWdyYWwjSW5jb21wbGV0ZV9lbGxpcHRpY19pbnRl Z3JhbF9vZl90aGVfZmlyc3Rfa2luZGAKLSAgICAgIiIiCi0gICAgIGRlZiBfX2luaXRfXyhzZWxm KToKLS0gICAgICAgICIiIgotKyAgICAgICAgciIiIgotICAgICAgICAgRVhBTVBMRVM6OgotIAot ICAgICAgICAgICAgIHNhZ2U6IGxvYWRzKGR1bXBzKGVsbGlwdGljX2YpKQpkaWZmIC0tZ2l0IGEv c3JjcGtncy9zYWdlbWF0aC9wYXRjaGVzL3RyYWMtMzQ1Mzctc2FnZW1hdGgtcGFyaS0yLjE1LnBh dGNoIGIvc3JjcGtncy9zYWdlbWF0aC9wYXRjaGVzL3RyYWMtMzQ1Mzctc2FnZW1hdGgtcGFyaS0y LjE1LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjY2FmYWQ1MDcwYzQuLjAw MDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3NhZ2VtYXRoL3BhdGNoZXMvdHJhYy0zNDUzNy1zYWdl bWF0aC1wYXJpLTIuMTUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNzUwICswLDAgQEAKLWRp ZmYgLS1naXQgYS9idWlsZC9wa2dzL2dpYWMvcGF0Y2hlcy9wYXJpXzJfMTUucGF0Y2ggYi9idWls ZC9wa2dzL2dpYWMvcGF0Y2hlcy9wYXJpXzJfMTUucGF0Y2gKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0 Ci1pbmRleCAwMDAwMDAwMDAwLi5kMjkwMGE1ZmZjCi0tLS0gL2Rldi9udWxsCi0rKysgYi9idWls ZC9wa2dzL2dpYWMvcGF0Y2hlcy9wYXJpXzJfMTUucGF0Y2gKLUBAIC0wLDAgKzEsMjEgQEAKLStB TllBUkcgcGF0Y2gKLSsKLStkaWZmIC0tZ2l0IGEvc3JjL3BhcmkuY2MgYi9zcmMvcGFyaS5jYwot K2luZGV4IDc2Y2U4ZTEuLjUwZDA4YWIgMTAwNjQ0Ci0rLS0tIGEvc3JjL3BhcmkuY2MKLSsrKysg Yi9zcmMvcGFyaS5jYwotK0BAIC00MCw2ICs0MCwxMyBAQCB1c2luZyBuYW1lc3BhY2Ugc3RkOwot KyAKLSsgI2lmZGVmIEhBVkVfTElCUEFSSQotKyAKLSsrLy8gQW55YXJnIGRpc2FwcGVhcmVkIGZy b20gUEFSSSAyLjE1LjAKLSsrI2lmZGVmIF9fY3BsdXNwbHVzCi0rKyMgIGRlZmluZSBBTllBUkcg Li4uCi0rKyNlbHNlCi0rKyMgIGRlZmluZSBBTllBUkcKLSsrI2VuZGlmCi0rKwotKyAjaWZkZWYg SEFWRV9QVEhSRUFEX0gKLSsgI2luY2x1ZGUgPHB0aHJlYWQuaD4KLSsgI2VuZGlmCi0rCi1kaWZm IC0tZ2l0IGEvYnVpbGQvcGtncy9wYXJpL2NoZWNrc3Vtcy5pbmkgYi9idWlsZC9wa2dzL3Bhcmkv Y2hlY2tzdW1zLmluaQotaW5kZXggYjczNmZlZWQzMS4uYmFmZDBmMzZmNCAxMDA2NDQKLS0tLSBh L2J1aWxkL3BrZ3MvcGFyaS9jaGVja3N1bXMuaW5pCi0rKysgYi9idWlsZC9wa2dzL3BhcmkvY2hl Y2tzdW1zLmluaQotQEAgLTEsNSArMSw1IEBACi0gdGFyYmFsbD1wYXJpLVZFUlNJT04udGFyLmd6 Ci0tc2hhMT1lMDE2NDdhYWI3ZTk2YThjYjQ5MjJjZjI2YTRmMjI0MzM3YzY2NDdmCi0tbWQ1PTky MmY3NDBmY2RmODYzMGIzMGQ2M2RjNzZiNThmNzU2Ci0tY2tzdW09Mjk3MTMzNTI1Ci0rc2hhMT1j YmE5YjI3OWY2N2Q1ZWZlMmZiYmNjZjNiZTZlOTcyNWY4MTZjZjA3Ci0rbWQ1PTc2ZDQzMGYxYmVh MWIwN2ZhMmFkOTcxMmRlZWFhNzM2Ci0rY2tzdW09MTk5MDc0Mzg5NwotIHVwc3RyZWFtX3VybD1o dHRwczovL3BhcmkubWF0aC51LWJvcmRlYXV4LmZyL3B1Yi9wYXJpL3VuaXgvcGFyaS1WRVJTSU9O LnRhci5negotZGlmZiAtLWdpdCBhL2J1aWxkL3BrZ3MvcGFyaS9wYWNrYWdlLXZlcnNpb24udHh0 IGIvYnVpbGQvcGtncy9wYXJpL3BhY2thZ2UtdmVyc2lvbi50eHQKLWluZGV4IGExYTQyMjRkZDUu LjY4ZTY5ZTQwNWUgMTAwNjQ0Ci0tLS0gYS9idWlsZC9wa2dzL3BhcmkvcGFja2FnZS12ZXJzaW9u LnR4dAotKysrIGIvYnVpbGQvcGtncy9wYXJpL3BhY2thZ2UtdmVyc2lvbi50eHQKLUBAIC0xICsx IEBACi0tMi4xMy4zCi0rMi4xNS4wCi1kaWZmIC0tZ2l0IGEvc3JjL2RvYy9kZS90dXRvcmlhbC90 b3VyX251bXRoZW9yeS5yc3QgYi9zcmMvZG9jL2RlL3R1dG9yaWFsL3RvdXJfbnVtdGhlb3J5LnJz dAotaW5kZXggYTAxMjIzNGM5OS4uZTMxNDlmZTk0OSAxMDA2NDQKLS0tLSBhL3NyYy9kb2MvZGUv dHV0b3JpYWwvdG91cl9udW10aGVvcnkucnN0Ci0rKysgYi9zcmMvZG9jL2RlL3R1dG9yaWFsL3Rv dXJfbnVtdGhlb3J5LnJzdAotQEAgLTE1Nyw3ICsxNTcsNyBAQCBpbXBsZW1lbnRpZXJ0LgotICAg ICBVbml2YXJpYXRlIFF1b3RpZW50IFBvbHlub21pYWwgUmluZyBpbiBhIG92ZXIgUmF0aW9uYWwg RmllbGQgd2l0aCBtb2R1bHVzCi0gICAgIHheMyArIHheMiAtIDIqeCArIDgKLSAgICAgc2FnZTog Sy51bml0cygpCi0tICAgICgzKmFeMiArIDEzKmEgKyAxMywpCi0rICAgICgtMyphXjIgLSAxMyph IC0gMTMsKQotICAgICBzYWdlOiBLLmRpc2NyaW1pbmFudCgpCi0gICAgIC01MDMKLSAgICAgc2Fn ZTogSy5jbGFzc19ncm91cCgpCi1kaWZmIC0tZ2l0IGEvc3JjL2RvYy9lbi90dXRvcmlhbC90b3Vy X251bXRoZW9yeS5yc3QgYi9zcmMvZG9jL2VuL3R1dG9yaWFsL3RvdXJfbnVtdGhlb3J5LnJzdAot aW5kZXggMzA2NGQxMDBlMi4uMDc1ZTBhYzBhZCAxMDA2NDQKLS0tLSBhL3NyYy9kb2MvZW4vdHV0 b3JpYWwvdG91cl9udW10aGVvcnkucnN0Ci0rKysgYi9zcmMvZG9jL2VuL3R1dG9yaWFsL3RvdXJf bnVtdGhlb3J5LnJzdAotQEAgLTE1Nyw3ICsxNTcsNyBAQCBOdW1iZXJGaWVsZCBjbGFzcy4KLSAg ICAgVW5pdmFyaWF0ZSBRdW90aWVudCBQb2x5bm9taWFsIFJpbmcgaW4gYSBvdmVyIFJhdGlvbmFs IEZpZWxkIHdpdGggbW9kdWx1cwotICAgICB4XjMgKyB4XjIgLSAyKnggKyA4Ci0gICAgIHNhZ2U6 IEsudW5pdHMoKQotLSAgICAoMyphXjIgKyAxMyphICsgMTMsKQotKyAgICAoLTMqYV4yIC0gMTMq YSAtIDEzLCkKLSAgICAgc2FnZTogSy5kaXNjcmltaW5hbnQoKQotICAgICAtNTAzCi0gICAgIHNh Z2U6IEsuY2xhc3NfZ3JvdXAoKQotZGlmZiAtLWdpdCBhL3NyYy9kb2MvZXMvdHV0b3JpYWwvdG91 cl9udW10aGVvcnkucnN0IGIvc3JjL2RvYy9lcy90dXRvcmlhbC90b3VyX251bXRoZW9yeS5yc3QK LWluZGV4IGExZjdkMWE4N2IuLjQ4ZTUzNzZjZmUgMTAwNjQ0Ci0tLS0gYS9zcmMvZG9jL2VzL3R1 dG9yaWFsL3RvdXJfbnVtdGhlb3J5LnJzdAotKysrIGIvc3JjL2RvYy9lcy90dXRvcmlhbC90b3Vy X251bXRoZW9yeS5yc3QKLUBAIC0xNDAsNyArMTQwLDcgQEAgVmFyaW9zIG3DqXRvZG9zIHJlbGFj aW9uYWRvcyBlc3TDoW4gaW1wbGVtZW50YWRvcyBlbiBsYSBjbGFzZSBgYE51bWJlckZpZWxkYGA6 OgotICAgICBVbml2YXJpYXRlIFF1b3RpZW50IFBvbHlub21pYWwgUmluZyBpbiBhIG92ZXIgUmF0 aW9uYWwgRmllbGQgd2l0aCBtb2R1bHVzCi0gICAgIHheMyArIHheMiAtIDIqeCArIDgKLSAgICAg c2FnZTogSy51bml0cygpCi0tICAgICgzKmFeMiArIDEzKmEgKyAxMywpCi0rICAgICgtMyphXjIg LSAxMyphIC0gMTMsKQotICAgICBzYWdlOiBLLmRpc2NyaW1pbmFudCgpCi0gICAgIC01MDMKLSAg ICAgc2FnZTogSy5jbGFzc19ncm91cCgpCi1kaWZmIC0tZ2l0IGEvc3JjL2RvYy9mci90dXRvcmlh bC90b3VyX251bXRoZW9yeS5yc3QgYi9zcmMvZG9jL2ZyL3R1dG9yaWFsL3RvdXJfbnVtdGhlb3J5 LnJzdAotaW5kZXggODcxMDkyZjVmYS4uZDFiMmZlZTg4MyAxMDA2NDQKLS0tLSBhL3NyYy9kb2Mv ZnIvdHV0b3JpYWwvdG91cl9udW10aGVvcnkucnN0Ci0rKysgYi9zcmMvZG9jL2ZyL3R1dG9yaWFs L3RvdXJfbnVtdGhlb3J5LnJzdAotQEAgLTE1OSw3ICsxNTksNyBAQCBkYW5zIGxhIGNsYXNzZSBO dW1iZXJGaWVsZC4KLSAgICAgVW5pdmFyaWF0ZSBRdW90aWVudCBQb2x5bm9taWFsIFJpbmcgaW4g YSBvdmVyIFJhdGlvbmFsIEZpZWxkIHdpdGggbW9kdWx1cwotICAgICB4XjMgKyB4XjIgLSAyKngg KyA4Ci0gICAgIHNhZ2U6IEsudW5pdHMoKQotLSAgICAoMyphXjIgKyAxMyphICsgMTMsKQotKyAg ICAoLTMqYV4yIC0gMTMqYSAtIDEzLCkKLSAgICAgc2FnZTogSy5kaXNjcmltaW5hbnQoKQotICAg ICAtNTAzCi0gICAgIHNhZ2U6IEsuY2xhc3NfZ3JvdXAoKQotZGlmZiAtLWdpdCBhL3NyYy9kb2Mv amEvdHV0b3JpYWwvdG91cl9udW10aGVvcnkucnN0IGIvc3JjL2RvYy9qYS90dXRvcmlhbC90b3Vy X251bXRoZW9yeS5yc3QKLWluZGV4IDQ3YWY2OGM4NjIuLjRkNGVkNTJkNTAgMTAwNjQ0Ci0tLS0g YS9zcmMvZG9jL2phL3R1dG9yaWFsL3RvdXJfbnVtdGhlb3J5LnJzdAotKysrIGIvc3JjL2RvYy9q YS90dXRvcmlhbC90b3VyX251bXRoZW9yeS5yc3QKLUBAIC0xNjEsNyArMTYxLDcgQEAgU2FnZeOB q+OBryA6bWF0aDpgcGAgXC3pgLLmlbDkvZPjgoLntYTovrzjgb7jgozjgabjgYTjgovvvI4KLSAg ICAgVW5pdmFyaWF0ZSBRdW90aWVudCBQb2x5bm9taWFsIFJpbmcgaW4gYSBvdmVyIFJhdGlvbmFs IEZpZWxkIHdpdGggbW9kdWx1cwotICAgICB4XjMgKyB4XjIgLSAyKnggKyA4Ci0gICAgIHNhZ2U6 IEsudW5pdHMoKQotLSAgICAoMyphXjIgKyAxMyphICsgMTMsKQotKyAgICAoLTMqYV4yIC0gMTMq YSAtIDEzLCkKLSAgICAgc2FnZTogSy5kaXNjcmltaW5hbnQoKQotICAgICAtNTAzCi0gICAgIHNh Z2U6IEsuY2xhc3NfZ3JvdXAoKQotZGlmZiAtLWdpdCBhL3NyYy9kb2MvcHQvdHV0b3JpYWwvdG91 cl9udW10aGVvcnkucnN0IGIvc3JjL2RvYy9wdC90dXRvcmlhbC90b3VyX251bXRoZW9yeS5yc3QK LWluZGV4IDYzNzFiNDkxZWEuLmEzZGM5NzNhOTMgMTAwNjQ0Ci0tLS0gYS9zcmMvZG9jL3B0L3R1 dG9yaWFsL3RvdXJfbnVtdGhlb3J5LnJzdAotKysrIGIvc3JjL2RvYy9wdC90dXRvcmlhbC90b3Vy X251bXRoZW9yeS5yc3QKLUBAIC0xNTcsNyArMTU3LDcgQEAgTnVtYmVyRmllbGQuCi0gICAgIFVu aXZhcmlhdGUgUXVvdGllbnQgUG9seW5vbWlhbCBSaW5nIGluIGEgb3ZlciBSYXRpb25hbCBGaWVs ZCB3aXRoIG1vZHVsdXMgCi0gICAgIHheMyArIHheMiAtIDIqeCArIDgKLSAgICAgc2FnZTogSy51 bml0cygpCi0tICAgICgzKmFeMiArIDEzKmEgKyAxMywpCi0rICAgICgtMyphXjIgLSAxMyphIC0g MTMsKQotICAgICBzYWdlOiBLLmRpc2NyaW1pbmFudCgpCi0gICAgIC01MDMKLSAgICAgc2FnZTog Sy5jbGFzc19ncm91cCgpCi1kaWZmIC0tZ2l0IGEvc3JjL2RvYy9ydS90dXRvcmlhbC90b3VyX251 bXRoZW9yeS5yc3QgYi9zcmMvZG9jL3J1L3R1dG9yaWFsL3RvdXJfbnVtdGhlb3J5LnJzdAotaW5k ZXggNjUyYWJmYmM5OS4uYTk4NWQ0OWZiZCAxMDA2NDQKLS0tLSBhL3NyYy9kb2MvcnUvdHV0b3Jp YWwvdG91cl9udW10aGVvcnkucnN0Ci0rKysgYi9zcmMvZG9jL3J1L3R1dG9yaWFsL3RvdXJfbnVt dGhlb3J5LnJzdAotQEAgLTE1MCw3ICsxNTAsNyBAQCBTYWdlINGB0L7QtNC10YDQttC40YIg0YHR gtCw0L3QtNCw0YDRgtC90YvQtSDRhNGD0L3QutGG0LjQuCDRgtC10L7RgNC40Lgg0YfQuNGBCi0g ICAgIFVuaXZhcmlhdGUgUXVvdGllbnQgUG9seW5vbWlhbCBSaW5nIGluIGEgb3ZlciBSYXRpb25h bCBGaWVsZCB3aXRoIG1vZHVsdXMKLSAgICAgeF4zICsgeF4yIC0gMip4ICsgOAotICAgICBzYWdl OiBLLnVuaXRzKCkKLS0gICAgKDMqYV4yICsgMTMqYSArIDEzLCkKLSsgICAgKC0zKmFeMiAtIDEz KmEgLSAxMywpCi0gICAgIHNhZ2U6IEsuZGlzY3JpbWluYW50KCkKLSAgICAgLTUwMwotICAgICBz YWdlOiBLLmNsYXNzX2dyb3VwKCkKLWRpZmYgLS1naXQgYS9zcmMvc2FnZS9hcml0aC9taXNjLnB5 IGIvc3JjL3NhZ2UvYXJpdGgvbWlzYy5weQotaW5kZXggZTU3MDc2NjQ2Zi4uZmVjNzVkMDdjMSAx MDA2NDQKLS0tLSBhL3NyYy9zYWdlL2FyaXRoL21pc2MucHkKLSsrKyBiL3NyYy9zYWdlL2FyaXRo L21pc2MucHkKLUBAIC0xNDY1LDEzICsxNDY1LDEzIEBAIGRlZiBkaXZpc29ycyhuKToKLSAKLSAg ICAgICAgIHNhZ2U6IEsuPGE+ID0gUXVhZHJhdGljRmllbGQoNykKLSAgICAgICAgIHNhZ2U6IGRp dmlzb3JzKEsuaWRlYWwoNykpCi0tICAgICAgICBbRnJhY3Rpb25hbCBpZGVhbCAoMSksIEZyYWN0 aW9uYWwgaWRlYWwgKC1hKSwgRnJhY3Rpb25hbCBpZGVhbCAoNyldCi0rICAgICAgICBbRnJhY3Rp b25hbCBpZGVhbCAoMSksIEZyYWN0aW9uYWwgaWRlYWwgKGEpLCBGcmFjdGlvbmFsIGlkZWFsICg3 KV0KLSAgICAgICAgIHNhZ2U6IGRpdmlzb3JzKEsuaWRlYWwoMykpCi0gICAgICAgICBbRnJhY3Rp b25hbCBpZGVhbCAoMSksIEZyYWN0aW9uYWwgaWRlYWwgKDMpLAotLSAgICAgICAgRnJhY3Rpb25h bCBpZGVhbCAoLWEgKyAyKSwgRnJhY3Rpb25hbCBpZGVhbCAoLWEgLSAyKV0KLSsgICAgICAgIEZy YWN0aW9uYWwgaWRlYWwgKGEgLSAyKSwgRnJhY3Rpb25hbCBpZGVhbCAoYSArIDIpXQotICAgICAg ICAgc2FnZTogZGl2aXNvcnMoSy5pZGVhbCgzNSkpCi0tICAgICAgICBbRnJhY3Rpb25hbCBpZGVh bCAoMSksIEZyYWN0aW9uYWwgaWRlYWwgKDUpLCBGcmFjdGlvbmFsIGlkZWFsICgtYSksCi0tICAg ICAgICBGcmFjdGlvbmFsIGlkZWFsICg3KSwgRnJhY3Rpb25hbCBpZGVhbCAoLTUqYSksIEZyYWN0 aW9uYWwgaWRlYWwgKDM1KV0KLSsgICAgICAgIFtGcmFjdGlvbmFsIGlkZWFsICgxKSwgRnJhY3Rp b25hbCBpZGVhbCAoNSksIEZyYWN0aW9uYWwgaWRlYWwgKGEpLAotKyAgICAgICAgRnJhY3Rpb25h bCBpZGVhbCAoNyksIEZyYWN0aW9uYWwgaWRlYWwgKDUqYSksIEZyYWN0aW9uYWwgaWRlYWwgKDM1 KV0KLSAKLSAgICAgVEVTVFM6OgotIAotQEAgLTI1NjksNyArMjU2OSw3IEBAIGRlZiBmYWN0b3Io biwgcHJvb2Y9Tm9uZSwgaW50Xz1GYWxzZSwgYWxnb3JpdGhtPSdwYXJpJywgdmVyYm9zZT0wLCAq Kmt3ZHMpOgotIAotICAgICAgICAgc2FnZTogSy48aT4gPSBRdWFkcmF0aWNGaWVsZCgtMSkKLSAg ICAgICAgIHNhZ2U6IGZhY3RvcigxMjIgLSA0NTQqaSkKLS0gICAgICAgICgtMyppIC0gMikgKiAo LWkgLSAyKV4zICogKGkgKyAxKV4zICogKGkgKyA0KQotKyAgICAgICAgKC1pKSAqICgtaSAtIDIp XjMgKiAoaSArIDEpXjMgKiAoLTIqaSArIDMpICogKGkgKyA0KQotIAotICAgICBUbyBhY2Nlc3Mg dGhlIGRhdGEgaW4gYSBmYWN0b3JpemF0aW9uOjoKLSAKLWRpZmYgLS1naXQgYS9zcmMvc2FnZS9k eW5hbWljcy9hcml0aG1ldGljX2R5bmFtaWNzL3Byb2plY3RpdmVfZHMucHkgYi9zcmMvc2FnZS9k eW5hbWljcy9hcml0aG1ldGljX2R5bmFtaWNzL3Byb2plY3RpdmVfZHMucHkKLWluZGV4IGNkZmMx MWE5ZTUuLmI2ZTEyODBkNmUgMTAwNjQ0Ci0tLS0gYS9zcmMvc2FnZS9keW5hbWljcy9hcml0aG1l dGljX2R5bmFtaWNzL3Byb2plY3RpdmVfZHMucHkKLSsrKyBiL3NyYy9zYWdlL2R5bmFtaWNzL2Fy aXRobWV0aWNfZHluYW1pY3MvcHJvamVjdGl2ZV9kcy5weQotQEAgLTc4MjUsOSArNzgyNSw5IEBA IGNsYXNzIER5bmFtaWNhbFN5c3RlbV9wcm9qZWN0aXZlX2ZpZWxkKER5bmFtaWNhbFN5c3RlbV9w cm9qZWN0aXZlLAotICAgICAgICAgICAgIHNhZ2U6IGYgPSBEeW5hbWljYWxTeXN0ZW1fcHJvamVj dGl2ZShbeF4yICsgUVFiYXIoc3FydCgzKSkqeV4yLCB5XjIsIFFRYmFyKHNxcnQoMikpKnpeMl0p Ci0gICAgICAgICAgICAgc2FnZTogZi5yZWR1Y2VfYmFzZV9maWVsZCgpCi0gICAgICAgICAgICAg RHluYW1pY2FsIFN5c3RlbSBvZiBQcm9qZWN0aXZlIFNwYWNlIG9mIGRpbWVuc2lvbiAyIG92ZXIg TnVtYmVyIEZpZWxkIGluIGEgd2l0aAotLSAgICAgICAgICAgIGRlZmluaW5nIHBvbHlub21pYWwg eV40IC0gNCp5XjIgKyAxIHdpdGggYSA9IDEuOTMxODUxNjUyNTc4MTM3PwotKyAgICAgICAgICAg IGRlZmluaW5nIHBvbHlub21pYWwgeV40IC0gNCp5XjIgKyAxIHdpdGggYSA9IC0wLjUxNzYzODA5 MDIwNTA0MTU/Ci0gICAgICAgICAgICAgICBEZWZuOiBEZWZpbmVkIG9uIGNvb3JkaW5hdGVzIGJ5 IHNlbmRpbmcgKHggOiB5IDogeikgdG8KLS0gICAgICAgICAgICAgICAgICAgICh4XjIgKyAoYV4y IC0gMikqeV4yIDogeV4yIDogKGFeMyAtIDMqYSkqel4yKQotKyAgICAgICAgICAgICAgICAgICAg KHheMiArICgtYV4yICsgMikqeV4yIDogeV4yIDogKGFeMyAtIDMqYSkqel4yKQotIAotICAgICAg ICAgOjoKLSAKLWRpZmYgLS1naXQgYS9zcmMvc2FnZS9leHRfZGF0YS9wYXJpL3NpbW9uL2VsbFEu Z3AgYi9zcmMvc2FnZS9leHRfZGF0YS9wYXJpL3NpbW9uL2VsbFEuZ3AKLWluZGV4IDQyMGFmOGY2 YTIuLjY1ZTgzODY3NzkgMTAwNjQ0Ci0tLS0gYS9zcmMvc2FnZS9leHRfZGF0YS9wYXJpL3NpbW9u L2VsbFEuZ3AKLSsrKyBiL3NyYy9zYWdlL2V4dF9kYXRhL3Bhcmkvc2ltb24vZWxsUS5ncAotQEAg LTQwLDcgKzQwLDcgQEAKLSAgIGdwID4gXHIgZWxsY29tbW9uLmdwCi0gICBncCA+IFxyIGVsbFEu Z3AKLSAKLS0gIFRoZSBtYWluIGZ1bmN0aW9uIGlzIGVsbHJhbmsoKSwgd2hpY2ggdGFrZXMgYXMg YW4gYXJndW1lbnQKLSsgIFRoZSBtYWluIGZ1bmN0aW9uIGlzIGVsbFFfZWxscmFuaygpLCB3aGlj aCB0YWtlcyBhcyBhbiBhcmd1bWVudAotICAgYW55IGVsbGlwdGljIGN1cnZlIGluIHRoZSBmb3Jt IFthMSxhMixhMyxhNCxhNl0KLSAgIHRoZSByZXN1bHQgaXMgYSB2ZWN0b3IgW3Iscyx2XSwgd2hl cmUKLSAgICAgciBpcyBhIGxvd2VyIGJvdW5kIGZvciB0aGUgcmFuaywKLUBAIC01MCw3ICs1MCw3 IEBACi0gICBFeGFtcGxlOgotIAotICAgZ3AgPiBlbGwgPSBbMSwyLDMsNCw1XTsKLS0gIGdwID4g ZWxscmFuayhlbGwpCi0rICBncCA+IGVsbFFfZWxscmFuayhlbGwpCi0gICAlMSA9IFsxLCAxLCBb WzEsMl1dCi0gICBJbiB0aGlzIGV4YW1wbGUsIHRoZSByYW5rIGlzIGV4YWN0bHkgMSwgYW5kIFsx LDJdIGhhcyBpbmZpbml0ZSBvcmRlci4KLSAKLUBAIC05Miw3ICs5Miw3IEBACi0gICBcXFxcXFxc XFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcCi0gCi0gICBFeHBsaWNhdGlv bnMgc3VjY2ludGVzIDoKLS0gIExhIGZvbmN0aW9uIGVsbHJhbmsoKSBhY2NlcHRlIHRvdXRlcyBs ZXMgY291cmJlcyBzb3VzIGxhIGZvcm1lCi0rICBMYSBmb25jdGlvbiBlbGxRX2VsbHJhbmsoKSBh Y2NlcHRlIHRvdXRlcyBsZXMgY291cmJlcyBzb3VzIGxhIGZvcm1lCi0gICBbYTEsYTIsYTMsYTQs YTZdCi0gICBMZXMgY29lZmZpY2llbnRzIHBldXZlbnQgZXRyZSBlbnRpZXJzIG91IG5vbi4KLSAg IEwnYWxnb3JpdGhtZSB1dGlsaXNlIGVzdCBjZWx1aSBkZSBsYSAyLWRlc2NlbnRlLgotQEAgLTEw MCw3ICsxMDAsNyBAQAotICAgSWwgc3VmZml0IGRlIHRhcGVyIDogCi0gCi0gICBncCA+IGVsbCA9 IFthMSxhMixhMyxhNCxhNl07Ci0tICBncCA+IGVsbHJhbmsoZWxsKQotKyAgZ3AgPiBlbGxRX2Vs bHJhbmsoZWxsKQotIAotICAgUmV0b3VybmUgdW4gdmVjdGV1ciBbcixzLHZdIG91Ci0gICAgIHIg ZXN0IGxlIHJhbmcgcHJvYmFibGUgKGMnZXN0IHRvdWpvdXJzIHVuZSBtaW5vcmF0aW9uIGR1IHJh bmcpLAotQEAgLTExMCw3ICsxMTAsNyBAQAotICAgRXhlbXBsZSA6Ci0gCi0gICBncCA+IGVsbCA9 IFsxLDIsMyw0LDVdOwotLSAgZ3AgPiBlbGxyYW5rKGVsbCkKLSsgIGdwID4gZWxsUV9lbGxyYW5r KGVsbCkKLSAgICUxID0gWzEsIDEsIFtbMSwyXV0KLSAgIEljaSwgbGUgcmFuZyBlc3QgZXhhY3Rl bWVudCAxLCBldCBsZSBwb2ludCBbMSwyXSBlc3QgZCdvcmRyZSBpbmZpbmkuCi0gCi1AQCAtMTU3 MSwxMiArMTU3MSwxMiBAQCBpZiggREVCVUdMRVZFTF9lbGwgPj0gNCwgcHJpbnQoIiAgICBlbmQg b2YgZWxsMmRlc2NlbnRfZ2VuIikpOwotICAgICBwcmludCgicmFuayhFL1EpICAgID49ICIsbTEp Ci0gICApOwotIH0KLS17ZWxscmFuayhlbGwsaGVscD1bXSkgPQotK3tlbGxRX2VsbHJhbmsoZWxs LGhlbHA9W10pID0KLSBcXCBBbGdvcml0aG0gb2YgMi1kZXNjZW50IG9uIHRoZSBlbGxpcHRpYyBj dXJ2ZSBlbGwuCi0gXFwgaGVscCBpcyBhIGxpc3Qgb2Yga25vd24gcG9pbnRzIG9uIGVsbC4KLSBt eSh1cnN0LHVyc3QxLGRlbixlcWVsbCx0b3JzMixibmYscmFuZyx0aW1lMSk7Ci0gCi0taWYoIERF QlVHTEVWRUxfZWxsID49IDMsIHByaW50KCIgICBzdGFydGluZyBlbGxyYW5rIikpOwotK2lmKCBE RUJVR0xFVkVMX2VsbCA+PSAzLCBwcmludCgiICAgc3RhcnRpbmcgZWxsUV9lbGxyYW5rIikpOwot ICAgaWYoICNlbGwgPCAxMywgZWxsID0gZWxsaW5pdChlbGwpKTsKLSAKLSBcXCBraWxsIHRoZSBj b2VmZmljaWVudHMgYTEgYW5kIGEzCi1AQCAtMTYzMCw3ICsxNjMwLDcgQEAgaWYoIERFQlVHTEVW RUxfZWxsID49IDEsIHByaW50KCIgRWxsaXB0aWMgY3VydmU6IFleMiA9ICIsZXFlbGwpKTsKLSAg ICkpOwotIAotICAgcmFuZ1szXSA9IGVsbGNoYW5nZXBvaW50KHJhbmdbM10sZWxsaW52ZXJ0dXJz dCh1cnN0KSk7Ci0taWYoIERFQlVHTEVWRUxfZWxsID49IDMsIHByaW50KCIgICBlbmQgb2YgZWxs cmFuayIpKTsKLStpZiggREVCVUdMRVZFTF9lbGwgPj0gMywgcHJpbnQoIiAgIGVuZCBvZiBlbGxR X2VsbHJhbmsiKSk7Ci0gCi0gICByZXR1cm4ocmFuZyk7Ci0gfQotQEAgLTIxMDYsMTMgKzIxMDYs MTMgQEAgaWYoIERFQlVHTEVWRUxfZWxsID49IDMsIHByaW50KCIgICBlbmQgb2YgZWxsMmRlc2Nl bnRfdmlhaXNvZyIpKTsKLSB7Ci0gXFwgICAgICAgICAgICAgICAgICBmdW5jdGlvbnMgZm9yIGVs bGlwdGljIGN1cnZlcwotICAgYWRkaGVscChlbGwyZGVzY2VudF9jb21wbGV0ZSwKLS0gICAgImVs bDJkZXNjZW50X2NvbXBsZXRlKGUxLGUyLGUzKTogUGVyZm9ybXMgYSBjb21wbGV0ZSAyLWRlc2Nl bnQgb24gdGhlIGVsbGlwdGljIGN1cnZlIHleMiA9ICh4LWUxKSooeC1lMikqKHgtZTMpLiBTZWUg P2VsbHJhbmsgZm9yIHRoZSBmb3JtYXQgb2YgdGhlIG91dHB1dC4iKTsKLSsgICAgImVsbDJkZXNj ZW50X2NvbXBsZXRlKGUxLGUyLGUzKTogUGVyZm9ybXMgYSBjb21wbGV0ZSAyLWRlc2NlbnQgb24g dGhlIGVsbGlwdGljIGN1cnZlIHleMiA9ICh4LWUxKSooeC1lMikqKHgtZTMpLiBTZWUgP2VsbFFf ZWxscmFuayBmb3IgdGhlIGZvcm1hdCBvZiB0aGUgb3V0cHV0LiIpOwotICAgYWRkaGVscChlbGwy ZGVzY2VudF9nZW4sCi0tICAgICJlbGwyZGVzY2VudF9nZW4oKEUsYm5mLGs9MSxoZWxwPVtdKTog RSBpcyBhIHZlY3RvciBvZiB0aGUgZm9ybSBbMCxBLDAsQixDXSwgKG9yIHRoZSByZXN1bHQgb2Yg ZWxsaW5pdCBvZiBzdWNoIGEgdmVjdG9yKSBBLEIsQyBpbnRlZ2VycyBzdWNoIHRoYXQgeF4zK0Eq eF4yK0IqeCtDOyBibmYgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYm5maW5pdCgsMSk7IFBlcmZvcm1z IDItZGVzY2VudCBvbiB0aGUgZWxsaXB0aWMgY3VydmUgRWs6IGsqeV4yPXheMytBKnheMitCKngr Qy4gU2VlID9lbGxyYW5rIGZvciB0aGUgZm9ybWF0IG9mIHRoZSBvdXRwdXQuIik7Ci0rICAgICJl bGwyZGVzY2VudF9nZW4oKEUsYm5mLGs9MSxoZWxwPVtdKTogRSBpcyBhIHZlY3RvciBvZiB0aGUg Zm9ybSBbMCxBLDAsQixDXSwgKG9yIHRoZSByZXN1bHQgb2YgZWxsaW5pdCBvZiBzdWNoIGEgdmVj dG9yKSBBLEIsQyBpbnRlZ2VycyBzdWNoIHRoYXQgeF4zK0EqeF4yK0IqeCtDOyBibmYgaXMgdGhl IGNvcnJlc3BvbmRpbmcgYm5maW5pdCgsMSk7IFBlcmZvcm1zIDItZGVzY2VudCBvbiB0aGUgZWxs aXB0aWMgY3VydmUgRWs6IGsqeV4yPXheMytBKnheMitCKngrQy4gU2VlID9lbGxRX2VsbHJhbmsg Zm9yIHRoZSBmb3JtYXQgb2YgdGhlIG91dHB1dC4iKTsKLSAgIGFkZGhlbHAoZWxsMmRlc2NlbnRf dmlhaXNvZywKLS0gICAgImVsbDJkZXNjZW50X3ZpYWlzb2coRSxoZWxwPVtdKTogRSBpcyBhbiBl bGxpcHRpYyBjdXJ2ZSBvZiB0aGUgZm9ybSBbMCxhLDAsYiwwXSwgd2l0aCBhLCBiIGludGVnZXJz LiBQZXJmb3JtcyBhIDItZGVzY2VudCB2aWEgaXNvZ2VueSBvbiBFLiBTZWUgP2VsbHJhbmsgZm9y IHRoZSBmb3JtYXQgb2YgdGhlIG91dHB1dC4iKTsKLS0gIGFkZGhlbHAoZWxscmFuaywKLS0gICAg ImVsbHJhbmsoRSxoZWxwPVtdKTogRSBpcyBhbnkgZWxsaXB0aWMgY3VydmUgZGVmaW5lZCBvdmVy IFEuIFJldHVybnMgYSB2ZWN0b3IgW3Iscyx2XSwgd2hlcmUgciBpcyBhIGxvd2VyIGJvdW5kIGZv ciB0aGUgcmFuayBvZiBFLCBzIGlzIHRoZSByYW5rIG9mIGl0cyAyLVNlbG1lciBncm91cCBhbmQg diBpcyBhIGxpc3Qgb2YgaW5kZXBlbmRhbnQgcG9pbnRzIGluIEUoUSkvMkUoUSkuIElmIGhlbHAg aXMgYSB2ZWN0b3Igb2Ygbm9udHJpdmlhbCBwb2ludHMgb24gRSwgdGhlIHJlc3VsdCBtaWdodCBi ZSBmYXN0ZXIuIFRoaXMgZnVuY3Rpb24gbWlnaHQgYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRo IGVsbHRvcnMyKEUpLiBTZWUgYWxzbyA/ZGVmYXVsdF9lbGxRIik7Ci0rICAgICJlbGwyZGVzY2Vu dF92aWFpc29nKEUsaGVscD1bXSk6IEUgaXMgYW4gZWxsaXB0aWMgY3VydmUgb2YgdGhlIGZvcm0g WzAsYSwwLGIsMF0sIHdpdGggYSwgYiBpbnRlZ2Vycy4gUGVyZm9ybXMgYSAyLWRlc2NlbnQgdmlh IGlzb2dlbnkgb24gRS4gU2VlID9lbGxRX2VsbHJhbmsgZm9yIHRoZSBmb3JtYXQgb2YgdGhlIG91 dHB1dC4iKTsKLSsgIGFkZGhlbHAoZWxsUV9lbGxyYW5rLAotKyAgICAiZWxsUV9lbGxyYW5rKEUs aGVscD1bXSk6IEUgaXMgYW55IGVsbGlwdGljIGN1cnZlIGRlZmluZWQgb3ZlciBRLiBSZXR1cm5z IGEgdmVjdG9yIFtyLHMsdl0sIHdoZXJlIHIgaXMgYSBsb3dlciBib3VuZCBmb3IgdGhlIHJhbmsg b2YgRSwgcyBpcyB0aGUgcmFuayBvZiBpdHMgMi1TZWxtZXIgZ3JvdXAgYW5kIHYgaXMgYSBsaXN0 IG9mIGluZGVwZW5kYW50IHBvaW50cyBpbiBFKFEpLzJFKFEpLiBJZiBoZWxwIGlzIGEgdmVjdG9y IG9mIG5vbnRyaXZpYWwgcG9pbnRzIG9uIEUsIHRoZSByZXN1bHQgbWlnaHQgYmUgZmFzdGVyLiBU aGlzIGZ1bmN0aW9uIG1pZ2h0IGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBlbGx0b3JzMihF KS4gU2VlIGFsc28gP2RlZmF1bHRfZWxsUSIpOwotICAgYWRkaGVscChlbGxoYWxmLAotICAgICAi ZWxsaGFsZihFLFApOiByZXR1cm5zIHRoZSB2ZWN0b3Igb2YgYWxsIHBvaW50cyBRIG9uIHRoZSBl bGxpcHRpYyBjdXJ2ZSBFIHN1Y2ggdGhhdCAyUSA9IFAiKTsKLSAgIGFkZGhlbHAoZWxscmVkZ2Vu LAotQEAgLTIxNDMsNyArMjE0Myw3IEBAIGlmKCBERUJVR0xFVkVMX2VsbCA+PSAzLCBwcmludCgi ICAgZW5kIG9mIGVsbDJkZXNjZW50X3ZpYWlzb2ciKSk7Ci0gCi0gXFwgICAgICAgICAgICAgICAg ICBvdGhlcnMKLSAgIGFkZGhlbHAoZGVmYXVsdF9lbGxRLAotLSAgICAiZGVmYXVsdF9lbGxRKERF QlVHTEVWRUxfZWxsLCBMSU0xLCBMSU0zLCBMSU1UUklWLCBFTExSRURHRU5GTEFHLCBDT01QTEVU RSwgTUFYUFJPQiwgTElNQklHUFJJTUUpOiBzZXQgdGhlIHZhbHVlIG9mIHRoZSBnbG9iYWwgdmFy aWFibGVzIHVzZWQgZm9yIGVsbHJhbmsoKSBhbmQgb3RoZXIgcmVsYXRlZCBmdW5jdGlvbnMuIERF QlVHTEVWRUxfZWxsOiAwLTU6IGNob29zZSB0aGUgcXVhbnRpdHkgb2YgaW5mb3JtYXRpb24gcHJp bnRlZCBkdXJpbmcgdGhlIGNvbXB1dGF0aW9uIChkZWZhdWx0PTA6IHByaW50IG5vdGhpbmcpOyBM SU0xIChyZXNwIExJTTMpOiBzZWFyY2ggbGltaXQgZm9yIGVhc3kgKHJlc3AgaGFyZCkgcG9pbnRz IG9uIHF1YXJ0aWNzOyBMSU1UUklWOiBzZWFyY2ggbGltaXQgZm9yIHRyaXZpYWwgcG9pbnRzIG9u IGVsbGlwdGljIGN1cnZlczsgRUxMUkVER0VORkxBRzogaWYgIT0gMCwgdHJ5IHRvIHJlZHVjZSB0 aGUgZ2VuZXJhdG9ycyBhdCB0aGUgZW5kOyBDT01QTEVURTogaWYgIT0gMCBhbmQgZnVsbCAyLXRv cnNpb24sIHVzZSBjb21wbGV0ZSAyLWRlc2NlbnQsIG90aGVyd2lzZSB2aWEgMi1pc29nZW55OyBN QVhQUk9CLCBMSU1CSUdQUklNRTogdGVjaG5pY2FsLiIpOwotKyAgICAiZGVmYXVsdF9lbGxRKERF QlVHTEVWRUxfZWxsLCBMSU0xLCBMSU0zLCBMSU1UUklWLCBFTExSRURHRU5GTEFHLCBDT01QTEVU RSwgTUFYUFJPQiwgTElNQklHUFJJTUUpOiBzZXQgdGhlIHZhbHVlIG9mIHRoZSBnbG9iYWwgdmFy aWFibGVzIHVzZWQgZm9yIGVsbFFfZWxscmFuaygpIGFuZCBvdGhlciByZWxhdGVkIGZ1bmN0aW9u cy4gREVCVUdMRVZFTF9lbGw6IDAtNTogY2hvb3NlIHRoZSBxdWFudGl0eSBvZiBpbmZvcm1hdGlv biBwcmludGVkIGR1cmluZyB0aGUgY29tcHV0YXRpb24gKGRlZmF1bHQ9MDogcHJpbnQgbm90aGlu Zyk7IExJTTEgKHJlc3AgTElNMyk6IHNlYXJjaCBsaW1pdCBmb3IgZWFzeSAocmVzcCBoYXJkKSBw b2ludHMgb24gcXVhcnRpY3M7IExJTVRSSVY6IHNlYXJjaCBsaW1pdCBmb3IgdHJpdmlhbCBwb2lu dHMgb24gZWxsaXB0aWMgY3VydmVzOyBFTExSRURHRU5GTEFHOiBpZiAhPSAwLCB0cnkgdG8gcmVk dWNlIHRoZSBnZW5lcmF0b3JzIGF0IHRoZSBlbmQ7IENPTVBMRVRFOiBpZiAhPSAwIGFuZCBmdWxs IDItdG9yc2lvbiwgdXNlIGNvbXBsZXRlIDItZGVzY2VudCwgb3RoZXJ3aXNlIHZpYSAyLWlzb2dl bnk7IE1BWFBST0IsIExJTUJJR1BSSU1FOiB0ZWNobmljYWwuIik7Ci0gLyogIGFkZGhlbHAoREVC VUdMRVZFTF9lbGwsCi0gICAgICJERUJVR0xFVkVMX2VsbDogQ2hvb3NlIGEgaGlnaGVyIHZhbHVl IG9mIHRoaXMgZ2xvYmFsIHZhcmlhYmxlIHRvIGhhdmUgbW9yZSBkZXRhaWxzIG9mIHRoZSBjb21w dXRhdGlvbnMgcHJpbnRlZCBkdXJpbmcgdGhlIDItZGVzY2VudCBhbGdvcml0aG0uIDAgPSBkb24n dCBwcmludCBhbnl0aGluZzsgMSA9IChkZWZhdWx0KSBqdXN0IHByaW50IHRoZSByZXN1bHQ7IDIg PSBwcmludCBtb3JlIGRldGFpbHMgaW5jbHVkaW5nIHRoZSBTZWxtZXIgZ3JvdXAgYW5kIHRoZSBu b250cml2aWFsIHF1YXJ0aWNzLiIpOwotICovCi1kaWZmIC0tZ2l0IGEvc3JjL3NhZ2UvZXh0X2Rh dGEvcGFyaS9zaW1vbi9xZnNvbHZlLmdwIGIvc3JjL3NhZ2UvZXh0X2RhdGEvcGFyaS9zaW1vbi9x ZnNvbHZlLmdwCi1pbmRleCA1MDFmYjUwODI4Li4yMTA3Mjg4YzFkIDEwMDY0NAotLS0tIGEvc3Jj L3NhZ2UvZXh0X2RhdGEvcGFyaS9zaW1vbi9xZnNvbHZlLmdwCi0rKysgYi9zcmMvc2FnZS9leHRf ZGF0YS9wYXJpL3NpbW9uL3Fmc29sdmUuZ3AKLUBAIC00MzQsMTQ2ICs0MzQsNiBAQCBteShjYyk7 Ci0gcmV0dXJuKFtVM34qRzMqVTMscmVkWzJdKlUxKlUyKlUzXSk7Ci0gfQotIAotLVxcIFxcXFxc XFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFwKLS1cXCAgICAgICAgUVVB RFJBVElDIEZPUk1TIE1JTklNSVpBVElPTiAgICAgICAgIFxcCi0tXFwgXFxcXFxcXFxcXFxcXFxc XFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXAotLQotLVxcIE1pbmltaXphdGlvbiBvZiB0 aGUgcXVhZHJhdGljIGZvcm0gRywgd2l0aCBub256ZXJvIGRldGVybWluYW50LgotLVxcIG9mIGRp bWVuc2lvbiBuPj0yLgotLVxcIEcgbXVzdCBieSBzeW1tZXRyaWMgYW5kIGhhdmUgaW50ZWdyYWwg Y29lZmZpY2llbnRzLgotLVxcIFJldHVybnMgW0cnLFUsZmFjdGRdIHdpdGggVSBpbiBHTG4oUSkg c3VjaCB0aGF0IEcnPVV+KkcqVSpjb25zdGFudAotLVxcIGlzIGludGVncmFsIGFuZCBoYXMgbWlu aW1hbCBkZXRlcm1pbmFudC4KLS1cXCBJbiBkaW1lbnNpb24gMyBvciA0LCBtYXkgcmV0dXJuIGEg cHJpbWUgcAotLVxcIGlmIHRoZSByZWR1Y3Rpb24gYXQgcCBpcyBpbXBvc3NpYmxlIGJlY2F1c2Ug b2YgdGhlIGxvY2FsIG5vbiBzb2x2YWJpbGl0eS4KLS1cXCBJZiBnaXZlbiwgZmFjdGRldEcgbXVz dCBiZSBlcXVhbCB0byBmYWN0b3IoYWJzKGRldChHKSkpLgotLXtxZm1pbmltaXplKEcsZmFjdGRl dEcpID0KLS1teShmYWN0ZCxVLEtlcixLZXIyLHNvbCxhdXgsZGkpOwotLW15KHApOwotLW15KG4s bGYsaSx2cCxkaW1LZXIsZGltS2VyMixtKTsKLS0KLS0gIG4gPSBsZW5ndGgoRyk7Ci0tICBmYWN0 ZCA9IG1hdHJpeCgwLDIpOwotLSAgaWYoICFmYWN0ZGV0RywgZmFjdGRldEcgPSBmYWN0b3IobWF0 ZGV0KEcpKSk7Ci0tCi0tICBsZiA9IGxlbmd0aChmYWN0ZGV0R1ssMV0pOwotLSAgaSA9IDE7IFUg PSBtYXRpZChuKTsKLS0KLS0gIHdoaWxlKGkgPD0gbGYsCi0tICAgIHZwID0gZmFjdGRldEdbaSwy XTsKLS0gICAgaWYoIHZwID09IDAsIGkrKzsgbmV4dCk7Ci0tICAgIHAgPSBmYWN0ZGV0R1tpLDFd OwotLSAgICBpZiggcCA9PSAtMSwgaSsrOyBuZXh0KTsKLS1pZiggREVCVUdMRVZFTF9xZnNvbHZl ID49IDQsIHByaW50KCIgICAgcCA9ICIscCwiXiIsdnApKTsKLS0KLS1cXCBUaGUgY2FzZSB2cCA9 IDEgY2FuIGJlIG1pbmltaXplZCBvbmx5IGlmIG4gaXMgb2RkLgotLSAgICBpZiggdnAgPT0gMSAm JiBuJTIgPT0gMCwKLS0gICAgICBmYWN0ZCA9IGNvbmNhdChmYWN0ZH4sIE1hdChbcCwxXSl+KX47 Ci0tICAgICAgaSsrOyBuZXh0Ci0tICAgICk7Ci0tICAgIEtlciA9IGtlcm1vZHAoRyxwKTsgZGlt S2VyID0gS2VyWzFdOyBLZXIgPSBLZXJbMl07Ci0tCi0tXFwgUmVtOiB3ZSBtdXN0IGhhdmUgZGlt S2VyIDw9IHZwCi0taWYoIERFQlVHTEVWRUxfcWZzb2x2ZSA+PSA0LCBwcmludCgiICAgIGRpbUtl ciA9ICIsZGltS2VyKSk7Ci0tXFwgdHJpdmlhbCBjYXNlOiBkaW1LZXIgPSBuCi0tICAgIGlmKCBk aW1LZXIgPT0gbiwgCi0taWYoIERFQlVHTEVWRUxfcWZzb2x2ZSA+PSA0LCBwcmludCgiICAgICBj YXNlIDA6IGRpbUtlciA9IG4iKSk7Ci0tICAgICAgRyAvPSBwOwotLSAgICAgIGZhY3RkZXRHW2ks Ml0gLT0gbjsKLS0gICAgICBuZXh0Ci0tICAgICk7Ci0tICAgIEcgPSBLZXJ+KkcqS2VyOwotLSAg ICBVID0gVSpLZXI7Ci0tCi0tXFwgMXN0IGNhc2U6IGRpbUtlciA8IHZwCi0tXFwgdGhlbiB0aGUg a2VybmVsIG1vZCBwIGNvbnRhaW5zIGEga2VybmVsIG1vZCBwXjIKLS0gICAgaWYoIGRpbUtlciA8 IHZwLAotLWlmKCBERUJVR0xFVkVMX3Fmc29sdmUgPj0gNCwgcHJpbnQoIiAgICBjYXNlIDE6IGRp bWtlciA8IHZwIikpOwotLSAgICAgIGlmKCBkaW1LZXIgPT0gMSwKLS1cXCAgICAgICAgR1ssMV0g Lz0gcDsgR1sxLF0gLz0gcDsKLS0gICAgICAgIEdbLDFdIC89IHA7IEdbMSxdID0gR1sxLF0vcDsK LS0gICAgICAgIFVbLDFdIC89IHA7Ci0tICAgICAgICBmYWN0ZGV0R1tpLDJdIC09IDIKLS0gICAg ICAsIAotLSAgICAgICAgS2VyMiA9IGtlcm1vZHAobWF0cml4KGRpbUtlcixkaW1LZXIsaixrLEdb aixrXS9wKSxwKTsKLS0gICAgICAgIGRpbUtlcjIgPSBLZXIyWzFdOyBLZXIyID0gS2VyMlsyXTsK LS0gICAgICAgIGZvciggaiA9IDEsIGRpbUtlcjIsIEtlcjJbLGpdIC89IHApOwotLSAgICAgICAg S2VyMiA9IG1hdGRpYWdvbmFsYmxvY2soW0tlcjIsbWF0aWQobi1kaW1LZXIpXSk7Ci0tICAgICAg ICBHID0gS2VyMn4qRypLZXIyOwotLSAgICAgICAgVSA9IFUqS2VyMjsKLS0gICAgICAgIGZhY3Rk ZXRHW2ksMl0gLT0gMipkaW1LZXIyCi0tKTsKLS0KLS1pZiggREVCVUdMRVZFTF9xZnNvbHZlID49 IDQsIHByaW50KCIgICAgZW5kIG9mIGNhc2UgMSIpKTsKLS0gICAgICBuZXh0Ci0tICAgICk7Ci0t Ci0tXFwgTm93LCB3ZSBoYXZlIHZwID0gZGltS2VyIAotLVxcIDJuZCBjYXNlOiB0aGUgZGltZW5z aW9uIG9mIHRoZSBrZXJuZWwgaXMgPj0yCi0tXFwgYW5kIGNvbnRhaW5zIGFuIGVsZW1lbnQgb2Yg bm9ybSAwIG1vZCBwXjIKLS0KLS1cXCBzZWFyY2ggZm9yIGFuIGVsZW1lbnQgb2Ygbm9ybSBwXjIu Li4gaW4gdGhlIGtlcm5lbAotLSAgICBpZiggZGltS2VyID4gMiB8fCAKLS0gICAgICAgKGRpbUtl ciA9PSAyICYmIGlzc3F1YXJlKCBkaSA9IE1vZCgoR1sxLDJdXjItR1sxLDFdKkdbMiwyXSkvcF4y LHApKSksCi0tICAgICAgaWYoIGRpbUtlciA+IDIsCi0taWYoIERFQlVHTEVWRUxfcWZzb2x2ZSA+ PSA0LCBwcmludCgiICAgIGNhc2UgMi4xIikpOwotLSAgICAgICAgZGltS2VyID0gMzsKLS0gICAg ICAgIHNvbCA9IHFmc29sdmVtb2RwKG1hdHJpeCgzLDMsaixrLEdbaixrXS9wKSxwKQotLSAgICAg ICwKLS1pZiggREVCVUdMRVZFTF9xZnNvbHZlID49IDQsIHByaW50KCIgICAgY2FzZSAyLjIiKSk7 Ci0tICAgICAgICBpZiggR1sxLDFdJXBeMiA9PSAwLCAKLS0gICAgICAgICAgc29sID0gWzEsMF1+ Ci0tICAgICAgICAsIHNvbCA9IFstR1sxLDJdL3Arc3FydChkaSksTW9kKEdbMSwxXS9wLHApXX4K LS0gICAgICAgICkKLS0gICAgICApOwotLSAgICAgIHNvbCA9IGNlbnRlcmxpZnQoc29sKTsKLS0g ICAgICBzb2wgLz0gY29udGVudChzb2wpOwotLWlmKCBERUJVR0xFVkVMX3Fmc29sdmUgPj0gNCwg cHJpbnQoIiAgICBzb2wgPSAiLHNvbCkpOwotLSAgICAgIEtlciA9IHZlY3RvcnYobiwgaiwgaWYo IGo8PSBkaW1LZXIsIHNvbFtqXSwgMCkpOyBcXCBmaWxsIHdpdGggMCdzCi0tICAgICAgS2VyID0g Y29tcGxldGViYXNpcyhLZXIsMSk7Ci0tICAgICAgS2VyWyxuXSAvPSBwOwotLSAgICAgIEcgPSBL ZXJ+KkcqS2VyOwotLSAgICAgIFUgPSBVKktlcjsKLS0gICAgICBmYWN0ZGV0R1tpLDJdIC09IDI7 Ci0taWYoIERFQlVHTEVWRUxfcWZzb2x2ZSA+PSA0LCBwcmludCgiICAgIGVuZCBvZiBjYXNlIDIi KSk7Ci0tICAgICAgbmV4dAotLSAgICApOwotLQotLVxcIE5vdywgd2UgaGF2ZSB2cCA9IGRpbUtl ciA8PSAyIAotLVxcICAgYW5kIHRoZSBrZXJuZWwgY29udGFpbnMgbm8gdmVjdG9yIHdpdGggbm9y bSBwXjIuLi4KLS0KLS1cXCBJbiBzb21lIGNhc2VzLCBleGNoYW5naW5nIHRoZSBrZXJuZWwgYW5k IHRoZSBpbWFnZQotLVxcIG1ha2VzIHRoZSBtaW5pbWl6YXRpb24gZWFzeS4KLS0KLS0gICAgbSA9 IChuLTEpXDItMTsKLS0gICAgaWYoICggdnAgPT0gMSAmJiBpc3NxdWFyZShNb2QoLSgtMSlebSpt YXRkZXQoRykvR1sxLDFdLHApKSkKLS0gICAgIHx8ICggdnAgPT0gMiAmJiBuJTIgPT0gMSAmJiBu ID49IDUpCi0tICAgICB8fCAoIHZwID09IDIgJiYgbiUyID09IDAgJiYgIWlzc3F1YXJlKE1vZCgo LTEpXm0qbWF0ZGV0KEcpL3BeMixwKSkpCi0tICAgICwgCi0taWYoIERFQlVHTEVWRUxfcWZzb2x2 ZSA+PSA0LCBwcmludCgiICAgIGNhc2UgMyIpKTsKLS0gICAgICBLZXIgPSBtYXRpZChuKTsKLS0g ICAgICBmb3IoIGogPSBkaW1LZXIrMSwgbiwgS2VyW2osal0gPSBwKTsKLS0gICAgICBHID0gS2Vy fipHKktlci9wOwotLSAgICAgIFUgPSBVKktlcjsKLS0gICAgICBmYWN0ZGV0R1tpLDJdIC09IDIq ZGltS2VyLW47Ci0taWYoIERFQlVHTEVWRUxfcWZzb2x2ZSA+PSA0LCBwcmludCgiICAgIGVuZCBv ZiBjYXNlIDMiKSk7Ci0tICAgICAgbmV4dAotLSAgICApOwotLQotLVxcIE1pbmltaXphdGlvbiB3 YXMgbm90IHBvc3NpYmxlIHNlIGZhci4KLS1cXCBJZiBuID09IDMgb3IgNCwgdGhpcyBwcm92ZXMg dGhlIGxvY2FsIG5vbi1zb2x1YmlsaXR5IGF0IHAuCi0tICAgIGlmKCBuID09IDMgfHwgbiA9PSA0 LCAKLS1pZiggREVCVUdMRVZFTF9xZnNvbHZlID49IDEsIHByaW50KCIgbm8gbG9jYWwgc29sdXRp b24gYXQgIixwKSk7Ci0tICAgICAgcmV0dXJuKHApKTsKLS0KLS1pZiggREVCVUdMRVZFTF9xZnNv bHZlID49IDQsIHByaW50KCIgICAgcHJpbWUgIixwLCIgZmluaXNoZWQiKSk7Ci0tICAgIGZhY3Rk ID0gY29uY2F0KGZhY3RkfixNYXQoW3AsdnBdKX4pfjsKLS0gICAgaSsrCi0tICApOwotLVxcIGFw cGx5IExMTCB0byBhdm9pZCBjb2VmZmljaWVudHMgZXhwbG9zaW9uCi0tICBhdXggPSBxZmxsbChV L2NvbnRlbnQoVSkpOwotLXJldHVybihbYXV4fipHKmF1eCxVKmF1eCxmYWN0ZF0pOwotLX0KLS0K LSBcXCBcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcCi0gXFwg ICAgICAgICAgQ0xBU1MgR1JPVVAgQ09NUFVUQVRJT05TICAgICAgICAgICBcXAotIFxcIFxcXFxc XFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFwKLWRpZmYgLS1naXQgYS9z cmMvc2FnZS9nZW9tZXRyeS9wb2x5aGVkcm9uL2JhY2tlbmRfZmllbGQucHkgYi9zcmMvc2FnZS9n ZW9tZXRyeS9wb2x5aGVkcm9uL2JhY2tlbmRfZmllbGQucHkKLWluZGV4IDZiOTIxZDIzYTYuLjJm MzJjNThiMWUgMTAwNjQ0Ci0tLS0gYS9zcmMvc2FnZS9nZW9tZXRyeS9wb2x5aGVkcm9uL2JhY2tl bmRfZmllbGQucHkKLSsrKyBiL3NyYy9zYWdlL2dlb21ldHJ5L3BvbHloZWRyb24vYmFja2VuZF9m aWVsZC5weQotQEAgLTI2NSw3ICsyNjUsNyBAQCBjbGFzcyBQb2x5aGVkcm9uX2ZpZWxkKFBvbHlo ZWRyb25fYmFzZSk6Ci0gICAgICAgICAgICAgIEFuIGluZXF1YWxpdHkgKC0wLjE0MTk3OTQzNTk1 MjAyNjM/LCAtMS42OTgxNzI0MzQyNzcxNDg/KSB4ICsgMS4yMDA3ODkyNDM5MDE0Mzg/ID49IDAs Ci0gICAgICAgICAgICAgIEFuIGluZXF1YWxpdHkgKDAuMzAwMTk3MzEwOTc1MzU5ND8sIDAuNjAw Mzk0NjIxOTUwNzE5PykgeCAtIDAuNDI0NTQzMTA4NTY5Mjg2OT8gPj0gMCkKLSAgICAgICAgICAg ICBzYWdlOiBwLlZyZXByZXNlbnRhdGlvbigpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICMgb3B0aW9uYWwgLSBzYWdlLnJpbmdzLm51bWJlcl9maWVsZAotLSAgICAg ICAgICAgIChBIHZlcnRleCBhdCAoMC4/ZS0xNSwgMC43MDcxMDY3ODExODY1NDg/KSwKLSsgICAg ICAgICAgICAoQSB2ZXJ0ZXggYXQgKDAuP2UtMTYsIDAuNzA3MTA2NzgxMTg2NTQ3NT8pLAotICAg ICAgICAgICAgICBBIHZlcnRleCBhdCAoMS40MTQyMTM1NjIzNzMwOTU/LCAwKSwKLSAgICAgICAg ICAgICAgQSB2ZXJ0ZXggYXQgKDQuMDAwMDAwMDAwMDAwMDAwPywgMC4zNzI2Nzc5OTYyNDk5NjU/ KSkKLSAgICAgICAgICIiIgotQEAgLTMwOCw3ICszMDgsNyBAQCBjbGFzcyBQb2x5aGVkcm9uX2Zp ZWxkKFBvbHloZWRyb25fYmFzZSk6Ci0gICAgICAgICAgICAgIEFuIGluZXF1YWxpdHkgKC0wLjE0 MTk3OTQzNTk1MjAyNjM/LCAtMS42OTgxNzI0MzQyNzcxNDg/KSB4ICsgMS4yMDA3ODkyNDM5MDE0 Mzg/ID49IDAsCi0gICAgICAgICAgICAgIEFuIGluZXF1YWxpdHkgKDAuMzAwMTk3MzEwOTc1MzU5 ND8sIDAuNjAwMzk0NjIxOTUwNzE5PykgeCAtIDAuNDI0NTQzMTA4NTY5Mjg2OT8gPj0gMCkKLSAg ICAgICAgICAgICBzYWdlOiBwLlZyZXByZXNlbnRhdGlvbigpICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICMgb3B0aW9uYWwgLSBzYWdlLnJpbmdzLm51bWJlcl9maWVs ZAotLSAgICAgICAgICAgIChBIHZlcnRleCBhdCAoMC4/ZS0xNSwgMC43MDcxMDY3ODExODY1NDg/ KSwKLSsgICAgICAgICAgICAoQSB2ZXJ0ZXggYXQgKDAuP2UtMTYsIDAuNzA3MTA2NzgxMTg2NTQ3 NT8pLAotICAgICAgICAgICAgICBBIHZlcnRleCBhdCAoMS40MTQyMTM1NjIzNzMwOTU/LCAwKSwK LSAgICAgICAgICAgICAgQSB2ZXJ0ZXggYXQgKDQuMDAwMDAwMDAwMDAwMDAwPywgMC4zNzI2Nzc5 OTYyNDk5NjU/KSkKLSAgICAgICAgICIiIgotZGlmZiAtLWdpdCBhL3NyYy9zYWdlL2dlb21ldHJ5 L3BvbHloZWRyb24vYmFja2VuZF9ub3JtYWxpei5weSBiL3NyYy9zYWdlL2dlb21ldHJ5L3BvbHlo ZWRyb24vYmFja2VuZF9ub3JtYWxpei5weQotaW5kZXggODZiODk2MzJhNS4uY2E4YTQzYjI0OCAx MDA2NDQKLS0tLSBhL3NyYy9zYWdlL2dlb21ldHJ5L3BvbHloZWRyb24vYmFja2VuZF9ub3JtYWxp ei5weQotKysrIGIvc3JjL3NhZ2UvZ2VvbWV0cnkvcG9seWhlZHJvbi9iYWNrZW5kX25vcm1hbGl6 LnB5Ci1AQCAtNTMsNyArNTMsNyBAQCBkZWYgX251bWJlcl9maWVsZF9lbGVtZW50c19mcm9tX2Fs Z2VicmFpY3NfbGlzdF9vZl9saXN0c19vZl9saXN0cyhsaXN0c3MsICoqa3dkcwotICAgICAgICAg MS43MzIwNTA4MDc1Njg4Nzg/Ci0gICAgICAgICBzYWdlOiBmcm9tIHNhZ2UuZ2VvbWV0cnkucG9s eWhlZHJvbi5iYWNrZW5kX25vcm1hbGl6IGltcG9ydCBfbnVtYmVyX2ZpZWxkX2VsZW1lbnRzX2Zy b21fYWxnZWJyYWljc19saXN0X29mX2xpc3RzX29mX2xpc3RzCi0gICAgICAgICBzYWdlOiBLLCBy ZXN1bHRzLCBob20gPSBfbnVtYmVyX2ZpZWxkX2VsZW1lbnRzX2Zyb21fYWxnZWJyYWljc19saXN0 X29mX2xpc3RzX29mX2xpc3RzKFtbW3J0Ml0sIFsxXV0sIFtbcnQzXV0sIFtbMV0sIFtdXV0pOyBy ZXN1bHRzICAjIG9wdGlvbmFsIC0gc2FnZS5yaW5ncy5udW1iZXJfZmllbGQKLS0gICAgICAgIFtb Wy1hXjMgKyAzKmFdLCBbMV1dLCBbWy1hXjIgKyAyXV0sIFtbMV0sIFtdXV0KLSsgICAgICAgIFtb Wy1hXjMgKyAzKmFdLCBbMV1dLCBbW2FeMiAtIDJdXSwgW1sxXSwgW11dXQotICAgICAiIiIKLSAg ICAgZnJvbSBzYWdlLnJpbmdzLnFxYmFyIGltcG9ydCBudW1iZXJfZmllbGRfZWxlbWVudHNfZnJv bV9hbGdlYnJhaWNzCi0gICAgIG51bWJlcnMgPSBbXQotZGlmZiAtLWdpdCBhL3NyYy9zYWdlL2dy b3Vwcy9tYXRyaXhfZ3BzL2lzb21ldHJpZXMucHkgYi9zcmMvc2FnZS9ncm91cHMvbWF0cml4X2dw cy9pc29tZXRyaWVzLnB5Ci1pbmRleCBmOTExMWEyYzkyLi5jY2E0NWU3MTc1IDEwMDY0NAotLS0t IGEvc3JjL3NhZ2UvZ3JvdXBzL21hdHJpeF9ncHMvaXNvbWV0cmllcy5weQotKysrIGIvc3JjL3Nh Z2UvZ3JvdXBzL21hdHJpeF9ncHMvaXNvbWV0cmllcy5weQotQEAgLTExLDExICsxMSwxMSBAQCBF WEFNUExFUzo6Ci0gICAgIHNhZ2U6IEwgPSBJbnRlZ3JhbExhdHRpY2UoIkQ0IikKLSAgICAgc2Fn ZTogTyA9IEwub3J0aG9nb25hbF9ncm91cCgpCi0gICAgIHNhZ2U6IE8KLS0gICAgR3JvdXAgb2Yg aXNvbWV0cmllcyB3aXRoIDUgZ2VuZXJhdG9ycyAoCi0tICAgIFstMSAgMCAgMCAgMF0gIFswIDAg MCAxXSAgWy0xIC0xIC0xIC0xXSAgWyAxICAxICAwICAwXSAgWyAxICAwICAwICAwXQotLSAgICBb IDAgLTEgIDAgIDBdICBbMCAxIDAgMF0gIFsgMCAgMCAgMSAgMF0gIFsgMCAgMCAgMSAgMF0gIFst MSAtMSAtMSAtMV0KLS0gICAgWyAwICAwIC0xICAwXSAgWzAgMCAxIDBdICBbIDAgIDEgIDAgIDFd ICBbIDAgIDEgIDAgIDFdICBbIDAgIDAgIDEgIDBdCi0tICAgIFsgMCAgMCAgMCAtMV0sIFsxIDAg MCAwXSwgWyAwIC0xIC0xICAwXSwgWyAwIC0xIC0xICAwXSwgWyAwICAwICAwICAxXQotKyAgICBH cm91cCBvZiBpc29tZXRyaWVzIHdpdGggMyBnZW5lcmF0b3JzICgKLSsgICAgWzAgMCAwIDFdICBb IDEgIDEgIDAgIDBdICBbIDEgIDAgIDAgIDBdCi0rICAgIFswIDEgMCAwXSAgWyAwICAwICAxICAw XSAgWy0xIC0xIC0xIC0xXQotKyAgICBbMCAwIDEgMF0gIFsgMCAgMSAgMCAgMV0gIFsgMCAgMCAg MSAgMF0KLSsgICAgWzEgMCAwIDBdLCBbIDAgLTEgLTEgIDBdLCBbIDAgIDAgIDAgIDFdCi0gICAg ICkKLSAKLSBCYXNpYyBmdW5jdGlvbmFsaXR5IGlzIHByb3ZpZGVkIGJ5IEdBUDo6Ci1kaWZmIC0t Z2l0IGEvc3JjL3NhZ2UvaW50ZXJmYWNlcy9nZW51czJyZWR1Y3Rpb24ucHkgYi9zcmMvc2FnZS9p bnRlcmZhY2VzL2dlbnVzMnJlZHVjdGlvbi5weQotaW5kZXggNTZhZTA0YjIzNS4uN2E0Nzk0ZGFm MiAxMDA2NDQKLS0tLSBhL3NyYy9zYWdlL2ludGVyZmFjZXMvZ2VudXMycmVkdWN0aW9uLnB5Ci0r KysgYi9zcmMvc2FnZS9pbnRlcmZhY2VzL2dlbnVzMnJlZHVjdGlvbi5weQotQEAgLTE0MywzMSAr MTQzLDMxIEBAIGNsYXNzIFJlZHVjdGlvbkRhdGEoU2FnZU9iamVjdCk6Ci0gICAgICAgIHN1ciB1 biBjb3JwcyBkZSB2YWx1YXRpb24gZGlzY3LDqHRlIiwgVHJhbnMuIEFNUyAzNDggKDE5OTYpLAot ICAgICAgICA0NTc3LTQ2MTAsIFNlY3Rpb24gNy4yLCBQcm9wb3NpdGlvbiA0KS4KLSAgICAgIiIi Ci0tICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwYXJpX3Jlc3VsdCwgUCwgUSwgbWluaW1hbF9lcXVh dGlvbiwgbWluaW1hbF9kaXNjLAotLSAgICAgICAgICAgICAgICAgbG9jYWxfZGF0YSwgY29uZHVj dG9yLCBwcmltZV90b18yX2NvbmR1Y3Rvcl9vbmx5KToKLSsgICAgZGVmIF9faW5pdF9fKHNlbGYs IHBhcmlfcmVzdWx0LCBQLCBRLCBQbWluLCBRbWluLCBtaW5pbWFsX2Rpc2MsCi0rICAgICAgICAg ICAgICAgICBsb2NhbF9kYXRhLCBjb25kdWN0b3IpOgotICAgICAgICAgc2VsZi5wYXJpX3Jlc3Vs dCA9IHBhcmlfcmVzdWx0Ci0gICAgICAgICBzZWxmLlAgPSBQCi0gICAgICAgICBzZWxmLlEgPSBR Ci0tICAgICAgICBzZWxmLm1pbmltYWxfZXF1YXRpb24gPSBtaW5pbWFsX2VxdWF0aW9uCi0rICAg ICAgICBzZWxmLlBtaW4gPSBQbWluCi0rICAgICAgICBzZWxmLlFtaW4gPSBRbWluCi0gICAgICAg ICBzZWxmLm1pbmltYWxfZGlzYyA9IG1pbmltYWxfZGlzYwotICAgICAgICAgc2VsZi5sb2NhbF9k YXRhID0gbG9jYWxfZGF0YQotICAgICAgICAgc2VsZi5jb25kdWN0b3IgPSBjb25kdWN0b3IKLS0g ICAgICAgIHNlbGYucHJpbWVfdG9fMl9jb25kdWN0b3Jfb25seSA9IHByaW1lX3RvXzJfY29uZHVj dG9yX29ubHkKLSAKLSAgICAgZGVmIF9yZXByXyhzZWxmKToKLS0gICAgICAgIGlmIHNlbGYucHJp bWVfdG9fMl9jb25kdWN0b3Jfb25seToKLS0gICAgICAgICAgICBleCA9ICcgKGF3YXkgZnJvbSAy KScKLS0gICAgICAgIGVsc2U6Ci0tICAgICAgICAgICAgZXggPSAnJwotICAgICAgICAgaWYgc2Vs Zi5RID09IDA6Ci0gICAgICAgICAgICAgeXRlcm0gPSAnJwotICAgICAgICAgZWxzZToKLSAgICAg ICAgICAgICB5dGVybSA9ICcrICglcykqeSAnJXNlbGYuUQotKwotICAgICAgICAgcyA9ICdSZWR1 Y3Rpb24gZGF0YSBhYm91dCB0aGlzIHByb3BlciBzbW9vdGggZ2VudXMgMiBjdXJ2ZTpcbicKLSAg ICAgICAgIHMgKz0gJ1x0eV4yICVzPSAlc1xuJyUoeXRlcm0sIHNlbGYuUCkKLS0gICAgICAgIHMg Kz0gJ0EgTWluaW1hbCBFcXVhdGlvbiAoYXdheSBmcm9tIDIpOlxuXHR5XjIgPSAlc1xuJyVzZWxm Lm1pbmltYWxfZXF1YXRpb24KLS0gICAgICAgIHMgKz0gJ01pbmltYWwgRGlzY3JpbWluYW50IChh d2F5IGZyb20gMik6ICAlc1xuJyVzZWxmLm1pbmltYWxfZGlzYwotLSAgICAgICAgcyArPSAnQ29u ZHVjdG9yJXM6ICVzXG4nJShleCwgc2VsZi5jb25kdWN0b3IpCi0rICAgICAgICBpZiBzZWxmLlFt aW46Ci0rICAgICAgICAgICAgcyArPSAnQSBNaW5pbWFsIEVxdWF0aW9uOlxuXHR5XjIgKyAoJXMp eSA9ICVzXG4nJShzZWxmLlFtaW4sIHNlbGYuUG1pbikKLSsgICAgICAgIGVsc2U6Ci0rICAgICAg ICAgICAgcyArPSAnQSBNaW5pbWFsIEVxdWF0aW9uOlxuXHR5XjIgPSAlc1xuJyVzZWxmLlBtaW4K LSsgICAgICAgIHMgKz0gJ01pbmltYWwgRGlzY3JpbWluYW50OiAlc1xuJyVzZWxmLm1pbmltYWxf ZGlzYwotKyAgICAgICAgcyArPSAnQ29uZHVjdG9yOiAlc1xuJyVzZWxmLmNvbmR1Y3RvcgotICAg ICAgICAgcyArPSAnTG9jYWwgRGF0YTpcbiVzJyVzZWxmLl9sb2NhbF9kYXRhX3N0cigpCi0gICAg ICAgICByZXR1cm4gcwotIAotQEAgLTI0MiwxNyArMjQyLDcgQEAgY2xhc3MgR2VudXMycmVkdWN0 aW9uKFNhZ2VPYmplY3QpOgotICAgICAgICAgc2FnZTogZmFjdG9yKFIuY29uZHVjdG9yKQotICAg ICAgICAgNV40ICogMjI2NwotIAotLSAgICBUaGlzIG1lYW5zIHRoYXQgb25seSB0aGUgb2RkIHBh cnQgb2YgdGhlIGNvbmR1Y3RvciBpcyBrbm93bi4KLS0KLS0gICAgOjoKLS0KLS0gICAgICAgIHNh Z2U6IFIucHJpbWVfdG9fMl9jb25kdWN0b3Jfb25seQotLSAgICAgICAgVHJ1ZQotLQotLSAgICBU aGUgZGlzY3JpbWluYW50IGlzIGFsd2F5cyBtaW5pbWFsIGF3YXkgZnJvbSAyLCBidXQgcG9zc2li bHkgbm90IGF0Ci0tICAgIDIuCi0tCi0tICAgIDo6Ci0rICAgIFRoZSBkaXNjcmltaW5hbnQgaXMg YWx3YXlzIG1pbmltYWw6OgotIAotICAgICAgICAgc2FnZTogZmFjdG9yKFIubWluaW1hbF9kaXNj KQotICAgICAgICAgMl4zICogNV41ICogMjI2NwotQEAgLTI2NCwxMCArMjU0LDEwIEBAIGNsYXNz IEdlbnVzMnJlZHVjdGlvbihTYWdlT2JqZWN0KToKLSAgICAgICAgIHNhZ2U6IFIKLSAgICAgICAg IFJlZHVjdGlvbiBkYXRhIGFib3V0IHRoaXMgcHJvcGVyIHNtb290aCBnZW51cyAyIGN1cnZlOgot ICAgICAgICAgICAgIHleMiArICh4XjMgLSAyKnheMiAtIDIqeCArIDEpKnkgPSAtNSp4XjUKLS0g ICAgICAgIEEgTWluaW1hbCBFcXVhdGlvbiAoYXdheSBmcm9tIDIpOgotLSAgICAgICAgICAgIHle MiA9IHheNiAtIDI0MCp4XjQgLSAyNTUwKnheMyAtIDExNDAwKnheMiAtIDI0MTAwKnggLSAxOTg1 NQotLSAgICAgICAgTWluaW1hbCBEaXNjcmltaW5hbnQgKGF3YXkgZnJvbSAyKTogIDU2Njc1MDAw Ci0tICAgICAgICBDb25kdWN0b3IgKGF3YXkgZnJvbSAyKTogMTQxNjg3NQotKyAgICAgICAgQSBN aW5pbWFsIEVxdWF0aW9uOgotKyAgICAgICAgICAgIHleMiAuLi4KLSsgICAgICAgIE1pbmltYWwg RGlzY3JpbWluYW50OiA1NjY3NTAwMAotKyAgICAgICAgQ29uZHVjdG9yOiAxNDE2ODc1Ci0gICAg ICAgICBMb2NhbCBEYXRhOgotICAgICAgICAgICAgIHA9MgotICAgICAgICAgICAgIChwb3RlbnRp YWwpIHN0YWJsZSByZWR1Y3Rpb246ICAoSUkpLCBqPTEKLUBAIC0yOTMsMTAgKzI4MywxMCBAQCBj bGFzcyBHZW51czJyZWR1Y3Rpb24oU2FnZU9iamVjdCk6Ci0gICAgICAgICBzYWdlOiBnZW51czJy ZWR1Y3Rpb24oMCwgeF42ICsgMyp4XjMgKyA2MykKLSAgICAgICAgIFJlZHVjdGlvbiBkYXRhIGFi b3V0IHRoaXMgcHJvcGVyIHNtb290aCBnZW51cyAyIGN1cnZlOgotICAgICAgICAgICAgICAgICB5 XjIgPSB4XjYgKyAzKnheMyArIDYzCi0tICAgICAgICBBIE1pbmltYWwgRXF1YXRpb24gKGF3YXkg ZnJvbSAyKToKLS0gICAgICAgICAgICAgICAgeV4yID0geF42ICsgMyp4XjMgKyA2MwotLSAgICAg ICAgTWluaW1hbCBEaXNjcmltaW5hbnQgKGF3YXkgZnJvbSAyKTogIDEwNjI4Mzg4MzE2ODUyOTky Ci0tICAgICAgICBDb25kdWN0b3IgKGF3YXkgZnJvbSAyKTogMjg5MzQwMQotKyAgICAgICAgQSBN aW5pbWFsIEVxdWF0aW9uOgotKyAgICAgICAgICAgICAgICB5XjIgLi4uCi0rICAgICAgICBNaW5p bWFsIERpc2NyaW1pbmFudDogLTEwNjI4Mzg4MzE2ODUyOTkyCi0rICAgICAgICBDb25kdWN0b3I6 IDI4OTM0MDEKLSAgICAgICAgIExvY2FsIERhdGE6Ci0gICAgICAgICAgICAgICAgIHA9MgotICAg ICAgICAgICAgICAgICAocG90ZW50aWFsKSBzdGFibGUgcmVkdWN0aW9uOiAgKFYpLCBqMStqMj0w LCBqMSpqMj0wCi1AQCAtMzI3LDkgKzMxNyw5IEBAIGNsYXNzIEdlbnVzMnJlZHVjdGlvbihTYWdl T2JqZWN0KToKLSAgICAgICAgIHNhZ2U6IGdlbnVzMnJlZHVjdGlvbih4XjMteF4yLTEsIHheMiAt IHgpCi0gICAgICAgICBSZWR1Y3Rpb24gZGF0YSBhYm91dCB0aGlzIHByb3BlciBzbW9vdGggZ2Vu dXMgMiBjdXJ2ZToKLSAgICAgICAgICAgICAgICAgeV4yICsgKHheMyAtIHheMiAtIDEpKnkgPSB4 XjIgLSB4Ci0tICAgICAgICBBIE1pbmltYWwgRXF1YXRpb24gKGF3YXkgZnJvbSAyKToKLS0gICAg ICAgICAgICAgICAgeV4yID0geF42ICsgNTgqeF41ICsgMTQwMSp4XjQgKyAxODAzOCp4XjMgKyAx MzA1NDYqeF4yICsgNTAzNTE2KnggKyA4MDg1NjEKLS0gICAgICAgIE1pbmltYWwgRGlzY3JpbWlu YW50IChhd2F5IGZyb20gMik6ICAxNjkKLSsgICAgICAgIEEgTWluaW1hbCBFcXVhdGlvbjoKLSsg ICAgICAgICAgICAgICAgeV4yIC4uLgotKyAgICAgICAgTWluaW1hbCBEaXNjcmltaW5hbnQ6IC0x NjkKLSAgICAgICAgIENvbmR1Y3RvcjogMTY5Ci0gICAgICAgICBMb2NhbCBEYXRhOgotICAgICAg ICAgICAgICAgICBwPTEzCi1AQCAtMzcwLDEwICszNjAsMTAgQEAgY2xhc3MgR2VudXMycmVkdWN0 aW9uKFNhZ2VPYmplY3QpOgotICAgICAgICAgICAgIHNhZ2U6IGdlbnVzMnJlZHVjdGlvbih4XjMg LSAyKnheMiAtIDIqeCArIDEsIC01KnheNSkKLSAgICAgICAgICAgICBSZWR1Y3Rpb24gZGF0YSBh Ym91dCB0aGlzIHByb3BlciBzbW9vdGggZ2VudXMgMiBjdXJ2ZToKLSAgICAgICAgICAgICAgICAg ICAgIHleMiArICh4XjMgLSAyKnheMiAtIDIqeCArIDEpKnkgPSAtNSp4XjUKLS0gICAgICAgICAg ICBBIE1pbmltYWwgRXF1YXRpb24gKGF3YXkgZnJvbSAyKToKLS0gICAgICAgICAgICAgICAgICAg IHleMiA9IHheNiAtIDI0MCp4XjQgLSAyNTUwKnheMyAtIDExNDAwKnheMiAtIDI0MTAwKnggLSAx OTg1NQotLSAgICAgICAgICAgIE1pbmltYWwgRGlzY3JpbWluYW50IChhd2F5IGZyb20gMik6ICA1 NjY3NTAwMAotLSAgICAgICAgICAgIENvbmR1Y3RvciAoYXdheSBmcm9tIDIpOiAxNDE2ODc1Ci0r ICAgICAgICAgICAgQSBNaW5pbWFsIEVxdWF0aW9uOgotKyAgICAgICAgICAgICAgICAgICAgeV4y IC4uLgotKyAgICAgICAgICAgIE1pbmltYWwgRGlzY3JpbWluYW50OiA1NjY3NTAwMAotKyAgICAg ICAgICAgIENvbmR1Y3RvcjogMTQxNjg3NQotICAgICAgICAgICAgIExvY2FsIERhdGE6Ci0gICAg ICAgICAgICAgICAgICAgICBwPTIKLSAgICAgICAgICAgICAgICAgICAgIChwb3RlbnRpYWwpIHN0 YWJsZSByZWR1Y3Rpb246ICAoSUkpLCBqPTEKLUBAIC0zODksOSArMzc5LDkgQEAgY2xhc3MgR2Vu dXMycmVkdWN0aW9uKFNhZ2VPYmplY3QpOgotICAgICAgICAgICAgIHNhZ2U6IGdlbnVzMnJlZHVj dGlvbih4XjIgKyAxLCAtNSp4XjUpCi0gICAgICAgICAgICAgUmVkdWN0aW9uIGRhdGEgYWJvdXQg dGhpcyBwcm9wZXIgc21vb3RoIGdlbnVzIDIgY3VydmU6Ci0gICAgICAgICAgICAgICAgICAgICB5 XjIgKyAoeF4yICsgMSkqeSA9IC01KnheNQotLSAgICAgICAgICAgIEEgTWluaW1hbCBFcXVhdGlv biAoYXdheSBmcm9tIDIpOgotLSAgICAgICAgICAgICAgICAgICAgeV4yID0gLTIwKnheNSArIHhe NCArIDIqeF4yICsgMQotLSAgICAgICAgICAgIE1pbmltYWwgRGlzY3JpbWluYW50IChhd2F5IGZy b20gMik6ICA0ODgzODEyNQotKyAgICAgICAgICAgIEEgTWluaW1hbCBFcXVhdGlvbjoKLSsgICAg ICAgICAgICAgICAgICAgIHleMiAuLi4KLSsgICAgICAgICAgICBNaW5pbWFsIERpc2NyaW1pbmFu dDogNDg4MzgxMjUKLSAgICAgICAgICAgICBDb25kdWN0b3I6IDMyMDI1Ci0gICAgICAgICAgICAg TG9jYWwgRGF0YToKLSAgICAgICAgICAgICAgICAgICAgIHA9MwotQEAgLTQxMiw5ICs0MDIsOSBA QCBjbGFzcyBHZW51czJyZWR1Y3Rpb24oU2FnZU9iamVjdCk6Ci0gICAgICAgICAgICAgc2FnZTog Z2VudXMycmVkdWN0aW9uKHheMyArIHheMiArIHgsLTIqeF41ICsgMyp4XjQgLSB4XjMgLSB4XjIg LSA2KnggLSAyKQotICAgICAgICAgICAgIFJlZHVjdGlvbiBkYXRhIGFib3V0IHRoaXMgcHJvcGVy IHNtb290aCBnZW51cyAyIGN1cnZlOgotICAgICAgICAgICAgICAgICAgICAgeV4yICsgKHheMyAr IHheMiArIHgpKnkgPSAtMip4XjUgKyAzKnheNCAtIHheMyAtIHheMiAtIDYqeCAtIDIKLS0gICAg ICAgICAgICBBIE1pbmltYWwgRXF1YXRpb24gKGF3YXkgZnJvbSAyKToKLS0gICAgICAgICAgICAg ICAgICAgIHleMiA9IHheNiArIDE4KnheMyArIDM2KnheMiAtIDI3Ci0tICAgICAgICAgICAgTWlu aW1hbCBEaXNjcmltaW5hbnQgKGF3YXkgZnJvbSAyKTogIDE1MjA5ODQxNDIKLSsgICAgICAgICAg ICBBIE1pbmltYWwgRXF1YXRpb246Ci0rICAgICAgICAgICAgICAgICAgICB5XjIgLi4uCi0rICAg ICAgICAgICAgTWluaW1hbCBEaXNjcmltaW5hbnQ6IDE1MjA5ODQxNDIKLSAgICAgICAgICAgICBD b25kdWN0b3I6IDk1NAotICAgICAgICAgICAgIExvY2FsIERhdGE6Ci0gICAgICAgICAgICAgICAg ICAgICBwPTIKLUBAIC00MzYsMTggKzQyNiwxMCBAQCBjbGFzcyBHZW51czJyZWR1Y3Rpb24oU2Fn ZU9iamVjdCk6Ci0gICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiUSAoPSVzKSBtdXN0IGhh dmUgZGVncmVlIGF0IG1vc3QgMyIgJSBRKQotIAotICAgICAgICAgcmVzID0gcGFyaS5nZW51czJy ZWQoW1AsIFFdKQotLQotICAgICAgICAgY29uZHVjdG9yID0gWloocmVzWzBdKQotLSAgICAgICAg bWluaW1hbF9lcXVhdGlvbiA9IFIocmVzWzJdKQotLQotLSAgICAgICAgbWluaW1hbF9kaXNjID0g UVEocmVzWzJdLnBvbGRpc2MoKSkuYWJzKCkKLS0gICAgICAgIGlmIG1pbmltYWxfZXF1YXRpb24u ZGVncmVlKCkgPT0gNToKLS0gICAgICAgICAgICBtaW5pbWFsX2Rpc2MgKj0gbWluaW1hbF9lcXVh dGlvbls1XSoqMgotLSAgICAgICAgIyBNdWx0aXBseSB3aXRoIHN1aXRhYmxlIHBvd2VyIG9mIDIg b2YgdGhlIGZvcm0gMl4oMiooZC0xKSAtIDEyKQotLSAgICAgICAgYiA9IDIgKiAobWluaW1hbF9l cXVhdGlvbi5kZWdyZWUoKSAtIDEpCi0tICAgICAgICBrID0gUVEoKDEyIC0gbWluaW1hbF9kaXNj LnZhbHVhdGlvbigyKSwgYikpLmNlaWwoKQotLSAgICAgICAgbWluaW1hbF9kaXNjID4+PSAxMiAt IGIqawotLSAgICAgICAgbWluaW1hbF9kaXNjID0gWloobWluaW1hbF9kaXNjKQotKyAgICAgICAg UG1pbiA9IFIocmVzWzJdWzBdKQotKyAgICAgICAgUW1pbiA9IFIocmVzWzJdWzFdKQotKyAgICAg ICAgbWluaW1hbF9kaXNjID0gWloocGFyaS5oeXBlcmVsbGRpc2MocmVzWzJdKSkKLSAKLSAgICAg ICAgIGxvY2FsX2RhdGEgPSB7fQotICAgICAgICAgZm9yIHJlZCBpbiByZXNbM106Ci1AQCAtNDY4 LDkgKzQ1MCw3IEBAIGNsYXNzIEdlbnVzMnJlZHVjdGlvbihTYWdlT2JqZWN0KToKLSAKLSAgICAg ICAgICAgICBsb2NhbF9kYXRhW3BdID0gZGF0YQotIAotLSAgICAgICAgcHJpbWVfdG9fMl9jb25k dWN0b3Jfb25seSA9ICgtMSBpbiByZXNbMV0uY29tcG9uZW50KDIpKQotLSAgICAgICAgcmV0dXJu IFJlZHVjdGlvbkRhdGEocmVzLCBQLCBRLCBtaW5pbWFsX2VxdWF0aW9uLCBtaW5pbWFsX2Rpc2Ms IGxvY2FsX2RhdGEsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25kdWN0b3IsIHBy aW1lX3RvXzJfY29uZHVjdG9yX29ubHkpCi0rICAgICAgICByZXR1cm4gUmVkdWN0aW9uRGF0YShy ZXMsIFAsIFEsIFBtaW4sIFFtaW4sIG1pbmltYWxfZGlzYywgbG9jYWxfZGF0YSwgY29uZHVjdG9y KQotIAotICAgICBkZWYgX19yZWR1Y2VfXyhzZWxmKToKLSAgICAgICAgIHJldHVybiBfcmVkdWNl X2xvYWRfZ2VudXMycmVkdWN0aW9uLCB0dXBsZShbXSkKLWRpZmYgLS1naXQgYS9zcmMvc2FnZS9s ZnVuY3Rpb25zL2Rva2NoaXRzZXIucHkgYi9zcmMvc2FnZS9sZnVuY3Rpb25zL2Rva2NoaXRzZXIu cHkKLWluZGV4IGZlYzQ1MGQ3YmMuLjIzNjQwMmMyOTMgMTAwNjQ0Ci0tLS0gYS9zcmMvc2FnZS9s ZnVuY3Rpb25zL2Rva2NoaXRzZXIucHkKLSsrKyBiL3NyYy9zYWdlL2xmdW5jdGlvbnMvZG9rY2hp dHNlci5weQotQEAgLTMzNyw2ICszMzcsNyBAQCBjbGFzcyBEb2tjaGl0c2VyKFNhZ2VPYmplY3Qp OgotICAgICAgICAgICAgICMgQWZ0ZXIgaW5pdF9jb2VmZnMgaXMgY2FsbGVkLCBmdXR1cmUgY2Fs bHMgdG8gdGhpcyBtZXRob2Qgc2hvdWxkCi0gICAgICAgICAgICAgIyByZXR1cm4gdGhlIGZ1bGwg b3V0cHV0IGZvciBmdXJ0aGVyIHBhcnNpbmcKLSAgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJy b3IoInVuYWJsZSB0byBjcmVhdGUgTC1zZXJpZXMsIGR1ZSB0byBwcmVjaXNpb24gb3Igb3RoZXIg bGltaXRzIGluIFBBUkkiKQotKyAgICAgICAgdCA9IHQucmVwbGFjZSgiICAqKiogX15fOiBXYXJu aW5nOiBub3JtYWxpemluZyBhIHNlcmllcyB3aXRoIDAgbGVhZGluZyB0ZXJtLlxuIiwgIiIpCi0g ICAgICAgICByZXR1cm4gdAotIAotICAgICBkZWYgX19jaGVja19pbml0KHNlbGYpOgotZGlmZiAt LWdpdCBhL3NyYy9zYWdlL2xmdW5jdGlvbnMvcGFyaS5weSBiL3NyYy9zYWdlL2xmdW5jdGlvbnMv cGFyaS5weQotaW5kZXggZDJiMjBmMTg5MS4uNmMzMWVmZTIzOSAxMDA2NDQKLS0tLSBhL3NyYy9z YWdlL2xmdW5jdGlvbnMvcGFyaS5weQotKysrIGIvc3JjL3NhZ2UvbGZ1bmN0aW9ucy9wYXJpLnB5 Ci1AQCAtMzM5LDcgKzMzOSw3IEBAIGRlZiBsZnVuX2V0YV9xdW90aWVudChzY2FsaW5ncywgZXhw b25lbnRzKToKLSAgICAgICAgIDAuMDM3NDQxMjgxMjY4NTE1NQotIAotICAgICAgICAgc2FnZTog bGZ1bl9ldGFfcXVvdGllbnQoWzZdLFs0XSkKLS0gICAgICAgIFtbVmVjc21hbGwoWzddKSwgW1Zl Y3NtYWxsKFs2XSksIFZlY3NtYWxsKFs0XSldXSwgMCwgWzAsIDFdLCAyLCAzNiwgMV0KLSsgICAg ICAgIFtbVmVjc21hbGwoWzddKSwgW1ZlY3NtYWxsKFs2XSksIFZlY3NtYWxsKFs0XSksIDBdXSwg MCwgWzAsIDFdLCAyLCAzNiwgMV0KLSAKLSAgICAgICAgIHNhZ2U6IGxmdW5fZXRhX3F1b3RpZW50 KFsyLDEsNF0sIFs1LC0yLC0yXSkKLSAgICAgICAgIFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2Fs bCBsYXN0KToKLWRpZmYgLS1naXQgYS9zcmMvc2FnZS9saWJzL3BhcmkvdGVzdHMucHkgYi9zcmMv c2FnZS9saWJzL3BhcmkvdGVzdHMucHkKLWluZGV4IGU1YTJhYTI1MTcuLjBlZmNiMTVkZTAgMTAw NjQ0Ci0tLS0gYS9zcmMvc2FnZS9saWJzL3BhcmkvdGVzdHMucHkKLSsrKyBiL3NyYy9zYWdlL2xp YnMvcGFyaS90ZXN0cy5weQotQEAgLTM1Niw3ICszNTYsNyBAQCBDb25zdHJ1Y3RvcnM6OgotICAg ICBbMiwgNF1+KnggKyBbMSwgM11+Ci0gCi0gICAgIHNhZ2U6IHBhcmkoMykuUWZiKDcsIDEpCi0t ICAgIFFmYigzLCA3LCAxLCAwLkUtMTkpCi0rICAgIFFmYigzLCA3LCAxKQotICAgICBzYWdlOiBw YXJpKDMpLlFmYig3LCAyKQotICAgICBUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6 Ci0gICAgIC4uLgotQEAgLTUxMiw3ICs1MTIsNyBAQCBCYXNpYyBmdW5jdGlvbnM6OgotICAgICBz YWdlOiBwYXJpKCdzcXJ0KC0yKScpLmZyYWMoKQotICAgICBUcmFjZWJhY2sgKG1vc3QgcmVjZW50 IGNhbGwgbGFzdCk6Ci0gICAgIC4uLgotLSAgICBQYXJpRXJyb3I6IGluY29ycmVjdCB0eXBlIGlu IGdmbG9vciAodF9DT01QTEVYKQotKyAgICBQYXJpRXJyb3I6IGluY29ycmVjdCB0eXBlIGluIGdm cmFjICh0X0NPTVBMRVgpCi0gCi0gICAgIHNhZ2U6IHBhcmkoJzErMipJJykuaW1hZygpCi0gICAg IDIKLWRpZmYgLS1naXQgYS9zcmMvc2FnZS9tb2R1bGFyL2N1c3BzX25mLnB5IGIvc3JjL3NhZ2Uv bW9kdWxhci9jdXNwc19uZi5weQotaW5kZXggMjVkOTNjYWM5Mi4uMTU3ZWJhYmUyOSAxMDA2NDQK LS0tLSBhL3NyYy9zYWdlL21vZHVsYXIvY3VzcHNfbmYucHkKLSsrKyBiL3NyYy9zYWdlL21vZHVs YXIvY3VzcHNfbmYucHkKLUBAIC0xMjIwLDcgKzEyMjAsNyBAQCBkZWYgdW5pdHNfbW9kX2lkZWFs KEkpOgotICAgICAgICAgc2FnZTogSSA9IGsuaWRlYWwoNSwgYSArIDEpCi0gICAgICAgICBzYWdl OiB1bml0c19tb2RfaWRlYWwoSSkKLSAgICAgICAgIFsxLAotLSAgICAgICAgMiphXjIgKyA0KmEg LSAxLAotKyAgICAgICAgLTIqYV4yIC0gNCphICsgMSwKLSAgICAgICAgIC4uLl0KLSAKLSAgICAg OjoKLWRpZmYgLS1naXQgYS9zcmMvc2FnZS9tb2R1bGFyL21vZGZvcm1faGVja2V0cmlhbmdsZS9o ZWNrZV90cmlhbmdsZV9ncm91cF9lbGVtZW50LnB5IGIvc3JjL3NhZ2UvbW9kdWxhci9tb2Rmb3Jt X2hlY2tldHJpYW5nbGUvaGVja2VfdHJpYW5nbGVfZ3JvdXBfZWxlbWVudC5weQotaW5kZXggYTg4 MTMzNjU5Ni4uMDkwZDFiZmFmMCAxMDA2NDQKLS0tLSBhL3NyYy9zYWdlL21vZHVsYXIvbW9kZm9y bV9oZWNrZXRyaWFuZ2xlL2hlY2tlX3RyaWFuZ2xlX2dyb3VwX2VsZW1lbnQucHkKLSsrKyBiL3Ny Yy9zYWdlL21vZHVsYXIvbW9kZm9ybV9oZWNrZXRyaWFuZ2xlL2hlY2tlX3RyaWFuZ2xlX2dyb3Vw X2VsZW1lbnQucHkKLUBAIC00Myw3ICs0Myw3IEBAIGRlZiBjb2VyY2VfQUEocCk6Ci0gICAgICAg ICBzYWdlOiBBQShwKS5fZXhhY3RfZmllbGQoKQotICAgICAgICAgTnVtYmVyIEZpZWxkIGluIGEg d2l0aCBkZWZpbmluZyBwb2x5bm9taWFsIHleOCAuLi4gd2l0aCBhIGluIC4uLgotICAgICAgICAg c2FnZTogY29lcmNlX0FBKHApLl9leGFjdF9maWVsZCgpCi0tICAgICAgICBOdW1iZXIgRmllbGQg aW4gYSB3aXRoIGRlZmluaW5nIHBvbHlub21pYWwgeV40IC0gMTkxMCp5XjIgLSAzOTI0KnkgKyA2 ODEwNTggd2l0aCBhIGluIDM5LjcxMDUxODcyNC4uLj8KLSsgICAgICAgIE51bWJlciBGaWVsZCBp biBhIHdpdGggZGVmaW5pbmcgcG9seW5vbWlhbCB5XjQgLSAxOTEwKnleMiAtIDM5MjQqeSArIDY4 MTA1OCB3aXRoIGEgaW4gLi4uPwotICAgICAiIiIKLSAgICAgZWwgPSBBQShwKQotICAgICBlbC5z aW1wbGlmeSgpCi1kaWZmIC0tZ2l0IGEvc3JjL3NhZ2UvbW9kdWxhci9tb2RzeW0vcDFsaXN0X25m LnB5IGIvc3JjL3NhZ2UvbW9kdWxhci9tb2RzeW0vcDFsaXN0X25mLnB5Ci1pbmRleCAyMjJjYWFj Y2E4Li5mOWQ5Njk3MzJjIDEwMDY0NAotLS0tIGEvc3JjL3NhZ2UvbW9kdWxhci9tb2RzeW0vcDFs aXN0X25mLnB5Ci0rKysgYi9zcmMvc2FnZS9tb2R1bGFyL21vZHN5bS9wMWxpc3RfbmYucHkKLUBA IC01OCw3ICs1OCw3IEBAIExpZnQgYW4gTVN5bWJvbCB0byBhIG1hdHJpeCBpbiBgU0woMiwgUilg OgotIAotICAgICBzYWdlOiBhbHBoYSA9IE1TeW1ib2woTiwgYSArIDIsIDMqYV4yKQotICAgICBz YWdlOiBhbHBoYS5saWZ0X3RvX3NsMl9PaygpCi0tICAgIFstMyphXjIgKyBhICsgMTIsIDI1KmFe MiAtIDUwKmEgKyAxMDAsIGEgKyAyLCBhXjIgLSAzKmEgKyAzXQotKyAgICBbLTEsIDQqYV4yIC0g MTMqYSArIDIzLCBhICsgMiwgNSphXjIgKyAzKmEgLSAzXQotICAgICBzYWdlOiBPayA9IGsucmlu Z19vZl9pbnRlZ2VycygpCi0gICAgIHNhZ2U6IE0gPSBNYXRyaXgoT2ssIDIsIGFscGhhLmxpZnRf dG9fc2wyX09rKCkpCi0gICAgIHNhZ2U6IGRldChNKQotQEAgLTk0NSwxMSArOTQ1LDExIEBAIGNs YXNzIFAxTkZMaXN0KFNhZ2VPYmplY3QpOgotICAgICAgICAgICAgIHNhZ2U6IE4gPSBrLmlkZWFs KDUsIGEgKyAxKQotICAgICAgICAgICAgIHNhZ2U6IFAgPSBQMU5GTGlzdChOKQotICAgICAgICAg ICAgIHNhZ2U6IHUgPSBrLnVuaXRfZ3JvdXAoKS5nZW5zX3ZhbHVlcygpOyB1Ci0tICAgICAgICAg ICAgWy0xLCAyKmFeMiArIDQqYSAtIDFdCi0rICAgICAgICAgICAgWy0xLCAtMiphXjIgLSA0KmEg KyAxXQotICAgICAgICAgICAgIHNhZ2U6IFAuYXBwbHlfSl9lcHNpbG9uKDQsIC0xKQotICAgICAg ICAgICAgIDIKLSAgICAgICAgICAgICBzYWdlOiBQLmFwcGx5X0pfZXBzaWxvbig0LCB1WzBdLCB1 WzFdKQotLSAgICAgICAgICAgIDEKLSsgICAgICAgICAgICA1Ci0gCi0gICAgICAgICA6OgotIAot ZGlmZiAtLWdpdCBhL3NyYy9zYWdlL21vZHVsZXMvZnJlZV9xdWFkcmF0aWNfbW9kdWxlX2ludGVn ZXJfc3ltbWV0cmljLnB5IGIvc3JjL3NhZ2UvbW9kdWxlcy9mcmVlX3F1YWRyYXRpY19tb2R1bGVf aW50ZWdlcl9zeW1tZXRyaWMucHkKLWluZGV4IGEyMDZmMGM3MjEuLmFlYjE5YWI2NjkgMTAwNjQ0 Ci0tLS0gYS9zcmMvc2FnZS9tb2R1bGVzL2ZyZWVfcXVhZHJhdGljX21vZHVsZV9pbnRlZ2VyX3N5 bW1ldHJpYy5weQotKysrIGIvc3JjL3NhZ2UvbW9kdWxlcy9mcmVlX3F1YWRyYXRpY19tb2R1bGVf aW50ZWdlcl9zeW1tZXRyaWMucHkKLUBAIC0xMTY4LDExICsxMTY4LDExIEBAIGNsYXNzIEZyZWVR dWFkcmF0aWNNb2R1bGVfaW50ZWdlcl9zeW1tZXRyaWMoRnJlZVF1YWRyYXRpY01vZHVsZV9zdWJt b2R1bGVfd2l0aF9iCi0gICAgICAgICAgICAgc2FnZTogQTQgPSBJbnRlZ3JhbExhdHRpY2UoIkE0 IikKLSAgICAgICAgICAgICBzYWdlOiBBdXQgPSBBNC5vcnRob2dvbmFsX2dyb3VwKCkKLSAgICAg ICAgICAgICBzYWdlOiBBdXQKLS0gICAgICAgICAgICBHcm91cCBvZiBpc29tZXRyaWVzIHdpdGgg NSBnZW5lcmF0b3JzICgKLS0gICAgICAgICAgICBbLTEgIDAgIDAgIDBdICBbMCAwIDAgMV0gIFst MSAtMSAtMSAgMF0gIFsgMSAgMCAgMCAgMF0gIFsgMSAgMCAgMCAgMF0KLS0gICAgICAgICAgICBb IDAgLTEgIDAgIDBdICBbMCAwIDEgMF0gIFsgMCAgMCAgMCAtMV0gIFstMSAtMSAtMSAtMV0gIFsg MCAgMSAgMCAgMF0KLS0gICAgICAgICAgICBbIDAgIDAgLTEgIDBdICBbMCAxIDAgMF0gIFsgMCAg MCAgMSAgMV0gIFsgMCAgMCAgMCAgMV0gIFsgMCAgMCAgMSAgMV0KLS0gICAgICAgICAgICBbIDAg IDAgIDAgLTFdLCBbMSAwIDAgMF0sIFsgMCAgMSAgMCAgMF0sIFsgMCAgMCAgMSAgMF0sIFsgMCAg MCAgMCAtMV0KLSsgICAgICAgICAgICBHcm91cCBvZiBpc29tZXRyaWVzIHdpdGggNCBnZW5lcmF0 b3JzICgKLSsgICAgICAgICAgICBbMCAwIDAgMV0gIFstMSAtMSAtMSAgMF0gIFsgMSAgMCAgMCAg MF0gIFsgMSAgMCAgMCAgMF0KLSsgICAgICAgICAgICBbMCAwIDEgMF0gIFsgMCAgMCAgMCAtMV0g IFstMSAtMSAtMSAtMV0gIFsgMCAgMSAgMCAgMF0KLSsgICAgICAgICAgICBbMCAxIDAgMF0gIFsg MCAgMCAgMSAgMV0gIFsgMCAgMCAgMCAgMV0gIFsgMCAgMCAgMSAgMV0KLSsgICAgICAgICAgICBb MSAwIDAgMF0sIFsgMCAgMSAgMCAgMF0sIFsgMCAgMCAgMSAgMF0sIFsgMCAgMCAgMCAtMV0KLSAg ICAgICAgICAgICApCi0gCi0gICAgICAgICBUaGUgZ3JvdXAgYWN0cyBmcm9tIHRoZSByaWdodCBv biB0aGUgbGF0dGljZSBhbmQgaXRzIGRpc2NyaW1pbmFudCBncm91cDo6Ci1AQCAtMTE4MCwxOSAr MTE4MCwxOSBAQCBjbGFzcyBGcmVlUXVhZHJhdGljTW9kdWxlX2ludGVnZXJfc3ltbWV0cmljKEZy ZWVRdWFkcmF0aWNNb2R1bGVfc3VibW9kdWxlX3dpdGhfYgotICAgICAgICAgICAgIHNhZ2U6IHgg PSBBNC5hbl9lbGVtZW50KCkKLSAgICAgICAgICAgICBzYWdlOiBnID0gQXV0LmFuX2VsZW1lbnQo KQotICAgICAgICAgICAgIHNhZ2U6IGcKLS0gICAgICAgICAgICBbIDEgIDEgIDEgIDBdCi0tICAg ICAgICAgICAgWyAwICAwIC0xICAwXQotLSAgICAgICAgICAgIFsgMCAgMCAgMSAgMV0KLS0gICAg ICAgICAgICBbIDAgLTEgLTEgLTFdCi0rICAgICAgICAgICAgWy0xIC0xIC0xICAwXQotKyAgICAg ICAgICAgIFsgMCAgMCAgMSAgMF0KLSsgICAgICAgICAgICBbIDAgIDAgLTEgLTFdCi0rICAgICAg ICAgICAgWyAwICAxICAxICAxXQotICAgICAgICAgICAgIHNhZ2U6IHgqZwotLSAgICAgICAgICAg ICgxLCAxLCAxLCAwKQotKyAgICAgICAgICAgICgtMSwgLTEsIC0xLCAwKQotICAgICAgICAgICAg IHNhZ2U6ICh4KmcpLnBhcmVudCgpPT1BNAotICAgICAgICAgICAgIFRydWUKLSAgICAgICAgICAg ICBzYWdlOiAoZyp4KS5wYXJlbnQoKQotICAgICAgICAgICAgIFZlY3RvciBzcGFjZSBvZiBkaW1l bnNpb24gNCBvdmVyIFJhdGlvbmFsIEZpZWxkCi0gICAgICAgICAgICAgc2FnZTogeSA9IEE0LmRp c2NyaW1pbmFudF9ncm91cCgpLmFuX2VsZW1lbnQoKQotICAgICAgICAgICAgIHNhZ2U6IHkqZwot LSAgICAgICAgICAgICgxKQotKyAgICAgICAgICAgICg0KQotIAotICAgICAgICAgSWYgdGhlIGdy b3VwIGlzIGZpbml0ZSB3ZSBjYW4gY29tcHV0ZSB0aGUgdXN1YWwgdGhpbmdzOjoKLSAKLUBAIC0x MjA4LDEwICsxMjA4LDEwIEBAIGNsYXNzIEZyZWVRdWFkcmF0aWNNb2R1bGVfaW50ZWdlcl9zeW1t ZXRyaWMoRnJlZVF1YWRyYXRpY01vZHVsZV9zdWJtb2R1bGVfd2l0aF9iCi0gCi0gICAgICAgICAg ICAgc2FnZTogQTIgPSBJbnRlZ3JhbExhdHRpY2UobWF0cml4LmlkZW50aXR5KDMpLE1hdHJpeCha WiwyLDMsWzEsLTEsMCwwLDEsLTFdKSkKLSAgICAgICAgICAgICBzYWdlOiBBMi5vcnRob2dvbmFs X2dyb3VwKCkKLS0gICAgICAgICAgICBHcm91cCBvZiBpc29tZXRyaWVzIHdpdGggMyBnZW5lcmF0 b3JzICgKLS0gICAgICAgICAgICBbLTEvMyAgMi8zICAyLzNdICBbIDIvMyAgMi8zIC0xLzNdICBb MSAwIDBdCi0tICAgICAgICAgICAgWyAyLzMgLTEvMyAgMi8zXSAgWyAyLzMgLTEvMyAgMi8zXSAg WzAgMCAxXQotLSAgICAgICAgICAgIFsgMi8zICAyLzMgLTEvM10sIFstMS8zICAyLzMgIDIvM10s IFswIDEgMF0KLSsgICAgICAgICAgICBHcm91cCBvZiBpc29tZXRyaWVzIHdpdGggMiBnZW5lcmF0 b3JzICgKLSsgICAgICAgICAgICBbIDIvMyAgMi8zIC0xLzNdICBbMSAwIDBdCi0rICAgICAgICAg ICAgWyAyLzMgLTEvMyAgMi8zXSAgWzAgMCAxXQotKyAgICAgICAgICAgIFstMS8zICAyLzMgIDIv M10sIFswIDEgMF0KLSAgICAgICAgICAgICApCi0gCi0gICAgICAgICBJdCBjYW4gYmUgbmVnYXRp dmUgZGVmaW5pdGUgYXMgd2VsbDo6Ci1kaWZmIC0tZ2l0IGEvc3JjL3NhZ2UvcXVhZHJhdGljX2Zv cm1zL2JpbmFyeV9xZi5weSBiL3NyYy9zYWdlL3F1YWRyYXRpY19mb3Jtcy9iaW5hcnlfcWYucHkK LWluZGV4IGNmYTNhZGE3M2UuLjVhYzgyM2JjNmMgMTAwNzU1Ci0tLS0gYS9zcmMvc2FnZS9xdWFk cmF0aWNfZm9ybXMvYmluYXJ5X3FmLnB5Ci0rKysgYi9zcmMvc2FnZS9xdWFkcmF0aWNfZm9ybXMv YmluYXJ5X3FmLnB5Ci1AQCAtMTQxLDcgKzE0MSw3IEBAIGNsYXNzIEJpbmFyeVFGKFNhZ2VPYmpl Y3QpOgotICAgICAgICAgICAgICAgICAgIGFuZCBhLmRlZ3JlZSgpID09IDIgYW5kIGEucGFyZW50 KCkubmdlbnMoKSA9PSAyKToKLSAgICAgICAgICAgICAgICAgeCwgeSA9IGEucGFyZW50KCkuZ2Vu cygpCi0gICAgICAgICAgICAgICAgIGEsIGIsIGMgPSBbYS5tb25vbWlhbF9jb2VmZmljaWVudCht b24pIGZvciBtb24gaW4gW3gqKjIsIHgqeSwgeSoqMl1dCi0tICAgICAgICAgICAgZWxpZiBpc2lu c3RhbmNlKGEsIHBhcmlfZ2VuKSBhbmQgYS50eXBlKCkgaW4gKCd0X1FGSScsICd0X1FGUicpOgot KyAgICAgICAgICAgIGVsaWYgaXNpbnN0YW5jZShhLCBwYXJpX2dlbikgYW5kIGEudHlwZSgpIGlu ICgndF9RRkknLCAndF9RRlInLCAndF9RRkInKToKLSAgICAgICAgICAgICAgICAgIyBhIGhhcyAz IG9yIDQgY29tcG9uZW50cwotICAgICAgICAgICAgICAgICBhLCBiLCBjID0gYVswXSwgYVsxXSwg YVsyXQotICAgICAgICAgdHJ5OgotZGlmZiAtLWdpdCBhL3NyYy9zYWdlL3F1YWRyYXRpY19mb3Jt cy9nZW5lcmEvZ2VudXMucHkgYi9zcmMvc2FnZS9xdWFkcmF0aWNfZm9ybXMvZ2VuZXJhL2dlbnVz LnB5Ci1pbmRleCA4MjkwYjZjNGZhLi4wZmM0M2YzM2M2IDEwMDY0NAotLS0tIGEvc3JjL3NhZ2Uv cXVhZHJhdGljX2Zvcm1zL2dlbmVyYS9nZW51cy5weQotKysrIGIvc3JjL3NhZ2UvcXVhZHJhdGlj X2Zvcm1zL2dlbmVyYS9nZW51cy5weQotQEAgLTMwODgsOCArMzA4OCw4IEBAIGNsYXNzIEdlbnVz U3ltYm9sX2dsb2JhbF9yaW5nKCk6Ci0gICAgICAgICAgICAgc2FnZTogRyA9IEdlbnVzKG1hdHJp eChaWiwgMywgWzYsMywwLCAzLDYsMCwgMCwwLDJdKSkKLSAgICAgICAgICAgICBzYWdlOiBHLnJl cHJlc2VudGF0aXZlcygpCi0gICAgICAgICAgICAgKAotLSAgICAgICAgICAgIFsyIDAgMF0gIFsg MiAtMSAgMF0KLS0gICAgICAgICAgICBbMCA2IDNdICBbLTEgIDIgIDBdCi0rICAgICAgICAgICAg WzIgMCAwXSAgWyAyICAxICAwXQotKyAgICAgICAgICAgIFswIDYgM10gIFsgMSAgMiAgMF0KLSAg ICAgICAgICAgICBbMCAzIDZdLCBbIDAgIDAgMThdCi0gICAgICAgICAgICAgKQotIAotZGlmZiAt LWdpdCBhL3NyYy9zYWdlL3F1YWRyYXRpY19mb3Jtcy9xZnNvbHZlLnB5IGIvc3JjL3NhZ2UvcXVh ZHJhdGljX2Zvcm1zL3Fmc29sdmUucHkKLWluZGV4IGRkZGU5NWUwNGYuLmQ1ZTE1ZDlmODMgMTAw NjQ0Ci0tLS0gYS9zcmMvc2FnZS9xdWFkcmF0aWNfZm9ybXMvcWZzb2x2ZS5weQotKysrIGIvc3Jj L3NhZ2UvcXVhZHJhdGljX2Zvcm1zL3Fmc29sdmUucHkKLUBAIC03MCw3ICs3MCw3IEBAIGRlZiBx ZnNvbHZlKEcpOgotIAotICAgICAgICAgc2FnZTogTSA9IE1hdHJpeChRUSwgW1szLCAwLCAwLCAw XSwgWzAsIDUsIDAsIDBdLCBbMCwgMCwgLTcsIDBdLCBbMCwgMCwgMCwgLTExXV0pCi0gICAgICAg ICBzYWdlOiBxZnNvbHZlKE0pCi0tICAgICAgICAoMywgLTQsIC0zLCAtMikKLSsgICAgICAgICgz LCA0LCAtMywgLTIpCi0gICAgICIiIgotICAgICByZXQgPSBHLl9fcGFyaV9fKCkucWZzb2x2ZSgp Ci0gICAgIGlmIHJldC50eXBlKCkgPT0gJ3RfQ09MJzoKLWRpZmYgLS1naXQgYS9zcmMvc2FnZS9x dWFkcmF0aWNfZm9ybXMvcXVhZHJhdGljX2Zvcm1fX2F1dG9tb3JwaGlzbXMucHkgYi9zcmMvc2Fn ZS9xdWFkcmF0aWNfZm9ybXMvcXVhZHJhdGljX2Zvcm1fX2F1dG9tb3JwaGlzbXMucHkKLWluZGV4 IGMzNmM2NjdlM2IuLjNkNzJjZjNiZTEgMTAwNjQ0Ci0tLS0gYS9zcmMvc2FnZS9xdWFkcmF0aWNf Zm9ybXMvcXVhZHJhdGljX2Zvcm1fX2F1dG9tb3JwaGlzbXMucHkKLSsrKyBiL3NyYy9zYWdlL3F1 YWRyYXRpY19mb3Jtcy9xdWFkcmF0aWNfZm9ybV9fYXV0b21vcnBoaXNtcy5weQotQEAgLTMwMCw5 ICszMDAsOSBAQCBkZWYgYXV0b21vcnBoaXNtX2dyb3VwKHNlbGYpOgotICAgICAgICAgc2FnZTog USA9IERpYWdvbmFsUXVhZHJhdGljRm9ybShaWiwgWzEsMSwxXSkKLSAgICAgICAgIHNhZ2U6IFEu YXV0b21vcnBoaXNtX2dyb3VwKCkKLSAgICAgICAgIE1hdHJpeCBncm91cCBvdmVyIFJhdGlvbmFs IEZpZWxkIHdpdGggMyBnZW5lcmF0b3JzICgKLS0gICAgICAgIFstMSAgMCAgMF0gIFswIDAgMV0g IFsgMCAgMCAgMV0KLS0gICAgICAgIFsgMCAtMSAgMF0gIFswIDEgMF0gIFstMSAgMCAgMF0KLS0g ICAgICAgIFsgMCAgMCAtMV0sIFsxIDAgMF0sIFsgMCAgMSAgMF0KLSsgICAgICAgIFsgMCAgMCAg MV0gIFsxIDAgMF0gIFsgMSAgMCAgMF0KLSsgICAgICAgIFstMSAgMCAgMF0gIFswIDAgMV0gIFsg MCAtMSAgMF0KLSsgICAgICAgIFsgMCAgMSAgMF0sIFswIDEgMF0sIFsgMCAgMCAgMV0KLSAgICAg ICAgICkKLSAKLSAgICAgOjoKLWRpZmYgLS1naXQgYS9zcmMvc2FnZS9yaW5ncy9maW5pdGVfcmlu Z3MvZmluaXRlX2ZpZWxkX3ByaW1lX21vZG4ucHkgYi9zcmMvc2FnZS9yaW5ncy9maW5pdGVfcmlu Z3MvZmluaXRlX2ZpZWxkX3ByaW1lX21vZG4ucHkKLWluZGV4IDkxMjllY2I1NmEuLmQ1YTRjYjhm MjIgMTAwNjQ0Ci0tLS0gYS9zcmMvc2FnZS9yaW5ncy9maW5pdGVfcmluZ3MvZmluaXRlX2ZpZWxk X3ByaW1lX21vZG4ucHkKLSsrKyBiL3NyYy9zYWdlL3JpbmdzL2Zpbml0ZV9yaW5ncy9maW5pdGVf ZmllbGRfcHJpbWVfbW9kbi5weQotQEAgLTExMSw3ICsxMTEsNyBAQCBjbGFzcyBGaW5pdGVGaWVs ZF9wcmltZV9tb2RuKEZpbml0ZUZpZWxkX2dlbmVyaWMsIGludGVnZXJfbW9kX3JpbmcuSW50ZWdl ck1vZFJpbgotICAgICAgICAgICAgIHNhZ2U6IFJGMTMgPSBLLnJlc2lkdWVfZmllbGQocHApCi0g ICAgICAgICAgICAgc2FnZTogUkYxMy5ob20oW0dGKDEzKSgxKV0pCi0gICAgICAgICAgICAgUmlu ZyBtb3JwaGlzbToKLS0gICAgICAgICAgICAgRnJvbTogUmVzaWR1ZSBmaWVsZCBvZiBGcmFjdGlv bmFsIGlkZWFsICh3ICsgMTgpCi0rICAgICAgICAgICAgIEZyb206IFJlc2lkdWUgZmllbGQgb2Yg RnJhY3Rpb25hbCBpZGVhbCAoLXcgLSAxOCkKLSAgICAgICAgICAgICAgVG86ICAgRmluaXRlIEZp ZWxkIG9mIHNpemUgMTMKLSAgICAgICAgICAgICAgRGVmbjogMSB8LS0+IDEKLSAKLWRpZmYgLS1n aXQgYS9zcmMvc2FnZS9yaW5ncy9maW5pdGVfcmluZ3MvcmVzaWR1ZV9maWVsZC5weXggYi9zcmMv c2FnZS9yaW5ncy9maW5pdGVfcmluZ3MvcmVzaWR1ZV9maWVsZC5weXgKLWluZGV4IDc1OTZmMmEz MDIuLjFlMTg2OWYxYjEgMTAwNjQ0Ci0tLS0gYS9zcmMvc2FnZS9yaW5ncy9maW5pdGVfcmluZ3Mv cmVzaWR1ZV9maWVsZC5weXgKLSsrKyBiL3NyYy9zYWdlL3JpbmdzL2Zpbml0ZV9yaW5ncy9yZXNp ZHVlX2ZpZWxkLnB5eAotQEAgLTIwLDEzICsyMCwxMyBAQCBtb25vZ2VuaWMgKGkuZS4sIDIgaXMg YW4gZXNzZW50aWFsIGRpc2NyaW1pbmFudCBkaXZpc29yKTo6Ci0gCi0gICAgIHNhZ2U6IEsuPGE+ ID0gTnVtYmVyRmllbGQoeF4zICsgeF4yIC0gMip4ICsgOCkKLSAgICAgc2FnZTogRiA9IEsuZmFj dG9yKDIpOyBGCi0tICAgIChGcmFjdGlvbmFsIGlkZWFsICgxLzIqYV4yIC0gMS8yKmEgKyAxKSkg KiAoRnJhY3Rpb25hbCBpZGVhbCAoLWFeMiArIDIqYSAtIDMpKSAqIChGcmFjdGlvbmFsIGlkZWFs ICgtMy8yKmFeMiArIDUvMiphIC0gNCkpCi0rICAgIChGcmFjdGlvbmFsIGlkZWFsICgtMS8yKmFe MiArIDEvMiphIC0gMSkpICogKEZyYWN0aW9uYWwgaWRlYWwgKC1hXjIgKyAyKmEgLSAzKSkgKiAo RnJhY3Rpb25hbCBpZGVhbCAoMy8yKmFeMiAtIDUvMiphICsgNCkpCi0gICAgIHNhZ2U6IEZbMF1b MF0ucmVzaWR1ZV9maWVsZCgpCi0tICAgIFJlc2lkdWUgZmllbGQgb2YgRnJhY3Rpb25hbCBpZGVh bCAoMS8yKmFeMiAtIDEvMiphICsgMSkKLSsgICAgUmVzaWR1ZSBmaWVsZCBvZiBGcmFjdGlvbmFs IGlkZWFsICgtMS8yKmFeMiArIDEvMiphIC0gMSkKLSAgICAgc2FnZTogRlsxXVswXS5yZXNpZHVl X2ZpZWxkKCkKLSAgICAgUmVzaWR1ZSBmaWVsZCBvZiBGcmFjdGlvbmFsIGlkZWFsICgtYV4yICsg MiphIC0gMykKLSAgICAgc2FnZTogRlsyXVswXS5yZXNpZHVlX2ZpZWxkKCkKLS0gICAgUmVzaWR1 ZSBmaWVsZCBvZiBGcmFjdGlvbmFsIGlkZWFsICgtMy8yKmFeMiArIDUvMiphIC0gNCkKLSsgICAg UmVzaWR1ZSBmaWVsZCBvZiBGcmFjdGlvbmFsIGlkZWFsICgzLzIqYV4yIC0gNS8yKmEgKyA0KQot IAotIFdlIGNhbiBhbHNvIGZvcm0gcmVzaWR1ZSBmaWVsZHMgZnJvbSBgXFpaYDo6Ci0gCi1AQCAt MjU4LDkgKzI1OCw5IEBAIGNsYXNzIFJlc2lkdWVGaWVsZEZhY3RvcnkoVW5pcXVlRmFjdG9yeSk6 Ci0gICAgIHRoZSBpbmRleCBvZiBgYFpaW2FdYGAgaW4gdGhlIG1heGltYWwgb3JkZXIgZm9yIGFs bCBgYGFgYDo6Ci0gCi0gICAgICAgICBzYWdlOiBLLjxhPiA9IE51bWJlckZpZWxkKHheMyArIHhe MiAtIDIqeCArIDgpOyBQID0gSy5pZGVhbCgyKS5mYWN0b3IoKVswXVswXTsgUAotLSAgICAgICAg RnJhY3Rpb25hbCBpZGVhbCAoMS8yKmFeMiAtIDEvMiphICsgMSkKLSsgICAgICAgIEZyYWN0aW9u YWwgaWRlYWwgKC0xLzIqYV4yICsgMS8yKmEgLSAxKQotICAgICAgICAgc2FnZTogRiA9IEsucmVz aWR1ZV9maWVsZChQKTsgRgotLSAgICAgICAgUmVzaWR1ZSBmaWVsZCBvZiBGcmFjdGlvbmFsIGlk ZWFsICgxLzIqYV4yIC0gMS8yKmEgKyAxKQotKyAgICAgICAgUmVzaWR1ZSBmaWVsZCBvZiBGcmFj dGlvbmFsIGlkZWFsICgtMS8yKmFeMiArIDEvMiphIC0gMSkKLSAgICAgICAgIHNhZ2U6IEYoYSkK LSAgICAgICAgIDAKLSAgICAgICAgIHNhZ2U6IEIgPSBLLm1heGltYWxfb3JkZXIoKS5iYXNpcygp OyBCCi1AQCAtMjcwLDcgKzI3MCw3IEBAIGNsYXNzIFJlc2lkdWVGaWVsZEZhY3RvcnkoVW5pcXVl RmFjdG9yeSk6Ci0gICAgICAgICBzYWdlOiBGKEJbMl0pCi0gICAgICAgICAwCi0gICAgICAgICBz YWdlOiBGCi0tICAgICAgICBSZXNpZHVlIGZpZWxkIG9mIEZyYWN0aW9uYWwgaWRlYWwgKDEvMiph XjIgLSAxLzIqYSArIDEpCi0rICAgICAgICBSZXNpZHVlIGZpZWxkIG9mIEZyYWN0aW9uYWwgaWRl YWwgKC0xLzIqYV4yICsgMS8yKmEgLSAxKQotICAgICAgICAgc2FnZTogRi5kZWdyZWUoKQotICAg ICAgICAgMQotIAotQEAgLTczMCwxNSArNzMwLDE1IEBAIGNsYXNzIFJlc2lkdWVGaWVsZF9nZW5l cmljKEZpZWxkKToKLSAgICAgICAgIEVYQU1QTEVTOjoKLSAKLSAgICAgICAgICAgICBzYWdlOiBJ ID0gUVFbM14oMS8zKV0uZmFjdG9yKDUpWzFdWzBdOyBJCi0tICAgICAgICAgICAgRnJhY3Rpb25h bCBpZGVhbCAoLWEgKyAyKQotKyAgICAgICAgICAgIEZyYWN0aW9uYWwgaWRlYWwgKGEgLSAyKQot ICAgICAgICAgICAgIHNhZ2U6IGsgPSBJLnJlc2lkdWVfZmllbGQoKTsgawotLSAgICAgICAgICAg IFJlc2lkdWUgZmllbGQgb2YgRnJhY3Rpb25hbCBpZGVhbCAoLWEgKyAyKQotKyAgICAgICAgICAg IFJlc2lkdWUgZmllbGQgb2YgRnJhY3Rpb25hbCBpZGVhbCAoYSAtIDIpCi0gICAgICAgICAgICAg c2FnZTogZiA9IGsubGlmdF9tYXAoKTsgZgotICAgICAgICAgICAgIExpZnRpbmcgbWFwOgotLSAg ICAgICAgICAgICAgRnJvbTogUmVzaWR1ZSBmaWVsZCBvZiBGcmFjdGlvbmFsIGlkZWFsICgtYSAr IDIpCi0rICAgICAgICAgICAgICBGcm9tOiBSZXNpZHVlIGZpZWxkIG9mIEZyYWN0aW9uYWwgaWRl YWwgKGEgLSAyKQotICAgICAgICAgICAgICAgVG86ICAgTWF4aW1hbCBPcmRlciBpbiBOdW1iZXIg RmllbGQgaW4gYSB3aXRoIGRlZmluaW5nIHBvbHlub21pYWwgeF4zIC0gMyB3aXRoIGEgPSAxLjQ0 MjI0OTU3MDMwNzQwOT8KLSAgICAgICAgICAgICBzYWdlOiBmLmRvbWFpbigpCi0tICAgICAgICAg ICAgUmVzaWR1ZSBmaWVsZCBvZiBGcmFjdGlvbmFsIGlkZWFsICgtYSArIDIpCi0rICAgICAgICAg ICAgUmVzaWR1ZSBmaWVsZCBvZiBGcmFjdGlvbmFsIGlkZWFsIChhIC0gMikKLSAgICAgICAgICAg ICBzYWdlOiBmLmNvZG9tYWluKCkKLSAgICAgICAgICAgICBNYXhpbWFsIE9yZGVyIGluIE51bWJl ciBGaWVsZCBpbiBhIHdpdGggZGVmaW5pbmcgcG9seW5vbWlhbCB4XjMgLSAzIHdpdGggYSA9IDEu NDQyMjQ5NTcwMzA3NDA5PwotICAgICAgICAgICAgIHNhZ2U6IGYoay4wKQotQEAgLTc2OCw3ICs3 NjgsNyBAQCBjbGFzcyBSZXNpZHVlRmllbGRfZ2VuZXJpYyhGaWVsZCk6Ci0gCi0gICAgICAgICAg ICAgc2FnZTogSy48YT4gPSBOdW1iZXJGaWVsZCh4XjMtMTEpCi0gICAgICAgICAgICAgc2FnZTog RiA9IEsuaWRlYWwoMzcpLmZhY3RvcigpOyBGCi0tICAgICAgICAgICAgKEZyYWN0aW9uYWwgaWRl YWwgKDM3LCBhICsgOSkpICogKEZyYWN0aW9uYWwgaWRlYWwgKDM3LCBhICsgMTIpKSAqIChGcmFj dGlvbmFsIGlkZWFsICgyKmEgLSA1KSkKLSsgICAgICAgICAgICAoRnJhY3Rpb25hbCBpZGVhbCAo MzcsIGEgKyA5KSkgKiAoRnJhY3Rpb25hbCBpZGVhbCAoMzcsIGEgKyAxMikpICogKEZyYWN0aW9u YWwgaWRlYWwgKC0yKmEgKyA1KSkKLSAgICAgICAgICAgICBzYWdlOiBrID0gSy5yZXNpZHVlX2Zp ZWxkKEZbMF1bMF0pCi0gICAgICAgICAgICAgc2FnZTogbCA9IEsucmVzaWR1ZV9maWVsZChGWzFd WzBdKQotICAgICAgICAgICAgIHNhZ2U6IGsgPT0gbAotQEAgLTg0Niw3ICs4NDYsNyBAQCBjZGVm IGNsYXNzIFJlZHVjdGlvbk1hcChNYXApOgotICAgICAgICAgICAgIHNhZ2U6IEYucmVkdWN0aW9u X21hcCgpCi0gICAgICAgICAgICAgUGFydGlhbGx5IGRlZmluZWQgcmVkdWN0aW9uIG1hcDoKLSAg ICAgICAgICAgICAgIEZyb206IE51bWJlciBGaWVsZCBpbiBhIHdpdGggZGVmaW5pbmcgcG9seW5v bWlhbCB4XjMgKyB4XjIgLSAyKnggKyA4Ci0tICAgICAgICAgICAgICBUbzogICBSZXNpZHVlIGZp ZWxkIG9mIEZyYWN0aW9uYWwgaWRlYWwgKDEvMiphXjIgLSAxLzIqYSArIDEpCi0rICAgICAgICAg ICAgICBUbzogICBSZXNpZHVlIGZpZWxkIG9mIEZyYWN0aW9uYWwgaWRlYWwgKC0xLzIqYV4yICsg MS8yKmEgLSAxKQotIAotICAgICAgICAgICAgIHNhZ2U6IEsuPHRoZXRhXzU+ID0gQ3ljbG90b21p Y0ZpZWxkKDUpCi0gICAgICAgICAgICAgc2FnZTogRiA9IEsuZmFjdG9yKDcpWzBdWzBdLnJlc2lk dWVfZmllbGQoKQotZGlmZiAtLWdpdCBhL3NyYy9zYWdlL3JpbmdzL251bWJlcl9maWVsZC9TX3Vu aXRfc29sdmVyLnB5IGIvc3JjL3NhZ2UvcmluZ3MvbnVtYmVyX2ZpZWxkL1NfdW5pdF9zb2x2ZXIu cHkKLWluZGV4IGU5OWRmZjg1MGYuLjc1OWNiZmIzMzQgMTAwNjQ0Ci0tLS0gYS9zcmMvc2FnZS9y aW5ncy9udW1iZXJfZmllbGQvU191bml0X3NvbHZlci5weQotKysrIGIvc3JjL3NhZ2UvcmluZ3Mv bnVtYmVyX2ZpZWxkL1NfdW5pdF9zb2x2ZXIucHkKLUBAIC0xNzgxLDIwICsxNzgxLDIwIEBAIGRl ZiBzaWV2ZV9vcmRlcmluZyhTVUssIHEpOgotICAgICAgICAgc2FnZTogU1VLID0gSy5TX3VuaXRf Z3JvdXAoUz0zKQotICAgICAgICAgc2FnZTogc2lldmVfZGF0YSA9IGxpc3Qoc2lldmVfb3JkZXJp bmcoU1VLLCAxOSkpCi0gICAgICAgICBzYWdlOiBzaWV2ZV9kYXRhWzBdCi0tICAgICAgICAoRnJh Y3Rpb25hbCBpZGVhbCAoeGkgLSAzKSwKLS0gICAgICAgICBGcmFjdGlvbmFsIGlkZWFsICgtMip4 aV4yICsgMyksCi0rICAgICAgICAoRnJhY3Rpb25hbCBpZGVhbCAoLTIqeGleMiArIDMpLAotKyAg ICAgICAgIEZyYWN0aW9uYWwgaWRlYWwgKC14aSArIDMpLAotICAgICAgICAgIEZyYWN0aW9uYWwg aWRlYWwgKDIqeGkgKyAxKSkKLSAKLSAgICAgICAgIHNhZ2U6IHNpZXZlX2RhdGFbMV0KLS0gICAg ICAgIChSZXNpZHVlIGZpZWxkIG9mIEZyYWN0aW9uYWwgaWRlYWwgKHhpIC0gMyksCi0tICAgICAg ICAgUmVzaWR1ZSBmaWVsZCBvZiBGcmFjdGlvbmFsIGlkZWFsICgtMip4aV4yICsgMyksCi0rICAg ICAgICAoUmVzaWR1ZSBmaWVsZCBvZiBGcmFjdGlvbmFsIGlkZWFsICgtMip4aV4yICsgMyksCi0r ICAgICAgICAgUmVzaWR1ZSBmaWVsZCBvZiBGcmFjdGlvbmFsIGlkZWFsICgteGkgKyAzKSwKLSAg ICAgICAgICBSZXNpZHVlIGZpZWxkIG9mIEZyYWN0aW9uYWwgaWRlYWwgKDIqeGkgKyAxKSkKLSAK LSAgICAgICAgIHNhZ2U6IHNpZXZlX2RhdGFbMl0KLS0gICAgICAgIChbMTgsIDcsIDE2LCA0XSwg WzE4LCA5LCAxMiwgOF0sIFsxOCwgMywgMTAsIDEwXSkKLSsgICAgICAgIChbMTgsIDEyLCAxNiwg OF0sIFsxOCwgMTYsIDEwLCA0XSwgWzE4LCAxMCwgMTIsIDEwXSkKLSAKLSAgICAgICAgIHNhZ2U6 IHNpZXZlX2RhdGFbM10KLS0gICAgICAgICg0ODYsIDY0OCwgMTE2NjQpCi0rICAgICAgICAoNjQ4 LCAyOTE2LCAzODg4KQotICAgICAiIiIKLSAKLSAgICAgSyA9IFNVSy5udW1iZXJfZmllbGQoKQot ZGlmZiAtLWdpdCBhL3NyYy9zYWdlL3JpbmdzL251bWJlcl9maWVsZC9iZGRfaGVpZ2h0LnB5IGIv c3JjL3NhZ2UvcmluZ3MvbnVtYmVyX2ZpZWxkL2JkZF9oZWlnaHQucHkKLWluZGV4IGJlYjA0N2Fl MDIuLmI3YzhjMzNkMGIgMTAwNjQ0Ci0tLS0gYS9zcmMvc2FnZS9yaW5ncy9udW1iZXJfZmllbGQv YmRkX2hlaWdodC5weQotKysrIGIvc3JjL3NhZ2UvcmluZ3MvbnVtYmVyX2ZpZWxkL2JkZF9oZWln aHQucHkKLUBAIC0yNDgsNyArMjQ4LDcgQEAgZGVmIGJkZF9ub3JtX3ByX2lkZWFsX2dlbnMoSywg bm9ybV9saXN0KToKLSAgICAgICAgIHNhZ2U6IGZyb20gc2FnZS5yaW5ncy5udW1iZXJfZmllbGQu YmRkX2hlaWdodCBpbXBvcnQgYmRkX25vcm1fcHJfaWRlYWxfZ2VucwotICAgICAgICAgc2FnZTog Sy48Zz4gPSBRdWFkcmF0aWNGaWVsZCgxMjMpCi0gICAgICAgICBzYWdlOiBiZGRfbm9ybV9wcl9p ZGVhbF9nZW5zKEssIHJhbmdlKDUpKQotLSAgICAgICAgezA6IFswXSwgMTogWzFdLCAyOiBbLWcg LSAxMV0sIDM6IFtdLCA0OiBbMl19Ci0rICAgICAgICB7MDogWzBdLCAxOiBbMV0sIDI6IFtnICsg MTFdLCAzOiBbXSwgNDogWzJdfQotIAotICAgICA6OgotIAotZGlmZiAtLWdpdCBhL3NyYy9zYWdl L3JpbmdzL251bWJlcl9maWVsZC9jbGFzc19ncm91cC5weSBiL3NyYy9zYWdlL3JpbmdzL251bWJl cl9maWVsZC9jbGFzc19ncm91cC5weQotaW5kZXggMDE4ZmY1ZjVjNi4uNzNjMDQ2MmNkMSAxMDA2 NDQKLS0tLSBhL3NyYy9zYWdlL3JpbmdzL251bWJlcl9maWVsZC9jbGFzc19ncm91cC5weQotKysr IGIvc3JjL3NhZ2UvcmluZ3MvbnVtYmVyX2ZpZWxkL2NsYXNzX2dyb3VwLnB5Ci1AQCAtMjIxLDEx ICsyMjEsMTEgQEAgY2xhc3MgRnJhY3Rpb25hbElkZWFsQ2xhc3MoQWJlbGlhbkdyb3VwV2l0aFZh bHVlc0VsZW1lbnQpOgotICAgICAgICAgICAgIENsYXNzIGdyb3VwIG9mIG9yZGVyIDc2IHdpdGgg c3RydWN0dXJlIEMzOCB4IEMyCi0gICAgICAgICAgICAgb2YgTnVtYmVyIEZpZWxkIGluIGEgd2l0 aCBkZWZpbmluZyBwb2x5bm9taWFsIHheMiArIDIwMDcyCi0gICAgICAgICAgICAgc2FnZTogSSA9 IChHLjApXjExOyBJCi0tICAgICAgICAgICAgRnJhY3Rpb25hbCBpZGVhbCBjbGFzcyAoNDEsIDEv MiphICsgNSkKLSsgICAgICAgICAgICBGcmFjdGlvbmFsIGlkZWFsIGNsYXNzICgzMywgMS8yKmEg KyA4KQotICAgICAgICAgICAgIHNhZ2U6IEogPSBHKEkuaWRlYWwoKV41KTsgSgotLSAgICAgICAg ICAgIEZyYWN0aW9uYWwgaWRlYWwgY2xhc3MgKDExNTg1NjIwMSwgMS8yKmEgKyA0MDQwNzg4MykK LSsgICAgICAgICAgICBGcmFjdGlvbmFsIGlkZWFsIGNsYXNzICgzOTEzNTM5MywgMS8yKmEgKyAx MzY1NDI1MykKLSAgICAgICAgICAgICBzYWdlOiBKLnJlZHVjZSgpCi0tICAgICAgICAgICAgRnJh Y3Rpb25hbCBpZGVhbCBjbGFzcyAoNTcsIDEvMiphICsgNDQpCi0rICAgICAgICAgICAgRnJhY3Rp b25hbCBpZGVhbCBjbGFzcyAoNzMsIDEvMiphICsgNDcpCi0gICAgICAgICAgICAgc2FnZTogSiA9 PSBJXjUKLSAgICAgICAgICAgICBUcnVlCi0gICAgICAgICAiIiIKLWRpZmYgLS1naXQgYS9zcmMv c2FnZS9yaW5ncy9udW1iZXJfZmllbGQvZ2Fsb2lzX2dyb3VwLnB5IGIvc3JjL3NhZ2UvcmluZ3Mv bnVtYmVyX2ZpZWxkL2dhbG9pc19ncm91cC5weQotaW5kZXggNzlhY2QwNTNiYi4uZTA2MDE0OGU0 ZCAxMDA2NDQKLS0tLSBhL3NyYy9zYWdlL3JpbmdzL251bWJlcl9maWVsZC9nYWxvaXNfZ3JvdXAu cHkKLSsrKyBiL3NyYy9zYWdlL3JpbmdzL251bWJlcl9maWVsZC9nYWxvaXNfZ3JvdXAucHkKLUBA IC05NDQsNyArOTQ0LDcgQEAgY2xhc3MgR2Fsb2lzR3JvdXBfdjIoR2Fsb2lzR3JvdXBfcGVybSk6 Ci0gICAgICAgICAgICAgc2FnZTogSy48Yj4gPSBOdW1iZXJGaWVsZCh4XjQgLSAyKnheMiArIDIs ICdhJykuZ2Fsb2lzX2Nsb3N1cmUoKQotICAgICAgICAgICAgIHNhZ2U6IEcgPSBLLmdhbG9pc19n cm91cCgpCi0gICAgICAgICAgICAgc2FnZTogW0cuYXJ0aW5fc3ltYm9sKFApIGZvciBQIGluIEsu cHJpbWVzX2Fib3ZlKDcpXQotLSAgICAgICAgICAgIFsoMSw1KSgyLDYpKDMsNykoNCw4KSwgKDEs NSkoMiw2KSgzLDcpKDQsOCksICgxLDQpKDIsMykoNSw4KSg2LDcpLCAoMSw0KSgyLDMpKDUsOCko Niw3KV0KLSsgICAgICAgICAgICBbKDEsNCkoMiwzKSg1LDgpKDYsNyksICgxLDQpKDIsMykoNSw4 KSg2LDcpLCAoMSw1KSgyLDYpKDMsNykoNCw4KSwgKDEsNSkoMiw2KSgzLDcpKDQsOCldCi0gICAg ICAgICAgICAgc2FnZTogRy5hcnRpbl9zeW1ib2woMTcpCi0gICAgICAgICAgICAgVHJhY2ViYWNr IChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgotICAgICAgICAgICAgIC4uLgotZGlmZiAtLWdpdCBh L3NyYy9zYWdlL3JpbmdzL251bWJlcl9maWVsZC9udW1iZXJfZmllbGQucHkgYi9zcmMvc2FnZS9y aW5ncy9udW1iZXJfZmllbGQvbnVtYmVyX2ZpZWxkLnB5Ci1pbmRleCA1ODQ2M2Q1NzBkLi5mZjY1 NjM0ZTk5IDEwMDY0NAotLS0tIGEvc3JjL3NhZ2UvcmluZ3MvbnVtYmVyX2ZpZWxkL251bWJlcl9m aWVsZC5weQotKysrIGIvc3JjL3NhZ2UvcmluZ3MvbnVtYmVyX2ZpZWxkL251bWJlcl9maWVsZC5w eQotQEAgLTM2NDMsNyArMzY0Myw3IEBAIGNsYXNzIE51bWJlckZpZWxkX2dlbmVyaWMoV2l0aEVx dWFsaXR5QnlJZCwgbnVtYmVyX2ZpZWxkX2Jhc2UuTnVtYmVyRmllbGQpOgotICAgICAgICAgICAg IHNhZ2U6IEwuPGI+ID0gSy5leHRlbnNpb24oeF4yIC0gMywgeF4yICsgMSkKLSAgICAgICAgICAg ICBzYWdlOiBNLjxjPiA9IEwuZXh0ZW5zaW9uKHheMiArIDEpCi0gICAgICAgICAgICAgc2FnZTog TC5pZGVhbChLLmlkZWFsKDIsIGEpKQotLSAgICAgICAgICAgIEZyYWN0aW9uYWwgaWRlYWwgKC1h KQotKyAgICAgICAgICAgIEZyYWN0aW9uYWwgaWRlYWwgKGEpCi0gICAgICAgICAgICAgc2FnZTog TS5pZGVhbChLLmlkZWFsKDIsIGEpKSA9PSBNLmlkZWFsKGEqKGIgLSBjKS8yKQotICAgICAgICAg ICAgIFRydWUKLSAKLUBAIC00MjI3LDcgKzQyMjcsOCBAQCBjbGFzcyBOdW1iZXJGaWVsZF9nZW5l cmljKFdpdGhFcXVhbGl0eUJ5SWQsIG51bWJlcl9maWVsZF9iYXNlLk51bWJlckZpZWxkKToKLSAg ICAgICAgICAgICAoeV4yICsgNiwgTW9kKDEvNip5LCB5XjIgKyA2KSwgTW9kKDYqeSwgeV4yICsg MS82KSkKLSAgICAgICAgICIiIgotICAgICAgICAgZiA9IHNlbGYuYWJzb2x1dGVfcG9seW5vbWlh bCgpLl9wYXJpX3dpdGhfbmFtZSgneScpCi0tICAgICAgICBpZiBmLnBvbGxlYWQoKSA9PSBmLmNv bnRlbnQoKS5kZW5vbWluYXRvcigpID09IDE6Ci0rICAgICAgICBmID0gZiAqIGYuY29udGVudCgp LmRlbm9taW5hdG9yKCkKLSsgICAgICAgIGlmIGYucG9sbGVhZCgpID09IDE6Ci0gICAgICAgICAg ICAgZyA9IGYKLSAgICAgICAgICAgICBhbHBoYSA9IGJldGEgPSBnLnZhcmlhYmxlKCkuTW9kKGcp Ci0gICAgICAgICBlbHNlOgotQEAgLTQ4MjEsNyArNDgyMiw3IEBAIGNsYXNzIE51bWJlckZpZWxk X2dlbmVyaWMoV2l0aEVxdWFsaXR5QnlJZCwgbnVtYmVyX2ZpZWxkX2Jhc2UuTnVtYmVyRmllbGQp OgotIAotICAgICAgICAgICAgIHNhZ2U6IEsuPGE+ID0gTnVtYmVyRmllbGQoMip4XjIgLSAxLzMp Ci0gICAgICAgICAgICAgc2FnZTogSy5fU19jbGFzc19ncm91cF9hbmRfdW5pdHModHVwbGUoSy5w cmltZXNfYWJvdmUoMikgKyBLLnByaW1lc19hYm92ZSgzKSkpCi0tICAgICAgICAgICAgKFstNiph ICsgMiwgNiphICsgMywgLTEsIDEyKmEgKyA1XSwgW10pCi0rICAgICAgICAgICAgKFs2KmEgKyAy LCA2KmEgKyAzLCAtMSwgLTEyKmEgKyA1XSwgW10pCi0gICAgICAgICAiIiIKLSAgICAgICAgIEtf cGFyaSA9IHNlbGYucGFyaV9ibmYocHJvb2Y9cHJvb2YpCi0gICAgICAgICBTX3BhcmkgPSBbcC5w YXJpX3ByaW1lKCkgZm9yIHAgaW4gc29ydGVkKHNldChTKSldCi1AQCAtNTE2Niw3ICs1MTY3LDcg QEAgY2xhc3MgTnVtYmVyRmllbGRfZ2VuZXJpYyhXaXRoRXF1YWxpdHlCeUlkLCBudW1iZXJfZmll bGRfYmFzZS5OdW1iZXJGaWVsZCk6Ci0gCi0gICAgICAgICAgICAgc2FnZTogW0suaWRlYWwoZyku ZmFjdG9yKCkgZm9yIGcgaW4gZ2Vuc10KLSAgICAgICAgICAgICBbKEZyYWN0aW9uYWwgaWRlYWwg KDIsIGEgKyAxKSkgKiAoRnJhY3Rpb25hbCBpZGVhbCAoMywgYSArIDEpKSwKLS0gICAgICAgICAg ICBGcmFjdGlvbmFsIGlkZWFsICgtYSksCi0rICAgICAgICAgICAgRnJhY3Rpb25hbCBpZGVhbCAo YSksCi0gICAgICAgICAgICAgKEZyYWN0aW9uYWwgaWRlYWwgKDIsIGEgKyAxKSleMiwKLSAgICAg ICAgICAgICAxXQotIAotQEAgLTU3NTEsNyArNTc1Miw3IEBAIGNsYXNzIE51bWJlckZpZWxkX2dl bmVyaWMoV2l0aEVxdWFsaXR5QnlJZCwgbnVtYmVyX2ZpZWxkX2Jhc2UuTnVtYmVyRmllbGQpOgot ICAgICAgICAgICAgIHNhZ2U6IEsuZWxlbWVudHNfb2Zfbm9ybSgzKQotICAgICAgICAgICAgIFtd Ci0gICAgICAgICAgICAgc2FnZTogSy5lbGVtZW50c19vZl9ub3JtKDUwKQotLSAgICAgICAgICAg IFstNyphICsgMSwgNSphIC0gNSwgNyphICsgMV0KLSsgICAgICAgICAgICBbLWEgLSA3LCA1KmEg LSA1LCA3KmEgKyAxXQotIAotICAgICAgICAgVEVTVFM6Ci0gCi1AQCAtNTg2Myw3ICs1ODY0LDcg QEAgY2xhc3MgTnVtYmVyRmllbGRfZ2VuZXJpYyhXaXRoRXF1YWxpdHlCeUlkLCBudW1iZXJfZmll bGRfYmFzZS5OdW1iZXJGaWVsZCk6Ci0gICAgICAgICAgICAgc2FnZTogSy5mYWN0b3IoMSthKQot ICAgICAgICAgICAgIEZyYWN0aW9uYWwgaWRlYWwgKGEgKyAxKQotICAgICAgICAgICAgIHNhZ2U6 IEsuZmFjdG9yKDErYS81KQotLSAgICAgICAgICAgIChGcmFjdGlvbmFsIGlkZWFsIChhICsgMSkp ICogKEZyYWN0aW9uYWwgaWRlYWwgKC1hIC0gMikpXi0xICogKEZyYWN0aW9uYWwgaWRlYWwgKDIq YSArIDEpKV4tMSAqIChGcmFjdGlvbmFsIGlkZWFsICgtMyphIC0gMikpCi0rICAgICAgICAgICAg KEZyYWN0aW9uYWwgaWRlYWwgKGEgKyAxKSkgKiAoRnJhY3Rpb25hbCBpZGVhbCAoLWEgLSAyKSle LTEgKiAoRnJhY3Rpb25hbCBpZGVhbCAoMiphICsgMSkpXi0xICogKEZyYWN0aW9uYWwgaWRlYWwg KC0yKmEgKyAzKSkKLSAKLSAgICAgICAgIEFuIGV4YW1wbGUgb3ZlciBhIHJlbGF0aXZlIG51bWJl ciBmaWVsZDo6Ci0gCi1AQCAtNjQ2MCw5ICs2NDYxLDkgQEAgY2xhc3MgTnVtYmVyRmllbGRfZ2Vu ZXJpYyhXaXRoRXF1YWxpdHlCeUlkLCBudW1iZXJfZmllbGRfYmFzZS5OdW1iZXJGaWVsZCk6Ci0g ICAgICAgICAgICAgc2FnZTogbmV3X2Jhc2lzID0gay5yZWR1Y2VkX2Jhc2lzKHByZWM9MTIwKQot ICAgICAgICAgICAgIHNhZ2U6IFtjLm1pbnBvbHkoKSBmb3IgYyBpbiBuZXdfYmFzaXNdCi0gICAg ICAgICAgICAgW3ggLSAxLAotLSAgICAgICAgICAgICB4XjIgLSB4ICsgMSwKLSsgICAgICAgICAg ICAgeF4yICsgeCArIDEsCi0rICAgICAgICAgICAgIHheNiArIDMqeF41IC0gMTAyKnheNCAtIDEw Myp4XjMgKyAxMDU3Mip4XjIgLSA1OTkxOSp4ICsgMTI3NjU3LAotICAgICAgICAgICAgICB4XjYg KyAzKnheNSAtIDEwMip4XjQgLSAxMDMqeF4zICsgMTA1NzIqeF4yIC0gNTk5MTkqeCArIDEyNzY1 NywKLS0gICAgICAgICAgICAgeF42IC0gMyp4XjUgLSAxMDIqeF40ICsgMzE1KnheMyArIDEwMjU0 KnheMiAtIDgwOTU1KnggKyAxOTgxNDcsCi0gICAgICAgICAgICAgIHheMyAtIDE3MSp4ICsgODQ4 LAotICAgICAgICAgICAgICB4XjYgKyAxNzEqeF40ICsgMTY5Nip4XjMgKyAyOTI0MSp4XjIgKyAx NDUwMDgqeCArIDcxOTEwNF0KLSAgICAgICAgICAgICBzYWdlOiBSID0gay5vcmRlcihuZXdfYmFz aXMpCi1AQCAtNzA1OCw3ICs3MDU5LDcgQEAgY2xhc3MgTnVtYmVyRmllbGRfZ2VuZXJpYyhXaXRo RXF1YWxpdHlCeUlkLCBudW1iZXJfZmllbGRfYmFzZS5OdW1iZXJGaWVsZCk6Ci0gICAgICAgICAg ICAgIC1hXjE2IC0gYV4xNSAtIGFeMTQgLSBhXjEzIC0gYV4xMiAtIGFeMTEgLSBhXjEwIC0gYV45 IC0gYV44IC0gYV43IC0gYV42IC0gYV41IC0gYV40IC0gYV4zIC0gYV4yICsgMiwKLSAgICAgICAg ICAgICAgLTIqYV4xNiArIDMqYV4xNSAtIDMqYV4xNCArIDMqYV4xMyAtIDMqYV4xMiArIGFeMTEg LSBhXjkgKyAzKmFeOCAtIDQqYV43ICsgNSphXjYgLSA2KmFeNSArIDQqYV40IC0gMyphXjMgKyAy KmFeMiArIDIqYSAtIDQsCi0gICAgICAgICAgICAgIGFeMTUgLSBhXjEyICsgYV4xMCAtIGFeOSAt IDIqYV44ICsgMyphXjcgKyBhXjYgLSAzKmFeNSArIGFeNCArIDQqYV4zIC0gMyphXjIgLSAyKmEg KyAyLAotLSAgICAgICAgICAgICAtYV4xNCAtIGFeMTMgKyBhXjEyICsgMiphXjEwICsgYV44IC0g MiphXjcgLSAyKmFeNiArIDIqYV4zIC0gYV4yICsgMiphIC0gMikKLSsgICAgICAgICAgICAgMiph XjE2ICsgYV4xNSAtIGFeMTEgLSAzKmFeMTAgLSA0KmFeOSAtIDQqYV44IC0gNCphXjcgLSA1KmFe NiAtIDcqYV41IC0gOCphXjQgLSA2KmFeMyAtIDUqYV4yIC0gNiphIC0gNykKLSAKLSAgICAgICAg IFRFU1RTOgotIAotQEAgLTcwNjcsNyArNzA2OCw3IEBAIGNsYXNzIE51bWJlckZpZWxkX2dlbmVy aWMoV2l0aEVxdWFsaXR5QnlJZCwgbnVtYmVyX2ZpZWxkX2Jhc2UuTnVtYmVyRmllbGQpOgotIAot ICAgICAgICAgICAgIHNhZ2U6IEsuPGE+ID0gTnVtYmVyRmllbGQoMS8yKnheMiAtIDEvNikKLSAg ICAgICAgICAgICBzYWdlOiBLLnVuaXRzKCkKLS0gICAgICAgICAgICAoLTMqYSArIDIsKQotKyAg ICAgICAgICAgICgzKmEgLSAyLCkKLSAgICAgICAgICIiIgotICAgICAgICAgcHJvb2YgPSBwcm9v Zl9mbGFnKHByb29mKQotIAotQEAgLTcxNDYsNyArNzE0Nyw3IEBAIGNsYXNzIE51bWJlckZpZWxk X2dlbmVyaWMoV2l0aEVxdWFsaXR5QnlJZCwgbnVtYmVyX2ZpZWxkX2Jhc2UuTnVtYmVyRmllbGQp OgotICAgICAgICAgICAgIHNhZ2U6IFUuZ2VucygpCi0gICAgICAgICAgICAgKHUwLCB1MSwgdTIs IHUzLCB1NCwgdTUsIHU2LCB1NywgdTgpCi0gICAgICAgICAgICAgc2FnZTogVS5nZW5zX3ZhbHVl cygpICAjIHJlc3VsdCBub3QgaW5kZXBlbmRlbnRseSB2ZXJpZmllZAotLSAgICAgICAgICAgIFst MSwgLWFeOSAtIGEgKyAxLCAtYV4xNiArIGFeMTUgLSBhXjE0ICsgYV4xMiAtIGFeMTEgKyBhXjEw ICsgYV44IC0gYV43ICsgMiphXjYgLSBhXjQgKyAzKmFeMyAtIDIqYV4yICsgMiphIC0gMSwgMiph XjE2IC0gYV4xNCAtIGFeMTMgKyAzKmFeMTIgLSAyKmFeMTAgKyBhXjkgKyAzKmFeOCAtIDMqYV42 ICsgMyphXjUgKyAzKmFeNCAtIDIqYV4zIC0gMiphXjIgKyAzKmEgKyA0LCBhXjE1ICsgYV4xNCAr IDIqYV4xMSArIGFeMTAgLSBhXjkgKyBhXjggKyAyKmFeNyAtIGFeNSArIDIqYV4zIC0gYV4yIC0g MyphICsgMSwgLWFeMTYgLSBhXjE1IC0gYV4xNCAtIGFeMTMgLSBhXjEyIC0gYV4xMSAtIGFeMTAg LSBhXjkgLSBhXjggLSBhXjcgLSBhXjYgLSBhXjUgLSBhXjQgLSBhXjMgLSBhXjIgKyAyLCAtMiph XjE2ICsgMyphXjE1IC0gMyphXjE0ICsgMyphXjEzIC0gMyphXjEyICsgYV4xMSAtIGFeOSArIDMq YV44IC0gNCphXjcgKyA1KmFeNiAtIDYqYV41ICsgNCphXjQgLSAzKmFeMyArIDIqYV4yICsgMiph IC0gNCwgYV4xNSAtIGFeMTIgKyBhXjEwIC0gYV45IC0gMiphXjggKyAzKmFeNyArIGFeNiAtIDMq YV41ICsgYV40ICsgNCphXjMgLSAzKmFeMiAtIDIqYSArIDIsIC1hXjE0IC0gYV4xMyArIGFeMTIg KyAyKmFeMTAgKyBhXjggLSAyKmFeNyAtIDIqYV42ICsgMiphXjMgLSBhXjIgKyAyKmEgLSAyXQot KyAgICAgICAgICAgIFstMSwgLWFeOSAtIGEgKyAxLCAtYV4xNiArIGFeMTUgLSBhXjE0ICsgYV4x MiAtIGFeMTEgKyBhXjEwICsgYV44IC0gYV43ICsgMiphXjYgLSBhXjQgKyAzKmFeMyAtIDIqYV4y ICsgMiphIC0gMSwgMiphXjE2IC0gYV4xNCAtIGFeMTMgKyAzKmFeMTIgLSAyKmFeMTAgKyBhXjkg KyAzKmFeOCAtIDMqYV42ICsgMyphXjUgKyAzKmFeNCAtIDIqYV4zIC0gMiphXjIgKyAzKmEgKyA0 LCBhXjE1ICsgYV4xNCArIDIqYV4xMSArIGFeMTAgLSBhXjkgKyBhXjggKyAyKmFeNyAtIGFeNSAr IDIqYV4zIC0gYV4yIC0gMyphICsgMSwgLWFeMTYgLSBhXjE1IC0gYV4xNCAtIGFeMTMgLSBhXjEy IC0gYV4xMSAtIGFeMTAgLSBhXjkgLSBhXjggLSBhXjcgLSBhXjYgLSBhXjUgLSBhXjQgLSBhXjMg LSBhXjIgKyAyLCAtMiphXjE2ICsgMyphXjE1IC0gMyphXjE0ICsgMyphXjEzIC0gMyphXjEyICsg YV4xMSAtIGFeOSArIDMqYV44IC0gNCphXjcgKyA1KmFeNiAtIDYqYV41ICsgNCphXjQgLSAzKmFe MyArIDIqYV4yICsgMiphIC0gNCwgYV4xNSAtIGFeMTIgKyBhXjEwIC0gYV45IC0gMiphXjggKyAz KmFeNyArIGFeNiAtIDMqYV41ICsgYV40ICsgNCphXjMgLSAzKmFeMiAtIDIqYSArIDIsIDIqYV4x NiArIGFeMTUgLSBhXjExIC0gMyphXjEwIC0gNCphXjkgLSA0KmFeOCAtIDQqYV43IC0gNSphXjYg LSA3KmFeNSAtIDgqYV40IC0gNiphXjMgLSA1KmFeMiAtIDYqYSAtIDddCi0gICAgICAgICAiIiIK LSAgICAgICAgIHByb29mID0gcHJvb2ZfZmxhZyhwcm9vZikKLSAKLWRpZmYgLS1naXQgYS9zcmMv c2FnZS9yaW5ncy9udW1iZXJfZmllbGQvbnVtYmVyX2ZpZWxkX2VsZW1lbnQucHl4IGIvc3JjL3Nh Z2UvcmluZ3MvbnVtYmVyX2ZpZWxkL251bWJlcl9maWVsZF9lbGVtZW50LnB5eAotaW5kZXggNzg0 YzIzOWRjMS4uYWE3NDAwNjlkYyAxMDA2NDQKLS0tLSBhL3NyYy9zYWdlL3JpbmdzL251bWJlcl9m aWVsZC9udW1iZXJfZmllbGRfZWxlbWVudC5weXgKLSsrKyBiL3NyYy9zYWdlL3JpbmdzL251bWJl cl9maWVsZC9udW1iZXJfZmllbGRfZWxlbWVudC5weXgKLUBAIC00NDQ2LDcgKzQ0NDYsNyBAQCBj ZGVmIGNsYXNzIE51bWJlckZpZWxkRWxlbWVudChGaWVsZEVsZW1lbnQpOgotICAgICAgICAgICAg IHNhZ2U6IGYgPSBRaS5lbWJlZGRpbmdzKEspWzBdCi0gICAgICAgICAgICAgc2FnZTogYSA9IGYo MiszKmkpICogKDItemV0YSleMgotICAgICAgICAgICAgIHNhZ2U6IGEuZGVzY2VuZF9tb2RfcG93 ZXIoUWksMikKLS0gICAgICAgICAgICBbLTMqaSAtIDIsIC0yKmkgKyAzXQotKyAgICAgICAgICAg IFstMippICsgMywgMyppICsgMl0KLSAKLSAgICAgICAgIEFuIGFic29sdXRlIGV4YW1wbGU6Ogot IAotQEAgLTUxMjQsNyArNTEyNCw3IEBAIGNkZWYgY2xhc3MgTnVtYmVyRmllbGRFbGVtZW50X3Jl bGF0aXZlKE51bWJlckZpZWxkRWxlbWVudCk6Ci0gICAgICAgICBFWEFNUExFUzo6Ci0gCi0gICAg ICAgICAgICAgc2FnZTogSy48YSwgYiwgYz4gPSBOdW1iZXJGaWVsZChbeF4yIC0gMiwgeF4yIC0g MywgeF4yIC0gNV0pCi0tICAgICAgICAgICAgc2FnZTogUCA9IEsucHJpbWVfZmFjdG9ycyg1KVsw XQotKyAgICAgICAgICAgIHNhZ2U6IFAgPSBLLnByaW1lX2ZhY3RvcnMoNSlbMV0KLSAgICAgICAg ICAgICBzYWdlOiAoMiphICsgYiAtIGMpLnZhbHVhdGlvbihQKQotICAgICAgICAgICAgIDEKLSAg ICAgICAgICIiIgotZGlmZiAtLWdpdCBhL3NyYy9zYWdlL3JpbmdzL251bWJlcl9maWVsZC9udW1i ZXJfZmllbGRfaWRlYWwucHkgYi9zcmMvc2FnZS9yaW5ncy9udW1iZXJfZmllbGQvbnVtYmVyX2Zp ZWxkX2lkZWFsLnB5Ci1pbmRleCA1ZjU4NzU1NmE0Li4zMzQ4MWZlYWQwIDEwMDY0NAotLS0tIGEv c3JjL3NhZ2UvcmluZ3MvbnVtYmVyX2ZpZWxkL251bWJlcl9maWVsZF9pZGVhbC5weQotKysrIGIv c3JjL3NhZ2UvcmluZ3MvbnVtYmVyX2ZpZWxkL251bWJlcl9maWVsZF9pZGVhbC5weQotQEAgLTMz NTUsNyArMzM1NSw3IEBAIGRlZiBxdW90aWVudF9jaGFyX3AoSSwgcCk6Ci0gICAgICAgICBbXQot IAotICAgICAgICAgc2FnZTogSSA9IEsuZmFjdG9yKDEzKVswXVswXTsgSQotLSAgICAgICAgRnJh Y3Rpb25hbCBpZGVhbCAoLTMqaSAtIDIpCi0rICAgICAgICBGcmFjdGlvbmFsIGlkZWFsICgtMipp ICsgMykKLSAgICAgICAgIHNhZ2U6IEkucmVzaWR1ZV9jbGFzc19kZWdyZWUoKQotICAgICAgICAg MQotICAgICAgICAgc2FnZTogcXVvdGllbnRfY2hhcl9wKEksIDEzKVswXQotZGlmZiAtLWdpdCBh L3NyYy9zYWdlL3JpbmdzL251bWJlcl9maWVsZC9udW1iZXJfZmllbGRfaWRlYWxfcmVsLnB5IGIv c3JjL3NhZ2UvcmluZ3MvbnVtYmVyX2ZpZWxkL251bWJlcl9maWVsZF9pZGVhbF9yZWwucHkKLWlu ZGV4IGJhZTM2ZDRiOWMuLmY2NGJkNWI3NjEgMTAwNjQ0Ci0tLS0gYS9zcmMvc2FnZS9yaW5ncy9u dW1iZXJfZmllbGQvbnVtYmVyX2ZpZWxkX2lkZWFsX3JlbC5weQotKysrIGIvc3JjL3NhZ2Uvcmlu Z3MvbnVtYmVyX2ZpZWxkL251bWJlcl9maWVsZF9pZGVhbF9yZWwucHkKLUBAIC0yNzIsNyArMjcy LDcgQEAgY2xhc3MgTnVtYmVyRmllbGRGcmFjdGlvbmFsSWRlYWxfcmVsKE51bWJlckZpZWxkRnJh Y3Rpb25hbElkZWFsKToKLSAgICAgICAgICAgICBzYWdlOiBMLjxiPiA9IEsuZXh0ZW5zaW9uKDUq eF4yICsgMSkKLSAgICAgICAgICAgICBzYWdlOiBQID0gTC5wcmltZXNfYWJvdmUoMilbMF0KLSAg ICAgICAgICAgICBzYWdlOiBQLmdlbnNfcmVkdWNlZCgpCi0tICAgICAgICAgICAgKDIsIDE1KmEq YiArIDMqYSArIDEpCi0rICAgICAgICAgICAgKDIsIC0xNSphKmIgKyAzKmEgKyAxKQotICAgICAg ICAgIiIiCi0gICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgIyBDb21wdXRlIHRoZSBzaW5nbGUg Z2VuZXJhdG9yLCBpZiBpdCBleGlzdHMKLUBAIC00MDEsNyArNDAxLDcgQEAgY2xhc3MgTnVtYmVy RmllbGRGcmFjdGlvbmFsSWRlYWxfcmVsKE51bWJlckZpZWxkRnJhY3Rpb25hbElkZWFsKToKLSAg ICAgICAgICAgICBzYWdlOiBMLjxiPiA9IEsuZXh0ZW5zaW9uKDUqeF4yICsgMSkKLSAgICAgICAg ICAgICBzYWdlOiBQID0gTC5wcmltZXNfYWJvdmUoMilbMF0KLSAgICAgICAgICAgICBzYWdlOiBQ LnJlbGF0aXZlX25vcm0oKQotLSAgICAgICAgICAgIEZyYWN0aW9uYWwgaWRlYWwgKC02KmEgKyAy KQotKyAgICAgICAgICAgIEZyYWN0aW9uYWwgaWRlYWwgKDYqYSArIDIpCi0gICAgICAgICAiIiIK LSAgICAgICAgIEwgPSBzZWxmLm51bWJlcl9maWVsZCgpCi0gICAgICAgICBLID0gTC5iYXNlX2Zp ZWxkKCkKLUBAIC01MTgsNyArNTE4LDcgQEAgY2xhc3MgTnVtYmVyRmllbGRGcmFjdGlvbmFsSWRl YWxfcmVsKE51bWJlckZpZWxkRnJhY3Rpb25hbElkZWFsKToKLSAgICAgICAgICAgICBzYWdlOiBM LjxiPiA9IEsuZXh0ZW5zaW9uKDUqeF4yICsgMSkKLSAgICAgICAgICAgICBzYWdlOiBQID0gTC5w cmltZXNfYWJvdmUoMilbMF0KLSAgICAgICAgICAgICBzYWdlOiBQLmlkZWFsX2JlbG93KCkKLS0g ICAgICAgICAgICBGcmFjdGlvbmFsIGlkZWFsICgtNiphICsgMikKLSsgICAgICAgICAgICBGcmFj dGlvbmFsIGlkZWFsICg2KmEgKyAyKQotICAgICAgICAgIiIiCi0gICAgICAgICBMID0gc2VsZi5u dW1iZXJfZmllbGQoKQotICAgICAgICAgSyA9IEwuYmFzZV9maWVsZCgpCi1kaWZmIC0tZ2l0IGEv c3JjL3NhZ2UvcmluZ3MvbnVtYmVyX2ZpZWxkL251bWJlcl9maWVsZF9yZWwucHkgYi9zcmMvc2Fn ZS9yaW5ncy9udW1iZXJfZmllbGQvbnVtYmVyX2ZpZWxkX3JlbC5weQotaW5kZXggZDMzOTgwYzRi MS4uNTBlODQ2YjIwNSAxMDA2NDQKLS0tLSBhL3NyYy9zYWdlL3JpbmdzL251bWJlcl9maWVsZC9u dW1iZXJfZmllbGRfcmVsLnB5Ci0rKysgYi9zcmMvc2FnZS9yaW5ncy9udW1iZXJfZmllbGQvbnVt YmVyX2ZpZWxkX3JlbC5weQotQEAgLTIxMywxNCArMjEzLDE0IEBAIGNsYXNzIE51bWJlckZpZWxk X3JlbGF0aXZlKE51bWJlckZpZWxkX2dlbmVyaWMpOgotICAgICAgICAgICAgIHNhZ2U6IGwuPGI+ ID0gay5leHRlbnNpb24oNSp4XjIgKyAzKTsgbAotICAgICAgICAgICAgIE51bWJlciBGaWVsZCBp biBiIHdpdGggZGVmaW5pbmcgcG9seW5vbWlhbCA1KnheMiArIDMgb3ZlciBpdHMgYmFzZSBmaWVs ZAotICAgICAgICAgICAgIHNhZ2U6IGwucGFyaV9ybmYoKQotLSAgICAgICAgICAgIFt4XjIgKyAo LTEvMip5XjIgKyB5IC0gMy8yKSp4ICsgKC0xLzQqeV4zICsgMS80KnleMiAtIDMvNCp5IC0gMTMv NCksIC4uLiwgeV40ICsgNip5XjIgKyAxLCB4XjIgKyAoLTEvMip5XjIgKyB5IC0gMy8yKSp4ICsg KC0xLzQqeV4zICsgMS80KnleMiAtIDMvNCp5IC0gMTMvNCldLCBbMCwgMF1dCi0rICAgICAgICAg ICAgW3heMiArICgteV4zICsgMS8yKnleMiAtIDYqeSArIDMvMikqeCArICgtMy80KnleMyAtIDEv NCp5XjIgLSAxNy80KnkgLSAxOS80KSwgLi4uLCB5XjQgKyA2KnleMiArIDEsIHheMiArICgteV4z ICsgMS8yKnleMiAtIDYqeSArIDMvMikqeCArICgtMy80KnleMyAtIDEvNCp5XjIgLSAxNy80Knkg LSAxOS80KV0sIFswLCAwXV0KLSAgICAgICAgICAgICBzYWdlOiBiCi0gICAgICAgICAgICAgYgot IAotICAgICAgICAgICAgIHNhZ2U6IGwuPGI+ID0gay5leHRlbnNpb24oeF4yICsgMy81KTsgbAot ICAgICAgICAgICAgIE51bWJlciBGaWVsZCBpbiBiIHdpdGggZGVmaW5pbmcgcG9seW5vbWlhbCB4 XjIgKyAzLzUgb3ZlciBpdHMgYmFzZSBmaWVsZAotICAgICAgICAgICAgIHNhZ2U6IGwucGFyaV9y bmYoKQotLSAgICAgICAgICAgIFt4XjIgKyAoLTEvMip5XjIgKyB5IC0gMy8yKSp4ICsgKC0xLzQq eV4zICsgMS80KnleMiAtIDMvNCp5IC0gMTMvNCksIC4uLiwgeV40ICsgNip5XjIgKyAxLCB4XjIg KyAoLTEvMip5XjIgKyB5IC0gMy8yKSp4ICsgKC0xLzQqeV4zICsgMS80KnleMiAtIDMvNCp5IC0g MTMvNCldLCBbMCwgMF1dCi0rICAgICAgICAgICAgW3heMiArICgteV4zICsgMS8yKnleMiAtIDYq eSArIDMvMikqeCArICgtMy80KnleMyAtIDEvNCp5XjIgLSAxNy80KnkgLSAxOS80KSwgLi4uLCB5 XjQgKyA2KnleMiArIDEsIHheMiArICgteV4zICsgMS8yKnleMiAtIDYqeSArIDMvMikqeCArICgt My80KnleMyAtIDEvNCp5XjIgLSAxNy80KnkgLSAxOS80KV0sIFswLCAwXV0KLSAgICAgICAgICAg ICBzYWdlOiBiCi0gICAgICAgICAgICAgYgotIAotZGlmZiAtLWdpdCBhL3NyYy9zYWdlL3Jpbmdz L251bWJlcl9maWVsZC9vcmRlci5weSBiL3NyYy9zYWdlL3JpbmdzL251bWJlcl9maWVsZC9vcmRl ci5weQotaW5kZXggNmVjYTg5ZWQ4ZC4uNzhlZjRjM2IzMyAxMDA2NDQKLS0tLSBhL3NyYy9zYWdl L3JpbmdzL251bWJlcl9maWVsZC9vcmRlci5weQotKysrIGIvc3JjL3NhZ2UvcmluZ3MvbnVtYmVy X2ZpZWxkL29yZGVyLnB5Ci1AQCAtNTIwLDcgKzUyMCw3IEBAIGNsYXNzIE9yZGVyKEludGVncmFs RG9tYWluLCBzYWdlLnJpbmdzLmFiYy5PcmRlcik6Ci0gICAgICAgICAgICAgc2FnZTogay48YT4g PSBOdW1iZXJGaWVsZCh4XjIgKyA1MDc3KTsgRyA9IGsuY2xhc3NfZ3JvdXAoKTsgRwotICAgICAg ICAgICAgIENsYXNzIGdyb3VwIG9mIG9yZGVyIDIyIHdpdGggc3RydWN0dXJlIEMyMiBvZiBOdW1i ZXIgRmllbGQgaW4gYSB3aXRoIGRlZmluaW5nIHBvbHlub21pYWwgeF4yICsgNTA3NwotICAgICAg ICAgICAgIHNhZ2U6IEcuMCBeIC05Ci0tICAgICAgICAgICAgRnJhY3Rpb25hbCBpZGVhbCBjbGFz cyAoMTEsIGEgKyA3KQotKyAgICAgICAgICAgIEZyYWN0aW9uYWwgaWRlYWwgY2xhc3MgKDQzLCBh ICsgMTMpCi0gICAgICAgICAgICAgc2FnZTogT2sgPSBrLm1heGltYWxfb3JkZXIoKTsgT2sKLSAg ICAgICAgICAgICBNYXhpbWFsIE9yZGVyIGluIE51bWJlciBGaWVsZCBpbiBhIHdpdGggZGVmaW5p bmcgcG9seW5vbWlhbCB4XjIgKyA1MDc3Ci0gICAgICAgICAgICAgc2FnZTogT2sgKiAoMTEsIGEg KyA3KQotZGlmZiAtLWdpdCBhL3NyYy9zYWdlL3JpbmdzL251bWJlcl9maWVsZC9zZWxtZXJfZ3Jv dXAucHkgYi9zcmMvc2FnZS9yaW5ncy9udW1iZXJfZmllbGQvc2VsbWVyX2dyb3VwLnB5Ci1pbmRl eCBjNTM0YWFhOWY2Li42YmM2NzU2NWQyIDEwMDY0NAotLS0tIGEvc3JjL3NhZ2UvcmluZ3MvbnVt YmVyX2ZpZWxkL3NlbG1lcl9ncm91cC5weQotKysrIGIvc3JjL3NhZ2UvcmluZ3MvbnVtYmVyX2Zp ZWxkL3NlbG1lcl9ncm91cC5weQotQEAgLTQ5MSw3ICs0OTEsNyBAQCBkZWYgcFNlbG1lckdyb3Vw KEssIFMsIHAsIHByb29mPU5vbmUsIGRlYnVnPUZhbHNlKToKLSAKLSAgICAgICAgIHNhZ2U6IFtL LmlkZWFsKGcpLmZhY3RvcigpIGZvciBnIGluIGdlbnNdCi0gICAgICAgICBbKEZyYWN0aW9uYWwg aWRlYWwgKDIsIGEgKyAxKSkgKiAoRnJhY3Rpb25hbCBpZGVhbCAoMywgYSArIDEpKSwKLS0gICAg ICAgIEZyYWN0aW9uYWwgaWRlYWwgKC1hKSwKLSsgICAgICAgIEZyYWN0aW9uYWwgaWRlYWwgKGEp LAotICAgICAgICAgKEZyYWN0aW9uYWwgaWRlYWwgKDIsIGEgKyAxKSleMiwKLSAgICAgICAgIDFd Ci0gCi1kaWZmIC0tZ2l0IGEvc3JjL3NhZ2UvcmluZ3MvcG9seW5vbWlhbC9wb2x5bm9taWFsX3F1 b3RpZW50X3JpbmcucHkgYi9zcmMvc2FnZS9yaW5ncy9wb2x5bm9taWFsL3BvbHlub21pYWxfcXVv dGllbnRfcmluZy5weQotaW5kZXggYmI1ZDgzNTZiZS4uOGE3ZTVmYTY2ZiAxMDA2NDQKLS0tLSBh L3NyYy9zYWdlL3JpbmdzL3BvbHlub21pYWwvcG9seW5vbWlhbF9xdW90aWVudF9yaW5nLnB5Ci0r KysgYi9zcmMvc2FnZS9yaW5ncy9wb2x5bm9taWFsL3BvbHlub21pYWxfcXVvdGllbnRfcmluZy5w eQotQEAgLTE3OTEsNyArMTc5MSw3IEBAIGNsYXNzIFBvbHlub21pYWxRdW90aWVudFJpbmdfZ2Vu ZXJpYyhDb21tdXRhdGl2ZVJpbmcpOgotICAgICAgICAgICAgIHNhZ2U6IEQuc2VsbWVyX2dlbmVy YXRvcnMoW0suaWRlYWwoMiwgLWErMSksIEsuaWRlYWwoMywgYSsxKV0sIDMpCi0gICAgICAgICAg ICAgWzIsIGEgKyAxXQotICAgICAgICAgICAgIHNhZ2U6IEQuc2VsbWVyX2dlbmVyYXRvcnMoW0su aWRlYWwoMiwgLWErMSksIEsuaWRlYWwoMywgYSsxKSwgSy5pZGVhbChhKV0sIDMpCi0tICAgICAg ICAgICAgWzIsIGEgKyAxLCBhXQotKyAgICAgICAgICAgIFsyLCBhICsgMSwgLWFdCi0gCi0gICAg ICAgICAiIiIKLSAgICAgICAgIGZpZWxkcywgaXNvcywgaXNvX2NsYXNzZXMgPSBzZWxmLl9TX2Rl Y29tcG9zaXRpb24odHVwbGUoUykpCi1kaWZmIC0tZ2l0IGEvc3JjL3NhZ2UvcmluZ3MvcXFiYXIu cHkgYi9zcmMvc2FnZS9yaW5ncy9xcWJhci5weQotaW5kZXggNzA0Yjc3Y2U1Zi4uODNlZTQ1NDll NCAxMDA2NDQKLS0tLSBhL3NyYy9zYWdlL3JpbmdzL3FxYmFyLnB5Ci0rKysgYi9zcmMvc2FnZS9y aW5ncy9xcWJhci5weQotQEAgLTMxMiw4ICszMTIsOCBAQCBhbmQgd2UgZ2V0IGEgd2F5IHRvIHBy b2R1Y2UgdGhlIG51bWJlciBkaXJlY3RseTo6Ci0gICAgIFRydWUKLSAgICAgc2FnZTogc2FnZV9p bnB1dChuKQotICAgICBSLjx5PiA9IFFRW10KLS0gICAgdiA9IEFBLnBvbHlub21pYWxfcm9vdChB QS5jb21tb25fcG9seW5vbWlhbCh5XjQgLSA0KnleMiArIDEpLCBSSUYoUlIoMC41MTc2MzgwOTAy MDUwNDE0OCksIFJSKDAuNTE3NjM4MDkwMjA1MDQxNTkpKSkKLS0gICAgLTEwOSp2XjMgLSA4OSp2 XjIgKyAzMjcqdiArIDE3OAotKyAgICB2ID0gQUEucG9seW5vbWlhbF9yb290KEFBLmNvbW1vbl9w b2x5bm9taWFsKHleNCAtIDQqeV4yICsgMSksIFJJRigtUlIoMS45MzE4NTE2NTI1NzgxMzY2KSwg LVJSKDEuOTMxODUxNjUyNTc4MTM2NCkpKQotKyAgICAtMTA5KnZeMyArIDg5KnZeMiArIDMyNyp2 IC0gMTc4Ci0gCi0gV2UgY2FuIGFsc28gc2VlIHRoYXQgc29tZSBjb21wdXRhdGlvbnMgKGJhc2lj YWxseSwgdGhvc2Ugd2hpY2ggYXJlCi0gZWFzeSB0byBwZXJmb3JtIGV4YWN0bHkpIGFyZSBwZXJm b3JtZWQgZGlyZWN0bHksIGluc3RlYWQgb2Ygc3RvcmluZwotQEAgLTM2Miw3ICszNjIsNyBAQCBh bGdvcml0aG1zIGluIDp0cmFjOmAxMDI1NWA6OgotICAgICAjIFZlcmlmaWVkCi0gICAgIFIxLjx4 PiA9IFFRYmFyW10KLSAgICAgUjIuPHk+ID0gUVFbXQotLSAgICB2ID0gQUEucG9seW5vbWlhbF9y b290KEFBLmNvbW1vbl9wb2x5bm9taWFsKHleNCAtIDQqeV4yICsgMSksIFJJRihSUigwLjUxNzYz ODA5MDIwNTA0MTQ4KSwgUlIoMC41MTc2MzgwOTAyMDUwNDE1OSkpKQotKyAgICB2ID0gQUEucG9s eW5vbWlhbF9yb290KEFBLmNvbW1vbl9wb2x5bm9taWFsKHleNCAtIDQqeV4yICsgMSksIFJJRigt UlIoMS45MzE4NTE2NTI1NzgxMzY2KSwgLVJSKDEuOTMxODUxNjUyNTc4MTM2NCkpKQotICAgICBB QS5wb2x5bm9taWFsX3Jvb3QoQUEuY29tbW9uX3BvbHlub21pYWwoeF40ICsgUVFiYXIodl4zIC0g Myp2IC0gMSkqeF4zICsgUVFiYXIoLXZeMyArIDMqdiAtIDMpKnheMiArIFFRYmFyKC0zKnZeMyAr IDkqdiArIDMpKnggKyBRUWJhcigzKnZeMyAtIDkqdikpLCBSSUYoUlIoMC45OTk5OTk5OTk5OTk5 OTk4OSksIFJSKDEuMDAwMDAwMDAwMDAwMDAwMikpKQotICAgICBzYWdlOiBvbmUKLSAgICAgMQot QEAgLTIzMTAsNyArMjMxMCw3IEBAIGRlZiBkb19wb2xyZWQocG9seSwgdGhyZXNob2xkPTMyKToK LSAgICAgY29zdCA9IDIgKiBiaXRzaXplLm5iaXRzKCkgKyA1ICogcG9seS5kZWdyZWUoKS5uYml0 cygpCi0gICAgIGlmIGNvc3QgPiB0aHJlc2hvbGQ6Ci0gICAgICAgICByZXR1cm4gcGFyZW50Lmdl bigpLCBwYXJlbnQuZ2VuKCksIHBvbHkKLS0gICAgbmV3X3BvbHksIGVsdF9iYWNrID0gcG9seS5f X3BhcmlfXygpLnBvbHJlZGJlc3QoZmxhZz0xKQotKyAgICBuZXdfcG9seSwgZWx0X2JhY2sgPSBw b2x5Lm51bWVyYXRvcigpLl9fcGFyaV9fKCkucG9scmVkYmVzdChmbGFnPTEpCi0gICAgIGVsdF9m d2QgPSBlbHRfYmFjay5tb2RyZXZlcnNlKCkKLSAgICAgcmV0dXJuIHBhcmVudChlbHRfZndkLmxp ZnQoKSksIHBhcmVudChlbHRfYmFjay5saWZ0KCkpLCBwYXJlbnQobmV3X3BvbHkpCi0gCi1AQCAt MjU0MiwxMCArMjU0MiwxMCBAQCBkZWYgbnVtYmVyX2ZpZWxkX2VsZW1lbnRzX2Zyb21fYWxnZWJy YWljcyhudW1iZXJzLCBtaW5pbWFsPUZhbHNlLCBzYW1lX2ZpZWxkPUZhbAotICAgICAgICAgICAg RGVmbjogYSB8LS0+IDEuNDE0MjEzNTYyMzczMDk1PykKLSAKLSAgICAgICAgIHNhZ2U6IG51bWJl cl9maWVsZF9lbGVtZW50c19mcm9tX2FsZ2VicmFpY3MoKHJ0MixydDMpKQotLSAgICAgICAgKE51 bWJlciBGaWVsZCBpbiBhIHdpdGggZGVmaW5pbmcgcG9seW5vbWlhbCB5XjQgLSA0KnleMiArIDEs IFstYV4zICsgMyphLCAtYV4yICsgMl0sIFJpbmcgbW9ycGhpc206Ci0rICAgICAgICAoTnVtYmVy IEZpZWxkIGluIGEgd2l0aCBkZWZpbmluZyBwb2x5bm9taWFsIHleNCAtIDQqeV4yICsgMSwgWy1h XjMgKyAzKmEsIGFeMiAtIDJdLCBSaW5nIG1vcnBoaXNtOgotICAgICAgICAgICAgIEZyb206IE51 bWJlciBGaWVsZCBpbiBhIHdpdGggZGVmaW5pbmcgcG9seW5vbWlhbCB5XjQgLSA0KnleMiArIDEK LSAgICAgICAgICAgICBUbzogICBBbGdlYnJhaWMgUmVhbCBGaWVsZAotLSAgICAgICAgICAgIERl Zm46IGEgfC0tPiAwLjUxNzYzODA5MDIwNTA0MTU/KQotKyAgICAgICAgICAgIERlZm46IGEgfC0t PiAtMS45MzE4NTE2NTI1NzgxMzc/KQotIAotICAgICBgYHJ0M2FgYCBpcyBhIHJlYWwgbnVtYmVy IGluIGBgUVFiYXJgYC4gIE9yZGluYXJpbHksIHdlJ2QgZ2V0IGEgaG9tb21vcnBoaXNtCi0gICAg IHRvIGBgQUFgYCAoYmVjYXVzZSBhbGwgZWxlbWVudHMgYXJlIHJlYWwpLCBidXQgaWYgd2Ugc3Bl Y2lmeSBgYHNhbWVfZmllbGQ9VHJ1ZWBgLAotQEAgLTI1NzAsNyArMjU3MCw3IEBAIGRlZiBudW1i ZXJfZmllbGRfZWxlbWVudHNfZnJvbV9hbGdlYnJhaWNzKG51bWJlcnMsIG1pbmltYWw9RmFsc2Us IHNhbWVfZmllbGQ9RmFsCi0gICAgICAgICAoTnVtYmVyIEZpZWxkIGluIGEgd2l0aCBkZWZpbmlu ZyBwb2x5bm9taWFsIHleNCAtIDQqeV4yICsgMSwgLWFeMyArIDMqYSwgUmluZyBtb3JwaGlzbToK LSAgICAgICAgICAgICBGcm9tOiBOdW1iZXIgRmllbGQgaW4gYSB3aXRoIGRlZmluaW5nIHBvbHlu b21pYWwgeV40IC0gNCp5XjIgKyAxCi0gICAgICAgICAgICAgVG86ICAgQWxnZWJyYWljIFJlYWwg RmllbGQKLS0gICAgICAgICAgICBEZWZuOiBhIHwtLT4gMC41MTc2MzgwOTAyMDUwNDE1PykKLSsg ICAgICAgICAgICBEZWZuOiBhIHwtLT4gLTEuOTMxODUxNjUyNTc4MTM3PykKLSAKLSAgICAgV2Ug Y2FuIHNwZWNpZnkgYGBtaW5pbWFsPVRydWVgYCBpZiB3ZSB3YW50IHRoZSBzbWFsbGVzdCBudW1i ZXIgZmllbGQ6OgotIAotQEAgLTI2MTgsNyArMjYxOCw3IEBAIGRlZiBudW1iZXJfZmllbGRfZWxl bWVudHNfZnJvbV9hbGdlYnJhaWNzKG51bWJlcnMsIG1pbmltYWw9RmFsc2UsIHNhbWVfZmllbGQ9 RmFsCi0gICAgICAgICBzYWdlOiBuZkleMgotICAgICAgICAgLTEKLSAgICAgICAgIHNhZ2U6IHN1 bSA9IG5mcnQyICsgbmZydDMgKyBuZkkgKyBuZnozOyBzdW0KLS0gICAgICAgIDIqYV42ICsgYV41 IC0gYV40IC0gYV4zIC0gMiphXjIgLSBhCi0rICAgICAgICBhXjUgKyBhXjQgLSBhXjMgKyAyKmFe MiAtIGEgLSAxCi0gICAgICAgICBzYWdlOiBob20oc3VtKQotICAgICAgICAgMi42NDYyNjQzNjk5 NDE5NzM/ICsgMS44NjYwMjU0MDM3ODQ0Mzk/KkkKLSAgICAgICAgIHNhZ2U6IGhvbShzdW0pID09 IHJ0MiArIHJ0MyArIHFxSSArIHozCi1AQCAtMjY1OCw3ICsyNjU4LDcgQEAgZGVmIG51bWJlcl9m aWVsZF9lbGVtZW50c19mcm9tX2FsZ2VicmFpY3MobnVtYmVycywgbWluaW1hbD1GYWxzZSwgc2Ft ZV9maWVsZD1GYWwKLSAgICAgICAgIHNhZ2U6IG5mLCBudW1zLCBob20gPSBudW1iZXJfZmllbGRf ZWxlbWVudHNfZnJvbV9hbGdlYnJhaWNzKGVsZW1zLCBlbWJlZGRlZD1UcnVlKQotICAgICAgICAg c2FnZTogbmYKLSAgICAgICAgIE51bWJlciBGaWVsZCBpbiBhIHdpdGggZGVmaW5pbmcgcG9seW5v bWlhbCB5XjI0IC0gNip5XjIzIC4uLi0gOSp5XjIgKyAxCi0tICAgICAgICAgIHdpdGggYSA9IDAu MjU5ODY3ODkxMTQzMzQzOD8gKyAwLjA1NzI4OTIyNDcwNTg0NTc/KkkKLSsgICAgICAgICAgd2l0 aCBhID0gMC4yNTk4Njc5PyArIDAuMDU3Mjg5Mj8qSQotICAgICAgICAgc2FnZTogbGlzdChtYXAo UVFiYXIsIG51bXMpKSA9PSBlbGVtcyA9PSBsaXN0KG1hcChob20sIG51bXMpKQotICAgICAgICAg VHJ1ZQotIAotQEAgLTI3MjUsNyArMjcyNSw3IEBAIGRlZiBudW1iZXJfZmllbGRfZWxlbWVudHNf ZnJvbV9hbGdlYnJhaWNzKG51bWJlcnMsIG1pbmltYWw9RmFsc2UsIHNhbWVfZmllbGQ9RmFsCi0g ICAgICAgICAgICAgICAgICAgICAgICAgIHNxcnQoMiksIEFBLnBvbHlub21pYWxfcm9vdCh4XjMt MywgUklGKDAsMykpLCAxMS85LCAxXQotICAgICAgICAgc2FnZTogcmVzID0gbnVtYmVyX2ZpZWxk X2VsZW1lbnRzX2Zyb21fYWxnZWJyYWljcyhteV9udW1zLCBlbWJlZGRlZD1UcnVlKQotICAgICAg ICAgc2FnZTogcmVzWzBdCi0tICAgICAgICBOdW1iZXIgRmllbGQgaW4gYSB3aXRoIGRlZmluaW5n IHBvbHlub21pYWwgeV4yNCAtIDEwNzAxMCp5XjIyIC0gMjQqeV4yMSArIC4uLiArIDI1MDY3ODQ0 NzE5MzA0MDYxODYyNDMwNzA5NjgxNTA0ODAyNDMxODg1MzI1NDM4NCB3aXRoIGEgPSAtOTUuNTA1 MzAzOTQzMzU1ND8KLSsgICAgICAgIE51bWJlciBGaWVsZCBpbiBhIHdpdGggZGVmaW5pbmcgcG9s eW5vbWlhbCB5XjI0IC0gMTA3MDEwKnleMjIgLSAyNCp5XjIxICsgLi4uICsgMjUwNjc4NDQ3MTkz MDQwNjE4NjI0MzA3MDk2ODE1MDQ4MDI0MzE4ODUzMjU0Mzg0IHdpdGggYSA9IDkzLjMyNTMwNzk4 MTcyNDIwPwotICAgICAiIiIKLSAgICAgZ2VuID0gcXFfZ2VuZXJhdG9yCi0gCi1AQCAtMzEyOSw3 ICszMTI5LDcgQEAgY2xhc3MgQWxnZWJyYWljR2VuZXJhdG9yKFNhZ2VPYmplY3QpOgotICAgICAg ICAgICAgIHNhZ2U6IHJvb3QgPSBBTlJvb3QoeF4yIC0geCAtIDEsIFJJRigxLCAyKSkKLSAgICAg ICAgICAgICBzYWdlOiBnZW4gPSBBbGdlYnJhaWNHZW5lcmF0b3IobmYsIHJvb3QpCi0gICAgICAg ICAgICAgc2FnZTogZ2VuLnBhcmlfZmllbGQoKQotLSAgICAgICAgICAgICBbeV4yIC0geSAtIDEs IFsyLCAwXSwgLi4uXQotKyAgICAgICAgICAgIFtbeV4yIC0geSAtIDEsIFsyLCAwXSwgLi4uXQot ICAgICAgICAgIiIiCi0gICAgICAgICBpZiBzZWxmLmlzX3RyaXZpYWwoKToKLSAgICAgICAgICAg ICByYWlzZSBWYWx1ZUVycm9yKCJObyBQQVJJIGZpZWxkIGF0dGFjaGVkIHRvIHRyaXZpYWwgZ2Vu ZXJhdG9yIikKLUBAIC0zMjEzLDcgKzMyMTMsNyBAQCBjbGFzcyBBbGdlYnJhaWNHZW5lcmF0b3Io U2FnZU9iamVjdCk6Ci0gICAgICAgICAgICAgc2FnZTogcXFfZ2VuZXJhdG9yLnVuaW9uKGdlbjMp IGlzIGdlbjMKLSAgICAgICAgICAgICBUcnVlCi0gICAgICAgICAgICAgc2FnZTogZ2VuMi51bmlv bihnZW4zKQotLSAgICAgICAgICAgIE51bWJlciBGaWVsZCBpbiBhIHdpdGggZGVmaW5pbmcgcG9s eW5vbWlhbCB5XjQgLSA0KnleMiArIDEgd2l0aCBhIGluIDAuNTE3NjM4MDkwMjA1MDQxNT8KLSsg ICAgICAgICAgICBOdW1iZXIgRmllbGQgaW4gYSB3aXRoIGRlZmluaW5nIHBvbHlub21pYWwgeV40 IC0gNCp5XjIgKyAxIHdpdGggYSBpbiAtMS45MzE4NTE2NTI1NzgxMzc/Ci0gICAgICAgICAiIiIK LSAgICAgICAgIGlmIHNlbGYuX3RyaXZpYWw6Ci0gICAgICAgICAgICAgcmV0dXJuIG90aGVyCi1A QCAtMzMwNiwxMyArMzMwNiwxMyBAQCBjbGFzcyBBbGdlYnJhaWNHZW5lcmF0b3IoU2FnZU9iamVj dCk6Ci0gICAgICAgICAgICAgTnVtYmVyIEZpZWxkIGluIGEgd2l0aCBkZWZpbmluZyBwb2x5bm9t aWFsIHleMiAtIDMgd2l0aCBhIGluIDEuNzMyMDUwODA3NTY4ODc4PwotICAgICAgICAgICAgIHNh Z2U6IGdlbjJfMyA9IGdlbjIudW5pb24oZ2VuMykKLSAgICAgICAgICAgICBzYWdlOiBnZW4yXzMK LS0gICAgICAgICAgICBOdW1iZXIgRmllbGQgaW4gYSB3aXRoIGRlZmluaW5nIHBvbHlub21pYWwg eV40IC0gNCp5XjIgKyAxIHdpdGggYSBpbiAwLjUxNzYzODA5MDIwNTA0MTU/Ci0rICAgICAgICAg ICAgTnVtYmVyIEZpZWxkIGluIGEgd2l0aCBkZWZpbmluZyBwb2x5bm9taWFsIHleNCAtIDQqeV4y ICsgMSB3aXRoIGEgaW4gLTEuOTMxODUxNjUyNTc4MTM3PwotICAgICAgICAgICAgIHNhZ2U6IHFx X2dlbmVyYXRvci5zdXBlcl9wb2x5KGdlbjIpIGlzIE5vbmUKLSAgICAgICAgICAgICBUcnVlCi0g ICAgICAgICAgICAgc2FnZTogZ2VuMi5zdXBlcl9wb2x5KGdlbjJfMykKLSAgICAgICAgICAgICAt YV4zICsgMyphCi0gICAgICAgICAgICAgc2FnZTogZ2VuMy5zdXBlcl9wb2x5KGdlbjJfMykKLS0g ICAgICAgICAgICAtYV4yICsgMgotKyAgICAgICAgICAgIGFeMiAtIDIKLSAKLSAgICAgICAgICIi IgotICAgICAgICAgaWYgY2hlY2tlZCBpcyBOb25lOgotQEAgLTMzNjAsMTMgKzMzNjAsMTMgQEAg Y2xhc3MgQWxnZWJyYWljR2VuZXJhdG9yKFNhZ2VPYmplY3QpOgotICAgICAgICAgICAgIHNhZ2U6 IHNxcnQzID0gQU5FeHRlbnNpb25FbGVtZW50KGdlbjMsIG5mMy5nZW4oKSkKLSAgICAgICAgICAg ICBzYWdlOiBnZW4yXzMgPSBnZW4yLnVuaW9uKGdlbjMpCi0gICAgICAgICAgICAgc2FnZTogZ2Vu Ml8zCi0tICAgICAgICAgICAgTnVtYmVyIEZpZWxkIGluIGEgd2l0aCBkZWZpbmluZyBwb2x5bm9t aWFsIHleNCAtIDQqeV4yICsgMSB3aXRoIGEgaW4gMC41MTc2MzgwOTAyMDUwNDE1PwotKyAgICAg ICAgICAgIE51bWJlciBGaWVsZCBpbiBhIHdpdGggZGVmaW5pbmcgcG9seW5vbWlhbCB5XjQgLSA0 KnleMiArIDEgd2l0aCBhIGluIC0xLjkzMTg1MTY1MjU3ODEzNz8KLSAgICAgICAgICAgICBzYWdl OiBnZW4yXzMoc3FydDIpCi0gICAgICAgICAgICAgLWFeMyArIDMqYQotICAgICAgICAgICAgIHNh Z2U6IGdlbjJfMyhBTlJhdGlvbmFsKDEvNykpCi0gICAgICAgICAgICAgMS83Ci0gICAgICAgICAg ICAgc2FnZTogZ2VuMl8zKHNxcnQzKQotLSAgICAgICAgICAgIC1hXjIgKyAyCi0rICAgICAgICAg ICAgYV4yIC0gMgotICAgICAgICAgIiIiCi0gICAgICAgICBpZiBzZWxmLl90cml2aWFsOgotICAg ICAgICAgICAgIHJldHVybiBlbHQuX3ZhbHVlCi1AQCAtNDMzNiwxMCArNDMzNiwxMCBAQCBjbGFz cyBBbGdlYnJhaWNOdW1iZXJfYmFzZShzYWdlLnN0cnVjdHVyZS5lbGVtZW50LkZpZWxkRWxlbWVu dCk6Ci0gICAgICAgICAgICAgc2FnZTogcnQzID0gQUEoc3FydCgzKSkKLSAgICAgICAgICAgICBz YWdlOiBydDNiID0gcnQyICsgcnQzIC0gcnQyCi0gICAgICAgICAgICAgc2FnZTogcnQzYi5hc19u dW1iZXJfZmllbGRfZWxlbWVudCgpCi0tICAgICAgICAgICAgKE51bWJlciBGaWVsZCBpbiBhIHdp dGggZGVmaW5pbmcgcG9seW5vbWlhbCB5XjQgLSA0KnleMiArIDEsIC1hXjIgKyAyLCBSaW5nIG1v cnBoaXNtOgotKyAgICAgICAgICAgIChOdW1iZXIgRmllbGQgaW4gYSB3aXRoIGRlZmluaW5nIHBv bHlub21pYWwgeV40IC0gNCp5XjIgKyAxLCBhXjIgLSAyLCBSaW5nIG1vcnBoaXNtOgotICAgICAg ICAgICAgICAgICBGcm9tOiBOdW1iZXIgRmllbGQgaW4gYSB3aXRoIGRlZmluaW5nIHBvbHlub21p YWwgeV40IC0gNCp5XjIgKyAxCi0gICAgICAgICAgICAgICAgIFRvOiAgIEFsZ2VicmFpYyBSZWFs IEZpZWxkCi0tICAgICAgICAgICAgICAgIERlZm46IGEgfC0tPiAwLjUxNzYzODA5MDIwNTA0MTU/ KQotKyAgICAgICAgICAgICAgICBEZWZuOiBhIHwtLT4gLTEuOTMxODUxNjUyNTc4MTM3PykKLSAg ICAgICAgICAgICBzYWdlOiBydDNiLmFzX251bWJlcl9maWVsZF9lbGVtZW50KG1pbmltYWw9VHJ1 ZSkKLSAgICAgICAgICAgICAoTnVtYmVyIEZpZWxkIGluIGEgd2l0aCBkZWZpbmluZyBwb2x5bm9t aWFsIHleMiAtIDMsIGEsIFJpbmcgbW9ycGhpc206Ci0gICAgICAgICAgICAgICAgRnJvbTogTnVt YmVyIEZpZWxkIGluIGEgd2l0aCBkZWZpbmluZyBwb2x5bm9taWFsIHleMiAtIDMKLUBAIC00NDAx LDcgKzQ0MDEsNyBAQCBjbGFzcyBBbGdlYnJhaWNOdW1iZXJfYmFzZShzYWdlLnN0cnVjdHVyZS5l bGVtZW50LkZpZWxkRWxlbWVudCk6Ci0gICAgICAgICAgICAgc2FnZTogcnQyYiA9IHJ0MyArIHJ0 MiAtIHJ0MwotICAgICAgICAgICAgIHNhZ2U6IHJ0MmIuZXhhY3RpZnkoKQotICAgICAgICAgICAg IHNhZ2U6IHJ0MmIuX2V4YWN0X3ZhbHVlKCkKLS0gICAgICAgICAgICBhXjMgLSAzKmEgd2hlcmUg YV40IC0gNCphXjIgKyAxID0gMCBhbmQgYSBpbiAxLjkzMTg1MTY1MjU3ODEzNz8KLSsgICAgICAg ICAgICBhXjMgLSAzKmEgd2hlcmUgYV40IC0gNCphXjIgKyAxID0gMCBhbmQgYSBpbiAtMC41MTc2 MzgwOTAyMDUwNDE1PwotICAgICAgICAgICAgIHNhZ2U6IHJ0MmIuc2ltcGxpZnkoKQotICAgICAg ICAgICAgIHNhZ2U6IHJ0MmIuX2V4YWN0X3ZhbHVlKCkKLSAgICAgICAgICAgICBhIHdoZXJlIGFe MiAtIDIgPSAwIGFuZCBhIGluIDEuNDE0MjEzNTYyMzczMDk1PwotQEAgLTQ0MjIsNyArNDQyMiw3 IEBAIGNsYXNzIEFsZ2VicmFpY051bWJlcl9iYXNlKHNhZ2Uuc3RydWN0dXJlLmVsZW1lbnQuRmll bGRFbGVtZW50KToKLSAgICAgICAgICAgICBzYWdlOiBRUWJhcigyKS5fZXhhY3RfZmllbGQoKQot ICAgICAgICAgICAgIFRyaXZpYWwgZ2VuZXJhdG9yCi0gICAgICAgICAgICAgc2FnZTogKHNxcnQo UVFiYXIoMikpICsgc3FydChRUWJhcigxOSkpKS5fZXhhY3RfZmllbGQoKQotLSAgICAgICAgICAg IE51bWJlciBGaWVsZCBpbiBhIHdpdGggZGVmaW5pbmcgcG9seW5vbWlhbCB5XjQgLSAyMCp5XjIg KyA4MSB3aXRoIGEgaW4gMi4zNzUxMDAyMjAyOTc5NDE/Ci0rICAgICAgICAgICAgTnVtYmVyIEZp ZWxkIGluIGEgd2l0aCBkZWZpbmluZyBwb2x5bm9taWFsIHleNCAtIDIwKnleMiArIDgxIHdpdGgg YSBpbiAtMy43ODkzMTM3ODI2NzEwMzY/Ci0gICAgICAgICAgICAgc2FnZTogKFFRYmFyKDcpXigz LzUpKS5fZXhhY3RfZmllbGQoKQotICAgICAgICAgICAgIE51bWJlciBGaWVsZCBpbiBhIHdpdGgg ZGVmaW5pbmcgcG9seW5vbWlhbCB5XjUgLSAyKnleNCAtIDE4KnleMyArIDM4KnleMiArIDgyKnkg LSAxODEgd2l0aCBhIGluIDIuNTU0MjU2NjExNjk4NDkwPwotICAgICAgICAgIiIiCi1AQCAtNDQ0 Miw3ICs0NDQyLDcgQEAgY2xhc3MgQWxnZWJyYWljTnVtYmVyX2Jhc2Uoc2FnZS5zdHJ1Y3R1cmUu ZWxlbWVudC5GaWVsZEVsZW1lbnQpOgotICAgICAgICAgICAgIHNhZ2U6IFFRYmFyKDIpLl9leGFj dF92YWx1ZSgpCi0gICAgICAgICAgICAgMgotICAgICAgICAgICAgIHNhZ2U6IChzcXJ0KFFRYmFy KDIpKSArIHNxcnQoUVFiYXIoMTkpKSkuX2V4YWN0X3ZhbHVlKCkKLS0gICAgICAgICAgICAtMS85 KmFeMyAtIGFeMiArIDExLzkqYSArIDEwIHdoZXJlIGFeNCAtIDIwKmFeMiArIDgxID0gMCBhbmQg YSBpbiAyLjM3NTEwMDIyMDI5Nzk0MT8KLSsgICAgICAgICAgICAtMS85KmFeMyArIGFeMiArIDEx LzkqYSAtIDEwIHdoZXJlIGFeNCAtIDIwKmFeMiArIDgxID0gMCBhbmQgYSBpbiAtMy43ODkzMTM3 ODI2NzEwMzY/Ci0gICAgICAgICAgICAgc2FnZTogKFFRYmFyKDcpXigzLzUpKS5fZXhhY3RfdmFs dWUoKQotICAgICAgICAgICAgIDIqYV40ICsgMiphXjMgLSAzNCphXjIgLSAxNyphICsgMTUwIHdo ZXJlIGFeNSAtIDIqYV40IC0gMTgqYV4zICsgMzgqYV4yICsgODIqYSAtIDE4MSA9IDAgYW5kIGEg aW4gMi41NTQyNTY2MTE2OTg0OTA/Ci0gICAgICAgICAiIiIKLUBAIC02ODU3LDcgKzY4NTcsNyBA QCBjbGFzcyBBbGdlYnJhaWNQb2x5bm9taWFsVHJhY2tlcihTYWdlT2JqZWN0KToKLSAgICAgICAg ICAgICBzYWdlOiBwID0gc3FydChBQSgyKSkgKiB4XjIgLSBzcXJ0KEFBKDMpKQotICAgICAgICAg ICAgIHNhZ2U6IGNwID0gQUEuY29tbW9uX3BvbHlub21pYWwocCkKLSAgICAgICAgICAgICBzYWdl OiBjcC5nZW5lcmF0b3IoKQotLSAgICAgICAgICAgIE51bWJlciBGaWVsZCBpbiBhIHdpdGggZGVm aW5pbmcgcG9seW5vbWlhbCB5XjQgLSA0KnleMiArIDEgd2l0aCBhIGluIDEuOTMxODUxNjUyNTc4 MTM3PwotKyAgICAgICAgICAgIE51bWJlciBGaWVsZCBpbiBhIHdpdGggZGVmaW5pbmcgcG9seW5v bWlhbCB5XjQgLSA0KnleMiArIDEgd2l0aCBhIGluIC0wLjUxNzYzODA5MDIwNTA0MTU/Ci0gICAg ICAgICAiIiIKLSAgICAgICAgIHNlbGYuZXhhY3RpZnkoKQotICAgICAgICAgcmV0dXJuIHNlbGYu X2dlbgotQEAgLTc3MDYsNyArNzcwNiw3IEBAIGNsYXNzIEFORXh0ZW5zaW9uRWxlbWVudChBTkRl c2NyKToKLSAKLSAgICAgICAgICAgICBzYWdlOiBydDJiLmV4YWN0aWZ5KCkKLSAgICAgICAgICAg ICBzYWdlOiBydDJiLl9kZXNjcgotLSAgICAgICAgICAgIGFeMyAtIDMqYSB3aGVyZSBhXjQgLSA0 KmFeMiArIDEgPSAwIGFuZCBhIGluIDEuOTMxODUxNjUyNTc4MTM3PwotKyAgICAgICAgICAgIGFe MyAtIDMqYSB3aGVyZSBhXjQgLSA0KmFeMiArIDEgPSAwIGFuZCBhIGluIC0wLjUxNzYzODA5MDIw NTA0MTU/Ci0gICAgICAgICAgICAgc2FnZTogcnQyYi5fZGVzY3IuaXNfc2ltcGxlKCkKLSAgICAg ICAgICAgICBGYWxzZQotICAgICAgICAgIiIiCi1AQCAtNzc5MSw3ICs3NzkxLDcgQEAgY2xhc3Mg QU5FeHRlbnNpb25FbGVtZW50KEFORGVzY3IpOgotICAgICAgICAgICAgIHNhZ2U6IHJ0MmIgPSBy dDMgKyBydDIgLSBydDMKLSAgICAgICAgICAgICBzYWdlOiBydDJiLmV4YWN0aWZ5KCkKLSAgICAg ICAgICAgICBzYWdlOiBydDJiLl9kZXNjcgotLSAgICAgICAgICAgIGFeMyAtIDMqYSB3aGVyZSBh XjQgLSA0KmFeMiArIDEgPSAwIGFuZCBhIGluIDEuOTMxODUxNjUyNTc4MTM3PwotKyAgICAgICAg ICAgIGFeMyAtIDMqYSB3aGVyZSBhXjQgLSA0KmFeMiArIDEgPSAwIGFuZCBhIGluIC0wLjUxNzYz ODA5MDIwNTA0MTU/Ci0gICAgICAgICAgICAgc2FnZTogcnQyYi5fZGVzY3Iuc2ltcGxpZnkocnQy YikKLSAgICAgICAgICAgICBhIHdoZXJlIGFeMiAtIDIgPSAwIGFuZCBhIGluIDEuNDE0MjEzNTYy MzczMDk1PwotICAgICAgICAgIiIiCi1AQCAtNzgzMCw5ICs3ODMwLDkgQEAgY2xhc3MgQU5FeHRl bnNpb25FbGVtZW50KEFORGVzY3IpOgotICAgICAgICAgICAgIHNhZ2U6IHR5cGUoYikKLSAgICAg ICAgICAgICA8Y2xhc3MgJ3NhZ2UucmluZ3MucXFiYXIuQU5FeHRlbnNpb25FbGVtZW50Jz4KLSAg ICAgICAgICAgICBzYWdlOiBiLm5lZyhhKQotLSAgICAgICAgICAgIDEvMyphXjMgLSAyLzMqYV4y ICsgNC8zKmEgLSAyIHdoZXJlIGFeNCAtIDIqYV4zICsgYV4yIC0gNiphICsgOSA9IDAgYW5kIGEg aW4gLTAuNzI0NzQ0ODcxMzkxNTg5MD8gLSAxLjU3MzEzMjE4NDk3MDk4Nz8qSQotKyAgICAgICAg ICAgIC0xLzMqYV4zICsgMS8zKmFeMiAtIGEgLSAxIHdoZXJlIGFeNCAtIDIqYV4zICsgYV4yICsg NiphICsgMyA9IDAgYW5kIGEgaW4gMS43MjQ3NDQ4NzEzOTE1ODk/ICsgMS41NzMxMzIxODQ5NzA5 ODc/KkkKLSAgICAgICAgICAgICBzYWdlOiBiLm5lZygiaGFtIHNwYW0gYW5kIGVnZ3MiKQotLSAg ICAgICAgICAgIDEvMyphXjMgLSAyLzMqYV4yICsgNC8zKmEgLSAyIHdoZXJlIGFeNCAtIDIqYV4z ICsgYV4yIC0gNiphICsgOSA9IDAgYW5kIGEgaW4gLTAuNzI0NzQ0ODcxMzkxNTg5MD8gLSAxLjU3 MzEzMjE4NDk3MDk4Nz8qSQotKyAgICAgICAgICAgIC0xLzMqYV4zICsgMS8zKmFeMiAtIGEgLSAx IHdoZXJlIGFeNCAtIDIqYV4zICsgYV4yICsgNiphICsgMyA9IDAgYW5kIGEgaW4gMS43MjQ3NDQ4 NzEzOTE1ODk/ICsgMS41NzMxMzIxODQ5NzA5ODc/KkkKLSAgICAgICAgICIiIgotICAgICAgICAg cmV0dXJuIEFORXh0ZW5zaW9uRWxlbWVudChzZWxmLl9nZW5lcmF0b3IsIC1zZWxmLl92YWx1ZSkK LSAKLUBAIC03ODQ4LDkgKzc4NDgsOSBAQCBjbGFzcyBBTkV4dGVuc2lvbkVsZW1lbnQoQU5EZXNj cik6Ci0gICAgICAgICAgICAgc2FnZTogdHlwZShiKQotICAgICAgICAgICAgIDxjbGFzcyAnc2Fn ZS5yaW5ncy5xcWJhci5BTkV4dGVuc2lvbkVsZW1lbnQnPgotICAgICAgICAgICAgIHNhZ2U6IGIu aW52ZXJ0KGEpCi0tICAgICAgICAgICAgNy8zKmFeMyAtIDIvMyphXjIgKyA0LzMqYSAtIDEyIHdo ZXJlIGFeNCAtIDIqYV4zICsgYV4yIC0gNiphICsgOSA9IDAgYW5kIGEgaW4gLTAuNzI0NzQ0ODcx MzkxNTg5MD8gLSAxLjU3MzEzMjE4NDk3MDk4Nz8qSQotKyAgICAgICAgICAgIC03LzMqYV4zICsg MTkvMyphXjIgLSA3KmEgLSA5IHdoZXJlIGFeNCAtIDIqYV4zICsgYV4yICsgNiphICsgMyA9IDAg YW5kIGEgaW4gMS43MjQ3NDQ4NzEzOTE1ODk/ICsgMS41NzMxMzIxODQ5NzA5ODc/KkkKLSAgICAg ICAgICAgICBzYWdlOiBiLmludmVydCgiaGFtIHNwYW0gYW5kIGVnZ3MiKQotLSAgICAgICAgICAg IDcvMyphXjMgLSAyLzMqYV4yICsgNC8zKmEgLSAxMiB3aGVyZSBhXjQgLSAyKmFeMyArIGFeMiAt IDYqYSArIDkgPSAwIGFuZCBhIGluIC0wLjcyNDc0NDg3MTM5MTU4OTA/IC0gMS41NzMxMzIxODQ5 NzA5ODc/KkkKLSsgICAgICAgICAgICAtNy8zKmFeMyArIDE5LzMqYV4yIC0gNyphIC0gOSB3aGVy ZSBhXjQgLSAyKmFeMyArIGFeMiArIDYqYSArIDMgPSAwIGFuZCBhIGluIDEuNzI0NzQ0ODcxMzkx NTg5PyArIDEuNTczMTMyMTg0OTcwOTg3PypJCi0gICAgICAgICAiIiIKLSAgICAgICAgIHJldHVy biBBTkV4dGVuc2lvbkVsZW1lbnQoc2VsZi5fZ2VuZXJhdG9yLCB+c2VsZi5fdmFsdWUpCi0gCi1A QCAtNzg2Niw5ICs3ODY2LDkgQEAgY2xhc3MgQU5FeHRlbnNpb25FbGVtZW50KEFORGVzY3IpOgot ICAgICAgICAgICAgIHNhZ2U6IHR5cGUoYikKLSAgICAgICAgICAgICA8Y2xhc3MgJ3NhZ2Uucmlu Z3MucXFiYXIuQU5FeHRlbnNpb25FbGVtZW50Jz4KLSAgICAgICAgICAgICBzYWdlOiBiLmNvbmp1 Z2F0ZShhKQotLSAgICAgICAgICAgIC0xLzMqYV4zICsgMi8zKmFeMiAtIDQvMyphICsgMiB3aGVy ZSBhXjQgLSAyKmFeMyArIGFeMiAtIDYqYSArIDkgPSAwIGFuZCBhIGluIC0wLjcyNDc0NDg3MTM5 MTU4OTA/ICsgMS41NzMxMzIxODQ5NzA5ODc/KkkKLSsgICAgICAgICAgICAxLzMqYV4zIC0gMS8z KmFeMiArIGEgKyAxIHdoZXJlIGFeNCAtIDIqYV4zICsgYV4yICsgNiphICsgMyA9IDAgYW5kIGEg aW4gMS43MjQ3NDQ4NzEzOTE1ODk/IC0gMS41NzMxMzIxODQ5NzA5ODc/KkkKLSAgICAgICAgICAg ICBzYWdlOiBiLmNvbmp1Z2F0ZSgiaGFtIHNwYW0gYW5kIGVnZ3MiKQotLSAgICAgICAgICAgIC0x LzMqYV4zICsgMi8zKmFeMiAtIDQvMyphICsgMiB3aGVyZSBhXjQgLSAyKmFeMyArIGFeMiAtIDYq YSArIDkgPSAwIGFuZCBhIGluIC0wLjcyNDc0NDg3MTM5MTU4OTA/ICsgMS41NzMxMzIxODQ5NzA5 ODc/KkkKLSsgICAgICAgICAgICAxLzMqYV4zIC0gMS8zKmFeMiArIGEgKyAxIHdoZXJlIGFeNCAt IDIqYV4zICsgYV4yICsgNiphICsgMyA9IDAgYW5kIGEgaW4gMS43MjQ3NDQ4NzEzOTE1ODk/IC0g MS41NzMxMzIxODQ5NzA5ODc/KkkKLSAgICAgICAgICIiIgotICAgICAgICAgaWYgc2VsZi5fZXhh Y3RseV9yZWFsOgotICAgICAgICAgICAgIHJldHVybiBzZWxmCi1AQCAtODUwMSw3ICs4NTAxLDcg QEAgZGVmIGFuX2Jpbm9wX2V4cHIoYSwgYiwgb3ApOgotICAgICAgICAgc2FnZTogeCA9IGFuX2Jp bm9wX2V4cHIoYSwgYiwgb3BlcmF0b3IuYWRkKTsgeAotICAgICAgICAgPHNhZ2UucmluZ3MucXFi YXIuQU5CaW5hcnlFeHByIG9iamVjdCBhdCAuLi4+Ci0gICAgICAgICBzYWdlOiB4LmV4YWN0aWZ5 KCkKLS0gICAgICAgIC02LzcqYV43ICsgMi83KmFeNiArIDcxLzcqYV41IC0gMjYvNyphXjQgLSAx MjUvNyphXjMgKyA3Mi83KmFeMiArIDQzLzcqYSAtIDQ3Lzcgd2hlcmUgYV44IC0gMTIqYV42ICsg MjMqYV40IC0gMTIqYV4yICsgMSA9IDAgYW5kIGEgaW4gMy4xMjU4MC4uLj8KLSsgICAgICAgIDYv NyphXjcgLSAyLzcqYV42IC0gNzEvNyphXjUgKyAyNi83KmFeNCArIDEyNS83KmFeMyAtIDcyLzcq YV4yIC0gNDMvNyphICsgNDcvNyB3aGVyZSBhXjggLSAxMiphXjYgKyAyMyphXjQgLSAxMiphXjIg KyAxID0gMCBhbmQgYSBpbiAtMC4zMTk5MTc5MzM2MTgyOTk3PwotIAotICAgICAgICAgc2FnZTog YSA9IFFRYmFyKHNxcnQoMikpICsgUVFiYXIoc3FydCgzKSkKLSAgICAgICAgIHNhZ2U6IGIgPSBR UWJhcihzcXJ0KDMpKSArIFFRYmFyKHNxcnQoNSkpCi1AQCAtODUxMCw3ICs4NTEwLDcgQEAgZGVm IGFuX2Jpbm9wX2V4cHIoYSwgYiwgb3ApOgotICAgICAgICAgc2FnZTogeCA9IGFuX2Jpbm9wX2V4 cHIoYSwgYiwgb3BlcmF0b3IubXVsKTsgeAotICAgICAgICAgPHNhZ2UucmluZ3MucXFiYXIuQU5C aW5hcnlFeHByIG9iamVjdCBhdCAuLi4+Ci0gICAgICAgICBzYWdlOiB4LmV4YWN0aWZ5KCkKLS0g ICAgICAgIDIqYV43IC0gYV42IC0gMjQqYV41ICsgMTIqYV40ICsgNDYqYV4zIC0gMjIqYV4yIC0g MjIqYSArIDkgd2hlcmUgYV44IC0gMTIqYV42ICsgMjMqYV40IC0gMTIqYV4yICsgMSA9IDAgYW5k IGEgaW4gMy4xMjU4Li4uPwotKyAgICAgICAgMiphXjcgLSBhXjYgLSAyNCphXjUgKyAxMiphXjQg KyA0NiphXjMgLSAyMiphXjIgLSAyMiphICsgOSB3aGVyZSBhXjggLSAxMiphXjYgKyAyMyphXjQg LSAxMiphXjIgKyAxID0gMCBhbmQgYSBpbiAtMC4zMTk5MTc5MzM2MTgyOTk3PwotICAgICAiIiIK LSAgICAgcmV0dXJuIEFOQmluYXJ5RXhwcihhLCBiLCBvcCkKLSAKLWRpZmYgLS1naXQgYS9zcmMv c2FnZS9zY2hlbWVzL2FmZmluZS9hZmZpbmVfbW9ycGhpc20ucHkgYi9zcmMvc2FnZS9zY2hlbWVz L2FmZmluZS9hZmZpbmVfbW9ycGhpc20ucHkKLWluZGV4IDFjNGYyZGZmMTguLjMyYzJlNDdlNDkg MTAwNjQ0Ci0tLS0gYS9zcmMvc2FnZS9zY2hlbWVzL2FmZmluZS9hZmZpbmVfbW9ycGhpc20ucHkK LSsrKyBiL3NyYy9zYWdlL3NjaGVtZXMvYWZmaW5lL2FmZmluZV9tb3JwaGlzbS5weQotQEAgLTEx NDgsOSArMTE0OCw5IEBAIGNsYXNzIFNjaGVtZU1vcnBoaXNtX3BvbHlub21pYWxfYWZmaW5lX3Nw YWNlX2ZpZWxkKFNjaGVtZU1vcnBoaXNtX3BvbHlub21pYWxfYWZmCi0gICAgICAgICAgICAgc2Fn ZTogSCA9IEVuZChBKQotICAgICAgICAgICAgIHNhZ2U6IGYgPSBIKFsoUVFiYXIoc3FydCgyKSkq eF4yICsgMS9RUWJhcihzcXJ0KDMpKSkgLyAoNSp4KV0pCi0gICAgICAgICAgICAgc2FnZTogZi5y ZWR1Y2VfYmFzZV9maWVsZCgpCi0tICAgICAgICAgICAgU2NoZW1lIGVuZG9tb3JwaGlzbSBvZiBB ZmZpbmUgU3BhY2Ugb2YgZGltZW5zaW9uIDEgb3ZlciBOdW1iZXIgRmllbGQgaW4gYSB3aXRoIGRl ZmluaW5nIHBvbHlub21pYWwgeV40IC0gNCp5XjIgKyAxIHdpdGggYSA9IDEuOTMxODUxNjUyNTc4 MTM3PwotKyAgICAgICAgICAgIFNjaGVtZSBlbmRvbW9ycGhpc20gb2YgQWZmaW5lIFNwYWNlIG9m IGRpbWVuc2lvbiAxIG92ZXIgTnVtYmVyIEZpZWxkIGluIGEgd2l0aCBkZWZpbmluZyBwb2x5bm9t aWFsIHleNCAtIDQqeV4yICsgMSB3aXRoIGEgPSAuLi4/Ci0gICAgICAgICAgICAgICBEZWZuOiBE ZWZpbmVkIG9uIGNvb3JkaW5hdGVzIGJ5IHNlbmRpbmcgKHgpIHRvCi0tICAgICAgICAgICAgICAg ICAgICAoKChhXjMgLSAzKmEpKnheMiArICgxLzMqYV4yIC0gMi8zKSkvKDUqeCkpCi0rICAgICAg ICAgICAgICAgICAgICAoKChhXjMgLSAzKmEpKnheMiArICgtMS8zKmFeMiArIDIvMykpLyg1Kngp KQotIAotICAgICAgICAgOjoKLSAKLWRpZmYgLS1naXQgYS9zcmMvc2FnZS9zY2hlbWVzL2VsbGlw dGljX2N1cnZlcy9lbGxfZmllbGQucHkgYi9zcmMvc2FnZS9zY2hlbWVzL2VsbGlwdGljX2N1cnZl cy9lbGxfZmllbGQucHkKLWluZGV4IDY4YjgzNzVkYWUuLjQ4ZjM1OGVhNmEgMTAwNjQ0Ci0tLS0g YS9zcmMvc2FnZS9zY2hlbWVzL2VsbGlwdGljX2N1cnZlcy9lbGxfZmllbGQucHkKLSsrKyBiL3Ny Yy9zYWdlL3NjaGVtZXMvZWxsaXB0aWNfY3VydmVzL2VsbF9maWVsZC5weQotQEAgLTg0NSw3ICs4 NDUsNyBAQCBjbGFzcyBFbGxpcHRpY0N1cnZlX2ZpZWxkKGVsbF9nZW5lcmljLkVsbGlwdGljQ3Vy dmVfZ2VuZXJpYywgUHJvamVjdGl2ZVBsYW5lQ3VydgotICAgICAgICAgICAgIHNhZ2U6IEUgPSBF LmJhc2VfZXh0ZW5kKEcpLnF1YWRyYXRpY190d2lzdChjKTsgRQotICAgICAgICAgICAgIEVsbGlw dGljIEN1cnZlIGRlZmluZWQgYnkgeV4yID0geF4zICsgNSphMCp4XjIgKyAoLTIwMCphMF4yKSp4 ICsgKC00MjAwMCphMF4yKzQyMDAwKmEwKzEyNjAwMCkgb3ZlciBOdW1iZXIgRmllbGQgaW4gYTAg d2l0aCBkZWZpbmluZyBwb2x5bm9taWFsIHheMyAtIDMqeF4yICsgMyp4ICsgOQotICAgICAgICAg ICAgIHNhZ2U6IEsuPGI+ID0gRS5kaXZpc2lvbl9maWVsZCgzLCBzaW1wbGlmeV9hbGw9VHJ1ZSk7 IEsKLS0gICAgICAgICAgICBOdW1iZXIgRmllbGQgaW4gYiB3aXRoIGRlZmluaW5nIHBvbHlub21p YWwgeF4xMiAtIDEwKnheMTAgKyA1NSp4XjggLSA2MCp4XjYgKyA3NSp4XjQgKyAxMzUwKnheMiAr IDIwMjUKLSsgICAgICAgICAgICBOdW1iZXIgRmllbGQgaW4gYiB3aXRoIGRlZmluaW5nIHBvbHlu b21pYWwgeF4xMiArIDUqeF4xMCArIDQwKnheOCArIDMxNSp4XjYgKyA3NTAqeF40ICsgNjc1Knhe MiArIDIwMjUKLSAKLSAgICAgICAgIFNvbWUgaGlnaGVyLWRlZ3JlZSBleGFtcGxlczo6Ci0gCi1k aWZmIC0tZ2l0IGEvc3JjL3NhZ2Uvc2NoZW1lcy9lbGxpcHRpY19jdXJ2ZXMvZWxsX2dlbmVyaWMu cHkgYi9zcmMvc2FnZS9zY2hlbWVzL2VsbGlwdGljX2N1cnZlcy9lbGxfZ2VuZXJpYy5weQotaW5k ZXggOTI2YWUzMTBlYS4uM2JhZTgxOWZiMCAxMDA2NDQKLS0tLSBhL3NyYy9zYWdlL3NjaGVtZXMv ZWxsaXB0aWNfY3VydmVzL2VsbF9nZW5lcmljLnB5Ci0rKysgYi9zcmMvc2FnZS9zY2hlbWVzL2Vs bGlwdGljX2N1cnZlcy9lbGxfZ2VuZXJpYy5weQotQEAgLTMzMjQsOCArMzMyNCw4IEBAIGNsYXNz IEVsbGlwdGljQ3VydmVfZ2VuZXJpYyhXaXRoRXF1YWxpdHlCeUlkLCBwbGFuZV9jdXJ2ZS5Qcm9q ZWN0aXZlUGxhbmVDdXJ2ZSk6Ci0gICAgICAgICAgICAgc2FnZTogSy48YT4gPSBRdWFkcmF0aWNG aWVsZCgyKQotICAgICAgICAgICAgIHNhZ2U6IEUgPSBFbGxpcHRpY0N1cnZlKFsxLGFdKQotICAg ICAgICAgICAgIHNhZ2U6IEUucGFyaV9jdXJ2ZSgpCi0tICAgICAgICAgICAgW01vZCgwLCB5XjIg LSAyKSwgTW9kKDAsIHleMiAtIDIpLCBNb2QoMCwgeV4yIC0gMiksIE1vZCgxLCB5XjIgLSAyKSwK LS0gICAgICAgICAgICBNb2QoeSwgeV4yIC0gMiksIE1vZCgwLCB5XjIgLSAyKSwgTW9kKDIsIHle MiAtIDIpLCBNb2QoNCp5LCB5XjIgLSAyKSwKLSsgICAgICAgICAgICBbMCwgMCwgMCwgTW9kKDEs IHleMiAtIDIpLAotKyAgICAgICAgICAgIE1vZCh5LCB5XjIgLSAyKSwgMCwgTW9kKDIsIHleMiAt IDIpLCBNb2QoNCp5LCB5XjIgLSAyKSwKLSAgICAgICAgICAgICBNb2QoLTEsIHleMiAtIDIpLCBN b2QoLTQ4LCB5XjIgLSAyKSwgTW9kKC04NjQqeSwgeV4yIC0gMiksCi0gICAgICAgICAgICAgTW9k KC05MjgsIHleMiAtIDIpLCBNb2QoMzQ1Ni8yOSwgeV4yIC0gMiksIFZlY3NtYWxsKFs1XSksCi0g ICAgICAgICAgICAgW1t5XjIgLSAyLCBbMiwgMF0sIDgsIDEsIFtbMSwgLTEuNDE0MjEzNTYyMzcz MTA7Ci1kaWZmIC0tZ2l0IGEvc3JjL3NhZ2Uvc2NoZW1lcy9lbGxpcHRpY19jdXJ2ZXMvZWxsX251 bWJlcl9maWVsZC5weSBiL3NyYy9zYWdlL3NjaGVtZXMvZWxsaXB0aWNfY3VydmVzL2VsbF9udW1i ZXJfZmllbGQucHkKLWluZGV4IGVkYmQxOTYwOTAuLmM0NGM4MDNhYTggMTAwNjQ0Ci0tLS0gYS9z cmMvc2FnZS9zY2hlbWVzL2VsbGlwdGljX2N1cnZlcy9lbGxfbnVtYmVyX2ZpZWxkLnB5Ci0rKysg Yi9zcmMvc2FnZS9zY2hlbWVzL2VsbGlwdGljX2N1cnZlcy9lbGxfbnVtYmVyX2ZpZWxkLnB5Ci1A QCAtMjE4LDcgKzIxOCw3IEBAIGNsYXNzIEVsbGlwdGljQ3VydmVfbnVtYmVyX2ZpZWxkKEVsbGlw dGljQ3VydmVfZmllbGQpOgotICAgICAgICAgICAgIHNhZ2U6IEUgPT0gbG9hZHMoZHVtcHMoRSkp Ci0gICAgICAgICAgICAgVHJ1ZQotICAgICAgICAgICAgIHNhZ2U6IEUuc2ltb25fdHdvX2Rlc2Nl bnQoKQotLSAgICAgICAgICAgICgyLCAyLCBbKDAgOiAwIDogMSldKQotKyAgICAgICAgICAgICgy LCAyLCBbKDAgOiAwIDogMSksICgxLzE4KmEgKyA3LzE4IDogLTUvNTQqYSAtIDE3LzU0IDogMSld KQotICAgICAgICAgICAgIHNhZ2U6IEUuc2ltb25fdHdvX2Rlc2NlbnQobGltMT01LCBsaW0zPTUs IGxpbXRyaXY9MTAsIG1heHByb2I9NywgbGltYmlncHJpbWU9MTApCi0gICAgICAgICAgICAgKDIs IDIsIFsoLTEgOiAwIDogMSksICgtMiA6IC0xLzIqYSAtIDEvMiA6IDEpXSkKLSAKLUBAIC0yNzQs NyArMjc0LDcgQEAgY2xhc3MgRWxsaXB0aWNDdXJ2ZV9udW1iZXJfZmllbGQoRWxsaXB0aWNDdXJ2 ZV9maWVsZCk6Ci0gICAgICAgICAgICAgc2FnZTogRS5zaW1vbl90d29fZGVzY2VudCgpICAjIGxv bmcgdGltZSAoNHMgb24gc2FnZS5tYXRoLCAyMDEzKQotICAgICAgICAgICAgICgzLAotICAgICAg ICAgICAgICAzLAotLSAgICAgICAgICAgICBbKDUvOCp6ZXRhNDNfMF4yICsgMTcvOCp6ZXRhNDNf MCAtIDkvNCA6IC0yNy8xNip6ZXRhNDNfMF4yIC0gMTAzLzE2KnpldGE0M18wICsgMzkvOCA6IDEp LAotKyAgICAgICAgICAgICBbKDEvOCp6ZXRhNDNfMF4yIC0gMy84KnpldGE0M18wIC0gMS80IDog LTUvMTYqemV0YTQzXzBeMiArIDcvMTYqemV0YTQzXzAgKyAxLzggOiAxKSwKLSAgICAgICAgICAg ICAgICgwIDogMCA6IDEpXSkKLSAgICAgICAgICIiIgotICAgICAgICAgdmVyYm9zZSA9IGludCh2 ZXJib3NlKQotQEAgLTg2NSw3ICs4NjUsNyBAQCBjbGFzcyBFbGxpcHRpY0N1cnZlX251bWJlcl9m aWVsZChFbGxpcHRpY0N1cnZlX2ZpZWxkKToKLSAgICAgICAgICAgICBDb25kdWN0b3IgZXhwb25l bnQ6IDEKLSAgICAgICAgICAgICBLb2RhaXJhIFN5bWJvbDogSTEKLSAgICAgICAgICAgICBUYW1h Z2F3YSBOdW1iZXI6IDEsCi0tICAgICAgICAgICAgTG9jYWwgZGF0YSBhdCBGcmFjdGlvbmFsIGlk ZWFsICgtMyppIC0gMik6Ci0rICAgICAgICAgICAgTG9jYWwgZGF0YSBhdCBGcmFjdGlvbmFsIGlk ZWFsICgtMippICsgMyk6Ci0gICAgICAgICAgICAgUmVkdWN0aW9uIHR5cGU6IGJhZCBzcGxpdCBt dWx0aXBsaWNhdGl2ZQotICAgICAgICAgICAgIExvY2FsIG1pbmltYWwgbW9kZWw6IEVsbGlwdGlj IEN1cnZlIGRlZmluZWQgYnkgeV4yICsgKGkrMSkqeCp5ICsgeSA9IHheMyBvdmVyIE51bWJlciBG aWVsZCBpbiBpIHdpdGggZGVmaW5pbmcgcG9seW5vbWlhbCB4XjIgKyAxCi0gICAgICAgICAgICAg TWluaW1hbCBkaXNjcmltaW5hbnQgdmFsdWF0aW9uOiAyCi1AQCAtMjY0NSwxMiArMjY0NSwxMiBA QCBjbGFzcyBFbGxpcHRpY0N1cnZlX251bWJlcl9maWVsZChFbGxpcHRpY0N1cnZlX2ZpZWxkKToK LSAgICAgICAgICAgICBbLTkyLCAtMjMsIC0yM10KLSAKLSAgICAgICAgICAgICBzYWdlOiBDLm1h dHJpeCgpICAjIGxvbmcgdGltZQotLSAgICAgICAgICAgIFsxIDIgMiA0IDIgNF0KLS0gICAgICAg ICAgICBbMiAxIDIgMiA0IDRdCi0tICAgICAgICAgICAgWzIgMiAxIDQgNCAyXQotLSAgICAgICAg ICAgIFs0IDIgNCAxIDMgM10KLS0gICAgICAgICAgICBbMiA0IDQgMyAxIDNdCi0tICAgICAgICAg ICAgWzQgNCAyIDMgMyAxXQotKyAgICAgICAgICAgIFsxIDIgMiA0IDQgMl0KLSsgICAgICAgICAg ICBbMiAxIDIgNCAyIDRdCi0rICAgICAgICAgICAgWzIgMiAxIDIgNCA0XQotKyAgICAgICAgICAg IFs0IDQgMiAxIDMgM10KLSsgICAgICAgICAgICBbNCAyIDQgMyAxIDNdCi0rICAgICAgICAgICAg WzIgNCA0IDMgMyAxXQotIAotICAgICAgICAgVGhlIGdyYXBoIG9mIHRoaXMgaXNvZ2VueSBjbGFz cyBoYXMgYSBzaGFwZSB3aGljaCBkb2VzIG5vdAotICAgICAgICAgb2NjdXIgb3ZlciBgXFFRYDog YSB0cmlhbmd1bGFyIHByaXNtLiAgTm90ZSB0aGF0IGZvciBjdXJ2ZXMKLUBAIC0yNjc3LDEyICsy Njc3LDEyIEBAIGNsYXNzIEVsbGlwdGljQ3VydmVfbnVtYmVyX2ZpZWxkKEVsbGlwdGljQ3VydmVf ZmllbGQpOgotIAotICAgICAgICAgICAgIHNhZ2U6IEcgPSBDLmdyYXBoKCkgICMgbG9uZyB0aW1l Ci0gICAgICAgICAgICAgc2FnZTogRy5hZGphY2VuY3lfbWF0cml4KCkgICMgbG9uZyB0aW1lCi0t ICAgICAgICAgICAgWzAgMSAxIDAgMSAwXQotLSAgICAgICAgICAgIFsxIDAgMSAxIDAgMF0KLS0g ICAgICAgICAgICBbMSAxIDAgMCAwIDFdCi0tICAgICAgICAgICAgWzAgMSAwIDAgMSAxXQotLSAg ICAgICAgICAgIFsxIDAgMCAxIDAgMV0KLS0gICAgICAgICAgICBbMCAwIDEgMSAxIDBdCi0rICAg ICAgICAgICAgWzAgMSAxIDAgMCAxXQotKyAgICAgICAgICAgIFsxIDAgMSAwIDEgMF0KLSsgICAg ICAgICAgICBbMSAxIDAgMSAwIDBdCi0rICAgICAgICAgICAgWzAgMCAxIDAgMSAxXQotKyAgICAg ICAgICAgIFswIDEgMCAxIDAgMV0KLSsgICAgICAgICAgICBbMSAwIDAgMSAxIDBdCi0gCi0gICAg ICAgICBUbyBkaXNwbGF5IHRoZSBncmFwaCB3aXRob3V0IGFueSBlZGdlIGxhYmVsczo6Ci0gCi1A QCAtMzMxNiw3ICszMzE2LDcgQEAgY2xhc3MgRWxsaXB0aWNDdXJ2ZV9udW1iZXJfZmllbGQoRWxs aXB0aWNDdXJ2ZV9maWVsZCk6Ci0gICAgICAgICAgICAgc2FnZTogcG9pbnRzID0gW0UubGlmdF94 KHgpIGZvciB4IGluIHhpXQotICAgICAgICAgICAgIHNhZ2U6IG5ld3BvaW50cywgVSA9IEUubGxs X3JlZHVjZShwb2ludHMpICAjIGxvbmcgdGltZSAoMzVzIG9uIHNhZ2UubWF0aCwgMjAxMSkKLSAg ICAgICAgICAgICBzYWdlOiBbUFswXSBmb3IgUCBpbiBuZXdwb2ludHNdICAgICAgICAgICAgIyBs b25nIHRpbWUKLS0gICAgICAgICAgICBbNjgyMzgwMzU2OTE2NjU4NDk0MywgNTk0OTUzOTg3ODg5 OTI5NDIxMywgMjAwNTAyNDU1ODA1NDgxMzA2OCwgNTg2NDg3OTc3ODg3Nzk1NTc3OCwgMjM5NTUy NjM5MTU4Nzg2ODI3MjcvNCwgNTkyMjE4ODMyMTQxMTkzODUxOCwgNTI4Njk4ODI4MzgyMzgyNTM3 OCwgMTc1NjIwNjM5ODg0NTM0NjE1NzUxLzI1LCAtMTE0NTE1NzU5MDcyODYxNzE1NzIsIDM1MDI3 MDgwNzI1NzEwMTIxODEsIDE1MDAxNDM5MzUxODMyMzg3MDkxODQvMjI1LCAyNzE4MDUyMjM3ODEy MDIyMzQxOS80LCAtNTgxMTg3NDE2NDE5MDYwNDQ2MTU4MS82MjUsIDI2ODA3Nzg2NTI3MTU5NTY5 MDkzLCA3NDA0NDQyNjM2NjQ5NTYyMzAzLCA0NzU2NTYxNTUyNTU4ODM1ODgsIDI2NTc1NzQ1NDcy Njc2NjAxNzg5MS80OSwgNzI3MjE0MjEyMTAxOTgyNTMwMywgNTA2Mjg2NzkxNzM4MzM2OTM0MTUv NCwgNjk1MTY0MzUyMjM2NjM0ODk2OCwgNjg0MjUxNTE1MTUxODA3MDcwMywgMTExNTkzNzUwMzg5 NjUwODQ2ODg1LzE2LCAyNjA3NDY3ODkwNTMxNzQwMzk0MzE1LzksIC0xODI5OTI4NTI1ODM1NTA2 Mjk3XQotKyAgICAgICAgICAgIFs2ODIzODAzNTY5MTY2NTg0OTQzLCA1OTQ5NTM5ODc4ODk5Mjk0 MjEzLCAyMDA1MDI0NTU4MDU0ODEzMDY4LCA1ODY0ODc5Nzc4ODc3OTU1Nzc4LCAyMzk1NTI2Mzkx NTg3ODY4MjcyNy80LCA1OTIyMTg4MzIxNDExOTM4NTE4LCA1Mjg2OTg4MjgzODIzODI1Mzc4LCAx MTQ2NTY2NzM1MjI0Mjc3OTgzOCwgLTExNDUxNTc1OTA3Mjg2MTcxNTcyLCAzNTAyNzA4MDcyNTcx MDEyMTgxLCAxNTAwMTQzOTM1MTgzMjM4NzA5MTg0LzIyNSwgMjcxODA1MjIzNzgxMjAyMjM0MTkv NCwgLTU4MTE4NzQxNjQxOTA2MDQ0NjE1ODEvNjI1LCAyNjgwNzc4NjUyNzE1OTU2OTA5MywgNzA0 MTQxMjY1NDgyODA2Njc0MywgNDc1NjU2MTU1MjU1ODgzNTg4LCAyNjU3NTc0NTQ3MjY3NjYwMTc4 OTEvNDksIDcyNzIxNDIxMjEwMTk4MjUzMDMsIDUwNjI4Njc5MTczODMzNjkzNDE1LzQsIDY5NTE2 NDM1MjIzNjYzNDg5NjgsIDY4NDI1MTUxNTE1MTgwNzA3MDMsIDExMTU5Mzc1MDM4OTY1MDg0Njg4 NS8xNiwgMjYwNzQ2Nzg5MDUzMTc0MDM5NDMxNS85LCAtMTgyOTkyODUyNTgzNTUwNjI5N10KLSAK LSAgICAgICAgIEFuIGV4YW1wbGUgdG8gc2hvdyB0aGUgZXhwbGljaXQgdXNlIG9mIHRoZSBoZWln aHQgcGFpcmluZyBtYXRyaXg6OgotIAotZGlmZiAtLWdpdCBhL3NyYy9zYWdlL3NjaGVtZXMvZWxs aXB0aWNfY3VydmVzL2VsbF9yYXRpb25hbF9maWVsZC5weSBiL3NyYy9zYWdlL3NjaGVtZXMvZWxs aXB0aWNfY3VydmVzL2VsbF9yYXRpb25hbF9maWVsZC5weQotaW5kZXggMzgwODgyMjgxMi4uYTc1 MjkwZWEzNSAxMDA2NDQKLS0tLSBhL3NyYy9zYWdlL3NjaGVtZXMvZWxsaXB0aWNfY3VydmVzL2Vs bF9yYXRpb25hbF9maWVsZC5weQotKysrIGIvc3JjL3NhZ2Uvc2NoZW1lcy9lbGxpcHRpY19jdXJ2 ZXMvZWxsX3JhdGlvbmFsX2ZpZWxkLnB5Ci1AQCAtMTgyNyw3ICsxODI3LDcgQEAgY2xhc3MgRWxs aXB0aWNDdXJ2ZV9yYXRpb25hbF9maWVsZChFbGxpcHRpY0N1cnZlX251bWJlcl9maWVsZCk6Ci0g ICAgICAgICAgICAgc2FnZTogRSA9IEVsbGlwdGljQ3VydmUoJzM4OWExJykKLSAgICAgICAgICAg ICBzYWdlOiBFLl9rbm93bl9wb2ludHMgPSBbXSAgIyBjbGVhciBjYWNoZWQgcG9pbnRzCi0gICAg ICAgICAgICAgc2FnZTogRS5zaW1vbl90d29fZGVzY2VudCgpCi0tICAgICAgICAgICAgKDIsIDIs IFsoMSA6IDAgOiAxKSwgKC0xMS85IDogMjgvMjcgOiAxKV0pCi0rICAgICAgICAgICAgKDIsIDIs IFsoNS80IDogNS84IDogMSksICgtMy80IDogNy84IDogMSldKQotICAgICAgICAgICAgIHNhZ2U6 IEUgPSBFbGxpcHRpY0N1cnZlKCc1MDc3YTEnKQotICAgICAgICAgICAgIHNhZ2U6IEUuc2ltb25f dHdvX2Rlc2NlbnQoKQotICAgICAgICAgICAgICgzLCAzLCBbKDEgOiAwIDogMSksICgyIDogMCA6 IDEpLCAoMCA6IDIgOiAxKV0pCi1kaWZmIC0tZ2l0IGEvc3JjL3NhZ2Uvc2NoZW1lcy9lbGxpcHRp Y19jdXJ2ZXMvZ2FsX3JlcHNfbnVtYmVyX2ZpZWxkLnB5IGIvc3JjL3NhZ2Uvc2NoZW1lcy9lbGxp cHRpY19jdXJ2ZXMvZ2FsX3JlcHNfbnVtYmVyX2ZpZWxkLnB5Ci1pbmRleCA4MWFkMjk1MTYwLi5k NDg0YTRhMThiIDEwMDY0NAotLS0tIGEvc3JjL3NhZ2Uvc2NoZW1lcy9lbGxpcHRpY19jdXJ2ZXMv Z2FsX3JlcHNfbnVtYmVyX2ZpZWxkLnB5Ci0rKysgYi9zcmMvc2FnZS9zY2hlbWVzL2VsbGlwdGlj X2N1cnZlcy9nYWxfcmVwc19udW1iZXJfZmllbGQucHkKLUBAIC03ODAsMTIgKzc4MCwxMiBAQCBk ZWYgZGVnX29uZV9wcmltZXNfaXRlcihLLCBwcmluY2lwYWxfb25seT1GYWxzZSk6Ci0gICAgICAg ICBbRnJhY3Rpb25hbCBpZGVhbCAoMiwgYSArIDEpLAotICAgICAgICAgIEZyYWN0aW9uYWwgaWRl YWwgKDMsIGEgKyAxKSwKLSAgICAgICAgICBGcmFjdGlvbmFsIGlkZWFsICgzLCBhICsgMiksCi0t ICAgICAgICAgRnJhY3Rpb25hbCBpZGVhbCAoLWEpLAotKyAgICAgICAgIEZyYWN0aW9uYWwgaWRl YWwgKGEpLAotICAgICAgICAgIEZyYWN0aW9uYWwgaWRlYWwgKDcsIGEgKyAzKSwKLSAgICAgICAg ICBGcmFjdGlvbmFsIGlkZWFsICg3LCBhICsgNCldCi0gICAgICAgICBzYWdlOiBpdCA9IGRlZ19v bmVfcHJpbWVzX2l0ZXIoSywgVHJ1ZSkKLSAgICAgICAgIHNhZ2U6IFtuZXh0KGl0KSBmb3IgXyBp biByYW5nZSg2KV0KLS0gICAgICAgIFtGcmFjdGlvbmFsIGlkZWFsICgtYSksCi0rICAgICAgICBb RnJhY3Rpb25hbCBpZGVhbCAoYSksCi0gICAgICAgICAgRnJhY3Rpb25hbCBpZGVhbCAoLTIqYSAr IDMpLAotICAgICAgICAgIEZyYWN0aW9uYWwgaWRlYWwgKDIqYSArIDMpLAotICAgICAgICAgIEZy YWN0aW9uYWwgaWRlYWwgKGEgKyA2KSwKLWRpZmYgLS1naXQgYS9zcmMvc2FnZS9zY2hlbWVzL2Vs bGlwdGljX2N1cnZlcy9ncF9zaW1vbi5weSBiL3NyYy9zYWdlL3NjaGVtZXMvZWxsaXB0aWNfY3Vy dmVzL2dwX3NpbW9uLnB5Ci1pbmRleCAyOGI5N2YzNGFmLi45ZjdkMWI2MDIwIDEwMDY0NAotLS0t IGEvc3JjL3NhZ2Uvc2NoZW1lcy9lbGxpcHRpY19jdXJ2ZXMvZ3Bfc2ltb24ucHkKLSsrKyBiL3Ny Yy9zYWdlL3NjaGVtZXMvZWxsaXB0aWNfY3VydmVzL2dwX3NpbW9uLnB5Ci1AQCAtNTYsNyArNTYs NyBAQCBkZWYgc2ltb25fdHdvX2Rlc2NlbnQoRSwgdmVyYm9zZT0wLCBsaW0xPU5vbmUsIGxpbTM9 Tm9uZSwgbGltdHJpdj1Ob25lLAotICAgICAgICAgc2FnZTogaW1wb3J0IHNhZ2Uuc2NoZW1lcy5l bGxpcHRpY19jdXJ2ZXMuZ3Bfc2ltb24KLSAgICAgICAgIHNhZ2U6IEU9RWxsaXB0aWNDdXJ2ZSgn Mzg5YTEnKQotICAgICAgICAgc2FnZTogc2FnZS5zY2hlbWVzLmVsbGlwdGljX2N1cnZlcy5ncF9z aW1vbi5zaW1vbl90d29fZGVzY2VudChFKQotLSAgICAgICAgKDIsIDIsIFsoMSA6IDAgOiAxKSwg KC0xMS85IDogMjgvMjcgOiAxKV0pCi0rICAgICAgICAoMiwgMiwgWyg1LzQgOiA1LzggOiAxKSwg KC0zLzQgOiA3LzggOiAxKV0pCi0gCi0gICAgIFRFU1RTOjoKLSAKLUBAIC0xMTcsNyArMTE3LDcg QEAgZGVmIHNpbW9uX3R3b19kZXNjZW50KEUsIHZlcmJvc2U9MCwgbGltMT1Ob25lLCBsaW0zPU5v bmUsIGxpbXRyaXY9Tm9uZSwKLSAgICAgIyBUaGUgYmxvY2sgYmVsb3cgbWltaWNzIHRoZSBkZWZh dWx0cyBpbiBTaW1vbidzIHNjcmlwdHMsIGFuZCBuZWVkcyB0byBiZSBjaGFuZ2VkCi0gICAgICMg d2hlbiB0aGVzZSBhcmUgdXBkYXRlZC4KLSAgICAgaWYgSyBpcyBRUToKLS0gICAgICAgIGNtZCA9 ICdlbGxyYW5rKCVzLCAlcyk7JyAlIChsaXN0KEUuYWludnMoKSksIFtQLl9fcGFyaV9fKCkgZm9y IFAgaW4ga25vd25fcG9pbnRzXSkKLSsgICAgICAgIGNtZCA9ICdlbGxRX2VsbHJhbmsoJXMsICVz KTsnICUgKGxpc3QoRS5haW52cygpKSwgW1AuX19wYXJpX18oKSBmb3IgUCBpbiBrbm93bl9wb2lu dHNdKQotICAgICAgICAgaWYgbGltMSBpcyBOb25lOgotICAgICAgICAgICAgIGxpbTEgPSA1Ci0g ICAgICAgICBpZiBsaW0zIGlzIE5vbmU6Ci1AQCAtMTQ0LDcgKzE0NCw3IEBAIGRlZiBzaW1vbl90 d29fZGVzY2VudChFLCB2ZXJib3NlPTAsIGxpbTE9Tm9uZSwgbGltMz1Ob25lLCBsaW10cml2PU5v bmUsCi0gICAgIGlmIHZlcmJvc2UgPiAwOgotICAgICAgICAgcHJpbnQocykKLSAgICAgdiA9IGdw LmV2YWwoJ2FucycpCi0tICAgIGlmIHY9PSdhbnMnOiAjIHRoZW4gdGhlIGNhbGwgdG8gZWxscmFu aygpIG9yIGJuZmVsbHJhbmsoKSBmYWlsZWQKLSsgICAgaWYgdj09J2Fucyc6ICMgdGhlbiB0aGUg Y2FsbCB0byBlbGxRX2VsbHJhbmsoKSBvciBibmZlbGxyYW5rKCkgZmFpbGVkCi0gICAgICAgICBy YWlzZSBSdW50aW1lRXJyb3IoIkFuIGVycm9yIG9jY3VycmVkIHdoaWxlIHJ1bm5pbmcgU2ltb24n cyAyLWRlc2NlbnQgcHJvZ3JhbSIpCi0gICAgIGlmIHZlcmJvc2UgPj0gMjoKLSAgICAgICAgIHBy aW50KCJ2ID0gJXMiICUgdikKLWRpZmYgLS1naXQgYS9zcmMvc2FnZS9zY2hlbWVzL2VsbGlwdGlj X2N1cnZlcy9pc29nZW55X3NtYWxsX2RlZ3JlZS5weSBiL3NyYy9zYWdlL3NjaGVtZXMvZWxsaXB0 aWNfY3VydmVzL2lzb2dlbnlfc21hbGxfZGVncmVlLnB5Ci1pbmRleCBhOTM2ZGViNzRmLi5kYzE5 MjU0ZDhjIDEwMDY0NAotLS0tIGEvc3JjL3NhZ2Uvc2NoZW1lcy9lbGxpcHRpY19jdXJ2ZXMvaXNv Z2VueV9zbWFsbF9kZWdyZWUucHkKLSsrKyBiL3NyYy9zYWdlL3NjaGVtZXMvZWxsaXB0aWNfY3Vy dmVzL2lzb2dlbnlfc21hbGxfZGVncmVlLnB5Ci1AQCAtMTIwOCwxNCArMTIwOCwxNCBAQCBkZWYg aXNvZ2VuaWVzXzEzXzAoRSwgbWluaW1hbF9tb2RlbHM9VHJ1ZSk6Ci0gICAgICAgICBzYWdlOiBb cGhpLmNvZG9tYWluKCkuYWludnMoKSBmb3IgcGhpIGluIGlzb2dlbmllc18xM18wKEUpXSAgIyBs b25nIHRpbWUgKDRzKQotICAgICAgICAgWygwLAotICAgICAgICAgICAwLAotLSAgICAgICAgICAy MDM2MDU5OS8xNjUxNjQ5NzM2NTM0MjIwODAqYV4xMSAtIDM2NDMwNzMvNDEyOTEyNDM0MTMzNTU1 MjAqYV4xMCAtIDEwMS84Nzg5MTEwOTg2MjQwKmFeOSArIDU1NTc2MTk0NjEvNTczNDg5NDkxODUy MTYwKmFeOCAtIDgyODI0OTcxLzExOTQ3Njk3NzQ2OTIwKmFeNyAtIDE5NDg3LzIxMTI3NjcwNjQw KmFeNiAtIDQ3NTc1MjYwMzczMy8yOTQwOTcxNzUzMDg4MCphXjUgKyA4NzIwNTExMjUzMS83MzUy NDI5MzgyNzIwKmFeNCArIDgzNDkvNTIxNjcwODgwKmFeMyArIDU4NTg3NDQ4ODEvMTI3NjQ2MzQz NDUqYV4yIC0gMTg1ODcwMzgwOS8yODM2NTg1NDEwKmEgKyA1ODc1OTQwMi80ODkwNjY0NSwKLSsg ICAgICAgICAgMjAzNjA1OTkvMTY1MTY0OTczNjUzNDIyMDgwKmFeMTEgLSAzNjQzMDczLzQxMjkx MjQzNDEzMzU1NTIwKmFeMTAgKyAxODg3NDM5LzExNDY5Nzg5ODM3MDQzMjAqYV45ICsgNTU1NzYx OTQ2MS81NzM0ODk0OTE4NTIxNjAqYV44IC0gODI4MjQ5NzEvMTE5NDc2OTc3NDY5MjAqYV43ICsg MTAzMDYzMjY0Ny83OTY1MTMxODMxMjgwKmFeNiAtIDQ3NTc1MjYwMzczMy8yOTQwOTcxNzUzMDg4 MCphXjUgKyA4NzIwNTExMjUzMS83MzUyNDI5MzgyNzIwKmFeNCAtIDQzNjE4ODk5NDMzLzIwNDIz NDE0OTUyMCphXjMgKyA1ODU4NzQ0ODgxLzEyNzY0NjM0MzQ1KmFeMiAtIDE4NTg3MDM4MDkvMjgz NjU4NTQxMCphICsgMjUzNTA1MDE3MS8xNDE4MjkyNzA1LAotICAgICAgICAgICAtMTM5ODYxMjk1 LzI2NTA3OTU4NzM0NDk5ODQqYV4xMSAtIDM0NTU5NTcvNTY2NDA5Mzc0NjY4OCphXjEwIC0gMzQ1 MzEwNTcxLzUwOTc2ODQzNzIwMTkyKmFeOSAtIDUwMDUzMDc5NS8xMTgwMDE5NTMwNTYqYV44IC0g MTI4NjAwNDgxMTMvMjY1NTA0Mzk0Mzc2KmFeNyAtIDI1MDA3NDIwNDYxLzQ0MjUwNzMyMzk2KmFe NiArIDQ1ODEzNDE3NjQ1NS8xNDE2MDIzNDM2NjcyKmFeNSArIDE2NzAxODgwNjMxLzkwNzcwNzMz MTIqYV40ICsgMTU1OTQxNjY2NDE3LzkwNzcwNzMzMTIqYV4zICsgMzQ5OTMxMDExNS8zNzgyMTEz ODgqYV4yIC0gNzM2Nzc0ODYzLzk0NTUyODQ3KmEgLSAyMTk1NDEwMjM4MS85NDU1Mjg0NywKLS0g ICAgICAgICAgNTc5MzYzMzQ1MjIxLzEzNzYzNzQ3ODA0NDUxODQwKmFeMTEgKyAzNzExOTIzNzc1 MTEvODYwMjM0MjM3Nzc4MjQwKmFeMTAgKyA4ODU1MDkwMzY1NjU3LzExNDY5Nzg5ODM3MDQzMjAq YV45ICsgNTM2NzI2MTU0MTY2My8xNjMzODczMTk2MTYwKmFeOCArIDYxNDg4MzU1NDMzMjE5My8x NTkzMDI2MzY2MjU2MCphXjcgKyAzMDQ4NTE5NzM3ODQ4My82ODA3ODA0OTg0MCphXjYgLSAxMzEw MDA4OTc1ODgzODcvMjQ1MDgwOTc5NDI0MCphXjUgLSAyMDM2Mjg3MDU3Nzc5NDkvMzA2MzUxMjI0 MjgwKmFeNCAtIDE1ODc2MTkzODgxOTAzNzkvMjA0MjM0MTQ5NTIwKmFeMyArIDE0NDM1MDY5NzA2 NTUxLzExMzQ2MzQxNjQwKmFeMiArIDc1MzcyNzMwNDg2MTQvNDcyNzY0MjM1KmEgKyA4OTE5ODk4 MDAzNDgwNi80NzI3NjQyMzUpLAotKyAgICAgICAgICA4MzQyNzk1OTQ0ODkxLzE5ODE5Nzk2ODM4 NDEwNjQ5NiphXjExICsgODkwODYyNTI2MzU4OS8yMDY0NTYyMTcwNjY3Nzc2MCphXjEwICsgNTMx MzA1NDI2MzY2MjMvNjg4MTg3MzkwMjIyNTkyMCphXjkgKyAzNzY3ODAxMTEwNDIyMTMvMTE0Njk3 ODk4MzcwNDMyKmFeOCArIDYxNDg4NDA1MjE0NjMzMy8xNTkzMDI2MzY2MjU2MCphXjcgKyAzNTY2 NzY4MTMzMzI0MzU5Lzc5NjUxMzE4MzEyODAqYV42IC0gMTg4NTU5MzgwOTEwMjU0NS8zNTI5MTY2 MTAzNzA1NiphXjUgLSAyNDQzNzMyMTcyMDI2NTIzLzM2NzYyMTQ2OTEzNjAqYV40IC0gOTUyNTcy OTUwMzkzNzU0MS8xMjI1NDA0ODk3MTIwKmFeMyArIDUxOTkwMjc0NDQyMzIxLzQwODQ2ODI5OTA0 KmFeMiArIDY3ODM0MDE5MzcwNTk2LzQyNTQ4NzgxMTUqYSArIDI2NzYwMzA4MzcwNjgxMi8xNDE4 MjkyNzA1KSwKLSAgICAgICAgICAoMCwKLSAgICAgICAgICAgMCwKLS0gICAgICAgICAgMjAzNjA1 OTkvMTY1MTY0OTczNjUzNDIyMDgwKmFeMTEgLSAzNjQzMDczLzQxMjkxMjQzNDEzMzU1NTIwKmFe MTAgLSAxMDEvODc4OTExMDk4NjI0MCphXjkgKyA1NTU3NjE5NDYxLzU3MzQ4OTQ5MTg1MjE2MCph XjggLSA4MjgyNDk3MS8xMTk0NzY5Nzc0NjkyMCphXjcgLSAxOTQ4Ny8yMTEyNzY3MDY0MCphXjYg LSA0NzU3NTI2MDM3MzMvMjk0MDk3MTc1MzA4ODAqYV41ICsgODcyMDUxMTI1MzEvNzM1MjQyOTM4 MjcyMCphXjQgKyA4MzQ5LzUyMTY3MDg4MCphXjMgKyA1ODU4NzQ0ODgxLzEyNzY0NjM0MzQ1KmFe MiAtIDE4NTg3MDM4MDkvMjgzNjU4NTQxMCphICsgNTg3NTk0MDIvNDg5MDY2NDUsCi0rICAgICAg ICAgIDIwMzYwNTk5LzE2NTE2NDk3MzY1MzQyMjA4MCphXjExIC0gMzY0MzA3My80MTI5MTI0MzQx MzM1NTUyMCphXjEwICsgMTg4NzQzOS8xMTQ2OTc4OTgzNzA0MzIwKmFeOSArIDU1NTc2MTk0NjEv NTczNDg5NDkxODUyMTYwKmFeOCAtIDgyODI0OTcxLzExOTQ3Njk3NzQ2OTIwKmFeNyArIDEwMzA2 MzI2NDcvNzk2NTEzMTgzMTI4MCphXjYgLSA0NzU3NTI2MDM3MzMvMjk0MDk3MTc1MzA4ODAqYV41 ICsgODcyMDUxMTI1MzEvNzM1MjQyOTM4MjcyMCphXjQgLSA0MzYxODg5OTQzMy8yMDQyMzQxNDk1 MjAqYV4zICsgNTg1ODc0NDg4MS8xMjc2NDYzNDM0NSphXjIgLSAxODU4NzAzODA5LzI4MzY1ODU0 MTAqYSArIDI1MzUwNTAxNzEvMTQxODI5MjcwNSwKLSAgICAgICAgICAgLTY0NjU1NjkzMTcvMTMy NTM5NzkzNjcyNDk5MiphXjExIC0gMTEyMTMyMzA3LzE5NjA2NDc4MzUzOTIqYV4xMCAtIDE3MDc1 NDEyOTE3LzI1NDg4NDIxODYwMDk2KmFeOSAtIDIwNzgzMjUxOTIyOS81MzEwMDg3ODg3NTIqYV44 IC0gMTIxODI3NTA2NzYxNy8yNjU1MDQzOTQzNzYqYV43IC0gOTUxMzc2NjUwMjU1MS8xNzcwMDI5 Mjk1ODQqYV42ICsgNDI5NzA3Nzg1NTQzNy83MDgwMTE3MTgzMzYqYV41ICsgMzU0NDg1OTc1ODM3 LzQ1Mzg1MzY2NTYqYV40ICsgNDE5OTM3OTMwODA1OS80NTM4NTM2NjU2KmFeMyAtIDMwODQxNTc3 OTE5LzE4OTEwNTY5NCphXjIgLSAxODE5MTY0ODQwNDIvOTQ1NTI4NDcqYSAtIDIxMzU3NzkxNzE2 MTQvOTQ1NTI4NDcsCi0tICAgICAgICAgIC0xMzI2MDE3OTcyMTI2MjcvMzQ0MDkzNjk1MTExMjk2 MCphXjExIC0gNjIxMjQ2NzAyMDUwMjAyMS8xMzc2Mzc0NzgwNDQ1MTg0MCphXjEwIC0gMTUxNTky NjQ1NDkwMjQ5Ny8yODY3NDQ3NDU5MjYwODAqYV45IC0gMTUxNTQ5MTM3NDE3OTk2MzcvNDkwMTYx OTU4ODQ4MCphXjggLSA1NzY4ODgxMTk4MDM4NTkyNjMvMTU5MzAyNjM2NjI1NjAqYV43IC0gODY2 MjY3NTE2Mzk2NDg2NzEvMjA0MjM0MTQ5NTIwKmFeNiArIDE2NDM2NjU3NTY5MjE4NDI3LzMwNjM1 MTIyNDI4MCphXjUgKyAxNTQwMDI3OTAwMjY1NjU5MDg3LzI0NTA4MDk3OTQyNDAqYV40ICsgMzc1 NzgyNjYyODA1OTE1ODA5LzUxMDU4NTM3MzgwKmFeMyAtIDE0ODMxOTIwOTI0Njc3ODgzLzExMzQ2 MzQxNjQwKmFeMiAtIDcyMzc5NDc3NzQ4MTc3MjQvNDcyNzY0MjM1KmEgLSA4NDc3Mzc2NDA2NjA4 OTUwOS80NzI3NjQyMzUpXQotKyAgICAgICAgICAtMTMxNjg3MzAyNjg0MDI3Ny8zNDE3MjA2MzUx NDUwMTEyMCphXjExIC0gMTg2Mzc0MDEwNDUwOTk0MTMvNDEyOTEyNDM0MTMzNTU1MjAqYV4xMCAt IDM2MzgyMjM0OTE3MjE3MjQ3LzY4ODE4NzM5MDIyMjU5MjAqYV45IC0gNjExNDIyMzg0ODQwMTYy MTMvMTk3NzU0OTk3MTkwNDAqYV44IC0gNTc2ODg4MTE5MzA2MDQ1MTIzLzE1OTMwMjYzNjYyNTYw KmFeNyAtIDMzNzg0NDMzMTM5MDYyNTYzMjEvNzk2NTEzMTgzMTI4MCphXjYgKyAzMjY0NjYxNjc0 MjkzMzMyNzkvNjA4NDc2OTE0NDMyMCphXjUgKyA0NjIwMDgzMzI1MzkxNTk0OTkxLzczNTI0Mjkz ODI3MjAqYV40ICsgOTAxODc4Mzg5NDE2NzE4NDE0OS8xMjI1NDA0ODk3MTIwKmFeMyAtIDkyMDYw MTU3NDIzMDAyODMvNzA0MjU1Njg4MCphXjIgLSA2NTE0MTUzMTQxMTQyNjQ0Ni80MjU0ODc4MTE1 KmEgLSAyNTQzMjEyODYwNTQ2NjYxMzMvMTQxODI5MjcwNSldCi0gICAgICIiIgotICAgICBpZiBF LmpfaW52YXJpYW50KCkhPTA6Ci0gICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJqLWludmFyaWFu dCBtdXN0IGJlIDAuIikKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvc2FnZW1hdGgvcGF0Y2hlcy90cmFj LTM0NTM3LXNhZ2VtYXRoLXBhcmktMi4xNWIucGF0Y2ggYi9zcmNwa2dzL3NhZ2VtYXRoL3BhdGNo ZXMvdHJhYy0zNDUzNy1zYWdlbWF0aC1wYXJpLTIuMTViLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCA3NjJiYjI2MTI2MzIuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3Nh Z2VtYXRoL3BhdGNoZXMvdHJhYy0zNDUzNy1zYWdlbWF0aC1wYXJpLTIuMTViLnBhdGNoCisrKyAv ZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotRnJvbSBmMDM2NWYzMDgzNGI2ODkwMzEzNzkwYjM4 NDVjNjQ3ZDAxNjBmYTZhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogVmluY2VudCBE ZWxlY3JvaXggPDIwMTAwLmRlbGVjcm9peEBnbWFpbC5jb20qPgotRGF0ZTogRnJpLCAzMCBTZXAg MjAyMiAxNjozMTowOCArMDIwMAotU3ViamVjdDogZml4IGRvY3Rlc3QgaWYgZnFmX29ydGhvZ29u YWwKLQotLS0tCi0gc3JjL3NhZ2UvZ3JvdXBzL2ZxZl9vcnRob2dvbmFsLnB5IHwgNCArKy0tCi0g MSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAt LWdpdCBhL3NyYy9zYWdlL2dyb3Vwcy9mcWZfb3J0aG9nb25hbC5weSBiL3NyYy9zYWdlL2dyb3Vw cy9mcWZfb3J0aG9nb25hbC5weQotaW5kZXggNzVkZTQwOC4uN2ZjNGRiZSAxMDA2NDQKLS0tLSBh L3NyYy9zYWdlL2dyb3Vwcy9mcWZfb3J0aG9nb25hbC5weQotKysrIGIvc3JjL3NhZ2UvZ3JvdXBz L2ZxZl9vcnRob2dvbmFsLnB5Ci1AQCAtMjQ1LDEwICsyNDUsMTAgQEAgY2xhc3MgRnFmT3J0aG9n b25hbEdyb3VwKEFiZWxpYW5Hcm91cEF1dG9tb3JwaGlzbUdyb3VwX3N1Ymdyb3VwKToKLSAgICAg ICAgICAgICBzYWdlOiBhbGwoeCpmPT14KmZiYXIgZm9yIHggaW4gcS5nZW5zKCkpCi0gICAgICAg ICAgICAgVHJ1ZQotICAgICAgICAgICAgIHNhZ2U6IEwgPSBJbnRlZ3JhbExhdHRpY2UoIkEyIiku dHdpc3QoMykKLS0gICAgICAgICAgICBzYWdlOiBxID0gTC5kaXNjcmltaW5hbnRfZ3JvdXAoKQot ICAgICAgICAgICAgIHNhZ2U6IE9MID0gTC5vcnRob2dvbmFsX2dyb3VwKCkKLSsgICAgICAgICAg ICBzYWdlOiBhc3NlcnQgT0woT0wuMC5tYXRyaXgoKSkgPT0gT0wuMAotKyAgICAgICAgICAgIHNh Z2U6IHEgPSBMLmRpc2NyaW1pbmFudF9ncm91cCgpCi0gICAgICAgICAgICAgc2FnZTogT3EgPSBx Lm9ydGhvZ29uYWxfZ3JvdXAoKQotLSAgICAgICAgICAgIHNhZ2U6IGFzc2VydCBPcShPTC4wKSA9 PSBPcShPTC4wLm1hdHJpeCgpKQotICAgICAgICAgICAgIHNhZ2U6IGFzc2VydCBPcShPcS4wLm1h dHJpeCgpKSA9PSBPcS4wCi0gICAgICAgICAiIiIKLSAgICAgICAgIGZyb20gc2FnZS5saWJzLmdh cC5lbGVtZW50IGltcG9ydCBHYXBFbGVtZW50Ci0tLSAKLWNnaXQgdjEuMC0xLWdkODhlCi0KZGlm ZiAtLWdpdCBhL3NyY3BrZ3Mvc2FnZW1hdGgvcGF0Y2hlcy90cmFjLTM0NjY4LW1hdHBsb3RsaWJf My42LTU1MDFlMGRlMGRjYTFjZmYwMzU1MzI2ZGQ0MmJkOGM3ZTU3NDk1NjgucGF0Y2ggYi9zcmNw a2dzL3NhZ2VtYXRoL3BhdGNoZXMvdHJhYy0zNDY2OC1tYXRwbG90bGliXzMuNi01NTAxZTBkZTBk Y2ExY2ZmMDM1NTMyNmRkNDJiZDhjN2U1NzQ5NTY4LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEw MDY0NAppbmRleCA2YWZhZjFiNzE2MmYuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3NhZ2Vt YXRoL3BhdGNoZXMvdHJhYy0zNDY2OC1tYXRwbG90bGliXzMuNi01NTAxZTBkZTBkY2ExY2ZmMDM1 NTMyNmRkNDJiZDhjN2U1NzQ5NTY4LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNzIgKzAsMCBA QAotY29tbWl0IDU1MDFlMGRlMGRjYTFjZmYwMzU1MzI2ZGQ0MmJkOGM3ZTU3NDk1NjgKLUF1dGhv cjogR29uemFsbyBUb3JuYXLDrWEgPHRvcm5hcmlhQGNtYXQuZWR1LnV5PgotRGF0ZTogICBUdWUg T2N0IDExIDE3OjI1OjA0IDIwMjIgLTAzMDAKLQotICAgIFN1cHBvcnQgbWF0cGxvdGxpYiAzLjYK LQotZGlmZiAtLWdpdCBhL3NyYy9zYWdlL3Bsb3QvYXJjLnB5IGIvc3JjL3NhZ2UvcGxvdC9hcmMu cHkKLWluZGV4IGJiODM0NzYzYWZjLi5mNjU5NzNiY2JkNSAxMDA2NDQKLS0tLSBhL3NyYy9zYWdl L3Bsb3QvYXJjLnB5Ci0rKysgYi9zcmMvc2FnZS9wbG90L2FyYy5weQotQEAgLTI3Myw5ICsyNzMs OSBAQCBjbGFzcyBBcmMoR3JhcGhpY1ByaW1pdGl2ZSk6Ci0gICAgICAgICBwID0gcGF0Y2hlcy5B cmMoKHNlbGYueCwgc2VsZi55KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAyLiAqIHNlbGYu cjEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgMi4gKiBzZWxmLnIyLAotLSAgICAgICAgICAg ICAgICAgICAgICAgIGZtb2Qoc2VsZi5hbmdsZSwgMiAqIHBpKSAqICgxODAuIC8gcGkpLAotLSAg ICAgICAgICAgICAgICAgICAgICAgIHNlbGYuczEgKiAoMTgwLiAvIHBpKSwKLS0gICAgICAgICAg ICAgICAgICAgICAgICBzZWxmLnMyICogKDE4MC4gLyBwaSkpCi0rICAgICAgICAgICAgICAgICAg ICAgICAgYW5nbGU9Zm1vZChzZWxmLmFuZ2xlLCAyICogcGkpICogKDE4MC4gLyBwaSksCi0rICAg ICAgICAgICAgICAgICAgICAgICAgdGhldGExPXNlbGYuczEgKiAoMTgwLiAvIHBpKSwKLSsgICAg ICAgICAgICAgICAgICAgICAgICB0aGV0YTI9c2VsZi5zMiAqICgxODAuIC8gcGkpKQotICAgICAg ICAgcmV0dXJuIHAKLSAKLSAgICAgZGVmIGJlemllcl9wYXRoKHNlbGYpOgotZGlmZiAtLWdpdCBh L3NyYy9zYWdlL3Bsb3QvZWxsaXBzZS5weSBiL3NyYy9zYWdlL3Bsb3QvZWxsaXBzZS5weQotaW5k ZXggYTc3ZTZmZTY0MGEuLmMzNWJlZDU3NGVmIDEwMDY0NAotLS0tIGEvc3JjL3NhZ2UvcGxvdC9l bGxpcHNlLnB5Ci0rKysgYi9zcmMvc2FnZS9wbG90L2VsbGlwc2UucHkKLUBAIC0xOTIsNyArMTky LDggQEAgY2xhc3MgRWxsaXBzZShHcmFwaGljUHJpbWl0aXZlKToKLSAgICAgICAgIG9wdGlvbnMg PSBzZWxmLm9wdGlvbnMoKQotICAgICAgICAgcCA9IHBhdGNoZXMuRWxsaXBzZSgKLSAgICAgICAg ICAgICAgICAgKHNlbGYueCxzZWxmLnkpLAotLSAgICAgICAgICAgICAgICBzZWxmLnIxKjIuLHNl bGYucjIqMi4sc2VsZi5hbmdsZS9waSoxODAuKQotKyAgICAgICAgICAgICAgICBzZWxmLnIxKjIu LHNlbGYucjIqMi4sCi0rICAgICAgICAgICAgICAgIGFuZ2xlPXNlbGYuYW5nbGUvcGkqMTgwLikK LSAgICAgICAgIHAuc2V0X2xpbmV3aWR0aChmbG9hdChvcHRpb25zWyd0aGlja25lc3MnXSkpCi0g ICAgICAgICBwLnNldF9maWxsKG9wdGlvbnNbJ2ZpbGwnXSkKLSAgICAgICAgIGEgPSBmbG9hdChv cHRpb25zWydhbHBoYSddKQotZGlmZiAtLWdpdCBhL3NyYy9zYWdlL3Bsb3QvZ3JhcGhpY3MucHkg Yi9zcmMvc2FnZS9wbG90L2dyYXBoaWNzLnB5Ci1pbmRleCBlNzc5ZTEyMTBlMy4uOGQ2MjBiNWM2 MjUgMTAwNjQ0Ci0tLS0gYS9zcmMvc2FnZS9wbG90L2dyYXBoaWNzLnB5Ci0rKysgYi9zcmMvc2Fn ZS9wbG90L2dyYXBoaWNzLnB5Ci1AQCAtMjAwNyw3ICsyMDA3LDcgQEAgY2xhc3MgR3JhcGhpY3Mo V2l0aEVxdWFsaXR5QnlJZCwgU2FnZU9iamVjdCk6Ci0gICAgICAgICBXZSBjYW4gYWxzbyBkbyBj dXN0b20gZm9ybWF0dGluZyBpZiB5b3UgbmVlZCBpdC4gIFNlZSBhYm92ZSBmb3IgZnVsbAotICAg ICAgICAgZGV0YWlsczo6Ci0gCi0tICAgICAgICAgICAgc2FnZTogcGxvdCgyKngrMSwoeCwwLDUp LHRpY2tzPVtbMCwxLGUscGksc3FydCgyMCldLDJdLHRpY2tfZm9ybWF0dGVyPSJsYXRleCIpCi0r ICAgICAgICAgICAgc2FnZTogcGxvdCgyKngrMSwoeCwwLDUpLHRpY2tzPVtbMCwxLGUscGksc3Fy dCgyMCldLDJdLHRpY2tfZm9ybWF0dGVyPSJsYXRleCIpICMgbm90IHRlc3RlZCAoYnJva2VuIHdp dGggbWF0cGxvdGxpYiAzLjYpCi0gICAgICAgICAgICAgR3JhcGhpY3Mgb2JqZWN0IGNvbnNpc3Rp bmcgb2YgMSBncmFwaGljcyBwcmltaXRpdmUKLSAKLSAgICAgICAgIFRoaXMgaXMgcGFydGljdWxh cmx5IHVzZWZ1bCB3aGVuIHNldHRpbmcgY3VzdG9tIHRpY2tzIGluIG11bHRpcGxlcwotQEAgLTIz NDEsNyArMjM0MSw3IEBAIGNsYXNzIEdyYXBoaWNzKFdpdGhFcXVhbGl0eUJ5SWQsIFNhZ2VPYmpl Y3QpOgotICAgICAgICAgICAgIHNhZ2U6IHN1YnBsb3QgPSBGaWd1cmUoKS5hZGRfc3VicGxvdCgx MTEpCi0gICAgICAgICAgICAgc2FnZTogcC5fb2JqZWN0c1swXS5fcmVuZGVyX29uX3N1YnBsb3Qo c3VicGxvdCkKLSAgICAgICAgICAgICBzYWdlOiBwLl9tYXRwbG90bGliX3RpY2tfZm9ybWF0dGVy KHN1YnBsb3QsICoqZCkKLS0gICAgICAgICAgICAoPEF4ZXNTdWJwbG90Oj4sCi0rICAgICAgICAg ICAgKDxBeGVzU3VicGxvdDouLi4+LAotICAgICAgICAgICAgIDxtYXRwbG90bGliLnRpY2tlci5N YXhOTG9jYXRvciBvYmplY3QgYXQgLi4uPiwKLSAgICAgICAgICAgICA8bWF0cGxvdGxpYi50aWNr ZXIuTWF4TkxvY2F0b3Igb2JqZWN0IGF0IC4uLj4sCi0gICAgICAgICAgICAgPG1hdHBsb3RsaWIu dGlja2VyLlNjYWxhckZvcm1hdHRlciBvYmplY3QgYXQgLi4uPiwKLWRpZmYgLS1naXQgYS9zcmMv c2FnZS9wbG90L3Bsb3QucHkgYi9zcmMvc2FnZS9wbG90L3Bsb3QucHkKLWluZGV4IGIzNmVlNTcy MjdjLi41MzAxYTA1YzNkYyAxMDA2NDQKLS0tLSBhL3NyYy9zYWdlL3Bsb3QvcGxvdC5weQotKysr IGIvc3JjL3NhZ2UvcGxvdC9wbG90LnB5Ci1AQCAtMTc0MSw3ICsxNzQxLDcgQEAgZGVmIHBsb3Qo ZnVuY3MsICphcmdzLCAqKmt3ZHMpOgotIAotICAgICA6OgotIAotLSAgICAgICAgc2FnZTogcGxv dCgyKngrMSwoeCwwLDUpLHRpY2tzPVtbMCwxLGUscGksc3FydCgyMCldLDJdLHRpY2tfZm9ybWF0 dGVyPSJsYXRleCIpCi0rICAgICAgICBzYWdlOiBwbG90KDIqeCsxLCh4LDAsNSksdGlja3M9W1sw LDEsZSxwaSxzcXJ0KDIwKV0sMl0sdGlja19mb3JtYXR0ZXI9ImxhdGV4IikgIyBub3QgdGVzdGVk IChicm9rZW4gd2l0aCBtYXRwbG90bGliIDMuNikKLSAgICAgICAgIEdyYXBoaWNzIG9iamVjdCBj b25zaXN0aW5nIG9mIDEgZ3JhcGhpY3MgcHJpbWl0aXZlCi0gCi0gICAgIC4uIFBMT1Q6OgpkaWZm IC0tZ2l0IGEvc3JjcGtncy9zYWdlbWF0aC9wYXRjaGVzL3RyYWMtMzQ4NTEtc3VwcG9ydF9zaW5n dWxhcl80LjMuMS5wMy01ZTU3MzdhMGMucGF0Y2ggYi9zcmNwa2dzL3NhZ2VtYXRoL3BhdGNoZXMv dHJhYy0zNDg1MS1zdXBwb3J0X3Npbmd1bGFyXzQuMy4xLnAzLTVlNTczN2EwYy5wYXRjaApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmYyZjgyNWU0ZmIxMAotLS0gL2Rl di9udWxsCisrKyBiL3NyY3BrZ3Mvc2FnZW1hdGgvcGF0Y2hlcy90cmFjLTM0ODUxLXN1cHBvcnRf c2luZ3VsYXJfNC4zLjEucDMtNWU1NzM3YTBjLnBhdGNoCkBAIC0wLDAgKzEsMjA1IEBACitkaWZm IC0tZ2l0IGEvYnVpbGQvcGtncy9zaW5ndWxhci9jaGVja3N1bXMuaW5pIGIvYnVpbGQvcGtncy9z aW5ndWxhci9jaGVja3N1bXMuaW5pCitpbmRleCAyZTMzYTQwNWQzNi4uMzEzNDYzZDJmZWEgMTAw NjQ0CistLS0gYS9idWlsZC9wa2dzL3Npbmd1bGFyL2NoZWNrc3Vtcy5pbmkKKysrKyBiL2J1aWxk L3BrZ3Mvc2luZ3VsYXIvY2hlY2tzdW1zLmluaQorQEAgLTEsNSArMSw1IEBACisgdGFyYmFsbD1z aW5ndWxhci1WRVJTSU9OLnRhci5negorLXNoYTE9NmMyYjYyMmQzNjgxZTJkZTNkNThkMzBjNjU0 ZDQzZDNlMzJiNzIwYworLW1kNT1hYmIxZTM3Yzc5NDQ3MmU3NzYwNjU1MzU4YWI2NjA1NAorLWNr c3VtPTE3NDU1NzMzCisrc2hhMT0yOGJiM2VlOTdlZjQ4ZDA0ZGZhOTZkZTE4MmZkOTNlZWJlMDg0 MjZjCisrbWQ1PWZjMGE0ZjU3MjBkYWRiYTQ1YTUyZWU5NDMyNGNlMDBjCisrY2tzdW09MTU3Mzg1 MTczNworIHVwc3RyZWFtX3VybD1mdHA6Ly9qaW0ubWF0aGVtYXRpay51bmkta2wuZGUvcHViL01h dGgvU2luZ3VsYXIvU09VUkNFUy80LTMtMS9zaW5ndWxhci1WRVJTSU9OLnRhci5negorZGlmZiAt LWdpdCBhL2J1aWxkL3BrZ3Mvc2luZ3VsYXIvcGFja2FnZS12ZXJzaW9uLnR4dCBiL2J1aWxkL3Br Z3Mvc2luZ3VsYXIvcGFja2FnZS12ZXJzaW9uLnR4dAoraW5kZXggMTEzMDBjNzdlN2QuLjY2ZTJi ZWRlNTNhIDEwMDY0NAorLS0tIGEvYnVpbGQvcGtncy9zaW5ndWxhci9wYWNrYWdlLXZlcnNpb24u dHh0CisrKysgYi9idWlsZC9wa2dzL3Npbmd1bGFyL3BhY2thZ2UtdmVyc2lvbi50eHQKK0BAIC0x ICsxIEBACistNC4zLjFwMQorKzQuMy4xcDMKK2RpZmYgLS1naXQgYS9zcmMvc2FnZS9saWJzL3Np bmd1bGFyL2RlY2wucHhkIGIvc3JjL3NhZ2UvbGlicy9zaW5ndWxhci9kZWNsLnB4ZAoraW5kZXgg OGUzYWMzMTRiNjcuLjc0N2E2YjFlMmZiIDEwMDY0NAorLS0tIGEvc3JjL3NhZ2UvbGlicy9zaW5n dWxhci9kZWNsLnB4ZAorKysrIGIvc3JjL3NhZ2UvbGlicy9zaW5ndWxhci9kZWNsLnB4ZAorQEAg LTU3NCw3ICs1NzQsNyBAQCBjZGVmIGV4dGVybiBmcm9tICJzaW5ndWxhci9TaW5ndWxhci9saWJz aW5ndWxhci5oIjoKKyAKKyAgICAgIyBnZXRzIGEgY29tcG9uZW50IG91dCBvZiBhIHBvbHlub21p YWwgdmVjdG9yCisgCistICAgIHBvbHkgKnBUYWtlT3V0Q29tcDEocG9seSAqKiwgaW50KQorKyAg ICBwb2x5ICpwVGFrZU91dENvbXAocG9seSAqKiwgaW50KQorIAorICAgICAjIGRlZXAgY29weSBw CisgCitkaWZmIC0tZ2l0IGEvc3JjL3NhZ2UvbGlicy9zaW5ndWxhci9zaW5ndWxhci5weXggYi9z cmMvc2FnZS9saWJzL3Npbmd1bGFyL3Npbmd1bGFyLnB5eAoraW5kZXggZDhlYTdiMDdmM2MuLjNh MTI3MWNkNTlmIDEwMDY0NAorLS0tIGEvc3JjL3NhZ2UvbGlicy9zaW5ndWxhci9zaW5ndWxhci5w eXgKKysrKyBiL3NyYy9zYWdlL2xpYnMvc2luZ3VsYXIvc2luZ3VsYXIucHl4CitAQCAtMTcyNiwy MCArMTcyNiwyMSBAQCBjZGVmIGludCBvdmVyZmxvd19jaGVjayh1bnNpZ25lZCBsb25nIGUsIHJp bmcgKl9yaW5nKSBleGNlcHQgLTE6CisgCisgICAgIFdoZXRoZXIgYW4gb3ZlcmZsb3cgb2NjdXJz IG9yIG5vdCBwYXJ0aWFsbHkgZGVwZW5kcworICAgICBvbiB0aGUgbnVtYmVyIG9mIHZhcmlhYmxl cyBpbiB0aGUgcmluZy4gU2VlIHRyYWMgdGlja2V0CistICAgIDp0cmFjOmAxMTg1NmAuIFdpdGgg U2luZ3VsYXIgNCwgaXQgaXMgYnkgZGVmYXVsdCBvcHRpbWl6ZWQKKy0gICAgZm9yIGF0IGxlYXN0 IDQgdmFyaWFibGVzIG9uIDY0LWJpdCBhbmQgMiB2YXJpYWJsZXMgb24gMzItYml0LAorLSAgICB3 aGljaCBpbiBib3RoIGNhc2VzIG1ha2VzIGEgbWF4aW1hbCBkZWZhdWx0IGV4cG9uZW50IG9mCist ICAgIDJeMTYtMS4KKysgICAgOnRyYWM6YDExODU2YC4KKyAKKyAgICAgRVhBTVBMRVM6OgorIAor ICAgICAgICAgc2FnZTogUC48eCx5PiA9IFFRW10KKy0gICAgICAgIHNhZ2U6IHleKDJeMTYtMSkK Ky0gICAgICAgIHleNjU1MzUKKy0gICAgICAgIHNhZ2U6IHleMl4xNgorKyAgICAgICAgc2FnZTog eV4oMl4zMCkKKysgICAgICAgIFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KTogICAg ICAgICAgICAgIyAzMi1iaXQKKysgICAgICAgIC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIyAzMi1iaXQKKysgICAgICAgIE92ZXJmbG93RXJyb3I6IGV4cG9u ZW50IG92ZXJmbG93ICgxMDczNzQxODI0KSAgIyAzMi1iaXQKKysgICAgICAgIHleMTA3Mzc0MTgy NCAgIyA2NC1iaXQKKysgICAgICAgIHNhZ2U6IHleMl4zMgorICAgICAgICAgVHJhY2ViYWNrICht b3N0IHJlY2VudCBjYWxsIGxhc3QpOgorICAgICAgICAgLi4uCistICAgICAgICBPdmVyZmxvd0Vy cm9yOiBleHBvbmVudCBvdmVyZmxvdyAoNjU1MzYpCisrICAgICAgICBPdmVyZmxvd0Vycm9yOiBQ eXRob24gaW50IHRvbyBsYXJnZSB0byBjb252ZXJ0IHRvIEMgdW5zaWduZWQgbG9uZyAgIyAzMi1i aXQKKysgICAgICAgIE92ZXJmbG93RXJyb3I6IGV4cG9uZW50IG92ZXJmbG93ICg0Mjk0OTY3Mjk2 KSAgIyA2NC1iaXQKKyAgICAgIiIiCisgICAgIGlmIHVubGlrZWx5KGUgPiBfcmluZy5iaXRtYXNr KToKKyAgICAgICAgIHJhaXNlIE92ZXJmbG93RXJyb3IoImV4cG9uZW50IG92ZXJmbG93ICglZCki JShlKSkKK2RpZmYgLS1naXQgYS9zcmMvc2FnZS9yaW5ncy9wb2x5bm9taWFsL211bHRpX3BvbHlu b21pYWxfaWRlYWwucHkgYi9zcmMvc2FnZS9yaW5ncy9wb2x5bm9taWFsL211bHRpX3BvbHlub21p YWxfaWRlYWwucHkKK2luZGV4IDdkYzA1OGEyMmYwLi43MTQ5NGVkZGJjMCAxMDA2NDQKKy0tLSBh L3NyYy9zYWdlL3JpbmdzL3BvbHlub21pYWwvbXVsdGlfcG9seW5vbWlhbF9pZGVhbC5weQorKysr IGIvc3JjL3NhZ2UvcmluZ3MvcG9seW5vbWlhbC9tdWx0aV9wb2x5bm9taWFsX2lkZWFsLnB5CitA QCAtNjAsNyArNjAsNyBAQAorIE5vdGUgdGhhdCB0aGUgcmVzdWx0IG9mIGEgY29tcHV0YXRpb24g aXMgbm90IG5lY2Vzc2FyaWx5IHJlZHVjZWQ6OgorIAorICAgICBzYWdlOiAoYStiKV4xNworLSAg ICAyNTYqYSpiXjE2ICsgMjU2KmJeMTcKKysgICAgYSpiXjE2ICsgYl4xNworICAgICBzYWdlOiBT KDE3KSA9PSAwCisgICAgIFRydWUKKyAKK2RpZmYgLS1naXQgYS9zcmMvc2FnZS9yaW5ncy9wb2x5 bm9taWFsL211bHRpX3BvbHlub21pYWxfbGlic2luZ3VsYXIucHl4IGIvc3JjL3NhZ2UvcmluZ3Mv cG9seW5vbWlhbC9tdWx0aV9wb2x5bm9taWFsX2xpYnNpbmd1bGFyLnB5eAoraW5kZXggNGRhZDAx NmIzM2YuLjliZjY3ZGQxNDI1IDEwMDY0NAorLS0tIGEvc3JjL3NhZ2UvcmluZ3MvcG9seW5vbWlh bC9tdWx0aV9wb2x5bm9taWFsX2xpYnNpbmd1bGFyLnB5eAorKysrIGIvc3JjL3NhZ2UvcmluZ3Mv cG9seW5vbWlhbC9tdWx0aV9wb2x5bm9taWFsX2xpYnNpbmd1bGFyLnB5eAorQEAgLTE5Myw3ICsx OTMsNyBAQCBmcm9tIHNhZ2UubGlicy5zaW5ndWxhci5kZWNsIGNpbXBvcnQgKAorICAgICBwX0lz VW5pdCwgcF9Jc09uZSwgcF9TZXJpZXMsIHBfSGVhZCwgaWRJbml0LCBmYXN0X21hcF9jb21tb25f c3ViZXhwLCBpZF9EZWxldGUsCisgICAgIHBfSXNIb21vZ2VuZW91cywgcF9Ib21vZ2VuLCBwX1Rv dGFsZGVncmVlLHBMRGVnMV9Ub3RhbGRlZ3JlZSwgc2luZ2NsYXBfcGRpdmlkZSwgc2luZ2NsYXBf ZmFjdG9yaXplLAorICAgICBpZExpZnQsIElERUxFTVMsIE9uLCBPZmYsIFNXX1VTRV9DSElOUkVN X0dDRCwgU1dfVVNFX0VaR0NELAorLSAgICBwX0xtSXNDb25zdGFudCwgcFRha2VPdXRDb21wMSwg c2luZ2NsYXBfZ2NkLCBwcF9NdWx0X3FxLCBwX0dldE1heEV4cCwKKysgICAgcF9MbUlzQ29uc3Rh bnQsIHBUYWtlT3V0Q29tcCwgc2luZ2NsYXBfZ2NkLCBwcF9NdWx0X3FxLCBwX0dldE1heEV4cCwK KyAgICAgcExlbmd0aCwga05GLCBwX05lZywgcF9NaW51c19tbV9NdWx0X3FxLCBwX1BsdXNfbW1f TXVsdF9xcSwKKyAgICAgcERpZmYsIHNpbmdjbGFwX3Jlc3VsdGFudCwgcF9Ob3JtYWxpemUsCisg ICAgIHByQ29weVIsIHByQ29weVJfTm9Tb3J0KQorQEAgLTE1ODcsNyArMTU4Nyw4IEBAIGNkZWYg Y2xhc3MgTVBvbHlub21pYWxSaW5nX2xpYnNpbmd1bGFyKE1Qb2x5bm9taWFsUmluZ19iYXNlKToK KyAgICAgICAgICAgICA5LzQKKyAKKyAgICAgICAgICAgICBzYWdlOiBQLm1vbm9taWFsX3F1b3Rp ZW50KHgseSkgIyBOb3RlIHRoZSB3cm9uZyByZXN1bHQKKy0gICAgICAgICAgICB4KnleNjU1MzUq el42NTUzNQorKyAgICAgICAgICAgIHgqeV42NTUzNSp6XjY1NTM1ICAgICAgIyAzMi1iaXQKKysg ICAgICAgICAgICB4KnleMTA0ODU3NSp6XjEwNDg1NzUgICMgNjQtYml0CisgCisgICAgICAgICAg ICAgc2FnZTogUC5tb25vbWlhbF9xdW90aWVudCh4LFAoMSkpCisgICAgICAgICAgICAgeAorQEAg LTIyNDcsMTAgKzIyNDgsMTEgQEAgY2RlZiBjbGFzcyBNUG9seW5vbWlhbF9saWJzaW5ndWxhcihN UG9seW5vbWlhbCk6CisgICAgICAgICAgICAgOS80KnheMiAtIDEvNCp5XjIgLSB5IC0gMQorIAor ICAgICAgICAgICAgIHNhZ2U6IFAuPHgseT4gPSBQb2x5bm9taWFsUmluZyhRUSxvcmRlcj0nbGV4 JykKKy0gICAgICAgICAgICBzYWdlOiAoeF4yXjE1KSAqIHheMl4xNQorKyAgICAgICAgICAgIHNh Z2U6ICh4XjJeMzIpICogeF4yXjMyCisgICAgICAgICAgICAgVHJhY2ViYWNrIChtb3N0IHJlY2Vu dCBjYWxsIGxhc3QpOgorICAgICAgICAgICAgIC4uLgorLSAgICAgICAgICAgIE92ZXJmbG93RXJy b3I6IGV4cG9uZW50IG92ZXJmbG93ICguLi4pCisrICAgICAgICAgICAgT3ZlcmZsb3dFcnJvcjog UHl0aG9uIGludCB0b28gbGFyZ2UgdG8gY29udmVydCB0byBDIHVuc2lnbmVkIGxvbmcgICMgMzIt Yml0CisrICAgICAgICAgICAgT3ZlcmZsb3dFcnJvcjogZXhwb25lbnQgb3ZlcmZsb3cgKC4uLikg ICMgNjQtYml0CisgICAgICAgICAiIiIKKyAgICAgICAgICMgYWxsIGN1cnJlbnRseSBpbXBsZW1l bnRlZCByaW5ncyBhcmUgY29tbXV0YXRpdmUKKyAgICAgICAgIGNkZWYgcG9seSAqX3AKK0BAIC0y MzcxLDEwICsyMzczLDExIEBAIGNkZWYgY2xhc3MgTVBvbHlub21pYWxfbGlic2luZ3VsYXIoTVBv bHlub21pYWwpOgorICAgICAgICAgICAgIFZhbHVlRXJyb3I6IG5vdCBhIDJuZCBwb3dlcgorIAor ICAgICAgICAgICAgIHNhZ2U6IFAuPHgseT4gPSBQb2x5bm9taWFsUmluZyhRUSxvcmRlcj0nbGV4 JykKKy0gICAgICAgICAgICBzYWdlOiAoeCt5XjJeMTUpXjEwCisrICAgICAgICAgICAgc2FnZTog KHgreV4yXjMyKV4xMAorICAgICAgICAgICAgIFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBs YXN0KToKKyAgICAgICAgICAgICAuLi4uCistICAgICAgICAgICAgT3ZlcmZsb3dFcnJvcjogZXhw b25lbnQgb3ZlcmZsb3cgKC4uLikKKysgICAgICAgICAgICBPdmVyZmxvd0Vycm9yOiBQeXRob24g aW50IHRvbyBsYXJnZSB0byBjb252ZXJ0IHRvIEMgdW5zaWduZWQgbG9uZyAgIyAzMi1iaXQKKysg ICAgICAgICAgICBPdmVyZmxvd0Vycm9yOiBleHBvbmVudCBvdmVyZmxvdyAoLi4uKSAgIyA2NC1i aXQKKyAKKyAgICAgICAgIFRlc3QgZnJhY3Rpb25hbCBwb3dlcnMgKDp0cmFjOmAyMjMyOWApOjoK KyAKK0BAIC0zNDYxLDcgKzM0NjQsNyBAQCBjZGVmIGNsYXNzIE1Qb2x5bm9taWFsX2xpYnNpbmd1 bGFyKE1Qb2x5bm9taWFsKToKKyAgICAgICAgICAgICB4XjEwMDAwCisgICAgICAgICAgICAgbm8g b3ZlcmZsb3cKKyAKKy0gICAgICAgICAgICBzYWdlOiBuID0gMTAwMAorKyAgICAgICAgICAgIHNh Z2U6IG4gPSAxMDAwMDAKKyAgICAgICAgICAgICBzYWdlOiB0cnk6CisgICAgICAgICAgICAgLi4u LjogICAgIGYgPSB4Xm4KKyAgICAgICAgICAgICAuLi4uOiAgICAgZi5zdWJzKHggPSB4Xm4pCitA QCAtNDU2Nyw3ICs0NTcwLDcgQEAgY2RlZiBjbGFzcyBNUG9seW5vbWlhbF9saWJzaW5ndWxhcihN UG9seW5vbWlhbCk6CisgICAgICAgICBsID0gW10KKyAgICAgICAgIGZvciBpIGZyb20gMCA8PSBp IDwgSURFTEVNUyhyZXMpOgorICAgICAgICAgICAgIGZvciBqIGZyb20gMSA8PSBqIDw9IElERUxF TVMoX0kpOgorLSAgICAgICAgICAgICAgICBsLmFwcGVuZCggbmV3X01QKHBhcmVudCwgcFRha2VP dXRDb21wMSgmcmVzLm1baV0sIGopKSApCisrICAgICAgICAgICAgICAgIGwuYXBwZW5kKCBuZXdf TVAocGFyZW50LCBwVGFrZU91dENvbXAoJnJlcy5tW2ldLCAxKSkgKQorIAorICAgICAgICAgaWRf RGVsZXRlKCZmSSwgcikKKyAgICAgICAgIGlkX0RlbGV0ZSgmX0ksIHIpCitAQCAtNDYzNSw3ICs0 NjM4LDcgQEAgY2RlZiBjbGFzcyBNUG9seW5vbWlhbF9saWJzaW5ndWxhcihNUG9seW5vbWlhbCk6 CisgCisgICAgICAgICAgICAgc2FnZTogZiA9IDMqeAorICAgICAgICAgICAgIHNhZ2U6IGYucmVk dWNlKFsyKngseV0pCistICAgICAgICAgICAgMyp4CisrICAgICAgICAgICAgeAorIAorICAgICAg ICAgVGhlIHJlZHVjdGlvbiBpcyBub3QgY2Fub25pY2FsIHdoZW4gYGBJYGAgaXMgbm90IGEgR3Jv ZWJuZXIKKyAgICAgICAgIGJhc2lzOjoKK2RpZmYgLS1naXQgYS9zcmMvc2FnZS9yaW5ncy9wb2x5 bm9taWFsL3BsdXJhbC5weXggYi9zcmMvc2FnZS9yaW5ncy9wb2x5bm9taWFsL3BsdXJhbC5weXgK K2luZGV4IDFjOWYzNWU1NmJhLi41ODc1MTFjMzg4OCAxMDA2NDQKKy0tLSBhL3NyYy9zYWdlL3Jp bmdzL3BvbHlub21pYWwvcGx1cmFsLnB5eAorKysrIGIvc3JjL3NhZ2UvcmluZ3MvcG9seW5vbWlh bC9wbHVyYWwucHl4CitAQCAtMTYxOSwxMCArMTYxOSwxMCBAQCBjZGVmIGNsYXNzIE5DUG9seW5v bWlhbF9wbHVyYWwoUmluZ0VsZW1lbnQpOgorICAgICAgICAgICAgIHNhZ2U6IFAgPSBBLmdfYWxn ZWJyYShyZWxhdGlvbnM9e3kqeDoteCp5ICsgen0sICBvcmRlcj0nbGV4JykKKyAgICAgICAgICAg ICBzYWdlOiBQLmluamVjdF92YXJpYWJsZXMoKQorICAgICAgICAgICAgIERlZmluaW5nIHgsIHos IHkKKy0gICAgICAgICAgICBzYWdlOiAoeF4yXjE1KSAqIHheMl4xNQorKyAgICAgICAgICAgIHNh Z2U6ICh4XjJeMzEpICogeF4yXjMxCisgICAgICAgICAgICAgVHJhY2ViYWNrIChtb3N0IHJlY2Vu dCBjYWxsIGxhc3QpOgorICAgICAgICAgICAgIC4uLgorLSAgICAgICAgICAgIE92ZXJmbG93RXJy b3I6IGV4cG9uZW50IG92ZXJmbG93ICg2NTUzNikKKysgICAgICAgICAgICBPdmVyZmxvd0Vycm9y OiBleHBvbmVudCBvdmVyZmxvdyAoMjE0NzQ4MzY0OCkKKyAgICAgICAgICIiIgorICAgICAgICAg IyBhbGwgY3VycmVudGx5IGltcGxlbWVudGVkIHJpbmdzIGFyZSBjb21tdXRhdGl2ZQorICAgICAg ICAgY2RlZiBwb2x5ICpfcAorQEAgLTE2ODksMTAgKzE2ODksMTAgQEAgY2RlZiBjbGFzcyBOQ1Bv bHlub21pYWxfcGx1cmFsKFJpbmdFbGVtZW50KToKKyAgICAgICAgICAgICBzYWdlOiBQID0gQS5n X2FsZ2VicmEocmVsYXRpb25zPXt5Kng6LXgqeSArIHp9LCAgb3JkZXI9J2xleCcpCisgICAgICAg ICAgICAgc2FnZTogUC5pbmplY3RfdmFyaWFibGVzKCkKKyAgICAgICAgICAgICBEZWZpbmluZyB4 LCB6LCB5CistICAgICAgICAgICAgc2FnZTogKHgreV4yXjE1KV4xMAorKyAgICAgICAgICAgIHNh Z2U6ICh4K3leMl4zMSleMTAKKyAgICAgICAgICAgICBUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNh bGwgbGFzdCk6CisgICAgICAgICAgICAgLi4uLgorLSAgICAgICAgICAgIE92ZXJmbG93RXJyb3I6 IGV4cG9uZW50IG92ZXJmbG93ICgzMjc2ODApCisrICAgICAgICAgICAgT3ZlcmZsb3dFcnJvcjog ZXhwb25lbnQgb3ZlcmZsb3cgKDIxNDc0ODM2NDgpCisgICAgICAgICAiIiIKKyAgICAgICAgIGlm IHR5cGUoZXhwKSBpcyBub3QgSW50ZWdlcjoKKyAgICAgICAgICAgICB0cnk6CitkaWZmIC0tZ2l0 IGEvc3JjL3NhZ2Uvc3RydWN0dXJlL2VsZW1lbnQucHl4IGIvc3JjL3NhZ2Uvc3RydWN0dXJlL2Vs ZW1lbnQucHl4CitpbmRleCBiNWQ4M2VmNzFiNi4uNWM0NWIzZmI1MjggMTAwNjQ0CistLS0gYS9z cmMvc2FnZS9zdHJ1Y3R1cmUvZWxlbWVudC5weXgKKysrKyBiL3NyYy9zYWdlL3N0cnVjdHVyZS9l bGVtZW50LnB5eAorQEAgLTI3MDUsMTAgKzI3MDUsMTAgQEAgY2RlZiBjbGFzcyBSaW5nRWxlbWVu dChNb2R1bGVFbGVtZW50KToKKyAgICAgICAgIHdpdGggU2luZ3VsYXIgNDo6CisgCisgICAgICAg ICAgICAgc2FnZTogSy48eCx5PiA9IFpaW10KKy0gICAgICAgICAgICBzYWdlOiAoeF4xMjM0NSle NTQzMjEKKysgICAgICAgICAgICBzYWdlOiAoeF4xMjM0NTYpXjY1NDMyMQorICAgICAgICAgICAg IFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKKyAgICAgICAgICAgICAuLi4KKy0g ICAgICAgICAgICBPdmVyZmxvd0Vycm9yOiBleHBvbmVudCBvdmVyZmxvdyAoNjcwNTkyNzQ1KQor KyAgICAgICAgICAgIE92ZXJmbG93RXJyb3I6IGV4cG9uZW50IG92ZXJmbG93ICguLi4pCisgICAg ICAgICAiIiIKKyAgICAgICAgIHJldHVybiBhcml0aF9nZW5lcmljX3Bvd2VyKHNlbGYsIG4pCisg CmRpZmYgLS1naXQgYS9zcmNwa2dzL3NhZ2VtYXRoL3RlbXBsYXRlIGIvc3JjcGtncy9zYWdlbWF0 aC90ZW1wbGF0ZQppbmRleCA3NDQ0NWMzYWE4YzEuLjc1Njk1ZjBlNWY4NyAxMDA2NDQKLS0tIGEv c3JjcGtncy9zYWdlbWF0aC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3NhZ2VtYXRoL3RlbXBsYXRl CkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnc2FnZW1hdGgnCiBwa2duYW1l PXNhZ2VtYXRoCi12ZXJzaW9uPTkuNwotcmV2aXNpb249NAordmVyc2lvbj05LjgKK3JldmlzaW9u PTEKIGJ1aWxkX3dya3NyYz1wa2dzL3NhZ2VtYXRoLXN0YW5kYXJkCiBidWlsZF9zdHlsZT1weXRo b24zLW1vZHVsZQogX2JpbmRpcj0vdXNyL2xpYi9zYWdlbWF0aC8kdmVyc2lvbi9iaW4KQEAgLTE0 LDcgKzE0LDcgQEAgbWFrZWRlcGVuZHM9ImFyYi1kZXZlbCBib29zdC1kZXZlbCBicmlhbC1kZXZl bCBjbGlxdWVyLWRldmVsIGVjbCBlY2xpYi1kZXZlbAogIGxpYnBuZy1kZXZlbCBsaW5ib3gtZGV2 ZWwgbTRyaS1kZXZlbCBtNHJpZS1kZXZlbCBtcGZpLWRldmVsCiAgbXBmci1kZXZlbCBudGwtZGV2 ZWwgb3BlbmJsYXMtZGV2ZWwgcGFyaS1kZXZlbCBwbGFuYXJpdHktZGV2ZWwgcHl0aG9uMy1jeXBh cmkyCiAgcHl0aG9uMy1jeXNpZ25hbHMgcHl0aG9uMy1kZXZlbCBweXRob24zLWdtcHkyIHB5dGhv bjMtbWVtb3J5X2FsbG9jYXRvcgotIHB5dGhvbjMtbnVtcHkgcmFua3dpZHRoLWRldmVsIHNpbmd1 bGFyIHN5bW1ldHJpY2EtZGV2ZWwgem5fcG9seSIKKyBweXRob24zLW51bXB5IHJhbmt3aWR0aC1k ZXZlbCBzaW5ndWxhciBzeW1tZXRyaWNhLWRldmVsIgogZGVwZW5kcz0iRmxpbnRRUyBlY2xpYi1k ZXZlbCBmZmxhcy1mZnBhY2sgZmxpbnRsaWItZGV2ZWwgZ2NjLWZvcnRyYW4gZ2QtZGV2ZWwKICBn ZmFuIGdpYWMgZ3NsLWRldmVsIGd6aXAgbGlicG5nLWRldmVsIGxpbmJveC1kZXZlbCBtNHJpLWRl dmVsIG1heGltYS1lY2wKICBtcGZyLWRldmVsIG5hdXR5IG50bC1kZXZlbCBwYWxwIHBhcmktZGV2 ZWwgcGFyaS1lbGxkYXRhLXNtYWxsIHBhcmktZ2FsZGF0YQpAQCAtMzIsNyArMzIsNyBAQCBtYWlu dGFpbmVyPSJHb256YWxvIFRvcm5hcsOtYSA8dG9ybmFyaWFAY21hdC5lZHUudXk+IgogbGljZW5z ZT0iR1BMLTIuMC1vci1sYXRlciIKIGhvbWVwYWdlPSJodHRwOi8vc2FnZW1hdGgub3JnLyIKIGRp c3RmaWxlcz0iaHR0cHM6Ly9naXRodWIuY29tL3NhZ2VtYXRoL3NhZ2UvYXJjaGl2ZS9yZWZzL3Rh Z3MvJHZlcnNpb24udGFyLmd6IgotY2hlY2tzdW09OWYyNmYxNGFhMzIyZTNjZjM4YTcxODM1YjEy YWMzNGIyMzAyNmI0NjdmNzRkNTRiMDY0YzVkMDI1ZTc2ZmJmZAorY2hlY2tzdW09MmFmZjI4YmQx ZDE4YzJkNTI2NTgxZjUyOThhY2I4MzM2ZjViOTJkYjU2NzVhNzQwM2RlYzhlYWY5YTg2YmM0Ywog CiBkb19jb25maWd1cmUoKSB7CiAJIyBnaXQgdHJlZSBuZWVkcyBib290c3RyYXBwaW5nCmRpZmYg LS1naXQgYS9zcmNwa2dzL3NhZ2VtYXRoL3VwZGF0ZSBiL3NyY3BrZ3Mvc2FnZW1hdGgvdXBkYXRl Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNjhiZTNjNTc1MmQwCi0t LSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9zYWdlbWF0aC91cGRhdGUKQEAgLTAsMCArMSwyIEBA Citwa2duYW1lPSJzYWdlIgorc2l0ZT0iaHR0cHM6Ly9taXJyb3JzLm1pdC5lZHUvc2FnZS9zcmMv aW5kZXguaHRtbCIK --===============4253051029349114373==--