From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.9 required=5.0 tests=ALL_TRUSTED,URIBL_SBL_A autolearn=no autolearn_force=no version=3.4.4 Received: from inbox.vuxu.org (inbox.vuxu.org [IPv6:::1]) by inbox.vuxu.org (Postfix) with ESMTP id BD7C9210AD for ; Thu, 18 Apr 2024 06:03:27 +0200 (CEST) Content-Type: multipart/mixed; boundary="===============4442281361715225687==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_qt5-webengine=3A_build_with_python3=2E11?= To: ml@inbox.vuxu.org From: classabbyamp Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Thu, 18 Apr 2024 06:03:27 +0200 List-Id: Message-Id: <20240418040327.BD7C9210AD@inbox.vuxu.org> GitHub notification mails are now in MIME to allow UTF8. --===============4442281361715225687== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgY2xhc3NhYmJ5YW1wIGFnYWluc3Qg bWFzdGVyIG9uIHRoZSB2b2lkLXBhY2thZ2VzIHJlcG9zaXRvcnkKCmh0dHBzOi8vZ2l0aHViLmNv bS9jbGFzc2FiYnlhbXAvdm9pZC1wYWNrYWdlcyBweTMtcXQ1LXdlYmVuZ2luZQpodHRwczovL2dp dGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwvNDk4ODcKCnF0NS13ZWJlbmdp bmU6IGJ1aWxkIHdpdGggcHl0aG9uMy4xMQojIyMjIFRlc3RpbmcgdGhlIGNoYW5nZXMKLSBJIHRl c3RlZCB0aGUgY2hhbmdlcyBpbiB0aGlzIFBSOiAqKllFUyoqCgpbY2kgc2tpcF0KCgpBIHBhdGNo IGZpbGUgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL3B1 bGwvNDk4ODcucGF0Y2ggaXMgYXR0YWNoZWQ= --===============4442281361715225687== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-py3-qt5-webengine-49887.patch" RnJvbSBmMjY5NWFjMWM0ZjMxZjY2MmJlZmFmY2RhYjRkYTVjMTc5YWE2MTJjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBjbGFzc2FiYnlhbXAgPHZvaWRAcGxhY2V2aW9sZXR0ZS5uZXQ+ CkRhdGU6IFdlZCwgMTcgQXByIDIwMjQgMTk6MTE6MDYgLTA0MDAKU3ViamVjdDogW1BBVENIXSBx dDUtd2ViZW5naW5lOiBidWlsZCB3aXRoIHB5dGhvbjMuMTEKCi0tLQogLi4uL3F0NS13ZWJlbmdp bmUtY2hyb21pdW0tcHl0aG9uMy5wYXRjaCAgICAgIHwgMjMzOCArKysrKysrKysrKysrKysrKwog Li4uL3BhdGNoZXMvcXQ1LXdlYmVuZ2luZS1weXRob24zLnBhdGNoICAgICAgIHwgIDE5NSArKwog c3JjcGtncy9xdDUtd2ViZW5naW5lL3RlbXBsYXRlICAgICAgICAgICAgICAgIHwgICAgNSArLQog MyBmaWxlcyBjaGFuZ2VkLCAyNTM1IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCiBjcmVh dGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDUtd2ViZW5naW5lL3BhdGNoZXMvcXQ1LXdlYmVuZ2lu ZS1jaHJvbWl1bS1weXRob24zLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDUt d2ViZW5naW5lL3BhdGNoZXMvcXQ1LXdlYmVuZ2luZS1weXRob24zLnBhdGNoCgpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9xdDUtd2ViZW5naW5lL3BhdGNoZXMvcXQ1LXdlYmVuZ2luZS1jaHJvbWl1bS1w eXRob24zLnBhdGNoIGIvc3JjcGtncy9xdDUtd2ViZW5naW5lL3BhdGNoZXMvcXQ1LXdlYmVuZ2lu ZS1jaHJvbWl1bS1weXRob24zLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAwMDAwLi44MDZiMTU0YzczOTYzOQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ1 LXdlYmVuZ2luZS9wYXRjaGVzL3F0NS13ZWJlbmdpbmUtY2hyb21pdW0tcHl0aG9uMy5wYXRjaApA QCAtMCwwICsxLDIzMzggQEAKK3NvdXJjZTogaHR0cHM6Ly9naXRsYWIuYXJjaGxpbnV4Lm9yZy9h cmNobGludXgvcGFja2FnaW5nL3BhY2thZ2VzL3F0NS13ZWJlbmdpbmUvLS9ibG9iLzUuMTUuMTYt Ni9xdDUtd2ViZW5naW5lLWNocm9taXVtLXB5dGhvbjMucGF0Y2gKKworZGlmZiAtLWdpdCBhL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS9idWlsZC9wcmludF9weXRob25fZGVwcy5weSBiL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS9idWlsZC9wcmludF9weXRob25fZGVwcy5weQoraW5kZXggZmQyOWMwOTcy YzkuLjY5YWYyNDcwOTRiIDEwMDc1NQorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2J1aWxk L3ByaW50X3B5dGhvbl9kZXBzLnB5CisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vYnVpbGQv cHJpbnRfcHl0aG9uX2RlcHMucHkKK0BAIC0xLDQgKzEsNCBAQAorLSMhL3Vzci9iaW4vcHl0aG9u Mi43CisrIyEvdXNyL2Jpbi9weXRob24zLjExCisgIyBDb3B5cmlnaHQgMjAxNiBUaGUgQ2hyb21p dW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAjIFVzZSBvZiB0aGlzIHNvdXJjZSBj b2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKKyAjIGZv dW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCitAQCAtODAsNyArODAsNyBAQCBkZWYgX0dldFRhcmdl dFB5dGhvblZlcnNpb24obW9kdWxlKToKKyAgIGlmIHNoZWJhbmcuc3RhcnRzd2l0aCgnIyEnKToK KyAgICAgIyBFeGFtcGxlczoKKyAgICAgIyAnIyEvdXNyL2Jpbi9weXRob24nCistICAgICMgJyMh L3Vzci9iaW4vcHl0aG9uMi43JworKyAgICAjICcjIS91c3IvYmluL3B5dGhvbjMuMTEnCisgICAg ICMgJyMhL3Vzci9iaW4vcHl0aG9uMycKKyAgICAgIyAnIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMycK KyAgICAgIyAnIyEvdXNyL2Jpbi9lbnYgdnB5dGhvbicKK0BAIC0xNTIsNyArMTUyLDcgQEAgZGVm IG1haW4oKToKKyAKKyAgICMgVHJ5Ym90cyBydW4gd2l0aCB2cHl0aG9uIGFzIGRlZmF1bHQgUHl0 aG9uLCBidXQgd2l0aCBhIGRpZmZlcmVudCBjb25maWcKKyAgICMgZnJvbSAvLy52cHl0aG9uLiBU byBtYWtlIHRoZSBpc192cHl0aG9uIHRlc3Qgd29yaywgYW5kIHRvIG1hdGNoIHRoZSBiZWhhdmlv cgorLSAgIyBvZiBkZXYgbWFjaGluZXMsIHRoZSBzaGViYW5nIGxpbmUgbXVzdCBiZSBydW4gd2l0 aCBweXRob24yLjcuCisrICAjIG9mIGRldiBtYWNoaW5lcywgdGhlIHNoZWJhbmcgbGluZSBtdXN0 IGJlIHJ1biB3aXRoIHB5dGhvbjMuMTEuCisgICAjCisgICAjIEUuZy4gJEhPTUUvLnZweXRob24t cm9vdC9kZDUwZDMvYmluL3B5dGhvbgorICAgIyBFLmcuIC9iL3Mvdy9pci9jYWNoZS92cHl0aG9u L2FiNWM3OS9iaW4vcHl0aG9uCitkaWZmIC0tZ2l0IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2Nv bXBvbmVudHMvcmVzb3VyY2VzL3Byb3RvYnVmcy9iaW5hcnlfcHJvdG9fZ2VuZXJhdG9yLnB5IGIv c3JjLzNyZHBhcnR5L2Nocm9taXVtL2NvbXBvbmVudHMvcmVzb3VyY2VzL3Byb3RvYnVmcy9iaW5h cnlfcHJvdG9fZ2VuZXJhdG9yLnB5CitpbmRleCA3NDIyZWFkOTY5Ny4uMTYzNjU1MTVmMjYgMTAw NzU1CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vY29tcG9uZW50cy9yZXNvdXJjZXMvcHJv dG9idWZzL2JpbmFyeV9wcm90b19nZW5lcmF0b3IucHkKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS9jb21wb25lbnRzL3Jlc291cmNlcy9wcm90b2J1ZnMvYmluYXJ5X3Byb3RvX2dlbmVyYXRv ci5weQorQEAgLTcsNyArNyw3IEBACisgIENvbnZlcnRzIGEgZ2l2ZW4gQVNDSUkgcHJvdG8gaW50 byBhIGJpbmFyeSByZXNvdXJjZS4KKyAKKyAiIiIKKy0KKytmcm9tIF9fZnV0dXJlX18gaW1wb3J0 IHByaW50X2Z1bmN0aW9uCisgaW1wb3J0IGFiYworIGltcG9ydCBpbXAKKyBpbXBvcnQgb3B0cGFy c2UKK0BAIC0xOTYsMTIgKzE5NiwxMiBAQCBjbGFzcyBCaW5hcnlQcm90b0dlbmVyYXRvcjoKKyAg ICAgc2VsZi5fSW1wb3J0UHJvdG9Nb2R1bGVzKG9wdHMucGF0aCkKKyAKKyAgICAgaWYgbm90IHNl bGYuVmVyaWZ5QXJncyhvcHRzKToKKy0gICAgICBwcmludCAiV3JvbmcgYXJndW1lbnRzIgorKyAg ICAgIHByaW50KCJXcm9uZyBhcmd1bWVudHMiKQorICAgICAgIHJldHVybiAxCisgCisgICAgIHRy eToKKyAgICAgICBzZWxmLl9HZW5lcmF0ZUJpbmFyeVByb3RvcyhvcHRzKQorICAgICBleGNlcHQg RXhjZXB0aW9uIGFzIGU6CistICAgICAgcHJpbnQgIkVSUk9SOiBGYWlsZWQgdG8gcmVuZGVyIGJp bmFyeSB2ZXJzaW9uIG9mICVzOlxuICAlc1xuJXMiICUgKAorLSAgICAgICAgICBvcHRzLmluZmls ZSwgc3RyKGUpLCB0cmFjZWJhY2suZm9ybWF0X2V4YygpKQorKyAgICAgIHByaW50KCJFUlJPUjog RmFpbGVkIHRvIHJlbmRlciBiaW5hcnkgdmVyc2lvbiBvZiAlczpcbiAgJXNcbiVzIiAlCisrICAg ICAgICAgICAgKG9wdHMuaW5maWxlLCBzdHIoZSksIHRyYWNlYmFjay5mb3JtYXRfZXhjKCkpKQor ICAgICAgIHJldHVybiAxCitkaWZmIC0tZ2l0IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2NvbnRl bnQvYnJvd3Nlci90cmFjaW5nL2dlbmVyYXRlX3RyYWNlX3ZpZXdlcl9ncmQucHkgYi9zcmMvM3Jk cGFydHkvY2hyb21pdW0vY29udGVudC9icm93c2VyL3RyYWNpbmcvZ2VuZXJhdGVfdHJhY2Vfdmll d2VyX2dyZC5weQoraW5kZXggMDM3Zjk0OTdkYzIuLmJlMzkzZDIxZjkwIDEwMDc1NQorLS0tIGEv c3JjLzNyZHBhcnR5L2Nocm9taXVtL2NvbnRlbnQvYnJvd3Nlci90cmFjaW5nL2dlbmVyYXRlX3Ry YWNlX3ZpZXdlcl9ncmQucHkKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9jb250ZW50L2Jy b3dzZXIvdHJhY2luZy9nZW5lcmF0ZV90cmFjZV92aWV3ZXJfZ3JkLnB5CitAQCAtNzQsNyArNzQs NyBAQCBkZWYgbWFpbihhcmd2KToKKyAgIGZvciBmaWxlbmFtZSBpbiBwYXJzZWRfYXJncy5zb3Vy Y2VfZmlsZXM6CisgICAgIGFkZF9maWxlX3RvX2dyZChkb2MsIG9zLnBhdGguYmFzZW5hbWUoZmls ZW5hbWUpKQorIAorLSAgd2l0aCBvcGVuKHBhcnNlZF9hcmdzLm91dHB1dF9maWxlbmFtZSwgJ3cn KSBhcyBvdXRwdXRfZmlsZToKKysgIHdpdGggb3BlbihwYXJzZWRfYXJncy5vdXRwdXRfZmlsZW5h bWUsICd3YicpIGFzIG91dHB1dF9maWxlOgorICAgICBvdXRwdXRfZmlsZS53cml0ZShkb2MudG94 bWwoZW5jb2Rpbmc9J1VURi04JykpCisgCisgCitkaWZmIC0tZ2l0IGEvc3JjLzNyZHBhcnR5L2No cm9taXVtL21vam8vcHVibGljL3Rvb2xzL2JpbmRpbmdzL0JVSUxELmduIGIvc3JjLzNyZHBhcnR5 L2Nocm9taXVtL21vam8vcHVibGljL3Rvb2xzL2JpbmRpbmdzL0JVSUxELmduCitpbmRleCBmYzA0 YjVkZDBiMS4uNzA4OTU4ZTQzOGIgMTAwNjQ0CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0v bW9qby9wdWJsaWMvdG9vbHMvYmluZGluZ3MvQlVJTEQuZ24KKysrKyBiL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS9tb2pvL3B1YmxpYy90b29scy9iaW5kaW5ncy9CVUlMRC5nbgorQEAgLTIsOSArMiwx MSBAQAorICMgVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5 bGUgbGljZW5zZSB0aGF0IGNhbiBiZQorICMgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKyAK KytpbXBvcnQoIi8vYnVpbGQvY29uZmlnL3B5dGhvbi5nbmkiKQorIGltcG9ydCgiLy9tb2pvL3B1 YmxpYy90b29scy9iaW5kaW5ncy9tb2pvbS5nbmkiKQorIGltcG9ydCgiLy90aGlyZF9wYXJ0eS9q aW5qYTIvamluamEyLmduaSIpCisgCisrIyBUT0RPKGNyYnVnLmNvbS8xMTk0Mjc0KTogSW52ZXN0 aWdhdGUgbm9uZGV0ZXJtaW5pc20gaW4gUHkzIGJ1aWxkcy4KKyBhY3Rpb24oInByZWNvbXBpbGVf dGVtcGxhdGVzIikgeworICAgc291cmNlcyA9IG1vam9tX2dlbmVyYXRvcl9zb3VyY2VzCisgICBz b3VyY2VzICs9IFsKK2RpZmYgLS1naXQgYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vbW9qby9wdWJs aWMvdG9vbHMvYmluZGluZ3MvZ2VuX2RhdGFfZmlsZXNfbGlzdC5weSBiL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS9tb2pvL3B1YmxpYy90b29scy9iaW5kaW5ncy9nZW5fZGF0YV9maWxlc19saXN0LnB5 CitpbmRleCA3OWM5ZTUwZWZjZS4uOGI3OGQwOTI0MTggMTAwNjQ0CistLS0gYS9zcmMvM3JkcGFy dHkvY2hyb21pdW0vbW9qby9wdWJsaWMvdG9vbHMvYmluZGluZ3MvZ2VuX2RhdGFfZmlsZXNfbGlz dC5weQorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL21vam8vcHVibGljL3Rvb2xzL2JpbmRp bmdzL2dlbl9kYXRhX2ZpbGVzX2xpc3QucHkKK0BAIC0xOCw3ICsxOCw2IEBAIGltcG9ydCBvcwor IGltcG9ydCByZQorIGltcG9ydCBzeXMKKyAKKy1mcm9tIGNTdHJpbmdJTyBpbXBvcnQgU3RyaW5n SU8KKyBmcm9tIG9wdHBhcnNlIGltcG9ydCBPcHRpb25QYXJzZXIKKyAKKyBzeXMucGF0aC5pbnNl cnQoCitAQCAtNDEsMTIgKzQwLDkgQEAgZGVmIG1haW4oKToKKyAgIHBhdHRlcm4gPSByZS5jb21w aWxlKG9wdGlvbnMucGF0dGVybikKKyAgIGZpbGVzID0gW2YgZm9yIGYgaW4gb3MubGlzdGRpcihv cHRpb25zLmRpcmVjdG9yeSkgaWYgcGF0dGVybi5tYXRjaChmKV0KKyAKKy0gIHN0cmVhbSA9IFN0 cmluZ0lPKCkKKy0gIGZvciBmIGluIGZpbGVzOgorLSAgICBwcmludChmLCBmaWxlPXN0cmVhbSkK KysgIGNvbnRlbnRzID0gJ1xuJy5qb2luKGYgZm9yIGYgaW4gZmlsZXMpICsgJ1xuJworKyAgV3Jp dGVGaWxlKGNvbnRlbnRzLCBvcHRpb25zLm91dHB1dCkKKyAKKy0gIFdyaXRlRmlsZShzdHJlYW0u Z2V0dmFsdWUoKSwgb3B0aW9ucy5vdXRwdXQpCistICBzdHJlYW0uY2xvc2UoKQorIAorIGlmIF9f bmFtZV9fID09ICdfX21haW5fXyc6CisgICBzeXMuZXhpdChtYWluKCkpCitkaWZmIC0tZ2l0IGEv c3JjLzNyZHBhcnR5L2Nocm9taXVtL21vam8vcHVibGljL3Rvb2xzL2JpbmRpbmdzL2dlbmVyYXRv cnMvbW9qb21famF2YV9nZW5lcmF0b3IucHkgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vbW9qby9w dWJsaWMvdG9vbHMvYmluZGluZ3MvZ2VuZXJhdG9ycy9tb2pvbV9qYXZhX2dlbmVyYXRvci5weQor aW5kZXggOTZiMmZkZmFlMGMuLjAwYjlkY2NkMDBjIDEwMDY0NAorLS0tIGEvc3JjLzNyZHBhcnR5 L2Nocm9taXVtL21vam8vcHVibGljL3Rvb2xzL2JpbmRpbmdzL2dlbmVyYXRvcnMvbW9qb21famF2 YV9nZW5lcmF0b3IucHkKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9tb2pvL3B1YmxpYy90 b29scy9iaW5kaW5ncy9nZW5lcmF0b3JzL21vam9tX2phdmFfZ2VuZXJhdG9yLnB5CitAQCAtMjUs NiArMjUsMTAgQEAgc3lzLnBhdGguYXBwZW5kKG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUo X19maWxlX18pLCBvcy5wYXJkaXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYnVp bGQnLCAnYW5kcm9pZCcsICdneXAnKSkKKyBmcm9tIHV0aWwgaW1wb3J0IGJ1aWxkX3V0aWxzCisg CisrIyBUT0RPKGNyYnVnLmNvbS8xMTc0OTY5KTogUmVtb3ZlIHRoaXMgb25jZSBQeXRob24yIGlz IG9ic29sZXRlZC4KKytpZiBzeXMudmVyc2lvbl9pbmZvLm1ham9yICE9IDI6CisrICBiYXNlc3Ry aW5nID0gc3RyCisrICBsb25nID0gaW50CisgCisgR0VORVJBVE9SX1BSRUZJWCA9ICdqYXZhJwor IAorZGlmZiAtLWdpdCBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9tb2pvL3B1YmxpYy90b29scy9t b2pvbS9tb2pvbS9nZW5lcmF0ZS9nZW5lcmF0b3IucHkgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0v bW9qby9wdWJsaWMvdG9vbHMvbW9qb20vbW9qb20vZ2VuZXJhdGUvZ2VuZXJhdG9yLnB5CitpbmRl eCBkZTYyMjYwYTVjOS4uNGExYzczZmNmODIgMTAwNjQ0CistLS0gYS9zcmMvM3JkcGFydHkvY2hy b21pdW0vbW9qby9wdWJsaWMvdG9vbHMvbW9qb20vbW9qb20vZ2VuZXJhdGUvZ2VuZXJhdG9yLnB5 CisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vbW9qby9wdWJsaWMvdG9vbHMvbW9qb20vbW9q b20vZ2VuZXJhdGUvZ2VuZXJhdG9yLnB5CitAQCAtMTM2LDkgKzEzNiwxNCBAQCBjbGFzcyBTdHls aXplcihvYmplY3QpOgorIAorIGRlZiBXcml0ZUZpbGUoY29udGVudHMsIGZ1bGxfcGF0aCk6Cisg ICAjIElmIHxjb250ZW50c3wgaXMgc2FtZSB3aXRoIHRoZSBmaWxlIGNvbnRlbnQsIHdlIHNraXAg dXBkYXRpbmcuCisrICBpZiBub3QgaXNpbnN0YW5jZShjb250ZW50cywgYnl0ZXMpOgorKyAgICBk YXRhID0gY29udGVudHMuZW5jb2RlKCd1dGY4JykKKysgIGVsc2U6CisrICAgIGRhdGEgPSBjb250 ZW50cworKworICAgaWYgb3MucGF0aC5pc2ZpbGUoZnVsbF9wYXRoKToKKyAgICAgd2l0aCBvcGVu KGZ1bGxfcGF0aCwgJ3JiJykgYXMgZGVzdGluYXRpb25fZmlsZToKKy0gICAgICBpZiBkZXN0aW5h dGlvbl9maWxlLnJlYWQoKSA9PSBjb250ZW50czoKKysgICAgICBpZiBkZXN0aW5hdGlvbl9maWxl LnJlYWQoKSA9PSBkYXRhOgorICAgICAgICAgcmV0dXJuCisgCisgICAjIE1ha2Ugc3VyZSB0aGUg Y29udGFpbmluZyBkaXJlY3RvcnkgZXhpc3RzLgorQEAgLTE0NiwxMSArMTUxLDggQEAgZGVmIFdy aXRlRmlsZShjb250ZW50cywgZnVsbF9wYXRoKToKKyAgIGZpbGV1dGlsLkVuc3VyZURpcmVjdG9y eUV4aXN0cyhmdWxsX2RpcikKKyAKKyAgICMgRHVtcCB0aGUgZGF0YSB0byBkaXNrLgorLSAgd2l0 aCBvcGVuKGZ1bGxfcGF0aCwgIndiIikgYXMgZjoKKy0gICAgaWYgbm90IGlzaW5zdGFuY2UoY29u dGVudHMsIGJ5dGVzKToKKy0gICAgICBmLndyaXRlKGNvbnRlbnRzLmVuY29kZSgndXRmLTgnKSkK Ky0gICAgZWxzZToKKy0gICAgICBmLndyaXRlKGNvbnRlbnRzKQorKyAgd2l0aCBvcGVuKGZ1bGxf cGF0aCwgJ3diJykgYXMgZjoKKysgICAgZi53cml0ZShkYXRhKQorIAorIAorIGRlZiBBZGRDb21w dXRlZERhdGEobW9kdWxlKToKK2RpZmYgLS1naXQgYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vbW9q by9wdWJsaWMvdG9vbHMvbW9qb20vbW9qb20vZ2VuZXJhdGUvbW9kdWxlLnB5IGIvc3JjLzNyZHBh cnR5L2Nocm9taXVtL21vam8vcHVibGljL3Rvb2xzL21vam9tL21vam9tL2dlbmVyYXRlL21vZHVs ZS5weQoraW5kZXggZWJiYzliMzIyZWEuLjNkMDI2NDI5YmJjIDEwMDY0NAorLS0tIGEvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL21vam8vcHVibGljL3Rvb2xzL21vam9tL21vam9tL2dlbmVyYXRlL21v ZHVsZS5weQorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL21vam8vcHVibGljL3Rvb2xzL21v am9tL21vam9tL2dlbmVyYXRlL21vZHVsZS5weQorQEAgLTM5OCw3ICszOTgsOCBAQCBjbGFzcyBG aWVsZChvYmplY3QpOgorIAorIAorIGNsYXNzIFN0cnVjdEZpZWxkKEZpZWxkKToKKy0gIHBhc3MK KysgIGRlZiBfX2hhc2hfXyhzZWxmKToKKysgICAgcmV0dXJuIHN1cGVyKEZpZWxkLCBzZWxmKS5f X2hhc2hfXygpCisgCisgCisgY2xhc3MgVW5pb25GaWVsZChGaWVsZCk6CitkaWZmIC0tZ2l0IGEv c3JjLzNyZHBhcnR5L2Nocm9taXVtL21vam8vcHVibGljL3Rvb2xzL21vam9tL21vam9tL2dlbmVy YXRlL3RlbXBsYXRlX2V4cGFuZGVyLnB5IGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL21vam8vcHVi bGljL3Rvb2xzL21vam9tL21vam9tL2dlbmVyYXRlL3RlbXBsYXRlX2V4cGFuZGVyLnB5CitpbmRl eCA3YTMwMDU2MDI0Ni4uOGQ5ZTI2ZmI3ZjYgMTAwNjQ0CistLS0gYS9zcmMvM3JkcGFydHkvY2hy b21pdW0vbW9qby9wdWJsaWMvdG9vbHMvbW9qb20vbW9qb20vZ2VuZXJhdGUvdGVtcGxhdGVfZXhw YW5kZXIucHkKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9tb2pvL3B1YmxpYy90b29scy9t b2pvbS9tb2pvbS9nZW5lcmF0ZS90ZW1wbGF0ZV9leHBhbmRlci5weQorQEAgLTc1LDkgKzc1LDkg QEAgZGVmIFByZWNvbXBpbGVUZW1wbGF0ZXMoZ2VuZXJhdG9yX21vZHVsZXMsIG91dHB1dF9kaXIp OgorICAgICAgICAgICAgICAgICBvcy5wYXRoLmRpcm5hbWUobW9kdWxlLl9fZmlsZV9fKSwgZ2Vu ZXJhdG9yLkdldFRlbXBsYXRlUHJlZml4KCkpCisgICAgICAgICBdKSkKKyAgICAgamluamFfZW52 LmZpbHRlcnMudXBkYXRlKGdlbmVyYXRvci5HZXRGaWx0ZXJzKCkpCistICAgIGppbmphX2Vudi5j b21waWxlX3RlbXBsYXRlcygKKy0gICAgICAgIG9zLnBhdGguam9pbihvdXRwdXRfZGlyLCAiJXMu emlwIiAlIGdlbmVyYXRvci5HZXRUZW1wbGF0ZVByZWZpeCgpKSwKKy0gICAgICAgIGV4dGVuc2lv bnM9WyJ0bXBsIl0sCistICAgICAgICB6aXA9InN0b3JlZCIsCistICAgICAgICBweV9jb21waWxl PVRydWUsCistICAgICAgICBpZ25vcmVfZXJyb3JzPUZhbHNlKQorKyAgICBqaW5qYV9lbnYuY29t cGlsZV90ZW1wbGF0ZXMob3MucGF0aC5qb2luKAorKyAgICAgICAgb3V0cHV0X2RpciwgIiVzLnpp cCIgJSBnZW5lcmF0b3IuR2V0VGVtcGxhdGVQcmVmaXgoKSksCisrICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBleHRlbnNpb25zPVsidG1wbCJdLAorKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgemlwPSJzdG9yZWQiLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgcHlfY29tcGlsZT1zeXMudmVyc2lvbl9pbmZvLm1ham9yIDwgMywKKysgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGlnbm9yZV9lcnJvcnM9RmFsc2UpCitkaWZmIC0tZ2l0IGEvc3Jj LzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRpbmdzL3Nj cmlwdHMvYmluZF9nZW4vYmxpbmtfdjhfYnJpZGdlLnB5IGIvc3JjLzNyZHBhcnR5L2Nocm9taXVt L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRpbmdzL3NjcmlwdHMvYmluZF9nZW4vYmxp bmtfdjhfYnJpZGdlLnB5CitpbmRleCAzMjI1ZWNjYTZlNC4uZmMwNzhkMzFiNTUgMTAwNjQ0Cist LS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYmlu ZGluZ3Mvc2NyaXB0cy9iaW5kX2dlbi9ibGlua192OF9icmlkZ2UucHkKKysrKyBiL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9iaW5kaW5ncy9zY3JpcHRz L2JpbmRfZ2VuL2JsaW5rX3Y4X2JyaWRnZS5weQorQEAgLTM0NCw3ICszNDQsNyBAQCBkZWYgbWFr ZV9kZWZhdWx0X3ZhbHVlX2V4cHIoaWRsX3R5cGUsIGRlZmF1bHRfdmFsdWUpOgorICAgICAiIiIK KyAgICAgYXNzZXJ0IGRlZmF1bHRfdmFsdWUuaXNfdHlwZV9jb21wYXRpYmxlX3dpdGgoaWRsX3R5 cGUpCisgCistICAgIGNsYXNzIERlZmF1bHRWYWx1ZUV4cHI6CisrICAgIGNsYXNzIERlZmF1bHRW YWx1ZUV4cHIob2JqZWN0KToKKyAgICAgICAgIF9BTExPV0VEX1NZTUJPTFNfSU5fREVQUyA9ICgi aXNvbGF0ZSIpCisgCisgICAgICAgICBkZWYgX19pbml0X18oc2VsZiwgaW5pdGlhbGl6ZXJfZXhw ciwgaW5pdGlhbGl6ZXJfZGVwcywKK0BAIC01MDIsNyArNTAyLDcgQEAgZGVmIG1ha2VfdjhfdG9f YmxpbmtfdmFsdWUoYmxpbmtfdmFyX25hbWUsCisgICAgIGFzc2VydCBpc2luc3RhbmNlKGJsaW5r X3Zhcl9uYW1lLCBzdHIpCisgICAgIGFzc2VydCBpc2luc3RhbmNlKHY4X3ZhbHVlX2V4cHIsIHN0 cikKKyAgICAgYXNzZXJ0IGlzaW5zdGFuY2UoaWRsX3R5cGUsIHdlYl9pZGwuSWRsVHlwZSkKKy0g ICAgYXNzZXJ0IChhcmd1bWVudF9pbmRleCBpcyBOb25lIG9yIGlzaW5zdGFuY2UoYXJndW1lbnRf aW5kZXgsIChpbnQsIGxvbmcpKSkKKysgICAgYXNzZXJ0IChhcmd1bWVudF9pbmRleCBpcyBOb25l IG9yIGlzaW5zdGFuY2UoYXJndW1lbnRfaW5kZXgsIGludCkpCisgICAgIGFzc2VydCAoZGVmYXVs dF92YWx1ZSBpcyBOb25lCisgICAgICAgICAgICAgb3IgaXNpbnN0YW5jZShkZWZhdWx0X3ZhbHVl LCB3ZWJfaWRsLkxpdGVyYWxDb25zdGFudCkpCisgCitAQCAtNjIyLDcgKzYyMiw3IEBAIGRlZiBt YWtlX3Y4X3RvX2JsaW5rX3ZhbHVlX3ZhcmlhZGljKGJsaW5rX3Zhcl9uYW1lLCB2OF9hcnJheSwK KyAgICAgIiIiCisgICAgIGFzc2VydCBpc2luc3RhbmNlKGJsaW5rX3Zhcl9uYW1lLCBzdHIpCisg ICAgIGFzc2VydCBpc2luc3RhbmNlKHY4X2FycmF5LCBzdHIpCistICAgIGFzc2VydCBpc2luc3Rh bmNlKHY4X2FycmF5X3N0YXJ0X2luZGV4LCAoaW50LCBsb25nKSkKKysgICAgYXNzZXJ0IGlzaW5z dGFuY2UodjhfYXJyYXlfc3RhcnRfaW5kZXgsIGludCkKKyAgICAgYXNzZXJ0IGlzaW5zdGFuY2Uo aWRsX3R5cGUsIHdlYl9pZGwuSWRsVHlwZSkKKyAKKyAgICAgcGF0dGVybiA9ICgiYXV0byYmICR7 e3tfMX19fSA9ICIKK2RpZmYgLS1naXQgYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFy dHkvYmxpbmsvcmVuZGVyZXIvYmluZGluZ3Mvc2NyaXB0cy9iaW5kX2dlbi9jYWxsYmFja19pbnRl cmZhY2UucHkgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVy ZXIvYmluZGluZ3Mvc2NyaXB0cy9iaW5kX2dlbi9jYWxsYmFja19pbnRlcmZhY2UucHkKK2luZGV4 IDRhNmRmNTEzMDY4Li44YjUxZjIzYTQwOSAxMDA2NDQKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9iaW5kaW5ncy9zY3JpcHRzL2JpbmRfZ2Vu L2NhbGxiYWNrX2ludGVyZmFjZS5weQorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJk X3BhcnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRpbmdzL3NjcmlwdHMvYmluZF9nZW4vY2FsbGJhY2tf aW50ZXJmYWNlLnB5CitAQCAtMTc3LDcgKzE3Nyw3IEBAIGRlZiBnZW5lcmF0ZV9jYWxsYmFja19p bnRlcmZhY2UoY2FsbGJhY2tfaW50ZXJmYWNlX2lkZW50aWZpZXIpOgorICAgICAgICAgIHByb3Bf aW5zdGFsbF9tb2RlPVByb3BJbnN0YWxsTW9kZS5VTkNPTkRJVElPTkFMLAorICAgICAgICAgIHRy YW1wb2xpbmVfdmFyX25hbWU9Tm9uZSwKKyAgICAgICAgICBhdHRyaWJ1dGVfZW50cmllcz1bXSwK Ky0gICAgICAgICBjb25zdGFudF9lbnRyaWVzPWZpbHRlcihpc191bmNvbmRpdGlvbmFsLCBjb25z dGFudF9lbnRyaWVzKSwKKysgICAgICAgICBjb25zdGFudF9lbnRyaWVzPWxpc3QoZmlsdGVyKGlz X3VuY29uZGl0aW9uYWwsIGNvbnN0YW50X2VudHJpZXMpKSwKKyAgICAgICAgICBleHBvc2VkX2Nv bnN0cnVjdF9lbnRyaWVzPVtdLAorICAgICAgICAgIG9wZXJhdGlvbl9lbnRyaWVzPVtdKQorICAg ICAoaW5zdGFsbF9pbnRlcmZhY2VfdGVtcGxhdGVfZGVjbCwgaW5zdGFsbF9pbnRlcmZhY2VfdGVt cGxhdGVfZGVmLAorZGlmZiAtLWdpdCBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0 eS9ibGluay9yZW5kZXJlci9iaW5kaW5ncy9zY3JpcHRzL2JpbmRfZ2VuL2NvZGVfbm9kZS5weSBi L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9iaW5kaW5n cy9zY3JpcHRzL2JpbmRfZ2VuL2NvZGVfbm9kZS5weQoraW5kZXggNTI5NzJmZWZlMjAuLmU1YWU5 ZDk2MjllIDEwMDY0NAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2Js aW5rL3JlbmRlcmVyL2JpbmRpbmdzL3NjcmlwdHMvYmluZF9nZW4vY29kZV9ub2RlLnB5CisrKysg Yi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYmluZGlu Z3Mvc2NyaXB0cy9iaW5kX2dlbi9jb2RlX25vZGUucHkKK0BAIC01MDMsMTMgKzUwMywxMyBAQCBj bGFzcyBDb21wb3NpdGVOb2RlKENvZGVOb2RlKToKKyAgICAgICAgIGdlbnN5bV9rd2FyZ3MgPSB7 fQorICAgICAgICAgdGVtcGxhdGVfdmFycyA9IHt9CisgICAgICAgICBmb3IgYXJnIGluIGFyZ3M6 CistICAgICAgICAgICAgYXNzZXJ0IGlzaW5zdGFuY2UoYXJnLCAoQ29kZU5vZGUsIGludCwgbG9u Zywgc3RyKSkKKysgICAgICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZShhcmcsIChDb2RlTm9kZSwg aW50LCBzdHIpKQorICAgICAgICAgICAgIGdlbnN5bSA9IENvZGVOb2RlLmdlbnN5bSgpCisgICAg ICAgICAgICAgZ2Vuc3ltX2FyZ3MuYXBwZW5kKCIke3t7fX19Ii5mb3JtYXQoZ2Vuc3ltKSkKKyAg ICAgICAgICAgICB0ZW1wbGF0ZV92YXJzW2dlbnN5bV0gPSBhcmcKKyAgICAgICAgIGZvciBrZXks IHZhbHVlIGluIGt3YXJncy5pdGVtcygpOgorLSAgICAgICAgICAgIGFzc2VydCBpc2luc3RhbmNl KGtleSwgKGludCwgbG9uZywgc3RyKSkKKy0gICAgICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZSh2 YWx1ZSwgKENvZGVOb2RlLCBpbnQsIGxvbmcsIHN0cikpCisrICAgICAgICAgICAgYXNzZXJ0IGlz aW5zdGFuY2Uoa2V5LCAoaW50LCBzdHIpKQorKyAgICAgICAgICAgIGFzc2VydCBpc2luc3RhbmNl KHZhbHVlLCAoQ29kZU5vZGUsIGludCwgc3RyKSkKKyAgICAgICAgICAgICBnZW5zeW0gPSBDb2Rl Tm9kZS5nZW5zeW0oKQorICAgICAgICAgICAgIGdlbnN5bV9rd2FyZ3Nba2V5XSA9ICIke3t7fX19 Ii5mb3JtYXQoZ2Vuc3ltKQorICAgICAgICAgICAgIHRlbXBsYXRlX3ZhcnNbZ2Vuc3ltXSA9IHZh bHVlCitAQCAtNjAyLDcgKzYwMiw3IEBAIGNsYXNzIExpc3ROb2RlKENvZGVOb2RlKToKKyAgICAg ZGVmIGluc2VydChzZWxmLCBpbmRleCwgbm9kZSk6CisgICAgICAgICBpZiBub2RlIGlzIE5vbmU6 CisgICAgICAgICAgICAgcmV0dXJuCistICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZShpbmRleCwg KGludCwgbG9uZykpCisrICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZShpbmRleCwgaW50KQorICAg ICAgICAgYXNzZXJ0IGlzaW5zdGFuY2Uobm9kZSwgQ29kZU5vZGUpCisgICAgICAgICBhc3NlcnQg bm9kZS5vdXRlciBpcyBOb25lIGFuZCBub2RlLnByZXYgaXMgTm9uZQorIAorQEAgLTcyMSw3ICs3 MjEsNyBAQCBjbGFzcyBTeW1ib2xTY29wZU5vZGUoU2VxdWVuY2VOb2RlKToKKyAgICAgICAgICAg ICBpZiBub3Qgc2NvcGVfY2hhaW5zOgorICAgICAgICAgICAgICAgICByZXR1cm4gY291bnRzCisg CistICAgICAgICAgICAgc2VsZl9pbmRleCA9IGl0ZXIoc2NvcGVfY2hhaW5zKS5uZXh0KCkuaW5k ZXgoc2VsZikKKysgICAgICAgICAgICBzZWxmX2luZGV4ID0gbmV4dChpdGVyKHNjb3BlX2NoYWlu cykpLmluZGV4KHNlbGYpCisgICAgICAgICAgICAgc2NvcGVfY2hhaW5zID0gbWFwKAorICAgICAg ICAgICAgICAgICBsYW1iZGEgc2NvcGVfY2hhaW46IHNjb3BlX2NoYWluW3NlbGZfaW5kZXggKyAx Ol0sIHNjb3BlX2NoYWlucykKKyAgICAgICAgICAgICBzY29wZV90b19saWtlbGluZXNzID0ge30K K2RpZmYgLS1naXQgYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYmxpbmsvcmVu ZGVyZXIvYmluZGluZ3Mvc2NyaXB0cy9iaW5kX2dlbi9jb2RlZ2VuX2V4cHIucHkgYi9zcmMvM3Jk cGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYmluZGluZ3Mvc2NyaXB0 cy9iaW5kX2dlbi9jb2RlZ2VuX2V4cHIucHkKK2luZGV4IGEyMjlhNmM3MWM5Li41ZmEyODhkYWJm MiAxMDA2NDQKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9ibGluay9y ZW5kZXJlci9iaW5kaW5ncy9zY3JpcHRzL2JpbmRfZ2VuL2NvZGVnZW5fZXhwci5weQorKysrIGIv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRpbmdz L3NjcmlwdHMvYmluZF9nZW4vY29kZWdlbl9leHByLnB5CitAQCAtMTA5LDcgKzEwOSw3IEBAIGRl ZiBleHByX2FuZCh0ZXJtcyk6CisgCisgICAgIGlmIGFueSh0ZXJtLmlzX2Fsd2F5c19mYWxzZSBm b3IgdGVybSBpbiB0ZXJtcyk6CisgICAgICAgICByZXR1cm4gX0V4cHIoRmFsc2UpCistICAgIHRl cm1zID0gZmlsdGVyKGxhbWJkYSB4OiBub3QgeC5pc19hbHdheXNfdHJ1ZSwgdGVybXMpCisrICAg IHRlcm1zID0gbGlzdChmaWx0ZXIobGFtYmRhIHg6IG5vdCB4LmlzX2Fsd2F5c190cnVlLCB0ZXJt cykpCisgICAgIGlmIG5vdCB0ZXJtczoKKyAgICAgICAgIHJldHVybiBfRXhwcihUcnVlKQorICAg ICBpZiBsZW4odGVybXMpID09IDE6CitAQCAtMTI0LDcgKzEyNCw3IEBAIGRlZiBleHByX29yKHRl cm1zKToKKyAKKyAgICAgaWYgYW55KHRlcm0uaXNfYWx3YXlzX3RydWUgZm9yIHRlcm0gaW4gdGVy bXMpOgorICAgICAgICAgcmV0dXJuIF9FeHByKFRydWUpCistICAgIHRlcm1zID0gZmlsdGVyKGxh bWJkYSB4OiBub3QgeC5pc19hbHdheXNfZmFsc2UsIHRlcm1zKQorKyAgICB0ZXJtcyA9IGxpc3Qo ZmlsdGVyKGxhbWJkYSB4OiBub3QgeC5pc19hbHdheXNfZmFsc2UsIHRlcm1zKSkKKyAgICAgaWYg bm90IHRlcm1zOgorICAgICAgICAgcmV0dXJuIF9FeHByKEZhbHNlKQorICAgICBpZiBsZW4odGVy bXMpID09IDE6CitAQCAtMjIyLDcgKzIyMiw3IEBAIGRlZiBleHByX2Zyb21fZXhwb3N1cmUoZXhw b3N1cmUsCisgICAgIGVsaWYgZXhwb3N1cmUub25seV9pbl9zZWN1cmVfY29udGV4dHMgaXMgRmFs c2U6CisgICAgICAgICBzZWN1cmVfY29udGV4dF90ZXJtID0gX0V4cHIoVHJ1ZSkKKyAgICAgZWxz ZToKKy0gICAgICAgIHRlcm1zID0gbWFwKHJlZl9lbmFibGVkLCBleHBvc3VyZS5vbmx5X2luX3Nl Y3VyZV9jb250ZXh0cykKKysgICAgICAgIHRlcm1zID0gbGlzdChtYXAocmVmX2VuYWJsZWQsIGV4 cG9zdXJlLm9ubHlfaW5fc2VjdXJlX2NvbnRleHRzKSkKKyAgICAgICAgIHNlY3VyZV9jb250ZXh0 X3Rlcm0gPSBleHByX29yKAorICAgICAgICAgICAgIFtfRXhwcigiJHtpc19pbl9zZWN1cmVfY29u dGV4dH0iKSwKKyAgICAgICAgICAgICAgZXhwcl9ub3QoZXhwcl9hbmQodGVybXMpKV0pCitAQCAt Mjc1LDEwICsyNzUsMTEgQEAgZGVmIGV4cHJfZnJvbV9leHBvc3VyZShleHBvc3VyZSwKKyAKKyAg ICAgIyBbQ29udGV4dEVuYWJsZWRdCisgICAgIGlmIGV4cG9zdXJlLmNvbnRleHRfZW5hYmxlZF9m ZWF0dXJlczoKKy0gICAgICAgIHRlcm1zID0gbWFwKAorLSAgICAgICAgICAgIGxhbWJkYSBmZWF0 dXJlOiBfRXhwcigKKy0gICAgICAgICAgICAgICAgIiR7e2NvbnRleHRfZmVhdHVyZV9zZXR0aW5n c319LT5pc3t9RW5hYmxlZCgpIi5mb3JtYXQoCistICAgICAgICAgICAgICAgICAgICBmZWF0dXJl KSksIGV4cG9zdXJlLmNvbnRleHRfZW5hYmxlZF9mZWF0dXJlcykKKysgICAgICAgIHRlcm1zID0g bGlzdCgKKysgICAgICAgICAgICBtYXAoCisrICAgICAgICAgICAgICAgIGxhbWJkYSBmZWF0dXJl OiBfRXhwcigKKysgICAgICAgICAgICAgICAgICAgICIke3tjb250ZXh0X2ZlYXR1cmVfc2V0dGlu Z3N9fS0+aXN7fUVuYWJsZWQoKSIuZm9ybWF0KAorKyAgICAgICAgICAgICAgICAgICAgICAgIGZl YXR1cmUpKSwgZXhwb3N1cmUuY29udGV4dF9lbmFibGVkX2ZlYXR1cmVzKSkKKyAgICAgICAgIGNv bnRleHRfZW5hYmxlZF90ZXJtcy5hcHBlbmQoCisgICAgICAgICAgICAgZXhwcl9hbmQoW19FeHBy KCIke2NvbnRleHRfZmVhdHVyZV9zZXR0aW5nc30iKSwKKyAgICAgICAgICAgICAgICAgICAgICAg ZXhwcl9vcih0ZXJtcyldKSkKK2RpZmYgLS1naXQgYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhp cmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYmluZGluZ3Mvc2NyaXB0cy9iaW5kX2dlbi9jb2RlZ2Vu X2Zvcm1hdC5weSBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9ibGluay9yZW5k ZXJlci9iaW5kaW5ncy9zY3JpcHRzL2JpbmRfZ2VuL2NvZGVnZW5fZm9ybWF0LnB5CitpbmRleCA4 N2QyNmVlYzNjYS4uZjNlOWQzODI0N2UgMTAwNjQ0CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21p dW0vdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYmluZGluZ3Mvc2NyaXB0cy9iaW5kX2dlbi9j b2RlZ2VuX2Zvcm1hdC5weQorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5 L2JsaW5rL3JlbmRlcmVyL2JpbmRpbmdzL3NjcmlwdHMvYmluZF9nZW4vY29kZWdlbl9mb3JtYXQu cHkKK0BAIC0yMyw3ICsyMyw3IEBAIGNsYXNzIF9UZW1wbGF0ZUZvcm1hdHRlcihzdHJpbmcuRm9y bWF0dGVyKToKKyAgICAgICAgIHNlbGYuX3RlbXBsYXRlX2Zvcm1hdHRlcl9pbmRleGluZ19jb3Vu dF8gPSAwCisgCisgICAgIGRlZiBnZXRfdmFsdWUoc2VsZiwga2V5LCBhcmdzLCBrd2FyZ3MpOgor LSAgICAgICAgaWYgaXNpbnN0YW5jZShrZXksIChpbnQsIGxvbmcpKToKKysgICAgICAgIGlmIGlz aW5zdGFuY2Uoa2V5LCBpbnQpOgorICAgICAgICAgICAgIHJldHVybiBhcmdzW2tleV0KKyAgICAg ICAgIGFzc2VydCBpc2luc3RhbmNlKGtleSwgc3RyKQorICAgICAgICAgaWYgbm90IGtleToKK2Rp ZmYgLS1naXQgYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVy ZXIvYmluZGluZ3Mvc2NyaXB0cy9iaW5kX2dlbi9jb2RlZ2VuX3V0aWxzLnB5IGIvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRpbmdzL3NjcmlwdHMv YmluZF9nZW4vY29kZWdlbl91dGlscy5weQoraW5kZXggMmJjYzRmZWQ0OWEuLmU3MjI4MmFhNjk2 IDEwMDY0NAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JsaW5rL3Jl bmRlcmVyL2JpbmRpbmdzL3NjcmlwdHMvYmluZF9nZW4vY29kZWdlbl91dGlscy5weQorKysrIGIv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRpbmdz L3NjcmlwdHMvYmluZF9nZW4vY29kZWdlbl91dGlscy5weQorQEAgLTExNiw0ICsxMTYsNCBAQCBk ZWYgd3JpdGVfY29kZV9ub2RlX3RvX2ZpbGUoY29kZV9ub2RlLCBmaWxlcGF0aCk6CisgIyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRlcnI9Zm9ybWF0X3Jlc3VsdC5lcnJvcl9tZXNz YWdlKSkKKyAjCisgIyAgICB3ZWJfaWRsLmZpbGVfaW8ud3JpdGVfdG9fZmlsZV9pZl9jaGFuZ2Vk KGZpbGVwYXRoLCBmb3JtYXRfcmVzdWx0LmNvbnRlbnRzKQorLSAgICB3ZWJfaWRsLmZpbGVfaW8u d3JpdGVfdG9fZmlsZV9pZl9jaGFuZ2VkKGZpbGVwYXRoLCByZW5kZXJlZF90ZXh0KQorKyAgICB3 ZWJfaWRsLmZpbGVfaW8ud3JpdGVfdG9fZmlsZV9pZl9jaGFuZ2VkKGZpbGVwYXRoLCByZW5kZXJl ZF90ZXh0LmVuY29kZSgndXRmLTgnKSkKK2RpZmYgLS1naXQgYS9zcmMvM3JkcGFydHkvY2hyb21p dW0vdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYmluZGluZ3Mvc2NyaXB0cy9iaW5kX2dlbi9k aWN0aW9uYXJ5LnB5IGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JsaW5rL3Jl bmRlcmVyL2JpbmRpbmdzL3NjcmlwdHMvYmluZF9nZW4vZGljdGlvbmFyeS5weQoraW5kZXggYjM5 ZjAxMDA0MTAuLjRkNjgyMDIyOTZiIDEwMDY0NAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVt L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRpbmdzL3NjcmlwdHMvYmluZF9nZW4vZGlj dGlvbmFyeS5weQorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JsaW5r L3JlbmRlcmVyL2JpbmRpbmdzL3NjcmlwdHMvYmluZF9nZW4vZGljdGlvbmFyeS5weQorQEAgLTk5 Myw3ICs5OTMsNyBAQCBkZWYgbWFrZV9kaWN0X3RyYWNlX2Z1bmMoY2dfY29udGV4dCk6CisgICAg ICAgICBfMiA9IF9ibGlua19tZW1iZXJfbmFtZShtZW1iZXIpLnZhbHVlX3ZhcgorICAgICAgICAg cmV0dXJuIFRleHROb2RlKF9mb3JtYXQocGF0dGVybiwgXzE9XzEsIF8yPV8yKSkKKyAKKy0gICAg Ym9keS5leHRlbmQobWFwKG1ha2VfdHJhY2VfbWVtYmVyX25vZGUsIG93bl9tZW1iZXJzKSkKKysg ICAgYm9keS5leHRlbmQobGlzdChtYXAobWFrZV90cmFjZV9tZW1iZXJfbm9kZSwgb3duX21lbWJl cnMpKSkKKyAgICAgYm9keS5hcHBlbmQoVGV4dE5vZGUoIkJhc2VDbGFzczo6VHJhY2UodmlzaXRv cik7IikpCisgCisgICAgIHJldHVybiBmdW5jX2RlY2wsIGZ1bmNfZGVmCitkaWZmIC0tZ2l0IGEv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRpbmdz L3NjcmlwdHMvYmluZF9nZW4vaW50ZXJmYWNlLnB5IGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Ro aXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRpbmdzL3NjcmlwdHMvYmluZF9nZW4vaW50ZXJm YWNlLnB5CitpbmRleCAxMGZmMzA2NTZhZC4uYmZkZjcxMjhhYWMgMTAwNjQ0CistLS0gYS9zcmMv M3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYmluZGluZ3Mvc2Ny aXB0cy9iaW5kX2dlbi9pbnRlcmZhY2UucHkKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90 aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9iaW5kaW5ncy9zY3JpcHRzL2JpbmRfZ2VuL2ludGVy ZmFjZS5weQorQEAgLTU4Miw3ICs1ODIsNyBAQCBkZWYgX21ha2VfYmxpbmtfYXBpX2NhbGwoY29k ZV9ub2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgICBvdmVycmlkaW5nX2FyZ3M9Tm9uZSk6 CisgICAgIGFzc2VydCBpc2luc3RhbmNlKGNvZGVfbm9kZSwgU3ltYm9sU2NvcGVOb2RlKQorICAg ICBhc3NlcnQgaXNpbnN0YW5jZShjZ19jb250ZXh0LCBDb2RlR2VuQ29udGV4dCkKKy0gICAgYXNz ZXJ0IG51bV9vZl9hcmdzIGlzIE5vbmUgb3IgaXNpbnN0YW5jZShudW1fb2ZfYXJncywgKGludCwg bG9uZykpCisrICAgIGFzc2VydCBudW1fb2ZfYXJncyBpcyBOb25lIG9yIGlzaW5zdGFuY2UobnVt X29mX2FyZ3MsIGludCkKKyAgICAgYXNzZXJ0IChvdmVycmlkaW5nX2FyZ3MgaXMgTm9uZQorICAg ICAgICAgICAgIG9yIChpc2luc3RhbmNlKG92ZXJyaWRpbmdfYXJncywgKGxpc3QsIHR1cGxlKSkK KyAgICAgICAgICAgICAgICAgYW5kIGFsbChpc2luc3RhbmNlKGFyZywgc3RyKSBmb3IgYXJnIGlu IG92ZXJyaWRpbmdfYXJncykpKQorQEAgLTExOTYsOCArMTE5NiwxMCBAQCBkZWYgbWFrZV9vdmVy bG9hZF9kaXNwYXRjaGVyKGNnX2NvbnRleHQpOgorICAgICAgICAgICAgIGRpZF91c2VfYnJlYWsg PSBkaWRfdXNlX2JyZWFrIG9yIGNhbl9mYWlsCisgCisgICAgICAgICBjb25kaXRpb25hbCA9IGV4 cHJfb3IoCistICAgICAgICAgICAgbWFwKGxhbWJkYSBpdGVtOiBleHByX2Zyb21fZXhwb3N1cmUo aXRlbS5mdW5jdGlvbl9saWtlLmV4cG9zdXJlKSwKKy0gICAgICAgICAgICAgICAgaXRlbXMpKQor KyAgICAgICAgICAgIGxpc3QoCisrICAgICAgICAgICAgICAgIG1hcCgKKysgICAgICAgICAgICAg ICAgICAgIGxhbWJkYSBpdGVtOiBleHByX2Zyb21fZXhwb3N1cmUoaXRlbS5mdW5jdGlvbl9saWtl LmV4cG9zdXJlCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICksIGl0ZW1zKSkpCisgICAgICAgICBpZiBub3QgY29uZGl0aW9uYWwuaXNfYWx3YXlz X3RydWU6CisgICAgICAgICAgICAgbm9kZSA9IEN4eFVubGlrZWx5SWZOb2RlKGNvbmQ9Y29uZGl0 aW9uYWwsIGJvZHk9bm9kZSkKKyAKK0BAIC00NjQyLDcgKzQ2NDQsNyBAQCBjbGFzcyBfUHJvcEVu dHJ5Q29uc3RydWN0b3JHcm91cChfUHJvcEVudHJ5QmFzZSk6CisgICAgIGRlZiBfX2luaXRfXyhz ZWxmLCBpc19jb250ZXh0X2RlcGVuZGVudCwgZXhwb3N1cmVfY29uZGl0aW9uYWwsIHdvcmxkLAor ICAgICAgICAgICAgICAgICAgY29uc3RydWN0b3JfZ3JvdXAsIGN0b3JfY2FsbGJhY2tfbmFtZSwg Y3Rvcl9mdW5jX2xlbmd0aCk6CisgICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZShjdG9yX2NhbGxi YWNrX25hbWUsIHN0cikKKy0gICAgICAgIGFzc2VydCBpc2luc3RhbmNlKGN0b3JfZnVuY19sZW5n dGgsIChpbnQsIGxvbmcpKQorKyAgICAgICAgYXNzZXJ0IGlzaW5zdGFuY2UoY3Rvcl9mdW5jX2xl bmd0aCwgaW50KQorIAorICAgICAgICAgX1Byb3BFbnRyeUJhc2UuX19pbml0X18oc2VsZiwgaXNf Y29udGV4dF9kZXBlbmRlbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBv c3VyZV9jb25kaXRpb25hbCwgd29ybGQsIGNvbnN0cnVjdG9yX2dyb3VwKQorQEAgLTQ2NzAsNyAr NDY3Miw3IEBAIGNsYXNzIF9Qcm9wRW50cnlPcGVyYXRpb25Hcm91cChfUHJvcEVudHJ5QmFzZSk6 CisgICAgICAgICAgICAgICAgICBvcF9mdW5jX2xlbmd0aCwKKyAgICAgICAgICAgICAgICAgIG5v X2FsbG9jX2RpcmVjdF9jYWxsYmFja19uYW1lPU5vbmUpOgorICAgICAgICAgYXNzZXJ0IGlzaW5z dGFuY2Uob3BfY2FsbGJhY2tfbmFtZSwgc3RyKQorLSAgICAgICAgYXNzZXJ0IGlzaW5zdGFuY2Uo b3BfZnVuY19sZW5ndGgsIChpbnQsIGxvbmcpKQorKyAgICAgICAgYXNzZXJ0IGlzaW5zdGFuY2Uo b3BfZnVuY19sZW5ndGgsIGludCkKKyAKKyAgICAgICAgIF9Qcm9wRW50cnlCYXNlLl9faW5pdF9f KHNlbGYsIGlzX2NvbnRleHRfZGVwZW5kZW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZXhwb3N1cmVfY29uZGl0aW9uYWwsIHdvcmxkLCBvcGVyYXRpb25fZ3JvdXApCitAQCAt NTE3NSw5ICs1MTc3LDkgQEAgZGVmIG1ha2VfaW5zdGFsbF9pbnRlcmZhY2VfdGVtcGxhdGUoY2df Y29udGV4dCwgZnVuY3Rpb25fbmFtZSwgY2xhc3NfbmFtZSwgYXBpX2MKKyAgICAgXSkKKyAKKyAg ICAgaWYgY2xhc3NfbGlrZS5pZGVudGlmaWVyID09ICJDU1NTdHlsZURlY2xhcmF0aW9uIjoKKy0g ICAgICAgIGNzc19wcm9wZXJ0aWVzID0gZmlsdGVyKAorLSAgICAgICAgICAgIGxhbWJkYSBhdHRy OiAiQ1NTUHJvcGVydHkiIGluIGF0dHIuZXh0ZW5kZWRfYXR0cmlidXRlcywKKy0gICAgICAgICAg ICBjbGFzc19saWtlLmF0dHJpYnV0ZXMpCisrICAgICAgICBjc3NfcHJvcGVydGllcyA9IGxpc3Qo CisrICAgICAgICAgICAgZmlsdGVyKGxhbWJkYSBhdHRyOiAiQ1NTUHJvcGVydHkiIGluIGF0dHIu ZXh0ZW5kZWRfYXR0cmlidXRlcywKKysgICAgICAgICAgICAgICAgICAgY2xhc3NfbGlrZS5hdHRy aWJ1dGVzKSkKKyAgICAgICAgIGlmIGNzc19wcm9wZXJ0aWVzOgorICAgICAgICAgICAgIHByb3Bf bmFtZV9saXN0ID0gIiIuam9pbigKKyAgICAgICAgICAgICAgICAgbWFwKGxhbWJkYSBhdHRyOiAi XCJ7fVwiLCAiLmZvcm1hdChhdHRyLmlkZW50aWZpZXIpLAorQEAgLTU1NjcsOCArNTU2OSw4IEBA ICR7aW5zdGFuY2Vfb2JqZWN0fSA9ICR7djhfY29udGV4dH0tPkdsb2JhbCgpLT5HZXRQcm90b3R5 cGUoKS5Bczx2ODo6T2JqZWN0PigpO1wKKyAgICAgICAgICAgICAiVjhET01Db25maWd1cmF0aW9u OjpJbnN0YWxsQ29uc3RhbnRzKCR7aXNvbGF0ZX0sICIKKyAgICAgICAgICAgICAiJHtpbnRlcmZh Y2VfdGVtcGxhdGV9LCAke3Byb3RvdHlwZV90ZW1wbGF0ZX0sICIKKyAgICAgICAgICAgICAia0Nv bnN0YW50Q2FsbGJhY2tUYWJsZSwgYmFzZTo6c2l6ZShrQ29uc3RhbnRDYWxsYmFja1RhYmxlKSk7 IikKKy0gICAgY29uc3RhbnRfY2FsbGJhY2tfZW50cmllcyA9IGZpbHRlcihsYW1iZGEgZW50cnk6 IGVudHJ5LmNvbnN0X2NhbGxiYWNrX25hbWUsCistICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY29uc3RhbnRfZW50cmllcykKKysgICAgY29uc3RhbnRfY2FsbGJhY2tfZW50 cmllcyA9IGxpc3QoZmlsdGVyKGxhbWJkYSBlbnRyeTogZW50cnkuY29uc3RfY2FsbGJhY2tfbmFt ZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdGFudF9lbnRy aWVzKSkKKyAgICAgaW5zdGFsbF9wcm9wZXJ0aWVzKHRhYmxlX25hbWUsIGNvbnN0YW50X2NhbGxi YWNrX2VudHJpZXMsCisgICAgICAgICAgICAgICAgICAgICAgICBfbWFrZV9jb25zdGFudF9jYWxs YmFja19yZWdpc3RyYXRpb25fdGFibGUsCisgICAgICAgICAgICAgICAgICAgICAgICBpbnN0YWxs ZXJfY2FsbF90ZXh0KQorQEAgLTU1ODQsOCArNTU4Niw4IEBAICR7aW5zdGFuY2Vfb2JqZWN0fSA9 ICR7djhfY29udGV4dH0tPkdsb2JhbCgpLT5HZXRQcm90b3R5cGUoKS5Bczx2ODo6T2JqZWN0Pigp O1wKKyAgICAgICAgICAgICAiVjhET01Db25maWd1cmF0aW9uOjpJbnN0YWxsQ29uc3RhbnRzKCR7 aXNvbGF0ZX0sICIKKyAgICAgICAgICAgICAiJHtpbnRlcmZhY2VfdGVtcGxhdGV9LCAke3Byb3Rv dHlwZV90ZW1wbGF0ZX0sICIKKyAgICAgICAgICAgICAia0NvbnN0YW50VmFsdWVUYWJsZSwgYmFz ZTo6c2l6ZShrQ29uc3RhbnRWYWx1ZVRhYmxlKSk7IikKKy0gICAgY29uc3RhbnRfdmFsdWVfZW50 cmllcyA9IGZpbHRlcigKKy0gICAgICAgIGxhbWJkYSBlbnRyeTogbm90IGVudHJ5LmNvbnN0X2Nh bGxiYWNrX25hbWUsIGNvbnN0YW50X2VudHJpZXMpCisrICAgIGNvbnN0YW50X3ZhbHVlX2VudHJp ZXMgPSBsaXN0KGZpbHRlcigKKysgICAgICAgIGxhbWJkYSBlbnRyeTogbm90IGVudHJ5LmNvbnN0 X2NhbGxiYWNrX25hbWUsIGNvbnN0YW50X2VudHJpZXMpKQorICAgICBpbnN0YWxsX3Byb3BlcnRp ZXModGFibGVfbmFtZSwgY29uc3RhbnRfdmFsdWVfZW50cmllcywKKyAgICAgICAgICAgICAgICAg ICAgICAgIF9tYWtlX2NvbnN0YW50X3ZhbHVlX3JlZ2lzdHJhdGlvbl90YWJsZSwKKyAgICAgICAg ICAgICAgICAgICAgICAgIGluc3RhbGxlcl9jYWxsX3RleHQpCitAQCAtNjMzNiw4ICs2MzM4LDgg QEAgZGVmIG1ha2VfdjhfY29udGV4dF9zbmFwc2hvdF9hcGkoY2dfY29udGV4dCwgY29tcG9uZW50 LCBhdHRyaWJ1dGVfZW50cmllcywKKyAgICAgYXNzZXJ0IGlzaW5zdGFuY2UoY29tcG9uZW50LCB3 ZWJfaWRsLkNvbXBvbmVudCkKKyAKKyAgICAgZGVyaXZlZF9pbnRlcmZhY2VzID0gY2dfY29udGV4 dC5pbnRlcmZhY2UuZGVyaXZlZHMKKy0gICAgZGVyaXZlZF9uYW1lcyA9IG1hcChsYW1iZGEgaW50 ZXJmYWNlOiBpbnRlcmZhY2UuaWRlbnRpZmllciwKKy0gICAgICAgICAgICAgICAgICAgICAgICBk ZXJpdmVkX2ludGVyZmFjZXMpCisrICAgIGRlcml2ZWRfbmFtZXMgPSBsaXN0KAorKyAgICAgICAg bWFwKGxhbWJkYSBpbnRlcmZhY2U6IGludGVyZmFjZS5pZGVudGlmaWVyLCBkZXJpdmVkX2ludGVy ZmFjZXMpKQorICAgICBkZXJpdmVkX25hbWVzLmFwcGVuZChjZ19jb250ZXh0LmludGVyZmFjZS5p ZGVudGlmaWVyKQorICAgICBpZiBub3QgKCJXaW5kb3ciIGluIGRlcml2ZWRfbmFtZXMgb3IgIkhU TUxEb2N1bWVudCIgaW4gZGVyaXZlZF9uYW1lcyk6CisgICAgICAgICByZXR1cm4gTm9uZSwgTm9u ZQorQEAgLTY0MTEsOSArNjQxMywxMSBAQCBkZWYgX21ha2VfdjhfY29udGV4dF9zbmFwc2hvdF9n ZXRfcmVmZXJlbmNlX3RhYmxlX2Z1bmN0aW9uKAorICAgICBjb2xsZWN0X2NhbGxiYWNrcyhuYW1l ZF9wcm9wZXJ0aWVzX29iamVjdF9jYWxsYmFja19kZWZzKQorICAgICBjb2xsZWN0X2NhbGxiYWNr cyhjcm9zc19vcmlnaW5fcHJvcGVydHlfY2FsbGJhY2tfZGVmcykKKyAKKy0gICAgZW50cnlfbm9k ZXMgPSBtYXAoCistICAgICAgICBsYW1iZGEgbmFtZTogVGV4dE5vZGUoInJlaW50ZXJwcmV0X2Nh c3Q8aW50cHRyX3Q+KHt9KSwiLmZvcm1hdChuYW1lKSksCistICAgICAgICBmaWx0ZXIoTm9uZSwg Y2FsbGJhY2tfbmFtZXMpKQorKyAgICBlbnRyeV9ub2RlcyA9IGxpc3QoCisrICAgICAgICBtYXAo CisrICAgICAgICAgICAgbGFtYmRhIG5hbWU6IFRleHROb2RlKCJyZWludGVycHJldF9jYXN0PGlu dHB0cl90Pih7fSksIi5mb3JtYXQobmFtZQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkpLAorKyAgICAg ICAgICAgIGZpbHRlcihOb25lLCBjYWxsYmFja19uYW1lcykpKQorICAgICB0YWJsZV9ub2RlID0g TGlzdE5vZGUoWworICAgICAgICAgVGV4dE5vZGUoInVzaW5nIG5hbWVzcGFjZSAke2NsYXNzX25h bWV9Q2FsbGJhY2tzOyIpLAorICAgICAgICAgVGV4dE5vZGUoInN0YXRpYyBjb25zdCBpbnRwdHJf dCBrUmVmZXJlbmNlVGFibGVbXSA9IHsiKSwKK0BAIC02NDUxLDEwICs2NDU1LDExIEBAIGRlZiBf bWFrZV92OF9jb250ZXh0X3NuYXBzaG90X2luc3RhbGxfcHJvcHNfcGVyX2NvbnRleHRfZnVuY3Rp b24oCisgICAgICAgICBjbGFzc19uYW1lPU5vbmUsCisgICAgICAgICBwcm9wX2luc3RhbGxfbW9k ZT1Qcm9wSW5zdGFsbE1vZGUuVjhfQ09OVEVYVF9TTkFQU0hPVCwKKyAgICAgICAgIHRyYW1wb2xp bmVfdmFyX25hbWU9Tm9uZSwKKy0gICAgICAgIGF0dHJpYnV0ZV9lbnRyaWVzPWZpbHRlcihzZWxl Y3RvciwgYXR0cmlidXRlX2VudHJpZXMpLAorLSAgICAgICAgY29uc3RhbnRfZW50cmllcz1maWx0 ZXIoc2VsZWN0b3IsIGNvbnN0YW50X2VudHJpZXMpLAorLSAgICAgICAgZXhwb3NlZF9jb25zdHJ1 Y3RfZW50cmllcz1maWx0ZXIoc2VsZWN0b3IsIGV4cG9zZWRfY29uc3RydWN0X2VudHJpZXMpLAor LSAgICAgICAgb3BlcmF0aW9uX2VudHJpZXM9ZmlsdGVyKHNlbGVjdG9yLCBvcGVyYXRpb25fZW50 cmllcykpCisrICAgICAgICBhdHRyaWJ1dGVfZW50cmllcz1saXN0KGZpbHRlcihzZWxlY3Rvciwg YXR0cmlidXRlX2VudHJpZXMpKSwKKysgICAgICAgIGNvbnN0YW50X2VudHJpZXM9bGlzdChmaWx0 ZXIoc2VsZWN0b3IsIGNvbnN0YW50X2VudHJpZXMpKSwKKysgICAgICAgIGV4cG9zZWRfY29uc3Ry dWN0X2VudHJpZXM9bGlzdCgKKysgICAgICAgICAgICBmaWx0ZXIoc2VsZWN0b3IsIGV4cG9zZWRf Y29uc3RydWN0X2VudHJpZXMpKSwKKysgICAgICAgIG9wZXJhdGlvbl9lbnRyaWVzPWxpc3QoZmls dGVyKHNlbGVjdG9yLCBvcGVyYXRpb25fZW50cmllcykpKQorIAorICAgICByZXR1cm4gZnVuY19k ZWNsLCBmdW5jX2RlZgorIAorQEAgLTY4MTAsMTEgKzY4MTUsMTEgQEAgZGVmIGdlbmVyYXRlX2lu dGVyZmFjZShpbnRlcmZhY2VfaWRlbnRpZmllcik6CisgICAgICAgICAgY2xhc3NfbmFtZT1pbXBs X2NsYXNzX25hbWUsCisgICAgICAgICAgcHJvcF9pbnN0YWxsX21vZGU9UHJvcEluc3RhbGxNb2Rl LlVOQ09ORElUSU9OQUwsCisgICAgICAgICAgdHJhbXBvbGluZV92YXJfbmFtZT10cF9pbnN0YWxs X3VuY29uZGl0aW9uYWxfcHJvcHMsCistICAgICAgICAgYXR0cmlidXRlX2VudHJpZXM9ZmlsdGVy KGlzX3VuY29uZGl0aW9uYWwsIGF0dHJpYnV0ZV9lbnRyaWVzKSwKKy0gICAgICAgICBjb25zdGFu dF9lbnRyaWVzPWZpbHRlcihpc191bmNvbmRpdGlvbmFsLCBjb25zdGFudF9lbnRyaWVzKSwKKy0g ICAgICAgICBleHBvc2VkX2NvbnN0cnVjdF9lbnRyaWVzPWZpbHRlcihpc191bmNvbmRpdGlvbmFs LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cG9zZWRfY29u c3RydWN0X2VudHJpZXMpLAorLSAgICAgICAgIG9wZXJhdGlvbl9lbnRyaWVzPWZpbHRlcihpc191 bmNvbmRpdGlvbmFsLCBvcGVyYXRpb25fZW50cmllcykpCisrICAgICAgICAgYXR0cmlidXRlX2Vu dHJpZXM9bGlzdChmaWx0ZXIoaXNfdW5jb25kaXRpb25hbCwgYXR0cmlidXRlX2VudHJpZXMpKSwK KysgICAgICAgICBjb25zdGFudF9lbnRyaWVzPWxpc3QoZmlsdGVyKGlzX3VuY29uZGl0aW9uYWws IGNvbnN0YW50X2VudHJpZXMpKSwKKysgICAgICAgICBleHBvc2VkX2NvbnN0cnVjdF9lbnRyaWVz PWxpc3QoCisrICAgICAgICAgICAgIGZpbHRlcihpc191bmNvbmRpdGlvbmFsLCBleHBvc2VkX2Nv bnN0cnVjdF9lbnRyaWVzKSksCisrICAgICAgICAgb3BlcmF0aW9uX2VudHJpZXM9bGlzdChmaWx0 ZXIoaXNfdW5jb25kaXRpb25hbCwgb3BlcmF0aW9uX2VudHJpZXMpKSkKKyAgICAgKGluc3RhbGxf Y29udGV4dF9pbmRlcGVuZGVudF9wcm9wc19kZWNsLAorICAgICAgaW5zdGFsbF9jb250ZXh0X2lu ZGVwZW5kZW50X3Byb3BzX2RlZiwKKyAgICAgIGluc3RhbGxfY29udGV4dF9pbmRlcGVuZGVudF9w cm9wc190cmFtcG9saW5lKSA9IG1ha2VfaW5zdGFsbF9wcm9wZXJ0aWVzKAorQEAgLTY4MjMsMTEg KzY4MjgsMTQgQEAgZGVmIGdlbmVyYXRlX2ludGVyZmFjZShpbnRlcmZhY2VfaWRlbnRpZmllcik6 CisgICAgICAgICAgY2xhc3NfbmFtZT1pbXBsX2NsYXNzX25hbWUsCisgICAgICAgICAgcHJvcF9p bnN0YWxsX21vZGU9UHJvcEluc3RhbGxNb2RlLkNPTlRFWFRfSU5ERVBFTkRFTlQsCisgICAgICAg ICAgdHJhbXBvbGluZV92YXJfbmFtZT10cF9pbnN0YWxsX2NvbnRleHRfaW5kZXBlbmRlbnRfcHJv cHMsCistICAgICAgICAgYXR0cmlidXRlX2VudHJpZXM9ZmlsdGVyKGlzX2NvbnRleHRfaW5kZXBl bmRlbnQsIGF0dHJpYnV0ZV9lbnRyaWVzKSwKKy0gICAgICAgICBjb25zdGFudF9lbnRyaWVzPWZp bHRlcihpc19jb250ZXh0X2luZGVwZW5kZW50LCBjb25zdGFudF9lbnRyaWVzKSwKKy0gICAgICAg ICBleHBvc2VkX2NvbnN0cnVjdF9lbnRyaWVzPWZpbHRlcihpc19jb250ZXh0X2luZGVwZW5kZW50 LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cG9zZWRfY29u c3RydWN0X2VudHJpZXMpLAorLSAgICAgICAgIG9wZXJhdGlvbl9lbnRyaWVzPWZpbHRlcihpc19j b250ZXh0X2luZGVwZW5kZW50LCBvcGVyYXRpb25fZW50cmllcykpCisrICAgICAgICAgYXR0cmli dXRlX2VudHJpZXM9bGlzdCgKKysgICAgICAgICAgICAgZmlsdGVyKGlzX2NvbnRleHRfaW5kZXBl bmRlbnQsIGF0dHJpYnV0ZV9lbnRyaWVzKSksCisrICAgICAgICAgY29uc3RhbnRfZW50cmllcz1s aXN0KGZpbHRlcihpc19jb250ZXh0X2luZGVwZW5kZW50LAorKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgY29uc3RhbnRfZW50cmllcykpLAorKyAgICAgICAgIGV4cG9zZWRf Y29uc3RydWN0X2VudHJpZXM9bGlzdCgKKysgICAgICAgICAgICAgZmlsdGVyKGlzX2NvbnRleHRf aW5kZXBlbmRlbnQsIGV4cG9zZWRfY29uc3RydWN0X2VudHJpZXMpKSwKKysgICAgICAgICBvcGVy YXRpb25fZW50cmllcz1saXN0KAorKyAgICAgICAgICAgICBmaWx0ZXIoaXNfY29udGV4dF9pbmRl cGVuZGVudCwgb3BlcmF0aW9uX2VudHJpZXMpKSkKKyAgICAgKGluc3RhbGxfY29udGV4dF9kZXBl bmRlbnRfcHJvcHNfZGVjbCwgaW5zdGFsbF9jb250ZXh0X2RlcGVuZGVudF9wcm9wc19kZWYsCisg ICAgICBpbnN0YWxsX2NvbnRleHRfZGVwZW5kZW50X3Byb3BzX3RyYW1wb2xpbmUpID0gbWFrZV9p bnN0YWxsX3Byb3BlcnRpZXMoCisgICAgICAgICAgY2dfY29udGV4dCwKK0BAIC02ODM1LDExICs2 ODQzLDEzIEBAIGRlZiBnZW5lcmF0ZV9pbnRlcmZhY2UoaW50ZXJmYWNlX2lkZW50aWZpZXIpOgor ICAgICAgICAgIGNsYXNzX25hbWU9aW1wbF9jbGFzc19uYW1lLAorICAgICAgICAgIHByb3BfaW5z dGFsbF9tb2RlPVByb3BJbnN0YWxsTW9kZS5DT05URVhUX0RFUEVOREVOVCwKKyAgICAgICAgICB0 cmFtcG9saW5lX3Zhcl9uYW1lPXRwX2luc3RhbGxfY29udGV4dF9kZXBlbmRlbnRfcHJvcHMsCist ICAgICAgICAgYXR0cmlidXRlX2VudHJpZXM9ZmlsdGVyKGlzX2NvbnRleHRfZGVwZW5kZW50LCBh dHRyaWJ1dGVfZW50cmllcyksCistICAgICAgICAgY29uc3RhbnRfZW50cmllcz1maWx0ZXIoaXNf Y29udGV4dF9kZXBlbmRlbnQsIGNvbnN0YW50X2VudHJpZXMpLAorLSAgICAgICAgIGV4cG9zZWRf Y29uc3RydWN0X2VudHJpZXM9ZmlsdGVyKGlzX2NvbnRleHRfZGVwZW5kZW50LAorLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cG9zZWRfY29uc3RydWN0X2VudHJp ZXMpLAorLSAgICAgICAgIG9wZXJhdGlvbl9lbnRyaWVzPWZpbHRlcihpc19jb250ZXh0X2RlcGVu ZGVudCwgb3BlcmF0aW9uX2VudHJpZXMpKQorKyAgICAgICAgIGF0dHJpYnV0ZV9lbnRyaWVzPWxp c3QoZmlsdGVyKGlzX2NvbnRleHRfZGVwZW5kZW50LAorKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGF0dHJpYnV0ZV9lbnRyaWVzKSksCisrICAgICAgICAgY29uc3RhbnRf ZW50cmllcz1saXN0KGZpbHRlcihpc19jb250ZXh0X2RlcGVuZGVudCwgY29uc3RhbnRfZW50cmll cykpLAorKyAgICAgICAgIGV4cG9zZWRfY29uc3RydWN0X2VudHJpZXM9bGlzdCgKKysgICAgICAg ICAgICAgZmlsdGVyKGlzX2NvbnRleHRfZGVwZW5kZW50LCBleHBvc2VkX2NvbnN0cnVjdF9lbnRy aWVzKSksCisrICAgICAgICAgb3BlcmF0aW9uX2VudHJpZXM9bGlzdChmaWx0ZXIoaXNfY29udGV4 dF9kZXBlbmRlbnQsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3Bl cmF0aW9uX2VudHJpZXMpKSkKKyAgICAgKGluc3RhbGxfaW50ZXJmYWNlX3RlbXBsYXRlX2RlY2ws IGluc3RhbGxfaW50ZXJmYWNlX3RlbXBsYXRlX2RlZiwKKyAgICAgIGluc3RhbGxfaW50ZXJmYWNl X3RlbXBsYXRlX3RyYW1wb2xpbmUpID0gbWFrZV9pbnN0YWxsX2ludGVyZmFjZV90ZW1wbGF0ZSgK KyAgICAgICAgICBjZ19jb250ZXh0LAorZGlmZiAtLWdpdCBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9iaW5kaW5ncy9zY3JpcHRzL2JpbmRfZ2VuL21h a29fcmVuZGVyZXIucHkgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYmxpbmsv cmVuZGVyZXIvYmluZGluZ3Mvc2NyaXB0cy9iaW5kX2dlbi9tYWtvX3JlbmRlcmVyLnB5CitpbmRl eCBiNGM3MDU1Mzg2My4uZjNhMmZjZDc3MmQgMTAwNjQ0CistLS0gYS9zcmMvM3JkcGFydHkvY2hy b21pdW0vdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYmluZGluZ3Mvc2NyaXB0cy9iaW5kX2dl bi9tYWtvX3JlbmRlcmVyLnB5CisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFy dHkvYmxpbmsvcmVuZGVyZXIvYmluZGluZ3Mvc2NyaXB0cy9iaW5kX2dlbi9tYWtvX3JlbmRlcmVy LnB5CitAQCAtMTA1LDcgKzEwNSw3IEBAIGNsYXNzIE1ha29SZW5kZXJlcihvYmplY3QpOgorICAg ICAgICAgICAgIG9uX2Vycm9yID0gc2VsZi5fY2FsbGVyX3N0YWNrX29uX2Vycm9yCisgICAgICAg ICAgICAgaWYgKGxlbihjdXJyZW50KSA8PSBsZW4ob25fZXJyb3IpCisgICAgICAgICAgICAgICAg ICAgICBhbmQgYWxsKGN1cnJlbnRbaV0gPT0gb25fZXJyb3JbaV0KKy0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgZm9yIGkgaW4geHJhbmdlKGxlbihjdXJyZW50KSkpKToKKysgICAgICAgICAg ICAgICAgICAgICAgICAgICAgZm9yIGkgaW4gcmFuZ2UobGVuKGN1cnJlbnQpKSkpOgorICAgICAg ICAgICAgICAgICBwYXNzICAjIEVycm9yIGhhcHBlbmVkIGluIGEgZGVlcGVyIGNhbGxlci4KKyAg ICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICBzZWxmLl9jYWxsZXJfc3RhY2tfb25f ZXJyb3IgPSBsaXN0KHNlbGYuX2NhbGxlcl9zdGFjaykKK2RpZmYgLS1naXQgYS9zcmMvM3JkcGFy dHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYmluZGluZ3Mvc2NyaXB0cy9i aW5kX2dlbi9zdHlsZV9mb3JtYXQucHkgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFy dHkvYmxpbmsvcmVuZGVyZXIvYmluZGluZ3Mvc2NyaXB0cy9iaW5kX2dlbi9zdHlsZV9mb3JtYXQu cHkKK2luZGV4IGRjMzQ5M2NjMzk0Li4wMTdkM2Q0N2JiMyAxMDA2NDQKKy0tLSBhL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9iaW5kaW5ncy9zY3JpcHRz L2JpbmRfZ2VuL3N0eWxlX2Zvcm1hdC5weQorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Ro aXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRpbmdzL3NjcmlwdHMvYmluZF9nZW4vc3R5bGVf Zm9ybWF0LnB5CitAQCAtNzAsOCArNzAsMTMgQEAgZGVmIGduX2Zvcm1hdChjb250ZW50cywgZmls ZW5hbWU9Tm9uZSk6CisgCisgCisgZGVmIF9pbnZva2VfZm9ybWF0X2NvbW1hbmQoY29tbWFuZF9s aW5lLCBmaWxlbmFtZSwgY29udGVudHMpOgorLSAgICBwcm9jID0gc3VicHJvY2Vzcy5Qb3BlbigK Ky0gICAgICAgIGNvbW1hbmRfbGluZSwgc3RkaW49c3VicHJvY2Vzcy5QSVBFLCBzdGRvdXQ9c3Vi cHJvY2Vzcy5QSVBFKQorKyAgICBrd2FyZ3MgPSB7fQorKyAgICBpZiBzeXMudmVyc2lvbl9pbmZv Lm1ham9yICE9IDI6CisrICAgICAgICBrd2FyZ3NbJ2VuY29kaW5nJ10gPSAndXRmLTgnCisrICAg IHByb2MgPSBzdWJwcm9jZXNzLlBvcGVuKGNvbW1hbmRfbGluZSwKKysgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc3RkaW49c3VicHJvY2Vzcy5QSVBFLAorKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFLAorKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAqKmt3YXJncykKKyAgICAgc3Rkb3V0X291dHB1dCwgc3RkZXJyX291dHB1dCA9IHByb2Mu Y29tbXVuaWNhdGUoaW5wdXQ9Y29udGVudHMpCisgICAgIGV4aXRfY29kZSA9IHByb2Mud2FpdCgp CisgCitkaWZmIC0tZ2l0IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JsaW5r L3JlbmRlcmVyL2JpbmRpbmdzL3NjcmlwdHMvYmluZF9nZW4vdGFza19xdWV1ZS5weSBiL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9iaW5kaW5ncy9zY3Jp cHRzL2JpbmRfZ2VuL3Rhc2tfcXVldWUucHkKK2luZGV4IDBkOGY0YzBmMzAzLi5lNjY2YTliNjY4 ZSAxMDA2NDQKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9ibGluay9y ZW5kZXJlci9iaW5kaW5ncy9zY3JpcHRzL2JpbmRfZ2VuL3Rhc2tfcXVldWUucHkKKysrKyBiL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9iaW5kaW5ncy9z Y3JpcHRzL2JpbmRfZ2VuL3Rhc2tfcXVldWUucHkKK0BAIC0yLDYgKzIsNyBAQAorICMgVXNlIG9m IHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0 IGNhbiBiZQorICMgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKyAKKytpbXBvcnQgZnVuY3Rv b2xzCisgaW1wb3J0IG11bHRpcHJvY2Vzc2luZworIAorIGZyb20gLnBhY2thZ2VfaW5pdGlhbGl6 ZXIgaW1wb3J0IHBhY2thZ2VfaW5pdGlhbGl6ZXIKK0BAIC03Niw3ICs3Nyw3IEBAIGNsYXNzIFRh c2tRdWV1ZShvYmplY3QpOgorICAgICAgICAgaWYgbm90IHJlcG9ydF9wcm9ncmVzczoKKyAgICAg ICAgICAgICByZXR1cm4KKyAKKy0gICAgICAgIGRvbmVfY291bnQgPSByZWR1Y2UoCisrICAgICAg ICBkb25lX2NvdW50ID0gZnVuY3Rvb2xzLnJlZHVjZSgKKyAgICAgICAgICAgICBsYW1iZGEgY291 bnQsIHdvcmtlcl90YXNrOiBjb3VudCArIGJvb2wod29ya2VyX3Rhc2sucmVhZHkoKSksCisgICAg ICAgICAgICAgc2VsZi5fd29ya2VyX3Rhc2tzLCAwKQorICAgICAgICAgcmVwb3J0X3Byb2dyZXNz KGxlbihzZWxmLl93b3JrZXJfdGFza3MpLCBkb25lX2NvdW50KQorQEAgLTg1LDQgKzg2LDQgQEAg Y2xhc3MgVGFza1F1ZXVlKG9iamVjdCk6CisgZGVmIF90YXNrX3F1ZXVlX3J1bl90YXNrcyh0YXNr cyk6CisgICAgIGZvciB0YXNrIGluIHRhc2tzOgorICAgICAgICAgZnVuYywgYXJncywga3dhcmdz ID0gdGFzaworLSAgICAgICAgYXBwbHkoZnVuYywgYXJncywga3dhcmdzKQorKyAgICAgICAgZnVu YygqYXJncywgKiprd2FyZ3MpCitkaWZmIC0tZ2l0IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Ro aXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRpbmdzL3NjcmlwdHMvY29kZV9nZW5lcmF0b3Iu cHkgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYmlu ZGluZ3Mvc2NyaXB0cy9jb2RlX2dlbmVyYXRvci5weQoraW5kZXggZTgyODBiZTcyMTMuLmU0OWU2 ZWI5NjVlIDEwMDY0NAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2Js aW5rL3JlbmRlcmVyL2JpbmRpbmdzL3NjcmlwdHMvY29kZV9nZW5lcmF0b3IucHkKKysrKyBiL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9iaW5kaW5ncy9z Y3JpcHRzL2NvZGVfZ2VuZXJhdG9yLnB5CitAQCAtMTMsNiArMTMsNyBAQCBpbXBvcnQgcmUKKyBp bXBvcnQgc3lzCisgCisgZnJvbSBpZGxfdHlwZXMgaW1wb3J0IHNldF9hbmNlc3RvcnMsIElkbFR5 cGUKKytmcm9tIGl0ZXJ0b29scyBpbXBvcnQgZ3JvdXBieQorIGZyb20gdjhfZ2xvYmFscyBpbXBv cnQgaW5jbHVkZXMKKyBmcm9tIHY4X2ludGVyZmFjZSBpbXBvcnQgY29uc3RhbnRfZmlsdGVycwor IGZyb20gdjhfdHlwZXMgaW1wb3J0IHNldF9jb21wb25lbnRfZGlycworQEAgLTQzLDYgKzQ0LDcg QEAgVEVNUExBVEVTX0RJUiA9IG9zLnBhdGgubm9ybXBhdGgoCisgIyBhZnRlciBwYXRoWzBdID09 IGludm9raW5nIHNjcmlwdCBkaXIKKyBzeXMucGF0aC5pbnNlcnQoMSwgVEhJUkRfUEFSVFlfRElS KQorIGltcG9ydCBqaW5qYTIKKytmcm9tIGppbmphMi5maWx0ZXJzIGltcG9ydCBtYWtlX2F0dHJn ZXR0ZXIsIGVudmlyb25tZW50ZmlsdGVyCisgCisgCisgZGVmIGdlbmVyYXRlX2luZGVudGVkX2Nv bmRpdGlvbmFsKGNvZGUsIGNvbmRpdGlvbmFsKToKK0BAIC04OCw2ICs5MCwxMyBAQCBkZWYgcnVu dGltZV9lbmFibGVkX2lmKGNvZGUsIG5hbWUpOgorICAgICByZXR1cm4gZ2VuZXJhdGVfaW5kZW50 ZWRfY29uZGl0aW9uYWwoY29kZSwgZnVuY3Rpb24pCisgCisgCisrQGVudmlyb25tZW50ZmlsdGVy CisrZGVmIGRvX3N0cmluZ2lmeV9rZXlfZ3JvdXBfYnkoZW52aXJvbm1lbnQsIHZhbHVlLCBhdHRy aWJ1dGUpOgorKyAgICBleHByID0gbWFrZV9hdHRyZ2V0dGVyKGVudmlyb25tZW50LCBhdHRyaWJ1 dGUpCisrICAgIGtleSA9IGxhbWJkYSBpdGVtOiAnJyBpZiBleHByKGl0ZW0pIGlzIE5vbmUgZWxz ZSBzdHIoZXhwcihpdGVtKSkKKysgICAgcmV0dXJuIGdyb3VwYnkoc29ydGVkKHZhbHVlLCBrZXk9 a2V5KSwgZXhwcikKKysKKysKKyBkZWYgaW5pdGlhbGl6ZV9qaW5qYV9lbnYoY2FjaGVfZGlyKToK KyAgICAgamluamFfZW52ID0gamluamEyLkVudmlyb25tZW50KAorICAgICAgICAgbG9hZGVyPWpp bmphMi5GaWxlU3lzdGVtTG9hZGVyKFRFTVBMQVRFU19ESVIpLAorQEAgLTExNyw2ICsxMjYsNyBA QCBkZWYgaW5pdGlhbGl6ZV9qaW5qYV9lbnYoY2FjaGVfZGlyKToKKyAgICAgfSkKKyAgICAgamlu amFfZW52LmZpbHRlcnMudXBkYXRlKGNvbnN0YW50X2ZpbHRlcnMoKSkKKyAgICAgamluamFfZW52 LmZpbHRlcnMudXBkYXRlKG1ldGhvZF9maWx0ZXJzKCkpCisrICAgIGppbmphX2Vudi5maWx0ZXJz WyJzdHJpbmdpZnlrZXlncm91cGJ5Il0gPSBkb19zdHJpbmdpZnlfa2V5X2dyb3VwX2J5CisgICAg IHJldHVybiBqaW5qYV9lbnYKKyAKKyAKK2RpZmYgLS1naXQgYS9zcmMvM3JkcGFydHkvY2hyb21p dW0vdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYmluZGluZ3Mvc2NyaXB0cy9nZW5lcmF0ZV9v cmlnaW5fdHJpYWxfZmVhdHVyZXMucHkgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFy dHkvYmxpbmsvcmVuZGVyZXIvYmluZGluZ3Mvc2NyaXB0cy9nZW5lcmF0ZV9vcmlnaW5fdHJpYWxf ZmVhdHVyZXMucHkKK2luZGV4IDEzMDAwNGVhZTgzLi4wNGMwZmFiY2VmMiAxMDA3NTUKKy0tLSBh L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9iaW5kaW5n cy9zY3JpcHRzL2dlbmVyYXRlX29yaWdpbl90cmlhbF9mZWF0dXJlcy5weQorKysrIGIvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRpbmdzL3Njcmlw dHMvZ2VuZXJhdGVfb3JpZ2luX3RyaWFsX2ZlYXR1cmVzLnB5CitAQCAtODAsNyArODAsNyBAQCBk ZWYgcmVhZF9pZGxfZmlsZShyZWFkZXIsIGlkbF9maWxlbmFtZSk6CisgICAgIGFzc2VydCBsZW4o aW50ZXJmYWNlcykgPT0gMSwgKAorICAgICAgICAgIkV4cGVjdGVkIG9uZSBpbnRlcmZhY2UgaW4g ZmlsZSAlciwgZm91bmQgJWQiICUKKyAgICAgICAgIChpZGxfZmlsZW5hbWUsIGxlbihpbnRlcmZh Y2VzKSkpCistICAgIHJldHVybiAoaW50ZXJmYWNlcy52YWx1ZXMoKVswXSwgaW5jbHVkZXMpCisr ICAgIHJldHVybiAobGlzdChpbnRlcmZhY2VzLnZhbHVlcygpKVswXSwgaW5jbHVkZXMpCisgCisg CisgZGVmIGludGVyZmFjZV9pc19nbG9iYWwoaW50ZXJmYWNlKToKK0BAIC0yODEsNyArMjgxLDcg QEAgZGVmIG1haW4oKToKKyAKKyAgICAgaW5mb19wcm92aWRlciA9IGNyZWF0ZV9jb21wb25lbnRf aW5mb19wcm92aWRlcigKKyAgICAgICAgIG9zLnBhdGgubm9ybXBhdGgob3B0aW9ucy5pbmZvX2Rp ciksIG9wdGlvbnMudGFyZ2V0X2NvbXBvbmVudCkKKy0gICAgaWRsX2ZpbGVuYW1lcyA9IG1hcChz dHIuc3RyaXAsIG9wZW4ob3B0aW9ucy5pZGxfZmlsZXNfbGlzdCkpCisrICAgIGlkbF9maWxlbmFt ZXMgPSBsaXN0KG1hcChzdHIuc3RyaXAsIG9wZW4ob3B0aW9ucy5pZGxfZmlsZXNfbGlzdCkpKQor IAorICAgICBnZW5lcmF0ZV9vcmlnaW5fdHJpYWxfZmVhdHVyZXMoaW5mb19wcm92aWRlciwgb3B0 aW9ucywgaWRsX2ZpbGVuYW1lcykKKyAgICAgcmV0dXJuIDAKK2RpZmYgLS1naXQgYS9zcmMvM3Jk cGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYmluZGluZ3Mvc2NyaXB0 cy9pZGxfZGVmaW5pdGlvbnMucHkgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkv YmxpbmsvcmVuZGVyZXIvYmluZGluZ3Mvc2NyaXB0cy9pZGxfZGVmaW5pdGlvbnMucHkKK2luZGV4 IDE0ZTZlOWQzZjg3Li5iMDI3ODE4YWVmMiAxMDA2NDQKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9iaW5kaW5ncy9zY3JpcHRzL2lkbF9kZWZp bml0aW9ucy5weQorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JsaW5r L3JlbmRlcmVyL2JpbmRpbmdzL3NjcmlwdHMvaWRsX2RlZmluaXRpb25zLnB5CitAQCAtMzk0LDcg KzM5NCw4IEBAIGNsYXNzIElkbEludGVyZmFjZShvYmplY3QpOgorICAgICAgICAgICAgIGVsc2U6 CisgICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ1VucmVjb2duaXplZCBub2RlIGNs YXNzOiAlcycgJSBjaGlsZF9jbGFzcykKKyAKKy0gICAgICAgIGlmIGxlbihmaWx0ZXIoTm9uZSwg W3NlbGYuaXRlcmFibGUsIHNlbGYubWFwbGlrZSwgc2VsZi5zZXRsaWtlXSkpID4gMToKKysgICAg ICAgIGlmIGxlbihsaXN0KGZpbHRlcihOb25lLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAg IFtzZWxmLml0ZXJhYmxlLCBzZWxmLm1hcGxpa2UsIHNlbGYuc2V0bGlrZV0pKSkgPiAxOgorICAg ICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoCisgICAgICAgICAgICAgICAgICdJbnRlcmZhY2Ug Y2FuIG9ubHkgaGF2ZSBvbmUgb2YgaXRlcmFibGU8PiwgbWFwbGlrZTw+IGFuZCBzZXRsaWtlPD4u JworICAgICAgICAgICAgICkKK0BAIC01MTIsNiArNTEzLDkgQEAgY2xhc3MgSWRsQXR0cmlidXRl KFR5cGVkT2JqZWN0KToKKyAgICAgZGVmIGFjY2VwdChzZWxmLCB2aXNpdG9yKToKKyAgICAgICAg IHZpc2l0b3IudmlzaXRfYXR0cmlidXRlKHNlbGYpCisgCisrICAgIGRlZiBfX2x0X18oc2VsZiwg b3RoZXIpOgorKyAgICAgICAgcmV0dXJuIHNlbGYubmFtZSA8IG90aGVyLm5hbWUKKysKKyAKKyAj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIworICMgQ29uc3RhbnRzCitAQCAtODUyLDcgKzg1Niw3IEBA IGNsYXNzIElkbEluY2x1ZGVzKG9iamVjdCk6CisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyAK KyAKKy1jbGFzcyBFeHBvc3VyZToKKytjbGFzcyBFeHBvc3VyZShvYmplY3QpOgorICAgICAiIiJB biBFeHBvc3VyZSBob2xkcyBvbmUgRXhwb3NlZCBvciBSdW50aW1lRW5hYmxlZCBjb25kaXRpb24u CisgICAgIEVhY2ggZXhwb3N1cmUgaGFzIHR3byBwcm9wZXJ0aWVzOiBleHBvc2VkIGFuZCBydW50 aW1lX2VuYWJsZWQuCisgICAgIEV4cG9zdXJlKGUsIHIpIGNvcnJlc3BvbmRzIHRvIFtFeHBvc2Vk KGUgcildLiBFeHBvc3VyZShlKSBjb3JyZXNwb25kcyB0bworZGlmZiAtLWdpdCBhL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9iaW5kaW5ncy9zY3JpcHRz L2lkbF9yZWFkZXIucHkgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYmxpbmsv cmVuZGVyZXIvYmluZGluZ3Mvc2NyaXB0cy9pZGxfcmVhZGVyLnB5CitpbmRleCA4ZDcyODY1YTZj YS4uYjgwZWViZGNkNjEgMTAwNjQ0CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRf cGFydHkvYmxpbmsvcmVuZGVyZXIvYmluZGluZ3Mvc2NyaXB0cy9pZGxfcmVhZGVyLnB5CisrKysg Yi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYmluZGlu Z3Mvc2NyaXB0cy9pZGxfcmVhZGVyLnB5CitAQCAtNTUsOCArNTUsOCBAQCBkZWYgdmFsaWRhdGVf YmxpbmtfaWRsX2RlZmluaXRpb25zKGlkbF9maWxlbmFtZSwgaWRsX2ZpbGVfYmFzZW5hbWUsCisg ICAgICAgICAgZGVmaW5pdGlvbnMuIFRoZXJlIGlzIG5vIGZpbGVuYW1lIGNvbnZlbnRpb24gaW4g dGhpcyBjYXNlLgorICAgICAgICAtIE90aGVyd2lzZSwgYW4gSURMIGZpbGUgaXMgaW52YWxpZC4K KyAgICAgIiIiCistICAgIHRhcmdldHMgPSAoCistICAgICAgICBkZWZpbml0aW9ucy5pbnRlcmZh Y2VzLnZhbHVlcygpICsgZGVmaW5pdGlvbnMuZGljdGlvbmFyaWVzLnZhbHVlcygpKQorKyAgICB0 YXJnZXRzID0gKGxpc3QoZGVmaW5pdGlvbnMuaW50ZXJmYWNlcy52YWx1ZXMoKSkgKworKyAgICAg ICAgICAgICAgIGxpc3QoZGVmaW5pdGlvbnMuZGljdGlvbmFyaWVzLnZhbHVlcygpKSkKKyAgICAg bnVtYmVyX29mX3RhcmdldHMgPSBsZW4odGFyZ2V0cykKKyAgICAgaWYgbnVtYmVyX29mX3Rhcmdl dHMgPiAxOgorICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKAorZGlmZiAtLWdpdCBhL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9iaW5kaW5ncy9zY3JpcHRz L2lkbF90eXBlcy5weSBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9ibGluay9y ZW5kZXJlci9iaW5kaW5ncy9zY3JpcHRzL2lkbF90eXBlcy5weQoraW5kZXggY2Q0ZjBjMzUxM2Iu LmFiOTVlOWMwYjA4IDEwMDY0NAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3Bh cnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRpbmdzL3NjcmlwdHMvaWRsX3R5cGVzLnB5CisrKysgYi9z cmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYmluZGluZ3Mv c2NyaXB0cy9pZGxfdHlwZXMucHkKK0BAIC0zNDksNyArMzQ5LDcgQEAgY2xhc3MgSWRsVW5pb25U eXBlKElkbFR5cGVCYXNlKToKKyAgICAgICAgIHJldHVybiBUcnVlCisgCisgICAgIGRlZiBzaW5n bGVfbWF0Y2hpbmdfbWVtYmVyX3R5cGUoc2VsZiwgcHJlZGljYXRlKToKKy0gICAgICAgIG1hdGNo aW5nX3R5cGVzID0gZmlsdGVyKHByZWRpY2F0ZSwgc2VsZi5mbGF0dGVuZWRfbWVtYmVyX3R5cGVz KQorKyAgICAgICAgbWF0Y2hpbmdfdHlwZXMgPSBsaXN0KGZpbHRlcihwcmVkaWNhdGUsIHNlbGYu ZmxhdHRlbmVkX21lbWJlcl90eXBlcykpCisgICAgICAgICBpZiBsZW4obWF0Y2hpbmdfdHlwZXMp ID4gMToKKyAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCclcyBpcyBhbWJpZ3VvdXMuJyAl IHNlbGYubmFtZSkKKyAgICAgICAgIHJldHVybiBtYXRjaGluZ190eXBlc1swXSBpZiBtYXRjaGlu Z190eXBlcyBlbHNlIE5vbmUKK2RpZmYgLS1naXQgYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhp cmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYmluZGluZ3Mvc2NyaXB0cy91dGlsaXRpZXMucHkgYi9z cmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYmluZGluZ3Mv c2NyaXB0cy91dGlsaXRpZXMucHkKK2luZGV4IGUxNjc3ZWU3YmQ2Li4zYzUwMDZmMDY0ZiAxMDA2 NDQKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJl ci9iaW5kaW5ncy9zY3JpcHRzL3V0aWxpdGllcy5weQorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRpbmdzL3NjcmlwdHMvdXRpbGl0aWVz LnB5CitAQCAtMTk2LDggKzE5Niw5IEBAIGNsYXNzIENvbXBvbmVudEluZm9Qcm92aWRlck1vZHVs ZXMoQ29tcG9uZW50SW5mb1Byb3ZpZGVyKToKKyAKKyAgICAgQHByb3BlcnR5CisgICAgIGRlZiBj YWxsYmFja19mdW5jdGlvbnMoc2VsZik6CistICAgICAgICByZXR1cm4gZGljdChzZWxmLl9jb21w b25lbnRfaW5mb19jb3JlWydjYWxsYmFja19mdW5jdGlvbnMnXS5pdGVtcygpICsKKy0gICAgICAg ICAgICAgICAgICAgIHNlbGYuX2NvbXBvbmVudF9pbmZvX21vZHVsZXNbJ2NhbGxiYWNrX2Z1bmN0 aW9ucyddLml0ZW1zKCkpCisrICAgICAgICByZXR1cm4gZGljdCgKKysgICAgICAgICAgICBsaXN0 KHNlbGYuX2NvbXBvbmVudF9pbmZvX2NvcmVbJ2NhbGxiYWNrX2Z1bmN0aW9ucyddLml0ZW1zKCkp ICsKKysgICAgICAgICAgICBsaXN0KHNlbGYuX2NvbXBvbmVudF9pbmZvX21vZHVsZXNbJ2NhbGxi YWNrX2Z1bmN0aW9ucyddLml0ZW1zKCkpKQorIAorICAgICBAcHJvcGVydHkKKyAgICAgZGVmIHNw ZWNpZmllcl9mb3JfZXhwb3J0KHNlbGYpOgorQEAgLTIwOSw4ICsyMTAsOCBAQCBjbGFzcyBDb21w b25lbnRJbmZvUHJvdmlkZXJNb2R1bGVzKENvbXBvbmVudEluZm9Qcm92aWRlcik6CisgCisgCisg ZGVmIGxvYWRfaW50ZXJmYWNlc19pbmZvX292ZXJhbGxfcGlja2xlKGluZm9fZGlyKToKKy0gICAg d2l0aCBvcGVuKG9zLnBhdGguam9pbihpbmZvX2RpciwKKy0gICAgICAgICAgICAgICAgICAgICAg ICAgICAnaW50ZXJmYWNlc19pbmZvLnBpY2tsZScpKSBhcyBpbnRlcmZhY2VfaW5mb19maWxlOgor KyAgICB3aXRoIG9wZW4ob3MucGF0aC5qb2luKGluZm9fZGlyLCAnaW50ZXJmYWNlc19pbmZvLnBp Y2tsZScpLAorKyAgICAgICAgICAgICAgbW9kZT0ncmInKSBhcyBpbnRlcmZhY2VfaW5mb19maWxl OgorICAgICAgICAgcmV0dXJuIHBpY2tsZS5sb2FkKGludGVyZmFjZV9pbmZvX2ZpbGUpCisgCisg CitAQCAtMjM2LDIzICsyMzcsMjAgQEAgZGVmIG1lcmdlX2RpY3RfcmVjdXJzaXZlbHkodGFyZ2V0 LCBkaWZmKToKKyAKKyBkZWYgY3JlYXRlX2NvbXBvbmVudF9pbmZvX3Byb3ZpZGVyX2NvcmUoaW5m b19kaXIpOgorICAgICBpbnRlcmZhY2VzX2luZm8gPSBsb2FkX2ludGVyZmFjZXNfaW5mb19vdmVy YWxsX3BpY2tsZShpbmZvX2RpcikKKy0gICAgd2l0aCBvcGVuKAorLSAgICAgICAgICAgIG9zLnBh dGguam9pbihpbmZvX2RpciwgJ2NvcmUnLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAnY29t cG9uZW50X2luZm9fY29yZS5waWNrbGUnKSkgYXMgY29tcG9uZW50X2luZm9fZmlsZToKKysgICAg d2l0aCBvcGVuKG9zLnBhdGguam9pbihpbmZvX2RpciwgJ2NvcmUnLCAnY29tcG9uZW50X2luZm9f Y29yZS5waWNrbGUnKSwKKysgICAgICAgICAgICAgIG1vZGU9J3JiJykgYXMgY29tcG9uZW50X2lu Zm9fZmlsZToKKyAgICAgICAgIGNvbXBvbmVudF9pbmZvID0gcGlja2xlLmxvYWQoY29tcG9uZW50 X2luZm9fZmlsZSkKKyAgICAgcmV0dXJuIENvbXBvbmVudEluZm9Qcm92aWRlckNvcmUoaW50ZXJm YWNlc19pbmZvLCBjb21wb25lbnRfaW5mbykKKyAKKyAKKyBkZWYgY3JlYXRlX2NvbXBvbmVudF9p bmZvX3Byb3ZpZGVyX21vZHVsZXMoaW5mb19kaXIpOgorICAgICBpbnRlcmZhY2VzX2luZm8gPSBs b2FkX2ludGVyZmFjZXNfaW5mb19vdmVyYWxsX3BpY2tsZShpbmZvX2RpcikKKy0gICAgd2l0aCBv cGVuKAorLSAgICAgICAgICAgIG9zLnBhdGguam9pbihpbmZvX2RpciwgJ2NvcmUnLAorLSAgICAg ICAgICAgICAgICAgICAgICAgICAnY29tcG9uZW50X2luZm9fY29yZS5waWNrbGUnKSkgYXMgY29t cG9uZW50X2luZm9fZmlsZToKKysgICAgd2l0aCBvcGVuKG9zLnBhdGguam9pbihpbmZvX2Rpciwg J2NvcmUnLCAnY29tcG9uZW50X2luZm9fY29yZS5waWNrbGUnKSwKKysgICAgICAgICAgICAgIG1v ZGU9J3JiJykgYXMgY29tcG9uZW50X2luZm9fZmlsZToKKyAgICAgICAgIGNvbXBvbmVudF9pbmZv X2NvcmUgPSBwaWNrbGUubG9hZChjb21wb25lbnRfaW5mb19maWxlKQorLSAgICB3aXRoIG9wZW4o CistICAgICAgICAgICAgb3MucGF0aC5qb2luKAorLSAgICAgICAgICAgICAgICBpbmZvX2Rpciwg J21vZHVsZXMnLAorLSAgICAgICAgICAgICAgICAnY29tcG9uZW50X2luZm9fbW9kdWxlcy5waWNr bGUnKSkgYXMgY29tcG9uZW50X2luZm9fZmlsZToKKysgICAgd2l0aCBvcGVuKG9zLnBhdGguam9p bihpbmZvX2RpciwgJ21vZHVsZXMnLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICdjb21w b25lbnRfaW5mb19tb2R1bGVzLnBpY2tsZScpLAorKyAgICAgICAgICAgICAgbW9kZT0ncmInKSBh cyBjb21wb25lbnRfaW5mb19maWxlOgorICAgICAgICAgY29tcG9uZW50X2luZm9fbW9kdWxlcyA9 IHBpY2tsZS5sb2FkKGNvbXBvbmVudF9pbmZvX2ZpbGUpCisgICAgIHJldHVybiBDb21wb25lbnRJ bmZvUHJvdmlkZXJNb2R1bGVzKGludGVyZmFjZXNfaW5mbywgY29tcG9uZW50X2luZm9fY29yZSwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50X2luZm9f bW9kdWxlcykKK0BAIC0zNTYsNyArMzU0LDcgQEAgZGVmIHdyaXRlX3BpY2tsZV9maWxlKHBpY2ts ZV9maWxlbmFtZSwgZGF0YSk6CisgICAgIHBpY2tsZV9maWxlbmFtZSA9IGFicyhwaWNrbGVfZmls ZW5hbWUpCisgICAgICMgSWYgfGRhdGF8IGlzIHNhbWUgd2l0aCB0aGUgZmlsZSBjb250ZW50LCB3 ZSBza2lwIHVwZGF0aW5nLgorICAgICBpZiBvcy5wYXRoLmlzZmlsZShwaWNrbGVfZmlsZW5hbWUp OgorLSAgICAgICAgd2l0aCBvcGVuKHBpY2tsZV9maWxlbmFtZSkgYXMgcGlja2xlX2ZpbGU6Cisr ICAgICAgICB3aXRoIG9wZW4ocGlja2xlX2ZpbGVuYW1lLCAncmInKSBhcyBwaWNrbGVfZmlsZToK KyAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgIGlmIHBpY2tsZS5sb2FkKHBpY2ts ZV9maWxlKSA9PSBkYXRhOgorICAgICAgICAgICAgICAgICAgICAgcmV0dXJuCitkaWZmIC0tZ2l0 IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRp bmdzL3NjcmlwdHMvdjhfaW50ZXJmYWNlLnB5IGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJk X3BhcnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRpbmdzL3NjcmlwdHMvdjhfaW50ZXJmYWNlLnB5Citp bmRleCBhNDMyNjA0MTRkYi4uYTg1YjAzYWJlNzUgMTAwNjQ0CistLS0gYS9zcmMvM3JkcGFydHkv Y2hyb21pdW0vdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYmluZGluZ3Mvc2NyaXB0cy92OF9p bnRlcmZhY2UucHkKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9ibGlu ay9yZW5kZXJlci9iaW5kaW5ncy9zY3JpcHRzL3Y4X2ludGVyZmFjZS5weQorQEAgLTE4OSw3ICsx ODksNyBAQCBkZWYgY29udGV4dF9lbmFibGVkX2ZlYXR1cmVzKGF0dHJpYnV0ZXMpOgorICAgICAg ICAgcmV0dXJuIHNvcnRlZChbCisgICAgICAgICAgICAgbWVtYmVyIGZvciBtZW1iZXIgaW4gbWVt YmVycworICAgICAgICAgICAgIGlmIG1lbWJlci5nZXQoS0VZKSBhbmQgbm90IG1lbWJlci5nZXQo J2V4cG9zZWRfdGVzdCcpCistICAgICAgICBdKQorKyAgICAgICAgXSwga2V5PWxhbWJkYSBpdGVt OiBpdGVtWyduYW1lJ10pCisgCisgICAgIGRlZiBtZW1iZXJfZmlsdGVyX2J5X25hbWUobWVtYmVy cywgbmFtZSk6CisgICAgICAgICByZXR1cm4gW21lbWJlciBmb3IgbWVtYmVyIGluIG1lbWJlcnMg aWYgbWVtYmVyW0tFWV0gPT0gbmFtZV0KK0BAIC02MTIsNyArNjEyLDggQEAgZGVmIGludGVyZmFj ZV9jb250ZXh0KGludGVyZmFjZSwgaW50ZXJmYWNlcywgY29tcG9uZW50X2luZm8pOgorICAgICAg ICAgc29ydGVkKAorICAgICAgICAgICAgIG9yaWdpbl90cmlhbF9mZWF0dXJlcyhpbnRlcmZhY2Us IGNvbnRleHRbJ2NvbnN0YW50cyddLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBjb250ZXh0WydhdHRyaWJ1dGVzJ10sIGNvbnRleHRbJ21ldGhvZHMnXSkgKworLSAgICAgICAg ICAgIGNvbnRleHRfZW5hYmxlZF9mZWF0dXJlcyhjb250ZXh0WydhdHRyaWJ1dGVzJ10pKSwKKysg ICAgICAgICAgICBjb250ZXh0X2VuYWJsZWRfZmVhdHVyZXMoY29udGV4dFsnYXR0cmlidXRlcydd KSwKKysgICAgICAgICAgICBrZXk9bGFtYmRhIGl0ZW06IGl0ZW1bJ25hbWUnXSksCisgICAgIH0p CisgICAgIGlmIGNvbnRleHRbJ29wdGlvbmFsX2ZlYXR1cmVzJ106CisgICAgICAgICBpbmNsdWRl cy5hZGQoJ3BsYXRmb3JtL2JpbmRpbmdzL3Y4X3Blcl9jb250ZXh0X2RhdGEuaCcpCitAQCAtMTM1 Niw5ICsxMzU3LDkgQEAgZGVmIHJlc29sdXRpb25fdGVzdHNfbWV0aG9kcyhlZmZlY3RpdmVfb3Zl cmxvYWRzKToKKyAKKyAgICAgIyBFeHRyYWN0IGFyZ3VtZW50IGFuZCBJREwgdHlwZSB0byBzaW1w bGlmeSBhY2Nlc3NpbmcgdGhlc2UgaW4gZWFjaCBsb29wLgorICAgICBhcmd1bWVudHMgPSBbbWV0 aG9kWydhcmd1bWVudHMnXVtpbmRleF0gZm9yIG1ldGhvZCBpbiBtZXRob2RzXQorLSAgICBhcmd1 bWVudHNfbWV0aG9kcyA9IHppcChhcmd1bWVudHMsIG1ldGhvZHMpCisrICAgIGFyZ3VtZW50c19t ZXRob2RzID0gbGlzdCh6aXAoYXJndW1lbnRzLCBtZXRob2RzKSkKKyAgICAgaWRsX3R5cGVzID0g W2FyZ3VtZW50WydpZGxfdHlwZV9vYmplY3QnXSBmb3IgYXJndW1lbnQgaW4gYXJndW1lbnRzXQor LSAgICBpZGxfdHlwZXNfbWV0aG9kcyA9IHppcChpZGxfdHlwZXMsIG1ldGhvZHMpCisrICAgIGlk bF90eXBlc19tZXRob2RzID0gbGlzdCh6aXAoaWRsX3R5cGVzLCBtZXRob2RzKSkKKyAKKyAgICAg IyBXZSBjYW7igJl0IGRvIGEgc2luZ2xlIGxvb3AgdGhyb3VnaCBhbGwgbWV0aG9kcyBvciBzaW1w bHkgc29ydCB0aGVtLCBiZWNhdXNlCisgICAgICMgYSBtZXRob2QgbWF5IGJlIGxpc3RlZCBpbiBt dWx0aXBsZSBzdGVwcyBvZiB0aGUgcmVzb2x1dGlvbiBhbGdvcml0aG0sIGFuZAorZGlmZiAtLWdp dCBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9iaW5k aW5ncy9zY3JpcHRzL3Y4X21ldGhvZHMucHkgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRf cGFydHkvYmxpbmsvcmVuZGVyZXIvYmluZGluZ3Mvc2NyaXB0cy92OF9tZXRob2RzLnB5CitpbmRl eCA1ZjFmODlhM2RlZi4uNmVlOGE0MDc3OTggMTAwNjQ0CistLS0gYS9zcmMvM3JkcGFydHkvY2hy b21pdW0vdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYmluZGluZ3Mvc2NyaXB0cy92OF9tZXRo b2RzLnB5CisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYmxpbmsvcmVu ZGVyZXIvYmluZGluZ3Mvc2NyaXB0cy92OF9tZXRob2RzLnB5CitAQCAtNDYsNiArNDYsMTAgQEAg aW1wb3J0IHY4X3R5cGVzCisgaW1wb3J0IHY4X3V0aWxpdGllcworIGZyb20gdjhfdXRpbGl0aWVz IGltcG9ydCAoaGFzX2V4dGVuZGVkX2F0dHJpYnV0ZV92YWx1ZSwgaXNfdW5mb3JnZWFibGUpCisg CisrIyBUT0RPOiBSZW1vdmUgdGhpcyBvbmNlIFB5dGhvbjIgaXMgb2Jzb2xldGVkLgorK2lmIHN5 cy52ZXJzaW9uX2luZm8ubWFqb3IgIT0gMjoKKysgICAgYmFzZXN0cmluZyA9IHN0cgorKworIAor IGRlZiBtZXRob2RfaXNfdmlzaWJsZShtZXRob2QsIGludGVyZmFjZV9pc19wYXJ0aWFsKToKKyAg ICAgaWYgJ292ZXJsb2FkcycgaW4gbWV0aG9kOgorZGlmZiAtLWdpdCBhL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9iaW5kaW5ncy9zY3JpcHRzL3Y4X3V0 aWxpdGllcy5weSBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9ibGluay9yZW5k ZXJlci9iaW5kaW5ncy9zY3JpcHRzL3Y4X3V0aWxpdGllcy5weQoraW5kZXggMmVjZDY5MjMzMjAu LmZjZmM0ODM3MWIxIDEwMDY0NAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3Bh cnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRpbmdzL3NjcmlwdHMvdjhfdXRpbGl0aWVzLnB5CisrKysg Yi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYmluZGlu Z3Mvc2NyaXB0cy92OF91dGlsaXRpZXMucHkKK0BAIC0yNzEsNyArMjcxLDcgQEAgRVhQT1NFRF9X T1JLRVJTID0gc2V0KFsKKyBdKQorIAorIAorLWNsYXNzIEV4cG9zdXJlU2V0OgorK2NsYXNzIEV4 cG9zdXJlU2V0KG9iamVjdCk6CisgICAgICIiIkFuIEV4cG9zdXJlU2V0IGlzIGEgY29sbGVjdGlv biBvZiBFeHBvc3VyZSBpbnN0cnVjdGlvbnMuIiIiCisgCisgICAgIGRlZiBfX2luaXRfXyhzZWxm LCBleHBvc3VyZXM9Tm9uZSk6CitkaWZmIC0tZ2l0IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Ro aXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRpbmdzL3NjcmlwdHMvd2ViX2lkbC9jYWxsYmFj a19pbnRlcmZhY2UucHkgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYmxpbmsv cmVuZGVyZXIvYmluZGluZ3Mvc2NyaXB0cy93ZWJfaWRsL2NhbGxiYWNrX2ludGVyZmFjZS5weQor aW5kZXggMTNmYjdjNzA2OGQuLmI3M2I3NzEwNjg3IDEwMDY0NAorLS0tIGEvc3JjLzNyZHBhcnR5 L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRpbmdzL3NjcmlwdHMvd2Vi X2lkbC9jYWxsYmFja19pbnRlcmZhY2UucHkKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90 aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9iaW5kaW5ncy9zY3JpcHRzL3dlYl9pZGwvY2FsbGJh Y2tfaW50ZXJmYWNlLnB5CitAQCAtOTEsMTEgKzkxLDEzIEBAIGNsYXNzIENhbGxiYWNrSW50ZXJm YWNlKFVzZXJEZWZpbmVkVHlwZSwgV2l0aEV4dGVuZGVkQXR0cmlidXRlcywKKyAgICAgICAgICAg ICBmb3Igb3BlcmF0aW9uX2lyIGluIGlyLm9wZXJhdGlvbnMKKyAgICAgICAgIF0pCisgICAgICAg ICBzZWxmLl9vcGVyYXRpb25fZ3JvdXBzID0gdHVwbGUoWworLSAgICAgICAgICAgIE9wZXJhdGlv bkdyb3VwKAorLSAgICAgICAgICAgICAgICBvcGVyYXRpb25fZ3JvdXBfaXIsCistICAgICAgICAg ICAgICAgIGZpbHRlcihsYW1iZGEgeDogeC5pZGVudGlmaWVyID09IG9wZXJhdGlvbl9ncm91cF9p ci5pZGVudGlmaWVyLAorLSAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fb3BlcmF0aW9ucyks CistICAgICAgICAgICAgICAgIG93bmVyPXNlbGYpIGZvciBvcGVyYXRpb25fZ3JvdXBfaXIgaW4g aXIub3BlcmF0aW9uX2dyb3VwcworKyAgICAgICAgICAgIE9wZXJhdGlvbkdyb3VwKG9wZXJhdGlv bl9ncm91cF9pciwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0KAorKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXIoCisrICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBsYW1iZGEgeDogeC5pZGVudGlmaWVyID09IG9wZXJhdGlvbl9ncm91cF9pcgor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmlkZW50aWZpZXIsIHNlbGYuX29w ZXJhdGlvbnMpKSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICBvd25lcj1zZWxmKQorKyAg ICAgICAgICAgIGZvciBvcGVyYXRpb25fZ3JvdXBfaXIgaW4gaXIub3BlcmF0aW9uX2dyb3Vwcwor ICAgICAgICAgXSkKKyAKKyAgICAgQHByb3BlcnR5CitkaWZmIC0tZ2l0IGEvc3JjLzNyZHBhcnR5 L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRpbmdzL3NjcmlwdHMvd2Vi X2lkbC9kYXRhYmFzZS5weSBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9ibGlu ay9yZW5kZXJlci9iaW5kaW5ncy9zY3JpcHRzL3dlYl9pZGwvZGF0YWJhc2UucHkKK2luZGV4IGM5 MmNmNDhlYjJhLi5mNWQ1OTEyOTQ0OSAxMDA2NDQKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9iaW5kaW5ncy9zY3JpcHRzL3dlYl9pZGwvZGF0 YWJhc2UucHkKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9ibGluay9y ZW5kZXJlci9iaW5kaW5ncy9zY3JpcHRzL3dlYl9pZGwvZGF0YWJhc2UucHkKK0BAIC0xNTYsNCAr MTU2LDQgQEAgY2xhc3MgRGF0YWJhc2Uob2JqZWN0KToKKyAgICAgICAgIHJldHVybiBzZWxmLl92 aWV3X2J5X2tpbmQoRGF0YWJhc2UuX0tpbmQuVU5JT04pCisgCisgICAgIGRlZiBfdmlld19ieV9r aW5kKHNlbGYsIGtpbmQpOgorLSAgICAgICAgcmV0dXJuIHNlbGYuX2ltcGwuZmluZF9ieV9raW5k KGtpbmQpLnZhbHVlcygpCisrICAgICAgICByZXR1cm4gbGlzdChzZWxmLl9pbXBsLmZpbmRfYnlf a2luZChraW5kKS52YWx1ZXMoKSkKK2RpZmYgLS1naXQgYS9zcmMvM3JkcGFydHkvY2hyb21pdW0v dGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYmluZGluZ3Mvc2NyaXB0cy93ZWJfaWRsL2V4cG9z dXJlLnB5IGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVy L2JpbmRpbmdzL3NjcmlwdHMvd2ViX2lkbC9leHBvc3VyZS5weQoraW5kZXggYWJhZWVmMzljMzAu LmUzNmNmNzQzOWFlIDEwMDY0NAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3Bh cnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRpbmdzL3NjcmlwdHMvd2ViX2lkbC9leHBvc3VyZS5weQor KysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2Jp bmRpbmdzL3NjcmlwdHMvd2ViX2lkbC9leHBvc3VyZS5weQorQEAgLTgsOCArOCwxMSBAQCBmcm9t IC5ydW50aW1lX2VuYWJsZWRfZmVhdHVyZXMgaW1wb3J0IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMK KyBjbGFzcyBfRmVhdHVyZShzdHIpOgorICAgICAiIiJSZXByZXNlbnRzIGEgcnVudGltZS1lbmFi bGVkIGZlYXR1cmUuIiIiCisgCisrICAgIGRlZiBfX25ld19fKGNscywgdmFsdWUpOgorKyAgICAg ICAgcmV0dXJuIHN0ci5fX25ld19fKGNscywgdmFsdWUpCisrCisgICAgIGRlZiBfX2luaXRfXyhz ZWxmLCB2YWx1ZSk6CistICAgICAgICBzdHIuX19pbml0X18oc2VsZiwgdmFsdWUpCisrICAgICAg ICBzdHIuX19pbml0X18oc2VsZikKKyAgICAgICAgIHNlbGYuX2lzX2NvbnRleHRfZGVwZW5kZW50 ID0gKAorICAgICAgICAgICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuaXNfY29udGV4dF9kZXBl bmRlbnQoc2VsZikpCisgCitkaWZmIC0tZ2l0IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJk X3BhcnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRpbmdzL3NjcmlwdHMvd2ViX2lkbC9mdW5jdGlvbl9s aWtlLnB5IGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVy L2JpbmRpbmdzL3NjcmlwdHMvd2ViX2lkbC9mdW5jdGlvbl9saWtlLnB5CitpbmRleCA2NDhjNzBk ODAzZC4uMTcxMmYxOWM2NzIgMTAwNjQ0CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhp cmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYmluZGluZ3Mvc2NyaXB0cy93ZWJfaWRsL2Z1bmN0aW9u X2xpa2UucHkKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9ibGluay9y ZW5kZXJlci9iaW5kaW5ncy9zY3JpcHRzL3dlYl9pZGwvZnVuY3Rpb25fbGlrZS5weQorQEAgLTcx LDggKzcxLDkgQEAgY2xhc3MgRnVuY3Rpb25MaWtlKFdpdGhJZGVudGlmaWVyKToKKyAgICAgZGVm IG51bV9vZl9yZXF1aXJlZF9hcmd1bWVudHMoc2VsZik6CisgICAgICAgICAiIiJSZXR1cm5zIHRo ZSBudW1iZXIgb2YgcmVxdWlyZWQgYXJndW1lbnRzLiIiIgorICAgICAgICAgcmV0dXJuIGxlbigK Ky0gICAgICAgICAgICBmaWx0ZXIobGFtYmRhIGFyZzogbm90IChhcmcuaXNfb3B0aW9uYWwgb3Ig YXJnLmlzX3ZhcmlhZGljKSwKKy0gICAgICAgICAgICAgICAgICAgc2VsZi5hcmd1bWVudHMpKQor KyAgICAgICAgICAgIGxpc3QoCisrICAgICAgICAgICAgICAgIGZpbHRlcihsYW1iZGEgYXJnOiBu b3QgKGFyZy5pc19vcHRpb25hbCBvciBhcmcuaXNfdmFyaWFkaWMpLAorKyAgICAgICAgICAgICAg ICAgICAgICAgc2VsZi5hcmd1bWVudHMpKSkKKyAKKyAKKyBjbGFzcyBPdmVybG9hZEdyb3VwKFdp dGhJZGVudGlmaWVyKToKK0BAIC0xNzEsOCArMTcyLDcgQEAgY2xhc3MgT3ZlcmxvYWRHcm91cChX aXRoSWRlbnRpZmllcik6CisgICAgICAgICBSZXR1cm5zIHRoZSBlZmZlY3RpdmUgb3ZlcmxvYWQg c2V0LgorICAgICAgICAgaHR0cHM6Ly9oZXljYW0uZ2l0aHViLmlvL3dlYmlkbC8jY29tcHV0ZS10 aGUtZWZmZWN0aXZlLW92ZXJsb2FkLXNldAorICAgICAgICAgIiIiCistICAgICAgICBhc3NlcnQg YXJndW1lbnRfY291bnQgaXMgTm9uZSBvciBpc2luc3RhbmNlKGFyZ3VtZW50X2NvdW50LAorLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaW50LCBs b25nKSkKKysgICAgICAgIGFzc2VydCBhcmd1bWVudF9jb3VudCBpcyBOb25lIG9yIGlzaW5zdGFu Y2UoYXJndW1lbnRfY291bnQsIGludCkKKyAKKyAgICAgICAgIE4gPSBhcmd1bWVudF9jb3VudAor ICAgICAgICAgUyA9IFtdCitAQCAtMTg4LDIxICsxODgsMjEgQEAgY2xhc3MgT3ZlcmxvYWRHcm91 cChXaXRoSWRlbnRpZmllcik6CisgCisgICAgICAgICAgICAgUy5hcHBlbmQoCisgICAgICAgICAg ICAgICAgIE92ZXJsb2FkR3JvdXAuRWZmZWN0aXZlT3ZlcmxvYWRJdGVtKAorLSAgICAgICAgICAg ICAgICAgICAgWCwgbWFwKGxhbWJkYSBhcmc6IGFyZy5pZGxfdHlwZSwgWC5hcmd1bWVudHMpLAor LSAgICAgICAgICAgICAgICAgICAgbWFwKGxhbWJkYSBhcmc6IGFyZy5vcHRpb25hbGl0eSwgWC5h cmd1bWVudHMpKSkKKysgICAgICAgICAgICAgICAgICAgIFgsIGxpc3QobWFwKGxhbWJkYSBhcmc6 IGFyZy5pZGxfdHlwZSwgWC5hcmd1bWVudHMpKSwKKysgICAgICAgICAgICAgICAgICAgIGxpc3Qo bWFwKGxhbWJkYSBhcmc6IGFyZy5vcHRpb25hbGl0eSwgWC5hcmd1bWVudHMpKSkpCisgCisgICAg ICAgICAgICAgaWYgWC5pc192YXJpYWRpYzoKKy0gICAgICAgICAgICAgICAgZm9yIGkgaW4geHJh bmdlKG4sIG1heChtYXhhcmcsIE4pKToKKy0gICAgICAgICAgICAgICAgICAgIHQgPSBtYXAobGFt YmRhIGFyZzogYXJnLmlkbF90eXBlLCBYLmFyZ3VtZW50cykKKy0gICAgICAgICAgICAgICAgICAg IG8gPSBtYXAobGFtYmRhIGFyZzogYXJnLm9wdGlvbmFsaXR5LCBYLmFyZ3VtZW50cykKKy0gICAg ICAgICAgICAgICAgICAgIGZvciBfIGluIHhyYW5nZShuLCBpICsgMSk6CisrICAgICAgICAgICAg ICAgIGZvciBpIGluIHJhbmdlKG4sIG1heChtYXhhcmcsIE4pKToKKysgICAgICAgICAgICAgICAg ICAgIHQgPSBsaXN0KG1hcChsYW1iZGEgYXJnOiBhcmcuaWRsX3R5cGUsIFguYXJndW1lbnRzKSkK KysgICAgICAgICAgICAgICAgICAgIG8gPSBsaXN0KG1hcChsYW1iZGEgYXJnOiBhcmcub3B0aW9u YWxpdHksIFguYXJndW1lbnRzKSkKKysgICAgICAgICAgICAgICAgICAgIGZvciBfIGluIHJhbmdl KG4sIGkgKyAxKToKKyAgICAgICAgICAgICAgICAgICAgICAgICB0LmFwcGVuZChYLmFyZ3VtZW50 c1stMV0uaWRsX3R5cGUpCisgICAgICAgICAgICAgICAgICAgICAgICAgby5hcHBlbmQoWC5hcmd1 bWVudHNbLTFdLm9wdGlvbmFsaXR5KQorICAgICAgICAgICAgICAgICAgICAgUy5hcHBlbmQoT3Zl cmxvYWRHcm91cC5FZmZlY3RpdmVPdmVybG9hZEl0ZW0oWCwgdCwgbykpCisgCistICAgICAgICAg ICAgdCA9IG1hcChsYW1iZGEgYXJnOiBhcmcuaWRsX3R5cGUsIFguYXJndW1lbnRzKQorLSAgICAg ICAgICAgIG8gPSBtYXAobGFtYmRhIGFyZzogYXJnLm9wdGlvbmFsaXR5LCBYLmFyZ3VtZW50cykK Ky0gICAgICAgICAgICBmb3IgaSBpbiB4cmFuZ2UobiAtIDEsIC0xLCAtMSk6CisrICAgICAgICAg ICAgdCA9IGxpc3QobWFwKGxhbWJkYSBhcmc6IGFyZy5pZGxfdHlwZSwgWC5hcmd1bWVudHMpKQor KyAgICAgICAgICAgIG8gPSBsaXN0KG1hcChsYW1iZGEgYXJnOiBhcmcub3B0aW9uYWxpdHksIFgu YXJndW1lbnRzKSkKKysgICAgICAgICAgICBmb3IgaSBpbiByYW5nZShuIC0gMSwgLTEsIC0xKToK KyAgICAgICAgICAgICAgICAgaWYgWC5hcmd1bWVudHNbaV0ub3B0aW9uYWxpdHkgPT0gSWRsVHlw ZS5PcHRpb25hbGl0eS5SRVFVSVJFRDoKKyAgICAgICAgICAgICAgICAgICAgIGJyZWFrCisgICAg ICAgICAgICAgICAgIFMuYXBwZW5kKE92ZXJsb2FkR3JvdXAuRWZmZWN0aXZlT3ZlcmxvYWRJdGVt KFgsIHRbOmldLCBvWzppXSkpCitAQCAtMjIyLDcgKzIyMiw3IEBAIGNsYXNzIE92ZXJsb2FkR3Jv dXAoV2l0aElkZW50aWZpZXIpOgorICAgICAgICAgICAgIGZvciBpdGVtIGluIGl0ZW1zKQorICAg ICAgICAgYXNzZXJ0IGxlbihpdGVtcykgPiAxCisgCistICAgICAgICBmb3IgaW5kZXggaW4geHJh bmdlKGxlbihpdGVtc1swXS50eXBlX2xpc3QpKToKKysgICAgICAgIGZvciBpbmRleCBpbiByYW5n ZShsZW4oaXRlbXNbMF0udHlwZV9saXN0KSk6CisgICAgICAgICAgICAgIyBBc3N1bWUgdGhhdCB0 aGUgZ2l2ZW4gaXRlbXMgYXJlIHZhbGlkLCBhbmQgd2Ugb25seSBuZWVkIHRvIHRlc3QKKyAgICAg ICAgICAgICAjIHRoZSB0d28gdHlwZXMuCisgICAgICAgICAgICAgaWYgT3ZlcmxvYWRHcm91cC5h cmVfZGlzdGluZ3Vpc2hhYmxlX3R5cGVzKAorZGlmZiAtLWdpdCBhL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9iaW5kaW5ncy9zY3JpcHRzL3dlYl9pZGwv aWRsX2NvbXBpbGVyLnB5IGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JsaW5r L3JlbmRlcmVyL2JpbmRpbmdzL3NjcmlwdHMvd2ViX2lkbC9pZGxfY29tcGlsZXIucHkKK2luZGV4 IGM1ZWUyYmQ4YTNkLi41ODMxNTA3MjQ4MCAxMDA2NDQKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9iaW5kaW5ncy9zY3JpcHRzL3dlYl9pZGwv aWRsX2NvbXBpbGVyLnB5CisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkv YmxpbmsvcmVuZGVyZXIvYmluZGluZ3Mvc2NyaXB0cy93ZWJfaWRsL2lkbF9jb21waWxlci5weQor QEAgLTE0OSw4ICsxNDksOCBAQCBjbGFzcyBJZGxDb21waWxlcihvYmplY3QpOgorICAgICAgICAg Zm9yIG9sZF9pciBpbiBvbGRfaXJzOgorICAgICAgICAgICAgIG5ld19pciA9IG1ha2VfY29weShv bGRfaXIpCisgICAgICAgICAgICAgc2VsZi5faXJfbWFwLmFkZChuZXdfaXIpCistICAgICAgICAg ICAgbmV3X2lyLmF0dHJpYnV0ZXMgPSBmaWx0ZXIobm90X2Rpc2FibGVkLCBuZXdfaXIuYXR0cmli dXRlcykKKy0gICAgICAgICAgICBuZXdfaXIub3BlcmF0aW9ucyA9IGZpbHRlcihub3RfZGlzYWJs ZWQsIG5ld19pci5vcGVyYXRpb25zKQorKyAgICAgICAgICAgIG5ld19pci5hdHRyaWJ1dGVzID0g bGlzdChmaWx0ZXIobm90X2Rpc2FibGVkLCBuZXdfaXIuYXR0cmlidXRlcykpCisrICAgICAgICAg ICAgbmV3X2lyLm9wZXJhdGlvbnMgPSBsaXN0KGZpbHRlcihub3RfZGlzYWJsZWQsIG5ld19pci5v cGVyYXRpb25zKSkKKyAKKyAgICAgZGVmIF9yZWNvcmRfZGVmaW5lZF9pbl9wYXJ0aWFsX2FuZF9t aXhpbihzZWxmKToKKyAgICAgICAgIG9sZF9pcnMgPSBzZWxmLl9pcl9tYXAuaXJzX29mX2tpbmRz KAorQEAgLTIzMSw3ICsyMzEsNyBAQCBjbGFzcyBJZGxDb21waWxlcihvYmplY3QpOgorICAgICAg ICAgICAgICAgICAgICAgICBvbmx5X3RvX21lbWJlcnNfb2ZfcGFydGlhbF9vcl9taXhpbj1GYWxz ZSkKKyAgICAgICAgICAgICBwcm9wYWdhdGVfdG9fZXhwb3N1cmUocHJvcGFnYXRlKQorIAorLSAg ICAgICAgICAgIG1hcChwcm9jZXNzX21lbWJlcl9saWtlLCBpci5pdGVyX2FsbF9tZW1iZXJzKCkp CisrICAgICAgICAgICAgbGlzdChtYXAocHJvY2Vzc19tZW1iZXJfbGlrZSwgaXIuaXRlcl9hbGxf bWVtYmVycygpKSkKKyAKKyAgICAgICAgIGRlZiBwcm9jZXNzX21lbWJlcl9saWtlKGlyKToKKyAg ICAgICAgICAgICBwcm9wYWdhdGUgPSBmdW5jdG9vbHMucGFydGlhbChwcm9wYWdhdGVfZXh0YXR0 ciwgaXI9aXIpCitAQCAtMjU3LDcgKzI1Nyw3IEBAIGNsYXNzIElkbENvbXBpbGVyKG9iamVjdCk6 CisgCisgICAgICAgICBzZWxmLl9pcl9tYXAubW92ZV90b19uZXdfcGhhc2UoKQorIAorLSAgICAg ICAgbWFwKHByb2Nlc3NfaW50ZXJmYWNlX2xpa2UsIG9sZF9pcnMpCisrICAgICAgICBsaXN0KG1h cChwcm9jZXNzX2ludGVyZmFjZV9saWtlLCBvbGRfaXJzKSkKKyAKKyAgICAgZGVmIF9kZXRlcm1p bmVfYmxpbmtfaGVhZGVycyhzZWxmKToKKyAgICAgICAgIGlycyA9IHNlbGYuX2lyX21hcC5pcnNf b2Zfa2luZHMoCitAQCAtNDIyLDkgKzQyMiw5IEBAIGNsYXNzIElkbENvbXBpbGVyKG9iamVjdCk6 CisgICAgICAgICAgICAgYXNzZXJ0IG5vdCBuZXdfaW50ZXJmYWNlLmRlcml2ZWRzCisgICAgICAg ICAgICAgZGVyaXZlZF9zZXQgPSBpZGVudGlmaWVyX3RvX2Rlcml2ZWRfc2V0LmdldCgKKyAgICAg ICAgICAgICAgICAgbmV3X2ludGVyZmFjZS5pZGVudGlmaWVyLCBzZXQoKSkKKy0gICAgICAgICAg ICBuZXdfaW50ZXJmYWNlLmRlcml2ZWRzID0gbWFwKAorLSAgICAgICAgICAgICAgICBsYW1iZGEg aWRfOiBzZWxmLl9yZWZfdG9faWRsX2RlZl9mYWN0b3J5LmNyZWF0ZShpZF8pLAorLSAgICAgICAg ICAgICAgICBzb3J0ZWQoZGVyaXZlZF9zZXQpKQorKyAgICAgICAgICAgIG5ld19pbnRlcmZhY2Uu ZGVyaXZlZHMgPSBsaXN0KAorKyAgICAgICAgICAgICAgICBtYXAobGFtYmRhIGlkXzogc2VsZi5f cmVmX3RvX2lkbF9kZWZfZmFjdG9yeS5jcmVhdGUoaWRfKSwKKysgICAgICAgICAgICAgICAgICAg IHNvcnRlZChkZXJpdmVkX3NldCkpKQorIAorICAgICBkZWYgX3N1cHBsZW1lbnRfbWlzc2luZ19o dG1sX2NvbnN0cnVjdG9yX29wZXJhdGlvbihzZWxmKToKKyAgICAgICAgICMgVGVtcG9yYXJ5IG1p dGlnYXRpb24gb2YgbWlzdXNlIG9mIFtIVE1MQ29uc3RydWN0b3JdCitAQCAtNTUzLDcgKzU1Myw4 IEBAIGNsYXNzIElkbENvbXBpbGVyKG9iamVjdCk6CisgICAgICAgICAgICAgc2VsZi5faXJfbWFw LmFkZChuZXdfaXIpCisgCisgICAgICAgICAgICAgZm9yIGdyb3VwIGluIG5ld19pci5pdGVyX2Fs bF9vdmVybG9hZF9ncm91cHMoKToKKy0gICAgICAgICAgICAgICAgZXhwb3N1cmVzID0gbWFwKGxh bWJkYSBvdmVybG9hZDogb3ZlcmxvYWQuZXhwb3N1cmUsIGdyb3VwKQorKyAgICAgICAgICAgICAg ICBleHBvc3VyZXMgPSBsaXN0KG1hcChsYW1iZGEgb3ZlcmxvYWQ6IG92ZXJsb2FkLmV4cG9zdXJl LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncm91cCkpCisgCisgICAg ICAgICAgICAgICAgICMgW0V4cG9zZWRdCisgICAgICAgICAgICAgICAgIGlmIGFueShub3QgZXhw b3N1cmUuZ2xvYmFsX25hbWVzX2FuZF9mZWF0dXJlcworQEAgLTY1Myw4ICs2NTQsOCBAQCBjbGFz cyBJZGxDb21waWxlcihvYmplY3QpOgorICAgICAgICAgICAgIGNvbnN0cnVjdHMgPSBzZXQoKQor ICAgICAgICAgICAgIGZvciBnbG9iYWxfbmFtZSBpbiBnbG9iYWxfbmFtZXM6CisgICAgICAgICAg ICAgICAgIGNvbnN0cnVjdHMudXBkYXRlKGV4cG9zZWRfbWFwLmdldChnbG9iYWxfbmFtZSwgW10p KQorLSAgICAgICAgICAgIG5ld19pci5leHBvc2VkX2NvbnN0cnVjdHMgPSBtYXAoCistICAgICAg ICAgICAgICAgIHNlbGYuX3JlZl90b19pZGxfZGVmX2ZhY3RvcnkuY3JlYXRlLCBzb3J0ZWQoY29u c3RydWN0cykpCisrICAgICAgICAgICAgbmV3X2lyLmV4cG9zZWRfY29uc3RydWN0cyA9IGxpc3Qo CisrICAgICAgICAgICAgICAgIG1hcChzZWxmLl9yZWZfdG9faWRsX2RlZl9mYWN0b3J5LmNyZWF0 ZSwgc29ydGVkKGNvbnN0cnVjdHMpKSkKKyAKKyAgICAgICAgICAgICBhc3NlcnQgbm90IG5ld19p ci5sZWdhY3lfd2luZG93X2FsaWFzZXMKKyAgICAgICAgICAgICBpZiBuZXdfaXIuaWRlbnRpZmll ciAhPSAnV2luZG93JzoKK2RpZmYgLS1naXQgYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRf cGFydHkvYmxpbmsvcmVuZGVyZXIvYmluZGluZ3Mvc2NyaXB0cy93ZWJfaWRsL2ludGVyZmFjZS5w eSBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9iaW5k aW5ncy9zY3JpcHRzL3dlYl9pZGwvaW50ZXJmYWNlLnB5CitpbmRleCA2NWQyNGU1MjlkMS4uMDY3 ZWYyZWIwYjIgMTAwNjQ0CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkv YmxpbmsvcmVuZGVyZXIvYmluZGluZ3Mvc2NyaXB0cy93ZWJfaWRsL2ludGVyZmFjZS5weQorKysr IGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRp bmdzL3NjcmlwdHMvd2ViX2lkbC9pbnRlcmZhY2UucHkKK0BAIC0xODAsOCArMTgwLDkgQEAgY2xh c3MgSW50ZXJmYWNlKFVzZXJEZWZpbmVkVHlwZSwgV2l0aEV4dGVuZGVkQXR0cmlidXRlcywgV2l0 aENvZGVHZW5lcmF0b3JJbmZvLAorICAgICAgICAgc2VsZi5fY29uc3RydWN0b3JfZ3JvdXBzID0g dHVwbGUoWworICAgICAgICAgICAgIENvbnN0cnVjdG9yR3JvdXAoCisgICAgICAgICAgICAgICAg IGdyb3VwX2lyLAorLSAgICAgICAgICAgICAgICBmaWx0ZXIobGFtYmRhIHg6IHguaWRlbnRpZmll ciA9PSBncm91cF9pci5pZGVudGlmaWVyLAorLSAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5f Y29uc3RydWN0b3JzKSwKKysgICAgICAgICAgICAgICAgbGlzdCgKKysgICAgICAgICAgICAgICAg ICAgIGZpbHRlcihsYW1iZGEgeDogeC5pZGVudGlmaWVyID09IGdyb3VwX2lyLmlkZW50aWZpZXIs CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fY29uc3RydWN0b3JzKSksCisgICAg ICAgICAgICAgICAgIG93bmVyPXNlbGYpIGZvciBncm91cF9pciBpbiBpci5jb25zdHJ1Y3Rvcl9n cm91cHMKKyAgICAgICAgIF0pCisgICAgICAgICBhc3NlcnQgbGVuKHNlbGYuX2NvbnN0cnVjdG9y X2dyb3VwcykgPD0gMQorQEAgLTE5Miw4ICsxOTMsOSBAQCBjbGFzcyBJbnRlcmZhY2UoVXNlckRl ZmluZWRUeXBlLCBXaXRoRXh0ZW5kZWRBdHRyaWJ1dGVzLCBXaXRoQ29kZUdlbmVyYXRvckluZm8s CisgICAgICAgICBzZWxmLl9uYW1lZF9jb25zdHJ1Y3Rvcl9ncm91cHMgPSB0dXBsZShbCisgICAg ICAgICAgICAgQ29uc3RydWN0b3JHcm91cCgKKyAgICAgICAgICAgICAgICAgZ3JvdXBfaXIsCist ICAgICAgICAgICAgICAgIGZpbHRlcihsYW1iZGEgeDogeC5pZGVudGlmaWVyID09IGdyb3VwX2ly LmlkZW50aWZpZXIsCistICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9uYW1lZF9jb25zdHJ1 Y3RvcnMpLAorKyAgICAgICAgICAgICAgICBsaXN0KAorKyAgICAgICAgICAgICAgICAgICAgZmls dGVyKGxhbWJkYSB4OiB4LmlkZW50aWZpZXIgPT0gZ3JvdXBfaXIuaWRlbnRpZmllciwKKysgICAg ICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9uYW1lZF9jb25zdHJ1Y3RvcnMpKSwKKyAgICAg ICAgICAgICAgICAgb3duZXI9c2VsZikgZm9yIGdyb3VwX2lyIGluIGlyLm5hbWVkX2NvbnN0cnVj dG9yX2dyb3VwcworICAgICAgICAgXSkKKyAgICAgICAgIHNlbGYuX29wZXJhdGlvbnMgPSB0dXBs ZShbCitAQCAtMjAzLDIyICsyMDUsMjMgQEAgY2xhc3MgSW50ZXJmYWNlKFVzZXJEZWZpbmVkVHlw ZSwgV2l0aEV4dGVuZGVkQXR0cmlidXRlcywgV2l0aENvZGVHZW5lcmF0b3JJbmZvLAorICAgICAg ICAgc2VsZi5fb3BlcmF0aW9uX2dyb3VwcyA9IHR1cGxlKFsKKyAgICAgICAgICAgICBPcGVyYXRp b25Hcm91cCgKKyAgICAgICAgICAgICAgICAgZ3JvdXBfaXIsCistICAgICAgICAgICAgICAgIGZp bHRlcihsYW1iZGEgeDogeC5pZGVudGlmaWVyID09IGdyb3VwX2lyLmlkZW50aWZpZXIsCistICAg ICAgICAgICAgICAgICAgICAgICBzZWxmLl9vcGVyYXRpb25zKSwKKysgICAgICAgICAgICAgICAg bGlzdCgKKysgICAgICAgICAgICAgICAgICAgIGZpbHRlcihsYW1iZGEgeDogeC5pZGVudGlmaWVy ID09IGdyb3VwX2lyLmlkZW50aWZpZXIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vs Zi5fb3BlcmF0aW9ucykpLAorICAgICAgICAgICAgICAgICBvd25lcj1zZWxmKSBmb3IgZ3JvdXBf aXIgaW4gaXIub3BlcmF0aW9uX2dyb3VwcworICAgICAgICAgXSkKKyAgICAgICAgIHNlbGYuX2V4 cG9zZWRfY29uc3RydWN0cyA9IHR1cGxlKGlyLmV4cG9zZWRfY29uc3RydWN0cykKKyAgICAgICAg IHNlbGYuX2xlZ2FjeV93aW5kb3dfYWxpYXNlcyA9IHR1cGxlKGlyLmxlZ2FjeV93aW5kb3dfYWxp YXNlcykKKyAgICAgICAgIHNlbGYuX2luZGV4ZWRfYW5kX25hbWVkX3Byb3BlcnRpZXMgPSBOb25l CistICAgICAgICBpbmRleGVkX2FuZF9uYW1lZF9wcm9wZXJ0eV9vcGVyYXRpb25zID0gZmlsdGVy KAorLSAgICAgICAgICAgIGxhbWJkYSB4OiB4LmlzX2luZGV4ZWRfb3JfbmFtZWRfcHJvcGVydHlf b3BlcmF0aW9uLAorLSAgICAgICAgICAgIHNlbGYuX29wZXJhdGlvbnMpCisrICAgICAgICBpbmRl eGVkX2FuZF9uYW1lZF9wcm9wZXJ0eV9vcGVyYXRpb25zID0gbGlzdCgKKysgICAgICAgICAgICBm aWx0ZXIobGFtYmRhIHg6IHguaXNfaW5kZXhlZF9vcl9uYW1lZF9wcm9wZXJ0eV9vcGVyYXRpb24s CisrICAgICAgICAgICAgICAgICAgIHNlbGYuX29wZXJhdGlvbnMpKQorICAgICAgICAgaWYgaW5k ZXhlZF9hbmRfbmFtZWRfcHJvcGVydHlfb3BlcmF0aW9uczoKKyAgICAgICAgICAgICBzZWxmLl9p bmRleGVkX2FuZF9uYW1lZF9wcm9wZXJ0aWVzID0gSW5kZXhlZEFuZE5hbWVkUHJvcGVydGllcygK KyAgICAgICAgICAgICAgICAgaW5kZXhlZF9hbmRfbmFtZWRfcHJvcGVydHlfb3BlcmF0aW9ucywg b3duZXI9c2VsZikKKyAgICAgICAgIHNlbGYuX3N0cmluZ2lmaWVyID0gTm9uZQorLSAgICAgICAg c3RyaW5naWZpZXJfb3BlcmF0aW9uX2lycyA9IGZpbHRlcihsYW1iZGEgeDogeC5pc19zdHJpbmdp ZmllciwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXIub3Bl cmF0aW9ucykKKysgICAgICAgIHN0cmluZ2lmaWVyX29wZXJhdGlvbl9pcnMgPSBsaXN0KAorKyAg ICAgICAgICAgIGZpbHRlcihsYW1iZGEgeDogeC5pc19zdHJpbmdpZmllciwgaXIub3BlcmF0aW9u cykpCisgICAgICAgICBpZiBzdHJpbmdpZmllcl9vcGVyYXRpb25faXJzOgorICAgICAgICAgICAg IGFzc2VydCBsZW4oc3RyaW5naWZpZXJfb3BlcmF0aW9uX2lycykgPT0gMQorICAgICAgICAgICAg IG9wX2lyID0gbWFrZV9jb3B5KHN0cmluZ2lmaWVyX29wZXJhdGlvbl9pcnNbMF0pCitAQCAtMjMx LDggKzIzNCw5IEBAIGNsYXNzIEludGVyZmFjZShVc2VyRGVmaW5lZFR5cGUsIFdpdGhFeHRlbmRl ZEF0dHJpYnV0ZXMsIFdpdGhDb2RlR2VuZXJhdG9ySW5mbywKKyAgICAgICAgICAgICBhdHRyaWJ1 dGUgPSBOb25lCisgICAgICAgICAgICAgaWYgb3BlcmF0aW9uLnN0cmluZ2lmaWVyX2F0dHJpYnV0 ZToKKyAgICAgICAgICAgICAgICAgYXR0cl9pZCA9IG9wZXJhdGlvbi5zdHJpbmdpZmllcl9hdHRy aWJ1dGUKKy0gICAgICAgICAgICAgICAgYXR0cmlidXRlcyA9IGZpbHRlcihsYW1iZGEgeDogeC5p ZGVudGlmaWVyID09IGF0dHJfaWQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc2VsZi5fYXR0cmlidXRlcykKKysgICAgICAgICAgICAgICAgYXR0cmlidXRlcyA9IGxpc3Qo CisrICAgICAgICAgICAgICAgICAgICBmaWx0ZXIobGFtYmRhIHg6IHguaWRlbnRpZmllciA9PSBh dHRyX2lkLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2F0dHJpYnV0ZXMpKQor ICAgICAgICAgICAgICAgICBhc3NlcnQgbGVuKGF0dHJpYnV0ZXMpID09IDEKKyAgICAgICAgICAg ICAgICAgYXR0cmlidXRlID0gYXR0cmlidXRlc1swXQorICAgICAgICAgICAgIHNlbGYuX3N0cmlu Z2lmaWVyID0gU3RyaW5naWZpZXIob3BlcmF0aW9uLCBhdHRyaWJ1dGUsIG93bmVyPXNlbGYpCitA QCAtNTc4LDggKzU4Miw5IEBAIGNsYXNzIEl0ZXJhYmxlKFdpdGhEZWJ1Z0luZm8pOgorICAgICAg ICAgc2VsZi5fb3BlcmF0aW9uX2dyb3VwcyA9IHR1cGxlKFsKKyAgICAgICAgICAgICBPcGVyYXRp b25Hcm91cCgKKyAgICAgICAgICAgICAgICAgZ3JvdXBfaXIsCistICAgICAgICAgICAgICAgIGZp bHRlcihsYW1iZGEgeDogeC5pZGVudGlmaWVyID09IGdyb3VwX2lyLmlkZW50aWZpZXIsCistICAg ICAgICAgICAgICAgICAgICAgICBzZWxmLl9vcGVyYXRpb25zKSwKKysgICAgICAgICAgICAgICAg bGlzdCgKKysgICAgICAgICAgICAgICAgICAgIGZpbHRlcihsYW1iZGEgeDogeC5pZGVudGlmaWVy ID09IGdyb3VwX2lyLmlkZW50aWZpZXIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vs Zi5fb3BlcmF0aW9ucykpLAorICAgICAgICAgICAgICAgICBvd25lcj1vd25lcikgZm9yIGdyb3Vw X2lyIGluIGlyLm9wZXJhdGlvbl9ncm91cHMKKyAgICAgICAgIF0pCisgCitAQCAtNjY2LDggKzY3 MSw5IEBAIGNsYXNzIE1hcGxpa2UoV2l0aERlYnVnSW5mbyk6CisgICAgICAgICBzZWxmLl9vcGVy YXRpb25fZ3JvdXBzID0gdHVwbGUoWworICAgICAgICAgICAgIE9wZXJhdGlvbkdyb3VwKAorICAg ICAgICAgICAgICAgICBncm91cF9pciwKKy0gICAgICAgICAgICAgICAgZmlsdGVyKGxhbWJkYSB4 OiB4LmlkZW50aWZpZXIgPT0gZ3JvdXBfaXIuaWRlbnRpZmllciwKKy0gICAgICAgICAgICAgICAg ICAgICAgIHNlbGYuX29wZXJhdGlvbnMpLAorKyAgICAgICAgICAgICAgICBsaXN0KAorKyAgICAg ICAgICAgICAgICAgICAgZmlsdGVyKGxhbWJkYSB4OiB4LmlkZW50aWZpZXIgPT0gZ3JvdXBfaXIu aWRlbnRpZmllciwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9vcGVyYXRpb25z KSksCisgICAgICAgICAgICAgICAgIG93bmVyPW93bmVyKSBmb3IgZ3JvdXBfaXIgaW4gaXIub3Bl cmF0aW9uX2dyb3VwcworICAgICAgICAgXSkKKyAKK0BAIC03NTUsOCArNzYxLDkgQEAgY2xhc3Mg U2V0bGlrZShXaXRoRGVidWdJbmZvKToKKyAgICAgICAgIHNlbGYuX29wZXJhdGlvbl9ncm91cHMg PSB0dXBsZShbCisgICAgICAgICAgICAgT3BlcmF0aW9uR3JvdXAoCisgICAgICAgICAgICAgICAg IGdyb3VwX2lyLAorLSAgICAgICAgICAgICAgICBmaWx0ZXIobGFtYmRhIHg6IHguaWRlbnRpZmll ciA9PSBncm91cF9pci5pZGVudGlmaWVyLAorLSAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5f b3BlcmF0aW9ucyksCisrICAgICAgICAgICAgICAgIGxpc3QoCisrICAgICAgICAgICAgICAgICAg ICBmaWx0ZXIobGFtYmRhIHg6IHguaWRlbnRpZmllciA9PSBncm91cF9pci5pZGVudGlmaWVyLAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX29wZXJhdGlvbnMpKSwKKyAgICAgICAg ICAgICAgICAgb3duZXI9b3duZXIpIGZvciBncm91cF9pciBpbiBpci5vcGVyYXRpb25fZ3JvdXBz CisgICAgICAgICBdKQorIAorZGlmZiAtLWdpdCBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGly ZF9wYXJ0eS9ibGluay9yZW5kZXJlci9iaW5kaW5ncy9zY3JpcHRzL3dlYl9pZGwvaXJfYnVpbGRl ci5weSBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9i aW5kaW5ncy9zY3JpcHRzL3dlYl9pZGwvaXJfYnVpbGRlci5weQoraW5kZXggZTlhZWZmNGFiODIu LmQ4MDU1NGQ2MDNlIDEwMDY0NAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3Bh cnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRpbmdzL3NjcmlwdHMvd2ViX2lkbC9pcl9idWlsZGVyLnB5 CisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIv YmluZGluZ3Mvc2NyaXB0cy93ZWJfaWRsL2lyX2J1aWxkZXIucHkKK0BAIC0yLDYgKzIsOCBAQAor ICMgVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGlj ZW5zZSB0aGF0IGNhbiBiZQorICMgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKyAKKytpbXBv cnQgc3lzCisrCisgZnJvbSAuYXJndW1lbnQgaW1wb3J0IEFyZ3VtZW50CisgZnJvbSAuYXN0X2dy b3VwIGltcG9ydCBBc3RHcm91cAorIGZyb20gLmF0dHJpYnV0ZSBpbXBvcnQgQXR0cmlidXRlCitA QCAtMzAsNiArMzIsMTEgQEAgZnJvbSAub3BlcmF0aW9uIGltcG9ydCBPcGVyYXRpb24KKyBmcm9t IC50eXBlZGVmIGltcG9ydCBUeXBlZGVmCisgCisgCisrIyBUT0RPOiBSZW1vdmUgdGhpcyBvbmNl IFB5dGhvbjIgaXMgb2Jzb2xldGVkLgorK2lmIHN5cy52ZXJzaW9uX2luZm8ubWFqb3IgIT0gMjoK KysgICAgbG9uZyA9IGludAorKworKworIGRlZiBsb2FkX2FuZF9yZWdpc3Rlcl9pZGxfZGVmaW5p dGlvbnMoZmlsZXBhdGhzLCByZWdpc3Rlcl9pciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNyZWF0ZV9yZWZfdG9faWRsX2RlZiwgaWRsX3R5cGVfZmFjdG9yeSk6Cisg ICAgICIiIgorQEAgLTE2MCw3ICsxNjcsNyBAQCBjbGFzcyBfSVJCdWlsZGVyKG9iamVjdCk6Cisg ICAgICAgICBjaGlsZF9ub2RlcyA9IGxpc3Qobm9kZS5HZXRDaGlsZHJlbigpKQorICAgICAgICAg ZXh0ZW5kZWRfYXR0cmlidXRlcyA9IHNlbGYuX3Rha2VfZXh0ZW5kZWRfYXR0cmlidXRlcyhjaGls ZF9ub2RlcykKKyAKKy0gICAgICAgIG1lbWJlcnMgPSBtYXAoc2VsZi5fYnVpbGRfaW50ZXJmYWNl X21lbWJlciwgY2hpbGRfbm9kZXMpCisrICAgICAgICBtZW1iZXJzID0gbGlzdChtYXAoc2VsZi5f YnVpbGRfaW50ZXJmYWNlX21lbWJlciwgY2hpbGRfbm9kZXMpKQorICAgICAgICAgYXR0cmlidXRl cyA9IFtdCisgICAgICAgICBjb25zdGFudHMgPSBbXQorICAgICAgICAgb3BlcmF0aW9ucyA9IFtd CitAQCAtMzAyLDcgKzMwOSw3IEBAIGNsYXNzIF9JUkJ1aWxkZXIob2JqZWN0KToKKyAgICAgICAg IGNoaWxkX25vZGVzID0gbGlzdChub2RlLkdldENoaWxkcmVuKCkpCisgICAgICAgICBpbmhlcml0 ZWQgPSBzZWxmLl90YWtlX2luaGVyaXRhbmNlKGNoaWxkX25vZGVzKQorICAgICAgICAgZXh0ZW5k ZWRfYXR0cmlidXRlcyA9IHNlbGYuX3Rha2VfZXh0ZW5kZWRfYXR0cmlidXRlcyhjaGlsZF9ub2Rl cykKKy0gICAgICAgIG93bl9tZW1iZXJzID0gbWFwKHNlbGYuX2J1aWxkX2RpY3Rpb25hcnlfbWVt YmVyLCBjaGlsZF9ub2RlcykKKysgICAgICAgIG93bl9tZW1iZXJzID0gbGlzdChtYXAoc2VsZi5f YnVpbGRfZGljdGlvbmFyeV9tZW1iZXIsIGNoaWxkX25vZGVzKSkKKyAKKyAgICAgICAgIHJldHVy biBEaWN0aW9uYXJ5LklSKAorICAgICAgICAgICAgIGlkZW50aWZpZXI9SWRlbnRpZmllcihub2Rl LkdldE5hbWUoKSksCitAQCAtMzM2LDcgKzM0Myw3IEBAIGNsYXNzIF9JUkJ1aWxkZXIob2JqZWN0 KToKKyAKKyAgICAgICAgIGNoaWxkX25vZGVzID0gbGlzdChub2RlLkdldENoaWxkcmVuKCkpCisg ICAgICAgICBleHRlbmRlZF9hdHRyaWJ1dGVzID0gc2VsZi5fdGFrZV9leHRlbmRlZF9hdHRyaWJ1 dGVzKGNoaWxkX25vZGVzKQorLSAgICAgICAgbWVtYmVycyA9IG1hcChzZWxmLl9idWlsZF9pbnRl cmZhY2VfbWVtYmVyLCBjaGlsZF9ub2RlcykKKysgICAgICAgIG1lbWJlcnMgPSBsaXN0KG1hcChz ZWxmLl9idWlsZF9pbnRlcmZhY2VfbWVtYmVyLCBjaGlsZF9ub2RlcykpCisgICAgICAgICBjb25z dGFudHMgPSBbXQorICAgICAgICAgb3BlcmF0aW9ucyA9IFtdCisgICAgICAgICBmb3IgbWVtYmVy IGluIG1lbWJlcnM6CitAQCAtNDU2LDggKzQ2Myw4IEBAIGNsYXNzIF9JUkJ1aWxkZXIob2JqZWN0 KToKKyAgICAgICAgICAgICAgICAgYXNzZXJ0IGxlbihjaGlsZF9ub2RlcykgPT0gMQorICAgICAg ICAgICAgICAgICBjaGlsZCA9IGNoaWxkX25vZGVzWzBdCisgICAgICAgICAgICAgICAgIGlmIGNo aWxkLkdldENsYXNzKCkgPT0gJ0FyZ3VtZW50cyc6CistICAgICAgICAgICAgICAgICAgICBhcmd1 bWVudHMgPSBtYXAoYnVpbGRfZXh0YXR0cl9hcmd1bWVudCwKKy0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjaGlsZC5HZXRDaGlsZHJlbigpKQorKyAgICAgICAgICAgICAgICAg ICAgYXJndW1lbnRzID0gbGlzdCgKKysgICAgICAgICAgICAgICAgICAgICAgICBtYXAoYnVpbGRf ZXh0YXR0cl9hcmd1bWVudCwgY2hpbGQuR2V0Q2hpbGRyZW4oKSkpCisgICAgICAgICAgICAgICAg IGVsaWYgY2hpbGQuR2V0Q2xhc3MoKSA9PSAnQ2FsbCc6CisgICAgICAgICAgICAgICAgICAgICBh c3NlcnQgbGVuKGNoaWxkLkdldENoaWxkcmVuKCkpID09IDEKKyAgICAgICAgICAgICAgICAgICAg IGdyYW5kX2NoaWxkID0gY2hpbGQuR2V0Q2hpbGRyZW4oKVswXQorQEAgLTQ4Niw3ICs0OTMsOSBA QCBjbGFzcyBfSVJCdWlsZGVyKG9iamVjdCk6CisgCisgICAgICAgICBhc3NlcnQgbm9kZS5HZXRD bGFzcygpID09ICdFeHRBdHRyaWJ1dGVzJworICAgICAgICAgcmV0dXJuIEV4dGVuZGVkQXR0cmli dXRlcygKKy0gICAgICAgICAgICBmaWx0ZXIoTm9uZSwgbWFwKGJ1aWxkX2V4dGVuZGVkX2F0dHJp YnV0ZSwgbm9kZS5HZXRDaGlsZHJlbigpKSkpCisrICAgICAgICAgICAgbGlzdCgKKysgICAgICAg ICAgICAgICAgZmlsdGVyKE5vbmUsIG1hcChidWlsZF9leHRlbmRlZF9hdHRyaWJ1dGUsCisrICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZS5HZXRDaGlsZHJlbigpKSkpKQorIAor ICAgICBkZWYgX2J1aWxkX2luaGVyaXRhbmNlKHNlbGYsIG5vZGUpOgorICAgICAgICAgYXNzZXJ0 IG5vZGUuR2V0Q2xhc3MoKSA9PSAnSW5oZXJpdCcKK0BAIC01MDYsNyArNTE1LDcgQEAgY2xhc3Mg X0lSQnVpbGRlcihvYmplY3QpOgorIAorICAgICBkZWYgX2J1aWxkX2l0ZXJhYmxlKHNlbGYsIG5v ZGUpOgorICAgICAgICAgYXNzZXJ0IG5vZGUuR2V0Q2xhc3MoKSA9PSAnSXRlcmFibGUnCistICAg ICAgICB0eXBlcyA9IG1hcChzZWxmLl9idWlsZF90eXBlLCBub2RlLkdldENoaWxkcmVuKCkpCisr ICAgICAgICB0eXBlcyA9IGxpc3QobWFwKHNlbGYuX2J1aWxkX3R5cGUsIG5vZGUuR2V0Q2hpbGRy ZW4oKSkpCisgICAgICAgICBhc3NlcnQgbGVuKHR5cGVzKSA9PSAxIG9yIGxlbih0eXBlcykgPT0g MgorICAgICAgICAgaWYgbGVuKHR5cGVzKSA9PSAxOiAgIyB2YWx1ZSBpdGVyYXRvcgorICAgICAg ICAgICAgIGtleV90eXBlLCB2YWx1ZV90eXBlID0gKE5vbmUsIHR5cGVzWzBdKQorQEAgLTU4NCw3 ICs1OTMsNyBAQCBjbGFzcyBfSVJCdWlsZGVyKG9iamVjdCk6CisgICAgIGRlZiBfYnVpbGRfbWFw bGlrZShzZWxmLCBub2RlLCBpbnRlcmZhY2VfaWRlbnRpZmllcik6CisgICAgICAgICBhc3NlcnQg bm9kZS5HZXRDbGFzcygpID09ICdNYXBsaWtlJworICAgICAgICAgYXNzZXJ0IGlzaW5zdGFuY2Uo aW50ZXJmYWNlX2lkZW50aWZpZXIsIElkZW50aWZpZXIpCistICAgICAgICB0eXBlcyA9IG1hcChz ZWxmLl9idWlsZF90eXBlLCBub2RlLkdldENoaWxkcmVuKCkpCisrICAgICAgICB0eXBlcyA9IGxp c3QobWFwKHNlbGYuX2J1aWxkX3R5cGUsIG5vZGUuR2V0Q2hpbGRyZW4oKSkpCisgICAgICAgICBh c3NlcnQgbGVuKHR5cGVzKSA9PSAyCisgICAgICAgICBrZXlfdHlwZSwgdmFsdWVfdHlwZSA9IHR5 cGVzCisgICAgICAgICBpc19yZWFkb25seSA9IGJvb2wobm9kZS5HZXRQcm9wZXJ0eSgnUkVBRE9O TFknKSkKK0BAIC02NzYsNyArNjg1LDcgQEAgY2xhc3MgX0lSQnVpbGRlcihvYmplY3QpOgorICAg ICBkZWYgX2J1aWxkX3NldGxpa2Uoc2VsZiwgbm9kZSwgaW50ZXJmYWNlX2lkZW50aWZpZXIpOgor ICAgICAgICAgYXNzZXJ0IG5vZGUuR2V0Q2xhc3MoKSA9PSAnU2V0bGlrZScKKyAgICAgICAgIGFz c2VydCBpc2luc3RhbmNlKGludGVyZmFjZV9pZGVudGlmaWVyLCBJZGVudGlmaWVyKQorLSAgICAg ICAgdHlwZXMgPSBtYXAoc2VsZi5fYnVpbGRfdHlwZSwgbm9kZS5HZXRDaGlsZHJlbigpKQorKyAg ICAgICAgdHlwZXMgPSBsaXN0KG1hcChzZWxmLl9idWlsZF90eXBlLCBub2RlLkdldENoaWxkcmVu KCkpKQorICAgICAgICAgYXNzZXJ0IGxlbih0eXBlcykgPT0gMQorICAgICAgICAgdmFsdWVfdHlw ZSA9IHR5cGVzWzBdCisgICAgICAgICBpc19yZWFkb25seSA9IGJvb2wobm9kZS5HZXRQcm9wZXJ0 eSgnUkVBRE9OTFknKSkKK0BAIC04MzgsNyArODQ3LDcgQEAgY2xhc3MgX0lSQnVpbGRlcihvYmpl Y3QpOgorIAorICAgICAgICAgZGVmIGJ1aWxkX3VuaW9uX3R5cGUobm9kZSwgZXh0ZW5kZWRfYXR0 cmlidXRlcyk6CisgICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2lkbF90eXBlX2ZhY3RvcnkudW5p b25fdHlwZSgKKy0gICAgICAgICAgICAgICAgbWVtYmVyX3R5cGVzPW1hcChzZWxmLl9idWlsZF90 eXBlLCBub2RlLkdldENoaWxkcmVuKCkpLAorKyAgICAgICAgICAgICAgICBtZW1iZXJfdHlwZXM9 bGlzdChtYXAoc2VsZi5fYnVpbGRfdHlwZSwgbm9kZS5HZXRDaGlsZHJlbigpKSksCisgICAgICAg ICAgICAgICAgIGlzX29wdGlvbmFsPWlzX29wdGlvbmFsLAorICAgICAgICAgICAgICAgICBleHRl bmRlZF9hdHRyaWJ1dGVzPWV4dGVuZGVkX2F0dHJpYnV0ZXMsCisgICAgICAgICAgICAgICAgIGRl YnVnX2luZm89c2VsZi5fYnVpbGRfZGVidWdfaW5mbyhub2RlKSkKK2RpZmYgLS1naXQgYS9zcmMv M3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYmluZGluZ3Mvc2Ny aXB0cy93ZWJfaWRsL21ha2VfY29weS5weSBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9w YXJ0eS9ibGluay9yZW5kZXJlci9iaW5kaW5ncy9zY3JpcHRzL3dlYl9pZGwvbWFrZV9jb3B5LnB5 CitpbmRleCBhN2EyYjExZjNmMC4uMmY2YjYxMzAwZmYgMTAwNjQ0CistLS0gYS9zcmMvM3JkcGFy dHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYmluZGluZ3Mvc2NyaXB0cy93 ZWJfaWRsL21ha2VfY29weS5weQorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3Bh cnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRpbmdzL3NjcmlwdHMvd2ViX2lkbC9tYWtlX2NvcHkucHkK K0BAIC0zLDYgKzMsMTMgQEAKKyAjIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisgCisgCisr aW1wb3J0IHN5cworKworKyMgVE9ETzogUmVtb3ZlIHRoaXMgb25jZSBQeXRob24yIGlzIG9ic29s ZXRlZC4KKytpZiBzeXMudmVyc2lvbl9pbmZvLm1ham9yICE9IDI6CisrICAgIGxvbmcgPSBpbnQK KysgICAgYmFzZXN0cmluZyA9IHN0cgorKworIGRlZiBtYWtlX2NvcHkob2JqLCBtZW1vPU5vbmUp OgorICAgICAiIiIKKyAgICAgQ3JlYXRlcyBhIGNvcHkgb2YgdGhlIGdpdmVuIG9iamVjdCwgd2hp Y2ggc2hvdWxkIGJlIGFuIElSIG9yIHBhcnQgb2YgSVIuCitkaWZmIC0tZ2l0IGEvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRpbmdzL3NjcmlwdHMv d2ViX2lkbC9uYW1lc3BhY2UucHkgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkv YmxpbmsvcmVuZGVyZXIvYmluZGluZ3Mvc2NyaXB0cy93ZWJfaWRsL25hbWVzcGFjZS5weQoraW5k ZXggZWVhYmVmOTdjYmUuLmJkN2U5ODkwN2YzIDEwMDY0NAorLS0tIGEvc3JjLzNyZHBhcnR5L2No cm9taXVtL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRpbmdzL3NjcmlwdHMvd2ViX2lk bC9uYW1lc3BhY2UucHkKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9i bGluay9yZW5kZXJlci9iaW5kaW5ncy9zY3JpcHRzL3dlYl9pZGwvbmFtZXNwYWNlLnB5CitAQCAt MTA3LDExICsxMDcsMTMgQEAgY2xhc3MgTmFtZXNwYWNlKFVzZXJEZWZpbmVkVHlwZSwgV2l0aEV4 dGVuZGVkQXR0cmlidXRlcywgV2l0aENvZGVHZW5lcmF0b3JJbmZvLAorICAgICAgICAgICAgIGZv ciBvcGVyYXRpb25faXIgaW4gaXIub3BlcmF0aW9ucworICAgICAgICAgXSkKKyAgICAgICAgIHNl bGYuX29wZXJhdGlvbl9ncm91cHMgPSB0dXBsZShbCistICAgICAgICAgICAgT3BlcmF0aW9uR3Jv dXAoCistICAgICAgICAgICAgICAgIG9wZXJhdGlvbl9ncm91cF9pciwKKy0gICAgICAgICAgICAg ICAgZmlsdGVyKGxhbWJkYSB4OiB4LmlkZW50aWZpZXIgPT0gb3BlcmF0aW9uX2dyb3VwX2lyLmlk ZW50aWZpZXIsCistICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9vcGVyYXRpb25zKSwKKy0g ICAgICAgICAgICAgICAgb3duZXI9c2VsZikgZm9yIG9wZXJhdGlvbl9ncm91cF9pciBpbiBpci5v cGVyYXRpb25fZ3JvdXBzCisrICAgICAgICAgICAgT3BlcmF0aW9uR3JvdXAob3BlcmF0aW9uX2dy b3VwX2lyLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3QoCisrICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGZpbHRlcigKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGxhbWJkYSB4OiB4LmlkZW50aWZpZXIgPT0gb3BlcmF0aW9uX2dyb3VwX2lyCisrICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuaWRlbnRpZmllciwgc2VsZi5fb3BlcmF0 aW9ucykpLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgIG93bmVyPXNlbGYpCisrICAgICAg ICAgICAgZm9yIG9wZXJhdGlvbl9ncm91cF9pciBpbiBpci5vcGVyYXRpb25fZ3JvdXBzCisgICAg ICAgICBdKQorIAorICAgICBAcHJvcGVydHkKK2RpZmYgLS1naXQgYS9zcmMvM3JkcGFydHkvY2hy b21pdW0vdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYmluZGluZ3MvdGVtcGxhdGVzL2RpY3Rp b25hcnlfdjguY2MudG1wbCBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9ibGlu ay9yZW5kZXJlci9iaW5kaW5ncy90ZW1wbGF0ZXMvZGljdGlvbmFyeV92OC5jYy50bXBsCitpbmRl eCAwYWRkOWM0NWEzOC4uZGM5MTBmNmQyMjcgMTAwNjQ0CistLS0gYS9zcmMvM3JkcGFydHkvY2hy b21pdW0vdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYmluZGluZ3MvdGVtcGxhdGVzL2RpY3Rp b25hcnlfdjguY2MudG1wbAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5 L2JsaW5rL3JlbmRlcmVyL2JpbmRpbmdzL3RlbXBsYXRlcy9kaWN0aW9uYXJ5X3Y4LmNjLnRtcGwK K0BAIC01OSw5ICs1OSw5IEBAIHZvaWQge3t2OF9jbGFzc319OjpUb0ltcGwodjg6Oklzb2xhdGUq IGlzb2xhdGUsIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHY4X3ZhbHVlLCB7CisgICBEQ0hFQ0soZXhl Y3V0aW9uQ29udGV4dCk7CisgICB7JSBlbmRpZiAlfXsjIGhhc19vcmlnaW5fdHJpYWxfbWVtYmVy cyAjfQorICAgeyUgZW5kaWYgJX17IyBtZW1iZXJzICN9CistICB7JSBmb3Igb3JpZ2luX3RyaWFs X3Rlc3QsIG9yaWdpbl90cmlhbF9tZW1iZXJfbGlzdCBpbiBtZW1iZXJzIHwgZ3JvdXBieSgnb3Jp Z2luX3RyaWFsX2ZlYXR1cmVfbmFtZScpICV9CisrICB7JSBmb3Igb3JpZ2luX3RyaWFsX3Rlc3Qs IG9yaWdpbl90cmlhbF9tZW1iZXJfbGlzdCBpbiBtZW1iZXJzIHwgc3RyaW5naWZ5a2V5Z3JvdXBi eSgnb3JpZ2luX3RyaWFsX2ZlYXR1cmVfbmFtZScpICV9CisgICB7JSBmaWx0ZXIgb3JpZ2luX3Ry aWFsX2VuYWJsZWQob3JpZ2luX3RyaWFsX3Rlc3QsICJleGVjdXRpb25Db250ZXh0IikgJX0KKy0g IHslIGZvciBmZWF0dXJlX25hbWUsIG1lbWJlcl9saXN0IGluIG9yaWdpbl90cmlhbF9tZW1iZXJf bGlzdCB8IGdyb3VwYnkoJ3J1bnRpbWVfZW5hYmxlZF9mZWF0dXJlX25hbWUnKSAlfQorKyAgeyUg Zm9yIGZlYXR1cmVfbmFtZSwgbWVtYmVyX2xpc3QgaW4gb3JpZ2luX3RyaWFsX21lbWJlcl9saXN0 IHwgc3RyaW5naWZ5a2V5Z3JvdXBieSgncnVudGltZV9lbmFibGVkX2ZlYXR1cmVfbmFtZScpICV9 CisgICB7JSBmaWx0ZXIgcnVudGltZV9lbmFibGVkKGZlYXR1cmVfbmFtZSkgJX0KKyAgIHslIGZv ciBtZW1iZXIgaW4gbWVtYmVyX2xpc3QgJX0KKyAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHt7bWVt YmVyLnY4X3ZhbHVlfX07CitAQCAtMTQ3LDkgKzE0Nyw5IEBAIGJvb2wgdG9WOHt7Y3BwX2NsYXNz fX0oY29uc3Qge3tjcHBfY2xhc3N9fSogaW1wbCwgdjg6OkxvY2FsPHY4OjpPYmplY3Q+IGRpY3Rp b25hCisgICBEQ0hFQ0soZXhlY3V0aW9uQ29udGV4dCk7CisgICB7JSBlbmRpZiAlfXsjIGhhc19v cmlnaW5fdHJpYWxfbWVtYmVycyAjfQorICAgeyUgZW5kaWYgJX17IyBtZW1iZXJzICN9CistICB7 JSBmb3Igb3JpZ2luX3RyaWFsX3Rlc3QsIG9yaWdpbl90cmlhbF9tZW1iZXJfbGlzdCBpbiBtZW1i ZXJzIHwgZ3JvdXBieSgnb3JpZ2luX3RyaWFsX2ZlYXR1cmVfbmFtZScpICV9CisrICB7JSBmb3Ig b3JpZ2luX3RyaWFsX3Rlc3QsIG9yaWdpbl90cmlhbF9tZW1iZXJfbGlzdCBpbiBtZW1iZXJzIHwg c3RyaW5naWZ5a2V5Z3JvdXBieSgnb3JpZ2luX3RyaWFsX2ZlYXR1cmVfbmFtZScpICV9CisgICB7 JSBmaWx0ZXIgb3JpZ2luX3RyaWFsX2VuYWJsZWQob3JpZ2luX3RyaWFsX3Rlc3QsICJleGVjdXRp b25Db250ZXh0IikgJX0KKy0gIHslIGZvciBmZWF0dXJlX25hbWUsIG1lbWJlcl9saXN0IGluIG9y aWdpbl90cmlhbF9tZW1iZXJfbGlzdCB8IGdyb3VwYnkoJ3J1bnRpbWVfZW5hYmxlZF9mZWF0dXJl X25hbWUnKSAlfQorKyAgeyUgZm9yIGZlYXR1cmVfbmFtZSwgbWVtYmVyX2xpc3QgaW4gb3JpZ2lu X3RyaWFsX21lbWJlcl9saXN0IHwgc3RyaW5naWZ5a2V5Z3JvdXBieSgncnVudGltZV9lbmFibGVk X2ZlYXR1cmVfbmFtZScpICV9CisgICB7JSBmaWx0ZXIgcnVudGltZV9lbmFibGVkKGZlYXR1cmVf bmFtZSkgJX0KKyAgIHslIGZvciBtZW1iZXIgaW4gbWVtYmVyX2xpc3QgJX0KKyAgIHY4OjpMb2Nh bDx2ODo6VmFsdWU+IHt7bWVtYmVyLnY4X3ZhbHVlfX07CitkaWZmIC0tZ2l0IGEvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2J1aWxkL3NjcmlwdHMvY29y ZS9jc3MvbWFrZV9zdHlsZV9zaG9ydGhhbmRzLnB5IGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Ro aXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2J1aWxkL3NjcmlwdHMvY29yZS9jc3MvbWFrZV9zdHls ZV9zaG9ydGhhbmRzLnB5CitpbmRleCAxNzk5Y2Q1YTE1My4uNWY0M2ZmYWJjMjYgMTAwNzU1Cist LS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYnVp bGQvc2NyaXB0cy9jb3JlL2Nzcy9tYWtlX3N0eWxlX3Nob3J0aGFuZHMucHkKKysrKyBiL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9idWlsZC9zY3JpcHRz L2NvcmUvY3NzL21ha2Vfc3R5bGVfc2hvcnRoYW5kcy5weQorQEAgLTcxLDcgKzcxLDcgQEAgY2xh c3MgRXhwYW5zaW9uKG9iamVjdCk6CisgICAgIGRlZiBlbmFibGVkX2xvbmdoYW5kcyhzZWxmKToK KyAgICAgICAgIGluY2x1ZGUgPSBsYW1iZGEgbG9uZ2hhbmQ6IG5vdCBsb25naGFuZFsKKyAgICAg ICAgICAgICAncnVudGltZV9mbGFnJ10gb3Igc2VsZi5pc19lbmFibGVkKGxvbmdoYW5kWydydW50 aW1lX2ZsYWcnXSkKKy0gICAgICAgIHJldHVybiBmaWx0ZXIoaW5jbHVkZSwgc2VsZi5fbG9uZ2hh bmRzKQorKyAgICAgICAgcmV0dXJuIGxpc3QoZmlsdGVyKGluY2x1ZGUsIHNlbGYuX2xvbmdoYW5k cykpCisgCisgICAgIEBwcm9wZXJ0eQorICAgICBkZWYgaW5kZXgoc2VsZik6CitAQCAtODcsOCAr ODcsOSBAQCBjbGFzcyBFeHBhbnNpb24ob2JqZWN0KToKKyAKKyBkZWYgY3JlYXRlX2V4cGFuc2lv bnMobG9uZ2hhbmRzKToKKyAgICAgZmxhZ3MgPSBjb2xsZWN0X3J1bnRpbWVfZmxhZ3MobG9uZ2hh bmRzKQorLSAgICBleHBhbnNpb25zID0gbWFwKGxhbWJkYSBtYXNrOiBFeHBhbnNpb24obG9uZ2hh bmRzLCBmbGFncywgbWFzayksCistICAgICAgICAgICAgICAgICAgICAgcmFuZ2UoMSA8PCBsZW4o ZmxhZ3MpKSkKKysgICAgZXhwYW5zaW9ucyA9IGxpc3QoCisrICAgICAgICBtYXAobGFtYmRhIG1h c2s6IEV4cGFuc2lvbihsb25naGFuZHMsIGZsYWdzLCBtYXNrKSwKKysgICAgICAgICAgICByYW5n ZSgxIDw8IGxlbihmbGFncykpKSkKKyAgICAgYXNzZXJ0IGxlbihleHBhbnNpb25zKSA+IDAKKyAg ICAgIyBXZSBnZW5lcmF0ZSAyXk4gZXhwYW5zaW9ucyBmb3IgTiBmbGFncywgc28gZW5mb3JjZSBz b21lIGxpbWl0LgorICAgICBhc3NlcnQgbGVuKGZsYWdzKSA8PSA0LCAnVG9vIG1hbnkgcnVudGlt ZSBmbGFncyBmb3IgYSBzaW5nbGUgc2hvcnRoYW5kJworQEAgLTExNCwxNCArMTE1LDE0IEBAIGNs YXNzIFN0eWxlUHJvcGVydHlTaG9ydGhhbmRXcml0ZXIoanNvbjVfZ2VuZXJhdG9yLldyaXRlcik6 CisgCisgICAgICAgICBzZWxmLl9sb25naGFuZF9kaWN0aW9uYXJ5ID0gZGVmYXVsdGRpY3QobGlz dCkKKyAgICAgICAgIGZvciBwcm9wZXJ0eV8gaW4ganNvbjVfcHJvcGVydGllcy5zaG9ydGhhbmRz OgorLSAgICAgICAgICAgIHByb3BlcnR5X1snbG9uZ2hhbmRfZW51bV9rZXlzJ10gPSBtYXAoZW51 bV9rZXlfZm9yX2Nzc19wcm9wZXJ0eSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHByb3BlcnR5X1snbG9uZ2hhbmRzJ10pCistICAgICAgICAgICAg cHJvcGVydHlfWydsb25naGFuZF9wcm9wZXJ0eV9pZHMnXSA9IG1hcChpZF9mb3JfY3NzX3Byb3Bl cnR5LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgcHJvcGVydHlfWydsb25naGFuZHMnXSkKKy0KKy0gICAgICAgICAgICBsb25naGFuZHMgPSBt YXAoCistICAgICAgICAgICAgICAgIGxhbWJkYSBuYW1lOiBqc29uNV9wcm9wZXJ0aWVzLnByb3Bl cnRpZXNfYnlfbmFtZVtuYW1lXSwKKy0gICAgICAgICAgICAgICAgcHJvcGVydHlfWydsb25naGFu ZHMnXSkKKysgICAgICAgICAgICBwcm9wZXJ0eV9bJ2xvbmdoYW5kX2VudW1fa2V5cyddID0gbGlz dCgKKysgICAgICAgICAgICAgICAgbWFwKGVudW1fa2V5X2Zvcl9jc3NfcHJvcGVydHksIHByb3Bl cnR5X1snbG9uZ2hhbmRzJ10pKQorKyAgICAgICAgICAgIHByb3BlcnR5X1snbG9uZ2hhbmRfcHJv cGVydHlfaWRzJ10gPSBsaXN0KAorKyAgICAgICAgICAgICAgICBtYXAoaWRfZm9yX2Nzc19wcm9w ZXJ0eSwgcHJvcGVydHlfWydsb25naGFuZHMnXSkpCisrCisrICAgICAgICAgICAgbG9uZ2hhbmRz ID0gbGlzdCgKKysgICAgICAgICAgICAgICAgbWFwKGxhbWJkYSBuYW1lOiBqc29uNV9wcm9wZXJ0 aWVzLnByb3BlcnRpZXNfYnlfbmFtZVtuYW1lXSwKKysgICAgICAgICAgICAgICAgICAgIHByb3Bl cnR5X1snbG9uZ2hhbmRzJ10pKQorICAgICAgICAgICAgIHByb3BlcnR5X1snZXhwYW5zaW9ucydd ID0gY3JlYXRlX2V4cGFuc2lvbnMobG9uZ2hhbmRzKQorICAgICAgICAgICAgIGZvciBsb25naGFu ZF9lbnVtX2tleSBpbiBwcm9wZXJ0eV9bJ2xvbmdoYW5kX2VudW1fa2V5cyddOgorICAgICAgICAg ICAgICAgICBzZWxmLl9sb25naGFuZF9kaWN0aW9uYXJ5W2xvbmdoYW5kX2VudW1fa2V5XS5hcHBl bmQocHJvcGVydHlfKQorZGlmZiAtLWdpdCBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9w YXJ0eS9ibGluay9yZW5kZXJlci9idWlsZC9zY3JpcHRzL2NvcmUvY3NzL3Byb3BlcnRpZXMvbWFr ZV9jc3NfcHJvcGVydHlfaW5zdGFuY2VzLnB5IGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJk X3BhcnR5L2JsaW5rL3JlbmRlcmVyL2J1aWxkL3NjcmlwdHMvY29yZS9jc3MvcHJvcGVydGllcy9t YWtlX2Nzc19wcm9wZXJ0eV9pbnN0YW5jZXMucHkKK2luZGV4IDc1MDMwYWM1NzdlLi5mNzJhYWRl ZTE3ZCAxMDA3NTUKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9ibGlu ay9yZW5kZXJlci9idWlsZC9zY3JpcHRzL2NvcmUvY3NzL3Byb3BlcnRpZXMvbWFrZV9jc3NfcHJv cGVydHlfaW5zdGFuY2VzLnB5CisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFy dHkvYmxpbmsvcmVuZGVyZXIvYnVpbGQvc2NyaXB0cy9jb3JlL2Nzcy9wcm9wZXJ0aWVzL21ha2Vf Y3NzX3Byb3BlcnR5X2luc3RhbmNlcy5weQorQEAgLTQyLDggKzQyLDggQEAgY2xhc3MgQ1NTUHJv cGVydHlJbnN0YW5jZXNXcml0ZXIoanNvbjVfZ2VuZXJhdG9yLldyaXRlcik6CisgICAgICAgICBh bGlhc2VzID0gc2VsZi5fY3NzX3Byb3BlcnRpZXMuYWxpYXNlcworIAorICAgICAgICAgIyBMaXN0 cyBvZiBQcm9wZXJ0eUNsYXNzRGF0YS4KKy0gICAgICAgIHNlbGYuX3Byb3BlcnR5X2NsYXNzZXNf YnlfaWQgPSBtYXAoc2VsZi5nZXRfY2xhc3MsIHByb3BlcnRpZXMpCistICAgICAgICBzZWxmLl9h bGlhc19jbGFzc2VzX2J5X2lkID0gbWFwKHNlbGYuZ2V0X2NsYXNzLCBhbGlhc2VzKQorKyAgICAg ICAgc2VsZi5fcHJvcGVydHlfY2xhc3Nlc19ieV9pZCA9IGxpc3QobWFwKHNlbGYuZ2V0X2NsYXNz LCBwcm9wZXJ0aWVzKSkKKysgICAgICAgIHNlbGYuX2FsaWFzX2NsYXNzZXNfYnlfaWQgPSBsaXN0 KG1hcChzZWxmLmdldF9jbGFzcywgYWxpYXNlcykpCisgCisgICAgICAgICAjIFNvcnQgYnkgZW51 bSB2YWx1ZS4KKyAgICAgICAgIHNlbGYuX3Byb3BlcnR5X2NsYXNzZXNfYnlfaWQuc29ydChrZXk9 bGFtYmRhIHQ6IHQuZW51bV92YWx1ZSkKK2RpZmYgLS1naXQgYS9zcmMvM3JkcGFydHkvY2hyb21p dW0vdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYnVpbGQvc2NyaXB0cy9ncGVyZi5weSBiL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9idWlsZC9zY3Jp cHRzL2dwZXJmLnB5CitpbmRleCA1ZWU0OTA1NmJlNC4uZGI3MjY2MGQ0NzEgMTAwNjQ0CistLS0g YS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYnVpbGQv c2NyaXB0cy9ncGVyZi5weQorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5 L2JsaW5rL3JlbmRlcmVyL2J1aWxkL3NjcmlwdHMvZ3BlcmYucHkKK0BAIC05NSw3ICs5NSw3IEBA IGRlZiBtYWluKCk6CisgCisgICAgIG9wZW4oYXJncy5vdXRwdXRfZmlsZSwgJ3diJykud3JpdGUo CisgICAgICAgICBnZW5lcmF0ZV9ncGVyZihncGVyZl9wYXRoLAorLSAgICAgICAgICAgICAgICAg ICAgICAgb3BlbihpbmZpbGUpLnJlYWQoKSwgZ3BlcmZfYXJncykpCisrICAgICAgICAgICAgICAg ICAgICAgICBvcGVuKGluZmlsZSkucmVhZCgpLCBncGVyZl9hcmdzKS5lbmNvZGUoJ3V0Zi04Jykp CisgCisgCisgaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKK2RpZmYgLS1naXQgYS9zcmMvM3Jk cGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYnVpbGQvc2NyaXB0cy9p bl9maWxlLnB5IGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRl cmVyL2J1aWxkL3NjcmlwdHMvaW5fZmlsZS5weQoraW5kZXggMjhhZGMwNTBmMWUuLjU4MTEzNDgz ZTU3IDEwMDY0NAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JsaW5r L3JlbmRlcmVyL2J1aWxkL3NjcmlwdHMvaW5fZmlsZS5weQorKysrIGIvc3JjLzNyZHBhcnR5L2No cm9taXVtL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2J1aWxkL3NjcmlwdHMvaW5fZmlsZS5w eQorQEAgLTY2LDcgKzY2LDcgQEAgY2xhc3MgSW5GaWxlKG9iamVjdCk6CisgICAgICAgICBzZWxm Ll9kZWZhdWx0cyA9IGRlZmF1bHRzCisgICAgICAgICBzZWxmLl92YWxpZF92YWx1ZXMgPSBjb3B5 LmRlZXBjb3B5KAorICAgICAgICAgICAgIHZhbGlkX3ZhbHVlcyBpZiB2YWxpZF92YWx1ZXMgZWxz ZSB7fSkKKy0gICAgICAgIHNlbGYuX3BhcnNlKG1hcChzdHIuc3RyaXAsIGxpbmVzKSkKKysgICAg ICAgIHNlbGYuX3BhcnNlKGxpc3QobWFwKHN0ci5zdHJpcCwgbGluZXMpKSkKKyAKKyAgICAgQGNs YXNzbWV0aG9kCisgICAgIGRlZiBsb2FkX2Zyb21fZmlsZXMoc2VsZiwgZmlsZV9wYXRocywgZGVm YXVsdHMsIHZhbGlkX3ZhbHVlcywKK2RpZmYgLS1naXQgYS9zcmMvM3JkcGFydHkvY2hyb21pdW0v dGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYnVpbGQvc2NyaXB0cy9pbl9nZW5lcmF0b3IucHkg Yi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYnVpbGQv c2NyaXB0cy9pbl9nZW5lcmF0b3IucHkKK2luZGV4IGU0Njc0MGEyZTg1Li5hYjE5ODFhZDFlMyAx MDA2NDQKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9ibGluay9yZW5k ZXJlci9idWlsZC9zY3JpcHRzL2luX2dlbmVyYXRvci5weQorKysrIGIvc3JjLzNyZHBhcnR5L2No cm9taXVtL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2J1aWxkL3NjcmlwdHMvaW5fZ2VuZXJh dG9yLnB5CitAQCAtMzIsMTAgKzMyLDE1IEBAIGltcG9ydCBvcworIGltcG9ydCBvcy5wYXRoCisg aW1wb3J0IHNobGV4CisgaW1wb3J0IHNodXRpbAorK2ltcG9ydCBzeXMKKyBpbXBvcnQgb3B0cGFy c2UKKyAKKyBmcm9tIGluX2ZpbGUgaW1wb3J0IEluRmlsZQorIAorKyMgVE9ETzogUmVtb3ZlIHRo aXMgb25jZSBQeXRob24yIGlzIG9ic29sZXRlZC4KKytpZiBzeXMudmVyc2lvbl9pbmZvLm1ham9y ICE9IDI6CisrICAgIGJhc2VzdHJpbmcgPSBzdHIKKysKKyAKKyAjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyAjIFRoaXMgaXMgbm93IGRl cHJlY2F0ZWQgLSB1c2UganNvbjVfZ2VuZXJhdG9yLnB5IGluc3RlYWQKK2RpZmYgLS1naXQgYS9z cmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYnVpbGQvc2Ny aXB0cy9tYWtlX3J1bnRpbWVfZmVhdHVyZXMucHkgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhp cmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYnVpbGQvc2NyaXB0cy9tYWtlX3J1bnRpbWVfZmVhdHVy ZXMucHkKK2luZGV4IGNhZmU4ZDk0YThlLi42OTI1YTRmYTU4MCAxMDA3NTUKKy0tLSBhL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9idWlsZC9zY3JpcHRz L21ha2VfcnVudGltZV9mZWF0dXJlcy5weQorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Ro aXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2J1aWxkL3NjcmlwdHMvbWFrZV9ydW50aW1lX2ZlYXR1 cmVzLnB5CitAQCAtMTM4LDcgKzEzOCw3IEBAIGNsYXNzIFJ1bnRpbWVGZWF0dXJlV3JpdGVyKEJh c2VSdW50aW1lRmVhdHVyZVdyaXRlcik6CisgICAgICAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRp b246CisgICAgICAgICAgICAgICAgICAgICAjIElmIHRyb3VibGUgdW5waWNrbGluZywgb3Zlcndy aXRlCisgICAgICAgICAgICAgICAgICAgICBwYXNzCistICAgICAgICB3aXRoIG9wZW4ob3MucGF0 aC5hYnNwYXRoKGZpbGVfbmFtZSksICd3JykgYXMgcGlja2xlX2ZpbGU6CisrICAgICAgICB3aXRo IG9wZW4ob3MucGF0aC5hYnNwYXRoKGZpbGVfbmFtZSksICd3YicpIGFzIHBpY2tsZV9maWxlOgor ICAgICAgICAgICAgIHBpY2tsZS5kdW1wKGZlYXR1cmVzX21hcCwgcGlja2xlX2ZpbGUpCisgCisg ICAgIGRlZiBfdGVtcGxhdGVfaW5wdXRzKHNlbGYpOgorZGlmZiAtLWdpdCBhL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9idWlsZC9zY3JpcHRzL3RlbXBs YXRlcy9lbGVtZW50X2ZhY3RvcnkuY2MudG1wbCBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGly ZF9wYXJ0eS9ibGluay9yZW5kZXJlci9idWlsZC9zY3JpcHRzL3RlbXBsYXRlcy9lbGVtZW50X2Zh Y3RvcnkuY2MudG1wbAoraW5kZXggZGMzZjQ0YzViMTAuLjNlZWZjZjlmMGVlIDEwMDY0NAorLS0t IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2J1aWxk L3NjcmlwdHMvdGVtcGxhdGVzL2VsZW1lbnRfZmFjdG9yeS5jYy50bXBsCisrKysgYi9zcmMvM3Jk cGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYnVpbGQvc2NyaXB0cy90 ZW1wbGF0ZXMvZWxlbWVudF9mYWN0b3J5LmNjLnRtcGwKK0BAIC0yNiw3ICsyNiw3IEBAIHVzaW5n IHt7bmFtZXNwYWNlfX1GdW5jdGlvbk1hcCA9IEhhc2hNYXA8QXRvbWljU3RyaW5nLCB7e25hbWVz cGFjZX19Q29uc3RydWN0b3JGCisgCisgc3RhdGljIHt7bmFtZXNwYWNlfX1GdW5jdGlvbk1hcCog Z197e25hbWVzcGFjZXxsb3dlcn19X2NvbnN0cnVjdG9ycyA9IG51bGxwdHI7CisgCisteyUgZm9y IHRhZyBpbiB0YWdzfHNvcnQgaWYgbm90IHRhZy5ub0NvbnN0cnVjdG9yICV9CisreyUgZm9yIHRh ZyBpbiB0YWdzfHNvcnQoYXR0cmlidXRlPSduYW1lJykgaWYgbm90IHRhZy5ub0NvbnN0cnVjdG9y ICV9Cisgc3RhdGljIHt7bmFtZXNwYWNlfX1FbGVtZW50KiB7e25hbWVzcGFjZX19e3t0YWcubmFt ZS50b191cHBlcl9jYW1lbF9jYXNlKCl9fUNvbnN0cnVjdG9yKAorICAgICBEb2N1bWVudCYgZG9j dW1lbnQsIGNvbnN0IENyZWF0ZUVsZW1lbnRGbGFncyBmbGFncykgeworICAgeyUgaWYgdGFnLnJ1 bnRpbWVFbmFibGVkICV9CitAQCAtNTIsNyArNTIsNyBAQCBzdGF0aWMgdm9pZCBDcmVhdGV7e25h bWVzcGFjZX19RnVuY3Rpb25NYXAoKSB7CisgICAvLyBFbXB0eSBhcnJheSBpbml0aWFsaXplciBs aXN0cyBhcmUgaWxsZWdhbCBbZGNsLmluaXQuYWdncl0gYW5kIHdpbGwgbm90CisgICAvLyBjb21w aWxlIGluIE1TVkMuIElmIHRhZ3MgbGlzdCBpcyBlbXB0eSwgYWRkIGNoZWNrIHRvIHNraXAgdGhp cy4KKyAgIHN0YXRpYyBjb25zdCBDcmVhdGV7e25hbWVzcGFjZX19RnVuY3Rpb25NYXBEYXRhIGRh dGFbXSA9IHsKKy0gIHslIGZvciB0YWcgaW4gdGFnc3xzb3J0IGlmIG5vdCB0YWcubm9Db25zdHJ1 Y3RvciAlfQorKyAgeyUgZm9yIHRhZyBpbiB0YWdzfHNvcnQoYXR0cmlidXRlPSduYW1lJykgaWYg bm90IHRhZy5ub0NvbnN0cnVjdG9yICV9CisgICAgIHsge3tjcHBfbmFtZXNwYWNlfX06Ont7dGFn fHN5bWJvbH19VGFnLCB7e25hbWVzcGFjZX19e3t0YWcubmFtZS50b191cHBlcl9jYW1lbF9jYXNl KCl9fUNvbnN0cnVjdG9yIH0sCisgICB7JSBlbmRmb3IgJX0KKyAgIH07CitkaWZmIC0tZ2l0IGEv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2J1aWxkL3Nj cmlwdHMvdGVtcGxhdGVzL2VsZW1lbnRfdHlwZV9oZWxwZXJzLmNjLnRtcGwgYi9zcmMvM3JkcGFy dHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYnVpbGQvc2NyaXB0cy90ZW1w bGF0ZXMvZWxlbWVudF90eXBlX2hlbHBlcnMuY2MudG1wbAoraW5kZXggOWJmYzQ4OWUwNDguLjVm ODYxODRlODc5IDEwMDY0NAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5 L2JsaW5rL3JlbmRlcmVyL2J1aWxkL3NjcmlwdHMvdGVtcGxhdGVzL2VsZW1lbnRfdHlwZV9oZWxw ZXJzLmNjLnRtcGwKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9ibGlu ay9yZW5kZXJlci9idWlsZC9zY3JpcHRzL3RlbXBsYXRlcy9lbGVtZW50X3R5cGVfaGVscGVycy5j Yy50bXBsCitAQCAtMjIsNyArMjIsNyBAQCBIVE1MVHlwZU1hcCBDcmVhdGVIVE1MVHlwZU1hcCgp IHsKKyAgICAgY29uc3QgY2hhciogbmFtZTsKKyAgICAgSFRNTEVsZW1lbnRUeXBlIHR5cGU7Cisg ICB9IGtUYWdzW10gPSB7CistICAgIHslIGZvciB0YWcgaW4gdGFnc3xzb3J0ICV9CisrICAgIHsl IGZvciB0YWcgaW4gdGFnc3xzb3J0KGF0dHJpYnV0ZT0nbmFtZScpICV9CisgICAgIHsgInt7dGFn Lm5hbWV9fSIsIEhUTUxFbGVtZW50VHlwZTo6a3t7dGFnLmpzX2ludGVyZmFjZX19IH0sCisgICAg IHslIGVuZGZvciAlfQorICAgfTsKK0BAIC00Miw3ICs0Miw3IEBAIEhUTUxFbGVtZW50VHlwZSBo dG1sRWxlbWVudFR5cGVGb3JUYWcoY29uc3QgQXRvbWljU3RyaW5nJiB0YWdOYW1lLCBjb25zdCBE b2N1bWVuCisgICBpZiAoaXQgPT0gaHRtbF90eXBlX21hcC5lbmQoKSkKKyAgICAgcmV0dXJuIEhU TUxFbGVtZW50VHlwZTo6a0hUTUxVbmtub3duRWxlbWVudDsKKyAKKy0gIHslIGZvciB0YWcgaW4g dGFnc3xzb3J0ICV9CisrICB7JSBmb3IgdGFnIGluIHRhZ3N8c29ydChhdHRyaWJ1dGU9J25hbWUn KSAlfQorICAgeyUgaWYgdGFnLnJ1bnRpbWVFbmFibGVkICV9CisgICBpZiAodGFnTmFtZSA9PSAi e3t0YWcubmFtZX19IikgeworICAgICBpZiAoIVJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6Ont7dGFn LnJ1bnRpbWVFbmFibGVkfX1FbmFibGVkKGRvY3VtZW50LT5HZXRFeGVjdXRpb25Db250ZXh0KCkp KSB7CitkaWZmIC0tZ2l0IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JsaW5r L3JlbmRlcmVyL2J1aWxkL3NjcmlwdHMvdGVtcGxhdGVzL2VsZW1lbnRfdHlwZV9oZWxwZXJzLmgu dG1wbCBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9i dWlsZC9zY3JpcHRzL3RlbXBsYXRlcy9lbGVtZW50X3R5cGVfaGVscGVycy5oLnRtcGwKK2luZGV4 IDFiNTI5N2Q1MmRjLi5lZGVjYzgxZDlkNCAxMDA2NDQKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9idWlsZC9zY3JpcHRzL3RlbXBsYXRlcy9l bGVtZW50X3R5cGVfaGVscGVycy5oLnRtcGwKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90 aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9idWlsZC9zY3JpcHRzL3RlbXBsYXRlcy9lbGVtZW50 X3R5cGVfaGVscGVycy5oLnRtcGwKK0BAIC0xNSw3ICsxNSw3IEBAIG5hbWVzcGFjZSBibGluayB7 CisgY2xhc3MgRG9jdW1lbnQ7CisgCisgLy8gVHlwZSBjaGVja2luZy4KKy17JSBmb3IgdGFnIGlu IHRhZ3N8c29ydCBpZiBub3QgdGFnLm11bHRpcGxlVGFnTmFtZXMgYW5kIG5vdCB0YWcubm9UeXBl SGVscGVycyAlfQorK3slIGZvciB0YWcgaW4gdGFnc3xzb3J0KGF0dHJpYnV0ZT0nbmFtZScpIGlm IG5vdCB0YWcubXVsdGlwbGVUYWdOYW1lcyBhbmQgbm90IHRhZy5ub1R5cGVIZWxwZXJzICV9Cisg Y2xhc3Mge3t0YWcuaW50ZXJmYWNlfX07CisgdGVtcGxhdGUgPD4KKyBpbmxpbmUgYm9vbCBJc0Vs ZW1lbnRPZlR5cGU8Y29uc3Qge3t0YWcuaW50ZXJmYWNlfX0+KGNvbnN0IE5vZGUmIG5vZGUpIHsK K2RpZmYgLS1naXQgYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYmxpbmsvcmVu ZGVyZXIvYnVpbGQvc2NyaXB0cy90ZW1wbGF0ZXMvbWFjcm9zLnRtcGwgYi9zcmMvM3JkcGFydHkv Y2hyb21pdW0vdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYnVpbGQvc2NyaXB0cy90ZW1wbGF0 ZXMvbWFjcm9zLnRtcGwKK2luZGV4IDAyNDQ0MzNhZjJlLi5kY2RiYjAyYTU2YyAxMDA2NDQKKy0t LSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9idWls ZC9zY3JpcHRzL3RlbXBsYXRlcy9tYWNyb3MudG1wbAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2J1aWxkL3NjcmlwdHMvdGVtcGxhdGVzL21h Y3Jvcy50bXBsCitAQCAtMjUsNyArMjUsNyBAQAorIAorIAorIHslIG1hY3JvIHRyaWVfbGVhZihp bmRleCwgb2JqZWN0LCByZXR1cm5fbWFjcm8sIGxvd2VyY2FzZV9kYXRhKSAlfQorLXslIHNldCBu YW1lLCB2YWx1ZSA9IG9iamVjdC5pdGVtcygpWzBdICV9CisreyUgc2V0IG5hbWUsIHZhbHVlID0g KG9iamVjdC5pdGVtcygpfGxpc3QpWzBdICV9CisgeyUgaWYgbmFtZXxsZW5ndGggJX0KKyBpZiAo CisgICAgIHslLSBmb3IgYyBpbiBuYW1lIC0lfQorQEAgLTQ1LDcgKzQ1LDcgQEAgcmV0dXJuIHt7 IHJldHVybl9tYWNybyh2YWx1ZSkgfX07CisgCisgCisgeyUgbWFjcm8gdHJpZV9zd2l0Y2godHJp ZSwgaW5kZXgsIHJldHVybl9tYWNybywgbG93ZXJjYXNlX2RhdGEpICV9CisteyUgaWYgdHJpZXxs ZW5ndGggPT0gMSBhbmQgdHJpZS52YWx1ZXMoKVswXSBpcyBzdHJpbmcgJX0KKyt7JSBpZiB0cmll fGxlbmd0aCA9PSAxIGFuZCAodHJpZS52YWx1ZXMoKXxsaXN0KVswXSBpcyBzdHJpbmcgJX0KKyB7 eyB0cmllX2xlYWYoaW5kZXgsIHRyaWUsIHJldHVybl9tYWNybywgbG93ZXJjYXNlX2RhdGEpIC19 fQorIHslIGVsc2UgJX0KKyAgICAgeyUgaWYgbG93ZXJjYXNlX2RhdGEgJX0KK2RpZmYgLS1naXQg YS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYnVpbGQv c2NyaXB0cy90ZW1wbGF0ZXMvbWFrZV9xdWFsaWZpZWRfbmFtZXMuaC50bXBsIGIvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2J1aWxkL3NjcmlwdHMvdGVt cGxhdGVzL21ha2VfcXVhbGlmaWVkX25hbWVzLmgudG1wbAoraW5kZXggY2IwNWM2YzQzMTUuLmJk NTU2NmIwM2U3IDEwMDY0NAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5 L2JsaW5rL3JlbmRlcmVyL2J1aWxkL3NjcmlwdHMvdGVtcGxhdGVzL21ha2VfcXVhbGlmaWVkX25h bWVzLmgudG1wbAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JsaW5r L3JlbmRlcmVyL2J1aWxkL3NjcmlwdHMvdGVtcGxhdGVzL21ha2VfcXVhbGlmaWVkX25hbWVzLmgu dG1wbAorQEAgLTI0LDEyICsyNCwxMiBAQCBuYW1lc3BhY2Uge3tjcHBfbmFtZXNwYWNlfX0gewor IHt7c3ltYm9sX2V4cG9ydH19ZXh0ZXJuIGNvbnN0IFdURjo6QXRvbWljU3RyaW5nJiB7e25hbWVz cGFjZV9wcmVmaXh9fU5hbWVzcGFjZVVSSTsKKyAKKyAvLyBUYWdzCisteyUgZm9yIHRhZyBpbiB0 YWdzfHNvcnQgJX0KKyt7JSBmb3IgdGFnIGluIHRhZ3N8c29ydChhdHRyaWJ1dGU9J25hbWUnKSAl fQorIHt7c3ltYm9sX2V4cG9ydH19ZXh0ZXJuIGNvbnN0IGJsaW5rOjp7e25hbWVzcGFjZX19UXVh bGlmaWVkTmFtZSYge3t0YWd8c3ltYm9sfX1UYWc7CisgeyUgZW5kZm9yICV9CisgCisgLy8gQXR0 cmlidXRlcworLXslIGZvciBhdHRyIGluIGF0dHJzfHNvcnQgJX0KKyt7JSBmb3IgYXR0ciBpbiBh dHRyc3xzb3J0KGF0dHJpYnV0ZT0nbmFtZScpICV9Cisge3tzeW1ib2xfZXhwb3J0fX1leHRlcm4g Y29uc3QgYmxpbms6OlF1YWxpZmllZE5hbWUmIHt7YXR0cnxzeW1ib2x9fUF0dHI7CisgeyUgZW5k Zm9yICV9CisgCitkaWZmIC0tZ2l0IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5 L2Rhd24vZ2VuZXJhdG9yL2dlbmVyYXRvcl9saWIucHkgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0v dGhpcmRfcGFydHkvZGF3bi9nZW5lcmF0b3IvZ2VuZXJhdG9yX2xpYi5weQoraW5kZXggNWUzNzM0 ZDc4MzMuLmUzZDQ2YmQxOTRmIDEwMDY0NAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Ro aXJkX3BhcnR5L2Rhd24vZ2VuZXJhdG9yL2dlbmVyYXRvcl9saWIucHkKKysrKyBiL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9kYXduL2dlbmVyYXRvci9nZW5lcmF0b3JfbGliLnB5 CitAQCAtMjAxLDYgKzIwMSwxMCBAQCBkZWYgX2NvbXB1dGVfcHl0aG9uX2RlcGVuZGVuY2llcyhy b290X2Rpcj1Ob25lKToKKworICAgICBwYXRocyA9IHNldCgpCisgICAgIGZvciBwYXRoIGluIG1v ZHVsZV9wYXRoczoKKysgICAgICAgICMgQnVpbHRpbi9uYW1lc3BhY2VkIG1vZHVsZXMgbWF5IHJl dHVybiBOb25lIGZvciB0aGUgZmlsZSBwYXRoLgorKyAgICAgICAgaWYgbm90IHBhdGg6CisrICAg ICAgICAgICAgY29udGludWUKKysKKyAgICAgICAgIHBhdGggPSBvcy5wYXRoLmFic3BhdGgocGF0 aCkKKworICAgICAgICAgaWYgbm90IHBhdGguc3RhcnRzd2l0aChyb290X2Rpcik6CitkaWZmIC0t Z2l0IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2RldnRvb2xzLWZyb250ZW5k L3NyYy9CVUlMRC5nbiBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9kZXZ0b29s cy1mcm9udGVuZC9zcmMvQlVJTEQuZ24KK2luZGV4IGNkNDg4ZTg4YjYwLi5lYTFkYzNkOWE3OSAx MDA2NDQKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9kZXZ0b29scy1m cm9udGVuZC9zcmMvQlVJTEQuZ24KKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9w YXJ0eS9kZXZ0b29scy1mcm9udGVuZC9zcmMvQlVJTEQuZ24KK0BAIC0yLDYgKzIsOCBAQAorICMg VXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5z ZSB0aGF0IGNhbiBiZQorICMgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKyAKKytpbXBvcnQo Ii8vYnVpbGQvY29uZmlnL3B5dGhvbi5nbmkiKQorKworIGltcG9ydCgiLy90aGlyZF9wYXJ0eS9i bGluay9wdWJsaWMvcHVibGljX2ZlYXR1cmVzLmduaSIpCisgaW1wb3J0KCIuL2FsbF9kZXZ0b29s c19maWxlcy5nbmkiKQorIGltcG9ydCgiLi9hbGxfZGV2dG9vbHNfbW9kdWxlcy5nbmkiKQorZGlm ZiAtLWdpdCBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9kZXZ0b29scy1mcm9u dGVuZC9zcmMvc2NyaXB0cy9idWlsZC9idWlsZF9pbnNwZWN0b3Jfb3ZlcmxheS5weSBiL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9kZXZ0b29scy1mcm9udGVuZC9zcmMvc2NyaXB0 cy9idWlsZC9idWlsZF9pbnNwZWN0b3Jfb3ZlcmxheS5weQoraW5kZXggZDY2NjZlOGI3NGYuLjBm N2E2NjFlNjMyIDEwMDY0NAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5 L2RldnRvb2xzLWZyb250ZW5kL3NyYy9zY3JpcHRzL2J1aWxkL2J1aWxkX2luc3BlY3Rvcl9vdmVy bGF5LnB5CisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvZGV2dG9vbHMt ZnJvbnRlbmQvc3JjL3NjcmlwdHMvYnVpbGQvYnVpbGRfaW5zcGVjdG9yX292ZXJsYXkucHkKK0BA IC00NSw3ICs0NSw4IEBAIGRlZiByb2xsdXAoaW5wdXRfcGF0aCwgb3V0cHV0X3BhdGgsIGZpbGVu YW1lLCBtYXhfc2l6ZSwgcm9sbHVwX3BsdWdpbik6CisgICAgICAgICBbJy0tZm9ybWF0JywgJ2lp ZmUnLCAnLW4nLCAnSW5zcGVjdG9yT3ZlcmxheSddICsgWyctLWlucHV0JywgdGFyZ2V0XSArCisg ICAgICAgICBbJy0tcGx1Z2luJywgcm9sbHVwX3BsdWdpbl0sCisgICAgICAgICBzdGRvdXQ9c3Vi cHJvY2Vzcy5QSVBFLAorLSAgICAgICAgc3RkZXJyPXN1YnByb2Nlc3MuUElQRSkKKysgICAgICAg IHN0ZGVycj1zdWJwcm9jZXNzLlBJUEUsCisrICAgICAgICB0ZXh0PVRydWUpCisgICAgIG91dCwg ZXJyb3IgPSByb2xsdXBfcHJvY2Vzcy5jb21tdW5pY2F0ZSgpCisgICAgIGlmIG5vdCBvdXQ6Cisg ICAgICAgICByYWlzZSBFeGNlcHRpb24oInJvbGx1cCBmYWlsZWQ6ICIgKyBlcnJvcikKK2RpZmYg LS1naXQgYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvZGV2dG9vbHMtZnJvbnRl bmQvc3JjL3NjcmlwdHMvYnVpbGQvYnVpbGRfcmVsZWFzZV9hcHBsaWNhdGlvbnMucHkgYi9zcmMv M3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvZGV2dG9vbHMtZnJvbnRlbmQvc3JjL3Njcmlw dHMvYnVpbGQvYnVpbGRfcmVsZWFzZV9hcHBsaWNhdGlvbnMucHkKK2luZGV4IGZhOGU3M2QzNGFm Li43ZDBiODRiMjE3MSAxMDA2NDQKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9w YXJ0eS9kZXZ0b29scy1mcm9udGVuZC9zcmMvc2NyaXB0cy9idWlsZC9idWlsZF9yZWxlYXNlX2Fw cGxpY2F0aW9ucy5weQorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2Rl dnRvb2xzLWZyb250ZW5kL3NyYy9zY3JpcHRzL2J1aWxkL2J1aWxkX3JlbGVhc2VfYXBwbGljYXRp b25zLnB5CitAQCAtMTAsNyArMTAsNyBAQCBCdWlsZHMgYXBwbGljYXRpb25zIGluIHJlbGVhc2Ug bW9kZToKKyBhbmTCoHRoZcKgYXBwbGljYXRpb27CoGxvYWRlcsKgaW50b8KgYcKgc2luZ2xlwqBz Y3JpcHQuCisgIiIiCisgCistZnJvbSBjU3RyaW5nSU8gaW1wb3J0IFN0cmluZ0lPCisrZnJvbSBp byBpbXBvcnQgU3RyaW5nSU8KKyBmcm9tIG9zIGltcG9ydCBwYXRoCisgZnJvbSBvcy5wYXRoIGlt cG9ydCBqb2luCisgaW1wb3J0IGNvcHkKK0BAIC0xNDUsOCArMTQ1LDcgQEAgY2xhc3MgUmVsZWFz ZUJ1aWxkZXIob2JqZWN0KToKKyAgICAgICAgICAgICByZXNvdXJjZV9jb250ZW50ID0gcmVhZF9m aWxlKHBhdGguam9pbihzZWxmLmFwcGxpY2F0aW9uX2RpciwgcmVzb3VyY2VfbmFtZSkpCisgICAg ICAgICAgICAgaWYgbm90IChyZXNvdXJjZV9uYW1lLmVuZHN3aXRoKCcuaHRtbCcpCisgICAgICAg ICAgICAgICAgICAgICBvciByZXNvdXJjZV9uYW1lLmVuZHN3aXRoKCdtZCcpKToKKy0gICAgICAg ICAgICAgICAgcmVzb3VyY2VfY29udGVudCArPSByZXNvdXJjZV9zb3VyY2VfdXJsKHJlc291cmNl X25hbWUpLmVuY29kZSgKKy0gICAgICAgICAgICAgICAgICAgICd1dGYtOCcpCisrICAgICAgICAg ICAgICAgIHJlc291cmNlX2NvbnRlbnQgKz0gcmVzb3VyY2Vfc291cmNlX3VybChyZXNvdXJjZV9u YW1lKQorICAgICAgICAgICAgIHJlc291cmNlX2NvbnRlbnQgPSByZXNvdXJjZV9jb250ZW50LnJl cGxhY2UoJ1xcJywgJ1xcXFwnKQorICAgICAgICAgICAgIHJlc291cmNlX2NvbnRlbnQgPSByZXNv dXJjZV9jb250ZW50LnJlcGxhY2UoJ1xuJywgJ1xcbicpCisgICAgICAgICAgICAgcmVzb3VyY2Vf Y29udGVudCA9IHJlc291cmNlX2NvbnRlbnQucmVwbGFjZSgnIicsICdcXCInKQorQEAgLTE3Myw3 ICsxNzIsOSBAQCBjbGFzcyBSZWxlYXNlQnVpbGRlcihvYmplY3QpOgorICAgICBkZWYgX2NvbmNh dGVuYXRlX2FwcGxpY2F0aW9uX3NjcmlwdChzZWxmLCBvdXRwdXQpOgorICAgICAgICAgb3V0cHV0 LndyaXRlKCdSb290LmFsbERlc2NyaXB0b3JzLnB1c2goLi4uJXMpOycgJSBzZWxmLl9yZWxlYXNl X21vZHVsZV9kZXNjcmlwdG9ycygpKQorICAgICAgICAgaWYgc2VsZi5kZXNjcmlwdG9ycy5leHRl bmRzOgorLSAgICAgICAgICAgIG91dHB1dC53cml0ZSgnUm9vdC5hcHBsaWNhdGlvbkRlc2NyaXB0 b3IubW9kdWxlcy5wdXNoKC4uLiVzKTsnICUganNvbi5kdW1wcyhzZWxmLmRlc2NyaXB0b3JzLmFw cGxpY2F0aW9uLnZhbHVlcygpKSkKKysgICAgICAgICAgICBvdXRwdXQud3JpdGUoCisrICAgICAg ICAgICAgICAgICdSb290LmFwcGxpY2F0aW9uRGVzY3JpcHRvci5tb2R1bGVzLnB1c2goLi4uJXMp OycgJQorKyAgICAgICAgICAgICAgICBqc29uLmR1bXBzKGxpc3Qoc2VsZi5kZXNjcmlwdG9ycy5h cHBsaWNhdGlvbi52YWx1ZXMoKSkpKQorICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICBvdXRw dXQud3JpdGUoJ1Jvb3QuYXBwbGljYXRpb25EZXNjcmlwdG9yID0gJXM7JyAlIHNlbGYuZGVzY3Jp cHRvcnMuYXBwbGljYXRpb25fanNvbigpKQorIAorZGlmZiAtLWdpdCBhL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS90aGlyZF9wYXJ0eS9kZXZ0b29scy1mcm9udGVuZC9zcmMvc2NyaXB0cy9idWlsZC9n ZW5lcmF0ZV9kZXZ0b29sc19ncmQucHkgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFy dHkvZGV2dG9vbHMtZnJvbnRlbmQvc3JjL3NjcmlwdHMvYnVpbGQvZ2VuZXJhdGVfZGV2dG9vbHNf Z3JkLnB5CitpbmRleCBiZTUxMGM0OGQ3Ni4uYzZhNTljOTAyOTggMTAwNjQ0CistLS0gYS9zcmMv M3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvZGV2dG9vbHMtZnJvbnRlbmQvc3JjL3Njcmlw dHMvYnVpbGQvZ2VuZXJhdGVfZGV2dG9vbHNfZ3JkLnB5CisrKysgYi9zcmMvM3JkcGFydHkvY2hy b21pdW0vdGhpcmRfcGFydHkvZGV2dG9vbHMtZnJvbnRlbmQvc3JjL3NjcmlwdHMvYnVpbGQvZ2Vu ZXJhdGVfZGV2dG9vbHNfZ3JkLnB5CitAQCAtMTIzLDcgKzEyMyw3IEBAIGRlZiBtYWluKGFyZ3Yp OgorIAorICAgICB0cnk6CisgICAgICAgICBvcy5tYWtlZGlycyhwYXRoLmpvaW4ob3V0cHV0X2Rp cmVjdG9yeSwgJ0ltYWdlcycpKQorLSAgICBleGNlcHQgT1NFcnJvciwgZToKKysgICAgZXhjZXB0 IE9TRXJyb3IgYXMgZToKKyAgICAgICAgIGlmIGUuZXJybm8gIT0gZXJybm8uRUVYSVNUOgorICAg ICAgICAgICAgIHJhaXNlIGUKKyAKK0BAIC0xNDcsNyArMTQ3LDcgQEAgZGVmIG1haW4oYXJndik6 CisgICAgICAgICAgICAgc2h1dGlsLmNvcHkocGF0aC5qb2luKGRpcm5hbWUsIGZpbGVuYW1lKSwg cGF0aC5qb2luKG91dHB1dF9kaXJlY3RvcnksICdJbWFnZXMnKSkKKyAgICAgICAgICAgICBhZGRf ZmlsZV90b19ncmQoZG9jLCBwYXRoLmpvaW4oJ0ltYWdlcycsIGZpbGVuYW1lKSkKKyAKKy0gICAg d2l0aCBvcGVuKHBhcnNlZF9hcmdzLm91dHB1dF9maWxlbmFtZSwgJ3cnKSBhcyBvdXRwdXRfZmls ZToKKysgICAgd2l0aCBvcGVuKHBhcnNlZF9hcmdzLm91dHB1dF9maWxlbmFtZSwgJ3diJykgYXMg b3V0cHV0X2ZpbGU6CisgICAgICAgICBvdXRwdXRfZmlsZS53cml0ZShkb2MudG94bWwoZW5jb2Rp bmc9J1VURi04JykpCisgCisgCitkaWZmIC0tZ2l0IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Ro aXJkX3BhcnR5L2RldnRvb2xzLWZyb250ZW5kL3NyYy9zY3JpcHRzL2J1aWxkL21vZHVsYXJfYnVp bGQucHkgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvZGV2dG9vbHMtZnJvbnRl bmQvc3JjL3NjcmlwdHMvYnVpbGQvbW9kdWxhcl9idWlsZC5weQoraW5kZXggMGJhNjk1ZDM4MTAu LmJiMWRhMmY5ZjhkIDEwMDY0NAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3Bh cnR5L2RldnRvb2xzLWZyb250ZW5kL3NyYy9zY3JpcHRzL2J1aWxkL21vZHVsYXJfYnVpbGQucHkK KysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9kZXZ0b29scy1mcm9udGVu ZC9zcmMvc2NyaXB0cy9idWlsZC9tb2R1bGFyX2J1aWxkLnB5CitAQCAtNyw2ICs3LDggQEAKKyBV dGlsaXRpZXMgZm9yIHRoZSBtb2R1bGFyIERldlRvb2xzIGJ1aWxkLgorICIiIgorIAorK2Zyb20g X19mdXR1cmVfXyBpbXBvcnQgcHJpbnRfZnVuY3Rpb24KKysKKyBpbXBvcnQgY29sbGVjdGlvbnMK KyBmcm9tIG9zIGltcG9ydCBwYXRoCisgaW1wb3J0IG9zCitAQCAtNDAsNyArNDIsNyBAQCBkZWYg bG9hZF9hbmRfcGFyc2VfanNvbihmaWxlbmFtZSk6CisgICAgIHRyeToKKyAgICAgICAgIHJldHVy biBqc29uLmxvYWRzKHJlYWRfZmlsZShmaWxlbmFtZSkpCisgICAgIGV4Y2VwdDoKKy0gICAgICAg IHByaW50ICdFUlJPUjogRmFpbGVkIHRvIHBhcnNlICVzJyAlIGZpbGVuYW1lCisrICAgICAgICBw cmludCgnRVJST1I6IEZhaWxlZCB0byBwYXJzZSAlcycgJSBmaWxlbmFtZSkKKyAgICAgICAgIHJh aXNlCisgCisgY2xhc3MgRGVzY3JpcHRvcnM6CitAQCAtNTcsNyArNTksNyBAQCBjbGFzcyBEZXNj cmlwdG9yczoKKyAKKyAgICAgZGVmIGFwcGxpY2F0aW9uX2pzb24oc2VsZik6CisgICAgICAgICBy ZXN1bHQgPSBkaWN0KCkKKy0gICAgICAgIHJlc3VsdFsnbW9kdWxlcyddID0gc2VsZi5hcHBsaWNh dGlvbi52YWx1ZXMoKQorKyAgICAgICAgcmVzdWx0Wydtb2R1bGVzJ10gPSBsaXN0KHNlbGYuYXBw bGljYXRpb24udmFsdWVzKCkpCisgICAgICAgICByZXR1cm4ganNvbi5kdW1wcyhyZXN1bHQpCisg CisgICAgIGRlZiBhbGxfY29tcGlsZWRfZmlsZXMoc2VsZik6CitkaWZmIC0tZ2l0IGEvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2ppbmphMi90ZXN0cy5weSBiL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9qaW5qYTIvdGVzdHMucHkKK2luZGV4IDBhZGMzZDRkYmNi Li5iMTRmODVmZjE0OCAxMDA2NDQKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9w YXJ0eS9qaW5qYTIvdGVzdHMucHkKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9w YXJ0eS9qaW5qYTIvdGVzdHMucHkKK0BAIC0xMCw3ICsxMCw3IEBACisgIiIiCisgaW1wb3J0IG9w ZXJhdG9yCisgaW1wb3J0IHJlCistZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgTWFwcGluZworK2Zy b20gY29sbGVjdGlvbnMuYWJjIGltcG9ydCBNYXBwaW5nCisgZnJvbSBqaW5qYTIucnVudGltZSBp bXBvcnQgVW5kZWZpbmVkCisgZnJvbSBqaW5qYTIuX2NvbXBhdCBpbXBvcnQgdGV4dF90eXBlLCBz dHJpbmdfdHlwZXMsIGludGVnZXJfdHlwZXMKKyBpbXBvcnQgZGVjaW1hbAorZGlmZiAtLWdpdCBh L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90b29scy9tZXRyaWNzL3VrbS9nZW5fYnVpbGRlcnMucHkg Yi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdG9vbHMvbWV0cmljcy91a20vZ2VuX2J1aWxkZXJzLnB5 CitpbmRleCBmOWY2MWQ5MGE1Ni4uNDRlNDZmYWU4Y2MgMTAwNzU1CistLS0gYS9zcmMvM3JkcGFy dHkvY2hyb21pdW0vdG9vbHMvbWV0cmljcy91a20vZ2VuX2J1aWxkZXJzLnB5CisrKysgYi9zcmMv M3JkcGFydHkvY2hyb21pdW0vdG9vbHMvbWV0cmljcy91a20vZ2VuX2J1aWxkZXJzLnB5CitAQCAt NDgsOSArNDgsMTAgQEAgZGVmIFJlYWRGaWx0ZXJlZERhdGEocGF0aCk6CisgICAgIGRhdGEgPSB1 a21fbW9kZWwuVUtNX1hNTF9UWVBFLlBhcnNlKHVrbV9maWxlLnJlYWQoKSkKKyAgICAgZXZlbnRf dGFnID0gdWttX21vZGVsLl9FVkVOVF9UWVBFLnRhZworICAgICBtZXRyaWNfdGFnID0gdWttX21v ZGVsLl9NRVRSSUNfVFlQRS50YWcKKy0gICAgZGF0YVtldmVudF90YWddID0gZmlsdGVyKHVrbV9t b2RlbC5Jc05vdE9ic29sZXRlLCBkYXRhW2V2ZW50X3RhZ10pCisrICAgIGRhdGFbZXZlbnRfdGFn XSA9IGxpc3QoZmlsdGVyKHVrbV9tb2RlbC5Jc05vdE9ic29sZXRlLCBkYXRhW2V2ZW50X3RhZ10p KQorICAgICBmb3IgZXZlbnQgaW4gZGF0YVtldmVudF90YWddOgorLSAgICAgIGV2ZW50W21ldHJp Y190YWddID0gZmlsdGVyKHVrbV9tb2RlbC5Jc05vdE9ic29sZXRlLCBldmVudFttZXRyaWNfdGFn XSkKKysgICAgICBldmVudFttZXRyaWNfdGFnXSA9IGxpc3QoCisrICAgICAgICAgIGZpbHRlcih1 a21fbW9kZWwuSXNOb3RPYnNvbGV0ZSwgZXZlbnRbbWV0cmljX3RhZ10pKQorICAgICByZXR1cm4g ZGF0YQorIAorIAorZGlmZiAtLWdpdCBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS91aS9vem9uZS9n ZW5lcmF0ZV9jb25zdHJ1Y3Rvcl9saXN0LnB5IGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3VpL296 b25lL2dlbmVyYXRlX2NvbnN0cnVjdG9yX2xpc3QucHkKK2luZGV4IDhkODAwNjM2Yzk3Li4wNGZh MThlOTNkZiAxMDA3NTUKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS91aS9vem9uZS9nZW5l cmF0ZV9jb25zdHJ1Y3Rvcl9saXN0LnB5CisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdWkv b3pvbmUvZ2VuZXJhdGVfY29uc3RydWN0b3JfbGlzdC5weQorQEAgLTQ1LDEyICs0NSwxNSBAQCBF eGFtcGxlIE91dHB1dDogLi91aS9vem9uZS9nZW5lcmF0ZV9jb25zdHJ1Y3Rvcl9saXN0LnB5IFwK KyAgIH0gIC8vIG5hbWVzcGFjZSB1aQorICIiIgorIAorK3RyeToKKysgICAgZnJvbSBTdHJpbmdJ TyBpbXBvcnQgU3RyaW5nSU8gICMgZm9yIFB5dGhvbiAyCisrZXhjZXB0IEltcG9ydEVycm9yOgor KyAgICBmcm9tIGlvIGltcG9ydCBTdHJpbmdJTyAgIyBmb3IgUHl0aG9uIDMKKyBpbXBvcnQgb3B0 cGFyc2UKKyBpbXBvcnQgb3MKKyBpbXBvcnQgY29sbGVjdGlvbnMKKyBpbXBvcnQgcmUKKyBpbXBv cnQgc3lzCistaW1wb3J0IHN0cmluZworIAorIAorIGRlZiBHZXRUeXBlZGVmTmFtZSh0eXBlbmFt ZSk6CitAQCAtNjgsNyArNzEsNyBAQCBkZWYgR2V0Q29uc3RydWN0b3JOYW1lKHR5cGVuYW1lLCBw bGF0Zm9ybSk6CisgICBUaGlzIGlzIGp1c3QgIkNyZWF0ZSIgKyB0eXBlbmFtZSArIHBsYXRmb3Jt LgorICAgIiIiCisgCistICByZXR1cm4gJ0NyZWF0ZScgKyB0eXBlbmFtZSArIHN0cmluZy5jYXBp dGFsaXplKHBsYXRmb3JtKQorKyAgcmV0dXJuICdDcmVhdGUnICsgdHlwZW5hbWUgKyBwbGF0Zm9y bS5jYXBpdGFsaXplKCkKKyAKKyAKKyBkZWYgR2VuZXJhdGVDb25zdHJ1Y3Rvckxpc3Qob3V0LCBu YW1lc3BhY2UsIGV4cG9ydCwgdHlwZW5hbWVzLCBwbGF0Zm9ybXMsCitAQCAtMTYzLDEyICsxNjYs MTQgQEAgZGVmIG1haW4oYXJndik6CisgICAgIHN5cy5leGl0KDEpCisgCisgICAjIFdyaXRlIHRv IHN0YW5kYXJkIG91dHB1dCBvciBmaWxlIHNwZWNpZmllZCBieSAtLW91dHB1dF9jYy4KKy0gIG91 dF9jYyA9IHN5cy5zdGRvdXQKKysgIG91dF9jYyA9IGdldGF0dHIoc3lzLnN0ZG91dCwgJ2J1ZmZl cicsIHN5cy5zdGRvdXQpCisgICBpZiBvcHRpb25zLm91dHB1dF9jYzoKKyAgICAgb3V0X2NjID0g b3BlbihvcHRpb25zLm91dHB1dF9jYywgJ3diJykKKyAKKy0gIEdlbmVyYXRlQ29uc3RydWN0b3JM aXN0KG91dF9jYywgb3B0aW9ucy5uYW1lc3BhY2UsIG9wdGlvbnMuZXhwb3J0LAorKyAgb3V0X2Nj X3N0ciA9IFN0cmluZ0lPKCkKKysgIEdlbmVyYXRlQ29uc3RydWN0b3JMaXN0KG91dF9jY19zdHIs IG9wdGlvbnMubmFtZXNwYWNlLCBvcHRpb25zLmV4cG9ydCwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgIHR5cGVuYW1lcywgcGxhdGZvcm1zLCBpbmNsdWRlcywgdXNpbmdzKQorKyAgb3V0X2Nj LndyaXRlKG91dF9jY19zdHIuZ2V0dmFsdWUoKS5lbmNvZGUoJ3V0Zi04JykpCisgCisgICBpZiBv cHRpb25zLm91dHB1dF9jYzoKKyAgICAgb3V0X2NjLmNsb3NlKCkKK2RpZmYgLS1naXQgYS9zcmMv M3JkcGFydHkvY2hyb21pdW0vdWkvb3pvbmUvZ2VuZXJhdGVfb3pvbmVfcGxhdGZvcm1fbGlzdC5w eSBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS91aS9vem9uZS9nZW5lcmF0ZV9vem9uZV9wbGF0Zm9y bV9saXN0LnB5CitpbmRleCBkNDdjMzk4MjU5Yi4uMjcwMmI2OGI5YmQgMTAwNzU1CistLS0gYS9z cmMvM3JkcGFydHkvY2hyb21pdW0vdWkvb3pvbmUvZ2VuZXJhdGVfb3pvbmVfcGxhdGZvcm1fbGlz dC5weQorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3VpL296b25lL2dlbmVyYXRlX296b25l X3BsYXRmb3JtX2xpc3QucHkKK0BAIC00OSwxMiArNDksMTUgQEAgRXhhbXBsZSBPdXRwdXQ6IC4v Z2VuZXJhdGVfb3pvbmVfcGxhdGZvcm1fbGlzdC5weSAtLWRlZmF1bHQgd2F5bGFuZCBkcmkgd2F5 bGFuZAorIAorICIiIgorIAorK3RyeToKKysgICAgZnJvbSBTdHJpbmdJTyBpbXBvcnQgU3RyaW5n SU8gICMgZm9yIFB5dGhvbiAyCisrZXhjZXB0IEltcG9ydEVycm9yOgorKyAgICBmcm9tIGlvIGlt cG9ydCBTdHJpbmdJTyAgIyBmb3IgUHl0aG9uIDMKKyBpbXBvcnQgb3B0cGFyc2UKKyBpbXBvcnQg b3MKKyBpbXBvcnQgY29sbGVjdGlvbnMKKyBpbXBvcnQgcmUKKyBpbXBvcnQgc3lzCistaW1wb3J0 IHN0cmluZworIAorIAorIGRlZiBHZXRDb25zdGFudE5hbWUobmFtZSk6CitAQCAtNjMsNyArNjYs NyBAQCBkZWYgR2V0Q29uc3RhbnROYW1lKG5hbWUpOgorICAgV2UganVzdCBjYXBpdGFsaXplIHRo ZSBwbGF0Zm9ybSBuYW1lIGFuZCBwcmVwZW5kICJDcmVhdGVPem9uZVBsYXRmb3JtIi4KKyAgICIi IgorIAorLSAgcmV0dXJuICdrUGxhdGZvcm0nICsgc3RyaW5nLmNhcGl0YWxpemUobmFtZSkKKysg IHJldHVybiAna1BsYXRmb3JtJyArIG5hbWUuY2FwaXRhbGl6ZSgpCisgCisgCisgZGVmIEdlbmVy YXRlUGxhdGZvcm1MaXN0VGV4dChvdXQsIHBsYXRmb3Jtcyk6CitAQCAtMTQ5LDkgKzE1Miw5IEBA IGRlZiBtYWluKGFyZ3YpOgorICAgICBwbGF0Zm9ybXMuaW5zZXJ0KDAsIG9wdGlvbnMuZGVmYXVs dCkKKyAKKyAgICMgV3JpdGUgdG8gc3RhbmRhcmQgb3V0cHV0IG9yIGZpbGUgc3BlY2lmaWVkIGJ5 IC0tb3V0cHV0X3tjYyxofS4KKy0gIG91dF9jYyA9IHN5cy5zdGRvdXQKKy0gIG91dF9oID0gc3lz LnN0ZG91dAorLSAgb3V0X3R4dCA9IHN5cy5zdGRvdXQKKysgIG91dF9jYyA9IGdldGF0dHIoc3lz LnN0ZG91dCwgJ2J1ZmZlcicsIHN5cy5zdGRvdXQpCisrICBvdXRfaCA9IGdldGF0dHIoc3lzLnN0 ZG91dCwgJ2J1ZmZlcicsIHN5cy5zdGRvdXQpCisrICBvdXRfdHh0ID0gZ2V0YXR0cihzeXMuc3Rk b3V0LCAnYnVmZmVyJywgc3lzLnN0ZG91dCkKKyAgIGlmIG9wdGlvbnMub3V0cHV0X2NjOgorICAg ICBvdXRfY2MgPSBvcGVuKG9wdGlvbnMub3V0cHV0X2NjLCAnd2InKQorICAgaWYgb3B0aW9ucy5v dXRwdXRfaDoKK0BAIC0xNTksOSArMTYyLDE2IEBAIGRlZiBtYWluKGFyZ3YpOgorICAgaWYgb3B0 aW9ucy5vdXRwdXRfdHh0OgorICAgICBvdXRfdHh0ID0gb3BlbihvcHRpb25zLm91dHB1dF90eHQs ICd3YicpCisgCistICBHZW5lcmF0ZVBsYXRmb3JtTGlzdFRleHQob3V0X3R4dCwgcGxhdGZvcm1z KQorLSAgR2VuZXJhdGVQbGF0Zm9ybUxpc3RIZWFkZXIob3V0X2gsIHBsYXRmb3JtcykKKy0gIEdl bmVyYXRlUGxhdGZvcm1MaXN0U291cmNlKG91dF9jYywgcGxhdGZvcm1zKQorKyAgb3V0X3R4dF9z dHIgPSBTdHJpbmdJTygpCisrICBvdXRfaF9zdHIgPSBTdHJpbmdJTygpCisrICBvdXRfY2Nfc3Ry ID0gU3RyaW5nSU8oKQorKworKyAgR2VuZXJhdGVQbGF0Zm9ybUxpc3RUZXh0KG91dF90eHRfc3Ry LCBwbGF0Zm9ybXMpCisrICBvdXRfdHh0LndyaXRlKG91dF90eHRfc3RyLmdldHZhbHVlKCkuZW5j b2RlKCd1dGYtOCcpKQorKyAgR2VuZXJhdGVQbGF0Zm9ybUxpc3RIZWFkZXIob3V0X2hfc3RyLCBw bGF0Zm9ybXMpCisrICBvdXRfaC53cml0ZShvdXRfaF9zdHIuZ2V0dmFsdWUoKS5lbmNvZGUoJ3V0 Zi04JykpCisrICBHZW5lcmF0ZVBsYXRmb3JtTGlzdFNvdXJjZShvdXRfY2Nfc3RyLCBwbGF0Zm9y bXMpCisrICBvdXRfY2Mud3JpdGUob3V0X2NjX3N0ci5nZXR2YWx1ZSgpLmVuY29kZSgndXRmLTgn KSkKKyAKKyAgIGlmIG9wdGlvbnMub3V0cHV0X2NjOgorICAgICBvdXRfY2MuY2xvc2UoKQorZGlm ZiAtLWdpdCBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90b29scy9tZXRyaWNzL3VrbS91a21fbW9k ZWwucHkgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdG9vbHMvbWV0cmljcy91a20vdWttX21vZGVs LnB5CitpbmRleCBlYzI0ZGQ1NzM2MC4uNTdkZWNhYjNjY2MgMTAwNjQ0CistLS0gYS9zcmMvM3Jk cGFydHkvY2hyb21pdW0vdG9vbHMvbWV0cmljcy91a20vdWttX21vZGVsLnB5CisrKysgYi9zcmMv M3JkcGFydHkvY2hyb21pdW0vdG9vbHMvbWV0cmljcy91a20vdWttX21vZGVsLnB5CitAQCAtNDIs NyArNDIsNyBAQCBfSU5ERVhfVFlQRSA9IG1vZGVscy5PYmplY3ROb2RlVHlwZSgKKyBfU1RBVElT VElDU19UWVBFID0gIG1vZGVscy5PYmplY3ROb2RlVHlwZSgKKyAgICAgJ3N0YXRpc3RpY3MnLAor ICAgICBhdHRyaWJ1dGVzPVsKKy0gICAgICAoJ2V4cG9ydCcsIHN0ciwgcideKD9pKSh8dHJ1ZXxm YWxzZSkkJyksCisrICAgICAgKCdleHBvcnQnLCBzdHIsIHInKD9pKV4ofHRydWV8ZmFsc2UpJCcp LAorICAgICBdLAorICAgICBjaGlsZHJlbj1bCisgICAgICAgICBtb2RlbHMuQ2hpbGRUeXBlKF9R VUFOVElMRVNfVFlQRS50YWcsIF9RVUFOVElMRVNfVFlQRSwgbXVsdGlwbGU9RmFsc2UpLAorQEAg LTk0LDcgKzk0LDcgQEAgX0VWRU5UX1RZUEUgPSAgbW9kZWxzLk9iamVjdE5vZGVUeXBlKAorICAg ICAnZXZlbnQnLAorICAgICBhdHRyaWJ1dGVzPVsKKyAgICAgICAoJ25hbWUnLCBzdHIsIHInXltB LVphLXowLTkuXSskJyksCistICAgICAgKCdzaW5ndWxhcicsIHN0ciwgcideKD9pKSh8dHJ1ZXxm YWxzZSkkJyksCisrICAgICAgKCdzaW5ndWxhcicsIHN0ciwgcicoP2kpXih8dHJ1ZXxmYWxzZSkk JyksCisgICAgIF0sCisgICAgIGFscGhhYmV0aXphdGlvbj1bCisgICAgICAgICAoX09CU09MRVRF X1RZUEUudGFnLCBfS0VFUF9PUkRFUiksCitkaWZmIC0tZ2l0IGEvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL3Rvb2xzL2dyaXQvZ3JpdC91dGlsLnB5IGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Rvb2xz L2dyaXQvZ3JpdC91dGlsLnB5CitpbmRleCA1MjhkNzY2YWQ2Yi4uNmU4Y2RiMGViZmEgMTAwNjQ0 CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdG9vbHMvZ3JpdC9ncml0L3V0aWwucHkKKysr KyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90b29scy9ncml0L2dyaXQvdXRpbC5weQorQEAgLTIx MSw3ICsyMTEsNyBAQCBkZWYgUmVhZEZpbGUoZmlsZW5hbWUsIGVuY29kaW5nKToKKyAgICAgbW9k ZSA9ICdyYicKKyAgICAgZW5jb2RpbmcgPSBOb25lCisgICBlbHNlOgorLSAgICBtb2RlID0gJ3JV JworKyAgICBtb2RlID0gJ3InCisgCisgICB3aXRoIGlvLm9wZW4oYWJzKGZpbGVuYW1lKSwgbW9k ZSwgZW5jb2Rpbmc9ZW5jb2RpbmcpIGFzIGY6CisgICAgIHJldHVybiBmLnJlYWQoKQorRnJvbSBi MDU4MWM2MjYyNWU1N2E2M2U1NjM2OWY3ZWIyNGExNDE2ODdjYzdhIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQorRnJvbTogSmltaSBIdW90YXJpIDxjaGlpdG9vQGdlbnRvby5vcmc+CitEYXRlOiBX ZWQsIDYgQXByIDIwMjIgMTQ6MzU6MTQgKzAzMDAKK1N1YmplY3Q6IFtQQVRDSF0gUmVtb3ZlIGRl cGVuZGVuY3kgb24gY2F0YXB1bHQKKworU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBTdHVybWxlY2hu ZXIgPGFzdHVybUBnZW50b28ub3JnPgorLS0tCisgY2hyb21pdW0vQlVJTEQuZ24gICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgMTEgLS0tLQorIGNocm9taXVtL2Nocm9tZS9jaHJvbWVfcGFr cy5nbmkgICAgICAgICAgICAgICB8ICAyIC0KKyBjaHJvbWl1bS9jaHJvbWUvdGVzdC9CVUlMRC5n biAgICAgICAgICAgICAgICAgfCAgNiAtLS0KKyBjaHJvbWl1bS9jb250ZW50L2Jyb3dzZXIvQlVJ TEQuZ24gICAgICAgICAgICAgfCAgMSAtCisgY2hyb21pdW0vY29udGVudC9icm93c2VyL3RyYWNp bmcvQlVJTEQuZ24gICAgIHwgNTEgLS0tLS0tLS0tLS0tLS0tLS0tLQorIC4uLi9jb250ZW50L2Jy b3dzZXIvdHJhY2luZy90cmFjaW5nX3VpLmNjICAgICB8ICAzIC0tCisgY2hyb21pdW0vY29udGVu dC9zaGVsbC9CVUlMRC5nbiAgICAgICAgICAgICAgIHwgIDIgLQorIGNocm9taXVtL2Z1Y2hzaWEv ZW5naW5lL0JVSUxELmduICAgICAgICAgICAgICB8ICAyIC0KKyBjaHJvbWl1bS9oZWFkbGVzcy9C VUlMRC5nbiAgICAgICAgICAgICAgICAgICAgfCAgMiAtCisgY2hyb21pdW0vbW9qby9wdWJsaWMv dG9vbHMvQlVJTEQuZ24gICAgICAgICAgIHwgIDEgLQorIGNocm9taXVtL3Rlc3RpbmcvQlVJTEQu Z24gICAgICAgICAgICAgICAgICAgICB8ICAxIC0KKyBjaHJvbWl1bS90aGlyZF9wYXJ0eS93ZWJy dGMvdGVzdC9CVUlMRC5nbiAgICAgfCAgNSAtLQorIGNocm9taXVtL3Rvb2xzL2JpbmFyeV9zaXpl L0JVSUxELmduICAgICAgICAgICB8ICAxIC0KKyBjaHJvbWl1bS90b29scy9ncml0L0JVSUxELmdu ICAgICAgICAgICAgICAgICAgfCAgMSAtCisgY2hyb21pdW0vdG9vbHMvZ3JpdHNldHRpbmdzL3Jl c291cmNlX2lkcy5zcGVjIHwgIDYgLS0tCisgY2hyb21pdW0vdG9vbHMvbWV0cmljcy9CVUlMRC5n biAgICAgICAgICAgICAgIHwgIDEgLQorIC4uLi9wZXJmL2Nocm9tZV90ZWxlbWV0cnlfYnVpbGQv QlVJTEQuZ24gICAgICB8ICAzIC0tCisgLi4uL3BlcmYvY29yZS9wZXJmZXR0b19iaW5hcnlfcm9s bGVyL0JVSUxELmduIHwgIDEgLQorIGNocm9taXVtL3Rvb2xzL3BvbHltZXIvQlVJTEQuZ24gICAg ICAgICAgICAgICB8ICAxIC0KKyBjaHJvbWl1bS92OC90b29scy9CVUlMRC5nbiAgICAgICAgICAg ICAgICAgICAgfCAgNCAtLQorIGNocm9taXVtL3dlYmxheWVyL3NoZWxsL0JVSUxELmduICAgICAg ICAgICAgICB8ICAyIC0KKyAyMSBmaWxlcyBjaGFuZ2VkLCAxMDcgZGVsZXRpb25zKC0pCisgZGVs ZXRlIG1vZGUgMTAwNjQ0IGNocm9taXVtL2NvbnRlbnQvYnJvd3Nlci90cmFjaW5nL0JVSUxELmdu CisKK2RpZmYgLS1naXQgYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vQlVJTEQuZ24gYi9zcmMvM3Jk cGFydHkvY2hyb21pdW0vQlVJTEQuZ24KK2luZGV4IDhkOTY1N2Q1NDVjLi41OWU5NDQ3ZjQ1NiAx MDA2NDQKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9CVUlMRC5nbgorKysrIGIvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL0JVSUxELmduCitAQCAtMjM5LDcgKzIzOSw2IEBAIGdyb3VwKCJnbl9h bGwiKSB7CisgICAgICAgIi8vbWVkaWEvY2FwdHVyZTpjYXB0dXJlX3VuaXR0ZXN0cyIsCisgICAg ICAgIi8vbWVkaWEvY2FzdDpjYXN0X3VuaXR0ZXN0cyIsCisgICAgICAgIi8vdGhpcmRfcGFydHkv YW5nbGUvc3JjL3Rlc3RzOmFuZ2xlX3doaXRlX2JveF90ZXN0cyIsCistICAgICAgIi8vdGhpcmRf cGFydHkvY2F0YXB1bHQvdGVsZW1ldHJ5OmJpdG1hcHRvb2xzKCRob3N0X3Rvb2xjaGFpbikiLAor ICAgICBdCisgICB9IGVsc2UgaWYgKGlzX2lvcyAmJiAhdXNlX3F0KSB7CisgICAgIGRlcHMgKz0g WworQEAgLTM1NCw3ICszNTMsNiBAQCBncm91cCgiZ25fYWxsIikgeworICAgICAgICIvL25ldC9h bmRyb2lkOm5ldF9qdW5pdF90ZXN0cyIsCisgICAgICAgIi8vc2VydmljZXM6c2VydmljZXNfanVu aXRfdGVzdHMiLAorICAgICAgICIvL3Rlc3RpbmcvYW5kcm9pZC9qdW5pdDpqdW5pdF91bml0X3Rl c3RzIiwKKy0gICAgICAiLy90aGlyZF9wYXJ0eS9jYXRhcHVsdC9kZXZpbCIsCisgICAgICAgIi8v dGhpcmRfcGFydHkvc21oYXNoZXI6bXVybXVyaGFzaDMiLAorICAgICAgICIvL3Rvb2xzL2FuZHJv aWQ6YW5kcm9pZF90b29scyIsCisgICAgICAgIi8vdG9vbHMvYW5kcm9pZDptZW1jb25zdW1lciIs CitAQCAtOTU5LDcgKzk1Nyw2IEBAIGlmIChpc19jaHJvbWVvcykgeworICAgICAgICIvL3RoaXJk X3BhcnR5L2Rhd24vc3JjL3Rlc3RzOmRhd25fdW5pdHRlc3RzIiwKKyAKKyAgICAgICAjIEJsb2Nr ZWQgb24gaHR0cHM6Ly9naXRodWIuY29tL2NhdGFwdWx0LXByb2plY3QvY2F0YXB1bHQvaXNzdWVz LzIyOTcKKy0gICAgICAjIi8vdGhpcmRfcGFydHkvY2F0YXB1bHQvdGVsZW1ldHJ5OmJpdG1hcHRv b2xzIiwKKyAgICAgICAiLy90b29scy9wZXJmL2NsZWFyX3N5c3RlbV9jYWNoZSIsCisgICAgICAg Ii8vdWkvb3pvbmUvZ2w6b3pvbmVfZ2xfdW5pdHRlc3RzIiwKKyAgICAgXQorQEAgLTEwMzcsNyAr MTAzNCw2IEBAIGlmICghaXNfaW9zICYmICF1c2VfcXQpIHsKKyAgICAgICBkYXRhX2RlcHMgPSBb CisgICAgICAgICAiLy9jaHJvbWU6Y2hyb21lIiwKKyAgICAgICAgICIvL2Nocm9tZS90ZXN0L2No cm9tZWRyaXZlciIsCistICAgICAgICAiLy90aGlyZF9wYXJ0eS9jYXRhcHVsdC90aGlyZF9wYXJ0 eS90eXAiLAorICAgICAgIF0KKyAgICAgICBpZiAoaXNfd2luKSB7CisgICAgICAgICBkYXRhX2Rl cHMgKz0gWyAiLy9idWlsZC93aW46Y29weV9jZGJfdG9fb3V0cHV0IiBdCitAQCAtMTA4NCw3ICsx MDgwLDYgQEAgaWYgKCFpc19pb3MgJiYgIXVzZV9xdCkgeworICAgICAgICIvL3RoaXJkX3BhcnR5 L2JsaW5rL3B1YmxpYzpibGlua19kZXZ0b29sc19pbnNwZWN0b3JfcmVzb3VyY2VzIiwKKyAgICAg ICAiLy90aGlyZF9wYXJ0eS9ibGluay9wdWJsaWMvbW9qb206bW9qb21fcGxhdGZvcm1fanNfZGF0 YV9kZXBzIiwKKyAgICAgICAiLy90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL2h0bWw6 anNfZmlsZXNfZm9yX2Zvcm1fY29udHJvbHNfd2ViX3Rlc3RzIiwKKy0gICAgICAiLy90aGlyZF9w YXJ0eS9jYXRhcHVsdC90aGlyZF9wYXJ0eS90eXAiLAorICAgICAgICIvL3RoaXJkX3BhcnR5L21l c2FfaGVhZGVycyIsCisgICAgICAgIi8vdG9vbHMvaW1hZ2VkaWZmIiwKKyAgICAgXQorQEAgLTEx NTIsNyArMTE0Nyw2IEBAIGlmICghaXNfaW9zICYmICF1c2VfcXQpIHsKKyAKKyAgICAgaWYgKGlz X2FuZHJvaWQpIHsKKyAgICAgICBkYXRhICs9IFsKKy0gICAgICAgICIvL3RoaXJkX3BhcnR5L2Nh dGFwdWx0LyIsCisgICAgICAgICAiLy9idWlsZC9hbmRyb2lkLyIsCisgICAgICAgXQorICAgICB9 CitAQCAtMTI1OSwxMSArMTI1Myw2IEBAIGlmICghaXNfaW9zICYmICF1c2VfcXQpIHsKKyAgICAg ICAiLy90aGlyZF9wYXJ0eS9ibGluay93ZWJfdGVzdHMvU3RhbGVUZXN0RXhwZWN0YXRpb25zIiwK KyAgICAgICAiLy90aGlyZF9wYXJ0eS9ibGluay93ZWJfdGVzdHMvVGVzdEV4cGVjdGF0aW9ucyIs CisgICAgICAgIi8vdGhpcmRfcGFydHkvYmxpbmsvd2ViX3Rlc3RzL1ZpcnR1YWxUZXN0U3VpdGVz IiwKKy0gICAgICAiLy90aGlyZF9wYXJ0eS9jYXRhcHVsdC9jb21tb24vcHlfdXRpbHMvIiwKKy0g ICAgICAiLy90aGlyZF9wYXJ0eS9jYXRhcHVsdC9kZXZpbC8iLAorLSAgICAgICIvL3RoaXJkX3Bh cnR5L2NhdGFwdWx0L2RlcGVuZGVuY3lfbWFuYWdlci8iLAorLSAgICAgICIvL3RoaXJkX3BhcnR5 L2NhdGFwdWx0L3RoaXJkX3BhcnR5L3ppcGZpbGUvIiwKKy0gICAgICAiLy90aGlyZF9wYXJ0eS9j YXRhcHVsdC90aGlyZF9wYXJ0eS90eXAvIiwKKyAgICAgICAiLy90aGlyZF9wYXJ0eS9kZXBvdF90 b29scy9weWxpbnQiLAorICAgICAgICIvL3RoaXJkX3BhcnR5L2RlcG90X3Rvb2xzL3B5bGludC0x LjUiLAorICAgICAgICIvL3RoaXJkX3BhcnR5L2RlcG90X3Rvb2xzL3B5bGludF9tYWluLnB5IiwK K2RpZmYgLS1naXQgYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vY2hyb21lL2Nocm9tZV9wYWtzLmdu aSBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9jaHJvbWUvY2hyb21lX3Bha3MuZ25pCitpbmRleCA5 MzIzYTc3NGE1Ni4uMDM2MmI2NTAxYWEgMTAwNjQ0CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21p dW0vY2hyb21lL2Nocm9tZV9wYWtzLmduaQorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2No cm9tZS9jaHJvbWVfcGFrcy5nbmkKK0BAIC05NCw3ICs5NCw2IEBAIHRlbXBsYXRlKCJjaHJvbWVf ZXh0cmFfcGFrcyIpIHsKKyAgICAgICAiJHJvb3RfZ2VuX2Rpci9jaHJvbWUvY29tbW9uX3Jlc291 cmNlcy5wYWsiLAorICAgICAgICIkcm9vdF9nZW5fZGlyL2NvbXBvbmVudHMvYXV0b2ZpbGwvY29y ZS9icm93c2VyL2F1dG9maWxsX2FkZHJlc3NfcmV3cml0ZXJfcmVzb3VyY2VzLnBhayIsCisgICAg ICAgIiRyb290X2dlbl9kaXIvY29tcG9uZW50cy9jb21wb25lbnRzX3Jlc291cmNlcy5wYWsiLAor LSAgICAgICIkcm9vdF9nZW5fZGlyL2NvbnRlbnQvYnJvd3Nlci90cmFjaW5nL3RyYWNpbmdfcmVz b3VyY2VzLnBhayIsCisgICAgICAgIiRyb290X2dlbl9kaXIvY29udGVudC9jb250ZW50X3Jlc291 cmNlcy5wYWsiLAorICAgICAgICIkcm9vdF9nZW5fZGlyL21vam8vcHVibGljL2pzL21vam9fYmlu ZGluZ3NfcmVzb3VyY2VzLnBhayIsCisgICAgICAgIiRyb290X2dlbl9kaXIvbmV0L25ldF9yZXNv dXJjZXMucGFrIiwKK0BAIC0xMTAsNyArMTA5LDYgQEAgdGVtcGxhdGUoImNocm9tZV9leHRyYV9w YWtzIikgeworICAgICAgICIvL2NvbXBvbmVudHMvYXV0b2ZpbGwvY29yZS9icm93c2VyOmF1dG9m aWxsX2FkZHJlc3NfcmV3cml0ZXJfcmVzb3VyY2VzIiwKKyAgICAgICAiLy9jb21wb25lbnRzL3Jl c291cmNlcyIsCisgICAgICAgIi8vY29udGVudDpjb250ZW50X3Jlc291cmNlcyIsCistICAgICAg Ii8vY29udGVudC9icm93c2VyL3RyYWNpbmc6cmVzb3VyY2VzIiwKKyAgICAgICAiLy9tb2pvL3B1 YmxpYy9qczpyZXNvdXJjZXMiLAorICAgICAgICIvL25ldDpuZXRfcmVzb3VyY2VzIiwKKyAgICAg ICAiLy9za2lhOnNraWFfcmVzb3VyY2VzIiwKK2RpZmYgLS1naXQgYS9zcmMvM3JkcGFydHkvY2hy b21pdW0vY2hyb21lL3Rlc3QvQlVJTEQuZ24gYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vY2hyb21l L3Rlc3QvQlVJTEQuZ24KK2luZGV4IDFhMzY5ZmE1NmQyLi5lYjViYzk2NzZmYiAxMDA2NDQKKy0t LSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9jaHJvbWUvdGVzdC9CVUlMRC5nbgorKysrIGIvc3Jj LzNyZHBhcnR5L2Nocm9taXVtL2Nocm9tZS90ZXN0L0JVSUxELmduCitAQCAtNzEwMyw4ICs3MTAz LDYgQEAgaWYgKCFpc19mdWNoc2lhICYmICFpc19hbmRyb2lkKSB7CisgICAgICAgIi8vY2hyb21l L3Rlc3QvZGF0YS9wYXNzd29yZC9jYXB0dXJlZF9zaXRlcy8iLAorICAgICAgICIvL2Nocm9tZS90 ZXN0L2RhdGEvd2ViX3BhZ2VfcmVwbGF5X2dvX2hlbHBlcl9zY3JpcHRzL2F1dG9tYXRpb25faGVs cGVyLmpzIiwKKyAgICAgICAiLy9jb21wb25lbnRzL3Rlc3QvZGF0YS9hdXRvZmlsbC93ZWJfcGFn ZV9yZXBsYXlfc3VwcG9ydF9maWxlcy8iLAorLSAgICAgICIvL3RoaXJkX3BhcnR5L2NhdGFwdWx0 L3RlbGVtZXRyeS90ZWxlbWV0cnkvYmluLyIsCistICAgICAgIi8vdGhpcmRfcGFydHkvY2F0YXB1 bHQvd2ViX3BhZ2VfcmVwbGF5X2dvL2RldGVybWluaXN0aWMuanMiLAorICAgICBdCisgCisgICAg IGlmIChpc19saW51eCB8fCBpc19jaHJvbWVvcyB8fCBpc193aW4pIHsKK0BAIC03MTQxLDcgKzcx MzksNiBAQCBpZiAoIWlzX2Z1Y2hzaWEgJiYgIWlzX2FuZHJvaWQpIHsKKyAKKyAgICAgICAjIFRP RE8odXd5aW1pbmdAY2hyb21pdW0ub3JnKSBjcmVhdGUgYSBnbiB0YXJnZXQgZm9yIFdlYiBQYWdl IFJlcGxheSBHbyAoV1BSIEdvKSBhbmQgb25seSBXUFIgR28uCisgICAgICAgIyBTbyB0aGF0IHRl c3QgdGFyZ2V0cyByZXF1aXJpbmcgV1BSIEdvIGRvZXMgbm90IHB1bGwgZG93biB0aGUgd2hvbGUg dGVsZW1ldHJ5IHRvb2wgY2hhaW4uCistICAgICAgIi8vdGhpcmRfcGFydHkvY2F0YXB1bHQ6dGVs ZW1ldHJ5X2Nocm9tZV90ZXN0X3N1cHBvcnQiLAorICAgICAgICIvL3RoaXJkX3BhcnR5L2h1bnNw ZWxsIiwKKyAgICAgICAiLy90aGlyZF9wYXJ0eS9pY3UiLAorICAgICAgICIvL3RoaXJkX3BhcnR5 L2xpYnBuZyIsCitAQCAtNzE3MSw3ICs3MTY4LDYgQEAgaWYgKCFpc19mdWNoc2lhICYmICFpc19h bmRyb2lkKSB7CisgICAgIGRlcHMgPSBbICIvL3Rvb2xzL3BlcmYvY2hyb21lX3RlbGVtZXRyeV9i dWlsZDp0ZWxlbWV0cnlfY2hyb21lX3Rlc3QiIF0KKyAKKyAgICAgZGF0YSA9IFsKKy0gICAgICAi Ly90aGlyZF9wYXJ0eS9jYXRhcHVsdC90ZWxlbWV0cnkvdGVsZW1ldHJ5L2ludGVybmFsL2Jpbi8i LAorICAgICAgICIvL3Rvb2xzL3BlcmYvcnVuX3RlbGVtZXRyeV90ZXN0cyIsCisgCisgICAgICAg IyBGb3IgaXNvbGF0ZSBjb250cmFjdC4KK0BAIC03MTg5LDcgKzcxODUsNiBAQCBpZiAoIWlzX2Z1 Y2hzaWEgJiYgIWlzX2FuZHJvaWQpIHsKKyAgIGdyb3VwKCJ0ZWxlbWV0cnlfZ3B1X3VuaXR0ZXN0 cyIpIHsKKyAgICAgdGVzdG9ubHkgPSB0cnVlCisgICAgIGRlcHMgPSBbCistICAgICAgIi8vdGhp cmRfcGFydHkvY2F0YXB1bHQ6dGVsZW1ldHJ5X2Nocm9tZV90ZXN0X3N1cHBvcnQiLAorICAgICAg ICIvL3Rvb2xzL21ldHJpY3M6bWV0cmljc19weXRob25fdGVzdHMiLAorICAgICBdCisgICAgIGRh dGEgPSBbCitAQCAtNzMxMyw3ICs3MzA4LDYgQEAgaWYgKGlzX21hYyB8fCBpc193aW4gfHwgaXNf YW5kcm9pZCkgeworICAgICAgICIvL3Rlc3Rpbmcvc2NyaXB0cyIsCisgICAgICAgIi8vdGVzdGlu Zy90ZXN0X2Vudi5weSIsCisgICAgICAgIi8vdGVzdGluZy94dmZiLnB5IiwKKy0gICAgICAiLy90 aGlyZF9wYXJ0eS9jYXRhcHVsdCIsCisgICAgICAgIi8vdG9vbHMiLAorICAgICBdCisgICB9Citk aWZmIC0tZ2l0IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2NvbnRlbnQvYnJvd3Nlci9CVUlMRC5n biBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9jb250ZW50L2Jyb3dzZXIvQlVJTEQuZ24KK2luZGV4 IDE0NjZmMzNkNDYyLi41MTAzOWUwZGExOSAxMDA2NDQKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS9jb250ZW50L2Jyb3dzZXIvQlVJTEQuZ24KKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS9jb250ZW50L2Jyb3dzZXIvQlVJTEQuZ24KK0BAIC0yMTY5LDcgKzIxNjksNiBAQCBqdW1ib19z dGF0aWNfbGlicmFyeSgiYnJvd3NlciIpIHsKKyAgIGlmICghaXNfYW5kcm9pZCkgeworICAgICBk ZXBzICs9IFsKKyAgICAgICAiLy9jb21wb25lbnRzL3ZlY3Rvcl9pY29ucyIsCistICAgICAgIi8v Y29udGVudC9icm93c2VyL3RyYWNpbmc6cmVzb3VyY2VzIiwKKyAgICAgXQorICAgfQorIAorZGlm ZiAtLWdpdCBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9jb250ZW50L2Jyb3dzZXIvdHJhY2luZy9C VUlMRC5nbiBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9jb250ZW50L2Jyb3dzZXIvdHJhY2luZy9C VUlMRC5nbgorZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCBlYWMwNTk5OWZhYy4uMDAw MDAwMDAwMDAKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9jb250ZW50L2Jyb3dzZXIvdHJh Y2luZy9CVUlMRC5nbgorKysrIC9kZXYvbnVsbAorQEAgLTEsNTEgKzAsMCBAQAorLSMgQ29weXJp Z2h0IDIwMTQgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCistIyBV c2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNl IHRoYXQgY2FuIGJlCistIyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLQorLWltcG9ydCgi Ly90b29scy9ncml0L2dyaXRfcnVsZS5nbmkiKQorLQorLSMgZ2VuZXJhdGVfYWJvdXRfdHJhY2lu ZyBwdXRzIGl0cyBmaWxlcyBpbiB0aGlzIGRpcmVjdG9yeQorLXRyYWNpbmdfZ2VuX2RpciA9ICIk cm9vdF9nZW5fZGlyL2NvbnRlbnQvYnJvd3Nlci90cmFjaW5nIgorLQorLSMgVGhlIHNjcmlwdCBq dXN0IHdyaXRlcyBmaWxlbmFtZSB3aXRoIG5vIGRpcnMgdG8gdGhlIC5ncmQsIHNvIHdlIGFsd2F5 cyBuZWVkCistIyB0aGlzIGZpbGUgdG8gYmUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5IGFzIHRoZSBp bnB1dHMuCistdHJhY2luZ19ncmQgPSAiJHRyYWNpbmdfZ2VuX2Rpci90cmFjaW5nX3Jlc291cmNl cy5ncmQiCistCistYWN0aW9uKCJnZW5lcmF0ZV90cmFjaW5nX2dyZCIpIHsKKy0gIHZpc2liaWxp dHkgPSBbICI6KiIgXSAgIyBEZXBlbmQgb24gIjpyZXNvdXJjZXMiIHRvIGdldCB0aGlzLgorLSAg c2NyaXB0ID0gImdlbmVyYXRlX3RyYWNlX3ZpZXdlcl9ncmQucHkiCistCistICBpbnB1dF9wYWdl cyA9IFsKKy0gICAgIiR0cmFjaW5nX2dlbl9kaXIvYWJvdXRfdHJhY2luZy5odG1sIiwKKy0gICAg IiR0cmFjaW5nX2dlbl9kaXIvYWJvdXRfdHJhY2luZy5qcyIsCistICBdCistICBpbnB1dHMgPSBp bnB1dF9wYWdlcworLSAgb3V0cHV0cyA9IFsgdHJhY2luZ19ncmQgXQorLQorLSAgYXJncyA9IHJl YmFzZV9wYXRoKGlucHV0X3BhZ2VzLCB0YXJnZXRfZ2VuX2RpcikgKyBbCistICAgICAgICAgICAi LS1vdXRwdXQiLAorLSAgICAgICAgICAgcmViYXNlX3BhdGgodHJhY2luZ19ncmQsIHJvb3RfYnVp bGRfZGlyKSwKKy0gICAgICAgICBdCistCistICBkZXBzID0gWyAiLy90aGlyZF9wYXJ0eS9jYXRh cHVsdC90cmFjaW5nOmdlbmVyYXRlX2Fib3V0X3RyYWNpbmciIF0KKy19CistCistZ3JpdCgicmVz b3VyY2VzIikgeworLSAgc291cmNlID0gdHJhY2luZ19ncmQKKy0KKy0gICMgUmVxdWlyZWQgYmVj YXVzZSB0aGUgLmdyZCBpcyBnZW5lcmF0ZWQuCistICBlbmFibGVfaW5wdXRfZGlzY292ZXJ5X2Zv cl9nbl9hbmFseXplID0gZmFsc2UKKy0KKy0gIG91dHB1dHMgPSBbCistICAgICJncml0L3RyYWNp bmdfcmVzb3VyY2VzLmgiLAorLSAgICAidHJhY2luZ19yZXNvdXJjZXMucGFrIiwKKy0gIF0KKy0K Ky0gICMgcmVzb3VyY2VfaWRzIGhhcyBhbiBlbnRyeSBmb3Igb3VyIC5ncmQgZmlsZSB0aGF0IGxv b2tzIGxpa2U6CistICAjICI8KFNIQVJFRF9JTlRFUk1FRElBVEVfRElSKS9jb250ZW50L2Jyb3dz ZXIvdHJhY2luZy90cmFjaW5nX3Jlc291cmNlcy5ncmQiCistICAjIGFuZCB3aGF0IHdlIHBhc3Mg aGVyZSBzaG91bGQgbWFrZSB0aGF0IHJlc29sdmUgdG8gb3VyIC5ncmQgZmlsZS4KKy0gIGRlZmlu ZXMgPQorLSAgICAgIFsgIlNIQVJFRF9JTlRFUk1FRElBVEVfRElSPSIgKyByZWJhc2VfcGF0aChy b290X2dlbl9kaXIsIHJvb3RfYnVpbGRfZGlyKSBdCistCistICBkZXBzID0gWyAiOmdlbmVyYXRl X3RyYWNpbmdfZ3JkIiBdCistfQorZGlmZiAtLWdpdCBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9j b250ZW50L2Jyb3dzZXIvdHJhY2luZy90cmFjaW5nX3VpLmNjIGIvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL2NvbnRlbnQvYnJvd3Nlci90cmFjaW5nL3RyYWNpbmdfdWkuY2MKK2luZGV4IDJiZmZiNWVi M2IwLi44OTY1OTIyZGZiYSAxMDA2NDQKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9jb250 ZW50L2Jyb3dzZXIvdHJhY2luZy90cmFjaW5nX3VpLmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hy b21pdW0vY29udGVudC9icm93c2VyL3RyYWNpbmcvdHJhY2luZ191aS5jYworQEAgLTI3LDcgKzI3 LDYgQEAKKyAjaW5jbHVkZSAiYmFzZS9zdHJpbmdzL3N0cmluZ3ByaW50Zi5oIgorICNpbmNsdWRl ICJiYXNlL3RyYWNlX2V2ZW50L3RyYWNlX2V2ZW50LmgiCisgI2luY2x1ZGUgImJhc2UvdmFsdWVz LmgiCistI2luY2x1ZGUgImNvbnRlbnQvYnJvd3Nlci90cmFjaW5nL2dyaXQvdHJhY2luZ19yZXNv dXJjZXMuaCIKKyAjaW5jbHVkZSAiY29udGVudC9icm93c2VyL3RyYWNpbmcvdHJhY2luZ19jb250 cm9sbGVyX2ltcGwuaCIKKyAjaW5jbHVkZSAiY29udGVudC9wdWJsaWMvYnJvd3Nlci9icm93c2Vy X2NvbnRleHQuaCIKKyAjaW5jbHVkZSAiY29udGVudC9wdWJsaWMvYnJvd3Nlci9icm93c2VyX3Ro cmVhZC5oIgorQEAgLTI0Miw4ICsyNDEsNiBAQCBUcmFjaW5nVUk6OlRyYWNpbmdVSShXZWJVSSog d2ViX3VpKQorICAgV2ViVUlEYXRhU291cmNlKiBzb3VyY2UgPSBXZWJVSURhdGFTb3VyY2U6OkNy ZWF0ZShrQ2hyb21lVUlUcmFjaW5nSG9zdCk7CisgICBzb3VyY2UtPkRpc2FibGVUcnVzdGVkVHlw ZXNDU1AoKTsKKyAgIHNvdXJjZS0+VXNlU3RyaW5nc0pzKCk7CistICBzb3VyY2UtPlNldERlZmF1 bHRSZXNvdXJjZShJRFJfVFJBQ0lOR19IVE1MKTsKKy0gIHNvdXJjZS0+QWRkUmVzb3VyY2VQYXRo KCJ0cmFjaW5nLmpzIiwgSURSX1RSQUNJTkdfSlMpOworICAgc291cmNlLT5TZXRSZXF1ZXN0Rmls dGVyKGJhc2U6OkJpbmRSZXBlYXRpbmcoT25TaG91bGRIYW5kbGVSZXF1ZXN0KSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICBiYXNlOjpCaW5kUmVwZWF0aW5nKE9uVHJhY2luZ1JlcXVlc3Qp KTsKKyAgIFdlYlVJRGF0YVNvdXJjZTo6QWRkKGJyb3dzZXJfY29udGV4dCwgc291cmNlKTsKK2Rp ZmYgLS1naXQgYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vY29udGVudC9zaGVsbC9CVUlMRC5nbiBi L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9jb250ZW50L3NoZWxsL0JVSUxELmduCitpbmRleCA1NmMw ZThiNDhlMy4uNmU0ZmZiZTk2MmQgMTAwNjQ0CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0v Y29udGVudC9zaGVsbC9CVUlMRC5nbgorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2NvbnRl bnQvc2hlbGwvQlVJTEQuZ24KK0BAIC0zOTAsNyArMzkwLDYgQEAgcmVwYWNrKCJwYWsiKSB7Cisg ICBzb3VyY2VzID0gWworICAgICAiJHJvb3RfZ2VuX2Rpci9jb250ZW50L2FwcC9yZXNvdXJjZXMv Y29udGVudF9yZXNvdXJjZXNfMTAwX3BlcmNlbnQucGFrIiwKKyAgICAgIiRyb290X2dlbl9kaXIv Y29udGVudC9icm93c2VyL3Jlc291cmNlcy9tZWRpYS9tZWRpYV9pbnRlcm5hbHNfcmVzb3VyY2Vz LnBhayIsCistICAgICIkcm9vdF9nZW5fZGlyL2NvbnRlbnQvYnJvd3Nlci90cmFjaW5nL3RyYWNp bmdfcmVzb3VyY2VzLnBhayIsCisgICAgICIkcm9vdF9nZW5fZGlyL2NvbnRlbnQvYnJvd3Nlci93 ZWJydGMvcmVzb3VyY2VzL3dlYnJ0Y19pbnRlcm5hbHNfcmVzb3VyY2VzLnBhayIsCisgICAgICIk cm9vdF9nZW5fZGlyL2NvbnRlbnQvY29udGVudF9yZXNvdXJjZXMucGFrIiwKKyAgICAgIiRyb290 X2dlbl9kaXIvY29udGVudC9kZXZfdWlfY29udGVudF9yZXNvdXJjZXMucGFrIiwKK0BAIC00MTMs NyArNDEyLDYgQEAgcmVwYWNrKCJwYWsiKSB7CisgICAgICIvL2NvbnRlbnQ6ZGV2X3VpX2NvbnRl bnRfcmVzb3VyY2VzIiwKKyAgICAgIi8vY29udGVudC9hcHAvcmVzb3VyY2VzIiwKKyAgICAgIi8v Y29udGVudC9icm93c2VyL3Jlc291cmNlcy9tZWRpYTptZWRpYV9pbnRlcm5hbHNfcmVzb3VyY2Vz IiwKKy0gICAgIi8vY29udGVudC9icm93c2VyL3RyYWNpbmc6cmVzb3VyY2VzIiwKKyAgICAgIi8v Y29udGVudC9icm93c2VyL3dlYnJ0Yy9yZXNvdXJjZXMiLAorICAgICAiLy9tb2pvL3B1YmxpYy9q czpyZXNvdXJjZXMiLAorICAgICAiLy9uZXQ6bmV0X3Jlc291cmNlcyIsCitkaWZmIC0tZ2l0IGEv c3JjLzNyZHBhcnR5L2Nocm9taXVtL2Z1Y2hzaWEvZW5naW5lL0JVSUxELmduIGIvc3JjLzNyZHBh cnR5L2Nocm9taXVtL2Z1Y2hzaWEvZW5naW5lL0JVSUxELmduCitpbmRleCBhNTAyYjdmYzI3My4u MzlkZjJhNzAyOGEgMTAwNjQ0CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vZnVjaHNpYS9l bmdpbmUvQlVJTEQuZ24KKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9mdWNoc2lhL2VuZ2lu ZS9CVUlMRC5nbgorQEAgLTQzLDcgKzQzLDYgQEAgcmVwYWNrKCJ3ZWJfZW5naW5lX3BhayIpIHsK KyAgICAgIiRyb290X2dlbl9kaXIvY29tcG9uZW50cy9jb21wb25lbnRzX3Jlc291cmNlcy5wYWsi LAorICAgICAiJHJvb3RfZ2VuX2Rpci9jb21wb25lbnRzL3N0cmluZ3MvY29tcG9uZW50c19zdHJp bmdzX2VuLVVTLnBhayIsCisgICAgICIkcm9vdF9nZW5fZGlyL2NvbnRlbnQvYXBwL3Jlc291cmNl cy9jb250ZW50X3Jlc291cmNlc18xMDBfcGVyY2VudC5wYWsiLAorLSAgICAiJHJvb3RfZ2VuX2Rp ci9jb250ZW50L2Jyb3dzZXIvdHJhY2luZy90cmFjaW5nX3Jlc291cmNlcy5wYWsiLAorICAgICAi JHJvb3RfZ2VuX2Rpci9jb250ZW50L2NvbnRlbnRfcmVzb3VyY2VzLnBhayIsCisgICAgICIkcm9v dF9nZW5fZGlyL2NvbnRlbnQvZGV2X3VpX2NvbnRlbnRfcmVzb3VyY2VzLnBhayIsCisgICAgICIk cm9vdF9nZW5fZGlyL21vam8vcHVibGljL2pzL21vam9fYmluZGluZ3NfcmVzb3VyY2VzLnBhayIs CitAQCAtNjYsNyArNjUsNiBAQCByZXBhY2soIndlYl9lbmdpbmVfcGFrIikgeworICAgICAiLy9j b250ZW50OmNvbnRlbnRfcmVzb3VyY2VzIiwKKyAgICAgIi8vY29udGVudDpkZXZfdWlfY29udGVu dF9yZXNvdXJjZXMiLAorICAgICAiLy9jb250ZW50L2FwcC9yZXNvdXJjZXMiLAorLSAgICAiLy9j b250ZW50L2Jyb3dzZXIvdHJhY2luZzpyZXNvdXJjZXMiLAorICAgICAiLy9ncHUvY29tbWFuZF9i dWZmZXIvc2VydmljZSIsCisgICAgICIvL21vam8vcHVibGljL2pzOnJlc291cmNlcyIsCisgICAg ICIvL25ldDpuZXRfcmVzb3VyY2VzIiwKK2RpZmYgLS1naXQgYS9zcmMvM3JkcGFydHkvY2hyb21p dW0vaGVhZGxlc3MvQlVJTEQuZ24gYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vaGVhZGxlc3MvQlVJ TEQuZ24KK2luZGV4IGQyYWI3NmFlZDMyLi4xNWU0Yjc4MDA5ZCAxMDA2NDQKKy0tLSBhL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS9oZWFkbGVzcy9CVUlMRC5nbgorKysrIGIvc3JjLzNyZHBhcnR5L2No cm9taXVtL2hlYWRsZXNzL0JVSUxELmduCitAQCAtMzcsNyArMzcsNiBAQCByZXBhY2soInBhayIp IHsKKyAgICAgIiRyb290X2dlbl9kaXIvY29tcG9uZW50cy9jb21wb25lbnRzX3Jlc291cmNlcy5w YWsiLAorICAgICAiJHJvb3RfZ2VuX2Rpci9jb21wb25lbnRzL3N0cmluZ3MvY29tcG9uZW50c19z dHJpbmdzX2VuLVVTLnBhayIsCisgICAgICIkcm9vdF9nZW5fZGlyL2NvbnRlbnQvYXBwL3Jlc291 cmNlcy9jb250ZW50X3Jlc291cmNlc18xMDBfcGVyY2VudC5wYWsiLAorLSAgICAiJHJvb3RfZ2Vu X2Rpci9jb250ZW50L2Jyb3dzZXIvdHJhY2luZy90cmFjaW5nX3Jlc291cmNlcy5wYWsiLAorICAg ICAiJHJvb3RfZ2VuX2Rpci9jb250ZW50L2NvbnRlbnRfcmVzb3VyY2VzLnBhayIsCisgICAgICIk cm9vdF9nZW5fZGlyL2NvbnRlbnQvZGV2X3VpX2NvbnRlbnRfcmVzb3VyY2VzLnBhayIsCisgICAg ICIkcm9vdF9nZW5fZGlyL2hlYWRsZXNzL2hlYWRsZXNzX2xpYl9yZXNvdXJjZXMucGFrIiwKK0BA IC02NSw3ICs2NCw2IEBAIHJlcGFjaygicGFrIikgeworICAgICAiLy9jb250ZW50OmNvbnRlbnRf cmVzb3VyY2VzIiwKKyAgICAgIi8vY29udGVudDpkZXZfdWlfY29udGVudF9yZXNvdXJjZXMiLAor ICAgICAiLy9jb250ZW50L2FwcC9yZXNvdXJjZXMiLAorLSAgICAiLy9jb250ZW50L2Jyb3dzZXIv dHJhY2luZzpyZXNvdXJjZXMiLAorICAgICAiLy9tb2pvL3B1YmxpYy9qczpyZXNvdXJjZXMiLAor ICAgICAiLy9uZXQ6bmV0X3Jlc291cmNlcyIsCisgICAgICIvL3RoaXJkX3BhcnR5L2JsaW5rL3B1 YmxpYzpyZXNvdXJjZXMiLAorZGlmZiAtLWdpdCBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9tb2pv L3B1YmxpYy90b29scy9CVUlMRC5nbiBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9tb2pvL3B1Ymxp Yy90b29scy9CVUlMRC5nbgoraW5kZXggNGM2ODM1MGIzOTkuLjFjYzAxMjU2ZjAwIDEwMDY0NAor LS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL21vam8vcHVibGljL3Rvb2xzL0JVSUxELmduCisr KysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vbW9qby9wdWJsaWMvdG9vbHMvQlVJTEQuZ24KK0BA IC0xNCw1ICsxNCw0IEBAIGdyb3VwKCJtb2pvX3B5dGhvbl91bml0dGVzdHMiKSB7CisgICAgICIv L3Rlc3RpbmcveHZmYi5weSIsCisgICBdCisgICBkZXBzID0gWyAiLy9tb2pvL3B1YmxpYy90b29s cy9tb2pvbS9tb2pvbTp0ZXN0cyIgXQorLSAgZGF0YV9kZXBzID0gWyAiLy90aGlyZF9wYXJ0eS9j YXRhcHVsdC90aGlyZF9wYXJ0eS90eXAvIiBdCisgfQorZGlmZiAtLWdpdCBhL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS90ZXN0aW5nL0JVSUxELmduIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Rlc3Rp bmcvQlVJTEQuZ24KK2luZGV4IDU2ZWJmOGQ0NmM5Li43ZDUxYmMwY2NmNyAxMDA2NDQKKy0tLSBh L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90ZXN0aW5nL0JVSUxELmduCisrKysgYi9zcmMvM3JkcGFy dHkvY2hyb21pdW0vdGVzdGluZy9CVUlMRC5nbgorQEAgLTI3LDcgKzI3LDYgQEAgZ3JvdXAoInJ1 bl9wZXJmX3Rlc3QiKSB7CisgCisgICBkYXRhX2RlcHMgPSBbCisgICAgICI6dGVzdF9zY3JpcHRz X3NoYXJlZCIsCistICAgICIvL3RoaXJkX3BhcnR5L2NhdGFwdWx0L3RyYWNpbmc6Y29udmVydF9j aGFydF9qc29uIiwKKyAgIF0KKyAKKyAgIGlmIChpc19hbmRyb2lkKSB7CitkaWZmIC0tZ2l0IGEv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3dlYnJ0Yy90ZXN0L0JVSUxELmduIGIv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3dlYnJ0Yy90ZXN0L0JVSUxELmduCitp bmRleCA1OGQzZGFiNTIxOS4uNDgzMjgyOThkMmUgMTAwNjQ0CistLS0gYS9zcmMvM3JkcGFydHkv Y2hyb21pdW0vdGhpcmRfcGFydHkvd2VicnRjL3Rlc3QvQlVJTEQuZ24KKysrKyBiL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS93ZWJydGMvdGVzdC9CVUlMRC5nbgorQEAgLTI1OCwx MCArMjU4LDYgQEAgcnRjX2xpYnJhcnkoInBlcmZfdGVzdCIpIHsKKyAgIGFic2xfZGVwcyA9IFsg Ii8vdGhpcmRfcGFydHkvYWJzZWlsLWNwcC9hYnNsL3R5cGVzOm9wdGlvbmFsIiBdCisgICBpZiAo cnRjX2VuYWJsZV9wcm90b2J1ZikgeworICAgICBzb3VyY2VzICs9IFsgInRlc3RzdXBwb3J0L3Bl cmZfdGVzdF9oaXN0b2dyYW1fd3JpdGVyLmNjIiBdCistICAgIGRlcHMgKz0gWworLSAgICAgICIv L3RoaXJkX3BhcnR5L2NhdGFwdWx0L3RyYWNpbmcvdHJhY2luZzpoaXN0b2dyYW0iLAorLSAgICAg ICIvL3RoaXJkX3BhcnR5L2NhdGFwdWx0L3RyYWNpbmcvdHJhY2luZzpyZXNlcnZlZF9pbmZvcyIs CistICAgIF0KKyAgIH0gZWxzZSB7CisgICAgIHNvdXJjZXMgKz0gWyAidGVzdHN1cHBvcnQvcGVy Zl90ZXN0X2hpc3RvZ3JhbV93cml0ZXJfbm9fcHJvdG9idWYuY2MiIF0KKyAgIH0KK0BAIC01NjYs NyArNTYyLDYgQEAgaWYgKHJ0Y19pbmNsdWRlX3Rlc3RzKSB7CisgCisgICAgIGlmIChydGNfZW5h YmxlX3Byb3RvYnVmKSB7CisgICAgICAgc291cmNlcyArPSBbICJ0ZXN0c3VwcG9ydC9wZXJmX3Rl c3RfaGlzdG9ncmFtX3dyaXRlcl91bml0dGVzdC5jYyIgXQorLSAgICAgIGRlcHMgKz0gWyAiLy90 aGlyZF9wYXJ0eS9jYXRhcHVsdC90cmFjaW5nL3RyYWNpbmc6aGlzdG9ncmFtIiBdCisgICAgIH0K KyAKKyAgICAgZGF0YSA9IHRlc3Rfc3VwcG9ydF91bml0dGVzdHNfcmVzb3VyY2VzCitkaWZmIC0t Z2l0IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Rvb2xzL2JpbmFyeV9zaXplL0JVSUxELmduIGIv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3Rvb2xzL2JpbmFyeV9zaXplL0JVSUxELmduCitpbmRleCBl NjgwNmJmNzc1NC4uMmM5ODVkMTVmYWIgMTAwNjQ0CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21p dW0vdG9vbHMvYmluYXJ5X3NpemUvQlVJTEQuZ24KKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS90b29scy9iaW5hcnlfc2l6ZS9CVUlMRC5nbgorQEAgLTE4LDcgKzE4LDYgQEAgcHl0aG9uX2xp YnJhcnkoImJpbmFyeV9zaXplX3RyeWJvdF9weSIpIHsKKyBweXRob25fbGlicmFyeSgic2l6ZXNf cHkiKSB7CisgICB0ZXN0b25seSA9IHRydWUKKyAgIHB5ZGVwc19maWxlID0gInNpemVzLnB5ZGVw cyIKKy0gIGRhdGFfZGVwcyA9IFsgIi8vdGhpcmRfcGFydHkvY2F0YXB1bHQvdHJhY2luZzpjb252 ZXJ0X2NoYXJ0X2pzb24iIF0KKyB9CisgCisgaWYgKGlzX2xpbnV4IHx8IGlzX2Nocm9tZW9zKSB7 CitkaWZmIC0tZ2l0IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Rvb2xzL2dyaXQvQlVJTEQuZ24g Yi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdG9vbHMvZ3JpdC9CVUlMRC5nbgoraW5kZXggMWNkM2M3 NWI1NTMuLjYwYzRjZjJmNzdhIDEwMDY0NAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Rv b2xzL2dyaXQvQlVJTEQuZ24KKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90b29scy9ncml0 L0JVSUxELmduCitAQCAtMzMsNyArMzMsNiBAQCBncm91cCgiZ3JpdF9weXRob25fdW5pdHRlc3Rz IikgeworICAgICAiLy90ZXN0aW5nL3NjcmlwdHMvcnVuX2lzb2xhdGVkX3NjcmlwdF90ZXN0LnB5 IiwKKyAgICAgIi8vdGVzdGluZy94dmZiLnB5IiwKKyAgICAgIi8vdG9vbHMvZ3JpdC8iLAorLSAg ICAiLy90aGlyZF9wYXJ0eS9jYXRhcHVsdC90aGlyZF9wYXJ0eS90eXAvIiwKKyAgIF0KKyB9Cisg CitkaWZmIC0tZ2l0IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Rvb2xzL2dyaXRzZXR0aW5ncy9y ZXNvdXJjZV9pZHMuc3BlYyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90b29scy9ncml0c2V0dGlu Z3MvcmVzb3VyY2VfaWRzLnNwZWMKK2luZGV4IGQwYTQ1NDU1MTRjLi44MGIwYmYxNzM3YiAxMDA2 NDQKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90b29scy9ncml0c2V0dGluZ3MvcmVzb3Vy Y2VfaWRzLnNwZWMKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90b29scy9ncml0c2V0dGlu Z3MvcmVzb3VyY2VfaWRzLnNwZWMKK0BAIC00OTksMTIgKzQ5OSw2IEBACisgICAiY29udGVudC9z aGVsbC9zaGVsbF9yZXNvdXJjZXMuZ3JkIjogeworICAgICAiaW5jbHVkZXMiOiBbMjk0MF0sCisg ICB9LAorLQorLSAgIyBUaGlzIGZpbGUgaXMgZ2VuZXJhdGVkIGR1cmluZyB0aGUgYnVpbGQuCist ICAiPChTSEFSRURfSU5URVJNRURJQVRFX0RJUikvY29udGVudC9icm93c2VyL3RyYWNpbmcvdHJh Y2luZ19yZXNvdXJjZXMuZ3JkIjogeworLSAgICAiTUVUQSI6IHsic2l6ZXMiOiB7ImluY2x1ZGVz IjogWzIwXSx9fSwKKy0gICAgImluY2x1ZGVzIjogWzI5NjBdLAorLSAgfSwKKyAgICMgRU5EIGNv bnRlbnQvIHNlY3Rpb24uCisgCisgICAjIFNUQVJUIGlvcy93ZWIvIHNlY3Rpb24uCitkaWZmIC0t Z2l0IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Rvb2xzL21ldHJpY3MvQlVJTEQuZ24gYi9zcmMv M3JkcGFydHkvY2hyb21pdW0vdG9vbHMvbWV0cmljcy9CVUlMRC5nbgoraW5kZXggODQ2ZDUyNDhi ZmEuLmNiNTdkMmJkYWUxIDEwMDY0NAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Rvb2xz L21ldHJpY3MvQlVJTEQuZ24KKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90b29scy9tZXRy aWNzL0JVSUxELmduCitAQCAtNTYsNyArNTYsNiBAQCBncm91cCgibWV0cmljc19weXRob25fdGVz dHMiKSB7CisgICAgICIvL3Rlc3Rpbmcvc2NyaXB0cy9jb21tb24ucHkiLAorICAgICAiLy90ZXN0 aW5nL3h2ZmIucHkiLAorICAgICAiLy90ZXN0aW5nL3Rlc3RfZW52LnB5IiwKKy0gICAgIi8vdGhp cmRfcGFydHkvY2F0YXB1bHQvdGhpcmRfcGFydHkvdHlwLyIsCisgCisgICAgICMgU2NyaXB0cyB3 ZSBkZXBlbmQgb24uIFRoZWlyIHVuaXQgdGVzdHMgYXJlIGFsc28gaW5jbHVkZWQuCisgICAgICIv L3Rvb2xzL2pzb25fY29tbWVudF9lYXRlci9qc29uX2NvbW1lbnRfZWF0ZXIucHkiLAorZGlmZiAt LWdpdCBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90b29scy9wZXJmL2Nocm9tZV90ZWxlbWV0cnlf YnVpbGQvQlVJTEQuZ24gYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdG9vbHMvcGVyZi9jaHJvbWVf dGVsZW1ldHJ5X2J1aWxkL0JVSUxELmduCitpbmRleCAyODBiYjc1NGMyYy4uYzI4N2ZkY2ViYjMg MTAwNjQ0CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdG9vbHMvcGVyZi9jaHJvbWVfdGVs ZW1ldHJ5X2J1aWxkL0JVSUxELmduCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdG9vbHMv cGVyZi9jaHJvbWVfdGVsZW1ldHJ5X2J1aWxkL0JVSUxELmduCitAQCAtMTA3LDcgKzEwNyw2IEBA IGdyb3VwKCJ0ZWxlbWV0cnlfY2hyb21lX3Rlc3Rfd2l0aG91dF9jaHJvbWUiKSB7CisgICAgICIv L3Rvb2xzL3BlcmYvY29yZS8iLCAgIyBjaHJvbWVfdGVsZW1ldHJ5X2J1aWxkLyBkZXBlbmRzIG9u IGNvcmUvCisgICBdCisgICBkYXRhX2RlcHMgPSBbCistICAgICIvL3RoaXJkX3BhcnR5L2NhdGFw dWx0OnRlbGVtZXRyeV9jaHJvbWVfdGVzdF9zdXBwb3J0IiwKKyAgICAgIi8vdG9vbHMvbWV0cmlj czptZXRyaWNzX3B5dGhvbl90ZXN0cyIsCisgICBdCisgCitAQCAtMTUxLDcgKzE1MCw1IEBAIGdy b3VwKCJ0ZWxlbWV0cnlfY2hyb21lX3Rlc3Rfd2l0aG91dF9jaHJvbWUiKSB7CisgICAgICAgIi8v YnVpbGQvYW5kcm9pZDpkZXZpbF9jaHJvbWl1bV9weSIsCisgICAgICAgIi8vYnVpbGQvYW5kcm9p ZDpzdGFja190b29scyIsCisgICAgIF0KKy0gIH0gZWxzZSBpZiAoIWlzX2Z1Y2hzaWEpIHsKKy0g ICAgZGF0YV9kZXBzICs9IFsgIi8vdGhpcmRfcGFydHkvY2F0YXB1bHQvdGVsZW1ldHJ5OmJpdG1h cHRvb2xzIiBdCisgICB9CisgfQorZGlmZiAtLWdpdCBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90 b29scy9wZXJmL2NvcmUvcGVyZmV0dG9fYmluYXJ5X3JvbGxlci9CVUlMRC5nbiBiL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS90b29scy9wZXJmL2NvcmUvcGVyZmV0dG9fYmluYXJ5X3JvbGxlci9CVUlM RC5nbgoraW5kZXggN2ZlNDhjYmExNDMuLmU5YzdmMDI2MWE1IDEwMDY0NAorLS0tIGEvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL3Rvb2xzL3BlcmYvY29yZS9wZXJmZXR0b19iaW5hcnlfcm9sbGVyL0JV SUxELmduCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdG9vbHMvcGVyZi9jb3JlL3BlcmZl dHRvX2JpbmFyeV9yb2xsZXIvQlVJTEQuZ24KK0BAIC03LDcgKzcsNiBAQCBpbXBvcnQoIi8vYnVp bGQvdXRpbC9nZW5lcmF0ZV93cmFwcGVyLmduaSIpCisgZ2VuZXJhdGVfd3JhcHBlcigidXBsb2Fk X3RyYWNlX3Byb2Nlc3NvciIpIHsKKyAgIHRlc3Rvbmx5ID0gdHJ1ZQorICAgZGF0YV9kZXBzID0g WworLSAgICAiLy90aGlyZF9wYXJ0eS9jYXRhcHVsdDp0ZWxlbWV0cnlfY2hyb21lX3Rlc3Rfc3Vw cG9ydCIsCisgICAgICIvL3RoaXJkX3BhcnR5L3BlcmZldHRvL3NyYy90cmFjZV9wcm9jZXNzb3I6 dHJhY2VfcHJvY2Vzc29yX3NoZWxsIiwKKyAgIF0KKyAgIGRhdGEgPSBbCitkaWZmIC0tZ2l0IGEv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3Rvb2xzL3BvbHltZXIvQlVJTEQuZ24gYi9zcmMvM3JkcGFy dHkvY2hyb21pdW0vdG9vbHMvcG9seW1lci9CVUlMRC5nbgoraW5kZXggMDkyMDY2YjdjMDQuLmQx MTUxNDRjZDYxIDEwMDY0NAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Rvb2xzL3BvbHlt ZXIvQlVJTEQuZ24KKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90b29scy9wb2x5bWVyL0JV SUxELmduCitAQCAtMTAsNiArMTAsNSBAQCBncm91cCgicG9seW1lcl90b29sc19weXRob25fdW5p dHRlc3RzIikgeworICAgICAiLy90ZXN0aW5nL3NjcmlwdHMvcnVuX2lzb2xhdGVkX3NjcmlwdF90 ZXN0LnB5IiwKKyAgICAgIi8vdGVzdGluZy94dmZiLnB5IiwKKyAgICAgIi8vdG9vbHMvcG9seW1l ci8iLAorLSAgICAiLy90aGlyZF9wYXJ0eS9jYXRhcHVsdC90aGlyZF9wYXJ0eS90eXAvIiwKKyAg IF0KKyB9CitkaWZmIC0tZ2l0IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Y4L3Rvb2xzL0JVSUxE LmduIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Y4L3Rvb2xzL0JVSUxELmduCitpbmRleCAyZjgx OTdkZDM2OS4uODMzMDRiNjM0MmIgMTAwNjQ0CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0v djgvdG9vbHMvQlVJTEQuZ24KKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS92OC90b29scy9C VUlMRC5nbgorQEAgLTMxLDEwICszMSw2IEBAIGdyb3VwKCJ2OF9hbmRyb2lkX3Rlc3RfcnVubmVy X2RlcHMiKSB7CisgCisgICBpZiAoaXNfYW5kcm9pZCAmJiAhYnVpbGRfd2l0aF9jaHJvbWl1bSkg eworICAgICBkYXRhX2RlcHMgPSBbICIvL2J1aWxkL2FuZHJvaWQ6dGVzdF9ydW5uZXJfcHkiIF0K Ky0gICAgZGF0YSA9IFsKKy0gICAgICAjIFRoaXMgaXMgdXNlZCBieSBhbmRyb2lkLnB5LCBidXQg bm90IGluY2x1ZGVkIGJ5IHRlc3RfcnVubmVyX3B5IGFib3ZlLgorLSAgICAgICIvL3RoaXJkX3Bh cnR5L2NhdGFwdWx0L2RldmlsL2RldmlsL2FuZHJvaWQvcGVyZi8iLAorLSAgICBdCisgICB9Cisg fQorIAorZGlmZiAtLWdpdCBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS93ZWJsYXllci9zaGVsbC9C VUlMRC5nbiBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS93ZWJsYXllci9zaGVsbC9CVUlMRC5nbgor aW5kZXggNjY5ODRhN2RhNTQuLjE4MTVmYWQ2MjNkIDEwMDY0NAorLS0tIGEvc3JjLzNyZHBhcnR5 L2Nocm9taXVtL3dlYmxheWVyL3NoZWxsL0JVSUxELmduCisrKysgYi9zcmMvM3JkcGFydHkvY2hy b21pdW0vd2VibGF5ZXIvc2hlbGwvQlVJTEQuZ24KK0BAIC0xNjEsNyArMTYxLDYgQEAgcmVwYWNr KCJzdXBwb3J0X3BhayIpIHsKKyAgICAgIiRyb290X2dlbl9kaXIvY29tcG9uZW50cy9zdHJpbmdz L2NvbXBvbmVudHNfbG9jYWxlX3NldHRpbmdzX2VuLVVTLnBhayIsCisgICAgICIkcm9vdF9nZW5f ZGlyL2NvbXBvbmVudHMvc3RyaW5ncy9jb21wb25lbnRzX3N0cmluZ3NfZW4tVVMucGFrIiwKKyAg ICAgIiRyb290X2dlbl9kaXIvY29udGVudC9hcHAvcmVzb3VyY2VzL2NvbnRlbnRfcmVzb3VyY2Vz XzEwMF9wZXJjZW50LnBhayIsCistICAgICIkcm9vdF9nZW5fZGlyL2NvbnRlbnQvYnJvd3Nlci90 cmFjaW5nL3RyYWNpbmdfcmVzb3VyY2VzLnBhayIsCisgICAgICIkcm9vdF9nZW5fZGlyL2NvbnRl bnQvY29udGVudF9yZXNvdXJjZXMucGFrIiwKKyAgICAgIiRyb290X2dlbl9kaXIvY29udGVudC9k ZXZfdWlfY29udGVudF9yZXNvdXJjZXMucGFrIiwKKyAgICAgIiRyb290X2dlbl9kaXIvbW9qby9w dWJsaWMvanMvbW9qb19iaW5kaW5nc19yZXNvdXJjZXMucGFrIiwKK0BAIC0xODIsNyArMTgxLDYg QEAgcmVwYWNrKCJzdXBwb3J0X3BhayIpIHsKKyAgICAgIi8vY29udGVudDpjb250ZW50X3Jlc291 cmNlcyIsCisgICAgICIvL2NvbnRlbnQ6ZGV2X3VpX2NvbnRlbnRfcmVzb3VyY2VzIiwKKyAgICAg Ii8vY29udGVudC9hcHAvcmVzb3VyY2VzIiwKKy0gICAgIi8vY29udGVudC9icm93c2VyL3RyYWNp bmc6cmVzb3VyY2VzIiwKKyAgICAgIi8vbW9qby9wdWJsaWMvanM6cmVzb3VyY2VzIiwKKyAgICAg Ii8vbmV0Om5ldF9yZXNvdXJjZXMiLAorICAgICAiLy90aGlyZF9wYXJ0eS9ibGluay9wdWJsaWM6 cmVzb3VyY2VzIiwKKy0tIAorMi4zNS4xCisKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ1LXdlYmVu Z2luZS9wYXRjaGVzL3F0NS13ZWJlbmdpbmUtcHl0aG9uMy5wYXRjaCBiL3NyY3BrZ3MvcXQ1LXdl YmVuZ2luZS9wYXRjaGVzL3F0NS13ZWJlbmdpbmUtcHl0aG9uMy5wYXRjaApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMC4uY2JlN2Q2OWI0NjMyNzgKLS0tIC9kZXYvbnVs bAorKysgYi9zcmNwa2dzL3F0NS13ZWJlbmdpbmUvcGF0Y2hlcy9xdDUtd2ViZW5naW5lLXB5dGhv bjMucGF0Y2gKQEAgLTAsMCArMSwxOTUgQEAKK3NvdXJjZTogaHR0cHM6Ly9naXRsYWIuYXJjaGxp bnV4Lm9yZy9hcmNobGludXgvcGFja2FnaW5nL3BhY2thZ2VzL3F0NS13ZWJlbmdpbmUvLS9ibG9i LzUuMTUuMTYtNi9xdDUtd2ViZW5naW5lLXB5dGhvbjMucGF0Y2gKKworZGlmZiAtLWdpdCBhL2Nv bmZpZ3VyZS5wcmkgYi9jb25maWd1cmUucHJpCitpbmRleCA4NzA1YWQ5My4uNjcyM2JmZmUgMTAw NjQ0CistLS0gYS9jb25maWd1cmUucHJpCisrKysgYi9jb25maWd1cmUucHJpCitAQCAtNywyMCAr Nyw3IEBAIFFUV0VCRU5HSU5FX1NPVVJDRV9UUkVFID0gJCRQV0QKKyBlcXVhbHMoUU1BS0VfSE9T VC5vcywgV2luZG93cyk6IEVYRV9TVUZGSVggPSAuZXhlCisgCisgZGVmaW5lVGVzdChpc1B5dGhv blZlcnNpb25TdXBwb3J0ZWQpIHsKKy0gICAgcHl0aG9uID0gJCRzeXN0ZW1fcXVvdGUoJCRzeXN0 ZW1fcGF0aCgkJDEpKQorLSAgICBweXRob25fdmVyc2lvbiA9ICQkc3lzdGVtKCckJHB5dGhvbiAt YyAiaW1wb3J0IHN5czsgcHJpbnQoc3lzLnZlcnNpb25faW5mb1swOjNdKSInKQorLSAgICBweXRo b25fdmVyc2lvbiB+PSBzL1soKV0vL2cKKy0gICAgcHl0aG9uX3ZlcnNpb24gPSAkJHNwbGl0KHB5 dGhvbl92ZXJzaW9uLCAnLCcpCistICAgIHB5dGhvbl9tYWpvcl92ZXJzaW9uID0gJCRmaXJzdChw eXRob25fdmVyc2lvbikKKy0gICAgZ3JlYXRlclRoYW4ocHl0aG9uX21ham9yX3ZlcnNpb24sIDIp IHsKKy0gICAgICAgIHF0TG9nKCJQeXRob24gdmVyc2lvbiAzIGlzIG5vdCBzdXBwb3J0ZWQgYnkg Q2hyb21pdW0uIikKKy0gICAgICAgIHJldHVybihmYWxzZSkKKy0gICAgfQorLSAgICBweXRob25f bWlub3JfdmVyc2lvbiA9ICQkbWVtYmVyKHB5dGhvbl92ZXJzaW9uLCAxKQorLSAgICBweXRob25f cGF0Y2hfdmVyc2lvbiA9ICQkbWVtYmVyKHB5dGhvbl92ZXJzaW9uLCAyKQorLSAgICBncmVhdGVy VGhhbihweXRob25fbWFqb3JfdmVyc2lvbiwgMSk6IGdyZWF0ZXJUaGFuKHB5dGhvbl9taW5vcl92 ZXJzaW9uLCA2KTogZ3JlYXRlclRoYW4ocHl0aG9uX3BhdGNoX3ZlcnNpb24sIDQpOiByZXR1cm4o dHJ1ZSkKKy0gICAgcXRMb2coIlVuc3VwcG9ydGVkIHB5dGhvbiB2ZXJzaW9uOiAkJHtweXRob25f bWFqb3JfdmVyc2lvbn0uJCR7cHl0aG9uX21pbm9yX3ZlcnNpb259LiQke3B5dGhvbl9wYXRjaF92 ZXJzaW9ufS4iKQorLSAgICByZXR1cm4oZmFsc2UpCisrICAgIHJldHVybih0cnVlKQorIH0KKyAK KyBkZWZpbmVUZXN0KHF0Q29uZlRlc3RfZGV0ZWN0SnVtYm9CdWlsZCkgeworQEAgLTUyLDEwICs0 OCwxMCBAQCBkZWZpbmVUZXN0KHF0Q29uZlJlcG9ydF9qdW1ib0J1aWxkKSB7CisgICAgIHF0Q29u ZlJlcG9ydFBhZGRlZCgkJHsxfSwgJCRtZXJnZUxpbWl0KQorIH0KKyAKKy1kZWZpbmVUZXN0KHF0 Q29uZlRlc3RfZGV0ZWN0UHl0aG9uMikgeworLSAgICBweXRob24gPSAkJHF0Q29uZkZpbmRJblBh dGgoInB5dGhvbjIkJEVYRV9TVUZGSVgiKQorK2RlZmluZVRlc3QocXRDb25mVGVzdF9kZXRlY3RQ eXRob24pIHsKKysgICAgcHl0aG9uID0gJCRxdENvbmZGaW5kSW5QYXRoKCJweXRob24zLjExJCRF WEVfU1VGRklYIikKKyAgICAgaXNFbXB0eShweXRob24pIHsKKy0gICAgICAgIHF0TG9nKCIncHl0 aG9uMiQkRVhFX1NVRkZJWCcgbm90IGZvdW5kIGluIFBBVEguIENoZWNraW5nIGZvciAncHl0aG9u JCRFWEVfU1VGRklYJy4iKQorKyAgICAgICAgcXRMb2coIidweXRob24zLjExJCRFWEVfU1VGRklY JyBub3QgZm91bmQgaW4gUEFUSC4gQ2hlY2tpbmcgZm9yICdweXRob24kJEVYRV9TVUZGSVgnLiIp CisgICAgICAgICBweXRob24gPSAkJHF0Q29uZkZpbmRJblBhdGgoInB5dGhvbiQkRVhFX1NVRkZJ WCIpCisgICAgIH0KKyAgICAgaXNFbXB0eShweXRob24pIHsKK0BAIC02MywxMSArNTksMTEgQEAg ZGVmaW5lVGVzdChxdENvbmZUZXN0X2RldGVjdFB5dGhvbjIpIHsKKyAgICAgICAgIHJldHVybihm YWxzZSkKKyAgICAgfQorICAgICAhaXNQeXRob25WZXJzaW9uU3VwcG9ydGVkKCQkcHl0aG9uKSB7 CistICAgICAgICBxdExvZygiQSBzdWl0YWJsZSBQeXRob24gMiBleGVjdXRhYmxlIGNvdWxkIG5v dCBiZSBsb2NhdGVkLiIpCisrICAgICAgICBxdExvZygiQSBzdWl0YWJsZSBQeXRob24gZXhlY3V0 YWJsZSBjb3VsZCBub3QgYmUgbG9jYXRlZC4iKQorICAgICAgICAgcmV0dXJuKGZhbHNlKQorICAg ICB9CisgCistICAgICMgTWFrZSB0ZXN0cy5weXRob24yLmxvY2F0aW9uIGF2YWlsYWJsZSBpbiBj b25maWd1cmUuanNvbi4KKysgICAgIyBNYWtlIHRlc3RzLnB5dGhvbi5sb2NhdGlvbiBhdmFpbGFi bGUgaW4gY29uZmlndXJlLmpzb24uCisgICAgICQkezF9LmxvY2F0aW9uID0gJCRjbGVhbl9wYXRo KCQkcHl0aG9uKQorICAgICBleHBvcnQoJCR7MX0ubG9jYXRpb24pCisgICAgICQkezF9LmNhY2hl ICs9IGxvY2F0aW9uCitkaWZmIC0tZ2l0IGEvbWtzcGVjcy9mZWF0dXJlcy9mdW5jdGlvbnMucHJm IGIvbWtzcGVjcy9mZWF0dXJlcy9mdW5jdGlvbnMucHJmCitpbmRleCAyNzUwZDcwNy4uOWZkYTEz ZDAgMTAwNjQ0CistLS0gYS9ta3NwZWNzL2ZlYXR1cmVzL2Z1bmN0aW9ucy5wcmYKKysrKyBiL21r c3BlY3MvZmVhdHVyZXMvZnVuY3Rpb25zLnByZgorQEAgLTM5LDExICszOSwxMSBAQCBkZWZpbmVS ZXBsYWNlKHdoaWNoKSB7CisgCisgIyBSZXR1cm5zIHRoZSB1bnF1b3RlZCBwYXRoIHRvIHRoZSBw eXRob24gZXhlY3V0YWJsZS4KKyBkZWZpbmVSZXBsYWNlKHB5dGhvblBhdGgpIHsKKy0gICAgaXNF bXB0eShRTUFLRV9QWVRIT04yKSB7CisrICAgIGlzRW1wdHkoUU1BS0VfUFlUSE9OKSB7CisgICAg ICAgICAjIEZhbGxiYWNrIGZvciBidWlsZGluZyBRdFdlYkVuZ2luZSB3aXRoIFF0IDwgNS44Cist ICAgICAgICBRTUFLRV9QWVRIT04yID0gcHl0aG9uCisrICAgICAgICBRTUFLRV9QWVRIT04gPSBw eXRob24KKyAgICAgfQorLSAgICByZXR1cm4oJCRRTUFLRV9QWVRIT04yKQorKyAgICByZXR1cm4o JCRRTUFLRV9QWVRIT04pCisgfQorIAorICMgUmV0dXJucyB0aGUgcHl0aG9uIGV4ZWN1dGFibGUg Zm9yIHVzZSB3aXRoIHNoZWxsIC8gbWFrZSB0YXJnZXRzLgorZGlmZiAtLWdpdCBhL3NyYy9idWls ZHRvb2xzL2NvbmZpZy9zdXBwb3J0LnByaSBiL3NyYy9idWlsZHRvb2xzL2NvbmZpZy9zdXBwb3J0 LnByaQoraW5kZXggZTdmODY5YTEuLjFiZjJjNWQ3IDEwMDY0NAorLS0tIGEvc3JjL2J1aWxkdG9v bHMvY29uZmlnL3N1cHBvcnQucHJpCisrKysgYi9zcmMvYnVpbGR0b29scy9jb25maWcvc3VwcG9y dC5wcmkKK0BAIC0yMSw3ICsyMSw3IEBAIGRlZmluZVJlcGxhY2UocXR3ZWJlbmdpbmVfY2hlY2tX ZWJFbmdpbmVDb3JlRXJyb3IpIHsKKyAgICAgIXF0d2ViZW5naW5lX2NoZWNrRm9yR3BlcmYoUXRX ZWJFbmdpbmUpOnJldHVybihmYWxzZSkKKyAgICAgIXF0d2ViZW5naW5lX2NoZWNrRm9yQmlzb24o UXRXZWJFbmdpbmUpOnJldHVybihmYWxzZSkKKyAgICAgIXF0d2ViZW5naW5lX2NoZWNrRm9yRmxl eChRdFdlYkVuZ2luZSk6cmV0dXJuKGZhbHNlKQorLSAgICAhcXR3ZWJlbmdpbmVfY2hlY2tGb3JQ eXRob24yKFF0V2ViRW5naW5lKTpyZXR1cm4oZmFsc2UpCisrICAgICFxdHdlYmVuZ2luZV9jaGVj a0ZvclB5dGhvbihRdFdlYkVuZ2luZSk6cmV0dXJuKGZhbHNlKQorICAgICAhcXR3ZWJlbmdpbmVf Y2hlY2tGb3JOb2RlanMoUXRXZWJFbmdpbmUpOnJldHVybihmYWxzZSkKKyAgICAgIXF0d2ViZW5n aW5lX2NoZWNrRm9yU2FuaXRpemVyKFF0V2ViRW5naW5lKTpyZXR1cm4oZmFsc2UpCisgICAgIGxp bnV4OiFxdHdlYmVuZ2luZV9jaGVja0ZvclBrZ0NmZyhRdFdlYkVuZ2luZSk6cmV0dXJuKGZhbHNl KQorQEAgLTUxLDcgKzUxLDcgQEAgZGVmaW5lUmVwbGFjZShxdHdlYmVuZ2luZV9jaGVja1BkZkVy cm9yKSB7CisgICAgICFxdHdlYmVuZ2luZV9jaGVja0ZvckdwZXJmKFF0UGRmKTpyZXR1cm4oZmFs c2UpCisgICAgICFxdHdlYmVuZ2luZV9jaGVja0ZvckJpc29uKFF0UGRmKTpyZXR1cm4oZmFsc2Up CisgICAgICFxdHdlYmVuZ2luZV9jaGVja0ZvckZsZXgoUXRQZGYpOnJldHVybihmYWxzZSkKKy0g ICAgIXF0d2ViZW5naW5lX2NoZWNrRm9yUHl0aG9uMihRdFBkZik6cmV0dXJuKGZhbHNlKQorKyAg ICAhcXR3ZWJlbmdpbmVfY2hlY2tGb3JQeXRob24oUXRQZGYpOnJldHVybihmYWxzZSkKKyAgICAg IXF0d2ViZW5naW5lX2NoZWNrRm9yU2FuaXRpemVyKFF0UGRmKTpyZXR1cm4oZmFsc2UpCisgICAg IGxpbnV4OiFxdHdlYmVuZ2luZV9jaGVja0ZvclBrZ0NmZyhRdFBkZik6cmV0dXJuKGZhbHNlKQor ICAgICBsaW51eDohcXR3ZWJlbmdpbmVfY2hlY2tGb3JIb3N0UGtnQ2ZnKFF0UGRmKTpyZXR1cm4o ZmFsc2UpCitAQCAtMTQzLDEwICsxNDMsMTAgQEAgZGVmaW5lVGVzdChxdHdlYmVuZ2luZV9jaGVj a0ZvckZsZXgpIHsKKyAgICAgcmV0dXJuKHRydWUpCisgfQorIAorLWRlZmluZVRlc3QocXR3ZWJl bmdpbmVfY2hlY2tGb3JQeXRob24yKSB7CisrZGVmaW5lVGVzdChxdHdlYmVuZ2luZV9jaGVja0Zv clB5dGhvbikgeworICAgICBtb2R1bGUgPSAkJDEKKy0gICAgIXF0Q29uZmlnKHdlYmVuZ2luZS1w eXRob24yKSB7CistICAgICAgICBxdHdlYmVuZ2luZV9za2lwQnVpbGQoIlB5dGhvbiB2ZXJzaW9u IDIgKDIuNy41IG9yIGxhdGVyKSBpcyByZXF1aXJlZCB0byBidWlsZCAkJHttb2R1bGV9LiIpCisr ICAgICFxdENvbmZpZyh3ZWJlbmdpbmUtcHl0aG9uKSB7CisrICAgICAgICBxdHdlYmVuZ2luZV9z a2lwQnVpbGQoIlB5dGhvbiBpcyByZXF1aXJlZCB0byBidWlsZCAkJHttb2R1bGV9LiIpCisgICAg ICAgICByZXR1cm4oZmFsc2UpCisgICAgIH0KKyAgICAgcmV0dXJuKHRydWUpCitkaWZmIC0tZ2l0 IGEvc3JjL2J1aWxkdG9vbHMvY29uZmlndXJlLmpzb24gYi9zcmMvYnVpbGR0b29scy9jb25maWd1 cmUuanNvbgoraW5kZXggODhkMTc5MGMuLjAzMmFhNjY1IDEwMDY0NAorLS0tIGEvc3JjL2J1aWxk dG9vbHMvY29uZmlndXJlLmpzb24KKysrKyBiL3NyYy9idWlsZHRvb2xzL2NvbmZpZ3VyZS5qc29u CitAQCAtMjk1LDkgKzI5NSw5IEBACisgICAgICAgICAgICAgImxhYmVsIjogInN5c3RlbSBuaW5q YSIsCisgICAgICAgICAgICAgInR5cGUiOiAiZGV0ZWN0TmluamEiCisgICAgICAgICB9LAorLSAg ICAgICAgIndlYmVuZ2luZS1weXRob24yIjogeworLSAgICAgICAgICAgICJsYWJlbCI6ICJweXRo b24yIiwKKy0gICAgICAgICAgICAidHlwZSI6ICJkZXRlY3RQeXRob24yIiwKKysgICAgICAgICJ3 ZWJlbmdpbmUtcHl0aG9uIjogeworKyAgICAgICAgICAgICJsYWJlbCI6ICJweXRob24iLAorKyAg ICAgICAgICAgICJ0eXBlIjogImRldGVjdFB5dGhvbiIsCisgICAgICAgICAgICAgImxvZyI6ICJs b2NhdGlvbiIKKyAgICAgICAgIH0sCisgICAgICAgICAid2ViZW5naW5lLXdpbnZlcnNpb24iOiB7 CitAQCAtMzc0LDcgKzM3NCw3IEBACisgICAgICAgICAgICAgICAgICAgICAgICAgICYmIGZlYXR1 cmVzLndlYmVuZ2luZS1ncGVyZgorICAgICAgICAgICAgICAgICAgICAgICAgICAmJiBmZWF0dXJl cy53ZWJlbmdpbmUtYmlzb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgZmVhdHVyZXMu d2ViZW5naW5lLWZsZXgKKy0gICAgICAgICAgICAgICAgICAgICAgICAgJiYgZmVhdHVyZXMud2Vi ZW5naW5lLXB5dGhvbjIKKysgICAgICAgICAgICAgICAgICAgICAgICAgJiYgZmVhdHVyZXMud2Vi ZW5naW5lLXB5dGhvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAmJiBmZWF0dXJlcy53ZWJl bmdpbmUtbm9kZWpzCisgICAgICAgICAgICAgICAgICAgICAgICAgICYmICghY29uZmlnLnNhbml0 aXplciB8fCBmZWF0dXJlcy53ZWJlbmdpbmUtc2FuaXRpemVyKQorICAgICAgICAgICAgICAgICAg ICAgICAgICAmJiAoIWNvbmZpZy5saW51eCB8fCBmZWF0dXJlcy5wa2ctY29uZmlnKQorQEAgLTQw MCw3ICs0MDAsNyBAQAorICAgICAgICAgICAgICAgICAgICAgICAgICAmJiBmZWF0dXJlcy53ZWJl bmdpbmUtZ3BlcmYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgZmVhdHVyZXMud2ViZW5n aW5lLWJpc29uCisgICAgICAgICAgICAgICAgICAgICAgICAgICYmIGZlYXR1cmVzLndlYmVuZ2lu ZS1mbGV4CistICAgICAgICAgICAgICAgICAgICAgICAgICYmIGZlYXR1cmVzLndlYmVuZ2luZS1w eXRob24yCisrICAgICAgICAgICAgICAgICAgICAgICAgICYmIGZlYXR1cmVzLndlYmVuZ2luZS1w eXRob24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgKCFjb25maWcuc2FuaXRpemVyIHx8 IGZlYXR1cmVzLndlYmVuZ2luZS1zYW5pdGl6ZXIpCisgICAgICAgICAgICAgICAgICAgICAgICAg ICYmICghY29uZmlnLmxpbnV4IHx8IGZlYXR1cmVzLnBrZy1jb25maWcpCisgICAgICAgICAgICAg ICAgICAgICAgICAgICYmICghY29uZmlnLmxpbnV4IHx8IGZlYXR1cmVzLndlYmVuZ2luZS1ob3N0 LXBrZy1jb25maWcpCitAQCAtNDIzLDEyICs0MjMsMTIgQEAKKyAgICAgICAgICAgICAiYXV0b0Rl dGVjdCI6ICJmZWF0dXJlcy5wcml2YXRlX3Rlc3RzIiwKKyAgICAgICAgICAgICAib3V0cHV0Ijog WyAicHJpdmF0ZUZlYXR1cmUiIF0KKyAgICAgICAgIH0sCistICAgICAgICAid2ViZW5naW5lLXB5 dGhvbjIiOiB7CistICAgICAgICAgICAgImxhYmVsIjogInB5dGhvbjIiLAorLSAgICAgICAgICAg ICJjb25kaXRpb24iOiAidGVzdHMud2ViZW5naW5lLXB5dGhvbjIiLAorKyAgICAgICAgIndlYmVu Z2luZS1weXRob24iOiB7CisrICAgICAgICAgICAgImxhYmVsIjogInB5dGhvbiIsCisrICAgICAg ICAgICAgImNvbmRpdGlvbiI6ICJ0ZXN0cy53ZWJlbmdpbmUtcHl0aG9uIiwKKyAgICAgICAgICAg ICAib3V0cHV0IjogWworICAgICAgICAgICAgICAgICAicHJpdmF0ZUZlYXR1cmUiLAorLSAgICAg ICAgICAgICAgICB7ICJ0eXBlIjogInZhckFzc2lnbiIsICJuYW1lIjogIlFNQUtFX1BZVEhPTjIi LCAidmFsdWUiOiAidGVzdHMud2ViZW5naW5lLXB5dGhvbjIubG9jYXRpb24iIH0KKysgICAgICAg ICAgICAgICAgeyAidHlwZSI6ICJ2YXJBc3NpZ24iLCAibmFtZSI6ICJRTUFLRV9QWVRIT04iLCAi dmFsdWUiOiAidGVzdHMud2ViZW5naW5lLXB5dGhvbi5sb2NhdGlvbiIgfQorICAgICAgICAgICAg IF0KKyAgICAgICAgIH0sCisgICAgICAgICAid2ViZW5naW5lLWdwZXJmIjogeworRnJvbSBiNjBm YzI1MGQ2NTE0NDUzMmNkNDdlYWM3MjI3OWU5M2JhYWVjMmI4IE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQorRnJvbTogSmltaSBIdW90YXJpIDxjaGlpdG9vQGdlbnRvby5vcmc+CitEYXRlOiBXZWQs IDYgQXByIDIwMjIgMTQ6MzU6MTQgKzAzMDAKK1N1YmplY3Q6IFtQQVRDSF0gUmVtb3ZlIGRlcGVu ZGVuY3kgb24gY2F0YXB1bHQKKworLS0tCisgc3JjL2NvcmUvcXR3ZWJlbmdpbmVfcmVzb3VyY2Vz LmduaSB8IDIgLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdp dCBhL3NyYy9jb3JlL3F0d2ViZW5naW5lX3Jlc291cmNlcy5nbmkgYi9zcmMvY29yZS9xdHdlYmVu Z2luZV9yZXNvdXJjZXMuZ25pCitpbmRleCAzYmYxYTVkNTcuLjI5ZmQyNjAzYyAxMDA2NDQKKy0t LSBhL3NyYy9jb3JlL3F0d2ViZW5naW5lX3Jlc291cmNlcy5nbmkKKysrKyBiL3NyYy9jb3JlL3F0 d2ViZW5naW5lX3Jlc291cmNlcy5nbmkKK0BAIC0yNyw3ICsyNyw2IEBAIHJlcGFjaygicXR3ZWJl bmdpbmVfcmVwYWNrX3Jlc291cmNlcyIpIHsKKyAgICAgIiRyb290X2dlbl9kaXIvY29tcG9uZW50 cy9jb21wb25lbnRzX3Jlc291cmNlcy5wYWsiLAorICAgICAiJHJvb3RfZ2VuX2Rpci9jb21wb25l bnRzL2Rldl91aV9jb21wb25lbnRzX3Jlc291cmNlcy5wYWsiLAorICAgICAiJHJvb3RfZ2VuX2Rp ci9jb250ZW50L2Jyb3dzZXIvcmVzb3VyY2VzL21lZGlhL21lZGlhX2ludGVybmFsc19yZXNvdXJj ZXMucGFrIiwKKy0gICAgIiRyb290X2dlbl9kaXIvY29udGVudC9icm93c2VyL3RyYWNpbmcvdHJh Y2luZ19yZXNvdXJjZXMucGFrIiwKKyAgICAgIiRyb290X2dlbl9kaXIvY29udGVudC9jb250ZW50 X3Jlc291cmNlcy5wYWsiLAorICAgICAiJHJvb3RfZ2VuX2Rpci9jb250ZW50L2Rldl91aV9jb250 ZW50X3Jlc291cmNlcy5wYWsiLAorICAgICAiJHJvb3RfZ2VuX2Rpci9tb2pvL3B1YmxpYy9qcy9t b2pvX2JpbmRpbmdzX3Jlc291cmNlcy5wYWsiLAorQEAgLTQ0LDcgKzQzLDYgQEAgcmVwYWNrKCJx dHdlYmVuZ2luZV9yZXBhY2tfcmVzb3VyY2VzIikgeworICAgICAgIi8vY29tcG9uZW50cy9yZXNv dXJjZXM6Y29tcG9uZW50c19yZXNvdXJjZXNfZ3JpdCIsCisgICAgICAiLy9jb21wb25lbnRzL3Jl c291cmNlczpkZXZfdWlfY29tcG9uZW50c19yZXNvdXJjZXNfZ3JpdCIsCisgICAgICAiLy9jb250 ZW50L2Jyb3dzZXIvcmVzb3VyY2VzL21lZGlhOm1lZGlhX2ludGVybmFsc19yZXNvdXJjZXMiLAor LSAgICAgIi8vY29udGVudC9icm93c2VyL3RyYWNpbmc6cmVzb3VyY2VzIiwKKyAgICAgICIvL2Nv bnRlbnQ6Y29udGVudF9yZXNvdXJjZXNfZ3JpdCIsCisgICAgICAiLy9jb250ZW50OmRldl91aV9j b250ZW50X3Jlc291cmNlc19ncml0IiwKKyAgICAgICIvL21vam8vcHVibGljL2pzOnJlc291cmNl cyIsCistLSAKKzIuMzUuMQorCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0NS13ZWJlbmdpbmUvdGVt cGxhdGUgYi9zcmNwa2dzL3F0NS13ZWJlbmdpbmUvdGVtcGxhdGUKaW5kZXggOGQyZGYxYjUxNzVi YWQuLjNjMGY1YmRhNjljN2VlIDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0NS13ZWJlbmdpbmUvdGVt cGxhdGUKKysrIGIvc3JjcGtncy9xdDUtd2ViZW5naW5lL3RlbXBsYXRlCkBAIC0xNSw3ICsxNSw3 IEBAIGNvbmZpZ3VyZV9hcmdzPSItLQogICQodm9wdF9pZiBwaXBld2lyZSAnJyAnLW5vJyktd2Vi ZW5naW5lLXdlYnJ0Yy1waXBld2lyZSIKICMgUmVseSBvbiBhdXRvIGRldGVjdGlvbiAoZmFpbHMg aWYgZm9yY2VkIGZvciBjcm9zcyBidWlsZHMpIC13ZWJlbmdpbmUtYWxzYQogaG9zdG1ha2VkZXBl bmRzPSJxdDUtcW1ha2UgZ3BlcmYgbmluamEgcXQ1LWhvc3QtdG9vbHMgZmxleCBwa2ctY29uZmln IG5vZGVqcwotIHdoaWNoIHBlcmwgcHl0aG9uIHByb3RvYnVmIG5zcy1kZXZlbCBsaWJldmVudC1k ZXZlbCB6bGliLWRldmVsIGljdS1kZXZlbAorIHdoaWNoIHBlcmwgcHl0aG9uMy4xMSBwcm90b2J1 ZiBuc3MtZGV2ZWwgbGliZXZlbnQtZGV2ZWwgemxpYi1kZXZlbCBpY3UtZGV2ZWwKICBsaWJqcGVn LXR1cmJvLWRldmVsIGxpYnBuZy1kZXZlbCBsaWJ3ZWJwLWRldmVsIGZyZWV0eXBlLWRldmVsCiAg aGFyZmJ1enotZGV2ZWwiCiBtYWtlZGVwZW5kcz0icXQ1LXdlYmNoYW5uZWwtZGV2ZWwgcXQ1LWxv Y2F0aW9uLWRldmVsIHF0NS10b29scy1kZXZlbCBxdDUtZGV2ZWwKQEAgLTc1LDE0ICs3NSwxMyBA QCBfYm9vdHN0cmFwX2duKCkgewogCWNkICR7d3Jrc3JjfS9zcmMvM3JkcGFydHkvZ24KIAlDRkxB R1M9IiRDRkxBR1NfaG9zdCIgQ1hYRkxBR1M9IiRDWFhGTEFHU19ob3N0IiBMREZMQUdTPSIkTERG TEFHU19ob3N0IiBcCiAJUEtHQ09ORklHPS91c3IvYmluL3BrZ2NvbmZpZyBQS0dfQ09ORklHX1BB VEg9Ii91c3IvbGliL3BrZ2NvbmZpZzovdXNyL3NoYXJlL3BrZ2NvbmZpZyIgXAotCQlweXRob24y IGJ1aWxkL2dlbi5weSAtLW5vLWxhc3QtY29tbWl0LXBvc2l0aW9uIC0tb3V0LXBhdGggXAorCQlw eXRob24zLjExIGJ1aWxkL2dlbi5weSAtLW5vLWxhc3QtY29tbWl0LXBvc2l0aW9uIC0tb3V0LXBh dGggXAogCQkJJHt3cmtzcmN9L3NyYy8zcmRwYXJ0eS9nbi9vdXQvUmVsZWFzZSAtLWNjICIke0ND X2hvc3Q6LSRDQ30iIFwKIAkJCS0tY3h4ICIke0NYWF9ob3N0Oi0kQ1hYfSIgLS1sZCAiJHtDWFhf aG9zdDotJENYWH0iIC0tYXIgIiR7QVJfaG9zdDotJEFSfSIgJG9wdHMKIAluaW5qYSAtQyBvdXQv UmVsZWFzZSBnbgogCWNkICR7d3Jrc3JjfQogfQogCi0KIF9jbGVhbnVwX3dya3NyY19sZWFrKCkg ewogCWlmIFsgLWQgIiR7UEtHREVTVERJUn0vdXNyL2xpYi9jbWFrZSIgXTsgdGhlbgogCQkjIFJl cGxhY2UgcmVmZXJlbmNlcyB0byAke3dya3NyY30gaW4gY21ha2UgZmlsZXMK --===============4442281361715225687==--