From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=0.7 required=5.0 tests=ALL_TRUSTED,URIBL_BLACK autolearn=no autolearn_force=no version=3.4.4 Received: (qmail 31527 invoked from network); 26 Dec 2020 18:17:26 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 26 Dec 2020 18:17:26 -0000 Content-Type: multipart/mixed; boundary="===============7353302755009442027==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_=5BRFC_WIP=5D_crosstoolchain_build-style?= To: ml@inbox.vuxu.org From: q66 Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Sat, 26 Dec 2020 19:17:23 +0100 List-Id: Message-ID: <20201226181723.xfihh7aC9tWAf3wIn0KkvP3DTYlqUzvF0YXcrihB5_Q@z> GitHub notification mails are now in MIME to allow UTF8. --===============7353302755009442027== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgcTY2IGFnYWluc3QgbWFzdGVyIG9u IHRoZSB2b2lkLXBhY2thZ2VzIHJlcG9zaXRvcnkKCmh0dHBzOi8vZ2l0aHViLmNvbS9xNjYvdm9p ZC1wYWNrYWdlcyBjcm9zcy1zdHlsZQpodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lk LXBhY2thZ2VzL3B1bGwvMjc0MTIKCltSRkMgV0lQXSBjcm9zc3Rvb2xjaGFpbiBidWlsZC1zdHls ZQpUaGlzIGludHJvZHVjZXMgYSBidWlsZC1zdHlsZSBmb3Igc3lzdGVtIGNyb3NzdG9vbGNoYWlu cy4gSXQgb25seSB3b3JrcywgYW5kIHdpbGwgb25seSB3b3JrLCBmb3IgdG9vbGNoYWlucyB0YXJn ZXRpbmcgVm9pZCBhbmQgb25lIG9mIGl0cyBzdGFuZGFyZCBsaWJyYXJpZXMuIFRoZSBub25lIHRh cmdldHMgYW5kIHN0dWZmIGxpa2UgbWluZ3cgYXJlIGV4cGxpY2l0bHkgYSBub24tZ29hbCwgdG8g cmVkdWNlIHRoZSBhbW91bnQgb2YgbWFnaWMgd2UgaGF2ZSB0byBkby4NCg0KVGhpcyBoYXMgYSBi dW5jaCBvZiBhZHZhbnRhZ2VzOg0KDQotIGNyb3NzdG9vbGNoYWluIHRlbXBsYXRlcyBjYW4gbm93 IGJlIHNtYWxsIGFuZCBzaW1wbGUNCi0gY3Jvc3N0b29sY2hhaW5zIHdyaXRlbiB3aXRoIHRoaXMg YnVpbGQtc3R5bGUgd2lsbCBubyBsb25nZXIgbWVzcyB1cCBtYXN0ZXJkaXJzIGxpa2UgdGhlIGV4 aXN0aW5nIG9uZXMgZG87IHlvdSBjYW4gc2FmZWx5IGJ1aWxkIHlvdXIgc3R1ZmYgd2l0aG91dCBg LXRgIGFuZCB5b3VyIGBtYXN0ZXJkaXJgIHdpbGwgYmUgcHJpc3RpbmUNCi0gdW5pZmljYXRpb24g b2Ygb3B0aW9ucyBwYXNzZWQgdG8gYGdjY2AvbGliYy9gYmludXRpbHNgIGNvbmZpZ3VyZSwgYXMg bXVjaCBhcyBwb3NzaWJsZQ0KLSByZWR1Y2VkIHJlcGVhdGVkIGJvaWxlcnBsYXRlIGNvZGUgYmV0 d2VlbiBpbmRpdmlkdWFsIGNyb3NzdG9vbGNoYWlucw0KLSBgY2NhY2hlYCBmcmllbmRseQ0KLSBl YXNpZXIgdXBncmFkZXMsIGVhc2llciBtYWludGVuYW5jZSwgZXRjDQoNClRoaXMgaXMgY3VycmVu dGx5IGluY29tcGxldGUuIFRoZXNlIHRoaW5ncyBhcmUgbGVmdCB0byBkbzoNCg0KLSBbeF0gQWRk IG11c2wgc3VwcG9ydA0KLSBbeF0gQ2xlYW4gdXAgdGhlIGNvbmZpZ3VyZSBwYXJhbXMsIG9ubHkg a2VlcCB0aGUgZ2VuZXJpYyBvbmVzIGluIHRoZSBidWlsZC1zdHlsZSwgc3BlY2lmaWMgb25lcyB3 aWxsIGdvIGludG8gaW5kaXZpZHVhbCBjcm9zc3Rvb2xjaGFpbnMgKHRoaXMgb25lIGlzIGxhcmdl bHkgYmFzZWQgb24gd2hhdCB0aGUgYWFyY2g2NCBvbmUgd2FzIGRvaW5nKQ0KLSBbeF0gNjQtYml0 IGNyb3NzIG9uIDMyLWJpdCBob3N0cyBpcyBwcm9iYWJseSBhY3R1YWxseSBmaW5lIGluIGdlbmVy YWwsIHdlIGp1c3QgbmVlZCB0byBlbmFibGUgaXQNCi0gfn5BbGxvdyBnbGliYyBjcm9zc3Rvb2xj aGFpbnMgb24gbXVzbH5+ICh0aGlzIG5lZWRzIGBnbGliY2AgMi4zMiBzbyBpdCB3aWxsIGJlIGRv bmUgbGF0ZXIpDQoNClRvb2xjaGFpbiByZXdyaXRlIFRPRE86DQoNCi0gW3hdIGBjcm9zcy1hYXJj aDY0LWxpbnV4LWdudWANCi0gW3hdIGBjcm9zcy1hYXJjaDY0LWxpbnV4LW11c2xgDQotIFt4XSBg Y3Jvc3MtYXJtLWxpbnV4LWdudWVhYmlgDQotIFt4XSBgY3Jvc3MtYXJtLWxpbnV4LW11c2xlYWJp YA0KLSBbeF0gYGNyb3NzLWFybS1saW51eC1nbnVlYWJpaGZgDQotIFt4XSBgY3Jvc3MtYXJtLWxp bnV4LW11c2xlYWJpaGZgDQotIFt4XSBgY3Jvc3MtYXJtdjdsLWxpbnV4LWdudWVhYmloZmANCi0g W3hdIGBjcm9zcy1hcm12N2wtbGludXgtbXVzbGVhYmloZmANCi0gW3hdIGBjcm9zcy1pNjg2LXBj LWxpbnV4LWdudWANCi0gW3hdIGBjcm9zcy1pNjg2LWxpbnV4LW11c2xgDQotIFt4XSBgY3Jvc3Mt bWlwcy1saW51eC1tdXNsYA0KLSBbeF0gYGNyb3NzLW1pcHMtbGludXgtbXVzbGhmYA0KLSBbeF0g YGNyb3NzLW1pcHNlbC1saW51eC1tdXNsYA0KLSBbeF0gYGNyb3NzLW1pcHNlbC1saW51eC1tdXNs aGZgDQotIFsgXSBgY3Jvc3MtcG93ZXJwYy1saW51eC1nbnVgDQotIFsgXSBgY3Jvc3MtcG93ZXJw Yy1saW51eC1tdXNsYA0KLSBbIF0gYGNyb3NzLXBvd2VycGNsZS1saW51eC1nbnVgDQotIFsgXSBg Y3Jvc3MtcG93ZXJwY2xlLWxpbnV4LW11c2xgDQotIFsgXSBgY3Jvc3MtcG93ZXJwYzY0LWxpbnV4 LWdudWANCi0gWyBdIGBjcm9zcy1wb3dlcnBjNjQtbGludXgtbXVzbGANCi0gWyBdIGBjcm9zcy1w b3dlcnBjNjRsZS1saW51eC1nbnVgDQotIFsgXSBgY3Jvc3MtcG93ZXJwYzY0bGUtbGludXgtbXVz bGANCi0gWyBdIGBjcm9zcy14ODZfNjQtbGludXgtZ251YA0KLSBbIF0gYGNyb3NzLXg4Nl82NC1s aW51eC1tdXNsYA0KDQpGb3Igbm93LCBwb3N0aW5nIGZvciBpbnB1dC4NCg0KQER1bmNhZW4gQGxl YWhuZXVraXJjaGVuIEBwdWxsbW9sbCBAZXJpY29uciBAdm9pZC1saW51eC9wa2ctY29tbWl0dGVy cyANCg0KW2NpIHNraXBdCgpBIHBhdGNoIGZpbGUgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vdm9p ZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwvMjc0MTIucGF0Y2ggaXMgYXR0YWNoZWQ= --===============7353302755009442027== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-cross-style-27412.patch" RnJvbSBkODUwOTY3ZDViMzJjYTU3OTk0NGFjYzQ1ZTFmYjllZWJhMTA0NDVlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBxNjYgPGRhbmllbEBvY3RhZm9yZ2Uub3JnPgpEYXRlOiBGcmks IDI1IERlYyAyMDIwIDE0OjU4OjM4ICswMTAwClN1YmplY3Q6IFtQQVRDSCAwMS8yNl0gZ2NjOiB1 c2UgY29uc2lzdGVudCBwYXRjaCBsZXZlbCBmb3IgbXVzbCBwYXRjaGVzCgpuZWVkZWQgZm9yIGNy b3NzIGJ1aWxkIHN0eWxlCi0tLQogc3JjcGtncy9nY2MvZmlsZXMvbGliZ25hcmwtbXVzbC5wYXRj aCB8ICA4ICsrKystLS0tCiBzcmNwa2dzL2djYy9maWxlcy9saWJzc3AtbXVzbC5wYXRjaCAgIHwg MTIgKysrKysrLS0tLS0tCiBzcmNwa2dzL2djYy90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgIHwg IDQgKystLQogMyBmaWxlcyBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2djYy9maWxlcy9saWJnbmFybC1tdXNsLnBhdGNoIGIv c3JjcGtncy9nY2MvZmlsZXMvbGliZ25hcmwtbXVzbC5wYXRjaAppbmRleCAzMWQzOTYwN2VhNC4u NWVkOWYxNmY1NTggMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvZ2NjL2ZpbGVzL2xpYmduYXJsLW11c2wu cGF0Y2gKKysrIGIvc3JjcGtncy9nY2MvZmlsZXMvbGliZ25hcmwtbXVzbC5wYXRjaApAQCAtMyw4 ICszLDggQEAgVXBzdHJlYW06IFVua25vd24KIFJlYXNvbjogUGF0Y2ggbGliZ25hcmwgdG8gbm90 IHVzZSBmdW5jdGlvbiBtaXNzaW5nIGZyb20gbXVzbC4KIAogZGlmZiAtcnVwIGdjYy04LjIuMC9n Y2MvYWRhL2xpYmduYXJsL3Mtb3NpbnRlX19saW51eC5hZHMgZ2NjLTguMi4wLW5ldy9nY2MvYWRh L2xpYmduYXJsL3Mtb3NpbnRlX19saW51eC5hZHMKLS0tLSBnY2MtOC4yLjAvZ2NjL2FkYS9saWJn bmFybC9zLW9zaW50ZV9fbGludXguYWRzCTIwMTgtMDEtMTEgMDA6NTU6MjUuMDAwMDAwMDAwIC0w ODAwCi0rKysgZ2NjLTguMi4wLW5ldy9nY2MvYWRhL2xpYmduYXJsL3Mtb3NpbnRlX19saW51eC5h ZHMJMjAxOC0xMS0wMSAxNjoxNjoyMy4zNzI0NTI5NTEgLTA3MDAKKy0tLSBnY2MvYWRhL2xpYmdu YXJsL3Mtb3NpbnRlX19saW51eC5hZHMJMjAxOC0wMS0xMSAwMDo1NToyNS4wMDAwMDAwMDAgLTA4 MDAKKysrKyBnY2MvYWRhL2xpYmduYXJsL3Mtb3NpbnRlX19saW51eC5hZHMJMjAxOC0xMS0wMSAx NjoxNjoyMy4zNzI0NTI5NTEgLTA3MDAKIEBAIC0zOTQsMTIgKzM5NCw2IEBAIHBhY2thZ2UgU3lz dGVtLk9TX0ludGVyZmFjZSBpcwogICAgIFBUSFJFQURfUldMT0NLX1BSRUZFUl9XUklURVJfTlAg ICAgICAgICAgICAgIDogY29uc3RhbnQgOj0gMTsKICAgICBQVEhSRUFEX1JXTE9DS19QUkVGRVJf V1JJVEVSX05PTlJFQ1VSU0lWRV9OUCA6IGNvbnN0YW50IDo9IDI7CkBAIC0zMSw4ICszMSw4IEBA IGRpZmYgLXJ1cCBnY2MtOC4yLjAvZ2NjL2FkYS9saWJnbmFybC9zLW9zaW50ZV9fbGludXguYWRz IGdjYy04LjIuMC1uZXcvZ2NjL2FkYS9sCiAgICAgICAgc2NoZWRfcHJpb3JpdHkgOiBpbnQ7ICAt LSAgc2NoZWR1bGluZyBwcmlvcml0eQogICAgIGVuZCByZWNvcmQ7CiBkaWZmIC1ydXAgZ2NjLTgu Mi4wL2djYy9hZGEvbGliZ25hcmwvcy10YXByb3BfX2xpbnV4LmFkYiBnY2MtOC4yLjAtbmV3L2dj Yy9hZGEvbGliZ25hcmwvcy10YXByb3BfX2xpbnV4LmFkYgotLS0tIGdjYy04LjIuMC9nY2MvYWRh L2xpYmduYXJsL3MtdGFwcm9wX19saW51eC5hZGIJMjAxOC0wMS0xMSAwMDo1NToyNS4wMDAwMDAw MDAgLTA4MDAKLSsrKyBnY2MtOC4yLjAtbmV3L2djYy9hZGEvbGliZ25hcmwvcy10YXByb3BfX2xp bnV4LmFkYgkyMDE4LTExLTEzIDExOjI4OjM2LjQzMzk2NDQ0OSAtMDgwMAorLS0tIGdjYy9hZGEv bGliZ25hcmwvcy10YXByb3BfX2xpbnV4LmFkYgkyMDE4LTAxLTExIDAwOjU1OjI1LjAwMDAwMDAw MCAtMDgwMAorKysrIGdjYy9hZGEvbGliZ25hcmwvcy10YXByb3BfX2xpbnV4LmFkYgkyMDE4LTEx LTEzIDExOjI4OjM2LjQzMzk2NDQ0OSAtMDgwMAogQEAgLTIwMiw5ICsyMDIsNiBAQCBwYWNrYWdl IGJvZHkgU3lzdGVtLlRhc2tfUHJpbWl0aXZlcy5PcGVyCiAgICAgcHJhZ21hIEltcG9ydAogICAg ICAgKEMsIEdOQVRfcHRocmVhZF9jb25kYXR0cl9zZXR1cCwgIl9fZ25hdF9wdGhyZWFkX2NvbmRh dHRyX3NldHVwIik7CmRpZmYgLS1naXQgYS9zcmNwa2dzL2djYy9maWxlcy9saWJzc3AtbXVzbC5w YXRjaCBiL3NyY3BrZ3MvZ2NjL2ZpbGVzL2xpYnNzcC1tdXNsLnBhdGNoCmluZGV4IDhhNjkyYzBk NjY0Li44ZDQ3YjQ0MmFhMSAxMDA2NDQKLS0tIGEvc3JjcGtncy9nY2MvZmlsZXMvbGlic3NwLW11 c2wucGF0Y2gKKysrIGIvc3JjcGtncy9nY2MvZmlsZXMvbGlic3NwLW11c2wucGF0Y2gKQEAgLTIs OCArMiw4IEBAIEZpcnN0IHBhcnQgdGFrZW4gZnJvbSBBbHBpbmUuCiAKIFNlY29uZCBwYXJ0IGFk ZGVkIHRvIHByZXZlbnQgZ2NjZ28gZnJvbSB0aGlua2luZyBpdCBjYW4gLWZzcGxpdC1zdGFjayBv biBtdXNsLgogCi0tLS0gYS9nY2MvZ2NjLmMKLSsrKyBiL2djYy9nY2MuYworLS0tIGdjYy9nY2Mu YworKysrIGdjYy9nY2MuYwogQEAgLTg3Niw5ICs4NzYsOCBAQAogICNlbmRpZgogIApAQCAtMTUs OCArMTUsOCBAQCBTZWNvbmQgcGFydCBhZGRlZCB0byBwcmV2ZW50IGdjY2dvIGZyb20gdGhpbmtp bmcgaXQgY2FuIC1mc3BsaXQtc3RhY2sgb24gbXVzbC4KICAjZWxzZQogICNkZWZpbmUgTElOS19T U1BfU1BFQyAiJXtmc3RhY2stcHJvdGVjdG9yfGZzdGFjay1wcm90ZWN0b3ItYWxsIiBcCiAgCQkg ICAgICAgInxmc3RhY2stcHJvdGVjdG9yLXN0cm9uZ3xmc3RhY2stcHJvdGVjdG9yLWV4cGxpY2l0 IiBcCi0tLS0gYS9nY2MvY29uZmlnL2kzODYvZ251LXVzZXItY29tbW9uLmgKLSsrKyBiL2djYy9j b25maWcvaTM4Ni9nbnUtdXNlci1jb21tb24uaAorLS0tIGdjYy9jb25maWcvaTM4Ni9nbnUtdXNl ci1jb21tb24uaAorKysrIGdjYy9jb25maWcvaTM4Ni9nbnUtdXNlci1jb21tb24uaAogQEAgLTY0 LDkgKzY0LDMgQEAgYWxvbmcgd2l0aCBHQ0M7IHNlZSB0aGUgZmlsZSBDT1BZSU5HMy4gIElmIG5v dCBzZWUKICAKICAvKiBTdGF0aWMgc3RhY2sgY2hlY2tpbmcgaXMgc3VwcG9ydGVkIGJ5IG1lYW5z IG9mIHByb2Jlcy4gICovCkBAIC0yNyw4ICsyNyw4IEBAIFNlY29uZCBwYXJ0IGFkZGVkIHRvIHBy ZXZlbnQgZ2NjZ28gZnJvbSB0aGlua2luZyBpdCBjYW4gLWZzcGxpdC1zdGFjayBvbiBtdXNsLgog LSNpZiBIQVZFX0dBU19DRklfUEVSU09OQUxJVFlfRElSRUNUSVZFCiAtI2RlZmluZSBUQVJHRVRf Q0FOX1NQTElUX1NUQUNLCiAtI2VuZGlmCi0tLS0gYS9nY2MvY29uZmlnL2kzODYvZ251LmgKLSsr KyBiL2djYy9jb25maWcvaTM4Ni9nbnUuaAorLS0tIGdjYy9jb25maWcvaTM4Ni9nbnUuaAorKysr IGdjYy9jb25maWcvaTM4Ni9nbnUuaAogQEAgLTQwLDExICs0MCw2IEBAIGFsb25nIHdpdGggR0ND LiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgogIC8qIGkzODYg Z2xpYmMgcHJvdmlkZXMgX19zdGFja19jaGtfZ3VhcmQgaW4gJWdzOjB4MTQuICAqLwogICNkZWZp bmUgVEFSR0VUX1RIUkVBRF9TU1BfT0ZGU0VUICAgICAgICAweDE0CmRpZmYgLS1naXQgYS9zcmNw a2dzL2djYy90ZW1wbGF0ZSBiL3NyY3BrZ3MvZ2NjL3RlbXBsYXRlCmluZGV4IDQ3MmI5NTJlYWUz Li4wMmE3NTE2MDAyZCAxMDA2NDQKLS0tIGEvc3JjcGtncy9nY2MvdGVtcGxhdGUKKysrIGIvc3Jj cGtncy9nY2MvdGVtcGxhdGUKQEAgLTE3Myw4ICsxNzMsOCBAQCBwcmVfY29uZmlndXJlKCkgewog CXNlZCAtaSAiL2FjX2NwcD0vcy9cJENQUEZMQUdTL1wkQ1BQRkxBR1MgLU8yLyIge2djYyxsaWJp YmVydHl9L2NvbmZpZ3VyZQogCWNhc2UgIiRYQlBTX1RBUkdFVF9NQUNISU5FIiBpbgogCQkqLW11 c2wpCi0JCQlwYXRjaCAtcDEgLWkgJHtGSUxFU0RJUn0vbGliZ25hcmwtbXVzbC5wYXRjaAotCQkJ cGF0Y2ggLXAxIC1pICR7RklMRVNESVJ9L2xpYnNzcC1tdXNsLnBhdGNoCisJCQlwYXRjaCAtcDAg LWkgJHtGSUxFU0RJUn0vbGliZ25hcmwtbXVzbC5wYXRjaAorCQkJcGF0Y2ggLXAwIC1pICR7RklM RVNESVJ9L2xpYnNzcC1tdXNsLnBhdGNoCiAJCQlwYXRjaCAtcDAgLWkgJHtGSUxFU0RJUn0vZ2Nj Z28tbXVzbC5wYXRjaAogCQkJOzsKIAllc2FjCgpGcm9tIGU3YzU5OTY5ZGQ5ZjM1ZTY0OTk0MTE0 MTZiNGVkYjBkMTNiYTI4ODQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IHE2NiA8ZGFu aWVsQG9jdGFmb3JnZS5vcmc+CkRhdGU6IEZyaSwgMjUgRGVjIDIwMjAgMDA6NDI6MjYgKzAxMDAK U3ViamVjdDogW1BBVENIIDAyLzI2XSBjb21tb24vYnVpbGQtc3R5bGU6IGFkZCB2b2lkLWNyb3Nz Cgp0aGlzIGludHJvZHVjZXMgYSBuZXcgYnVpbGQtc3R5bGUgdm9pZC1jcm9zcywgd2hpY2ggY2Fu IGJlIHVzZWQKdG8gd3JpdGUgc3lzdGVtIGNyb3NzdG9vbGNoYWluIHRlbXBsYXRlczsgdGhpcyBp cyB0byByZWR1Y2UgdGhlCmFtb3VudCBvZiBtYWludGVuYW5jZSwgcmVzb2x2ZSBleGlzdGluZyBw cm9ibGVtcyB3aXRoIHRoZSBjcm9zcwp0b29sY2hhaW4gdGVtcGxhdGVzIGFuZCByZW1vdmUgcmVw ZWF0ZWQgY29kZQotLS0KIGNvbW1vbi9idWlsZC1zdHlsZS92b2lkLWNyb3NzLnNoICAgICAgICAg ICAgIHwgNTU1ICsrKysrKysrKysrKysrKysrKysKIGNvbW1vbi9lbnZpcm9ubWVudC9idWlsZC1z dHlsZS92b2lkLWNyb3NzLnNoIHwgIDExICsKIDIgZmlsZXMgY2hhbmdlZCwgNTY2IGluc2VydGlv bnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBjb21tb24vYnVpbGQtc3R5bGUvdm9pZC1jcm9zcy5z aAogY3JlYXRlIG1vZGUgMTAwNjQ0IGNvbW1vbi9lbnZpcm9ubWVudC9idWlsZC1zdHlsZS92b2lk LWNyb3NzLnNoCgpkaWZmIC0tZ2l0IGEvY29tbW9uL2J1aWxkLXN0eWxlL3ZvaWQtY3Jvc3Muc2gg Yi9jb21tb24vYnVpbGQtc3R5bGUvdm9pZC1jcm9zcy5zaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAwMC4uN2NlMWNhMjY2YmYKLS0tIC9kZXYvbnVsbAorKysgYi9jb21tb24v YnVpbGQtc3R5bGUvdm9pZC1jcm9zcy5zaApAQCAtMCwwICsxLDU1NSBAQAorIworIyBUaGlzIGhl bHBlciBpcyBmb3Igdm9pZCBzeXN0ZW0gY3Jvc3N0b29sY2hhaW4gdGVtcGxhdGVzLgorIworIyBN YW5kYXRvcnkgdmFyaWFibGVzOgorIworIyAtIGNyb3NzX3RyaXBsZXQgLSB0aGUgdGFyZ2V0IHRy aXBsZXQgKGUuZy4gYWFyY2g2NC1saW51eC1nbnUpCisjIC0gY3Jvc3Nfd29yZHNpemUgLSAzMiBv ciA2NAorIyAtIGNyb3NzX2xpYmMgLSBnbGliYyBvciBtdXNsCisjIC0gY3Jvc3NfYmludXRpbHNf dmVyc2lvbgorIyAtIGNyb3NzX2djY192ZXJzaW9uCisjIC0gY3Jvc3NfbGludXhfdmVyc2lvbgor IyAtIGNyb3NzX2xpbnV4X2FyY2ggLSB0aGUgc291cmNlIEFSQ0ggb2YgdGhlIGtlcm5lbCAoZS5n LiBhcm02NCkKKyMgLSBjcm9zc19nbGliY192ZXJzaW9uCisjIC0gY3Jvc3NfbXVzbF92ZXJzaW9u CisjIC0gY3Jvc3NfbGlidWNvbnRleHRfdmVyc2lvbiAtIG9ubHkgb24gbXVzbCB3aXRob3V0IGNy b3NzX2djY19za2lwX2dvCisjIC0gY3Jvc3NfbGlidWNvbnRleHRfYXJjaCAtIGRpdHRvLCB0aGUg bGlidWNvbnRleHQgYXJjaAorIworIyBPcHRpb25hbCB2YXJpYWJsZXM6CisjCisjIC0gY3Jvc3Nf Z2NjX3NraXBfZ28gLSBkbyBub3QgYnVpbGQgZ2NjZ28gc3VwcG9ydAorIyAtIGNyb3NzX2JpbnV0 aWxzX2NvbmZpZ3VyZV9hcmdzCisjIC0gY3Jvc3NfZ2NjX2Jvb3RzdHJhcF9jb25maWd1cmVfYXJn cworIyAtIGNyb3NzX2djY19jb25maWd1cmVfYXJncworIyAtIGNyb3NzX2dsaWJjX2NmbGFncwor IyAtIGNyb3NzX2dsaWJjX2xkZmxhZ3MKKyMgLSBjcm9zc19nbGliY19jb25maWd1cmVfYXJncwor IyAtIGNyb3NzX211c2xfY2ZsYWdzCisjIC0gY3Jvc3NfbXVzbF9sZGZsYWdzCisjIC0gY3Jvc3Nf bXVzbF9jb25maWd1cmVfYXJncworIworIyBjb25maWd1cmVfYXJncyBpcyBwYXNzZWQgdG8gYm90 aCBib290c3RyYXAgZ2NjIGFuZCBmaW5hbCBnY2MKKyMgaWYgeW91IG5lZWQgdG8gcGFzcyBzb21l IHRvIG9uZSBhbmQgbm90IHRoZSBvdGhlciwgdXNlIHRoZQorIyByZXNwZWN0aXZlIGNyb3NzXyB2 YXJpYWJsZXMgZm9yIGZpbmFsIGdjYyBhbmQgYm9vdHN0cmFwIGdjYworIworCitfYXBwbHlfcGF0 Y2goKSB7CisJbG9jYWwgYXJncz0iJDEiIHBuYW1lPSIkKGJhc2VuYW1lICQyKSIKKwlpZiBbICEg LWYgIi4ke3BuYW1lfV9kb25lIiBdOyB0aGVuCisJCXBhdGNoIC1OICRhcmdzIC1pICQyCisJCXRv dWNoIC4ke3BuYW1lfV9kb25lCisJZmkKK30KKworX2NoZWNrX2Nyb3NzX2RpcigpIHsKKwlsb2Nh bCBkbmFtZT0kMQorCWxvY2FsIHNuYW1lPSQyCisJbG9jYWwgdmFyPSJjcm9zc18ke2RuYW1lfV92 ZXJzaW9uIgorCWNkICR7d3Jrc3JjfQorCWlmIFsgLWYgIi4ke3NuYW1lOj0ke2RuYW1lfX1fZG9u ZSIgXTsgdGhlbgorCQlyZXR1cm4gMQorCWZpCisJaWYgWyAhIC1kICIkezF9LSR7IXZhcn0iIF07 IHRoZW4KKwkJbXNnX2Vycm9yICIkezF9LSR7IXZhcn0gZG9lcyBub3QgZXhpc3QiCisJZmkKK30K KworX2J1aWxkX2JpbnV0aWxzKCkgeworCV9jaGVja19jcm9zc19kaXIgYmludXRpbHMgfHwgcmV0 dXJuIDAKKworCW1zZ19ub3JtYWwgIkJ1aWxkaW5nIGJpbnV0aWxzIGZvciAke2Nyb3NzX3RyaXBs ZXR9XG4iCisKKwlta2RpciAtcCBiaW51dGlsc19idWlsZAorCWNkIGJpbnV0aWxzX2J1aWxkCisK KwkuLi9iaW51dGlscy0ke2Nyb3NzX2JpbnV0aWxzX3ZlcnNpb259L2NvbmZpZ3VyZSBcCisJCS0t cHJlZml4PS91c3IgXAorCQktLXNiaW5kaXI9L3Vzci9iaW4gXAorCQktLWxpYmRpcj0vdXNyL2xp YiBcCisJCS0tbGliZXhlY2Rpcj0vdXNyL2xpYiBcCisJCS0tdGFyZ2V0PSR7Y3Jvc3NfdHJpcGxl dH0gXAorCQktLXdpdGgtc3lzcm9vdD0vdXNyLyR7Y3Jvc3NfdHJpcGxldH0gXAorCQktLWRpc2Fi bGUtbmxzIFwKKwkJLS1kaXNhYmxlLXNoYXJlZCBcCisJCS0tZGlzYWJsZS1tdWx0aWxpYiBcCisJ CS0tZGlzYWJsZS13ZXJyb3IgXAorCQktLWRpc2FibGUtZ29sZCBcCisJCS0td2l0aC1zeXN0ZW0t emxpYiBcCisJCS0tZW5hYmxlLWRldGVybWluaXN0aWMtYXJjaGl2ZXMgXAorCQktLWVuYWJsZS1k ZWZhdWx0LWhhc2gtc3R5bGU9Z251IFwKKwkJJHtjcm9zc19iaW51dGlsc19jb25maWd1cmVfYXJn c30KKworCW1ha2UgY29uZmlndXJlLWhvc3QKKwltYWtlICR7bWFrZWpvYnN9CisKKwltYWtlIGlu c3RhbGwgREVTVERJUj0ke3dya3NyY30vYnVpbGRfcm9vdAorCisJdG91Y2ggJHt3cmtzcmN9Ly5i aW51dGlsc19kb25lCit9CisKK19idWlsZF9ib290c3RyYXBfZ2NjKCkgeworCV9jaGVja19jcm9z c19kaXIgZ2NjIGdjY19ib290c3RyYXAgfHwgcmV0dXJuIDAKKworCW1zZ19ub3JtYWwgIlBhdGNo aW5nIEdDQyBmb3IgJHtjcm9zc190cmlwbGV0fVxuIgorCisJY2QgZ2NjLSR7Y3Jvc3NfZ2NjX3Zl cnNpb259CisJZm9yIGYgaW4gJHtYQlBTX1NSQ1BLR0RJUn0vZ2NjL3BhdGNoZXMvKi5wYXRjaDsg ZG8KKwkJX2FwcGx5X3BhdGNoIC1wMCAiJGYiCisJZG9uZQorCWlmIFsgIiRjcm9zc19saWJjIiA9 ICJtdXNsIiBdOyB0aGVuCisJCWZvciBmIGluICR7WEJQU19TUkNQS0dESVJ9L2djYy9maWxlcy8q LW11c2wucGF0Y2g7IGRvCisJCQlfYXBwbHlfcGF0Y2ggLXAwICIkZiIKKwkJZG9uZQorCWZpCisJ Y2QgLi4KKworCW1zZ19ub3JtYWwgIkJ1aWxkaW5nIGJvb3RzdHJhcCBHQ0MgZm9yICR7Y3Jvc3Nf dHJpcGxldH1cbiIKKworCW1rZGlyIC1wIGdjY19ib290c3RyYXAKKwljZCBnY2NfYm9vdHN0cmFw CisKKwlsb2NhbCBleHRyYV9hcmdzCisJaWYgWyAiJGNyb3NzX2xpYmMiID0gIm11c2wiIF07IHRo ZW4KKwkJZXh0cmFfYXJncys9IiAtLXdpdGgtbmV3bGliIgorCQlleHRyYV9hcmdzKz0iIC0tZGlz YWJsZS1zeW12ZXJzIgorCQlleHRyYV9hcmdzKz0iIGxpYmF0X2N2X2hhdmVfaWZ1bmM9bm8iCisJ ZWxzZQorCQlleHRyYV9hcmdzKz0iIC0td2l0aG91dC1oZWFkZXJzIgorCWZpCisKKwkuLi9nY2Mt JHtjcm9zc19nY2NfdmVyc2lvbn0vY29uZmlndXJlIFwKKwkJLS1wcmVmaXg9L3VzciBcCisJCS0t c2JpbmRpcj0vdXNyL2JpbiBcCisJCS0tbGliZGlyPS91c3IvbGliIFwKKwkJLS1saWJleGVjZGly PS91c3IvbGliIFwKKwkJLS10YXJnZXQ9JHtjcm9zc190cmlwbGV0fSBcCisJCS0tZGlzYWJsZS1u bHMgXAorCQktLWRpc2FibGUtbXVsdGlsaWIgXAorCQktLWRpc2FibGUtc2hhcmVkIFwKKwkJLS1k aXNhYmxlLWxpYnF1YWRtYXRoIFwKKwkJLS1kaXNhYmxlLWRlY2ltYWwtZmxvYXQgXAorCQktLWRp c2FibGUtbGliZ29tcCBcCisJCS0tZGlzYWJsZS1saWJtcHggXAorCQktLWRpc2FibGUtbGlibXVk ZmxhcCBcCisJCS0tZGlzYWJsZS1saWJzc3AgXAorCQktLWRpc2FibGUtbGliaXRtIFwKKwkJLS1k aXNhYmxlLWxpYmF0b21pYyBcCisJCS0tZGlzYWJsZS10aHJlYWRzIFwKKwkJLS1kaXNhYmxlLXNq bGotZXhjZXB0aW9ucyBcCisJCS0tZW5hYmxlLWxhbmd1YWdlcz1jIFwKKwkJLS13aXRoLWdudS1s ZCBcCisJCS0td2l0aC1nbnUtYXMgXAorCQkke2V4dHJhX2FyZ3N9IFwKKwkJJHtjb25maWd1cmVf YXJnc30gXAorCQkke2Nyb3NzX2djY19ib290c3RyYXBfY29uZmlndXJlX2FyZ3N9CisKKwltYWtl ICR7bWFrZWpvYnN9CisJbWFrZSBpbnN0YWxsIERFU1RESVI9JHt3cmtzcmN9L2J1aWxkX3Jvb3QK KworCXRvdWNoICR7d3Jrc3JjfS8uZ2NjX2Jvb3RzdHJhcF9kb25lCit9CisKK19idWlsZF9rZXJu ZWxfaGVhZGVycygpIHsKKwlfY2hlY2tfY3Jvc3NfZGlyIGxpbnV4IGxpbnV4X2hlYWRlcnMgfHwg cmV0dXJuIDAKKworCW1zZ19ub3JtYWwgIlBhdGNoaW5nIExpbnV4IGhlYWRlcnMgZm9yICR7Y3Jv c3NfdHJpcGxldH1cbiIKKworCWNkIGxpbnV4LSR7Y3Jvc3NfbGludXhfdmVyc2lvbn0KKwlmb3Ig ZiBpbiAke1hCUFNfU1JDUEtHRElSfS9rZXJuZWwtbGliYy1oZWFkZXJzL3BhdGNoZXMvKi5wYXRj aDsgZG8KKwkJX2FwcGx5X3BhdGNoIC1wMCAkZgorCWRvbmUKKwljZCAuLgorCisJbXNnX25vcm1h bCAiQnVpbGRpbmcgTGludXggaGVhZGVycyBmb3IgJHtjcm9zc190cmlwbGV0fVxuIgorCisJY2Qg bGludXgtJHtjcm9zc19saW51eF92ZXJzaW9ufQorCisJbWFrZSBBUkNIPSRjcm9zc19saW51eF9h cmNoIGhlYWRlcnNfY2hlY2sKKwltYWtlIEFSQ0g9JGNyb3NzX2xpbnV4X2FyY2ggXAorCQlJTlNU QUxMX0hEUl9QQVRIPSR7d3Jrc3JjfS9idWlsZF9yb290L3Vzci8ke2Nyb3NzX3RyaXBsZXR9L3Vz ciBcCisJCWhlYWRlcnNfaW5zdGFsbAorCisJdG91Y2ggJHt3cmtzcmN9Ly5saW51eF9oZWFkZXJz X2RvbmUKK30KKworX2J1aWxkX2dsaWJjX2hlYWRlcnMoKSB7CisJX2NoZWNrX2Nyb3NzX2RpciBn bGliYyBnbGliY19oZWFkZXJzIHx8IHJldHVybiAwCisKKwlsb2NhbCB0Z3Q9JGNyb3NzX3RyaXBs ZXQKKworCW1zZ19ub3JtYWwgIlBhdGNoaW5nIGdsaWJjIGZvciAke2Nyb3NzX3RyaXBsZXR9XG4i CisKKwljZCBnbGliYy0ke2Nyb3NzX2dsaWJjX3ZlcnNpb259CisJaWYgWyAtZCAiJHtYQlBTX1NS Q1BLR0RJUn0vZ2xpYmMvcGF0Y2hlcyIgXTsgdGhlbgorCQlmb3IgZiBpbiAke1hCUFNfU1JDUEtH RElSfS9nbGliYy9wYXRjaGVzLyoucGF0Y2g7IGRvCisJCQlfYXBwbHlfcGF0Y2ggLXAxICIkZiIK KwkJZG9uZQorCWZpCisJY2QgLi4KKworCW1zZ19ub3JtYWwgIkJ1aWxkaW5nIGdsaWJjIGhlYWRl cnMgZm9yICR7Y3Jvc3NfdHJpcGxldH1cbiIKKworCW1rZGlyIC1wIGdsaWJjX2hlYWRlcnMKKwlj ZCBnbGliY19oZWFkZXJzCisKKwllY2hvICJsaWJjX2N2X2ZvcmNlZF91bndpbmQ9eWVzIiA+IGNv bmZpZy5jYWNoZQorCWVjaG8gImxpYmNfY3ZfY19jbGVhbnVwPXllcyIgPj4gY29uZmlnLmNhY2hl CisKKwkjIHdlIGRvbid0IG5lZWQgYW55IGN1c3RvbSBhcmdzIGhlcmUsIGl0J3MganVzdCBoZWFk ZXJzCisJQ0M9IiR7dGd0fS1nY2MiIENYWD0iJHt0Z3R9LWcrKyIgQ1BQPSIke3RndH0tY3BwIiBM RD0iJHt0Z3R9LWxkIiBcCisJQVM9IiR7dGd0fS1hcyIgTk09IiR7dGd0fS1ubSIgQ0ZMQUdTPSIt cGlwZSIgQ1hYRkxBR1M9IiIgQ1BQRkxBR1M9IiIgXAorCUxERkxBR1M9IiIgXAorCS4uL2dsaWJj LSR7Y3Jvc3NfZ2xpYmNfdmVyc2lvbn0vY29uZmlndXJlIFwKKwkJLS1wcmVmaXg9L3VzciBcCisJ CS0taG9zdD0ke3RndH0gXAorCQktLXdpdGgtaGVhZGVycz0ke3dya3NyY30vYnVpbGRfcm9vdC91 c3IvJHt0Z3R9L3Vzci9pbmNsdWRlIFwKKwkJLS1jb25maWctY2FjaGUgXAorCQktLWVuYWJsZS1v YnNvbGV0ZS1ycGMgXAorCQktLWVuYWJsZS1vYnNvbGV0ZS1uc2wgXAorCQktLWVuYWJsZS1rZXJu ZWw9Mi42LjI3IFwKKwkJJHtjcm9zc19nbGliY19jb25maWd1cmVfYXJnc30KKworCW1ha2UgLWsg aW5zdGFsbC1oZWFkZXJzIGNyb3NzX2NvbXBpbGluZz15ZXMgXAorCQlpbnN0YWxsX3Jvb3Q9JHt3 cmtzcmN9L2J1aWxkX3Jvb3QvdXNyLyR7dGd0fQorCisJdG91Y2ggJHt3cmtzcmN9Ly5nbGliY19o ZWFkZXJzX2RvbmUKK30KKworX2J1aWxkX2dsaWJjKCkgeworCV9jaGVja19jcm9zc19kaXIgZ2xp YmMgZ2xpYmNfYnVpbGQgfHwgcmV0dXJuIDAKKworCWxvY2FsIHRndD0kY3Jvc3NfdHJpcGxldAor CisJbXNnX25vcm1hbCAiQnVpbGRpbmcgZ2xpYmMgZm9yICR7dGd0fVxuIgorCisJbWtkaXIgLXAg Z2xpYmNfYnVpbGQKKwljZCBnbGliY19idWlsZAorCisJZWNobyAic2xpYmRpcj0vdXNyL2xpYiR7 Y3Jvc3Nfd29yZHNpemV9IiA+IGNvbmZpZ3Bhcm1zCisKKwllY2hvICJsaWJjX2N2X2ZvcmNlZF91 bndpbmQ9eWVzIiA+IGNvbmZpZy5jYWNoZQorCWVjaG8gImxpYmNfY3ZfY19jbGVhbnVwPXllcyIg Pj4gY29uZmlnLmNhY2hlCisKKwlDQz0iJHt0Z3R9LWdjYyIgQ1hYPSIke3RndH0tZysrIiBDUFA9 IiR7dGd0fS1jcHAiIExEPSIke3RndH0tbGQiIFwKKwlBUj0iJHt0Z3R9LWFyIiBBUz0iJHt0Z3R9 LWFzIiBOTT0iJHt0Z3R9LW5tIiBcCisJQ0ZMQUdTPSItcGlwZSAke2Nyb3NzX2dsaWJjX2NmbGFn c30iIFwKKwlDWFhGTEFHUz0iLXBpcGUgJHtjcm9zc19nbGliY19jZmxhZ3N9IiBcCisJQ1BQRkxB R1M9IiR7Y3Jvc3NfZ2xpYmNfY2ZsYWdzfSIgXAorCUxERkxBR1M9IiR7Y3Jvc3NfZ2xpYmNfbGRm bGFnc30iIFwKKwkuLi9nbGliYy0ke2Nyb3NzX2dsaWJjX3ZlcnNpb259L2NvbmZpZ3VyZSBcCisJ CS0tcHJlZml4PS91c3IgXAorCQktLWxpYmRpcj0vdXNyL2xpYiR7Y3Jvc3Nfd29yZHNpemV9IFwK KwkJLS1saWJleGVjZGlyPS91c3IvbGliZXhlYyBcCisJCS0taG9zdD0ke3RndH0gXAorCQktLXdp dGgtaGVhZGVycz0ke3dya3NyY30vYnVpbGRfcm9vdC91c3IvJHt0Z3R9L3Vzci9pbmNsdWRlIFwK KwkJLS1jb25maWctY2FjaGUgXAorCQktLWVuYWJsZS1vYnNvbGV0ZS1ycGMgXAorCQktLWVuYWJs ZS1vYnNvbGV0ZS1uc2wgXAorCQktLWRpc2FibGUtcHJvZmlsZSBcCisJCS0tZGlzYWJsZS13ZXJy b3IgXAorCQktLWVuYWJsZS1rZXJuZWw9Mi42LjI3IFwKKwkJJHtjcm9zc19nbGliY19jb25maWd1 cmVfYXJnc30KKworCW1ha2UgJHttYWtlam9ic30KKwltYWtlIGluc3RhbGxfcm9vdD0ke3dya3Ny Y30vYnVpbGRfcm9vdC91c3IvJHt0Z3R9IGluc3RhbGwKKworCXRvdWNoICR7d3Jrc3JjfS8uZ2xp YmNfYnVpbGRfZG9uZQorfQorCitfYnVpbGRfbXVzbCgpIHsKKwlfY2hlY2tfY3Jvc3NfZGlyIG11 c2wgbXVzbF9idWlsZCB8fCByZXR1cm4gMAorCisJbG9jYWwgdGd0PSRjcm9zc190cmlwbGV0CisK Kwltc2dfbm9ybWFsICJQYXRjaGluZyBtdXNsIGZvciAke3RndH1cbiIKKworCWNkIG11c2wtJHtj cm9zc19tdXNsX3ZlcnNpb259CisJaWYgWyAtZCAiJHtYQlBTX1NSQ1BLR0RJUn0vbXVzbC9wYXRj aGVzIiBdOyB0aGVuCisJCWZvciBmIGluICR7WEJQU19TUkNQS0dESVJ9L211c2wvcGF0Y2hlcy8q LnBhdGNoOyBkbworCQkJX2FwcGx5X3BhdGNoIC1wMCAiJGYiCisJCWRvbmUKKwlmaQorCWNkIC4u CisKKwltc2dfbm9ybWFsICJCdWlsZGluZyBtdXNsIGZvciAke3RndH1cbiIKKworCW1rZGlyIC1w IG11c2xfYnVpbGQKKwljZCBtdXNsX2J1aWxkCisKKwlDQz0iJHt0Z3R9LWdjYyIgQ1hYPSIke3Rn dH0tZysrIiBDUFA9IiR7dGd0fS1jcHAiIExEPSIke3RndH0tbGQiIFwKKwlBUj0iJHt0Z3R9LWFy IiBBUz0iJHt0Z3R9LWFzIiBOTT0iJHt0Z3R9LW5tIiBcCisJQ0ZMQUdTPSItcGlwZSAtZlBJQyAk e2Nyb3NzX211c2xfY2ZsYWdzfSIgXAorCUNQUEZMQUdTPSIke2Nyb3NzX211c2xfY2ZsYWdzfSIg TERGTEFHUz0iJHtjcm9zc19tdXNsX2xkZmxhZ3N9IiBcCisJLi4vbXVzbC0ke2Nyb3NzX211c2xf dmVyc2lvbn0vY29uZmlndXJlIFwKKwkJLS1wcmVmaXg9L3VzciBcCisJCS0taG9zdD0ke3RndH0g XAorCQkke2Nyb3NzX211c2xfY29uZmlndXJlX2FyZ3N9CisKKwltYWtlICR7bWFrZWpvYnN9CisJ bWFrZSBERVNURElSPSR7d3Jrc3JjfS9idWlsZF9yb290L3Vzci8ke3RndH0gaW5zdGFsbAorCisJ dG91Y2ggJHt3cmtzcmN9Ly5tdXNsX2J1aWxkX2RvbmUKK30KKworX2J1aWxkX2xpYnVjb250ZXh0 KCkgeworCVsgLW4gIiRjcm9zc19nY2Nfc2tpcF9nbyIgXSAmJiByZXR1cm4gMAorCV9jaGVja19j cm9zc19kaXIgbGlidWNvbnRleHQgfHwgcmV0dXJuIDAKKworCW1zZ19ub3JtYWwgIkJ1aWxkaW5n IGxpYnVjb250ZXh0IGZvciAke2Nyb3NzX3RyaXBsZXR9XG4iCisKKwljZCBsaWJ1Y29udGV4dC0k e2Nyb3NzX2xpYnVjb250ZXh0X3ZlcnNpb259CisJIyBhIHRlcnJpYmxlIGhhY2sgYnV0IHNlZW1z IHRvIHdvcmsgZm9yIG5vdworCUNDPSIke2Nyb3NzX3RyaXBsZXR9LWdjYyIgQVM9IiR7Y3Jvc3Nf dHJpcGxldH0tYXMiIEFSPSIke2Nyb3NzX3RyaXBsZXR9LWFyIiBcCisJQ1BQRkxBR1M9Ii1waXBl ICR7Y3Jvc3NfbXVzbF9jZmxhZ3N9IC1nMCAtT3MgLW5vc3RkaW5jIC1pc3lzdGVtICR7d3Jrc3Jj fS9idWlsZF9yb290L3Vzci8ke2Nyb3NzX3RyaXBsZXR9L3Vzci9pbmNsdWRlIiBcCisJbWFrZSBB UkNIPSR7Y3Jvc3NfbGlidWNvbnRleHRfYXJjaH0gbGlidWNvbnRleHQuYQorCisJY3AgbGlidWNv bnRleHQuYSAke3dya3NyY30vYnVpbGRfcm9vdC91c3IvJHtjcm9zc190cmlwbGV0fS91c3IvbGli CisKKwl0b3VjaCAke3dya3NyY30vLmxpYnVjb250ZXh0X2J1aWxkX2RvbmUKK30KKworX2J1aWxk X2djYygpIHsKKwlfY2hlY2tfY3Jvc3NfZGlyIGdjYyBnY2NfYnVpbGQgfHwgcmV0dXJuIDAKKwor CW1zZ19ub3JtYWwgIkJ1aWxkaW5nIGdjYyBmb3IgJHtjcm9zc190cmlwbGV0fVxuIgorCisJbWtk aXIgLXAgZ2NjX2J1aWxkCisJY2QgZ2NjX2J1aWxkCisKKwlsb2NhbCBsYW5ncz0iYyxjKyssZm9y dHJhbixvYmpjLG9iai1jKyssYWRhLGx0byIKKwlpZiBbIC16ICIkY3Jvc3NfZ2NjX3NraXBfZ28i IF07IHRoZW4KKwkJbGFuZ3MrPSIsZ28iCisJZmkKKworCWxvY2FsIGV4dHJhX2FyZ3MKKwlpZiBb ICIkY3Jvc3NfbGliYyIgPSAibXVzbCIgXTsgdGhlbgorCQlleHRyYV9hcmdzKz0iIC0tZW5hYmxl LWxpYnNzcCIKKwkJIyBvdGhlcndpc2UgZ2xpYmMgaG9zdHMgZ2V0IGNvbmZ1c2VkIGFuZCB1c2Ug dGhlIGdudSBpbXBsCisJCWV4dHJhX2FyZ3MrPSIgLS1lbmFibGUtY2xvY2FsZT1nZW5lcmljIgor CQlleHRyYV9hcmdzKz0iIC0tZGlzYWJsZS1zeW12ZXJzIgorCQlleHRyYV9hcmdzKz0iIC0tZGlz YWJsZS1nbnUtdW5pcXVlLW9iamVjdCIKKwkJZXh0cmFfYXJncys9IiBsaWJhdF9jdl9oYXZlX2lm dW5jPW5vIgorCWVsc2UKKwkJZXh0cmFfYXJncys9IiAtLWRpc2FibGUtbGlic3NwIgorCQlleHRy YV9hcmdzKz0iIC0tZW5hYmxlLWdudS11bmlxdWUtb2JqZWN0IgorCWZpCisKKwkjIG5vdGUgb24g LS1kaXNhYmxlLWxpYnF1YWRtYXRoOgorCSMgb24gc29tZSBwbGF0Zm9ybXMgdGhlIGxpYnJhcnkg aXMgYWN0dWFsbHkgbmVjZXNzYXJ5IGZvciB0aGUKKwkjIGZvcnRyYW4gZnJvbnRlbmQgdG8gYnVp bGQsIGJ1dCBzdGlsbCBkaXNhYmxlIGl0IGJlY2F1c2UgaXQKKwkjIHNob3VsZCBub3QgYmUgaW4g dGhlIHJlc3VsdGluZyBwYWNrYWdlczsgaXQgY29uZmxpY3RzIHdpdGgKKwkjIHRoZSBsaWJxdWFk bWF0aCB5b3UgY2FuIGluc3RhbGwgaW50byB0aGUgY3Jvc3Mgcm9vdAorCSMKKwkjIHBsYXRmb3Jt cyB3aGVyZSB0aGlzIGlzIGEgcHJvYmxlbSBzaG91bGQgZXhwbGljaXRseSBmb3JjZQorCSMgbGli cXVhZG1hdGggdG8gYmUgb24gdmlhIGNyb3NzX2djY19jb25maWd1cmVfYXJncywgdGhlCisJIyBk b19pbnN0YWxsIGluIHRoaXMgYnVpbGQtc3R5bGUgYXV0b21hdGljYWxseSByZW1vdmVzIGl0CisJ IworCS4uL2djYy0ke2Nyb3NzX2djY192ZXJzaW9ufS9jb25maWd1cmUgXAorCQktLXByZWZpeD0v dXNyIFwKKwkJLS1zYmluZGlyPS91c3IvYmluIFwKKwkJLS1saWJkaXI9L3Vzci9saWIgXAorCQkt LWxpYmV4ZWNkaXI9L3Vzci9saWIgXAorCQktLXRhcmdldD0ke2Nyb3NzX3RyaXBsZXR9IFwKKwkJ LS13aXRoLXN5c3Jvb3Q9L3Vzci8ke2Nyb3NzX3RyaXBsZXR9IFwKKwkJLS13aXRoLWJ1aWxkLXN5 c3Jvb3Q9JHt3cmtzcmN9L2J1aWxkX3Jvb3QvdXNyLyR7Y3Jvc3NfdHJpcGxldH0gXAorCQktLWVu YWJsZS1sYW5ndWFnZXM9JHtsYW5nc30gXAorCQktLWRpc2FibGUtbmxzIFwKKwkJLS1kaXNhYmxl LW11bHRpbGliIFwKKwkJLS1kaXNhYmxlLXNqbGotZXhjZXB0aW9ucyBcCisJCS0tZGlzYWJsZS1s aWJxdWFkbWF0aCBcCisJCS0tZGlzYWJsZS1saWJtdWRmbGFwIFwKKwkJLS1kaXNhYmxlLWxpYml0 bSBcCisJCS0tZGlzYWJsZS1saWJ2dHYgXAorCQktLWRpc2FibGUtbGlic2FuaXRpemVyIFwKKwkJ LS1kaXNhYmxlLWxpYnN0ZGN4eC1wY2ggXAorCQktLWVuYWJsZS1zaGFyZWQgXAorCQktLWVuYWJs ZS10aHJlYWRzPXBvc2l4IFwKKwkJLS1lbmFibGUtX19jeGFfYXRleGl0IFwKKwkJLS1lbmFibGUt bGlua2VyLWJ1aWxkLWlkIFwKKwkJLS1lbmFibGUtbGliYWRhIFwKKwkJLS1lbmFibGUtbHRvIFwK KwkJLS1lbmFibGUtZGVmYXVsdC1waWUgXAorCQktLWVuYWJsZS1kZWZhdWx0LXNzcCBcCisJCS0t d2l0aC1nbnUtbGQgXAorCQktLXdpdGgtZ251LWFzIFwKKwkJLS13aXRoLWxpbmtlci1oYXNoLXN0 eWxlPWdudSBcCisJCSR7ZXh0cmFfYXJnc30gXAorCQkke2NvbmZpZ3VyZV9hcmdzfSBcCisJCSR7 Y3Jvc3NfZ2NjX2NvbmZpZ3VyZV9hcmdzfQorCisJbWFrZSAke21ha2Vqb2JzfQorCisJdG91Y2gg JHt3cmtzcmN9Ly5nY2NfYnVpbGRfZG9uZQorfQorCitfY2hlY2tfY3Jvc3NfdmFyKCkgeworCWxv Y2FsIHZhcj0iY3Jvc3NfJHsxfSIKKwlpZiBbIC16ICIkeyF2YXJ9IiBdOyB0aGVuCisJCW1zZ19l cnJvciAiY3Jvc3NfJHsxfSBub3QgZGVmaW5lZCBpbiB0ZW1wbGF0ZSIKKwlmaQorfQorCitkb19i dWlsZCgpIHsKKwkjIFZlcmlmeSB0b29sY2hhaW4gdmVyc2lvbnMKKworCV9jaGVja19jcm9zc192 YXIgYmludXRpbHNfdmVyc2lvbgorCV9jaGVja19jcm9zc192YXIgZ2NjX3ZlcnNpb24KKwlfY2hl Y2tfY3Jvc3NfdmFyIGxpbnV4X3ZlcnNpb24KKworCWNhc2UgIiR7Y3Jvc3NfbGliY30iIGluCisJ CW11c2wpCisJCQlfY2hlY2tfY3Jvc3NfdmFyIG11c2xfdmVyc2lvbgorCQkJaWYgWyAteiAiJGNy b3NzX2djY19za2lwX2dvIiBdOyB0aGVuCisJCQkJX2NoZWNrX2Nyb3NzX3ZhciBsaWJ1Y29udGV4 dF92ZXJzaW9uCisJCQkJX2NoZWNrX2Nyb3NzX3ZhciBsaWJ1Y29udGV4dF9hcmNoCisJCQlmaQor CQkJOzsKKwkJZ2xpYmMpCisJCQlfY2hlY2tfY3Jvc3NfdmFyIGdsaWJjX3ZlcnNpb24KKwkJCTs7 CisJCSopIG1zZ19lcnJvciAiYWxsb3dlZCBjcm9zc19saWJjIHZhbHVlcyBhcmUgJ2dsaWJjJywg J211c2wnXG4iIDs7CisJZXNhYworCisJIyBWZXJpZnkgdHJpcGxldAorCV9jaGVja19jcm9zc192 YXIgdHJpcGxldAorCV9jaGVja19jcm9zc192YXIgd29yZHNpemUKKwlfY2hlY2tfY3Jvc3NfdmFy IGxpbnV4X2FyY2gKKworCWxvY2FsIHN5c3Jvb3Q9Ii91c3IvJHtjcm9zc190cmlwbGV0fSIKKwor CSMgUHJlcGFyZSBlbnZpcm9ubWVudAorCWNkICR7d3Jrc3JjfQorCisJIyBDb3JlIGRpcmVjdG9y aWVzIGZvciB0aGUgYnVpbGQgcm9vdAorCW1rZGlyIC1wIGJ1aWxkX3Jvb3QvdXNyL3tiaW4sbGli LGluY2x1ZGUsc2hhcmV9CisJbWtkaXIgLXAgYnVpbGRfcm9vdC91c3IvJHtjcm9zc190cmlwbGV0 fS91c3Ive2JpbixsaWIsaW5jbHVkZSxzaGFyZX0KKworCSMgSG9zdCByb290IHVzZXMgaG9zdCB3 b3Jkc2l6ZQorCWxuIC1zZiB1c3IvbGliIGJ1aWxkX3Jvb3QvbGliCisJbG4gLXNmIHVzci9saWIg YnVpbGRfcm9vdC9saWIke1hCUFNfVEFSR0VUX1dPUkRTSVpFfQorCWxuIC1zZiBsaWIgYnVpbGRf cm9vdC91c3IvbGliJHtYQlBTX1RBUkdFVF9XT1JEU0laRX0KKworCSMgVGFyZ2V0IHN5c3Jvb3Qg dXNlcyB0YXJnZXQgd29yZHNpemUKKwlsbiAtc2YgdXNyL2xpYiBidWlsZF9yb290LyR7c3lzcm9v dH0vbGliCisJbG4gLXNmIHVzci9saWIgYnVpbGRfcm9vdC8ke3N5c3Jvb3R9L2xpYiR7Y3Jvc3Nf d29yZHNpemV9CisJbG4gLXNmIGxpYiBidWlsZF9yb290LyR7c3lzcm9vdH0vdXNyL2xpYiR7Y3Jv c3Nfd29yZHNpemV9CisJbG4gLXNmIGxpYiBidWlsZF9yb290LyR7c3lzcm9vdH0vdXNyL2xpYmV4 ZWMKKworCV9idWlsZF9iaW51dGlscworCisJIyBQcmVwYXJlIGVudmlyb25tZW50IHNvIHdlIGNh biB1c2UgdGVtcG9yYXJ5IHByZWZpeAorCWxvY2FsIG9sZHBhdGg9IiRQQVRIIgorCWxvY2FsIG9s ZGxkbGliPSIkTERfTElCUkFSWV9QQVRIIgorCisJZXhwb3J0IFBBVEg9IiR7d3Jrc3JjfS9idWls ZF9yb290L3Vzci9iaW46JFBBVEgiCisJZXhwb3J0IExEX0xJQlJBUllfUEFUSD0iJHt3cmtzcmN9 L2J1aWxkX3Jvb3QvdXNyL2xpYjokUEFUSCIKKworCV9idWlsZF9ib290c3RyYXBfZ2NjCisJX2J1 aWxkX2tlcm5lbF9oZWFkZXJzCisKKwlpZiBbICIkY3Jvc3NfbGliYyIgPSAibXVzbCIgXTsgdGhl bgorCQlfYnVpbGRfbXVzbAorCQlfYnVpbGRfbGlidWNvbnRleHQKKwllbHNlCisJCV9idWlsZF9n bGliY19oZWFkZXJzCisJCV9idWlsZF9nbGliYworCWZpCisKKwlfYnVpbGRfZ2NjCisKKwkjIHJl c3RvcmUgdGhpcyBzdHVmZiBpbiBjYXNlIGxhdGVyIGhvb2tzIGRlcGVuZCBvbiBpdAorCWV4cG9y dCBQQVRIPSIkb2xkcGF0aCIKKwlleHBvcnQgTERfTElCUkFSWV9QQVRIPSIkb2xkbGRsaWIiCit9 CisKK2RvX2luc3RhbGwoKSB7CisJIyBXZSBuZWVkIHRvIGJlIGFibGUgdG8gYWNjZXNzIGJpbnV0 aWxzIGluIHRoZSByb290CisJbG9jYWwgb2xkcGF0aD0iJFBBVEgiCisJbG9jYWwgb2xkbGRsaWI9 IiRMRF9MSUJSQVJZX1BBVEgiCisJZXhwb3J0IFBBVEg9IiR7d3Jrc3JjfS9idWlsZF9yb290L3Vz ci9iaW46JFBBVEgiCisJZXhwb3J0IExEX0xJQlJBUllfUEFUSD0iJHt3cmtzcmN9L2J1aWxkX3Jv b3QvdXNyL2xpYjokUEFUSCIKKworCWxvY2FsIHN5c3Jvb3Q9Ii91c3IvJHtjcm9zc190cmlwbGV0 fSIKKworCSMgQ29yZSBkaXJlY3RvcmllcyBmb3IgdGhlIHN5c3Jvb3QKKwkjCisJIyBsaWJleGVj IGlzIGNyZWF0ZWQgZm9yIHN5c3Jvb3QgYnV0IG5vdCBmb3IgZGVzdCwgc2luY2UgaW4gc3lzcm9v dAorCSMgd2UgY29uZmlndXJlIGdsaWJjIHdpdGggc2VwYXJhdGUgbGliZXhlYywgZWxzZXdoZXJl IGl0J3MganVzdCBsaWIKKwkjIGFuZCB3ZSB3YW50IHRvIGRlbGV0ZSB0aGUgbGliZXhlYyBmcm9t IGdsaWJjIGFmdGVyd2FyZHMgdG8gc2F2ZSBzcGFjZQorCW1rZGlyIC1wICR7REVTVERJUn0vJHtz eXNyb290fS91c3Ive2JpbixsaWIsbGliZXhlYyxpbmNsdWRlLHNoYXJlfQorCSMgU3lzcm9vdCBi YXNlIHN5bWxpbmtzCisJbG4gLXNmIHVzci9saWIgJHtERVNURElSfS8ke3N5c3Jvb3R9L2xpYgor CWxuIC1zZiB1c3IvbGliICR7REVTVERJUn0vJHtzeXNyb290fS9saWIke2Nyb3NzX3dvcmRzaXpl fQorCWxuIC1zZiBsaWIgJHtERVNURElSfS8ke3N5c3Jvb3R9L3Vzci9saWIke2Nyb3NzX3dvcmRz aXplfQorCisJIyBJbnN0YWxsIExpbnV4IGhlYWRlcnMKKwljZCAke3dya3NyY30vbGludXgtJHtj cm9zc19saW51eF92ZXJzaW9ufQorCW1ha2UgQVJDSD0ke2Nyb3NzX2xpbnV4X2FyY2h9IFwKKwkJ SU5TVEFMTF9IRFJfUEFUSD0ke0RFU1RESVJ9LyR7c3lzcm9vdH0vdXNyIGhlYWRlcnNfaW5zdGFs bAorCXJtIC1mICQoZmluZCAke0RFU1RESVJ9LyR7c3lzcm9vdH0vdXNyL2luY2x1ZGUgXAorCQkt bmFtZSAuaW5zdGFsbCAtb3IgLW5hbWUgLi5pbnN0YWxsLmNtZCkKKwlybSAtcmYgJHtERVNURElS fS8ke3N5c3Jvb3R9L3Vzci9pbmNsdWRlL2RybQorCisJIyBJbnN0YWxsIGJpbnV0aWxzCisJY2Qg JHt3cmtzcmN9L2JpbnV0aWxzX2J1aWxkCisJbWFrZSBpbnN0YWxsIERFU1RESVI9JHtERVNURElS fQorCisJIyBJbnN0YWxsIGZpbmFsIGdjYworCWNkICR7d3Jrc3JjfS9nY2NfYnVpbGQKKwltYWtl IGluc3RhbGwgREVTVERJUj0ke0RFU1RESVJ9CisKKwkjIE1vdmUgbGliY2MxLnNvKiB0byB0aGUg c3lzcm9vdAorCW12ICR7REVTVERJUn0vdXNyL2xpYi9saWJjYzEuc28qICR7REVTVERJUn0vJHtz eXNyb290fS91c3IvbGliCisKKwlpZiBbICIkY3Jvc3NfbGliYyIgPSAibXVzbCIgXTsgdGhlbgor CQkjIEluc3RhbGwgbXVzbAorCQljZCAke3dya3NyY30vbXVzbF9idWlsZAorCQltYWtlIERFU1RE SVI9JHtERVNURElSfS8ke3N5c3Jvb3R9IGluc3RhbGwKKworCQkjIFJlbW92ZSB1c2VsZXNzIGhl YWRlcnMKKwkJcm0gLXJmICR7REVTVERJUn0vdXNyL2xpYi9nY2MvJHtjcm9zc190cmlwbGV0fS8q L2luY2x1ZGUtZml4ZWQKKworCQkjIE1ha2UgbGQtbXVzbC5zbyBzeW1saW5rcyByZWxhdGl2ZQor CQlmb3IgZiBpbiAke0RFU1RESVJ9LyR7c3lzcm9vdH0vdXNyL2xpYi9sZC1tdXNsLSouc28uKjsg ZG8KKwkJCWxuIC1zZiBsaWJjLnNvICR7Zn0KKwkJZG9uZQorCWVsc2UKKwkJIyBJbnN0YWxsIGds aWJjCisJCWNkICR7d3Jrc3JjfS9nbGliY19idWlsZAorCQltYWtlIGluc3RhbGxfcm9vdD0ke0RF U1RESVJ9LyR7c3lzcm9vdH0gaW5zdGFsbCBpbnN0YWxsLWhlYWRlcnMKKworCQkjIFJlbW92ZSBi YWQgaGVhZGVyCisJCXJtIC1mICR7REVTVERJUn0vdXNyL2xpYi9nY2MvJHtjcm9zc19fdHJpcGxl dH0vKi9pbmNsdWRlLWZpeGVkL2JpdHMvc3RhdHguaAorCWZpCisKKwkjIFN5bWxpbmtzIGZvciBn bmFybCBhbmQgZ25hdCBzaGFyZWQgbGlicmFyaWVzCisJbG9jYWwgbWFqb3J2ZXI9JHtjcm9zc19n Y2NfdmVyc2lvbiUuKi4qfQorCWxvY2FsIGFkYWxpYj11c3IvbGliL2djYy8ke190cmlwbGV0fS8k e19nY2NfdmVyc2lvbn0vYWRhbGliCisJbXYgJHtERVNURElSfS8ke2FkYWxpYn0vbGliZ25hcmwt JHttYWpvcnZlcn0uc28gXAorCQkke0RFU1RESVJ9LyR7c3lzcm9vdH0vdXNyL2xpYgorCW12ICR7 REVTVERJUn0vJHthZGFsaWJ9L2xpYmduYXQtJHttYWpvcnZlcn0uc28gXAorCQkke0RFU1RESVJ9 LyR7c3lzcm9vdH0vdXNyL2xpYgorCWxuIC1zZiBsaWJnbmFybC0ke21ham9ydmVyfS5zbyAke0RF U1RESVJ9LyR7c3lzcm9vdH0vdXNyL2xpYi9saWJnbmFybC5zbworCWxuIC1zZiBsaWJnbmF0LSR7 bWFqb3J2ZXJ9LnNvICR7REVTVERJUn0vJHtzeXNyb290fS91c3IvbGliL2xpYmduYXQuc28KKwly bSAtdmYgJHtERVNURElSfS8ke2FkYWxpYn0vbGliZ25he3JsLHR9LnNvCisKKwkjIFJlbW92ZSB1 bm5lY2Vzc2FyeSBsaWJhdG9taWMgd2hpY2ggaXMgb25seSBidWlsdCBmb3IgZ2NjZ28KKwlybSAt cmYgJHtERVNURElSfS8ke3N5c3Jvb3R9L3Vzci9saWIvbGliYXRvbWljLioKKworCSMgSWYgbGli cXVhZG1hdGggd2FzIGZvcmNlZCAobmVlZGVkIGZvciBnZm9ydHJhbiBvbiBzb21lIHBsYXRmb3Jt cykKKwkjIHRoZW4gcmVtb3ZlIGl0IGJlY2F1c2UgaXQgY29uZmxpY3RzIHdpdGggbGlicXVhZG1h dGggcGFja2FnZQorCXJtIC1yZiAke0RFU1RESVJ9LyR7c3lzcm9vdH0vdXNyL2xpYi9saWJxdWFk bWF0aC4qCisKKwkjIFJlbW92ZSBsZWZ0b3ZlciBzeW1saW5rcworCXJtIC1mICR7REVTVERJUn0v dXNyL2xpYiR7WEJQU19UQVJHRVRfV09SRFNJWkV9CisJcm0gLWYgJHtERVNURElSfS9saWIqCisJ cm0gLWYgJHtERVNURElSfS8qYmluCisJIyBSZW1vdmUgdW5uZWNlc3Nhcnkgc3R1ZmYKKwlybSAt cmYgJHtERVNURElSfS8ke3N5c3Jvb3R9L3tzYmluLGV0Yyx2YXIsbGliZXhlY30KKwlybSAtcmYg JHtERVNURElSfS8ke3N5c3Jvb3R9L3Vzci97c2JpbixzaGFyZSxsaWJleGVjfQorCXJtIC1yZiAk e0RFU1RESVJ9L3Vzci9zaGFyZQorCXJtIC1mICR7REVTVERJUn0vdXNyL2xpYiovbGliaWJlcnR5 LmEKKworCWV4cG9ydCBQQVRIPSIkb2xkcGF0aCIKKwlleHBvcnQgTERfTElCUkFSWV9QQVRIPSIk b2xkbGRsaWIiCit9CmRpZmYgLS1naXQgYS9jb21tb24vZW52aXJvbm1lbnQvYnVpbGQtc3R5bGUv dm9pZC1jcm9zcy5zaCBiL2NvbW1vbi9lbnZpcm9ubWVudC9idWlsZC1zdHlsZS92b2lkLWNyb3Nz LnNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi44MGFhYWI0N2ZkMgot LS0gL2Rldi9udWxsCisrKyBiL2NvbW1vbi9lbnZpcm9ubWVudC9idWlsZC1zdHlsZS92b2lkLWNy b3NzLnNoCkBAIC0wLDAgKzEsMTEgQEAKK2xpYjMyZGlzYWJsZWQ9eWVzCitub2Nyb3NzPXllcwor bm9waWU9eWVzCitjcmVhdGVfd3Jrc3JjPXllcworCitub3N0cmlwX2ZpbGVzKz0ibGliY2FmX3Np bmdsZS5hIGxpYmdjYy5hIGxpYmdjb3YuYSBsaWJnY2NfZWguYQorIGxpYmduYXJsX3BpYy5hIGxp YmduYXJsLmEgbGliZ25hdF9waWMuYSBsaWJnbmF0LmEgbGliZ21lbS5hIgorCitpZiBbICIkY3Jv c3NfbGliYyIgPSAiZ2xpYmMiIC1hICIkWEJQU19UQVJHRVRfTElCQyIgIT0gImdsaWJjIiBdOyB0 aGVuCisgICAgYnJva2VuPSJnbGliYyBjcm9zc3Rvb2xjaGFpbnMgYXJlIG9ubHkgYXZhaWxhYmxl IG9uIGdsaWJjIGhvc3RzIGZvciBub3ciCitmaQoKRnJvbSA5YTBlNDA5NGU0ZGRmN2Q4OTE3ZWNl ZWIzNDQwMzEzY2Y5M2VjOWFmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBxNjYgPGRh bmllbEBvY3RhZm9yZ2Uub3JnPgpEYXRlOiBGcmksIDI1IERlYyAyMDIwIDAwOjQzOjQ4ICswMTAw ClN1YmplY3Q6IFtQQVRDSCAwMy8yNl0gY3Jvc3MtYWFyY2g2NC1saW51eC1nbnU6IHJlZG8gd2l0 aCB2b2lkLWNyb3NzCgotLS0KIHNyY3BrZ3MvY3Jvc3MtYWFyY2g2NC1saW51eC1nbnUvdGVtcGxh dGUgfCAzNjcgKystLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxOSBpbnNl cnRpb25zKCspLCAzNDggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jcm9zcy1h YXJjaDY0LWxpbnV4LWdudS90ZW1wbGF0ZSBiL3NyY3BrZ3MvY3Jvc3MtYWFyY2g2NC1saW51eC1n bnUvdGVtcGxhdGUKaW5kZXggYjAxMjJjOGVjNGEuLmY1MGQxN2I4YjgwIDEwMDY0NAotLS0gYS9z cmNwa2dzL2Nyb3NzLWFhcmNoNjQtbGludXgtZ251L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvY3Jv c3MtYWFyY2g2NC1saW51eC1nbnUvdGVtcGxhdGUKQEAgLTEsMjEgKzEsMjEgQEAKLSMgVGVtcGxh dGUgYnVpbGQgZmlsZSBmb3IgJ2Nyb3NzLWFhcmNoNjQtbGludXgtZ251JwotIworIyBUZW1wbGF0 ZSBmaWxlIGZvciAnY3Jvc3MtYWFyY2g2NC1saW51eC1nbnUnCitfdHJpcGxldD1hYXJjaDY0LWxp bnV4LWdudQogX2JpbnV0aWxzX3ZlcnNpb249Mi4zMgogX2djY192ZXJzaW9uPTkuMy4wCiBfZ2xp YmNfdmVyc2lvbj0yLjMwCiBfbGludXhfdmVyc2lvbj00LjE5Ci0KLV90cmlwbGV0PWFhcmNoNjQt bGludXgtZ251Ci1fYXJjaGZsYWdzPSItbWFyY2g9YXJtdjgtYSIKLV9zeXNyb290PSIvdXNyLyR7 X3RyaXBsZXR9IgotCiBwa2duYW1lPWNyb3NzLSR7X3RyaXBsZXR9CiB2ZXJzaW9uPTAuMzMKIHJl dmlzaW9uPTMKLXNob3J0X2Rlc2M9IkdOVSBDcm9zcyB0b29sY2hhaW4gZm9yIHRoZSAke190cmlw bGV0fSBMRSB0YXJnZXQgKGJpbnV0aWxzL2djYy9nbGliYykiCitidWlsZF9zdHlsZT12b2lkLWNy b3NzCitjb25maWd1cmVfYXJncz0iLS13aXRoLWFyY2g9YXJtdjgtYSIKK2hvc3RtYWtlZGVwZW5k cz0idGFyIGdjYy1vYmpjIGdjYy1nbyBmbGV4IHBlcmwgcHl0aG9uMyIKK21ha2VkZXBlbmRzPSJp c2wxNS1kZXZlbCBsaWJtcGMtZGV2ZWwgemxpYi1kZXZlbCBnbXAtZGV2ZWwgbXBmci1kZXZlbCIK K2RlcGVuZHM9IiR7cGtnbmFtZX0tbGliYy0ke3ZlcnNpb259XyR7cmV2aXNpb259Igorc2hvcnRf ZGVzYz0iVm9pZCBjcm9zcyB0b29sY2hhaW4gZm9yICR7X3RyaXBsZXR9IgogbWFpbnRhaW5lcj0i TGVhaCBOZXVraXJjaGVuIDxsZWFoQHZ1eHUub3JnPiIKLWhvbWVwYWdlPSJodHRwczovL3d3dy52 b2lkbGludXgub3JnLyIKIGxpY2Vuc2U9IkdQTC0yLjAtb3ItbGF0ZXIsIEdQTC0zLjAtb3ItbGF0 ZXIsIExHUEwtMi4xLW9yLWxhdGVyIgoraG9tZXBhZ2U9Imh0dHBzOi8vd3d3LnZvaWRsaW51eC5v cmcvIgogZGlzdGZpbGVzPSIKICAke0dOVV9TSVRFfS9iaW51dGlscy9iaW51dGlscy0ke19iaW51 dGlsc192ZXJzaW9ufS50YXIueHoKICAke0dOVV9TSVRFfS9nY2MvZ2NjLSR7X2djY192ZXJzaW9u fS9nY2MtJHtfZ2NjX3ZlcnNpb259LnRhci54egpAQCAtMjYsMzQ5ICsyNiwyMCBAQCBjaGVja3N1 bT0iMGFiNmM1NWRkODZhOTJlZDU2MTk3MmJhMTViOWI3MGE4YjlmNzU1NTdmODk2NDQ2YzgyZThi MzZlNDczZWUwNAogIGUyYzQxMTRlNTY5YWZiZTdlZGJjMjkxMzFhNDNiZTgzMzg1MGFiOWE0NTlk ODFiZWIyNTg4MDE2ZDJiYmI4YWYKICAwYzY4ZjU2NTU1MjhhZWQ0Zjk5ZGFlNzFhNWIyNTllZGM5 MzIzOWZhODk5ZTJkZjc5YzA1NTI3NWMyMTc0OWExIgogCi1saWIzMmRpc2FibGVkPXllcwotbm9j cm9zcz15ZXMKLW5vcGllPXllcwotY3JlYXRlX3dya3NyYz15ZXMKLWhvc3RtYWtlZGVwZW5kcz0i dGFyIGdjYy1vYmpjIGdjYy1nbyBmbGV4IHBlcmwgcHl0aG9uMyIKLW1ha2VkZXBlbmRzPSJpc2wx NS1kZXZlbCBsaWJtcGMtZGV2ZWwgemxpYi1kZXZlbCIKLWRlcGVuZHM9IiR7cGtnbmFtZX0tbGli Yy0ke3ZlcnNpb259XyR7cmV2aXNpb259Igotbm9zdHJpcF9maWxlcz0ibGliY2FmX3NpbmdsZS5h IGxpYmdjYy5hIGxpYmdjb3YuYSBsaWJnY2NfZWguYQotIGxpYmduYXJsX3BpYy5hIGxpYmduYXJs LmEgbGliZ25hdF9waWMuYSBsaWJnbmF0LmEgbGliZ21lbS5hIgotCi1pZiBbICIkWEJQU19UQVJH RVRfTElCQyIgIT0gImdsaWJjIiBdOyB0aGVuCi0JYnJva2VuPSJnbGliYyBjcm9zc3Rvb2xjaGFp biBvbmx5IGF2YWlsYWJsZSBvbiBnbGliYyIKLWZpCi0KLWlmIFsgIiRYQlBTX1RBUkdFVF9XT1JE U0laRSIgIT0gIjY0IiBdOyB0aGVuCi0JYnJva2VuPSI2NC1iaXQgY3Jvc3N0b29sY2hhaW4gb25s eSBhdmFpbGFibGUgb24gNjQtYml0IGhvc3QiCi1maQorY3Jvc3NfdHJpcGxldD0ke190cmlwbGV0 fQorY3Jvc3Nfd29yZHNpemU9NjQKK2Nyb3NzX2xpYmM9Z2xpYmMKK2Nyb3NzX2JpbnV0aWxzX3Zl cnNpb249JHtfYmludXRpbHNfdmVyc2lvbn0KK2Nyb3NzX2djY192ZXJzaW9uPSR7X2djY192ZXJz aW9ufQorY3Jvc3NfZ2xpYmNfdmVyc2lvbj0ke19nbGliY192ZXJzaW9ufQorY3Jvc3NfbGludXhf dmVyc2lvbj0ke19saW51eF92ZXJzaW9ufQorY3Jvc3NfbGludXhfYXJjaD1hcm02NAorY3Jvc3Nf Z2xpYmNfY2ZsYWdzPSItTzIgLW1hcmNoPWFybXY4LWEiCiAKIGlmIFsgIiRYQlBTX1RBUkdFVF9N QUNISU5FIiA9ICJhYXJjaDY0IiBdOyB0aGVuCiAJYnJva2VuPSJDYW4ndCBidWlsZCBjcm9zc3Rv b2xjaGFpbiB0byBpdHNlbGYiCiBmaQogCi1fYXBwbHlfcGF0Y2goKSB7Ci0JbG9jYWwgYXJncz0i JDEiIHBuYW1lPSIkKGJhc2VuYW1lICQyKSIKLQotCWlmIFsgISAtZiAiLiR7cG5hbWV9X2RvbmUi IF07IHRoZW4KLQkJcGF0Y2ggLU4gJGFyZ3MgLWkgJDIKLQkJdG91Y2ggLiR7cG5hbWV9X2RvbmUK LQlmaQotfQotCi1fbGludXhfaGVhZGVycygpIHsKLQlbIC1mICR7d3Jrc3JjfS8ubGludXhfYnVp bGRfZG9uZSBdICYmIHJldHVybiAwCi0KLQljZCAke3dya3NyY30KLQltc2dfbm9ybWFsICJCdWls ZGluZyBMaW51eCBBUEkgaGVhZGVycyBmb3IgQVJNXG4iCi0KLQljZCBsaW51eC0ke19saW51eF92 ZXJzaW9ufQotCi0JbWFrZSBBUkNIPWFybTY0IGhlYWRlcnNfY2hlY2sKLQltYWtlIEFSQ0g9YXJt NjQgSU5TVEFMTF9IRFJfUEFUSD0ke19zeXNyb290fS91c3IgaGVhZGVyc19pbnN0YWxsCi0KLQl0 b3VjaCAke3dya3NyY30vLmxpbnV4X2J1aWxkX2RvbmUKLX0KLQotX2JpbnV0aWxzX2J1aWxkKCkg ewotCWxvY2FsIF9hcmdzCi0KLQlbIC1mICR7d3Jrc3JjfS8uYmludXRpbHNfYnVpbGRfZG9uZSBd ICYmIHJldHVybiAwCi0KLQljZCAke3dya3NyY30KLQltc2dfbm9ybWFsICJCdWlsZGluZyBjcm9z cyBiaW51dGlsc1xuIgotCVsgISAtZCBiaW51dGlscy1idWlsZCBdICYmIG1rZGlyIGJpbnV0aWxz LWJ1aWxkCi0JY2QgYmludXRpbHMtYnVpbGQKLQotCV9hcmdzPSItLXByZWZpeD0vdXNyIgotCV9h cmdzKz0iIC0tdGFyZ2V0PSR7X3RyaXBsZXR9IgotCV9hcmdzKz0iIC0td2l0aC1zeXNyb290PSR7 X3N5c3Jvb3R9IgotCV9hcmdzKz0iIC0tZGlzYWJsZS1ubHMiCi0JX2FyZ3MrPSIgLS1kaXNhYmxl LXNoYXJlZCIKLQlfYXJncys9IiAtLWRpc2FibGUtbXVsdGlsaWIiCi0JX2FyZ3MrPSIgLS1kaXNh YmxlLXdlcnJvciIKLQlfYXJncys9IiAtLWRpc2FibGUtZ29sZCIKLQlfYXJncys9IiAtLXdpdGgt c3lzdGVtLXpsaWIiCi0JLi4vYmludXRpbHMtJHtfYmludXRpbHNfdmVyc2lvbn0vY29uZmlndXJl ICR7X2FyZ3N9Ci0KLQltYWtlIGNvbmZpZ3VyZS1ob3N0ICYmIG1ha2UgJHttYWtlam9ic30KLQlt YWtlIGluc3RhbGwKLQotCXRvdWNoICR7d3Jrc3JjfS8uYmludXRpbHNfYnVpbGRfZG9uZQotfQot Ci1fZ2NjX2Jvb3RzdHJhcCgpIHsKLQlsb2NhbCBfYXJncwotCi0JWyAtZiAke3dya3NyY30vLmdj Y19ib290c3RyYXBfZG9uZSBdICYmIHJldHVybiAwCi0KLQljZCAke3dya3NyY30vZ2NjLSR7X2dj Y192ZXJzaW9ufQotCWZvciBmIGluICR7WEJQU19TUkNQS0dESVJ9L2djYy9wYXRjaGVzLyoucGF0 Y2g7IGRvCi0JCV9hcHBseV9wYXRjaCAtcDAgIiRmIgotCWRvbmUKLQotCW1zZ19ub3JtYWwgIkJ1 aWxkaW5nIGNyb3NzIGdjYyBib290c3RyYXBcbiIKLQotCVsgISAtZCAuLi9nY2MtYm9vdHN0cmFw IF0gJiYgbWtkaXIgLi4vZ2NjLWJvb3RzdHJhcAotCWNkIC4uL2djYy1ib290c3RyYXAKLQotCV9h cmdzPSItLXByZWZpeD0vdXNyIgotCV9hcmdzKz0iIC0tdGFyZ2V0PSR7X3RyaXBsZXR9IgotCV9h cmdzKz0iIC0td2l0aG91dC1oZWFkZXJzIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1ubHMiCi0JX2Fy Z3MrPSIgLS1kaXNhYmxlLXNoYXJlZCIKLQlfYXJncys9IiAtLWRpc2FibGUtbGlicXVhZG1hdGgi Ci0JX2FyZ3MrPSIgLS1kaXNhYmxlLWRlY2ltYWwtZmxvYXQiCi0JX2FyZ3MrPSIgLS1kaXNhYmxl LWxpYmdvbXAiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYm1weCIKLQlfYXJncys9IiAtLWRpc2Fi bGUtbGlibXVkZmxhcCIKLQlfYXJncys9IiAtLWRpc2FibGUtbGlic3NwIgotCV9hcmdzKz0iIC0t ZGlzYWJsZS1saWJpdG0iCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYmF0b21pYyIKLQlfYXJncys9 IiAtLWRpc2FibGUtdGhyZWFkcyIKLQlfYXJncys9IiAtLWVuYWJsZS1sYW5ndWFnZXM9YyIKLQlf YXJncys9IiAtLWRpc2FibGUtc2psai1leGNlcHRpb25zIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1t dWx0aWxpYiIKLQlfYXJncys9IiAtLXdpdGgtZ251LWxkIgotCV9hcmdzKz0iIC0td2l0aC1nbnUt YXMiCi0KLQkuLi9nY2MtJHtfZ2NjX3ZlcnNpb259L2NvbmZpZ3VyZSAke19hcmdzfQotCi0JbWFr ZSAke21ha2Vqb2JzfQotCW1ha2UgaW5zdGFsbAotCi0JdG91Y2ggJHt3cmtzcmN9Ly5nY2NfYm9v dHN0cmFwX2RvbmUKLX0KLQotX2dsaWJjX2hlYWRlcnMoKSB7Ci0JbG9jYWwgX2FyZ3MgZgotCi0J WyAtZiAke3dya3NyY30vLmdsaWJjX2hlYWRlcnNfZG9uZSBdICYmIHJldHVybiAwCi0KLQljZCAk e3dya3NyY30vZ2xpYmMtJHtfZ2xpYmNfdmVyc2lvbn0KLQlpZiBbIC1kICIke1hCUFNfU1JDUEtH RElSfS9nbGliYy9wYXRjaGVzIiBdOyB0aGVuCi0JCWZvciBmIGluICR7WEJQU19TUkNQS0dESVJ9 L2dsaWJjL3BhdGNoZXMvKi5wYXRjaDsgZG8KLQkJCV9hcHBseV9wYXRjaCAtcDEgIiRmIgotCQlk b25lCi0JZmkKLQotCWNkICR7d3Jrc3JjfQotCW1zZ19ub3JtYWwgIkJ1aWxkaW5nIGNyb3NzIGds aWJjIGhlYWRlcnNcbiIKLQotCVsgISAtZCBnbGliYy1oZWFkZXJzIF0gJiYgbWtkaXIgZ2xpYmMt aGVhZGVycwotCWNkIGdsaWJjLWhlYWRlcnMKLQotCWVjaG8gImxpYmNfY3ZfZm9yY2VkX3Vud2lu ZD15ZXMiID4gY29uZmlnLmNhY2hlCi0JZWNobyAibGliY19jdl9jX2NsZWFudXA9eWVzIiA+PiBj b25maWcuY2FjaGUKLQotCWV4cG9ydCBDQz0iJHtfdHJpcGxldH0tZ2NjIiBMRD0iJHtfdHJpcGxl dH0tbGQiIFwKLQkJQVM9IiR7X3RyaXBsZXR9LWFzIiBDUFA9IiR7X3RyaXBsZXR9LWNwcCIgXAot CQlOTT0iJHtfdHJpcGxldH0tbm0iCi0KLQlfYXJncz0iLS1wcmVmaXg9L3VzciIKLQlfYXJncys9 IiAtLWhvc3Q9JHtfdHJpcGxldH0iCi0JX2FyZ3MrPSIgLS13aXRoLWhlYWRlcnM9JHtfc3lzcm9v dH0vdXNyL2luY2x1ZGUiCi0JX2FyZ3MrPSIgLS1jb25maWctY2FjaGUiCi0JX2FyZ3MrPSIgLS1l bmFibGUtb2Jzb2xldGUtcnBjIgotCV9hcmdzKz0iIC0tZW5hYmxlLW9ic29sZXRlLW5zbCIKLQlf YXJncys9IiAtLWVuYWJsZS1rZXJuZWw9Mi42LjI3IgotCi0JLi4vZ2xpYmMtJHtfZ2xpYmNfdmVy c2lvbn0vY29uZmlndXJlICR7X2FyZ3N9Ci0KLQltYWtlIC1rIGluc3RhbGwtaGVhZGVycyBjcm9z c19jb21waWxpbmc9eWVzIFwKLQkJaW5zdGFsbF9yb290PSR7X3N5c3Jvb3R9Ci0KLQl0b3VjaCAk e3dya3NyY30vLmdsaWJjX2hlYWRlcnNfZG9uZQotfQotCi1fZ2xpYmNfYnVpbGQoKSB7Ci0JbG9j YWwgX2FyZ3MKLQotCVsgLWYgJHt3cmtzcmN9Ly5nbGliY19idWlsZF9kb25lIF0gJiYgcmV0dXJu IDAKLQotCWNkICR7d3Jrc3JjfQotCW1zZ19ub3JtYWwgIkJ1aWxkaW5nIGNyb3NzIGdsaWJjXG4i Ci0KLQlbICEgLWQgZ2xpYmMtYnVpbGQgXSAmJiBta2RpciBnbGliYy1idWlsZAotCWNkIGdsaWJj LWJ1aWxkCi0KLQllY2hvICJzbGliZGlyPS91c3IvbGliNjQiID4gY29uZmlncGFybXMKLQotCWVj aG8gImxpYmNfY3ZfZm9yY2VkX3Vud2luZD15ZXMiID4gY29uZmlnLmNhY2hlCi0JZWNobyAibGli Y19jdl9jX2NsZWFudXA9eWVzIiA+PiBjb25maWcuY2FjaGUKLQotCWV4cG9ydCBDQz0iJHtfdHJp cGxldH0tZ2NjIiBDWFg9IiR7X3RyaXBsZXR9LWcrKyIgTEQ9IiR7X3RyaXBsZXR9LWxkIiBcCi0J CUFTPSIke190cmlwbGV0fS1hcyIgQ1BQPSIke190cmlwbGV0fS1jcHAiIFwKLQkJTk09IiR7X3Ry aXBsZXR9LW5tIgotCWV4cG9ydCBDRkxBR1M9Ii1PMSAtcGlwZSAke19hcmNoZmxhZ3N9IgotCi0J X2FyZ3M9Ii0tcHJlZml4PS91c3IiCi0JX2FyZ3MrPSIgLS1saWJkaXI9L3Vzci9saWI2NCIKLQlf YXJncys9IiAtLWhvc3Q9JHtfdHJpcGxldH0iCi0JX2FyZ3MrPSIgLS13aXRoLWhlYWRlcnM9JHtf c3lzcm9vdH0vdXNyL2luY2x1ZGUiCi0JX2FyZ3MrPSIgLS1jb25maWctY2FjaGUiCi0JX2FyZ3Mr PSIgLS1lbmFibGUtb2Jzb2xldGUtcnBjIgotCV9hcmdzKz0iIC0tZW5hYmxlLW9ic29sZXRlLW5z bCIKLQlfYXJncys9IiAtLWRpc2FibGUtcHJvZmlsZSIKLQlfYXJncys9IiAtLWVuYWJsZS1rZXJu ZWw9Mi42LjI3IgotCV9hcmdzKz0iIC0tZGlzYWJsZS13ZXJyb3IiCi0KLQkuLi9nbGliYy0ke19n bGliY192ZXJzaW9ufS9jb25maWd1cmUgJHtfYXJnc30KLQotCW1ha2UgJHttYWtlam9ic30KLQlt YWtlIGluc3RhbGxfcm9vdD0ke19zeXNyb290fSBpbnN0YWxsCi0KLQl0b3VjaCAke3dya3NyY30v LmdsaWJjX2J1aWxkX2RvbmUKLX0KLQotX2djY19idWlsZCgpIHsKLQlsb2NhbCBfYXJncwotCi0J WyAtZiAke3dya3NyY30vLmdjY19idWlsZF9kb25lIF0gJiYgcmV0dXJuIDAKLQotCWNkICR7d3Jr c3JjfQotCW1zZ19ub3JtYWwgIkJ1aWxkaW5nIGNyb3NzIGdjYyBmaW5hbFxuIgotCi0JWyAhIC1k IGdjYy1idWlsZCBdICYmIG1rZGlyIGdjYy1idWlsZAotCWNkIGdjYy1idWlsZAotCi0JZXhwb3J0 IENDPSJnY2MiIENYWD0iZysrIiBDRkxBR1M9Ii1PcyAtcGlwZSIKLQl1bnNldCBMRCBBUwotCi0J IyBNYWtlIHRoaXMgbGluayB0byB0YXJnZXQgbGlicy4KLQlpZiBbICEgLWYgLnNlZF9zdWJzdF9k b25lIF07IHRoZW4KLQkJc2VkIC1lICJzLCAvbGliLywgJHtfc3lzcm9vdH0vbGliLyxnO3MsIC91 c3IvbGliLywgJHtfc3lzcm9vdH0vdXNyL2xpYi8sZyIgXAotCQkJLWkgJHtfc3lzcm9vdH0vbGli L2xpYmMuc28KLQkJc2VkIC1lICJzLCAvbGliNjQvLCAke19zeXNyb290fS9saWI2NC8sZztzLCAv dXNyL2xpYjY0LywgJHtfc3lzcm9vdH0vdXNyL2xpYjY0LyxnIiBcCi0JCQktaSAke19zeXNyb290 fS9saWIvbGliYy5zbwotCQl0b3VjaCAuc2VkX3N1YnN0X2RvbmUKLQlmaQotCi0JX2FyZ3M9Ii0t cHJlZml4PS91c3IiCi0JX2FyZ3MrPSIgLS1saWJleGVjZGlyPS91c3IvbGliIgotCV9hcmdzKz0i IC0tdGFyZ2V0PSR7X3RyaXBsZXR9IgotCV9hcmdzKz0iIC0td2l0aC1zeXNyb290PSR7X3N5c3Jv b3R9IgotCV9hcmdzKz0iIC0tZW5hYmxlLWxhbmd1YWdlcz1jLGFkYSxjKyssb2JqYyxvYmotYysr LGdvLGZvcnRyYW4sbHRvIgotCV9hcmdzKz0iIC0td2l0aC1nbnUtYXMiCi0JX2FyZ3MrPSIgLS13 aXRoLWdudS1sZCIKLQlfYXJncys9IiAtLWRpc2FibGUtbXVsdGlsaWIiCi0JX2FyZ3MrPSIgLS1k aXNhYmxlLW5scyIKLQlfYXJncys9IiAtLWRpc2FibGUtc2psai1leGNlcHRpb25zIgotCV9hcmdz Kz0iIC0tZW5hYmxlLXRocmVhZHM9cG9zaXgiCi0JX2FyZ3MrPSIgLS1lbmFibGUtbG9uZy1sb25n eCIKLQlfYXJncys9IiAtLWVuYWJsZS1zaGFyZWQiCi0JX2FyZ3MrPSIgLS1lbmFibGUtbGlua2Vy LWJ1aWxkLWlkIgotCV9hcmdzKz0iIC0tZW5hYmxlLWdudS11bmlxdWUtb2JqZWN0IgotCV9hcmdz Kz0iIC0tZW5hYmxlLWxpYmFkYSIKLQlfYXJncys9IiAtLWVuYWJsZS1sdG8iCi0JX2FyZ3MrPSIg LS1lbmFibGUtZGVmYXVsdC1waWUiCi0JX2FyZ3MrPSIgLS1lbmFibGUtZGVmYXVsdC1zc3AiCi0J X2FyZ3MrPSIgLS1kaXNhYmxlLWxpYnF1YWRtYXRoIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJz c3AiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYm11ZGZsYXAiCi0JX2FyZ3MrPSIgLS1kaXNhYmxl LWxpYnNhbml0aXplciIKLQlfYXJncys9IiAtLWRpc2FibGUtbGliY2lsa3J0cyIKLQlfYXJncys9 IiAtLWRpc2FibGUtbGliaXRtIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJ2dHYiCi0JX2FyZ3Mr PSIgLS1kaXNhYmxlLWxpYnN0ZGN4eC1wY2giCi0JX2FyZ3MrPSIgLS1lbmFibGUtbGlic3RkY3h4 LXRpbWUiCi0JX2FyZ3MrPSIgLS13aXRoLWxpbmtlci1oYXNoLXN0eWxlPWdudSIKLQotCS4uL2dj Yy0ke19nY2NfdmVyc2lvbn0vY29uZmlndXJlICR7X2FyZ3N9Ci0KLQltYWtlICR7bWFrZWpvYnN9 Ci0KLQl0b3VjaCAke3dya3NyY30vLmdjY19idWlsZF9kb25lCi19Ci0KLWRvX2J1aWxkKCkgewot CXVuc2V0IExERkxBR1MKLQlleHBvcnQgQ0ZMQUdTPSItT3MiIENYWEZMQUdTPSItT3MiCi0KLQlm b3IgZiBpbiBpbmNsdWRlIGxpYiBsaWJleGVjIGJpbiBzYmluOyBkbwotCQlpZiBbICEgLWQgJHtf c3lzcm9vdH0vdXNyLyR7Zn0gXTsgdGhlbgotCQkJbWtkaXIgLXAgJHtfc3lzcm9vdH0vdXNyLyR7 Zn0KLQkJZmkKLQkJaWYgWyAhIC1oICR7X3N5c3Jvb3R9LyR7Zn0gXTsgdGhlbgotCQkJbG4gLXNm ciAke19zeXNyb290fS91c3IvJHtmfSAke19zeXNyb290fS8ke2Z9Ci0JCWZpCi0JZG9uZQotCWxu IC1zZiBsaWIgJHtfc3lzcm9vdH0vdXNyL2xpYjY0Ci0JbG4gLXNmIHVzci9saWIgJHtfc3lzcm9v dH0vbGliNjQKLQotCV9iaW51dGlsc19idWlsZAotCV9nY2NfYm9vdHN0cmFwCi0JX2xpbnV4X2hl YWRlcnMKLQlfZ2xpYmNfaGVhZGVycwotCV9nbGliY19idWlsZAotCV9nY2NfYnVpbGQKLX0KLQot ZG9faW5zdGFsbCgpIHsKLQlmb3IgZiBpbiBpbmNsdWRlIGxpYiBsaWJleGVjIGJpbiBzYmluOyBk bwotCQlpZiBbICEgLWQgJHtERVNURElSfS8ke19zeXNyb290fS91c3IvJHtmfSBdOyB0aGVuCi0J CQlta2RpciAtcCAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci8ke2Z9Ci0JCWZpCi0JCWlmIFsg ISAtaCAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9LyR7Zn0gXTsgdGhlbgotCQkJbG4gLXNmciAke0RF U1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci8ke2Z9IFwKLQkJCQkke0RFU1RESVJ9LyR7X3N5c3Jvb3R9 LyR7Zn0KLQkJZmkKLQlkb25lCi0JbG4gLXNmIGxpYiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vz ci9saWI2NAotCWxuIC1zZiB1c3IvbGliICR7REVTVERJUn0vJHtfc3lzcm9vdH0vbGliNjQKLQot CSMgaW5zdGFsbCBjcm9zcyBiaW51dGlscwotCWNkICR7d3Jrc3JjfS9iaW51dGlscy1idWlsZAot CW1ha2UgREVTVERJUj0ke0RFU1RESVJ9IGluc3RhbGwKLQotCSMgaW5zdGFsbCBjcm9zcyBnY2MK LQljZCAke3dya3NyY30vZ2NjLWJ1aWxkCi0JbWFrZSBERVNURElSPSR7REVTVERJUn0gaW5zdGFs bAotCi0JIyBtb3ZlIGxpYmNjMS5zbyogdG8gdGhlIHN5c3Jvb3QKLQltdiAke0RFU1RESVJ9L3Vz ci9saWIvbGliY2MxLnNvKiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci9saWIKLQotCSMgaW5z dGFsbCBsaW51eCBBUEkgaGVhZGVycyBmb3IgQVJNNjQKLQljZCAke3dya3NyY30vbGludXgtJHtf bGludXhfdmVyc2lvbn0KLQltYWtlIEFSQ0g9YXJtNjQgSU5TVEFMTF9IRFJfUEFUSD0ke0RFU1RE SVJ9LyR7X3N5c3Jvb3R9L3VzciBoZWFkZXJzX2luc3RhbGwKLQlybSAtZiAkKGZpbmQgJHtERVNU RElSfS8ke19zeXNyb290fS91c3IvaW5jbHVkZSAtbmFtZSAuaW5zdGFsbCAtb3IgLW5hbWUgLi5p bnN0YWxsLmNtZCkKLQlybSAtcmYgJHtERVNURElSfS8ke19zeXNyb290fS91c3IvaW5jbHVkZS9k cm0KLQotCSMgaW5zdGFsbCBnbGliYyBmb3IgdGFyZ2V0Ci0JY2QgJHt3cmtzcmN9L2dsaWJjLWJ1 aWxkCi0JbWFrZSBpbnN0YWxsX3Jvb3Q9JHtERVNURElSfS8ke19zeXNyb290fSBpbnN0YWxsIGlu c3RhbGwtaGVhZGVycwotCi0JIyBzeW1saW5rcyBmb3IgZ25hcmwgYW5kIGduYXQgc2hhcmVkIGxp YnJhcmllcwotCV9tYWpvcnZlcj0ke19nY2NfdmVyc2lvbiUuKi4qfQotCV9hZGFsaWI9dXNyL2xp Yi9nY2MvJHtfdHJpcGxldH0vJHtfZ2NjX3ZlcnNpb259L2FkYWxpYgotCW12IC12ICR7REVTVERJ Un0vJHtfYWRhbGlifS9saWJnbmFybC0ke19tYWpvcnZlcn0uc28gJHtERVNURElSfS8ke19zeXNy b290fS91c3IvbGliCi0JbXYgLXYgJHtERVNURElSfS8ke19hZGFsaWJ9L2xpYmduYXQtJHtfbWFq b3J2ZXJ9LnNvICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL2xpYgotCWxuIC1zdmYgbGliZ25h cmwtJHtfbWFqb3J2ZXJ9LnNvIGxpYmduYXJsLnNvCi0JbG4gLXN2ZiBsaWJnbmF0LSR7X21ham9y dmVyfS5zbyBsaWJnbmF0LnNvCi0Jcm0gLXZmICR7REVTVERJUn0vJHtfYWRhbGlifS9saWJnbmF7 cmwsdH0uc28KLQotCSMgV2UgbmVlZCB0byBidWlsZCBsaWJhdG9taWMgaW4gdGFyZ2V0IGdjYyBh cyBnY2NnbyBuZWVkcyBpdCB0bwotCSMgYnVpbGQuLi4gYnV0IGl0J3Mgbm90IG5lZWRlZCBhdCBy dW50aW1lLCBzbyByZW1vdmUgaXQgZnJvbSB0aGUKLQkjIGRlc3RkaXIgc28gaXQgZG9lc24ndCBj b25mbGljdCB3aXRoIHRoZSBsaWJhdG9taWMgcGFja2FnZQotCXJtIC1mICR7REVTVERJUn0vJHtf c3lzcm9vdH0vdXNyL2xpYi9saWJhdG9taWMuKgotCi0JIyBSZW1vdmUgdW5uZWNlc3Nhcnkgc3R1 ZmYKLQlybSAtZiAke0RFU1RESVJ9L3Vzci9saWIqL2xpYmliZXJ0eS5hCi0Jcm0gLXJmICR7REVT VERJUn0vdXNyL3NoYXJlCi0Jcm0gLXJmICR7REVTVERJUn0vJHtfc3lzcm9vdH0ve3NiaW4sZXRj LHZhcn0KLQlybSAtcmYgJHtERVNURElSfS8ke19zeXNyb290fS91c3Ive3NiaW4sc2hhcmUsbGli ZXhlY30KLQlybSAtZiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L2xpYmV4ZWMKLX0KLQotZG9fY2xl YW4oKSB7Ci0JIyBSZW1vdmUgdGVtcG9yYXJ5IHN0dWZmIGZyb20gbWFzdGVyZGlyCi0Jcm0gLXJm ICR7X3N5c3Jvb3R9Ci0Jcm0gLWYgL3Vzci9iaW4vJHtfdHJpcGxldH0qCi0Jcm0gLXJmIC91c3Iv bGliL2djYy8ke190cmlwbGV0fQotCXJtIC1yZiAvdXNyL2xpYmV4ZWMvZ2NjLyR7X3RyaXBsZXR9 Ci19Ci0KIGNyb3NzLWFhcmNoNjQtbGludXgtZ251LWxpYmNfcGFja2FnZSgpIHsKIAlzaG9ydF9k ZXNjKz0iIC0gZ2xpYmMgZmlsZXMiCiAJbm9zdHJpcD15ZXMKQEAgLTM3Niw2ICs0Nyw2IEBAIGNy b3NzLWFhcmNoNjQtbGludXgtZ251LWxpYmNfcGFja2FnZSgpIHsKIAlub3ZlcmlmeXJkZXBzPXll cwogCiAJcGtnX2luc3RhbGwoKSB7Ci0JCXZtb3ZlICR7X3N5c3Jvb3R9CisJCXZtb3ZlIHVzci8k e2Nyb3NzX3RyaXBsZXR9CiAJfQogfQoKRnJvbSBjMjZmYTU0NTJmZDhkNmYzZWMxZDA5YTgyZDY5 MzU5ZGZiNDFhNDdjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBxNjYgPGRhbmllbEBv Y3RhZm9yZ2Uub3JnPgpEYXRlOiBGcmksIDI1IERlYyAyMDIwIDE0OjUyOjM2ICswMTAwClN1Ympl Y3Q6IFtQQVRDSCAwNC8yNl0gY3Jvc3MtYWFyY2g2NC1saW51eC1tdXNsOiByZWRvIHdpdGggdm9p ZC1jcm9zcwoKLS0tCiBzcmNwa2dzL2Nyb3NzLWFhcmNoNjQtbGludXgtbXVzbC90ZW1wbGF0ZSB8 IDMwOSArKy0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMjEgaW5zZXJ0aW9u cygrKSwgMjg4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY3Jvc3MtYWFyY2g2 NC1saW51eC1tdXNsL3RlbXBsYXRlIGIvc3JjcGtncy9jcm9zcy1hYXJjaDY0LWxpbnV4LW11c2wv dGVtcGxhdGUKaW5kZXggOGQ0NTg3Y2ZlNDguLjc2YjM2YjY2MGI2IDEwMDY0NAotLS0gYS9zcmNw a2dzL2Nyb3NzLWFhcmNoNjQtbGludXgtbXVzbC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2Nyb3Nz LWFhcmNoNjQtbGludXgtbXVzbC90ZW1wbGF0ZQpAQCAtMSwxOSArMSwxOSBAQAotIyBUZW1wbGF0 ZSBidWlsZCBmaWxlIGZvciAnY3Jvc3MtYWFyY2g2NC1saW51eC1tdXNsJwotIworIyBUZW1wbGF0 ZSBmaWxlIGZvciAnY3Jvc3MtYWFyY2g2NC1saW51eC1tdXNsJworX3RyaXBsZXQ9YWFyY2g2NC1s aW51eC1tdXNsCiBfYmludXRpbHNfdmVyc2lvbj0yLjMyCiBfZ2NjX3ZlcnNpb249OS4zLjAKIF9t dXNsX3ZlcnNpb249MS4xLjI0CiBfbGludXhfdmVyc2lvbj00LjE5CiBfbGlidWNvbnRleHRfdmVy c2lvbj0wLjkuMAotCi1fdHJpcGxldD1hYXJjaDY0LWxpbnV4LW11c2wKLV9hcmNoZmxhZ3M9Ii1t YXJjaD1hcm12OC1hIgotX3N5c3Jvb3Q9Ii91c3IvJHtfdHJpcGxldH0iCi0KIHBrZ25hbWU9Y3Jv c3MtJHtfdHJpcGxldH0KIHZlcnNpb249MC4zMwogcmV2aXNpb249NAotc2hvcnRfZGVzYz0iQ3Jv c3MgdG9vbGNoYWluIGZvciBBUk02NCBMRSB0YXJnZXQgKG11c2wpIgorYnVpbGRfc3R5bGU9dm9p ZC1jcm9zcworY29uZmlndXJlX2FyZ3M9Ii0td2l0aC1hcmNoPWFybXY4LWEiCitob3N0bWFrZWRl cGVuZHM9InRhciBnY2Mtb2JqYyBnY2MtZ28gZmxleCBwZXJsIHB5dGhvbjMiCittYWtlZGVwZW5k cz0iaXNsMTUtZGV2ZWwgbGlibXBjLWRldmVsIHpsaWItZGV2ZWwgZ21wLWRldmVsIG1wZnItZGV2 ZWwiCitkZXBlbmRzPSIke3BrZ25hbWV9LWxpYmMtJHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIKK3No b3J0X2Rlc2M9IlZvaWQgY3Jvc3MgdG9vbGNoYWluIGZvciAke190cmlwbGV0fSIKIG1haW50YWlu ZXI9Ik9ycGhhbmVkIDxvcnBoYW5Adm9pZGxpbnV4Lm9yZz4iCiBob21lcGFnZT0iaHR0cHM6Ly93 d3cudm9pZGxpbnV4Lm9yZy8iCiBsaWNlbnNlPSJHUEwtMi4wLW9yLWxhdGVyLCBHUEwtMy4wLW9y LWxhdGVyLCBNSVQiCkBAIC0yOSwyOTYgKzI5LDI5IEBAIGNoZWNrc3VtPSIwYWI2YzU1ZGQ4NmE5 MmVkNTYxOTcyYmExNWI5YjcwYThiOWY3NTU1N2Y4OTY0NDZjODJlOGIzNmU0NzNlZTA0CiAgMGM2 OGY1NjU1NTI4YWVkNGY5OWRhZTcxYTViMjU5ZWRjOTMyMzlmYTg5OWUyZGY3OWMwNTUyNzVjMjE3 NDlhMQogIDBkNTNhNDE1YTMwN2VmMTc1MTUzYmJlNjBhNTcyYzk0MGE5MjJjYjczNmNlMTM1MzBi NjY2ZTdlYzI3OTVkNjgiCiAKLWxpYjMyZGlzYWJsZWQ9eWVzCi1ub2Nyb3NzPXllcwotbm9waWU9 eWVzCi1ub2RlYnVnPXllcwotY3JlYXRlX3dya3NyYz15ZXMKLQotaG9zdG1ha2VkZXBlbmRzPSJ0 YXIgZ2NjLW9iamMgZ2NjLWdvIGZsZXggcGVybCBweXRob24zIgotbWFrZWRlcGVuZHM9InpsaWIt ZGV2ZWwgZ21wLWRldmVsIG1wZnItZGV2ZWwgbGlibXBjLWRldmVsIGlzbDE1LWRldmVsIgotbm9z dHJpcF9maWxlcz0ibGliY2FmX3NpbmdsZS5hIGxpYmdjYy5hIGxpYmdjb3YuYSBsaWJnY2NfZWgu YQotIGxpYmduYXJsX3BpYy5hIGxpYmduYXJsLmEgbGliZ25hdF9waWMuYSBsaWJnbmF0LmEgbGli Z21lbS5hIgotZGVwZW5kcz0iJHtwa2duYW1lfS1saWJjLSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0i Ci0KLWlmIFsgIiRYQlBTX1RBUkdFVF9XT1JEU0laRSIgIT0gIjY0IiBdOyB0aGVuCi0JYnJva2Vu PSI2NC1iaXQgY3Jvc3N0b29sY2hhaW4gb25seSBhdmFpbGFibGUgb24gNjQtYml0IGhvc3QiCi1m aQorY3Jvc3NfdHJpcGxldD0ke190cmlwbGV0fQorY3Jvc3Nfd29yZHNpemU9NjQKK2Nyb3NzX2xp YmM9bXVzbAorY3Jvc3NfYmludXRpbHNfdmVyc2lvbj0ke19iaW51dGlsc192ZXJzaW9ufQorY3Jv c3NfZ2NjX3ZlcnNpb249JHtfZ2NjX3ZlcnNpb259Citjcm9zc19tdXNsX3ZlcnNpb249JHtfbXVz bF92ZXJzaW9ufQorY3Jvc3NfbGludXhfdmVyc2lvbj0ke19saW51eF92ZXJzaW9ufQorY3Jvc3Nf bGlidWNvbnRleHRfdmVyc2lvbj0ke19saWJ1Y29udGV4dF92ZXJzaW9ufQorY3Jvc3NfbGlidWNv bnRleHRfYXJjaD1hYXJjaDY0Citjcm9zc19saW51eF9hcmNoPWFybTY0Citjcm9zc19tdXNsX2Nm bGFncz0iLU8yIC1tYXJjaD1hcm12OC1hIgogCiBpZiBbICIkWEJQU19UQVJHRVRfTUFDSElORSIg PSAiYWFyY2g2NC1tdXNsIiBdOyB0aGVuCiAJYnJva2VuPSJDYW4ndCBidWlsZCBjcm9zc3Rvb2xj aGFpbiB0byBpdHNlbGYiCiBmaQogCi1fYXBwbHlfcGF0Y2goKSB7Ci0JbG9jYWwgYXJncz0iJDEi IHBuYW1lPSIkKGJhc2VuYW1lICQyKSIKLQotCWlmIFsgISAtZiAiLiR7cG5hbWV9X2RvbmUiIF07 IHRoZW4KLQkJcGF0Y2ggLU4gJGFyZ3MgLWkgJDIKLQkJdG91Y2ggLiR7cG5hbWV9X2RvbmUKLQlm aQotfQotCi1fYmludXRpbHNfYnVpbGQoKSB7Ci0JbG9jYWwgX2FyZ3MKLQotCVsgLWYgJHt3cmtz cmN9Ly5iaW51dGlsc19idWlsZF9kb25lIF0gJiYgcmV0dXJuIDAKLQotCWNkICR7d3Jrc3JjfQot CW1zZ19ub3JtYWwgIkJ1aWxkaW5nIGNyb3NzIGJpbnV0aWxzIGJvb3RzdHJhcFxuIgotCi0JWyAh IC1kIGJpbnV0aWxzLWJ1aWxkIF0gJiYgbWtkaXIgYmludXRpbHMtYnVpbGQKLQljZCBiaW51dGls cy1idWlsZAotCV9hcmdzPSItLXByZWZpeD0vdXNyIgotCV9hcmdzKz0iIC0tdGFyZ2V0PSR7X3Ry aXBsZXR9IgotCV9hcmdzKz0iIC0td2l0aC1zeXNyb290PSR7X3N5c3Jvb3R9IgotCV9hcmdzKz0i IC0tZGlzYWJsZS1ubHMiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLW11bHRpbGliIgotCV9hcmdzKz0i IC0tZGlzYWJsZS13ZXJyb3IiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLXNoYXJlZCIKLQlfYXJncys9 IiAtLXdpdGgtc3lzdGVtLXpsaWIiCi0KLQkuLi9iaW51dGlscy0ke19iaW51dGlsc192ZXJzaW9u fS9jb25maWd1cmUgJHtfYXJnc30KLQotCW1ha2UgY29uZmlndXJlLWhvc3QgJiYgbWFrZSAke21h a2Vqb2JzfQotCW1ha2UgaW5zdGFsbAotCi0JdG91Y2ggJHt3cmtzcmN9Ly5iaW51dGlsc19idWls ZF9kb25lCi19Ci0KLV9nY2NfYm9vdHN0cmFwKCkgewotCWxvY2FsIF9hcmdzCi0JWyAtZiAke3dy a3NyY30vLmdjY19ib290c3RyYXBfZG9uZSBdICYmIHJldHVybiAwCi0KLQljZCAke3dya3NyY30v Z2NjLSR7X2djY192ZXJzaW9ufQotCWZvciBmIGluICR7WEJQU19TUkNQS0dESVJ9L2djYy9wYXRj aGVzLyoucGF0Y2g7IGRvCi0JCV9hcHBseV9wYXRjaCAtcDAgIiRmIgotCWRvbmUKLQlmb3IgZiBp biAke1hCUFNfU1JDUEtHRElSfS9nY2MvZmlsZXMvKi1tdXNsLnBhdGNoOyBkbwotCQlfYXBwbHlf cGF0Y2ggLXAxICIkZiIKLQlkb25lCi0KLQltc2dfbm9ybWFsICJCdWlsZGluZyBjcm9zcyBnY2Mg Ym9vdHN0cmFwXG4iCi0KLQlbICEgLWQgLi4vZ2NjLWJvb3RzdHJhcCBdICYmIG1rZGlyIC4uL2dj Yy1ib290c3RyYXAKLQljZCAuLi9nY2MtYm9vdHN0cmFwCi0KLQlfYXJncz0iLS1wcmVmaXg9L3Vz ciIKLQlfYXJncys9IiAtLXRhcmdldD0ke190cmlwbGV0fSIKLQlfYXJncys9IiAtLXdpdGgtc3lz cm9vdD0ke19zeXNyb290fSIKLQlfYXJncys9IiAtLXdpdGgtbmV3bGliIgotCV9hcmdzKz0iIC0t ZW5hYmxlLWxhbmd1YWdlcz1jIgotCV9hcmdzKz0iIC0td2l0aC1uZXdsaWIiCi0JX2FyZ3MrPSIg LS1kaXNhYmxlLWxpYnNzcCIKLQlfYXJncys9IiAtLWRpc2FibGUtbmxzIgotCV9hcmdzKz0iIC0t ZGlzYWJsZS1saWJxdWFkbWF0aCIKLQlfYXJncys9IiAtLWRpc2FibGUtdGhyZWFkcyIKLQlfYXJn cys9IiAtLWRpc2FibGUtZGVjaW1hbC1mbG9hdCIKLQlfYXJncys9IiAtLWRpc2FibGUtc2hhcmVk IgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJtdWRmbGFwIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1s aWJnb21wIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJhdG9taWMiCi0JX2FyZ3MrPSIgLS1kaXNh YmxlLXN5bXZlcnMiCi0JX2FyZ3MrPSIgbGliYXRfY3ZfaGF2ZV9pZnVuYz1ubyIKLQotCUNGTEFH Uz0iLU8wIC1nMCIgQ1hYRkxBR1M9Ii1PMCAtZzAiIFwKLQkJLi4vZ2NjLSR7X2djY192ZXJzaW9u fS9jb25maWd1cmUgJHtfYXJnc30KLQotCW1ha2UgJHttYWtlam9ic30KLQltYWtlIGluc3RhbGwK LQotCXRvdWNoICR7d3Jrc3JjfS8uZ2NjX2Jvb3RzdHJhcF9kb25lCi19Ci0KLV9saW51eF9oZWFk ZXJzKCkgewotCVsgLWYgJHt3cmtzcmN9Ly5saW51eF9idWlsZF9kb25lIF0gJiYgcmV0dXJuIDAK LQotCWNkICR7d3Jrc3JjfQotCW1zZ19ub3JtYWwgIkJ1aWxkaW5nIExpbnV4IEFQSSBoZWFkZXJz XG4iCi0KLQljZCBsaW51eC0ke19saW51eF92ZXJzaW9ufQotCi0JZm9yIGYgaW4gJHtYQlBTX1NS Q1BLR0RJUn0va2VybmVsLWxpYmMtaGVhZGVycy9wYXRjaGVzLyoucGF0Y2g7IGRvCi0JCV9hcHBs eV9wYXRjaCAtcDAgJGYKLQlkb25lCi0KLQltYWtlIEFSQ0g9YXJtNjQgaGVhZGVyc19jaGVjawot CW1ha2UgQVJDSD1hcm02NCBJTlNUQUxMX0hEUl9QQVRIPSR7X3N5c3Jvb3R9L3VzciBoZWFkZXJz X2luc3RhbGwKLQotCXRvdWNoICR7d3Jrc3JjfS8ubGludXhfYnVpbGRfZG9uZQotfQotCi1fbXVz bF9idWlsZCgpIHsKLQlbIC1mICR7d3Jrc3JjfS8ubXVzbF9idWlsZF9kb25lIF0gJiYgcmV0dXJu IDAKLQotCWNkICR7d3Jrc3JjfS9tdXNsLSR7X211c2xfdmVyc2lvbn0KLQltc2dfbm9ybWFsICJC dWlsZGluZyBjcm9zcyBtdXNsIGxpYmNcbiIKLQotCSMgQXBwbHkgbXVzbCBwYXRjaGVzIGlmIHRo ZXJlIGFyZSBhbnkKLQlpZiBbIC1kICIke1hCUFNfU1JDUEtHRElSfS9tdXNsL3BhdGNoZXMiIF07 IHRoZW4KLQkJZm9yIGYgaW4gJHtYQlBTX1NSQ1BLR0RJUn0vbXVzbC9wYXRjaGVzLyoucGF0Y2g7 IGRvCi0JCQlfYXBwbHlfcGF0Y2ggLXAwICIkZiIKLQkJZG9uZQotCWZpCi0KLQlDQz0iJHtfdHJp cGxldH0tZ2NjIiBMRD0iJHtfdHJpcGxldH0tbGQiIEFSPSIke190cmlwbGV0fS1hciIgXAotCQlB Uz0iJHtfdHJpcGxldH0tYXMiIFJBTkxJQj0iJHtfdHJpcGxldH0tcmFubGliIiBcCi0JCUNGTEFH Uz0iLU9zIC1waXBlIC1mUElDICR7X2FyY2hmbGFnc30iIFwKLQkJLi9jb25maWd1cmUgLS1wcmVm aXg9L3VzcgotCi0JbWFrZSAke21ha2Vqb2JzfQotCW1ha2UgREVTVERJUj0ke19zeXNyb290fSBp bnN0YWxsCi0KLQl0b3VjaCAke3dya3NyY30vLm11c2xfYnVpbGRfZG9uZQotfQotCi1fbGlidWNv bnRleHRfYnVpbGQoKSB7Ci0JWyAtZiAke3dya3NyY30vLmxpYnVjb250ZXh0X2J1aWxkX2RvbmUg XSAmJiByZXR1cm4gMAotCi0JY2QgJHt3cmtzcmN9L2xpYnVjb250ZXh0LSR7X2xpYnVjb250ZXh0 X3ZlcnNpb259Ci0JbXNnX25vcm1hbCAiQnVpbGRpbmcgY3Jvc3MgbGlidWNvbnRleHRcbiIKLQot CSMgaXQncyBvayBpZiB3ZSdyZSBzdGF0aWMgb25seSBoZXJlCi0JQ0M9IiR7X3RyaXBsZXR9LWdj YyIgQVI9IiR7X3RyaXBsZXR9LWFyIiBBUz0iJHtfdHJpcGxldH0tYXMiIFwKLQkJQ0ZMQUdTPSIt T3MgLXBpcGUgJHtfYXJjaGZsYWdzfSIgXAotCQltYWtlIEFSQ0g9YWFyY2g2NCBsaWJ1Y29udGV4 dC5hCi0KLQljcCBsaWJ1Y29udGV4dC5hICR7X3N5c3Jvb3R9L3Vzci9saWIKLQotCXRvdWNoICR7 d3Jrc3JjfS8ubGlidWNvbnRleHRfYnVpbGRfZG9uZQotfQotCi1fZ2NjX2J1aWxkKCkgewotCWxv Y2FsIF9hcmdzCi0KLQlbIC1mICR7d3Jrc3JjfS8uZ2NjX2J1aWxkX2RvbmUgXSAmJiByZXR1cm4g MAotCi0JY2QgJHt3cmtzcmN9Ci0JbXNnX25vcm1hbCAiQnVpbGRpbmcgY3Jvc3MgZ2NjIGZpbmFs XG4iCi0KLQlbICEgLWQgZ2NjLWJ1aWxkIF0gJiYgbWtkaXIgZ2NjLWJ1aWxkCi0JY2QgZ2NjLWJ1 aWxkCi0KLQlfYXJncz0iLS1wcmVmaXg9L3VzciIKLQlfYXJncys9IiAtLWxpYmV4ZWNkaXI9L3Vz ci9saWIiCi0JX2FyZ3MrPSIgLS10YXJnZXQ9JHtfdHJpcGxldH0iCi0JX2FyZ3MrPSIgLS13aXRo LXN5c3Jvb3Q9JHtfc3lzcm9vdH0iCi0JX2FyZ3MrPSIgLS1lbmFibGUtbGFuZ3VhZ2VzPWMsYWRh LGMrKyxvYmpjLG9iai1jKyssZ28sZm9ydHJhbixsdG8iCi0JX2FyZ3MrPSIgLS1lbmFibGUtbGli YWRhIgotCV9hcmdzKz0iIC0tZW5hYmxlLWx0byIKLQlfYXJncys9IiAtLWVuYWJsZS1kZWZhdWx0 LXBpZSIKLQlfYXJncys9IiAtLWVuYWJsZS1kZWZhdWx0LXNzcCIKLQlfYXJncys9IiAtLWVuYWJs ZS1saWJzc3AiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYnNhbml0aXplciIKLQlfYXJncys9IiAt LWRpc2FibGUtbXVsdGlsaWIiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLW5scyIKLQlfYXJncys9IiAt LWRpc2FibGUtbGlicXVhZG1hdGgiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYm11ZGZsYXAiCi0J X2FyZ3MrPSIgLS1lbmFibGUtc2hhcmVkIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1zeW12ZXJzIgot CV9hcmdzKz0iIGxpYmF0X2N2X2hhdmVfaWZ1bmM9bm8iCi0KLQkuLi9nY2MtJHtfZ2NjX3ZlcnNp b259L2NvbmZpZ3VyZSAke19hcmdzfQotCi0JbWFrZSAke21ha2Vqb2JzfQotCi0JdG91Y2ggJHt3 cmtzcmN9Ly5nY2NfYnVpbGRfZG9uZQotfQotCi1kb19idWlsZCgpIHsKLQkjIEVuc3VyZSB3ZSB1 c2Ugc2FuZSBlbnZpcm9ubWVudAotCXVuc2V0IENDIENYWCBDUFAgTEQgQVMgQVIgUkFOTElCIE9C SkRVTVAgUkVBREVMRiBOTQotCXVuc2V0IENGTEFHUyBDWFhGTEFHUyBDUFBGTEFHUyBMREZMQUdT Ci0JZXhwb3J0IENGTEFHUz0iLU9zIC1waXBlIiBDWFhGTEFHUz0iLU9zIC1waXBlIgotCi0JZm9y IGYgaW4gaW5jbHVkZSBsaWIgbGliZXhlYyBiaW4gc2JpbjsgZG8KLQkJaWYgWyAhIC1kICR7X3N5 c3Jvb3R9L3Vzci8ke2Z9IF07IHRoZW4KLQkJCW1rZGlyIC1wICR7X3N5c3Jvb3R9L3Vzci8ke2Z9 Ci0JCWZpCi0JCWlmIFsgISAtaCAke19zeXNyb290fS8ke2Z9IF07IHRoZW4KLQkJCWxuIC1zZnIg JHtfc3lzcm9vdH0vdXNyLyR7Zn0gJHtfc3lzcm9vdH0vJHtmfQotCQlmaQotCWRvbmUKLQlsbiAt c2YgbGliICR7X3N5c3Jvb3R9L3Vzci9saWI2NAotCWxuIC1zZiB1c3IvbGliICR7X3N5c3Jvb3R9 L2xpYjY0Ci0KLQlfYmludXRpbHNfYnVpbGQKLQlfZ2NjX2Jvb3RzdHJhcAotCV9saW51eF9oZWFk ZXJzCi0JX211c2xfYnVpbGQKLQlfbGlidWNvbnRleHRfYnVpbGQKLQlfZ2NjX2J1aWxkCi19Ci0K LWRvX2luc3RhbGwoKSB7Ci0JZm9yIGYgaW4gaW5jbHVkZSBsaWIgbGliZXhlYyBiaW4gc2Jpbjsg ZG8KLQkJaWYgWyAhIC1kICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyLyR7Zn0gXTsgdGhlbgot CQkJbWtkaXIgLXAgJHtERVNURElSfS8ke19zeXNyb290fS91c3IvJHtmfQotCQlmaQotCQlpZiBb ICEgLWggJHtERVNURElSfS8ke19zeXNyb290fS8ke2Z9IF07IHRoZW4KLQkJCWxuIC1zZnIgJHtE RVNURElSfS8ke19zeXNyb290fS91c3IvJHtmfSBcCi0JCQkJJHtERVNURElSfS8ke19zeXNyb290 fS8ke2Z9Ci0JCWZpCi0JZG9uZQotCWxuIC1zZiBsaWIgJHtERVNURElSfS8ke19zeXNyb290fS91 c3IvbGliNjQKLQlsbiAtc2YgdXNyL2xpYiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L2xpYjY0Ci0K LQkjIGluc3RhbGwgbGludXggQVBJIGhlYWRlcnMKLQljZCAke3dya3NyY30vbGludXgtJHtfbGlu dXhfdmVyc2lvbn0KLQltYWtlIEFSQ0g9YXJtNjQgSU5TVEFMTF9IRFJfUEFUSD0ke0RFU1RESVJ9 LyR7X3N5c3Jvb3R9L3VzciBoZWFkZXJzX2luc3RhbGwKLQlybSAtZiAkKGZpbmQgJHtERVNURElS fS8ke19zeXNyb290fS91c3IvaW5jbHVkZSAtbmFtZSAuaW5zdGFsbCAtb3IgLW5hbWUgLi5pbnN0 YWxsLmNtZCkKLQlybSAtcmYgJHtERVNURElSfS8ke19zeXNyb290fS91c3IvaW5jbHVkZS9kcm0K LQotCSMgaW5zdGFsbCBjcm9zcyBiaW51dGlscwotCWNkICR7d3Jrc3JjfS9iaW51dGlscy1idWls ZAotCW1ha2UgREVTVERJUj0ke0RFU1RESVJ9IGluc3RhbGwKLQotCSMgaW5zdGFsbCBjcm9zcyBn Y2MKLQljZCAke3dya3NyY30vZ2NjLWJ1aWxkCi0JbWFrZSBERVNURElSPSR7REVTVERJUn0gaW5z dGFsbAotCi0JIyBtb3ZlIGxpYmNjMS5zbyogdG8gdGhlIHN5c3Jvb3QKLQltdiAke0RFU1RESVJ9 L3Vzci9saWIvbGliY2MxLnNvKiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci9saWIKLQotCSMg aW5zdGFsbCBtdXNsIGxpYmMgZm9yIHRhcmdldAotCWNkICR7d3Jrc3JjfS9tdXNsLSR7X211c2xf dmVyc2lvbn0KLQltYWtlIERFU1RESVI9JHtERVNURElSfS8ke19zeXNyb290fSBpbnN0YWxsCi0K LQkjIFJlbW92ZSB1c2VsZXNzIGhlYWRlcnMuCi0Jcm0gLXJmICR7REVTVERJUn0vdXNyL2xpYi9n Y2MvJHtfdHJpcGxldH0vKi9pbmNsdWRlLWZpeGVkCi0KLQkjIE1ha2UgbGQtbXVzbC5zbyBzeW1s aW5rcyByZWxhdGl2ZS4KLQlsbiAtc2YgbGliYy5zbyAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vz ci9saWIvbGQtbXVzbC1hYXJjaDY0LnNvLjEKLQotCSMgc3ltbGlua3MgZm9yIGduYXJsIGFuZCBn bmF0IHNoYXJlZCBsaWJyYXJpZXMKLQlfbWFqb3J2ZXI9JHtfZ2NjX3ZlcnNpb24lLiouKn0KLQlf YWRhbGliPXVzci9saWIvZ2NjLyR7X3RyaXBsZXR9LyR7X2djY192ZXJzaW9ufS9hZGFsaWIKLQlt diAtdiAke0RFU1RESVJ9LyR7X2FkYWxpYn0vbGliZ25hcmwtJHtfbWFqb3J2ZXJ9LnNvICR7REVT VERJUn0vJHtfc3lzcm9vdH0vdXNyL2xpYgotCW12IC12ICR7REVTVERJUn0vJHtfYWRhbGlifS9s aWJnbmF0LSR7X21ham9ydmVyfS5zbyAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci9saWIKLQls biAtc3ZmIGxpYmduYXJsLSR7X21ham9ydmVyfS5zbyBsaWJnbmFybC5zbwotCWxuIC1zdmYgbGli Z25hdC0ke19tYWpvcnZlcn0uc28gbGliZ25hdC5zbwotCXJtIC12ZiAke0RFU1RESVJ9LyR7X2Fk YWxpYn0vbGliZ25he3JsLHR9LnNvCi0KLQkjIFdlIG5lZWQgdG8gYnVpbGQgbGliYXRvbWljIGlu IHRhcmdldCBnY2MgYXMgZ2NjZ28gbmVlZHMgaXQgdG8KLQkjIGJ1aWxkLi4uIGJ1dCBpdCdzIG5v dCBuZWVkZWQgYXQgcnVudGltZSwgc28gcmVtb3ZlIGl0IGZyb20gdGhlCi0JIyBkZXN0ZGlyIHNv IGl0IGRvZXNuJ3QgY29uZmxpY3Qgd2l0aCB0aGUgbGliYXRvbWljIHBhY2thZ2UKLQlybSAtZiAk e0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci9saWIvbGliYXRvbWljLioKLQotCSMgUmVtb3ZlIHVu bmVjZXNzYXJ5IHN0dWZmCi0Jcm0gLWYgJHtERVNURElSfS91c3IvbGliKi9saWJpYmVydHkuYQot CXJtIC1yZiAke0RFU1RESVJ9L3Vzci9zaGFyZQotCXJtIC1yZiAke0RFU1RESVJ9LyR7X3N5c3Jv b3R9L3tldGMsdmFyfQotCXJtIC1yZiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci97c2Jpbixz aGFyZSxsaWJleGVjfQotCXJtIC1mICR7REVTVERJUn0vJHtfc3lzcm9vdH0vbGliZXhlYwotCXJt IC1mICR7REVTVERJUn0vJHtfc3lzcm9vdH0vbGliLyoucHkKLQlybSAtZiAke0RFU1RESVJ9LyR7 X3N5c3Jvb3R9L3NiaW4KLX0KLQogY3Jvc3MtYWFyY2g2NC1saW51eC1tdXNsLWxpYmNfcGFja2Fn ZSgpIHsKIAlzaG9ydF9kZXNjKz0iIC0gbGliYyBmaWxlcyIKIAlub3N0cmlwPXllcwogCW5vc2hs aWJwcm92aWRlcz15ZXMKIAlub3ZlcmlmeXJkZXBzPXllcworCiAJcGtnX2luc3RhbGwoKSB7Ci0J CXZtb3ZlICR7X3N5c3Jvb3R9CisJCXZtb3ZlIHVzci8ke2Nyb3NzX3RyaXBsZXR9CiAJfQogfQoK RnJvbSA0NzNlOTg0ODM5YjcyZjgxNTQ0MDk4ZjFjMWU0ODM5NmI5ZDhlZWY5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBxNjYgPGRhbmllbEBvY3RhZm9yZ2Uub3JnPgpEYXRlOiBGcmks IDI1IERlYyAyMDIwIDIwOjEwOjM1ICswMTAwClN1YmplY3Q6IFtQQVRDSCAwNS8yNl0gY3Jvc3Mt YXJtLWxpbnV4LWdudWVhYmk6IHJlZG8gd2l0aCB2b2lkLWNyb3NzCgotLS0KIHNyY3BrZ3MvY3Jv c3MtYXJtLWxpbnV4LWdudWVhYmkvdGVtcGxhdGUgfCAzNjcgKystLS0tLS0tLS0tLS0tLS0tLS0t LS0KIDEgZmlsZSBjaGFuZ2VkLCAyMSBpbnNlcnRpb25zKCspLCAzNDYgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvc3JjcGtncy9jcm9zcy1hcm0tbGludXgtZ251ZWFiaS90ZW1wbGF0ZSBiL3Ny Y3BrZ3MvY3Jvc3MtYXJtLWxpbnV4LWdudWVhYmkvdGVtcGxhdGUKaW5kZXggZTU4MTAwZTY4ZGYu LjkyMGU1NDE2NGQ3IDEwMDY0NAotLS0gYS9zcmNwa2dzL2Nyb3NzLWFybS1saW51eC1nbnVlYWJp L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvY3Jvc3MtYXJtLWxpbnV4LWdudWVhYmkvdGVtcGxhdGUK QEAgLTEsMjIgKzEsMjEgQEAKLSMgVGVtcGxhdGUgYnVpbGQgZmlsZSBmb3IgJ2Nyb3NzLWFybS1s aW51eC1nbnVlYWJpJwotIworIyBUZW1wbGF0ZSBmaWxlIGZvciAnY3Jvc3MtYXJtLWxpbnV4LWdu dWVhYmknCitfdHJpcGxldD1hcm0tbGludXgtZ251ZWFiaQogX2JpbnV0aWxzX3ZlcnNpb249Mi4z MgogX2djY192ZXJzaW9uPTkuMy4wCiBfZ2xpYmNfdmVyc2lvbj0yLjMwCiBfbGludXhfdmVyc2lv bj00LjE5Ci0KLV90cmlwbGV0PWFybS1saW51eC1nbnVlYWJpCi1fZnB1ZmxhZ3M9Ii0td2l0aC1h cmNoPWFybXY1dGUgLS13aXRob3V0LWZwIC0td2l0aC1mbG9hdD1zb2Z0IgotX2FyY2hmbGFncz0i LW1hcmNoPWFybXY1dGUgLW1zb2Z0LWZsb2F0IC1tZmxvYXQtYWJpPXNvZnQiCi1fc3lzcm9vdD0i L3Vzci8ke190cmlwbGV0fSIKLQogcGtnbmFtZT1jcm9zcy0ke190cmlwbGV0fQogdmVyc2lvbj0w LjMzCiByZXZpc2lvbj0yCi1zaG9ydF9kZXNjPSJHTlUgQ3Jvc3MgdG9vbGNoYWluIGZvciB0aGUg JHtfdHJpcGxldH0gTEUgdGFyZ2V0IChiaW51dGlscy9nY2MvZ2xpYmMpIgorYnVpbGRfc3R5bGU9 dm9pZC1jcm9zcworY29uZmlndXJlX2FyZ3M9Ii0td2l0aC1hcmNoPWFybXY1dGUgLS13aXRoLWZs b2F0PXNvZnQiCitob3N0bWFrZWRlcGVuZHM9InRhciBnY2Mtb2JqYyBnY2MtZ28gZmxleCBwZXJs IHB5dGhvbjMiCittYWtlZGVwZW5kcz0iaXNsMTUtZGV2ZWwgbGlibXBjLWRldmVsIHpsaWItZGV2 ZWwgZ21wLWRldmVsIG1wZnItZGV2ZWwiCitkZXBlbmRzPSIke3BrZ25hbWV9LWxpYmMtJHt2ZXJz aW9ufV8ke3JldmlzaW9ufSIKK3Nob3J0X2Rlc2M9IlZvaWQgY3Jvc3MgdG9vbGNoYWluIGZvciAk e190cmlwbGV0fSIKIG1haW50YWluZXI9Ik9ycGhhbmVkIDxvcnBoYW5Adm9pZGxpbnV4Lm9yZz4i CitsaWNlbnNlPSJHUEwtMi4wLW9yLWxhdGVyLCBHUEwtMy4wLW9yLWxhdGVyLCBMR1BMLTIuMS1v ci1sYXRlciIKIGhvbWVwYWdlPSJodHRwczovL3d3dy52b2lkbGludXgub3JnLyIKLWxpY2Vuc2U9 IkdQTC0yLjAtb3ItbGF0ZXIsIEdQTC0zLjAtb3ItbGF0ZXIsIExHUEwtMi4xLjAtb3ItbGF0ZXIi CiBkaXN0ZmlsZXM9IgogICR7R05VX1NJVEV9L2JpbnV0aWxzL2JpbnV0aWxzLSR7X2JpbnV0aWxz X3ZlcnNpb259LnRhci54egogICR7R05VX1NJVEV9L2djYy9nY2MtJHtfZ2NjX3ZlcnNpb259L2dj Yy0ke19nY2NfdmVyc2lvbn0udGFyLnh6CkBAIC0yNywzNDYgKzI2LDIyIEBAIGNoZWNrc3VtPSIw YWI2YzU1ZGQ4NmE5MmVkNTYxOTcyYmExNWI5YjcwYThiOWY3NTU1N2Y4OTY0NDZjODJlOGIzNmU0 NzNlZTA0CiAgZTJjNDExNGU1NjlhZmJlN2VkYmMyOTEzMWE0M2JlODMzODUwYWI5YTQ1OWQ4MWJl YjI1ODgwMTZkMmJiYjhhZgogIDBjNjhmNTY1NTUyOGFlZDRmOTlkYWU3MWE1YjI1OWVkYzkzMjM5 ZmE4OTllMmRmNzljMDU1Mjc1YzIxNzQ5YTEiCiAKLWxpYjMyZGlzYWJsZWQ9eWVzCi1ub2Nyb3Nz PXllcwotbm9waWU9eWVzCi1ub2RlYnVnPXllcwotY3JlYXRlX3dya3NyYz15ZXMKLQotaG9zdG1h a2VkZXBlbmRzPSJ0YXIgZ2NjLW9iamMgZ2NjLWdvIGZsZXggcGVybCBweXRob24zIgotbWFrZWRl cGVuZHM9ImlzbDE1LWRldmVsIGxpYm1wYy1kZXZlbCB6bGliLWRldmVsIgotZGVwZW5kcz0iJHtw a2duYW1lfS1saWJjLSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCi1ub3N0cmlwX2ZpbGVzPSJsaWJj YWZfc2luZ2xlLmEgbGliZ2NjLmEgbGliZ2Nvdi5hIGxpYmdjY19laC5hCi0gbGliZ25hcmxfcGlj LmEgbGliZ25hcmwuYSBsaWJnbmF0X3BpYy5hIGxpYmduYXQuYSBsaWJnbWVtLmEiCi0KLWlmIFsg IiRYQlBTX1RBUkdFVF9MSUJDIiAhPSAiZ2xpYmMiIF07IHRoZW4KLQlicm9rZW49ImdsaWJjIGNy b3NzdG9vbGNoYWluIG9ubHkgYXZhaWxhYmxlIG9uIGdsaWJjIgotZmkKK2Nyb3NzX3RyaXBsZXQ9 JHtfdHJpcGxldH0KK2Nyb3NzX3dvcmRzaXplPTMyCitjcm9zc19saWJjPWdsaWJjCitjcm9zc19i aW51dGlsc192ZXJzaW9uPSR7X2JpbnV0aWxzX3ZlcnNpb259Citjcm9zc19nY2NfdmVyc2lvbj0k e19nY2NfdmVyc2lvbn0KK2Nyb3NzX2dsaWJjX3ZlcnNpb249JHtfZ2xpYmNfdmVyc2lvbn0KK2Ny b3NzX2xpbnV4X3ZlcnNpb249JHtfbGludXhfdmVyc2lvbn0KK2Nyb3NzX2xpbnV4X2FyY2g9YXJt Citjcm9zc19iaW51dGlsc19jb25maWd1cmVfYXJncz0iLS13aXRob3V0LWZwIgorY3Jvc3NfZ2xp YmNfY29uZmlndXJlX2FyZ3M9Ii0td2l0aG91dC1mcCIKK2Nyb3NzX2dsaWJjX2NmbGFncz0iLU9z IC1tYXJjaD1hcm12NXRlIC1tc29mdC1mbG9hdCAtbWZsb2F0LWFiaT1zb2Z0IgogCiBpZiBbICIk WEJQU19UQVJHRVRfTUFDSElORSIgPSAiYXJtdjV0ZWwiIF07IHRoZW4KIAlicm9rZW49IkNhbid0 IGJ1aWxkIGNyb3NzdG9vbGNoYWluIHRvIGl0c2VsZiIKIGZpCiAKLV9hcHBseV9wYXRjaCgpIHsK LQlsb2NhbCBhcmdzPSIkMSIgcG5hbWU9IiQoYmFzZW5hbWUgJDIpIgotCi0JaWYgWyAhIC1mICIu JHtwbmFtZX1fZG9uZSIgXTsgdGhlbgotCQlwYXRjaCAtTiAkYXJncyAtaSAkMgotCQl0b3VjaCAu JHtwbmFtZX1fZG9uZQotCWZpCi19Ci0KLV9saW51eF9oZWFkZXJzKCkgewotCVsgLWYgJHt3cmtz cmN9Ly5saW51eF9idWlsZF9kb25lIF0gJiYgcmV0dXJuIDAKLQotCWNkICR7d3Jrc3JjfQotCW1z Z19ub3JtYWwgIkJ1aWxkaW5nIExpbnV4IEFQSSBoZWFkZXJzIGZvciBBUk1cbiIKLQotCWNkIGxp bnV4LSR7X2xpbnV4X3ZlcnNpb259Ci0KLQltYWtlIEFSQ0g9YXJtIGhlYWRlcnNfY2hlY2sKLQlt YWtlIEFSQ0g9YXJtIElOU1RBTExfSERSX1BBVEg9JHtfc3lzcm9vdH0vdXNyIGhlYWRlcnNfaW5z dGFsbAotCi0JdG91Y2ggJHt3cmtzcmN9Ly5saW51eF9idWlsZF9kb25lCi19Ci0KLV9iaW51dGls c19idWlsZCgpIHsKLQlsb2NhbCBfYXJncwotCi0JWyAtZiAke3dya3NyY30vLmJpbnV0aWxzX2J1 aWxkX2RvbmUgXSAmJiByZXR1cm4gMAotCi0JY2QgJHt3cmtzcmN9Ci0JbXNnX25vcm1hbCAiQnVp bGRpbmcgY3Jvc3MgYmludXRpbHNcbiIKLQlbICEgLWQgYmludXRpbHMtYnVpbGQgXSAmJiBta2Rp ciBiaW51dGlscy1idWlsZAotCWNkIGJpbnV0aWxzLWJ1aWxkCi0JX2FyZ3M9Ii0tcHJlZml4PS91 c3IiCi0JX2FyZ3MrPSIgLS10YXJnZXQ9JHtfdHJpcGxldH0iCi0JX2FyZ3MrPSIgLS13aXRoLXN5 c3Jvb3Q9JHtfc3lzcm9vdH0iCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLW5scyIKLQlfYXJncys9IiAt LWRpc2FibGUtc2hhcmVkIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1tdWx0aWxpYiIKLQlfYXJncys9 IiAtLWRpc2FibGUtd2Vycm9yIgotCV9hcmdzKz0iIC0td2l0aC1zeXN0ZW0temxpYiIKLQotCS4u L2JpbnV0aWxzLSR7X2JpbnV0aWxzX3ZlcnNpb259L2NvbmZpZ3VyZSAke19hcmdzfQotCi0JbWFr ZSBjb25maWd1cmUtaG9zdAotCW1ha2UgJHttYWtlam9ic30KLQltYWtlIGluc3RhbGwKLQotCXRv dWNoICR7d3Jrc3JjfS8uYmludXRpbHNfYnVpbGRfZG9uZQotfQotCi1fZ2NjX2Jvb3RzdHJhcCgp IHsKLQlsb2NhbCBfYXJncwotCi0JWyAtZiAke3dya3NyY30vLmdjY19ib290c3RyYXBfZG9uZSBd ICYmIHJldHVybiAwCi0KLQljZCAke3dya3NyY30vZ2NjLSR7X2djY192ZXJzaW9ufQotCWZvciBm IGluICR7WEJQU19TUkNQS0dESVJ9L2djYy9wYXRjaGVzLyoucGF0Y2g7IGRvCi0JCV9hcHBseV9w YXRjaCAtcDAgIiRmIgotCWRvbmUKLQotCW1zZ19ub3JtYWwgIkJ1aWxkaW5nIGNyb3NzIGdjYyBi b290c3RyYXBcbiIKLQotCVsgISAtZCAuLi9nY2MtYm9vdHN0cmFwIF0gJiYgbWtkaXIgLi4vZ2Nj LWJvb3RzdHJhcAotCWNkIC4uL2djYy1ib290c3RyYXAKLQotCV9hcmdzPSItLXByZWZpeD0vdXNy IgotCV9hcmdzKz0iIC0tdGFyZ2V0PSR7X3RyaXBsZXR9IgotCV9hcmdzKz0iIC0td2l0aG91dC1o ZWFkZXJzIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1ubHMiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLXNo YXJlZCIKLQlfYXJncys9IiAtLWRpc2FibGUtbGlicXVhZG1hdGgiCi0JX2FyZ3MrPSIgLS1kaXNh YmxlLWRlY2ltYWwtZmxvYXQiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYmdvbXAiCi0JX2FyZ3Mr PSIgLS1kaXNhYmxlLWxpYm1weCIKLQlfYXJncys9IiAtLWRpc2FibGUtbGlibXVkZmxhcCIKLQlf YXJncys9IiAtLWRpc2FibGUtbGlic3NwIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJpdG0iCi0J X2FyZ3MrPSIgLS1kaXNhYmxlLWxpYmF0b21pYyIKLQlfYXJncys9IiAtLWRpc2FibGUtdGhyZWFk cyIKLQlfYXJncys9IiAtLWVuYWJsZS1sYW5ndWFnZXM9YyIKLQlfYXJncys9IiAtLWRpc2FibGUt c2psai1leGNlcHRpb25zIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1tdWx0aWxpYiIKLQlfYXJncys9 IiAtLXdpdGgtZ251LWxkIgotCV9hcmdzKz0iIC0td2l0aC1nbnUtYXMiCi0JX2FyZ3MrPSIgJHtf ZnB1ZmxhZ3N9IgotCi0JQ0ZMQUdTPSItTzAgLWcwIiBDWFhGTEFHUz0iLU8wIC1nMCIgXAotCQku Li9nY2MtJHtfZ2NjX3ZlcnNpb259L2NvbmZpZ3VyZSAke19hcmdzfQotCi0JbWFrZSAke21ha2Vq b2JzfQotCW1ha2UgaW5zdGFsbAotCi0JdG91Y2ggJHt3cmtzcmN9Ly5nY2NfYm9vdHN0cmFwX2Rv bmUKLX0KLQotX2dsaWJjX2hlYWRlcnMoKSB7Ci0JbG9jYWwgX2FyZ3MgZgotCi0JWyAtZiAke3dy a3NyY30vLmdsaWJjX2hlYWRlcnNfZG9uZSBdICYmIHJldHVybiAwCi0KLQljZCAke3dya3NyY30v Z2xpYmMtJHtfZ2xpYmNfdmVyc2lvbn0KLQlpZiBbIC1kICIke1hCUFNfU1JDUEtHRElSfS9nbGli Yy9wYXRjaGVzIiBdOyB0aGVuCi0JCWZvciBmIGluICR7WEJQU19TUkNQS0dESVJ9L2dsaWJjL3Bh dGNoZXMvKi5wYXRjaDsgZG8KLQkJCV9hcHBseV9wYXRjaCAtcDEgIiRmIgotCQlkb25lCi0JZmkK LQotCWNkICR7d3Jrc3JjfQotCW1zZ19ub3JtYWwgIkJ1aWxkaW5nIGNyb3NzIGdsaWJjIGhlYWRl cnNcbiIKLQotCVsgISAtZCBnbGliYy1oZWFkZXJzIF0gJiYgbWtkaXIgZ2xpYmMtaGVhZGVycwot CWNkIGdsaWJjLWhlYWRlcnMKLQotCWVjaG8gImxpYmNfY3ZfZm9yY2VkX3Vud2luZD15ZXMiID4g Y29uZmlnLmNhY2hlCi0JZWNobyAibGliY19jdl9jX2NsZWFudXA9eWVzIiA+PiBjb25maWcuY2Fj aGUKLQotCWV4cG9ydCBDQz0iJHtfdHJpcGxldH0tZ2NjIiBMRD0iJHtfdHJpcGxldH0tbGQiIFwK LQkJQVM9IiR7X3RyaXBsZXR9LWFzIiBDUFA9IiR7X3RyaXBsZXR9LWNwcCIKLQotCV9hcmdzPSIt LXByZWZpeD0vdXNyIgotCV9hcmdzKz0iIC0taG9zdD0ke190cmlwbGV0fSIKLQlfYXJncys9IiAt LXdpdGgtaGVhZGVycz0ke19zeXNyb290fS91c3IvaW5jbHVkZSIKLQlfYXJncys9IiAtLWNvbmZp Zy1jYWNoZSIKLQlfYXJncys9IiAtLWVuYWJsZS1vYnNvbGV0ZS1ycGMiCi0JX2FyZ3MrPSIgLS1l bmFibGUtb2Jzb2xldGUtbnNsIgotCV9hcmdzKz0iIC0tZW5hYmxlLWtlcm5lbD0yLjYuMjciCi0J X2FyZ3MrPSIgJHtfZnB1ZmxhZ3N9IgotCi0JLi4vZ2xpYmMtJHtfZ2xpYmNfdmVyc2lvbn0vY29u ZmlndXJlICR7X2FyZ3N9Ci0KLQltYWtlIC1rIGluc3RhbGwtaGVhZGVycyBjcm9zc19jb21waWxp bmc9eWVzIFwKLQkJaW5zdGFsbF9yb290PSR7X3N5c3Jvb3R9Ci0KLQl0b3VjaCAke3dya3NyY30v LmdsaWJjX2hlYWRlcnNfZG9uZQotfQotCi1fZ2xpYmNfYnVpbGQoKSB7Ci0JbG9jYWwgX2FyZ3MK LQotCVsgLWYgJHt3cmtzcmN9Ly5nbGliY19idWlsZF9kb25lIF0gJiYgcmV0dXJuIDAKLQotCWNk ICR7d3Jrc3JjfQotCW1zZ19ub3JtYWwgIkJ1aWxkaW5nIGNyb3NzIGdsaWJjXG4iCi0KLQlbICEg LWQgZ2xpYmMtYnVpbGQgXSAmJiBta2RpciBnbGliYy1idWlsZAotCWNkIGdsaWJjLWJ1aWxkCi0K LQllY2hvICJzbGliZGlyPS91c3IvbGliMzIiID4gY29uZmlncGFybXMKLQotCWVjaG8gImxpYmNf Y3ZfZm9yY2VkX3Vud2luZD15ZXMiID4gY29uZmlnLmNhY2hlCi0JZWNobyAibGliY19jdl9jX2Ns ZWFudXA9eWVzIiA+PiBjb25maWcuY2FjaGUKLQotCWV4cG9ydCBDQz0iJHtfdHJpcGxldH0tZ2Nj IiBMRD0iJHtfdHJpcGxldH0tbGQiIFwKLQkJQVM9IiR7X3RyaXBsZXR9LWFzIiBDUFA9IiR7X3Ry aXBsZXR9LWNwcCIKLQlleHBvcnQgQ0ZMQUdTPSItT3MgLXBpcGUgJHtfYXJjaGZsYWdzfSIKLQot CV9hcmdzPSItLXByZWZpeD0vdXNyIgotCV9hcmdzKz0iIC0tbGliZGlyPS91c3IvbGliMzIiCi0J X2FyZ3MrPSIgLS1ob3N0PSR7X3RyaXBsZXR9IgotCV9hcmdzKz0iIC0td2l0aC1oZWFkZXJzPSR7 X3N5c3Jvb3R9L3Vzci9pbmNsdWRlIgotCV9hcmdzKz0iIC0tY29uZmlnLWNhY2hlIgotCV9hcmdz Kz0iIC0tZGlzYWJsZS1wcm9maWxlIgotCV9hcmdzKz0iIC0tZW5hYmxlLW9ic29sZXRlLXJwYyIK LQlfYXJncys9IiAtLWVuYWJsZS1vYnNvbGV0ZS1uc2wiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLXdl cnJvciIKLQlfYXJncys9IiAtLWVuYWJsZS1rZXJuZWw9Mi42LjI3IgotCV9hcmdzKz0iICR7X2Zw dWZsYWdzfSIKLQotCS4uL2dsaWJjLSR7X2dsaWJjX3ZlcnNpb259L2NvbmZpZ3VyZSAke19hcmdz fQotCi0JbWFrZSAke21ha2Vqb2JzfQotCW1ha2UgaW5zdGFsbF9yb290PSR7X3N5c3Jvb3R9IGlu c3RhbGwKLQotCXRvdWNoICR7d3Jrc3JjfS8uZ2xpYmNfYnVpbGRfZG9uZQotfQotCi1fZ2NjX2J1 aWxkKCkgewotCWxvY2FsIF9hcmdzCi0KLQlbIC1mICR7d3Jrc3JjfS8uZ2NjX2J1aWxkX2RvbmUg XSAmJiByZXR1cm4gMAotCi0JY2QgJHt3cmtzcmN9Ci0JbXNnX25vcm1hbCAiQnVpbGRpbmcgY3Jv c3MgZ2NjIGZpbmFsXG4iCi0KLQlbICEgLWQgZ2NjLWJ1aWxkIF0gJiYgbWtkaXIgZ2NjLWJ1aWxk Ci0JY2QgZ2NjLWJ1aWxkCi0KLQl1bnNldCBMRCBBUyBDUFAKLQlleHBvcnQgQ0M9ImdjYyIgQ0ZM QUdTPSItT3MgLXBpcGUiCi0KLQkjIE1ha2UgdGhpcyBsaW5rIHRvIHRhcmdldCBsaWJzLgotCWlm IFsgISAtZiAuc2VkX3N1YnN0X2RvbmUgXTsgdGhlbgotCQlzZWQgLWUgInMsIC9saWIvLCAke19z eXNyb290fS9saWIvLGc7cywgL3Vzci9saWIvLCAke19zeXNyb290fS91c3IvbGliLyxnIiBcCi0J CQktaSAke19zeXNyb290fS9saWIvbGliYy5zbwotCQlzZWQgLWUgInMsIC9saWIzMi8sICR7X3N5 c3Jvb3R9L2xpYjMyLyxnO3MsIC91c3IvbGliMzIvLCAke19zeXNyb290fS91c3IvbGliMzIvLGci IFwKLQkJCS1pICR7X3N5c3Jvb3R9L2xpYi9saWJjLnNvCi0JCXRvdWNoIC5zZWRfc3Vic3RfZG9u ZQotCWZpCi0KLQlfYXJncz0iLS1wcmVmaXg9L3VzciIKLQlfYXJncys9IiAtLWxpYmV4ZWNkaXI9 L3Vzci9saWIiCi0JX2FyZ3MrPSIgLS10YXJnZXQ9JHtfdHJpcGxldH0iCi0JX2FyZ3MrPSIgLS13 aXRoLXN5c3Jvb3Q9JHtfc3lzcm9vdH0iCi0JX2FyZ3MrPSIgLS1lbmFibGUtbGFuZ3VhZ2VzPWMs YWRhLGMrKyxvYmpjLG9iai1jKyssZ28sZm9ydHJhbixsdG8iCi0JX2FyZ3MrPSIgLS13aXRoLWdu dS1hcyIKLQlfYXJncys9IiAtLXdpdGgtZ251LWxkIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1tdWx0 aWxpYiIKLQlfYXJncys9IiAtLWRpc2FibGUtd2Vycm9yIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1u bHMiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLXNqbGotZXhjZXB0aW9ucyIKLQlfYXJncys9IiAtLWVu YWJsZS10aHJlYWRzPXBvc2l4IgotCV9hcmdzKz0iIC0tZW5hYmxlLWxvbmctbG9uZ3giCi0JX2Fy Z3MrPSIgLS1lbmFibGUtc2hhcmVkIgotCV9hcmdzKz0iIC0tZW5hYmxlLWxpbmtlci1idWlsZC1p ZCIKLQlfYXJncys9IiAtLWVuYWJsZS1nbnUtdW5pcXVlLW9iamVjdCIKLQlfYXJncys9IiAtLWVu YWJsZS1saWJhZGEiCi0JX2FyZ3MrPSIgLS1lbmFibGUtbHRvIgotCV9hcmdzKz0iIC0tZW5hYmxl LWRlZmF1bHQtcGllIgotCV9hcmdzKz0iIC0tZW5hYmxlLWRlZmF1bHQtc3NwIgotCV9hcmdzKz0i IC0tZGlzYWJsZS1saWJxdWFkbWF0aCIKLQlfYXJncys9IiAtLWRpc2FibGUtbGlic3NwIgotCV9h cmdzKz0iIC0tZGlzYWJsZS1saWJtcHgiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYm11ZGZsYXAi Ci0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYnNhbml0aXplciIKLQlfYXJncys9IiAtLWRpc2FibGUt bGliY2lsa3J0cyIKLQlfYXJncys9IiAtLWRpc2FibGUtbGliaXRtIgotCV9hcmdzKz0iIC0tZGlz YWJsZS1saWJ2dHYiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYnN0ZGN4eC1wY2giCi0JX2FyZ3Mr PSIgLS1lbmFibGUtbGlic3RkY3h4LXRpbWUiCi0JX2FyZ3MrPSIgLS13aXRoLWxpbmtlci1oYXNo LXN0eWxlPWdudSIKLQlfYXJncys9IiAke19mcHVmbGFnc30iCi0KLQkuLi9nY2MtJHtfZ2NjX3Zl cnNpb259L2NvbmZpZ3VyZSAke19hcmdzfQotCi0JbWFrZSAke21ha2Vqb2JzfQotCi0JdG91Y2gg JHt3cmtzcmN9Ly5nY2NfYnVpbGRfZG9uZQotfQotCi1kb19idWlsZCgpIHsKLQlmb3IgZiBpbiBp bmNsdWRlIGxpYiBsaWJleGVjIGJpbiBzYmluOyBkbwotCQlpZiBbICEgLWQgJHtfc3lzcm9vdH0v dXNyLyR7Zn0gXTsgdGhlbgotCQkJbWtkaXIgLXAgJHtfc3lzcm9vdH0vdXNyLyR7Zn0KLQkJZmkK LQkJaWYgWyAhIC1oICR7X3N5c3Jvb3R9LyR7Zn0gXTsgdGhlbgotCQkJbG4gLXNmciAke19zeXNy b290fS91c3IvJHtmfSAke19zeXNyb290fS8ke2Z9Ci0JCWZpCi0JZG9uZQotCWxuIC1zZiBsaWIg JHtfc3lzcm9vdH0vdXNyL2xpYjMyCi0JbG4gLXNmIHVzci9saWIgJHtfc3lzcm9vdH0vbGliMzIK LQotCSMgRW5zdXJlIHdlIHVzZSBzYW5lIGVudmlyb25tZW50Ci0JdW5zZXQgQ0MgQ1hYIENQUCBM RCBBUyBBUiBSQU5MSUIgT0JKRFVNUCBSRUFERUxGIE5NCi0JdW5zZXQgQ0ZMQUdTIENYWEZMQUdT IENQUEZMQUdTIExERkxBR1MKLQlleHBvcnQgQ0ZMQUdTPSItT3MiIENYWEZMQUdTPSItT3MiCi0K LQlfYmludXRpbHNfYnVpbGQKLQlfZ2NjX2Jvb3RzdHJhcAotCV9saW51eF9oZWFkZXJzCi0JX2ds aWJjX2hlYWRlcnMKLQlfZ2xpYmNfYnVpbGQKLQlfZ2NjX2J1aWxkCi19Ci0KLWRvX2luc3RhbGwo KSB7Ci0JZm9yIGYgaW4gaW5jbHVkZSBsaWIgbGliZXhlYyBiaW4gc2JpbjsgZG8KLQkJaWYgWyAh IC1kICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyLyR7Zn0gXTsgdGhlbgotCQkJbWtkaXIgLXAg JHtERVNURElSfS8ke19zeXNyb290fS91c3IvJHtmfQotCQlmaQotCQlpZiBbICEgLWggJHtERVNU RElSfS8ke19zeXNyb290fS8ke2Z9IF07IHRoZW4KLQkJCWxuIC1zZnIgJHtERVNURElSfS8ke19z eXNyb290fS91c3IvJHtmfSBcCi0JCQkJJHtERVNURElSfS8ke19zeXNyb290fS8ke2Z9Ci0JCWZp Ci0JZG9uZQotCWxuIC1zZiBsaWIgJHtERVNURElSfS8ke19zeXNyb290fS91c3IvbGliMzIKLQls biAtc2YgdXNyL2xpYiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L2xpYjMyCi0KLQkjIGluc3RhbGwg Y3Jvc3MgYmludXRpbHMKLQljZCAke3dya3NyY30vYmludXRpbHMtYnVpbGQKLQltYWtlIERFU1RE SVI9JHtERVNURElSfSBpbnN0YWxsCi0KLQkjIGluc3RhbGwgY3Jvc3MgZ2NjCi0JY2QgJHt3cmtz cmN9L2djYy1idWlsZAotCW1ha2UgREVTVERJUj0ke0RFU1RESVJ9IGluc3RhbGwKLQotCSMgbW92 ZSBsaWJjYzEuc28qIHRvIHRoZSBzeXNyb290Ci0JbXYgJHtERVNURElSfS91c3IvbGliL2xpYmNj MS5zbyogJHtERVNURElSfS8ke19zeXNyb290fS91c3IvbGliCi0KLQkjIGluc3RhbGwgbGludXgg QVBJIGhlYWRlcnMgZm9yIE1JUFMKLQljZCAke3dya3NyY30vbGludXgtJHtfbGludXhfdmVyc2lv bn0KLQltYWtlIEFSQ0g9YXJtIElOU1RBTExfSERSX1BBVEg9JHtERVNURElSfS8ke19zeXNyb290 fS91c3IgaGVhZGVyc19pbnN0YWxsCi0Jcm0gLWYgJChmaW5kICR7REVTVERJUn0vJHtfc3lzcm9v dH0vdXNyL2luY2x1ZGUgLW5hbWUgLmluc3RhbGwgLW9yIC1uYW1lIC4uaW5zdGFsbC5jbWQpCi0J cm0gLXJmICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL2luY2x1ZGUvZHJtCi0KLQkjIGluc3Rh bGwgZ2xpYmMgZm9yIHRhcmdldAotCWNkICR7d3Jrc3JjfS9nbGliYy1idWlsZAotCW1ha2UgaW5z dGFsbF9yb290PSR7REVTVERJUn0vJHtfc3lzcm9vdH0gaW5zdGFsbCBpbnN0YWxsLWhlYWRlcnMK LQotCSMgc3ltbGlua3MgZm9yIGduYXJsIGFuZCBnbmF0IHNoYXJlZCBsaWJyYXJpZXMKLQlfbWFq b3J2ZXI9JHtfZ2NjX3ZlcnNpb24lLiouKn0KLQlfYWRhbGliPXVzci9saWIvZ2NjLyR7X3RyaXBs ZXR9LyR7X2djY192ZXJzaW9ufS9hZGFsaWIKLQltdiAtdiAke0RFU1RESVJ9LyR7X2FkYWxpYn0v bGliZ25hcmwtJHtfbWFqb3J2ZXJ9LnNvICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL2xpYgot CW12IC12ICR7REVTVERJUn0vJHtfYWRhbGlifS9saWJnbmF0LSR7X21ham9ydmVyfS5zbyAke0RF U1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci9saWIKLQlsbiAtc3ZmIGxpYmduYXJsLSR7X21ham9ydmVy fS5zbyBsaWJnbmFybC5zbwotCWxuIC1zdmYgbGliZ25hdC0ke19tYWpvcnZlcn0uc28gbGliZ25h dC5zbwotCXJtIC12ZiAke0RFU1RESVJ9LyR7X2FkYWxpYn0vbGliZ25he3JsLHR9LnNvCi0KLQkj IFdlIG5lZWQgdG8gYnVpbGQgbGliYXRvbWljIGluIHRhcmdldCBnY2MgYXMgZ2NjZ28gbmVlZHMg aXQgdG8KLQkjIGJ1aWxkLi4uIGJ1dCBpdCdzIG5vdCBuZWVkZWQgYXQgcnVudGltZSwgc28gcmVt b3ZlIGl0IGZyb20gdGhlCi0JIyBkZXN0ZGlyIHNvIGl0IGRvZXNuJ3QgY29uZmxpY3Qgd2l0aCB0 aGUgbGliYXRvbWljIHBhY2thZ2UKLQlybSAtZiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci9s aWIvbGliYXRvbWljLioKLQotCSMgUmVtb3ZlIHVubmVjZXNzYXJ5IHN0dWZmCi0Jcm0gLWYgJHtE RVNURElSfS91c3IvbGliKi9saWJpYmVydHkuYQotCXJtIC1yZiAke0RFU1RESVJ9L3Vzci9zaGFy ZQotCXJtIC1yZiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3tzYmluLGxpYixldGMsdmFyfQotCXJt IC1yZiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci97c2JpbixzaGFyZSxsaWJleGVjfQotCXJt IC1mICR7REVTVERJUn0vJHtfc3lzcm9vdH0vbGliZXhlYwotfQotCiBjcm9zcy1hcm0tbGludXgt Z251ZWFiaS1saWJjX3BhY2thZ2UoKSB7CiAJc2hvcnRfZGVzYys9IiAtIGdsaWJjIGZpbGVzIgog CW5vc3RyaXA9eWVzCkBAIC0zNzQsNiArNDksNiBAQCBjcm9zcy1hcm0tbGludXgtZ251ZWFiaS1s aWJjX3BhY2thZ2UoKSB7CiAJbm92ZXJpZnlyZGVwcz15ZXMKIAogCXBrZ19pbnN0YWxsKCkgewot CQl2bW92ZSAke19zeXNyb290fQorCQl2bW92ZSB1c3IvJHtjcm9zc190cmlwbGV0fQogCX0KIH0K CkZyb20gNGJhNTQyOTc1ZGYyMmZhNTgyNjdhY2RlN2VkZDVkYTY1YzhmZTEzMCBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogcTY2IDxkYW5pZWxAb2N0YWZvcmdlLm9yZz4KRGF0ZTogRnJp LCAyNSBEZWMgMjAyMCAyMDoxMDo0NSArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMDYvMjZdIGNyb3Nz LWFybS1saW51eC1nbnVlYWJpaGY6IHJlZG8gd2l0aCB2b2lkLWNyb3NzCgotLS0KIHNyY3BrZ3Mv Y3Jvc3MtYXJtLWxpbnV4LWdudWVhYmloZi90ZW1wbGF0ZSB8IDM2NSArKy0tLS0tLS0tLS0tLS0t LS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxOSBpbnNlcnRpb25zKCspLCAzNDYgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jcm9zcy1hcm0tbGludXgtZ251ZWFiaWhmL3RlbXBsYXRl IGIvc3JjcGtncy9jcm9zcy1hcm0tbGludXgtZ251ZWFiaWhmL3RlbXBsYXRlCmluZGV4IDRlNDZi YTFlMzA2Li5mMjFhNGViYjQ4NSAxMDA2NDQKLS0tIGEvc3JjcGtncy9jcm9zcy1hcm0tbGludXgt Z251ZWFiaWhmL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvY3Jvc3MtYXJtLWxpbnV4LWdudWVhYmlo Zi90ZW1wbGF0ZQpAQCAtMSwyMiArMSwyMSBAQAotIyBUZW1wbGF0ZSBidWlsZCBmaWxlIGZvciAn Y3Jvc3MtYXJtLWxpbnV4LWdudWVhYmloZicKLSMKKyMgVGVtcGxhdGUgZmlsZSBmb3IgJ2Nyb3Nz LWFybS1saW51eC1nbnVlYWJpaGYnCitfdHJpcGxldD1hcm0tbGludXgtZ251ZWFiaWhmCiBfYmlu dXRpbHNfdmVyc2lvbj0yLjMyCiBfZ2NjX3ZlcnNpb249OS4zLjAKIF9nbGliY192ZXJzaW9uPTIu MzAKIF9saW51eF92ZXJzaW9uPTQuMTkKLQotX3RyaXBsZXQ9YXJtLWxpbnV4LWdudWVhYmloZgot X2ZwdWZsYWdzPSItLXdpdGgtYXJjaD1hcm12NiAtLXdpdGgtZnB1PXZmcCAtLXdpdGgtZmxvYXQ9 aGFyZCIKLV9hcmNoZmxhZ3M9Ii1tYXJjaD1hcm12NiAtbWZwdT12ZnAgLW1mbG9hdC1hYmk9aGFy ZCIKLV9zeXNyb290PSIvdXNyLyR7X3RyaXBsZXR9IgotCiBwa2duYW1lPWNyb3NzLSR7X3RyaXBs ZXR9CiB2ZXJzaW9uPTAuMzMKIHJldmlzaW9uPTIKLXNob3J0X2Rlc2M9IkdOVSBDcm9zcyB0b29s Y2hhaW4gZm9yIHRoZSAke190cmlwbGV0fSBMRSB0YXJnZXQgKGJpbnV0aWxzL2djYy9nbGliYyki CitidWlsZF9zdHlsZT12b2lkLWNyb3NzCitjb25maWd1cmVfYXJncz0iLS13aXRoLWFyY2g9YXJt djYgLS13aXRoLWZwdT12ZnAgLS13aXRoLWZsb2F0PWhhcmQiCitob3N0bWFrZWRlcGVuZHM9InRh ciBnY2Mtb2JqYyBnY2MtZ28gZmxleCBwZXJsIHB5dGhvbjMiCittYWtlZGVwZW5kcz0iaXNsMTUt ZGV2ZWwgbGlibXBjLWRldmVsIHpsaWItZGV2ZWwgZ21wLWRldmVsIG1wZnItZGV2ZWwiCitkZXBl bmRzPSIke3BrZ25hbWV9LWxpYmMtJHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIKK3Nob3J0X2Rlc2M9 IlZvaWQgY3Jvc3MgdG9vbGNoYWluIGZvciAke190cmlwbGV0fSIKIG1haW50YWluZXI9Ik9ycGhh bmVkIDxvcnBoYW5Adm9pZGxpbnV4Lm9yZz4iCitsaWNlbnNlPSJHUEwtMi4wLW9yLWxhdGVyLCBH UEwtMy4wLW9yLWxhdGVyLCBMR1BMLTIuMS1vci1sYXRlciIKIGhvbWVwYWdlPSJodHRwczovL3d3 dy52b2lkbGludXgub3JnLyIKLWxpY2Vuc2U9IlB1YmxpYyBEb21haW4iCiBkaXN0ZmlsZXM9Igog ICR7R05VX1NJVEV9L2JpbnV0aWxzL2JpbnV0aWxzLSR7X2JpbnV0aWxzX3ZlcnNpb259LnRhci54 egogICR7R05VX1NJVEV9L2djYy9nY2MtJHtfZ2NjX3ZlcnNpb259L2djYy0ke19nY2NfdmVyc2lv bn0udGFyLnh6CkBAIC0yNywzNDYgKzI2LDIwIEBAIGNoZWNrc3VtPSIwYWI2YzU1ZGQ4NmE5MmVk NTYxOTcyYmExNWI5YjcwYThiOWY3NTU1N2Y4OTY0NDZjODJlOGIzNmU0NzNlZTA0CiAgZTJjNDEx NGU1NjlhZmJlN2VkYmMyOTEzMWE0M2JlODMzODUwYWI5YTQ1OWQ4MWJlYjI1ODgwMTZkMmJiYjhh ZgogIDBjNjhmNTY1NTUyOGFlZDRmOTlkYWU3MWE1YjI1OWVkYzkzMjM5ZmE4OTllMmRmNzljMDU1 Mjc1YzIxNzQ5YTEiCiAKLWxpYjMyZGlzYWJsZWQ9eWVzCi1ub2Nyb3NzPXllcwotbm9waWU9eWVz Ci1ub2RlYnVnPXllcwotY3JlYXRlX3dya3NyYz15ZXMKLQotaG9zdG1ha2VkZXBlbmRzPSJ0YXIg Z2NjLW9iamMgZ2NjLWdvIGZsZXggcGVybCBweXRob24zIgotbWFrZWRlcGVuZHM9ImlzbDE1LWRl dmVsIGxpYm1wYy1kZXZlbCB6bGliLWRldmVsIgotZGVwZW5kcz0iJHtwa2duYW1lfS1saWJjLSR7 dmVyc2lvbn1fJHtyZXZpc2lvbn0iCi1ub3N0cmlwX2ZpbGVzPSJsaWJjYWZfc2luZ2xlLmEgbGli Z2NjLmEgbGliZ2Nvdi5hIGxpYmdjY19laC5hCi0gbGliZ25hcmxfcGljLmEgbGliZ25hcmwuYSBs aWJnbmF0X3BpYy5hIGxpYmduYXQuYSBsaWJnbWVtLmEiCi0KLWlmIFsgIiRYQlBTX1RBUkdFVF9M SUJDIiAhPSAiZ2xpYmMiIF07IHRoZW4KLQlicm9rZW49ImdsaWJjIGNyb3NzdG9vbGNoYWluIG9u bHkgYXZhaWxhYmxlIG9uIGdsaWJjIgotZmkKK2Nyb3NzX3RyaXBsZXQ9JHtfdHJpcGxldH0KK2Ny b3NzX3dvcmRzaXplPTMyCitjcm9zc19saWJjPWdsaWJjCitjcm9zc19iaW51dGlsc192ZXJzaW9u PSR7X2JpbnV0aWxzX3ZlcnNpb259Citjcm9zc19nY2NfdmVyc2lvbj0ke19nY2NfdmVyc2lvbn0K K2Nyb3NzX2dsaWJjX3ZlcnNpb249JHtfZ2xpYmNfdmVyc2lvbn0KK2Nyb3NzX2xpbnV4X3ZlcnNp b249JHtfbGludXhfdmVyc2lvbn0KK2Nyb3NzX2xpbnV4X2FyY2g9YXJtCitjcm9zc19nbGliY19j ZmxhZ3M9Ii1PcyAtbWFyY2g9YXJtdjYgLW1mcHU9dmZwIC1tZmxvYXQtYWJpPWhhcmQiCiAKIGlm IFsgIiRYQlBTX1RBUkdFVF9NQUNISU5FIiA9ICJhcm12NmwiIF07IHRoZW4KIAlicm9rZW49IkNh bid0IGJ1aWxkIGNyb3NzdG9vbGNoYWluIHRvIGl0c2VsZiIKIGZpCiAKLV9hcHBseV9wYXRjaCgp IHsKLQlsb2NhbCBhcmdzPSIkMSIgcG5hbWU9IiQoYmFzZW5hbWUgJDIpIgotCi0JaWYgWyAhIC1m ICIuJHtwbmFtZX1fZG9uZSIgXTsgdGhlbgotCQlwYXRjaCAtTiAkYXJncyAtaSAkMgotCQl0b3Vj aCAuJHtwbmFtZX1fZG9uZQotCWZpCi19Ci0KLV9saW51eF9oZWFkZXJzKCkgewotCVsgLWYgJHt3 cmtzcmN9Ly5saW51eF9idWlsZF9kb25lIF0gJiYgcmV0dXJuIDAKLQotCWNkICR7d3Jrc3JjfQot CW1zZ19ub3JtYWwgIkJ1aWxkaW5nIExpbnV4IEFQSSBoZWFkZXJzIGZvciBBUk1cbiIKLQotCWNk IGxpbnV4LSR7X2xpbnV4X3ZlcnNpb259Ci0KLQltYWtlIEFSQ0g9YXJtIGhlYWRlcnNfY2hlY2sK LQltYWtlIEFSQ0g9YXJtIElOU1RBTExfSERSX1BBVEg9JHtfc3lzcm9vdH0vdXNyIGhlYWRlcnNf aW5zdGFsbAotCi0JdG91Y2ggJHt3cmtzcmN9Ly5saW51eF9idWlsZF9kb25lCi19Ci0KLV9iaW51 dGlsc19idWlsZCgpIHsKLQlsb2NhbCBfYXJncwotCi0JWyAtZiAke3dya3NyY30vLmJpbnV0aWxz X2J1aWxkX2RvbmUgXSAmJiByZXR1cm4gMAotCi0JY2QgJHt3cmtzcmN9Ci0JbXNnX25vcm1hbCAi QnVpbGRpbmcgY3Jvc3MgYmludXRpbHNcbiIKLQlbICEgLWQgYmludXRpbHMtYnVpbGQgXSAmJiBt a2RpciBiaW51dGlscy1idWlsZAotCWNkIGJpbnV0aWxzLWJ1aWxkCi0KLQlfYXJncz0iLS1wcmVm aXg9L3VzciIKLQlfYXJncys9IiAtLXRhcmdldD0ke190cmlwbGV0fSIKLQlfYXJncys9IiAtLXdp dGgtc3lzcm9vdD0ke19zeXNyb290fSIKLQlfYXJncys9IiAtLWRpc2FibGUtbmxzIgotCV9hcmdz Kz0iIC0tZGlzYWJsZS1zaGFyZWQiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLW11bHRpbGliIgotCV9h cmdzKz0iIC0tZGlzYWJsZS13ZXJyb3IiCi0JX2FyZ3MrPSIgLS13aXRoLXN5c3RlbS16bGliIgot Ci0JLi4vYmludXRpbHMtJHtfYmludXRpbHNfdmVyc2lvbn0vY29uZmlndXJlICR7X2FyZ3N9Ci0K LQltYWtlIGNvbmZpZ3VyZS1ob3N0Ci0JbWFrZSAke21ha2Vqb2JzfQotCW1ha2UgaW5zdGFsbAot Ci0JdG91Y2ggJHt3cmtzcmN9Ly5iaW51dGlsc19idWlsZF9kb25lCi19Ci0KLV9nY2NfYm9vdHN0 cmFwKCkgewotCWxvY2FsIF9hcmdzCi0KLQlbIC1mICR7d3Jrc3JjfS8uZ2NjX2Jvb3RzdHJhcF9k b25lIF0gJiYgcmV0dXJuIDAKLQotCWNkICR7d3Jrc3JjfS9nY2MtJHtfZ2NjX3ZlcnNpb259Ci0J Zm9yIGYgaW4gJHtYQlBTX1NSQ1BLR0RJUn0vZ2NjL3BhdGNoZXMvKi5wYXRjaDsgZG8KLQkJX2Fw cGx5X3BhdGNoIC1wMCAiJGYiCi0JZG9uZQotCi0JbXNnX25vcm1hbCAiQnVpbGRpbmcgY3Jvc3Mg Z2NjIGJvb3RzdHJhcFxuIgotCi0JWyAhIC1kIC4uL2djYy1ib290c3RyYXAgXSAmJiBta2RpciAu Li9nY2MtYm9vdHN0cmFwCi0JY2QgLi4vZ2NjLWJvb3RzdHJhcAotCi0JX2FyZ3M9Ii0tcHJlZml4 PS91c3IiCi0JX2FyZ3MrPSIgLS10YXJnZXQ9JHtfdHJpcGxldH0iCi0JX2FyZ3MrPSIgLS13aXRo b3V0LWhlYWRlcnMiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLW5scyIKLQlfYXJncys9IiAtLWRpc2Fi bGUtc2hhcmVkIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJxdWFkbWF0aCIKLQlfYXJncys9IiAt LWRpc2FibGUtZGVjaW1hbC1mbG9hdCIKLQlfYXJncys9IiAtLWRpc2FibGUtbGliZ29tcCIKLQlf YXJncys9IiAtLWRpc2FibGUtbGlibXB4IgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJtdWRmbGFw IgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJzc3AiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYml0 bSIKLQlfYXJncys9IiAtLWRpc2FibGUtbGliYXRvbWljIgotCV9hcmdzKz0iIC0tZGlzYWJsZS10 aHJlYWRzIgotCV9hcmdzKz0iIC0tZW5hYmxlLWxhbmd1YWdlcz1jIgotCV9hcmdzKz0iIC0tZGlz YWJsZS1zamxqLWV4Y2VwdGlvbnMiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLW11bHRpbGliIgotCV9h cmdzKz0iIC0td2l0aC1nbnUtbGQiCi0JX2FyZ3MrPSIgLS13aXRoLWdudS1hcyIKLQlfYXJncys9 IiAke19mcHVmbGFnc30iCi0KLQlDRkxBR1M9Ii1PMCAtZzAiIENYWEZMQUdTPSItTzAgLWcwIiBc Ci0JCS4uL2djYy0ke19nY2NfdmVyc2lvbn0vY29uZmlndXJlICR7X2FyZ3N9Ci0KLQltYWtlICR7 bWFrZWpvYnN9Ci0JbWFrZSBpbnN0YWxsCi0KLQl0b3VjaCAke3dya3NyY30vLmdjY19ib290c3Ry YXBfZG9uZQotfQotCi1fZ2xpYmNfaGVhZGVycygpIHsKLQlsb2NhbCBfYXJncyBmCi0KLQlbIC1m ICR7d3Jrc3JjfS8uZ2xpYmNfaGVhZGVyc19kb25lIF0gJiYgcmV0dXJuIDAKLQotCWNkICR7d3Jr c3JjfS9nbGliYy0ke19nbGliY192ZXJzaW9ufQotCWlmIFsgLWQgIiR7WEJQU19TUkNQS0dESVJ9 L2dsaWJjL3BhdGNoZXMiIF07IHRoZW4KLQkJZm9yIGYgaW4gJHtYQlBTX1NSQ1BLR0RJUn0vZ2xp YmMvcGF0Y2hlcy8qLnBhdGNoOyBkbwotCQkJX2FwcGx5X3BhdGNoIC1wMSAiJGYiCi0JCWRvbmUK LQlmaQotCi0JY2QgJHt3cmtzcmN9Ci0JbXNnX25vcm1hbCAiQnVpbGRpbmcgY3Jvc3MgZ2xpYmMg aGVhZGVyc1xuIgotCi0JWyAhIC1kIGdsaWJjLWhlYWRlcnMgXSAmJiBta2RpciBnbGliYy1oZWFk ZXJzCi0JY2QgZ2xpYmMtaGVhZGVycwotCi0JZWNobyAibGliY19jdl9mb3JjZWRfdW53aW5kPXll cyIgPiBjb25maWcuY2FjaGUKLQllY2hvICJsaWJjX2N2X2NfY2xlYW51cD15ZXMiID4+IGNvbmZp Zy5jYWNoZQotCi0JZXhwb3J0IENDPSIke190cmlwbGV0fS1nY2MiIExEPSIke190cmlwbGV0fS1s ZCIgXAotCQlBUz0iJHtfdHJpcGxldH0tYXMiIENQUD0iJHtfdHJpcGxldH0tY3BwIgotCi0JX2Fy Z3M9Ii0tcHJlZml4PS91c3IiCi0JX2FyZ3MrPSIgLS1ob3N0PSR7X3RyaXBsZXR9IgotCV9hcmdz Kz0iIC0td2l0aC1oZWFkZXJzPSR7X3N5c3Jvb3R9L3Vzci9pbmNsdWRlIgotCV9hcmdzKz0iIC0t Y29uZmlnLWNhY2hlIgotCV9hcmdzKz0iIC0tZW5hYmxlLW9ic29sZXRlLXJwYyIKLQlfYXJncys9 IiAtLWVuYWJsZS1vYnNvbGV0ZS1uc2wiCi0JX2FyZ3MrPSIgLS1lbmFibGUta2VybmVsPTIuNi4y NyIKLQlfYXJncys9IiAke19mcHVmbGFnc30iCi0KLQkuLi9nbGliYy0ke19nbGliY192ZXJzaW9u fS9jb25maWd1cmUgJHtfYXJnc30KLQotCW1ha2UgLWsgaW5zdGFsbC1oZWFkZXJzIGNyb3NzX2Nv bXBpbGluZz15ZXMgXAotCQlpbnN0YWxsX3Jvb3Q9JHtfc3lzcm9vdH0KLQotCXRvdWNoICR7d3Jr c3JjfS8uZ2xpYmNfaGVhZGVyc19kb25lCi19Ci0KLV9nbGliY19idWlsZCgpIHsKLQlsb2NhbCBf YXJncwotCi0JWyAtZiAke3dya3NyY30vLmdsaWJjX2J1aWxkX2RvbmUgXSAmJiByZXR1cm4gMAot Ci0JY2QgJHt3cmtzcmN9Ci0JbXNnX25vcm1hbCAiQnVpbGRpbmcgY3Jvc3MgZ2xpYmNcbiIKLQot CVsgISAtZCBnbGliYy1idWlsZCBdICYmIG1rZGlyIGdsaWJjLWJ1aWxkCi0JY2QgZ2xpYmMtYnVp bGQKLQotCWVjaG8gInNsaWJkaXI9L3Vzci9saWIzMiIgPiBjb25maWdwYXJtcwotCi0JZWNobyAi bGliY19jdl9mb3JjZWRfdW53aW5kPXllcyIgPiBjb25maWcuY2FjaGUKLQllY2hvICJsaWJjX2N2 X2NfY2xlYW51cD15ZXMiID4+IGNvbmZpZy5jYWNoZQotCi0JZXhwb3J0IENDPSIke190cmlwbGV0 fS1nY2MiIExEPSIke190cmlwbGV0fS1sZCIgXAotCQlBUz0iJHtfdHJpcGxldH0tYXMiIENQUD0i JHtfdHJpcGxldH0tY3BwIgotCWV4cG9ydCBDRkxBR1M9Ii1PcyAtcGlwZSAke19hcmNoZmxhZ3N9 IgotCi0JX2FyZ3M9Ii0tcHJlZml4PS91c3IiCi0JX2FyZ3MrPSIgLS1saWJkaXI9L3Vzci9saWIz MiIKLQlfYXJncys9IiAtLWhvc3Q9JHtfdHJpcGxldH0iCi0JX2FyZ3MrPSIgLS13aXRoLWhlYWRl cnM9JHtfc3lzcm9vdH0vdXNyL2luY2x1ZGUiCi0JX2FyZ3MrPSIgLS1jb25maWctY2FjaGUiCi0J X2FyZ3MrPSIgLS1kaXNhYmxlLXByb2ZpbGUiCi0JX2FyZ3MrPSIgLS1lbmFibGUtb2Jzb2xldGUt cnBjIgotCV9hcmdzKz0iIC0tZW5hYmxlLW9ic29sZXRlLW5zbCIKLQlfYXJncys9IiAtLWRpc2Fi bGUtd2Vycm9yIgotCV9hcmdzKz0iIC0tZW5hYmxlLWtlcm5lbD0yLjYuMjciCi0JX2FyZ3MrPSIg JHtfZnB1ZmxhZ3N9IgotCi0JLi4vZ2xpYmMtJHtfZ2xpYmNfdmVyc2lvbn0vY29uZmlndXJlICR7 X2FyZ3N9Ci0KLQltYWtlICR7bWFrZWpvYnN9Ci0JbWFrZSBpbnN0YWxsX3Jvb3Q9JHtfc3lzcm9v dH0gaW5zdGFsbAotCi0JdG91Y2ggJHt3cmtzcmN9Ly5nbGliY19idWlsZF9kb25lCi19Ci0KLV9n Y2NfYnVpbGQoKSB7Ci0JbG9jYWwgX2FyZ3MKLQotCVsgLWYgJHt3cmtzcmN9Ly5nY2NfYnVpbGRf ZG9uZSBdICYmIHJldHVybiAwCi0KLQljZCAke3dya3NyY30KLQltc2dfbm9ybWFsICJCdWlsZGlu ZyBjcm9zcyBnY2MgZmluYWxcbiIKLQotCVsgISAtZCBnY2MtYnVpbGQgXSAmJiBta2RpciBnY2Mt YnVpbGQKLQljZCBnY2MtYnVpbGQKLQotCXVuc2V0IExEIEFTIENQUAotCWV4cG9ydCBDQz0iZ2Nj IiBDRkxBR1M9Ii1PcyAtcGlwZSIKLQotCSMgTWFrZSB0aGlzIGxpbmsgdG8gdGFyZ2V0IGxpYnMu Ci0JaWYgWyAhIC1mIC5zZWRfc3Vic3RfZG9uZSBdOyB0aGVuCi0JCXNlZCAtZSAicywgL2xpYi8s ICR7X3N5c3Jvb3R9L2xpYi8sZztzLCAvdXNyL2xpYi8sICR7X3N5c3Jvb3R9L3Vzci9saWIvLGci IFwKLQkJCS1pICR7X3N5c3Jvb3R9L2xpYi9saWJjLnNvCi0JCXNlZCAtZSAicywgL2xpYjMyLywg JHtfc3lzcm9vdH0vbGliMzIvLGc7cywgL3Vzci9saWIzMi8sICR7X3N5c3Jvb3R9L3Vzci9saWIz Mi8sZyIgXAotCQkJLWkgJHtfc3lzcm9vdH0vbGliL2xpYmMuc28KLQkJdG91Y2ggLnNlZF9zdWJz dF9kb25lCi0JZmkKLQlfYXJncz0iLS1wcmVmaXg9L3VzciIKLQlfYXJncys9IiAtLWxpYmV4ZWNk aXI9L3Vzci9saWIiCi0JX2FyZ3MrPSIgLS10YXJnZXQ9JHtfdHJpcGxldH0iCi0JX2FyZ3MrPSIg LS13aXRoLXN5c3Jvb3Q9JHtfc3lzcm9vdH0iCi0JX2FyZ3MrPSIgLS1lbmFibGUtbGFuZ3VhZ2Vz PWMsYWRhLGMrKyxvYmpjLG9iai1jKyssZ28sZm9ydHJhbixsdG8iCi0JX2FyZ3MrPSIgLS13aXRo LWdudS1hcyIKLQlfYXJncys9IiAtLXdpdGgtZ251LWxkIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1t dWx0aWxpYiIKLQlfYXJncys9IiAtLWRpc2FibGUtd2Vycm9yIgotCV9hcmdzKz0iIC0tZGlzYWJs ZS1ubHMiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLXNqbGotZXhjZXB0aW9ucyIKLQlfYXJncys9IiAt LWVuYWJsZS10aHJlYWRzPXBvc2l4IgotCV9hcmdzKz0iIC0tZW5hYmxlLWxvbmctbG9uZ3giCi0J X2FyZ3MrPSIgLS1lbmFibGUtc2hhcmVkIgotCV9hcmdzKz0iIC0tZW5hYmxlLWxpbmtlci1idWls ZC1pZCIKLQlfYXJncys9IiAtLWVuYWJsZS1nbnUtdW5pcXVlLW9iamVjdCIKLQlfYXJncys9IiAt LWVuYWJsZS1saWJhZGEiCi0JX2FyZ3MrPSIgLS1lbmFibGUtbHRvIgotCV9hcmdzKz0iIC0tZW5h YmxlLWRlZmF1bHQtcGllIgotCV9hcmdzKz0iIC0tZW5hYmxlLWRlZmF1bHQtc3NwIgotCV9hcmdz Kz0iIC0tZGlzYWJsZS1saWJxdWFkbWF0aCIKLQlfYXJncys9IiAtLWRpc2FibGUtbGlic3NwIgot CV9hcmdzKz0iIC0tZGlzYWJsZS1saWJtcHgiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYm11ZGZs YXAiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYnNhbml0aXplciIKLQlfYXJncys9IiAtLWRpc2Fi bGUtbGliY2lsa3J0cyIKLQlfYXJncys9IiAtLWRpc2FibGUtbGliaXRtIgotCV9hcmdzKz0iIC0t ZGlzYWJsZS1saWJ2dHYiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYnN0ZGN4eC1wY2giCi0JX2Fy Z3MrPSIgLS1lbmFibGUtbGlic3RkY3h4LXRpbWUiCi0JX2FyZ3MrPSIgLS13aXRoLWxpbmtlci1o YXNoLXN0eWxlPWdudSIKLQlfYXJncys9IiAke19mcHVmbGFnc30iCi0KLQkuLi9nY2MtJHtfZ2Nj X3ZlcnNpb259L2NvbmZpZ3VyZSAke19hcmdzfQotCi0JbWFrZSAke21ha2Vqb2JzfQotCi0JdG91 Y2ggJHt3cmtzcmN9Ly5nY2NfYnVpbGRfZG9uZQotfQotCi1kb19idWlsZCgpIHsKLQlmb3IgZiBp biBpbmNsdWRlIGxpYiBsaWJleGVjIGJpbiBzYmluOyBkbwotCQlpZiBbICEgLWQgJHtfc3lzcm9v dH0vdXNyLyR7Zn0gXTsgdGhlbgotCQkJbWtkaXIgLXAgJHtfc3lzcm9vdH0vdXNyLyR7Zn0KLQkJ ZmkKLQkJaWYgWyAhIC1oICR7X3N5c3Jvb3R9LyR7Zn0gXTsgdGhlbgotCQkJbG4gLXNmciAke19z eXNyb290fS91c3IvJHtmfSAke19zeXNyb290fS8ke2Z9Ci0JCWZpCi0JZG9uZQotCWxuIC1zZiBs aWIgJHtfc3lzcm9vdH0vdXNyL2xpYjMyCi0JbG4gLXNmIHVzci9saWIgJHtfc3lzcm9vdH0vbGli MzIKLQotCSMgRW5zdXJlIHdlIHVzZSBzYW5lIGVudmlyb25tZW50Ci0JdW5zZXQgQ0MgQ1hYIENQ UCBMRCBBUyBBUiBSQU5MSUIgT0JKRFVNUCBSRUFERUxGIE5NCi0JdW5zZXQgQ0ZMQUdTIENYWEZM QUdTIENQUEZMQUdTIExERkxBR1MKLQlleHBvcnQgQ0ZMQUdTPSItT3MiIENYWEZMQUdTPSItT3Mi Ci0KLQlfYmludXRpbHNfYnVpbGQKLQlfZ2NjX2Jvb3RzdHJhcAotCV9saW51eF9oZWFkZXJzCi0J X2dsaWJjX2hlYWRlcnMKLQlfZ2xpYmNfYnVpbGQKLQlfZ2NjX2J1aWxkCi19Ci0KLWRvX2luc3Rh bGwoKSB7Ci0JZm9yIGYgaW4gaW5jbHVkZSBsaWIgbGliZXhlYyBiaW4gc2JpbjsgZG8KLQkJaWYg WyAhIC1kICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyLyR7Zn0gXTsgdGhlbgotCQkJbWtkaXIg LXAgJHtERVNURElSfS8ke19zeXNyb290fS91c3IvJHtmfQotCQlmaQotCQlpZiBbICEgLWggJHtE RVNURElSfS8ke19zeXNyb290fS8ke2Z9IF07IHRoZW4KLQkJCWxuIC1zZnIgJHtERVNURElSfS8k e19zeXNyb290fS91c3IvJHtmfSBcCi0JCQkJJHtERVNURElSfS8ke19zeXNyb290fS8ke2Z9Ci0J CWZpCi0JZG9uZQotCWxuIC1zZiBsaWIgJHtERVNURElSfS8ke19zeXNyb290fS91c3IvbGliMzIK LQlsbiAtc2YgdXNyL2xpYiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L2xpYjMyCi0KLQkjIGluc3Rh bGwgY3Jvc3MgYmludXRpbHMKLQljZCAke3dya3NyY30vYmludXRpbHMtYnVpbGQKLQltYWtlIERF U1RESVI9JHtERVNURElSfSBpbnN0YWxsCi0KLQkjIGluc3RhbGwgY3Jvc3MgZ2NjCi0JY2QgJHt3 cmtzcmN9L2djYy1idWlsZAotCW1ha2UgREVTVERJUj0ke0RFU1RESVJ9IGluc3RhbGwKLQotCSMg bW92ZSBsaWJjYzEuc28qIHRvIHRoZSBzeXNyb290Ci0JbXYgJHtERVNURElSfS91c3IvbGliL2xp YmNjMS5zbyogJHtERVNURElSfS8ke19zeXNyb290fS91c3IvbGliCi0KLQkjIGluc3RhbGwgbGlu dXggQVBJIGhlYWRlcnMgZm9yIE1JUFMKLQljZCAke3dya3NyY30vbGludXgtJHtfbGludXhfdmVy c2lvbn0KLQltYWtlIEFSQ0g9YXJtIElOU1RBTExfSERSX1BBVEg9JHtERVNURElSfS8ke19zeXNy b290fS91c3IgaGVhZGVyc19pbnN0YWxsCi0Jcm0gLWYgJChmaW5kICR7REVTVERJUn0vJHtfc3lz cm9vdH0vdXNyL2luY2x1ZGUgLW5hbWUgLmluc3RhbGwgLW9yIC1uYW1lIC4uaW5zdGFsbC5jbWQp Ci0Jcm0gLXJmICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL2luY2x1ZGUvZHJtCi0KLQkjIGlu c3RhbGwgZ2xpYmMgZm9yIHRhcmdldAotCWNkICR7d3Jrc3JjfS9nbGliYy1idWlsZAotCW1ha2Ug aW5zdGFsbF9yb290PSR7REVTVERJUn0vJHtfc3lzcm9vdH0gaW5zdGFsbCBpbnN0YWxsLWhlYWRl cnMKLQotCSMgc3ltbGlua3MgZm9yIGduYXJsIGFuZCBnbmF0IHNoYXJlZCBsaWJyYXJpZXMKLQlf bWFqb3J2ZXI9JHtfZ2NjX3ZlcnNpb24lLiouKn0KLQlfYWRhbGliPXVzci9saWIvZ2NjLyR7X3Ry aXBsZXR9LyR7X2djY192ZXJzaW9ufS9hZGFsaWIKLQltdiAtdiAke0RFU1RESVJ9LyR7X2FkYWxp Yn0vbGliZ25hcmwtJHtfbWFqb3J2ZXJ9LnNvICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL2xp YgotCW12IC12ICR7REVTVERJUn0vJHtfYWRhbGlifS9saWJnbmF0LSR7X21ham9ydmVyfS5zbyAk e0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci9saWIKLQlsbiAtc3ZmIGxpYmduYXJsLSR7X21ham9y dmVyfS5zbyBsaWJnbmFybC5zbwotCWxuIC1zdmYgbGliZ25hdC0ke19tYWpvcnZlcn0uc28gbGli Z25hdC5zbwotCXJtIC12ZiAke0RFU1RESVJ9LyR7X2FkYWxpYn0vbGliZ25he3JsLHR9LnNvCi0K LQkjIFdlIG5lZWQgdG8gYnVpbGQgbGliYXRvbWljIGluIHRhcmdldCBnY2MgYXMgZ2NjZ28gbmVl ZHMgaXQgdG8KLQkjIGJ1aWxkLi4uIGJ1dCBpdCdzIG5vdCBuZWVkZWQgYXQgcnVudGltZSwgc28g cmVtb3ZlIGl0IGZyb20gdGhlCi0JIyBkZXN0ZGlyIHNvIGl0IGRvZXNuJ3QgY29uZmxpY3Qgd2l0 aCB0aGUgbGliYXRvbWljIHBhY2thZ2UKLQlybSAtZiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vz ci9saWIvbGliYXRvbWljLioKLQotCSMgUmVtb3ZlIHVubmVjZXNzYXJ5IHN0dWZmCi0Jcm0gLWYg JHtERVNURElSfS91c3IvbGliKi9saWJpYmVydHkuYQotCXJtIC1yZiAke0RFU1RESVJ9L3Vzci9z aGFyZQotCXJtIC1yZiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3tzYmluLGxpYixldGMsdmFyfQot CXJtIC1yZiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci97c2JpbixzaGFyZSxsaWJleGVjfQot CXJtIC1mICR7REVTVERJUn0vJHtfc3lzcm9vdH0vbGliZXhlYwotfQotCiBjcm9zcy1hcm0tbGlu dXgtZ251ZWFiaWhmLWxpYmNfcGFja2FnZSgpIHsKIAlzaG9ydF9kZXNjKz0iIC0gZ2xpYmMgZmls ZXMiCiAJbm9zdHJpcD15ZXMKQEAgLTM3NCw2ICs0Nyw2IEBAIGNyb3NzLWFybS1saW51eC1nbnVl YWJpaGYtbGliY19wYWNrYWdlKCkgewogCW5vdmVyaWZ5cmRlcHM9eWVzCiAKIAlwa2dfaW5zdGFs bCgpIHsKLQkJdm1vdmUgJHtfc3lzcm9vdH0KKwkJdm1vdmUgdXNyLyR7Y3Jvc3NfdHJpcGxldH0K IAl9CiB9CgpGcm9tIGVmOTE3MmI4MTliOTc3YmIyNzA5MGM0YzkwODYyMzQ1NWI2MTFmM2QgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IHE2NiA8ZGFuaWVsQG9jdGFmb3JnZS5vcmc+CkRh dGU6IEZyaSwgMjUgRGVjIDIwMjAgMjE6MDg6MjcgKzAxMDAKU3ViamVjdDogW1BBVENIIDA3LzI2 XSBjcm9zcy1hcm0tbGludXgtbXVzbGVhYmk6IHJld29yayB3aXRoIHZvaWQtY3Jvc3MKCi0tLQog c3JjcGtncy9jcm9zcy1hcm0tbGludXgtbXVzbGVhYmkvdGVtcGxhdGUgfCAzMTEgKystLS0tLS0t LS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDIyIGluc2VydGlvbnMoKyksIDI4OSBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nyb3NzLWFybS1saW51eC1tdXNsZWFiaS90 ZW1wbGF0ZSBiL3NyY3BrZ3MvY3Jvc3MtYXJtLWxpbnV4LW11c2xlYWJpL3RlbXBsYXRlCmluZGV4 IDc0YjhlOGQ0YzExLi40OWVhN2M1Yjk3ZCAxMDA2NDQKLS0tIGEvc3JjcGtncy9jcm9zcy1hcm0t bGludXgtbXVzbGVhYmkvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9jcm9zcy1hcm0tbGludXgtbXVz bGVhYmkvdGVtcGxhdGUKQEAgLTEsMjAgKzEsMTkgQEAKLSMgVGVtcGxhdGUgYnVpbGQgZmlsZSBm b3IgJ2Nyb3NzLWFybS1saW51eC1tdXNsZWFiaScKLSMKKyMgVGVtcGxhdGUgZmlsZSBmb3IgJ2Ny b3NzLWFybS1saW51eC1tdXNsZWFiaScKK190cmlwbGV0PWFybS1saW51eC1tdXNsZWFiaQogX2Jp bnV0aWxzX3ZlcnNpb249Mi4zMgogX2djY192ZXJzaW9uPTkuMy4wCiBfbXVzbF92ZXJzaW9uPTEu MS4yNAogX2xpbnV4X3ZlcnNpb249NC4xOQogX2xpYnVjb250ZXh0X3ZlcnNpb249MC45LjAKLQot X3RyaXBsZXQ9YXJtLWxpbnV4LW11c2xlYWJpCi1fZnB1ZmxhZ3M9Ii0td2l0aC1hcmNoPWFybXY1 dGUgLS13aXRob3V0LWZwIC0td2l0aC1mbG9hdD1zb2Z0IgotX2FyY2hmbGFncz0iLW1hcmNoPWFy bXY1dGUgLW1zb2Z0LWZsb2F0IC1tZmxvYXQtYWJpPXNvZnQiCi1fc3lzcm9vdD0iL3Vzci8ke190 cmlwbGV0fSIKLQogcGtnbmFtZT1jcm9zcy0ke190cmlwbGV0fQogdmVyc2lvbj0wLjMzCiByZXZp c2lvbj0zCi1zaG9ydF9kZXNjPSJDcm9zcyB0b29sY2hhaW4gZm9yIEFSTXY1IFRFIHRhcmdldCAo bXVzbCkiCitidWlsZF9zdHlsZT12b2lkLWNyb3NzCitjb25maWd1cmVfYXJncz0iLS13aXRoLWFy Y2g9YXJtdjV0ZSAtLXdpdGgtZmxvYXQ9c29mdCIKK2hvc3RtYWtlZGVwZW5kcz0idGFyIGdjYy1v YmpjIGdjYy1nbyBmbGV4IHBlcmwgcHl0aG9uMyIKK21ha2VkZXBlbmRzPSJpc2wxNS1kZXZlbCBs aWJtcGMtZGV2ZWwgemxpYi1kZXZlbCBnbXAtZGV2ZWwgbXBmci1kZXZlbCIKK2RlcGVuZHM9IiR7 cGtnbmFtZX0tbGliYy0ke3ZlcnNpb259XyR7cmV2aXNpb259Igorc2hvcnRfZGVzYz0iVm9pZCBj cm9zcyB0b29sY2hhaW4gZm9yICR7X3RyaXBsZXR9IgogbWFpbnRhaW5lcj0iT3JwaGFuZWQgPG9y cGhhbkB2b2lkbGludXgub3JnPiIKIGhvbWVwYWdlPSJodHRwczovL3d3dy52b2lkbGludXgub3Jn LyIKIGxpY2Vuc2U9IkdQTC0yLjAtb3ItbGF0ZXIsIEdQTC0zLjAtb3ItbGF0ZXIsIE1JVCIKQEAg LTMwLDI5NiArMjksMzAgQEAgY2hlY2tzdW09IjBhYjZjNTVkZDg2YTkyZWQ1NjE5NzJiYTE1Yjli NzBhOGI5Zjc1NTU3Zjg5NjQ0NmM4MmU4YjM2ZTQ3M2VlMDQKICAwYzY4ZjU2NTU1MjhhZWQ0Zjk5 ZGFlNzFhNWIyNTllZGM5MzIzOWZhODk5ZTJkZjc5YzA1NTI3NWMyMTc0OWExCiAgMGQ1M2E0MTVh MzA3ZWYxNzUxNTNiYmU2MGE1NzJjOTQwYTkyMmNiNzM2Y2UxMzUzMGI2NjZlN2VjMjc5NWQ2OCIK IAotbGliMzJkaXNhYmxlZD15ZXMKLW5vY3Jvc3M9eWVzCi1ub3BpZT15ZXMKLW5vZGVidWc9eWVz Ci1jcmVhdGVfd3Jrc3JjPXllcwotCi1ob3N0bWFrZWRlcGVuZHM9InRhciBnY2Mtb2JqYyBnY2Mt Z28gZmxleCBwZXJsIHB5dGhvbjMiCi1tYWtlZGVwZW5kcz0iemxpYi1kZXZlbCBnbXAtZGV2ZWwg bXBmci1kZXZlbCBsaWJtcGMtZGV2ZWwgaXNsMTUtZGV2ZWwiCi1ub3N0cmlwX2ZpbGVzPSJsaWJj YWZfc2luZ2xlLmEgbGliZ2NjLmEgbGliZ2Nvdi5hIGxpYmdjY19laC5hCi0gbGliZ25hcmxfcGlj LmEgbGliZ25hcmwuYSBsaWJnbmF0X3BpYy5hIGxpYmduYXQuYSBsaWJnbWVtLmEiCi1kZXBlbmRz PSIke3BrZ25hbWV9LWxpYmMtJHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIKK2Nyb3NzX3RyaXBsZXQ9 JHtfdHJpcGxldH0KK2Nyb3NzX3dvcmRzaXplPTMyCitjcm9zc19saWJjPW11c2wKK2Nyb3NzX2Jp bnV0aWxzX3ZlcnNpb249JHtfYmludXRpbHNfdmVyc2lvbn0KK2Nyb3NzX2djY192ZXJzaW9uPSR7 X2djY192ZXJzaW9ufQorY3Jvc3NfbXVzbF92ZXJzaW9uPSR7X211c2xfdmVyc2lvbn0KK2Nyb3Nz X2xpbnV4X3ZlcnNpb249JHtfbGludXhfdmVyc2lvbn0KK2Nyb3NzX2xpYnVjb250ZXh0X3ZlcnNp b249JHtfbGlidWNvbnRleHRfdmVyc2lvbn0KK2Nyb3NzX2xpYnVjb250ZXh0X2FyY2g9YXJtCitj cm9zc19saW51eF9hcmNoPWFybQorY3Jvc3NfYmludXRpbHNfY29uZmlndXJlX2FyZ3M9Ii0td2l0 aG91dC1mcCIKK2Nyb3NzX211c2xfY2ZsYWdzPSItT3MgLW1hcmNoPWFybXY1dGUgLW1zb2Z0LWZs b2F0IC1tZmxvYXQtYWJpPXNvZnQiCiAKIGlmIFsgIiRYQlBTX1RBUkdFVF9NQUNISU5FIiA9ICJh cm12NXRlbC1tdXNsIiBdOyB0aGVuCiAJYnJva2VuPSJDYW4ndCBidWlsZCBjcm9zc3Rvb2xjaGFp biB0byBpdHNlbGYiCiBmaQogCi1fYXBwbHlfcGF0Y2goKSB7Ci0JbG9jYWwgYXJncz0iJDEiIHBu YW1lPSIkKGJhc2VuYW1lICQyKSIKLQotCWlmIFsgISAtZiAiLiR7cG5hbWV9X2RvbmUiIF07IHRo ZW4KLQkJcGF0Y2ggLU4gJGFyZ3MgLWkgJDIKLQkJdG91Y2ggLiR7cG5hbWV9X2RvbmUKLQlmaQot fQotCi1fYmludXRpbHNfYnVpbGQoKSB7Ci0JbG9jYWwgX2FyZ3MKLQotCVsgLWYgJHt3cmtzcmN9 Ly5iaW51dGlsc19idWlsZF9kb25lIF0gJiYgcmV0dXJuIDAKLQotCWNkICR7d3Jrc3JjfQotCW1z Z19ub3JtYWwgIkJ1aWxkaW5nIGNyb3NzIGJpbnV0aWxzIGJvb3RzdHJhcFxuIgotCi0JWyAhIC1k IGJpbnV0aWxzLWJ1aWxkIF0gJiYgbWtkaXIgYmludXRpbHMtYnVpbGQKLQljZCBiaW51dGlscy1i dWlsZAotCi0JX2FyZ3M9Ii0tcHJlZml4PS91c3IiCi0JX2FyZ3MrPSIgLS10YXJnZXQ9JHtfdHJp cGxldH0iCi0JX2FyZ3MrPSIgLS13aXRoLXN5c3Jvb3Q9JHtfc3lzcm9vdH0iCi0JX2FyZ3MrPSIg LS1kaXNhYmxlLW5scyIKLQlfYXJncys9IiAtLWRpc2FibGUtbXVsdGlsaWIiCi0JX2FyZ3MrPSIg LS1kaXNhYmxlLXdlcnJvciIKLQlfYXJncys9IiAtLWRpc2FibGUtc2hhcmVkIgotCV9hcmdzKz0i IC0td2l0aC1zeXN0ZW0temxpYiIKLQlfYXJncys9IiAke19mcHVmbGFnc30iCi0KLQkuLi9iaW51 dGlscy0ke19iaW51dGlsc192ZXJzaW9ufS9jb25maWd1cmUgJHtfYXJnc30KLQotCW1ha2UgY29u ZmlndXJlLWhvc3QgJiYgbWFrZSAke21ha2Vqb2JzfQotCW1ha2UgaW5zdGFsbAotCi0JdG91Y2gg JHt3cmtzcmN9Ly5iaW51dGlsc19idWlsZF9kb25lCi19Ci0KLV9nY2NfYm9vdHN0cmFwKCkgewot CWxvY2FsIF9hcmdzCi0KLQlbIC1mICR7d3Jrc3JjfS8uZ2NjX2Jvb3RzdHJhcF9kb25lIF0gJiYg cmV0dXJuIDAKLQotCWNkICR7d3Jrc3JjfS9nY2MtJHtfZ2NjX3ZlcnNpb259Ci0JZm9yIGYgaW4g JHtYQlBTX1NSQ1BLR0RJUn0vZ2NjL3BhdGNoZXMvKi5wYXRjaDsgZG8KLQkJX2FwcGx5X3BhdGNo IC1wMCAiJGYiCi0JZG9uZQotCWZvciBmIGluICR7WEJQU19TUkNQS0dESVJ9L2djYy9maWxlcy8q LW11c2wucGF0Y2g7IGRvCi0JCV9hcHBseV9wYXRjaCAtcDEgIiRmIgotCWRvbmUKLQotCW1zZ19u b3JtYWwgIkJ1aWxkaW5nIGNyb3NzIGdjYyBib290c3RyYXBcbiIKLQotCVsgISAtZCAuLi9nY2Mt Ym9vdHN0cmFwIF0gJiYgbWtkaXIgLi4vZ2NjLWJvb3RzdHJhcAotCWNkIC4uL2djYy1ib290c3Ry YXAKLQotCV9hcmdzPSItLXByZWZpeD0vdXNyIgotCV9hcmdzKz0iIC0tdGFyZ2V0PSR7X3RyaXBs ZXR9IgotCV9hcmdzKz0iIC0td2l0aC1zeXNyb290PSR7X3N5c3Jvb3R9IgotCV9hcmdzKz0iIC0t d2l0aC1uZXdsaWIiCi0JX2FyZ3MrPSIgLS1lbmFibGUtbGFuZ3VhZ2VzPWMiCi0JX2FyZ3MrPSIg LS13aXRoLW5ld2xpYiIKLQlfYXJncys9IiAtLWRpc2FibGUtbGlic3NwIgotCV9hcmdzKz0iIC0t ZGlzYWJsZS1ubHMiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYnF1YWRtYXRoIgotCV9hcmdzKz0i IC0tZGlzYWJsZS10aHJlYWRzIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1kZWNpbWFsLWZsb2F0Igot CV9hcmdzKz0iIC0tZGlzYWJsZS1zaGFyZWQiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYm1weCIK LQlfYXJncys9IiAtLWRpc2FibGUtbGlibXVkZmxhcCIKLQlfYXJncys9IiAtLWRpc2FibGUtbGli Z29tcCIKLQlfYXJncys9IiAtLWRpc2FibGUtbGliYXRvbWljIgotCV9hcmdzKz0iIC0tZGlzYWJs ZS1zeW12ZXJzIgotCV9hcmdzKz0iIGxpYmF0X2N2X2hhdmVfaWZ1bmM9bm8iCi0JX2FyZ3MrPSIg JHtfZnB1ZmxhZ3N9IgotCi0JQ0ZMQUdTPSItTzAgLWcwIiBDWFhGTEFHUz0iLU8wIC1nMCIgXAot CQkuLi9nY2MtJHtfZ2NjX3ZlcnNpb259L2NvbmZpZ3VyZSAke19hcmdzfQotCi0JbWFrZSAke21h a2Vqb2JzfQotCW1ha2UgaW5zdGFsbAotCi0JdG91Y2ggJHt3cmtzcmN9Ly5nY2NfYm9vdHN0cmFw X2RvbmUKLX0KLQotX2xpbnV4X2hlYWRlcnMoKSB7Ci0JWyAtZiAke3dya3NyY30vLmxpbnV4X2J1 aWxkX2RvbmUgXSAmJiByZXR1cm4gMAotCi0JY2QgJHt3cmtzcmN9Ci0JbXNnX25vcm1hbCAiQnVp bGRpbmcgTGludXggQVBJIGhlYWRlcnMgZm9yIEFSTVxuIgotCi0JY2QgbGludXgtJHtfbGludXhf dmVyc2lvbn0KLQlmb3IgZiBpbiAke1hCUFNfU1JDUEtHRElSfS9rZXJuZWwtbGliYy1oZWFkZXJz L3BhdGNoZXMvKi5wYXRjaDsgZG8KLQkJX2FwcGx5X3BhdGNoIC1wMCAkZgotCWRvbmUKLQotCW1h a2UgQVJDSD1hcm0gaGVhZGVyc19jaGVjawotCW1ha2UgQVJDSD1hcm0gSU5TVEFMTF9IRFJfUEFU SD0ke19zeXNyb290fS91c3IgaGVhZGVyc19pbnN0YWxsCi0KLQl0b3VjaCAke3dya3NyY30vLmxp bnV4X2J1aWxkX2RvbmUKLX0KLQotX211c2xfYnVpbGQoKSB7Ci0JWyAtZiAke3dya3NyY30vLm11 c2xfYnVpbGRfZG9uZSBdICYmIHJldHVybiAwCi0KLQljZCAke3dya3NyY30vbXVzbC0ke19tdXNs X3ZlcnNpb259Ci0JbXNnX25vcm1hbCAiQnVpbGRpbmcgY3Jvc3MgbXVzbCBsaWJjXG4iCi0KLQkj IEFwcGx5IG11c2wgcGF0Y2hlcyBpZiB0aGVyZSBhcmUgYW55Ci0JaWYgWyAtZCAiJHtYQlBTX1NS Q1BLR0RJUn0vbXVzbC9wYXRjaGVzIiBdOyB0aGVuCi0JCWZvciBmIGluICR7WEJQU19TUkNQS0dE SVJ9L211c2wvcGF0Y2hlcy8qLnBhdGNoOyBkbwotCQkJX2FwcGx5X3BhdGNoIC1wMCAiJGYiCi0J CWRvbmUKLQlmaQotCi0JQ0M9IiR7X3RyaXBsZXR9LWdjYyIgQ0ZMQUdTPSItT3MgLXBpcGUgLWZQ SUMgJHtfYXJjaGZsYWdzfSIgXAotCQkuL2NvbmZpZ3VyZSAtLXByZWZpeD0vdXNyCi0KLQltYWtl ICR7bWFrZWpvYnN9Ci0JbWFrZSBERVNURElSPSR7X3N5c3Jvb3R9IGluc3RhbGwKLQotCXRvdWNo ICR7d3Jrc3JjfS8ubXVzbF9idWlsZF9kb25lCi19Ci0KLV9saWJ1Y29udGV4dF9idWlsZCgpIHsK LQlbIC1mICR7d3Jrc3JjfS8ubGlidWNvbnRleHRfYnVpbGRfZG9uZSBdICYmIHJldHVybiAwCi0K LQljZCAke3dya3NyY30vbGlidWNvbnRleHQtJHtfbGlidWNvbnRleHRfdmVyc2lvbn0KLQltc2df bm9ybWFsICJCdWlsZGluZyBjcm9zcyBsaWJ1Y29udGV4dFxuIgotCi0JIyBpdCdzIG9rIGlmIHdl J3JlIHN0YXRpYyBvbmx5IGhlcmUKLQlDQz0iJHtfdHJpcGxldH0tZ2NjIiBBUj0iJHtfdHJpcGxl dH0tYXIiIEFTPSIke190cmlwbGV0fS1hcyIgXAotCQlDRkxBR1M9Ii1PcyAtcGlwZSAke19hcmNo ZmxhZ3N9IiBcCi0JCW1ha2UgQVJDSD1hcm0gbGlidWNvbnRleHQuYQotCi0JY3AgbGlidWNvbnRl eHQuYSAke19zeXNyb290fS91c3IvbGliCi0KLQl0b3VjaCAke3dya3NyY30vLmxpYnVjb250ZXh0 X2J1aWxkX2RvbmUKLX0KLQotX2djY19idWlsZCgpIHsKLQlsb2NhbCBfYXJncwotCi0JWyAtZiAk e3dya3NyY30vLmdjY19idWlsZF9kb25lIF0gJiYgcmV0dXJuIDAKLQotCWNkICR7d3Jrc3JjfQot CW1zZ19ub3JtYWwgIkJ1aWxkaW5nIGNyb3NzIGdjYyBmaW5hbFxuIgotCi0JWyAhIC1kIGdjYy1i dWlsZCBdICYmIG1rZGlyIGdjYy1idWlsZAotCWNkIGdjYy1idWlsZAotCi0JX2FyZ3M9Ii0tcHJl Zml4PS91c3IiCi0JX2FyZ3MrPSIgLS1saWJleGVjZGlyPS91c3IvbGliIgotCV9hcmdzKz0iIC0t dGFyZ2V0PSR7X3RyaXBsZXR9IgotCV9hcmdzKz0iIC0td2l0aC1zeXNyb290PSR7X3N5c3Jvb3R9 IgotCV9hcmdzKz0iIC0tZW5hYmxlLWxhbmd1YWdlcz1jLGFkYSxjKyssb2JqYyxvYmotYysrLGdv LGZvcnRyYW4sbHRvIgotCV9hcmdzKz0iIC0tZW5hYmxlLWxpYmFkYSIKLQlfYXJncys9IiAtLWVu YWJsZS1sdG8iCi0JX2FyZ3MrPSIgLS1lbmFibGUtZGVmYXVsdC1waWUiCi0JX2FyZ3MrPSIgLS1l bmFibGUtZGVmYXVsdC1zc3AiCi0JX2FyZ3MrPSIgLS1lbmFibGUtbGlic3NwIgotCV9hcmdzKz0i IC0tZGlzYWJsZS1saWJzYW5pdGl6ZXIiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLW11bHRpbGliIgot CV9hcmdzKz0iIC0tZGlzYWJsZS1ubHMiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYm1weCIKLQlf YXJncys9IiAtLWRpc2FibGUtbGlibXVkZmxhcCIKLQlfYXJncys9IiAtLWRpc2FibGUtbGlicXVh ZG1hdGgiCi0JX2FyZ3MrPSIgLS1lbmFibGUtc2hhcmVkIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1z eW12ZXJzIgotCV9hcmdzKz0iIGxpYmF0X2N2X2hhdmVfaWZ1bmM9bm8iCi0JX2FyZ3MrPSIgJHtf ZnB1ZmxhZ3N9IgotCi0JLi4vZ2NjLSR7X2djY192ZXJzaW9ufS9jb25maWd1cmUgJHtfYXJnc30K LQotCW1ha2UgJHttYWtlam9ic30KLQotCXRvdWNoICR7d3Jrc3JjfS8uZ2NjX2J1aWxkX2RvbmUK LX0KLQotZG9fYnVpbGQoKSB7Ci0JIyBFbnN1cmUgd2UgdXNlIHNhbmUgZW52aXJvbm1lbnQKLQl1 bnNldCBDQyBDWFggQ1BQIExEIEFTIEFSIFJBTkxJQiBPQkpEVU1QIFJFQURFTEYgTk0KLQl1bnNl dCBDRkxBR1MgQ1hYRkxBR1MgQ1BQRkxBR1MgTERGTEFHUwotCWV4cG9ydCBDRkxBR1M9Ii1PcyAt cGlwZSIgQ1hYRkxBR1M9Ii1PcyAtcGlwZSIKLQotCWZvciBmIGluIGluY2x1ZGUgbGliIGxpYmV4 ZWMgYmluIHNiaW47IGRvCi0JCWlmIFsgISAtZCAke19zeXNyb290fS91c3IvJHtmfSBdOyB0aGVu Ci0JCQlta2RpciAtcCAke19zeXNyb290fS91c3IvJHtmfQotCQlmaQotCQlpZiBbICEgLWggJHtf c3lzcm9vdH0vJHtmfSBdOyB0aGVuCi0JCQlsbiAtc2ZyICR7X3N5c3Jvb3R9L3Vzci8ke2Z9ICR7 X3N5c3Jvb3R9LyR7Zn0KLQkJZmkKLQlkb25lCi0JbG4gLXNmIGxpYiAke19zeXNyb290fS91c3Iv bGliMzIKLQlsbiAtc2YgdXNyL2xpYiAke19zeXNyb290fS9saWIzMgotCi0JX2JpbnV0aWxzX2J1 aWxkCi0JX2djY19ib290c3RyYXAKLQlfbGludXhfaGVhZGVycwotCV9tdXNsX2J1aWxkCi0JX2xp YnVjb250ZXh0X2J1aWxkCi0JX2djY19idWlsZAotfQotCi1kb19pbnN0YWxsKCkgewotCWZvciBm IGluIGluY2x1ZGUgbGliIGxpYmV4ZWMgYmluIHNiaW47IGRvCi0JCWlmIFsgISAtZCAke0RFU1RE SVJ9LyR7X3N5c3Jvb3R9L3Vzci8ke2Z9IF07IHRoZW4KLQkJCW1rZGlyIC1wICR7REVTVERJUn0v JHtfc3lzcm9vdH0vdXNyLyR7Zn0KLQkJZmkKLQkJaWYgWyAhIC1oICR7REVTVERJUn0vJHtfc3lz cm9vdH0vJHtmfSBdOyB0aGVuCi0JCQlsbiAtc2ZyICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNy LyR7Zn0gXAotCQkJCSR7REVTVERJUn0vJHtfc3lzcm9vdH0vJHtmfQotCQlmaQotCWRvbmUKLQls biAtc2YgbGliICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL2xpYjMyCi0JbG4gLXNmIHVzci9s aWIgJHtERVNURElSfS8ke19zeXNyb290fS9saWIzMgotCi0JIyBpbnN0YWxsIGxpbnV4IEFQSSBo ZWFkZXJzCi0JY2QgJHt3cmtzcmN9L2xpbnV4LSR7X2xpbnV4X3ZlcnNpb259Ci0JbWFrZSBBUkNI PWFybSBJTlNUQUxMX0hEUl9QQVRIPSR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyIGhlYWRlcnNf aW5zdGFsbAotCXJtIC1mICQoZmluZCAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci9pbmNsdWRl IC1uYW1lIC5pbnN0YWxsIC1vciAtbmFtZSAuLmluc3RhbGwuY21kKQotCXJtIC1yZiAke0RFU1RE SVJ9LyR7X3N5c3Jvb3R9L3Vzci9pbmNsdWRlL2RybQotCi0JIyBpbnN0YWxsIGNyb3NzIGJpbnV0 aWxzCi0JY2QgJHt3cmtzcmN9L2JpbnV0aWxzLWJ1aWxkCi0JbWFrZSBERVNURElSPSR7REVTVERJ Un0gaW5zdGFsbAotCi0JIyBpbnN0YWxsIGNyb3NzIGdjYwotCWNkICR7d3Jrc3JjfS9nY2MtYnVp bGQKLQltYWtlIERFU1RESVI9JHtERVNURElSfSBpbnN0YWxsCi0KLQkjIG1vdmUgbGliY2MxLnNv KiB0byB0aGUgc3lzcm9vdAotCW12ICR7REVTVERJUn0vdXNyL2xpYi9saWJjYzEuc28qICR7REVT VERJUn0vJHtfc3lzcm9vdH0vdXNyL2xpYgotCi0JIyBpbnN0YWxsIG11c2wgbGliYyBmb3IgdGFy Z2V0Ci0JY2QgJHt3cmtzcmN9L211c2wtJHtfbXVzbF92ZXJzaW9ufQotCW1ha2UgREVTVERJUj0k e0RFU1RESVJ9LyR7X3N5c3Jvb3R9IGluc3RhbGwKLQotCSMgUmVtb3ZlIHVzZWxlc3MgaGVhZGVy cy4KLQlybSAtcmYgJHtERVNURElSfS91c3IvbGliL2djYy8ke190cmlwbGV0fS8qL2luY2x1ZGUt Zml4ZWQvCi0KLQkjIE1ha2UgbGQtbXVzbC1hcm0uc28uMSBzeW1saW5rIHJlbGF0aXZlLgotCWxu IC1zZiBsaWJjLnNvICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL2xpYi9sZC1tdXNsLWFybS5z by4xCi0KLQkjIHN5bWxpbmtzIGZvciBnbmFybCBhbmQgZ25hdCBzaGFyZWQgbGlicmFyaWVzCi0J X21ham9ydmVyPSR7X2djY192ZXJzaW9uJS4qLip9Ci0JX2FkYWxpYj11c3IvbGliL2djYy8ke190 cmlwbGV0fS8ke19nY2NfdmVyc2lvbn0vYWRhbGliCi0JbXYgLXYgJHtERVNURElSfS8ke19hZGFs aWJ9L2xpYmduYXJsLSR7X21ham9ydmVyfS5zbyAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci9s aWIKLQltdiAtdiAke0RFU1RESVJ9LyR7X2FkYWxpYn0vbGliZ25hdC0ke19tYWpvcnZlcn0uc28g JHtERVNURElSfS8ke19zeXNyb290fS91c3IvbGliCi0JbG4gLXN2ZiBsaWJnbmFybC0ke19tYWpv cnZlcn0uc28gbGliZ25hcmwuc28KLQlsbiAtc3ZmIGxpYmduYXQtJHtfbWFqb3J2ZXJ9LnNvIGxp YmduYXQuc28KLQlybSAtdmYgJHtERVNURElSfS8ke19hZGFsaWJ9L2xpYmduYXtybCx0fS5zbwot Ci0JIyBXZSBuZWVkIHRvIGJ1aWxkIGxpYmF0b21pYyBpbiB0YXJnZXQgZ2NjIGFzIGdjY2dvIG5l ZWRzIGl0IHRvCi0JIyBidWlsZC4uLiBidXQgaXQncyBub3QgbmVlZGVkIGF0IHJ1bnRpbWUsIHNv IHJlbW92ZSBpdCBmcm9tIHRoZQotCSMgZGVzdGRpciBzbyBpdCBkb2Vzbid0IGNvbmZsaWN0IHdp dGggdGhlIGxpYmF0b21pYyBwYWNrYWdlCi0Jcm0gLWYgJHtERVNURElSfS8ke19zeXNyb290fS91 c3IvbGliL2xpYmF0b21pYy4qCi0KLQkjIFJlbW92ZSB1bm5lY2Vzc2FyeSBzdHVmZgotCXJtIC1m ICR7REVTVERJUn0vdXNyL2xpYiovbGliaWJlcnR5LmEKLQlybSAtcmYgJHtERVNURElSfS91c3Iv c2hhcmUKLQlybSAtcmYgJHtERVNURElSfS8ke19zeXNyb290fS97ZXRjLHZhcn0KLQlybSAtcmYg JHtERVNURElSfS8ke19zeXNyb290fS91c3Ive3NiaW4sc2hhcmUsbGliZXhlY30KLQlybSAtZiAk e0RFU1RESVJ9LyR7X3N5c3Jvb3R9L2xpYmV4ZWMKLQlybSAtZiAke0RFU1RESVJ9LyR7X3N5c3Jv b3R9L2xpYi8qLnB5Ci0Jcm0gLXJmICR7REVTVERJUn0vJHtfc3lzcm9vdH0ve3NiaW4sbGlifQot fQotCiBjcm9zcy1hcm0tbGludXgtbXVzbGVhYmktbGliY19wYWNrYWdlKCkgewogCXNob3J0X2Rl c2MrPSIgLSBsaWJjIGZpbGVzIgogCW5vc3RyaXA9eWVzCiAJbm9zaGxpYnByb3ZpZGVzPXllcwog CW5vdmVyaWZ5cmRlcHM9eWVzCisKIAlwa2dfaW5zdGFsbCgpIHsKLQkJdm1vdmUgJHtfc3lzcm9v dH0KKwkJdm1vdmUgdXNyLyR7Y3Jvc3NfdHJpcGxldH0KIAl9CiB9CgpGcm9tIGMwYTIwMDgwYjEy ODE3MjEzNDdhZDY1NTJmNzhjODU3YTk4NmRmYTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206IHE2NiA8ZGFuaWVsQG9jdGFmb3JnZS5vcmc+CkRhdGU6IEZyaSwgMjUgRGVjIDIwMjAgMjE6 MDg6MzkgKzAxMDAKU3ViamVjdDogW1BBVENIIDA4LzI2XSBjcm9zcy1hcm0tbGludXgtbXVzbGVh YmloZjogcmV3b3JrIHdpdGggdm9pZC1jcm9zcwoKLS0tCiBzcmNwa2dzL2Nyb3NzLWFybS1saW51 eC1tdXNsZWFiaWhmL3RlbXBsYXRlIHwgMzA5ICsrLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUg Y2hhbmdlZCwgMjEgaW5zZXJ0aW9ucygrKSwgMjg4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L3NyY3BrZ3MvY3Jvc3MtYXJtLWxpbnV4LW11c2xlYWJpaGYvdGVtcGxhdGUgYi9zcmNwa2dzL2Ny b3NzLWFybS1saW51eC1tdXNsZWFiaWhmL3RlbXBsYXRlCmluZGV4IDkyZTI1ZjQ5ZTQ3Li5mOGI1 MzY2ZjIyOCAxMDA2NDQKLS0tIGEvc3JjcGtncy9jcm9zcy1hcm0tbGludXgtbXVzbGVhYmloZi90 ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2Nyb3NzLWFybS1saW51eC1tdXNsZWFiaWhmL3RlbXBsYXRl CkBAIC0xLDIwICsxLDE5IEBACi0jIFRlbXBsYXRlIGJ1aWxkIGZpbGUgZm9yICdjcm9zcy1hcm0t bGludXgtbXVzbGVhYmloZicKLSMKKyMgVGVtcGxhdGUgZmlsZSBmb3IgJ2Nyb3NzLWFybS1saW51 eC1tdXNsZWFiaWhmJworX3RyaXBsZXQ9YXJtLWxpbnV4LW11c2xlYWJpaGYKIF9iaW51dGlsc192 ZXJzaW9uPTIuMzIKIF9nY2NfdmVyc2lvbj05LjMuMAogX211c2xfdmVyc2lvbj0xLjEuMjQKIF9s aW51eF92ZXJzaW9uPTQuMTkKIF9saWJ1Y29udGV4dF92ZXJzaW9uPTAuOS4wCi0KLV90cmlwbGV0 PWFybS1saW51eC1tdXNsZWFiaWhmCi1fZnB1ZmxhZ3M9Ii0td2l0aC1hcmNoPWFybXY2IC0td2l0 aC1mcHU9dmZwIC0td2l0aC1mbG9hdD1oYXJkIgotX2FyY2hmbGFncz0iLW1hcmNoPWFybXY2IC1t ZnB1PXZmcCAtbWZsb2F0LWFiaT1oYXJkIgotX3N5c3Jvb3Q9Ii91c3IvJHtfdHJpcGxldH0iCi0K IHBrZ25hbWU9Y3Jvc3MtJHtfdHJpcGxldH0KIHZlcnNpb249MC4zMwogcmV2aXNpb249Mwotc2hv cnRfZGVzYz0iQ3Jvc3MgdG9vbGNoYWluIGZvciBBUk12NiBMRSBIYXJkIEZsb2F0IHRhcmdldCAo bXVzbCkiCitidWlsZF9zdHlsZT12b2lkLWNyb3NzCitjb25maWd1cmVfYXJncz0iLS13aXRoLWFy Y2g9YXJtdjYgLS13aXRoLWZwdT12ZnAgLS13aXRoLWZsb2F0PWhhcmQiCitob3N0bWFrZWRlcGVu ZHM9InRhciBnY2Mtb2JqYyBnY2MtZ28gZmxleCBwZXJsIHB5dGhvbjMiCittYWtlZGVwZW5kcz0i aXNsMTUtZGV2ZWwgbGlibXBjLWRldmVsIHpsaWItZGV2ZWwgZ21wLWRldmVsIG1wZnItZGV2ZWwi CitkZXBlbmRzPSIke3BrZ25hbWV9LWxpYmMtJHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIKK3Nob3J0 X2Rlc2M9IlZvaWQgY3Jvc3MgdG9vbGNoYWluIGZvciAke190cmlwbGV0fSIKIG1haW50YWluZXI9 Ik9ycGhhbmVkIDxvcnBoYW5Adm9pZGxpbnV4Lm9yZz4iCiBob21lcGFnZT0iaHR0cHM6Ly93d3cu dm9pZGxpbnV4Lm9yZy8iCiBsaWNlbnNlPSJHUEwtMi4wLW9yLWxhdGVyLCBHUEwtMy4wLW9yLWxh dGVyLCBNSVQiCkBAIC0zMCwyOTUgKzI5LDI5IEBAIGNoZWNrc3VtPSIwYWI2YzU1ZGQ4NmE5MmVk NTYxOTcyYmExNWI5YjcwYThiOWY3NTU1N2Y4OTY0NDZjODJlOGIzNmU0NzNlZTA0CiAgMGM2OGY1 NjU1NTI4YWVkNGY5OWRhZTcxYTViMjU5ZWRjOTMyMzlmYTg5OWUyZGY3OWMwNTUyNzVjMjE3NDlh MQogIDBkNTNhNDE1YTMwN2VmMTc1MTUzYmJlNjBhNTcyYzk0MGE5MjJjYjczNmNlMTM1MzBiNjY2 ZTdlYzI3OTVkNjgiCiAKLWxpYjMyZGlzYWJsZWQ9eWVzCi1ub2Nyb3NzPXllcwotbm9waWU9eWVz Ci1ub2RlYnVnPXllcwotY3JlYXRlX3dya3NyYz15ZXMKLQotaG9zdG1ha2VkZXBlbmRzPSJ0YXIg Z2NjLW9iamMgZ2NjLWdvIGZsZXggcGVybCBweXRob24zIgotbWFrZWRlcGVuZHM9InpsaWItZGV2 ZWwgZ21wLWRldmVsIG1wZnItZGV2ZWwgbGlibXBjLWRldmVsIGlzbDE1LWRldmVsIgotbm9zdHJp cF9maWxlcz0ibGliY2FmX3NpbmdsZS5hIGxpYmdjYy5hIGxpYmdjb3YuYSBsaWJnY2NfZWguYQot IGxpYmduYXJsX3BpYy5hIGxpYmduYXJsLmEgbGliZ25hdF9waWMuYSBsaWJnbmF0LmEgbGliZ21l bS5hIgotZGVwZW5kcz0iJHtwa2duYW1lfS1saWJjLSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCitj cm9zc190cmlwbGV0PSR7X3RyaXBsZXR9Citjcm9zc193b3Jkc2l6ZT0zMgorY3Jvc3NfbGliYz1t dXNsCitjcm9zc19iaW51dGlsc192ZXJzaW9uPSR7X2JpbnV0aWxzX3ZlcnNpb259Citjcm9zc19n Y2NfdmVyc2lvbj0ke19nY2NfdmVyc2lvbn0KK2Nyb3NzX211c2xfdmVyc2lvbj0ke19tdXNsX3Zl cnNpb259Citjcm9zc19saW51eF92ZXJzaW9uPSR7X2xpbnV4X3ZlcnNpb259Citjcm9zc19saWJ1 Y29udGV4dF92ZXJzaW9uPSR7X2xpYnVjb250ZXh0X3ZlcnNpb259Citjcm9zc19saWJ1Y29udGV4 dF9hcmNoPWFybQorY3Jvc3NfbGludXhfYXJjaD1hcm0KK2Nyb3NzX211c2xfY2ZsYWdzPSItT3Mg LW1hcmNoPWFybXY2IC1tZnB1PXZmcCAtbWZsb2F0LWFiaT1oYXJkIgogCiBpZiBbICIkWEJQU19U QVJHRVRfTUFDSElORSIgPSAiYXJtdjZsLW11c2wiIF07IHRoZW4KIAlicm9rZW49IkNhbid0IGJ1 aWxkIGNyb3NzdG9vbGNoYWluIHRvIGl0c2VsZiIKIGZpCiAKLV9hcHBseV9wYXRjaCgpIHsKLQls b2NhbCBhcmdzPSIkMSIgcG5hbWU9IiQoYmFzZW5hbWUgJDIpIgotCi0JaWYgWyAhIC1mICIuJHtw bmFtZX1fZG9uZSIgXTsgdGhlbgotCQlwYXRjaCAtTiAkYXJncyAtaSAkMgotCQl0b3VjaCAuJHtw bmFtZX1fZG9uZQotCWZpCi19Ci0KLV9iaW51dGlsc19idWlsZCgpIHsKLQlsb2NhbCBfYXJncwot Ci0JWyAtZiAke3dya3NyY30vLmJpbnV0aWxzX2J1aWxkX2RvbmUgXSAmJiByZXR1cm4gMAotCi0J Y2QgJHt3cmtzcmN9Ci0JbXNnX25vcm1hbCAiQnVpbGRpbmcgY3Jvc3MgYmludXRpbHMgYm9vdHN0 cmFwXG4iCi0KLQlbICEgLWQgYmludXRpbHMtYnVpbGQgXSAmJiBta2RpciBiaW51dGlscy1idWls ZAotCWNkIGJpbnV0aWxzLWJ1aWxkCi0KLQlfYXJncz0iLS1wcmVmaXg9L3VzciIKLQlfYXJncys9 IiAtLXRhcmdldD0ke190cmlwbGV0fSIKLQlfYXJncys9IiAtLXdpdGgtc3lzcm9vdD0ke19zeXNy b290fSIKLQlfYXJncys9IiAtLWRpc2FibGUtbmxzIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1tdWx0 aWxpYiIKLQlfYXJncys9IiAtLWRpc2FibGUtd2Vycm9yIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1z aGFyZWQiCi0JX2FyZ3MrPSIgLS13aXRoLXN5c3RlbS16bGliIgotCV9hcmdzKz0iICR7X2ZwdWZs YWdzfSIKLQotCS4uL2JpbnV0aWxzLSR7X2JpbnV0aWxzX3ZlcnNpb259L2NvbmZpZ3VyZSAke19h cmdzfQotCi0JbWFrZSBjb25maWd1cmUtaG9zdCAmJiBtYWtlICR7bWFrZWpvYnN9Ci0JbWFrZSBp bnN0YWxsCi0KLQl0b3VjaCAke3dya3NyY30vLmJpbnV0aWxzX2J1aWxkX2RvbmUKLX0KLQotX2dj Y19ib290c3RyYXAoKSB7Ci0JbG9jYWwgX2FyZ3MKLQotCVsgLWYgJHt3cmtzcmN9Ly5nY2NfYm9v dHN0cmFwX2RvbmUgXSAmJiByZXR1cm4gMAotCi0JY2QgJHt3cmtzcmN9L2djYy0ke19nY2NfdmVy c2lvbn0KLQlmb3IgZiBpbiAke1hCUFNfU1JDUEtHRElSfS9nY2MvcGF0Y2hlcy8qLnBhdGNoOyBk bwotCQlfYXBwbHlfcGF0Y2ggLXAwICIkZiIKLQlkb25lCi0JZm9yIGYgaW4gJHtYQlBTX1NSQ1BL R0RJUn0vZ2NjL2ZpbGVzLyotbXVzbC5wYXRjaDsgZG8KLQkJX2FwcGx5X3BhdGNoIC1wMSAiJGYi Ci0JZG9uZQotCi0JbXNnX25vcm1hbCAiQnVpbGRpbmcgY3Jvc3MgZ2NjIGJvb3RzdHJhcFxuIgot Ci0JWyAhIC1kIC4uL2djYy1ib290c3RyYXAgXSAmJiBta2RpciAuLi9nY2MtYm9vdHN0cmFwCi0J Y2QgLi4vZ2NjLWJvb3RzdHJhcAotCi0JX2FyZ3M9Ii0tcHJlZml4PS91c3IiCi0JX2FyZ3MrPSIg LS10YXJnZXQ9JHtfdHJpcGxldH0iCi0JX2FyZ3MrPSIgLS13aXRoLXN5c3Jvb3Q9JHtfc3lzcm9v dH0iCi0JX2FyZ3MrPSIgLS13aXRoLW5ld2xpYiIKLQlfYXJncys9IiAtLWVuYWJsZS1sYW5ndWFn ZXM9YyIKLQlfYXJncys9IiAtLXdpdGgtbmV3bGliIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJz c3AiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLW5scyIKLQlfYXJncys9IiAtLWRpc2FibGUtbGlicXVh ZG1hdGgiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLXRocmVhZHMiCi0JX2FyZ3MrPSIgLS1kaXNhYmxl LWRlY2ltYWwtZmxvYXQiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLXNoYXJlZCIKLQlfYXJncys9IiAt LWRpc2FibGUtbGlibXB4IgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJtdWRmbGFwIgotCV9hcmdz Kz0iIC0tZGlzYWJsZS1saWJnb21wIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJhdG9taWMiCi0J X2FyZ3MrPSIgLS1kaXNhYmxlLXN5bXZlcnMiCi0JX2FyZ3MrPSIgbGliYXRfY3ZfaGF2ZV9pZnVu Yz1ubyIKLQlfYXJncys9IiAke19mcHVmbGFnc30iCi0KLQlDRkxBR1M9Ii1PMCAtZzAiIENYWEZM QUdTPSItTzAgLWcwIiBcCi0JCS4uL2djYy0ke19nY2NfdmVyc2lvbn0vY29uZmlndXJlICR7X2Fy Z3N9Ci0KLQltYWtlICR7bWFrZWpvYnN9Ci0JbWFrZSBpbnN0YWxsCi0KLQl0b3VjaCAke3dya3Ny Y30vLmdjY19ib290c3RyYXBfZG9uZQotfQotCi1fbGludXhfaGVhZGVycygpIHsKLQlbIC1mICR7 d3Jrc3JjfS8ubGludXhfYnVpbGRfZG9uZSBdICYmIHJldHVybiAwCi0KLQljZCAke3dya3NyY30K LQltc2dfbm9ybWFsICJCdWlsZGluZyBMaW51eCBBUEkgaGVhZGVycyBmb3IgQVJNXG4iCi0KLQlj ZCBsaW51eC0ke19saW51eF92ZXJzaW9ufQotCWZvciBmIGluICR7WEJQU19TUkNQS0dESVJ9L2tl cm5lbC1saWJjLWhlYWRlcnMvcGF0Y2hlcy8qLnBhdGNoOyBkbwotCQlfYXBwbHlfcGF0Y2ggLXAw ICRmCi0JZG9uZQotCi0JbWFrZSBBUkNIPWFybSBoZWFkZXJzX2NoZWNrCi0JbWFrZSBBUkNIPWFy bSBJTlNUQUxMX0hEUl9QQVRIPSR7X3N5c3Jvb3R9L3VzciBoZWFkZXJzX2luc3RhbGwKLQotCXRv dWNoICR7d3Jrc3JjfS8ubGludXhfYnVpbGRfZG9uZQotfQotCi1fbXVzbF9idWlsZCgpIHsKLQlb IC1mICR7d3Jrc3JjfS8ubXVzbF9idWlsZF9kb25lIF0gJiYgcmV0dXJuIDAKLQotCWNkICR7d3Jr c3JjfS9tdXNsLSR7X211c2xfdmVyc2lvbn0KLQltc2dfbm9ybWFsICJCdWlsZGluZyBjcm9zcyBt dXNsIGxpYmNcbiIKLQotCSMgQXBwbHkgbXVzbCBwYXRjaGVzIGlmIHRoZXJlIGFyZSBhbnkKLQlp ZiBbIC1kICIke1hCUFNfU1JDUEtHRElSfS9tdXNsL3BhdGNoZXMiIF07IHRoZW4KLQkJZm9yIGYg aW4gJHtYQlBTX1NSQ1BLR0RJUn0vbXVzbC9wYXRjaGVzLyoucGF0Y2g7IGRvCi0JCQlfYXBwbHlf cGF0Y2ggLXAwICIkZiIKLQkJZG9uZQotCWZpCi0KLQlDQz0iJHtfdHJpcGxldH0tZ2NjIiBDRkxB R1M9Ii1PcyAtcGlwZSAtZlBJQyAke19hcmNoZmxhZ3N9IiBcCi0JCS4vY29uZmlndXJlIC0tcHJl Zml4PS91c3IKLQotCW1ha2UgJHttYWtlam9ic30KLQltYWtlIERFU1RESVI9JHtfc3lzcm9vdH0g aW5zdGFsbAotCi0JdG91Y2ggJHt3cmtzcmN9Ly5tdXNsX2J1aWxkX2RvbmUKLX0KLQotX2xpYnVj b250ZXh0X2J1aWxkKCkgewotCVsgLWYgJHt3cmtzcmN9Ly5saWJ1Y29udGV4dF9idWlsZF9kb25l IF0gJiYgcmV0dXJuIDAKLQotCWNkICR7d3Jrc3JjfS9saWJ1Y29udGV4dC0ke19saWJ1Y29udGV4 dF92ZXJzaW9ufQotCW1zZ19ub3JtYWwgIkJ1aWxkaW5nIGNyb3NzIGxpYnVjb250ZXh0XG4iCi0K LQkjIGl0J3Mgb2sgaWYgd2UncmUgc3RhdGljIG9ubHkgaGVyZQotCUNDPSIke190cmlwbGV0fS1n Y2MiIEFSPSIke190cmlwbGV0fS1hciIgQVM9IiR7X3RyaXBsZXR9LWFzIiBcCi0JCUNGTEFHUz0i LU9zIC1waXBlICR7X2FyY2hmbGFnc30iIFwKLQkJbWFrZSBBUkNIPWFybSBsaWJ1Y29udGV4dC5h Ci0KLQljcCBsaWJ1Y29udGV4dC5hICR7X3N5c3Jvb3R9L3Vzci9saWIKLQotCXRvdWNoICR7d3Jr c3JjfS8ubGlidWNvbnRleHRfYnVpbGRfZG9uZQotfQotCi1fZ2NjX2J1aWxkKCkgewotCWxvY2Fs IF9hcmdzCi0JWyAtZiAke3dya3NyY30vLmdjY19idWlsZF9kb25lIF0gJiYgcmV0dXJuIDAKLQot CWNkICR7d3Jrc3JjfQotCW1zZ19ub3JtYWwgIkJ1aWxkaW5nIGNyb3NzIGdjYyBmaW5hbFxuIgot Ci0JWyAhIC1kIGdjYy1idWlsZCBdICYmIG1rZGlyIGdjYy1idWlsZAotCWNkIGdjYy1idWlsZAot Ci0JX2FyZ3M9Ii0tcHJlZml4PS91c3IiCi0JX2FyZ3MrPSIgLS1saWJleGVjZGlyPS91c3IvbGli IgotCV9hcmdzKz0iIC0tdGFyZ2V0PSR7X3RyaXBsZXR9IgotCV9hcmdzKz0iIC0td2l0aC1zeXNy b290PSR7X3N5c3Jvb3R9IgotCV9hcmdzKz0iIC0tZW5hYmxlLWxhbmd1YWdlcz1jLGFkYSxjKyss b2JqYyxvYmotYysrLGdvLGZvcnRyYW4sbHRvIgotCV9hcmdzKz0iIC0tZW5hYmxlLWxpYmFkYSIK LQlfYXJncys9IiAtLWVuYWJsZS1sdG8iCi0JX2FyZ3MrPSIgLS1lbmFibGUtZGVmYXVsdC1waWUi Ci0JX2FyZ3MrPSIgLS1lbmFibGUtZGVmYXVsdC1zc3AiCi0JX2FyZ3MrPSIgLS1lbmFibGUtbGli c3NwIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJzYW5pdGl6ZXIiCi0JX2FyZ3MrPSIgLS1kaXNh YmxlLW11bHRpbGliIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1ubHMiCi0JX2FyZ3MrPSIgLS1kaXNh YmxlLWxpYnF1YWRtYXRoIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJtcHgiCi0JX2FyZ3MrPSIg LS1kaXNhYmxlLWxpYm11ZGZsYXAiCi0JX2FyZ3MrPSIgLS1lbmFibGUtc2hhcmVkIgotCV9hcmdz Kz0iIC0tZGlzYWJsZS1zeW12ZXJzIgotCV9hcmdzKz0iIGxpYmF0X2N2X2hhdmVfaWZ1bmM9bm8i Ci0JX2FyZ3MrPSIgJHtfZnB1ZmxhZ3N9IgotCi0JLi4vZ2NjLSR7X2djY192ZXJzaW9ufS9jb25m aWd1cmUgJHtfYXJnc30KLQotCW1ha2UgJHttYWtlam9ic30KLQotCXRvdWNoICR7d3Jrc3JjfS8u Z2NjX2J1aWxkX2RvbmUKLX0KLQotZG9fYnVpbGQoKSB7Ci0JIyBFbnN1cmUgd2UgdXNlIHNhbmUg ZW52aXJvbm1lbnQKLQl1bnNldCBDQyBDWFggQ1BQIExEIEFTIEFSIFJBTkxJQiBPQkpEVU1QIFJF QURFTEYgTk0KLQl1bnNldCBDRkxBR1MgQ1hYRkxBR1MgQ1BQRkxBR1MgTERGTEFHUwotCWV4cG9y dCBDRkxBR1M9Ii1PcyAtcGlwZSIgQ1hYRkxBR1M9Ii1PcyAtcGlwZSIKLQotCWZvciBmIGluIGlu Y2x1ZGUgbGliIGxpYmV4ZWMgYmluIHNiaW47IGRvCi0JCWlmIFsgISAtZCAke19zeXNyb290fS91 c3IvJHtmfSBdOyB0aGVuCi0JCQlta2RpciAtcCAke19zeXNyb290fS91c3IvJHtmfQotCQlmaQot CQlpZiBbICEgLWggJHtfc3lzcm9vdH0vJHtmfSBdOyB0aGVuCi0JCQlsbiAtc2ZyICR7X3N5c3Jv b3R9L3Vzci8ke2Z9ICR7X3N5c3Jvb3R9LyR7Zn0KLQkJZmkKLQlkb25lCi0JbG4gLXNmIGxpYiAk e19zeXNyb290fS91c3IvbGliMzIKLQlsbiAtc2YgdXNyL2xpYiAke19zeXNyb290fS9saWIzMgot Ci0JX2JpbnV0aWxzX2J1aWxkCi0JX2djY19ib290c3RyYXAKLQlfbGludXhfaGVhZGVycwotCV9t dXNsX2J1aWxkCi0JX2xpYnVjb250ZXh0X2J1aWxkCi0JX2djY19idWlsZAotfQotCi1kb19pbnN0 YWxsKCkgewotCWZvciBmIGluIGluY2x1ZGUgbGliIGxpYmV4ZWMgYmluIHNiaW47IGRvCi0JCWlm IFsgISAtZCAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci8ke2Z9IF07IHRoZW4KLQkJCW1rZGly IC1wICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyLyR7Zn0KLQkJZmkKLQkJaWYgWyAhIC1oICR7 REVTVERJUn0vJHtfc3lzcm9vdH0vJHtmfSBdOyB0aGVuCi0JCQlsbiAtc2ZyICR7REVTVERJUn0v JHtfc3lzcm9vdH0vdXNyLyR7Zn0gXAotCQkJCSR7REVTVERJUn0vJHtfc3lzcm9vdH0vJHtmfQot CQlmaQotCWRvbmUKLQlsbiAtc2YgbGliICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL2xpYjMy Ci0JbG4gLXNmIHVzci9saWIgJHtERVNURElSfS8ke19zeXNyb290fS9saWIzMgotCi0JIyBpbnN0 YWxsIGxpbnV4IEFQSSBoZWFkZXJzCi0JY2QgJHt3cmtzcmN9L2xpbnV4LSR7X2xpbnV4X3ZlcnNp b259Ci0JbWFrZSBBUkNIPWFybSBJTlNUQUxMX0hEUl9QQVRIPSR7REVTVERJUn0vJHtfc3lzcm9v dH0vdXNyIGhlYWRlcnNfaW5zdGFsbAotCXJtIC1mICQoZmluZCAke0RFU1RESVJ9LyR7X3N5c3Jv b3R9L3Vzci9pbmNsdWRlIC1uYW1lIC5pbnN0YWxsIC1vciAtbmFtZSAuLmluc3RhbGwuY21kKQot CXJtIC1yZiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci9pbmNsdWRlL2RybQotCi0JIyBpbnN0 YWxsIGNyb3NzIGJpbnV0aWxzCi0JY2QgJHt3cmtzcmN9L2JpbnV0aWxzLWJ1aWxkCi0JbWFrZSBE RVNURElSPSR7REVTVERJUn0gaW5zdGFsbAotCi0JIyBpbnN0YWxsIGNyb3NzIGdjYwotCWNkICR7 d3Jrc3JjfS9nY2MtYnVpbGQKLQltYWtlIERFU1RESVI9JHtERVNURElSfSBpbnN0YWxsCi0KLQkj IG1vdmUgbGliY2MxLnNvKiB0byB0aGUgc3lzcm9vdAotCW12ICR7REVTVERJUn0vdXNyL2xpYi9s aWJjYzEuc28qICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL2xpYgotCi0JIyBpbnN0YWxsIG11 c2wgbGliYyBmb3IgdGFyZ2V0Ci0JY2QgJHt3cmtzcmN9L211c2wtJHtfbXVzbF92ZXJzaW9ufQot CW1ha2UgREVTVERJUj0ke0RFU1RESVJ9LyR7X3N5c3Jvb3R9IGluc3RhbGwKLQotCSMgUmVtb3Zl IHVzZWxlc3MgaGVhZGVycy4KLQlybSAtcmYgJHtERVNURElSfS91c3IvbGliL2djYy8ke190cmlw bGV0fS8qL2luY2x1ZGUtZml4ZWQvCi0KLQkjIE1ha2UgbGQtbXVzbC1hcm1oZi5zby4xIHN5bWxp bmsgcmVsYXRpdmUuCi0JbG4gLXNmIGxpYmMuc28gJHtERVNURElSfS8ke19zeXNyb290fS91c3Iv bGliL2xkLW11c2wtYXJtaGYuc28uMQotCi0JIyBzeW1saW5rcyBmb3IgZ25hcmwgYW5kIGduYXQg c2hhcmVkIGxpYnJhcmllcwotCV9tYWpvcnZlcj0ke19nY2NfdmVyc2lvbiUuKi4qfQotCV9hZGFs aWI9dXNyL2xpYi9nY2MvJHtfdHJpcGxldH0vJHtfZ2NjX3ZlcnNpb259L2FkYWxpYgotCW12IC12 ICR7REVTVERJUn0vJHtfYWRhbGlifS9saWJnbmFybC0ke19tYWpvcnZlcn0uc28gJHtERVNURElS fS8ke19zeXNyb290fS91c3IvbGliCi0JbXYgLXYgJHtERVNURElSfS8ke19hZGFsaWJ9L2xpYmdu YXQtJHtfbWFqb3J2ZXJ9LnNvICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL2xpYgotCWxuIC1z dmYgbGliZ25hcmwtJHtfbWFqb3J2ZXJ9LnNvIGxpYmduYXJsLnNvCi0JbG4gLXN2ZiBsaWJnbmF0 LSR7X21ham9ydmVyfS5zbyBsaWJnbmF0LnNvCi0Jcm0gLXZmICR7REVTVERJUn0vJHtfYWRhbGli fS9saWJnbmF7cmwsdH0uc28KLQotCSMgV2UgbmVlZCB0byBidWlsZCBsaWJhdG9taWMgaW4gdGFy Z2V0IGdjYyBhcyBnY2NnbyBuZWVkcyBpdCB0bwotCSMgYnVpbGQuLi4gYnV0IGl0J3Mgbm90IG5l ZWRlZCBhdCBydW50aW1lLCBzbyByZW1vdmUgaXQgZnJvbSB0aGUKLQkjIGRlc3RkaXIgc28gaXQg ZG9lc24ndCBjb25mbGljdCB3aXRoIHRoZSBsaWJhdG9taWMgcGFja2FnZQotCXJtIC1mICR7REVT VERJUn0vJHtfc3lzcm9vdH0vdXNyL2xpYi9saWJhdG9taWMuKgotCi0JIyBSZW1vdmUgdW5uZWNl c3Nhcnkgc3R1ZmYKLQlybSAtZiAke0RFU1RESVJ9L3Vzci9saWIqL2xpYmliZXJ0eS5hCi0Jcm0g LXJmICR7REVTVERJUn0vdXNyL3NoYXJlCi0Jcm0gLXJmICR7REVTVERJUn0vJHtfc3lzcm9vdH0v e2V0Yyx2YXJ9Ci0Jcm0gLXJmICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL3tzYmluLHNoYXJl LGxpYmV4ZWN9Ci0Jcm0gLWYgJHtERVNURElSfS8ke19zeXNyb290fS9saWJleGVjCi0Jcm0gLWYg JHtERVNURElSfS8ke19zeXNyb290fS9saWIvKi5weQotCXJtIC1yZiAke0RFU1RESVJ9LyR7X3N5 c3Jvb3R9L3tzYmluLGxpYn0KLX0KLQogY3Jvc3MtYXJtLWxpbnV4LW11c2xlYWJpaGYtbGliY19w YWNrYWdlKCkgewogCXNob3J0X2Rlc2MrPSIgLSBsaWJjIGZpbGVzIgogCW5vc3RyaXA9eWVzCiAJ bm9zaGxpYnByb3ZpZGVzPXllcwogCW5vdmVyaWZ5cmRlcHM9eWVzCisKIAlwa2dfaW5zdGFsbCgp IHsKLQkJdm1vdmUgJHtfc3lzcm9vdH0KKwkJdm1vdmUgdXNyLyR7Y3Jvc3NfdHJpcGxldH0KIAl9 CiB9CgpGcm9tIGM3Zjc1NTdlMjA1ZGU1Y2M5ZTUxNDhjODA1ZmFhMWZiN2M3ZjBkNTIgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206IHE2NiA8ZGFuaWVsQG9jdGFmb3JnZS5vcmc+CkRhdGU6 IEZyaSwgMjUgRGVjIDIwMjAgMjE6MzY6MzMgKzAxMDAKU3ViamVjdDogW1BBVENIIDA5LzI2XSBj cm9zcy1hcm12N2wtbGludXgtZ251ZWFiaWhmOiByZXdvcmsgd2l0aCB2b2lkLWNyb3NzCgotLS0K IHNyY3BrZ3MvY3Jvc3MtYXJtdjdsLWxpbnV4LWdudWVhYmloZi90ZW1wbGF0ZSB8IDM2OSArLS0t LS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAyMSBpbnNlcnRpb25zKCspLCAzNDggZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jcm9zcy1hcm12N2wtbGludXgtZ251ZWFi aWhmL3RlbXBsYXRlIGIvc3JjcGtncy9jcm9zcy1hcm12N2wtbGludXgtZ251ZWFiaWhmL3RlbXBs YXRlCmluZGV4IDk2OTY2OTdkY2ViLi43MDY2NjJlNWVkMiAxMDA2NDQKLS0tIGEvc3JjcGtncy9j cm9zcy1hcm12N2wtbGludXgtZ251ZWFiaWhmL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvY3Jvc3Mt YXJtdjdsLWxpbnV4LWdudWVhYmloZi90ZW1wbGF0ZQpAQCAtMSwzNzkgKzEsNTIgQEAKLSMgVGVt cGxhdGUgYnVpbGQgZmlsZSBmb3IgJ2Nyb3NzLWFybXY3bC1saW51eC1nbnVlYWJpaGYnCi0jCisj IFRlbXBsYXRlIGZpbGUgZm9yICdjcm9zcy1hcm12N2wtbGludXgtZ251ZWFiaWhmJworX3RyaXBs ZXQ9YXJtdjdsLWxpbnV4LWdudWVhYmloZgogX2JpbnV0aWxzX3ZlcnNpb249Mi4zMgogX2djY192 ZXJzaW9uPTkuMy4wCiBfZ2xpYmNfdmVyc2lvbj0yLjMwCiBfbGludXhfdmVyc2lvbj00LjE5Ci0K LV90cmlwbGV0PWFybXY3bC1saW51eC1nbnVlYWJpaGYKLV9mcHVmbGFncz0iLS13aXRoLWFyY2g9 YXJtdjctYSAtLXdpdGgtZnB1PXZmcHYzIC0td2l0aC1mbG9hdD1oYXJkIgotX2FyY2hmbGFncz0i LW1hcmNoPWFybXY3LWEgLW1mcHU9dmZwdjMgLW1mbG9hdC1hYmk9aGFyZCIKLV9zeXNyb290PSIv dXNyLyR7X3RyaXBsZXR9IgotCiBwa2duYW1lPWNyb3NzLSR7X3RyaXBsZXR9CiB2ZXJzaW9uPTAu MzMKIHJldmlzaW9uPTIKLXNob3J0X2Rlc2M9IkdOVSBDcm9zcyB0b29sY2hhaW4gZm9yIHRoZSAk e190cmlwbGV0fSBMRSB0YXJnZXQgKGJpbnV0aWxzL2djYy9nbGliYykiCitidWlsZF9zdHlsZT12 b2lkLWNyb3NzCitjb25maWd1cmVfYXJncz0iLS13aXRoLWFyY2g9YXJtdjctYSAtLXdpdGgtZnB1 PXZmcHYzIC0td2l0aC1mbG9hdD1oYXJkIgoraG9zdG1ha2VkZXBlbmRzPSJ0YXIgZ2NjLW9iamMg Z2NjLWdvIGZsZXggcGVybCBweXRob24zIgorbWFrZWRlcGVuZHM9ImlzbDE1LWRldmVsIGxpYm1w Yy1kZXZlbCB6bGliLWRldmVsIGdtcC1kZXZlbCBtcGZyLWRldmVsIgorZGVwZW5kcz0iJHtwa2du YW1lfS1saWJjLSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCitzaG9ydF9kZXNjPSJWb2lkIGNyb3Nz IHRvb2xjaGFpbiBmb3IgJHtfdHJpcGxldH0iCiBtYWludGFpbmVyPSJPcnBoYW5lZCA8b3JwaGFu QHZvaWRsaW51eC5vcmc+IgotaG9tZXBhZ2U9Imh0dHBzOi8vd3d3LnZvaWRsaW51eC5vcmcvIgog bGljZW5zZT0iR1BMLTIuMC1vci1sYXRlciwgR1BMLTMuMC1vci1sYXRlciwgTEdQTC0yLjEtb3It bGF0ZXIiCitob21lcGFnZT0iaHR0cHM6Ly93d3cudm9pZGxpbnV4Lm9yZy8iCiBkaXN0ZmlsZXM9 IgogICR7R05VX1NJVEV9L2JpbnV0aWxzL2JpbnV0aWxzLSR7X2JpbnV0aWxzX3ZlcnNpb259LnRh ci54egogICR7R05VX1NJVEV9L2djYy9nY2MtJHtfZ2NjX3ZlcnNpb259L2djYy0ke19nY2NfdmVy c2lvbn0udGFyLnh6Ci0gaHR0cDovL2Z0cC5nbnUub3JnL2dudS9nbGliYy9nbGliYy0ke19nbGli Y192ZXJzaW9ufS50YXIueHoKKyAke0dOVV9TSVRFfS9nbGliYy9nbGliYy0ke19nbGliY192ZXJz aW9ufS50YXIueHoKICAke0tFUk5FTF9TSVRFfS9rZXJuZWwvdjQueC9saW51eC0ke19saW51eF92 ZXJzaW9ufS50YXIueHoiCiBjaGVja3N1bT0iMGFiNmM1NWRkODZhOTJlZDU2MTk3MmJhMTViOWI3 MGE4YjlmNzU1NTdmODk2NDQ2YzgyZThiMzZlNDczZWUwNAogIDcxZTE5Nzg2NzYxMWY2MDU0YWEx MTE5YjEzYTBjMGFiYWMxMjgzNDc2NWZlMmQ4MWYzNWFjNTdmODRmNzQyZDEKICBlMmM0MTE0ZTU2 OWFmYmU3ZWRiYzI5MTMxYTQzYmU4MzM4NTBhYjlhNDU5ZDgxYmViMjU4ODAxNmQyYmJiOGFmCiAg MGM2OGY1NjU1NTI4YWVkNGY5OWRhZTcxYTViMjU5ZWRjOTMyMzlmYTg5OWUyZGY3OWMwNTUyNzVj MjE3NDlhMSIKIAotbGliMzJkaXNhYmxlZD15ZXMKLW5vY3Jvc3M9eWVzCi1ub3BpZT15ZXMKLW5v ZGVidWc9eWVzCi1jcmVhdGVfd3Jrc3JjPXllcwotCi1ob3N0bWFrZWRlcGVuZHM9InRhciBnY2Mt b2JqYyBnY2MtZ28gZmxleCBwZXJsIHB5dGhvbjMiCi1tYWtlZGVwZW5kcz0iaXNsMTUtZGV2ZWwg bGlibXBjLWRldmVsIHpsaWItZGV2ZWwiCi1kZXBlbmRzPSIke3BrZ25hbWV9LWxpYmMtJHt2ZXJz aW9ufV8ke3JldmlzaW9ufSIKLW5vc3RyaXBfZmlsZXM9ImxpYmNhZl9zaW5nbGUuYSBsaWJnY2Mu YSBsaWJnY292LmEgbGliZ2NjX2VoLmEKLSBsaWJnbmFybF9waWMuYSBsaWJnbmFybC5hIGxpYmdu YXRfcGljLmEgbGliZ25hdC5hIGxpYmdtZW0uYSIKLQotaWYgWyAiJFhCUFNfVEFSR0VUX0xJQkMi ICE9ICJnbGliYyIgXTsgdGhlbgotCWJyb2tlbj0iZ2xpYmMgY3Jvc3N0b29sY2hhaW4gb25seSBh dmFpbGFibGUgb24gZ2xpYmMiCi1maQorY3Jvc3NfdHJpcGxldD0ke190cmlwbGV0fQorY3Jvc3Nf d29yZHNpemU9MzIKK2Nyb3NzX2xpYmM9Z2xpYmMKK2Nyb3NzX2JpbnV0aWxzX3ZlcnNpb249JHtf YmludXRpbHNfdmVyc2lvbn0KK2Nyb3NzX2djY192ZXJzaW9uPSR7X2djY192ZXJzaW9ufQorY3Jv c3NfZ2xpYmNfdmVyc2lvbj0ke19nbGliY192ZXJzaW9ufQorY3Jvc3NfbGludXhfdmVyc2lvbj0k e19saW51eF92ZXJzaW9ufQorY3Jvc3NfbGludXhfYXJjaD1hcm0KK2Nyb3NzX2dsaWJjX2NmbGFn cz0iLU8yIC1tYXJjaD1hcm12Ny1hIC1tZnB1PXZmcHYzIC1tZmxvYXQtYWJpPWhhcmQiCiAKIGlm IFsgIiRYQlBTX1RBUkdFVF9NQUNISU5FIiA9ICJhcm12N2wiIF07IHRoZW4KIAlicm9rZW49IkNh bid0IGJ1aWxkIGNyb3NzdG9vbGNoYWluIHRvIGl0c2VsZiIKIGZpCiAKLV9hcHBseV9wYXRjaCgp IHsKLQlsb2NhbCBhcmdzPSIkMSIgcG5hbWU9IiQoYmFzZW5hbWUgJDIpIgotCi0JaWYgWyAhIC1m ICIuJHtwbmFtZX1fZG9uZSIgXTsgdGhlbgotCQlwYXRjaCAtTiAkYXJncyAtaSAkMgotCQl0b3Vj aCAuJHtwbmFtZX1fZG9uZQotCWZpCi19Ci0KLV9saW51eF9oZWFkZXJzKCkgewotCVsgLWYgJHt3 cmtzcmN9Ly5saW51eF9idWlsZF9kb25lIF0gJiYgcmV0dXJuIDAKLQotCWNkICR7d3Jrc3JjfQot CW1zZ19ub3JtYWwgIkJ1aWxkaW5nIExpbnV4IEFQSSBoZWFkZXJzIGZvciBBUk1cbiIKLQotCWNk IGxpbnV4LSR7X2xpbnV4X3ZlcnNpb259Ci0KLQltYWtlIEFSQ0g9YXJtIGhlYWRlcnNfY2hlY2sK LQltYWtlIEFSQ0g9YXJtIElOU1RBTExfSERSX1BBVEg9JHtfc3lzcm9vdH0vdXNyIGhlYWRlcnNf aW5zdGFsbAotCi0JdG91Y2ggJHt3cmtzcmN9Ly5saW51eF9idWlsZF9kb25lCi19Ci0KLV9iaW51 dGlsc19idWlsZCgpIHsKLQlsb2NhbCBfYXJncwotCi0JWyAtZiAke3dya3NyY30vLmJpbnV0aWxz X2J1aWxkX2RvbmUgXSAmJiByZXR1cm4gMAotCi0JY2QgJHt3cmtzcmN9Ci0JbXNnX25vcm1hbCAi QnVpbGRpbmcgY3Jvc3MgYmludXRpbHNcbiIKLQlbICEgLWQgYmludXRpbHMtYnVpbGQgXSAmJiBt a2RpciBiaW51dGlscy1idWlsZAotCWNkIGJpbnV0aWxzLWJ1aWxkCi0KLQlfYXJncz0iLS1wcmVm aXg9L3VzciIKLQlfYXJncys9IiAtLXRhcmdldD0ke190cmlwbGV0fSIKLQlfYXJncys9IiAtLXdp dGgtc3lzcm9vdD0ke19zeXNyb290fSIKLQlfYXJncys9IiAtLWRpc2FibGUtbmxzIgotCV9hcmdz Kz0iIC0tZGlzYWJsZS1zaGFyZWQiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLW11bHRpbGliIgotCV9h cmdzKz0iIC0tZGlzYWJsZS13ZXJyb3IiCi0JX2FyZ3MrPSIgLS13aXRoLXN5c3RlbS16bGliIgot Ci0JLi4vYmludXRpbHMtJHtfYmludXRpbHNfdmVyc2lvbn0vY29uZmlndXJlICR7X2FyZ3N9Ci0K LQltYWtlIGNvbmZpZ3VyZS1ob3N0Ci0JbWFrZSAke21ha2Vqb2JzfQotCW1ha2UgaW5zdGFsbAot Ci0JdG91Y2ggJHt3cmtzcmN9Ly5iaW51dGlsc19idWlsZF9kb25lCi19Ci0KLV9nY2NfYm9vdHN0 cmFwKCkgewotCWxvY2FsIF9hcmdzCi0KLQlbIC1mICR7d3Jrc3JjfS8uZ2NjX2Jvb3RzdHJhcF9k b25lIF0gJiYgcmV0dXJuIDAKLQotCWNkICR7d3Jrc3JjfS9nY2MtJHtfZ2NjX3ZlcnNpb259Ci0J Zm9yIGYgaW4gJHtYQlBTX1NSQ1BLR0RJUn0vZ2NjL3BhdGNoZXMvKi5wYXRjaDsgZG8KLQkJX2Fw cGx5X3BhdGNoIC1wMCAiJGYiCi0JZG9uZQotCi0JbXNnX25vcm1hbCAiQnVpbGRpbmcgY3Jvc3Mg Z2NjIGJvb3RzdHJhcFxuIgotCi0JWyAhIC1kIC4uL2djYy1ib290c3RyYXAgXSAmJiBta2RpciAu Li9nY2MtYm9vdHN0cmFwCi0JY2QgLi4vZ2NjLWJvb3RzdHJhcAotCi0JX2FyZ3M9Ii0tcHJlZml4 PS91c3IiCi0JX2FyZ3MrPSIgLS10YXJnZXQ9JHtfdHJpcGxldH0iCi0JX2FyZ3MrPSIgLS13aXRo b3V0LWhlYWRlcnMiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLW5scyIKLQlfYXJncys9IiAtLWRpc2Fi bGUtc2hhcmVkIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJxdWFkbWF0aCIKLQlfYXJncys9IiAt LWRpc2FibGUtZGVjaW1hbC1mbG9hdCIKLQlfYXJncys9IiAtLWRpc2FibGUtbGliZ29tcCIKLQlf YXJncys9IiAtLWRpc2FibGUtbGlibXB4IgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJtdWRmbGFw IgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJzc3AiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYml0 bSIKLQlfYXJncys9IiAtLWRpc2FibGUtbGliYXRvbWljIgotCV9hcmdzKz0iIC0tZGlzYWJsZS10 aHJlYWRzIgotCV9hcmdzKz0iIC0tZW5hYmxlLWxhbmd1YWdlcz1jIgotCV9hcmdzKz0iIC0tZGlz YWJsZS1zamxqLWV4Y2VwdGlvbnMiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLW11bHRpbGliIgotCV9h cmdzKz0iIC0td2l0aC1nbnUtbGQiCi0JX2FyZ3MrPSIgLS13aXRoLWdudS1hcyIKLQlfYXJncys9 IiAke19mcHVmbGFnc30iCi0KLQlDRkxBR1M9Ii1PMCAtZzAiIENYWEZMQUdTPSItTzAgLWcwIiBc Ci0JCS4uL2djYy0ke19nY2NfdmVyc2lvbn0vY29uZmlndXJlICR7X2FyZ3N9Ci0KLQltYWtlICR7 bWFrZWpvYnN9Ci0JbWFrZSBpbnN0YWxsCi0KLQl0b3VjaCAke3dya3NyY30vLmdjY19ib290c3Ry YXBfZG9uZQotfQotCi1fZ2xpYmNfaGVhZGVycygpIHsKLQlsb2NhbCBfYXJncyBmCi0KLQlbIC1m ICR7d3Jrc3JjfS8uZ2xpYmNfaGVhZGVyc19kb25lIF0gJiYgcmV0dXJuIDAKLQotCWNkICR7d3Jr c3JjfS9nbGliYy0ke19nbGliY192ZXJzaW9ufQotCWlmIFsgLWQgIiR7WEJQU19TUkNQS0dESVJ9 L2dsaWJjL3BhdGNoZXMiIF07IHRoZW4KLQkJZm9yIGYgaW4gJHtYQlBTX1NSQ1BLR0RJUn0vZ2xp YmMvcGF0Y2hlcy8qLnBhdGNoOyBkbwotCQkJX2FwcGx5X3BhdGNoIC1wMSAiJGYiCi0JCWRvbmUK LQlmaQotCi0JY2QgJHt3cmtzcmN9Ci0JbXNnX25vcm1hbCAiQnVpbGRpbmcgY3Jvc3MgZ2xpYmMg aGVhZGVyc1xuIgotCi0JWyAhIC1kIGdsaWJjLWhlYWRlcnMgXSAmJiBta2RpciBnbGliYy1oZWFk ZXJzCi0JY2QgZ2xpYmMtaGVhZGVycwotCi0JZWNobyAibGliY19jdl9mb3JjZWRfdW53aW5kPXll cyIgPiBjb25maWcuY2FjaGUKLQllY2hvICJsaWJjX2N2X2NfY2xlYW51cD15ZXMiID4+IGNvbmZp Zy5jYWNoZQotCi0JZXhwb3J0IENDPSIke190cmlwbGV0fS1nY2MiIExEPSIke190cmlwbGV0fS1s ZCIgXAotCQlBUz0iJHtfdHJpcGxldH0tYXMiIENQUD0iJHtfdHJpcGxldH0tY3BwIgotCi0JX2Fy Z3M9Ii0tcHJlZml4PS91c3IiCi0JX2FyZ3MrPSIgLS1ob3N0PSR7X3RyaXBsZXR9IgotCV9hcmdz Kz0iIC0td2l0aC1oZWFkZXJzPSR7X3N5c3Jvb3R9L3Vzci9pbmNsdWRlIgotCV9hcmdzKz0iIC0t Y29uZmlnLWNhY2hlIgotCV9hcmdzKz0iIC0tZW5hYmxlLW9ic29sZXRlLXJwYyIKLQlfYXJncys9 IiAtLWVuYWJsZS1vYnNvbGV0ZS1uc2wiCi0JX2FyZ3MrPSIgLS1lbmFibGUta2VybmVsPTIuNi4y NyIKLQlfYXJncys9IiAke19mcHVmbGFnc30iCi0KLQkuLi9nbGliYy0ke19nbGliY192ZXJzaW9u fS9jb25maWd1cmUgJHtfYXJnc30KLQotCW1ha2UgLWsgaW5zdGFsbC1oZWFkZXJzIGNyb3NzX2Nv bXBpbGluZz15ZXMgXAotCQlpbnN0YWxsX3Jvb3Q9JHtfc3lzcm9vdH0KLQotCXRvdWNoICR7d3Jr c3JjfS8uZ2xpYmNfaGVhZGVyc19kb25lCi19Ci0KLV9nbGliY19idWlsZCgpIHsKLQlsb2NhbCBf YXJncwotCi0JWyAtZiAke3dya3NyY30vLmdsaWJjX2J1aWxkX2RvbmUgXSAmJiByZXR1cm4gMAot Ci0JY2QgJHt3cmtzcmN9Ci0JbXNnX25vcm1hbCAiQnVpbGRpbmcgY3Jvc3MgZ2xpYmNcbiIKLQot CVsgISAtZCBnbGliYy1idWlsZCBdICYmIG1rZGlyIGdsaWJjLWJ1aWxkCi0JY2QgZ2xpYmMtYnVp bGQKLQotCWVjaG8gInNsaWJkaXI9L3Vzci9saWIzMiIgPiBjb25maWdwYXJtcwotCi0JZWNobyAi bGliY19jdl9mb3JjZWRfdW53aW5kPXllcyIgPiBjb25maWcuY2FjaGUKLQllY2hvICJsaWJjX2N2 X2NfY2xlYW51cD15ZXMiID4+IGNvbmZpZy5jYWNoZQotCi0JZXhwb3J0IENDPSIke190cmlwbGV0 fS1nY2MiIExEPSIke190cmlwbGV0fS1sZCIgXAotCQlBUz0iJHtfdHJpcGxldH0tYXMiIENQUD0i JHtfdHJpcGxldH0tY3BwIgotCWV4cG9ydCBDRkxBR1M9Ii1PcyAtcGlwZSAke19hcmNoZmxhZ3N9 IgotCi0JX2FyZ3M9Ii0tcHJlZml4PS91c3IiCi0JX2FyZ3MrPSIgLS1saWJkaXI9L3Vzci9saWIz MiIKLQlfYXJncys9IiAtLWhvc3Q9JHtfdHJpcGxldH0iCi0JX2FyZ3MrPSIgLS13aXRoLWhlYWRl cnM9JHtfc3lzcm9vdH0vdXNyL2luY2x1ZGUiCi0JX2FyZ3MrPSIgLS1jb25maWctY2FjaGUiCi0J X2FyZ3MrPSIgLS1kaXNhYmxlLXByb2ZpbGUiCi0JX2FyZ3MrPSIgLS1lbmFibGUtb2Jzb2xldGUt cnBjIgotCV9hcmdzKz0iIC0tZW5hYmxlLW9ic29sZXRlLW5zbCIKLQlfYXJncys9IiAtLWRpc2Fi bGUtd2Vycm9yIgotCV9hcmdzKz0iIC0tZW5hYmxlLWtlcm5lbD0yLjYuMjciCi0JX2FyZ3MrPSIg JHtfZnB1ZmxhZ3N9IgotCi0JLi4vZ2xpYmMtJHtfZ2xpYmNfdmVyc2lvbn0vY29uZmlndXJlICR7 X2FyZ3N9Ci0KLQltYWtlICR7bWFrZWpvYnN9Ci0JbWFrZSBpbnN0YWxsX3Jvb3Q9JHtfc3lzcm9v dH0gaW5zdGFsbAotCi0JdG91Y2ggJHt3cmtzcmN9Ly5nbGliY19idWlsZF9kb25lCi19Ci0KLV9n Y2NfYnVpbGQoKSB7Ci0JbG9jYWwgX2FyZ3MKLQotCVsgLWYgJHt3cmtzcmN9Ly5nY2NfYnVpbGRf ZG9uZSBdICYmIHJldHVybiAwCi0KLQljZCAke3dya3NyY30KLQltc2dfbm9ybWFsICJCdWlsZGlu ZyBjcm9zcyBnY2MgZmluYWxcbiIKLQotCVsgISAtZCBnY2MtYnVpbGQgXSAmJiBta2RpciBnY2Mt YnVpbGQKLQljZCBnY2MtYnVpbGQKLQotCXVuc2V0IExEIEFTIENQUAotCWV4cG9ydCBDQz0iZ2Nj IiBDRkxBR1M9Ii1PcyAtcGlwZSIKLQotCSMgTWFrZSB0aGlzIGxpbmsgdG8gdGFyZ2V0IGxpYnMu Ci0JaWYgWyAhIC1mIC5zZWRfc3Vic3RfZG9uZSBdOyB0aGVuCi0JCXNlZCAtZSAicywgL2xpYi8s ICR7X3N5c3Jvb3R9L2xpYi8sZztzLCAvdXNyL2xpYi8sICR7X3N5c3Jvb3R9L3Vzci9saWIvLGci IFwKLQkJCS1pICR7X3N5c3Jvb3R9L2xpYi9saWJjLnNvCi0JCXNlZCAtZSAicywgL2xpYjMyLywg JHtfc3lzcm9vdH0vbGliMzIvLGc7cywgL3Vzci9saWIzMi8sICR7X3N5c3Jvb3R9L3Vzci9saWIz Mi8sZyIgXAotCQkJLWkgJHtfc3lzcm9vdH0vbGliL2xpYmMuc28KLQkJdG91Y2ggLnNlZF9zdWJz dF9kb25lCi0JZmkKLQotCV9hcmdzPSItLXByZWZpeD0vdXNyIgotCV9hcmdzKz0iIC0tbGliZXhl Y2Rpcj0vdXNyL2xpYiIKLQlfYXJncys9IiAtLXRhcmdldD0ke190cmlwbGV0fSIKLQlfYXJncys9 IiAtLXdpdGgtc3lzcm9vdD0ke19zeXNyb290fSIKLQlfYXJncys9IiAtLWVuYWJsZS1sYW5ndWFn ZXM9YyxhZGEsYysrLG9iamMsb2JqLWMrKyxnbyxmb3J0cmFuLGx0byIKLQlfYXJncys9IiAtLXdp dGgtZ251LWFzIgotCV9hcmdzKz0iIC0td2l0aC1nbnUtbGQiCi0JX2FyZ3MrPSIgLS1kaXNhYmxl LW11bHRpbGliIgotCV9hcmdzKz0iIC0tZGlzYWJsZS13ZXJyb3IiCi0JX2FyZ3MrPSIgLS1kaXNh YmxlLW5scyIKLQlfYXJncys9IiAtLWRpc2FibGUtc2psai1leGNlcHRpb25zIgotCV9hcmdzKz0i IC0tZW5hYmxlLXRocmVhZHM9cG9zaXgiCi0JX2FyZ3MrPSIgLS1lbmFibGUtbG9uZy1sb25neCIK LQlfYXJncys9IiAtLWVuYWJsZS1zaGFyZWQiCi0JX2FyZ3MrPSIgLS1lbmFibGUtbGlua2VyLWJ1 aWxkLWlkIgotCV9hcmdzKz0iIC0tZW5hYmxlLWdudS11bmlxdWUtb2JqZWN0IgotCV9hcmdzKz0i IC0tZW5hYmxlLWxpYmFkYSIKLQlfYXJncys9IiAtLWVuYWJsZS1sdG8iCi0JX2FyZ3MrPSIgLS1l bmFibGUtZGVmYXVsdC1waWUiCi0JX2FyZ3MrPSIgLS1lbmFibGUtZGVmYXVsdC1zc3AiCi0JX2Fy Z3MrPSIgLS1kaXNhYmxlLWxpYnF1YWRtYXRoIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJzc3Ai Ci0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYm1weCIKLQlfYXJncys9IiAtLWRpc2FibGUtbGlibXVk ZmxhcCIKLQlfYXJncys9IiAtLWRpc2FibGUtbGlic2FuaXRpemVyIgotCV9hcmdzKz0iIC0tZGlz YWJsZS1saWJjaWxrcnRzIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJpdG0iCi0JX2FyZ3MrPSIg LS1kaXNhYmxlLWxpYnZ0diIKLQlfYXJncys9IiAtLWRpc2FibGUtbGlic3RkY3h4LXBjaCIKLQlf YXJncys9IiAtLWVuYWJsZS1saWJzdGRjeHgtdGltZSIKLQlfYXJncys9IiAtLXdpdGgtbGlua2Vy LWhhc2gtc3R5bGU9Z251IgotCV9hcmdzKz0iICR7X2ZwdWZsYWdzfSIKLQotCS4uL2djYy0ke19n Y2NfdmVyc2lvbn0vY29uZmlndXJlICR7X2FyZ3N9Ci0KLQltYWtlICR7bWFrZWpvYnN9Ci0KLQl0 b3VjaCAke3dya3NyY30vLmdjY19idWlsZF9kb25lCi19Ci0KLWRvX2J1aWxkKCkgewotCWZvciBm IGluIGluY2x1ZGUgbGliIGxpYmV4ZWMgYmluIHNiaW47IGRvCi0JCWlmIFsgISAtZCAke19zeXNy b290fS91c3IvJHtmfSBdOyB0aGVuCi0JCQlta2RpciAtcCAke19zeXNyb290fS91c3IvJHtmfQot CQlmaQotCQlpZiBbICEgLWggJHtfc3lzcm9vdH0vJHtmfSBdOyB0aGVuCi0JCQlsbiAtc2ZyICR7 X3N5c3Jvb3R9L3Vzci8ke2Z9ICR7X3N5c3Jvb3R9LyR7Zn0KLQkJZmkKLQlkb25lCi0JbG4gLXNm IGxpYiAke19zeXNyb290fS91c3IvbGliMzIKLQlsbiAtc2YgdXNyL2xpYiAke19zeXNyb290fS9s aWIzMgotCi0JIyBFbnN1cmUgd2UgdXNlIHNhbmUgZW52aXJvbm1lbnQKLQl1bnNldCBDQyBDWFgg Q1BQIExEIEFTIEFSIFJBTkxJQiBPQkpEVU1QIFJFQURFTEYgTk0KLQl1bnNldCBDRkxBR1MgQ1hY RkxBR1MgQ1BQRkxBR1MgTERGTEFHUwotCWV4cG9ydCBDRkxBR1M9Ii1PcyIgQ1hYRkxBR1M9Ii1P cyIKLQotCV9iaW51dGlsc19idWlsZAotCV9nY2NfYm9vdHN0cmFwCi0JX2xpbnV4X2hlYWRlcnMK LQlfZ2xpYmNfaGVhZGVycwotCV9nbGliY19idWlsZAotCV9nY2NfYnVpbGQKLX0KLQotZG9faW5z dGFsbCgpIHsKLQlmb3IgZiBpbiBpbmNsdWRlIGxpYiBsaWJleGVjIGJpbiBzYmluOyBkbwotCQlp ZiBbICEgLWQgJHtERVNURElSfS8ke19zeXNyb290fS91c3IvJHtmfSBdOyB0aGVuCi0JCQlta2Rp ciAtcCAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci8ke2Z9Ci0JCWZpCi0JCWlmIFsgISAtaCAk e0RFU1RESVJ9LyR7X3N5c3Jvb3R9LyR7Zn0gXTsgdGhlbgotCQkJbG4gLXNmciAke0RFU1RESVJ9 LyR7X3N5c3Jvb3R9L3Vzci8ke2Z9IFwKLQkJCQkke0RFU1RESVJ9LyR7X3N5c3Jvb3R9LyR7Zn0K LQkJZmkKLQlkb25lCi0JbG4gLXNmIGxpYiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci9saWIz MgotCWxuIC1zZiB1c3IvbGliICR7REVTVERJUn0vJHtfc3lzcm9vdH0vbGliMzIKLQotCSMgaW5z dGFsbCBjcm9zcyBiaW51dGlscwotCWNkICR7d3Jrc3JjfS9iaW51dGlscy1idWlsZAotCW1ha2Ug REVTVERJUj0ke0RFU1RESVJ9IGluc3RhbGwKLQotCSMgaW5zdGFsbCBjcm9zcyBnY2MKLQljZCAk e3dya3NyY30vZ2NjLWJ1aWxkCi0JbWFrZSBERVNURElSPSR7REVTVERJUn0gaW5zdGFsbAotCi0J IyBtb3ZlIGxpYmNjMS5zbyogdG8gdGhlIHN5c3Jvb3QKLQltdiAke0RFU1RESVJ9L3Vzci9saWIv bGliY2MxLnNvKiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci9saWIKLQotCSMgaW5zdGFsbCBs aW51eCBBUEkgaGVhZGVycyBmb3IgTUlQUwotCWNkICR7d3Jrc3JjfS9saW51eC0ke19saW51eF92 ZXJzaW9ufQotCW1ha2UgQVJDSD1hcm0gSU5TVEFMTF9IRFJfUEFUSD0ke0RFU1RESVJ9LyR7X3N5 c3Jvb3R9L3VzciBoZWFkZXJzX2luc3RhbGwKLQlybSAtZiAkKGZpbmQgJHtERVNURElSfS8ke19z eXNyb290fS91c3IvaW5jbHVkZSAtbmFtZSAuaW5zdGFsbCAtb3IgLW5hbWUgLi5pbnN0YWxsLmNt ZCkKLQlybSAtcmYgJHtERVNURElSfS8ke19zeXNyb290fS91c3IvaW5jbHVkZS9kcm0KLQotCSMg aW5zdGFsbCBnbGliYyBmb3IgdGFyZ2V0Ci0JY2QgJHt3cmtzcmN9L2dsaWJjLWJ1aWxkCi0JbWFr ZSBpbnN0YWxsX3Jvb3Q9JHtERVNURElSfS8ke19zeXNyb290fSBpbnN0YWxsIGluc3RhbGwtaGVh ZGVycwotCi0JIyBzeW1saW5rcyBmb3IgZ25hcmwgYW5kIGduYXQgc2hhcmVkIGxpYnJhcmllcwot CV9tYWpvcnZlcj0ke19nY2NfdmVyc2lvbiUuKi4qfQotCV9hZGFsaWI9dXNyL2xpYi9nY2MvJHtf dHJpcGxldH0vJHtfZ2NjX3ZlcnNpb259L2FkYWxpYgotCW12IC12ICR7REVTVERJUn0vJHtfYWRh bGlifS9saWJnbmFybC0ke19tYWpvcnZlcn0uc28gJHtERVNURElSfS8ke19zeXNyb290fS91c3Iv bGliCi0JbXYgLXYgJHtERVNURElSfS8ke19hZGFsaWJ9L2xpYmduYXQtJHtfbWFqb3J2ZXJ9LnNv ICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL2xpYgotCWxuIC1zdmYgbGliZ25hcmwtJHtfbWFq b3J2ZXJ9LnNvIGxpYmduYXJsLnNvCi0JbG4gLXN2ZiBsaWJnbmF0LSR7X21ham9ydmVyfS5zbyBs aWJnbmF0LnNvCi0Jcm0gLXZmICR7REVTVERJUn0vJHtfYWRhbGlifS9saWJnbmF7cmwsdH0uc28K LQotCSMgV2UgbmVlZCB0byBidWlsZCBsaWJhdG9taWMgaW4gdGFyZ2V0IGdjYyBhcyBnY2NnbyBu ZWVkcyBpdCB0bwotCSMgYnVpbGQuLi4gYnV0IGl0J3Mgbm90IG5lZWRlZCBhdCBydW50aW1lLCBz byByZW1vdmUgaXQgZnJvbSB0aGUKLQkjIGRlc3RkaXIgc28gaXQgZG9lc24ndCBjb25mbGljdCB3 aXRoIHRoZSBsaWJhdG9taWMgcGFja2FnZQotCXJtIC1mICR7REVTVERJUn0vJHtfc3lzcm9vdH0v dXNyL2xpYi9saWJhdG9taWMuKgotCi0JIyBSZW1vdmUgdW5uZWNlc3Nhcnkgc3R1ZmYKLQlybSAt ZiAke0RFU1RESVJ9L3Vzci9saWIqL2xpYmliZXJ0eS5hCi0Jcm0gLXJmICR7REVTVERJUn0vdXNy L3NoYXJlCi0Jcm0gLXJmICR7REVTVERJUn0vJHtfc3lzcm9vdH0ve3NiaW4sbGliLGV0Yyx2YXJ9 Ci0Jcm0gLXJmICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL3tzYmluLHNoYXJlLGxpYmV4ZWN9 Ci0Jcm0gLWYgJHtERVNURElSfS8ke19zeXNyb290fS9saWJleGVjCi19Ci0KIGNyb3NzLWFybXY3 bC1saW51eC1nbnVlYWJpaGYtbGliY19wYWNrYWdlKCkgewogCXNob3J0X2Rlc2MrPSIgLSBnbGli YyBmaWxlcyIKIAlub3N0cmlwPXllcwogCW5vc2hsaWJwcm92aWRlcz15ZXMKIAlub3ZlcmlmeXJk ZXBzPXllcworCiAJcGtnX2luc3RhbGwoKSB7Ci0JCXZtb3ZlICR7X3N5c3Jvb3R9CisJCXZtb3Zl IHVzci8ke2Nyb3NzX3RyaXBsZXR9CiAJfQogfQoKRnJvbSA4YTc4MzQxMGNiYjBkZTdiMjQ5OTkw MjBhYTIyMzE1MWI2MWFmNGE2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBxNjYgPGRh bmllbEBvY3RhZm9yZ2Uub3JnPgpEYXRlOiBGcmksIDI1IERlYyAyMDIwIDIxOjM4OjQ0ICswMTAw ClN1YmplY3Q6IFtQQVRDSCAxMC8yNl0gY3Jvc3MtYXJtdjdsLWxpbnV4LW11c2xlYWJpaGY6IHJl d29yayB3aXRoIHZvaWQtY3Jvc3MKCi0tLQogLi4uL2Nyb3NzLWFybXY3bC1saW51eC1tdXNsZWFi aWhmL3RlbXBsYXRlICAgIHwgMzEyICsrLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQs IDIxIGluc2VydGlvbnMoKyksIDI5MSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dz L2Nyb3NzLWFybXY3bC1saW51eC1tdXNsZWFiaWhmL3RlbXBsYXRlIGIvc3JjcGtncy9jcm9zcy1h cm12N2wtbGludXgtbXVzbGVhYmloZi90ZW1wbGF0ZQppbmRleCA1NWUzNDViNWNjMS4uNmVjY2Q3 NjYxYWEgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvY3Jvc3MtYXJtdjdsLWxpbnV4LW11c2xlYWJpaGYv dGVtcGxhdGUKKysrIGIvc3JjcGtncy9jcm9zcy1hcm12N2wtbGludXgtbXVzbGVhYmloZi90ZW1w bGF0ZQpAQCAtMSwyMCArMSwxOSBAQAotIyBUZW1wbGF0ZSBidWlsZCBmaWxlIGZvciAnY3Jvc3Mt YXJtdjdsLWxpbnV4LW11c2xlYWJpaGYnCi0jCisjIFRlbXBsYXRlIGZpbGUgZm9yICdjcm9zcy1h cm12N2wtbGludXgtbXVzbGVhYmloZicKK190cmlwbGV0PWFybXY3bC1saW51eC1tdXNsZWFiaWhm CiBfYmludXRpbHNfdmVyc2lvbj0yLjMyCiBfZ2NjX3ZlcnNpb249OS4zLjAKIF9tdXNsX3ZlcnNp b249MS4xLjI0CiBfbGludXhfdmVyc2lvbj00LjE5CiBfbGlidWNvbnRleHRfdmVyc2lvbj0wLjku MAotCi1fdHJpcGxldD1hcm12N2wtbGludXgtbXVzbGVhYmloZgotX2ZwdWZsYWdzPSItLXdpdGgt YXJjaD1hcm12Ny1hIC0td2l0aC1mcHU9dmZwdjMgLS13aXRoLWZsb2F0PWhhcmQiCi1fYXJjaGZs YWdzPSItbWFyY2g9YXJtdjctYSAtbWZwdT12ZnB2MyAtbWZsb2F0LWFiaT1oYXJkIgotX3N5c3Jv b3Q9Ii91c3IvJHtfdHJpcGxldH0iCi0KIHBrZ25hbWU9Y3Jvc3MtJHtfdHJpcGxldH0KIHZlcnNp b249MC4zMwogcmV2aXNpb249Mwotc2hvcnRfZGVzYz0iQ3Jvc3MgdG9vbGNoYWluIGZvciBBUk12 NyBMRSBIYXJkIEZsb2F0IHRhcmdldCAobXVzbCkiCitidWlsZF9zdHlsZT12b2lkLWNyb3NzCitj b25maWd1cmVfYXJncz0iLS13aXRoLWFyY2g9YXJtdjctYSAtLXdpdGgtZnB1PXZmcHYzIC0td2l0 aC1mbG9hdD1oYXJkIgoraG9zdG1ha2VkZXBlbmRzPSJ0YXIgZ2NjLW9iamMgZ2NjLWdvIGZsZXgg cGVybCBweXRob24zIgorbWFrZWRlcGVuZHM9ImlzbDE1LWRldmVsIGxpYm1wYy1kZXZlbCB6bGli LWRldmVsIGdtcC1kZXZlbCBtcGZyLWRldmVsIgorZGVwZW5kcz0iJHtwa2duYW1lfS1saWJjLSR7 dmVyc2lvbn1fJHtyZXZpc2lvbn0iCitzaG9ydF9kZXNjPSJWb2lkIGNyb3NzIHRvb2xjaGFpbiBm b3IgJHtfdHJpcGxldH0iCiBtYWludGFpbmVyPSJPcnBoYW5lZCA8b3JwaGFuQHZvaWRsaW51eC5v cmc+IgogaG9tZXBhZ2U9Imh0dHBzOi8vd3d3LnZvaWRsaW51eC5vcmcvIgogbGljZW5zZT0iR1BM LTIuMC1vci1sYXRlciwgR1BMLTMuMC1vci1sYXRlciwgTUlUIgpAQCAtMzAsMjk4ICsyOSwyOSBA QCBjaGVja3N1bT0iMGFiNmM1NWRkODZhOTJlZDU2MTk3MmJhMTViOWI3MGE4YjlmNzU1NTdmODk2 NDQ2YzgyZThiMzZlNDczZWUwNAogIDBjNjhmNTY1NTUyOGFlZDRmOTlkYWU3MWE1YjI1OWVkYzkz MjM5ZmE4OTllMmRmNzljMDU1Mjc1YzIxNzQ5YTEKICAwZDUzYTQxNWEzMDdlZjE3NTE1M2JiZTYw YTU3MmM5NDBhOTIyY2I3MzZjZTEzNTMwYjY2NmU3ZWMyNzk1ZDY4IgogCi1saWIzMmRpc2FibGVk PXllcwotbm9jcm9zcz15ZXMKLW5vcGllPXllcwotbm9kZWJ1Zz15ZXMKLWNyZWF0ZV93cmtzcmM9 eWVzCi0KLWhvc3RtYWtlZGVwZW5kcz0idGFyIGdjYy1vYmpjIGdjYy1nbyBmbGV4IHBlcmwgcHl0 aG9uMyIKLW1ha2VkZXBlbmRzPSJ6bGliLWRldmVsIGdtcC1kZXZlbCBtcGZyLWRldmVsIGxpYm1w Yy1kZXZlbCBpc2wxNS1kZXZlbCIKLW5vc3RyaXBfZmlsZXM9ImxpYmNhZl9zaW5nbGUuYSBsaWJn Y2MuYSBsaWJnY292LmEgbGliZ2NjX2VoLmEKLSBsaWJnbmFybF9waWMuYSBsaWJnbmFybC5hIGxp YmduYXRfcGljLmEgbGliZ25hdC5hIGxpYmdtZW0uYSIKLWRlcGVuZHM9IiR7cGtnbmFtZX0tbGli Yy0ke3ZlcnNpb259XyR7cmV2aXNpb259IgorY3Jvc3NfdHJpcGxldD0ke190cmlwbGV0fQorY3Jv c3Nfd29yZHNpemU9MzIKK2Nyb3NzX2xpYmM9bXVzbAorY3Jvc3NfYmludXRpbHNfdmVyc2lvbj0k e19iaW51dGlsc192ZXJzaW9ufQorY3Jvc3NfZ2NjX3ZlcnNpb249JHtfZ2NjX3ZlcnNpb259Citj cm9zc19tdXNsX3ZlcnNpb249JHtfbXVzbF92ZXJzaW9ufQorY3Jvc3NfbGludXhfdmVyc2lvbj0k e19saW51eF92ZXJzaW9ufQorY3Jvc3NfbGlidWNvbnRleHRfdmVyc2lvbj0ke19saWJ1Y29udGV4 dF92ZXJzaW9ufQorY3Jvc3NfbGlidWNvbnRleHRfYXJjaD1hcm0KK2Nyb3NzX2xpbnV4X2FyY2g9 YXJtCitjcm9zc19tdXNsX2NmbGFncz0iLU8yIC1tYXJjaD1hcm12Ny1hIC1tZnB1PXZmcHYzIC1t ZmxvYXQtYWJpPWhhcmQiCiAKIGlmIFsgIiRYQlBTX1RBUkdFVF9NQUNISU5FIiA9ICJhcm12N2wt bXVzbCIgXTsgdGhlbgogCWJyb2tlbj0iQ2FuJ3QgYnVpbGQgY3Jvc3N0b29sY2hhaW4gdG8gaXRz ZWxmIgogZmkKIAotX2FwcGx5X3BhdGNoKCkgewotCWxvY2FsIGFyZ3M9IiQxIiBwbmFtZT0iJChi YXNlbmFtZSAkMikiCi0KLQlpZiBbICEgLWYgIi4ke3BuYW1lfV9kb25lIiBdOyB0aGVuCi0JCXBh dGNoIC1OICRhcmdzIC1pICQyCi0JCXRvdWNoIC4ke3BuYW1lfV9kb25lCi0JZmkKLX0KLQotX2Jp bnV0aWxzX2J1aWxkKCkgewotCWxvY2FsIF9hcmdzCi0KLQlbIC1mICR7d3Jrc3JjfS8uYmludXRp bHNfYnVpbGRfZG9uZSBdICYmIHJldHVybiAwCi0KLQljZCAke3dya3NyY30KLQltc2dfbm9ybWFs ICJCdWlsZGluZyBjcm9zcyBiaW51dGlscyBib290c3RyYXBcbiIKLQotCVsgISAtZCBiaW51dGls cy1idWlsZCBdICYmIG1rZGlyIGJpbnV0aWxzLWJ1aWxkCi0JY2QgYmludXRpbHMtYnVpbGQKLQot CV9hcmdzPSItLXByZWZpeD0vdXNyIgotCV9hcmdzKz0iIC0tdGFyZ2V0PSR7X3RyaXBsZXR9Igot CV9hcmdzKz0iIC0td2l0aC1zeXNyb290PSR7X3N5c3Jvb3R9IgotCV9hcmdzKz0iIC0tZGlzYWJs ZS1ubHMiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLW11bHRpbGliIgotCV9hcmdzKz0iIC0tZGlzYWJs ZS13ZXJyb3IiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLXNoYXJlZCIKLQlfYXJncys9IiAtLXdpdGgt c3lzdGVtLXpsaWIiCi0JX2FyZ3MrPSIgJHtfZnB1ZmxhZ3N9IgotCi0JLi4vYmludXRpbHMtJHtf YmludXRpbHNfdmVyc2lvbn0vY29uZmlndXJlICR7X2FyZ3N9Ci0KLQltYWtlIGNvbmZpZ3VyZS1o b3N0ICYmIG1ha2UgJHttYWtlam9ic30KLQltYWtlIGluc3RhbGwKLQotCXRvdWNoICR7d3Jrc3Jj fS8uYmludXRpbHNfYnVpbGRfZG9uZQotfQotCi1fZ2NjX2Jvb3RzdHJhcCgpIHsKLQlsb2NhbCBf YXJncwotCi0JWyAtZiAke3dya3NyY30vLmdjY19ib290c3RyYXBfZG9uZSBdICYmIHJldHVybiAw Ci0KLQljZCAke3dya3NyY30vZ2NjLSR7X2djY192ZXJzaW9ufQotCWZvciBmIGluICR7WEJQU19T UkNQS0dESVJ9L2djYy9wYXRjaGVzLyoucGF0Y2g7IGRvCi0JCV9hcHBseV9wYXRjaCAtcDAgIiRm IgotCWRvbmUKLQlmb3IgZiBpbiAke1hCUFNfU1JDUEtHRElSfS9nY2MvZmlsZXMvKi1tdXNsLnBh dGNoOyBkbwotCQlfYXBwbHlfcGF0Y2ggLXAxICIkZiIKLQlkb25lCi0KLQltc2dfbm9ybWFsICJC dWlsZGluZyBjcm9zcyBnY2MgYm9vdHN0cmFwXG4iCi0KLQlbICEgLWQgLi4vZ2NjLWJvb3RzdHJh cCBdICYmIG1rZGlyIC4uL2djYy1ib290c3RyYXAKLQljZCAuLi9nY2MtYm9vdHN0cmFwCi0KLQlf YXJncz0iLS1wcmVmaXg9L3VzciIKLQlfYXJncys9IiAtLXRhcmdldD0ke190cmlwbGV0fSIKLQlf YXJncys9IiAtLXdpdGgtc3lzcm9vdD0ke19zeXNyb290fSIKLQlfYXJncys9IiAtLXdpdGgtbmV3 bGliIgotCV9hcmdzKz0iIC0tZW5hYmxlLWxhbmd1YWdlcz1jIgotCV9hcmdzKz0iIC0td2l0aC1u ZXdsaWIiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYnNzcCIKLQlfYXJncys9IiAtLWRpc2FibGUt bmxzIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJxdWFkbWF0aCIKLQlfYXJncys9IiAtLWRpc2Fi bGUtdGhyZWFkcyIKLQlfYXJncys9IiAtLWRpc2FibGUtZGVjaW1hbC1mbG9hdCIKLQlfYXJncys9 IiAtLWRpc2FibGUtc2hhcmVkIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJtcHgiCi0JX2FyZ3Mr PSIgLS1kaXNhYmxlLWxpYm11ZGZsYXAiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYmdvbXAiCi0J X2FyZ3MrPSIgLS1kaXNhYmxlLWxpYmF0b21pYyIKLQlfYXJncys9IiAtLWRpc2FibGUtc3ltdmVy cyIKLQlfYXJncys9IiBsaWJhdF9jdl9oYXZlX2lmdW5jPW5vIgotCV9hcmdzKz0iICR7X2ZwdWZs YWdzfSIKLQotCUNGTEFHUz0iLU8wIC1nMCIgQ1hYRkxBR1M9Ii1PMCAtZzAiIFwKLQkJLi4vZ2Nj LSR7X2djY192ZXJzaW9ufS9jb25maWd1cmUgJHtfYXJnc30KLQotCW1ha2UgJHttYWtlam9ic30K LQltYWtlIGluc3RhbGwKLQotCXRvdWNoICR7d3Jrc3JjfS8uZ2NjX2Jvb3RzdHJhcF9kb25lCi19 Ci0KLV9saW51eF9oZWFkZXJzKCkgewotCVsgLWYgJHt3cmtzcmN9Ly5saW51eF9idWlsZF9kb25l IF0gJiYgcmV0dXJuIDAKLQotCWNkICR7d3Jrc3JjfQotCW1zZ19ub3JtYWwgIkJ1aWxkaW5nIExp bnV4IEFQSSBoZWFkZXJzIGZvciBBUk1cbiIKLQotCWNkIGxpbnV4LSR7X2xpbnV4X3ZlcnNpb259 Ci0KLQlmb3IgZiBpbiAke1hCUFNfU1JDUEtHRElSfS9rZXJuZWwtbGliYy1oZWFkZXJzL3BhdGNo ZXMvKi5wYXRjaDsgZG8KLQkJX2FwcGx5X3BhdGNoIC1wMCAkZgotCWRvbmUKLQotCW1ha2UgQVJD SD1hcm0gaGVhZGVyc19jaGVjawotCW1ha2UgQVJDSD1hcm0gSU5TVEFMTF9IRFJfUEFUSD0ke19z eXNyb290fS91c3IgaGVhZGVyc19pbnN0YWxsCi0KLQl0b3VjaCAke3dya3NyY30vLmxpbnV4X2J1 aWxkX2RvbmUKLX0KLQotX211c2xfYnVpbGQoKSB7Ci0JWyAtZiAke3dya3NyY30vLm11c2xfYnVp bGRfZG9uZSBdICYmIHJldHVybiAwCi0KLQljZCAke3dya3NyY30vbXVzbC0ke19tdXNsX3ZlcnNp b259Ci0JbXNnX25vcm1hbCAiQnVpbGRpbmcgY3Jvc3MgbXVzbCBsaWJjXG4iCi0KLQkjIEFwcGx5 IG11c2wgcGF0Y2hlcyBpZiB0aGVyZSBhcmUgYW55Ci0JaWYgWyAtZCAiJHtYQlBTX1NSQ1BLR0RJ Un0vbXVzbC9wYXRjaGVzIiBdOyB0aGVuCi0JCWZvciBmIGluICR7WEJQU19TUkNQS0dESVJ9L211 c2wvcGF0Y2hlcy8qLnBhdGNoOyBkbwotCQkJX2FwcGx5X3BhdGNoIC1wMCAiJGYiCi0JCWRvbmUK LQlmaQotCi0JQ0M9IiR7X3RyaXBsZXR9LWdjYyIgQ0ZMQUdTPSItT3MgLXBpcGUgLWZQSUMgJHtf YXJjaGZsYWdzfSIgXAotCQkuL2NvbmZpZ3VyZSAtLXByZWZpeD0vdXNyCi0KLQltYWtlICR7bWFr ZWpvYnN9Ci0JbWFrZSBERVNURElSPSR7X3N5c3Jvb3R9IGluc3RhbGwKLQotCXRvdWNoICR7d3Jr c3JjfS8ubXVzbF9idWlsZF9kb25lCi19Ci0KLV9saWJ1Y29udGV4dF9idWlsZCgpIHsKLQlbIC1m ICR7d3Jrc3JjfS8ubGlidWNvbnRleHRfYnVpbGRfZG9uZSBdICYmIHJldHVybiAwCi0KLQljZCAk e3dya3NyY30vbGlidWNvbnRleHQtJHtfbGlidWNvbnRleHRfdmVyc2lvbn0KLQltc2dfbm9ybWFs ICJCdWlsZGluZyBjcm9zcyBsaWJ1Y29udGV4dFxuIgotCi0JIyBpdCdzIG9rIGlmIHdlJ3JlIHN0 YXRpYyBvbmx5IGhlcmUKLQlDQz0iJHtfdHJpcGxldH0tZ2NjIiBBUj0iJHtfdHJpcGxldH0tYXIi IEFTPSIke190cmlwbGV0fS1hcyIgXAotCQlDRkxBR1M9Ii1PcyAtcGlwZSAke19hcmNoZmxhZ3N9 IiBcCi0JCW1ha2UgQVJDSD1hcm0gbGlidWNvbnRleHQuYQotCi0JY3AgbGlidWNvbnRleHQuYSAk e19zeXNyb290fS91c3IvbGliCi0KLQl0b3VjaCAke3dya3NyY30vLmxpYnVjb250ZXh0X2J1aWxk X2RvbmUKLX0KLQotX2djY19idWlsZCgpIHsKLQlsb2NhbCBfYXJncwotCi0JWyAtZiAke3dya3Ny Y30vLmdjY19idWlsZF9kb25lIF0gJiYgcmV0dXJuIDAKLQotCWNkICR7d3Jrc3JjfQotCW1zZ19u b3JtYWwgIkJ1aWxkaW5nIGNyb3NzIGdjYyBmaW5hbFxuIgotCi0JWyAhIC1kIGdjYy1idWlsZCBd ICYmIG1rZGlyIGdjYy1idWlsZAotCWNkIGdjYy1idWlsZAotCi0JX2FyZ3M9Ii0tcHJlZml4PS91 c3IiCi0JX2FyZ3MrPSIgLS1saWJleGVjZGlyPS91c3IvbGliIgotCV9hcmdzKz0iIC0tdGFyZ2V0 PSR7X3RyaXBsZXR9IgotCV9hcmdzKz0iIC0td2l0aC1zeXNyb290PSR7X3N5c3Jvb3R9IgotCV9h cmdzKz0iIC0tZW5hYmxlLWxhbmd1YWdlcz1jLGFkYSxjKyssb2JqYyxvYmotYysrLGdvLGZvcnRy YW4sbHRvIgotCV9hcmdzKz0iIC0tZW5hYmxlLWxpYmFkYSIKLQlfYXJncys9IiAtLWVuYWJsZS1s dG8iCi0JX2FyZ3MrPSIgLS1lbmFibGUtZGVmYXVsdC1waWUiCi0JX2FyZ3MrPSIgLS1lbmFibGUt ZGVmYXVsdC1zc3AiCi0JX2FyZ3MrPSIgLS1lbmFibGUtbGlic3NwIgotCV9hcmdzKz0iIC0tZGlz YWJsZS1saWJzYW5pdGl6ZXIiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLW11bHRpbGliIgotCV9hcmdz Kz0iIC0tZGlzYWJsZS1ubHMiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYnF1YWRtYXRoIgotCV9h cmdzKz0iIC0tZGlzYWJsZS1saWJtcHgiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYm11ZGZsYXAi Ci0JX2FyZ3MrPSIgLS1lbmFibGUtc2hhcmVkIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1zeW12ZXJz IgotCV9hcmdzKz0iIGxpYmF0X2N2X2hhdmVfaWZ1bmM9bm8iCi0JX2FyZ3MrPSIgJHtfZnB1Zmxh Z3N9IgotCi0JLi4vZ2NjLSR7X2djY192ZXJzaW9ufS9jb25maWd1cmUgJHtfYXJnc30KLQotCW1h a2UgJHttYWtlam9ic30KLQotCXRvdWNoICR7d3Jrc3JjfS8uZ2NjX2J1aWxkX2RvbmUKLX0KLQot ZG9fYnVpbGQoKSB7Ci0JIyBFbnN1cmUgd2UgdXNlIHNhbmUgZW52aXJvbm1lbnQKLQl1bnNldCBD QyBDWFggQ1BQIExEIEFTIEFSIFJBTkxJQiBPQkpEVU1QIFJFQURFTEYgTk0KLQl1bnNldCBDRkxB R1MgQ1hYRkxBR1MgQ1BQRkxBR1MgTERGTEFHUwotCWV4cG9ydCBDRkxBR1M9Ii1PcyAtcGlwZSIg Q1hYRkxBR1M9Ii1PcyAtcGlwZSIKLQotCWZvciBmIGluIGluY2x1ZGUgbGliIGxpYmV4ZWMgYmlu IHNiaW47IGRvCi0JCWlmIFsgISAtZCAke19zeXNyb290fS91c3IvJHtmfSBdOyB0aGVuCi0JCQlt a2RpciAtcCAke19zeXNyb290fS91c3IvJHtmfQotCQlmaQotCQlpZiBbICEgLWggJHtfc3lzcm9v dH0vJHtmfSBdOyB0aGVuCi0JCQlsbiAtc2ZyICR7X3N5c3Jvb3R9L3Vzci8ke2Z9ICR7X3N5c3Jv b3R9LyR7Zn0KLQkJZmkKLQlkb25lCi0JbG4gLXNmIGxpYiAke19zeXNyb290fS91c3IvbGliMzIK LQlsbiAtc2YgdXNyL2xpYiAke19zeXNyb290fS9saWIzMgotCi0JX2JpbnV0aWxzX2J1aWxkCi0J X2djY19ib290c3RyYXAKLQlfbGludXhfaGVhZGVycwotCV9tdXNsX2J1aWxkCi0JX2xpYnVjb250 ZXh0X2J1aWxkCi0JX2djY19idWlsZAotfQotCi1kb19pbnN0YWxsKCkgewotCWZvciBmIGluIGlu Y2x1ZGUgbGliIGxpYmV4ZWMgYmluIHNiaW47IGRvCi0JCWlmIFsgISAtZCAke0RFU1RESVJ9LyR7 X3N5c3Jvb3R9L3Vzci8ke2Z9IF07IHRoZW4KLQkJCW1rZGlyIC1wICR7REVTVERJUn0vJHtfc3lz cm9vdH0vdXNyLyR7Zn0KLQkJZmkKLQkJaWYgWyAhIC1oICR7REVTVERJUn0vJHtfc3lzcm9vdH0v JHtmfSBdOyB0aGVuCi0JCQlsbiAtc2ZyICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyLyR7Zn0g XAotCQkJCSR7REVTVERJUn0vJHtfc3lzcm9vdH0vJHtmfQotCQlmaQotCWRvbmUKLQlsbiAtc2Yg bGliICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL2xpYjMyCi0JbG4gLXNmIHVzci9saWIgJHtE RVNURElSfS8ke19zeXNyb290fS9saWIzMgotCi0JIyBpbnN0YWxsIGxpbnV4IEFQSSBoZWFkZXJz Ci0JY2QgJHt3cmtzcmN9L2xpbnV4LSR7X2xpbnV4X3ZlcnNpb259Ci0JbWFrZSBBUkNIPWFybSBJ TlNUQUxMX0hEUl9QQVRIPSR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyIGhlYWRlcnNfaW5zdGFs bAotCXJtIC1mICQoZmluZCAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci9pbmNsdWRlIC1uYW1l IC5pbnN0YWxsIC1vciAtbmFtZSAuLmluc3RhbGwuY21kKQotCXJtIC1yZiAke0RFU1RESVJ9LyR7 X3N5c3Jvb3R9L3Vzci9pbmNsdWRlL2RybQotCi0JIyBpbnN0YWxsIGNyb3NzIGJpbnV0aWxzCi0J Y2QgJHt3cmtzcmN9L2JpbnV0aWxzLWJ1aWxkCi0JbWFrZSBERVNURElSPSR7REVTVERJUn0gaW5z dGFsbAotCi0JIyBpbnN0YWxsIGNyb3NzIGdjYwotCWNkICR7d3Jrc3JjfS9nY2MtYnVpbGQKLQlt YWtlIERFU1RESVI9JHtERVNURElSfSBpbnN0YWxsCi0KLQkjIG1vdmUgbGliY2MxLnNvKiB0byB0 aGUgc3lzcm9vdAotCW12ICR7REVTVERJUn0vdXNyL2xpYi9saWJjYzEuc28qICR7REVTVERJUn0v JHtfc3lzcm9vdH0vdXNyL2xpYgotCi0JIyBpbnN0YWxsIG11c2wgbGliYyBmb3IgdGFyZ2V0Ci0J Y2QgJHt3cmtzcmN9L211c2wtJHtfbXVzbF92ZXJzaW9ufQotCW1ha2UgREVTVERJUj0ke0RFU1RE SVJ9LyR7X3N5c3Jvb3R9IGluc3RhbGwKLQotCSMgUmVtb3ZlIHVzZWxlc3MgaGVhZGVycy4KLQly bSAtcmYgJHtERVNURElSfS91c3IvbGliL2djYy8ke190cmlwbGV0fS8qL2luY2x1ZGUtZml4ZWQv Ci0KLQkjIE1ha2UgbGQtbXVzbC1hcm1oZi5zby4xIHN5bWxpbmsgcmVsYXRpdmUuCi0JbG4gLXNm IGxpYmMuc28gJHtERVNURElSfS8ke19zeXNyb290fS91c3IvbGliL2xkLW11c2wtYXJtaGYuc28u MQotCi0JIyBzeW1saW5rcyBmb3IgZ25hcmwgYW5kIGduYXQgc2hhcmVkIGxpYnJhcmllcwotCV9t YWpvcnZlcj0ke19nY2NfdmVyc2lvbiUuKi4qfQotCV9hZGFsaWI9dXNyL2xpYi9nY2MvJHtfdHJp cGxldH0vJHtfZ2NjX3ZlcnNpb259L2FkYWxpYgotCW12IC12ICR7REVTVERJUn0vJHtfYWRhbGli fS9saWJnbmFybC0ke19tYWpvcnZlcn0uc28gJHtERVNURElSfS8ke19zeXNyb290fS91c3IvbGli Ci0JbXYgLXYgJHtERVNURElSfS8ke19hZGFsaWJ9L2xpYmduYXQtJHtfbWFqb3J2ZXJ9LnNvICR7 REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL2xpYgotCWxuIC1zdmYgbGliZ25hcmwtJHtfbWFqb3J2 ZXJ9LnNvIGxpYmduYXJsLnNvCi0JbG4gLXN2ZiBsaWJnbmF0LSR7X21ham9ydmVyfS5zbyBsaWJn bmF0LnNvCi0Jcm0gLXZmICR7REVTVERJUn0vJHtfYWRhbGlifS9saWJnbmF7cmwsdH0uc28KLQot CSMgV2UgbmVlZCB0byBidWlsZCBsaWJhdG9taWMgaW4gdGFyZ2V0IGdjYyBhcyBnY2NnbyBuZWVk cyBpdCB0bwotCSMgYnVpbGQuLi4gYnV0IGl0J3Mgbm90IG5lZWRlZCBhdCBydW50aW1lLCBzbyBy ZW1vdmUgaXQgZnJvbSB0aGUKLQkjIGRlc3RkaXIgc28gaXQgZG9lc24ndCBjb25mbGljdCB3aXRo IHRoZSBsaWJhdG9taWMgcGFja2FnZQotCXJtIC1mICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNy L2xpYi9saWJhdG9taWMuKgotCi0JIyBSZW1vdmUgdW5uZWNlc3Nhcnkgc3R1ZmYKLQlybSAtZiAk e0RFU1RESVJ9L3Vzci9saWIqL2xpYmliZXJ0eS5hCi0Jcm0gLXJmICR7REVTVERJUn0vdXNyL3No YXJlCi0Jcm0gLXJmICR7REVTVERJUn0vJHtfc3lzcm9vdH0ve2V0Yyx2YXJ9Ci0Jcm0gLXJmICR7 REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL3tzYmluLHNoYXJlLGxpYmV4ZWN9Ci0Jcm0gLWYgJHtE RVNURElSfS8ke19zeXNyb290fS9saWJleGVjCi0Jcm0gLWYgJHtERVNURElSfS8ke19zeXNyb290 fS9saWIvKi5weQotCXJtIC1mICR7REVTVERJUn0vJHtfc3lzcm9vdH0ve3NiaW4sbGlifQotfQot CiBjcm9zcy1hcm12N2wtbGludXgtbXVzbGVhYmloZi1saWJjX3BhY2thZ2UoKSB7CiAJc2hvcnRf ZGVzYys9IiAtIGxpYmMgZmlsZXMiCiAJbm9zdHJpcD15ZXMKIAlub3NobGlicHJvdmlkZXM9eWVz CiAJbm92ZXJpZnlyZGVwcz15ZXMKLQlwa2dfaW5zdGFsbCgpIHsKLQkJdm1vdmUgJHtfc3lzcm9v dH0KIAorCXBrZ19pbnN0YWxsKCkgeworCQl2bW92ZSB1c3IvJHtjcm9zc190cmlwbGV0fQogCX0K IH0KCkZyb20gMThkMjBmZjNlNTY1Mjc4YTUyYzg5MTFkNzE5NzU4ZTA0MzU3ZmQyNiBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogcTY2IDxkYW5pZWxAb2N0YWZvcmdlLm9yZz4KRGF0ZTog RnJpLCAyNSBEZWMgMjAyMCAyMjo1MTowMSArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMTEvMjZdIGNy b3NzLWk2ODYtcGMtbGludXgtZ251OiByZXdvcmsgd2l0aCB2b2lkLWNyb3NzCgotLS0KIHNyY3Br Z3MvY3Jvc3MtaTY4Ni1wYy1saW51eC1nbnUvdGVtcGxhdGUgfCAzNjUgKystLS0tLS0tLS0tLS0t LS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAyMSBpbnNlcnRpb25zKCspLCAzNDQgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jcm9zcy1pNjg2LXBjLWxpbnV4LWdudS90ZW1wbGF0 ZSBiL3NyY3BrZ3MvY3Jvc3MtaTY4Ni1wYy1saW51eC1nbnUvdGVtcGxhdGUKaW5kZXggMDU2ZDI1 NTMwNDAuLmJmZTJkNWVhZmJlIDEwMDY0NAotLS0gYS9zcmNwa2dzL2Nyb3NzLWk2ODYtcGMtbGlu dXgtZ251L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvY3Jvc3MtaTY4Ni1wYy1saW51eC1nbnUvdGVt cGxhdGUKQEAgLTEsMjEgKzEsMjAgQEAKLSMgVGVtcGxhdGUgYnVpbGQgZmlsZSBmb3IgJ2Nyb3Nz LWk2ODYtcGMtbGludXgtZ251JwotIworIyBUZW1wbGF0ZSBmaWxlIGZvciAnY3Jvc3MtaTY4Ni1w Yy1saW51eC1nbnUnCitfdHJpcGxldD1pNjg2LXBjLWxpbnV4LWdudQogX2JpbnV0aWxzX3ZlcnNp b249Mi4zMgogX2djY192ZXJzaW9uPTkuMy4wCiBfZ2xpYmNfdmVyc2lvbj0yLjMwCiBfbGludXhf dmVyc2lvbj00LjE5Ci0KLV90cmlwbGV0PWk2ODYtcGMtbGludXgtZ251Ci1fYXJjaGZsYWdzPSIt bWFyY2g9aTY4NiAtbXR1bmU9Z2VuZXJpYyIKLV9zeXNyb290PSIvdXNyLyR7X3RyaXBsZXR9Igot CiBwa2duYW1lPWNyb3NzLSR7X3RyaXBsZXR9CiB2ZXJzaW9uPTAuMzMKIHJldmlzaW9uPTQKLXNo b3J0X2Rlc2M9IkdOVSBDcm9zcyB0b29sY2hhaW4gZm9yIHRoZSAke190cmlwbGV0fSB0YXJnZXQg KGJpbnV0aWxzL2djYy9nbGliYykiCitidWlsZF9zdHlsZT12b2lkLWNyb3NzCitob3N0bWFrZWRl cGVuZHM9InRhciBnY2Mtb2JqYyBnY2MtZ28gZmxleCBwZXJsIHB5dGhvbjMiCittYWtlZGVwZW5k cz0iaXNsMTUtZGV2ZWwgbGlibXBjLWRldmVsIHpsaWItZGV2ZWwgZ21wLWRldmVsIG1wZnItZGV2 ZWwiCitkZXBlbmRzPSIke3BrZ25hbWV9LWxpYmMtJHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIKK3No b3J0X2Rlc2M9IlZvaWQgY3Jvc3MgdG9vbGNoYWluIGZvciAke190cmlwbGV0fSIKIG1haW50YWlu ZXI9IkrDvHJnZW4gQnVjaG3DvGxsZXIgPHB1bGxtb2xsQHQtb25saW5lLmRlPiIKLWhvbWVwYWdl PSJodHRwczovL3d3dy52b2lkbGludXgub3JnLyIKIGxpY2Vuc2U9IkdQTC0yLjAtb3ItbGF0ZXIs IEdQTC0zLjAtb3ItbGF0ZXIsIExHUEwtMi4xLW9yLWxhdGVyIgoraG9tZXBhZ2U9Imh0dHBzOi8v d3d3LnZvaWRsaW51eC5vcmcvIgogZGlzdGZpbGVzPSIKICAke0dOVV9TSVRFfS9iaW51dGlscy9i aW51dGlscy0ke19iaW51dGlsc192ZXJzaW9ufS50YXIueHoKICAke0dOVV9TSVRFfS9nY2MvZ2Nj LSR7X2djY192ZXJzaW9ufS9nY2MtJHtfZ2NjX3ZlcnNpb259LnRhci54egpAQCAtMjYsMzUxICsy NSwyOSBAQCBjaGVja3N1bT0iMGFiNmM1NWRkODZhOTJlZDU2MTk3MmJhMTViOWI3MGE4YjlmNzU1 NTdmODk2NDQ2YzgyZThiMzZlNDczZWUwNAogIGUyYzQxMTRlNTY5YWZiZTdlZGJjMjkxMzFhNDNi ZTgzMzg1MGFiOWE0NTlkODFiZWIyNTg4MDE2ZDJiYmI4YWYKICAwYzY4ZjU2NTU1MjhhZWQ0Zjk5 ZGFlNzFhNWIyNTllZGM5MzIzOWZhODk5ZTJkZjc5YzA1NTI3NWMyMTc0OWExIgogCi1ub2Nyb3Nz PXllcwotbm9waWU9eWVzCi1ub2RlYnVnPXllcwotbGliMzJkaXNhYmxlZD15ZXMKLWNyZWF0ZV93 cmtzcmM9eWVzCi1ob3N0bWFrZWRlcGVuZHM9InRhciBnY2Mtb2JqYyBnY2MtZ28gZmxleCBwZXJs IHB5dGhvbjMiCi1tYWtlZGVwZW5kcz0iaXNsMTUtZGV2ZWwgbGlibXBjLWRldmVsIHpsaWItZGV2 ZWwiCi1kZXBlbmRzPSIke3BrZ25hbWV9LWxpYmMtJHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIKLW5v c3RyaXBfZmlsZXM9ImxpYmNhZl9zaW5nbGUuYSBsaWJnY2MuYSBsaWJnY292LmEgbGliZ2NjX2Vo LmEKLSBsaWJnbmFybF9waWMuYSBsaWJnbmFybC5hIGxpYmduYXRfcGljLmEgbGliZ25hdC5hIGxp YmdtZW0uYSIKLQotaWYgWyAiJFhCUFNfVEFSR0VUX0xJQkMiICE9ICJnbGliYyIgXTsgdGhlbgot CWJyb2tlbj0iZ2xpYmMgY3Jvc3N0b29sY2hhaW4gb25seSBhdmFpbGFibGUgb24gZ2xpYmMiCi1m aQorY3Jvc3NfdHJpcGxldD0ke190cmlwbGV0fQorY3Jvc3Nfd29yZHNpemU9MzIKK2Nyb3NzX2xp YmM9Z2xpYmMKK2Nyb3NzX2JpbnV0aWxzX3ZlcnNpb249JHtfYmludXRpbHNfdmVyc2lvbn0KK2Ny b3NzX2djY192ZXJzaW9uPSR7X2djY192ZXJzaW9ufQorY3Jvc3NfZ2xpYmNfdmVyc2lvbj0ke19n bGliY192ZXJzaW9ufQorY3Jvc3NfbGludXhfdmVyc2lvbj0ke19saW51eF92ZXJzaW9ufQorY3Jv c3NfbGludXhfYXJjaD14ODYKKyMgZXhwbGljaXRseSBlbmFibGUgZm9yIGZpbmFsIGdjYywgYXMg Z2ZvcnRyYW4gZG9lcyBub3QgYnVpbGQgd2l0aG91dCBvbiB4ODYKK2Nyb3NzX2djY19jb25maWd1 cmVfYXJncz0iLS1lbmFibGUtbGlicXVhZG1hdGgiCitjcm9zc19nbGliY19jZmxhZ3M9Ii1PMiAt V25vLWVycm9yIC1tYXJjaD1pNjg2IC1tdHVuZT1nZW5lcmljIgogCiBpZiBbICIkWEJQU19UQVJH RVRfTUFDSElORSIgPSAiaTY4NiIgXTsgdGhlbgogCWJyb2tlbj0iQ2FuJ3QgYnVpbGQgY3Jvc3N0 b29sY2hhaW4gdG8gaXRzZWxmIgogZmkKIAotX2FwcGx5X3BhdGNoKCkgewotCWxvY2FsIGFyZ3M9 IiQxIiBwbmFtZT0iJChiYXNlbmFtZSAkMikiCi0KLQlpZiBbICEgLWYgIi4ke3BuYW1lfV9kb25l IiBdOyB0aGVuCi0JCXBhdGNoIC1OICRhcmdzIC1pICQyCi0JCXRvdWNoIC4ke3BuYW1lfV9kb25l Ci0JZmkKLX0KLQotX2JpbnV0aWxzX2J1aWxkKCkgewotCWxvY2FsIF9hcmdzCi0KLQlbIC1mICR7 d3Jrc3JjfS8uYmludXRpbHNfYnVpbGRfZG9uZSBdICYmIHJldHVybiAwCi0KLQljZCAke3dya3Ny Y30vYmludXRpbHMtJHtfYmludXRpbHNfdmVyc2lvbn0KLQotCW1zZ19ub3JtYWwgIkJ1aWxkaW5n IGNyb3NzIGJpbnV0aWxzIGJvb3RzdHJhcFxuIgotCi0JWyAhIC1kIC4uL2JpbnV0aWxzLWJ1aWxk IF0gJiYgbWtkaXIgLi4vYmludXRpbHMtYnVpbGQKLQljZCAuLi9iaW51dGlscy1idWlsZAotCV9h cmdzPSItLXByZWZpeD0vdXNyIgotCV9hcmdzKz0iIC0tdGFyZ2V0PSR7X3RyaXBsZXR9IgotCV9h cmdzKz0iIC0td2l0aC1zeXNyb290PSR7X3N5c3Jvb3R9IgotCV9hcmdzKz0iIC0tZGlzYWJsZS1u bHMiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLXNoYXJlZCIKLQlfYXJncys9IiAtLWRpc2FibGUtbXVs dGlsaWIiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLXdlcnJvciIKLQlfYXJncys9IiAtLXdpdGgtc3lz dGVtLXpsaWIiCi0KLQkuLi9iaW51dGlscy0ke19iaW51dGlsc192ZXJzaW9ufS9jb25maWd1cmUg JHtfYXJnc30KLQotCW1ha2UgY29uZmlndXJlLWhvc3QgJiYgbWFrZSAke21ha2Vqb2JzfQotCW1h a2UgaW5zdGFsbAotCi0JdG91Y2ggJHt3cmtzcmN9Ly5iaW51dGlsc19idWlsZF9kb25lCi19Ci0K LV9nY2NfYm9vdHN0cmFwKCkgewotCWxvY2FsIF9hcmdzCi0JWyAtZiAke3dya3NyY30vLmdjY19i b290c3RyYXBfZG9uZSBdICYmIHJldHVybiAwCi0KLQljZCAke3dya3NyY30vZ2NjLSR7X2djY192 ZXJzaW9ufQotCWZvciBmIGluICR7WEJQU19TUkNQS0dESVJ9L2djYy9wYXRjaGVzLyoucGF0Y2g7 IGRvCi0JCV9hcHBseV9wYXRjaCAtcDAgIiRmIgotCWRvbmUKLQotCW1zZ19ub3JtYWwgIkJ1aWxk aW5nIGNyb3NzIGdjYyBib290c3RyYXBcbiIKLQotCVsgISAtZCAuLi9nY2MtYm9vdHN0cmFwIF0g JiYgbWtkaXIgLi4vZ2NjLWJvb3RzdHJhcAotCWNkIC4uL2djYy1ib290c3RyYXAKLQotCSMgRml4 IGh0dHBzOi8vYnVpbGQudm9pZGxpbnV4Lm9yZy9idWlsZGVycy94ODZfNjRfYnVpbGRlci9idWls ZHMvMjQ4OTUvc3RlcHMvc2hlbGxfMy9sb2dzL3N0ZGlvCi0JZXhwb3J0IGdjY19jdl9saWJjX3By b3ZpZGVzX3NzcD15ZXMKLQlfYXJncz0iLS1wcmVmaXg9L3VzciIKLQlfYXJncys9IiAtLXRhcmdl dD0ke190cmlwbGV0fSIKLQlfYXJncys9IiAtLXdpdGhvdXQtaGVhZGVycyIKLQlfYXJncys9IiAt LWRpc2FibGUtbmxzIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1zaGFyZWQiCi0JX2FyZ3MrPSIgLS1k aXNhYmxlLWxpYnF1YWRtYXRoIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1kZWNpbWFsLWZsb2F0Igot CV9hcmdzKz0iIC0tZGlzYWJsZS1saWJnb21wIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJtcHgi Ci0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYm11ZGZsYXAiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxp YnNzcCIKLQlfYXJncys9IiAtLWRpc2FibGUtbGliaXRtIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1s aWJhdG9taWMiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLXRocmVhZHMiCi0JX2FyZ3MrPSIgLS1lbmFi bGUtbGFuZ3VhZ2VzPWMiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLXNqbGotZXhjZXB0aW9ucyIKLQlf YXJncys9IiAtLWRpc2FibGUtbXVsdGlsaWIiCi0JX2FyZ3MrPSIgLS13aXRoLWdudS1sZCIKLQlf YXJncys9IiAtLXdpdGgtZ251LWFzIgotCV9hcmdzKz0iICR7X2ZwdWZsYWdzfSIKLQotCUNGTEFH Uz0iLU8wIC1nMCIgQ1hYRkxBR1M9Ii1PMCAtZzAiIFwKLQkJLi4vZ2NjLSR7X2djY192ZXJzaW9u fS9jb25maWd1cmUgJHtfYXJnc30KLQotCW1ha2UgJHttYWtlam9ic30KLQltYWtlIGluc3RhbGwK LQotCXRvdWNoICR7d3Jrc3JjfS8uZ2NjX2Jvb3RzdHJhcF9kb25lCi19Ci0KLV9saW51eF9oZWFk ZXJzKCkgewotCVsgLWYgJHt3cmtzcmN9Ly5saW51eF9idWlsZF9kb25lIF0gJiYgcmV0dXJuIDAK LQotCWNkICR7d3Jrc3JjfQotCW1zZ19ub3JtYWwgIkJ1aWxkaW5nIExpbnV4IEFQSSBoZWFkZXJz IGZvciB4ODZcbiIKLQotCWNkIGxpbnV4LSR7X2xpbnV4X3ZlcnNpb259Ci0KLQltYWtlIEFSQ0g9 eDg2IGhlYWRlcnNfY2hlY2sKLQltYWtlIEFSQ0g9eDg2IElOU1RBTExfSERSX1BBVEg9JHtfc3lz cm9vdH0vdXNyIGhlYWRlcnNfaW5zdGFsbAotCi0JdG91Y2ggJHt3cmtzcmN9Ly5saW51eF9idWls ZF9kb25lCi19Ci0KLV9nbGliY19oZWFkZXJzKCkgewotCWxvY2FsIF9hcmdzIGYKLQlbIC1mICR7 d3Jrc3JjfS8uZ2xpYmNfaGVhZGVyc19kb25lIF0gJiYgcmV0dXJuIDAKLQotCWNkICR7d3Jrc3Jj fS9nbGliYy0ke19nbGliY192ZXJzaW9ufQotCWlmIFsgLWQgIiR7WEJQU19TUkNQS0dESVJ9L2ds aWJjL3BhdGNoZXMiIF07IHRoZW4KLQkJZm9yIGYgaW4gJHtYQlBTX1NSQ1BLR0RJUn0vZ2xpYmMv cGF0Y2hlcy8qLnBhdGNoOyBkbwotCQkJX2FwcGx5X3BhdGNoIC1wMSAiJGYiCi0JCWRvbmUKLQlm aQotCi0JY2QgJHt3cmtzcmN9Ci0JbXNnX25vcm1hbCAiQnVpbGRpbmcgY3Jvc3MgZ2xpYmMgaGVh ZGVyc1xuIgotCi0JWyAhIC1kIGdsaWJjLWhlYWRlcnMgXSAmJiBta2RpciBnbGliYy1oZWFkZXJz Ci0JY2QgZ2xpYmMtaGVhZGVycwotCi0JZWNobyAibGliY19jdl9mb3JjZWRfdW53aW5kPXllcyIg PiBjb25maWcuY2FjaGUKLQllY2hvICJsaWJjX2N2X2NfY2xlYW51cD15ZXMiID4+IGNvbmZpZy5j YWNoZQotCWVjaG8gImxpYmNfY3Zfc3NwPW5vIiA+PiBjb25maWcuY2FjaGUKLQotCWV4cG9ydCBD Qz0iJHtfdHJpcGxldH0tZ2NjIiBMRD0iJHtfdHJpcGxldH0tbGQiIFwKLQkJQVM9IiR7X3RyaXBs ZXR9LWFzIiBDUFA9IiR7X3RyaXBsZXR9LWNwcCIKLQotCV9hcmdzPSItLWhvc3Q9JHtfdHJpcGxl dH0iCi0JX2FyZ3MrPSIgLS1wcmVmaXg9L3VzciIKLQlfYXJncys9IiAtLXdpdGgtaGVhZGVycz0k e19zeXNyb290fS91c3IvaW5jbHVkZSIKLQlfYXJncys9IiAtLWNvbmZpZy1jYWNoZSIKLQlfYXJn cys9IiAtLWVuYWJsZS1vYnNvbGV0ZS1ycGMiCi0JX2FyZ3MrPSIgLS1lbmFibGUtb2Jzb2xldGUt bnNsIgotCV9hcmdzKz0iIC0tZW5hYmxlLWtlcm5lbD0yLjYuMjciCi0JX2FyZ3MrPSIgJHtfZnB1 ZmxhZ3N9IgotCi0JLi4vZ2xpYmMtJHtfZ2xpYmNfdmVyc2lvbn0vY29uZmlndXJlICR7X2FyZ3N9 Ci0KLQltYWtlIC1rIGluc3RhbGwtaGVhZGVycyBjcm9zc19jb21waWxpbmc9eWVzIFwKLQkJaW5z dGFsbF9yb290PSR7X3N5c3Jvb3R9Ci0KLQl0b3VjaCAke3dya3NyY30vLmdsaWJjX2hlYWRlcnNf ZG9uZQotfQotCi1fZ2xpYmNfYnVpbGQoKSB7Ci0JbG9jYWwgX2FyZ3MKLQlbIC1mICR7d3Jrc3Jj fS8uZ2xpYmNfYnVpbGRfZG9uZSBdICYmIHJldHVybiAwCi0KLQljZCAke3dya3NyY30KLQltc2df bm9ybWFsICJCdWlsZGluZyBjcm9zcyBnbGliY1xuIgotCi0JWyAhIC1kIGdsaWJjLWJ1aWxkIF0g JiYgbWtkaXIgZ2xpYmMtYnVpbGQKLQljZCBnbGliYy1idWlsZAotCi0JZWNobyAic2xpYmRpcj0v dXNyL2xpYjMyIiA+IGNvbmZpZ3Bhcm1zCi0KLQllY2hvICJsaWJjX2N2X2ZvcmNlZF91bndpbmQ9 eWVzIiA+IGNvbmZpZy5jYWNoZQotCWVjaG8gImxpYmNfY3ZfY19jbGVhbnVwPXllcyIgPj4gY29u ZmlnLmNhY2hlCi0JZWNobyAibGliY19jdl9zc3A9bm8iID4+IGNvbmZpZy5jYWNoZQotCi0JZXhw b3J0IENDPSIke190cmlwbGV0fS1nY2MiIExEPSIke190cmlwbGV0fS1sZCIgXAotCQlBUz0iJHtf dHJpcGxldH0tYXMiIENQUD0iJHtfdHJpcGxldH0tY3BwIgotCWV4cG9ydCBDRkxBR1M9Ii1PMiAt cGlwZSAtV25vLWVycm9yICR7X2FyY2hmbGFnc30iCi0JX2FyZ3M9Ii0taG9zdD0ke190cmlwbGV0 fSIKLQlfYXJncys9IiAtLXByZWZpeD0vdXNyIgotCV9hcmdzKz0iIC0tbGliZGlyPS91c3IvbGli MzIiCi0JX2FyZ3MrPSIgLS13aXRoLWhlYWRlcnM9JHtfc3lzcm9vdH0vdXNyL2luY2x1ZGUiCi0J X2FyZ3MrPSIgLS1jb25maWctY2FjaGUiCi0JX2FyZ3MrPSIgLS1lbmFibGUtb2Jzb2xldGUtcnBj IgotCV9hcmdzKz0iIC0tZW5hYmxlLW9ic29sZXRlLW5zbCIKLQlfYXJncys9IiAtLWVuYWJsZS1r ZXJuZWw9Mi42LjI3IgotCV9hcmdzKz0iICR7X2ZwdWZsYWdzfSIKLQotCS4uL2dsaWJjLSR7X2ds aWJjX3ZlcnNpb259L2NvbmZpZ3VyZSAke19hcmdzfQotCi0JbWFrZSAke21ha2Vqb2JzfQotCW1h a2UgaW5zdGFsbF9yb290PSR7X3N5c3Jvb3R9IGluc3RhbGwKLQotCXRvdWNoICR7d3Jrc3JjfS8u Z2xpYmNfYnVpbGRfZG9uZQotfQotCi1fZ2NjX2J1aWxkKCkgewotCWxvY2FsIF9hcmdzCi0KLQlb IC1mICR7d3Jrc3JjfS8uZ2NjX2J1aWxkX2RvbmUgXSAmJiByZXR1cm4gMAotCi0JY2QgJHt3cmtz cmN9Ci0JbXNnX25vcm1hbCAiQnVpbGRpbmcgY3Jvc3MgZ2NjIGZpbmFsXG4iCi0KLQlbICEgLWQg Z2NjLWJ1aWxkIF0gJiYgbWtkaXIgZ2NjLWJ1aWxkCi0JY2QgZ2NjLWJ1aWxkCi0KLQl1bnNldCBM RCBBUyBDUFAKLQotCSMgTWFrZSB0aGlzIGxpbmsgdG8gdGFyZ2V0IGxpYnMuCi0JaWYgWyAhIC1m IC5zZWRfc3Vic3RfZG9uZSBdOyB0aGVuCi0JCXNlZCAtZSAicywgL2xpYi8sICR7X3N5c3Jvb3R9 L2xpYi8sZztzLCAvdXNyL2xpYi8sICR7X3N5c3Jvb3R9L3Vzci9saWIvLGciIFwKLQkJCS1pICR7 X3N5c3Jvb3R9L2xpYi9saWJjLnNvCi0JCXNlZCAtZSAicywgL2xpYjMyLywgJHtfc3lzcm9vdH0v bGliMzIvLGc7cywgL3Vzci9saWIzMi8sICR7X3N5c3Jvb3R9L3Vzci9saWIzMi8sZyIgXAotCQkJ LWkgJHtfc3lzcm9vdH0vbGliL2xpYmMuc28KLQkJdG91Y2ggLnNlZF9zdWJzdF9kb25lCi0JZmkK LQlfYXJncz0iLS10YXJnZXQ9JHtfdHJpcGxldH0iCi0JX2FyZ3MrPSIgLS10YXJnZXQ9JHtfdHJp cGxldH0iCi0JX2FyZ3MrPSIgLS1wcmVmaXg9L3VzciIKLQlfYXJncys9IiAtLWxpYmV4ZWNkaXI9 L3Vzci9saWIiCi0JX2FyZ3MrPSIgLS13aXRoLXN5c3Jvb3Q9JHtfc3lzcm9vdH0iCi0JX2FyZ3Mr PSIgLS1lbmFibGUtbGFuZ3VhZ2VzPWMsYWRhLGMrKyxvYmpjLG9iai1jKyssZ28sZm9ydHJhbixs dG8iCi0JX2FyZ3MrPSIgLS13aXRoLWdudS1hcyIKLQlfYXJncys9IiAtLXdpdGgtZ251LWxkIgot CV9hcmdzKz0iIC0tZGlzYWJsZS1tdWx0aWxpYiIKLQlfYXJncys9IiAtLWRpc2FibGUtbmxzIgot CV9hcmdzKz0iIC0tZGlzYWJsZS1zamxqLWV4Y2VwdGlvbnMiCi0JX2FyZ3MrPSIgLS1lbmFibGUt dGhyZWFkcz1wb3NpeCIKLQlfYXJncys9IiAtLWVuYWJsZS1sb25nLWxvbmd4IgotCV9hcmdzKz0i IC0tZW5hYmxlLXNoYXJlZCIKLQlfYXJncys9IiAtLWVuYWJsZS1saW5rZXItYnVpbGQtaWQiCi0J X2FyZ3MrPSIgLS1lbmFibGUtZ251LXVuaXF1ZS1vYmplY3QiCi0JX2FyZ3MrPSIgLS1lbmFibGUt bGliYWRhIgotCV9hcmdzKz0iIC0tZW5hYmxlLWx0byIKLQlfYXJncys9IiAtLWVuYWJsZS1kZWZh dWx0LXBpZSIKLQlfYXJncys9IiAtLWVuYWJsZS1kZWZhdWx0LXNzcCIKLQlfYXJncys9IiAtLWVu YWJsZS1nbnUtaW5kaXJlY3QtZnVuY3Rpb24iCi0JX2FyZ3MrPSIgLS1lbmFibGUtbGlicXVhZG1h dGgiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYnNzcCIKLQlfYXJncys9IiAtLWRpc2FibGUtbGli bXB4IgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJtdWRmbGFwIgotCV9hcmdzKz0iIC0tZGlzYWJs ZS1saWJzYW5pdGl6ZXIiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYmNpbGtydHMiCi0JX2FyZ3Mr PSIgLS1kaXNhYmxlLWxpYml0bSIKLQlfYXJncys9IiAtLWRpc2FibGUtbGlidnR2IgotCV9hcmdz Kz0iIC0tZGlzYWJsZS1saWJzdGRjeHgtcGNoIgotCV9hcmdzKz0iIC0tZW5hYmxlLWxpYnN0ZGN4 eC10aW1lIgotCV9hcmdzKz0iIC0td2l0aC1saW5rZXItaGFzaC1zdHlsZT1nbnUiCi0JX2FyZ3Mr PSIgJHtfZnB1ZmxhZ3N9IgotCi0JQ0M9ImdjYyIgQ0ZMQUdTPSItTzIgLXBpcGUiIFwKLQkJLi4v Z2NjLSR7X2djY192ZXJzaW9ufS9jb25maWd1cmUgJHtfYXJnc30KLQotCW1ha2UgJHttYWtlam9i c30KLQotCXRvdWNoICR7d3Jrc3JjfS8uZ2NjX2J1aWxkX2RvbmUKLX0KLQotZG9fYnVpbGQoKSB7 Ci0JIyBFbnN1cmUgd2UgdXNlIHNhbmUgZW52aXJvbm1lbnQKLQl1bnNldCBDQyBDWFggQ1BQIExE IEFTIEFSIFJBTkxJQiBPQkpEVU1QIFJFQURFTEYgTk0KLQl1bnNldCBDRkxBR1MgQ1hYRkxBR1Mg Q1BQRkxBR1MgTERGTEFHUwotCWV4cG9ydCBDRkxBR1M9Ii1PcyIgQ1hYRkxBR1M9Ii1PcyIKLQot CWZvciBmIGluIGluY2x1ZGUgbGliIGxpYmV4ZWMgYmluIHNiaW47IGRvCi0JCWlmIFsgISAtZCAk e19zeXNyb290fS91c3IvJHtmfSBdOyB0aGVuCi0JCQlta2RpciAtcCAke19zeXNyb290fS91c3Iv JHtmfQotCQlmaQotCQlpZiBbICEgLWggJHtfc3lzcm9vdH0vJHtmfSBdOyB0aGVuCi0JCQlsbiAt c2ZyICR7X3N5c3Jvb3R9L3Vzci8ke2Z9ICR7X3N5c3Jvb3R9LyR7Zn0KLQkJZmkKLQlkb25lCi0J bG4gLXNmIGxpYiAke19zeXNyb290fS91c3IvbGliMzIKLQlsbiAtc2YgdXNyL2xpYiAke19zeXNy b290fS9saWIzMgotCi0JX2JpbnV0aWxzX2J1aWxkCi0JX2djY19ib290c3RyYXAKLQlfbGludXhf aGVhZGVycwotCV9nbGliY19oZWFkZXJzCi0JX2dsaWJjX2J1aWxkCi0JX2djY19idWlsZAotfQot Ci1kb19pbnN0YWxsKCkgewotCWZvciBmIGluIGluY2x1ZGUgbGliIGxpYmV4ZWMgYmluIHNiaW47 IGRvCi0JCWlmIFsgISAtZCAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci8ke2Z9IF07IHRoZW4K LQkJCW1rZGlyIC1wICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyLyR7Zn0KLQkJZmkKLQkJaWYg WyAhIC1oICR7REVTVERJUn0vJHtfc3lzcm9vdH0vJHtmfSBdOyB0aGVuCi0JCQlsbiAtc2ZyICR7 REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyLyR7Zn0gXAotCQkJCSR7REVTVERJUn0vJHtfc3lzcm9v dH0vJHtmfQotCQlmaQotCWRvbmUKLQlsbiAtc2YgbGliICR7REVTVERJUn0vJHtfc3lzcm9vdH0v dXNyL2xpYjMyCi0JbG4gLXNmIHVzci9saWIgJHtERVNURElSfS8ke19zeXNyb290fS9saWIzMgot Ci0JIyBpbnN0YWxsIGNyb3NzIGJpbnV0aWxzCi0JY2QgJHt3cmtzcmN9L2JpbnV0aWxzLWJ1aWxk Ci0JbWFrZSBERVNURElSPSR7REVTVERJUn0gaW5zdGFsbAotCi0JIyBpbnN0YWxsIGNyb3NzIGdj YwotCWNkICR7d3Jrc3JjfS9nY2MtYnVpbGQKLQltYWtlIERFU1RESVI9JHtERVNURElSfSBpbnN0 YWxsCi0KLQkjIG1vdmUgbGliY2MxLnNvKiB0byB0aGUgc3lzcm9vdAotCW12ICR7REVTVERJUn0v dXNyL2xpYi9saWJjYzEuc28qICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL2xpYgotCi0JIyBp bnN0YWxsIGxpbnV4IEFQSSBoZWFkZXJzIGZvciB4ODYuCi0JY2QgJHt3cmtzcmN9L2xpbnV4LSR7 X2xpbnV4X3ZlcnNpb259Ci0JbWFrZSBBUkNIPXg4NiBJTlNUQUxMX0hEUl9QQVRIPSR7REVTVERJ Un0vJHtfc3lzcm9vdH0vdXNyIGhlYWRlcnNfaW5zdGFsbAotCi0Jcm0gLWYgJChmaW5kICR7REVT VERJUn0vJHtfc3lzcm9vdH0vdXNyL2luY2x1ZGUgLW5hbWUgLmluc3RhbGwgLW9yIC1uYW1lIC4u aW5zdGFsbC5jbWQpCi0Jcm0gLXJmICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL2luY2x1ZGUv ZHJtCi0KLQkjIGluc3RhbGwgZ2xpYmMgZm9yIHRhcmdldAotCWNkICR7d3Jrc3JjfS9nbGliYy1i dWlsZAotCW1ha2UgaW5zdGFsbF9yb290PSR7REVTVERJUn0vJHtfc3lzcm9vdH0gaW5zdGFsbCBp bnN0YWxsLWhlYWRlcnMKLQotCSMgc3ltbGlua3MgZm9yIGduYXJsIGFuZCBnbmF0IHNoYXJlZCBs aWJyYXJpZXMKLQlfbWFqb3J2ZXI9JHtfZ2NjX3ZlcnNpb24lLiouKn0KLQlfYWRhbGliPXVzci9s aWIvZ2NjLyR7X3RyaXBsZXR9LyR7X2djY192ZXJzaW9ufS9hZGFsaWIKLQltdiAtdiAke0RFU1RE SVJ9LyR7X2FkYWxpYn0vbGliZ25hcmwtJHtfbWFqb3J2ZXJ9LnNvICR7REVTVERJUn0vJHtfc3lz cm9vdH0vdXNyL2xpYgotCW12IC12ICR7REVTVERJUn0vJHtfYWRhbGlifS9saWJnbmF0LSR7X21h am9ydmVyfS5zbyAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci9saWIKLQlsbiAtc3ZmIGxpYmdu YXJsLSR7X21ham9ydmVyfS5zbyBsaWJnbmFybC5zbwotCWxuIC1zdmYgbGliZ25hdC0ke19tYWpv cnZlcn0uc28gbGliZ25hdC5zbwotCXJtIC12ZiAke0RFU1RESVJ9LyR7X2FkYWxpYn0vbGliZ25h e3JsLHR9LnNvCi0KLQkjIFdlIG5lZWQgdG8gYnVpbGQgbGliYXRvbWljIGluIHRhcmdldCBnY2Mg YXMgZ2NjZ28gbmVlZHMgaXQgdG8KLQkjIGJ1aWxkLi4uIGJ1dCBpdCdzIG5vdCBuZWVkZWQgYXQg cnVudGltZSwgc28gcmVtb3ZlIGl0IGZyb20gdGhlCi0JIyBkZXN0ZGlyIHNvIGl0IGRvZXNuJ3Qg Y29uZmxpY3Qgd2l0aCB0aGUgbGliYXRvbWljIHBhY2thZ2UKLQlybSAtZiAke0RFU1RESVJ9LyR7 X3N5c3Jvb3R9L3Vzci9saWIvbGliYXRvbWljLioKLQotCSMgUmVtb3ZlIHVubmVjZXNzYXJ5IHN0 dWZmCi0Jcm0gLWYgJHtERVNURElSfS91c3IvbGliKi9saWJpYmVydHkuYQotCXJtIC1yZiAke0RF U1RESVJ9L3Vzci9zaGFyZQotCXJtIC1yZiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3tzYmluLGxp YixldGMsdmFyfQotCXJtIC1yZiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci97c2JpbixzaGFy ZSxsaWJleGVjfQotCXJtIC1mICR7REVTVERJUn0vJHtfc3lzcm9vdH0vbGliZXhlYwotfQotCiBj cm9zcy1pNjg2LXBjLWxpbnV4LWdudS1saWJjX3BhY2thZ2UoKSB7CiAJc2hvcnRfZGVzYys9IiAt IGdsaWJjIGZpbGVzIgogCW5vc3RyaXA9eWVzCiAJbm92ZXJpZnlyZGVwcz15ZXMKIAlub3NobGli cHJvdmlkZXM9eWVzCisKIAlwa2dfaW5zdGFsbCgpIHsKLQkJdm1vdmUgJHtfc3lzcm9vdH0KKwkJ dm1vdmUgdXNyLyR7Y3Jvc3NfdHJpcGxldH0KIAl9CiB9CgpGcm9tIDZiMjI3NWM0NmQ1YzgzY2Jj MzI4OThhZmY2ZGE0NWM5MzFhNWI2MGIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IHE2 NiA8ZGFuaWVsQG9jdGFmb3JnZS5vcmc+CkRhdGU6IEZyaSwgMjUgRGVjIDIwMjAgMjI6NTc6NDEg KzAxMDAKU3ViamVjdDogW1BBVENIIDEyLzI2XSBjcm9zcy1pNjg2LWxpbnV4LW11c2w6IHJld29y ayB3aXRoIHZvaWQtY3Jvc3MKCi0tLQogc3JjcGtncy9jcm9zcy1pNjg2LWxpbnV4LW11c2wvdGVt cGxhdGUgfCAzMTcgKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDI1 IGluc2VydGlvbnMoKyksIDI5MiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Ny b3NzLWk2ODYtbGludXgtbXVzbC90ZW1wbGF0ZSBiL3NyY3BrZ3MvY3Jvc3MtaTY4Ni1saW51eC1t dXNsL3RlbXBsYXRlCmluZGV4IDhkMDllNGM3ZTA1Li4zODQ5NTNmNmM0OSAxMDA2NDQKLS0tIGEv c3JjcGtncy9jcm9zcy1pNjg2LWxpbnV4LW11c2wvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9jcm9z cy1pNjg2LWxpbnV4LW11c2wvdGVtcGxhdGUKQEAgLTEsMTkgKzEsMTggQEAKLSMgVGVtcGxhdGUg YnVpbGQgZmlsZSBmb3IgJ2Nyb3NzLWk2ODYtbGludXgtbXVzbCcKLSMKKyMgVGVtcGxhdGUgZmls ZSBmb3IgJ2Nyb3NzLWk2ODYtbGludXgtbXVzbCcKK190cmlwbGV0PWk2ODYtbGludXgtbXVzbAog X2JpbnV0aWxzX3ZlcnNpb249Mi4zMgogX2djY192ZXJzaW9uPTkuMy4wCiBfbXVzbF92ZXJzaW9u PTEuMS4yNAogX2xpbnV4X3ZlcnNpb249NC4xOQogX2xpYnVjb250ZXh0X3ZlcnNpb249MC45LjAK LQotX3RyaXBsZXQ9aTY4Ni1saW51eC1tdXNsCi1fc3lzcm9vdD0iL3Vzci8ke190cmlwbGV0fSIK LV9hcmNoZmxhZ3M9Ii1tYXJjaD1pNjg2IgotCiBwa2duYW1lPWNyb3NzLSR7X3RyaXBsZXR9CiB2 ZXJzaW9uPTAuMzMKIHJldmlzaW9uPTMKLXNob3J0X2Rlc2M9IkNyb3NzIHRvb2xjaGFpbiBmb3Ig aTY4NiB0YXJnZXQgKG11c2wpIgorYnVpbGRfc3R5bGU9dm9pZC1jcm9zcworaG9zdG1ha2VkZXBl bmRzPSJ0YXIgZ2NjLW9iamMgZ2NjLWdvIGZsZXggcGVybCBweXRob24zIgorbWFrZWRlcGVuZHM9 ImlzbDE1LWRldmVsIGxpYm1wYy1kZXZlbCB6bGliLWRldmVsIGdtcC1kZXZlbCBtcGZyLWRldmVs IgorZGVwZW5kcz0iJHtwa2duYW1lfS1saWJjLSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCitzaG9y dF9kZXNjPSJWb2lkIGNyb3NzIHRvb2xjaGFpbiBmb3IgJHtfdHJpcGxldH0iCiBtYWludGFpbmVy PSJKw7xyZ2VuIEJ1Y2htw7xsbGVyIDxwdWxsbW9sbEB0LW9ubGluZS5kZT4iCiBob21lcGFnZT0i aHR0cHM6Ly93d3cudm9pZGxpbnV4Lm9yZy8iCiBsaWNlbnNlPSJHUEwtMi4wLW9yLWxhdGVyLCBH UEwtMy4wLW9yLWxhdGVyLCBNSVQiCkBAIC0yOSwyOTQgKzI4LDI3IEBAIGNoZWNrc3VtPSIwYWI2 YzU1ZGQ4NmE5MmVkNTYxOTcyYmExNWI5YjcwYThiOWY3NTU1N2Y4OTY0NDZjODJlOGIzNmU0NzNl ZTA0CiAgMGM2OGY1NjU1NTI4YWVkNGY5OWRhZTcxYTViMjU5ZWRjOTMyMzlmYTg5OWUyZGY3OWMw NTUyNzVjMjE3NDlhMQogIDBkNTNhNDE1YTMwN2VmMTc1MTUzYmJlNjBhNTcyYzk0MGE5MjJjYjcz NmNlMTM1MzBiNjY2ZTdlYzI3OTVkNjgiCiAKLWxpYjMyZGlzYWJsZWQ9eWVzCi1ub2Nyb3NzPXll cwotbm9waWU9eWVzCi1ub2RlYnVnPXllcwotY3JlYXRlX3dya3NyYz15ZXMKLWhvc3RtYWtlZGVw ZW5kcz0idGFyIGdjYy1vYmpjIGdjYy1nbyBmbGV4IHBlcmwgcHl0aG9uMyIKLW1ha2VkZXBlbmRz PSJ6bGliLWRldmVsIGdtcC1kZXZlbCBtcGZyLWRldmVsIGxpYm1wYy1kZXZlbCBpc2wxNS1kZXZl bCIKLW5vc3RyaXBfZmlsZXM9ImxpYmNhZl9zaW5nbGUuYSBsaWJnY2MuYSBsaWJnY292LmEgbGli Z2NjX2VoLmEKLSBsaWJnbmFybF9waWMuYSBsaWJnbmFybC5hIGxpYmduYXRfcGljLmEgbGliZ25h dC5hIGxpYmdtZW0uYSIKLWRlcGVuZHM9IiR7cGtnbmFtZX0tbGliYy0ke3ZlcnNpb259XyR7cmV2 aXNpb259IgorY3Jvc3NfdHJpcGxldD0ke190cmlwbGV0fQorY3Jvc3Nfd29yZHNpemU9MzIKK2Ny b3NzX2xpYmM9bXVzbAorY3Jvc3NfYmludXRpbHNfdmVyc2lvbj0ke19iaW51dGlsc192ZXJzaW9u fQorY3Jvc3NfZ2NjX3ZlcnNpb249JHtfZ2NjX3ZlcnNpb259Citjcm9zc19tdXNsX3ZlcnNpb249 JHtfbXVzbF92ZXJzaW9ufQorY3Jvc3NfbGludXhfdmVyc2lvbj0ke19saW51eF92ZXJzaW9ufQor Y3Jvc3NfbGlidWNvbnRleHRfdmVyc2lvbj0ke19saWJ1Y29udGV4dF92ZXJzaW9ufQorY3Jvc3Nf bGlidWNvbnRleHRfYXJjaD14ODYKK2Nyb3NzX2xpbnV4X2FyY2g9eDg2CisjIGV4cGxpY2l0bHkg ZW5hYmxlIGZvciBmaW5hbCBnY2MsIGFzIGdmb3J0cmFuIGRvZXMgbm90IGJ1aWxkIHdpdGhvdXQg b24geDg2Citjcm9zc19nY2NfY29uZmlndXJlX2FyZ3M9Ii0tZW5hYmxlLWxpYnF1YWRtYXRoIgor Y3Jvc3NfbXVzbF9jZmxhZ3M9Ii1PMiAtbWFyY2g9aTY4NiAtbXR1bmU9Z2VuZXJpYyIKIAogaWYg WyAiJFhCUFNfVEFSR0VUX01BQ0hJTkUiID0gImk2ODYtbXVzbCIgXTsgdGhlbgogCWJyb2tlbj0i Q2FuJ3QgYnVpbGQgY3Jvc3N0b29sY2hhaW4gdG8gaXRzZWxmIgogZmkKIAotX2FwcGx5X3BhdGNo KCkgewotCWxvY2FsIGFyZ3M9IiQxIiBwbmFtZT0iJChiYXNlbmFtZSAkMikiCi0KLQlpZiBbICEg LWYgIi4ke3BuYW1lfV9kb25lIiBdOyB0aGVuCi0JCXBhdGNoIC1OICRhcmdzIC1pICQyCi0JCXRv dWNoIC4ke3BuYW1lfV9kb25lCi0JZmkKLX0KLQotX2JpbnV0aWxzX2J1aWxkKCkgewotCWxvY2Fs IF9hcmdzCi0KLQlbIC1mICR7d3Jrc3JjfS8uYmludXRpbHNfYnVpbGRfZG9uZSBdICYmIHJldHVy biAwCi0KLQljZCAke3dya3NyY30KLQltc2dfbm9ybWFsICJCdWlsZGluZyBjcm9zcyBiaW51dGls cyBib290c3RyYXBcbiIKLQotCVsgISAtZCBiaW51dGlscy1idWlsZCBdICYmIG1rZGlyIGJpbnV0 aWxzLWJ1aWxkCi0JY2QgYmludXRpbHMtYnVpbGQKLQlfYXJncz0iLS1wcmVmaXg9L3VzciIKLQlf YXJncys9IiAtLXRhcmdldD0ke190cmlwbGV0fSIKLQlfYXJncys9IiAtLXdpdGgtc3lzcm9vdD0k e19zeXNyb290fSIKLQlfYXJncys9IiAtLWRpc2FibGUtbmxzIgotCV9hcmdzKz0iIC0tZGlzYWJs ZS1tdWx0aWxpYiIKLQlfYXJncys9IiAtLWRpc2FibGUtd2Vycm9yIgotCV9hcmdzKz0iIC0tZGlz YWJsZS1zaGFyZWQiCi0JX2FyZ3MrPSIgLS13aXRoLXN5c3RlbS16bGliIgotCV9hcmdzKz0iICR7 X2ZwdWZsYWdzfSIKLQotCS4uL2JpbnV0aWxzLSR7X2JpbnV0aWxzX3ZlcnNpb259L2NvbmZpZ3Vy ZSAke19hcmdzfQotCi0JbWFrZSBjb25maWd1cmUtaG9zdAotCW1ha2UgJHttYWtlam9ic30KLQlt YWtlIGluc3RhbGwKLQotCXRvdWNoICR7d3Jrc3JjfS8uYmludXRpbHNfYnVpbGRfZG9uZQotfQot Ci1fZ2NjX2Jvb3RzdHJhcCgpIHsKLQlsb2NhbCBfYXJncwotCi0JWyAtZiAke3dya3NyY30vLmdj Y19ib290c3RyYXBfZG9uZSBdICYmIHJldHVybiAwCi0KLQljZCAke3dya3NyY30vZ2NjLSR7X2dj Y192ZXJzaW9ufQotCWZvciBmIGluICR7WEJQU19TUkNQS0dESVJ9L2djYy9wYXRjaGVzLyoucGF0 Y2g7IGRvCi0JCV9hcHBseV9wYXRjaCAtcDAgIiRmIgotCWRvbmUKLQlmb3IgZiBpbiAke1hCUFNf U1JDUEtHRElSfS9nY2MvZmlsZXMvKi1tdXNsLnBhdGNoOyBkbwotCQlfYXBwbHlfcGF0Y2ggLXAx ICIkZiIKLQlkb25lCi0KLQltc2dfbm9ybWFsICJCdWlsZGluZyBjcm9zcyBnY2MgYm9vdHN0cmFw XG4iCi0KLQlbICEgLWQgLi4vZ2NjLWJvb3RzdHJhcCBdICYmIG1rZGlyIC4uL2djYy1ib290c3Ry YXAKLQljZCAuLi9nY2MtYm9vdHN0cmFwCi0KLQlfYXJncz0iLS10YXJnZXQ9JHtfdHJpcGxldH0i Ci0JX2FyZ3MrPSIgLS13aXRoLXN5c3Jvb3Q9JHtfc3lzcm9vdH0iCi0JX2FyZ3MrPSIgLS1wcmVm aXg9L3VzciIKLQlfYXJncys9IiAtLWVuYWJsZS1sYW5ndWFnZXM9YyIKLQlfYXJncys9IiAtLXdp dGgtbmV3bGliIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1ubHMiCi0JX2FyZ3MrPSIgLS1kaXNhYmxl LWxpYnNzcCIKLQlfYXJncys9IiAtLWRpc2FibGUtbGlicXVhZG1hdGgiCi0JX2FyZ3MrPSIgLS1k aXNhYmxlLXRocmVhZHMiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWRlY2ltYWwtZmxvYXQiCi0JX2Fy Z3MrPSIgLS1kaXNhYmxlLXNoYXJlZCIKLQlfYXJncys9IiAtLWRpc2FibGUtbGlibXB4IgotCV9h cmdzKz0iIC0tZGlzYWJsZS1saWJtdWRmbGFwIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJnb21w IgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJhdG9taWMiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLXN5 bXZlcnMiCi0JX2FyZ3MrPSIgbGliYXRfY3ZfaGF2ZV9pZnVuYz1ubyIKLQlfYXJncys9IiAke19m cHVmbGFnc30iCi0JQ0ZMQUdTPSItTzAgLWcwIiBDWFhGTEFHUz0iLU8wIC1nMCIgXAotCQkuLi9n Y2MtJHtfZ2NjX3ZlcnNpb259L2NvbmZpZ3VyZSAke19hcmdzfQotCi0JbWFrZSAke21ha2Vqb2Jz fQotCW1ha2UgaW5zdGFsbAotCi0JdG91Y2ggJHt3cmtzcmN9Ly5nY2NfYm9vdHN0cmFwX2RvbmUK LX0KLQotX2xpbnV4X2hlYWRlcnMoKSB7Ci0JWyAtZiAke3dya3NyY30vLmxpbnV4X2J1aWxkX2Rv bmUgXSAmJiByZXR1cm4gMAotCi0JY2QgJHt3cmtzcmN9Ci0JbXNnX25vcm1hbCAiQnVpbGRpbmcg TGludXggQVBJIGhlYWRlcnNcbiIKLQotCWNkIGxpbnV4LSR7X2xpbnV4X3ZlcnNpb259Ci0KLQlm b3IgZiBpbiAke1hCUFNfU1JDUEtHRElSfS9rZXJuZWwtbGliYy1oZWFkZXJzL3BhdGNoZXMvKi5w YXRjaDsgZG8KLQkJX2FwcGx5X3BhdGNoIC1wMCAkZgotCWRvbmUKLQotCW1ha2UgQVJDSD14ODYg aGVhZGVyc19jaGVjawotCW1ha2UgQVJDSD14ODYgSU5TVEFMTF9IRFJfUEFUSD0ke19zeXNyb290 fS91c3IgaGVhZGVyc19pbnN0YWxsCi0KLQl0b3VjaCAke3dya3NyY30vLmxpbnV4X2J1aWxkX2Rv bmUKLX0KLQotX211c2xfYnVpbGQoKSB7Ci0JWyAtZiAke3dya3NyY30vLm11c2xfYnVpbGRfZG9u ZSBdICYmIHJldHVybiAwCi0KLQljZCAke3dya3NyY30vbXVzbC0ke19tdXNsX3ZlcnNpb259Ci0J bXNnX25vcm1hbCAiQnVpbGRpbmcgY3Jvc3MgbXVzbCBsaWJjXG4iCi0KLQkjIEFwcGx5IG11c2wg cGF0Y2hlcyBpZiB0aGVyZSBhcmUgYW55Ci0JaWYgWyAtZCAiJHtYQlBTX1NSQ1BLR0RJUn0vbXVz bC9wYXRjaGVzIiBdOyB0aGVuCi0JCWZvciBmIGluICR7WEJQU19TUkNQS0dESVJ9L211c2wvcGF0 Y2hlcy8qLnBhdGNoOyBkbwotCQkJX2FwcGx5X3BhdGNoIC1wMCAiJGYiCi0JCWRvbmUKLQlmaQot Ci0JQ0M9IiR7X3RyaXBsZXR9LWdjYyIgQ0ZMQUdTPSItT3MgLXBpcGUgLWZQSUMgJHtfYXJjaGZs YWdzfSIgXAotCQkuL2NvbmZpZ3VyZSAtLXByZWZpeD0vdXNyCi0KLQltYWtlICR7bWFrZWpvYnN9 Ci0JbWFrZSBERVNURElSPSR7X3N5c3Jvb3R9IGluc3RhbGwKLQotCXRvdWNoICR7d3Jrc3JjfS8u bXVzbF9idWlsZF9kb25lCi19Ci0KLV9saWJ1Y29udGV4dF9idWlsZCgpIHsKLQlbIC1mICR7d3Jr c3JjfS8ubGlidWNvbnRleHRfYnVpbGRfZG9uZSBdICYmIHJldHVybiAwCi0KLQljZCAke3dya3Ny Y30vbGlidWNvbnRleHQtJHtfbGlidWNvbnRleHRfdmVyc2lvbn0KLQltc2dfbm9ybWFsICJCdWls ZGluZyBjcm9zcyBsaWJ1Y29udGV4dFxuIgotCi0JdnNlZCAtaSBhcmNoL3g4Ni9zdGFydGNvbnRl eHQuUyAtZSBcCi0JICJzO19faTY4Ni5nZXRfcGNfdGh1bmsuYng7aTY4Nl9nZXRfcGNfdGh1bmtf Yng7ZyIKLQotCSMgaXQncyBvayBpZiB3ZSdyZSBzdGF0aWMgb25seSBoZXJlCi0JQ0M9IiR7X3Ry aXBsZXR9LWdjYyIgQVI9IiR7X3RyaXBsZXR9LWFyIiBBUz0iJHtfdHJpcGxldH0tYXMiIFwKLQkJ Q0ZMQUdTPSItT3MgLXBpcGUgJHtfYXJjaGZsYWdzfSIgXAotCQltYWtlIEFSQ0g9eDg2IGxpYnVj b250ZXh0LmEKLQotCWNwIGxpYnVjb250ZXh0LmEgJHtfc3lzcm9vdH0vdXNyL2xpYgotCi0JdG91 Y2ggJHt3cmtzcmN9Ly5saWJ1Y29udGV4dF9idWlsZF9kb25lCi19Ci0KLV9nY2NfYnVpbGQoKSB7 Ci0JbG9jYWwgX2FyZ3MKLQlbIC1mICR7d3Jrc3JjfS8uZ2NjX2J1aWxkX2RvbmUgXSAmJiByZXR1 cm4gMAotCi0JY2QgJHt3cmtzcmN9Ci0JbXNnX25vcm1hbCAiQnVpbGRpbmcgY3Jvc3MgZ2NjIGZp bmFsXG4iCi0KLQlbICEgLWQgZ2NjLWJ1aWxkIF0gJiYgbWtkaXIgZ2NjLWJ1aWxkCi0JY2QgZ2Nj LWJ1aWxkCi0KLQlfYXJncz0iLS10YXJnZXQ9JHtfdHJpcGxldH0iCi0JX2FyZ3MrPSIgLS13aXRo LXN5c3Jvb3Q9JHtfc3lzcm9vdH0iCi0JX2FyZ3MrPSIgLS1wcmVmaXg9L3VzciIKLQlfYXJncys9 IiAtLWxpYmV4ZWNkaXI9L3Vzci9saWIiCi0JX2FyZ3MrPSIgLS1lbmFibGUtbGFuZ3VhZ2VzPWMs YWRhLGMrKyxvYmpjLG9iai1jKyssZ28sZm9ydHJhbixsdG8iCi0JX2FyZ3MrPSIgLS1lbmFibGUt bHRvIgotCV9hcmdzKz0iIC0tZW5hYmxlLWRlZmF1bHQtcGllIgotCV9hcmdzKz0iIC0tZW5hYmxl LWRlZmF1bHQtc3NwIgotCV9hcmdzKz0iIC0tZW5hYmxlLWxpYnNzcCIKLQlfYXJncys9IiAtLWRp c2FibGUtbGlic2FuaXRpemVyIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1tdWx0aWxpYiIKLQlfYXJn cys9IiAtLWRpc2FibGUtbGlibXB4IgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJtdWRmbGFwIgot CV9hcmdzKz0iIC0tZW5hYmxlLWxpYmFkYSIKLQlfYXJncys9IiAtLWVuYWJsZS1saWJxdWFkbWF0 aCIKLQlfYXJncys9IiAtLWVuYWJsZS1zaGFyZWQiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLXN5bXZl cnMiCi0JX2FyZ3MrPSIgbGliYXRfY3ZfaGF2ZV9pZnVuYz1ubyIKLQlfYXJncys9IiAke19mcHVm bGFnc30iCi0KLQkuLi9nY2MtJHtfZ2NjX3ZlcnNpb259L2NvbmZpZ3VyZSAke19hcmdzfQotCi0J bWFrZSAke21ha2Vqb2JzfQotCi0JdG91Y2ggJHt3cmtzcmN9Ly5nY2NfYnVpbGRfZG9uZQotfQot Ci1kb19idWlsZCgpIHsKLQkjIEVuc3VyZSB3ZSB1c2Ugc2FuZSBlbnZpcm9ubWVudAotCXVuc2V0 IENDIENYWCBDUFAgTEQgQVMgQVIgUkFOTElCIE9CSkRVTVAgUkVBREVMRiBOTQotCXVuc2V0IENG TEFHUyBDWFhGTEFHUyBDUFBGTEFHUyBMREZMQUdTCi0JZXhwb3J0IENGTEFHUz0iLU9zIC1waXBl IiBDWFhGTEFHUz0iLU9zIC1waXBlIgotCi0JZm9yIGYgaW4gaW5jbHVkZSBsaWIgbGliZXhlYyBi aW4gc2JpbjsgZG8KLQkJaWYgWyAhIC1kICR7X3N5c3Jvb3R9L3Vzci8ke2Z9IF07IHRoZW4KLQkJ CW1rZGlyIC1wICR7X3N5c3Jvb3R9L3Vzci8ke2Z9Ci0JCWZpCi0JCWlmIFsgISAtaCAke19zeXNy b290fS8ke2Z9IF07IHRoZW4KLQkJCWxuIC1zZnIgJHtfc3lzcm9vdH0vdXNyLyR7Zn0gJHtfc3lz cm9vdH0vJHtmfQotCQlmaQotCWRvbmUKLQlsbiAtc2YgbGliICR7X3N5c3Jvb3R9L3Vzci9saWIz MgotCWxuIC1zZiB1c3IvbGliICR7X3N5c3Jvb3R9L2xpYjMyCi0KLQlfYmludXRpbHNfYnVpbGQK LQlfZ2NjX2Jvb3RzdHJhcAotCV9saW51eF9oZWFkZXJzCi0JX211c2xfYnVpbGQKLQlfbGlidWNv bnRleHRfYnVpbGQKLQlfZ2NjX2J1aWxkCi19Ci0KLWRvX2luc3RhbGwoKSB7Ci0JZm9yIGYgaW4g aW5jbHVkZSBsaWIgbGliZXhlYyBiaW4gc2JpbjsgZG8KLQkJaWYgWyAhIC1kICR7REVTVERJUn0v JHtfc3lzcm9vdH0vdXNyLyR7Zn0gXTsgdGhlbgotCQkJbWtkaXIgLXAgJHtERVNURElSfS8ke19z eXNyb290fS91c3IvJHtmfQotCQlmaQotCQlpZiBbICEgLWggJHtERVNURElSfS8ke19zeXNyb290 fS8ke2Z9IF07IHRoZW4KLQkJCWxuIC1zZnIgJHtERVNURElSfS8ke19zeXNyb290fS91c3IvJHtm fSBcCi0JCQkJJHtERVNURElSfS8ke19zeXNyb290fS8ke2Z9Ci0JCWZpCi0JZG9uZQotCWxuIC1z ZiBsaWIgJHtERVNURElSfS8ke19zeXNyb290fS91c3IvbGliMzIKLQlsbiAtc2YgdXNyL2xpYiAk e0RFU1RESVJ9LyR7X3N5c3Jvb3R9L2xpYjMyCi0KLQkjIGluc3RhbGwgbGludXggQVBJIGhlYWRl cnMgZm9yIHg4NgotCWNkICR7d3Jrc3JjfS9saW51eC0ke19saW51eF92ZXJzaW9ufQotCW1ha2Ug QVJDSD14ODYgSU5TVEFMTF9IRFJfUEFUSD0ke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3VzciBoZWFk ZXJzX2luc3RhbGwKLQlybSAtZiAkKGZpbmQgJHtERVNURElSfS8ke19zeXNyb290fS91c3IvaW5j bHVkZSAtbmFtZSAuaW5zdGFsbCAtb3IgLW5hbWUgLi5pbnN0YWxsLmNtZCkKLQlybSAtcmYgJHtE RVNURElSfS8ke19zeXNyb290fS91c3IvaW5jbHVkZS9kcm0KLQotCSMgaW5zdGFsbCBjcm9zcyBi aW51dGlscwotCWNkICR7d3Jrc3JjfS9iaW51dGlscy1idWlsZAotCW1ha2UgREVTVERJUj0ke0RF U1RESVJ9IGluc3RhbGwKLQotCSMgaW5zdGFsbCBjcm9zcyBnY2MKLQljZCAke3dya3NyY30vZ2Nj LWJ1aWxkCi0JbWFrZSBERVNURElSPSR7REVTVERJUn0gaW5zdGFsbAotCi0JIyBtb3ZlIGxpYmNj MS5zbyogdG8gdGhlIHN5c3Jvb3QKLQltdiAke0RFU1RESVJ9L3Vzci9saWIvbGliY2MxLnNvKiAk e0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci9saWIKLQotCSMgaW5zdGFsbCBtdXNsIGxpYmMgZm9y IHRhcmdldAotCWNkICR7d3Jrc3JjfS9tdXNsLSR7X211c2xfdmVyc2lvbn0KLQltYWtlIERFU1RE SVI9JHtERVNURElSfS8ke19zeXNyb290fSBpbnN0YWxsCi0KLQkjIFJlbW92ZSB1c2VsZXNzIGhl YWRlcnMuCi0Jcm0gLXJmICR7REVTVERJUn0vdXNyL2xpYi9nY2MvJHtfdHJpcGxldH0vKi9pbmNs dWRlLWZpeGVkLwotCi0JIyBNYWtlIGxkLW11c2wtaTM4Ni5zby4xIHN5bWxpbmsgcmVsYXRpdmUg dG8gY3dkLgotCWNkICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL2xpYgotCWxuIC1zZiBsaWJj LnNvIGxkLW11c2wtaTM4Ni5zby4xCi0KLQkjIE1vdmUgZmlsZXMgdG8gL3Vzci9saWIgKGxpYjY0 KS4KLQlpZiBbIC1kICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL2xpYjY0IF07IHRoZW4KLQkJ bXYgJHtERVNURElSfS8ke19zeXNyb290fS91c3IvbGliNjQvKiAke0RFU1RESVJ9LyR7X3N5c3Jv b3R9L3Vzci9saWIvCi0JCXJtZGlyICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL2xpYjY0Ci0J ZmkKLQotCSMgc3ltbGlua3MgZm9yIGduYXJsIGFuZCBnbmF0IHNoYXJlZCBsaWJyYXJpZXMKLQlf bWFqb3J2ZXI9JHtfZ2NjX3ZlcnNpb24lLiouKn0KLQlfYWRhbGliPXVzci9saWIvZ2NjLyR7X3Ry aXBsZXR9LyR7X2djY192ZXJzaW9ufS9hZGFsaWIKLQltdiAtdiAke0RFU1RESVJ9LyR7X2FkYWxp Yn0vbGliZ25hcmwtJHtfbWFqb3J2ZXJ9LnNvICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL2xp YgotCW12IC12ICR7REVTVERJUn0vJHtfYWRhbGlifS9saWJnbmF0LSR7X21ham9ydmVyfS5zbyAk e0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci9saWIKLQlsbiAtc3ZmIGxpYmduYXJsLSR7X21ham9y dmVyfS5zbyBsaWJnbmFybC5zbwotCWxuIC1zdmYgbGliZ25hdC0ke19tYWpvcnZlcn0uc28gbGli Z25hdC5zbwotCXJtIC12ZiAke0RFU1RESVJ9LyR7X2FkYWxpYn0vbGliZ25he3JsLHR9LnNvCi0K LQkjIFdlIG5lZWQgdG8gYnVpbGQgbGliYXRvbWljIGluIHRhcmdldCBnY2MgYXMgZ2NjZ28gbmVl ZHMgaXQgdG8KLQkjIGJ1aWxkLi4uIGJ1dCBpdCdzIG5vdCBuZWVkZWQgYXQgcnVudGltZSwgc28g cmVtb3ZlIGl0IGZyb20gdGhlCi0JIyBkZXN0ZGlyIHNvIGl0IGRvZXNuJ3QgY29uZmxpY3Qgd2l0 aCB0aGUgbGliYXRvbWljIHBhY2thZ2UKLQlybSAtZiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vz ci9saWIvbGliYXRvbWljLioKLQotCSMgUmVtb3ZlIHVubmVjZXNzYXJ5IHN0dWZmCi0Jcm0gLWYg JHtERVNURElSfS91c3IvbGliKi9saWJpYmVydHkuYQotCXJtIC1yZiAke0RFU1RESVJ9L3Vzci9z aGFyZQotCXJtIC1yZiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3tldGMsdmFyfQotCXJtIC1yZiAk e0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci97c2JpbixzaGFyZSxsaWJleGVjfQotCXJtIC1mICR7 REVTVERJUn0vJHtfc3lzcm9vdH0vbGliZXhlYwotCXJtIC1mICR7REVTVERJUn0vJHtfc3lzcm9v dH0vbGliLyoucHkKLQlybSAtZiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3tzYmluLGxpYn0KK3Bv c3RfcGF0Y2goKSB7CisJdnNlZCAtaSBsaWJ1Y29udGV4dC0ke19saWJ1Y29udGV4dF92ZXJzaW9u fS9hcmNoL3g4Ni9zdGFydGNvbnRleHQuUyBcCisJCS1lIFwgInM7X19pNjg2LmdldF9wY190aHVu ay5ieDtpNjg2X2dldF9wY190aHVua19ieDtnIgogfQogCiBjcm9zcy1pNjg2LWxpbnV4LW11c2wt bGliY19wYWNrYWdlKCkgewpAQCAtMzI0LDcgKzU2LDggQEAgY3Jvc3MtaTY4Ni1saW51eC1tdXNs LWxpYmNfcGFja2FnZSgpIHsKIAlub3N0cmlwPXllcwogCW5vdmVyaWZ5cmRlcHM9eWVzCiAJbm9z aGxpYnByb3ZpZGVzPXllcworCiAJcGtnX2luc3RhbGwoKSB7Ci0JCXZtb3ZlICR7X3N5c3Jvb3R9 CisJCXZtb3ZlIHVzci8ke2Nyb3NzX3RyaXBsZXR9CiAJfQogfQoKRnJvbSA0Yjc3OTIyMjhhYmI1 NWFhNzNmZWU2ZDc1NWE0NjY5MzM2OTYzZTEwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9t OiBxNjYgPGRhbmllbEBvY3RhZm9yZ2Uub3JnPgpEYXRlOiBTYXQsIDI2IERlYyAyMDIwIDAwOjA5 OjU3ICswMTAwClN1YmplY3Q6IFtQQVRDSCAxMy8yNl0gY3Jvc3MtbWlwcy1saW51eC1tdXNsOiBy ZWRvIHdpdGggdm9pZC1jcm9zcwoKLS0tCiBzcmNwa2dzL2Nyb3NzLW1pcHMtbGludXgtbXVzbC90 ZW1wbGF0ZSB8IDI5MSArKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwg MjMgaW5zZXJ0aW9ucygrKSwgMjY4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv Y3Jvc3MtbWlwcy1saW51eC1tdXNsL3RlbXBsYXRlIGIvc3JjcGtncy9jcm9zcy1taXBzLWxpbnV4 LW11c2wvdGVtcGxhdGUKaW5kZXggMTlmNjAwYzllNWEuLjlkMjNkZTA3YWYxIDEwMDY0NAotLS0g YS9zcmNwa2dzL2Nyb3NzLW1pcHMtbGludXgtbXVzbC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2Ny b3NzLW1pcHMtbGludXgtbXVzbC90ZW1wbGF0ZQpAQCAtMSwyOTYgKzEsNTEgQEAKLSMgVGVtcGxh dGUgYnVpbGQgZmlsZSBmb3IgJ2Nyb3NzLW1pcHMtbGludXgtbXVzbCcKLSMKKyMgVGVtcGxhdGUg ZmlsZSBmb3IgJ2Nyb3NzLW1pcHMtbGludXgtbXVzbCcKK190cmlwbGV0PW1pcHMtbGludXgtbXVz bAogX2JpbnV0aWxzX3ZlcnNpb249Mi4zMgogX2djY192ZXJzaW9uPTkuMy4wCiBfbXVzbF92ZXJz aW9uPTEuMS4yNAogX2xpbnV4X3ZlcnNpb249NC4xOQotCi1fdHJpcGxldD1taXBzLWxpbnV4LW11 c2wKLV9mcHVmbGFncz0iLS13aXRoLWZsb2F0PXNvZnQgLS13aXRob3V0LWZwIgotX2FyY2hmbGFn cz0iLW1hcmNoPW1pcHMzMnIyIC1tc29mdC1mbG9hdCIKLV9zeXNyb290PSIvdXNyLyR7X3RyaXBs ZXR9IgotCiBwa2duYW1lPWNyb3NzLSR7X3RyaXBsZXR9CiB2ZXJzaW9uPTAuMzMKIHJldmlzaW9u PTMKLXNob3J0X2Rlc2M9IkNyb3NzIHRvb2xjaGFpbiBmb3IgTUlQUzMycjIgQkUgc29mdGZsb2F0 IHRhcmdldCAobXVzbCkiCitidWlsZF9zdHlsZT12b2lkLWNyb3NzCitjb25maWd1cmVfYXJncz0i LS13aXRoLWFyY2g9bWlwczMycjIgLS13aXRoLWZsb2F0PXNvZnQKKyAtLXdpdGgtbGlua2VyLWhh c2gtc3R5bGU9c3lzdiIKK2hvc3RtYWtlZGVwZW5kcz0idGFyIGdjYy1vYmpjIGZsZXggcGVybCBw eXRob24zIgorbWFrZWRlcGVuZHM9ImlzbDE1LWRldmVsIGxpYm1wYy1kZXZlbCB6bGliLWRldmVs IGdtcC1kZXZlbCBtcGZyLWRldmVsIgorZGVwZW5kcz0iJHtwa2duYW1lfS1saWJjLSR7dmVyc2lv bn1fJHtyZXZpc2lvbn0iCitzaG9ydF9kZXNjPSJWb2lkIGNyb3NzIHRvb2xjaGFpbiBmb3IgJHtf dHJpcGxldH0iCiBtYWludGFpbmVyPSJPcnBoYW5lZCA8b3JwaGFuQHZvaWRsaW51eC5vcmc+Igog aG9tZXBhZ2U9Imh0dHBzOi8vd3d3LnZvaWRsaW51eC5vcmcvIgogbGljZW5zZT0iR1BMLTIuMC1v ci1sYXRlciwgR1BMLTMuMC1vci1sYXRlciwgTUlUIgogZGlzdGZpbGVzPSIKICAke0dOVV9TSVRF fS9iaW51dGlscy9iaW51dGlscy0ke19iaW51dGlsc192ZXJzaW9ufS50YXIueHoKICAke0dOVV9T SVRFfS9nY2MvZ2NjLSR7X2djY192ZXJzaW9ufS9nY2MtJHtfZ2NjX3ZlcnNpb259LnRhci54egot IGh0dHA6Ly93d3cubXVzbC1saWJjLm9yZy9yZWxlYXNlcy9tdXNsLSR7X211c2xfdmVyc2lvbn0u dGFyLmd6CisgaHR0cHM6Ly93d3cubXVzbC1saWJjLm9yZy9yZWxlYXNlcy9tdXNsLSR7X211c2xf dmVyc2lvbn0udGFyLmd6CiAgJHtLRVJORUxfU0lURX0va2VybmVsL3Y0LngvbGludXgtJHtfbGlu dXhfdmVyc2lvbn0udGFyLnh6IgogY2hlY2tzdW09IjBhYjZjNTVkZDg2YTkyZWQ1NjE5NzJiYTE1 YjliNzBhOGI5Zjc1NTU3Zjg5NjQ0NmM4MmU4YjM2ZTQ3M2VlMDQKICA3MWUxOTc4Njc2MTFmNjA1 NGFhMTExOWIxM2EwYzBhYmFjMTI4MzQ3NjVmZTJkODFmMzVhYzU3Zjg0Zjc0MmQxCiAgMTM3MGM5 YTgxMmIyY2YyYTdkOTI4MDI1MTBjY2EwMDU4Y2MzN2U2NmE3YmVkZDcwMDUxZjBhMzQwMTUwMjJh MwogIDBjNjhmNTY1NTUyOGFlZDRmOTlkYWU3MWE1YjI1OWVkYzkzMjM5ZmE4OTllMmRmNzljMDU1 Mjc1YzIxNzQ5YTEiCiAKLWxpYjMyZGlzYWJsZWQ9eWVzCi1ub2Nyb3NzPXllcwotbm9waWU9eWVz Ci1ub2RlYnVnPXllcwotY3JlYXRlX3dya3NyYz15ZXMKLQotaG9zdG1ha2VkZXBlbmRzPSJ0YXIg Z2NjLW9iamMgZmxleCBwZXJsIHB5dGhvbjMiCi1tYWtlZGVwZW5kcz0iemxpYi1kZXZlbCBnbXAt ZGV2ZWwgbXBmci1kZXZlbCBsaWJtcGMtZGV2ZWwgaXNsMTUtZGV2ZWwiCi1ub3N0cmlwX2ZpbGVz PSJsaWJjYWZfc2luZ2xlLmEgbGliZ2NjLmEgbGliZ2Nvdi5hIGxpYmdjY19laC5hCi0gbGliZ25h cmxfcGljLmEgbGliZ25hcmwuYSBsaWJnbmF0X3BpYy5hIGxpYmduYXQuYSBsaWJnbWVtLmEiCi1k ZXBlbmRzPSIke3BrZ25hbWV9LWxpYmMtJHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIKLQotX2FwcGx5 X3BhdGNoKCkgewotCWxvY2FsIGFyZ3M9IiQxIiBwbmFtZT0iJChiYXNlbmFtZSAkMikiCi0KLQlp ZiBbICEgLWYgIi4ke3BuYW1lfV9kb25lIiBdOyB0aGVuCi0JCXBhdGNoIC1OICRhcmdzIC1pICQy Ci0JCXRvdWNoIC4ke3BuYW1lfV9kb25lCi0JZmkKLX0KLQotX2JpbnV0aWxzX2J1aWxkKCkgewot CWxvY2FsIF9hcmdzCi0KLQlbIC1mICR7d3Jrc3JjfS8uYmludXRpbHNfYnVpbGRfZG9uZSBdICYm IHJldHVybiAwCi0KLQljZCAke3dya3NyY30KLQltc2dfbm9ybWFsICJCdWlsZGluZyBjcm9zcyBi aW51dGlscyBib290c3RyYXBcbiIKLQotCVsgISAtZCBiaW51dGlscy1idWlsZCBdICYmIG1rZGly IGJpbnV0aWxzLWJ1aWxkCi0JY2QgYmludXRpbHMtYnVpbGQKLQotCV9hcmdzPSItLXByZWZpeD0v dXNyIgotCV9hcmdzKz0iIC0tdGFyZ2V0PSR7X3RyaXBsZXR9IgotCV9hcmdzKz0iIC0td2l0aC1z eXNyb290PSR7X3N5c3Jvb3R9IgotCV9hcmdzKz0iIC0tZGlzYWJsZS1ubHMiCi0JX2FyZ3MrPSIg LS1kaXNhYmxlLW11bHRpbGliIgotCV9hcmdzKz0iIC0tZGlzYWJsZS13ZXJyb3IiCi0JX2FyZ3Mr PSIgLS1kaXNhYmxlLXNoYXJlZCIKLQlfYXJncys9IiAtLXdpdGgtc3lzdGVtLXpsaWIiCi0JX2Fy Z3MrPSIgJHtfZnB1ZmxhZ3N9IgotCi0JLi4vYmludXRpbHMtJHtfYmludXRpbHNfdmVyc2lvbn0v Y29uZmlndXJlICR7X2FyZ3N9Ci0KLQltYWtlIGNvbmZpZ3VyZS1ob3N0ICYmIG1ha2UgJHttYWtl am9ic30KLQltYWtlIGluc3RhbGwKLQotCXRvdWNoICR7d3Jrc3JjfS8uYmludXRpbHNfYnVpbGRf ZG9uZQotfQotCi1fZ2NjX2Jvb3RzdHJhcCgpIHsKLQlsb2NhbCBfYXJncwotCi0JWyAtZiAke3dy a3NyY30vLmdjY19ib290c3RyYXBfZG9uZSBdICYmIHJldHVybiAwCi0KLQljZCAke3dya3NyY30v Z2NjLSR7X2djY192ZXJzaW9ufQotCWZvciBmIGluICR7WEJQU19TUkNQS0dESVJ9L2djYy9wYXRj aGVzLyoucGF0Y2g7IGRvCi0JCV9hcHBseV9wYXRjaCAtcDAgIiRmIgotCWRvbmUKLQlmb3IgZiBp biAke1hCUFNfU1JDUEtHRElSfS9nY2MvZmlsZXMvKi1tdXNsLnBhdGNoOyBkbwotCQlfYXBwbHlf cGF0Y2ggLXAxICIkZiIKLQlkb25lCi0KLQltc2dfbm9ybWFsICJCdWlsZGluZyBjcm9zcyBnY2Mg Ym9vdHN0cmFwXG4iCi0KLQlbICEgLWQgLi4vZ2NjLWJvb3RzdHJhcCBdICYmIG1rZGlyIC4uL2dj Yy1ib290c3RyYXAKLQljZCAuLi9nY2MtYm9vdHN0cmFwCi0KLQlfYXJncz0iLS1wcmVmaXg9L3Vz ciIKLQlfYXJncys9IiAtLXRhcmdldD0ke190cmlwbGV0fSIKLQlfYXJncys9IiAtLXdpdGgtc3lz cm9vdD0ke19zeXNyb290fSIKLQlfYXJncys9IiAtLXdpdGgtbmV3bGliIgotCV9hcmdzKz0iIC0t ZW5hYmxlLWxhbmd1YWdlcz1jIgotCV9hcmdzKz0iIC0td2l0aC1uZXdsaWIiCi0JX2FyZ3MrPSIg LS1kaXNhYmxlLWxpYnNzcCIKLQlfYXJncys9IiAtLWRpc2FibGUtbmxzIgotCV9hcmdzKz0iIC0t ZGlzYWJsZS1saWJxdWFkbWF0aCIKLQlfYXJncys9IiAtLWRpc2FibGUtdGhyZWFkcyIKLQlfYXJn cys9IiAtLWRpc2FibGUtZGVjaW1hbC1mbG9hdCIKLQlfYXJncys9IiAtLWRpc2FibGUtc2hhcmVk IgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJtcHgiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYm11 ZGZsYXAiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYmdvbXAiCi0JX2FyZ3MrPSIgLS1kaXNhYmxl LWxpYmF0b21pYyIKLQlfYXJncys9IiAke19mcHVmbGFnc30iCi0KLQlDRkxBR1M9Ii1PMCAtZzAi IENYWEZMQUdTPSItTzAgLWcwIiBcCi0JCS4uL2djYy0ke19nY2NfdmVyc2lvbn0vY29uZmlndXJl ICR7X2FyZ3N9Ci0KLQltYWtlICR7bWFrZWpvYnN9Ci0JbWFrZSBpbnN0YWxsCi0KLQl0b3VjaCAk e3dya3NyY30vLmdjY19ib290c3RyYXBfZG9uZQotfQotCi1fbGludXhfaGVhZGVycygpIHsKLQlb IC1mICR7d3Jrc3JjfS8ubGludXhfYnVpbGRfZG9uZSBdICYmIHJldHVybiAwCi0KLQljZCAke3dy a3NyY30KLQltc2dfbm9ybWFsICJCdWlsZGluZyBMaW51eCBBUEkgaGVhZGVyc1xuIgotCi0JY2Qg bGludXgtJHtfbGludXhfdmVyc2lvbn0KLQotCWZvciBmIGluICR7WEJQU19TUkNQS0dESVJ9L2tl cm5lbC1saWJjLWhlYWRlcnMvcGF0Y2hlcy8qLnBhdGNoOyBkbwotCQlfYXBwbHlfcGF0Y2ggLXAw ICRmCi0JZG9uZQotCi0JbWFrZSBBUkNIPW1pcHMgaGVhZGVyc19jaGVjawotCW1ha2UgQVJDSD1t aXBzIElOU1RBTExfSERSX1BBVEg9JHtfc3lzcm9vdH0vdXNyIGhlYWRlcnNfaW5zdGFsbAotCi0J dG91Y2ggJHt3cmtzcmN9Ly5saW51eF9idWlsZF9kb25lCi19Ci0KLV9tdXNsX2J1aWxkKCkgewot CVsgLWYgJHt3cmtzcmN9Ly5tdXNsX2J1aWxkX2RvbmUgXSAmJiByZXR1cm4gMAotCi0JY2QgJHt3 cmtzcmN9L211c2wtJHtfbXVzbF92ZXJzaW9ufQotCW1zZ19ub3JtYWwgIkJ1aWxkaW5nIGNyb3Nz IG11c2wgbGliY1xuIgotCi0JIyBBcHBseSBtdXNsIHBhdGNoZXMgaWYgdGhlcmUgYXJlIGFueQot CWlmIFsgLWQgIiR7WEJQU19TUkNQS0dESVJ9L211c2wvcGF0Y2hlcyIgXTsgdGhlbgotCQlmb3Ig ZiBpbiAke1hCUFNfU1JDUEtHRElSfS9tdXNsL3BhdGNoZXMvKi5wYXRjaDsgZG8KLQkJCV9hcHBs eV9wYXRjaCAtcDAgIiRmIgotCQlkb25lCi0JZmkKLQotCUNDPSIke190cmlwbGV0fS1nY2MiIENG TEFHUz0iLU9zIC1waXBlIC1mUElDICR7X2FyY2hmbGFnc30iIFwKLQkJLi9jb25maWd1cmUgLS1w cmVmaXg9L3VzcgotCi0JbWFrZSAke21ha2Vqb2JzfQotCW1ha2UgREVTVERJUj0ke19zeXNyb290 fSBpbnN0YWxsCi0KLQl0b3VjaCAke3dya3NyY30vLm11c2xfYnVpbGRfZG9uZQotfQotCi1fZ2Nj X2J1aWxkKCkgewotCWxvY2FsIF9hcmdzCi0KLQlbIC1mICR7d3Jrc3JjfS8uZ2NjX2J1aWxkX2Rv bmUgXSAmJiByZXR1cm4gMAotCi0JY2QgJHt3cmtzcmN9Ci0JbXNnX25vcm1hbCAiQnVpbGRpbmcg Y3Jvc3MgZ2NjIGZpbmFsXG4iCi0KLQlbICEgLWQgZ2NjLWJ1aWxkIF0gJiYgbWtkaXIgZ2NjLWJ1 aWxkCi0JY2QgZ2NjLWJ1aWxkCi0KLQlfYXJncz0iLS1wcmVmaXg9L3VzciIKLQlfYXJncys9IiAt LXRhcmdldD0ke190cmlwbGV0fSIKLQlfYXJncys9IiAtLXdpdGgtc3lzcm9vdD0ke19zeXNyb290 fSIKLQlfYXJncys9IiAtLWxpYmV4ZWNkaXI9L3Vzci9saWIiCi0JX2FyZ3MrPSIgLS1lbmFibGUt bGFuZ3VhZ2VzPWMsYWRhLGMrKyxvYmpjLG9iai1jKyssZm9ydHJhbixsdG8iCi0JX2FyZ3MrPSIg LS1lbmFibGUtbGliYWRhIgotCV9hcmdzKz0iIC0tZW5hYmxlLWx0byIKLQlfYXJncys9IiAtLWVu YWJsZS1kZWZhdWx0LXBpZSIKLQlfYXJncys9IiAtLWVuYWJsZS1kZWZhdWx0LXNzcCIKLQlfYXJn cys9IiAtLWRpc2FibGUtbGlic2FuaXRpemVyIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1tdWx0aWxp YiIKLQlfYXJncys9IiAtLWRpc2FibGUtbmxzIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJxdWFk bWF0aCIKLQlfYXJncys9IiAtLWRpc2FibGUtbGlibXB4IgotCV9hcmdzKz0iIC0tZGlzYWJsZS1s aWJtdWRmbGFwIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJhdG9taWMiCi0JX2FyZ3MrPSIgLS1l bmFibGUtbGlic3NwIgotCV9hcmdzKz0iIC0tZW5hYmxlLXNoYXJlZCIKLQlfYXJncys9IiAtLWRp c2FibGUtc3ltdmVycyIKLQlfYXJncys9IiAke19mcHVmbGFnc30iCi0KLQkuLi9nY2MtJHtfZ2Nj X3ZlcnNpb259L2NvbmZpZ3VyZSAke19hcmdzfQotCi0JbWFrZSAke21ha2Vqb2JzfQotCi0JdG91 Y2ggJHt3cmtzcmN9Ly5nY2NfYnVpbGRfZG9uZQotfQotCi1kb19idWlsZCgpIHsKLQkjIEVuc3Vy ZSB3ZSB1c2Ugc2FuZSBlbnZpcm9ubWVudAotCXVuc2V0IENDIENYWCBDUFAgTEQgQVMgQVIgUkFO TElCIE9CSkRVTVAgUkVBREVMRiBOTQotCXVuc2V0IENGTEFHUyBDWFhGTEFHUyBDUFBGTEFHUyBM REZMQUdTCi0JZXhwb3J0IENGTEFHUz0iLU9zIC1waXBlIiBDWFhGTEFHUz0iLU9zIC1waXBlIgot Ci0JZm9yIGYgaW4gaW5jbHVkZSBsaWIgbGliZXhlYyBiaW4gc2JpbjsgZG8KLQkJaWYgWyAhIC1k ICR7X3N5c3Jvb3R9L3Vzci8ke2Z9IF07IHRoZW4KLQkJCW1rZGlyIC1wICR7X3N5c3Jvb3R9L3Vz ci8ke2Z9Ci0JCWZpCi0JCWlmIFsgISAtaCAke19zeXNyb290fS8ke2Z9IF07IHRoZW4KLQkJCWxu IC1zZnIgJHtfc3lzcm9vdH0vdXNyLyR7Zn0gJHtfc3lzcm9vdH0vJHtmfQotCQlmaQotCWRvbmUK LQlsbiAtc2YgbGliICR7X3N5c3Jvb3R9L3Vzci9saWIzMgotCWxuIC1zZiB1c3IvbGliICR7X3N5 c3Jvb3R9L2xpYjMyCi0KLQlfYmludXRpbHNfYnVpbGQKLQlfZ2NjX2Jvb3RzdHJhcAotCV9saW51 eF9oZWFkZXJzCi0JX211c2xfYnVpbGQKLQlfZ2NjX2J1aWxkCi19Ci0KLWRvX2luc3RhbGwoKSB7 Ci0JZm9yIGYgaW4gaW5jbHVkZSBsaWIgbGliZXhlYyBiaW4gc2JpbjsgZG8KLQkJaWYgWyAhIC1k ICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyLyR7Zn0gXTsgdGhlbgotCQkJbWtkaXIgLXAgJHtE RVNURElSfS8ke19zeXNyb290fS91c3IvJHtmfQotCQlmaQotCQlpZiBbICEgLWggJHtERVNURElS fS8ke19zeXNyb290fS8ke2Z9IF07IHRoZW4KLQkJCWxuIC1zZnIgJHtERVNURElSfS8ke19zeXNy b290fS91c3IvJHtmfSBcCi0JCQkJJHtERVNURElSfS8ke19zeXNyb290fS8ke2Z9Ci0JCWZpCi0J ZG9uZQotCWxuIC1zZiBsaWIgJHtERVNURElSfS8ke19zeXNyb290fS91c3IvbGliMzIKLQlsbiAt c2YgdXNyL2xpYiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L2xpYjMyCi0KLQkjIGluc3RhbGwgbGlu dXggQVBJIGhlYWRlcnMKLQljZCAke3dya3NyY30vbGludXgtJHtfbGludXhfdmVyc2lvbn0KLQlt YWtlIEFSQ0g9bWlwcyBJTlNUQUxMX0hEUl9QQVRIPSR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNy IGhlYWRlcnNfaW5zdGFsbAotCXJtIC1mICQoZmluZCAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vz ci9pbmNsdWRlIC1uYW1lIC5pbnN0YWxsIC1vciAtbmFtZSAuLmluc3RhbGwuY21kKQotCXJtIC1y ZiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci9pbmNsdWRlL2RybQotCi0JIyBpbnN0YWxsIGNy b3NzIGJpbnV0aWxzCi0JY2QgJHt3cmtzcmN9L2JpbnV0aWxzLWJ1aWxkCi0JbWFrZSBERVNURElS PSR7REVTVERJUn0gaW5zdGFsbAotCi0JIyBpbnN0YWxsIGNyb3NzIGdjYwotCWNkICR7d3Jrc3Jj fS9nY2MtYnVpbGQKLQltYWtlIERFU1RESVI9JHtERVNURElSfSBpbnN0YWxsCi0KLQkjIG1vdmUg bGliY2MxLnNvKiB0byB0aGUgc3lzcm9vdAotCW12ICR7REVTVERJUn0vdXNyL2xpYi9saWJjYzEu c28qICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL2xpYgotCi0JIyBpbnN0YWxsIG11c2wgbGli YyBmb3IgdGFyZ2V0Ci0JY2QgJHt3cmtzcmN9L211c2wtJHtfbXVzbF92ZXJzaW9ufQotCW1ha2Ug REVTVERJUj0ke0RFU1RESVJ9LyR7X3N5c3Jvb3R9IGluc3RhbGwKLQotCSMgUmVtb3ZlIHVzZWxl c3MgaGVhZGVycy4KLQlybSAtcmYgJHtERVNURElSfS91c3IvbGliL2djYy8ke190cmlwbGV0fS8q L2luY2x1ZGUtZml4ZWQKLQotCSMgTWFrZSBsZC1tdXNsLnNvIHN5bWxpbmtzIHJlbGF0aXZlLgot CWxuIC1zZiBsaWJjLnNvICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL2xpYi9sZC1tdXNsLW1p cHMuc28uMQotCWxuIC1zZiBsaWJjLnNvICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL2xpYi9s ZC1tdXNsLW1pcHMtc2Yuc28uMQotCi0JIyBzeW1saW5rcyBmb3IgZ25hcmwgYW5kIGduYXQgc2hh cmVkIGxpYnJhcmllcwotCV9tYWpvcnZlcj0ke19nY2NfdmVyc2lvbiUuKi4qfQotCV9hZGFsaWI9 dXNyL2xpYi9nY2MvJHtfdHJpcGxldH0vJHtfZ2NjX3ZlcnNpb259L2FkYWxpYgotCW12IC12ICR7 REVTVERJUn0vJHtfYWRhbGlifS9saWJnbmFybC0ke19tYWpvcnZlcn0uc28gJHtERVNURElSfS8k e19zeXNyb290fS91c3IvbGliCi0JbXYgLXYgJHtERVNURElSfS8ke19hZGFsaWJ9L2xpYmduYXQt JHtfbWFqb3J2ZXJ9LnNvICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL2xpYgotCWxuIC1zdmYg bGliZ25hcmwtJHtfbWFqb3J2ZXJ9LnNvIGxpYmduYXJsLnNvCi0JbG4gLXN2ZiBsaWJnbmF0LSR7 X21ham9ydmVyfS5zbyBsaWJnbmF0LnNvCi0Jcm0gLXZmICR7REVTVERJUn0vJHtfYWRhbGlifS9s aWJnbmF7cmwsdH0uc28KLQotCSMgUmVtb3ZlIHVubmVjZXNzYXJ5IHN0dWZmCi0Jcm0gLWYgJHtE RVNURElSfS91c3IvbGliKi9saWJpYmVydHkuYQotCXJtIC1yZiAke0RFU1RESVJ9L3Vzci9zaGFy ZQotCXJtIC1yZiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3tldGMsdmFyfQotCXJtIC1yZiAke0RF U1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci97c2JpbixzaGFyZSxsaWJleGVjfQotCXJtIC1mICR7REVT VERJUn0vJHtfc3lzcm9vdH0vbGliZXhlYwotCXJtIC1mICR7REVTVERJUn0vJHtfc3lzcm9vdH0v bGliLyoucHkKLQlybSAtZiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3tzYmluLGxpYn0KLX0KK2Ny b3NzX3RyaXBsZXQ9JHtfdHJpcGxldH0KK2Nyb3NzX3dvcmRzaXplPTMyCitjcm9zc19saWJjPW11 c2wKK2Nyb3NzX2JpbnV0aWxzX3ZlcnNpb249JHtfYmludXRpbHNfdmVyc2lvbn0KK2Nyb3NzX2dj Y192ZXJzaW9uPSR7X2djY192ZXJzaW9ufQorY3Jvc3NfbXVzbF92ZXJzaW9uPSR7X211c2xfdmVy c2lvbn0KK2Nyb3NzX2xpbnV4X3ZlcnNpb249JHtfbGludXhfdmVyc2lvbn0KK2Nyb3NzX2xpbnV4 X2FyY2g9YXJtCitjcm9zc19nY2Nfc2tpcF9nbz15ZXMKK2Nyb3NzX2JpbnV0aWxzX2NvbmZpZ3Vy ZV9hcmdzPSItLXdpdGhvdXQtZnAgLS1lbmFibGUtZGVmYXVsdC1oYXNoLXN0eWxlPXN5c3YiCitj cm9zc19tdXNsX2NmbGFncz0iLU9zIC1tYXJjaD1taXBzMzJyMiAtbXNvZnQtZmxvYXQiCiAKIGNy b3NzLW1pcHMtbGludXgtbXVzbC1saWJjX3BhY2thZ2UoKSB7CiAJc2hvcnRfZGVzYys9IiAtIGxp YmMgZmlsZXMiCiAJbm9zdHJpcD15ZXMKIAlub3ZlcmlmeXJkZXBzPXllcwogCW5vc2hsaWJwcm92 aWRlcz15ZXMKKwogCXBrZ19pbnN0YWxsKCkgewotCQl2bW92ZSAke19zeXNyb290fQorCQl2bW92 ZSB1c3IvJHtjcm9zc190cmlwbGV0fQogCX0KIH0KCkZyb20gZTMwMmJmYWZmNDhkNmJlYmNmNGJk MjJlYTUzOGY3MGI1NTQ1ZThjNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogcTY2IDxk YW5pZWxAb2N0YWZvcmdlLm9yZz4KRGF0ZTogU2F0LCAyNiBEZWMgMjAyMCAwMDoxMDoxMSArMDEw MApTdWJqZWN0OiBbUEFUQ0ggMTQvMjZdIGNyb3NzLW1pcHMtbGludXgtbXVzbGhmOiByZWRvIHdp dGggdm9pZC1jcm9zcwoKLS0tCiBzcmNwa2dzL2Nyb3NzLW1pcHMtbGludXgtbXVzbGhmL3RlbXBs YXRlIHwgMjg4ICsrLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMjIgaW5z ZXJ0aW9ucygrKSwgMjY2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY3Jvc3Mt bWlwcy1saW51eC1tdXNsaGYvdGVtcGxhdGUgYi9zcmNwa2dzL2Nyb3NzLW1pcHMtbGludXgtbXVz bGhmL3RlbXBsYXRlCmluZGV4IDc5OTI4NjRhOGI2Li5hZTliNTA1ZTQwNiAxMDA2NDQKLS0tIGEv c3JjcGtncy9jcm9zcy1taXBzLWxpbnV4LW11c2xoZi90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2Ny b3NzLW1pcHMtbGludXgtbXVzbGhmL3RlbXBsYXRlCkBAIC0xLDE5ICsxLDE5IEBACi0jIFRlbXBs YXRlIGJ1aWxkIGZpbGUgZm9yICdjcm9zcy1taXBzLWxpbnV4LW11c2xoZicKLSMKKyMgVGVtcGxh dGUgZmlsZSBmb3IgJ2Nyb3NzLW1pcHMtbGludXgtbXVzbGhmJworX3RyaXBsZXQ9bWlwcy1saW51 eC1tdXNsaGYKIF9iaW51dGlsc192ZXJzaW9uPTIuMzIKIF9nY2NfdmVyc2lvbj05LjMuMAogX211 c2xfdmVyc2lvbj0xLjEuMjQKIF9saW51eF92ZXJzaW9uPTQuMTkKLQotX3RyaXBsZXQ9bWlwcy1s aW51eC1tdXNsaGYKLV9mcHVmbGFncz0iLS13aXRoLWZsb2F0PWhhcmQgLS13aXRoLWZwIgotX2Fy Y2hmbGFncz0iLW1hcmNoPW1pcHMzMnIyIC1taGFyZC1mbG9hdCIKLV9zeXNyb290PSIvdXNyLyR7 X3RyaXBsZXR9IgotCiBwa2duYW1lPWNyb3NzLSR7X3RyaXBsZXR9CiB2ZXJzaW9uPTAuMzMKIHJl dmlzaW9uPTMKLXNob3J0X2Rlc2M9IkNyb3NzIHRvb2xjaGFpbiBmb3IgTUlQUzMycjIgQkUgaGFy ZGZsb2F0IHRhcmdldCAobXVzbCkiCitidWlsZF9zdHlsZT12b2lkLWNyb3NzCitjb25maWd1cmVf YXJncz0iLS13aXRoLWFyY2g9bWlwczMycjIgLS13aXRoLWZsb2F0PWhhcmQKKyAtLXdpdGgtbGlu a2VyLWhhc2gtc3R5bGU9c3lzdiIKK2hvc3RtYWtlZGVwZW5kcz0idGFyIGdjYy1vYmpjIGZsZXgg cGVybCBweXRob24zIgorbWFrZWRlcGVuZHM9ImlzbDE1LWRldmVsIGxpYm1wYy1kZXZlbCB6bGli LWRldmVsIGdtcC1kZXZlbCBtcGZyLWRldmVsIgorZGVwZW5kcz0iJHtwa2duYW1lfS1saWJjLSR7 dmVyc2lvbn1fJHtyZXZpc2lvbn0iCitzaG9ydF9kZXNjPSJWb2lkIGNyb3NzIHRvb2xjaGFpbiBm b3IgJHtfdHJpcGxldH0iCiBtYWludGFpbmVyPSJoaXBwZXJzb24wIDxoaXBwZXJzb24wQGdtYWls LmNvbT4iCiBob21lcGFnZT0iaHR0cHM6Ly93d3cudm9pZGxpbnV4Lm9yZy8iCiBsaWNlbnNlPSJH UEwtMi4wLW9yLWxhdGVyLCBHUEwtMy4wLW9yLWxhdGVyLCBNSVQiCkBAIC0yNywyNjkgKzI3LDI1 IEBAIGNoZWNrc3VtPSIwYWI2YzU1ZGQ4NmE5MmVkNTYxOTcyYmExNWI5YjcwYThiOWY3NTU1N2Y4 OTY0NDZjODJlOGIzNmU0NzNlZTA0CiAgMTM3MGM5YTgxMmIyY2YyYTdkOTI4MDI1MTBjY2EwMDU4 Y2MzN2U2NmE3YmVkZDcwMDUxZjBhMzQwMTUwMjJhMwogIDBjNjhmNTY1NTUyOGFlZDRmOTlkYWU3 MWE1YjI1OWVkYzkzMjM5ZmE4OTllMmRmNzljMDU1Mjc1YzIxNzQ5YTEiCiAKLWxpYjMyZGlzYWJs ZWQ9eWVzCi1ub2Nyb3NzPXllcwotbm9waWU9eWVzCi1ub2RlYnVnPXllcwotY3JlYXRlX3dya3Ny Yz15ZXMKLQotaG9zdG1ha2VkZXBlbmRzPSJ0YXIgZ2NjLW9iamMgZmxleCBwZXJsIHB5dGhvbjMi Ci1tYWtlZGVwZW5kcz0iemxpYi1kZXZlbCBnbXAtZGV2ZWwgbXBmci1kZXZlbCBsaWJtcGMtZGV2 ZWwgaXNsMTUtZGV2ZWwiCi1ub3N0cmlwX2ZpbGVzPSJsaWJjYWZfc2luZ2xlLmEgbGliZ2NjLmEg bGliZ2Nvdi5hIGxpYmdjY19laC5hCi0gbGliZ25hcmxfcGljLmEgbGliZ25hcmwuYSBsaWJnbmF0 X3BpYy5hIGxpYmduYXQuYSBsaWJnbWVtLmEiCi1kZXBlbmRzPSIke3BrZ25hbWV9LWxpYmMtJHt2 ZXJzaW9ufV8ke3JldmlzaW9ufSIKLQotX2FwcGx5X3BhdGNoKCkgewotCWxvY2FsIGFyZ3M9IiQx IiBwbmFtZT0iJChiYXNlbmFtZSAkMikiCi0KLQlpZiBbICEgLWYgIi4ke3BuYW1lfV9kb25lIiBd OyB0aGVuCi0JCXBhdGNoIC1OICRhcmdzIC1pICQyCi0JCXRvdWNoIC4ke3BuYW1lfV9kb25lCi0J ZmkKLX0KLQotX2JpbnV0aWxzX2J1aWxkKCkgewotCWxvY2FsIF9hcmdzCi0KLQlbIC1mICR7d3Jr c3JjfS8uYmludXRpbHNfYnVpbGRfZG9uZSBdICYmIHJldHVybiAwCi0KLQljZCAke3dya3NyY30K LQltc2dfbm9ybWFsICJCdWlsZGluZyBjcm9zcyBiaW51dGlscyBib290c3RyYXBcbiIKLQotCVsg ISAtZCBiaW51dGlscy1idWlsZCBdICYmIG1rZGlyIGJpbnV0aWxzLWJ1aWxkCi0JY2QgYmludXRp bHMtYnVpbGQKLQotCV9hcmdzPSItLXByZWZpeD0vdXNyIgotCV9hcmdzKz0iIC0tdGFyZ2V0PSR7 X3RyaXBsZXR9IgotCV9hcmdzKz0iIC0td2l0aC1zeXNyb290PSR7X3N5c3Jvb3R9IgotCV9hcmdz Kz0iIC0tZGlzYWJsZS1ubHMiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLW11bHRpbGliIgotCV9hcmdz Kz0iIC0tZGlzYWJsZS13ZXJyb3IiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLXNoYXJlZCIKLQlfYXJn cys9IiAtLXdpdGgtc3lzdGVtLXpsaWIiCi0JX2FyZ3MrPSIgJHtfZnB1ZmxhZ3N9IgotCi0JLi4v YmludXRpbHMtJHtfYmludXRpbHNfdmVyc2lvbn0vY29uZmlndXJlICR7X2FyZ3N9Ci0KLQltYWtl IGNvbmZpZ3VyZS1ob3N0ICYmIG1ha2UgJHttYWtlam9ic30KLQltYWtlIGluc3RhbGwKLQotCXRv dWNoICR7d3Jrc3JjfS8uYmludXRpbHNfYnVpbGRfZG9uZQotfQotCi1fZ2NjX2Jvb3RzdHJhcCgp IHsKLQlsb2NhbCBfYXJncwotCi0JWyAtZiAke3dya3NyY30vLmdjY19ib290c3RyYXBfZG9uZSBd ICYmIHJldHVybiAwCi0KLQljZCAke3dya3NyY30vZ2NjLSR7X2djY192ZXJzaW9ufQotCWZvciBm IGluICR7WEJQU19TUkNQS0dESVJ9L2djYy9wYXRjaGVzLyoucGF0Y2g7IGRvCi0JCV9hcHBseV9w YXRjaCAtcDAgIiRmIgotCWRvbmUKLQlmb3IgZiBpbiAke1hCUFNfU1JDUEtHRElSfS9nY2MvZmls ZXMvKi1tdXNsLnBhdGNoOyBkbwotCQlfYXBwbHlfcGF0Y2ggLXAxICIkZiIKLQlkb25lCi0KLQlt c2dfbm9ybWFsICJCdWlsZGluZyBjcm9zcyBnY2MgYm9vdHN0cmFwXG4iCi0KLQlbICEgLWQgLi4v Z2NjLWJvb3RzdHJhcCBdICYmIG1rZGlyIC4uL2djYy1ib290c3RyYXAKLQljZCAuLi9nY2MtYm9v dHN0cmFwCi0KLQlfYXJncz0iLS1wcmVmaXg9L3VzciIKLQlfYXJncys9IiAtLXRhcmdldD0ke190 cmlwbGV0fSIKLQlfYXJncys9IiAtLXdpdGgtc3lzcm9vdD0ke19zeXNyb290fSIKLQlfYXJncys9 IiAtLXdpdGgtbmV3bGliIgotCV9hcmdzKz0iIC0tZW5hYmxlLWxhbmd1YWdlcz1jIgotCV9hcmdz Kz0iIC0td2l0aC1uZXdsaWIiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYnNzcCIKLQlfYXJncys9 IiAtLWRpc2FibGUtbmxzIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJxdWFkbWF0aCIKLQlfYXJn cys9IiAtLWRpc2FibGUtdGhyZWFkcyIKLQlfYXJncys9IiAtLWRpc2FibGUtZGVjaW1hbC1mbG9h dCIKLQlfYXJncys9IiAtLWRpc2FibGUtc2hhcmVkIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJt cHgiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYm11ZGZsYXAiCi0JX2FyZ3MrPSIgLS1kaXNhYmxl LWxpYmdvbXAiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYmF0b21pYyIKLQlfYXJncys9IiAke19m cHVmbGFnc30iCi0KLQlDRkxBR1M9Ii1PMCAtZzAiIENYWEZMQUdTPSItTzAgLWcwIiBcCi0JCS4u L2djYy0ke19nY2NfdmVyc2lvbn0vY29uZmlndXJlICR7X2FyZ3N9Ci0KLQltYWtlICR7bWFrZWpv YnN9Ci0JbWFrZSBpbnN0YWxsCi0KLQl0b3VjaCAke3dya3NyY30vLmdjY19ib290c3RyYXBfZG9u ZQotfQotCi1fbGludXhfaGVhZGVycygpIHsKLQlbIC1mICR7d3Jrc3JjfS8ubGludXhfYnVpbGRf ZG9uZSBdICYmIHJldHVybiAwCi0KLQljZCAke3dya3NyY30KLQltc2dfbm9ybWFsICJCdWlsZGlu ZyBMaW51eCBBUEkgaGVhZGVyc1xuIgotCi0JY2QgbGludXgtJHtfbGludXhfdmVyc2lvbn0KLQot CWZvciBmIGluICR7WEJQU19TUkNQS0dESVJ9L2tlcm5lbC1saWJjLWhlYWRlcnMvcGF0Y2hlcy8q LnBhdGNoOyBkbwotCQlfYXBwbHlfcGF0Y2ggLXAwICRmCi0JZG9uZQotCi0JbWFrZSBBUkNIPW1p cHMgaGVhZGVyc19jaGVjawotCW1ha2UgQVJDSD1taXBzIElOU1RBTExfSERSX1BBVEg9JHtfc3lz cm9vdH0vdXNyIGhlYWRlcnNfaW5zdGFsbAotCi0JdG91Y2ggJHt3cmtzcmN9Ly5saW51eF9idWls ZF9kb25lCi19Ci0KLV9tdXNsX2J1aWxkKCkgewotCVsgLWYgJHt3cmtzcmN9Ly5tdXNsX2J1aWxk X2RvbmUgXSAmJiByZXR1cm4gMAotCi0JY2QgJHt3cmtzcmN9L211c2wtJHtfbXVzbF92ZXJzaW9u fQotCW1zZ19ub3JtYWwgIkJ1aWxkaW5nIGNyb3NzIG11c2wgbGliY1xuIgotCi0JIyBBcHBseSBt dXNsIHBhdGNoZXMgaWYgdGhlcmUgYXJlIGFueQotCWlmIFsgLWQgIiR7WEJQU19TUkNQS0dESVJ9 L211c2wvcGF0Y2hlcyIgXTsgdGhlbgotCQlmb3IgZiBpbiAke1hCUFNfU1JDUEtHRElSfS9tdXNs L3BhdGNoZXMvKi5wYXRjaDsgZG8KLQkJCV9hcHBseV9wYXRjaCAtcDAgIiRmIgotCQlkb25lCi0J ZmkKLQotCUNDPSIke190cmlwbGV0fS1nY2MiIENGTEFHUz0iLU9zIC1waXBlIC1mUElDICR7X2Fy Y2hmbGFnc30iIFwKLQkJLi9jb25maWd1cmUgLS1wcmVmaXg9L3VzcgotCi0JbWFrZSAke21ha2Vq b2JzfQotCW1ha2UgREVTVERJUj0ke19zeXNyb290fSBpbnN0YWxsCi0KLQl0b3VjaCAke3dya3Ny Y30vLm11c2xfYnVpbGRfZG9uZQotfQotCi1fZ2NjX2J1aWxkKCkgewotCWxvY2FsIF9hcmdzCi0K LQlbIC1mICR7d3Jrc3JjfS8uZ2NjX2J1aWxkX2RvbmUgXSAmJiByZXR1cm4gMAotCi0JY2QgJHt3 cmtzcmN9Ci0JbXNnX25vcm1hbCAiQnVpbGRpbmcgY3Jvc3MgZ2NjIGZpbmFsXG4iCi0KLQlbICEg LWQgZ2NjLWJ1aWxkIF0gJiYgbWtkaXIgZ2NjLWJ1aWxkCi0JY2QgZ2NjLWJ1aWxkCi0KLQlfYXJn cz0iLS1wcmVmaXg9L3VzciIKLQlfYXJncys9IiAtLXRhcmdldD0ke190cmlwbGV0fSIKLQlfYXJn cys9IiAtLXdpdGgtc3lzcm9vdD0ke19zeXNyb290fSIKLQlfYXJncys9IiAtLWxpYmV4ZWNkaXI9 L3Vzci9saWIiCi0JX2FyZ3MrPSIgLS1lbmFibGUtbGFuZ3VhZ2VzPWMsYWRhLGMrKyxvYmpjLG9i ai1jKyssZm9ydHJhbixsdG8iCi0JX2FyZ3MrPSIgLS1lbmFibGUtbGliYWRhIgotCV9hcmdzKz0i IC0tZW5hYmxlLWx0byIKLQlfYXJncys9IiAtLWVuYWJsZS1kZWZhdWx0LXBpZSIKLQlfYXJncys9 IiAtLWVuYWJsZS1kZWZhdWx0LXNzcCIKLQlfYXJncys9IiAtLWRpc2FibGUtbGlic2FuaXRpemVy IgotCV9hcmdzKz0iIC0tZGlzYWJsZS1tdWx0aWxpYiIKLQlfYXJncys9IiAtLWRpc2FibGUtbmxz IgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJxdWFkbWF0aCIKLQlfYXJncys9IiAtLWRpc2FibGUt bGlibXB4IgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJtdWRmbGFwIgotCV9hcmdzKz0iIC0tZGlz YWJsZS1saWJhdG9taWMiCi0JX2FyZ3MrPSIgLS1lbmFibGUtbGlic3NwIgotCV9hcmdzKz0iIC0t ZW5hYmxlLXNoYXJlZCIKLQlfYXJncys9IiAtLWRpc2FibGUtc3ltdmVycyIKLQlfYXJncys9IiAk e19mcHVmbGFnc30iCi0KLQkuLi9nY2MtJHtfZ2NjX3ZlcnNpb259L2NvbmZpZ3VyZSAke19hcmdz fQotCi0JbWFrZSAke21ha2Vqb2JzfQotCi0JdG91Y2ggJHt3cmtzcmN9Ly5nY2NfYnVpbGRfZG9u ZQotfQotCi1kb19idWlsZCgpIHsKLQkjIEVuc3VyZSB3ZSB1c2Ugc2FuZSBlbnZpcm9ubWVudAot CXVuc2V0IENDIENYWCBDUFAgTEQgQVMgQVIgUkFOTElCIE9CSkRVTVAgUkVBREVMRiBOTQotCXVu c2V0IENGTEFHUyBDWFhGTEFHUyBDUFBGTEFHUyBMREZMQUdTCi0JZXhwb3J0IENGTEFHUz0iLU9z IC1waXBlIiBDWFhGTEFHUz0iLU9zIC1waXBlIgotCi0JZm9yIGYgaW4gaW5jbHVkZSBsaWIgbGli ZXhlYyBiaW4gc2JpbjsgZG8KLQkJaWYgWyAhIC1kICR7X3N5c3Jvb3R9L3Vzci8ke2Z9IF07IHRo ZW4KLQkJCW1rZGlyIC1wICR7X3N5c3Jvb3R9L3Vzci8ke2Z9Ci0JCWZpCi0JCWlmIFsgISAtaCAk e19zeXNyb290fS8ke2Z9IF07IHRoZW4KLQkJCWxuIC1zZnIgJHtfc3lzcm9vdH0vdXNyLyR7Zn0g JHtfc3lzcm9vdH0vJHtmfQotCQlmaQotCWRvbmUKLQlsbiAtc2YgbGliICR7X3N5c3Jvb3R9L3Vz ci9saWIzMgotCWxuIC1zZiB1c3IvbGliICR7X3N5c3Jvb3R9L2xpYjMyCi0KLQlfYmludXRpbHNf YnVpbGQKLQlfZ2NjX2Jvb3RzdHJhcAotCV9saW51eF9oZWFkZXJzCi0JX211c2xfYnVpbGQKLQlf Z2NjX2J1aWxkCi19Ci0KLWRvX2luc3RhbGwoKSB7Ci0JZm9yIGYgaW4gaW5jbHVkZSBsaWIgbGli ZXhlYyBiaW4gc2JpbjsgZG8KLQkJaWYgWyAhIC1kICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNy LyR7Zn0gXTsgdGhlbgotCQkJbWtkaXIgLXAgJHtERVNURElSfS8ke19zeXNyb290fS91c3IvJHtm fQotCQlmaQotCQlpZiBbICEgLWggJHtERVNURElSfS8ke19zeXNyb290fS8ke2Z9IF07IHRoZW4K LQkJCWxuIC1zZnIgJHtERVNURElSfS8ke19zeXNyb290fS91c3IvJHtmfSBcCi0JCQkJJHtERVNU RElSfS8ke19zeXNyb290fS8ke2Z9Ci0JCWZpCi0JZG9uZQotCWxuIC1zZiBsaWIgJHtERVNURElS fS8ke19zeXNyb290fS91c3IvbGliMzIKLQlsbiAtc2YgdXNyL2xpYiAke0RFU1RESVJ9LyR7X3N5 c3Jvb3R9L2xpYjMyCi0KLQkjIGluc3RhbGwgbGludXggQVBJIGhlYWRlcnMKLQljZCAke3dya3Ny Y30vbGludXgtJHtfbGludXhfdmVyc2lvbn0KLQltYWtlIEFSQ0g9bWlwcyBJTlNUQUxMX0hEUl9Q QVRIPSR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyIGhlYWRlcnNfaW5zdGFsbAotCXJtIC1mICQo ZmluZCAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci9pbmNsdWRlIC1uYW1lIC5pbnN0YWxsIC1v ciAtbmFtZSAuLmluc3RhbGwuY21kKQotCXJtIC1yZiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vz ci9pbmNsdWRlL2RybQotCi0JIyBpbnN0YWxsIGNyb3NzIGJpbnV0aWxzCi0JY2QgJHt3cmtzcmN9 L2JpbnV0aWxzLWJ1aWxkCi0JbWFrZSBERVNURElSPSR7REVTVERJUn0gaW5zdGFsbAotCi0JIyBp bnN0YWxsIGNyb3NzIGdjYwotCWNkICR7d3Jrc3JjfS9nY2MtYnVpbGQKLQltYWtlIERFU1RESVI9 JHtERVNURElSfSBpbnN0YWxsCi0KLQkjIG1vdmUgbGliY2MxLnNvKiB0byB0aGUgc3lzcm9vdAot CW12ICR7REVTVERJUn0vdXNyL2xpYi9saWJjYzEuc28qICR7REVTVERJUn0vJHtfc3lzcm9vdH0v dXNyL2xpYgotCi0JIyBpbnN0YWxsIG11c2wgbGliYyBmb3IgdGFyZ2V0Ci0JY2QgJHt3cmtzcmN9 L211c2wtJHtfbXVzbF92ZXJzaW9ufQotCW1ha2UgREVTVERJUj0ke0RFU1RESVJ9LyR7X3N5c3Jv b3R9IGluc3RhbGwKLQotCSMgUmVtb3ZlIHVzZWxlc3MgaGVhZGVycy4KLQlybSAtcmYgJHtERVNU RElSfS91c3IvbGliL2djYy8ke190cmlwbGV0fS8qL2luY2x1ZGUtZml4ZWQKLQotCSMgTWFrZSBs ZC1tdXNsLnNvIHN5bWxpbmtzIHJlbGF0aXZlLgotCWxuIC1zZiBsaWJjLnNvICR7REVTVERJUn0v JHtfc3lzcm9vdH0vdXNyL2xpYi9sZC1tdXNsLW1pcHMuc28uMQotCi0JIyBzeW1saW5rcyBmb3Ig Z25hcmwgYW5kIGduYXQgc2hhcmVkIGxpYnJhcmllcwotCV9tYWpvcnZlcj0ke19nY2NfdmVyc2lv biUuKi4qfQotCV9hZGFsaWI9dXNyL2xpYi9nY2MvJHtfdHJpcGxldH0vJHtfZ2NjX3ZlcnNpb259 L2FkYWxpYgotCW12IC12ICR7REVTVERJUn0vJHtfYWRhbGlifS9saWJnbmFybC0ke19tYWpvcnZl cn0uc28gJHtERVNURElSfS8ke19zeXNyb290fS91c3IvbGliCi0JbXYgLXYgJHtERVNURElSfS8k e19hZGFsaWJ9L2xpYmduYXQtJHtfbWFqb3J2ZXJ9LnNvICR7REVTVERJUn0vJHtfc3lzcm9vdH0v dXNyL2xpYgotCWxuIC1zdmYgbGliZ25hcmwtJHtfbWFqb3J2ZXJ9LnNvIGxpYmduYXJsLnNvCi0J bG4gLXN2ZiBsaWJnbmF0LSR7X21ham9ydmVyfS5zbyBsaWJnbmF0LnNvCi0Jcm0gLXZmICR7REVT VERJUn0vJHtfYWRhbGlifS9saWJnbmF7cmwsdH0uc28KLQotCSMgUmVtb3ZlIHVubmVjZXNzYXJ5 IHN0dWZmCi0Jcm0gLWYgJHtERVNURElSfS91c3IvbGliKi9saWJpYmVydHkuYQotCXJtIC1yZiAk e0RFU1RESVJ9L3Vzci9zaGFyZQotCXJtIC1yZiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3tldGMs dmFyfQotCXJtIC1yZiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci97c2JpbixzaGFyZSxsaWJl eGVjfQotCXJtIC1mICR7REVTVERJUn0vJHtfc3lzcm9vdH0vbGliZXhlYwotCXJtIC1mICR7REVT VERJUn0vJHtfc3lzcm9vdH0vbGliLyoucHkKLQlybSAtZiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9 L3tzYmluLGxpYn0KLX0KK2Nyb3NzX3RyaXBsZXQ9JHtfdHJpcGxldH0KK2Nyb3NzX3dvcmRzaXpl PTMyCitjcm9zc19saWJjPW11c2wKK2Nyb3NzX2JpbnV0aWxzX3ZlcnNpb249JHtfYmludXRpbHNf dmVyc2lvbn0KK2Nyb3NzX2djY192ZXJzaW9uPSR7X2djY192ZXJzaW9ufQorY3Jvc3NfbXVzbF92 ZXJzaW9uPSR7X211c2xfdmVyc2lvbn0KK2Nyb3NzX2xpbnV4X3ZlcnNpb249JHtfbGludXhfdmVy c2lvbn0KK2Nyb3NzX2xpbnV4X2FyY2g9YXJtCitjcm9zc19nY2Nfc2tpcF9nbz15ZXMKK2Nyb3Nz X2JpbnV0aWxzX2NvbmZpZ3VyZV9hcmdzPSItLWVuYWJsZS1kZWZhdWx0LWhhc2gtc3R5bGU9c3lz diIKK2Nyb3NzX211c2xfY2ZsYWdzPSItT3MgLW1hcmNoPW1pcHMzMnIyIC1taGFyZC1mbG9hdCIK IAogY3Jvc3MtbWlwcy1saW51eC1tdXNsaGYtbGliY19wYWNrYWdlKCkgewogCXNob3J0X2Rlc2Mr PSIgLSBsaWJjIGZpbGVzIgogCW5vc3RyaXA9eWVzCiAJbm92ZXJpZnlyZGVwcz15ZXMKIAlub3No bGlicHJvdmlkZXM9eWVzCisKIAlwa2dfaW5zdGFsbCgpIHsKLQkJdm1vdmUgJHtfc3lzcm9vdH0K KwkJdm1vdmUgdXNyLyR7Y3Jvc3NfdHJpcGxldH0KIAl9CiB9CgpGcm9tIGM2OWJjMWJiY2UwYjFh MTE5MDVhNWVkYmU3NzkzODMzNWI2MGU0MzkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206 IHE2NiA8ZGFuaWVsQG9jdGFmb3JnZS5vcmc+CkRhdGU6IFNhdCwgMjYgRGVjIDIwMjAgMDA6MTE6 NDUgKzAxMDAKU3ViamVjdDogW1BBVENIIDE1LzI2XSBjcm9zcy1taXBzZWwtbGludXgtbXVzbDog cmV3b3JrIHdpdGggdm9pZC1jcm9zcwoKLS0tCiBzcmNwa2dzL2Nyb3NzLW1pcHNlbC1saW51eC1t dXNsL3RlbXBsYXRlIHwgMjkxICsrLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdl ZCwgMjMgaW5zZXJ0aW9ucygrKSwgMjY4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3Br Z3MvY3Jvc3MtbWlwc2VsLWxpbnV4LW11c2wvdGVtcGxhdGUgYi9zcmNwa2dzL2Nyb3NzLW1pcHNl bC1saW51eC1tdXNsL3RlbXBsYXRlCmluZGV4IDBjOGI1MTliM2Y5Li4yYzRkMmJkZDM5OCAxMDA2 NDQKLS0tIGEvc3JjcGtncy9jcm9zcy1taXBzZWwtbGludXgtbXVzbC90ZW1wbGF0ZQorKysgYi9z cmNwa2dzL2Nyb3NzLW1pcHNlbC1saW51eC1tdXNsL3RlbXBsYXRlCkBAIC0xLDI5NiArMSw1MSBA QAotIyBUZW1wbGF0ZSBidWlsZCBmaWxlIGZvciAnY3Jvc3MtbWlwc2VsLWxpbnV4LW11c2wnCi0j CisjIFRlbXBsYXRlIGZpbGUgZm9yICdjcm9zcy1taXBzZWwtbGludXgtbXVzbCcKK190cmlwbGV0 PW1pcHNlbC1saW51eC1tdXNsCiBfYmludXRpbHNfdmVyc2lvbj0yLjMyCiBfZ2NjX3ZlcnNpb249 OS4zLjAKIF9tdXNsX3ZlcnNpb249MS4xLjI0CiBfbGludXhfdmVyc2lvbj00LjE5Ci0KLV90cmlw bGV0PW1pcHNlbC1saW51eC1tdXNsCi1fZnB1ZmxhZ3M9Ii0td2l0aC1mbG9hdD1zb2Z0IC0td2l0 aG91dC1mcCIKLV9hcmNoZmxhZ3M9Ii1tYXJjaD1taXBzMzJyMiAtbXNvZnQtZmxvYXQiCi1fc3lz cm9vdD0iL3Vzci8ke190cmlwbGV0fSIKLQogcGtnbmFtZT1jcm9zcy0ke190cmlwbGV0fQogdmVy c2lvbj0wLjMzCiByZXZpc2lvbj0zCi1zaG9ydF9kZXNjPSJDcm9zcyB0b29sY2hhaW4gZm9yIE1J UFMzMnIyIExFIHNvZnRmbG9hdCB0YXJnZXQgKG11c2wpIgorYnVpbGRfc3R5bGU9dm9pZC1jcm9z cworY29uZmlndXJlX2FyZ3M9Ii0td2l0aC1hcmNoPW1pcHMzMnIyIC0td2l0aC1mbG9hdD1zb2Z0 CisgLS13aXRoLWxpbmtlci1oYXNoLXN0eWxlPXN5c3YiCitob3N0bWFrZWRlcGVuZHM9InRhciBn Y2Mtb2JqYyBmbGV4IHBlcmwgcHl0aG9uMyIKK21ha2VkZXBlbmRzPSJpc2wxNS1kZXZlbCBsaWJt cGMtZGV2ZWwgemxpYi1kZXZlbCBnbXAtZGV2ZWwgbXBmci1kZXZlbCIKK2RlcGVuZHM9IiR7cGtn bmFtZX0tbGliYy0ke3ZlcnNpb259XyR7cmV2aXNpb259Igorc2hvcnRfZGVzYz0iVm9pZCBjcm9z cyB0b29sY2hhaW4gZm9yICR7X3RyaXBsZXR9IgogbWFpbnRhaW5lcj0iT3JwaGFuZWQgPG9ycGhh bkB2b2lkbGludXgub3JnPiIKIGhvbWVwYWdlPSJodHRwczovL3d3dy52b2lkbGludXgub3JnLyIK IGxpY2Vuc2U9IkdQTC0yLjAtb3ItbGF0ZXIsIEdQTC0zLjAtb3ItbGF0ZXIsIE1JVCIKIGRpc3Rm aWxlcz0iCiAgJHtHTlVfU0lURX0vYmludXRpbHMvYmludXRpbHMtJHtfYmludXRpbHNfdmVyc2lv bn0udGFyLnh6CiAgJHtHTlVfU0lURX0vZ2NjL2djYy0ke19nY2NfdmVyc2lvbn0vZ2NjLSR7X2dj Y192ZXJzaW9ufS50YXIueHoKLSBodHRwOi8vd3d3Lm11c2wtbGliYy5vcmcvcmVsZWFzZXMvbXVz bC0ke19tdXNsX3ZlcnNpb259LnRhci5negorIGh0dHBzOi8vd3d3Lm11c2wtbGliYy5vcmcvcmVs ZWFzZXMvbXVzbC0ke19tdXNsX3ZlcnNpb259LnRhci5negogICR7S0VSTkVMX1NJVEV9L2tlcm5l bC92NC54L2xpbnV4LSR7X2xpbnV4X3ZlcnNpb259LnRhci54eiIKIGNoZWNrc3VtPSIwYWI2YzU1 ZGQ4NmE5MmVkNTYxOTcyYmExNWI5YjcwYThiOWY3NTU1N2Y4OTY0NDZjODJlOGIzNmU0NzNlZTA0 CiAgNzFlMTk3ODY3NjExZjYwNTRhYTExMTliMTNhMGMwYWJhYzEyODM0NzY1ZmUyZDgxZjM1YWM1 N2Y4NGY3NDJkMQogIDEzNzBjOWE4MTJiMmNmMmE3ZDkyODAyNTEwY2NhMDA1OGNjMzdlNjZhN2Jl ZGQ3MDA1MWYwYTM0MDE1MDIyYTMKICAwYzY4ZjU2NTU1MjhhZWQ0Zjk5ZGFlNzFhNWIyNTllZGM5 MzIzOWZhODk5ZTJkZjc5YzA1NTI3NWMyMTc0OWExIgogCi1saWIzMmRpc2FibGVkPXllcwotbm9j cm9zcz15ZXMKLW5vcGllPXllcwotbm9kZWJ1Zz15ZXMKLWNyZWF0ZV93cmtzcmM9eWVzCi0KLWhv c3RtYWtlZGVwZW5kcz0idGFyIGdjYy1vYmpjIGZsZXggcGVybCBweXRob24zIgotbWFrZWRlcGVu ZHM9InpsaWItZGV2ZWwgZ21wLWRldmVsIG1wZnItZGV2ZWwgbGlibXBjLWRldmVsIGlzbDE1LWRl dmVsIgotbm9zdHJpcF9maWxlcz0ibGliY2FmX3NpbmdsZS5hIGxpYmdjYy5hIGxpYmdjb3YuYSBs aWJnY2NfZWguYQotIGxpYmduYXJsX3BpYy5hIGxpYmduYXJsLmEgbGliZ25hdF9waWMuYSBsaWJn bmF0LmEgbGliZ21lbS5hIgotZGVwZW5kcz0iJHtwa2duYW1lfS1saWJjLSR7dmVyc2lvbn1fJHty ZXZpc2lvbn0iCi0KLV9hcHBseV9wYXRjaCgpIHsKLQlsb2NhbCBhcmdzPSIkMSIgcG5hbWU9IiQo YmFzZW5hbWUgJDIpIgotCi0JaWYgWyAhIC1mICIuJHtwbmFtZX1fZG9uZSIgXTsgdGhlbgotCQlw YXRjaCAtTiAkYXJncyAtaSAkMgotCQl0b3VjaCAuJHtwbmFtZX1fZG9uZQotCWZpCi19Ci0KLV9i aW51dGlsc19idWlsZCgpIHsKLQlsb2NhbCBfYXJncwotCi0JWyAtZiAke3dya3NyY30vLmJpbnV0 aWxzX2J1aWxkX2RvbmUgXSAmJiByZXR1cm4gMAotCi0JY2QgJHt3cmtzcmN9Ci0JbXNnX25vcm1h bCAiQnVpbGRpbmcgY3Jvc3MgYmludXRpbHMgYm9vdHN0cmFwXG4iCi0KLQlbICEgLWQgYmludXRp bHMtYnVpbGQgXSAmJiBta2RpciBiaW51dGlscy1idWlsZAotCWNkIGJpbnV0aWxzLWJ1aWxkCi0K LQlfYXJncz0iLS1wcmVmaXg9L3VzciIKLQlfYXJncys9IiAtLXRhcmdldD0ke190cmlwbGV0fSIK LQlfYXJncys9IiAtLXdpdGgtc3lzcm9vdD0ke19zeXNyb290fSIKLQlfYXJncys9IiAtLWRpc2Fi bGUtbmxzIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1tdWx0aWxpYiIKLQlfYXJncys9IiAtLWRpc2Fi bGUtd2Vycm9yIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1zaGFyZWQiCi0JX2FyZ3MrPSIgLS13aXRo LXN5c3RlbS16bGliIgotCV9hcmdzKz0iICR7X2ZwdWZsYWdzfSIKLQotCS4uL2JpbnV0aWxzLSR7 X2JpbnV0aWxzX3ZlcnNpb259L2NvbmZpZ3VyZSAke19hcmdzfQotCi0JbWFrZSBjb25maWd1cmUt aG9zdCAmJiBtYWtlICR7bWFrZWpvYnN9Ci0JbWFrZSBpbnN0YWxsCi0KLQl0b3VjaCAke3dya3Ny Y30vLmJpbnV0aWxzX2J1aWxkX2RvbmUKLX0KLQotX2djY19ib290c3RyYXAoKSB7Ci0JbG9jYWwg X2FyZ3MKLQotCVsgLWYgJHt3cmtzcmN9Ly5nY2NfYm9vdHN0cmFwX2RvbmUgXSAmJiByZXR1cm4g MAotCi0JY2QgJHt3cmtzcmN9L2djYy0ke19nY2NfdmVyc2lvbn0KLQlmb3IgZiBpbiAke1hCUFNf U1JDUEtHRElSfS9nY2MvcGF0Y2hlcy8qLnBhdGNoOyBkbwotCQlfYXBwbHlfcGF0Y2ggLXAwICIk ZiIKLQlkb25lCi0JZm9yIGYgaW4gJHtYQlBTX1NSQ1BLR0RJUn0vZ2NjL2ZpbGVzLyotbXVzbC5w YXRjaDsgZG8KLQkJX2FwcGx5X3BhdGNoIC1wMSAiJGYiCi0JZG9uZQotCi0JbXNnX25vcm1hbCAi QnVpbGRpbmcgY3Jvc3MgZ2NjIGJvb3RzdHJhcFxuIgotCi0JWyAhIC1kIC4uL2djYy1ib290c3Ry YXAgXSAmJiBta2RpciAuLi9nY2MtYm9vdHN0cmFwCi0JY2QgLi4vZ2NjLWJvb3RzdHJhcAotCi0J X2FyZ3M9Ii0tcHJlZml4PS91c3IiCi0JX2FyZ3MrPSIgLS10YXJnZXQ9JHtfdHJpcGxldH0iCi0J X2FyZ3MrPSIgLS13aXRoLXN5c3Jvb3Q9JHtfc3lzcm9vdH0iCi0JX2FyZ3MrPSIgLS13aXRoLW5l d2xpYiIKLQlfYXJncys9IiAtLWVuYWJsZS1sYW5ndWFnZXM9YyIKLQlfYXJncys9IiAtLXdpdGgt bmV3bGliIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJzc3AiCi0JX2FyZ3MrPSIgLS1kaXNhYmxl LW5scyIKLQlfYXJncys9IiAtLWRpc2FibGUtbGlicXVhZG1hdGgiCi0JX2FyZ3MrPSIgLS1kaXNh YmxlLXRocmVhZHMiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWRlY2ltYWwtZmxvYXQiCi0JX2FyZ3Mr PSIgLS1kaXNhYmxlLXNoYXJlZCIKLQlfYXJncys9IiAtLWRpc2FibGUtbGlibXB4IgotCV9hcmdz Kz0iIC0tZGlzYWJsZS1saWJtdWRmbGFwIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJnb21wIgot CV9hcmdzKz0iIC0tZGlzYWJsZS1saWJhdG9taWMiCi0JX2FyZ3MrPSIgJHtfZnB1ZmxhZ3N9Igot Ci0JQ0ZMQUdTPSItTzAgLWcwIiBDWFhGTEFHUz0iLU8wIC1nMCIgXAotCQkuLi9nY2MtJHtfZ2Nj X3ZlcnNpb259L2NvbmZpZ3VyZSAke19hcmdzfQotCi0JbWFrZSAke21ha2Vqb2JzfQotCW1ha2Ug aW5zdGFsbAotCi0JdG91Y2ggJHt3cmtzcmN9Ly5nY2NfYm9vdHN0cmFwX2RvbmUKLX0KLQotX2xp bnV4X2hlYWRlcnMoKSB7Ci0JWyAtZiAke3dya3NyY30vLmxpbnV4X2J1aWxkX2RvbmUgXSAmJiBy ZXR1cm4gMAotCi0JY2QgJHt3cmtzcmN9Ci0JbXNnX25vcm1hbCAiQnVpbGRpbmcgTGludXggQVBJ IGhlYWRlcnNcbiIKLQotCWNkIGxpbnV4LSR7X2xpbnV4X3ZlcnNpb259Ci0KLQlmb3IgZiBpbiAk e1hCUFNfU1JDUEtHRElSfS9rZXJuZWwtbGliYy1oZWFkZXJzL3BhdGNoZXMvKi5wYXRjaDsgZG8K LQkJX2FwcGx5X3BhdGNoIC1wMCAkZgotCWRvbmUKLQotCW1ha2UgQVJDSD1taXBzIGhlYWRlcnNf Y2hlY2sKLQltYWtlIEFSQ0g9bWlwcyBJTlNUQUxMX0hEUl9QQVRIPSR7X3N5c3Jvb3R9L3VzciBo ZWFkZXJzX2luc3RhbGwKLQotCXRvdWNoICR7d3Jrc3JjfS8ubGludXhfYnVpbGRfZG9uZQotfQot Ci1fbXVzbF9idWlsZCgpIHsKLQlbIC1mICR7d3Jrc3JjfS8ubXVzbF9idWlsZF9kb25lIF0gJiYg cmV0dXJuIDAKLQotCWNkICR7d3Jrc3JjfS9tdXNsLSR7X211c2xfdmVyc2lvbn0KLQltc2dfbm9y bWFsICJCdWlsZGluZyBjcm9zcyBtdXNsIGxpYmNcbiIKLQotCSMgQXBwbHkgbXVzbCBwYXRjaGVz IGlmIHRoZXJlIGFyZSBhbnkKLQlpZiBbIC1kICIke1hCUFNfU1JDUEtHRElSfS9tdXNsL3BhdGNo ZXMiIF07IHRoZW4KLQkJZm9yIGYgaW4gJHtYQlBTX1NSQ1BLR0RJUn0vbXVzbC9wYXRjaGVzLyou cGF0Y2g7IGRvCi0JCQlfYXBwbHlfcGF0Y2ggLXAwICIkZiIKLQkJZG9uZQotCWZpCi0KLQlDQz0i JHtfdHJpcGxldH0tZ2NjIiBDRkxBR1M9Ii1PcyAtcGlwZSAtZlBJQyAke19hcmNoZmxhZ3N9IiBc Ci0JCS4vY29uZmlndXJlIC0tcHJlZml4PS91c3IKLQotCW1ha2UgJHttYWtlam9ic30KLQltYWtl IERFU1RESVI9JHtfc3lzcm9vdH0gaW5zdGFsbAotCi0JdG91Y2ggJHt3cmtzcmN9Ly5tdXNsX2J1 aWxkX2RvbmUKLX0KLQotX2djY19idWlsZCgpIHsKLQlsb2NhbCBfYXJncwotCi0JWyAtZiAke3dy a3NyY30vLmdjY19idWlsZF9kb25lIF0gJiYgcmV0dXJuIDAKLQotCWNkICR7d3Jrc3JjfQotCW1z Z19ub3JtYWwgIkJ1aWxkaW5nIGNyb3NzIGdjYyBmaW5hbFxuIgotCi0JWyAhIC1kIGdjYy1idWls ZCBdICYmIG1rZGlyIGdjYy1idWlsZAotCWNkIGdjYy1idWlsZAotCi0JX2FyZ3M9Ii0tcHJlZml4 PS91c3IiCi0JX2FyZ3MrPSIgLS1saWJleGVjZGlyPS91c3IvbGliIgotCV9hcmdzKz0iIC0tdGFy Z2V0PSR7X3RyaXBsZXR9IgotCV9hcmdzKz0iIC0td2l0aC1zeXNyb290PSR7X3N5c3Jvb3R9Igot CV9hcmdzKz0iIC0tZW5hYmxlLWxhbmd1YWdlcz1jLGFkYSxjKyssb2JqYyxvYmotYysrLGZvcnRy YW4sbHRvIgotCV9hcmdzKz0iIC0tZW5hYmxlLWxpYmFkYSIKLQlfYXJncys9IiAtLWVuYWJsZS1s dG8iCi0JX2FyZ3MrPSIgLS1lbmFibGUtZGVmYXVsdC1waWUiCi0JX2FyZ3MrPSIgLS1lbmFibGUt ZGVmYXVsdC1zc3AiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYnNhbml0aXplciIKLQlfYXJncys9 IiAtLWRpc2FibGUtbXVsdGlsaWIiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLW5scyIKLQlfYXJncys9 IiAtLWRpc2FibGUtbGlicXVhZG1hdGgiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYm1weCIKLQlf YXJncys9IiAtLWRpc2FibGUtbGlibXVkZmxhcCIKLQlfYXJncys9IiAtLWRpc2FibGUtbGliYXRv bWljIgotCV9hcmdzKz0iIC0tZW5hYmxlLWxpYnNzcCIKLQlfYXJncys9IiAtLWVuYWJsZS1zaGFy ZWQiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLXN5bXZlcnMiCi0JX2FyZ3MrPSIgJHtfZnB1ZmxhZ3N9 IgotCi0JLi4vZ2NjLSR7X2djY192ZXJzaW9ufS9jb25maWd1cmUgJHtfYXJnc30KLQotCW1ha2Ug JHttYWtlam9ic30KLQotCXRvdWNoICR7d3Jrc3JjfS8uZ2NjX2J1aWxkX2RvbmUKLX0KLQotZG9f YnVpbGQoKSB7Ci0JIyBFbnN1cmUgd2UgdXNlIHNhbmUgZW52aXJvbm1lbnQKLQl1bnNldCBDQyBD WFggQ1BQIExEIEFTIEFSIFJBTkxJQiBPQkpEVU1QIFJFQURFTEYgTk0KLQl1bnNldCBDRkxBR1Mg Q1hYRkxBR1MgQ1BQRkxBR1MgTERGTEFHUwotCWV4cG9ydCBDRkxBR1M9Ii1PcyAtcGlwZSIgQ1hY RkxBR1M9Ii1PcyAtcGlwZSIKLQotCWZvciBmIGluIGluY2x1ZGUgbGliIGxpYmV4ZWMgYmluIHNi aW47IGRvCi0JCWlmIFsgISAtZCAke19zeXNyb290fS91c3IvJHtmfSBdOyB0aGVuCi0JCQlta2Rp ciAtcCAke19zeXNyb290fS91c3IvJHtmfQotCQlmaQotCQlpZiBbICEgLWggJHtfc3lzcm9vdH0v JHtmfSBdOyB0aGVuCi0JCQlsbiAtc2ZyICR7X3N5c3Jvb3R9L3Vzci8ke2Z9ICR7X3N5c3Jvb3R9 LyR7Zn0KLQkJZmkKLQlkb25lCi0JbG4gLXNmIGxpYiAke19zeXNyb290fS91c3IvbGliMzIKLQls biAtc2YgdXNyL2xpYiAke19zeXNyb290fS9saWIzMgotCi0JX2JpbnV0aWxzX2J1aWxkCi0JX2dj Y19ib290c3RyYXAKLQlfbGludXhfaGVhZGVycwotCV9tdXNsX2J1aWxkCi0JX2djY19idWlsZAot fQotCi1kb19pbnN0YWxsKCkgewotCWZvciBmIGluIGluY2x1ZGUgbGliIGxpYmV4ZWMgYmluIHNi aW47IGRvCi0JCWlmIFsgISAtZCAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci8ke2Z9IF07IHRo ZW4KLQkJCW1rZGlyIC1wICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyLyR7Zn0KLQkJZmkKLQkJ aWYgWyAhIC1oICR7REVTVERJUn0vJHtfc3lzcm9vdH0vJHtmfSBdOyB0aGVuCi0JCQlsbiAtc2Zy ICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyLyR7Zn0gXAotCQkJCSR7REVTVERJUn0vJHtfc3lz cm9vdH0vJHtmfQotCQlmaQotCWRvbmUKLQlsbiAtc2YgbGliICR7REVTVERJUn0vJHtfc3lzcm9v dH0vdXNyL2xpYjMyCi0JbG4gLXNmIHVzci9saWIgJHtERVNURElSfS8ke19zeXNyb290fS9saWIz MgotCi0JIyBpbnN0YWxsIGxpbnV4IEFQSSBoZWFkZXJzCi0JY2QgJHt3cmtzcmN9L2xpbnV4LSR7 X2xpbnV4X3ZlcnNpb259Ci0JbWFrZSBBUkNIPW1pcHMgSU5TVEFMTF9IRFJfUEFUSD0ke0RFU1RE SVJ9LyR7X3N5c3Jvb3R9L3VzciBoZWFkZXJzX2luc3RhbGwKLQlybSAtZiAkKGZpbmQgJHtERVNU RElSfS8ke19zeXNyb290fS91c3IvaW5jbHVkZSAtbmFtZSAuaW5zdGFsbCAtb3IgLW5hbWUgLi5p bnN0YWxsLmNtZCkKLQlybSAtcmYgJHtERVNURElSfS8ke19zeXNyb290fS91c3IvaW5jbHVkZS9k cm0KLQotCSMgaW5zdGFsbCBjcm9zcyBiaW51dGlscwotCWNkICR7d3Jrc3JjfS9iaW51dGlscy1i dWlsZAotCW1ha2UgREVTVERJUj0ke0RFU1RESVJ9IGluc3RhbGwKLQotCSMgaW5zdGFsbCBjcm9z cyBnY2MKLQljZCAke3dya3NyY30vZ2NjLWJ1aWxkCi0JbWFrZSBERVNURElSPSR7REVTVERJUn0g aW5zdGFsbAotCi0JIyBtb3ZlIGxpYmNjMS5zbyogdG8gdGhlIHN5c3Jvb3QKLQltdiAke0RFU1RE SVJ9L3Vzci9saWIvbGliY2MxLnNvKiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci9saWIKLQot CSMgaW5zdGFsbCBtdXNsIGxpYmMgZm9yIHRhcmdldAotCWNkICR7d3Jrc3JjfS9tdXNsLSR7X211 c2xfdmVyc2lvbn0KLQltYWtlIERFU1RESVI9JHtERVNURElSfS8ke19zeXNyb290fSBpbnN0YWxs Ci0KLQkjIFJlbW92ZSB1c2VsZXNzIGhlYWRlcnMuCi0Jcm0gLXJmICR7REVTVERJUn0vdXNyL2xp Yi9nY2MvJHtfdHJpcGxldH0vKi9pbmNsdWRlLWZpeGVkCi0KLQkjIE1ha2UgbGQtbXVzbCouc28u MSBzeW1saW5rcyByZWxhdGl2ZS4KLQlsbiAtc2YgbGliYy5zbyAke0RFU1RESVJ9LyR7X3N5c3Jv b3R9L3Vzci9saWIvbGQtbXVzbC1taXBzZWwuc28uMQotCWxuIC1zZiBsaWJjLnNvICR7REVTVERJ Un0vJHtfc3lzcm9vdH0vdXNyL2xpYi9sZC1tdXNsLW1pcHNlbC1zZi5zby4xCi0KLQkjIHN5bWxp bmtzIGZvciBnbmFybCBhbmQgZ25hdCBzaGFyZWQgbGlicmFyaWVzCi0JX21ham9ydmVyPSR7X2dj Y192ZXJzaW9uJS4qLip9Ci0JX2FkYWxpYj11c3IvbGliL2djYy8ke190cmlwbGV0fS8ke19nY2Nf dmVyc2lvbn0vYWRhbGliCi0JbXYgLXYgJHtERVNURElSfS8ke19hZGFsaWJ9L2xpYmduYXJsLSR7 X21ham9ydmVyfS5zbyAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci9saWIKLQltdiAtdiAke0RF U1RESVJ9LyR7X2FkYWxpYn0vbGliZ25hdC0ke19tYWpvcnZlcn0uc28gJHtERVNURElSfS8ke19z eXNyb290fS91c3IvbGliCi0JbG4gLXN2ZiBsaWJnbmFybC0ke19tYWpvcnZlcn0uc28gbGliZ25h cmwuc28KLQlsbiAtc3ZmIGxpYmduYXQtJHtfbWFqb3J2ZXJ9LnNvIGxpYmduYXQuc28KLQlybSAt dmYgJHtERVNURElSfS8ke19hZGFsaWJ9L2xpYmduYXtybCx0fS5zbwotCi0JIyBSZW1vdmUgdW5u ZWNlc3Nhcnkgc3R1ZmYKLQlybSAtZiAke0RFU1RESVJ9L3Vzci9saWIqL2xpYmliZXJ0eS5hCi0J cm0gLXJmICR7REVTVERJUn0vdXNyL3NoYXJlCi0Jcm0gLXJmICR7REVTVERJUn0vJHtfc3lzcm9v dH0ve2V0Yyx2YXJ9Ci0Jcm0gLXJmICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL3tzYmluLHNo YXJlLGxpYmV4ZWN9Ci0Jcm0gLWYgJHtERVNURElSfS8ke19zeXNyb290fS9saWJleGVjCi0Jcm0g LWYgJHtERVNURElSfS8ke19zeXNyb290fS9saWIvKi5weQotCXJtIC1mICR7REVTVERJUn0vJHtf c3lzcm9vdH0ve3NiaW4sbGlifQotfQorY3Jvc3NfdHJpcGxldD0ke190cmlwbGV0fQorY3Jvc3Nf d29yZHNpemU9MzIKK2Nyb3NzX2xpYmM9bXVzbAorY3Jvc3NfYmludXRpbHNfdmVyc2lvbj0ke19i aW51dGlsc192ZXJzaW9ufQorY3Jvc3NfZ2NjX3ZlcnNpb249JHtfZ2NjX3ZlcnNpb259Citjcm9z c19tdXNsX3ZlcnNpb249JHtfbXVzbF92ZXJzaW9ufQorY3Jvc3NfbGludXhfdmVyc2lvbj0ke19s aW51eF92ZXJzaW9ufQorY3Jvc3NfbGludXhfYXJjaD1hcm0KK2Nyb3NzX2djY19za2lwX2dvPXll cworY3Jvc3NfYmludXRpbHNfY29uZmlndXJlX2FyZ3M9Ii0td2l0aG91dC1mcCAtLWVuYWJsZS1k ZWZhdWx0LWhhc2gtc3R5bGU9c3lzdiIKK2Nyb3NzX211c2xfY2ZsYWdzPSItT3MgLW1hcmNoPW1p cHMzMnIyIC1tc29mdC1mbG9hdCIKIAogY3Jvc3MtbWlwc2VsLWxpbnV4LW11c2wtbGliY19wYWNr YWdlKCkgewogCXNob3J0X2Rlc2MrPSIgLSBsaWJjIGZpbGVzIgogCW5vc3RyaXA9eWVzCiAJbm92 ZXJpZnlyZGVwcz15ZXMKIAlub3NobGlicHJvdmlkZXM9eWVzCisKIAlwa2dfaW5zdGFsbCgpIHsK LQkJdm1vdmUgJHtfc3lzcm9vdH0KKwkJdm1vdmUgdXNyLyR7Y3Jvc3NfdHJpcGxldH0KIAl9CiB9 CgpGcm9tIGRkZjU4YjEwYmRkOThlMGE0YmY3NDMzYjc5ZGIyNjYyZmMxNDk3ZTAgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IHE2NiA8ZGFuaWVsQG9jdGFmb3JnZS5vcmc+CkRhdGU6IFNh dCwgMjYgRGVjIDIwMjAgMDA6MTI6MDcgKzAxMDAKU3ViamVjdDogW1BBVENIIDE2LzI2XSBjcm9z cy1taXBzZWwtbGludXgtbXVzbGhmOiByZXdvcmsgd2l0aCB2b2lkLWNyb3NzCgotLS0KIHNyY3Br Z3MvY3Jvc3MtbWlwc2VsLWxpbnV4LW11c2xoZi90ZW1wbGF0ZSB8IDI5MCArKy0tLS0tLS0tLS0t LS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAyMyBpbnNlcnRpb25zKCspLCAyNjcgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jcm9zcy1taXBzZWwtbGludXgtbXVzbGhmL3RlbXBs YXRlIGIvc3JjcGtncy9jcm9zcy1taXBzZWwtbGludXgtbXVzbGhmL3RlbXBsYXRlCmluZGV4IGJm NzViOWVjOGQ1Li45NjVmNDliMDExMCAxMDA2NDQKLS0tIGEvc3JjcGtncy9jcm9zcy1taXBzZWwt bGludXgtbXVzbGhmL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvY3Jvc3MtbWlwc2VsLWxpbnV4LW11 c2xoZi90ZW1wbGF0ZQpAQCAtMSwyOTUgKzEsNTEgQEAKLSMgVGVtcGxhdGUgYnVpbGQgZmlsZSBm b3IgJ2Nyb3NzLW1pcHNlbC1saW51eC1tdXNsaGYnCi0jCisjIFRlbXBsYXRlIGZpbGUgZm9yICdj cm9zcy1taXBzZWwtbGludXgtbXVzbGhmJworX3RyaXBsZXQ9bWlwc2VsLWxpbnV4LW11c2xoZgog X2JpbnV0aWxzX3ZlcnNpb249Mi4zMgogX2djY192ZXJzaW9uPTkuMy4wCiBfbXVzbF92ZXJzaW9u PTEuMS4yNAogX2xpbnV4X3ZlcnNpb249NC4xOQotCi1fdHJpcGxldD1taXBzZWwtbGludXgtbXVz bGhmCi1fZnB1ZmxhZ3M9Ii0td2l0aC1mbG9hdD1oYXJkIC0td2l0aC1mcCIKLV9hcmNoZmxhZ3M9 Ii1tYXJjaD1taXBzMzJyMiAtbWhhcmQtZmxvYXQiCi1fc3lzcm9vdD0iL3Vzci8ke190cmlwbGV0 fSIKLQogcGtnbmFtZT1jcm9zcy0ke190cmlwbGV0fQogdmVyc2lvbj0wLjMzCiByZXZpc2lvbj0z Ci1zaG9ydF9kZXNjPSJDcm9zcyB0b29sY2hhaW4gZm9yIE1JUFMzMnIyIExFIGhhcmRmbG9hdCB0 YXJnZXQgKG11c2wpIgorYnVpbGRfc3R5bGU9dm9pZC1jcm9zcworY29uZmlndXJlX2FyZ3M9Ii0t d2l0aC1hcmNoPW1pcHMzMnIyIC0td2l0aC1mbG9hdD1oYXJkCisgLS13aXRoLWxpbmtlci1oYXNo LXN0eWxlPXN5c3YiCitob3N0bWFrZWRlcGVuZHM9InRhciBnY2Mtb2JqYyBmbGV4IHBlcmwgcHl0 aG9uMyIKK21ha2VkZXBlbmRzPSJpc2wxNS1kZXZlbCBsaWJtcGMtZGV2ZWwgemxpYi1kZXZlbCBn bXAtZGV2ZWwgbXBmci1kZXZlbCIKK2RlcGVuZHM9IiR7cGtnbmFtZX0tbGliYy0ke3ZlcnNpb259 XyR7cmV2aXNpb259Igorc2hvcnRfZGVzYz0iVm9pZCBjcm9zcyB0b29sY2hhaW4gZm9yICR7X3Ry aXBsZXR9IgogbWFpbnRhaW5lcj0iT3JwaGFuZWQgPG9ycGhhbkB2b2lkbGludXgub3JnPiIKIGhv bWVwYWdlPSJodHRwczovL3d3dy52b2lkbGludXgub3JnLyIKIGxpY2Vuc2U9IkdQTC0yLjAtb3It bGF0ZXIsIEdQTC0zLjAtb3ItbGF0ZXIsIE1JVCIKIGRpc3RmaWxlcz0iCiAgJHtHTlVfU0lURX0v YmludXRpbHMvYmludXRpbHMtJHtfYmludXRpbHNfdmVyc2lvbn0udGFyLnh6CiAgJHtHTlVfU0lU RX0vZ2NjL2djYy0ke19nY2NfdmVyc2lvbn0vZ2NjLSR7X2djY192ZXJzaW9ufS50YXIueHoKLSBo dHRwOi8vd3d3Lm11c2wtbGliYy5vcmcvcmVsZWFzZXMvbXVzbC0ke19tdXNsX3ZlcnNpb259LnRh ci5negorIGh0dHBzOi8vd3d3Lm11c2wtbGliYy5vcmcvcmVsZWFzZXMvbXVzbC0ke19tdXNsX3Zl cnNpb259LnRhci5negogICR7S0VSTkVMX1NJVEV9L2tlcm5lbC92NC54L2xpbnV4LSR7X2xpbnV4 X3ZlcnNpb259LnRhci54eiIKIGNoZWNrc3VtPSIwYWI2YzU1ZGQ4NmE5MmVkNTYxOTcyYmExNWI5 YjcwYThiOWY3NTU1N2Y4OTY0NDZjODJlOGIzNmU0NzNlZTA0CiAgNzFlMTk3ODY3NjExZjYwNTRh YTExMTliMTNhMGMwYWJhYzEyODM0NzY1ZmUyZDgxZjM1YWM1N2Y4NGY3NDJkMQogIDEzNzBjOWE4 MTJiMmNmMmE3ZDkyODAyNTEwY2NhMDA1OGNjMzdlNjZhN2JlZGQ3MDA1MWYwYTM0MDE1MDIyYTMK ICAwYzY4ZjU2NTU1MjhhZWQ0Zjk5ZGFlNzFhNWIyNTllZGM5MzIzOWZhODk5ZTJkZjc5YzA1NTI3 NWMyMTc0OWExIgogCi1saWIzMmRpc2FibGVkPXllcwotbm9jcm9zcz15ZXMKLW5vcGllPXllcwot bm9kZWJ1Zz15ZXMKLWNyZWF0ZV93cmtzcmM9eWVzCi0KLWhvc3RtYWtlZGVwZW5kcz0idGFyIGdj Yy1vYmpjIGZsZXggcGVybCBweXRob24zIgotbWFrZWRlcGVuZHM9InpsaWItZGV2ZWwgZ21wLWRl dmVsIG1wZnItZGV2ZWwgbGlibXBjLWRldmVsIGlzbDE1LWRldmVsIgotbm9zdHJpcF9maWxlcz0i bGliY2FmX3NpbmdsZS5hIGxpYmdjYy5hIGxpYmdjb3YuYSBsaWJnY2NfZWguYQotIGxpYmduYXJs X3BpYy5hIGxpYmduYXJsLmEgbGliZ25hdF9waWMuYSBsaWJnbmF0LmEgbGliZ21lbS5hIgotZGVw ZW5kcz0iJHtwa2duYW1lfS1saWJjLSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCi0KLV9hcHBseV9w YXRjaCgpIHsKLQlsb2NhbCBhcmdzPSIkMSIgcG5hbWU9IiQoYmFzZW5hbWUgJDIpIgotCi0JaWYg WyAhIC1mICIuJHtwbmFtZX1fZG9uZSIgXTsgdGhlbgotCQlwYXRjaCAtTiAkYXJncyAtaSAkMgot CQl0b3VjaCAuJHtwbmFtZX1fZG9uZQotCWZpCi19Ci0KLV9iaW51dGlsc19idWlsZCgpIHsKLQls b2NhbCBfYXJncwotCi0JWyAtZiAke3dya3NyY30vLmJpbnV0aWxzX2J1aWxkX2RvbmUgXSAmJiBy ZXR1cm4gMAotCi0JY2QgJHt3cmtzcmN9Ci0JbXNnX25vcm1hbCAiQnVpbGRpbmcgY3Jvc3MgYmlu dXRpbHMgYm9vdHN0cmFwXG4iCi0KLQlbICEgLWQgYmludXRpbHMtYnVpbGQgXSAmJiBta2RpciBi aW51dGlscy1idWlsZAotCWNkIGJpbnV0aWxzLWJ1aWxkCi0KLQlfYXJncz0iLS1wcmVmaXg9L3Vz ciIKLQlfYXJncys9IiAtLXRhcmdldD0ke190cmlwbGV0fSIKLQlfYXJncys9IiAtLXdpdGgtc3lz cm9vdD0ke19zeXNyb290fSIKLQlfYXJncys9IiAtLWRpc2FibGUtbmxzIgotCV9hcmdzKz0iIC0t ZGlzYWJsZS1tdWx0aWxpYiIKLQlfYXJncys9IiAtLWRpc2FibGUtd2Vycm9yIgotCV9hcmdzKz0i IC0tZGlzYWJsZS1zaGFyZWQiCi0JX2FyZ3MrPSIgLS13aXRoLXN5c3RlbS16bGliIgotCV9hcmdz Kz0iICR7X2ZwdWZsYWdzfSIKLQotCS4uL2JpbnV0aWxzLSR7X2JpbnV0aWxzX3ZlcnNpb259L2Nv bmZpZ3VyZSAke19hcmdzfQotCi0JbWFrZSBjb25maWd1cmUtaG9zdCAmJiBtYWtlICR7bWFrZWpv YnN9Ci0JbWFrZSBpbnN0YWxsCi0KLQl0b3VjaCAke3dya3NyY30vLmJpbnV0aWxzX2J1aWxkX2Rv bmUKLX0KLQotX2djY19ib290c3RyYXAoKSB7Ci0JbG9jYWwgX2FyZ3MKLQotCVsgLWYgJHt3cmtz cmN9Ly5nY2NfYm9vdHN0cmFwX2RvbmUgXSAmJiByZXR1cm4gMAotCi0JY2QgJHt3cmtzcmN9L2dj Yy0ke19nY2NfdmVyc2lvbn0KLQlmb3IgZiBpbiAke1hCUFNfU1JDUEtHRElSfS9nY2MvcGF0Y2hl cy8qLnBhdGNoOyBkbwotCQlfYXBwbHlfcGF0Y2ggLXAwICIkZiIKLQlkb25lCi0JZm9yIGYgaW4g JHtYQlBTX1NSQ1BLR0RJUn0vZ2NjL2ZpbGVzLyotbXVzbC5wYXRjaDsgZG8KLQkJX2FwcGx5X3Bh dGNoIC1wMSAiJGYiCi0JZG9uZQotCi0JbXNnX25vcm1hbCAiQnVpbGRpbmcgY3Jvc3MgZ2NjIGJv b3RzdHJhcFxuIgotCi0JWyAhIC1kIC4uL2djYy1ib290c3RyYXAgXSAmJiBta2RpciAuLi9nY2Mt Ym9vdHN0cmFwCi0JY2QgLi4vZ2NjLWJvb3RzdHJhcAotCi0JX2FyZ3M9Ii0tcHJlZml4PS91c3Ii Ci0JX2FyZ3MrPSIgLS10YXJnZXQ9JHtfdHJpcGxldH0iCi0JX2FyZ3MrPSIgLS13aXRoLXN5c3Jv b3Q9JHtfc3lzcm9vdH0iCi0JX2FyZ3MrPSIgLS13aXRoLW5ld2xpYiIKLQlfYXJncys9IiAtLWVu YWJsZS1sYW5ndWFnZXM9YyIKLQlfYXJncys9IiAtLXdpdGgtbmV3bGliIgotCV9hcmdzKz0iIC0t ZGlzYWJsZS1saWJzc3AiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLW5scyIKLQlfYXJncys9IiAtLWRp c2FibGUtbGlicXVhZG1hdGgiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLXRocmVhZHMiCi0JX2FyZ3Mr PSIgLS1kaXNhYmxlLWRlY2ltYWwtZmxvYXQiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLXNoYXJlZCIK LQlfYXJncys9IiAtLWRpc2FibGUtbGlibXB4IgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJtdWRm bGFwIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJnb21wIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1s aWJhdG9taWMiCi0JX2FyZ3MrPSIgJHtfZnB1ZmxhZ3N9IgotCi0JQ0ZMQUdTPSItTzAgLWcwIiBD WFhGTEFHUz0iLU8wIC1nMCIgXAotCQkuLi9nY2MtJHtfZ2NjX3ZlcnNpb259L2NvbmZpZ3VyZSAk e19hcmdzfQotCi0JbWFrZSAke21ha2Vqb2JzfQotCW1ha2UgaW5zdGFsbAotCi0JdG91Y2ggJHt3 cmtzcmN9Ly5nY2NfYm9vdHN0cmFwX2RvbmUKLX0KLQotX2xpbnV4X2hlYWRlcnMoKSB7Ci0JWyAt ZiAke3dya3NyY30vLmxpbnV4X2J1aWxkX2RvbmUgXSAmJiByZXR1cm4gMAotCi0JY2QgJHt3cmtz cmN9Ci0JbXNnX25vcm1hbCAiQnVpbGRpbmcgTGludXggQVBJIGhlYWRlcnNcbiIKLQotCWNkIGxp bnV4LSR7X2xpbnV4X3ZlcnNpb259Ci0KLQlmb3IgZiBpbiAke1hCUFNfU1JDUEtHRElSfS9rZXJu ZWwtbGliYy1oZWFkZXJzL3BhdGNoZXMvKi5wYXRjaDsgZG8KLQkJX2FwcGx5X3BhdGNoIC1wMCAk ZgotCWRvbmUKLQotCW1ha2UgQVJDSD1taXBzIGhlYWRlcnNfY2hlY2sKLQltYWtlIEFSQ0g9bWlw cyBJTlNUQUxMX0hEUl9QQVRIPSR7X3N5c3Jvb3R9L3VzciBoZWFkZXJzX2luc3RhbGwKLQotCXRv dWNoICR7d3Jrc3JjfS8ubGludXhfYnVpbGRfZG9uZQotfQotCi1fbXVzbF9idWlsZCgpIHsKLQlb IC1mICR7d3Jrc3JjfS8ubXVzbF9idWlsZF9kb25lIF0gJiYgcmV0dXJuIDAKLQotCWNkICR7d3Jr c3JjfS9tdXNsLSR7X211c2xfdmVyc2lvbn0KLQltc2dfbm9ybWFsICJCdWlsZGluZyBjcm9zcyBt dXNsIGxpYmNcbiIKLQotCSMgQXBwbHkgbXVzbCBwYXRjaGVzIGlmIHRoZXJlIGFyZSBhbnkKLQlp ZiBbIC1kICIke1hCUFNfU1JDUEtHRElSfS9tdXNsL3BhdGNoZXMiIF07IHRoZW4KLQkJZm9yIGYg aW4gJHtYQlBTX1NSQ1BLR0RJUn0vbXVzbC9wYXRjaGVzLyoucGF0Y2g7IGRvCi0JCQlfYXBwbHlf cGF0Y2ggLXAwICIkZiIKLQkJZG9uZQotCWZpCi0KLQlDQz0iJHtfdHJpcGxldH0tZ2NjIiBDRkxB R1M9Ii1PcyAtcGlwZSAtZlBJQyAke19hcmNoZmxhZ3N9IiBcCi0JCS4vY29uZmlndXJlIC0tcHJl Zml4PS91c3IKLQotCW1ha2UgJHttYWtlam9ic30KLQltYWtlIERFU1RESVI9JHtfc3lzcm9vdH0g aW5zdGFsbAotCi0JdG91Y2ggJHt3cmtzcmN9Ly5tdXNsX2J1aWxkX2RvbmUKLX0KLQotX2djY19i dWlsZCgpIHsKLQlsb2NhbCBfYXJncwotCi0JWyAtZiAke3dya3NyY30vLmdjY19idWlsZF9kb25l IF0gJiYgcmV0dXJuIDAKLQotCWNkICR7d3Jrc3JjfQotCW1zZ19ub3JtYWwgIkJ1aWxkaW5nIGNy b3NzIGdjYyBmaW5hbFxuIgotCi0JWyAhIC1kIGdjYy1idWlsZCBdICYmIG1rZGlyIGdjYy1idWls ZAotCWNkIGdjYy1idWlsZAotCi0JX2FyZ3M9Ii0tcHJlZml4PS91c3IiCi0JX2FyZ3MrPSIgLS1s aWJleGVjZGlyPS91c3IvbGliIgotCV9hcmdzKz0iIC0tdGFyZ2V0PSR7X3RyaXBsZXR9IgotCV9h cmdzKz0iIC0td2l0aC1zeXNyb290PSR7X3N5c3Jvb3R9IgotCV9hcmdzKz0iIC0tZW5hYmxlLWxh bmd1YWdlcz1jLGFkYSxjKyssb2JqYyxvYmotYysrLGZvcnRyYW4sbHRvIgotCV9hcmdzKz0iIC0t ZW5hYmxlLWxpYmFkYSIKLQlfYXJncys9IiAtLWVuYWJsZS1sdG8iCi0JX2FyZ3MrPSIgLS1lbmFi bGUtZGVmYXVsdC1waWUiCi0JX2FyZ3MrPSIgLS1lbmFibGUtZGVmYXVsdC1zc3AiCi0JX2FyZ3Mr PSIgLS1kaXNhYmxlLWxpYnNhbml0aXplciIKLQlfYXJncys9IiAtLWRpc2FibGUtbXVsdGlsaWIi Ci0JX2FyZ3MrPSIgLS1kaXNhYmxlLW5scyIKLQlfYXJncys9IiAtLWRpc2FibGUtbGlicXVhZG1h dGgiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYm1weCIKLQlfYXJncys9IiAtLWRpc2FibGUtbGli bXVkZmxhcCIKLQlfYXJncys9IiAtLWRpc2FibGUtbGliYXRvbWljIgotCV9hcmdzKz0iIC0tZW5h YmxlLWxpYnNzcCIKLQlfYXJncys9IiAtLWVuYWJsZS1zaGFyZWQiCi0JX2FyZ3MrPSIgLS1kaXNh YmxlLXN5bXZlcnMiCi0JX2FyZ3MrPSIgJHtfZnB1ZmxhZ3N9IgotCi0JLi4vZ2NjLSR7X2djY192 ZXJzaW9ufS9jb25maWd1cmUgJHtfYXJnc30KLQotCW1ha2UgJHttYWtlam9ic30KLQotCXRvdWNo ICR7d3Jrc3JjfS8uZ2NjX2J1aWxkX2RvbmUKLX0KLQotZG9fYnVpbGQoKSB7Ci0JIyBFbnN1cmUg d2UgdXNlIHNhbmUgZW52aXJvbm1lbnQKLQl1bnNldCBDQyBDWFggQ1BQIExEIEFTIEFSIFJBTkxJ QiBPQkpEVU1QIFJFQURFTEYgTk0KLQl1bnNldCBDRkxBR1MgQ1hYRkxBR1MgQ1BQRkxBR1MgTERG TEFHUwotCWV4cG9ydCBDRkxBR1M9Ii1PcyAtcGlwZSIgQ1hYRkxBR1M9Ii1PcyAtcGlwZSIKLQot CWZvciBmIGluIGluY2x1ZGUgbGliIGxpYmV4ZWMgYmluIHNiaW47IGRvCi0JCWlmIFsgISAtZCAk e19zeXNyb290fS91c3IvJHtmfSBdOyB0aGVuCi0JCQlta2RpciAtcCAke19zeXNyb290fS91c3Iv JHtmfQotCQlmaQotCQlpZiBbICEgLWggJHtfc3lzcm9vdH0vJHtmfSBdOyB0aGVuCi0JCQlsbiAt c2ZyICR7X3N5c3Jvb3R9L3Vzci8ke2Z9ICR7X3N5c3Jvb3R9LyR7Zn0KLQkJZmkKLQlkb25lCi0J bG4gLXNmIGxpYiAke19zeXNyb290fS91c3IvbGliMzIKLQlsbiAtc2YgdXNyL2xpYiAke19zeXNy b290fS9saWIzMgotCi0JX2JpbnV0aWxzX2J1aWxkCi0JX2djY19ib290c3RyYXAKLQlfbGludXhf aGVhZGVycwotCV9tdXNsX2J1aWxkCi0JX2djY19idWlsZAotfQotCi1kb19pbnN0YWxsKCkgewot CWZvciBmIGluIGluY2x1ZGUgbGliIGxpYmV4ZWMgYmluIHNiaW47IGRvCi0JCWlmIFsgISAtZCAk e0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci8ke2Z9IF07IHRoZW4KLQkJCW1rZGlyIC1wICR7REVT VERJUn0vJHtfc3lzcm9vdH0vdXNyLyR7Zn0KLQkJZmkKLQkJaWYgWyAhIC1oICR7REVTVERJUn0v JHtfc3lzcm9vdH0vJHtmfSBdOyB0aGVuCi0JCQlsbiAtc2ZyICR7REVTVERJUn0vJHtfc3lzcm9v dH0vdXNyLyR7Zn0gXAotCQkJCSR7REVTVERJUn0vJHtfc3lzcm9vdH0vJHtmfQotCQlmaQotCWRv bmUKLQlsbiAtc2YgbGliICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL2xpYjMyCi0JbG4gLXNm IHVzci9saWIgJHtERVNURElSfS8ke19zeXNyb290fS9saWIzMgotCi0JIyBpbnN0YWxsIGxpbnV4 IEFQSSBoZWFkZXJzCi0JY2QgJHt3cmtzcmN9L2xpbnV4LSR7X2xpbnV4X3ZlcnNpb259Ci0JbWFr ZSBBUkNIPW1pcHMgSU5TVEFMTF9IRFJfUEFUSD0ke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3VzciBo ZWFkZXJzX2luc3RhbGwKLQlybSAtZiAkKGZpbmQgJHtERVNURElSfS8ke19zeXNyb290fS91c3Iv aW5jbHVkZSAtbmFtZSAuaW5zdGFsbCAtb3IgLW5hbWUgLi5pbnN0YWxsLmNtZCkKLQlybSAtcmYg JHtERVNURElSfS8ke19zeXNyb290fS91c3IvaW5jbHVkZS9kcm0KLQotCSMgaW5zdGFsbCBjcm9z cyBiaW51dGlscwotCWNkICR7d3Jrc3JjfS9iaW51dGlscy1idWlsZAotCW1ha2UgREVTVERJUj0k e0RFU1RESVJ9IGluc3RhbGwKLQotCSMgaW5zdGFsbCBjcm9zcyBnY2MKLQljZCAke3dya3NyY30v Z2NjLWJ1aWxkCi0JbWFrZSBERVNURElSPSR7REVTVERJUn0gaW5zdGFsbAotCi0JIyBtb3ZlIGxp YmNjMS5zbyogdG8gdGhlIHN5c3Jvb3QKLQltdiAke0RFU1RESVJ9L3Vzci9saWIvbGliY2MxLnNv KiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci9saWIKLQotCSMgaW5zdGFsbCBtdXNsIGxpYmMg Zm9yIHRhcmdldAotCWNkICR7d3Jrc3JjfS9tdXNsLSR7X211c2xfdmVyc2lvbn0KLQltYWtlIERF U1RESVI9JHtERVNURElSfS8ke19zeXNyb290fSBpbnN0YWxsCi0KLQkjIFJlbW92ZSB1c2VsZXNz IGhlYWRlcnMuCi0Jcm0gLXJmICR7REVTVERJUn0vdXNyL2xpYi9nY2MvJHtfdHJpcGxldH0vKi9p bmNsdWRlLWZpeGVkCi0KLQkjIE1ha2UgbGQtbXVzbC5zbyBzeW1saW5rcyByZWxhdGl2ZS4KLQls biAtc2YgbGliYy5zbyAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci9saWIvbGQtbXVzbC1taXBz ZWwuc28uMQotCi0JIyBzeW1saW5rcyBmb3IgZ25hcmwgYW5kIGduYXQgc2hhcmVkIGxpYnJhcmll cwotCV9tYWpvcnZlcj0ke19nY2NfdmVyc2lvbiUuKi4qfQotCV9hZGFsaWI9dXNyL2xpYi9nY2Mv JHtfdHJpcGxldH0vJHtfZ2NjX3ZlcnNpb259L2FkYWxpYgotCW12IC12ICR7REVTVERJUn0vJHtf YWRhbGlifS9saWJnbmFybC0ke19tYWpvcnZlcn0uc28gJHtERVNURElSfS8ke19zeXNyb290fS91 c3IvbGliCi0JbXYgLXYgJHtERVNURElSfS8ke19hZGFsaWJ9L2xpYmduYXQtJHtfbWFqb3J2ZXJ9 LnNvICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL2xpYgotCWxuIC1zdmYgbGliZ25hcmwtJHtf bWFqb3J2ZXJ9LnNvIGxpYmduYXJsLnNvCi0JbG4gLXN2ZiBsaWJnbmF0LSR7X21ham9ydmVyfS5z byBsaWJnbmF0LnNvCi0Jcm0gLXZmICR7REVTVERJUn0vJHtfYWRhbGlifS9saWJnbmF7cmwsdH0u c28KLQotCSMgUmVtb3ZlIHVubmVjZXNzYXJ5IHN0dWZmCi0Jcm0gLWYgJHtERVNURElSfS91c3Iv bGliKi9saWJpYmVydHkuYQotCXJtIC1yZiAke0RFU1RESVJ9L3Vzci9zaGFyZQotCXJtIC1yZiAk e0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3tldGMsdmFyfQotCXJtIC1yZiAke0RFU1RESVJ9LyR7X3N5 c3Jvb3R9L3Vzci97c2JpbixzaGFyZSxsaWJleGVjfQotCXJtIC1mICR7REVTVERJUn0vJHtfc3lz cm9vdH0vbGliZXhlYwotCXJtIC1mICR7REVTVERJUn0vJHtfc3lzcm9vdH0vbGliLyoucHkKLQly bSAtZiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3tzYmluLGxpYn0KLX0KK2Nyb3NzX3RyaXBsZXQ9 JHtfdHJpcGxldH0KK2Nyb3NzX3dvcmRzaXplPTMyCitjcm9zc19saWJjPW11c2wKK2Nyb3NzX2Jp bnV0aWxzX3ZlcnNpb249JHtfYmludXRpbHNfdmVyc2lvbn0KK2Nyb3NzX2djY192ZXJzaW9uPSR7 X2djY192ZXJzaW9ufQorY3Jvc3NfbXVzbF92ZXJzaW9uPSR7X211c2xfdmVyc2lvbn0KK2Nyb3Nz X2xpbnV4X3ZlcnNpb249JHtfbGludXhfdmVyc2lvbn0KK2Nyb3NzX2xpbnV4X2FyY2g9YXJtCitj cm9zc19nY2Nfc2tpcF9nbz15ZXMKK2Nyb3NzX2JpbnV0aWxzX2NvbmZpZ3VyZV9hcmdzPSItLWVu YWJsZS1kZWZhdWx0LWhhc2gtc3R5bGU9c3lzdiIKK2Nyb3NzX211c2xfY2ZsYWdzPSItT3MgLW1h cmNoPW1pcHMzMnIyIC1taGFyZC1mbG9hdCIKIAogY3Jvc3MtbWlwc2VsLWxpbnV4LW11c2xoZi1s aWJjX3BhY2thZ2UoKSB7CiAJc2hvcnRfZGVzYys9IiAtIGxpYmMgZmlsZXMiCiAJbm9zdHJpcD15 ZXMKIAlub3ZlcmlmeXJkZXBzPXllcwogCW5vc2hsaWJwcm92aWRlcz15ZXMKKwogCXBrZ19pbnN0 YWxsKCkgewotCQl2bW92ZSAke19zeXNyb290fQorCQl2bW92ZSB1c3IvJHtjcm9zc190cmlwbGV0 fQogCX0KIH0KCkZyb20gMzQ4NGY2ZmE1ZjUyYTYzY2Q2MDRiMWQ3YTMzYmMyOTZmYTA2MmU3MyBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogcTY2IDxkYW5pZWxAb2N0YWZvcmdlLm9yZz4K RGF0ZTogU2F0LCAyNiBEZWMgMjAyMCAxODozNzozOSArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMTcv MjZdIGNyb3NzLXBvd2VycGMtbGludXgtZ251OiByZXdvcmsgd2l0aCB2b2lkLWNyb3NzCgotLS0K IHNyY3BrZ3MvY3Jvc3MtcG93ZXJwYy1saW51eC1nbnUvdGVtcGxhdGUgfCAzNjMgKystLS0tLS0t LS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxOSBpbnNlcnRpb25zKCspLCAzNDQgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jcm9zcy1wb3dlcnBjLWxpbnV4LWdudS90 ZW1wbGF0ZSBiL3NyY3BrZ3MvY3Jvc3MtcG93ZXJwYy1saW51eC1nbnUvdGVtcGxhdGUKaW5kZXgg MzNmNTdhMDM0NGYuLmIwOTkxODE3YTMyIDEwMDY0NAotLS0gYS9zcmNwa2dzL2Nyb3NzLXBvd2Vy cGMtbGludXgtZ251L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvY3Jvc3MtcG93ZXJwYy1saW51eC1n bnUvdGVtcGxhdGUKQEAgLTEsMTkgKzEsMjEgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2Nyb3Nz LXBvd2VycGMtbGludXgtZ251JworX3RyaXBsZXQ9cG93ZXJwYy1saW51eC1nbnUKIF9iaW51dGls c192ZXJzaW9uPTIuMzIKIF9nY2NfdmVyc2lvbj05LjMuMAogX2dsaWJjX3ZlcnNpb249Mi4zMAog X2xpbnV4X3ZlcnNpb249NC4xOQotCi1fdHJpcGxldD1wb3dlcnBjLWxpbnV4LWdudQotX3N5c3Jv b3Q9Ii91c3IvJHtfdHJpcGxldH0iCi0KIHBrZ25hbWU9Y3Jvc3MtJHtfdHJpcGxldH0KIHZlcnNp b249MC4zMwogcmV2aXNpb249Mwotc2hvcnRfZGVzYz0iR05VIENyb3NzIHRvb2xjaGFpbiBmb3Ig dGhlICR7X3RyaXBsZXR9IHRhcmdldCAoYmludXRpbHMvZ2NjL2dsaWJjKSIKK2J1aWxkX3N0eWxl PXZvaWQtY3Jvc3MKK2NvbmZpZ3VyZV9hcmdzPSItLWVuYWJsZS1zZWN1cmVwbHQgLS1kaXNhYmxl LXZ0YWJsZS12ZXJpZnkiCitob3N0bWFrZWRlcGVuZHM9InRhciBnY2Mtb2JqYyBnY2MtZ28gZmxl eCBwZXJsIHB5dGhvbjMiCittYWtlZGVwZW5kcz0iaXNsMTUtZGV2ZWwgbGlibXBjLWRldmVsIHps aWItZGV2ZWwgZ21wLWRldmVsIG1wZnItZGV2ZWwiCitkZXBlbmRzPSIke3BrZ25hbWV9LWxpYmMt JHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIKK3Nob3J0X2Rlc2M9IlZvaWQgY3Jvc3MgdG9vbGNoYWlu IGZvciAke190cmlwbGV0fSIKIG1haW50YWluZXI9IlRob21hcyBCYXR0ZW4gPHN0ZW5zdG9ycG1j QGdtYWlsLmNvbT4iCi1ob21lcGFnZT0iaHR0cDovL3d3dy52b2lkbGludXgub3JnIgogbGljZW5z ZT0iR1BMLTIuMC1vci1sYXRlciwgR1BMLTMuMC1vci1sYXRlciwgTEdQTC0yLjEtb3ItbGF0ZXIi Citob21lcGFnZT0iaHR0cHM6Ly93d3cudm9pZGxpbnV4Lm9yZy8iCiBkaXN0ZmlsZXM9IgogICR7 R05VX1NJVEV9L2JpbnV0aWxzL2JpbnV0aWxzLSR7X2JpbnV0aWxzX3ZlcnNpb259LnRhci54egog ICR7R05VX1NJVEV9L2djYy9nY2MtJHtfZ2NjX3ZlcnNpb259L2djYy0ke19nY2NfdmVyc2lvbn0u dGFyLnh6CkBAIC0yNCwzNDggKzI2LDIxIEBAIGNoZWNrc3VtPSIwYWI2YzU1ZGQ4NmE5MmVkNTYx OTcyYmExNWI5YjcwYThiOWY3NTU1N2Y4OTY0NDZjODJlOGIzNmU0NzNlZTA0CiAgZTJjNDExNGU1 NjlhZmJlN2VkYmMyOTEzMWE0M2JlODMzODUwYWI5YTQ1OWQ4MWJlYjI1ODgwMTZkMmJiYjhhZgog IDBjNjhmNTY1NTUyOGFlZDRmOTlkYWU3MWE1YjI1OWVkYzkzMjM5ZmE4OTllMmRmNzljMDU1Mjc1 YzIxNzQ5YTEiCiAKLWxpYjMyZGlzYWJsZWQ9eWVzCi1ub2Nyb3NzPXllcwotbm9waWU9eWVzCi1j cmVhdGVfd3Jrc3JjPXllcwotaG9zdG1ha2VkZXBlbmRzPSJ0YXIgZ2NjLW9iamMgZ2NjLWdvIGZs ZXggcGVybCBweXRob24zIgotbWFrZWRlcGVuZHM9ImlzbDE1LWRldmVsIGxpYm1wYy1kZXZlbCB6 bGliLWRldmVsIgotZGVwZW5kcz0iJHtwa2duYW1lfS1saWJjLSR7dmVyc2lvbn1fJHtyZXZpc2lv bn0iCi1ub3N0cmlwX2ZpbGVzPSJsaWJjYWZfc2luZ2xlLmEgbGliZ2NjLmEgbGliZ2Nvdi5hIGxp YmdjY19laC5hCi0gbGliZ25hcmxfcGljLmEgbGliZ25hcmwuYSBsaWJnbmF0X3BpYy5hIGxpYmdu YXQuYSBsaWJnbWVtLmEiCi0KLWlmIFsgIiRYQlBTX1RBUkdFVF9MSUJDIiAhPSAiZ2xpYmMiIF07 IHRoZW4KLQlicm9rZW49ImdsaWJjIGNyb3NzdG9vbGNoYWluIG9ubHkgYXZhaWxhYmxlIG9uIGds aWJjIgotZmkKK2Nyb3NzX3RyaXBsZXQ9JHtfdHJpcGxldH0KK2Nyb3NzX3dvcmRzaXplPTMyCitj cm9zc19saWJjPWdsaWJjCitjcm9zc19iaW51dGlsc192ZXJzaW9uPSR7X2JpbnV0aWxzX3ZlcnNp b259Citjcm9zc19nY2NfdmVyc2lvbj0ke19nY2NfdmVyc2lvbn0KK2Nyb3NzX2dsaWJjX3ZlcnNp b249JHtfZ2xpYmNfdmVyc2lvbn0KK2Nyb3NzX2xpbnV4X3ZlcnNpb249JHtfbGludXhfdmVyc2lv bn0KK2Nyb3NzX2xpbnV4X2FyY2g9cG93ZXJwYworY3Jvc3NfYmludXRpbHNfY29uZmlndXJlX2Fy Z3M9Ii0tZW5hYmxlLXNlY3VyZXBsdCIKK2Nyb3NzX2dsaWJjX2NmbGFncz0iLU8yIgogCiBpZiBb ICIkWEJQU19UQVJHRVRfTUFDSElORSIgPSAicHBjIiBdOyB0aGVuCiAJYnJva2VuPSJDYW4ndCBi dWlsZCBjcm9zc3Rvb2xjaGFpbiB0byBpdHNlbGYiCiBmaQogCi1fYXBwbHlfcGF0Y2goKSB7Ci0J bG9jYWwgYXJncz0iJDEiIHBuYW1lPSIkKGJhc2VuYW1lICQyKSIKLQotCWlmIFsgISAtZiAiLiR7 cG5hbWV9X2RvbmUiIF07IHRoZW4KLQkJcGF0Y2ggLU4gJGFyZ3MgLWkgJDIKLQkJdG91Y2ggLiR7 cG5hbWV9X2RvbmUKLQlmaQotfQotCi1fbGludXhfaGVhZGVycygpIHsKLQlbIC1mICR7d3Jrc3Jj fS8ubGludXhfYnVpbGRfZG9uZSBdICYmIHJldHVybiAwCi0KLQljZCAke3dya3NyY30KLQltc2df bm9ybWFsICJCdWlsZGluZyBMaW51eCBBUEkgaGVhZGVycyBmb3IgUG93ZXJQQ1xuIgotCi0JY2Qg bGludXgtJHtfbGludXhfdmVyc2lvbn0KLQotCW1ha2UgQVJDSD1wb3dlcnBjIGhlYWRlcnNfY2hl Y2sKLQltYWtlIEFSQ0g9cG93ZXJwYyBJTlNUQUxMX0hEUl9QQVRIPSR7X3N5c3Jvb3R9L3VzciBo ZWFkZXJzX2luc3RhbGwKLQotCXRvdWNoICR7d3Jrc3JjfS8ubGludXhfYnVpbGRfZG9uZQotfQot Ci1fYmludXRpbHNfYnVpbGQoKSB7Ci0JbG9jYWwgX2FyZ3MKLQotCVsgLWYgJHt3cmtzcmN9Ly5i aW51dGlsc19idWlsZF9kb25lIF0gJiYgcmV0dXJuIDAKLQotCWNkICR7d3Jrc3JjfQotCW1zZ19u b3JtYWwgIkJ1aWxkaW5nIGNyb3NzIGJpbnV0aWxzXG4iCi0JWyAhIC1kIGJpbnV0aWxzLWJ1aWxk IF0gJiYgbWtkaXIgYmludXRpbHMtYnVpbGQKLQljZCBiaW51dGlscy1idWlsZAotCi0JX2FyZ3M9 Ii0tcHJlZml4PS91c3IiCi0JX2FyZ3MrPSIgLS10YXJnZXQ9JHtfdHJpcGxldH0iCi0JX2FyZ3Mr PSIgLS13aXRoLXN5c3Jvb3Q9JHtfc3lzcm9vdH0iCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLW5scyIK LQlfYXJncys9IiAtLWRpc2FibGUtc2hhcmVkIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1tdWx0aWxp YiIKLQlfYXJncys9IiAtLWRpc2FibGUtd2Vycm9yIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1nb2xk IgotCV9hcmdzKz0iIC0td2l0aC1zeXN0ZW0temxpYiIKLQlfYXJncys9IiAtLWVuYWJsZS1zZWN1 cmVwbHQiCi0JLi4vYmludXRpbHMtJHtfYmludXRpbHNfdmVyc2lvbn0vY29uZmlndXJlICR7X2Fy Z3N9Ci0KLQltYWtlIGNvbmZpZ3VyZS1ob3N0ICYmIG1ha2UgJHttYWtlam9ic30KLQltYWtlIGlu c3RhbGwKLQotCXRvdWNoICR7d3Jrc3JjfS8uYmludXRpbHNfYnVpbGRfZG9uZQotfQotCi1fZ2Nj X2Jvb3RzdHJhcCgpIHsKLQlsb2NhbCBfYXJncwotCi0JWyAtZiAke3dya3NyY30vLmdjY19ib290 c3RyYXBfZG9uZSBdICYmIHJldHVybiAwCi0KLQljZCAke3dya3NyY30vZ2NjLSR7X2djY192ZXJz aW9ufQotCWZvciBmIGluICR7WEJQU19TUkNQS0dESVJ9L2djYy9wYXRjaGVzLyoucGF0Y2g7IGRv Ci0JCV9hcHBseV9wYXRjaCAtcDAgIiRmIgotCWRvbmUKLQotCW1zZ19ub3JtYWwgIkJ1aWxkaW5n IGNyb3NzIGdjYyBib290c3RyYXBcbiIKLQotCVsgISAtZCAuLi9nY2MtYm9vdHN0cmFwIF0gJiYg bWtkaXIgLi4vZ2NjLWJvb3RzdHJhcAotCWNkIC4uL2djYy1ib290c3RyYXAKLQotCV9hcmdzPSIt LXByZWZpeD0vdXNyIgotCV9hcmdzKz0iIC0tdGFyZ2V0PSR7X3RyaXBsZXR9IgotCV9hcmdzKz0i IC0td2l0aG91dC1oZWFkZXJzIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1ubHMiCi0JX2FyZ3MrPSIg LS1kaXNhYmxlLXNoYXJlZCIKLQlfYXJncys9IiAtLWRpc2FibGUtbGlicXVhZG1hdGgiCi0JX2Fy Z3MrPSIgLS1kaXNhYmxlLWRlY2ltYWwtZmxvYXQiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYmdv bXAiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYm1weCIKLQlfYXJncys9IiAtLWRpc2FibGUtbGli bXVkZmxhcCIKLQlfYXJncys9IiAtLWRpc2FibGUtbGlic3NwIgotCV9hcmdzKz0iIC0tZGlzYWJs ZS1saWJpdG0iCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYmF0b21pYyIKLQlfYXJncys9IiAtLWRp c2FibGUtdGhyZWFkcyIKLQlfYXJncys9IiAtLWVuYWJsZS1sYW5ndWFnZXM9YyIKLQlfYXJncys9 IiAtLWRpc2FibGUtc2psai1leGNlcHRpb25zIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1tdWx0aWxp YiIKLQlfYXJncys9IiAtLXdpdGgtZ251LWxkIgotCV9hcmdzKz0iIC0td2l0aC1nbnUtYXMiCi0J X2FyZ3MrPSIgLS1lbmFibGUtc2VjdXJlcGx0IgotCi0JLi4vZ2NjLSR7X2djY192ZXJzaW9ufS9j b25maWd1cmUgJHtfYXJnc30KLQotCW1ha2UgJHttYWtlam9ic30KLQltYWtlIGluc3RhbGwKLQot CXRvdWNoICR7d3Jrc3JjfS8uZ2NjX2Jvb3RzdHJhcF9kb25lCi19Ci0KLV9nbGliY19oZWFkZXJz KCkgewotCWxvY2FsIF9hcmdzIGYKLQotCVsgLWYgJHt3cmtzcmN9Ly5nbGliY19oZWFkZXJzX2Rv bmUgXSAmJiByZXR1cm4gMAotCi0JY2QgJHt3cmtzcmN9L2dsaWJjLSR7X2dsaWJjX3ZlcnNpb259 Ci0JaWYgWyAtZCAiJHtYQlBTX1NSQ1BLR0RJUn0vZ2xpYmMvcGF0Y2hlcyIgXTsgdGhlbgotCQlm b3IgZiBpbiAke1hCUFNfU1JDUEtHRElSfS9nbGliYy9wYXRjaGVzLyoucGF0Y2g7IGRvCi0JCQlf YXBwbHlfcGF0Y2ggLXAxICIkZiIKLQkJZG9uZQotCWZpCi0KLQljZCAke3dya3NyY30KLQltc2df bm9ybWFsICJCdWlsZGluZyBjcm9zcyBnbGliYyBoZWFkZXJzXG4iCi0KLQlbICEgLWQgZ2xpYmMt aGVhZGVycyBdICYmIG1rZGlyIGdsaWJjLWhlYWRlcnMKLQljZCBnbGliYy1oZWFkZXJzCi0KLQll Y2hvICJsaWJjX2N2X2ZvcmNlZF91bndpbmQ9eWVzIiA+IGNvbmZpZy5jYWNoZQotCWVjaG8gImxp YmNfY3ZfY19jbGVhbnVwPXllcyIgPj4gY29uZmlnLmNhY2hlCi0KLQlleHBvcnQgQ0M9IiR7X3Ry aXBsZXR9LWdjYyIgTEQ9IiR7X3RyaXBsZXR9LWxkIiBcCi0JCUFTPSIke190cmlwbGV0fS1hcyIg Q1BQPSIke190cmlwbGV0fS1jcHAiIFwKLQkJTk09IiR7X3RyaXBsZXR9LW5tIgotCi0JX2FyZ3M9 Ii0tcHJlZml4PS91c3IiCi0JX2FyZ3MrPSIgLS1ob3N0PSR7X3RyaXBsZXR9IgotCV9hcmdzKz0i IC0td2l0aC1oZWFkZXJzPSR7X3N5c3Jvb3R9L3Vzci9pbmNsdWRlIgotCV9hcmdzKz0iIC0tY29u ZmlnLWNhY2hlIgotCV9hcmdzKz0iIC0tZW5hYmxlLW9ic29sZXRlLXJwYyIKLQlfYXJncys9IiAt LWVuYWJsZS1vYnNvbGV0ZS1uc2wiCi0JX2FyZ3MrPSIgLS1lbmFibGUta2VybmVsPTIuNi4yNyIK LQotCS4uL2dsaWJjLSR7X2dsaWJjX3ZlcnNpb259L2NvbmZpZ3VyZSAke19hcmdzfQotCi0JbWFr ZSAtayBpbnN0YWxsLWhlYWRlcnMgY3Jvc3NfY29tcGlsaW5nPXllcyBcCi0JCWluc3RhbGxfcm9v dD0ke19zeXNyb290fQotCi0JdG91Y2ggJHt3cmtzcmN9Ly5nbGliY19oZWFkZXJzX2RvbmUKLX0K LQotX2dsaWJjX2J1aWxkKCkgewotCWxvY2FsIF9hcmdzCi0KLQlbIC1mICR7d3Jrc3JjfS8uZ2xp YmNfYnVpbGRfZG9uZSBdICYmIHJldHVybiAwCi0KLQljZCAke3dya3NyY30KLQltc2dfbm9ybWFs ICJCdWlsZGluZyBjcm9zcyBnbGliY1xuIgotCi0JWyAhIC1kIGdsaWJjLWJ1aWxkIF0gJiYgbWtk aXIgZ2xpYmMtYnVpbGQKLQljZCBnbGliYy1idWlsZAotCi0JZWNobyAic2xpYmRpcj0vdXNyL2xp YjMyIiA+IGNvbmZpZ3Bhcm1zCi0KLQllY2hvICJsaWJjX2N2X2ZvcmNlZF91bndpbmQ9eWVzIiA+ IGNvbmZpZy5jYWNoZQotCWVjaG8gImxpYmNfY3ZfY19jbGVhbnVwPXllcyIgPj4gY29uZmlnLmNh Y2hlCi0KLQlleHBvcnQgQ0M9IiR7X3RyaXBsZXR9LWdjYyIgQ1hYPSIke190cmlwbGV0fS1nKysi IExEPSIke190cmlwbGV0fS1sZCIgXAotCQlBUz0iJHtfdHJpcGxldH0tYXMiIENQUD0iJHtfdHJp cGxldH0tY3BwIiBcCi0JCU5NPSIke190cmlwbGV0fS1ubSIKLQlleHBvcnQgQ0ZMQUdTPSItTzEg LXBpcGUiCi0KLQlfYXJncz0iLS1wcmVmaXg9L3VzciIKLQlfYXJncys9IiAtLWxpYmRpcj0vdXNy L2xpYjMyIgotCV9hcmdzKz0iIC0taG9zdD0ke190cmlwbGV0fSIKLQlfYXJncys9IiAtLXdpdGgt aGVhZGVycz0ke19zeXNyb290fS91c3IvaW5jbHVkZSIKLQlfYXJncys9IiAtLWNvbmZpZy1jYWNo ZSIKLQlfYXJncys9IiAtLWVuYWJsZS1vYnNvbGV0ZS1ycGMiCi0JX2FyZ3MrPSIgLS1lbmFibGUt b2Jzb2xldGUtbnNsIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1wcm9maWxlIgotCV9hcmdzKz0iIC0t ZW5hYmxlLWtlcm5lbD0yLjYuMjciCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLXdlcnJvciIKLQotCS4u L2dsaWJjLSR7X2dsaWJjX3ZlcnNpb259L2NvbmZpZ3VyZSAke19hcmdzfQotCi0JbWFrZSAke21h a2Vqb2JzfQotCW1ha2UgaW5zdGFsbF9yb290PSR7X3N5c3Jvb3R9IGluc3RhbGwKLQotCXRvdWNo ICR7d3Jrc3JjfS8uZ2xpYmNfYnVpbGRfZG9uZQotfQotCi1fZ2NjX2J1aWxkKCkgewotCWxvY2Fs IF9hcmdzCi0KLQlbIC1mICR7d3Jrc3JjfS8uZ2NjX2J1aWxkX2RvbmUgXSAmJiByZXR1cm4gMAot Ci0JY2QgJHt3cmtzcmN9Ci0JbXNnX25vcm1hbCAiQnVpbGRpbmcgY3Jvc3MgZ2NjIGZpbmFsXG4i Ci0KLQlbICEgLWQgZ2NjLWJ1aWxkIF0gJiYgbWtkaXIgZ2NjLWJ1aWxkCi0JY2QgZ2NjLWJ1aWxk Ci0KLQlleHBvcnQgQ0M9ImdjYyIgQ1hYPSJnKysiIENGTEFHUz0iLU9zIC1waXBlIgotCXVuc2V0 IExEIEFTCi0KLQkjIE1ha2UgdGhpcyBsaW5rIHRvIHRhcmdldCBsaWJzLgotCWlmIFsgISAtZiAu c2VkX3N1YnN0X2RvbmUgXTsgdGhlbgotCQlzZWQgLWUgInMsIC9saWIvLCAke19zeXNyb290fS9s aWIvLGc7cywgL3Vzci9saWIvLCAke19zeXNyb290fS91c3IvbGliLyxnIiBcCi0JCQktaSAke19z eXNyb290fS9saWIvbGliYy5zbwotCQlzZWQgLWUgInMsIC9saWIzMi8sICR7X3N5c3Jvb3R9L2xp YjMyLyxnO3MsIC91c3IvbGliMzIvLCAke19zeXNyb290fS91c3IvbGliMzIvLGciIFwKLQkJCS1p ICR7X3N5c3Jvb3R9L2xpYi9saWJjLnNvCi0JCXRvdWNoIC5zZWRfc3Vic3RfZG9uZQotCWZpCi0K LQlfYXJncz0iLS1wcmVmaXg9L3VzciIKLQlfYXJncys9IiAtLWxpYmV4ZWNkaXI9L3Vzci9saWIi Ci0JX2FyZ3MrPSIgLS10YXJnZXQ9JHtfdHJpcGxldH0iCi0JX2FyZ3MrPSIgLS13aXRoLXN5c3Jv b3Q9JHtfc3lzcm9vdH0iCi0JX2FyZ3MrPSIgLS1lbmFibGUtbGFuZ3VhZ2VzPWMsYWRhLGMrKyxv YmpjLG9iai1jKyssZ28sZm9ydHJhbixsdG8iCi0JX2FyZ3MrPSIgLS13aXRoLWdudS1hcyIKLQlf YXJncys9IiAtLXdpdGgtZ251LWxkIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1tdWx0aWxpYiIKLQlf YXJncys9IiAtLWRpc2FibGUtbmxzIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1zamxqLWV4Y2VwdGlv bnMiCi0JX2FyZ3MrPSIgLS1lbmFibGUtdGhyZWFkcz1wb3NpeCIKLQlfYXJncys9IiAtLWVuYWJs ZS1sb25nLWxvbmd4IgotCV9hcmdzKz0iIC0tZW5hYmxlLXNoYXJlZCIKLQlfYXJncys9IiAtLWVu YWJsZS1saW5rZXItYnVpbGQtaWQiCi0JX2FyZ3MrPSIgLS1lbmFibGUtZ251LXVuaXF1ZS1vYmpl Y3QiCi0JX2FyZ3MrPSIgLS1lbmFibGUtbGliYWRhIgotCV9hcmdzKz0iIC0tZW5hYmxlLWx0byIK LQlfYXJncys9IiAtLWVuYWJsZS1kZWZhdWx0LXBpZSIKLQlfYXJncys9IiAtLWVuYWJsZS1kZWZh dWx0LXNzcCIKLQlfYXJncys9IiAtLWRpc2FibGUtbGlicXVhZG1hdGgiCi0JX2FyZ3MrPSIgLS1k aXNhYmxlLWxpYnNzcCIKLQlfYXJncys9IiAtLWRpc2FibGUtbGlibXVkZmxhcCIKLQlfYXJncys9 IiAtLWRpc2FibGUtbGlic2FuaXRpemVyIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJjaWxrcnRz IgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJpdG0iCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYnZ0 diIKLQlfYXJncys9IiAtLWRpc2FibGUtbGlic3RkY3h4LXBjaCIKLQlfYXJncys9IiAtLWVuYWJs ZS1saWJzdGRjeHgtdGltZSIKLQlfYXJncys9IiAtLXdpdGgtbGlua2VyLWhhc2gtc3R5bGU9Z251 IgotCV9hcmdzKz0iIC0tZW5hYmxlLXNlY3VyZXBsdCIKLQotCS4uL2djYy0ke19nY2NfdmVyc2lv bn0vY29uZmlndXJlICR7X2FyZ3N9Ci0KLQltYWtlICR7bWFrZWpvYnN9Ci0KLQl0b3VjaCAke3dy a3NyY30vLmdjY19idWlsZF9kb25lCi19Ci0KLWRvX2J1aWxkKCkgewotCXVuc2V0IExERkxBR1MK LQlleHBvcnQgQ0ZMQUdTPSItT3MiIENYWEZMQUdTPSItT3MiCi0KLQlmb3IgZiBpbiBpbmNsdWRl IGxpYiBsaWJleGVjIGJpbiBzYmluOyBkbwotCQlpZiBbICEgLWQgJHtfc3lzcm9vdH0vdXNyLyR7 Zn0gXTsgdGhlbgotCQkJbWtkaXIgLXAgJHtfc3lzcm9vdH0vdXNyLyR7Zn0KLQkJZmkKLQkJaWYg WyAhIC1oICR7X3N5c3Jvb3R9LyR7Zn0gXTsgdGhlbgotCQkJbG4gLXNmciAke19zeXNyb290fS91 c3IvJHtmfSAke19zeXNyb290fS8ke2Z9Ci0JCWZpCi0JZG9uZQotCWxuIC1zZiBsaWIgJHtfc3lz cm9vdH0vdXNyL2xpYjMyCi0JbG4gLXNmIHVzci9saWIgJHtfc3lzcm9vdH0vbGliMzIKLQotCV9i aW51dGlsc19idWlsZAotCV9nY2NfYm9vdHN0cmFwCi0JX2xpbnV4X2hlYWRlcnMKLQlfZ2xpYmNf aGVhZGVycwotCV9nbGliY19idWlsZAotCV9nY2NfYnVpbGQKLX0KLQotZG9faW5zdGFsbCgpIHsK LQlmb3IgZiBpbiBpbmNsdWRlIGxpYiBsaWJleGVjIGJpbiBzYmluOyBkbwotCQlpZiBbICEgLWQg JHtERVNURElSfS8ke19zeXNyb290fS91c3IvJHtmfSBdOyB0aGVuCi0JCQlta2RpciAtcCAke0RF U1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci8ke2Z9Ci0JCWZpCi0JCWlmIFsgISAtaCAke0RFU1RESVJ9 LyR7X3N5c3Jvb3R9LyR7Zn0gXTsgdGhlbgotCQkJbG4gLXNmciAke0RFU1RESVJ9LyR7X3N5c3Jv b3R9L3Vzci8ke2Z9IFwKLQkJCQkke0RFU1RESVJ9LyR7X3N5c3Jvb3R9LyR7Zn0KLQkJZmkKLQlk b25lCi0JbG4gLXNmIGxpYiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci9saWIzMgotCWxuIC1z ZiB1c3IvbGliICR7REVTVERJUn0vJHtfc3lzcm9vdH0vbGliMzIKLQotCSMgaW5zdGFsbCBjcm9z cyBiaW51dGlscwotCWNkICR7d3Jrc3JjfS9iaW51dGlscy1idWlsZAotCW1ha2UgREVTVERJUj0k e0RFU1RESVJ9IGluc3RhbGwKLQotCSMgaW5zdGFsbCBjcm9zcyBnY2MKLQljZCAke3dya3NyY30v Z2NjLWJ1aWxkCi0JbWFrZSBERVNURElSPSR7REVTVERJUn0gaW5zdGFsbAotCi0JIyBtb3ZlIGxp YmNjMS5zbyogdG8gdGhlIHN5c3Jvb3QKLQltdiAke0RFU1RESVJ9L3Vzci9saWIvbGliY2MxLnNv KiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci9saWIKLQotCSMgaW5zdGFsbCBsaW51eCBBUEkg aGVhZGVycyBmb3IgcG93ZXJwYwotCWNkICR7d3Jrc3JjfS9saW51eC0ke19saW51eF92ZXJzaW9u fQotCW1ha2UgQVJDSD1wb3dlcnBjIElOU1RBTExfSERSX1BBVEg9JHtERVNURElSfS8ke19zeXNy b290fS91c3IgaGVhZGVyc19pbnN0YWxsCi0Jcm0gLWYgJChmaW5kICR7REVTVERJUn0vJHtfc3lz cm9vdH0vdXNyL2luY2x1ZGUgLW5hbWUgLmluc3RhbGwgLW9yIC1uYW1lIC4uaW5zdGFsbC5jbWQp Ci0Jcm0gLXJmICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL2luY2x1ZGUvZHJtCi0KLQkjIGlu c3RhbGwgZ2xpYmMgZm9yIHRhcmdldAotCWNkICR7d3Jrc3JjfS9nbGliYy1idWlsZAotCW1ha2Ug aW5zdGFsbF9yb290PSR7REVTVERJUn0vJHtfc3lzcm9vdH0gaW5zdGFsbCBpbnN0YWxsLWhlYWRl cnMKLQotCSMgc3ltbGlua3MgZm9yIGduYXJsIGFuZCBnbmF0IHNoYXJlZCBsaWJyYXJpZXMKLQlf bWFqb3J2ZXI9JHtfZ2NjX3ZlcnNpb24lLiouKn0KLQlfYWRhbGliPXVzci9saWIvZ2NjLyR7X3Ry aXBsZXR9LyR7X2djY192ZXJzaW9ufS9hZGFsaWIKLQltdiAtdiAke0RFU1RESVJ9LyR7X2FkYWxp Yn0vbGliZ25hcmwtJHtfbWFqb3J2ZXJ9LnNvICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL2xp YgotCW12IC12ICR7REVTVERJUn0vJHtfYWRhbGlifS9saWJnbmF0LSR7X21ham9ydmVyfS5zbyAk e0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci9saWIKLQlsbiAtc3ZmIGxpYmduYXJsLSR7X21ham9y dmVyfS5zbyBsaWJnbmFybC5zbwotCWxuIC1zdmYgbGliZ25hdC0ke19tYWpvcnZlcn0uc28gbGli Z25hdC5zbwotCXJtIC12ZiAke0RFU1RESVJ9LyR7X2FkYWxpYn0vbGliZ25he3JsLHR9LnNvCi0K LQkjIFdlIG5lZWQgdG8gYnVpbGQgbGliYXRvbWljIGluIHRhcmdldCBnY2MgYXMgZ2NjZ28gbmVl ZHMgaXQgdG8KLQkjIGJ1aWxkLi4uIGJ1dCBpdCdzIG5vdCBuZWVkZWQgYXQgcnVudGltZSwgc28g cmVtb3ZlIGl0IGZyb20gdGhlCi0JIyBkZXN0ZGlyIHNvIGl0IGRvZXNuJ3QgY29uZmxpY3Qgd2l0 aCB0aGUgbGliYXRvbWljIHBhY2thZ2UKLQlybSAtZiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vz ci9saWIvbGliYXRvbWljLioKLQotCSMgUmVtb3ZlIHVubmVjZXNzYXJ5IHN0dWZmCi0Jcm0gLWYg JHtERVNURElSfS91c3IvbGliKi9saWJpYmVydHkuYQotCXJtIC1yZiAke0RFU1RESVJ9L3Vzci9z aGFyZQotCXJtIC1yZiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3tzYmluLGV0Yyx2YXJ9Ci0Jcm0g LXJmICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL3tzYmluLHNoYXJlLGxpYmV4ZWN9Ci0Jcm0g LWYgJHtERVNURElSfS8ke19zeXNyb290fS9saWJleGVjCi19Ci0KLWRvX2NsZWFuKCkgewotCSMg UmVtb3ZlIHRlbXBvcmFyeSBzdHVmZiBmcm9tIG1hc3RlcmRpcgotCXJtIC1yZiAke19zeXNyb290 fQotCXJtIC1mIC91c3IvYmluLyR7X3RyaXBsZXR9KgotCXJtIC1yZiAvdXNyL2xpYi9nY2MvJHtf dHJpcGxldH0KLQlybSAtcmYgL3Vzci9saWJleGVjL2djYy8ke190cmlwbGV0fQotfQotCiBjcm9z cy1wb3dlcnBjLWxpbnV4LWdudS1saWJjX3BhY2thZ2UoKSB7CiAJc2hvcnRfZGVzYys9IiAtIGds aWJjIGZpbGVzIgogCW5vc3RyaXA9eWVzCkBAIC0zNzMsNiArNDgsNiBAQCBjcm9zcy1wb3dlcnBj LWxpbnV4LWdudS1saWJjX3BhY2thZ2UoKSB7CiAJbm92ZXJpZnlyZGVwcz15ZXMKIAogCXBrZ19p bnN0YWxsKCkgewotCQl2bW92ZSAke19zeXNyb290fQorCQl2bW92ZSB1c3IvJHtjcm9zc190cmlw bGV0fQogCX0KIH0KCkZyb20gODM4OTJlMjYxZjU3YzJkODFjMjMyODk3ZDJlZDhlOTkyOWY1OWI5 ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogcTY2IDxkYW5pZWxAb2N0YWZvcmdlLm9y Zz4KRGF0ZTogU2F0LCAyNiBEZWMgMjAyMCAxODo0MjoyMyArMDEwMApTdWJqZWN0OiBbUEFUQ0gg MTgvMjZdIGNyb3NzLXBvd2VycGMtbGludXgtbXVzbDogcmV3b3JrIHdpdGggdm9pZC1jcm9zcwoK LS0tCiBzcmNwa2dzL2Nyb3NzLXBvd2VycGMtbGludXgtbXVzbC90ZW1wbGF0ZSB8IDMxMyArKy0t LS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMjQgaW5zZXJ0aW9ucygrKSwgMjg5 IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY3Jvc3MtcG93ZXJwYy1saW51eC1t dXNsL3RlbXBsYXRlIGIvc3JjcGtncy9jcm9zcy1wb3dlcnBjLWxpbnV4LW11c2wvdGVtcGxhdGUK aW5kZXggMTJkYjA0MGE1OWEuLjA0MDA1M2Y2ZDc5IDEwMDY0NAotLS0gYS9zcmNwa2dzL2Nyb3Nz LXBvd2VycGMtbGludXgtbXVzbC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2Nyb3NzLXBvd2VycGMt bGludXgtbXVzbC90ZW1wbGF0ZQpAQCAtMSwyMSArMSwyMyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZv ciAnY3Jvc3MtcG93ZXJwYy1saW51eC1tdXNsJworX3RyaXBsZXQ9cG93ZXJwYy1saW51eC1tdXNs CiBfYmludXRpbHNfdmVyc2lvbj0yLjMyCiBfZ2NjX3ZlcnNpb249OS4zLjAKIF9tdXNsX3ZlcnNp b249MS4xLjI0CiBfbGludXhfdmVyc2lvbj00LjE5CiBfbGlidWNvbnRleHRfdmVyc2lvbj0wLjku MAotCi1fdHJpcGxldD1wb3dlcnBjLWxpbnV4LW11c2wKLV9zeXNyb290PSIvdXNyLyR7X3RyaXBs ZXR9IgotCiBwa2duYW1lPWNyb3NzLSR7X3RyaXBsZXR9CiB2ZXJzaW9uPTAuMzMKIHJldmlzaW9u PTIKLQotc2hvcnRfZGVzYz0iQ3Jvc3MgdG9vbGNoYWluIGZvciBQb3dlclBDIChtdXNsKSIKK2J1 aWxkX3N0eWxlPXZvaWQtY3Jvc3MKK2NvbmZpZ3VyZV9hcmdzPSItLWVuYWJsZS1zZWN1cmVwbHQg LS1kaXNhYmxlLXZ0YWJsZS12ZXJpZnkKKyAtLWRpc2FibGUtZGVjaW1hbC1mbG9hdCIKK2hvc3Rt YWtlZGVwZW5kcz0idGFyIGdjYy1vYmpjIGdjYy1nbyBmbGV4IHBlcmwgcHl0aG9uMyIKK21ha2Vk ZXBlbmRzPSJpc2wxNS1kZXZlbCBsaWJtcGMtZGV2ZWwgemxpYi1kZXZlbCBnbXAtZGV2ZWwgbXBm ci1kZXZlbCIKK2RlcGVuZHM9IiR7cGtnbmFtZX0tbGliYy0ke3ZlcnNpb259XyR7cmV2aXNpb259 Igorc2hvcnRfZGVzYz0iVm9pZCBjcm9zcyB0b29sY2hhaW4gZm9yICR7X3RyaXBsZXR9IgogbWFp bnRhaW5lcj0iVGhvbWFzIEJhdHRlbiA8c3RlbnN0b3JwbWNAZ21haWwuY29tPiIKLWhvbWVwYWdl PSJodHRwOi8vd3d3LnZvaWRsaW51eC5vcmciCi1saWNlbnNlPSJHUEwtMy4wLW9yLWxhdGVyLCBH UEwtMi4wLW9ubHksIE1JVCIKK2hvbWVwYWdlPSJodHRwczovL3d3dy52b2lkbGludXgub3JnLyIK K2xpY2Vuc2U9IkdQTC0yLjAtb3ItbGF0ZXIsIEdQTC0zLjAtb3ItbGF0ZXIsIE1JVCIKIGRpc3Rm aWxlcz0iCiAgJHtHTlVfU0lURX0vYmludXRpbHMvYmludXRpbHMtJHtfYmludXRpbHNfdmVyc2lv bn0udGFyLnh6CiAgJHtHTlVfU0lURX0vZ2NjL2djYy0ke19nY2NfdmVyc2lvbn0vZ2NjLSR7X2dj Y192ZXJzaW9ufS50YXIueHoKQEAgLTI4LDI5NyArMzAsMzAgQEAgY2hlY2tzdW09IjBhYjZjNTVk ZDg2YTkyZWQ1NjE5NzJiYTE1YjliNzBhOGI5Zjc1NTU3Zjg5NjQ0NmM4MmU4YjM2ZTQ3M2VlMDQK ICAwYzY4ZjU2NTU1MjhhZWQ0Zjk5ZGFlNzFhNWIyNTllZGM5MzIzOWZhODk5ZTJkZjc5YzA1NTI3 NWMyMTc0OWExCiAgMGQ1M2E0MTVhMzA3ZWYxNzUxNTNiYmU2MGE1NzJjOTQwYTkyMmNiNzM2Y2Ux MzUzMGI2NjZlN2VjMjc5NWQ2OCIKIAotbGliMzJkaXNhYmxlZD15ZXMKLW5vY3Jvc3M9eWVzCi1u b3BpZT15ZXMKLW5vZGVidWc9eWVzCi1jcmVhdGVfd3Jrc3JjPXllcwotCi1ob3N0bWFrZWRlcGVu ZHM9InRhciBnY2Mtb2JqYyBnY2MtZ28gZmxleCBwZXJsIHB5dGhvbjMiCi1tYWtlZGVwZW5kcz0i emxpYi1kZXZlbCBnbXAtZGV2ZWwgbXBmci1kZXZlbCBsaWJtcGMtZGV2ZWwgaXNsMTUtZGV2ZWwi Ci1ub3N0cmlwX2ZpbGVzPSJsaWJjYWZfc2luZ2xlLmEgbGliZ2NjLmEgbGliZ2Nvdi5hIGxpYmdj Y19laC5hCi0gbGliZ25hcmxfcGljLmEgbGliZ25hcmwuYSBsaWJnbmF0X3BpYy5hIGxpYmduYXQu YSBsaWJnbWVtLmEiCi1kZXBlbmRzPSIke3BrZ25hbWV9LWxpYmMtJHt2ZXJzaW9ufV8ke3Jldmlz aW9ufSIKK2Nyb3NzX3RyaXBsZXQ9JHtfdHJpcGxldH0KK2Nyb3NzX3dvcmRzaXplPTMyCitjcm9z c19saWJjPW11c2wKK2Nyb3NzX2JpbnV0aWxzX3ZlcnNpb249JHtfYmludXRpbHNfdmVyc2lvbn0K K2Nyb3NzX2djY192ZXJzaW9uPSR7X2djY192ZXJzaW9ufQorY3Jvc3NfbXVzbF92ZXJzaW9uPSR7 X211c2xfdmVyc2lvbn0KK2Nyb3NzX2xpbnV4X3ZlcnNpb249JHtfbGludXhfdmVyc2lvbn0KK2Ny b3NzX2xpYnVjb250ZXh0X3ZlcnNpb249JHtfbGlidWNvbnRleHRfdmVyc2lvbn0KK2Nyb3NzX2xp YnVjb250ZXh0X2FyY2g9cHBjCitjcm9zc19saW51eF9hcmNoPXBvd2VycGMKK2Nyb3NzX2JpbnV0 aWxzX2NvbmZpZ3VyZV9hcmdzPSItLWVuYWJsZS1zZWN1cmVwbHQiCitjcm9zc19tdXNsX2NmbGFn cz0iLU8yIgogCiBpZiBbICIkWEJQU19UQVJHRVRfTUFDSElORSIgPSAicHBjLW11c2wiIF07IHRo ZW4KIAlicm9rZW49IkNhbid0IGJ1aWxkIGNyb3NzdG9vbGNoYWluIHRvIGl0c2VsZiIKIGZpCiAK LV9hcHBseV9wYXRjaCgpIHsKLQlsb2NhbCBhcmdzPSIkMSIgcG5hbWU9IiQoYmFzZW5hbWUgJDIp IgotCi0JaWYgWyAhIC1mICIuJHtwbmFtZX1fZG9uZSIgXTsgdGhlbgotCQlwYXRjaCAtTiAkYXJn cyAtaSAkMgotCQl0b3VjaCAuJHtwbmFtZX1fZG9uZQotCWZpCi19Ci0KLV9iaW51dGlsc19idWls ZCgpIHsKLQlsb2NhbCBfYXJncwotCi0JWyAtZiAke3dya3NyY30vLmJpbnV0aWxzX2J1aWxkX2Rv bmUgXSAmJiByZXR1cm4gMAotCi0JY2QgJHt3cmtzcmN9Ci0JbXNnX25vcm1hbCAiQnVpbGRpbmcg Y3Jvc3MgYmludXRpbHMgYm9vdHN0cmFwXG4iCi0KLQlbICEgLWQgYmludXRpbHMtYnVpbGQgXSAm JiBta2RpciBiaW51dGlscy1idWlsZAotCWNkIGJpbnV0aWxzLWJ1aWxkCi0JX2FyZ3M9Ii0tcHJl Zml4PS91c3IiCi0JX2FyZ3MrPSIgLS10YXJnZXQ9JHtfdHJpcGxldH0iCi0JX2FyZ3MrPSIgLS13 aXRoLXN5c3Jvb3Q9JHtfc3lzcm9vdH0iCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLW5scyIKLQlfYXJn cys9IiAtLWRpc2FibGUtbXVsdGlsaWIiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLXdlcnJvciIKLQlf YXJncys9IiAtLWRpc2FibGUtc2hhcmVkIgotCV9hcmdzKz0iIC0td2l0aC1zeXN0ZW0temxpYiIK LQlfYXJncys9IiAtLWVuYWJsZS1zZWN1cmVwbHQiCi0KLQkuLi9iaW51dGlscy0ke19iaW51dGls c192ZXJzaW9ufS9jb25maWd1cmUgJHtfYXJnc30KLQotCW1ha2UgY29uZmlndXJlLWhvc3QgJiYg bWFrZSAke21ha2Vqb2JzfQotCW1ha2UgaW5zdGFsbAotCi0JdG91Y2ggJHt3cmtzcmN9Ly5iaW51 dGlsc19idWlsZF9kb25lCi19Ci0KLV9nY2NfYm9vdHN0cmFwKCkgewotCWxvY2FsIF9hcmdzCi0J WyAtZiAke3dya3NyY30vLmdjY19ib290c3RyYXBfZG9uZSBdICYmIHJldHVybiAwCi0KLQljZCAk e3dya3NyY30vZ2NjLSR7X2djY192ZXJzaW9ufQotCWZvciBmIGluICR7WEJQU19TUkNQS0dESVJ9 L2djYy9wYXRjaGVzLyoucGF0Y2g7IGRvCi0JCV9hcHBseV9wYXRjaCAtcDAgIiRmIgotCWRvbmUK LQlmb3IgZiBpbiAke1hCUFNfU1JDUEtHRElSfS9nY2MvZmlsZXMvKi1tdXNsLnBhdGNoOyBkbwot CQlfYXBwbHlfcGF0Y2ggLXAxICIkZiIKLQlkb25lCi0KLQltc2dfbm9ybWFsICJCdWlsZGluZyBj cm9zcyBnY2MgYm9vdHN0cmFwXG4iCi0KLQlbICEgLWQgLi4vZ2NjLWJvb3RzdHJhcCBdICYmIG1r ZGlyIC4uL2djYy1ib290c3RyYXAKLQljZCAuLi9nY2MtYm9vdHN0cmFwCi0KLQlfYXJncz0iLS1w cmVmaXg9L3VzciIKLQlfYXJncys9IiAtLXRhcmdldD0ke190cmlwbGV0fSIKLQlfYXJncys9IiAt LXdpdGgtc3lzcm9vdD0ke19zeXNyb290fSIKLQlfYXJncys9IiAtLXdpdGgtbmV3bGliIgotCV9h cmdzKz0iIC0tZW5hYmxlLWxhbmd1YWdlcz1jIgotCV9hcmdzKz0iIC0td2l0aC1uZXdsaWIiCi0J X2FyZ3MrPSIgLS1kaXNhYmxlLWxpYnNzcCIKLQlfYXJncys9IiAtLWRpc2FibGUtbmxzIgotCV9h cmdzKz0iIC0tZGlzYWJsZS1saWJxdWFkbWF0aCIKLQlfYXJncys9IiAtLWRpc2FibGUtdGhyZWFk cyIKLQlfYXJncys9IiAtLWRpc2FibGUtZGVjaW1hbC1mbG9hdCIKLQlfYXJncys9IiAtLWRpc2Fi bGUtc2hhcmVkIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJtcHgiCi0JX2FyZ3MrPSIgLS1kaXNh YmxlLWxpYm11ZGZsYXAiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYmdvbXAiCi0JX2FyZ3MrPSIg LS1kaXNhYmxlLWxpYmF0b21pYyIKLQlfYXJncys9IiAtLWRpc2FibGUtc3ltdmVycyIKLQlfYXJn cys9IiBsaWJhdF9jdl9oYXZlX2lmdW5jPW5vIgotCV9hcmdzKz0iIC0tZW5hYmxlLXNlY3VyZXBs dCIKLQotCUNGTEFHUz0iLU8wIC1nMCIgQ1hYRkxBR1M9Ii1PMCAtZzAiIFwKLQkJLi4vZ2NjLSR7 X2djY192ZXJzaW9ufS9jb25maWd1cmUgJHtfYXJnc30KLQotCW1ha2UgJHttYWtlam9ic30KLQlt YWtlIGluc3RhbGwKLQotCXRvdWNoICR7d3Jrc3JjfS8uZ2NjX2Jvb3RzdHJhcF9kb25lCi19Ci0K LV9saW51eF9oZWFkZXJzKCkgewotCVsgLWYgJHt3cmtzcmN9Ly5saW51eF9idWlsZF9kb25lIF0g JiYgcmV0dXJuIDAKLQotCWNkICR7d3Jrc3JjfQotCW1zZ19ub3JtYWwgIkJ1aWxkaW5nIExpbnV4 IEFQSSBoZWFkZXJzXG4iCi0KLQljZCBsaW51eC0ke19saW51eF92ZXJzaW9ufQotCi0JZm9yIGYg aW4gJHtYQlBTX1NSQ1BLR0RJUn0va2VybmVsLWxpYmMtaGVhZGVycy9wYXRjaGVzLyoucGF0Y2g7 IGRvCi0JCV9hcHBseV9wYXRjaCAtcDAgJGYKLQlkb25lCi0KLQltYWtlIEFSQ0g9cG93ZXJwYyBo ZWFkZXJzX2NoZWNrCi0JbWFrZSBBUkNIPXBvd2VycGMgSU5TVEFMTF9IRFJfUEFUSD0ke19zeXNy b290fS91c3IgaGVhZGVyc19pbnN0YWxsCi0KLQl0b3VjaCAke3dya3NyY30vLmxpbnV4X2J1aWxk X2RvbmUKLX0KLQotX211c2xfYnVpbGQoKSB7Ci0JWyAtZiAke3dya3NyY30vLm11c2xfYnVpbGRf ZG9uZSBdICYmIHJldHVybiAwCi0KLQljZCAke3dya3NyY30vbXVzbC0ke19tdXNsX3ZlcnNpb259 Ci0JbXNnX25vcm1hbCAiQnVpbGRpbmcgY3Jvc3MgbXVzbCBsaWJjXG4iCi0KLQkjIEFwcGx5IG11 c2wgcGF0Y2hlcyBpZiB0aGVyZSBhcmUgYW55Ci0JaWYgWyAtZCAiJHtYQlBTX1NSQ1BLR0RJUn0v bXVzbC9wYXRjaGVzIiBdOyB0aGVuCi0JCWZvciBmIGluICR7WEJQU19TUkNQS0dESVJ9L211c2wv cGF0Y2hlcy8qLnBhdGNoOyBkbwotCQkJX2FwcGx5X3BhdGNoIC1wMCAiJGYiCi0JCWRvbmUKLQlm aQotCi0JQ0M9IiR7X3RyaXBsZXR9LWdjYyIgQ0ZMQUdTPSItT3MgLXBpcGUgLWZQSUMiIFwKLQkJ Li9jb25maWd1cmUgLS1wcmVmaXg9L3VzcgotCi0JbWFrZSAke21ha2Vqb2JzfQotCW1ha2UgREVT VERJUj0ke19zeXNyb290fSBpbnN0YWxsCi0KLQl0b3VjaCAke3dya3NyY30vLm11c2xfYnVpbGRf ZG9uZQotfQotCi1fbGlidWNvbnRleHRfYnVpbGQoKSB7Ci0JWyAtZiAke3dya3NyY30vLmxpYnVj b250ZXh0X2J1aWxkX2RvbmUgXSAmJiByZXR1cm4gMAotCi0JY2QgJHt3cmtzcmN9L2xpYnVjb250 ZXh0LSR7X2xpYnVjb250ZXh0X3ZlcnNpb259Ci0JbXNnX25vcm1hbCAiQnVpbGRpbmcgY3Jvc3Mg bGlidWNvbnRleHRcbiIKLQotCSMgaXQncyBvayBpZiB3ZSdyZSBzdGF0aWMgb25seSBoZXJlCi0J Q0M9IiR7X3RyaXBsZXR9LWdjYyIgQVI9IiR7X3RyaXBsZXR9LWFyIiBBUz0iJHtfdHJpcGxldH0t YXMiIFwKLQkJQ0ZMQUdTPSItT3MgLXBpcGUiIFwKLQkJbWFrZSBBUkNIPXBwYyBsaWJ1Y29udGV4 dC5hCi0KLQljcCBsaWJ1Y29udGV4dC5hICR7X3N5c3Jvb3R9L3Vzci9saWIKLQotCXRvdWNoICR7 d3Jrc3JjfS8ubGlidWNvbnRleHRfYnVpbGRfZG9uZQotfQotCi1fZ2NjX2J1aWxkKCkgewotCWxv Y2FsIF9hcmdzCi0KLQlbIC1mICR7d3Jrc3JjfS8uZ2NjX2J1aWxkX2RvbmUgXSAmJiByZXR1cm4g MAotCi0JY2QgJHt3cmtzcmN9Ci0JbXNnX25vcm1hbCAiQnVpbGRpbmcgY3Jvc3MgZ2NjIGZpbmFs XG4iCi0KLQlbICEgLWQgZ2NjLWJ1aWxkIF0gJiYgbWtkaXIgZ2NjLWJ1aWxkCi0JY2QgZ2NjLWJ1 aWxkCi0KLQlfYXJncz0iLS10YXJnZXQ9JHtfdHJpcGxldH0iCi0JX2FyZ3MrPSIgLS13aXRoLXN5 c3Jvb3Q9JHtfc3lzcm9vdH0iCi0JX2FyZ3MrPSIgLS1wcmVmaXg9L3VzciIKLQlfYXJncys9IiAt LWxpYmV4ZWNkaXI9L3Vzci9saWIiCi0JX2FyZ3MrPSIgLS1lbmFibGUtbGFuZ3VhZ2VzPWMsYWRh LGMrKyxvYmpjLG9iai1jKyssZ28sZm9ydHJhbixsdG8iCi0JX2FyZ3MrPSIgLS1lbmFibGUtbHRv IgotCV9hcmdzKz0iIC0tZW5hYmxlLWxpYmFkYSIKLQlfYXJncys9IiAtLWVuYWJsZS1kZWZhdWx0 LXBpZSIKLQlfYXJncys9IiAtLWVuYWJsZS1kZWZhdWx0LXNzcCIKLQlfYXJncys9IiAtLWRpc2Fi bGUtbGlic2FuaXRpemVyIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1tdWx0aWxpYiIKLQlfYXJncys9 IiAtLWRpc2FibGUtbmxzIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJxdWFkbWF0aCIKLQlfYXJn cys9IiAtLWRpc2FibGUtbGlibXB4IgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJtdWRmbGFwIgot CV9hcmdzKz0iIC0tZW5hYmxlLWxpYnNzcCIKLQlfYXJncys9IiAtLWVuYWJsZS1zaGFyZWQiCi0J X2FyZ3MrPSIgLS1kaXNhYmxlLXN5bXZlcnMiCi0JX2FyZ3MrPSIgbGliYXRfY3ZfaGF2ZV9pZnVu Yz1ubyIKLQlfYXJncys9IiAtLWRpc2FibGUtZGVjaW1hbC1mbG9hdCIKLQlfYXJncys9IiAtLWVu YWJsZS1zZWN1cmVwbHQiCi0KLQkuLi9nY2MtJHtfZ2NjX3ZlcnNpb259L2NvbmZpZ3VyZSAke19h cmdzfQotCi0JbWFrZSAke21ha2Vqb2JzfQotCi0JdG91Y2ggJHt3cmtzcmN9Ly5nY2NfYnVpbGRf ZG9uZQotfQotCi1kb19idWlsZCgpIHsKLQkjIEVuc3VyZSB3ZSB1c2Ugc2FuZSBlbnZpcm9ubWVu dAotCXVuc2V0IENDIENYWCBDUFAgTEQgQVMgQVIgUkFOTElCIE9CSkRVTVAgUkVBREVMRiBOTQot CXVuc2V0IENGTEFHUyBDWFhGTEFHUyBDUFBGTEFHUyBMREZMQUdTCi0JZXhwb3J0IENGTEFHUz0i LU9zIC1waXBlIiBDWFhGTEFHUz0iLU9zIC1waXBlIgotCi0JZm9yIGYgaW4gaW5jbHVkZSBsaWIg bGliZXhlYyBiaW4gc2JpbjsgZG8KLQkJaWYgWyAhIC1kICR7X3N5c3Jvb3R9L3Vzci8ke2Z9IF07 IHRoZW4KLQkJCW1rZGlyIC1wICR7X3N5c3Jvb3R9L3Vzci8ke2Z9Ci0JCWZpCi0JCWlmIFsgISAt aCAke19zeXNyb290fS8ke2Z9IF07IHRoZW4KLQkJCWxuIC1zZnIgJHtfc3lzcm9vdH0vdXNyLyR7 Zn0gJHtfc3lzcm9vdH0vJHtmfQotCQlmaQotCWRvbmUKLQlsbiAtc2YgbGliICR7X3N5c3Jvb3R9 L3Vzci9saWIzMgotCWxuIC1zZiB1c3IvbGliICR7X3N5c3Jvb3R9L2xpYjMyCi0KLQlfYmludXRp bHNfYnVpbGQKLQlfZ2NjX2Jvb3RzdHJhcAotCV9saW51eF9oZWFkZXJzCi0JX211c2xfYnVpbGQK LQlfbGlidWNvbnRleHRfYnVpbGQKLQlfZ2NjX2J1aWxkCi19Ci0KLWRvX2luc3RhbGwoKSB7Ci0J Zm9yIGYgaW4gaW5jbHVkZSBsaWIgbGliZXhlYyBiaW4gc2JpbjsgZG8KLQkJaWYgWyAhIC1kICR7 REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyLyR7Zn0gXTsgdGhlbgotCQkJbWtkaXIgLXAgJHtERVNU RElSfS8ke19zeXNyb290fS91c3IvJHtmfQotCQlmaQotCQlpZiBbICEgLWggJHtERVNURElSfS8k e19zeXNyb290fS8ke2Z9IF07IHRoZW4KLQkJCWxuIC1zZnIgJHtERVNURElSfS8ke19zeXNyb290 fS91c3IvJHtmfSBcCi0JCQkJJHtERVNURElSfS8ke19zeXNyb290fS8ke2Z9Ci0JCWZpCi0JZG9u ZQotCWxuIC1zZiBsaWIgJHtERVNURElSfS8ke19zeXNyb290fS91c3IvbGliMzIKLQlsbiAtc2Yg dXNyL2xpYiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L2xpYjMyCi0KLQkjIGluc3RhbGwgbGludXgg QVBJIGhlYWRlcnMKLQljZCAke3dya3NyY30vbGludXgtJHtfbGludXhfdmVyc2lvbn0KLQltYWtl IEFSQ0g9cG93ZXJwYyBJTlNUQUxMX0hEUl9QQVRIPSR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNy IGhlYWRlcnNfaW5zdGFsbAotCXJtIC1mICQoZmluZCAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vz ci9pbmNsdWRlIC1uYW1lIC5pbnN0YWxsIC1vciAtbmFtZSAuLmluc3RhbGwuY21kKQotCXJtIC1y ZiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci9pbmNsdWRlL2RybQotCi0JIyBpbnN0YWxsIGNy b3NzIGJpbnV0aWxzCi0JY2QgJHt3cmtzcmN9L2JpbnV0aWxzLWJ1aWxkCi0JbWFrZSBERVNURElS PSR7REVTVERJUn0gaW5zdGFsbAotCi0JIyBpbnN0YWxsIGNyb3NzIGdjYwotCWNkICR7d3Jrc3Jj fS9nY2MtYnVpbGQKLQltYWtlIERFU1RESVI9JHtERVNURElSfSBpbnN0YWxsCi0KLQkjIG1vdmUg bGliY2MxLnNvKiB0byB0aGUgc3lzcm9vdAotCW12ICR7REVTVERJUn0vdXNyL2xpYi9saWJjYzEu c28qICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL2xpYgotCi0JIyBpbnN0YWxsIG11c2wgbGli YyBmb3IgdGFyZ2V0Ci0JY2QgJHt3cmtzcmN9L211c2wtJHtfbXVzbF92ZXJzaW9ufQotCW1ha2Ug REVTVERJUj0ke0RFU1RESVJ9LyR7X3N5c3Jvb3R9IGluc3RhbGwKLQotCSMgUmVtb3ZlIHVzZWxl c3MgaGVhZGVycy4KLQlybSAtcmYgJHtERVNURElSfS91c3IvbGliL2djYy8ke190cmlwbGV0fS8q L2luY2x1ZGUtZml4ZWQKLQotCSMgTWFrZSBsZC1tdXNsLnNvIHN5bWxpbmtzIHJlbGF0aXZlLgot CWxuIC1zZiBsaWJjLnNvICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL2xpYi9sZC1tdXNsLXBv d2VycGMuc28uMQotCWxuIC1zZiBsaWJjLnNvICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL2xp Yi9sZC1tdXNsLXBvd2VycGMtc2Yuc28uMQotCi0JIyBzeW1saW5rcyBmb3IgZ25hcmwgYW5kIGdu YXQgc2hhcmVkIGxpYnJhcmllcwotCV9tYWpvcnZlcj0ke19nY2NfdmVyc2lvbiUuKi4qfQotCV9h ZGFsaWI9dXNyL2xpYi9nY2MvJHtfdHJpcGxldH0vJHtfZ2NjX3ZlcnNpb259L2FkYWxpYgotCW12 IC12ICR7REVTVERJUn0vJHtfYWRhbGlifS9saWJnbmFybC0ke19tYWpvcnZlcn0uc28gJHtERVNU RElSfS8ke19zeXNyb290fS91c3IvbGliCi0JbXYgLXYgJHtERVNURElSfS8ke19hZGFsaWJ9L2xp YmduYXQtJHtfbWFqb3J2ZXJ9LnNvICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL2xpYgotCWxu IC1zdmYgbGliZ25hcmwtJHtfbWFqb3J2ZXJ9LnNvIGxpYmduYXJsLnNvCi0JbG4gLXN2ZiBsaWJn bmF0LSR7X21ham9ydmVyfS5zbyBsaWJnbmF0LnNvCi0Jcm0gLXZmICR7REVTVERJUn0vJHtfYWRh bGlifS9saWJnbmF7cmwsdH0uc28KLQotCSMgV2UgbmVlZCB0byBidWlsZCBsaWJhdG9taWMgaW4g dGFyZ2V0IGdjYyBhcyBnY2NnbyBuZWVkcyBpdCB0bwotCSMgYnVpbGQuLi4gYnV0IGl0J3Mgbm90 IG5lZWRlZCBhdCBydW50aW1lLCBzbyByZW1vdmUgaXQgZnJvbSB0aGUKLQkjIGRlc3RkaXIgc28g aXQgZG9lc24ndCBjb25mbGljdCB3aXRoIHRoZSBsaWJhdG9taWMgcGFja2FnZQotCXJtIC1mICR7 REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL2xpYi9saWJhdG9taWMuKgotCi0JIyBSZW1vdmUgdW5u ZWNlc3Nhcnkgc3R1ZmYKLQlybSAtZiAke0RFU1RESVJ9L3Vzci9saWIqL2xpYmliZXJ0eS5hCi0J cm0gLXJmICR7REVTVERJUn0vdXNyL3NoYXJlCi0Jcm0gLXJmICR7REVTVERJUn0vJHtfc3lzcm9v dH0ve2V0Yyx2YXJ9Ci0Jcm0gLXJmICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL3tzYmluLHNo YXJlLGxpYmV4ZWN9Ci0Jcm0gLWYgJHtERVNURElSfS8ke19zeXNyb290fS9saWJleGVjCi0Jcm0g LWYgJHtERVNURElSfS8ke19zeXNyb290fS9saWIvKi5weQotCXJtIC1mICR7REVTVERJUn0vJHtf c3lzcm9vdH0ve3NiaW4sbGlifQotfQotCiBjcm9zcy1wb3dlcnBjLWxpbnV4LW11c2wtbGliY19w YWNrYWdlKCkgewogCXNob3J0X2Rlc2MrPSIgLSBsaWJjIGZpbGVzIgogCW5vc3RyaXA9eWVzCiAJ bm92ZXJpZnlyZGVwcz15ZXMKIAlub3NobGlicHJvdmlkZXM9eWVzCisKIAlwa2dfaW5zdGFsbCgp IHsKLQkJdm1vdmUgJHtfc3lzcm9vdH0KKwkJdm1vdmUgdXNyLyR7Y3Jvc3NfdHJpcGxldH0KIAl9 CiB9CgpGcm9tIDU0YmVmZGJjMmExZjBjYWYxMTJiYzY2MzI4Yjg0ZGI0YzM5MDhhOTUgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206IHE2NiA8ZGFuaWVsQG9jdGFmb3JnZS5vcmc+CkRhdGU6 IFNhdCwgMjYgRGVjIDIwMjAgMTg6NDU6MDIgKzAxMDAKU3ViamVjdDogW1BBVENIIDE5LzI2XSBj cm9zcy1wb3dlcnBjbGUtbGludXgtZ251OiByZXdvcmsgd2l0aCB2b2lkLWNyb3NzCgotLS0KIHNy Y3BrZ3MvY3Jvc3MtcG93ZXJwY2xlLWxpbnV4LWdudS90ZW1wbGF0ZSB8IDM2NSArKy0tLS0tLS0t LS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAyMCBpbnNlcnRpb25zKCspLCAzNDUgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jcm9zcy1wb3dlcnBjbGUtbGludXgtZ251L3Rl bXBsYXRlIGIvc3JjcGtncy9jcm9zcy1wb3dlcnBjbGUtbGludXgtZ251L3RlbXBsYXRlCmluZGV4 IDVhNWUxNDlkMzlhLi40YjQ3MzAzZTVmYiAxMDA2NDQKLS0tIGEvc3JjcGtncy9jcm9zcy1wb3dl cnBjbGUtbGludXgtZ251L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvY3Jvc3MtcG93ZXJwY2xlLWxp bnV4LWdudS90ZW1wbGF0ZQpAQCAtMSwyMCArMSwyMSBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAn Y3Jvc3MtcG93ZXJwY2xlLWxpbnV4LWdudScKLSMgVGhpcyBpcyBhbiBleHBlcmltZW50YWwgdGFy Z2V0IGZvciBub3cgYW5kIGlzIHN1YmplY3QgdG8gY2hhbmdlcworX3RyaXBsZXQ9cG93ZXJwY2xl LWxpbnV4LWdudQogX2JpbnV0aWxzX3ZlcnNpb249Mi4zMgogX2djY192ZXJzaW9uPTkuMy4wCiBf Z2xpYmNfdmVyc2lvbj0yLjMwCiBfbGludXhfdmVyc2lvbj00LjE5Ci0KLV90cmlwbGV0PXBvd2Vy cGNsZS1saW51eC1nbnUKLV9zeXNyb290PSIvdXNyLyR7X3RyaXBsZXR9IgotCiBwa2duYW1lPWNy b3NzLSR7X3RyaXBsZXR9CiB2ZXJzaW9uPTAuMzMKIHJldmlzaW9uPTEKLXNob3J0X2Rlc2M9IkdO VSBDcm9zcyB0b29sY2hhaW4gZm9yIHRoZSAke190cmlwbGV0fSB0YXJnZXQgKGJpbnV0aWxzL2dj Yy9nbGliYykiCitidWlsZF9zdHlsZT12b2lkLWNyb3NzCitjb25maWd1cmVfYXJncz0iLS1lbmFi bGUtc2VjdXJlcGx0IC0tZGlzYWJsZS12dGFibGUtdmVyaWZ5IgoraG9zdG1ha2VkZXBlbmRzPSJ0 YXIgZ2NjLW9iamMgZmxleCBwZXJsIHB5dGhvbjMiCittYWtlZGVwZW5kcz0iaXNsMTUtZGV2ZWwg bGlibXBjLWRldmVsIHpsaWItZGV2ZWwgZ21wLWRldmVsIG1wZnItZGV2ZWwiCitkZXBlbmRzPSIk e3BrZ25hbWV9LWxpYmMtJHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIKK3Nob3J0X2Rlc2M9IlZvaWQg Y3Jvc3MgdG9vbGNoYWluIGZvciAke190cmlwbGV0fSIKIG1haW50YWluZXI9InE2NiA8ZGFuaWVs QG9jdGFmb3JnZS5vcmc+IgotaG9tZXBhZ2U9Imh0dHA6Ly93d3cudm9pZGxpbnV4Lm9yZyIKIGxp Y2Vuc2U9IkdQTC0yLjAtb3ItbGF0ZXIsIEdQTC0zLjAtb3ItbGF0ZXIsIExHUEwtMi4xLW9yLWxh dGVyIgoraG9tZXBhZ2U9Imh0dHBzOi8vd3d3LnZvaWRsaW51eC5vcmcvIgogZGlzdGZpbGVzPSIK ICAke0dOVV9TSVRFfS9iaW51dGlscy9iaW51dGlscy0ke19iaW51dGlsc192ZXJzaW9ufS50YXIu eHoKICAke0dOVV9TSVRFfS9nY2MvZ2NjLSR7X2djY192ZXJzaW9ufS9nY2MtJHtfZ2NjX3ZlcnNp b259LnRhci54egpAQCAtMjUsMzQ4ICsyNiwyMiBAQCBjaGVja3N1bT0iMGFiNmM1NWRkODZhOTJl ZDU2MTk3MmJhMTViOWI3MGE4YjlmNzU1NTdmODk2NDQ2YzgyZThiMzZlNDczZWUwNAogIGUyYzQx MTRlNTY5YWZiZTdlZGJjMjkxMzFhNDNiZTgzMzg1MGFiOWE0NTlkODFiZWIyNTg4MDE2ZDJiYmI4 YWYKICAwYzY4ZjU2NTU1MjhhZWQ0Zjk5ZGFlNzFhNWIyNTllZGM5MzIzOWZhODk5ZTJkZjc5YzA1 NTI3NWMyMTc0OWExIgogCi1saWIzMmRpc2FibGVkPXllcwotbm9jcm9zcz15ZXMKLW5vcGllPXll cwotY3JlYXRlX3dya3NyYz15ZXMKLWhvc3RtYWtlZGVwZW5kcz0idGFyIGdjYy1vYmpjIGZsZXgg cGVybCBweXRob24zIgotbWFrZWRlcGVuZHM9ImlzbDE1LWRldmVsIGxpYm1wYy1kZXZlbCB6bGli LWRldmVsIgotZGVwZW5kcz0iJHtwa2duYW1lfS1saWJjLSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0i Ci1ub3N0cmlwX2ZpbGVzPSJsaWJjYWZfc2luZ2xlLmEgbGliZ2NjLmEgbGliZ2Nvdi5hIGxpYmdj Y19laC5hCi0gbGliZ25hcmxfcGljLmEgbGliZ25hcmwuYSBsaWJnbmF0X3BpYy5hIGxpYmduYXQu YSBsaWJnbWVtLmEiCi0KLWlmIFsgIiRYQlBTX1RBUkdFVF9MSUJDIiAhPSAiZ2xpYmMiIF07IHRo ZW4KLQlicm9rZW49ImdsaWJjIGNyb3NzdG9vbGNoYWluIG9ubHkgYXZhaWxhYmxlIG9uIGdsaWJj IgotZmkKK2Nyb3NzX3RyaXBsZXQ9JHtfdHJpcGxldH0KK2Nyb3NzX3dvcmRzaXplPTMyCitjcm9z c19saWJjPWdsaWJjCitjcm9zc19iaW51dGlsc192ZXJzaW9uPSR7X2JpbnV0aWxzX3ZlcnNpb259 Citjcm9zc19nY2NfdmVyc2lvbj0ke19nY2NfdmVyc2lvbn0KK2Nyb3NzX2dsaWJjX3ZlcnNpb249 JHtfZ2xpYmNfdmVyc2lvbn0KK2Nyb3NzX2xpbnV4X3ZlcnNpb249JHtfbGludXhfdmVyc2lvbn0K K2Nyb3NzX2xpbnV4X2FyY2g9cG93ZXJwYworY3Jvc3NfZ2NjX3NraXBfZ289eWVzCitjcm9zc19i aW51dGlsc19jb25maWd1cmVfYXJncz0iLS1lbmFibGUtc2VjdXJlcGx0IgorY3Jvc3NfZ2xpYmNf Y2ZsYWdzPSItTzIiCiAKIGlmIFsgIiRYQlBTX1RBUkdFVF9NQUNISU5FIiA9ICJwcGNsZSIgXTsg dGhlbgogCWJyb2tlbj0iQ2FuJ3QgYnVpbGQgY3Jvc3N0b29sY2hhaW4gdG8gaXRzZWxmIgogZmkK IAotX2FwcGx5X3BhdGNoKCkgewotCWxvY2FsIGFyZ3M9IiQxIiBwbmFtZT0iJChiYXNlbmFtZSAk MikiCi0KLQlpZiBbICEgLWYgIi4ke3BuYW1lfV9kb25lIiBdOyB0aGVuCi0JCXBhdGNoIC1OICRh cmdzIC1pICQyCi0JCXRvdWNoIC4ke3BuYW1lfV9kb25lCi0JZmkKLX0KLQotX2xpbnV4X2hlYWRl cnMoKSB7Ci0JWyAtZiAke3dya3NyY30vLmxpbnV4X2J1aWxkX2RvbmUgXSAmJiByZXR1cm4gMAot Ci0JY2QgJHt3cmtzcmN9Ci0JbXNnX25vcm1hbCAiQnVpbGRpbmcgTGludXggQVBJIGhlYWRlcnMg Zm9yIFBvd2VyUENcbiIKLQotCWNkIGxpbnV4LSR7X2xpbnV4X3ZlcnNpb259Ci0KLQltYWtlIEFS Q0g9cG93ZXJwYyBoZWFkZXJzX2NoZWNrCi0JbWFrZSBBUkNIPXBvd2VycGMgSU5TVEFMTF9IRFJf UEFUSD0ke19zeXNyb290fS91c3IgaGVhZGVyc19pbnN0YWxsCi0KLQl0b3VjaCAke3dya3NyY30v LmxpbnV4X2J1aWxkX2RvbmUKLX0KLQotX2JpbnV0aWxzX2J1aWxkKCkgewotCWxvY2FsIF9hcmdz Ci0KLQlbIC1mICR7d3Jrc3JjfS8uYmludXRpbHNfYnVpbGRfZG9uZSBdICYmIHJldHVybiAwCi0K LQljZCAke3dya3NyY30KLQltc2dfbm9ybWFsICJCdWlsZGluZyBjcm9zcyBiaW51dGlsc1xuIgot CVsgISAtZCBiaW51dGlscy1idWlsZCBdICYmIG1rZGlyIGJpbnV0aWxzLWJ1aWxkCi0JY2QgYmlu dXRpbHMtYnVpbGQKLQotCV9hcmdzPSItLXByZWZpeD0vdXNyIgotCV9hcmdzKz0iIC0tdGFyZ2V0 PSR7X3RyaXBsZXR9IgotCV9hcmdzKz0iIC0td2l0aC1zeXNyb290PSR7X3N5c3Jvb3R9IgotCV9h cmdzKz0iIC0tZGlzYWJsZS1ubHMiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLXNoYXJlZCIKLQlfYXJn cys9IiAtLWRpc2FibGUtbXVsdGlsaWIiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLXdlcnJvciIKLQlf YXJncys9IiAtLWRpc2FibGUtZ29sZCIKLQlfYXJncys9IiAtLXdpdGgtc3lzdGVtLXpsaWIiCi0J X2FyZ3MrPSIgLS1lbmFibGUtc2VjdXJlcGx0IgotCS4uL2JpbnV0aWxzLSR7X2JpbnV0aWxzX3Zl cnNpb259L2NvbmZpZ3VyZSAke19hcmdzfQotCi0JbWFrZSBjb25maWd1cmUtaG9zdCAmJiBtYWtl ICR7bWFrZWpvYnN9Ci0JbWFrZSBpbnN0YWxsCi0KLQl0b3VjaCAke3dya3NyY30vLmJpbnV0aWxz X2J1aWxkX2RvbmUKLX0KLQotX2djY19ib290c3RyYXAoKSB7Ci0JbG9jYWwgX2FyZ3MKLQotCVsg LWYgJHt3cmtzcmN9Ly5nY2NfYm9vdHN0cmFwX2RvbmUgXSAmJiByZXR1cm4gMAotCi0JY2QgJHt3 cmtzcmN9L2djYy0ke19nY2NfdmVyc2lvbn0KLQlmb3IgZiBpbiAke1hCUFNfU1JDUEtHRElSfS9n Y2MvcGF0Y2hlcy8qLnBhdGNoOyBkbwotCQlfYXBwbHlfcGF0Y2ggLXAwICIkZiIKLQlkb25lCi0K LQltc2dfbm9ybWFsICJCdWlsZGluZyBjcm9zcyBnY2MgYm9vdHN0cmFwXG4iCi0KLQlbICEgLWQg Li4vZ2NjLWJvb3RzdHJhcCBdICYmIG1rZGlyIC4uL2djYy1ib290c3RyYXAKLQljZCAuLi9nY2Mt Ym9vdHN0cmFwCi0KLQlfYXJncz0iLS1wcmVmaXg9L3VzciIKLQlfYXJncys9IiAtLXRhcmdldD0k e190cmlwbGV0fSIKLQlfYXJncys9IiAtLXdpdGhvdXQtaGVhZGVycyIKLQlfYXJncys9IiAtLWRp c2FibGUtbmxzIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1zaGFyZWQiCi0JX2FyZ3MrPSIgLS1kaXNh YmxlLWxpYnF1YWRtYXRoIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1kZWNpbWFsLWZsb2F0IgotCV9h cmdzKz0iIC0tZGlzYWJsZS1saWJnb21wIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJtcHgiCi0J X2FyZ3MrPSIgLS1kaXNhYmxlLWxpYm11ZGZsYXAiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYnNz cCIKLQlfYXJncys9IiAtLWRpc2FibGUtbGliaXRtIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJh dG9taWMiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLXRocmVhZHMiCi0JX2FyZ3MrPSIgLS1lbmFibGUt bGFuZ3VhZ2VzPWMiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLXNqbGotZXhjZXB0aW9ucyIKLQlfYXJn cys9IiAtLWRpc2FibGUtbXVsdGlsaWIiCi0JX2FyZ3MrPSIgLS13aXRoLWdudS1sZCIKLQlfYXJn cys9IiAtLXdpdGgtZ251LWFzIgotCV9hcmdzKz0iIC0tZW5hYmxlLXNlY3VyZXBsdCIKLQotCS4u L2djYy0ke19nY2NfdmVyc2lvbn0vY29uZmlndXJlICR7X2FyZ3N9Ci0KLQltYWtlICR7bWFrZWpv YnN9Ci0JbWFrZSBpbnN0YWxsCi0KLQl0b3VjaCAke3dya3NyY30vLmdjY19ib290c3RyYXBfZG9u ZQotfQotCi1fZ2xpYmNfaGVhZGVycygpIHsKLQlsb2NhbCBfYXJncyBmCi0KLQlbIC1mICR7d3Jr c3JjfS8uZ2xpYmNfaGVhZGVyc19kb25lIF0gJiYgcmV0dXJuIDAKLQotCWNkICR7d3Jrc3JjfS9n bGliYy0ke19nbGliY192ZXJzaW9ufQotCWlmIFsgLWQgIiR7WEJQU19TUkNQS0dESVJ9L2dsaWJj L3BhdGNoZXMiIF07IHRoZW4KLQkJZm9yIGYgaW4gJHtYQlBTX1NSQ1BLR0RJUn0vZ2xpYmMvcGF0 Y2hlcy8qLnBhdGNoOyBkbwotCQkJX2FwcGx5X3BhdGNoIC1wMSAiJGYiCi0JCWRvbmUKLQlmaQot Ci0JY2QgJHt3cmtzcmN9Ci0JbXNnX25vcm1hbCAiQnVpbGRpbmcgY3Jvc3MgZ2xpYmMgaGVhZGVy c1xuIgotCi0JWyAhIC1kIGdsaWJjLWhlYWRlcnMgXSAmJiBta2RpciBnbGliYy1oZWFkZXJzCi0J Y2QgZ2xpYmMtaGVhZGVycwotCi0JZWNobyAibGliY19jdl9mb3JjZWRfdW53aW5kPXllcyIgPiBj b25maWcuY2FjaGUKLQllY2hvICJsaWJjX2N2X2NfY2xlYW51cD15ZXMiID4+IGNvbmZpZy5jYWNo ZQotCi0JZXhwb3J0IENDPSIke190cmlwbGV0fS1nY2MiIExEPSIke190cmlwbGV0fS1sZCIgXAot CQlBUz0iJHtfdHJpcGxldH0tYXMiIENQUD0iJHtfdHJpcGxldH0tY3BwIiBcCi0JCU5NPSIke190 cmlwbGV0fS1ubSIKLQotCV9hcmdzPSItLXByZWZpeD0vdXNyIgotCV9hcmdzKz0iIC0taG9zdD0k e190cmlwbGV0fSIKLQlfYXJncys9IiAtLXdpdGgtaGVhZGVycz0ke19zeXNyb290fS91c3IvaW5j bHVkZSIKLQlfYXJncys9IiAtLWNvbmZpZy1jYWNoZSIKLQlfYXJncys9IiAtLWVuYWJsZS1vYnNv bGV0ZS1ycGMiCi0JX2FyZ3MrPSIgLS1lbmFibGUtb2Jzb2xldGUtbnNsIgotCV9hcmdzKz0iIC0t ZW5hYmxlLWtlcm5lbD0yLjYuMjciCi0KLQkuLi9nbGliYy0ke19nbGliY192ZXJzaW9ufS9jb25m aWd1cmUgJHtfYXJnc30KLQotCW1ha2UgLWsgaW5zdGFsbC1oZWFkZXJzIGNyb3NzX2NvbXBpbGlu Zz15ZXMgXAotCQlpbnN0YWxsX3Jvb3Q9JHtfc3lzcm9vdH0KLQotCXRvdWNoICR7d3Jrc3JjfS8u Z2xpYmNfaGVhZGVyc19kb25lCi19Ci0KLV9nbGliY19idWlsZCgpIHsKLQlsb2NhbCBfYXJncwot Ci0JWyAtZiAke3dya3NyY30vLmdsaWJjX2J1aWxkX2RvbmUgXSAmJiByZXR1cm4gMAotCi0JY2Qg JHt3cmtzcmN9Ci0JbXNnX25vcm1hbCAiQnVpbGRpbmcgY3Jvc3MgZ2xpYmNcbiIKLQotCVsgISAt ZCBnbGliYy1idWlsZCBdICYmIG1rZGlyIGdsaWJjLWJ1aWxkCi0JY2QgZ2xpYmMtYnVpbGQKLQot CWVjaG8gInNsaWJkaXI9L3Vzci9saWIzMiIgPiBjb25maWdwYXJtcwotCi0JZWNobyAibGliY19j dl9mb3JjZWRfdW53aW5kPXllcyIgPiBjb25maWcuY2FjaGUKLQllY2hvICJsaWJjX2N2X2NfY2xl YW51cD15ZXMiID4+IGNvbmZpZy5jYWNoZQotCi0JZXhwb3J0IENDPSIke190cmlwbGV0fS1nY2Mi IENYWD0iJHtfdHJpcGxldH0tZysrIiBMRD0iJHtfdHJpcGxldH0tbGQiIFwKLQkJQVM9IiR7X3Ry aXBsZXR9LWFzIiBDUFA9IiR7X3RyaXBsZXR9LWNwcCIgXAotCQlOTT0iJHtfdHJpcGxldH0tbm0i Ci0JZXhwb3J0IENGTEFHUz0iLU8yIC1waXBlIgotCi0JX2FyZ3M9Ii0tcHJlZml4PS91c3IiCi0J X2FyZ3MrPSIgLS1saWJkaXI9L3Vzci9saWIzMiIKLQlfYXJncys9IiAtLWhvc3Q9JHtfdHJpcGxl dH0iCi0JX2FyZ3MrPSIgLS13aXRoLWhlYWRlcnM9JHtfc3lzcm9vdH0vdXNyL2luY2x1ZGUiCi0J X2FyZ3MrPSIgLS1jb25maWctY2FjaGUiCi0JX2FyZ3MrPSIgLS1lbmFibGUtb2Jzb2xldGUtcnBj IgotCV9hcmdzKz0iIC0tZW5hYmxlLW9ic29sZXRlLW5zbCIKLQlfYXJncys9IiAtLWRpc2FibGUt cHJvZmlsZSIKLQlfYXJncys9IiAtLWVuYWJsZS1rZXJuZWw9Mi42LjI3IgotCV9hcmdzKz0iIC0t ZGlzYWJsZS13ZXJyb3IiCi0KLQkuLi9nbGliYy0ke19nbGliY192ZXJzaW9ufS9jb25maWd1cmUg JHtfYXJnc30KLQotCW1ha2UgJHttYWtlam9ic30KLQltYWtlIGluc3RhbGxfcm9vdD0ke19zeXNy b290fSBpbnN0YWxsCi0KLQl0b3VjaCAke3dya3NyY30vLmdsaWJjX2J1aWxkX2RvbmUKLX0KLQot X2djY19idWlsZCgpIHsKLQlsb2NhbCBfYXJncwotCi0JWyAtZiAke3dya3NyY30vLmdjY19idWls ZF9kb25lIF0gJiYgcmV0dXJuIDAKLQotCWNkICR7d3Jrc3JjfQotCW1zZ19ub3JtYWwgIkJ1aWxk aW5nIGNyb3NzIGdjYyBmaW5hbFxuIgotCi0JWyAhIC1kIGdjYy1idWlsZCBdICYmIG1rZGlyIGdj Yy1idWlsZAotCWNkIGdjYy1idWlsZAotCi0JZXhwb3J0IENDPSJnY2MiIENYWD0iZysrIiBDRkxB R1M9Ii1PcyAtcGlwZSIKLQl1bnNldCBMRCBBUwotCi0JIyBNYWtlIHRoaXMgbGluayB0byB0YXJn ZXQgbGlicy4KLQlpZiBbICEgLWYgLnNlZF9zdWJzdF9kb25lIF07IHRoZW4KLQkJc2VkIC1lICJz LCAvbGliLywgJHtfc3lzcm9vdH0vbGliLyxnO3MsIC91c3IvbGliLywgJHtfc3lzcm9vdH0vdXNy L2xpYi8sZyIgXAotCQkJLWkgJHtfc3lzcm9vdH0vbGliL2xpYmMuc28KLQkJc2VkIC1lICJzLCAv bGliMzIvLCAke19zeXNyb290fS9saWIzMi8sZztzLCAvdXNyL2xpYjMyLywgJHtfc3lzcm9vdH0v dXNyL2xpYjMyLyxnIiBcCi0JCQktaSAke19zeXNyb290fS9saWIvbGliYy5zbwotCQl0b3VjaCAu c2VkX3N1YnN0X2RvbmUKLQlmaQotCi0JX2FyZ3M9Ii0tcHJlZml4PS91c3IiCi0JX2FyZ3MrPSIg LS1saWJleGVjZGlyPS91c3IvbGliIgotCV9hcmdzKz0iIC0tdGFyZ2V0PSR7X3RyaXBsZXR9Igot CV9hcmdzKz0iIC0td2l0aC1zeXNyb290PSR7X3N5c3Jvb3R9IgotCV9hcmdzKz0iIC0tZW5hYmxl LWxhbmd1YWdlcz1jLGFkYSxjKyssb2JqYyxvYmotYysrLGZvcnRyYW4sbHRvIgotCV9hcmdzKz0i IC0td2l0aC1nbnUtYXMiCi0JX2FyZ3MrPSIgLS13aXRoLWdudS1sZCIKLQlfYXJncys9IiAtLWRp c2FibGUtbXVsdGlsaWIiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLW5scyIKLQlfYXJncys9IiAtLWRp c2FibGUtc2psai1leGNlcHRpb25zIgotCV9hcmdzKz0iIC0tZW5hYmxlLXRocmVhZHM9cG9zaXgi Ci0JX2FyZ3MrPSIgLS1lbmFibGUtbG9uZy1sb25neCIKLQlfYXJncys9IiAtLWVuYWJsZS1zaGFy ZWQiCi0JX2FyZ3MrPSIgLS1lbmFibGUtbGlua2VyLWJ1aWxkLWlkIgotCV9hcmdzKz0iIC0tZW5h YmxlLWdudS11bmlxdWUtb2JqZWN0IgotCV9hcmdzKz0iIC0tZW5hYmxlLWxpYmFkYSIKLQlfYXJn cys9IiAtLWVuYWJsZS1sdG8iCi0JX2FyZ3MrPSIgLS1lbmFibGUtZGVmYXVsdC1waWUiCi0JX2Fy Z3MrPSIgLS1lbmFibGUtZGVmYXVsdC1zc3AiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYnF1YWRt YXRoIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJzc3AiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxp Ym11ZGZsYXAiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYnNhbml0aXplciIKLQlfYXJncys9IiAt LWRpc2FibGUtbGliY2lsa3J0cyIKLQlfYXJncys9IiAtLWRpc2FibGUtbGliaXRtIgotCV9hcmdz Kz0iIC0tZGlzYWJsZS1saWJ2dHYiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYnN0ZGN4eC1wY2gi Ci0JX2FyZ3MrPSIgLS1lbmFibGUtbGlic3RkY3h4LXRpbWUiCi0JX2FyZ3MrPSIgLS13aXRoLWxp bmtlci1oYXNoLXN0eWxlPWdudSIKLQlfYXJncys9IiAtLWVuYWJsZS1zZWN1cmVwbHQiCi0KLQku Li9nY2MtJHtfZ2NjX3ZlcnNpb259L2NvbmZpZ3VyZSAke19hcmdzfQotCi0JbWFrZSAke21ha2Vq b2JzfQotCi0JdG91Y2ggJHt3cmtzcmN9Ly5nY2NfYnVpbGRfZG9uZQotfQotCi1kb19idWlsZCgp IHsKLQl1bnNldCBMREZMQUdTCi0JZXhwb3J0IENGTEFHUz0iLU9zIiBDWFhGTEFHUz0iLU9zIgot Ci0JZm9yIGYgaW4gaW5jbHVkZSBsaWIgbGliZXhlYyBiaW4gc2JpbjsgZG8KLQkJaWYgWyAhIC1k ICR7X3N5c3Jvb3R9L3Vzci8ke2Z9IF07IHRoZW4KLQkJCW1rZGlyIC1wICR7X3N5c3Jvb3R9L3Vz ci8ke2Z9Ci0JCWZpCi0JCWlmIFsgISAtaCAke19zeXNyb290fS8ke2Z9IF07IHRoZW4KLQkJCWxu IC1zZnIgJHtfc3lzcm9vdH0vdXNyLyR7Zn0gJHtfc3lzcm9vdH0vJHtmfQotCQlmaQotCWRvbmUK LQlsbiAtc2YgbGliICR7X3N5c3Jvb3R9L3Vzci9saWIzMgotCWxuIC1zZiB1c3IvbGliICR7X3N5 c3Jvb3R9L2xpYjMyCi0KLQlfYmludXRpbHNfYnVpbGQKLQlfZ2NjX2Jvb3RzdHJhcAotCV9saW51 eF9oZWFkZXJzCi0JX2dsaWJjX2hlYWRlcnMKLQlfZ2xpYmNfYnVpbGQKLQlfZ2NjX2J1aWxkCi19 Ci0KLWRvX2luc3RhbGwoKSB7Ci0JZm9yIGYgaW4gaW5jbHVkZSBsaWIgbGliZXhlYyBiaW4gc2Jp bjsgZG8KLQkJaWYgWyAhIC1kICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyLyR7Zn0gXTsgdGhl bgotCQkJbWtkaXIgLXAgJHtERVNURElSfS8ke19zeXNyb290fS91c3IvJHtmfQotCQlmaQotCQlp ZiBbICEgLWggJHtERVNURElSfS8ke19zeXNyb290fS8ke2Z9IF07IHRoZW4KLQkJCWxuIC1zZnIg JHtERVNURElSfS8ke19zeXNyb290fS91c3IvJHtmfSBcCi0JCQkJJHtERVNURElSfS8ke19zeXNy b290fS8ke2Z9Ci0JCWZpCi0JZG9uZQotCWxuIC1zZiBsaWIgJHtERVNURElSfS8ke19zeXNyb290 fS91c3IvbGliMzIKLQlsbiAtc2YgdXNyL2xpYiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L2xpYjMy Ci0KLQkjIGluc3RhbGwgY3Jvc3MgYmludXRpbHMKLQljZCAke3dya3NyY30vYmludXRpbHMtYnVp bGQKLQltYWtlIERFU1RESVI9JHtERVNURElSfSBpbnN0YWxsCi0KLQkjIGluc3RhbGwgY3Jvc3Mg Z2NjCi0JY2QgJHt3cmtzcmN9L2djYy1idWlsZAotCW1ha2UgREVTVERJUj0ke0RFU1RESVJ9IGlu c3RhbGwKLQotCSMgbW92ZSBsaWJjYzEuc28qIHRvIHRoZSBzeXNyb290Ci0JbXYgJHtERVNURElS fS91c3IvbGliL2xpYmNjMS5zbyogJHtERVNURElSfS8ke19zeXNyb290fS91c3IvbGliCi0KLQkj IGluc3RhbGwgbGludXggQVBJIGhlYWRlcnMgZm9yIHBvd2VycGMKLQljZCAke3dya3NyY30vbGlu dXgtJHtfbGludXhfdmVyc2lvbn0KLQltYWtlIEFSQ0g9cG93ZXJwYyBJTlNUQUxMX0hEUl9QQVRI PSR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyIGhlYWRlcnNfaW5zdGFsbAotCXJtIC1mICQoZmlu ZCAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci9pbmNsdWRlIC1uYW1lIC5pbnN0YWxsIC1vciAt bmFtZSAuLmluc3RhbGwuY21kKQotCXJtIC1yZiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci9p bmNsdWRlL2RybQotCi0JIyBpbnN0YWxsIGdsaWJjIGZvciB0YXJnZXQKLQljZCAke3dya3NyY30v Z2xpYmMtYnVpbGQKLQltYWtlIGluc3RhbGxfcm9vdD0ke0RFU1RESVJ9LyR7X3N5c3Jvb3R9IGlu c3RhbGwgaW5zdGFsbC1oZWFkZXJzCi0KLQkjIHN5bWxpbmtzIGZvciBnbmFybCBhbmQgZ25hdCBz aGFyZWQgbGlicmFyaWVzCi0JX21ham9ydmVyPSR7X2djY192ZXJzaW9uJS4qLip9Ci0JX2FkYWxp Yj11c3IvbGliL2djYy8ke190cmlwbGV0fS8ke19nY2NfdmVyc2lvbn0vYWRhbGliCi0JbXYgLXYg JHtERVNURElSfS8ke19hZGFsaWJ9L2xpYmduYXJsLSR7X21ham9ydmVyfS5zbyAke0RFU1RESVJ9 LyR7X3N5c3Jvb3R9L3Vzci9saWIKLQltdiAtdiAke0RFU1RESVJ9LyR7X2FkYWxpYn0vbGliZ25h dC0ke19tYWpvcnZlcn0uc28gJHtERVNURElSfS8ke19zeXNyb290fS91c3IvbGliCi0JbG4gLXN2 ZiBsaWJnbmFybC0ke19tYWpvcnZlcn0uc28gbGliZ25hcmwuc28KLQlsbiAtc3ZmIGxpYmduYXQt JHtfbWFqb3J2ZXJ9LnNvIGxpYmduYXQuc28KLQlybSAtdmYgJHtERVNURElSfS8ke19hZGFsaWJ9 L2xpYmduYXtybCx0fS5zbwotCi0JIyBXZSBuZWVkIHRvIGJ1aWxkIGxpYmF0b21pYyBpbiB0YXJn ZXQgZ2NjIGFzIGdjY2dvIG5lZWRzIGl0IHRvCi0JIyBidWlsZC4uLiBidXQgaXQncyBub3QgbmVl ZGVkIGF0IHJ1bnRpbWUsIHNvIHJlbW92ZSBpdCBmcm9tIHRoZQotCSMgZGVzdGRpciBzbyBpdCBk b2Vzbid0IGNvbmZsaWN0IHdpdGggdGhlIGxpYmF0b21pYyBwYWNrYWdlCi0Jcm0gLWYgJHtERVNU RElSfS8ke19zeXNyb290fS91c3IvbGliL2xpYmF0b21pYy4qCi0KLQkjIFJlbW92ZSB1bm5lY2Vz c2FyeSBzdHVmZgotCXJtIC1mICR7REVTVERJUn0vdXNyL2xpYiovbGliaWJlcnR5LmEKLQlybSAt cmYgJHtERVNURElSfS91c3Ivc2hhcmUKLQlybSAtcmYgJHtERVNURElSfS8ke19zeXNyb290fS97 c2JpbixldGMsdmFyfQotCXJtIC1yZiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci97c2Jpbixz aGFyZSxsaWJleGVjfQotCXJtIC1mICR7REVTVERJUn0vJHtfc3lzcm9vdH0vbGliZXhlYwotfQot Ci1kb19jbGVhbigpIHsKLQkjIFJlbW92ZSB0ZW1wb3Jhcnkgc3R1ZmYgZnJvbSBtYXN0ZXJkaXIK LQlybSAtcmYgJHtfc3lzcm9vdH0KLQlybSAtZiAvdXNyL2Jpbi8ke190cmlwbGV0fSoKLQlybSAt cmYgL3Vzci9saWIvZ2NjLyR7X3RyaXBsZXR9Ci0Jcm0gLXJmIC91c3IvbGliZXhlYy9nY2MvJHtf dHJpcGxldH0KLX0KLQogY3Jvc3MtcG93ZXJwY2xlLWxpbnV4LWdudS1saWJjX3BhY2thZ2UoKSB7 CiAJc2hvcnRfZGVzYys9IiAtIGdsaWJjIGZpbGVzIgogCW5vc3RyaXA9eWVzCkBAIC0zNzQsNiAr NDksNiBAQCBjcm9zcy1wb3dlcnBjbGUtbGludXgtZ251LWxpYmNfcGFja2FnZSgpIHsKIAlub3Zl cmlmeXJkZXBzPXllcwogCiAJcGtnX2luc3RhbGwoKSB7Ci0JCXZtb3ZlICR7X3N5c3Jvb3R9CisJ CXZtb3ZlIHVzci8ke2Nyb3NzX3RyaXBsZXR9CiAJfQogfQoKRnJvbSBiODVhODQ5MjBiZjkwZWIz NTUwMzNmNjI3YTQyNjViNTE3MTIyMGU0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBx NjYgPGRhbmllbEBvY3RhZm9yZ2Uub3JnPgpEYXRlOiBTYXQsIDI2IERlYyAyMDIwIDE4OjQ3OjQ3 ICswMTAwClN1YmplY3Q6IFtQQVRDSCAyMC8yNl0gY3Jvc3MtcG93ZXJwY2xlLWxpbnV4LW11c2w6 IHJld29yayB3aXRoIHZvaWQtY3Jvc3MKCi0tLQogc3JjcGtncy9jcm9zcy1wb3dlcnBjbGUtbGlu dXgtbXVzbC90ZW1wbGF0ZSB8IDI5NCArKy0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5n ZWQsIDIyIGluc2VydGlvbnMoKyksIDI3MiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNw a2dzL2Nyb3NzLXBvd2VycGNsZS1saW51eC1tdXNsL3RlbXBsYXRlIGIvc3JjcGtncy9jcm9zcy1w b3dlcnBjbGUtbGludXgtbXVzbC90ZW1wbGF0ZQppbmRleCA2MmFjNzhjNDExNy4uYTc5MWQ5NDgy MzkgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvY3Jvc3MtcG93ZXJwY2xlLWxpbnV4LW11c2wvdGVtcGxh dGUKKysrIGIvc3JjcGtncy9jcm9zcy1wb3dlcnBjbGUtbGludXgtbXVzbC90ZW1wbGF0ZQpAQCAt MSwyMCArMSwyMSBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnY3Jvc3MtcG93ZXJwY2xlLWxpbnV4 LW11c2wnCi0jIFRoaXMgaXMgYW4gZXhwZXJpbWVudGFsIHRhcmdldCBmb3Igbm93IGFuZCBpcyBz dWJqZWN0IHRvIGNoYW5nZXMKK190cmlwbGV0PXBvd2VycGNsZS1saW51eC1tdXNsCiBfYmludXRp bHNfdmVyc2lvbj0yLjMyCiBfZ2NjX3ZlcnNpb249OS4zLjAKIF9tdXNsX3ZlcnNpb249MS4xLjI0 CiBfbGludXhfdmVyc2lvbj00LjE5Ci0KLV90cmlwbGV0PXBvd2VycGNsZS1saW51eC1tdXNsCi1f c3lzcm9vdD0iL3Vzci8ke190cmlwbGV0fSIKLQogcGtnbmFtZT1jcm9zcy0ke190cmlwbGV0fQog dmVyc2lvbj0wLjMzCiByZXZpc2lvbj0xCi0KLXNob3J0X2Rlc2M9IkdOVSBDcm9zcyB0b29sY2hh aW4gZm9yIHRoZSAke190cmlwbGV0fSB0YXJnZXQgKGJpbnV0aWxzL2djYy9nbGliYykiCitidWls ZF9zdHlsZT12b2lkLWNyb3NzCitjb25maWd1cmVfYXJncz0iLS1lbmFibGUtc2VjdXJlcGx0IC0t ZGlzYWJsZS12dGFibGUtdmVyaWZ5CisgLS1kaXNhYmxlLWRlY2ltYWwtZmxvYXQiCitob3N0bWFr ZWRlcGVuZHM9InRhciBnY2Mtb2JqYyBmbGV4IHBlcmwgcHl0aG9uMyIKK21ha2VkZXBlbmRzPSJp c2wxNS1kZXZlbCBsaWJtcGMtZGV2ZWwgemxpYi1kZXZlbCBnbXAtZGV2ZWwgbXBmci1kZXZlbCIK K2RlcGVuZHM9IiR7cGtnbmFtZX0tbGliYy0ke3ZlcnNpb259XyR7cmV2aXNpb259Igorc2hvcnRf ZGVzYz0iVm9pZCBjcm9zcyB0b29sY2hhaW4gZm9yICR7X3RyaXBsZXR9IgogbWFpbnRhaW5lcj0i cTY2IDxkYW5pZWxAb2N0YWZvcmdlLm9yZz4iCi1ob21lcGFnZT0iaHR0cDovL3d3dy52b2lkbGlu dXgub3JnIgoraG9tZXBhZ2U9Imh0dHBzOi8vd3d3LnZvaWRsaW51eC5vcmcvIgogbGljZW5zZT0i R1BMLTIuMC1vci1sYXRlciwgR1BMLTMuMC1vci1sYXRlciwgTUlUIgogZGlzdGZpbGVzPSIKICAk e0dOVV9TSVRFfS9iaW51dGlscy9iaW51dGlscy0ke19iaW51dGlsc192ZXJzaW9ufS50YXIueHoK QEAgLTI2LDI4MCArMjcsMjkgQEAgY2hlY2tzdW09IjBhYjZjNTVkZDg2YTkyZWQ1NjE5NzJiYTE1 YjliNzBhOGI5Zjc1NTU3Zjg5NjQ0NmM4MmU4YjM2ZTQ3M2VlMDQKICAxMzcwYzlhODEyYjJjZjJh N2Q5MjgwMjUxMGNjYTAwNThjYzM3ZTY2YTdiZWRkNzAwNTFmMGEzNDAxNTAyMmEzCiAgMGM2OGY1 NjU1NTI4YWVkNGY5OWRhZTcxYTViMjU5ZWRjOTMyMzlmYTg5OWUyZGY3OWMwNTUyNzVjMjE3NDlh MSIKIAotbGliMzJkaXNhYmxlZD15ZXMKLW5vY3Jvc3M9eWVzCi1ub3BpZT15ZXMKLW5vZGVidWc9 eWVzCi1jcmVhdGVfd3Jrc3JjPXllcwotCi1ob3N0bWFrZWRlcGVuZHM9InRhciBnY2Mtb2JqYyBm bGV4IHBlcmwgcHl0aG9uMyIKLW1ha2VkZXBlbmRzPSJ6bGliLWRldmVsIGdtcC1kZXZlbCBtcGZy LWRldmVsIGxpYm1wYy1kZXZlbCBpc2wxNS1kZXZlbCIKLW5vc3RyaXBfZmlsZXM9ImxpYmNhZl9z aW5nbGUuYSBsaWJnY2MuYSBsaWJnY292LmEgbGliZ2NjX2VoLmEKLSBsaWJnbmFybF9waWMuYSBs aWJnbmFybC5hIGxpYmduYXRfcGljLmEgbGliZ25hdC5hIGxpYmdtZW0uYSIKLWRlcGVuZHM9IiR7 cGtnbmFtZX0tbGliYy0ke3ZlcnNpb259XyR7cmV2aXNpb259IgorY3Jvc3NfdHJpcGxldD0ke190 cmlwbGV0fQorY3Jvc3Nfd29yZHNpemU9MzIKK2Nyb3NzX2xpYmM9bXVzbAorY3Jvc3NfYmludXRp bHNfdmVyc2lvbj0ke19iaW51dGlsc192ZXJzaW9ufQorY3Jvc3NfZ2NjX3ZlcnNpb249JHtfZ2Nj X3ZlcnNpb259Citjcm9zc19tdXNsX3ZlcnNpb249JHtfbXVzbF92ZXJzaW9ufQorY3Jvc3NfbGlu dXhfdmVyc2lvbj0ke19saW51eF92ZXJzaW9ufQorY3Jvc3NfbGludXhfYXJjaD1wb3dlcnBjCitj cm9zc19nY2Nfc2tpcF9nbz15ZXMKK2Nyb3NzX2JpbnV0aWxzX2NvbmZpZ3VyZV9hcmdzPSItLWVu YWJsZS1zZWN1cmVwbHQiCitjcm9zc19tdXNsX2NmbGFncz0iLU8yIgogCiBpZiBbICIkWEJQU19U QVJHRVRfTUFDSElORSIgPSAicHBjbGUtbXVzbCIgXTsgdGhlbgogCWJyb2tlbj0iQ2FuJ3QgYnVp bGQgY3Jvc3N0b29sY2hhaW4gdG8gaXRzZWxmIgogZmkKIAotX2FwcGx5X3BhdGNoKCkgewotCWxv Y2FsIGFyZ3M9IiQxIiBwbmFtZT0iJChiYXNlbmFtZSAkMikiCi0KLQlpZiBbICEgLWYgIi4ke3Bu YW1lfV9kb25lIiBdOyB0aGVuCi0JCXBhdGNoIC1OICRhcmdzIC1pICQyCi0JCXRvdWNoIC4ke3Bu YW1lfV9kb25lCi0JZmkKLX0KLQotX2JpbnV0aWxzX2J1aWxkKCkgewotCWxvY2FsIF9hcmdzCi0K LQlbIC1mICR7d3Jrc3JjfS8uYmludXRpbHNfYnVpbGRfZG9uZSBdICYmIHJldHVybiAwCi0KLQlj ZCAke3dya3NyY30KLQltc2dfbm9ybWFsICJCdWlsZGluZyBjcm9zcyBiaW51dGlscyBib290c3Ry YXBcbiIKLQotCVsgISAtZCBiaW51dGlscy1idWlsZCBdICYmIG1rZGlyIGJpbnV0aWxzLWJ1aWxk Ci0JY2QgYmludXRpbHMtYnVpbGQKLQlfYXJncz0iLS1wcmVmaXg9L3VzciIKLQlfYXJncys9IiAt LXRhcmdldD0ke190cmlwbGV0fSIKLQlfYXJncys9IiAtLXdpdGgtc3lzcm9vdD0ke19zeXNyb290 fSIKLQlfYXJncys9IiAtLWRpc2FibGUtbmxzIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1tdWx0aWxp YiIKLQlfYXJncys9IiAtLWRpc2FibGUtd2Vycm9yIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1zaGFy ZWQiCi0JX2FyZ3MrPSIgLS13aXRoLXN5c3RlbS16bGliIgotCV9hcmdzKz0iIC0tZW5hYmxlLXNl Y3VyZXBsdCIKLQotCS4uL2JpbnV0aWxzLSR7X2JpbnV0aWxzX3ZlcnNpb259L2NvbmZpZ3VyZSAk e19hcmdzfQotCi0JbWFrZSBjb25maWd1cmUtaG9zdCAmJiBtYWtlICR7bWFrZWpvYnN9Ci0JbWFr ZSBpbnN0YWxsCi0KLQl0b3VjaCAke3dya3NyY30vLmJpbnV0aWxzX2J1aWxkX2RvbmUKLX0KLQot X2djY19ib290c3RyYXAoKSB7Ci0JbG9jYWwgX2FyZ3MKLQlbIC1mICR7d3Jrc3JjfS8uZ2NjX2Jv b3RzdHJhcF9kb25lIF0gJiYgcmV0dXJuIDAKLQotCWNkICR7d3Jrc3JjfS9nY2MtJHtfZ2NjX3Zl cnNpb259Ci0JZm9yIGYgaW4gJHtYQlBTX1NSQ1BLR0RJUn0vZ2NjL3BhdGNoZXMvKi5wYXRjaDsg ZG8KLQkJX2FwcGx5X3BhdGNoIC1wMCAiJGYiCi0JZG9uZQotCWZvciBmIGluICR7WEJQU19TUkNQ S0dESVJ9L2djYy9maWxlcy8qLW11c2wucGF0Y2g7IGRvCi0JCV9hcHBseV9wYXRjaCAtcDEgIiRm IgotCWRvbmUKLQotCW1zZ19ub3JtYWwgIkJ1aWxkaW5nIGNyb3NzIGdjYyBib290c3RyYXBcbiIK LQotCVsgISAtZCAuLi9nY2MtYm9vdHN0cmFwIF0gJiYgbWtkaXIgLi4vZ2NjLWJvb3RzdHJhcAot CWNkIC4uL2djYy1ib290c3RyYXAKLQotCV9hcmdzPSItLXByZWZpeD0vdXNyIgotCV9hcmdzKz0i IC0tdGFyZ2V0PSR7X3RyaXBsZXR9IgotCV9hcmdzKz0iIC0td2l0aC1zeXNyb290PSR7X3N5c3Jv b3R9IgotCV9hcmdzKz0iIC0td2l0aC1uZXdsaWIiCi0JX2FyZ3MrPSIgLS1lbmFibGUtbGFuZ3Vh Z2VzPWMiCi0JX2FyZ3MrPSIgLS13aXRoLW5ld2xpYiIKLQlfYXJncys9IiAtLWRpc2FibGUtbGli c3NwIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1ubHMiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYnF1 YWRtYXRoIgotCV9hcmdzKz0iIC0tZGlzYWJsZS10aHJlYWRzIgotCV9hcmdzKz0iIC0tZGlzYWJs ZS1kZWNpbWFsLWZsb2F0IgotCV9hcmdzKz0iIC0tZGlzYWJsZS1zaGFyZWQiCi0JX2FyZ3MrPSIg LS1kaXNhYmxlLWxpYm1weCIKLQlfYXJncys9IiAtLWRpc2FibGUtbGlibXVkZmxhcCIKLQlfYXJn cys9IiAtLWRpc2FibGUtbGliZ29tcCIKLQlfYXJncys9IiAtLWRpc2FibGUtbGliYXRvbWljIgot CV9hcmdzKz0iIC0tZGlzYWJsZS1zeW12ZXJzIgotCV9hcmdzKz0iIGxpYmF0X2N2X2hhdmVfaWZ1 bmM9bm8iCi0JX2FyZ3MrPSIgLS1lbmFibGUtc2VjdXJlcGx0IgotCi0JQ0ZMQUdTPSItTzAgLWcw IiBDWFhGTEFHUz0iLU8wIC1nMCIgXAotCQkuLi9nY2MtJHtfZ2NjX3ZlcnNpb259L2NvbmZpZ3Vy ZSAke19hcmdzfQotCi0JbWFrZSAke21ha2Vqb2JzfQotCW1ha2UgaW5zdGFsbAotCi0JdG91Y2gg JHt3cmtzcmN9Ly5nY2NfYm9vdHN0cmFwX2RvbmUKLX0KLQotX2xpbnV4X2hlYWRlcnMoKSB7Ci0J WyAtZiAke3dya3NyY30vLmxpbnV4X2J1aWxkX2RvbmUgXSAmJiByZXR1cm4gMAotCi0JY2QgJHt3 cmtzcmN9Ci0JbXNnX25vcm1hbCAiQnVpbGRpbmcgTGludXggQVBJIGhlYWRlcnNcbiIKLQotCWNk IGxpbnV4LSR7X2xpbnV4X3ZlcnNpb259Ci0KLQlmb3IgZiBpbiAke1hCUFNfU1JDUEtHRElSfS9r ZXJuZWwtbGliYy1oZWFkZXJzL3BhdGNoZXMvKi5wYXRjaDsgZG8KLQkJX2FwcGx5X3BhdGNoIC1w MCAkZgotCWRvbmUKLQotCW1ha2UgQVJDSD1wb3dlcnBjIGhlYWRlcnNfY2hlY2sKLQltYWtlIEFS Q0g9cG93ZXJwYyBJTlNUQUxMX0hEUl9QQVRIPSR7X3N5c3Jvb3R9L3VzciBoZWFkZXJzX2luc3Rh bGwKLQotCXRvdWNoICR7d3Jrc3JjfS8ubGludXhfYnVpbGRfZG9uZQotfQotCi1fbXVzbF9idWls ZCgpIHsKLQlbIC1mICR7d3Jrc3JjfS8ubXVzbF9idWlsZF9kb25lIF0gJiYgcmV0dXJuIDAKLQot CWNkICR7d3Jrc3JjfS9tdXNsLSR7X211c2xfdmVyc2lvbn0KLQltc2dfbm9ybWFsICJCdWlsZGlu ZyBjcm9zcyBtdXNsIGxpYmNcbiIKLQotCSMgQXBwbHkgbXVzbCBwYXRjaGVzIGlmIHRoZXJlIGFy ZSBhbnkKLQlpZiBbIC1kICIke1hCUFNfU1JDUEtHRElSfS9tdXNsL3BhdGNoZXMiIF07IHRoZW4K LQkJZm9yIGYgaW4gJHtYQlBTX1NSQ1BLR0RJUn0vbXVzbC9wYXRjaGVzLyoucGF0Y2g7IGRvCi0J CQlfYXBwbHlfcGF0Y2ggLXAwICIkZiIKLQkJZG9uZQotCWZpCi0KLQlDQz0iJHtfdHJpcGxldH0t Z2NjIiBDRkxBR1M9Ii1PcyAtcGlwZSAtZlBJQyIgXAotCQkuL2NvbmZpZ3VyZSAtLXByZWZpeD0v dXNyCi0KLQltYWtlICR7bWFrZWpvYnN9Ci0JbWFrZSBERVNURElSPSR7X3N5c3Jvb3R9IGluc3Rh bGwKLQotCXRvdWNoICR7d3Jrc3JjfS8ubXVzbF9idWlsZF9kb25lCi19Ci0KLV9nY2NfYnVpbGQo KSB7Ci0JbG9jYWwgX2FyZ3MKLQotCVsgLWYgJHt3cmtzcmN9Ly5nY2NfYnVpbGRfZG9uZSBdICYm IHJldHVybiAwCi0KLQljZCAke3dya3NyY30KLQltc2dfbm9ybWFsICJCdWlsZGluZyBjcm9zcyBn Y2MgZmluYWxcbiIKLQotCVsgISAtZCBnY2MtYnVpbGQgXSAmJiBta2RpciBnY2MtYnVpbGQKLQlj ZCBnY2MtYnVpbGQKLQotCV9hcmdzPSItLXRhcmdldD0ke190cmlwbGV0fSIKLQlfYXJncys9IiAt LXdpdGgtc3lzcm9vdD0ke19zeXNyb290fSIKLQlfYXJncys9IiAtLXByZWZpeD0vdXNyIgotCV9h cmdzKz0iIC0tbGliZXhlY2Rpcj0vdXNyL2xpYiIKLQlfYXJncys9IiAtLWVuYWJsZS1sYW5ndWFn ZXM9YyxhZGEsYysrLG9iamMsb2JqLWMrKyxmb3J0cmFuLGx0byIKLQlfYXJncys9IiAtLWVuYWJs ZS1sdG8iCi0JX2FyZ3MrPSIgLS1lbmFibGUtbGliYWRhIgotCV9hcmdzKz0iIC0tZW5hYmxlLWRl ZmF1bHQtcGllIgotCV9hcmdzKz0iIC0tZW5hYmxlLWRlZmF1bHQtc3NwIgotCV9hcmdzKz0iIC0t ZGlzYWJsZS1saWJzYW5pdGl6ZXIiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLW11bHRpbGliIgotCV9h cmdzKz0iIC0tZGlzYWJsZS1ubHMiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYnF1YWRtYXRoIgot CV9hcmdzKz0iIC0tZGlzYWJsZS1saWJtcHgiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYm11ZGZs YXAiCi0JX2FyZ3MrPSIgLS1lbmFibGUtbGlic3NwIgotCV9hcmdzKz0iIC0tZW5hYmxlLXNoYXJl ZCIKLQlfYXJncys9IiAtLWRpc2FibGUtc3ltdmVycyIKLQlfYXJncys9IiBsaWJhdF9jdl9oYXZl X2lmdW5jPW5vIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1kZWNpbWFsLWZsb2F0IgotCV9hcmdzKz0i IC0tZW5hYmxlLXNlY3VyZXBsdCIKLQotCS4uL2djYy0ke19nY2NfdmVyc2lvbn0vY29uZmlndXJl ICR7X2FyZ3N9Ci0KLQltYWtlICR7bWFrZWpvYnN9Ci0KLQl0b3VjaCAke3dya3NyY30vLmdjY19i dWlsZF9kb25lCi19Ci0KLWRvX2J1aWxkKCkgewotCSMgRW5zdXJlIHdlIHVzZSBzYW5lIGVudmly b25tZW50Ci0JdW5zZXQgQ0MgQ1hYIENQUCBMRCBBUyBBUiBSQU5MSUIgT0JKRFVNUCBSRUFERUxG IE5NCi0JdW5zZXQgQ0ZMQUdTIENYWEZMQUdTIENQUEZMQUdTIExERkxBR1MKLQlleHBvcnQgQ0ZM QUdTPSItT3MgLXBpcGUiIENYWEZMQUdTPSItT3MgLXBpcGUiCi0KLQlmb3IgZiBpbiBpbmNsdWRl IGxpYiBsaWJleGVjIGJpbiBzYmluOyBkbwotCQlpZiBbICEgLWQgJHtfc3lzcm9vdH0vdXNyLyR7 Zn0gXTsgdGhlbgotCQkJbWtkaXIgLXAgJHtfc3lzcm9vdH0vdXNyLyR7Zn0KLQkJZmkKLQkJaWYg WyAhIC1oICR7X3N5c3Jvb3R9LyR7Zn0gXTsgdGhlbgotCQkJbG4gLXNmciAke19zeXNyb290fS91 c3IvJHtmfSAke19zeXNyb290fS8ke2Z9Ci0JCWZpCi0JZG9uZQotCWxuIC1zZiBsaWIgJHtfc3lz cm9vdH0vdXNyL2xpYjMyCi0JbG4gLXNmIHVzci9saWIgJHtfc3lzcm9vdH0vbGliMzIKLQotCV9i aW51dGlsc19idWlsZAotCV9nY2NfYm9vdHN0cmFwCi0JX2xpbnV4X2hlYWRlcnMKLQlfbXVzbF9i dWlsZAotCV9nY2NfYnVpbGQKLX0KLQotZG9faW5zdGFsbCgpIHsKLQlmb3IgZiBpbiBpbmNsdWRl IGxpYiBsaWJleGVjIGJpbiBzYmluOyBkbwotCQlpZiBbICEgLWQgJHtERVNURElSfS8ke19zeXNy b290fS91c3IvJHtmfSBdOyB0aGVuCi0JCQlta2RpciAtcCAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9 L3Vzci8ke2Z9Ci0JCWZpCi0JCWlmIFsgISAtaCAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9LyR7Zn0g XTsgdGhlbgotCQkJbG4gLXNmciAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci8ke2Z9IFwKLQkJ CQkke0RFU1RESVJ9LyR7X3N5c3Jvb3R9LyR7Zn0KLQkJZmkKLQlkb25lCi0JbG4gLXNmIGxpYiAk e0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci9saWIzMgotCWxuIC1zZiB1c3IvbGliICR7REVTVERJ Un0vJHtfc3lzcm9vdH0vbGliMzIKLQotCSMgaW5zdGFsbCBsaW51eCBBUEkgaGVhZGVycwotCWNk ICR7d3Jrc3JjfS9saW51eC0ke19saW51eF92ZXJzaW9ufQotCW1ha2UgQVJDSD1wb3dlcnBjIElO U1RBTExfSERSX1BBVEg9JHtERVNURElSfS8ke19zeXNyb290fS91c3IgaGVhZGVyc19pbnN0YWxs Ci0Jcm0gLWYgJChmaW5kICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL2luY2x1ZGUgLW5hbWUg Lmluc3RhbGwgLW9yIC1uYW1lIC4uaW5zdGFsbC5jbWQpCi0Jcm0gLXJmICR7REVTVERJUn0vJHtf c3lzcm9vdH0vdXNyL2luY2x1ZGUvZHJtCi0KLQkjIGluc3RhbGwgY3Jvc3MgYmludXRpbHMKLQlj ZCAke3dya3NyY30vYmludXRpbHMtYnVpbGQKLQltYWtlIERFU1RESVI9JHtERVNURElSfSBpbnN0 YWxsCi0KLQkjIGluc3RhbGwgY3Jvc3MgZ2NjCi0JY2QgJHt3cmtzcmN9L2djYy1idWlsZAotCW1h a2UgREVTVERJUj0ke0RFU1RESVJ9IGluc3RhbGwKLQotCSMgbW92ZSBsaWJjYzEuc28qIHRvIHRo ZSBzeXNyb290Ci0JbXYgJHtERVNURElSfS91c3IvbGliL2xpYmNjMS5zbyogJHtERVNURElSfS8k e19zeXNyb290fS91c3IvbGliCi0KLQkjIGluc3RhbGwgbXVzbCBsaWJjIGZvciB0YXJnZXQKLQlj ZCAke3dya3NyY30vbXVzbC0ke19tdXNsX3ZlcnNpb259Ci0JbWFrZSBERVNURElSPSR7REVTVERJ Un0vJHtfc3lzcm9vdH0gaW5zdGFsbAotCi0JIyBSZW1vdmUgdXNlbGVzcyBoZWFkZXJzLgotCXJt IC1yZiAke0RFU1RESVJ9L3Vzci9saWIvZ2NjLyR7X3RyaXBsZXR9LyovaW5jbHVkZS1maXhlZAot Ci0JIyBNYWtlIGxkLW11c2wuc28gc3ltbGlua3MgcmVsYXRpdmUuCi0JbG4gLXNmIGxpYmMuc28g JHtERVNURElSfS8ke19zeXNyb290fS91c3IvbGliL2xkLW11c2wtcG93ZXJwY2xlLnNvLjEKLQls biAtc2YgbGliYy5zbyAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci9saWIvbGQtbXVzbC1wb3dl cnBjbGUtc2Yuc28uMQotCi0JIyBzeW1saW5rcyBmb3IgZ25hcmwgYW5kIGduYXQgc2hhcmVkIGxp YnJhcmllcwotCV9tYWpvcnZlcj0ke19nY2NfdmVyc2lvbiUuKi4qfQotCV9hZGFsaWI9dXNyL2xp Yi9nY2MvJHtfdHJpcGxldH0vJHtfZ2NjX3ZlcnNpb259L2FkYWxpYgotCW12IC12ICR7REVTVERJ Un0vJHtfYWRhbGlifS9saWJnbmFybC0ke19tYWpvcnZlcn0uc28gJHtERVNURElSfS8ke19zeXNy b290fS91c3IvbGliCi0JbXYgLXYgJHtERVNURElSfS8ke19hZGFsaWJ9L2xpYmduYXQtJHtfbWFq b3J2ZXJ9LnNvICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL2xpYgotCWxuIC1zdmYgbGliZ25h cmwtJHtfbWFqb3J2ZXJ9LnNvIGxpYmduYXJsLnNvCi0JbG4gLXN2ZiBsaWJnbmF0LSR7X21ham9y dmVyfS5zbyBsaWJnbmF0LnNvCi0Jcm0gLXZmICR7REVTVERJUn0vJHtfYWRhbGlifS9saWJnbmF7 cmwsdH0uc28KLQotCSMgV2UgbmVlZCB0byBidWlsZCBsaWJhdG9taWMgaW4gdGFyZ2V0IGdjYyBh cyBnY2NnbyBuZWVkcyBpdCB0bwotCSMgYnVpbGQuLi4gYnV0IGl0J3Mgbm90IG5lZWRlZCBhdCBy dW50aW1lLCBzbyByZW1vdmUgaXQgZnJvbSB0aGUKLQkjIGRlc3RkaXIgc28gaXQgZG9lc24ndCBj b25mbGljdCB3aXRoIHRoZSBsaWJhdG9taWMgcGFja2FnZQotCXJtIC1mICR7REVTVERJUn0vJHtf c3lzcm9vdH0vdXNyL2xpYi9saWJhdG9taWMuKgotCi0JIyBSZW1vdmUgdW5uZWNlc3Nhcnkgc3R1 ZmYKLQlybSAtZiAke0RFU1RESVJ9L3Vzci9saWIqL2xpYmliZXJ0eS5hCi0Jcm0gLXJmICR7REVT VERJUn0vdXNyL3NoYXJlCi0Jcm0gLXJmICR7REVTVERJUn0vJHtfc3lzcm9vdH0ve2V0Yyx2YXJ9 Ci0Jcm0gLXJmICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL3tzYmluLHNoYXJlLGxpYmV4ZWN9 Ci0Jcm0gLWYgJHtERVNURElSfS8ke19zeXNyb290fS9saWJleGVjCi0Jcm0gLWYgJHtERVNURElS fS8ke19zeXNyb290fS9saWIvKi5weQotCXJtIC1mICR7REVTVERJUn0vJHtfc3lzcm9vdH0ve3Ni aW4sbGlifQotfQotCiBjcm9zcy1wb3dlcnBjbGUtbGludXgtbXVzbC1saWJjX3BhY2thZ2UoKSB7 CiAJc2hvcnRfZGVzYys9IiAtIGxpYmMgZmlsZXMiCiAJbm9zdHJpcD15ZXMKIAlub3ZlcmlmeXJk ZXBzPXllcwogCW5vc2hsaWJwcm92aWRlcz15ZXMKKwogCXBrZ19pbnN0YWxsKCkgewotCQl2bW92 ZSAke19zeXNyb290fQorCQl2bW92ZSB1c3IvJHtjcm9zc190cmlwbGV0fQogCX0KIH0KCkZyb20g MGRjOWVkZGVmYmY3ODU2NDNhN2ZkOGIxMzMyOWY2MGYyNDY4OGMxZCBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKRnJvbTogcTY2IDxkYW5pZWxAb2N0YWZvcmdlLm9yZz4KRGF0ZTogU2F0LCAyNiBE ZWMgMjAyMCAxODo1NTowNiArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMjEvMjZdIGNyb3NzLXBvd2Vy cGM2NGxlLWxpbnV4LWdudTogcmV3b3JrIHdpdGggdm9pZC1jcm9zcwoKLS0tCiBzcmNwa2dzL2Ny b3NzLXBvd2VycGM2NGxlLWxpbnV4LWdudS90ZW1wbGF0ZSB8IDM3MSArKy0tLS0tLS0tLS0tLS0t LS0tCiAxIGZpbGUgY2hhbmdlZCwgMjMgaW5zZXJ0aW9ucygrKSwgMzQ4IGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY3Jvc3MtcG93ZXJwYzY0bGUtbGludXgtZ251L3RlbXBsYXRl IGIvc3JjcGtncy9jcm9zcy1wb3dlcnBjNjRsZS1saW51eC1nbnUvdGVtcGxhdGUKaW5kZXggNzFl ZjZiYzRmNTcuLjg3MmVkOTE0OTFjIDEwMDY0NAotLS0gYS9zcmNwa2dzL2Nyb3NzLXBvd2VycGM2 NGxlLWxpbnV4LWdudS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2Nyb3NzLXBvd2VycGM2NGxlLWxp bnV4LWdudS90ZW1wbGF0ZQpAQCAtMSwxOSArMSwyMiBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAn Y3Jvc3MtcG93ZXJwYzY0bGUtbGludXgtZ251JworX3RyaXBsZXQ9cG93ZXJwYzY0bGUtbGludXgt Z251CiBfYmludXRpbHNfdmVyc2lvbj0yLjMyCiBfZ2NjX3ZlcnNpb249OS4zLjAKIF9nbGliY192 ZXJzaW9uPTIuMzAKIF9saW51eF92ZXJzaW9uPTQuMTkKLQotX3RyaXBsZXQ9InBvd2VycGM2NGxl LWxpbnV4LWdudSIKLV9zeXNyb290PSIvdXNyLyR7X3RyaXBsZXR9IgotCiBwa2duYW1lPWNyb3Nz LSR7X3RyaXBsZXR9CiB2ZXJzaW9uPTAuMzMKIHJldmlzaW9uPTEKLXNob3J0X2Rlc2M9IkdOVSBj cm9zcyB0b29sY2hhaW4gZm9yIHRoZSAke190cmlwbGV0fSB0YXJnZXRzIChiaW51dGlscy9nY2Mv Z2xpYmMpIgorYnVpbGRfc3R5bGU9dm9pZC1jcm9zcworY29uZmlndXJlX2FyZ3M9Ii0tZW5hYmxl LXNlY3VyZXBsdCAtLWRpc2FibGUtdnRhYmxlLXZlcmlmeSAtLXdpdGgtYWJpPWVsZnYyCisgLS1l bmFibGUtdGFyZ2V0cz1wb3dlcnBjbGUtbGludXgiCitob3N0bWFrZWRlcGVuZHM9InRhciBnY2Mt b2JqYyBnY2MtZ28gZmxleCBwZXJsIHB5dGhvbjMiCittYWtlZGVwZW5kcz0iaXNsMTUtZGV2ZWwg bGlibXBjLWRldmVsIHpsaWItZGV2ZWwgZ21wLWRldmVsIG1wZnItZGV2ZWwiCitkZXBlbmRzPSIk e3BrZ25hbWV9LWxpYmMtJHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIKK3Nob3J0X2Rlc2M9IlZvaWQg Y3Jvc3MgdG9vbGNoYWluIGZvciAke190cmlwbGV0fSIKIG1haW50YWluZXI9InE2NiA8ZGFuaWVs QG9jdGFmb3JnZS5vcmc+IgotaG9tZXBhZ2U9Imh0dHBzOi8vd3d3LnZvaWRsaW51eC5vcmcvIgog bGljZW5zZT0iR1BMLTIuMC1vci1sYXRlciwgR1BMLTMuMC1vci1sYXRlciwgTEdQTC0yLjEtb3It bGF0ZXIiCitob21lcGFnZT0iaHR0cHM6Ly93d3cudm9pZGxpbnV4Lm9yZy8iCiBkaXN0ZmlsZXM9 IgogICR7R05VX1NJVEV9L2JpbnV0aWxzL2JpbnV0aWxzLSR7X2JpbnV0aWxzX3ZlcnNpb259LnRh ci54egogICR7R05VX1NJVEV9L2djYy9nY2MtJHtfZ2NjX3ZlcnNpb259L2djYy0ke19nY2NfdmVy c2lvbn0udGFyLnh6CkBAIC0yNCwzNTggKzI3LDMwIEBAIGNoZWNrc3VtPSIwYWI2YzU1ZGQ4NmE5 MmVkNTYxOTcyYmExNWI5YjcwYThiOWY3NTU1N2Y4OTY0NDZjODJlOGIzNmU0NzNlZTA0CiAgZTJj NDExNGU1NjlhZmJlN2VkYmMyOTEzMWE0M2JlODMzODUwYWI5YTQ1OWQ4MWJlYjI1ODgwMTZkMmJi YjhhZgogIDBjNjhmNTY1NTUyOGFlZDRmOTlkYWU3MWE1YjI1OWVkYzkzMjM5ZmE4OTllMmRmNzlj MDU1Mjc1YzIxNzQ5YTEiCiAKLWxpYjMyZGlzYWJsZWQ9eWVzCi1ub2Nyb3NzPXllcwotbm9waWU9 eWVzCi1ub2RlYnVnPXllcwotY3JlYXRlX3dya3NyYz15ZXMKLWhvc3RtYWtlZGVwZW5kcz0idGFy IGdjYy1vYmpjIGdjYy1nbyBmbGV4IHBlcmwgcHl0aG9uMyIKLW1ha2VkZXBlbmRzPSJpc2wxNS1k ZXZlbCBsaWJtcGMtZGV2ZWwgemxpYi1kZXZlbCIKLW5vc3RyaXBfZmlsZXM9ImxpYmNhZl9zaW5n bGUuYSBsaWJnY2MuYSBsaWJnY292LmEgbGliZ2NjX2VoLmEKLSBsaWJnbmFybF9waWMuYSBsaWJn bmFybC5hIGxpYmduYXRfcGljLmEgbGliZ25hdC5hIGxpYmdtZW0uYSIKLWRlcGVuZHM9IiR7cGtn bmFtZX0tbGliYy0ke3ZlcnNpb259XyR7cmV2aXNpb259IgotCi1pZiBbICIkWEJQU19UQVJHRVRf TElCQyIgIT0gImdsaWJjIiBdOyB0aGVuCi0JYnJva2VuPSJnbGliYyBjcm9zc3Rvb2xjaGFpbiBv bmx5IGF2YWlsYWJsZSBvbiBnbGliYyIKLWZpCi0KLWlmIFsgIiRYQlBTX1RBUkdFVF9XT1JEU0la RSIgIT0gIjY0IiBdOyB0aGVuCi0JYnJva2VuPSI2NC1iaXQgY3Jvc3N0b29sY2hhaW4gb25seSBh dmFpbGFibGUgb24gNjQtYml0IGhvc3QiCi1maQorY3Jvc3NfdHJpcGxldD0ke190cmlwbGV0fQor Y3Jvc3Nfd29yZHNpemU9NjQKK2Nyb3NzX2xpYmM9Z2xpYmMKK2Nyb3NzX2JpbnV0aWxzX3ZlcnNp b249JHtfYmludXRpbHNfdmVyc2lvbn0KK2Nyb3NzX2djY192ZXJzaW9uPSR7X2djY192ZXJzaW9u fQorY3Jvc3NfZ2xpYmNfdmVyc2lvbj0ke19nbGliY192ZXJzaW9ufQorY3Jvc3NfbGludXhfdmVy c2lvbj0ke19saW51eF92ZXJzaW9ufQorY3Jvc3NfbGludXhfYXJjaD1wb3dlcnBjCitjcm9zc19i aW51dGlsc19jb25maWd1cmVfYXJncz0iLS1lbmFibGUtc2VjdXJlcGx0IgorIyBleHBsaWNpdGx5 IGVuYWJsZSBmb3IgZmluYWwgZ2NjLCBnZm9ydHJhbiBkb2VzIG5vdCBidWlsZCB3aXRob3V0IG9u IHBwYzY0bGUKK2Nyb3NzX2djY19jb25maWd1cmVfYXJncz0iLS1lbmFibGUtbGlicXVhZG1hdGgi Citjcm9zc19nbGliY19jZmxhZ3M9Ii1PMiIKIAogaWYgWyAiJFhCUFNfVEFSR0VUX01BQ0hJTkUi ID0gInBwYzY0bGUiIF07IHRoZW4KIAlicm9rZW49IkNhbid0IGJ1aWxkIGNyb3NzdG9vbGNoYWlu IHRvIGl0c2VsZiIKIGZpCiAKLV9hcHBseV9wYXRjaCgpIHsKLQlsb2NhbCBhcmdzPSIkMSIgcG5h bWU9IiQoYmFzZW5hbWUgJDIpIgotCi0JaWYgWyAhIC1mICIuJHtwbmFtZX1fZG9uZSIgXTsgdGhl bgotCQlwYXRjaCAtTiAkYXJncyAtaSAkMgotCQl0b3VjaCAuJHtwbmFtZX1fZG9uZQotCWZpCi19 Ci0KLV9iaW51dGlsc19idWlsZCgpIHsKLQlsb2NhbCBfYXJncwotCi0JWyAtZiAke3dya3NyY30v LmJpbnV0aWxzX2J1aWxkX2RvbmUgXSAmJiByZXR1cm4gMAotCi0JY2QgJHt3cmtzcmN9Ci0JbXNn X25vcm1hbCAiQnVpbGRpbmcgY3Jvc3MgYmludXRpbHMgYm9vdHN0cmFwXG4iCi0KLQlbICEgLWQg YmludXRpbHMtYnVpbGQgXSAmJiBta2RpciBiaW51dGlscy1idWlsZAotCWNkIGJpbnV0aWxzLWJ1 aWxkCi0KLQlfYXJncz0iLS1wcmVmaXg9L3VzciIKLQlfYXJncys9IiAtLXRhcmdldD0ke190cmlw bGV0fSIKLQlfYXJncys9IiAtLXdpdGgtc3lzcm9vdD0ke19zeXNyb290fSIKLQlfYXJncys9IiAt LWRpc2FibGUtbmxzIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1tdWx0aWxpYiIKLQlfYXJncys9IiAt LWRpc2FibGUtd2Vycm9yIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1zaGFyZWQiCi0JX2FyZ3MrPSIg LS13aXRoLXN5c3RlbS16bGliIgotCi0JLi4vYmludXRpbHMtJHtfYmludXRpbHNfdmVyc2lvbn0v Y29uZmlndXJlICR7X2FyZ3N9Ci0KLQltYWtlIGNvbmZpZ3VyZS1ob3N0Ci0JbWFrZSAke21ha2Vq b2JzfQotCW1ha2UgaW5zdGFsbAotCi0JdG91Y2ggJHt3cmtzcmN9Ly5iaW51dGlsc19idWlsZF9k b25lCi19Ci0KLV9nY2NfYm9vdHN0cmFwKCkgewotCWxvY2FsIF9hcmdzCi0KLQlbIC1mICR7d3Jr c3JjfS8uZ2NjX2Jvb3RzdHJhcF9kb25lIF0gJiYgcmV0dXJuIDAKLQotCWNkICR7d3Jrc3JjfS9n Y2MtJHtfZ2NjX3ZlcnNpb259Ci0JZm9yIGYgaW4gJHtYQlBTX1NSQ1BLR0RJUn0vZ2NjL3BhdGNo ZXMvKi5wYXRjaDsgZG8KLQkJX2FwcGx5X3BhdGNoIC1wMCAiJGYiCi0JZG9uZQotCi0JbXNnX25v cm1hbCAiQnVpbGRpbmcgY3Jvc3MgZ2NjIGJvb3RzdHJhcFxuIgotCi0JWyAhIC1kIC4uL2djYy1i b290c3RyYXAgXSAmJiBta2RpciAuLi9nY2MtYm9vdHN0cmFwCi0JY2QgLi4vZ2NjLWJvb3RzdHJh cAotCi0JX2FyZ3M9Ii0tcHJlZml4PS91c3IiCi0JX2FyZ3MrPSIgLS10YXJnZXQ9JHtfdHJpcGxl dH0iCi0JX2FyZ3MrPSIgLS13aXRoLWFiaT1lbGZ2MiIKLQlfYXJncys9IiAtLWVuYWJsZS1sYW5n dWFnZXM9YyIKLQlfYXJncys9IiAtLWVuYWJsZS1zZWN1cmVwbHQiCi0JX2FyZ3MrPSIgLS1lbmFi bGUtdGFyZ2V0cz1wb3dlcnBjbGUtbGludXgiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYnNzcCIK LQlfYXJncys9IiAtLWRpc2FibGUtbGliaXRtIgotCV9hcmdzKz0iIC0td2l0aG91dC1oZWFkZXJz IgotCV9hcmdzKz0iIC0tZGlzYWJsZS1ubHMiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYnF1YWRt YXRoIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1kZWNpbWFsLWZsb2F0IgotCV9hcmdzKz0iIC0tZGlz YWJsZS10aHJlYWRzIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1zaGFyZWQiCi0JX2FyZ3MrPSIgLS1k aXNhYmxlLWxpYm11ZGZsYXAiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYmdvbXAiCi0JX2FyZ3Mr PSIgLS1kaXNhYmxlLWxpYmF0b21pYyIKLQlfYXJncys9IiAtLWRpc2FibGUtbGlibXB4IgotCV9h cmdzKz0iIC0tZGlzYWJsZS1zamxqLWV4Y2VwdGlvbnMiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLW11 bHRpbGliIgotCV9hcmdzKz0iIC0td2l0aC1nbnUtbGQiCi0JX2FyZ3MrPSIgLS13aXRoLWdudS1h cyIKLQotCS4uL2djYy0ke19nY2NfdmVyc2lvbn0vY29uZmlndXJlICR7X2FyZ3N9Ci0KLQltYWtl ICR7bWFrZWpvYnN9Ci0JbWFrZSBpbnN0YWxsCi0KLQl0b3VjaCAke3dya3NyY30vLmdjY19ib290 c3RyYXBfZG9uZQotfQotCi1fbGludXhfaGVhZGVycygpIHsKLQlbIC1mICR7d3Jrc3JjfS8ubGlu dXhfYnVpbGRfZG9uZSBdICYmIHJldHVybiAwCi0KLQljZCAke3dya3NyY30KLQltc2dfbm9ybWFs ICJCdWlsZGluZyBMaW51eCBBUEkgaGVhZGVyc1xuIgotCi0JY2QgbGludXgtJHtfbGludXhfdmVy c2lvbn0KLQotCW1ha2UgQVJDSD1wb3dlcnBjIGhlYWRlcnNfY2hlY2sKLQltYWtlIEFSQ0g9cG93 ZXJwYyBJTlNUQUxMX0hEUl9QQVRIPSR7X3N5c3Jvb3R9L3VzciBoZWFkZXJzX2luc3RhbGwKLQot CXRvdWNoICR7d3Jrc3JjfS8ubGludXhfYnVpbGRfZG9uZQotfQotCi1fZ2xpYmNfaGVhZGVycygp IHsKLQlsb2NhbCBfYXJncyBmCi0JWyAtZiAke3dya3NyY30vLmdsaWJjX2hlYWRlcnNfZG9uZSBd ICYmIHJldHVybiAwCi0KLQljZCAke3dya3NyY30vZ2xpYmMtJHtfZ2xpYmNfdmVyc2lvbn0KLQlp ZiBbIC1kICIke1hCUFNfU1JDUEtHRElSfS9nbGliYy9wYXRjaGVzIiBdOyB0aGVuCi0JCWZvciBm IGluICR7WEJQU19TUkNQS0dESVJ9L2dsaWJjL3BhdGNoZXMvKi5wYXRjaDsgZG8KLQkJCV9hcHBs eV9wYXRjaCAtcDEgIiRmIgotCQlkb25lCi0JZmkKLQotCWNkICR7d3Jrc3JjfQotCW1zZ19ub3Jt YWwgIkJ1aWxkaW5nIGNyb3NzIGdsaWJjIGhlYWRlcnNcbiIKLQotCVsgISAtZCBnbGliYy1oZWFk ZXJzIF0gJiYgbWtkaXIgZ2xpYmMtaGVhZGVycwotCWNkIGdsaWJjLWhlYWRlcnMKLQotCWVjaG8g ImxpYmNfY3ZfZm9yY2VkX3Vud2luZD15ZXMiID4gY29uZmlnLmNhY2hlCi0JZWNobyAibGliY19j dl9jX2NsZWFudXA9eWVzIiA+PiBjb25maWcuY2FjaGUKLQotCWV4cG9ydCBDQz0iJHtfdHJpcGxl dH0tZ2NjIiBMRD0iJHtfdHJpcGxldH0tbGQiIFwKLQkJQVM9IiR7X3RyaXBsZXR9LWFzIiBDUFA9 IiR7X3RyaXBsZXR9LWNwcCIgXAotCQlOTT0iJHtfdHJpcGxldH0tbm0iCi0KLQlfYXJncz0iIC0t cHJlZml4PS91c3IiCi0JX2FyZ3MrPSIgLS1ob3N0PSR7X3RyaXBsZXR9IgotCV9hcmdzKz0iIC0t d2l0aC1oZWFkZXJzPSR7X3N5c3Jvb3R9L3Vzci9pbmNsdWRlIgotCV9hcmdzKz0iIC0tY29uZmln LWNhY2hlIgotCV9hcmdzKz0iIC0tZW5hYmxlLW9ic29sZXRlLXJwYyIKLQlfYXJncys9IiAtLWVu YWJsZS1vYnNvbGV0ZS1uc2wiCi0JX2FyZ3MrPSIgLS1lbmFibGUta2VybmVsPTIuNi4yNyIKLQot CS4uL2dsaWJjLSR7X2dsaWJjX3ZlcnNpb259L2NvbmZpZ3VyZSAke19hcmdzfQotCi0JbWFrZSAt ayBpbnN0YWxsLWhlYWRlcnMgY3Jvc3NfY29tcGlsaW5nPXllcyBcCi0JCWluc3RhbGxfcm9vdD0k e19zeXNyb290fQotCi0JdG91Y2ggJHt3cmtzcmN9Ly5nbGliY19oZWFkZXJzX2RvbmUKLX0KLQot X2dsaWJjX2J1aWxkKCkgewotCWxvY2FsIF9hcmdzCi0JWyAtZiAke3dya3NyY30vLmdsaWJjX2J1 aWxkX2RvbmUgXSAmJiByZXR1cm4gMAotCi0JY2QgJHt3cmtzcmN9Ci0JbXNnX25vcm1hbCAiQnVp bGRpbmcgY3Jvc3MgZ2xpYmNcbiIKLQotCVsgISAtZCBnbGliYy1idWlsZCBdICYmIG1rZGlyIGds aWJjLWJ1aWxkCi0JY2QgZ2xpYmMtYnVpbGQKLQotCWVjaG8gInNsaWJkaXI9L3Vzci9saWI2NCIg PiBjb25maWdwYXJtcwotCi0JZWNobyAibGliY19jdl9mb3JjZWRfdW53aW5kPXllcyIgPiBjb25m aWcuY2FjaGUKLQllY2hvICJsaWJjX2N2X2NfY2xlYW51cD15ZXMiID4+IGNvbmZpZy5jYWNoZQot Ci0JZXhwb3J0IENDPSIke190cmlwbGV0fS1nY2MiIENYWD0iJHtfdHJpcGxldH0tZysrIiBMRD0i JHtfdHJpcGxldH0tbGQiIFwKLQkJQVM9IiR7X3RyaXBsZXR9LWFzIiBDUFA9IiR7X3RyaXBsZXR9 LWNwcCIgXAotCQlOTT0iJHtfdHJpcGxldH0tbm0iCi0JZXhwb3J0IENGTEFHUz0iLU8yIC1waXBl IgotCi0JX2FyZ3M9Ii0tcHJlZml4PS91c3IiCi0JX2FyZ3MrPSIgLS1saWJkaXI9L3Vzci9saWI2 NCIKLQlfYXJncys9IiAtLWhvc3Q9JHtfdHJpcGxldH0iCi0JX2FyZ3MrPSIgLS13aXRoLWhlYWRl cnM9JHtfc3lzcm9vdH0vdXNyL2luY2x1ZGUiCi0JX2FyZ3MrPSIgLS1jb25maWctY2FjaGUiCi0J X2FyZ3MrPSIgLS1lbmFibGUtb2Jzb2xldGUtcnBjIgotCV9hcmdzKz0iIC0tZW5hYmxlLW9ic29s ZXRlLW5zbCIKLQlfYXJncys9IiAtLWRpc2FibGUtcHJvZmlsZSIKLQlfYXJncys9IiAtLWVuYWJs ZS1rZXJuZWw9Mi42LjI3IgotCV9hcmdzKz0iIC0tZGlzYWJsZS13ZXJyb3IiCi0KLQkuLi9nbGli Yy0ke19nbGliY192ZXJzaW9ufS9jb25maWd1cmUgJHtfYXJnc30KLQotCW1ha2UgJHttYWtlam9i c30KLQltYWtlIGluc3RhbGxfcm9vdD0ke19zeXNyb290fSBpbnN0YWxsCi0KLQl0b3VjaCAke3dy a3NyY30vLmdsaWJjX2J1aWxkX2RvbmUKLX0KLQotX2djY19idWlsZCgpIHsKLQlsb2NhbCBfYXJn cwotCVsgLWYgJHt3cmtzcmN9Ly5nY2NfYnVpbGRfZG9uZSBdICYmIHJldHVybiAwCi0KLQljZCAk e3dya3NyY30KLQltc2dfbm9ybWFsICJCdWlsZGluZyBjcm9zcyBnY2MgZmluYWxcbiIKLQotCVsg ISAtZCBnY2MtYnVpbGQgXSAmJiBta2RpciBnY2MtYnVpbGQKLQljZCBnY2MtYnVpbGQKLQotCXVu c2V0IExEIEFTCi0KLQkjIE1ha2UgdGhpcyBsaW5rIHRvIHRhcmdldCBsaWJzLgotCWlmIFsgISAt ZiAuc2VkX3N1YnN0X2RvbmUgXTsgdGhlbgotCQlzZWQgLWUgInMsIC9saWIvLCAke19zeXNyb290 fS9saWIvLGc7cywgL3Vzci9saWIvLCAke19zeXNyb290fS91c3IvbGliLyxnIiBcCi0JCQktaSAk e19zeXNyb290fS91c3IvbGliL2xpYmMuc28KLQkJc2VkIC1lICJzLCAvbGliNjQvLCAke19zeXNy b290fS9saWI2NC8sZztzLCAvdXNyL2xpYjY0LywgJHtfc3lzcm9vdH0vdXNyL2xpYjY0LyxnIiBc Ci0JCQktaSAke19zeXNyb290fS91c3IvbGliL2xpYmMuc28KLQkJdG91Y2ggLnNlZF9zdWJzdF9k b25lCi0JZmkKLQotCV9hcmdzPSItLXByZWZpeD0vdXNyIgotCV9hcmdzKz0iIC0tbGliZGlyPS91 c3IvbGliIgotCV9hcmdzKz0iIC0tbGliZXhlY2Rpcj0vdXNyL2xpYiIKLQlfYXJncys9IiAtLXRh cmdldD0ke190cmlwbGV0fSIKLQlfYXJncys9IiAtLXdpdGgtc3lzcm9vdD0ke19zeXNyb290fSIK LQlfYXJncys9IiAtLXdpdGgtYWJpPWVsZnYyIgotCV9hcmdzKz0iIC0tZW5hYmxlLWxhbmd1YWdl cz1jLGFkYSxjKyssb2JqYyxvYmotYysrLGdvLGZvcnRyYW4sbHRvIgotCV9hcmdzKz0iIC0tZW5h YmxlLXNlY3VyZXBsdCIKLQlfYXJncys9IiAtLWVuYWJsZS10YXJnZXRzPXBvd2VycGNsZS1saW51 eCIKLQlfYXJncys9IiAtLXdpdGgtZ251LWFzIgotCV9hcmdzKz0iIC0td2l0aC1nbnUtbGQiCi0J X2FyZ3MrPSIgLS1lbmFibGUtbGliYWRhIgotCV9hcmdzKz0iIC0tZW5hYmxlLWx0byIKLQlfYXJn cys9IiAtLWVuYWJsZS1kZWZhdWx0LXBpZSIKLQlfYXJncys9IiAtLWVuYWJsZS1kZWZhdWx0LXNz cCIKLQlfYXJncys9IiAtLWVuYWJsZS1saW5rZXItYnVpbGQtaWQiCi0JX2FyZ3MrPSIgLS1lbmFi bGUtZ251LXVuaXF1ZS1vYmplY3QiCi0JX2FyZ3MrPSIgLS1lbmFibGUtc2hhcmVkIgotCV9hcmdz Kz0iIC0tZW5hYmxlLXRocmVhZHM9cG9zaXgiCi0JX2FyZ3MrPSIgLS1lbmFibGUtbGlicXVhZG1h dGgiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLW5scyIKLQlfYXJncys9IiAtLWRpc2FibGUtbGlic2Fu aXRpemVyIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1tdWx0aWxpYiIKLQlfYXJncys9IiAtLWRpc2Fi bGUtbGlibXVkZmxhcCIKLQlfYXJncys9IiAtLWRpc2FibGUtbGliaXRtIgotCV9hcmdzKz0iIC0t ZGlzYWJsZS1saWJzdGRjeHgtcGNoIgotCV9hcmdzKz0iIC0tZGlzYWJsZS12dGFibGUtdmVyaWZ5 IgotCV9hcmdzKz0iIC0tZGlzYWJsZS1zamxqLWV4Y2VwdGlvbnMiCi0KLQlDQz0iZ2NjIiBDWFg9 ImcrKyIgQ0ZMQUdTPSItTzIgLXBpcGUiIFwKLQkJLi4vZ2NjLSR7X2djY192ZXJzaW9ufS9jb25m aWd1cmUgJHtfYXJnc30KLQotCW1ha2UgJHttYWtlam9ic30KLQotCXRvdWNoICR7d3Jrc3JjfS8u Z2NjX2J1aWxkX2RvbmUKLX0KLQotZG9fYnVpbGQoKSB7Ci0JdW5zZXQgTERGTEFHUwotCWV4cG9y dCBDRkxBR1M9Ii1PcyAtZlBJQyIgQ1hYRkxBR1M9Ii1PcyAtZlBJQyIKLQotCWZvciBmIGluIGlu Y2x1ZGUgbGliIGxpYmV4ZWMgYmluIHNiaW47IGRvCi0JCWlmIFsgISAtZCAke19zeXNyb290fS91 c3IvJHtmfSBdOyB0aGVuCi0JCQlta2RpciAtcCAke19zeXNyb290fS91c3IvJHtmfQotCQlmaQot CQlpZiBbICEgLWggJHtfc3lzcm9vdH0vJHtmfSBdOyB0aGVuCi0JCQlsbiAtc2ZyICR7X3N5c3Jv b3R9L3Vzci8ke2Z9ICR7X3N5c3Jvb3R9LyR7Zn0KLQkJZmkKLQlkb25lCi0JbG4gLXNmIGxpYiAk e19zeXNyb290fS91c3IvbGliNjQKLQlsbiAtc2YgdXNyL2xpYiAke19zeXNyb290fS9saWI2NAot Ci0JX2JpbnV0aWxzX2J1aWxkCi0JX2djY19ib290c3RyYXAKLQlfbGludXhfaGVhZGVycwotCV9n bGliY19oZWFkZXJzCi0JX2dsaWJjX2J1aWxkCi0JX2djY19idWlsZAotfQotCi1kb19pbnN0YWxs KCkgewotCWZvciBmIGluIGluY2x1ZGUgbGliIGxpYmV4ZWMgYmluIHNiaW47IGRvCi0JCWlmIFsg ISAtZCAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci8ke2Z9IF07IHRoZW4KLQkJCW1rZGlyIC1w ICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyLyR7Zn0KLQkJZmkKLQkJaWYgWyAhIC1oICR7REVT VERJUn0vJHtfc3lzcm9vdH0vJHtmfSBdOyB0aGVuCi0JCQlsbiAtc2ZyICR7REVTVERJUn0vJHtf c3lzcm9vdH0vdXNyLyR7Zn0gXAotCQkJCSR7REVTVERJUn0vJHtfc3lzcm9vdH0vJHtmfQotCQlm aQotCWRvbmUKLQlsbiAtc2YgbGliICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL2xpYjY0Ci0J bG4gLXNmIHVzci9saWIgJHtERVNURElSfS8ke19zeXNyb290fS9saWI2NAotCi0JIyBpbnN0YWxs IGxpbnV4IEFQSSBoZWFkZXJzCi0JY2QgJHt3cmtzcmN9L2xpbnV4LSR7X2xpbnV4X3ZlcnNpb259 Ci0JbWFrZSBBUkNIPXBvd2VycGMgSU5TVEFMTF9IRFJfUEFUSD0ke0RFU1RESVJ9LyR7X3N5c3Jv b3R9L3VzciBoZWFkZXJzX2luc3RhbGwKLQlybSAtZiAkKGZpbmQgJHtERVNURElSfS8ke19zeXNy b290fS91c3IvaW5jbHVkZSAtbmFtZSAuaW5zdGFsbCAtb3IgLW5hbWUgLi5pbnN0YWxsLmNtZCkK LQlybSAtcmYgJHtERVNURElSfS8ke19zeXNyb290fS91c3IvaW5jbHVkZS9kcm0KLQotCSMgaW5z dGFsbCBjcm9zcyBiaW51dGlscwotCWNkICR7d3Jrc3JjfS9iaW51dGlscy1idWlsZAotCW1ha2Ug REVTVERJUj0ke0RFU1RESVJ9IGluc3RhbGwKLQotCSMgaW5zdGFsbCBjcm9zcyBnY2MKLQljZCAk e3dya3NyY30vZ2NjLWJ1aWxkCi0JbWFrZSBERVNURElSPSR7REVTVERJUn0gaW5zdGFsbAotCi0J IyBtb3ZlIGxpYmNjMS5zbyogdG8gdGhlIHN5c3Jvb3QKLQltdiAke0RFU1RESVJ9L3Vzci9saWIv bGliY2MxLnNvKiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci9saWIKLQotCSMgaW5zdGFsbCBn bGliYyBmb3IgdGFyZ2V0Ci0JY2QgJHt3cmtzcmN9L2dsaWJjLWJ1aWxkCi0JbWFrZSBpbnN0YWxs X3Jvb3Q9JHtERVNURElSfS8ke19zeXNyb290fSBpbnN0YWxsIGluc3RhbGwtaGVhZGVycwotCi0J IyBzeW1saW5rcyBmb3IgZ25hcmwgYW5kIGduYXQgc2hhcmVkIGxpYnJhcmllcwotCV9tYWpvcnZl cj0ke19nY2NfdmVyc2lvbiUuKi4qfQotCV9hZGFsaWI9dXNyL2xpYi9nY2MvJHtfdHJpcGxldH0v JHtfZ2NjX3ZlcnNpb259L2FkYWxpYgotCW12IC12ICR7REVTVERJUn0vJHtfYWRhbGlifS9saWJn bmFybC0ke19tYWpvcnZlcn0uc28gJHtERVNURElSfS8ke19zeXNyb290fS91c3IvbGliCi0JbXYg LXYgJHtERVNURElSfS8ke19hZGFsaWJ9L2xpYmduYXQtJHtfbWFqb3J2ZXJ9LnNvICR7REVTVERJ Un0vJHtfc3lzcm9vdH0vdXNyL2xpYgotCWxuIC1zdmYgbGliZ25hcmwtJHtfbWFqb3J2ZXJ9LnNv IGxpYmduYXJsLnNvCi0JbG4gLXN2ZiBsaWJnbmF0LSR7X21ham9ydmVyfS5zbyBsaWJnbmF0LnNv Ci0Jcm0gLXZmICR7REVTVERJUn0vJHtfYWRhbGlifS9saWJnbmF7cmwsdH0uc28KLQotCSMgV2Ug bmVlZCB0byBidWlsZCBsaWJhdG9taWMgaW4gdGFyZ2V0IGdjYyBhcyBnY2NnbyBuZWVkcyBpdCB0 bwotCSMgYnVpbGQuLi4gYnV0IGl0J3Mgbm90IG5lZWRlZCBhdCBydW50aW1lLCBzbyByZW1vdmUg aXQgZnJvbSB0aGUKLQkjIGRlc3RkaXIgc28gaXQgZG9lc24ndCBjb25mbGljdCB3aXRoIHRoZSBs aWJhdG9taWMgcGFja2FnZQotCXJtIC1mICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL2xpYi9s aWJhdG9taWMuKgotCi0JIyBSZW1vdmUgdW5uZWNlc3Nhcnkgc3R1ZmYKLQlybSAtZiAke0RFU1RE SVJ9L3Vzci9saWIqL2xpYmliZXJ0eS5hCi0Jcm0gLXJmICR7REVTVERJUn0vdXNyL3NoYXJlCi0J cm0gLXJmICR7REVTVERJUn0vJHtfc3lzcm9vdH0ve2V0Yyx2YXJ9Ci0Jcm0gLXJmICR7REVTVERJ Un0vJHtfc3lzcm9vdH0vdXNyL3tzYmluLHNoYXJlLGxpYmV4ZWN9Ci0Jcm0gLWYgJHtERVNURElS fS8ke19zeXNyb290fS9saWJleGVjCi0Jcm0gLWYgJHtERVNURElSfS8ke19zeXNyb290fS97c2Jp bixsaWJ9Ci19Ci0KLWRvX2NsZWFuKCkgewotCSMgUmVtb3ZlIHRlbXBvcmFyeSBzdHVmZiBmcm9t IG1hc3RlcmRpcgotCXJtIC1yZiAke19zeXNyb290fQotCXJtIC1mIC91c3IvYmluLyR7X3RyaXBs ZXR9KgotCXJtIC1yZiAvdXNyL2xpYi9nY2MvJHtfdHJpcGxldH0KLQlybSAtcmYgL3Vzci9saWJl eGVjL2djYy8ke190cmlwbGV0fQotfQotCiBjcm9zcy1wb3dlcnBjNjRsZS1saW51eC1nbnUtbGli Y19wYWNrYWdlKCkgewogCXNob3J0X2Rlc2MrPSIgLSBnbGliYyBmaWxlcyIKIAlub3N0cmlwPXll cwogCW5vdmVyaWZ5cmRlcHM9eWVzCiAJbm9zaGxpYnByb3ZpZGVzPXllcworCiAJcGtnX2luc3Rh bGwoKSB7Ci0JCXZtb3ZlICR7X3N5c3Jvb3R9CisJCXZtb3ZlIHVzci8ke2Nyb3NzX3RyaXBsZXR9 CiAJfQogfQoKRnJvbSA5YTkyNzExYWQ5Nzg5ZWMwYWJkZjczZDk2MjQ1ODI2Y2Y5NTRlNGJkIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBxNjYgPGRhbmllbEBvY3RhZm9yZ2Uub3JnPgpE YXRlOiBTYXQsIDI2IERlYyAyMDIwIDE4OjU4OjEzICswMTAwClN1YmplY3Q6IFtQQVRDSCAyMi8y Nl0gY3Jvc3MtcG93ZXJwYzY0bGUtbGludXgtbXVzbDogcmV3b3JrIHdpdGggdm9pZC1jcm9zcwoK LS0tCiBzcmNwa2dzL2Nyb3NzLXBvd2VycGM2NGxlLWxpbnV4LW11c2wvdGVtcGxhdGUgfCAzMjQg KystLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMjIgaW5zZXJ0aW9ucygrKSwgMzAy IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY3Jvc3MtcG93ZXJwYzY0bGUtbGlu dXgtbXVzbC90ZW1wbGF0ZSBiL3NyY3BrZ3MvY3Jvc3MtcG93ZXJwYzY0bGUtbGludXgtbXVzbC90 ZW1wbGF0ZQppbmRleCBlMDQxY2M1ZDA0MS4uZDlhY2Y2OWViZmYgMTAwNjQ0Ci0tLSBhL3NyY3Br Z3MvY3Jvc3MtcG93ZXJwYzY0bGUtbGludXgtbXVzbC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2Ny b3NzLXBvd2VycGM2NGxlLWxpbnV4LW11c2wvdGVtcGxhdGUKQEAgLTEsMTcgKzEsMjAgQEAKICMg VGVtcGxhdGUgZmlsZSBmb3IgJ2Nyb3NzLXBvd2VycGM2NGxlLWxpbnV4LW11c2wnCitfdHJpcGxl dD1wb3dlcnBjNjRsZS1saW51eC1tdXNsCiBfYmludXRpbHNfdmVyc2lvbj0yLjMyCiBfZ2NjX3Zl cnNpb249OS4zLjAKIF9tdXNsX3ZlcnNpb249MS4xLjI0CiBfbGludXhfdmVyc2lvbj00LjE5CiBf bGlidWNvbnRleHRfdmVyc2lvbj0wLjkuMAotCi1fdHJpcGxldD0icG93ZXJwYzY0bGUtbGludXgt bXVzbCIKLV9zeXNyb290PSIvdXNyLyR7X3RyaXBsZXR9IgotCiBwa2duYW1lPWNyb3NzLSR7X3Ry aXBsZXR9CiB2ZXJzaW9uPTAuMzMKIHJldmlzaW9uPTIKLXNob3J0X2Rlc2M9IkNyb3NzIHRvb2xj aGFpbiBmb3IgcG93ZXJwYzY0bGUgd2l0aCBtdXNsIgorYnVpbGRfc3R5bGU9dm9pZC1jcm9zcwor Y29uZmlndXJlX2FyZ3M9Ii0tZW5hYmxlLXNlY3VyZXBsdCAtLWRpc2FibGUtdnRhYmxlLXZlcmlm eQorIC0tZGlzYWJsZS1kZWNpbWFsLWZsb2F0IC0td2l0aC1hYmk9ZWxmdjIgLS1lbmFibGUtdGFy Z2V0cz1wb3dlcnBjbGUtbGludXgiCitob3N0bWFrZWRlcGVuZHM9InRhciBnY2Mtb2JqYyBnY2Mt Z28gZmxleCBwZXJsIHB5dGhvbjMiCittYWtlZGVwZW5kcz0iaXNsMTUtZGV2ZWwgbGlibXBjLWRl dmVsIHpsaWItZGV2ZWwgZ21wLWRldmVsIG1wZnItZGV2ZWwiCitkZXBlbmRzPSIke3BrZ25hbWV9 LWxpYmMtJHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIKK3Nob3J0X2Rlc2M9IlZvaWQgY3Jvc3MgdG9v bGNoYWluIGZvciAke190cmlwbGV0fSIKIG1haW50YWluZXI9InE2NiA8ZGFuaWVsQG9jdGFmb3Jn ZS5vcmc+IgogaG9tZXBhZ2U9Imh0dHBzOi8vd3d3LnZvaWRsaW51eC5vcmcvIgogbGljZW5zZT0i R1BMLTIuMC1vci1sYXRlciwgR1BMLTMuMC1vci1sYXRlciwgTUlUIgpAQCAtMjcsMzEzICszMCwz MCBAQCBjaGVja3N1bT0iMGFiNmM1NWRkODZhOTJlZDU2MTk3MmJhMTViOWI3MGE4YjlmNzU1NTdm ODk2NDQ2YzgyZThiMzZlNDczZWUwNAogIDBjNjhmNTY1NTUyOGFlZDRmOTlkYWU3MWE1YjI1OWVk YzkzMjM5ZmE4OTllMmRmNzljMDU1Mjc1YzIxNzQ5YTEKICAwZDUzYTQxNWEzMDdlZjE3NTE1M2Ji ZTYwYTU3MmM5NDBhOTIyY2I3MzZjZTEzNTMwYjY2NmU3ZWMyNzk1ZDY4IgogCi1saWIzMmRpc2Fi bGVkPXllcwotbm9jcm9zcz15ZXMKLW5vcGllPXllcwotbm9kZWJ1Zz15ZXMKLWNyZWF0ZV93cmtz cmM9eWVzCi1ob3N0bWFrZWRlcGVuZHM9InRhciBnY2Mtb2JqYyBnY2MtZ28gZmxleCBwZXJsIHB5 dGhvbjMiCi1tYWtlZGVwZW5kcz0iemxpYi1kZXZlbCBnbXAtZGV2ZWwgbXBmci1kZXZlbCBsaWJt cGMtZGV2ZWwgaXNsMTUtZGV2ZWwiCi1ub3N0cmlwX2ZpbGVzPSJsaWJjYWZfc2luZ2xlLmEgbGli Z2NjLmEgbGliZ2Nvdi5hIGxpYmdjY19laC5hCi0gbGliZ25hcmxfcGljLmEgbGliZ25hcmwuYSBs aWJnbmF0X3BpYy5hIGxpYmduYXQuYSBsaWJnbWVtLmEiCi1kZXBlbmRzPSIke3BrZ25hbWV9LWxp YmMtJHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIKLQotaWYgWyAiJFhCUFNfVEFSR0VUX1dPUkRTSVpF IiAhPSAiNjQiIF07IHRoZW4KLQlicm9rZW49IjY0LWJpdCBjcm9zc3Rvb2xjaGFpbiBvbmx5IGF2 YWlsYWJsZSBvbiA2NC1iaXQgaG9zdCIKLWZpCitjcm9zc190cmlwbGV0PSR7X3RyaXBsZXR9Citj cm9zc193b3Jkc2l6ZT02NAorY3Jvc3NfbGliYz1tdXNsCitjcm9zc19iaW51dGlsc192ZXJzaW9u PSR7X2JpbnV0aWxzX3ZlcnNpb259Citjcm9zc19nY2NfdmVyc2lvbj0ke19nY2NfdmVyc2lvbn0K K2Nyb3NzX211c2xfdmVyc2lvbj0ke19tdXNsX3ZlcnNpb259Citjcm9zc19saW51eF92ZXJzaW9u PSR7X2xpbnV4X3ZlcnNpb259Citjcm9zc19saWJ1Y29udGV4dF92ZXJzaW9uPSR7X2xpYnVjb250 ZXh0X3ZlcnNpb259Citjcm9zc19saWJ1Y29udGV4dF9hcmNoPXBwYzY0Citjcm9zc19saW51eF9h cmNoPXBvd2VycGMKK2Nyb3NzX2JpbnV0aWxzX2NvbmZpZ3VyZV9hcmdzPSItLWVuYWJsZS1zZWN1 cmVwbHQiCitjcm9zc19tdXNsX2NmbGFncz0iLU8yIgogCiBpZiBbICIkWEJQU19UQVJHRVRfTUFD SElORSIgPSAicHBjNjRsZS1tdXNsIiBdOyB0aGVuCiAJYnJva2VuPSJDYW4ndCBidWlsZCBjcm9z c3Rvb2xjaGFpbiB0byBpdHNlbGYiCiBmaQogCi1fYXBwbHlfcGF0Y2goKSB7Ci0JbG9jYWwgYXJn cz0iJDEiIHBuYW1lPSIkKGJhc2VuYW1lICQyKSIKLQotCWlmIFsgISAtZiAiLiR7cG5hbWV9X2Rv bmUiIF07IHRoZW4KLQkJcGF0Y2ggLU4gJGFyZ3MgLWkgJDIKLQkJdG91Y2ggLiR7cG5hbWV9X2Rv bmUKLQlmaQotfQotCi1fYmludXRpbHNfYnVpbGQoKSB7Ci0JbG9jYWwgX2FyZ3MKLQotCVsgLWYg JHt3cmtzcmN9Ly5iaW51dGlsc19idWlsZF9kb25lIF0gJiYgcmV0dXJuIDAKLQotCWNkICR7d3Jr c3JjfQotCW1zZ19ub3JtYWwgIkJ1aWxkaW5nIGNyb3NzIGJpbnV0aWxzIGJvb3RzdHJhcFxuIgot Ci0JWyAhIC1kIGJpbnV0aWxzLWJ1aWxkIF0gJiYgbWtkaXIgYmludXRpbHMtYnVpbGQKLQljZCBi aW51dGlscy1idWlsZAotCi0JX2FyZ3M9Ii0tcHJlZml4PS91c3IiCi0JX2FyZ3MrPSIgLS10YXJn ZXQ9JHtfdHJpcGxldH0iCi0JX2FyZ3MrPSIgLS13aXRoLXN5c3Jvb3Q9JHtfc3lzcm9vdH0iCi0J X2FyZ3MrPSIgLS1kaXNhYmxlLW5scyIKLQlfYXJncys9IiAtLWRpc2FibGUtbXVsdGlsaWIiCi0J X2FyZ3MrPSIgLS1kaXNhYmxlLXdlcnJvciIKLQlfYXJncys9IiAtLWRpc2FibGUtc2hhcmVkIgot CV9hcmdzKz0iIC0td2l0aC1zeXN0ZW0temxpYiIKLQotCS4uL2JpbnV0aWxzLSR7X2JpbnV0aWxz X3ZlcnNpb259L2NvbmZpZ3VyZSAke19hcmdzfQotCi0JbWFrZSBjb25maWd1cmUtaG9zdAotCW1h a2UgJHttYWtlam9ic30KLQltYWtlIGluc3RhbGwKLQotCXRvdWNoICR7d3Jrc3JjfS8uYmludXRp bHNfYnVpbGRfZG9uZQotfQotCi1fZ2NjX2Jvb3RzdHJhcCgpIHsKLQlsb2NhbCBfYXJncwotCi0J WyAtZiAke3dya3NyY30vLmdjY19ib290c3RyYXBfZG9uZSBdICYmIHJldHVybiAwCi0KLQljZCAk e3dya3NyY30vZ2NjLSR7X2djY192ZXJzaW9ufQotCWZvciBmIGluICR7WEJQU19TUkNQS0dESVJ9 L2djYy9wYXRjaGVzLyoucGF0Y2g7IGRvCi0JCV9hcHBseV9wYXRjaCAtcDAgIiRmIgotCWRvbmUK LQlmb3IgZiBpbiAke1hCUFNfU1JDUEtHRElSfS9nY2MvZmlsZXMvKi1tdXNsLnBhdGNoOyBkbwot CQlfYXBwbHlfcGF0Y2ggLXAxICIkZiIKLQlkb25lCi0KLQltc2dfbm9ybWFsICJCdWlsZGluZyBj cm9zcyBnY2MgYm9vdHN0cmFwXG4iCi0KLQlbICEgLWQgLi4vZ2NjLWJvb3RzdHJhcCBdICYmIG1r ZGlyIC4uL2djYy1ib290c3RyYXAKLQljZCAuLi9nY2MtYm9vdHN0cmFwCi0JZXhwb3J0IGFjX2N2 X2NfY29tcGlsZXJfZ251PXllcwotCi0JX2FyZ3M9Ii0tcHJlZml4PS91c3IiCi0JX2FyZ3MrPSIg LS10YXJnZXQ9JHtfdHJpcGxldH0iCi0JX2FyZ3MrPSIgLS13aXRoLXN5c3Jvb3Q9JHtfc3lzcm9v dH0iCi0JX2FyZ3MrPSIgLS13aXRoLWFiaT1lbGZ2MiIKLQlfYXJncys9IiAtLWVuYWJsZS1sYW5n dWFnZXM9YyIKLQlfYXJncys9IiAtLWVuYWJsZS1kZWNpbWFsLWZsb2F0PW5vIgotCV9hcmdzKz0i IC0tZW5hYmxlLXNlY3VyZXBsdCIKLQlfYXJncys9IiAtLWVuYWJsZS10YXJnZXRzPXBvd2VycGNs ZS1saW51eCIKLQlfYXJncys9IiAtLXdpdGgtbmV3bGliIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1s aWJzc3AiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLW5scyIKLQlfYXJncys9IiAtLWRpc2FibGUtbGli cXVhZG1hdGgiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLXRocmVhZHMiCi0JX2FyZ3MrPSIgLS1kaXNh YmxlLXNoYXJlZCIKLQlfYXJncys9IiAtLWRpc2FibGUtbXVsdGlsaWIiCi0JX2FyZ3MrPSIgLS1k aXNhYmxlLWxpYm11ZGZsYXAiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYmdvbXAiCi0JX2FyZ3Mr PSIgLS1kaXNhYmxlLWxpYmF0b21pYyIKLQlfYXJncys9IiAtLWRpc2FibGUtc3ltdmVycyIKLQlf YXJncys9IiBsaWJhdF9jdl9oYXZlX2lmdW5jPW5vIgotCi0JLi4vZ2NjLSR7X2djY192ZXJzaW9u fS9jb25maWd1cmUgJHtfYXJnc30KLQotCW1ha2UgJHttYWtlam9ic30KLQltYWtlIGluc3RhbGwK LQotCXRvdWNoICR7d3Jrc3JjfS8uZ2NjX2Jvb3RzdHJhcF9kb25lCi19Ci0KLV9saW51eF9oZWFk ZXJzKCkgewotCVsgLWYgJHt3cmtzcmN9Ly5saW51eF9idWlsZF9kb25lIF0gJiYgcmV0dXJuIDAK LQotCWNkICR7d3Jrc3JjfQotCW1zZ19ub3JtYWwgIkJ1aWxkaW5nIExpbnV4IEFQSSBoZWFkZXJz XG4iCi0KLQljZCBsaW51eC0ke19saW51eF92ZXJzaW9ufQotCi0JZm9yIGYgaW4gJHtYQlBTX1NS Q1BLR0RJUn0va2VybmVsLWxpYmMtaGVhZGVycy9wYXRjaGVzLyoucGF0Y2g7IGRvCi0JCV9hcHBs eV9wYXRjaCAtcDAgJGYKLQlkb25lCi0KLQltYWtlIEFSQ0g9cG93ZXJwYyBoZWFkZXJzX2NoZWNr Ci0JbWFrZSBBUkNIPXBvd2VycGMgSU5TVEFMTF9IRFJfUEFUSD0ke19zeXNyb290fS91c3IgaGVh ZGVyc19pbnN0YWxsCi0KLQl0b3VjaCAke3dya3NyY30vLmxpbnV4X2J1aWxkX2RvbmUKLX0KLQot X211c2xfYnVpbGQoKSB7Ci0JWyAtZiAke3dya3NyY30vLm11c2xfYnVpbGRfZG9uZSBdICYmIHJl dHVybiAwCi0KLQljZCAke3dya3NyY30vbXVzbC0ke19tdXNsX3ZlcnNpb259Ci0JbXNnX25vcm1h bCAiQnVpbGRpbmcgY3Jvc3MgbXVzbCBsaWJjXG4iCi0KLQkjIEFwcGx5IG11c2wgcGF0Y2hlcyBp ZiB0aGVyZSBhcmUgYW55Ci0JaWYgWyAtZCAiJHtYQlBTX1NSQ1BLR0RJUn0vbXVzbC9wYXRjaGVz IiBdOyB0aGVuCi0JCWZvciBmIGluICR7WEJQU19TUkNQS0dESVJ9L211c2wvcGF0Y2hlcy8qLnBh dGNoOyBkbwotCQkJX2FwcGx5X3BhdGNoIC1wMCAiJGYiCi0JCWRvbmUKLQlmaQotCi0JQ0M9IiR7 X3RyaXBsZXR9LWdjYyIgTEQ9IiR7X3RyaXBsZXR9LWxkIiBBUj0iJHtfdHJpcGxldH0tYXIiIFwK LQkJQVM9IiR7X3RyaXBsZXR9LWFzIiBSQU5MSUI9IiR7X3RyaXBsZXR9LXJhbmxpYiIgXAotCQlD RkxBR1M9Ii1PcyAtcGlwZSAtZlBJQyAke19hcmNoZmxhZ3N9IiBcCi0JCS4vY29uZmlndXJlIC0t cHJlZml4PS91c3IKLQotCW1ha2UgJHttYWtlam9ic30KLQltYWtlIERFU1RESVI9JHtfc3lzcm9v dH0gaW5zdGFsbAotCi0JdG91Y2ggJHt3cmtzcmN9Ly5tdXNsX2J1aWxkX2RvbmUKLX0KLQotX2xp YnVjb250ZXh0X2J1aWxkKCkgewotCVsgLWYgJHt3cmtzcmN9Ly5saWJ1Y29udGV4dF9idWlsZF9k b25lIF0gJiYgcmV0dXJuIDAKLQotCWNkICR7d3Jrc3JjfS9saWJ1Y29udGV4dC0ke19saWJ1Y29u dGV4dF92ZXJzaW9ufQotCW1zZ19ub3JtYWwgIkJ1aWxkaW5nIGNyb3NzIGxpYnVjb250ZXh0XG4i Ci0KLQkjIGl0J3Mgb2sgaWYgd2UncmUgc3RhdGljIG9ubHkgaGVyZQotCUNDPSIke190cmlwbGV0 fS1nY2MiIEFSPSIke190cmlwbGV0fS1hciIgQVM9IiR7X3RyaXBsZXR9LWFzIiBcCi0JCUNGTEFH Uz0iLU9zIC1waXBlICR7X2FyY2hmbGFnc30iIFwKLQkJbWFrZSBBUkNIPXBwYzY0IGxpYnVjb250 ZXh0LmEKLQotCWNwIGxpYnVjb250ZXh0LmEgJHtfc3lzcm9vdH0vdXNyL2xpYgotCi0JdG91Y2gg JHt3cmtzcmN9Ly5saWJ1Y29udGV4dF9idWlsZF9kb25lCi19Ci0KLV9nY2NfYnVpbGQoKSB7Ci0J bG9jYWwgX2FyZ3MKLQlbIC1mICR7d3Jrc3JjfS8uZ2NjX2J1aWxkX2RvbmUgXSAmJiByZXR1cm4g MAotCi0JY2QgJHt3cmtzcmN9Ci0JbXNnX25vcm1hbCAiQnVpbGRpbmcgY3Jvc3MgZ2NjIGZpbmFs XG4iCi0KLQlbICEgLWQgZ2NjLWJ1aWxkIF0gJiYgbWtkaXIgZ2NjLWJ1aWxkCi0JY2QgZ2NjLWJ1 aWxkCi0KLQlfYXJncz0iLS1wcmVmaXg9L3VzciIKLQlfYXJncys9IiAtLWxpYmV4ZWNkaXI9L3Vz ci9saWIiCi0JX2FyZ3MrPSIgLS10YXJnZXQ9JHtfdHJpcGxldH0iCi0JX2FyZ3MrPSIgLS13aXRo LXN5c3Jvb3Q9JHtfc3lzcm9vdH0iCi0JX2FyZ3MrPSIgLS13aXRoLWFiaT1lbGZ2MiIKLQlfYXJn cys9IiAtLWVuYWJsZS1sYW5ndWFnZXM9YyxhZGEsYysrLG9iamMsb2JqLWMrKyxnbyxmb3J0cmFu LGx0byIKLQlfYXJncys9IiAtLWVuYWJsZS1kZWNpbWFsLWZsb2F0PW5vIgotCV9hcmdzKz0iIC0t ZW5hYmxlLXNlY3VyZXBsdCIKLQlfYXJncys9IiAtLWVuYWJsZS10YXJnZXRzPXBvd2VycGNsZS1s aW51eCIKLQlfYXJncys9IiAtLWVuYWJsZS1saWJhZGEiCi0JX2FyZ3MrPSIgLS1lbmFibGUtbHRv IgotCV9hcmdzKz0iIC0tZW5hYmxlLWRlZmF1bHQtcGllIgotCV9hcmdzKz0iIC0tZW5hYmxlLWRl ZmF1bHQtc3NwIgotCV9hcmdzKz0iIC0tZW5hYmxlLWxpYnNzcCIKLQlfYXJncys9IiAtLWRpc2Fi bGUtbGlicXVhZG1hdGgiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYnNhbml0aXplciIKLQlfYXJn cys9IiAtLWRpc2FibGUtbXVsdGlsaWIiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYm11ZGZsYXAi Ci0JX2FyZ3MrPSIgLS1lbmFibGUtc2hhcmVkIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1zeW12ZXJz IgotCV9hcmdzKz0iIC0tZGlzYWJsZS12dGFibGUtdmVyaWZ5IgotCV9hcmdzKz0iIGxpYmF0X2N2 X2hhdmVfaWZ1bmM9bm8iCi0KLQkuLi9nY2MtJHtfZ2NjX3ZlcnNpb259L2NvbmZpZ3VyZSAke19h cmdzfQotCi0JbWFrZSAke21ha2Vqb2JzfQotCi0JdG91Y2ggJHt3cmtzcmN9Ly5nY2NfYnVpbGRf ZG9uZQotfQotCi1kb19idWlsZCgpIHsKLQkjIEVuc3VyZSB3ZSB1c2Ugc2FuZSBlbnZpcm9ubWVu dAotCXVuc2V0IENDIENYWCBDUFAgTEQgQVMgQVIgUkFOTElCIE9CSkRVTVAgUkVBREVMRiBOTQot CXVuc2V0IENGTEFHUyBDWFhGTEFHUyBDUFBGTEFHUyBMREZMQUdTCi0JZXhwb3J0IENGTEFHUz0i LU9zIC1waXBlIC1mUElDIiBDWFhGTEFHUz0iLU9zIC1waXBlIC1mUElDIgotCi0JZm9yIGYgaW4g aW5jbHVkZSBsaWIgbGliZXhlYyBiaW4gc2JpbjsgZG8KLQkJaWYgWyAhIC1kICR7X3N5c3Jvb3R9 L3Vzci8ke2Z9IF07IHRoZW4KLQkJCW1rZGlyIC1wICR7X3N5c3Jvb3R9L3Vzci8ke2Z9Ci0JCWZp Ci0JCWlmIFsgISAtaCAke19zeXNyb290fS8ke2Z9IF07IHRoZW4KLQkJCWxuIC1zZnIgJHtfc3lz cm9vdH0vdXNyLyR7Zn0gJHtfc3lzcm9vdH0vJHtmfQotCQlmaQotCWRvbmUKLQlsbiAtc2YgbGli ICR7X3N5c3Jvb3R9L3Vzci9saWIzMgotCWxuIC1zZiB1c3IvbGliICR7X3N5c3Jvb3R9L2xpYjMy Ci0KLQlfYmludXRpbHNfYnVpbGQKLQlfZ2NjX2Jvb3RzdHJhcAotCV9saW51eF9oZWFkZXJzCi0J X211c2xfYnVpbGQKLQlfbGlidWNvbnRleHRfYnVpbGQKLQlfZ2NjX2J1aWxkCi19Ci0KLWRvX2lu c3RhbGwoKSB7Ci0JZm9yIGYgaW4gaW5jbHVkZSBsaWIgbGliZXhlYyBiaW4gc2JpbjsgZG8KLQkJ aWYgWyAhIC1kICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyLyR7Zn0gXTsgdGhlbgotCQkJbWtk aXIgLXAgJHtERVNURElSfS8ke19zeXNyb290fS91c3IvJHtmfQotCQlmaQotCQlpZiBbICEgLWgg JHtERVNURElSfS8ke19zeXNyb290fS8ke2Z9IF07IHRoZW4KLQkJCWxuIC1zZnIgJHtERVNURElS fS8ke19zeXNyb290fS91c3IvJHtmfSBcCi0JCQkJJHtERVNURElSfS8ke19zeXNyb290fS8ke2Z9 Ci0JCWZpCi0JZG9uZQotCWxuIC1zZiBsaWIgJHtERVNURElSfS8ke19zeXNyb290fS91c3IvbGli NjQKLQlsbiAtc2YgdXNyL2xpYiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L2xpYjY0Ci0KLQkjIGlu c3RhbGwgbGludXggQVBJIGhlYWRlcnMKLQljZCAke3dya3NyY30vbGludXgtJHtfbGludXhfdmVy c2lvbn0KLQltYWtlIEFSQ0g9cG93ZXJwYyBJTlNUQUxMX0hEUl9QQVRIPSR7REVTVERJUn0vJHtf c3lzcm9vdH0vdXNyIGhlYWRlcnNfaW5zdGFsbAotCXJtIC1mICQoZmluZCAke0RFU1RESVJ9LyR7 X3N5c3Jvb3R9L3Vzci9pbmNsdWRlIC1uYW1lIC5pbnN0YWxsIC1vciAtbmFtZSAuLmluc3RhbGwu Y21kKQotCXJtIC1yZiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci9pbmNsdWRlL2RybQotCi0J IyBpbnN0YWxsIGNyb3NzIGJpbnV0aWxzCi0JY2QgJHt3cmtzcmN9L2JpbnV0aWxzLWJ1aWxkCi0J bWFrZSBERVNURElSPSR7REVTVERJUn0gaW5zdGFsbAotCi0JIyBpbnN0YWxsIGNyb3NzIGdjYwot CWNkICR7d3Jrc3JjfS9nY2MtYnVpbGQKLQltYWtlIERFU1RESVI9JHtERVNURElSfSBpbnN0YWxs Ci0KLQkjIG1vdmUgbGliY2MxLnNvKiB0byB0aGUgc3lzcm9vdAotCW12ICR7REVTVERJUn0vdXNy L2xpYi9saWJjYzEuc28qICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL2xpYgotCi0JIyBpbnN0 YWxsIG11c2wgbGliYyBmb3IgdGFyZ2V0Ci0JY2QgJHt3cmtzcmN9L211c2wtJHtfbXVzbF92ZXJz aW9ufQotCW1ha2UgREVTVERJUj0ke0RFU1RESVJ9LyR7X3N5c3Jvb3R9IGluc3RhbGwKLQotCSMg UmVtb3ZlIHVzZWxlc3MgaGVhZGVycy4KLQlybSAtcmYgJHtERVNURElSfS91c3IvbGliL2djYy8k e190cmlwbGV0fS8qL2luY2x1ZGUtZml4ZWQvCi0KLQkjIE1ha2UgbGQtbXVzbC1wb3dlcnBjNjRs ZS5zby4xIHN5bWxpbmsgcmVsYXRpdmUgdG8gY3dkLgotCWNkICR7REVTVERJUn0vJHtfc3lzcm9v dH0vdXNyL2xpYgotCWxuIC1zZiBsaWJjLnNvIGxkLW11c2wtcG93ZXJwYzY0bGUuc28uMQotCi0J IyBzeW1saW5rcyBmb3IgZ25hcmwgYW5kIGduYXQgc2hhcmVkIGxpYnJhcmllcwotCV9tYWpvcnZl cj0ke19nY2NfdmVyc2lvbiUuKi4qfQotCV9hZGFsaWI9dXNyL2xpYi9nY2MvJHtfdHJpcGxldH0v JHtfZ2NjX3ZlcnNpb259L2FkYWxpYgotCW12IC12ICR7REVTVERJUn0vJHtfYWRhbGlifS9saWJn bmFybC0ke19tYWpvcnZlcn0uc28gJHtERVNURElSfS8ke19zeXNyb290fS91c3IvbGliCi0JbXYg LXYgJHtERVNURElSfS8ke19hZGFsaWJ9L2xpYmduYXQtJHtfbWFqb3J2ZXJ9LnNvICR7REVTVERJ Un0vJHtfc3lzcm9vdH0vdXNyL2xpYgotCWxuIC1zdmYgbGliZ25hcmwtJHtfbWFqb3J2ZXJ9LnNv IGxpYmduYXJsLnNvCi0JbG4gLXN2ZiBsaWJnbmF0LSR7X21ham9ydmVyfS5zbyBsaWJnbmF0LnNv Ci0Jcm0gLXZmICR7REVTVERJUn0vJHtfYWRhbGlifS9saWJnbmF7cmwsdH0uc28KLQotCSMgV2Ug bmVlZCB0byBidWlsZCBsaWJhdG9taWMgaW4gdGFyZ2V0IGdjYyBhcyBnY2NnbyBuZWVkcyBpdCB0 bwotCSMgYnVpbGQuLi4gYnV0IGl0J3Mgbm90IG5lZWRlZCBhdCBydW50aW1lLCBzbyByZW1vdmUg aXQgZnJvbSB0aGUKLQkjIGRlc3RkaXIgc28gaXQgZG9lc24ndCBjb25mbGljdCB3aXRoIHRoZSBs aWJhdG9taWMgcGFja2FnZQotCXJtIC1mICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL2xpYi9s aWJhdG9taWMuKgotCi0JIyBSZW1vdmUgdW5uZWNlc3Nhcnkgc3R1ZmYKLQlybSAtZiAke0RFU1RE SVJ9L3Vzci9saWIqL2xpYmliZXJ0eS5hCi0Jcm0gLXJmICR7REVTVERJUn0vdXNyL3NoYXJlCi0J cm0gLXJmICR7REVTVERJUn0vJHtfc3lzcm9vdH0ve2V0Yyx2YXJ9Ci0Jcm0gLXJmICR7REVTVERJ Un0vJHtfc3lzcm9vdH0vdXNyL3tzYmluLHNoYXJlLGxpYmV4ZWN9Ci0Jcm0gLWYgJHtERVNURElS fS8ke19zeXNyb290fS9saWJleGVjCi0Jcm0gLWYgJHtERVNURElSfS8ke19zeXNyb290fS9saWIv Ki5weQotCXJtIC1mICR7REVTVERJUn0vJHtfc3lzcm9vdH0ve3NiaW4sbGlifQotfQotCi1kb19j bGVhbigpIHsKLQkjIFJlbW92ZSB0ZW1wb3Jhcnkgc3R1ZmYgZnJvbSBtYXN0ZXJkaXIKLQlybSAt cmYgJHtfc3lzcm9vdH0KLQlybSAtZiAvdXNyL2Jpbi8ke190cmlwbGV0fSoKLQlybSAtcmYgL3Vz ci9saWIvZ2NjLyR7X3RyaXBsZXR9Ci0Jcm0gLXJmIC91c3IvbGliZXhlYy9nY2MvJHtfdHJpcGxl dH0KLX0KLQogY3Jvc3MtcG93ZXJwYzY0bGUtbGludXgtbXVzbC1saWJjX3BhY2thZ2UoKSB7CiAJ c2hvcnRfZGVzYys9IiAtIGxpYmMgZmlsZXMiCiAJbm9zdHJpcD15ZXMKIAlub3ZlcmlmeXJkZXBz PXllcwogCW5vc2hsaWJwcm92aWRlcz15ZXMKKwogCXBrZ19pbnN0YWxsKCkgewotCQl2bW92ZSAk e19zeXNyb290fQorCQl2bW92ZSB1c3IvJHtjcm9zc190cmlwbGV0fQogCX0KIH0KCkZyb20gNDUz OThmNzE0Y2NhODMxMjNhYjdlNDhlMTAzM2JhYzY0MjMwY2NmZiBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogcTY2IDxkYW5pZWxAb2N0YWZvcmdlLm9yZz4KRGF0ZTogU2F0LCAyNiBEZWMg MjAyMCAxOTowMzowMiArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMjMvMjZdIGNyb3NzLXBvd2VycGM2 NC1saW51eC1nbnU6IHJld29yayB3aXRoIHZvaWQtY3Jvc3MKCi0tLQogc3JjcGtncy9jcm9zcy1w b3dlcnBjNjQtbGludXgtZ251L3RlbXBsYXRlIHwgMzY5ICsrLS0tLS0tLS0tLS0tLS0tLS0tLQog MSBmaWxlIGNoYW5nZWQsIDIxIGluc2VydGlvbnMoKyksIDM0OCBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9zcmNwa2dzL2Nyb3NzLXBvd2VycGM2NC1saW51eC1nbnUvdGVtcGxhdGUgYi9zcmNw a2dzL2Nyb3NzLXBvd2VycGM2NC1saW51eC1nbnUvdGVtcGxhdGUKaW5kZXggZWJjZWM0Yzc2YmUu LjBiMGRmMThkYjY0IDEwMDY0NAotLS0gYS9zcmNwa2dzL2Nyb3NzLXBvd2VycGM2NC1saW51eC1n bnUvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9jcm9zcy1wb3dlcnBjNjQtbGludXgtZ251L3RlbXBs YXRlCkBAIC0xLDE5ICsxLDIyIEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdjcm9zcy1wb3dlcnBj NjQtbGludXgtZ251JworX3RyaXBsZXQ9cG93ZXJwYzY0LWxpbnV4LWdudQogX2JpbnV0aWxzX3Zl cnNpb249Mi4zMgogX2djY192ZXJzaW9uPTkuMy4wCiBfZ2xpYmNfdmVyc2lvbj0yLjMwCiBfbGlu dXhfdmVyc2lvbj00LjE5Ci0KLV90cmlwbGV0PSJwb3dlcnBjNjQtbGludXgtZ251IgotX3N5c3Jv b3Q9Ii91c3IvJHtfdHJpcGxldH0iCi0KIHBrZ25hbWU9Y3Jvc3MtJHtfdHJpcGxldH0KIHZlcnNp b249MC4zMwogcmV2aXNpb249MQotc2hvcnRfZGVzYz0iR05VIGNyb3NzIHRvb2xjaGFpbiBmb3Ig dGhlICR7X3RyaXBsZXR9IHRhcmdldHMgKGJpbnV0aWxzL2djYy9nbGliYykiCitidWlsZF9zdHls ZT12b2lkLWNyb3NzCitjb25maWd1cmVfYXJncz0iLS1lbmFibGUtc2VjdXJlcGx0IC0tZGlzYWJs ZS12dGFibGUtdmVyaWZ5IC0td2l0aC1hYmk9ZWxmdjIKKyAtLWVuYWJsZS10YXJnZXRzPXBvd2Vy cGMtbGludXgiCitob3N0bWFrZWRlcGVuZHM9InRhciBnY2Mtb2JqYyBnY2MtZ28gZmxleCBwZXJs IHB5dGhvbjMiCittYWtlZGVwZW5kcz0iaXNsMTUtZGV2ZWwgbGlibXBjLWRldmVsIHpsaWItZGV2 ZWwgZ21wLWRldmVsIG1wZnItZGV2ZWwiCitkZXBlbmRzPSIke3BrZ25hbWV9LWxpYmMtJHt2ZXJz aW9ufV8ke3JldmlzaW9ufSIKK3Nob3J0X2Rlc2M9IlZvaWQgY3Jvc3MgdG9vbGNoYWluIGZvciAk e190cmlwbGV0fSIKIG1haW50YWluZXI9IkrDvHJnZW4gQnVjaG3DvGxsZXIgPHB1bGxtb2xsQHQt b25saW5lLmRlPiIKLWhvbWVwYWdlPSJodHRwczovL3d3dy52b2lkbGludXgub3JnLyIKIGxpY2Vu c2U9IkdQTC0yLjAtb3ItbGF0ZXIsIEdQTC0zLjAtb3ItbGF0ZXIsIExHUEwtMi4xLW9yLWxhdGVy IgoraG9tZXBhZ2U9Imh0dHBzOi8vd3d3LnZvaWRsaW51eC5vcmcvIgogZGlzdGZpbGVzPSIKICAk e0dOVV9TSVRFfS9iaW51dGlscy9iaW51dGlscy0ke19iaW51dGlsc192ZXJzaW9ufS50YXIueHoK ICAke0dOVV9TSVRFfS9nY2MvZ2NjLSR7X2djY192ZXJzaW9ufS9nY2MtJHtfZ2NjX3ZlcnNpb259 LnRhci54egpAQCAtMjQsMzU4ICsyNywyOCBAQCBjaGVja3N1bT0iMGFiNmM1NWRkODZhOTJlZDU2 MTk3MmJhMTViOWI3MGE4YjlmNzU1NTdmODk2NDQ2YzgyZThiMzZlNDczZWUwNAogIGUyYzQxMTRl NTY5YWZiZTdlZGJjMjkxMzFhNDNiZTgzMzg1MGFiOWE0NTlkODFiZWIyNTg4MDE2ZDJiYmI4YWYK ICAwYzY4ZjU2NTU1MjhhZWQ0Zjk5ZGFlNzFhNWIyNTllZGM5MzIzOWZhODk5ZTJkZjc5YzA1NTI3 NWMyMTc0OWExIgogCi1saWIzMmRpc2FibGVkPXllcwotbm9jcm9zcz15ZXMKLW5vcGllPXllcwot bm9kZWJ1Zz15ZXMKLWNyZWF0ZV93cmtzcmM9eWVzCi1ob3N0bWFrZWRlcGVuZHM9InRhciBnY2Mt b2JqYyBnY2MtZ28gZmxleCBwZXJsIHB5dGhvbjMiCi1tYWtlZGVwZW5kcz0iaXNsMTUtZGV2ZWwg bGlibXBjLWRldmVsIHpsaWItZGV2ZWwiCi1ub3N0cmlwX2ZpbGVzPSJsaWJjYWZfc2luZ2xlLmEg bGliZ2NjLmEgbGliZ2Nvdi5hIGxpYmdjY19laC5hCi0gbGliZ25hcmxfcGljLmEgbGliZ25hcmwu YSBsaWJnbmF0X3BpYy5hIGxpYmduYXQuYSBsaWJnbWVtLmEiCi1kZXBlbmRzPSIke3BrZ25hbWV9 LWxpYmMtJHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIKLQotaWYgWyAiJFhCUFNfVEFSR0VUX0xJQkMi ICE9ICJnbGliYyIgXTsgdGhlbgotCWJyb2tlbj0iZ2xpYmMgY3Jvc3N0b29sY2hhaW4gb25seSBh dmFpbGFibGUgb24gZ2xpYmMiCi1maQotCi1pZiBbICIkWEJQU19UQVJHRVRfV09SRFNJWkUiICE9 ICI2NCIgXTsgdGhlbgotCWJyb2tlbj0iNjQtYml0IGNyb3NzdG9vbGNoYWluIG9ubHkgYXZhaWxh YmxlIG9uIDY0LWJpdCBob3N0IgotZmkKK2Nyb3NzX3RyaXBsZXQ9JHtfdHJpcGxldH0KK2Nyb3Nz X3dvcmRzaXplPTY0Citjcm9zc19saWJjPWdsaWJjCitjcm9zc19iaW51dGlsc192ZXJzaW9uPSR7 X2JpbnV0aWxzX3ZlcnNpb259Citjcm9zc19nY2NfdmVyc2lvbj0ke19nY2NfdmVyc2lvbn0KK2Ny b3NzX2dsaWJjX3ZlcnNpb249JHtfZ2xpYmNfdmVyc2lvbn0KK2Nyb3NzX2xpbnV4X3ZlcnNpb249 JHtfbGludXhfdmVyc2lvbn0KK2Nyb3NzX2xpbnV4X2FyY2g9cG93ZXJwYworY3Jvc3NfYmludXRp bHNfY29uZmlndXJlX2FyZ3M9Ii0tZW5hYmxlLXNlY3VyZXBsdCIKK2Nyb3NzX2dsaWJjX2NmbGFn cz0iLU8yIgogCiBpZiBbICIkWEJQU19UQVJHRVRfTUFDSElORSIgPSAicHBjNjQiIF07IHRoZW4K IAlicm9rZW49IkNhbid0IGJ1aWxkIGNyb3NzdG9vbGNoYWluIHRvIGl0c2VsZiIKIGZpCiAKLV9h cHBseV9wYXRjaCgpIHsKLQlsb2NhbCBhcmdzPSIkMSIgcG5hbWU9IiQoYmFzZW5hbWUgJDIpIgot Ci0JaWYgWyAhIC1mICIuJHtwbmFtZX1fZG9uZSIgXTsgdGhlbgotCQlwYXRjaCAtTiAkYXJncyAt aSAkMgotCQl0b3VjaCAuJHtwbmFtZX1fZG9uZQotCWZpCi19Ci0KLV9iaW51dGlsc19idWlsZCgp IHsKLQlsb2NhbCBfYXJncwotCi0JWyAtZiAke3dya3NyY30vLmJpbnV0aWxzX2J1aWxkX2RvbmUg XSAmJiByZXR1cm4gMAotCi0JY2QgJHt3cmtzcmN9Ci0JbXNnX25vcm1hbCAiQnVpbGRpbmcgY3Jv c3MgYmludXRpbHMgYm9vdHN0cmFwXG4iCi0KLQlbICEgLWQgYmludXRpbHMtYnVpbGQgXSAmJiBt a2RpciBiaW51dGlscy1idWlsZAotCWNkIGJpbnV0aWxzLWJ1aWxkCi0KLQlfYXJncz0iLS1wcmVm aXg9L3VzciIKLQlfYXJncys9IiAtLXRhcmdldD0ke190cmlwbGV0fSIKLQlfYXJncys9IiAtLXdp dGgtc3lzcm9vdD0ke19zeXNyb290fSIKLQlfYXJncys9IiAtLWRpc2FibGUtbmxzIgotCV9hcmdz Kz0iIC0tZGlzYWJsZS1tdWx0aWxpYiIKLQlfYXJncys9IiAtLWRpc2FibGUtd2Vycm9yIgotCV9h cmdzKz0iIC0tZGlzYWJsZS1zaGFyZWQiCi0JX2FyZ3MrPSIgLS13aXRoLXN5c3RlbS16bGliIgot Ci0JLi4vYmludXRpbHMtJHtfYmludXRpbHNfdmVyc2lvbn0vY29uZmlndXJlICR7X2FyZ3N9Ci0K LQltYWtlIGNvbmZpZ3VyZS1ob3N0Ci0JbWFrZSAke21ha2Vqb2JzfQotCW1ha2UgaW5zdGFsbAot Ci0JdG91Y2ggJHt3cmtzcmN9Ly5iaW51dGlsc19idWlsZF9kb25lCi19Ci0KLV9nY2NfYm9vdHN0 cmFwKCkgewotCWxvY2FsIF9hcmdzCi0KLQlbIC1mICR7d3Jrc3JjfS8uZ2NjX2Jvb3RzdHJhcF9k b25lIF0gJiYgcmV0dXJuIDAKLQotCWNkICR7d3Jrc3JjfS9nY2MtJHtfZ2NjX3ZlcnNpb259Ci0J Zm9yIGYgaW4gJHtYQlBTX1NSQ1BLR0RJUn0vZ2NjL3BhdGNoZXMvKi5wYXRjaDsgZG8KLQkJX2Fw cGx5X3BhdGNoIC1wMCAiJGYiCi0JZG9uZQotCi0JbXNnX25vcm1hbCAiQnVpbGRpbmcgY3Jvc3Mg Z2NjIGJvb3RzdHJhcFxuIgotCi0JWyAhIC1kIC4uL2djYy1ib290c3RyYXAgXSAmJiBta2RpciAu Li9nY2MtYm9vdHN0cmFwCi0JY2QgLi4vZ2NjLWJvb3RzdHJhcAotCi0JX2FyZ3M9Ii0tcHJlZml4 PS91c3IiCi0JX2FyZ3MrPSIgLS10YXJnZXQ9JHtfdHJpcGxldH0iCi0JX2FyZ3MrPSIgLS13aXRo LWFiaT1lbGZ2MiIKLQlfYXJncys9IiAtLWVuYWJsZS1sYW5ndWFnZXM9YyIKLQlfYXJncys9IiAt LWVuYWJsZS1zZWN1cmVwbHQiCi0JX2FyZ3MrPSIgLS1lbmFibGUtdGFyZ2V0cz1wb3dlcnBjbGUt bGludXgiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYnNzcCIKLQlfYXJncys9IiAtLWRpc2FibGUt bGliaXRtIgotCV9hcmdzKz0iIC0td2l0aG91dC1oZWFkZXJzIgotCV9hcmdzKz0iIC0tZGlzYWJs ZS1ubHMiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYnF1YWRtYXRoIgotCV9hcmdzKz0iIC0tZGlz YWJsZS1kZWNpbWFsLWZsb2F0IgotCV9hcmdzKz0iIC0tZGlzYWJsZS10aHJlYWRzIgotCV9hcmdz Kz0iIC0tZGlzYWJsZS1zaGFyZWQiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYm11ZGZsYXAiCi0J X2FyZ3MrPSIgLS1kaXNhYmxlLWxpYmdvbXAiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYmF0b21p YyIKLQlfYXJncys9IiAtLWRpc2FibGUtbGlibXB4IgotCV9hcmdzKz0iIC0tZGlzYWJsZS1zamxq LWV4Y2VwdGlvbnMiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLW11bHRpbGliIgotCV9hcmdzKz0iIC0t d2l0aC1nbnUtbGQiCi0JX2FyZ3MrPSIgLS13aXRoLWdudS1hcyIKLQotCS4uL2djYy0ke19nY2Nf dmVyc2lvbn0vY29uZmlndXJlICR7X2FyZ3N9Ci0KLQltYWtlICR7bWFrZWpvYnN9Ci0JbWFrZSBp bnN0YWxsCi0KLQl0b3VjaCAke3dya3NyY30vLmdjY19ib290c3RyYXBfZG9uZQotfQotCi1fbGlu dXhfaGVhZGVycygpIHsKLQlbIC1mICR7d3Jrc3JjfS8ubGludXhfYnVpbGRfZG9uZSBdICYmIHJl dHVybiAwCi0KLQljZCAke3dya3NyY30KLQltc2dfbm9ybWFsICJCdWlsZGluZyBMaW51eCBBUEkg aGVhZGVyc1xuIgotCi0JY2QgbGludXgtJHtfbGludXhfdmVyc2lvbn0KLQotCW1ha2UgQVJDSD1w b3dlcnBjIGhlYWRlcnNfY2hlY2sKLQltYWtlIEFSQ0g9cG93ZXJwYyBJTlNUQUxMX0hEUl9QQVRI PSR7X3N5c3Jvb3R9L3VzciBoZWFkZXJzX2luc3RhbGwKLQotCXRvdWNoICR7d3Jrc3JjfS8ubGlu dXhfYnVpbGRfZG9uZQotfQotCi1fZ2xpYmNfaGVhZGVycygpIHsKLQlsb2NhbCBfYXJncyBmCi0J WyAtZiAke3dya3NyY30vLmdsaWJjX2hlYWRlcnNfZG9uZSBdICYmIHJldHVybiAwCi0KLQljZCAk e3dya3NyY30vZ2xpYmMtJHtfZ2xpYmNfdmVyc2lvbn0KLQlpZiBbIC1kICIke1hCUFNfU1JDUEtH RElSfS9nbGliYy9wYXRjaGVzIiBdOyB0aGVuCi0JCWZvciBmIGluICR7WEJQU19TUkNQS0dESVJ9 L2dsaWJjL3BhdGNoZXMvKi5wYXRjaDsgZG8KLQkJCV9hcHBseV9wYXRjaCAtcDEgIiRmIgotCQlk b25lCi0JZmkKLQotCWNkICR7d3Jrc3JjfQotCW1zZ19ub3JtYWwgIkJ1aWxkaW5nIGNyb3NzIGds aWJjIGhlYWRlcnNcbiIKLQotCVsgISAtZCBnbGliYy1oZWFkZXJzIF0gJiYgbWtkaXIgZ2xpYmMt aGVhZGVycwotCWNkIGdsaWJjLWhlYWRlcnMKLQotCWVjaG8gImxpYmNfY3ZfZm9yY2VkX3Vud2lu ZD15ZXMiID4gY29uZmlnLmNhY2hlCi0JZWNobyAibGliY19jdl9jX2NsZWFudXA9eWVzIiA+PiBj b25maWcuY2FjaGUKLQotCWV4cG9ydCBDQz0iJHtfdHJpcGxldH0tZ2NjIiBMRD0iJHtfdHJpcGxl dH0tbGQiIFwKLQkJQVM9IiR7X3RyaXBsZXR9LWFzIiBDUFA9IiR7X3RyaXBsZXR9LWNwcCIgXAot CQlOTT0iJHtfdHJpcGxldH0tbm0iCi0KLQlfYXJncz0iIC0tcHJlZml4PS91c3IiCi0JX2FyZ3Mr PSIgLS1ob3N0PSR7X3RyaXBsZXR9IgotCV9hcmdzKz0iIC0td2l0aC1oZWFkZXJzPSR7X3N5c3Jv b3R9L3Vzci9pbmNsdWRlIgotCV9hcmdzKz0iIC0tY29uZmlnLWNhY2hlIgotCV9hcmdzKz0iIC0t ZW5hYmxlLW9ic29sZXRlLXJwYyIKLQlfYXJncys9IiAtLWVuYWJsZS1vYnNvbGV0ZS1uc2wiCi0J X2FyZ3MrPSIgLS1lbmFibGUta2VybmVsPTIuNi4yNyIKLQotCS4uL2dsaWJjLSR7X2dsaWJjX3Zl cnNpb259L2NvbmZpZ3VyZSAke19hcmdzfQotCi0JbWFrZSAtayBpbnN0YWxsLWhlYWRlcnMgY3Jv c3NfY29tcGlsaW5nPXllcyBcCi0JCWluc3RhbGxfcm9vdD0ke19zeXNyb290fQotCi0JdG91Y2gg JHt3cmtzcmN9Ly5nbGliY19oZWFkZXJzX2RvbmUKLX0KLQotX2dsaWJjX2J1aWxkKCkgewotCWxv Y2FsIF9hcmdzCi0JWyAtZiAke3dya3NyY30vLmdsaWJjX2J1aWxkX2RvbmUgXSAmJiByZXR1cm4g MAotCi0JY2QgJHt3cmtzcmN9Ci0JbXNnX25vcm1hbCAiQnVpbGRpbmcgY3Jvc3MgZ2xpYmNcbiIK LQotCVsgISAtZCBnbGliYy1idWlsZCBdICYmIG1rZGlyIGdsaWJjLWJ1aWxkCi0JY2QgZ2xpYmMt YnVpbGQKLQotCWVjaG8gInNsaWJkaXI9L3Vzci9saWI2NCIgPiBjb25maWdwYXJtcwotCi0JZWNo byAibGliY19jdl9mb3JjZWRfdW53aW5kPXllcyIgPiBjb25maWcuY2FjaGUKLQllY2hvICJsaWJj X2N2X2NfY2xlYW51cD15ZXMiID4+IGNvbmZpZy5jYWNoZQotCi0JZXhwb3J0IENDPSIke190cmlw bGV0fS1nY2MiIENYWD0iJHtfdHJpcGxldH0tZysrIiBMRD0iJHtfdHJpcGxldH0tbGQiIFwKLQkJ QVM9IiR7X3RyaXBsZXR9LWFzIiBDUFA9IiR7X3RyaXBsZXR9LWNwcCIgXAotCQlOTT0iJHtfdHJp cGxldH0tbm0iCi0JZXhwb3J0IENGTEFHUz0iLU8yIC1waXBlIgotCi0JX2FyZ3M9Ii0tcHJlZml4 PS91c3IiCi0JX2FyZ3MrPSIgLS1saWJkaXI9L3Vzci9saWI2NCIKLQlfYXJncys9IiAtLWhvc3Q9 JHtfdHJpcGxldH0iCi0JX2FyZ3MrPSIgLS13aXRoLWhlYWRlcnM9JHtfc3lzcm9vdH0vdXNyL2lu Y2x1ZGUiCi0JX2FyZ3MrPSIgLS1jb25maWctY2FjaGUiCi0JX2FyZ3MrPSIgLS1lbmFibGUtb2Jz b2xldGUtcnBjIgotCV9hcmdzKz0iIC0tZW5hYmxlLW9ic29sZXRlLW5zbCIKLQlfYXJncys9IiAt LWRpc2FibGUtcHJvZmlsZSIKLQlfYXJncys9IiAtLWVuYWJsZS1rZXJuZWw9Mi42LjI3IgotCV9h cmdzKz0iIC0tZGlzYWJsZS13ZXJyb3IiCi0KLQkuLi9nbGliYy0ke19nbGliY192ZXJzaW9ufS9j b25maWd1cmUgJHtfYXJnc30KLQotCW1ha2UgJHttYWtlam9ic30KLQltYWtlIGluc3RhbGxfcm9v dD0ke19zeXNyb290fSBpbnN0YWxsCi0KLQl0b3VjaCAke3dya3NyY30vLmdsaWJjX2J1aWxkX2Rv bmUKLX0KLQotX2djY19idWlsZCgpIHsKLQlsb2NhbCBfYXJncwotCVsgLWYgJHt3cmtzcmN9Ly5n Y2NfYnVpbGRfZG9uZSBdICYmIHJldHVybiAwCi0KLQljZCAke3dya3NyY30KLQltc2dfbm9ybWFs ICJCdWlsZGluZyBjcm9zcyBnY2MgZmluYWxcbiIKLQotCVsgISAtZCBnY2MtYnVpbGQgXSAmJiBt a2RpciBnY2MtYnVpbGQKLQljZCBnY2MtYnVpbGQKLQotCXVuc2V0IExEIEFTCi0KLQkjIE1ha2Ug dGhpcyBsaW5rIHRvIHRhcmdldCBsaWJzLgotCWlmIFsgISAtZiAuc2VkX3N1YnN0X2RvbmUgXTsg dGhlbgotCQlzZWQgLWUgInMsIC9saWIvLCAke19zeXNyb290fS9saWIvLGc7cywgL3Vzci9saWIv LCAke19zeXNyb290fS91c3IvbGliLyxnIiBcCi0JCQktaSAke19zeXNyb290fS91c3IvbGliL2xp YmMuc28KLQkJc2VkIC1lICJzLCAvbGliNjQvLCAke19zeXNyb290fS9saWI2NC8sZztzLCAvdXNy L2xpYjY0LywgJHtfc3lzcm9vdH0vdXNyL2xpYjY0LyxnIiBcCi0JCQktaSAke19zeXNyb290fS91 c3IvbGliL2xpYmMuc28KLQkJdG91Y2ggLnNlZF9zdWJzdF9kb25lCi0JZmkKLQotCV9hcmdzPSIt LXByZWZpeD0vdXNyIgotCV9hcmdzKz0iIC0tbGliZGlyPS91c3IvbGliIgotCV9hcmdzKz0iIC0t bGliZXhlY2Rpcj0vdXNyL2xpYiIKLQlfYXJncys9IiAtLXRhcmdldD0ke190cmlwbGV0fSIKLQlf YXJncys9IiAtLXdpdGgtc3lzcm9vdD0ke19zeXNyb290fSIKLQlfYXJncys9IiAtLXdpdGgtYWJp PWVsZnYyIgotCV9hcmdzKz0iIC0tZW5hYmxlLWxhbmd1YWdlcz1jLGFkYSxjKyssb2JqYyxvYmot YysrLGdvLGZvcnRyYW4sbHRvIgotCV9hcmdzKz0iIC0tZW5hYmxlLXNlY3VyZXBsdCIKLQlfYXJn cys9IiAtLWVuYWJsZS10YXJnZXRzPXBvd2VycGNsZS1saW51eCIKLQlfYXJncys9IiAtLXdpdGgt Z251LWFzIgotCV9hcmdzKz0iIC0td2l0aC1nbnUtbGQiCi0JX2FyZ3MrPSIgLS1lbmFibGUtbGli YWRhIgotCV9hcmdzKz0iIC0tZW5hYmxlLWx0byIKLQlfYXJncys9IiAtLWVuYWJsZS1kZWZhdWx0 LXBpZSIKLQlfYXJncys9IiAtLWVuYWJsZS1kZWZhdWx0LXNzcCIKLQlfYXJncys9IiAtLWVuYWJs ZS1saW5rZXItYnVpbGQtaWQiCi0JX2FyZ3MrPSIgLS1lbmFibGUtZ251LXVuaXF1ZS1vYmplY3Qi Ci0JX2FyZ3MrPSIgLS1lbmFibGUtc2hhcmVkIgotCV9hcmdzKz0iIC0tZW5hYmxlLXRocmVhZHM9 cG9zaXgiCi0JX2FyZ3MrPSIgLS1lbmFibGUtbGlicXVhZG1hdGgiCi0JX2FyZ3MrPSIgLS1kaXNh YmxlLW5scyIKLQlfYXJncys9IiAtLWRpc2FibGUtbGlic2FuaXRpemVyIgotCV9hcmdzKz0iIC0t ZGlzYWJsZS1tdWx0aWxpYiIKLQlfYXJncys9IiAtLWRpc2FibGUtbGlibXVkZmxhcCIKLQlfYXJn cys9IiAtLWRpc2FibGUtbGliaXRtIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJzdGRjeHgtcGNo IgotCV9hcmdzKz0iIC0tZGlzYWJsZS12dGFibGUtdmVyaWZ5IgotCV9hcmdzKz0iIC0tZGlzYWJs ZS1zamxqLWV4Y2VwdGlvbnMiCi0KLQlDQz0iZ2NjIiBDWFg9ImcrKyIgQ0ZMQUdTPSItTzIgLXBp cGUiIFwKLQkJLi4vZ2NjLSR7X2djY192ZXJzaW9ufS9jb25maWd1cmUgJHtfYXJnc30KLQotCW1h a2UgJHttYWtlam9ic30KLQotCXRvdWNoICR7d3Jrc3JjfS8uZ2NjX2J1aWxkX2RvbmUKLX0KLQot ZG9fYnVpbGQoKSB7Ci0JdW5zZXQgTERGTEFHUwotCWV4cG9ydCBDRkxBR1M9Ii1PcyAtZlBJQyIg Q1hYRkxBR1M9Ii1PcyAtZlBJQyIKLQotCWZvciBmIGluIGluY2x1ZGUgbGliIGxpYmV4ZWMgYmlu IHNiaW47IGRvCi0JCWlmIFsgISAtZCAke19zeXNyb290fS91c3IvJHtmfSBdOyB0aGVuCi0JCQlt a2RpciAtcCAke19zeXNyb290fS91c3IvJHtmfQotCQlmaQotCQlpZiBbICEgLWggJHtfc3lzcm9v dH0vJHtmfSBdOyB0aGVuCi0JCQlsbiAtc2ZyICR7X3N5c3Jvb3R9L3Vzci8ke2Z9ICR7X3N5c3Jv b3R9LyR7Zn0KLQkJZmkKLQlkb25lCi0JbG4gLXNmIGxpYiAke19zeXNyb290fS91c3IvbGliNjQK LQlsbiAtc2YgdXNyL2xpYiAke19zeXNyb290fS9saWI2NAotCi0JX2JpbnV0aWxzX2J1aWxkCi0J X2djY19ib290c3RyYXAKLQlfbGludXhfaGVhZGVycwotCV9nbGliY19oZWFkZXJzCi0JX2dsaWJj X2J1aWxkCi0JX2djY19idWlsZAotfQotCi1kb19pbnN0YWxsKCkgewotCWZvciBmIGluIGluY2x1 ZGUgbGliIGxpYmV4ZWMgYmluIHNiaW47IGRvCi0JCWlmIFsgISAtZCAke0RFU1RESVJ9LyR7X3N5 c3Jvb3R9L3Vzci8ke2Z9IF07IHRoZW4KLQkJCW1rZGlyIC1wICR7REVTVERJUn0vJHtfc3lzcm9v dH0vdXNyLyR7Zn0KLQkJZmkKLQkJaWYgWyAhIC1oICR7REVTVERJUn0vJHtfc3lzcm9vdH0vJHtm fSBdOyB0aGVuCi0JCQlsbiAtc2ZyICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyLyR7Zn0gXAot CQkJCSR7REVTVERJUn0vJHtfc3lzcm9vdH0vJHtmfQotCQlmaQotCWRvbmUKLQlsbiAtc2YgbGli ICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL2xpYjY0Ci0JbG4gLXNmIHVzci9saWIgJHtERVNU RElSfS8ke19zeXNyb290fS9saWI2NAotCi0JIyBpbnN0YWxsIGxpbnV4IEFQSSBoZWFkZXJzCi0J Y2QgJHt3cmtzcmN9L2xpbnV4LSR7X2xpbnV4X3ZlcnNpb259Ci0JbWFrZSBBUkNIPXBvd2VycGMg SU5TVEFMTF9IRFJfUEFUSD0ke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3VzciBoZWFkZXJzX2luc3Rh bGwKLQlybSAtZiAkKGZpbmQgJHtERVNURElSfS8ke19zeXNyb290fS91c3IvaW5jbHVkZSAtbmFt ZSAuaW5zdGFsbCAtb3IgLW5hbWUgLi5pbnN0YWxsLmNtZCkKLQlybSAtcmYgJHtERVNURElSfS8k e19zeXNyb290fS91c3IvaW5jbHVkZS9kcm0KLQotCSMgaW5zdGFsbCBjcm9zcyBiaW51dGlscwot CWNkICR7d3Jrc3JjfS9iaW51dGlscy1idWlsZAotCW1ha2UgREVTVERJUj0ke0RFU1RESVJ9IGlu c3RhbGwKLQotCSMgaW5zdGFsbCBjcm9zcyBnY2MKLQljZCAke3dya3NyY30vZ2NjLWJ1aWxkCi0J bWFrZSBERVNURElSPSR7REVTVERJUn0gaW5zdGFsbAotCi0JIyBtb3ZlIGxpYmNjMS5zbyogdG8g dGhlIHN5c3Jvb3QKLQltdiAke0RFU1RESVJ9L3Vzci9saWIvbGliY2MxLnNvKiAke0RFU1RESVJ9 LyR7X3N5c3Jvb3R9L3Vzci9saWIKLQotCSMgaW5zdGFsbCBnbGliYyBmb3IgdGFyZ2V0Ci0JY2Qg JHt3cmtzcmN9L2dsaWJjLWJ1aWxkCi0JbWFrZSBpbnN0YWxsX3Jvb3Q9JHtERVNURElSfS8ke19z eXNyb290fSBpbnN0YWxsIGluc3RhbGwtaGVhZGVycwotCi0JIyBzeW1saW5rcyBmb3IgZ25hcmwg YW5kIGduYXQgc2hhcmVkIGxpYnJhcmllcwotCV9tYWpvcnZlcj0ke19nY2NfdmVyc2lvbiUuKi4q fQotCV9hZGFsaWI9dXNyL2xpYi9nY2MvJHtfdHJpcGxldH0vJHtfZ2NjX3ZlcnNpb259L2FkYWxp YgotCW12IC12ICR7REVTVERJUn0vJHtfYWRhbGlifS9saWJnbmFybC0ke19tYWpvcnZlcn0uc28g JHtERVNURElSfS8ke19zeXNyb290fS91c3IvbGliCi0JbXYgLXYgJHtERVNURElSfS8ke19hZGFs aWJ9L2xpYmduYXQtJHtfbWFqb3J2ZXJ9LnNvICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL2xp YgotCWxuIC1zdmYgbGliZ25hcmwtJHtfbWFqb3J2ZXJ9LnNvIGxpYmduYXJsLnNvCi0JbG4gLXN2 ZiBsaWJnbmF0LSR7X21ham9ydmVyfS5zbyBsaWJnbmF0LnNvCi0Jcm0gLXZmICR7REVTVERJUn0v JHtfYWRhbGlifS9saWJnbmF7cmwsdH0uc28KLQotCSMgV2UgbmVlZCB0byBidWlsZCBsaWJhdG9t aWMgaW4gdGFyZ2V0IGdjYyBhcyBnY2NnbyBuZWVkcyBpdCB0bwotCSMgYnVpbGQuLi4gYnV0IGl0 J3Mgbm90IG5lZWRlZCBhdCBydW50aW1lLCBzbyByZW1vdmUgaXQgZnJvbSB0aGUKLQkjIGRlc3Rk aXIgc28gaXQgZG9lc24ndCBjb25mbGljdCB3aXRoIHRoZSBsaWJhdG9taWMgcGFja2FnZQotCXJt IC1mICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL2xpYi9saWJhdG9taWMuKgotCi0JIyBSZW1v dmUgdW5uZWNlc3Nhcnkgc3R1ZmYKLQlybSAtZiAke0RFU1RESVJ9L3Vzci9saWIqL2xpYmliZXJ0 eS5hCi0Jcm0gLXJmICR7REVTVERJUn0vdXNyL3NoYXJlCi0Jcm0gLXJmICR7REVTVERJUn0vJHtf c3lzcm9vdH0ve2V0Yyx2YXJ9Ci0Jcm0gLXJmICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL3tz YmluLHNoYXJlLGxpYmV4ZWN9Ci0Jcm0gLWYgJHtERVNURElSfS8ke19zeXNyb290fS9saWJleGVj Ci0Jcm0gLWYgJHtERVNURElSfS8ke19zeXNyb290fS97c2JpbixsaWJ9Ci19Ci0KLWRvX2NsZWFu KCkgewotCSMgUmVtb3ZlIHRlbXBvcmFyeSBzdHVmZiBmcm9tIG1hc3RlcmRpcgotCXJtIC1yZiAk e19zeXNyb290fQotCXJtIC1mIC91c3IvYmluLyR7X3RyaXBsZXR9KgotCXJtIC1yZiAvdXNyL2xp Yi9nY2MvJHtfdHJpcGxldH0KLQlybSAtcmYgL3Vzci9saWJleGVjL2djYy8ke190cmlwbGV0fQot fQotCiBjcm9zcy1wb3dlcnBjNjQtbGludXgtZ251LWxpYmNfcGFja2FnZSgpIHsKIAlzaG9ydF9k ZXNjKz0iIC0gZ2xpYmMgZmlsZXMiCiAJbm9zdHJpcD15ZXMKIAlub3ZlcmlmeXJkZXBzPXllcwog CW5vc2hsaWJwcm92aWRlcz15ZXMKKwogCXBrZ19pbnN0YWxsKCkgewotCQl2bW92ZSAke19zeXNy b290fQorCQl2bW92ZSB1c3IvJHtjcm9zc190cmlwbGV0fQogCX0KIH0KCkZyb20gMmQwNzZlMGJi MjIyYjVhNDk1YzJkZmZmMGZlZWI1Yjk2YWVhOThjYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogcTY2IDxkYW5pZWxAb2N0YWZvcmdlLm9yZz4KRGF0ZTogU2F0LCAyNiBEZWMgMjAyMCAx OTowNjowMSArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMjQvMjZdIGNyb3NzLXBvd2VycGM2NC1saW51 eC1tdXNsOiByZXdvcmsgd2l0aCB2b2lkLWNyb3NzCgotLS0KIHNyY3BrZ3MvY3Jvc3MtcG93ZXJw YzY0LWxpbnV4LW11c2wvdGVtcGxhdGUgfCAzMjQgKystLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmls ZSBjaGFuZ2VkLCAyMiBpbnNlcnRpb25zKCspLCAzMDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9jcm9zcy1wb3dlcnBjNjQtbGludXgtbXVzbC90ZW1wbGF0ZSBiL3NyY3BrZ3Mv Y3Jvc3MtcG93ZXJwYzY0LWxpbnV4LW11c2wvdGVtcGxhdGUKaW5kZXggY2JiNDQzMWI2MmEuLjc0 NGY5MWUzY2FjIDEwMDY0NAotLS0gYS9zcmNwa2dzL2Nyb3NzLXBvd2VycGM2NC1saW51eC1tdXNs L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvY3Jvc3MtcG93ZXJwYzY0LWxpbnV4LW11c2wvdGVtcGxh dGUKQEAgLTEsMTcgKzEsMjAgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2Nyb3NzLXBvd2VycGM2 NC1saW51eC1tdXNsJworX3RyaXBsZXQ9cG93ZXJwYzY0LWxpbnV4LW11c2wKIF9iaW51dGlsc192 ZXJzaW9uPTIuMzIKIF9nY2NfdmVyc2lvbj05LjMuMAogX211c2xfdmVyc2lvbj0xLjEuMjQKIF9s aW51eF92ZXJzaW9uPTQuMTkKIF9saWJ1Y29udGV4dF92ZXJzaW9uPTAuOS4wCi0KLV90cmlwbGV0 PSJwb3dlcnBjNjQtbGludXgtbXVzbCIKLV9zeXNyb290PSIvdXNyLyR7X3RyaXBsZXR9IgotCiBw a2duYW1lPWNyb3NzLSR7X3RyaXBsZXR9CiB2ZXJzaW9uPTAuMzMKIHJldmlzaW9uPTIKLXNob3J0 X2Rlc2M9IkNyb3NzIHRvb2xjaGFpbiBmb3IgcG93ZXJwYzY0IHdpdGggbXVzbCIKK2J1aWxkX3N0 eWxlPXZvaWQtY3Jvc3MKK2NvbmZpZ3VyZV9hcmdzPSItLWVuYWJsZS1zZWN1cmVwbHQgLS1kaXNh YmxlLXZ0YWJsZS12ZXJpZnkKKyAtLWRpc2FibGUtZGVjaW1hbC1mbG9hdCAtLXdpdGgtYWJpPWVs ZnYyIC0tZW5hYmxlLXRhcmdldHM9cG93ZXJwYy1saW51eCIKK2hvc3RtYWtlZGVwZW5kcz0idGFy IGdjYy1vYmpjIGdjYy1nbyBmbGV4IHBlcmwgcHl0aG9uMyIKK21ha2VkZXBlbmRzPSJpc2wxNS1k ZXZlbCBsaWJtcGMtZGV2ZWwgemxpYi1kZXZlbCBnbXAtZGV2ZWwgbXBmci1kZXZlbCIKK2RlcGVu ZHM9IiR7cGtnbmFtZX0tbGliYy0ke3ZlcnNpb259XyR7cmV2aXNpb259Igorc2hvcnRfZGVzYz0i Vm9pZCBjcm9zcyB0b29sY2hhaW4gZm9yICR7X3RyaXBsZXR9IgogbWFpbnRhaW5lcj0icTY2IDxk YW5pZWxAb2N0YWZvcmdlLm9yZz4iCiBob21lcGFnZT0iaHR0cHM6Ly93d3cudm9pZGxpbnV4Lm9y Zy8iCiBsaWNlbnNlPSJHUEwtMi4wLW9yLWxhdGVyLCBHUEwtMy4wLW9yLWxhdGVyLCBNSVQiCkBA IC0yNywzMTMgKzMwLDMwIEBAIGNoZWNrc3VtPSIwYWI2YzU1ZGQ4NmE5MmVkNTYxOTcyYmExNWI5 YjcwYThiOWY3NTU1N2Y4OTY0NDZjODJlOGIzNmU0NzNlZTA0CiAgMGM2OGY1NjU1NTI4YWVkNGY5 OWRhZTcxYTViMjU5ZWRjOTMyMzlmYTg5OWUyZGY3OWMwNTUyNzVjMjE3NDlhMQogIDBkNTNhNDE1 YTMwN2VmMTc1MTUzYmJlNjBhNTcyYzk0MGE5MjJjYjczNmNlMTM1MzBiNjY2ZTdlYzI3OTVkNjgi CiAKLWxpYjMyZGlzYWJsZWQ9eWVzCi1ub2Nyb3NzPXllcwotbm9waWU9eWVzCi1ub2RlYnVnPXll cwotY3JlYXRlX3dya3NyYz15ZXMKLWhvc3RtYWtlZGVwZW5kcz0idGFyIGdjYy1vYmpjIGdjYy1n byBmbGV4IHBlcmwgcHl0aG9uMyIKLW1ha2VkZXBlbmRzPSJ6bGliLWRldmVsIGdtcC1kZXZlbCBt cGZyLWRldmVsIGxpYm1wYy1kZXZlbCBpc2wxNS1kZXZlbCIKLW5vc3RyaXBfZmlsZXM9ImxpYmNh Zl9zaW5nbGUuYSBsaWJnY2MuYSBsaWJnY292LmEgbGliZ2NjX2VoLmEKLSBsaWJnbmFybF9waWMu YSBsaWJnbmFybC5hIGxpYmduYXRfcGljLmEgbGliZ25hdC5hIGxpYmdtZW0uYSIKLWRlcGVuZHM9 IiR7cGtnbmFtZX0tbGliYy0ke3ZlcnNpb259XyR7cmV2aXNpb259IgotCi1pZiBbICIkWEJQU19U QVJHRVRfV09SRFNJWkUiICE9ICI2NCIgXTsgdGhlbgotICAgICAgICBicm9rZW49IjY0LWJpdCBj cm9zc3Rvb2xjaGFpbiBvbmx5IGF2YWlsYWJsZSBvbiA2NC1iaXQgaG9zdCIKLWZpCitjcm9zc190 cmlwbGV0PSR7X3RyaXBsZXR9Citjcm9zc193b3Jkc2l6ZT02NAorY3Jvc3NfbGliYz1tdXNsCitj cm9zc19iaW51dGlsc192ZXJzaW9uPSR7X2JpbnV0aWxzX3ZlcnNpb259Citjcm9zc19nY2NfdmVy c2lvbj0ke19nY2NfdmVyc2lvbn0KK2Nyb3NzX211c2xfdmVyc2lvbj0ke19tdXNsX3ZlcnNpb259 Citjcm9zc19saW51eF92ZXJzaW9uPSR7X2xpbnV4X3ZlcnNpb259Citjcm9zc19saWJ1Y29udGV4 dF92ZXJzaW9uPSR7X2xpYnVjb250ZXh0X3ZlcnNpb259Citjcm9zc19saWJ1Y29udGV4dF9hcmNo PXBwYzY0Citjcm9zc19saW51eF9hcmNoPXBvd2VycGMKK2Nyb3NzX2JpbnV0aWxzX2NvbmZpZ3Vy ZV9hcmdzPSItLWVuYWJsZS1zZWN1cmVwbHQiCitjcm9zc19tdXNsX2NmbGFncz0iLU8yIgogCiBp ZiBbICIkWEJQU19UQVJHRVRfTUFDSElORSIgPSAicHBjNjQtbXVzbCIgXTsgdGhlbgogCWJyb2tl bj0iQ2FuJ3QgYnVpbGQgY3Jvc3N0b29sY2hhaW4gdG8gaXRzZWxmIgogZmkKIAotX2FwcGx5X3Bh dGNoKCkgewotCWxvY2FsIGFyZ3M9IiQxIiBwbmFtZT0iJChiYXNlbmFtZSAkMikiCi0KLQlpZiBb ICEgLWYgIi4ke3BuYW1lfV9kb25lIiBdOyB0aGVuCi0JCXBhdGNoIC1OICRhcmdzIC1pICQyCi0J CXRvdWNoIC4ke3BuYW1lfV9kb25lCi0JZmkKLX0KLQotX2JpbnV0aWxzX2J1aWxkKCkgewotCWxv Y2FsIF9hcmdzCi0KLQlbIC1mICR7d3Jrc3JjfS8uYmludXRpbHNfYnVpbGRfZG9uZSBdICYmIHJl dHVybiAwCi0KLQljZCAke3dya3NyY30KLQltc2dfbm9ybWFsICJCdWlsZGluZyBjcm9zcyBiaW51 dGlscyBib290c3RyYXBcbiIKLQotCVsgISAtZCBiaW51dGlscy1idWlsZCBdICYmIG1rZGlyIGJp bnV0aWxzLWJ1aWxkCi0JY2QgYmludXRpbHMtYnVpbGQKLQotCV9hcmdzPSItLXByZWZpeD0vdXNy IgotCV9hcmdzKz0iIC0tdGFyZ2V0PSR7X3RyaXBsZXR9IgotCV9hcmdzKz0iIC0td2l0aC1zeXNy b290PSR7X3N5c3Jvb3R9IgotCV9hcmdzKz0iIC0tZGlzYWJsZS1ubHMiCi0JX2FyZ3MrPSIgLS1k aXNhYmxlLW11bHRpbGliIgotCV9hcmdzKz0iIC0tZGlzYWJsZS13ZXJyb3IiCi0JX2FyZ3MrPSIg LS1kaXNhYmxlLXNoYXJlZCIKLQlfYXJncys9IiAtLXdpdGgtc3lzdGVtLXpsaWIiCi0KLQkuLi9i aW51dGlscy0ke19iaW51dGlsc192ZXJzaW9ufS9jb25maWd1cmUgJHtfYXJnc30KLQotCW1ha2Ug Y29uZmlndXJlLWhvc3QKLQltYWtlICR7bWFrZWpvYnN9Ci0JbWFrZSBpbnN0YWxsCi0KLQl0b3Vj aCAke3dya3NyY30vLmJpbnV0aWxzX2J1aWxkX2RvbmUKLX0KLQotX2djY19ib290c3RyYXAoKSB7 Ci0JbG9jYWwgX2FyZ3MKLQotCVsgLWYgJHt3cmtzcmN9Ly5nY2NfYm9vdHN0cmFwX2RvbmUgXSAm JiByZXR1cm4gMAotCi0JY2QgJHt3cmtzcmN9L2djYy0ke19nY2NfdmVyc2lvbn0KLQlmb3IgZiBp biAke1hCUFNfU1JDUEtHRElSfS9nY2MvcGF0Y2hlcy8qLnBhdGNoOyBkbwotCQlfYXBwbHlfcGF0 Y2ggLXAwICIkZiIKLQlkb25lCi0JZm9yIGYgaW4gJHtYQlBTX1NSQ1BLR0RJUn0vZ2NjL2ZpbGVz LyotbXVzbC5wYXRjaDsgZG8KLQkJX2FwcGx5X3BhdGNoIC1wMSAiJGYiCi0JZG9uZQotCi0JbXNn X25vcm1hbCAiQnVpbGRpbmcgY3Jvc3MgZ2NjIGJvb3RzdHJhcFxuIgotCi0JWyAhIC1kIC4uL2dj Yy1ib290c3RyYXAgXSAmJiBta2RpciAuLi9nY2MtYm9vdHN0cmFwCi0JY2QgLi4vZ2NjLWJvb3Rz dHJhcAotCWV4cG9ydCBhY19jdl9jX2NvbXBpbGVyX2dudT15ZXMKLQotCV9hcmdzPSItLXByZWZp eD0vdXNyIgotCV9hcmdzKz0iIC0tdGFyZ2V0PSR7X3RyaXBsZXR9IgotCV9hcmdzKz0iIC0td2l0 aC1zeXNyb290PSR7X3N5c3Jvb3R9IgotCV9hcmdzKz0iIC0td2l0aC1hYmk9ZWxmdjIiCi0JX2Fy Z3MrPSIgLS1lbmFibGUtbGFuZ3VhZ2VzPWMiCi0JX2FyZ3MrPSIgLS1lbmFibGUtZGVjaW1hbC1m bG9hdD1ubyIKLQlfYXJncys9IiAtLWVuYWJsZS1zZWN1cmVwbHQiCi0JX2FyZ3MrPSIgLS1lbmFi bGUtdGFyZ2V0cz1wb3dlcnBjLWxpbnV4IgotCV9hcmdzKz0iIC0td2l0aC1uZXdsaWIiCi0JX2Fy Z3MrPSIgLS1kaXNhYmxlLWxpYnNzcCIKLQlfYXJncys9IiAtLWRpc2FibGUtbmxzIgotCV9hcmdz Kz0iIC0tZGlzYWJsZS1saWJxdWFkbWF0aCIKLQlfYXJncys9IiAtLWRpc2FibGUtdGhyZWFkcyIK LQlfYXJncys9IiAtLWRpc2FibGUtc2hhcmVkIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1tdWx0aWxp YiIKLQlfYXJncys9IiAtLWRpc2FibGUtbGlibXVkZmxhcCIKLQlfYXJncys9IiAtLWRpc2FibGUt bGliZ29tcCIKLQlfYXJncys9IiAtLWRpc2FibGUtbGliYXRvbWljIgotCV9hcmdzKz0iIC0tZGlz YWJsZS1zeW12ZXJzIgotCV9hcmdzKz0iIGxpYmF0X2N2X2hhdmVfaWZ1bmM9bm8iCi0KLQkuLi9n Y2MtJHtfZ2NjX3ZlcnNpb259L2NvbmZpZ3VyZSAke19hcmdzfQotCi0JbWFrZSAke21ha2Vqb2Jz fQotCW1ha2UgaW5zdGFsbAotCi0JdG91Y2ggJHt3cmtzcmN9Ly5nY2NfYm9vdHN0cmFwX2RvbmUK LX0KLQotX2xpbnV4X2hlYWRlcnMoKSB7Ci0JWyAtZiAke3dya3NyY30vLmxpbnV4X2J1aWxkX2Rv bmUgXSAmJiByZXR1cm4gMAotCi0JY2QgJHt3cmtzcmN9Ci0JbXNnX25vcm1hbCAiQnVpbGRpbmcg TGludXggQVBJIGhlYWRlcnNcbiIKLQotCWNkIGxpbnV4LSR7X2xpbnV4X3ZlcnNpb259Ci0KLQlm b3IgZiBpbiAke1hCUFNfU1JDUEtHRElSfS9rZXJuZWwtbGliYy1oZWFkZXJzL3BhdGNoZXMvKi5w YXRjaDsgZG8KLQkJX2FwcGx5X3BhdGNoIC1wMCAkZgotCWRvbmUKLQotCW1ha2UgQVJDSD1wb3dl cnBjIGhlYWRlcnNfY2hlY2sKLQltYWtlIEFSQ0g9cG93ZXJwYyBJTlNUQUxMX0hEUl9QQVRIPSR7 X3N5c3Jvb3R9L3VzciBoZWFkZXJzX2luc3RhbGwKLQotCXRvdWNoICR7d3Jrc3JjfS8ubGludXhf YnVpbGRfZG9uZQotfQotCi1fbXVzbF9idWlsZCgpIHsKLQlbIC1mICR7d3Jrc3JjfS8ubXVzbF9i dWlsZF9kb25lIF0gJiYgcmV0dXJuIDAKLQotCWNkICR7d3Jrc3JjfS9tdXNsLSR7X211c2xfdmVy c2lvbn0KLQltc2dfbm9ybWFsICJCdWlsZGluZyBjcm9zcyBtdXNsIGxpYmNcbiIKLQotCSMgQXBw bHkgbXVzbCBwYXRjaGVzIGlmIHRoZXJlIGFyZSBhbnkKLQlpZiBbIC1kICIke1hCUFNfU1JDUEtH RElSfS9tdXNsL3BhdGNoZXMiIF07IHRoZW4KLQkJZm9yIGYgaW4gJHtYQlBTX1NSQ1BLR0RJUn0v bXVzbC9wYXRjaGVzLyoucGF0Y2g7IGRvCi0JCQlfYXBwbHlfcGF0Y2ggLXAwICIkZiIKLQkJZG9u ZQotCWZpCi0KLQlDQz0iJHtfdHJpcGxldH0tZ2NjIiBMRD0iJHtfdHJpcGxldH0tbGQiIEFSPSIk e190cmlwbGV0fS1hciIgXAotCQlBUz0iJHtfdHJpcGxldH0tYXMiIFJBTkxJQj0iJHtfdHJpcGxl dH0tcmFubGliIiBcCi0JCUNGTEFHUz0iLU9zIC1waXBlICR7X2FyY2hmbGFnc30iIFwKLQkJLi9j b25maWd1cmUgLS1wcmVmaXg9L3VzcgotCi0JbWFrZSAke21ha2Vqb2JzfQotCW1ha2UgREVTVERJ Uj0ke19zeXNyb290fSBpbnN0YWxsCi0KLQl0b3VjaCAke3dya3NyY30vLm11c2xfYnVpbGRfZG9u ZQotfQotCi1fbGlidWNvbnRleHRfYnVpbGQoKSB7Ci0JWyAtZiAke3dya3NyY30vLmxpYnVjb250 ZXh0X2J1aWxkX2RvbmUgXSAmJiByZXR1cm4gMAotCi0JY2QgJHt3cmtzcmN9L2xpYnVjb250ZXh0 LSR7X2xpYnVjb250ZXh0X3ZlcnNpb259Ci0JbXNnX25vcm1hbCAiQnVpbGRpbmcgY3Jvc3MgbGli dWNvbnRleHRcbiIKLQotCSMgaXQncyBvayBpZiB3ZSdyZSBzdGF0aWMgb25seSBoZXJlCi0JQ0M9 IiR7X3RyaXBsZXR9LWdjYyIgQVI9IiR7X3RyaXBsZXR9LWFyIiBBUz0iJHtfdHJpcGxldH0tYXMi IFwKLQkJQ0ZMQUdTPSItT3MgLXBpcGUgLWZQSUMgJHtfYXJjaGZsYWdzfSIgXAotCQltYWtlIEFS Q0g9cHBjNjQgbGlidWNvbnRleHQuYQotCi0JY3AgbGlidWNvbnRleHQuYSAke19zeXNyb290fS91 c3IvbGliCi0KLQl0b3VjaCAke3dya3NyY30vLmxpYnVjb250ZXh0X2J1aWxkX2RvbmUKLX0KLQot X2djY19idWlsZCgpIHsKLQlsb2NhbCBfYXJncwotCVsgLWYgJHt3cmtzcmN9Ly5nY2NfYnVpbGRf ZG9uZSBdICYmIHJldHVybiAwCi0KLQljZCAke3dya3NyY30KLQltc2dfbm9ybWFsICJCdWlsZGlu ZyBjcm9zcyBnY2MgZmluYWxcbiIKLQotCVsgISAtZCBnY2MtYnVpbGQgXSAmJiBta2RpciBnY2Mt YnVpbGQKLQljZCBnY2MtYnVpbGQKLQotCV9hcmdzPSItLXByZWZpeD0vdXNyIgotCV9hcmdzKz0i IC0tbGliZXhlY2Rpcj0vdXNyL2xpYiIKLQlfYXJncys9IiAtLXRhcmdldD0ke190cmlwbGV0fSIK LQlfYXJncys9IiAtLXdpdGgtc3lzcm9vdD0ke19zeXNyb290fSIKLQlfYXJncys9IiAtLXdpdGgt YWJpPWVsZnYyIgotCV9hcmdzKz0iIC0tZW5hYmxlLWxhbmd1YWdlcz1jLGFkYSxjKyssb2JqYyxv YmotYysrLGdvLGZvcnRyYW4sbHRvIgotCV9hcmdzKz0iIC0tZW5hYmxlLWRlY2ltYWwtZmxvYXQ9 bm8iCi0JX2FyZ3MrPSIgLS1lbmFibGUtc2VjdXJlcGx0IgotCV9hcmdzKz0iIC0tZW5hYmxlLXRh cmdldHM9cG93ZXJwYy1saW51eCIKLQlfYXJncys9IiAtLWVuYWJsZS1saWJhZGEiCi0JX2FyZ3Mr PSIgLS1lbmFibGUtbHRvIgotCV9hcmdzKz0iIC0tZW5hYmxlLWRlZmF1bHQtcGllIgotCV9hcmdz Kz0iIC0tZW5hYmxlLWRlZmF1bHQtc3NwIgotCV9hcmdzKz0iIC0tZW5hYmxlLWxpYnNzcCIKLQlf YXJncys9IiAtLWRpc2FibGUtbGlicXVhZG1hdGgiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYnNh bml0aXplciIKLQlfYXJncys9IiAtLWRpc2FibGUtbXVsdGlsaWIiCi0JX2FyZ3MrPSIgLS1kaXNh YmxlLWxpYm11ZGZsYXAiCi0JX2FyZ3MrPSIgLS1lbmFibGUtc2hhcmVkIgotCV9hcmdzKz0iIC0t ZGlzYWJsZS1zeW12ZXJzIgotCV9hcmdzKz0iIC0tZGlzYWJsZS12dGFibGUtdmVyaWZ5IgotCV9h cmdzKz0iIGxpYmF0X2N2X2hhdmVfaWZ1bmM9bm8iCi0KLQkuLi9nY2MtJHtfZ2NjX3ZlcnNpb259 L2NvbmZpZ3VyZSAke19hcmdzfQotCi0JbWFrZSAke21ha2Vqb2JzfQotCi0JdG91Y2ggJHt3cmtz cmN9Ly5nY2NfYnVpbGRfZG9uZQotfQotCi1kb19idWlsZCgpIHsKLQkjIEVuc3VyZSB3ZSB1c2Ug c2FuZSBlbnZpcm9ubWVudAotCXVuc2V0IENDIENYWCBDUFAgTEQgQVMgQVIgUkFOTElCIE9CSkRV TVAgUkVBREVMRiBOTQotCXVuc2V0IENGTEFHUyBDWFhGTEFHUyBDUFBGTEFHUyBMREZMQUdTCi0J ZXhwb3J0IENGTEFHUz0iLU9zIC1waXBlIC1mUElDIiBDWFhGTEFHUz0iLU9zIC1waXBlIC1mUElD IgotCi0JZm9yIGYgaW4gaW5jbHVkZSBsaWIgbGliZXhlYyBiaW4gc2JpbjsgZG8KLQkJaWYgWyAh IC1kICR7X3N5c3Jvb3R9L3Vzci8ke2Z9IF07IHRoZW4KLQkJCW1rZGlyIC1wICR7X3N5c3Jvb3R9 L3Vzci8ke2Z9Ci0JCWZpCi0JCWlmIFsgISAtaCAke19zeXNyb290fS8ke2Z9IF07IHRoZW4KLQkJ CWxuIC1zZnIgJHtfc3lzcm9vdH0vdXNyLyR7Zn0gJHtfc3lzcm9vdH0vJHtmfQotCQlmaQotCWRv bmUKLQlsbiAtc2YgbGliICR7X3N5c3Jvb3R9L3Vzci9saWI2NAotCWxuIC1zZiB1c3IvbGliICR7 X3N5c3Jvb3R9L2xpYjY0Ci0KLQlfYmludXRpbHNfYnVpbGQKLQlfZ2NjX2Jvb3RzdHJhcAotCV9s aW51eF9oZWFkZXJzCi0JX211c2xfYnVpbGQKLQlfbGlidWNvbnRleHRfYnVpbGQKLQlfZ2NjX2J1 aWxkCi19Ci0KLWRvX2luc3RhbGwoKSB7Ci0JZm9yIGYgaW4gaW5jbHVkZSBsaWIgbGliZXhlYyBi aW4gc2JpbjsgZG8KLQkJaWYgWyAhIC1kICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyLyR7Zn0g XTsgdGhlbgotCQkJbWtkaXIgLXAgJHtERVNURElSfS8ke19zeXNyb290fS91c3IvJHtmfQotCQlm aQotCQlpZiBbICEgLWggJHtERVNURElSfS8ke19zeXNyb290fS8ke2Z9IF07IHRoZW4KLQkJCWxu IC1zZnIgJHtERVNURElSfS8ke19zeXNyb290fS91c3IvJHtmfSBcCi0JCQkJJHtERVNURElSfS8k e19zeXNyb290fS8ke2Z9Ci0JCWZpCi0JZG9uZQotCWxuIC1zZiBsaWIgJHtERVNURElSfS8ke19z eXNyb290fS91c3IvbGliNjQKLQlsbiAtc2YgdXNyL2xpYiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9 L2xpYjY0Ci0KLQkjIGluc3RhbGwgbGludXggQVBJIGhlYWRlcnMKLQljZCAke3dya3NyY30vbGlu dXgtJHtfbGludXhfdmVyc2lvbn0KLQltYWtlIEFSQ0g9cG93ZXJwYyBJTlNUQUxMX0hEUl9QQVRI PSR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyIGhlYWRlcnNfaW5zdGFsbAotCXJtIC1mICQoZmlu ZCAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci9pbmNsdWRlIC1uYW1lIC5pbnN0YWxsIC1vciAt bmFtZSAuLmluc3RhbGwuY21kKQotCXJtIC1yZiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci9p bmNsdWRlL2RybQotCi0JIyBpbnN0YWxsIGNyb3NzIGJpbnV0aWxzCi0JY2QgJHt3cmtzcmN9L2Jp bnV0aWxzLWJ1aWxkCi0JbWFrZSBERVNURElSPSR7REVTVERJUn0gaW5zdGFsbAotCi0JIyBpbnN0 YWxsIGNyb3NzIGdjYwotCWNkICR7d3Jrc3JjfS9nY2MtYnVpbGQKLQltYWtlIERFU1RESVI9JHtE RVNURElSfSBpbnN0YWxsCi0KLQkjIG1vdmUgbGliY2MxLnNvKiB0byB0aGUgc3lzcm9vdAotCW12 ICR7REVTVERJUn0vdXNyL2xpYi9saWJjYzEuc28qICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNy L2xpYgotCi0JIyBpbnN0YWxsIG11c2wgbGliYyBmb3IgdGFyZ2V0Ci0JY2QgJHt3cmtzcmN9L211 c2wtJHtfbXVzbF92ZXJzaW9ufQotCW1ha2UgREVTVERJUj0ke0RFU1RESVJ9LyR7X3N5c3Jvb3R9 IGluc3RhbGwKLQotCSMgUmVtb3ZlIHVzZWxlc3MgaGVhZGVycy4KLQlybSAtcmYgJHtERVNURElS fS91c3IvbGliL2djYy8ke190cmlwbGV0fS8qL2luY2x1ZGUtZml4ZWQvCi0KLQkjIE1ha2UgbGQt bXVzbC1wb3dlcnBjNjQuc28uMSBzeW1saW5rIHJlbGF0aXZlIHRvIGN3ZC4KLQljZCAke0RFU1RE SVJ9LyR7X3N5c3Jvb3R9L3Vzci9saWIKLQlsbiAtc2YgbGliYy5zbyBsZC1tdXNsLXBvd2VycGM2 NC5zby4xCi0KLQkjIHN5bWxpbmtzIGZvciBnbmFybCBhbmQgZ25hdCBzaGFyZWQgbGlicmFyaWVz Ci0JX21ham9ydmVyPSR7X2djY192ZXJzaW9uJS4qLip9Ci0JX2FkYWxpYj11c3IvbGliL2djYy8k e190cmlwbGV0fS8ke19nY2NfdmVyc2lvbn0vYWRhbGliCi0JbXYgLXYgJHtERVNURElSfS8ke19h ZGFsaWJ9L2xpYmduYXJsLSR7X21ham9ydmVyfS5zbyAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vz ci9saWIKLQltdiAtdiAke0RFU1RESVJ9LyR7X2FkYWxpYn0vbGliZ25hdC0ke19tYWpvcnZlcn0u c28gJHtERVNURElSfS8ke19zeXNyb290fS91c3IvbGliCi0JbG4gLXN2ZiBsaWJnbmFybC0ke19t YWpvcnZlcn0uc28gbGliZ25hcmwuc28KLQlsbiAtc3ZmIGxpYmduYXQtJHtfbWFqb3J2ZXJ9LnNv IGxpYmduYXQuc28KLQlybSAtdmYgJHtERVNURElSfS8ke19hZGFsaWJ9L2xpYmduYXtybCx0fS5z bwotCi0JIyBXZSBuZWVkIHRvIGJ1aWxkIGxpYmF0b21pYyBpbiB0YXJnZXQgZ2NjIGFzIGdjY2dv IG5lZWRzIGl0IHRvCi0JIyBidWlsZC4uLiBidXQgaXQncyBub3QgbmVlZGVkIGF0IHJ1bnRpbWUs IHNvIHJlbW92ZSBpdCBmcm9tIHRoZQotCSMgZGVzdGRpciBzbyBpdCBkb2Vzbid0IGNvbmZsaWN0 IHdpdGggdGhlIGxpYmF0b21pYyBwYWNrYWdlCi0Jcm0gLWYgJHtERVNURElSfS8ke19zeXNyb290 fS91c3IvbGliL2xpYmF0b21pYy4qCi0KLQkjIFJlbW92ZSB1bm5lY2Vzc2FyeSBzdHVmZgotCXJt IC1mICR7REVTVERJUn0vdXNyL2xpYiovbGliaWJlcnR5LmEKLQlybSAtcmYgJHtERVNURElSfS91 c3Ivc2hhcmUKLQlybSAtcmYgJHtERVNURElSfS8ke19zeXNyb290fS97ZXRjLHZhcn0KLQlybSAt cmYgJHtERVNURElSfS8ke19zeXNyb290fS91c3Ive3NiaW4sc2hhcmUsbGliZXhlY30KLQlybSAt ZiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L2xpYmV4ZWMKLQlybSAtZiAke0RFU1RESVJ9LyR7X3N5 c3Jvb3R9L2xpYi8qLnB5Ci0Jcm0gLWYgJHtERVNURElSfS8ke19zeXNyb290fS97c2JpbixsaWJ9 Ci19Ci0KLWRvX2NsZWFuKCkgewotCSMgUmVtb3ZlIHRlbXBvcmFyeSBzdHVmZiBmcm9tIG1hc3Rl cmRpcgotCXJtIC1yZiAke19zeXNyb290fQotCXJtIC1mIC91c3IvYmluLyR7X3RyaXBsZXR9Kgot CXJtIC1yZiAvdXNyL2xpYi9nY2MvJHtfdHJpcGxldH0KLQlybSAtcmYgL3Vzci9saWJleGVjL2dj Yy8ke190cmlwbGV0fQotfQotCiBjcm9zcy1wb3dlcnBjNjQtbGludXgtbXVzbC1saWJjX3BhY2th Z2UoKSB7CiAJc2hvcnRfZGVzYys9IiAtIGxpYmMgZmlsZXMiCiAJbm9zdHJpcD15ZXMKIAlub3Zl cmlmeXJkZXBzPXllcwogCW5vc2hsaWJwcm92aWRlcz15ZXMKKwogCXBrZ19pbnN0YWxsKCkgewot CQl2bW92ZSAke19zeXNyb290fQorCQl2bW92ZSB1c3IvJHtjcm9zc190cmlwbGV0fQogCX0KIH0K CkZyb20gZjdhOTI5MzU1NzM2NzhiNjliYjk2Mjg0MDNiZDZjYjlmYTM2YWNkYSBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogcTY2IDxkYW5pZWxAb2N0YWZvcmdlLm9yZz4KRGF0ZTogU2F0 LCAyNiBEZWMgMjAyMCAxOToxMjoxNCArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMjUvMjZdIGNyb3Nz LXg4Nl82NC1saW51eC1nbnU6IHJld29yayB3aXRoIHZvaWQtY3Jvc3MKCi0tLQogc3JjcGtncy9j cm9zcy14ODZfNjQtbGludXgtZ251L3RlbXBsYXRlIHwgMzY0ICsrLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQogMSBmaWxlIGNoYW5nZWQsIDIwIGluc2VydGlvbnMoKyksIDM0NCBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nyb3NzLXg4Nl82NC1saW51eC1nbnUvdGVtcGxhdGUgYi9z cmNwa2dzL2Nyb3NzLXg4Nl82NC1saW51eC1nbnUvdGVtcGxhdGUKaW5kZXggNGE2OTI4MDc2YTcu LjQ0YTJhYTBjMDQ4IDEwMDY0NAotLS0gYS9zcmNwa2dzL2Nyb3NzLXg4Nl82NC1saW51eC1nbnUv dGVtcGxhdGUKKysrIGIvc3JjcGtncy9jcm9zcy14ODZfNjQtbGludXgtZ251L3RlbXBsYXRlCkBA IC0xLDE5ICsxLDIwIEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdjcm9zcy14ODZfNjQtbGludXgt Z251JworX3RyaXBsZXQ9eDg2XzY0LWxpbnV4LWdudQogX2JpbnV0aWxzX3ZlcnNpb249Mi4zMgog X2djY192ZXJzaW9uPTkuMy4wCiBfZ2xpYmNfdmVyc2lvbj0yLjMwCiBfbGludXhfdmVyc2lvbj00 LjE5Ci0KLV90cmlwbGV0PSJ4ODZfNjQtbGludXgtZ251IgotX3N5c3Jvb3Q9Ii91c3IvJHtfdHJp cGxldH0iCi0KIHBrZ25hbWU9Y3Jvc3MtJHtfdHJpcGxldH0KIHZlcnNpb249MC4zMwogcmV2aXNp b249MQotc2hvcnRfZGVzYz0iR05VIGNyb3NzIHRvb2xjaGFpbiBmb3IgdGhlICR7X3RyaXBsZXR9 IHRhcmdldHMgKGJpbnV0aWxzL2djYy9nbGliYykiCitidWlsZF9zdHlsZT12b2lkLWNyb3NzCito b3N0bWFrZWRlcGVuZHM9InRhciBnY2Mtb2JqYyBnY2MtZ28gZmxleCBwZXJsIHB5dGhvbjMiCitt YWtlZGVwZW5kcz0iaXNsMTUtZGV2ZWwgbGlibXBjLWRldmVsIHpsaWItZGV2ZWwgZ21wLWRldmVs IG1wZnItZGV2ZWwiCitkZXBlbmRzPSIke3BrZ25hbWV9LWxpYmMtJHt2ZXJzaW9ufV8ke3Jldmlz aW9ufSIKK3Nob3J0X2Rlc2M9IlZvaWQgY3Jvc3MgdG9vbGNoYWluIGZvciAke190cmlwbGV0fSIK IG1haW50YWluZXI9InE2NiA8ZGFuaWVsQG9jdGFmb3JnZS5vcmc+IgotaG9tZXBhZ2U9Imh0dHBz Oi8vd3d3LnZvaWRsaW51eC5vcmcvIgogbGljZW5zZT0iR1BMLTIuMC1vci1sYXRlciwgR1BMLTMu MC1vci1sYXRlciwgTEdQTC0yLjEtb3ItbGF0ZXIiCitob21lcGFnZT0iaHR0cHM6Ly93d3cudm9p ZGxpbnV4Lm9yZy8iCiBkaXN0ZmlsZXM9IgogICR7R05VX1NJVEV9L2JpbnV0aWxzL2JpbnV0aWxz LSR7X2JpbnV0aWxzX3ZlcnNpb259LnRhci54egogICR7R05VX1NJVEV9L2djYy9nY2MtJHtfZ2Nj X3ZlcnNpb259L2djYy0ke19nY2NfdmVyc2lvbn0udGFyLnh6CkBAIC0yNCwzNTQgKzI1LDI5IEBA IGNoZWNrc3VtPSIwYWI2YzU1ZGQ4NmE5MmVkNTYxOTcyYmExNWI5YjcwYThiOWY3NTU1N2Y4OTY0 NDZjODJlOGIzNmU0NzNlZTA0CiAgZTJjNDExNGU1NjlhZmJlN2VkYmMyOTEzMWE0M2JlODMzODUw YWI5YTQ1OWQ4MWJlYjI1ODgwMTZkMmJiYjhhZgogIDBjNjhmNTY1NTUyOGFlZDRmOTlkYWU3MWE1 YjI1OWVkYzkzMjM5ZmE4OTllMmRmNzljMDU1Mjc1YzIxNzQ5YTEiCiAKLWxpYjMyZGlzYWJsZWQ9 eWVzCi1ub2Nyb3NzPXllcwotbm9waWU9eWVzCi1ub2RlYnVnPXllcwotY3JlYXRlX3dya3NyYz15 ZXMKLWhvc3RtYWtlZGVwZW5kcz0idGFyIGdjYy1vYmpjIGdjYy1nbyBmbGV4IHBlcmwgcHl0aG9u MyIKLW1ha2VkZXBlbmRzPSJpc2wxNS1kZXZlbCBsaWJtcGMtZGV2ZWwgemxpYi1kZXZlbCIKLW5v c3RyaXBfZmlsZXM9ImxpYmNhZl9zaW5nbGUuYSBsaWJnY2MuYSBsaWJnY292LmEgbGliZ2NjX2Vo LmEKLSBsaWJnbmFybF9waWMuYSBsaWJnbmFybC5hIGxpYmduYXRfcGljLmEgbGliZ25hdC5hIGxp YmdtZW0uYSIKLWRlcGVuZHM9IiR7cGtnbmFtZX0tbGliYy0ke3ZlcnNpb259XyR7cmV2aXNpb259 IgotCi1pZiBbICIkWEJQU19UQVJHRVRfTElCQyIgIT0gImdsaWJjIiBdOyB0aGVuCi0JYnJva2Vu PSJnbGliYyBjcm9zc3Rvb2xjaGFpbiBvbmx5IGF2YWlsYWJsZSBvbiBnbGliYyIKLWZpCi0KLWlm IFsgIiRYQlBTX1RBUkdFVF9XT1JEU0laRSIgIT0gIjY0IiBdOyB0aGVuCi0JYnJva2VuPSI2NC1i aXQgY3Jvc3N0b29sY2hhaW4gb25seSBhdmFpbGFibGUgb24gNjQtYml0IGhvc3QiCi1maQorY3Jv c3NfdHJpcGxldD0ke190cmlwbGV0fQorY3Jvc3Nfd29yZHNpemU9NjQKK2Nyb3NzX2xpYmM9Z2xp YmMKK2Nyb3NzX2JpbnV0aWxzX3ZlcnNpb249JHtfYmludXRpbHNfdmVyc2lvbn0KK2Nyb3NzX2dj Y192ZXJzaW9uPSR7X2djY192ZXJzaW9ufQorY3Jvc3NfZ2xpYmNfdmVyc2lvbj0ke19nbGliY192 ZXJzaW9ufQorY3Jvc3NfbGludXhfdmVyc2lvbj0ke19saW51eF92ZXJzaW9ufQorY3Jvc3NfbGlu dXhfYXJjaD14ODYKKyMgZXhwbGljaXRseSBlbmFibGUgZm9yIGZpbmFsIGdjYywgZ2ZvcnRyYW4g ZG9lcyBub3QgYnVpbGQgd2l0aG91dCBvbiB4ODYKK2Nyb3NzX2djY19jb25maWd1cmVfYXJncz0i LS1lbmFibGUtbGlicXVhZG1hdGgiCitjcm9zc19nbGliY19jZmxhZ3M9Ii1PMiIKIAogaWYgWyAi JFhCUFNfVEFSR0VUX01BQ0hJTkUiID0gIng4Nl82NCIgXTsgdGhlbgogCWJyb2tlbj0iQ2FuJ3Qg YnVpbGQgY3Jvc3N0b29sY2hhaW4gdG8gaXRzZWxmIgogZmkKIAotX2FwcGx5X3BhdGNoKCkgewot CWxvY2FsIGFyZ3M9IiQxIiBwbmFtZT0iJChiYXNlbmFtZSAkMikiCi0KLQlpZiBbICEgLWYgIi4k e3BuYW1lfV9kb25lIiBdOyB0aGVuCi0JCXBhdGNoIC1OICRhcmdzIC1pICQyCi0JCXRvdWNoIC4k e3BuYW1lfV9kb25lCi0JZmkKLX0KLQotX2JpbnV0aWxzX2J1aWxkKCkgewotCWxvY2FsIF9hcmdz Ci0KLQlbIC1mICR7d3Jrc3JjfS8uYmludXRpbHNfYnVpbGRfZG9uZSBdICYmIHJldHVybiAwCi0K LQljZCAke3dya3NyY30KLQltc2dfbm9ybWFsICJCdWlsZGluZyBjcm9zcyBiaW51dGlscyBib290 c3RyYXBcbiIKLQotCVsgISAtZCBiaW51dGlscy1idWlsZCBdICYmIG1rZGlyIGJpbnV0aWxzLWJ1 aWxkCi0JY2QgYmludXRpbHMtYnVpbGQKLQotCV9hcmdzPSItLXByZWZpeD0vdXNyIgotCV9hcmdz Kz0iIC0tdGFyZ2V0PSR7X3RyaXBsZXR9IgotCV9hcmdzKz0iIC0td2l0aC1zeXNyb290PSR7X3N5 c3Jvb3R9IgotCV9hcmdzKz0iIC0tZGlzYWJsZS1ubHMiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLW11 bHRpbGliIgotCV9hcmdzKz0iIC0tZGlzYWJsZS13ZXJyb3IiCi0JX2FyZ3MrPSIgLS1kaXNhYmxl LXNoYXJlZCIKLQlfYXJncys9IiAtLXdpdGgtc3lzdGVtLXpsaWIiCi0KLQkuLi9iaW51dGlscy0k e19iaW51dGlsc192ZXJzaW9ufS9jb25maWd1cmUgJHtfYXJnc30KLQotCW1ha2UgY29uZmlndXJl LWhvc3QKLQltYWtlICR7bWFrZWpvYnN9Ci0JbWFrZSBpbnN0YWxsCi0KLQl0b3VjaCAke3dya3Ny Y30vLmJpbnV0aWxzX2J1aWxkX2RvbmUKLX0KLQotX2djY19ib290c3RyYXAoKSB7Ci0JbG9jYWwg X2FyZ3MKLQotCVsgLWYgJHt3cmtzcmN9Ly5nY2NfYm9vdHN0cmFwX2RvbmUgXSAmJiByZXR1cm4g MAotCi0JY2QgJHt3cmtzcmN9L2djYy0ke19nY2NfdmVyc2lvbn0KLQlmb3IgZiBpbiAke1hCUFNf U1JDUEtHRElSfS9nY2MvcGF0Y2hlcy8qLnBhdGNoOyBkbwotCQlfYXBwbHlfcGF0Y2ggLXAwICIk ZiIKLQlkb25lCi0KLQltc2dfbm9ybWFsICJCdWlsZGluZyBjcm9zcyBnY2MgYm9vdHN0cmFwXG4i Ci0KLQlbICEgLWQgLi4vZ2NjLWJvb3RzdHJhcCBdICYmIG1rZGlyIC4uL2djYy1ib290c3RyYXAK LQljZCAuLi9nY2MtYm9vdHN0cmFwCi0KLQlfYXJncz0iLS1wcmVmaXg9L3VzciIKLQlfYXJncys9 IiAtLXRhcmdldD0ke190cmlwbGV0fSIKLQlfYXJncys9IiAtLXdpdGhvdXQtaGVhZGVycyIKLQlf YXJncys9IiAtLWRpc2FibGUtbmxzIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1zaGFyZWQiCi0JX2Fy Z3MrPSIgLS1kaXNhYmxlLWxpYnF1YWRtYXRoIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1kZWNpbWFs LWZsb2F0IgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJnb21wIgotCV9hcmdzKz0iIC0tZGlzYWJs ZS1saWJtcHgiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYm11ZGZsYXAiCi0JX2FyZ3MrPSIgLS1k aXNhYmxlLWxpYnNzcCIKLQlfYXJncys9IiAtLWRpc2FibGUtbGliaXRtIgotCV9hcmdzKz0iIC0t ZGlzYWJsZS1saWJhdG9taWMiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLXRocmVhZHMiCi0JX2FyZ3Mr PSIgLS1lbmFibGUtbGFuZ3VhZ2VzPWMiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLXNqbGotZXhjZXB0 aW9ucyIKLQlfYXJncys9IiAtLWRpc2FibGUtbXVsdGlsaWIiCi0JX2FyZ3MrPSIgLS13aXRoLWdu dS1sZCIKLQlfYXJncys9IiAtLXdpdGgtZ251LWFzIgotCi0JLi4vZ2NjLSR7X2djY192ZXJzaW9u fS9jb25maWd1cmUgJHtfYXJnc30KLQotCW1ha2UgJHttYWtlam9ic30KLQltYWtlIGluc3RhbGwK LQotCXRvdWNoICR7d3Jrc3JjfS8uZ2NjX2Jvb3RzdHJhcF9kb25lCi19Ci0KLV9saW51eF9oZWFk ZXJzKCkgewotCVsgLWYgJHt3cmtzcmN9Ly5saW51eF9idWlsZF9kb25lIF0gJiYgcmV0dXJuIDAK LQotCWNkICR7d3Jrc3JjfQotCW1zZ19ub3JtYWwgIkJ1aWxkaW5nIExpbnV4IEFQSSBoZWFkZXJz XG4iCi0KLQljZCBsaW51eC0ke19saW51eF92ZXJzaW9ufQotCi0JbWFrZSBBUkNIPXg4NiBoZWFk ZXJzX2NoZWNrCi0JbWFrZSBBUkNIPXg4NiBJTlNUQUxMX0hEUl9QQVRIPSR7X3N5c3Jvb3R9L3Vz ciBoZWFkZXJzX2luc3RhbGwKLQotCXRvdWNoICR7d3Jrc3JjfS8ubGludXhfYnVpbGRfZG9uZQot fQotCi1fZ2xpYmNfaGVhZGVycygpIHsKLQlsb2NhbCBfYXJncyBmCi0JWyAtZiAke3dya3NyY30v LmdsaWJjX2hlYWRlcnNfZG9uZSBdICYmIHJldHVybiAwCi0KLQljZCAke3dya3NyY30vZ2xpYmMt JHtfZ2xpYmNfdmVyc2lvbn0KLQlpZiBbIC1kICIke1hCUFNfU1JDUEtHRElSfS9nbGliYy9wYXRj aGVzIiBdOyB0aGVuCi0JCWZvciBmIGluICR7WEJQU19TUkNQS0dESVJ9L2dsaWJjL3BhdGNoZXMv Ki5wYXRjaDsgZG8KLQkJCV9hcHBseV9wYXRjaCAtcDEgIiRmIgotCQlkb25lCi0JZmkKLQotCWNk ICR7d3Jrc3JjfQotCW1zZ19ub3JtYWwgIkJ1aWxkaW5nIGNyb3NzIGdsaWJjIGhlYWRlcnNcbiIK LQotCVsgISAtZCBnbGliYy1oZWFkZXJzIF0gJiYgbWtkaXIgZ2xpYmMtaGVhZGVycwotCWNkIGds aWJjLWhlYWRlcnMKLQotCWVjaG8gImxpYmNfY3ZfZm9yY2VkX3Vud2luZD15ZXMiID4gY29uZmln LmNhY2hlCi0JZWNobyAibGliY19jdl9jX2NsZWFudXA9eWVzIiA+PiBjb25maWcuY2FjaGUKLQot CWV4cG9ydCBDQz0iJHtfdHJpcGxldH0tZ2NjIiBMRD0iJHtfdHJpcGxldH0tbGQiIFwKLQkJQVM9 IiR7X3RyaXBsZXR9LWFzIiBDUFA9IiR7X3RyaXBsZXR9LWNwcCIgXAotCQlOTT0iJHtfdHJpcGxl dH0tbm0iCi0KLQlfYXJncz0iIC0tcHJlZml4PS91c3IiCi0JX2FyZ3MrPSIgLS1ob3N0PSR7X3Ry aXBsZXR9IgotCV9hcmdzKz0iIC0td2l0aC1oZWFkZXJzPSR7X3N5c3Jvb3R9L3Vzci9pbmNsdWRl IgotCV9hcmdzKz0iIC0tY29uZmlnLWNhY2hlIgotCV9hcmdzKz0iIC0tZW5hYmxlLW9ic29sZXRl LXJwYyIKLQlfYXJncys9IiAtLWVuYWJsZS1vYnNvbGV0ZS1uc2wiCi0JX2FyZ3MrPSIgLS1lbmFi bGUta2VybmVsPTIuNi4yNyIKLQotCS4uL2dsaWJjLSR7X2dsaWJjX3ZlcnNpb259L2NvbmZpZ3Vy ZSAke19hcmdzfQotCi0JbWFrZSAtayBpbnN0YWxsLWhlYWRlcnMgY3Jvc3NfY29tcGlsaW5nPXll cyBcCi0JCWluc3RhbGxfcm9vdD0ke19zeXNyb290fQotCi0JdG91Y2ggJHt3cmtzcmN9Ly5nbGli Y19oZWFkZXJzX2RvbmUKLX0KLQotX2dsaWJjX2J1aWxkKCkgewotCWxvY2FsIF9hcmdzCi0JWyAt ZiAke3dya3NyY30vLmdsaWJjX2J1aWxkX2RvbmUgXSAmJiByZXR1cm4gMAotCi0JY2QgJHt3cmtz cmN9Ci0JbXNnX25vcm1hbCAiQnVpbGRpbmcgY3Jvc3MgZ2xpYmNcbiIKLQotCVsgISAtZCBnbGli Yy1idWlsZCBdICYmIG1rZGlyIGdsaWJjLWJ1aWxkCi0JY2QgZ2xpYmMtYnVpbGQKLQotCWVjaG8g InNsaWJkaXI9L3Vzci9saWI2NCIgPiBjb25maWdwYXJtcwotCi0JZWNobyAibGliY19jdl9mb3Jj ZWRfdW53aW5kPXllcyIgPiBjb25maWcuY2FjaGUKLQllY2hvICJsaWJjX2N2X2NfY2xlYW51cD15 ZXMiID4+IGNvbmZpZy5jYWNoZQotCi0JZXhwb3J0IENDPSIke190cmlwbGV0fS1nY2MiIENYWD0i JHtfdHJpcGxldH0tZysrIiBMRD0iJHtfdHJpcGxldH0tbGQiIFwKLQkJQVM9IiR7X3RyaXBsZXR9 LWFzIiBDUFA9IiR7X3RyaXBsZXR9LWNwcCIgXAotCQlOTT0iJHtfdHJpcGxldH0tbm0iCi0JZXhw b3J0IENGTEFHUz0iLU8yIC1waXBlIgotCi0JX2FyZ3M9Ii0tcHJlZml4PS91c3IiCi0JX2FyZ3Mr PSIgLS1saWJkaXI9L3Vzci9saWI2NCIKLQlfYXJncys9IiAtLWhvc3Q9JHtfdHJpcGxldH0iCi0J X2FyZ3MrPSIgLS13aXRoLWhlYWRlcnM9JHtfc3lzcm9vdH0vdXNyL2luY2x1ZGUiCi0JX2FyZ3Mr PSIgLS1jb25maWctY2FjaGUiCi0JX2FyZ3MrPSIgLS1lbmFibGUtb2Jzb2xldGUtcnBjIgotCV9h cmdzKz0iIC0tZW5hYmxlLW9ic29sZXRlLW5zbCIKLQlfYXJncys9IiAtLWRpc2FibGUtcHJvZmls ZSIKLQlfYXJncys9IiAtLWVuYWJsZS1rZXJuZWw9Mi42LjI3IgotCV9hcmdzKz0iIC0tZGlzYWJs ZS13ZXJyb3IiCi0KLQkuLi9nbGliYy0ke19nbGliY192ZXJzaW9ufS9jb25maWd1cmUgJHtfYXJn c30KLQotCW1ha2UgJHttYWtlam9ic30KLQltYWtlIGluc3RhbGxfcm9vdD0ke19zeXNyb290fSBp bnN0YWxsCi0KLQl0b3VjaCAke3dya3NyY30vLmdsaWJjX2J1aWxkX2RvbmUKLX0KLQotX2djY19i dWlsZCgpIHsKLQlsb2NhbCBfYXJncwotCVsgLWYgJHt3cmtzcmN9Ly5nY2NfYnVpbGRfZG9uZSBd ICYmIHJldHVybiAwCi0KLQljZCAke3dya3NyY30KLQltc2dfbm9ybWFsICJCdWlsZGluZyBjcm9z cyBnY2MgZmluYWxcbiIKLQotCVsgISAtZCBnY2MtYnVpbGQgXSAmJiBta2RpciBnY2MtYnVpbGQK LQljZCBnY2MtYnVpbGQKLQotCXVuc2V0IExEIEFTCi0KLQkjIE1ha2UgdGhpcyBsaW5rIHRvIHRh cmdldCBsaWJzLgotCWlmIFsgISAtZiAuc2VkX3N1YnN0X2RvbmUgXTsgdGhlbgotCQlzZWQgLWUg InMsIC9saWIvLCAke19zeXNyb290fS9saWIvLGc7cywgL3Vzci9saWIvLCAke19zeXNyb290fS91 c3IvbGliLyxnIiBcCi0JCQktaSAke19zeXNyb290fS91c3IvbGliL2xpYmMuc28KLQkJc2VkIC1l ICJzLCAvbGliNjQvLCAke19zeXNyb290fS9saWI2NC8sZztzLCAvdXNyL2xpYjY0LywgJHtfc3lz cm9vdH0vdXNyL2xpYjY0LyxnIiBcCi0JCQktaSAke19zeXNyb290fS91c3IvbGliL2xpYmMuc28K LQkJc2VkIC1lICJzLCAvbGliLywgJHtfc3lzcm9vdH0vbGliLyxnO3MsIC91c3IvbGliLywgJHtf c3lzcm9vdH0vdXNyL2xpYi8sZyIgXAotCQkJLWkgJHtfc3lzcm9vdH0vdXNyL2xpYi9saWJtLnNv Ci0JCXNlZCAtZSAicywgL2xpYjY0LywgJHtfc3lzcm9vdH0vbGliNjQvLGc7cywgL3Vzci9saWI2 NC8sICR7X3N5c3Jvb3R9L3Vzci9saWI2NC8sZyIgXAotCQkJLWkgJHtfc3lzcm9vdH0vdXNyL2xp Yi9saWJtLnNvCi0JCXRvdWNoIC5zZWRfc3Vic3RfZG9uZQotCWZpCi0KLQlfYXJncz0iLS1wcmVm aXg9L3VzciIKLQlfYXJncys9IiAtLWxpYmRpcj0vdXNyL2xpYiIKLQlfYXJncys9IiAtLWxpYmV4 ZWNkaXI9L3Vzci9saWIiCi0JX2FyZ3MrPSIgLS10YXJnZXQ9JHtfdHJpcGxldH0iCi0JX2FyZ3Mr PSIgLS13aXRoLXN5c3Jvb3Q9JHtfc3lzcm9vdH0iCi0JX2FyZ3MrPSIgLS1lbmFibGUtbGFuZ3Vh Z2VzPWMsYWRhLGMrKyxvYmpjLG9iai1jKyssZ28sZm9ydHJhbixsdG8iCi0JX2FyZ3MrPSIgLS13 aXRoLWdudS1hcyIKLQlfYXJncys9IiAtLXdpdGgtZ251LWxkIgotCV9hcmdzKz0iIC0tZW5hYmxl LWxpYmFkYSIKLQlfYXJncys9IiAtLWVuYWJsZS1sdG8iCi0JX2FyZ3MrPSIgLS1lbmFibGUtZGVm YXVsdC1waWUiCi0JX2FyZ3MrPSIgLS1lbmFibGUtZGVmYXVsdC1zc3AiCi0JX2FyZ3MrPSIgLS1l bmFibGUtbGlua2VyLWJ1aWxkLWlkIgotCV9hcmdzKz0iIC0tZW5hYmxlLWdudS11bmlxdWUtb2Jq ZWN0IgotCV9hcmdzKz0iIC0tZW5hYmxlLXNoYXJlZCIKLQlfYXJncys9IiAtLWVuYWJsZS10aHJl YWRzPXBvc2l4IgotCV9hcmdzKz0iIC0tZW5hYmxlLWxpYnF1YWRtYXRoIgotCV9hcmdzKz0iIC0t ZGlzYWJsZS1ubHMiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYnNhbml0aXplciIKLQlfYXJncys9 IiAtLWRpc2FibGUtbXVsdGlsaWIiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYm11ZGZsYXAiCi0J X2FyZ3MrPSIgLS1kaXNhYmxlLWxpYnN0ZGN4eC1wY2giCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLXNq bGotZXhjZXB0aW9ucyIKLQotCUNDPSJnY2MiIENYWD0iZysrIiBDRkxBR1M9Ii1PMiAtcGlwZSIg XAotCQkuLi9nY2MtJHtfZ2NjX3ZlcnNpb259L2NvbmZpZ3VyZSAke19hcmdzfQotCi0JbWFrZSAk e21ha2Vqb2JzfQotCi0JdG91Y2ggJHt3cmtzcmN9Ly5nY2NfYnVpbGRfZG9uZQotfQotCi1kb19i dWlsZCgpIHsKLQl1bnNldCBMREZMQUdTCi0JZXhwb3J0IENGTEFHUz0iLU9zIC1mUElDIiBDWFhG TEFHUz0iLU9zIC1mUElDIgotCi0JZm9yIGYgaW4gaW5jbHVkZSBsaWIgbGliZXhlYyBiaW4gc2Jp bjsgZG8KLQkJaWYgWyAhIC1kICR7X3N5c3Jvb3R9L3Vzci8ke2Z9IF07IHRoZW4KLQkJCW1rZGly IC1wICR7X3N5c3Jvb3R9L3Vzci8ke2Z9Ci0JCWZpCi0JCWlmIFsgISAtaCAke19zeXNyb290fS8k e2Z9IF07IHRoZW4KLQkJCWxuIC1zZnIgJHtfc3lzcm9vdH0vdXNyLyR7Zn0gJHtfc3lzcm9vdH0v JHtmfQotCQlmaQotCWRvbmUKLQlsbiAtc2YgbGliICR7X3N5c3Jvb3R9L3Vzci9saWI2NAotCWxu IC1zZiB1c3IvbGliICR7X3N5c3Jvb3R9L2xpYjY0Ci0KLQlfYmludXRpbHNfYnVpbGQKLQlfZ2Nj X2Jvb3RzdHJhcAotCV9saW51eF9oZWFkZXJzCi0JX2dsaWJjX2hlYWRlcnMKLQlfZ2xpYmNfYnVp bGQKLQlfZ2NjX2J1aWxkCi19Ci0KLWRvX2luc3RhbGwoKSB7Ci0JZm9yIGYgaW4gaW5jbHVkZSBs aWIgbGliZXhlYyBiaW4gc2JpbjsgZG8KLQkJaWYgWyAhIC1kICR7REVTVERJUn0vJHtfc3lzcm9v dH0vdXNyLyR7Zn0gXTsgdGhlbgotCQkJbWtkaXIgLXAgJHtERVNURElSfS8ke19zeXNyb290fS91 c3IvJHtmfQotCQlmaQotCQlpZiBbICEgLWggJHtERVNURElSfS8ke19zeXNyb290fS8ke2Z9IF07 IHRoZW4KLQkJCWxuIC1zZnIgJHtERVNURElSfS8ke19zeXNyb290fS91c3IvJHtmfSBcCi0JCQkJ JHtERVNURElSfS8ke19zeXNyb290fS8ke2Z9Ci0JCWZpCi0JZG9uZQotCWxuIC1zZiBsaWIgJHtE RVNURElSfS8ke19zeXNyb290fS91c3IvbGliNjQKLQlsbiAtc2YgdXNyL2xpYiAke0RFU1RESVJ9 LyR7X3N5c3Jvb3R9L2xpYjY0Ci0KLQkjIGluc3RhbGwgbGludXggQVBJIGhlYWRlcnMgZm9yIHg4 NgotCWNkICR7d3Jrc3JjfS9saW51eC0ke19saW51eF92ZXJzaW9ufQotCW1ha2UgQVJDSD14ODYg SU5TVEFMTF9IRFJfUEFUSD0ke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3VzciBoZWFkZXJzX2luc3Rh bGwKLQlybSAtZiAkKGZpbmQgJHtERVNURElSfS8ke19zeXNyb290fS91c3IvaW5jbHVkZSAtbmFt ZSAuaW5zdGFsbCAtb3IgLW5hbWUgLi5pbnN0YWxsLmNtZCkKLQlybSAtcmYgJHtERVNURElSfS8k e19zeXNyb290fS91c3IvaW5jbHVkZS9kcm0KLQotCSMgaW5zdGFsbCBjcm9zcyBiaW51dGlscwot CWNkICR7d3Jrc3JjfS9iaW51dGlscy1idWlsZAotCW1ha2UgREVTVERJUj0ke0RFU1RESVJ9IGlu c3RhbGwKLQotCSMgaW5zdGFsbCBjcm9zcyBnY2MKLQljZCAke3dya3NyY30vZ2NjLWJ1aWxkCi0J bWFrZSBERVNURElSPSR7REVTVERJUn0gaW5zdGFsbAotCi0JIyBtb3ZlIGxpYmNjMS5zbyogdG8g dGhlIHN5c3Jvb3QKLQltdiAke0RFU1RESVJ9L3Vzci9saWIvbGliY2MxLnNvKiAke0RFU1RESVJ9 LyR7X3N5c3Jvb3R9L3Vzci9saWIKLQotCSMgaW5zdGFsbCBnbGliYyBmb3IgdGFyZ2V0Ci0JY2Qg JHt3cmtzcmN9L2dsaWJjLWJ1aWxkCi0JbWFrZSBpbnN0YWxsX3Jvb3Q9JHtERVNURElSfS8ke19z eXNyb290fSBpbnN0YWxsIGluc3RhbGwtaGVhZGVycwotCi0JIyBzeW1saW5rcyBmb3IgZ25hcmwg YW5kIGduYXQgc2hhcmVkIGxpYnJhcmllcwotCV9tYWpvcnZlcj0ke19nY2NfdmVyc2lvbiUuKi4q fQotCV9hZGFsaWI9dXNyL2xpYi9nY2MvJHtfdHJpcGxldH0vJHtfZ2NjX3ZlcnNpb259L2FkYWxp YgotCW12IC12ICR7REVTVERJUn0vJHtfYWRhbGlifS9saWJnbmFybC0ke19tYWpvcnZlcn0uc28g JHtERVNURElSfS8ke19zeXNyb290fS91c3IvbGliCi0JbXYgLXYgJHtERVNURElSfS8ke19hZGFs aWJ9L2xpYmduYXQtJHtfbWFqb3J2ZXJ9LnNvICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL2xp YgotCWxuIC1zdmYgbGliZ25hcmwtJHtfbWFqb3J2ZXJ9LnNvIGxpYmduYXJsLnNvCi0JbG4gLXN2 ZiBsaWJnbmF0LSR7X21ham9ydmVyfS5zbyBsaWJnbmF0LnNvCi0Jcm0gLXZmICR7REVTVERJUn0v JHtfYWRhbGlifS9saWJnbmF7cmwsdH0uc28KLQotCSMgV2UgbmVlZCB0byBidWlsZCBsaWJhdG9t aWMgaW4gdGFyZ2V0IGdjYyBhcyBnY2NnbyBuZWVkcyBpdCB0bwotCSMgYnVpbGQuLi4gYnV0IGl0 J3Mgbm90IG5lZWRlZCBhdCBydW50aW1lLCBzbyByZW1vdmUgaXQgZnJvbSB0aGUKLQkjIGRlc3Rk aXIgc28gaXQgZG9lc24ndCBjb25mbGljdCB3aXRoIHRoZSBsaWJhdG9taWMgcGFja2FnZQotCXJt IC1mICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL2xpYi9saWJhdG9taWMuKgotCi0JIyBSZW1v dmUgdW5uZWNlc3Nhcnkgc3R1ZmYKLQlybSAtZiAke0RFU1RESVJ9L3Vzci9saWIqL2xpYmliZXJ0 eS5hCi0Jcm0gLXJmICR7REVTVERJUn0vdXNyL3NoYXJlCi0Jcm0gLXJmICR7REVTVERJUn0vJHtf c3lzcm9vdH0ve2V0Yyx2YXJ9Ci0Jcm0gLXJmICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL3tz YmluLHNoYXJlLGxpYmV4ZWN9Ci0Jcm0gLWYgJHtERVNURElSfS8ke19zeXNyb290fS9saWJleGVj Ci0Jcm0gLWYgJHtERVNURElSfS8ke19zeXNyb290fS97c2JpbixsaWJ9Ci19Ci0KLWRvX2NsZWFu KCkgewotCSMgUmVtb3ZlIHRlbXBvcmFyeSBzdHVmZiBmcm9tIG1hc3RlcmRpcgotCXJtIC1yZiAk e19zeXNyb290fQotCXJtIC1mIC91c3IvYmluLyR7X3RyaXBsZXR9KgotCXJtIC1yZiAvdXNyL2xp Yi9nY2MvJHtfdHJpcGxldH0KLQlybSAtcmYgL3Vzci9saWJleGVjL2djYy8ke190cmlwbGV0fQot fQotCiBjcm9zcy14ODZfNjQtbGludXgtZ251LWxpYmNfcGFja2FnZSgpIHsKIAlzaG9ydF9kZXNj Kz0iIC0gZ2xpYmMgZmlsZXMiCiAJbm9zdHJpcD15ZXMKIAlub3ZlcmlmeXJkZXBzPXllcwogCW5v c2hsaWJwcm92aWRlcz15ZXMKKwogCXBrZ19pbnN0YWxsKCkgewotCQl2bW92ZSAke19zeXNyb290 fQorCQl2bW92ZSB1c3IvJHtjcm9zc190cmlwbGV0fQogCX0KIH0KCkZyb20gNTU0NzQzMWM3ZWEy ZWIzNTllZDY3MDY0M2EyNjJmMzI1MWVjN2VkMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogcTY2IDxkYW5pZWxAb2N0YWZvcmdlLm9yZz4KRGF0ZTogU2F0LCAyNiBEZWMgMjAyMCAxOTox NToyNCArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMjYvMjZdIGNyb3NzLXg4Nl82NC1saW51eC1tdXNs OiByZXdvcmsgd2l0aCB2b2lkLWNyb3NzCgotLS0KIHNyY3BrZ3MvY3Jvc3MteDg2XzY0LWxpbnV4 LW11c2wvdGVtcGxhdGUgfCAzMTIgKystLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFu Z2VkLCAyMSBpbnNlcnRpb25zKCspLCAyOTEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3Jj cGtncy9jcm9zcy14ODZfNjQtbGludXgtbXVzbC90ZW1wbGF0ZSBiL3NyY3BrZ3MvY3Jvc3MteDg2 XzY0LWxpbnV4LW11c2wvdGVtcGxhdGUKaW5kZXggNjM3ZmJkMmU0MzkuLmJiNjIyOWRhZTA0IDEw MDY0NAotLS0gYS9zcmNwa2dzL2Nyb3NzLXg4Nl82NC1saW51eC1tdXNsL3RlbXBsYXRlCisrKyBi L3NyY3BrZ3MvY3Jvc3MteDg2XzY0LWxpbnV4LW11c2wvdGVtcGxhdGUKQEAgLTEsMTggKzEsMTgg QEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2Nyb3NzLXg4Nl82NC1saW51eC1tdXNsJwotIworX3Ry aXBsZXQ9eDg2XzY0LWxpbnV4LW11c2wKIF9iaW51dGlsc192ZXJzaW9uPTIuMzIKIF9nY2NfdmVy c2lvbj05LjMuMAogX211c2xfdmVyc2lvbj0xLjEuMjQKIF9saW51eF92ZXJzaW9uPTQuMTkKIF9s aWJ1Y29udGV4dF92ZXJzaW9uPTAuOS4wCi0KLV90cmlwbGV0PXg4Nl82NC1saW51eC1tdXNsCi1f c3lzcm9vdD0iL3Vzci8ke190cmlwbGV0fSIKLQogcGtnbmFtZT1jcm9zcy0ke190cmlwbGV0fQog dmVyc2lvbj0wLjMzCiByZXZpc2lvbj00Ci1zaG9ydF9kZXNjPSJDcm9zcyB0b29sY2hhaW4gZm9y IHg4Nl82NCB3aXRoIG11c2wiCitidWlsZF9zdHlsZT12b2lkLWNyb3NzCitob3N0bWFrZWRlcGVu ZHM9InRhciBnY2Mtb2JqYyBnY2MtZ28gZmxleCBwZXJsIHB5dGhvbjMiCittYWtlZGVwZW5kcz0i aXNsMTUtZGV2ZWwgbGlibXBjLWRldmVsIHpsaWItZGV2ZWwgZ21wLWRldmVsIG1wZnItZGV2ZWwi CitkZXBlbmRzPSIke3BrZ25hbWV9LWxpYmMtJHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIKK3Nob3J0 X2Rlc2M9IlZvaWQgY3Jvc3MgdG9vbGNoYWluIGZvciAke190cmlwbGV0fSIKIG1haW50YWluZXI9 Ik9ycGhhbmVkIDxvcnBoYW5Adm9pZGxpbnV4Lm9yZz4iCiBob21lcGFnZT0iaHR0cHM6Ly93d3cu dm9pZGxpbnV4Lm9yZy8iCiBsaWNlbnNlPSJHUEwtMi4wLW9yLWxhdGVyLCBHUEwtMy4wLW9yLWxh dGVyLCBNSVQiCkBAIC0yOCwzMDEgKzI4LDMxIEBAIGNoZWNrc3VtPSIwYWI2YzU1ZGQ4NmE5MmVk NTYxOTcyYmExNWI5YjcwYThiOWY3NTU1N2Y4OTY0NDZjODJlOGIzNmU0NzNlZTA0CiAgMGM2OGY1 NjU1NTI4YWVkNGY5OWRhZTcxYTViMjU5ZWRjOTMyMzlmYTg5OWUyZGY3OWMwNTUyNzVjMjE3NDlh MQogIDBkNTNhNDE1YTMwN2VmMTc1MTUzYmJlNjBhNTcyYzk0MGE5MjJjYjczNmNlMTM1MzBiNjY2 ZTdlYzI3OTVkNjgiCiAKLWxpYjMyZGlzYWJsZWQ9eWVzCi1ub2Nyb3NzPXllcwotbm9waWU9eWVz Ci1ub2RlYnVnPXllcwotY3JlYXRlX3dya3NyYz15ZXMKLWhvc3RtYWtlZGVwZW5kcz0idGFyIGdj Yy1vYmpjIGdjYy1nbyBmbGV4IHBlcmwgcHl0aG9uMyIKLW1ha2VkZXBlbmRzPSJ6bGliLWRldmVs IGdtcC1kZXZlbCBtcGZyLWRldmVsIGxpYm1wYy1kZXZlbCBpc2wxNS1kZXZlbCIKLW5vc3RyaXBf ZmlsZXM9ImxpYmNhZl9zaW5nbGUuYSBsaWJnY2MuYSBsaWJnY292LmEgbGliZ2NjX2VoLmEKLSBs aWJnbmFybF9waWMuYSBsaWJnbmFybC5hIGxpYmduYXRfcGljLmEgbGliZ25hdC5hIGxpYmdtZW0u YSIKLWRlcGVuZHM9IiR7cGtnbmFtZX0tbGliYy0ke3ZlcnNpb259XyR7cmV2aXNpb259IgotCi1p ZiBbICIkWEJQU19UQVJHRVRfV09SRFNJWkUiICE9ICI2NCIgXTsgdGhlbgotCWJyb2tlbj0iNjQt Yml0IGNyb3NzdG9vbGNoYWluIG9ubHkgYXZhaWxhYmxlIG9uIDY0LWJpdCBob3N0IgotZmkKK2Ny b3NzX3RyaXBsZXQ9JHtfdHJpcGxldH0KK2Nyb3NzX3dvcmRzaXplPTY0Citjcm9zc19saWJjPW11 c2wKK2Nyb3NzX2JpbnV0aWxzX3ZlcnNpb249JHtfYmludXRpbHNfdmVyc2lvbn0KK2Nyb3NzX2dj Y192ZXJzaW9uPSR7X2djY192ZXJzaW9ufQorY3Jvc3NfbXVzbF92ZXJzaW9uPSR7X211c2xfdmVy c2lvbn0KK2Nyb3NzX2xpbnV4X3ZlcnNpb249JHtfbGludXhfdmVyc2lvbn0KK2Nyb3NzX2xpYnVj b250ZXh0X3ZlcnNpb249JHtfbGlidWNvbnRleHRfdmVyc2lvbn0KK2Nyb3NzX2xpYnVjb250ZXh0 X2FyY2g9eDg2XzY0Citjcm9zc19saW51eF9hcmNoPXg4NgorIyBleHBsaWNpdGx5IGVuYWJsZSBm b3IgZmluYWwgZ2NjLCBnZm9ydHJhbiBkb2VzIG5vdCBidWlsZCB3aXRob3V0IG9uIHg4NgorY3Jv c3NfZ2NjX2NvbmZpZ3VyZV9hcmdzPSItLWVuYWJsZS1saWJxdWFkbWF0aCIKK2Nyb3NzX211c2xf Y2ZsYWdzPSItTzIiCiAKIGlmIFsgIiRYQlBTX1RBUkdFVF9NQUNISU5FIiA9ICJ4ODZfNjQtbXVz bCIgXTsgdGhlbgogCWJyb2tlbj0iQ2FuJ3QgYnVpbGQgY3Jvc3N0b29sY2hhaW4gdG8gaXRzZWxm IgogZmkKIAotX2FwcGx5X3BhdGNoKCkgewotCWxvY2FsIGFyZ3M9IiQxIiBwbmFtZT0iJChiYXNl bmFtZSAkMikiCi0KLQlpZiBbICEgLWYgIi4ke3BuYW1lfV9kb25lIiBdOyB0aGVuCi0JCXBhdGNo IC1OICRhcmdzIC1pICQyCi0JCXRvdWNoIC4ke3BuYW1lfV9kb25lCi0JZmkKLX0KLQotX2JpbnV0 aWxzX2J1aWxkKCkgewotCWxvY2FsIF9hcmdzCi0KLQlbIC1mICR7d3Jrc3JjfS8uYmludXRpbHNf YnVpbGRfZG9uZSBdICYmIHJldHVybiAwCi0KLQljZCAke3dya3NyY30KLQltc2dfbm9ybWFsICJC dWlsZGluZyBjcm9zcyBiaW51dGlscyBib290c3RyYXBcbiIKLQotCVsgISAtZCBiaW51dGlscy1i dWlsZCBdICYmIG1rZGlyIGJpbnV0aWxzLWJ1aWxkCi0JY2QgYmludXRpbHMtYnVpbGQKLQotCV9h cmdzPSItLXByZWZpeD0vdXNyIgotCV9hcmdzKz0iIC0tdGFyZ2V0PSR7X3RyaXBsZXR9IgotCV9h cmdzKz0iIC0td2l0aC1zeXNyb290PSR7X3N5c3Jvb3R9IgotCV9hcmdzKz0iIC0tZGlzYWJsZS1u bHMiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLW11bHRpbGliIgotCV9hcmdzKz0iIC0tZGlzYWJsZS13 ZXJyb3IiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLXNoYXJlZCIKLQlfYXJncys9IiAtLXdpdGgtc3lz dGVtLXpsaWIiCi0JX2FyZ3MrPSIgJHtfZnB1ZmxhZ3N9IgotCi0JLi4vYmludXRpbHMtJHtfYmlu dXRpbHNfdmVyc2lvbn0vY29uZmlndXJlICR7X2FyZ3N9Ci0KLQltYWtlIGNvbmZpZ3VyZS1ob3N0 Ci0JbWFrZSAke21ha2Vqb2JzfQotCW1ha2UgaW5zdGFsbAotCi0JdG91Y2ggJHt3cmtzcmN9Ly5i aW51dGlsc19idWlsZF9kb25lCi19Ci0KLV9nY2NfYm9vdHN0cmFwKCkgewotCWxvY2FsIF9hcmdz Ci0KLQlbIC1mICR7d3Jrc3JjfS8uZ2NjX2Jvb3RzdHJhcF9kb25lIF0gJiYgcmV0dXJuIDAKLQot CWNkICR7d3Jrc3JjfS9nY2MtJHtfZ2NjX3ZlcnNpb259Ci0JZm9yIGYgaW4gJHtYQlBTX1NSQ1BL R0RJUn0vZ2NjL3BhdGNoZXMvKi5wYXRjaDsgZG8KLQkJX2FwcGx5X3BhdGNoIC1wMCAiJGYiCi0J ZG9uZQotCWZvciBmIGluICR7WEJQU19TUkNQS0dESVJ9L2djYy9maWxlcy8qLW11c2wucGF0Y2g7 IGRvCi0JCV9hcHBseV9wYXRjaCAtcDEgIiRmIgotCWRvbmUKLQotCW1zZ19ub3JtYWwgIkJ1aWxk aW5nIGNyb3NzIGdjYyBib290c3RyYXBcbiIKLQotCVsgISAtZCAuLi9nY2MtYm9vdHN0cmFwIF0g JiYgbWtkaXIgLi4vZ2NjLWJvb3RzdHJhcAotCWNkIC4uL2djYy1ib290c3RyYXAKLQlleHBvcnQg YWNfY3ZfY19jb21waWxlcl9nbnU9eWVzCi0KLQlfYXJncz0iLS1wcmVmaXg9L3VzciIKLQlfYXJn cys9IiAtLXRhcmdldD0ke190cmlwbGV0fSIKLQlfYXJncys9IiAtLXdpdGgtc3lzcm9vdD0ke19z eXNyb290fSIKLQlfYXJncys9IiAtLWVuYWJsZS1sYW5ndWFnZXM9YyIKLQlfYXJncys9IiAtLXdp dGgtbmV3bGliIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJzc3AiCi0JX2FyZ3MrPSIgLS1kaXNh YmxlLW5scyIKLQlfYXJncys9IiAtLWRpc2FibGUtbGlicXVhZG1hdGgiCi0JX2FyZ3MrPSIgLS1k aXNhYmxlLXRocmVhZHMiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWRlY2ltYWwtZmxvYXQiCi0JX2Fy Z3MrPSIgLS1kaXNhYmxlLXNoYXJlZCIKLQlfYXJncys9IiAtLWRpc2FibGUtbGlibXVkZmxhcCIK LQlfYXJncys9IiAtLWRpc2FibGUtbGliZ29tcCIKLQlfYXJncys9IiAtLWRpc2FibGUtbGliYXRv bWljIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1zeW12ZXJzIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1s aWJtcHgiCi0JX2FyZ3MrPSIgbGliYXRfY3ZfaGF2ZV9pZnVuYz1ubyIKLQlfYXJncys9IiAke19m cHVmbGFnc30iCi0KLQkuLi9nY2MtJHtfZ2NjX3ZlcnNpb259L2NvbmZpZ3VyZSAke19hcmdzfQot CWZpbmQgLW5hbWUgTWFrZWZpbGUgLWV4ZWMgc2VkIC1pICJ7fSIgLWUgInM7XkNGTEFHUy4qOyYg LWZQSUMgLURfX1dDSEFSX1RZUEVfXz1pbnQ7IiBcOwotCi0JbWFrZSAke21ha2Vqb2JzfQotCW1h a2UgaW5zdGFsbAotCi0JdG91Y2ggJHt3cmtzcmN9Ly5nY2NfYm9vdHN0cmFwX2RvbmUKLX0KLQot X2xpbnV4X2hlYWRlcnMoKSB7Ci0JWyAtZiAke3dya3NyY30vLmxpbnV4X2J1aWxkX2RvbmUgXSAm JiByZXR1cm4gMAotCi0JY2QgJHt3cmtzcmN9Ci0JbXNnX25vcm1hbCAiQnVpbGRpbmcgTGludXgg QVBJIGhlYWRlcnNcbiIKLQotCWNkIGxpbnV4LSR7X2xpbnV4X3ZlcnNpb259Ci0KLQlmb3IgZiBp biAke1hCUFNfU1JDUEtHRElSfS9rZXJuZWwtbGliYy1oZWFkZXJzL3BhdGNoZXMvKi5wYXRjaDsg ZG8KLQkJX2FwcGx5X3BhdGNoIC1wMCAkZgotCWRvbmUKLQotCW1ha2UgQVJDSD14ODYgaGVhZGVy c19jaGVjawotCW1ha2UgQVJDSD14ODYgSU5TVEFMTF9IRFJfUEFUSD0ke19zeXNyb290fS91c3Ig aGVhZGVyc19pbnN0YWxsCi0KLQl0b3VjaCAke3dya3NyY30vLmxpbnV4X2J1aWxkX2RvbmUKLX0K LQotX211c2xfYnVpbGQoKSB7Ci0JWyAtZiAke3dya3NyY30vLm11c2xfYnVpbGRfZG9uZSBdICYm IHJldHVybiAwCi0KLQljZCAke3dya3NyY30vbXVzbC0ke19tdXNsX3ZlcnNpb259Ci0JbXNnX25v cm1hbCAiQnVpbGRpbmcgY3Jvc3MgbXVzbCBsaWJjXG4iCi0KLQkjIEFwcGx5IG11c2wgcGF0Y2hl cyBpZiB0aGVyZSBhcmUgYW55Ci0JaWYgWyAtZCAiJHtYQlBTX1NSQ1BLR0RJUn0vbXVzbC9wYXRj aGVzIiBdOyB0aGVuCi0JCWZvciBmIGluICR7WEJQU19TUkNQS0dESVJ9L211c2wvcGF0Y2hlcy8q LnBhdGNoOyBkbwotCQkJX2FwcGx5X3BhdGNoIC1wMCAiJGYiCi0JCWRvbmUKLQlmaQotCi0JQ0M9 IiR7X3RyaXBsZXR9LWdjYyIgQ0ZMQUdTPSItT3MgLXBpcGUgLWZQSUMgJHtfYXJjaGZsYWdzfSIg XAotCQkuL2NvbmZpZ3VyZSAtLXByZWZpeD0vdXNyCi0KLQltYWtlICR7bWFrZWpvYnN9Ci0JbWFr ZSBERVNURElSPSR7X3N5c3Jvb3R9IGluc3RhbGwKLQotCXRvdWNoICR7d3Jrc3JjfS8ubXVzbF9i dWlsZF9kb25lCi19Ci0KLV9saWJ1Y29udGV4dF9idWlsZCgpIHsKLQlbIC1mICR7d3Jrc3JjfS8u bGlidWNvbnRleHRfYnVpbGRfZG9uZSBdICYmIHJldHVybiAwCi0KLQljZCAke3dya3NyY30vbGli dWNvbnRleHQtJHtfbGlidWNvbnRleHRfdmVyc2lvbn0KLQltc2dfbm9ybWFsICJCdWlsZGluZyBj cm9zcyBsaWJ1Y29udGV4dFxuIgotCi0JIyBpdCdzIG9rIGlmIHdlJ3JlIHN0YXRpYyBvbmx5IGhl cmUKLQlDQz0iJHtfdHJpcGxldH0tZ2NjIiBBUj0iJHtfdHJpcGxldH0tYXIiIEFTPSIke190cmlw bGV0fS1hcyIgXAotCQlDRkxBR1M9Ii1PcyAtcGlwZSAke19hcmNoZmxhZ3N9IiBcCi0JCW1ha2Ug QVJDSD14ODZfNjQgbGlidWNvbnRleHQuYQotCi0JY3AgbGlidWNvbnRleHQuYSAke19zeXNyb290 fS91c3IvbGliCi0KLQl0b3VjaCAke3dya3NyY30vLmxpYnVjb250ZXh0X2J1aWxkX2RvbmUKLX0K LQotX2djY19idWlsZCgpIHsKLQlsb2NhbCBfYXJncwotCVsgLWYgJHt3cmtzcmN9Ly5nY2NfYnVp bGRfZG9uZSBdICYmIHJldHVybiAwCi0KLQljZCAke3dya3NyY30KLQltc2dfbm9ybWFsICJCdWls ZGluZyBjcm9zcyBnY2MgZmluYWxcbiIKLQotCVsgISAtZCBnY2MtYnVpbGQgXSAmJiBta2RpciBn Y2MtYnVpbGQKLQljZCBnY2MtYnVpbGQKLQotCV9hcmdzPSItLXByZWZpeD0vdXNyIgotCV9hcmdz Kz0iIC0tbGliZXhlY2Rpcj0vdXNyL2xpYiIKLQlfYXJncys9IiAtLXRhcmdldD0ke190cmlwbGV0 fSIKLQlfYXJncys9IiAtLXdpdGgtc3lzcm9vdD0ke19zeXNyb290fSIKLQlfYXJncys9IiAtLWVu YWJsZS1sYW5ndWFnZXM9YyxhZGEsYysrLG9iamMsb2JqLWMrKyxnbyxmb3J0cmFuLGx0byIKLQlf YXJncys9IiAtLWVuYWJsZS1saWJhZGEiCi0JX2FyZ3MrPSIgLS1lbmFibGUtbHRvIgotCV9hcmdz Kz0iIC0tZW5hYmxlLWRlZmF1bHQtcGllIgotCV9hcmdzKz0iIC0tZW5hYmxlLWRlZmF1bHQtc3Nw IgotCV9hcmdzKz0iIC0tZW5hYmxlLWxpYnNzcCIKLQlfYXJncys9IiAtLWVuYWJsZS1saWJxdWFk bWF0aCIKLQlfYXJncys9IiAtLWRpc2FibGUtbGlic2FuaXRpemVyIgotCV9hcmdzKz0iIC0tZGlz YWJsZS1tdWx0aWxpYiIKLQlfYXJncys9IiAtLWRpc2FibGUtbGlibXB4IgotCV9hcmdzKz0iIC0t ZGlzYWJsZS1saWJtdWRmbGFwIgotCV9hcmdzKz0iIC0tZW5hYmxlLXNoYXJlZCIKLQlfYXJncys9 IiAtLWRpc2FibGUtc3ltdmVycyIKLQlfYXJncys9IiBsaWJhdF9jdl9oYXZlX2lmdW5jPW5vIgot CV9hcmdzKz0iICR7X2ZwdWZsYWdzfSIKLQotCS4uL2djYy0ke19nY2NfdmVyc2lvbn0vY29uZmln dXJlICR7X2FyZ3N9Ci0JZmluZCAtbmFtZSBNYWtlZmlsZSAtZXhlYyBzZWQgLWkgInt9IiAtZSAi czteQ0ZMQUdTLio7JiAtZlBJQyAtRF9fV0NIQVJfVFlQRV9fPWludDsiIFw7Ci0KLQltYWtlICR7 bWFrZWpvYnN9Ci0KLQl0b3VjaCAke3dya3NyY30vLmdjY19idWlsZF9kb25lCi19Ci0KLWRvX2J1 aWxkKCkgewotCSMgRW5zdXJlIHdlIHVzZSBzYW5lIGVudmlyb25tZW50Ci0JdW5zZXQgQ0MgQ1hY IENQUCBMRCBBUyBBUiBSQU5MSUIgT0JKRFVNUCBSRUFERUxGIE5NCi0JdW5zZXQgQ0ZMQUdTIENY WEZMQUdTIENQUEZMQUdTIExERkxBR1MKLQlleHBvcnQgQ0ZMQUdTPSItT3MgLXBpcGUgLWZQSUMi IENYWEZMQUdTPSItT3MgLXBpcGUgLWZQSUMiCi0KLQlmb3IgZiBpbiBpbmNsdWRlIGxpYiBsaWJl eGVjIGJpbiBzYmluOyBkbwotCQlpZiBbICEgLWQgJHtfc3lzcm9vdH0vdXNyLyR7Zn0gXTsgdGhl bgotCQkJbWtkaXIgLXAgJHtfc3lzcm9vdH0vdXNyLyR7Zn0KLQkJZmkKLQkJaWYgWyAhIC1oICR7 X3N5c3Jvb3R9LyR7Zn0gXTsgdGhlbgotCQkJbG4gLXNmciAke19zeXNyb290fS91c3IvJHtmfSAk e19zeXNyb290fS8ke2Z9Ci0JCWZpCi0JZG9uZQotCWxuIC1zZiBsaWIgJHtfc3lzcm9vdH0vdXNy L2xpYjY0Ci0JbG4gLXNmIHVzci9saWIgJHtfc3lzcm9vdH0vbGliNjQKLQotCV9iaW51dGlsc19i dWlsZAotCV9nY2NfYm9vdHN0cmFwCi0JX2xpbnV4X2hlYWRlcnMKLQlfbXVzbF9idWlsZAotCV9s aWJ1Y29udGV4dF9idWlsZAotCV9nY2NfYnVpbGQKLX0KLQotZG9faW5zdGFsbCgpIHsKLQlmb3Ig ZiBpbiBpbmNsdWRlIGxpYiBsaWJleGVjIGJpbiBzYmluOyBkbwotCQlpZiBbICEgLWQgJHtERVNU RElSfS8ke19zeXNyb290fS91c3IvJHtmfSBdOyB0aGVuCi0JCQlta2RpciAtcCAke0RFU1RESVJ9 LyR7X3N5c3Jvb3R9L3Vzci8ke2Z9Ci0JCWZpCi0JCWlmIFsgISAtaCAke0RFU1RESVJ9LyR7X3N5 c3Jvb3R9LyR7Zn0gXTsgdGhlbgotCQkJbG4gLXNmciAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vz ci8ke2Z9IFwKLQkJCQkke0RFU1RESVJ9LyR7X3N5c3Jvb3R9LyR7Zn0KLQkJZmkKLQlkb25lCi0J bG4gLXNmIGxpYiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci9saWI2NAotCWxuIC1zZiB1c3Iv bGliICR7REVTVERJUn0vJHtfc3lzcm9vdH0vbGliNjQKLQotCSMgaW5zdGFsbCBsaW51eCBBUEkg aGVhZGVycyBmb3IgeDg2Ci0JY2QgJHt3cmtzcmN9L2xpbnV4LSR7X2xpbnV4X3ZlcnNpb259Ci0J bWFrZSBBUkNIPXg4NiBJTlNUQUxMX0hEUl9QQVRIPSR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNy IGhlYWRlcnNfaW5zdGFsbAotCXJtIC1mICQoZmluZCAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vz ci9pbmNsdWRlIC1uYW1lIC5pbnN0YWxsIC1vciAtbmFtZSAuLmluc3RhbGwuY21kKQotCXJtIC1y ZiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci9pbmNsdWRlL2RybQotCi0JIyBpbnN0YWxsIGNy b3NzIGJpbnV0aWxzCi0JY2QgJHt3cmtzcmN9L2JpbnV0aWxzLWJ1aWxkCi0JbWFrZSBERVNURElS PSR7REVTVERJUn0gaW5zdGFsbAotCi0JIyBpbnN0YWxsIGNyb3NzIGdjYwotCWNkICR7d3Jrc3Jj fS9nY2MtYnVpbGQKLQltYWtlIERFU1RESVI9JHtERVNURElSfSBpbnN0YWxsCi0KLQkjIG1vdmUg bGliY2MxLnNvKiB0byB0aGUgc3lzcm9vdAotCW12ICR7REVTVERJUn0vdXNyL2xpYi9saWJjYzEu c28qICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL2xpYgotCi0JIyBpbnN0YWxsIG11c2wgbGli YyBmb3IgdGFyZ2V0Ci0JY2QgJHt3cmtzcmN9L211c2wtJHtfbXVzbF92ZXJzaW9ufQotCW1ha2Ug REVTVERJUj0ke0RFU1RESVJ9LyR7X3N5c3Jvb3R9IGluc3RhbGwKLQotCSMgUmVtb3ZlIHVzZWxl c3MgaGVhZGVycy4KLQlybSAtcmYgJHtERVNURElSfS91c3IvbGliL2djYy8ke190cmlwbGV0fS8q L2luY2x1ZGUtZml4ZWQvCi0KLQkjIE1ha2UgbGQtbXVzbC14ODZfNjQuc28uMSBzeW1saW5rIHJl bGF0aXZlIHRvIGN3ZC4KLQljZCAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci9saWIKLQlsbiAt c2YgbGliYy5zbyBsZC1tdXNsLXg4Nl82NC5zby4xCi0KLQkjIHN5bWxpbmtzIGZvciBnbmFybCBh bmQgZ25hdCBzaGFyZWQgbGlicmFyaWVzCi0JX21ham9ydmVyPSR7X2djY192ZXJzaW9uJS4qLip9 Ci0JX2FkYWxpYj11c3IvbGliL2djYy8ke190cmlwbGV0fS8ke19nY2NfdmVyc2lvbn0vYWRhbGli Ci0JbXYgLXYgJHtERVNURElSfS8ke19hZGFsaWJ9L2xpYmduYXJsLSR7X21ham9ydmVyfS5zbyAk e0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci9saWIKLQltdiAtdiAke0RFU1RESVJ9LyR7X2FkYWxp Yn0vbGliZ25hdC0ke19tYWpvcnZlcn0uc28gJHtERVNURElSfS8ke19zeXNyb290fS91c3IvbGli Ci0JbG4gLXN2ZiBsaWJnbmFybC0ke19tYWpvcnZlcn0uc28gbGliZ25hcmwuc28KLQlsbiAtc3Zm IGxpYmduYXQtJHtfbWFqb3J2ZXJ9LnNvIGxpYmduYXQuc28KLQlybSAtdmYgJHtERVNURElSfS8k e19hZGFsaWJ9L2xpYmduYXtybCx0fS5zbwotCi0JIyBXZSBuZWVkIHRvIGJ1aWxkIGxpYmF0b21p YyBpbiB0YXJnZXQgZ2NjIGFzIGdjY2dvIG5lZWRzIGl0IHRvCi0JIyBidWlsZC4uLiBidXQgaXQn cyBub3QgbmVlZGVkIGF0IHJ1bnRpbWUsIHNvIHJlbW92ZSBpdCBmcm9tIHRoZQotCSMgZGVzdGRp ciBzbyBpdCBkb2Vzbid0IGNvbmZsaWN0IHdpdGggdGhlIGxpYmF0b21pYyBwYWNrYWdlCi0Jcm0g LWYgJHtERVNURElSfS8ke19zeXNyb290fS91c3IvbGliL2xpYmF0b21pYy4qCi0KLQkjIFJlbW92 ZSB1bm5lY2Vzc2FyeSBzdHVmZgotCXJtIC1mICR7REVTVERJUn0vdXNyL2xpYiovbGliaWJlcnR5 LmEKLQlybSAtcmYgJHtERVNURElSfS91c3Ivc2hhcmUKLQlybSAtcmYgJHtERVNURElSfS8ke19z eXNyb290fS97ZXRjLHZhcn0KLQlybSAtcmYgJHtERVNURElSfS8ke19zeXNyb290fS91c3Ive3Ni aW4sc2hhcmUsbGliZXhlY30KLQlybSAtZiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L2xpYmV4ZWMK LQlybSAtZiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L2xpYi8qLnB5Ci0Jcm0gLWYgJHtERVNURElS fS8ke19zeXNyb290fS97c2JpbixsaWJ9Ci19Ci0KIGNyb3NzLXg4Nl82NC1saW51eC1tdXNsLWxp YmNfcGFja2FnZSgpIHsKIAlzaG9ydF9kZXNjKz0iIC0gbGliYyBmaWxlcyIKIAlub3N0cmlwPXll cwogCW5vdmVyaWZ5cmRlcHM9eWVzCiAJbm9zaGxpYnByb3ZpZGVzPXllcworCiAJcGtnX2luc3Rh bGwoKSB7Ci0JCXZtb3ZlICR7X3N5c3Jvb3R9CisJCXZtb3ZlIHVzci8ke2Nyb3NzX3RyaXBsZXR9 CiAJfQogfQo= --===============7353302755009442027==--