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: Randy Barlow To: git-commits@fedoraproject.org Subject: [rpms/ejabberd] f45: Update to ejabberd-16.02. Date: Wed, 23 Sep 2026 19:07:25 GMT Message-ID: <179019044550.1.10470238768841639288.rpms-ejabberd-e8604398be96@fedoraproject.org> List-ID: X-Git-Repo: rpms/ejabberd X-Git-Branch: f45 X-Git-Rev: e8604398be965e0d09bda2a4742cca151feae9e9 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZWphYmJlcmQKQnJh bmNoIDogZjQ1CkNvbW1pdCA6IGU4NjA0Mzk4YmU5NjVlMGQwOWJkYTJhNDc0MmNjYTE1MWZlYWU5 ZTkKQXV0aG9yIDogUmFuZHkgQmFybG93IDxyYW5keUBlbGVjdHJvbnN3ZWF0c2hvcC5jb20+CkRh dGUgICA6IDIwMTYtMDMtMTRUMDA6MDU6NDEtMDQ6MDAKU3RhdHMgIDogKzIxLy0xNjkxIGluIDYg ZmlsZShzKQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2VqYWJi ZXJkL2MvZTg2MDQzOThiZTk2NWUwZDA5YmRhMmE0NzQyY2NhMTUxZmVhZTllOT9icmFuY2g9ZjQ1 CgpMb2c6ClVwZGF0ZSB0byBlamFiYmVyZC0xNi4wMi4KCi0tLQpkaWZmIC0tZ2l0IGEvLmdpdGln bm9yZSBiLy5naXRpZ25vcmUKaW5kZXggZDZjZDQzYS4uZWY5ODk0MiAxMDA2NDQKLS0tIGEvLmdp dGlnbm9yZQorKysgYi8uZ2l0aWdub3JlCkBAIC0xMiwzICsxMiw0IEBAIGVqYWJiZXJkLTIuMS41 LnRhci5negogL2VqYWJiZXJkLXNyYy1kZXBzLnRhcgogLzE1LjExLnRhci5negogLzE2LjAxLnRh ci5negorLzE2LjAyLnRhci5negoKZGlmZiAtLWdpdCBhLzAwMTQtUmVtb3ZlLXRoZS14bWxycGMt ZGVwZW5kZW5jeS1hcy1pdC1zLW9ubHktdXNlZC1mb3ItdC5wYXRjaCBiLzAwMTQtUmVtb3ZlLXRo ZS14bWxycGMtZGVwZW5kZW5jeS1hcy1pdC1zLW9ubHktdXNlZC1mb3ItdC5wYXRjaApkZWxldGVk IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGRmOWY2ZC4uMDAwMDAwMAotLS0gYS8wMDE0LVJlbW92 ZS10aGUteG1scnBjLWRlcGVuZGVuY3ktYXMtaXQtcy1vbmx5LXVzZWQtZm9yLXQucGF0Y2gKKysr IC9kZXYvbnVsbApAQCAtMSw0NiArMCwwIEBACi1Gcm9tIGQ1YjQ2NjVhZmZhNTAzNDJiYmI4ZGU3 ZDRiMjIzNzJkZTVkYmZjN2MgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBSYW5keSBC YXJsb3cgPHJhbmR5QGVsZWN0cm9uc3dlYXRzaG9wLmNvbT4KLURhdGU6IFN1biwgMTQgRmViIDIw MTYgMTc6MTE6MzEgLTA1MDAKLVN1YmplY3Q6IFtQQVRDSF0gUmVtb3ZlIGRlcGVuZGVuY3kgb24g eG1scnBjLgotCi0tLS0KLSBtaXguZXhzICAgICAgfCAzICstLQotIHJlYmFyLmNvbmZpZyB8IDEg LQotIDIgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDMgZGVsZXRpb25zKC0pCi0KLWRp ZmYgLS1naXQgYS9taXguZXhzIGIvbWl4LmV4cwotaW5kZXggYjAwMmUzNi4uMDExYmIwZSAxMDA2 NDQKLS0tLSBhL21peC5leHMKLSsrKyBiL21peC5leHMKLUBAIC0yMCw3ICsyMCw3IEBAIGRlZm1v ZHVsZSBFamFiYmVyZC5NaXhmaWxlIGRvCi0gICAgICBpbmNsdWRlZF9hcHBsaWNhdGlvbnM6IFs6 bGFnZXIsIDpwMV91dGlscywgOmNhY2hlX3RhYiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDpwMV90bHMsIDpwMV9zdHJpbmdwcmVwLCA6cDFfeG1sLAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgOnAxX3N0dW4sIDpwMV95YW1sLCA6cDFfemxpYiwgOnAxX2ljb252LAotLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgOmVzaXAsIDpqaWZmeSwgOm9hdXRoMiwgOnhtbHJw YywgOmVyZWRpcywKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDplc2lwLCA6amlmZnks IDpvYXV0aDIsIDplcmVkaXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6cDFfbXlz cWwsIDpwMV9wZ3NxbCwgOnNxbGl0ZTNdXQotICAgZW5kCi0gCi1AQCAtNDIsNyArNDIsNiBAQCBk ZWZtb2R1bGUgRWphYmJlcmQuTWl4ZmlsZSBkbwotICAgICAgezpwMV95YW1sLCBnaXQ6ICJodHRw czovL2dpdGh1Yi5jb20vcHJvY2Vzc29uZS9wMV95YW1sIiwgdGFnOiAiMS4wLjAifSwKLSAgICAg IHs6amlmZnksIGdpdDogImh0dHBzOi8vZ2l0aHViLmNvbS9kYXZpc3AvamlmZnkiLCB0YWc6ICIw LjE0LjUifSwKLSAgICAgIHs6b2F1dGgyLCBnaXQ6ICJodHRwczovL2dpdGh1Yi5jb20va2l2cmEv b2F1dGgyIiwgIjhkMTI5ZmJmODg2NjkzMGI0ZmZhNmRkODRlNjViZDJiMzJiOWFjYjgifSwKLS0g ICAgIHs6eG1scnBjLCBnaXQ6ICJodHRwczovL2dpdGh1Yi5jb20vcmRzMTMveG1scnBjLmdpdCIs IHRhZzogIjEuMTUifSwKLSAgICAgIHs6cDFfbXlzcWwsIGdpdDogImh0dHBzOi8vZ2l0aHViLmNv bS9wcm9jZXNzb25lL215c3FsIiwgdGFnOiAiMS4wLjAifSwKLSAgICAgIHs6cDFfcGdzcWwsIGdp dDogImh0dHBzOi8vZ2l0aHViLmNvbS9wcm9jZXNzb25lL3Bnc3FsIiwgdGFnOiAiMS4wLjAifSwK LSAgICAgIHs6c3FsaXRlMywgZ2l0OiAiaHR0cHM6Ly9naXRodWIuY29tL2FsZXhleXIvZXJsYW5n LXNxbGl0ZTMiLCAiY2JjMzUwNWY3YTEzMTI1NDI2NWQzZWY1NjE5MWIyNTgxYjhjYzE3MiJ9LAot ZGlmZiAtLWdpdCBhL3JlYmFyLmNvbmZpZyBiL3JlYmFyLmNvbmZpZwotaW5kZXggMzBjMDM2MC4u NWZiNTM0MCAxMDA2NDQKLS0tLSBhL3JlYmFyLmNvbmZpZwotKysrIGIvcmViYXIuY29uZmlnCi1A QCAtMTksNyArMTksNiBAQAotICAgICAgICAge3AxX3lhbWwsICIuKiIsIHtnaXQsICJodHRwczov L2dpdGh1Yi5jb20vcHJvY2Vzc29uZS9wMV95YW1sIiwge3RhZywgIjEuMC4wIn19fSwKLSAgICAg ICAgIHtqaWZmeSwgIi4qIiwge2dpdCwgImh0dHBzOi8vZ2l0aHViLmNvbS9kYXZpc3AvamlmZnki LCB7dGFnLCAiMC4xNC41In19fSwKLSAgICAgICAgIHtvYXV0aDIsICIuKiIsIHtnaXQsICJodHRw czovL2dpdGh1Yi5jb20va2l2cmEvb2F1dGgyIiwgIjhkMTI5ZmJmODg2NjkzMGI0ZmZhNmRkODRl NjViZDJiMzJiOWFjYjgifX0sCi0tICAgICAgICB7eG1scnBjLCAiLioiLCB7Z2l0LCAiaHR0cHM6 Ly9naXRodWIuY29tL3JkczEzL3htbHJwYyIsIHt0YWcsICIxLjE1In19fSwKLSAgICAgICAgIHtp Zl92YXJfdHJ1ZSwgbXlzcWwsIHtwMV9teXNxbCwgIi4qIiwge2dpdCwgImh0dHBzOi8vZ2l0aHVi LmNvbS9wcm9jZXNzb25lL215c3FsIiwge3RhZywgIjEuMC4wIn19fX0sCi0gICAgICAgICB7aWZf dmFyX3RydWUsIHBnc3FsLCB7cDFfcGdzcWwsICIuKiIsIHtnaXQsICJodHRwczovL2dpdGh1Yi5j b20vcHJvY2Vzc29uZS9wZ3NxbCIsIHt0YWcsICIxLjAuMCJ9fX19LAotICAgICAgICAge2lmX3Zh cl90cnVlLCBzcWxpdGUsIHtzcWxpdGUzLCAiLioiLCB7Z2l0LCAiaHR0cHM6Ly9naXRodWIuY29t L2FsZXhleXIvZXJsYW5nLXNxbGl0ZTMiLCAiY2JjMzUwNWY3YTEzMTI1NDI2NWQzZWY1NjE5MWIy NTgxYjhjYzE3MiJ9fX0sCi0tLSAKLTIuNy4xCi0KCmRpZmYgLS1naXQgYS9lamFiYmVyZC0wMDAy LUludHJvZHVjaW5nLW1vZF9hZG1pbl9leHRyYS5wYXRjaCBiL2VqYWJiZXJkLTAwMDItSW50cm9k dWNpbmctbW9kX2FkbWluX2V4dHJhLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCA1ODZjZWZiLi4wMDAwMDAwCi0tLSBhL2VqYWJiZXJkLTAwMDItSW50cm9kdWNpbmctbW9kX2Fk bWluX2V4dHJhLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTYwOCArMCwwIEBACi1Gcm9tOiBC YWRsb3AgPGJhZGxvcEBwcm9jZXNzLW9uZS5uZXQ+Ci1EYXRlOiBUdWUsIDE2IEZlYiAyMDEwIDE2 OjEyOjE3ICswMzAwCi1TdWJqZWN0OiBbUEFUQ0hdIEludHJvZHVjaW5nIG1vZF9hZG1pbl9leHRy YQotCi1BZGRzIHRoZSBtb2RfYWRtaW5fZXh0cmEgbW9kdWxlIHRvIGVqYWJiZXJkLgotVGhpcyBt b2R1bGUgZXh0ZW5kcyB0aGUgZnVuY3Rpb25hbGl0eSBwcm92aWRlZCBieSBlamFiYmVyZGN0bAot YnkgYWRkaW5nIHNldmVyYWwgbmV3IGNvbW1hbmRzLgotCi1UaGUgY29kZSBpcyB0YWtlbiBmcm9t IHRoZSBQcm9jZXNzT25lIHJlcG9zaXRvcnk6Ci0KLXdnZXQgaHR0cHM6Ly9yYXcuZ2l0aHVidXNl cmNvbnRlbnQuY29tL3Byb2Nlc3NvbmUvZWphYmJlcmQtY29udHJpYi9lMjNiZjk0L21vZF9hZG1p bl9leHRyYS9zcmMvbW9kX2FkbWluX2V4dHJhLmVybAotCi1kaWZmIC0tZ2l0IGEvc3JjL21vZF9h ZG1pbl9leHRyYS5lcmwgYi9zcmMvbW9kX2FkbWluX2V4dHJhLmVybAotbmV3IGZpbGUgbW9kZSAx MDA2NDQKLWluZGV4IDAwMDAwMDAuLjYzNzAzZWMKLS0tLSAvZGV2L251bGwKLSsrKyBiL3NyYy9t b2RfYWRtaW5fZXh0cmEuZXJsCi1AQCAtMCwwICsxLDE1OTAgQEAKLSslJSUtLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0r JSUlIEZpbGUgICAgOiBtb2RfYWRtaW5fZXh0cmEuZXJsCi0rJSUlIEF1dGhvciAgOiBCYWRsb3Ag PGJhZGxvcEBwcm9jZXNzLW9uZS5uZXQ+Ci0rJSUlIFB1cnBvc2UgOiBDb250cmlidXRlZCBhZG1p bmlzdHJhdGl2ZSBmdW5jdGlvbnMgYW5kIGNvbW1hbmRzCi0rJSUlIENyZWF0ZWQgOiAxMCBBdWcg MjAwOCBieSBCYWRsb3AgPGJhZGxvcEBwcm9jZXNzLW9uZS5uZXQ+Ci0rJSUlCi0rJSUlCi0rJSUl IGVqYWJiZXJkLCBDb3B5cmlnaHQgKEMpIDIwMDItMjAwOCAgIFByb2Nlc3NPbmUKLSslJSUKLSsl JSUgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0 IGFuZC9vcgotKyUlJSBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBhcwotKyUlJSBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUKLSslJSUgTGljZW5zZSwgb3IgKGF0 IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSslJSUKLSslJSUgVGhpcyBwcm9ncmFt IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0rJSUl IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh bnR5IG9mCi0rJSUlIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg UFVSUE9TRS4gIFNlZSB0aGUgR05VCi0rJSUlIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v cmUgZGV0YWlscy4KLSslJSUKLSslJSUgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSslJSUgYWxvbmcgd2l0aCB0aGlzIHBy b2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLSslJSUgRm91bmRhdGlv biwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEKLSslJSUgMDIx MTEtMTMwNyBVU0EKLSslJSUKLSslJSUtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0rCi0rLW1vZHVsZShtb2RfYWRtaW5f ZXh0cmEpLgotKy1hdXRob3IoJ2JhZGxvcEBwcm9jZXNzLW9uZS5uZXQnKS4KLSsKLSstYmVoYXZp b3VyKGdlbl9tb2QpLgotKwotKy1leHBvcnQoW3N0YXJ0LzIsIHN0b3AvMSwKLSsJICUlIE5vZGUK LSsJIGNvbXBpbGUvMSwKLSsJIGxvYWRfY29uZmlnLzEsCi0rCSBnZXRfY29va2llLzAsCi0rCSBy ZW1vdmVfbm9kZS8xLAotKwkgZXhwb3J0Mm9kYmMvMiwKLSsJICUlIEFjY291bnRzCi0rCSBzZXRf cGFzc3dvcmQvMywKLSsJIGNoZWNrX3Bhc3N3b3JkX2hhc2gvNCwKLSsJIGRlbGV0ZV9vbGRfdXNl cnMvMSwKLSsJIGRlbGV0ZV9vbGRfdXNlcnNfdmhvc3QvMiwKLSsJIGJhbl9hY2NvdW50LzMsCi0r CSBudW1fYWN0aXZlX3VzZXJzLzIsCi0rCSAlJSBTZXNzaW9ucwotKwkgbnVtX3Jlc291cmNlcy8y LAotKwkgcmVzb3VyY2VfbnVtLzMsCi0rCSBraWNrX3Nlc3Npb24vNCwKLSsJIHN0YXR1c19udW0v Miwgc3RhdHVzX251bS8xLAotKwkgc3RhdHVzX2xpc3QvMiwgc3RhdHVzX2xpc3QvMSwKLSsJIGNv bm5lY3RlZF91c2Vyc19pbmZvLzAsCi0rCSBjb25uZWN0ZWRfdXNlcnNfdmhvc3QvMSwKLSsJIHNl dF9wcmVzZW5jZS83LAotKwkgdXNlcl9zZXNzaW9uc19pbmZvLzIsCi0rCSAlJSBWY2FyZAotKwkg c2V0X25pY2tuYW1lLzMsCi0rCSBnZXRfdmNhcmQvMywKLSsJIGdldF92Y2FyZC80LAotKwkgZ2V0 X3ZjYXJkX211bHRpLzQsCi0rCSBzZXRfdmNhcmQvNCwKLSsJIHNldF92Y2FyZC81LAotKwkgJSUg Um9zdGVyCi0rCSBhZGRfcm9zdGVyaXRlbS83LAotKwkgZGVsZXRlX3Jvc3Rlcml0ZW0vNCwKLSsJ IHByb2Nlc3Nfcm9zdGVyaXRlbXMvNSwKLSsJIGdldF9yb3N0ZXIvMiwKLSsJIHB1c2hfcm9zdGVy LzMsCi0rCSBwdXNoX3Jvc3Rlcl9hbGwvMSwKLSsJIHB1c2hfYWxsdG9hbGwvMiwKLSsJICUlIG1v ZF9sYXN0Ci0rCSBnZXRfbGFzdC8yLAotKwkgc2V0X2xhc3QvNCwKLSsJICUlIG1vZF9wcml2YXRl Ci0rCSBwcml2YXRlX2dldC80LAotKwkgcHJpdmF0ZV9zZXQvMywKLSsJICUlIG1vZF9zaGFyZWRf cm9zdGVyCi0rCSBzcmdfY3JlYXRlLzUsCi0rCSBzcmdfZGVsZXRlLzIsCi0rCSBzcmdfbGlzdC8x LAotKwkgc3JnX2dldF9pbmZvLzIsCi0rCSBzcmdfZ2V0X21lbWJlcnMvMiwKLSsJIHNyZ191c2Vy X2FkZC80LAotKwkgc3JnX3VzZXJfZGVsLzQsCi0rCSAlJSBTdGFuemEKLSsJIHNlbmRfbWVzc2Fn ZV9oZWFkbGluZS80LAotKwkgc2VuZF9tZXNzYWdlX2NoYXQvMywKLSsJIHNlbmRfc3RhbnphX2My cy80LAotKwkgcHJpdmFjeV9zZXQvMywKLSsJICUlIFN0YXRzCi0rCSBzdGF0cy8xLCBzdGF0cy8y Ci0rCV0pLgotKwotKy1pbmNsdWRlKCJlamFiYmVyZC5ocmwiKS4KLSstaW5jbHVkZSgiZWphYmJl cmRfY29tbWFuZHMuaHJsIikuCi0rLWluY2x1ZGUoIm1vZF9yb3N0ZXIuaHJsIikuCi0rLWluY2x1 ZGUoImpsaWIuaHJsIikuCi0rCi0rJSUgQ29waWVkIGZyb20gZWphYmJlcmRfc20uZXJsCi0rLXJl Y29yZChzZXNzaW9uLCB7c2lkLCB1c3IsIHVzLCBwcmlvcml0eSwgaW5mb30pLgotKwotKwotKyUl JQotKyUlJSBnZW5fbW9kCi0rJSUlCi0rCi0rc3RhcnQoX0hvc3QsIF9PcHRzKSAtPgotKyAgICBl amFiYmVyZF9jb21tYW5kczpyZWdpc3Rlcl9jb21tYW5kcyhjb21tYW5kcygpKS4KLSsKLStzdG9w KF9Ib3N0KSAtPgotKyAgICBlamFiYmVyZF9jb21tYW5kczp1bnJlZ2lzdGVyX2NvbW1hbmRzKGNv bW1hbmRzKCkpLgotKwotKwotKyUlJQotKyUlJSBSZWdpc3RlciBjb21tYW5kcwotKyUlJQotKwot K2NvbW1hbmRzKCkgLT4KLSsgICAgVmNhcmQxRmllbGRzU3RyaW5nID0gIlNvbWUgdmNhcmQgZmll bGQgbmFtZXMgaW4gZ2V0L3NldF92Y2FyZCBhcmU6XG4iCi0rCSIgRk4JCS0gRnVsbCBOYW1lXG4i Ci0rCSIgTklDS05BTUUJLSBOaWNrbmFtZVxuIgotKwkiIEJEQVkJCS0gQmlydGhkYXlcbiIKLSsJ IiBUSVRMRQkJLSBXb3JrOiBQb3NpdGlvblxuIgotKwkiIFJPTEUJCS0gV29yazogUm9sZSIsCi0r Ci0rICAgIFZjYXJkMkZpZWxkc1N0cmluZyA9ICJTb21lIHZjYXJkIGZpZWxkIG5hbWVzIGFuZCBz dWJuYW1lcyBpbiBnZXQvc2V0X3ZjYXJkMiBhcmU6XG4iCi0rCSIgTiBGQU1JTFkJLSBGYW1pbHkg bmFtZVxuIgotKwkiIE4gR0lWRU4JLSBHaXZlbiBuYW1lXG4iCi0rCSIgTiBNSURETEUJLSBNaWRk bGUgbmFtZVxuIgotKwkiIEFEUiBDVFJZCS0gQWRkcmVzczogQ291bnRyeVxuIgotKwkiIEFEUiBM T0NBTElUWQktIEFkZHJlc3M6IENpdHlcbiIKLSsJIiBFTUFJTCBVU0VSSUQJLSBFLU1haWwgQWRk cmVzc1xuIgotKwkiIE9SRyBPUkdOQU1FCS0gV29yazogQ29tcGFueVxuIgotKwkiIE9SRyBPUkdV TklUCS0gV29yazogRGVwYXJ0bWVudCIsCi0rCi0rICAgIFZjYXJkWEVQID0gIkZvciBhIGZ1bGwg bGlzdCBvZiB2Q2FyZCBmaWVsZHMgY2hlY2sgWEVQLTAwNTQ6IHZjYXJkLXRlbXAgYXQgIgotKwki aHR0cDovL3d3dy54bXBwLm9yZy9leHRlbnNpb25zL3hlcC0wMDU0Lmh0bWwiLAotKwotKyAgICBb Ci0rICAgICAjZWphYmJlcmRfY29tbWFuZHN7bmFtZSA9IGNvbXBpbGUsIHRhZ3MgPSBbZXJsYW5n XSwKLSsJCQlkZXNjID0gIlJlY29tcGlsZSBhbmQgcmVsb2FkIEVybGFuZyBzb3VyY2UgY29kZSBm aWxlIiwKLSsJCQltb2R1bGUgPSA/TU9EVUxFLCBmdW5jdGlvbiA9IGNvbXBpbGUsCi0rCQkJYXJn cyA9IFt7ZmlsZSwgc3RyaW5nfV0sCi0rCQkJcmVzdWx0ID0ge3JlcywgcmVzY29kZX19LAotKyAg ICAgI2VqYWJiZXJkX2NvbW1hbmRze25hbWUgPSBsb2FkX2NvbmZpZywgdGFncyA9IFtzZXJ2ZXJd LAotKwkJCWRlc2MgPSAiTG9hZCBlamFiYmVyZCBjb25maWd1cmF0aW9uIGZpbGUiLAotKwkJCW1v ZHVsZSA9ID9NT0RVTEUsIGZ1bmN0aW9uID0gbG9hZF9jb25maWcsCi0rCQkJYXJncyA9IFt7Zmls ZSwgc3RyaW5nfV0sCi0rCQkJcmVzdWx0ID0ge3JlcywgcmVzY29kZX19LAotKyAgICAgI2VqYWJi ZXJkX2NvbW1hbmRze25hbWUgPSBnZXRfY29va2llLCB0YWdzID0gW2VybGFuZ10sCi0rCQkJZGVz YyA9ICJHZXQgdGhlIEVybGFuZyBjb29raWUgb2YgdGhpcyBub2RlIiwKLSsJCQltb2R1bGUgPSA/ TU9EVUxFLCBmdW5jdGlvbiA9IGdldF9jb29raWUsCi0rCQkJYXJncyA9IFtdLAotKwkJCXJlc3Vs dCA9IHtjb29raWUsIHN0cmluZ319LAotKyAgICAgI2VqYWJiZXJkX2NvbW1hbmRze25hbWUgPSBy ZW1vdmVfbm9kZSwgdGFncyA9IFtlcmxhbmddLAotKwkJCWRlc2MgPSAiUmVtb3ZlIGFuIGVqYWJi ZXJkIG5vZGUgZnJvbSBNbmVzaWEgY2x1c3RlcmluZyBjb25maWciLAotKwkJCW1vZHVsZSA9ID9N T0RVTEUsIGZ1bmN0aW9uID0gcmVtb3ZlX25vZGUsCi0rCQkJYXJncyA9IFt7bm9kZSwgc3RyaW5n fV0sCi0rCQkJcmVzdWx0ID0ge3JlcywgcmVzY29kZX19LAotKyAgICAgI2VqYWJiZXJkX2NvbW1h bmRze25hbWUgPSBleHBvcnQyb2RiYywgdGFncyA9IFttbmVzaWFdLCAlJSBDb3BpZWQgdG8gZWph YmJlcmQgMi4xLnggYWZ0ZXIgMTEKLSsJCQlkZXNjID0gIkV4cG9ydCBNbmVzaWEgdGFibGVzIHRv IGZpbGVzIGluIGRpcmVjdG9yeSIsCi0rCQkJbW9kdWxlID0gP01PRFVMRSwgZnVuY3Rpb24gPSBl eHBvcnQyb2RiYywKLSsJCQlhcmdzID0gW3tob3N0LCBzdHJpbmd9LCB7cGF0aCwgc3RyaW5nfV0s Ci0rCQkJcmVzdWx0ID0ge3JlcywgcmVzY29kZX19LAotKwotKyAgICAgI2VqYWJiZXJkX2NvbW1h bmRze25hbWUgPSBudW1fYWN0aXZlX3VzZXJzLCB0YWdzID0gW2FjY291bnRzLCBzdGF0c10sCi0r CQkJZGVzYyA9ICJHZXQgbnVtYmVyIG9mIHVzZXJzIGFjdGl2ZSBpbiB0aGUgbGFzdCBkYXlzIiwK LSsJCQltb2R1bGUgPSA/TU9EVUxFLCBmdW5jdGlvbiA9IG51bV9hY3RpdmVfdXNlcnMsCi0rCQkJ YXJncyA9IFt7aG9zdCwgYmluYXJ5fSwge2RheXMsIGludGVnZXJ9XSwKLSsJCQlyZXN1bHQgPSB7 dXNlcnMsIGludGVnZXJ9fSwKLSsgICAgICNlamFiYmVyZF9jb21tYW5kc3tuYW1lID0gZGVsZXRl X29sZF91c2VycywgdGFncyA9IFthY2NvdW50cywgcHVyZ2VdLAotKwkJCWRlc2MgPSAiRGVsZXRl IHVzZXJzIHRoYXQgZGlkbid0IGxvZyBpbiBsYXN0IGRheXMsIG9yIHRoYXQgbmV2ZXIgbG9nZ2Vk IiwKLSsJCQltb2R1bGUgPSA/TU9EVUxFLCBmdW5jdGlvbiA9IGRlbGV0ZV9vbGRfdXNlcnMsCi0r CQkJYXJncyA9IFt7ZGF5cywgaW50ZWdlcn1dLAotKwkJCXJlc3VsdCA9IHtyZXMsIHJlc3R1cGxl fX0sCi0rICAgICAjZWphYmJlcmRfY29tbWFuZHN7bmFtZSA9IGRlbGV0ZV9vbGRfdXNlcnNfdmhv c3QsIHRhZ3MgPSBbYWNjb3VudHMsIHB1cmdlXSwKLSsJCQlkZXNjID0gIkRlbGV0ZSB1c2VycyB0 aGF0IGRpZG4ndCBsb2cgaW4gbGFzdCBkYXlzIGluIHZob3N0LCBvciB0aGF0IG5ldmVyIGxvZ2dl ZCIsCi0rCQkJbW9kdWxlID0gP01PRFVMRSwgZnVuY3Rpb24gPSBkZWxldGVfb2xkX3VzZXJzX3Zo b3N0LAotKwkJCWFyZ3MgPSBbe2hvc3QsIGJpbmFyeX0sIHtkYXlzLCBpbnRlZ2VyfV0sCi0rCQkJ cmVzdWx0ID0ge3JlcywgcmVzdHVwbGV9fSwKLSsKLSsgICAgICNlamFiYmVyZF9jb21tYW5kc3tu YW1lID0gY2hlY2tfYWNjb3VudCwgdGFncyA9IFthY2NvdW50c10sCi0rCQkJZGVzYyA9ICJDaGVj ayBpZiBhbiBhY2NvdW50IGV4aXN0cyBvciBub3QiLAotKwkJCW1vZHVsZSA9IGVqYWJiZXJkX2F1 dGgsIGZ1bmN0aW9uID0gaXNfdXNlcl9leGlzdHMsCi0rCQkJYXJncyA9IFt7dXNlciwgYmluYXJ5 fSwge2hvc3QsIGJpbmFyeX1dLAotKwkJCXJlc3VsdCA9IHtyZXMsIHJlc2NvZGV9fSwKLSsgICAg ICNlamFiYmVyZF9jb21tYW5kc3tuYW1lID0gY2hlY2tfcGFzc3dvcmQsIHRhZ3MgPSBbYWNjb3Vu dHNdLAotKwkJCWRlc2MgPSAiQ2hlY2sgaWYgYSBwYXNzd29yZCBpcyBjb3JyZWN0IiwKLSsJCQlt b2R1bGUgPSBlamFiYmVyZF9hdXRoLCBmdW5jdGlvbiA9IGNoZWNrX3Bhc3N3b3JkLAotKwkJCWFy Z3MgPSBbe3VzZXIsIGJpbmFyeX0sIHtob3N0LCBiaW5hcnl9LCB7cGFzc3dvcmQsIGJpbmFyeX1d LAotKwkJCXJlc3VsdCA9IHtyZXMsIHJlc2NvZGV9fSwKLSsgICAgICNlamFiYmVyZF9jb21tYW5k c3tuYW1lID0gY2hlY2tfcGFzc3dvcmRfaGFzaCwgdGFncyA9IFthY2NvdW50c10sCi0rCQkJZGVz YyA9ICJDaGVjayBpZiB0aGUgcGFzc3dvcmQgaGFzaCBpcyBjb3JyZWN0IiwKLSsJCQlsb25nZGVz YyA9ICJBbGxvd2VkIGhhc2ggbWV0aG9kczogbWQ1LCBzaGEuIiwKLSsJCQltb2R1bGUgPSA/TU9E VUxFLCBmdW5jdGlvbiA9IGNoZWNrX3Bhc3N3b3JkX2hhc2gsCi0rCQkJYXJncyA9IFt7dXNlciwg YmluYXJ5fSwge2hvc3QsIGJpbmFyeX0sIHtwYXNzd29yZGhhc2gsIGJpbmFyeX0sIHtoYXNobWV0 aG9kLCBiaW5hcnl9XSwKLSsJCQlyZXN1bHQgPSB7cmVzLCByZXNjb2RlfX0sCi0rICAgICAjZWph YmJlcmRfY29tbWFuZHN7bmFtZSA9IGNoYW5nZV9wYXNzd29yZCwgdGFncyA9IFthY2NvdW50c10s Ci0rCQkJZGVzYyA9ICJDaGFuZ2UgdGhlIHBhc3N3b3JkIG9mIGFuIGFjY291bnQiLAotKwkJCW1v ZHVsZSA9ID9NT0RVTEUsIGZ1bmN0aW9uID0gc2V0X3Bhc3N3b3JkLAotKwkJCWFyZ3MgPSBbe3Vz ZXIsIGJpbmFyeX0sIHtob3N0LCBiaW5hcnl9LCB7bmV3cGFzcywgYmluYXJ5fV0sCi0rCQkJcmVz dWx0ID0ge3JlcywgcmVzY29kZX19LAotKyAgICAgI2VqYWJiZXJkX2NvbW1hbmRze25hbWUgPSBi YW5fYWNjb3VudCwgdGFncyA9IFthY2NvdW50c10sCi0rCQkJZGVzYyA9ICJCYW4gYW4gYWNjb3Vu dDoga2ljayBzZXNzaW9ucyBhbmQgc2V0IHJhbmRvbSBwYXNzd29yZCIsCi0rCQkJbW9kdWxlID0g P01PRFVMRSwgZnVuY3Rpb24gPSBiYW5fYWNjb3VudCwKLSsJCQlhcmdzID0gW3t1c2VyLCBiaW5h cnl9LCB7aG9zdCwgYmluYXJ5fSwge3JlYXNvbiwgYmluYXJ5fV0sCi0rCQkJcmVzdWx0ID0ge3Jl cywgcmVzY29kZX19LAotKwotKyAgICAgI2VqYWJiZXJkX2NvbW1hbmRze25hbWUgPSBudW1fcmVz b3VyY2VzLCB0YWdzID0gW3Nlc3Npb25dLAotKwkJCWRlc2MgPSAiR2V0IHRoZSBudW1iZXIgb2Yg cmVzb3VyY2VzIG9mIGEgdXNlciIsCi0rCQkJbW9kdWxlID0gP01PRFVMRSwgZnVuY3Rpb24gPSBu dW1fcmVzb3VyY2VzLAotKwkJCWFyZ3MgPSBbe3VzZXIsIGJpbmFyeX0sIHtob3N0LCBiaW5hcnl9 XSwKLSsJCQlyZXN1bHQgPSB7cmVzb3VyY2VzLCBpbnRlZ2VyfX0sCi0rICAgICAjZWphYmJlcmRf Y29tbWFuZHN7bmFtZSA9IHJlc291cmNlX251bSwgdGFncyA9IFtzZXNzaW9uXSwKLSsJCQlkZXNj ID0gIlJlc291cmNlIHN0cmluZyBvZiBhIHNlc3Npb24gbnVtYmVyIiwKLSsJCQltb2R1bGUgPSA/ TU9EVUxFLCBmdW5jdGlvbiA9IHJlc291cmNlX251bSwKLSsJCQlhcmdzID0gW3t1c2VyLCBiaW5h cnl9LCB7aG9zdCwgYmluYXJ5fSwge251bSwgaW50ZWdlcn1dLAotKwkJCXJlc3VsdCA9IHtyZXNv dXJjZSwgc3RyaW5nfX0sCi0rICAgICAjZWphYmJlcmRfY29tbWFuZHN7bmFtZSA9IGtpY2tfc2Vz c2lvbiwgdGFncyA9IFtzZXNzaW9uXSwKLSsJCQlkZXNjID0gIktpY2sgYSB1c2VyIHNlc3Npb24i LAotKwkJCW1vZHVsZSA9ID9NT0RVTEUsIGZ1bmN0aW9uID0ga2lja19zZXNzaW9uLAotKwkJCWFy Z3MgPSBbe3VzZXIsIGJpbmFyeX0sIHtob3N0LCBiaW5hcnl9LCB7cmVzb3VyY2UsIGJpbmFyeX0s IHtyZWFzb24sIGJpbmFyeX1dLAotKwkJCXJlc3VsdCA9IHtyZXMsIHJlc2NvZGV9fSwKLSsgICAg ICNlamFiYmVyZF9jb21tYW5kc3tuYW1lID0gc3RhdHVzX251bV9ob3N0LCB0YWdzID0gW3Nlc3Np b24sIHN0YXRzXSwKLSsJCQlkZXNjID0gIk51bWJlciBvZiBsb2dnZWQgdXNlcnMgd2l0aCB0aGlz IHN0YXR1cyBpbiBob3N0IiwKLSsJCQltb2R1bGUgPSA/TU9EVUxFLCBmdW5jdGlvbiA9IHN0YXR1 c19udW0sCi0rCQkJYXJncyA9IFt7aG9zdCwgYmluYXJ5fSwge3N0YXR1cywgYmluYXJ5fV0sCi0r CQkJcmVzdWx0ID0ge3VzZXJzLCBpbnRlZ2VyfX0sCi0rICAgICAjZWphYmJlcmRfY29tbWFuZHN7 bmFtZSA9IHN0YXR1c19udW0sIHRhZ3MgPSBbc2Vzc2lvbiwgc3RhdHNdLAotKwkJCWRlc2MgPSAi TnVtYmVyIG9mIGxvZ2dlZCB1c2VycyB3aXRoIHRoaXMgc3RhdHVzIiwKLSsJCQltb2R1bGUgPSA/ TU9EVUxFLCBmdW5jdGlvbiA9IHN0YXR1c19udW0sCi0rCQkJYXJncyA9IFt7c3RhdHVzLCBiaW5h cnl9XSwKLSsJCQlyZXN1bHQgPSB7dXNlcnMsIGludGVnZXJ9fSwKLSsgICAgICNlamFiYmVyZF9j b21tYW5kc3tuYW1lID0gc3RhdHVzX2xpc3RfaG9zdCwgdGFncyA9IFtzZXNzaW9uXSwKLSsJCQlk ZXNjID0gIkxpc3Qgb2YgdXNlcnMgbG9nZ2VkIGluIGhvc3Qgd2l0aCB0aGVpciBzdGF0dXNlcyIs Ci0rCQkJbW9kdWxlID0gP01PRFVMRSwgZnVuY3Rpb24gPSBzdGF0dXNfbGlzdCwKLSsJCQlhcmdz ID0gW3tob3N0LCBiaW5hcnl9LCB7c3RhdHVzLCBiaW5hcnl9XSwKLSsJCQlyZXN1bHQgPSB7dXNl cnMsIHtsaXN0LAotKwkJCQkJICB7dXNlcnN0YXR1cywge3R1cGxlLCBbCi0rCQkJCQkJCQl7dXNl ciwgc3RyaW5nfSwKLSsJCQkJCQkJCXtob3N0LCBzdHJpbmd9LAotKwkJCQkJCQkJe3Jlc291cmNl LCBzdHJpbmd9LAotKwkJCQkJCQkJe3ByaW9yaXR5LCBpbnRlZ2VyfSwKLSsJCQkJCQkJCXtzdGF0 dXMsIHN0cmluZ30KLSsJCQkJCQkJICAgICAgIF19fQotKwkJCQkJIH19fSwKLSsgICAgICNlamFi YmVyZF9jb21tYW5kc3tuYW1lID0gc3RhdHVzX2xpc3QsIHRhZ3MgPSBbc2Vzc2lvbl0sCi0rCQkJ ZGVzYyA9ICJMaXN0IG9mIGxvZ2dlZCB1c2VycyB3aXRoIHRoaXMgc3RhdHVzIiwKLSsJCQltb2R1 bGUgPSA/TU9EVUxFLCBmdW5jdGlvbiA9IHN0YXR1c19saXN0LAotKwkJCWFyZ3MgPSBbe3N0YXR1 cywgYmluYXJ5fV0sCi0rCQkJcmVzdWx0ID0ge3VzZXJzLCB7bGlzdCwKLSsJCQkJCSAge3VzZXJz dGF0dXMsIHt0dXBsZSwgWwotKwkJCQkJCQkJe3VzZXIsIHN0cmluZ30sCi0rCQkJCQkJCQl7aG9z dCwgc3RyaW5nfSwKLSsJCQkJCQkJCXtyZXNvdXJjZSwgc3RyaW5nfSwKLSsJCQkJCQkJCXtwcmlv cml0eSwgaW50ZWdlcn0sCi0rCQkJCQkJCQl7c3RhdHVzLCBzdHJpbmd9Ci0rCQkJCQkJCSAgICAg ICBdfX0KLSsJCQkJCSB9fX0sCi0rICAgICAjZWphYmJlcmRfY29tbWFuZHN7bmFtZSA9IGNvbm5l Y3RlZF91c2Vyc19pbmZvLAotKwkJCXRhZ3MgPSBbc2Vzc2lvbl0sCi0rCQkJZGVzYyA9ICJMaXN0 IGFsbCBlc3RhYmxpc2hlZCBzZXNzaW9ucyBhbmQgdGhlaXIgaW5mb3JtYXRpb24iLAotKwkJCW1v ZHVsZSA9ID9NT0RVTEUsIGZ1bmN0aW9uID0gY29ubmVjdGVkX3VzZXJzX2luZm8sCi0rCQkJYXJn cyA9IFtdLAotKwkJCXJlc3VsdCA9IHtjb25uZWN0ZWRfdXNlcnNfaW5mbywKLSsJCQkJICB7bGlz dCwKLSsJCQkJICAge3Nlc3Npb25zLCB7dHVwbGUsCi0rCQkJCQkgICAgICAgW3tqaWQsIHN0cmlu Z30sCi0rCQkJCQkJe2Nvbm5lY3Rpb24sIHN0cmluZ30sCi0rCQkJCQkJe2lwLCBzdHJpbmd9LAot KwkJCQkJCXtwb3J0LCBpbnRlZ2VyfSwKLSsJCQkJCQl7cHJpb3JpdHksIGludGVnZXJ9LAotKwkJ CQkJCXtub2RlLCBzdHJpbmd9LAotKwkJCQkJCXt1cHRpbWUsIGludGVnZXJ9Ci0rCQkJCQkgICAg ICAgXX19Ci0rCQkJCSAgfX19LAotKyAgICAgI2VqYWJiZXJkX2NvbW1hbmRze25hbWUgPSBjb25u ZWN0ZWRfdXNlcnNfdmhvc3QsCi0rICAgICAgICAgICAgICAgICAgICAgICB0YWdzID0gW3Nlc3Np b25dLAotKyAgICAgICAgICAgICAgICAgICAgICAgZGVzYyA9ICJHZXQgdGhlIGxpc3Qgb2YgZXN0 YWJsaXNoZWQgc2Vzc2lvbnMgaW4gYSB2aG9zdCIsCi0rICAgICAgICAgICAgICAgICAgICAgICBt b2R1bGUgPSA/TU9EVUxFLCBmdW5jdGlvbiA9IGNvbm5lY3RlZF91c2Vyc192aG9zdCwKLSsgICAg ICAgICAgICAgICAgICAgICAgIGFyZ3MgPSBbe2hvc3QsIHN0cmluZ31dLAotKyAgICAgICAgICAg ICAgICAgICAgICAgcmVzdWx0ID0ge2Nvbm5lY3RlZF91c2Vyc192aG9zdCwge2xpc3QsIHtzZXNz aW9ucywgc3RyaW5nfX19fSwKLSsgICAgICNlamFiYmVyZF9jb21tYW5kc3tuYW1lID0gdXNlcl9z ZXNzaW9uc19pbmZvLAotKwkJCXRhZ3MgPSBbc2Vzc2lvbl0sCi0rCQkJZGVzYyA9ICJHZXQgaW5m b3JtYXRpb24gYWJvdXQgYWxsIHNlc3Npb25zIG9mIGEgdXNlciIsCi0rCQkJbW9kdWxlID0gP01P RFVMRSwgZnVuY3Rpb24gPSB1c2VyX3Nlc3Npb25zX2luZm8sCi0rCQkJYXJncyA9IFt7dXNlciwg c3RyaW5nfSwge2hvc3QsIHN0cmluZ31dLAotKwkJCXJlc3VsdCA9IHtzZXNzaW9uc19pbmZvLAot KwkJCQkgIHtsaXN0LAotKwkJCQkgICB7c2Vzc2lvbiwge3R1cGxlLAotKwkJCQkJICAgICAgW3tj b25uZWN0aW9uLCBzdHJpbmd9LAotKwkJCQkJICAgICAgIHtpcCwgc3RyaW5nfSwKLSsJCQkJCSAg ICAgICB7cG9ydCwgaW50ZWdlcn0sCi0rCQkJCQkgICAgICAge3ByaW9yaXR5LCBpbnRlZ2VyfSwK LSsJCQkJCSAgICAgICB7bm9kZSwgc3RyaW5nfSwKLSsJCQkJCSAgICAgICB7dXB0aW1lLCBpbnRl Z2VyfSwKLSsJCQkJCSAgICAgICB7c3RhdHVzLCBzdHJpbmd9LAotKwkJCQkJICAgICAgIHtyZXNv dXJjZSwgc3RyaW5nfSwKLSsJCQkJCSAgICAgICB7c3RhdHVzdGV4dCwgc3RyaW5nfQotKwkJCQkJ ICAgICAgXX19Ci0rCQkJCSAgfX19LAotKwotKyAgICAgI2VqYWJiZXJkX2NvbW1hbmRze25hbWUg PSBzZXRfcHJlc2VuY2UsCi0rCQkJdGFncyA9IFtzZXNzaW9uXSwKLSsJCQlkZXNjID0gIlNldCBw cmVzZW5jZSBvZiBhIHNlc3Npb24iLAotKwkJCW1vZHVsZSA9ID9NT0RVTEUsIGZ1bmN0aW9uID0g c2V0X3ByZXNlbmNlLAotKwkJCWFyZ3MgPSBbe3VzZXIsIHN0cmluZ30sIHtob3N0LCBzdHJpbmd9 LAotKwkJCQl7cmVzb3VyY2UsIHN0cmluZ30sIHt0eXBlLCBzdHJpbmd9LAotKwkJCQl7c2hvdywg c3RyaW5nfSwge3N0YXR1cywgc3RyaW5nfSwKLSsJCQkJe3ByaW9yaXR5LCBzdHJpbmd9XSwKLSsJ CQlyZXN1bHQgPSB7cmVzLCByZXNjb2RlfX0sCi0rCi0rICAgICAjZWphYmJlcmRfY29tbWFuZHN7 bmFtZSA9IHNldF9uaWNrbmFtZSwgdGFncyA9IFt2Y2FyZF0sCi0rCQkJZGVzYyA9ICJTZXQgbmlj a25hbWUgaW4gYSB1c2VyJ3MgdkNhcmQiLAotKwkJCW1vZHVsZSA9ID9NT0RVTEUsIGZ1bmN0aW9u ID0gc2V0X25pY2tuYW1lLAotKwkJCWFyZ3MgPSBbe3VzZXIsIHN0cmluZ30sIHtob3N0LCBzdHJp bmd9LCB7bmlja25hbWUsIHN0cmluZ31dLAotKwkJCXJlc3VsdCA9IHtyZXMsIHJlc2NvZGV9fSwK LSsKLSsgICAgICNlamFiYmVyZF9jb21tYW5kc3tuYW1lID0gZ2V0X3ZjYXJkLCB0YWdzID0gW3Zj YXJkXSwKLSsJCQlkZXNjID0gIkdldCBjb250ZW50IGZyb20gYSB2Q2FyZCBmaWVsZCIsCi0rCQkJ bG9uZ2Rlc2MgPSBWY2FyZDFGaWVsZHNTdHJpbmcgKysgIlxuIiArKyBWY2FyZDJGaWVsZHNTdHJp bmcgKysgIlxuXG4iICsrIFZjYXJkWEVQLAotKwkJCW1vZHVsZSA9ID9NT0RVTEUsIGZ1bmN0aW9u ID0gZ2V0X3ZjYXJkLAotKwkJCWFyZ3MgPSBbe3VzZXIsIGJpbmFyeX0sIHtob3N0LCBiaW5hcnl9 LCB7bmFtZSwgYmluYXJ5fV0sCi0rCQkJcmVzdWx0ID0ge2NvbnRlbnQsIHN0cmluZ319LAotKyAg ICAgI2VqYWJiZXJkX2NvbW1hbmRze25hbWUgPSBnZXRfdmNhcmQyLCB0YWdzID0gW3ZjYXJkXSwK LSsJCQlkZXNjID0gIkdldCBjb250ZW50IGZyb20gYSB2Q2FyZCBmaWVsZCIsCi0rCQkJbG9uZ2Rl c2MgPSBWY2FyZDJGaWVsZHNTdHJpbmcgKysgIlxuXG4iICsrIFZjYXJkMUZpZWxkc1N0cmluZyAr KyAiXG4iICsrIFZjYXJkWEVQLAotKwkJCW1vZHVsZSA9ID9NT0RVTEUsIGZ1bmN0aW9uID0gZ2V0 X3ZjYXJkLAotKwkJCWFyZ3MgPSBbe3VzZXIsIGJpbmFyeX0sIHtob3N0LCBiaW5hcnl9LCB7bmFt ZSwgYmluYXJ5fSwge3N1Ym5hbWUsIGJpbmFyeX1dLAotKwkJCXJlc3VsdCA9IHtjb250ZW50LCBz dHJpbmd9fSwKLSsgICAgICNlamFiYmVyZF9jb21tYW5kc3tuYW1lID0gZ2V0X3ZjYXJkMl9tdWx0 aSwgdGFncyA9IFt2Y2FyZF0sCi0rCQkJZGVzYyA9ICJHZXQgbXVsdGlwbGUgY29udGVudHMgZnJv bSBhIHZDYXJkIGZpZWxkIChyZXF1aXJlcyBleG1wcCBpbnN0YWxsZWQpIiwKLSsJCQlsb25nZGVz YyA9IFZjYXJkMkZpZWxkc1N0cmluZyArKyAiXG5cbiIgKysgVmNhcmQxRmllbGRzU3RyaW5nICsr ICJcbiIgKysgVmNhcmRYRVAsCi0rCQkJbW9kdWxlID0gP01PRFVMRSwgZnVuY3Rpb24gPSBnZXRf dmNhcmRfbXVsdGksCi0rCQkJYXJncyA9IFt7dXNlciwgYmluYXJ5fSwge2hvc3QsIGJpbmFyeX0s IHtuYW1lLCBiaW5hcnl9LCB7c3VibmFtZSwgYmluYXJ5fV0sCi0rCQkJcmVzdWx0ID0ge2NvbnRl bnRzLCB7bGlzdCwgc3RyaW5nfX19LAotKwotKyAgICAgI2VqYWJiZXJkX2NvbW1hbmRze25hbWUg PSBzZXRfdmNhcmQsIHRhZ3MgPSBbdmNhcmRdLAotKwkJCWRlc2MgPSAiU2V0IGNvbnRlbnQgaW4g YSB2Q2FyZCBmaWVsZCIsCi0rCQkJbG9uZ2Rlc2MgPSBWY2FyZDFGaWVsZHNTdHJpbmcgKysgIlxu IiArKyBWY2FyZDJGaWVsZHNTdHJpbmcgKysgIlxuXG4iICsrIFZjYXJkWEVQLAotKwkJCW1vZHVs ZSA9ID9NT0RVTEUsIGZ1bmN0aW9uID0gc2V0X3ZjYXJkLAotKwkJCWFyZ3MgPSBbe3VzZXIsIGJp bmFyeX0sIHtob3N0LCBiaW5hcnl9LCB7bmFtZSwgYmluYXJ5fSwge2NvbnRlbnQsIGJpbmFyeX1d LAotKwkJCXJlc3VsdCA9IHtyZXMsIHJlc2NvZGV9fSwKLSsgICAgICNlamFiYmVyZF9jb21tYW5k c3tuYW1lID0gc2V0X3ZjYXJkMiwgdGFncyA9IFt2Y2FyZF0sCi0rCQkJZGVzYyA9ICJTZXQgY29u dGVudCBpbiBhIHZDYXJkIHN1YmZpZWxkIiwKLSsJCQlsb25nZGVzYyA9IFZjYXJkMkZpZWxkc1N0 cmluZyArKyAiXG5cbiIgKysgVmNhcmQxRmllbGRzU3RyaW5nICsrICJcbiIgKysgVmNhcmRYRVAs Ci0rCQkJbW9kdWxlID0gP01PRFVMRSwgZnVuY3Rpb24gPSBzZXRfdmNhcmQsCi0rCQkJYXJncyA9 IFt7dXNlciwgYmluYXJ5fSwge2hvc3QsIGJpbmFyeX0sIHtuYW1lLCBiaW5hcnl9LCB7c3VibmFt ZSwgYmluYXJ5fSwge2NvbnRlbnQsIGJpbmFyeX1dLAotKwkJCXJlc3VsdCA9IHtyZXMsIHJlc2Nv ZGV9fSwKLSsgICAgICNlamFiYmVyZF9jb21tYW5kc3tuYW1lID0gc2V0X3ZjYXJkMl9tdWx0aSwg dGFncyA9IFt2Y2FyZF0sCi0rCQkJZGVzYyA9ICJTZXQgbXVsdGlwbGUgY29udGVudHMgaW4gYSB2 Q2FyZCBzdWJmaWVsZCIsCi0rCQkJbG9uZ2Rlc2MgPSBWY2FyZDJGaWVsZHNTdHJpbmcgKysgIlxu XG4iICsrIFZjYXJkMUZpZWxkc1N0cmluZyArKyAiXG4iICsrIFZjYXJkWEVQLAotKwkJCW1vZHVs ZSA9ID9NT0RVTEUsIGZ1bmN0aW9uID0gc2V0X3ZjYXJkLAotKwkJCWFyZ3MgPSBbe3VzZXIsIGJp bmFyeX0sIHtob3N0LCBiaW5hcnl9LCB7bmFtZSwgYmluYXJ5fSwge3N1Ym5hbWUsIGJpbmFyeX0s IHtjb250ZW50cywge2xpc3QsIGJpbmFyeX19XSwKLSsJCQlyZXN1bHQgPSB7cmVzLCByZXNjb2Rl fX0sCi0rCi0rICAgICAjZWphYmJlcmRfY29tbWFuZHN7bmFtZSA9IGFkZF9yb3N0ZXJpdGVtLCB0 YWdzID0gW3Jvc3Rlcl0sCi0rCQkJZGVzYyA9ICJBZGQgYW4gaXRlbSB0byBhIHVzZXIncyByb3N0 ZXIgKHN1cHBvcnRzIE9EQkMpIiwKLSsJCQltb2R1bGUgPSA/TU9EVUxFLCBmdW5jdGlvbiA9IGFk ZF9yb3N0ZXJpdGVtLAotKwkJCWFyZ3MgPSBbe2xvY2FsdXNlciwgYmluYXJ5fSwge2xvY2Fsc2Vy dmVyLCBiaW5hcnl9LAotKwkJCQl7dXNlciwgYmluYXJ5fSwge3NlcnZlciwgYmluYXJ5fSwKLSsJ CQkJe25pY2ssIGJpbmFyeX0sIHtncm91cCwgYmluYXJ5fSwKLSsJCQkJe3N1YnMsIGJpbmFyeX1d LAotKwkJCXJlc3VsdCA9IHtyZXMsIHJlc2NvZGV9fSwKLSsgICAgICUleyIiLCAic3Vicz0gbm9u ZSwgZnJvbSwgdG8gb3IgYm90aCJ9LAotKyAgICAgJSV7IiIsICJleGFtcGxlOiBhZGQtcm9zdGVy IHBldGVyIGxvY2FsaG9zdCBtaWtlIHNlcnZlci5jb20gTWlLZSBFbXBsb3llZXMgYm90aCJ9LAot KyAgICAgJSV7IiIsICJ3aWxsIGFkZCBtaWtlQHNlcnZlci5jb20gdG8gcGV0ZXJAbG9jYWxob3N0 IHJvc3RlciJ9LAotKyAgICAgI2VqYWJiZXJkX2NvbW1hbmRze25hbWUgPSBkZWxldGVfcm9zdGVy aXRlbSwgdGFncyA9IFtyb3N0ZXJdLAotKwkJCWRlc2MgPSAiRGVsZXRlIGFuIGl0ZW0gZnJvbSBh IHVzZXIncyByb3N0ZXIgKHN1cHBvcnRzIE9EQkMpIiwKLSsJCQltb2R1bGUgPSA/TU9EVUxFLCBm dW5jdGlvbiA9IGRlbGV0ZV9yb3N0ZXJpdGVtLAotKwkJCWFyZ3MgPSBbe2xvY2FsdXNlciwgYmlu YXJ5fSwge2xvY2Fsc2VydmVyLCBiaW5hcnl9LAotKwkJCQl7dXNlciwgYmluYXJ5fSwge3NlcnZl ciwgYmluYXJ5fV0sCi0rCQkJcmVzdWx0ID0ge3JlcywgcmVzY29kZX19LAotKyAgICAgI2VqYWJi ZXJkX2NvbW1hbmRze25hbWUgPSBwcm9jZXNzX3Jvc3Rlcml0ZW1zLCB0YWdzID0gW3Jvc3Rlcl0s Ci0rCQkJZGVzYyA9ICJMaXN0IG9yIGRlbGV0ZSByb3N0ZXJpdGVtcyB0aGF0IG1hdGNoIGZpbHRl cmluZyBvcHRpb25zIiwKLSsJCQlsb25nZGVzYyA9ICJFeHBsYW5hdGlvbiBvZiBlYWNoIGFyZ3Vt ZW50OlxuIgotKwkJCSIgLSBhY3Rpb246IHdoYXQgdG8gZG8gd2l0aCBlYWNoIHJvc3Rlcml0ZW0g dGhhdCAiCi0rCQkJIm1hdGNoZXMgYWxsIHRoZSBmaWx0ZXJpbmcgb3B0aW9uc1xuIgotKwkJCSIg LSBzdWJzOiBzdWJzY3JpcHRpb24gdHlwZVxuIgotKwkJCSIgLSBhc2tzOiBwZW5kaW5nIHN1YnNj cmlwdGlvblxuIgotKwkJCSIgLSB1c2VyczogdGhlIEpJRHMgb2YgdGhlIGxvY2FsIHVzZXJcbiIK LSsJCQkiIC0gY29udGFjdHM6IHRoZSBKSURzIG9mIHRoZSBjb250YWN0IGluIHRoZSByb3N0ZXJc biIKLSsJCQkiXG4iCi0rCQkJIkFsbG93ZWQgdmFsdWVzIGluIHRoZSBhcmd1bWVudHM6XG4iCi0r CQkJIiAgQUNUSU9OID0gbGlzdCB8IGRlbGV0ZVxuIgotKwkJCSIgIFNVQlMgPSBTVUJbOlNVQl0q IHwgYW55XG4iCi0rCQkJIiAgU1VCID0gbm9uZSB8IGZyb20gfCB0byB8IGJvdGhcbiIKLSsJCQki ICBBU0tTID0gQVNLWzpBU0tdKiB8IGFueVxuIgotKwkJCSIgIEFTSyA9IG5vbmUgfCBvdXQgfCBp blxuIgotKwkJCSIgIFVTRVJTID0gSklEWzpKSURdKiB8IGFueVxuIgotKwkJCSIgIENPTlRBQ1RT ID0gSklEWzpKSURdKiB8IGFueVxuIgotKwkJCSIgIEpJRCA9IGNoYXJhY3RlcnMgdmFsaWQgaW4g YSBKSUQsIGFuZCBjYW4gdXNlIHRoZSAiCi0rCQkJImdsb2JzOiAqLCA/LCAhIGFuZCBbLi4uXVxu IgotKwkJCSJcbiIKLSsJCQkiVGhpcyBleGFtcGxlIHdpbGwgbGlzdCByb3N0ZXIgaXRlbXMgd2l0 aCBzdWJzY3JpcHRpb24gIgotKwkJCSInbm9uZScsICdmcm9tJyBvciAndG8nIHRoYXQgaGF2ZSBh bnkgYXNrIHByb3BlcnR5LCBvZiAiCi0rCQkJImxvY2FsIHVzZXJzIHdoaWNoIEpJRCBpcyBpbiB0 aGUgdmlydHVhbCBob3N0ICIKLSsJCQkiJ2V4YW1wbGUub3JnJyBhbmQgdGhhdCB0aGUgY29udGFj dCBKSUQgaXMgZWl0aGVyIGEgIgotKwkJCSJiYXJlIHNlcnZlciBuYW1lICh3aXRob3V0IHVzZXIg cGFydCkgb3IgdGhhdCBoYXMgYSAiCi0rCQkJInVzZXIgcGFydCBhbmQgdGhlIHNlcnZlciBwYXJ0 IGNvbnRhaW5zIHRoZSB3b3JkICdpY3EnIgotKwkJCSI6XG4gIGxpc3Qgbm9uZTpmcm9tOnRvIGFu eSAqQGV4YW1wbGUub3JnICo6KkAqaWNxKiIsCi0rCQkJbW9kdWxlID0gP01PRFVMRSwgZnVuY3Rp b24gPSBwcm9jZXNzX3Jvc3Rlcml0ZW1zLAotKwkJCWFyZ3MgPSBbe2FjdGlvbiwgc3RyaW5nfSwg e3N1YnMsIHN0cmluZ30sCi0rCQkJCXthc2tzLCBzdHJpbmd9LCB7dXNlcnMsIHN0cmluZ30sCi0r CQkJCXtjb250YWN0cywgc3RyaW5nfV0sCi0rCQkJcmVzdWx0ID0ge3Jlc3BvbnNlLAotKwkJCQkg IHtsaXN0LAotKwkJCQkgICB7cGFpcnMsIHt0dXBsZSwKLSsJCQkJCSAgICAgICBbe3VzZXIsIHN0 cmluZ30sCi0rCQkJCQkJe2NvbnRhY3QsIHN0cmluZ30KLSsJCQkJCSAgICAgICBdfX0KLSsJCQkJ ICB9fX0sCi0rICAgICAjZWphYmJlcmRfY29tbWFuZHN7bmFtZSA9IGdldF9yb3N0ZXIsIHRhZ3Mg PSBbcm9zdGVyXSwKLSsJCQlkZXNjID0gIkdldCByb3N0ZXIgb2YgYSBsb2NhbCB1c2VyIiwKLSsJ CQltb2R1bGUgPSA/TU9EVUxFLCBmdW5jdGlvbiA9IGdldF9yb3N0ZXIsCi0rCQkJYXJncyA9IFt7 dXNlciwgYmluYXJ5fSwge2hvc3QsIGJpbmFyeX1dLAotKwkJCXJlc3VsdCA9IHtjb250YWN0cywg e2xpc3QsIHtjb250YWN0LCB7dHVwbGUsIFsKLSsJCQkJCQkJCSAgICAgIHtqaWQsIHN0cmluZ30s Ci0rCQkJCQkJCQkgICAgICB7bmljaywgc3RyaW5nfSwKLSsJCQkJCQkJCSAgICAgIHtzdWJzY3Jp cHRpb24sIHN0cmluZ30sCi0rCQkJCQkJCQkgICAgICB7YXNrLCBzdHJpbmd9LAotKwkJCQkJCQkJ ICAgICAge2dyb3VwLCBzdHJpbmd9Ci0rCQkJCQkJCQkgICAgIF19fX19fSwKLSsgICAgICNlamFi YmVyZF9jb21tYW5kc3tuYW1lID0gcHVzaF9yb3N0ZXIsIHRhZ3MgPSBbcm9zdGVyXSwKLSsJCQlk ZXNjID0gIlB1c2ggdGVtcGxhdGUgcm9zdGVyIGZyb20gZmlsZSB0byBhIHVzZXIiLAotKwkJCW1v ZHVsZSA9ID9NT0RVTEUsIGZ1bmN0aW9uID0gcHVzaF9yb3N0ZXIsCi0rCQkJYXJncyA9IFt7Zmls ZSwgc3RyaW5nfSwge3VzZXIsIHN0cmluZ30sIHtob3N0LCBzdHJpbmd9XSwKLSsJCQlyZXN1bHQg PSB7cmVzLCByZXNjb2RlfX0sCi0rICAgICAjZWphYmJlcmRfY29tbWFuZHN7bmFtZSA9IHB1c2hf cm9zdGVyX2FsbCwgdGFncyA9IFtyb3N0ZXJdLAotKwkJCWRlc2MgPSAiUHVzaCB0ZW1wbGF0ZSBy b3N0ZXIgZnJvbSBmaWxlIHRvIGFsbCB0aG9zZSB1c2VycyIsCi0rCQkJbW9kdWxlID0gP01PRFVM RSwgZnVuY3Rpb24gPSBwdXNoX3Jvc3Rlcl9hbGwsCi0rCQkJYXJncyA9IFt7ZmlsZSwgc3RyaW5n fV0sCi0rCQkJcmVzdWx0ID0ge3JlcywgcmVzY29kZX19LAotKyAgICAgI2VqYWJiZXJkX2NvbW1h bmRze25hbWUgPSBwdXNoX2FsbHRvYWxsLCB0YWdzID0gW3Jvc3Rlcl0sCi0rCQkJZGVzYyA9ICJB ZGQgYWxsIHRoZSB1c2VycyB0byBhbGwgdGhlIHVzZXJzIG9mIEhvc3QgaW4gR3JvdXAiLAotKwkJ CW1vZHVsZSA9ID9NT0RVTEUsIGZ1bmN0aW9uID0gcHVzaF9hbGx0b2FsbCwKLSsJCQlhcmdzID0g W3tob3N0LCBzdHJpbmd9LCB7Z3JvdXAsIHN0cmluZ31dLAotKwkJCXJlc3VsdCA9IHtyZXMsIHJl c2NvZGV9fSwKLSsKLSsgICAgICNlamFiYmVyZF9jb21tYW5kc3tuYW1lID0gZ2V0X2xhc3QsIHRh Z3MgPSBbbGFzdF0sCi0rCQkJZGVzYyA9ICJHZXQgbGFzdCBhY3Rpdml0eSBpbmZvcm1hdGlvbiIs Ci0rCQkJbG9uZ2Rlc2MgPSAiVGltZXN0YW1wIGlzIHRoZSBzZWNvbmRzIHNpbmNlIgotKwkJCSIx OTcwLTAxLTAxIDAwOjAwOjAwIFVUQywgZm9yIGV4YW1wbGU6IGRhdGUgKyVzIiwKLSsJCQltb2R1 bGUgPSA/TU9EVUxFLCBmdW5jdGlvbiA9IGdldF9sYXN0LAotKwkJCWFyZ3MgPSBbe3VzZXIsIGJp bmFyeX0sIHtob3N0LCBiaW5hcnl9XSwKLSsJCQlyZXN1bHQgPSB7bGFzdF9hY3Rpdml0eSwgc3Ry aW5nfX0sCi0rICAgICAjZWphYmJlcmRfY29tbWFuZHN7bmFtZSA9IHNldF9sYXN0LCB0YWdzID0g W2xhc3RdLAotKwkJCWRlc2MgPSAiU2V0IGxhc3QgYWN0aXZpdHkgaW5mb3JtYXRpb24iLAotKwkJ CWxvbmdkZXNjID0gIlRpbWVzdGFtcCBpcyB0aGUgc2Vjb25kcyBzaW5jZSIKLSsJCQkiMTk3MC0w MS0wMSAwMDowMDowMCBVVEMsIGZvciBleGFtcGxlOiBkYXRlICslcyIsCi0rCQkJbW9kdWxlID0g P01PRFVMRSwgZnVuY3Rpb24gPSBzZXRfbGFzdCwKLSsJCQlhcmdzID0gW3t1c2VyLCBzdHJpbmd9 LCB7aG9zdCwgc3RyaW5nfSwge3RpbWVzdGFtcCwgaW50ZWdlcn0sIHtzdGF0dXMsIHN0cmluZ31d LAotKwkJCXJlc3VsdCA9IHtyZXMsIHJlc2NvZGV9fSwKLSsKLSsgICAgICNlamFiYmVyZF9jb21t YW5kc3tuYW1lID0gcHJpdmF0ZV9nZXQsIHRhZ3MgPSBbcHJpdmF0ZV0sCi0rCQkJZGVzYyA9ICJH ZXQgc29tZSBpbmZvcm1hdGlvbiBmcm9tIGEgdXNlciBwcml2YXRlIHN0b3JhZ2UiLAotKwkJCW1v ZHVsZSA9ID9NT0RVTEUsIGZ1bmN0aW9uID0gcHJpdmF0ZV9nZXQsCi0rCQkJYXJncyA9IFt7dXNl ciwgc3RyaW5nfSwge2hvc3QsIHN0cmluZ30sIHtlbGVtZW50LCBzdHJpbmd9LCB7bnMsIHN0cmlu Z31dLAotKwkJCXJlc3VsdCA9IHtyZXMsIHN0cmluZ319LAotKyAgICAgI2VqYWJiZXJkX2NvbW1h bmRze25hbWUgPSBwcml2YXRlX3NldCwgdGFncyA9IFtwcml2YXRlXSwKLSsJCQlkZXNjID0gIlNl dCB0byB0aGUgdXNlciBwcml2YXRlIHN0b3JhZ2UiLAotKwkJCW1vZHVsZSA9ID9NT0RVTEUsIGZ1 bmN0aW9uID0gcHJpdmF0ZV9zZXQsCi0rCQkJYXJncyA9IFt7dXNlciwgc3RyaW5nfSwge2hvc3Qs IHN0cmluZ30sIHtlbGVtZW50LCBzdHJpbmd9XSwKLSsJCQlyZXN1bHQgPSB7cmVzLCByZXNjb2Rl fX0sCi0rCi0rICAgICAjZWphYmJlcmRfY29tbWFuZHN7bmFtZSA9IHNyZ19jcmVhdGUsIHRhZ3Mg PSBbc2hhcmVkX3Jvc3Rlcl9ncm91cF0sCi0rCQkJZGVzYyA9ICJDcmVhdGUgYSBTaGFyZWQgUm9z dGVyIEdyb3VwIiwKLSsJCQlsb25nZGVzYyA9ICJJZiB5b3Ugd2FudCB0byBzcGVjaWZ5IHNldmVy YWwgZ3JvdXAgIgotKwkJCSJpZGVudGlmaWVycyBpbiB0aGUgRGlzcGxheSBhcmd1bWVudCxcbiIK LSsJCQkicHV0ICBcXCBcIiBhcm91bmQgdGhlIGFyZ3VtZW50IGFuZFxuc2VwYXJhdGUgdGhlICIK LSsJCQkiaWRlbnRpZmllcnMgd2l0aCBcXCBcXCBuXG4iCi0rCQkJIkZvciBleGFtcGxlOlxuIgot KwkJCSIgIGVqYWJiZXJkY3RsIHNyZ19jcmVhdGUgZ3JvdXAzIGxvY2FsaG9zdCAiCi0rCQkJIm5h bWUgZGVzYyBcXFwiZ3JvdXAxXFxcXG5ncm91cDJcXFwiIiwKLSsJCQltb2R1bGUgPSA/TU9EVUxF LCBmdW5jdGlvbiA9IHNyZ19jcmVhdGUsCi0rCQkJYXJncyA9IFt7Z3JvdXAsIGJpbmFyeX0sIHto b3N0LCBiaW5hcnl9LAotKwkJCQl7bmFtZSwgYmluYXJ5fSwge2Rlc2NyaXB0aW9uLCBiaW5hcnl9 LCB7ZGlzcGxheSwgYmluYXJ5fV0sCi0rCQkJcmVzdWx0ID0ge3JlcywgcmVzY29kZX19LAotKyAg ICAgI2VqYWJiZXJkX2NvbW1hbmRze25hbWUgPSBzcmdfZGVsZXRlLCB0YWdzID0gW3NoYXJlZF9y b3N0ZXJfZ3JvdXBdLAotKwkJCWRlc2MgPSAiRGVsZXRlIGEgU2hhcmVkIFJvc3RlciBHcm91cCIs Ci0rCQkJbW9kdWxlID0gP01PRFVMRSwgZnVuY3Rpb24gPSBzcmdfZGVsZXRlLAotKwkJCWFyZ3Mg PSBbe2dyb3VwLCBiaW5hcnl9LCB7aG9zdCwgYmluYXJ5fV0sCi0rCQkJcmVzdWx0ID0ge3Jlcywg cmVzY29kZX19LAotKyAgICAgI2VqYWJiZXJkX2NvbW1hbmRze25hbWUgPSBzcmdfbGlzdCwgdGFn cyA9IFtzaGFyZWRfcm9zdGVyX2dyb3VwXSwKLSsJCQlkZXNjID0gIkxpc3QgdGhlIFNoYXJlZCBS b3N0ZXIgR3JvdXBzIGluIEhvc3QiLAotKwkJCW1vZHVsZSA9ID9NT0RVTEUsIGZ1bmN0aW9uID0g c3JnX2xpc3QsCi0rCQkJYXJncyA9IFt7aG9zdCwgYmluYXJ5fV0sCi0rCQkJcmVzdWx0ID0ge2dy b3Vwcywge2xpc3QsIHtpZCwgc3RyaW5nfX19fSwKLSsgICAgICNlamFiYmVyZF9jb21tYW5kc3tu YW1lID0gc3JnX2dldF9pbmZvLCB0YWdzID0gW3NoYXJlZF9yb3N0ZXJfZ3JvdXBdLAotKwkJCWRl c2MgPSAiR2V0IGluZm8gb2YgYSBTaGFyZWQgUm9zdGVyIEdyb3VwIiwKLSsJCQltb2R1bGUgPSA/ TU9EVUxFLCBmdW5jdGlvbiA9IHNyZ19nZXRfaW5mbywKLSsJCQlhcmdzID0gW3tncm91cCwgYmlu YXJ5fSwge2hvc3QsIGJpbmFyeX1dLAotKwkJCXJlc3VsdCA9IHtpbmZvcm1hdGlvbnMsIHtsaXN0 LCB7aW5mb3JtYXRpb24sIHt0dXBsZSwgW3trZXksIHN0cmluZ30sIHt2YWx1ZSwgc3RyaW5nfV19 fX19fSwKLSsgICAgICNlamFiYmVyZF9jb21tYW5kc3tuYW1lID0gc3JnX2dldF9tZW1iZXJzLCB0 YWdzID0gW3NoYXJlZF9yb3N0ZXJfZ3JvdXBdLAotKwkJCWRlc2MgPSAiR2V0IG1lbWJlcnMgb2Yg YSBTaGFyZWQgUm9zdGVyIEdyb3VwIiwKLSsJCQltb2R1bGUgPSA/TU9EVUxFLCBmdW5jdGlvbiA9 IHNyZ19nZXRfbWVtYmVycywKLSsJCQlhcmdzID0gW3tncm91cCwgYmluYXJ5fSwge2hvc3QsIGJp bmFyeX1dLAotKwkJCXJlc3VsdCA9IHttZW1iZXJzLCB7bGlzdCwge21lbWJlciwgc3RyaW5nfX19 fSwKLSsgICAgICNlamFiYmVyZF9jb21tYW5kc3tuYW1lID0gc3JnX3VzZXJfYWRkLCB0YWdzID0g W3NoYXJlZF9yb3N0ZXJfZ3JvdXBdLAotKwkJCWRlc2MgPSAiQWRkIHRoZSBKSUQgdXNlckBob3N0 IHRvIHRoZSBTaGFyZWQgUm9zdGVyIEdyb3VwIiwKLSsJCQltb2R1bGUgPSA/TU9EVUxFLCBmdW5j dGlvbiA9IHNyZ191c2VyX2FkZCwKLSsJCQlhcmdzID0gW3t1c2VyLCBiaW5hcnl9LCB7aG9zdCwg YmluYXJ5fSwge2dyb3VwLCBiaW5hcnl9LCB7Z3JvdXBob3N0LCBiaW5hcnl9XSwKLSsJCQlyZXN1 bHQgPSB7cmVzLCByZXNjb2RlfX0sCi0rICAgICAjZWphYmJlcmRfY29tbWFuZHN7bmFtZSA9IHNy Z191c2VyX2RlbCwgdGFncyA9IFtzaGFyZWRfcm9zdGVyX2dyb3VwXSwKLSsJCQlkZXNjID0gIkRl bGV0ZSB0aGlzIEpJRCB1c2VyQGhvc3QgZnJvbSB0aGUgU2hhcmVkIFJvc3RlciBHcm91cCIsCi0r CQkJbW9kdWxlID0gP01PRFVMRSwgZnVuY3Rpb24gPSBzcmdfdXNlcl9kZWwsCi0rCQkJYXJncyA9 IFt7dXNlciwgYmluYXJ5fSwge2hvc3QsIGJpbmFyeX0sIHtncm91cCwgYmluYXJ5fSwge2dyb3Vw aG9zdCwgYmluYXJ5fV0sCi0rCQkJcmVzdWx0ID0ge3JlcywgcmVzY29kZX19LAotKwotKyAgICAg I2VqYWJiZXJkX2NvbW1hbmRze25hbWUgPSBzZW5kX21lc3NhZ2VfY2hhdCwgdGFncyA9IFtzdGFu emFdLAotKwkJCWRlc2MgPSAiU2VuZCBhIGNoYXQgbWVzc2FnZSB0byBhIGxvY2FsIG9yIHJlbW90 ZSBiYXJlIG9mIGZ1bGwgSklEIiwKLSsJCQltb2R1bGUgPSA/TU9EVUxFLCBmdW5jdGlvbiA9IHNl bmRfbWVzc2FnZV9jaGF0LAotKwkJCWFyZ3MgPSBbe2Zyb20sIGJpbmFyeX0sIHt0bywgYmluYXJ5 fSwge2JvZHksIGJpbmFyeX1dLAotKwkJCXJlc3VsdCA9IHtyZXMsIHJlc2NvZGV9fSwKLSsgICAg ICNlamFiYmVyZF9jb21tYW5kc3tuYW1lID0gc2VuZF9tZXNzYWdlX2hlYWRsaW5lLCB0YWdzID0g W3N0YW56YV0sCi0rCQkJZGVzYyA9ICJTZW5kIGEgaGVhZGxpbmUgbWVzc2FnZSB0byBhIGxvY2Fs IG9yIHJlbW90ZSBiYXJlIG9mIGZ1bGwgSklEIiwKLSsJCQltb2R1bGUgPSA/TU9EVUxFLCBmdW5j dGlvbiA9IHNlbmRfbWVzc2FnZV9oZWFkbGluZSwKLSsJCQlhcmdzID0gW3tmcm9tLCBiaW5hcnl9 LCB7dG8sIGJpbmFyeX0sCi0rCQkJCXtzdWJqZWN0LCBiaW5hcnl9LCB7Ym9keSwgYmluYXJ5fV0s Ci0rCQkJcmVzdWx0ID0ge3JlcywgcmVzY29kZX19LAotKyAgICAgI2VqYWJiZXJkX2NvbW1hbmRz e25hbWUgPSBzZW5kX3N0YW56YV9jMnMsIHRhZ3MgPSBbc3RhbnphXSwKLSsJCQlkZXNjID0gIlNl bmQgYSBzdGFuemEgYXMgaWYgc2VudCBmcm9tIGEgYzJzIHNlc3Npb24iLAotKwkJCW1vZHVsZSA9 ID9NT0RVTEUsIGZ1bmN0aW9uID0gc2VuZF9zdGFuemFfYzJzLAotKwkJCWFyZ3MgPSBbe3VzZXIs IGJpbmFyeX0sIHtob3N0LCBiaW5hcnl9LCB7cmVzb3VyY2UsIGJpbmFyeX0sIHtzdGFuemEsIGJp bmFyeX1dLAotKwkJCXJlc3VsdCA9IHtyZXMsIHJlc2NvZGV9fSwKLSsgICAgICNlamFiYmVyZF9j b21tYW5kc3tuYW1lID0gcHJpdmFjeV9zZXQsIHRhZ3MgPSBbc3RhbnphXSwKLSsJCQlkZXNjID0g IlNlbmQgYSBJUSBzZXQgcHJpdmFjeSBzdGFuemEgZm9yIGEgbG9jYWwgYWNjb3VudCIsCi0rCQkJ bW9kdWxlID0gP01PRFVMRSwgZnVuY3Rpb24gPSBwcml2YWN5X3NldCwKLSsJCQlhcmdzID0gW3t1 c2VyLCBiaW5hcnl9LCB7aG9zdCwgYmluYXJ5fSwge3htbHF1ZXJ5LCBiaW5hcnl9XSwKLSsJCQly ZXN1bHQgPSB7cmVzLCByZXNjb2RlfX0sCi0rCi0rICAgICAjZWphYmJlcmRfY29tbWFuZHN7bmFt ZSA9IHN0YXRzLCB0YWdzID0gW3N0YXRzXSwKLSsJCQlkZXNjID0gIkdldCBzdGF0aXN0aWNhbCB2 YWx1ZTogcmVnaXN0ZXJlZHVzZXJzIG9ubGluZXVzZXJzIG9ubGluZXVzZXJzbm9kZSB1cHRpbWVz ZWNvbmRzIiwKLSsJCQltb2R1bGUgPSA/TU9EVUxFLCBmdW5jdGlvbiA9IHN0YXRzLAotKwkJCWFy Z3MgPSBbe25hbWUsIGJpbmFyeX1dLAotKwkJCXJlc3VsdCA9IHtzdGF0LCBpbnRlZ2VyfX0sCi0r ICAgICAjZWphYmJlcmRfY29tbWFuZHN7bmFtZSA9IHN0YXRzX2hvc3QsIHRhZ3MgPSBbc3RhdHNd LAotKwkJCWRlc2MgPSAiR2V0IHN0YXRpc3RpY2FsIHZhbHVlIGZvciB0aGlzIGhvc3Q6IHJlZ2lz dGVyZWR1c2VycyBvbmxpbmV1c2VycyIsCi0rCQkJbW9kdWxlID0gP01PRFVMRSwgZnVuY3Rpb24g PSBzdGF0cywKLSsJCQlhcmdzID0gW3tuYW1lLCBiaW5hcnl9LCB7aG9zdCwgYmluYXJ5fV0sCi0r CQkJcmVzdWx0ID0ge3N0YXQsIGludGVnZXJ9fQotKyAgICBdLgotKwotKwotKyUlJQotKyUlJSBO b2RlCi0rJSUlCi0rCi0rY29tcGlsZShGaWxlKSAtPgotKyAgICBjYXNlIGNvbXBpbGU6ZmlsZShG aWxlKSBvZgotKwlvayAtPiBvazsKLSsJXyAtPiBlcnJvcgotKyAgICBlbmQuCi0rCi0rbG9hZF9j b25maWcoUGF0aCkgLT4KLSsgICAgb2sgPSBlamFiYmVyZF9jb25maWc6bG9hZF9maWxlKFBhdGgp LgotKwotK2dldF9jb29raWUoKSAtPgotKyAgICBhdG9tX3RvX2xpc3QoZXJsYW5nOmdldF9jb29r aWUoKSkuCi0rCi0rcmVtb3ZlX25vZGUoTm9kZSkgLT4KLSsgICAgbW5lc2lhOmRlbF90YWJsZV9j b3B5KHNjaGVtYSwgbGlzdF90b19hdG9tKE5vZGUpKSwKLSsgICAgb2suCi0rCi0rZXhwb3J0Mm9k YmMoSG9zdCwgRGlyZWN0b3J5KSAtPgotKyAgICBUYWJsZXMgPSBbCi0rCSAgICAgIHtleHBvcnRf bGFzdCwgbGFzdH0sCi0rCSAgICAgIHtleHBvcnRfb2ZmbGluZSwgb2ZmbGluZX0sCi0rCSAgICAg IHtleHBvcnRfcGFzc3dkLCBwYXNzd2R9LAotKwkgICAgICB7ZXhwb3J0X3ByaXZhdGVfc3RvcmFn ZSwgcHJpdmF0ZV9zdG9yYWdlfSwKLSsJICAgICAge2V4cG9ydF9yb3N0ZXIsIHJvc3Rlcn0sCi0r CSAgICAgIHtleHBvcnRfdmNhcmQsIHZjYXJkfSwKLSsJICAgICAge2V4cG9ydF92Y2FyZF9zZWFy Y2gsIHZjYXJkX3NlYXJjaH1dLAotKyAgICBFeHBvcnQgPSBmdW4oe1RhYmxlRnVuLCBUYWJsZX0p IC0+Ci0rCQkgICAgIEZpbGVuYW1lID0gZmlsZW5hbWU6am9pbihbRGlyZWN0b3J5LCBhdG9tX3Rv X2xpc3QoVGFibGUpKysiLnR4dCJdKSwKLSsJCSAgICAgaW86Zm9ybWF0KCJUcnlpbmcgdG8gZXhw b3J0IE1uZXNpYSB0YWJsZSAnfnAnIG9uIEhvc3QgJ35zJyB0byBmaWxlICd+cyd+biIsIFtUYWJs ZSwgSG9zdCwgRmlsZW5hbWVdKSwKLSsJCSAgICAgUmVzID0gKGNhdGNoIGVqZDJvZGJjOlRhYmxl RnVuKEhvc3QsIEZpbGVuYW1lKSksCi0rCQkgICAgIGlvOmZvcm1hdCgiICBSZXN1bHQ6IH5wfm4i LCBbUmVzXSkKLSsJICAgICBlbmQsCi0rICAgIGxpc3RzOmZvcmVhY2goRXhwb3J0LCBUYWJsZXMp LAotKyAgICBvay4KLSsKLSsKLSslJSUKLSslJSUgQWNjb3VudHMKLSslJSUKLSsKLStzZXRfcGFz c3dvcmQoVXNlciwgSG9zdCwgUGFzc3dvcmQpIC0+Ci0rICAgIGNhc2UgZWphYmJlcmRfYXV0aDpz ZXRfcGFzc3dvcmQoVXNlciwgSG9zdCwgUGFzc3dvcmQpIG9mCi0rCW9rIC0+Ci0rCSAgICBvazsK LSsJXyAtPgotKwkgICAgZXJyb3IKLSsgICAgZW5kLgotKwotKyUlIENvcGllZCBzb21lIGNvZGUg ZnJvbSBlamFiYmVyZF9jb21tYW5kcy5lcmwKLStjaGVja19wYXNzd29yZF9oYXNoKFVzZXIsIEhv c3QsIFBhc3N3b3JkSGFzaCwgSGFzaE1ldGhvZCkgLT4KLSsgICAgQWNjb3VudFBhc3MgPSBlamFi YmVyZF9hdXRoOmdldF9wYXNzd29yZF9zKFVzZXIsIEhvc3QpLAotKyAgICBBY2NvdW50UGFzc0hh c2ggPSBjYXNlIEhhc2hNZXRob2Qgb2YKLSsJCQkgICJtZDUiIC0+IGdldF9tZDUoQWNjb3VudFBh c3MpOwotKwkJCSAgInNoYSIgLT4gZ2V0X3NoYShBY2NvdW50UGFzcyk7Ci0rCQkJICBfIC0+IHVu ZGVmaW5lZAotKwkJICAgICAgZW5kLAotKyAgICBjYXNlIEFjY291bnRQYXNzSGFzaCBvZgotKwl1 bmRlZmluZWQgLT4gZXJyb3I7Ci0rCVBhc3N3b3JkSGFzaCAtPiBvazsKLSsJXyAtPiBlcnJvcgot KyAgICBlbmQuCi0rZ2V0X21kNShBY2NvdW50UGFzcykgLT4KLSsgICAgbGlzdHM6ZmxhdHRlbihb aW9fbGliOmZvcm1hdCgifi4xNkIiLCBbWF0pCi0rCQkgICB8fCBYIDwtIGJpbmFyeV90b19saXN0 KGNyeXB0bzptZDUoQWNjb3VudFBhc3MpKV0pLgotK2dldF9zaGEoQWNjb3VudFBhc3MpIC0+Ci0r ICAgIGxpc3RzOmZsYXR0ZW4oW2lvX2xpYjpmb3JtYXQoIn4uMTZCIiwgW1hdKQotKwkJICAgfHwg WCA8LSBiaW5hcnlfdG9fbGlzdChjcnlwdG86c2hhKEFjY291bnRQYXNzKSldKS4KLSsKLStudW1f YWN0aXZlX3VzZXJzKEhvc3QsIERheXMpIC0+Ci0rICAgIGxpc3RfbGFzdF9hY3Rpdml0eShIb3N0 LCB0cnVlLCBEYXlzKS4KLSsKLSslJSBDb2RlIGJhc2VkIG9uIGVqYWJiZXJkL3NyYy93ZWIvZWph YmJlcmRfd2ViX2FkbWluLmVybAotK2xpc3RfbGFzdF9hY3Rpdml0eShIb3N0LCBJbnRlZ3JhbCwg RGF5cykgLT4KLSsgICAge01lZ2FTZWNzLCBTZWNzLCBfTWljcm9TZWNzfSA9IG5vdygpLAotKyAg ICBUaW1lU3RhbXAgPSBNZWdhU2VjcyAqIDEwMDAwMDAgKyBTZWNzLAotKyAgICBUUyA9IFRpbWVT dGFtcCAtIERheXMgKiA4NjQwMCwKLSsgICAgY2FzZSBjYXRjaCBtbmVzaWE6ZGlydHlfc2VsZWN0 KAotKwkJIGxhc3RfYWN0aXZpdHksIFt7e2xhc3RfYWN0aXZpdHksIHsnXycsIEhvc3R9LCAnJDEn LCAnXyd9LAotKwkJCQkgIFt7Jz4nLCAnJDEnLCBUU31dLAotKwkJCQkgIFt7J3RydW5jJywgeycv JywKLSsJCQkJCSAgICAgIHsnLScsIFRpbWVTdGFtcCwgJyQxJ30sCi0rCQkJCQkgICAgICA4NjQw MH19XX1dKSBvZgotKwkJCQkJCQkgICAgICB7J0VYSVQnLCBfUmVhc29ufSAtPgotKwkJIFtdOwot KwkgICAgICAgVmFscyAtPgotKwkJIEhpc3QgPSBoaXN0b2dyYW0oVmFscywgSW50ZWdyYWwpLAot KwkJIGlmCi0rCQkgICAgIEhpc3QgPT0gW10gLT4KLSsJCQkgMDsKLSsJCSAgICAgdHJ1ZSAtPgot KwkJCSBMZWZ0ID0gRGF5cyAtIGxlbmd0aChIaXN0KSwKLSsJCQkgVGFpbCA9IGlmCi0rCQkJCSAg ICBJbnRlZ3JhbCAtPgotKwkJCQkJbGlzdHM6ZHVwbGljYXRlKExlZnQsIGxpc3RzOmxhc3QoSGlz dCkpOwotKwkJCQkgICAgdHJ1ZSAtPgotKwkJCQkJbGlzdHM6ZHVwbGljYXRlKExlZnQsIDApCi0r CQkJCWVuZCwKLSsJCQkgbGlzdHM6bnRoKERheXMsIEhpc3QgKysgVGFpbCkKLSsJCSBlbmQKLSsJ IGVuZC4KLStoaXN0b2dyYW0oVmFsdWVzLCBJbnRlZ3JhbCkgLT4KLSsgICAgaGlzdG9ncmFtKGxp c3RzOnNvcnQoVmFsdWVzKSwgSW50ZWdyYWwsIDAsIDAsIFtdKS4KLStoaXN0b2dyYW0oW0ggfCBU XSwgSW50ZWdyYWwsIEN1cnJlbnQsIENvdW50LCBIaXN0KSB3aGVuIEN1cnJlbnQgPT0gSCAtPgot KyAgICBoaXN0b2dyYW0oVCwgSW50ZWdyYWwsIEN1cnJlbnQsIENvdW50ICsgMSwgSGlzdCk7Ci0r aGlzdG9ncmFtKFtIIHwgX10gPSBWYWx1ZXMsIEludGVncmFsLCBDdXJyZW50LCBDb3VudCwgSGlz dCkgd2hlbiBDdXJyZW50IDwgSCAtPgotKyAgICBpZgotKwlJbnRlZ3JhbCAtPgotKwkgICAgaGlz dG9ncmFtKFZhbHVlcywgSW50ZWdyYWwsIEN1cnJlbnQgKyAxLCBDb3VudCwgW0NvdW50IHwgSGlz dF0pOwotKwl0cnVlIC0+Ci0rCSAgICBoaXN0b2dyYW0oVmFsdWVzLCBJbnRlZ3JhbCwgQ3VycmVu dCArIDEsIDAsIFtDb3VudCB8IEhpc3RdKQotKyAgICBlbmQ7Ci0raGlzdG9ncmFtKFtdLCBfSW50 ZWdyYWwsIF9DdXJyZW50LCBDb3VudCwgSGlzdCkgLT4KLSsgICAgaWYKLSsJQ291bnQgPiAwIC0+ Ci0rCSAgICBsaXN0czpyZXZlcnNlKFtDb3VudCB8IEhpc3RdKTsKLSsJdHJ1ZSAtPgotKwkgICAg bGlzdHM6cmV2ZXJzZShIaXN0KQotKyAgICBlbmQuCi0rCi0rCi0rZGVsZXRlX29sZF91c2VycyhE YXlzKSAtPgotKyAgICAlJSBHZXQgdGhlIGxpc3Qgb2YgcmVnaXN0ZXJlZCB1c2VycwotKyAgICBV c2VycyA9IGVqYWJiZXJkX2F1dGg6ZGlydHlfZ2V0X3JlZ2lzdGVyZWRfdXNlcnMoKSwKLSsKLSsg ICAge3JlbW92ZWQsIE4sIFVSfSA9IGRlbGV0ZV9vbGRfdXNlcnMoRGF5cywgVXNlcnMpLAotKyAg ICB7b2ssIGlvX2xpYjpmb3JtYXQoIkRlbGV0ZWQgfnAgdXNlcnM6IH5wIiwgW04sIFVSXSl9Lgot KwotK2RlbGV0ZV9vbGRfdXNlcnNfdmhvc3QoSG9zdCwgRGF5cykgLT4KLSsgICAgJSUgR2V0IHRo ZSBsaXN0IG9mIHJlZ2lzdGVyZWQgdXNlcnMKLSsgICAgVXNlcnMgPSBlamFiYmVyZF9hdXRoOmdl dF92aF9yZWdpc3RlcmVkX3VzZXJzKEhvc3QpLAotKwotKyAgICB7cmVtb3ZlZCwgTiwgVVJ9ID0g ZGVsZXRlX29sZF91c2VycyhEYXlzLCBVc2VycyksCi0rICAgIHtvaywgaW9fbGliOmZvcm1hdCgi RGVsZXRlZCB+cCB1c2VyczogfnAiLCBbTiwgVVJdKX0uCi0rCi0rZGVsZXRlX29sZF91c2VycyhE YXlzLCBVc2VycykgLT4KLSsgICAgJSUgQ29udmVydCBvbGRlciB0aW1lCi0rICAgIFNlY09sZGVy ID0gRGF5cyoyNCo2MCo2MCwKLSsKLSsgICAgJSUgR2V0IGN1cnJlbnQgdGltZQotKyAgICB7TWVn YVNlY3MsIFNlY3MsIF9NaWNyb1NlY3N9ID0gbm93KCksCi0rICAgIFRpbWVTdGFtcF9ub3cgPSBN ZWdhU2VjcyAqIDEwMDAwMDAgKyBTZWNzLAotKwotKyAgICAlJSBGb3IgYSB1c2VyLCByZW1vdmUg aWYgcmVxdWlyZWQgYW5kIGFuc3dlciB0cnVlCi0rICAgIEYgPSBmdW4oe0xVc2VyLCBMU2VydmVy fSkgLT4KLSsJCSUlIENoZWNrIGlmIHRoZSB1c2VyIGlzIGxvZ2dlZAotKwkJY2FzZSBlamFiYmVy ZF9zbTpnZXRfdXNlcl9yZXNvdXJjZXMoTFVzZXIsIExTZXJ2ZXIpIG9mCi0rCQkgICAgJSUgSWYg aXQgaXNudAotKwkJICAgIFtdIC0+Ci0rCQkJJSUgTG9vayBmb3IgaGlzIGxhc3RfYWN0aXZpdHkK LSsJCQljYXNlIChnZXRfbGFzdGFjdGl2aXR5X21vZHVsZShMU2VydmVyKSk6Z2V0X2xhc3RfaW5m byhMVXNlciwgTFNlcnZlcikgb2YKLSsJCQkgICAgJSUgSWYgaXQgaXMKLSsJCQkgICAgJSUgZXhp c3RlbnQ6Ci0rCQkJICAgIHtvaywgVGltZVN0YW1wLCBfU3RhdHVzfSAtPgotKwkJCQklJSBnZXQg aGlzIGFnZQotKwkJCQlTZWMgPSBUaW1lU3RhbXBfbm93IC0gVGltZVN0YW1wLAotKwkJCQklJSBJ ZiBoZSBpcwotKwkJCQlpZgotKwkJCQkgICAgJSUgeW91bmdlciB0aGFuIFNlY09sZGVyOgotKwkJ CQkgICAgU2VjIDwgU2VjT2xkZXIgLT4KLSsJCQkJCSUlIGRvIG5vdGhpbmcKLSsJCQkJCWZhbHNl OwotKwkJCQkgICAgJSUgb2xkZXI6Ci0rCQkJCSAgICB0cnVlIC0+Ci0rCQkJCQklJSByZW1vdmUg dGhlIHVzZXIKLSsJCQkJCWVqYWJiZXJkX2F1dGg6cmVtb3ZlX3VzZXIoTFVzZXIsIExTZXJ2ZXIp LAotKwkJCQkJdHJ1ZQotKwkJCQllbmQ7Ci0rCQkJICAgICUlIG5vbmV4aXN0ZW50OgotKwkJCSAg ICBub3RfZm91bmQgLT4KLSsJCQkJJSUgcmVtb3ZlIHRoZSB1c2VyCi0rCQkJCWVqYWJiZXJkX2F1 dGg6cmVtb3ZlX3VzZXIoTFVzZXIsIExTZXJ2ZXIpLAotKwkJCQl0cnVlCi0rCQkJZW5kOwotKwkJ ICAgICUlIEVsc2UKLSsJCSAgICBfIC0+Ci0rCQkJJSUgZG8gbm90aGluZwotKwkJCWZhbHNlCi0r CQllbmQKLSsJZW5kLAotKyAgICAlJSBBcHBseSB0aGUgZnVuY3Rpb24gdG8gZXZlcnkgdXNlciBp biB0aGUgbGlzdAotKyAgICBVc2Vyc19yZW1vdmVkID0gbGlzdHM6ZmlsdGVyKEYsIFVzZXJzKSwK LSsgICAge3JlbW92ZWQsIGxlbmd0aChVc2Vyc19yZW1vdmVkKSwgVXNlcnNfcmVtb3ZlZH0uCi0r Ci0rZ2V0X2xhc3RhY3Rpdml0eV9tb2R1bGUoU2VydmVyKSAtPgotKyAgICBjYXNlIGxpc3RzOm1l bWJlcihtb2RfbGFzdCwgZ2VuX21vZDpsb2FkZWRfbW9kdWxlcyhTZXJ2ZXIpKSBvZgotKyAgICAg ICAgdHJ1ZSAtPiBtb2RfbGFzdDsKLSsgICAgICAgIF8gLT4gbW9kX2xhc3Rfb2RiYwotKyAgICBl bmQuCi0rCi0rCi0rJSUKLSslJSBCYW4gYWNjb3VudAotKwotK2Jhbl9hY2NvdW50KFVzZXIsIEhv c3QsIFJlYXNvblRleHQpIC0+Ci0rICAgIFJlYXNvbiA9IHByZXBhcmVfcmVhc29uKFJlYXNvblRl eHQpLAotKyAgICBraWNrX3Nlc3Npb25zKFVzZXIsIEhvc3QsIFJlYXNvbiksCi0rICAgIHNldF9y YW5kb21fcGFzc3dvcmQoVXNlciwgSG9zdCwgUmVhc29uKSwKLSsgICAgb2suCi0rCi0ra2lja19z ZXNzaW9ucyhVc2VyLCBTZXJ2ZXIsIFJlYXNvbikgLT4KLSsgICAgbGlzdHM6bWFwKAotKyAgICAg IGZ1bihSZXNvdXJjZSkgLT4KLSsJICAgICAga2lja190aGlzX3Nlc3Npb24oVXNlciwgU2VydmVy LCBSZXNvdXJjZSwgUmVhc29uKQotKyAgICAgIGVuZCwKLSsgICAgICBnZXRfcmVzb3VyY2VzKFVz ZXIsIFNlcnZlcikpLgotKwotK2dldF9yZXNvdXJjZXMoVXNlciwgU2VydmVyKSAtPgotKyAgICBs aXN0czptYXAoCi0rICAgICAgZnVuKFNlc3Npb24pIC0+Ci0rCSAgICAgIGVsZW1lbnQoMywgU2Vz c2lvbiNzZXNzaW9uLnVzcikKLSsgICAgICBlbmQsCi0rICAgICAgZ2V0X3Nlc3Npb25zKFVzZXIs IFNlcnZlcikpLgotKwotK2dldF9zZXNzaW9ucyhVc2VyLCBTZXJ2ZXIpIC0+Ci0rICAgIExVc2Vy ID0gamxpYjpub2RlcHJlcChVc2VyKSwKLSsgICAgTFNlcnZlciA9IGpsaWI6bmFtZXByZXAoU2Vy dmVyKSwKLSsgICAgU2Vzc2lvbnMgPSAgbW5lc2lhOmRpcnR5X2luZGV4X3JlYWQoc2Vzc2lvbiwg e0xVc2VyLCBMU2VydmVyfSwgI3Nlc3Npb24udXMpLAotKyAgICB0cnVlID0gaXNfbGlzdChTZXNz aW9ucyksCi0rICAgIFNlc3Npb25zLgotKwotK3NldF9yYW5kb21fcGFzc3dvcmQoVXNlciwgU2Vy dmVyLCBSZWFzb24pIC0+Ci0rICAgIE5ld1Bhc3MgPSBidWlsZF9yYW5kb21fcGFzc3dvcmQoUmVh c29uKSwKLSsgICAgc2V0X3Bhc3N3b3JkX2F1dGgoVXNlciwgU2VydmVyLCBOZXdQYXNzKS4KLSsK LStidWlsZF9yYW5kb21fcGFzc3dvcmQoUmVhc29uKSAtPgotKyAgICBEYXRlID0gamxpYjp0aW1l c3RhbXBfdG9faXNvKGNhbGVuZGFyOnVuaXZlcnNhbF90aW1lKCkpLAotKyAgICBSYW5kb21TdHJp bmcgPSByYW5kb21zOmdldF9zdHJpbmcoKSwKLSsgICAgIkJBTk5FRF9BQ0NPVU5ULS0iICsrIERh dGUgKysgIi0tIiArKyBSYW5kb21TdHJpbmcgKysgIi0tIiArKyBSZWFzb24uCi0rCi0rc2V0X3Bh c3N3b3JkX2F1dGgoVXNlciwgU2VydmVyLCBQYXNzd29yZCkgLT4KLSsgICAgb2sgPSBlamFiYmVy ZF9hdXRoOnNldF9wYXNzd29yZChVc2VyLCBTZXJ2ZXIsIFBhc3N3b3JkKS4KLSsKLStwcmVwYXJl X3JlYXNvbihbXSkgLT4KLSsgICAgPDwiS2lja2VkIGJ5IGFkbWluaXN0cmF0b3IiPj47Ci0rcHJl cGFyZV9yZWFzb24oW1JlYXNvbl0pIC0+Ci0rICAgIFJlYXNvbjsKLStwcmVwYXJlX3JlYXNvbihS ZWFzb24pIHdoZW4gaXNfYmluYXJ5KFJlYXNvbikgLT4KLSsgICAgUmVhc29uLgotKwotKyUlJQot KyUlJSBTZXNzaW9ucwotKyUlJQotKwotK251bV9yZXNvdXJjZXMoVXNlciwgSG9zdCkgLT4KLSsg ICAgbGVuZ3RoKGVqYWJiZXJkX3NtOmdldF91c2VyX3Jlc291cmNlcyhVc2VyLCBIb3N0KSkuCi0r Ci0rcmVzb3VyY2VfbnVtKFVzZXIsIEhvc3QsIE51bSkgLT4KLSsgICAgUmVzb3VyY2VzID0gZWph YmJlcmRfc206Z2V0X3VzZXJfcmVzb3VyY2VzKFVzZXIsIEhvc3QpLAotKyAgICBjYXNlICgwPE51 bSkgYW5kIChOdW09PGxlbmd0aChSZXNvdXJjZXMpKSBvZgotKwl0cnVlIC0+Ci0rCSAgICBsaXN0 czpudGgoTnVtLCBSZXNvdXJjZXMpOwotKwlmYWxzZSAtPgotKwkgICAgbGlzdHM6ZmxhdHRlbihp b19saWI6Zm9ybWF0KCJFcnJvcjogV3JvbmcgcmVzb3VyY2UgbnVtYmVyOiB+cCIsIFtOdW1dKSkK LSsgICAgZW5kLgotKwotK2tpY2tfc2Vzc2lvbihVc2VyLCBTZXJ2ZXIsIFJlc291cmNlLCBSZWFz b25UZXh0KSAtPgotKyAgICBraWNrX3RoaXNfc2Vzc2lvbihVc2VyLCBTZXJ2ZXIsIFJlc291cmNl LCBwcmVwYXJlX3JlYXNvbihSZWFzb25UZXh0KSksCi0rICAgIG9rLgotKwotK2tpY2tfdGhpc19z ZXNzaW9uKFVzZXIsIFNlcnZlciwgUmVzb3VyY2UsIFJlYXNvbikgLT4KLSsgICAgZWphYmJlcmRf cm91dGVyOnJvdXRlKAotKyAgICAgIGpsaWI6bWFrZV9qaWQoPDw+PiwgPDw+PiwgPDw+PiksCi0r ICAgICAgamxpYjptYWtlX2ppZChVc2VyLCBTZXJ2ZXIsIFJlc291cmNlKSwKLSsgICAgICB7YnJv YWRjYXN0LCB7ZXhpdCwgUmVhc29ufX0pLgotKwotKwotK3N0YXR1c19udW0oSG9zdCwgU3RhdHVz KSAtPgotKyAgICBsZW5ndGgoZ2V0X3N0YXR1c19saXN0KEhvc3QsIFN0YXR1cykpLgotK3N0YXR1 c19udW0oU3RhdHVzKSAtPgotKyAgICBzdGF0dXNfbnVtKDw8ImFsbCI+PiwgU3RhdHVzKS4KLStz dGF0dXNfbGlzdChIb3N0LCBTdGF0dXMpIC0+Ci0rICAgIFJlcyA9IGdldF9zdGF0dXNfbGlzdChI b3N0LCBTdGF0dXMpLAotKyAgICBbe1UsIFMsIFIsIFAsIFN0fSB8fCB7VSwgUywgUiwgUCwgU3R9 IDwtIFJlc10uCi0rc3RhdHVzX2xpc3QoU3RhdHVzKSAtPgotKyAgICBzdGF0dXNfbGlzdCg8PCJh bGwiPj4sIFN0YXR1cykuCi0rCi0rCi0rZ2V0X3N0YXR1c19saXN0KEhvc3QsIFN0YXR1c19yZXF1 aXJlZCkgLT4KLSsgICAgJSUgR2V0IGxpc3Qgb2YgYWxsIGxvZ2dlZCB1c2VycwotKyAgICBTZXNz aW9ucyA9IGVqYWJiZXJkX3NtOmRpcnR5X2dldF9teV9zZXNzaW9uc19saXN0KCksCi0rICAgICUl IFJlZm9ybWF0IHRoZSBsaXN0Ci0rICAgIFNlc3Npb25zMiA9IFsge1Nlc3Npb24jc2Vzc2lvbi51 c3IsIFNlc3Npb24jc2Vzc2lvbi5zaWQsIFNlc3Npb24jc2Vzc2lvbi5wcmlvcml0eX0gfHwgU2Vz c2lvbiA8LSBTZXNzaW9uc10sCi0rICAgIEZob3N0ID0gY2FzZSBIb3N0IG9mCi0rCQk8PCJhbGwi Pj4gLT4KLSsJCSAgICAlJSBBbGwgaG9zdHMgYXJlIHJlcXVlc3RlZCwgc28gZG9udCBmaWx0ZXIg YXQgYWxsCi0rCQkgICAgZnVuKF8sIF8pIC0+IHRydWUgZW5kOwotKwkJXyAtPgotKwkJICAgICUl IEZpbHRlciB0aGUgbGlzdCwgb25seSBIb3N0IGlzIGludGVyZXN0aW5nCi0rCQkgICAgZnVuKEEs IEIpIC0+IEEgPT0gQiBlbmQKLSsJICAgIGVuZCwKLSsgICAgU2Vzc2lvbnMzID0gWyB7UGlkLCBT ZXJ2ZXIsIFByaW9yaXR5fSB8fCB7e19Vc2VyLCBTZXJ2ZXIsIF9SZXNvdXJjZX0sIHtfLCBQaWR9 LCBQcmlvcml0eX0gPC0gU2Vzc2lvbnMyLCBhcHBseShGaG9zdCwgW1NlcnZlciwgSG9zdF0pXSwK LSsgICAgJSUgRm9yIGVhY2ggUGlkLCBnZXQgaXRzIHByZXNlbmNlCi0rICAgIFNlc3Npb25zNCA9 IFsge2VqYWJiZXJkX2MyczpnZXRfcHJlc2VuY2UoUGlkKSwgU2VydmVyLCBQcmlvcml0eX0gfHwg e1BpZCwgU2VydmVyLCBQcmlvcml0eX0gPC0gU2Vzc2lvbnMzXSwKLSsgICAgJSUgRmlsdGVyIGJ5 IHN0YXR1cwotKyAgICBGc3RhdHVzID0gY2FzZSBTdGF0dXNfcmVxdWlyZWQgb2YKLSsJCSAgPDwi YWxsIj4+IC0+Ci0rCQkgICAgICBmdW4oXywgXykgLT4gdHJ1ZSBlbmQ7Ci0rCQkgIF8gLT4KLSsJ CSAgICAgIGZ1bihBLCBCKSAtPiBBID09IEIgZW5kCi0rCSAgICAgIGVuZCwKLSsgICAgW3tVc2Vy LCBTZXJ2ZXIsIFJlc291cmNlLCBQcmlvcml0eSwgc3RyaW5naXplKFN0YXR1c190ZXh0KX0KLSsg ICAgIHx8IHt7VXNlciwgUmVzb3VyY2UsIFN0YXR1cywgU3RhdHVzX3RleHR9LCBTZXJ2ZXIsIFBy aW9yaXR5fSA8LSBTZXNzaW9uczQsCi0rCWFwcGx5KEZzdGF0dXMsIFtTdGF0dXMsIFN0YXR1c19y ZXF1aXJlZF0pXS4KLSsKLStjb25uZWN0ZWRfdXNlcnNfaW5mbygpIC0+Ci0rICAgIFVTUklzID0g ZGlydHlfZ2V0X3Nlc3Npb25zX2xpc3QyKCksCi0rICAgIEN1cnJlbnRTZWMgPSBjYWxlbmRhcjpk YXRldGltZV90b19ncmVnb3JpYW5fc2Vjb25kcyh7ZGF0ZSgpLCB0aW1lKCl9KSwKLSsgICAgbGlz dHM6bWFwKAotKyAgICAgIGZ1bihbe1UsIFMsIFJ9LCB7Tm93LCBQaWR9LCBQcmlvcml0eSwgSW5m b10pIC0+Ci0rCSAgICAgIENvbm4gPSBwcm9wbGlzdHM6Z2V0X3ZhbHVlKGNvbm4sIEluZm8pLAot KwkgICAgICB7SXAsIFBvcnR9ID0gcHJvcGxpc3RzOmdldF92YWx1ZShpcCwgSW5mbyksCi0rCSAg ICAgIElQUyA9IGluZXRfcGFyc2U6bnRvYShJcCksCi0rCSAgICAgIE5vZGVTID0gYXRvbV90b19s aXN0KG5vZGUoUGlkKSksCi0rCSAgICAgIFVwdGltZSA9IEN1cnJlbnRTZWMgLSBjYWxlbmRhcjpk YXRldGltZV90b19ncmVnb3JpYW5fc2Vjb25kcygKLSsJCQkJICAgICAgY2FsZW5kYXI6bm93X3Rv X2xvY2FsX3RpbWUoTm93KSksCi0rCSAgICAgIHtbVSwgJEAsIFMsICQvLCBSXSwgYXRvbV90b19s aXN0KENvbm4pLCBJUFMsIFBvcnQsIFByaW9yaXR5LCBOb2RlUywgVXB0aW1lfQotKyAgICAgIGVu ZCwKLSsgICAgICBVU1JJcykuCi0rCi0rY29ubmVjdGVkX3VzZXJzX3Zob3N0KEhvc3QpIC0+Ci0r ICAgIFVTUnMgPSBlamFiYmVyZF9zbTpnZXRfdmhfc2Vzc2lvbl9saXN0KEhvc3QpLAotKyAgICBb IFtVLCAkQCwgUywgJC8sIFJdIHx8IHtVLCBTLCBSfSA8LSBVU1JzXS4KLSsKLSslJSBDb2RlIGNv cGllZCBmcm9tIGVqYWJiZXJkX3NtLmVybCBhbmQgY3VzdG9taXplZAotK2RpcnR5X2dldF9zZXNz aW9uc19saXN0MigpIC0+Ci0rICAgIG1uZXNpYTpkaXJ0eV9zZWxlY3QoCi0rICAgICAgc2Vzc2lv biwKLSsgICAgICBbeyNzZXNzaW9ue3VzciA9ICckMScsIHNpZCA9ICckMicsIHByaW9yaXR5ID0g JyQzJywgaW5mbyA9ICckNCcsIF8gPSAnXyd9LAotKwlbXSwKLSsJW1snJDEnLCAnJDInLCAnJDMn LCAnJDQnXV19XSkuCi0rCi0rJSUgTWFrZSBzdHJpbmcgbW9yZSBwcmludC1mcmllbmRseQotK3N0 cmluZ2l6ZShTdHJpbmcpIC0+Ci0rICAgICUlIFJlcGxhY2UgbmV3bGluZSBjaGFyYWN0ZXJzIHdp dGggb3RoZXIgY29kZQotKyAgICBlamFiYmVyZF9yZWdleHA6Z3JlcGxhY2UoU3RyaW5nLCA8PCJc biI+PiwgPDwiXFxuIj4+KS4KLSsKLStzZXRfcHJlc2VuY2UoVXNlciwgSG9zdCwgUmVzb3VyY2Us IFR5cGUsIFNob3csIFN0YXR1cywgUHJpb3JpdHkpIC0+Ci0rICAgIFBpZCA9IGVqYWJiZXJkX3Nt OmdldF9zZXNzaW9uX3BpZChVc2VyLCBIb3N0LCBSZXNvdXJjZSksCi0rICAgIFVTUiA9IFVzZXIg KysgIkAiICsrIEhvc3QgKysgIi8iICsrIFJlc291cmNlLAotKyAgICBVUyA9IFVzZXIgKysgIkAi ICsrIEhvc3QsCi0rICAgIE1lc3NhZ2UgPSB7cm91dGVfeG1sc3RyZWFtZWxlbWVudCwKLSsJICAg ICAgIHt4bWxlbCwgPDwicHJlc2VuY2UiPj4sCi0rCQlbezw8ImZyb20iPj4sIFVTUn0sIHs8PCJ0 byI+PiwgVVN9LCB7PDwidHlwZSI+PiwgVHlwZX1dLAotKwkJW3t4bWxlbCwgPDwic2hvdyI+Piwg W10sIFt7eG1sY2RhdGEsIFNob3d9XX0sCi0rCQkge3htbGVsLCA8PCJzdGF0dXMiPj4sIFtdLCBb e3htbGNkYXRhLCBTdGF0dXN9XX0sCi0rCQkge3htbGVsLCA8PCJwcmlvcml0eSI+PiwgW10sIFt7 eG1sY2RhdGEsIFByaW9yaXR5fV19XX19LAotKyAgICBQaWQgISBNZXNzYWdlLgotKwotK3VzZXJf c2Vzc2lvbnNfaW5mbyhVc2VyLCBIb3N0KSAtPgotKyAgICBDdXJyZW50U2VjID0gY2FsZW5kYXI6 ZGF0ZXRpbWVfdG9fZ3JlZ29yaWFuX3NlY29uZHMoe2RhdGUoKSwgdGltZSgpfSksCi0rICAgIFVT ID0ge1VzZXIsIEhvc3R9LAotKyAgICBTZXNzaW9ucyA9IGNhc2UgY2F0Y2ggbW5lc2lhOmRpcnR5 X2luZGV4X3JlYWQoc2Vzc2lvbiwgVVMsICNzZXNzaW9uLnVzKSBvZgotKwkJICAgeydFWElUJywg X1JlYXNvbn0gLT4KLSsJCSAgICAgICBbXTsKLSsJCSAgIFNzIC0+Ci0rCQkgICAgICAgU3MKLSsJ ICAgICAgIGVuZCwKLSsgICAgbGlzdHM6bWFwKAotKyAgICAgIGZ1bihTZXNzaW9uKSAtPgotKwkg ICAgICB7X1UsIF9TLCBSZXNvdXJjZX0gPSBTZXNzaW9uI3Nlc3Npb24udXNyLAotKwkgICAgICB7 Tm93LCBQaWR9ID0gU2Vzc2lvbiNzZXNzaW9uLnNpZCwKLSsJICAgICAge19VLCBfUmVzb3VyY2Us IFN0YXR1cywgU3RhdHVzVGV4dH0gPSBlamFiYmVyZF9jMnM6Z2V0X3ByZXNlbmNlKFBpZCksCi0r CSAgICAgIEluZm8gPSBTZXNzaW9uI3Nlc3Npb24uaW5mbywKLSsJICAgICAgUHJpb3JpdHkgPSBT ZXNzaW9uI3Nlc3Npb24ucHJpb3JpdHksCi0rCSAgICAgIENvbm4gPSBwcm9wbGlzdHM6Z2V0X3Zh bHVlKGNvbm4sIEluZm8pLAotKwkgICAgICB7SXAsIFBvcnR9ID0gcHJvcGxpc3RzOmdldF92YWx1 ZShpcCwgSW5mbyksCi0rCSAgICAgIElQUyA9IGluZXRfcGFyc2U6bnRvYShJcCksCi0rCSAgICAg IE5vZGVTID0gYXRvbV90b19saXN0KG5vZGUoUGlkKSksCi0rCSAgICAgIFVwdGltZSA9IEN1cnJl bnRTZWMgLSBjYWxlbmRhcjpkYXRldGltZV90b19ncmVnb3JpYW5fc2Vjb25kcygKLSsJCQkJICAg ICAgY2FsZW5kYXI6bm93X3RvX2xvY2FsX3RpbWUoTm93KSksCi0rCSAgICAgIHthdG9tX3RvX2xp c3QoQ29ubiksIElQUywgUG9ydCwgUHJpb3JpdHksIE5vZGVTLCBVcHRpbWUsIFN0YXR1cywgUmVz b3VyY2UsIFN0YXR1c1RleHR9Ci0rICAgICAgZW5kLAotKyAgICAgIFNlc3Npb25zKS4KLSsKLSsK LSslJSUKLSslJSUgVmNhcmQKLSslJSUKLSsKLStzZXRfbmlja25hbWUoVXNlciwgSG9zdCwgTmlj a25hbWUpIC0+Ci0rICAgIFIgPSBtb2RfdmNhcmQ6cHJvY2Vzc19zbV9pcSgKLSsJICB7amlkLCBV c2VyLCBIb3N0LCA8PD4+LCBVc2VyLCBIb3N0LCA8PD4+fSwKLSsJICB7amlkLCBVc2VyLCBIb3N0 LCA8PD4+LCBVc2VyLCBIb3N0LCA8PD4+fSwKLSsJICB7aXEsIDw8Pj4sIHNldCwgPDw+PiwgPDwi ZW4iPj4sCi0rCSAgIHt4bWxlbCwgPDwidkNhcmQiPj4sIFsKLSsJICAgICB7PDwieG1sbnMiPj4s IDw8InZjYXJkLXRlbXAiPj59XSwgWwotKwkJe3htbGVsLCA8PCJOSUNLTkFNRSI+PiwgW10sIFt7 eG1sY2RhdGEsIE5pY2tuYW1lfV19Ci0rICAgICAgICAgICAgXQotKwkgIH19KSwKLSsgICAgY2Fz ZSBSIG9mCi0rCXtpcSwgW10sIHJlc3VsdCwgW10sIF9MLCBbXX0gLT4KLSsJICAgIG9rOwotKwlf IC0+Ci0rCSAgICBlcnJvcgotKyAgICBlbmQuCi0rCi0rZ2V0X3ZjYXJkKFVzZXIsIEhvc3QsIE5h bWUpIC0+Ci0rICAgIFtSZXMgfCBfXSA9IGdldF92Y2FyZF9jb250ZW50KFVzZXIsIEhvc3QsIFtO YW1lXSksCi0rICAgIFJlcy4KLSsKLStnZXRfdmNhcmQoVXNlciwgSG9zdCwgTmFtZSwgU3VibmFt ZSkgLT4KLSsgICAgW1JlcyB8IF9dID0gZ2V0X3ZjYXJkX2NvbnRlbnQoVXNlciwgSG9zdCwgW05h bWUsIFN1Ym5hbWVdKSwKLSsgICAgUmVzLgotKwotK2dldF92Y2FyZF9tdWx0aShVc2VyLCBIb3N0 LCBOYW1lLCBTdWJuYW1lKSAtPgotKyAgICBnZXRfdmNhcmRfY29udGVudChVc2VyLCBIb3N0LCBb TmFtZSwgU3VibmFtZV0pLgotKwotK3NldF92Y2FyZChVc2VyLCBIb3N0LCBOYW1lLCBTb21lQ29u dGVudCkgLT4KLSsgICAgc2V0X3ZjYXJkX2NvbnRlbnQoVXNlciwgSG9zdCwgW05hbWVdLCBTb21l Q29udGVudCkuCi0rCi0rc2V0X3ZjYXJkKFVzZXIsIEhvc3QsIE5hbWUsIFN1Ym5hbWUsIFNvbWVD b250ZW50KSAtPgotKyAgICBzZXRfdmNhcmRfY29udGVudChVc2VyLCBIb3N0LCBbTmFtZSwgU3Vi bmFtZV0sIFNvbWVDb250ZW50KS4KLSsKLSsKLSslJQotKyUlIEludGVybmFsIHZjYXJkCi0rCi0r Z2V0X21vZHVsZV9yZXNvdXJjZShTZXJ2ZXIpIC0+Ci0rICAgIGNhc2UgZ2VuX21vZDpnZXRfbW9k dWxlX29wdChTZXJ2ZXIsID9NT0RVTEUsIG1vZHVsZV9yZXNvdXJjZSwgZnVuKEEpIC0+IEEgZW5k LCBub25lKSBvZgotKwlub25lIC0+IGxpc3RfdG9fYmluYXJ5KGF0b21fdG9fbGlzdCg/TU9EVUxF KSk7Ci0rCVIgd2hlbiBpc19iaW5hcnkoUikgLT4gUgotKyAgICBlbmQuCi0rCi0rZ2V0X3ZjYXJk X2NvbnRlbnQoVXNlciwgU2VydmVyLCBEYXRhKSAtPgotKyAgICBbe18sIE1vZHVsZSwgRnVuY3Rp b24sIF9PcHRzfV0gPSBldHM6bG9va3VwKHNtX2lxdGFibGUsIHs/TlNfVkNBUkQsIFNlcnZlcn0p LAotKyAgICBKSUQgPSBqbGliOm1ha2VfamlkKFVzZXIsIFNlcnZlciwgZ2V0X21vZHVsZV9yZXNv dXJjZShTZXJ2ZXIpKSwKLSsgICAgSVEgPSAjaXF7dHlwZSA9IGdldCwgeG1sbnMgPSA/TlNfVkNB UkR9LAotKyAgICBJUXIgPSBNb2R1bGU6RnVuY3Rpb24oSklELCBKSUQsIElRKSwKLSsgICAgY2Fz ZSBJUXIjaXEuc3ViX2VsIG9mCi0rCVtBMV0gLT4KLSsJICAgIGNhc2UgZ2V0X3ZjYXJkKERhdGEs IEExKSBvZgotKwkJW10gLT4gdGhyb3coZXJyb3Jfbm9fdmFsdWVfZm91bmRfaW5fdmNhcmQpOwot KwkJRWxlbUxpc3QgLT4gW3htbDpnZXRfdGFnX2NkYXRhKEVsZW0pIHx8IEVsZW0gPC0gRWxlbUxp c3RdCi0rCSAgICBlbmQ7Ci0rCVtdIC0+Ci0rCSAgICB0aHJvdyhlcnJvcl9ub192Y2FyZF9mb3Vu ZCkKLSsgICAgZW5kLgotKwotK2dldF92Y2FyZChbRGF0YTEsIERhdGEyXSwgQTEpIC0+Ci0rICAg IGNhc2UgZ2V0X3N1YnRhZyhBMSwgRGF0YTEpIG9mCi0rICAgIAlmYWxzZSAtPiBmYWxzZTsKLSsJ QTJMaXN0IC0+IGxpc3RzOmZsYXR0ZW4oW2dldF92Y2FyZChbRGF0YTJdLCBBMikgfHwgQTIgPC0g QTJMaXN0XSkKLSsgICAgZW5kOwotKwotK2dldF92Y2FyZChbRGF0YV0sIEExKSAtPgotKyAgICBn ZXRfc3VidGFnKEExLCBEYXRhKS4KLSsKLStnZXRfc3VidGFnKFhtbGVsZW1lbnQsIE5hbWUpIC0+ Ci0rICAgIGNhc2UgY29kZTplbnN1cmVfbG9hZGVkKGV4bXBwX3htbCkgb2YKLSsJe2Vycm9yLCBf fSAtPgotKwkgICAgW2dldF9zdWJ0YWdfeG1sKFhtbGVsZW1lbnQsIE5hbWUpXTsKLSsJe21vZHVs ZSwgZXhtcHBfeG1sfSAtPgotKwkgICAgZ2V0X3N1YnRhZ19leG1wcChYbWxlbGVtZW50LCBOYW1l KQotKyAgICBlbmQuCi0rCi0rZ2V0X3N1YnRhZ194bWwoWG1sZWxlbWVudCwgTmFtZSkgLT4KLSsg ICAgeG1sOmdldF9zdWJ0YWcoWG1sZWxlbWVudCwgTmFtZSkuCi0rCi0rZ2V0X3N1YnRhZ19leG1w cChYbWxlbGVtZW50LCBOYW1lKSAtPgotKyAgICBYbWxlbCA9IGV4bXBwX3htbDp4bWxlbGVtZW50 X3RvX3htbGVsKFhtbGVsZW1lbnQpLAotKyAgICBYbWxlbExpc3QgPSBleG1wcF94bWw6Z2V0X2Vs ZW1lbnRzKFhtbGVsLCBOYW1lKSwKLSsgICAgW2V4bXBwX3htbDp4bWxlbF90b194bWxlbGVtZW50 KFhtbGVsMikgfHwgWG1sZWwyIDwtIFhtbGVsTGlzdF0uCi0rCi0rc2V0X3ZjYXJkX2NvbnRlbnQo VXNlciwgU2VydmVyLCBEYXRhLCBTb21lQ29udGVudCkgLT4KLSsgICAgQ29udGVudExpc3QgPSBj YXNlIFNvbWVDb250ZW50IG9mCi0rCVtCaW4gfCBfXSB3aGVuIGlzX2JpbmFyeShCaW4pIC0+IFNv bWVDb250ZW50OwotKwlCaW4gd2hlbiBpc19iaW5hcnkoQmluKSAtPiBbU29tZUNvbnRlbnRdCi0r ICAgIGVuZCwKLSsgICAgW3tfLCBNb2R1bGUsIEZ1bmN0aW9uLCBfT3B0c31dID0gZXRzOmxvb2t1 cChzbV9pcXRhYmxlLCB7P05TX1ZDQVJELCBTZXJ2ZXJ9KSwKLSsgICAgSklEID0gamxpYjptYWtl X2ppZChVc2VyLCBTZXJ2ZXIsIGdldF9tb2R1bGVfcmVzb3VyY2UoU2VydmVyKSksCi0rICAgIElR ID0gI2lxe3R5cGUgPSBnZXQsIHhtbG5zID0gP05TX1ZDQVJEfSwKLSsgICAgSVFyID0gTW9kdWxl OkZ1bmN0aW9uKEpJRCwgSklELCBJUSksCi0rCi0rICAgICUlIEdldCBvbGQgdmNhcmQKLSsgICAg QTQgPSBjYXNlIElRciNpcS5zdWJfZWwgb2YKLSsJICAgICBbQTFdIC0+Ci0rCQkge18sIF8sIF8s IEEyfSA9IEExLAotKwkJIHVwZGF0ZV92Y2FyZF9lbHMoRGF0YSwgQ29udGVudExpc3QsIEEyKTsK LSsJICAgICBbXSAtPgotKwkJIHVwZGF0ZV92Y2FyZF9lbHMoRGF0YSwgQ29udGVudExpc3QsIFtd KQotKwkgZW5kLAotKwotKyAgICAlJSBCdWlsZCBuZXcgdmNhcmQKLSsgICAgU3ViRWwgPSB7eG1s ZWwsIDw8InZDYXJkIj4+LCBbezw8InhtbG5zIj4+LDw8InZjYXJkLXRlbXAiPj59XSwgQTR9LAot KyAgICBJUTIgPSAjaXF7dHlwZT1zZXQsIHN1Yl9lbCA9IFN1YkVsfSwKLSsKLSsgICAgTW9kdWxl OkZ1bmN0aW9uKEpJRCwgSklELCBJUTIpLAotKyAgICBvay4KLSsKLSt1cGRhdGVfdmNhcmRfZWxz KERhdGEsIENvbnRlbnRMaXN0LCBFbHMxKSAtPgotKyAgICBFbHMyID0gbGlzdHM6a2V5c29ydCgy LCBFbHMxKSwKLSsgICAgW0RhdGExIHwgRGF0YTJdID0gRGF0YSwKLSsgICAgTmV3RWxzID0gY2Fz ZSBEYXRhMiBvZgotKwkJW10gLT4KLSsJCSAgICBbe3htbGVsLCBEYXRhMSwgW10sIFt7eG1sY2Rh dGEsQ29udGVudH1dfSB8fCBDb250ZW50IDwtIENvbnRlbnRMaXN0XTsKLSsJCVtEMl0gLT4KLSsJ CSAgICBPbGRFbCA9IGNhc2UgbGlzdHM6a2V5c2VhcmNoKERhdGExLCAyLCBFbHMyKSBvZgotKwkJ CQl7dmFsdWUsIEF9IC0+IEE7Ci0rCQkJCWZhbHNlIC0+IHt4bWxlbCwgRGF0YTEsIFtdLCBbXX0K LSsJCQkgICAgZW5kLAotKwkJICAgIHt4bWxlbCwgXywgXywgQ29udGVudE9sZDF9ID0gT2xkRWws Ci0rCQkgICAgQ29udGVudDIgPSBbe3htbGVsLCBEMiwgW10sIFt7eG1sY2RhdGEsQ29udGVudH1d fSB8fCBDb250ZW50IDwtIENvbnRlbnRMaXN0XSwKLSsJCSAgICBDb250ZW50T2xkMiA9IFtBIHx8 IHtfLCBYLCBfLCBffSA9IEEgPC0gQ29udGVudE9sZDEsIFgvPUQyXSwKLSsJCSAgICBDb250ZW50 T2xkMyA9IGxpc3RzOmtleXNvcnQoMiwgQ29udGVudE9sZDIpLAotKwkJICAgIENvbnRlbnROZXcg PSBsaXN0czprZXltZXJnZSgyLCBDb250ZW50MiwgQ29udGVudE9sZDMpLAotKwkJICAgIFt7eG1s ZWwsIERhdGExLCBbXSwgQ29udGVudE5ld31dCi0rCSAgICBlbmQsCi0rICAgIEVsczMgPSBsaXN0 czprZXlkZWxldGUoRGF0YTEsIDIsIEVsczIpLAotKyAgICBsaXN0czprZXltZXJnZSgyLCBOZXdF bHMsIEVsczMpLgotKwotKwotKyUlJQotKyUlJSBSb3N0ZXIKLSslJSUKLSsKLSthZGRfcm9zdGVy aXRlbShMb2NhbFVzZXIsIExvY2FsU2VydmVyLCBVc2VyLCBTZXJ2ZXIsIE5pY2ssIEdyb3VwLCBT dWJzKSAtPgotKyAgICBjYXNlIGFkZF9yb3N0ZXJpdGVtKExvY2FsVXNlciwgTG9jYWxTZXJ2ZXIs IFVzZXIsIFNlcnZlciwgTmljaywgR3JvdXAsIFN1YnMsIFtdKSBvZgotKwl7YXRvbWljLCBva30g LT4KLSsJICAgIHB1c2hfcm9zdGVyX2l0ZW0oTG9jYWxVc2VyLCBMb2NhbFNlcnZlciwgVXNlciwg U2VydmVyLCB7YWRkLCBOaWNrLCBTdWJzLCBHcm91cH0pLAotKwkgICAgb2s7Ci0rCV8gLT4KLSsJ ICAgIGVycm9yCi0rICAgIGVuZC4KLSsKLSthZGRfcm9zdGVyaXRlbShMVSwgTFMsIFVzZXIsIFNl cnZlciwgTmljaywgR3JvdXAsIFN1YnNjcmlwdGlvbiwgWGF0dHJzKSAtPgotKyAgICBzdWJzY3Jp YmUoTFUsIExTLCBVc2VyLCBTZXJ2ZXIsIE5pY2ssIEdyb3VwLCBTdWJzY3JpcHRpb24sIFhhdHRy cykuCi0rCi0rc3Vic2NyaWJlKExVLCBMUywgVXNlciwgU2VydmVyLCBOaWNrLCBHcm91cCwgU3Vi c2NyaXB0aW9uLCBfWGF0dHJzKSAtPgotKyAgICBJdGVtRWwgPSBidWlsZF9yb3N0ZXJfaXRlbShV c2VyLCBTZXJ2ZXIsIHthZGQsIE5pY2ssIFN1YnNjcmlwdGlvbiwgR3JvdXB9KSwKLSsgICAgbW9k X3Jvc3RlcjpzZXRfaXRlbXMoCi0rCUxVLCBMUywKLSsJe3htbGVsLCA8PCJxdWVyeSI+PiwKLSsg ICAgICAgICAgICBbezw8InhtbG5zIj4+LCA8PCJqYWJiZXI6aXE6cm9zdGVyIj4+fV0sCi0rICAg ICAgICAgICAgW0l0ZW1FbF19KS4KLSsKLStkZWxldGVfcm9zdGVyaXRlbShMb2NhbFVzZXIsIExv Y2FsU2VydmVyLCBVc2VyLCBTZXJ2ZXIpIC0+Ci0rICAgIGNhc2UgdW5zdWJzY3JpYmUoTG9jYWxV c2VyLCBMb2NhbFNlcnZlciwgVXNlciwgU2VydmVyKSBvZgotKwl7YXRvbWljLCBva30gLT4KLSsJ ICAgIHB1c2hfcm9zdGVyX2l0ZW0oTG9jYWxVc2VyLCBMb2NhbFNlcnZlciwgVXNlciwgU2VydmVy LCByZW1vdmUpLAotKwkgICAgb2s7Ci0rCV8gIC0+Ci0rCSAgICBlcnJvcgotKyAgICBlbmQuCi0r Ci0rdW5zdWJzY3JpYmUoTFUsIExTLCBVc2VyLCBTZXJ2ZXIpIC0+Ci0rICAgIEl0ZW1FbCA9IGJ1 aWxkX3Jvc3Rlcl9pdGVtKFVzZXIsIFNlcnZlciwgcmVtb3ZlKSwKLSsgICAgbW9kX3Jvc3Rlcjpz ZXRfaXRlbXMoCi0rCUxVLCBMUywKLSsJe3htbGVsLCA8PCJxdWVyeSI+PiwKLSsgICAgICAgICAg ICBbezw8InhtbG5zIj4+LCA8PCJqYWJiZXI6aXE6cm9zdGVyIj4+fV0sCi0rICAgICAgICAgICAg W0l0ZW1FbF19KS4KLSsKLSslJSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotKyUlIEdl dCBSb3N0ZXIKLSslJSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotKwotK2dldF9yb3N0 ZXIoVXNlciwgU2VydmVyKSAtPgotKyAgICBJdGVtcyA9IGVqYWJiZXJkX2hvb2tzOnJ1bl9mb2xk KHJvc3Rlcl9nZXQsIFNlcnZlciwgW10sIFt7VXNlciwgU2VydmVyfV0pLAotKyAgICBtYWtlX3Jv c3Rlcl94bWxycGMoSXRlbXMpLgotKwotKyUlIE5vdGU6IGlmIGEgY29udGFjdCBpcyBpbiBzZXZl cmFsIGdyb3VwcywgdGhlIGNvbnRhY3QgaXMgcmV0dXJuZWQKLSslJSBzZXZlcmFsIHRpbWVzLCBl YWNoIG9uZSBpbiBhIGRpZmZlcmVudCBncm91cC4KLSttYWtlX3Jvc3Rlcl94bWxycGMoUm9zdGVy KSAtPgotKyAgICBsaXN0czpmb2xkbCgKLSsgICAgICBmdW4oSXRlbSwgUmVzKSAtPgotKwkgICAg ICBKSURTID0gamxpYjpqaWRfdG9fc3RyaW5nKEl0ZW0jcm9zdGVyLmppZCksCi0rCSAgICAgIE5p Y2sgPSBJdGVtI3Jvc3Rlci5uYW1lLAotKwkgICAgICBTdWJzID0gYXRvbV90b19saXN0KEl0ZW0j cm9zdGVyLnN1YnNjcmlwdGlvbiksCi0rCSAgICAgIEFzayA9IGF0b21fdG9fbGlzdChJdGVtI3Jv c3Rlci5hc2spLAotKwkgICAgICBHcm91cHMgPSBjYXNlIEl0ZW0jcm9zdGVyLmdyb3VwcyBvZgot KwkJCSAgIFtdIC0+IFs8PD4+XTsKLSsJCQkgICBHcyAtPiBHcwotKwkJICAgICAgIGVuZCwKLSsJ ICAgICAgSXRlbXNYID0gW3tKSURTLCBOaWNrLCBTdWJzLCBBc2ssIEdyb3VwfSB8fCBHcm91cCA8 LSBHcm91cHNdLAotKwkgICAgICBJdGVtc1ggKysgUmVzCi0rICAgICAgZW5kLAotKyAgICAgIFtd LAotKyAgICAgIFJvc3RlcikuCi0rCi0rCi0rJSUtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQotKyUlIFB1c2ggUm9zdGVyIGZyb20gZmlsZQotKyUlLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KLSsKLStwdXNoX3Jvc3RlcihGaWxlLCBVc2VyLCBTZXJ2ZXIpIC0+Ci0rICAgIHtvaywg W1Jvc3Rlcl19ID0gZmlsZTpjb25zdWx0KEZpbGUpLAotKyAgICBzdWJzY3JpYmVfcm9zdGVyKHtV c2VyLCBTZXJ2ZXIsIDw8Pj4sIFVzZXJ9LCBSb3N0ZXIpLgotKwotK3B1c2hfcm9zdGVyX2FsbChG aWxlKSAtPgotKyAgICB7b2ssIFtSb3N0ZXJdfSA9IGZpbGU6Y29uc3VsdChGaWxlKSwKLSsgICAg c3Vic2NyaWJlX2FsbChSb3N0ZXIpLgotKwotK3N1YnNjcmliZV9hbGwoUm9zdGVyKSAtPgotKyAg ICBzdWJzY3JpYmVfYWxsKFJvc3RlciwgUm9zdGVyKS4KLStzdWJzY3JpYmVfYWxsKFtdLCBfKSAt PgotKyAgICBvazsKLStzdWJzY3JpYmVfYWxsKFtVc2VyMSB8IFVzZXJzXSwgUm9zdGVyKSAtPgot KyAgICBzdWJzY3JpYmVfcm9zdGVyKFVzZXIxLCBSb3N0ZXIpLAotKyAgICBzdWJzY3JpYmVfYWxs KFVzZXJzLCBSb3N0ZXIpLgotKwotK3N1YnNjcmliZV9yb3N0ZXIoXywgW10pIC0+Ci0rICAgIG9r OwotKyUlIERvIG5vdCBzdWJzY3JpYmUgYSB1c2VyIHRvIGl0c2VsZgotK3N1YnNjcmliZV9yb3N0 ZXIoe05hbWUsIFNlcnZlciwgR3JvdXAsIE5pY2t9LCBbe05hbWUsIFNlcnZlciwgXywgX30gfCBS b3N0ZXJdKSAtPgotKyAgICBzdWJzY3JpYmVfcm9zdGVyKHtOYW1lLCBTZXJ2ZXIsIEdyb3VwLCBO aWNrfSwgUm9zdGVyKTsKLSslJSBTdWJzY3JpYmUgTmFtZTIgdG8gTmFtZTEKLStzdWJzY3JpYmVf cm9zdGVyKHtOYW1lMSwgU2VydmVyMSwgR3JvdXAxLCBOaWNrMX0sIFt7TmFtZTIsIFNlcnZlcjIs IEdyb3VwMiwgTmljazJ9IHwgUm9zdGVyXSkgLT4KLSsgICAgc3Vic2NyaWJlKE5hbWUxLCBTZXJ2 ZXIxLCBOYW1lMiwgU2VydmVyMiwgTmljazIsIEdyb3VwMiwgPDwiYm90aCI+PiwgW10pLAotKyAg ICBzdWJzY3JpYmVfcm9zdGVyKHtOYW1lMSwgU2VydmVyMSwgR3JvdXAxLCBOaWNrMX0sIFJvc3Rl cikuCi0rCi0rcHVzaF9hbGx0b2FsbChTLCBHKSAtPgotKyAgICBVc2VycyA9IGVqYWJiZXJkX2F1 dGg6Z2V0X3ZoX3JlZ2lzdGVyZWRfdXNlcnMoUyksCi0rICAgIFVzZXJzMiA9IGJ1aWxkX2xpc3Rf dXNlcnMoRywgVXNlcnMsIFtdKSwKLSsgICAgc3Vic2NyaWJlX2FsbChVc2VyczIpLAotKyAgICBv ay4KLSsKLStidWlsZF9saXN0X3VzZXJzKF9Hcm91cCwgW10sIFJlcykgLT4KLSsgICAgUmVzOwot K2J1aWxkX2xpc3RfdXNlcnMoR3JvdXAsIFt7VXNlciwgU2VydmVyfXxVc2Vyc10sIFJlcykgLT4K LSsgICAgYnVpbGRfbGlzdF91c2VycyhHcm91cCwgVXNlcnMsIFt7VXNlciwgU2VydmVyLCBHcm91 cCwgVXNlcn18UmVzXSkuCi0rCi0rJSUgQHNwZWMoTFUsIExTLCBVLCBTLCBBY3Rpb24pIC0+IG9r Ci0rJSUgICAgICAgQWN0aW9uID0ge2FkZCwgTmljaywgU3VicywgR3JvdXB9IHwgcmVtb3ZlCi0r JSUgQGRvYyBQdXNoIHRvIHRoZSByb3N0ZXIgb2YgYWNjb3VudCBMVUBMUyB0aGUgY29udGFjdCBV QFMuCi0rJSUgVGhlIHNwZWNpZmljIGFjdGlvbiB0byBwZXJmb3JtIGlzIGRlZmluZWQgaW4gQWN0 aW9uLgotK3B1c2hfcm9zdGVyX2l0ZW0oTFUsIExTLCBVLCBTLCBBY3Rpb24pIC0+Ci0rICAgIGxp c3RzOmZvcmVhY2goZnVuKFIpIC0+Ci0rCQkJICBwdXNoX3Jvc3Rlcl9pdGVtKExVLCBMUywgUiwg VSwgUywgQWN0aW9uKQotKwkJICBlbmQsIGVqYWJiZXJkX3NtOmdldF91c2VyX3Jlc291cmNlcyhM VSwgTFMpKS4KLSsKLStwdXNoX3Jvc3Rlcl9pdGVtKExVLCBMUywgUiwgVSwgUywgQWN0aW9uKSAt PgotKyAgICBMSklEID0gamxpYjptYWtlX2ppZChMVSwgTFMsIFIpLAotKyAgICBCcm9hZGNhc3RF bCA9IGJ1aWxkX2Jyb2FkY2FzdChVLCBTLCBBY3Rpb24pLAotKyAgICBlamFiYmVyZF9yb3V0ZXI6 cm91dGUoTEpJRCwgTEpJRCwgQnJvYWRjYXN0RWwpLAotKyAgICBJdGVtID0gYnVpbGRfcm9zdGVy X2l0ZW0oVSwgUywgQWN0aW9uKSwKLSsgICAgUmVzSVEgPSBidWlsZF9pcV9yb3N0ZXJfcHVzaChJ dGVtKSwKLSsgICAgZWphYmJlcmRfcm91dGVyOnJvdXRlKExKSUQsIExKSUQsIFJlc0lRKS4KLSsK LStidWlsZF9yb3N0ZXJfaXRlbShVLCBTLCB7YWRkLCBOaWNrLCBTdWJzLCBHcm91cH0pIC0+Ci0r ICAgIHt4bWxlbCwgPDwiaXRlbSI+PiwKLSsgICAgIFt7PDwiamlkIj4+LCBqbGliOmppZF90b19z dHJpbmcoamxpYjptYWtlX2ppZChVLCBTLCA8PD4+KSl9LAotKyAgICAgIHs8PCJuYW1lIj4+LCBO aWNrfSwKLSsgICAgICB7PDwic3Vic2NyaXB0aW9uIj4+LCBTdWJzfV0sCi0rICAgICBbe3htbGVs LCA8PCJncm91cCI+PiwgW10sIFt7eG1sY2RhdGEsIEdyb3VwfV19XQotKyAgICB9OwotK2J1aWxk X3Jvc3Rlcl9pdGVtKFUsIFMsIHJlbW92ZSkgLT4KLSsgICAge3htbGVsLCA8PCJpdGVtIj4+LAot KyAgICAgW3s8PCJqaWQiPj4sIGpsaWI6amlkX3RvX3N0cmluZyhqbGliOm1ha2VfamlkKFUsIFMs IDw8Pj4pKX0sCi0rICAgICAgezw8InN1YnNjcmlwdGlvbiI+PiwgPDwicmVtb3ZlIj4+fV0sCi0r ICAgICBbXQotKyAgICB9LgotKwotK2J1aWxkX2lxX3Jvc3Rlcl9wdXNoKEl0ZW0pIC0+Ci0rICAg IHt4bWxlbCwgPDwiaXEiPj4sCi0rICAgICBbezw8InR5cGUiPj4sIDw8InNldCI+Pn0sIHs8PCJp ZCI+PiwgPDwicHVzaCI+Pn1dLAotKyAgICAgW3t4bWxlbCwgPDwicXVlcnkiPj4sCi0rICAgICAg IFt7PDwieG1sbnMiPj4sID9OU19ST1NURVJ9XSwKLSsgICAgICAgW0l0ZW1dCi0rICAgICAgfQot KyAgICAgXQotKyAgICB9LgotKwotK2J1aWxkX2Jyb2FkY2FzdChVLCBTLCB7YWRkLCBfTmljaywg U3VicywgX0dyb3VwfSkgLT4KLSsgICAgYnVpbGRfYnJvYWRjYXN0KFUsIFMsIGxpc3RfdG9fYXRv bShiaW5hcnlfdG9fbGlzdChTdWJzKSkpOwotK2J1aWxkX2Jyb2FkY2FzdChVLCBTLCByZW1vdmUp IC0+Ci0rICAgIGJ1aWxkX2Jyb2FkY2FzdChVLCBTLCBub25lKTsKLSslJSBAc3BlYyAoVTo6Ymlu YXJ5KCksIFM6OmJpbmFyeSgpLCBTdWJzOjphdG9tKCkpIC0+IGFueSgpCi0rJSUgU3VicyA9IGJv dGggfCBmcm9tIHwgdG8gfCBub25lCi0rYnVpbGRfYnJvYWRjYXN0KFUsIFMsIFN1YnNBdG9tKSB3 aGVuIGlzX2F0b20oU3Vic0F0b20pIC0+Ci0rICAgIHticm9hZGNhc3QsIHtpdGVtLCB7VSwgUywg PDw+Pn0sIFN1YnNBdG9tfX0uCi0rCi0rJSUlCi0rJSUlIExhc3QgQWN0aXZpdHkKLSslJSUKLSsK LStnZXRfbGFzdChVc2VyLCBTZXJ2ZXIpIC0+Ci0rICAgIE1vZCA9IGdldF9sYXN0YWN0aXZpdHlf bW9kdWxlKFNlcnZlciksCi0rICAgIGNhc2UgZWphYmJlcmRfc206Z2V0X3VzZXJfcmVzb3VyY2Vz KFVzZXIsIFNlcnZlcikgb2YKLSsgICAgICAgIFtdIC0+Ci0rICAgICAgICAgICAgY2FzZSBNb2Q6 Z2V0X2xhc3RfaW5mbyhVc2VyLCBTZXJ2ZXIpIG9mCi0rICAgICAgICAgICAgICAgIG5vdF9mb3Vu ZCAtPgotKyAgICAgICAgICAgICAgICAgICAgIk5ldmVyIjsKLSsgICAgICAgICAgICAgICAge29r LCBTaGlmdCwgX1N0YXR1c30gLT4KLSsgICAgICAgICAgICAgICAgICAgIFRpbWVTdGFtcCA9IHtT aGlmdCBkaXYgMTAwMDAwMCwKLSsgICAgICAgICAgICAgICAgICAgICAgICBTaGlmdCByZW0gMTAw MDAwMCwKLSsgICAgICAgICAgICAgICAgICAgICAgICAwfSwKLSsgICAgICAgICAgICAgICAgICAg IHt7WWVhciwgTW9udGgsIERheX0sIHtIb3VyLCBNaW51dGUsIFNlY29uZH19ID0KLSsgICAgICAg ICAgICAgICAgICAgICAgICBjYWxlbmRhcjpub3dfdG9fbG9jYWxfdGltZShUaW1lU3RhbXApLAot KyAgICAgICAgICAgICAgICAgICAgbGlzdHM6ZmxhdHRlbigKLSsgICAgICAgICAgICAgICAgICAg ICAgICBpb19saWI6Zm9ybWF0KAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAifnctfi4y LjB3LX4uMi4wdyB+LjIuMHc6fi4yLjB3On4uMi4wdyIsCi0rICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFtZZWFyLCBNb250aCwgRGF5LCBIb3VyLCBNaW51dGUsIFNlY29uZF0pKQotKyAgICAg ICAgICAgIGVuZDsKLSsgICAgICAgIF8gLT4KLSsgICAgICAgICAgICAiT25saW5lIgotKyAgICBl bmQuCi0rCi0rc2V0X2xhc3QoVXNlciwgU2VydmVyLCBUaW1lc3RhbXAsIFN0YXR1cykgLT4KLSsg ICAgTW9kID0gZ2V0X2xhc3RhY3Rpdml0eV9tb2R1bGUoU2VydmVyKSwKLSsgICAgTW9kOnN0b3Jl X2xhc3RfaW5mbyhVc2VyLCBTZXJ2ZXIsIFRpbWVzdGFtcCwgU3RhdHVzKS4KLSsKLSslJSUKLSsl JSUgUHJpdmF0ZSBTdG9yYWdlCi0rJSUlCi0rCi0rJSUgRXhhbXBsZSB1c2FnZToKLSslJSAkIGVq YWJiZXJkY3RsIHByaXZhdGVfc2V0IGJhZGxvcCBsb2NhbGhvc3QgIlw8YWFcIHhtbG5zPVwnYmJc J1w+Q2x1dGhcPC9hYVw+IgotKyUlICQgZWphYmJlcmRjdGwgcHJpdmF0ZV9nZXQgYmFkbG9wIGxv Y2FsaG9zdCBhYSBiYgotKyUlIDxhYSB4bWxucz0nYmInPkNsdXRoPC9hYT4KLSsKLStwcml2YXRl X2dldChVc2VybmFtZSwgSG9zdCwgRWxlbWVudCwgTnMpIC0+Ci0rICAgIEZyb20gPSBqbGliOm1h a2VfamlkKFVzZXJuYW1lLCBIb3N0LCA8PD4+KSwKLSsgICAgVG8gPSBqbGliOm1ha2VfamlkKFVz ZXJuYW1lLCBIb3N0LCA8PD4+KSwKLSsgICAgSVEgPSB7aXEsIDw8Pj4sIGdldCwgP05TX1BSSVZB VEUsIDw8Pj4sCi0rCSAge3htbGVsLCA8PCJxdWVyeSI+PiwKLSsJICAgW3s8PCJ4bWxucyI+Piw/ TlNfUFJJVkFURX1dLAotKwkgICBbe3htbGVsLCBFbGVtZW50LCBbezw8InhtbG5zIj4+LCBOc31d LCBbXX1dfX0sCi0rICAgIFJlc0lxID0gbW9kX3ByaXZhdGU6cHJvY2Vzc19zbV9pcShGcm9tLCBU bywgSVEpLAotKyAgICBbe3htbGVsLCA8PCJxdWVyeSI+PiwKLSsgICAgICBbezw8InhtbG5zIj4+ LCA8PCJqYWJiZXI6aXE6cHJpdmF0ZSI+Pn1dLAotKyAgICAgIFtTdWJFbF19XSA9IFJlc0lxI2lx LnN1Yl9lbCwKLSsgICAgeG1sOmVsZW1lbnRfdG9fc3RyaW5nKFN1YkVsKS4KLSsKLStwcml2YXRl X3NldChVc2VybmFtZSwgSG9zdCwgRWxlbWVudFN0cmluZykgLT4KLSsgICAgY2FzZSB4bWxfc3Ry ZWFtOnBhcnNlX2VsZW1lbnQoRWxlbWVudFN0cmluZykgb2YKLSsJe2Vycm9yLCBFcnJvcn0gLT4K LSsJICAgIGlvOmZvcm1hdCgiRXJyb3IgZm91bmQgcGFyc2luZyB0aGUgZWxlbWVudDp+biAgfnB+ bkVycm9yOiB+cH5uIiwKLSsJCSAgICAgIFtFbGVtZW50U3RyaW5nLCBFcnJvcl0pLAotKwkgICAg ZXJyb3I7Ci0rCVhtbCAtPgotKwkgICAgcHJpdmF0ZV9zZXQyKFVzZXJuYW1lLCBIb3N0LCBYbWwp Ci0rICAgIGVuZC4KLSsKLStwcml2YXRlX3NldDIoVXNlcm5hbWUsIEhvc3QsIFhtbCkgLT4KLSsg ICAgRnJvbSA9IGpsaWI6bWFrZV9qaWQoVXNlcm5hbWUsIEhvc3QsIDw8Pj4pLAotKyAgICBUbyA9 IGpsaWI6bWFrZV9qaWQoVXNlcm5hbWUsIEhvc3QsIDw8Pj4pLAotKyAgICBJUSA9IHtpcSwgPDw+ Piwgc2V0LCA/TlNfUFJJVkFURSwgPDw+PiwKLSsJICB7eG1sZWwsIDw8InF1ZXJ5Ij4+LAotKwkg ICBbezw8InhtbG5zIj4+LCA/TlNfUFJJVkFURX1dLAotKwkgICBbWG1sXX19LAotKyAgICBtb2Rf cHJpdmF0ZTpwcm9jZXNzX3NtX2lxKEZyb20sIFRvLCBJUSksCi0rICAgIG9rLgotKwotKyUlJQot KyUlJSBTaGFyZWQgUm9zdGVyIEdyb3VwcwotKyUlJQotKwotK3NyZ19jcmVhdGUoR3JvdXAsIEhv c3QsIE5hbWUsIERlc2NyaXB0aW9uLCBEaXNwbGF5KSAtPgotKyAgICBEaXNwbGF5TGlzdCA9IGNh c2UgRGlzcGxheSBvZgotKwlbXSAtPiBbXTsKLSsJXyAtPiBlamFiYmVyZF9yZWdleHA6c3BsaXQo RGlzcGxheSwgPDwiXFxcXG4iPj4pCi0rICAgIGVuZCwKLSsgICAgT3B0cyA9IFt7bmFtZSwgTmFt ZX0sCi0rCSAgICB7ZGlzcGxheWVkX2dyb3VwcywgRGlzcGxheUxpc3R9LAotKwkgICAge2Rlc2Ny aXB0aW9uLCBEZXNjcmlwdGlvbn1dLAotKyAgICB7YXRvbWljLCBva30gPSBtb2Rfc2hhcmVkX3Jv c3RlcjpjcmVhdGVfZ3JvdXAoSG9zdCwgR3JvdXAsIE9wdHMpLAotKyAgICBvay4KLSsKLStzcmdf ZGVsZXRlKEdyb3VwLCBIb3N0KSAtPgotKyAgICB7YXRvbWljLCBva30gPSBtb2Rfc2hhcmVkX3Jv c3RlcjpkZWxldGVfZ3JvdXAoSG9zdCwgR3JvdXApLAotKyAgICBvay4KLSsKLStzcmdfbGlzdChI b3N0KSAtPgotKyAgICBsaXN0czpzb3J0KG1vZF9zaGFyZWRfcm9zdGVyOmxpc3RfZ3JvdXBzKEhv c3QpKS4KLSsKLStzcmdfZ2V0X2luZm8oR3JvdXAsIEhvc3QpIC0+Ci0rICAgIE9wdHMgPSBjYXNl IG1vZF9zaGFyZWRfcm9zdGVyOmdldF9ncm91cF9vcHRzKEhvc3QsR3JvdXApIG9mCi0rCU9zIHdo ZW4gaXNfbGlzdChPcykgLT4gT3M7Ci0rCWVycm9yIC0+IFtdCi0rICAgIGVuZCwKLSsgICAgW3tp b19saWI6Zm9ybWF0KCJ+cCIsIFtUaXRsZV0pLAotKyAgICAgIGlvX2xpYjpmb3JtYXQoIn5wIiwg W1ZhbHVlXSl9IHx8IHtUaXRsZSwgVmFsdWV9IDwtIE9wdHNdLgotKwotK3NyZ19nZXRfbWVtYmVy cyhHcm91cCwgSG9zdCkgLT4KLSsgICAgTWVtYmVycyA9IG1vZF9zaGFyZWRfcm9zdGVyOmdldF9n cm91cF9leHBsaWNpdF91c2VycyhIb3N0LEdyb3VwKSwKLSsgICAgW2psaWI6amlkX3RvX3N0cmlu ZyhqbGliOm1ha2VfamlkKE1Vc2VyLCBNU2VydmVyLCA8PD4+KSkKLSsgICAgIHx8IHtNVXNlciwg TVNlcnZlcn0gPC0gTWVtYmVyc10uCi0rCi0rc3JnX3VzZXJfYWRkKFVzZXIsIEhvc3QsIEdyb3Vw LCBHcm91cEhvc3QpIC0+Ci0rICAgIHthdG9taWMsIG9rfSA9IG1vZF9zaGFyZWRfcm9zdGVyOmFk ZF91c2VyX3RvX2dyb3VwKEdyb3VwSG9zdCwge1VzZXIsIEhvc3R9LCBHcm91cCksCi0rICAgIG9r LgotKwotK3NyZ191c2VyX2RlbChVc2VyLCBIb3N0LCBHcm91cCwgR3JvdXBIb3N0KSAtPgotKyAg ICB7YXRvbWljLCBva30gPSBtb2Rfc2hhcmVkX3Jvc3RlcjpyZW1vdmVfdXNlcl9mcm9tX2dyb3Vw KEdyb3VwSG9zdCwge1VzZXIsIEhvc3R9LCBHcm91cCksCi0rICAgIG9rLgotKwotKwotKyUlJQot KyUlJSBTdGFuemEKLSslJSUKLSsKLSslJSBAZG9jIFNlbmQgYSBjaGF0IG1lc3NhZ2UgdG8gYSBK YWJiZXIgYWNjb3VudC4KLSslJSBAc3BlYyAoRnJvbTo6YmluYXJ5KCksIFRvOjpiaW5hcnkoKSwg Qm9keTo6YmluYXJ5KCkpIC0+IG9rCi0rc2VuZF9tZXNzYWdlX2NoYXQoRnJvbSwgVG8sIEJvZHkp IC0+Ci0rICAgIFBhY2tldCA9IGJ1aWxkX3BhY2tldChtZXNzYWdlX2NoYXQsIFtCb2R5XSksCi0r ICAgIHNlbmRfcGFja2V0X2FsbF9yZXNvdXJjZXMoRnJvbSwgVG8sIFBhY2tldCkuCi0rCi0rJSUg QGRvYyBTZW5kIGEgaGVhZGxpbmUgbWVzc2FnZSB0byBhIEphYmJlciBhY2NvdW50LgotKyUlIEBz cGVjIChGcm9tOjpiaW5hcnkoKSwgVG86OmJpbmFyeSgpLCBTdWJqZWN0OjpiaW5hcnkoKSwgQm9k eTo6YmluYXJ5KCkpIC0+IG9rCi0rc2VuZF9tZXNzYWdlX2hlYWRsaW5lKEZyb20sIFRvLCBTdWJq ZWN0LCBCb2R5KSAtPgotKyAgICBQYWNrZXQgPSBidWlsZF9wYWNrZXQobWVzc2FnZV9oZWFkbGlu ZSwgW1N1YmplY3QsIEJvZHldKSwKLSsgICAgc2VuZF9wYWNrZXRfYWxsX3Jlc291cmNlcyhGcm9t LCBUbywgUGFja2V0KS4KLSsKLSslJSBAZG9jIFNlbmQgYSBwYWNrZXQgdG8gYSBKYWJiZXIgYWNj b3VudC4KLSslJSBJZiBhIHJlc291cmNlIHdhcyBzcGVjaWZpZWQgaW4gdGhlIEpJRCwKLSslJSB0 aGUgcGFja2V0IGlzIHNlbnQgb25seSB0byB0aGF0IHNwZWNpZmljIHJlc291cmNlLgotKyUlIElm IG5vIHJlc291cmNlIHdhcyBzcGVjaWZpZWQgaW4gdGhlIEpJRCwKLSslJSBhbmQgdGhlIHVzZXIg aXMgcmVtb3RlIG9yIGxvY2FsIGJ1dCBvZmZsaW5lLAotKyUlIHRoZSBwYWNrZXQgaXMgc2VudCB0 byB0aGUgYmFyZSBKSUQuCi0rJSUgSWYgdGhlIHVzZXIgaXMgbG9jYWwgYW5kIGlzIG9ubGluZSBp biBzZXZlcmFsIHJlc291cmNlcywKLSslJSB0aGUgcGFja2V0IGlzIHNlbnQgdG8gYWxsIGl0cyBy ZXNvdXJjZXMuCi0rc2VuZF9wYWNrZXRfYWxsX3Jlc291cmNlcyhGcm9tSklEU3RyaW5nLCBUb0pJ RFN0cmluZywgUGFja2V0KSAtPgotKyAgICBGcm9tSklEID0gamxpYjpzdHJpbmdfdG9famlkKEZy b21KSURTdHJpbmcpLAotKyAgICBUb0pJRCA9IGpsaWI6c3RyaW5nX3RvX2ppZChUb0pJRFN0cmlu ZyksCi0rICAgIFRvVXNlciA9IFRvSklEI2ppZC51c2VyLAotKyAgICBUb1NlcnZlciA9IFRvSklE I2ppZC5zZXJ2ZXIsCi0rICAgIGNhc2UgVG9KSUQjamlkLnJlc291cmNlIG9mCi0rCTw8Pj4gLT4K LSsJICAgIHNlbmRfcGFja2V0X2FsbF9yZXNvdXJjZXMoRnJvbUpJRCwgVG9Vc2VyLCBUb1NlcnZl ciwgUGFja2V0KTsKLSsJUmVzIC0+Ci0rCSAgICBzZW5kX3BhY2tldF9hbGxfcmVzb3VyY2VzKEZy b21KSUQsIFRvVXNlciwgVG9TZXJ2ZXIsIFJlcywgUGFja2V0KQotKyAgICBlbmQuCi0rCi0rc2Vu ZF9wYWNrZXRfYWxsX3Jlc291cmNlcyhGcm9tSklELCBUb1VzZXIsIFRvU2VydmVyLCBQYWNrZXQp IC0+Ci0rICAgIGNhc2UgZWphYmJlcmRfc206Z2V0X3VzZXJfcmVzb3VyY2VzKFRvVXNlciwgVG9T ZXJ2ZXIpIG9mCi0rCVtdIC0+Ci0rCSAgICBzZW5kX3BhY2tldF9hbGxfcmVzb3VyY2VzKEZyb21K SUQsIFRvVXNlciwgVG9TZXJ2ZXIsIDw8Pj4sIFBhY2tldCk7Ci0rCVRvUmVzb3VyY2VzIC0+Ci0r CSAgICBsaXN0czpmb3JlYWNoKAotKwkgICAgICBmdW4oVG9SZXNvdXJjZSkgLT4KLSsJCSAgICAg IHNlbmRfcGFja2V0X2FsbF9yZXNvdXJjZXMoRnJvbUpJRCwgVG9Vc2VyLCBUb1NlcnZlciwKLSsJ CQkJCQlUb1Jlc291cmNlLCBQYWNrZXQpCi0rCSAgICAgIGVuZCwKLSsJICAgICAgVG9SZXNvdXJj ZXMpCi0rICAgIGVuZC4KLSsKLStzZW5kX3BhY2tldF9hbGxfcmVzb3VyY2VzKEZyb21KSUQsIFRv VSwgVG9TLCBUb1IsIFBhY2tldCkgLT4KLSsgICAgVG9KSUQgPSBqbGliOm1ha2VfamlkKFRvVSwg VG9TLCBUb1IpLAotKyAgICBlamFiYmVyZF9yb3V0ZXI6cm91dGUoRnJvbUpJRCwgVG9KSUQsIFBh Y2tldCkuCi0rCi0rCi0rYnVpbGRfcGFja2V0KG1lc3NhZ2VfY2hhdCwgW0JvZHldKSAtPgotKyAg ICB7eG1sZWwsIDw8Im1lc3NhZ2UiPj4sCi0rICAgICBbezw8InR5cGUiPj4sIDw8ImNoYXQiPj59 LCB7PDwiaWQiPj4sIHJhbmRvbXM6Z2V0X3N0cmluZygpfV0sCi0rICAgICBbe3htbGVsLCA8PCJi b2R5Ij4+LCBbXSwgW3t4bWxjZGF0YSwgQm9keX1dfV0KLSsgICAgfTsKLStidWlsZF9wYWNrZXQo bWVzc2FnZV9oZWFkbGluZSwgW1N1YmplY3QsIEJvZHldKSAtPgotKyAgICB7eG1sZWwsIDw8Im1l c3NhZ2UiPj4sCi0rICAgICBbezw8InR5cGUiPj4sIDw8ImhlYWRsaW5lIj4+fSwgezw8ImlkIj4+ LCByYW5kb21zOmdldF9zdHJpbmcoKX1dLAotKyAgICAgW3t4bWxlbCwgPDwic3ViamVjdCI+Piwg W10sIFt7eG1sY2RhdGEsIFN1YmplY3R9XX0sCi0rICAgICAge3htbGVsLCA8PCJib2R5Ij4+LCBb XSwgW3t4bWxjZGF0YSwgQm9keX1dfQotKyAgICAgXQotKyAgICB9LgotKwotK3NlbmRfc3Rhbnph X2MycyhVc2VybmFtZSwgSG9zdCwgUmVzb3VyY2UsIFN0YW56YSkgLT4KLSsgICAgQzJzUGlkID0g ZWphYmJlcmRfc206Z2V0X3Nlc3Npb25fcGlkKFVzZXJuYW1lLCBIb3N0LCBSZXNvdXJjZSksCi0r ICAgIFhtbEVsID0geG1sX3N0cmVhbTpwYXJzZV9lbGVtZW50KFN0YW56YSksCi0rICAgIHAxX2Zz bTpzZW5kX2V2ZW50KEMyc1BpZCwge3htbHN0cmVhbWVsZW1lbnQsIFhtbEVsfSkuCi0rCi0rcHJp dmFjeV9zZXQoVXNlcm5hbWUsIEhvc3QsIFF1ZXJ5UykgLT4KLSsgICAgRnJvbSA9IGpsaWI6c3Ry aW5nX3RvX2ppZChVc2VybmFtZSArKyAiQCIgKysgSG9zdCksCi0rICAgIFRvID0gamxpYjpzdHJp bmdfdG9famlkKEhvc3QpLAotKyAgICBRdWVyeUVsID0geG1sX3N0cmVhbTpwYXJzZV9lbGVtZW50 KFF1ZXJ5UyksCi0rICAgIFN0YW56YUVsID0ge3htbGVsLCA8PCJpcSI+PiwgW3s8PCJ0eXBlIj4+ LCA8PCJzZXQiPj59XSwgW1F1ZXJ5RWxdfSwKLSsgICAgSVEgPSBqbGliOmlxX3F1ZXJ5X2luZm8o U3RhbnphRWwpLAotKyAgICBlamFiYmVyZF9ob29rczpydW5fZm9sZCgKLSsJCSAgICAgcHJpdmFj eV9pcV9zZXQsCi0rCQkgICAgIEhvc3QsCi0rCQkgICAgIHtlcnJvciwgP0VSUl9GRUFUVVJFX05P VF9JTVBMRU1FTlRFRH0sCi0rCQkgICAgIFtGcm9tLCBUbywgSVFdCi0rCQkgICAgKSwKLSsgICAg b2suCi0rCi0rJSUlCi0rJSUlIFN0YXRzCi0rJSUlCi0rCi0rc3RhdHMoTmFtZSkgLT4KLSsgICAg Y2FzZSBOYW1lIG9mCi0rCTw8InVwdGltZXNlY29uZHMiPj4gLT4gdHJ1bmMoZWxlbWVudCgxLCBl cmxhbmc6c3RhdGlzdGljcyh3YWxsX2Nsb2NrKSkvMTAwMCk7Ci0rCTw8InJlZ2lzdGVyZWR1c2Vy cyI+PiAtPiBsZW5ndGgoZWphYmJlcmRfYXV0aDpkaXJ0eV9nZXRfcmVnaXN0ZXJlZF91c2Vycygp KTsKLSsJPDwib25saW5ldXNlcnNub2RlIj4+IC0+IGxlbmd0aChlamFiYmVyZF9zbTpkaXJ0eV9n ZXRfbXlfc2Vzc2lvbnNfbGlzdCgpKTsKLSsJPDwib25saW5ldXNlcnMiPj4gLT4gbGVuZ3RoKGVq YWJiZXJkX3NtOmRpcnR5X2dldF9zZXNzaW9uc19saXN0KCkpCi0rICAgIGVuZC4KLSsKLStzdGF0 cyhOYW1lLCBIb3N0KSAtPgotKyAgICBjYXNlIE5hbWUgb2YKLSsJPDwicmVnaXN0ZXJlZHVzZXJz Ij4+IC0+IGxlbmd0aChlamFiYmVyZF9hdXRoOmdldF92aF9yZWdpc3RlcmVkX3VzZXJzKEhvc3Qp KTsKLSsJPDwib25saW5ldXNlcnMiPj4gLT4gbGVuZ3RoKGVqYWJiZXJkX3NtOmdldF92aF9zZXNz aW9uX2xpc3QoSG9zdCkpCi0rICAgIGVuZC4KLSsKLSsKLSsKLSslJS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCi0rJSUgUHVyZ2Ugcm9zdGVyIGl0ZW1zCi0rJSUtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQotKwotK3Byb2Nlc3Nfcm9zdGVyaXRlbXMoQWN0aW9uUywgU3Vic1MsIEFz a3NTLCBVc2Vyc1MsIENvbnRhY3RzUykgLT4KLSsgICAgQWN0aW9uID0gY2FzZSBBY3Rpb25TIG9m Ci0rCQkgImxpc3QiIC0+IGxpc3Q7Ci0rCQkgImRlbGV0ZSIgLT4gZGVsZXRlCi0rCSAgICAgZW5k LAotKwotKyAgICBTdWJzID0gbGlzdHM6Zm9sZGwoCi0rCSAgICAgZnVuKGFueSwgXykgLT4gW25v bmUsIGZyb20sIHRvLCBib3RoXTsKLSsJCShTdWIsIFN1YnMpIC0+IFtTdWIgfCBTdWJzXQotKwkg ICAgIGVuZCwKLSsJICAgICBbXSwKLSsJICAgICBbbGlzdF90b19hdG9tKFMpIHx8IFMgPC0gc3Ry aW5nOnRva2VucyhTdWJzUywgIjoiKV0KLSsJICAgICksCi0rCi0rICAgIEFza3MgPSBsaXN0czpm b2xkbCgKLSsJICAgICBmdW4oYW55LCBfKSAtPiBbbm9uZSwgb3V0LCBpbl07Ci0rCQkoQXNrLCBB c2tzKSAtPiBbQXNrIHwgQXNrc10KLSsJICAgICBlbmQsCi0rCSAgICAgW10sCi0rCSAgICAgW2xp c3RfdG9fYXRvbShTKSB8fCBTIDwtIHN0cmluZzp0b2tlbnMoQXNrc1MsICI6IildCi0rCSAgICAp LAotKwotKyAgICBVc2VycyA9IGxpc3RzOmZvbGRsKAotKwkgICAgICBmdW4oImFueSIsIF8pIC0+ IFsiKiIsICIqQCoiXTsKLSsJCSAoVSwgVXMpIC0+IFtVIHwgVXNdCi0rCSAgICAgIGVuZCwKLSsJ ICAgICAgW10sCi0rCSAgICAgIFtTIHx8IFMgPC0gc3RyaW5nOnRva2VucyhVc2Vyc1MsICI6Iild Ci0rCSAgICAgKSwKLSsKLSsgICAgQ29udGFjdHMgPSBsaXN0czpmb2xkbCgKLSsJCSBmdW4oImFu eSIsIF8pIC0+IFsiKiIsICIqQCoiXTsKLSsJCSAgICAoVSwgVXMpIC0+IFtVIHwgVXNdCi0rCQkg ZW5kLAotKwkJIFtdLAotKwkJIFtTIHx8IFMgPC0gc3RyaW5nOnRva2VucyhDb250YWN0c1MsICI6 IildCi0rCQkpLAotKwotKyAgICBjYXNlIHJvc3Rlcml0ZW1fcHVyZ2Uoe0FjdGlvbiwgU3Vicywg QXNrcywgVXNlcnMsIENvbnRhY3RzfSkgb2YKLSsJe2F0b21pYywgUmVzfSAtPgotKwkgICAgUmVz OwotKwl7ZXJyb3IsIFJlYXNvbn0gLT4KLSsJICAgIGlvOmZvcm1hdCgiRXJyb3IgcHVyZ2luZyBy b3N0ZXJpdGVtczogfnB+biIsIFtSZWFzb25dKSwKLSsJICAgIGVycm9yOwotKwl7YmFkcnBjLCBS ZWFzb259IC0+Ci0rCSAgICBpbzpmb3JtYXQoIkJhZFJQQyBwdXJnaW5nIHJvc3Rlcml0ZW1zOiB+ cH5uIiwgW1JlYXNvbl0pLAotKwkgICAgZXJyb3IKLSsgICAgZW5kLgotKwotKyUlIEBzcGVjICh7 QWN0aW9uOjphdG9tKCksIFN1YnM6OlthdG9tKCldLCBBc2tzOjpbYXRvbSgpXSwgVXNlcjo6c3Ry aW5nKCksIENvbnRhY3Q6OnN0cmluZygpfSkgLT4ge2F0b21pYywgb2t9Ci0rcm9zdGVyaXRlbV9w dXJnZShPcHRpb25zKSAtPgotKyAgICBOdW1fcm9zdGVyaXRlbXMgPSBtbmVzaWE6dGFibGVfaW5m byhyb3N0ZXIsIHNpemUpLAotKyAgICBpbzpmb3JtYXQoIlRoZXJlIGFyZSB+cCByb3N0ZXIgaXRl bXMgaW4gdG90YWwufm4iLCBbTnVtX3Jvc3Rlcml0ZW1zXSksCi0rICAgIEtleSA9IG1uZXNpYTpk aXJ0eV9maXJzdChyb3N0ZXIpLAotKyAgICBSZXMgPSByaXAoS2V5LCBPcHRpb25zLCB7MCwgTnVt X3Jvc3Rlcml0ZW1zLCAwLCAwfSwgW10pLAotKyAgICB7YXRvbWljLCBSZXN9LgotKwotK3JpcCgn JGVuZF9vZl90YWJsZScsIF9PcHRpb25zLCBDb3VudGVycywgUmVzKSAtPgotKyAgICBwcmludF9w cm9ncmVzc19saW5lKENvdW50ZXJzKSwKLSsgICAgUmVzOwotK3JpcChLZXksIE9wdGlvbnMsIHtQ ciwgTlQsIE5WLCBORH0sIFJlcykgLT4KLSsgICAgS2V5X25leHQgPSBtbmVzaWE6ZGlydHlfbmV4 dChyb3N0ZXIsIEtleSksCi0rICAgIHtBY3Rpb24sIF8sIF8sIF8sIF99ID0gT3B0aW9ucywKLSsg ICAge05EMiwgUmVzMn0gPSBjYXNlIGRlY2lkZV9yaXAoS2V5LCBPcHRpb25zKSBvZgotKwkgICAg ICB0cnVlIC0+Ci0rCQkgIEppZHMgPSBhcHBseV9hY3Rpb24oQWN0aW9uLCBLZXkpLAotKwkJICB7 TkQrMSwgW0ppZHMgfCBSZXNdfTsKLSsJICAgICAgZmFsc2UgLT4KLSsJCSAge05ELCBSZXN9Ci0r CSAgZW5kLAotKyAgICBOVjIgPSBOVisxLAotKyAgICBQcjIgPSBwcmludF9wcm9ncmVzc19saW5l KHtQciwgTlQsIE5WMiwgTkQyfSksCi0rICAgIHJpcChLZXlfbmV4dCwgT3B0aW9ucywge1ByMiwg TlQsIE5WMiwgTkQyfSwgUmVzMikuCi0rCi0rYXBwbHlfYWN0aW9uKGxpc3QsIEtleSkgLT4KLSsg ICAge1VzZXIsIFNlcnZlciwgSklEfSA9IEtleSwKLSsgICAge1JVc2VyLCBSU2VydmVyLCBffSA9 IEpJRCwKLSsgICAgSmlkMXN0cmluZyA9IFVzZXIgKysgIkAiICsrIFNlcnZlciwKLSsgICAgSmlk MnN0cmluZyA9IFJVc2VyICsrICJAIiArKyBSU2VydmVyLAotKyAgICBpbzpmb3JtYXQoIk1hdGNo ZXM6IH5zIH5zfm4iLCBbSmlkMXN0cmluZywgSmlkMnN0cmluZ10pLAotKyAgICB7SmlkMXN0cmlu ZywgSmlkMnN0cmluZ307Ci0rYXBwbHlfYWN0aW9uKGRlbGV0ZSwgS2V5KSAtPgotKyAgICBSID0g YXBwbHlfYWN0aW9uKGxpc3QsIEtleSksCi0rICAgIG1uZXNpYTpkaXJ0eV9kZWxldGUocm9zdGVy LCBLZXkpLAotKyAgICBSLgotKwotK3ByaW50X3Byb2dyZXNzX2xpbmUoe1ByLCBOVCwgTlYsIE5E fSkgLT4KLSsgICAgUHIyID0gdHJ1bmMoKE5WL05UKSoxMDApLAotKyAgICBjYXNlIFByID09IFBy MiBvZgotKwl0cnVlIC0+Ci0rCSAgICBvazsKLSsJZmFsc2UgLT4KLSsJICAgIGlvOmZvcm1hdCgi UHJvZ3Jlc3MgfnAlIC0gdmlzaXRlZCB+cCAtIGRlbGV0ZWQgfnB+biIsIFtQcjIsIE5WLCBORF0p Ci0rICAgIGVuZCwKLSsgICAgUHIyLgotKwotK2RlY2lkZV9yaXAoS2V5LCB7X0FjdGlvbiwgU3Vi cywgQXNrcywgVXNlciwgQ29udGFjdH0pIC0+Ci0rICAgIGNhc2UgY2F0Y2ggbW5lc2lhOmRpcnR5 X3JlYWQocm9zdGVyLCBLZXkpIG9mCi0rCVtSSV0gLT4KLSsJICAgIGxpc3RzOm1lbWJlcihSSSNy b3N0ZXIuc3Vic2NyaXB0aW9uLCBTdWJzKQotKwkJYW5kYWxzbyBsaXN0czptZW1iZXIoUkkjcm9z dGVyLmFzaywgQXNrcykKLSsJCWFuZGFsc28gZGVjaWRlX3JpcF9qaWQoUkkjcm9zdGVyLnVzLCBV c2VyKQotKwkJYW5kYWxzbyBkZWNpZGVfcmlwX2ppZChSSSNyb3N0ZXIuamlkLCBDb250YWN0KTsK LSsJXyAtPgotKwkgICAgZmFsc2UKLSsgICAgZW5kLgotKwotKyUlIFJldHVybnMgdHJ1ZSBpZiB0 aGUgc2VydmVyIG9mIHRoZSBKSUQgaXMgaW5jbHVkZWQgaW4gdGhlIHNlcnZlcnMKLStkZWNpZGVf cmlwX2ppZCh7VU5hbWUsIFVTZXJ2ZXIsIF9VUmVzb3VyY2V9LCBNYXRjaF9saXN0KSAtPgotKyAg ICBkZWNpZGVfcmlwX2ppZCh7VU5hbWUsIFVTZXJ2ZXJ9LCBNYXRjaF9saXN0KTsKLStkZWNpZGVf cmlwX2ppZCh7VU5hbWUsIFVTZXJ2ZXJ9LCBNYXRjaF9saXN0KSAtPgotKyAgICBsaXN0czphbnko Ci0rICAgICAgZnVuKE1hdGNoX3N0cmluZykgLT4KLSsJICAgICAgTUpJRCA9IGpsaWI6c3RyaW5n X3RvX2ppZChNYXRjaF9zdHJpbmcpLAotKwkgICAgICBNTmFtZSA9IE1KSUQjamlkLmx1c2VyLAot KwkgICAgICBNU2VydmVyID0gTUpJRCNqaWQubHNlcnZlciwKLSsJICAgICAgSXNfc2VydmVyID0g aXNfZ2xvYl9tYXRjaChVU2VydmVyLCBNU2VydmVyKSwKLSsJICAgICAgY2FzZSBNTmFtZSBvZgot KwkJICBbXSB3aGVuIFVOYW1lID09IFtdIC0+Ci0rCQkgICAgICBJc19zZXJ2ZXI7Ci0rCQkgIFtd IC0+Ci0rCQkgICAgICBmYWxzZTsKLSsJCSAgXyAtPgotKwkJICAgICAgSXNfc2VydmVyCi0rCQkJ ICBhbmRhbHNvIGlzX2dsb2JfbWF0Y2goVU5hbWUsIE1OYW1lKQotKwkgICAgICBlbmQKLSsgICAg ICBlbmQsCi0rICAgICAgTWF0Y2hfbGlzdCkuCi0rCi0rJSUgQ29waWVkIGZyb20gZWphYmJlcmQt Mi4wLjAvc3JjL2FjbC5lcmwKLStpc19yZWdleHBfbWF0Y2goU3RyaW5nLCBSZWdFeHApIC0+Ci0r ICAgIGNhc2UgZWphYmJlcmRfcmVnZXhwOnJ1bihTdHJpbmcsIFJlZ0V4cCkgb2YKLSsJbm9tYXRj aCAtPgotKwkgICAgZmFsc2U7Ci0rCW1hdGNoIC0+Ci0rCSAgICB0cnVlOwotKwl7ZXJyb3IsIEVy ckRlc2N9IC0+Ci0rCSAgICBpbzpmb3JtYXQoCi0rCSAgICAgICJXcm9uZyByZWdleHAgfnAgaW4g QUNMOiB+cCIsCi0rCSAgICAgIFtSZWdFeHAsIEVyckRlc2NdKSwKLSsJICAgIGZhbHNlCi0rICAg IGVuZC4KLStpc19nbG9iX21hdGNoKFN0cmluZywgWyQhIHwgR2xvYl0pIC0+Ci0rICAgIG5vdCBp c19yZWdleHBfbWF0Y2goU3RyaW5nLCBlamFiYmVyZF9yZWdleHA6c2hfdG9fYXdrKEdsb2IpKTsK LStpc19nbG9iX21hdGNoKFN0cmluZywgR2xvYikgLT4KLSsgICAgaXNfcmVnZXhwX21hdGNoKFN0 cmluZywgZWphYmJlcmRfcmVnZXhwOnNoX3RvX2F3ayhHbG9iKSkuCgpkaWZmIC0tZ2l0IGEvZWph YmJlcmQtMDAwNi1FbmFibGUtcG9sa2l0LXN1cHBvcnQucGF0Y2ggYi9lamFiYmVyZC0wMDA2LUVu YWJsZS1wb2xraXQtc3VwcG9ydC5wYXRjaAppbmRleCBhZTM0OWY1Li5iMjAzZWFkIDEwMDY0NAot LS0gYS9lamFiYmVyZC0wMDA2LUVuYWJsZS1wb2xraXQtc3VwcG9ydC5wYXRjaAorKysgYi9lamFi YmVyZC0wMDA2LUVuYWJsZS1wb2xraXQtc3VwcG9ydC5wYXRjaApAQCAtMSwxNiArMSwyMyBAQAot RnJvbTogUGV0ZXIgTGVtZW5rb3YgPGxlbWVua292QGdtYWlsLmNvbT4KLURhdGU6IFdlZCwgMTcg SnVsIDIwMTMgMTQ6NTE6MDQgKzA0MDAKK0Zyb20gNTYxZGEzNDQzZTBkMDkwMjliM2U2MGQxYmQx YWE5Y2ZhY2YwYzUzZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFJhbmR5IEJhcmxv dyA8cmFuZHlAZWxlY3Ryb25zd2VhdHNob3AuY29tPgorRGF0ZTogU3VuLCA2IE1hciAyMDE2IDE5 OjUzOjA1IC0wNTAwCiBTdWJqZWN0OiBbUEFUQ0hdIEVuYWJsZSBwb2xraXQgc3VwcG9ydAogCi1T aWduZWQtb2ZmLWJ5OiBQZXRlciBMZW1lbmtvdiA8bGVtZW5rb3ZAZ21haWwuY29tPgorUGF0Y2gg b3JpZ2luYWxseSBieSBQZXRlciBMZW1lbmtvdiA8bGVtZW5rb3ZAZ21haWwuY29tPi4KKy0tLQor IGVqYWJiZXJkY3RsLnRlbXBsYXRlIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlv bigrKSwgMSBkZWxldGlvbigtKQogCiBkaWZmIC0tZ2l0IGEvZWphYmJlcmRjdGwudGVtcGxhdGUg Yi9lamFiYmVyZGN0bC50ZW1wbGF0ZQotaW5kZXggMDliOTk0Ny4uMGZkMzNmZSAxMDA3NTUKK2lu ZGV4IDA3Mzk1YWEuLmI1YmNiYjAgMTAwNzU1CiAtLS0gYS9lamFiYmVyZGN0bC50ZW1wbGF0ZQog KysrIGIvZWphYmJlcmRjdGwudGVtcGxhdGUKIEBAIC0xLDQgKzEsNCBAQAogLSMhL2Jpbi9iYXNo CiArIyEvdXNyL2Jpbi9wa2V4ZWMgL2Jpbi9zaAotCisgCiAgIyBkZWZpbmUgZGVmYXVsdCBjb25m aWd1cmF0aW9uCiAgUE9MTD10cnVlCistLSAKKzIuNy4yCisKCmRpZmYgLS1naXQgYS9lamFiYmVy ZC5zcGVjIGIvZWphYmJlcmQuc3BlYwppbmRleCBmMThiNTdlLi5lZDEwOWNhIDEwMDY0NAotLS0g YS9lamFiYmVyZC5zcGVjCisrKyBiL2VqYWJiZXJkLnNwZWMKQEAgLTExLDggKzExLDggQEAKIAog CiBOYW1lOiAgICAgICAgICAgZWphYmJlcmQKLVZlcnNpb246ICAgICAgICAxNi4wMQotUmVsZWFz ZTogICAgICAgIDQlez9kaXN0fQorVmVyc2lvbjogICAgICAgIDE2LjAyCitSZWxlYXNlOiAgICAg ICAgMSV7P2Rpc3R9CiAKIFN1bW1hcnk6ICAgICAgICBBIGRpc3RyaWJ1dGVkLCBmYXVsdC10b2xl cmFudCBKYWJiZXIvWE1QUCBzZXJ2ZXIKIExpY2Vuc2U6ICAgICAgICBHUEx2MisKQEAgLTM2LDkg KzM2LDYgQEAgU291cmNlMTM6ICAgICAgIGVqYWJiZXJkY3RsLnBvbGtpdC5ydWxlcwogCiAjIFVz ZSBlamFiYmVyZCBhcyBhbiBleGFtcGxlIGZvciBQQU0gc2VydmljZSBuYW1lIChmZWRvcmEvZXBl bC1zcGVjaWZpYykKIFBhdGNoMTogZWphYmJlcmQtMDAwMS1GaXgtUEFNLXNlcnZpY2UtZXhhbXBs ZS1uYW1lLXRvLW1hdGNoLWFjdHVhbC1vbmUucGF0Y2gKLSMgSW50cm9kdWNpbmcgbW9kX2FkbWlu X2V4dHJhCi0jIHJiYXJsb3c6IGl0IHNlZW1zIHRoYXQgbW9kX2FkbWluX2V4dHJhIGFscmVhZHkg ZXhpc3RzIHVwc3RyZWFtIGluIDE1LjExCi0jUGF0Y2gyOiBlamFiYmVyZC0wMDAyLUludHJvZHVj aW5nLW1vZF9hZG1pbl9leHRyYS5wYXRjaAogIyBCWiMgNDM5NTgzLCA0NTIzMjYsIDQ1MTU1NCwg NDY1MTk2LCA1MDIzNjEgKGZlZG9yYS9lcGVsLXNwZWNpZmljKQogIyByYmFybG93OiBpJ20gbm90 IHN1cmUgd2hhdCB0aGlzIHBhdGNoIGlzIGZvciwgYnV0IGl0IGRvZXMgbm90IGFwcGx5IGNsZWFu bHkKICNQYXRjaDM6IGVqYWJiZXJkLTAwMDMtRmVkb3JhLXNwZWNpZmljLWNoYW5nZXMtdG8tZWph YmJlcmRjdGwucGF0Y2gKQEAgLTYzLDcgKzYwLDYgQEAgUGF0Y2gxMDplamFiYmVyZC0wMDEwLUVu YWJsZS1zeXN0ZW1kLW5vdGlmaWNhdGlvbi1pZi1hdmFpbGFibGUucGF0Y2gKIAogI1BhdGNoMTE6 IGVqYWJiZXJkLTAwMTEtYWFyY2g2NC5wYXRjaAogUGF0Y2gxMzogMDAxMy1Eby1ub3QtbWFuYWdl LWRlcHMtZHVyaW5nLWJ1aWxkLnBhdGNoCi1QYXRjaDE0OiAwMDE0LVJlbW92ZS10aGUteG1scnBj LWRlcGVuZGVuY3ktYXMtaXQtcy1vbmx5LXVzZWQtZm9yLXQucGF0Y2gKIAogQnVpbGRSZXF1aXJl czogIGVsaXhpciA+PSAxLjEuMAogQnVpbGRSZXF1aXJlczogIGVybGFuZyA+PSAxNy4xCkBAIC0x NjIsNyArMTU4LDYgQEAgV2luZG93cyBOVC8yMDAwL1hQKS4KICVzZXR1cCAtcQogCiAlcGF0Y2gx IC1wMSAtYiAucGFtX25hbWUKLSMgJXBhdGNoMiAtcDEgLWIgLm1vZF9hZG1pbl9leHRyYQogIyAl cGF0Y2gzIC1wMSAtYiAuZmVkb3JhX3NwZWNpZmljCiAjICVwYXRjaDQgLXAxIC1iIC5zb19saWJf NzU1CiAjICVwYXRjaDUgLXAxIC1iIC5mYWxzZV9zZWN1cml0eQpAQCAtMTcyLDM1ICsxNjcsMTkg QEAgV2luZG93cyBOVC8yMDAwL1hQKS4KICMgJXBhdGNoOSAtcDEgLWIgLmNhcHRjaGFfcGVybXMK ICMlcGF0Y2gxMCAtcDEgLWIgLnN5c3RlbWRfbm90aWZ5CiAKLSN0YXIgeHZmICV7UzoxfQogIyVw YXRjaDExIC1wMQogIyVwYXRjaDEzIC1wMQotJXBhdGNoMTQgLXAxCi0jdG91Y2ggZGVwcy8uZ290 Ci0jdG91Y2ggZGVwcy8uYnVpbHQKIAogCiAlYnVpbGQKIGF1dG9yZWNvbmYgLWl2ZgogCi0jLi9h dXRvZ2VuLnNoCi0jIERpc2FibGVkOiAtLWVuYWJsZS1oaXBlIC0tZW5hYmxlLXJvc3Rlci1nYXRl d2F5LXdvcmthcm91bmQgLS1lbmFibGUtdHJhbnNpZW50X3N1cGVydmlzb3JzIC0tZW5hYmxlLWZ1 bGwteG1sIC0tZW5hYmxlLW1zc3FsIC0tZW5hYmxlLXRvb2xzIC0tZW5hYmxlLXJpYWsgLS1lbmFi bGUtaHR0cAorIyBEaXNhYmxlZDogLS1lbmFibGUtaGlwZSAtLWVuYWJsZS1yb3N0ZXItZ2F0ZXdh eS13b3JrYXJvdW5kIC0tZW5hYmxlLXRyYW5zaWVudF9zdXBlcnZpc29ycworIyAgICAgICAgICAg LS1lbmFibGUtZnVsbC14bWwgLS1lbmFibGUtbXNzcWwgLS1lbmFibGUtdG9vbHMgLS1lbmFibGUt cmlhayAtLWVuYWJsZS1odHRwCiAlY29uZmlndXJlIC0tZW5hYmxlLW9kYmMgLS1lbmFibGUtbXlz cWwgLS1lbmFibGUtcGdzcWwgLS1lbmFibGUtcGFtIC0tZW5hYmxlLXpsaWIgLS1lbmFibGUtaWNv bnYgLS1lbmFibGUtZGVidWcgLS1lbmFibGUtbGFnZXIgLS1saWJkaXI9JXtfbGliZGlyfS9lcmxh bmcvbGliLyAtLXdpdGgtZXJsYW5nPSV7X2xpYmRpcn0vZXJsYW5nLwogbWtkaXIgZGVwcwogbWFr ZSAtdCBkZXBzCiBtYWtlIHNyYyBSRUJBUj0lX19yZWJhcgotI3B1c2hkIGRvYwotIyVpZmFyY2gg JXtwb3dlcjY0fQotI3VsaW1pdCAtYQotI3VsaW1pdCAtSHMgNjU1MzYKLSN1bGltaXQgLVNzIDY1 NTM2Ci0jJWVuZGlmCi0jIHJlbW92ZSBwcmUtYnVpbHQgZG9jcwotI3JtIC1mIGRldi5odG1sIGZl YXR1cmVzLmh0bWwKLSMjIFNlZSB0aGlzIGxpbmsgLSBodHRwOi8vdGhyZWFkLmdtYW5lLm9yZy9n bWFuZS5saW51eC5yZWRoYXQuZmVkb3JhLmRldmVsLzE5ODk1NC9mb2N1cz0xOTg5NTcKLSNtYWtl IHJlbGVhc2UKLSNtYWtlIGh0bWwgcGRmCi0jcG9wZAogIyBtYWtlIGVkb2MKIAogCkBAIC0zNTIs MTQgKzMzMSwxMSBAQCBmaSkKICVhdHRyKDc1MCxlamFiYmVyZCxlamFiYmVyZCkgJWRpciAvdmFy L2xvY2svZWphYmJlcmRjdGwKICVhdHRyKDc1MCxlamFiYmVyZCxlamFiYmVyZCkgJWRpciAvdmFy L2xvZy9lamFiYmVyZAogCi0jJWZpbGVzIGRvYwotIyVkb2MgZG9jLyouaHRtbAotIyVkb2MgZG9j LyoucG5nCi0jJWRvYyBkb2MvKi5wZGYKLSMlZG9jIGRvYy8qLnR4dAotCiAKICVjaGFuZ2Vsb2cK KyogU3VuIE1hciAwNiAyMDE2IFJhbmR5IEJhcmxvdyA8cmJhcmxvd0ByZWRoYXQuY29tPiAtIDE2 LjAyLTEKKy0gVXBkYXRlIHRvIDE2LjAyCisKICogU3VuIE1hciAwNiAyMDE2IFJhbmR5IEJhcmxv dyA8cmJhcmxvd0ByZWRoYXQuY29tPiAtIDE2LjAxLTQKIC0gUnVuIGVqYWJiZXJkY3RsIHdpdGgg YmFzaCB3aGVuIHN0b3BwaW5nIGluIHRoZSB1bml0IGZpbGUgKCMxMzE0NzUzKS4KIAoKZGlmZiAt LWdpdCBhL3NvdXJjZXMgYi9zb3VyY2VzCmluZGV4IDIwOWMzZGYuLjQyZDkxMjYgMTAwNjQ0Ci0t LSBhL3NvdXJjZXMKKysrIGIvc291cmNlcwpAQCAtMSArMSBAQAotZWY3YmQ2MDllMDZhZWExMWE3 YWJiNmExNzgwMTZiN2UgIDE2LjAxLnRhci5negorMTYzY2RhOWI4ZWUwYmFhYWI2YjE1NGRlNjc4 YjE4YzcgIDE2LjAyLnRhci5nego=