From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Peter Lemenkov To: git-commits@fedoraproject.org Subject: [rpms/ejabberd] f45: Ver. 2.0.2 Date: Wed, 23 Sep 2026 19:06:44 GMT Message-ID: <179019040401.1.663419708340246858.rpms-ejabberd-84a00d01b2e0@fedoraproject.org> List-ID: X-Git-Repo: rpms/ejabberd X-Git-Branch: f45 X-Git-Rev: 84a00d01b2e0650b5bf6680fc4fca161b8ca0e0d QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZWphYmJlcmQKQnJh bmNoIDogZjQ1CkNvbW1pdCA6IDg0YTAwZDAxYjJlMDY1MGI1YmY2NjgwZmM0ZmNhMTYxYjhjYTBl MGQKQXV0aG9yIDogUGV0ZXIgTGVtZW5rb3YgPHBldGVyQGZlZG9yYXByb2plY3Qub3JnPgpEYXRl ICAgOiAyMDA4LTA4LTI5VDIwOjE2OjE3KzAwOjAwClN0YXRzICA6ICszNzAvLTI3MSBpbiA2IGZp bGUocykKVVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9lamFiYmVy ZC9jLzg0YTAwZDAxYjJlMDY1MGI1YmY2NjgwZmM0ZmNhMTYxYjhjYTBlMGQ/YnJhbmNoPWY0NQoK TG9nOgpWZXIuIDIuMC4yCgotLS0KZGlmZiAtLWdpdCBhLy5jdnNpZ25vcmUgYi8uY3ZzaWdub3Jl CmluZGV4IDYxMzEyMmIuLjdiOTBkMjUgMTAwNjQ0Ci0tLSBhLy5jdnNpZ25vcmUKKysrIGIvLmN2 c2lnbm9yZQpAQCAtMSArMSBAQAotZWphYmJlcmQtMi4wLjItYmV0YTEudGFyLmd6CitlamFiYmVy ZC0yLjAuMi50YXIuZ3oKCmRpZmYgLS1naXQgYS9lamFiYmVyZC1lamFiYmVyZGN0bF9maXguZGlm ZiBiL2VqYWJiZXJkLWVqYWJiZXJkY3RsX2ZpeC5kaWZmCmluZGV4IGFjYTY5M2EuLjNkYzhiNjkg MTAwNjQ0Ci0tLSBhL2VqYWJiZXJkLWVqYWJiZXJkY3RsX2ZpeC5kaWZmCisrKyBiL2VqYWJiZXJk LWVqYWJiZXJkY3RsX2ZpeC5kaWZmCkBAIC01LDcgKzUsNyBAQAogICMgZGVmaW5lIGRlZmF1bHQg ZW52aXJvbm1lbnQgdmFyaWFibGVzCiAgTk9ERT1lamFiYmVyZAogLUhPU1Q9bG9jYWxob3N0Ci0r SE9TVD1IT1NUPWBob3N0bmFtZSAtc2AKKytIT1NUPWBob3N0bmFtZSAtc2AKICBFUkxBTkdfTk9E RT0kTk9ERUAkSE9TVAogIEVSTD1AZXJsQAogLVJPT1RESVI9QHJvb3RkaXJACgpkaWZmIC0tZ2l0 IGEvZWphYmJlcmQuc3BlYyBiL2VqYWJiZXJkLnNwZWMKaW5kZXggOThmYzEwOC4uOWFiN2YxMiAx MDA2NDQKLS0tIGEvZWphYmJlcmQuc3BlYworKysgYi9lamFiYmVyZC5zcGVjCkBAIC0xLDE3ICsx LDE4IEBACiBOYW1lOiAgICAgICAgICAgZWphYmJlcmQKIFZlcnNpb246ICAgICAgICAyLjAuMgot UmVsZWFzZTogICAgICAgIDAuMy5iZXRhMSV7P2Rpc3R9CitSZWxlYXNlOiAgICAgICAgMSV7P2Rp c3R9CiBTdW1tYXJ5OiAgICAgICAgQSBkaXN0cmlidXRlZCwgZmF1bHQtdG9sZXJhbnQgSmFiYmVy L1hNUFAgc2VydmVyCiAKIEdyb3VwOiAgICAgICAgICBBcHBsaWNhdGlvbnMvSW50ZXJuZXQKIExp Y2Vuc2U6ICAgICAgICBHUEx2MisKIFVSTDogICAgICAgICAgICBodHRwOi8vd3d3LmVqYWJiZXJk LmltLwotU291cmNlMDoJaHR0cDovL3d3dy5wcm9jZXNzLW9uZS5uZXQvZG93bmxvYWRzLyV7bmFt ZX0vJXtuYW1lfS0le3ZlcnNpb259LWJldGExLnRhci5negorU291cmNlMDoJaHR0cDovL3d3dy5w cm9jZXNzLW9uZS5uZXQvZG93bmxvYWRzLyV7bmFtZX0vJXt2ZXJzaW9ufS8le25hbWV9LSV7dmVy c2lvbn0udGFyLmd6CiBTb3VyY2UxOiAgICAgICAgZWphYmJlcmQuaW5pdAogU291cmNlMjogICAg ICAgIGVqYWJiZXJkLmxvZ3JvdGF0ZQogCi0jIGh0dHA6Ly9lamFiYmVyZC5qYWJiZXIucnUvZWph YmJlcmRjdGwtZXh0cmEKLVNvdXJjZTQ6ICAgICAgICBodHRwczovL3N2bi5wcm9jZXNzLW9uZS5u ZXQvZWphYmJlcmQtbW9kdWxlcy9tb2RfY3RsZXh0cmEvdHJ1bmsvc3JjL21vZF9jdGxleHRyYS5l cmwKKyMgaHR0cDovL3d3dy5lamFiYmVyZC5pbS9tb2RfY3RsZXh0cmEKKyMgc3ZuIGV4cG9ydCAt ciA1NTcgaHR0cHM6Ly9zdm4ucHJvY2Vzcy1vbmUubmV0L2VqYWJiZXJkLW1vZHVsZXMvbW9kX2N0 bGV4dHJhL3RydW5rL3NyYy9tb2RfY3RsZXh0cmEuZXJsCitTb3VyY2U0OiAgICAgICAgbW9kX2N0 bGV4dHJhLmVybAogCiAjIFRoZSBmb2xsb3dpbmcgd2VyZSBleHRyYWN0ZWQgZnJvbSBhIHBhdGNo IGZvdW5kIG9uIGh0dHA6Ly9yZWFsbG9jLnNwYi5ydS9zaGFyZS9lamFiYmVyZGFkLmh0bWwKIFNv dXJjZTU6ICAgICAgICBlamFiYmVyZF9hdXRoX2FkLmVybApAQCAtMTksNyArMjAsNyBAQCBTb3Vy Y2U2OiAgICAgICAgbW9kX3NoYXJlZF9yb3N0ZXJfYWQuZXJsCiBTb3VyY2U3OiAgICAgICAgbW9k X3ZjYXJkX2FkLmVybAogU291cmNlOTogICAgICAgIGVqYWJiZXJkY3RsLnBhbQogU291cmNlMTA6 ICAgICAgIGVqYWJiZXJkY3RsLmFwcHMKLVNvdXJjZTExOiAgICAgIGVqYWJiZXJkLnBhbQorU291 cmNlMTE6ICAgICAgIGVqYWJiZXJkLnBhbQogCiAjIEZlZG9yYS1zcGVjaWZpYyBzdHVmZiAtIGZp eGluZyBwYXRocwogUGF0Y2gxOiBlamFiYmVyZC1idWlsZC5wYXRjaApAQCAtMTA0LDcgKzEwNSw3 IEBAIGlmIFsgIiQxIiAtZ2UgIjEiIF07IHRoZW4KIGZpCiAKICVwcmVwCi0lc2V0dXAgLXEgLW4g JXtuYW1lfS0le3ZlcnNpb259LWJldGExCislc2V0dXAgLXEKICVwYXRjaDEgLXAwIC1iIC5maXhf cGF0aHMKICVwYXRjaDIgLXAwIC1iIC5maXhfdXNlcgogJXBhdGNoMyAtcDAgLWIgLnBhbV9uYW1l CkBAIC0yMDcsNiArMjA4LDkgQEAgcm0gLXJmICV7YnVpbGRyb290fQogJWVuZGlmCiAKICVjaGFu Z2Vsb2cKKyogRnJpIEF1ZyAyOSAyMDA4IFBldGVyIExlbWVua292IDxsZW1lbmtvdkBnbWFpbC5j b20+IDIuMC4yLTEKKy0gVmVyLiAyLjAuMgorCiAqIFNhdCBBdWcgIDkgMjAwOCBQZXRlciBMZW1l bmtvdiA8bGVtZW5rb3ZAZ21haWwuY29tPiAyLjAuMi0wLjMuYmV0YTEKIC0gUEFNIHN1cHBvcnQg KEJaIyA0NTI4MDMpCiAKCmRpZmYgLS1naXQgYS9pbXBvcnQubG9nIGIvaW1wb3J0LmxvZwppbmRl eCBhNDU5OTI3Li4zYTEzNjE1IDEwMDY0NAotLS0gYS9pbXBvcnQubG9nCisrKyBiL2ltcG9ydC5s b2cKQEAgLTIsMyArMiw0IEBAIGVqYWJiZXJkLTJfMF8xLTNfZmM5OkhFQUQ6ZWphYmJlcmQtMi4w LjEtMy5mYzkuc3JjLnJwbToxMjE0MTUwODE2CiBlamFiYmVyZC0yXzBfMS00X2ZjOTpIRUFEOmVq YWJiZXJkLTIuMC4xLTQuZmM5LnNyYy5ycG06MTIxNDE2MDg5NQogZWphYmJlcmQtMl8wXzItMF8x X2JldGExX2ZjOTpIRUFEOmVqYWJiZXJkLTIuMC4yLTAuMS5iZXRhMS5mYzkuc3JjLnJwbToxMjE4 Mjk1NzQ5CiBlamFiYmVyZC0yXzBfMi0wXzNfYmV0YTFfZmM5OkhFQUQ6ZWphYmJlcmQtMi4wLjIt MC4zLmJldGExLmZjOS5zcmMucnBtOjEyMTgzNTA3NzUKK2VqYWJiZXJkLTJfMF8yLTFfZmM5OkhF QUQ6ZWphYmJlcmQtMi4wLjItMS5mYzkuc3JjLnJwbToxMjIwMDQwODY2CgpkaWZmIC0tZ2l0IGEv bW9kX2N0bGV4dHJhLmVybCBiL21vZF9jdGxleHRyYS5lcmwKaW5kZXggYzcyM2FkNi4uODc1MzA1 NyAxMDA2NDQKLS0tIGEvbW9kX2N0bGV4dHJhLmVybAorKysgYi9tb2RfY3RsZXh0cmEuZXJsCkBA IC0zLDEyICszLDExIEBACiAlJSUgQXV0aG9yICA6IEJhZGxvcCA8YmFkbG9wQG9uby5jb20+DQog JSUlIFB1cnBvc2UgOiBBZGRzIG1vcmUgY29tbWFuZHMgdG8gZWphYmJlcmRfY3RsDQogJSUlIENy ZWF0ZWQgOiAzMCBOb3YgMjAwNiBieSBCYWRsb3AgPGJhZGxvcEBvbm8uY29tPg0KLSUlJSBJZCAg ICAgIDogJElkJA0KKyUlJSBJZCAgICAgIDogJElkOiBtb2RfY3RsZXh0cmEuZXJsIDU1NyAyMDA4 LTA0LTI1IDIyOjAxOjEzWiBiYWRsb3AgJA0KICUlJS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiANCiAtbW9kdWxl KG1vZF9jdGxleHRyYSkuDQogLWF1dGhvcignYmFkbG9wQG9uby5jb20nKS4NCi0tdnNuKCckUmV2 aXNpb24kICcpLg0KIA0KIC1iZWhhdmlvdXIoZ2VuX21vZCkuDQogDQpAQCAtMjMsODcgKzIyLDk2 IEBACiAtaW5jbHVkZSgiamxpYi5ocmwiKS4NCiAtaW5jbHVkZSgibW9kX3Jvc3Rlci5ocmwiKS4N CiANCi0tcmVjb3JkKHNlc3Npb24sIHtzaWQsIHVzciwgdXMsIHByaW9yaXR5fSkuICUgY29waWVk IGZyb20gZWphYmJlcmRfc20uZXJsDQorJSUgQ29waWVkIGZyb20gZWphYmJlcmRfc20uZXJsDQor LXJlY29yZChzZXNzaW9uLCB7c2lkLCB1c3IsIHVzLCBwcmlvcml0eSwgaW5mb30pLg0KKw0KKy1j b21waWxlKGV4cG9ydF9hbGwpLg0KKw0KKyUlLS0tLS0tLS0tLS0tLQ0KKyUlIGdlbl9tb2QNCisl JS0tLS0tLS0tLS0tLS0NCiANCiBzdGFydChIb3N0LCBfT3B0cykgLT4NCi0gICAgZWphYmJlcmRf Y3RsOnJlZ2lzdGVyX2NvbW1hbmRzKFsNCi0JCQkJICAgIHsiY29tcGlsZSBmaWxlIiwgInJlY29t cGlsZSBhbmQgcmVsb2FkIGZpbGUifSwNCi0JCQkJICAgIHsibG9hZC1jb25maWcgZmlsZSIsICJs b2FkIGNvbmZpZyBmcm9tIGZpbGUifSwNCi0JCQkJICAgIHsicmVtb3ZlLW5vZGUgbm9kZW5hbWUi LCAicmVtb3ZlIGFuIGVqYWJiZXJkIG5vZGUgZnJvbSB0aGUgZGF0YWJhc2UifSwNCi0NCi0JCQkJ ICAgICUlIGVqYWJiZXJkX2F1dGgNCi0JCQkJICAgIHsiZGVsZXRlLW9sZGVyLXVzZXJzIGRheXMi LCAiZGVsZXRlIHVzZXJzIHRoYXQgaGF2ZSBub3QgbG9nZ2VkIGluIHRoZSBsYXN0ICdkYXlzJyJ9 LA0KLQkJCQkgICAgeyJzZXQtcGFzc3dvcmQgdXNlciBzZXJ2ZXIgcGFzc3dvcmQiLCAic2V0IHBh c3N3b3JkIHRvIHVzZXJAc2VydmVyIn0sDQotDQotCQkJCSAgICAlJSBlamQyb2RiYw0KLQkJCQkg ICAgeyJleHBvcnQyb2RiYyBzZXJ2ZXIgb3V0cHV0IiwgImV4cG9ydCBNbmVzaWEgdGFibGVzIG9u IHNlcnZlciB0byBmaWxlcyBvbiBvdXRwdXQgZGlyZWN0b3J5In0sDQotDQotCQkJCSAgICAlJSBt b2Rfb2ZmbGluZQ0KLQkJCQkgICAgeyJkZWxldGUtb2xkZXItbWVzc2FnZXMgZGF5cyIsICJkZWxl dGUgb2ZmbGluZSBtZXNzYWdlcyBvbGRlciB0aGFuICdkYXlzJyJ9LA0KLQ0KLQkJCQkgICAgJSUg bW9kX3NoYXJlZF9yb3N0ZXINCi0JCQkJICAgIHsic3JnLWNyZWF0ZSBncm91cCBob3N0IG5hbWUg ZGVzY3JpcHRpb24gZGlzcGxheSIsICJjcmVhdGUgdGhlIGdyb3VwIHdpdGggb3B0aW9ucyJ9LA0K LQkJCQkgICAgeyJzcmctZGVsZXRlIGdyb3VwIGhvc3QiLCAiZGVsZXRlIHRoZSBncm91cCJ9LA0K LQkJCQkgICAgeyJzcmctdXNlci1hZGQgdXNlciBzZXJ2ZXIgZ3JvdXAgaG9zdCIsICJhZGQgdXNl ckBzZXJ2ZXIgdG8gZ3JvdXAgb24gaG9zdCJ9LA0KLQkJCQkgICAgeyJzcmctdXNlci1kZWwgdXNl ciBzZXJ2ZXIgZ3JvdXAgaG9zdCIsICJkZWxldGUgdXNlckBzZXJ2ZXIgZnJvbSBncm91cCBvbiBo b3N0In0sDQotDQotCQkJCSAgICAlJSBtb2RfdmNhcmQNCi0JCQkJICAgIHsidmNhcmQtZ2V0IHVz ZXIgaG9zdCBkYXRhIFtkYXRhMl0iLCAiZ2V0IGRhdGEgZnJvbSB0aGUgdkNhcmQgb2YgdGhlIHVz ZXIifSwNCi0JCQkJICAgIHsidmNhcmQtc2V0IHVzZXIgaG9zdCBkYXRhIFtkYXRhMl0gY29udGVu dCIsICJzZXQgZGF0YSB0byBjb250ZW50IG9uIHRoZSB2Q2FyZCJ9LA0KLQ0KLQkJCQkgICAgJSUg bW9kX2Fubm91bmNlDQotCQkJCSAgICAlJSBhbm5vdW5jZV9zZW5kX29ubGluZSBob3N0IG1lc3Nh Z2UNCi0JCQkJICAgICUlIGFubm91bmNlX3NlbmRfYWxsIGhvc3QsIG1lc3NhZ2UNCi0NCi0JCQkJ ICAgICUlIG1vZF9tdWMNCi0JCQkJICAgICUlIG11Yy1hZGQgcm9vbSBvcHRzDQotCQkJCSAgICAl JSBtdWMtZGVsIHJvb20NCi0JCQkJICAgIHsibXVjLXB1cmdlIGRheXMiLCAiZGVzdHJveSByb29t cyB3aXRoIG5vdCBhY3Rpdml0eSBvbiB0aGUgbGFzdCAnZGF5cycifSwNCi0JCQkJICAgIHsibXVj LW9ubGluZS1yb29tcyIsICJsaXN0IGV4aXN0aW5nIHJvb21zIn0sDQotDQotCQkJCSAgICAlJSBt b2Rfcm9zdGVyDQotCQkJCSAgICB7ImFkZC1yb3N0ZXJpdGVtIHVzZXIxIHNlcnZlcjEgdXNlcjIg c2VydmVyMiBuaWNrIGdyb3VwIHN1YnMiLCAiQWRkIHVzZXIyQHNlcnZlcjIgdG8gdXNlcjFAc2Vy dmVyMSdzIHJvc3RlciJ9LA0KLQkJCQkgICAgJSV7IiIsICJzdWJzPSBub25lLCBmcm9tLCB0byBv ciBib3RoIn0sDQotCQkJCSAgICAlJXsiIiwgImV4YW1wbGU6IGFkZC1yb3N0ZXIgcGV0ZXIgbG9j YWxob3N0IG1pa2Ugc2VydmVyLmNvbSBNaUtlIEVtcGxveWVlcyBib3RoIn0sDQotCQkJCSAgICAl JXsiIiwgIndpbGwgYWRkIG1pa2VAc2VydmVyLmNvbSB0byBwZXRlckBsb2NhbGhvc3Qgcm9zdGVy In0sDQotCQkJCSAgICB7InJlbS1yb3N0ZXJpdGVtIHVzZXIxIHNlcnZlcjEgdXNlcjIgc2VydmVy MiIsICJSZW1vdmUgdXNlcjJAc2VydmVyMiBmcm9tIHVzZXIxQHNlcnZlcjEncyByb3N0ZXIifSwN Ci0JCQkJICAgIHsicHVzaHJvc3RlciBmaWxlIHVzZXIgc2VydmVyIiwgInB1c2ggdGVtcGxhdGUg cm9zdGVyIGluIGZpbGUgdG8gdXNlckBzZXJ2ZXIifSwNCi0JCQkJICAgIHsicHVzaHJvc3Rlci1h bGwgZmlsZSIsICJwdXNoIHRlbXBsYXRlIHJvc3RlciBpbiBmaWxlIHRvIGFsbCB0aG9zZSB1c2Vy cyJ9LA0KLQkJCQkgICAgeyJwdXNoLWFsbHRvYWxsIHNlcnZlciBncm91cCIsICJhZGRzIGFsbCB0 aGUgdXNlcnMgdG8gYWxsIHRoZSB1c2VycyBpbiBHcm91cCJ9LA0KLQ0KLQkJCQkgICAgeyJzdGF0 dXMtbGlzdCBzdGF0dXMiLCAibGlzdCB0aGUgbG9nZ2VkIHVzZXJzIHdpdGggc3RhdHVzIn0sDQot CQkJCSAgICB7InN0YXR1cy1udW0gc3RhdHVzIiwgIm51bWJlciBvZiBsb2dnZWQgdXNlcnMgd2l0 aCBzdGF0dXMifSwNCi0NCi0JCQkJICAgIHsic3RhdHMgcmVnaXN0ZXJlZHVzZXJzIiwgIm51bWJl ciBvZiByZWdpc3RlcmVkIHVzZXJzIn0sDQotCQkJCSAgICB7InN0YXRzIG9ubGluZXVzZXJzIiwg Im51bWJlciBvZiBsb2dnZWQgdXNlcnMifSwNCi0JCQkJICAgIHsic3RhdHMgdXB0aW1lLXNlY29u ZHMiLCAidXB0aW1lIG9mIGVqYWJiZXJkIG5vZGUgaW4gc2Vjb25kcyJ9LA0KLQ0KLQkJCQkgICAg JSUgbWlzYw0KLQkJCQkgICAgeyJnZXQtY29va2llIiwgImdldCB0aGUgRXJsYW5nIGNvb2tpZSBv ZiB0aGlzIG5vZGUifSwNCi0JCQkJICAgIHsia2lsbHNlc3Npb24gdXNlciBzZXJ2ZXIgcmVzb3Vy Y2UiLCAia2lsbCBhIHVzZXIgc2Vzc2lvbiJ9DQotCQkJCSAgIF0sID9NT0RVTEUsIGN0bF9wcm9j ZXNzKSwNCi0gICAgZWphYmJlcmRfY3RsOnJlZ2lzdGVyX2NvbW1hbmRzKEhvc3QsIFsNCi0JCQkJ CSAgJSUgbW9kX211Yw0KLQkJCQkJICB7Im11Yy1wdXJnZSBkYXlzIiwgImRlc3Ryb3kgcm9vbXMg d2l0aCBub3QgYWN0aXZpdHkgb24gdGhlIGxhc3QgJ2RheXMnIn0sDQotCQkJCQkgIHsibXVjLW9u bGluZS1yb29tcyIsICJsaXN0IGV4aXN0aW5nIHJvb21zIn0sDQotDQotCQkJCQkgICUlIG1vZF9s YXN0DQotCQkJCQkgIHsibnVtLWFjdGl2ZS11c2VycyBkYXlzIiwgIm51bWJlciBvZiB1c2VycyBh Y3RpdmUgaW4gdGhlIGxhc3QgJ2RheXMnIn0sDQotCQkJCQkgIHsic3RhdHVzLWxpc3Qgc3RhdHVz IiwgImxpc3QgdGhlIGxvZ2dlZCB1c2VycyB3aXRoIHN0YXR1cyJ9LA0KLQkJCQkJICB7InN0YXR1 cy1udW0gc3RhdHVzIiwgIm51bWJlciBvZiBsb2dnZWQgdXNlcnMgd2l0aCBzdGF0dXMifSwNCi0J CQkJCSAgeyJzdGF0cyByZWdpc3RlcmVkdXNlcnMiLCAibnVtYmVyIG9mIHJlZ2lzdGVyZWQgdXNl cnMifSwNCi0JCQkJCSAgeyJzdGF0cyBvbmxpbmV1c2VycyIsICJudW1iZXIgb2YgbG9nZ2VkIHVz ZXJzIn0NCi0JCQkJCSBdLCA/TU9EVUxFLCBjdGxfcHJvY2VzcyksDQotICAgIG9rLg0KLQ0KLXN0 b3AoX0hvc3QpIC0+DQotICAgIG9rLg0KLQ0KLQ0KLWN0bF9wcm9jZXNzKF9WYWwsIFsiYmxvIl0p IC0+DQotICAgIEZSZXNvdXJjZXMgPSAiZWVlYWFhIGFhYSIsDQotICAgIGlvOmZvcm1hdCgifnMi LCBbRlJlc291cmNlc10pLA0KLSAgICA/U1RBVFVTX1NVQ0NFU1M7DQorICAgIGVqYWJiZXJkX2N0 bDpyZWdpc3Rlcl9jb21tYW5kcyhjb21tYW5kc19nbG9iYWwoKSwgP01PRFVMRSwgY3RsX3Byb2Nl c3MpLA0KKyAgICBlamFiYmVyZF9jdGw6cmVnaXN0ZXJfY29tbWFuZHMoSG9zdCwgY29tbWFuZHNf aG9zdCgpLCA/TU9EVUxFLCBjdGxfcHJvY2VzcykuDQorDQorc3RvcChIb3N0KSAtPg0KKyAgICBl amFiYmVyZF9jdGw6dW5yZWdpc3Rlcl9jb21tYW5kcyhjb21tYW5kc19nbG9iYWwoKSwgP01PRFVM RSwgY3RsX3Byb2Nlc3MpLA0KKyAgICBlamFiYmVyZF9jdGw6dW5yZWdpc3Rlcl9jb21tYW5kcyhI b3N0LCBjb21tYW5kc19ob3N0KCksID9NT0RVTEUsIGN0bF9wcm9jZXNzKS4NCisNCitjb21tYW5k c19nbG9iYWwoKSAtPg0KKyAgICBbDQorICAgICB7ImNvbXBpbGUgZmlsZSIsICJyZWNvbXBpbGUg YW5kIHJlbG9hZCBmaWxlIn0sDQorICAgICB7ImxvYWQtY29uZmlnIGZpbGUiLCAibG9hZCBjb25m aWcgZnJvbSBmaWxlIn0sDQorICAgICB7InJlbW92ZS1ub2RlIG5vZGVuYW1lIiwgInJlbW92ZSBh biBlamFiYmVyZCBub2RlIGZyb20gdGhlIGRhdGFiYXNlIn0sDQorDQorICAgICAlJSBlamFiYmVy ZF9hdXRoDQorICAgICB7ImRlbGV0ZS1vbGRlci11c2VycyBkYXlzIiwgImRlbGV0ZSB1c2VycyB0 aGF0IGhhdmUgbm90IGxvZ2dlZCBpbiB0aGUgbGFzdCAnZGF5cycifSwNCisgICAgIHsic2V0LXBh c3N3b3JkIHVzZXIgc2VydmVyIHBhc3N3b3JkIiwgInNldCBwYXNzd29yZCB0byB1c2VyQHNlcnZl ciJ9LA0KKw0KKyAgICAgJSUgZWpkMm9kYmMNCisgICAgIHsiZXhwb3J0Mm9kYmMgc2VydmVyIG91 dHB1dCIsICJleHBvcnQgTW5lc2lhIHRhYmxlcyBvbiBzZXJ2ZXIgdG8gZmlsZXMgb24gb3V0cHV0 IGRpcmVjdG9yeSJ9LA0KKw0KKyAgICAgJSUgbW9kX29mZmxpbmUNCisgICAgIHsiZGVsZXRlLW9s ZGVyLW1lc3NhZ2VzIGRheXMiLCAiZGVsZXRlIG9mZmxpbmUgbWVzc2FnZXMgb2xkZXIgdGhhbiAn ZGF5cycifSwNCisNCisgICAgICUlIG1vZF9zaGFyZWRfcm9zdGVyDQorICAgICB7InNyZy1jcmVh dGUgZ3JvdXAgaG9zdCBuYW1lIGRlc2NyaXB0aW9uIGRpc3BsYXkiLCAiY3JlYXRlIHRoZSBncm91 cCB3aXRoIG9wdGlvbnMifSwNCisgICAgIHsic3JnLWRlbGV0ZSBncm91cCBob3N0IiwgImRlbGV0 ZSB0aGUgZ3JvdXAifSwNCisgICAgIHsic3JnLXVzZXItYWRkIHVzZXIgc2VydmVyIGdyb3VwIGhv c3QiLCAiYWRkIHVzZXJAc2VydmVyIHRvIGdyb3VwIG9uIGhvc3QifSwNCisgICAgIHsic3JnLXVz ZXItZGVsIHVzZXIgc2VydmVyIGdyb3VwIGhvc3QiLCAiZGVsZXRlIHVzZXJAc2VydmVyIGZyb20g Z3JvdXAgb24gaG9zdCJ9LA0KKyAgICAgeyJzcmctbGlzdC1ncm91cHMgaG9zdCIsICJsaXN0IHRo ZSBzaGFyZWQgcm9zdGVyIGdyb3VwcyBmcm9tIGhvc3QifSwNCisgICAgIHsic3JnLWdldC1pbmZv IGdyb3VwIGhvc3QiLCAiZ2V0IGluZm8gb2YgYSBzcGVjaWZpYyBncm91cCBvbiBob3N0In0sDQor DQorICAgICAlJSBtb2RfdmNhcmQNCisgICAgIHsidmNhcmQtZ2V0IHVzZXIgaG9zdCBkYXRhIFtk YXRhMl0iLCAiZ2V0IGRhdGEgZnJvbSB0aGUgdkNhcmQgb2YgdGhlIHVzZXIifSwNCisgICAgIHsi dmNhcmQtc2V0IHVzZXIgaG9zdCBkYXRhIFtkYXRhMl0gY29udGVudCIsICJzZXQgZGF0YSB0byBj b250ZW50IG9uIHRoZSB2Q2FyZCJ9LA0KKw0KKyAgICAgJSUgbW9kX2Fubm91bmNlDQorICAgICAl JSBhbm5vdW5jZV9zZW5kX29ubGluZSBob3N0IG1lc3NhZ2UNCisgICAgICUlIGFubm91bmNlX3Nl bmRfYWxsIGhvc3QsIG1lc3NhZ2UNCisNCisgICAgICUlIG1vZF9yb3N0ZXINCisgICAgIHsiYWRk LXJvc3Rlcml0ZW0gdXNlcjEgc2VydmVyMSB1c2VyMiBzZXJ2ZXIyIG5pY2sgZ3JvdXAgc3VicyIs ICJBZGQgdXNlcjJAc2VydmVyMiB0byB1c2VyMUBzZXJ2ZXIxJ3Mgcm9zdGVyIn0sDQorICAgICAl JXsiIiwgInN1YnM9IG5vbmUsIGZyb20sIHRvIG9yIGJvdGgifSwNCisgICAgICUleyIiLCAiZXhh bXBsZTogYWRkLXJvc3RlciBwZXRlciBsb2NhbGhvc3QgbWlrZSBzZXJ2ZXIuY29tIE1pS2UgRW1w bG95ZWVzIGJvdGgifSwNCisgICAgICUleyIiLCAid2lsbCBhZGQgbWlrZUBzZXJ2ZXIuY29tIHRv IHBldGVyQGxvY2FsaG9zdCByb3N0ZXIifSwNCisgICAgIHsicmVtLXJvc3Rlcml0ZW0gdXNlcjEg c2VydmVyMSB1c2VyMiBzZXJ2ZXIyIiwgIlJlbW92ZSB1c2VyMkBzZXJ2ZXIyIGZyb20gdXNlcjFA c2VydmVyMSdzIHJvc3RlciJ9LA0KKyAgICAgeyJyb3N0ZXJpdGVtLXB1cmdlIFtvcHRpb25zXSIs ICJQdXJnZSBhbGwgcm9zdGVyaXRlbXMgdGhhdCBtYXRjaCBmaWx0ZXJpbmcgb3B0aW9ucyJ9LA0K KyAgICAgeyJwdXNocm9zdGVyIGZpbGUgdXNlciBzZXJ2ZXIiLCAicHVzaCB0ZW1wbGF0ZSByb3N0 ZXIgaW4gZmlsZSB0byB1c2VyQHNlcnZlciJ9LA0KKyAgICAgeyJwdXNocm9zdGVyLWFsbCBmaWxl IiwgInB1c2ggdGVtcGxhdGUgcm9zdGVyIGluIGZpbGUgdG8gYWxsIHRob3NlIHVzZXJzIn0sDQor ICAgICB7InB1c2gtYWxsdG9hbGwgc2VydmVyIGdyb3VwIiwgImFkZHMgYWxsIHRoZSB1c2VycyB0 byBhbGwgdGhlIHVzZXJzIGluIEdyb3VwIn0sDQorDQorICAgICB7InN0YXR1cy1saXN0IHN0YXR1 cyIsICJsaXN0IHRoZSBsb2dnZWQgdXNlcnMgd2l0aCBzdGF0dXMifSwNCisgICAgIHsic3RhdHVz LW51bSBzdGF0dXMiLCAibnVtYmVyIG9mIGxvZ2dlZCB1c2VycyB3aXRoIHN0YXR1cyJ9LA0KKw0K KyAgICAgeyJzdGF0cyByZWdpc3RlcmVkdXNlcnMiLCAibnVtYmVyIG9mIHJlZ2lzdGVyZWQgdXNl cnMifSwNCisgICAgIHsic3RhdHMgb25saW5ldXNlcnMiLCAibnVtYmVyIG9mIGxvZ2dlZCB1c2Vy cyJ9LA0KKyAgICAgeyJzdGF0cyBvbmxpbmV1c2Vyc25vZGUiLCAibnVtYmVyIG9mIGxvZ2dlZCB1 c2VycyBpbiB0aGUgZWphYmJlcmQgbm9kZSJ9LA0KKyAgICAgeyJzdGF0cyB1cHRpbWUtc2Vjb25k cyIsICJ1cHRpbWUgb2YgZWphYmJlcmQgbm9kZSBpbiBzZWNvbmRzIn0sDQorDQorICAgICAlJSBt aXNjDQorICAgICB7ImdldC1jb29raWUiLCAiZ2V0IHRoZSBFcmxhbmcgY29va2llIG9mIHRoaXMg bm9kZSJ9LA0KKyAgICAgeyJraWxsc2Vzc2lvbiB1c2VyIHNlcnZlciByZXNvdXJjZSIsICJraWxs IGEgdXNlciBzZXNzaW9uIn0NCisgICAgXS4NCisNCitjb21tYW5kc19ob3N0KCkgLT4NCisgICAg Ww0KKyAgICAgJSUgbW9kX2xhc3QNCisgICAgIHsibnVtLWFjdGl2ZS11c2VycyBkYXlzIiwgIm51 bWJlciBvZiB1c2VycyBhY3RpdmUgaW4gdGhlIGxhc3QgJ2RheXMnIn0sDQorICAgICB7InN0YXR1 cy1saXN0IHN0YXR1cyIsICJsaXN0IHRoZSBsb2dnZWQgdXNlcnMgd2l0aCBzdGF0dXMifSwNCisg ICAgIHsic3RhdHVzLW51bSBzdGF0dXMiLCAibnVtYmVyIG9mIGxvZ2dlZCB1c2VycyB3aXRoIHN0 YXR1cyJ9LA0KKyAgICAgeyJzdGF0cyByZWdpc3RlcmVkdXNlcnMiLCAibnVtYmVyIG9mIHJlZ2lz dGVyZWQgdXNlcnMifSwNCisgICAgIHsic3RhdHMgb25saW5ldXNlcnMiLCAibnVtYmVyIG9mIGxv Z2dlZCB1c2VycyJ9LA0KKw0KKyAgICAgJSUgbWlzYw0KKyAgICAgeyJiYW4tYWNjb3VudCB1c2Vy bmFtZSBbcmVhc29uXSIsICJiYW4gYWNjb3VudDoga2ljayBzZXNzaW9ucyBhbmQgY2hhbmdlIHBh c3N3b3JkIn0NCisgICAgXS4NCisNCisNCislJS0tLS0tLS0tLS0tLS0NCislJSBDb21tYW5kcyBn bG9iYWwNCislJS0tLS0tLS0tLS0tLS0NCiANCiBjdGxfcHJvY2VzcyhfVmFsLCBbImRlbGV0ZS1v bGRlci1tZXNzYWdlcyIsIERheXNdKSAtPg0KICAgICBtb2Rfb2ZmbGluZTpyZW1vdmVfb2xkX21l c3NhZ2VzKGxpc3RfdG9faW50ZWdlcihEYXlzKSksDQpAQCAtMTI2LDcgKzEzNCw4IEBAIGN0bF9w cm9jZXNzKF9WYWwsIFsiZXhwb3J0Mm9kYmMiLCBTZXJ2ZXIsIE91dHB1dF0pIC0+CiAgICAgRXhw b3J0ID0gZnVuKHtUYWJsZUZ1biwgVGFibGV9KSAtPiANCiAJCSAgICAgRmlsZW5hbWUgPSBmaWxl bmFtZTpqb2luKFtPdXRwdXQsIGF0b21fdG9fbGlzdChUYWJsZSkrKyIudHh0Il0pLA0KIAkJICAg ICBpbzpmb3JtYXQoIlRyeWluZyB0byBleHBvcnQgTW5lc2lhIHRhYmxlICd+cCcgb24gc2VydmVy ICd+cycgdG8gZmlsZSAnfnMnfm4iLCBbVGFibGUsIFNlcnZlciwgRmlsZW5hbWVdKSwNCi0JCSAg ICAgY2F0Y2ggZWpkMm9kYmM6VGFibGVGdW4oU2VydmVyLCBGaWxlbmFtZSkNCisJCSAgICAgUmVz ID0gKGNhdGNoIGVqZDJvZGJjOlRhYmxlRnVuKFNlcnZlciwgRmlsZW5hbWUpKSwNCisJCSAgICAg aW86Zm9ybWF0KCIgIFJlc3VsdDogfnB+biIsIFtSZXNdKQ0KIAkgICAgIGVuZCwNCiAgICAgbGlz dHM6Zm9yZWFjaChFeHBvcnQsIFRhYmxlcyksDQogICAgID9TVEFUVVNfU1VDQ0VTUzsNCkBAIC0x NjMsNyArMTcyLDggQEAgY3RsX3Byb2Nlc3MoX1ZhbCwgWyJyZW1vdmUtbm9kZSIsIE5vZGVdKSAt PgogICAgIG1uZXNpYTpkZWxfdGFibGVfY29weShzY2hlbWEsIGxpc3RfdG9fYXRvbShOb2RlKSks DQogICAgID9TVEFUVVNfU1VDQ0VTUzsNCiANCi1jdGxfcHJvY2VzcyhfVmFsLCBbInNyZy1jcmVh dGUiLCBHcm91cCwgSG9zdCwgTmFtZSwgRGVzY3JpcHRpb24sIERpc3BsYXldKSAtPg0KK2N0bF9w cm9jZXNzKF9WYWwsIFsic3JnLWNyZWF0ZSIgfCBQYXJhbWV0ZXJzXSkgLT4NCisJW0dyb3VwLCBI b3N0LCBOYW1lLCBEZXNjcmlwdGlvbiwgRGlzcGxheV0gPSBncm91cF9wYXJhbWV0ZXJzKFBhcmFt ZXRlcnMsICInIiksDQogICAgIE9wdHMgPSBbe25hbWUsIE5hbWV9LCB7ZGlzcGxheWVkX2dyb3Vw cywgW0Rpc3BsYXldfSwge2Rlc2NyaXB0aW9uLCBEZXNjcmlwdGlvbn1dLA0KICAgICB7YXRvbWlj LCBva30gPSBtb2Rfc2hhcmVkX3Jvc3RlcjpjcmVhdGVfZ3JvdXAoSG9zdCwgR3JvdXAsIE9wdHMp LA0KICAgICA/U1RBVFVTX1NVQ0NFU1M7DQpAQCAtMTgwLDEzICsxOTAsMjMgQEAgY3RsX3Byb2Nl c3MoX1ZhbCwgWyJzcmctdXNlci1kZWwiLCBVc2VyLCBTZXJ2ZXIsIEdyb3VwLCBIb3N0XSkgLT4K ICAgICB7YXRvbWljLCBva30gPSBtb2Rfc2hhcmVkX3Jvc3RlcjpyZW1vdmVfdXNlcl9mcm9tX2dy b3VwKEhvc3QsIHtVc2VyLCBTZXJ2ZXJ9LCBHcm91cCksDQogICAgID9TVEFUVVNfU1VDQ0VTUzsN CiANCi1jdGxfcHJvY2VzcyhfVmFsLCBbIm11Yy1wdXJnZSIsIERheXNdKSAtPg0KLSAgICB7cHVy Z2VkLCBOdW1fdG90YWwsIE51bV9wdXJnZWQsIE5hbWVzX3B1cmdlZH0gPSBtdWNfcHVyZ2UobGlz dF90b19pbnRlZ2VyKERheXMpKSwNCi0gICAgaW86Zm9ybWF0KCJQdXJnZWQgfnAgY2hhdHJvb21z IGZyb20gYSB0b3RhbCBvZiB+cCBvbiB0aGUgc2VydmVyOn5ufnB+biIsIFtOdW1fcHVyZ2VkLCBO dW1fdG90YWwsIE5hbWVzX3B1cmdlZF0pLA0KK2N0bF9wcm9jZXNzKF9WYWwsIFsic3JnLWxpc3Qt Z3JvdXBzIiwgSG9zdF0pIC0+DQorICAgIGxpc3RzOmZvcmVhY2goDQorICAgICAgZnVuKFNyZ0dy b3VwKSAtPg0KKwkgICAgICBpbzpmb3JtYXQoIn5zfm4iLFtTcmdHcm91cF0pDQorICAgICAgZW5k LA0KKyAgICAgIGxpc3RzOnNvcnQobW9kX3NoYXJlZF9yb3N0ZXI6bGlzdF9ncm91cHMoSG9zdCkp KSwNCiAgICAgP1NUQVRVU19TVUNDRVNTOw0KIA0KLWN0bF9wcm9jZXNzKF9WYWwsIFsibXVjLW9u bGluZS1yb29tcyJdKSAtPg0KLSAgICBmb3JtYXRfcHJpbnRfcm9vbShhbGwsIGV0czp0YWIybGlz dChtdWNfb25saW5lX3Jvb20pKSwNCitjdGxfcHJvY2VzcyhfVmFsLCBbInNyZy1nZXQtaW5mbyIs IEdyb3VwLCBIb3N0XSkgLT4NCisgICAgT3B0cyA9IG1vZF9zaGFyZWRfcm9zdGVyOmdldF9ncm91 cF9vcHRzKEhvc3QsR3JvdXApLA0KKyAgICBbaW86Zm9ybWF0KCJ+czogfnB+biIsIFtUaXRsZSwg VmFsdWVdKSB8fCB7VGl0bGUgLCBWYWx1ZX0gPC0gT3B0c10sDQorICAgIA0KKyAgICBNZW1iZXJz ID0gbW9kX3NoYXJlZF9yb3N0ZXI6Z2V0X2dyb3VwX2V4cGxpY2l0X3VzZXJzKEhvc3QsR3JvdXAp LA0KKyAgICBNZW1iZXJzX3N0cmluZyA9IFsgIiAiICsrIGpsaWI6amlkX3RvX3N0cmluZyhqbGli Om1ha2VfamlkKE1Vc2VyLCBNU2VydmVyLCAiIikpIA0KKwkJICAgICAgIHx8IHtNVXNlciwgTVNl cnZlcn0gPC0gTWVtYmVyc10sDQorICAgIGlvOmZvcm1hdCgibWVtYmVyczp+c35uIiwgW01lbWJl cnNfc3RyaW5nXSksDQorICAgIA0KICAgICA/U1RBVFVTX1NVQ0NFU1M7DQogDQogY3RsX3Byb2Nl c3MoX1ZhbCwgWyJhZGQtcm9zdGVyaXRlbSIsIExvY2FsVXNlciwgTG9jYWxTZXJ2ZXIsIFJlbW90 ZVVzZXIsIFJlbW90ZVNlcnZlciwgTmljaywgR3JvdXAsIFN1YnNdKSAtPg0KQEAgLTIxNyw2ICsy MzcsNjcgQEAgY3RsX3Byb2Nlc3MoX1ZhbCwgWyJyZW0tcm9zdGVyaXRlbSIsIExvY2FsVXNlciwg TG9jYWxTZXJ2ZXIsIFJlbW90ZVVzZXIsIFJlbW90ZVMKIAkgICAgP1NUQVRVU19CQURSUEMNCiAg ICAgZW5kOw0KIA0KK2N0bF9wcm9jZXNzKF9WYWwsIFsicm9zdGVyaXRlbS1wdXJnZSJdKSAtPg0K KyAgICBpbzpmb3JtYXQoIlJvc3Rlcml0ZW1zIHRoYXQgbWF0Y2ggYWxsIHRoZSBmaWx0ZXJpbmcg d2lsbCBiZSByZW1vdmVkLn5uIiksDQorICAgIGlvOmZvcm1hdCgiT3B0aW9ucyBmb3IgZmlsdGVy aW5nOn5uIiksDQorICAgIGlvOmZvcm1hdCgifm4iKSwNCisgICAgaW86Zm9ybWF0KCIgIC1zdWJz IG5vbmV8ZnJvbXx0b3xib3Rofm4iKSwNCisgICAgaW86Zm9ybWF0KCIgICAgICAgU3Vic2NyaXB0 aW9uIHR5cGUuIEJ5IGRlZmF1bHQgYWxsIHZhbHVlc35uIiksDQorICAgIGlvOmZvcm1hdCgifm4i KSwNCisgICAgaW86Zm9ybWF0KCIgIC1hc2sgbm9uZXxvdXR8aW5+biIpLA0KKyAgICBpbzpmb3Jt YXQoIiAgICAgICBQZW5kaW5nIHN1YnNjcmlwdGlvbi4gQnkgZGVmYXVsdCBhbGwgdmFsdWVzfm4i KSwNCisgICAgaW86Zm9ybWF0KCJ+biIpLA0KKyAgICBpbzpmb3JtYXQoIiAgLXVzZXIgSklEfm4i KSwNCisgICAgaW86Zm9ybWF0KCIgICAgICAgVGhlIEpJRCBvZiB0aGUgbG9jYWwgdXNlci5+biIp LA0KKyAgICBpbzpmb3JtYXQoIiAgICAgICBDYW4gdXNlIHRoZXNlIGdsb2JzOiAqLCA/IGFuZCBb Li4uXS5+biIpLA0KKyAgICBpbzpmb3JtYXQoIiAgICAgICBCeSBkZWZhdWx0IGl0IGlzOiAqICpA Kn5uIiksDQorICAgIGlvOmZvcm1hdCgifm4iKSwNCisgICAgaW86Zm9ybWF0KCIgIC1jb250YWN0 IEpJRH5uIiksDQorICAgIGlvOmZvcm1hdCgiICAgICAgIFNpbWlsYXIgdG8gJ3VzZXInLCBidXQg Zm9yIHRoZSBjb250YWN0IEpJRC5+biIpLA0KKyAgICBpbzpmb3JtYXQoIn5uIiksDQorICAgIGlv OmZvcm1hdCgiRXhhbXBsZTp+biIpLA0KKyAgICBpbzpmb3JtYXQoIiAgZWphYmJlcmRjdGwgcm9z dGVyaXRlbS1wdXJnZSAtc3VicyBub25lIGZyb20gdG8gLWFzayBvdXQgaW4gLWNvbnRhY3QgKkAq aWNxKn5uIiksDQorICAgIGlvOmZvcm1hdCgifm4iKSwNCisgICAgP1NUQVRVU19TVUNDRVNTOw0K K2N0bF9wcm9jZXNzKF9WYWwsIFsicm9zdGVyaXRlbS1wdXJnZSIgfCBPcHRpb25zX2xpc3RdKSAt Pg0KKyAgICBPcHRpb25zX3Byb3BfbGlzdCA9IGxpc3RzOmZvbGRsKA0KKwkJCSAgZnVuKE8sIFIp IC0+DQorCQkJCSAgY2FzZSBPIG9mDQorCQkJCSAgICAgIFskLSB8IEtdIC0+DQorCQkJCQkgIFt7 SywgW119IHwgUl07DQorCQkJCSAgICAgIFYgLT4NCisJCQkJCSAgW3tLLCBWc30gfCBSVF0gPSBS LA0KKwkJCQkJICBbe0ssIFtWfFZzXX0gfCBSVF0NCisJCQkJICBlbmQNCisJCQkgIGVuZCwNCisJ CQkgIFtdLA0KKwkJCSAgT3B0aW9uc19saXN0KSwNCisgICAgDQorICAgIFN1YnMgPSBbbGlzdF90 b19hdG9tKFMpDQorCSAgICB8fCBTIDwtIHByb3BsaXN0czpnZXRfdmFsdWUoInN1YnMiLCANCisJ CQkJCU9wdGlvbnNfcHJvcF9saXN0LCANCisJCQkJCVsibm9uZSIsICJmcm9tIiwgInRvIiwgImJv dGgiXSldLA0KKyAgICBBc2tzID0gW2xpc3RfdG9fYXRvbShTKQ0KKwkgICAgfHwgUyA8LSANCisJ CSAgIHByb3BsaXN0czpnZXRfdmFsdWUoImFzayIsDQorCQkJCSAgICAgICBPcHRpb25zX3Byb3Bf bGlzdCwgDQorCQkJCSAgICAgICBbIm5vbmUiLCAib3V0IiwgImluIl0pXSwNCisgICAgVXNlciA9 IHByb3BsaXN0czpnZXRfdmFsdWUoInVzZXIiLCBPcHRpb25zX3Byb3BfbGlzdCwgWyIqIiwgIipA KiJdKSwNCisgICAgQ29udGFjdCA9IHByb3BsaXN0czpnZXRfdmFsdWUoImNvbnRhY3QiLCBPcHRp b25zX3Byb3BfbGlzdCwgWyIqIiwgIipAKiJdKSwNCisgICAgDQorICAgIGNhc2Ugcm9zdGVyaXRl bV9wdXJnZSh7U3VicywgQXNrcywgVXNlciwgQ29udGFjdH0pIG9mDQorCXthdG9taWMsIG9rfSAt Pg0KKwkgICAgP1NUQVRVU19TVUNDRVNTOw0KKwl7ZXJyb3IsIFJlYXNvbn0gLT4NCisJICAgIGlv OmZvcm1hdCgiRXJyb3IgcHVyZ2luZyByb3N0ZXJpdGVtczogfnB+biIsDQorCQkgICAgICBbUmVh c29uXSksDQorCSAgICA/U1RBVFVTX0VSUk9SOw0KKwl7YmFkcnBjLCBSZWFzb259IC0+DQorCSAg ICBpbzpmb3JtYXQoIkJhZFJQQyBwdXJnaW5nIHJvc3Rlcml0ZW1zOiB+cH5uIiwNCisJCSAgICAg IFtSZWFzb25dKSwNCisJICAgID9TVEFUVVNfQkFEUlBDDQorICAgIGVuZDsNCisNCiBjdGxfcHJv Y2VzcyhfVmFsLCBbInB1c2hyb3N0ZXIiLCBGaWxlLCBVc2VyLCBTZXJ2ZXJdKSAtPg0KICAgICBj YXNlIHB1c2hyb3N0ZXIoRmlsZSwgVXNlciwgU2VydmVyKSBvZg0KIAlvayAtPg0KQEAgLTI3Nyw3 ICszNTgsOCBAQCBjdGxfcHJvY2VzcyhfVmFsLCBbInN0YXRzIiwgU3RhdF0pIC0+CiAgICAgUmVz ID0gY2FzZSBTdGF0IG9mDQogCSAgICAgICJ1cHRpbWUtc2Vjb25kcyIgLT4gdXB0aW1lX3NlY29u ZHMoKTsNCiAJICAgICAgInJlZ2lzdGVyZWR1c2VycyIgLT4gbW5lc2lhOnRhYmxlX2luZm8ocGFz c3dkLCBzaXplKTsNCi0JICAgICAgIm9ubGluZXVzZXJzIiAtPiBtbmVzaWE6dGFibGVfaW5mbyhz ZXNzaW9uLCBzaXplKQ0KKwkgICAgICAib25saW5ldXNlcnNub2RlIiAtPiBsZW5ndGgoZWphYmJl cmRfc206ZGlydHlfZ2V0X215X3Nlc3Npb25zX2xpc3QoKSk7DQorCSAgICAgICJvbmxpbmV1c2Vy cyIgLT4gbGVuZ3RoKGVqYWJiZXJkX3NtOmRpcnR5X2dldF9zZXNzaW9uc19saXN0KCkpDQogCSAg ZW5kLA0KICAgICBpbzpmb3JtYXQoIn5wfm4iLCBbUmVzXSksDQogICAgID9TVEFUVVNfU1VDQ0VT UzsNCkBAIC0yOTIsMjYgKzM3NCwxNyBAQCBjdGxfcHJvY2VzcyhfVmFsLCBbImdldC1jb29raWUi XSkgLT4KICAgICBpbzpmb3JtYXQoIn5zfm4iLCBbYXRvbV90b19saXN0KGVybGFuZzpnZXRfY29v a2llKCkpXSksDQogICAgID9TVEFUVVNfU1VDQ0VTUzsNCiANCi1jdGxfcHJvY2VzcyhfVmFsLCBb ImtpbGxzZXNzaW9uIiwgVXNlciwgU2VydmVyLCBSZXNvdXJjZV0pIC0+DQotICAgIGVqYWJiZXJk X3JvdXRlcjpyb3V0ZSgNCi0gICAgICBqbGliOm1ha2VfamlkKCIiLCAiIiwgIiIpLCANCi0gICAg ICBqbGliOm1ha2VfamlkKFVzZXIsIFNlcnZlciwgUmVzb3VyY2UpLA0KLSAgICAgIHt4bWxlbGVt ZW50LCAiYnJvYWRjYXN0IiwgW10sIFt7ZXhpdCwgImtpbGxlZCJ9XX0pLA0KK2N0bF9wcm9jZXNz KF9WYWwsIFsia2lsbHNlc3Npb24iLCBVc2VyLCBTZXJ2ZXIsIFJlc291cmNlIHwgVGFpbF0pIC0+ DQorICAgIGtpY2tfc2Vzc2lvbihVc2VyLCBTZXJ2ZXIsIFJlc291cmNlLCBwcmVwYXJlX3JlYXNv bihUYWlsKSksDQogICAgID9TVEFUVVNfU1VDQ0VTUzsNCiANCiBjdGxfcHJvY2VzcyhWYWwsIF9B cmdzKSAtPg0KICAgICBWYWwuDQogDQogDQotY3RsX3Byb2Nlc3MoX1ZhbCwgSG9zdCwgWyJtdWMt cHVyZ2UiLCBEYXlzXSkgLT4NCi0gICAge3B1cmdlZCwgTnVtX3RvdGFsLCBOdW1fcHVyZ2VkLCBO YW1lc19wdXJnZWR9ID0gbXVjX3B1cmdlKEhvc3QsIGxpc3RfdG9faW50ZWdlcihEYXlzKSksDQot ICAgIGlvOmZvcm1hdCgiUHVyZ2VkIH5wIGNoYXRyb29tcyBmcm9tIGEgdG90YWwgb2YgfnAgb24g dGhlIGhvc3QgfnA6fm5+cH5uIiwgW051bV9wdXJnZWQsIE51bV90b3RhbCwgSG9zdCwgTmFtZXNf cHVyZ2VkXSksDQotICAgID9TVEFUVVNfU1VDQ0VTUzsNCi0NCi1jdGxfcHJvY2VzcyhfVmFsLCBT ZXJ2ZXJIb3N0LCBbIm11Yy1vbmxpbmUtcm9vbXMiXSkgLT4NCi0gICAgTVVDSG9zdCA9IGZpbmRf aG9zdChTZXJ2ZXJIb3N0KSwNCi0gICAgZm9ybWF0X3ByaW50X3Jvb20oTVVDSG9zdCwgZXRzOnRh YjJsaXN0KG11Y19vbmxpbmVfcm9vbSkpLA0KLSAgICA/U1RBVFVTX1NVQ0NFU1M7DQorJSUtLS0t LS0tLS0tLS0tDQorJSUgQ29tbWFuZHMgdmhvc3QNCislJS0tLS0tLS0tLS0tLS0NCiANCiBjdGxf cHJvY2VzcyhfVmFsLCBIb3N0LCBbIm51bS1hY3RpdmUtdXNlcnMiLCBEYXlzXSkgLT4NCiAgICAg TnVtYmVyID0gbnVtX2FjdGl2ZV91c2VycyhIb3N0LCBsaXN0X3RvX2ludGVnZXIoRGF5cykpLA0K QEAgLTMzNiwxNCArNDA5LDIxIEBAIGN0bF9wcm9jZXNzKF9WYWwsIEhvc3QsIFsic3RhdHVzLWxp c3QiLCBTdGF0dXNfcmVxdWlyZWRdKSAtPgogICAgIFsgaW86Zm9ybWF0KCJ+c0B+cyB+cyB+cCBc In5zXCJ+biIsIFtVLCBTLCBSLCBQLCBTdF0pIHx8IHtVLCBTLCBSLCBQLCBTdH0gPC0gUmVzXSwN CiAgICAgP1NUQVRVU19TVUNDRVNTOw0KIA0KK2N0bF9wcm9jZXNzKF9WYWwsIEhvc3QsIFsiYmFu LWFjY291bnQiLCBVc2VyIHwgVGFpbF0pIC0+DQorICAgIGJhbl9hY2NvdW50KFVzZXIsIEhvc3Qs IHByZXBhcmVfcmVhc29uKFRhaWwpKSwNCisgICAgP1NUQVRVU19TVUNDRVNTOw0KKw0KIGN0bF9w cm9jZXNzKFZhbCwgX0hvc3QsIF9BcmdzKSAtPg0KICAgICBWYWwuDQogDQogDQogJSUtLS0tLS0t LS0tLS0tDQotJSUgVVRJTFMNCislJSBVdGlscw0KICUlLS0tLS0tLS0tLS0tLQ0KIA0KK3VwdGlt ZV9zZWNvbmRzKCkgLT4NCisgICAgdHJ1bmMoZWxlbWVudCgxLCBlcmxhbmc6c3RhdGlzdGljcyh3 YWxsX2Nsb2NrKSkvMTAwMCkuDQorDQogZ2V0X3N0YXR1c19saXN0KEhvc3QsIFN0YXR1c19yZXF1 aXJlZCkgLT4NCiAgICAgJSUgR2V0IGxpc3Qgb2YgYWxsIGxvZ2dlZCB1c2Vycw0KICAgICBTZXNz aW9ucyA9IGVqYWJiZXJkX3NtOmRpcnR5X2dldF9teV9zZXNzaW9uc19saXN0KCksDQpAQCAtNDE4 LDYgKzQ5OCwxNTMgQEAgcm91dGVfcm9zdGVyaXRlbShMb2NhbFVzZXIsIExvY2FsU2VydmVyLCBS ZW1vdGVVc2VyLCBSZW1vdGVTZXJ2ZXIsIE5pY2ssIEdyb3VwLCAKICAgICBQYWNrZXQgPSB7eG1s ZWxlbWVudCwgImlxIiwgW3sidHlwZSIsICJzZXQifSwgeyJ0byIsIFRvU31dLCBbUXVlcnldfSwN CiAgICAgZWphYmJlcmRfcm91dGVyOnJvdXRlKExKSUQsIExKSUQsIFBhY2tldCkuDQogDQorDQor JSUtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKyUlIEJhbiB1c2VyDQorJSUtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKw0KK2Jhbl9hY2NvdW50KFVzZXIsIFNlcnZlciwgUmVh c29uKSAtPg0KKyAgICBraWNrX3Nlc3Npb25zKFVzZXIsIFNlcnZlciwgUmVhc29uKSwNCisgICAg c2V0X3JhbmRvbV9wYXNzd29yZChVc2VyLCBTZXJ2ZXIsIFJlYXNvbikuDQorDQora2lja19zZXNz aW9ucyhVc2VyLCBTZXJ2ZXIsIFJlYXNvbikgLT4NCisgICAgbGlzdHM6bWFwKA0KKyAgICAgIGZ1 bihSZXNvdXJjZSkgLT4NCisJICAgICAga2lja19zZXNzaW9uKFVzZXIsIFNlcnZlciwgUmVzb3Vy Y2UsIFJlYXNvbikNCisgICAgICBlbmQsDQorICAgICAgZ2V0X3Jlc291cmNlcyhVc2VyLCBTZXJ2 ZXIpKS4NCisNCitraWNrX3Nlc3Npb24oVXNlciwgU2VydmVyLCBSZXNvdXJjZSwgUmVhc29uKSAt Pg0KKyAgICBlamFiYmVyZF9yb3V0ZXI6cm91dGUoDQorICAgICAgamxpYjptYWtlX2ppZCgiIiwg IiIsICIiKSwNCisgICAgICBqbGliOm1ha2VfamlkKFVzZXIsIFNlcnZlciwgUmVzb3VyY2UpLA0K KyAgICAgIHt4bWxlbGVtZW50LCAiYnJvYWRjYXN0IiwgW10sIFt7ZXhpdCwgUmVhc29ufV19KS4N CisNCitnZXRfcmVzb3VyY2VzKFVzZXIsIFNlcnZlcikgLT4NCisgICAgbGlzdHM6bWFwKA0KKyAg ICAgIGZ1bihTZXNzaW9uKSAtPg0KKwkgICAgICBlbGVtZW50KDMsIFNlc3Npb24jc2Vzc2lvbi51 c3IpDQorICAgICAgZW5kLA0KKyAgICAgIGdldF9zZXNzaW9ucyhVc2VyLCBTZXJ2ZXIpKS4NCisN CitnZXRfc2Vzc2lvbnMoVXNlciwgU2VydmVyKSAtPg0KKyAgICBMVXNlciA9IGpsaWI6bm9kZXBy ZXAoVXNlciksDQorICAgIExTZXJ2ZXIgPSBqbGliOm5hbWVwcmVwKFNlcnZlciksDQorICAgIFNl c3Npb25zID0gIG1uZXNpYTpkaXJ0eV9pbmRleF9yZWFkKHNlc3Npb24sIHtMVXNlciwgTFNlcnZl cn0sICNzZXNzaW9uLnVzKSwNCisgICAgdHJ1ZSA9IGlzX2xpc3QoU2Vzc2lvbnMpLA0KKyAgICBT ZXNzaW9ucy4NCisNCitzZXRfcmFuZG9tX3Bhc3N3b3JkKFVzZXIsIFNlcnZlciwgUmVhc29uKSAt Pg0KKyAgICBOZXdQYXNzID0gYnVpbGRfcmFuZG9tX3Bhc3N3b3JkKFJlYXNvbiksDQorICAgIHNl dF9wYXNzd29yZChVc2VyLCBTZXJ2ZXIsIE5ld1Bhc3MpLg0KKw0KK2J1aWxkX3JhbmRvbV9wYXNz d29yZChSZWFzb24pIC0+DQorICAgIERhdGUgPSBqbGliOnRpbWVzdGFtcF90b19pc28oY2FsZW5k YXI6dW5pdmVyc2FsX3RpbWUoKSksDQorICAgIFJhbmRvbVN0cmluZyA9IHJhbmRvbXM6Z2V0X3N0 cmluZygpLA0KKyAgICAiQkFOTkVEX0FDQ09VTlQtLSIgKysgRGF0ZSArKyAiLS0iICsrIFJhbmRv bVN0cmluZyArKyAiLS0iICsrIFJlYXNvbi4NCisNCitzZXRfcGFzc3dvcmQoVXNlciwgU2VydmVy LCBQYXNzd29yZCkgLT4NCisgICAge2F0b21pYywgb2t9ID0gZWphYmJlcmRfYXV0aDpzZXRfcGFz c3dvcmQoVXNlciwgU2VydmVyLCBQYXNzd29yZCkuDQorDQorcHJlcGFyZV9yZWFzb24oW10pIC0+ DQorICAgICJLaWNrZWQgYnkgYWRtaW5pc3RyYXRvciI7DQorcHJlcGFyZV9yZWFzb24oW1JlYXNv bl0pIC0+DQorICAgIFJlYXNvbjsNCitwcmVwYXJlX3JlYXNvbihTdHJpbmdMaXN0KSAtPg0KKyAg ICBzdHJpbmc6am9pbihTdHJpbmdMaXN0LCAiXyIpLg0KKw0KKw0KKyUlLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0NCislJSBQdXJnZSByb3N0ZXIgaXRlbXMNCislJS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tDQorDQorcm9zdGVyaXRlbV9wdXJnZShPcHRpb25zKSAtPg0KKyAgICBO dW1fcm9zdGVyaXRlbXMgPSBtbmVzaWE6dGFibGVfaW5mbyhyb3N0ZXIsIHNpemUpLA0KKyAgICBp bzpmb3JtYXQoIlRoZXJlIGFyZSB+cCByb3N0ZXIgaXRlbXMgaW4gdG90YWwufm4iLCBbTnVtX3Jv c3Rlcml0ZW1zXSksDQorICAgIEtleSA9IG1uZXNpYTpkaXJ0eV9maXJzdChyb3N0ZXIpLA0KKyAg ICBvayA9IHJpcChLZXksIE9wdGlvbnMsIHswLCBOdW1fcm9zdGVyaXRlbXMsIDAsIDB9KSwNCisg ICAge2F0b21pYywgb2t9Lg0KKw0KK3JpcCgnJGVuZF9vZl90YWJsZScsIF9PcHRpb25zLCBDb3Vu dGVycykgLT4NCisgICAgcHJpbnRfcHJvZ3Jlc3NfbGluZShDb3VudGVycyksDQorICAgIG9rOw0K K3JpcChLZXksIE9wdGlvbnMsIHtQciwgTlQsIE5WLCBORH0pIC0+DQorICAgIEtleV9uZXh0ID0g bW5lc2lhOmRpcnR5X25leHQocm9zdGVyLCBLZXkpLA0KKyAgICBORDIgPSBjYXNlIGRlY2lkZV9y aXAoS2V5LCBPcHRpb25zKSBvZg0KKwkgICAgICB0cnVlIC0+DQorCQkgIG1uZXNpYTpkaXJ0eV9k ZWxldGUocm9zdGVyLCBLZXkpLA0KKwkJICBORCsxOw0KKwkgICAgICBmYWxzZSAtPg0KKwkJICBO RA0KKwkgIGVuZCwNCisgICAgTlYyID0gTlYrMSwNCisgICAgUHIyID0gcHJpbnRfcHJvZ3Jlc3Nf bGluZSh7UHIsIE5ULCBOVjIsIE5EMn0pLA0KKyAgICByaXAoS2V5X25leHQsIE9wdGlvbnMsIHtQ cjIsIE5ULCBOVjIsIE5EMn0pLg0KKw0KK3ByaW50X3Byb2dyZXNzX2xpbmUoe1ByLCBOVCwgTlYs IE5EfSkgLT4NCisgICAgUHIyID0gdHJ1bmMoKE5WL05UKSoxMDApLA0KKyAgICBjYXNlIFByID09 IFByMiBvZg0KKwl0cnVlIC0+DQorCSAgICBvazsNCisJZmFsc2UgLT4NCisJICAgIGlvOmZvcm1h dCgiUHJvZ3Jlc3MgfnAlIC0gdmlzaXRlZCB+cCAtIGRlbGV0ZWQgfnB+biIsIFtQcjIsIE5WLCBO RF0pDQorICAgIGVuZCwNCisgICAgUHIyLg0KKw0KK2RlY2lkZV9yaXAoS2V5LCB7U3VicywgQXNr cywgVXNlciwgQ29udGFjdH0pIC0+DQorICAgIGNhc2UgY2F0Y2ggbW5lc2lhOmRpcnR5X3JlYWQo cm9zdGVyLCBLZXkpIG9mDQorCVtSSV0gLT4NCisJICAgIGxpc3RzOm1lbWJlcihSSSNyb3N0ZXIu c3Vic2NyaXB0aW9uLCBTdWJzKQ0KKwkJYW5kYWxzbyBsaXN0czptZW1iZXIoUkkjcm9zdGVyLmFz aywgQXNrcykNCisJCWFuZGFsc28gZGVjaWRlX3JpcF9qaWQoUkkjcm9zdGVyLnVzLCBVc2VyKQ0K KwkJYW5kYWxzbyBkZWNpZGVfcmlwX2ppZChSSSNyb3N0ZXIuamlkLCBDb250YWN0KTsNCisJXyAt Pg0KKwkgICAgZmFsc2UNCisgICAgZW5kLg0KKw0KKyUlIFJldHVybnMgdHJ1ZSBpZiB0aGUgc2Vy dmVyIG9mIHRoZSBKSUQgaXMgaW5jbHVkZWQgaW4gdGhlIHNlcnZlcnMNCitkZWNpZGVfcmlwX2pp ZCh7VU5hbWUsIFVTZXJ2ZXIsIF9VUmVzb3VyY2V9LCBNYXRjaF9saXN0KSAtPg0KKyAgICBkZWNp ZGVfcmlwX2ppZCh7VU5hbWUsIFVTZXJ2ZXJ9LCBNYXRjaF9saXN0KTsNCitkZWNpZGVfcmlwX2pp ZCh7VU5hbWUsIFVTZXJ2ZXJ9LCBNYXRjaF9saXN0KSAtPg0KKyAgICBsaXN0czphbnkoDQorICAg ICAgZnVuKE1hdGNoX3N0cmluZykgLT4NCisJICAgICAgTUpJRCA9IGpsaWI6c3RyaW5nX3RvX2pp ZChNYXRjaF9zdHJpbmcpLA0KKwkgICAgICBNTmFtZSA9IE1KSUQjamlkLmx1c2VyLA0KKwkgICAg ICBNU2VydmVyID0gTUpJRCNqaWQubHNlcnZlciwNCisJICAgICAgSXNfc2VydmVyID0gaXNfZ2xv Yl9tYXRjaChVU2VydmVyLCBNU2VydmVyKSwNCisJICAgICAgY2FzZSBNTmFtZSBvZg0KKwkJICBb XSB3aGVuIFVOYW1lID09IFtdIC0+DQorCQkgICAgICBJc19zZXJ2ZXI7DQorCQkgIFtdIC0+DQor CQkgICAgICBmYWxzZTsNCisJCSAgXyAtPg0KKwkJICAgICAgSXNfc2VydmVyDQorCQkJICBhbmRh bHNvIGlzX2dsb2JfbWF0Y2goVU5hbWUsIE1OYW1lKQ0KKwkgICAgICBlbmQNCisgICAgICBlbmQs DQorICAgICAgTWF0Y2hfbGlzdCkuDQorDQorJSUgQ29waWVkIGZyb20gZWphYmJlcmQtMi4wLjAv c3JjL2FjbC5lcmwNCitpc19yZWdleHBfbWF0Y2goU3RyaW5nLCBSZWdFeHApIC0+DQorICAgIGNh c2UgcmVnZXhwOmZpcnN0X21hdGNoKFN0cmluZywgUmVnRXhwKSBvZg0KKwlub21hdGNoIC0+DQor CSAgICBmYWxzZTsNCisJe21hdGNoLCBfLCBffSAtPg0KKwkgICAgdHJ1ZTsNCisJe2Vycm9yLCBF cnJEZXNjfSAtPg0KKwkgICAgaW86Zm9ybWF0KA0KKwkgICAgICAiV3JvbmcgcmVnZXhwIH5wIGlu IEFDTDogfnAiLA0KKwkgICAgICBbUmVnRXhwLCBsaXN0czpmbGF0dGVuKHJlZ2V4cDpmb3JtYXRf ZXJyb3IoRXJyRGVzYykpXSksDQorCSAgICBmYWxzZQ0KKyAgICBlbmQuDQoraXNfZ2xvYl9tYXRj aChTdHJpbmcsIEdsb2IpIC0+DQorICAgIGlzX3JlZ2V4cF9tYXRjaChTdHJpbmcsIHJlZ2V4cDpz aF90b19hd2soR2xvYikpLg0KKw0KKw0KKyUlLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N CislJSBQdXNoIFJvc3RlciBmcm9tIGZpbGUgDQorJSUtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQ0KKw0KIHB1c2hyb3N0ZXIoRmlsZSwgVXNlciwgU2VydmVyKSAtPg0KICAgICB7b2ssIFtS b3N0ZXJdfSA9IGZpbGU6Y29uc3VsdChGaWxlKSwNCiAgICAgc3Vic2NyaWJlX3Jvc3Rlcih7VXNl ciwgU2VydmVyLCAiIiwgVXNlcn0sIFJvc3RlcikuDQpAQCAtNjMyLDE2MSArODU5LDI4IEBAIGhp c3RvZ3JhbShbXSwgX0ludGVncmFsLCBfQ3VycmVudCwgQ291bnQsIEhpc3QpIC0+CiAJICAgIGxp c3RzOnJldmVyc2UoSGlzdCkNCiAgICAgZW5kLg0KIA0KLQ0KLWZvcm1hdF9wcmludF9yb29tKEhv c3QxLCBSb29tcyktPg0KLSAgICBsaXN0czpmb3JlYWNoKA0KLSAgICAgIGZ1bih7Xywge1Jvb21u YW1lLCBIb3N0fSxffSkgLT4NCi0JICAgICAgY2FzZSBIb3N0MSBvZg0KLQkJICBhbGwgLT4NCi0J CSAgICAgIGlvOmZvcm1hdCgifnMgfnMgfm4iLCBbUm9vbW5hbWUsIEhvc3RdKTsNCi0JCSAgSG9z dCAtPg0KLQkJICAgICAgaW86Zm9ybWF0KCJ+cyB+cyB+biIsIFtSb29tbmFtZSwgSG9zdF0pOw0K LQkJICBfIC0+DQotCQkgICAgICBvaw0KLQkgICAgICBlbmQNCi0gICAgICBlbmQsDQotICAgICAg Um9vbXMpLg0KLQ0KLQ0KLSUlLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLSUlIFB1cmdl IE1VQw0KLSUlLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLQ0KLSUlIFJlcXVpcmVkIGZv ciBtdWNfcHVyZ2UNCi0lJSBDb3BpZWQgZnJvbSBtb2RfbXVjL21vZF9tdWNfcm9vbS5lcmwNCi0t ZGVmaW5lKERJQ1QsIGRpY3QpLg0KLS1yZWNvcmQobXVjX29ubGluZV9yb29tLCB7bmFtZV9ob3N0 LCBwaWR9KS4NCi0tcmVjb3JkKGxxdWV1ZSwge3F1ZXVlLCBsZW4sIG1heH0pLg0KLS1yZWNvcmQo Y29uZmlnLCB7dGl0bGUgPSAiIiwNCi0JCSBhbGxvd19jaGFuZ2Vfc3ViaiA9IHRydWUsDQotCQkg YWxsb3dfcXVlcnlfdXNlcnMgPSB0cnVlLA0KLQkJIGFsbG93X3ByaXZhdGVfbWVzc2FnZXMgPSB0 cnVlLA0KLQkJIHB1YmxpYyA9IHRydWUsDQotCQkgcHVibGljX2xpc3QgPSB0cnVlLA0KLQkJIHBl cnNpc3RlbnQgPSBmYWxzZSwNCi0JCSBtb2RlcmF0ZWQgPSBmYWxzZSwgJSBUT0RPDQotCQkgbWVt YmVyc19ieV9kZWZhdWx0ID0gdHJ1ZSwNCi0JCSBtZW1iZXJzX29ubHkgPSBmYWxzZSwNCi0JCSBh bGxvd191c2VyX2ludml0ZXMgPSBmYWxzZSwNCi0JCSBwYXNzd29yZF9wcm90ZWN0ZWQgPSBmYWxz ZSwNCi0JCSBwYXNzd29yZCA9ICIiLA0KLQkJIGFub255bW91cyA9IHRydWUsDQotCQkgbG9nZ2lu ZyA9IGZhbHNlDQotCQl9KS4NCi0tcmVjb3JkKHN0YXRlLCB7cm9vbSwNCi0JCWhvc3QsDQotCQlz ZXJ2ZXJfaG9zdCwNCi0JCWFjY2VzcywNCi0JCWppZCwNCi0JCWNvbmZpZyA9ICNjb25maWd7fSwN Ci0JCXVzZXJzLA0KLQkJYWZmaWxpYXRpb25zLA0KLQkJaGlzdG9yeSwNCi0JCXN1YmplY3QgPSAi IiwNCi0JCXN1YmplY3RfYXV0aG9yID0gIiIsDQotCQlqdXN0X2NyZWF0ZWQgPSBmYWxzZX0pLg0K LQ0KLW11Y19wdXJnZShEYXlzKSAtPg0KLSAgICBTZXJ2ZXJIb3N0ID0gZ2xvYmFsLA0KLSAgICBI b3N0ID0gZ2xvYmFsLA0KLSAgICBtdWNfcHVyZ2UyKFNlcnZlckhvc3QsIEhvc3QsIERheXMpLg0K LQ0KLW11Y19wdXJnZShTZXJ2ZXJIb3N0LCBEYXlzKSAtPg0KLSAgICBIb3N0ID0gZmluZF9ob3N0 KFNlcnZlckhvc3QpLA0KLSAgICBtdWNfcHVyZ2UyKFNlcnZlckhvc3QsIEhvc3QsIERheXMpLg0K LQ0KLW11Y19wdXJnZTIoU2VydmVySG9zdCwgSG9zdCwgTGFzdF9hbGxvd2VkKSAtPg0KLSAgICBS b29tX25hbWVzID0gZ2V0X3Jvb21fbmFtZXMoSG9zdCksDQotDQotICAgIERlY2lkZSA9IGZ1bihO KSAtPiBkZWNpZGUoTiwgTGFzdF9hbGxvd2VkKSBlbmQsDQotICAgIFJvb21zX3RvX2RlbGV0ZSA9 IGxpc3RzOmZpbHRlcihEZWNpZGUsIFJvb21fbmFtZXMpLA0KLQ0KLSAgICBOdW1fcm9vbXMgPSBs ZW5ndGgoUm9vbV9uYW1lcyksDQotICAgIE51bV9yb29tc190b19kZWxldGUgPSBsZW5ndGgoUm9v bXNfdG9fZGVsZXRlKSwNCi0NCi0gICAgUm9vbXNfdG9fZGVsZXRlX2Z1bGwgPSBmaWxsX3NlcnZl cmhvc3QoUm9vbXNfdG9fZGVsZXRlLCBTZXJ2ZXJIb3N0KSwNCi0NCi0gICAgRGVsZXRlID0gZnVu KHtOLCBILCBTSH0pIC0+IA0KLQkJICAgICBtb2RfbXVjOnJvb21fZGVzdHJveWVkKEgsIE4sIFNI KSwNCi0JCSAgICAgbW9kX211Yzpmb3JnZXRfcm9vbShILCBOKQ0KLQkgICAgIGVuZCwNCi0gICAg bGlzdHM6Zm9yZWFjaChEZWxldGUsIFJvb21zX3RvX2RlbGV0ZV9mdWxsKSwNCi0gICAge3B1cmdl ZCwgTnVtX3Jvb21zLCBOdW1fcm9vbXNfdG9fZGVsZXRlLCBSb29tc190b19kZWxldGV9Lg0KLQ0K LWZpbGxfc2VydmVyaG9zdChSb29tc190b19kZWxldGUsIGdsb2JhbCkgLT4NCi0gICAgU2VydmVy SG9zdHMxID0gP01ZSE9TVFMsDQotICAgIFNlcnZlckhvc3RzMiA9IFsge1NlcnZlckhvc3QsIGZp bmRfaG9zdChTZXJ2ZXJIb3N0KX0gfHwgU2VydmVySG9zdCA8LSBTZXJ2ZXJIb3N0czFdLA0KLSAg ICBbIHtOYW1lLCBIb3N0LCBmaW5kX3NlcnZlcmhvc3QoSG9zdCwgU2VydmVySG9zdHMyKX0gfHwg e05hbWUsIEhvc3R9IDwtIFJvb21zX3RvX2RlbGV0ZV07DQotZmlsbF9zZXJ2ZXJob3N0KFJvb21z X3RvX2RlbGV0ZSwgU2VydmVySG9zdCkgLT4NCi0gICAgWyB7TmFtZSwgSG9zdCwgU2VydmVySG9z dH18fCB7TmFtZSwgSG9zdH0gPC0gUm9vbXNfdG9fZGVsZXRlXS4NCi0NCi1maW5kX3NlcnZlcmhv c3QoSG9zdCwgU2VydmVySG9zdHMpIC0+DQotICAgIHt2YWx1ZSwge1NlcnZlckhvc3QsIEhvc3R9 fSA9IGxpc3RzOmtleXNlYXJjaChIb3N0LCAyLCBTZXJ2ZXJIb3N0cyksDQotICAgIFNlcnZlckhv c3QuDQotDQotZmluZF9ob3N0KFNlcnZlckhvc3QpIC0+DQotICAgIGdlbl9tb2Q6Z2V0X21vZHVs ZV9vcHQoU2VydmVySG9zdCwgbW9kX211YywgaG9zdCwgImNvbmZlcmVuY2UuIiArKyBTZXJ2ZXJI b3N0KS4NCi0NCi1kZWNpZGUoe1Jvb21fbmFtZSwgSG9zdH0sIExhc3RfYWxsb3dlZCkgLT4NCi0g ICAgUm9vbV9waWQgPSBnZXRfcm9vbV9waWQoUm9vbV9uYW1lLCBIb3N0KSwNCi0NCi0gICAgQyA9 IGdldF9yb29tX2NvbmZpZyhSb29tX3BpZCksDQotICAgIFBlcnNpc3RlbnQgPSBDI2NvbmZpZy5w ZXJzaXN0ZW50LA0KLQ0KLSAgICBTID0gZ2V0X3Jvb21fc3RhdGUoUm9vbV9waWQpLA0KLSAgICBK dXN0X2NyZWF0ZWQgPSBTI3N0YXRlLmp1c3RfY3JlYXRlZCwNCi0NCi0gICAgUm9vbV91c2VycyA9 IFMjc3RhdGUudXNlcnMsDQotICAgIE51bV91c2VycyA9IGxlbmd0aCg/RElDVDp0b19saXN0KFJv b21fdXNlcnMpKSwNCi0NCi0gICAgSGlzdG9yeSA9IChTI3N0YXRlLmhpc3RvcnkpI2xxdWV1ZS5x dWV1ZSwNCi0gICAgVHNfbm93ID0gY2FsZW5kYXI6bm93X3RvX3VuaXZlcnNhbF90aW1lKG5vdygp KSwNCi0gICAgVHNfdXB0aW1lID0gZWxlbWVudCgxLCBlcmxhbmc6c3RhdGlzdGljcyh3YWxsX2Ns b2NrKSkvMTAwMCwNCi0gICAge0hhdmVfaGlzdG9yeSwgTGFzdH0gPSBjYXNlIHF1ZXVlOmlzX2Vt cHR5KEhpc3RvcnkpIG9mDQotCQkJICAgICAgIHRydWUgLT4NCi0JCQkJICAge2ZhbHNlLCBUc191 cHRpbWV9Ow0KLQkJCSAgICAgICBmYWxzZSAtPg0KLQkJCQkgICBMYXN0X21lc3NhZ2UgPSBxdWV1 ZTpsYXN0KEhpc3RvcnkpLA0KLQkJCQkgICB7XywgXywgXywgVHNfbGFzdCwgX30gPSBMYXN0X21l c3NhZ2UsDQotCQkJCSAgIFRzX2RpZmYgPQ0KLQkJCQkgICAgICAgY2FsZW5kYXI6ZGF0ZXRpbWVf dG9fZ3JlZ29yaWFuX3NlY29uZHMoVHNfbm93KQ0KLQkJCQkgICAgICAgLSBjYWxlbmRhcjpkYXRl dGltZV90b19ncmVnb3JpYW5fc2Vjb25kcyhUc19sYXN0KSwNCi0JCQkJICAge3RydWUsIFRzX2Rp ZmZ9DQotCQkJICAgZW5kLA0KLQ0KLSAgICBjYXNlIHtQZXJzaXN0ZW50LCBKdXN0X2NyZWF0ZWQs IE51bV91c2VycywgSGF2ZV9oaXN0b3J5LCBzZWNvbmRzX3RvX2RheXMoTGFzdCl9IG9mDQotCXt0 cnVlLCBmYWxzZSwgMCwgXywgTGFzdF9kYXlzfSANCi0Jd2hlbiBMYXN0X2RheXMgPiBMYXN0X2Fs bG93ZWQgLT4gDQotCSAgICB0cnVlOw0KLQlfIC0+DQotCSAgICBmYWxzZQ0KLSAgICBlbmQuDQot DQotc2Vjb25kc190b19kYXlzKFMpIC0+DQotICAgIHJvdW5kKFMpIGRpdiA2MCo2MCoyNC4NCi0N Ci11cHRpbWVfc2Vjb25kcygpIC0+DQotICAgIHRydW5jKGVsZW1lbnQoMSwgZXJsYW5nOnN0YXRp c3RpY3Mod2FsbF9jbG9jaykpLzEwMDApLg0KLQ0KLWdldF9yb29tX25hbWVzKEhvc3QpIC0+DQot ICAgIEdldF9yb29tX25hbWVzID0gZnVuKFJvb21fcmVnLCBOYW1lcykgLT4NCi0JCQkgICAgIGNh c2Uge0hvc3QsIFJvb21fcmVnI211Y19vbmxpbmVfcm9vbS5uYW1lX2hvc3R9IG9mDQotCQkJCSB7 SG9zdCwge05hbWUxLCBIb3N0fX0gLT4gDQotCQkJCSAgICAgW3tOYW1lMSwgSG9zdH0gfCBOYW1l c107DQotCQkJCSB7Z2xvYmFsLCB7TmFtZTEsIEhvc3QxfX0gLT4gDQotCQkJCSAgICAgW3tOYW1l MSwgSG9zdDF9IHwgTmFtZXNdOw0KLQkJCQkgXyAtPg0KLQkJCQkgICAgIE5hbWVzDQotCQkJICAg ICBlbmQNCi0JCSAgICAgZW5kLA0KLSAgICBldHM6Zm9sZHIoR2V0X3Jvb21fbmFtZXMsIFtdLCBt dWNfb25saW5lX3Jvb20pLg0KLQ0KLWdldF9yb29tX3BpZChOYW1lLCBIb3N0KSAtPg0KLSAgICBb Um9vbV9ldHNdID0gZXRzOmxvb2t1cChtdWNfb25saW5lX3Jvb20sIHtOYW1lLCBIb3N0fSksDQot ICAgIFJvb21fZXRzI211Y19vbmxpbmVfcm9vbS5waWQuDQotDQotZ2V0X3Jvb21fY29uZmlnKFJv b21fcGlkKSAtPg0KLSAgICBnZW5fZnNtOnN5bmNfc2VuZF9hbGxfc3RhdGVfZXZlbnQoUm9vbV9w aWQsIGdldF9jb25maWcpLg0KLQ0KLWdldF9yb29tX3N0YXRlKFJvb21fcGlkKSAtPg0KLSAgICBn ZW5fZnNtOnN5bmNfc2VuZF9hbGxfc3RhdGVfZXZlbnQoUm9vbV9waWQsIGdldF9zdGF0ZSkuDQor Z3JvdXBfcGFyYW1ldGVycyhQcywgW0NoYXJdKSAtPg0KKwl7bm9uZSwgR3JvdXBlZF9Qc30gPSBs aXN0czpmb2xkbCgNCisJCWZ1bihQLCB7U3RhdGUsIFJlc30pIC0+DQorCQkJY2FzZSBTdGF0ZSBv Zg0KKwkJCQlub25lIC0+IA0KKwkJCQkJY2FzZSBQIG9mDQorCQkJCQkJW0NoYXIgfCBQVGFpbF0t Pg0KKwkJCQkJCQl7YnVpbGRpbmcsIFtQVGFpbCB8IFJlc119Ow0KKwkJCQkJCV8gLT4NCisJCQkJ CQkJe25vbmUsIFtQIHwgUmVzXX0NCisJCQkJCWVuZDsNCisJCQkJYnVpbGRpbmcgLT4gDQorCQkJ CQlbUmVzSGVhZCB8IFJlc1RhaWxdID0gUmVzLA0KKwkJCQkJY2FzZSBsaXN0czpsYXN0KFApIG9m DQorCQkJCQkJQ2hhciAtPg0KKwkJCQkJCQlQMiA9IGxpc3RzOnN1Ymxpc3QoUCwgbGVuZ3RoKFAp LTEpLA0KKwkJCQkJCQl7bm9uZSwgW1Jlc0hlYWQgKysgIiAiICsrIFAyIHwgUmVzVGFpbF19Ow0K KwkJCQkJCV8gLT4NCisJCQkJCQkJe2J1aWxkaW5nLCBbUmVzSGVhZCArKyAiICIgKysgUCB8IFJl c1RhaWxdfQ0KKwkJCQkJZW5kDQorCQkJZW5kDQorCQllbmQsDQorCQl7bm9uZSwgW119LA0KKwkJ UHMpLA0KKwlsaXN0czpyZXZlcnNlKEdyb3VwZWRfUHMpLg0KCmRpZmYgLS1naXQgYS9zb3VyY2Vz IGIvc291cmNlcwppbmRleCAwZGNmYmQxLi5lNTFkMzA4IDEwMDY0NAotLS0gYS9zb3VyY2VzCisr KyBiL3NvdXJjZXMKQEAgLTEgKzEgQEAKLTFjMWZiMGIwMjg3YmE0NTQ3YjE2ODNmN2M5NGI2M2Jj ICBlamFiYmVyZC0yLjAuMi1iZXRhMS50YXIuZ3oKK2VlZjdhYjEyZmMxZTNlZDM0NjY5YmIyZDVl MWQwNDQ4ICBlamFiYmVyZC0yLjAuMi50YXIuZ3oK