From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 23843 invoked from network); 9 Nov 2021 10:00:51 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 9 Nov 2021 10:00:51 -0000 Content-Type: multipart/mixed; boundary="===============2980029884651533945==" MIME-Version: 1.0 Subject: =?utf8?q?=5BPR_PATCH=5D_mozjs78=3A_patch_to_fix_building_with_Python_3=2E10?= To: ml@inbox.vuxu.org From: newbluemoon Reply-to: ml@inbox.vuxu.org Message-ID: Date: Tue, 09 Nov 2021 11:00:51 +0100 List-Id: GitHub notification mails are now in MIME to allow UTF8. --===============2980029884651533945== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYSBuZXcgcHVsbCByZXF1ZXN0IGJ5IG5ld2JsdWVtb29uIGFnYWluc3QgbWFzdGVy IG9uIHRoZSB2b2lkLXBhY2thZ2VzIHJlcG9zaXRvcnkKCmh0dHBzOi8vZ2l0aHViLmNvbS9uZXdi bHVlbW9vbi92b2lkLXBhY2thZ2VzIG1vempzNzgKaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGlu dXgvdm9pZC1wYWNrYWdlcy9wdWxsLzMzOTc2Cgptb3pqczc4OiBwYXRjaCB0byBmaXggYnVpbGRp bmcgd2l0aCBQeXRob24gMy4xMAptb3pqczc4IGFsc28gbmVlZHMgQGFoZXNmb3Jk4oCZcyBmaXJl Zm94LWVzciBwYXRjaA0KDQo8IS0tIE1hcmsgaXRlbXMgd2l0aCBbeF0gd2hlcmUgYXBwbGljYWJs ZSAtLT4NCg0KIyMjIyBHZW5lcmFsDQotIFsgXSBUaGlzIGlzIGEgbmV3IHBhY2thZ2UgYW5kIGl0 IGNvbmZvcm1zIHRvIHRoZSBbcXVhbGl0eSByZXF1aXJlbWVudHNdKGh0dHBzOi8vZ2l0aHViLmNv bS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvYmxvYi9tYXN0ZXIvTWFudWFsLm1kI3F1YWxpdHkt cmVxdWlyZW1lbnRzKQ0KDQojIyMjIEhhdmUgdGhlIHJlc3VsdHMgb2YgdGhlIHByb3Bvc2VkIGNo YW5nZXMgYmVlbiB0ZXN0ZWQ/DQotIFsgXSBJIHVzZSB0aGUgcGFja2FnZXMgYWZmZWN0ZWQgYnkg dGhlIHByb3Bvc2VkIGNoYW5nZXMgb24gYSByZWd1bGFyIGJhc2lzIGFuZCBjb25maXJtIHRoaXMg UFIgd29ya3MgZm9yIG1lDQotIFsgXSBJIGdlbmVyYWxseSBkb24ndCB1c2UgdGhlIGFmZmVjdGVk IHBhY2thZ2VzIGJ1dCBicmllZmx5IHRlc3RlZCB0aGlzIFBSDQoNCjwhLS0NCklmIEdpdEh1YiBD SSBjYW5ub3QgYmUgdXNlZCB0byB2YWxpZGF0ZSB0aGUgYnVpbGQgcmVzdWx0IChmb3IgZXhhbXBs ZSwgaWYgdGhlDQpidWlsZCBpcyBsaWtlbHkgdG8gdGFrZSBzZXZlcmFsIGhvdXJzKSwgbWFrZSBz dXJlIHRvDQpbc2tpcCBDSV0oaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNr YWdlcy9ibG9iL21hc3Rlci9DT05UUklCVVRJTkcubWQjY29udGludW91cy1pbnRlZ3JhdGlvbiku DQpXaGVuIHNraXBwaW5nIENJLCB1bmNvbW1lbnQgYW5kIGZpbGwgb3V0IHRoZSBmb2xsb3dpbmcg c2VjdGlvbi4NCk5vdGU6IGZvciBidWlsZHMgdGhhdCBhcmUgbGlrZWx5IHRvIGNvbXBsZXRlIGlu IGxlc3MgdGhhbiAyIGhvdXJzLCBpdCBpcyBub3QNCmFjY2VwdGFibGUgdG8gc2tpcCBDSS4NCi0t Pg0KPCEtLSANCiMjIyMgRG9lcyBpdCBidWlsZCBhbmQgcnVuIHN1Y2Nlc3NmdWxseT8gDQooUGxl YXNlIGNob29zZSBhdCBsZWFzdCBvbmUgbmF0aXZlIGJ1aWxkIGFuZCwgaWYgc3VwcG9ydGVkLCBh dCBsZWFzdCBvbmUgY3Jvc3MgYnVpbGQuIE1vcmUgYXJlIGJldHRlci4pDQotIFsgXSBJIGJ1aWx0 IHRoaXMgUFIgbG9jYWxseSBmb3IgbXkgbmF0aXZlIGFyY2hpdGVjdHVyZSwgKEFSQ0gtTElCQykN Ci0gWyBdIEkgYnVpbHQgdGhpcyBQUiBsb2NhbGx5IGZvciB0aGVzZSBhcmNoaXRlY3R1cmVzIChp ZiBzdXBwb3J0ZWQuIG1hcmsgY3Jvc3NidWlsZHMpOg0KICAtIFsgXSBhYXJjaDY0LW11c2wNCiAg LSBbIF0gYXJtdjdsDQogIC0gWyBdIGFybXY2bC1tdXNsDQotLT4NCgoKQSBwYXRjaCBmaWxlIGZy b20gaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzMzOTc2 LnBhdGNoIGlzIGF0dGFjaGVk --===============2980029884651533945== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-mozjs78-33976.patch" RnJvbSBmZjZmNzk1NGE1YTA2OTM2MGVhMGQ5ZmQ0NTI4MWZmODJiZTBkNDA4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBuZXdibHVlbW9vbiA8YmxhdW1vbGNoQG1haWxib3gub3JnPgpE YXRlOiBUdWUsIDkgTm92IDIwMjEgMTA6NTQ6NTcgKzAxMDAKU3ViamVjdDogW1BBVENIXSBtb3pq czc4OiBwYXRjaCB0byBmaXggYnVpbGRpbmcgd2l0aCBQeXRob24gMy4xMApNSU1FLVZlcnNpb246 IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1UcmFu c2Zlci1FbmNvZGluZzogOGJpdAoKbW96anM3OCBhbHNvIG5lZWRzIGFoZXNmb3Jk4oCZcyBmaXJl Zm94LWVzciBwYXRjaAotLS0KIHNyY3BrZ3MvbW96anM3OC9wYXRjaGVzL2ZpeC1weXRob24zLjEw LnBhdGNoIHwgODI2ICsrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA4MjYgaW5z ZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbW96anM3OC9wYXRjaGVzL2Zp eC1weXRob24zLjEwLnBhdGNoCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9tb3pqczc4L3BhdGNoZXMv Zml4LXB5dGhvbjMuMTAucGF0Y2ggYi9zcmNwa2dzL21vempzNzgvcGF0Y2hlcy9maXgtcHl0aG9u My4xMC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjE0M2U1 ODc4MjU4MQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvbW96anM3OC9wYXRjaGVzL2ZpeC1w eXRob24zLjEwLnBhdGNoCkBAIC0wLDAgKzEsODI2IEBACitkaWZmIC11ciBhL3B5dGhvbi9tYWNo L21hY2gvY29uZmlnLnB5IGIvcHl0aG9uL21hY2gvbWFjaC9jb25maWcucHkKKy0tLSBhL3B5dGhv bi9tYWNoL21hY2gvY29uZmlnLnB5CTIwMjEtMDktMDEgMTM6MjY6MTguMDAwMDAwMDAwIC0wNDAw CisrKysgYi9weXRob24vbWFjaC9tYWNoL2NvbmZpZy5weQkyMDIxLTExLTA1IDE1OjI5OjEyLjAw MDAwMDAwMCAtMDQwMAorQEAgLTE0NCw3ICsxNDQsNyBAQAorICAgICByZXR1cm4gXworIAorIAor LWNsYXNzIENvbmZpZ1NldHRpbmdzKGNvbGxlY3Rpb25zLk1hcHBpbmcpOgorK2NsYXNzIENvbmZp Z1NldHRpbmdzKGNvbGxlY3Rpb25zLmFiYy5NYXBwaW5nKToKKyAgICAgIiIiSW50ZXJmYWNlIGZv ciBjb25maWd1cmF0aW9uIHNldHRpbmdzLgorIAorICAgICBUaGlzIGlzIHRoZSBtYWluIGludGVy ZmFjZSB0byB0aGUgY29uZmlndXJhdGlvbi4KK0BAIC0xOTAsNyArMTkwLDcgQEAKKyAgICAgd2ls bCByZXN1bHQgaW4gZXhjZXB0aW9ucyBiZWluZyByYWlzZWQuCisgICAgICIiIgorIAorLSAgICBj bGFzcyBDb25maWdTZWN0aW9uKGNvbGxlY3Rpb25zLk11dGFibGVNYXBwaW5nLCBvYmplY3QpOgor KyAgICBjbGFzcyBDb25maWdTZWN0aW9uKGNvbGxlY3Rpb25zLmFiYy5NdXRhYmxlTWFwcGluZywg b2JqZWN0KToKKyAgICAgICAgICIiIlJlcHJlc2VudHMgYW4gaW5kaXZpZHVhbCBjb25maWcgc2Vj dGlvbi4iIiIKKyAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBjb25maWcsIG5hbWUsIHNldHRp bmdzKToKKyAgICAgICAgICAgICBvYmplY3QuX19zZXRhdHRyX18oc2VsZiwgJ19jb25maWcnLCBj b25maWcpCitkaWZmIC11ciBhL3B5dGhvbi9tYWNoL21hY2gvZGVjb3JhdG9ycy5weSBiL3B5dGhv bi9tYWNoL21hY2gvZGVjb3JhdG9ycy5weQorLS0tIGEvcHl0aG9uL21hY2gvbWFjaC9kZWNvcmF0 b3JzLnB5CTIwMjEtMDktMDEgMTM6MjY6MTguMDAwMDAwMDAwIC0wNDAwCisrKysgYi9weXRob24v bWFjaC9tYWNoL2RlY29yYXRvcnMucHkJMjAyMS0xMS0wNSAxNToyOToxMi4wMDAwMDAwMDAgLTA0 MDAKK0BAIC0xNDAsNyArMTQwLDcgQEAKKyAgICAgICAgICAgICAgICdDb25kaXRpb25zIGFyZ3Vt ZW50IG11c3QgdGFrZSBhIGxpc3QgJyArIFwKKyAgICAgICAgICAgICAgICdvZiBmdW5jdGlvbnMu IEZvdW5kICVzIGluc3RlYWQuJworIAorLSAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UoY29tbWFu ZC5jb25kaXRpb25zLCBjb2xsZWN0aW9ucy5JdGVyYWJsZSk6CisrICAgICAgICBpZiBub3QgaXNp bnN0YW5jZShjb21tYW5kLmNvbmRpdGlvbnMsIGNvbGxlY3Rpb25zLmFiYy5JdGVyYWJsZSk6Cisg ICAgICAgICAgICAgbXNnID0gbXNnICUgKGNvbW1hbmQubmFtZSwgdHlwZShjb21tYW5kLmNvbmRp dGlvbnMpKQorICAgICAgICAgICAgIHJhaXNlIE1hY2hFcnJvcihtc2cpCisgCitkaWZmIC11ciBh L3B5dGhvbi9tYWNoL21hY2gvbWFpbi5weSBiL3B5dGhvbi9tYWNoL21hY2gvbWFpbi5weQorLS0t IGEvcHl0aG9uL21hY2gvbWFjaC9tYWluLnB5CTIwMjEtMDktMDEgMTM6MjY6MjMuMDAwMDAwMDAw IC0wNDAwCisrKysgYi9weXRob24vbWFjaC9tYWNoL21haW4ucHkJMjAyMS0xMS0wNSAxNToyOTox Mi4wMDAwMDAwMDAgLTA0MDAKK0BAIC0xNiw3ICsxNiw3IEBACisgaW1wb3J0IHN5cworIGltcG9y dCB0cmFjZWJhY2sKKyBpbXBvcnQgdXVpZAorLWZyb20gY29sbGVjdGlvbnMgaW1wb3J0IEl0ZXJh YmxlCisrZnJvbSBjb2xsZWN0aW9ucy5hYmMgaW1wb3J0IEl0ZXJhYmxlCisgCisgZnJvbSBzaXgg aW1wb3J0IHN0cmluZ190eXBlcworIAorZGlmZiAtdXIgYS9weXRob24vbW96YnVpbGQvbW96YnVp bGQvYmFja2VuZC9jb25maWdlbnZpcm9ubWVudC5weSBiL3B5dGhvbi9tb3pidWlsZC9tb3pidWls ZC9iYWNrZW5kL2NvbmZpZ2Vudmlyb25tZW50LnB5CistLS0gYS9weXRob24vbW96YnVpbGQvbW96 YnVpbGQvYmFja2VuZC9jb25maWdlbnZpcm9ubWVudC5weQkyMDIxLTA5LTAxIDEzOjI2OjM0LjAw MDAwMDAwMCAtMDQwMAorKysrIGIvcHl0aG9uL21vemJ1aWxkL21vemJ1aWxkL2JhY2tlbmQvY29u ZmlnZW52aXJvbm1lbnQucHkJMjAyMS0xMS0wNSAxNToyOToxMi4wMDAwMDAwMDAgLTA0MDAKK0BA IC05LDcgKzksOCBAQAorIGltcG9ydCBzeXMKKyBpbXBvcnQganNvbgorIAorLWZyb20gY29sbGVj dGlvbnMgaW1wb3J0IEl0ZXJhYmxlLCBPcmRlcmVkRGljdAorK2Zyb20gY29sbGVjdGlvbnMgaW1w b3J0IE9yZGVyZWREaWN0CisrZnJvbSBjb2xsZWN0aW9ucy5hYmMgaW1wb3J0IEl0ZXJhYmxlCisg ZnJvbSB0eXBlcyBpbXBvcnQgTW9kdWxlVHlwZQorIAorIGltcG9ydCBtb3pwYWNrLnBhdGggYXMg bW96cGF0aAorZGlmZiAtdXIgYS9weXRob24vbW96YnVpbGQvbW96YnVpbGQvbWFrZXV0aWwucHkg Yi9weXRob24vbW96YnVpbGQvbW96YnVpbGQvbWFrZXV0aWwucHkKKy0tLSBhL3B5dGhvbi9tb3pi dWlsZC9tb3pidWlsZC9tYWtldXRpbC5weQkyMDIxLTA5LTAxIDEzOjI2OjE4LjAwMDAwMDAwMCAt MDQwMAorKysrIGIvcHl0aG9uL21vemJ1aWxkL21vemJ1aWxkL21ha2V1dGlsLnB5CTIwMjEtMTEt MDUgMTU6Mjk6MTIuMDAwMDAwMDAwIC0wNDAwCitAQCAtNyw3ICs3LDcgQEAKKyBpbXBvcnQgb3MK KyBpbXBvcnQgcmUKKyBpbXBvcnQgc2l4CistZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgSXRlcmFi bGUKKytmcm9tIGNvbGxlY3Rpb25zLmFiYyBpbXBvcnQgSXRlcmFibGUKKyAKKyAKKyBjbGFzcyBN YWtlZmlsZShvYmplY3QpOgorZGlmZiAtdXIgYS9weXRob24vbW96YnVpbGQvbW96YnVpbGQvdXRp bC5weSBiL3B5dGhvbi9tb3pidWlsZC9tb3pidWlsZC91dGlsLnB5CistLS0gYS9weXRob24vbW96 YnVpbGQvbW96YnVpbGQvdXRpbC5weQkyMDIxLTA5LTAxIDEzOjI2OjE4LjAwMDAwMDAwMCAtMDQw MAorKysrIGIvcHl0aG9uL21vemJ1aWxkL21vemJ1aWxkL3V0aWwucHkJMjAyMS0xMS0wNSAxNToy OToxMi4wMDAwMDAwMDAgLTA0MDAKK0BAIC03ODIsNyArNzgyLDcgQEAKKyAgICAgICAgIHNlbGYu X3N0cmluZ3MgPSBTdHJpY3RPcmRlcmluZ09uQXBwZW5kTGlzdCgpCisgICAgICAgICBzZWxmLl9j aGlsZHJlbiA9IHt9CisgCistICAgIGNsYXNzIFN0cmluZ0xpc3RBZGFwdG9yKGNvbGxlY3Rpb25z LlNlcXVlbmNlKToKKysgICAgY2xhc3MgU3RyaW5nTGlzdEFkYXB0b3IoY29sbGVjdGlvbnMuYWJj LlNlcXVlbmNlKToKKyAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBoc2wpOgorICAgICAgICAg ICAgIHNlbGYuX2hzbCA9IGhzbAorIAorZGlmZiAtdXIgYS90ZXN0aW5nL21hcmlvbmV0dGUvY2xp ZW50L21hcmlvbmV0dGVfZHJpdmVyL3dhaXQucHkgYi90ZXN0aW5nL21hcmlvbmV0dGUvY2xpZW50 L21hcmlvbmV0dGVfZHJpdmVyL3dhaXQucHkKKy0tLSBhL3Rlc3RpbmcvbWFyaW9uZXR0ZS9jbGll bnQvbWFyaW9uZXR0ZV9kcml2ZXIvd2FpdC5weQkyMDIxLTA5LTAxIDEzOjI2OjMwLjAwMDAwMDAw MCAtMDQwMAorKysrIGIvdGVzdGluZy9tYXJpb25ldHRlL2NsaWVudC9tYXJpb25ldHRlX2RyaXZl ci93YWl0LnB5CTIwMjEtMTEtMDUgMTU6Mjk6MTIuMDAwMDAwMDAwIC0wNDAwCitAQCAtODIsNyAr ODIsNyBAQAorIAorICAgICAgICAgZXhjZXB0aW9ucyA9IFtdCisgICAgICAgICBpZiBpZ25vcmVk X2V4Y2VwdGlvbnMgaXMgbm90IE5vbmU6CistICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShpZ25v cmVkX2V4Y2VwdGlvbnMsIGNvbGxlY3Rpb25zLkl0ZXJhYmxlKToKKysgICAgICAgICAgICBpZiBp c2luc3RhbmNlKGlnbm9yZWRfZXhjZXB0aW9ucywgY29sbGVjdGlvbnMuYWJjLkl0ZXJhYmxlKToK KyAgICAgICAgICAgICAgICAgZXhjZXB0aW9ucy5leHRlbmQoaXRlcihpZ25vcmVkX2V4Y2VwdGlv bnMpKQorICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgIGV4Y2VwdGlvbnMuYXBw ZW5kKGlnbm9yZWRfZXhjZXB0aW9ucykKK2RpZmYgLXVyIGEvdGVzdGluZy9tb3piYXNlL21hbmlm ZXN0cGFyc2VyL21hbmlmZXN0cGFyc2VyL2ZpbHRlcnMucHkgYi90ZXN0aW5nL21vemJhc2UvbWFu aWZlc3RwYXJzZXIvbWFuaWZlc3RwYXJzZXIvZmlsdGVycy5weQorLS0tIGEvdGVzdGluZy9tb3pi YXNlL21hbmlmZXN0cGFyc2VyL21hbmlmZXN0cGFyc2VyL2ZpbHRlcnMucHkJMjAyMS0wOS0wMSAx MzoyNjoyMy4wMDAwMDAwMDAgLTA0MDAKKysrKyBiL3Rlc3RpbmcvbW96YmFzZS9tYW5pZmVzdHBh cnNlci9tYW5pZmVzdHBhcnNlci9maWx0ZXJzLnB5CTIwMjEtMTEtMDUgMTU6Mjk6MTIuMDAwMDAw MDAwIC0wNDAwCitAQCAtMTIsNyArMTIsOCBAQAorIAorIGltcG9ydCBpdGVydG9vbHMKKyBpbXBv cnQgb3MKKy1mcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBkZWZhdWx0ZGljdCwgTXV0YWJsZVNlcXVl bmNlCisrZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgZGVmYXVsdGRpY3QKKytmcm9tIGNvbGxlY3Rp b25zLmFiYyBpbXBvcnQgTXV0YWJsZVNlcXVlbmNlCisgCisgaW1wb3J0IHNpeAorIGZyb20gc2l4 IGltcG9ydCBzdHJpbmdfdHlwZXMKK2RpZmYgLXVyIGEvdGVzdGluZy9tb3piYXNlL3ZlcnNpb25p bmZvLnB5IGIvdGVzdGluZy9tb3piYXNlL3ZlcnNpb25pbmZvLnB5CistLS0gYS90ZXN0aW5nL21v emJhc2UvdmVyc2lvbmluZm8ucHkJMjAyMS0wOS0wMSAxMzoyNjoyMy4wMDAwMDAwMDAgLTA0MDAK KysrKyBiL3Rlc3RpbmcvbW96YmFzZS92ZXJzaW9uaW5mby5weQkyMDIxLTExLTA1IDE1OjI5OjEy LjAwMDAwMDAwMCAtMDQwMAorQEAgLTExLDcgKzExLDcgQEAKKyAKKyBmcm9tIF9fZnV0dXJlX18g aW1wb3J0IGFic29sdXRlX2ltcG9ydCwgcHJpbnRfZnVuY3Rpb24KKyAKKy1mcm9tIGNvbGxlY3Rp b25zIGltcG9ydCBJdGVyYWJsZQorK2Zyb20gY29sbGVjdGlvbnMuYWJjIGltcG9ydCBJdGVyYWJs ZQorIGZyb20gZGlzdHV0aWxzLnZlcnNpb24gaW1wb3J0IFN0cmljdFZlcnNpb24KKyBpbXBvcnQg YXJncGFyc2UKKyBpbXBvcnQgb3MKK2RpZmYgLXVyIGEvdGVzdGluZy93ZWItcGxhdGZvcm0vdGVz dHMvdG9vbHMvbWFuaWZlc3QvdHlwZWRhdGEucHkgYi90ZXN0aW5nL3dlYi1wbGF0Zm9ybS90ZXN0 cy90b29scy9tYW5pZmVzdC90eXBlZGF0YS5weQorLS0tIGEvdGVzdGluZy93ZWItcGxhdGZvcm0v dGVzdHMvdG9vbHMvbWFuaWZlc3QvdHlwZWRhdGEucHkJMjAyMS0wOS0wMSAxMzoyNjo0MC4wMDAw MDAwMDAgLTA0MDAKKysrKyBiL3Rlc3Rpbmcvd2ViLXBsYXRmb3JtL3Rlc3RzL3Rvb2xzL21hbmlm ZXN0L3R5cGVkYXRhLnB5CTIwMjEtMTEtMDUgMTU6Mjk6MTIuMDAwMDAwMDAwIC0wNDAwCitAQCAt MSw0ICsxLDQgQEAKKy1mcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBNdXRhYmxlTWFwcGluZworK2Zy b20gY29sbGVjdGlvbnMuYWJjIGltcG9ydCBNdXRhYmxlTWFwcGluZworIAorIGZyb20gc2l4IGlt cG9ydCBpdGVydmFsdWVzLCBpdGVyaXRlbXMKKyAKK2RpZmYgLXVyIGEvdGVzdGluZy93ZWItcGxh dGZvcm0vdGVzdHMvdG9vbHMvbWFuaWZlc3QvdmNzLnB5IGIvdGVzdGluZy93ZWItcGxhdGZvcm0v dGVzdHMvdG9vbHMvbWFuaWZlc3QvdmNzLnB5CistLS0gYS90ZXN0aW5nL3dlYi1wbGF0Zm9ybS90 ZXN0cy90b29scy9tYW5pZmVzdC92Y3MucHkJMjAyMS0wOS0wMSAxMzoyNzowNS4wMDAwMDAwMDAg LTA0MDAKKysrKyBiL3Rlc3Rpbmcvd2ViLXBsYXRmb3JtL3Rlc3RzL3Rvb2xzL21hbmlmZXN0L3Zj cy5weQkyMDIxLTExLTA1IDE1OjI5OjEyLjAwMDAwMDAwMCAtMDQwMAorQEAgLTMsNyArMyw3IEBA CisgaW1wb3J0IG9zCisgaW1wb3J0IHN0YXQKKyBmcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBkZXF1 ZQorLWZyb20gY29sbGVjdGlvbnMgaW1wb3J0IE11dGFibGVNYXBwaW5nCisrZnJvbSBjb2xsZWN0 aW9ucy5hYmMgaW1wb3J0IE11dGFibGVNYXBwaW5nCisgCisgZnJvbSBzaXggaW1wb3J0IHdpdGhf bWV0YWNsYXNzLCBQWTIKKyAKK2RpZmYgLXVyIGEvdGVzdGluZy93ZWItcGxhdGZvcm0vdGVzdHMv dG9vbHMvdGhpcmRfcGFydHkvYXR0cnMvdGVzdHMvdGVzdF9mdW5jcy5weSBiL3Rlc3Rpbmcvd2Vi LXBsYXRmb3JtL3Rlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2F0dHJzL3Rlc3RzL3Rlc3RfZnVuY3Mu cHkKKy0tLSBhL3Rlc3Rpbmcvd2ViLXBsYXRmb3JtL3Rlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2F0 dHJzL3Rlc3RzL3Rlc3RfZnVuY3MucHkJMjAyMS0wOS0wMSAxMzoyNjo1Ni4wMDAwMDAwMDAgLTA0 MDAKKysrKyBiL3Rlc3Rpbmcvd2ViLXBsYXRmb3JtL3Rlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2F0 dHJzL3Rlc3RzL3Rlc3RfZnVuY3MucHkJMjAyMS0xMS0wNSAxNToyOToxMi4wMDAwMDAwMDAgLTA0 MDAKK0BAIC00LDcgKzQsOCBAQAorIAorIGZyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVf aW1wb3J0LCBkaXZpc2lvbiwgcHJpbnRfZnVuY3Rpb24KKyAKKy1mcm9tIGNvbGxlY3Rpb25zIGlt cG9ydCBNYXBwaW5nLCBPcmRlcmVkRGljdCwgU2VxdWVuY2UKKytmcm9tIGNvbGxlY3Rpb25zIGlt cG9ydCBPcmRlcmVkRGljdAorK2Zyb20gY29sbGVjdGlvbnMuYWJjIGltcG9ydCBNYXBwaW5nLCBT ZXF1ZW5jZQorIAorIGltcG9ydCBweXRlc3QKKyAKK2RpZmYgLXVyIGEvdGVzdGluZy93ZWItcGxh dGZvcm0vdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvaDIvaDIvc2V0dGluZ3MucHkgYi90ZXN0aW5n L3dlYi1wbGF0Zm9ybS90ZXN0cy90b29scy90aGlyZF9wYXJ0eS9oMi9oMi9zZXR0aW5ncy5weQor LS0tIGEvdGVzdGluZy93ZWItcGxhdGZvcm0vdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvaDIvaDIv c2V0dGluZ3MucHkJMjAyMS0wOS0wMSAxMzoyNzowNS4wMDAwMDAwMDAgLTA0MDAKKysrKyBiL3Rl c3Rpbmcvd2ViLXBsYXRmb3JtL3Rlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2gyL2gyL3NldHRpbmdz LnB5CTIwMjEtMTEtMDUgMTU6MzI6MjguODE3NzM3MzU3IC0wNDAwCitAQCAtODgsNyArODgsNyBA QAorICAgICAgICAgKQorIAorIAorLWNsYXNzIFNldHRpbmdzKGNvbGxlY3Rpb25zLk11dGFibGVN YXBwaW5nKToKKytjbGFzcyBTZXR0aW5ncyhjb2xsZWN0aW9ucy5hYmMuTXV0YWJsZU1hcHBpbmcp OgorICAgICAiIiIKKyAgICAgQW4gb2JqZWN0IHRoYXQgZW5jYXBzdWxhdGVzIEhUVFAvMiBzZXR0 aW5ncyBzdGF0ZS4KKyAKK2RpZmYgLXVyIGEvdGVzdGluZy93ZWItcGxhdGZvcm0vdGVzdHMvdG9v bHMvdGhpcmRfcGFydHkvaHRtbDVsaWIvaHRtbDVsaWIvX3RyaWUvX2Jhc2UucHkgYi90ZXN0aW5n L3dlYi1wbGF0Zm9ybS90ZXN0cy90b29scy90aGlyZF9wYXJ0eS9odG1sNWxpYi9odG1sNWxpYi9f dHJpZS9fYmFzZS5weQorLS0tIGEvdGVzdGluZy93ZWItcGxhdGZvcm0vdGVzdHMvdG9vbHMvdGhp cmRfcGFydHkvaHRtbDVsaWIvaHRtbDVsaWIvX3RyaWUvX2Jhc2UucHkJMjAyMS0wOS0wMSAxMzoy NzowNS4wMDAwMDAwMDAgLTA0MDAKKysrKyBiL3Rlc3Rpbmcvd2ViLXBsYXRmb3JtL3Rlc3RzL3Rv b2xzL3RoaXJkX3BhcnR5L2h0bWw1bGliL2h0bWw1bGliL190cmllL19iYXNlLnB5CTIwMjEtMTEt MDUgMTU6Mjk6MTIuMDAwMDAwMDAwIC0wNDAwCitAQCAtMSw2ICsxLDYgQEAKKyBmcm9tIF9fZnV0 dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydCwgZGl2aXNpb24sIHVuaWNvZGVfbGl0ZXJhbHMK KyAKKy1mcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBNYXBwaW5nCisrZnJvbSBjb2xsZWN0aW9ucy5h YmMgaW1wb3J0IE1hcHBpbmcKKyAKKyAKKyBjbGFzcyBUcmllKE1hcHBpbmcpOgorZGlmZiAtdXIg YS90ZXN0aW5nL3dlYi1wbGF0Zm9ybS90ZXN0cy90b29scy90aGlyZF9wYXJ0eS9odG1sNWxpYi9o dG1sNWxpYi90cmVlYnVpbGRlcnMvZG9tLnB5IGIvdGVzdGluZy93ZWItcGxhdGZvcm0vdGVzdHMv dG9vbHMvdGhpcmRfcGFydHkvaHRtbDVsaWIvaHRtbDVsaWIvdHJlZWJ1aWxkZXJzL2RvbS5weQor LS0tIGEvdGVzdGluZy93ZWItcGxhdGZvcm0vdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvaHRtbDVs aWIvaHRtbDVsaWIvdHJlZWJ1aWxkZXJzL2RvbS5weQkyMDIxLTA5LTAxIDEzOjI3OjA1LjAwMDAw MDAwMCAtMDQwMAorKysrIGIvdGVzdGluZy93ZWItcGxhdGZvcm0vdGVzdHMvdG9vbHMvdGhpcmRf cGFydHkvaHRtbDVsaWIvaHRtbDVsaWIvdHJlZWJ1aWxkZXJzL2RvbS5weQkyMDIxLTExLTA1IDE1 OjI5OjEyLjAwMDAwMDAwMCAtMDQwMAorQEAgLTEsNyArMSw3IEBACisgZnJvbSBfX2Z1dHVyZV9f IGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQsIGRpdmlzaW9uLCB1bmljb2RlX2xpdGVyYWxzCisgCisg CistZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgTXV0YWJsZU1hcHBpbmcKKytmcm9tIGNvbGxlY3Rp b25zLmFiYyBpbXBvcnQgTXV0YWJsZU1hcHBpbmcKKyBmcm9tIHhtbC5kb20gaW1wb3J0IG1pbmlk b20sIE5vZGUKKyBpbXBvcnQgd2Vha3JlZgorIAorZGlmZiAtdXIgYS90ZXN0aW5nL3dlYi1wbGF0 Zm9ybS90ZXN0cy90b29scy90aGlyZF9wYXJ0eS9oeXBlci9oeXBlci9jb21tb24vaGVhZGVycy5w eSBiL3Rlc3Rpbmcvd2ViLXBsYXRmb3JtL3Rlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2h5cGVyL2h5 cGVyL2NvbW1vbi9oZWFkZXJzLnB5CistLS0gYS90ZXN0aW5nL3dlYi1wbGF0Zm9ybS90ZXN0cy90 b29scy90aGlyZF9wYXJ0eS9oeXBlci9oeXBlci9jb21tb24vaGVhZGVycy5weQkyMDIxLTA5LTAx IDEzOjI3OjAwLjAwMDAwMDAwMCAtMDQwMAorKysrIGIvdGVzdGluZy93ZWItcGxhdGZvcm0vdGVz dHMvdG9vbHMvdGhpcmRfcGFydHkvaHlwZXIvaHlwZXIvY29tbW9uL2hlYWRlcnMucHkJMjAyMS0x MS0wNSAxNToyOToxMi4wMDAwMDAwMDAgLTA0MDAKK0BAIC0xMCw3ICsxMCw3IEBACisgZnJvbSBo eXBlci5jb21tb24udXRpbCBpbXBvcnQgdG9fYnl0ZXN0cmluZywgdG9fYnl0ZXN0cmluZ190dXBs ZQorIAorIAorLWNsYXNzIEhUVFBIZWFkZXJNYXAoY29sbGVjdGlvbnMuTXV0YWJsZU1hcHBpbmcp OgorK2NsYXNzIEhUVFBIZWFkZXJNYXAoY29sbGVjdGlvbnMuYWJjLk11dGFibGVNYXBwaW5nKToK KyAgICAgIiIiCisgICAgIEEgc3RydWN0dXJlIHRoYXQgY29udGFpbnMgSFRUUCBoZWFkZXJzLgor IAorZGlmZiAtdXIgYS90ZXN0aW5nL3dlYi1wbGF0Zm9ybS90ZXN0cy90b29scy90aGlyZF9wYXJ0 eS9oeXBlci9oeXBlci9oMi9zZXR0aW5ncy5weSBiL3Rlc3Rpbmcvd2ViLXBsYXRmb3JtL3Rlc3Rz L3Rvb2xzL3RoaXJkX3BhcnR5L2h5cGVyL2h5cGVyL2gyL3NldHRpbmdzLnB5CistLS0gYS90ZXN0 aW5nL3dlYi1wbGF0Zm9ybS90ZXN0cy90b29scy90aGlyZF9wYXJ0eS9oeXBlci9oeXBlci9oMi9z ZXR0aW5ncy5weQkyMDIxLTA5LTAxIDEzOjI2OjU2LjAwMDAwMDAwMCAtMDQwMAorKysrIGIvdGVz dGluZy93ZWItcGxhdGZvcm0vdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvaHlwZXIvaHlwZXIvaDIv c2V0dGluZ3MucHkJMjAyMS0xMS0wNSAxNToyOToxMi4wMDAwMDAwMDAgLTA0MDAKK0BAIC0xNTEs NyArMTUxLDcgQEAKKyAgICAgICAgICkKKyAKKyAKKy1jbGFzcyBTZXR0aW5ncyhjb2xsZWN0aW9u cy5NdXRhYmxlTWFwcGluZyk6CisrY2xhc3MgU2V0dGluZ3MoY29sbGVjdGlvbnMuYWJjLk11dGFi bGVNYXBwaW5nKToKKyAgICAgIiIiCisgICAgIEFuIG9iamVjdCB0aGF0IGVuY2Fwc3VsYXRlcyBI VFRQLzIgc2V0dGluZ3Mgc3RhdGUuCisgCitkaWZmIC11ciBhL3Rlc3Rpbmcvd2ViLXBsYXRmb3Jt L3Rlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2h5cGVyL2h5cGVyL2h0dHAxMS9jb25uZWN0aW9uLnB5 IGIvdGVzdGluZy93ZWItcGxhdGZvcm0vdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvaHlwZXIvaHlw ZXIvaHR0cDExL2Nvbm5lY3Rpb24ucHkKKy0tLSBhL3Rlc3Rpbmcvd2ViLXBsYXRmb3JtL3Rlc3Rz L3Rvb2xzL3RoaXJkX3BhcnR5L2h5cGVyL2h5cGVyL2h0dHAxMS9jb25uZWN0aW9uLnB5CTIwMjEt MDktMDEgMTM6Mjc6MDAuMDAwMDAwMDAwIC0wNDAwCisrKysgYi90ZXN0aW5nL3dlYi1wbGF0Zm9y bS90ZXN0cy90b29scy90aGlyZF9wYXJ0eS9oeXBlci9oeXBlci9odHRwMTEvY29ubmVjdGlvbi5w eQkyMDIxLTExLTA1IDE1OjI5OjEyLjAwMDAwMDAwMCAtMDQwMAorQEAgLTEwLDcgKzEwLDcgQEAK KyBpbXBvcnQgc29ja2V0CisgaW1wb3J0IGJhc2U2NAorIAorLWZyb20gY29sbGVjdGlvbnMgaW1w b3J0IEl0ZXJhYmxlLCBNYXBwaW5nCisrZnJvbSBjb2xsZWN0aW9ucy5hYmMgaW1wb3J0IEl0ZXJh YmxlLCBNYXBwaW5nCisgCisgaW1wb3J0IGNvbGxlY3Rpb25zCisgZnJvbSBoeXBlcmZyYW1lLmZy YW1lIGltcG9ydCBTZXR0aW5nc0ZyYW1lCitAQCAtMjk1LDcgKzI5NSw3IEBACisgICAgICAgICAg ICAgICAgIHJldHVybgorIAorICAgICAgICAgICAgICMgSXRlcmFibGVzIHRoYXQgc2V0IGEgc3Bl Y2lmaWMgY29udGVudCBsZW5ndGguCistICAgICAgICAgICAgZWxpZiBpc2luc3RhbmNlKGJvZHks IGNvbGxlY3Rpb25zLkl0ZXJhYmxlKToKKysgICAgICAgICAgICBlbGlmIGlzaW5zdGFuY2UoYm9k eSwgY29sbGVjdGlvbnMuYWJjLkl0ZXJhYmxlKToKKyAgICAgICAgICAgICAgICAgZm9yIGl0ZW0g aW4gYm9keToKKyAgICAgICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAg ICAgICBzZWxmLl9zb2NrLnNlbmQoaXRlbSkKK2RpZmYgLXVyIGEvdGVzdGluZy93ZWItcGxhdGZv cm0vdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvaHlwZXIvaHlwZXIvcGFja2FnZXMvaHlwZXJmcmFt ZS9mbGFncy5weSBiL3Rlc3Rpbmcvd2ViLXBsYXRmb3JtL3Rlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5 L2h5cGVyL2h5cGVyL3BhY2thZ2VzL2h5cGVyZnJhbWUvZmxhZ3MucHkKKy0tLSBhL3Rlc3Rpbmcv d2ViLXBsYXRmb3JtL3Rlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2h5cGVyL2h5cGVyL3BhY2thZ2Vz L2h5cGVyZnJhbWUvZmxhZ3MucHkJMjAyMS0wOS0wMSAxMzoyNzowNS4wMDAwMDAwMDAgLTA0MDAK KysrKyBiL3Rlc3Rpbmcvd2ViLXBsYXRmb3JtL3Rlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2h5cGVy L2h5cGVyL3BhY2thZ2VzL2h5cGVyZnJhbWUvZmxhZ3MucHkJMjAyMS0xMS0wNSAxNToyOToxMi4w MDAwMDAwMDAgLTA0MDAKK0BAIC0xMSw3ICsxMSw3IEBACisgRmxhZyA9IGNvbGxlY3Rpb25zLm5h bWVkdHVwbGUoIkZsYWciLCBbIm5hbWUiLCAiYml0Il0pCisgCisgCistY2xhc3MgRmxhZ3MoY29s bGVjdGlvbnMuTXV0YWJsZVNldCk6CisrY2xhc3MgRmxhZ3MoY29sbGVjdGlvbnMuYWJjLk11dGFi bGVTZXQpOgorICAgICAiIiIKKyAgICAgQSBzaW1wbGUgTXV0YWJsZVNldCBpbXBsZW1lbnRhdGlv biB0aGF0IHdpbGwgb25seSBhY2NlcHQga25vd24gZmxhZ3MgYXMgZWxlbWVudHMuCisgCitkaWZm IC11ciBhL3Rlc3Rpbmcvd2ViLXBsYXRmb3JtL3Rlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2h5cGVy ZnJhbWUvaHlwZXJmcmFtZS9mbGFncy5weSBiL3Rlc3Rpbmcvd2ViLXBsYXRmb3JtL3Rlc3RzL3Rv b2xzL3RoaXJkX3BhcnR5L2h5cGVyZnJhbWUvaHlwZXJmcmFtZS9mbGFncy5weQorLS0tIGEvdGVz dGluZy93ZWItcGxhdGZvcm0vdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvaHlwZXJmcmFtZS9oeXBl cmZyYW1lL2ZsYWdzLnB5CTIwMjEtMDktMDEgMTM6MjY6MzkuMDAwMDAwMDAwIC0wNDAwCisrKysg Yi90ZXN0aW5nL3dlYi1wbGF0Zm9ybS90ZXN0cy90b29scy90aGlyZF9wYXJ0eS9oeXBlcmZyYW1l L2h5cGVyZnJhbWUvZmxhZ3MucHkJMjAyMS0xMS0wNSAxNToyOToxMi4wMDAwMDAwMDAgLTA0MDAK K0BAIC0xMSw3ICsxMSw3IEBACisgRmxhZyA9IGNvbGxlY3Rpb25zLm5hbWVkdHVwbGUoIkZsYWci LCBbIm5hbWUiLCAiYml0Il0pCisgCisgCistY2xhc3MgRmxhZ3MoY29sbGVjdGlvbnMuTXV0YWJs ZVNldCk6CisrY2xhc3MgRmxhZ3MoY29sbGVjdGlvbnMuYWJjLk11dGFibGVTZXQpOgorICAgICAi IiIKKyAgICAgQSBzaW1wbGUgTXV0YWJsZVNldCBpbXBsZW1lbnRhdGlvbiB0aGF0IHdpbGwgb25s eSBhY2NlcHQga25vd24gZmxhZ3MgYXMKKyAgICAgZWxlbWVudHMuCitkaWZmIC11ciBhL3Rlc3Rp bmcvd2ViLXBsYXRmb3JtL3Rlc3RzL3Rvb2xzL3dwdHNlcnZlL3dwdHNlcnZlL2NvbmZpZy5weSBi L3Rlc3Rpbmcvd2ViLXBsYXRmb3JtL3Rlc3RzL3Rvb2xzL3dwdHNlcnZlL3dwdHNlcnZlL2NvbmZp Zy5weQorLS0tIGEvdGVzdGluZy93ZWItcGxhdGZvcm0vdGVzdHMvdG9vbHMvd3B0c2VydmUvd3B0 c2VydmUvY29uZmlnLnB5CTIwMjEtMDktMDEgMTM6Mjc6MDUuMDAwMDAwMDAwIC0wNDAwCisrKysg Yi90ZXN0aW5nL3dlYi1wbGF0Zm9ybS90ZXN0cy90b29scy93cHRzZXJ2ZS93cHRzZXJ2ZS9jb25m aWcucHkJMjAyMS0xMS0wNSAxNToyOToxMi4wMDAwMDAwMDAgLTA0MDAKK0BAIC0yLDcgKzIsOCBA QAorIGltcG9ydCBsb2dnaW5nCisgaW1wb3J0IG9zCisgCistZnJvbSBjb2xsZWN0aW9ucyBpbXBv cnQgZGVmYXVsdGRpY3QsIE1hcHBpbmcKKytmcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBkZWZhdWx0 ZGljdAorK2Zyb20gY29sbGVjdGlvbnMuYWJjIGltcG9ydCBNYXBwaW5nCisgZnJvbSBzaXggaW1w b3J0IGludGVnZXJfdHlwZXMsIGl0ZXJpdGVtcywgaXRlcnZhbHVlcywgc3RyaW5nX3R5cGVzCisg CisgZnJvbSAuIGltcG9ydCBzc2x1dGlscworZGlmZiAtdXIgYS90ZXN0aW5nL3dlYi1wbGF0Zm9y bS90ZXN0cy93ZWJkcml2ZXIvdGVzdHMvc3VwcG9ydC9zeW5jLnB5IGIvdGVzdGluZy93ZWItcGxh dGZvcm0vdGVzdHMvd2ViZHJpdmVyL3Rlc3RzL3N1cHBvcnQvc3luYy5weQorLS0tIGEvdGVzdGlu Zy93ZWItcGxhdGZvcm0vdGVzdHMvd2ViZHJpdmVyL3Rlc3RzL3N1cHBvcnQvc3luYy5weQkyMDIx LTA5LTAxIDEzOjI3OjA1LjAwMDAwMDAwMCAtMDQwMAorKysrIGIvdGVzdGluZy93ZWItcGxhdGZv cm0vdGVzdHMvd2ViZHJpdmVyL3Rlc3RzL3N1cHBvcnQvc3luYy5weQkyMDIxLTExLTA1IDE1OjI5 OjEyLjAwMDAwMDAwMCAtMDQwMAorQEAgLTgxLDcgKzgxLDcgQEAKKyAKKyAgICAgICAgIGV4Y2Vw dGlvbnMgPSBbXQorICAgICAgICAgaWYgaWdub3JlZF9leGNlcHRpb25zIGlzIG5vdCBOb25lOgor LSAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UoaWdub3JlZF9leGNlcHRpb25zLCBjb2xsZWN0aW9u cy5JdGVyYWJsZSk6CisrICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShpZ25vcmVkX2V4Y2VwdGlv bnMsIGNvbGxlY3Rpb25zLmFiYy5JdGVyYWJsZSk6CisgICAgICAgICAgICAgICAgIGV4Y2VwdGlv bnMuZXh0ZW5kKGl0ZXIoaWdub3JlZF9leGNlcHRpb25zKSkKKyAgICAgICAgICAgICBlbHNlOgor ICAgICAgICAgICAgICAgICBleGNlcHRpb25zLmFwcGVuZChpZ25vcmVkX2V4Y2VwdGlvbnMpCitk aWZmIC11ciBhL3RoaXJkX3BhcnR5L3B5dGhvbi9neXAvcHlsaWIvZ3lwL2NvbW1vbi5weSBiL3Ro aXJkX3BhcnR5L3B5dGhvbi9neXAvcHlsaWIvZ3lwL2NvbW1vbi5weQorLS0tIGEvdGhpcmRfcGFy dHkvcHl0aG9uL2d5cC9weWxpYi9neXAvY29tbW9uLnB5CTIwMjEtMDktMDEgMTM6MjY6NDYuMDAw MDAwMDAwIC0wNDAwCisrKysgYi90aGlyZF9wYXJ0eS9weXRob24vZ3lwL3B5bGliL2d5cC9jb21t b24ucHkJMjAyMS0xMS0wNSAxNToyOToxMi4wMDAwMDAwMDAgLTA0MDAKK0BAIC00OTQsNyArNDk0 LDcgQEAKKyAKKyAKKyAjIEJhc2VkIG9uIGh0dHA6Ly9jb2RlLmFjdGl2ZXN0YXRlLmNvbS9yZWNp cGVzLzU3NjY5NC8uCistY2xhc3MgT3JkZXJlZFNldChjb2xsZWN0aW9ucy5NdXRhYmxlU2V0KToK KytjbGFzcyBPcmRlcmVkU2V0KGNvbGxlY3Rpb25zLmFiYy5NdXRhYmxlU2V0KToKKyAgIGRlZiBf X2luaXRfXyhzZWxmLCBpdGVyYWJsZT1Ob25lKToKKyAgICAgc2VsZi5lbmQgPSBlbmQgPSBbXQor ICAgICBlbmQgKz0gW05vbmUsIGVuZCwgZW5kXSAgICAgICAgICMgc2VudGluZWwgbm9kZSBmb3Ig ZG91Ymx5IGxpbmtlZCBsaXN0CitkaWZmIC11ciBhL3RoaXJkX3BhcnR5L3B5dGhvbi9neXAvcHls aWIvZ3lwL21zdnNfZW11bGF0aW9uLnB5IGIvdGhpcmRfcGFydHkvcHl0aG9uL2d5cC9weWxpYi9n eXAvbXN2c19lbXVsYXRpb24ucHkKKy0tLSBhL3RoaXJkX3BhcnR5L3B5dGhvbi9neXAvcHlsaWIv Z3lwL21zdnNfZW11bGF0aW9uLnB5CTIwMjEtMDktMDEgMTM6Mjc6MDkuMDAwMDAwMDAwIC0wNDAw CisrKysgYi90aGlyZF9wYXJ0eS9weXRob24vZ3lwL3B5bGliL2d5cC9tc3ZzX2VtdWxhdGlvbi5w eQkyMDIxLTExLTA1IDE1OjMwOjQ3Ljc1Nzc2MDgyMCAtMDQwMAorQEAgLTkxLDcgKzkxLDcgQEAK KyAgICIiIkFkZCB8cHJlZml4fCB0byB8ZWxlbWVudHwgb3IgZWFjaCBzdWJlbGVtZW50IGlmIGVs ZW1lbnQgaXMgaXRlcmFibGUuIiIiCisgICBpZiBlbGVtZW50IGlzIE5vbmU6CisgICAgIHJldHVy biBlbGVtZW50CistICBpZiAoaXNpbnN0YW5jZShlbGVtZW50LCBjb2xsZWN0aW9ucy5JdGVyYWJs ZSkgYW5kCisrICBpZiAoaXNpbnN0YW5jZShlbGVtZW50LCBjb2xsZWN0aW9ucy5hYmMuSXRlcmFi bGUpIGFuZAorICAgICAgIG5vdCBpc2luc3RhbmNlKGVsZW1lbnQsIGJhc2VzdHJpbmcpKToKKyAg ICAgcmV0dXJuIFtwcmVmaXggKyBlIGZvciBlIGluIGVsZW1lbnRdCisgICBlbHNlOgorQEAgLTEw NCw3ICsxMDQsNyBAQAorICAgaWYgbWFwIGlzIG5vdCBOb25lIGFuZCBlbGVtZW50IGlzIG5vdCBO b25lOgorICAgICBpZiBub3QgY2FsbGFibGUobWFwKToKKyAgICAgICBtYXAgPSBtYXAuZ2V0ICMg QXNzdW1lIGl0J3MgYSBkaWN0LCBvdGhlcndpc2UgYSBjYWxsYWJsZSB0byBkbyB0aGUgcmVtYXAu CistICAgIGlmIChpc2luc3RhbmNlKGVsZW1lbnQsIGNvbGxlY3Rpb25zLkl0ZXJhYmxlKSBhbmQK KysgICAgaWYgKGlzaW5zdGFuY2UoZWxlbWVudCwgY29sbGVjdGlvbnMuYWJjLkl0ZXJhYmxlKSBh bmQKKyAgICAgICAgIG5vdCBpc2luc3RhbmNlKGVsZW1lbnQsIGJhc2VzdHJpbmcpKToKKyAgICAg ICBlbGVtZW50ID0gZmlsdGVyKE5vbmUsIFttYXAoZWxlbSkgZm9yIGVsZW0gaW4gZWxlbWVudF0p CisgICAgIGVsc2U6CitAQCAtMTE3LDcgKzExNyw3IEBACisgICB0aGVuIGFkZCB8ZWxlbWVudHwg dG8gaXQsIGFkZGluZyBlYWNoIGl0ZW0gaW4gfGVsZW1lbnR8IGlmIGl0J3MgYSBsaXN0IG9yCisg ICB0dXBsZS4iIiIKKyAgIGlmIGFwcGVuZCBpcyBub3QgTm9uZSBhbmQgZWxlbWVudCBpcyBub3Qg Tm9uZToKKy0gICAgaWYgKGlzaW5zdGFuY2UoZWxlbWVudCwgY29sbGVjdGlvbnMuSXRlcmFibGUp IGFuZAorKyAgICBpZiAoaXNpbnN0YW5jZShlbGVtZW50LCBjb2xsZWN0aW9ucy5hYmMuSXRlcmFi bGUpIGFuZAorICAgICAgICAgbm90IGlzaW5zdGFuY2UoZWxlbWVudCwgYmFzZXN0cmluZykpOgor ICAgICAgIGFwcGVuZC5leHRlbmQoZWxlbWVudCkKKyAgICAgZWxzZToKK2RpZmYgLXVyIGEvdGhp cmRfcGFydHkvcHl0aG9uL2d5cC90ZXN0L2xpYi9UZXN0R3lwLnB5IGIvdGhpcmRfcGFydHkvcHl0 aG9uL2d5cC90ZXN0L2xpYi9UZXN0R3lwLnB5CistLS0gYS90aGlyZF9wYXJ0eS9weXRob24vZ3lw L3Rlc3QvbGliL1Rlc3RHeXAucHkJMjAyMS0wOS0wMSAxMzoyNzowOS4wMDAwMDAwMDAgLTA0MDAK KysrKyBiL3RoaXJkX3BhcnR5L3B5dGhvbi9neXAvdGVzdC9saWIvVGVzdEd5cC5weQkyMDIxLTEx LTA1IDE1OjMwOjM3LjY3MTc2MzE1NyAtMDQwMAorQEAgLTQ5Niw3ICs0OTYsNyBAQAorICAgICBp ZiBzdGF0dXMgaXMgTm9uZToKKyAgICAgICBrd1snc3RhdHVzJ10gPSBOb25lCisgICAgIGVsc2U6 CistICAgICAgaWYgbm90IGlzaW5zdGFuY2Uoc3RhdHVzLCBjb2xsZWN0aW9ucy5JdGVyYWJsZSk6 IHN0YXR1cyA9IChzdGF0dXMsKQorKyAgICAgIGlmIG5vdCBpc2luc3RhbmNlKHN0YXR1cywgY29s bGVjdGlvbnMuYWJjLkl0ZXJhYmxlKTogc3RhdHVzID0gKHN0YXR1cywpCisgICAgICAga3dbJ3N0 YXR1cyddID0gbGlzdChpdGVydG9vbHMuY2hhaW4oKDAsKSwgc3RhdHVzKSkKKyAgICAgc2VsZi5j bWFrZV9idWlsZChneXBfZmlsZSwgdGFyZ2V0LCAqKmt3KQorICAgICBrd1snc3RhdHVzJ10gPSBz dGF0dXMKK2RpZmYgLXVyIGEvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVudi9waXBlbnYvcGF0Y2hl ZC9ub3RwaXAvX3ZlbmRvci9kaXN0bGliL2NvbXBhdC5weSBiL3RoaXJkX3BhcnR5L3B5dGhvbi9w aXBlbnYvcGlwZW52L3BhdGNoZWQvbm90cGlwL192ZW5kb3IvZGlzdGxpYi9jb21wYXQucHkKKy0t LSBhL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3BhdGNoZWQvbm90cGlwL192ZW5k b3IvZGlzdGxpYi9jb21wYXQucHkJMjAyMS0wOS0wMSAxMzoyNzowOS4wMDAwMDAwMDAgLTA0MDAK KysrKyBiL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3BhdGNoZWQvbm90cGlwL192 ZW5kb3IvZGlzdGxpYi9jb21wYXQucHkJMjAyMS0xMS0wNSAxNToyOToxMi4wMDAwMDAwMDAgLTA0 MDAKK0BAIC0zMTksNyArMzE5LDcgQEAKKyB0cnk6CisgICAgIGNhbGxhYmxlID0gY2FsbGFibGUK KyBleGNlcHQgTmFtZUVycm9yOiAgICMgcHJhZ21hOiBubyBjb3ZlcgorLSAgICBmcm9tIGNvbGxl Y3Rpb25zIGltcG9ydCBDYWxsYWJsZQorKyAgICBmcm9tIGNvbGxlY3Rpb25zLmFiYyBpbXBvcnQg Q2FsbGFibGUKKyAKKyAgICAgZGVmIGNhbGxhYmxlKG9iaik6CisgICAgICAgICByZXR1cm4gaXNp bnN0YW5jZShvYmosIENhbGxhYmxlKQorQEAgLTQ3NSw3ICs0NzUsNyBAQAorIHRyeToKKyAgICAg ZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgQ2hhaW5NYXAKKyBleGNlcHQgSW1wb3J0RXJyb3I6ICMg cHJhZ21hOiBubyBjb3ZlcgorLSAgICBmcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBNdXRhYmxlTWFw cGluZworKyAgICBmcm9tIGNvbGxlY3Rpb25zLmFiYyBpbXBvcnQgTXV0YWJsZU1hcHBpbmcKKyAK KyAgICAgdHJ5OgorICAgICAgICAgZnJvbSByZXBybGliIGltcG9ydCByZWN1cnNpdmVfcmVwciBh cyBfcmVjdXJzaXZlX3JlcHIKK2RpZmYgLXVyIGEvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVudi9w aXBlbnYvcGF0Y2hlZC9ub3RwaXAvX3ZlbmRvci9odG1sNWxpYi90cmVlYnVpbGRlcnMvZG9tLnB5 IGIvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVudi9waXBlbnYvcGF0Y2hlZC9ub3RwaXAvX3ZlbmRv ci9odG1sNWxpYi90cmVlYnVpbGRlcnMvZG9tLnB5CistLS0gYS90aGlyZF9wYXJ0eS9weXRob24v cGlwZW52L3BpcGVudi9wYXRjaGVkL25vdHBpcC9fdmVuZG9yL2h0bWw1bGliL3RyZWVidWlsZGVy cy9kb20ucHkJMjAyMS0wOS0wMSAxMzoyNjo0Ni4wMDAwMDAwMDAgLTA0MDAKKysrKyBiL3RoaXJk X3BhcnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3BhdGNoZWQvbm90cGlwL192ZW5kb3IvaHRtbDVs aWIvdHJlZWJ1aWxkZXJzL2RvbS5weQkyMDIxLTExLTA1IDE1OjI5OjEyLjAwMDAwMDAwMCAtMDQw MAorQEAgLTEsNyArMSw3IEBACisgZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBv cnQsIGRpdmlzaW9uLCB1bmljb2RlX2xpdGVyYWxzCisgCisgCistZnJvbSBjb2xsZWN0aW9ucyBp bXBvcnQgTXV0YWJsZU1hcHBpbmcKKytmcm9tIGNvbGxlY3Rpb25zLmFiYyBpbXBvcnQgTXV0YWJs ZU1hcHBpbmcKKyBmcm9tIHhtbC5kb20gaW1wb3J0IG1pbmlkb20sIE5vZGUKKyBpbXBvcnQgd2Vh a3JlZgorIAorZGlmZiAtdXIgYS90aGlyZF9wYXJ0eS9weXRob24vcGlwZW52L3BpcGVudi9wYXRj aGVkL25vdHBpcC9fdmVuZG9yL3B5cGFyc2luZy5weSBiL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBl bnYvcGlwZW52L3BhdGNoZWQvbm90cGlwL192ZW5kb3IvcHlwYXJzaW5nLnB5CistLS0gYS90aGly ZF9wYXJ0eS9weXRob24vcGlwZW52L3BpcGVudi9wYXRjaGVkL25vdHBpcC9fdmVuZG9yL3B5cGFy c2luZy5weQkyMDIxLTA5LTAxIDEzOjI2OjQ2LjAwMDAwMDAwMCAtMDQwMAorKysrIGIvdGhpcmRf cGFydHkvcHl0aG9uL3BpcGVudi9waXBlbnYvcGF0Y2hlZC9ub3RwaXAvX3ZlbmRvci9weXBhcnNp bmcucHkJMjAyMS0xMS0wNSAxNToyOToxMi4wMDAwMDAwMDAgLTA0MDAKK0BAIC05NDAsNyArOTQw LDcgQEAKKyAgICAgZGVmIF9fZGlyX18oc2VsZik6CisgICAgICAgICByZXR1cm4gKGRpcih0eXBl KHNlbGYpKSArIGxpc3Qoc2VsZi5rZXlzKCkpKQorIAorLWNvbGxlY3Rpb25zLk11dGFibGVNYXBw aW5nLnJlZ2lzdGVyKFBhcnNlUmVzdWx0cykKKytjb2xsZWN0aW9ucy5hYmMuTXV0YWJsZU1hcHBp bmcucmVnaXN0ZXIoUGFyc2VSZXN1bHRzKQorIAorIGRlZiBjb2wgKGxvYyxzdHJnKToKKyAgICAg IiIiUmV0dXJucyBjdXJyZW50IGNvbHVtbiB3aXRoaW4gYSBzdHJpbmcsIGNvdW50aW5nIG5ld2xp bmVzIGFzIGxpbmUgc2VwYXJhdG9ycy4KK0BAIC0zMjIzLDcgKzMyMjMsNyBAQAorIAorICAgICAg ICAgaWYgaXNpbnN0YW5jZSggZXhwcnMsIGJhc2VzdHJpbmcgKToKKyAgICAgICAgICAgICBzZWxm LmV4cHJzID0gWyBQYXJzZXJFbGVtZW50Ll9saXRlcmFsU3RyaW5nQ2xhc3MoIGV4cHJzICkgXQor LSAgICAgICAgZWxpZiBpc2luc3RhbmNlKCBleHBycywgY29sbGVjdGlvbnMuSXRlcmFibGUgKToK KysgICAgICAgIGVsaWYgaXNpbnN0YW5jZSggZXhwcnMsIGNvbGxlY3Rpb25zLmFiYy5JdGVyYWJs ZSApOgorICAgICAgICAgICAgIGV4cHJzID0gbGlzdChleHBycykKKyAgICAgICAgICAgICAjIGlm IHNlcXVlbmNlIG9mIHN0cmluZ3MgcHJvdmlkZWQsIHdyYXAgd2l0aCBMaXRlcmFsCisgICAgICAg ICAgICAgaWYgYWxsKGlzaW5zdGFuY2UoZXhwciwgYmFzZXN0cmluZykgZm9yIGV4cHIgaW4gZXhw cnMpOgorQEAgLTQ1NjQsNyArNDU2NCw3IEBACisgICAgIHN5bWJvbHMgPSBbXQorICAgICBpZiBp c2luc3RhbmNlKHN0cnMsYmFzZXN0cmluZyk6CisgICAgICAgICBzeW1ib2xzID0gc3Rycy5zcGxp dCgpCistICAgIGVsaWYgaXNpbnN0YW5jZShzdHJzLCBjb2xsZWN0aW9ucy5JdGVyYWJsZSk6Cisr ICAgIGVsaWYgaXNpbnN0YW5jZShzdHJzLCBjb2xsZWN0aW9ucy5hYmMuSXRlcmFibGUpOgorICAg ICAgICAgc3ltYm9scyA9IGxpc3Qoc3RycykKKyAgICAgZWxzZToKKyAgICAgICAgIHdhcm5pbmdz Lndhcm4oIkludmFsaWQgYXJndW1lbnQgdG8gb25lT2YsIGV4cGVjdGVkIHN0cmluZyBvciBpdGVy YWJsZSIsCitkaWZmIC11ciBhL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3BhdGNo ZWQvbm90cGlwL192ZW5kb3IvcmVxdWVzdHMvY29va2llcy5weSBiL3RoaXJkX3BhcnR5L3B5dGhv bi9waXBlbnYvcGlwZW52L3BhdGNoZWQvbm90cGlwL192ZW5kb3IvcmVxdWVzdHMvY29va2llcy5w eQorLS0tIGEvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVudi9waXBlbnYvcGF0Y2hlZC9ub3RwaXAv X3ZlbmRvci9yZXF1ZXN0cy9jb29raWVzLnB5CTIwMjEtMDktMDEgMTM6Mjc6MDAuMDAwMDAwMDAw IC0wNDAwCisrKysgYi90aGlyZF9wYXJ0eS9weXRob24vcGlwZW52L3BpcGVudi9wYXRjaGVkL25v dHBpcC9fdmVuZG9yL3JlcXVlc3RzL2Nvb2tpZXMucHkJMjAyMS0xMS0wNSAxNToyOToxMi4wMDAw MDAwMDAgLTA0MDAKK0BAIC0xNjksNyArMTY5LDcgQEAKKyAgICAgIiIiCisgCisgCistY2xhc3Mg UmVxdWVzdHNDb29raWVKYXIoY29va2llbGliLkNvb2tpZUphciwgY29sbGVjdGlvbnMuTXV0YWJs ZU1hcHBpbmcpOgorK2NsYXNzIFJlcXVlc3RzQ29va2llSmFyKGNvb2tpZWxpYi5Db29raWVKYXIs IGNvbGxlY3Rpb25zLmFiYy5NdXRhYmxlTWFwcGluZyk6CisgICAgICIiIkNvbXBhdGliaWxpdHkg Y2xhc3M7IGlzIGEgY29va2llbGliLkNvb2tpZUphciwgYnV0IGV4cG9zZXMgYSBkaWN0CisgICAg IGludGVyZmFjZS4KKyAKK2RpZmYgLXVyIGEvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVudi9waXBl bnYvcGF0Y2hlZC9ub3RwaXAvX3ZlbmRvci9yZXF1ZXN0cy9tb2RlbHMucHkgYi90aGlyZF9wYXJ0 eS9weXRob24vcGlwZW52L3BpcGVudi9wYXRjaGVkL25vdHBpcC9fdmVuZG9yL3JlcXVlc3RzL21v ZGVscy5weQorLS0tIGEvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVudi9waXBlbnYvcGF0Y2hlZC9u b3RwaXAvX3ZlbmRvci9yZXF1ZXN0cy9tb2RlbHMucHkJMjAyMS0wOS0wMSAxMzoyNjo0Ni4wMDAw MDAwMDAgLTA0MDAKKysrKyBiL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3BhdGNo ZWQvbm90cGlwL192ZW5kb3IvcmVxdWVzdHMvbW9kZWxzLnB5CTIwMjEtMTEtMDUgMTU6MzE6MzUu NzQ1NzQ5NjkyIC0wNDAwCitAQCAtMTc0LDEwICsxNzQsMTAgQEAKKyAgICAgICAgIGlmIGV2ZW50 IG5vdCBpbiBzZWxmLmhvb2tzOgorICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ1Vuc3Vw cG9ydGVkIGV2ZW50IHNwZWNpZmllZCwgd2l0aCBldmVudCBuYW1lICIlcyInICUgKGV2ZW50KSkK KyAKKy0gICAgICAgIGlmIGlzaW5zdGFuY2UoaG9vaywgY29sbGVjdGlvbnMuQ2FsbGFibGUpOgor KyAgICAgICAgaWYgaXNpbnN0YW5jZShob29rLCBjb2xsZWN0aW9ucy5hYmMuQ2FsbGFibGUpOgor ICAgICAgICAgICAgIHNlbGYuaG9va3NbZXZlbnRdLmFwcGVuZChob29rKQorICAgICAgICAgZWxp ZiBoYXNhdHRyKGhvb2ssICdfX2l0ZXJfXycpOgorLSAgICAgICAgICAgIHNlbGYuaG9va3NbZXZl bnRdLmV4dGVuZChoIGZvciBoIGluIGhvb2sgaWYgaXNpbnN0YW5jZShoLCBjb2xsZWN0aW9ucy5D YWxsYWJsZSkpCisrICAgICAgICAgICAgc2VsZi5ob29rc1tldmVudF0uZXh0ZW5kKGggZm9yIGgg aW4gaG9vayBpZiBpc2luc3RhbmNlKGgsIGNvbGxlY3Rpb25zLmFiYy5DYWxsYWJsZSkpCisgCisg ICAgIGRlZiBkZXJlZ2lzdGVyX2hvb2soc2VsZiwgZXZlbnQsIGhvb2spOgorICAgICAgICAgIiIi RGVyZWdpc3RlciBhIHByZXZpb3VzbHkgcmVnaXN0ZXJlZCBob29rLgorQEAgLTQ2MSw3ICs0NjEs NyBAQAorIAorICAgICAgICAgaXNfc3RyZWFtID0gYWxsKFsKKyAgICAgICAgICAgICBoYXNhdHRy KGRhdGEsICdfX2l0ZXJfXycpLAorLSAgICAgICAgICAgIG5vdCBpc2luc3RhbmNlKGRhdGEsIChi YXNlc3RyaW5nLCBsaXN0LCB0dXBsZSwgY29sbGVjdGlvbnMuTWFwcGluZykpCisrICAgICAgICAg ICAgbm90IGlzaW5zdGFuY2UoZGF0YSwgKGJhc2VzdHJpbmcsIGxpc3QsIHR1cGxlLCBjb2xsZWN0 aW9ucy5hYmMuTWFwcGluZykpCisgICAgICAgICBdKQorIAorICAgICAgICAgdHJ5OgorZGlmZiAt dXIgYS90aGlyZF9wYXJ0eS9weXRob24vcGlwZW52L3BpcGVudi9wYXRjaGVkL25vdHBpcC9fdmVu ZG9yL3JlcXVlc3RzL3N0cnVjdHVyZXMucHkgYi90aGlyZF9wYXJ0eS9weXRob24vcGlwZW52L3Bp cGVudi9wYXRjaGVkL25vdHBpcC9fdmVuZG9yL3JlcXVlc3RzL3N0cnVjdHVyZXMucHkKKy0tLSBh L3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3BhdGNoZWQvbm90cGlwL192ZW5kb3Iv cmVxdWVzdHMvc3RydWN0dXJlcy5weQkyMDIxLTA5LTAxIDEzOjI3OjAwLjAwMDAwMDAwMCAtMDQw MAorKysrIGIvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVudi9waXBlbnYvcGF0Y2hlZC9ub3RwaXAv X3ZlbmRvci9yZXF1ZXN0cy9zdHJ1Y3R1cmVzLnB5CTIwMjEtMTEtMDUgMTU6Mjk6MTIuMDAwMDAw MDAwIC0wNDAwCitAQCAtMTIsNyArMTIsNyBAQAorIGZyb20gLmNvbXBhdCBpbXBvcnQgT3JkZXJl ZERpY3QKKyAKKyAKKy1jbGFzcyBDYXNlSW5zZW5zaXRpdmVEaWN0KGNvbGxlY3Rpb25zLk11dGFi bGVNYXBwaW5nKToKKytjbGFzcyBDYXNlSW5zZW5zaXRpdmVEaWN0KGNvbGxlY3Rpb25zLmFiYy5N dXRhYmxlTWFwcGluZyk6CisgICAgICIiIkEgY2FzZS1pbnNlbnNpdGl2ZSBgYGRpY3RgYC1saWtl IG9iamVjdC4KKyAKKyAgICAgSW1wbGVtZW50cyBhbGwgbWV0aG9kcyBhbmQgb3BlcmF0aW9ucyBv ZgorQEAgLTcxLDcgKzcxLDcgQEAKKyAgICAgICAgICkKKyAKKyAgICAgZGVmIF9fZXFfXyhzZWxm LCBvdGhlcik6CistICAgICAgICBpZiBpc2luc3RhbmNlKG90aGVyLCBjb2xsZWN0aW9ucy5NYXBw aW5nKToKKysgICAgICAgIGlmIGlzaW5zdGFuY2Uob3RoZXIsIGNvbGxlY3Rpb25zLmFiYy5NYXBw aW5nKToKKyAgICAgICAgICAgICBvdGhlciA9IENhc2VJbnNlbnNpdGl2ZURpY3Qob3RoZXIpCisg ICAgICAgICBlbHNlOgorICAgICAgICAgICAgIHJldHVybiBOb3RJbXBsZW1lbnRlZAorZGlmZiAt dXIgYS90aGlyZF9wYXJ0eS9weXRob24vcGlwZW52L3BpcGVudi9wYXRjaGVkL25vdHBpcC9fdmVu ZG9yL3JlcXVlc3RzL3V0aWxzLnB5IGIvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVudi9waXBlbnYv cGF0Y2hlZC9ub3RwaXAvX3ZlbmRvci9yZXF1ZXN0cy91dGlscy5weQorLS0tIGEvdGhpcmRfcGFy dHkvcHl0aG9uL3BpcGVudi9waXBlbnYvcGF0Y2hlZC9ub3RwaXAvX3ZlbmRvci9yZXF1ZXN0cy91 dGlscy5weQkyMDIxLTA5LTAxIDEzOjI3OjAwLjAwMDAwMDAwMCAtMDQwMAorKysrIGIvdGhpcmRf cGFydHkvcHl0aG9uL3BpcGVudi9waXBlbnYvcGF0Y2hlZC9ub3RwaXAvX3ZlbmRvci9yZXF1ZXN0 cy91dGlscy5weQkyMDIxLTExLTA1IDE1OjMxOjQwLjE1Nzc0ODY2NSAtMDQwMAorQEAgLTI2Miw3 ICsyNjIsNyBAQAorICAgICBpZiBpc2luc3RhbmNlKHZhbHVlLCAoc3RyLCBieXRlcywgYm9vbCwg aW50KSk6CisgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCdjYW5ub3QgZW5jb2RlIG9iamVjdHMg dGhhdCBhcmUgbm90IDItdHVwbGVzJykKKyAKKy0gICAgaWYgaXNpbnN0YW5jZSh2YWx1ZSwgY29s bGVjdGlvbnMuTWFwcGluZyk6CisrICAgIGlmIGlzaW5zdGFuY2UodmFsdWUsIGNvbGxlY3Rpb25z LmFiYy5NYXBwaW5nKToKKyAgICAgICAgIHZhbHVlID0gdmFsdWUuaXRlbXMoKQorIAorICAgICBy ZXR1cm4gbGlzdCh2YWx1ZSkKK2RpZmYgLXVyIGEvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVudi9w aXBlbnYvcGF0Y2hlZC9ub3RwaXAvX3ZlbmRvci91cmxsaWIzL19jb2xsZWN0aW9ucy5weSBiL3Ro aXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3BhdGNoZWQvbm90cGlwL192ZW5kb3IvdXJs bGliMy9fY29sbGVjdGlvbnMucHkKKy0tLSBhL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlw ZW52L3BhdGNoZWQvbm90cGlwL192ZW5kb3IvdXJsbGliMy9fY29sbGVjdGlvbnMucHkJMjAyMS0w OS0wMSAxMzoyNzowMC4wMDAwMDAwMDAgLTA0MDAKKysrKyBiL3RoaXJkX3BhcnR5L3B5dGhvbi9w aXBlbnYvcGlwZW52L3BhdGNoZWQvbm90cGlwL192ZW5kb3IvdXJsbGliMy9fY29sbGVjdGlvbnMu cHkJMjAyMS0xMS0wNSAxNToyOToxMi4wMDAwMDAwMDAgLTA0MDAKK0BAIC0xLDUgKzEsNSBAQAor IGZyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0CistZnJvbSBjb2xsZWN0aW9u cyBpbXBvcnQgTWFwcGluZywgTXV0YWJsZU1hcHBpbmcKKytmcm9tIGNvbGxlY3Rpb25zLmFiYyBp bXBvcnQgTWFwcGluZywgTXV0YWJsZU1hcHBpbmcKKyB0cnk6CisgICAgIGZyb20gdGhyZWFkaW5n IGltcG9ydCBSTG9jaworIGV4Y2VwdCBJbXBvcnRFcnJvcjogICMgUGxhdGZvcm0tc3BlY2lmaWM6 IE5vIHRocmVhZHMgYXZhaWxhYmxlCitkaWZmIC11ciBhL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBl bnYvcGlwZW52L3ZlbmRvci9qaW5qYTIvc2FuZGJveC5weSBiL3RoaXJkX3BhcnR5L3B5dGhvbi9w aXBlbnYvcGlwZW52L3ZlbmRvci9qaW5qYTIvc2FuZGJveC5weQorLS0tIGEvdGhpcmRfcGFydHkv cHl0aG9uL3BpcGVudi9waXBlbnYvdmVuZG9yL2ppbmphMi9zYW5kYm94LnB5CTIwMjEtMDktMDEg MTM6Mjc6MDkuMDAwMDAwMDAwIC0wNDAwCisrKysgYi90aGlyZF9wYXJ0eS9weXRob24vcGlwZW52 L3BpcGVudi92ZW5kb3IvamluamEyL3NhbmRib3gucHkJMjAyMS0xMS0wNSAxNToyOToxMi4wMDAw MDAwMDAgLTA0MDAKK0BAIC0xNCw3ICsxNCw3IEBACisgIiIiCisgaW1wb3J0IHR5cGVzCisgaW1w b3J0IG9wZXJhdG9yCistZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgTWFwcGluZworK2Zyb20gY29s bGVjdGlvbnMuYWJjIGltcG9ydCBNYXBwaW5nCisgZnJvbSBqaW5qYTIuZW52aXJvbm1lbnQgaW1w b3J0IEVudmlyb25tZW50CisgZnJvbSBqaW5qYTIuZXhjZXB0aW9ucyBpbXBvcnQgU2VjdXJpdHlF cnJvcgorIGZyb20gamluamEyLl9jb21wYXQgaW1wb3J0IHN0cmluZ190eXBlcywgUFkyCitAQCAt NzksNyArNzksNyBAQAorICAgICBwYXNzCisgCisgIzogcmVnaXN0ZXIgUHl0aG9uIDIuNiBhYnN0 cmFjdCBiYXNlIGNsYXNzZXMKKy1mcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBNdXRhYmxlU2V0LCBN dXRhYmxlTWFwcGluZywgTXV0YWJsZVNlcXVlbmNlCisrZnJvbSBjb2xsZWN0aW9ucy5hYmMgaW1w b3J0IE11dGFibGVTZXQsIE11dGFibGVNYXBwaW5nLCBNdXRhYmxlU2VxdWVuY2UKKyBfbXV0YWJs ZV9zZXRfdHlwZXMgKz0gKE11dGFibGVTZXQsKQorIF9tdXRhYmxlX21hcHBpbmdfdHlwZXMgKz0g KE11dGFibGVNYXBwaW5nLCkKKyBfbXV0YWJsZV9zZXF1ZW5jZV90eXBlcyArPSAoTXV0YWJsZVNl cXVlbmNlLCkKK2RpZmYgLXVyIGEvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVudi9waXBlbnYvdmVu ZG9yL2ppbmphMi91dGlscy5weSBiL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3Zl bmRvci9qaW5qYTIvdXRpbHMucHkKKy0tLSBhL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlw ZW52L3ZlbmRvci9qaW5qYTIvdXRpbHMucHkJMjAyMS0wOS0wMSAxMzoyNzowMC4wMDAwMDAwMDAg LTA0MDAKKysrKyBiL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3ZlbmRvci9qaW5q YTIvdXRpbHMucHkJMjAyMS0xMS0wNSAxNToyOToxMi4wMDAwMDAwMDAgLTA0MDAKK0BAIC00ODIs NyArNDgyLDcgQEAKKyAKKyAjIHJlZ2lzdGVyIHRoZSBMUlUgY2FjaGUgYXMgbXV0YWJsZSBtYXBw aW5nIGlmIHBvc3NpYmxlCisgdHJ5OgorLSAgICBmcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBNdXRh YmxlTWFwcGluZworKyAgICBmcm9tIGNvbGxlY3Rpb25zLmFiYyBpbXBvcnQgTXV0YWJsZU1hcHBp bmcKKyAgICAgTXV0YWJsZU1hcHBpbmcucmVnaXN0ZXIoTFJVQ2FjaGUpCisgZXhjZXB0IEltcG9y dEVycm9yOgorICAgICBwYXNzCitkaWZmIC11ciBhL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYv cGlwZW52L3ZlbmRvci9waXA5L192ZW5kb3IvZGlzdGxpYi9jb21wYXQucHkgYi90aGlyZF9wYXJ0 eS9weXRob24vcGlwZW52L3BpcGVudi92ZW5kb3IvcGlwOS9fdmVuZG9yL2Rpc3RsaWIvY29tcGF0 LnB5CistLS0gYS90aGlyZF9wYXJ0eS9weXRob24vcGlwZW52L3BpcGVudi92ZW5kb3IvcGlwOS9f dmVuZG9yL2Rpc3RsaWIvY29tcGF0LnB5CTIwMjEtMDktMDEgMTM6Mjc6MDUuMDAwMDAwMDAwIC0w NDAwCisrKysgYi90aGlyZF9wYXJ0eS9weXRob24vcGlwZW52L3BpcGVudi92ZW5kb3IvcGlwOS9f dmVuZG9yL2Rpc3RsaWIvY29tcGF0LnB5CTIwMjEtMTEtMDUgMTU6Mjk6MTIuMDAwMDAwMDAwIC0w NDAwCitAQCAtMzE5LDcgKzMxOSw3IEBACisgdHJ5OgorICAgICBjYWxsYWJsZSA9IGNhbGxhYmxl CisgZXhjZXB0IE5hbWVFcnJvcjogICAjIHByYWdtYTogbm8gY292ZXIKKy0gICAgZnJvbSBjb2xs ZWN0aW9ucyBpbXBvcnQgQ2FsbGFibGUKKysgICAgZnJvbSBjb2xsZWN0aW9ucy5hYmMgaW1wb3J0 IENhbGxhYmxlCisgCisgICAgIGRlZiBjYWxsYWJsZShvYmopOgorICAgICAgICAgcmV0dXJuIGlz aW5zdGFuY2Uob2JqLCBDYWxsYWJsZSkKK0BAIC00NzUsNyArNDc1LDcgQEAKKyB0cnk6CisgICAg IGZyb20gY29sbGVjdGlvbnMgaW1wb3J0IENoYWluTWFwCisgZXhjZXB0IEltcG9ydEVycm9yOiAj IHByYWdtYTogbm8gY292ZXIKKy0gICAgZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgTXV0YWJsZU1h cHBpbmcKKysgICAgZnJvbSBjb2xsZWN0aW9ucy5hYmMgaW1wb3J0IE11dGFibGVNYXBwaW5nCisg CisgICAgIHRyeToKKyAgICAgICAgIGZyb20gcmVwcmxpYiBpbXBvcnQgcmVjdXJzaXZlX3JlcHIg YXMgX3JlY3Vyc2l2ZV9yZXByCitkaWZmIC11ciBhL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYv cGlwZW52L3ZlbmRvci9waXA5L192ZW5kb3IvaHRtbDVsaWIvdHJlZWJ1aWxkZXJzL2RvbS5weSBi L3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3ZlbmRvci9waXA5L192ZW5kb3IvaHRt bDVsaWIvdHJlZWJ1aWxkZXJzL2RvbS5weQorLS0tIGEvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVu di9waXBlbnYvdmVuZG9yL3BpcDkvX3ZlbmRvci9odG1sNWxpYi90cmVlYnVpbGRlcnMvZG9tLnB5 CTIwMjEtMDktMDEgMTM6Mjc6MDAuMDAwMDAwMDAwIC0wNDAwCisrKysgYi90aGlyZF9wYXJ0eS9w eXRob24vcGlwZW52L3BpcGVudi92ZW5kb3IvcGlwOS9fdmVuZG9yL2h0bWw1bGliL3RyZWVidWls ZGVycy9kb20ucHkJMjAyMS0xMS0wNSAxNToyOToxMi4wMDAwMDAwMDAgLTA0MDAKK0BAIC0xLDcg KzEsNyBAQAorIGZyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0LCBkaXZpc2lv biwgdW5pY29kZV9saXRlcmFscworIAorIAorLWZyb20gY29sbGVjdGlvbnMgaW1wb3J0IE11dGFi bGVNYXBwaW5nCisrZnJvbSBjb2xsZWN0aW9ucy5hYmMgaW1wb3J0IE11dGFibGVNYXBwaW5nCisg ZnJvbSB4bWwuZG9tIGltcG9ydCBtaW5pZG9tLCBOb2RlCisgaW1wb3J0IHdlYWtyZWYKKyAKK2Rp ZmYgLXVyIGEvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVudi9waXBlbnYvdmVuZG9yL3BpcDkvX3Zl bmRvci9weXBhcnNpbmcucHkgYi90aGlyZF9wYXJ0eS9weXRob24vcGlwZW52L3BpcGVudi92ZW5k b3IvcGlwOS9fdmVuZG9yL3B5cGFyc2luZy5weQorLS0tIGEvdGhpcmRfcGFydHkvcHl0aG9uL3Bp cGVudi9waXBlbnYvdmVuZG9yL3BpcDkvX3ZlbmRvci9weXBhcnNpbmcucHkJMjAyMS0wOS0wMSAx MzoyNjo0Ni4wMDAwMDAwMDAgLTA0MDAKKysrKyBiL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYv cGlwZW52L3ZlbmRvci9waXA5L192ZW5kb3IvcHlwYXJzaW5nLnB5CTIwMjEtMTEtMDUgMTU6Mjk6 MTIuMDAwMDAwMDAwIC0wNDAwCitAQCAtOTQwLDcgKzk0MCw3IEBACisgICAgIGRlZiBfX2Rpcl9f KHNlbGYpOgorICAgICAgICAgcmV0dXJuIChkaXIodHlwZShzZWxmKSkgKyBsaXN0KHNlbGYua2V5 cygpKSkKKyAKKy1jb2xsZWN0aW9ucy5NdXRhYmxlTWFwcGluZy5yZWdpc3RlcihQYXJzZVJlc3Vs dHMpCisrY29sbGVjdGlvbnMuYWJjLk11dGFibGVNYXBwaW5nLnJlZ2lzdGVyKFBhcnNlUmVzdWx0 cykKKyAKKyBkZWYgY29sIChsb2Msc3RyZyk6CisgICAgICIiIlJldHVybnMgY3VycmVudCBjb2x1 bW4gd2l0aGluIGEgc3RyaW5nLCBjb3VudGluZyBuZXdsaW5lcyBhcyBsaW5lIHNlcGFyYXRvcnMu CitAQCAtMzIyMyw3ICszMjIzLDcgQEAKKyAKKyAgICAgICAgIGlmIGlzaW5zdGFuY2UoIGV4cHJz LCBiYXNlc3RyaW5nICk6CisgICAgICAgICAgICAgc2VsZi5leHBycyA9IFsgUGFyc2VyRWxlbWVu dC5fbGl0ZXJhbFN0cmluZ0NsYXNzKCBleHBycyApIF0KKy0gICAgICAgIGVsaWYgaXNpbnN0YW5j ZSggZXhwcnMsIGNvbGxlY3Rpb25zLkl0ZXJhYmxlICk6CisrICAgICAgICBlbGlmIGlzaW5zdGFu Y2UoIGV4cHJzLCBjb2xsZWN0aW9ucy5hYmMuSXRlcmFibGUgKToKKyAgICAgICAgICAgICBleHBy cyA9IGxpc3QoZXhwcnMpCisgICAgICAgICAgICAgIyBpZiBzZXF1ZW5jZSBvZiBzdHJpbmdzIHBy b3ZpZGVkLCB3cmFwIHdpdGggTGl0ZXJhbAorICAgICAgICAgICAgIGlmIGFsbChpc2luc3RhbmNl KGV4cHIsIGJhc2VzdHJpbmcpIGZvciBleHByIGluIGV4cHJzKToKK0BAIC00NTY0LDcgKzQ1NjQs NyBAQAorICAgICBzeW1ib2xzID0gW10KKyAgICAgaWYgaXNpbnN0YW5jZShzdHJzLGJhc2VzdHJp bmcpOgorICAgICAgICAgc3ltYm9scyA9IHN0cnMuc3BsaXQoKQorLSAgICBlbGlmIGlzaW5zdGFu Y2Uoc3RycywgY29sbGVjdGlvbnMuSXRlcmFibGUpOgorKyAgICBlbGlmIGlzaW5zdGFuY2Uoc3Ry cywgY29sbGVjdGlvbnMuYWJjLkl0ZXJhYmxlKToKKyAgICAgICAgIHN5bWJvbHMgPSBsaXN0KHN0 cnMpCisgICAgIGVsc2U6CisgICAgICAgICB3YXJuaW5ncy53YXJuKCJJbnZhbGlkIGFyZ3VtZW50 IHRvIG9uZU9mLCBleHBlY3RlZCBzdHJpbmcgb3IgaXRlcmFibGUiLAorZGlmZiAtdXIgYS90aGly ZF9wYXJ0eS9weXRob24vcGlwZW52L3BpcGVudi92ZW5kb3IvcGlwOS9fdmVuZG9yL3JlcXVlc3Rz L2Nvb2tpZXMucHkgYi90aGlyZF9wYXJ0eS9weXRob24vcGlwZW52L3BpcGVudi92ZW5kb3IvcGlw OS9fdmVuZG9yL3JlcXVlc3RzL2Nvb2tpZXMucHkKKy0tLSBhL3RoaXJkX3BhcnR5L3B5dGhvbi9w aXBlbnYvcGlwZW52L3ZlbmRvci9waXA5L192ZW5kb3IvcmVxdWVzdHMvY29va2llcy5weQkyMDIx LTA5LTAxIDEzOjI3OjAwLjAwMDAwMDAwMCAtMDQwMAorKysrIGIvdGhpcmRfcGFydHkvcHl0aG9u L3BpcGVudi9waXBlbnYvdmVuZG9yL3BpcDkvX3ZlbmRvci9yZXF1ZXN0cy9jb29raWVzLnB5CTIw MjEtMTEtMDUgMTU6Mjk6MTIuMDAwMDAwMDAwIC0wNDAwCitAQCAtMTY5LDcgKzE2OSw3IEBACisg ICAgICIiIgorIAorIAorLWNsYXNzIFJlcXVlc3RzQ29va2llSmFyKGNvb2tpZWxpYi5Db29raWVK YXIsIGNvbGxlY3Rpb25zLk11dGFibGVNYXBwaW5nKToKKytjbGFzcyBSZXF1ZXN0c0Nvb2tpZUph cihjb29raWVsaWIuQ29va2llSmFyLCBjb2xsZWN0aW9ucy5hYmMuTXV0YWJsZU1hcHBpbmcpOgor ICAgICAiIiJDb21wYXRpYmlsaXR5IGNsYXNzOyBpcyBhIGNvb2tpZWxpYi5Db29raWVKYXIsIGJ1 dCBleHBvc2VzIGEgZGljdAorICAgICBpbnRlcmZhY2UuCisgCitkaWZmIC11ciBhL3RoaXJkX3Bh cnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3ZlbmRvci9waXA5L192ZW5kb3IvcmVxdWVzdHMvbW9k ZWxzLnB5IGIvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVudi9waXBlbnYvdmVuZG9yL3BpcDkvX3Zl bmRvci9yZXF1ZXN0cy9tb2RlbHMucHkKKy0tLSBhL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYv cGlwZW52L3ZlbmRvci9waXA5L192ZW5kb3IvcmVxdWVzdHMvbW9kZWxzLnB5CTIwMjEtMDktMDEg MTM6MjY6NDYuMDAwMDAwMDAwIC0wNDAwCisrKysgYi90aGlyZF9wYXJ0eS9weXRob24vcGlwZW52 L3BpcGVudi92ZW5kb3IvcGlwOS9fdmVuZG9yL3JlcXVlc3RzL21vZGVscy5weQkyMDIxLTExLTA1 IDE1OjMxOjUyLjM5Nzc0NTgyNSAtMDQwMAorQEAgLTE3NCwxMCArMTc0LDEwIEBACisgICAgICAg ICBpZiBldmVudCBub3QgaW4gc2VsZi5ob29rczoKKyAgICAgICAgICAgICByYWlzZSBWYWx1ZUVy cm9yKCdVbnN1cHBvcnRlZCBldmVudCBzcGVjaWZpZWQsIHdpdGggZXZlbnQgbmFtZSAiJXMiJyAl IChldmVudCkpCisgCistICAgICAgICBpZiBpc2luc3RhbmNlKGhvb2ssIGNvbGxlY3Rpb25zLkNh bGxhYmxlKToKKysgICAgICAgIGlmIGlzaW5zdGFuY2UoaG9vaywgY29sbGVjdGlvbnMuYWJjLkNh bGxhYmxlKToKKyAgICAgICAgICAgICBzZWxmLmhvb2tzW2V2ZW50XS5hcHBlbmQoaG9vaykKKyAg ICAgICAgIGVsaWYgaGFzYXR0cihob29rLCAnX19pdGVyX18nKToKKy0gICAgICAgICAgICBzZWxm Lmhvb2tzW2V2ZW50XS5leHRlbmQoaCBmb3IgaCBpbiBob29rIGlmIGlzaW5zdGFuY2UoaCwgY29s bGVjdGlvbnMuQ2FsbGFibGUpKQorKyAgICAgICAgICAgIHNlbGYuaG9va3NbZXZlbnRdLmV4dGVu ZChoIGZvciBoIGluIGhvb2sgaWYgaXNpbnN0YW5jZShoLCBjb2xsZWN0aW9ucy5hYmMuQ2FsbGFi bGUpKQorIAorICAgICBkZWYgZGVyZWdpc3Rlcl9ob29rKHNlbGYsIGV2ZW50LCBob29rKToKKyAg ICAgICAgICIiIkRlcmVnaXN0ZXIgYSBwcmV2aW91c2x5IHJlZ2lzdGVyZWQgaG9vay4KK0BAIC00 NjEsNyArNDYxLDcgQEAKKyAKKyAgICAgICAgIGlzX3N0cmVhbSA9IGFsbChbCisgICAgICAgICAg ICAgaGFzYXR0cihkYXRhLCAnX19pdGVyX18nKSwKKy0gICAgICAgICAgICBub3QgaXNpbnN0YW5j ZShkYXRhLCAoYmFzZXN0cmluZywgbGlzdCwgdHVwbGUsIGNvbGxlY3Rpb25zLk1hcHBpbmcpKQor KyAgICAgICAgICAgIG5vdCBpc2luc3RhbmNlKGRhdGEsIChiYXNlc3RyaW5nLCBsaXN0LCB0dXBs ZSwgY29sbGVjdGlvbnMuYWJjLk1hcHBpbmcpKQorICAgICAgICAgXSkKKyAKKyAgICAgICAgIHRy eToKK2RpZmYgLXVyIGEvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVudi9waXBlbnYvdmVuZG9yL3Bp cDkvX3ZlbmRvci9yZXF1ZXN0cy9zdHJ1Y3R1cmVzLnB5IGIvdGhpcmRfcGFydHkvcHl0aG9uL3Bp cGVudi9waXBlbnYvdmVuZG9yL3BpcDkvX3ZlbmRvci9yZXF1ZXN0cy9zdHJ1Y3R1cmVzLnB5Cist LS0gYS90aGlyZF9wYXJ0eS9weXRob24vcGlwZW52L3BpcGVudi92ZW5kb3IvcGlwOS9fdmVuZG9y L3JlcXVlc3RzL3N0cnVjdHVyZXMucHkJMjAyMS0wOS0wMSAxMzoyNzowOS4wMDAwMDAwMDAgLTA0 MDAKKysrKyBiL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3ZlbmRvci9waXA5L192 ZW5kb3IvcmVxdWVzdHMvc3RydWN0dXJlcy5weQkyMDIxLTExLTA1IDE1OjMyOjAyLjc2NTc0MzQx MyAtMDQwMAorQEAgLTEyLDcgKzEyLDcgQEAKKyBmcm9tIC5jb21wYXQgaW1wb3J0IE9yZGVyZWRE aWN0CisgCisgCistY2xhc3MgQ2FzZUluc2Vuc2l0aXZlRGljdChjb2xsZWN0aW9ucy5NdXRhYmxl TWFwcGluZyk6CisrY2xhc3MgQ2FzZUluc2Vuc2l0aXZlRGljdChjb2xsZWN0aW9ucy5hYmMuTXV0 YWJsZU1hcHBpbmcpOgorICAgICAiIiJBIGNhc2UtaW5zZW5zaXRpdmUgYGBkaWN0YGAtbGlrZSBv YmplY3QuCisgCisgICAgIEltcGxlbWVudHMgYWxsIG1ldGhvZHMgYW5kIG9wZXJhdGlvbnMgb2YK K0BAIC03MSw3ICs3MSw3IEBACisgICAgICAgICApCisgCisgICAgIGRlZiBfX2VxX18oc2VsZiwg b3RoZXIpOgorLSAgICAgICAgaWYgaXNpbnN0YW5jZShvdGhlciwgY29sbGVjdGlvbnMuTWFwcGlu Zyk6CisrICAgICAgICBpZiBpc2luc3RhbmNlKG90aGVyLCBjb2xsZWN0aW9ucy5hYmMuTWFwcGlu Zyk6CisgICAgICAgICAgICAgb3RoZXIgPSBDYXNlSW5zZW5zaXRpdmVEaWN0KG90aGVyKQorICAg ICAgICAgZWxzZToKKyAgICAgICAgICAgICByZXR1cm4gTm90SW1wbGVtZW50ZWQKK2RpZmYgLXVy IGEvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVudi9waXBlbnYvdmVuZG9yL3BpcDkvX3ZlbmRvci9y ZXF1ZXN0cy91dGlscy5weSBiL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3ZlbmRv ci9waXA5L192ZW5kb3IvcmVxdWVzdHMvdXRpbHMucHkKKy0tLSBhL3RoaXJkX3BhcnR5L3B5dGhv bi9waXBlbnYvcGlwZW52L3ZlbmRvci9waXA5L192ZW5kb3IvcmVxdWVzdHMvdXRpbHMucHkJMjAy MS0wOS0wMSAxMzoyNzowMC4wMDAwMDAwMDAgLTA0MDAKKysrKyBiL3RoaXJkX3BhcnR5L3B5dGhv bi9waXBlbnYvcGlwZW52L3ZlbmRvci9waXA5L192ZW5kb3IvcmVxdWVzdHMvdXRpbHMucHkJMjAy MS0xMS0wNSAxNTozMTo1Ny4xMjM3NDQ3MjQgLTA0MDAKK0BAIC0yNjIsNyArMjYyLDcgQEAKKyAg ICAgaWYgaXNpbnN0YW5jZSh2YWx1ZSwgKHN0ciwgYnl0ZXMsIGJvb2wsIGludCkpOgorICAgICAg ICAgcmFpc2UgVmFsdWVFcnJvcignY2Fubm90IGVuY29kZSBvYmplY3RzIHRoYXQgYXJlIG5vdCAy LXR1cGxlcycpCisgCistICAgIGlmIGlzaW5zdGFuY2UodmFsdWUsIGNvbGxlY3Rpb25zLk1hcHBp bmcpOgorKyAgICBpZiBpc2luc3RhbmNlKHZhbHVlLCBjb2xsZWN0aW9ucy5hYmMuTWFwcGluZyk6 CisgICAgICAgICB2YWx1ZSA9IHZhbHVlLml0ZW1zKCkKKyAKKyAgICAgcmV0dXJuIGxpc3QodmFs dWUpCitkaWZmIC11ciBhL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3ZlbmRvci9w aXA5L192ZW5kb3IvdXJsbGliMy9fY29sbGVjdGlvbnMucHkgYi90aGlyZF9wYXJ0eS9weXRob24v cGlwZW52L3BpcGVudi92ZW5kb3IvcGlwOS9fdmVuZG9yL3VybGxpYjMvX2NvbGxlY3Rpb25zLnB5 CistLS0gYS90aGlyZF9wYXJ0eS9weXRob24vcGlwZW52L3BpcGVudi92ZW5kb3IvcGlwOS9fdmVu ZG9yL3VybGxpYjMvX2NvbGxlY3Rpb25zLnB5CTIwMjEtMDktMDEgMTM6Mjc6MDAuMDAwMDAwMDAw IC0wNDAwCisrKysgYi90aGlyZF9wYXJ0eS9weXRob24vcGlwZW52L3BpcGVudi92ZW5kb3IvcGlw OS9fdmVuZG9yL3VybGxpYjMvX2NvbGxlY3Rpb25zLnB5CTIwMjEtMTEtMDUgMTU6Mjk6MTIuMDAw MDAwMDAwIC0wNDAwCitAQCAtMSw1ICsxLDUgQEAKKyBmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFi c29sdXRlX2ltcG9ydAorLWZyb20gY29sbGVjdGlvbnMgaW1wb3J0IE1hcHBpbmcsIE11dGFibGVN YXBwaW5nCisrZnJvbSBjb2xsZWN0aW9ucy5hYmMgaW1wb3J0IE1hcHBpbmcsIE11dGFibGVNYXBw aW5nCisgdHJ5OgorICAgICBmcm9tIHRocmVhZGluZyBpbXBvcnQgUkxvY2sKKyBleGNlcHQgSW1w b3J0RXJyb3I6ICAjIFBsYXRmb3JtLXNwZWNpZmljOiBObyB0aHJlYWRzIGF2YWlsYWJsZQorZGlm ZiAtdXIgYS90aGlyZF9wYXJ0eS9weXRob24vcGlwZW52L3BpcGVudi92ZW5kb3IvcmVxdWVzdHMv Y29va2llcy5weSBiL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3ZlbmRvci9yZXF1 ZXN0cy9jb29raWVzLnB5CistLS0gYS90aGlyZF9wYXJ0eS9weXRob24vcGlwZW52L3BpcGVudi92 ZW5kb3IvcmVxdWVzdHMvY29va2llcy5weQkyMDIxLTA5LTAxIDEzOjI3OjAwLjAwMDAwMDAwMCAt MDQwMAorKysrIGIvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVudi9waXBlbnYvdmVuZG9yL3JlcXVl c3RzL2Nvb2tpZXMucHkJMjAyMS0xMS0wNSAxNToyOToxMi4wMDAwMDAwMDAgLTA0MDAKK0BAIC0x NjksNyArMTY5LDcgQEAKKyAgICAgIiIiCisgCisgCistY2xhc3MgUmVxdWVzdHNDb29raWVKYXIo Y29va2llbGliLkNvb2tpZUphciwgY29sbGVjdGlvbnMuTXV0YWJsZU1hcHBpbmcpOgorK2NsYXNz IFJlcXVlc3RzQ29va2llSmFyKGNvb2tpZWxpYi5Db29raWVKYXIsIGNvbGxlY3Rpb25zLmFiYy5N dXRhYmxlTWFwcGluZyk6CisgICAgICIiIkNvbXBhdGliaWxpdHkgY2xhc3M7IGlzIGEgY29va2ll bGliLkNvb2tpZUphciwgYnV0IGV4cG9zZXMgYSBkaWN0CisgICAgIGludGVyZmFjZS4KKyAKK2Rp ZmYgLXVyIGEvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVudi9waXBlbnYvdmVuZG9yL3JlcXVlc3Rz L21vZGVscy5weSBiL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3ZlbmRvci9yZXF1 ZXN0cy9tb2RlbHMucHkKKy0tLSBhL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3Zl bmRvci9yZXF1ZXN0cy9tb2RlbHMucHkJMjAyMS0wOS0wMSAxMzoyNzowOS4wMDAwMDAwMDAgLTA0 MDAKKysrKyBiL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3ZlbmRvci9yZXF1ZXN0 cy9tb2RlbHMucHkJMjAyMS0xMS0wNSAxNTozMjowOS43MzI3NDE3OTMgLTA0MDAKK0BAIC0xNzQs MTAgKzE3NCwxMCBAQAorICAgICAgICAgaWYgZXZlbnQgbm90IGluIHNlbGYuaG9va3M6CisgICAg ICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignVW5zdXBwb3J0ZWQgZXZlbnQgc3BlY2lmaWVkLCB3 aXRoIGV2ZW50IG5hbWUgIiVzIicgJSAoZXZlbnQpKQorIAorLSAgICAgICAgaWYgaXNpbnN0YW5j ZShob29rLCBjb2xsZWN0aW9ucy5DYWxsYWJsZSk6CisrICAgICAgICBpZiBpc2luc3RhbmNlKGhv b2ssIGNvbGxlY3Rpb25zLmFiYy5DYWxsYWJsZSk6CisgICAgICAgICAgICAgc2VsZi5ob29rc1tl dmVudF0uYXBwZW5kKGhvb2spCisgICAgICAgICBlbGlmIGhhc2F0dHIoaG9vaywgJ19faXRlcl9f Jyk6CistICAgICAgICAgICAgc2VsZi5ob29rc1tldmVudF0uZXh0ZW5kKGggZm9yIGggaW4gaG9v ayBpZiBpc2luc3RhbmNlKGgsIGNvbGxlY3Rpb25zLkNhbGxhYmxlKSkKKysgICAgICAgICAgICBz ZWxmLmhvb2tzW2V2ZW50XS5leHRlbmQoaCBmb3IgaCBpbiBob29rIGlmIGlzaW5zdGFuY2UoaCwg Y29sbGVjdGlvbnMuYWJjLkNhbGxhYmxlKSkKKyAKKyAgICAgZGVmIGRlcmVnaXN0ZXJfaG9vayhz ZWxmLCBldmVudCwgaG9vayk6CisgICAgICAgICAiIiJEZXJlZ2lzdGVyIGEgcHJldmlvdXNseSBy ZWdpc3RlcmVkIGhvb2suCitAQCAtNDYxLDcgKzQ2MSw3IEBACisgCisgICAgICAgICBpc19zdHJl YW0gPSBhbGwoWworICAgICAgICAgICAgIGhhc2F0dHIoZGF0YSwgJ19faXRlcl9fJyksCistICAg ICAgICAgICAgbm90IGlzaW5zdGFuY2UoZGF0YSwgKGJhc2VzdHJpbmcsIGxpc3QsIHR1cGxlLCBj b2xsZWN0aW9ucy5NYXBwaW5nKSkKKysgICAgICAgICAgICBub3QgaXNpbnN0YW5jZShkYXRhLCAo YmFzZXN0cmluZywgbGlzdCwgdHVwbGUsIGNvbGxlY3Rpb25zLmFiYy5NYXBwaW5nKSkKKyAgICAg ICAgIF0pCisgCisgICAgICAgICB0cnk6CitkaWZmIC11ciBhL3RoaXJkX3BhcnR5L3B5dGhvbi9w aXBlbnYvcGlwZW52L3ZlbmRvci9yZXF1ZXN0cy9zdHJ1Y3R1cmVzLnB5IGIvdGhpcmRfcGFydHkv cHl0aG9uL3BpcGVudi9waXBlbnYvdmVuZG9yL3JlcXVlc3RzL3N0cnVjdHVyZXMucHkKKy0tLSBh L3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3ZlbmRvci9yZXF1ZXN0cy9zdHJ1Y3R1 cmVzLnB5CTIwMjEtMDktMDEgMTM6Mjc6MDAuMDAwMDAwMDAwIC0wNDAwCisrKysgYi90aGlyZF9w YXJ0eS9weXRob24vcGlwZW52L3BpcGVudi92ZW5kb3IvcmVxdWVzdHMvc3RydWN0dXJlcy5weQky MDIxLTExLTA1IDE1OjI5OjEyLjAwMDAwMDAwMCAtMDQwMAorQEAgLTEyLDcgKzEyLDcgQEAKKyBm cm9tIC5jb21wYXQgaW1wb3J0IE9yZGVyZWREaWN0CisgCisgCistY2xhc3MgQ2FzZUluc2Vuc2l0 aXZlRGljdChjb2xsZWN0aW9ucy5NdXRhYmxlTWFwcGluZyk6CisrY2xhc3MgQ2FzZUluc2Vuc2l0 aXZlRGljdChjb2xsZWN0aW9ucy5hYmMuTXV0YWJsZU1hcHBpbmcpOgorICAgICAiIiJBIGNhc2Ut aW5zZW5zaXRpdmUgYGBkaWN0YGAtbGlrZSBvYmplY3QuCisgCisgICAgIEltcGxlbWVudHMgYWxs IG1ldGhvZHMgYW5kIG9wZXJhdGlvbnMgb2YKK0BAIC03MSw3ICs3MSw3IEBACisgICAgICAgICAp CisgCisgICAgIGRlZiBfX2VxX18oc2VsZiwgb3RoZXIpOgorLSAgICAgICAgaWYgaXNpbnN0YW5j ZShvdGhlciwgY29sbGVjdGlvbnMuTWFwcGluZyk6CisrICAgICAgICBpZiBpc2luc3RhbmNlKG90 aGVyLCBjb2xsZWN0aW9ucy5hYmMuTWFwcGluZyk6CisgICAgICAgICAgICAgb3RoZXIgPSBDYXNl SW5zZW5zaXRpdmVEaWN0KG90aGVyKQorICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICByZXR1 cm4gTm90SW1wbGVtZW50ZWQKK2RpZmYgLXVyIGEvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVudi9w aXBlbnYvdmVuZG9yL3JlcXVlc3RzL3V0aWxzLnB5IGIvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVu di9waXBlbnYvdmVuZG9yL3JlcXVlc3RzL3V0aWxzLnB5CistLS0gYS90aGlyZF9wYXJ0eS9weXRo b24vcGlwZW52L3BpcGVudi92ZW5kb3IvcmVxdWVzdHMvdXRpbHMucHkJMjAyMS0wOS0wMSAxMzoy NzowMC4wMDAwMDAwMDAgLTA0MDAKKysrKyBiL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlw ZW52L3ZlbmRvci9yZXF1ZXN0cy91dGlscy5weQkyMDIxLTExLTA1IDE1OjMyOjEzLjc3Njc0MDg2 MCAtMDQwMAorQEAgLTI2Miw3ICsyNjIsNyBAQAorICAgICBpZiBpc2luc3RhbmNlKHZhbHVlLCAo c3RyLCBieXRlcywgYm9vbCwgaW50KSk6CisgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCdjYW5u b3QgZW5jb2RlIG9iamVjdHMgdGhhdCBhcmUgbm90IDItdHVwbGVzJykKKyAKKy0gICAgaWYgaXNp bnN0YW5jZSh2YWx1ZSwgY29sbGVjdGlvbnMuTWFwcGluZyk6CisrICAgIGlmIGlzaW5zdGFuY2Uo dmFsdWUsIGNvbGxlY3Rpb25zLmFiYy5NYXBwaW5nKToKKyAgICAgICAgIHZhbHVlID0gdmFsdWUu aXRlbXMoKQorIAorICAgICByZXR1cm4gbGlzdCh2YWx1ZSkKK2RpZmYgLXVyIGEvdGhpcmRfcGFy dHkvcHl0aG9uL3BpcGVudi9waXBlbnYvdmVuZG9yL3VybGxpYjMvX2NvbGxlY3Rpb25zLnB5IGIv dGhpcmRfcGFydHkvcHl0aG9uL3BpcGVudi9waXBlbnYvdmVuZG9yL3VybGxpYjMvX2NvbGxlY3Rp b25zLnB5CistLS0gYS90aGlyZF9wYXJ0eS9weXRob24vcGlwZW52L3BpcGVudi92ZW5kb3IvdXJs bGliMy9fY29sbGVjdGlvbnMucHkJMjAyMS0wOS0wMSAxMzoyNjo0Ni4wMDAwMDAwMDAgLTA0MDAK KysrKyBiL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3ZlbmRvci91cmxsaWIzL19j b2xsZWN0aW9ucy5weQkyMDIxLTExLTA1IDE1OjI5OjEyLjAwMDAwMDAwMCAtMDQwMAorQEAgLTEs NSArMSw1IEBACisgZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQKKy1mcm9t IGNvbGxlY3Rpb25zIGltcG9ydCBNYXBwaW5nLCBNdXRhYmxlTWFwcGluZworK2Zyb20gY29sbGVj dGlvbnMuYWJjIGltcG9ydCBNYXBwaW5nLCBNdXRhYmxlTWFwcGluZworIHRyeToKKyAgICAgZnJv bSB0aHJlYWRpbmcgaW1wb3J0IFJMb2NrCisgZXhjZXB0IEltcG9ydEVycm9yOiAgIyBQbGF0Zm9y bS1zcGVjaWZpYzogTm8gdGhyZWFkcyBhdmFpbGFibGUKK2RpZmYgLXVyIGEvdGhpcmRfcGFydHkv cHl0aG9uL3B5eWFtbC9saWIzL3lhbWwvY29uc3RydWN0b3IucHkgYi90aGlyZF9wYXJ0eS9weXRo b24vcHl5YW1sL2xpYjMveWFtbC9jb25zdHJ1Y3Rvci5weQorLS0tIGEvdGhpcmRfcGFydHkvcHl0 aG9uL3B5eWFtbC9saWIzL3lhbWwvY29uc3RydWN0b3IucHkJMjAyMS0wOS0wMSAxMzoyNzowMC4w MDAwMDAwMDAgLTA0MDAKKysrKyBiL3RoaXJkX3BhcnR5L3B5dGhvbi9weXlhbWwvbGliMy95YW1s L2NvbnN0cnVjdG9yLnB5CTIwMjEtMTEtMDUgMTU6Mjk6MTIuMDAwMDAwMDAwIC0wNDAwCitAQCAt MTIzLDcgKzEyMyw3IEBACisgICAgICAgICBtYXBwaW5nID0ge30KKyAgICAgICAgIGZvciBrZXlf bm9kZSwgdmFsdWVfbm9kZSBpbiBub2RlLnZhbHVlOgorICAgICAgICAgICAgIGtleSA9IHNlbGYu Y29uc3RydWN0X29iamVjdChrZXlfbm9kZSwgZGVlcD1kZWVwKQorLSAgICAgICAgICAgIGlmIG5v dCBpc2luc3RhbmNlKGtleSwgY29sbGVjdGlvbnMuSGFzaGFibGUpOgorKyAgICAgICAgICAgIGlm IG5vdCBpc2luc3RhbmNlKGtleSwgY29sbGVjdGlvbnMuYWJjLkhhc2hhYmxlKToKKyAgICAgICAg ICAgICAgICAgcmFpc2UgQ29uc3RydWN0b3JFcnJvcigid2hpbGUgY29uc3RydWN0aW5nIGEgbWFw cGluZyIsIG5vZGUuc3RhcnRfbWFyaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAiZm91bmQg dW5oYXNoYWJsZSBrZXkiLCBrZXlfbm9kZS5zdGFydF9tYXJrKQorICAgICAgICAgICAgIHZhbHVl ID0gc2VsZi5jb25zdHJ1Y3Rfb2JqZWN0KHZhbHVlX25vZGUsIGRlZXA9ZGVlcCkKK2RpZmYgLXVy IGEvdGhpcmRfcGFydHkvcHl0aG9uL3JlcXVlc3RzL3JlcXVlc3RzL2Nvb2tpZXMucHkgYi90aGly ZF9wYXJ0eS9weXRob24vcmVxdWVzdHMvcmVxdWVzdHMvY29va2llcy5weQorLS0tIGEvdGhpcmRf cGFydHkvcHl0aG9uL3JlcXVlc3RzL3JlcXVlc3RzL2Nvb2tpZXMucHkJMjAyMS0wOS0wMSAxMzoy NzowNS4wMDAwMDAwMDAgLTA0MDAKKysrKyBiL3RoaXJkX3BhcnR5L3B5dGhvbi9yZXF1ZXN0cy9y ZXF1ZXN0cy9jb29raWVzLnB5CTIwMjEtMTEtMDUgMTU6Mjk6MTIuMDAwMDAwMDAwIC0wNDAwCitA QCAtMTYxLDcgKzE2MSw3IEBACisgICAgIFVzZSAuZ2V0IGFuZCAuc2V0IGFuZCBpbmNsdWRlIGRv bWFpbiBhbmQgcGF0aCBhcmdzIGluIG9yZGVyIHRvIGJlIG1vcmUgc3BlY2lmaWMuIiIiCisgCisg CistY2xhc3MgUmVxdWVzdHNDb29raWVKYXIoY29va2llbGliLkNvb2tpZUphciwgY29sbGVjdGlv bnMuTXV0YWJsZU1hcHBpbmcpOgorK2NsYXNzIFJlcXVlc3RzQ29va2llSmFyKGNvb2tpZWxpYi5D b29raWVKYXIsIGNvbGxlY3Rpb25zLmFiYy5NdXRhYmxlTWFwcGluZyk6CisgICAgICIiIkNvbXBh dGliaWxpdHkgY2xhc3M7IGlzIGEgY29va2llbGliLkNvb2tpZUphciwgYnV0IGV4cG9zZXMgYSBk aWN0CisgICAgIGludGVyZmFjZS4KKyAKK2RpZmYgLXVyIGEvdGhpcmRfcGFydHkvcHl0aG9uL3Jl cXVlc3RzL3JlcXVlc3RzL3BhY2thZ2VzL3VybGxpYjMvX2NvbGxlY3Rpb25zLnB5IGIvdGhpcmRf cGFydHkvcHl0aG9uL3JlcXVlc3RzL3JlcXVlc3RzL3BhY2thZ2VzL3VybGxpYjMvX2NvbGxlY3Rp b25zLnB5CistLS0gYS90aGlyZF9wYXJ0eS9weXRob24vcmVxdWVzdHMvcmVxdWVzdHMvcGFja2Fn ZXMvdXJsbGliMy9fY29sbGVjdGlvbnMucHkJMjAyMS0wOS0wMSAxMzoyNzoxMy4wMDAwMDAwMDAg LTA0MDAKKysrKyBiL3RoaXJkX3BhcnR5L3B5dGhvbi9yZXF1ZXN0cy9yZXF1ZXN0cy9wYWNrYWdl cy91cmxsaWIzL19jb2xsZWN0aW9ucy5weQkyMDIxLTExLTA1IDE1OjI5OjEyLjAwMDAwMDAwMCAt MDQwMAorQEAgLTEsNSArMSw1IEBACisgZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9p bXBvcnQKKy1mcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBNYXBwaW5nLCBNdXRhYmxlTWFwcGluZwor K2Zyb20gY29sbGVjdGlvbnMuYWJjIGltcG9ydCBNYXBwaW5nLCBNdXRhYmxlTWFwcGluZworIHRy eToKKyAgICAgZnJvbSB0aHJlYWRpbmcgaW1wb3J0IFJMb2NrCisgZXhjZXB0IEltcG9ydEVycm9y OiAgIyBQbGF0Zm9ybS1zcGVjaWZpYzogTm8gdGhyZWFkcyBhdmFpbGFibGUKK2RpZmYgLXVyIGEv dGhpcmRfcGFydHkvcHl0aG9uL3JlcXVlc3RzL3JlcXVlc3RzL3N0cnVjdHVyZXMucHkgYi90aGly ZF9wYXJ0eS9weXRob24vcmVxdWVzdHMvcmVxdWVzdHMvc3RydWN0dXJlcy5weQorLS0tIGEvdGhp cmRfcGFydHkvcHl0aG9uL3JlcXVlc3RzL3JlcXVlc3RzL3N0cnVjdHVyZXMucHkJMjAyMS0wOS0w MSAxMzoyNzowOS4wMDAwMDAwMDAgLTA0MDAKKysrKyBiL3RoaXJkX3BhcnR5L3B5dGhvbi9yZXF1 ZXN0cy9yZXF1ZXN0cy9zdHJ1Y3R1cmVzLnB5CTIwMjEtMTEtMDUgMTU6Mjk6MTIuMDAwMDAwMDAw IC0wNDAwCitAQCAtMTEsNyArMTEsNyBAQAorIGltcG9ydCBjb2xsZWN0aW9ucworIAorIAorLWNs YXNzIENhc2VJbnNlbnNpdGl2ZURpY3QoY29sbGVjdGlvbnMuTXV0YWJsZU1hcHBpbmcpOgorK2Ns YXNzIENhc2VJbnNlbnNpdGl2ZURpY3QoY29sbGVjdGlvbnMuYWJjLk11dGFibGVNYXBwaW5nKToK KyAgICAgIiIiCisgICAgIEEgY2FzZS1pbnNlbnNpdGl2ZSBgYGRpY3RgYC1saWtlIG9iamVjdC4K KyAKK0BAIC03MSw3ICs3MSw3IEBACisgICAgICAgICApCisgCisgICAgIGRlZiBfX2VxX18oc2Vs Ziwgb3RoZXIpOgorLSAgICAgICAgaWYgaXNpbnN0YW5jZShvdGhlciwgY29sbGVjdGlvbnMuTWFw cGluZyk6CisrICAgICAgICBpZiBpc2luc3RhbmNlKG90aGVyLCBjb2xsZWN0aW9ucy5hYmMuTWFw cGluZyk6CisgICAgICAgICAgICAgb3RoZXIgPSBDYXNlSW5zZW5zaXRpdmVEaWN0KG90aGVyKQor ICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICByZXR1cm4gTm90SW1wbGVtZW50ZWQKK2RpZmYg LXVyIGEvdGhpcmRfcGFydHkvcHl0aG9uL3JlcXVlc3RzL3JlcXVlc3RzL3V0aWxzLnB5IGIvdGhp cmRfcGFydHkvcHl0aG9uL3JlcXVlc3RzL3JlcXVlc3RzL3V0aWxzLnB5CistLS0gYS90aGlyZF9w YXJ0eS9weXRob24vcmVxdWVzdHMvcmVxdWVzdHMvdXRpbHMucHkJMjAyMS0wOS0wMSAxMzoyNzow OS4wMDAwMDAwMDAgLTA0MDAKKysrKyBiL3RoaXJkX3BhcnR5L3B5dGhvbi9yZXF1ZXN0cy9yZXF1 ZXN0cy91dGlscy5weQkyMDIxLTExLTA1IDE1OjMwOjU1LjQyMDc1OTA0NSAtMDQwMAorQEAgLTE4 OSw3ICsxODksNyBAQAorICAgICBpZiBpc2luc3RhbmNlKHZhbHVlLCAoc3RyLCBieXRlcywgYm9v bCwgaW50KSk6CisgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCdjYW5ub3QgZW5jb2RlIG9iamVj dHMgdGhhdCBhcmUgbm90IDItdHVwbGVzJykKKyAKKy0gICAgaWYgaXNpbnN0YW5jZSh2YWx1ZSwg Y29sbGVjdGlvbnMuTWFwcGluZyk6CisrICAgIGlmIGlzaW5zdGFuY2UodmFsdWUsIGNvbGxlY3Rp b25zLmFiYy5NYXBwaW5nKToKKyAgICAgICAgIHZhbHVlID0gdmFsdWUuaXRlbXMoKQorIAorICAg ICByZXR1cm4gbGlzdCh2YWx1ZSkKK2RpZmYgLXVyIGEvdGhpcmRfcGFydHkvcHl0aG9uL3ZpcnR1 YWxlbnYvX192aXJ0dWFsZW52X18vZGlzdGxpYi0wLjMuMS1weTIucHkzLW5vbmUtYW55L2Rpc3Rs aWIvY29tcGF0LnB5IGIvdGhpcmRfcGFydHkvcHl0aG9uL3ZpcnR1YWxlbnYvX192aXJ0dWFsZW52 X18vZGlzdGxpYi0wLjMuMS1weTIucHkzLW5vbmUtYW55L2Rpc3RsaWIvY29tcGF0LnB5CistLS0g YS90aGlyZF9wYXJ0eS9weXRob24vdmlydHVhbGVudi9fX3ZpcnR1YWxlbnZfXy9kaXN0bGliLTAu My4xLXB5Mi5weTMtbm9uZS1hbnkvZGlzdGxpYi9jb21wYXQucHkJMjAyMS0wOS0wMSAxMzoyNzow MC4wMDAwMDAwMDAgLTA0MDAKKysrKyBiL3RoaXJkX3BhcnR5L3B5dGhvbi92aXJ0dWFsZW52L19f dmlydHVhbGVudl9fL2Rpc3RsaWItMC4zLjEtcHkyLnB5My1ub25lLWFueS9kaXN0bGliL2NvbXBh dC5weQkyMDIxLTExLTA1IDE1OjI5OjEyLjAwMDAwMDAwMCAtMDQwMAorQEAgLTQ4MSw3ICs0ODEs NyBAQAorIHRyeToKKyAgICAgZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgQ2hhaW5NYXAKKyBleGNl cHQgSW1wb3J0RXJyb3I6ICMgcHJhZ21hOiBubyBjb3ZlcgorLSAgICBmcm9tIGNvbGxlY3Rpb25z IGltcG9ydCBNdXRhYmxlTWFwcGluZworKyAgICBmcm9tIGNvbGxlY3Rpb25zLmFiYyBpbXBvcnQg TXV0YWJsZU1hcHBpbmcKKyAKKyAgICAgdHJ5OgorICAgICAgICAgZnJvbSByZXBybGliIGltcG9y dCByZWN1cnNpdmVfcmVwciBhcyBfcmVjdXJzaXZlX3JlcHIKK2RpZmYgLXVyIGEvdGhpcmRfcGFy dHkvcHl0aG9uL3ZvbHVwdHVvdXMvdm9sdXB0dW91cy9zY2hlbWFfYnVpbGRlci5weSBiL3RoaXJk X3BhcnR5L3B5dGhvbi92b2x1cHR1b3VzL3ZvbHVwdHVvdXMvc2NoZW1hX2J1aWxkZXIucHkKKy0t LSBhL3RoaXJkX3BhcnR5L3B5dGhvbi92b2x1cHR1b3VzL3ZvbHVwdHVvdXMvc2NoZW1hX2J1aWxk ZXIucHkJMjAyMS0wOS0wMSAxMzoyNzowOS4wMDAwMDAwMDAgLTA0MDAKKysrKyBiL3RoaXJkX3Bh cnR5L3B5dGhvbi92b2x1cHR1b3VzL3ZvbHVwdHVvdXMvc2NoZW1hX2J1aWxkZXIucHkJMjAyMS0x MS0wNSAxNTozMDozMi4zOTk3NjQzNzQgLTA0MDAKK0BAIC0yODAsNyArMjgwLDcgQEAKKyAgICAg ICAgICAgICByZXR1cm4gc2NoZW1hLl9fdm9sdXB0dW91c19jb21waWxlX18oc2VsZikKKyAgICAg ICAgIGlmIGlzaW5zdGFuY2Uoc2NoZW1hLCBPYmplY3QpOgorICAgICAgICAgICAgIHJldHVybiBz ZWxmLl9jb21waWxlX29iamVjdChzY2hlbWEpCistICAgICAgICBpZiBpc2luc3RhbmNlKHNjaGVt YSwgY29sbGVjdGlvbnMuTWFwcGluZyk6CisrICAgICAgICBpZiBpc2luc3RhbmNlKHNjaGVtYSwg Y29sbGVjdGlvbnMuYWJjLk1hcHBpbmcpOgorICAgICAgICAgICAgIHJldHVybiBzZWxmLl9jb21w aWxlX2RpY3Qoc2NoZW1hKQorICAgICAgICAgZWxpZiBpc2luc3RhbmNlKHNjaGVtYSwgbGlzdCk6 CisgICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2NvbXBpbGVfbGlzdChzY2hlbWEpCg== --===============2980029884651533945==--