From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=ham autolearn_force=no version=3.4.2 Received: from inbox.vuxu.org (localhost [IPv6:::1]) by inbox.vuxu.org (OpenSMTPD) with ESMTP id f6a44b3b for ; Sun, 7 Jul 2019 07:38:31 +0000 (UTC) Content-Type: multipart/mixed; boundary="===============8006880849391992807==" MIME-Version: 1.0 Subject: Re: [PR PATCH] [Updated] xbps-src: multiple performance improvements To: ml@inbox.vuxu.org From: voidlinux-github@inbox.vuxu.org Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Sun, 07 Jul 2019 09:38:31 +0200 Message-ID: <20190707073831.qClHXHUm3HxlvHznnW_SP4zMMlh7vmryzicvdpgzUqE@z> GitHub notification mails are now in MIME to allow UTF8. --===============8006880849391992807== MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgeHRyYWVtZSBhZ2FpbnN0IG1hc3Rl ciBvbiB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20veHRy YWVtZS92b2lkLXBhY2thZ2VzIHhicHMtc3JjLXVsdHJhLWZhc3QKaHR0cHM6Ly9naXRodWIuY29t L3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzEyNzk3Cgp4YnBzLXNyYzogbXVsdGlwbGUg cGVyZm9ybWFuY2UgaW1wcm92ZW1lbnRzCnhicHMtc3JjOiBtdWx0aXBsZSBwZXJmb3JtYW5jZSBp bXByb3ZlbWVudHMNCg0KLSB1c2UgeGJwcy1jaGVja3ZlcnMoMSkgdG8gcmVzb2x2ZSBkZXBlbmRl bmNpZXMuDQotIGFsbCBkZXBlbmRlbmNpZXMgYXJlIGluc3RhbGxlZCBhdCBvbmNlIGZvciB0aGUg aG9zdCBhbmQgdGFyZ2V0Lg0KLSB0aGUgYHNob3ctYnVpbGQtZGVwc2AgdGFyZ2V0IGlzIG5vdyBt dWNoIGZhc3Rlci4NCi0gdGhlIGB1cGRhdGUtYnVsay9zaG93LXJlcG8tdXBkYXRlc2AgdGFyZ2V0 cyBhcmUgbm93IG11Y2ggZmFzdGVyLg0KLSB0aGUgYHVwZGF0ZS1zeXMvc2hvdy1zeXMtdXBkYXRl c2AgdGFyZ2V0cyBhcmUgbm93IG11Y2ggZmFzdGVyLg0KLSB0aGUgYGJvb3RzdHJhcGAgdGFyZ2V0 IG5vdyB3b3JrcyBvbiBtdXNsIGhvc3RzLg0KLSBzaW1wbGlmaWVkIHNvbWUgbG9vcHMuDQotIHVz ZSBjdXQoMSkgcmF0aGVyIHRoYW4gYXdrKDEpIHdoZXJlIGFwcGxpY2FibGUuDQotIG11bHRpcGxl IHJhbmRvbSBjaGFuZ2VzIHRvIGltcHJvdmUgcGVyZm9ybWFuY2UuDQoNCiBCYXNlZCBvbiB3b3Jr IHN0YXJ0ZWQgYnkgQER1bmNhZW4gb24gaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9p ZC1wYWNrYWdlcy9wdWxsLzEyNDMzDQoNCkNsb3NlIGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxp bnV4L3ZvaWQtcGFja2FnZXMvcHVsbC8xMjQzMw0KQ2xvc2UgaHR0cHM6Ly9naXRodWIuY29tL3Zv aWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzExMjgyCgpBIHBhdGNoIGZpbGUgZnJvbSBodHRw czovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwvMTI3OTcucGF0Y2gg aXMgYXR0YWNoZWQ= --===============8006880849391992807== Content-Type: application/text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-xbps-src-ultra-fast-12797.patch" RnJvbSBmOTg2NzQ0MjhkYjdmOGYzMzc1MDhhN2RjMGMyZDM1MzU1NjkzMjA5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKdWFuIFJQIDx4dHJhZW1lQGdtYWlsLmNvbT4KRGF0ZTogU3Vu LCA3IEp1bCAyMDE5IDA5OjM3OjU2ICswMjAwClN1YmplY3Q6IFtQQVRDSF0geGJwcy1zcmM6IG11 bHRpcGxlIHBlcmZvcm1hbmNlIGltcHJvdmVtZW50cwoKLSB1c2UgeGJwcy1jaGVja3ZlcnMoMSkg dG8gcmVzb2x2ZSBkZXBlbmRlbmNpZXMuCi0gYWxsIGRlcGVuZGVuY2llcyBhcmUgaW5zdGFsbGVk IGF0IG9uY2UgZm9yIHRoZSBob3N0IGFuZCB0YXJnZXQuCi0gdGhlIHNob3ctYnVpbGQtZGVwcyB0 YXJnZXQgaXMgbm93IG11Y2ggZmFzdGVyLgotIHRoZSB1cGRhdGUtYnVsay9zaG93LXJlcG8tdXBk YXRlcyB0YXJnZXRzIGFyZSBub3cgbXVjaCBmYXN0ZXIuCi0gdGhlIHVwZGF0ZS1zeXMvc2hvdy1z eXMtdXBkYXRlcyB0YXJnZXRzIGFyZSBub3cgbXVjaCBmYXN0ZXIuCi0gdGhlIGJvb3RzdHJhcCB0 YXJnZXQgbm93IHdvcmtzIG9uIG11c2wgaG9zdHMuCi0gc2ltcGxpZmllZCBzb21lIGxvb3BzLgot IHVzZSBjdXQoMSkgcmF0aGVyIHRoYW4gYXdrKDEpIHdoZXJlIGFwcGxpY2FibGUuCi0gbXVsdGlw bGUgcmFuZG9tIGNoYW5nZXMgdG8gaW1wcm92ZSBwZXJmb3JtYW5jZS4KCkJhc2VkIG9uIHdvcmsg c3RhcnRlZCBieSBARHVuY2FlbiBvbiAjMTI0MzMKCkNsb3NlICMxMjQzMwpDbG9zZSAjMTEyODIK LS0tCiAuZ2l0aWdub3JlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEg KwogY29tbW9uL2hvb2tzL2RvLXBrZy8wMC1nZW4tcGtnLnNoICAgICAgICAgICAgIHwgICA4ICst CiAuLi4vaG9va3MvcHJlLXBrZy8wNC1nZW5lcmF0ZS1ydW50aW1lLWRlcHMuc2ggfCAgNDEgKy0K IGNvbW1vbi9ob29rcy9wcmUtcGtnLzk5LXBrZ2xpbnQuc2ggICAgICAgICAgICB8ICAgNCArLQog Y29tbW9uL3hicHMtc3JjL2xpYmV4ZWMvYnVpbGQuc2ggICAgICAgICAgICAgIHwgICA0IC0KIGNv bW1vbi94YnBzLXNyYy9saWJleGVjL3hicHMtc3JjLWRvaW5zdGFsbC5zaCB8ICAgMiArLQogY29t bW9uL3hicHMtc3JjL2xpYmV4ZWMveGJwcy1zcmMtcHJlcGtnLnNoICAgIHwgICAyICstCiBjb21t b24veGJwcy1zcmMvc2h1dGlscy9idWlsZF9kZXBlbmRlbmNpZXMuc2ggfCA1MDUgKysrKysrKy0t LS0tLS0tLS0tCiBjb21tb24veGJwcy1zcmMvc2h1dGlscy9idWxrLnNoICAgICAgICAgICAgICAg fCAgOTUgKystLQogY29tbW9uL3hicHMtc3JjL3NodXRpbHMvY2hyb290LnNoICAgICAgICAgICAg IHwgIDIxICstCiBjb21tb24veGJwcy1zcmMvc2h1dGlscy9jb21tb24uc2ggICAgICAgICAgICAg fCAgMTYgKy0KIGNvbW1vbi94YnBzLXNyYy9zaHV0aWxzL2Nyb3NzLnNoICAgICAgICAgICAgICB8 ICAxMyArLQogY29tbW9uL3hicHMtc3JjL3NodXRpbHMvcGtndGFyZ2V0LnNoICAgICAgICAgIHwg ICA0ICsKIGNvbW1vbi94YnBzLXNyYy9zaHV0aWxzL3Nob3cuc2ggICAgICAgICAgICAgICB8ICA0 NCArLQogeGJwcy1zcmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMzI2 ICsrKysrLS0tLS0tCiAxNSBmaWxlcyBjaGFuZ2VkLCA0NjkgaW5zZXJ0aW9ucygrKSwgNjE3IGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhLy5naXRpZ25vcmUgYi8uZ2l0aWdub3JlCmluZGV4IGFj YzZiZjMzNDc5Li41OTFiMzUwNzU5MyAxMDA2NDQKLS0tIGEvLmdpdGlnbm9yZQorKysgYi8uZ2l0 aWdub3JlCkBAIC03LDMgKzcsNCBAQCBtYXN0ZXJkaXIqCiBob3N0ZGlyKgogZXRjL2NvbmYKIGV0 Yy92aXJ0dWFsCisueGJwcy1jaGVja3ZlcnMucGxpc3QKZGlmZiAtLWdpdCBhL2NvbW1vbi9ob29r cy9kby1wa2cvMDAtZ2VuLXBrZy5zaCBiL2NvbW1vbi9ob29rcy9kby1wa2cvMDAtZ2VuLXBrZy5z aAppbmRleCA3OGVjMmExNDIyYS4uYzBlZDA4OGRhOWQgMTAwNjQ0Ci0tLSBhL2NvbW1vbi9ob29r cy9kby1wa2cvMDAtZ2VuLXBrZy5zaAorKysgYi9jb21tb24vaG9va3MvZG8tcGtnLzAwLWdlbi1w a2cuc2gKQEAgLTMyLDE2ICszMiwxNiBAQCBnZW5wa2coKSB7CiAKIAlfcHJlc2VydmU9JHtwcmVz ZXJ2ZTorLXB9CiAJaWYgWyAtcyAke1BLR0RFU1RESVJ9L3JkZXBzIF07IHRoZW4KLQkJX2RlcHM9 IiQoY2F0ICR7UEtHREVTVERJUn0vcmRlcHMpIgorCQlfZGVwcz0iJCg8JHtQS0dERVNURElSfS9y ZGVwcykiCiAJZmkKIAlpZiBbIC1zICR7UEtHREVTVERJUn0vc2hsaWItcHJvdmlkZXMgXTsgdGhl bgotCQlfc2hwcm92aWRlcz0iJChjYXQgJHtQS0dERVNURElSfS9zaGxpYi1wcm92aWRlcykiCisJ CV9zaHByb3ZpZGVzPSIkKDwke1BLR0RFU1RESVJ9L3NobGliLXByb3ZpZGVzKSIKIAlmaQogCWlm IFsgLXMgJHtQS0dERVNURElSfS9zaGxpYi1yZXF1aXJlcyBdOyB0aGVuCi0JCV9zaHJlcXVpcmVz PSIkKGNhdCAke1BLR0RFU1RESVJ9L3NobGliLXJlcXVpcmVzKSIKKwkJX3NocmVxdWlyZXM9IiQo PCR7UEtHREVTVERJUn0vc2hsaWItcmVxdWlyZXMpIgogCWZpCiAJaWYgWyAtcyAke1hCUFNfU1RB VEVESVJ9L2dpdHJldiBdOyB0aGVuCi0JCV9naXRyZXZzPSIkKGNhdCAke1hCUFNfU1RBVEVESVJ9 L2dpdHJldikiCisJCV9naXRyZXZzPSIkKDwke1hCUFNfU1RBVEVESVJ9L2dpdHJldikiCiAJZmkK IAogCSMgU3RyaXBwaW5nIHdoaXRlc3BhY2VzCmRpZmYgLS1naXQgYS9jb21tb24vaG9va3MvcHJl LXBrZy8wNC1nZW5lcmF0ZS1ydW50aW1lLWRlcHMuc2ggYi9jb21tb24vaG9va3MvcHJlLXBrZy8w NC1nZW5lcmF0ZS1ydW50aW1lLWRlcHMuc2gKaW5kZXggNjIwNzcwMjI3MTEuLjZlNDViN2RkM2Mz IDEwMDY0NAotLS0gYS9jb21tb24vaG9va3MvcHJlLXBrZy8wNC1nZW5lcmF0ZS1ydW50aW1lLWRl cHMuc2gKKysrIGIvY29tbW9uL2hvb2tzL3ByZS1wa2cvMDQtZ2VuZXJhdGUtcnVudGltZS1kZXBz LnNoCkBAIC01LDcgKzUsNyBAQAogIwktIEdlbmVyYXRlcyBzaGxpYi1yZXF1aXJlcyBmaWxlIGZv ciB4YnBzLWNyZWF0ZSgxKQogCiBhZGRfcnVuZGVwKCkgewotICAgIGxvY2FsIGRlcD0iJDEiIGk9 IHJwa2dkZXA9IF9kZXBuYW1lPSBfcmRlcHM9IGZvdW5kPQorICAgIGxvY2FsIGRlcD0iJDEiIGk9 IHJwa2dkZXA9IF9kZXBuYW1lPSBmb3VuZD0KIAogICAgIF9kZXBuYW1lPSIkKCRYQlBTX1VIRUxQ RVJfQ01EIGdldHBrZ2RlcG5hbWUgJHtkZXB9IDI+L2Rldi9udWxsKSIKICAgICBpZiBbIC16ICIk e19kZXBuYW1lfSIgXTsgdGhlbgpAQCAtNjgsMjYgKzY4LDE5IEBAIGhvb2soKSB7CiAgICAgZXhl YyA8ICRkZXBzZnRtcAogICAgIHdoaWxlIHJlYWQgZjsgZG8KICAgICAgICAgbGY9JHtmIyR7UEtH REVTVERJUn19Ci0JaWYgWyAiJHtza2lwcmRlcHMvJHtsZn0vfSIgIT0gIiR7c2tpcHJkZXBzfSIg XTsgdGhlbgotCQltc2dfbm9ybWFsICJTa2lwcGluZyBkZXBlbmRlbmN5IHNjYW4gZm9yICR7bGZ9 XG4iCi0JCWNvbnRpbnVlCi0JZmkKKwkgICAgaWYgWyAiJHtza2lwcmRlcHMvJHtsZn0vfSIgIT0g IiR7c2tpcHJkZXBzfSIgXTsgdGhlbgorCQkgICAgbXNnX25vcm1hbCAiU2tpcHBpbmcgZGVwZW5k ZW5jeSBzY2FuIGZvciAke2xmfVxuIgorCQkgICAgY29udGludWUKKwkgICAgZmkKICAgICAgICAg Y2FzZSAiJChmaWxlIC1iaSAiJGYiKSIgaW4KICAgICAgICAgICAgIGFwcGxpY2F0aW9uL3gtKmV4 ZWN1dGFibGUqfGFwcGxpY2F0aW9uL3gtc2hhcmVkbGliKikKICAgICAgICAgICAgICAgICBmb3Ig bmxpYiBpbiAkKCRPQkpEVU1QIC1wICIkZiJ8Z3JlcCBORUVERUR8YXdrICd7cHJpbnQgJDJ9Jyk7 IGRvCi0gICAgICAgICAgICAgICAgICAgIGlmIFsgLXogIiR2ZXJpZnlfZGVwcyIgXTsgdGhlbgot ICAgICAgICAgICAgICAgICAgICAgICAgdmVyaWZ5X2RlcHM9IiRubGliIgotICAgICAgICAgICAg ICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgICAgICAgICAgZmkKKyAgICAgICAgICAg ICAgICAgICAgWyAteiAiJHZlcmlmeV9kZXBzIiBdICYmIHZlcmlmeV9kZXBzPSIkbmxpYiIgJiYg Y29udGludWUKKyAgICAgICAgICAgICAgICAgICAgZm91bmQ9MAogICAgICAgICAgICAgICAgICAg ICBmb3IgaiBpbiAke3ZlcmlmeV9kZXBzfTsgZG8KLSAgICAgICAgICAgICAgICAgICAgICAgIFsg IiRqIiAhPSAiJG5saWIiIF0gJiYgY29udGludWUKLSAgICAgICAgICAgICAgICAgICAgICAgIGZv dW5kX2R1cD0xCi0gICAgICAgICAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgICAg ICAgICAgICAgW1sgJGogPT0gJG5saWIgXV0gJiYgZm91bmQ9MSAmJiBicmVhawogICAgICAgICAg ICAgICAgICAgICBkb25lCi0gICAgICAgICAgICAgICAgICAgIGlmIFsgLXogIiRmb3VuZF9kdXAi IF07IHRoZW4KLSAgICAgICAgICAgICAgICAgICAgICAgIHZlcmlmeV9kZXBzPSIkdmVyaWZ5X2Rl cHMgJG5saWIiCi0gICAgICAgICAgICAgICAgICAgIGZpCi0gICAgICAgICAgICAgICAgICAgIHVu c2V0IGZvdW5kX2R1cAorICAgICAgICAgICAgICAgICAgICBbWyAkZm91bmQgLWVxIDAgXV0gJiYg dmVyaWZ5X2RlcHM9IiR2ZXJpZnlfZGVwcyAkbmxpYiIKICAgICAgICAgICAgICAgICBkb25lCiAg ICAgICAgICAgICAgICAgOzsKICAgICAgICAgZXNhYwpAQCAtOTcsMTMgKzkwLDEzIEBAIGhvb2so KSB7CiAKICAgICAjCiAgICAgIyBBZGQgcmVxdWlyZWQgcnVuIHRpbWUgcGFja2FnZXMgYnkgdXNp bmcgcmVxdWlyZWQgc2hsaWJzIHJlc29sdmVkCi0gICAgIyBhYm92ZSwgdGhlIG1hcHBpbmcgaXMg ZG9uZSB0aHJ1IHRoZSBtYXBwaW5nX3NobGliX2JpbnBrZy50eHQgZmlsZS4KKyAgICAjIGFib3Zl LCB0aGUgbWFwcGluZyBpcyBkb25lIHRocnUgdGhlIGNvbW1vbi9zaGxpYnMgZmlsZS4KICAgICAj CiAgICAgZm9yIGYgaW4gJHt2ZXJpZnlfZGVwc307IGRvCiAgICAgICAgIHVuc2V0IF9mIGogcmRl cCBfcmRlcCByZGVwY250IHNvbmFtZSBfcGtnbmFtZSBfcmRlcHZlciBmb3VuZAogICAgICAgICBf Zj0kKGVjaG8gIiRmInxzZWQgLUUgJ3N8XCt8XFwrfGcnKQotICAgICAgICByZGVwPSIkKGdyZXAg LUUgIl4ke19mfVtbOmJsYW5rOl1dKy4qJCIgJG1hcHNobGlic3xhd2sgJ3twcmludCAkMn0nKSIK LSAgICAgICAgcmRlcGNudD0iJChncmVwIC1FICJeJHtfZn1bWzpibGFuazpdXSsuKiQiICRtYXBz aGxpYnN8YXdrICd7cHJpbnQgJDJ9J3x3YyAtbCkiCisgICAgICAgIHJkZXA9IiQoZ3JlcCAtRSAi XiR7X2Z9W1s6Ymxhbms6XV0rLiokIiAkbWFwc2hsaWJzfGN1dCAtZCAnICcgLWYyKSIKKyAgICAg ICAgcmRlcGNudD0iJChncmVwIC1FICJeJHtfZn1bWzpibGFuazpdXSsuKiQiICRtYXBzaGxpYnN8 Y3V0IC1kICcgJyAtZjJ8d2MgLWwpIgogICAgICAgICBpZiBbIC16ICIkcmRlcCIgXTsgdGhlbgog ICAgICAgICAgICAgIyBJZ25vcmUgbGlicyBieSBjdXJyZW50IHBrZwogICAgICAgICAgICAgc29u YW1lPSQoZmluZCAke1BLR0RFU1RESVJ9IC1uYW1lICIkZiIpCkBAIC0xMjEsMTUgKzExNCw5IEBA IGhvb2soKSB7CiAgICAgICAgICAgICAgICAgX3BrZ25hbWU9JCgkWEJQU19VSEVMUEVSX0NNRCBn ZXRwa2duYW1lICIkaiIpCiAgICAgICAgICAgICAgICAgIyBpZiB0aGVyZSdzIGEgU09OQU1FIG1h dGNoaW5nIHBrZ25hbWUsIHVzZSBpdC4KICAgICAgICAgICAgICAgICBmb3IgeCBpbiAke3BrZ25h bWV9ICR7c3VicGFja2FnZXN9OyBkbwotICAgICAgICAgICAgICAgICAgICBpZiBbICIke19wa2du YW1lfSIgPSAiJHt4fSIgXTsgdGhlbgotICAgICAgICAgICAgICAgICAgICAgICAgZm91bmQ9MQot ICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgICAgICAgICAgZmkKKyAg ICAgICAgICAgICAgICAgICAgW1sgJF9wa2duYW1lID09ICR4IF1dICYmIGZvdW5kPTEgJiYgYnJl YWsKICAgICAgICAgICAgICAgICBkb25lCi0gICAgICAgICAgICAgICAgaWYgWyAtbiAiJGZvdW5k IiBdOyB0aGVuCi0gICAgICAgICAgICAgICAgICAgIF9yZGVwPSRqCi0gICAgICAgICAgICAgICAg ICAgIGJyZWFrCi0gICAgICAgICAgICAgICAgZmkKKyAgICAgICAgICAgICAgICBbWyAkZm91bmQg XV0gJiYgX3JkZXA9JGogJiYgYnJlYWsKICAgICAgICAgICAgIGRvbmUKICAgICAgICAgICAgIGlm IFsgLXogIiR7X3JkZXB9IiBdOyB0aGVuCiAgICAgICAgICAgICAgICAgIyBvdGhlcndpc2UgcGlj ayB1cCB0aGUgZmlyc3Qgb25lLgpkaWZmIC0tZ2l0IGEvY29tbW9uL2hvb2tzL3ByZS1wa2cvOTkt cGtnbGludC5zaCBiL2NvbW1vbi9ob29rcy9wcmUtcGtnLzk5LXBrZ2xpbnQuc2gKaW5kZXggN2Fl MTgzYWU4ZTguLmFiMmIyMTU1MDhlIDEwMDY0NAotLS0gYS9jb21tb24vaG9va3MvcHJlLXBrZy85 OS1wa2dsaW50LnNoCisrKyBiL2NvbW1vbi9ob29rcy9wcmUtcGtnLzk5LXBrZ2xpbnQuc2gKQEAg LTExOSw3ICsxMTksNyBAQCBob29rKCkgewogCQkJCW1zZ19yZWQgIiR7cGtndmVyfTogU09OQU1F IGJ1bXAgZGV0ZWN0ZWQ6ICR7bGlibmFtZX0uc28uJHtjb25mbGljdFJldn0gLT4gJHtsaWJuYW1l fS5zby4ke3Jldn1cbiIKIAkJCQltc2dfcmVkICIke3BrZ3Zlcn06IHBsZWFzZSB1cGRhdGUgY29t bW9uL3NobGlicyB3aXRoIHRoaXMgbGluZTogXCIke2xpYm5hbWV9LnNvLiR7cmV2fSAke3BrZ3Zl cn1cIlxuIgogCQkJCW1zZ19yZWQgIiR7cGtndmVyfTogYWxsIHJldmVyc2UgZGVwZW5kZW5jaWVz IHNob3VsZCBhbHNvIGJlIHJldmJ1bXBlZCB0byBiZSByZWJ1aWx0IGFnYWluc3QgJHtsaWJuYW1l fS5zby4ke3Jldn06XG4iCi0JCQkJX3JldmRlcHM9JCgkWEJQU19RVUVSWV9YQ01EIC1ScyAke2xp Ym5hbWV9LnNvIC1wIHNobGliLXJlcXVpcmVzfGF3ayAne3ByaW50ICQxfScpCisJCQkJX3JldmRl cHM9JCgkWEJQU19RVUVSWV9YQ01EIC1ScyAke2xpYm5hbWV9LnNvIC1wIHNobGliLXJlcXVpcmVz fGN1dCAtZCAnICcgLWYxKQogCQkJCWZvciB4IGluICR7X3JldmRlcHN9OyBkbwogCQkJCQltc2df cmVkICIgICAke3glOn1cbiIKIAkJCQlkb25lCkBAIC0xMjgsNyArMTI4LDcgQEAgaG9vaygpIHsK IAkJCSMgVHJ5IHRvIG1hdGNoIHByb3ZpZGVkIHNobGlicyBpbiB2aXJ0dWFsIHBhY2thZ2VzLgog CQkJZm9yIGYgaW4gJHtwcm92aWRlc307IGRvCiAJCQkJX3Zwa2duYW1lPSIkKCRYQlBTX1VIRUxQ RVJfQ01EIGdldHBrZ25hbWUgJHtmfSAyPi9kZXYvbnVsbCkiCi0JCQkJX3Nwa2duYW1lPSIkKGdy ZXAgIl4ke2ZpbGVuYW1lfSIgJG1hcHNobGlicyB8IGF3ayAne3ByaW50ICQyfScpIgorCQkJCV9z cGtnbmFtZT0iJChncmVwICJeJHtmaWxlbmFtZX0iICRtYXBzaGxpYnMgfCBjdXQgLWQgJyAnIC1m MikiCiAJCQkJX2xpYnBrZ25hbWU9IiQoJFhCUFNfVUhFTFBFUl9DTUQgZ2V0cGtnbmFtZSAke19z cGtnbmFtZX0gMj4vZGV2L251bGwpIgogCQkJCWlmIFsgLXogIiR7X3Nwa2duYW1lfSIgLW8gIC16 ICIke19saWJwa2duYW1lfSIgXTsgdGhlbgogCQkJCQljb250aW51ZQpkaWZmIC0tZ2l0IGEvY29t bW9uL3hicHMtc3JjL2xpYmV4ZWMvYnVpbGQuc2ggYi9jb21tb24veGJwcy1zcmMvbGliZXhlYy9i dWlsZC5zaAppbmRleCA5OTA4YjMzNjk1Ny4uMWY3NTFjYTEzYjkgMTAwNzU1Ci0tLSBhL2NvbW1v bi94YnBzLXNyYy9saWJleGVjL2J1aWxkLnNoCisrKyBiL2NvbW1vbi94YnBzLXNyYy9saWJleGVj L2J1aWxkLnNoCkBAIC00MywxMCArNDMsNiBAQCBpZiBbICIkUEtHTkFNRSIgIT0gIiRYQlBTX1RB UkdFVF9QS0ciIC1vIC16ICIkWEJQU19TS0lQX0RFUFMiIF07IHRoZW4KICAgICBpbnN0YWxsX3Br Z19kZXBzICRQS0dOQU1FICRYQlBTX1RBUkdFVF9QS0cgcGtnICRYQlBTX0NST1NTX0JVSUxEICRY QlBTX0NST1NTX1BSRVBBUkUgfHwgZXhpdCAkPwogZmkKIAotaWYgWyAteiAiJFhCUFNfQ1JPU1Nf UFJFUEFSRSIgXTsgdGhlbgotICAgIGluc3RhbGxfY3Jvc3NfcGtnICRYQlBTX0NST1NTX0JVSUxE IHx8IGV4aXQgJD8KLWZpCi0KICMgRmV0Y2ggZGlzdGZpbGVzIGFmdGVyIGluc3RhbGxpbmcgcmVx dWlyZWQgZGVwZW5kZW5jaWVzLAogIyBiZWNhdXNlIHNvbWUgb2YgdGhlbSBtaWdodCBiZSByZXF1 aXJlZCBmb3IgZG9fZmV0Y2goKS4KICRYQlBTX0xJQkVYRUNESVIveGJwcy1zcmMtZG9mZXRjaC5z aCAkU09VUkNFUEtHICRYQlBTX0NST1NTX0JVSUxEIHx8IGV4aXQgMQpkaWZmIC0tZ2l0IGEvY29t bW9uL3hicHMtc3JjL2xpYmV4ZWMveGJwcy1zcmMtZG9pbnN0YWxsLnNoIGIvY29tbW9uL3hicHMt c3JjL2xpYmV4ZWMveGJwcy1zcmMtZG9pbnN0YWxsLnNoCmluZGV4IGIzZDVkNzI3NmY4Li4xNGUx MTdhOTIzYiAxMDA3NTUKLS0tIGEvY29tbW9uL3hicHMtc3JjL2xpYmV4ZWMveGJwcy1zcmMtZG9p bnN0YWxsLnNoCisrKyBiL2NvbW1vbi94YnBzLXNyYy9saWJleGVjL3hicHMtc3JjLWRvaW5zdGFs bC5zaApAQCAtNjMsNyArNjMsNyBAQCBpZiBbICEgLWYgJFhCUFNfU1VCUEtHX0lOU1RBTExfRE9O RSBdOyB0aGVuCiAgICAgICAgICAgICBydW5fZnVuYyBwa2dfaW5zdGFsbAogICAgICAgICBmaQog ICAgIGZpCi0gICAgc2V0dXBfcGtnX2RlcGVuZHMgJHtwa2duYW1lOj0kUEtHTkFNRX0KKyAgICBz ZXR1cF9wa2dfZGVwZW5kcyAke3BrZ25hbWU6PSRQS0dOQU1FfSB8fCBleGl0IDEKICAgICBydW5f cGtnX2hvb2tzIHBvc3QtaW5zdGFsbAogICAgIHRvdWNoIC1mICRYQlBTX1NVQlBLR19JTlNUQUxM X0RPTkUKIGZpCmRpZmYgLS1naXQgYS9jb21tb24veGJwcy1zcmMvbGliZXhlYy94YnBzLXNyYy1w cmVwa2cuc2ggYi9jb21tb24veGJwcy1zcmMvbGliZXhlYy94YnBzLXNyYy1wcmVwa2cuc2gKaW5k ZXggNGJlNDVmZDBhMTQuLjM0ZjkxYjNmNWY5IDEwMDc1NQotLS0gYS9jb21tb24veGJwcy1zcmMv bGliZXhlYy94YnBzLXNyYy1wcmVwa2cuc2gKKysrIGIvY29tbW9uL3hicHMtc3JjL2xpYmV4ZWMv eGJwcy1zcmMtcHJlcGtnLnNoCkBAIC00Myw3ICs0Myw3IEBAIGlmIFsgIiRzb3VyY2Vwa2ciICE9 ICIkUEtHTkFNRSIgXTsgdGhlbgogZmkKIAogc291cmNlX2ZpbGUgJFhCUFNfQ09NTU9ORElSL2Vu dmlyb25tZW50L2J1aWxkLXN0eWxlLyR7YnVpbGRfc3R5bGV9LnNoCi1zZXR1cF9wa2dfZGVwZW5k cyAkcGtnbmFtZQorc2V0dXBfcGtnX2RlcGVuZHMgJHBrZ25hbWUgfHwgZXhpdCAxCiBydW5fcGtn X2hvb2tzIHByZS1wa2cKIAogdG91Y2ggLWYgJFhCUFNfUFJFUEtHX0RPTkUKZGlmZiAtLWdpdCBh L2NvbW1vbi94YnBzLXNyYy9zaHV0aWxzL2J1aWxkX2RlcGVuZGVuY2llcy5zaCBiL2NvbW1vbi94 YnBzLXNyYy9zaHV0aWxzL2J1aWxkX2RlcGVuZGVuY2llcy5zaAppbmRleCA5YmYzN2NkZmM5ZC4u NmQ5ZDcyN2UwZDMgMTAwNjQ0Ci0tLSBhL2NvbW1vbi94YnBzLXNyYy9zaHV0aWxzL2J1aWxkX2Rl cGVuZGVuY2llcy5zaAorKysgYi9jb21tb24veGJwcy1zcmMvc2h1dGlscy9idWlsZF9kZXBlbmRl bmNpZXMuc2gKQEAgLTEsOSArMSw5IEBACiAjIHZpbTogc2V0IHRzPTQgc3c9NCBldDoKICMKIHNl dHVwX3BrZ19kZXBlbmRzKCkgewotICAgIGxvY2FsIHBrZz0iJDEiIGogX3BrZ2RlcG5hbWUgX3Br Z2RlcCBfcnBrZ25hbWUgX2RlcG5hbWUgX2RlcHZlciBfcmVwbGFjZW1lbnQKKyAgICBsb2NhbCBw a2c9IiQxIiBvdXQ9IiQyIiBqIF9ycGtnbmFtZSBfZGVwbmFtZSBfcGtnbmFtZSBmb28gX2RlcHMK IAotICAgIGlmIFsgLW4gIiRwa2ciIF07IHRoZW4KKyAgICBpZiBbWyAkcGtnIF1dOyB0aGVuCiAg ICAgICAgICMgc3VicGtnCiAgICAgICAgIGlmIGRlY2xhcmUgLWYgJHtwa2d9X3BhY2thZ2UgPi9k ZXYvbnVsbDsgdGhlbgogICAgICAgICAgICAgJHtwa2d9X3BhY2thZ2UKQEAgLTEzLDg1ICsxMyw2 NyBAQCBzZXR1cF9wa2dfZGVwZW5kcygpIHsKICAgICBmb3IgaiBpbiAke2RlcGVuZHN9OyBkbwog ICAgICAgICBfcnBrZ25hbWU9IiR7aiVcPyp9IgogICAgICAgICBfZGVwbmFtZT0iJHtqIypcP30i Ci0gICAgICAgIF9wa2dkZXBuYW1lPSIkKCRYQlBTX1VIRUxQRVJfQ01EIGdldHBrZ2RlcG5hbWUg JHtfZGVwbmFtZX0gMj4vZGV2L251bGwpIgotICAgICAgICBpZiBbIC16ICIke19wa2dkZXBuYW1l fSIgXTsgdGhlbgotICAgICAgICAgICAgX3BrZ2RlcG5hbWU9IiQoJFhCUFNfVUhFTFBFUl9DTUQg Z2V0cGtnbmFtZSAke19kZXBuYW1lfSAyPi9kZXYvbnVsbCkiCi0gICAgICAgIGZpCi0gICAgICAg IGlmIFsgLXMgJHtYQlBTX0RJU1RESVJ9L2V0Yy92aXJ0dWFsIF07IHRoZW4KLSAgICAgICAgICAg IF9yZXBsYWNlbWVudD0kKGVncmVwICJeJHtfcGtnZGVwbmFtZTotJHtfZGVwbmFtZX19W1s6Ymxh bms6XV0iICR7WEJQU19ESVNURElSfS9ldGMvdmlydHVhbHxjdXQgLWQgJyAnIC1mMikKLSAgICAg ICAgZWxpZiBbIC1zICR7WEJQU19ESVNURElSfS9ldGMvZGVmYXVsdHMudmlydHVhbCBdOyB0aGVu Ci0gICAgICAgICAgICBfcmVwbGFjZW1lbnQ9JChlZ3JlcCAiXiR7X3BrZ2RlcG5hbWU6LSR7X2Rl cG5hbWV9fVtbOmJsYW5rOl1dIiAke1hCUFNfRElTVERJUn0vZXRjL2RlZmF1bHRzLnZpcnR1YWx8 Y3V0IC1kICcgJyAtZjIpCi0gICAgICAgIGZpCi0gICAgICAgIGlmIFsgIiR7X3Jwa2duYW1lfSIg PSAidmlydHVhbCIgXTsgdGhlbgotICAgICAgICAgICAgaWYgWyAteiAiJHtfcmVwbGFjZW1lbnR9 IiBdOyB0aGVuCi0gICAgICAgICAgICAgICAgbXNnX2Vycm9yICIkcGtndmVyOiBmYWlsZWQgdG8g cmVzb2x2ZSB2aXJ0dWFsIGRlcGVuZGVuY3kgZm9yICckaicgKG1pc3NpbmcgZnJvbSBldGMvdmly dHVhbClcbiIKLSAgICAgICAgICAgIGZpCi0gICAgICAgICAgICBfcGtnZGVwbmFtZT0iJCgkWEJQ U19VSEVMUEVSX0NNRCBnZXRwa2dkZXBuYW1lICR7X3JlcGxhY2VtZW50fSAyPi9kZXYvbnVsbCki Ci0gICAgICAgICAgICBpZiBbIC16ICIke19wa2dkZXBuYW1lfSIgXTsgdGhlbgotICAgICAgICAg ICAgICAgIF9wa2dkZXBuYW1lPSIkKCRYQlBTX1VIRUxQRVJfQ01EIGdldHBrZ25hbWUgJHtfcmVw bGFjZW1lbnR9IDI+L2Rldi9udWxsKSIKKyAgICAgICAgaWYgW1sgJHtfcnBrZ25hbWV9ID09IHZp cnR1YWwgXV07IHRoZW4KKyAgICAgICAgICAgIF9wa2duYW1lPSQoeGJwcy11aGVscGVyIGdldHBr Z25hbWUgJF9kZXBuYW1lIDI+L2Rldi9udWxsKQorICAgICAgICAgICAgWyAteiAiJF9wa2duYW1l IiBdICYmIF9wa2duYW1lPSIkX2RlcG5hbWUiCisgICAgICAgICAgICBpZiBbIC1zICR7WEJQU19E SVNURElSfS9ldGMvdmlydHVhbCBdOyB0aGVuCisgICAgICAgICAgICAgICAgZm9vPSQoZWdyZXAg Il4ke19wa2duYW1lfVtbOmJsYW5rOl1dIiAke1hCUFNfRElTVERJUn0vZXRjL3ZpcnR1YWx8Y3V0 IC1kICcgJyAtZjIpCisgICAgICAgICAgICBlbGlmIFsgLXMgJHtYQlBTX0RJU1RESVJ9L2V0Yy9k ZWZhdWx0cy52aXJ0dWFsIF07IHRoZW4KKyAgICAgICAgICAgICAgICBmb289JChlZ3JlcCAiXiR7 X3BrZ25hbWV9W1s6Ymxhbms6XV0iICR7WEJQU19ESVNURElSfS9ldGMvZGVmYXVsdHMudmlydHVh bHxjdXQgLWQgJyAnIC1mMikKICAgICAgICAgICAgIGZpCi0gICAgICAgICAgICBpZiBbIC16ICIk e19wa2dkZXBuYW1lfSIgXTsgdGhlbgotICAgICAgICAgICAgICAgIF9wa2dkZXBuYW1lPSIke19y ZXBsYWNlbWVudH0+PTAiCisgICAgICAgICAgICBpZiBbIC16ICIkZm9vIiBdOyB0aGVuCisgICAg ICAgICAgICAgICAgbXNnX2Vycm9yICIkcGtndmVyOiBmYWlsZWQgdG8gcmVzb2x2ZSB2aXJ0dWFs IGRlcGVuZGVuY3kgZm9yICckaicgKG1pc3NpbmcgZnJvbSBldGMvdmlydHVhbClcbiIKICAgICAg ICAgICAgIGZpCi0gICAgICAgICAgICBydW5fZGVwZW5kcys9IiAke19kZXBuYW1lfT8ke19wa2dk ZXBuYW1lfSIKLSAgICAgICAgICAgICNlY2hvICJBZGRpbmcgZGVwZW5kZW5jeSB2aXJ0dWFsOiAg JHtfZGVwbmFtZX0/JHtfcGtnZGVwbmFtZX0iCisgICAgICAgICAgICBfZGVwcys9IiRmb28gIgog ICAgICAgICBlbHNlCi0gICAgICAgICAgICBpZiBbIC16ICIke19wa2dkZXBuYW1lfSIgXTsgdGhl bgotICAgICAgICAgICAgICAgIF9wa2dkZXA9IiR7X2RlcG5hbWV9Pj0wIgotICAgICAgICAgICAg ZWxzZQotICAgICAgICAgICAgICAgIF9wa2dkZXA9IiR7X2RlcG5hbWV9IgorICAgICAgICAgICAg Zm9vPSIkKCRYQlBTX1VIRUxQRVJfQ01EIGdldHBrZ2RlcG5hbWUgJHtfZGVwbmFtZX0gMj4vZGV2 L251bGwpIgorICAgICAgICAgICAgaWYgWyAteiAiJGZvbyIgXTsgdGhlbgorICAgICAgICAgICAg ICAgIGZvbz0iJCgkWEJQU19VSEVMUEVSX0NNRCBnZXRwa2duYW1lICR7X2RlcG5hbWV9IDI+L2Rl di9udWxsKSIKKyAgICAgICAgICAgICAgICBbIC16ICIkZm9vIiBdICYmIGZvbz0iJHtfZGVwbmFt ZX0iCiAgICAgICAgICAgICBmaQotICAgICAgICAgICAgcnVuX2RlcGVuZHMrPSIgJHtfcGtnZGVw fSIKKyAgICAgICAgICAgIF9kZXBzKz0iJGZvbyAiCiAgICAgICAgIGZpCisgICAgICAgIHJ1bl9k ZXBlbmRzKz0iJHtfZGVwbmFtZX0gIgogICAgIGRvbmUKLSAgICBmb3IgaiBpbiAke2hvc3RtYWtl ZGVwZW5kc307IGRvCi0gICAgICAgIF9kZXBuYW1lPSIke2olXD8qfSIKLSAgICAgICAgX2RlcHZl cj0kKHNyY3BrZ19nZXRfdmVyc2lvbiAke19kZXBuYW1lfSkgfHwgZXhpdCAkPwotICAgICAgICBo b3N0X2J1aWxkX2RlcGVuZHMrPSIgJHtfZGVwbmFtZX0tJHtfZGVwdmVyfSIKLSAgICBkb25lCi0g ICAgaWYgWyAtbiAiJFhCUFNfQ0hFQ0tfUEtHUyIgXTsgdGhlbgotICAgICAgICBmb3IgaiBpbiAk e2NoZWNrZGVwZW5kc307IGRvCi0gICAgICAgICAgICBfZGVwbmFtZT0iJHtqJVw/Kn0iCi0gICAg ICAgICAgICBfZGVwdmVyPSQoc3JjcGtnX2dldF92ZXJzaW9uICR7X2RlcG5hbWV9KSB8fCBleGl0 ICQ/Ci0gICAgICAgICAgICBob3N0X2NoZWNrX2RlcGVuZHMrPSIgJHtfZGVwbmFtZX0tJHtfZGVw dmVyfSIKLSAgICAgICAgZG9uZQotICAgIGZpCi0gICAgZm9yIGogaW4gJHttYWtlZGVwZW5kc307 IGRvCi0gICAgICAgIF9kZXBuYW1lPSIke2olXD8qfSIKLSAgICAgICAgX2RlcHZlcj0kKHNyY3Br Z19nZXRfdmVyc2lvbiAke19kZXBuYW1lfSkgfHwgZXhpdCAkPwotICAgICAgICBidWlsZF9kZXBl bmRzKz0iICR7X2RlcG5hbWV9LSR7X2RlcHZlcn0iCi0gICAgZG9uZQorCisgICAgW1sgJG91dCAm JiAkX2RlcHMgXV0gJiYgZWNobyAiJF9kZXBzIgorICAgIHJldHVybiAwCiB9CiAKLSMgSW5zdGFs bCBhIHJlcXVpcmVkIHBhY2thZ2UgZGVwZW5kZW5jeSwgbGlrZToKICMKLSMJeGJwcy1pbnN0YWxs IC1JQXkgPHBrZ25hbWU+CisjIEluc3RhbGwgcmVxdWlyZWQgcGFja2FnZSBkZXBlbmRlbmNpZXMs IGxpa2U6CisjCisjCXhicHMtaW5zdGFsbCAtQUl5IDxwa2dzPgorIworIyAgICAgICAtQSBhdXRv bWF0aWMgbW9kZQorIyAgICAgICAtSSB0byBpZ25vcmUgZmlsZSBjb25mbGljdHMKKyMgICAgICAg LXkgeWVzCiAjCiAjIFJldHVybnMgMCBpZiBwYWNrYWdlIGFscmVhZHkgaW5zdGFsbGVkIG9yIGlu c3RhbGxlZCBzdWNjZXNzZnVsbHkuCiAjIEFueSBvdGhlciBlcnJvciBudW1iZXIgb3RoZXJ3aXNl LgogIworIyBTVUNDRVNTICAoMCk6IHBhY2thZ2UgaW5zdGFsbGVkIHN1Y2Nlc3NmdWxseS4KKyMg RU5PRU5UICAgKDIpOiBwYWNrYWdlIG1pc3NpbmcgaW4gcmVwb3NpdG9yaWVzLgorIyBFTlhJTyAg ICAoNik6IHBhY2thZ2UgZGVwZW5kcyBvbiBpbnZhbGlkIGRlcGVuZGVuY2llcy4KKyMgRUFHQUlO ICAoMTEpOiBwYWNrYWdlIGNvbmZsaWN0cy4KKyMgRUVYSVNUICAoMTcpOiBmaWxlIGNvbmZsaWN0 cyBpbiB0cmFuc2FjdGlvbiAoWEJQU19GTEFHX0lHTk9SRV9GSUxFX0NPTkZMSUNUUyB1bnNldCkK KyMgRU5PREVWICAoMTkpOiBwYWNrYWdlIGRlcGVuZHMgb24gbWlzc2luZyBkZXBlbmRlbmNpZXMu CisjIEVOT1RTVVAgKDk1KTogbm8gcmVwb3NpdG9yaWVzIHJlZ2lzdGVyZWQuCisjCiBpbnN0YWxs X3BrZ19mcm9tX3JlcG9zKCkgewotICAgIGxvY2FsIHBrZz0iJDEiIGNyb3NzPSIkMiIgcnZhbD0g dG1wbG9nZj0KKyAgICBsb2NhbCBjcm9zcz0iJDEiIHJ2YWwgdG1wbG9nZiBjbWQKKyAgICBzaGlm dAorCisgICAgWyAkIyAtZXEgMCBdICYmIHJldHVybiAwCiAKICAgICBta2RpciAtcCAkWEJQU19T VEFURURJUgogICAgIHRtcGxvZ2Y9JHtYQlBTX1NUQVRFRElSfS94YnBzXyR7WEJQU19UQVJHRVRf TUFDSElORX1fYmRlcF8ke3BrZ30ubG9nCiAKLSAgICBpZiBbIC1uICIkY3Jvc3MiIF07IHRoZW4K LSAgICAgICAgJFhCUFNfSU5TVEFMTF9YQ01EIC1JQXkgIiRwa2ciID4kdG1wbG9nZiAyPiYxCi0g ICAgZWxzZQotICAgICAgICAkWEJQU19JTlNUQUxMX0NNRCAtSUF5ICIkcGtnIiA+JHRtcGxvZ2Yg Mj4mMQotICAgIGZpCisgICAgY21kPSRYQlBTX0lOU1RBTExfQ01ECisgICAgW1sgJGNyb3NzIF1d ICYmIGNtZD0kWEJQU19JTlNUQUxMX1hDTUQKKyAgICAkY21kICR7WEJQU19TS0lQX1JFTU9URVJF UE9TOistaX0gLUFJeSAiJEAiID4kdG1wbG9nZiAyPiYxCiAgICAgcnZhbD0kPwotICAgICMgeGJw cy1pbnN0YWxsIGNhbiByZXR1cm46Ci0gICAgIwotICAgICMgU1VDQ0VTUyAgKDApOiBwYWNrYWdl IGluc3RhbGxlZCBzdWNjZXNzZnVsbHkuCi0gICAgIyBFTk9FTlQgICAoMik6IHBhY2thZ2UgbWlz c2luZyBpbiByZXBvc2l0b3JpZXMuCi0gICAgIyBFTlhJTyAgICAoNik6IHBhY2thZ2UgZGVwZW5k cyBvbiBpbnZhbGlkIGRlcGVuZGVuY2llcy4KLSAgICAjIEVBR0FJTiAgKDExKTogcGFja2FnZSBj b25mbGljdHMuCi0gICAgIyBFRVhJU1QgICgxNyk6IGZpbGUgY29uZmxpY3RzIGluIHRyYW5zYWN0 aW9uIChYQlBTX0ZMQUdfSUdOT1JFX0ZJTEVfQ09ORkxJQ1RTIHVuc2V0KQotICAgICMgRU5PREVW ICAoMTkpOiBwYWNrYWdlIGRlcGVuZHMgb24gbWlzc2luZyBkZXBlbmRlbmNpZXMuCi0gICAgIyBF Tk9UU1VQICg5NSk6IG5vIHJlcG9zaXRvcmllcyByZWdpc3RlcmVkLgotICAgICMKKwogICAgIGNh c2UgIiRydmFsIiBpbgogICAgICAgICAwKSAjIHN1Y2Nlc3MsIGNoZWNrIGlmIHRoZXJlIGFyZSBl cnJvcnMuCiAgICAgICAgICAgIGVycm9ydG1wZj0kKG1rdGVtcCkgfHwgZXhpdCAxCkBAIC0xMTEs MzkgKzkzLDYgQEAgaW5zdGFsbF9wa2dfZnJvbV9yZXBvcygpIHsKICAgICByZXR1cm4gJHJ2YWwK IH0KIAotIwotIyBSZXR1cm5zIDAgaWYgcGtncGF0dGVybiBpbiAkMSBpcyBtYXRjaGVkIGFnYWlu c3QgY3VycmVudCBpbnN0YWxsZWQKLSMgcGFja2FnZSwgMSBpZiBubyBtYXRjaCBhbmQgMiBpZiBu b3QgaW5zdGFsbGVkLgotIwotY2hlY2tfcGtnZGVwX21hdGNoZWQoKSB7Ci0gICAgbG9jYWwgcGtn PSIkMSIgY2hlY2t2ZXI9IiQyIiBjcm9zcz0iJDMiIHVoZWxwZXI9IHBrZ249IGl2ZXI9Ci0KLSAg ICBbICIkYnVpbGRfc3R5bGUiID0gIm1ldGEiIF0gJiYgcmV0dXJuIDIKLSAgICBbIC16ICIkcGtn IiBdICYmIHJldHVybiAyNTUKLQotICAgIHBrZ249IiQoJFhCUFNfVUhFTFBFUl9DTUQgZ2V0cGtn ZGVwbmFtZSAke3BrZ30gMj4vZGV2L251bGwpIgotICAgIGlmIFsgLXogIiRwa2duIiBdOyB0aGVu Ci0gICAgICAgIHBrZ249IiQoJFhCUFNfVUhFTFBFUl9DTUQgZ2V0cGtnbmFtZSAke3BrZ30gMj4v ZGV2L251bGwpIgotICAgIGZpCi0gICAgWyAteiAiJHBrZ24iIF0gJiYgcmV0dXJuIDI1NQotCi0g ICAgaWYgWyAtbiAiJGNyb3NzIiBdOyB0aGVuCi0gICAgICAgIHVoZWxwZXI9IiRYQlBTX1VIRUxQ RVJfWENNRCIKLSAgICBlbHNlCi0gICAgICAgIHVoZWxwZXI9IiRYQlBTX1VIRUxQRVJfQ01EIgot ICAgIGZpCi0KLSAgICBpdmVyPSIkKCR1aGVscGVyICRjaGVja3ZlciAkcGtnbikiCi0gICAgaWYg WyAkPyAtZXEgMCAtYSAtbiAiJGl2ZXIiIF07IHRoZW4KLSAgICAgICAgJFhCUFNfVUhFTFBFUl9D TUQgcGtnbWF0Y2ggIiR7cGtnbn0tJHtpdmVyfSIgIiR7cGtnfSIKLSAgICAgICAgWyAkPyAtZXEg MSBdICYmIHJldHVybiAwCi0gICAgZWxzZQotICAgICAgICByZXR1cm4gMgotICAgIGZpCi0KLSAg ICByZXR1cm4gMQotfQotCiAjCiAjIFJldHVybnMgMCBpZiBwa2dwYXR0ZXJuIGluICQxIGlzIGlu c3RhbGxlZCBhbmQgZ3JlYXRlciB0aGFuIGN1cnJlbnQKICMgaW5zdGFsbGVkIHBhY2thZ2UsIG90 aGVyd2lzZSAxLgpAQCAtMTU2LDEyICsxMDUsOCBAQCBjaGVja19pbnN0YWxsZWRfcGtnKCkgewog ICAgIHBrZ249IiQoJFhCUFNfVUhFTFBFUl9DTUQgZ2V0cGtnbmFtZSAke3BrZ30pIgogICAgIFsg LXogIiRwa2duIiBdICYmIHJldHVybiAyCiAKLSAgICBpZiBbIC1uICIkY3Jvc3MiIF07IHRoZW4K LSAgICAgICAgdWhlbHBlcj0iJFhCUFNfVUhFTFBFUl9YQ01EIgotICAgIGVsc2UKLSAgICAgICAg dWhlbHBlcj0iJFhCUFNfVUhFTFBFUl9DTUQiCi0gICAgZmkKLQorICAgIHVoZWxwZXI9JFhCUFNf VUhFTFBFUl9DTUQKKyAgICBbWyAkY3Jvc3MgXV0gJiYgdWhlbHBlcj0kWEJQU19VSEVMUEVSX1hD TUQKICAgICBpdmVyPSIkKCR1aGVscGVyIHZlcnNpb24gJHBrZ24pIgogICAgIGlmIFsgJD8gLWVx IDAgLWEgLW4gIiRpdmVyIiBdOyB0aGVuCiAgICAgICAgICRYQlBTX0NNUFZFUl9DTUQgIiR7cGtn bn0tJHtpdmVyfSIgIiR7cGtnfSIKQEAgLTE3MSw0MiArMTE2LDIwIEBAIGNoZWNrX2luc3RhbGxl ZF9wa2coKSB7CiAgICAgcmV0dXJuIDEKIH0KIAotc3JjcGtnX2dldF92ZXJzaW9uKCkgewotICAg IGxvY2FsIHBrZz0iJDEiCi0gICAgIyBSdW4gdGhpcyBpbiBhIHN1Yi1zaGVsbCB0byBhdm9pZCBw b2xsdXRpbmcgb3VyIGVudi4KLSAgICAoCi0gICAgdW5zZXQgWEJQU19CSU5QS0dfRVhJU1RTCi0g ICAgc2V0dXBfcGtnICRwa2cgfHwgZXhpdCAkPwotICAgIGVjaG8gIiR7dmVyc2lvbn1fJHtyZXZp c2lvbn0iCi0gICAgKSB8fCBtc2dfZXJyb3IgIiRwa2d2ZXI6IGZhaWxlZCB0byB0cmFuc2Zvcm0g ZGVwZW5kZW5jeSAkcGtnXG4iCi19Ci0KLXNyY3BrZ19nZXRfcGtndmVyKCkgewotICAgIGxvY2Fs IHBrZz0iJDEiCi0gICAgIyBSdW4gdGhpcyBpbiBhIHN1Yi1zaGVsbCB0byBhdm9pZCBwb2xsdXRp bmcgb3VyIGVudi4KLSAgICAoCi0gICAgdW5zZXQgWEJQU19CSU5QS0dfRVhJU1RTCi0gICAgc2V0 dXBfcGtnICRwa2cgfHwgZXhpdCAkPwotICAgIGVjaG8gIiR7c291cmNlcGtnfS0ke3ZlcnNpb259 XyR7cmV2aXNpb259IgotICAgICkgfHwgbXNnX2Vycm9yICIkcGtndmVyOiBmYWlsZWQgdG8gdHJh bnNmb3JtIGRlcGVuZGVuY3kgJHBrZ1xuIgotfQotCiAjCi0jIEluc3RhbGxzIGFsbCBkZXBlbmRl bmNpZXMgcmVxdWlyZWQgYnkgYSBwYWNrYWdlLgorIyBCdWlsZCBhbGwgZGVwZW5kZW5jaWVzIHJl cXVpcmVkIHRvIGJ1aWxkIGFuZCBydW4uCiAjCiBpbnN0YWxsX3BrZ19kZXBzKCkgewogICAgIGxv Y2FsIHBrZz0iJDEiIHRhcmdldHBrZz0iJDIiIHRhcmdldD0iJDMiIGNyb3NzPSIkNCIgY3Jvc3Nf cHJlcGFyZT0iJDUiCi0gICAgbG9jYWwgcnZhbCBfcmVhbHBrZyBfdnBrZyBfY3VycGtnIGN1cnBr Z2RlcG5hbWUgcGtnbiBpdmVyCi0gICAgbG9jYWwgaSBqIGZvdW5kIHJ1bmRlcCByZXBvIHN0eWxl CisgICAgbG9jYWwgX3Zwa2cgY3VycGtnZGVwbmFtZQorICAgIGxvY2FsIGkgaiBmb3VuZCBzdHls ZQogCi0gICAgbG9jYWwgLWEgaG9zdF9iaW5wa2dfZGVwcyBjaGVja19iaW5wa2dfZGVwcyBiaW5w a2dfZGVwcwotICAgIGxvY2FsIC1hIGhvc3RfbWlzc2luZ19kZXBzIGNoZWNrX21pc3NpbmdfZGVw cyBtaXNzaW5nX2RlcHMgbWlzc2luZ19yZGVwcworICAgIGxvY2FsIC1hIGhvc3RfYmlucGtnX2Rl cHMgYmlucGtnX2RlcHMKKyAgICBsb2NhbCAtYSBob3N0X21pc3NpbmdfZGVwcyBtaXNzaW5nX2Rl cHMgbWlzc2luZ19yZGVwcwogCiAgICAgWyAteiAiJHBrZ25hbWUiIF0gJiYgcmV0dXJuIDIKLQot ICAgIHNldHVwX3BrZ19kZXBlbmRzCi0KLSAgICBbIC1uICIkYnVpbGRfc3R5bGUiIF0gJiYgc3R5 bGU9IiBbJGJ1aWxkX3N0eWxlXSIKKyAgICBbIC16ICIkWEJQU19DSEVDS19QS0dTIiBdICYmIHVu c2V0IGNoZWNrZGVwZW5kcworICAgIFtbICRidWlsZF9zdHlsZSBdXSAmJiBzdHlsZT0iIFskYnVp bGRfc3R5bGVdIgogCiAgICAgZm9yIHMgaW4gJGJ1aWxkX2hlbHBlcjsgZG8KICAgICAgICAgc3R5 bGUrPSIgWyRzXSIKQEAgLTIxOCwxOTcgKzE0MSwxNzQgQEAgaW5zdGFsbF9wa2dfZGVwcygpIHsK ICAgICAgICAgbXNnX25vcm1hbCAiJHBrZ3ZlcjogYnVpbGRpbmcke3N0eWxlfSAuLi5cbiIKICAg ICBmaQogCi0gICAgaWYgWyAteiAiJGJ1aWxkX2RlcGVuZHMiIC1hIC16ICIkaG9zdF9idWlsZF9k ZXBlbmRzIiAtYSAteiAiJGhvc3RfY2hlY2tfZGVwZW5kcyIgLWEgLXogIiRydW5fZGVwZW5kcyIg XTsgdGhlbgotICAgICAgICByZXR1cm4gMAotICAgIGZpCi0KICAgICAjCiAgICAgIyBIb3N0IGJ1 aWxkIGRlcGVuZGVuY2llcy4KICAgICAjCi0gICAgZm9yIGkgaW4gJHtob3N0X2J1aWxkX2RlcGVu ZHN9OyBkbwotICAgICAgICBfcmVhbHBrZz0kKCRYQlBTX1VIRUxQRVJfQ01EIGdldHBrZ25hbWUg IiRpIiAyPi9kZXYvbnVsbCkKLSAgICAgICAgY2hlY2tfcGtnZGVwX21hdGNoZWQgIiRpIiB2ZXJz aW9uCi0gICAgICAgIGxvY2FsIHJ2YWw9JD8KLSAgICAgICAgaWYgWyAkcnZhbCAtZXEgMCBdOyB0 aGVuCi0gICAgICAgICAgICBlY2hvICIgICBbaG9zdF0gJHtpfTogaW5zdGFsbGVkLiIKLSAgICAg ICAgICAgIGNvbnRpbnVlCi0gICAgICAgIGVsaWYgWyAkcnZhbCAtZXEgMSBdOyB0aGVuCi0gICAg ICAgICAgICBpdmVyPSQoJFhCUFNfVUhFTFBFUl9DTUQgdmVyc2lvbiAke19yZWFscGtnfSkKLSAg ICAgICAgICAgIGlmIFsgJD8gLWVxIDAgLWEgLW4gIiRpdmVyIiBdOyB0aGVuCi0gICAgICAgICAg ICAgICAgZWNobyAiICAgW2hvc3RdICR7aX06IGluc3RhbGxlZCAkaXZlciAodmlydHVhbHBrZyku IgotICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAg ICAgICAgZWNobyAiICAgW2hvc3RdICR7aX06IHVucmVzb2x2ZWQgYnVpbGQgZGVwZW5kZW5jeSEi Ci0gICAgICAgICAgICAgICAgcmV0dXJuIDEKKyAgICBpZiBbWyAke2hvc3RtYWtlZGVwZW5kc30g XV07IHRoZW4KKyAgICAgICAgIyBjaGVjayB2YWxpZGl0eQorICAgICAgICBmb3IgZiBpbiAke2hv c3RtYWtlZGVwZW5kc307IGRvCisgICAgICAgICAgICBpZiBbICEgLWYgJFhCUFNfU1JDUEtHRElS LyRmL3RlbXBsYXRlIF07IHRoZW4KKyAgICAgICAgICAgICAgICBtc2dfZXJyb3IgIiRwa2d2ZXI6 IGhvc3QgZGVwZW5kZW5jeSAnJGYnIGRvZXMgbm90IGV4aXN0IVxuIgogICAgICAgICAgICAgZmkK LSAgICAgICAgZWxzZQotICAgICAgICAgICAgcmVwbz0kKCRYQlBTX1FVRVJZX0NNRCAtUiAtcHJl cG9zaXRvcnkgJHtpfSAyPi9kZXYvbnVsbCkKLSAgICAgICAgICAgIGlmIFsgLW4gIiR7cmVwb30i IF07IHRoZW4KLSAgICAgICAgICAgICAgICBlY2hvICIgICBbaG9zdF0gJHtpfTogZm91bmQgKCRy ZXBvKSIKLSAgICAgICAgICAgICAgICBob3N0X2JpbnBrZ19kZXBzKz0oIiR7aX0iKQorICAgICAg ICBkb25lCisgICAgICAgIHdoaWxlIHJlYWQgLXIgX2RlcG5hbWUgX2RlcHJlcG92ZXIgX2RlcHZl ciBfc3VicGtnIF9yZXBvdXJsOyBkbworICAgICAgICAgICAgX3Zwa2c9JHtfc3VicGtnfS0ke19k ZXB2ZXJ9CisgICAgICAgICAgICAjIGJpbmFyeSBwYWNrYWdlIGZvdW5kIGluIGEgcmVwbworICAg ICAgICAgICAgaWYgW1sgJHtfZGVwdmVyfSA9PSAke19kZXByZXBvdmVyfSBdXTsgdGhlbgorICAg ICAgICAgICAgICAgIGVjaG8gIiAgIFtob3N0XSAke192cGtnfTogZm91bmQgKCR7X3JlcG91cmx9 KSIKKyAgICAgICAgICAgICAgICBob3N0X2JpbnBrZ19kZXBzKz0oIiR7X3Zwa2d9IikKICAgICAg ICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIGVj aG8gIiAgIFtob3N0XSAke2l9OiBub3QgZm91bmQuIgotICAgICAgICAgICAgICAgIGlmIFsgLXog IiRjcm9zcyIgXTsgdGhlbgotICAgICAgICAgICAgICAgICAgICBpZiBbICIke19yZWFscGtnfSIg PSAiJHRhcmdldHBrZyIgXTsgdGhlbgotICAgICAgICAgICAgICAgICAgICAgICAgbXNnX2Vycm9y ICIke3BrZ306IFtob3N0XSBidWlsZCBsb29wIGRldGVjdGVkOiAke19yZWFscGtnfSA8LT4gJHt0 YXJnZXRwa2d9IFtkZXBlbmRzIG9uIGl0c2VsZl1cbiIKLSAgICAgICAgICAgICAgICAgICAgZWxp ZiBbICIke19yZWFscGtnfSIgPSAiJHBrZyIgXTsgdGhlbgotICAgICAgICAgICAgICAgICAgICAg ICAgbXNnX2Vycm9yICIke3BrZ306IFtob3N0XSBidWlsZCBsb29wIGRldGVjdGVkOiAkcGtnIDwt PiAke19yZWFscGtnfVxuIgorICAgICAgICAgICAgZmkKKyAgICAgICAgICAgICMgYmluYXJ5IHBh Y2thZ2Ugbm90IGZvdW5kCisgICAgICAgICAgICBpZiBbWyAkX2RlcG5hbWUgIT0gJF9zdWJwa2cg XV07IHRoZW4KKyAgICAgICAgICAgICAgICAjIHN1YnBrZywgY2hlY2sgaWYgaXQncyBhIHN1YnBr ZyBvZiBpdHNlbGYKKyAgICAgICAgICAgICAgICBmb3VuZD0wCisgICAgICAgICAgICAgICAgZm9y IGYgaW4gJHtzdWJwYWNrYWdlc307IGRvCisgICAgICAgICAgICAgICAgICAgIGlmIFtbICR7X3N1 YnBrZ30gPT0gJHtmfSBdXTsgdGhlbgorICAgICAgICAgICAgICAgICAgICAgICAgZm91bmQ9MQor ICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgICAgICAgICAgICAgZmkKKyAg ICAgICAgICAgICAgICBkb25lCisgICAgICAgICAgICAgICAgaWYgW1sgJGZvdW5kIC1lcSAxIF1d OyB0aGVuCisgICAgICAgICAgICAgICAgICAgIGVjaG8gIiAgIFtob3N0XSAke192cGtnfTogbm90 IGZvdW5kIChzdWJwa2csIGlnbm9yZWQpIgorICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAg ICAgICAgICAgICAgZWNobyAiICAgW2hvc3RdICR7X3Zwa2d9OiBub3QgZm91bmQiCisgICAgICAg ICAgICAgICAgICAgIGhvc3RfbWlzc2luZ19kZXBzKz0oIiRfdnBrZyIpCiAgICAgICAgICAgICAg ICAgZmkKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBlY2hvICIgICBbaG9zdF0g JHtfdnBrZ306IG5vdCBmb3VuZCIKKyAgICAgICAgICAgICAgICBob3N0X21pc3NpbmdfZGVwcys9 KCIkX3Zwa2ciKQogICAgICAgICAgICAgZmkKLSAgICAgICAgZmkKLSAgICAgICAgaG9zdF9taXNz aW5nX2RlcHMrPSgiJHtpfSIpCi0gICAgZG9uZQorICAgICAgICBkb25lIDwgPCgkWEJQU19DSEVD S1ZFUlNfQ01EICR7WEJQU19TS0lQX1JFTU9URVJFUE9TOistaX0gLUQgJFhCUFNfRElTVERJUiAt c20gJHtob3N0bWFrZWRlcGVuZHN9KQorICAgIGZpCiAKICAgICAjCiAgICAgIyBIb3N0IGNoZWNr IGRlcGVuZGVuY2llcy4KICAgICAjCi0gICAgZm9yIGkgaW4gJHtob3N0X2NoZWNrX2RlcGVuZHN9 OyBkbwotICAgICAgICBfcmVhbHBrZz0iJCgkWEJQU19VSEVMUEVSX0NNRCBnZXRwa2duYW1lICRp IDI+L2Rldi9udWxsKSIKLSAgICAgICAgY2hlY2tfcGtnZGVwX21hdGNoZWQgIiRpIiB2ZXJzaW9u Ci0gICAgICAgIGxvY2FsIHJ2YWw9JD8KLSAgICAgICAgaWYgWyAkcnZhbCAtZXEgMCBdOyB0aGVu Ci0gICAgICAgICAgICBlY2hvICIgICBbY2hlY2tdICR7aX06IGluc3RhbGxlZC4iCi0gICAgICAg ICAgICBjb250aW51ZQotICAgICAgICBlbGlmIFsgJHJ2YWwgLWVxIDEgXTsgdGhlbgotICAgICAg ICAgICAgaXZlcj0kKCRYQlBTX1VIRUxQRVJfQ01EIHZlcnNpb24gJHtfcmVhbHBrZ30pCi0gICAg ICAgICAgICBpZiBbICQ/IC1lcSAwIC1hIC1uICIkaXZlciIgXTsgdGhlbgotICAgICAgICAgICAg ICAgIGVjaG8gIiAgIFtjaGVja10gJHtpfTogaW5zdGFsbGVkICRpdmVyICh2aXJ0dWFscGtnKS4i Ci0gICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAg ICAgICBlY2hvICIgICBbY2hlY2tdICR7aX06IHVucmVzb2x2ZWQgY2hlY2sgZGVwZW5kZW5jeSEi Ci0gICAgICAgICAgICAgICAgcmV0dXJuIDEKKyAgICBpZiBbWyAke2NoZWNrZGVwZW5kc30gXV0g JiYgW1sgJFhCUFNfQ0hFQ0tfUEtHUyBdXTsgdGhlbgorICAgICAgICAjIGNoZWNrIHZhbGlkaXR5 CisgICAgICAgIGZvciBmIGluICR7Y2hlY2tkZXBlbmRzfTsgZG8KKyAgICAgICAgICAgIGlmIFsg ISAtZiAkWEJQU19TUkNQS0dESVIvJGYvdGVtcGxhdGUgXTsgdGhlbgorICAgICAgICAgICAgICAg IG1zZ19lcnJvciAiJHBrZ3ZlcjogY2hlY2sgZGVwZW5kZW5jeSAnJGYnIGRvZXMgbm90IGV4aXN0 IVxuIgogICAgICAgICAgICAgZmkKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgcmVwbz0kKCRY QlBTX1FVRVJZX0NNRCAtUiAtcHJlcG9zaXRvcnkgJHtpfSAyPi9kZXYvbnVsbCkKLSAgICAgICAg ICAgIGlmIFsgLW4gIiR7cmVwb30iIF07IHRoZW4KLSAgICAgICAgICAgICAgICBlY2hvICIgICBb Y2hlY2tdICR7aX06IGZvdW5kICgkcmVwbykiCi0gICAgICAgICAgICAgICAgY2hlY2tfYmlucGtn X2RlcHMrPSgiJHtpfSIpCisgICAgICAgIGRvbmUKKyAgICAgICAgd2hpbGUgcmVhZCAtciBfZGVw bmFtZSBfZGVwcmVwb3ZlciBfZGVwdmVyIF9zdWJwa2cgX3JlcG91cmw7IGRvCisgICAgICAgICAg ICBfdnBrZz0ke19zdWJwa2d9LSR7X2RlcHZlcn0KKyAgICAgICAgICAgICMgYmluYXJ5IHBhY2th Z2UgZm91bmQgaW4gYSByZXBvCisgICAgICAgICAgICBpZiBbWyAke19kZXB2ZXJ9ID09ICR7X2Rl cHJlcG92ZXJ9IF1dOyB0aGVuCisgICAgICAgICAgICAgICAgZWNobyAiICAgW2NoZWNrXSAke192 cGtnfTogZm91bmQgKCR7X3JlcG91cmx9KSIKKyAgICAgICAgICAgICAgICBob3N0X2JpbnBrZ19k ZXBzKz0oIiR7X3Zwa2d9IikKICAgICAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAg ZWxzZQotICAgICAgICAgICAgICAgIGVjaG8gIiAgIFtjaGVja10gJHtpfTogbm90IGZvdW5kLiIK LSAgICAgICAgICAgICAgICBpZiBbICIke19yZWFscGtnfSIgPSAiJHRhcmdldHBrZyIgXTsgdGhl bgotICAgICAgICAgICAgICAgICAgICBtc2dfZXJyb3IgIiR7cGtnfTogW2NoZWNrXSBidWlsZCBs b29wIGRldGVjdGVkOiAke19yZWFscGtnfSA8LT4gJHt0YXJnZXRwa2d9IFtkZXBlbmRzIG9uIGl0 c2VsZl0hXG4iCi0gICAgICAgICAgICAgICAgZWxpZiBbICIke19yZWFscGtnfSIgPSAiJHBrZyIg XTsgdGhlbgotICAgICAgICAgICAgICAgICAgICBtc2dfZXJyb3IgIiR7cGtnfTogW2NoZWNrXSBi dWlsZCBsb29wIGRldGVjdGVkOiAkcGtnIDwtPiAke19yZWFscGtnfVxuIgorICAgICAgICAgICAg ZmkKKyAgICAgICAgICAgICMgYmluYXJ5IHBhY2thZ2Ugbm90IGZvdW5kCisgICAgICAgICAgICBp ZiBbWyAkX2RlcG5hbWUgIT0gJF9zdWJwa2cgXV07IHRoZW4KKyAgICAgICAgICAgICAgICAjIHN1 YnBrZywgY2hlY2sgaWYgaXQncyBhIHN1YnBrZyBvZiBpdHNlbGYKKyAgICAgICAgICAgICAgICBm b3VuZD0wCisgICAgICAgICAgICAgICAgZm9yIGYgaW4gJHtzdWJwYWNrYWdlc307IGRvCisgICAg ICAgICAgICAgICAgICAgIGlmIFtbICR7X3N1YnBrZ30gPT0gJHtmfSBdXTsgdGhlbgorICAgICAg ICAgICAgICAgICAgICAgICAgZm91bmQ9MQorICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsK KyAgICAgICAgICAgICAgICAgICAgZmkKKyAgICAgICAgICAgICAgICBkb25lCisgICAgICAgICAg ICAgICAgaWYgW1sgJGZvdW5kIC1lcSAxIF1dOyB0aGVuCisgICAgICAgICAgICAgICAgICAgIGVj aG8gIiAgIFtjaGVja10gJHtfdnBrZ306IG5vdCBmb3VuZCAoc3VicGtnLCBpZ25vcmVkKSIKKyAg ICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgIGVjaG8gIiAgIFtjaGVja10g JHtfdnBrZ306IG5vdCBmb3VuZCIKKyAgICAgICAgICAgICAgICAgICAgaG9zdF9taXNzaW5nX2Rl cHMrPSgiJF92cGtnIikKICAgICAgICAgICAgICAgICBmaQorICAgICAgICAgICAgZWxzZQorICAg ICAgICAgICAgICAgIGVjaG8gIiAgIFtjaGVja10gJHtfdnBrZ306IG5vdCBmb3VuZCIKKyAgICAg ICAgICAgICAgICBob3N0X21pc3NpbmdfZGVwcys9KCIkX3Zwa2ciKQogICAgICAgICAgICAgZmkK LSAgICAgICAgZmkKLSAgICAgICAgY2hlY2tfbWlzc2luZ19kZXBzKz0oIiR7aX0iKQotICAgIGRv bmUKLQorICAgICAgICBkb25lIDwgPCgkWEJQU19DSEVDS1ZFUlNfQ01EICR7WEJQU19TS0lQX1JF TU9URVJFUE9TOistaX0gLUQgJFhCUFNfRElTVERJUiAtc20gJHtjaGVja2RlcGVuZHN9KQorICAg IGZpCiAKICAgICAjCiAgICAgIyBUYXJnZXQgYnVpbGQgZGVwZW5kZW5jaWVzLgogICAgICMKLSAg ICBmb3IgaSBpbiAke2J1aWxkX2RlcGVuZHN9OyBkbwotICAgICAgICBfcmVhbHBrZz0iJCgkWEJQ U19VSEVMUEVSX0NNRCBnZXRwa2duYW1lICRpIDI+L2Rldi9udWxsKSIKLSAgICAgICAgIyBDaGVj ayBpZiBkZXBlbmRlbmN5IGlzIGEgc3VicGtnLCBpZiBpdCBpcywgaWdub3JlIGl0LgotICAgICAg ICB1bnNldCBmb3VuZAotICAgICAgICBmb3IgaiBpbiAke3N1YnBhY2thZ2VzfTsgZG8KLSAgICAg ICAgICAgIFsgIiRqIiA9ICIke19yZWFscGtnfSIgXSAmJiBmb3VuZD0xICYmIGJyZWFrCisgICAg aWYgW1sgJHttYWtlZGVwZW5kc30gXV07IHRoZW4KKyAgICAgICAgIyBjaGVjayB2YWxpZGl0eQor ICAgICAgICBmb3IgZiBpbiAke21ha2VkZXBlbmRzfTsgZG8KKyAgICAgICAgICAgIGlmIFsgISAt ZiAkWEJQU19TUkNQS0dESVIvJGYvdGVtcGxhdGUgXTsgdGhlbgorICAgICAgICAgICAgICAgIG1z Z19lcnJvciAiJHBrZ3ZlcjogdGFyZ2V0IGRlcGVuZGVuY3kgJyRmJyBkb2VzIG5vdCBleGlzdCFc biIKKyAgICAgICAgICAgIGZpCiAgICAgICAgIGRvbmUKLSAgICAgICAgWyAtbiAiJGZvdW5kIiBd ICYmIGNvbnRpbnVlCi0gICAgICAgIGNoZWNrX3BrZ2RlcF9tYXRjaGVkICIke2l9IiB2ZXJzaW9u ICRjcm9zcwotICAgICAgICBsb2NhbCBydmFsPSQ/Ci0gICAgICAgIGlmIFsgJHJ2YWwgLWVxIDAg XTsgdGhlbgotICAgICAgICAgICAgZWNobyAiICAgW3RhcmdldF0gJHtpfTogaW5zdGFsbGVkLiIK LSAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgIGVsaWYgWyAkcnZhbCAtZXEgMSBdOyB0aGVu Ci0gICAgICAgICAgICBpdmVyPSQoJFhCUFNfVUhFTFBFUl9YQ01EIHZlcnNpb24gJHtfcmVhbHBr Z30pCi0gICAgICAgICAgICBpZiBbICQ/IC1lcSAwIC1hIC1uICIkaXZlciIgXTsgdGhlbgotICAg ICAgICAgICAgICAgIGVjaG8gIiAgIFt0YXJnZXRdICR7aX06IGluc3RhbGxlZCAkaXZlciAodmly dHVhbHBrZykuIgorICAgICAgICB3aGlsZSByZWFkIC1yIF9kZXBuYW1lIF9kZXByZXBvdmVyIF9k ZXB2ZXIgX3N1YnBrZyBfcmVwb3VybDsgZG8KKyAgICAgICAgICAgIF92cGtnPSR7X3N1YnBrZ30t JHtfZGVwdmVyfQorICAgICAgICAgICAgIyBiaW5hcnkgcGFja2FnZSBmb3VuZCBpbiBhIHJlcG8K KyAgICAgICAgICAgIGlmIFtbICR7X2RlcHZlcn0gPT0gJHtfZGVwcmVwb3Zlcn0gXV07IHRoZW4K KyAgICAgICAgICAgICAgICBlY2hvICIgICBbdGFyZ2V0XSAke192cGtnfTogZm91bmQgKCR7X3Jl cG91cmx9KSIKKyAgICAgICAgICAgICAgICBiaW5wa2dfZGVwcys9KCIke192cGtnfSIpCiAgICAg ICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBl Y2hvICIgICBbdGFyZ2V0XSAke2l9OiB1bnJlc29sdmVkIGJ1aWxkIGRlcGVuZGVuY3khIgotICAg ICAgICAgICAgICAgIHJldHVybiAxCiAgICAgICAgICAgICBmaQotICAgICAgICBlbHNlCi0gICAg ICAgICAgICByZXBvPSQoJFhCUFNfUVVFUllfWENNRCAtUiAtcHJlcG9zaXRvcnkgJHtpfSAyPi9k ZXYvbnVsbCkKLSAgICAgICAgICAgIGlmIFsgLW4gIiR7cmVwb30iIF07IHRoZW4KLSAgICAgICAg ICAgICAgICBlY2hvICIgICBbdGFyZ2V0XSAke2l9OiBmb3VuZCAoJHJlcG8pIgotICAgICAgICAg ICAgICAgIGJpbnBrZ19kZXBzKz0oIiR7aX0iKQotICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0g ICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgZWNobyAiICAgW3RhcmdldF0gJHtpfTog bm90IGZvdW5kLiIKLSAgICAgICAgICAgICAgICBpZiBbICIke19yZWFscGtnfSIgPSAiJHRhcmdl dHBrZyIgXTsgdGhlbgotICAgICAgICAgICAgICAgICAgICBtc2dfZXJyb3IgIiR7cGtnfTogW3Rh cmdldF0gYnVpbGQgbG9vcCBkZXRlY3RlZDogJHtfcmVhbHBrZ30gPC0+ICR7dGFyZ2V0cGtnfSBb ZGVwZW5kcyBvbiBpdHNlbGZdXG4iCi0gICAgICAgICAgICAgICAgZWxpZiBbICIke19yZWFscGtn fSIgPSAiJHBrZyIgXTsgdGhlbgotICAgICAgICAgICAgICAgICAgICBtc2dfZXJyb3IgIiR7cGtn fTogW3RhcmdldF0gYnVpbGQgbG9vcCBkZXRlY3RlZDogJHBrZyA8LT4gJHtfcmVhbHBrZ31cbiIK KyAgICAgICAgICAgICMgYmluYXJ5IHBhY2thZ2Ugbm90IGZvdW5kCisgICAgICAgICAgICBpZiBb WyAkX2RlcG5hbWUgIT0gJF9zdWJwa2cgXV07IHRoZW4KKyAgICAgICAgICAgICAgICAjIHN1YnBr ZywgY2hlY2sgaWYgaXQncyBhIHN1YnBrZyBvZiBpdHNlbGYKKyAgICAgICAgICAgICAgICBmb3Vu ZD0wCisgICAgICAgICAgICAgICAgZm9yIGYgaW4gJHtzdWJwYWNrYWdlc307IGRvCisgICAgICAg ICAgICAgICAgICAgIGlmIFtbICR7X3N1YnBrZ30gPT0gJHtmfSBdXTsgdGhlbgorICAgICAgICAg ICAgICAgICAgICAgICAgZm91bmQ9MQorICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAg ICAgICAgICAgICAgICAgICAgZmkKKyAgICAgICAgICAgICAgICBkb25lCisgICAgICAgICAgICAg ICAgaWYgW1sgJGZvdW5kIC1lcSAxIF1dOyB0aGVuCisgICAgICAgICAgICAgICAgICAgIGVjaG8g IiAgIFt0YXJnZXRdICR7X3Zwa2d9OiBub3QgZm91bmQgKHN1YnBrZywgaWdub3JlZCkiCisgICAg ICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICBlY2hvICIgICBbdGFyZ2V0XSAk e192cGtnfTogbm90IGZvdW5kIgorICAgICAgICAgICAgICAgICAgICBtaXNzaW5nX2RlcHMrPSgi JF92cGtnIikKICAgICAgICAgICAgICAgICBmaQorICAgICAgICAgICAgZWxzZQorICAgICAgICAg ICAgICAgIGVjaG8gIiAgIFt0YXJnZXRdICR7X3Zwa2d9OiBub3QgZm91bmQiCisgICAgICAgICAg ICAgICAgbWlzc2luZ19kZXBzKz0oIiRfdnBrZyIpCiAgICAgICAgICAgICBmaQotICAgICAgICBm aQotICAgICAgICBtaXNzaW5nX2RlcHMrPSgiJHtpfSIpCi0gICAgZG9uZQorICAgICAgICBkb25l IDwgPCgkWEJQU19DSEVDS1ZFUlNfWENNRCAke1hCUFNfU0tJUF9SRU1PVEVSRVBPUzorLWl9IC1E ICRYQlBTX0RJU1RESVIgLXNtICR7bWFrZWRlcGVuZHN9KQorICAgIGZpCiAKICAgICAjCiAgICAg IyBUYXJnZXQgcnVuIHRpbWUgZGVwZW5kZW5jaWVzCiAgICAgIwotICAgIGZvciBpIGluICR7cnVu X2RlcGVuZHN9OyBkbwotICAgICAgICBfcmVhbHBrZz0iJHtpJVw/Kn0iCi0gICAgICAgIF9jdXJw a2c9IiR7X3JlYWxwa2d9IgotICAgICAgICBfdnBrZz0iJHtpIypcP30iCi0gICAgICAgIGlmIFsg IiR7X3JlYWxwa2d9IiAhPSAiJHtfdnBrZ30iIF07IHRoZW4KLSAgICAgICAgICAgIF9yZWFscGtn PSIke192cGtnfSIKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgdW5zZXQgX2N1cnBrZwotICAg ICAgICBmaQotICAgICAgICBwa2duPSQoJFhCUFNfVUhFTFBFUl9DTUQgZ2V0cGtnZGVwbmFtZSAi JHtfcmVhbHBrZ30iKQotICAgICAgICBpZiBbIC16ICIkcGtnbiIgXTsgdGhlbgotICAgICAgICAg ICAgcGtnbj0kKCRYQlBTX1VIRUxQRVJfQ01EIGdldHBrZ25hbWUgIiR7X3JlYWxwa2d9IikKLSAg ICAgICAgICAgIGlmIFsgLXogIiRwa2duIiBdOyB0aGVuCi0gICAgICAgICAgICAgICAgbXNnX2Vy cm9yICIkcGtndmVyOiBpbnZhbGlkIHJ1bnRpbWUgZGVwZW5kZW5jeTogJHtfcmVhbHBrZ31cbiIK KyAgICBpZiBbWyAke2RlcGVuZHN9IF1dOyB0aGVuCisgICAgICAgIF9kZXBzPSQoc2V0dXBfcGtn X2RlcGVuZHMgIiIgMSkgfHwgZXhpdCAxCisgICAgICAgIGZvciBmIGluICR7X2RlcHN9OyBkbwor ICAgICAgICAgICAgaWYgWyAhIC1mICRYQlBTX1NSQ1BLR0RJUi8kZi90ZW1wbGF0ZSBdOyB0aGVu CisgICAgICAgICAgICAgICAgbXNnX2Vycm9yICIkcGtndmVyOiBydW50aW1lIGRlcGVuZGVuY3kg JyRmJyBkb2VzIG5vdCBleGlzdCFcbiIKICAgICAgICAgICAgIGZpCi0gICAgICAgIGZpCi0gICAg ICAgICMgQ2hlY2sgaWYgZGVwZW5kZW5jeSBpcyBhIHN1YnBrZywgaWYgaXQgaXMsIGlnbm9yZSBp dC4KLSAgICAgICAgdW5zZXQgZm91bmQKLSAgICAgICAgZm9yIGogaW4gJHtzdWJwYWNrYWdlc307 IGRvCi0gICAgICAgICAgICBbICIkaiIgPSAiJHtwa2dufSIgXSAmJiBmb3VuZD0xICYmIGJyZWFr CiAgICAgICAgIGRvbmUKLSAgICAgICAgWyAtbiAiJGZvdW5kIiBdICYmIGNvbnRpbnVlCi0gICAg ICAgIF9wcm9wcz0kKCRYQlBTX1FVRVJZX1hDTUQgLVIgLXBwa2d2ZXIscmVwb3NpdG9yeSAke19y ZWFscGtnfSAyPi9kZXYvbnVsbCkKLSAgICAgICAgaWYgWyAtbiAiJHtfcHJvcHN9IiBdOyB0aGVu Ci0gICAgICAgICAgICBzZXQgLS0gJHtfcHJvcHN9Ci0gICAgICAgICAgICAkWEJQU19VSEVMUEVS X0NNRCBwa2dtYXRjaCAkezF9ICIke19yZWFscGtnfSIKLSAgICAgICAgICAgIGlmIFsgJD8gLWVx IDEgXTsgdGhlbgotICAgICAgICAgICAgICAgIGlmIFsgLW4gIiR7X2N1cnBrZ30iIF07IHRoZW4K LSAgICAgICAgICAgICAgICAgICAgZWNobyAiICAgW3J1bnRpbWVdICR7X2N1cnBrZ306JHtfcmVh bHBrZ30gKHZpcnR1YWwgZGVwZW5kZW5jeSk6IGZvdW5kICQxICgkMikiCi0gICAgICAgICAgICAg ICAgZWxzZQotICAgICAgICAgICAgICAgICAgICBlY2hvICIgICBbcnVudGltZV0gJHtfcmVhbHBr Z306IGZvdW5kICQxICgkMikiCi0gICAgICAgICAgICAgICAgZmkKLSAgICAgICAgICAgICAgICBz aGlmdCAyCisgICAgICAgIHdoaWxlIHJlYWQgLXIgX2RlcG5hbWUgX2RlcHJlcG92ZXIgX2RlcHZl ciBfc3VicGtnIF9yZXBvdXJsOyBkbworICAgICAgICAgICAgX3Zwa2c9JHtfc3VicGtnfS0ke19k ZXB2ZXJ9CisgICAgICAgICAgICAjIGJpbmFyeSBwYWNrYWdlIGZvdW5kIGluIGEgcmVwbworICAg ICAgICAgICAgaWYgW1sgJHtfZGVwdmVyfSA9PSAke19kZXByZXBvdmVyfSBdXTsgdGhlbgorICAg ICAgICAgICAgICAgIGVjaG8gIiAgIFtydW50aW1lXSAke192cGtnfTogZm91bmQgKCR7X3JlcG91 cmx9KSIKICAgICAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAgZWxzZQotICAgICAg ICAgICAgICAgIGlmIFsgLW4gIiR7X2N1cnBrZ30iIF07IHRoZW4KLSAgICAgICAgICAgICAgICAg ICAgZWNobyAiICAgW3J1bnRpbWVdICR7X2N1cnBrZ306JHtfcmVhbHBrZ30gKHZpcnR1YWwgZGVw ZW5kZW5jeSk6IG5vdCBmb3VuZC4iCisgICAgICAgICAgICBmaQorICAgICAgICAgICAgIyBiaW5h cnkgcGFja2FnZSBub3QgZm91bmQKKyAgICAgICAgICAgIGlmIFtbICRfZGVwbmFtZSAhPSAkX3N1 YnBrZyBdXTsgdGhlbgorICAgICAgICAgICAgICAgICMgc3VicGtnLCBjaGVjayBpZiBpdCdzIGEg c3VicGtnIG9mIGl0c2VsZgorICAgICAgICAgICAgICAgIGZvdW5kPTAKKyAgICAgICAgICAgICAg ICBmb3IgZiBpbiAke3N1YnBhY2thZ2VzfTsgZG8KKyAgICAgICAgICAgICAgICAgICAgaWYgW1sg JHtfc3VicGtnfSA9PSAke2Z9IF1dOyB0aGVuCisgICAgICAgICAgICAgICAgICAgICAgICBmb3Vu ZD0xCisgICAgICAgICAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgICAgICAgICBm aQorICAgICAgICAgICAgICAgIGRvbmUKKyAgICAgICAgICAgICAgICBpZiBbWyAkZm91bmQgLWVx IDEgXV07IHRoZW4KKyAgICAgICAgICAgICAgICAgICAgZWNobyAiICAgW3J1bnRpbWVdICR7X3Zw a2d9OiBub3QgZm91bmQgKHN1YnBrZywgaWdub3JlZCkiCiAgICAgICAgICAgICAgICAgZWxzZQot ICAgICAgICAgICAgICAgICAgICBlY2hvICIgICBbcnVudGltZV0gJHtfcmVhbHBrZ306IG5vdCBm b3VuZC4iCisgICAgICAgICAgICAgICAgICAgIGVjaG8gIiAgIFtydW50aW1lXSAke192cGtnfTog bm90IGZvdW5kIgorICAgICAgICAgICAgICAgICAgICBtaXNzaW5nX3JkZXBzKz0oIiRfdnBrZyIp CiAgICAgICAgICAgICAgICAgZmkKLSAgICAgICAgICAgIGZpCi0gICAgICAgICAgICBzaGlmdCAy Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGlmIFsgLW4gIiR7X2N1cnBrZ30iIF07IHRoZW4K LSAgICAgICAgICAgICAgICBlY2hvICIgICBbcnVudGltZV0gJHtfY3VycGtnfToke19yZWFscGtn fSAodmlydHVhbCBkZXBlbmRlbmN5KTogbm90IGZvdW5kLiIKICAgICAgICAgICAgIGVsc2UKLSAg ICAgICAgICAgICAgICBlY2hvICIgICBbcnVudGltZV0gJHtfcmVhbHBrZ306IG5vdCBmb3VuZC4i CisgICAgICAgICAgICAgICAgZWNobyAiICAgW3J1bnRpbWVdICR7X3Zwa2d9OiBub3QgZm91bmQi CisgICAgICAgICAgICAgICAgbWlzc2luZ19yZGVwcys9KCIkX3Zwa2ciKQogICAgICAgICAgICAg ZmkKLSAgICAgICAgZmkKLSAgICAgICAgaWYgWyAiJHtfcmVhbHBrZ30iID0gIiR0YXJnZXRwa2ci IF07IHRoZW4KLSAgICAgICAgICAgIG1zZ19lcnJvciAiJHtwa2d9OiBbcnVuXSBidWlsZCBsb29w IGRldGVjdGVkOiAke19yZWFscGtnfSA8LT4gJHt0YXJnZXRwa2d9IFtkZXBlbmRzIG9uIGl0c2Vs Zl1cbiIKLSAgICAgICAgZWxpZiBbICIke19yZWFscGtnfSIgPSAiJHBrZyIgXTsgdGhlbgotICAg ICAgICAgICAgbXNnX2Vycm9yICIke3BrZ306IFtydW5dIGJ1aWxkIGxvb3AgZGV0ZWN0ZWQ6ICRw a2cgPC0+ICR7X3JlYWxwa2d9XG4iCi0gICAgICAgIGZpCi0gICAgICAgIG1pc3NpbmdfcmRlcHMr PSgiJHtfcmVhbHBrZ30iKQotICAgIGRvbmUKKyAgICAgICAgZG9uZSA8IDwoJFhCUFNfQ0hFQ0tW RVJTX1hDTUQgJHtYQlBTX1NLSVBfUkVNT1RFUkVQT1M6Ky1pfSAtRCAkWEJQU19ESVNURElSIC1z bSAkX2RlcHMpCisgICAgICAgIHVuc2V0IF9kZXBzCisgICAgZmkKIAogICAgIGlmIFsgLW4gIiRY QlBTX0JVSUxEX09OTFlfT05FX1BLRyIgXTsgdGhlbgogICAgICAgICAgICBmb3IgaSBpbiAke2hv c3RfbWlzc2luZ19kZXBzW0BdfTsgZG8KICAgICAgICAgICAgICAgICAgICBtc2dfZXJyb3IgImRl cCAke2l9IG5vdCBmb3VuZDogLTEgcGFzc2VkOiBpbnN0cnVjdGVkIG5vdCB0byBidWlsZFxuIgog ICAgICAgICAgICBkb25lCi0gICAgICAgICAgIGZvciBpIGluICR7Y2hlY2tfbWlzc2luZ19kZXBz W0BdfTsgZG8KLSAgICAgICAgICAgICAgICAgICBtc2dfZXJyb3IgImRlcCAke2l9IG5vdCBmb3Vu ZDogLTEgcGFzc2VkOiBpbnN0cnVjdGVkIG5vdCB0byBidWlsZFxuIgotICAgICAgICAgICBkb25l CiAgICAgICAgICAgIGZvciBpIGluICR7bWlzc2luZ19yZGVwc1tAXX07IGRvCiAgICAgICAgICAg ICAgICAgICAgbXNnX2Vycm9yICJkZXAgJHtpfSBub3QgZm91bmQ6IC0xIHBhc3NlZDogaW5zdHJ1 Y3RlZCBub3QgdG8gYnVpbGRcbiIKICAgICAgICAgICAgZG9uZQpAQCAtNDI5LDE4ICszMjksNiBA QCBpbnN0YWxsX3BrZ19kZXBzKCkgewogICAgICAgICBob3N0X2JpbnBrZ19kZXBzKz0oIiRpIikK ICAgICBkb25lCiAKLSAgICAjIE1pc3NpbmcgY2hlY2sgZGVwZW5kZW5jaWVzLCBidWlsZCBmcm9t IHNyY3BrZ3MuCi0gICAgZm9yIGkgaW4gJHtjaGVja19taXNzaW5nX2RlcHNbQF19OyBkbwotICAg ICAgICAjIHBhY2thZ2VzIG5vdCBmb3VuZCBpbiByZXBvcywgaW5zdGFsbCBmcm9tIHNvdXJjZS4K LSAgICAgICAgKAotICAgICAgICBjdXJwa2dkZXBuYW1lPSQoJFhCUFNfVUhFTFBFUl9DTUQgZ2V0 cGtnbmFtZSAiJGkiIDI+L2Rldi9udWxsKQotICAgICAgICBzZXR1cF9wa2cgJGN1cnBrZ2RlcG5h bWUKLSAgICAgICAgZXhlYyBlbnYgWEJQU19ERVBFTkRFTkNZPTEgWEJQU19CSU5QS0dfRVhJU1RT PTEgXAotICAgICAgICAgICAgJFhCUFNfTElCRVhFQ0RJUi9idWlsZC5zaCAkc291cmNlcGtnICRw a2cgJHRhcmdldCB8fCBleGl0ICQ/Ci0gICAgICAgICkgfHwgZXhpdCAkPwotICAgICAgICBjaGVj a19iaW5wa2dfZGVwcys9KCIkaSIpCi0gICAgZG9uZQotCiAgICAgIyBNaXNzaW5nIHRhcmdldCBk ZXBlbmRlbmNpZXMsIGJ1aWxkIGZyb20gc3JjcGtncy4KICAgICBmb3IgaSBpbiAke21pc3Npbmdf ZGVwc1tAXX07IGRvCiAgICAgICAgICMgcGFja2FnZXMgbm90IGZvdW5kIGluIHJlcG9zLCBpbnN0 YWxsIGZyb20gc291cmNlLgpAQCAtNDcxLDIyICszNTksMjUgQEAgaW5zdGFsbF9wa2dfZGVwcygp IHsKICAgICAgICAgKSB8fCBleGl0ICQ/CiAgICAgZG9uZQogCi0gICAgaWYgWyAiJHBrZyIgIT0g IiR0YXJnZXRwa2ciIF07IHRoZW4KLSAgICAgICAgbXNnX25vcm1hbCAiJHBrZzogYnVpbGRpbmck e3N0eWxlfSAoZGVwZW5kZW5jeSBvZiAkdGFyZ2V0cGtnKSAuLi5cbiIKKyAgICBpZiBbWyAke2hv c3RfYmlucGtnX2RlcHN9IF1dOyB0aGVuCisgICAgICAgIGlmIFsgLXogIiRYQlBTX1FVSUVUIiBd OyB0aGVuCisgICAgICAgICAgICAjIG5vcm1hbCBtZXNzYWdlcyBpbiBib2xkCisgICAgICAgICAg ICBbWyAkTk9DT0xPUlMgXV0gfHwgcHJpbnRmICJcMDMzWzFtIgorICAgICAgICAgICAgZWNobyAi PT4gJHBrZ3ZlcjogaW5zdGFsbGluZyBob3N0IGRlcGVuZGVuY2llczogJHtob3N0X2JpbnBrZ19k ZXBzW0BdfSAuLi4iCisgICAgICAgICAgICBbWyAkTk9DT0xPUlMgXV0gfHwgcHJpbnRmICJcMDMz W20iCisgICAgICAgIGZpCisgICAgICAgIGluc3RhbGxfcGtnX2Zyb21fcmVwb3MgIiIgIiR7aG9z dF9iaW5wa2dfZGVwc1tAXX0iCiAgICAgZmkKIAotICAgIGZvciBpIGluICR7aG9zdF9iaW5wa2df ZGVwc1tAXX07IGRvCi0gICAgICAgIG1zZ19ub3JtYWwgIiRwa2d2ZXI6IGluc3RhbGxpbmcgaG9z dCBkZXBlbmRlbmN5ICckaScgLi4uXG4iCi0gICAgICAgIGluc3RhbGxfcGtnX2Zyb21fcmVwb3Mg IiR7aX0iCi0gICAgZG9uZQotCi0gICAgZm9yIGkgaW4gJHtjaGVja19iaW5wa2dfZGVwc1tAXX07 IGRvCi0gICAgICAgIG1zZ19ub3JtYWwgIiRwa2d2ZXI6IGluc3RhbGxpbmcgY2hlY2sgZGVwZW5k ZW5jeSAnJGknIC4uLlxuIgotICAgICAgICBpbnN0YWxsX3BrZ19mcm9tX3JlcG9zICIke2l9Igot ICAgIGRvbmUKKyAgICBpZiBbWyAke2JpbnBrZ19kZXBzfSBdXTsgdGhlbgorICAgICAgICBpZiBb IC16ICIkWEJQU19RVUlFVCIgXTsgdGhlbgorICAgICAgICAgICAgIyBub3JtYWwgbWVzc2FnZXMg aW4gYm9sZAorICAgICAgICAgICAgW1sgJE5PQ09MT1JTIF1dIHx8IHByaW50ZiAiXDAzM1sxbSIK KyAgICAgICAgICAgIGVjaG8gIj0+ICRwa2d2ZXI6IGluc3RhbGxpbmcgdGFyZ2V0IGRlcGVuZGVu Y2llczogJHtiaW5wa2dfZGVwc1tAXX0gLi4uIgorICAgICAgICAgICAgW1sgJE5PQ09MT1JTIF1d IHx8IHByaW50ZiAiXDAzM1ttIgorICAgICAgICBmaQorICAgICAgICBpbnN0YWxsX3BrZ19mcm9t X3JlcG9zICIkY3Jvc3MiICIke2JpbnBrZ19kZXBzW0BdfSIKKyAgICBmaQogCi0gICAgZm9yIGkg aW4gJHtiaW5wa2dfZGVwc1tAXX07IGRvCi0gICAgICAgIG1zZ19ub3JtYWwgIiRwa2d2ZXI6IGlu c3RhbGxpbmcgdGFyZ2V0IGRlcGVuZGVuY3kgJyRpJyAuLi5cbiIKLSAgICAgICAgaW5zdGFsbF9w a2dfZnJvbV9yZXBvcyAiJGkiICRjcm9zcwotICAgIGRvbmUKKyAgICByZXR1cm4gMAogfQpkaWZm IC0tZ2l0IGEvY29tbW9uL3hicHMtc3JjL3NodXRpbHMvYnVsay5zaCBiL2NvbW1vbi94YnBzLXNy Yy9zaHV0aWxzL2J1bGsuc2gKaW5kZXggNzM5NDc5NjUyODIuLmVkNWM0Y2UxOTJkIDEwMDY0NAot LS0gYS9jb21tb24veGJwcy1zcmMvc2h1dGlscy9idWxrLnNoCisrKyBiL2NvbW1vbi94YnBzLXNy Yy9zaHV0aWxzL2J1bGsuc2gKQEAgLTEsODMgKzEsNzggQEAKICMgdmltOiBzZXQgdHM9NCBzdz00 IGV0OgogCi1idWxrX2dldGxpbmsoKSB7Ci0gICAgbG9jYWwgcD0iJHsxIyMqL30iCi0gICAgbG9j YWwgdGFyZ2V0PSIkKHJlYWRsaW5rICRYQlBTX1NSQ1BLR0RJUi8kcCkiCi0KLSAgICBpZiBbICQ/ IC1lcSAwIC1hIC1uICIkdGFyZ2V0IiBdOyB0aGVuCi0gICAgICAgIHA9JHRhcmdldAotICAgIGZp Ci0gICAgZWNobyAkcAotfQotCiBidWxrX3NvcnRkZXBzKCkgewotICAgIGxvY2FsIF9wa2dzIF9w a2cgcGtncyBwa2cgZm91bmQgZiB4IHRtcGYKLQotICAgIF9wa2dzPSIkQCIKLSAgICAjIEl0ZXJh dGUgb3ZlciB0aGUgbGlzdCBhbmQgbWFrZSBzdXJlIHRoYXQgb25seSByZWFsIHBrZ3MgYXJlCi0g ICAgIyBhZGRlZCB0byBvdXIgcGtnbGlzdC4KLSAgICBmb3IgcGtnIGluICR7X3BrZ3N9OyBkbwot ICAgICAgICBmb3VuZD0wCi0gICAgICAgIGY9JChidWxrX2dldGxpbmsgJHBrZykKLSAgICAgICAg Zm9yIHggaW4gJHtwa2dzfTsgZG8KLSAgICAgICAgICAgIGlmIFsgIiR4IiA9ICIke2Z9IiBdOyB0 aGVuCi0gICAgICAgICAgICAgICAgZm91bmQ9MQotICAgICAgICAgICAgICAgIGJyZWFrCi0gICAg ICAgICAgICBmaQotICAgICAgICBkb25lCi0gICAgICAgIGlmIFsgJGZvdW5kIC1lcSAwIF07IHRo ZW4KLSAgICAgICAgICAgIHBrZ3MrPSIke2Z9ICIKLSAgICAgICAgZmkKLSAgICBkb25lCisgICAg bG9jYWwgcGtncz0iJEAiCisgICAgbG9jYWwgcGtnIF9wa2cKKyAgICBsb2NhbCBOUFJPQ1M9JCgo JChucHJvYykqMikpCisgICAgbG9jYWwgTlJVTk5JTkc9MAogCiAgICAgdG1wZj0kKG1rdGVtcCkg fHwgZXhpdCAxCi0gICAgIyBOb3cgbWFrZSB0aGUgcmVhbCBkZXBlbmRlbmN5IGdyYXBoIG9mIGFs bCBwa2dzIHRvIGJ1aWxkLgotICAgICMgUGVyZm9ybSBhIHRvcG9sb2dpY2FsIHNvcnQgb2YgYWxs IHBrZ3MgYnV0IG9ubHkgd2l0aCBidWlsZCBkZXBlbmRlbmNpZXMKLSAgICAjIHRoYXQgYXJlIGZv dW5kIGluIHByZXZpb3VzIHN0ZXAuCisKKyAgICAjIFBlcmZvcm0gYSB0b3BvbG9naWNhbCBzb3J0 IG9mIGFsbCAqZGlyZWN0KiBidWlsZCBkZXBlbmRlbmNpZXMuCiAgICAgZm9yIHBrZyBpbiAke3Br Z3N9OyBkbwotICAgICAgICBfcGtncz0iJCguL3hicHMtc3JjIHNob3ctYnVpbGQtZGVwcyAkcGtn IDI+L2Rldi9udWxsKSIKLSAgICAgICAgZm91bmQ9MAotICAgICAgICBmb3IgeCBpbiAke19wa2dz fTsgZG8KLSAgICAgICAgICAgIF9wa2c9JChidWxrX2dldGxpbmsgJHgpCi0gICAgICAgICAgICBm b3IgZiBpbiAke3BrZ3N9OyBkbwotICAgICAgICAgICAgICAgIGlmIFsgIiR7Zn0iICE9ICIke19w a2d9IiBdOyB0aGVuCi0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgICAgICAg ICAgZmkKLSAgICAgICAgICAgICAgICBmb3VuZD0xCi0gICAgICAgICAgICAgICAgZWNobyAiJHtw a2d9ICR7Zn0iID4+ICR0bXBmCisgICAgICAgIGlmIFsgJE5SVU5OSU5HIC1lcSAkTlBST0NTIF07 IHRoZW4KKyAgICAgICAgICAgIE5SVU5OSU5HPTAKKyAgICAgICAgICAgIHdhaXQKKyAgICAgICAg ZmkKKyAgICAgICAgTlJVTk5JTkc9JCgoTlJVTk5JTkcrMSkpCisgICAgICAgICgKKyAgICAgICAg ICAgIGZvciBfcGtnIGluICQoLi94YnBzLXNyYyBzaG93LWJ1aWxkLWRlcHMgJHBrZyAyPi9kZXYv bnVsbCk7IGRvCisgICAgICAgICAgICAgICAgZWNobyAiJHBrZyAkX3BrZyIgPj4gJHRtcGYKICAg ICAgICAgICAgIGRvbmUKLSAgICAgICAgZG9uZQotICAgICAgICBbICRmb3VuZCAtZXEgMCBdICYm IGVjaG8gIiR7cGtnfSAke3BrZ30iID4+ICR0bXBmCisgICAgICAgICAgICBlY2hvICIkcGtnICRw a2ciID4+ICR0bXBmCisgICAgICAgICkgJgogICAgIGRvbmUKKyAgICB3YWl0CiAgICAgdHNvcnQg JHRtcGZ8dGFjCiAgICAgcm0gLWYgJHRtcGYKIH0KIAogYnVsa19idWlsZCgpIHsKKyAgICBsb2Nh bCBzeXM9IiQxIgorICAgIGxvY2FsIE5QUk9DUz0kKCgkKG5wcm9jKSoyKSkKKyAgICBsb2NhbCBO UlVOTklORz0wCiAKICAgICBpZiBbICIkWEJQU19DUk9TU19CVUlMRCIgXTsgdGhlbgogICAgICAg ICBzb3VyY2UgJHtYQlBTX0NPTU1PTkRJUn0vY3Jvc3MtcHJvZmlsZXMvJHtYQlBTX0NST1NTX0JV SUxEfS5zaAogICAgICAgICBleHBvcnQgWEJQU19BUkNIPSR7WEJQU19UQVJHRVRfTUFDSElORX0K ICAgICBmaQogICAgIGlmICEgY29tbWFuZCAtdiB4YnBzLWNoZWNrdmVycyAmPi9kZXYvbnVsbDsg dGhlbgotICAgICAgICBtc2dfZXJyb3IgInhicHMtc3JjOiBjYW5ub3QgZmluZCB4YnBzLWNoZWNr dmVycyg4KSBjb21tYW5kIVxuIgorICAgICAgICBtc2dfZXJyb3IgInhicHMtc3JjOiBjYW5ub3Qg ZmluZCB4YnBzLWNoZWNrdmVycygxKSBjb21tYW5kIVxuIgogICAgIGZpCiAKLSAgICBidWxrX3Nv cnRkZXBzICIkKHhicHMtY2hlY2t2ZXJzICR7MX0gLS1kaXN0ZGlyPSRYQlBTX0RJU1RESVIgfCBh d2sgJ3twcmludCAkMn0nKSIKKyAgICAjIENvbXBhcmUgaW5zdGFsbGVkIHBrZyB2ZXJzaW9ucyB2 cyBzcmNwa2dzCisgICAgaWYgW1sgJHN5cyBdXTsgdGhlbgorICAgICAgICB4YnBzLWNoZWNrdmVy cyAtZiAnJW4nIC1JIC1EICRYQlBTX0RJU1RESVIKKyAgICAgICAgcmV0dXJuICQ/CisgICAgZmkK KyAgICAjIGNvbXBhcmUgcmVwbyBwa2cgdmVyc2lvbnMgdnMgc3JjcGtncworICAgIGZvciBmIGlu ICQoeGJwcy1jaGVja3ZlcnMgLWYgJyVuJyAtRCAkWEJQU19ESVNURElSKTsgZG8KKyAgICAgICAg aWYgWyAkTlJVTk5JTkcgLWVxICROUFJPQ1MgXTsgdGhlbgorICAgICAgICAgICAgTlJVTk5JTkc9 MAorICAgICAgICAgICAgd2FpdAorICAgICAgICBmaQorICAgICAgICBOUlVOTklORz0kKChOUlVO TklORysxKSkKKyAgICAgICAgKAorICAgICAgICAgICAgc2V0dXBfcGtnICRmICRYQlBTX1RBUkdF VF9NQUNISU5FICY+L2Rldi9udWxsCisgICAgICAgICAgICBpZiBzaG93X2F2YWlsICY+L2Rldi9u dWxsOyB0aGVuCisgICAgICAgICAgICAgICAgZWNobyAiJGYiCisgICAgICAgICAgICBmaQorICAg ICAgICApICYKKyAgICBkb25lCisgICAgd2FpdAorICAgIHJldHVybiAkPwogfQogCiBidWxrX3Vw ZGF0ZSgpIHsKICAgICBsb2NhbCBhcmdzPSIkMSIgcGtncyBmIHJ2YWwKIAogICAgIHBrZ3M9IiQo YnVsa19idWlsZCAke2FyZ3N9KSIKLSAgICBpZiBbIC16ICIkcGtncyIgXTsgdGhlbgotICAgICAg ICByZXR1cm4gMAotICAgIGZpCisgICAgW1sgLXogJHBrZ3MgXV0gJiYgcmV0dXJuIDAKKwogICAg IG1zZ19ub3JtYWwgInhicHMtc3JjOiB0aGUgZm9sbG93aW5nIHBhY2thZ2VzIG11c3QgYmUgcmVi dWlsdCBhbmQgdXBkYXRlZDpcbiIKICAgICBmb3IgZiBpbiAke3BrZ3N9OyBkbwotICAgICAgICBl Y2hvICIgICAkZiIKKyAgICAgICAgZWNobyAiICRmIgogICAgIGRvbmUKLSAgICBlY2hvCiAgICAg Zm9yIGYgaW4gJHtwa2dzfTsgZG8KICAgICAgICAgWEJQU19UQVJHRVRfUEtHPSRmCiAgICAgICAg IHJlYWRfcGtnCmRpZmYgLS1naXQgYS9jb21tb24veGJwcy1zcmMvc2h1dGlscy9jaHJvb3Quc2gg Yi9jb21tb24veGJwcy1zcmMvc2h1dGlscy9jaHJvb3Quc2gKaW5kZXggZGVjOGZhMzYxMTcuLjQ5 ZmEwNWY3OWI1IDEwMDY0NAotLS0gYS9jb21tb24veGJwcy1zcmMvc2h1dGlscy9jaHJvb3Quc2gK KysrIGIvY29tbW9uL3hicHMtc3JjL3NodXRpbHMvY2hyb290LnNoCkBAIC0xNjksNyArMTY5LDcg QEAgY2hyb290X2hhbmRsZXIoKSB7CiAgICAgWyAteiAiJGFjdGlvbiIgLWEgLXogIiRwa2ciIF0g JiYgcmV0dXJuIDEKIAogICAgIGNhc2UgIiRhY3Rpb24iIGluCi0gICAgICAgIGZldGNofGV4dHJh Y3R8cGF0Y2h8YnVpbGR8Y2hlY2t8Y29uZmlndXJlfGluc3RhbGx8aW5zdGFsbC1kZXN0ZGlyfHBr Z3xidWlsZC1wa2d8Ym9vdHN0cmFwLXVwZGF0ZXxjaHJvb3QpCisgICAgICAgIGZldGNofGV4dHJh Y3R8cGF0Y2h8Y29uZmlndXJlfGJ1aWxkfGNoZWNrfGluc3RhbGx8cGtnfGJvb3RzdHJhcC11cGRh dGV8Y2hyb290KQogICAgICAgICAgICAgY2hyb290X3ByZXBhcmUgfHwgcmV0dXJuICQ/CiAgICAg ICAgICAgICBjaHJvb3RfaW5pdCB8fCByZXR1cm4gJD8KICAgICAgICAgICAgIGNocm9vdF9zeW5j X3JlcG9zIHx8IHJldHVybiAkPwpAQCAtMTgxLDMwICsxODEsMTMgQEAgY2hyb290X2hhbmRsZXIo KSB7CiAgICAgICAgICAgICAkWEJQU19NQVNURVJESVIgJFhCUFNfRElTVERJUiAiJFhCUFNfSE9T VERJUiIgIiRYQlBTX0NIUk9PVF9DTURfQVJHUyIgL2Jpbi94YnBzLXNoZWxsCiAgICAgICAgIHJ2 PSQ/CiAgICAgZWxzZQotICAgICAgICBbIC1uICIkWEJQU19DUk9TU19CVUlMRCIgXSAmJiBhcmc9 IiRhcmcgLWEgJFhCUFNfQ1JPU1NfQlVJTEQiCi0gICAgICAgIFsgLW4gIiRYQlBTX0tFRVBfQUxM IiBdICYmIGFyZz0iJGFyZyAtQyIKLSAgICAgICAgWyAtbiAiJE5PQ09MT1JTIiBdICYmIGFyZz0i JGFyZyAtTCIKLSAgICAgICAgWyAtbiAiJFhCUFNfQlVJTERfRk9SQ0VNT0RFIiBdICYmIGFyZz0i JGFyZyAtZiIKLSAgICAgICAgWyAtbiAiJFhCUFNfTUFLRUpPQlMiIF0gJiYgYXJnPSIkYXJnIC1q JFhCUFNfTUFLRUpPQlMiCi0gICAgICAgIFsgLW4gIiRYQlBTX0RFQlVHX1BLR1MiIF0gJiYgYXJn PSIkYXJnIC1nIgotICAgICAgICBbIC1uICIkWEJQU19DSEVDS19QS0dTIiBdICYmIGFyZz0iJGFy ZyAtUSIKLSAgICAgICAgWyAtbiAiJFhCUFNfQlVJTERfT05MWV9PTkVfUEtHIiBdICYmIGFyZz0i JGFyZyAtMSIKLSAgICAgICAgWyAtbiAiJFhCUFNfUVVJRVQiIF0gJiYgYXJnPSIkYXJnIC1xIgot ICAgICAgICBbIC1uICIkWEJQU19TS0lQX0RFUFMiIF0gJiYgYXJnPSIkYXJnIC1JIgotICAgICAg ICBbIC1uICIkWEJQU19BTFRfUkVQT1NJVE9SWSIgXSAmJiBhcmc9IiRhcmcgLXIgJFhCUFNfQUxU X1JFUE9TSVRPUlkiCi0gICAgICAgIFsgLW4gIiRYQlBTX1VTRV9HSVRfUkVWUyIgXSAmJiBhcmc9 IiRhcmcgLUciCi0gICAgICAgIFsgLW4gIiRYQlBTX1BLR19PUFRJT05TIiBdICYmIGFyZz0iJGFy ZyAtbyAkWEJQU19QS0dfT1BUSU9OUyIKLSAgICAgICAgWyAtbiAiJFhCUFNfVEVNUF9NQVNURVJE SVIiIF0gJiYgYXJnPSIkYXJnIC10IC1DIgotICAgICAgICBbIC1uICIkWEJQU19CSU5QS0dfRVhJ U1RTIiBdICYmIGFyZz0iJGFyZyAtRSIKLQotICAgICAgICBhY3Rpb249IiRhcmcgJGFjdGlvbiIK ICAgICAgICAgZW52IC1pIC0tIFBBVEg9Ii91c3IvYmluOiRQQVRIIiBTSEVMTD0vYmluL3NoIFwK ICAgICAgICAgICAgIEhPTUU9L3RtcCBJTl9DSFJPT1Q9MSBMQ19DT0xMQVRFPUMgTEFORz1lbl9V Uy5VVEYtOCBcCiAgICAgICAgICAgICBTT1VSQ0VfREFURV9FUE9DSD0iJFNPVVJDRV9EQVRFX0VQ T0NIIiBcCiAgICAgICAgICAgICBYQlBTX0FMTE9XX0NIUk9PVF9CUkVBS09VVD0iJFhCUFNfQUxM T1dfQ0hST09UX0JSRUFLT1VUIiBcCiAgICAgICAgICAgICAkWEJQU19DT01NT05ESVIvY2hyb290 LXN0eWxlLyR7WEJQU19DSFJPT1RfQ01EOj11dW5zaGFyZX0uc2ggXAogICAgICAgICAgICAgJFhC UFNfTUFTVEVSRElSICRYQlBTX0RJU1RESVIgIiRYQlBTX0hPU1RESVIiICIkWEJQU19DSFJPT1Rf Q01EX0FSR1MiIFwKLSAgICAgICAgICAgIC92b2lkLXBhY2thZ2VzL3hicHMtc3JjICRhY3Rpb24g JHBrZworICAgICAgICAgICAgL3ZvaWQtcGFja2FnZXMveGJwcy1zcmMgJFhCUFNfT1BUSU9OUyAk YWN0aW9uICRwa2cKICAgICAgICAgcnY9JD8KICAgICBmaQogCmRpZmYgLS1naXQgYS9jb21tb24v eGJwcy1zcmMvc2h1dGlscy9jb21tb24uc2ggYi9jb21tb24veGJwcy1zcmMvc2h1dGlscy9jb21t b24uc2gKaW5kZXggNTU2NzYxOWY4ZjMuLmI4ZDYwMWQzZmIyIDEwMDY0NAotLS0gYS9jb21tb24v eGJwcy1zcmMvc2h1dGlscy9jb21tb24uc2gKKysrIGIvY29tbW9uL3hicHMtc3JjL3NodXRpbHMv Y29tbW9uLnNoCkBAIC0yOTQsNyArMjk0LDcgQEAgc2V0dXBfcGtnKCkgewogICAgICAgICBYQlBT X1JFTU9WRV9YQ01EPSJlbnYgWEJQU19UQVJHRVRfQVJDSD0kWEJQU19UQVJHRVRfTUFDSElORSAk WEJQU19SRU1PVkVfQ01EIC1yICRYQlBTX0NST1NTX0JBU0UiCiAgICAgICAgIFhCUFNfUklOREVY X1hDTUQ9ImVudiBYQlBTX1RBUkdFVF9BUkNIPSRYQlBTX1RBUkdFVF9NQUNISU5FICRYQlBTX1JJ TkRFWF9DTUQiCiAgICAgICAgIFhCUFNfVUhFTFBFUl9YQ01EPSJlbnYgWEJQU19UQVJHRVRfQVJD SD0kWEJQU19UQVJHRVRfTUFDSElORSB4YnBzLXVoZWxwZXIgLXIgJFhCUFNfQ1JPU1NfQkFTRSIK LQorICAgICAgICBYQlBTX0NIRUNLVkVSU19YQ01EPSJlbnYgWEJQU19UQVJHRVRfQVJDSD0kWEJQ U19UQVJHRVRfTUFDSElORSB4YnBzLWNoZWNrdmVycyAtciAkWEJQU19DUk9TU19CQVNFIC0tcmVw b3NpdG9yeT0kWEJQU19SRVBPU0lUT1JZIgogICAgIGVsc2UKICAgICAgICAgZXhwb3J0IFhCUFNf VEFSR0VUX01BQ0hJTkU9JHtYQlBTX0FSQ0g6LSRYQlBTX01BQ0hJTkV9CiAgICAgICAgIHVuc2V0 IFhCUFNfQ1JPU1NfQkFTRSBYQlBTX0NST1NTX0xERkxBR1MgWEJQU19DUk9TU19GRkxBR1MKQEAg LTMwNyw3ICszMDcsNyBAQCBzZXR1cF9wa2coKSB7CiAgICAgICAgIFhCUFNfUkVNT1ZFX1hDTUQ9 IiRYQlBTX1JFTU9WRV9DTUQiCiAgICAgICAgIFhCUFNfUklOREVYX1hDTUQ9IiRYQlBTX1JJTkRF WF9DTUQiCiAgICAgICAgIFhCUFNfVUhFTFBFUl9YQ01EPSIkWEJQU19VSEVMUEVSX0NNRCIKLQor ICAgICAgICBYQlBTX0NIRUNLVkVSU19YQ01EPSIkWEJQU19DSEVDS1ZFUlNfQ01EIgogICAgIGZp CiAKICAgICBleHBvcnQgWEJQU19JTlNUQUxMX1hDTUQgWEJQU19RVUVSWV9YQ01EIFhCUFNfUkVD T05GSUdVUkVfWENNRCBcCkBAIC00MDIsNyArNDAyLDcgQEAgc2V0dXBfcGtnKCkgewogICAgICAg ICBhcmNoPSIkWEJQU19UQVJHRVRfTUFDSElORSIKICAgICBmaQogICAgIGlmIFsgLW4gIiRYQlBT X0JJTlBLR19FWElTVFMiIF07IHRoZW4KLSAgICAgICAgaWYgWyAiJCgkWEJQU19RVUVSWV9YQ01E IC1SIC1wcGtndmVyICRwa2d2ZXIgMj4vZGV2L251bGwpIiA9ICIkcGtndmVyIiBdOyB0aGVuCisg ICAgICAgIGlmIFsgIiQoJFhCUFNfUVVFUllfWENNRCAtaSAtUiAtcHBrZ3ZlciAkcGtndmVyIDI+ L2Rldi9udWxsKSIgPSAiJHBrZ3ZlciIgXTsgdGhlbgogICAgICAgICAgICAgZXhpdF9hbmRfY2xl YW51cAogICAgICAgICBmaQogICAgIGZpCkBAIC01NTYsMTcgKzU1NiwxNyBAQCBzZXR1cF9wa2co KSB7CiAgICAgICAgIHdya3NyYz0iJFhCUFNfQlVJTERESVIvJHdya3NyYyIKICAgICBmaQogCi0g ICAgaWYgWyAiJGNyb3NzIiAtYSAiJG5vY3Jvc3MiIC1hICJ6JHNob3dfcHJvYmxlbXMiICE9ICJ6 aWdub3JlLXByb2JsZW1zIiBdOyB0aGVuCisgICAgaWYgWyAiJGNyb3NzIiAtYSAiJG5vY3Jvc3Mi IC1hICIkc2hvd19wcm9ibGVtcyIgIT0gImlnbm9yZS1wcm9ibGVtcyIgXTsgdGhlbgogICAgICAg ICBtc2dfcmVkICIkcGtndmVyOiBjYW5ub3QgYmUgY3Jvc3MgY29tcGlsZWQsIGV4aXRpbmcuLi5c biIKICAgICAgICAgbXNnX3JlZCAiJHBrZ3ZlcjogJG5vY3Jvc3NcbiIKICAgICAgICAgZXhpdCAy Ci0gICAgZWxpZiBbICIkYnJva2VuIiAtYSAieiRzaG93X3Byb2JsZW1zIiAhPSAiemlnbm9yZS1w cm9ibGVtcyIgXTsgdGhlbgorICAgIGVsaWYgWyAiJGJyb2tlbiIgLWEgIiRzaG93X3Byb2JsZW1z IiAhPSAiaWdub3JlLXByb2JsZW1zIiBdOyB0aGVuCiAgICAgICAgIG1zZ19yZWQgIiRwa2d2ZXI6 IGNhbm5vdCBiZSBidWlsdCwgaXQncyBjdXJyZW50bHkgYnJva2VuOyBzZWUgdGhlIGJ1aWxkIGxv ZzpcbiIKICAgICAgICAgbXNnX3JlZCAiJHBrZ3ZlcjogJGJyb2tlblxuIgogICAgICAgICBleGl0 IDIKICAgICBmaQogCi0gICAgaWYgWyAtbiAiJHJlc3RyaWN0ZWQiIC1hIC16ICIkWEJQU19BTExP V19SRVNUUklDVEVEIiAtYSAieiRzaG93X3Byb2JsZW1zIiAhPSAiemlnbm9yZS1wcm9ibGVtcyIg XTsgdGhlbgorICAgIGlmIFsgLW4gIiRyZXN0cmljdGVkIiAtYSAteiAiJFhCUFNfQUxMT1dfUkVT VFJJQ1RFRCIgLWEgIiRzaG93X3Byb2JsZW1zIiAhPSAiaWdub3JlLXByb2JsZW1zIiBdOyB0aGVu CiAgICAgICAgIG1zZ19yZWQgIiRwa2d2ZXI6IGRvZXMgbm90IGFsbG93IHJlZGlzdHJpYnV0aW9u IG9mIHNvdXJjZXMvYmluYXJpZXMgKHJlc3RyaWN0ZWQgbGljZW5zZSkuXG4iCiAgICAgICAgIG1z Z19yZWQgIklmIHlvdSByZWFsbHkgbmVlZCB0aGlzIHNvZnR3YXJlLCBydW4gJ2VjaG8gWEJQU19B TExPV19SRVNUUklDVEVEPXllcyA+PiBldGMvY29uZidcbiIKICAgICAgICAgZXhpdCAyCkBAIC01 NzUsOSArNTc1LDcgQEAgc2V0dXBfcGtnKCkgewogICAgIGV4cG9ydCBYQlBTX1NUQVRFRElSPSIk e1hCUFNfQlVJTERESVJ9Ly54YnBzLSR7c291cmNlcGtnfSIKICAgICBleHBvcnQgWEJQU19XUkFQ UEVSRElSPSIke1hCUFNfU1RBVEVESVJ9L3dyYXBwZXJzIgogCi0gICAgaWYgWyAtbiAiJGJvb3Rz dHJhcCIgLWEgLXogIiRDSFJPT1RfUkVBRFkiIC1vIC1uICIkSU5fQ0hST09UIiBdOyB0aGVuCi0g ICAgICAgIG1rZGlyIC1wICRYQlBTX1dSQVBQRVJESVIKLSAgICBmaQorICAgIG1rZGlyIC1wICRY QlBTX1NUQVRFRElSICRYQlBTX1dSQVBQRVJESVIKIAogICAgIHNvdXJjZV9maWxlICRYQlBTX0NP TU1PTkRJUi9lbnZpcm9ubWVudC9idWlsZC1zdHlsZS8ke2J1aWxkX3N0eWxlfS5zaAogCmRpZmYg LS1naXQgYS9jb21tb24veGJwcy1zcmMvc2h1dGlscy9jcm9zcy5zaCBiL2NvbW1vbi94YnBzLXNy Yy9zaHV0aWxzL2Nyb3NzLnNoCmluZGV4IDEyYzllZmE5YjQ5Li5lNzIxMDA5ODZkZCAxMDA2NDQK LS0tIGEvY29tbW9uL3hicHMtc3JjL3NodXRpbHMvY3Jvc3Muc2gKKysrIGIvY29tbW9uL3hicHMt c3JjL3NodXRpbHMvY3Jvc3Muc2gKQEAgLTI0LDExICsyNCwxMiBAQCByZW1vdmVfcGtnX2Nyb3Nz X2RlcHMoKSB7CiAKIHByZXBhcmVfY3Jvc3Nfc3lzcm9vdCgpIHsKICAgICBsb2NhbCBjcm9zcz0i JDEiCisgICAgbG9jYWwgc3RhdGVmaWxlPSIkWEJQU19NQVNURVJESVIvLnhicHMtJHtjcm9zc30t ZG9uZSIKIAotICAgIFsgLXogIiRjcm9zcyIgLW8gIiRjcm9zcyIgPSAiIiBdICYmIHJldHVybiAw CisgICAgWyAteiAiJGNyb3NzIiAtbyAiJGNyb3NzIiA9ICIiIC1vIC1mICRzdGF0ZWZpbGUgXSAm JiByZXR1cm4gMAogCiAgICAgIyBDaGVjayBmb3IgY3Jvc3MtdnBrZy1kdW1teSBhdmFpbGFibGUg Zm9yIHRoZSB0YXJnZXQgYXJjaCwgb3RoZXJ3aXNlIGJ1aWxkIGl0LgotICAgIHBrZ19hdmFpbGFi bGUgJ2Nyb3NzLXZwa2ctZHVtbXk+PTAuMzBfMScgJGNyb3NzCisgICAgcGtnX2F2YWlsYWJsZSAn Y3Jvc3MtdnBrZy1kdW1teT49MC4zMV8xJyAkY3Jvc3MKICAgICBpZiBbICQ/IC1lcSAwIF07IHRo ZW4KICAgICAgICAgJFhCUFNfTElCRVhFQ0RJUi9idWlsZC5zaCBjcm9zcy12cGtnLWR1bW15IGNy b3NzLXZwa2ctZHVtbXkgcGtnICRjcm9zcyBpbml0IHx8IHJldHVybiAkPwogICAgIGZpCkBAIC00 MCw3ICs0MSw3IEBAIHByZXBhcmVfY3Jvc3Nfc3lzcm9vdCgpIHsKICAgICBlcnJsb2c9JChta3Rl bXApIHx8IGV4aXQgMQogICAgICRYQlBTX0lOU1RBTExfWENNRCAtU3lmZCBjcm9zcy12cGtnLWR1 bW15ICY+JGVycmxvZwogICAgIHJ2YWw9JD8KLSAgICBpZiBbICRydmFsIC1uZSAwIC1hICRydmFs IC1uZSAxNyBdOyB0aGVuCisgICAgaWYgWyAkcnZhbCAtbmUgMCBdOyB0aGVuCiAgICAgICAgIG1z Z19yZWQgImZhaWxlZCB0byBpbnN0YWxsIGNyb3NzLXZwa2ctZHVtbXkgKGVycm9yICRydmFsKVxu IgogICAgICAgICBjYXQgJGVycmxvZwogICAgICAgICBybSAtZiAkZXJybG9nCkBAIC00OCwxMSAr NDksMTUgQEAgcHJlcGFyZV9jcm9zc19zeXNyb290KCkgewogICAgIGZpCiAgICAgcm0gLWYgJGVy cmxvZwogICAgICMgQ3JlYXRlIHRvcCBsZXZlbCBzeW1saW5rcyBpbiBzeXNyb290LgotICAgIFhC UFNfQVJDSD0kWEJQU19UQVJHRVRfTUFDSElORSB4YnBzLXJlY29uZmlndXJlIC1yICRYQlBTX0NS T1NTX0JBU0UgLWYgYmFzZS1kaXJlY3RvcmllcyBiYXNlLWZpbGVzICY+L2Rldi9udWxsCisgICAg WEJQU19BUkNIPSRYQlBTX1RBUkdFVF9NQUNISU5FIHhicHMtcmVjb25maWd1cmUgLXIgJFhCUFNf Q1JPU1NfQkFTRSAtZiBiYXNlLWZpbGVzICY+L2Rldi9udWxsCiAgICAgIyBDcmVhdGUgYSBzeXNy b290L2luY2x1ZGUgYW5kIHN5c3Jvb3QvbGliIHN5bWxpbmsganVzdCBpbiBjYXNlLgogICAgIGxu IC1zIHVzci9pbmNsdWRlICR7WEJQU19DUk9TU19CQVNFfS9pbmNsdWRlCiAgICAgbG4gLXMgdXNy L2xpYiAke1hCUFNfQ1JPU1NfQkFTRX0vbGliCiAKKyAgICBpbnN0YWxsX2Nyb3NzX3BrZyAkY3Jv c3MgfHwgcmV0dXJuIDEKKworICAgIHRvdWNoIC1mICRzdGF0ZWZpbGUKKwogICAgIHJldHVybiAw CiB9CiAKZGlmZiAtLWdpdCBhL2NvbW1vbi94YnBzLXNyYy9zaHV0aWxzL3BrZ3RhcmdldC5zaCBi L2NvbW1vbi94YnBzLXNyYy9zaHV0aWxzL3BrZ3RhcmdldC5zaAppbmRleCBhN2JlNjI0MTczZS4u N2QzZWQxYzc4ZjQgMTAwNjQ0Ci0tLSBhL2NvbW1vbi94YnBzLXNyYy9zaHV0aWxzL3BrZ3Rhcmdl dC5zaAorKysgYi9jb21tb24veGJwcy1zcmMvc2h1dGlscy9wa2d0YXJnZXQuc2gKQEAgLTU0LDYg KzU0LDEwIEBAIHJlbW92ZV9wa2dfYXV0b2RlcHMoKSB7CiAgICAgJFhCUFNfUkVDT05GSUdVUkVf Q01EIC1hID4+ICR0bXBsb2dmIDI+JjEKICAgICBlY2hvIHllcyB8ICRYQlBTX1JFTU9WRV9DTUQg LVJ5b2QgPj4gJHRtcGxvZ2YgMj4mMQogICAgIHJ2YWw9JD8KKyAgICBpZiBbICRydmFsIC1lcSAw IF07IHRoZW4KKyAgICAgICAgZWNobyB5ZXMgfCAkWEJQU19SRU1PVkVfQ01EIC1SeW9kID4+ICR0 bXBsb2dmIDI+JjEKKyAgICAgICAgcnZhbD0kPworICAgIGZpCiAKICAgICBpZiBbICRydmFsIC1u ZSAwIF07IHRoZW4KICAgICAgICAgbXNnX3JlZCAiJHtwa2d2ZXI6LXhicHMtc3JjfTogZmFpbGVk IHRvIHJlbW92ZSBhdXRvZGVwczogKHJldHVybmVkICRydmFsKVxuIgpkaWZmIC0tZ2l0IGEvY29t bW9uL3hicHMtc3JjL3NodXRpbHMvc2hvdy5zaCBiL2NvbW1vbi94YnBzLXNyYy9zaHV0aWxzL3No b3cuc2gKaW5kZXggZTJmYzk1NjUxNGUuLmQwYzI2MGVkMGFlIDEwMDY0NAotLS0gYS9jb21tb24v eGJwcy1zcmMvc2h1dGlscy9zaG93LnNoCisrKyBiL2NvbW1vbi94YnBzLXNyYy9zaHV0aWxzL3No b3cuc2gKQEAgLTYxLDQ0ICs2MSwyNSBAQCBzaG93X2F2YWlsKCkgewogfQogCiBzaG93X3BrZ19i dWlsZF9kZXBlbmRzKCkgewotICAgIGxvY2FsIGYgeCBfcGtnbmFtZSBfc3JjcGtnIF9kZXAgZm91 bmQgcmVzdWx0CisgICAgbG9jYWwgZiB4IF9wa2duYW1lIF9zcmNwa2cgZm91bmQgcmVzdWx0CiAg ICAgbG9jYWwgX2RlcHM9IiQxIgogCiAgICAgcmVzdWx0PSQobWt0ZW1wKSB8fCBleGl0IDEKIAog ICAgICMgYnVpbGQgdGltZSBkZXBzCiAgICAgZm9yIGYgaW4gJHtfZGVwc307IGRvCi0gICAgICAg ICMgaWdub3JlIHZpcnR1YWwgZGVwcwotICAgICAgICBsb2NhbCBfcnBrZz0iJHtmJVw/Kn0iCi0g ICAgICAgIGxvY2FsIF92cGtnPSIke2YjKlw/fSIKLQotICAgICAgICAjIGlnbm9yZSB2aXJ0dWFs IGRlcGVuZGVuY2llcwotICAgICAgICBpZiBbICIke19ycGtnfSIgIT0gIiR7X3Zwa2d9IiBdOyB0 aGVuCi0gICAgICAgICAgICBmPSIke192cGtnfSIKKyAgICAgICAgaWYgWyAhIC1mICRYQlBTX1NS Q1BLR0RJUi8kZi90ZW1wbGF0ZSBdOyB0aGVuCisgICAgICAgICAgICBtc2dfZXJyb3IgIiRwa2d2 ZXI6IGRlcGVuZGVuY3kgJyRmJyBkb2VzIG5vdCBleGlzdCFcbiIKICAgICAgICAgZmkKKyAgICAg ICAgIyBpZ25vcmUgdmlydHVhbCBkZXBlbmRlbmNpZXMKKyAgICAgICAgW1sgJHtmJVw/Kn0gIT0g JHtmIypcP30gXV0gJiYgZj0ke2YjKlw/fQogICAgICAgICB1bnNldCBmb3VuZAogICAgICAgICAj IGNoZWNrIGZvciBzdWJwa2dzCiAgICAgICAgIGZvciB4IGluICR7c3VicGFja2FnZXN9OyBkbwot ICAgICAgICAgICAgX3BrZ25hbWU9IiQoJFhCUFNfVUhFTFBFUl9DTUQgZ2V0cGtnZGVwbmFtZSAk ZiAyPi9kZXYvbnVsbCkiCi0gICAgICAgICAgICBpZiBbIC16ICIke19wa2duYW1lfSIgXTsgdGhl bgotICAgICAgICAgICAgICAgIF9wa2duYW1lPSIkKCRYQlBTX1VIRUxQRVJfQ01EIGdldHBrZ25h bWUgJGYgMj4vZGV2L251bGwpIgotICAgICAgICAgICAgZmkKLSAgICAgICAgICAgIGlmIFsgIiR7 X3BrZ25hbWV9IiA9ICIkeCIgXTsgdGhlbgotICAgICAgICAgICAgICAgIGZvdW5kPTEKLSAgICAg ICAgICAgICAgICBicmVhawotICAgICAgICAgICAgZmkKKyAgICAgICAgICAgIFtbICRmID09ICR4 IF1dICYmIGZvdW5kPTEgJiYgYnJlYWsKICAgICAgICAgZG9uZQotICAgICAgICBpZiBbIC1uICIk Zm91bmQiIF07IHRoZW4KLSAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgIGZpCi0gICAgICAg IF9wa2duYW1lPSIkKCRYQlBTX1VIRUxQRVJfQ01EIGdldHBrZ2RlcG5hbWUgJGYgMj4vZGV2L251 bGwpIgotICAgICAgICBpZiBbIC16ICIke19wa2duYW1lfSIgXTsgdGhlbgotICAgICAgICAgICAg X3BrZ25hbWU9IiQoJFhCUFNfVUhFTFBFUl9DTUQgZ2V0cGtnbmFtZSAkZiAyPi9kZXYvbnVsbCki Ci0gICAgICAgIGZpCi0gICAgICAgIGlmIFsgLXogIiR7X3BrZ25hbWV9IiBdOyB0aGVuCi0gICAg ICAgICAgICBfcGtnbmFtZT0iJGYiCi0gICAgICAgIGZpCi0gICAgICAgIF9wa2duYW1lPSR7X3Br Z25hbWUvLTMyYml0fQorICAgICAgICBbWyAkZm91bmQgXV0gJiYgY29udGludWUKKyAgICAgICAg X3BrZ25hbWU9JHtmLy0zMmJpdH0KICAgICAgICAgX3NyY3BrZz0kKHJlYWRsaW5rIC1mICR7WEJQ U19TUkNQS0dESVJ9LyR7X3BrZ25hbWV9KQogICAgICAgICBfc3JjcGtnPSR7X3NyY3BrZyMjKi99 CiAgICAgICAgIGVjaG8gIiR7X3NyY3BrZ30iID4+ICRyZXN1bHQKQEAgLTEwOCwxOCArODksMTUg QEAgc2hvd19wa2dfYnVpbGRfZGVwZW5kcygpIHsKIH0KIAogc2hvd19wa2dfYnVpbGRfZGVwcygp IHsKLSAgICBzZXR1cF9wa2dfZGVwZW5kcwotICAgIHNob3dfcGtnX2J1aWxkX2RlcGVuZHMgIiR7 aG9zdF9idWlsZF9kZXBlbmRzfSAke2J1aWxkX2RlcGVuZHN9ICR7cnVuX2RlcGVuZHN9IgorICAg IHNob3dfcGtnX2J1aWxkX2RlcGVuZHMgIiR7aG9zdG1ha2VkZXBlbmRzfSAke21ha2VkZXBlbmRz fSAkKHNldHVwX3BrZ19kZXBlbmRzICcnIDEpIgogfQogCiBzaG93X3BrZ19ob3N0bWFrZWRlcGVu ZHMoKSB7Ci0gICAgc2V0dXBfcGtnX2RlcGVuZHMKLSAgICBzaG93X3BrZ19idWlsZF9kZXBlbmRz ICIke2hvc3RfYnVpbGRfZGVwZW5kc30iCisgICAgc2hvd19wa2dfYnVpbGRfZGVwZW5kcyAiJHto b3N0bWFrZWRlcGVuZHN9IgogfQogCiBzaG93X3BrZ19tYWtlZGVwZW5kcygpIHsKLSAgICBzZXR1 cF9wa2dfZGVwZW5kcwotICAgIHNob3dfcGtnX2J1aWxkX2RlcGVuZHMgIiR7YnVpbGRfZGVwZW5k c30iCisgICAgc2hvd19wa2dfYnVpbGRfZGVwZW5kcyAiJHttYWtlZGVwZW5kc30iCiB9CiAKIHNo b3dfcGtnX2J1aWxkX29wdGlvbnMoKSB7CmRpZmYgLS1naXQgYS94YnBzLXNyYyBiL3hicHMtc3Jj CmluZGV4IDIzZDYxNjRiMThhLi5jN2M0MWY0NzE5MyAxMDA3NTUKLS0tIGEveGJwcy1zcmMKKysr IGIveGJwcy1zcmMKQEAgLTEsOCArMSw2IEBACiAjIS9iaW4vYmFzaAogIyB2aW06IHNldCB0cz00 IHN3PTQgZXQ6CiAKLXJlYWRvbmx5IFBST0dOQU1FPSIkezAjIyovfSIKLQogcHJpbnRfY3Jvc3Nf dGFyZ2V0cygpIHsKICAgICBsb2NhbCBmCiAgICAgZm9yIGYgaW4gY29tbW9uL2Nyb3NzLXByb2Zp bGVzLyouc2g7IGRvCkBAIC0yMTAsNyArMjA4LDcgQEAgX0VPRgogY2hlY2tfcmVxaG9zdF91dGls cygpIHsKICAgICBsb2NhbCBicm9rZW4KIAotICAgIFsgLW4gIiRJTl9DSFJPT1QiIF0gJiYgcmV0 dXJuIDAKKyAgICBbICIkSU5fQ0hST09UIiBdICYmIHJldHVybiAwCiAKICAgICBmb3IgZiBpbiAk e1JFUUhPU1RfVVRJTFN9OyBkbwogICAgICAgICBpZiAhIGNvbW1hbmQgLXYgJHtmfSAmPi9kZXYv bnVsbDsgdGhlbgpAQCAtMjE4LDcgKzIxNiw3IEBAIGNoZWNrX3JlcWhvc3RfdXRpbHMoKSB7CiAg ICAgICAgICAgICBicm9rZW49MQogICAgICAgICBmaQogICAgIGRvbmUKLSAgICBbIC1uICIkYnJv a2VuIiBdICYmIGV4aXQgMQorICAgIFsgIiRicm9rZW4iIF0gJiYgZXhpdCAxCiAgICAgWyAteiAi JDEiIF0gJiYgcmV0dXJuIDAKIAogICAgIGZvciBmIGluICR7UkVRSE9TVF9VVElMU19CT09UU1RS QVB9OyBkbwpAQCAtMjI3LDI0ICsyMjUsNyBAQCBjaGVja19yZXFob3N0X3V0aWxzKCkgewogICAg ICAgICAgICAgYnJva2VuPTEKICAgICAgICAgZmkKICAgICBkb25lCi0gICAgWyAtbiAiJGJyb2tl biIgXSAmJiBleGl0IDEKLX0KLQotY2hlY2tfY29uZmlnX3ZhcnMoKSB7Ci0gICAgaWYgWyAtcyAi JFhCUFNfQ09ORklHX0ZJTEUiIF07IHRoZW4KLSAgICAgICAgLiAkWEJQU19DT05GSUdfRklMRSAm Pi9kZXYvbnVsbAotICAgIGZpCi0gICAgaWYgWyAteiAiJFhCUFNfTUFTVEVSRElSIiBdOyB0aGVu Ci0gICAgICAgIGV4cG9ydCBYQlBTX01BU1RFUkRJUj0iJHtYQlBTX0RJU1RESVJ9L21hc3RlcmRp ciIKLSAgICBmaQotICAgIGlmIFsgLXogIiRYQlBTX0hPU1RESVIiIF07IHRoZW4KLSAgICAgICAg ZXhwb3J0IFhCUFNfSE9TVERJUj0iJHtYQlBTX0RJU1RESVJ9L2hvc3RkaXIiCi0gICAgICAgIFsg ISAtZCAkWEJQU19IT1NURElSIF0gJiYgbWtkaXIgLXAgJFhCUFNfSE9TVERJUgotICAgIGZpCi0g ICAgaWYgWyAtZCAiJFhCUFNfTUFTVEVSRElSIiAtYSAhIC13ICIkWEJQU19NQVNURVJESVIiIF07 IHRoZW4KLSAgICAgICAgZWNobyAiRVJST1I6IG5vdCBlbm91Z2ggcGVybXMgZm9yIG1hc3RlcmRp ciAkWEJQU19NQVNURVJESVIuIgotICAgICAgICBleGl0IDEKLSAgICBmaQorICAgIFsgIiRicm9r ZW4iIF0gJiYgZXhpdCAxCiB9CiAKIGNoZWNrX2J1aWxkX3JlcXVpcmVtZW50cygpIHsKQEAgLTI2 NCwyMCArMjQ1LDQyIEBAIGNoZWNrX2J1aWxkX3JlcXVpcmVtZW50cygpIHsKICAgICBmaQogfQog CitjaHJvb3RfY2hlY2soKSB7CisgICAgaWYgWyAtZiAkWEJQU19NQVNURVJESVIvLnhicHNfY2hy b290X2luaXQgLW8gIiRYQlBTX0NIUk9PVF9DTUQiID0gImV0aGVyZWFsIiBdOyB0aGVuCisgICAg ICAgIGV4cG9ydCBDSFJPT1RfUkVBRFk9MQorICAgIGZpCit9CisKK2NoZWNrX25hdGl2ZV9hcmNo KCkgeworICAgIGlmIFsgIiRDSFJPT1RfUkVBRFkiIF07IHRoZW4KKyAgICAgICAgaWYgWyAtcyAk WEJQU19NQVNURVJESVIvLnhicHNfY2hyb290X2luaXQgXTsgdGhlbgorICAgICAgICAgICAgZXhw b3J0IFhCUFNfQVJDSD0kKDwkWEJQU19NQVNURVJESVIvLnhicHNfY2hyb290X2luaXQpCisgICAg ICAgIGVsc2UKKyAgICAgICAgICAgIGV4cG9ydCBYQlBTX0FSQ0g9JCh4YnBzLXVoZWxwZXIgYXJj aCkKKyAgICAgICAgZmkKKyAgICBlbHNlCisgICAgICAgIExERD0kKGxkZCAtLXZlcnNpb24gMj4m MXxoZWFkIC0xKQorICAgICAgICBpZiBbWyAkTEREID09ICptdXNsKiBdXTsgdGhlbgorICAgICAg ICAgICAgZXhwb3J0IFhCUFNfQVJDSD0ke1hCUFNfTUFDSElORSUtbXVzbH0tbXVzbAorICAgICAg ICBlbHNlCisgICAgICAgICAgICAjIFhCUFNfQVJDSCA9PSAkKHVuYW1lIC1tKQorICAgICAgICAg ICAgZXhwb3J0IFhCUFNfQVJDSD0kKHVuYW1lIC1tKQorICAgICAgICBmaQorICAgIGZpCit9CisK IGluc3RhbGxfYmJvb3RzdHJhcCgpIHsKLSAgICBbIC1uICIkQ0hST09UX1JFQURZIiBdICYmIHJl dHVybgorICAgIFsgIiRDSFJPT1RfUkVBRFkiIF0gJiYgcmV0dXJuCiAgICAgaWYgWyAiJDEiID0g ImJvb3RzdHJhcCIgXTsgdGhlbgogICAgICAgICB1bnNldCBYQlBTX1RBUkdFVF9QS0cgWEJQU19J TlNUQUxMX0FSR1MKICAgICBlbHNlCiAgICAgICAgIFhCUFNfVEFSR0VUX1BLRz0iJDEiCiAgICAg ZmkKLSAgICBpZiBbIC1uICIkWEJQU19TS0lQX1JFTU9URVJFUE9TIiBdOyB0aGVuCi0gICAgICAg IHVuc2V0IFhCUFNfSU5TVEFMTF9BUkdTCi0gICAgZmkKKyAgICBbICIkWEJQU19TS0lQX1JFTU9U RVJFUE9TIiBdICYmIHVuc2V0IFhCUFNfSU5TVEFMTF9BUkdTCiAgICAgIyBiaW5hcnkgYm9vdHN0 cmFwCiAgICAgbXNnX25vcm1hbCAiSW5zdGFsbGluZyBib290c3RyYXAgZnJvbSBiaW5hcnkgcGFj a2FnZSByZXBvc2l0b3JpZXMuLi5cbiIKICAgICAjIFhCUFNfVEFSR0VUX1BLRyA9PSBhcmNoCi0g ICAgaWYgWyAtbiAiJFhCUFNfVEFSR0VUX1BLRyIgXTsgdGhlbgorICAgIGlmIFsgIiRYQlBTX1RB UkdFVF9QS0ciIF07IHRoZW4KICAgICAgICAgX2Jvb3RzdHJhcF9hcmNoPSJlbnYgWEJQU19UQVJH RVRfQVJDSD0kWEJQU19UQVJHRVRfUEtHIgogICAgICAgICBpZiBbICIke1hCUFNfVEFSR0VUX1BL R30iICE9ICIke1hCUFNfVEFSR0VUX1BLRyMqLX0iIF07IHRoZW4KICAgICAgICAgICAgIF9zdWJh cmNoPSItJHtYQlBTX1RBUkdFVF9QS0cjKi19IgpAQCAtMzA4LDE3ICszMTEsMTUgQEAgcmVjb25m aWd1cmVfYm9vdHN0cmFwX3BrZ3MoKSB7CiAgICAgIyBSZWNvbmZpZ3VyZSBjYS1jZXJ0aWZpY2F0 ZXMuCiAgICAgbXNnX25vcm1hbCAiUmVjb25maWd1cmluZyBib290c3RyYXAgcGFja2FnZXMuLi5c biIKICAgICBmb3IgZiBpbiAke3BrZ3N9OyBkbwotICAgICAgICBpZiB4YnBzLXF1ZXJ5ICRmICY+ L2Rldi9udWxsOyB0aGVuCi0gICAgICAgICAgICB4YnBzLXJlY29uZmlndXJlIC1mICRmCisgICAg ICAgIGlmIHhicHMtcXVlcnkgLXIgJFhCUFNfTUFTVEVSRElSICRmICY+L2Rldi9udWxsOyB0aGVu CisgICAgICAgICAgICB4YnBzLXJlY29uZmlndXJlIC1yICRYQlBTX01BU1RFUkRJUiAtZiAkZgog ICAgICAgICBmaQogICAgIGRvbmUKICAgICB0b3VjaCAtZiAkc3RhdGVmaWxlCiB9CiAKIGJvb3Rz dHJhcF91cGRhdGUoKSB7Ci0gICAgaWYgWyAteiAiJENIUk9PVF9SRUFEWSIgXTsgdGhlbgotICAg ICAgICByZXR1cm4KLSAgICBmaQorICAgIFsgLXogIiRDSFJPT1RfUkVBRFkiIF0gJiYgcmV0dXJu CiAgICAgcmVtb3ZlX3BrZ19hdXRvZGVwcwogICAgIG1zZ19ub3JtYWwgInhicHMtc3JjOiBjbGVh bmluZyB1cCBtYXN0ZXJkaXIuLi5cbiIKICAgICBybSAtcmYgJFhCUFNfTUFTVEVSRElSL2J1aWxk ZGlyICRYQlBTX01BU1RFUkRJUi9kZXN0ZGlyCkBAIC0zNDcsNyArMzQ4LDcgQEAgbWFzdGVyZGly X3phcCgpIHsKIAogZXhpdF9mdW5jKCkgewogICAgIHdhaXQKLSAgICBpZiBbIC1uICIkc291cmNl cGtnIiBdOyB0aGVuCisgICAgaWYgWyAiJHNvdXJjZXBrZyIgXTsgdGhlbgogICAgICAgICByZW1v dmVfcGtnICRYQlBTX0NST1NTX0JVSUxECiAgICAgZmkKICAgICBpZiBbIC16ICIkSU5fQ0hST09U IiBdOyB0aGVuCkBAIC0zOTAsMTQgKzM5MSwxNyBAQCBzZXR1cF9kaXN0ZmlsZXNfbWlycm9yKCkg ewogICAgIGRvbmUKIH0KIAotcmVhZG9ubHkgWEJQU19WRVJTSU9OX1JFUT0iMC41NSIKLXJlYWRv bmx5IFhCUFNfVkVSU0lPTj0kKHhicHMtdWhlbHBlciAtVnxhd2sgJ3twcmludCAkMn0nKQotcmVh ZG9ubHkgWEJQU19TUkNfVkVSU0lPTj0iMTEzIgotZXhwb3J0IFhCUFNfTUFDSElORT0kKHhicHMt dWhlbHBlciBhcmNoKQotCiAjCiAjIG1haW4oKQogIworcmVhZG9ubHkgUFJPR05BTUU9IiR7MCMj Ki99IgorcmVhZG9ubHkgWEJQU19WRVJTSU9OX1JFUT0iMC41NSIKK1hCUFNfVkVSU0lPTj0kKHhi cHMtdWhlbHBlciAtVikKK1hCUFNfVkVSU0lPTj0ke1hCUFNfVkVSU0lPTiUlQVBJKn0KK1hCUFNf VkVSU0lPTj0ke1hCUFNfVkVSU0lPTiMjKjp9CityZWFkb25seSBYQlBTX1NSQ19WRVJTSU9OPSIx MTMiCitleHBvcnQgWEJQU19NQUNISU5FPSQoeGJwcy11aGVscGVyIC1DIC9kZXYvbnVsbCBhcmNo KQorCiBYQlBTX09QVElPTlM9CiBYQlBTX09QVFNUUklORz0iMWE6Q0VmZ0doSDppSWo6TG06Tm86 cVFyOnRWIgogCkBAIC00MDcsMjYgKzQxMSwyNiBAQCBldmFsIHNldCAtLSAkKGdldG9wdCAiJFhC UFNfT1BUU1RSSU5HIiAiJEAiKTsKIHdoaWxlIGdldG9wdHMgIiRYQlBTX09QVFNUUklORyIgb3B0 OyBkbwogICAgIGNhc2UgJG9wdCBpbgogICAgICAgICAxKSBleHBvcnQgWEJQU19CVUlMRF9PTkxZ X09ORV9QS0c9eWVzOyBYQlBTX09QVElPTlMrPSIgLTEiOzsKLSAgICAgICAgYSkgcmVhZG9ubHkg WEJQU19DUk9TU19CVUlMRD0iJE9QVEFSRyI7IFhCUFNfT1BUSU9OUys9IiAtYSAkT1BUQVJHIjs7 Ci0gICAgICAgIEMpIHJlYWRvbmx5IFhCUFNfS0VFUF9BTEw9MTsgWEJQU19PUFRJT05TKz0iIC1D Ijs7CisgICAgICAgIGEpIGV4cG9ydCBYQlBTX0NST1NTX0JVSUxEPSIkT1BUQVJHIjsgWEJQU19P UFRJT05TKz0iIC1hICRPUFRBUkciOzsKKyAgICAgICAgQykgZXhwb3J0IFhCUFNfS0VFUF9BTEw9 MTsgWEJQU19PUFRJT05TKz0iIC1DIjs7CiAgICAgICAgIEUpIGV4cG9ydCBYQlBTX0JJTlBLR19F WElTVFM9MTsgWEJQU19PUFRJT05TKz0iIC1FIjs7Ci0gICAgICAgIGYpIHJlYWRvbmx5IFhCUFNf QlVJTERfRk9SQ0VNT0RFPTE7IFhCUFNfT1BUSU9OUys9IiAtZiI7OwotICAgICAgICBHKSByZWFk b25seSBYQlBTX1VTRV9HSVRfUkVWUz0xOyBYQlBTX09QVElPTlMrPSIgLUciOzsKLSAgICAgICAg ZykgcmVhZG9ubHkgWEJQU19ERUJVR19QS0dTPTE7IFhCUFNfT1BUSU9OUys9IiAtZyI7OwotICAg ICAgICBIKSByZWFkb25seSBYQlBTX0hPU1RESVI9IiQocmVhZGxpbmsgLWYgJE9QVEFSRyAyPi9k ZXYvbnVsbCkiOyBYQlBTX09QVElPTlMrPSIgLUggJFhCUFNfSE9TVERJUiI7OworICAgICAgICBm KSBleHBvcnQgWEJQU19CVUlMRF9GT1JDRU1PREU9MTsgWEJQU19PUFRJT05TKz0iIC1mIjs7Cisg ICAgICAgIEcpIGV4cG9ydCBYQlBTX1VTRV9HSVRfUkVWUz0xOyBYQlBTX09QVElPTlMrPSIgLUci OzsKKyAgICAgICAgZykgZXhwb3J0IFhCUFNfREVCVUdfUEtHUz0xOyBYQlBTX09QVElPTlMrPSIg LWciOzsKKyAgICAgICAgSCkgZXhwb3J0IFhCUFNfSE9TVERJUj0iJChyZWFkbGluayAtZiAkT1BU QVJHIDI+L2Rldi9udWxsKSI7IFhCUFNfT1BUSU9OUys9IiAtSCAkWEJQU19IT1NURElSIjs7CiAg ICAgICAgIGgpIHVzYWdlICYmIGV4aXQgMDs7CiAgICAgICAgIGkpIGV4cG9ydCBYQlBTX0lORk9S TUFUSVZFX1JVTj0xOyBYQlBTX09QVElPTlMrPSIgLWkiOzsKLSAgICAgICAgSSkgcmVhZG9ubHkg WEJQU19TS0lQX0RFUFM9MTsgWEJQU19PUFRJT05TKz0iIC1JIjs7CisgICAgICAgIEkpIGV4cG9y dCBYQlBTX1NLSVBfREVQUz0xOyBYQlBTX09QVElPTlMrPSIgLUkiOzsKICAgICAgICAgaikgZXhw b3J0IFhCUFNfTUFLRUpPQlM9IiRPUFRBUkciOyBYQlBTX09QVElPTlMrPSIgLWogJE9QVEFSRyI7 OwogICAgICAgICBMKSBleHBvcnQgTk9DT0xPUlM9MTsgWEJQU19PUFRJT05TKz0iIC1MIjs7Ci0g ICAgICAgIG0pIHJlYWRvbmx5IFhCUFNfTUFTVEVSRElSPSQocmVhZGxpbmsgLWYgJE9QVEFSRyAy Pi9kZXYvbnVsbCk7IFhCUFNfT1BUSU9OUys9IiAtbSAkWEJQU19NQVNURVJESVIiOzsKLSAgICAg ICAgTikgcmVhZG9ubHkgWEJQU19TS0lQX1JFTU9URVJFUE9TPTE7IFhCUFNfT1BUSU9OUys9IiAt TiI7OwotICAgICAgICBvKSByZWFkb25seSBYQlBTX1BLR19PUFRJT05TPSIkT1BUQVJHIjsgWEJQ U19PUFRJT05TKz0iIC1vICRPUFRBUkciOzsKKyAgICAgICAgbSkgZXhwb3J0IFhCUFNfTUFTVEVS RElSPSQocmVhZGxpbmsgLWYgJE9QVEFSRyAyPi9kZXYvbnVsbCk7IFhCUFNfT1BUSU9OUys9IiAt bSAkWEJQU19NQVNURVJESVIiOzsKKyAgICAgICAgTikgZXhwb3J0IFhCUFNfU0tJUF9SRU1PVEVS RVBPUz0xOyBYQlBTX09QVElPTlMrPSIgLU4iOzsKKyAgICAgICAgbykgZXhwb3J0IFhCUFNfUEtH X09QVElPTlM9IiRPUFRBUkciOyBYQlBTX09QVElPTlMrPSIgLW8gJE9QVEFSRyI7OwogICAgICAg ICBxKSBleHBvcnQgWEJQU19RVUlFVD0xOyBYQlBTX09QVElPTlMrPSIgLXEiOzsKICAgICAgICAg USkgZXhwb3J0IFhCUFNfQ0hFQ0tfUEtHUz0xOyBYQlBTX09QVElPTlMrPSIgLVEiOzsKLSAgICAg ICAgcikgcmVhZG9ubHkgWEJQU19BTFRfUkVQT1NJVE9SWT0iJE9QVEFSRyI7IFhCUFNfT1BUSU9O Uys9IiAtciAkT1BUQVJHIjs7CisgICAgICAgIHIpIGV4cG9ydCBYQlBTX0FMVF9SRVBPU0lUT1JZ PSIkT1BUQVJHIjsgWEJQU19PUFRJT05TKz0iIC1yICRPUFRBUkciOzsKICAgICAgICAgdCkgZXhw b3J0IFhCUFNfVEVNUF9NQVNURVJESVI9MTsgWEJQU19PUFRJT05TKz0iIC10IC1DIjs7Ci0gICAg ICAgIFYpIGVjaG8gJFhCUFNfU1JDX1ZFUlNJT04gJiYgZXhpdCAwOzsKKyAgICAgICAgVikgZWNo byAieGJwcy1zcmMtJFhCUFNfU1JDX1ZFUlNJT04gJCh4YnBzLXVoZWxwZXIgLVYpIiAmJiBleGl0 IDA7OwogICAgICAgICAtLSkgc2hpZnQ7IGJyZWFrOzsKICAgICBlc2FjCiBkb25lCkBAIC00Mzcs MTAgKzQ0MSwxMSBAQCBzaGlmdCAkKCgkT1BUSU5EIC0gMSkpCiAjIENoZWNrIGlmIHN0ZG91dCBp cyBhIHR0eTsgaWYgZmFsc2UgZGlzYWJsZSBjb2xvcnMuCiB0ZXN0IC10IDEgfHwgZXhwb3J0IE5P Q09MT1JTPTEKICMgaHR0cDovL25vLWNvbG9yLm9yZwotaWYgWyAtbiAiJHtOT19DT0xPUit4fSIg XTsgdGhlbgoraWYgWyAiJHtOT19DT0xPUit4fSIgXTsgdGhlbgogICAgIGV4cG9ydCBOT0NPTE9S Uz0xCiBmaQogCisjIHNhbmUgdW1hc2sKIHVtYXNrIDAyMgogCiAjCkBAIC00NTYsMjIgKzQ2MSwx MyBAQCByZWFkb25seSBSRVFIT1NUX1VUSUxTPSJ4YnBzLWluc3RhbGwgeGJwcy1xdWVyeSB4YnBz LXJpbmRleCB4YnBzLXVoZWxwZXIgXAogCiBjaGVja19yZXFob3N0X3V0aWxzCiAKLSMgVHJ5IHVz aW5nIGNocm9vdC1naXQgdGhlbiBnaXQgZnJvbSB0aGUgaG9zdCBzeXN0ZW0KLWlmIGNvbW1hbmQg LXYgY2hyb290LWdpdCAmPi9kZXYvbnVsbDsgdGhlbgotCVhCUFNfR0lUX0NNRD0kKGNvbW1hbmQg LXYgY2hyb290LWdpdCkKLWVsaWYgY29tbWFuZCAtdiBnaXQgJj4vZGV2L251bGw7IHRoZW4KLQlY QlBTX0dJVF9DTUQ9JChjb21tYW5kIC12IGdpdCkKLWVsc2UKLSAgICBlY2hvICJuZWl0aGVyIGNo cm9vdC1naXQgb3IgZ2l0IGFyZSBhdmFpbGFibGUgaW4geW91ciBzeXN0ZW0hIgotICAgIGV4aXQg MQotZmkKLQotcmVhZG9ubHkgWEJQU19HSVRfQ01ECi0KLWlmIFsgLW4gIiRJTl9DSFJPT1QiIF07 IHRoZW4KKyMKKyMgU2V0IFhCUFNfQ09ORklHX0ZJTEUsIFhCUFNfRElTVERJUiwgWEJQU19NQVNU RVJESVIKKyMgYW5kIFhCUFNfSE9TVERJUi4KKyMKK2lmIFsgIiRJTl9DSFJPT1QiIF07IHRoZW4K ICAgICByZWFkb25seSBYQlBTX0NPTkZJR19GSUxFPS9ldGMveGJwcy94YnBzLXNyYy5jb25mCiAg ICAgcmVhZG9ubHkgWEJQU19ESVNURElSPS92b2lkLXBhY2thZ2VzCi0gICAgIyBuZWVkZWQgYmVm b3JlIGNhbGwgdG8gY2hlY2tfY29uZmlnX3ZhcnMKICAgICByZWFkb25seSBYQlBTX01BU1RFUkRJ Uj0vCiAgICAgcmVhZG9ubHkgWEJQU19IT1NURElSPS9ob3N0CiBlbHNlCkBAIC00OTEsMTggKzQ4 NywzNyBAQCBlbHNlCiAgICAgZWxpZiBbIC1zICRIT01FLy54YnBzLXNyYy5jb25mIF07IHRoZW4K ICAgICAgICAgIyAuLi4gZmFsbGJhY2sgdG8gfi8ueGJwcy1zcmMuY29uZiBvdGhlcndpc2UuCiAg ICAgICAgIHJlYWRvbmx5IFhCUFNfQ09ORklHX0ZJTEU9JEhPTUUvLnhicHMtc3JjLmNvbmYKLSAg ICAgICAgLiAkWEJQU19DT05GSUdfRklMRQogICAgIGZpCiBmaQorIyBSZWFkIHNldHRpbmdzIGZy b20gY29uZmlnIGZpbGUKK1sgLXMgIiRYQlBTX0NPTkZJR19GSUxFIiBdICYmIC4gJFhCUFNfQ09O RklHX0ZJTEUgJj4vZGV2L251bGwKIAotIwotIyBDaGVjayBjb25maWd1cmF0aW9uIHZhcnMgYmVm b3JlIGFueXRpbmcgZWxzZSwgYW5kIHNldCBkZWZhdWx0cyB2YXJzLgotIwotY2hlY2tfY29uZmln X3ZhcnMKKyMgaWYgWEJQU19NQVNURVJESVIgdW5zZXQsIGRlZmF1bHRzIHRvICRYQlBTX0RJU1RE SVIvbWFzdGVyZGlyLgorOiAke1hCUFNfTUFTVEVSRElSOj0kWEJQU19ESVNURElSL21hc3RlcmRp cn0KK1sgISAtZCAkWEJQU19NQVNURVJESVIgXSAmJiAgbWtkaXIgLXAgJFhCUFNfTUFTVEVSRElS CiAKLWZvciBmIGluICRYQlBTX0RJU1RESVIvY29tbW9uL3hicHMtc3JjL3NodXRpbHMvKi5zaDsg ZG8KLSAgICBbIC1yICRmIF0gJiYgLiAkZgotZG9uZQorIyBpZiBYQlBTX0hPU1RESVIgdW5zZXQs IGRlZmF1bHRzIHRvICRYQlBTX0RJU1RESVIvaG9zdGRpci4KKzogJHtYQlBTX0hPU1RESVI6PSRY QlBTX0RJU1RESVIvaG9zdGRpcn0KK1sgISAtZCAkWEJQU19IT1NURElSIF0gJiYgbWtkaXIgLXAg JFhCUFNfSE9TVERJUgorCitpZiBbIC1kICIkWEJQU19NQVNURVJESVIiIC1hICEgLXcgIiRYQlBT X01BU1RFUkRJUiIgXTsgdGhlbgorICAgIGVjaG8gIkVSUk9SOiBjYW4ndCB3cml0ZSB0byBtYXN0 ZXJkaXIgJFhCUFNfTUFTVEVSRElSLiIKKyAgICBleGl0IDEKK2VsaWYgWyAtZCAiJFhCUFNfSE9T VERJUiIgLWEgISAtdyAiJFhCUFNfSE9TVERJUiIgXTsgdGhlbgorICAgIGVjaG8gIkVSUk9SOiBj YW4ndCB3cml0ZSB0byBob3N0ZGlyOiAkWEJQU19IT1NURElSLiIKKyAgICBleGl0IDEKK2ZpCisK KyMgVHJ5IHVzaW5nIGNocm9vdC1naXQgdGhlbiBnaXQgZnJvbSB0aGUgaG9zdCBzeXN0ZW0KK2lm IGNvbW1hbmQgLXYgY2hyb290LWdpdCAmPi9kZXYvbnVsbDsgdGhlbgorICAgIFhCUFNfR0lUX0NN RD0kKGNvbW1hbmQgLXYgY2hyb290LWdpdCkKK2VsaWYgY29tbWFuZCAtdiBnaXQgJj4vZGV2L251 bGw7IHRoZW4KKyAgICBYQlBTX0dJVF9DTUQ9JChjb21tYW5kIC12IGdpdCkKK2Vsc2UKKyAgICBl Y2hvICJuZWl0aGVyIGNocm9vdC1naXQgb3IgZ2l0IGFyZSBhdmFpbGFibGUgaW4geW91ciBzeXN0 ZW0hIgorICAgIGV4aXQgMQorZmkKK3JlYWRvbmx5IFhCUFNfR0lUX0NNRAogCiBpZiBbIC1uICIk WEJQU19IT1NURElSIiBdOyB0aGVuCiAgICAgZXhwb3J0IFhCUFNfUkVQT1NJVE9SWT0kWEJQU19I T1NURElSL2JpbnBrZ3MKQEAgLTUxNiw4MCArNTMxLDYyIEBAIGZpCiBpZiBbIC16ICIkWEJQU19B TFRfUkVQT1NJVE9SWSIgXTsgdGhlbgogICAgIHB1c2hkICIkUFdEIiAmPi9kZXYvbnVsbAogICAg IGNkICRYQlBTX0RJU1RESVIKLSAgICBpZiBbIC1uICIkSU5fQ0hST09UIiBdOyB0aGVuCi0gICAg ICAgIF9naXRicmFuY2g9IiQoY2hyb290LWdpdCBzeW1ib2xpYy1yZWYgLS1zaG9ydCBIRUFEIDI+ L2Rldi9udWxsKSIKLSAgICBlbHNlCi0gICAgICAgIF9naXRicmFuY2g9IiQoJFhCUFNfR0lUX0NN RCBzeW1ib2xpYy1yZWYgLS1zaG9ydCBIRUFEIDI+L2Rldi9udWxsKSIKLSAgICBmaQotICAgIGlm IFsgLW4gIiR7X2dpdGJyYW5jaH0iIC1hICIke19naXRicmFuY2h9IiAhPSAibWFzdGVyIiBdOyB0 aGVuCisgICAgX2dpdGJyYW5jaD0iJCgkWEJQU19HSVRfQ01EIHN5bWJvbGljLXJlZiAtLXNob3J0 IEhFQUQgMj4vZGV2L251bGwpIgorICAgIGlmIFsgIiR7X2dpdGJyYW5jaH0iIC1hICIke19naXRi cmFuY2h9IiAhPSAibWFzdGVyIiBdOyB0aGVuCiAgICAgICAgIGV4cG9ydCBYQlBTX0FMVF9SRVBP U0lUT1JZPSIke19naXRicmFuY2h9IgogICAgICAgICBleHBvcnQgWEJQU19SRVBPU0lUT1JZPSIk e1hCUFNfUkVQT1NJVE9SWX0vJHtfZ2l0YnJhbmNofSIKLSAgICAgICAgaWYgWyAteiAiJElOX0NI Uk9PVCIgXTsgdGhlbgotICAgICAgICAgICAgbXNnX25vcm1hbCAiVXNpbmcgXGAkWEJQU19SRVBP U0lUT1JZXCcgYXMgbG9jYWwgcmVwb3NpdG9yeS5cbiIKLSAgICAgICAgZmkKICAgICAgZmkKICAg ICAgcG9wZCAmPi9kZXYvbnVsbAogZWxzZQogICAgIGV4cG9ydCBYQlBTX1JFUE9TSVRPUlk9IiR7 WEJQU19SRVBPU0lUT1JZfS8ke1hCUFNfQUxUX1JFUE9TSVRPUll9IgotICAgIGlmIFsgLXogIiRJ Tl9DSFJPT1QiIF07IHRoZW4KLSAgICAgICAgbXNnX25vcm1hbCAiVXNpbmcgXGAkWEJQU19SRVBP U0lUT1JZXCcgYXMgbG9jYWwgcmVwb3NpdG9yeS5cbiIKLSAgICBmaQogZmkKIAotaWYgWyAtbiAi JElOX0NIUk9PVCIgXTsgdGhlbgorcmVhZG9ubHkgWEJQU19TUkNQS0dESVI9JFhCUFNfRElTVERJ Ui9zcmNwa2dzCityZWFkb25seSBYQlBTX0NPTU1PTkRJUj0kWEJQU19ESVNURElSL2NvbW1vbgor cmVhZG9ubHkgWEJQU19TSFVUSUxTRElSPSRYQlBTX0NPTU1PTkRJUi94YnBzLXNyYy9zaHV0aWxz CityZWFkb25seSBYQlBTX1RSSUdHRVJTRElSPSRYQlBTX1NSQ1BLR0RJUi94YnBzLXRyaWdnZXJz L2ZpbGVzCityZWFkb25seSBYQlBTX0NST1NTUEZESVI9JFhCUFNfQ09NTU9ORElSL2Nyb3NzLXBy b2ZpbGVzCityZWFkb25seSBYQlBTX0JVSUxEU1RZTEVESVI9JFhCUFNfQ09NTU9ORElSL2J1aWxk LXN0eWxlCityZWFkb25seSBYQlBTX0xJQkVYRUNESVI9JFhCUFNfQ09NTU9ORElSL3hicHMtc3Jj L2xpYmV4ZWMKK3JlYWRvbmx5IFhCUFNfQlVJTERIRUxQRVJESVI9JFhCUFNfQ09NTU9ORElSL2J1 aWxkLWhlbHBlcgorCitpZiBbICIkSU5fQ0hST09UIiBdOyB0aGVuCiAgICAgcmVhZG9ubHkgWEJQ U19VSEVMUEVSX0NNRD0ieGJwcy11aGVscGVyIgotICAgIHJlYWRvbmx5IFhCUFNfSU5TVEFMTF9D TUQ9InhicHMtaW5zdGFsbCIKLSAgICByZWFkb25seSBYQlBTX1FVRVJZX0NNRD0ieGJwcy1xdWVy eSIKLSAgICByZWFkb25seSBYQlBTX1JJTkRFWF9DTUQ9InhicHMtcmluZGV4IgorICAgIHJlYWRv bmx5IFhCUFNfSU5TVEFMTF9DTUQ9InhicHMtaW5zdGFsbCAtLXJlcG9zaXRvcnk9JFhCUFNfUkVQ T1NJVE9SWSIKKyAgICByZWFkb25seSBYQlBTX1FVRVJZX0NNRD0ieGJwcy1xdWVyeSAtLXJlcG9z aXRvcnk9JFhCUFNfUkVQT1NJVE9SWSIKICAgICByZWFkb25seSBYQlBTX1JFQ09ORklHVVJFX0NN RD0ieGJwcy1yZWNvbmZpZ3VyZSIKICAgICByZWFkb25seSBYQlBTX1JFTU9WRV9DTUQ9InhicHMt cmVtb3ZlIgotICAgIHJlYWRvbmx5IFhCUFNfU1JDUEtHRElSPS92b2lkLXBhY2thZ2VzL3NyY3Br Z3MKLSAgICByZWFkb25seSBYQlBTX0NPTU1PTkRJUj0vdm9pZC1wYWNrYWdlcy9jb21tb24KKyAg ICByZWFkb25seSBYQlBTX0NIRUNLVkVSU19DTUQ9InhicHMtY2hlY2t2ZXJzIC0tcmVwb3NpdG9y eT0kWEJQU19SRVBPU0lUT1JZIgogICAgIHJlYWRvbmx5IFhCUFNfREVTVERJUj0vZGVzdGRpcgog ICAgIHJlYWRvbmx5IFhCUFNfQlVJTERESVI9L2J1aWxkZGlyCi0gICAgcmVhZG9ubHkgWEJQU19T SFVUSUxTRElSPSRYQlBTX0NPTU1PTkRJUi94YnBzLXNyYy9zaHV0aWxzCi0gICAgcmVhZG9ubHkg WEJQU19UUklHR0VSU0RJUj0kWEJQU19TUkNQS0dESVIveGJwcy10cmlnZ2Vycy9maWxlcwotICAg IHJlYWRvbmx5IFhCUFNfQ1JPU1NQRkRJUj0kWEJQU19DT01NT05ESVIvY3Jvc3MtcHJvZmlsZXMK LSAgICByZWFkb25seSBYQlBTX0JVSUxEU1RZTEVESVI9JFhCUFNfQ09NTU9ORElSL2J1aWxkLXN0 eWxlCi0gICAgcmVhZG9ubHkgWEJQU19MSUJFWEVDRElSPSRYQlBTX0NPTU1PTkRJUi94YnBzLXNy Yy9saWJleGVjCi0gICAgcmVhZG9ubHkgWEJQU19CVUlMREhFTFBFUkRJUj0kWEJQU19DT01NT05E SVIvYnVpbGQtaGVscGVyCiBlbHNlCiAgICAgcmVhZG9ubHkgWEJQU19VSEVMUEVSX0NNRD0ieGJw cy11aGVscGVyIC1yICRYQlBTX01BU1RFUkRJUiIKLSAgICByZWFkb25seSBYQlBTX0lOU1RBTExf Q01EPSJ4YnBzLWluc3RhbGwgLUMgL2Rldi9udWxsIC1jICRYQlBTX0hPU1RESVIvcmVwb2NhY2hl IC0tcmVwb3NpdG9yeT0kWEJQU19SRVBPU0lUT1JZIC1yICRYQlBTX01BU1RFUkRJUiIKLSAgICBy ZWFkb25seSBYQlBTX1FVRVJZX0NNRD0ieGJwcy1xdWVyeSAtQyAvZGV2L251bGwgLWMgJFhCUFNf SE9TVERJUi9yZXBvY2FjaGUgLWkgLS1yZXBvc2l0b3J5PSRYQlBTX1JFUE9TSVRPUlkgLXIgJFhC UFNfTUFTVEVSRElSIgotICAgIHJlYWRvbmx5IFhCUFNfUklOREVYX0NNRD0ieGJwcy1yaW5kZXgi CisgICAgcmVhZG9ubHkgWEJQU19JTlNUQUxMX0NNRD0ieGJwcy1pbnN0YWxsIC1jICRYQlBTX0hP U1RESVIvcmVwb2NhY2hlIC0tcmVwb3NpdG9yeT0kWEJQU19SRVBPU0lUT1JZIC1yICRYQlBTX01B U1RFUkRJUiIKKyAgICByZWFkb25seSBYQlBTX1FVRVJZX0NNRD0ieGJwcy1xdWVyeSAtYyAkWEJQ U19IT1NURElSL3JlcG9jYWNoZSAtLXJlcG9zaXRvcnk9JFhCUFNfUkVQT1NJVE9SWSAtciAkWEJQ U19NQVNURVJESVIiCiAgICAgcmVhZG9ubHkgWEJQU19SRUNPTkZJR1VSRV9DTUQ9InhicHMtcmVj b25maWd1cmUgLXIgJFhCUFNfTUFTVEVSRElSIgogICAgIHJlYWRvbmx5IFhCUFNfUkVNT1ZFX0NN RD0ieGJwcy1yZW1vdmUgLXIgJFhCUFNfTUFTVEVSRElSIgotICAgIHJlYWRvbmx5IFhCUFNfU1JD UEtHRElSPSRYQlBTX0RJU1RESVIvc3JjcGtncwotICAgIHJlYWRvbmx5IFhCUFNfQ09NTU9ORElS PSRYQlBTX0RJU1RESVIvY29tbW9uCi0gICAgcmVhZG9ubHkgWEJQU19TSFVUSUxTRElSPSRYQlBT X0NPTU1PTkRJUi94YnBzLXNyYy9zaHV0aWxzCisgICAgcmVhZG9ubHkgWEJQU19DSEVDS1ZFUlNf Q01EPSJ4YnBzLWNoZWNrdmVycyAtLXJlcG9zaXRvcnk9JFhCUFNfUkVQT1NJVE9SWSIKICAgICBy ZWFkb25seSBYQlBTX0RFU1RESVI9JFhCUFNfTUFTVEVSRElSL2Rlc3RkaXIKICAgICByZWFkb25s eSBYQlBTX0JVSUxERElSPSRYQlBTX01BU1RFUkRJUi9idWlsZGRpcgotICAgIHJlYWRvbmx5IFhC UFNfVFJJR0dFUlNESVI9JFhCUFNfU1JDUEtHRElSL3hicHMtdHJpZ2dlcnMvZmlsZXMKLSAgICBy ZWFkb25seSBYQlBTX0NST1NTUEZESVI9JFhCUFNfQ09NTU9ORElSL2Nyb3NzLXByb2ZpbGVzCi0g ICAgcmVhZG9ubHkgWEJQU19CVUlMRFNUWUxFRElSPSRYQlBTX0NPTU1PTkRJUi9idWlsZC1zdHls ZQotICAgIHJlYWRvbmx5IFhCUFNfTElCRVhFQ0RJUj0kWEJQU19DT01NT05ESVIveGJwcy1zcmMv bGliZXhlYwotICAgIHJlYWRvbmx5IFhCUFNfQlVJTERIRUxQRVJESVI9JFhCUFNfQ09NTU9ORElS L2J1aWxkLWhlbHBlcgogZmkKK3JlYWRvbmx5IFhCUFNfUklOREVYX0NNRD0ieGJwcy1yaW5kZXgi CiByZWFkb25seSBYQlBTX0ZFVENIX0NNRD0ieGJwcy1mZXRjaCIKIHJlYWRvbmx5IFhCUFNfRElH RVNUX0NNRD0ieGJwcy1kaWdlc3QiCiByZWFkb25seSBYQlBTX0NNUFZFUl9DTUQ9InhicHMtdWhl bHBlciBjbXB2ZXIiCiAKIHJlYWRvbmx5IFhCUFNfVEFSR0VUPSIkMSIKLWlmIFsgLW4gIiQyIiBd OyB0aGVuCitpZiBbICIkMiIgXTsgdGhlbgogICAgIFhCUFNfVEFSR0VUX1BLRz0iJHsyIyMqL30i CiBmaQogCi1jaHJvb3RfY2hlY2soKSB7Ci0gICAgaWYgWyAtZiAkWEJQU19NQVNURVJESVIvLnhi cHNfY2hyb290X2luaXQgLW8gIiRYQlBTX0NIUk9PVF9DTUQiID0gImV0aGVyZWFsIiBdOyB0aGVu Ci0gICAgICAgIGV4cG9ydCBDSFJPT1RfUkVBRFk9MQotICAgIGZpCi19Ci0KKyMgQ2hlY2sgZm9y IENIUk9PVF9SRUFEWSBhbmQgc2V0IHVwIFhCUFNfQVJDSCBlbnZpcm9ubWVudCB2YXIgZm9yIHhi cHMuCiBjaHJvb3RfY2hlY2sKK2NoZWNrX25hdGl2ZV9hcmNoCiAKKyMgUmVjb25maWd1cmUgcGtn cyBmb3IgMzJiaXQgb24geDg2XzY0IGFuZCByZWV4ZWMgaXRzZWxmLgorIyBYWFg6IGhvdyBhYm91 dCAzMmJpdCB1c2VybGFuZCBvbiA2NGJpdCBDUFVzPyAocHBjLCBhcm0sIGV0YykuCiBpZiBbIC16 ICIkWEJQU19SRUlOSVQiIC1hIC1zICRYQlBTX01BU1RFUkRJUi8ueGJwc19jaHJvb3RfaW5pdCBd OyB0aGVuCi0gICAgZXhwb3J0IFhCUFNfQVJDSD0ke1hCUFNfQVJDSDotJChjYXQgJFhCUFNfTUFT VEVSRElSLy54YnBzX2Nocm9vdF9pbml0KX0KKyAgICBleHBvcnQgWEJQU19BUkNIPSR7WEJQU19B UkNIOi0kKDwkWEJQU19NQVNURVJESVIvLnhicHNfY2hyb290X2luaXQpfQogICAgIGlmIFtbICRY QlBTX01BQ0hJTkUgPT0geDg2XzY0KiBdXSAmJiBbWyAkWEJQU19BUkNIID09IGk2ODYqIF1dOyB0 aGVuCiAgICAgICAgICMgcmVjb25maWd1cmUgcGtncyB2aWEgbGludXgzMgogICAgICAgICBsaW51 eDMyIHhicHMtcmVjb25maWd1cmUgLXIgJHtYQlBTX01BU1RFUkRJUn0gLWEgJj4vZGV2L251bGwK QEAgLTU5OCwyMCArNTk1LDIxIEBAIGlmIFsgLXogIiRYQlBTX1JFSU5JVCIgLWEgLXMgJFhCUFNf TUFTVEVSRElSLy54YnBzX2Nocm9vdF9pbml0IF07IHRoZW4KICAgICAgICAgZXhlYyBsaW51eDMy ICQwICR7WEJQU19PUFRJT05TfSAkQAogICAgIGZpCiBmaQotaWYgWyAtbiAiJFhCUFNfQVJDSCIg XTsgdGhlbgoraWYgWyAiJFhCUFNfQVJDSCIgXTsgdGhlbgogICAgIGV4cG9ydCBYQlBTX01BQ0hJ TkU9JFhCUFNfQVJDSAogZmkKKyMgQXQgdGhpcyBwb2ludCBpZiBYQlBTX1RBUkdFVF9NQUNISU5F IGlzbid0IGRlZmluZWQgd2UgYXNzdW1lCisjIGl0J3MgYSBuYXRpdmUgYnVpbGQuCiBpZiBbIC16 ICIkWEJQU19UQVJHRVRfTUFDSElORSIgXTsgdGhlbgotICAgIGV4cG9ydCBYQlBTX1RBUkdFVF9N QUNISU5FPSR7WEJQU19BUkNIOj0kWEJQU19NQUNISU5FfQorICAgICAgICBleHBvcnQgWEJQU19U QVJHRVRfTUFDSElORT0kWEJQU19NQUNISU5FCiBmaQogCi0KIGV4cG9ydCBYQlBTX1NIVVRJTFNE SVIgWEJQU19DUk9TU1BGRElSIFhCUFNfVFJJR0dFUlNESVIgXAotICAgIFhCUFNfU1JDUEtHRElS IFhCUFNfQ09NTU9ORElSIFhCUFNfQlVJTERESVIgWEJQU19SRVBPX0RFTFRBUyBcCisgICAgWEJQ U19TUkNQS0dESVIgWEJQU19DT01NT05ESVIgWEJQU19CVUlMRERJUiBcCiAgICAgWEJQU19SRVBP U0lUT1JZIFhCUFNfQUxUX1JFUE9TSVRPUlkgWEJQU19TUkNESVNURElSIFhCUFNfRElHRVNUX0NN RCBcCiAgICAgWEJQU19VSEVMUEVSX0NNRCBYQlBTX0lOU1RBTExfQ01EIFhCUFNfUVVFUllfQ01E IFhCUFNfQlVJTERfT05MWV9PTkVfUEtHIFwKLSAgICBYQlBTX1JJTkRFWF9DTUQgWEJQU19SRUNP TkZJR1VSRV9DTUQgWEJQU19SRU1PVkVfQ01EIFwKLSAgICBYQlBTX0NNUFZFUl9DTUQgWEJQU19G RVRDSF9DTUQgWEJQU19WRVJTSU9OIFhCUFNfQVBJVkVSIFhCUFNfQlVJTERTVFlMRURJUiBcCisg ICAgWEJQU19SSU5ERVhfQ01EIFhCUFNfUkVDT05GSUdVUkVfQ01EIFhCUFNfUkVNT1ZFX0NNRCBY QlBTX0NIRUNLVkVSU19DTUQgXAorICAgIFhCUFNfQ01QVkVSX0NNRCBYQlBTX0ZFVENIX0NNRCBY QlBTX1ZFUlNJT04gWEJQU19CVUlMRFNUWUxFRElSIFwKICAgICBYQlBTX0NQUEZMQUdTIFhCUFNf Q0ZMQUdTIFhCUFNfQ1hYRkxBR1MgWEJQU19GRkxBR1MgWEJQU19MREZMQUdTIFwKICAgICBYQlBT X01BS0VKT0JTIFhCUFNfQlVJTERfRk9SQ0VNT0RFIFhCUFNfVVNFX0dJVF9SRVZTIFhCUFNfREVC VUdfUEtHUyBcCiAgICAgWEJQU19DSEVDS19QS0dTIFhCUFNfQ0NBQ0hFIFhCUFNfRElTVENDIFhC UFNfRElTVENDX0hPU1RTIFhCUFNfU0tJUF9ERVBTIFwKQEAgLTYyOSw3ICs2MjcsNyBAQCBmb3Ig aSBpbiBSRVBPU0lUT1JZIERFU1RESVIgQlVJTERESVIgU1JDRElTVERJUjsgZG8KICAgICB1bnNl dCB2YWwKIGRvbmUKIAotIyBBIHRlbXBvcmFyeSBtYXN0ZXJkaXIgcmVxdWlyZXMgeGJwcy11Y2hy b290KDgpIGFuZCAtTyB0byB1c2Ugb3ZlcmxheWZzCisjIEEgdGVtcG9yYXJ5IG1hc3RlcmRpciBy ZXF1aXJlcyB4YnBzLXVjaHJvb3QoMSkgYW5kIC1PIHRvIHVzZSBvdmVybGF5ZnMKICMgb24gdG1w ZnMgKGF2YWlsYWJsZSB3aXRoIHhicHMtMC40NSkuCiBpZiBbIC16ICIkSU5fQ0hST09UIiAtYSAt biAiJFhCUFNfVEVNUF9NQVNURVJESVIiIF07IHRoZW4KICAgICBleHBvcnQgWEJQU19DSFJPT1Rf Q01EPSJ1Y2hyb290IgpAQCAtNjQwLDMxICs2MzgsMzUgQEAgZmkKICMKIGlmIFsgLXogIiRJTl9D SFJPT1QiIF07IHRoZW4KICAgICAjIEluIG5vbiBjaHJvb3QgY2FzZSBhbHdheXMgcHJlZmVyIGhv c3QgdG9vbHMuCi0gICAgTVlQQVRIPSIkWEJQU19NQVNURVJESVIvdXNyL2JpbjokWEJQU19NQVNU RVJESVIvdXNyL3NiaW4iCi0gICAgZXhwb3J0IFBBVEg9IiRQQVRIOiRNWVBBVEgiCi1lbHNlCi0g ICAgTVlQQVRIPSIvdXNyL2JpbjovdXNyL3NiaW46L3Vzci9sb2NhbC9iaW46L3Vzci9sb2NhbC9z YmluIgotICAgIGV4cG9ydCBQQVRIPSIkTVlQQVRIIgotICAgIGlmIFsgLW4gIiRYQlBTX0NDQUNI RSIgXTsgdGhlbgotICAgICAgICBDQ0FDSEVQQVRIPSIvdXNyL2xpYi9jY2FjaGUvYmluIgotICAg ICAgICBleHBvcnQgQ0NBQ0hFX0RJUj0iJFhCUFNfSE9TVERJUi9jY2FjaGUiCi0gICAgICAgICMg QXZvaWQgbm90IHVzaW5nIGNhY2hlZCBmaWxlcyBqdXN0IGR1ZSB0byBjb21waWxlciBtdGltZQot ICAgICAgICAjIGNoYW5nZXMgd2hlbiBlLmcuIGJvb3RzdHJhcHBpbmcKLSAgICAgICAgZXhwb3J0 IENDQUNIRV9DT01QSUxFUkNIRUNLPWNvbnRlbnQgQ0NBQ0hFX0NPTVBSRVNTPTEKLSAgICAgICAg ZXhwb3J0IFBBVEg9IiRDQ0FDSEVQQVRIOiRQQVRIIgotICAgICAgICBta2RpciAtcCAkQ0NBQ0hF X0RJUgotICAgIGZpCi0gICAgaWYgWyAtbiAiJFhCUFNfRElTVENDIiBdOyB0aGVuCi0gICAgICAg IGlmIFsgLW4gIiRYQlBTX0NDQUNIRSIgXTsgdGhlbgotICAgICAgICAgICAgZXhwb3J0IENDQUNI RV9QUkVGSVg9Ii91c3IvYmluL2Rpc3RjYyIKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgRElT VENDUEFUSD0iL3Vzci9saWIvZGlzdGNjL2JpbiIKLSAgICAgICAgICAgIGV4cG9ydCBQQVRIPSIk RElTVENDUEFUSDokUEFUSCIKLSAgICAgICAgZmkKLSAgICAgICAgZXhwb3J0IERJU1RDQ19ESVI9 IiRYQlBTX0hPU1RESVIvZGlzdGNjLSR7WEJQU19DUk9TU19CVUlMRDotJHtYQlBTX01BQ0hJTkV9 fSIKLSAgICAgICAgZXhwb3J0IERJU1RDQ19IT1NUUz0iJFhCUFNfRElTVENDX0hPU1RTIgotICAg ICAgICBta2RpciAtcCAkRElTVENDX0RJUgorICAgIGV4cG9ydCBQQVRIPSIkUEFUSDokWEJQU19N QVNURVJESVIvdXNyL2JpbiIKK2ZpCisKKyMKKyMgU2V0IHVwIGNjYWNoZQorIworaWYgWyAiJFhC UFNfQ0NBQ0hFIiBdOyB0aGVuCisgICAgZXhwb3J0IENDQUNIRVBBVEg9Ii91c3IvbGliL2NjYWNo ZS9iaW4iCisgICAgZXhwb3J0IENDQUNIRV9ESVI9IiRYQlBTX0hPU1RESVIvY2NhY2hlIgorICAg ICMgQXZvaWQgbm90IHVzaW5nIGNhY2hlZCBmaWxlcyBqdXN0IGR1ZSB0byBjb21waWxlciBtdGlt ZQorICAgICMgY2hhbmdlcyB3aGVuIGUuZy4gYm9vdHN0cmFwcGluZworICAgIGV4cG9ydCBDQ0FD SEVfQ09NUElMRVJDSEVDSz1jb250ZW50IENDQUNIRV9DT01QUkVTUz0xCisgICAgZXhwb3J0IFBB VEg9IiRDQ0FDSEVQQVRIOiRQQVRIIgorICAgIG1rZGlyIC1wICRDQ0FDSEVfRElSCitmaQorCisj CisjIFNldCB1cCBkaXN0Y2MKKyMKK2lmIFsgIiRYQlBTX0RJU1RDQyIgXTsgdGhlbgorICAgIGlm IFsgIiRYQlBTX0NDQUNIRSIgXTsgdGhlbgorICAgICAgICBleHBvcnQgQ0NBQ0hFX1BSRUZJWD0i L3Vzci9iaW4vZGlzdGNjIgorICAgIGVsc2UKKyAgICAgICAgRElTVENDUEFUSD0iL3Vzci9saWIv ZGlzdGNjL2JpbiIKKyAgICAgICAgZXhwb3J0IFBBVEg9IiRESVNUQ0NQQVRIOiRQQVRIIgogICAg IGZpCisgICAgZXhwb3J0IERJU1RDQ19ESVI9IiRYQlBTX0hPU1RESVIvZGlzdGNjLSR7WEJQU19D Uk9TU19CVUlMRDotJHtYQlBTX01BQ0hJTkV9fSIKKyAgICBleHBvcnQgRElTVENDX0hPU1RTPSIk WEJQU19ESVNUQ0NfSE9TVFMiCisgICAgbWtkaXIgLXAgJERJU1RDQ19ESVIKIGZpCiAKIGNoZWNr X2J1aWxkX3JlcXVpcmVtZW50cwpAQCAtNjc1LDYgKzY3NywxMiBAQCBpZiBbIC16ICIkSU5fQ0hS T09UIiBdOyB0aGVuCiAgICAgICAgIHNldHVwX2Rpc3RmaWxlc19taXJyb3IKICAgICBmaQogZmkK KyMKKyMgUmVhZCBmdW5jcyBmcm9tIGhlbHBlcnMKKyMKK2ZvciBmIGluICR7WEJQU19TSFVUSUxT RElSfS8qLnNoOyBkbworICAgIFsgLXIgIiRmIiBdICYmIC4gJGYKK2RvbmUKIAogcmVjb25maWd1 cmVfYm9vdHN0cmFwX3BrZ3MKIApAQCAtNjg5LDE4ICs2OTcsMjQgQEAgY2FzZSAiJFhCUFNfVEFS R0VUIiBpbgogICAgICAgICAjIGJvb3RzdHJhcCBmcm9tIHNvdXJjZXMKICAgICAgICAgIyBjaGVj ayBmb3IgcmVxdWlyZWQgaG9zdCB1dGlscwogICAgICAgICBjaGVja19yZXFob3N0X3V0aWxzIGJv b3RzdHJhcAotICAgICAgICBbICEgLWQgJFhCUFNfU1JDUEtHRElSL2Jhc2UtY2hyb290IF0gJiYg XAotICAgICAgICAgICAgbXNnX2Vycm9yICJDYW5ub3QgZmluZCAkWEJQU19TUkNQS0dESVIvYmFz ZS1jaHJvb3QgZGlyZWN0b3J5IVxuIgorICAgICAgICBbWyAkWEJQU19NQUNISU5FID1+IG11c2wg XV0gJiYgc3ViYXJjaD0iLW11c2wiCisgICAgICAgIFsgISAtZCAkWEJQU19TUkNQS0dESVIvYmFz ZS1jaHJvb3Qke3N1YmFyY2h9IF0gJiYgXAorICAgICAgICAgICAgbXNnX2Vycm9yICJDYW5ub3Qg ZmluZCAkWEJQU19TUkNQS0dESVIvYmFzZS1jaHJvb3Qke3N1YmFyY2h9IGRpcmVjdG9yeSFcbiIK ICAgICAgICAgYm9vdHN0cmFwX3Zwa2c9JHtYQlBTX01BU1RFUkRJUn0vZXRjL3hicHMuZC9ib290 c3RyYXAtdnBrZ3MuY29uZgogICAgICAgICBta2RpciAtcCAke1hCUFNfTUFTVEVSRElSfS9ldGMv eGJwcy5kCiAgICAgICAgIGlmIFsgISAtcyAke2Jvb3RzdHJhcF92cGtnfSBdOyB0aGVuCiAgICAg ICAgICAgICAjIEZvb2wgeGJwcyB0byByZXNvbHZlIGRlcGVuZGVuY2llcy4KLSAgICAgICAgICAg IGVjaG8gJ3ZpcnR1YWxwa2c9bGliZ2NjLTQuNC4wXzE6YmFzZS1maWxlcycgPj4gJHtib290c3Ry YXBfdnBrZ30KLSAgICAgICAgICAgIGVjaG8gJ3ZpcnR1YWxwa2c9bGlic3RkYysrLTQuNC4wXzE6 YmFzZS1maWxlcycgPj4gJHtib290c3RyYXBfdnBrZ30KKyAgICAgICAgICAgIGVjaG8gJ3ZpcnR1 YWxwa2c9bGliZ2NjOmJhc2UtZmlsZXMnID4+ICR7Ym9vdHN0cmFwX3Zwa2d9CisgICAgICAgICAg ICBlY2hvICd2aXJ0dWFscGtnPWxpYnN0ZGMrKzpiYXNlLWZpbGVzJyA+PiAke2Jvb3RzdHJhcF92 cGtnfQogICAgICAgICBmaQotICAgICAgICAkWEJQU19MSUJFWEVDRElSL2J1aWxkLnNoIGJhc2Ut Y2hyb290IGJhc2UtY2hyb290ICRYQlBTX1RBUkdFVCB8fCBleGl0IDEKKyAgICAgICAgKAorICAg ICAgICAgICAgZXhwb3J0IFhCUFNfQVJDSD0kWEJQU19NQUNISU5FCisgICAgICAgICAgICBleHBv cnQgWEJQU19TS0lQX1JFTU9URVJFUE9TPTEKKyAgICAgICAgICAgICRYQlBTX0xJQkVYRUNESVIv YnVpbGQuc2ggXAorICAgICAgICAgICAgICAgIGJhc2UtY2hyb290JHtzdWJhcmNofSBiYXNlLWNo cm9vdCR7c3ViYXJjaH0gJFhCUFNfVEFSR0VUIHx8IGV4aXQgMQorICAgICAgICApIHx8IGV4aXQg MQogICAgICAgICBbIC1kICRYQlBTX01BU1RFUkRJUiBdICYmIHJtIC1yZiAkWEJQU19NQVNURVJE SVIKLSAgICAgICAgaW5zdGFsbF9iYm9vdHN0cmFwIGJvb3RzdHJhcAorICAgICAgICBpbnN0YWxs X2Jib290c3RyYXAgJHtYQlBTX1RBUkdFVF9QS0c6PSRYQlBTX01BQ0hJTkV9CiAgICAgICAgIDs7 CiAgICAgYm9vdHN0cmFwLXVwZGF0ZSkKICAgICAgICAgaWYgWyAtbiAiJENIUk9PVF9SRUFEWSIg LWEgLXogIiRJTl9DSFJPT1QiIF07IHRoZW4KQEAgLTc4MCw3ICs3OTQsNyBAQCBjYXNlICIkWEJQ U19UQVJHRVQiIGluCiAgICAgICAgIHNob3dfcGtnCiAgICAgICAgIDs7CiAgICAgc2hvdy1hdmFp bCkKLSAgICAgICAgcmVhZF9wa2cKKyAgICAgICAgcmVhZF9wa2cgJj4vZGV2L251bGwKICAgICAg ICAgc2hvd19hdmFpbAogICAgICAgICA7OwogICAgIHNob3ctZmlsZXMpCkBAIC04NTcsNyArODcx LDcgQEAgY2FzZSAiJFhCUFNfVEFSR0VUIiBpbgogICAgICAgICBidWxrX2J1aWxkCiAgICAgICAg IDs7CiAgICAgc2hvdy1zeXMtdXBkYXRlcykKLSAgICAgICAgYnVsa19idWlsZCAtaQorICAgICAg ICBidWxrX2J1aWxkIC1JCiAgICAgICAgIDs7CiAgICAgc29ydC1kZXBlbmRlbmNpZXMpCiAgICAg ICAgIGJ1bGtfc29ydGRlcHMgJHtALyRYQlBTX1RBUkdFVC99CkBAIC04NjYsNyArODgwLDcgQEAg Y2FzZSAiJFhCUFNfVEFSR0VUIiBpbgogICAgICAgICBidWxrX3VwZGF0ZQogICAgICAgICA7Owog ICAgIHVwZGF0ZS1zeXMpCi0gICAgICAgIGJ1bGtfdXBkYXRlIC1pCisgICAgICAgIGJ1bGtfdXBk YXRlIC1JCiAgICAgICAgIDs7CiAgICAgdXBkYXRlLWNoZWNrKQogICAgICAgICByZWFkX3BrZyBp Z25vcmUtcHJvYmxlbXMK --===============8006880849391992807==--