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: Marian Koncek To: git-commits@fedoraproject.org Subject: [rpms/mysql-connector-java] rawhide: Update to upstream version 9.7.0 and add tests subpackage Date: Mon, 17 Aug 2026 07:49:31 GMT Message-ID: <178695297131.1.6449087398371731910.rpms-mysql-connector-java-f59103549d67@fedoraproject.org> List-ID: X-Git-Repo: rpms/mysql-connector-java X-Git-Branch: rawhide X-Git-Rev: f59103549d6765cb6140e644151c7bfd6ce72a10 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvbXlzcWwtY29ubmVj dG9yLWphdmEKQnJhbmNoIDogcmF3aGlkZQpDb21taXQgOiBmNTkxMDM1NDlkNjc2NWNiNjE0MGU2 NDQxNTFjN2JmZDZjZTcyYTEwCkF1dGhvciA6IE1hcmlhbiBLb25jZWsgPG1rb25jZWtAcmVkaGF0 LmNvbT4KRGF0ZSAgIDogMjAyNi0wOC0xMlQxMTo0MzoyNyswMjowMApTdGF0cyAgOiArNDM1Ly01 NzQgaW4gMTEgZmlsZShzKQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9y cG1zL215c3FsLWNvbm5lY3Rvci1qYXZhL2MvZjU5MTAzNTQ5ZDY3NjVjYjYxNDBlNjQ0MTUxYzdi ZmQ2Y2U3MmExMD9icmFuY2g9cmF3aGlkZQoKTG9nOgpVcGRhdGUgdG8gdXBzdHJlYW0gdmVyc2lv biA5LjcuMCBhbmQgYWRkIHRlc3RzIHN1YnBhY2thZ2UKCi0tLQpkaWZmIC0tZ2l0IGEvLmdpdGln bm9yZSBiLy5naXRpZ25vcmUKaW5kZXggOWVkZGRlYS4uZjI4ZjIwZiAxMDA2NDQKLS0tIGEvLmdp dGlnbm9yZQorKysgYi8uZ2l0aWdub3JlCkBAIC0yNCwzICsyNCw0IEBACiAvbXlzcWwtY29ubmVj dG9yLWphdmEtOC4wLjI4LW5vamFycy50YXIueHoKIC9teXNxbC1jb25uZWN0b3ItamF2YS04LjAu Mjktbm9qYXJzLnRhci54egogL215c3FsLWNvbm5lY3Rvci1qYXZhLTguMC4zMC1ub2phcnMudGFy Lnh6CisvbXlzcWwtY29ubmVjdG9yLWphdmEtOS43LjAudGFyLnpzdAoKZGlmZiAtLWdpdCBhLzAw MDEtUmVtb3ZlLWNvdmVyYWdlLXRlc3QucGF0Y2ggYi8wMDAxLVJlbW92ZS1jb3ZlcmFnZS10ZXN0 LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1OGE4NGVhLi4wMDAwMDAwCi0t LSBhLzAwMDEtUmVtb3ZlLWNvdmVyYWdlLXRlc3QucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwx OTIgKzAsMCBAQAotRnJvbSBjZGUwMjdhNDg4NmFjMTE2MGFjNDJhNmU0YmExZmEyZDI3MTAwOWJl IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogT25kcmVqIER1YmFqIDxvZHViYWpAcmVk aGF0LmNvbT4KLURhdGU6IFRodSwgMjggSnVsIDIwMjIgMDk6NTQ6MDYgKzAyMDAKLVN1YmplY3Q6 IFtQQVRDSF0gUmVtb3ZlIGNvdmVyYWdlIHRlc3QKLQotLS0tCi0gYnVpbGQueG1sIHwgMTYyIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIDEg ZmlsZSBjaGFuZ2VkLCAxNjIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9idWlsZC54bWwg Yi9idWlsZC54bWwKLWluZGV4IDhjNGU5ZjUuLjNkMTNiZjQgMTAwNjQ0Ci0tLS0gYS9idWlsZC54 bWwKLSsrKyBiL2J1aWxkLnhtbAotQEAgLTEyNzksODIgKzEyNzksNiBAQCBTZWUgYWxzbyBjb20u bXlzcWwuY2ouY29uZi5Qcm9wZXJ0eURlZmluaXRpb25zLlNZU1BfKiB2YXJpYWJsZXMgZm9yIG90 aGVyIHRlc3QgbwotICAgICAgICAgPC9jb25kaXRpb24+Ci0gICAgICAgICA8ZWNobz4ke2NvbS5t eXNxbC5jai50ZXN0c3VpdGUubWVzc2FnZS50ZXN0Lm1vZGV9PC9lY2hvPgotIAotLSAgICAgICAg PGxvY2FsIG5hbWU9ImNvbS5teXNxbC5jai50ZXN0c3VpdGUudGVzdC5jb3ZlcmFnZSIgLz4KLS0g ICAgICAgIDxjb25kaXRpb24gcHJvcGVydHk9ImNvbS5teXNxbC5jai50ZXN0c3VpdGUudGVzdC5j b3ZlcmFnZSIgdmFsdWU9InRydWUiIGVsc2U9ImZhbHNlIj4KLS0gICAgICAgICAgICA8aXNzZXQg cHJvcGVydHk9ImNvbS5teXNxbC5jai5jb3ZlcmFnZS5yZXN1bHQuZGlyLmZpbmFsIiAvPgotLSAg ICAgICAgPC9jb25kaXRpb24+Ci0tCi0tICAgICAgICA8bG9jYWwgbmFtZT0iY29tLm15c3FsLmNq LnRlc3RzdWl0ZS50ZXN0LmNvdmVyYWdlLmp2bWFyZ2ZpbmFsIiAvPgotLSAgICAgICAgPGNvbmRp dGlvbiBwcm9wZXJ0eT0iY29tLm15c3FsLmNqLnRlc3RzdWl0ZS50ZXN0LmNvdmVyYWdlLmp2bWFy Z2ZpbmFsIgotLSAgICAgICAgICAgICAgICAgICB2YWx1ZT0iJHtjb20ubXlzcWwuY2oudGVzdHN1 aXRlLnRlc3QuY292ZXJhZ2UuanZtYXJnfSIKLS0gICAgICAgICAgICAgICAgICAgZWxzZT0iLURj b3ZlcmFnZT1kaXNhYmxlZCI+Ci0tICAgICAgICAgICAgPGFuZD4KLS0gICAgICAgICAgICAgICAg PGlzc2V0IHByb3BlcnR5PSJjb20ubXlzcWwuY2oudGVzdHN1aXRlLnRlc3QuY292ZXJhZ2UuanZt YXJnIiAvPgotLSAgICAgICAgICAgICAgICA8bm90PgotLSAgICAgICAgICAgICAgICAgICAgPGVx dWFscyBhcmcxPSIke2NvbS5teXNxbC5jai50ZXN0c3VpdGUudGVzdC5jb3ZlcmFnZS5qdm1hcmd9 IiBhcmcyPSIiIC8+Ci0tICAgICAgICAgICAgICAgIDwvbm90PgotLSAgICAgICAgICAgIDwvYW5k PgotLSAgICAgICAgPC9jb25kaXRpb24+Ci0tCi0tICAgICAgICA8IS0tIGFudCAxLjEwLjEwIGFu ZCBhYm92ZSBwcmludCByZXBvcnQgc3VtbWFyaWVzIHRvIHRoZSBjb25zb2xlIGZyb20gd2hlcmUg dGVzdCBjb3VudHMgY2FuIGJlIHJldHJpZXZlZC4gLS0+Ci0tICAgICAgICA8YW50dmVyc2lvbiBw cm9wZXJ0eT0iY29tLm15c3FsLmNqLnRlc3RzdWl0ZS5hbnQudmVyc2lvbiIgYXRsZWFzdD0iMS4x MC4xMCIgLz4KLS0KLS0gICAgICAgIDxqdW5pdGxhdW5jaGVyIGhhbHRPbkZhaWx1cmU9ImZhbHNl IiBwcmludFN1bW1hcnk9InRydWUiIGZhaWx1cmVQcm9wZXJ0eT0iY29tLm15c3FsLmNqLnRlc3Rz dWl0ZS5qdW5pdC5mYWlsIj4KLS0gICAgICAgICAgICA8Y2xhc3NwYXRoIHJlZmlkPSJjb20ubXlz cWwuY2oudGVzdHN1aXRlLmJ1aWxkLmNsYXNzcGF0aCIgLz4KLS0KLS0gICAgICAgICAgICA8dGVz dCBpZj0iJHtjb20ubXlzcWwuY2oudGVzdHN1aXRlLnRlc3QubWV0aG9kcy5lbmFibGVkfSIKLS0g ICAgICAgICAgICAgICAgICBuYW1lPSIke2NvbS5teXNxbC5jai50ZXN0c3VpdGUudGVzdC5jbGFz c30iCi0tICAgICAgICAgICAgICAgICAgbWV0aG9kcz0iJHtjb20ubXlzcWwuY2oudGVzdHN1aXRl LnRlc3QubWV0aG9kc30iCi0tICAgICAgICAgICAgICAgICAgb3V0cHV0ZGlyPSIke2NvbS5teXNx bC5jai50ZXN0c3VpdGUuanVuaXQucmVzdWx0c30iPgotLSAgICAgICAgICAgICAgICA8Zm9yaz4K LS0gICAgICAgICAgICAgICAgICAgIDxqdm1hcmcgdmFsdWU9Ii1EZmlsZS5lbmNvZGluZz1VVEYt OCIgLz4KLS0gICAgICAgICAgICAgICAgICAgIDxqdm1hcmcgdmFsdWU9Ii1YbXgxMDI0bSIgLz4K LS0gICAgICAgICAgICAgICAgICAgIDxqdm1hcmcgdmFsdWU9IiR7Y29tLm15c3FsLmNqLnRlc3Rz dWl0ZS50ZXN0LmNvdmVyYWdlLmp2bWFyZ2ZpbmFsfSIgLz4KLS0gICAgICAgICAgICAgICAgICAg IDxzeXNwcm9wZXJ0eXNldCByZWZpZD0ianVuaXQuc3lzdGVtLnByb3BlcnRpZXMiIC8+Ci0tICAg ICAgICAgICAgICAgIDwvZm9yaz4KLS0gICAgICAgICAgICAgICAgPGxpc3RlbmVyIGNsYXNzbmFt ZT0idGVzdHN1aXRlLkpVbml0U3VtbWFyeSIgdW5sZXNzPSJjb20ubXlzcWwuY2oudGVzdHN1aXRl LmFudC52ZXJzaW9uIiAvPgotLSAgICAgICAgICAgICAgICA8bGlzdGVuZXIgdHlwZT0ibGVnYWN5 LXhtbCIgc2VuZFN5c091dD0idHJ1ZSIgc2VuZFN5c0Vycj0idHJ1ZSIgLz4KLS0gICAgICAgICAg ICAgICAgPGxpc3RlbmVyIHR5cGU9ImxlZ2FjeS1wbGFpbiIgc2VuZFN5c091dD0idHJ1ZSIgc2Vu ZFN5c0Vycj0idHJ1ZSIgLz4KLS0gICAgICAgICAgICA8L3Rlc3Q+Ci0tCi0tICAgICAgICAgICAg PHRlc3QgaWY9ImNvbS5teXNxbC5jai50ZXN0c3VpdGUudGVzdC5jbGFzcyIKLS0gICAgICAgICAg ICAgICAgICB1bmxlc3M9ImNvbS5teXNxbC5jai50ZXN0c3VpdGUudGVzdC5tZXRob2RzIgotLSAg ICAgICAgICAgICAgICAgIG5hbWU9IiR7Y29tLm15c3FsLmNqLnRlc3RzdWl0ZS50ZXN0LmNsYXNz fSIKLS0gICAgICAgICAgICAgICAgICBvdXRwdXRkaXI9IiR7Y29tLm15c3FsLmNqLnRlc3RzdWl0 ZS5qdW5pdC5yZXN1bHRzfSI+Ci0tICAgICAgICAgICAgICAgIDxmb3JrPgotLSAgICAgICAgICAg ICAgICAgICAgPGp2bWFyZyB2YWx1ZT0iLURmaWxlLmVuY29kaW5nPVVURi04IiAvPgotLSAgICAg ICAgICAgICAgICAgICAgPGp2bWFyZyB2YWx1ZT0iLVhteDEwMjRtIiAvPgotLSAgICAgICAgICAg ICAgICAgICAgPGp2bWFyZyB2YWx1ZT0iJHtjb20ubXlzcWwuY2oudGVzdHN1aXRlLnRlc3QuY292 ZXJhZ2UuanZtYXJnZmluYWx9IiAvPgotLSAgICAgICAgICAgICAgICAgICAgPHN5c3Byb3BlcnR5 c2V0IHJlZmlkPSJqdW5pdC5zeXN0ZW0ucHJvcGVydGllcyIgLz4KLS0gICAgICAgICAgICAgICAg PC9mb3JrPgotLSAgICAgICAgICAgICAgICA8bGlzdGVuZXIgY2xhc3NuYW1lPSJ0ZXN0c3VpdGUu SlVuaXRTdW1tYXJ5IiB1bmxlc3M9ImNvbS5teXNxbC5jai50ZXN0c3VpdGUuYW50LnZlcnNpb24i IC8+Ci0tICAgICAgICAgICAgICAgIDxsaXN0ZW5lciB0eXBlPSJsZWdhY3kteG1sIiBzZW5kU3lz T3V0PSJ0cnVlIiBzZW5kU3lzRXJyPSJ0cnVlIiAvPgotLSAgICAgICAgICAgICAgICA8bGlzdGVu ZXIgdHlwZT0ibGVnYWN5LXBsYWluIiBzZW5kU3lzT3V0PSJ0cnVlIiBzZW5kU3lzRXJyPSJ0cnVl IiAvPgotLSAgICAgICAgICAgIDwvdGVzdD4KLS0KLS0gICAgICAgICAgICA8dGVzdGNsYXNzZXMg dW5sZXNzPSJjb20ubXlzcWwuY2oudGVzdHN1aXRlLnRlc3QuY2xhc3MiIG91dHB1dGRpcj0iJHtj b20ubXlzcWwuY2oudGVzdHN1aXRlLmp1bml0LnJlc3VsdHN9Ij4KLS0gICAgICAgICAgICAgICAg PGZpbGVzZXQgZGlyPSIke2NvbS5teXNxbC5jai50ZXN0c3VpdGUuYnVpbGQuZGlyfS8ke2NvbS5t eXNxbC5jai5idWlsZC5kcml2ZXIuZnVsbE5hbWV9Ij4KLS0gICAgICAgICAgICAgICAgICAgIDxp bmNsdWRlIG5hbWU9IioqLypUZXN0LmNsYXNzIiAvPgotLSAgICAgICAgICAgICAgICAgICAgPGV4 Y2x1ZGUgbmFtZT0iKiovcGVyZi8qLmNsYXNzIiAvPgotLSAgICAgICAgICAgICAgICA8L2ZpbGVz ZXQ+Ci0tICAgICAgICAgICAgICAgIDxmb3JrPgotLSAgICAgICAgICAgICAgICAgICAgPGp2bWFy ZyB2YWx1ZT0iLURmaWxlLmVuY29kaW5nPVVURi04IiAvPgotLSAgICAgICAgICAgICAgICAgICAg PGp2bWFyZyB2YWx1ZT0iLVhteDEwMjRtIiAvPgotLSAgICAgICAgICAgICAgICAgICAgPGp2bWFy ZyB2YWx1ZT0iJHtjb20ubXlzcWwuY2oudGVzdHN1aXRlLnRlc3QuY292ZXJhZ2UuanZtYXJnZmlu YWx9IiAvPgotLSAgICAgICAgICAgICAgICAgICAgPHN5c3Byb3BlcnR5c2V0IHJlZmlkPSJqdW5p dC5zeXN0ZW0ucHJvcGVydGllcyIgLz4KLS0gICAgICAgICAgICAgICAgPC9mb3JrPgotLSAgICAg ICAgICAgICAgICA8bGlzdGVuZXIgY2xhc3NuYW1lPSJ0ZXN0c3VpdGUuSlVuaXRTdW1tYXJ5IiB1 bmxlc3M9ImNvbS5teXNxbC5jai50ZXN0c3VpdGUuYW50LnZlcnNpb24iIC8+Ci0tICAgICAgICAg ICAgICAgIDxsaXN0ZW5lciB0eXBlPSJsZWdhY3kteG1sIiBzZW5kU3lzT3V0PSJ0cnVlIiBzZW5k U3lzRXJyPSJ0cnVlIiAvPgotLSAgICAgICAgICAgICAgICA8bGlzdGVuZXIgdHlwZT0ibGVnYWN5 LXBsYWluIiBzZW5kU3lzT3V0PSJ0cnVlIiBzZW5kU3lzRXJyPSJ0cnVlIiAvPgotLSAgICAgICAg ICAgIDwvdGVzdGNsYXNzZXM+Ci0tICAgICAgICA8L2p1bml0bGF1bmNoZXI+Ci0tCi0tICAgICAg ICA8anVuaXRyZXBvcnQgdG9kaXI9IiR7Y29tLm15c3FsLmNqLnRlc3RzdWl0ZS5qdW5pdC5yZXN1 bHRzfS9yZXBvcnQiPgotLSAgICAgICAgICAgIDxmaWxlc2V0IGRpcj0iJHtjb20ubXlzcWwuY2ou dGVzdHN1aXRlLmp1bml0LnJlc3VsdHN9Ij4KLS0gICAgICAgICAgICAgICAgPGluY2x1ZGUgbmFt ZT0iKiovVEVTVC0qLnhtbCIgLz4KLS0gICAgICAgICAgICA8L2ZpbGVzZXQ+Ci0tICAgICAgICAg ICAgPHJlcG9ydCBzdHlsZWRpcj0iJHtqdW5pdC5zdHlsZWRpcn0iIGZvcm1hdD0iZnJhbWVzIiB0 b2Rpcj0iJHtjb20ubXlzcWwuY2oudGVzdHN1aXRlLmp1bml0LnJlc3VsdHN9L3JlcG9ydCIgLz4K LS0gICAgICAgIDwvanVuaXRyZXBvcnQ+Ci0gCi0gICAgICAgICA8IS0tIERvbid0IGZhaWwgdGhl IGJ1aWxkIGlmIHdlJ3JlIGRvaW5nIGNvdmVyYWdlIHRlc3QuIC0tPgotICAgICAgICAgPGZhaWwg bWVzc2FnZT0iVGVzdHMgZmFpbGVkLiBDaGVjayBsb2dzIGFuZC9vciByZXBvcnRzIGluICcke2Nv bS5teXNxbC5jai50ZXN0c3VpdGUuanVuaXQucmVzdWx0c30nLiI+Ci1AQCAtMTM2Nyw5MiArMTI5 MSw2IEBAIFNlZSBhbHNvIGNvbS5teXNxbC5jai5jb25mLlByb3BlcnR5RGVmaW5pdGlvbnMuU1lT UF8qIHZhcmlhYmxlcyBmb3Igb3RoZXIgdGVzdCBvCi0gICAgIDwvdGFyZ2V0PgotIAotIAotLSAg ICA8IS0tICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAtLT4KLS0gICAgPCEtLSAq KioqKiBURVNUSU5HIENPREUgQ09WRVJBR0UgKioqKiogLS0+Ci0tICAgIDwhLS0gKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqIC0tPgotLQotLQotLSAgICA8dGFyZ2V0IG5hbWU9InRl c3QtY292ZXJhZ2UiIGRlc2NyaXB0aW9uPSJSdW5zIHRlc3RzIGNvbGxlY3RpbmcgY292ZXJhZ2Ug cmVzdWx0cy4iIGRlcGVuZHM9Ii1zZXR1cC10ZXN0LWNvdmVyYWdlLWFnZW50LCB0ZXN0IiAvPgot LQotLQotLSAgICA8dGFyZ2V0IG5hbWU9Ii1zZXQtdGVzdC1jb3ZlcmFnZS1kZWZhdWx0cyIgZGVw ZW5kcz0iLWV4dHJhLWxpYnMtY2hlY2siPgotLSAgICAgICAgPGNvbmRpdGlvbiBwcm9wZXJ0eT0i Y29tLm15c3FsLmNqLmNvdmVyYWdlLnJlc3VsdC5kaXIuZmluYWwiCi0tICAgICAgICAgICAgICAg ICAgIHZhbHVlPSIke2NvbS5teXNxbC5jai5jb3ZlcmFnZS5yZXN1bHQuZGlyfSIKLS0gICAgICAg ICAgICAgICAgICAgZWxzZT0iJHtjb20ubXlzcWwuY2oudGVzdHN1aXRlLmJ1aWxkLmRpcn0vY292 ZXJhZ2UiPgotLSAgICAgICAgICAgIDxpc3NldCBwcm9wZXJ0eT0iY29tLm15c3FsLmNqLmNvdmVy YWdlLnJlc3VsdC5kaXIiIC8+Ci0tICAgICAgICA8L2NvbmRpdGlvbj4KLS0gICAgICAgIDxjb25k aXRpb24gcHJvcGVydHk9ImNvbS5teXNxbC5jai5jb3ZlcmFnZS5yZXN1bHQubmFtZS5maW5hbCIg dmFsdWU9IiR7Y29tLm15c3FsLmNqLmNvdmVyYWdlLnJlc3VsdC5uYW1lfSIgZWxzZT0iamFjb2Nv LmV4ZWMiPgotLSAgICAgICAgICAgIDxpc3NldCBwcm9wZXJ0eT0iY29tLm15c3FsLmNqLmNvdmVy YWdlLnJlc3VsdC5uYW1lIiAvPgotLSAgICAgICAgPC9jb25kaXRpb24+Ci0tCi0tICAgICAgICA8 dGFza2RlZiB1cmk9ImFudGxpYjpvcmcuamFjb2NvLmFudCIgcmVzb3VyY2U9Im9yZy9qYWNvY28v YW50L2FudGxpYi54bWwiPgotLSAgICAgICAgICAgIDxjbGFzc3BhdGg+Ci0tICAgICAgICAgICAg ICAgIDxmaWxlc2V0IGRpcj0iJHtjb20ubXlzcWwuY2ouZXh0cmEubGlic30iPgotLSAgICAgICAg ICAgICAgICAgICAgPGluY2x1ZGUgbmFtZT0iKiovamFjb2NvYW50LmphciIgLz4KLS0gICAgICAg ICAgICAgICAgPC9maWxlc2V0PgotLSAgICAgICAgICAgIDwvY2xhc3NwYXRoPgotLSAgICAgICAg PC90YXNrZGVmPgotLSAgICA8L3RhcmdldD4KLS0KLS0KLS0gICAgPHRhcmdldCBuYW1lPSItc2V0 dXAtdGVzdC1jb3ZlcmFnZS1hZ2VudCIgZGVwZW5kcz0iLXNldC10ZXN0LWNvdmVyYWdlLWRlZmF1 bHRzIj4KLS0gICAgICAgIDxqYWNvY286YWdlbnQgZGVzdGZpbGU9IiR7Y29tLm15c3FsLmNqLmNv dmVyYWdlLnJlc3VsdC5kaXIuZmluYWx9LyR7Y29tLm15c3FsLmNqLmNvdmVyYWdlLnJlc3VsdC5u YW1lLmZpbmFsfSIKLS0gICAgICAgICAgICAgICAgICAgICAgcHJvcGVydHk9ImNvbS5teXNxbC5j ai50ZXN0c3VpdGUudGVzdC5jb3ZlcmFnZS5qdm1hcmciIC8+Ci0tICAgIDwvdGFyZ2V0PgotLQot LQotLSAgICA8IS0tICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIC0tPgotLSAg ICA8IS0tICoqKioqIFJFUE9SVElORyBDT0RFIENPVkVSQUdFICoqKioqIC0tPgotLSAgICA8IS0t ICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIC0tPgotLQotLQotLSAgICA8dGFy Z2V0IG5hbWU9InJlcG9ydC1jb3ZlcmFnZSIKLS0gICAgICAgICAgICBkZXBlbmRzPSItc2V0LXJl cG9ydC1jb3ZlcmFnZS1kZWZhdWx0cywgLWphY29jby1tZXJnZSIKLS0gICAgICAgICAgICBkZXNj cmlwdGlvbj0iTWVyZ2VzIGNvdmVyYWdlIHJlc3VsdHMgYW5kIGNyZWF0ZXMgSFRNTCBjb3ZlcmFn ZSByZXBvcnQuIj4KLS0gICAgICAgIDxqYWNvY286cmVwb3J0PgotLSAgICAgICAgICAgIDxleGVj dXRpb25kYXRhPgotLSAgICAgICAgICAgICAgICA8ZmlsZSBmaWxlPSIke2NvbS5teXNxbC5jai5j b3ZlcmFnZS5tZXJnZS5yZXN1bHQuZmluYWx9IiAvPgotLSAgICAgICAgICAgIDwvZXhlY3V0aW9u ZGF0YT4KLS0KLS0gICAgICAgICAgICA8c3RydWN0dXJlIG5hbWU9IkNvbm5lY3Rvci9KIGNsYXNz ZXMiPgotLSAgICAgICAgICAgICAgICA8Y2xhc3NmaWxlcz4KLS0gICAgICAgICAgICAgICAgICAg IDxmaWxlc2V0IGRpcj0iJHtjb20ubXlzcWwuY2ouYnVpbGQuZGlyLmRyaXZlcn0iPgotLSAgICAg ICAgICAgICAgICAgICAgICAgIDxpbmNsdWRlIG5hbWU9ImNvbS9teXNxbC9jai8qKiIgLz4KLS0g ICAgICAgICAgICAgICAgICAgICAgICA8ZXhjbHVkZSBuYW1lPSJjb20vbXlzcWwvY2oveC9wcm90 b2J1Zi8qKiIgLz4KLS0gICAgICAgICAgICAgICAgICAgIDwvZmlsZXNldD4KLS0gICAgICAgICAg ICAgICAgPC9jbGFzc2ZpbGVzPgotLSAgICAgICAgICAgICAgICA8c291cmNlZmlsZXMgZW5jb2Rp bmc9IlVURi04Ij4KLS0gICAgICAgICAgICAgICAgICAgIDxmaWxlc2V0IGRpcj0iJHtjb20ubXlz cWwuY2ouYnVpbGQuZGlyLmRyaXZlcn0iPgotLSAgICAgICAgICAgICAgICAgICAgICAgIDxpbmNs dWRlIG5hbWU9ImNvbS9teXNxbC9jai8qKiIgLz4KLS0gICAgICAgICAgICAgICAgICAgICAgICA8 ZXhjbHVkZSBuYW1lPSJjb20vbXlzcWwvY2oveC9wcm90b2J1Zi8qKiIgLz4KLS0gICAgICAgICAg ICAgICAgICAgIDwvZmlsZXNldD4KLS0gICAgICAgICAgICAgICAgPC9zb3VyY2VmaWxlcz4KLS0g ICAgICAgICAgICA8L3N0cnVjdHVyZT4KLS0KLS0gICAgICAgICAgICA8aHRtbCBkZXN0ZGlyPSIk e2NvbS5teXNxbC5jai5jb3ZlcmFnZS5yZXBvcnQuZGlyLmZpbmFsfSIgLz4KLS0gICAgICAgIDwv amFjb2NvOnJlcG9ydD4KLS0gICAgPC90YXJnZXQ+Ci0tCi0tCi0tICAgIDx0YXJnZXQgbmFtZT0i LWphY29jby1tZXJnZSIgZGVwZW5kcz0iLXNldC1yZXBvcnQtY292ZXJhZ2UtZGVmYXVsdHMiIGlm PSJjb20ubXlzcWwuY2ouY292ZXJhZ2UubWVyZ2UuZmlsZXMiPgotLSAgICAgICAgPGphY29jbzpt ZXJnZSBkZXN0ZmlsZT0iJHtjb20ubXlzcWwuY2ouY292ZXJhZ2UubWVyZ2UucmVzdWx0LmZpbmFs fSI+Ci0tICAgICAgICAgICAgPGZpbGVzZXQgZGlyPSIke2NvbS5teXNxbC5jai5jb3ZlcmFnZS5y ZXN1bHQuZGlyLmZpbmFsfSIgaW5jbHVkZXM9IiR7Y29tLm15c3FsLmNqLmNvdmVyYWdlLm1lcmdl LmZpbGVzfSIgLz4KLS0gICAgICAgIDwvamFjb2NvOm1lcmdlPgotLSAgICA8L3RhcmdldD4KLS0K LS0KLS0gICAgPHRhcmdldCBuYW1lPSItc2V0LXJlcG9ydC1jb3ZlcmFnZS1kZWZhdWx0cyIgZGVw ZW5kcz0iLXNldC10ZXN0LWNvdmVyYWdlLWRlZmF1bHRzIj4KLS0gICAgICAgIDxjb25kaXRpb24g cHJvcGVydHk9ImNvbS5teXNxbC5jai5jb3ZlcmFnZS5tZXJnZS5yZXN1bHQuZmluYWwiCi0tICAg ICAgICAgICAgICAgICAgIHZhbHVlPSIke2NvbS5teXNxbC5jai5jb3ZlcmFnZS5tZXJnZS5yZXN1 bHR9IgotLSAgICAgICAgICAgICAgICAgICBlbHNlPSIke2NvbS5teXNxbC5jai5jb3ZlcmFnZS5y ZXN1bHQuZGlyLmZpbmFsfS9qYWNvY28uZXhlYyI+Ci0tICAgICAgICAgICAgPGlzc2V0IHByb3Bl cnR5PSJjb20ubXlzcWwuY2ouY292ZXJhZ2UubWVyZ2UucmVzdWx0IiAvPgotLSAgICAgICAgPC9j b25kaXRpb24+Ci0tICAgICAgICA8Y29uZGl0aW9uIHByb3BlcnR5PSJjb20ubXlzcWwuY2ouY292 ZXJhZ2UucmVwb3J0LmRpci5maW5hbCIKLS0gICAgICAgICAgICAgICAgICAgdmFsdWU9IiR7Y29t Lm15c3FsLmNqLmNvdmVyYWdlLnJlcG9ydC5kaXJ9IgotLSAgICAgICAgICAgICAgICAgICBlbHNl PSIke2NvbS5teXNxbC5jai5jb3ZlcmFnZS5yZXN1bHQuZGlyLmZpbmFsfS9yZXBvcnQiPgotLSAg ICAgICAgICAgIDxpc3NldCBwcm9wZXJ0eT0iY29tLm15c3FsLmNqLmNvdmVyYWdlLnJlcG9ydC5k aXIiIC8+Ci0tICAgICAgICA8L2NvbmRpdGlvbj4KLS0gICAgPC90YXJnZXQ+Ci0gCi0gCi0gICAg IDwhLS0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogLS0+Ci0tLSAKLTIuNDguMQotCgpk aWZmIC0tZ2l0IGEvMDAwMi1SZW1vdmUtYXV0aGVudGljYXRpb24tcGx1Z2luLnBhdGNoIGIvMDAw Mi1SZW1vdmUtYXV0aGVudGljYXRpb24tcGx1Z2luLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAyNzBmNzJmLi4wMDAwMDAwCi0tLSBhLzAwMDItUmVtb3ZlLWF1dGhlbnRpY2F0 aW9uLXBsdWdpbi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDIzNSArMCwwIEBACi1Gcm9tIDQ3 NzkzYjg5MzAwYTE5YzVmZDEzYjc4MWYwM2RkNTgwZmMwMTg2YTYgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCi1Gcm9tOiBPbmRyZWogRHViYWogPG9kdWJhakByZWRoYXQuY29tPgotRGF0ZTogVHVl LCAxOCBKYW4gMjAyMiAxNDo1ODo1NyArMDEwMAotU3ViamVjdDogW1BBVENIXSByZW1vdmUgQXV0 aGVudGljYXRpb25PY2lDbGllbnQgcGx1Z2luIGR1ZSB0byBtaXNzaW5nIG9yYWNsZSBkZXBlbmRl bmN5Ci0KLS0tLQotIC4uLi9hL05hdGl2ZUF1dGhlbnRpY2F0aW9uUHJvdmlkZXIuamF2YSAgICAg ICB8ICAgMiAtCi0gLi4uL0F1dGhlbnRpY2F0aW9uT2NpQ2xpZW50LmphdmEgICAgICAgICAgICAg IHwgMTc3IC0tLS0tLS0tLS0tLS0tLS0tLQotIC4uLi9jai9Mb2NhbGl6ZWRFcnJvck1lc3NhZ2Vz LnByb3BlcnRpZXMgICAgICB8ICAgNiAtCi0gMyBmaWxlcyBjaGFuZ2VkLCAxODUgZGVsZXRpb25z KC0pCi0gZGVsZXRlIG1vZGUgMTAwNjQ0IHNyYy9tYWluL3Byb3RvY29sLWltcGwvamF2YS9jb20v bXlzcWwvY2ovcHJvdG9jb2wvYS9hdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk9jaUNsaWVu dC5qYXZhCi0KLWRpZmYgLS1naXQgYS9zcmMvbWFpbi9wcm90b2NvbC1pbXBsL2phdmEvY29tL215 c3FsL2NqL3Byb3RvY29sL2EvTmF0aXZlQXV0aGVudGljYXRpb25Qcm92aWRlci5qYXZhIGIvc3Jj L21haW4vcHJvdG9jb2wtaW1wbC9qYXZhL2NvbS9teXNxbC9jai9wcm90b2NvbC9hL05hdGl2ZUF1 dGhlbnRpY2F0aW9uUHJvdmlkZXIuamF2YQotaW5kZXggMGQ5NDA2MS4uNThiYmYyMyAxMDA2NDQK LS0tLSBhL3NyYy9tYWluL3Byb3RvY29sLWltcGwvamF2YS9jb20vbXlzcWwvY2ovcHJvdG9jb2wv YS9OYXRpdmVBdXRoZW50aWNhdGlvblByb3ZpZGVyLmphdmEKLSsrKyBiL3NyYy9tYWluL3Byb3Rv Y29sLWltcGwvamF2YS9jb20vbXlzcWwvY2ovcHJvdG9jb2wvYS9OYXRpdmVBdXRoZW50aWNhdGlv blByb3ZpZGVyLmphdmEKLUBAIC01OCw3ICs1OCw2IEBAIGltcG9ydCBjb20ubXlzcWwuY2oucHJv dG9jb2wuYS5OYXRpdmVDb25zdGFudHMuU3RyaW5nU2VsZkRhdGFUeXBlOwotIGltcG9ydCBjb20u bXlzcWwuY2oucHJvdG9jb2wuYS5hdXRoZW50aWNhdGlvbi5BdXRoZW50aWNhdGlvbkZpZG9DbGll bnQ7Ci0gaW1wb3J0IGNvbS5teXNxbC5jai5wcm90b2NvbC5hLmF1dGhlbnRpY2F0aW9uLkF1dGhl bnRpY2F0aW9uS2VyYmVyb3NDbGllbnQ7Ci0gaW1wb3J0IGNvbS5teXNxbC5jai5wcm90b2NvbC5h LmF1dGhlbnRpY2F0aW9uLkF1dGhlbnRpY2F0aW9uTGRhcFNhc2xDbGllbnRQbHVnaW47Ci0taW1w b3J0IGNvbS5teXNxbC5jai5wcm90b2NvbC5hLmF1dGhlbnRpY2F0aW9uLkF1dGhlbnRpY2F0aW9u T2NpQ2xpZW50OwotIGltcG9ydCBjb20ubXlzcWwuY2oucHJvdG9jb2wuYS5hdXRoZW50aWNhdGlv bi5DYWNoaW5nU2hhMlBhc3N3b3JkUGx1Z2luOwotIGltcG9ydCBjb20ubXlzcWwuY2oucHJvdG9j b2wuYS5hdXRoZW50aWNhdGlvbi5NeXNxbENsZWFyUGFzc3dvcmRQbHVnaW47Ci0gaW1wb3J0IGNv bS5teXNxbC5jai5wcm90b2NvbC5hLmF1dGhlbnRpY2F0aW9uLk15c3FsTmF0aXZlUGFzc3dvcmRQ bHVnaW47Ci1AQCAtMjU2LDcgKzI1NSw2IEBAIHB1YmxpYyBjbGFzcyBOYXRpdmVBdXRoZW50aWNh dGlvblByb3ZpZGVyIGltcGxlbWVudHMgQXV0aGVudGljYXRpb25Qcm92aWRlcjxOYXRpCi0gICAg ICAgICBwbHVnaW5zVG9Jbml0LmFkZChuZXcgTXlzcWxPbGRQYXNzd29yZFBsdWdpbigpKTsKLSAg ICAgICAgIHBsdWdpbnNUb0luaXQuYWRkKG5ldyBBdXRoZW50aWNhdGlvbkxkYXBTYXNsQ2xpZW50 UGx1Z2luKCkpOwotICAgICAgICAgcGx1Z2luc1RvSW5pdC5hZGQobmV3IEF1dGhlbnRpY2F0aW9u S2VyYmVyb3NDbGllbnQoKSk7Ci0tICAgICAgICBwbHVnaW5zVG9Jbml0LmFkZChuZXcgQXV0aGVu dGljYXRpb25PY2lDbGllbnQoKSk7Ci0gICAgICAgICBwbHVnaW5zVG9Jbml0LmFkZChuZXcgQXV0 aGVudGljYXRpb25GaWRvQ2xpZW50KCkpOwotIAotICAgICAgICAgLy8gcGx1Z2lucyBmcm9tIGF1 dGhlbnRpY2F0aW9uUGx1Z2luQ2xhc3NlcyBjb25uZWN0aW9uIHBhcmFtZXRlcgotZGlmZiAtLWdp dCBhL3NyYy9tYWluL3Byb3RvY29sLWltcGwvamF2YS9jb20vbXlzcWwvY2ovcHJvdG9jb2wvYS9h dXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk9jaUNsaWVudC5qYXZhIGIvc3JjL21haW4vcHJv dG9jb2wtaW1wbC9qYXZhL2NvbS9teXNxbC9jai9wcm90b2NvbC9hL2F1dGhlbnRpY2F0aW9uL0F1 dGhlbnRpY2F0aW9uT2NpQ2xpZW50LmphdmEKLWRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAotaW5k ZXggNDczZTUzMi4uMDAwMDAwMAotLS0tIGEvc3JjL21haW4vcHJvdG9jb2wtaW1wbC9qYXZhL2Nv bS9teXNxbC9jai9wcm90b2NvbC9hL2F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uT2NpQ2xp ZW50LmphdmEKLSsrKyAvZGV2L251bGwKLUBAIC0xLDE3NyArMCwwIEBACi0tLyoKLS0gKiBDb3B5 cmlnaHQgKGMpIDIwMjEsIDIwMjIsIE9yYWNsZSBhbmQvb3IgaXRzIGFmZmlsaWF0ZXMuCi0tICoK LS0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg aXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlcgotLSAqIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UsIHZlcnNpb24gMi4wLCBhcyBwdWJsaXNoZWQgYnkgdGhlCi0tICog RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgotLSAqCi0tICogVGhpcyBwcm9ncmFtIGlzIGFsc28g ZGlzdHJpYnV0ZWQgd2l0aCBjZXJ0YWluIHNvZnR3YXJlIChpbmNsdWRpbmcgYnV0IG5vdAotLSAq IGxpbWl0ZWQgdG8gT3BlblNTTCkgdGhhdCBpcyBsaWNlbnNlZCB1bmRlciBzZXBhcmF0ZSB0ZXJt cywgYXMgZGVzaWduYXRlZCBpbiBhCi0tICogcGFydGljdWxhciBmaWxlIG9yIGNvbXBvbmVudCBv ciBpbiBpbmNsdWRlZCBsaWNlbnNlIGRvY3VtZW50YXRpb24uIFRoZQotLSAqIGF1dGhvcnMgb2Yg TXlTUUwgaGVyZWJ5IGdyYW50IHlvdSBhbiBhZGRpdGlvbmFsIHBlcm1pc3Npb24gdG8gbGluayB0 aGUKLS0gKiBwcm9ncmFtIGFuZCB5b3VyIGRlcml2YXRpdmUgd29ya3Mgd2l0aCB0aGUgc2VwYXJh dGVseSBsaWNlbnNlZCBzb2Z0d2FyZSB0aGF0Ci0tICogdGhleSBoYXZlIGluY2x1ZGVkIHdpdGgg TXlTUUwuCi0tICoKLS0gKiBXaXRob3V0IGxpbWl0aW5nIGFueXRoaW5nIGNvbnRhaW5lZCBpbiB0 aGUgZm9yZWdvaW5nLCB0aGlzIGZpbGUsIHdoaWNoIGlzCi0tICogcGFydCBvZiBNeVNRTCBDb25u ZWN0b3IvSiwgaXMgYWxzbyBzdWJqZWN0IHRvIHRoZSBVbml2ZXJzYWwgRk9TUyBFeGNlcHRpb24s Ci0tICogdmVyc2lvbiAxLjAsIGEgY29weSBvZiB3aGljaCBjYW4gYmUgZm91bmQgYXQKLS0gKiBo dHRwOi8vb3NzLm9yYWNsZS5jb20vbGljZW5zZXMvdW5pdmVyc2FsLWZvc3MtZXhjZXB0aW9uLgot LSAqCi0tICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg d2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCi0tICogQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2 ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKLS0g KiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UsIHZlcnNpb24gMi4wLAotLSAqIGZvciBtb3JlIGRldGFpbHMuCi0tICoKLS0gKiBZb3Ug c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBhbG9uZyB3aXRoCi0tICogdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sCi0tICogNTEgRnJhbmtsaW4gU3QsIEZpZnRo IEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgIFVTQQotLSAqLwotLQotLXBhY2thZ2UgY29t Lm15c3FsLmNqLnByb3RvY29sLmEuYXV0aGVudGljYXRpb247Ci0tCi0taW1wb3J0IGphdmEuaW8u SU9FeGNlcHRpb247Ci0taW1wb3J0IGphdmEubmlvLmNoYXJzZXQuQ2hhcnNldDsKLS1pbXBvcnQg amF2YS5uaW8uZmlsZS5GaWxlczsKLS1pbXBvcnQgamF2YS5uaW8uZmlsZS5QYXRoczsKLS1pbXBv cnQgamF2YS5zZWN1cml0eS5pbnRlcmZhY2VzLlJTQVByaXZhdGVLZXk7Ci0taW1wb3J0IGphdmEu dXRpbC5CYXNlNjQ7Ci0taW1wb3J0IGphdmEudXRpbC5MaXN0OwotLQotLWltcG9ydCBjb20ubXlz cWwuY2ouTWVzc2FnZXM7Ci0taW1wb3J0IGNvbS5teXNxbC5jai5jYWxsYmFjay5NeXNxbENhbGxi YWNrSGFuZGxlcjsKLS1pbXBvcnQgY29tLm15c3FsLmNqLmNhbGxiYWNrLlVzZXJuYW1lQ2FsbGJh Y2s7Ci0taW1wb3J0IGNvbS5teXNxbC5jai5jb25mLlByb3BlcnR5S2V5OwotLWltcG9ydCBjb20u bXlzcWwuY2ouZXhjZXB0aW9ucy5FeGNlcHRpb25GYWN0b3J5OwotLWltcG9ydCBjb20ubXlzcWwu Y2ouZXhjZXB0aW9ucy5SU0FFeGNlcHRpb247Ci0taW1wb3J0IGNvbS5teXNxbC5jai5wcm90b2Nv bC5BdXRoZW50aWNhdGlvblBsdWdpbjsKLS1pbXBvcnQgY29tLm15c3FsLmNqLnByb3RvY29sLkV4 cG9ydENvbnRyb2xsZWQ7Ci0taW1wb3J0IGNvbS5teXNxbC5jai5wcm90b2NvbC5Qcm90b2NvbDsK LS1pbXBvcnQgY29tLm15c3FsLmNqLnByb3RvY29sLmEuTmF0aXZlQ29uc3RhbnRzLlN0cmluZ1Nl bGZEYXRhVHlwZTsKLS1pbXBvcnQgY29tLm15c3FsLmNqLnByb3RvY29sLmEuTmF0aXZlUGFja2V0 UGF5bG9hZDsKLS1pbXBvcnQgY29tLm15c3FsLmNqLnV0aWwuU3RyaW5nVXRpbHM7Ci0taW1wb3J0 IGNvbS5vcmFjbGUuYm1jLkNvbmZpZ0ZpbGVSZWFkZXI7Ci0taW1wb3J0IGNvbS5vcmFjbGUuYm1j LkNvbmZpZ0ZpbGVSZWFkZXIuQ29uZmlnRmlsZTsKLS0KLS0vKioKLS0gKiBNeVNRTCAnYXV0aGVu dGljYXRpb25faWFtX2NsaWVudCcgYXV0aGVudGljYXRpb24gcGx1Z2luLgotLSAqLwotLXB1Ymxp YyBjbGFzcyBBdXRoZW50aWNhdGlvbk9jaUNsaWVudCBpbXBsZW1lbnRzIEF1dGhlbnRpY2F0aW9u UGx1Z2luPE5hdGl2ZVBhY2tldFBheWxvYWQ+IHsKLS0gICAgcHVibGljIHN0YXRpYyBTdHJpbmcg UExVR0lOX05BTUUgPSAiYXV0aGVudGljYXRpb25fb2NpX2NsaWVudCI7Ci0tCi0tICAgIHByaXZh dGUgU3RyaW5nIHNvdXJjZU9mQXV0aERhdGEgPSBQTFVHSU5fTkFNRTsKLS0KLS0gICAgcHJvdGVj dGVkIFByb3RvY29sPE5hdGl2ZVBhY2tldFBheWxvYWQ+IHByb3RvY29sID0gbnVsbDsKLS0gICAg cHJpdmF0ZSBNeXNxbENhbGxiYWNrSGFuZGxlciB1c2VybmFtZUNhbGxiYWNrSGFuZGxlciA9IG51 bGw7Ci0tICAgIHByaXZhdGUgU3RyaW5nIGZpbmdlcnByaW50ID0gbnVsbDsKLS0gICAgcHJpdmF0 ZSBSU0FQcml2YXRlS2V5IHByaXZhdGVLZXkgPSBudWxsOwotLQotLSAgICBAT3ZlcnJpZGUKLS0g ICAgcHVibGljIHZvaWQgaW5pdChQcm90b2NvbDxOYXRpdmVQYWNrZXRQYXlsb2FkPiBwcm90LCBN eXNxbENhbGxiYWNrSGFuZGxlciBjYmgpIHsKLS0gICAgICAgIHRoaXMucHJvdG9jb2wgPSBwcm90 OwotLSAgICAgICAgdGhpcy51c2VybmFtZUNhbGxiYWNrSGFuZGxlciA9IGNiaDsKLS0gICAgfQot LQotLSAgICBAT3ZlcnJpZGUKLS0gICAgcHVibGljIHZvaWQgcmVzZXQoKSB7Ci0tICAgICAgICB0 aGlzLmZpbmdlcnByaW50ID0gbnVsbDsKLS0gICAgICAgIHRoaXMucHJpdmF0ZUtleSA9IG51bGw7 Ci0tICAgIH0KLS0KLS0gICAgQE92ZXJyaWRlCi0tICAgIHB1YmxpYyB2b2lkIGRlc3Ryb3koKSB7 Ci0tICAgICAgICByZXNldCgpOwotLSAgICAgICAgdGhpcy5wcm90b2NvbCA9IG51bGw7Ci0tICAg ICAgICB0aGlzLnVzZXJuYW1lQ2FsbGJhY2tIYW5kbGVyID0gbnVsbDsKLS0gICAgfQotLQotLSAg ICBAT3ZlcnJpZGUKLS0gICAgcHVibGljIFN0cmluZyBnZXRQcm90b2NvbFBsdWdpbk5hbWUoKSB7 Ci0tICAgICAgICByZXR1cm4gUExVR0lOX05BTUU7Ci0tICAgIH0KLS0KLS0gICAgQE92ZXJyaWRl Ci0tICAgIHB1YmxpYyBib29sZWFuIHJlcXVpcmVzQ29uZmlkZW50aWFsaXR5KCkgewotLSAgICAg ICAgcmV0dXJuIGZhbHNlOwotLSAgICB9Ci0tCi0tICAgIEBPdmVycmlkZQotLSAgICBwdWJsaWMg Ym9vbGVhbiBpc1JldXNhYmxlKCkgewotLSAgICAgICAgcmV0dXJuIGZhbHNlOwotLSAgICB9Ci0t Ci0tICAgIEBPdmVycmlkZQotLSAgICBwdWJsaWMgdm9pZCBzZXRBdXRoZW50aWNhdGlvblBhcmFt ZXRlcnMoU3RyaW5nIHVzZXIsIFN0cmluZyBwYXNzd29yZCkgewotLSAgICAgICAgaWYgKHVzZXIg PT0gbnVsbCAmJiB0aGlzLnVzZXJuYW1lQ2FsbGJhY2tIYW5kbGVyICE9IG51bGwpIHsKLS0gICAg ICAgICAgICAvLyBGYWxsIGJhY2sgdG8gc3lzdGVtIGxvZ2luIHVzZXIuCi0tICAgICAgICAgICAg dGhpcy51c2VybmFtZUNhbGxiYWNrSGFuZGxlci5oYW5kbGUobmV3IFVzZXJuYW1lQ2FsbGJhY2so U3lzdGVtLmdldFByb3BlcnR5KCJ1c2VyLm5hbWUiKSkpOwotLSAgICAgICAgfQotLSAgICB9Ci0t Ci0tICAgIEBPdmVycmlkZQotLSAgICBwdWJsaWMgdm9pZCBzZXRTb3VyY2VPZkF1dGhEYXRhKFN0 cmluZyBzb3VyY2VPZkF1dGhEYXRhKSB7Ci0tICAgICAgICB0aGlzLnNvdXJjZU9mQXV0aERhdGEg PSBzb3VyY2VPZkF1dGhEYXRhOwotLSAgICB9Ci0tCi0tICAgIEBPdmVycmlkZQotLSAgICBwdWJs aWMgYm9vbGVhbiBuZXh0QXV0aGVudGljYXRpb25TdGVwKE5hdGl2ZVBhY2tldFBheWxvYWQgZnJv bVNlcnZlciwgTGlzdDxOYXRpdmVQYWNrZXRQYXlsb2FkPiB0b1NlcnZlcikgewotLSAgICAgICAg dG9TZXJ2ZXIuY2xlYXIoKTsKLS0KLS0gICAgICAgIGlmICghdGhpcy5zb3VyY2VPZkF1dGhEYXRh LmVxdWFscyhQTFVHSU5fTkFNRSkgfHwgZnJvbVNlcnZlci5nZXRQYXlsb2FkTGVuZ3RoKCkgPT0g MCkgewotLSAgICAgICAgICAgIC8vIENhbm5vdCBkbyBhbnl0aGluZyB3aXRoIHdoYXRldmVyIHBh eWxvYWQgY29tZXMgZnJvbSB0aGUgc2VydmVyLCBzbyBqdXN0IHNraXAgdGhpcyBpdGVyYXRpb24g YW5kIHdhaXQgZm9yIGEgUHJvdG9jb2w6OkF1dGhTd2l0Y2hSZXF1ZXN0IG9yIGEKLS0gICAgICAg ICAgICAvLyBQcm90b2NvbDo6QXV0aE5leHRGYWN0b3IuCi0tICAgICAgICAgICAgdG9TZXJ2ZXIu YWRkKG5ldyBOYXRpdmVQYWNrZXRQYXlsb2FkKDApKTsKLS0gICAgICAgICAgICByZXR1cm4gdHJ1 ZTsKLS0gICAgICAgIH0KLS0KLS0gICAgICAgIGluaXRpYWxpemVQcml2YXRlS2V5KCk7Ci0tCi0t ICAgICAgICBieXRlW10gbm9uY2UgPSBmcm9tU2VydmVyLnJlYWRCeXRlcyhTdHJpbmdTZWxmRGF0 YVR5cGUuU1RSSU5HX0VPRik7Ci0tICAgICAgICBieXRlW10gc2lnbmF0dXJlID0gRXhwb3J0Q29u dHJvbGxlZC5zaWduKG5vbmNlLCB0aGlzLnByaXZhdGVLZXkpOwotLSAgICAgICAgaWYgKHNpZ25h dHVyZSA9PSBudWxsKSB7Ci0tICAgICAgICAgICAgc2lnbmF0dXJlID0gbmV3IGJ5dGVbMF07Ci0t ICAgICAgICB9Ci0tICAgICAgICBTdHJpbmcgcGF5bG9hZCA9IFN0cmluZy5mb3JtYXQoIntcImZp bmdlcnByaW50XCI6XCIlc1wiLCBcInNpZ25hdHVyZVwiOlwiJXNcIn0iLCB0aGlzLmZpbmdlcnBy aW50LCBCYXNlNjQuZ2V0RW5jb2RlcigpLmVuY29kZVRvU3RyaW5nKHNpZ25hdHVyZSkpOwotLSAg ICAgICAgdG9TZXJ2ZXIuYWRkKG5ldyBOYXRpdmVQYWNrZXRQYXlsb2FkKHBheWxvYWQuZ2V0Qnl0 ZXMoQ2hhcnNldC5kZWZhdWx0Q2hhcnNldCgpKSkpOwotLSAgICAgICAgcmV0dXJuIHRydWU7Ci0t ICAgIH0KLS0KLS0gICAgcHJpdmF0ZSB2b2lkIGluaXRpYWxpemVQcml2YXRlS2V5KCkgewotLSAg ICAgICAgaWYgKHRoaXMucHJpdmF0ZUtleSAhPSBudWxsKSB7Ci0tICAgICAgICAgICAgLy8gQWxy ZWFkeSBpbml0aWFsaXplZC4KLS0gICAgICAgICAgICByZXR1cm47Ci0tICAgICAgICB9Ci0tCi0t ICAgICAgICBDb25maWdGaWxlIGNvbmZpZ0ZpbGU7Ci0tICAgICAgICB0cnkgewotLSAgICAgICAg ICAgIFN0cmluZyBjb25maWdGaWxlUGF0aCA9IHRoaXMucHJvdG9jb2wuZ2V0UHJvcGVydHlTZXQo KS5nZXRTdHJpbmdQcm9wZXJ0eShQcm9wZXJ0eUtleS5vY2lDb25maWdGaWxlLmdldEtleU5hbWUo KSkuZ2V0U3RyaW5nVmFsdWUoKTsKLS0gICAgICAgICAgICBpZiAoU3RyaW5nVXRpbHMuaXNOdWxs T3JFbXB0eShjb25maWdGaWxlUGF0aCkpIHsKLS0gICAgICAgICAgICAgICAgY29uZmlnRmlsZSA9 IENvbmZpZ0ZpbGVSZWFkZXIucGFyc2VEZWZhdWx0KCk7Ci0tICAgICAgICAgICAgfSBlbHNlIGlm IChGaWxlcy5leGlzdHMoUGF0aHMuZ2V0KGNvbmZpZ0ZpbGVQYXRoKSkpIHsKLS0gICAgICAgICAg ICAgICAgY29uZmlnRmlsZSA9IENvbmZpZ0ZpbGVSZWFkZXIucGFyc2UoY29uZmlnRmlsZVBhdGgp OwotLSAgICAgICAgICAgIH0gZWxzZSB7Ci0tICAgICAgICAgICAgICAgIHRocm93IEV4Y2VwdGlv bkZhY3RvcnkuY3JlYXRlRXhjZXB0aW9uKCJjb25maWd1cmF0aW9uIGZpbGUgZG9lcyBub3QgZXhp c3QiKTsKLS0gICAgICAgICAgICB9Ci0tICAgICAgICB9IGNhdGNoIChOb0NsYXNzRGVmRm91bmRF cnJvciBlKSB7Ci0tICAgICAgICAgICAgdGhyb3cgRXhjZXB0aW9uRmFjdG9yeS5jcmVhdGVFeGNl cHRpb24oTWVzc2FnZXMuZ2V0U3RyaW5nKCJBdXRoZW50aWNhdGlvbk9jaUNsaWVudFBsdWdpbi5T ZGtOb3RGb3VuZCIpLCBlKTsKLS0gICAgICAgIH0gY2F0Y2ggKElPRXhjZXB0aW9uIGUpIHsKLS0g ICAgICAgICAgICB0aHJvdyBFeGNlcHRpb25GYWN0b3J5LmNyZWF0ZUV4Y2VwdGlvbihNZXNzYWdl cy5nZXRTdHJpbmcoIkF1dGhlbnRpY2F0aW9uT2NpQ2xpZW50UGx1Z2luLk9jaUNvbmZpZ0ZpbGVF cnJvciIpLCBlKTsKLS0gICAgICAgIH0KLS0gICAgICAgIHRoaXMuZmluZ2VycHJpbnQgPSBjb25m aWdGaWxlLmdldCgiZmluZ2VycHJpbnQiKTsKLS0gICAgICAgIGlmIChTdHJpbmdVdGlscy5pc051 bGxPckVtcHR5KHRoaXMuZmluZ2VycHJpbnQpKSB7Ci0tICAgICAgICAgICAgdGhyb3cgRXhjZXB0 aW9uRmFjdG9yeS5jcmVhdGVFeGNlcHRpb24oTWVzc2FnZXMuZ2V0U3RyaW5nKCJBdXRoZW50aWNh dGlvbk9jaUNsaWVudFBsdWdpbi5PY2lDb25maWdGaWxlTWlzc2luZ0VudHJ5IikpOwotLSAgICAg ICAgfQotLSAgICAgICAgU3RyaW5nIGtleUZpbGVQYXRoID0gY29uZmlnRmlsZS5nZXQoImtleV9m aWxlIik7Ci0tICAgICAgICBpZiAoU3RyaW5nVXRpbHMuaXNOdWxsT3JFbXB0eShrZXlGaWxlUGF0 aCkpIHsKLS0gICAgICAgICAgICB0aHJvdyBFeGNlcHRpb25GYWN0b3J5LmNyZWF0ZUV4Y2VwdGlv bihNZXNzYWdlcy5nZXRTdHJpbmcoIkF1dGhlbnRpY2F0aW9uT2NpQ2xpZW50UGx1Z2luLk9jaUNv bmZpZ0ZpbGVNaXNzaW5nRW50cnkiKSk7Ci0tICAgICAgICB9Ci0tCi0tICAgICAgICB0cnkgewot LSAgICAgICAgICAgIFN0cmluZyBrZXkgPSBuZXcgU3RyaW5nKEZpbGVzLnJlYWRBbGxCeXRlcyhQ YXRocy5nZXQoa2V5RmlsZVBhdGgpKSwgQ2hhcnNldC5kZWZhdWx0Q2hhcnNldCgpKTsKLS0gICAg ICAgICAgICB0aGlzLnByaXZhdGVLZXkgPSBFeHBvcnRDb250cm9sbGVkLmRlY29kZVJTQVByaXZh dGVLZXkoa2V5KTsKLS0gICAgICAgIH0gY2F0Y2ggKElPRXhjZXB0aW9uIGUpIHsKLS0gICAgICAg ICAgICB0aHJvdyBFeGNlcHRpb25GYWN0b3J5LmNyZWF0ZUV4Y2VwdGlvbihNZXNzYWdlcy5nZXRT dHJpbmcoIkF1dGhlbnRpY2F0aW9uT2NpQ2xpZW50UGx1Z2luLlByaXZhdGVLZXlOb3RGb3VuZCIp LCBlKTsKLS0gICAgICAgIH0gY2F0Y2ggKFJTQUV4Y2VwdGlvbiB8IElsbGVnYWxBcmd1bWVudEV4 Y2VwdGlvbiBlKSB7Ci0tICAgICAgICAgICAgdGhyb3cgRXhjZXB0aW9uRmFjdG9yeS5jcmVhdGVF eGNlcHRpb24oTWVzc2FnZXMuZ2V0U3RyaW5nKCJBdXRoZW50aWNhdGlvbk9jaUNsaWVudFBsdWdp bi5Qcml2YXRlS2V5Tm90VmFsaWQiKSwgZSk7Ci0tICAgICAgICB9Ci0tICAgIH0KLS19Ci1kaWZm IC0tZ2l0IGEvc3JjL21haW4vcmVzb3VyY2VzL2NvbS9teXNxbC9jai9Mb2NhbGl6ZWRFcnJvck1l c3NhZ2VzLnByb3BlcnRpZXMgYi9zcmMvbWFpbi9yZXNvdXJjZXMvY29tL215c3FsL2NqL0xvY2Fs aXplZEVycm9yTWVzc2FnZXMucHJvcGVydGllcwotaW5kZXggOGE1YmZjMS4uNTNhZmZjNCAxMDA2 NDQKLS0tLSBhL3NyYy9tYWluL3Jlc291cmNlcy9jb20vbXlzcWwvY2ovTG9jYWxpemVkRXJyb3JN ZXNzYWdlcy5wcm9wZXJ0aWVzCi0rKysgYi9zcmMvbWFpbi9yZXNvdXJjZXMvY29tL215c3FsL2Nq L0xvY2FsaXplZEVycm9yTWVzc2FnZXMucHJvcGVydGllcwotQEAgLTUwLDEyICs1MCw2IEBAIEF1 dGhlbnRpY2F0aW9uTGRhcFNhc2xDbGllbnRQbHVnaW4uTWlzc2luZ0xkYXBTZXJ2ZXJIb3N0bmFt ZT1BbiBMREFQIFNlcnZlciBob3N0Ci0gQXV0aGVudGljYXRpb25MZGFwU2FzbENsaWVudFBsdWdp bi5GYWlsQ3JlYXRlU2FzbENsaWVudD1GYWlsZWQgY3JlYXRpbmcgYSBTQVNMIGNsaWVudCBmb3Ig dGhlIGF1dGhlbnRpY2F0aW9uIG1lY2hhbmlzbSAnJ3swfScnLgotIEF1dGhlbnRpY2F0aW9uTGRh cFNhc2xDbGllbnRQbHVnaW4uRXJyUHJvY2Vzc2luZ0F1dGhJdGVyPUVycm9yIHdoaWxlIHByb2Nl c3NpbmcgYW4gYXV0aGVudGljYXRpb24gaXRlcmF0aW9uIGZvciB0aGUgYXV0aGVudGljYXRpb24g bWVjaGFuaXNtICcnezB9JycuCi0gCi0tQXV0aGVudGljYXRpb25PY2lDbGllbnRQbHVnaW4uU2Rr Tm90Rm91bmQ9VGhlIE9DSSBTREsgY291bGQgbm90IGJlIGZvdW5kIG9yIGlzIG5vdCBpbnN0YWxs ZWQuCi0tQXV0aGVudGljYXRpb25PY2lDbGllbnRQbHVnaW4uT2NpQ29uZmlnRmlsZUVycm9yPU9D SSBjb25maWd1cmF0aW9uIGZpbGUgY291bGQgbm90IGJlIHJlYWQuCi0tQXV0aGVudGljYXRpb25P Y2lDbGllbnRQbHVnaW4uT2NpQ29uZmlnRmlsZU1pc3NpbmdFbnRyeT1PQ0kgY29uZmlndXJhdGlv biBmaWxlIGRvZXMgbm90IGNvbnRhaW4gYSAnJ2ZpbmdlcnByaW50Jycgb3IgJydrZXlfZmlsZScn IGVudHJ5LgotLUF1dGhlbnRpY2F0aW9uT2NpQ2xpZW50UGx1Z2luLlByaXZhdGVLZXlOb3RGb3Vu ZD1Qcml2YXRlIGtleSBjb3VsZCBub3QgYmUgZm91bmQgYXQgbG9jYXRpb24gZ2l2ZW4gYnkgT0NJ IGNvbmZpZ3VyYXRpb24gZW50cnkgJydrZXlfZmlsZScnLgotLUF1dGhlbnRpY2F0aW9uT2NpQ2xp ZW50UGx1Z2luLlByaXZhdGVLZXlOb3RWYWxpZD1PQ0kgY29uZmlndXJhdGlvbiBlbnRyeSAnJ2tl eV9maWxlJycgZG9lcyBub3QgcmVmZXJlbmNlIGEgdmFsaWQga2V5IGZpbGUuCi0tCi0gQXV0aGVu dGljYXRpb25Qcm92aWRlci5CYWRBdXRoZW50aWNhdGlvblBsdWdpbj1VbmFibGUgdG8gbG9hZCBh dXRoZW50aWNhdGlvbiBwbHVnaW4gJyd7MH0nJy4KLSBBdXRoZW50aWNhdGlvblByb3ZpZGVyLkJh ZERlZmF1bHRBdXRoZW50aWNhdGlvblBsdWdpbj1JbXByb3BlciB2YWx1ZSAiezB9IiBmb3IgcHJv cGVydHkgJydkZWZhdWx0QXV0aGVudGljYXRpb25QbHVnaW4nJy4KLSBBdXRoZW50aWNhdGlvblBy b3ZpZGVyLkRlZmF1bHRBdXRoZW50aWNhdGlvblBsdWdpbklzTm90TGlzdGVkPURlZmF1bHQgYXV0 aGVudGljYXRpb24gcGx1Z2luICJ7MH0iIGlzIG5laXRoZXIgb25lIG9mIHRoZSBidWlsdC1pbiBw bHVnaW5zIG5vciBvbmUgb2YgdGhlIHBsdWdpbnMgbGlzdGVkIGluICcnYXV0aGVudGljYXRpb25Q bHVnaW5zJycuCi0tLSAKLTIuNDguMQotCgpkaWZmIC0tZ2l0IGEvMDAwMy1SZW1vdmUtU3RhdGVt ZW50c1Rlc3QucGF0Y2ggYi8wMDAzLVJlbW92ZS1TdGF0ZW1lbnRzVGVzdC5wYXRjaApkZWxldGVk IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjAxYTMzMC4uMDAwMDAwMAotLS0gYS8wMDAzLVJlbW92 ZS1TdGF0ZW1lbnRzVGVzdC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDg3ICswLDAgQEAKLUZy b20gYjlhN2E5MjlmNTQ3ZDE0MDhjNDJhY2EzMTYwM2Q1MjUxOGY2Mjk2YiBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKLUZyb206IFp1emFuYSBNaWtsYW5rb3ZhIDx6bWlrbGFua0ByZWRoYXQuY29t PgotRGF0ZTogVHVlLCAxOCBKYW4gMjAyMiAxNTowNDowOSArMDEwMAotU3ViamVjdDogW1BBVENI XSBwYXRjaAotCi0tLS0KLSAuLi4vcmVncmVzc2lvbi9TdGF0ZW1lbnRSZWdyZXNzaW9uVGVzdC5q YXZhICAgfCA1MCAtLS0tLS0tLS0tLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDUwIGRlbGV0 aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvamF2YS90ZXN0c3VpdGUvcmVncmVzc2lv bi9TdGF0ZW1lbnRSZWdyZXNzaW9uVGVzdC5qYXZhIGIvc3JjL3Rlc3QvamF2YS90ZXN0c3VpdGUv cmVncmVzc2lvbi9TdGF0ZW1lbnRSZWdyZXNzaW9uVGVzdC5qYXZhCi1pbmRleCA3ZTVhNWY4Li44 ZTc3ZGU1IDEwMDY0NAotLS0tIGEvc3JjL3Rlc3QvamF2YS90ZXN0c3VpdGUvcmVncmVzc2lvbi9T dGF0ZW1lbnRSZWdyZXNzaW9uVGVzdC5qYXZhCi0rKysgYi9zcmMvdGVzdC9qYXZhL3Rlc3RzdWl0 ZS9yZWdyZXNzaW9uL1N0YXRlbWVudFJlZ3Jlc3Npb25UZXN0LmphdmEKLUBAIC0xNTYsNyArMTU2 LDYgQEAgaW1wb3J0IGNvbS5teXNxbC5jai51dGlsLlRpbWVVdGlsOwotIGltcG9ydCB0ZXN0c3Vp dGUuQmFzZVF1ZXJ5SW50ZXJjZXB0b3I7Ci0gaW1wb3J0IHRlc3RzdWl0ZS5CYXNlVGVzdENhc2U7 Ci0gaW1wb3J0IHRlc3RzdWl0ZS5VbnJlbGlhYmxlU29ja2V0RmFjdG9yeTsKLS1pbXBvcnQgdGVz dHN1aXRlLnNpbXBsZS5TdGF0ZW1lbnRzVGVzdDsKLSAKLSAvKioKLSAgKiBSZWdyZXNzaW9uIHRl c3RzIGZvciB0aGUgU3RhdGVtZW50IGNsYXNzCi1AQCAtMTE2MDcsMjAgKzExNjA2LDYgQEAgcHVi bGljIGNsYXNzIFN0YXRlbWVudFJlZ3Jlc3Npb25UZXN0IGV4dGVuZHMgQmFzZVRlc3RDYXNlIHsK LSAgICAgICAgIH0KLSAgICAgfQotIAotLSAgICAvKioKLS0gICAgICogVGVzdHMgZml4IGZvciBC dWcjMjMyMDQ2NTIsIENVUlNPUiBQT1NJVElPTklORyBBUEknUyBET0VTTk9UIENIRUNLIFRIRSBW QUxJRElUWSBPRiBSRVNVTFRTRVQuCi0tICAgICAqIAotLSAgICAgKiBAdGhyb3dzIEV4Y2VwdGlv bgotLSAgICAgKiAKLS0gICAgICogQHNlZSBTdGF0ZW1lbnRzVGVzdCN0ZXN0UmVzdWx0U2V0UHJv ZHVjaW5nUXVlcmllcygpCi0tICAgICAqLwotLSAgICBAVGVzdAotLSAgICBwdWJsaWMgdm9pZCB0 ZXN0QnVnMjMyMDQ2NTIoKSB0aHJvd3MgRXhjZXB0aW9uIHsKLS0gICAgICAgIGFzc2VydFRocm93 cyhTUUxFeGNlcHRpb24uY2xhc3MsICJTdGF0ZW1lbnRcXC5leGVjdXRlUXVlcnlcXChcXCkgY2Fu bm90IGlzc3VlIHN0YXRlbWVudHMgdGhhdCBkbyBub3QgcHJvZHVjZSByZXN1bHQgc2V0c1xcLiIs ICgpIC0+IHsKLS0gICAgICAgICAgICB0aGlzLnN0bXQuZXhlY3V0ZVF1ZXJ5KCJETyAxICsgMiIp OwotLSAgICAgICAgICAgIHJldHVybiBudWxsOwotLSAgICAgICAgfSk7Ci0tICAgIH0KLSAKLSAg ICAgLyoqCi0gICAgICAqIFRlc3RzIGZpeCBmb3IgQnVnIzcxOTI5ICgxODM0NjUwMSksIFByZWZp eGluZyBxdWVyeSB3aXRoIGRvdWJsZSBjb21tZW50cyBjYW5jZWxzIHF1ZXJ5IERNTCB2YWxpZGF0 aW9uLgotQEAgLTExNjQ4LDQxICsxMTYzMyw2IEBAIHB1YmxpYyBjbGFzcyBTdGF0ZW1lbnRSZWdy ZXNzaW9uVGVzdCBleHRlbmRzIEJhc2VUZXN0Q2FzZSB7Ci0gICAgICAgICB9Ci0gICAgIH0KLSAK LS0gICAgLyoqCi0tICAgICAqIFRlc3QgZml4IGZvciBCdWcjMTAzNjEyICgzMjkwMjAxOSksIElu Y29ycmVjdGx5IGlkZW50aWZpZWQgV0lUSC4uLlNFTEVDVCBhcyB1bnNhZmUgZm9yIHJlYWQtb25s eSBjb25uZWN0aW9ucy4KLS0gICAgICogCi0tICAgICAqIEB0aHJvd3MgRXhjZXB0aW9uCi0tICAg ICAqIAotLSAgICAgKiBAc2VlIFN0YXRlbWVudHNUZXN0I3Rlc3RSZWFkT25seVNhZmVTdGF0ZW1l bnRzKCkKLS0gICAgICovCi0tICAgIEBUZXN0Ci0tICAgIHB1YmxpYyB2b2lkIHRlc3RCdWcxMDM2 MTIoKSB0aHJvd3MgRXhjZXB0aW9uIHsKLS0gICAgICAgIGFzc3VtZVRydWUodmVyc2lvbk1lZXRz TWluaW11bSg4LCAwLCAxKSwgIk15U1FMIDguMC4xKyBpcyByZXF1aXJlZCB0byBydW4gdGhpcyB0 ZXN0LiIpOwotLQotLSAgICAgICAgY3JlYXRlVGFibGUoInRlc3RCdWcxMDM2MTIiLCAiKGlkIElO VCkiKTsKLS0gICAgICAgIFN0cmluZyBxdWVyeSA9ICJXSVRIIGN0ZSBBUyAoU0VMRUNUICogRlJP TSB0ZXN0QnVnMTAzNjEyKSBTRUxFQ1QgKiBGUk9NIGN0ZSI7Ci0tCi0tICAgICAgICBib29sZWFu IHVzZVNQUyA9IGZhbHNlOwotLSAgICAgICAgYm9vbGVhbiByZWFkT25seSA9IGZhbHNlOwotLSAg ICAgICAgZG8gewotLSAgICAgICAgICAgIGZpbmFsIFN0cmluZyB0ZXN0Q2FzZSA9IFN0cmluZy5m b3JtYXQoIkNhc2UgW1NQUzogJXMsIFJlYWRPbmx5OiAlc10iLCB1c2VTUFMgPyAiWSIgOiAiTiIs IHJlYWRPbmx5ID8gIlkiIDogIk4iKTsKLS0KLS0gICAgICAgICAgICBQcm9wZXJ0aWVzIHByb3Bz ID0gbmV3IFByb3BlcnRpZXMoKTsKLS0gICAgICAgICAgICBwcm9wcy5zZXRQcm9wZXJ0eShQcm9w ZXJ0eUtleS51c2VTZXJ2ZXJQcmVwU3RtdHMuZ2V0S2V5TmFtZSgpLCBCb29sZWFuLnRvU3RyaW5n KHVzZVNQUykpOwotLSAgICAgICAgICAgIENvbm5lY3Rpb24gdGVzdENvbm4gPSBnZXRDb25uZWN0 aW9uV2l0aFByb3BzKHByb3BzKTsKLS0gICAgICAgICAgICB0ZXN0Q29ubi5zZXRSZWFkT25seShy ZWFkT25seSk7Ci0tCi0tICAgICAgICAgICAgdHJ5IChTdGF0ZW1lbnQgdGVzdFN0bXQgPSB0ZXN0 Q29ubi5jcmVhdGVTdGF0ZW1lbnQoKSkgewotLSAgICAgICAgICAgICAgICBhc3NlcnRUcnVlKHRl c3RTdG10LmV4ZWN1dGUocXVlcnkpLCB0ZXN0Q2FzZSk7Ci0tICAgICAgICAgICAgfQotLSAgICAg ICAgICAgIHRyeSAoUHJlcGFyZWRTdGF0ZW1lbnQgdGVzdFBzdG10ID0gdGVzdENvbm4ucHJlcGFy ZVN0YXRlbWVudChxdWVyeSkpIHsKLS0gICAgICAgICAgICAgICAgYXNzZXJ0VHJ1ZSh0ZXN0UHN0 bXQuZXhlY3V0ZSgpLCB0ZXN0Q2FzZSk7Ci0tICAgICAgICAgICAgfQotLQotLSAgICAgICAgICAg IHRlc3RDb25uLmNsb3NlKCk7Ci0tICAgICAgICB9IHdoaWxlICgodXNlU1BTID0gIXVzZVNQUykg fHwgKHJlYWRPbmx5ID0gIXJlYWRPbmx5KSk7Ci0tICAgIH0KLS0KLSAgICAgLyoqCi0gICAgICAq IFRlc3RzIGZpeCBmb3IgQnVnIzEwMTM4OSAoMzIwODkwMTgpLCBHRVRXQVJOSU5HUyBTSE9VTEQg Q0hFQ0sgV0FSTklORyBDT1VOVCBCRUZPUkUgU0VORElORyBTSE9XLgotICAgICAgKiAKLS0tIAot Mi40OC4xCi0KCmRpZmYgLS1naXQgYS8wMDA0LVBvcnQtdG8tSmF2YS0yMS5wYXRjaCBiLzAwMDQt UG9ydC10by1KYXZhLTIxLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NzY1 OTRiLi4wMDAwMDAwCi0tLSBhLzAwMDQtUG9ydC10by1KYXZhLTIxLnBhdGNoCisrKyAvZGV2L251 bGwKQEAgLTEsNDIgKzAsMCBAQAotRnJvbSA3OTBlOWJkYjFjNzNiMzY5NWExYmVhOWQwZmNjZjkx MzQxNzI4ZmM3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogcnBtLWJ1aWxkIDxycG0t YnVpbGQ+Ci1EYXRlOiBGcmksIDI0IEphbiAyMDI1IDEwOjA5OjE2ICswMTAwCi1TdWJqZWN0OiBb UEFUQ0ggNC80XSBQb3J0IHRvIEphdmEgMjEKLQotLS0tCi0gYnVpbGQueG1sIHwgMTIgKy0tLS0t LS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxMSBkZWxldGlvbnMoLSkK LQotZGlmZiAtLWdpdCBhL2J1aWxkLnhtbCBiL2J1aWxkLnhtbAotaW5kZXggM2QxM2JmNC4uYjM0 MzdkNSAxMDA2NDQKLS0tLSBhL2J1aWxkLnhtbAotKysrIGIvYnVpbGQueG1sCi1AQCAtMzUwLDE3 ICszNTAsNiBAQCBTZWUgYWxzbyBjb20ubXlzcWwuY2ouY29uZi5Qcm9wZXJ0eURlZmluaXRpb25z LlNZU1BfKiB2YXJpYWJsZXMgZm9yIG90aGVyIHRlc3QgbwotICAgICAgICAgICAgIDxhcmcgdmFs dWU9Ii12ZXJzaW9uIiAvPgotICAgICAgICAgPC9leGVjPgotIAotLSAgICAgICAgPGZhaWwgbWVz c2FnZT0iSmF2YSA4IGlzIHJlcXVpcmVkLiBTZXQgdGhlIGZ1bGwgcGF0aCB0byB0aGlzIEpESyBo b21lIHdpdGggdGhlIHByb3BlcnR5ICdjb20ubXlzcWwuY2ouYnVpbGQuamRrJy4gRGVmYXVsdDog Jy91c3IvbGliL2p2bS9qZGsxLjgnKS4iPgotLSAgICAgICAgICAgIDxjb25kaXRpb24+Ci0tICAg ICAgICAgICAgICAgIDxub3Q+Ci0tICAgICAgICAgICAgICAgICAgICA8YW5kPgotLSAgICAgICAg ICAgICAgICAgICAgICAgIDxlcXVhbHMgYXJnMT0iJHtjb20ubXlzcWwuY2ouYnVpbGQuamRrLmV4 aXRTdGF0dXN9IiBhcmcyPSIwIiAvPgotLSAgICAgICAgICAgICAgICAgICAgICAgIDxjb250YWlu cyBzdHJpbmc9IiR7Y29tLm15c3FsLmNqLmJ1aWxkLmpkay52ZXJzaW9ufSIgc3Vic3RyaW5nPSJ2 ZXJzaW9uICZxdW90OzEuOCIgY2FzZXNlbnNpdGl2ZT0idHJ1ZSIgLz4KLS0gICAgICAgICAgICAg ICAgICAgIDwvYW5kPgotLSAgICAgICAgICAgICAgICA8L25vdD4KLS0gICAgICAgICAgICA8L2Nv bmRpdGlvbj4KLS0gICAgICAgIDwvZmFpbD4KLS0KLSAgICAgICAgIDxleGVjIGV4ZWN1dGFibGU9 IiR7Y29tLm15c3FsLmNqLmJ1aWxkLmpkay5qYXZhY30iCi0gICAgICAgICAgICAgICBvdXRwdXRw cm9wZXJ0eT0iY29tLm15c3FsLmNqLmRpc3QuamRrLmNvbXBpbGVyVmVyc2lvbiIKLSAgICAgICAg ICAgICAgIGZhaWxvbmVycm9yPSJ0cnVlIgotQEAgLTEwNTQsNiArMTA0Myw3IEBAIFNlZSBhbHNv IGNvbS5teXNxbC5jai5jb25mLlByb3BlcnR5RGVmaW5pdGlvbnMuU1lTUF8qIHZhcmlhYmxlcyBm b3Igb3RoZXIgdGVzdCBvCi0gICAgICAgICAgICAgICAgZXhlY3V0YWJsZT0iJHtjb20ubXlzcWwu Y2ouYnVpbGQuamRrLmphdmFjfSIKLSAgICAgICAgICAgICAgICBjb21waWxlcj0ibW9kZXJuIgot ICAgICAgICAgICAgICAgIGluY2x1ZGVhbnRydW50aW1lPSJmYWxzZSIKLSsgICAgICAgICAgICAg ICByZWxlYXNlPSI4IgotICAgICAgICAgICAgICAgIGVuY29kaW5nPSJVVEYtOCI+Ci0gICAgICAg ICAgICAgPGluY2x1ZGUgbmFtZT0iKiovKi5qYXZhIiAvPgotICAgICAgICAgICAgIDxleGNsdWRl IG5hbWU9InRlc3RzdWl0ZS8qKiIgLz4KLS0tIAotMi40OC4xCi0KCmRpZmYgLS1naXQgYS9BZGQt cGFja2FnZS10ZXN0cy10YXJnZXQucGF0Y2ggYi9BZGQtcGFja2FnZS10ZXN0cy10YXJnZXQucGF0 Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjI2MmFkYwotLS0gL2Rldi9u dWxsCisrKyBiL0FkZC1wYWNrYWdlLXRlc3RzLXRhcmdldC5wYXRjaApAQCAtMCwwICsxLDM3IEBA CitGcm9tIDAwNDMwY2Q2Zjc2YWU4ZDVjZjdiOWE1MmE2NGQ5MjI1NzdlMDAyMTQgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXJpYW4gS29uY2VrIDxta29uY2VrQHJlZGhhdC5jb20+ CitEYXRlOiBNb24sIDEwIEF1ZyAyMDI2IDEyOjQ3OjE5ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hd IEFkZCBwYWNrYWdlLXRlc3RzIHRhcmdldAorCistLS0KKyBidWlsZC54bWwgfCAxNCArKysrKysr KysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQg YS9idWlsZC54bWwgYi9idWlsZC54bWwKK2luZGV4IDhhYzUxZmMuLmQzYTgzMGMgMTAwNjQ0Cist LS0gYS9idWlsZC54bWwKKysrKyBiL2J1aWxkLnhtbAorQEAgLTgwNCw2ICs4MDQsMjAgQEAgU2Vl IGFsc28gY29tLm15c3FsLmNqLmNvbmYuUHJvcGVydHlEZWZpbml0aW9ucy5TWVNQXyogdmFyaWFi bGVzIGZvciBvdGhlciB0ZXN0IG8KKyAgICAgICAgICAgICBkZXBlbmRzPSItY2xlYW4tYWxsLCBi dWlsZCwgLXNldC1uby1zb3VyY2VzLCAtbWFrZS1wYWNrYWdlcywgLXJlbW92ZS1zb3VyY2VzLCAt Y3JlYXRlLWFyY2hpdmVzIiAvPgorIAorIAorKyAgICA8IS0tIENvbXBpbGUgdGhlIHRlc3Qgc3Vp dGUgYW5kIHBhY2thZ2UgaXQgaW50byBhIEpBUiB3aXRoIGEgY2xhc3NwYXRoIGZpbGUuIC0tPgor KyAgICA8dGFyZ2V0IG5hbWU9InBhY2thZ2UtdGVzdHMiCisrICAgICAgICAgICAgZGVzY3JpcHRp b249IkNvbXBpbGVzIHRoZSB0ZXN0IHN1aXRlIGFuZCBjcmVhdGVzIGEgdGVzdHMgSkFSIGFuZCBh IGNsYXNzcGF0aCBmaWxlIGZvciBydW5uaW5nIHRoZW0uIgorKyAgICAgICAgICAgIGRlcGVuZHM9 Ii1jb21waWxlLXRlc3RzdWl0ZSI+CisrICAgICAgICA8amFyIGphcmZpbGU9IiR7Y29tLm15c3Fs LmNqLmJ1aWxkLmRpcn0vJHtjb20ubXlzcWwuY2ouYnVpbGQuZHJpdmVyLmV4dGVuZGVkTmFtZX0t dGVzdHMuamFyIgorKyAgICAgICAgICAgICBiYXNlZGlyPSIke2NvbS5teXNxbC5jai50ZXN0c3Vp dGUuY29tcGlsZXIub3V0cHV0fSIKKysgICAgICAgICAgICAgaW5jbHVkZXM9IioqLyouY2xhc3Mi IC8+CisrCisrICAgICAgICA8cGF0aGNvbnZlcnQgcHJvcGVydHk9ImNvbS5teXNxbC5jai50ZXN0 c3VpdGUucnVuLmNsYXNzcGF0aCIgcmVmaWQ9ImNvbS5teXNxbC5jai5leHRyYS5saWJzLmNsYXNz cGF0aCIgLz4KKysgICAgICAgIDxlY2hvIGZpbGU9IiR7Y29tLm15c3FsLmNqLmJ1aWxkLmRpcn0v dGVzdHMtY2xhc3NwYXRoIgorKyAgICAgICAgICAgICAgbWVzc2FnZT0iJHtjb20ubXlzcWwuY2ou dGVzdHN1aXRlLnJ1bi5jbGFzc3BhdGh9IiAvPgorKyAgICA8L3RhcmdldD4KKysKKysKKyAgICAg PCEtLSBCdWlsZCBhbmQgaW5zdGFsbCB0aGUgZHJpdmVyIGphciBpbnRvIHRoZSBsb2NhbCBtYXZl biByZXBvc2l0b3J5LiAtLT4KKyAgICAgPHRhcmdldCBuYW1lPSJpbnN0YWxsIiBkZXNjcmlwdGlv bj0iQnVpbGRzIGFuZCBpbnN0YWxscyB0aGUgZHJpdmVyIGphciBpbnRvIHRoZSBsb2NhbCBtYXZl biByZXBvc2l0b3J5LiIgZGVwZW5kcz0icGFja2FnZSI+CisgICAgICAgICA8ZXhlYyBleGVjdXRh YmxlPSJtdm4iIG9zZmFtaWx5PSJ1bml4IiBmYWlsb25lcnJvcj0idHJ1ZSIgZmFpbGlmZXhlY3V0 aW9uZmFpbHM9InRydWUiPgorLS0gCisyLjU0LjAKKwoKZGlmZiAtLWdpdCBhL1BvcnQtdG8tSmF2 YS0yMS5wYXRjaCBiL1BvcnQtdG8tSmF2YS0yMS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwLi4zMWYzODFhCi0tLSAvZGV2L251bGwKKysrIGIvUG9ydC10by1KYXZhLTIx LnBhdGNoCkBAIC0wLDAgKzEsNDIgQEAKK0Zyb20gNzkwZTliZGIxYzczYjM2OTVhMWJlYTlkMGZj Y2Y5MTM0MTcyOGZjNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IHJwbS1idWlsZCA8 cnBtLWJ1aWxkPgorRGF0ZTogRnJpLCAyNCBKYW4gMjAyNSAxMDowOToxNiArMDEwMAorU3ViamVj dDogW1BBVENIIDQvNF0gUG9ydCB0byBKYXZhIDIxCisKKy0tLQorIGJ1aWxkLnhtbCB8IDEyICst LS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMTEgZGVsZXRpb25z KC0pCisKK2RpZmYgLS1naXQgYS9idWlsZC54bWwgYi9idWlsZC54bWwKK2luZGV4IDk3ODRlOWUu LjhhYzUxZmMgMTAwNjQ0CistLS0gYS9idWlsZC54bWwKKysrKyBiL2J1aWxkLnhtbAorQEAgLTM1 MSwxNyArMzUxLDYgQEAgU2VlIGFsc28gY29tLm15c3FsLmNqLmNvbmYuUHJvcGVydHlEZWZpbml0 aW9ucy5TWVNQXyogdmFyaWFibGVzIGZvciBvdGhlciB0ZXN0IG8KKyAgICAgICAgICAgICA8YXJn IHZhbHVlPSItdmVyc2lvbiIgLz4KKyAgICAgICAgIDwvZXhlYz4KKyAKKy0gICAgICAgIDxmYWls IG1lc3NhZ2U9IkphdmEgOCBpcyByZXF1aXJlZCBmb3IgY29tcGlsaW5nIHRoZSBzb3VyY2UgY29k ZS4gU2V0IHRoZSBwYXRoIHRvIHRoZSBKREsgaG9tZSB3aXRoIHRoZSBwcm9wZXJ0eSAnY29tLm15 c3FsLmNqLmJ1aWxkLmpkaycuIERlZmF1bHQ6ICcvdXNyL2xpYi9qdm0vamRrMS44JykuIj4KKy0g ICAgICAgICAgICA8Y29uZGl0aW9uPgorLSAgICAgICAgICAgICAgICA8bm90PgorLSAgICAgICAg ICAgICAgICAgICAgPGFuZD4KKy0gICAgICAgICAgICAgICAgICAgICAgICA8ZXF1YWxzIGFyZzE9 IiR7Y29tLm15c3FsLmNqLmJ1aWxkLmpkay5leGl0U3RhdHVzfSIgYXJnMj0iMCIgLz4KKy0gICAg ICAgICAgICAgICAgICAgICAgICA8Y29udGFpbnMgc3RyaW5nPSIke2NvbS5teXNxbC5jai5idWls ZC5qZGsudmVyc2lvbn0iIHN1YnN0cmluZz0idmVyc2lvbiAmcXVvdDsxLjgiIGNhc2VzZW5zaXRp dmU9InRydWUiIC8+CistICAgICAgICAgICAgICAgICAgICA8L2FuZD4KKy0gICAgICAgICAgICAg ICAgPC9ub3Q+CistICAgICAgICAgICAgPC9jb25kaXRpb24+CistICAgICAgICA8L2ZhaWw+Cist CisgICAgICAgICA8ZXhlYyBleGVjdXRhYmxlPSIke2NvbS5teXNxbC5jai5idWlsZC5qZGsuamF2 YWN9IgorICAgICAgICAgICAgICAgb3V0cHV0cHJvcGVydHk9ImNvbS5teXNxbC5jai5kaXN0Lmpk ay5jb21waWxlclZlcnNpb24iCisgICAgICAgICAgICAgICBmYWlsb25lcnJvcj0idHJ1ZSIKK0BA IC0xMDUyLDYgKzEwNDEsNyBAQCBTZWUgYWxzbyBjb20ubXlzcWwuY2ouY29uZi5Qcm9wZXJ0eURl ZmluaXRpb25zLlNZU1BfKiB2YXJpYWJsZXMgZm9yIG90aGVyIHRlc3QgbworICAgICAgICAgICAg ICAgIGV4ZWN1dGFibGU9IiR7Y29tLm15c3FsLmNqLmJ1aWxkLmpkay5qYXZhY30iCisgICAgICAg ICAgICAgICAgY29tcGlsZXI9Im1vZGVybiIKKyAgICAgICAgICAgICAgICBpbmNsdWRlYW50cnVu dGltZT0iZmFsc2UiCisrICAgICAgICAgICAgICAgcmVsZWFzZT0iOCIKKyAgICAgICAgICAgICAg ICBlbmNvZGluZz0iVVRGLTgiPgorICAgICAgICAgICAgIDxpbmNsdWRlIG5hbWU9IioqLyouamF2 YSIgLz4KKyAgICAgICAgICAgICA8ZXhjbHVkZSBuYW1lPSJ0ZXN0c3VpdGUvKioiIC8+CistLSAK KzIuNTQuMAorCgpkaWZmIC0tZ2l0IGEvUmVtb3ZlLWF1dGhlbnRpY2F0aW9uLXBsdWdpbi5wYXRj aCBiL1JlbW92ZS1hdXRoZW50aWNhdGlvbi1wbHVnaW4ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMC4uOTBkMGVmOAotLS0gL2Rldi9udWxsCisrKyBiL1JlbW92ZS1hdXRo ZW50aWNhdGlvbi1wbHVnaW4ucGF0Y2gKQEAgLTAsMCArMSwyNzUgQEAKK0Zyb20gNDc3OTNiODkz MDBhMTljNWZkMTNiNzgxZjAzZGQ1ODBmYzAxODZhNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK K0Zyb206IE9uZHJlaiBEdWJhaiA8b2R1YmFqQHJlZGhhdC5jb20+CitEYXRlOiBUdWUsIDE4IEph biAyMDIyIDE0OjU4OjU3ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIHJlbW92ZSBBdXRoZW50aWNh dGlvbk9jaUNsaWVudCBwbHVnaW4gZHVlIHRvIG1pc3Npbmcgb3JhY2xlIGRlcGVuZGVuY3kKKwor LS0tCisgLi4uL2EvTmF0aXZlQXV0aGVudGljYXRpb25Qcm92aWRlci5qYXZhICAgICAgIHwgICAy IC0KKyAuLi4vQXV0aGVudGljYXRpb25PY2lDbGllbnQuamF2YSAgICAgICAgICAgICAgfCAyMTEg LS0tLS0tLS0tLS0tLS0tLS0tCisgLi4uL2NqL0xvY2FsaXplZEVycm9yTWVzc2FnZXMucHJvcGVy dGllcyAgICAgIHwgIDEyIC0KKyAzIGZpbGVzIGNoYW5nZWQsIDIyNSBkZWxldGlvbnMoLSkKKyBk ZWxldGUgbW9kZSAxMDA2NDQgc3JjL21haW4vcHJvdG9jb2wtaW1wbC9qYXZhL2NvbS9teXNxbC9j ai9wcm90b2NvbC9hL2F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uT2NpQ2xpZW50LmphdmEK KworZGlmZiAtLWdpdCBhL3NyYy9tYWluL3Byb3RvY29sLWltcGwvamF2YS9jb20vbXlzcWwvY2ov cHJvdG9jb2wvYS9OYXRpdmVBdXRoZW50aWNhdGlvblByb3ZpZGVyLmphdmEgYi9zcmMvbWFpbi9w cm90b2NvbC1pbXBsL2phdmEvY29tL215c3FsL2NqL3Byb3RvY29sL2EvTmF0aXZlQXV0aGVudGlj YXRpb25Qcm92aWRlci5qYXZhCitpbmRleCA1ZDY3OGFmLi5kZTQxODNiIDEwMDY0NAorLS0tIGEv c3JjL21haW4vcHJvdG9jb2wtaW1wbC9qYXZhL2NvbS9teXNxbC9jai9wcm90b2NvbC9hL05hdGl2 ZUF1dGhlbnRpY2F0aW9uUHJvdmlkZXIuamF2YQorKysrIGIvc3JjL21haW4vcHJvdG9jb2wtaW1w bC9qYXZhL2NvbS9teXNxbC9jai9wcm90b2NvbC9hL05hdGl2ZUF1dGhlbnRpY2F0aW9uUHJvdmlk ZXIuamF2YQorQEAgLTQ4LDcgKzQ4LDYgQEAgaW1wb3J0IGNvbS5teXNxbC5jai5wcm90b2NvbC5h Lk5hdGl2ZUNvbnN0YW50cy5TdHJpbmdMZW5ndGhEYXRhVHlwZTsKKyBpbXBvcnQgY29tLm15c3Fs LmNqLnByb3RvY29sLmEuTmF0aXZlQ29uc3RhbnRzLlN0cmluZ1NlbGZEYXRhVHlwZTsKKyBpbXBv cnQgY29tLm15c3FsLmNqLnByb3RvY29sLmEuYXV0aGVudGljYXRpb24uQXV0aGVudGljYXRpb25L ZXJiZXJvc0NsaWVudDsKKyBpbXBvcnQgY29tLm15c3FsLmNqLnByb3RvY29sLmEuYXV0aGVudGlj YXRpb24uQXV0aGVudGljYXRpb25MZGFwU2FzbENsaWVudFBsdWdpbjsKKy1pbXBvcnQgY29tLm15 c3FsLmNqLnByb3RvY29sLmEuYXV0aGVudGljYXRpb24uQXV0aGVudGljYXRpb25PY2lDbGllbnQ7 CisgaW1wb3J0IGNvbS5teXNxbC5jai5wcm90b2NvbC5hLmF1dGhlbnRpY2F0aW9uLkF1dGhlbnRp Y2F0aW9uT3BlbmlkQ29ubmVjdENsaWVudDsKKyBpbXBvcnQgY29tLm15c3FsLmNqLnByb3RvY29s LmEuYXV0aGVudGljYXRpb24uQXV0aGVudGljYXRpb25XZWJBdXRobkNsaWVudDsKKyBpbXBvcnQg Y29tLm15c3FsLmNqLnByb3RvY29sLmEuYXV0aGVudGljYXRpb24uQ2FjaGluZ1NoYTJQYXNzd29y ZFBsdWdpbjsKK0BAIC0yNDksNyArMjQ4LDYgQEAgcHVibGljIGNsYXNzIE5hdGl2ZUF1dGhlbnRp Y2F0aW9uUHJvdmlkZXIgaW1wbGVtZW50cyBBdXRoZW50aWNhdGlvblByb3ZpZGVyPE5hdGkKKyAg ICAgICAgIHBsdWdpbnNUb0luaXQuYWRkKG5ldyBNeXNxbE9sZFBhc3N3b3JkUGx1Z2luKCkpOwor ICAgICAgICAgcGx1Z2luc1RvSW5pdC5hZGQobmV3IEF1dGhlbnRpY2F0aW9uTGRhcFNhc2xDbGll bnRQbHVnaW4oKSk7CisgICAgICAgICBwbHVnaW5zVG9Jbml0LmFkZChuZXcgQXV0aGVudGljYXRp b25LZXJiZXJvc0NsaWVudCgpKTsKKy0gICAgICAgIHBsdWdpbnNUb0luaXQuYWRkKG5ldyBBdXRo ZW50aWNhdGlvbk9jaUNsaWVudCgpKTsKKyAgICAgICAgIHBsdWdpbnNUb0luaXQuYWRkKG5ldyBB dXRoZW50aWNhdGlvbldlYkF1dGhuQ2xpZW50KCkpOworICAgICAgICAgcGx1Z2luc1RvSW5pdC5h ZGQobmV3IEF1dGhlbnRpY2F0aW9uT3BlbmlkQ29ubmVjdENsaWVudCgpKTsKKyAKK2RpZmYgLS1n aXQgYS9zcmMvbWFpbi9wcm90b2NvbC1pbXBsL2phdmEvY29tL215c3FsL2NqL3Byb3RvY29sL2Ev YXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25PY2lDbGllbnQuamF2YSBiL3NyYy9tYWluL3By b3RvY29sLWltcGwvamF2YS9jb20vbXlzcWwvY2ovcHJvdG9jb2wvYS9hdXRoZW50aWNhdGlvbi9B dXRoZW50aWNhdGlvbk9jaUNsaWVudC5qYXZhCitkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKK2lu ZGV4IDZjODAyOWYuLjAwMDAwMDAKKy0tLSBhL3NyYy9tYWluL3Byb3RvY29sLWltcGwvamF2YS9j b20vbXlzcWwvY2ovcHJvdG9jb2wvYS9hdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk9jaUNs aWVudC5qYXZhCisrKysgL2Rldi9udWxsCitAQCAtMSwyMTEgKzAsMCBAQAorLS8qCistICogQ29w eXJpZ2h0IChjKSAyMDIxLCAyMDI2LCBPcmFjbGUgYW5kL29yIGl0cyBhZmZpbGlhdGVzLgorLSAq CistICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl IGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSwgdmVyc2lvbiAyLjAsIGFzIHB1Ymxpc2hlZCBieQorLSAqIHRoZSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24uCistICoKKy0gKiBUaGlzIHByb2dyYW0gaXMgZGVzaWduZWQg dG8gd29yayB3aXRoIGNlcnRhaW4gc29mdHdhcmUgdGhhdCBpcyBsaWNlbnNlZCB1bmRlciBzZXBh cmF0ZSB0ZXJtcywgYXMgZGVzaWduYXRlZCBpbiBhIHBhcnRpY3VsYXIgZmlsZSBvciBjb21wb25l bnQgb3IgaW4KKy0gKiBpbmNsdWRlZCBsaWNlbnNlIGRvY3VtZW50YXRpb24uIFRoZSBhdXRob3Jz IG9mIE15U1FMIGhlcmVieSBncmFudCB5b3UgYW4gYWRkaXRpb25hbCBwZXJtaXNzaW9uIHRvIGxp bmsgdGhlIHByb2dyYW0gYW5kIHlvdXIgZGVyaXZhdGl2ZSB3b3JrcyB3aXRoIHRoZQorLSAqIHNl cGFyYXRlbHkgbGljZW5zZWQgc29mdHdhcmUgdGhhdCB0aGV5IGhhdmUgZWl0aGVyIGluY2x1ZGVk IHdpdGggdGhlIHByb2dyYW0gb3IgcmVmZXJlbmNlZCBpbiB0aGUgZG9jdW1lbnRhdGlvbi4KKy0g KgorLSAqIFdpdGhvdXQgbGltaXRpbmcgYW55dGhpbmcgY29udGFpbmVkIGluIHRoZSBmb3JlZ29p bmcsIHRoaXMgZmlsZSwgd2hpY2ggaXMgcGFydCBvZiBNeVNRTCBDb25uZWN0b3IvSiwgaXMgYWxz byBzdWJqZWN0IHRvIHRoZSBVbml2ZXJzYWwgRk9TUyBFeGNlcHRpb24sCistICogdmVyc2lvbiAx LjAsIGEgY29weSBvZiB3aGljaCBjYW4gYmUgZm91bmQgYXQgaHR0cDovL29zcy5vcmFjbGUuY29t L2xpY2Vuc2VzL3VuaXZlcnNhbC1mb3NzLWV4Y2VwdGlvbi4KKy0gKgorLSAqIFRoaXMgcHJvZ3Jh bSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQg V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv ZiBNRVJDSEFOVEFCSUxJVFkgb3IKKy0gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T RS4gU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwgdmVyc2lvbiAyLjAsIGZvciBt b3JlIGRldGFpbHMuCistICoKKy0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsg aWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAorLSAq IDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQQor LSAqLworLQorLXBhY2thZ2UgY29tLm15c3FsLmNqLnByb3RvY29sLmEuYXV0aGVudGljYXRpb247 CistCistaW1wb3J0IGphdmEuaW8uSU9FeGNlcHRpb247CistaW1wb3J0IGphdmEubmlvLmNoYXJz ZXQuQ2hhcnNldDsKKy1pbXBvcnQgamF2YS5uaW8uZmlsZS5GaWxlczsKKy1pbXBvcnQgamF2YS5u aW8uZmlsZS5QYXRoOworLWltcG9ydCBqYXZhLm5pby5maWxlLlBhdGhzOworLWltcG9ydCBqYXZh LnNlY3VyaXR5LmludGVyZmFjZXMuUlNBUHJpdmF0ZUtleTsKKy1pbXBvcnQgamF2YS51dGlsLkJh c2U2NDsKKy1pbXBvcnQgamF2YS51dGlsLkxpc3Q7CistCistaW1wb3J0IGNvbS5teXNxbC5jai5N ZXNzYWdlczsKKy1pbXBvcnQgY29tLm15c3FsLmNqLmNhbGxiYWNrLk15c3FsQ2FsbGJhY2tIYW5k bGVyOworLWltcG9ydCBjb20ubXlzcWwuY2ouY2FsbGJhY2suVXNlcm5hbWVDYWxsYmFjazsKKy1p bXBvcnQgY29tLm15c3FsLmNqLmNvbmYuUHJvcGVydHlLZXk7CistaW1wb3J0IGNvbS5teXNxbC5j ai5leGNlcHRpb25zLkV4Y2VwdGlvbkZhY3Rvcnk7CistaW1wb3J0IGNvbS5teXNxbC5jai5leGNl cHRpb25zLlJTQUV4Y2VwdGlvbjsKKy1pbXBvcnQgY29tLm15c3FsLmNqLnByb3RvY29sLkF1dGhl bnRpY2F0aW9uUGx1Z2luOworLWltcG9ydCBjb20ubXlzcWwuY2oucHJvdG9jb2wuRXhwb3J0Q29u dHJvbGxlZDsKKy1pbXBvcnQgY29tLm15c3FsLmNqLnByb3RvY29sLlByb3RvY29sOworLWltcG9y dCBjb20ubXlzcWwuY2oucHJvdG9jb2wuYS5OYXRpdmVDb25zdGFudHMuU3RyaW5nU2VsZkRhdGFU eXBlOworLWltcG9ydCBjb20ubXlzcWwuY2oucHJvdG9jb2wuYS5OYXRpdmVQYWNrZXRQYXlsb2Fk OworLWltcG9ydCBjb20ubXlzcWwuY2oudXRpbC5TdHJpbmdVdGlsczsKKy1pbXBvcnQgY29tLm9y YWNsZS5ibWMuQ29uZmlnRmlsZVJlYWRlcjsKKy1pbXBvcnQgY29tLm9yYWNsZS5ibWMuQ29uZmln RmlsZVJlYWRlci5Db25maWdGaWxlOworLQorLS8qKgorLSAqIE15U1FMICdhdXRoZW50aWNhdGlv bl9pYW1fY2xpZW50JyBhdXRoZW50aWNhdGlvbiBwbHVnaW4uCistICovCistcHVibGljIGNsYXNz IEF1dGhlbnRpY2F0aW9uT2NpQ2xpZW50IGltcGxlbWVudHMgQXV0aGVudGljYXRpb25QbHVnaW48 TmF0aXZlUGFja2V0UGF5bG9hZD4geworLQorLSAgICBwdWJsaWMgc3RhdGljIFN0cmluZyBQTFVH SU5fTkFNRSA9ICJhdXRoZW50aWNhdGlvbl9vY2lfY2xpZW50IjsKKy0KKy0gICAgcHJpdmF0ZSBT dHJpbmcgc291cmNlT2ZBdXRoRGF0YSA9IFBMVUdJTl9OQU1FOworLQorLSAgICBwcm90ZWN0ZWQg UHJvdG9jb2w8TmF0aXZlUGFja2V0UGF5bG9hZD4gcHJvdG9jb2wgPSBudWxsOworLSAgICBwcml2 YXRlIE15c3FsQ2FsbGJhY2tIYW5kbGVyIHVzZXJuYW1lQ2FsbGJhY2tIYW5kbGVyID0gbnVsbDsK Ky0gICAgcHJpdmF0ZSBTdHJpbmcgY29uZmlnRmluZ2VycHJpbnQgPSBudWxsOworLSAgICBwcml2 YXRlIFN0cmluZyBjb25maWdLZXlGaWxlID0gbnVsbDsKKy0gICAgcHJpdmF0ZSBTdHJpbmcgY29u ZmlnU2VjdXJpdHlUb2tlbkZpbGUgPSBudWxsOworLSAgICBwcml2YXRlIFJTQVByaXZhdGVLZXkg cHJpdmF0ZUtleSA9IG51bGw7CistICAgIHByaXZhdGUgYnl0ZVtdIHRva2VuID0gbnVsbDsKKy0K Ky0gICAgQE92ZXJyaWRlCistICAgIHB1YmxpYyB2b2lkIGluaXQoUHJvdG9jb2w8TmF0aXZlUGFj a2V0UGF5bG9hZD4gcHJvdCwgTXlzcWxDYWxsYmFja0hhbmRsZXIgY2JoKSB7CistICAgICAgICB0 aGlzLnByb3RvY29sID0gcHJvdDsKKy0gICAgICAgIHRoaXMudXNlcm5hbWVDYWxsYmFja0hhbmRs ZXIgPSBjYmg7CistICAgIH0KKy0KKy0gICAgQE92ZXJyaWRlCistICAgIHB1YmxpYyB2b2lkIHJl c2V0KCkgeworLSAgICAgICAgdGhpcy5jb25maWdGaW5nZXJwcmludCA9IG51bGw7CistICAgICAg ICB0aGlzLnByaXZhdGVLZXkgPSBudWxsOworLSAgICB9CistCistICAgIEBPdmVycmlkZQorLSAg ICBwdWJsaWMgdm9pZCBkZXN0cm95KCkgeworLSAgICAgICAgcmVzZXQoKTsKKy0gICAgICAgIHRo aXMucHJvdG9jb2wgPSBudWxsOworLSAgICAgICAgdGhpcy51c2VybmFtZUNhbGxiYWNrSGFuZGxl ciA9IG51bGw7CistICAgIH0KKy0KKy0gICAgQE92ZXJyaWRlCistICAgIHB1YmxpYyBTdHJpbmcg Z2V0UHJvdG9jb2xQbHVnaW5OYW1lKCkgeworLSAgICAgICAgcmV0dXJuIFBMVUdJTl9OQU1FOwor LSAgICB9CistCistICAgIEBPdmVycmlkZQorLSAgICBwdWJsaWMgYm9vbGVhbiByZXF1aXJlc0Nv bmZpZGVudGlhbGl0eSgpIHsKKy0gICAgICAgIHJldHVybiBmYWxzZTsKKy0gICAgfQorLQorLSAg ICBAT3ZlcnJpZGUKKy0gICAgcHVibGljIGJvb2xlYW4gaXNSZXVzYWJsZSgpIHsKKy0gICAgICAg IHJldHVybiBmYWxzZTsKKy0gICAgfQorLQorLSAgICBAT3ZlcnJpZGUKKy0gICAgcHVibGljIHZv aWQgc2V0QXV0aGVudGljYXRpb25QYXJhbWV0ZXJzKFN0cmluZyB1c2VyLCBTdHJpbmcgcGFzc3dv cmQpIHsKKy0gICAgICAgIGlmICh1c2VyID09IG51bGwgJiYgdGhpcy51c2VybmFtZUNhbGxiYWNr SGFuZGxlciAhPSBudWxsKSB7CistICAgICAgICAgICAgLy8gRmFsbCBiYWNrIHRvIHN5c3RlbSBs b2dpbiB1c2VyLgorLSAgICAgICAgICAgIHRoaXMudXNlcm5hbWVDYWxsYmFja0hhbmRsZXIuaGFu ZGxlKG5ldyBVc2VybmFtZUNhbGxiYWNrKFN5c3RlbS5nZXRQcm9wZXJ0eSgidXNlci5uYW1lIikp KTsKKy0gICAgICAgIH0KKy0gICAgfQorLQorLSAgICBAT3ZlcnJpZGUKKy0gICAgcHVibGljIHZv aWQgc2V0U291cmNlT2ZBdXRoRGF0YShTdHJpbmcgc291cmNlT2ZBdXRoRGF0YSkgeworLSAgICAg ICAgdGhpcy5zb3VyY2VPZkF1dGhEYXRhID0gc291cmNlT2ZBdXRoRGF0YTsKKy0gICAgfQorLQor LSAgICBAT3ZlcnJpZGUKKy0gICAgcHVibGljIGJvb2xlYW4gbmV4dEF1dGhlbnRpY2F0aW9uU3Rl cChOYXRpdmVQYWNrZXRQYXlsb2FkIGZyb21TZXJ2ZXIsIExpc3Q8TmF0aXZlUGFja2V0UGF5bG9h ZD4gdG9TZXJ2ZXIpIHsKKy0gICAgICAgIHRvU2VydmVyLmNsZWFyKCk7CistCistICAgICAgICBp ZiAoIXRoaXMuc291cmNlT2ZBdXRoRGF0YS5lcXVhbHMoUExVR0lOX05BTUUpIHx8IGZyb21TZXJ2 ZXIuZ2V0UGF5bG9hZExlbmd0aCgpID09IDApIHsKKy0gICAgICAgICAgICAvLyBDYW5ub3QgZG8g YW55dGhpbmcgd2l0aCB3aGF0ZXZlciBwYXlsb2FkIGNvbWVzIGZyb20gdGhlIHNlcnZlciwgc28g anVzdCBza2lwIHRoaXMgaXRlcmF0aW9uIGFuZCB3YWl0IGZvciBhIFByb3RvY29sOjpBdXRoU3dp dGNoUmVxdWVzdCBvciBhCistICAgICAgICAgICAgLy8gUHJvdG9jb2w6OkF1dGhOZXh0RmFjdG9y LgorLSAgICAgICAgICAgIHRvU2VydmVyLmFkZChuZXcgTmF0aXZlUGFja2V0UGF5bG9hZCgwKSk7 CistICAgICAgICAgICAgcmV0dXJuIHRydWU7CistICAgICAgICB9CistCistICAgICAgICBsb2Fk T2NpQ29uZmlnKCk7CistICAgICAgICBpbml0aWFsaXplUHJpdmF0ZUtleSgpOworLSAgICAgICAg aW5pdGlhbGl6ZVRva2VuKCk7CistCistICAgICAgICBieXRlW10gbm9uY2UgPSBmcm9tU2VydmVy LnJlYWRCeXRlcyhTdHJpbmdTZWxmRGF0YVR5cGUuU1RSSU5HX0VPRik7CistICAgICAgICBieXRl W10gc2lnbmF0dXJlID0gRXhwb3J0Q29udHJvbGxlZC5zaWduKG5vbmNlLCB0aGlzLnByaXZhdGVL ZXkpOworLSAgICAgICAgaWYgKHNpZ25hdHVyZSA9PSBudWxsKSB7CistICAgICAgICAgICAgc2ln bmF0dXJlID0gbmV3IGJ5dGVbMF07CistICAgICAgICB9CistICAgICAgICBTdHJpbmcgcGF5bG9h ZCA9IFN0cmluZy5mb3JtYXQoIntcImZpbmdlcnByaW50XCI6XCIlc1wiLCBcInNpZ25hdHVyZVwi OlwiJXNcIiwgXCJ0b2tlblwiOlwiJXNcIn0iLCB0aGlzLmNvbmZpZ0ZpbmdlcnByaW50LAorLSAg ICAgICAgICAgICAgICBCYXNlNjQuZ2V0RW5jb2RlcigpLmVuY29kZVRvU3RyaW5nKHNpZ25hdHVy ZSksIG5ldyBTdHJpbmcodGhpcy50b2tlbikpOworLSAgICAgICAgdG9TZXJ2ZXIuYWRkKG5ldyBO YXRpdmVQYWNrZXRQYXlsb2FkKHBheWxvYWQuZ2V0Qnl0ZXMoQ2hhcnNldC5kZWZhdWx0Q2hhcnNl dCgpKSkpOworLSAgICAgICAgcmV0dXJuIHRydWU7CistICAgIH0KKy0KKy0gICAgcHJpdmF0ZSB2 b2lkIGxvYWRPY2lDb25maWcoKSB7CistICAgICAgICBDb25maWdGaWxlIGNvbmZpZ0ZpbGU7Cist ICAgICAgICB0cnkgeworLSAgICAgICAgICAgIFN0cmluZyBjb25maWdGaWxlUGF0aCA9IHRoaXMu cHJvdG9jb2wuZ2V0UHJvcGVydHlTZXQoKS5nZXRTdHJpbmdQcm9wZXJ0eShQcm9wZXJ0eUtleS5v Y2lDb25maWdGaWxlLmdldEtleU5hbWUoKSkuZ2V0U3RyaW5nVmFsdWUoKTsKKy0gICAgICAgICAg ICBTdHJpbmcgY29uZmlnUHJvZmlsZSA9IHRoaXMucHJvdG9jb2wuZ2V0UHJvcGVydHlTZXQoKS5n ZXRTdHJpbmdQcm9wZXJ0eShQcm9wZXJ0eUtleS5vY2lDb25maWdQcm9maWxlLmdldEtleU5hbWUo KSkuZ2V0U3RyaW5nVmFsdWUoKTsKKy0gICAgICAgICAgICBpZiAoU3RyaW5nVXRpbHMuaXNOdWxs T3JFbXB0eShjb25maWdGaWxlUGF0aCkpIHsKKy0gICAgICAgICAgICAgICAgY29uZmlnRmlsZSA9 IENvbmZpZ0ZpbGVSZWFkZXIucGFyc2VEZWZhdWx0KGNvbmZpZ1Byb2ZpbGUpOworLSAgICAgICAg ICAgIH0gZWxzZSBpZiAoRmlsZXMuZXhpc3RzKFBhdGhzLmdldChjb25maWdGaWxlUGF0aCkpKSB7 CistICAgICAgICAgICAgICAgIGNvbmZpZ0ZpbGUgPSBDb25maWdGaWxlUmVhZGVyLnBhcnNlKGNv bmZpZ0ZpbGVQYXRoLCBjb25maWdQcm9maWxlKTsKKy0gICAgICAgICAgICB9IGVsc2UgeworLSAg ICAgICAgICAgICAgICB0aHJvdyBFeGNlcHRpb25GYWN0b3J5LmNyZWF0ZUV4Y2VwdGlvbihNZXNz YWdlcy5nZXRTdHJpbmcoIkF1dGhlbnRpY2F0aW9uT2NpQ2xpZW50UGx1Z2luLkNvbmZpZ0ZpbGVO b3RGb3VuZCIpKTsKKy0gICAgICAgICAgICB9CistICAgICAgICB9IGNhdGNoIChOb0NsYXNzRGVm Rm91bmRFcnJvciBlKSB7CistICAgICAgICAgICAgdGhyb3cgRXhjZXB0aW9uRmFjdG9yeS5jcmVh dGVFeGNlcHRpb24oTWVzc2FnZXMuZ2V0U3RyaW5nKCJBdXRoZW50aWNhdGlvbk9jaUNsaWVudFBs dWdpbi5PY2lTZGtOb3RGb3VuZCIpLCBlKTsKKy0gICAgICAgIH0gY2F0Y2ggKElPRXhjZXB0aW9u IGUpIHsKKy0gICAgICAgICAgICB0aHJvdyBFeGNlcHRpb25GYWN0b3J5LmNyZWF0ZUV4Y2VwdGlv bihNZXNzYWdlcy5nZXRTdHJpbmcoIkF1dGhlbnRpY2F0aW9uT2NpQ2xpZW50UGx1Z2luLk9jaUNv bmZpZ0ZpbGVFcnJvciIpLCBlKTsKKy0gICAgICAgIH0gY2F0Y2ggKElsbGVnYWxBcmd1bWVudEV4 Y2VwdGlvbiBlKSB7CistICAgICAgICAgICAgdGhyb3cgRXhjZXB0aW9uRmFjdG9yeS5jcmVhdGVF eGNlcHRpb24oTWVzc2FnZXMuZ2V0U3RyaW5nKCJBdXRoZW50aWNhdGlvbk9jaUNsaWVudFBsdWdp bi5Qcm9maWxlTm90Rm91bmQiKSwgZSk7CistICAgICAgICB9CistCistICAgICAgICB0aGlzLmNv bmZpZ0ZpbmdlcnByaW50ID0gY29uZmlnRmlsZS5nZXQoImZpbmdlcnByaW50Iik7CistICAgICAg ICBpZiAoU3RyaW5nVXRpbHMuaXNOdWxsT3JFbXB0eSh0aGlzLmNvbmZpZ0ZpbmdlcnByaW50KSkg eworLSAgICAgICAgICAgIHRocm93IEV4Y2VwdGlvbkZhY3RvcnkuY3JlYXRlRXhjZXB0aW9uKE1l c3NhZ2VzLmdldFN0cmluZygiQXV0aGVudGljYXRpb25PY2lDbGllbnRQbHVnaW4uT2NpQ29uZmln RmlsZU1pc3NpbmdFbnRyeSIpKTsKKy0gICAgICAgIH0KKy0gICAgICAgIHRoaXMuY29uZmlnS2V5 RmlsZSA9IGNvbmZpZ0ZpbGUuZ2V0KCJrZXlfZmlsZSIpOworLSAgICAgICAgaWYgKFN0cmluZ1V0 aWxzLmlzTnVsbE9yRW1wdHkodGhpcy5jb25maWdLZXlGaWxlKSkgeworLSAgICAgICAgICAgIHRo cm93IEV4Y2VwdGlvbkZhY3RvcnkuY3JlYXRlRXhjZXB0aW9uKE1lc3NhZ2VzLmdldFN0cmluZygi QXV0aGVudGljYXRpb25PY2lDbGllbnRQbHVnaW4uT2NpQ29uZmlnRmlsZU1pc3NpbmdFbnRyeSIp KTsKKy0gICAgICAgIH0KKy0gICAgICAgIHRoaXMuY29uZmlnU2VjdXJpdHlUb2tlbkZpbGUgPSBj b25maWdGaWxlLmdldCgic2VjdXJpdHlfdG9rZW5fZmlsZSIpOworLSAgICB9CistCistICAgIHBy aXZhdGUgdm9pZCBpbml0aWFsaXplUHJpdmF0ZUtleSgpIHsKKy0gICAgICAgIGlmICh0aGlzLnBy aXZhdGVLZXkgIT0gbnVsbCkgeworLSAgICAgICAgICAgIC8vIEFscmVhZHkgaW5pdGlhbGl6ZWQu CistICAgICAgICAgICAgcmV0dXJuOworLSAgICAgICAgfQorLSAgICAgICAgdHJ5IHsKKy0gICAg ICAgICAgICBQYXRoIGtleUZpbGVQYXRoID0gUGF0aHMuZ2V0KHRoaXMuY29uZmlnS2V5RmlsZSk7 CistICAgICAgICAgICAgaWYgKEZpbGVzLm5vdEV4aXN0cyhrZXlGaWxlUGF0aCkpIHsKKy0gICAg ICAgICAgICAgICAgdGhyb3cgRXhjZXB0aW9uRmFjdG9yeS5jcmVhdGVFeGNlcHRpb24oTWVzc2Fn ZXMuZ2V0U3RyaW5nKCJBdXRoZW50aWNhdGlvbk9jaUNsaWVudFBsdWdpbi5Qcml2YXRlS2V5Tm90 Rm91bmQiKSk7CistICAgICAgICAgICAgfQorLSAgICAgICAgICAgIFN0cmluZyBrZXkgPSBuZXcg U3RyaW5nKEZpbGVzLnJlYWRBbGxCeXRlcyhrZXlGaWxlUGF0aCkpOworLSAgICAgICAgICAgIHRo aXMucHJpdmF0ZUtleSA9IEV4cG9ydENvbnRyb2xsZWQuZGVjb2RlUlNBUHJpdmF0ZUtleShrZXkp OworLSAgICAgICAgfSBjYXRjaCAoSU9FeGNlcHRpb24gZSkgeworLSAgICAgICAgICAgIHRocm93 IEV4Y2VwdGlvbkZhY3RvcnkuY3JlYXRlRXhjZXB0aW9uKE1lc3NhZ2VzLmdldFN0cmluZygiQXV0 aGVudGljYXRpb25PY2lDbGllbnRQbHVnaW4uRmFpbGVkUmVhZGluZ1ByaXZhdGVLZXkiKSwgZSk7 CistICAgICAgICB9IGNhdGNoIChSU0FFeGNlcHRpb24gfCBJbGxlZ2FsQXJndW1lbnRFeGNlcHRp b24gZSkgeworLSAgICAgICAgICAgIHRocm93IEV4Y2VwdGlvbkZhY3RvcnkuY3JlYXRlRXhjZXB0 aW9uKE1lc3NhZ2VzLmdldFN0cmluZygiQXV0aGVudGljYXRpb25PY2lDbGllbnRQbHVnaW4uUHJp dmF0ZUtleU5vdFZhbGlkIiksIGUpOworLSAgICAgICAgfQorLSAgICB9CistCistICAgIHByaXZh dGUgdm9pZCBpbml0aWFsaXplVG9rZW4oKSB7CistICAgICAgICBpZiAodGhpcy50b2tlbiAhPSBu dWxsKSB7CistICAgICAgICAgICAgLy8gQWxyZWFkeSBpbml0aWFsaXplZC4KKy0gICAgICAgICAg ICByZXR1cm47CistICAgICAgICB9CistICAgICAgICBpZiAoU3RyaW5nVXRpbHMuaXNOdWxsT3JF bXB0eSh0aGlzLmNvbmZpZ1NlY3VyaXR5VG9rZW5GaWxlKSkgeworLSAgICAgICAgICAgIHRoaXMu dG9rZW4gPSBuZXcgYnl0ZVswXTsKKy0gICAgICAgICAgICByZXR1cm47CistICAgICAgICB9Cist ICAgICAgICB0cnkgeworLSAgICAgICAgICAgIFBhdGggc2VjdXJpdHlUb2tlbkZpbGVQYXRoID0g UGF0aHMuZ2V0KHRoaXMuY29uZmlnU2VjdXJpdHlUb2tlbkZpbGUpOworLSAgICAgICAgICAgIGlm IChGaWxlcy5ub3RFeGlzdHMoc2VjdXJpdHlUb2tlbkZpbGVQYXRoKSkgeworLSAgICAgICAgICAg ICAgICB0aHJvdyBFeGNlcHRpb25GYWN0b3J5LmNyZWF0ZUV4Y2VwdGlvbihNZXNzYWdlcy5nZXRT dHJpbmcoIkF1dGhlbnRpY2F0aW9uT2NpQ2xpZW50UGx1Z2luLlNlY3VyaXR5VG9rZW5GaWxlTm90 Rm91bmQiKSk7CistICAgICAgICAgICAgfQorLSAgICAgICAgICAgIGxvbmcgc2l6ZSA9IEZpbGVz LnNpemUoc2VjdXJpdHlUb2tlbkZpbGVQYXRoKTsKKy0gICAgICAgICAgICBpZiAoc2l6ZSA+IDEw MjQwKSB7IC8vIEZhaWwgaWYgYWJvdmUgMTBLQi4KKy0gICAgICAgICAgICAgICAgdGhyb3cgRXhj ZXB0aW9uRmFjdG9yeS5jcmVhdGVFeGNlcHRpb24oTWVzc2FnZXMuZ2V0U3RyaW5nKCJBdXRoZW50 aWNhdGlvbk9jaUNsaWVudFBsdWdpbi5TZWN1cml0eVRva2VuVG9vQmlnIikpOworLSAgICAgICAg ICAgIH0KKy0gICAgICAgICAgICB0aGlzLnRva2VuID0gRmlsZXMucmVhZEFsbEJ5dGVzKFBhdGhz LmdldCh0aGlzLmNvbmZpZ1NlY3VyaXR5VG9rZW5GaWxlKSk7CistICAgICAgICB9IGNhdGNoIChJ T0V4Y2VwdGlvbiBlKSB7CistICAgICAgICAgICAgdGhyb3cgRXhjZXB0aW9uRmFjdG9yeS5jcmVh dGVFeGNlcHRpb24oTWVzc2FnZXMuZ2V0U3RyaW5nKCJBdXRoZW50aWNhdGlvbk9jaUNsaWVudFBs dWdpbi5GYWlsZWRSZWFkaW5nU2VjdXJpdHlUb2tlbkZpbGUiKSwgZSk7CistICAgICAgICB9Cist ICAgIH0KKy0KKy19CitkaWZmIC0tZ2l0IGEvc3JjL21haW4vcmVzb3VyY2VzL2NvbS9teXNxbC9j ai9Mb2NhbGl6ZWRFcnJvck1lc3NhZ2VzLnByb3BlcnRpZXMgYi9zcmMvbWFpbi9yZXNvdXJjZXMv Y29tL215c3FsL2NqL0xvY2FsaXplZEVycm9yTWVzc2FnZXMucHJvcGVydGllcworaW5kZXggYTZh ZTAxNy4uZTQxYWZjMCAxMDA2NDQKKy0tLSBhL3NyYy9tYWluL3Jlc291cmNlcy9jb20vbXlzcWwv Y2ovTG9jYWxpemVkRXJyb3JNZXNzYWdlcy5wcm9wZXJ0aWVzCisrKysgYi9zcmMvbWFpbi9yZXNv dXJjZXMvY29tL215c3FsL2NqL0xvY2FsaXplZEVycm9yTWVzc2FnZXMucHJvcGVydGllcworQEAg LTQyLDE4ICs0Miw2IEBAIEF1dGhlbnRpY2F0aW9uT3BlbmlkQ29ubmVjdC5NaXNzaW5nSWRUb2tl bkZpbGVPcHRpb249QSBwYXRoIHRvIGEgZmlsZSBjb250YWluaW5nCisgQXV0aGVudGljYXRpb25P cGVuaWRDb25uZWN0LkZhaWxSZWFkSWRUb2tlbkZpbGU9RmFpbGVkIHJlYWRpbmcgdGhlIE9wZW5J RCBJZGVudGl0eSBUb2tlbiBmaWxlIHNwZWNpZmllZCBpbiB0aGUgY29ubmVjdGlvbiBwcm9wZXJ0 eSAnJ2lkVG9rZW5GaWxlJycuCisgQXV0aGVudGljYXRpb25PcGVuaWRDb25uZWN0LkludmFsaWRJ ZFRva2VuRmlsZT1UaGUgZmlsZSBzcGVjaWZpZWQgaW4gdGhlIGNvbm5lY3Rpb24gcHJvcGVydHkg JydpZFRva2VuRmlsZScnIGNvbnRhaW5zIGFuIGludmFsaWQgT3BlbklEIElkZW50aXR5IFRva2Vu LgorIAorLUF1dGhlbnRpY2F0aW9uT2NpQ2xpZW50UGx1Z2luLkNvbmZpZ0ZpbGVOb3RGb3VuZD1P Q0kgY29uZmlndXJhdGlvbiBmaWxlIG5vdCBmb3VuZC4KKy1BdXRoZW50aWNhdGlvbk9jaUNsaWVu dFBsdWdpbi5PY2lTZGtOb3RGb3VuZD1UaGUgT0NJIFNESyBjYW5ub3QgYmUgZm91bmQgb3IgaXQg aXMgbm90IGluc3RhbGxlZC4KKy1BdXRoZW50aWNhdGlvbk9jaUNsaWVudFBsdWdpbi5PY2lDb25m aWdGaWxlRXJyb3I9VGhlIE9DSSBjb25maWd1cmF0aW9uIGZpbGUgY2Fubm90IGJlIHJlYWQuCist QXV0aGVudGljYXRpb25PY2lDbGllbnRQbHVnaW4uUHJvZmlsZU5vdEZvdW5kPVRoZSBzcGVjaWZp ZWQgcHJvZmlsZSBpcyBub3QgZm91bmQgaW4gdGhlIE9DSSBjb25maWd1cmF0aW9uIGZpbGUuCist QXV0aGVudGljYXRpb25PY2lDbGllbnRQbHVnaW4uT2NpQ29uZmlnRmlsZU1pc3NpbmdFbnRyeT1U aGUgT0NJIGNvbmZpZ3VyYXRpb24gZmlsZSBkb2VzIG5vdCBjb250YWluIGEgJydmaW5nZXJwcmlu dCcnIG9yICcna2V5X2ZpbGUnJyBlbnRyeS4KKy1BdXRoZW50aWNhdGlvbk9jaUNsaWVudFBsdWdp bi5Qcml2YXRlS2V5Tm90Rm91bmQ9VGhlIHByaXZhdGUga2V5IGNhbm5vdCBiZSBmb3VuZCBhdCB0 aGUgbG9jYXRpb24gcmVmZXJlbmNlZCBpbiB0aGUgT0NJIGNvbmZpZ3VyYXRpb24gZW50cnkgJydr ZXlfZmlsZScnLgorLUF1dGhlbnRpY2F0aW9uT2NpQ2xpZW50UGx1Z2luLkZhaWxlZFJlYWRpbmdQ cml2YXRlS2V5PUZhaWxlZCByZWFkaW5nIHRoZSBwcml2YXRlIGtleSBmaWxlIHJlZmVyZW5jZWQg aW4gdGhlIE9DSSBjb25maWd1cmF0aW9uIGVudHJ5ICcna2V5X2ZpbGUnJy4KKy1BdXRoZW50aWNh dGlvbk9jaUNsaWVudFBsdWdpbi5Qcml2YXRlS2V5Tm90VmFsaWQ9VGhlIE9DSSBjb25maWd1cmF0 aW9uIGVudHJ5ICcna2V5X2ZpbGUnJyBkb2VzIG5vdCByZWZlcmVuY2UgYSB2YWxpZCBrZXkgZmls ZS4KKy1BdXRoZW50aWNhdGlvbk9jaUNsaWVudFBsdWdpbi5TZWN1cml0eVRva2VuRmlsZU5vdEZv dW5kPVRoZSBzZWN1cml0eSB0b2tlbiBmaWxlIGNhbm5vdCBiZSBmb3VuZCBhdCB0aGUgbG9jYXRp b24gcmVmZXJlbmNlZCBpbiB0aGUgT0NJIGNvbmZpZ3VyYXRpb24gZW50cnkgJydzZWN1cml0eV90 b2tlbl9maWxlJycuCistQXV0aGVudGljYXRpb25PY2lDbGllbnRQbHVnaW4uU2VjdXJpdHlUb2tl blRvb0JpZz1JbnZhbGlkIHNlY3VyaXR5IHRva2VuIGZpbGUuIEZpbGUgc2l6ZSBhYm92ZSAxMCBL Qi4KKy1BdXRoZW50aWNhdGlvbk9jaUNsaWVudFBsdWdpbi5GYWlsZWRSZWFkaW5nU2VjdXJpdHlU b2tlbkZpbGU9RmFpbGVkIHJlYWRpbmcgdGhlIHNlY3VyaXR5IHRva2VuIGZpbGUgcmVmZXJlbmNl ZCBpbiB0aGUgT0NJIGNvbmZpZ3VyYXRpb24gZW50cnkgJydzZWN1cml0eV90b2tlbl9maWxlJycu CistCisgQXV0aGVudGljYXRpb25Qcm92aWRlci5CYWRBdXRoZW50aWNhdGlvblBsdWdpbj1VbmFi bGUgdG8gbG9hZCBhdXRoZW50aWNhdGlvbiBwbHVnaW4gJyd7MH0nJy4KKyBBdXRoZW50aWNhdGlv blByb3ZpZGVyLkJhZERlZmF1bHRBdXRoZW50aWNhdGlvblBsdWdpbj1JbXByb3BlciB2YWx1ZSAi ezB9IiBmb3IgcHJvcGVydHkgJydkZWZhdWx0QXV0aGVudGljYXRpb25QbHVnaW4nJy4KKyBBdXRo ZW50aWNhdGlvblByb3ZpZGVyLkRlZmF1bHRBdXRoZW50aWNhdGlvblBsdWdpbklzTm90TGlzdGVk PURlZmF1bHQgYXV0aGVudGljYXRpb24gcGx1Z2luICJ7MH0iIGlzIG5laXRoZXIgb25lIG9mIHRo ZSBidWlsdC1pbiBwbHVnaW5zIG5vciBvbmUgb2YgdGhlIHBsdWdpbnMgbGlzdGVkIGluICcnYXV0 aGVudGljYXRpb25QbHVnaW5zJycuCistLSAKKzIuNTQuMAorCgpkaWZmIC0tZ2l0IGEvUmVtb3Zl LXVzYWdlLW9mLWlvLm9wZW50ZWxlbWV0cnkuYXBpLnBhdGNoIGIvUmVtb3ZlLXVzYWdlLW9mLWlv Lm9wZW50ZWxlbWV0cnkuYXBpLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAuLmQzODkwZmMKLS0tIC9kZXYvbnVsbAorKysgYi9SZW1vdmUtdXNhZ2Utb2YtaW8ub3BlbnRl bGVtZXRyeS5hcGkucGF0Y2gKQEAgLTAsMCArMSw0MiBAQAorRnJvbSBlMTExZTNkYjlmMDlhOGU5 ZWE2YWUwYWJjNTE1MmQ3ZGMwZGQwZDNiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTog TWFyaWFuIEtvbmNlayA8bWtvbmNla0ByZWRoYXQuY29tPgorRGF0ZTogV2VkLCAyOSBKdWwgMjAy NiAxNDo0ODoxNCArMDIwMAorU3ViamVjdDogW1BBVENIXSBSZW1vdmUgdXNhZ2Ugb2YgaW8ub3Bl bnRlbGVtZXRyeS5hcGkKKworLS0tCisgc3JjL21haW4vY29yZS1pbXBsL2phdmEvY29tL215c3Fs L2NqL05hdGl2ZVNlc3Npb24uamF2YSB8IDUgKy0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNl cnRpb24oKyksIDQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvbWFpbi9jb3JlLWlt cGwvamF2YS9jb20vbXlzcWwvY2ovTmF0aXZlU2Vzc2lvbi5qYXZhIGIvc3JjL21haW4vY29yZS1p bXBsL2phdmEvY29tL215c3FsL2NqL05hdGl2ZVNlc3Npb24uamF2YQoraW5kZXggYjA1ZWRkNi4u ODQzNzA4YSAxMDA2NDQKKy0tLSBhL3NyYy9tYWluL2NvcmUtaW1wbC9qYXZhL2NvbS9teXNxbC9j ai9OYXRpdmVTZXNzaW9uLmphdmEKKysrKyBiL3NyYy9tYWluL2NvcmUtaW1wbC9qYXZhL2NvbS9t eXNxbC9jai9OYXRpdmVTZXNzaW9uLmphdmEKK0BAIC01NCw3ICs1NCw2IEBAIGltcG9ydCBjb20u bXlzcWwuY2ouZXhjZXB0aW9ucy5NeXNxbEVycm9yTnVtYmVyczsKKyBpbXBvcnQgY29tLm15c3Fs LmNqLmV4Y2VwdGlvbnMuT3BlcmF0aW9uQ2FuY2VsbGVkRXhjZXB0aW9uOworIGltcG9ydCBjb20u bXlzcWwuY2ouaW50ZXJjZXB0b3JzLlF1ZXJ5SW50ZXJjZXB0b3I7CisgaW1wb3J0IGNvbS5teXNx bC5jai5sb2cuTG9nOworLWltcG9ydCBjb20ubXlzcWwuY2oub3RlbC5PcGVuVGVsZW1ldHJ5SGFu ZGxlcjsKKyBpbXBvcnQgY29tLm15c3FsLmNqLnByb3RvY29sLkNvbHVtbkRlZmluaXRpb247Cisg aW1wb3J0IGNvbS5teXNxbC5jai5wcm90b2NvbC5OZXR3b3JrUmVzb3VyY2VzOworIGltcG9ydCBj b20ubXlzcWwuY2oucHJvdG9jb2wuUHJvdG9jb2xFbnRpdHlGYWN0b3J5OworQEAgLTExNCw3ICsx MTMsNyBAQCBwdWJsaWMgY2xhc3MgTmF0aXZlU2Vzc2lvbiBleHRlbmRzIENvcmVTZXNzaW9uIGlt cGxlbWVudHMgU2VyaWFsaXphYmxlIHsKKyAgICAgICAgIC8vIENoZWNrIFRlbGVtZXRyeSBvcHRp b24uCisgICAgICAgICBSdW50aW1lUHJvcGVydHk8T3BlblRlbGVtZXRyeT4gb3BlblRlbGVtZXRy eSA9IHRoaXMucHJvcGVydHlTZXQuZ2V0RW51bVByb3BlcnR5KFByb3BlcnR5S2V5Lm9wZW5UZWxl bWV0cnkpOworICAgICAgICAgaWYgKG9wZW5UZWxlbWV0cnkuZ2V0VmFsdWUoKSA9PSBPcGVuVGVs ZW1ldHJ5LlBSRUZFUlJFRCB8fCBvcGVuVGVsZW1ldHJ5LmdldFZhbHVlKCkgPT0gT3BlblRlbGVt ZXRyeS5SRVFVSVJFRCkgeworLSAgICAgICAgICAgIGlmICghT3BlblRlbGVtZXRyeUhhbmRsZXIu aXNPcGVuVGVsZW1ldHJ5QXBpQXZhaWxhYmxlKCkpIHsKKysgICAgICAgICAgICBpZiAodHJ1ZSkg eworICAgICAgICAgICAgICAgICBpZiAob3BlblRlbGVtZXRyeS5nZXRWYWx1ZSgpID09IE9wZW5U ZWxlbWV0cnkuUkVRVUlSRUQpIHsKKyAgICAgICAgICAgICAgICAgICAgIHRocm93IEV4Y2VwdGlv bkZhY3RvcnkuY3JlYXRlRXhjZXB0aW9uKE1lc3NhZ2VzLmdldFN0cmluZygiQ29ubmVjdGlvbi5P dGVsQXBpTm90Rm91bmQiKSk7CisgICAgICAgICAgICAgICAgIH0KK0BAIC0xMjIsOCArMTIxLDYg QEAgcHVibGljIGNsYXNzIE5hdGl2ZVNlc3Npb24gZXh0ZW5kcyBDb3JlU2Vzc2lvbiBpbXBsZW1l bnRzIFNlcmlhbGl6YWJsZSB7CisgICAgICAgICAgICAgICAgICAgICBnZXRMb2coKS5sb2dJbmZv KE1lc3NhZ2VzLmdldFN0cmluZygiQ29ubmVjdGlvbi5PdGVsQXBpTm90Rm91bmQiKSk7CisgICAg ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgc2V0VGVsZW1ldHJ5SGFuZGxlcihOb29w VGVsZW1ldHJ5SGFuZGxlci5nZXRJbnN0YW5jZSgpKTsKKy0gICAgICAgICAgICB9IGVsc2Ugewor LSAgICAgICAgICAgICAgICBzZXRUZWxlbWV0cnlIYW5kbGVyKG5ldyBPcGVuVGVsZW1ldHJ5SGFu ZGxlcigpKTsKKyAgICAgICAgICAgICB9CisgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAg IHNldFRlbGVtZXRyeUhhbmRsZXIoTm9vcFRlbGVtZXRyeUhhbmRsZXIuZ2V0SW5zdGFuY2UoKSk7 CistLSAKKzIuNTQuMAorCgpkaWZmIC0tZ2l0IGEvbXlzcWwtY29ubmVjdG9yLWphdmEuc3BlYyBi L215c3FsLWNvbm5lY3Rvci1qYXZhLnNwZWMKaW5kZXggNzRiZDNmYi4uOWZmYzVhNyAxMDA2NDQK LS0tIGEvbXlzcWwtY29ubmVjdG9yLWphdmEuc3BlYworKysgYi9teXNxbC1jb25uZWN0b3ItamF2 YS5zcGVjCkBAIC0xLDYgKzEsNiBAQAogTmFtZTogICAgICAgICAgIG15c3FsLWNvbm5lY3Rvci1q YXZhCiBFcG9jaDogICAgICAgICAgMQotVmVyc2lvbjogICAgICAgIDguMC4zMAorVmVyc2lvbjog ICAgICAgIDkuNy4wCiBSZWxlYXNlOiAgICAgICAgJWF1dG9yZWxlYXNlCiBTdW1tYXJ5OiAgICAg ICAgT2ZmaWNpYWwgSkRCQyBkcml2ZXIgZm9yIE15U1FMCiBMaWNlbnNlOiAgICAgICAgR1BMLTIu MC1vbmx5CkBAIC05LDE5ICs5LDIxIEBAIEJ1aWxkQXJjaDogICAgICBub2FyY2gKIEV4Y2x1c2l2 ZUFyY2g6ICAle2phdmFfYXJjaGVzfSBub2FyY2gKIAogIyBHZW5lcmF0ZWQgd2l0aCBnZW5lcmF0 ZS10YXJiYWxsLnNoCi1Tb3VyY2UwOiAgICAgICAgJXtuYW1lfS0le3ZlcnNpb259LW5vamFycy50 YXIueHoKK1NvdXJjZTA6ICAgICAgICAle25hbWV9LSV7dmVyc2lvbn0udGFyLnpzdAogU291cmNl MTogICAgICAgIGdlbmVyYXRlLXRhcmJhbGwuc2gKIAotUGF0Y2g6ICAgICAgICAgIDAwMDEtUmVt b3ZlLWNvdmVyYWdlLXRlc3QucGF0Y2gKLVBhdGNoOiAgICAgICAgICAwMDAyLVJlbW92ZS1hdXRo ZW50aWNhdGlvbi1wbHVnaW4ucGF0Y2gKLVBhdGNoOiAgICAgICAgICAwMDAzLVJlbW92ZS1TdGF0 ZW1lbnRzVGVzdC5wYXRjaAotUGF0Y2g6ICAgICAgICAgIDAwMDQtUG9ydC10by1KYXZhLTIxLnBh dGNoCitQYXRjaDogICAgICAgICAgUmVtb3ZlLWF1dGhlbnRpY2F0aW9uLXBsdWdpbi5wYXRjaAor UGF0Y2g6ICAgICAgICAgIFBvcnQtdG8tSmF2YS0yMS5wYXRjaAorUGF0Y2g6ICAgICAgICAgIFJl bW92ZS11c2FnZS1vZi1pby5vcGVudGVsZW1ldHJ5LmFwaS5wYXRjaAorUGF0Y2g6ICAgICAgICAg IEFkZC1wYWNrYWdlLXRlc3RzLXRhcmdldC5wYXRjaAogCiBCdWlsZFJlcXVpcmVzOiAgamF2YXBh Y2thZ2VzLWxvY2FsLW9wZW5qZGsyNQorQnVpbGRSZXF1aXJlczogIGFudC1qdW5pdAogQnVpbGRS ZXF1aXJlczogIGFudC1qdW5pdDUKIEJ1aWxkUmVxdWlyZXM6ICBqYXZhc3Npc3QKIEJ1aWxkUmVx dWlyZXM6ICBwcm90b2J1Zi1qYXZhCiBCdWlsZFJlcXVpcmVzOiAgc2xmNGoKK0J1aWxkUmVxdWly ZXM6ICBoYW1jcmVzdAogCiAlZGVzY3JpcHRpb24KIE15U1FMIENvbm5lY3Rvci9KIGlzIGEgbmF0 aXZlIEphdmEgZHJpdmVyIHRoYXQgY29udmVydHMgSkRCQyAoSmF2YSBEYXRhYmFzZQpAQCAtMzIs MzMgKzM0LDUxIEBAIGRhdGEsIGV2ZW4gaW4gYSBoZXRlcm9nZW5lb3VzIGVudmlyb25tZW50LiBN eVNRTCBDb25uZWN0b3IvSiBpcyBhIFR5cGUKIElWIEpEQkMgZHJpdmVyIGFuZCBoYXMgYSBjb21w bGV0ZSBKREJDIGZlYXR1cmUgc2V0IHRoYXQgc3VwcG9ydHMgdGhlCiBjYXBhYmlsaXRpZXMgb2Yg TXlTUUwuCiAKKyVwYWNrYWdlIHRlc3RzCitTdW1tYXJ5OiBUZXN0cyBmb3IgJXtuYW1lfQorCisl ZGVzY3JpcHRpb24gdGVzdHMKK1RoaXMgcGFja2FnZSBjb250YWlucyB0ZXN0cyBmb3IgJXtuYW1l fS4KKwogJXByZXAKICVhdXRvc2V0dXAgLXAxIC1DCiAKICMgeG1sc3RhcmxldCBlZCAtTCAtTiBw b209Imh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL1BPTS80LjAuMCIgLXUgIi9wcm9qZWN0L3ZlcnNp b24iIC12ICI4LjAuMzMiIHNyYy9idWlsZC9taXNjL3BvbS54bWwKICVwb21feHBhdGhfc2V0ICdw b206cHJvamVjdC9wb206dmVyc2lvbicgJXt2ZXJzaW9ufSBzcmMvYnVpbGQvbWlzYy9wb20ueG1s CiAKLSMgV2UgY3VycmVudGx5IG5lZWQgdG8gZGlzYWJsZSBqYm9zcyBpbnRlZ3JhdGlvbiBiZWNh dXNlIG9mIG1pc3NpbmcgamJvc3MtY29tbW9uLWpkYmMtd3JhcHBlci5qYXIgKGJ1aWx0IGZyb20g c291cmNlcykuCi0jIFNlZSBCWiM0ODAxNTQgYW5kIEJaIzQ3MTkxNSBmb3IgZGV0YWlscy4KLXJt IC1yZiBzcmMvbWFpbi91c2VyLWltcGwvamF2YS9jb20vbXlzcWwvY2ovamRiYy9pbnRlZ3JhdGlv bi9qYm9zcwotcm0gc3JjL3Rlc3QvamF2YS90ZXN0c3VpdGUvcmVncmVzc2lvbi9Db25uZWN0aW9u UmVncmVzc2lvblRlc3QuamF2YQotcm0gc3JjL3Rlc3QvamF2YS90ZXN0c3VpdGUvcmVncmVzc2lv bi9EYXRhU291cmNlUmVncmVzc2lvblRlc3QuamF2YQotcm0gc3JjL3Rlc3QvamF2YS90ZXN0c3Vp dGUvc2ltcGxlL1N0YXRlbWVudHNUZXN0LmphdmEKKyMgUmVtb3ZlIHVzYWdlIG9mICdpby5vcGVu dGVsZW1ldHJ5LmFwaScKK3JtIC1ydiBzcmMvbWFpbi9jb3JlLWltcGwvamF2YS9jb20vbXlzcWwv Y2ovb3RlbAogCiAlYnVpbGQKLWFudCAtRGNvbS5teXNxbC5jai5idWlsZC5qZGs9JXtqYXZhX2hv bWV9IFwKLSAgICAtRGNvbS5teXNxbC5jai5leHRyYS5saWJzPSV7X2phdmFkaXJ9IFwKLSAgICB0 ZXN0IGRpc3QKK2FudCBwYWNrYWdlLW5vLXNvdXJjZXMgXAorIC1EY29tLm15c3FsLmNqLmJ1aWxk Lmpkaz0le2phdmFfaG9tZX0gXAorIC1EY29tLm15c3FsLmNqLmV4dHJhLmxpYnM9JXtfamF2YWRp cn0gXAorIC1EY29tLm15c3FsLmNqLmRpc3Qubm9NYXZlbj10cnVlIFwKKzsKKworIyBDb21waWxl IHRlc3Qgc3VpdGUgYW5kIGNyZWF0ZSB0ZXN0cyBKQVIgKyBjbGFzc3BhdGggZmlsZQorYW50IHBh Y2thZ2UtdGVzdHMgXAorIC1EY29tLm15c3FsLmNqLmJ1aWxkLmpkaz0le2phdmFfaG9tZX0gXAor IC1EY29tLm15c3FsLmNqLmV4dHJhLmxpYnM9JXtfamF2YWRpcn0gXAorIC1EY29tLm15c3FsLmNq LmJ1aWxkLm5vQ2xlYW5CZXR3ZWVuQ29tcGlsZXM9eWVzIFwKKzsKIAogJWluc3RhbGwKLSMgSW5z dGFsbCB0aGUgTWF2ZW4gYnVpbGQgaW5mb3JtYXRpb24KICVtdm5fZmlsZSBteXNxbDpteXNxbC1j b25uZWN0b3ItamF2YSAle25hbWV9Ci0lbXZuX2FydGlmYWN0IHNyYy9idWlsZC9taXNjL3BvbS54 bWwgYnVpbGQvJXtuYW1lfS0le3ZlcnNpb259LVNOQVBTSE9ULyV7bmFtZX0tJXt2ZXJzaW9ufS1T TkFQU0hPVC5qYXIKKyVtdm5fYXJ0aWZhY3QgYnVpbGQvbXlzcWwtY29ubmVjdG9yLWotJXt2ZXJz aW9ufS1TTkFQU0hPVC9wb20ueG1sIGJ1aWxkL215c3FsLWNvbm5lY3Rvci1qLSV7dmVyc2lvbn0t U05BUFNIT1QvbXlzcWwtY29ubmVjdG9yLWotJXt2ZXJzaW9ufS1TTkFQU0hPVC5qYXIKICVtdm5f aW5zdGFsbAoraW5zdGFsbCAtbSA2NDQgLUQgYnVpbGQvbXlzcWwtY29ubmVjdG9yLWotdGVzdHMu amFyICV7YnVpbGRyb290fSV7X2phdmFkaXJ9LyV7bmFtZX0tdGVzdHMuamFyCitpbnN0YWxsIC1t IDY0NCAtRCBidWlsZC90ZXN0cy1jbGFzc3BhdGggJXtidWlsZHJvb3R9JXtfZGF0YWRpcn0vJXtu YW1lfS10ZXN0cy9jbGFzc3BhdGgKK2NwIC1hIHNyYy90ZXN0L2NvbmZpZy9zc2wtdGVzdC1jZXJ0 cyAle2J1aWxkcm9vdH0le19kYXRhZGlyfS8le25hbWV9LXRlc3RzL3NzbC10ZXN0LWNlcnRzCiAK ICVmaWxlcyAtZiAubWZpbGVzCiAlZG9jIENIQU5HRVMgUkVBRE1FIFJFQURNRS5tZAogJWxpY2Vu c2UgTElDRU5TRQogCislZmlsZXMgdGVzdHMKKyV7X2phdmFkaXJ9LyV7bmFtZX0tdGVzdHMuamFy Cisle19kYXRhZGlyfS8le25hbWV9LXRlc3RzCislbGljZW5zZSBMSUNFTlNFCisKICVjaGFuZ2Vs b2cKICVhdXRvY2hhbmdlbG9nCgpkaWZmIC0tZ2l0IGEvc291cmNlcyBiL3NvdXJjZXMKaW5kZXgg M2U4YWM3Yi4uOGVmMDYxNSAxMDA2NDQKLS0tIGEvc291cmNlcworKysgYi9zb3VyY2VzCkBAIC0x ICsxIEBACi1TSEE1MTIgKG15c3FsLWNvbm5lY3Rvci1qYXZhLTguMC4zMC1ub2phcnMudGFyLnh6 KSA9IDU5MmNkODhmN2QyZjdkYWVjMjUxMzg0NmE0Zjc1ZDJmOGI1YmMwYWNlYzI4NmM1ZGE1NmU2 MmNmYzUzNjZlZDYyYjhiZDVjNGExMjBmNDFmMGUyZWFlM2ExODg5ZTFmZjIzN2RlZTgwYzAyMWQy N2U3MzJiZGY2MDQzOTg0NDJkCitTSEE1MTIgKG15c3FsLWNvbm5lY3Rvci1qYXZhLTkuNy4wLnRh ci56c3QpID0gZGQwYTViOWNlNzU3NDVkZDY3Y2MxOWYwMjRiOGQzNjA3MDZmZGQ2NjlkMDk2M2M5 OWQwZmU0ZDdlNWE2OWE3YjE3YjJkNTdlMjNkMDI1NzIxMDhkNDg2OTA3ZWMzYjRjNWQwMWNiNWY1 ZWFmMTQzNjIwNWNiYTFiOTYzNWEzNTYK