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: Merge branch 'f24' Date: Wed, 23 Sep 2026 19:07:26 GMT Message-ID: <179019044692.1.17652004282118903084.rpms-ejabberd-ddbaebd5b904@fedoraproject.org> List-ID: X-Git-Repo: rpms/ejabberd X-Git-Branch: f45 X-Git-Rev: ddbaebd5b904293973ee469e39177488ebfe052d QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZWphYmJlcmQKQnJh bmNoIDogZjQ1CkNvbW1pdCA6IGRkYmFlYmQ1YjkwNDI5Mzk3M2VlNDY5ZTM5MTc3NDg4ZWJmZTA1 MmQKQXV0aG9yIDogUmFuZHkgQmFybG93IDxyYW5keUBlbGVjdHJvbnN3ZWF0c2hvcC5jb20+CkRh dGUgICA6IDIwMTYtMDQtMTVUMTM6MDk6MTQtMDQ6MDAKU3RhdHMgIDogKzMwLy0xNjk4IGluIDYg ZmlsZShzKQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2VqYWJi ZXJkL2MvZGRiYWViZDViOTA0MjkzOTczZWU0NjllMzkxNzc0ODhlYmZlMDUyZD9icmFuY2g9ZjQ1 CgpMb2c6Ck1lcmdlIGJyYW5jaCAnZjI0JwoKLS0tCmRpZmYgLS1naXQgYS9lamFiYmVyZC5zcGVj IGIvZWphYmJlcmQuc3BlYwppbmRleCAwMWEyMWRlLi5hNjg1NmY2IDEwMDY0NAotLS0gYS9lamFi YmVyZC5zcGVjCisrKyBiL2VqYWJiZXJkLnNwZWMKQEAgLTEsMTggKzEsMTMgQEAKICVnbG9iYWwg X2hhcmRlbmVkX2J1aWxkIDEKICVnbG9iYWwgZGVidWdfcGFja2FnZSAle25pbH0KIAotIyBGSVhN RSBub24tc3RhbmRhcmQgZGlyZWN0b3J5IGZvciBzdG9yaW5nICouc28gb2JqZWN0cwotJXs/Zmls dGVyX3NldHVwOgotJWZpbHRlcl9wcm92aWRlc19pbiAle19saWJkaXJ9L2VqYWJiZXJkL3ByaXYv bGliLy4qXC5zbyQKLSVmaWx0ZXJfc2V0dXAKLX0KICV7ZXhwYW5kOiAlKE5JRl9WRVI9YHJwbSAt cSBlcmxhbmctZXJ0cyAtLXByb3ZpZGVzIHwgZ3JlcCAtLWNvbG9yPW5vIGVybF9uaWZfdmVyc2lv bmAgOyBpZiBbICIkTklGX1ZFUiIgIT0gIiIgXTsgdGhlbiBlY2hvICUlZ2xvYmFsIF9fZXJsYW5n X25pZl92ZXJzaW9uICROSUZfVkVSIDsgZmkpfQogJXtleHBhbmQ6ICUoRFJWX1ZFUj1gcnBtIC1x IGVybGFuZy1lcnRzIC0tcHJvdmlkZXMgfCBncmVwIC0tY29sb3I9bm8gZXJsX2Rydl92ZXJzaW9u YCA7IGlmIFsgIiREUlZfVkVSIiAhPSAiIiBdOyB0aGVuIGVjaG8gJSVnbG9iYWwgX19lcmxhbmdf ZHJ2X3ZlcnNpb24gJERSVl9WRVIgOyBmaSl9CiAKIAogTmFtZTogICAgICAgICAgIGVqYWJiZXJk CiBWZXJzaW9uOiAgICAgICAgMTYuMDIKLVJlbGVhc2U6ICAgICAgICAxJXs/ZGlzdH0KK1JlbGVh c2U6ICAgICAgICAyJXs/ZGlzdH0KIAogU3VtbWFyeTogICAgICAgIEEgZGlzdHJpYnV0ZWQsIGZh dWx0LXRvbGVyYW50IEphYmJlci9YTVBQIHNlcnZlcgogTGljZW5zZTogICAgICAgIEdQTHYyKwpA QCAtMzM2LDYgKzMzMSwxMCBAQCBmaSkKIAogCiAlY2hhbmdlbG9nCisqIEZyaSBBcHIgMTUgMjAx NiBSYW5keSBCYXJsb3cgPHJiYXJsb3dAcmVkaGF0LmNvbT4gLSAxNi4wMi0xCistIFJlbW92ZSB0 aGUgZmlsdGVyX3Byb3ZpZGVzIHN0YXRlbWVudC4gSXQgaXMgbm8gbG9uZ2VyIG5lZWRlZCwgYW5k IGl0IGlzIHN1c3BlY3RlZCB0byBjYXVzZQorICBwcm9ibGVtcyB3aXRoIEFSTSBkZXBlbmRlbmNp ZXMuCisKICogU3VuIE1hciAwNiAyMDE2IFJhbmR5IEJhcmxvdyA8cmJhcmxvd0ByZWRoYXQuY29t PiAtIDE2LjAyLTEKIC0gVXBkYXRlIHRvIDE2LjAyCiAKCmRpZmYgLS1naXQgYS8uZ2l0aWdub3Jl IGIvLmdpdGlnbm9yZQppbmRleCBkNmNkNDNhLi5lZjk4OTQyIDEwMDY0NAotLS0gYS8uZ2l0aWdu b3JlCisrKyBiLy5naXRpZ25vcmUKQEAgLTEyLDMgKzEyLDQgQEAgZWphYmJlcmQtMi4xLjUudGFy Lmd6CiAvZWphYmJlcmQtc3JjLWRlcHMudGFyCiAvMTUuMTEudGFyLmd6CiAvMTYuMDEudGFyLmd6 CisvMTYuMDIudGFyLmd6CgpkaWZmIC0tZ2l0IGEvMDAxNC1SZW1vdmUtdGhlLXhtbHJwYy1kZXBl bmRlbmN5LWFzLWl0LXMtb25seS11c2VkLWZvci10LnBhdGNoIGIvMDAxNC1SZW1vdmUtdGhlLXht bHJwYy1kZXBlbmRlbmN5LWFzLWl0LXMtb25seS11c2VkLWZvci10LnBhdGNoCmRlbGV0ZWQgZmls ZSBtb2RlIDEwMDY0NAppbmRleCA4ZGY5ZjZkLi4wMDAwMDAwCi0tLSBhLzAwMTQtUmVtb3ZlLXRo ZS14bWxycGMtZGVwZW5kZW5jeS1hcy1pdC1zLW9ubHktdXNlZC1mb3ItdC5wYXRjaAorKysgL2Rl di9udWxsCkBAIC0xLDQ2ICswLDAgQEAKLUZyb20gZDViNDY2NWFmZmE1MDM0MmJiYjhkZTdkNGIy MjM3MmRlNWRiZmM3YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFJhbmR5IEJhcmxv dyA8cmFuZHlAZWxlY3Ryb25zd2VhdHNob3AuY29tPgotRGF0ZTogU3VuLCAxNCBGZWIgMjAxNiAx NzoxMTozMSAtMDUwMAotU3ViamVjdDogW1BBVENIXSBSZW1vdmUgZGVwZW5kZW5jeSBvbiB4bWxy cGMuCi0KLS0tLQotIG1peC5leHMgICAgICB8IDMgKy0tCi0gcmViYXIuY29uZmlnIHwgMSAtCi0g MiBmaWxlcyBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMyBkZWxldGlvbnMoLSkKLQotZGlmZiAt LWdpdCBhL21peC5leHMgYi9taXguZXhzCi1pbmRleCBiMDAyZTM2Li4wMTFiYjBlIDEwMDY0NAot LS0tIGEvbWl4LmV4cwotKysrIGIvbWl4LmV4cwotQEAgLTIwLDcgKzIwLDcgQEAgZGVmbW9kdWxl IEVqYWJiZXJkLk1peGZpbGUgZG8KLSAgICAgIGluY2x1ZGVkX2FwcGxpY2F0aW9uczogWzpsYWdl ciwgOnAxX3V0aWxzLCA6Y2FjaGVfdGFiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg OnAxX3RscywgOnAxX3N0cmluZ3ByZXAsIDpwMV94bWwsCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICA6cDFfc3R1biwgOnAxX3lhbWwsIDpwMV96bGliLCA6cDFfaWNvbnYsCi0tICAgICAg ICAgICAgICAgICAgICAgICAgICAgICA6ZXNpcCwgOmppZmZ5LCA6b2F1dGgyLCA6eG1scnBjLCA6 ZXJlZGlzLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmVzaXAsIDpqaWZmeSwgOm9h dXRoMiwgOmVyZWRpcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpwMV9teXNxbCwg OnAxX3Bnc3FsLCA6c3FsaXRlM11dCi0gICBlbmQKLSAKLUBAIC00Miw3ICs0Miw2IEBAIGRlZm1v ZHVsZSBFamFiYmVyZC5NaXhmaWxlIGRvCi0gICAgICB7OnAxX3lhbWwsIGdpdDogImh0dHBzOi8v Z2l0aHViLmNvbS9wcm9jZXNzb25lL3AxX3lhbWwiLCB0YWc6ICIxLjAuMCJ9LAotICAgICAgezpq aWZmeSwgZ2l0OiAiaHR0cHM6Ly9naXRodWIuY29tL2RhdmlzcC9qaWZmeSIsIHRhZzogIjAuMTQu NSJ9LAotICAgICAgezpvYXV0aDIsIGdpdDogImh0dHBzOi8vZ2l0aHViLmNvbS9raXZyYS9vYXV0 aDIiLCAiOGQxMjlmYmY4ODY2OTMwYjRmZmE2ZGQ4NGU2NWJkMmIzMmI5YWNiOCJ9LAotLSAgICAg ezp4bWxycGMsIGdpdDogImh0dHBzOi8vZ2l0aHViLmNvbS9yZHMxMy94bWxycGMuZ2l0IiwgdGFn OiAiMS4xNSJ9LAotICAgICAgezpwMV9teXNxbCwgZ2l0OiAiaHR0cHM6Ly9naXRodWIuY29tL3By b2Nlc3NvbmUvbXlzcWwiLCB0YWc6ICIxLjAuMCJ9LAotICAgICAgezpwMV9wZ3NxbCwgZ2l0OiAi aHR0cHM6Ly9naXRodWIuY29tL3Byb2Nlc3NvbmUvcGdzcWwiLCB0YWc6ICIxLjAuMCJ9LAotICAg ICAgezpzcWxpdGUzLCBnaXQ6ICJodHRwczovL2dpdGh1Yi5jb20vYWxleGV5ci9lcmxhbmctc3Fs aXRlMyIsICJjYmMzNTA1ZjdhMTMxMjU0MjY1ZDNlZjU2MTkxYjI1ODFiOGNjMTcyIn0sCi1kaWZm IC0tZ2l0IGEvcmViYXIuY29uZmlnIGIvcmViYXIuY29uZmlnCi1pbmRleCAzMGMwMzYwLi41ZmI1 MzQwIDEwMDY0NAotLS0tIGEvcmViYXIuY29uZmlnCi0rKysgYi9yZWJhci5jb25maWcKLUBAIC0x OSw3ICsxOSw2IEBACi0gICAgICAgICB7cDFfeWFtbCwgIi4qIiwge2dpdCwgImh0dHBzOi8vZ2l0 aHViLmNvbS9wcm9jZXNzb25lL3AxX3lhbWwiLCB7dGFnLCAiMS4wLjAifX19LAotICAgICAgICAg e2ppZmZ5LCAiLioiLCB7Z2l0LCAiaHR0cHM6Ly9naXRodWIuY29tL2RhdmlzcC9qaWZmeSIsIHt0 YWcsICIwLjE0LjUifX19LAotICAgICAgICAge29hdXRoMiwgIi4qIiwge2dpdCwgImh0dHBzOi8v Z2l0aHViLmNvbS9raXZyYS9vYXV0aDIiLCAiOGQxMjlmYmY4ODY2OTMwYjRmZmE2ZGQ4NGU2NWJk MmIzMmI5YWNiOCJ9fSwKLS0gICAgICAgIHt4bWxycGMsICIuKiIsIHtnaXQsICJodHRwczovL2dp dGh1Yi5jb20vcmRzMTMveG1scnBjIiwge3RhZywgIjEuMTUifX19LAotICAgICAgICAge2lmX3Zh cl90cnVlLCBteXNxbCwge3AxX215c3FsLCAiLioiLCB7Z2l0LCAiaHR0cHM6Ly9naXRodWIuY29t L3Byb2Nlc3NvbmUvbXlzcWwiLCB7dGFnLCAiMS4wLjAifX19fSwKLSAgICAgICAgIHtpZl92YXJf dHJ1ZSwgcGdzcWwsIHtwMV9wZ3NxbCwgIi4qIiwge2dpdCwgImh0dHBzOi8vZ2l0aHViLmNvbS9w cm9jZXNzb25lL3Bnc3FsIiwge3RhZywgIjEuMC4wIn19fX0sCi0gICAgICAgICB7aWZfdmFyX3Ry dWUsIHNxbGl0ZSwge3NxbGl0ZTMsICIuKiIsIHtnaXQsICJodHRwczovL2dpdGh1Yi5jb20vYWxl eGV5ci9lcmxhbmctc3FsaXRlMyIsICJjYmMzNTA1ZjdhMTMxMjU0MjY1ZDNlZjU2MTkxYjI1ODFi OGNjMTcyIn19fSwKLS0tIAotMi43LjEKLQoKZGlmZiAtLWdpdCBhL2VqYWJiZXJkLTAwMDItSW50 cm9kdWNpbmctbW9kX2FkbWluX2V4dHJhLnBhdGNoIGIvZWphYmJlcmQtMDAwMi1JbnRyb2R1Y2lu Zy1tb2RfYWRtaW5fZXh0cmEucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU4 NmNlZmIuLjAwMDAwMDAKLS0tIGEvZWphYmJlcmQtMDAwMi1JbnRyb2R1Y2luZy1tb2RfYWRtaW5f ZXh0cmEucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNjA4ICswLDAgQEAKLUZyb206IEJhZGxv cCA8YmFkbG9wQHByb2Nlc3Mtb25lLm5ldD4KLURhdGU6IFR1ZSwgMTYgRmViIDIwMTAgMTY6MTI6 MTcgKzAzMDAKLVN1YmplY3Q6IFtQQVRDSF0gSW50cm9kdWNpbmcgbW9kX2FkbWluX2V4dHJhCi0K LUFkZHMgdGhlIG1vZF9hZG1pbl9leHRyYSBtb2R1bGUgdG8gZWphYmJlcmQuCi1UaGlzIG1vZHVs ZSBleHRlbmRzIHRoZSBmdW5jdGlvbmFsaXR5IHByb3ZpZGVkIGJ5IGVqYWJiZXJkY3RsCi1ieSBh ZGRpbmcgc2V2ZXJhbCBuZXcgY29tbWFuZHMuCi0KLVRoZSBjb2RlIGlzIHRha2VuIGZyb20gdGhl IFByb2Nlc3NPbmUgcmVwb3NpdG9yeToKLQotd2dldCBodHRwczovL3Jhdy5naXRodWJ1c2VyY29u dGVudC5jb20vcHJvY2Vzc29uZS9lamFiYmVyZC1jb250cmliL2UyM2JmOTQvbW9kX2FkbWluX2V4 dHJhL3NyYy9tb2RfYWRtaW5fZXh0cmEuZXJsCi0KLWRpZmYgLS1naXQgYS9zcmMvbW9kX2FkbWlu X2V4dHJhLmVybCBiL3NyYy9tb2RfYWRtaW5fZXh0cmEuZXJsCi1uZXcgZmlsZSBtb2RlIDEwMDY0 NAotaW5kZXggMDAwMDAwMC4uNjM3MDNlYwotLS0tIC9kZXYvbnVsbAotKysrIGIvc3JjL21vZF9h ZG1pbl9leHRyYS5lcmwKLUBAIC0wLDAgKzEsMTU5MCBAQAotKyUlJS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSslJSUg RmlsZSAgICA6IG1vZF9hZG1pbl9leHRyYS5lcmwKLSslJSUgQXV0aG9yICA6IEJhZGxvcCA8YmFk bG9wQHByb2Nlc3Mtb25lLm5ldD4KLSslJSUgUHVycG9zZSA6IENvbnRyaWJ1dGVkIGFkbWluaXN0 cmF0aXZlIGZ1bmN0aW9ucyBhbmQgY29tbWFuZHMKLSslJSUgQ3JlYXRlZCA6IDEwIEF1ZyAyMDA4 IGJ5IEJhZGxvcCA8YmFkbG9wQHByb2Nlc3Mtb25lLm5ldD4KLSslJSUKLSslJSUKLSslJSUgZWph YmJlcmQsIENvcHlyaWdodCAoQykgMjAwMi0yMDA4ICAgUHJvY2Vzc09uZQotKyUlJQotKyUlJSBU aGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k L29yCi0rJSUlIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGFzCi0rJSUlIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZQotKyUlJSBMaWNlbnNlLCBvciAoYXQgeW91 ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotKyUlJQotKyUlJSBUaGlzIHByb2dyYW0gaXMg ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSslJSUgYnV0 IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg b2YKLSslJSUgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ T1NFLiAgU2VlIHRoZSBHTlUKLSslJSUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk ZXRhaWxzLgotKyUlJQotKyUlJSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotKyUlJSBhbG9uZyB3aXRoIHRoaXMgcHJvZ3Jh bTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotKyUlJSBGb3VuZGF0aW9uLCBJ bmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQQotKyUlJSAwMjExMS0x MzA3IFVTQQotKyUlJQotKyUlJS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSsKLSstbW9kdWxlKG1vZF9hZG1pbl9leHRy YSkuCi0rLWF1dGhvcignYmFkbG9wQHByb2Nlc3Mtb25lLm5ldCcpLgotKwotKy1iZWhhdmlvdXIo Z2VuX21vZCkuCi0rCi0rLWV4cG9ydChbc3RhcnQvMiwgc3RvcC8xLAotKwkgJSUgTm9kZQotKwkg Y29tcGlsZS8xLAotKwkgbG9hZF9jb25maWcvMSwKLSsJIGdldF9jb29raWUvMCwKLSsJIHJlbW92 ZV9ub2RlLzEsCi0rCSBleHBvcnQyb2RiYy8yLAotKwkgJSUgQWNjb3VudHMKLSsJIHNldF9wYXNz d29yZC8zLAotKwkgY2hlY2tfcGFzc3dvcmRfaGFzaC80LAotKwkgZGVsZXRlX29sZF91c2Vycy8x LAotKwkgZGVsZXRlX29sZF91c2Vyc192aG9zdC8yLAotKwkgYmFuX2FjY291bnQvMywKLSsJIG51 bV9hY3RpdmVfdXNlcnMvMiwKLSsJICUlIFNlc3Npb25zCi0rCSBudW1fcmVzb3VyY2VzLzIsCi0r CSByZXNvdXJjZV9udW0vMywKLSsJIGtpY2tfc2Vzc2lvbi80LAotKwkgc3RhdHVzX251bS8yLCBz dGF0dXNfbnVtLzEsCi0rCSBzdGF0dXNfbGlzdC8yLCBzdGF0dXNfbGlzdC8xLAotKwkgY29ubmVj dGVkX3VzZXJzX2luZm8vMCwKLSsJIGNvbm5lY3RlZF91c2Vyc192aG9zdC8xLAotKwkgc2V0X3By ZXNlbmNlLzcsCi0rCSB1c2VyX3Nlc3Npb25zX2luZm8vMiwKLSsJICUlIFZjYXJkCi0rCSBzZXRf bmlja25hbWUvMywKLSsJIGdldF92Y2FyZC8zLAotKwkgZ2V0X3ZjYXJkLzQsCi0rCSBnZXRfdmNh cmRfbXVsdGkvNCwKLSsJIHNldF92Y2FyZC80LAotKwkgc2V0X3ZjYXJkLzUsCi0rCSAlJSBSb3N0 ZXIKLSsJIGFkZF9yb3N0ZXJpdGVtLzcsCi0rCSBkZWxldGVfcm9zdGVyaXRlbS80LAotKwkgcHJv Y2Vzc19yb3N0ZXJpdGVtcy81LAotKwkgZ2V0X3Jvc3Rlci8yLAotKwkgcHVzaF9yb3N0ZXIvMywK LSsJIHB1c2hfcm9zdGVyX2FsbC8xLAotKwkgcHVzaF9hbGx0b2FsbC8yLAotKwkgJSUgbW9kX2xh c3QKLSsJIGdldF9sYXN0LzIsCi0rCSBzZXRfbGFzdC80LAotKwkgJSUgbW9kX3ByaXZhdGUKLSsJ IHByaXZhdGVfZ2V0LzQsCi0rCSBwcml2YXRlX3NldC8zLAotKwkgJSUgbW9kX3NoYXJlZF9yb3N0 ZXIKLSsJIHNyZ19jcmVhdGUvNSwKLSsJIHNyZ19kZWxldGUvMiwKLSsJIHNyZ19saXN0LzEsCi0r CSBzcmdfZ2V0X2luZm8vMiwKLSsJIHNyZ19nZXRfbWVtYmVycy8yLAotKwkgc3JnX3VzZXJfYWRk LzQsCi0rCSBzcmdfdXNlcl9kZWwvNCwKLSsJICUlIFN0YW56YQotKwkgc2VuZF9tZXNzYWdlX2hl YWRsaW5lLzQsCi0rCSBzZW5kX21lc3NhZ2VfY2hhdC8zLAotKwkgc2VuZF9zdGFuemFfYzJzLzQs Ci0rCSBwcml2YWN5X3NldC8zLAotKwkgJSUgU3RhdHMKLSsJIHN0YXRzLzEsIHN0YXRzLzIKLSsJ XSkuCi0rCi0rLWluY2x1ZGUoImVqYWJiZXJkLmhybCIpLgotKy1pbmNsdWRlKCJlamFiYmVyZF9j b21tYW5kcy5ocmwiKS4KLSstaW5jbHVkZSgibW9kX3Jvc3Rlci5ocmwiKS4KLSstaW5jbHVkZSgi amxpYi5ocmwiKS4KLSsKLSslJSBDb3BpZWQgZnJvbSBlamFiYmVyZF9zbS5lcmwKLSstcmVjb3Jk KHNlc3Npb24sIHtzaWQsIHVzciwgdXMsIHByaW9yaXR5LCBpbmZvfSkuCi0rCi0rCi0rJSUlCi0r JSUlIGdlbl9tb2QKLSslJSUKLSsKLStzdGFydChfSG9zdCwgX09wdHMpIC0+Ci0rICAgIGVqYWJi ZXJkX2NvbW1hbmRzOnJlZ2lzdGVyX2NvbW1hbmRzKGNvbW1hbmRzKCkpLgotKwotK3N0b3AoX0hv c3QpIC0+Ci0rICAgIGVqYWJiZXJkX2NvbW1hbmRzOnVucmVnaXN0ZXJfY29tbWFuZHMoY29tbWFu ZHMoKSkuCi0rCi0rCi0rJSUlCi0rJSUlIFJlZ2lzdGVyIGNvbW1hbmRzCi0rJSUlCi0rCi0rY29t bWFuZHMoKSAtPgotKyAgICBWY2FyZDFGaWVsZHNTdHJpbmcgPSAiU29tZSB2Y2FyZCBmaWVsZCBu YW1lcyBpbiBnZXQvc2V0X3ZjYXJkIGFyZTpcbiIKLSsJIiBGTgkJLSBGdWxsIE5hbWVcbiIKLSsJ IiBOSUNLTkFNRQktIE5pY2tuYW1lXG4iCi0rCSIgQkRBWQkJLSBCaXJ0aGRheVxuIgotKwkiIFRJ VExFCQktIFdvcms6IFBvc2l0aW9uXG4iCi0rCSIgUk9MRQkJLSBXb3JrOiBSb2xlIiwKLSsKLSsg ICAgVmNhcmQyRmllbGRzU3RyaW5nID0gIlNvbWUgdmNhcmQgZmllbGQgbmFtZXMgYW5kIHN1Ym5h bWVzIGluIGdldC9zZXRfdmNhcmQyIGFyZTpcbiIKLSsJIiBOIEZBTUlMWQktIEZhbWlseSBuYW1l XG4iCi0rCSIgTiBHSVZFTgktIEdpdmVuIG5hbWVcbiIKLSsJIiBOIE1JRERMRQktIE1pZGRsZSBu YW1lXG4iCi0rCSIgQURSIENUUlkJLSBBZGRyZXNzOiBDb3VudHJ5XG4iCi0rCSIgQURSIExPQ0FM SVRZCS0gQWRkcmVzczogQ2l0eVxuIgotKwkiIEVNQUlMIFVTRVJJRAktIEUtTWFpbCBBZGRyZXNz XG4iCi0rCSIgT1JHIE9SR05BTUUJLSBXb3JrOiBDb21wYW55XG4iCi0rCSIgT1JHIE9SR1VOSVQJ LSBXb3JrOiBEZXBhcnRtZW50IiwKLSsKLSsgICAgVmNhcmRYRVAgPSAiRm9yIGEgZnVsbCBsaXN0 IG9mIHZDYXJkIGZpZWxkcyBjaGVjayBYRVAtMDA1NDogdmNhcmQtdGVtcCBhdCAiCi0rCSJodHRw Oi8vd3d3LnhtcHAub3JnL2V4dGVuc2lvbnMveGVwLTAwNTQuaHRtbCIsCi0rCi0rICAgIFsKLSsg ICAgICNlamFiYmVyZF9jb21tYW5kc3tuYW1lID0gY29tcGlsZSwgdGFncyA9IFtlcmxhbmddLAot KwkJCWRlc2MgPSAiUmVjb21waWxlIGFuZCByZWxvYWQgRXJsYW5nIHNvdXJjZSBjb2RlIGZpbGUi LAotKwkJCW1vZHVsZSA9ID9NT0RVTEUsIGZ1bmN0aW9uID0gY29tcGlsZSwKLSsJCQlhcmdzID0g W3tmaWxlLCBzdHJpbmd9XSwKLSsJCQlyZXN1bHQgPSB7cmVzLCByZXNjb2RlfX0sCi0rICAgICAj ZWphYmJlcmRfY29tbWFuZHN7bmFtZSA9IGxvYWRfY29uZmlnLCB0YWdzID0gW3NlcnZlcl0sCi0r CQkJZGVzYyA9ICJMb2FkIGVqYWJiZXJkIGNvbmZpZ3VyYXRpb24gZmlsZSIsCi0rCQkJbW9kdWxl ID0gP01PRFVMRSwgZnVuY3Rpb24gPSBsb2FkX2NvbmZpZywKLSsJCQlhcmdzID0gW3tmaWxlLCBz dHJpbmd9XSwKLSsJCQlyZXN1bHQgPSB7cmVzLCByZXNjb2RlfX0sCi0rICAgICAjZWphYmJlcmRf Y29tbWFuZHN7bmFtZSA9IGdldF9jb29raWUsIHRhZ3MgPSBbZXJsYW5nXSwKLSsJCQlkZXNjID0g IkdldCB0aGUgRXJsYW5nIGNvb2tpZSBvZiB0aGlzIG5vZGUiLAotKwkJCW1vZHVsZSA9ID9NT0RV TEUsIGZ1bmN0aW9uID0gZ2V0X2Nvb2tpZSwKLSsJCQlhcmdzID0gW10sCi0rCQkJcmVzdWx0ID0g e2Nvb2tpZSwgc3RyaW5nfX0sCi0rICAgICAjZWphYmJlcmRfY29tbWFuZHN7bmFtZSA9IHJlbW92 ZV9ub2RlLCB0YWdzID0gW2VybGFuZ10sCi0rCQkJZGVzYyA9ICJSZW1vdmUgYW4gZWphYmJlcmQg bm9kZSBmcm9tIE1uZXNpYSBjbHVzdGVyaW5nIGNvbmZpZyIsCi0rCQkJbW9kdWxlID0gP01PRFVM RSwgZnVuY3Rpb24gPSByZW1vdmVfbm9kZSwKLSsJCQlhcmdzID0gW3tub2RlLCBzdHJpbmd9XSwK LSsJCQlyZXN1bHQgPSB7cmVzLCByZXNjb2RlfX0sCi0rICAgICAjZWphYmJlcmRfY29tbWFuZHN7 bmFtZSA9IGV4cG9ydDJvZGJjLCB0YWdzID0gW21uZXNpYV0sICUlIENvcGllZCB0byBlamFiYmVy ZCAyLjEueCBhZnRlciAxMQotKwkJCWRlc2MgPSAiRXhwb3J0IE1uZXNpYSB0YWJsZXMgdG8gZmls ZXMgaW4gZGlyZWN0b3J5IiwKLSsJCQltb2R1bGUgPSA/TU9EVUxFLCBmdW5jdGlvbiA9IGV4cG9y dDJvZGJjLAotKwkJCWFyZ3MgPSBbe2hvc3QsIHN0cmluZ30sIHtwYXRoLCBzdHJpbmd9XSwKLSsJ CQlyZXN1bHQgPSB7cmVzLCByZXNjb2RlfX0sCi0rCi0rICAgICAjZWphYmJlcmRfY29tbWFuZHN7 bmFtZSA9IG51bV9hY3RpdmVfdXNlcnMsIHRhZ3MgPSBbYWNjb3VudHMsIHN0YXRzXSwKLSsJCQlk ZXNjID0gIkdldCBudW1iZXIgb2YgdXNlcnMgYWN0aXZlIGluIHRoZSBsYXN0IGRheXMiLAotKwkJ CW1vZHVsZSA9ID9NT0RVTEUsIGZ1bmN0aW9uID0gbnVtX2FjdGl2ZV91c2VycywKLSsJCQlhcmdz ID0gW3tob3N0LCBiaW5hcnl9LCB7ZGF5cywgaW50ZWdlcn1dLAotKwkJCXJlc3VsdCA9IHt1c2Vy cywgaW50ZWdlcn19LAotKyAgICAgI2VqYWJiZXJkX2NvbW1hbmRze25hbWUgPSBkZWxldGVfb2xk X3VzZXJzLCB0YWdzID0gW2FjY291bnRzLCBwdXJnZV0sCi0rCQkJZGVzYyA9ICJEZWxldGUgdXNl cnMgdGhhdCBkaWRuJ3QgbG9nIGluIGxhc3QgZGF5cywgb3IgdGhhdCBuZXZlciBsb2dnZWQiLAot KwkJCW1vZHVsZSA9ID9NT0RVTEUsIGZ1bmN0aW9uID0gZGVsZXRlX29sZF91c2VycywKLSsJCQlh cmdzID0gW3tkYXlzLCBpbnRlZ2VyfV0sCi0rCQkJcmVzdWx0ID0ge3JlcywgcmVzdHVwbGV9fSwK LSsgICAgICNlamFiYmVyZF9jb21tYW5kc3tuYW1lID0gZGVsZXRlX29sZF91c2Vyc192aG9zdCwg dGFncyA9IFthY2NvdW50cywgcHVyZ2VdLAotKwkJCWRlc2MgPSAiRGVsZXRlIHVzZXJzIHRoYXQg ZGlkbid0IGxvZyBpbiBsYXN0IGRheXMgaW4gdmhvc3QsIG9yIHRoYXQgbmV2ZXIgbG9nZ2VkIiwK LSsJCQltb2R1bGUgPSA/TU9EVUxFLCBmdW5jdGlvbiA9IGRlbGV0ZV9vbGRfdXNlcnNfdmhvc3Qs Ci0rCQkJYXJncyA9IFt7aG9zdCwgYmluYXJ5fSwge2RheXMsIGludGVnZXJ9XSwKLSsJCQlyZXN1 bHQgPSB7cmVzLCByZXN0dXBsZX19LAotKwotKyAgICAgI2VqYWJiZXJkX2NvbW1hbmRze25hbWUg PSBjaGVja19hY2NvdW50LCB0YWdzID0gW2FjY291bnRzXSwKLSsJCQlkZXNjID0gIkNoZWNrIGlm IGFuIGFjY291bnQgZXhpc3RzIG9yIG5vdCIsCi0rCQkJbW9kdWxlID0gZWphYmJlcmRfYXV0aCwg ZnVuY3Rpb24gPSBpc191c2VyX2V4aXN0cywKLSsJCQlhcmdzID0gW3t1c2VyLCBiaW5hcnl9LCB7 aG9zdCwgYmluYXJ5fV0sCi0rCQkJcmVzdWx0ID0ge3JlcywgcmVzY29kZX19LAotKyAgICAgI2Vq YWJiZXJkX2NvbW1hbmRze25hbWUgPSBjaGVja19wYXNzd29yZCwgdGFncyA9IFthY2NvdW50c10s Ci0rCQkJZGVzYyA9ICJDaGVjayBpZiBhIHBhc3N3b3JkIGlzIGNvcnJlY3QiLAotKwkJCW1vZHVs ZSA9IGVqYWJiZXJkX2F1dGgsIGZ1bmN0aW9uID0gY2hlY2tfcGFzc3dvcmQsCi0rCQkJYXJncyA9 IFt7dXNlciwgYmluYXJ5fSwge2hvc3QsIGJpbmFyeX0sIHtwYXNzd29yZCwgYmluYXJ5fV0sCi0r CQkJcmVzdWx0ID0ge3JlcywgcmVzY29kZX19LAotKyAgICAgI2VqYWJiZXJkX2NvbW1hbmRze25h bWUgPSBjaGVja19wYXNzd29yZF9oYXNoLCB0YWdzID0gW2FjY291bnRzXSwKLSsJCQlkZXNjID0g IkNoZWNrIGlmIHRoZSBwYXNzd29yZCBoYXNoIGlzIGNvcnJlY3QiLAotKwkJCWxvbmdkZXNjID0g IkFsbG93ZWQgaGFzaCBtZXRob2RzOiBtZDUsIHNoYS4iLAotKwkJCW1vZHVsZSA9ID9NT0RVTEUs IGZ1bmN0aW9uID0gY2hlY2tfcGFzc3dvcmRfaGFzaCwKLSsJCQlhcmdzID0gW3t1c2VyLCBiaW5h cnl9LCB7aG9zdCwgYmluYXJ5fSwge3Bhc3N3b3JkaGFzaCwgYmluYXJ5fSwge2hhc2htZXRob2Qs IGJpbmFyeX1dLAotKwkJCXJlc3VsdCA9IHtyZXMsIHJlc2NvZGV9fSwKLSsgICAgICNlamFiYmVy ZF9jb21tYW5kc3tuYW1lID0gY2hhbmdlX3Bhc3N3b3JkLCB0YWdzID0gW2FjY291bnRzXSwKLSsJ CQlkZXNjID0gIkNoYW5nZSB0aGUgcGFzc3dvcmQgb2YgYW4gYWNjb3VudCIsCi0rCQkJbW9kdWxl ID0gP01PRFVMRSwgZnVuY3Rpb24gPSBzZXRfcGFzc3dvcmQsCi0rCQkJYXJncyA9IFt7dXNlciwg YmluYXJ5fSwge2hvc3QsIGJpbmFyeX0sIHtuZXdwYXNzLCBiaW5hcnl9XSwKLSsJCQlyZXN1bHQg PSB7cmVzLCByZXNjb2RlfX0sCi0rICAgICAjZWphYmJlcmRfY29tbWFuZHN7bmFtZSA9IGJhbl9h Y2NvdW50LCB0YWdzID0gW2FjY291bnRzXSwKLSsJCQlkZXNjID0gIkJhbiBhbiBhY2NvdW50OiBr aWNrIHNlc3Npb25zIGFuZCBzZXQgcmFuZG9tIHBhc3N3b3JkIiwKLSsJCQltb2R1bGUgPSA/TU9E VUxFLCBmdW5jdGlvbiA9IGJhbl9hY2NvdW50LAotKwkJCWFyZ3MgPSBbe3VzZXIsIGJpbmFyeX0s IHtob3N0LCBiaW5hcnl9LCB7cmVhc29uLCBiaW5hcnl9XSwKLSsJCQlyZXN1bHQgPSB7cmVzLCBy ZXNjb2RlfX0sCi0rCi0rICAgICAjZWphYmJlcmRfY29tbWFuZHN7bmFtZSA9IG51bV9yZXNvdXJj ZXMsIHRhZ3MgPSBbc2Vzc2lvbl0sCi0rCQkJZGVzYyA9ICJHZXQgdGhlIG51bWJlciBvZiByZXNv dXJjZXMgb2YgYSB1c2VyIiwKLSsJCQltb2R1bGUgPSA/TU9EVUxFLCBmdW5jdGlvbiA9IG51bV9y ZXNvdXJjZXMsCi0rCQkJYXJncyA9IFt7dXNlciwgYmluYXJ5fSwge2hvc3QsIGJpbmFyeX1dLAot KwkJCXJlc3VsdCA9IHtyZXNvdXJjZXMsIGludGVnZXJ9fSwKLSsgICAgICNlamFiYmVyZF9jb21t YW5kc3tuYW1lID0gcmVzb3VyY2VfbnVtLCB0YWdzID0gW3Nlc3Npb25dLAotKwkJCWRlc2MgPSAi UmVzb3VyY2Ugc3RyaW5nIG9mIGEgc2Vzc2lvbiBudW1iZXIiLAotKwkJCW1vZHVsZSA9ID9NT0RV TEUsIGZ1bmN0aW9uID0gcmVzb3VyY2VfbnVtLAotKwkJCWFyZ3MgPSBbe3VzZXIsIGJpbmFyeX0s IHtob3N0LCBiaW5hcnl9LCB7bnVtLCBpbnRlZ2VyfV0sCi0rCQkJcmVzdWx0ID0ge3Jlc291cmNl LCBzdHJpbmd9fSwKLSsgICAgICNlamFiYmVyZF9jb21tYW5kc3tuYW1lID0ga2lja19zZXNzaW9u LCB0YWdzID0gW3Nlc3Npb25dLAotKwkJCWRlc2MgPSAiS2ljayBhIHVzZXIgc2Vzc2lvbiIsCi0r CQkJbW9kdWxlID0gP01PRFVMRSwgZnVuY3Rpb24gPSBraWNrX3Nlc3Npb24sCi0rCQkJYXJncyA9 IFt7dXNlciwgYmluYXJ5fSwge2hvc3QsIGJpbmFyeX0sIHtyZXNvdXJjZSwgYmluYXJ5fSwge3Jl YXNvbiwgYmluYXJ5fV0sCi0rCQkJcmVzdWx0ID0ge3JlcywgcmVzY29kZX19LAotKyAgICAgI2Vq YWJiZXJkX2NvbW1hbmRze25hbWUgPSBzdGF0dXNfbnVtX2hvc3QsIHRhZ3MgPSBbc2Vzc2lvbiwg c3RhdHNdLAotKwkJCWRlc2MgPSAiTnVtYmVyIG9mIGxvZ2dlZCB1c2VycyB3aXRoIHRoaXMgc3Rh dHVzIGluIGhvc3QiLAotKwkJCW1vZHVsZSA9ID9NT0RVTEUsIGZ1bmN0aW9uID0gc3RhdHVzX251 bSwKLSsJCQlhcmdzID0gW3tob3N0LCBiaW5hcnl9LCB7c3RhdHVzLCBiaW5hcnl9XSwKLSsJCQly ZXN1bHQgPSB7dXNlcnMsIGludGVnZXJ9fSwKLSsgICAgICNlamFiYmVyZF9jb21tYW5kc3tuYW1l ID0gc3RhdHVzX251bSwgdGFncyA9IFtzZXNzaW9uLCBzdGF0c10sCi0rCQkJZGVzYyA9ICJOdW1i ZXIgb2YgbG9nZ2VkIHVzZXJzIHdpdGggdGhpcyBzdGF0dXMiLAotKwkJCW1vZHVsZSA9ID9NT0RV TEUsIGZ1bmN0aW9uID0gc3RhdHVzX251bSwKLSsJCQlhcmdzID0gW3tzdGF0dXMsIGJpbmFyeX1d LAotKwkJCXJlc3VsdCA9IHt1c2VycywgaW50ZWdlcn19LAotKyAgICAgI2VqYWJiZXJkX2NvbW1h bmRze25hbWUgPSBzdGF0dXNfbGlzdF9ob3N0LCB0YWdzID0gW3Nlc3Npb25dLAotKwkJCWRlc2Mg PSAiTGlzdCBvZiB1c2VycyBsb2dnZWQgaW4gaG9zdCB3aXRoIHRoZWlyIHN0YXR1c2VzIiwKLSsJ CQltb2R1bGUgPSA/TU9EVUxFLCBmdW5jdGlvbiA9IHN0YXR1c19saXN0LAotKwkJCWFyZ3MgPSBb e2hvc3QsIGJpbmFyeX0sIHtzdGF0dXMsIGJpbmFyeX1dLAotKwkJCXJlc3VsdCA9IHt1c2Vycywg e2xpc3QsCi0rCQkJCQkgIHt1c2Vyc3RhdHVzLCB7dHVwbGUsIFsKLSsJCQkJCQkJCXt1c2VyLCBz dHJpbmd9LAotKwkJCQkJCQkJe2hvc3QsIHN0cmluZ30sCi0rCQkJCQkJCQl7cmVzb3VyY2UsIHN0 cmluZ30sCi0rCQkJCQkJCQl7cHJpb3JpdHksIGludGVnZXJ9LAotKwkJCQkJCQkJe3N0YXR1cywg c3RyaW5nfQotKwkJCQkJCQkgICAgICAgXX19Ci0rCQkJCQkgfX19LAotKyAgICAgI2VqYWJiZXJk X2NvbW1hbmRze25hbWUgPSBzdGF0dXNfbGlzdCwgdGFncyA9IFtzZXNzaW9uXSwKLSsJCQlkZXNj ID0gIkxpc3Qgb2YgbG9nZ2VkIHVzZXJzIHdpdGggdGhpcyBzdGF0dXMiLAotKwkJCW1vZHVsZSA9 ID9NT0RVTEUsIGZ1bmN0aW9uID0gc3RhdHVzX2xpc3QsCi0rCQkJYXJncyA9IFt7c3RhdHVzLCBi aW5hcnl9XSwKLSsJCQlyZXN1bHQgPSB7dXNlcnMsIHtsaXN0LAotKwkJCQkJICB7dXNlcnN0YXR1 cywge3R1cGxlLCBbCi0rCQkJCQkJCQl7dXNlciwgc3RyaW5nfSwKLSsJCQkJCQkJCXtob3N0LCBz dHJpbmd9LAotKwkJCQkJCQkJe3Jlc291cmNlLCBzdHJpbmd9LAotKwkJCQkJCQkJe3ByaW9yaXR5 LCBpbnRlZ2VyfSwKLSsJCQkJCQkJCXtzdGF0dXMsIHN0cmluZ30KLSsJCQkJCQkJICAgICAgIF19 fQotKwkJCQkJIH19fSwKLSsgICAgICNlamFiYmVyZF9jb21tYW5kc3tuYW1lID0gY29ubmVjdGVk X3VzZXJzX2luZm8sCi0rCQkJdGFncyA9IFtzZXNzaW9uXSwKLSsJCQlkZXNjID0gIkxpc3QgYWxs IGVzdGFibGlzaGVkIHNlc3Npb25zIGFuZCB0aGVpciBpbmZvcm1hdGlvbiIsCi0rCQkJbW9kdWxl ID0gP01PRFVMRSwgZnVuY3Rpb24gPSBjb25uZWN0ZWRfdXNlcnNfaW5mbywKLSsJCQlhcmdzID0g W10sCi0rCQkJcmVzdWx0ID0ge2Nvbm5lY3RlZF91c2Vyc19pbmZvLAotKwkJCQkgIHtsaXN0LAot KwkJCQkgICB7c2Vzc2lvbnMsIHt0dXBsZSwKLSsJCQkJCSAgICAgICBbe2ppZCwgc3RyaW5nfSwK LSsJCQkJCQl7Y29ubmVjdGlvbiwgc3RyaW5nfSwKLSsJCQkJCQl7aXAsIHN0cmluZ30sCi0rCQkJ CQkJe3BvcnQsIGludGVnZXJ9LAotKwkJCQkJCXtwcmlvcml0eSwgaW50ZWdlcn0sCi0rCQkJCQkJ e25vZGUsIHN0cmluZ30sCi0rCQkJCQkJe3VwdGltZSwgaW50ZWdlcn0KLSsJCQkJCSAgICAgICBd fX0KLSsJCQkJICB9fX0sCi0rICAgICAjZWphYmJlcmRfY29tbWFuZHN7bmFtZSA9IGNvbm5lY3Rl ZF91c2Vyc192aG9zdCwKLSsgICAgICAgICAgICAgICAgICAgICAgIHRhZ3MgPSBbc2Vzc2lvbl0s Ci0rICAgICAgICAgICAgICAgICAgICAgICBkZXNjID0gIkdldCB0aGUgbGlzdCBvZiBlc3RhYmxp c2hlZCBzZXNzaW9ucyBpbiBhIHZob3N0IiwKLSsgICAgICAgICAgICAgICAgICAgICAgIG1vZHVs ZSA9ID9NT0RVTEUsIGZ1bmN0aW9uID0gY29ubmVjdGVkX3VzZXJzX3Zob3N0LAotKyAgICAgICAg ICAgICAgICAgICAgICAgYXJncyA9IFt7aG9zdCwgc3RyaW5nfV0sCi0rICAgICAgICAgICAgICAg ICAgICAgICByZXN1bHQgPSB7Y29ubmVjdGVkX3VzZXJzX3Zob3N0LCB7bGlzdCwge3Nlc3Npb25z LCBzdHJpbmd9fX19LAotKyAgICAgI2VqYWJiZXJkX2NvbW1hbmRze25hbWUgPSB1c2VyX3Nlc3Np b25zX2luZm8sCi0rCQkJdGFncyA9IFtzZXNzaW9uXSwKLSsJCQlkZXNjID0gIkdldCBpbmZvcm1h dGlvbiBhYm91dCBhbGwgc2Vzc2lvbnMgb2YgYSB1c2VyIiwKLSsJCQltb2R1bGUgPSA/TU9EVUxF LCBmdW5jdGlvbiA9IHVzZXJfc2Vzc2lvbnNfaW5mbywKLSsJCQlhcmdzID0gW3t1c2VyLCBzdHJp bmd9LCB7aG9zdCwgc3RyaW5nfV0sCi0rCQkJcmVzdWx0ID0ge3Nlc3Npb25zX2luZm8sCi0rCQkJ CSAge2xpc3QsCi0rCQkJCSAgIHtzZXNzaW9uLCB7dHVwbGUsCi0rCQkJCQkgICAgICBbe2Nvbm5l Y3Rpb24sIHN0cmluZ30sCi0rCQkJCQkgICAgICAge2lwLCBzdHJpbmd9LAotKwkJCQkJICAgICAg IHtwb3J0LCBpbnRlZ2VyfSwKLSsJCQkJCSAgICAgICB7cHJpb3JpdHksIGludGVnZXJ9LAotKwkJ CQkJICAgICAgIHtub2RlLCBzdHJpbmd9LAotKwkJCQkJICAgICAgIHt1cHRpbWUsIGludGVnZXJ9 LAotKwkJCQkJICAgICAgIHtzdGF0dXMsIHN0cmluZ30sCi0rCQkJCQkgICAgICAge3Jlc291cmNl LCBzdHJpbmd9LAotKwkJCQkJICAgICAgIHtzdGF0dXN0ZXh0LCBzdHJpbmd9Ci0rCQkJCQkgICAg ICBdfX0KLSsJCQkJICB9fX0sCi0rCi0rICAgICAjZWphYmJlcmRfY29tbWFuZHN7bmFtZSA9IHNl dF9wcmVzZW5jZSwKLSsJCQl0YWdzID0gW3Nlc3Npb25dLAotKwkJCWRlc2MgPSAiU2V0IHByZXNl bmNlIG9mIGEgc2Vzc2lvbiIsCi0rCQkJbW9kdWxlID0gP01PRFVMRSwgZnVuY3Rpb24gPSBzZXRf cHJlc2VuY2UsCi0rCQkJYXJncyA9IFt7dXNlciwgc3RyaW5nfSwge2hvc3QsIHN0cmluZ30sCi0r CQkJCXtyZXNvdXJjZSwgc3RyaW5nfSwge3R5cGUsIHN0cmluZ30sCi0rCQkJCXtzaG93LCBzdHJp bmd9LCB7c3RhdHVzLCBzdHJpbmd9LAotKwkJCQl7cHJpb3JpdHksIHN0cmluZ31dLAotKwkJCXJl c3VsdCA9IHtyZXMsIHJlc2NvZGV9fSwKLSsKLSsgICAgICNlamFiYmVyZF9jb21tYW5kc3tuYW1l ID0gc2V0X25pY2tuYW1lLCB0YWdzID0gW3ZjYXJkXSwKLSsJCQlkZXNjID0gIlNldCBuaWNrbmFt ZSBpbiBhIHVzZXIncyB2Q2FyZCIsCi0rCQkJbW9kdWxlID0gP01PRFVMRSwgZnVuY3Rpb24gPSBz ZXRfbmlja25hbWUsCi0rCQkJYXJncyA9IFt7dXNlciwgc3RyaW5nfSwge2hvc3QsIHN0cmluZ30s IHtuaWNrbmFtZSwgc3RyaW5nfV0sCi0rCQkJcmVzdWx0ID0ge3JlcywgcmVzY29kZX19LAotKwot KyAgICAgI2VqYWJiZXJkX2NvbW1hbmRze25hbWUgPSBnZXRfdmNhcmQsIHRhZ3MgPSBbdmNhcmRd LAotKwkJCWRlc2MgPSAiR2V0IGNvbnRlbnQgZnJvbSBhIHZDYXJkIGZpZWxkIiwKLSsJCQlsb25n ZGVzYyA9IFZjYXJkMUZpZWxkc1N0cmluZyArKyAiXG4iICsrIFZjYXJkMkZpZWxkc1N0cmluZyAr KyAiXG5cbiIgKysgVmNhcmRYRVAsCi0rCQkJbW9kdWxlID0gP01PRFVMRSwgZnVuY3Rpb24gPSBn ZXRfdmNhcmQsCi0rCQkJYXJncyA9IFt7dXNlciwgYmluYXJ5fSwge2hvc3QsIGJpbmFyeX0sIHtu YW1lLCBiaW5hcnl9XSwKLSsJCQlyZXN1bHQgPSB7Y29udGVudCwgc3RyaW5nfX0sCi0rICAgICAj ZWphYmJlcmRfY29tbWFuZHN7bmFtZSA9IGdldF92Y2FyZDIsIHRhZ3MgPSBbdmNhcmRdLAotKwkJ CWRlc2MgPSAiR2V0IGNvbnRlbnQgZnJvbSBhIHZDYXJkIGZpZWxkIiwKLSsJCQlsb25nZGVzYyA9 IFZjYXJkMkZpZWxkc1N0cmluZyArKyAiXG5cbiIgKysgVmNhcmQxRmllbGRzU3RyaW5nICsrICJc biIgKysgVmNhcmRYRVAsCi0rCQkJbW9kdWxlID0gP01PRFVMRSwgZnVuY3Rpb24gPSBnZXRfdmNh cmQsCi0rCQkJYXJncyA9IFt7dXNlciwgYmluYXJ5fSwge2hvc3QsIGJpbmFyeX0sIHtuYW1lLCBi aW5hcnl9LCB7c3VibmFtZSwgYmluYXJ5fV0sCi0rCQkJcmVzdWx0ID0ge2NvbnRlbnQsIHN0cmlu Z319LAotKyAgICAgI2VqYWJiZXJkX2NvbW1hbmRze25hbWUgPSBnZXRfdmNhcmQyX211bHRpLCB0 YWdzID0gW3ZjYXJkXSwKLSsJCQlkZXNjID0gIkdldCBtdWx0aXBsZSBjb250ZW50cyBmcm9tIGEg dkNhcmQgZmllbGQgKHJlcXVpcmVzIGV4bXBwIGluc3RhbGxlZCkiLAotKwkJCWxvbmdkZXNjID0g VmNhcmQyRmllbGRzU3RyaW5nICsrICJcblxuIiArKyBWY2FyZDFGaWVsZHNTdHJpbmcgKysgIlxu IiArKyBWY2FyZFhFUCwKLSsJCQltb2R1bGUgPSA/TU9EVUxFLCBmdW5jdGlvbiA9IGdldF92Y2Fy ZF9tdWx0aSwKLSsJCQlhcmdzID0gW3t1c2VyLCBiaW5hcnl9LCB7aG9zdCwgYmluYXJ5fSwge25h bWUsIGJpbmFyeX0sIHtzdWJuYW1lLCBiaW5hcnl9XSwKLSsJCQlyZXN1bHQgPSB7Y29udGVudHMs IHtsaXN0LCBzdHJpbmd9fX0sCi0rCi0rICAgICAjZWphYmJlcmRfY29tbWFuZHN7bmFtZSA9IHNl dF92Y2FyZCwgdGFncyA9IFt2Y2FyZF0sCi0rCQkJZGVzYyA9ICJTZXQgY29udGVudCBpbiBhIHZD YXJkIGZpZWxkIiwKLSsJCQlsb25nZGVzYyA9IFZjYXJkMUZpZWxkc1N0cmluZyArKyAiXG4iICsr IFZjYXJkMkZpZWxkc1N0cmluZyArKyAiXG5cbiIgKysgVmNhcmRYRVAsCi0rCQkJbW9kdWxlID0g P01PRFVMRSwgZnVuY3Rpb24gPSBzZXRfdmNhcmQsCi0rCQkJYXJncyA9IFt7dXNlciwgYmluYXJ5 fSwge2hvc3QsIGJpbmFyeX0sIHtuYW1lLCBiaW5hcnl9LCB7Y29udGVudCwgYmluYXJ5fV0sCi0r CQkJcmVzdWx0ID0ge3JlcywgcmVzY29kZX19LAotKyAgICAgI2VqYWJiZXJkX2NvbW1hbmRze25h bWUgPSBzZXRfdmNhcmQyLCB0YWdzID0gW3ZjYXJkXSwKLSsJCQlkZXNjID0gIlNldCBjb250ZW50 IGluIGEgdkNhcmQgc3ViZmllbGQiLAotKwkJCWxvbmdkZXNjID0gVmNhcmQyRmllbGRzU3RyaW5n ICsrICJcblxuIiArKyBWY2FyZDFGaWVsZHNTdHJpbmcgKysgIlxuIiArKyBWY2FyZFhFUCwKLSsJ CQltb2R1bGUgPSA/TU9EVUxFLCBmdW5jdGlvbiA9IHNldF92Y2FyZCwKLSsJCQlhcmdzID0gW3t1 c2VyLCBiaW5hcnl9LCB7aG9zdCwgYmluYXJ5fSwge25hbWUsIGJpbmFyeX0sIHtzdWJuYW1lLCBi aW5hcnl9LCB7Y29udGVudCwgYmluYXJ5fV0sCi0rCQkJcmVzdWx0ID0ge3JlcywgcmVzY29kZX19 LAotKyAgICAgI2VqYWJiZXJkX2NvbW1hbmRze25hbWUgPSBzZXRfdmNhcmQyX211bHRpLCB0YWdz ID0gW3ZjYXJkXSwKLSsJCQlkZXNjID0gIlNldCBtdWx0aXBsZSBjb250ZW50cyBpbiBhIHZDYXJk IHN1YmZpZWxkIiwKLSsJCQlsb25nZGVzYyA9IFZjYXJkMkZpZWxkc1N0cmluZyArKyAiXG5cbiIg KysgVmNhcmQxRmllbGRzU3RyaW5nICsrICJcbiIgKysgVmNhcmRYRVAsCi0rCQkJbW9kdWxlID0g P01PRFVMRSwgZnVuY3Rpb24gPSBzZXRfdmNhcmQsCi0rCQkJYXJncyA9IFt7dXNlciwgYmluYXJ5 fSwge2hvc3QsIGJpbmFyeX0sIHtuYW1lLCBiaW5hcnl9LCB7c3VibmFtZSwgYmluYXJ5fSwge2Nv bnRlbnRzLCB7bGlzdCwgYmluYXJ5fX1dLAotKwkJCXJlc3VsdCA9IHtyZXMsIHJlc2NvZGV9fSwK LSsKLSsgICAgICNlamFiYmVyZF9jb21tYW5kc3tuYW1lID0gYWRkX3Jvc3Rlcml0ZW0sIHRhZ3Mg PSBbcm9zdGVyXSwKLSsJCQlkZXNjID0gIkFkZCBhbiBpdGVtIHRvIGEgdXNlcidzIHJvc3RlciAo c3VwcG9ydHMgT0RCQykiLAotKwkJCW1vZHVsZSA9ID9NT0RVTEUsIGZ1bmN0aW9uID0gYWRkX3Jv c3Rlcml0ZW0sCi0rCQkJYXJncyA9IFt7bG9jYWx1c2VyLCBiaW5hcnl9LCB7bG9jYWxzZXJ2ZXIs IGJpbmFyeX0sCi0rCQkJCXt1c2VyLCBiaW5hcnl9LCB7c2VydmVyLCBiaW5hcnl9LAotKwkJCQl7 bmljaywgYmluYXJ5fSwge2dyb3VwLCBiaW5hcnl9LAotKwkJCQl7c3VicywgYmluYXJ5fV0sCi0r CQkJcmVzdWx0ID0ge3JlcywgcmVzY29kZX19LAotKyAgICAgJSV7IiIsICJzdWJzPSBub25lLCBm cm9tLCB0byBvciBib3RoIn0sCi0rICAgICAlJXsiIiwgImV4YW1wbGU6IGFkZC1yb3N0ZXIgcGV0 ZXIgbG9jYWxob3N0IG1pa2Ugc2VydmVyLmNvbSBNaUtlIEVtcGxveWVlcyBib3RoIn0sCi0rICAg ICAlJXsiIiwgIndpbGwgYWRkIG1pa2VAc2VydmVyLmNvbSB0byBwZXRlckBsb2NhbGhvc3Qgcm9z dGVyIn0sCi0rICAgICAjZWphYmJlcmRfY29tbWFuZHN7bmFtZSA9IGRlbGV0ZV9yb3N0ZXJpdGVt LCB0YWdzID0gW3Jvc3Rlcl0sCi0rCQkJZGVzYyA9ICJEZWxldGUgYW4gaXRlbSBmcm9tIGEgdXNl cidzIHJvc3RlciAoc3VwcG9ydHMgT0RCQykiLAotKwkJCW1vZHVsZSA9ID9NT0RVTEUsIGZ1bmN0 aW9uID0gZGVsZXRlX3Jvc3Rlcml0ZW0sCi0rCQkJYXJncyA9IFt7bG9jYWx1c2VyLCBiaW5hcnl9 LCB7bG9jYWxzZXJ2ZXIsIGJpbmFyeX0sCi0rCQkJCXt1c2VyLCBiaW5hcnl9LCB7c2VydmVyLCBi aW5hcnl9XSwKLSsJCQlyZXN1bHQgPSB7cmVzLCByZXNjb2RlfX0sCi0rICAgICAjZWphYmJlcmRf Y29tbWFuZHN7bmFtZSA9IHByb2Nlc3Nfcm9zdGVyaXRlbXMsIHRhZ3MgPSBbcm9zdGVyXSwKLSsJ CQlkZXNjID0gIkxpc3Qgb3IgZGVsZXRlIHJvc3Rlcml0ZW1zIHRoYXQgbWF0Y2ggZmlsdGVyaW5n IG9wdGlvbnMiLAotKwkJCWxvbmdkZXNjID0gIkV4cGxhbmF0aW9uIG9mIGVhY2ggYXJndW1lbnQ6 XG4iCi0rCQkJIiAtIGFjdGlvbjogd2hhdCB0byBkbyB3aXRoIGVhY2ggcm9zdGVyaXRlbSB0aGF0 ICIKLSsJCQkibWF0Y2hlcyBhbGwgdGhlIGZpbHRlcmluZyBvcHRpb25zXG4iCi0rCQkJIiAtIHN1 YnM6IHN1YnNjcmlwdGlvbiB0eXBlXG4iCi0rCQkJIiAtIGFza3M6IHBlbmRpbmcgc3Vic2NyaXB0 aW9uXG4iCi0rCQkJIiAtIHVzZXJzOiB0aGUgSklEcyBvZiB0aGUgbG9jYWwgdXNlclxuIgotKwkJ CSIgLSBjb250YWN0czogdGhlIEpJRHMgb2YgdGhlIGNvbnRhY3QgaW4gdGhlIHJvc3RlclxuIgot KwkJCSJcbiIKLSsJCQkiQWxsb3dlZCB2YWx1ZXMgaW4gdGhlIGFyZ3VtZW50czpcbiIKLSsJCQki ICBBQ1RJT04gPSBsaXN0IHwgZGVsZXRlXG4iCi0rCQkJIiAgU1VCUyA9IFNVQls6U1VCXSogfCBh bnlcbiIKLSsJCQkiICBTVUIgPSBub25lIHwgZnJvbSB8IHRvIHwgYm90aFxuIgotKwkJCSIgIEFT S1MgPSBBU0tbOkFTS10qIHwgYW55XG4iCi0rCQkJIiAgQVNLID0gbm9uZSB8IG91dCB8IGluXG4i Ci0rCQkJIiAgVVNFUlMgPSBKSURbOkpJRF0qIHwgYW55XG4iCi0rCQkJIiAgQ09OVEFDVFMgPSBK SURbOkpJRF0qIHwgYW55XG4iCi0rCQkJIiAgSklEID0gY2hhcmFjdGVycyB2YWxpZCBpbiBhIEpJ RCwgYW5kIGNhbiB1c2UgdGhlICIKLSsJCQkiZ2xvYnM6ICosID8sICEgYW5kIFsuLi5dXG4iCi0r CQkJIlxuIgotKwkJCSJUaGlzIGV4YW1wbGUgd2lsbCBsaXN0IHJvc3RlciBpdGVtcyB3aXRoIHN1 YnNjcmlwdGlvbiAiCi0rCQkJIidub25lJywgJ2Zyb20nIG9yICd0bycgdGhhdCBoYXZlIGFueSBh c2sgcHJvcGVydHksIG9mICIKLSsJCQkibG9jYWwgdXNlcnMgd2hpY2ggSklEIGlzIGluIHRoZSB2 aXJ0dWFsIGhvc3QgIgotKwkJCSInZXhhbXBsZS5vcmcnIGFuZCB0aGF0IHRoZSBjb250YWN0IEpJ RCBpcyBlaXRoZXIgYSAiCi0rCQkJImJhcmUgc2VydmVyIG5hbWUgKHdpdGhvdXQgdXNlciBwYXJ0 KSBvciB0aGF0IGhhcyBhICIKLSsJCQkidXNlciBwYXJ0IGFuZCB0aGUgc2VydmVyIHBhcnQgY29u dGFpbnMgdGhlIHdvcmQgJ2ljcSciCi0rCQkJIjpcbiAgbGlzdCBub25lOmZyb206dG8gYW55ICpA ZXhhbXBsZS5vcmcgKjoqQCppY3EqIiwKLSsJCQltb2R1bGUgPSA/TU9EVUxFLCBmdW5jdGlvbiA9 IHByb2Nlc3Nfcm9zdGVyaXRlbXMsCi0rCQkJYXJncyA9IFt7YWN0aW9uLCBzdHJpbmd9LCB7c3Vi cywgc3RyaW5nfSwKLSsJCQkJe2Fza3MsIHN0cmluZ30sIHt1c2Vycywgc3RyaW5nfSwKLSsJCQkJ e2NvbnRhY3RzLCBzdHJpbmd9XSwKLSsJCQlyZXN1bHQgPSB7cmVzcG9uc2UsCi0rCQkJCSAge2xp c3QsCi0rCQkJCSAgIHtwYWlycywge3R1cGxlLAotKwkJCQkJICAgICAgIFt7dXNlciwgc3RyaW5n fSwKLSsJCQkJCQl7Y29udGFjdCwgc3RyaW5nfQotKwkJCQkJICAgICAgIF19fQotKwkJCQkgIH19 fSwKLSsgICAgICNlamFiYmVyZF9jb21tYW5kc3tuYW1lID0gZ2V0X3Jvc3RlciwgdGFncyA9IFty b3N0ZXJdLAotKwkJCWRlc2MgPSAiR2V0IHJvc3RlciBvZiBhIGxvY2FsIHVzZXIiLAotKwkJCW1v ZHVsZSA9ID9NT0RVTEUsIGZ1bmN0aW9uID0gZ2V0X3Jvc3RlciwKLSsJCQlhcmdzID0gW3t1c2Vy LCBiaW5hcnl9LCB7aG9zdCwgYmluYXJ5fV0sCi0rCQkJcmVzdWx0ID0ge2NvbnRhY3RzLCB7bGlz dCwge2NvbnRhY3QsIHt0dXBsZSwgWwotKwkJCQkJCQkJICAgICAge2ppZCwgc3RyaW5nfSwKLSsJ CQkJCQkJCSAgICAgIHtuaWNrLCBzdHJpbmd9LAotKwkJCQkJCQkJICAgICAge3N1YnNjcmlwdGlv biwgc3RyaW5nfSwKLSsJCQkJCQkJCSAgICAgIHthc2ssIHN0cmluZ30sCi0rCQkJCQkJCQkgICAg ICB7Z3JvdXAsIHN0cmluZ30KLSsJCQkJCQkJCSAgICAgXX19fX19LAotKyAgICAgI2VqYWJiZXJk X2NvbW1hbmRze25hbWUgPSBwdXNoX3Jvc3RlciwgdGFncyA9IFtyb3N0ZXJdLAotKwkJCWRlc2Mg PSAiUHVzaCB0ZW1wbGF0ZSByb3N0ZXIgZnJvbSBmaWxlIHRvIGEgdXNlciIsCi0rCQkJbW9kdWxl ID0gP01PRFVMRSwgZnVuY3Rpb24gPSBwdXNoX3Jvc3RlciwKLSsJCQlhcmdzID0gW3tmaWxlLCBz dHJpbmd9LCB7dXNlciwgc3RyaW5nfSwge2hvc3QsIHN0cmluZ31dLAotKwkJCXJlc3VsdCA9IHty ZXMsIHJlc2NvZGV9fSwKLSsgICAgICNlamFiYmVyZF9jb21tYW5kc3tuYW1lID0gcHVzaF9yb3N0 ZXJfYWxsLCB0YWdzID0gW3Jvc3Rlcl0sCi0rCQkJZGVzYyA9ICJQdXNoIHRlbXBsYXRlIHJvc3Rl ciBmcm9tIGZpbGUgdG8gYWxsIHRob3NlIHVzZXJzIiwKLSsJCQltb2R1bGUgPSA/TU9EVUxFLCBm dW5jdGlvbiA9IHB1c2hfcm9zdGVyX2FsbCwKLSsJCQlhcmdzID0gW3tmaWxlLCBzdHJpbmd9XSwK LSsJCQlyZXN1bHQgPSB7cmVzLCByZXNjb2RlfX0sCi0rICAgICAjZWphYmJlcmRfY29tbWFuZHN7 bmFtZSA9IHB1c2hfYWxsdG9hbGwsIHRhZ3MgPSBbcm9zdGVyXSwKLSsJCQlkZXNjID0gIkFkZCBh bGwgdGhlIHVzZXJzIHRvIGFsbCB0aGUgdXNlcnMgb2YgSG9zdCBpbiBHcm91cCIsCi0rCQkJbW9k dWxlID0gP01PRFVMRSwgZnVuY3Rpb24gPSBwdXNoX2FsbHRvYWxsLAotKwkJCWFyZ3MgPSBbe2hv c3QsIHN0cmluZ30sIHtncm91cCwgc3RyaW5nfV0sCi0rCQkJcmVzdWx0ID0ge3JlcywgcmVzY29k ZX19LAotKwotKyAgICAgI2VqYWJiZXJkX2NvbW1hbmRze25hbWUgPSBnZXRfbGFzdCwgdGFncyA9 IFtsYXN0XSwKLSsJCQlkZXNjID0gIkdldCBsYXN0IGFjdGl2aXR5IGluZm9ybWF0aW9uIiwKLSsJ CQlsb25nZGVzYyA9ICJUaW1lc3RhbXAgaXMgdGhlIHNlY29uZHMgc2luY2UiCi0rCQkJIjE5NzAt MDEtMDEgMDA6MDA6MDAgVVRDLCBmb3IgZXhhbXBsZTogZGF0ZSArJXMiLAotKwkJCW1vZHVsZSA9 ID9NT0RVTEUsIGZ1bmN0aW9uID0gZ2V0X2xhc3QsCi0rCQkJYXJncyA9IFt7dXNlciwgYmluYXJ5 fSwge2hvc3QsIGJpbmFyeX1dLAotKwkJCXJlc3VsdCA9IHtsYXN0X2FjdGl2aXR5LCBzdHJpbmd9 fSwKLSsgICAgICNlamFiYmVyZF9jb21tYW5kc3tuYW1lID0gc2V0X2xhc3QsIHRhZ3MgPSBbbGFz dF0sCi0rCQkJZGVzYyA9ICJTZXQgbGFzdCBhY3Rpdml0eSBpbmZvcm1hdGlvbiIsCi0rCQkJbG9u Z2Rlc2MgPSAiVGltZXN0YW1wIGlzIHRoZSBzZWNvbmRzIHNpbmNlIgotKwkJCSIxOTcwLTAxLTAx IDAwOjAwOjAwIFVUQywgZm9yIGV4YW1wbGU6IGRhdGUgKyVzIiwKLSsJCQltb2R1bGUgPSA/TU9E VUxFLCBmdW5jdGlvbiA9IHNldF9sYXN0LAotKwkJCWFyZ3MgPSBbe3VzZXIsIHN0cmluZ30sIHto b3N0LCBzdHJpbmd9LCB7dGltZXN0YW1wLCBpbnRlZ2VyfSwge3N0YXR1cywgc3RyaW5nfV0sCi0r CQkJcmVzdWx0ID0ge3JlcywgcmVzY29kZX19LAotKwotKyAgICAgI2VqYWJiZXJkX2NvbW1hbmRz e25hbWUgPSBwcml2YXRlX2dldCwgdGFncyA9IFtwcml2YXRlXSwKLSsJCQlkZXNjID0gIkdldCBz b21lIGluZm9ybWF0aW9uIGZyb20gYSB1c2VyIHByaXZhdGUgc3RvcmFnZSIsCi0rCQkJbW9kdWxl ID0gP01PRFVMRSwgZnVuY3Rpb24gPSBwcml2YXRlX2dldCwKLSsJCQlhcmdzID0gW3t1c2VyLCBz dHJpbmd9LCB7aG9zdCwgc3RyaW5nfSwge2VsZW1lbnQsIHN0cmluZ30sIHtucywgc3RyaW5nfV0s Ci0rCQkJcmVzdWx0ID0ge3Jlcywgc3RyaW5nfX0sCi0rICAgICAjZWphYmJlcmRfY29tbWFuZHN7 bmFtZSA9IHByaXZhdGVfc2V0LCB0YWdzID0gW3ByaXZhdGVdLAotKwkJCWRlc2MgPSAiU2V0IHRv IHRoZSB1c2VyIHByaXZhdGUgc3RvcmFnZSIsCi0rCQkJbW9kdWxlID0gP01PRFVMRSwgZnVuY3Rp b24gPSBwcml2YXRlX3NldCwKLSsJCQlhcmdzID0gW3t1c2VyLCBzdHJpbmd9LCB7aG9zdCwgc3Ry aW5nfSwge2VsZW1lbnQsIHN0cmluZ31dLAotKwkJCXJlc3VsdCA9IHtyZXMsIHJlc2NvZGV9fSwK LSsKLSsgICAgICNlamFiYmVyZF9jb21tYW5kc3tuYW1lID0gc3JnX2NyZWF0ZSwgdGFncyA9IFtz aGFyZWRfcm9zdGVyX2dyb3VwXSwKLSsJCQlkZXNjID0gIkNyZWF0ZSBhIFNoYXJlZCBSb3N0ZXIg R3JvdXAiLAotKwkJCWxvbmdkZXNjID0gIklmIHlvdSB3YW50IHRvIHNwZWNpZnkgc2V2ZXJhbCBn cm91cCAiCi0rCQkJImlkZW50aWZpZXJzIGluIHRoZSBEaXNwbGF5IGFyZ3VtZW50LFxuIgotKwkJ CSJwdXQgIFxcIFwiIGFyb3VuZCB0aGUgYXJndW1lbnQgYW5kXG5zZXBhcmF0ZSB0aGUgIgotKwkJ CSJpZGVudGlmaWVycyB3aXRoIFxcIFxcIG5cbiIKLSsJCQkiRm9yIGV4YW1wbGU6XG4iCi0rCQkJ IiAgZWphYmJlcmRjdGwgc3JnX2NyZWF0ZSBncm91cDMgbG9jYWxob3N0ICIKLSsJCQkibmFtZSBk ZXNjIFxcXCJncm91cDFcXFxcbmdyb3VwMlxcXCIiLAotKwkJCW1vZHVsZSA9ID9NT0RVTEUsIGZ1 bmN0aW9uID0gc3JnX2NyZWF0ZSwKLSsJCQlhcmdzID0gW3tncm91cCwgYmluYXJ5fSwge2hvc3Qs IGJpbmFyeX0sCi0rCQkJCXtuYW1lLCBiaW5hcnl9LCB7ZGVzY3JpcHRpb24sIGJpbmFyeX0sIHtk aXNwbGF5LCBiaW5hcnl9XSwKLSsJCQlyZXN1bHQgPSB7cmVzLCByZXNjb2RlfX0sCi0rICAgICAj ZWphYmJlcmRfY29tbWFuZHN7bmFtZSA9IHNyZ19kZWxldGUsIHRhZ3MgPSBbc2hhcmVkX3Jvc3Rl cl9ncm91cF0sCi0rCQkJZGVzYyA9ICJEZWxldGUgYSBTaGFyZWQgUm9zdGVyIEdyb3VwIiwKLSsJ CQltb2R1bGUgPSA/TU9EVUxFLCBmdW5jdGlvbiA9IHNyZ19kZWxldGUsCi0rCQkJYXJncyA9IFt7 Z3JvdXAsIGJpbmFyeX0sIHtob3N0LCBiaW5hcnl9XSwKLSsJCQlyZXN1bHQgPSB7cmVzLCByZXNj b2RlfX0sCi0rICAgICAjZWphYmJlcmRfY29tbWFuZHN7bmFtZSA9IHNyZ19saXN0LCB0YWdzID0g W3NoYXJlZF9yb3N0ZXJfZ3JvdXBdLAotKwkJCWRlc2MgPSAiTGlzdCB0aGUgU2hhcmVkIFJvc3Rl ciBHcm91cHMgaW4gSG9zdCIsCi0rCQkJbW9kdWxlID0gP01PRFVMRSwgZnVuY3Rpb24gPSBzcmdf bGlzdCwKLSsJCQlhcmdzID0gW3tob3N0LCBiaW5hcnl9XSwKLSsJCQlyZXN1bHQgPSB7Z3JvdXBz LCB7bGlzdCwge2lkLCBzdHJpbmd9fX19LAotKyAgICAgI2VqYWJiZXJkX2NvbW1hbmRze25hbWUg PSBzcmdfZ2V0X2luZm8sIHRhZ3MgPSBbc2hhcmVkX3Jvc3Rlcl9ncm91cF0sCi0rCQkJZGVzYyA9 ICJHZXQgaW5mbyBvZiBhIFNoYXJlZCBSb3N0ZXIgR3JvdXAiLAotKwkJCW1vZHVsZSA9ID9NT0RV TEUsIGZ1bmN0aW9uID0gc3JnX2dldF9pbmZvLAotKwkJCWFyZ3MgPSBbe2dyb3VwLCBiaW5hcnl9 LCB7aG9zdCwgYmluYXJ5fV0sCi0rCQkJcmVzdWx0ID0ge2luZm9ybWF0aW9ucywge2xpc3QsIHtp bmZvcm1hdGlvbiwge3R1cGxlLCBbe2tleSwgc3RyaW5nfSwge3ZhbHVlLCBzdHJpbmd9XX19fX19 LAotKyAgICAgI2VqYWJiZXJkX2NvbW1hbmRze25hbWUgPSBzcmdfZ2V0X21lbWJlcnMsIHRhZ3Mg PSBbc2hhcmVkX3Jvc3Rlcl9ncm91cF0sCi0rCQkJZGVzYyA9ICJHZXQgbWVtYmVycyBvZiBhIFNo YXJlZCBSb3N0ZXIgR3JvdXAiLAotKwkJCW1vZHVsZSA9ID9NT0RVTEUsIGZ1bmN0aW9uID0gc3Jn X2dldF9tZW1iZXJzLAotKwkJCWFyZ3MgPSBbe2dyb3VwLCBiaW5hcnl9LCB7aG9zdCwgYmluYXJ5 fV0sCi0rCQkJcmVzdWx0ID0ge21lbWJlcnMsIHtsaXN0LCB7bWVtYmVyLCBzdHJpbmd9fX19LAot KyAgICAgI2VqYWJiZXJkX2NvbW1hbmRze25hbWUgPSBzcmdfdXNlcl9hZGQsIHRhZ3MgPSBbc2hh cmVkX3Jvc3Rlcl9ncm91cF0sCi0rCQkJZGVzYyA9ICJBZGQgdGhlIEpJRCB1c2VyQGhvc3QgdG8g dGhlIFNoYXJlZCBSb3N0ZXIgR3JvdXAiLAotKwkJCW1vZHVsZSA9ID9NT0RVTEUsIGZ1bmN0aW9u ID0gc3JnX3VzZXJfYWRkLAotKwkJCWFyZ3MgPSBbe3VzZXIsIGJpbmFyeX0sIHtob3N0LCBiaW5h cnl9LCB7Z3JvdXAsIGJpbmFyeX0sIHtncm91cGhvc3QsIGJpbmFyeX1dLAotKwkJCXJlc3VsdCA9 IHtyZXMsIHJlc2NvZGV9fSwKLSsgICAgICNlamFiYmVyZF9jb21tYW5kc3tuYW1lID0gc3JnX3Vz ZXJfZGVsLCB0YWdzID0gW3NoYXJlZF9yb3N0ZXJfZ3JvdXBdLAotKwkJCWRlc2MgPSAiRGVsZXRl IHRoaXMgSklEIHVzZXJAaG9zdCBmcm9tIHRoZSBTaGFyZWQgUm9zdGVyIEdyb3VwIiwKLSsJCQlt b2R1bGUgPSA/TU9EVUxFLCBmdW5jdGlvbiA9IHNyZ191c2VyX2RlbCwKLSsJCQlhcmdzID0gW3t1 c2VyLCBiaW5hcnl9LCB7aG9zdCwgYmluYXJ5fSwge2dyb3VwLCBiaW5hcnl9LCB7Z3JvdXBob3N0 LCBiaW5hcnl9XSwKLSsJCQlyZXN1bHQgPSB7cmVzLCByZXNjb2RlfX0sCi0rCi0rICAgICAjZWph YmJlcmRfY29tbWFuZHN7bmFtZSA9IHNlbmRfbWVzc2FnZV9jaGF0LCB0YWdzID0gW3N0YW56YV0s Ci0rCQkJZGVzYyA9ICJTZW5kIGEgY2hhdCBtZXNzYWdlIHRvIGEgbG9jYWwgb3IgcmVtb3RlIGJh cmUgb2YgZnVsbCBKSUQiLAotKwkJCW1vZHVsZSA9ID9NT0RVTEUsIGZ1bmN0aW9uID0gc2VuZF9t ZXNzYWdlX2NoYXQsCi0rCQkJYXJncyA9IFt7ZnJvbSwgYmluYXJ5fSwge3RvLCBiaW5hcnl9LCB7 Ym9keSwgYmluYXJ5fV0sCi0rCQkJcmVzdWx0ID0ge3JlcywgcmVzY29kZX19LAotKyAgICAgI2Vq YWJiZXJkX2NvbW1hbmRze25hbWUgPSBzZW5kX21lc3NhZ2VfaGVhZGxpbmUsIHRhZ3MgPSBbc3Rh bnphXSwKLSsJCQlkZXNjID0gIlNlbmQgYSBoZWFkbGluZSBtZXNzYWdlIHRvIGEgbG9jYWwgb3Ig cmVtb3RlIGJhcmUgb2YgZnVsbCBKSUQiLAotKwkJCW1vZHVsZSA9ID9NT0RVTEUsIGZ1bmN0aW9u ID0gc2VuZF9tZXNzYWdlX2hlYWRsaW5lLAotKwkJCWFyZ3MgPSBbe2Zyb20sIGJpbmFyeX0sIHt0 bywgYmluYXJ5fSwKLSsJCQkJe3N1YmplY3QsIGJpbmFyeX0sIHtib2R5LCBiaW5hcnl9XSwKLSsJ CQlyZXN1bHQgPSB7cmVzLCByZXNjb2RlfX0sCi0rICAgICAjZWphYmJlcmRfY29tbWFuZHN7bmFt ZSA9IHNlbmRfc3RhbnphX2MycywgdGFncyA9IFtzdGFuemFdLAotKwkJCWRlc2MgPSAiU2VuZCBh IHN0YW56YSBhcyBpZiBzZW50IGZyb20gYSBjMnMgc2Vzc2lvbiIsCi0rCQkJbW9kdWxlID0gP01P RFVMRSwgZnVuY3Rpb24gPSBzZW5kX3N0YW56YV9jMnMsCi0rCQkJYXJncyA9IFt7dXNlciwgYmlu YXJ5fSwge2hvc3QsIGJpbmFyeX0sIHtyZXNvdXJjZSwgYmluYXJ5fSwge3N0YW56YSwgYmluYXJ5 fV0sCi0rCQkJcmVzdWx0ID0ge3JlcywgcmVzY29kZX19LAotKyAgICAgI2VqYWJiZXJkX2NvbW1h bmRze25hbWUgPSBwcml2YWN5X3NldCwgdGFncyA9IFtzdGFuemFdLAotKwkJCWRlc2MgPSAiU2Vu ZCBhIElRIHNldCBwcml2YWN5IHN0YW56YSBmb3IgYSBsb2NhbCBhY2NvdW50IiwKLSsJCQltb2R1 bGUgPSA/TU9EVUxFLCBmdW5jdGlvbiA9IHByaXZhY3lfc2V0LAotKwkJCWFyZ3MgPSBbe3VzZXIs IGJpbmFyeX0sIHtob3N0LCBiaW5hcnl9LCB7eG1scXVlcnksIGJpbmFyeX1dLAotKwkJCXJlc3Vs dCA9IHtyZXMsIHJlc2NvZGV9fSwKLSsKLSsgICAgICNlamFiYmVyZF9jb21tYW5kc3tuYW1lID0g c3RhdHMsIHRhZ3MgPSBbc3RhdHNdLAotKwkJCWRlc2MgPSAiR2V0IHN0YXRpc3RpY2FsIHZhbHVl OiByZWdpc3RlcmVkdXNlcnMgb25saW5ldXNlcnMgb25saW5ldXNlcnNub2RlIHVwdGltZXNlY29u ZHMiLAotKwkJCW1vZHVsZSA9ID9NT0RVTEUsIGZ1bmN0aW9uID0gc3RhdHMsCi0rCQkJYXJncyA9 IFt7bmFtZSwgYmluYXJ5fV0sCi0rCQkJcmVzdWx0ID0ge3N0YXQsIGludGVnZXJ9fSwKLSsgICAg ICNlamFiYmVyZF9jb21tYW5kc3tuYW1lID0gc3RhdHNfaG9zdCwgdGFncyA9IFtzdGF0c10sCi0r CQkJZGVzYyA9ICJHZXQgc3RhdGlzdGljYWwgdmFsdWUgZm9yIHRoaXMgaG9zdDogcmVnaXN0ZXJl ZHVzZXJzIG9ubGluZXVzZXJzIiwKLSsJCQltb2R1bGUgPSA/TU9EVUxFLCBmdW5jdGlvbiA9IHN0 YXRzLAotKwkJCWFyZ3MgPSBbe25hbWUsIGJpbmFyeX0sIHtob3N0LCBiaW5hcnl9XSwKLSsJCQly ZXN1bHQgPSB7c3RhdCwgaW50ZWdlcn19Ci0rICAgIF0uCi0rCi0rCi0rJSUlCi0rJSUlIE5vZGUK LSslJSUKLSsKLStjb21waWxlKEZpbGUpIC0+Ci0rICAgIGNhc2UgY29tcGlsZTpmaWxlKEZpbGUp IG9mCi0rCW9rIC0+IG9rOwotKwlfIC0+IGVycm9yCi0rICAgIGVuZC4KLSsKLStsb2FkX2NvbmZp ZyhQYXRoKSAtPgotKyAgICBvayA9IGVqYWJiZXJkX2NvbmZpZzpsb2FkX2ZpbGUoUGF0aCkuCi0r Ci0rZ2V0X2Nvb2tpZSgpIC0+Ci0rICAgIGF0b21fdG9fbGlzdChlcmxhbmc6Z2V0X2Nvb2tpZSgp KS4KLSsKLStyZW1vdmVfbm9kZShOb2RlKSAtPgotKyAgICBtbmVzaWE6ZGVsX3RhYmxlX2NvcHko c2NoZW1hLCBsaXN0X3RvX2F0b20oTm9kZSkpLAotKyAgICBvay4KLSsKLStleHBvcnQyb2RiYyhI b3N0LCBEaXJlY3RvcnkpIC0+Ci0rICAgIFRhYmxlcyA9IFsKLSsJICAgICAge2V4cG9ydF9sYXN0 LCBsYXN0fSwKLSsJICAgICAge2V4cG9ydF9vZmZsaW5lLCBvZmZsaW5lfSwKLSsJICAgICAge2V4 cG9ydF9wYXNzd2QsIHBhc3N3ZH0sCi0rCSAgICAgIHtleHBvcnRfcHJpdmF0ZV9zdG9yYWdlLCBw cml2YXRlX3N0b3JhZ2V9LAotKwkgICAgICB7ZXhwb3J0X3Jvc3Rlciwgcm9zdGVyfSwKLSsJICAg ICAge2V4cG9ydF92Y2FyZCwgdmNhcmR9LAotKwkgICAgICB7ZXhwb3J0X3ZjYXJkX3NlYXJjaCwg dmNhcmRfc2VhcmNofV0sCi0rICAgIEV4cG9ydCA9IGZ1bih7VGFibGVGdW4sIFRhYmxlfSkgLT4K LSsJCSAgICAgRmlsZW5hbWUgPSBmaWxlbmFtZTpqb2luKFtEaXJlY3RvcnksIGF0b21fdG9fbGlz dChUYWJsZSkrKyIudHh0Il0pLAotKwkJICAgICBpbzpmb3JtYXQoIlRyeWluZyB0byBleHBvcnQg TW5lc2lhIHRhYmxlICd+cCcgb24gSG9zdCAnfnMnIHRvIGZpbGUgJ35zJ35uIiwgW1RhYmxlLCBI b3N0LCBGaWxlbmFtZV0pLAotKwkJICAgICBSZXMgPSAoY2F0Y2ggZWpkMm9kYmM6VGFibGVGdW4o SG9zdCwgRmlsZW5hbWUpKSwKLSsJCSAgICAgaW86Zm9ybWF0KCIgIFJlc3VsdDogfnB+biIsIFtS ZXNdKQotKwkgICAgIGVuZCwKLSsgICAgbGlzdHM6Zm9yZWFjaChFeHBvcnQsIFRhYmxlcyksCi0r ICAgIG9rLgotKwotKwotKyUlJQotKyUlJSBBY2NvdW50cwotKyUlJQotKwotK3NldF9wYXNzd29y ZChVc2VyLCBIb3N0LCBQYXNzd29yZCkgLT4KLSsgICAgY2FzZSBlamFiYmVyZF9hdXRoOnNldF9w YXNzd29yZChVc2VyLCBIb3N0LCBQYXNzd29yZCkgb2YKLSsJb2sgLT4KLSsJICAgIG9rOwotKwlf IC0+Ci0rCSAgICBlcnJvcgotKyAgICBlbmQuCi0rCi0rJSUgQ29waWVkIHNvbWUgY29kZSBmcm9t IGVqYWJiZXJkX2NvbW1hbmRzLmVybAotK2NoZWNrX3Bhc3N3b3JkX2hhc2goVXNlciwgSG9zdCwg UGFzc3dvcmRIYXNoLCBIYXNoTWV0aG9kKSAtPgotKyAgICBBY2NvdW50UGFzcyA9IGVqYWJiZXJk X2F1dGg6Z2V0X3Bhc3N3b3JkX3MoVXNlciwgSG9zdCksCi0rICAgIEFjY291bnRQYXNzSGFzaCA9 IGNhc2UgSGFzaE1ldGhvZCBvZgotKwkJCSAgIm1kNSIgLT4gZ2V0X21kNShBY2NvdW50UGFzcyk7 Ci0rCQkJICAic2hhIiAtPiBnZXRfc2hhKEFjY291bnRQYXNzKTsKLSsJCQkgIF8gLT4gdW5kZWZp bmVkCi0rCQkgICAgICBlbmQsCi0rICAgIGNhc2UgQWNjb3VudFBhc3NIYXNoIG9mCi0rCXVuZGVm aW5lZCAtPiBlcnJvcjsKLSsJUGFzc3dvcmRIYXNoIC0+IG9rOwotKwlfIC0+IGVycm9yCi0rICAg IGVuZC4KLStnZXRfbWQ1KEFjY291bnRQYXNzKSAtPgotKyAgICBsaXN0czpmbGF0dGVuKFtpb19s aWI6Zm9ybWF0KCJ+LjE2QiIsIFtYXSkKLSsJCSAgIHx8IFggPC0gYmluYXJ5X3RvX2xpc3QoY3J5 cHRvOm1kNShBY2NvdW50UGFzcykpXSkuCi0rZ2V0X3NoYShBY2NvdW50UGFzcykgLT4KLSsgICAg bGlzdHM6ZmxhdHRlbihbaW9fbGliOmZvcm1hdCgifi4xNkIiLCBbWF0pCi0rCQkgICB8fCBYIDwt IGJpbmFyeV90b19saXN0KGNyeXB0bzpzaGEoQWNjb3VudFBhc3MpKV0pLgotKwotK251bV9hY3Rp dmVfdXNlcnMoSG9zdCwgRGF5cykgLT4KLSsgICAgbGlzdF9sYXN0X2FjdGl2aXR5KEhvc3QsIHRy dWUsIERheXMpLgotKwotKyUlIENvZGUgYmFzZWQgb24gZWphYmJlcmQvc3JjL3dlYi9lamFiYmVy ZF93ZWJfYWRtaW4uZXJsCi0rbGlzdF9sYXN0X2FjdGl2aXR5KEhvc3QsIEludGVncmFsLCBEYXlz KSAtPgotKyAgICB7TWVnYVNlY3MsIFNlY3MsIF9NaWNyb1NlY3N9ID0gbm93KCksCi0rICAgIFRp bWVTdGFtcCA9IE1lZ2FTZWNzICogMTAwMDAwMCArIFNlY3MsCi0rICAgIFRTID0gVGltZVN0YW1w IC0gRGF5cyAqIDg2NDAwLAotKyAgICBjYXNlIGNhdGNoIG1uZXNpYTpkaXJ0eV9zZWxlY3QoCi0r CQkgbGFzdF9hY3Rpdml0eSwgW3t7bGFzdF9hY3Rpdml0eSwgeydfJywgSG9zdH0sICckMScsICdf J30sCi0rCQkJCSAgW3snPicsICckMScsIFRTfV0sCi0rCQkJCSAgW3sndHJ1bmMnLCB7Jy8nLAot KwkJCQkJICAgICAgeyctJywgVGltZVN0YW1wLCAnJDEnfSwKLSsJCQkJCSAgICAgIDg2NDAwfX1d fV0pIG9mCi0rCQkJCQkJCSAgICAgIHsnRVhJVCcsIF9SZWFzb259IC0+Ci0rCQkgW107Ci0rCSAg ICAgICBWYWxzIC0+Ci0rCQkgSGlzdCA9IGhpc3RvZ3JhbShWYWxzLCBJbnRlZ3JhbCksCi0rCQkg aWYKLSsJCSAgICAgSGlzdCA9PSBbXSAtPgotKwkJCSAwOwotKwkJICAgICB0cnVlIC0+Ci0rCQkJ IExlZnQgPSBEYXlzIC0gbGVuZ3RoKEhpc3QpLAotKwkJCSBUYWlsID0gaWYKLSsJCQkJICAgIElu dGVncmFsIC0+Ci0rCQkJCQlsaXN0czpkdXBsaWNhdGUoTGVmdCwgbGlzdHM6bGFzdChIaXN0KSk7 Ci0rCQkJCSAgICB0cnVlIC0+Ci0rCQkJCQlsaXN0czpkdXBsaWNhdGUoTGVmdCwgMCkKLSsJCQkJ ZW5kLAotKwkJCSBsaXN0czpudGgoRGF5cywgSGlzdCArKyBUYWlsKQotKwkJIGVuZAotKwkgZW5k LgotK2hpc3RvZ3JhbShWYWx1ZXMsIEludGVncmFsKSAtPgotKyAgICBoaXN0b2dyYW0obGlzdHM6 c29ydChWYWx1ZXMpLCBJbnRlZ3JhbCwgMCwgMCwgW10pLgotK2hpc3RvZ3JhbShbSCB8IFRdLCBJ bnRlZ3JhbCwgQ3VycmVudCwgQ291bnQsIEhpc3QpIHdoZW4gQ3VycmVudCA9PSBIIC0+Ci0rICAg IGhpc3RvZ3JhbShULCBJbnRlZ3JhbCwgQ3VycmVudCwgQ291bnQgKyAxLCBIaXN0KTsKLStoaXN0 b2dyYW0oW0ggfCBfXSA9IFZhbHVlcywgSW50ZWdyYWwsIEN1cnJlbnQsIENvdW50LCBIaXN0KSB3 aGVuIEN1cnJlbnQgPCBIIC0+Ci0rICAgIGlmCi0rCUludGVncmFsIC0+Ci0rCSAgICBoaXN0b2dy YW0oVmFsdWVzLCBJbnRlZ3JhbCwgQ3VycmVudCArIDEsIENvdW50LCBbQ291bnQgfCBIaXN0XSk7 Ci0rCXRydWUgLT4KLSsJICAgIGhpc3RvZ3JhbShWYWx1ZXMsIEludGVncmFsLCBDdXJyZW50ICsg MSwgMCwgW0NvdW50IHwgSGlzdF0pCi0rICAgIGVuZDsKLStoaXN0b2dyYW0oW10sIF9JbnRlZ3Jh bCwgX0N1cnJlbnQsIENvdW50LCBIaXN0KSAtPgotKyAgICBpZgotKwlDb3VudCA+IDAgLT4KLSsJ ICAgIGxpc3RzOnJldmVyc2UoW0NvdW50IHwgSGlzdF0pOwotKwl0cnVlIC0+Ci0rCSAgICBsaXN0 czpyZXZlcnNlKEhpc3QpCi0rICAgIGVuZC4KLSsKLSsKLStkZWxldGVfb2xkX3VzZXJzKERheXMp IC0+Ci0rICAgICUlIEdldCB0aGUgbGlzdCBvZiByZWdpc3RlcmVkIHVzZXJzCi0rICAgIFVzZXJz ID0gZWphYmJlcmRfYXV0aDpkaXJ0eV9nZXRfcmVnaXN0ZXJlZF91c2VycygpLAotKwotKyAgICB7 cmVtb3ZlZCwgTiwgVVJ9ID0gZGVsZXRlX29sZF91c2VycyhEYXlzLCBVc2VycyksCi0rICAgIHtv aywgaW9fbGliOmZvcm1hdCgiRGVsZXRlZCB+cCB1c2VyczogfnAiLCBbTiwgVVJdKX0uCi0rCi0r ZGVsZXRlX29sZF91c2Vyc192aG9zdChIb3N0LCBEYXlzKSAtPgotKyAgICAlJSBHZXQgdGhlIGxp c3Qgb2YgcmVnaXN0ZXJlZCB1c2VycwotKyAgICBVc2VycyA9IGVqYWJiZXJkX2F1dGg6Z2V0X3Zo X3JlZ2lzdGVyZWRfdXNlcnMoSG9zdCksCi0rCi0rICAgIHtyZW1vdmVkLCBOLCBVUn0gPSBkZWxl dGVfb2xkX3VzZXJzKERheXMsIFVzZXJzKSwKLSsgICAge29rLCBpb19saWI6Zm9ybWF0KCJEZWxl dGVkIH5wIHVzZXJzOiB+cCIsIFtOLCBVUl0pfS4KLSsKLStkZWxldGVfb2xkX3VzZXJzKERheXMs IFVzZXJzKSAtPgotKyAgICAlJSBDb252ZXJ0IG9sZGVyIHRpbWUKLSsgICAgU2VjT2xkZXIgPSBE YXlzKjI0KjYwKjYwLAotKwotKyAgICAlJSBHZXQgY3VycmVudCB0aW1lCi0rICAgIHtNZWdhU2Vj cywgU2VjcywgX01pY3JvU2Vjc30gPSBub3coKSwKLSsgICAgVGltZVN0YW1wX25vdyA9IE1lZ2FT ZWNzICogMTAwMDAwMCArIFNlY3MsCi0rCi0rICAgICUlIEZvciBhIHVzZXIsIHJlbW92ZSBpZiBy ZXF1aXJlZCBhbmQgYW5zd2VyIHRydWUKLSsgICAgRiA9IGZ1bih7TFVzZXIsIExTZXJ2ZXJ9KSAt PgotKwkJJSUgQ2hlY2sgaWYgdGhlIHVzZXIgaXMgbG9nZ2VkCi0rCQljYXNlIGVqYWJiZXJkX3Nt OmdldF91c2VyX3Jlc291cmNlcyhMVXNlciwgTFNlcnZlcikgb2YKLSsJCSAgICAlJSBJZiBpdCBp c250Ci0rCQkgICAgW10gLT4KLSsJCQklJSBMb29rIGZvciBoaXMgbGFzdF9hY3Rpdml0eQotKwkJ CWNhc2UgKGdldF9sYXN0YWN0aXZpdHlfbW9kdWxlKExTZXJ2ZXIpKTpnZXRfbGFzdF9pbmZvKExV c2VyLCBMU2VydmVyKSBvZgotKwkJCSAgICAlJSBJZiBpdCBpcwotKwkJCSAgICAlJSBleGlzdGVu dDoKLSsJCQkgICAge29rLCBUaW1lU3RhbXAsIF9TdGF0dXN9IC0+Ci0rCQkJCSUlIGdldCBoaXMg YWdlCi0rCQkJCVNlYyA9IFRpbWVTdGFtcF9ub3cgLSBUaW1lU3RhbXAsCi0rCQkJCSUlIElmIGhl IGlzCi0rCQkJCWlmCi0rCQkJCSAgICAlJSB5b3VuZ2VyIHRoYW4gU2VjT2xkZXI6Ci0rCQkJCSAg ICBTZWMgPCBTZWNPbGRlciAtPgotKwkJCQkJJSUgZG8gbm90aGluZwotKwkJCQkJZmFsc2U7Ci0r CQkJCSAgICAlJSBvbGRlcjoKLSsJCQkJICAgIHRydWUgLT4KLSsJCQkJCSUlIHJlbW92ZSB0aGUg dXNlcgotKwkJCQkJZWphYmJlcmRfYXV0aDpyZW1vdmVfdXNlcihMVXNlciwgTFNlcnZlciksCi0r CQkJCQl0cnVlCi0rCQkJCWVuZDsKLSsJCQkgICAgJSUgbm9uZXhpc3RlbnQ6Ci0rCQkJICAgIG5v dF9mb3VuZCAtPgotKwkJCQklJSByZW1vdmUgdGhlIHVzZXIKLSsJCQkJZWphYmJlcmRfYXV0aDpy ZW1vdmVfdXNlcihMVXNlciwgTFNlcnZlciksCi0rCQkJCXRydWUKLSsJCQllbmQ7Ci0rCQkgICAg JSUgRWxzZQotKwkJICAgIF8gLT4KLSsJCQklJSBkbyBub3RoaW5nCi0rCQkJZmFsc2UKLSsJCWVu ZAotKwllbmQsCi0rICAgICUlIEFwcGx5IHRoZSBmdW5jdGlvbiB0byBldmVyeSB1c2VyIGluIHRo ZSBsaXN0Ci0rICAgIFVzZXJzX3JlbW92ZWQgPSBsaXN0czpmaWx0ZXIoRiwgVXNlcnMpLAotKyAg ICB7cmVtb3ZlZCwgbGVuZ3RoKFVzZXJzX3JlbW92ZWQpLCBVc2Vyc19yZW1vdmVkfS4KLSsKLStn ZXRfbGFzdGFjdGl2aXR5X21vZHVsZShTZXJ2ZXIpIC0+Ci0rICAgIGNhc2UgbGlzdHM6bWVtYmVy KG1vZF9sYXN0LCBnZW5fbW9kOmxvYWRlZF9tb2R1bGVzKFNlcnZlcikpIG9mCi0rICAgICAgICB0 cnVlIC0+IG1vZF9sYXN0OwotKyAgICAgICAgXyAtPiBtb2RfbGFzdF9vZGJjCi0rICAgIGVuZC4K LSsKLSsKLSslJQotKyUlIEJhbiBhY2NvdW50Ci0rCi0rYmFuX2FjY291bnQoVXNlciwgSG9zdCwg UmVhc29uVGV4dCkgLT4KLSsgICAgUmVhc29uID0gcHJlcGFyZV9yZWFzb24oUmVhc29uVGV4dCks Ci0rICAgIGtpY2tfc2Vzc2lvbnMoVXNlciwgSG9zdCwgUmVhc29uKSwKLSsgICAgc2V0X3JhbmRv bV9wYXNzd29yZChVc2VyLCBIb3N0LCBSZWFzb24pLAotKyAgICBvay4KLSsKLStraWNrX3Nlc3Np b25zKFVzZXIsIFNlcnZlciwgUmVhc29uKSAtPgotKyAgICBsaXN0czptYXAoCi0rICAgICAgZnVu KFJlc291cmNlKSAtPgotKwkgICAgICBraWNrX3RoaXNfc2Vzc2lvbihVc2VyLCBTZXJ2ZXIsIFJl c291cmNlLCBSZWFzb24pCi0rICAgICAgZW5kLAotKyAgICAgIGdldF9yZXNvdXJjZXMoVXNlciwg U2VydmVyKSkuCi0rCi0rZ2V0X3Jlc291cmNlcyhVc2VyLCBTZXJ2ZXIpIC0+Ci0rICAgIGxpc3Rz Om1hcCgKLSsgICAgICBmdW4oU2Vzc2lvbikgLT4KLSsJICAgICAgZWxlbWVudCgzLCBTZXNzaW9u I3Nlc3Npb24udXNyKQotKyAgICAgIGVuZCwKLSsgICAgICBnZXRfc2Vzc2lvbnMoVXNlciwgU2Vy dmVyKSkuCi0rCi0rZ2V0X3Nlc3Npb25zKFVzZXIsIFNlcnZlcikgLT4KLSsgICAgTFVzZXIgPSBq bGliOm5vZGVwcmVwKFVzZXIpLAotKyAgICBMU2VydmVyID0gamxpYjpuYW1lcHJlcChTZXJ2ZXIp LAotKyAgICBTZXNzaW9ucyA9ICBtbmVzaWE6ZGlydHlfaW5kZXhfcmVhZChzZXNzaW9uLCB7TFVz ZXIsIExTZXJ2ZXJ9LCAjc2Vzc2lvbi51cyksCi0rICAgIHRydWUgPSBpc19saXN0KFNlc3Npb25z KSwKLSsgICAgU2Vzc2lvbnMuCi0rCi0rc2V0X3JhbmRvbV9wYXNzd29yZChVc2VyLCBTZXJ2ZXIs IFJlYXNvbikgLT4KLSsgICAgTmV3UGFzcyA9IGJ1aWxkX3JhbmRvbV9wYXNzd29yZChSZWFzb24p LAotKyAgICBzZXRfcGFzc3dvcmRfYXV0aChVc2VyLCBTZXJ2ZXIsIE5ld1Bhc3MpLgotKwotK2J1 aWxkX3JhbmRvbV9wYXNzd29yZChSZWFzb24pIC0+Ci0rICAgIERhdGUgPSBqbGliOnRpbWVzdGFt cF90b19pc28oY2FsZW5kYXI6dW5pdmVyc2FsX3RpbWUoKSksCi0rICAgIFJhbmRvbVN0cmluZyA9 IHJhbmRvbXM6Z2V0X3N0cmluZygpLAotKyAgICAiQkFOTkVEX0FDQ09VTlQtLSIgKysgRGF0ZSAr KyAiLS0iICsrIFJhbmRvbVN0cmluZyArKyAiLS0iICsrIFJlYXNvbi4KLSsKLStzZXRfcGFzc3dv cmRfYXV0aChVc2VyLCBTZXJ2ZXIsIFBhc3N3b3JkKSAtPgotKyAgICBvayA9IGVqYWJiZXJkX2F1 dGg6c2V0X3Bhc3N3b3JkKFVzZXIsIFNlcnZlciwgUGFzc3dvcmQpLgotKwotK3ByZXBhcmVfcmVh c29uKFtdKSAtPgotKyAgICA8PCJLaWNrZWQgYnkgYWRtaW5pc3RyYXRvciI+PjsKLStwcmVwYXJl X3JlYXNvbihbUmVhc29uXSkgLT4KLSsgICAgUmVhc29uOwotK3ByZXBhcmVfcmVhc29uKFJlYXNv bikgd2hlbiBpc19iaW5hcnkoUmVhc29uKSAtPgotKyAgICBSZWFzb24uCi0rCi0rJSUlCi0rJSUl IFNlc3Npb25zCi0rJSUlCi0rCi0rbnVtX3Jlc291cmNlcyhVc2VyLCBIb3N0KSAtPgotKyAgICBs ZW5ndGgoZWphYmJlcmRfc206Z2V0X3VzZXJfcmVzb3VyY2VzKFVzZXIsIEhvc3QpKS4KLSsKLSty ZXNvdXJjZV9udW0oVXNlciwgSG9zdCwgTnVtKSAtPgotKyAgICBSZXNvdXJjZXMgPSBlamFiYmVy ZF9zbTpnZXRfdXNlcl9yZXNvdXJjZXMoVXNlciwgSG9zdCksCi0rICAgIGNhc2UgKDA8TnVtKSBh bmQgKE51bT08bGVuZ3RoKFJlc291cmNlcykpIG9mCi0rCXRydWUgLT4KLSsJICAgIGxpc3RzOm50 aChOdW0sIFJlc291cmNlcyk7Ci0rCWZhbHNlIC0+Ci0rCSAgICBsaXN0czpmbGF0dGVuKGlvX2xp Yjpmb3JtYXQoIkVycm9yOiBXcm9uZyByZXNvdXJjZSBudW1iZXI6IH5wIiwgW051bV0pKQotKyAg ICBlbmQuCi0rCi0ra2lja19zZXNzaW9uKFVzZXIsIFNlcnZlciwgUmVzb3VyY2UsIFJlYXNvblRl eHQpIC0+Ci0rICAgIGtpY2tfdGhpc19zZXNzaW9uKFVzZXIsIFNlcnZlciwgUmVzb3VyY2UsIHBy ZXBhcmVfcmVhc29uKFJlYXNvblRleHQpKSwKLSsgICAgb2suCi0rCi0ra2lja190aGlzX3Nlc3Np b24oVXNlciwgU2VydmVyLCBSZXNvdXJjZSwgUmVhc29uKSAtPgotKyAgICBlamFiYmVyZF9yb3V0 ZXI6cm91dGUoCi0rICAgICAgamxpYjptYWtlX2ppZCg8PD4+LCA8PD4+LCA8PD4+KSwKLSsgICAg ICBqbGliOm1ha2VfamlkKFVzZXIsIFNlcnZlciwgUmVzb3VyY2UpLAotKyAgICAgIHticm9hZGNh c3QsIHtleGl0LCBSZWFzb259fSkuCi0rCi0rCi0rc3RhdHVzX251bShIb3N0LCBTdGF0dXMpIC0+ Ci0rICAgIGxlbmd0aChnZXRfc3RhdHVzX2xpc3QoSG9zdCwgU3RhdHVzKSkuCi0rc3RhdHVzX251 bShTdGF0dXMpIC0+Ci0rICAgIHN0YXR1c19udW0oPDwiYWxsIj4+LCBTdGF0dXMpLgotK3N0YXR1 c19saXN0KEhvc3QsIFN0YXR1cykgLT4KLSsgICAgUmVzID0gZ2V0X3N0YXR1c19saXN0KEhvc3Qs IFN0YXR1cyksCi0rICAgIFt7VSwgUywgUiwgUCwgU3R9IHx8IHtVLCBTLCBSLCBQLCBTdH0gPC0g UmVzXS4KLStzdGF0dXNfbGlzdChTdGF0dXMpIC0+Ci0rICAgIHN0YXR1c19saXN0KDw8ImFsbCI+ PiwgU3RhdHVzKS4KLSsKLSsKLStnZXRfc3RhdHVzX2xpc3QoSG9zdCwgU3RhdHVzX3JlcXVpcmVk KSAtPgotKyAgICAlJSBHZXQgbGlzdCBvZiBhbGwgbG9nZ2VkIHVzZXJzCi0rICAgIFNlc3Npb25z ID0gZWphYmJlcmRfc206ZGlydHlfZ2V0X215X3Nlc3Npb25zX2xpc3QoKSwKLSsgICAgJSUgUmVm b3JtYXQgdGhlIGxpc3QKLSsgICAgU2Vzc2lvbnMyID0gWyB7U2Vzc2lvbiNzZXNzaW9uLnVzciwg U2Vzc2lvbiNzZXNzaW9uLnNpZCwgU2Vzc2lvbiNzZXNzaW9uLnByaW9yaXR5fSB8fCBTZXNzaW9u IDwtIFNlc3Npb25zXSwKLSsgICAgRmhvc3QgPSBjYXNlIEhvc3Qgb2YKLSsJCTw8ImFsbCI+PiAt PgotKwkJICAgICUlIEFsbCBob3N0cyBhcmUgcmVxdWVzdGVkLCBzbyBkb250IGZpbHRlciBhdCBh bGwKLSsJCSAgICBmdW4oXywgXykgLT4gdHJ1ZSBlbmQ7Ci0rCQlfIC0+Ci0rCQkgICAgJSUgRmls dGVyIHRoZSBsaXN0LCBvbmx5IEhvc3QgaXMgaW50ZXJlc3RpbmcKLSsJCSAgICBmdW4oQSwgQikg LT4gQSA9PSBCIGVuZAotKwkgICAgZW5kLAotKyAgICBTZXNzaW9uczMgPSBbIHtQaWQsIFNlcnZl ciwgUHJpb3JpdHl9IHx8IHt7X1VzZXIsIFNlcnZlciwgX1Jlc291cmNlfSwge18sIFBpZH0sIFBy aW9yaXR5fSA8LSBTZXNzaW9uczIsIGFwcGx5KEZob3N0LCBbU2VydmVyLCBIb3N0XSldLAotKyAg ICAlJSBGb3IgZWFjaCBQaWQsIGdldCBpdHMgcHJlc2VuY2UKLSsgICAgU2Vzc2lvbnM0ID0gWyB7 ZWphYmJlcmRfYzJzOmdldF9wcmVzZW5jZShQaWQpLCBTZXJ2ZXIsIFByaW9yaXR5fSB8fCB7UGlk LCBTZXJ2ZXIsIFByaW9yaXR5fSA8LSBTZXNzaW9uczNdLAotKyAgICAlJSBGaWx0ZXIgYnkgc3Rh dHVzCi0rICAgIEZzdGF0dXMgPSBjYXNlIFN0YXR1c19yZXF1aXJlZCBvZgotKwkJICA8PCJhbGwi Pj4gLT4KLSsJCSAgICAgIGZ1bihfLCBfKSAtPiB0cnVlIGVuZDsKLSsJCSAgXyAtPgotKwkJICAg ICAgZnVuKEEsIEIpIC0+IEEgPT0gQiBlbmQKLSsJICAgICAgZW5kLAotKyAgICBbe1VzZXIsIFNl cnZlciwgUmVzb3VyY2UsIFByaW9yaXR5LCBzdHJpbmdpemUoU3RhdHVzX3RleHQpfQotKyAgICAg fHwge3tVc2VyLCBSZXNvdXJjZSwgU3RhdHVzLCBTdGF0dXNfdGV4dH0sIFNlcnZlciwgUHJpb3Jp dHl9IDwtIFNlc3Npb25zNCwKLSsJYXBwbHkoRnN0YXR1cywgW1N0YXR1cywgU3RhdHVzX3JlcXVp cmVkXSldLgotKwotK2Nvbm5lY3RlZF91c2Vyc19pbmZvKCkgLT4KLSsgICAgVVNSSXMgPSBkaXJ0 eV9nZXRfc2Vzc2lvbnNfbGlzdDIoKSwKLSsgICAgQ3VycmVudFNlYyA9IGNhbGVuZGFyOmRhdGV0 aW1lX3RvX2dyZWdvcmlhbl9zZWNvbmRzKHtkYXRlKCksIHRpbWUoKX0pLAotKyAgICBsaXN0czpt YXAoCi0rICAgICAgZnVuKFt7VSwgUywgUn0sIHtOb3csIFBpZH0sIFByaW9yaXR5LCBJbmZvXSkg LT4KLSsJICAgICAgQ29ubiA9IHByb3BsaXN0czpnZXRfdmFsdWUoY29ubiwgSW5mbyksCi0rCSAg ICAgIHtJcCwgUG9ydH0gPSBwcm9wbGlzdHM6Z2V0X3ZhbHVlKGlwLCBJbmZvKSwKLSsJICAgICAg SVBTID0gaW5ldF9wYXJzZTpudG9hKElwKSwKLSsJICAgICAgTm9kZVMgPSBhdG9tX3RvX2xpc3Qo bm9kZShQaWQpKSwKLSsJICAgICAgVXB0aW1lID0gQ3VycmVudFNlYyAtIGNhbGVuZGFyOmRhdGV0 aW1lX3RvX2dyZWdvcmlhbl9zZWNvbmRzKAotKwkJCQkgICAgICBjYWxlbmRhcjpub3dfdG9fbG9j YWxfdGltZShOb3cpKSwKLSsJICAgICAge1tVLCAkQCwgUywgJC8sIFJdLCBhdG9tX3RvX2xpc3Qo Q29ubiksIElQUywgUG9ydCwgUHJpb3JpdHksIE5vZGVTLCBVcHRpbWV9Ci0rICAgICAgZW5kLAot KyAgICAgIFVTUklzKS4KLSsKLStjb25uZWN0ZWRfdXNlcnNfdmhvc3QoSG9zdCkgLT4KLSsgICAg VVNScyA9IGVqYWJiZXJkX3NtOmdldF92aF9zZXNzaW9uX2xpc3QoSG9zdCksCi0rICAgIFsgW1Us ICRALCBTLCAkLywgUl0gfHwge1UsIFMsIFJ9IDwtIFVTUnNdLgotKwotKyUlIENvZGUgY29waWVk IGZyb20gZWphYmJlcmRfc20uZXJsIGFuZCBjdXN0b21pemVkCi0rZGlydHlfZ2V0X3Nlc3Npb25z X2xpc3QyKCkgLT4KLSsgICAgbW5lc2lhOmRpcnR5X3NlbGVjdCgKLSsgICAgICBzZXNzaW9uLAot KyAgICAgIFt7I3Nlc3Npb257dXNyID0gJyQxJywgc2lkID0gJyQyJywgcHJpb3JpdHkgPSAnJDMn LCBpbmZvID0gJyQ0JywgXyA9ICdfJ30sCi0rCVtdLAotKwlbWyckMScsICckMicsICckMycsICck NCddXX1dKS4KLSsKLSslJSBNYWtlIHN0cmluZyBtb3JlIHByaW50LWZyaWVuZGx5Ci0rc3RyaW5n aXplKFN0cmluZykgLT4KLSsgICAgJSUgUmVwbGFjZSBuZXdsaW5lIGNoYXJhY3RlcnMgd2l0aCBv dGhlciBjb2RlCi0rICAgIGVqYWJiZXJkX3JlZ2V4cDpncmVwbGFjZShTdHJpbmcsIDw8IlxuIj4+ LCA8PCJcXG4iPj4pLgotKwotK3NldF9wcmVzZW5jZShVc2VyLCBIb3N0LCBSZXNvdXJjZSwgVHlw ZSwgU2hvdywgU3RhdHVzLCBQcmlvcml0eSkgLT4KLSsgICAgUGlkID0gZWphYmJlcmRfc206Z2V0 X3Nlc3Npb25fcGlkKFVzZXIsIEhvc3QsIFJlc291cmNlKSwKLSsgICAgVVNSID0gVXNlciArKyAi QCIgKysgSG9zdCArKyAiLyIgKysgUmVzb3VyY2UsCi0rICAgIFVTID0gVXNlciArKyAiQCIgKysg SG9zdCwKLSsgICAgTWVzc2FnZSA9IHtyb3V0ZV94bWxzdHJlYW1lbGVtZW50LAotKwkgICAgICAg e3htbGVsLCA8PCJwcmVzZW5jZSI+PiwKLSsJCVt7PDwiZnJvbSI+PiwgVVNSfSwgezw8InRvIj4+ LCBVU30sIHs8PCJ0eXBlIj4+LCBUeXBlfV0sCi0rCQlbe3htbGVsLCA8PCJzaG93Ij4+LCBbXSwg W3t4bWxjZGF0YSwgU2hvd31dfSwKLSsJCSB7eG1sZWwsIDw8InN0YXR1cyI+PiwgW10sIFt7eG1s Y2RhdGEsIFN0YXR1c31dfSwKLSsJCSB7eG1sZWwsIDw8InByaW9yaXR5Ij4+LCBbXSwgW3t4bWxj ZGF0YSwgUHJpb3JpdHl9XX1dfX0sCi0rICAgIFBpZCAhIE1lc3NhZ2UuCi0rCi0rdXNlcl9zZXNz aW9uc19pbmZvKFVzZXIsIEhvc3QpIC0+Ci0rICAgIEN1cnJlbnRTZWMgPSBjYWxlbmRhcjpkYXRl dGltZV90b19ncmVnb3JpYW5fc2Vjb25kcyh7ZGF0ZSgpLCB0aW1lKCl9KSwKLSsgICAgVVMgPSB7 VXNlciwgSG9zdH0sCi0rICAgIFNlc3Npb25zID0gY2FzZSBjYXRjaCBtbmVzaWE6ZGlydHlfaW5k ZXhfcmVhZChzZXNzaW9uLCBVUywgI3Nlc3Npb24udXMpIG9mCi0rCQkgICB7J0VYSVQnLCBfUmVh c29ufSAtPgotKwkJICAgICAgIFtdOwotKwkJICAgU3MgLT4KLSsJCSAgICAgICBTcwotKwkgICAg ICAgZW5kLAotKyAgICBsaXN0czptYXAoCi0rICAgICAgZnVuKFNlc3Npb24pIC0+Ci0rCSAgICAg IHtfVSwgX1MsIFJlc291cmNlfSA9IFNlc3Npb24jc2Vzc2lvbi51c3IsCi0rCSAgICAgIHtOb3cs IFBpZH0gPSBTZXNzaW9uI3Nlc3Npb24uc2lkLAotKwkgICAgICB7X1UsIF9SZXNvdXJjZSwgU3Rh dHVzLCBTdGF0dXNUZXh0fSA9IGVqYWJiZXJkX2MyczpnZXRfcHJlc2VuY2UoUGlkKSwKLSsJICAg ICAgSW5mbyA9IFNlc3Npb24jc2Vzc2lvbi5pbmZvLAotKwkgICAgICBQcmlvcml0eSA9IFNlc3Np b24jc2Vzc2lvbi5wcmlvcml0eSwKLSsJICAgICAgQ29ubiA9IHByb3BsaXN0czpnZXRfdmFsdWUo Y29ubiwgSW5mbyksCi0rCSAgICAgIHtJcCwgUG9ydH0gPSBwcm9wbGlzdHM6Z2V0X3ZhbHVlKGlw LCBJbmZvKSwKLSsJICAgICAgSVBTID0gaW5ldF9wYXJzZTpudG9hKElwKSwKLSsJICAgICAgTm9k ZVMgPSBhdG9tX3RvX2xpc3Qobm9kZShQaWQpKSwKLSsJICAgICAgVXB0aW1lID0gQ3VycmVudFNl YyAtIGNhbGVuZGFyOmRhdGV0aW1lX3RvX2dyZWdvcmlhbl9zZWNvbmRzKAotKwkJCQkgICAgICBj YWxlbmRhcjpub3dfdG9fbG9jYWxfdGltZShOb3cpKSwKLSsJICAgICAge2F0b21fdG9fbGlzdChD b25uKSwgSVBTLCBQb3J0LCBQcmlvcml0eSwgTm9kZVMsIFVwdGltZSwgU3RhdHVzLCBSZXNvdXJj ZSwgU3RhdHVzVGV4dH0KLSsgICAgICBlbmQsCi0rICAgICAgU2Vzc2lvbnMpLgotKwotKwotKyUl JQotKyUlJSBWY2FyZAotKyUlJQotKwotK3NldF9uaWNrbmFtZShVc2VyLCBIb3N0LCBOaWNrbmFt ZSkgLT4KLSsgICAgUiA9IG1vZF92Y2FyZDpwcm9jZXNzX3NtX2lxKAotKwkgIHtqaWQsIFVzZXIs IEhvc3QsIDw8Pj4sIFVzZXIsIEhvc3QsIDw8Pj59LAotKwkgIHtqaWQsIFVzZXIsIEhvc3QsIDw8 Pj4sIFVzZXIsIEhvc3QsIDw8Pj59LAotKwkgIHtpcSwgPDw+Piwgc2V0LCA8PD4+LCA8PCJlbiI+ PiwKLSsJICAge3htbGVsLCA8PCJ2Q2FyZCI+PiwgWwotKwkgICAgIHs8PCJ4bWxucyI+PiwgPDwi dmNhcmQtdGVtcCI+Pn1dLCBbCi0rCQl7eG1sZWwsIDw8Ik5JQ0tOQU1FIj4+LCBbXSwgW3t4bWxj ZGF0YSwgTmlja25hbWV9XX0KLSsgICAgICAgICAgICBdCi0rCSAgfX0pLAotKyAgICBjYXNlIFIg b2YKLSsJe2lxLCBbXSwgcmVzdWx0LCBbXSwgX0wsIFtdfSAtPgotKwkgICAgb2s7Ci0rCV8gLT4K LSsJICAgIGVycm9yCi0rICAgIGVuZC4KLSsKLStnZXRfdmNhcmQoVXNlciwgSG9zdCwgTmFtZSkg LT4KLSsgICAgW1JlcyB8IF9dID0gZ2V0X3ZjYXJkX2NvbnRlbnQoVXNlciwgSG9zdCwgW05hbWVd KSwKLSsgICAgUmVzLgotKwotK2dldF92Y2FyZChVc2VyLCBIb3N0LCBOYW1lLCBTdWJuYW1lKSAt PgotKyAgICBbUmVzIHwgX10gPSBnZXRfdmNhcmRfY29udGVudChVc2VyLCBIb3N0LCBbTmFtZSwg U3VibmFtZV0pLAotKyAgICBSZXMuCi0rCi0rZ2V0X3ZjYXJkX211bHRpKFVzZXIsIEhvc3QsIE5h bWUsIFN1Ym5hbWUpIC0+Ci0rICAgIGdldF92Y2FyZF9jb250ZW50KFVzZXIsIEhvc3QsIFtOYW1l LCBTdWJuYW1lXSkuCi0rCi0rc2V0X3ZjYXJkKFVzZXIsIEhvc3QsIE5hbWUsIFNvbWVDb250ZW50 KSAtPgotKyAgICBzZXRfdmNhcmRfY29udGVudChVc2VyLCBIb3N0LCBbTmFtZV0sIFNvbWVDb250 ZW50KS4KLSsKLStzZXRfdmNhcmQoVXNlciwgSG9zdCwgTmFtZSwgU3VibmFtZSwgU29tZUNvbnRl bnQpIC0+Ci0rICAgIHNldF92Y2FyZF9jb250ZW50KFVzZXIsIEhvc3QsIFtOYW1lLCBTdWJuYW1l XSwgU29tZUNvbnRlbnQpLgotKwotKwotKyUlCi0rJSUgSW50ZXJuYWwgdmNhcmQKLSsKLStnZXRf bW9kdWxlX3Jlc291cmNlKFNlcnZlcikgLT4KLSsgICAgY2FzZSBnZW5fbW9kOmdldF9tb2R1bGVf b3B0KFNlcnZlciwgP01PRFVMRSwgbW9kdWxlX3Jlc291cmNlLCBmdW4oQSkgLT4gQSBlbmQsIG5v bmUpIG9mCi0rCW5vbmUgLT4gbGlzdF90b19iaW5hcnkoYXRvbV90b19saXN0KD9NT0RVTEUpKTsK LSsJUiB3aGVuIGlzX2JpbmFyeShSKSAtPiBSCi0rICAgIGVuZC4KLSsKLStnZXRfdmNhcmRfY29u dGVudChVc2VyLCBTZXJ2ZXIsIERhdGEpIC0+Ci0rICAgIFt7XywgTW9kdWxlLCBGdW5jdGlvbiwg X09wdHN9XSA9IGV0czpsb29rdXAoc21faXF0YWJsZSwgez9OU19WQ0FSRCwgU2VydmVyfSksCi0r ICAgIEpJRCA9IGpsaWI6bWFrZV9qaWQoVXNlciwgU2VydmVyLCBnZXRfbW9kdWxlX3Jlc291cmNl KFNlcnZlcikpLAotKyAgICBJUSA9ICNpcXt0eXBlID0gZ2V0LCB4bWxucyA9ID9OU19WQ0FSRH0s Ci0rICAgIElRciA9IE1vZHVsZTpGdW5jdGlvbihKSUQsIEpJRCwgSVEpLAotKyAgICBjYXNlIElR ciNpcS5zdWJfZWwgb2YKLSsJW0ExXSAtPgotKwkgICAgY2FzZSBnZXRfdmNhcmQoRGF0YSwgQTEp IG9mCi0rCQlbXSAtPiB0aHJvdyhlcnJvcl9ub192YWx1ZV9mb3VuZF9pbl92Y2FyZCk7Ci0rCQlF bGVtTGlzdCAtPiBbeG1sOmdldF90YWdfY2RhdGEoRWxlbSkgfHwgRWxlbSA8LSBFbGVtTGlzdF0K LSsJICAgIGVuZDsKLSsJW10gLT4KLSsJICAgIHRocm93KGVycm9yX25vX3ZjYXJkX2ZvdW5kKQot KyAgICBlbmQuCi0rCi0rZ2V0X3ZjYXJkKFtEYXRhMSwgRGF0YTJdLCBBMSkgLT4KLSsgICAgY2Fz ZSBnZXRfc3VidGFnKEExLCBEYXRhMSkgb2YKLSsgICAgCWZhbHNlIC0+IGZhbHNlOwotKwlBMkxp c3QgLT4gbGlzdHM6ZmxhdHRlbihbZ2V0X3ZjYXJkKFtEYXRhMl0sIEEyKSB8fCBBMiA8LSBBMkxp c3RdKQotKyAgICBlbmQ7Ci0rCi0rZ2V0X3ZjYXJkKFtEYXRhXSwgQTEpIC0+Ci0rICAgIGdldF9z dWJ0YWcoQTEsIERhdGEpLgotKwotK2dldF9zdWJ0YWcoWG1sZWxlbWVudCwgTmFtZSkgLT4KLSsg ICAgY2FzZSBjb2RlOmVuc3VyZV9sb2FkZWQoZXhtcHBfeG1sKSBvZgotKwl7ZXJyb3IsIF99IC0+ Ci0rCSAgICBbZ2V0X3N1YnRhZ194bWwoWG1sZWxlbWVudCwgTmFtZSldOwotKwl7bW9kdWxlLCBl eG1wcF94bWx9IC0+Ci0rCSAgICBnZXRfc3VidGFnX2V4bXBwKFhtbGVsZW1lbnQsIE5hbWUpCi0r ICAgIGVuZC4KLSsKLStnZXRfc3VidGFnX3htbChYbWxlbGVtZW50LCBOYW1lKSAtPgotKyAgICB4 bWw6Z2V0X3N1YnRhZyhYbWxlbGVtZW50LCBOYW1lKS4KLSsKLStnZXRfc3VidGFnX2V4bXBwKFht bGVsZW1lbnQsIE5hbWUpIC0+Ci0rICAgIFhtbGVsID0gZXhtcHBfeG1sOnhtbGVsZW1lbnRfdG9f eG1sZWwoWG1sZWxlbWVudCksCi0rICAgIFhtbGVsTGlzdCA9IGV4bXBwX3htbDpnZXRfZWxlbWVu dHMoWG1sZWwsIE5hbWUpLAotKyAgICBbZXhtcHBfeG1sOnhtbGVsX3RvX3htbGVsZW1lbnQoWG1s ZWwyKSB8fCBYbWxlbDIgPC0gWG1sZWxMaXN0XS4KLSsKLStzZXRfdmNhcmRfY29udGVudChVc2Vy LCBTZXJ2ZXIsIERhdGEsIFNvbWVDb250ZW50KSAtPgotKyAgICBDb250ZW50TGlzdCA9IGNhc2Ug U29tZUNvbnRlbnQgb2YKLSsJW0JpbiB8IF9dIHdoZW4gaXNfYmluYXJ5KEJpbikgLT4gU29tZUNv bnRlbnQ7Ci0rCUJpbiB3aGVuIGlzX2JpbmFyeShCaW4pIC0+IFtTb21lQ29udGVudF0KLSsgICAg ZW5kLAotKyAgICBbe18sIE1vZHVsZSwgRnVuY3Rpb24sIF9PcHRzfV0gPSBldHM6bG9va3VwKHNt X2lxdGFibGUsIHs/TlNfVkNBUkQsIFNlcnZlcn0pLAotKyAgICBKSUQgPSBqbGliOm1ha2Vfamlk KFVzZXIsIFNlcnZlciwgZ2V0X21vZHVsZV9yZXNvdXJjZShTZXJ2ZXIpKSwKLSsgICAgSVEgPSAj aXF7dHlwZSA9IGdldCwgeG1sbnMgPSA/TlNfVkNBUkR9LAotKyAgICBJUXIgPSBNb2R1bGU6RnVu Y3Rpb24oSklELCBKSUQsIElRKSwKLSsKLSsgICAgJSUgR2V0IG9sZCB2Y2FyZAotKyAgICBBNCA9 IGNhc2UgSVFyI2lxLnN1Yl9lbCBvZgotKwkgICAgIFtBMV0gLT4KLSsJCSB7XywgXywgXywgQTJ9 ID0gQTEsCi0rCQkgdXBkYXRlX3ZjYXJkX2VscyhEYXRhLCBDb250ZW50TGlzdCwgQTIpOwotKwkg ICAgIFtdIC0+Ci0rCQkgdXBkYXRlX3ZjYXJkX2VscyhEYXRhLCBDb250ZW50TGlzdCwgW10pCi0r CSBlbmQsCi0rCi0rICAgICUlIEJ1aWxkIG5ldyB2Y2FyZAotKyAgICBTdWJFbCA9IHt4bWxlbCwg PDwidkNhcmQiPj4sIFt7PDwieG1sbnMiPj4sPDwidmNhcmQtdGVtcCI+Pn1dLCBBNH0sCi0rICAg IElRMiA9ICNpcXt0eXBlPXNldCwgc3ViX2VsID0gU3ViRWx9LAotKwotKyAgICBNb2R1bGU6RnVu Y3Rpb24oSklELCBKSUQsIElRMiksCi0rICAgIG9rLgotKwotK3VwZGF0ZV92Y2FyZF9lbHMoRGF0 YSwgQ29udGVudExpc3QsIEVsczEpIC0+Ci0rICAgIEVsczIgPSBsaXN0czprZXlzb3J0KDIsIEVs czEpLAotKyAgICBbRGF0YTEgfCBEYXRhMl0gPSBEYXRhLAotKyAgICBOZXdFbHMgPSBjYXNlIERh dGEyIG9mCi0rCQlbXSAtPgotKwkJICAgIFt7eG1sZWwsIERhdGExLCBbXSwgW3t4bWxjZGF0YSxD b250ZW50fV19IHx8IENvbnRlbnQgPC0gQ29udGVudExpc3RdOwotKwkJW0QyXSAtPgotKwkJICAg IE9sZEVsID0gY2FzZSBsaXN0czprZXlzZWFyY2goRGF0YTEsIDIsIEVsczIpIG9mCi0rCQkJCXt2 YWx1ZSwgQX0gLT4gQTsKLSsJCQkJZmFsc2UgLT4ge3htbGVsLCBEYXRhMSwgW10sIFtdfQotKwkJ CSAgICBlbmQsCi0rCQkgICAge3htbGVsLCBfLCBfLCBDb250ZW50T2xkMX0gPSBPbGRFbCwKLSsJ CSAgICBDb250ZW50MiA9IFt7eG1sZWwsIEQyLCBbXSwgW3t4bWxjZGF0YSxDb250ZW50fV19IHx8 IENvbnRlbnQgPC0gQ29udGVudExpc3RdLAotKwkJICAgIENvbnRlbnRPbGQyID0gW0EgfHwge18s IFgsIF8sIF99ID0gQSA8LSBDb250ZW50T2xkMSwgWC89RDJdLAotKwkJICAgIENvbnRlbnRPbGQz ID0gbGlzdHM6a2V5c29ydCgyLCBDb250ZW50T2xkMiksCi0rCQkgICAgQ29udGVudE5ldyA9IGxp c3RzOmtleW1lcmdlKDIsIENvbnRlbnQyLCBDb250ZW50T2xkMyksCi0rCQkgICAgW3t4bWxlbCwg RGF0YTEsIFtdLCBDb250ZW50TmV3fV0KLSsJICAgIGVuZCwKLSsgICAgRWxzMyA9IGxpc3RzOmtl eWRlbGV0ZShEYXRhMSwgMiwgRWxzMiksCi0rICAgIGxpc3RzOmtleW1lcmdlKDIsIE5ld0Vscywg RWxzMykuCi0rCi0rCi0rJSUlCi0rJSUlIFJvc3RlcgotKyUlJQotKwotK2FkZF9yb3N0ZXJpdGVt KExvY2FsVXNlciwgTG9jYWxTZXJ2ZXIsIFVzZXIsIFNlcnZlciwgTmljaywgR3JvdXAsIFN1YnMp IC0+Ci0rICAgIGNhc2UgYWRkX3Jvc3Rlcml0ZW0oTG9jYWxVc2VyLCBMb2NhbFNlcnZlciwgVXNl ciwgU2VydmVyLCBOaWNrLCBHcm91cCwgU3VicywgW10pIG9mCi0rCXthdG9taWMsIG9rfSAtPgot KwkgICAgcHVzaF9yb3N0ZXJfaXRlbShMb2NhbFVzZXIsIExvY2FsU2VydmVyLCBVc2VyLCBTZXJ2 ZXIsIHthZGQsIE5pY2ssIFN1YnMsIEdyb3VwfSksCi0rCSAgICBvazsKLSsJXyAtPgotKwkgICAg ZXJyb3IKLSsgICAgZW5kLgotKwotK2FkZF9yb3N0ZXJpdGVtKExVLCBMUywgVXNlciwgU2VydmVy LCBOaWNrLCBHcm91cCwgU3Vic2NyaXB0aW9uLCBYYXR0cnMpIC0+Ci0rICAgIHN1YnNjcmliZShM VSwgTFMsIFVzZXIsIFNlcnZlciwgTmljaywgR3JvdXAsIFN1YnNjcmlwdGlvbiwgWGF0dHJzKS4K LSsKLStzdWJzY3JpYmUoTFUsIExTLCBVc2VyLCBTZXJ2ZXIsIE5pY2ssIEdyb3VwLCBTdWJzY3Jp cHRpb24sIF9YYXR0cnMpIC0+Ci0rICAgIEl0ZW1FbCA9IGJ1aWxkX3Jvc3Rlcl9pdGVtKFVzZXIs IFNlcnZlciwge2FkZCwgTmljaywgU3Vic2NyaXB0aW9uLCBHcm91cH0pLAotKyAgICBtb2Rfcm9z dGVyOnNldF9pdGVtcygKLSsJTFUsIExTLAotKwl7eG1sZWwsIDw8InF1ZXJ5Ij4+LAotKyAgICAg ICAgICAgIFt7PDwieG1sbnMiPj4sIDw8ImphYmJlcjppcTpyb3N0ZXIiPj59XSwKLSsgICAgICAg ICAgICBbSXRlbUVsXX0pLgotKwotK2RlbGV0ZV9yb3N0ZXJpdGVtKExvY2FsVXNlciwgTG9jYWxT ZXJ2ZXIsIFVzZXIsIFNlcnZlcikgLT4KLSsgICAgY2FzZSB1bnN1YnNjcmliZShMb2NhbFVzZXIs IExvY2FsU2VydmVyLCBVc2VyLCBTZXJ2ZXIpIG9mCi0rCXthdG9taWMsIG9rfSAtPgotKwkgICAg cHVzaF9yb3N0ZXJfaXRlbShMb2NhbFVzZXIsIExvY2FsU2VydmVyLCBVc2VyLCBTZXJ2ZXIsIHJl bW92ZSksCi0rCSAgICBvazsKLSsJXyAgLT4KLSsJICAgIGVycm9yCi0rICAgIGVuZC4KLSsKLSt1 bnN1YnNjcmliZShMVSwgTFMsIFVzZXIsIFNlcnZlcikgLT4KLSsgICAgSXRlbUVsID0gYnVpbGRf cm9zdGVyX2l0ZW0oVXNlciwgU2VydmVyLCByZW1vdmUpLAotKyAgICBtb2Rfcm9zdGVyOnNldF9p dGVtcygKLSsJTFUsIExTLAotKwl7eG1sZWwsIDw8InF1ZXJ5Ij4+LAotKyAgICAgICAgICAgIFt7 PDwieG1sbnMiPj4sIDw8ImphYmJlcjppcTpyb3N0ZXIiPj59XSwKLSsgICAgICAgICAgICBbSXRl bUVsXX0pLgotKwotKyUlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0rJSUgR2V0IFJv c3RlcgotKyUlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0rCi0rZ2V0X3Jvc3RlcihV c2VyLCBTZXJ2ZXIpIC0+Ci0rICAgIEl0ZW1zID0gZWphYmJlcmRfaG9va3M6cnVuX2ZvbGQocm9z dGVyX2dldCwgU2VydmVyLCBbXSwgW3tVc2VyLCBTZXJ2ZXJ9XSksCi0rICAgIG1ha2Vfcm9zdGVy X3htbHJwYyhJdGVtcykuCi0rCi0rJSUgTm90ZTogaWYgYSBjb250YWN0IGlzIGluIHNldmVyYWwg Z3JvdXBzLCB0aGUgY29udGFjdCBpcyByZXR1cm5lZAotKyUlIHNldmVyYWwgdGltZXMsIGVhY2gg b25lIGluIGEgZGlmZmVyZW50IGdyb3VwLgotK21ha2Vfcm9zdGVyX3htbHJwYyhSb3N0ZXIpIC0+ Ci0rICAgIGxpc3RzOmZvbGRsKAotKyAgICAgIGZ1bihJdGVtLCBSZXMpIC0+Ci0rCSAgICAgIEpJ RFMgPSBqbGliOmppZF90b19zdHJpbmcoSXRlbSNyb3N0ZXIuamlkKSwKLSsJICAgICAgTmljayA9 IEl0ZW0jcm9zdGVyLm5hbWUsCi0rCSAgICAgIFN1YnMgPSBhdG9tX3RvX2xpc3QoSXRlbSNyb3N0 ZXIuc3Vic2NyaXB0aW9uKSwKLSsJICAgICAgQXNrID0gYXRvbV90b19saXN0KEl0ZW0jcm9zdGVy LmFzayksCi0rCSAgICAgIEdyb3VwcyA9IGNhc2UgSXRlbSNyb3N0ZXIuZ3JvdXBzIG9mCi0rCQkJ ICAgW10gLT4gWzw8Pj5dOwotKwkJCSAgIEdzIC0+IEdzCi0rCQkgICAgICAgZW5kLAotKwkgICAg ICBJdGVtc1ggPSBbe0pJRFMsIE5pY2ssIFN1YnMsIEFzaywgR3JvdXB9IHx8IEdyb3VwIDwtIEdy b3Vwc10sCi0rCSAgICAgIEl0ZW1zWCArKyBSZXMKLSsgICAgICBlbmQsCi0rICAgICAgW10sCi0r ICAgICAgUm9zdGVyKS4KLSsKLSsKLSslJS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0r JSUgUHVzaCBSb3N0ZXIgZnJvbSBmaWxlCi0rJSUtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQotKwotK3B1c2hfcm9zdGVyKEZpbGUsIFVzZXIsIFNlcnZlcikgLT4KLSsgICAge29rLCBbUm9z dGVyXX0gPSBmaWxlOmNvbnN1bHQoRmlsZSksCi0rICAgIHN1YnNjcmliZV9yb3N0ZXIoe1VzZXIs IFNlcnZlciwgPDw+PiwgVXNlcn0sIFJvc3RlcikuCi0rCi0rcHVzaF9yb3N0ZXJfYWxsKEZpbGUp IC0+Ci0rICAgIHtvaywgW1Jvc3Rlcl19ID0gZmlsZTpjb25zdWx0KEZpbGUpLAotKyAgICBzdWJz Y3JpYmVfYWxsKFJvc3RlcikuCi0rCi0rc3Vic2NyaWJlX2FsbChSb3N0ZXIpIC0+Ci0rICAgIHN1 YnNjcmliZV9hbGwoUm9zdGVyLCBSb3N0ZXIpLgotK3N1YnNjcmliZV9hbGwoW10sIF8pIC0+Ci0r ICAgIG9rOwotK3N1YnNjcmliZV9hbGwoW1VzZXIxIHwgVXNlcnNdLCBSb3N0ZXIpIC0+Ci0rICAg IHN1YnNjcmliZV9yb3N0ZXIoVXNlcjEsIFJvc3RlciksCi0rICAgIHN1YnNjcmliZV9hbGwoVXNl cnMsIFJvc3RlcikuCi0rCi0rc3Vic2NyaWJlX3Jvc3RlcihfLCBbXSkgLT4KLSsgICAgb2s7Ci0r JSUgRG8gbm90IHN1YnNjcmliZSBhIHVzZXIgdG8gaXRzZWxmCi0rc3Vic2NyaWJlX3Jvc3Rlcih7 TmFtZSwgU2VydmVyLCBHcm91cCwgTmlja30sIFt7TmFtZSwgU2VydmVyLCBfLCBffSB8IFJvc3Rl cl0pIC0+Ci0rICAgIHN1YnNjcmliZV9yb3N0ZXIoe05hbWUsIFNlcnZlciwgR3JvdXAsIE5pY2t9 LCBSb3N0ZXIpOwotKyUlIFN1YnNjcmliZSBOYW1lMiB0byBOYW1lMQotK3N1YnNjcmliZV9yb3N0 ZXIoe05hbWUxLCBTZXJ2ZXIxLCBHcm91cDEsIE5pY2sxfSwgW3tOYW1lMiwgU2VydmVyMiwgR3Jv dXAyLCBOaWNrMn0gfCBSb3N0ZXJdKSAtPgotKyAgICBzdWJzY3JpYmUoTmFtZTEsIFNlcnZlcjEs IE5hbWUyLCBTZXJ2ZXIyLCBOaWNrMiwgR3JvdXAyLCA8PCJib3RoIj4+LCBbXSksCi0rICAgIHN1 YnNjcmliZV9yb3N0ZXIoe05hbWUxLCBTZXJ2ZXIxLCBHcm91cDEsIE5pY2sxfSwgUm9zdGVyKS4K LSsKLStwdXNoX2FsbHRvYWxsKFMsIEcpIC0+Ci0rICAgIFVzZXJzID0gZWphYmJlcmRfYXV0aDpn ZXRfdmhfcmVnaXN0ZXJlZF91c2VycyhTKSwKLSsgICAgVXNlcnMyID0gYnVpbGRfbGlzdF91c2Vy cyhHLCBVc2VycywgW10pLAotKyAgICBzdWJzY3JpYmVfYWxsKFVzZXJzMiksCi0rICAgIG9rLgot KwotK2J1aWxkX2xpc3RfdXNlcnMoX0dyb3VwLCBbXSwgUmVzKSAtPgotKyAgICBSZXM7Ci0rYnVp bGRfbGlzdF91c2VycyhHcm91cCwgW3tVc2VyLCBTZXJ2ZXJ9fFVzZXJzXSwgUmVzKSAtPgotKyAg ICBidWlsZF9saXN0X3VzZXJzKEdyb3VwLCBVc2VycywgW3tVc2VyLCBTZXJ2ZXIsIEdyb3VwLCBV c2VyfXxSZXNdKS4KLSsKLSslJSBAc3BlYyhMVSwgTFMsIFUsIFMsIEFjdGlvbikgLT4gb2sKLSsl JSAgICAgICBBY3Rpb24gPSB7YWRkLCBOaWNrLCBTdWJzLCBHcm91cH0gfCByZW1vdmUKLSslJSBA ZG9jIFB1c2ggdG8gdGhlIHJvc3RlciBvZiBhY2NvdW50IExVQExTIHRoZSBjb250YWN0IFVAUy4K LSslJSBUaGUgc3BlY2lmaWMgYWN0aW9uIHRvIHBlcmZvcm0gaXMgZGVmaW5lZCBpbiBBY3Rpb24u Ci0rcHVzaF9yb3N0ZXJfaXRlbShMVSwgTFMsIFUsIFMsIEFjdGlvbikgLT4KLSsgICAgbGlzdHM6 Zm9yZWFjaChmdW4oUikgLT4KLSsJCQkgIHB1c2hfcm9zdGVyX2l0ZW0oTFUsIExTLCBSLCBVLCBT LCBBY3Rpb24pCi0rCQkgIGVuZCwgZWphYmJlcmRfc206Z2V0X3VzZXJfcmVzb3VyY2VzKExVLCBM UykpLgotKwotK3B1c2hfcm9zdGVyX2l0ZW0oTFUsIExTLCBSLCBVLCBTLCBBY3Rpb24pIC0+Ci0r ICAgIExKSUQgPSBqbGliOm1ha2VfamlkKExVLCBMUywgUiksCi0rICAgIEJyb2FkY2FzdEVsID0g YnVpbGRfYnJvYWRjYXN0KFUsIFMsIEFjdGlvbiksCi0rICAgIGVqYWJiZXJkX3JvdXRlcjpyb3V0 ZShMSklELCBMSklELCBCcm9hZGNhc3RFbCksCi0rICAgIEl0ZW0gPSBidWlsZF9yb3N0ZXJfaXRl bShVLCBTLCBBY3Rpb24pLAotKyAgICBSZXNJUSA9IGJ1aWxkX2lxX3Jvc3Rlcl9wdXNoKEl0ZW0p LAotKyAgICBlamFiYmVyZF9yb3V0ZXI6cm91dGUoTEpJRCwgTEpJRCwgUmVzSVEpLgotKwotK2J1 aWxkX3Jvc3Rlcl9pdGVtKFUsIFMsIHthZGQsIE5pY2ssIFN1YnMsIEdyb3VwfSkgLT4KLSsgICAg e3htbGVsLCA8PCJpdGVtIj4+LAotKyAgICAgW3s8PCJqaWQiPj4sIGpsaWI6amlkX3RvX3N0cmlu ZyhqbGliOm1ha2VfamlkKFUsIFMsIDw8Pj4pKX0sCi0rICAgICAgezw8Im5hbWUiPj4sIE5pY2t9 LAotKyAgICAgIHs8PCJzdWJzY3JpcHRpb24iPj4sIFN1YnN9XSwKLSsgICAgIFt7eG1sZWwsIDw8 Imdyb3VwIj4+LCBbXSwgW3t4bWxjZGF0YSwgR3JvdXB9XX1dCi0rICAgIH07Ci0rYnVpbGRfcm9z dGVyX2l0ZW0oVSwgUywgcmVtb3ZlKSAtPgotKyAgICB7eG1sZWwsIDw8Iml0ZW0iPj4sCi0rICAg ICBbezw8ImppZCI+PiwgamxpYjpqaWRfdG9fc3RyaW5nKGpsaWI6bWFrZV9qaWQoVSwgUywgPDw+ PikpfSwKLSsgICAgICB7PDwic3Vic2NyaXB0aW9uIj4+LCA8PCJyZW1vdmUiPj59XSwKLSsgICAg IFtdCi0rICAgIH0uCi0rCi0rYnVpbGRfaXFfcm9zdGVyX3B1c2goSXRlbSkgLT4KLSsgICAge3ht bGVsLCA8PCJpcSI+PiwKLSsgICAgIFt7PDwidHlwZSI+PiwgPDwic2V0Ij4+fSwgezw8ImlkIj4+ LCA8PCJwdXNoIj4+fV0sCi0rICAgICBbe3htbGVsLCA8PCJxdWVyeSI+PiwKLSsgICAgICAgW3s8 PCJ4bWxucyI+PiwgP05TX1JPU1RFUn1dLAotKyAgICAgICBbSXRlbV0KLSsgICAgICB9Ci0rICAg ICBdCi0rICAgIH0uCi0rCi0rYnVpbGRfYnJvYWRjYXN0KFUsIFMsIHthZGQsIF9OaWNrLCBTdWJz LCBfR3JvdXB9KSAtPgotKyAgICBidWlsZF9icm9hZGNhc3QoVSwgUywgbGlzdF90b19hdG9tKGJp bmFyeV90b19saXN0KFN1YnMpKSk7Ci0rYnVpbGRfYnJvYWRjYXN0KFUsIFMsIHJlbW92ZSkgLT4K LSsgICAgYnVpbGRfYnJvYWRjYXN0KFUsIFMsIG5vbmUpOwotKyUlIEBzcGVjIChVOjpiaW5hcnko KSwgUzo6YmluYXJ5KCksIFN1YnM6OmF0b20oKSkgLT4gYW55KCkKLSslJSBTdWJzID0gYm90aCB8 IGZyb20gfCB0byB8IG5vbmUKLStidWlsZF9icm9hZGNhc3QoVSwgUywgU3Vic0F0b20pIHdoZW4g aXNfYXRvbShTdWJzQXRvbSkgLT4KLSsgICAge2Jyb2FkY2FzdCwge2l0ZW0sIHtVLCBTLCA8PD4+ fSwgU3Vic0F0b219fS4KLSsKLSslJSUKLSslJSUgTGFzdCBBY3Rpdml0eQotKyUlJQotKwotK2dl dF9sYXN0KFVzZXIsIFNlcnZlcikgLT4KLSsgICAgTW9kID0gZ2V0X2xhc3RhY3Rpdml0eV9tb2R1 bGUoU2VydmVyKSwKLSsgICAgY2FzZSBlamFiYmVyZF9zbTpnZXRfdXNlcl9yZXNvdXJjZXMoVXNl ciwgU2VydmVyKSBvZgotKyAgICAgICAgW10gLT4KLSsgICAgICAgICAgICBjYXNlIE1vZDpnZXRf bGFzdF9pbmZvKFVzZXIsIFNlcnZlcikgb2YKLSsgICAgICAgICAgICAgICAgbm90X2ZvdW5kIC0+ Ci0rICAgICAgICAgICAgICAgICAgICAiTmV2ZXIiOwotKyAgICAgICAgICAgICAgICB7b2ssIFNo aWZ0LCBfU3RhdHVzfSAtPgotKyAgICAgICAgICAgICAgICAgICAgVGltZVN0YW1wID0ge1NoaWZ0 IGRpdiAxMDAwMDAwLAotKyAgICAgICAgICAgICAgICAgICAgICAgIFNoaWZ0IHJlbSAxMDAwMDAw LAotKyAgICAgICAgICAgICAgICAgICAgICAgIDB9LAotKyAgICAgICAgICAgICAgICAgICAge3tZ ZWFyLCBNb250aCwgRGF5fSwge0hvdXIsIE1pbnV0ZSwgU2Vjb25kfX0gPQotKyAgICAgICAgICAg ICAgICAgICAgICAgIGNhbGVuZGFyOm5vd190b19sb2NhbF90aW1lKFRpbWVTdGFtcCksCi0rICAg ICAgICAgICAgICAgICAgICBsaXN0czpmbGF0dGVuKAotKyAgICAgICAgICAgICAgICAgICAgICAg IGlvX2xpYjpmb3JtYXQoCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ+dy1+LjIuMHct fi4yLjB3IH4uMi4wdzp+LjIuMHc6fi4yLjB3IiwKLSsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgW1llYXIsIE1vbnRoLCBEYXksIEhvdXIsIE1pbnV0ZSwgU2Vjb25kXSkpCi0rICAgICAgICAg ICAgZW5kOwotKyAgICAgICAgXyAtPgotKyAgICAgICAgICAgICJPbmxpbmUiCi0rICAgIGVuZC4K LSsKLStzZXRfbGFzdChVc2VyLCBTZXJ2ZXIsIFRpbWVzdGFtcCwgU3RhdHVzKSAtPgotKyAgICBN b2QgPSBnZXRfbGFzdGFjdGl2aXR5X21vZHVsZShTZXJ2ZXIpLAotKyAgICBNb2Q6c3RvcmVfbGFz dF9pbmZvKFVzZXIsIFNlcnZlciwgVGltZXN0YW1wLCBTdGF0dXMpLgotKwotKyUlJQotKyUlJSBQ cml2YXRlIFN0b3JhZ2UKLSslJSUKLSsKLSslJSBFeGFtcGxlIHVzYWdlOgotKyUlICQgZWphYmJl cmRjdGwgcHJpdmF0ZV9zZXQgYmFkbG9wIGxvY2FsaG9zdCAiXDxhYVwgeG1sbnM9XCdiYlwnXD5D bHV0aFw8L2FhXD4iCi0rJSUgJCBlamFiYmVyZGN0bCBwcml2YXRlX2dldCBiYWRsb3AgbG9jYWxo b3N0IGFhIGJiCi0rJSUgPGFhIHhtbG5zPSdiYic+Q2x1dGg8L2FhPgotKwotK3ByaXZhdGVfZ2V0 KFVzZXJuYW1lLCBIb3N0LCBFbGVtZW50LCBOcykgLT4KLSsgICAgRnJvbSA9IGpsaWI6bWFrZV9q aWQoVXNlcm5hbWUsIEhvc3QsIDw8Pj4pLAotKyAgICBUbyA9IGpsaWI6bWFrZV9qaWQoVXNlcm5h bWUsIEhvc3QsIDw8Pj4pLAotKyAgICBJUSA9IHtpcSwgPDw+PiwgZ2V0LCA/TlNfUFJJVkFURSwg PDw+PiwKLSsJICB7eG1sZWwsIDw8InF1ZXJ5Ij4+LAotKwkgICBbezw8InhtbG5zIj4+LD9OU19Q UklWQVRFfV0sCi0rCSAgIFt7eG1sZWwsIEVsZW1lbnQsIFt7PDwieG1sbnMiPj4sIE5zfV0sIFtd fV19fSwKLSsgICAgUmVzSXEgPSBtb2RfcHJpdmF0ZTpwcm9jZXNzX3NtX2lxKEZyb20sIFRvLCBJ USksCi0rICAgIFt7eG1sZWwsIDw8InF1ZXJ5Ij4+LAotKyAgICAgIFt7PDwieG1sbnMiPj4sIDw8 ImphYmJlcjppcTpwcml2YXRlIj4+fV0sCi0rICAgICAgW1N1YkVsXX1dID0gUmVzSXEjaXEuc3Vi X2VsLAotKyAgICB4bWw6ZWxlbWVudF90b19zdHJpbmcoU3ViRWwpLgotKwotK3ByaXZhdGVfc2V0 KFVzZXJuYW1lLCBIb3N0LCBFbGVtZW50U3RyaW5nKSAtPgotKyAgICBjYXNlIHhtbF9zdHJlYW06 cGFyc2VfZWxlbWVudChFbGVtZW50U3RyaW5nKSBvZgotKwl7ZXJyb3IsIEVycm9yfSAtPgotKwkg ICAgaW86Zm9ybWF0KCJFcnJvciBmb3VuZCBwYXJzaW5nIHRoZSBlbGVtZW50On5uICB+cH5uRXJy b3I6IH5wfm4iLAotKwkJICAgICAgW0VsZW1lbnRTdHJpbmcsIEVycm9yXSksCi0rCSAgICBlcnJv cjsKLSsJWG1sIC0+Ci0rCSAgICBwcml2YXRlX3NldDIoVXNlcm5hbWUsIEhvc3QsIFhtbCkKLSsg ICAgZW5kLgotKwotK3ByaXZhdGVfc2V0MihVc2VybmFtZSwgSG9zdCwgWG1sKSAtPgotKyAgICBG cm9tID0gamxpYjptYWtlX2ppZChVc2VybmFtZSwgSG9zdCwgPDw+PiksCi0rICAgIFRvID0gamxp YjptYWtlX2ppZChVc2VybmFtZSwgSG9zdCwgPDw+PiksCi0rICAgIElRID0ge2lxLCA8PD4+LCBz ZXQsID9OU19QUklWQVRFLCA8PD4+LAotKwkgIHt4bWxlbCwgPDwicXVlcnkiPj4sCi0rCSAgIFt7 PDwieG1sbnMiPj4sID9OU19QUklWQVRFfV0sCi0rCSAgIFtYbWxdfX0sCi0rICAgIG1vZF9wcml2 YXRlOnByb2Nlc3Nfc21faXEoRnJvbSwgVG8sIElRKSwKLSsgICAgb2suCi0rCi0rJSUlCi0rJSUl IFNoYXJlZCBSb3N0ZXIgR3JvdXBzCi0rJSUlCi0rCi0rc3JnX2NyZWF0ZShHcm91cCwgSG9zdCwg TmFtZSwgRGVzY3JpcHRpb24sIERpc3BsYXkpIC0+Ci0rICAgIERpc3BsYXlMaXN0ID0gY2FzZSBE aXNwbGF5IG9mCi0rCVtdIC0+IFtdOwotKwlfIC0+IGVqYWJiZXJkX3JlZ2V4cDpzcGxpdChEaXNw bGF5LCA8PCJcXFxcbiI+PikKLSsgICAgZW5kLAotKyAgICBPcHRzID0gW3tuYW1lLCBOYW1lfSwK LSsJICAgIHtkaXNwbGF5ZWRfZ3JvdXBzLCBEaXNwbGF5TGlzdH0sCi0rCSAgICB7ZGVzY3JpcHRp b24sIERlc2NyaXB0aW9ufV0sCi0rICAgIHthdG9taWMsIG9rfSA9IG1vZF9zaGFyZWRfcm9zdGVy OmNyZWF0ZV9ncm91cChIb3N0LCBHcm91cCwgT3B0cyksCi0rICAgIG9rLgotKwotK3NyZ19kZWxl dGUoR3JvdXAsIEhvc3QpIC0+Ci0rICAgIHthdG9taWMsIG9rfSA9IG1vZF9zaGFyZWRfcm9zdGVy OmRlbGV0ZV9ncm91cChIb3N0LCBHcm91cCksCi0rICAgIG9rLgotKwotK3NyZ19saXN0KEhvc3Qp IC0+Ci0rICAgIGxpc3RzOnNvcnQobW9kX3NoYXJlZF9yb3N0ZXI6bGlzdF9ncm91cHMoSG9zdCkp LgotKwotK3NyZ19nZXRfaW5mbyhHcm91cCwgSG9zdCkgLT4KLSsgICAgT3B0cyA9IGNhc2UgbW9k X3NoYXJlZF9yb3N0ZXI6Z2V0X2dyb3VwX29wdHMoSG9zdCxHcm91cCkgb2YKLSsJT3Mgd2hlbiBp c19saXN0KE9zKSAtPiBPczsKLSsJZXJyb3IgLT4gW10KLSsgICAgZW5kLAotKyAgICBbe2lvX2xp Yjpmb3JtYXQoIn5wIiwgW1RpdGxlXSksCi0rICAgICAgaW9fbGliOmZvcm1hdCgifnAiLCBbVmFs dWVdKX0gfHwge1RpdGxlLCBWYWx1ZX0gPC0gT3B0c10uCi0rCi0rc3JnX2dldF9tZW1iZXJzKEdy b3VwLCBIb3N0KSAtPgotKyAgICBNZW1iZXJzID0gbW9kX3NoYXJlZF9yb3N0ZXI6Z2V0X2dyb3Vw X2V4cGxpY2l0X3VzZXJzKEhvc3QsR3JvdXApLAotKyAgICBbamxpYjpqaWRfdG9fc3RyaW5nKGps aWI6bWFrZV9qaWQoTVVzZXIsIE1TZXJ2ZXIsIDw8Pj4pKQotKyAgICAgfHwge01Vc2VyLCBNU2Vy dmVyfSA8LSBNZW1iZXJzXS4KLSsKLStzcmdfdXNlcl9hZGQoVXNlciwgSG9zdCwgR3JvdXAsIEdy b3VwSG9zdCkgLT4KLSsgICAge2F0b21pYywgb2t9ID0gbW9kX3NoYXJlZF9yb3N0ZXI6YWRkX3Vz ZXJfdG9fZ3JvdXAoR3JvdXBIb3N0LCB7VXNlciwgSG9zdH0sIEdyb3VwKSwKLSsgICAgb2suCi0r Ci0rc3JnX3VzZXJfZGVsKFVzZXIsIEhvc3QsIEdyb3VwLCBHcm91cEhvc3QpIC0+Ci0rICAgIHth dG9taWMsIG9rfSA9IG1vZF9zaGFyZWRfcm9zdGVyOnJlbW92ZV91c2VyX2Zyb21fZ3JvdXAoR3Jv dXBIb3N0LCB7VXNlciwgSG9zdH0sIEdyb3VwKSwKLSsgICAgb2suCi0rCi0rCi0rJSUlCi0rJSUl IFN0YW56YQotKyUlJQotKwotKyUlIEBkb2MgU2VuZCBhIGNoYXQgbWVzc2FnZSB0byBhIEphYmJl ciBhY2NvdW50LgotKyUlIEBzcGVjIChGcm9tOjpiaW5hcnkoKSwgVG86OmJpbmFyeSgpLCBCb2R5 OjpiaW5hcnkoKSkgLT4gb2sKLStzZW5kX21lc3NhZ2VfY2hhdChGcm9tLCBUbywgQm9keSkgLT4K LSsgICAgUGFja2V0ID0gYnVpbGRfcGFja2V0KG1lc3NhZ2VfY2hhdCwgW0JvZHldKSwKLSsgICAg c2VuZF9wYWNrZXRfYWxsX3Jlc291cmNlcyhGcm9tLCBUbywgUGFja2V0KS4KLSsKLSslJSBAZG9j IFNlbmQgYSBoZWFkbGluZSBtZXNzYWdlIHRvIGEgSmFiYmVyIGFjY291bnQuCi0rJSUgQHNwZWMg KEZyb206OmJpbmFyeSgpLCBUbzo6YmluYXJ5KCksIFN1YmplY3Q6OmJpbmFyeSgpLCBCb2R5Ojpi aW5hcnkoKSkgLT4gb2sKLStzZW5kX21lc3NhZ2VfaGVhZGxpbmUoRnJvbSwgVG8sIFN1YmplY3Qs IEJvZHkpIC0+Ci0rICAgIFBhY2tldCA9IGJ1aWxkX3BhY2tldChtZXNzYWdlX2hlYWRsaW5lLCBb U3ViamVjdCwgQm9keV0pLAotKyAgICBzZW5kX3BhY2tldF9hbGxfcmVzb3VyY2VzKEZyb20sIFRv LCBQYWNrZXQpLgotKwotKyUlIEBkb2MgU2VuZCBhIHBhY2tldCB0byBhIEphYmJlciBhY2NvdW50 LgotKyUlIElmIGEgcmVzb3VyY2Ugd2FzIHNwZWNpZmllZCBpbiB0aGUgSklELAotKyUlIHRoZSBw YWNrZXQgaXMgc2VudCBvbmx5IHRvIHRoYXQgc3BlY2lmaWMgcmVzb3VyY2UuCi0rJSUgSWYgbm8g cmVzb3VyY2Ugd2FzIHNwZWNpZmllZCBpbiB0aGUgSklELAotKyUlIGFuZCB0aGUgdXNlciBpcyBy ZW1vdGUgb3IgbG9jYWwgYnV0IG9mZmxpbmUsCi0rJSUgdGhlIHBhY2tldCBpcyBzZW50IHRvIHRo ZSBiYXJlIEpJRC4KLSslJSBJZiB0aGUgdXNlciBpcyBsb2NhbCBhbmQgaXMgb25saW5lIGluIHNl dmVyYWwgcmVzb3VyY2VzLAotKyUlIHRoZSBwYWNrZXQgaXMgc2VudCB0byBhbGwgaXRzIHJlc291 cmNlcy4KLStzZW5kX3BhY2tldF9hbGxfcmVzb3VyY2VzKEZyb21KSURTdHJpbmcsIFRvSklEU3Ry aW5nLCBQYWNrZXQpIC0+Ci0rICAgIEZyb21KSUQgPSBqbGliOnN0cmluZ190b19qaWQoRnJvbUpJ RFN0cmluZyksCi0rICAgIFRvSklEID0gamxpYjpzdHJpbmdfdG9famlkKFRvSklEU3RyaW5nKSwK LSsgICAgVG9Vc2VyID0gVG9KSUQjamlkLnVzZXIsCi0rICAgIFRvU2VydmVyID0gVG9KSUQjamlk LnNlcnZlciwKLSsgICAgY2FzZSBUb0pJRCNqaWQucmVzb3VyY2Ugb2YKLSsJPDw+PiAtPgotKwkg ICAgc2VuZF9wYWNrZXRfYWxsX3Jlc291cmNlcyhGcm9tSklELCBUb1VzZXIsIFRvU2VydmVyLCBQ YWNrZXQpOwotKwlSZXMgLT4KLSsJICAgIHNlbmRfcGFja2V0X2FsbF9yZXNvdXJjZXMoRnJvbUpJ RCwgVG9Vc2VyLCBUb1NlcnZlciwgUmVzLCBQYWNrZXQpCi0rICAgIGVuZC4KLSsKLStzZW5kX3Bh Y2tldF9hbGxfcmVzb3VyY2VzKEZyb21KSUQsIFRvVXNlciwgVG9TZXJ2ZXIsIFBhY2tldCkgLT4K LSsgICAgY2FzZSBlamFiYmVyZF9zbTpnZXRfdXNlcl9yZXNvdXJjZXMoVG9Vc2VyLCBUb1NlcnZl cikgb2YKLSsJW10gLT4KLSsJICAgIHNlbmRfcGFja2V0X2FsbF9yZXNvdXJjZXMoRnJvbUpJRCwg VG9Vc2VyLCBUb1NlcnZlciwgPDw+PiwgUGFja2V0KTsKLSsJVG9SZXNvdXJjZXMgLT4KLSsJICAg IGxpc3RzOmZvcmVhY2goCi0rCSAgICAgIGZ1bihUb1Jlc291cmNlKSAtPgotKwkJICAgICAgc2Vu ZF9wYWNrZXRfYWxsX3Jlc291cmNlcyhGcm9tSklELCBUb1VzZXIsIFRvU2VydmVyLAotKwkJCQkJ CVRvUmVzb3VyY2UsIFBhY2tldCkKLSsJICAgICAgZW5kLAotKwkgICAgICBUb1Jlc291cmNlcykK LSsgICAgZW5kLgotKwotK3NlbmRfcGFja2V0X2FsbF9yZXNvdXJjZXMoRnJvbUpJRCwgVG9VLCBU b1MsIFRvUiwgUGFja2V0KSAtPgotKyAgICBUb0pJRCA9IGpsaWI6bWFrZV9qaWQoVG9VLCBUb1Ms IFRvUiksCi0rICAgIGVqYWJiZXJkX3JvdXRlcjpyb3V0ZShGcm9tSklELCBUb0pJRCwgUGFja2V0 KS4KLSsKLSsKLStidWlsZF9wYWNrZXQobWVzc2FnZV9jaGF0LCBbQm9keV0pIC0+Ci0rICAgIHt4 bWxlbCwgPDwibWVzc2FnZSI+PiwKLSsgICAgIFt7PDwidHlwZSI+PiwgPDwiY2hhdCI+Pn0sIHs8 PCJpZCI+PiwgcmFuZG9tczpnZXRfc3RyaW5nKCl9XSwKLSsgICAgIFt7eG1sZWwsIDw8ImJvZHki Pj4sIFtdLCBbe3htbGNkYXRhLCBCb2R5fV19XQotKyAgICB9OwotK2J1aWxkX3BhY2tldChtZXNz YWdlX2hlYWRsaW5lLCBbU3ViamVjdCwgQm9keV0pIC0+Ci0rICAgIHt4bWxlbCwgPDwibWVzc2Fn ZSI+PiwKLSsgICAgIFt7PDwidHlwZSI+PiwgPDwiaGVhZGxpbmUiPj59LCB7PDwiaWQiPj4sIHJh bmRvbXM6Z2V0X3N0cmluZygpfV0sCi0rICAgICBbe3htbGVsLCA8PCJzdWJqZWN0Ij4+LCBbXSwg W3t4bWxjZGF0YSwgU3ViamVjdH1dfSwKLSsgICAgICB7eG1sZWwsIDw8ImJvZHkiPj4sIFtdLCBb e3htbGNkYXRhLCBCb2R5fV19Ci0rICAgICBdCi0rICAgIH0uCi0rCi0rc2VuZF9zdGFuemFfYzJz KFVzZXJuYW1lLCBIb3N0LCBSZXNvdXJjZSwgU3RhbnphKSAtPgotKyAgICBDMnNQaWQgPSBlamFi YmVyZF9zbTpnZXRfc2Vzc2lvbl9waWQoVXNlcm5hbWUsIEhvc3QsIFJlc291cmNlKSwKLSsgICAg WG1sRWwgPSB4bWxfc3RyZWFtOnBhcnNlX2VsZW1lbnQoU3RhbnphKSwKLSsgICAgcDFfZnNtOnNl bmRfZXZlbnQoQzJzUGlkLCB7eG1sc3RyZWFtZWxlbWVudCwgWG1sRWx9KS4KLSsKLStwcml2YWN5 X3NldChVc2VybmFtZSwgSG9zdCwgUXVlcnlTKSAtPgotKyAgICBGcm9tID0gamxpYjpzdHJpbmdf dG9famlkKFVzZXJuYW1lICsrICJAIiArKyBIb3N0KSwKLSsgICAgVG8gPSBqbGliOnN0cmluZ190 b19qaWQoSG9zdCksCi0rICAgIFF1ZXJ5RWwgPSB4bWxfc3RyZWFtOnBhcnNlX2VsZW1lbnQoUXVl cnlTKSwKLSsgICAgU3RhbnphRWwgPSB7eG1sZWwsIDw8ImlxIj4+LCBbezw8InR5cGUiPj4sIDw8 InNldCI+Pn1dLCBbUXVlcnlFbF19LAotKyAgICBJUSA9IGpsaWI6aXFfcXVlcnlfaW5mbyhTdGFu emFFbCksCi0rICAgIGVqYWJiZXJkX2hvb2tzOnJ1bl9mb2xkKAotKwkJICAgICBwcml2YWN5X2lx X3NldCwKLSsJCSAgICAgSG9zdCwKLSsJCSAgICAge2Vycm9yLCA/RVJSX0ZFQVRVUkVfTk9UX0lN UExFTUVOVEVEfSwKLSsJCSAgICAgW0Zyb20sIFRvLCBJUV0KLSsJCSAgICApLAotKyAgICBvay4K LSsKLSslJSUKLSslJSUgU3RhdHMKLSslJSUKLSsKLStzdGF0cyhOYW1lKSAtPgotKyAgICBjYXNl IE5hbWUgb2YKLSsJPDwidXB0aW1lc2Vjb25kcyI+PiAtPiB0cnVuYyhlbGVtZW50KDEsIGVybGFu ZzpzdGF0aXN0aWNzKHdhbGxfY2xvY2spKS8xMDAwKTsKLSsJPDwicmVnaXN0ZXJlZHVzZXJzIj4+ IC0+IGxlbmd0aChlamFiYmVyZF9hdXRoOmRpcnR5X2dldF9yZWdpc3RlcmVkX3VzZXJzKCkpOwot Kwk8PCJvbmxpbmV1c2Vyc25vZGUiPj4gLT4gbGVuZ3RoKGVqYWJiZXJkX3NtOmRpcnR5X2dldF9t eV9zZXNzaW9uc19saXN0KCkpOwotKwk8PCJvbmxpbmV1c2VycyI+PiAtPiBsZW5ndGgoZWphYmJl cmRfc206ZGlydHlfZ2V0X3Nlc3Npb25zX2xpc3QoKSkKLSsgICAgZW5kLgotKwotK3N0YXRzKE5h bWUsIEhvc3QpIC0+Ci0rICAgIGNhc2UgTmFtZSBvZgotKwk8PCJyZWdpc3RlcmVkdXNlcnMiPj4g LT4gbGVuZ3RoKGVqYWJiZXJkX2F1dGg6Z2V0X3ZoX3JlZ2lzdGVyZWRfdXNlcnMoSG9zdCkpOwot Kwk8PCJvbmxpbmV1c2VycyI+PiAtPiBsZW5ndGgoZWphYmJlcmRfc206Z2V0X3ZoX3Nlc3Npb25f bGlzdChIb3N0KSkKLSsgICAgZW5kLgotKwotKwotKwotKyUlLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KLSslJSBQdXJnZSByb3N0ZXIgaXRlbXMKLSslJS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCi0rCi0rcHJvY2Vzc19yb3N0ZXJpdGVtcyhBY3Rpb25TLCBTdWJzUywgQXNrc1Ms IFVzZXJzUywgQ29udGFjdHNTKSAtPgotKyAgICBBY3Rpb24gPSBjYXNlIEFjdGlvblMgb2YKLSsJ CSAibGlzdCIgLT4gbGlzdDsKLSsJCSAiZGVsZXRlIiAtPiBkZWxldGUKLSsJICAgICBlbmQsCi0r Ci0rICAgIFN1YnMgPSBsaXN0czpmb2xkbCgKLSsJICAgICBmdW4oYW55LCBfKSAtPiBbbm9uZSwg ZnJvbSwgdG8sIGJvdGhdOwotKwkJKFN1YiwgU3VicykgLT4gW1N1YiB8IFN1YnNdCi0rCSAgICAg ZW5kLAotKwkgICAgIFtdLAotKwkgICAgIFtsaXN0X3RvX2F0b20oUykgfHwgUyA8LSBzdHJpbmc6 dG9rZW5zKFN1YnNTLCAiOiIpXQotKwkgICAgKSwKLSsKLSsgICAgQXNrcyA9IGxpc3RzOmZvbGRs KAotKwkgICAgIGZ1bihhbnksIF8pIC0+IFtub25lLCBvdXQsIGluXTsKLSsJCShBc2ssIEFza3Mp IC0+IFtBc2sgfCBBc2tzXQotKwkgICAgIGVuZCwKLSsJICAgICBbXSwKLSsJICAgICBbbGlzdF90 b19hdG9tKFMpIHx8IFMgPC0gc3RyaW5nOnRva2VucyhBc2tzUywgIjoiKV0KLSsJICAgICksCi0r Ci0rICAgIFVzZXJzID0gbGlzdHM6Zm9sZGwoCi0rCSAgICAgIGZ1bigiYW55IiwgXykgLT4gWyIq IiwgIipAKiJdOwotKwkJIChVLCBVcykgLT4gW1UgfCBVc10KLSsJICAgICAgZW5kLAotKwkgICAg ICBbXSwKLSsJICAgICAgW1MgfHwgUyA8LSBzdHJpbmc6dG9rZW5zKFVzZXJzUywgIjoiKV0KLSsJ ICAgICApLAotKwotKyAgICBDb250YWN0cyA9IGxpc3RzOmZvbGRsKAotKwkJIGZ1bigiYW55Iiwg XykgLT4gWyIqIiwgIipAKiJdOwotKwkJICAgIChVLCBVcykgLT4gW1UgfCBVc10KLSsJCSBlbmQs Ci0rCQkgW10sCi0rCQkgW1MgfHwgUyA8LSBzdHJpbmc6dG9rZW5zKENvbnRhY3RzUywgIjoiKV0K LSsJCSksCi0rCi0rICAgIGNhc2Ugcm9zdGVyaXRlbV9wdXJnZSh7QWN0aW9uLCBTdWJzLCBBc2tz LCBVc2VycywgQ29udGFjdHN9KSBvZgotKwl7YXRvbWljLCBSZXN9IC0+Ci0rCSAgICBSZXM7Ci0r CXtlcnJvciwgUmVhc29ufSAtPgotKwkgICAgaW86Zm9ybWF0KCJFcnJvciBwdXJnaW5nIHJvc3Rl cml0ZW1zOiB+cH5uIiwgW1JlYXNvbl0pLAotKwkgICAgZXJyb3I7Ci0rCXtiYWRycGMsIFJlYXNv bn0gLT4KLSsJICAgIGlvOmZvcm1hdCgiQmFkUlBDIHB1cmdpbmcgcm9zdGVyaXRlbXM6IH5wfm4i LCBbUmVhc29uXSksCi0rCSAgICBlcnJvcgotKyAgICBlbmQuCi0rCi0rJSUgQHNwZWMgKHtBY3Rp b246OmF0b20oKSwgU3Viczo6W2F0b20oKV0sIEFza3M6OlthdG9tKCldLCBVc2VyOjpzdHJpbmco KSwgQ29udGFjdDo6c3RyaW5nKCl9KSAtPiB7YXRvbWljLCBva30KLStyb3N0ZXJpdGVtX3B1cmdl KE9wdGlvbnMpIC0+Ci0rICAgIE51bV9yb3N0ZXJpdGVtcyA9IG1uZXNpYTp0YWJsZV9pbmZvKHJv c3Rlciwgc2l6ZSksCi0rICAgIGlvOmZvcm1hdCgiVGhlcmUgYXJlIH5wIHJvc3RlciBpdGVtcyBp biB0b3RhbC5+biIsIFtOdW1fcm9zdGVyaXRlbXNdKSwKLSsgICAgS2V5ID0gbW5lc2lhOmRpcnR5 X2ZpcnN0KHJvc3RlciksCi0rICAgIFJlcyA9IHJpcChLZXksIE9wdGlvbnMsIHswLCBOdW1fcm9z dGVyaXRlbXMsIDAsIDB9LCBbXSksCi0rICAgIHthdG9taWMsIFJlc30uCi0rCi0rcmlwKCckZW5k X29mX3RhYmxlJywgX09wdGlvbnMsIENvdW50ZXJzLCBSZXMpIC0+Ci0rICAgIHByaW50X3Byb2dy ZXNzX2xpbmUoQ291bnRlcnMpLAotKyAgICBSZXM7Ci0rcmlwKEtleSwgT3B0aW9ucywge1ByLCBO VCwgTlYsIE5EfSwgUmVzKSAtPgotKyAgICBLZXlfbmV4dCA9IG1uZXNpYTpkaXJ0eV9uZXh0KHJv c3RlciwgS2V5KSwKLSsgICAge0FjdGlvbiwgXywgXywgXywgX30gPSBPcHRpb25zLAotKyAgICB7 TkQyLCBSZXMyfSA9IGNhc2UgZGVjaWRlX3JpcChLZXksIE9wdGlvbnMpIG9mCi0rCSAgICAgIHRy dWUgLT4KLSsJCSAgSmlkcyA9IGFwcGx5X2FjdGlvbihBY3Rpb24sIEtleSksCi0rCQkgIHtORCsx LCBbSmlkcyB8IFJlc119OwotKwkgICAgICBmYWxzZSAtPgotKwkJICB7TkQsIFJlc30KLSsJICBl bmQsCi0rICAgIE5WMiA9IE5WKzEsCi0rICAgIFByMiA9IHByaW50X3Byb2dyZXNzX2xpbmUoe1By LCBOVCwgTlYyLCBORDJ9KSwKLSsgICAgcmlwKEtleV9uZXh0LCBPcHRpb25zLCB7UHIyLCBOVCwg TlYyLCBORDJ9LCBSZXMyKS4KLSsKLSthcHBseV9hY3Rpb24obGlzdCwgS2V5KSAtPgotKyAgICB7 VXNlciwgU2VydmVyLCBKSUR9ID0gS2V5LAotKyAgICB7UlVzZXIsIFJTZXJ2ZXIsIF99ID0gSklE LAotKyAgICBKaWQxc3RyaW5nID0gVXNlciArKyAiQCIgKysgU2VydmVyLAotKyAgICBKaWQyc3Ry aW5nID0gUlVzZXIgKysgIkAiICsrIFJTZXJ2ZXIsCi0rICAgIGlvOmZvcm1hdCgiTWF0Y2hlczog fnMgfnN+biIsIFtKaWQxc3RyaW5nLCBKaWQyc3RyaW5nXSksCi0rICAgIHtKaWQxc3RyaW5nLCBK aWQyc3RyaW5nfTsKLSthcHBseV9hY3Rpb24oZGVsZXRlLCBLZXkpIC0+Ci0rICAgIFIgPSBhcHBs eV9hY3Rpb24obGlzdCwgS2V5KSwKLSsgICAgbW5lc2lhOmRpcnR5X2RlbGV0ZShyb3N0ZXIsIEtl eSksCi0rICAgIFIuCi0rCi0rcHJpbnRfcHJvZ3Jlc3NfbGluZSh7UHIsIE5ULCBOViwgTkR9KSAt PgotKyAgICBQcjIgPSB0cnVuYygoTlYvTlQpKjEwMCksCi0rICAgIGNhc2UgUHIgPT0gUHIyIG9m Ci0rCXRydWUgLT4KLSsJICAgIG9rOwotKwlmYWxzZSAtPgotKwkgICAgaW86Zm9ybWF0KCJQcm9n cmVzcyB+cCUgLSB2aXNpdGVkIH5wIC0gZGVsZXRlZCB+cH5uIiwgW1ByMiwgTlYsIE5EXSkKLSsg ICAgZW5kLAotKyAgICBQcjIuCi0rCi0rZGVjaWRlX3JpcChLZXksIHtfQWN0aW9uLCBTdWJzLCBB c2tzLCBVc2VyLCBDb250YWN0fSkgLT4KLSsgICAgY2FzZSBjYXRjaCBtbmVzaWE6ZGlydHlfcmVh ZChyb3N0ZXIsIEtleSkgb2YKLSsJW1JJXSAtPgotKwkgICAgbGlzdHM6bWVtYmVyKFJJI3Jvc3Rl ci5zdWJzY3JpcHRpb24sIFN1YnMpCi0rCQlhbmRhbHNvIGxpc3RzOm1lbWJlcihSSSNyb3N0ZXIu YXNrLCBBc2tzKQotKwkJYW5kYWxzbyBkZWNpZGVfcmlwX2ppZChSSSNyb3N0ZXIudXMsIFVzZXIp Ci0rCQlhbmRhbHNvIGRlY2lkZV9yaXBfamlkKFJJI3Jvc3Rlci5qaWQsIENvbnRhY3QpOwotKwlf IC0+Ci0rCSAgICBmYWxzZQotKyAgICBlbmQuCi0rCi0rJSUgUmV0dXJucyB0cnVlIGlmIHRoZSBz ZXJ2ZXIgb2YgdGhlIEpJRCBpcyBpbmNsdWRlZCBpbiB0aGUgc2VydmVycwotK2RlY2lkZV9yaXBf amlkKHtVTmFtZSwgVVNlcnZlciwgX1VSZXNvdXJjZX0sIE1hdGNoX2xpc3QpIC0+Ci0rICAgIGRl Y2lkZV9yaXBfamlkKHtVTmFtZSwgVVNlcnZlcn0sIE1hdGNoX2xpc3QpOwotK2RlY2lkZV9yaXBf amlkKHtVTmFtZSwgVVNlcnZlcn0sIE1hdGNoX2xpc3QpIC0+Ci0rICAgIGxpc3RzOmFueSgKLSsg ICAgICBmdW4oTWF0Y2hfc3RyaW5nKSAtPgotKwkgICAgICBNSklEID0gamxpYjpzdHJpbmdfdG9f amlkKE1hdGNoX3N0cmluZyksCi0rCSAgICAgIE1OYW1lID0gTUpJRCNqaWQubHVzZXIsCi0rCSAg ICAgIE1TZXJ2ZXIgPSBNSklEI2ppZC5sc2VydmVyLAotKwkgICAgICBJc19zZXJ2ZXIgPSBpc19n bG9iX21hdGNoKFVTZXJ2ZXIsIE1TZXJ2ZXIpLAotKwkgICAgICBjYXNlIE1OYW1lIG9mCi0rCQkg IFtdIHdoZW4gVU5hbWUgPT0gW10gLT4KLSsJCSAgICAgIElzX3NlcnZlcjsKLSsJCSAgW10gLT4K LSsJCSAgICAgIGZhbHNlOwotKwkJICBfIC0+Ci0rCQkgICAgICBJc19zZXJ2ZXIKLSsJCQkgIGFu ZGFsc28gaXNfZ2xvYl9tYXRjaChVTmFtZSwgTU5hbWUpCi0rCSAgICAgIGVuZAotKyAgICAgIGVu ZCwKLSsgICAgICBNYXRjaF9saXN0KS4KLSsKLSslJSBDb3BpZWQgZnJvbSBlamFiYmVyZC0yLjAu MC9zcmMvYWNsLmVybAotK2lzX3JlZ2V4cF9tYXRjaChTdHJpbmcsIFJlZ0V4cCkgLT4KLSsgICAg Y2FzZSBlamFiYmVyZF9yZWdleHA6cnVuKFN0cmluZywgUmVnRXhwKSBvZgotKwlub21hdGNoIC0+ Ci0rCSAgICBmYWxzZTsKLSsJbWF0Y2ggLT4KLSsJICAgIHRydWU7Ci0rCXtlcnJvciwgRXJyRGVz Y30gLT4KLSsJICAgIGlvOmZvcm1hdCgKLSsJICAgICAgIldyb25nIHJlZ2V4cCB+cCBpbiBBQ0w6 IH5wIiwKLSsJICAgICAgW1JlZ0V4cCwgRXJyRGVzY10pLAotKwkgICAgZmFsc2UKLSsgICAgZW5k LgotK2lzX2dsb2JfbWF0Y2goU3RyaW5nLCBbJCEgfCBHbG9iXSkgLT4KLSsgICAgbm90IGlzX3Jl Z2V4cF9tYXRjaChTdHJpbmcsIGVqYWJiZXJkX3JlZ2V4cDpzaF90b19hd2soR2xvYikpOwotK2lz X2dsb2JfbWF0Y2goU3RyaW5nLCBHbG9iKSAtPgotKyAgICBpc19yZWdleHBfbWF0Y2goU3RyaW5n LCBlamFiYmVyZF9yZWdleHA6c2hfdG9fYXdrKEdsb2IpKS4KCmRpZmYgLS1naXQgYS9lamFiYmVy ZC0wMDA2LUVuYWJsZS1wb2xraXQtc3VwcG9ydC5wYXRjaCBiL2VqYWJiZXJkLTAwMDYtRW5hYmxl LXBvbGtpdC1zdXBwb3J0LnBhdGNoCmluZGV4IGFlMzQ5ZjUuLmIyMDNlYWQgMTAwNjQ0Ci0tLSBh L2VqYWJiZXJkLTAwMDYtRW5hYmxlLXBvbGtpdC1zdXBwb3J0LnBhdGNoCisrKyBiL2VqYWJiZXJk LTAwMDYtRW5hYmxlLXBvbGtpdC1zdXBwb3J0LnBhdGNoCkBAIC0xLDE2ICsxLDIzIEBACi1Gcm9t OiBQZXRlciBMZW1lbmtvdiA8bGVtZW5rb3ZAZ21haWwuY29tPgotRGF0ZTogV2VkLCAxNyBKdWwg MjAxMyAxNDo1MTowNCArMDQwMAorRnJvbSA1NjFkYTM0NDNlMGQwOTAyOWIzZTYwZDFiZDFhYTlj ZmFjZjBjNTNkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUmFuZHkgQmFybG93IDxy YW5keUBlbGVjdHJvbnN3ZWF0c2hvcC5jb20+CitEYXRlOiBTdW4sIDYgTWFyIDIwMTYgMTk6NTM6 MDUgLTA1MDAKIFN1YmplY3Q6IFtQQVRDSF0gRW5hYmxlIHBvbGtpdCBzdXBwb3J0CiAKLVNpZ25l ZC1vZmYtYnk6IFBldGVyIExlbWVua292IDxsZW1lbmtvdkBnbWFpbC5jb20+CitQYXRjaCBvcmln aW5hbGx5IGJ5IFBldGVyIExlbWVua292IDxsZW1lbmtvdkBnbWFpbC5jb20+LgorLS0tCisgZWph YmJlcmRjdGwudGVtcGxhdGUgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCsp LCAxIGRlbGV0aW9uKC0pCiAKIGRpZmYgLS1naXQgYS9lamFiYmVyZGN0bC50ZW1wbGF0ZSBiL2Vq YWJiZXJkY3RsLnRlbXBsYXRlCi1pbmRleCAwOWI5OTQ3Li4wZmQzM2ZlIDEwMDc1NQoraW5kZXgg MDczOTVhYS4uYjViY2JiMCAxMDA3NTUKIC0tLSBhL2VqYWJiZXJkY3RsLnRlbXBsYXRlCiArKysg Yi9lamFiYmVyZGN0bC50ZW1wbGF0ZQogQEAgLTEsNCArMSw0IEBACiAtIyEvYmluL2Jhc2gKICsj IS91c3IvYmluL3BrZXhlYyAvYmluL3NoCi0KKyAKICAjIGRlZmluZSBkZWZhdWx0IGNvbmZpZ3Vy YXRpb24KICBQT0xMPXRydWUKKy0tIAorMi43LjIKKwoKZGlmZiAtLWdpdCBhL2VqYWJiZXJkLnNw ZWMgYi9lamFiYmVyZC5zcGVjCmluZGV4IGE4MjI3NzguLmE2ODU2ZjYgMTAwNjQ0Ci0tLSBhL2Vq YWJiZXJkLnNwZWMKKysrIGIvZWphYmJlcmQuc3BlYwpAQCAtNiw4ICs2LDggQEAKIAogCiBOYW1l OiAgICAgICAgICAgZWphYmJlcmQKLVZlcnNpb246ICAgICAgICAxNi4wMQotUmVsZWFzZTogICAg ICAgIDUlez9kaXN0fQorVmVyc2lvbjogICAgICAgIDE2LjAyCitSZWxlYXNlOiAgICAgICAgMiV7 P2Rpc3R9CiAKIFN1bW1hcnk6ICAgICAgICBBIGRpc3RyaWJ1dGVkLCBmYXVsdC10b2xlcmFudCBK YWJiZXIvWE1QUCBzZXJ2ZXIKIExpY2Vuc2U6ICAgICAgICBHUEx2MisKQEAgLTMxLDkgKzMxLDYg QEAgU291cmNlMTM6ICAgICAgIGVqYWJiZXJkY3RsLnBvbGtpdC5ydWxlcwogCiAjIFVzZSBlamFi YmVyZCBhcyBhbiBleGFtcGxlIGZvciBQQU0gc2VydmljZSBuYW1lIChmZWRvcmEvZXBlbC1zcGVj aWZpYykKIFBhdGNoMTogZWphYmJlcmQtMDAwMS1GaXgtUEFNLXNlcnZpY2UtZXhhbXBsZS1uYW1l LXRvLW1hdGNoLWFjdHVhbC1vbmUucGF0Y2gKLSMgSW50cm9kdWNpbmcgbW9kX2FkbWluX2V4dHJh Ci0jIHJiYXJsb3c6IGl0IHNlZW1zIHRoYXQgbW9kX2FkbWluX2V4dHJhIGFscmVhZHkgZXhpc3Rz IHVwc3RyZWFtIGluIDE1LjExCi0jUGF0Y2gyOiBlamFiYmVyZC0wMDAyLUludHJvZHVjaW5nLW1v ZF9hZG1pbl9leHRyYS5wYXRjaAogIyBCWiMgNDM5NTgzLCA0NTIzMjYsIDQ1MTU1NCwgNDY1MTk2 LCA1MDIzNjEgKGZlZG9yYS9lcGVsLXNwZWNpZmljKQogIyByYmFybG93OiBpJ20gbm90IHN1cmUg d2hhdCB0aGlzIHBhdGNoIGlzIGZvciwgYnV0IGl0IGRvZXMgbm90IGFwcGx5IGNsZWFubHkKICNQ YXRjaDM6IGVqYWJiZXJkLTAwMDMtRmVkb3JhLXNwZWNpZmljLWNoYW5nZXMtdG8tZWphYmJlcmRj dGwucGF0Y2gKQEAgLTU4LDE3ICs1NSwxOCBAQCBQYXRjaDEwOmVqYWJiZXJkLTAwMTAtRW5hYmxl LXN5c3RlbWQtbm90aWZpY2F0aW9uLWlmLWF2YWlsYWJsZS5wYXRjaAogCiAjUGF0Y2gxMTogZWph YmJlcmQtMDAxMS1hYXJjaDY0LnBhdGNoCiBQYXRjaDEzOiAwMDEzLURvLW5vdC1tYW5hZ2UtZGVw cy1kdXJpbmctYnVpbGQucGF0Y2gKLVBhdGNoMTQ6IDAwMTQtUmVtb3ZlLXRoZS14bWxycGMtZGVw ZW5kZW5jeS1hcy1pdC1zLW9ubHktdXNlZC1mb3ItdC5wYXRjaAogCiBCdWlsZFJlcXVpcmVzOiAg ZWxpeGlyID49IDEuMS4wCiBCdWlsZFJlcXVpcmVzOiAgZXJsYW5nID49IDE3LjEKIEJ1aWxkUmVx dWlyZXM6ICBlcmxhbmctY2FjaGVfdGFiID49IDEuMC4xCiBCdWlsZFJlcXVpcmVzOiAgZXJsYW5n LWppZmZ5ID49IDAuMTQuNQogQnVpbGRSZXF1aXJlczogIGVybGFuZy1sYWdlciA+PSAzLjAuMgor QnVpbGRSZXF1aXJlczogIGVybGFuZy1sdWVybAogQnVpbGRSZXF1aXJlczogIGVybGFuZy1tZWNr ID49IDAuOC4yCiBCdWlsZFJlcXVpcmVzOiAgZXJsYW5nLW9hdXRoMiA+PSAwLjYuMQogQnVpbGRS ZXF1aXJlczogIGVybGFuZy1wMV9pY29udiA+PSAwLjkuMAogQnVpbGRSZXF1aXJlczogIGVybGFu Zy1wMV9teXNxbCA+PSAxLjAuMAorQnVpbGRSZXF1aXJlczogIGVybGFuZy1wMV9vYXV0aDIgPj0g MC42LjEKIEJ1aWxkUmVxdWlyZXM6ICBlcmxhbmctcDFfcGFtID49IDEuMC4wCiBCdWlsZFJlcXVp cmVzOiAgZXJsYW5nLXAxX3Bnc3FsID49IDEuMC4wCiBCdWlsZFJlcXVpcmVzOiAgZXJsYW5nLXAx X3NpcCA+PSAxLjAuMC0yCkBAIC03Nyw2ICs3NSw3IEBAIEJ1aWxkUmVxdWlyZXM6ICBlcmxhbmct cDFfc3R1biA+PSAwLjkuMAogQnVpbGRSZXF1aXJlczogIGVybGFuZy1wMV90bHMgPj0gMS4wLjAK IEJ1aWxkUmVxdWlyZXM6ICBlcmxhbmctcDFfdXRpbHMgPj0gMS4wLjIKIEJ1aWxkUmVxdWlyZXM6 ICBlcmxhbmctcDFfeG1sID49IDEuMS4xCitCdWlsZFJlcXVpcmVzOiAgZXJsYW5nLXAxX3htbHJw YyA+PSAxLjE1LjEKIEJ1aWxkUmVxdWlyZXM6ICBlcmxhbmctcDFfeWFtbCA+PSAxLjAuMAogQnVp bGRSZXF1aXJlczogIGVybGFuZy1wMV96bGliID49IDEuMC4wCiBCdWlsZFJlcXVpcmVzOiAgZXJs YW5nLXJlYmFyCkBAIC0xNTcsNyArMTU2LDYgQEAgV2luZG93cyBOVC8yMDAwL1hQKS4KICVzZXR1 cCAtcQogCiAlcGF0Y2gxIC1wMSAtYiAucGFtX25hbWUKLSMgJXBhdGNoMiAtcDEgLWIgLm1vZF9h ZG1pbl9leHRyYQogIyAlcGF0Y2gzIC1wMSAtYiAuZmVkb3JhX3NwZWNpZmljCiAjICVwYXRjaDQg LXAxIC1iIC5zb19saWJfNzU1CiAjICVwYXRjaDUgLXAxIC1iIC5mYWxzZV9zZWN1cml0eQpAQCAt MTY3LDM1ICsxNjUsMTkgQEAgV2luZG93cyBOVC8yMDAwL1hQKS4KICMgJXBhdGNoOSAtcDEgLWIg LmNhcHRjaGFfcGVybXMKICMlcGF0Y2gxMCAtcDEgLWIgLnN5c3RlbWRfbm90aWZ5CiAKLSN0YXIg eHZmICV7UzoxfQogIyVwYXRjaDExIC1wMQogIyVwYXRjaDEzIC1wMQotJXBhdGNoMTQgLXAxCi0j dG91Y2ggZGVwcy8uZ290Ci0jdG91Y2ggZGVwcy8uYnVpbHQKIAogCiAlYnVpbGQKIGF1dG9yZWNv bmYgLWl2ZgogCi0jLi9hdXRvZ2VuLnNoCi0jIERpc2FibGVkOiAtLWVuYWJsZS1oaXBlIC0tZW5h YmxlLXJvc3Rlci1nYXRld2F5LXdvcmthcm91bmQgLS1lbmFibGUtdHJhbnNpZW50X3N1cGVydmlz b3JzIC0tZW5hYmxlLWZ1bGwteG1sIC0tZW5hYmxlLW1zc3FsIC0tZW5hYmxlLXRvb2xzIC0tZW5h YmxlLXJpYWsgLS1lbmFibGUtaHR0cAorIyBEaXNhYmxlZDogLS1lbmFibGUtaGlwZSAtLWVuYWJs ZS1yb3N0ZXItZ2F0ZXdheS13b3JrYXJvdW5kIC0tZW5hYmxlLXRyYW5zaWVudF9zdXBlcnZpc29y cworIyAgICAgICAgICAgLS1lbmFibGUtZnVsbC14bWwgLS1lbmFibGUtbXNzcWwgLS1lbmFibGUt dG9vbHMgLS1lbmFibGUtcmlhayAtLWVuYWJsZS1odHRwCiAlY29uZmlndXJlIC0tZW5hYmxlLW9k YmMgLS1lbmFibGUtbXlzcWwgLS1lbmFibGUtcGdzcWwgLS1lbmFibGUtcGFtIC0tZW5hYmxlLXps aWIgLS1lbmFibGUtaWNvbnYgLS1lbmFibGUtZGVidWcgLS1lbmFibGUtbGFnZXIgLS1saWJkaXI9 JXtfbGliZGlyfS9lcmxhbmcvbGliLyAtLXdpdGgtZXJsYW5nPSV7X2xpYmRpcn0vZXJsYW5nLwog bWtkaXIgZGVwcwogbWFrZSAtdCBkZXBzCiBtYWtlIHNyYyBSRUJBUj0lX19yZWJhcgotI3B1c2hk IGRvYwotIyVpZmFyY2ggJXtwb3dlcjY0fQotI3VsaW1pdCAtYQotI3VsaW1pdCAtSHMgNjU1MzYK LSN1bGltaXQgLVNzIDY1NTM2Ci0jJWVuZGlmCi0jIHJlbW92ZSBwcmUtYnVpbHQgZG9jcwotI3Jt IC1mIGRldi5odG1sIGZlYXR1cmVzLmh0bWwKLSMjIFNlZSB0aGlzIGxpbmsgLSBodHRwOi8vdGhy ZWFkLmdtYW5lLm9yZy9nbWFuZS5saW51eC5yZWRoYXQuZmVkb3JhLmRldmVsLzE5ODk1NC9mb2N1 cz0xOTg5NTcKLSNtYWtlIHJlbGVhc2UKLSNtYWtlIGh0bWwgcGRmCi0jcG9wZAogIyBtYWtlIGVk b2MKIAogCkBAIC0zNDcsMTggKzMyOSwxNSBAQCBmaSkKICVhdHRyKDc1MCxlamFiYmVyZCxlamFi YmVyZCkgJWRpciAvdmFyL2xvY2svZWphYmJlcmRjdGwKICVhdHRyKDc1MCxlamFiYmVyZCxlamFi YmVyZCkgJWRpciAvdmFyL2xvZy9lamFiYmVyZAogCi0jJWZpbGVzIGRvYwotIyVkb2MgZG9jLyou aHRtbAotIyVkb2MgZG9jLyoucG5nCi0jJWRvYyBkb2MvKi5wZGYKLSMlZG9jIGRvYy8qLnR4dAot CiAKICVjaGFuZ2Vsb2cKLSogRnJpIEFwciAxNSAyMDE2IFJhbmR5IEJhcmxvdyA8cmJhcmxvd0By ZWRoYXQuY29tPiAtIDE2LjAxLTUKKyogRnJpIEFwciAxNSAyMDE2IFJhbmR5IEJhcmxvdyA8cmJh cmxvd0ByZWRoYXQuY29tPiAtIDE2LjAyLTEKIC0gUmVtb3ZlIHRoZSBmaWx0ZXJfcHJvdmlkZXMg c3RhdGVtZW50LiBJdCBpcyBubyBsb25nZXIgbmVlZGVkLCBhbmQgaXQgaXMgc3VzcGVjdGVkIHRv IGNhdXNlCiAgIHByb2JsZW1zIHdpdGggQVJNIGRlcGVuZGVuY2llcy4KIAorKiBTdW4gTWFyIDA2 IDIwMTYgUmFuZHkgQmFybG93IDxyYmFybG93QHJlZGhhdC5jb20+IC0gMTYuMDItMQorLSBVcGRh dGUgdG8gMTYuMDIKKwogKiBTdW4gTWFyIDA2IDIwMTYgUmFuZHkgQmFybG93IDxyYmFybG93QHJl ZGhhdC5jb20+IC0gMTYuMDEtNAogLSBSdW4gZWphYmJlcmRjdGwgd2l0aCBiYXNoIHdoZW4gc3Rv cHBpbmcgaW4gdGhlIHVuaXQgZmlsZSAoIzEzMTQ3NTMpLgogCgpkaWZmIC0tZ2l0IGEvc291cmNl cyBiL3NvdXJjZXMKaW5kZXggMjA5YzNkZi4uNDJkOTEyNiAxMDA2NDQKLS0tIGEvc291cmNlcwor KysgYi9zb3VyY2VzCkBAIC0xICsxIEBACi1lZjdiZDYwOWUwNmFlYTExYTdhYmI2YTE3ODAxNmI3 ZSAgMTYuMDEudGFyLmd6CisxNjNjZGE5YjhlZTBiYWFhYjZiMTU0ZGU2NzhiMThjNyAgMTYuMDIu dGFyLmd6Cg==