From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Peter Lemenkov To: git-commits@fedoraproject.org Subject: [rpms/ejabberd] f45: Ejabberd ver. 14.07 Date: Wed, 23 Sep 2026 19:07:18 GMT Message-ID: <179019043815.1.9578464581190497222.rpms-ejabberd-145e11bc3af8@fedoraproject.org> List-ID: X-Git-Repo: rpms/ejabberd X-Git-Branch: f45 X-Git-Rev: 145e11bc3af88258d588f8a21c394bafce40a27f ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvZWphYmJlcmQKICAgICAgICAgICAgQnJhbmNoIDogZjQ1CiAgICAgICAgICAg IENvbW1pdCA6IDE0NWUxMWJjM2FmODgyNThkNTg4ZjhhMjFjMzk0YmFmY2U0MGEyN2YKICAgICAg ICAgICAgQXV0aG9yIDogUGV0ZXIgTGVtZW5rb3YgPGxlbWVua292QGdtYWlsLmNvbT4KICAgICAg ICAgICAgRGF0ZSAgIDogMjAxNC0wOC0zMVQxODo1Mjo1OSswNDowMAogICAgICAgICAgICBTdGF0 cyAgOiArMTkwMS8tMjcyMiBpbiAyNyBmaWxlKHMpCiAgICAgICAgICAgIFVSTCAgICA6IGh0dHBz Oi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvZWphYmJlcmQvYy8xNDVlMTFiYzNhZjg4MjU4 ZDU4OGY4YTIxYzM5NGJhZmNlNDBhMjdmP2JyYW5jaD1mNDUKCiAgICAgICAgICAgIExvZzoKICAg ICAgICAgICAgRWphYmJlcmQgdmVyLiAxNC4wNwoKU2lnbmVkLW9mZi1ieTogUGV0ZXIgTGVtZW5r b3YgPGxlbWVua292QGdtYWlsLmNvbT4KCi0tLQpkaWZmIC0tZ2l0IGEvLmdpdGlnbm9yZSBiLy5n aXRpZ25vcmUKaW5kZXggYjJiODRlYi4uMTU3ZjRkMSAxMDA2NDQKLS0tIGEvLmdpdGlnbm9yZQor KysgYi8uZ2l0aWdub3JlCkBAIC04LDMgKzgsNSBAQCBlamFiYmVyZC0yLjEuNS50YXIuZ3oKIC9w cm9jZXNzb25lLWVqYWJiZXJkLXYyLjEuMTItMC1nYzA1ODY4Ny50YXIuZ3oKIC9wcm9jZXNzb25l LWVqYWJiZXJkLXYyLjEuMTMtMC1nNWZlZWFjZi50YXIuZ3oKIC9lamFiYmVyZC12Mi4xLjEzLnRh ci5negorL2VqYWJiZXJkLTE0LjA3LnRhci5negorL2VqYWJiZXJkLXNyYy1kZXBzLnRhcgoKZGlm ZiAtLWdpdCBhL2VqYWJiZXJkLTAwMDEtRml4LVBBTS1zZXJ2aWNlLWV4YW1wbGUtbmFtZS10by1t YXRjaC1hY3R1YWwtb25lLnBhdGNoIGIvZWphYmJlcmQtMDAwMS1GaXgtUEFNLXNlcnZpY2UtZXhh bXBsZS1uYW1lLXRvLW1hdGNoLWFjdHVhbC1vbmUucGF0Y2gKaW5kZXggODg4M2YxNS4uMTgxNmI5 NCAxMDA2NDQKLS0tIGEvZWphYmJlcmQtMDAwMS1GaXgtUEFNLXNlcnZpY2UtZXhhbXBsZS1uYW1l LXRvLW1hdGNoLWFjdHVhbC1vbmUucGF0Y2gKKysrIGIvZWphYmJlcmQtMDAwMS1GaXgtUEFNLXNl cnZpY2UtZXhhbXBsZS1uYW1lLXRvLW1hdGNoLWFjdHVhbC1vbmUucGF0Y2gKQEAgLTEsMjYgKzEs MTkgQEAKLUZyb20gYjNhNjEzMzBmNzMyODUwN2UxNjA4ZTQzN2ExNTJlODA2ZWY1MjBkMSBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IFBldGVyIExlbWVua292IDxsZW1lbmtvdkBnbWFp bC5jb20+CiBEYXRlOiBUdWUsIDE2IEZlYiAyMDEwIDE2OjAzOjM4ICswMzAwCi1TdWJqZWN0OiBb UEFUQ0ggMDEvMTBdIEZpeCBQQU0gc2VydmljZSBleGFtcGxlIG5hbWUgdG8gbWF0Y2ggYWN0dWFs IG9uZQorU3ViamVjdDogW1BBVENIXSBGaXggUEFNIHNlcnZpY2UgZXhhbXBsZSBuYW1lIHRvIG1h dGNoIGFjdHVhbCBvbmUKIAogU2lnbmVkLW9mZi1ieTogUGV0ZXIgTGVtZW5rb3YgPGxlbWVua292 QGdtYWlsLmNvbT4KLS0tLQotIHNyYy9lamFiYmVyZC5jZmcuZXhhbXBsZSB8IDIgKy0KLSAxIGZp bGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKIAotZGlmZiAtLWdpdCBh L3NyYy9lamFiYmVyZC5jZmcuZXhhbXBsZSBiL3NyYy9lamFiYmVyZC5jZmcuZXhhbXBsZQotaW5k ZXggYTQwNjhhZC4uOWIyNGE0YSAxMDA2NDQKLS0tLSBhL3NyYy9lamFiYmVyZC5jZmcuZXhhbXBs ZQotKysrIGIvc3JjL2VqYWJiZXJkLmNmZy5leGFtcGxlCi1AQCAtMjQzLDcgKzI0Myw3IEBACi0g JSUgQXV0aGVudGljYXRpb24gdXNpbmcgUEFNCi0gJSUKLSAlJXthdXRoX21ldGhvZCwgcGFtfS4K LS0lJXtwYW1fc2VydmljZSwgInBhbXNlcnZpY2VuYW1lIn0uCi0rJSV7cGFtX3NlcnZpY2UsICJl amFiYmVyZCJ9LgorZGlmZiAtLWdpdCBhL2VqYWJiZXJkLnltbC5leGFtcGxlIGIvZWphYmJlcmQu eW1sLmV4YW1wbGUKK2luZGV4IGFkNWNhOWUuLjAyODcwNGIgMTAwNjQ0CistLS0gYS9lamFiYmVy ZC55bWwuZXhhbXBsZQorKysrIGIvZWphYmJlcmQueW1sLmV4YW1wbGUKK0BAIC0yNDUsNyArMjQ1 LDcgQEAgYXV0aF9tZXRob2Q6IGludGVybmFsCisgIyMgQXV0aGVudGljYXRpb24gdXNpbmcgUEFN CisgIyMKKyAjIyBhdXRoX21ldGhvZDogcGFtCistIyMgcGFtX3NlcnZpY2U6ICJwYW1zZXJ2aWNl bmFtZSIKKysjIyBwYW1fc2VydmljZTogImVqYWJiZXJkIgogIAotICUlCi0gJSUgQXV0aGVudGlj YXRpb24gdXNpbmcgTERBUAotLS0gCi0xLjguMy4xCi0KKyAjIworICMjIEF1dGhlbnRpY2F0aW9u IHVzaW5nIExEQVAKCmRpZmYgLS1naXQgYS9lamFiYmVyZC0wMDAyLUZpeGVkLWRlbGF5cy1pbi1z MnMtY29ubmVjdGlvbnMucGF0Y2ggYi9lamFiYmVyZC0wMDAyLUZpeGVkLWRlbGF5cy1pbi1zMnMt Y29ubmVjdGlvbnMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg1NzIxMTEu LjAwMDAwMDAKLS0tIGEvZWphYmJlcmQtMDAwMi1GaXhlZC1kZWxheXMtaW4tczJzLWNvbm5lY3Rp b25zLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTMgKzAsMCBAQAotRnJvbSBlYzI2MjE4YzZm MjM3NGY0ZTM5ZTUwYzE5NDE1MDA2NWNjNWRhMjc1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQot RnJvbTogU2VyZ2VpIEdvbG92YW4gPHNnb2xvdmFuQG5lcy5ydT4KLURhdGU6IFR1ZSwgMTYgRmVi IDIwMTAgMTY6MDc6MzcgKzAzMDAKLVN1YmplY3Q6IFtQQVRDSCAwMi8xMF0gRml4ZWQgZGVsYXlz IGluIHMycyBjb25uZWN0aW9ucy4KLQotUGF0Y2ggYnkgU2VyZ2VpIEdvbG92YW4gaW5jcmVhc2Vz IHRpbWVvdXRzIGluIFMyUyBhbmQgcmVtb3ZlcyBob3JyaWJsZSA1LW1pbnV0ZQotZGVsYXkgYmV0 d2VlbiByZW1vdGUgc2VydmVyIGNvbm5lY3Rpb24gYXR0ZW1wdHMgYWZ0ZXIgYSBmYWx1cmUgKGlu IGNhc2Ugb2YKLXNlcnZlciBpcyBkb3duIGl0IHdvdWxkIGJlIHJlYXNvbmFibGUsIGJ1dCB3aGF0 IGhhcHBlbnMgbXVjaCBtb3JlIG9mdGVuIGlzIGEKLW5ldHdvcmsgc3BsaXQgd2hlbiB0aGUgZGVs YXkgaXMgaW5hZG1pc3NpYmxlKS4KLS0tLQotIHNyYy9lamFiYmVyZF9zMnNfaW4uZXJsICB8IDIg Ky0KLSBzcmMvZWphYmJlcmRfczJzX291dC5lcmwgfCA1ICsrKy0tCi0gMiBmaWxlcyBjaGFuZ2Vk LCA0IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvZWph YmJlcmRfczJzX2luLmVybCBiL3NyYy9lamFiYmVyZF9zMnNfaW4uZXJsCi1pbmRleCA2YWU0ZjM0 Li5hNTRlOWFiIDEwMDY0NAotLS0tIGEvc3JjL2VqYWJiZXJkX3Myc19pbi5lcmwKLSsrKyBiL3Ny Yy9lamFiYmVyZF9zMnNfaW4uZXJsCi1AQCAtNDE0LDcgKzQxNCw3IEBAIHN0cmVhbV9lc3RhYmxp c2hlZCh7eG1sc3RyZWFtZWxlbWVudCwgRWx9LCBTdGF0ZURhdGEpIC0+Ci0gICAgICAgICAgICAg Y2FzZSB7ZWphYmJlcmRfczJzOmFsbG93X2hvc3QoTFRvLCBMRnJvbSksCi0gICAgICAgICAgICAg ICAgICAgbGlzdHM6bWVtYmVyKExUbywgZWphYmJlcmRfcm91dGVyOmRpcnR5X2dldF9hbGxfZG9t YWlucygpKX0gb2YKLSAgICAgICAgICAgICAgICAge3RydWUsIHRydWV9IC0+Ci0tCQkgICAgZWph YmJlcmRfczJzX291dDp0ZXJtaW5hdGVfaWZfd2FpdGluZ19kZWxheShMVG8sIExGcm9tKSwKLSsJ CSAgICAlJWVqYWJiZXJkX3Myc19vdXQ6dGVybWluYXRlX2lmX3dhaXRpbmdfZGVsYXkoTFRvLCBM RnJvbSksCi0gCQkgICAgZWphYmJlcmRfczJzX291dDpzdGFydChMVG8sIExGcm9tLAotIAkJCQkJ ICAge3ZlcmlmeSwgc2VsZigpLAotIAkJCQkJICAgIEtleSwgU3RhdGVEYXRhI3N0YXRlLnN0cmVh bWlkfSksCi1kaWZmIC0tZ2l0IGEvc3JjL2VqYWJiZXJkX3Myc19vdXQuZXJsIGIvc3JjL2VqYWJi ZXJkX3Myc19vdXQuZXJsCi1pbmRleCAwZGVkYjRjLi45Mzc2ZDE2IDEwMDY0NAotLS0tIGEvc3Jj L2VqYWJiZXJkX3Myc19vdXQuZXJsCi0rKysgYi9zcmMvZWphYmJlcmRfczJzX291dC5lcmwKLUBA IC05Myw3ICs5Myw3IEBACi0gCQkJCQkJIFtGcm9tLCBIb3N0LCBUeXBlXSkpLgotIC1lbmRpZi4K LSAKLS0tZGVmaW5lKEZTTVRJTUVPVVQsIDMwMDAwKS4KLSstZGVmaW5lKEZTTVRJTUVPVVQsIDYw MDAwKS4KLSAKLSAlJSBXZSBkbyBub3QgYmxvY2sgb24gc2VuZCBhbnltb3JlLgotIC1kZWZpbmUo VENQX1NFTkRfVElNRU9VVCwgMTUwMDApLgotQEAgLTI0NSw3ICsyNDUsOCBAQCBvcGVuX3NvY2tl dChpbml0LCBTdGF0ZURhdGEpIC0+Ci0gCQkgICAgTmV3U3RhdGVEYXRhID0gU3RhdGVEYXRhI3N0 YXRle2JyaWRnZT17TW9kLCBGdW59fSwKLSAJCSAgICB7bmV4dF9zdGF0ZSwgcmVsYXlfdG9fYnJp ZGdlLCBOZXdTdGF0ZURhdGF9OwotIAkJXyAtPgotLQkJICAgIHdhaXRfYmVmb3JlX3JlY29ubmVj dChTdGF0ZURhdGEpCi0rCQkgICAgJSV3YWl0X2JlZm9yZV9yZWNvbm5lY3QoU3RhdGVEYXRhKQot KwkJICAgIHtzdG9wLCBub3JtYWwsIFN0YXRlRGF0YX0KLSAJICAgIGVuZAotICAgICBlbmQ7Ci0g b3Blbl9zb2NrZXQoY2xvc2VkLCBTdGF0ZURhdGEpIC0+Ci0tLSAKLTEuOC4zLjEKLQoKZGlmZiAt LWdpdCBhL2VqYWJiZXJkLTAwMDItSW50cm9kdWNpbmctbW9kX2FkbWluX2V4dHJhLnBhdGNoIGIv ZWphYmJlcmQtMDAwMi1JbnRyb2R1Y2luZy1tb2RfYWRtaW5fZXh0cmEucGF0Y2gKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTg2Y2VmYgotLS0gL2Rldi9udWxsCisrKyBiL2Vq YWJiZXJkLTAwMDItSW50cm9kdWNpbmctbW9kX2FkbWluX2V4dHJhLnBhdGNoCkBAIC0wLDAgKzEs MTYwOCBAQAorRnJvbTogQmFkbG9wIDxiYWRsb3BAcHJvY2Vzcy1vbmUubmV0PgorRGF0ZTogVHVl LCAxNiBGZWIgMjAxMCAxNjoxMjoxNyArMDMwMAorU3ViamVjdDogW1BBVENIXSBJbnRyb2R1Y2lu ZyBtb2RfYWRtaW5fZXh0cmEKKworQWRkcyB0aGUgbW9kX2FkbWluX2V4dHJhIG1vZHVsZSB0byBl amFiYmVyZC4KK1RoaXMgbW9kdWxlIGV4dGVuZHMgdGhlIGZ1bmN0aW9uYWxpdHkgcHJvdmlkZWQg YnkgZWphYmJlcmRjdGwKK2J5IGFkZGluZyBzZXZlcmFsIG5ldyBjb21tYW5kcy4KKworVGhlIGNv ZGUgaXMgdGFrZW4gZnJvbSB0aGUgUHJvY2Vzc09uZSByZXBvc2l0b3J5OgorCit3Z2V0IGh0dHBz Oi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9wcm9jZXNzb25lL2VqYWJiZXJkLWNvbnRyaWIv ZTIzYmY5NC9tb2RfYWRtaW5fZXh0cmEvc3JjL21vZF9hZG1pbl9leHRyYS5lcmwKKworZGlmZiAt LWdpdCBhL3NyYy9tb2RfYWRtaW5fZXh0cmEuZXJsIGIvc3JjL21vZF9hZG1pbl9leHRyYS5lcmwK K25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi42MzcwM2VjCistLS0gL2Rldi9u dWxsCisrKysgYi9zcmMvbW9kX2FkbWluX2V4dHJhLmVybAorQEAgLTAsMCArMSwxNTkwIEBACisr JSUlLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQorKyUlJSBGaWxlICAgIDogbW9kX2FkbWluX2V4dHJhLmVybAorKyUlJSBB dXRob3IgIDogQmFkbG9wIDxiYWRsb3BAcHJvY2Vzcy1vbmUubmV0PgorKyUlJSBQdXJwb3NlIDog Q29udHJpYnV0ZWQgYWRtaW5pc3RyYXRpdmUgZnVuY3Rpb25zIGFuZCBjb21tYW5kcworKyUlJSBD cmVhdGVkIDogMTAgQXVnIDIwMDggYnkgQmFkbG9wIDxiYWRsb3BAcHJvY2Vzcy1vbmUubmV0Pgor KyUlJQorKyUlJQorKyUlJSBlamFiYmVyZCwgQ29weXJpZ2h0IChDKSAyMDAyLTIwMDggICBQcm9j ZXNzT25lCisrJSUlCisrJSUlIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyslJSUgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKKyslJSUgcHVibGlzaGVkIGJ5IHRo ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlCisrJSUl IExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrJSUlCisr JSUlIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg YmUgdXNlZnVsLAorKyUlJSBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0 aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyUlJSBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorKyUlJSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrJSUlCisrJSUlIFlvdSBzaG91bGQgaGF2ZSBy ZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisrJSUlIGFs b25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJl CisrJSUlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0 b24sIE1BCisrJSUlIDAyMTExLTEzMDcgVVNBCisrJSUlCisrJSUlLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKworKy1t b2R1bGUobW9kX2FkbWluX2V4dHJhKS4KKystYXV0aG9yKCdiYWRsb3BAcHJvY2Vzcy1vbmUubmV0 JykuCisrCisrLWJlaGF2aW91cihnZW5fbW9kKS4KKysKKystZXhwb3J0KFtzdGFydC8yLCBzdG9w LzEsCisrCSAlJSBOb2RlCisrCSBjb21waWxlLzEsCisrCSBsb2FkX2NvbmZpZy8xLAorKwkgZ2V0 X2Nvb2tpZS8wLAorKwkgcmVtb3ZlX25vZGUvMSwKKysJIGV4cG9ydDJvZGJjLzIsCisrCSAlJSBB Y2NvdW50cworKwkgc2V0X3Bhc3N3b3JkLzMsCisrCSBjaGVja19wYXNzd29yZF9oYXNoLzQsCisr CSBkZWxldGVfb2xkX3VzZXJzLzEsCisrCSBkZWxldGVfb2xkX3VzZXJzX3Zob3N0LzIsCisrCSBi YW5fYWNjb3VudC8zLAorKwkgbnVtX2FjdGl2ZV91c2Vycy8yLAorKwkgJSUgU2Vzc2lvbnMKKysJ IG51bV9yZXNvdXJjZXMvMiwKKysJIHJlc291cmNlX251bS8zLAorKwkga2lja19zZXNzaW9uLzQs CisrCSBzdGF0dXNfbnVtLzIsIHN0YXR1c19udW0vMSwKKysJIHN0YXR1c19saXN0LzIsIHN0YXR1 c19saXN0LzEsCisrCSBjb25uZWN0ZWRfdXNlcnNfaW5mby8wLAorKwkgY29ubmVjdGVkX3VzZXJz X3Zob3N0LzEsCisrCSBzZXRfcHJlc2VuY2UvNywKKysJIHVzZXJfc2Vzc2lvbnNfaW5mby8yLAor KwkgJSUgVmNhcmQKKysJIHNldF9uaWNrbmFtZS8zLAorKwkgZ2V0X3ZjYXJkLzMsCisrCSBnZXRf dmNhcmQvNCwKKysJIGdldF92Y2FyZF9tdWx0aS80LAorKwkgc2V0X3ZjYXJkLzQsCisrCSBzZXRf dmNhcmQvNSwKKysJICUlIFJvc3RlcgorKwkgYWRkX3Jvc3Rlcml0ZW0vNywKKysJIGRlbGV0ZV9y b3N0ZXJpdGVtLzQsCisrCSBwcm9jZXNzX3Jvc3Rlcml0ZW1zLzUsCisrCSBnZXRfcm9zdGVyLzIs CisrCSBwdXNoX3Jvc3Rlci8zLAorKwkgcHVzaF9yb3N0ZXJfYWxsLzEsCisrCSBwdXNoX2FsbHRv YWxsLzIsCisrCSAlJSBtb2RfbGFzdAorKwkgZ2V0X2xhc3QvMiwKKysJIHNldF9sYXN0LzQsCisr CSAlJSBtb2RfcHJpdmF0ZQorKwkgcHJpdmF0ZV9nZXQvNCwKKysJIHByaXZhdGVfc2V0LzMsCisr CSAlJSBtb2Rfc2hhcmVkX3Jvc3RlcgorKwkgc3JnX2NyZWF0ZS81LAorKwkgc3JnX2RlbGV0ZS8y LAorKwkgc3JnX2xpc3QvMSwKKysJIHNyZ19nZXRfaW5mby8yLAorKwkgc3JnX2dldF9tZW1iZXJz LzIsCisrCSBzcmdfdXNlcl9hZGQvNCwKKysJIHNyZ191c2VyX2RlbC80LAorKwkgJSUgU3Rhbnph CisrCSBzZW5kX21lc3NhZ2VfaGVhZGxpbmUvNCwKKysJIHNlbmRfbWVzc2FnZV9jaGF0LzMsCisr CSBzZW5kX3N0YW56YV9jMnMvNCwKKysJIHByaXZhY3lfc2V0LzMsCisrCSAlJSBTdGF0cworKwkg c3RhdHMvMSwgc3RhdHMvMgorKwldKS4KKysKKystaW5jbHVkZSgiZWphYmJlcmQuaHJsIikuCisr LWluY2x1ZGUoImVqYWJiZXJkX2NvbW1hbmRzLmhybCIpLgorKy1pbmNsdWRlKCJtb2Rfcm9zdGVy LmhybCIpLgorKy1pbmNsdWRlKCJqbGliLmhybCIpLgorKworKyUlIENvcGllZCBmcm9tIGVqYWJi ZXJkX3NtLmVybAorKy1yZWNvcmQoc2Vzc2lvbiwge3NpZCwgdXNyLCB1cywgcHJpb3JpdHksIGlu Zm99KS4KKysKKysKKyslJSUKKyslJSUgZ2VuX21vZAorKyUlJQorKworK3N0YXJ0KF9Ib3N0LCBf T3B0cykgLT4KKysgICAgZWphYmJlcmRfY29tbWFuZHM6cmVnaXN0ZXJfY29tbWFuZHMoY29tbWFu ZHMoKSkuCisrCisrc3RvcChfSG9zdCkgLT4KKysgICAgZWphYmJlcmRfY29tbWFuZHM6dW5yZWdp c3Rlcl9jb21tYW5kcyhjb21tYW5kcygpKS4KKysKKysKKyslJSUKKyslJSUgUmVnaXN0ZXIgY29t bWFuZHMKKyslJSUKKysKKytjb21tYW5kcygpIC0+CisrICAgIFZjYXJkMUZpZWxkc1N0cmluZyA9 ICJTb21lIHZjYXJkIGZpZWxkIG5hbWVzIGluIGdldC9zZXRfdmNhcmQgYXJlOlxuIgorKwkiIEZO CQktIEZ1bGwgTmFtZVxuIgorKwkiIE5JQ0tOQU1FCS0gTmlja25hbWVcbiIKKysJIiBCREFZCQkt IEJpcnRoZGF5XG4iCisrCSIgVElUTEUJCS0gV29yazogUG9zaXRpb25cbiIKKysJIiBST0xFCQkt IFdvcms6IFJvbGUiLAorKworKyAgICBWY2FyZDJGaWVsZHNTdHJpbmcgPSAiU29tZSB2Y2FyZCBm aWVsZCBuYW1lcyBhbmQgc3VibmFtZXMgaW4gZ2V0L3NldF92Y2FyZDIgYXJlOlxuIgorKwkiIE4g RkFNSUxZCS0gRmFtaWx5IG5hbWVcbiIKKysJIiBOIEdJVkVOCS0gR2l2ZW4gbmFtZVxuIgorKwki IE4gTUlERExFCS0gTWlkZGxlIG5hbWVcbiIKKysJIiBBRFIgQ1RSWQktIEFkZHJlc3M6IENvdW50 cnlcbiIKKysJIiBBRFIgTE9DQUxJVFkJLSBBZGRyZXNzOiBDaXR5XG4iCisrCSIgRU1BSUwgVVNF UklECS0gRS1NYWlsIEFkZHJlc3NcbiIKKysJIiBPUkcgT1JHTkFNRQktIFdvcms6IENvbXBhbnlc biIKKysJIiBPUkcgT1JHVU5JVAktIFdvcms6IERlcGFydG1lbnQiLAorKworKyAgICBWY2FyZFhF UCA9ICJGb3IgYSBmdWxsIGxpc3Qgb2YgdkNhcmQgZmllbGRzIGNoZWNrIFhFUC0wMDU0OiB2Y2Fy ZC10ZW1wIGF0ICIKKysJImh0dHA6Ly93d3cueG1wcC5vcmcvZXh0ZW5zaW9ucy94ZXAtMDA1NC5o dG1sIiwKKysKKysgICAgWworKyAgICAgI2VqYWJiZXJkX2NvbW1hbmRze25hbWUgPSBjb21waWxl LCB0YWdzID0gW2VybGFuZ10sCisrCQkJZGVzYyA9ICJSZWNvbXBpbGUgYW5kIHJlbG9hZCBFcmxh bmcgc291cmNlIGNvZGUgZmlsZSIsCisrCQkJbW9kdWxlID0gP01PRFVMRSwgZnVuY3Rpb24gPSBj b21waWxlLAorKwkJCWFyZ3MgPSBbe2ZpbGUsIHN0cmluZ31dLAorKwkJCXJlc3VsdCA9IHtyZXMs IHJlc2NvZGV9fSwKKysgICAgICNlamFiYmVyZF9jb21tYW5kc3tuYW1lID0gbG9hZF9jb25maWcs IHRhZ3MgPSBbc2VydmVyXSwKKysJCQlkZXNjID0gIkxvYWQgZWphYmJlcmQgY29uZmlndXJhdGlv biBmaWxlIiwKKysJCQltb2R1bGUgPSA/TU9EVUxFLCBmdW5jdGlvbiA9IGxvYWRfY29uZmlnLAor KwkJCWFyZ3MgPSBbe2ZpbGUsIHN0cmluZ31dLAorKwkJCXJlc3VsdCA9IHtyZXMsIHJlc2NvZGV9 fSwKKysgICAgICNlamFiYmVyZF9jb21tYW5kc3tuYW1lID0gZ2V0X2Nvb2tpZSwgdGFncyA9IFtl cmxhbmddLAorKwkJCWRlc2MgPSAiR2V0IHRoZSBFcmxhbmcgY29va2llIG9mIHRoaXMgbm9kZSIs CisrCQkJbW9kdWxlID0gP01PRFVMRSwgZnVuY3Rpb24gPSBnZXRfY29va2llLAorKwkJCWFyZ3Mg PSBbXSwKKysJCQlyZXN1bHQgPSB7Y29va2llLCBzdHJpbmd9fSwKKysgICAgICNlamFiYmVyZF9j b21tYW5kc3tuYW1lID0gcmVtb3ZlX25vZGUsIHRhZ3MgPSBbZXJsYW5nXSwKKysJCQlkZXNjID0g IlJlbW92ZSBhbiBlamFiYmVyZCBub2RlIGZyb20gTW5lc2lhIGNsdXN0ZXJpbmcgY29uZmlnIiwK KysJCQltb2R1bGUgPSA/TU9EVUxFLCBmdW5jdGlvbiA9IHJlbW92ZV9ub2RlLAorKwkJCWFyZ3Mg PSBbe25vZGUsIHN0cmluZ31dLAorKwkJCXJlc3VsdCA9IHtyZXMsIHJlc2NvZGV9fSwKKysgICAg ICNlamFiYmVyZF9jb21tYW5kc3tuYW1lID0gZXhwb3J0Mm9kYmMsIHRhZ3MgPSBbbW5lc2lhXSwg JSUgQ29waWVkIHRvIGVqYWJiZXJkIDIuMS54IGFmdGVyIDExCisrCQkJZGVzYyA9ICJFeHBvcnQg TW5lc2lhIHRhYmxlcyB0byBmaWxlcyBpbiBkaXJlY3RvcnkiLAorKwkJCW1vZHVsZSA9ID9NT0RV TEUsIGZ1bmN0aW9uID0gZXhwb3J0Mm9kYmMsCisrCQkJYXJncyA9IFt7aG9zdCwgc3RyaW5nfSwg e3BhdGgsIHN0cmluZ31dLAorKwkJCXJlc3VsdCA9IHtyZXMsIHJlc2NvZGV9fSwKKysKKysgICAg ICNlamFiYmVyZF9jb21tYW5kc3tuYW1lID0gbnVtX2FjdGl2ZV91c2VycywgdGFncyA9IFthY2Nv dW50cywgc3RhdHNdLAorKwkJCWRlc2MgPSAiR2V0IG51bWJlciBvZiB1c2VycyBhY3RpdmUgaW4g dGhlIGxhc3QgZGF5cyIsCisrCQkJbW9kdWxlID0gP01PRFVMRSwgZnVuY3Rpb24gPSBudW1fYWN0 aXZlX3VzZXJzLAorKwkJCWFyZ3MgPSBbe2hvc3QsIGJpbmFyeX0sIHtkYXlzLCBpbnRlZ2VyfV0s CisrCQkJcmVzdWx0ID0ge3VzZXJzLCBpbnRlZ2VyfX0sCisrICAgICAjZWphYmJlcmRfY29tbWFu ZHN7bmFtZSA9IGRlbGV0ZV9vbGRfdXNlcnMsIHRhZ3MgPSBbYWNjb3VudHMsIHB1cmdlXSwKKysJ CQlkZXNjID0gIkRlbGV0ZSB1c2VycyB0aGF0IGRpZG4ndCBsb2cgaW4gbGFzdCBkYXlzLCBvciB0 aGF0IG5ldmVyIGxvZ2dlZCIsCisrCQkJbW9kdWxlID0gP01PRFVMRSwgZnVuY3Rpb24gPSBkZWxl dGVfb2xkX3VzZXJzLAorKwkJCWFyZ3MgPSBbe2RheXMsIGludGVnZXJ9XSwKKysJCQlyZXN1bHQg PSB7cmVzLCByZXN0dXBsZX19LAorKyAgICAgI2VqYWJiZXJkX2NvbW1hbmRze25hbWUgPSBkZWxl dGVfb2xkX3VzZXJzX3Zob3N0LCB0YWdzID0gW2FjY291bnRzLCBwdXJnZV0sCisrCQkJZGVzYyA9 ICJEZWxldGUgdXNlcnMgdGhhdCBkaWRuJ3QgbG9nIGluIGxhc3QgZGF5cyBpbiB2aG9zdCwgb3Ig dGhhdCBuZXZlciBsb2dnZWQiLAorKwkJCW1vZHVsZSA9ID9NT0RVTEUsIGZ1bmN0aW9uID0gZGVs ZXRlX29sZF91c2Vyc192aG9zdCwKKysJCQlhcmdzID0gW3tob3N0LCBiaW5hcnl9LCB7ZGF5cywg aW50ZWdlcn1dLAorKwkJCXJlc3VsdCA9IHtyZXMsIHJlc3R1cGxlfX0sCisrCisrICAgICAjZWph YmJlcmRfY29tbWFuZHN7bmFtZSA9IGNoZWNrX2FjY291bnQsIHRhZ3MgPSBbYWNjb3VudHNdLAor KwkJCWRlc2MgPSAiQ2hlY2sgaWYgYW4gYWNjb3VudCBleGlzdHMgb3Igbm90IiwKKysJCQltb2R1 bGUgPSBlamFiYmVyZF9hdXRoLCBmdW5jdGlvbiA9IGlzX3VzZXJfZXhpc3RzLAorKwkJCWFyZ3Mg PSBbe3VzZXIsIGJpbmFyeX0sIHtob3N0LCBiaW5hcnl9XSwKKysJCQlyZXN1bHQgPSB7cmVzLCBy ZXNjb2RlfX0sCisrICAgICAjZWphYmJlcmRfY29tbWFuZHN7bmFtZSA9IGNoZWNrX3Bhc3N3b3Jk LCB0YWdzID0gW2FjY291bnRzXSwKKysJCQlkZXNjID0gIkNoZWNrIGlmIGEgcGFzc3dvcmQgaXMg Y29ycmVjdCIsCisrCQkJbW9kdWxlID0gZWphYmJlcmRfYXV0aCwgZnVuY3Rpb24gPSBjaGVja19w YXNzd29yZCwKKysJCQlhcmdzID0gW3t1c2VyLCBiaW5hcnl9LCB7aG9zdCwgYmluYXJ5fSwge3Bh c3N3b3JkLCBiaW5hcnl9XSwKKysJCQlyZXN1bHQgPSB7cmVzLCByZXNjb2RlfX0sCisrICAgICAj ZWphYmJlcmRfY29tbWFuZHN7bmFtZSA9IGNoZWNrX3Bhc3N3b3JkX2hhc2gsIHRhZ3MgPSBbYWNj b3VudHNdLAorKwkJCWRlc2MgPSAiQ2hlY2sgaWYgdGhlIHBhc3N3b3JkIGhhc2ggaXMgY29ycmVj dCIsCisrCQkJbG9uZ2Rlc2MgPSAiQWxsb3dlZCBoYXNoIG1ldGhvZHM6IG1kNSwgc2hhLiIsCisr CQkJbW9kdWxlID0gP01PRFVMRSwgZnVuY3Rpb24gPSBjaGVja19wYXNzd29yZF9oYXNoLAorKwkJ CWFyZ3MgPSBbe3VzZXIsIGJpbmFyeX0sIHtob3N0LCBiaW5hcnl9LCB7cGFzc3dvcmRoYXNoLCBi aW5hcnl9LCB7aGFzaG1ldGhvZCwgYmluYXJ5fV0sCisrCQkJcmVzdWx0ID0ge3JlcywgcmVzY29k ZX19LAorKyAgICAgI2VqYWJiZXJkX2NvbW1hbmRze25hbWUgPSBjaGFuZ2VfcGFzc3dvcmQsIHRh Z3MgPSBbYWNjb3VudHNdLAorKwkJCWRlc2MgPSAiQ2hhbmdlIHRoZSBwYXNzd29yZCBvZiBhbiBh Y2NvdW50IiwKKysJCQltb2R1bGUgPSA/TU9EVUxFLCBmdW5jdGlvbiA9IHNldF9wYXNzd29yZCwK KysJCQlhcmdzID0gW3t1c2VyLCBiaW5hcnl9LCB7aG9zdCwgYmluYXJ5fSwge25ld3Bhc3MsIGJp bmFyeX1dLAorKwkJCXJlc3VsdCA9IHtyZXMsIHJlc2NvZGV9fSwKKysgICAgICNlamFiYmVyZF9j b21tYW5kc3tuYW1lID0gYmFuX2FjY291bnQsIHRhZ3MgPSBbYWNjb3VudHNdLAorKwkJCWRlc2Mg PSAiQmFuIGFuIGFjY291bnQ6IGtpY2sgc2Vzc2lvbnMgYW5kIHNldCByYW5kb20gcGFzc3dvcmQi LAorKwkJCW1vZHVsZSA9ID9NT0RVTEUsIGZ1bmN0aW9uID0gYmFuX2FjY291bnQsCisrCQkJYXJn cyA9IFt7dXNlciwgYmluYXJ5fSwge2hvc3QsIGJpbmFyeX0sIHtyZWFzb24sIGJpbmFyeX1dLAor KwkJCXJlc3VsdCA9IHtyZXMsIHJlc2NvZGV9fSwKKysKKysgICAgICNlamFiYmVyZF9jb21tYW5k c3tuYW1lID0gbnVtX3Jlc291cmNlcywgdGFncyA9IFtzZXNzaW9uXSwKKysJCQlkZXNjID0gIkdl dCB0aGUgbnVtYmVyIG9mIHJlc291cmNlcyBvZiBhIHVzZXIiLAorKwkJCW1vZHVsZSA9ID9NT0RV TEUsIGZ1bmN0aW9uID0gbnVtX3Jlc291cmNlcywKKysJCQlhcmdzID0gW3t1c2VyLCBiaW5hcnl9 LCB7aG9zdCwgYmluYXJ5fV0sCisrCQkJcmVzdWx0ID0ge3Jlc291cmNlcywgaW50ZWdlcn19LAor KyAgICAgI2VqYWJiZXJkX2NvbW1hbmRze25hbWUgPSByZXNvdXJjZV9udW0sIHRhZ3MgPSBbc2Vz c2lvbl0sCisrCQkJZGVzYyA9ICJSZXNvdXJjZSBzdHJpbmcgb2YgYSBzZXNzaW9uIG51bWJlciIs CisrCQkJbW9kdWxlID0gP01PRFVMRSwgZnVuY3Rpb24gPSByZXNvdXJjZV9udW0sCisrCQkJYXJn cyA9IFt7dXNlciwgYmluYXJ5fSwge2hvc3QsIGJpbmFyeX0sIHtudW0sIGludGVnZXJ9XSwKKysJ CQlyZXN1bHQgPSB7cmVzb3VyY2UsIHN0cmluZ319LAorKyAgICAgI2VqYWJiZXJkX2NvbW1hbmRz e25hbWUgPSBraWNrX3Nlc3Npb24sIHRhZ3MgPSBbc2Vzc2lvbl0sCisrCQkJZGVzYyA9ICJLaWNr IGEgdXNlciBzZXNzaW9uIiwKKysJCQltb2R1bGUgPSA/TU9EVUxFLCBmdW5jdGlvbiA9IGtpY2tf c2Vzc2lvbiwKKysJCQlhcmdzID0gW3t1c2VyLCBiaW5hcnl9LCB7aG9zdCwgYmluYXJ5fSwge3Jl c291cmNlLCBiaW5hcnl9LCB7cmVhc29uLCBiaW5hcnl9XSwKKysJCQlyZXN1bHQgPSB7cmVzLCBy ZXNjb2RlfX0sCisrICAgICAjZWphYmJlcmRfY29tbWFuZHN7bmFtZSA9IHN0YXR1c19udW1faG9z dCwgdGFncyA9IFtzZXNzaW9uLCBzdGF0c10sCisrCQkJZGVzYyA9ICJOdW1iZXIgb2YgbG9nZ2Vk IHVzZXJzIHdpdGggdGhpcyBzdGF0dXMgaW4gaG9zdCIsCisrCQkJbW9kdWxlID0gP01PRFVMRSwg ZnVuY3Rpb24gPSBzdGF0dXNfbnVtLAorKwkJCWFyZ3MgPSBbe2hvc3QsIGJpbmFyeX0sIHtzdGF0 dXMsIGJpbmFyeX1dLAorKwkJCXJlc3VsdCA9IHt1c2VycywgaW50ZWdlcn19LAorKyAgICAgI2Vq YWJiZXJkX2NvbW1hbmRze25hbWUgPSBzdGF0dXNfbnVtLCB0YWdzID0gW3Nlc3Npb24sIHN0YXRz XSwKKysJCQlkZXNjID0gIk51bWJlciBvZiBsb2dnZWQgdXNlcnMgd2l0aCB0aGlzIHN0YXR1cyIs CisrCQkJbW9kdWxlID0gP01PRFVMRSwgZnVuY3Rpb24gPSBzdGF0dXNfbnVtLAorKwkJCWFyZ3Mg PSBbe3N0YXR1cywgYmluYXJ5fV0sCisrCQkJcmVzdWx0ID0ge3VzZXJzLCBpbnRlZ2VyfX0sCisr ICAgICAjZWphYmJlcmRfY29tbWFuZHN7bmFtZSA9IHN0YXR1c19saXN0X2hvc3QsIHRhZ3MgPSBb c2Vzc2lvbl0sCisrCQkJZGVzYyA9ICJMaXN0IG9mIHVzZXJzIGxvZ2dlZCBpbiBob3N0IHdpdGgg dGhlaXIgc3RhdHVzZXMiLAorKwkJCW1vZHVsZSA9ID9NT0RVTEUsIGZ1bmN0aW9uID0gc3RhdHVz X2xpc3QsCisrCQkJYXJncyA9IFt7aG9zdCwgYmluYXJ5fSwge3N0YXR1cywgYmluYXJ5fV0sCisr CQkJcmVzdWx0ID0ge3VzZXJzLCB7bGlzdCwKKysJCQkJCSAge3VzZXJzdGF0dXMsIHt0dXBsZSwg WworKwkJCQkJCQkJe3VzZXIsIHN0cmluZ30sCisrCQkJCQkJCQl7aG9zdCwgc3RyaW5nfSwKKysJ CQkJCQkJCXtyZXNvdXJjZSwgc3RyaW5nfSwKKysJCQkJCQkJCXtwcmlvcml0eSwgaW50ZWdlcn0s CisrCQkJCQkJCQl7c3RhdHVzLCBzdHJpbmd9CisrCQkJCQkJCSAgICAgICBdfX0KKysJCQkJCSB9 fX0sCisrICAgICAjZWphYmJlcmRfY29tbWFuZHN7bmFtZSA9IHN0YXR1c19saXN0LCB0YWdzID0g W3Nlc3Npb25dLAorKwkJCWRlc2MgPSAiTGlzdCBvZiBsb2dnZWQgdXNlcnMgd2l0aCB0aGlzIHN0 YXR1cyIsCisrCQkJbW9kdWxlID0gP01PRFVMRSwgZnVuY3Rpb24gPSBzdGF0dXNfbGlzdCwKKysJ CQlhcmdzID0gW3tzdGF0dXMsIGJpbmFyeX1dLAorKwkJCXJlc3VsdCA9IHt1c2Vycywge2xpc3Qs CisrCQkJCQkgIHt1c2Vyc3RhdHVzLCB7dHVwbGUsIFsKKysJCQkJCQkJCXt1c2VyLCBzdHJpbmd9 LAorKwkJCQkJCQkJe2hvc3QsIHN0cmluZ30sCisrCQkJCQkJCQl7cmVzb3VyY2UsIHN0cmluZ30s CisrCQkJCQkJCQl7cHJpb3JpdHksIGludGVnZXJ9LAorKwkJCQkJCQkJe3N0YXR1cywgc3RyaW5n fQorKwkJCQkJCQkgICAgICAgXX19CisrCQkJCQkgfX19LAorKyAgICAgI2VqYWJiZXJkX2NvbW1h bmRze25hbWUgPSBjb25uZWN0ZWRfdXNlcnNfaW5mbywKKysJCQl0YWdzID0gW3Nlc3Npb25dLAor KwkJCWRlc2MgPSAiTGlzdCBhbGwgZXN0YWJsaXNoZWQgc2Vzc2lvbnMgYW5kIHRoZWlyIGluZm9y bWF0aW9uIiwKKysJCQltb2R1bGUgPSA/TU9EVUxFLCBmdW5jdGlvbiA9IGNvbm5lY3RlZF91c2Vy c19pbmZvLAorKwkJCWFyZ3MgPSBbXSwKKysJCQlyZXN1bHQgPSB7Y29ubmVjdGVkX3VzZXJzX2lu Zm8sCisrCQkJCSAge2xpc3QsCisrCQkJCSAgIHtzZXNzaW9ucywge3R1cGxlLAorKwkJCQkJICAg ICAgIFt7amlkLCBzdHJpbmd9LAorKwkJCQkJCXtjb25uZWN0aW9uLCBzdHJpbmd9LAorKwkJCQkJ CXtpcCwgc3RyaW5nfSwKKysJCQkJCQl7cG9ydCwgaW50ZWdlcn0sCisrCQkJCQkJe3ByaW9yaXR5 LCBpbnRlZ2VyfSwKKysJCQkJCQl7bm9kZSwgc3RyaW5nfSwKKysJCQkJCQl7dXB0aW1lLCBpbnRl Z2VyfQorKwkJCQkJICAgICAgIF19fQorKwkJCQkgIH19fSwKKysgICAgICNlamFiYmVyZF9jb21t YW5kc3tuYW1lID0gY29ubmVjdGVkX3VzZXJzX3Zob3N0LAorKyAgICAgICAgICAgICAgICAgICAg ICAgdGFncyA9IFtzZXNzaW9uXSwKKysgICAgICAgICAgICAgICAgICAgICAgIGRlc2MgPSAiR2V0 IHRoZSBsaXN0IG9mIGVzdGFibGlzaGVkIHNlc3Npb25zIGluIGEgdmhvc3QiLAorKyAgICAgICAg ICAgICAgICAgICAgICAgbW9kdWxlID0gP01PRFVMRSwgZnVuY3Rpb24gPSBjb25uZWN0ZWRfdXNl cnNfdmhvc3QsCisrICAgICAgICAgICAgICAgICAgICAgICBhcmdzID0gW3tob3N0LCBzdHJpbmd9 XSwKKysgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IHtjb25uZWN0ZWRfdXNlcnNfdmhv c3QsIHtsaXN0LCB7c2Vzc2lvbnMsIHN0cmluZ319fX0sCisrICAgICAjZWphYmJlcmRfY29tbWFu ZHN7bmFtZSA9IHVzZXJfc2Vzc2lvbnNfaW5mbywKKysJCQl0YWdzID0gW3Nlc3Npb25dLAorKwkJ CWRlc2MgPSAiR2V0IGluZm9ybWF0aW9uIGFib3V0IGFsbCBzZXNzaW9ucyBvZiBhIHVzZXIiLAor KwkJCW1vZHVsZSA9ID9NT0RVTEUsIGZ1bmN0aW9uID0gdXNlcl9zZXNzaW9uc19pbmZvLAorKwkJ CWFyZ3MgPSBbe3VzZXIsIHN0cmluZ30sIHtob3N0LCBzdHJpbmd9XSwKKysJCQlyZXN1bHQgPSB7 c2Vzc2lvbnNfaW5mbywKKysJCQkJICB7bGlzdCwKKysJCQkJICAge3Nlc3Npb24sIHt0dXBsZSwK KysJCQkJCSAgICAgIFt7Y29ubmVjdGlvbiwgc3RyaW5nfSwKKysJCQkJCSAgICAgICB7aXAsIHN0 cmluZ30sCisrCQkJCQkgICAgICAge3BvcnQsIGludGVnZXJ9LAorKwkJCQkJICAgICAgIHtwcmlv cml0eSwgaW50ZWdlcn0sCisrCQkJCQkgICAgICAge25vZGUsIHN0cmluZ30sCisrCQkJCQkgICAg ICAge3VwdGltZSwgaW50ZWdlcn0sCisrCQkJCQkgICAgICAge3N0YXR1cywgc3RyaW5nfSwKKysJ CQkJCSAgICAgICB7cmVzb3VyY2UsIHN0cmluZ30sCisrCQkJCQkgICAgICAge3N0YXR1c3RleHQs IHN0cmluZ30KKysJCQkJCSAgICAgIF19fQorKwkJCQkgIH19fSwKKysKKysgICAgICNlamFiYmVy ZF9jb21tYW5kc3tuYW1lID0gc2V0X3ByZXNlbmNlLAorKwkJCXRhZ3MgPSBbc2Vzc2lvbl0sCisr CQkJZGVzYyA9ICJTZXQgcHJlc2VuY2Ugb2YgYSBzZXNzaW9uIiwKKysJCQltb2R1bGUgPSA/TU9E VUxFLCBmdW5jdGlvbiA9IHNldF9wcmVzZW5jZSwKKysJCQlhcmdzID0gW3t1c2VyLCBzdHJpbmd9 LCB7aG9zdCwgc3RyaW5nfSwKKysJCQkJe3Jlc291cmNlLCBzdHJpbmd9LCB7dHlwZSwgc3RyaW5n fSwKKysJCQkJe3Nob3csIHN0cmluZ30sIHtzdGF0dXMsIHN0cmluZ30sCisrCQkJCXtwcmlvcml0 eSwgc3RyaW5nfV0sCisrCQkJcmVzdWx0ID0ge3JlcywgcmVzY29kZX19LAorKworKyAgICAgI2Vq YWJiZXJkX2NvbW1hbmRze25hbWUgPSBzZXRfbmlja25hbWUsIHRhZ3MgPSBbdmNhcmRdLAorKwkJ CWRlc2MgPSAiU2V0IG5pY2tuYW1lIGluIGEgdXNlcidzIHZDYXJkIiwKKysJCQltb2R1bGUgPSA/ TU9EVUxFLCBmdW5jdGlvbiA9IHNldF9uaWNrbmFtZSwKKysJCQlhcmdzID0gW3t1c2VyLCBzdHJp bmd9LCB7aG9zdCwgc3RyaW5nfSwge25pY2tuYW1lLCBzdHJpbmd9XSwKKysJCQlyZXN1bHQgPSB7 cmVzLCByZXNjb2RlfX0sCisrCisrICAgICAjZWphYmJlcmRfY29tbWFuZHN7bmFtZSA9IGdldF92 Y2FyZCwgdGFncyA9IFt2Y2FyZF0sCisrCQkJZGVzYyA9ICJHZXQgY29udGVudCBmcm9tIGEgdkNh cmQgZmllbGQiLAorKwkJCWxvbmdkZXNjID0gVmNhcmQxRmllbGRzU3RyaW5nICsrICJcbiIgKysg VmNhcmQyRmllbGRzU3RyaW5nICsrICJcblxuIiArKyBWY2FyZFhFUCwKKysJCQltb2R1bGUgPSA/ TU9EVUxFLCBmdW5jdGlvbiA9IGdldF92Y2FyZCwKKysJCQlhcmdzID0gW3t1c2VyLCBiaW5hcnl9 LCB7aG9zdCwgYmluYXJ5fSwge25hbWUsIGJpbmFyeX1dLAorKwkJCXJlc3VsdCA9IHtjb250ZW50 LCBzdHJpbmd9fSwKKysgICAgICNlamFiYmVyZF9jb21tYW5kc3tuYW1lID0gZ2V0X3ZjYXJkMiwg dGFncyA9IFt2Y2FyZF0sCisrCQkJZGVzYyA9ICJHZXQgY29udGVudCBmcm9tIGEgdkNhcmQgZmll bGQiLAorKwkJCWxvbmdkZXNjID0gVmNhcmQyRmllbGRzU3RyaW5nICsrICJcblxuIiArKyBWY2Fy ZDFGaWVsZHNTdHJpbmcgKysgIlxuIiArKyBWY2FyZFhFUCwKKysJCQltb2R1bGUgPSA/TU9EVUxF LCBmdW5jdGlvbiA9IGdldF92Y2FyZCwKKysJCQlhcmdzID0gW3t1c2VyLCBiaW5hcnl9LCB7aG9z dCwgYmluYXJ5fSwge25hbWUsIGJpbmFyeX0sIHtzdWJuYW1lLCBiaW5hcnl9XSwKKysJCQlyZXN1 bHQgPSB7Y29udGVudCwgc3RyaW5nfX0sCisrICAgICAjZWphYmJlcmRfY29tbWFuZHN7bmFtZSA9 IGdldF92Y2FyZDJfbXVsdGksIHRhZ3MgPSBbdmNhcmRdLAorKwkJCWRlc2MgPSAiR2V0IG11bHRp cGxlIGNvbnRlbnRzIGZyb20gYSB2Q2FyZCBmaWVsZCAocmVxdWlyZXMgZXhtcHAgaW5zdGFsbGVk KSIsCisrCQkJbG9uZ2Rlc2MgPSBWY2FyZDJGaWVsZHNTdHJpbmcgKysgIlxuXG4iICsrIFZjYXJk MUZpZWxkc1N0cmluZyArKyAiXG4iICsrIFZjYXJkWEVQLAorKwkJCW1vZHVsZSA9ID9NT0RVTEUs IGZ1bmN0aW9uID0gZ2V0X3ZjYXJkX211bHRpLAorKwkJCWFyZ3MgPSBbe3VzZXIsIGJpbmFyeX0s IHtob3N0LCBiaW5hcnl9LCB7bmFtZSwgYmluYXJ5fSwge3N1Ym5hbWUsIGJpbmFyeX1dLAorKwkJ CXJlc3VsdCA9IHtjb250ZW50cywge2xpc3QsIHN0cmluZ319fSwKKysKKysgICAgICNlamFiYmVy ZF9jb21tYW5kc3tuYW1lID0gc2V0X3ZjYXJkLCB0YWdzID0gW3ZjYXJkXSwKKysJCQlkZXNjID0g IlNldCBjb250ZW50IGluIGEgdkNhcmQgZmllbGQiLAorKwkJCWxvbmdkZXNjID0gVmNhcmQxRmll bGRzU3RyaW5nICsrICJcbiIgKysgVmNhcmQyRmllbGRzU3RyaW5nICsrICJcblxuIiArKyBWY2Fy ZFhFUCwKKysJCQltb2R1bGUgPSA/TU9EVUxFLCBmdW5jdGlvbiA9IHNldF92Y2FyZCwKKysJCQlh cmdzID0gW3t1c2VyLCBiaW5hcnl9LCB7aG9zdCwgYmluYXJ5fSwge25hbWUsIGJpbmFyeX0sIHtj b250ZW50LCBiaW5hcnl9XSwKKysJCQlyZXN1bHQgPSB7cmVzLCByZXNjb2RlfX0sCisrICAgICAj ZWphYmJlcmRfY29tbWFuZHN7bmFtZSA9IHNldF92Y2FyZDIsIHRhZ3MgPSBbdmNhcmRdLAorKwkJ CWRlc2MgPSAiU2V0IGNvbnRlbnQgaW4gYSB2Q2FyZCBzdWJmaWVsZCIsCisrCQkJbG9uZ2Rlc2Mg PSBWY2FyZDJGaWVsZHNTdHJpbmcgKysgIlxuXG4iICsrIFZjYXJkMUZpZWxkc1N0cmluZyArKyAi XG4iICsrIFZjYXJkWEVQLAorKwkJCW1vZHVsZSA9ID9NT0RVTEUsIGZ1bmN0aW9uID0gc2V0X3Zj YXJkLAorKwkJCWFyZ3MgPSBbe3VzZXIsIGJpbmFyeX0sIHtob3N0LCBiaW5hcnl9LCB7bmFtZSwg YmluYXJ5fSwge3N1Ym5hbWUsIGJpbmFyeX0sIHtjb250ZW50LCBiaW5hcnl9XSwKKysJCQlyZXN1 bHQgPSB7cmVzLCByZXNjb2RlfX0sCisrICAgICAjZWphYmJlcmRfY29tbWFuZHN7bmFtZSA9IHNl dF92Y2FyZDJfbXVsdGksIHRhZ3MgPSBbdmNhcmRdLAorKwkJCWRlc2MgPSAiU2V0IG11bHRpcGxl IGNvbnRlbnRzIGluIGEgdkNhcmQgc3ViZmllbGQiLAorKwkJCWxvbmdkZXNjID0gVmNhcmQyRmll bGRzU3RyaW5nICsrICJcblxuIiArKyBWY2FyZDFGaWVsZHNTdHJpbmcgKysgIlxuIiArKyBWY2Fy ZFhFUCwKKysJCQltb2R1bGUgPSA/TU9EVUxFLCBmdW5jdGlvbiA9IHNldF92Y2FyZCwKKysJCQlh cmdzID0gW3t1c2VyLCBiaW5hcnl9LCB7aG9zdCwgYmluYXJ5fSwge25hbWUsIGJpbmFyeX0sIHtz dWJuYW1lLCBiaW5hcnl9LCB7Y29udGVudHMsIHtsaXN0LCBiaW5hcnl9fV0sCisrCQkJcmVzdWx0 ID0ge3JlcywgcmVzY29kZX19LAorKworKyAgICAgI2VqYWJiZXJkX2NvbW1hbmRze25hbWUgPSBh ZGRfcm9zdGVyaXRlbSwgdGFncyA9IFtyb3N0ZXJdLAorKwkJCWRlc2MgPSAiQWRkIGFuIGl0ZW0g dG8gYSB1c2VyJ3Mgcm9zdGVyIChzdXBwb3J0cyBPREJDKSIsCisrCQkJbW9kdWxlID0gP01PRFVM RSwgZnVuY3Rpb24gPSBhZGRfcm9zdGVyaXRlbSwKKysJCQlhcmdzID0gW3tsb2NhbHVzZXIsIGJp bmFyeX0sIHtsb2NhbHNlcnZlciwgYmluYXJ5fSwKKysJCQkJe3VzZXIsIGJpbmFyeX0sIHtzZXJ2 ZXIsIGJpbmFyeX0sCisrCQkJCXtuaWNrLCBiaW5hcnl9LCB7Z3JvdXAsIGJpbmFyeX0sCisrCQkJ CXtzdWJzLCBiaW5hcnl9XSwKKysJCQlyZXN1bHQgPSB7cmVzLCByZXNjb2RlfX0sCisrICAgICAl JXsiIiwgInN1YnM9IG5vbmUsIGZyb20sIHRvIG9yIGJvdGgifSwKKysgICAgICUleyIiLCAiZXhh bXBsZTogYWRkLXJvc3RlciBwZXRlciBsb2NhbGhvc3QgbWlrZSBzZXJ2ZXIuY29tIE1pS2UgRW1w bG95ZWVzIGJvdGgifSwKKysgICAgICUleyIiLCAid2lsbCBhZGQgbWlrZUBzZXJ2ZXIuY29tIHRv IHBldGVyQGxvY2FsaG9zdCByb3N0ZXIifSwKKysgICAgICNlamFiYmVyZF9jb21tYW5kc3tuYW1l ID0gZGVsZXRlX3Jvc3Rlcml0ZW0sIHRhZ3MgPSBbcm9zdGVyXSwKKysJCQlkZXNjID0gIkRlbGV0 ZSBhbiBpdGVtIGZyb20gYSB1c2VyJ3Mgcm9zdGVyIChzdXBwb3J0cyBPREJDKSIsCisrCQkJbW9k dWxlID0gP01PRFVMRSwgZnVuY3Rpb24gPSBkZWxldGVfcm9zdGVyaXRlbSwKKysJCQlhcmdzID0g W3tsb2NhbHVzZXIsIGJpbmFyeX0sIHtsb2NhbHNlcnZlciwgYmluYXJ5fSwKKysJCQkJe3VzZXIs IGJpbmFyeX0sIHtzZXJ2ZXIsIGJpbmFyeX1dLAorKwkJCXJlc3VsdCA9IHtyZXMsIHJlc2NvZGV9 fSwKKysgICAgICNlamFiYmVyZF9jb21tYW5kc3tuYW1lID0gcHJvY2Vzc19yb3N0ZXJpdGVtcywg dGFncyA9IFtyb3N0ZXJdLAorKwkJCWRlc2MgPSAiTGlzdCBvciBkZWxldGUgcm9zdGVyaXRlbXMg dGhhdCBtYXRjaCBmaWx0ZXJpbmcgb3B0aW9ucyIsCisrCQkJbG9uZ2Rlc2MgPSAiRXhwbGFuYXRp b24gb2YgZWFjaCBhcmd1bWVudDpcbiIKKysJCQkiIC0gYWN0aW9uOiB3aGF0IHRvIGRvIHdpdGgg ZWFjaCByb3N0ZXJpdGVtIHRoYXQgIgorKwkJCSJtYXRjaGVzIGFsbCB0aGUgZmlsdGVyaW5nIG9w dGlvbnNcbiIKKysJCQkiIC0gc3Viczogc3Vic2NyaXB0aW9uIHR5cGVcbiIKKysJCQkiIC0gYXNr czogcGVuZGluZyBzdWJzY3JpcHRpb25cbiIKKysJCQkiIC0gdXNlcnM6IHRoZSBKSURzIG9mIHRo ZSBsb2NhbCB1c2VyXG4iCisrCQkJIiAtIGNvbnRhY3RzOiB0aGUgSklEcyBvZiB0aGUgY29udGFj dCBpbiB0aGUgcm9zdGVyXG4iCisrCQkJIlxuIgorKwkJCSJBbGxvd2VkIHZhbHVlcyBpbiB0aGUg YXJndW1lbnRzOlxuIgorKwkJCSIgIEFDVElPTiA9IGxpc3QgfCBkZWxldGVcbiIKKysJCQkiICBT VUJTID0gU1VCWzpTVUJdKiB8IGFueVxuIgorKwkJCSIgIFNVQiA9IG5vbmUgfCBmcm9tIHwgdG8g fCBib3RoXG4iCisrCQkJIiAgQVNLUyA9IEFTS1s6QVNLXSogfCBhbnlcbiIKKysJCQkiICBBU0sg PSBub25lIHwgb3V0IHwgaW5cbiIKKysJCQkiICBVU0VSUyA9IEpJRFs6SklEXSogfCBhbnlcbiIK KysJCQkiICBDT05UQUNUUyA9IEpJRFs6SklEXSogfCBhbnlcbiIKKysJCQkiICBKSUQgPSBjaGFy YWN0ZXJzIHZhbGlkIGluIGEgSklELCBhbmQgY2FuIHVzZSB0aGUgIgorKwkJCSJnbG9iczogKiwg PywgISBhbmQgWy4uLl1cbiIKKysJCQkiXG4iCisrCQkJIlRoaXMgZXhhbXBsZSB3aWxsIGxpc3Qg cm9zdGVyIGl0ZW1zIHdpdGggc3Vic2NyaXB0aW9uICIKKysJCQkiJ25vbmUnLCAnZnJvbScgb3Ig J3RvJyB0aGF0IGhhdmUgYW55IGFzayBwcm9wZXJ0eSwgb2YgIgorKwkJCSJsb2NhbCB1c2VycyB3 aGljaCBKSUQgaXMgaW4gdGhlIHZpcnR1YWwgaG9zdCAiCisrCQkJIidleGFtcGxlLm9yZycgYW5k IHRoYXQgdGhlIGNvbnRhY3QgSklEIGlzIGVpdGhlciBhICIKKysJCQkiYmFyZSBzZXJ2ZXIgbmFt ZSAod2l0aG91dCB1c2VyIHBhcnQpIG9yIHRoYXQgaGFzIGEgIgorKwkJCSJ1c2VyIHBhcnQgYW5k IHRoZSBzZXJ2ZXIgcGFydCBjb250YWlucyB0aGUgd29yZCAnaWNxJyIKKysJCQkiOlxuICBsaXN0 IG5vbmU6ZnJvbTp0byBhbnkgKkBleGFtcGxlLm9yZyAqOipAKmljcSoiLAorKwkJCW1vZHVsZSA9 ID9NT0RVTEUsIGZ1bmN0aW9uID0gcHJvY2Vzc19yb3N0ZXJpdGVtcywKKysJCQlhcmdzID0gW3th Y3Rpb24sIHN0cmluZ30sIHtzdWJzLCBzdHJpbmd9LAorKwkJCQl7YXNrcywgc3RyaW5nfSwge3Vz ZXJzLCBzdHJpbmd9LAorKwkJCQl7Y29udGFjdHMsIHN0cmluZ31dLAorKwkJCXJlc3VsdCA9IHty ZXNwb25zZSwKKysJCQkJICB7bGlzdCwKKysJCQkJICAge3BhaXJzLCB7dHVwbGUsCisrCQkJCQkg ICAgICAgW3t1c2VyLCBzdHJpbmd9LAorKwkJCQkJCXtjb250YWN0LCBzdHJpbmd9CisrCQkJCQkg ICAgICAgXX19CisrCQkJCSAgfX19LAorKyAgICAgI2VqYWJiZXJkX2NvbW1hbmRze25hbWUgPSBn ZXRfcm9zdGVyLCB0YWdzID0gW3Jvc3Rlcl0sCisrCQkJZGVzYyA9ICJHZXQgcm9zdGVyIG9mIGEg bG9jYWwgdXNlciIsCisrCQkJbW9kdWxlID0gP01PRFVMRSwgZnVuY3Rpb24gPSBnZXRfcm9zdGVy LAorKwkJCWFyZ3MgPSBbe3VzZXIsIGJpbmFyeX0sIHtob3N0LCBiaW5hcnl9XSwKKysJCQlyZXN1 bHQgPSB7Y29udGFjdHMsIHtsaXN0LCB7Y29udGFjdCwge3R1cGxlLCBbCisrCQkJCQkJCQkgICAg ICB7amlkLCBzdHJpbmd9LAorKwkJCQkJCQkJICAgICAge25pY2ssIHN0cmluZ30sCisrCQkJCQkJ CQkgICAgICB7c3Vic2NyaXB0aW9uLCBzdHJpbmd9LAorKwkJCQkJCQkJICAgICAge2Fzaywgc3Ry aW5nfSwKKysJCQkJCQkJCSAgICAgIHtncm91cCwgc3RyaW5nfQorKwkJCQkJCQkJICAgICBdfX19 fX0sCisrICAgICAjZWphYmJlcmRfY29tbWFuZHN7bmFtZSA9IHB1c2hfcm9zdGVyLCB0YWdzID0g W3Jvc3Rlcl0sCisrCQkJZGVzYyA9ICJQdXNoIHRlbXBsYXRlIHJvc3RlciBmcm9tIGZpbGUgdG8g YSB1c2VyIiwKKysJCQltb2R1bGUgPSA/TU9EVUxFLCBmdW5jdGlvbiA9IHB1c2hfcm9zdGVyLAor KwkJCWFyZ3MgPSBbe2ZpbGUsIHN0cmluZ30sIHt1c2VyLCBzdHJpbmd9LCB7aG9zdCwgc3RyaW5n fV0sCisrCQkJcmVzdWx0ID0ge3JlcywgcmVzY29kZX19LAorKyAgICAgI2VqYWJiZXJkX2NvbW1h bmRze25hbWUgPSBwdXNoX3Jvc3Rlcl9hbGwsIHRhZ3MgPSBbcm9zdGVyXSwKKysJCQlkZXNjID0g IlB1c2ggdGVtcGxhdGUgcm9zdGVyIGZyb20gZmlsZSB0byBhbGwgdGhvc2UgdXNlcnMiLAorKwkJ CW1vZHVsZSA9ID9NT0RVTEUsIGZ1bmN0aW9uID0gcHVzaF9yb3N0ZXJfYWxsLAorKwkJCWFyZ3Mg PSBbe2ZpbGUsIHN0cmluZ31dLAorKwkJCXJlc3VsdCA9IHtyZXMsIHJlc2NvZGV9fSwKKysgICAg ICNlamFiYmVyZF9jb21tYW5kc3tuYW1lID0gcHVzaF9hbGx0b2FsbCwgdGFncyA9IFtyb3N0ZXJd LAorKwkJCWRlc2MgPSAiQWRkIGFsbCB0aGUgdXNlcnMgdG8gYWxsIHRoZSB1c2VycyBvZiBIb3N0 IGluIEdyb3VwIiwKKysJCQltb2R1bGUgPSA/TU9EVUxFLCBmdW5jdGlvbiA9IHB1c2hfYWxsdG9h bGwsCisrCQkJYXJncyA9IFt7aG9zdCwgc3RyaW5nfSwge2dyb3VwLCBzdHJpbmd9XSwKKysJCQly ZXN1bHQgPSB7cmVzLCByZXNjb2RlfX0sCisrCisrICAgICAjZWphYmJlcmRfY29tbWFuZHN7bmFt ZSA9IGdldF9sYXN0LCB0YWdzID0gW2xhc3RdLAorKwkJCWRlc2MgPSAiR2V0IGxhc3QgYWN0aXZp dHkgaW5mb3JtYXRpb24iLAorKwkJCWxvbmdkZXNjID0gIlRpbWVzdGFtcCBpcyB0aGUgc2Vjb25k cyBzaW5jZSIKKysJCQkiMTk3MC0wMS0wMSAwMDowMDowMCBVVEMsIGZvciBleGFtcGxlOiBkYXRl ICslcyIsCisrCQkJbW9kdWxlID0gP01PRFVMRSwgZnVuY3Rpb24gPSBnZXRfbGFzdCwKKysJCQlh cmdzID0gW3t1c2VyLCBiaW5hcnl9LCB7aG9zdCwgYmluYXJ5fV0sCisrCQkJcmVzdWx0ID0ge2xh c3RfYWN0aXZpdHksIHN0cmluZ319LAorKyAgICAgI2VqYWJiZXJkX2NvbW1hbmRze25hbWUgPSBz ZXRfbGFzdCwgdGFncyA9IFtsYXN0XSwKKysJCQlkZXNjID0gIlNldCBsYXN0IGFjdGl2aXR5IGlu Zm9ybWF0aW9uIiwKKysJCQlsb25nZGVzYyA9ICJUaW1lc3RhbXAgaXMgdGhlIHNlY29uZHMgc2lu Y2UiCisrCQkJIjE5NzAtMDEtMDEgMDA6MDA6MDAgVVRDLCBmb3IgZXhhbXBsZTogZGF0ZSArJXMi LAorKwkJCW1vZHVsZSA9ID9NT0RVTEUsIGZ1bmN0aW9uID0gc2V0X2xhc3QsCisrCQkJYXJncyA9 IFt7dXNlciwgc3RyaW5nfSwge2hvc3QsIHN0cmluZ30sIHt0aW1lc3RhbXAsIGludGVnZXJ9LCB7 c3RhdHVzLCBzdHJpbmd9XSwKKysJCQlyZXN1bHQgPSB7cmVzLCByZXNjb2RlfX0sCisrCisrICAg ICAjZWphYmJlcmRfY29tbWFuZHN7bmFtZSA9IHByaXZhdGVfZ2V0LCB0YWdzID0gW3ByaXZhdGVd LAorKwkJCWRlc2MgPSAiR2V0IHNvbWUgaW5mb3JtYXRpb24gZnJvbSBhIHVzZXIgcHJpdmF0ZSBz dG9yYWdlIiwKKysJCQltb2R1bGUgPSA/TU9EVUxFLCBmdW5jdGlvbiA9IHByaXZhdGVfZ2V0LAor KwkJCWFyZ3MgPSBbe3VzZXIsIHN0cmluZ30sIHtob3N0LCBzdHJpbmd9LCB7ZWxlbWVudCwgc3Ry aW5nfSwge25zLCBzdHJpbmd9XSwKKysJCQlyZXN1bHQgPSB7cmVzLCBzdHJpbmd9fSwKKysgICAg ICNlamFiYmVyZF9jb21tYW5kc3tuYW1lID0gcHJpdmF0ZV9zZXQsIHRhZ3MgPSBbcHJpdmF0ZV0s CisrCQkJZGVzYyA9ICJTZXQgdG8gdGhlIHVzZXIgcHJpdmF0ZSBzdG9yYWdlIiwKKysJCQltb2R1 bGUgPSA/TU9EVUxFLCBmdW5jdGlvbiA9IHByaXZhdGVfc2V0LAorKwkJCWFyZ3MgPSBbe3VzZXIs IHN0cmluZ30sIHtob3N0LCBzdHJpbmd9LCB7ZWxlbWVudCwgc3RyaW5nfV0sCisrCQkJcmVzdWx0 ID0ge3JlcywgcmVzY29kZX19LAorKworKyAgICAgI2VqYWJiZXJkX2NvbW1hbmRze25hbWUgPSBz cmdfY3JlYXRlLCB0YWdzID0gW3NoYXJlZF9yb3N0ZXJfZ3JvdXBdLAorKwkJCWRlc2MgPSAiQ3Jl YXRlIGEgU2hhcmVkIFJvc3RlciBHcm91cCIsCisrCQkJbG9uZ2Rlc2MgPSAiSWYgeW91IHdhbnQg dG8gc3BlY2lmeSBzZXZlcmFsIGdyb3VwICIKKysJCQkiaWRlbnRpZmllcnMgaW4gdGhlIERpc3Bs YXkgYXJndW1lbnQsXG4iCisrCQkJInB1dCAgXFwgXCIgYXJvdW5kIHRoZSBhcmd1bWVudCBhbmRc bnNlcGFyYXRlIHRoZSAiCisrCQkJImlkZW50aWZpZXJzIHdpdGggXFwgXFwgblxuIgorKwkJCSJG b3IgZXhhbXBsZTpcbiIKKysJCQkiICBlamFiYmVyZGN0bCBzcmdfY3JlYXRlIGdyb3VwMyBsb2Nh bGhvc3QgIgorKwkJCSJuYW1lIGRlc2MgXFxcImdyb3VwMVxcXFxuZ3JvdXAyXFxcIiIsCisrCQkJ bW9kdWxlID0gP01PRFVMRSwgZnVuY3Rpb24gPSBzcmdfY3JlYXRlLAorKwkJCWFyZ3MgPSBbe2dy b3VwLCBiaW5hcnl9LCB7aG9zdCwgYmluYXJ5fSwKKysJCQkJe25hbWUsIGJpbmFyeX0sIHtkZXNj cmlwdGlvbiwgYmluYXJ5fSwge2Rpc3BsYXksIGJpbmFyeX1dLAorKwkJCXJlc3VsdCA9IHtyZXMs IHJlc2NvZGV9fSwKKysgICAgICNlamFiYmVyZF9jb21tYW5kc3tuYW1lID0gc3JnX2RlbGV0ZSwg dGFncyA9IFtzaGFyZWRfcm9zdGVyX2dyb3VwXSwKKysJCQlkZXNjID0gIkRlbGV0ZSBhIFNoYXJl ZCBSb3N0ZXIgR3JvdXAiLAorKwkJCW1vZHVsZSA9ID9NT0RVTEUsIGZ1bmN0aW9uID0gc3JnX2Rl bGV0ZSwKKysJCQlhcmdzID0gW3tncm91cCwgYmluYXJ5fSwge2hvc3QsIGJpbmFyeX1dLAorKwkJ CXJlc3VsdCA9IHtyZXMsIHJlc2NvZGV9fSwKKysgICAgICNlamFiYmVyZF9jb21tYW5kc3tuYW1l ID0gc3JnX2xpc3QsIHRhZ3MgPSBbc2hhcmVkX3Jvc3Rlcl9ncm91cF0sCisrCQkJZGVzYyA9ICJM aXN0IHRoZSBTaGFyZWQgUm9zdGVyIEdyb3VwcyBpbiBIb3N0IiwKKysJCQltb2R1bGUgPSA/TU9E VUxFLCBmdW5jdGlvbiA9IHNyZ19saXN0LAorKwkJCWFyZ3MgPSBbe2hvc3QsIGJpbmFyeX1dLAor KwkJCXJlc3VsdCA9IHtncm91cHMsIHtsaXN0LCB7aWQsIHN0cmluZ319fX0sCisrICAgICAjZWph YmJlcmRfY29tbWFuZHN7bmFtZSA9IHNyZ19nZXRfaW5mbywgdGFncyA9IFtzaGFyZWRfcm9zdGVy X2dyb3VwXSwKKysJCQlkZXNjID0gIkdldCBpbmZvIG9mIGEgU2hhcmVkIFJvc3RlciBHcm91cCIs CisrCQkJbW9kdWxlID0gP01PRFVMRSwgZnVuY3Rpb24gPSBzcmdfZ2V0X2luZm8sCisrCQkJYXJn cyA9IFt7Z3JvdXAsIGJpbmFyeX0sIHtob3N0LCBiaW5hcnl9XSwKKysJCQlyZXN1bHQgPSB7aW5m b3JtYXRpb25zLCB7bGlzdCwge2luZm9ybWF0aW9uLCB7dHVwbGUsIFt7a2V5LCBzdHJpbmd9LCB7 dmFsdWUsIHN0cmluZ31dfX19fX0sCisrICAgICAjZWphYmJlcmRfY29tbWFuZHN7bmFtZSA9IHNy Z19nZXRfbWVtYmVycywgdGFncyA9IFtzaGFyZWRfcm9zdGVyX2dyb3VwXSwKKysJCQlkZXNjID0g IkdldCBtZW1iZXJzIG9mIGEgU2hhcmVkIFJvc3RlciBHcm91cCIsCisrCQkJbW9kdWxlID0gP01P RFVMRSwgZnVuY3Rpb24gPSBzcmdfZ2V0X21lbWJlcnMsCisrCQkJYXJncyA9IFt7Z3JvdXAsIGJp bmFyeX0sIHtob3N0LCBiaW5hcnl9XSwKKysJCQlyZXN1bHQgPSB7bWVtYmVycywge2xpc3QsIHtt ZW1iZXIsIHN0cmluZ319fX0sCisrICAgICAjZWphYmJlcmRfY29tbWFuZHN7bmFtZSA9IHNyZ191 c2VyX2FkZCwgdGFncyA9IFtzaGFyZWRfcm9zdGVyX2dyb3VwXSwKKysJCQlkZXNjID0gIkFkZCB0 aGUgSklEIHVzZXJAaG9zdCB0byB0aGUgU2hhcmVkIFJvc3RlciBHcm91cCIsCisrCQkJbW9kdWxl ID0gP01PRFVMRSwgZnVuY3Rpb24gPSBzcmdfdXNlcl9hZGQsCisrCQkJYXJncyA9IFt7dXNlciwg YmluYXJ5fSwge2hvc3QsIGJpbmFyeX0sIHtncm91cCwgYmluYXJ5fSwge2dyb3VwaG9zdCwgYmlu YXJ5fV0sCisrCQkJcmVzdWx0ID0ge3JlcywgcmVzY29kZX19LAorKyAgICAgI2VqYWJiZXJkX2Nv bW1hbmRze25hbWUgPSBzcmdfdXNlcl9kZWwsIHRhZ3MgPSBbc2hhcmVkX3Jvc3Rlcl9ncm91cF0s CisrCQkJZGVzYyA9ICJEZWxldGUgdGhpcyBKSUQgdXNlckBob3N0IGZyb20gdGhlIFNoYXJlZCBS b3N0ZXIgR3JvdXAiLAorKwkJCW1vZHVsZSA9ID9NT0RVTEUsIGZ1bmN0aW9uID0gc3JnX3VzZXJf ZGVsLAorKwkJCWFyZ3MgPSBbe3VzZXIsIGJpbmFyeX0sIHtob3N0LCBiaW5hcnl9LCB7Z3JvdXAs IGJpbmFyeX0sIHtncm91cGhvc3QsIGJpbmFyeX1dLAorKwkJCXJlc3VsdCA9IHtyZXMsIHJlc2Nv ZGV9fSwKKysKKysgICAgICNlamFiYmVyZF9jb21tYW5kc3tuYW1lID0gc2VuZF9tZXNzYWdlX2No YXQsIHRhZ3MgPSBbc3RhbnphXSwKKysJCQlkZXNjID0gIlNlbmQgYSBjaGF0IG1lc3NhZ2UgdG8g YSBsb2NhbCBvciByZW1vdGUgYmFyZSBvZiBmdWxsIEpJRCIsCisrCQkJbW9kdWxlID0gP01PRFVM RSwgZnVuY3Rpb24gPSBzZW5kX21lc3NhZ2VfY2hhdCwKKysJCQlhcmdzID0gW3tmcm9tLCBiaW5h cnl9LCB7dG8sIGJpbmFyeX0sIHtib2R5LCBiaW5hcnl9XSwKKysJCQlyZXN1bHQgPSB7cmVzLCBy ZXNjb2RlfX0sCisrICAgICAjZWphYmJlcmRfY29tbWFuZHN7bmFtZSA9IHNlbmRfbWVzc2FnZV9o ZWFkbGluZSwgdGFncyA9IFtzdGFuemFdLAorKwkJCWRlc2MgPSAiU2VuZCBhIGhlYWRsaW5lIG1l c3NhZ2UgdG8gYSBsb2NhbCBvciByZW1vdGUgYmFyZSBvZiBmdWxsIEpJRCIsCisrCQkJbW9kdWxl ID0gP01PRFVMRSwgZnVuY3Rpb24gPSBzZW5kX21lc3NhZ2VfaGVhZGxpbmUsCisrCQkJYXJncyA9 IFt7ZnJvbSwgYmluYXJ5fSwge3RvLCBiaW5hcnl9LAorKwkJCQl7c3ViamVjdCwgYmluYXJ5fSwg e2JvZHksIGJpbmFyeX1dLAorKwkJCXJlc3VsdCA9IHtyZXMsIHJlc2NvZGV9fSwKKysgICAgICNl amFiYmVyZF9jb21tYW5kc3tuYW1lID0gc2VuZF9zdGFuemFfYzJzLCB0YWdzID0gW3N0YW56YV0s CisrCQkJZGVzYyA9ICJTZW5kIGEgc3RhbnphIGFzIGlmIHNlbnQgZnJvbSBhIGMycyBzZXNzaW9u IiwKKysJCQltb2R1bGUgPSA/TU9EVUxFLCBmdW5jdGlvbiA9IHNlbmRfc3RhbnphX2MycywKKysJ CQlhcmdzID0gW3t1c2VyLCBiaW5hcnl9LCB7aG9zdCwgYmluYXJ5fSwge3Jlc291cmNlLCBiaW5h cnl9LCB7c3RhbnphLCBiaW5hcnl9XSwKKysJCQlyZXN1bHQgPSB7cmVzLCByZXNjb2RlfX0sCisr ICAgICAjZWphYmJlcmRfY29tbWFuZHN7bmFtZSA9IHByaXZhY3lfc2V0LCB0YWdzID0gW3N0YW56 YV0sCisrCQkJZGVzYyA9ICJTZW5kIGEgSVEgc2V0IHByaXZhY3kgc3RhbnphIGZvciBhIGxvY2Fs IGFjY291bnQiLAorKwkJCW1vZHVsZSA9ID9NT0RVTEUsIGZ1bmN0aW9uID0gcHJpdmFjeV9zZXQs CisrCQkJYXJncyA9IFt7dXNlciwgYmluYXJ5fSwge2hvc3QsIGJpbmFyeX0sIHt4bWxxdWVyeSwg YmluYXJ5fV0sCisrCQkJcmVzdWx0ID0ge3JlcywgcmVzY29kZX19LAorKworKyAgICAgI2VqYWJi ZXJkX2NvbW1hbmRze25hbWUgPSBzdGF0cywgdGFncyA9IFtzdGF0c10sCisrCQkJZGVzYyA9ICJH ZXQgc3RhdGlzdGljYWwgdmFsdWU6IHJlZ2lzdGVyZWR1c2VycyBvbmxpbmV1c2VycyBvbmxpbmV1 c2Vyc25vZGUgdXB0aW1lc2Vjb25kcyIsCisrCQkJbW9kdWxlID0gP01PRFVMRSwgZnVuY3Rpb24g PSBzdGF0cywKKysJCQlhcmdzID0gW3tuYW1lLCBiaW5hcnl9XSwKKysJCQlyZXN1bHQgPSB7c3Rh dCwgaW50ZWdlcn19LAorKyAgICAgI2VqYWJiZXJkX2NvbW1hbmRze25hbWUgPSBzdGF0c19ob3N0 LCB0YWdzID0gW3N0YXRzXSwKKysJCQlkZXNjID0gIkdldCBzdGF0aXN0aWNhbCB2YWx1ZSBmb3Ig dGhpcyBob3N0OiByZWdpc3RlcmVkdXNlcnMgb25saW5ldXNlcnMiLAorKwkJCW1vZHVsZSA9ID9N T0RVTEUsIGZ1bmN0aW9uID0gc3RhdHMsCisrCQkJYXJncyA9IFt7bmFtZSwgYmluYXJ5fSwge2hv c3QsIGJpbmFyeX1dLAorKwkJCXJlc3VsdCA9IHtzdGF0LCBpbnRlZ2VyfX0KKysgICAgXS4KKysK KysKKyslJSUKKyslJSUgTm9kZQorKyUlJQorKworK2NvbXBpbGUoRmlsZSkgLT4KKysgICAgY2Fz ZSBjb21waWxlOmZpbGUoRmlsZSkgb2YKKysJb2sgLT4gb2s7CisrCV8gLT4gZXJyb3IKKysgICAg ZW5kLgorKworK2xvYWRfY29uZmlnKFBhdGgpIC0+CisrICAgIG9rID0gZWphYmJlcmRfY29uZmln OmxvYWRfZmlsZShQYXRoKS4KKysKKytnZXRfY29va2llKCkgLT4KKysgICAgYXRvbV90b19saXN0 KGVybGFuZzpnZXRfY29va2llKCkpLgorKworK3JlbW92ZV9ub2RlKE5vZGUpIC0+CisrICAgIG1u ZXNpYTpkZWxfdGFibGVfY29weShzY2hlbWEsIGxpc3RfdG9fYXRvbShOb2RlKSksCisrICAgIG9r LgorKworK2V4cG9ydDJvZGJjKEhvc3QsIERpcmVjdG9yeSkgLT4KKysgICAgVGFibGVzID0gWwor KwkgICAgICB7ZXhwb3J0X2xhc3QsIGxhc3R9LAorKwkgICAgICB7ZXhwb3J0X29mZmxpbmUsIG9m ZmxpbmV9LAorKwkgICAgICB7ZXhwb3J0X3Bhc3N3ZCwgcGFzc3dkfSwKKysJICAgICAge2V4cG9y dF9wcml2YXRlX3N0b3JhZ2UsIHByaXZhdGVfc3RvcmFnZX0sCisrCSAgICAgIHtleHBvcnRfcm9z dGVyLCByb3N0ZXJ9LAorKwkgICAgICB7ZXhwb3J0X3ZjYXJkLCB2Y2FyZH0sCisrCSAgICAgIHtl eHBvcnRfdmNhcmRfc2VhcmNoLCB2Y2FyZF9zZWFyY2h9XSwKKysgICAgRXhwb3J0ID0gZnVuKHtU YWJsZUZ1biwgVGFibGV9KSAtPgorKwkJICAgICBGaWxlbmFtZSA9IGZpbGVuYW1lOmpvaW4oW0Rp cmVjdG9yeSwgYXRvbV90b19saXN0KFRhYmxlKSsrIi50eHQiXSksCisrCQkgICAgIGlvOmZvcm1h dCgiVHJ5aW5nIHRvIGV4cG9ydCBNbmVzaWEgdGFibGUgJ35wJyBvbiBIb3N0ICd+cycgdG8gZmls ZSAnfnMnfm4iLCBbVGFibGUsIEhvc3QsIEZpbGVuYW1lXSksCisrCQkgICAgIFJlcyA9IChjYXRj aCBlamQyb2RiYzpUYWJsZUZ1bihIb3N0LCBGaWxlbmFtZSkpLAorKwkJICAgICBpbzpmb3JtYXQo IiAgUmVzdWx0OiB+cH5uIiwgW1Jlc10pCisrCSAgICAgZW5kLAorKyAgICBsaXN0czpmb3JlYWNo KEV4cG9ydCwgVGFibGVzKSwKKysgICAgb2suCisrCisrCisrJSUlCisrJSUlIEFjY291bnRzCisr JSUlCisrCisrc2V0X3Bhc3N3b3JkKFVzZXIsIEhvc3QsIFBhc3N3b3JkKSAtPgorKyAgICBjYXNl IGVqYWJiZXJkX2F1dGg6c2V0X3Bhc3N3b3JkKFVzZXIsIEhvc3QsIFBhc3N3b3JkKSBvZgorKwlv ayAtPgorKwkgICAgb2s7CisrCV8gLT4KKysJICAgIGVycm9yCisrICAgIGVuZC4KKysKKyslJSBD b3BpZWQgc29tZSBjb2RlIGZyb20gZWphYmJlcmRfY29tbWFuZHMuZXJsCisrY2hlY2tfcGFzc3dv cmRfaGFzaChVc2VyLCBIb3N0LCBQYXNzd29yZEhhc2gsIEhhc2hNZXRob2QpIC0+CisrICAgIEFj Y291bnRQYXNzID0gZWphYmJlcmRfYXV0aDpnZXRfcGFzc3dvcmRfcyhVc2VyLCBIb3N0KSwKKysg ICAgQWNjb3VudFBhc3NIYXNoID0gY2FzZSBIYXNoTWV0aG9kIG9mCisrCQkJICAibWQ1IiAtPiBn ZXRfbWQ1KEFjY291bnRQYXNzKTsKKysJCQkgICJzaGEiIC0+IGdldF9zaGEoQWNjb3VudFBhc3Mp OworKwkJCSAgXyAtPiB1bmRlZmluZWQKKysJCSAgICAgIGVuZCwKKysgICAgY2FzZSBBY2NvdW50 UGFzc0hhc2ggb2YKKysJdW5kZWZpbmVkIC0+IGVycm9yOworKwlQYXNzd29yZEhhc2ggLT4gb2s7 CisrCV8gLT4gZXJyb3IKKysgICAgZW5kLgorK2dldF9tZDUoQWNjb3VudFBhc3MpIC0+CisrICAg IGxpc3RzOmZsYXR0ZW4oW2lvX2xpYjpmb3JtYXQoIn4uMTZCIiwgW1hdKQorKwkJICAgfHwgWCA8 LSBiaW5hcnlfdG9fbGlzdChjcnlwdG86bWQ1KEFjY291bnRQYXNzKSldKS4KKytnZXRfc2hhKEFj Y291bnRQYXNzKSAtPgorKyAgICBsaXN0czpmbGF0dGVuKFtpb19saWI6Zm9ybWF0KCJ+LjE2QiIs IFtYXSkKKysJCSAgIHx8IFggPC0gYmluYXJ5X3RvX2xpc3QoY3J5cHRvOnNoYShBY2NvdW50UGFz cykpXSkuCisrCisrbnVtX2FjdGl2ZV91c2VycyhIb3N0LCBEYXlzKSAtPgorKyAgICBsaXN0X2xh c3RfYWN0aXZpdHkoSG9zdCwgdHJ1ZSwgRGF5cykuCisrCisrJSUgQ29kZSBiYXNlZCBvbiBlamFi YmVyZC9zcmMvd2ViL2VqYWJiZXJkX3dlYl9hZG1pbi5lcmwKKytsaXN0X2xhc3RfYWN0aXZpdHko SG9zdCwgSW50ZWdyYWwsIERheXMpIC0+CisrICAgIHtNZWdhU2VjcywgU2VjcywgX01pY3JvU2Vj c30gPSBub3coKSwKKysgICAgVGltZVN0YW1wID0gTWVnYVNlY3MgKiAxMDAwMDAwICsgU2VjcywK KysgICAgVFMgPSBUaW1lU3RhbXAgLSBEYXlzICogODY0MDAsCisrICAgIGNhc2UgY2F0Y2ggbW5l c2lhOmRpcnR5X3NlbGVjdCgKKysJCSBsYXN0X2FjdGl2aXR5LCBbe3tsYXN0X2FjdGl2aXR5LCB7 J18nLCBIb3N0fSwgJyQxJywgJ18nfSwKKysJCQkJICBbeyc+JywgJyQxJywgVFN9XSwKKysJCQkJ ICBbeyd0cnVuYycsIHsnLycsCisrCQkJCQkgICAgICB7Jy0nLCBUaW1lU3RhbXAsICckMSd9LAor KwkJCQkJICAgICAgODY0MDB9fV19XSkgb2YKKysJCQkJCQkJICAgICAgeydFWElUJywgX1JlYXNv bn0gLT4KKysJCSBbXTsKKysJICAgICAgIFZhbHMgLT4KKysJCSBIaXN0ID0gaGlzdG9ncmFtKFZh bHMsIEludGVncmFsKSwKKysJCSBpZgorKwkJICAgICBIaXN0ID09IFtdIC0+CisrCQkJIDA7Cisr CQkgICAgIHRydWUgLT4KKysJCQkgTGVmdCA9IERheXMgLSBsZW5ndGgoSGlzdCksCisrCQkJIFRh aWwgPSBpZgorKwkJCQkgICAgSW50ZWdyYWwgLT4KKysJCQkJCWxpc3RzOmR1cGxpY2F0ZShMZWZ0 LCBsaXN0czpsYXN0KEhpc3QpKTsKKysJCQkJICAgIHRydWUgLT4KKysJCQkJCWxpc3RzOmR1cGxp Y2F0ZShMZWZ0LCAwKQorKwkJCQllbmQsCisrCQkJIGxpc3RzOm50aChEYXlzLCBIaXN0ICsrIFRh aWwpCisrCQkgZW5kCisrCSBlbmQuCisraGlzdG9ncmFtKFZhbHVlcywgSW50ZWdyYWwpIC0+Cisr ICAgIGhpc3RvZ3JhbShsaXN0czpzb3J0KFZhbHVlcyksIEludGVncmFsLCAwLCAwLCBbXSkuCisr aGlzdG9ncmFtKFtIIHwgVF0sIEludGVncmFsLCBDdXJyZW50LCBDb3VudCwgSGlzdCkgd2hlbiBD dXJyZW50ID09IEggLT4KKysgICAgaGlzdG9ncmFtKFQsIEludGVncmFsLCBDdXJyZW50LCBDb3Vu dCArIDEsIEhpc3QpOworK2hpc3RvZ3JhbShbSCB8IF9dID0gVmFsdWVzLCBJbnRlZ3JhbCwgQ3Vy cmVudCwgQ291bnQsIEhpc3QpIHdoZW4gQ3VycmVudCA8IEggLT4KKysgICAgaWYKKysJSW50ZWdy YWwgLT4KKysJICAgIGhpc3RvZ3JhbShWYWx1ZXMsIEludGVncmFsLCBDdXJyZW50ICsgMSwgQ291 bnQsIFtDb3VudCB8IEhpc3RdKTsKKysJdHJ1ZSAtPgorKwkgICAgaGlzdG9ncmFtKFZhbHVlcywg SW50ZWdyYWwsIEN1cnJlbnQgKyAxLCAwLCBbQ291bnQgfCBIaXN0XSkKKysgICAgZW5kOworK2hp c3RvZ3JhbShbXSwgX0ludGVncmFsLCBfQ3VycmVudCwgQ291bnQsIEhpc3QpIC0+CisrICAgIGlm CisrCUNvdW50ID4gMCAtPgorKwkgICAgbGlzdHM6cmV2ZXJzZShbQ291bnQgfCBIaXN0XSk7Cisr CXRydWUgLT4KKysJICAgIGxpc3RzOnJldmVyc2UoSGlzdCkKKysgICAgZW5kLgorKworKworK2Rl bGV0ZV9vbGRfdXNlcnMoRGF5cykgLT4KKysgICAgJSUgR2V0IHRoZSBsaXN0IG9mIHJlZ2lzdGVy ZWQgdXNlcnMKKysgICAgVXNlcnMgPSBlamFiYmVyZF9hdXRoOmRpcnR5X2dldF9yZWdpc3RlcmVk X3VzZXJzKCksCisrCisrICAgIHtyZW1vdmVkLCBOLCBVUn0gPSBkZWxldGVfb2xkX3VzZXJzKERh eXMsIFVzZXJzKSwKKysgICAge29rLCBpb19saWI6Zm9ybWF0KCJEZWxldGVkIH5wIHVzZXJzOiB+ cCIsIFtOLCBVUl0pfS4KKysKKytkZWxldGVfb2xkX3VzZXJzX3Zob3N0KEhvc3QsIERheXMpIC0+ CisrICAgICUlIEdldCB0aGUgbGlzdCBvZiByZWdpc3RlcmVkIHVzZXJzCisrICAgIFVzZXJzID0g ZWphYmJlcmRfYXV0aDpnZXRfdmhfcmVnaXN0ZXJlZF91c2VycyhIb3N0KSwKKysKKysgICAge3Jl bW92ZWQsIE4sIFVSfSA9IGRlbGV0ZV9vbGRfdXNlcnMoRGF5cywgVXNlcnMpLAorKyAgICB7b2ss IGlvX2xpYjpmb3JtYXQoIkRlbGV0ZWQgfnAgdXNlcnM6IH5wIiwgW04sIFVSXSl9LgorKworK2Rl bGV0ZV9vbGRfdXNlcnMoRGF5cywgVXNlcnMpIC0+CisrICAgICUlIENvbnZlcnQgb2xkZXIgdGlt ZQorKyAgICBTZWNPbGRlciA9IERheXMqMjQqNjAqNjAsCisrCisrICAgICUlIEdldCBjdXJyZW50 IHRpbWUKKysgICAge01lZ2FTZWNzLCBTZWNzLCBfTWljcm9TZWNzfSA9IG5vdygpLAorKyAgICBU aW1lU3RhbXBfbm93ID0gTWVnYVNlY3MgKiAxMDAwMDAwICsgU2VjcywKKysKKysgICAgJSUgRm9y IGEgdXNlciwgcmVtb3ZlIGlmIHJlcXVpcmVkIGFuZCBhbnN3ZXIgdHJ1ZQorKyAgICBGID0gZnVu KHtMVXNlciwgTFNlcnZlcn0pIC0+CisrCQklJSBDaGVjayBpZiB0aGUgdXNlciBpcyBsb2dnZWQK KysJCWNhc2UgZWphYmJlcmRfc206Z2V0X3VzZXJfcmVzb3VyY2VzKExVc2VyLCBMU2VydmVyKSBv ZgorKwkJICAgICUlIElmIGl0IGlzbnQKKysJCSAgICBbXSAtPgorKwkJCSUlIExvb2sgZm9yIGhp cyBsYXN0X2FjdGl2aXR5CisrCQkJY2FzZSAoZ2V0X2xhc3RhY3Rpdml0eV9tb2R1bGUoTFNlcnZl cikpOmdldF9sYXN0X2luZm8oTFVzZXIsIExTZXJ2ZXIpIG9mCisrCQkJICAgICUlIElmIGl0IGlz CisrCQkJICAgICUlIGV4aXN0ZW50OgorKwkJCSAgICB7b2ssIFRpbWVTdGFtcCwgX1N0YXR1c30g LT4KKysJCQkJJSUgZ2V0IGhpcyBhZ2UKKysJCQkJU2VjID0gVGltZVN0YW1wX25vdyAtIFRpbWVT dGFtcCwKKysJCQkJJSUgSWYgaGUgaXMKKysJCQkJaWYKKysJCQkJICAgICUlIHlvdW5nZXIgdGhh biBTZWNPbGRlcjoKKysJCQkJICAgIFNlYyA8IFNlY09sZGVyIC0+CisrCQkJCQklJSBkbyBub3Ro aW5nCisrCQkJCQlmYWxzZTsKKysJCQkJICAgICUlIG9sZGVyOgorKwkJCQkgICAgdHJ1ZSAtPgor KwkJCQkJJSUgcmVtb3ZlIHRoZSB1c2VyCisrCQkJCQllamFiYmVyZF9hdXRoOnJlbW92ZV91c2Vy KExVc2VyLCBMU2VydmVyKSwKKysJCQkJCXRydWUKKysJCQkJZW5kOworKwkJCSAgICAlJSBub25l eGlzdGVudDoKKysJCQkgICAgbm90X2ZvdW5kIC0+CisrCQkJCSUlIHJlbW92ZSB0aGUgdXNlcgor KwkJCQllamFiYmVyZF9hdXRoOnJlbW92ZV91c2VyKExVc2VyLCBMU2VydmVyKSwKKysJCQkJdHJ1 ZQorKwkJCWVuZDsKKysJCSAgICAlJSBFbHNlCisrCQkgICAgXyAtPgorKwkJCSUlIGRvIG5vdGhp bmcKKysJCQlmYWxzZQorKwkJZW5kCisrCWVuZCwKKysgICAgJSUgQXBwbHkgdGhlIGZ1bmN0aW9u IHRvIGV2ZXJ5IHVzZXIgaW4gdGhlIGxpc3QKKysgICAgVXNlcnNfcmVtb3ZlZCA9IGxpc3RzOmZp bHRlcihGLCBVc2VycyksCisrICAgIHtyZW1vdmVkLCBsZW5ndGgoVXNlcnNfcmVtb3ZlZCksIFVz ZXJzX3JlbW92ZWR9LgorKworK2dldF9sYXN0YWN0aXZpdHlfbW9kdWxlKFNlcnZlcikgLT4KKysg ICAgY2FzZSBsaXN0czptZW1iZXIobW9kX2xhc3QsIGdlbl9tb2Q6bG9hZGVkX21vZHVsZXMoU2Vy dmVyKSkgb2YKKysgICAgICAgIHRydWUgLT4gbW9kX2xhc3Q7CisrICAgICAgICBfIC0+IG1vZF9s YXN0X29kYmMKKysgICAgZW5kLgorKworKworKyUlCisrJSUgQmFuIGFjY291bnQKKysKKytiYW5f YWNjb3VudChVc2VyLCBIb3N0LCBSZWFzb25UZXh0KSAtPgorKyAgICBSZWFzb24gPSBwcmVwYXJl X3JlYXNvbihSZWFzb25UZXh0KSwKKysgICAga2lja19zZXNzaW9ucyhVc2VyLCBIb3N0LCBSZWFz b24pLAorKyAgICBzZXRfcmFuZG9tX3Bhc3N3b3JkKFVzZXIsIEhvc3QsIFJlYXNvbiksCisrICAg IG9rLgorKworK2tpY2tfc2Vzc2lvbnMoVXNlciwgU2VydmVyLCBSZWFzb24pIC0+CisrICAgIGxp c3RzOm1hcCgKKysgICAgICBmdW4oUmVzb3VyY2UpIC0+CisrCSAgICAgIGtpY2tfdGhpc19zZXNz aW9uKFVzZXIsIFNlcnZlciwgUmVzb3VyY2UsIFJlYXNvbikKKysgICAgICBlbmQsCisrICAgICAg Z2V0X3Jlc291cmNlcyhVc2VyLCBTZXJ2ZXIpKS4KKysKKytnZXRfcmVzb3VyY2VzKFVzZXIsIFNl cnZlcikgLT4KKysgICAgbGlzdHM6bWFwKAorKyAgICAgIGZ1bihTZXNzaW9uKSAtPgorKwkgICAg ICBlbGVtZW50KDMsIFNlc3Npb24jc2Vzc2lvbi51c3IpCisrICAgICAgZW5kLAorKyAgICAgIGdl dF9zZXNzaW9ucyhVc2VyLCBTZXJ2ZXIpKS4KKysKKytnZXRfc2Vzc2lvbnMoVXNlciwgU2VydmVy KSAtPgorKyAgICBMVXNlciA9IGpsaWI6bm9kZXByZXAoVXNlciksCisrICAgIExTZXJ2ZXIgPSBq bGliOm5hbWVwcmVwKFNlcnZlciksCisrICAgIFNlc3Npb25zID0gIG1uZXNpYTpkaXJ0eV9pbmRl eF9yZWFkKHNlc3Npb24sIHtMVXNlciwgTFNlcnZlcn0sICNzZXNzaW9uLnVzKSwKKysgICAgdHJ1 ZSA9IGlzX2xpc3QoU2Vzc2lvbnMpLAorKyAgICBTZXNzaW9ucy4KKysKKytzZXRfcmFuZG9tX3Bh c3N3b3JkKFVzZXIsIFNlcnZlciwgUmVhc29uKSAtPgorKyAgICBOZXdQYXNzID0gYnVpbGRfcmFu ZG9tX3Bhc3N3b3JkKFJlYXNvbiksCisrICAgIHNldF9wYXNzd29yZF9hdXRoKFVzZXIsIFNlcnZl ciwgTmV3UGFzcykuCisrCisrYnVpbGRfcmFuZG9tX3Bhc3N3b3JkKFJlYXNvbikgLT4KKysgICAg RGF0ZSA9IGpsaWI6dGltZXN0YW1wX3RvX2lzbyhjYWxlbmRhcjp1bml2ZXJzYWxfdGltZSgpKSwK KysgICAgUmFuZG9tU3RyaW5nID0gcmFuZG9tczpnZXRfc3RyaW5nKCksCisrICAgICJCQU5ORURf QUNDT1VOVC0tIiArKyBEYXRlICsrICItLSIgKysgUmFuZG9tU3RyaW5nICsrICItLSIgKysgUmVh c29uLgorKworK3NldF9wYXNzd29yZF9hdXRoKFVzZXIsIFNlcnZlciwgUGFzc3dvcmQpIC0+Cisr ICAgIG9rID0gZWphYmJlcmRfYXV0aDpzZXRfcGFzc3dvcmQoVXNlciwgU2VydmVyLCBQYXNzd29y ZCkuCisrCisrcHJlcGFyZV9yZWFzb24oW10pIC0+CisrICAgIDw8IktpY2tlZCBieSBhZG1pbmlz dHJhdG9yIj4+OworK3ByZXBhcmVfcmVhc29uKFtSZWFzb25dKSAtPgorKyAgICBSZWFzb247Cisr cHJlcGFyZV9yZWFzb24oUmVhc29uKSB3aGVuIGlzX2JpbmFyeShSZWFzb24pIC0+CisrICAgIFJl YXNvbi4KKysKKyslJSUKKyslJSUgU2Vzc2lvbnMKKyslJSUKKysKKytudW1fcmVzb3VyY2VzKFVz ZXIsIEhvc3QpIC0+CisrICAgIGxlbmd0aChlamFiYmVyZF9zbTpnZXRfdXNlcl9yZXNvdXJjZXMo VXNlciwgSG9zdCkpLgorKworK3Jlc291cmNlX251bShVc2VyLCBIb3N0LCBOdW0pIC0+CisrICAg IFJlc291cmNlcyA9IGVqYWJiZXJkX3NtOmdldF91c2VyX3Jlc291cmNlcyhVc2VyLCBIb3N0KSwK KysgICAgY2FzZSAoMDxOdW0pIGFuZCAoTnVtPTxsZW5ndGgoUmVzb3VyY2VzKSkgb2YKKysJdHJ1 ZSAtPgorKwkgICAgbGlzdHM6bnRoKE51bSwgUmVzb3VyY2VzKTsKKysJZmFsc2UgLT4KKysJICAg IGxpc3RzOmZsYXR0ZW4oaW9fbGliOmZvcm1hdCgiRXJyb3I6IFdyb25nIHJlc291cmNlIG51bWJl cjogfnAiLCBbTnVtXSkpCisrICAgIGVuZC4KKysKKytraWNrX3Nlc3Npb24oVXNlciwgU2VydmVy LCBSZXNvdXJjZSwgUmVhc29uVGV4dCkgLT4KKysgICAga2lja190aGlzX3Nlc3Npb24oVXNlciwg U2VydmVyLCBSZXNvdXJjZSwgcHJlcGFyZV9yZWFzb24oUmVhc29uVGV4dCkpLAorKyAgICBvay4K KysKKytraWNrX3RoaXNfc2Vzc2lvbihVc2VyLCBTZXJ2ZXIsIFJlc291cmNlLCBSZWFzb24pIC0+ CisrICAgIGVqYWJiZXJkX3JvdXRlcjpyb3V0ZSgKKysgICAgICBqbGliOm1ha2VfamlkKDw8Pj4s IDw8Pj4sIDw8Pj4pLAorKyAgICAgIGpsaWI6bWFrZV9qaWQoVXNlciwgU2VydmVyLCBSZXNvdXJj ZSksCisrICAgICAge2Jyb2FkY2FzdCwge2V4aXQsIFJlYXNvbn19KS4KKysKKysKKytzdGF0dXNf bnVtKEhvc3QsIFN0YXR1cykgLT4KKysgICAgbGVuZ3RoKGdldF9zdGF0dXNfbGlzdChIb3N0LCBT dGF0dXMpKS4KKytzdGF0dXNfbnVtKFN0YXR1cykgLT4KKysgICAgc3RhdHVzX251bSg8PCJhbGwi Pj4sIFN0YXR1cykuCisrc3RhdHVzX2xpc3QoSG9zdCwgU3RhdHVzKSAtPgorKyAgICBSZXMgPSBn ZXRfc3RhdHVzX2xpc3QoSG9zdCwgU3RhdHVzKSwKKysgICAgW3tVLCBTLCBSLCBQLCBTdH0gfHwg e1UsIFMsIFIsIFAsIFN0fSA8LSBSZXNdLgorK3N0YXR1c19saXN0KFN0YXR1cykgLT4KKysgICAg c3RhdHVzX2xpc3QoPDwiYWxsIj4+LCBTdGF0dXMpLgorKworKworK2dldF9zdGF0dXNfbGlzdChI b3N0LCBTdGF0dXNfcmVxdWlyZWQpIC0+CisrICAgICUlIEdldCBsaXN0IG9mIGFsbCBsb2dnZWQg dXNlcnMKKysgICAgU2Vzc2lvbnMgPSBlamFiYmVyZF9zbTpkaXJ0eV9nZXRfbXlfc2Vzc2lvbnNf bGlzdCgpLAorKyAgICAlJSBSZWZvcm1hdCB0aGUgbGlzdAorKyAgICBTZXNzaW9uczIgPSBbIHtT ZXNzaW9uI3Nlc3Npb24udXNyLCBTZXNzaW9uI3Nlc3Npb24uc2lkLCBTZXNzaW9uI3Nlc3Npb24u cHJpb3JpdHl9IHx8IFNlc3Npb24gPC0gU2Vzc2lvbnNdLAorKyAgICBGaG9zdCA9IGNhc2UgSG9z dCBvZgorKwkJPDwiYWxsIj4+IC0+CisrCQkgICAgJSUgQWxsIGhvc3RzIGFyZSByZXF1ZXN0ZWQs IHNvIGRvbnQgZmlsdGVyIGF0IGFsbAorKwkJICAgIGZ1bihfLCBfKSAtPiB0cnVlIGVuZDsKKysJ CV8gLT4KKysJCSAgICAlJSBGaWx0ZXIgdGhlIGxpc3QsIG9ubHkgSG9zdCBpcyBpbnRlcmVzdGlu ZworKwkJICAgIGZ1bihBLCBCKSAtPiBBID09IEIgZW5kCisrCSAgICBlbmQsCisrICAgIFNlc3Np b25zMyA9IFsge1BpZCwgU2VydmVyLCBQcmlvcml0eX0gfHwge3tfVXNlciwgU2VydmVyLCBfUmVz b3VyY2V9LCB7XywgUGlkfSwgUHJpb3JpdHl9IDwtIFNlc3Npb25zMiwgYXBwbHkoRmhvc3QsIFtT ZXJ2ZXIsIEhvc3RdKV0sCisrICAgICUlIEZvciBlYWNoIFBpZCwgZ2V0IGl0cyBwcmVzZW5jZQor KyAgICBTZXNzaW9uczQgPSBbIHtlamFiYmVyZF9jMnM6Z2V0X3ByZXNlbmNlKFBpZCksIFNlcnZl ciwgUHJpb3JpdHl9IHx8IHtQaWQsIFNlcnZlciwgUHJpb3JpdHl9IDwtIFNlc3Npb25zM10sCisr ICAgICUlIEZpbHRlciBieSBzdGF0dXMKKysgICAgRnN0YXR1cyA9IGNhc2UgU3RhdHVzX3JlcXVp cmVkIG9mCisrCQkgIDw8ImFsbCI+PiAtPgorKwkJICAgICAgZnVuKF8sIF8pIC0+IHRydWUgZW5k OworKwkJICBfIC0+CisrCQkgICAgICBmdW4oQSwgQikgLT4gQSA9PSBCIGVuZAorKwkgICAgICBl bmQsCisrICAgIFt7VXNlciwgU2VydmVyLCBSZXNvdXJjZSwgUHJpb3JpdHksIHN0cmluZ2l6ZShT dGF0dXNfdGV4dCl9CisrICAgICB8fCB7e1VzZXIsIFJlc291cmNlLCBTdGF0dXMsIFN0YXR1c190 ZXh0fSwgU2VydmVyLCBQcmlvcml0eX0gPC0gU2Vzc2lvbnM0LAorKwlhcHBseShGc3RhdHVzLCBb U3RhdHVzLCBTdGF0dXNfcmVxdWlyZWRdKV0uCisrCisrY29ubmVjdGVkX3VzZXJzX2luZm8oKSAt PgorKyAgICBVU1JJcyA9IGRpcnR5X2dldF9zZXNzaW9uc19saXN0MigpLAorKyAgICBDdXJyZW50 U2VjID0gY2FsZW5kYXI6ZGF0ZXRpbWVfdG9fZ3JlZ29yaWFuX3NlY29uZHMoe2RhdGUoKSwgdGlt ZSgpfSksCisrICAgIGxpc3RzOm1hcCgKKysgICAgICBmdW4oW3tVLCBTLCBSfSwge05vdywgUGlk fSwgUHJpb3JpdHksIEluZm9dKSAtPgorKwkgICAgICBDb25uID0gcHJvcGxpc3RzOmdldF92YWx1 ZShjb25uLCBJbmZvKSwKKysJICAgICAge0lwLCBQb3J0fSA9IHByb3BsaXN0czpnZXRfdmFsdWUo aXAsIEluZm8pLAorKwkgICAgICBJUFMgPSBpbmV0X3BhcnNlOm50b2EoSXApLAorKwkgICAgICBO b2RlUyA9IGF0b21fdG9fbGlzdChub2RlKFBpZCkpLAorKwkgICAgICBVcHRpbWUgPSBDdXJyZW50 U2VjIC0gY2FsZW5kYXI6ZGF0ZXRpbWVfdG9fZ3JlZ29yaWFuX3NlY29uZHMoCisrCQkJCSAgICAg IGNhbGVuZGFyOm5vd190b19sb2NhbF90aW1lKE5vdykpLAorKwkgICAgICB7W1UsICRALCBTLCAk LywgUl0sIGF0b21fdG9fbGlzdChDb25uKSwgSVBTLCBQb3J0LCBQcmlvcml0eSwgTm9kZVMsIFVw dGltZX0KKysgICAgICBlbmQsCisrICAgICAgVVNSSXMpLgorKworK2Nvbm5lY3RlZF91c2Vyc192 aG9zdChIb3N0KSAtPgorKyAgICBVU1JzID0gZWphYmJlcmRfc206Z2V0X3ZoX3Nlc3Npb25fbGlz dChIb3N0KSwKKysgICAgWyBbVSwgJEAsIFMsICQvLCBSXSB8fCB7VSwgUywgUn0gPC0gVVNSc10u CisrCisrJSUgQ29kZSBjb3BpZWQgZnJvbSBlamFiYmVyZF9zbS5lcmwgYW5kIGN1c3RvbWl6ZWQK KytkaXJ0eV9nZXRfc2Vzc2lvbnNfbGlzdDIoKSAtPgorKyAgICBtbmVzaWE6ZGlydHlfc2VsZWN0 KAorKyAgICAgIHNlc3Npb24sCisrICAgICAgW3sjc2Vzc2lvbnt1c3IgPSAnJDEnLCBzaWQgPSAn JDInLCBwcmlvcml0eSA9ICckMycsIGluZm8gPSAnJDQnLCBfID0gJ18nfSwKKysJW10sCisrCVtb JyQxJywgJyQyJywgJyQzJywgJyQ0J11dfV0pLgorKworKyUlIE1ha2Ugc3RyaW5nIG1vcmUgcHJp bnQtZnJpZW5kbHkKKytzdHJpbmdpemUoU3RyaW5nKSAtPgorKyAgICAlJSBSZXBsYWNlIG5ld2xp bmUgY2hhcmFjdGVycyB3aXRoIG90aGVyIGNvZGUKKysgICAgZWphYmJlcmRfcmVnZXhwOmdyZXBs YWNlKFN0cmluZywgPDwiXG4iPj4sIDw8IlxcbiI+PikuCisrCisrc2V0X3ByZXNlbmNlKFVzZXIs IEhvc3QsIFJlc291cmNlLCBUeXBlLCBTaG93LCBTdGF0dXMsIFByaW9yaXR5KSAtPgorKyAgICBQ aWQgPSBlamFiYmVyZF9zbTpnZXRfc2Vzc2lvbl9waWQoVXNlciwgSG9zdCwgUmVzb3VyY2UpLAor KyAgICBVU1IgPSBVc2VyICsrICJAIiArKyBIb3N0ICsrICIvIiArKyBSZXNvdXJjZSwKKysgICAg VVMgPSBVc2VyICsrICJAIiArKyBIb3N0LAorKyAgICBNZXNzYWdlID0ge3JvdXRlX3htbHN0cmVh bWVsZW1lbnQsCisrCSAgICAgICB7eG1sZWwsIDw8InByZXNlbmNlIj4+LAorKwkJW3s8PCJmcm9t Ij4+LCBVU1J9LCB7PDwidG8iPj4sIFVTfSwgezw8InR5cGUiPj4sIFR5cGV9XSwKKysJCVt7eG1s ZWwsIDw8InNob3ciPj4sIFtdLCBbe3htbGNkYXRhLCBTaG93fV19LAorKwkJIHt4bWxlbCwgPDwi c3RhdHVzIj4+LCBbXSwgW3t4bWxjZGF0YSwgU3RhdHVzfV19LAorKwkJIHt4bWxlbCwgPDwicHJp b3JpdHkiPj4sIFtdLCBbe3htbGNkYXRhLCBQcmlvcml0eX1dfV19fSwKKysgICAgUGlkICEgTWVz c2FnZS4KKysKKyt1c2VyX3Nlc3Npb25zX2luZm8oVXNlciwgSG9zdCkgLT4KKysgICAgQ3VycmVu dFNlYyA9IGNhbGVuZGFyOmRhdGV0aW1lX3RvX2dyZWdvcmlhbl9zZWNvbmRzKHtkYXRlKCksIHRp bWUoKX0pLAorKyAgICBVUyA9IHtVc2VyLCBIb3N0fSwKKysgICAgU2Vzc2lvbnMgPSBjYXNlIGNh dGNoIG1uZXNpYTpkaXJ0eV9pbmRleF9yZWFkKHNlc3Npb24sIFVTLCAjc2Vzc2lvbi51cykgb2YK KysJCSAgIHsnRVhJVCcsIF9SZWFzb259IC0+CisrCQkgICAgICAgW107CisrCQkgICBTcyAtPgor KwkJICAgICAgIFNzCisrCSAgICAgICBlbmQsCisrICAgIGxpc3RzOm1hcCgKKysgICAgICBmdW4o U2Vzc2lvbikgLT4KKysJICAgICAge19VLCBfUywgUmVzb3VyY2V9ID0gU2Vzc2lvbiNzZXNzaW9u LnVzciwKKysJICAgICAge05vdywgUGlkfSA9IFNlc3Npb24jc2Vzc2lvbi5zaWQsCisrCSAgICAg IHtfVSwgX1Jlc291cmNlLCBTdGF0dXMsIFN0YXR1c1RleHR9ID0gZWphYmJlcmRfYzJzOmdldF9w cmVzZW5jZShQaWQpLAorKwkgICAgICBJbmZvID0gU2Vzc2lvbiNzZXNzaW9uLmluZm8sCisrCSAg ICAgIFByaW9yaXR5ID0gU2Vzc2lvbiNzZXNzaW9uLnByaW9yaXR5LAorKwkgICAgICBDb25uID0g cHJvcGxpc3RzOmdldF92YWx1ZShjb25uLCBJbmZvKSwKKysJICAgICAge0lwLCBQb3J0fSA9IHBy b3BsaXN0czpnZXRfdmFsdWUoaXAsIEluZm8pLAorKwkgICAgICBJUFMgPSBpbmV0X3BhcnNlOm50 b2EoSXApLAorKwkgICAgICBOb2RlUyA9IGF0b21fdG9fbGlzdChub2RlKFBpZCkpLAorKwkgICAg ICBVcHRpbWUgPSBDdXJyZW50U2VjIC0gY2FsZW5kYXI6ZGF0ZXRpbWVfdG9fZ3JlZ29yaWFuX3Nl Y29uZHMoCisrCQkJCSAgICAgIGNhbGVuZGFyOm5vd190b19sb2NhbF90aW1lKE5vdykpLAorKwkg ICAgICB7YXRvbV90b19saXN0KENvbm4pLCBJUFMsIFBvcnQsIFByaW9yaXR5LCBOb2RlUywgVXB0 aW1lLCBTdGF0dXMsIFJlc291cmNlLCBTdGF0dXNUZXh0fQorKyAgICAgIGVuZCwKKysgICAgICBT ZXNzaW9ucykuCisrCisrCisrJSUlCisrJSUlIFZjYXJkCisrJSUlCisrCisrc2V0X25pY2tuYW1l KFVzZXIsIEhvc3QsIE5pY2tuYW1lKSAtPgorKyAgICBSID0gbW9kX3ZjYXJkOnByb2Nlc3Nfc21f aXEoCisrCSAge2ppZCwgVXNlciwgSG9zdCwgPDw+PiwgVXNlciwgSG9zdCwgPDw+Pn0sCisrCSAg e2ppZCwgVXNlciwgSG9zdCwgPDw+PiwgVXNlciwgSG9zdCwgPDw+Pn0sCisrCSAge2lxLCA8PD4+ LCBzZXQsIDw8Pj4sIDw8ImVuIj4+LAorKwkgICB7eG1sZWwsIDw8InZDYXJkIj4+LCBbCisrCSAg ICAgezw8InhtbG5zIj4+LCA8PCJ2Y2FyZC10ZW1wIj4+fV0sIFsKKysJCXt4bWxlbCwgPDwiTklD S05BTUUiPj4sIFtdLCBbe3htbGNkYXRhLCBOaWNrbmFtZX1dfQorKyAgICAgICAgICAgIF0KKysJ ICB9fSksCisrICAgIGNhc2UgUiBvZgorKwl7aXEsIFtdLCByZXN1bHQsIFtdLCBfTCwgW119IC0+ CisrCSAgICBvazsKKysJXyAtPgorKwkgICAgZXJyb3IKKysgICAgZW5kLgorKworK2dldF92Y2Fy ZChVc2VyLCBIb3N0LCBOYW1lKSAtPgorKyAgICBbUmVzIHwgX10gPSBnZXRfdmNhcmRfY29udGVu dChVc2VyLCBIb3N0LCBbTmFtZV0pLAorKyAgICBSZXMuCisrCisrZ2V0X3ZjYXJkKFVzZXIsIEhv c3QsIE5hbWUsIFN1Ym5hbWUpIC0+CisrICAgIFtSZXMgfCBfXSA9IGdldF92Y2FyZF9jb250ZW50 KFVzZXIsIEhvc3QsIFtOYW1lLCBTdWJuYW1lXSksCisrICAgIFJlcy4KKysKKytnZXRfdmNhcmRf bXVsdGkoVXNlciwgSG9zdCwgTmFtZSwgU3VibmFtZSkgLT4KKysgICAgZ2V0X3ZjYXJkX2NvbnRl bnQoVXNlciwgSG9zdCwgW05hbWUsIFN1Ym5hbWVdKS4KKysKKytzZXRfdmNhcmQoVXNlciwgSG9z dCwgTmFtZSwgU29tZUNvbnRlbnQpIC0+CisrICAgIHNldF92Y2FyZF9jb250ZW50KFVzZXIsIEhv c3QsIFtOYW1lXSwgU29tZUNvbnRlbnQpLgorKworK3NldF92Y2FyZChVc2VyLCBIb3N0LCBOYW1l LCBTdWJuYW1lLCBTb21lQ29udGVudCkgLT4KKysgICAgc2V0X3ZjYXJkX2NvbnRlbnQoVXNlciwg SG9zdCwgW05hbWUsIFN1Ym5hbWVdLCBTb21lQ29udGVudCkuCisrCisrCisrJSUKKyslJSBJbnRl cm5hbCB2Y2FyZAorKworK2dldF9tb2R1bGVfcmVzb3VyY2UoU2VydmVyKSAtPgorKyAgICBjYXNl IGdlbl9tb2Q6Z2V0X21vZHVsZV9vcHQoU2VydmVyLCA/TU9EVUxFLCBtb2R1bGVfcmVzb3VyY2Us IGZ1bihBKSAtPiBBIGVuZCwgbm9uZSkgb2YKKysJbm9uZSAtPiBsaXN0X3RvX2JpbmFyeShhdG9t X3RvX2xpc3QoP01PRFVMRSkpOworKwlSIHdoZW4gaXNfYmluYXJ5KFIpIC0+IFIKKysgICAgZW5k LgorKworK2dldF92Y2FyZF9jb250ZW50KFVzZXIsIFNlcnZlciwgRGF0YSkgLT4KKysgICAgW3tf LCBNb2R1bGUsIEZ1bmN0aW9uLCBfT3B0c31dID0gZXRzOmxvb2t1cChzbV9pcXRhYmxlLCB7P05T X1ZDQVJELCBTZXJ2ZXJ9KSwKKysgICAgSklEID0gamxpYjptYWtlX2ppZChVc2VyLCBTZXJ2ZXIs IGdldF9tb2R1bGVfcmVzb3VyY2UoU2VydmVyKSksCisrICAgIElRID0gI2lxe3R5cGUgPSBnZXQs IHhtbG5zID0gP05TX1ZDQVJEfSwKKysgICAgSVFyID0gTW9kdWxlOkZ1bmN0aW9uKEpJRCwgSklE LCBJUSksCisrICAgIGNhc2UgSVFyI2lxLnN1Yl9lbCBvZgorKwlbQTFdIC0+CisrCSAgICBjYXNl IGdldF92Y2FyZChEYXRhLCBBMSkgb2YKKysJCVtdIC0+IHRocm93KGVycm9yX25vX3ZhbHVlX2Zv dW5kX2luX3ZjYXJkKTsKKysJCUVsZW1MaXN0IC0+IFt4bWw6Z2V0X3RhZ19jZGF0YShFbGVtKSB8 fCBFbGVtIDwtIEVsZW1MaXN0XQorKwkgICAgZW5kOworKwlbXSAtPgorKwkgICAgdGhyb3coZXJy b3Jfbm9fdmNhcmRfZm91bmQpCisrICAgIGVuZC4KKysKKytnZXRfdmNhcmQoW0RhdGExLCBEYXRh Ml0sIEExKSAtPgorKyAgICBjYXNlIGdldF9zdWJ0YWcoQTEsIERhdGExKSBvZgorKyAgICAJZmFs c2UgLT4gZmFsc2U7CisrCUEyTGlzdCAtPiBsaXN0czpmbGF0dGVuKFtnZXRfdmNhcmQoW0RhdGEy XSwgQTIpIHx8IEEyIDwtIEEyTGlzdF0pCisrICAgIGVuZDsKKysKKytnZXRfdmNhcmQoW0RhdGFd LCBBMSkgLT4KKysgICAgZ2V0X3N1YnRhZyhBMSwgRGF0YSkuCisrCisrZ2V0X3N1YnRhZyhYbWxl bGVtZW50LCBOYW1lKSAtPgorKyAgICBjYXNlIGNvZGU6ZW5zdXJlX2xvYWRlZChleG1wcF94bWwp IG9mCisrCXtlcnJvciwgX30gLT4KKysJICAgIFtnZXRfc3VidGFnX3htbChYbWxlbGVtZW50LCBO YW1lKV07CisrCXttb2R1bGUsIGV4bXBwX3htbH0gLT4KKysJICAgIGdldF9zdWJ0YWdfZXhtcHAo WG1sZWxlbWVudCwgTmFtZSkKKysgICAgZW5kLgorKworK2dldF9zdWJ0YWdfeG1sKFhtbGVsZW1l bnQsIE5hbWUpIC0+CisrICAgIHhtbDpnZXRfc3VidGFnKFhtbGVsZW1lbnQsIE5hbWUpLgorKwor K2dldF9zdWJ0YWdfZXhtcHAoWG1sZWxlbWVudCwgTmFtZSkgLT4KKysgICAgWG1sZWwgPSBleG1w cF94bWw6eG1sZWxlbWVudF90b194bWxlbChYbWxlbGVtZW50KSwKKysgICAgWG1sZWxMaXN0ID0g ZXhtcHBfeG1sOmdldF9lbGVtZW50cyhYbWxlbCwgTmFtZSksCisrICAgIFtleG1wcF94bWw6eG1s ZWxfdG9feG1sZWxlbWVudChYbWxlbDIpIHx8IFhtbGVsMiA8LSBYbWxlbExpc3RdLgorKworK3Nl dF92Y2FyZF9jb250ZW50KFVzZXIsIFNlcnZlciwgRGF0YSwgU29tZUNvbnRlbnQpIC0+CisrICAg IENvbnRlbnRMaXN0ID0gY2FzZSBTb21lQ29udGVudCBvZgorKwlbQmluIHwgX10gd2hlbiBpc19i aW5hcnkoQmluKSAtPiBTb21lQ29udGVudDsKKysJQmluIHdoZW4gaXNfYmluYXJ5KEJpbikgLT4g W1NvbWVDb250ZW50XQorKyAgICBlbmQsCisrICAgIFt7XywgTW9kdWxlLCBGdW5jdGlvbiwgX09w dHN9XSA9IGV0czpsb29rdXAoc21faXF0YWJsZSwgez9OU19WQ0FSRCwgU2VydmVyfSksCisrICAg IEpJRCA9IGpsaWI6bWFrZV9qaWQoVXNlciwgU2VydmVyLCBnZXRfbW9kdWxlX3Jlc291cmNlKFNl cnZlcikpLAorKyAgICBJUSA9ICNpcXt0eXBlID0gZ2V0LCB4bWxucyA9ID9OU19WQ0FSRH0sCisr ICAgIElRciA9IE1vZHVsZTpGdW5jdGlvbihKSUQsIEpJRCwgSVEpLAorKworKyAgICAlJSBHZXQg b2xkIHZjYXJkCisrICAgIEE0ID0gY2FzZSBJUXIjaXEuc3ViX2VsIG9mCisrCSAgICAgW0ExXSAt PgorKwkJIHtfLCBfLCBfLCBBMn0gPSBBMSwKKysJCSB1cGRhdGVfdmNhcmRfZWxzKERhdGEsIENv bnRlbnRMaXN0LCBBMik7CisrCSAgICAgW10gLT4KKysJCSB1cGRhdGVfdmNhcmRfZWxzKERhdGEs IENvbnRlbnRMaXN0LCBbXSkKKysJIGVuZCwKKysKKysgICAgJSUgQnVpbGQgbmV3IHZjYXJkCisr ICAgIFN1YkVsID0ge3htbGVsLCA8PCJ2Q2FyZCI+PiwgW3s8PCJ4bWxucyI+Piw8PCJ2Y2FyZC10 ZW1wIj4+fV0sIEE0fSwKKysgICAgSVEyID0gI2lxe3R5cGU9c2V0LCBzdWJfZWwgPSBTdWJFbH0s CisrCisrICAgIE1vZHVsZTpGdW5jdGlvbihKSUQsIEpJRCwgSVEyKSwKKysgICAgb2suCisrCisr dXBkYXRlX3ZjYXJkX2VscyhEYXRhLCBDb250ZW50TGlzdCwgRWxzMSkgLT4KKysgICAgRWxzMiA9 IGxpc3RzOmtleXNvcnQoMiwgRWxzMSksCisrICAgIFtEYXRhMSB8IERhdGEyXSA9IERhdGEsCisr ICAgIE5ld0VscyA9IGNhc2UgRGF0YTIgb2YKKysJCVtdIC0+CisrCQkgICAgW3t4bWxlbCwgRGF0 YTEsIFtdLCBbe3htbGNkYXRhLENvbnRlbnR9XX0gfHwgQ29udGVudCA8LSBDb250ZW50TGlzdF07 CisrCQlbRDJdIC0+CisrCQkgICAgT2xkRWwgPSBjYXNlIGxpc3RzOmtleXNlYXJjaChEYXRhMSwg MiwgRWxzMikgb2YKKysJCQkJe3ZhbHVlLCBBfSAtPiBBOworKwkJCQlmYWxzZSAtPiB7eG1sZWws IERhdGExLCBbXSwgW119CisrCQkJICAgIGVuZCwKKysJCSAgICB7eG1sZWwsIF8sIF8sIENvbnRl bnRPbGQxfSA9IE9sZEVsLAorKwkJICAgIENvbnRlbnQyID0gW3t4bWxlbCwgRDIsIFtdLCBbe3ht bGNkYXRhLENvbnRlbnR9XX0gfHwgQ29udGVudCA8LSBDb250ZW50TGlzdF0sCisrCQkgICAgQ29u dGVudE9sZDIgPSBbQSB8fCB7XywgWCwgXywgX30gPSBBIDwtIENvbnRlbnRPbGQxLCBYLz1EMl0s CisrCQkgICAgQ29udGVudE9sZDMgPSBsaXN0czprZXlzb3J0KDIsIENvbnRlbnRPbGQyKSwKKysJ CSAgICBDb250ZW50TmV3ID0gbGlzdHM6a2V5bWVyZ2UoMiwgQ29udGVudDIsIENvbnRlbnRPbGQz KSwKKysJCSAgICBbe3htbGVsLCBEYXRhMSwgW10sIENvbnRlbnROZXd9XQorKwkgICAgZW5kLAor KyAgICBFbHMzID0gbGlzdHM6a2V5ZGVsZXRlKERhdGExLCAyLCBFbHMyKSwKKysgICAgbGlzdHM6 a2V5bWVyZ2UoMiwgTmV3RWxzLCBFbHMzKS4KKysKKysKKyslJSUKKyslJSUgUm9zdGVyCisrJSUl CisrCisrYWRkX3Jvc3Rlcml0ZW0oTG9jYWxVc2VyLCBMb2NhbFNlcnZlciwgVXNlciwgU2VydmVy LCBOaWNrLCBHcm91cCwgU3VicykgLT4KKysgICAgY2FzZSBhZGRfcm9zdGVyaXRlbShMb2NhbFVz ZXIsIExvY2FsU2VydmVyLCBVc2VyLCBTZXJ2ZXIsIE5pY2ssIEdyb3VwLCBTdWJzLCBbXSkgb2YK KysJe2F0b21pYywgb2t9IC0+CisrCSAgICBwdXNoX3Jvc3Rlcl9pdGVtKExvY2FsVXNlciwgTG9j YWxTZXJ2ZXIsIFVzZXIsIFNlcnZlciwge2FkZCwgTmljaywgU3VicywgR3JvdXB9KSwKKysJICAg IG9rOworKwlfIC0+CisrCSAgICBlcnJvcgorKyAgICBlbmQuCisrCisrYWRkX3Jvc3Rlcml0ZW0o TFUsIExTLCBVc2VyLCBTZXJ2ZXIsIE5pY2ssIEdyb3VwLCBTdWJzY3JpcHRpb24sIFhhdHRycykg LT4KKysgICAgc3Vic2NyaWJlKExVLCBMUywgVXNlciwgU2VydmVyLCBOaWNrLCBHcm91cCwgU3Vi c2NyaXB0aW9uLCBYYXR0cnMpLgorKworK3N1YnNjcmliZShMVSwgTFMsIFVzZXIsIFNlcnZlciwg TmljaywgR3JvdXAsIFN1YnNjcmlwdGlvbiwgX1hhdHRycykgLT4KKysgICAgSXRlbUVsID0gYnVp bGRfcm9zdGVyX2l0ZW0oVXNlciwgU2VydmVyLCB7YWRkLCBOaWNrLCBTdWJzY3JpcHRpb24sIEdy b3VwfSksCisrICAgIG1vZF9yb3N0ZXI6c2V0X2l0ZW1zKAorKwlMVSwgTFMsCisrCXt4bWxlbCwg PDwicXVlcnkiPj4sCisrICAgICAgICAgICAgW3s8PCJ4bWxucyI+PiwgPDwiamFiYmVyOmlxOnJv c3RlciI+Pn1dLAorKyAgICAgICAgICAgIFtJdGVtRWxdfSkuCisrCisrZGVsZXRlX3Jvc3Rlcml0 ZW0oTG9jYWxVc2VyLCBMb2NhbFNlcnZlciwgVXNlciwgU2VydmVyKSAtPgorKyAgICBjYXNlIHVu c3Vic2NyaWJlKExvY2FsVXNlciwgTG9jYWxTZXJ2ZXIsIFVzZXIsIFNlcnZlcikgb2YKKysJe2F0 b21pYywgb2t9IC0+CisrCSAgICBwdXNoX3Jvc3Rlcl9pdGVtKExvY2FsVXNlciwgTG9jYWxTZXJ2 ZXIsIFVzZXIsIFNlcnZlciwgcmVtb3ZlKSwKKysJICAgIG9rOworKwlfICAtPgorKwkgICAgZXJy b3IKKysgICAgZW5kLgorKworK3Vuc3Vic2NyaWJlKExVLCBMUywgVXNlciwgU2VydmVyKSAtPgor KyAgICBJdGVtRWwgPSBidWlsZF9yb3N0ZXJfaXRlbShVc2VyLCBTZXJ2ZXIsIHJlbW92ZSksCisr ICAgIG1vZF9yb3N0ZXI6c2V0X2l0ZW1zKAorKwlMVSwgTFMsCisrCXt4bWxlbCwgPDwicXVlcnki Pj4sCisrICAgICAgICAgICAgW3s8PCJ4bWxucyI+PiwgPDwiamFiYmVyOmlxOnJvc3RlciI+Pn1d LAorKyAgICAgICAgICAgIFtJdGVtRWxdfSkuCisrCisrJSUgLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KKyslJSBHZXQgUm9zdGVyCisrJSUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KKysKKytnZXRfcm9zdGVyKFVzZXIsIFNlcnZlcikgLT4KKysgICAgSXRlbXMgPSBlamFiYmVy ZF9ob29rczpydW5fZm9sZChyb3N0ZXJfZ2V0LCBTZXJ2ZXIsIFtdLCBbe1VzZXIsIFNlcnZlcn1d KSwKKysgICAgbWFrZV9yb3N0ZXJfeG1scnBjKEl0ZW1zKS4KKysKKyslJSBOb3RlOiBpZiBhIGNv bnRhY3QgaXMgaW4gc2V2ZXJhbCBncm91cHMsIHRoZSBjb250YWN0IGlzIHJldHVybmVkCisrJSUg c2V2ZXJhbCB0aW1lcywgZWFjaCBvbmUgaW4gYSBkaWZmZXJlbnQgZ3JvdXAuCisrbWFrZV9yb3N0 ZXJfeG1scnBjKFJvc3RlcikgLT4KKysgICAgbGlzdHM6Zm9sZGwoCisrICAgICAgZnVuKEl0ZW0s IFJlcykgLT4KKysJICAgICAgSklEUyA9IGpsaWI6amlkX3RvX3N0cmluZyhJdGVtI3Jvc3Rlci5q aWQpLAorKwkgICAgICBOaWNrID0gSXRlbSNyb3N0ZXIubmFtZSwKKysJICAgICAgU3VicyA9IGF0 b21fdG9fbGlzdChJdGVtI3Jvc3Rlci5zdWJzY3JpcHRpb24pLAorKwkgICAgICBBc2sgPSBhdG9t X3RvX2xpc3QoSXRlbSNyb3N0ZXIuYXNrKSwKKysJICAgICAgR3JvdXBzID0gY2FzZSBJdGVtI3Jv c3Rlci5ncm91cHMgb2YKKysJCQkgICBbXSAtPiBbPDw+Pl07CisrCQkJICAgR3MgLT4gR3MKKysJ CSAgICAgICBlbmQsCisrCSAgICAgIEl0ZW1zWCA9IFt7SklEUywgTmljaywgU3VicywgQXNrLCBH cm91cH0gfHwgR3JvdXAgPC0gR3JvdXBzXSwKKysJICAgICAgSXRlbXNYICsrIFJlcworKyAgICAg IGVuZCwKKysgICAgICBbXSwKKysgICAgICBSb3N0ZXIpLgorKworKworKyUlLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KKyslJSBQdXNoIFJvc3RlciBmcm9tIGZpbGUKKyslJS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrCisrcHVzaF9yb3N0ZXIoRmlsZSwgVXNlciwgU2VydmVy KSAtPgorKyAgICB7b2ssIFtSb3N0ZXJdfSA9IGZpbGU6Y29uc3VsdChGaWxlKSwKKysgICAgc3Vi c2NyaWJlX3Jvc3Rlcih7VXNlciwgU2VydmVyLCA8PD4+LCBVc2VyfSwgUm9zdGVyKS4KKysKKytw dXNoX3Jvc3Rlcl9hbGwoRmlsZSkgLT4KKysgICAge29rLCBbUm9zdGVyXX0gPSBmaWxlOmNvbnN1 bHQoRmlsZSksCisrICAgIHN1YnNjcmliZV9hbGwoUm9zdGVyKS4KKysKKytzdWJzY3JpYmVfYWxs KFJvc3RlcikgLT4KKysgICAgc3Vic2NyaWJlX2FsbChSb3N0ZXIsIFJvc3RlcikuCisrc3Vic2Ny aWJlX2FsbChbXSwgXykgLT4KKysgICAgb2s7Cisrc3Vic2NyaWJlX2FsbChbVXNlcjEgfCBVc2Vy c10sIFJvc3RlcikgLT4KKysgICAgc3Vic2NyaWJlX3Jvc3RlcihVc2VyMSwgUm9zdGVyKSwKKysg ICAgc3Vic2NyaWJlX2FsbChVc2VycywgUm9zdGVyKS4KKysKKytzdWJzY3JpYmVfcm9zdGVyKF8s IFtdKSAtPgorKyAgICBvazsKKyslJSBEbyBub3Qgc3Vic2NyaWJlIGEgdXNlciB0byBpdHNlbGYK KytzdWJzY3JpYmVfcm9zdGVyKHtOYW1lLCBTZXJ2ZXIsIEdyb3VwLCBOaWNrfSwgW3tOYW1lLCBT ZXJ2ZXIsIF8sIF99IHwgUm9zdGVyXSkgLT4KKysgICAgc3Vic2NyaWJlX3Jvc3Rlcih7TmFtZSwg U2VydmVyLCBHcm91cCwgTmlja30sIFJvc3Rlcik7CisrJSUgU3Vic2NyaWJlIE5hbWUyIHRvIE5h bWUxCisrc3Vic2NyaWJlX3Jvc3Rlcih7TmFtZTEsIFNlcnZlcjEsIEdyb3VwMSwgTmljazF9LCBb e05hbWUyLCBTZXJ2ZXIyLCBHcm91cDIsIE5pY2syfSB8IFJvc3Rlcl0pIC0+CisrICAgIHN1YnNj cmliZShOYW1lMSwgU2VydmVyMSwgTmFtZTIsIFNlcnZlcjIsIE5pY2syLCBHcm91cDIsIDw8ImJv dGgiPj4sIFtdKSwKKysgICAgc3Vic2NyaWJlX3Jvc3Rlcih7TmFtZTEsIFNlcnZlcjEsIEdyb3Vw MSwgTmljazF9LCBSb3N0ZXIpLgorKworK3B1c2hfYWxsdG9hbGwoUywgRykgLT4KKysgICAgVXNl cnMgPSBlamFiYmVyZF9hdXRoOmdldF92aF9yZWdpc3RlcmVkX3VzZXJzKFMpLAorKyAgICBVc2Vy czIgPSBidWlsZF9saXN0X3VzZXJzKEcsIFVzZXJzLCBbXSksCisrICAgIHN1YnNjcmliZV9hbGwo VXNlcnMyKSwKKysgICAgb2suCisrCisrYnVpbGRfbGlzdF91c2VycyhfR3JvdXAsIFtdLCBSZXMp IC0+CisrICAgIFJlczsKKytidWlsZF9saXN0X3VzZXJzKEdyb3VwLCBbe1VzZXIsIFNlcnZlcn18 VXNlcnNdLCBSZXMpIC0+CisrICAgIGJ1aWxkX2xpc3RfdXNlcnMoR3JvdXAsIFVzZXJzLCBbe1Vz ZXIsIFNlcnZlciwgR3JvdXAsIFVzZXJ9fFJlc10pLgorKworKyUlIEBzcGVjKExVLCBMUywgVSwg UywgQWN0aW9uKSAtPiBvaworKyUlICAgICAgIEFjdGlvbiA9IHthZGQsIE5pY2ssIFN1YnMsIEdy b3VwfSB8IHJlbW92ZQorKyUlIEBkb2MgUHVzaCB0byB0aGUgcm9zdGVyIG9mIGFjY291bnQgTFVA TFMgdGhlIGNvbnRhY3QgVUBTLgorKyUlIFRoZSBzcGVjaWZpYyBhY3Rpb24gdG8gcGVyZm9ybSBp cyBkZWZpbmVkIGluIEFjdGlvbi4KKytwdXNoX3Jvc3Rlcl9pdGVtKExVLCBMUywgVSwgUywgQWN0 aW9uKSAtPgorKyAgICBsaXN0czpmb3JlYWNoKGZ1bihSKSAtPgorKwkJCSAgcHVzaF9yb3N0ZXJf aXRlbShMVSwgTFMsIFIsIFUsIFMsIEFjdGlvbikKKysJCSAgZW5kLCBlamFiYmVyZF9zbTpnZXRf dXNlcl9yZXNvdXJjZXMoTFUsIExTKSkuCisrCisrcHVzaF9yb3N0ZXJfaXRlbShMVSwgTFMsIFIs IFUsIFMsIEFjdGlvbikgLT4KKysgICAgTEpJRCA9IGpsaWI6bWFrZV9qaWQoTFUsIExTLCBSKSwK KysgICAgQnJvYWRjYXN0RWwgPSBidWlsZF9icm9hZGNhc3QoVSwgUywgQWN0aW9uKSwKKysgICAg ZWphYmJlcmRfcm91dGVyOnJvdXRlKExKSUQsIExKSUQsIEJyb2FkY2FzdEVsKSwKKysgICAgSXRl bSA9IGJ1aWxkX3Jvc3Rlcl9pdGVtKFUsIFMsIEFjdGlvbiksCisrICAgIFJlc0lRID0gYnVpbGRf aXFfcm9zdGVyX3B1c2goSXRlbSksCisrICAgIGVqYWJiZXJkX3JvdXRlcjpyb3V0ZShMSklELCBM SklELCBSZXNJUSkuCisrCisrYnVpbGRfcm9zdGVyX2l0ZW0oVSwgUywge2FkZCwgTmljaywgU3Vi cywgR3JvdXB9KSAtPgorKyAgICB7eG1sZWwsIDw8Iml0ZW0iPj4sCisrICAgICBbezw8ImppZCI+ PiwgamxpYjpqaWRfdG9fc3RyaW5nKGpsaWI6bWFrZV9qaWQoVSwgUywgPDw+PikpfSwKKysgICAg ICB7PDwibmFtZSI+PiwgTmlja30sCisrICAgICAgezw8InN1YnNjcmlwdGlvbiI+PiwgU3Vic31d LAorKyAgICAgW3t4bWxlbCwgPDwiZ3JvdXAiPj4sIFtdLCBbe3htbGNkYXRhLCBHcm91cH1dfV0K KysgICAgfTsKKytidWlsZF9yb3N0ZXJfaXRlbShVLCBTLCByZW1vdmUpIC0+CisrICAgIHt4bWxl bCwgPDwiaXRlbSI+PiwKKysgICAgIFt7PDwiamlkIj4+LCBqbGliOmppZF90b19zdHJpbmcoamxp YjptYWtlX2ppZChVLCBTLCA8PD4+KSl9LAorKyAgICAgIHs8PCJzdWJzY3JpcHRpb24iPj4sIDw8 InJlbW92ZSI+Pn1dLAorKyAgICAgW10KKysgICAgfS4KKysKKytidWlsZF9pcV9yb3N0ZXJfcHVz aChJdGVtKSAtPgorKyAgICB7eG1sZWwsIDw8ImlxIj4+LAorKyAgICAgW3s8PCJ0eXBlIj4+LCA8 PCJzZXQiPj59LCB7PDwiaWQiPj4sIDw8InB1c2giPj59XSwKKysgICAgIFt7eG1sZWwsIDw8InF1 ZXJ5Ij4+LAorKyAgICAgICBbezw8InhtbG5zIj4+LCA/TlNfUk9TVEVSfV0sCisrICAgICAgIFtJ dGVtXQorKyAgICAgIH0KKysgICAgIF0KKysgICAgfS4KKysKKytidWlsZF9icm9hZGNhc3QoVSwg Uywge2FkZCwgX05pY2ssIFN1YnMsIF9Hcm91cH0pIC0+CisrICAgIGJ1aWxkX2Jyb2FkY2FzdChV LCBTLCBsaXN0X3RvX2F0b20oYmluYXJ5X3RvX2xpc3QoU3VicykpKTsKKytidWlsZF9icm9hZGNh c3QoVSwgUywgcmVtb3ZlKSAtPgorKyAgICBidWlsZF9icm9hZGNhc3QoVSwgUywgbm9uZSk7Cisr JSUgQHNwZWMgKFU6OmJpbmFyeSgpLCBTOjpiaW5hcnkoKSwgU3Viczo6YXRvbSgpKSAtPiBhbnko KQorKyUlIFN1YnMgPSBib3RoIHwgZnJvbSB8IHRvIHwgbm9uZQorK2J1aWxkX2Jyb2FkY2FzdChV LCBTLCBTdWJzQXRvbSkgd2hlbiBpc19hdG9tKFN1YnNBdG9tKSAtPgorKyAgICB7YnJvYWRjYXN0 LCB7aXRlbSwge1UsIFMsIDw8Pj59LCBTdWJzQXRvbX19LgorKworKyUlJQorKyUlJSBMYXN0IEFj dGl2aXR5CisrJSUlCisrCisrZ2V0X2xhc3QoVXNlciwgU2VydmVyKSAtPgorKyAgICBNb2QgPSBn ZXRfbGFzdGFjdGl2aXR5X21vZHVsZShTZXJ2ZXIpLAorKyAgICBjYXNlIGVqYWJiZXJkX3NtOmdl dF91c2VyX3Jlc291cmNlcyhVc2VyLCBTZXJ2ZXIpIG9mCisrICAgICAgICBbXSAtPgorKyAgICAg ICAgICAgIGNhc2UgTW9kOmdldF9sYXN0X2luZm8oVXNlciwgU2VydmVyKSBvZgorKyAgICAgICAg ICAgICAgICBub3RfZm91bmQgLT4KKysgICAgICAgICAgICAgICAgICAgICJOZXZlciI7CisrICAg ICAgICAgICAgICAgIHtvaywgU2hpZnQsIF9TdGF0dXN9IC0+CisrICAgICAgICAgICAgICAgICAg ICBUaW1lU3RhbXAgPSB7U2hpZnQgZGl2IDEwMDAwMDAsCisrICAgICAgICAgICAgICAgICAgICAg ICAgU2hpZnQgcmVtIDEwMDAwMDAsCisrICAgICAgICAgICAgICAgICAgICAgICAgMH0sCisrICAg ICAgICAgICAgICAgICAgICB7e1llYXIsIE1vbnRoLCBEYXl9LCB7SG91ciwgTWludXRlLCBTZWNv bmR9fSA9CisrICAgICAgICAgICAgICAgICAgICAgICAgY2FsZW5kYXI6bm93X3RvX2xvY2FsX3Rp bWUoVGltZVN0YW1wKSwKKysgICAgICAgICAgICAgICAgICAgIGxpc3RzOmZsYXR0ZW4oCisrICAg ICAgICAgICAgICAgICAgICAgICAgaW9fbGliOmZvcm1hdCgKKysgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIn53LX4uMi4wdy1+LjIuMHcgfi4yLjB3On4uMi4wdzp+LjIuMHciLAorKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICBbWWVhciwgTW9udGgsIERheSwgSG91ciwgTWludXRlLCBT ZWNvbmRdKSkKKysgICAgICAgICAgICBlbmQ7CisrICAgICAgICBfIC0+CisrICAgICAgICAgICAg Ik9ubGluZSIKKysgICAgZW5kLgorKworK3NldF9sYXN0KFVzZXIsIFNlcnZlciwgVGltZXN0YW1w LCBTdGF0dXMpIC0+CisrICAgIE1vZCA9IGdldF9sYXN0YWN0aXZpdHlfbW9kdWxlKFNlcnZlciks CisrICAgIE1vZDpzdG9yZV9sYXN0X2luZm8oVXNlciwgU2VydmVyLCBUaW1lc3RhbXAsIFN0YXR1 cykuCisrCisrJSUlCisrJSUlIFByaXZhdGUgU3RvcmFnZQorKyUlJQorKworKyUlIEV4YW1wbGUg dXNhZ2U6CisrJSUgJCBlamFiYmVyZGN0bCBwcml2YXRlX3NldCBiYWRsb3AgbG9jYWxob3N0ICJc PGFhXCB4bWxucz1cJ2JiXCdcPkNsdXRoXDwvYWFcPiIKKyslJSAkIGVqYWJiZXJkY3RsIHByaXZh dGVfZ2V0IGJhZGxvcCBsb2NhbGhvc3QgYWEgYmIKKyslJSA8YWEgeG1sbnM9J2JiJz5DbHV0aDwv YWE+CisrCisrcHJpdmF0ZV9nZXQoVXNlcm5hbWUsIEhvc3QsIEVsZW1lbnQsIE5zKSAtPgorKyAg ICBGcm9tID0gamxpYjptYWtlX2ppZChVc2VybmFtZSwgSG9zdCwgPDw+PiksCisrICAgIFRvID0g amxpYjptYWtlX2ppZChVc2VybmFtZSwgSG9zdCwgPDw+PiksCisrICAgIElRID0ge2lxLCA8PD4+ LCBnZXQsID9OU19QUklWQVRFLCA8PD4+LAorKwkgIHt4bWxlbCwgPDwicXVlcnkiPj4sCisrCSAg IFt7PDwieG1sbnMiPj4sP05TX1BSSVZBVEV9XSwKKysJICAgW3t4bWxlbCwgRWxlbWVudCwgW3s8 PCJ4bWxucyI+PiwgTnN9XSwgW119XX19LAorKyAgICBSZXNJcSA9IG1vZF9wcml2YXRlOnByb2Nl c3Nfc21faXEoRnJvbSwgVG8sIElRKSwKKysgICAgW3t4bWxlbCwgPDwicXVlcnkiPj4sCisrICAg ICAgW3s8PCJ4bWxucyI+PiwgPDwiamFiYmVyOmlxOnByaXZhdGUiPj59XSwKKysgICAgICBbU3Vi RWxdfV0gPSBSZXNJcSNpcS5zdWJfZWwsCisrICAgIHhtbDplbGVtZW50X3RvX3N0cmluZyhTdWJF bCkuCisrCisrcHJpdmF0ZV9zZXQoVXNlcm5hbWUsIEhvc3QsIEVsZW1lbnRTdHJpbmcpIC0+Cisr ICAgIGNhc2UgeG1sX3N0cmVhbTpwYXJzZV9lbGVtZW50KEVsZW1lbnRTdHJpbmcpIG9mCisrCXtl cnJvciwgRXJyb3J9IC0+CisrCSAgICBpbzpmb3JtYXQoIkVycm9yIGZvdW5kIHBhcnNpbmcgdGhl IGVsZW1lbnQ6fm4gIH5wfm5FcnJvcjogfnB+biIsCisrCQkgICAgICBbRWxlbWVudFN0cmluZywg RXJyb3JdKSwKKysJICAgIGVycm9yOworKwlYbWwgLT4KKysJICAgIHByaXZhdGVfc2V0MihVc2Vy bmFtZSwgSG9zdCwgWG1sKQorKyAgICBlbmQuCisrCisrcHJpdmF0ZV9zZXQyKFVzZXJuYW1lLCBI b3N0LCBYbWwpIC0+CisrICAgIEZyb20gPSBqbGliOm1ha2VfamlkKFVzZXJuYW1lLCBIb3N0LCA8 PD4+KSwKKysgICAgVG8gPSBqbGliOm1ha2VfamlkKFVzZXJuYW1lLCBIb3N0LCA8PD4+KSwKKysg ICAgSVEgPSB7aXEsIDw8Pj4sIHNldCwgP05TX1BSSVZBVEUsIDw8Pj4sCisrCSAge3htbGVsLCA8 PCJxdWVyeSI+PiwKKysJICAgW3s8PCJ4bWxucyI+PiwgP05TX1BSSVZBVEV9XSwKKysJICAgW1ht bF19fSwKKysgICAgbW9kX3ByaXZhdGU6cHJvY2Vzc19zbV9pcShGcm9tLCBUbywgSVEpLAorKyAg ICBvay4KKysKKyslJSUKKyslJSUgU2hhcmVkIFJvc3RlciBHcm91cHMKKyslJSUKKysKKytzcmdf Y3JlYXRlKEdyb3VwLCBIb3N0LCBOYW1lLCBEZXNjcmlwdGlvbiwgRGlzcGxheSkgLT4KKysgICAg RGlzcGxheUxpc3QgPSBjYXNlIERpc3BsYXkgb2YKKysJW10gLT4gW107CisrCV8gLT4gZWphYmJl cmRfcmVnZXhwOnNwbGl0KERpc3BsYXksIDw8IlxcXFxuIj4+KQorKyAgICBlbmQsCisrICAgIE9w dHMgPSBbe25hbWUsIE5hbWV9LAorKwkgICAge2Rpc3BsYXllZF9ncm91cHMsIERpc3BsYXlMaXN0 fSwKKysJICAgIHtkZXNjcmlwdGlvbiwgRGVzY3JpcHRpb259XSwKKysgICAge2F0b21pYywgb2t9 ID0gbW9kX3NoYXJlZF9yb3N0ZXI6Y3JlYXRlX2dyb3VwKEhvc3QsIEdyb3VwLCBPcHRzKSwKKysg ICAgb2suCisrCisrc3JnX2RlbGV0ZShHcm91cCwgSG9zdCkgLT4KKysgICAge2F0b21pYywgb2t9 ID0gbW9kX3NoYXJlZF9yb3N0ZXI6ZGVsZXRlX2dyb3VwKEhvc3QsIEdyb3VwKSwKKysgICAgb2su CisrCisrc3JnX2xpc3QoSG9zdCkgLT4KKysgICAgbGlzdHM6c29ydChtb2Rfc2hhcmVkX3Jvc3Rl cjpsaXN0X2dyb3VwcyhIb3N0KSkuCisrCisrc3JnX2dldF9pbmZvKEdyb3VwLCBIb3N0KSAtPgor KyAgICBPcHRzID0gY2FzZSBtb2Rfc2hhcmVkX3Jvc3RlcjpnZXRfZ3JvdXBfb3B0cyhIb3N0LEdy b3VwKSBvZgorKwlPcyB3aGVuIGlzX2xpc3QoT3MpIC0+IE9zOworKwllcnJvciAtPiBbXQorKyAg ICBlbmQsCisrICAgIFt7aW9fbGliOmZvcm1hdCgifnAiLCBbVGl0bGVdKSwKKysgICAgICBpb19s aWI6Zm9ybWF0KCJ+cCIsIFtWYWx1ZV0pfSB8fCB7VGl0bGUsIFZhbHVlfSA8LSBPcHRzXS4KKysK KytzcmdfZ2V0X21lbWJlcnMoR3JvdXAsIEhvc3QpIC0+CisrICAgIE1lbWJlcnMgPSBtb2Rfc2hh cmVkX3Jvc3RlcjpnZXRfZ3JvdXBfZXhwbGljaXRfdXNlcnMoSG9zdCxHcm91cCksCisrICAgIFtq bGliOmppZF90b19zdHJpbmcoamxpYjptYWtlX2ppZChNVXNlciwgTVNlcnZlciwgPDw+PikpCisr ICAgICB8fCB7TVVzZXIsIE1TZXJ2ZXJ9IDwtIE1lbWJlcnNdLgorKworK3NyZ191c2VyX2FkZChV c2VyLCBIb3N0LCBHcm91cCwgR3JvdXBIb3N0KSAtPgorKyAgICB7YXRvbWljLCBva30gPSBtb2Rf c2hhcmVkX3Jvc3RlcjphZGRfdXNlcl90b19ncm91cChHcm91cEhvc3QsIHtVc2VyLCBIb3N0fSwg R3JvdXApLAorKyAgICBvay4KKysKKytzcmdfdXNlcl9kZWwoVXNlciwgSG9zdCwgR3JvdXAsIEdy b3VwSG9zdCkgLT4KKysgICAge2F0b21pYywgb2t9ID0gbW9kX3NoYXJlZF9yb3N0ZXI6cmVtb3Zl X3VzZXJfZnJvbV9ncm91cChHcm91cEhvc3QsIHtVc2VyLCBIb3N0fSwgR3JvdXApLAorKyAgICBv ay4KKysKKysKKyslJSUKKyslJSUgU3RhbnphCisrJSUlCisrCisrJSUgQGRvYyBTZW5kIGEgY2hh dCBtZXNzYWdlIHRvIGEgSmFiYmVyIGFjY291bnQuCisrJSUgQHNwZWMgKEZyb206OmJpbmFyeSgp LCBUbzo6YmluYXJ5KCksIEJvZHk6OmJpbmFyeSgpKSAtPiBvaworK3NlbmRfbWVzc2FnZV9jaGF0 KEZyb20sIFRvLCBCb2R5KSAtPgorKyAgICBQYWNrZXQgPSBidWlsZF9wYWNrZXQobWVzc2FnZV9j aGF0LCBbQm9keV0pLAorKyAgICBzZW5kX3BhY2tldF9hbGxfcmVzb3VyY2VzKEZyb20sIFRvLCBQ YWNrZXQpLgorKworKyUlIEBkb2MgU2VuZCBhIGhlYWRsaW5lIG1lc3NhZ2UgdG8gYSBKYWJiZXIg YWNjb3VudC4KKyslJSBAc3BlYyAoRnJvbTo6YmluYXJ5KCksIFRvOjpiaW5hcnkoKSwgU3ViamVj dDo6YmluYXJ5KCksIEJvZHk6OmJpbmFyeSgpKSAtPiBvaworK3NlbmRfbWVzc2FnZV9oZWFkbGlu ZShGcm9tLCBUbywgU3ViamVjdCwgQm9keSkgLT4KKysgICAgUGFja2V0ID0gYnVpbGRfcGFja2V0 KG1lc3NhZ2VfaGVhZGxpbmUsIFtTdWJqZWN0LCBCb2R5XSksCisrICAgIHNlbmRfcGFja2V0X2Fs bF9yZXNvdXJjZXMoRnJvbSwgVG8sIFBhY2tldCkuCisrCisrJSUgQGRvYyBTZW5kIGEgcGFja2V0 IHRvIGEgSmFiYmVyIGFjY291bnQuCisrJSUgSWYgYSByZXNvdXJjZSB3YXMgc3BlY2lmaWVkIGlu IHRoZSBKSUQsCisrJSUgdGhlIHBhY2tldCBpcyBzZW50IG9ubHkgdG8gdGhhdCBzcGVjaWZpYyBy ZXNvdXJjZS4KKyslJSBJZiBubyByZXNvdXJjZSB3YXMgc3BlY2lmaWVkIGluIHRoZSBKSUQsCisr JSUgYW5kIHRoZSB1c2VyIGlzIHJlbW90ZSBvciBsb2NhbCBidXQgb2ZmbGluZSwKKyslJSB0aGUg cGFja2V0IGlzIHNlbnQgdG8gdGhlIGJhcmUgSklELgorKyUlIElmIHRoZSB1c2VyIGlzIGxvY2Fs IGFuZCBpcyBvbmxpbmUgaW4gc2V2ZXJhbCByZXNvdXJjZXMsCisrJSUgdGhlIHBhY2tldCBpcyBz ZW50IHRvIGFsbCBpdHMgcmVzb3VyY2VzLgorK3NlbmRfcGFja2V0X2FsbF9yZXNvdXJjZXMoRnJv bUpJRFN0cmluZywgVG9KSURTdHJpbmcsIFBhY2tldCkgLT4KKysgICAgRnJvbUpJRCA9IGpsaWI6 c3RyaW5nX3RvX2ppZChGcm9tSklEU3RyaW5nKSwKKysgICAgVG9KSUQgPSBqbGliOnN0cmluZ190 b19qaWQoVG9KSURTdHJpbmcpLAorKyAgICBUb1VzZXIgPSBUb0pJRCNqaWQudXNlciwKKysgICAg VG9TZXJ2ZXIgPSBUb0pJRCNqaWQuc2VydmVyLAorKyAgICBjYXNlIFRvSklEI2ppZC5yZXNvdXJj ZSBvZgorKwk8PD4+IC0+CisrCSAgICBzZW5kX3BhY2tldF9hbGxfcmVzb3VyY2VzKEZyb21KSUQs IFRvVXNlciwgVG9TZXJ2ZXIsIFBhY2tldCk7CisrCVJlcyAtPgorKwkgICAgc2VuZF9wYWNrZXRf YWxsX3Jlc291cmNlcyhGcm9tSklELCBUb1VzZXIsIFRvU2VydmVyLCBSZXMsIFBhY2tldCkKKysg ICAgZW5kLgorKworK3NlbmRfcGFja2V0X2FsbF9yZXNvdXJjZXMoRnJvbUpJRCwgVG9Vc2VyLCBU b1NlcnZlciwgUGFja2V0KSAtPgorKyAgICBjYXNlIGVqYWJiZXJkX3NtOmdldF91c2VyX3Jlc291 cmNlcyhUb1VzZXIsIFRvU2VydmVyKSBvZgorKwlbXSAtPgorKwkgICAgc2VuZF9wYWNrZXRfYWxs X3Jlc291cmNlcyhGcm9tSklELCBUb1VzZXIsIFRvU2VydmVyLCA8PD4+LCBQYWNrZXQpOworKwlU b1Jlc291cmNlcyAtPgorKwkgICAgbGlzdHM6Zm9yZWFjaCgKKysJICAgICAgZnVuKFRvUmVzb3Vy Y2UpIC0+CisrCQkgICAgICBzZW5kX3BhY2tldF9hbGxfcmVzb3VyY2VzKEZyb21KSUQsIFRvVXNl ciwgVG9TZXJ2ZXIsCisrCQkJCQkJVG9SZXNvdXJjZSwgUGFja2V0KQorKwkgICAgICBlbmQsCisr CSAgICAgIFRvUmVzb3VyY2VzKQorKyAgICBlbmQuCisrCisrc2VuZF9wYWNrZXRfYWxsX3Jlc291 cmNlcyhGcm9tSklELCBUb1UsIFRvUywgVG9SLCBQYWNrZXQpIC0+CisrICAgIFRvSklEID0gamxp YjptYWtlX2ppZChUb1UsIFRvUywgVG9SKSwKKysgICAgZWphYmJlcmRfcm91dGVyOnJvdXRlKEZy b21KSUQsIFRvSklELCBQYWNrZXQpLgorKworKworK2J1aWxkX3BhY2tldChtZXNzYWdlX2NoYXQs IFtCb2R5XSkgLT4KKysgICAge3htbGVsLCA8PCJtZXNzYWdlIj4+LAorKyAgICAgW3s8PCJ0eXBl Ij4+LCA8PCJjaGF0Ij4+fSwgezw8ImlkIj4+LCByYW5kb21zOmdldF9zdHJpbmcoKX1dLAorKyAg ICAgW3t4bWxlbCwgPDwiYm9keSI+PiwgW10sIFt7eG1sY2RhdGEsIEJvZHl9XX1dCisrICAgIH07 CisrYnVpbGRfcGFja2V0KG1lc3NhZ2VfaGVhZGxpbmUsIFtTdWJqZWN0LCBCb2R5XSkgLT4KKysg ICAge3htbGVsLCA8PCJtZXNzYWdlIj4+LAorKyAgICAgW3s8PCJ0eXBlIj4+LCA8PCJoZWFkbGlu ZSI+Pn0sIHs8PCJpZCI+PiwgcmFuZG9tczpnZXRfc3RyaW5nKCl9XSwKKysgICAgIFt7eG1sZWws IDw8InN1YmplY3QiPj4sIFtdLCBbe3htbGNkYXRhLCBTdWJqZWN0fV19LAorKyAgICAgIHt4bWxl bCwgPDwiYm9keSI+PiwgW10sIFt7eG1sY2RhdGEsIEJvZHl9XX0KKysgICAgIF0KKysgICAgfS4K KysKKytzZW5kX3N0YW56YV9jMnMoVXNlcm5hbWUsIEhvc3QsIFJlc291cmNlLCBTdGFuemEpIC0+ CisrICAgIEMyc1BpZCA9IGVqYWJiZXJkX3NtOmdldF9zZXNzaW9uX3BpZChVc2VybmFtZSwgSG9z dCwgUmVzb3VyY2UpLAorKyAgICBYbWxFbCA9IHhtbF9zdHJlYW06cGFyc2VfZWxlbWVudChTdGFu emEpLAorKyAgICBwMV9mc206c2VuZF9ldmVudChDMnNQaWQsIHt4bWxzdHJlYW1lbGVtZW50LCBY bWxFbH0pLgorKworK3ByaXZhY3lfc2V0KFVzZXJuYW1lLCBIb3N0LCBRdWVyeVMpIC0+CisrICAg IEZyb20gPSBqbGliOnN0cmluZ190b19qaWQoVXNlcm5hbWUgKysgIkAiICsrIEhvc3QpLAorKyAg ICBUbyA9IGpsaWI6c3RyaW5nX3RvX2ppZChIb3N0KSwKKysgICAgUXVlcnlFbCA9IHhtbF9zdHJl YW06cGFyc2VfZWxlbWVudChRdWVyeVMpLAorKyAgICBTdGFuemFFbCA9IHt4bWxlbCwgPDwiaXEi Pj4sIFt7PDwidHlwZSI+PiwgPDwic2V0Ij4+fV0sIFtRdWVyeUVsXX0sCisrICAgIElRID0gamxp YjppcV9xdWVyeV9pbmZvKFN0YW56YUVsKSwKKysgICAgZWphYmJlcmRfaG9va3M6cnVuX2ZvbGQo CisrCQkgICAgIHByaXZhY3lfaXFfc2V0LAorKwkJICAgICBIb3N0LAorKwkJICAgICB7ZXJyb3Is ID9FUlJfRkVBVFVSRV9OT1RfSU1QTEVNRU5URUR9LAorKwkJICAgICBbRnJvbSwgVG8sIElRXQor KwkJICAgICksCisrICAgIG9rLgorKworKyUlJQorKyUlJSBTdGF0cworKyUlJQorKworK3N0YXRz KE5hbWUpIC0+CisrICAgIGNhc2UgTmFtZSBvZgorKwk8PCJ1cHRpbWVzZWNvbmRzIj4+IC0+IHRy dW5jKGVsZW1lbnQoMSwgZXJsYW5nOnN0YXRpc3RpY3Mod2FsbF9jbG9jaykpLzEwMDApOworKwk8 PCJyZWdpc3RlcmVkdXNlcnMiPj4gLT4gbGVuZ3RoKGVqYWJiZXJkX2F1dGg6ZGlydHlfZ2V0X3Jl Z2lzdGVyZWRfdXNlcnMoKSk7CisrCTw8Im9ubGluZXVzZXJzbm9kZSI+PiAtPiBsZW5ndGgoZWph YmJlcmRfc206ZGlydHlfZ2V0X215X3Nlc3Npb25zX2xpc3QoKSk7CisrCTw8Im9ubGluZXVzZXJz Ij4+IC0+IGxlbmd0aChlamFiYmVyZF9zbTpkaXJ0eV9nZXRfc2Vzc2lvbnNfbGlzdCgpKQorKyAg ICBlbmQuCisrCisrc3RhdHMoTmFtZSwgSG9zdCkgLT4KKysgICAgY2FzZSBOYW1lIG9mCisrCTw8 InJlZ2lzdGVyZWR1c2VycyI+PiAtPiBsZW5ndGgoZWphYmJlcmRfYXV0aDpnZXRfdmhfcmVnaXN0 ZXJlZF91c2VycyhIb3N0KSk7CisrCTw8Im9ubGluZXVzZXJzIj4+IC0+IGxlbmd0aChlamFiYmVy ZF9zbTpnZXRfdmhfc2Vzc2lvbl9saXN0KEhvc3QpKQorKyAgICBlbmQuCisrCisrCisrCisrJSUt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKyUlIFB1cmdlIHJvc3RlciBpdGVtcworKyUl LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysKKytwcm9jZXNzX3Jvc3Rlcml0ZW1zKEFj dGlvblMsIFN1YnNTLCBBc2tzUywgVXNlcnNTLCBDb250YWN0c1MpIC0+CisrICAgIEFjdGlvbiA9 IGNhc2UgQWN0aW9uUyBvZgorKwkJICJsaXN0IiAtPiBsaXN0OworKwkJICJkZWxldGUiIC0+IGRl bGV0ZQorKwkgICAgIGVuZCwKKysKKysgICAgU3VicyA9IGxpc3RzOmZvbGRsKAorKwkgICAgIGZ1 bihhbnksIF8pIC0+IFtub25lLCBmcm9tLCB0bywgYm90aF07CisrCQkoU3ViLCBTdWJzKSAtPiBb U3ViIHwgU3Vic10KKysJICAgICBlbmQsCisrCSAgICAgW10sCisrCSAgICAgW2xpc3RfdG9fYXRv bShTKSB8fCBTIDwtIHN0cmluZzp0b2tlbnMoU3Vic1MsICI6IildCisrCSAgICApLAorKworKyAg ICBBc2tzID0gbGlzdHM6Zm9sZGwoCisrCSAgICAgZnVuKGFueSwgXykgLT4gW25vbmUsIG91dCwg aW5dOworKwkJKEFzaywgQXNrcykgLT4gW0FzayB8IEFza3NdCisrCSAgICAgZW5kLAorKwkgICAg IFtdLAorKwkgICAgIFtsaXN0X3RvX2F0b20oUykgfHwgUyA8LSBzdHJpbmc6dG9rZW5zKEFza3NT LCAiOiIpXQorKwkgICAgKSwKKysKKysgICAgVXNlcnMgPSBsaXN0czpmb2xkbCgKKysJICAgICAg ZnVuKCJhbnkiLCBfKSAtPiBbIioiLCAiKkAqIl07CisrCQkgKFUsIFVzKSAtPiBbVSB8IFVzXQor KwkgICAgICBlbmQsCisrCSAgICAgIFtdLAorKwkgICAgICBbUyB8fCBTIDwtIHN0cmluZzp0b2tl bnMoVXNlcnNTLCAiOiIpXQorKwkgICAgICksCisrCisrICAgIENvbnRhY3RzID0gbGlzdHM6Zm9s ZGwoCisrCQkgZnVuKCJhbnkiLCBfKSAtPiBbIioiLCAiKkAqIl07CisrCQkgICAgKFUsIFVzKSAt PiBbVSB8IFVzXQorKwkJIGVuZCwKKysJCSBbXSwKKysJCSBbUyB8fCBTIDwtIHN0cmluZzp0b2tl bnMoQ29udGFjdHNTLCAiOiIpXQorKwkJKSwKKysKKysgICAgY2FzZSByb3N0ZXJpdGVtX3B1cmdl KHtBY3Rpb24sIFN1YnMsIEFza3MsIFVzZXJzLCBDb250YWN0c30pIG9mCisrCXthdG9taWMsIFJl c30gLT4KKysJICAgIFJlczsKKysJe2Vycm9yLCBSZWFzb259IC0+CisrCSAgICBpbzpmb3JtYXQo IkVycm9yIHB1cmdpbmcgcm9zdGVyaXRlbXM6IH5wfm4iLCBbUmVhc29uXSksCisrCSAgICBlcnJv cjsKKysJe2JhZHJwYywgUmVhc29ufSAtPgorKwkgICAgaW86Zm9ybWF0KCJCYWRSUEMgcHVyZ2lu ZyByb3N0ZXJpdGVtczogfnB+biIsIFtSZWFzb25dKSwKKysJICAgIGVycm9yCisrICAgIGVuZC4K KysKKyslJSBAc3BlYyAoe0FjdGlvbjo6YXRvbSgpLCBTdWJzOjpbYXRvbSgpXSwgQXNrczo6W2F0 b20oKV0sIFVzZXI6OnN0cmluZygpLCBDb250YWN0OjpzdHJpbmcoKX0pIC0+IHthdG9taWMsIG9r fQorK3Jvc3Rlcml0ZW1fcHVyZ2UoT3B0aW9ucykgLT4KKysgICAgTnVtX3Jvc3Rlcml0ZW1zID0g bW5lc2lhOnRhYmxlX2luZm8ocm9zdGVyLCBzaXplKSwKKysgICAgaW86Zm9ybWF0KCJUaGVyZSBh cmUgfnAgcm9zdGVyIGl0ZW1zIGluIHRvdGFsLn5uIiwgW051bV9yb3N0ZXJpdGVtc10pLAorKyAg ICBLZXkgPSBtbmVzaWE6ZGlydHlfZmlyc3Qocm9zdGVyKSwKKysgICAgUmVzID0gcmlwKEtleSwg T3B0aW9ucywgezAsIE51bV9yb3N0ZXJpdGVtcywgMCwgMH0sIFtdKSwKKysgICAge2F0b21pYywg UmVzfS4KKysKKytyaXAoJyRlbmRfb2ZfdGFibGUnLCBfT3B0aW9ucywgQ291bnRlcnMsIFJlcykg LT4KKysgICAgcHJpbnRfcHJvZ3Jlc3NfbGluZShDb3VudGVycyksCisrICAgIFJlczsKKytyaXAo S2V5LCBPcHRpb25zLCB7UHIsIE5ULCBOViwgTkR9LCBSZXMpIC0+CisrICAgIEtleV9uZXh0ID0g bW5lc2lhOmRpcnR5X25leHQocm9zdGVyLCBLZXkpLAorKyAgICB7QWN0aW9uLCBfLCBfLCBfLCBf fSA9IE9wdGlvbnMsCisrICAgIHtORDIsIFJlczJ9ID0gY2FzZSBkZWNpZGVfcmlwKEtleSwgT3B0 aW9ucykgb2YKKysJICAgICAgdHJ1ZSAtPgorKwkJICBKaWRzID0gYXBwbHlfYWN0aW9uKEFjdGlv biwgS2V5KSwKKysJCSAge05EKzEsIFtKaWRzIHwgUmVzXX07CisrCSAgICAgIGZhbHNlIC0+Cisr CQkgIHtORCwgUmVzfQorKwkgIGVuZCwKKysgICAgTlYyID0gTlYrMSwKKysgICAgUHIyID0gcHJp bnRfcHJvZ3Jlc3NfbGluZSh7UHIsIE5ULCBOVjIsIE5EMn0pLAorKyAgICByaXAoS2V5X25leHQs IE9wdGlvbnMsIHtQcjIsIE5ULCBOVjIsIE5EMn0sIFJlczIpLgorKworK2FwcGx5X2FjdGlvbihs aXN0LCBLZXkpIC0+CisrICAgIHtVc2VyLCBTZXJ2ZXIsIEpJRH0gPSBLZXksCisrICAgIHtSVXNl ciwgUlNlcnZlciwgX30gPSBKSUQsCisrICAgIEppZDFzdHJpbmcgPSBVc2VyICsrICJAIiArKyBT ZXJ2ZXIsCisrICAgIEppZDJzdHJpbmcgPSBSVXNlciArKyAiQCIgKysgUlNlcnZlciwKKysgICAg aW86Zm9ybWF0KCJNYXRjaGVzOiB+cyB+c35uIiwgW0ppZDFzdHJpbmcsIEppZDJzdHJpbmddKSwK KysgICAge0ppZDFzdHJpbmcsIEppZDJzdHJpbmd9OworK2FwcGx5X2FjdGlvbihkZWxldGUsIEtl eSkgLT4KKysgICAgUiA9IGFwcGx5X2FjdGlvbihsaXN0LCBLZXkpLAorKyAgICBtbmVzaWE6ZGly dHlfZGVsZXRlKHJvc3RlciwgS2V5KSwKKysgICAgUi4KKysKKytwcmludF9wcm9ncmVzc19saW5l KHtQciwgTlQsIE5WLCBORH0pIC0+CisrICAgIFByMiA9IHRydW5jKChOVi9OVCkqMTAwKSwKKysg ICAgY2FzZSBQciA9PSBQcjIgb2YKKysJdHJ1ZSAtPgorKwkgICAgb2s7CisrCWZhbHNlIC0+Cisr CSAgICBpbzpmb3JtYXQoIlByb2dyZXNzIH5wJSAtIHZpc2l0ZWQgfnAgLSBkZWxldGVkIH5wfm4i LCBbUHIyLCBOViwgTkRdKQorKyAgICBlbmQsCisrICAgIFByMi4KKysKKytkZWNpZGVfcmlwKEtl eSwge19BY3Rpb24sIFN1YnMsIEFza3MsIFVzZXIsIENvbnRhY3R9KSAtPgorKyAgICBjYXNlIGNh dGNoIG1uZXNpYTpkaXJ0eV9yZWFkKHJvc3RlciwgS2V5KSBvZgorKwlbUkldIC0+CisrCSAgICBs aXN0czptZW1iZXIoUkkjcm9zdGVyLnN1YnNjcmlwdGlvbiwgU3VicykKKysJCWFuZGFsc28gbGlz dHM6bWVtYmVyKFJJI3Jvc3Rlci5hc2ssIEFza3MpCisrCQlhbmRhbHNvIGRlY2lkZV9yaXBfamlk KFJJI3Jvc3Rlci51cywgVXNlcikKKysJCWFuZGFsc28gZGVjaWRlX3JpcF9qaWQoUkkjcm9zdGVy LmppZCwgQ29udGFjdCk7CisrCV8gLT4KKysJICAgIGZhbHNlCisrICAgIGVuZC4KKysKKyslJSBS ZXR1cm5zIHRydWUgaWYgdGhlIHNlcnZlciBvZiB0aGUgSklEIGlzIGluY2x1ZGVkIGluIHRoZSBz ZXJ2ZXJzCisrZGVjaWRlX3JpcF9qaWQoe1VOYW1lLCBVU2VydmVyLCBfVVJlc291cmNlfSwgTWF0 Y2hfbGlzdCkgLT4KKysgICAgZGVjaWRlX3JpcF9qaWQoe1VOYW1lLCBVU2VydmVyfSwgTWF0Y2hf bGlzdCk7CisrZGVjaWRlX3JpcF9qaWQoe1VOYW1lLCBVU2VydmVyfSwgTWF0Y2hfbGlzdCkgLT4K KysgICAgbGlzdHM6YW55KAorKyAgICAgIGZ1bihNYXRjaF9zdHJpbmcpIC0+CisrCSAgICAgIE1K SUQgPSBqbGliOnN0cmluZ190b19qaWQoTWF0Y2hfc3RyaW5nKSwKKysJICAgICAgTU5hbWUgPSBN SklEI2ppZC5sdXNlciwKKysJICAgICAgTVNlcnZlciA9IE1KSUQjamlkLmxzZXJ2ZXIsCisrCSAg ICAgIElzX3NlcnZlciA9IGlzX2dsb2JfbWF0Y2goVVNlcnZlciwgTVNlcnZlciksCisrCSAgICAg IGNhc2UgTU5hbWUgb2YKKysJCSAgW10gd2hlbiBVTmFtZSA9PSBbXSAtPgorKwkJICAgICAgSXNf c2VydmVyOworKwkJICBbXSAtPgorKwkJICAgICAgZmFsc2U7CisrCQkgIF8gLT4KKysJCSAgICAg IElzX3NlcnZlcgorKwkJCSAgYW5kYWxzbyBpc19nbG9iX21hdGNoKFVOYW1lLCBNTmFtZSkKKysJ ICAgICAgZW5kCisrICAgICAgZW5kLAorKyAgICAgIE1hdGNoX2xpc3QpLgorKworKyUlIENvcGll ZCBmcm9tIGVqYWJiZXJkLTIuMC4wL3NyYy9hY2wuZXJsCisraXNfcmVnZXhwX21hdGNoKFN0cmlu ZywgUmVnRXhwKSAtPgorKyAgICBjYXNlIGVqYWJiZXJkX3JlZ2V4cDpydW4oU3RyaW5nLCBSZWdF eHApIG9mCisrCW5vbWF0Y2ggLT4KKysJICAgIGZhbHNlOworKwltYXRjaCAtPgorKwkgICAgdHJ1 ZTsKKysJe2Vycm9yLCBFcnJEZXNjfSAtPgorKwkgICAgaW86Zm9ybWF0KAorKwkgICAgICAiV3Jv bmcgcmVnZXhwIH5wIGluIEFDTDogfnAiLAorKwkgICAgICBbUmVnRXhwLCBFcnJEZXNjXSksCisr CSAgICBmYWxzZQorKyAgICBlbmQuCisraXNfZ2xvYl9tYXRjaChTdHJpbmcsIFskISB8IEdsb2Jd KSAtPgorKyAgICBub3QgaXNfcmVnZXhwX21hdGNoKFN0cmluZywgZWphYmJlcmRfcmVnZXhwOnNo X3RvX2F3ayhHbG9iKSk7CisraXNfZ2xvYl9tYXRjaChTdHJpbmcsIEdsb2IpIC0+CisrICAgIGlz X3JlZ2V4cF9tYXRjaChTdHJpbmcsIGVqYWJiZXJkX3JlZ2V4cDpzaF90b19hd2soR2xvYikpLgoK ZGlmZiAtLWdpdCBhL2VqYWJiZXJkLTAwMDMtRmVkb3JhLXNwZWNpZmljLWNoYW5nZXMtdG8tZWph YmJlcmRjdGwucGF0Y2ggYi9lamFiYmVyZC0wMDAzLUZlZG9yYS1zcGVjaWZpYy1jaGFuZ2VzLXRv LWVqYWJiZXJkY3RsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY5 Y2YzMzEKLS0tIC9kZXYvbnVsbAorKysgYi9lamFiYmVyZC0wMDAzLUZlZG9yYS1zcGVjaWZpYy1j aGFuZ2VzLXRvLWVqYWJiZXJkY3RsLnBhdGNoCkBAIC0wLDAgKzEsMTkgQEAKK0Zyb206IFBldGVy IExlbWVua292IDxsZW1lbmtvdkBnbWFpbC5jb20+CitEYXRlOiBUdWUsIDE2IEZlYiAyMDEwIDE2 OjMwOjA1ICswMzAwCitTdWJqZWN0OiBbUEFUQ0hdIEZlZG9yYS1zcGVjaWZpYyBjaGFuZ2VzIHRv IGVqYWJiZXJkY3RsCisKK1NpZ25lZC1vZmYtYnk6IFBldGVyIExlbWVua292IDxsZW1lbmtvdkBn bWFpbC5jb20+CisKK2RpZmYgLS1naXQgYS9lamFiYmVyZGN0bC50ZW1wbGF0ZSBiL2VqYWJiZXJk Y3RsLnRlbXBsYXRlCitpbmRleCBhODY2OTRmLi4wOWI5OTQ3IDEwMDc1NQorLS0tIGEvZWphYmJl cmRjdGwudGVtcGxhdGUKKysrKyBiL2VqYWJiZXJkY3RsLnRlbXBsYXRlCitAQCAtMjIsNyArMjIs NyBAQCBpZiBbICIkSU5TVEFMTFVTRVIiICE9ICIiIF0gOyB0aGVuCisgICAgIEVYRUNfQ01EPSJm YWxzZSIKKyAgICAgZm9yIEdJRCBpbiBgaWQgLUdgOyBkbworICAgICAgICAgaWYgWyAkR0lEIC1l cSAwIF0gOyB0aGVuCistICAgICAgICAgICAgRVhFQ19DTUQ9InN1ICRJTlNUQUxMVVNFUiAtcCAt YyIKKysgICAgICAgICAgICBFWEVDX0NNRD0iL3NiaW4vcnVudXNlciAtcyAvYmluL2Jhc2ggLXAg ZWphYmJlcmQgLWMiCisgICAgICAgICBmaQorICAgICBkb25lCisgICAgIGlmIFsgYGlkIC1nYCAt ZXEgYGlkIC1nICRJTlNUQUxMVVNFUmAgXSA7IHRoZW4KCmRpZmYgLS1naXQgYS9lamFiYmVyZC0w MDAzLUludHJvZHVjaW5nLW1vZF9hZG1pbl9leHRyYS5wYXRjaCBiL2VqYWJiZXJkLTAwMDMtSW50 cm9kdWNpbmctbW9kX2FkbWluX2V4dHJhLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAzZjlkOGE3Li4wMDAwMDAwCi0tLSBhL2VqYWJiZXJkLTAwMDMtSW50cm9kdWNpbmctbW9k X2FkbWluX2V4dHJhLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTYwNyArMCwwIEBACi1Gcm9t IDM2M2JmYWI3MTNkOTI2N2UzMTg2MTI2ZDJkZjQxNjJmMjQ5NjlkOGMgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCi1Gcm9tOiBCYWRsb3AgPGJhZGxvcEBwcm9jZXNzLW9uZS5uZXQ+Ci1EYXRlOiBU dWUsIDE2IEZlYiAyMDEwIDE2OjEyOjE3ICswMzAwCi1TdWJqZWN0OiBbUEFUQ0ggMDMvMTBdIElu dHJvZHVjaW5nIG1vZF9hZG1pbl9leHRyYQotCi1BZGRzIHRoZSBtb2RfYWRtaW5fZXh0cmEgbW9k dWxlIHRvIGVqYWJiZXJkLgotVGhpcyBtb2R1bGUgZXh0ZW5kcyB0aGUgZnVuY3Rpb25hbGl0eSBw cm92aWRlZCBieSBlamFiYmVyZGN0bAotYnkgYWRkaW5nIHNldmVyYWwgbmV3IGNvbW1hbmRzLgot Ci1UaGUgY29kZSBpcyB0YWtlbiBmcm9tIHRoZSBQcm9jZXNzT25lIHJlcG9zaXRvcnk6Ci0KLXN2 biBleHBvcnQgLXIgMTEyNSBodHRwczovL3N2bi5wcm9jZXNzLW9uZS5uZXQvZWphYmJlcmQtbW9k dWxlcy9tb2RfYWRtaW5fZXh0cmEvdHJ1bmsvc3JjL21vZF9hZG1pbl9leHRyYS5lcmwKLS0tLQot IHNyYy9lamFiYmVyZC5hcHAgICAgICAgIHwgICAgMSArCi0gc3JjL21vZF9hZG1pbl9leHRyYS5l cmwgfCAxNTY4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr Ci0gMiBmaWxlcyBjaGFuZ2VkLCAxNTY5IGluc2VydGlvbnMoKykKLSBjcmVhdGUgbW9kZSAxMDA2 NDQgc3JjL21vZF9hZG1pbl9leHRyYS5lcmwKLQotZGlmZiAtLWdpdCBhL3NyYy9lamFiYmVyZC5h cHAgYi9zcmMvZWphYmJlcmQuYXBwCi1pbmRleCAxMzIwNTk3Li40ZWZjNjhkIDEwMDY0NAotLS0t IGEvc3JjL2VqYWJiZXJkLmFwcAotKysrIGIvc3JjL2VqYWJiZXJkLmFwcAotQEAgLTk5LDYgKzk5 LDcgQEAKLSAJICAgICBtb2RfdmNhcmQsCi0gCSAgICAgbW9kX3ZjYXJkX2xkYXAsCi0gCSAgICAg bW9kX3ZlcnNpb24sCi0rICAgICAgICAgICAgIG1vZF9hZG1pbl9leHRyYSwKLSAJICAgICBub2Rl X2J1ZGR5LAotIAkgICAgIG5vZGVfY2x1YiwKLSAJICAgICBub2RlX2RlZmF1bHQsCi1kaWZmIC0t Z2l0IGEvc3JjL21vZF9hZG1pbl9leHRyYS5lcmwgYi9zcmMvbW9kX2FkbWluX2V4dHJhLmVybAot bmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAuLjFjZWYyNWEKLS0tLSAvZGV2L251 bGwKLSsrKyBiL3NyYy9tb2RfYWRtaW5fZXh0cmEuZXJsCi1AQCAtMCwwICsxLDE1NjggQEAKLSsl JSUtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCi0rJSUlIEZpbGUgICAgOiBtb2RfYWRtaW5fZXh0cmEuZXJsCi0rJSUlIEF1 dGhvciAgOiBCYWRsb3AgPGJhZGxvcEBwcm9jZXNzLW9uZS5uZXQ+Ci0rJSUlIFB1cnBvc2UgOiBD b250cmlidXRlZCBhZG1pbmlzdHJhdGl2ZSBmdW5jdGlvbnMgYW5kIGNvbW1hbmRzCi0rJSUlIENy ZWF0ZWQgOiAxMCBBdWcgMjAwOCBieSBCYWRsb3AgPGJhZGxvcEBwcm9jZXNzLW9uZS5uZXQ+Ci0r JSUlCi0rJSUlCi0rJSUlIGVqYWJiZXJkLCBDb3B5cmlnaHQgKEMpIDIwMDItMjAwOCAgIFByb2Nl c3NPbmUKLSslJSUKLSslJSUgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g cmVkaXN0cmlidXRlIGl0IGFuZC9vcgotKyUlJSBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwotKyUlJSBwdWJsaXNoZWQgYnkgdGhl IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUKLSslJSUg TGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSslJSUKLSsl JSUgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi ZSB1c2VmdWwsCi0rJSUlIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0rJSUlIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZP UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0rJSUlIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSslJSUKLSslJSUgWW91IHNob3VsZCBoYXZlIHJl Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSslJSUgYWxv bmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUK LSslJSUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3Rv biwgTUEKLSslJSUgMDIxMTEtMTMwNyBVU0EKLSslJSUKLSslJSUtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0rCi0rLW1v ZHVsZShtb2RfYWRtaW5fZXh0cmEpLgotKy1hdXRob3IoJ2JhZGxvcEBwcm9jZXNzLW9uZS5uZXQn KS4KLSsKLSstYmVoYXZpb3VyKGdlbl9tb2QpLgotKwotKy1leHBvcnQoW3N0YXJ0LzIsIHN0b3Av MSwKLSsJICUlIE5vZGUKLSsJIGNvbXBpbGUvMSwKLSsJIGxvYWRfY29uZmlnLzEsCi0rCSBnZXRf Y29va2llLzAsCi0rCSByZW1vdmVfbm9kZS8xLAotKwkgZXhwb3J0Mm9kYmMvMiwKLSsJICUlIEFj Y291bnRzCi0rCSBzZXRfcGFzc3dvcmQvMywKLSsJIGNoZWNrX3Bhc3N3b3JkX2hhc2gvNCwKLSsJ IGRlbGV0ZV9vbGRfdXNlcnMvMSwKLSsJIGRlbGV0ZV9vbGRfdXNlcnNfdmhvc3QvMiwKLSsJIGJh bl9hY2NvdW50LzMsCi0rCSBudW1fYWN0aXZlX3VzZXJzLzIsCi0rCSAlJSBTZXNzaW9ucwotKwkg bnVtX3Jlc291cmNlcy8yLAotKwkgcmVzb3VyY2VfbnVtLzMsCi0rCSBraWNrX3Nlc3Npb24vNCwK LSsJIHN0YXR1c19udW0vMiwgc3RhdHVzX251bS8xLAotKwkgc3RhdHVzX2xpc3QvMiwgc3RhdHVz X2xpc3QvMSwKLSsJIGNvbm5lY3RlZF91c2Vyc19pbmZvLzAsCi0rCSBjb25uZWN0ZWRfdXNlcnNf dmhvc3QvMSwKLSsJIHNldF9wcmVzZW5jZS83LAotKwkgdXNlcl9zZXNzaW9uc19pbmZvLzIsCi0r CSAlJSBWY2FyZAotKwkgc2V0X25pY2tuYW1lLzMsCi0rCSBnZXRfdmNhcmQvMywKLSsJIGdldF92 Y2FyZC80LAotKwkgZ2V0X3ZjYXJkX211bHRpLzQsCi0rCSBzZXRfdmNhcmQvNCwKLSsJIHNldF92 Y2FyZC81LAotKwkgJSUgUm9zdGVyCi0rCSBhZGRfcm9zdGVyaXRlbS83LAotKwkgZGVsZXRlX3Jv c3Rlcml0ZW0vNCwKLSsJIHByb2Nlc3Nfcm9zdGVyaXRlbXMvNSwKLSsJIGdldF9yb3N0ZXIvMiwK LSsJIHB1c2hfcm9zdGVyLzMsCi0rCSBwdXNoX3Jvc3Rlcl9hbGwvMSwKLSsJIHB1c2hfYWxsdG9h bGwvMiwKLSsJICUlIG1vZF9sYXN0Ci0rCSBzZXRfbGFzdC80LAotKwkgJSUgbW9kX3ByaXZhdGUK LSsJIHByaXZhdGVfZ2V0LzQsCi0rCSBwcml2YXRlX3NldC8zLAotKwkgJSUgbW9kX3NoYXJlZF9y b3N0ZXIKLSsJIHNyZ19jcmVhdGUvNSwKLSsJIHNyZ19kZWxldGUvMiwKLSsJIHNyZ19saXN0LzEs Ci0rCSBzcmdfZ2V0X2luZm8vMiwKLSsJIHNyZ19nZXRfbWVtYmVycy8yLAotKwkgc3JnX3VzZXJf YWRkLzQsCi0rCSBzcmdfdXNlcl9kZWwvNCwKLSsJICUlIFN0YW56YQotKwkgc2VuZF9tZXNzYWdl X2hlYWRsaW5lLzQsCi0rCSBzZW5kX21lc3NhZ2VfY2hhdC8zLAotKwkgc2VuZF9zdGFuemFfYzJz LzQsCi0rCSBwcml2YWN5X3NldC8zLAotKwkgJSUgU3RhdHMKLSsJIHN0YXRzLzEsIHN0YXRzLzIK LSsJXSkuCi0rCi0rLWluY2x1ZGUoImVqYWJiZXJkLmhybCIpLgotKy1pbmNsdWRlKCJlamFiYmVy ZF9jb21tYW5kcy5ocmwiKS4KLSstaW5jbHVkZSgibW9kX3Jvc3Rlci5ocmwiKS4KLSstaW5jbHVk ZSgiamxpYi5ocmwiKS4KLSsKLSslJSBDb3BpZWQgZnJvbSBlamFiYmVyZF9zbS5lcmwKLSstcmVj b3JkKHNlc3Npb24sIHtzaWQsIHVzciwgdXMsIHByaW9yaXR5LCBpbmZvfSkuCi0rCi0rCi0rJSUl Ci0rJSUlIGdlbl9tb2QKLSslJSUKLSsKLStzdGFydChfSG9zdCwgX09wdHMpIC0+Ci0rICAgIGVq YWJiZXJkX2NvbW1hbmRzOnJlZ2lzdGVyX2NvbW1hbmRzKGNvbW1hbmRzKCkpLgotKwotK3N0b3Ao X0hvc3QpIC0+Ci0rICAgIGVqYWJiZXJkX2NvbW1hbmRzOnVucmVnaXN0ZXJfY29tbWFuZHMoY29t bWFuZHMoKSkuCi0rCi0rCi0rJSUlCi0rJSUlIFJlZ2lzdGVyIGNvbW1hbmRzCi0rJSUlCi0rCi0r Y29tbWFuZHMoKSAtPgotKyAgICBWY2FyZDFGaWVsZHNTdHJpbmcgPSAiU29tZSB2Y2FyZCBmaWVs ZCBuYW1lcyBpbiBnZXQvc2V0X3ZjYXJkIGFyZTpcbiIKLSsJIiBGTgkJLSBGdWxsIE5hbWVcbiIK LSsJIiBOSUNLTkFNRQktIE5pY2tuYW1lXG4iCi0rCSIgQkRBWQkJLSBCaXJ0aGRheVxuIgotKwki IFRJVExFCQktIFdvcms6IFBvc2l0aW9uXG4iCi0rCSIgUk9MRQkJLSBXb3JrOiBSb2xlIiwKLSsK LSsgICAgVmNhcmQyRmllbGRzU3RyaW5nID0gIlNvbWUgdmNhcmQgZmllbGQgbmFtZXMgYW5kIHN1 Ym5hbWVzIGluIGdldC9zZXRfdmNhcmQyIGFyZTpcbiIKLSsJIiBOIEZBTUlMWQktIEZhbWlseSBu YW1lXG4iCi0rCSIgTiBHSVZFTgktIEdpdmVuIG5hbWVcbiIKLSsJIiBOIE1JRERMRQktIE1pZGRs ZSBuYW1lXG4iCi0rCSIgQURSIENUUlkJLSBBZGRyZXNzOiBDb3VudHJ5XG4iCi0rCSIgQURSIExP Q0FMSVRZCS0gQWRkcmVzczogQ2l0eVxuIgotKwkiIEVNQUlMIFVTRVJJRAktIEUtTWFpbCBBZGRy ZXNzXG4iCi0rCSIgT1JHIE9SR05BTUUJLSBXb3JrOiBDb21wYW55XG4iCi0rCSIgT1JHIE9SR1VO SVQJLSBXb3JrOiBEZXBhcnRtZW50IiwKLSsKLSsgICAgVmNhcmRYRVAgPSAiRm9yIGEgZnVsbCBs aXN0IG9mIHZDYXJkIGZpZWxkcyBjaGVjayBYRVAtMDA1NDogdmNhcmQtdGVtcCBhdCAiCi0rCSJo dHRwOi8vd3d3LnhtcHAub3JnL2V4dGVuc2lvbnMveGVwLTAwNTQuaHRtbCIsCi0rCi0rICAgIFsK LSsgICAgICNlamFiYmVyZF9jb21tYW5kc3tuYW1lID0gY29tcGlsZSwgdGFncyA9IFtlcmxhbmdd LAotKwkJCWRlc2MgPSAiUmVjb21waWxlIGFuZCByZWxvYWQgRXJsYW5nIHNvdXJjZSBjb2RlIGZp bGUiLAotKwkJCW1vZHVsZSA9ID9NT0RVTEUsIGZ1bmN0aW9uID0gY29tcGlsZSwKLSsJCQlhcmdz ID0gW3tmaWxlLCBzdHJpbmd9XSwKLSsJCQlyZXN1bHQgPSB7cmVzLCByZXNjb2RlfX0sCi0rICAg ICAjZWphYmJlcmRfY29tbWFuZHN7bmFtZSA9IGxvYWRfY29uZmlnLCB0YWdzID0gW3NlcnZlcl0s Ci0rCQkJZGVzYyA9ICJMb2FkIGVqYWJiZXJkIGNvbmZpZ3VyYXRpb24gZmlsZSIsCi0rCQkJbW9k dWxlID0gP01PRFVMRSwgZnVuY3Rpb24gPSBsb2FkX2NvbmZpZywKLSsJCQlhcmdzID0gW3tmaWxl LCBzdHJpbmd9XSwKLSsJCQlyZXN1bHQgPSB7cmVzLCByZXNjb2RlfX0sCi0rICAgICAjZWphYmJl cmRfY29tbWFuZHN7bmFtZSA9IGdldF9jb29raWUsIHRhZ3MgPSBbZXJsYW5nXSwKLSsJCQlkZXNj ID0gIkdldCB0aGUgRXJsYW5nIGNvb2tpZSBvZiB0aGlzIG5vZGUiLAotKwkJCW1vZHVsZSA9ID9N T0RVTEUsIGZ1bmN0aW9uID0gZ2V0X2Nvb2tpZSwKLSsJCQlhcmdzID0gW10sCi0rCQkJcmVzdWx0 ID0ge2Nvb2tpZSwgc3RyaW5nfX0sCi0rICAgICAjZWphYmJlcmRfY29tbWFuZHN7bmFtZSA9IHJl bW92ZV9ub2RlLCB0YWdzID0gW2VybGFuZ10sCi0rCQkJZGVzYyA9ICJSZW1vdmUgYW4gZWphYmJl cmQgbm9kZSBmcm9tIE1uZXNpYSBjbHVzdGVyaW5nIGNvbmZpZyIsCi0rCQkJbW9kdWxlID0gP01P RFVMRSwgZnVuY3Rpb24gPSByZW1vdmVfbm9kZSwKLSsJCQlhcmdzID0gW3tub2RlLCBzdHJpbmd9 XSwKLSsJCQlyZXN1bHQgPSB7cmVzLCByZXNjb2RlfX0sCi0rICAgICAjZWphYmJlcmRfY29tbWFu ZHN7bmFtZSA9IGV4cG9ydDJvZGJjLCB0YWdzID0gW21uZXNpYV0sCi0rCQkJZGVzYyA9ICJFeHBv cnQgTW5lc2lhIHRhYmxlcyB0byBmaWxlcyBpbiBkaXJlY3RvcnkiLAotKwkJCW1vZHVsZSA9ID9N T0RVTEUsIGZ1bmN0aW9uID0gZXhwb3J0Mm9kYmMsCi0rCQkJYXJncyA9IFt7aG9zdCwgc3RyaW5n fSwge3BhdGgsIHN0cmluZ31dLAotKwkJCXJlc3VsdCA9IHtyZXMsIHJlc2NvZGV9fSwKLSsKLSsg ICAgICNlamFiYmVyZF9jb21tYW5kc3tuYW1lID0gbnVtX2FjdGl2ZV91c2VycywgdGFncyA9IFth Y2NvdW50cywgc3RhdHNdLAotKwkJCWRlc2MgPSAiR2V0IG51bWJlciBvZiB1c2VycyBhY3RpdmUg aW4gdGhlIGxhc3QgZGF5cyIsCi0rCQkJbW9kdWxlID0gP01PRFVMRSwgZnVuY3Rpb24gPSBudW1f YWN0aXZlX3VzZXJzLAotKwkJCWFyZ3MgPSBbe2hvc3QsIHN0cmluZ30sIHtkYXlzLCBpbnRlZ2Vy fV0sCi0rCQkJcmVzdWx0ID0ge3VzZXJzLCBpbnRlZ2VyfX0sCi0rICAgICAjZWphYmJlcmRfY29t bWFuZHN7bmFtZSA9IGRlbGV0ZV9vbGRfdXNlcnMsIHRhZ3MgPSBbYWNjb3VudHMsIHB1cmdlXSwK LSsJCQlkZXNjID0gIkRlbGV0ZSB1c2VycyB0aGF0IGRpZG4ndCBsb2cgaW4gbGFzdCBkYXlzLCBv ciB0aGF0IG5ldmVyIGxvZ2dlZCIsCi0rCQkJbW9kdWxlID0gP01PRFVMRSwgZnVuY3Rpb24gPSBk ZWxldGVfb2xkX3VzZXJzLAotKwkJCWFyZ3MgPSBbe2RheXMsIGludGVnZXJ9XSwKLSsJCQlyZXN1 bHQgPSB7cmVzLCByZXN0dXBsZX19LAotKyAgICAgI2VqYWJiZXJkX2NvbW1hbmRze25hbWUgPSBk ZWxldGVfb2xkX3VzZXJzX3Zob3N0LCB0YWdzID0gW2FjY291bnRzLCBwdXJnZV0sCi0rCQkJZGVz YyA9ICJEZWxldGUgdXNlcnMgdGhhdCBkaWRuJ3QgbG9nIGluIGxhc3QgZGF5cyBpbiB2aG9zdCwg b3IgdGhhdCBuZXZlciBsb2dnZWQiLAotKwkJCW1vZHVsZSA9ID9NT0RVTEUsIGZ1bmN0aW9uID0g ZGVsZXRlX29sZF91c2Vyc192aG9zdCwKLSsJCQlhcmdzID0gW3tob3N0LCBzdHJpbmd9LCB7ZGF5 cywgaW50ZWdlcn1dLAotKwkJCXJlc3VsdCA9IHtyZXMsIHJlc3R1cGxlfX0sCi0rCi0rICAgICAj ZWphYmJlcmRfY29tbWFuZHN7bmFtZSA9IGNoZWNrX2FjY291bnQsIHRhZ3MgPSBbYWNjb3VudHNd LAotKwkJCWRlc2MgPSAiQ2hlY2sgaWYgYW4gYWNjb3VudCBleGlzdHMgb3Igbm90IiwKLSsJCQlt b2R1bGUgPSBlamFiYmVyZF9hdXRoLCBmdW5jdGlvbiA9IGlzX3VzZXJfZXhpc3RzLAotKwkJCWFy Z3MgPSBbe3VzZXIsIHN0cmluZ30sIHtob3N0LCBzdHJpbmd9XSwKLSsJCQlyZXN1bHQgPSB7cmVz LCByZXNjb2RlfX0sCi0rICAgICAjZWphYmJlcmRfY29tbWFuZHN7bmFtZSA9IGNoZWNrX3Bhc3N3 b3JkLCB0YWdzID0gW2FjY291bnRzXSwKLSsJCQlkZXNjID0gIkNoZWNrIGlmIGEgcGFzc3dvcmQg aXMgY29ycmVjdCIsCi0rCQkJbW9kdWxlID0gZWphYmJlcmRfYXV0aCwgZnVuY3Rpb24gPSBjaGVj a19wYXNzd29yZCwKLSsJCQlhcmdzID0gW3t1c2VyLCBzdHJpbmd9LCB7aG9zdCwgc3RyaW5nfSwg e3Bhc3N3b3JkLCBzdHJpbmd9XSwKLSsJCQlyZXN1bHQgPSB7cmVzLCByZXNjb2RlfX0sCi0rICAg ICAjZWphYmJlcmRfY29tbWFuZHN7bmFtZSA9IGNoZWNrX3Bhc3N3b3JkX2hhc2gsIHRhZ3MgPSBb YWNjb3VudHNdLAotKwkJCWRlc2MgPSAiQ2hlY2sgaWYgdGhlIHBhc3N3b3JkIGhhc2ggaXMgY29y cmVjdCIsCi0rCQkJbG9uZ2Rlc2MgPSAiQWxsb3dlZCBoYXNoIG1ldGhvZHM6IG1kNSwgc2hhLiIs Ci0rCQkJbW9kdWxlID0gP01PRFVMRSwgZnVuY3Rpb24gPSBjaGVja19wYXNzd29yZF9oYXNoLAot KwkJCWFyZ3MgPSBbe3VzZXIsIHN0cmluZ30sIHtob3N0LCBzdHJpbmd9LCB7cGFzc3dvcmRoYXNo LCBzdHJpbmd9LCB7aGFzaG1ldGhvZCwgc3RyaW5nfV0sCi0rCQkJcmVzdWx0ID0ge3JlcywgcmVz Y29kZX19LAotKyAgICAgI2VqYWJiZXJkX2NvbW1hbmRze25hbWUgPSBjaGFuZ2VfcGFzc3dvcmQs IHRhZ3MgPSBbYWNjb3VudHNdLAotKwkJCWRlc2MgPSAiQ2hhbmdlIHRoZSBwYXNzd29yZCBvZiBh biBhY2NvdW50IiwKLSsJCQltb2R1bGUgPSA/TU9EVUxFLCBmdW5jdGlvbiA9IHNldF9wYXNzd29y ZCwKLSsJCQlhcmdzID0gW3t1c2VyLCBzdHJpbmd9LCB7aG9zdCwgc3RyaW5nfSwge25ld3Bhc3Ms IHN0cmluZ31dLAotKwkJCXJlc3VsdCA9IHtyZXMsIHJlc2NvZGV9fSwKLSsgICAgICNlamFiYmVy ZF9jb21tYW5kc3tuYW1lID0gYmFuX2FjY291bnQsIHRhZ3MgPSBbYWNjb3VudHNdLAotKwkJCWRl c2MgPSAiQmFuIGFuIGFjY291bnQ6IGtpY2sgc2Vzc2lvbnMgYW5kIHNldCByYW5kb20gcGFzc3dv cmQiLAotKwkJCW1vZHVsZSA9ID9NT0RVTEUsIGZ1bmN0aW9uID0gYmFuX2FjY291bnQsCi0rCQkJ YXJncyA9IFt7dXNlciwgc3RyaW5nfSwge2hvc3QsIHN0cmluZ30sIHtyZWFzb24sIHN0cmluZ31d LAotKwkJCXJlc3VsdCA9IHtyZXMsIHJlc2NvZGV9fSwKLSsKLSsgICAgICNlamFiYmVyZF9jb21t YW5kc3tuYW1lID0gbnVtX3Jlc291cmNlcywgdGFncyA9IFtzZXNzaW9uXSwKLSsJCQlkZXNjID0g IkdldCB0aGUgbnVtYmVyIG9mIHJlc291cmNlcyBvZiBhIHVzZXIiLAotKwkJCW1vZHVsZSA9ID9N T0RVTEUsIGZ1bmN0aW9uID0gbnVtX3Jlc291cmNlcywKLSsJCQlhcmdzID0gW3t1c2VyLCBzdHJp bmd9LCB7aG9zdCwgc3RyaW5nfV0sCi0rCQkJcmVzdWx0ID0ge3Jlc291cmNlcywgaW50ZWdlcn19 LAotKyAgICAgI2VqYWJiZXJkX2NvbW1hbmRze25hbWUgPSByZXNvdXJjZV9udW0sIHRhZ3MgPSBb c2Vzc2lvbl0sCi0rCQkJZGVzYyA9ICJSZXNvdXJjZSBzdHJpbmcgb2YgYSBzZXNzaW9uIG51bWJl ciIsCi0rCQkJbW9kdWxlID0gP01PRFVMRSwgZnVuY3Rpb24gPSByZXNvdXJjZV9udW0sCi0rCQkJ YXJncyA9IFt7dXNlciwgc3RyaW5nfSwge2hvc3QsIHN0cmluZ30sIHtudW0sIGludGVnZXJ9XSwK LSsJCQlyZXN1bHQgPSB7cmVzb3VyY2UsIHN0cmluZ319LAotKyAgICAgI2VqYWJiZXJkX2NvbW1h bmRze25hbWUgPSBraWNrX3Nlc3Npb24sIHRhZ3MgPSBbc2Vzc2lvbl0sCi0rCQkJZGVzYyA9ICJL aWNrIGEgdXNlciBzZXNzaW9uIiwKLSsJCQltb2R1bGUgPSA/TU9EVUxFLCBmdW5jdGlvbiA9IGtp Y2tfc2Vzc2lvbiwKLSsJCQlhcmdzID0gW3t1c2VyLCBzdHJpbmd9LCB7aG9zdCwgc3RyaW5nfSwg e3Jlc291cmNlLCBzdHJpbmd9LCB7cmVhc29uLCBzdHJpbmd9XSwKLSsJCQlyZXN1bHQgPSB7cmVz LCByZXNjb2RlfX0sCi0rICAgICAjZWphYmJlcmRfY29tbWFuZHN7bmFtZSA9IHN0YXR1c19udW1f aG9zdCwgdGFncyA9IFtzZXNzaW9uLCBzdGF0c10sCi0rCQkJZGVzYyA9ICJOdW1iZXIgb2YgbG9n Z2VkIHVzZXJzIHdpdGggdGhpcyBzdGF0dXMgaW4gaG9zdCIsCi0rCQkJbW9kdWxlID0gP01PRFVM RSwgZnVuY3Rpb24gPSBzdGF0dXNfbnVtLAotKwkJCWFyZ3MgPSBbe2hvc3QsIHN0cmluZ30sIHtz dGF0dXMsIHN0cmluZ31dLAotKwkJCXJlc3VsdCA9IHt1c2VycywgaW50ZWdlcn19LAotKyAgICAg I2VqYWJiZXJkX2NvbW1hbmRze25hbWUgPSBzdGF0dXNfbnVtLCB0YWdzID0gW3Nlc3Npb24sIHN0 YXRzXSwKLSsJCQlkZXNjID0gIk51bWJlciBvZiBsb2dnZWQgdXNlcnMgd2l0aCB0aGlzIHN0YXR1 cyIsCi0rCQkJbW9kdWxlID0gP01PRFVMRSwgZnVuY3Rpb24gPSBzdGF0dXNfbnVtLAotKwkJCWFy Z3MgPSBbe3N0YXR1cywgc3RyaW5nfV0sCi0rCQkJcmVzdWx0ID0ge3VzZXJzLCBpbnRlZ2VyfX0s Ci0rICAgICAjZWphYmJlcmRfY29tbWFuZHN7bmFtZSA9IHN0YXR1c19saXN0X2hvc3QsIHRhZ3Mg PSBbc2Vzc2lvbl0sCi0rCQkJZGVzYyA9ICJMaXN0IG9mIHVzZXJzIGxvZ2dlZCBpbiBob3N0IHdp dGggdGhlaXIgc3RhdHVzZXMiLAotKwkJCW1vZHVsZSA9ID9NT0RVTEUsIGZ1bmN0aW9uID0gc3Rh dHVzX2xpc3QsCi0rCQkJYXJncyA9IFt7aG9zdCwgc3RyaW5nfSwge3N0YXR1cywgc3RyaW5nfV0s Ci0rCQkJcmVzdWx0ID0ge3VzZXJzLCB7bGlzdCwKLSsJCQkJCSAge3VzZXJzdGF0dXMsIHt0dXBs ZSwgWwotKwkJCQkJCQkJe3VzZXIsIHN0cmluZ30sCi0rCQkJCQkJCQl7aG9zdCwgc3RyaW5nfSwK LSsJCQkJCQkJCXtyZXNvdXJjZSwgc3RyaW5nfSwKLSsJCQkJCQkJCXtwcmlvcml0eSwgaW50ZWdl cn0sCi0rCQkJCQkJCQl7c3RhdHVzLCBzdHJpbmd9Ci0rCQkJCQkJCSAgICAgICBdfX0KLSsJCQkJ CSB9fX0sCi0rICAgICAjZWphYmJlcmRfY29tbWFuZHN7bmFtZSA9IHN0YXR1c19saXN0LCB0YWdz ID0gW3Nlc3Npb25dLAotKwkJCWRlc2MgPSAiTGlzdCBvZiBsb2dnZWQgdXNlcnMgd2l0aCB0aGlz IHN0YXR1cyIsCi0rCQkJbW9kdWxlID0gP01PRFVMRSwgZnVuY3Rpb24gPSBzdGF0dXNfbGlzdCwK LSsJCQlhcmdzID0gW3tzdGF0dXMsIHN0cmluZ31dLAotKwkJCXJlc3VsdCA9IHt1c2Vycywge2xp c3QsCi0rCQkJCQkgIHt1c2Vyc3RhdHVzLCB7dHVwbGUsIFsKLSsJCQkJCQkJCXt1c2VyLCBzdHJp bmd9LAotKwkJCQkJCQkJe2hvc3QsIHN0cmluZ30sCi0rCQkJCQkJCQl7cmVzb3VyY2UsIHN0cmlu Z30sCi0rCQkJCQkJCQl7cHJpb3JpdHksIGludGVnZXJ9LAotKwkJCQkJCQkJe3N0YXR1cywgc3Ry aW5nfQotKwkJCQkJCQkgICAgICAgXX19Ci0rCQkJCQkgfX19LAotKyAgICAgI2VqYWJiZXJkX2Nv bW1hbmRze25hbWUgPSBjb25uZWN0ZWRfdXNlcnNfaW5mbywKLSsJCQl0YWdzID0gW3Nlc3Npb25d LAotKwkJCWRlc2MgPSAiTGlzdCBhbGwgZXN0YWJsaXNoZWQgc2Vzc2lvbnMgYW5kIHRoZWlyIGlu Zm9ybWF0aW9uIiwKLSsJCQltb2R1bGUgPSA/TU9EVUxFLCBmdW5jdGlvbiA9IGNvbm5lY3RlZF91 c2Vyc19pbmZvLAotKwkJCWFyZ3MgPSBbXSwKLSsJCQlyZXN1bHQgPSB7Y29ubmVjdGVkX3VzZXJz X2luZm8sCi0rCQkJCSAge2xpc3QsCi0rCQkJCSAgIHtzZXNzaW9ucywge3R1cGxlLAotKwkJCQkJ ICAgICAgIFt7amlkLCBzdHJpbmd9LAotKwkJCQkJCXtjb25uZWN0aW9uLCBzdHJpbmd9LAotKwkJ CQkJCXtpcCwgc3RyaW5nfSwKLSsJCQkJCQl7cG9ydCwgaW50ZWdlcn0sCi0rCQkJCQkJe3ByaW9y aXR5LCBpbnRlZ2VyfSwKLSsJCQkJCQl7bm9kZSwgc3RyaW5nfSwKLSsJCQkJCQl7dXB0aW1lLCBp bnRlZ2VyfQotKwkJCQkJICAgICAgIF19fQotKwkJCQkgIH19fSwKLSsgICAgICNlamFiYmVyZF9j b21tYW5kc3tuYW1lID0gY29ubmVjdGVkX3VzZXJzX3Zob3N0LAotKyAgICAgICAgICAgICAgICAg ICAgICAgdGFncyA9IFtzZXNzaW9uXSwKLSsgICAgICAgICAgICAgICAgICAgICAgIGRlc2MgPSAi R2V0IHRoZSBsaXN0IG9mIGVzdGFibGlzaGVkIHNlc3Npb25zIGluIGEgdmhvc3QiLAotKyAgICAg ICAgICAgICAgICAgICAgICAgbW9kdWxlID0gP01PRFVMRSwgZnVuY3Rpb24gPSBjb25uZWN0ZWRf dXNlcnNfdmhvc3QsCi0rICAgICAgICAgICAgICAgICAgICAgICBhcmdzID0gW3tob3N0LCBzdHJp bmd9XSwKLSsgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IHtjb25uZWN0ZWRfdXNlcnNf dmhvc3QsIHtsaXN0LCB7c2Vzc2lvbnMsIHN0cmluZ319fX0sCi0rICAgICAjZWphYmJlcmRfY29t bWFuZHN7bmFtZSA9IHVzZXJfc2Vzc2lvbnNfaW5mbywKLSsJCQl0YWdzID0gW3Nlc3Npb25dLAot KwkJCWRlc2MgPSAiR2V0IGluZm9ybWF0aW9uIGFib3V0IGFsbCBzZXNzaW9ucyBvZiBhIHVzZXIi LAotKwkJCW1vZHVsZSA9ID9NT0RVTEUsIGZ1bmN0aW9uID0gdXNlcl9zZXNzaW9uc19pbmZvLAot KwkJCWFyZ3MgPSBbe3VzZXIsIHN0cmluZ30sIHtob3N0LCBzdHJpbmd9XSwKLSsJCQlyZXN1bHQg PSB7c2Vzc2lvbnNfaW5mbywKLSsJCQkJICB7bGlzdCwKLSsJCQkJICAge3Nlc3Npb24sIHt0dXBs ZSwKLSsJCQkJCSAgICAgIFt7Y29ubmVjdGlvbiwgc3RyaW5nfSwKLSsJCQkJCSAgICAgICB7aXAs IHN0cmluZ30sCi0rCQkJCQkgICAgICAge3BvcnQsIGludGVnZXJ9LAotKwkJCQkJICAgICAgIHtw cmlvcml0eSwgaW50ZWdlcn0sCi0rCQkJCQkgICAgICAge25vZGUsIHN0cmluZ30sCi0rCQkJCQkg ICAgICAge3VwdGltZSwgaW50ZWdlcn0sCi0rCQkJCQkgICAgICAge3N0YXR1cywgc3RyaW5nfSwK LSsJCQkJCSAgICAgICB7cmVzb3VyY2UsIHN0cmluZ30sCi0rCQkJCQkgICAgICAge3N0YXR1c3Rl eHQsIHN0cmluZ30KLSsJCQkJCSAgICAgIF19fQotKwkJCQkgIH19fSwKLSsKLSsgICAgICNlamFi YmVyZF9jb21tYW5kc3tuYW1lID0gc2V0X3ByZXNlbmNlLAotKwkJCXRhZ3MgPSBbc2Vzc2lvbl0s Ci0rCQkJZGVzYyA9ICJTZXQgcHJlc2VuY2Ugb2YgYSBzZXNzaW9uIiwKLSsJCQltb2R1bGUgPSA/ TU9EVUxFLCBmdW5jdGlvbiA9IHNldF9wcmVzZW5jZSwKLSsJCQlhcmdzID0gW3t1c2VyLCBzdHJp bmd9LCB7aG9zdCwgc3RyaW5nfSwKLSsJCQkJe3Jlc291cmNlLCBzdHJpbmd9LCB7dHlwZSwgc3Ry aW5nfSwKLSsJCQkJe3Nob3csIHN0cmluZ30sIHtzdGF0dXMsIHN0cmluZ30sCi0rCQkJCXtwcmlv cml0eSwgc3RyaW5nfV0sCi0rCQkJcmVzdWx0ID0ge3JlcywgcmVzY29kZX19LAotKwotKyAgICAg I2VqYWJiZXJkX2NvbW1hbmRze25hbWUgPSBzZXRfbmlja25hbWUsIHRhZ3MgPSBbdmNhcmRdLAot KwkJCWRlc2MgPSAiU2V0IG5pY2tuYW1lIGluIGEgdXNlcidzIHZDYXJkIiwKLSsJCQltb2R1bGUg PSA/TU9EVUxFLCBmdW5jdGlvbiA9IHNldF9uaWNrbmFtZSwKLSsJCQlhcmdzID0gW3t1c2VyLCBz dHJpbmd9LCB7aG9zdCwgc3RyaW5nfSwge25pY2tuYW1lLCBzdHJpbmd9XSwKLSsJCQlyZXN1bHQg PSB7cmVzLCByZXNjb2RlfX0sCi0rCi0rICAgICAjZWphYmJlcmRfY29tbWFuZHN7bmFtZSA9IGdl dF92Y2FyZCwgdGFncyA9IFt2Y2FyZF0sCi0rCQkJZGVzYyA9ICJHZXQgY29udGVudCBmcm9tIGEg dkNhcmQgZmllbGQiLAotKwkJCWxvbmdkZXNjID0gVmNhcmQxRmllbGRzU3RyaW5nICsrICJcbiIg KysgVmNhcmQyRmllbGRzU3RyaW5nICsrICJcblxuIiArKyBWY2FyZFhFUCwKLSsJCQltb2R1bGUg PSA/TU9EVUxFLCBmdW5jdGlvbiA9IGdldF92Y2FyZCwKLSsJCQlhcmdzID0gW3t1c2VyLCBzdHJp bmd9LCB7aG9zdCwgc3RyaW5nfSwge25hbWUsIHN0cmluZ31dLAotKwkJCXJlc3VsdCA9IHtjb250 ZW50LCBzdHJpbmd9fSwKLSsgICAgICNlamFiYmVyZF9jb21tYW5kc3tuYW1lID0gZ2V0X3ZjYXJk MiwgdGFncyA9IFt2Y2FyZF0sCi0rCQkJZGVzYyA9ICJHZXQgY29udGVudCBmcm9tIGEgdkNhcmQg ZmllbGQiLAotKwkJCWxvbmdkZXNjID0gVmNhcmQyRmllbGRzU3RyaW5nICsrICJcblxuIiArKyBW Y2FyZDFGaWVsZHNTdHJpbmcgKysgIlxuIiArKyBWY2FyZFhFUCwKLSsJCQltb2R1bGUgPSA/TU9E VUxFLCBmdW5jdGlvbiA9IGdldF92Y2FyZCwKLSsJCQlhcmdzID0gW3t1c2VyLCBzdHJpbmd9LCB7 aG9zdCwgc3RyaW5nfSwge25hbWUsIHN0cmluZ30sIHtzdWJuYW1lLCBzdHJpbmd9XSwKLSsJCQly ZXN1bHQgPSB7Y29udGVudCwgc3RyaW5nfX0sCi0rICAgICAjZWphYmJlcmRfY29tbWFuZHN7bmFt ZSA9IGdldF92Y2FyZDJfbXVsdGksIHRhZ3MgPSBbdmNhcmRdLAotKwkJCWRlc2MgPSAiR2V0IG11 bHRpcGxlIGNvbnRlbnRzIGZyb20gYSB2Q2FyZCBmaWVsZCAocmVxdWlyZXMgZXhtcHAgaW5zdGFs bGVkKSIsCi0rCQkJbG9uZ2Rlc2MgPSBWY2FyZDJGaWVsZHNTdHJpbmcgKysgIlxuXG4iICsrIFZj YXJkMUZpZWxkc1N0cmluZyArKyAiXG4iICsrIFZjYXJkWEVQLAotKwkJCW1vZHVsZSA9ID9NT0RV TEUsIGZ1bmN0aW9uID0gZ2V0X3ZjYXJkX211bHRpLAotKwkJCWFyZ3MgPSBbe3VzZXIsIHN0cmlu Z30sIHtob3N0LCBzdHJpbmd9LCB7bmFtZSwgc3RyaW5nfSwge3N1Ym5hbWUsIHN0cmluZ31dLAot KwkJCXJlc3VsdCA9IHtjb250ZW50cywge2xpc3QsIHN0cmluZ319fSwKLSsKLSsgICAgICNlamFi YmVyZF9jb21tYW5kc3tuYW1lID0gc2V0X3ZjYXJkLCB0YWdzID0gW3ZjYXJkXSwKLSsJCQlkZXNj ID0gIlNldCBjb250ZW50IGluIGEgdkNhcmQgZmllbGQiLAotKwkJCWxvbmdkZXNjID0gVmNhcmQx RmllbGRzU3RyaW5nICsrICJcbiIgKysgVmNhcmQyRmllbGRzU3RyaW5nICsrICJcblxuIiArKyBW Y2FyZFhFUCwKLSsJCQltb2R1bGUgPSA/TU9EVUxFLCBmdW5jdGlvbiA9IHNldF92Y2FyZCwKLSsJ CQlhcmdzID0gW3t1c2VyLCBzdHJpbmd9LCB7aG9zdCwgc3RyaW5nfSwge25hbWUsIHN0cmluZ30s IHtjb250ZW50LCBzdHJpbmd9XSwKLSsJCQlyZXN1bHQgPSB7cmVzLCByZXNjb2RlfX0sCi0rICAg ICAjZWphYmJlcmRfY29tbWFuZHN7bmFtZSA9IHNldF92Y2FyZDIsIHRhZ3MgPSBbdmNhcmRdLAot KwkJCWRlc2MgPSAiU2V0IGNvbnRlbnQgaW4gYSB2Q2FyZCBzdWJmaWVsZCIsCi0rCQkJbG9uZ2Rl c2MgPSBWY2FyZDJGaWVsZHNTdHJpbmcgKysgIlxuXG4iICsrIFZjYXJkMUZpZWxkc1N0cmluZyAr KyAiXG4iICsrIFZjYXJkWEVQLAotKwkJCW1vZHVsZSA9ID9NT0RVTEUsIGZ1bmN0aW9uID0gc2V0 X3ZjYXJkLAotKwkJCWFyZ3MgPSBbe3VzZXIsIHN0cmluZ30sIHtob3N0LCBzdHJpbmd9LCB7bmFt ZSwgc3RyaW5nfSwge3N1Ym5hbWUsIHN0cmluZ30sIHtjb250ZW50LCBzdHJpbmd9XSwKLSsJCQly ZXN1bHQgPSB7cmVzLCByZXNjb2RlfX0sCi0rICAgICAjZWphYmJlcmRfY29tbWFuZHN7bmFtZSA9 IHNldF92Y2FyZDJfbXVsdGksIHRhZ3MgPSBbdmNhcmRdLAotKwkJCWRlc2MgPSAiU2V0IG11bHRp cGxlIGNvbnRlbnRzIGluIGEgdkNhcmQgc3ViZmllbGQiLAotKwkJCWxvbmdkZXNjID0gVmNhcmQy RmllbGRzU3RyaW5nICsrICJcblxuIiArKyBWY2FyZDFGaWVsZHNTdHJpbmcgKysgIlxuIiArKyBW Y2FyZFhFUCwKLSsJCQltb2R1bGUgPSA/TU9EVUxFLCBmdW5jdGlvbiA9IHNldF92Y2FyZCwKLSsJ CQlhcmdzID0gW3t1c2VyLCBzdHJpbmd9LCB7aG9zdCwgc3RyaW5nfSwge25hbWUsIHN0cmluZ30s IHtzdWJuYW1lLCBzdHJpbmd9LCB7Y29udGVudHMsIHtsaXN0LCBzdHJpbmd9fV0sCi0rCQkJcmVz dWx0ID0ge3JlcywgcmVzY29kZX19LAotKwotKyAgICAgI2VqYWJiZXJkX2NvbW1hbmRze25hbWUg PSBhZGRfcm9zdGVyaXRlbSwgdGFncyA9IFtyb3N0ZXJdLAotKwkJCWRlc2MgPSAiQWRkIGFuIGl0 ZW0gdG8gYSB1c2VyJ3Mgcm9zdGVyIChzdXBwb3J0cyBPREJDKSIsCi0rCQkJbW9kdWxlID0gP01P RFVMRSwgZnVuY3Rpb24gPSBhZGRfcm9zdGVyaXRlbSwKLSsJCQlhcmdzID0gW3tsb2NhbHVzZXIs IHN0cmluZ30sIHtsb2NhbHNlcnZlciwgc3RyaW5nfSwKLSsJCQkJe3VzZXIsIHN0cmluZ30sIHtz ZXJ2ZXIsIHN0cmluZ30sCi0rCQkJCXtuaWNrLCBzdHJpbmd9LCB7Z3JvdXAsIHN0cmluZ30sCi0r CQkJCXtzdWJzLCBzdHJpbmd9XSwKLSsJCQlyZXN1bHQgPSB7cmVzLCByZXNjb2RlfX0sCi0rICAg ICAlJXsiIiwgInN1YnM9IG5vbmUsIGZyb20sIHRvIG9yIGJvdGgifSwKLSsgICAgICUleyIiLCAi ZXhhbXBsZTogYWRkLXJvc3RlciBwZXRlciBsb2NhbGhvc3QgbWlrZSBzZXJ2ZXIuY29tIE1pS2Ug RW1wbG95ZWVzIGJvdGgifSwKLSsgICAgICUleyIiLCAid2lsbCBhZGQgbWlrZUBzZXJ2ZXIuY29t IHRvIHBldGVyQGxvY2FsaG9zdCByb3N0ZXIifSwKLSsgICAgICNlamFiYmVyZF9jb21tYW5kc3tu YW1lID0gZGVsZXRlX3Jvc3Rlcml0ZW0sIHRhZ3MgPSBbcm9zdGVyXSwKLSsJCQlkZXNjID0gIkRl bGV0ZSBhbiBpdGVtIGZyb20gYSB1c2VyJ3Mgcm9zdGVyIChzdXBwb3J0cyBPREJDKSIsCi0rCQkJ bW9kdWxlID0gP01PRFVMRSwgZnVuY3Rpb24gPSBkZWxldGVfcm9zdGVyaXRlbSwKLSsJCQlhcmdz ID0gW3tsb2NhbHVzZXIsIHN0cmluZ30sIHtsb2NhbHNlcnZlciwgc3RyaW5nfSwKLSsJCQkJe3Vz ZXIsIHN0cmluZ30sIHtzZXJ2ZXIsIHN0cmluZ31dLAotKwkJCXJlc3VsdCA9IHtyZXMsIHJlc2Nv ZGV9fSwKLSsgICAgICNlamFiYmVyZF9jb21tYW5kc3tuYW1lID0gcHJvY2Vzc19yb3N0ZXJpdGVt cywgdGFncyA9IFtyb3N0ZXJdLAotKwkJCWRlc2MgPSAiTGlzdCBvciBkZWxldGUgcm9zdGVyaXRl bXMgdGhhdCBtYXRjaCBmaWx0ZXJpbmcgb3B0aW9ucyIsCi0rCQkJbG9uZ2Rlc2MgPSAiRXhwbGFu YXRpb24gb2YgZWFjaCBhcmd1bWVudDpcbiIKLSsJCQkiIC0gYWN0aW9uOiB3aGF0IHRvIGRvIHdp dGggZWFjaCByb3N0ZXJpdGVtIHRoYXQgIgotKwkJCSJtYXRjaGVzIGFsbCB0aGUgZmlsdGVyaW5n IG9wdGlvbnNcbiIKLSsJCQkiIC0gc3Viczogc3Vic2NyaXB0aW9uIHR5cGVcbiIKLSsJCQkiIC0g YXNrczogcGVuZGluZyBzdWJzY3JpcHRpb25cbiIKLSsJCQkiIC0gdXNlcnM6IHRoZSBKSURzIG9m IHRoZSBsb2NhbCB1c2VyXG4iCi0rCQkJIiAtIGNvbnRhY3RzOiB0aGUgSklEcyBvZiB0aGUgY29u dGFjdCBpbiB0aGUgcm9zdGVyXG4iCi0rCQkJIlxuIgotKwkJCSJBbGxvd2VkIHZhbHVlcyBpbiB0 aGUgYXJndW1lbnRzOlxuIgotKwkJCSIgIEFDVElPTiA9IGxpc3QgfCBkZWxldGVcbiIKLSsJCQki ICBTVUJTID0gU1VCWzpTVUJdKiB8IGFueVxuIgotKwkJCSIgIFNVQiA9IG5vbmUgfCBmcm9tIHwg dG8gfCBib3RoXG4iCi0rCQkJIiAgQVNLUyA9IEFTS1s6QVNLXSogfCBhbnlcbiIKLSsJCQkiICBB U0sgPSBub25lIHwgb3V0IHwgaW5cbiIKLSsJCQkiICBVU0VSUyA9IEpJRFs6SklEXSogfCBhbnlc biIKLSsJCQkiICBDT05UQUNUUyA9IEpJRFs6SklEXSogfCBhbnlcbiIKLSsJCQkiICBKSUQgPSBj aGFyYWN0ZXJzIHZhbGlkIGluIGEgSklELCBhbmQgY2FuIHVzZSB0aGUgIgotKwkJCSJnbG9iczog KiwgPywgISBhbmQgWy4uLl1cbiIKLSsJCQkiXG4iCi0rCQkJIlRoaXMgZXhhbXBsZSB3aWxsIGxp c3Qgcm9zdGVyIGl0ZW1zIHdpdGggc3Vic2NyaXB0aW9uICIKLSsJCQkiJ25vbmUnLCAnZnJvbScg b3IgJ3RvJyB0aGF0IGhhdmUgYW55IGFzayBwcm9wZXJ0eSwgb2YgIgotKwkJCSJsb2NhbCB1c2Vy cyB3aGljaCBKSUQgaXMgaW4gdGhlIHZpcnR1YWwgaG9zdCAiCi0rCQkJIidleGFtcGxlLm9yZycg YW5kIHRoYXQgdGhlIGNvbnRhY3QgSklEIGlzIGVpdGhlciBhICIKLSsJCQkiYmFyZSBzZXJ2ZXIg bmFtZSAod2l0aG91dCB1c2VyIHBhcnQpIG9yIHRoYXQgaGFzIGEgIgotKwkJCSJ1c2VyIHBhcnQg YW5kIHRoZSBzZXJ2ZXIgcGFydCBjb250YWlucyB0aGUgd29yZCAnaWNxJyIKLSsJCQkiOlxuICBs aXN0IG5vbmU6ZnJvbTp0byBhbnkgKkBleGFtcGxlLm9yZyAqOipAKmljcSoiLAotKwkJCW1vZHVs ZSA9ID9NT0RVTEUsIGZ1bmN0aW9uID0gcHJvY2Vzc19yb3N0ZXJpdGVtcywKLSsJCQlhcmdzID0g W3thY3Rpb24sIHN0cmluZ30sIHtzdWJzLCBzdHJpbmd9LAotKwkJCQl7YXNrcywgc3RyaW5nfSwg e3VzZXJzLCBzdHJpbmd9LAotKwkJCQl7Y29udGFjdHMsIHN0cmluZ31dLAotKwkJCXJlc3VsdCA9 IHtyZXMsIHJlc2NvZGV9fSwKLSsgICAgICNlamFiYmVyZF9jb21tYW5kc3tuYW1lID0gZ2V0X3Jv c3RlciwgdGFncyA9IFtyb3N0ZXJdLAotKwkJCWRlc2MgPSAiR2V0IHJvc3RlciBvZiBhIGxvY2Fs IHVzZXIiLAotKwkJCW1vZHVsZSA9ID9NT0RVTEUsIGZ1bmN0aW9uID0gZ2V0X3Jvc3RlciwKLSsJ CQlhcmdzID0gW3t1c2VyLCBzdHJpbmd9LCB7aG9zdCwgc3RyaW5nfV0sCi0rCQkJcmVzdWx0ID0g e2NvbnRhY3RzLCB7bGlzdCwge2NvbnRhY3QsIHt0dXBsZSwgWwotKwkJCQkJCQkJICAgICAge2pp ZCwgc3RyaW5nfSwKLSsJCQkJCQkJCSAgICAgIHtuaWNrLCBzdHJpbmd9LAotKwkJCQkJCQkJICAg ICAge3N1YnNjcmlwdGlvbiwgc3RyaW5nfSwKLSsJCQkJCQkJCSAgICAgIHthc2ssIHN0cmluZ30s Ci0rCQkJCQkJCQkgICAgICB7Z3JvdXAsIHN0cmluZ30KLSsJCQkJCQkJCSAgICAgXX19fX19LAot KyAgICAgI2VqYWJiZXJkX2NvbW1hbmRze25hbWUgPSBwdXNoX3Jvc3RlciwgdGFncyA9IFtyb3N0 ZXJdLAotKwkJCWRlc2MgPSAiUHVzaCB0ZW1wbGF0ZSByb3N0ZXIgZnJvbSBmaWxlIHRvIGEgdXNl ciIsCi0rCQkJbW9kdWxlID0gP01PRFVMRSwgZnVuY3Rpb24gPSBwdXNoX3Jvc3RlciwKLSsJCQlh cmdzID0gW3tmaWxlLCBzdHJpbmd9LCB7dXNlciwgc3RyaW5nfSwge2hvc3QsIHN0cmluZ31dLAot KwkJCXJlc3VsdCA9IHtyZXMsIHJlc2NvZGV9fSwKLSsgICAgICNlamFiYmVyZF9jb21tYW5kc3tu YW1lID0gcHVzaF9yb3N0ZXJfYWxsLCB0YWdzID0gW3Jvc3Rlcl0sCi0rCQkJZGVzYyA9ICJQdXNo IHRlbXBsYXRlIHJvc3RlciBmcm9tIGZpbGUgdG8gYWxsIHRob3NlIHVzZXJzIiwKLSsJCQltb2R1 bGUgPSA/TU9EVUxFLCBmdW5jdGlvbiA9IHB1c2hfcm9zdGVyX2FsbCwKLSsJCQlhcmdzID0gW3tm aWxlLCBzdHJpbmd9XSwKLSsJCQlyZXN1bHQgPSB7cmVzLCByZXNjb2RlfX0sCi0rICAgICAjZWph YmJlcmRfY29tbWFuZHN7bmFtZSA9IHB1c2hfYWxsdG9hbGwsIHRhZ3MgPSBbcm9zdGVyXSwKLSsJ CQlkZXNjID0gIkFkZCBhbGwgdGhlIHVzZXJzIHRvIGFsbCB0aGUgdXNlcnMgb2YgSG9zdCBpbiBH cm91cCIsCi0rCQkJbW9kdWxlID0gP01PRFVMRSwgZnVuY3Rpb24gPSBwdXNoX2FsbHRvYWxsLAot KwkJCWFyZ3MgPSBbe2hvc3QsIHN0cmluZ30sIHtncm91cCwgc3RyaW5nfV0sCi0rCQkJcmVzdWx0 ID0ge3JlcywgcmVzY29kZX19LAotKwotKyAgICAgI2VqYWJiZXJkX2NvbW1hbmRze25hbWUgPSBz ZXRfbGFzdCwgdGFncyA9IFtsYXN0XSwKLSsJCQlkZXNjID0gIlNldCBsYXN0IGFjdGl2aXR5IGlu Zm9ybWF0aW9uIiwKLSsJCQlsb25nZGVzYyA9ICJUaW1lc3RhbXAgaXMgdGhlIHNlY29uZHMgc2lu Y2UiCi0rCQkJIjE5NzAtMDEtMDEgMDA6MDA6MDAgVVRDLCBmb3IgZXhhbXBsZTogZGF0ZSArJXMi LAotKwkJCW1vZHVsZSA9ID9NT0RVTEUsIGZ1bmN0aW9uID0gc2V0X2xhc3QsCi0rCQkJYXJncyA9 IFt7dXNlciwgc3RyaW5nfSwge2hvc3QsIHN0cmluZ30sIHt0aW1lc3RhbXAsIGludGVnZXJ9LCB7 c3RhdHVzLCBzdHJpbmd9XSwKLSsJCQlyZXN1bHQgPSB7cmVzLCByZXNjb2RlfX0sCi0rCi0rICAg ICAjZWphYmJlcmRfY29tbWFuZHN7bmFtZSA9IHByaXZhdGVfZ2V0LCB0YWdzID0gW3ByaXZhdGVd LAotKwkJCWRlc2MgPSAiR2V0IHNvbWUgaW5mb3JtYXRpb24gZnJvbSBhIHVzZXIgcHJpdmF0ZSBz dG9yYWdlIiwKLSsJCQltb2R1bGUgPSA/TU9EVUxFLCBmdW5jdGlvbiA9IHByaXZhdGVfZ2V0LAot KwkJCWFyZ3MgPSBbe3VzZXIsIHN0cmluZ30sIHtob3N0LCBzdHJpbmd9LCB7ZWxlbWVudCwgc3Ry aW5nfSwge25zLCBzdHJpbmd9XSwKLSsJCQlyZXN1bHQgPSB7cmVzLCBzdHJpbmd9fSwKLSsgICAg ICNlamFiYmVyZF9jb21tYW5kc3tuYW1lID0gcHJpdmF0ZV9zZXQsIHRhZ3MgPSBbcHJpdmF0ZV0s Ci0rCQkJZGVzYyA9ICJTZXQgdG8gdGhlIHVzZXIgcHJpdmF0ZSBzdG9yYWdlIiwKLSsJCQltb2R1 bGUgPSA/TU9EVUxFLCBmdW5jdGlvbiA9IHByaXZhdGVfc2V0LAotKwkJCWFyZ3MgPSBbe3VzZXIs IHN0cmluZ30sIHtob3N0LCBzdHJpbmd9LCB7ZWxlbWVudCwgc3RyaW5nfV0sCi0rCQkJcmVzdWx0 ID0ge3JlcywgcmVzY29kZX19LAotKwotKyAgICAgI2VqYWJiZXJkX2NvbW1hbmRze25hbWUgPSBz cmdfY3JlYXRlLCB0YWdzID0gW3NoYXJlZF9yb3N0ZXJfZ3JvdXBdLAotKwkJCWRlc2MgPSAiQ3Jl YXRlIGEgU2hhcmVkIFJvc3RlciBHcm91cCIsCi0rCQkJbG9uZ2Rlc2MgPSAiSWYgeW91IHdhbnQg dG8gc3BlY2lmeSBzZXZlcmFsIGdyb3VwICIKLSsJCQkiaWRlbnRpZmllcnMgaW4gdGhlIERpc3Bs YXkgYXJndW1lbnQsXG4iCi0rCQkJInB1dCAgXFwgXCIgYXJvdW5kIHRoZSBhcmd1bWVudCBhbmRc bnNlcGFyYXRlIHRoZSAiCi0rCQkJImlkZW50aWZpZXJzIHdpdGggXFwgXFwgblxuIgotKwkJCSJG b3IgZXhhbXBsZTpcbiIKLSsJCQkiICBlamFiYmVyZGN0bCBzcmdfY3JlYXRlIGdyb3VwMyBsb2Nh bGhvc3QgIgotKwkJCSJuYW1lIGRlc2MgXFxcImdyb3VwMVxcXFxuZ3JvdXAyXFxcIiIsCi0rCQkJ bW9kdWxlID0gP01PRFVMRSwgZnVuY3Rpb24gPSBzcmdfY3JlYXRlLAotKwkJCWFyZ3MgPSBbe2dy b3VwLCBzdHJpbmd9LCB7aG9zdCwgc3RyaW5nfSwKLSsJCQkJe25hbWUsIHN0cmluZ30sIHtkZXNj cmlwdGlvbiwgc3RyaW5nfSwge2Rpc3BsYXksIHN0cmluZ31dLAotKwkJCXJlc3VsdCA9IHtyZXMs IHJlc2NvZGV9fSwKLSsgICAgICNlamFiYmVyZF9jb21tYW5kc3tuYW1lID0gc3JnX2RlbGV0ZSwg dGFncyA9IFtzaGFyZWRfcm9zdGVyX2dyb3VwXSwKLSsJCQlkZXNjID0gIkRlbGV0ZSBhIFNoYXJl ZCBSb3N0ZXIgR3JvdXAiLAotKwkJCW1vZHVsZSA9ID9NT0RVTEUsIGZ1bmN0aW9uID0gc3JnX2Rl bGV0ZSwKLSsJCQlhcmdzID0gW3tncm91cCwgc3RyaW5nfSwge2hvc3QsIHN0cmluZ31dLAotKwkJ CXJlc3VsdCA9IHtyZXMsIHJlc2NvZGV9fSwKLSsgICAgICNlamFiYmVyZF9jb21tYW5kc3tuYW1l ID0gc3JnX2xpc3QsIHRhZ3MgPSBbc2hhcmVkX3Jvc3Rlcl9ncm91cF0sCi0rCQkJZGVzYyA9ICJM aXN0IHRoZSBTaGFyZWQgUm9zdGVyIEdyb3VwcyBpbiBIb3N0IiwKLSsJCQltb2R1bGUgPSA/TU9E VUxFLCBmdW5jdGlvbiA9IHNyZ19saXN0LAotKwkJCWFyZ3MgPSBbe2hvc3QsIHN0cmluZ31dLAot KwkJCXJlc3VsdCA9IHtncm91cHMsIHtsaXN0LCB7aWQsIHN0cmluZ319fX0sCi0rICAgICAjZWph YmJlcmRfY29tbWFuZHN7bmFtZSA9IHNyZ19nZXRfaW5mbywgdGFncyA9IFtzaGFyZWRfcm9zdGVy X2dyb3VwXSwKLSsJCQlkZXNjID0gIkdldCBpbmZvIG9mIGEgU2hhcmVkIFJvc3RlciBHcm91cCIs Ci0rCQkJbW9kdWxlID0gP01PRFVMRSwgZnVuY3Rpb24gPSBzcmdfZ2V0X2luZm8sCi0rCQkJYXJn cyA9IFt7Z3JvdXAsIHN0cmluZ30sIHtob3N0LCBzdHJpbmd9XSwKLSsJCQlyZXN1bHQgPSB7aW5m b3JtYXRpb25zLCB7bGlzdCwge2luZm9ybWF0aW9uLCB7dHVwbGUsIFt7a2V5LCBzdHJpbmd9LCB7 dmFsdWUsIHN0cmluZ31dfX19fX0sCi0rICAgICAjZWphYmJlcmRfY29tbWFuZHN7bmFtZSA9IHNy Z19nZXRfbWVtYmVycywgdGFncyA9IFtzaGFyZWRfcm9zdGVyX2dyb3VwXSwKLSsJCQlkZXNjID0g IkdldCBtZW1iZXJzIG9mIGEgU2hhcmVkIFJvc3RlciBHcm91cCIsCi0rCQkJbW9kdWxlID0gP01P RFVMRSwgZnVuY3Rpb24gPSBzcmdfZ2V0X21lbWJlcnMsCi0rCQkJYXJncyA9IFt7Z3JvdXAsIHN0 cmluZ30sIHtob3N0LCBzdHJpbmd9XSwKLSsJCQlyZXN1bHQgPSB7bWVtYmVycywge2xpc3QsIHtt ZW1iZXIsIHN0cmluZ319fX0sCi0rICAgICAjZWphYmJlcmRfY29tbWFuZHN7bmFtZSA9IHNyZ191 c2VyX2FkZCwgdGFncyA9IFtzaGFyZWRfcm9zdGVyX2dyb3VwXSwKLSsJCQlkZXNjID0gIkFkZCB0 aGUgSklEIHVzZXJAaG9zdCB0byB0aGUgU2hhcmVkIFJvc3RlciBHcm91cCIsCi0rCQkJbW9kdWxl ID0gP01PRFVMRSwgZnVuY3Rpb24gPSBzcmdfdXNlcl9hZGQsCi0rCQkJYXJncyA9IFt7dXNlciwg c3RyaW5nfSwge2hvc3QsIHN0cmluZ30sIHtncm91cCwgc3RyaW5nfSwge2dyb3VwaG9zdCwgc3Ry aW5nfV0sCi0rCQkJcmVzdWx0ID0ge3JlcywgcmVzY29kZX19LAotKyAgICAgI2VqYWJiZXJkX2Nv bW1hbmRze25hbWUgPSBzcmdfdXNlcl9kZWwsIHRhZ3MgPSBbc2hhcmVkX3Jvc3Rlcl9ncm91cF0s Ci0rCQkJZGVzYyA9ICJEZWxldGUgdGhpcyBKSUQgdXNlckBob3N0IGZyb20gdGhlIFNoYXJlZCBS b3N0ZXIgR3JvdXAiLAotKwkJCW1vZHVsZSA9ID9NT0RVTEUsIGZ1bmN0aW9uID0gc3JnX3VzZXJf ZGVsLAotKwkJCWFyZ3MgPSBbe3VzZXIsIHN0cmluZ30sIHtob3N0LCBzdHJpbmd9LCB7Z3JvdXAs IHN0cmluZ30sIHtncm91cGhvc3QsIHN0cmluZ31dLAotKwkJCXJlc3VsdCA9IHtyZXMsIHJlc2Nv ZGV9fSwKLSsKLSsgICAgICNlamFiYmVyZF9jb21tYW5kc3tuYW1lID0gc2VuZF9tZXNzYWdlX2No YXQsIHRhZ3MgPSBbc3RhbnphXSwKLSsJCQlkZXNjID0gIlNlbmQgYSBjaGF0IG1lc3NhZ2UgdG8g YSBsb2NhbCBvciByZW1vdGUgYmFyZSBvZiBmdWxsIEpJRCIsCi0rCQkJbW9kdWxlID0gP01PRFVM RSwgZnVuY3Rpb24gPSBzZW5kX21lc3NhZ2VfY2hhdCwKLSsJCQlhcmdzID0gW3tmcm9tLCBzdHJp bmd9LCB7dG8sIHN0cmluZ30sIHtib2R5LCBzdHJpbmd9XSwKLSsJCQlyZXN1bHQgPSB7cmVzLCBy ZXNjb2RlfX0sCi0rICAgICAjZWphYmJlcmRfY29tbWFuZHN7bmFtZSA9IHNlbmRfbWVzc2FnZV9o ZWFkbGluZSwgdGFncyA9IFtzdGFuemFdLAotKwkJCWRlc2MgPSAiU2VuZCBhIGhlYWRsaW5lIG1l c3NhZ2UgdG8gYSBsb2NhbCBvciByZW1vdGUgYmFyZSBvZiBmdWxsIEpJRCIsCi0rCQkJbW9kdWxl ID0gP01PRFVMRSwgZnVuY3Rpb24gPSBzZW5kX21lc3NhZ2VfaGVhZGxpbmUsCi0rCQkJYXJncyA9 IFt7ZnJvbSwgc3RyaW5nfSwge3RvLCBzdHJpbmd9LAotKwkJCQl7c3ViamVjdCwgc3RyaW5nfSwg e2JvZHksIHN0cmluZ31dLAotKwkJCXJlc3VsdCA9IHtyZXMsIHJlc2NvZGV9fSwKLSsgICAgICNl amFiYmVyZF9jb21tYW5kc3tuYW1lID0gc2VuZF9zdGFuemFfYzJzLCB0YWdzID0gW3N0YW56YV0s Ci0rCQkJZGVzYyA9ICJTZW5kIGEgc3RhbnphIGFzIGlmIHNlbnQgZnJvbSBhIGMycyBzZXNzaW9u IiwKLSsJCQltb2R1bGUgPSA/TU9EVUxFLCBmdW5jdGlvbiA9IHNlbmRfc3RhbnphX2MycywKLSsJ CQlhcmdzID0gW3t1c2VyLCBzdHJpbmd9LCB7aG9zdCwgc3RyaW5nfSwge3Jlc291cmNlLCBzdHJp bmd9LCB7c3RhbnphLCBzdHJpbmd9XSwKLSsJCQlyZXN1bHQgPSB7cmVzLCByZXNjb2RlfX0sCi0r ICAgICAjZWphYmJlcmRfY29tbWFuZHN7bmFtZSA9IHByaXZhY3lfc2V0LCB0YWdzID0gW3N0YW56 YV0sCi0rCQkJZGVzYyA9ICJTZW5kIGEgSVEgc2V0IHByaXZhY3kgc3RhbnphIGZvciBhIGxvY2Fs IGFjY291bnQiLAotKwkJCW1vZHVsZSA9ID9NT0RVTEUsIGZ1bmN0aW9uID0gcHJpdmFjeV9zZXQs Ci0rCQkJYXJncyA9IFt7dXNlciwgc3RyaW5nfSwge2hvc3QsIHN0cmluZ30sIHt4bWxxdWVyeSwg c3RyaW5nfV0sCi0rCQkJcmVzdWx0ID0ge3JlcywgcmVzY29kZX19LAotKwotKyAgICAgI2VqYWJi ZXJkX2NvbW1hbmRze25hbWUgPSBzdGF0cywgdGFncyA9IFtzdGF0c10sCi0rCQkJZGVzYyA9ICJH ZXQgc3RhdGlzdGljYWwgdmFsdWU6IHJlZ2lzdGVyZWR1c2VycyBvbmxpbmV1c2VycyBvbmxpbmV1 c2Vyc25vZGUgdXB0aW1lc2Vjb25kcyIsCi0rCQkJbW9kdWxlID0gP01PRFVMRSwgZnVuY3Rpb24g PSBzdGF0cywKLSsJCQlhcmdzID0gW3tuYW1lLCBzdHJpbmd9XSwKLSsJCQlyZXN1bHQgPSB7c3Rh dCwgaW50ZWdlcn19LAotKyAgICAgI2VqYWJiZXJkX2NvbW1hbmRze25hbWUgPSBzdGF0c19ob3N0 LCB0YWdzID0gW3N0YXRzXSwKLSsJCQlkZXNjID0gIkdldCBzdGF0aXN0aWNhbCB2YWx1ZSBmb3Ig dGhpcyBob3N0OiByZWdpc3RlcmVkdXNlcnMgb25saW5ldXNlcnMiLAotKwkJCW1vZHVsZSA9ID9N T0RVTEUsIGZ1bmN0aW9uID0gc3RhdHMsCi0rCQkJYXJncyA9IFt7bmFtZSwgc3RyaW5nfSwge2hv c3QsIHN0cmluZ31dLAotKwkJCXJlc3VsdCA9IHtzdGF0LCBpbnRlZ2VyfX0KLSsgICAgXS4KLSsK LSsKLSslJSUKLSslJSUgTm9kZQotKyUlJQotKwotK2NvbXBpbGUoRmlsZSkgLT4KLSsgICAgY2Fz ZSBjb21waWxlOmZpbGUoRmlsZSkgb2YKLSsJb2sgLT4gb2s7Ci0rCV8gLT4gZXJyb3IKLSsgICAg ZW5kLgotKwotK2xvYWRfY29uZmlnKFBhdGgpIC0+Ci0rICAgIG9rID0gZWphYmJlcmRfY29uZmln OmxvYWRfZmlsZShQYXRoKS4KLSsKLStnZXRfY29va2llKCkgLT4KLSsgICAgYXRvbV90b19saXN0 KGVybGFuZzpnZXRfY29va2llKCkpLgotKwotK3JlbW92ZV9ub2RlKE5vZGUpIC0+Ci0rICAgIG1u ZXNpYTpkZWxfdGFibGVfY29weShzY2hlbWEsIGxpc3RfdG9fYXRvbShOb2RlKSksCi0rICAgIG9r LgotKwotK2V4cG9ydDJvZGJjKEhvc3QsIERpcmVjdG9yeSkgLT4KLSsgICAgVGFibGVzID0gWwot KwkgICAgICB7ZXhwb3J0X2xhc3QsIGxhc3R9LAotKwkgICAgICB7ZXhwb3J0X29mZmxpbmUsIG9m ZmxpbmV9LAotKwkgICAgICB7ZXhwb3J0X3Bhc3N3ZCwgcGFzc3dkfSwKLSsJICAgICAge2V4cG9y dF9wcml2YXRlX3N0b3JhZ2UsIHByaXZhdGVfc3RvcmFnZX0sCi0rCSAgICAgIHtleHBvcnRfcm9z dGVyLCByb3N0ZXJ9LAotKwkgICAgICB7ZXhwb3J0X3ZjYXJkLCB2Y2FyZH0sCi0rCSAgICAgIHtl eHBvcnRfdmNhcmRfc2VhcmNoLCB2Y2FyZF9zZWFyY2h9XSwKLSsgICAgRXhwb3J0ID0gZnVuKHtU YWJsZUZ1biwgVGFibGV9KSAtPgotKwkJICAgICBGaWxlbmFtZSA9IGZpbGVuYW1lOmpvaW4oW0Rp cmVjdG9yeSwgYXRvbV90b19saXN0KFRhYmxlKSsrIi50eHQiXSksCi0rCQkgICAgIGlvOmZvcm1h dCgiVHJ5aW5nIHRvIGV4cG9ydCBNbmVzaWEgdGFibGUgJ35wJyBvbiBIb3N0ICd+cycgdG8gZmls ZSAnfnMnfm4iLCBbVGFibGUsIEhvc3QsIEZpbGVuYW1lXSksCi0rCQkgICAgIFJlcyA9IChjYXRj aCBlamQyb2RiYzpUYWJsZUZ1bihIb3N0LCBGaWxlbmFtZSkpLAotKwkJICAgICBpbzpmb3JtYXQo IiAgUmVzdWx0OiB+cH5uIiwgW1Jlc10pCi0rCSAgICAgZW5kLAotKyAgICBsaXN0czpmb3JlYWNo KEV4cG9ydCwgVGFibGVzKSwKLSsgICAgb2suCi0rCi0rCi0rJSUlCi0rJSUlIEFjY291bnRzCi0r JSUlCi0rCi0rc2V0X3Bhc3N3b3JkKFVzZXIsIEhvc3QsIFBhc3N3b3JkKSAtPgotKyAgICBjYXNl IGVqYWJiZXJkX2F1dGg6c2V0X3Bhc3N3b3JkKFVzZXIsIEhvc3QsIFBhc3N3b3JkKSBvZgotKwlv ayAtPgotKwkgICAgb2s7Ci0rCV8gLT4KLSsJICAgIGVycm9yCi0rICAgIGVuZC4KLSsKLSslJSBD b3BpZWQgc29tZSBjb2RlIGZyb20gZWphYmJlcmRfY29tbWFuZHMuZXJsCi0rY2hlY2tfcGFzc3dv cmRfaGFzaChVc2VyLCBIb3N0LCBQYXNzd29yZEhhc2gsIEhhc2hNZXRob2QpIC0+Ci0rICAgIEFj Y291bnRQYXNzID0gZWphYmJlcmRfYXV0aDpnZXRfcGFzc3dvcmRfcyhVc2VyLCBIb3N0KSwKLSsg ICAgQWNjb3VudFBhc3NIYXNoID0gY2FzZSBIYXNoTWV0aG9kIG9mCi0rCQkJICAibWQ1IiAtPiBn ZXRfbWQ1KEFjY291bnRQYXNzKTsKLSsJCQkgICJzaGEiIC0+IGdldF9zaGEoQWNjb3VudFBhc3Mp OwotKwkJCSAgXyAtPiB1bmRlZmluZWQKLSsJCSAgICAgIGVuZCwKLSsgICAgY2FzZSBBY2NvdW50 UGFzc0hhc2ggb2YKLSsJdW5kZWZpbmVkIC0+IGVycm9yOwotKwlQYXNzd29yZEhhc2ggLT4gb2s7 Ci0rCV8gLT4gZXJyb3IKLSsgICAgZW5kLgotK2dldF9tZDUoQWNjb3VudFBhc3MpIC0+Ci0rICAg IGxpc3RzOmZsYXR0ZW4oW2lvX2xpYjpmb3JtYXQoIn4uMTZCIiwgW1hdKQotKwkJICAgfHwgWCA8 LSBiaW5hcnlfdG9fbGlzdChjcnlwdG86bWQ1KEFjY291bnRQYXNzKSldKS4KLStnZXRfc2hhKEFj Y291bnRQYXNzKSAtPgotKyAgICBsaXN0czpmbGF0dGVuKFtpb19saWI6Zm9ybWF0KCJ+LjE2QiIs IFtYXSkKLSsJCSAgIHx8IFggPC0gYmluYXJ5X3RvX2xpc3QoY3J5cHRvOnNoYShBY2NvdW50UGFz cykpXSkuCi0rCi0rbnVtX2FjdGl2ZV91c2VycyhIb3N0LCBEYXlzKSAtPgotKyAgICBsaXN0X2xh c3RfYWN0aXZpdHkoSG9zdCwgdHJ1ZSwgRGF5cykuCi0rCi0rJSUgQ29kZSBiYXNlZCBvbiBlamFi YmVyZC9zcmMvd2ViL2VqYWJiZXJkX3dlYl9hZG1pbi5lcmwKLStsaXN0X2xhc3RfYWN0aXZpdHko SG9zdCwgSW50ZWdyYWwsIERheXMpIC0+Ci0rICAgIHtNZWdhU2VjcywgU2VjcywgX01pY3JvU2Vj c30gPSBub3coKSwKLSsgICAgVGltZVN0YW1wID0gTWVnYVNlY3MgKiAxMDAwMDAwICsgU2VjcywK LSsgICAgVFMgPSBUaW1lU3RhbXAgLSBEYXlzICogODY0MDAsCi0rICAgIGNhc2UgY2F0Y2ggbW5l c2lhOmRpcnR5X3NlbGVjdCgKLSsJCSBsYXN0X2FjdGl2aXR5LCBbe3tsYXN0X2FjdGl2aXR5LCB7 J18nLCBIb3N0fSwgJyQxJywgJ18nfSwKLSsJCQkJICBbeyc+JywgJyQxJywgVFN9XSwKLSsJCQkJ ICBbeyd0cnVuYycsIHsnLycsCi0rCQkJCQkgICAgICB7Jy0nLCBUaW1lU3RhbXAsICckMSd9LAot KwkJCQkJICAgICAgODY0MDB9fV19XSkgb2YKLSsJCQkJCQkJICAgICAgeydFWElUJywgX1JlYXNv bn0gLT4KLSsJCSBbXTsKLSsJICAgICAgIFZhbHMgLT4KLSsJCSBIaXN0ID0gaGlzdG9ncmFtKFZh bHMsIEludGVncmFsKSwKLSsJCSBpZgotKwkJICAgICBIaXN0ID09IFtdIC0+Ci0rCQkJIDA7Ci0r CQkgICAgIHRydWUgLT4KLSsJCQkgTGVmdCA9IERheXMgLSBsZW5ndGgoSGlzdCksCi0rCQkJIFRh aWwgPSBpZgotKwkJCQkgICAgSW50ZWdyYWwgLT4KLSsJCQkJCWxpc3RzOmR1cGxpY2F0ZShMZWZ0 LCBsaXN0czpsYXN0KEhpc3QpKTsKLSsJCQkJICAgIHRydWUgLT4KLSsJCQkJCWxpc3RzOmR1cGxp Y2F0ZShMZWZ0LCAwKQotKwkJCQllbmQsCi0rCQkJIGxpc3RzOm50aChEYXlzLCBIaXN0ICsrIFRh aWwpCi0rCQkgZW5kCi0rCSBlbmQuCi0raGlzdG9ncmFtKFZhbHVlcywgSW50ZWdyYWwpIC0+Ci0r ICAgIGhpc3RvZ3JhbShsaXN0czpzb3J0KFZhbHVlcyksIEludGVncmFsLCAwLCAwLCBbXSkuCi0r aGlzdG9ncmFtKFtIIHwgVF0sIEludGVncmFsLCBDdXJyZW50LCBDb3VudCwgSGlzdCkgd2hlbiBD dXJyZW50ID09IEggLT4KLSsgICAgaGlzdG9ncmFtKFQsIEludGVncmFsLCBDdXJyZW50LCBDb3Vu dCArIDEsIEhpc3QpOwotK2hpc3RvZ3JhbShbSCB8IF9dID0gVmFsdWVzLCBJbnRlZ3JhbCwgQ3Vy cmVudCwgQ291bnQsIEhpc3QpIHdoZW4gQ3VycmVudCA8IEggLT4KLSsgICAgaWYKLSsJSW50ZWdy YWwgLT4KLSsJICAgIGhpc3RvZ3JhbShWYWx1ZXMsIEludGVncmFsLCBDdXJyZW50ICsgMSwgQ291 bnQsIFtDb3VudCB8IEhpc3RdKTsKLSsJdHJ1ZSAtPgotKwkgICAgaGlzdG9ncmFtKFZhbHVlcywg SW50ZWdyYWwsIEN1cnJlbnQgKyAxLCAwLCBbQ291bnQgfCBIaXN0XSkKLSsgICAgZW5kOwotK2hp c3RvZ3JhbShbXSwgX0ludGVncmFsLCBfQ3VycmVudCwgQ291bnQsIEhpc3QpIC0+Ci0rICAgIGlm Ci0rCUNvdW50ID4gMCAtPgotKwkgICAgbGlzdHM6cmV2ZXJzZShbQ291bnQgfCBIaXN0XSk7Ci0r CXRydWUgLT4KLSsJICAgIGxpc3RzOnJldmVyc2UoSGlzdCkKLSsgICAgZW5kLgotKwotKwotK2Rl bGV0ZV9vbGRfdXNlcnMoRGF5cykgLT4KLSsgICAgJSUgR2V0IHRoZSBsaXN0IG9mIHJlZ2lzdGVy ZWQgdXNlcnMKLSsgICAgVXNlcnMgPSBlamFiYmVyZF9hdXRoOmRpcnR5X2dldF9yZWdpc3RlcmVk X3VzZXJzKCksCi0rCi0rICAgIHtyZW1vdmVkLCBOLCBVUn0gPSBkZWxldGVfb2xkX3VzZXJzKERh eXMsIFVzZXJzKSwKLSsgICAge29rLCBpb19saWI6Zm9ybWF0KCJEZWxldGVkIH5wIHVzZXJzOiB+ cCIsIFtOLCBVUl0pfS4KLSsKLStkZWxldGVfb2xkX3VzZXJzX3Zob3N0KEhvc3QsIERheXMpIC0+ Ci0rICAgICUlIEdldCB0aGUgbGlzdCBvZiByZWdpc3RlcmVkIHVzZXJzCi0rICAgIFVzZXJzID0g ZWphYmJlcmRfYXV0aDpnZXRfdmhfcmVnaXN0ZXJlZF91c2VycyhIb3N0KSwKLSsKLSsgICAge3Jl bW92ZWQsIE4sIFVSfSA9IGRlbGV0ZV9vbGRfdXNlcnMoRGF5cywgVXNlcnMpLAotKyAgICB7b2ss IGlvX2xpYjpmb3JtYXQoIkRlbGV0ZWQgfnAgdXNlcnM6IH5wIiwgW04sIFVSXSl9LgotKwotK2Rl bGV0ZV9vbGRfdXNlcnMoRGF5cywgVXNlcnMpIC0+Ci0rICAgICUlIENvbnZlcnQgb2xkZXIgdGlt ZQotKyAgICBTZWNPbGRlciA9IERheXMqMjQqNjAqNjAsCi0rCi0rICAgICUlIEdldCBjdXJyZW50 IHRpbWUKLSsgICAge01lZ2FTZWNzLCBTZWNzLCBfTWljcm9TZWNzfSA9IG5vdygpLAotKyAgICBU aW1lU3RhbXBfbm93ID0gTWVnYVNlY3MgKiAxMDAwMDAwICsgU2VjcywKLSsKLSsgICAgJSUgRm9y IGEgdXNlciwgcmVtb3ZlIGlmIHJlcXVpcmVkIGFuZCBhbnN3ZXIgdHJ1ZQotKyAgICBGID0gZnVu KHtMVXNlciwgTFNlcnZlcn0pIC0+Ci0rCQklJSBDaGVjayBpZiB0aGUgdXNlciBpcyBsb2dnZWQK LSsJCWNhc2UgZWphYmJlcmRfc206Z2V0X3VzZXJfcmVzb3VyY2VzKExVc2VyLCBMU2VydmVyKSBv ZgotKwkJICAgICUlIElmIGl0IGlzbnQKLSsJCSAgICBbXSAtPgotKwkJCSUlIExvb2sgZm9yIGhp cyBsYXN0X2FjdGl2aXR5Ci0rCQkJY2FzZSAoZ2V0X2xhc3RhY3Rpdml0eV9tb2R1bGUoTFNlcnZl cikpOmdldF9sYXN0X2luZm8oTFVzZXIsIExTZXJ2ZXIpIG9mCi0rCQkJICAgICUlIElmIGl0IGlz Ci0rCQkJICAgICUlIGV4aXN0ZW50OgotKwkJCSAgICB7b2ssIFRpbWVTdGFtcCwgX1N0YXR1c30g LT4KLSsJCQkJJSUgZ2V0IGhpcyBhZ2UKLSsJCQkJU2VjID0gVGltZVN0YW1wX25vdyAtIFRpbWVT dGFtcCwKLSsJCQkJJSUgSWYgaGUgaXMKLSsJCQkJaWYKLSsJCQkJICAgICUlIHlvdW5nZXIgdGhh biBTZWNPbGRlcjoKLSsJCQkJICAgIFNlYyA8IFNlY09sZGVyIC0+Ci0rCQkJCQklJSBkbyBub3Ro aW5nCi0rCQkJCQlmYWxzZTsKLSsJCQkJICAgICUlIG9sZGVyOgotKwkJCQkgICAgdHJ1ZSAtPgot KwkJCQkJJSUgcmVtb3ZlIHRoZSB1c2VyCi0rCQkJCQllamFiYmVyZF9hdXRoOnJlbW92ZV91c2Vy KExVc2VyLCBMU2VydmVyKSwKLSsJCQkJCXRydWUKLSsJCQkJZW5kOwotKwkJCSAgICAlJSBub25l eGlzdGVudDoKLSsJCQkgICAgbm90X2ZvdW5kIC0+Ci0rCQkJCSUlIHJlbW92ZSB0aGUgdXNlcgot KwkJCQllamFiYmVyZF9hdXRoOnJlbW92ZV91c2VyKExVc2VyLCBMU2VydmVyKSwKLSsJCQkJdHJ1 ZQotKwkJCWVuZDsKLSsJCSAgICAlJSBFbHNlCi0rCQkgICAgXyAtPgotKwkJCSUlIGRvIG5vdGhp bmcKLSsJCQlmYWxzZQotKwkJZW5kCi0rCWVuZCwKLSsgICAgJSUgQXBwbHkgdGhlIGZ1bmN0aW9u IHRvIGV2ZXJ5IHVzZXIgaW4gdGhlIGxpc3QKLSsgICAgVXNlcnNfcmVtb3ZlZCA9IGxpc3RzOmZp bHRlcihGLCBVc2VycyksCi0rICAgIHtyZW1vdmVkLCBsZW5ndGgoVXNlcnNfcmVtb3ZlZCksIFVz ZXJzX3JlbW92ZWR9LgotKwotK2dldF9sYXN0YWN0aXZpdHlfbW9kdWxlKFNlcnZlcikgLT4KLSsg ICAgY2FzZSBsaXN0czptZW1iZXIobW9kX2xhc3QsIGdlbl9tb2Q6bG9hZGVkX21vZHVsZXMoU2Vy dmVyKSkgb2YKLSsgICAgICAgIHRydWUgLT4gbW9kX2xhc3Q7Ci0rICAgICAgICBfIC0+IG1vZF9s YXN0X29kYmMKLSsgICAgZW5kLgotKwotKwotKyUlCi0rJSUgQmFuIGFjY291bnQKLSsKLStiYW5f YWNjb3VudChVc2VyLCBIb3N0LCBSZWFzb25UZXh0KSAtPgotKyAgICBSZWFzb24gPSBwcmVwYXJl X3JlYXNvbihSZWFzb25UZXh0KSwKLSsgICAga2lja19zZXNzaW9ucyhVc2VyLCBIb3N0LCBSZWFz b24pLAotKyAgICBzZXRfcmFuZG9tX3Bhc3N3b3JkKFVzZXIsIEhvc3QsIFJlYXNvbiksCi0rICAg IG9rLgotKwotK2tpY2tfc2Vzc2lvbnMoVXNlciwgU2VydmVyLCBSZWFzb24pIC0+Ci0rICAgIGxp c3RzOm1hcCgKLSsgICAgICBmdW4oUmVzb3VyY2UpIC0+Ci0rCSAgICAgIGtpY2tfdGhpc19zZXNz aW9uKFVzZXIsIFNlcnZlciwgUmVzb3VyY2UsIFJlYXNvbikKLSsgICAgICBlbmQsCi0rICAgICAg Z2V0X3Jlc291cmNlcyhVc2VyLCBTZXJ2ZXIpKS4KLSsKLStnZXRfcmVzb3VyY2VzKFVzZXIsIFNl cnZlcikgLT4KLSsgICAgbGlzdHM6bWFwKAotKyAgICAgIGZ1bihTZXNzaW9uKSAtPgotKwkgICAg ICBlbGVtZW50KDMsIFNlc3Npb24jc2Vzc2lvbi51c3IpCi0rICAgICAgZW5kLAotKyAgICAgIGdl dF9zZXNzaW9ucyhVc2VyLCBTZXJ2ZXIpKS4KLSsKLStnZXRfc2Vzc2lvbnMoVXNlciwgU2VydmVy KSAtPgotKyAgICBMVXNlciA9IGpsaWI6bm9kZXByZXAoVXNlciksCi0rICAgIExTZXJ2ZXIgPSBq bGliOm5hbWVwcmVwKFNlcnZlciksCi0rICAgIFNlc3Npb25zID0gIG1uZXNpYTpkaXJ0eV9pbmRl eF9yZWFkKHNlc3Npb24sIHtMVXNlciwgTFNlcnZlcn0sICNzZXNzaW9uLnVzKSwKLSsgICAgdHJ1 ZSA9IGlzX2xpc3QoU2Vzc2lvbnMpLAotKyAgICBTZXNzaW9ucy4KLSsKLStzZXRfcmFuZG9tX3Bh c3N3b3JkKFVzZXIsIFNlcnZlciwgUmVhc29uKSAtPgotKyAgICBOZXdQYXNzID0gYnVpbGRfcmFu ZG9tX3Bhc3N3b3JkKFJlYXNvbiksCi0rICAgIHNldF9wYXNzd29yZF9hdXRoKFVzZXIsIFNlcnZl ciwgTmV3UGFzcykuCi0rCi0rYnVpbGRfcmFuZG9tX3Bhc3N3b3JkKFJlYXNvbikgLT4KLSsgICAg RGF0ZSA9IGpsaWI6dGltZXN0YW1wX3RvX2lzbyhjYWxlbmRhcjp1bml2ZXJzYWxfdGltZSgpKSwK LSsgICAgUmFuZG9tU3RyaW5nID0gcmFuZG9tczpnZXRfc3RyaW5nKCksCi0rICAgICJCQU5ORURf QUNDT1VOVC0tIiArKyBEYXRlICsrICItLSIgKysgUmFuZG9tU3RyaW5nICsrICItLSIgKysgUmVh c29uLgotKwotK3NldF9wYXNzd29yZF9hdXRoKFVzZXIsIFNlcnZlciwgUGFzc3dvcmQpIC0+Ci0r ICAgIG9rID0gZWphYmJlcmRfYXV0aDpzZXRfcGFzc3dvcmQoVXNlciwgU2VydmVyLCBQYXNzd29y ZCkuCi0rCi0rcHJlcGFyZV9yZWFzb24oW10pIC0+Ci0rICAgICJLaWNrZWQgYnkgYWRtaW5pc3Ry YXRvciI7Ci0rcHJlcGFyZV9yZWFzb24oW1JlYXNvbl0pIC0+Ci0rICAgIFJlYXNvbjsKLStwcmVw YXJlX3JlYXNvbihSZWFzb24pIHdoZW4gaXNfbGlzdChSZWFzb24pIC0+Ci0rICAgIFJlYXNvbjsK LStwcmVwYXJlX3JlYXNvbihTdHJpbmdMaXN0KSAtPgotKyAgICBzdHJpbmc6am9pbihTdHJpbmdM aXN0LCAiXyIpLgotKwotKwotKyUlJQotKyUlJSBTZXNzaW9ucwotKyUlJQotKwotK251bV9yZXNv dXJjZXMoVXNlciwgSG9zdCkgLT4KLSsgICAgbGVuZ3RoKGVqYWJiZXJkX3NtOmdldF91c2VyX3Jl c291cmNlcyhVc2VyLCBIb3N0KSkuCi0rCi0rcmVzb3VyY2VfbnVtKFVzZXIsIEhvc3QsIE51bSkg LT4KLSsgICAgUmVzb3VyY2VzID0gZWphYmJlcmRfc206Z2V0X3VzZXJfcmVzb3VyY2VzKFVzZXIs IEhvc3QpLAotKyAgICBjYXNlICgwPE51bSkgYW5kIChOdW09PGxlbmd0aChSZXNvdXJjZXMpKSBv ZgotKwl0cnVlIC0+Ci0rCSAgICBsaXN0czpudGgoTnVtLCBSZXNvdXJjZXMpOwotKwlmYWxzZSAt PgotKwkgICAgbGlzdHM6ZmxhdHRlbihpb19saWI6Zm9ybWF0KCJFcnJvcjogV3JvbmcgcmVzb3Vy Y2UgbnVtYmVyOiB+cCIsIFtOdW1dKSkKLSsgICAgZW5kLgotKwotK2tpY2tfc2Vzc2lvbihVc2Vy LCBTZXJ2ZXIsIFJlc291cmNlLCBSZWFzb25UZXh0KSAtPgotKyAgICBraWNrX3RoaXNfc2Vzc2lv bihVc2VyLCBTZXJ2ZXIsIFJlc291cmNlLCBwcmVwYXJlX3JlYXNvbihSZWFzb25UZXh0KSksCi0r ICAgIG9rLgotKwotK2tpY2tfdGhpc19zZXNzaW9uKFVzZXIsIFNlcnZlciwgUmVzb3VyY2UsIFJl YXNvbikgLT4KLSsgICAgZWphYmJlcmRfcm91dGVyOnJvdXRlKAotKyAgICAgIGpsaWI6bWFrZV9q aWQoIiIsICIiLCAiIiksCi0rICAgICAgamxpYjptYWtlX2ppZChVc2VyLCBTZXJ2ZXIsIFJlc291 cmNlKSwKLSsgICAgICB7eG1sZWxlbWVudCwgImJyb2FkY2FzdCIsIFtdLCBbe2V4aXQsIFJlYXNv bn1dfSkuCi0rCi0rCi0rc3RhdHVzX251bShIb3N0LCBTdGF0dXMpIC0+Ci0rICAgIGxlbmd0aChn ZXRfc3RhdHVzX2xpc3QoSG9zdCwgU3RhdHVzKSkuCi0rc3RhdHVzX251bShTdGF0dXMpIC0+Ci0r ICAgIHN0YXR1c19udW0oImFsbCIsIFN0YXR1cykuCi0rc3RhdHVzX2xpc3QoSG9zdCwgU3RhdHVz KSAtPgotKyAgICBSZXMgPSBnZXRfc3RhdHVzX2xpc3QoSG9zdCwgU3RhdHVzKSwKLSsgICAgW3tV LCBTLCBSLCBQLCBTdH0gfHwge1UsIFMsIFIsIFAsIFN0fSA8LSBSZXNdLgotK3N0YXR1c19saXN0 KFN0YXR1cykgLT4KLSsgICAgc3RhdHVzX2xpc3QoImFsbCIsIFN0YXR1cykuCi0rCi0rCi0rZ2V0 X3N0YXR1c19saXN0KEhvc3QsIFN0YXR1c19yZXF1aXJlZCkgLT4KLSsgICAgJSUgR2V0IGxpc3Qg b2YgYWxsIGxvZ2dlZCB1c2VycwotKyAgICBTZXNzaW9ucyA9IGVqYWJiZXJkX3NtOmRpcnR5X2dl dF9teV9zZXNzaW9uc19saXN0KCksCi0rICAgICUlIFJlZm9ybWF0IHRoZSBsaXN0Ci0rICAgIFNl c3Npb25zMiA9IFsge1Nlc3Npb24jc2Vzc2lvbi51c3IsIFNlc3Npb24jc2Vzc2lvbi5zaWQsIFNl c3Npb24jc2Vzc2lvbi5wcmlvcml0eX0gfHwgU2Vzc2lvbiA8LSBTZXNzaW9uc10sCi0rICAgIEZo b3N0ID0gY2FzZSBIb3N0IG9mCi0rCQkiYWxsIiAtPgotKwkJICAgICUlIEFsbCBob3N0cyBhcmUg cmVxdWVzdGVkLCBzbyBkb250IGZpbHRlciBhdCBhbGwKLSsJCSAgICBmdW4oXywgXykgLT4gdHJ1 ZSBlbmQ7Ci0rCQlfIC0+Ci0rCQkgICAgJSUgRmlsdGVyIHRoZSBsaXN0LCBvbmx5IEhvc3QgaXMg aW50ZXJlc3RpbmcKLSsJCSAgICBmdW4oQSwgQikgLT4gQSA9PSBCIGVuZAotKwkgICAgZW5kLAot KyAgICBTZXNzaW9uczMgPSBbIHtQaWQsIFNlcnZlciwgUHJpb3JpdHl9IHx8IHt7X1VzZXIsIFNl cnZlciwgX1Jlc291cmNlfSwge18sIFBpZH0sIFByaW9yaXR5fSA8LSBTZXNzaW9uczIsIGFwcGx5 KEZob3N0LCBbU2VydmVyLCBIb3N0XSldLAotKyAgICAlJSBGb3IgZWFjaCBQaWQsIGdldCBpdHMg cHJlc2VuY2UKLSsgICAgU2Vzc2lvbnM0ID0gWyB7ZWphYmJlcmRfYzJzOmdldF9wcmVzZW5jZShQ aWQpLCBTZXJ2ZXIsIFByaW9yaXR5fSB8fCB7UGlkLCBTZXJ2ZXIsIFByaW9yaXR5fSA8LSBTZXNz aW9uczNdLAotKyAgICAlJSBGaWx0ZXIgYnkgc3RhdHVzCi0rICAgIEZzdGF0dXMgPSBjYXNlIFN0 YXR1c19yZXF1aXJlZCBvZgotKwkJICAiYWxsIiAtPgotKwkJICAgICAgZnVuKF8sIF8pIC0+IHRy dWUgZW5kOwotKwkJICBfIC0+Ci0rCQkgICAgICBmdW4oQSwgQikgLT4gQSA9PSBCIGVuZAotKwkg ICAgICBlbmQsCi0rICAgIFt7VXNlciwgU2VydmVyLCBSZXNvdXJjZSwgUHJpb3JpdHksIHN0cmlu Z2l6ZShTdGF0dXNfdGV4dCl9Ci0rICAgICB8fCB7e1VzZXIsIFJlc291cmNlLCBTdGF0dXMsIFN0 YXR1c190ZXh0fSwgU2VydmVyLCBQcmlvcml0eX0gPC0gU2Vzc2lvbnM0LAotKwlhcHBseShGc3Rh dHVzLCBbU3RhdHVzLCBTdGF0dXNfcmVxdWlyZWRdKV0uCi0rCi0rY29ubmVjdGVkX3VzZXJzX2lu Zm8oKSAtPgotKyAgICBVU1JJcyA9IGRpcnR5X2dldF9zZXNzaW9uc19saXN0MigpLAotKyAgICBD dXJyZW50U2VjID0gY2FsZW5kYXI6ZGF0ZXRpbWVfdG9fZ3JlZ29yaWFuX3NlY29uZHMoe2RhdGUo KSwgdGltZSgpfSksCi0rICAgIGxpc3RzOm1hcCgKLSsgICAgICBmdW4oW3tVLCBTLCBSfSwge05v dywgUGlkfSwgUHJpb3JpdHksIEluZm9dKSAtPgotKwkgICAgICBDb25uID0gcHJvcGxpc3RzOmdl dF92YWx1ZShjb25uLCBJbmZvKSwKLSsJICAgICAge0lwLCBQb3J0fSA9IHByb3BsaXN0czpnZXRf dmFsdWUoaXAsIEluZm8pLAotKwkgICAgICBJUFMgPSBpbmV0X3BhcnNlOm50b2EoSXApLAotKwkg ICAgICBOb2RlUyA9IGF0b21fdG9fbGlzdChub2RlKFBpZCkpLAotKwkgICAgICBVcHRpbWUgPSBD dXJyZW50U2VjIC0gY2FsZW5kYXI6ZGF0ZXRpbWVfdG9fZ3JlZ29yaWFuX3NlY29uZHMoCi0rCQkJ CSAgICAgIGNhbGVuZGFyOm5vd190b19sb2NhbF90aW1lKE5vdykpLAotKwkgICAgICB7W1UsICRA LCBTLCAkLywgUl0sIGF0b21fdG9fbGlzdChDb25uKSwgSVBTLCBQb3J0LCBQcmlvcml0eSwgTm9k ZVMsIFVwdGltZX0KLSsgICAgICBlbmQsCi0rICAgICAgVVNSSXMpLgotKwotK2Nvbm5lY3RlZF91 c2Vyc192aG9zdChIb3N0KSAtPgotKyAgICBVU1JzID0gZWphYmJlcmRfc206Z2V0X3ZoX3Nlc3Np b25fbGlzdChIb3N0KSwKLSsgICAgWyBbVSwgJEAsIFMsICQvLCBSXSB8fCB7VSwgUywgUn0gPC0g VVNSc10uCi0rCi0rJSUgQ29kZSBjb3BpZWQgZnJvbSBlamFiYmVyZF9zbS5lcmwgYW5kIGN1c3Rv bWl6ZWQKLStkaXJ0eV9nZXRfc2Vzc2lvbnNfbGlzdDIoKSAtPgotKyAgICBtbmVzaWE6ZGlydHlf c2VsZWN0KAotKyAgICAgIHNlc3Npb24sCi0rICAgICAgW3sjc2Vzc2lvbnt1c3IgPSAnJDEnLCBz aWQgPSAnJDInLCBwcmlvcml0eSA9ICckMycsIGluZm8gPSAnJDQnLCBfID0gJ18nfSwKLSsJW10s Ci0rCVtbJyQxJywgJyQyJywgJyQzJywgJyQ0J11dfV0pLgotKwotKyUlIE1ha2Ugc3RyaW5nIG1v cmUgcHJpbnQtZnJpZW5kbHkKLStzdHJpbmdpemUoU3RyaW5nKSAtPgotKyAgICAlJSBSZXBsYWNl IG5ld2xpbmUgY2hhcmFjdGVycyB3aXRoIG90aGVyIGNvZGUKLSsgICAgZWphYmJlcmRfcmVnZXhw OmdyZXBsYWNlKFN0cmluZywgIlxuIiwgIlxcbiIpLgotKwotK3NldF9wcmVzZW5jZShVc2VyLCBI b3N0LCBSZXNvdXJjZSwgVHlwZSwgU2hvdywgU3RhdHVzLCBQcmlvcml0eSkgLT4KLSsgICAgUGlk ID0gZWphYmJlcmRfc206Z2V0X3Nlc3Npb25fcGlkKFVzZXIsIEhvc3QsIFJlc291cmNlKSwKLSsg ICAgVVNSID0gVXNlciArKyAiQCIgKysgSG9zdCArKyAiLyIgKysgUmVzb3VyY2UsCi0rICAgIFVT ID0gVXNlciArKyAiQCIgKysgSG9zdCwKLSsgICAgTWVzc2FnZSA9IHtyb3V0ZV94bWxzdHJlYW1l bGVtZW50LAotKwkgICAgICAge3htbGVsZW1lbnQsICJwcmVzZW5jZSIsCi0rCQlbeyJmcm9tIiwg VVNSfSwgeyJ0byIsIFVTfSwgeyJ0eXBlIiwgVHlwZX1dLAotKwkJW3t4bWxlbGVtZW50LCAic2hv dyIsIFtdLCBbe3htbGNkYXRhLCBTaG93fV19LAotKwkJIHt4bWxlbGVtZW50LCAic3RhdHVzIiwg W10sIFt7eG1sY2RhdGEsIFN0YXR1c31dfSwKLSsJCSB7eG1sZWxlbWVudCwgInByaW9yaXR5Iiwg W10sIFt7eG1sY2RhdGEsIFByaW9yaXR5fV19XX19LAotKyAgICBQaWQgISBNZXNzYWdlLgotKwot K3VzZXJfc2Vzc2lvbnNfaW5mbyhVc2VyLCBIb3N0KSAtPgotKyAgICBDdXJyZW50U2VjID0gY2Fs ZW5kYXI6ZGF0ZXRpbWVfdG9fZ3JlZ29yaWFuX3NlY29uZHMoe2RhdGUoKSwgdGltZSgpfSksCi0r ICAgIFVTID0ge1VzZXIsIEhvc3R9LAotKyAgICBTZXNzaW9ucyA9IGNhc2UgY2F0Y2ggbW5lc2lh OmRpcnR5X2luZGV4X3JlYWQoc2Vzc2lvbiwgVVMsICNzZXNzaW9uLnVzKSBvZgotKwkJICAgeydF WElUJywgX1JlYXNvbn0gLT4KLSsJCSAgICAgICBbXTsKLSsJCSAgIFNzIC0+Ci0rCQkgICAgICAg U3MKLSsJICAgICAgIGVuZCwKLSsgICAgbGlzdHM6bWFwKAotKyAgICAgIGZ1bihTZXNzaW9uKSAt PgotKwkgICAgICB7X1UsIF9TLCBSZXNvdXJjZX0gPSBTZXNzaW9uI3Nlc3Npb24udXNyLAotKwkg ICAgICB7Tm93LCBQaWR9ID0gU2Vzc2lvbiNzZXNzaW9uLnNpZCwKLSsJICAgICAge19VLCBfUmVz b3VyY2UsIFN0YXR1cywgU3RhdHVzVGV4dH0gPSBlamFiYmVyZF9jMnM6Z2V0X3ByZXNlbmNlKFBp ZCksCi0rCSAgICAgIEluZm8gPSBTZXNzaW9uI3Nlc3Npb24uaW5mbywKLSsJICAgICAgUHJpb3Jp dHkgPSBTZXNzaW9uI3Nlc3Npb24ucHJpb3JpdHksCi0rCSAgICAgIENvbm4gPSBwcm9wbGlzdHM6 Z2V0X3ZhbHVlKGNvbm4sIEluZm8pLAotKwkgICAgICB7SXAsIFBvcnR9ID0gcHJvcGxpc3RzOmdl dF92YWx1ZShpcCwgSW5mbyksCi0rCSAgICAgIElQUyA9IGluZXRfcGFyc2U6bnRvYShJcCksCi0r CSAgICAgIE5vZGVTID0gYXRvbV90b19saXN0KG5vZGUoUGlkKSksCi0rCSAgICAgIFVwdGltZSA9 IEN1cnJlbnRTZWMgLSBjYWxlbmRhcjpkYXRldGltZV90b19ncmVnb3JpYW5fc2Vjb25kcygKLSsJ CQkJICAgICAgY2FsZW5kYXI6bm93X3RvX2xvY2FsX3RpbWUoTm93KSksCi0rCSAgICAgIHthdG9t X3RvX2xpc3QoQ29ubiksIElQUywgUG9ydCwgUHJpb3JpdHksIE5vZGVTLCBVcHRpbWUsIFN0YXR1 cywgUmVzb3VyY2UsIFN0YXR1c1RleHR9Ci0rICAgICAgZW5kLAotKyAgICAgIFNlc3Npb25zKS4K LSsKLSsKLSslJSUKLSslJSUgVmNhcmQKLSslJSUKLSsKLStzZXRfbmlja25hbWUoVXNlciwgSG9z dCwgTmlja25hbWUpIC0+Ci0rICAgIFIgPSBtb2RfdmNhcmQ6cHJvY2Vzc19zbV9pcSgKLSsJICB7 amlkLCBVc2VyLCBIb3N0LCAiIiwgVXNlciwgSG9zdCwgIiJ9LAotKwkgIHtqaWQsIFVzZXIsIEhv c3QsICIiLCBVc2VyLCBIb3N0LCAiIn0sCi0rCSAge2lxLCAiIiwgc2V0LCAiIiwgImVuIiwKLSsJ ICAge3htbGVsZW1lbnQsICJ2Q2FyZCIsCi0rCSAgICBbeyJ4bWxucyIsICJ2Y2FyZC10ZW1wIn1d LCBbCi0rCQkJCQl7eG1sZWxlbWVudCwgIk5JQ0tOQU1FIiwgW10sIFt7eG1sY2RhdGEsIE5pY2tu YW1lfV19Ci0rCQkJCSAgICAgICBdCi0rCSAgIH19KSwKLSsgICAgY2FzZSBSIG9mCi0rCXtpcSwg W10sIHJlc3VsdCwgW10sIF9MLCBbXX0gLT4KLSsJICAgIG9rOwotKwlfIC0+Ci0rCSAgICBlcnJv cgotKyAgICBlbmQuCi0rCi0rZ2V0X3ZjYXJkKFVzZXIsIEhvc3QsIE5hbWUpIC0+Ci0rICAgIFtS ZXMgfCBfXSA9IGdldF92Y2FyZF9jb250ZW50KFVzZXIsIEhvc3QsIFtOYW1lXSksCi0rICAgIFJl cy4KLSsKLStnZXRfdmNhcmQoVXNlciwgSG9zdCwgTmFtZSwgU3VibmFtZSkgLT4KLSsgICAgW1Jl cyB8IF9dID0gZ2V0X3ZjYXJkX2NvbnRlbnQoVXNlciwgSG9zdCwgW05hbWUsIFN1Ym5hbWVdKSwK LSsgICAgUmVzLgotKwotK2dldF92Y2FyZF9tdWx0aShVc2VyLCBIb3N0LCBOYW1lLCBTdWJuYW1l KSAtPgotKyAgICBnZXRfdmNhcmRfY29udGVudChVc2VyLCBIb3N0LCBbTmFtZSwgU3VibmFtZV0p LgotKwotK3NldF92Y2FyZChVc2VyLCBIb3N0LCBOYW1lLCBTb21lQ29udGVudCkgLT4KLSsgICAg c2V0X3ZjYXJkX2NvbnRlbnQoVXNlciwgSG9zdCwgW05hbWVdLCBTb21lQ29udGVudCkuCi0rCi0r c2V0X3ZjYXJkKFVzZXIsIEhvc3QsIE5hbWUsIFN1Ym5hbWUsIFNvbWVDb250ZW50KSAtPgotKyAg ICBzZXRfdmNhcmRfY29udGVudChVc2VyLCBIb3N0LCBbTmFtZSwgU3VibmFtZV0sIFNvbWVDb250 ZW50KS4KLSsKLSsKLSslJQotKyUlIEludGVybmFsIHZjYXJkCi0rCi0rZ2V0X21vZHVsZV9yZXNv dXJjZShTZXJ2ZXIpIC0+Ci0rICAgIGNhc2UgZ2VuX21vZDpnZXRfbW9kdWxlX29wdChTZXJ2ZXIs ID9NT0RVTEUsIG1vZHVsZV9yZXNvdXJjZSwgbm9uZSkgb2YKLSsJbm9uZSAtPiBhdG9tX3RvX2xp c3QoP01PRFVMRSk7Ci0rCVIgd2hlbiBpc19saXN0KFIpIC0+IFIKLSsgICAgZW5kLgotKwotK2dl dF92Y2FyZF9jb250ZW50KFVzZXIsIFNlcnZlciwgRGF0YSkgLT4KLSsgICAgW3tfLCBNb2R1bGUs IEZ1bmN0aW9uLCBfT3B0c31dID0gZXRzOmxvb2t1cChzbV9pcXRhYmxlLCB7P05TX1ZDQVJELCBT ZXJ2ZXJ9KSwKLSsgICAgSklEID0gamxpYjptYWtlX2ppZChVc2VyLCBTZXJ2ZXIsIGdldF9tb2R1 bGVfcmVzb3VyY2UoU2VydmVyKSksCi0rICAgIElRID0gI2lxe3R5cGUgPSBnZXQsIHhtbG5zID0g P05TX1ZDQVJEfSwKLSsgICAgSVFyID0gTW9kdWxlOkZ1bmN0aW9uKEpJRCwgSklELCBJUSksCi0r ICAgIGNhc2UgSVFyI2lxLnN1Yl9lbCBvZgotKwlbQTFdIC0+Ci0rCSAgICBjYXNlIGdldF92Y2Fy ZChEYXRhLCBBMSkgb2YKLSsJCVtdIC0+IHRocm93KGVycm9yX25vX3ZhbHVlX2ZvdW5kX2luX3Zj YXJkKTsKLSsJCUVsZW1MaXN0IC0+IFt4bWw6Z2V0X3RhZ19jZGF0YShFbGVtKSB8fCBFbGVtIDwt IEVsZW1MaXN0XQotKwkgICAgZW5kOwotKwlbXSAtPgotKwkgICAgdGhyb3coZXJyb3Jfbm9fdmNh cmRfZm91bmQpCi0rICAgIGVuZC4KLSsKLStnZXRfdmNhcmQoW0RhdGExLCBEYXRhMl0sIEExKSAt PgotKyAgICBjYXNlIGdldF9zdWJ0YWcoQTEsIERhdGExKSBvZgotKyAgICAJZmFsc2UgLT4gZmFs c2U7Ci0rCUEyTGlzdCAtPiBsaXN0czpmbGF0dGVuKFtnZXRfdmNhcmQoW0RhdGEyXSwgQTIpIHx8 IEEyIDwtIEEyTGlzdF0pCi0rICAgIGVuZDsKLSsKLStnZXRfdmNhcmQoW0RhdGFdLCBBMSkgLT4K LSsgICAgZ2V0X3N1YnRhZyhBMSwgRGF0YSkuCi0rCi0rZ2V0X3N1YnRhZyhYbWxlbGVtZW50LCBO YW1lKSAtPgotKyAgICBjYXNlIGNvZGU6ZW5zdXJlX2xvYWRlZChleG1wcF94bWwpIG9mCi0rCXtl cnJvciwgX30gLT4KLSsJICAgIFtnZXRfc3VidGFnX3htbChYbWxlbGVtZW50LCBOYW1lKV07Ci0r CXttb2R1bGUsIGV4bXBwX3htbH0gLT4KLSsJICAgIGdldF9zdWJ0YWdfZXhtcHAoWG1sZWxlbWVu dCwgTmFtZSkKLSsgICAgZW5kLgotKwotK2dldF9zdWJ0YWdfeG1sKFhtbGVsZW1lbnQsIE5hbWUp IC0+Ci0rICAgIHhtbDpnZXRfc3VidGFnKFhtbGVsZW1lbnQsIE5hbWUpLgotKwotK2dldF9zdWJ0 YWdfZXhtcHAoWG1sZWxlbWVudCwgTmFtZSkgLT4KLSsgICAgWG1sZWwgPSBleG1wcF94bWw6eG1s ZWxlbWVudF90b194bWxlbChYbWxlbGVtZW50KSwKLSsgICAgWG1sZWxMaXN0ID0gZXhtcHBfeG1s OmdldF9lbGVtZW50cyhYbWxlbCwgTmFtZSksCi0rICAgIFtleG1wcF94bWw6eG1sZWxfdG9feG1s ZWxlbWVudChYbWxlbDIpIHx8IFhtbGVsMiA8LSBYbWxlbExpc3RdLgotKwotK3NldF92Y2FyZF9j b250ZW50KFVzZXIsIFNlcnZlciwgRGF0YSwgU29tZUNvbnRlbnQpIC0+Ci0rICAgIENvbnRlbnRM aXN0ID0gY2FzZSBTb21lQ29udGVudCBvZgotKwlbQ2hhciB8IF9dIHdoZW4gbm90IGlzX2xpc3Qo Q2hhcikgLT4gW1NvbWVDb250ZW50XTsKLSsJW0NoYXIgfCBfXSB3aGVuIGlzX2xpc3QoQ2hhcikg LT4gU29tZUNvbnRlbnQKLSsgICAgZW5kLAotKyAgICBbe18sIE1vZHVsZSwgRnVuY3Rpb24sIF9P cHRzfV0gPSBldHM6bG9va3VwKHNtX2lxdGFibGUsIHs/TlNfVkNBUkQsIFNlcnZlcn0pLAotKyAg ICBKSUQgPSBqbGliOm1ha2VfamlkKFVzZXIsIFNlcnZlciwgZ2V0X21vZHVsZV9yZXNvdXJjZShT ZXJ2ZXIpKSwKLSsgICAgSVEgPSAjaXF7dHlwZSA9IGdldCwgeG1sbnMgPSA/TlNfVkNBUkR9LAot KyAgICBJUXIgPSBNb2R1bGU6RnVuY3Rpb24oSklELCBKSUQsIElRKSwKLSsKLSsgICAgJSUgR2V0 IG9sZCB2Y2FyZAotKyAgICBBNCA9IGNhc2UgSVFyI2lxLnN1Yl9lbCBvZgotKwkgICAgIFtBMV0g LT4KLSsJCSB7XywgXywgXywgQTJ9ID0gQTEsCi0rCQkgdXBkYXRlX3ZjYXJkX2VscyhEYXRhLCBD b250ZW50TGlzdCwgQTIpOwotKwkgICAgIFtdIC0+Ci0rCQkgdXBkYXRlX3ZjYXJkX2VscyhEYXRh LCBDb250ZW50TGlzdCwgW10pCi0rCSBlbmQsCi0rCi0rICAgICUlIEJ1aWxkIG5ldyB2Y2FyZAot KyAgICBTdWJFbCA9IHt4bWxlbGVtZW50LCAidkNhcmQiLCBbeyJ4bWxucyIsInZjYXJkLXRlbXAi fV0sIEE0fSwKLSsgICAgSVEyID0gI2lxe3R5cGU9c2V0LCBzdWJfZWwgPSBTdWJFbH0sCi0rCi0r ICAgIE1vZHVsZTpGdW5jdGlvbihKSUQsIEpJRCwgSVEyKSwKLSsgICAgb2suCi0rCi0rdXBkYXRl X3ZjYXJkX2VscyhEYXRhLCBDb250ZW50TGlzdCwgRWxzMSkgLT4KLSsgICAgRWxzMiA9IGxpc3Rz OmtleXNvcnQoMiwgRWxzMSksCi0rICAgIFtEYXRhMSB8IERhdGEyXSA9IERhdGEsCi0rICAgIE5l d0VscyA9IGNhc2UgRGF0YTIgb2YKLSsJCVtdIC0+Ci0rCQkgICAgW3t4bWxlbGVtZW50LCBEYXRh MSwgW10sIFt7eG1sY2RhdGEsQ29udGVudH1dfSB8fCBDb250ZW50IDwtIENvbnRlbnRMaXN0XTsK LSsJCVtEMl0gLT4KLSsJCSAgICBPbGRFbCA9IGNhc2UgbGlzdHM6a2V5c2VhcmNoKERhdGExLCAy LCBFbHMyKSBvZgotKwkJCQl7dmFsdWUsIEF9IC0+IEE7Ci0rCQkJCWZhbHNlIC0+IHt4bWxlbGVt ZW50LCBEYXRhMSwgW10sIFtdfQotKwkJCSAgICBlbmQsCi0rCQkgICAge3htbGVsZW1lbnQsIF8s IF8sIENvbnRlbnRPbGQxfSA9IE9sZEVsLAotKwkJICAgIENvbnRlbnQyID0gW3t4bWxlbGVtZW50 LCBEMiwgW10sIFt7eG1sY2RhdGEsQ29udGVudH1dfSB8fCBDb250ZW50IDwtIENvbnRlbnRMaXN0 XSwKLSsJCSAgICBDb250ZW50T2xkMiA9IFtBIHx8IHtfLCBYLCBfLCBffSA9IEEgPC0gQ29udGVu dE9sZDEsIFgvPUQyXSwKLSsJCSAgICBDb250ZW50T2xkMyA9IGxpc3RzOmtleXNvcnQoMiwgQ29u dGVudE9sZDIpLAotKwkJICAgIENvbnRlbnROZXcgPSBsaXN0czprZXltZXJnZSgyLCBDb250ZW50 MiwgQ29udGVudE9sZDMpLAotKwkJICAgIFt7eG1sZWxlbWVudCwgRGF0YTEsIFtdLCBDb250ZW50 TmV3fV0KLSsJICAgIGVuZCwKLSsgICAgRWxzMyA9IGxpc3RzOmtleWRlbGV0ZShEYXRhMSwgMiwg RWxzMiksCi0rICAgIGxpc3RzOmtleW1lcmdlKDIsIE5ld0VscywgRWxzMykuCi0rCi0rCi0rJSUl Ci0rJSUlIFJvc3RlcgotKyUlJQotKwotK2FkZF9yb3N0ZXJpdGVtKExvY2FsVXNlciwgTG9jYWxT ZXJ2ZXIsIFVzZXIsIFNlcnZlciwgTmljaywgR3JvdXAsIFN1YnMpIC0+Ci0rICAgIGNhc2UgYWRk X3Jvc3Rlcml0ZW0oTG9jYWxVc2VyLCBMb2NhbFNlcnZlciwgVXNlciwgU2VydmVyLCBOaWNrLCBH cm91cCwgbGlzdF90b19hdG9tKFN1YnMpLCBbXSkgb2YKLSsJe2F0b21pYywgb2t9IC0+Ci0rCSAg ICBwdXNoX3Jvc3Rlcl9pdGVtKExvY2FsVXNlciwgTG9jYWxTZXJ2ZXIsIFVzZXIsIFNlcnZlciwg e2FkZCwgTmljaywgU3VicywgR3JvdXB9KSwKLSsJICAgIG9rOwotKwlfIC0+Ci0rCSAgICBlcnJv cgotKyAgICBlbmQuCi0rCi0rYWRkX3Jvc3Rlcml0ZW0oTFUsIExTLCBVc2VyLCBTZXJ2ZXIsIE5p Y2ssIEdyb3VwLCBTdWJzY3JpcHRpb24sIFhhdHRycykgLT4KLSsgICAgc3Vic2NyaWJlKExVLCBM UywgVXNlciwgU2VydmVyLCBOaWNrLCBHcm91cCwgU3Vic2NyaXB0aW9uLCBYYXR0cnMpLgotKwot K3N1YnNjcmliZShMVSwgTFMsIFVzZXIsIFNlcnZlciwgTmljaywgR3JvdXAsIFN1YnNjcmlwdGlv biwgX1hhdHRycykgLT4KLSsgICAgU3Vic2NyaXB0aW9uUyA9IGNhc2UgaXNfYXRvbShTdWJzY3Jp cHRpb24pIG9mCi0rCXRydWUgLT4gYXRvbV90b19saXN0KFN1YnNjcmlwdGlvbik7Ci0rCWZhbHNl IC0+IFN1YnNjcmlwdGlvbgotKyAgICBlbmQsCi0rICAgIEl0ZW1FbCA9IGJ1aWxkX3Jvc3Rlcl9p dGVtKFVzZXIsIFNlcnZlciwge2FkZCwgTmljaywgU3Vic2NyaXB0aW9uUywgR3JvdXB9KSwKLSsg ICAge29rLCBNfSA9IGxvYWRlZF9tb2R1bGUoTFMsW21vZF9yb3N0ZXJfb2RiYyxtb2Rfcm9zdGVy XSksCi0rICAgIE06c2V0X2l0ZW1zKAotKwlMVSwgTFMsCi0rCXt4bWxlbGVtZW50LCJxdWVyeSIs Ci0rICAgICAgICAgICAgW3sieG1sbnMiLCJqYWJiZXI6aXE6cm9zdGVyIn1dLAotKyAgICAgICAg ICAgIFtJdGVtRWxdfSkuCi0rCi0rZGVsZXRlX3Jvc3Rlcml0ZW0oTG9jYWxVc2VyLCBMb2NhbFNl cnZlciwgVXNlciwgU2VydmVyKSAtPgotKyAgICBjYXNlIHVuc3Vic2NyaWJlKExvY2FsVXNlciwg TG9jYWxTZXJ2ZXIsIFVzZXIsIFNlcnZlcikgb2YKLSsJe2F0b21pYywgb2t9IC0+Ci0rCSAgICBw dXNoX3Jvc3Rlcl9pdGVtKExvY2FsVXNlciwgTG9jYWxTZXJ2ZXIsIFVzZXIsIFNlcnZlciwgcmVt b3ZlKSwKLSsJICAgIG9rOwotKwlfICAtPgotKwkgICAgZXJyb3IKLSsgICAgZW5kLgotKwotK3Vu c3Vic2NyaWJlKExVLCBMUywgVXNlciwgU2VydmVyKSAtPgotKyAgICBJdGVtRWwgPSBidWlsZF9y b3N0ZXJfaXRlbShVc2VyLCBTZXJ2ZXIsIHJlbW92ZSksCi0rICAgIHtvaywgTX0gPSBsb2FkZWRf bW9kdWxlKExTLFttb2Rfcm9zdGVyX29kYmMsbW9kX3Jvc3Rlcl0pLAotKyAgICBNOnNldF9pdGVt cygKLSsJTFUsIExTLAotKwl7eG1sZWxlbWVudCwicXVlcnkiLAotKyAgICAgICAgICAgIFt7Inht bG5zIiwiamFiYmVyOmlxOnJvc3RlciJ9XSwKLSsgICAgICAgICAgICBbSXRlbUVsXX0pLgotKwot K2xvYWRlZF9tb2R1bGUoRG9tYWluLE9wdGlvbnMpIC0+Ci0rICAgIExvYWRlZE1vZHVsZXMgPSBn ZW5fbW9kOmxvYWRlZF9tb2R1bGVzKERvbWFpbiksCi0rICAgIGNhc2UgbGlzdHM6ZmlsdGVyKGZ1 bihNb2R1bGUpIC0+Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdHM6bWVtYmVy KE1vZHVsZSwgTG9hZGVkTW9kdWxlcykKLSsgICAgICAgICAgICAgICAgICAgICAgZW5kLCBPcHRp b25zKSBvZgotKyAgICAgICAgW018X10gLT4ge29rLCBNfTsKLSsgICAgICAgIFtdIC0+IHtlcnJv cixub3RfZm91bmR9Ci0rICAgIGVuZC4KLSsKLSslJSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQotKyUlIEdldCBSb3N0ZXIKLSslJSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQot KwotK2dldF9yb3N0ZXIoVXNlciwgU2VydmVyKSAtPgotKyAgICBJdGVtcyA9IGVqYWJiZXJkX2hv b2tzOnJ1bl9mb2xkKHJvc3Rlcl9nZXQsIFNlcnZlciwgW10sIFt7VXNlciwgU2VydmVyfV0pLAot KyAgICBtYWtlX3Jvc3Rlcl94bWxycGMoSXRlbXMpLgotKwotKyUlIE5vdGU6IGlmIGEgY29udGFj dCBpcyBpbiBzZXZlcmFsIGdyb3VwcywgdGhlIGNvbnRhY3QgaXMgcmV0dXJuZWQKLSslJSBzZXZl cmFsIHRpbWVzLCBlYWNoIG9uZSBpbiBhIGRpZmZlcmVudCBncm91cC4KLSttYWtlX3Jvc3Rlcl94 bWxycGMoUm9zdGVyKSAtPgotKyAgICBsaXN0czpmb2xkbCgKLSsgICAgICBmdW4oSXRlbSwgUmVz KSAtPgotKwkgICAgICBKSURTID0gamxpYjpqaWRfdG9fc3RyaW5nKEl0ZW0jcm9zdGVyLmppZCks Ci0rCSAgICAgIE5pY2sgPSBJdGVtI3Jvc3Rlci5uYW1lLAotKwkgICAgICBTdWJzID0gYXRvbV90 b19saXN0KEl0ZW0jcm9zdGVyLnN1YnNjcmlwdGlvbiksCi0rCSAgICAgIEFzayA9IGF0b21fdG9f bGlzdChJdGVtI3Jvc3Rlci5hc2spLAotKwkgICAgICBHcm91cHMgPSBjYXNlIEl0ZW0jcm9zdGVy Lmdyb3VwcyBvZgotKwkJCSAgIFtdIC0+IFsiIl07Ci0rCQkJICAgR3MgLT4gR3MKLSsJCSAgICAg ICBlbmQsCi0rCSAgICAgIEl0ZW1zWCA9IFt7SklEUywgTmljaywgU3VicywgQXNrLCBHcm91cH0K LSsJCQl8fCBHcm91cCA8LSBHcm91cHNdLAotKwkgICAgICBJdGVtc1ggKysgUmVzCi0rICAgICAg ZW5kLAotKyAgICAgIFtdLAotKyAgICAgIFJvc3RlcikuCi0rCi0rCi0rJSUtLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQotKyUlIFB1c2ggUm9zdGVyIGZyb20gZmlsZQotKyUlLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KLSsKLStwdXNoX3Jvc3RlcihGaWxlLCBVc2VyLCBTZXJ2ZXIp IC0+Ci0rICAgIHtvaywgW1Jvc3Rlcl19ID0gZmlsZTpjb25zdWx0KEZpbGUpLAotKyAgICBzdWJz Y3JpYmVfcm9zdGVyKHtVc2VyLCBTZXJ2ZXIsICIiLCBVc2VyfSwgUm9zdGVyKS4KLSsKLStwdXNo X3Jvc3Rlcl9hbGwoRmlsZSkgLT4KLSsgICAge29rLCBbUm9zdGVyXX0gPSBmaWxlOmNvbnN1bHQo RmlsZSksCi0rICAgIHN1YnNjcmliZV9hbGwoUm9zdGVyKS4KLSsKLStzdWJzY3JpYmVfYWxsKFJv c3RlcikgLT4KLSsgICAgc3Vic2NyaWJlX2FsbChSb3N0ZXIsIFJvc3RlcikuCi0rc3Vic2NyaWJl X2FsbChbXSwgXykgLT4KLSsgICAgb2s7Ci0rc3Vic2NyaWJlX2FsbChbVXNlcjEgfCBVc2Vyc10s IFJvc3RlcikgLT4KLSsgICAgc3Vic2NyaWJlX3Jvc3RlcihVc2VyMSwgUm9zdGVyKSwKLSsgICAg c3Vic2NyaWJlX2FsbChVc2VycywgUm9zdGVyKS4KLSsKLStzdWJzY3JpYmVfcm9zdGVyKF8sIFtd KSAtPgotKyAgICBvazsKLSslJSBEbyBub3Qgc3Vic2NyaWJlIGEgdXNlciB0byBpdHNlbGYKLStz dWJzY3JpYmVfcm9zdGVyKHtOYW1lLCBTZXJ2ZXIsIEdyb3VwLCBOaWNrfSwgW3tOYW1lLCBTZXJ2 ZXIsIF8sIF99IHwgUm9zdGVyXSkgLT4KLSsgICAgc3Vic2NyaWJlX3Jvc3Rlcih7TmFtZSwgU2Vy dmVyLCBHcm91cCwgTmlja30sIFJvc3Rlcik7Ci0rJSUgU3Vic2NyaWJlIE5hbWUyIHRvIE5hbWUx Ci0rc3Vic2NyaWJlX3Jvc3Rlcih7TmFtZTEsIFNlcnZlcjEsIEdyb3VwMSwgTmljazF9LCBbe05h bWUyLCBTZXJ2ZXIyLCBHcm91cDIsIE5pY2syfSB8IFJvc3Rlcl0pIC0+Ci0rICAgIHN1YnNjcmli ZShOYW1lMSwgU2VydmVyMSwgTmFtZTIsIFNlcnZlcjIsIE5pY2syLCBHcm91cDIsIGJvdGgsIFtd KSwKLSsgICAgc3Vic2NyaWJlX3Jvc3Rlcih7TmFtZTEsIFNlcnZlcjEsIEdyb3VwMSwgTmljazF9 LCBSb3N0ZXIpLgotKwotK3B1c2hfYWxsdG9hbGwoUywgRykgLT4KLSsgICAgVXNlcnMgPSBlamFi YmVyZF9hdXRoOmdldF92aF9yZWdpc3RlcmVkX3VzZXJzKFMpLAotKyAgICBVc2VyczIgPSBidWls ZF9saXN0X3VzZXJzKEcsIFVzZXJzLCBbXSksCi0rICAgIHN1YnNjcmliZV9hbGwoVXNlcnMyKSwK LSsgICAgb2suCi0rCi0rYnVpbGRfbGlzdF91c2VycyhfR3JvdXAsIFtdLCBSZXMpIC0+Ci0rICAg IFJlczsKLStidWlsZF9saXN0X3VzZXJzKEdyb3VwLCBbe1VzZXIsIFNlcnZlcn18VXNlcnNdLCBS ZXMpIC0+Ci0rICAgIGJ1aWxkX2xpc3RfdXNlcnMoR3JvdXAsIFVzZXJzLCBbe1VzZXIsIFNlcnZl ciwgR3JvdXAsIFVzZXJ9fFJlc10pLgotKwotKyUlIEBzcGVjKExVLCBMUywgVSwgUywgQWN0aW9u KSAtPiBvawotKyUlICAgICAgIEFjdGlvbiA9IHthZGQsIE5pY2ssIFN1YnMsIEdyb3VwfSB8IHJl bW92ZQotKyUlIEBkb2MgUHVzaCB0byB0aGUgcm9zdGVyIG9mIGFjY291bnQgTFVATFMgdGhlIGNv bnRhY3QgVUBTLgotKyUlIFRoZSBzcGVjaWZpYyBhY3Rpb24gdG8gcGVyZm9ybSBpcyBkZWZpbmVk IGluIEFjdGlvbi4KLStwdXNoX3Jvc3Rlcl9pdGVtKExVLCBMUywgVSwgUywgQWN0aW9uKSAtPgot KyAgICBsaXN0czpmb3JlYWNoKGZ1bihSKSAtPgotKwkJCSAgcHVzaF9yb3N0ZXJfaXRlbShMVSwg TFMsIFIsIFUsIFMsIEFjdGlvbikKLSsJCSAgZW5kLCBlamFiYmVyZF9zbTpnZXRfdXNlcl9yZXNv dXJjZXMoTFUsIExTKSkuCi0rCi0rcHVzaF9yb3N0ZXJfaXRlbShMVSwgTFMsIFIsIFUsIFMsIEFj dGlvbikgLT4KLSsgICAgTEpJRCA9IGpsaWI6bWFrZV9qaWQoTFUsIExTLCBSKSwKLSsgICAgQnJv YWRjYXN0RWwgPSBidWlsZF9icm9hZGNhc3QoVSwgUywgQWN0aW9uKSwKLSsgICAgZWphYmJlcmRf cm91dGVyOnJvdXRlKExKSUQsIExKSUQsIEJyb2FkY2FzdEVsKSwKLSsgICAgSXRlbSA9IGJ1aWxk X3Jvc3Rlcl9pdGVtKFUsIFMsIEFjdGlvbiksCi0rICAgIFJlc0lRID0gYnVpbGRfaXFfcm9zdGVy X3B1c2goSXRlbSksCi0rICAgIGVqYWJiZXJkX3JvdXRlcjpyb3V0ZShMSklELCBMSklELCBSZXNJ USkuCi0rCi0rYnVpbGRfcm9zdGVyX2l0ZW0oVSwgUywge2FkZCwgTmljaywgU3VicywgR3JvdXB9 KSAtPgotKyAgICB7eG1sZWxlbWVudCwgIml0ZW0iLAotKyAgICAgW3siamlkIiwgamxpYjpqaWRf dG9fc3RyaW5nKGpsaWI6bWFrZV9qaWQoVSwgUywgIiIpKX0sCi0rICAgICAgeyJuYW1lIiwgTmlj a30sCi0rICAgICAgeyJzdWJzY3JpcHRpb24iLCBTdWJzfV0sCi0rICAgICBbe3htbGVsZW1lbnQs ICJncm91cCIsIFtdLCBbe3htbGNkYXRhLCBHcm91cH1dfV0KLSsgICAgfTsKLStidWlsZF9yb3N0 ZXJfaXRlbShVLCBTLCByZW1vdmUpIC0+Ci0rICAgIHt4bWxlbGVtZW50LCAiaXRlbSIsCi0rICAg ICBbeyJqaWQiLCBqbGliOmppZF90b19zdHJpbmcoamxpYjptYWtlX2ppZChVLCBTLCAiIikpfSwK LSsgICAgICB7InN1YnNjcmlwdGlvbiIsICJyZW1vdmUifV0sCi0rICAgICBbXQotKyAgICB9Lgot KwotK2J1aWxkX2lxX3Jvc3Rlcl9wdXNoKEl0ZW0pIC0+Ci0rICAgIHt4bWxlbGVtZW50LCAiaXEi LAotKyAgICAgW3sidHlwZSIsICJzZXQifSwgeyJpZCIsICJwdXNoIn1dLAotKyAgICAgW3t4bWxl bGVtZW50LCAicXVlcnkiLAotKyAgICAgICBbeyJ4bWxucyIsID9OU19ST1NURVJ9XSwKLSsgICAg ICAgW0l0ZW1dCi0rICAgICAgfQotKyAgICAgXQotKyAgICB9LgotKwotK2J1aWxkX2Jyb2FkY2Fz dChVLCBTLCB7YWRkLCBfTmljaywgU3VicywgX0dyb3VwfSkgLT4KLSsgICAgYnVpbGRfYnJvYWRj YXN0KFUsIFMsIGxpc3RfdG9fYXRvbShTdWJzKSk7Ci0rYnVpbGRfYnJvYWRjYXN0KFUsIFMsIHJl bW92ZSkgLT4KLSsgICAgYnVpbGRfYnJvYWRjYXN0KFUsIFMsIG5vbmUpOwotKyUlIEBzcGVjIChV OjpzdHJpbmcoKSwgUzo6c3RyaW5nKCksIFN1YnM6OmF0b20oKSkgLT4gYW55KCkKLSslJSBTdWJz ID0gYm90aCB8IGZyb20gfCB0byB8IG5vbmUKLStidWlsZF9icm9hZGNhc3QoVSwgUywgU3Vic0F0 b20pIHdoZW4gaXNfYXRvbShTdWJzQXRvbSkgLT4KLSsgICAge3htbGVsZW1lbnQsICJicm9hZGNh c3QiLCBbXSwKLSsgICAgIFt7aXRlbSwge1UsIFMsICIifSwgU3Vic0F0b219XQotKyAgICB9Lgot KwotKyUlJQotKyUlJSBMYXN0IEFjdGl2aXR5Ci0rJSUlCi0rCi0rc2V0X2xhc3QoVXNlciwgU2Vy dmVyLCBUaW1lc3RhbXAsIFN0YXR1cykgLT4KLSsgICAgTW9kID0gZ2V0X2xhc3RhY3Rpdml0eV9t b2R1bGUoU2VydmVyKSwKLSsgICAgTW9kOnN0b3JlX2xhc3RfaW5mbyhVc2VyLCBTZXJ2ZXIsIFRp bWVzdGFtcCwgU3RhdHVzKS4KLSsKLSslJSUKLSslJSUgUHJpdmF0ZSBTdG9yYWdlCi0rJSUlCi0r Ci0rJSUgRXhhbXBsZSB1c2FnZToKLSslJSAkIGVqYWJiZXJkY3RsIHByaXZhdGVfc2V0IGJhZGxv cCBsb2NhbGhvc3QgIlw8YWFcIHhtbG5zPVwnYmJcJ1w+Q2x1dGhcPC9hYVw+IgotKyUlICQgZWph YmJlcmRjdGwgcHJpdmF0ZV9nZXQgYmFkbG9wIGxvY2FsaG9zdCBhYSBiYgotKyUlIDxhYSB4bWxu cz0nYmInPkNsdXRoPC9hYT4KLSsKLStwcml2YXRlX2dldChVc2VybmFtZSwgSG9zdCwgRWxlbWVu dCwgTnMpIC0+Ci0rICAgIEZyb20gPSBqbGliOm1ha2VfamlkKFVzZXJuYW1lLCBIb3N0LCAiIiks Ci0rICAgIFRvID0gamxpYjptYWtlX2ppZChVc2VybmFtZSwgSG9zdCwgIiIpLAotKyAgICBJUSA9 IHtpcSwgIiIsIGdldCwgP05TX1BSSVZBVEUsICIiLAotKwkgIHt4bWxlbGVtZW50LCJxdWVyeSIs Ci0rCSAgIFt7InhtbG5zIiw/TlNfUFJJVkFURX1dLAotKwkgICBbe3htbGVsZW1lbnQsIEVsZW1l bnQsIFt7InhtbG5zIiwgTnN9XSwgW119XX19LAotKyAgICBSZXNJcSA9IG1vZF9wcml2YXRlOnBy b2Nlc3Nfc21faXEoRnJvbSwgVG8sIElRKSwKLSsgICAgW3t4bWxlbGVtZW50LCJxdWVyeSIsCi0r ICAgICAgW3sieG1sbnMiLCJqYWJiZXI6aXE6cHJpdmF0ZSJ9XSwKLSsgICAgICBbU3ViRWxdfV0g PSBSZXNJcSNpcS5zdWJfZWwsCi0rICAgIHhtbDplbGVtZW50X3RvX3N0cmluZyhTdWJFbCkuCi0r Ci0rcHJpdmF0ZV9zZXQoVXNlcm5hbWUsIEhvc3QsIEVsZW1lbnRTdHJpbmcpIC0+Ci0rICAgIGNh c2UgeG1sX3N0cmVhbTpwYXJzZV9lbGVtZW50KEVsZW1lbnRTdHJpbmcpIG9mCi0rCXtlcnJvciwg RXJyb3J9IC0+Ci0rCSAgICBpbzpmb3JtYXQoIkVycm9yIGZvdW5kIHBhcnNpbmcgdGhlIGVsZW1l bnQ6fm4gIH5wfm5FcnJvcjogfnB+biIsCi0rCQkgICAgICBbRWxlbWVudFN0cmluZywgRXJyb3Jd KSwKLSsJICAgIGVycm9yOwotKwlYbWwgLT4KLSsJICAgIHByaXZhdGVfc2V0MihVc2VybmFtZSwg SG9zdCwgWG1sKQotKyAgICBlbmQuCi0rCi0rcHJpdmF0ZV9zZXQyKFVzZXJuYW1lLCBIb3N0LCBY bWwpIC0+Ci0rICAgIEZyb20gPSBqbGliOm1ha2VfamlkKFVzZXJuYW1lLCBIb3N0LCAiIiksCi0r ICAgIFRvID0gamxpYjptYWtlX2ppZChVc2VybmFtZSwgSG9zdCwgIiIpLAotKyAgICBJUSA9IHtp cSwgIiIsIHNldCwgP05TX1BSSVZBVEUsICIiLAotKwkgIHt4bWxlbGVtZW50LCJxdWVyeSIsCi0r CSAgIFt7InhtbG5zIiw/TlNfUFJJVkFURX1dLAotKwkgICBbWG1sXX19LAotKyAgICBtb2RfcHJp dmF0ZTpwcm9jZXNzX3NtX2lxKEZyb20sIFRvLCBJUSksCi0rICAgIG9rLgotKwotKyUlJQotKyUl JSBTaGFyZWQgUm9zdGVyIEdyb3VwcwotKyUlJQotKwotK3NyZ19jcmVhdGUoR3JvdXAsIEhvc3Qs IE5hbWUsIERlc2NyaXB0aW9uLCBEaXNwbGF5KSAtPgotKyAgICBEaXNwbGF5TGlzdCA9IGNhc2Ug RGlzcGxheSBvZgotKwlbXSAtPiBbXTsKLSsJXyAtPiBlamFiYmVyZF9yZWdleHA6c3BsaXQoRGlz cGxheSwgIlxcXFxuIikKLSsgICAgZW5kLAotKyAgICBPcHRzID0gW3tuYW1lLCBOYW1lfSwKLSsJ ICAgIHtkaXNwbGF5ZWRfZ3JvdXBzLCBEaXNwbGF5TGlzdH0sCi0rCSAgICB7ZGVzY3JpcHRpb24s IERlc2NyaXB0aW9ufV0sCi0rICAgIHthdG9taWMsIG9rfSA9IG1vZF9zaGFyZWRfcm9zdGVyOmNy ZWF0ZV9ncm91cChIb3N0LCBHcm91cCwgT3B0cyksCi0rICAgIG9rLgotKwotK3NyZ19kZWxldGUo R3JvdXAsIEhvc3QpIC0+Ci0rICAgIHthdG9taWMsIG9rfSA9IG1vZF9zaGFyZWRfcm9zdGVyOmRl bGV0ZV9ncm91cChIb3N0LCBHcm91cCksCi0rICAgIG9rLgotKwotK3NyZ19saXN0KEhvc3QpIC0+ Ci0rICAgIGxpc3RzOnNvcnQobW9kX3NoYXJlZF9yb3N0ZXI6bGlzdF9ncm91cHMoSG9zdCkpLgot KwotK3NyZ19nZXRfaW5mbyhHcm91cCwgSG9zdCkgLT4KLSsgICAgT3B0cyA9IG1vZF9zaGFyZWRf cm9zdGVyOmdldF9ncm91cF9vcHRzKEhvc3QsR3JvdXApLAotKyAgICBbe2lvX2xpYjpmb3JtYXQo In5wIiwgW1RpdGxlXSksCi0rICAgICAgaW9fbGliOmZvcm1hdCgifnAiLCBbVmFsdWVdKX0gfHwg e1RpdGxlLCBWYWx1ZX0gPC0gT3B0c10uCi0rCi0rc3JnX2dldF9tZW1iZXJzKEdyb3VwLCBIb3N0 KSAtPgotKyAgICBNZW1iZXJzID0gbW9kX3NoYXJlZF9yb3N0ZXI6Z2V0X2dyb3VwX2V4cGxpY2l0 X3VzZXJzKEhvc3QsR3JvdXApLAotKyAgICBbamxpYjpqaWRfdG9fc3RyaW5nKGpsaWI6bWFrZV9q aWQoTVVzZXIsIE1TZXJ2ZXIsICIiKSkKLSsgICAgIHx8IHtNVXNlciwgTVNlcnZlcn0gPC0gTWVt YmVyc10uCi0rCi0rc3JnX3VzZXJfYWRkKFVzZXIsIEhvc3QsIEdyb3VwLCBHcm91cEhvc3QpIC0+ Ci0rICAgIHthdG9taWMsIG9rfSA9IG1vZF9zaGFyZWRfcm9zdGVyOmFkZF91c2VyX3RvX2dyb3Vw KEdyb3VwSG9zdCwge1VzZXIsIEhvc3R9LCBHcm91cCksCi0rICAgIG9rLgotKwotK3NyZ191c2Vy X2RlbChVc2VyLCBIb3N0LCBHcm91cCwgR3JvdXBIb3N0KSAtPgotKyAgICB7YXRvbWljLCBva30g PSBtb2Rfc2hhcmVkX3Jvc3RlcjpyZW1vdmVfdXNlcl9mcm9tX2dyb3VwKEdyb3VwSG9zdCwge1Vz ZXIsIEhvc3R9LCBHcm91cCksCi0rICAgIG9rLgotKwotKwotKyUlJQotKyUlJSBTdGFuemEKLSsl JSUKLSsKLSslJSBAZG9jIFNlbmQgYSBjaGF0IG1lc3NhZ2UgdG8gYSBKYWJiZXIgYWNjb3VudC4K LSslJSBAc3BlYyAoRnJvbTo6c3RyaW5nKCksIFRvOjpzdHJpbmcoKSwgQm9keTo6c3RyaW5nKCkp IC0+IG9rCi0rc2VuZF9tZXNzYWdlX2NoYXQoRnJvbSwgVG8sIEJvZHkpIC0+Ci0rICAgIFBhY2tl dCA9IGJ1aWxkX3BhY2tldChtZXNzYWdlX2NoYXQsIFtCb2R5XSksCi0rICAgIHNlbmRfcGFja2V0 X2FsbF9yZXNvdXJjZXMoRnJvbSwgVG8sIFBhY2tldCkuCi0rCi0rJSUgQGRvYyBTZW5kIGEgaGVh ZGxpbmUgbWVzc2FnZSB0byBhIEphYmJlciBhY2NvdW50LgotKyUlIEBzcGVjIChGcm9tOjpzdHJp bmcoKSwgVG86OnN0cmluZygpLCBTdWJqZWN0OjpzdHJpbmcoKSwgQm9keTo6c3RyaW5nKCkpIC0+ IG9rCi0rc2VuZF9tZXNzYWdlX2hlYWRsaW5lKEZyb20sIFRvLCBTdWJqZWN0LCBCb2R5KSAtPgot KyAgICBQYWNrZXQgPSBidWlsZF9wYWNrZXQobWVzc2FnZV9oZWFkbGluZSwgW1N1YmplY3QsIEJv ZHldKSwKLSsgICAgc2VuZF9wYWNrZXRfYWxsX3Jlc291cmNlcyhGcm9tLCBUbywgUGFja2V0KS4K LSsKLSslJSBAZG9jIFNlbmQgYSBwYWNrZXQgdG8gYSBKYWJiZXIgYWNjb3VudC4KLSslJSBJZiBh IHJlc291cmNlIHdhcyBzcGVjaWZpZWQgaW4gdGhlIEpJRCwKLSslJSB0aGUgcGFja2V0IGlzIHNl bnQgb25seSB0byB0aGF0IHNwZWNpZmljIHJlc291cmNlLgotKyUlIElmIG5vIHJlc291cmNlIHdh cyBzcGVjaWZpZWQgaW4gdGhlIEpJRCwKLSslJSBhbmQgdGhlIHVzZXIgaXMgcmVtb3RlIG9yIGxv Y2FsIGJ1dCBvZmZsaW5lLAotKyUlIHRoZSBwYWNrZXQgaXMgc2VudCB0byB0aGUgYmFyZSBKSUQu Ci0rJSUgSWYgdGhlIHVzZXIgaXMgbG9jYWwgYW5kIGlzIG9ubGluZSBpbiBzZXZlcmFsIHJlc291 cmNlcywKLSslJSB0aGUgcGFja2V0IGlzIHNlbnQgdG8gYWxsIGl0cyByZXNvdXJjZXMuCi0rc2Vu ZF9wYWNrZXRfYWxsX3Jlc291cmNlcyhGcm9tSklEU3RyaW5nLCBUb0pJRFN0cmluZywgUGFja2V0 KSAtPgotKyAgICBGcm9tSklEID0gamxpYjpzdHJpbmdfdG9famlkKEZyb21KSURTdHJpbmcpLAot KyAgICBUb0pJRCA9IGpsaWI6c3RyaW5nX3RvX2ppZChUb0pJRFN0cmluZyksCi0rICAgIFRvVXNl ciA9IFRvSklEI2ppZC51c2VyLAotKyAgICBUb1NlcnZlciA9IFRvSklEI2ppZC5zZXJ2ZXIsCi0r ICAgIGNhc2UgVG9KSUQjamlkLnJlc291cmNlIG9mCi0rCSIiIC0+Ci0rCSAgICBzZW5kX3BhY2tl dF9hbGxfcmVzb3VyY2VzKEZyb21KSUQsIFRvVXNlciwgVG9TZXJ2ZXIsIFBhY2tldCk7Ci0rCVJl cyAtPgotKwkgICAgc2VuZF9wYWNrZXRfYWxsX3Jlc291cmNlcyhGcm9tSklELCBUb1VzZXIsIFRv U2VydmVyLCBSZXMsIFBhY2tldCkKLSsgICAgZW5kLgotKwotK3NlbmRfcGFja2V0X2FsbF9yZXNv dXJjZXMoRnJvbUpJRCwgVG9Vc2VyLCBUb1NlcnZlciwgUGFja2V0KSAtPgotKyAgICBjYXNlIGVq YWJiZXJkX3NtOmdldF91c2VyX3Jlc291cmNlcyhUb1VzZXIsIFRvU2VydmVyKSBvZgotKwlbXSAt PgotKwkgICAgc2VuZF9wYWNrZXRfYWxsX3Jlc291cmNlcyhGcm9tSklELCBUb1VzZXIsIFRvU2Vy dmVyLCAiIiwgUGFja2V0KTsKLSsJVG9SZXNvdXJjZXMgLT4KLSsJICAgIGxpc3RzOmZvcmVhY2go Ci0rCSAgICAgIGZ1bihUb1Jlc291cmNlKSAtPgotKwkJICAgICAgc2VuZF9wYWNrZXRfYWxsX3Jl c291cmNlcyhGcm9tSklELCBUb1VzZXIsIFRvU2VydmVyLAotKwkJCQkJCVRvUmVzb3VyY2UsIFBh Y2tldCkKLSsJICAgICAgZW5kLAotKwkgICAgICBUb1Jlc291cmNlcykKLSsgICAgZW5kLgotKwot K3NlbmRfcGFja2V0X2FsbF9yZXNvdXJjZXMoRnJvbUpJRCwgVG9VLCBUb1MsIFRvUiwgUGFja2V0 KSAtPgotKyAgICBUb0pJRCA9IGpsaWI6bWFrZV9qaWQoVG9VLCBUb1MsIFRvUiksCi0rICAgIGVq YWJiZXJkX3JvdXRlcjpyb3V0ZShGcm9tSklELCBUb0pJRCwgUGFja2V0KS4KLSsKLSsKLStidWls ZF9wYWNrZXQobWVzc2FnZV9jaGF0LCBbQm9keV0pIC0+Ci0rICAgIHt4bWxlbGVtZW50LCAibWVz c2FnZSIsCi0rICAgICBbeyJ0eXBlIiwgImNoYXQifSwgeyJpZCIsIHJhbmRvbXM6Z2V0X3N0cmlu ZygpfV0sCi0rICAgICBbe3htbGVsZW1lbnQsICJib2R5IiwgW10sIFt7eG1sY2RhdGEsIEJvZHl9 XX1dCi0rICAgIH07Ci0rYnVpbGRfcGFja2V0KG1lc3NhZ2VfaGVhZGxpbmUsIFtTdWJqZWN0LCBC b2R5XSkgLT4KLSsgICAge3htbGVsZW1lbnQsICJtZXNzYWdlIiwKLSsgICAgIFt7InR5cGUiLCAi aGVhZGxpbmUifSwgeyJpZCIsIHJhbmRvbXM6Z2V0X3N0cmluZygpfV0sCi0rICAgICBbe3htbGVs ZW1lbnQsICJzdWJqZWN0IiwgW10sIFt7eG1sY2RhdGEsIFN1YmplY3R9XX0sCi0rICAgICAge3ht bGVsZW1lbnQsICJib2R5IiwgW10sIFt7eG1sY2RhdGEsIEJvZHl9XX0KLSsgICAgIF0KLSsgICAg fS4KLSsKLStzZW5kX3N0YW56YV9jMnMoVXNlcm5hbWUsIEhvc3QsIFJlc291cmNlLCBTdGFuemEp IC0+Ci0rICAgIEMyc1BpZCA9IGVqYWJiZXJkX3NtOmdldF9zZXNzaW9uX3BpZChVc2VybmFtZSwg SG9zdCwgUmVzb3VyY2UpLAotKyAgICBYbWxFbCA9IHhtbF9zdHJlYW06cGFyc2VfZWxlbWVudChT dGFuemEpLAotKyAgICBwMV9mc206c2VuZF9ldmVudChDMnNQaWQsIHt4bWxzdHJlYW1lbGVtZW50 LCBYbWxFbH0pLgotKwotK3ByaXZhY3lfc2V0KFVzZXJuYW1lLCBIb3N0LCBRdWVyeVMpIC0+Ci0r ICAgIEZyb20gPSBqbGliOnN0cmluZ190b19qaWQoVXNlcm5hbWUgKysgIkAiICsrIEhvc3QpLAot KyAgICBUbyA9IGpsaWI6c3RyaW5nX3RvX2ppZChIb3N0KSwKLSsgICAgUXVlcnlFbCA9IHhtbF9z dHJlYW06cGFyc2VfZWxlbWVudChRdWVyeVMpLAotKyAgICBTdGFuemFFbCA9IHt4bWxlbGVtZW50 LCAiaXEiLCBbeyJ0eXBlIiwgInNldCJ9XSwgW1F1ZXJ5RWxdfSwKLSsgICAgSVEgPSBqbGliOmlx X3F1ZXJ5X2luZm8oU3RhbnphRWwpLAotKyAgICBlamFiYmVyZF9ob29rczpydW5fZm9sZCgKLSsJ CSAgICAgcHJpdmFjeV9pcV9zZXQsCi0rCQkgICAgIEhvc3QsCi0rCQkgICAgIHtlcnJvciwgP0VS Ul9GRUFUVVJFX05PVF9JTVBMRU1FTlRFRH0sCi0rCQkgICAgIFtGcm9tLCBUbywgSVFdCi0rCQkg ICAgKSwKLSsgICAgb2suCi0rCi0rJSUlCi0rJSUlIFN0YXRzCi0rJSUlCi0rCi0rc3RhdHMoTmFt ZSkgLT4KLSsgICAgY2FzZSBOYW1lIG9mCi0rCSJ1cHRpbWVzZWNvbmRzIiAtPiB0cnVuYyhlbGVt ZW50KDEsIGVybGFuZzpzdGF0aXN0aWNzKHdhbGxfY2xvY2spKS8xMDAwKTsKLSsJInJlZ2lzdGVy ZWR1c2VycyIgLT4gbGVuZ3RoKGVqYWJiZXJkX2F1dGg6ZGlydHlfZ2V0X3JlZ2lzdGVyZWRfdXNl cnMoKSk7Ci0rCSJvbmxpbmV1c2Vyc25vZGUiIC0+IGxlbmd0aChlamFiYmVyZF9zbTpkaXJ0eV9n ZXRfbXlfc2Vzc2lvbnNfbGlzdCgpKTsKLSsJIm9ubGluZXVzZXJzIiAtPiBsZW5ndGgoZWphYmJl cmRfc206ZGlydHlfZ2V0X3Nlc3Npb25zX2xpc3QoKSkKLSsgICAgZW5kLgotKwotK3N0YXRzKE5h bWUsIEhvc3QpIC0+Ci0rICAgIGNhc2UgTmFtZSBvZgotKwkicmVnaXN0ZXJlZHVzZXJzIiAtPiBs ZW5ndGgoZWphYmJlcmRfYXV0aDpnZXRfdmhfcmVnaXN0ZXJlZF91c2VycyhIb3N0KSk7Ci0rCSJv bmxpbmV1c2VycyIgLT4gbGVuZ3RoKGVqYWJiZXJkX3NtOmdldF92aF9zZXNzaW9uX2xpc3QoSG9z dCkpCi0rICAgIGVuZC4KLSsKLSsKLSsKLSslJS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ci0rJSUgUHVyZ2Ugcm9zdGVyIGl0ZW1zCi0rJSUtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQotKwotK3Byb2Nlc3Nfcm9zdGVyaXRlbXMoQWN0aW9uUywgU3Vic1MsIEFza3NTLCBVc2Vyc1Ms IENvbnRhY3RzUykgLT4KLSsgICAgQWN0aW9uID0gY2FzZSBBY3Rpb25TIG9mCi0rCQkgImxpc3Qi IC0+IGxpc3Q7Ci0rCQkgImRlbGV0ZSIgLT4gZGVsZXRlCi0rCSAgICAgZW5kLAotKwotKyAgICBT dWJzID0gbGlzdHM6Zm9sZGwoCi0rCSAgICAgZnVuKGFueSwgXykgLT4gW25vbmUsIGZyb20sIHRv LCBib3RoXTsKLSsJCShTdWIsIFN1YnMpIC0+IFtTdWIgfCBTdWJzXQotKwkgICAgIGVuZCwKLSsJ ICAgICBbXSwKLSsJICAgICBbbGlzdF90b19hdG9tKFMpIHx8IFMgPC0gc3RyaW5nOnRva2VucyhT dWJzUywgIjoiKV0KLSsJICAgICksCi0rCi0rICAgIEFza3MgPSBsaXN0czpmb2xkbCgKLSsJICAg ICBmdW4oYW55LCBfKSAtPiBbbm9uZSwgb3V0LCBpbl07Ci0rCQkoQXNrLCBBc2tzKSAtPiBbQXNr IHwgQXNrc10KLSsJICAgICBlbmQsCi0rCSAgICAgW10sCi0rCSAgICAgW2xpc3RfdG9fYXRvbShT KSB8fCBTIDwtIHN0cmluZzp0b2tlbnMoQXNrc1MsICI6IildCi0rCSAgICApLAotKwotKyAgICBV c2VycyA9IGxpc3RzOmZvbGRsKAotKwkgICAgICBmdW4oImFueSIsIF8pIC0+IFsiKiIsICIqQCoi XTsKLSsJCSAoVSwgVXMpIC0+IFtVIHwgVXNdCi0rCSAgICAgIGVuZCwKLSsJICAgICAgW10sCi0r CSAgICAgIFtTIHx8IFMgPC0gc3RyaW5nOnRva2VucyhVc2Vyc1MsICI6IildCi0rCSAgICAgKSwK LSsKLSsgICAgQ29udGFjdHMgPSBsaXN0czpmb2xkbCgKLSsJCSBmdW4oImFueSIsIF8pIC0+IFsi KiIsICIqQCoiXTsKLSsJCSAgICAoVSwgVXMpIC0+IFtVIHwgVXNdCi0rCQkgZW5kLAotKwkJIFtd LAotKwkJIFtTIHx8IFMgPC0gc3RyaW5nOnRva2VucyhDb250YWN0c1MsICI6IildCi0rCQkpLAot KwotKyAgICBjYXNlIHJvc3Rlcml0ZW1fcHVyZ2Uoe0FjdGlvbiwgU3VicywgQXNrcywgVXNlcnMs IENvbnRhY3RzfSkgb2YKLSsJe2F0b21pYywgb2t9IC0+Ci0rCSAgICBvazsKLSsJe2Vycm9yLCBS ZWFzb259IC0+Ci0rCSAgICBpbzpmb3JtYXQoIkVycm9yIHB1cmdpbmcgcm9zdGVyaXRlbXM6IH5w fm4iLCBbUmVhc29uXSksCi0rCSAgICBlcnJvcjsKLSsJe2JhZHJwYywgUmVhc29ufSAtPgotKwkg ICAgaW86Zm9ybWF0KCJCYWRSUEMgcHVyZ2luZyByb3N0ZXJpdGVtczogfnB+biIsIFtSZWFzb25d KSwKLSsJICAgIGVycm9yCi0rICAgIGVuZC4KLSsKLSslJSBAc3BlYyAoe0FjdGlvbjo6YXRvbSgp LCBTdWJzOjpbYXRvbSgpXSwgQXNrczo6W2F0b20oKV0sIFVzZXI6OnN0cmluZygpLCBDb250YWN0 OjpzdHJpbmcoKX0pIC0+IHthdG9taWMsIG9rfQotK3Jvc3Rlcml0ZW1fcHVyZ2UoT3B0aW9ucykg LT4KLSsgICAgTnVtX3Jvc3Rlcml0ZW1zID0gbW5lc2lhOnRhYmxlX2luZm8ocm9zdGVyLCBzaXpl KSwKLSsgICAgaW86Zm9ybWF0KCJUaGVyZSBhcmUgfnAgcm9zdGVyIGl0ZW1zIGluIHRvdGFsLn5u IiwgW051bV9yb3N0ZXJpdGVtc10pLAotKyAgICBLZXkgPSBtbmVzaWE6ZGlydHlfZmlyc3Qocm9z dGVyKSwKLSsgICAgb2sgPSByaXAoS2V5LCBPcHRpb25zLCB7MCwgTnVtX3Jvc3Rlcml0ZW1zLCAw LCAwfSksCi0rICAgIHthdG9taWMsIG9rfS4KLSsKLStyaXAoJyRlbmRfb2ZfdGFibGUnLCBfT3B0 aW9ucywgQ291bnRlcnMpIC0+Ci0rICAgIHByaW50X3Byb2dyZXNzX2xpbmUoQ291bnRlcnMpLAot KyAgICBvazsKLStyaXAoS2V5LCBPcHRpb25zLCB7UHIsIE5ULCBOViwgTkR9KSAtPgotKyAgICBL ZXlfbmV4dCA9IG1uZXNpYTpkaXJ0eV9uZXh0KHJvc3RlciwgS2V5KSwKLSsgICAge0FjdGlvbiwg XywgXywgXywgX30gPSBPcHRpb25zLAotKyAgICBORDIgPSBjYXNlIGRlY2lkZV9yaXAoS2V5LCBP cHRpb25zKSBvZgotKwkgICAgICB0cnVlIC0+Ci0rCQkgIGFwcGx5X2FjdGlvbihBY3Rpb24sIEtl eSksCi0rCQkgIE5EKzE7Ci0rCSAgICAgIGZhbHNlIC0+Ci0rCQkgIE5ECi0rCSAgZW5kLAotKyAg ICBOVjIgPSBOVisxLAotKyAgICBQcjIgPSBwcmludF9wcm9ncmVzc19saW5lKHtQciwgTlQsIE5W MiwgTkQyfSksCi0rICAgIHJpcChLZXlfbmV4dCwgT3B0aW9ucywge1ByMiwgTlQsIE5WMiwgTkQy fSkuCi0rCi0rYXBwbHlfYWN0aW9uKGxpc3QsIEtleSkgLT4KLSsgICAge1VzZXIsIFNlcnZlciwg SklEfSA9IEtleSwKLSsgICAge1JVc2VyLCBSU2VydmVyLCBffSA9IEpJRCwKLSsgICAgaW86Zm9y bWF0KCJNYXRjaGVzOiB+c0B+cyB+c0B+c35uIiwgW1VzZXIsIFNlcnZlciwgUlVzZXIsIFJTZXJ2 ZXJdKTsKLSthcHBseV9hY3Rpb24oZGVsZXRlLCBLZXkpIC0+Ci0rICAgIGFwcGx5X2FjdGlvbihs aXN0LCBLZXkpLAotKyAgICBtbmVzaWE6ZGlydHlfZGVsZXRlKHJvc3RlciwgS2V5KS4KLSsKLStw cmludF9wcm9ncmVzc19saW5lKHtQciwgTlQsIE5WLCBORH0pIC0+Ci0rICAgIFByMiA9IHRydW5j KChOVi9OVCkqMTAwKSwKLSsgICAgY2FzZSBQciA9PSBQcjIgb2YKLSsJdHJ1ZSAtPgotKwkgICAg b2s7Ci0rCWZhbHNlIC0+Ci0rCSAgICBpbzpmb3JtYXQoIlByb2dyZXNzIH5wJSAtIHZpc2l0ZWQg fnAgLSBkZWxldGVkIH5wfm4iLCBbUHIyLCBOViwgTkRdKQotKyAgICBlbmQsCi0rICAgIFByMi4K LSsKLStkZWNpZGVfcmlwKEtleSwge19BY3Rpb24sIFN1YnMsIEFza3MsIFVzZXIsIENvbnRhY3R9 KSAtPgotKyAgICBjYXNlIGNhdGNoIG1uZXNpYTpkaXJ0eV9yZWFkKHJvc3RlciwgS2V5KSBvZgot KwlbUkldIC0+Ci0rCSAgICBsaXN0czptZW1iZXIoUkkjcm9zdGVyLnN1YnNjcmlwdGlvbiwgU3Vi cykKLSsJCWFuZGFsc28gbGlzdHM6bWVtYmVyKFJJI3Jvc3Rlci5hc2ssIEFza3MpCi0rCQlhbmRh bHNvIGRlY2lkZV9yaXBfamlkKFJJI3Jvc3Rlci51cywgVXNlcikKLSsJCWFuZGFsc28gZGVjaWRl X3JpcF9qaWQoUkkjcm9zdGVyLmppZCwgQ29udGFjdCk7Ci0rCV8gLT4KLSsJICAgIGZhbHNlCi0r ICAgIGVuZC4KLSsKLSslJSBSZXR1cm5zIHRydWUgaWYgdGhlIHNlcnZlciBvZiB0aGUgSklEIGlz IGluY2x1ZGVkIGluIHRoZSBzZXJ2ZXJzCi0rZGVjaWRlX3JpcF9qaWQoe1VOYW1lLCBVU2VydmVy LCBfVVJlc291cmNlfSwgTWF0Y2hfbGlzdCkgLT4KLSsgICAgZGVjaWRlX3JpcF9qaWQoe1VOYW1l LCBVU2VydmVyfSwgTWF0Y2hfbGlzdCk7Ci0rZGVjaWRlX3JpcF9qaWQoe1VOYW1lLCBVU2VydmVy fSwgTWF0Y2hfbGlzdCkgLT4KLSsgICAgbGlzdHM6YW55KAotKyAgICAgIGZ1bihNYXRjaF9zdHJp bmcpIC0+Ci0rCSAgICAgIE1KSUQgPSBqbGliOnN0cmluZ190b19qaWQoTWF0Y2hfc3RyaW5nKSwK LSsJICAgICAgTU5hbWUgPSBNSklEI2ppZC5sdXNlciwKLSsJICAgICAgTVNlcnZlciA9IE1KSUQj amlkLmxzZXJ2ZXIsCi0rCSAgICAgIElzX3NlcnZlciA9IGlzX2dsb2JfbWF0Y2goVVNlcnZlciwg TVNlcnZlciksCi0rCSAgICAgIGNhc2UgTU5hbWUgb2YKLSsJCSAgW10gd2hlbiBVTmFtZSA9PSBb XSAtPgotKwkJICAgICAgSXNfc2VydmVyOwotKwkJICBbXSAtPgotKwkJICAgICAgZmFsc2U7Ci0r CQkgIF8gLT4KLSsJCSAgICAgIElzX3NlcnZlcgotKwkJCSAgYW5kYWxzbyBpc19nbG9iX21hdGNo KFVOYW1lLCBNTmFtZSkKLSsJICAgICAgZW5kCi0rICAgICAgZW5kLAotKyAgICAgIE1hdGNoX2xp c3QpLgotKwotKyUlIENvcGllZCBmcm9tIGVqYWJiZXJkLTIuMC4wL3NyYy9hY2wuZXJsCi0raXNf cmVnZXhwX21hdGNoKFN0cmluZywgUmVnRXhwKSAtPgotKyAgICBjYXNlIGVqYWJiZXJkX3JlZ2V4 cDpydW4oU3RyaW5nLCBSZWdFeHApIG9mCi0rCW5vbWF0Y2ggLT4KLSsJICAgIGZhbHNlOwotKwlt YXRjaCAtPgotKwkgICAgdHJ1ZTsKLSsJe2Vycm9yLCBFcnJEZXNjfSAtPgotKwkgICAgaW86Zm9y bWF0KAotKwkgICAgICAiV3JvbmcgcmVnZXhwIH5wIGluIEFDTDogfnAiLAotKwkgICAgICBbUmVn RXhwLCBFcnJEZXNjXSksCi0rCSAgICBmYWxzZQotKyAgICBlbmQuCi0raXNfZ2xvYl9tYXRjaChT dHJpbmcsIFskISB8IEdsb2JdKSAtPgotKyAgICBub3QgaXNfcmVnZXhwX21hdGNoKFN0cmluZywg ZWphYmJlcmRfcmVnZXhwOnNoX3RvX2F3ayhHbG9iKSk7Ci0raXNfZ2xvYl9tYXRjaChTdHJpbmcs IEdsb2IpIC0+Ci0rICAgIGlzX3JlZ2V4cF9tYXRjaChTdHJpbmcsIGVqYWJiZXJkX3JlZ2V4cDpz aF90b19hd2soR2xvYikpLgotLS0gCi0xLjguMy4xCi0KCmRpZmYgLS1naXQgYS9lamFiYmVyZC0w MDA0LUZlZG9yYS1zcGVjaWZpYy1jaGFuZ2VzLXRvLWVqYWJiZXJkY3RsLnBhdGNoIGIvZWphYmJl cmQtMDAwNC1GZWRvcmEtc3BlY2lmaWMtY2hhbmdlcy10by1lamFiYmVyZGN0bC5wYXRjaApkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjBjZjM5OS4uMDAwMDAwMAotLS0gYS9lamFiYmVy ZC0wMDA0LUZlZG9yYS1zcGVjaWZpYy1jaGFuZ2VzLXRvLWVqYWJiZXJkY3RsLnBhdGNoCisrKyAv ZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAotRnJvbSAyZTcyYjJhYzg2ZmNiYzU5MDI1NTU2MjE0 MjJkYjM2Njg0ZDQyMzg1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUGV0ZXIgTGVt ZW5rb3YgPGxlbWVua292QGdtYWlsLmNvbT4KLURhdGU6IFR1ZSwgMTYgRmViIDIwMTAgMTY6MzA6 MDUgKzAzMDAKLVN1YmplY3Q6IFtQQVRDSCAwNC8xMF0gRmVkb3JhLXNwZWNpZmljIGNoYW5nZXMg dG8gZWphYmJlcmRjdGwKLQotU2lnbmVkLW9mZi1ieTogUGV0ZXIgTGVtZW5rb3YgPGxlbWVua292 QGdtYWlsLmNvbT4KLS0tLQotIHNyYy9lamFiYmVyZGN0bC50ZW1wbGF0ZSB8IDggKysrKy0tLS0K LSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQotCi1kaWZm IC0tZ2l0IGEvc3JjL2VqYWJiZXJkY3RsLnRlbXBsYXRlIGIvc3JjL2VqYWJiZXJkY3RsLnRlbXBs YXRlCi1pbmRleCA0NjFlYzFhLi5iMjk4ZTAxIDEwMDY0NAotLS0tIGEvc3JjL2VqYWJiZXJkY3Rs LnRlbXBsYXRlCi0rKysgYi9zcmMvZWphYmJlcmRjdGwudGVtcGxhdGUKLUBAIC05LDEwICs5LDEw IEBAIEVSTF9NQVhfRVRTX1RBQkxFUz0xNDAwCi0gCi0gIyBkZWZpbmUgZGVmYXVsdCBlbnZpcm9u bWVudCB2YXJpYWJsZXMKLSBOT0RFPWVqYWJiZXJkCi0tSE9TVD1sb2NhbGhvc3QKLStIT1NUPWBo b3N0bmFtZSAtcyAyPi9kZXYvbnVsbCB8fCBlY2hvICJsb2NhbGhvc3QiYAotIEVSTEFOR19OT0RF PSROT0RFQCRIT1NUCi0gRVJMPUBlcmxACi0tSU5TVEFMTFVTRVI9QGluc3RhbGx1c2VyQAotK0lO U1RBTExVU0VSPWVqYWJiZXJkCi0gCi0gIyBwYXJzZSBjb21tYW5kIGxpbmUgcGFyYW1ldGVycwot IEFSR1M9Ci1AQCAtNDYsNyArNDYsNyBAQCBpZiBbICIkTE9HU19ESVIiID0gIiIgXSA7IHRoZW4K LSAgICAgTE9HU19ESVI9QExPQ0FMU1RBVEVESVJAL2xvZy9lamFiYmVyZAotIGZpCi0gaWYgWyAi JFNQT09MRElSIiA9ICIiIF0gOyB0aGVuCi0tICAgIFNQT09MRElSPUBMT0NBTFNUQVRFRElSQC9s aWIvZWphYmJlcmQKLSsgICAgU1BPT0xESVI9QExPQ0FMU1RBVEVESVJAL2xpYi9lamFiYmVyZC9z cG9vbAotIGZpCi0gaWYgWyAiJEVKQUJCRVJEX0RPQ19QQVRIIiA9ICIiIF0gOyB0aGVuCi0gICAg IEVKQUJCRVJEX0RPQ19QQVRIPUBET0NESVJACi1AQCAtNjIsNyArNjIsNyBAQCBFSklEPWBpZCAt ZyAkSU5TVEFMTFVTRVJgCi0gRVhFQ19DTUQ9ImZhbHNlIgotIGZvciBHSUQgaW4gJEdJRFM7IGRv Ci0gICAgIGlmIFsgJEdJRCAtZXEgMCBdIDsgdGhlbgotLQlFWEVDX0NNRD0ic3UgJHtJTlNUQUxM VVNFUn0gLXAgLWMiCi0rCUVYRUNfQ01EPSIvc2Jpbi9ydW51c2VyIC1zIC9iaW4vYmFzaCAtcCBl amFiYmVyZCAtYyIKLSAgICAgZmkKLSBkb25lCi0gaWYgWyAiJElEIiAtZXEgIiRFSklEIiBdIDsg dGhlbgotLS0gCi0xLjguMy4xCi0KCmRpZmYgLS1naXQgYS9lamFiYmVyZC0wMDA0LUluc3RhbGwt LnNvLW9iamVjdHMtd2l0aC0wNzU1LXBlcm1pc3Npb25zLnBhdGNoIGIvZWphYmJlcmQtMDAwNC1J bnN0YWxsLS5zby1vYmplY3RzLXdpdGgtMDc1NS1wZXJtaXNzaW9ucy5wYXRjaApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYmY0ZmJmCi0tLSAvZGV2L251bGwKKysrIGIvZWph YmJlcmQtMDAwNC1JbnN0YWxsLS5zby1vYmplY3RzLXdpdGgtMDc1NS1wZXJtaXNzaW9ucy5wYXRj aApAQCAtMCwwICsxLDE5IEBACitGcm9tOiBQZXRlciBMZW1lbmtvdiA8bGVtZW5rb3ZAZ21haWwu Y29tPgorRGF0ZTogU2F0LCAxMiBKdW4gMjAxMCAxNDoxNDo1MiArMDQwMAorU3ViamVjdDogW1BB VENIXSBJbnN0YWxsICouc28gb2JqZWN0cyB3aXRoIDA3NTUgcGVybWlzc2lvbnMKKworU2lnbmVk LW9mZi1ieTogUGV0ZXIgTGVtZW5rb3YgPGxlbWVua292QGdtYWlsLmNvbT4KKworZGlmZiAtLWdp dCBhL01ha2VmaWxlLmluIGIvTWFrZWZpbGUuaW4KK2luZGV4IDAxOGNjZDcuLjU4ZDM0ODYgMTAw NjQ0CistLS0gYS9NYWtlZmlsZS5pbgorKysrIGIvTWFrZWZpbGUuaW4KK0BAIC0xNTYsNyArMTU2 LDcgQEAgaW5zdGFsbDogYWxsCisgCSMKKyAJIyBCaW5hcnkgc3lzdGVtIGxpYnJhcmllcworIAkk KElOU1RBTEwpIC1kICQoU09ESVIpCistCSQoSU5TVEFMTCkgLW0gNjQ0ICQoRExMcykgJChTT0RJ UikKKysJJChJTlNUQUxMKSAtbSA3NTUgJChETExzKSAkKFNPRElSKQorIAkjCisgCSMgVHJhbnNs YXRlZCBzdHJpbmdzCisgCSQoSU5TVEFMTCkgLWQgJChNU0dTRElSKQoKZGlmZiAtLWdpdCBhL2Vq YWJiZXJkLTAwMDUtQ2xlYW4tdXAtZmFsc2Utc2VjdXJpdHktbWVhc3VyZS5wYXRjaCBiL2VqYWJi ZXJkLTAwMDUtQ2xlYW4tdXAtZmFsc2Utc2VjdXJpdHktbWVhc3VyZS5wYXRjaApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNmE5OWZkCi0tLSAvZGV2L251bGwKKysrIGIvZWph YmJlcmQtMDAwNS1DbGVhbi11cC1mYWxzZS1zZWN1cml0eS1tZWFzdXJlLnBhdGNoCkBAIC0wLDAg KzEsMTkgQEAKK0Zyb206IFBldGVyIExlbWVua292IDxsZW1lbmtvdkBnbWFpbC5jb20+CitEYXRl OiBXZWQsIDE3IEp1bCAyMDEzIDE0OjU2OjA5ICswNDAwCitTdWJqZWN0OiBbUEFUQ0hdIENsZWFu IHVwIGZhbHNlIHNlY3VyaXR5IG1lYXN1cmUKKworU2lnbmVkLW9mZi1ieTogUGV0ZXIgTGVtZW5r b3YgPGxlbWVua292QGdtYWlsLmNvbT4KKworZGlmZiAtLWdpdCBhL01ha2VmaWxlLmluIGIvTWFr ZWZpbGUuaW4KK2luZGV4IDU4ZDM0ODYuLmRlNDdiZTIgMTAwNjQ0CistLS0gYS9NYWtlZmlsZS5p bgorKysrIGIvTWFrZWZpbGUuaW4KK0BAIC0xMjcsNyArMTI3LDcgQEAgaW5zdGFsbDogYWxsCisg CSMKKyAJIyBBZG1pbmlzdHJhdGlvbiBzY3JpcHQKKyAJWyAtZCAkKFNCSU5ESVIpIF0gfHwgJChJ TlNUQUxMKSAtZCAtbSA3NTUgJChTQklORElSKQorLQkkKElOU1RBTEwpIC1tIDU1MCAkKEdfVVNF UikgZWphYmJlcmRjdGwuZXhhbXBsZSAkKFNCSU5ESVIpL2VqYWJiZXJkY3RsCisrCSQoSU5TVEFM TCkgLW0gNzU1ICQoR19VU0VSKSBlamFiYmVyZGN0bC5leGFtcGxlICQoU0JJTkRJUikvZWphYmJl cmRjdGwKKyAJIworIAkjIEluaXQgc2NyaXB0CisgCSQoU0VEKSAtZSAicypAY3Rsc2NyaXB0cGF0 aEAqJChTQklORElSKSoiIFwKCmRpZmYgLS1naXQgYS9lamFiYmVyZC0wMDA1LUluc3RhbGwtLnNv LW9iamVjdHMtd2l0aC0wNzU1LXBlcm1pc3Npb25zLnBhdGNoIGIvZWphYmJlcmQtMDAwNS1JbnN0 YWxsLS5zby1vYmplY3RzLXdpdGgtMDc1NS1wZXJtaXNzaW9ucy5wYXRjaApkZWxldGVkIGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggYWY4NWIzYy4uMDAwMDAwMAotLS0gYS9lamFiYmVyZC0wMDA1LUlu c3RhbGwtLnNvLW9iamVjdHMtd2l0aC0wNzU1LXBlcm1pc3Npb25zLnBhdGNoCisrKyAvZGV2L251 bGwKQEAgLTEsMjYgKzAsMCBAQAotRnJvbSA3NWY5ZmRiZTcyYzc3YzE1MjFlZGM3NDAyYzBkMjc4 ODNkYWRmNDZjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUGV0ZXIgTGVtZW5rb3Yg PGxlbWVua292QGdtYWlsLmNvbT4KLURhdGU6IFNhdCwgMTIgSnVuIDIwMTAgMTQ6MTQ6NTIgKzA0 MDAKLVN1YmplY3Q6IFtQQVRDSCAwNS8xMF0gSW5zdGFsbCAqLnNvIG9iamVjdHMgd2l0aCAwNzU1 IHBlcm1pc3Npb25zCi0KLVNpZ25lZC1vZmYtYnk6IFBldGVyIExlbWVua292IDxsZW1lbmtvdkBn bWFpbC5jb20+Ci0tLS0KLSBzcmMvTWFrZWZpbGUuaW4gfCAyICstCi0gMSBmaWxlIGNoYW5nZWQs IDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvTWFrZWZp bGUuaW4gYi9zcmMvTWFrZWZpbGUuaW4KLWluZGV4IDQyYWY1YjIuLjY0ZWQ4NTYgMTAwNjQ0Ci0t LS0gYS9zcmMvTWFrZWZpbGUuaW4KLSsrKyBiL3NyYy9NYWtlZmlsZS5pbgotQEAgLTIzNyw3ICsy MzcsNyBAQCBpbnN0YWxsOiBhbGwKLSAJIwotIAkjIEJpbmFyeSBzeXN0ZW0gbGlicmFyaWVzCi0g CWluc3RhbGwgLWQgJChTT0RJUikKLS0JaW5zdGFsbCAtbSA2NDQgKi5zbyAkKFNPRElSKQotKwlp bnN0YWxsIC1tIDc1NSAqLnNvICQoU09ESVIpCi0gCSMKLSAJIyBUcmFuc2xhdGVkIHN0cmluZ3MK LSAJaW5zdGFsbCAtZCAkKE1TR1NESVIpCi0tLSAKLTEuOC4zLjEKLQoKZGlmZiAtLWdpdCBhL2Vq YWJiZXJkLTAwMDYtRW5hYmxlLXBvbGtpdC1zdXBwb3J0LnBhdGNoIGIvZWphYmJlcmQtMDAwNi1F bmFibGUtcG9sa2l0LXN1cHBvcnQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMC4uNzE1YzVhNAotLS0gL2Rldi9udWxsCisrKyBiL2VqYWJiZXJkLTAwMDYtRW5hYmxlLXBv bGtpdC1zdXBwb3J0LnBhdGNoCkBAIC0wLDAgKzEsMTYgQEAKK0Zyb206IFBldGVyIExlbWVua292 IDxsZW1lbmtvdkBnbWFpbC5jb20+CitEYXRlOiBXZWQsIDE3IEp1bCAyMDEzIDE0OjUxOjA0ICsw NDAwCitTdWJqZWN0OiBbUEFUQ0hdIEVuYWJsZSBwb2xraXQgc3VwcG9ydAorCitTaWduZWQtb2Zm LWJ5OiBQZXRlciBMZW1lbmtvdiA8bGVtZW5rb3ZAZ21haWwuY29tPgorCitkaWZmIC0tZ2l0IGEv ZWphYmJlcmRjdGwudGVtcGxhdGUgYi9lamFiYmVyZGN0bC50ZW1wbGF0ZQoraW5kZXggMDliOTk0 Ny4uMGZkMzNmZSAxMDA3NTUKKy0tLSBhL2VqYWJiZXJkY3RsLnRlbXBsYXRlCisrKysgYi9lamFi YmVyZGN0bC50ZW1wbGF0ZQorQEAgLTEsNCArMSw0IEBACistIyEvYmluL3NoCisrIyEvdXNyL2Jp bi9wa2V4ZWMgL2Jpbi9zaAorIAorICMgZGVmaW5lIGRlZmF1bHQgY29uZmlndXJhdGlvbgorIFBP TEw9dHJ1ZQoKZGlmZiAtLWdpdCBhL2VqYWJiZXJkLTAwMDYtU3VwcG9ydC1TQVNMLUdTU0FQSS1h dXRoZW50aWNhdGlvbi10aGFua3MtdG8tTWlrYWVsLS5wYXRjaCBiL2VqYWJiZXJkLTAwMDYtU3Vw cG9ydC1TQVNMLUdTU0FQSS1hdXRoZW50aWNhdGlvbi10aGFua3MtdG8tTWlrYWVsLS5wYXRjaApk ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTliNGRkYS4uMDAwMDAwMAotLS0gYS9lamFi YmVyZC0wMDA2LVN1cHBvcnQtU0FTTC1HU1NBUEktYXV0aGVudGljYXRpb24tdGhhbmtzLXRvLU1p a2FlbC0ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1MDUgKzAsMCBAQAotRnJvbSBlNDlkYmFj YTAwMWEzZDMxMWEyZjhhOGU4NzhjNWI4YjZmYzM4NWMwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQotRnJvbTogQmFkbG9wIDxiYWRsb3BAcHJvY2Vzcy1vbmUubmV0PgotRGF0ZTogVGh1LCAxNSBB cHIgMjAxMCAxNzoyMDoxNiArMDIwMAotU3ViamVjdDogW1BBVENIIDA2LzEwXSBTdXBwb3J0IFNB U0wgR1NTQVBJIGF1dGhlbnRpY2F0aW9uICh0aGFua3MgdG8gTWlrYWVsCi0gTWFnbnVzc29uKShF SkFCLTgzMSkKLQotLS0tCi0gc3JjL2N5cnNhc2wuZXJsICAgICAgICAgICB8ICA3MSArKysrKysr KysrKysrKystLS0tLQotIHNyYy9jeXJzYXNsLmhybCAgICAgICAgICAgfCAgMTUgKysrKysKLSBz cmMvY3lyc2FzbF9hbm9ueW1vdXMuZXJsIHwgICA2ICstCi0gc3JjL2N5cnNhc2xfZGlnZXN0LmVy bCAgICB8ICAgNiArLQotIHNyYy9jeXJzYXNsX2dzc2FwaS5lcmwgICAgfCAxNjYgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwotIHNyYy9jeXJzYXNsX3BsYWlu LmVybCAgICAgfCAgIDYgKy0KLSBzcmMvY3lyc2FzbF9zY3JhbS5lcmwgICAgIHwgICA1ICstCi0g c3JjL2VqYWJiZXJkX2Mycy5lcmwgICAgICB8ICAxMiArKystCi0gc3JjL2VqYWJiZXJkX3NvY2tl dC5lcmwgICB8ICAxOSArKysrKysKLSA5IGZpbGVzIGNoYW5nZWQsIDI4MSBpbnNlcnRpb25zKCsp LCAyNSBkZWxldGlvbnMoLSkKLSBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL2N5cnNhc2wuaHJsCi0g Y3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy9jeXJzYXNsX2dzc2FwaS5lcmwKLQotZGlmZiAtLWdpdCBh L3NyYy9jeXJzYXNsLmVybCBiL3NyYy9jeXJzYXNsLmVybAotaW5kZXggOWQxMzc3Zi4uODAyYzY3 OSAxMDA2NDQKLS0tLSBhL3NyYy9jeXJzYXNsLmVybAotKysrIGIvc3JjL2N5cnNhc2wuZXJsCi1A QCAtMzAsMjEgKzMwLDM2IEBACi0gLWV4cG9ydChbc3RhcnQvMCwKLSAJIHJlZ2lzdGVyX21lY2hh bmlzbS8zLAotIAkgbGlzdG1lY2gvMSwKLS0JIHNlcnZlcl9uZXcvNywKLSsJIHNlcnZlcl9uZXcv OCwKLSAJIHNlcnZlcl9zdGFydC8zLAotIAkgc2VydmVyX3N0ZXAvMl0pLgotIAotKy1pbmNsdWRl KCJjeXJzYXNsLmhybCIpLgotIC1pbmNsdWRlKCJlamFiYmVyZC5ocmwiKS4KLSAKLSslJSBAdHlw ZSBzYXNsbWVjaGFuaXNtKCkgPSB7c2FzbF9tZWNoYW5pc20sIE1lY2hhbmlzbSwgTW9kdWxlLCBS ZXF1aXJlX1BsYWlufQotKyUlICAgICBNZWNoYW5pc20gPSBzdHJpbmcoKQotKyUlICAgICBNb2R1 bGUgPSBhdG9tKCkKLSslJSAgICAgUmVxdWlyZV9QbGFpbiA9IGJvb2woKS4KLSslJSBSZWdpc3Ry eSBlbnRyeSBvZiBhIHN1cHBvcnRlZCBTQVNMIG1lY2hhbmlzbS4KLSsKLSAtcmVjb3JkKHNhc2xf bWVjaGFuaXNtLCB7bWVjaGFuaXNtLCBtb2R1bGUsIHBhc3N3b3JkX3R5cGV9KS4KLS0tcmVjb3Jk KHNhc2xfc3RhdGUsIHtzZXJ2aWNlLCBteW5hbWUsIHJlYWxtLAotLQkJICAgICBnZXRfcGFzc3dv cmQsIGNoZWNrX3Bhc3N3b3JkLCBjaGVja19wYXNzd29yZF9kaWdlc3QsCi0tCQkgICAgIG1lY2hf bW9kLCBtZWNoX3N0YXRlfSkuCi0rCi0rJSUgQHR5cGUgc2FzbHN0YXRlKCkgPSB7c2FzbF9zdGF0 ZSwgU2VydmljZSwgTXluYW1lLCBNZWNoX01vZCwgTWVjaF9TdGF0ZSwgUGFyYW1zfQotKyUlICAg ICBTZXJ2aWNlID0gc3RyaW5nKCkKLSslJSAgICAgTXluYW1lID0gc3RyaW5nKCkKLSslJSAgICAg TWVjaF9Nb2QgPSBhdG9tKCkKLSslJSAgICAgTWVjaF9TdGF0ZSA9IHRlcm0oKS4KLSslJSAgICAg UGFyYW1zID0gdGVybSgpLgotKyUlIFN0YXRlIG9mIHRoaXMgcHJvY2Vzcy4KLSsKLSstcmVjb3Jk KHNhc2xfc3RhdGUsIHtzZXJ2aWNlLCBteW5hbWUsCi0rCQkgICAgIG1lY2hfbW9kLCBtZWNoX3N0 YXRlLCBwYXJhbXN9KS4KLSAKLSAtZXhwb3J0KFtiZWhhdmlvdXJfaW5mby8xXSkuCi0gCi0gYmVo YXZpb3VyX2luZm8oY2FsbGJhY2tzKSAtPgotLSAgICBbe21lY2hfbmV3LCA0fSwge21lY2hfc3Rl cCwgMn1dOwotKyAgICBbe21lY2hfbmV3LCAxfSwge21lY2hfc3RlcCwgMn1dOwotIGJlaGF2aW91 cl9pbmZvKF9PdGhlcikgLT4KLSAgICAgdW5kZWZpbmVkLgotIAotQEAgLTU2LDggKzcxLDMwIEBA IHN0YXJ0KCkgLT4KLSAgICAgY3lyc2FzbF9kaWdlc3Q6c3RhcnQoW10pLAotICAgICBjeXJzYXNs X3NjcmFtOnN0YXJ0KFtdKSwKLSAgICAgY3lyc2FzbF9hbm9ueW1vdXM6c3RhcnQoW10pLAotKyAg ICBtYXliZV90cnlfc3RhcnRfZ3NzYXBpKCksCi0gICAgIG9rLgotIAotK21heWJlX3RyeV9zdGFy dF9nc3NhcGkoKSAtPgotKyAgICBjYXNlIG9zOmdldGVudigiS1JCNV9LVE5BTUUiKSBvZgotKyAg ICAgICAgZmFsc2UgLT4KLSsJICAgIG9rOwotKyAgICAgICAgX1N0cmluZyAtPgotKwkgICAgdHJ5 X3N0YXJ0X2dzc2FwaSgpCi0rICAgIGVuZC4KLSsKLSt0cnlfc3RhcnRfZ3NzYXBpKCkgLT4KLSsg ICAgY2FzZSBjb2RlOmxvYWRfZmlsZShlc2FzbCkgb2YKLSsJe21vZHVsZSwgX01vZHVsZX0gLT4K LSsJICAgIGN5cnNhc2xfZ3NzYXBpOnN0YXJ0KFtdKTsKLSsJe2Vycm9yLCBXaGF0fSAtPgotKwkg ICAgP0VSUk9SX01TRygiU3VwcG9ydCBmb3IgR1NTQVBJIG5vdCBzdGFydGVkIGJlY2F1c2UgZXNh c2wuYmVhbSB3YXMgbm90IGZvdW5kOiB+cCIsIFtXaGF0XSkKLSsgICAgZW5kLgotKwotKyUlIEBz cGVjIChNZWNoYW5pc20sIE1vZHVsZSwgUmVxdWlyZV9QbGFpbikgLT4gdHJ1ZQotKyUlICAgICBN ZWNoYW5pc20gPSBzdHJpbmcoKQotKyUlICAgICBNb2R1bGUgPSBhdG9tKCkKLSslJSAgICAgUmVx dWlyZV9QbGFpbiA9IGJvb2woKQotKwotIHJlZ2lzdGVyX21lY2hhbmlzbShNZWNoYW5pc20sIE1v ZHVsZSwgUGFzc3dvcmRUeXBlKSAtPgotICAgICBldHM6aW5zZXJ0KHNhc2xfbWVjaGFuaXNtLAot IAkgICAgICAgI3Nhc2xfbWVjaGFuaXNte21lY2hhbmlzbSA9IE1lY2hhbmlzbSwKLUBAIC0xMTks MjQgKzE1NiwyOCBAQCBsaXN0bWVjaChIb3N0KSAtPgotICAgICBmaWx0ZXJfYW5vbnltb3VzKEhv c3QsIE1lY2hzKS4KLSAKLSBzZXJ2ZXJfbmV3KFNlcnZpY2UsIFNlcnZlckZRRE4sIFVzZXJSZWFs bSwgX1NlY0ZsYWdzLAotLQkgICBHZXRQYXNzd29yZCwgQ2hlY2tQYXNzd29yZCwgQ2hlY2tQYXNz d29yZERpZ2VzdCkgLT4KLSsJICAgR2V0UGFzc3dvcmQsIENoZWNrUGFzc3dvcmQsIENoZWNrUGFz c3dvcmREaWdlc3QsIFNvY2tldCkgLT4KLSsgICAgUGFyYW1zID0gI3Nhc2xfcGFyYW1zewotKyAg ICAgIGhvc3QgPSBTZXJ2ZXJGUUROLAotKyAgICAgIHJlYWxtID0gVXNlclJlYWxtLAotKyAgICAg IGdldF9wYXNzd29yZCA9IEdldFBhc3N3b3JkLAotKyAgICAgIGNoZWNrX3Bhc3N3b3JkID0gQ2hl Y2tQYXNzd29yZCwKLSsgICAgICBjaGVja19wYXNzd29yZF9kaWdlc3Q9IENoZWNrUGFzc3dvcmRE aWdlc3QsCi0rICAgICAgc29ja2V0ID0gU29ja2V0Ci0rICAgICB9LAotKwotICAgICAjc2FzbF9z dGF0ZXtzZXJ2aWNlID0gU2VydmljZSwKLSAJCW15bmFtZSA9IFNlcnZlckZRRE4sCi0tCQlyZWFs bSA9IFVzZXJSZWFsbSwKLS0JCWdldF9wYXNzd29yZCA9IEdldFBhc3N3b3JkLAotLQkJY2hlY2tf cGFzc3dvcmQgPSBDaGVja1Bhc3N3b3JkLAotLQkJY2hlY2tfcGFzc3dvcmRfZGlnZXN0PSBDaGVj a1Bhc3N3b3JkRGlnZXN0fS4KLSsJCXBhcmFtcyA9IFBhcmFtc30uCi0rCi0gCi0gc2VydmVyX3N0 YXJ0KFN0YXRlLCBNZWNoLCBDbGllbnRJbikgLT4KLSAgICAgY2FzZSBsaXN0czptZW1iZXIoTWVj aCwgbGlzdG1lY2goU3RhdGUjc2FzbF9zdGF0ZS5teW5hbWUpKSBvZgotIAl0cnVlIC0+Ci0gCSAg ICBjYXNlIGV0czpsb29rdXAoc2FzbF9tZWNoYW5pc20sIE1lY2gpIG9mCi0gCQlbI3Nhc2xfbWVj aGFuaXNte21vZHVsZSA9IE1vZHVsZX1dIC0+Ci0tCQkgICAge29rLCBNZWNoU3RhdGV9ID0gTW9k dWxlOm1lY2hfbmV3KAotLQkJCQkJU3RhdGUjc2FzbF9zdGF0ZS5teW5hbWUsCi0tCQkJCQlTdGF0 ZSNzYXNsX3N0YXRlLmdldF9wYXNzd29yZCwKLS0JCQkJCVN0YXRlI3Nhc2xfc3RhdGUuY2hlY2tf cGFzc3dvcmQsCi0tCQkJCQlTdGF0ZSNzYXNsX3N0YXRlLmNoZWNrX3Bhc3N3b3JkX2RpZ2VzdCks Ci0rCQkgICAge29rLCBNZWNoU3RhdGV9ID0KLSsJCQlNb2R1bGU6bWVjaF9uZXcoU3RhdGUjc2Fz bF9zdGF0ZS5wYXJhbXMpLAotIAkJICAgIHNlcnZlcl9zdGVwKFN0YXRlI3Nhc2xfc3RhdGV7bWVj aF9tb2QgPSBNb2R1bGUsCi0gCQkJCQkJIG1lY2hfc3RhdGUgPSBNZWNoU3RhdGV9LAotIAkJCQlD bGllbnRJbik7Ci1kaWZmIC0tZ2l0IGEvc3JjL2N5cnNhc2wuaHJsIGIvc3JjL2N5cnNhc2wuaHJs Ci1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMC4uYjRjYzNlMwotLS0tIC9kZXYv bnVsbAotKysrIGIvc3JjL2N5cnNhc2wuaHJsCi1AQCAtMCwwICsxLDE1IEBACi0rJSUgQHR5cGUg c2FzbHBhcmFtcygpID0ge3Nhc2xfcGFyYW1zLCBIb3N0LCBSZWFsbSwgR2V0UGFzc3dvcmQsIENo ZWNrUGFzc3dvcmQsIENoZWNrUGFzc3dvcmREaWdlc3R9Ci0rJSUgICAgIEhvc3QgPSBzdHJpbmco KQotKyUlICAgICBSZWFsbSA9IHN0cmluZygpCi0rJSUgICAgIEdldFBhc3N3b3JkID0gZnVuY3Rp b24oKQotKyUlICAgICBDaGVja1Bhc3N3b3JkID0gZnVuY3Rpb24oKQotKyUlICAgICBDaGVja1Bh c3N3b3JkRGlnZXN0ID0gYW55KCkuCi0rJSUgUGFyYW1ldGVycyBmb3IgU0FTTC4KLSsKLSstcmVj b3JkKHNhc2xfcGFyYW1zLCB7Ci0rCSAgaG9zdCwKLSsJICByZWFsbSwKLSsJICBnZXRfcGFzc3dv cmQsCi0rCSAgY2hlY2tfcGFzc3dvcmQsCi0rCSAgY2hlY2tfcGFzc3dvcmRfZGlnZXN0LAotKwkg IHNvY2tldH0pLgotZGlmZiAtLWdpdCBhL3NyYy9jeXJzYXNsX2Fub255bW91cy5lcmwgYi9zcmMv Y3lyc2FzbF9hbm9ueW1vdXMuZXJsCi1pbmRleCBjYjBiMWUzLi4wODVlOThjIDEwMDY0NAotLS0t IGEvc3JjL2N5cnNhc2xfYW5vbnltb3VzLmVybAotKysrIGIvc3JjL2N5cnNhc2xfYW5vbnltb3Vz LmVybAotQEAgLTI3LDcgKzI3LDkgQEAKLSAKLSAtbW9kdWxlKGN5cnNhc2xfYW5vbnltb3VzKS4K LSAKLS0tZXhwb3J0KFtzdGFydC8xLCBzdG9wLzAsIG1lY2hfbmV3LzQsIG1lY2hfc3RlcC8yXSku Ci0rLWV4cG9ydChbc3RhcnQvMSwgc3RvcC8wLCBtZWNoX25ldy8xLCBtZWNoX3N0ZXAvMl0pLgot KwotKy1pbmNsdWRlKCJjeXJzYXNsLmhybCIpLgotIAotIC1iZWhhdmlvdXIoY3lyc2FzbCkuCi0g Ci1AQCAtNDAsNyArNDIsNyBAQCBzdGFydChfT3B0cykgLT4KLSBzdG9wKCkgLT4KLSAgICAgb2su Ci0gCi0tbWVjaF9uZXcoSG9zdCwgX0dldFBhc3N3b3JkLCBfQ2hlY2tQYXNzd29yZCwgX0NoZWNr UGFzc3dvcmREaWdlc3QpIC0+Ci0rbWVjaF9uZXcoI3Nhc2xfcGFyYW1ze2hvc3Q9SG9zdH0pIC0+ Ci0gICAgIHtvaywgI3N0YXRle3NlcnZlciA9IEhvc3R9fS4KLSAKLSBtZWNoX3N0ZXAoU3RhdGUs IF9DbGllbnRJbikgLT4KLWRpZmYgLS1naXQgYS9zcmMvY3lyc2FzbF9kaWdlc3QuZXJsIGIvc3Jj L2N5cnNhc2xfZGlnZXN0LmVybAotaW5kZXggNTU3ZTQ5OC4uZTQxOTlmOCAxMDA2NDQKLS0tLSBh L3NyYy9jeXJzYXNsX2RpZ2VzdC5lcmwKLSsrKyBiL3NyYy9jeXJzYXNsX2RpZ2VzdC5lcmwKLUBA IC0yOSwxMCArMjksMTEgQEAKLSAKLSAtZXhwb3J0KFtzdGFydC8xLAotIAkgc3RvcC8wLAotLQkg bWVjaF9uZXcvNCwKLSsJIG1lY2hfbmV3LzEsCi0gCSBtZWNoX3N0ZXAvMl0pLgotIAotIC1pbmNs dWRlKCJlamFiYmVyZC5ocmwiKS4KLSstaW5jbHVkZSgiY3lyc2FzbC5ocmwiKS4KLSAKLSAtYmVo YXZpb3VyKGN5cnNhc2wpLgotIAotQEAgLTQ3LDcgKzQ4LDggQEAgc3RhcnQoX09wdHMpIC0+Ci0g c3RvcCgpIC0+Ci0gICAgIG9rLgotIAotLW1lY2hfbmV3KEhvc3QsIEdldFBhc3N3b3JkLCBfQ2hl Y2tQYXNzd29yZCwgQ2hlY2tQYXNzd29yZERpZ2VzdCkgLT4KLSttZWNoX25ldygjc2FzbF9wYXJh bXN7aG9zdD1Ib3N0LCBnZXRfcGFzc3dvcmQ9R2V0UGFzc3dvcmQsCi0rCQkgICAgICBjaGVja19w YXNzd29yZF9kaWdlc3Q9Q2hlY2tQYXNzd29yZERpZ2VzdH0pIC0+Ci0gICAgIHtvaywgI3N0YXRl e3N0ZXAgPSAxLAotIAkJbm9uY2UgPSByYW5kb21zOmdldF9zdHJpbmcoKSwKLSAJCWhvc3QgPSBI b3N0LAotZGlmZiAtLWdpdCBhL3NyYy9jeXJzYXNsX2dzc2FwaS5lcmwgYi9zcmMvY3lyc2FzbF9n c3NhcGkuZXJsCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMC4uMTFkOTk1NQot LS0tIC9kZXYvbnVsbAotKysrIGIvc3JjL2N5cnNhc2xfZ3NzYXBpLmVybAotQEAgLTAsMCArMSwx NjYgQEAKLSslJSUtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0rJSUlIEZpbGUgICAgOiBjeXJzYXNsX2dzc2FwaS5l cmwKLSslJSUgQXV0aG9yICA6IE1pa2FlbCBNYWdudXNzb24gPG1pa21hQHVzZXJzLnNvdXJjZWZv cmdlLm5ldD4KLSslJSUgUHVycG9zZSA6IEdTU0FQSSBTQVNMIG1lY2hhbmlzbQotKyUlJSBDcmVh dGVkIDogMSBKdW5lIDIwMDcgYnkgTWlrYWVsIE1hZ251c3NvbiA8bWlrbWFAdXNlcnMuc291cmNl Zm9yZ2UubmV0PgotKyUlJSBJZCAgICAgIDogJElkOiAkCi0rJSUlLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotKyUl JQotKyUlJSBDb3B5cmlnaHQgKEMpIDIwMDctMjAwOSAgTWlrYWVsIE1hZ251c3NvbiA8bWlrbWFA dXNlcnMuc291cmNlZm9yZ2UubmV0PgotKyUlJQotKyUlJSBQZXJtaXNzaW9uIGlzIGhlcmVieSBn cmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbgotKyUlJSBvYnRhaW5pbmcgYSBj b3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbgotKyUlJSBm aWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0Ci0r JSUlIHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMg dG8gdXNlLCBjb3B5LAotKyUlJSBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBz dWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMKLSslJSUgb2YgdGhlIFNvZnR3YXJlLCBhbmQg dG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMKLSslJSUgZnVybmlzaGVk IHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKLSslJSUKLSsl JSUgVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ug c2hhbGwgYmUKLSslJSUgaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0 aW9ucyBvZiB0aGUgU29mdHdhcmUuCi0rJSUlCi0rJSUlIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURF RCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAotKyUlJSBFWFBSRVNTIE9S IElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YK LSslJSUgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB TkQKLSslJSUgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBP UiBDT1BZUklHSFQgSE9MREVSUwotKyUlJSBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdF UyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4KLSslJSUgQUNUSU9OIE9GIENPTlRS QUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KLSslJSUg Q09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdT IElOIFRIRQotKyUlJSBTT0ZUV0FSRS4KLSslJSUKLSsKLSslJSUKLSslJSUgY29uZmlndXJhdGlv biBvcHRpb25zOgotKyUlJSB7c2FzbF9yZWFsbSwgIjxLZXJiZXJvcyByZWFsbT4ifS4KLSslJSUK LSslJSUgZW52aXJvbm1lbnQgdmFyaWFibGVzOgotKyUlJSBLUkI1X0tUTkFNRQotKyUlJQotKwot Ky1tb2R1bGUoY3lyc2FzbF9nc3NhcGkpLgotKy1hdXRob3IoJ21pa21hQHVzZXJzLnNvdXJjZWZv cmdlLm5ldCcpLgotKy12c24oJyRSZXZpc2lvbjogJCAnKS4KLSsKLSstZXhwb3J0KFtzdGFydC8x LAotKwkgc3RvcC8wLAotKwkgbWVjaF9uZXcvMSwKLSsJIG1lY2hfc3RlcC8yXSkuCi0rCi0rLWlu Y2x1ZGUoImVqYWJiZXJkLmhybCIpLgotKy1pbmNsdWRlKCJjeXJzYXNsLmhybCIpLgotKwotKy1i ZWhhdmlvdXIoY3lyc2FzbCkuCi0rCi0rLWRlZmluZShTRVJWRVIsID9NT0RVTEUpLgotKy1kZWZp bmUoU0VSVklDRSwgInhtcHAiKS4KLSsKLSstcmVjb3JkKHN0YXRlLCB7c2FzbCwKLSsJCW5lZWRz bW9yZT10cnVlLAotKwkJc3RlcD0wLAotKwkJaG9zdCwKLSsJCXJlYWxtLAotKwkJYXV0aGlkLAot KwkJYXV0aHppZCwKLSsJCWF1dGhyZWFsbSwKLSsJCWVycm9yfSkuCi0rCi0rc3RhcnQoX09wdHMp IC0+Ci0rICAgIENoaWxkU3BlYyA9Ci0rCXs/U0VSVkVSLAotKwkge2VzYXNsLCBzdGFydF9saW5r LCBbe2xvY2FsLCA/U0VSVkVSfV19LAotKwkgdHJhbnNpZW50LAotKwkgMTAwMCwKLSsJIHdvcmtl ciwKLSsJIFtlc2FzbF19LAotKwotKyAgICBjYXNlIHN1cGVydmlzb3I6c3RhcnRfY2hpbGQoZWph YmJlcmRfc3VwLCBDaGlsZFNwZWMpIG9mCi0rCXtvaywgX1BpZH0gLT4KLSsJICAgIGN5cnNhc2w6 cmVnaXN0ZXJfbWVjaGFuaXNtKCJHU1NBUEkiLCA/TU9EVUxFLCBmYWxzZSk7Ci0rCXtlcnJvciwg RXJyb3J9ID0gRSAtPgotKwkgICAgP0VSUk9SX01TRygiZXNhc2wgZmFpbGVkOiB+cCIsIFtFcnJv cl0pLAotKwkgICAgRQotKyAgICBlbmQuCi0rCi0rCi0rc3RvcCgpIC0+Ci0rICAgIGNhdGNoIGVz YXNsOnN0b3AoP1NFUlZFUiksCi0rICAgIHN1cGVydmlzb3I6dGVybWluYXRlX2NoaWxkKGVqYWJi ZXJkX3N1cCwgP1NFUlZFUiksCi0rICAgIHN1cGVydmlzb3I6ZGVsZXRlX2NoaWxkKGVqYWJiZXJk X3N1cCwgP1NFUlZFUikuCi0rCi0rbWVjaF9uZXcoI3Nhc2xfcGFyYW1ze2hvc3Q9SG9zdCwgcmVh bG09UmVhbG0sIHNvY2tldD1Tb2NrZXR9KSAtPgotKyAgICBjYXNlIGVqYWJiZXJkX3NvY2tldDpn ZXRob3N0bmFtZShTb2NrZXQpIG9mCi0rCXtvaywgRlFETn0gLT4KLSsJICAgID9ERUJVRygibWVj aF9uZXcgfnAgfnAgfnB+biIsIFtIb3N0LCBSZWFsbSwgRlFETl0pLAotKwkgICAgY2FzZSBlc2Fz bDpzZXJ2ZXJfc3RhcnQoP1NFUlZFUiwgIkdTU0FQSSIsID9TRVJWSUNFLCBGUUROKSBvZgotKwkJ e29rLCBTYXNsfSAtPgotKwkJICAgIHtvaywgI3N0YXRle3Nhc2w9U2FzbCxob3N0PUhvc3QscmVh bG09UmVhbG19fTsKLSsJCXtlcnJvciwge2dzYXNsX2Vycm9yLCBFcnJvcn19IC0+Ci0rCQkgICAg e29rLCBTdHJ9ID0gZXNhc2w6c3RyX2Vycm9yKD9TRVJWRVIsIEVycm9yKSwKLSsJCSAgICA/REVC VUcoImVzYXNsIGVycm9yOiB+cCIsIFtTdHJdKSwKLSsJCSAgICB7b2ssICNzdGF0ZXtuZWVkc21v cmU9ZXJyb3IsZXJyb3I9ImludGVybmFsLXNlcnZlci1lcnJvciJ9fTsKLSsJCXtlcnJvciwgRXJy b3J9IC0+Ci0rCQkgICAgP0RFQlVHKCJlc2FzbCBlcnJvcjogfnAiLCBbRXJyb3JdKSwKLSsJCSAg ICB7b2ssICNzdGF0ZXtuZWVkc21vcmU9ZXJyb3IsZXJyb3I9ImludGVybmFsLXNlcnZlci1lcnJv ciJ9fQotKwkgICAgZW5kOwotKwl7ZXJyb3IsIEVycm9yfSAtPgotKwkgICAgP0RFQlVHKCJnZXRo b3N0bmFtZSBlcnJvcjogfnAiLCBbRXJyb3JdKSwKLSsJICAgIHtvaywgI3N0YXRle25lZWRzbW9y ZT1lcnJvcixlcnJvcj0iaW50ZXJuYWwtc2VydmVyLWVycm9yIn19Ci0rICAgIGVuZC4KLSsKLStt ZWNoX3N0ZXAoU3RhdGUsIENsaWVudEluKSB3aGVuIGlzX2xpc3QoQ2xpZW50SW4pIC0+Ci0rICAg IGNhdGNoIGRvX3N0ZXAoU3RhdGUsIENsaWVudEluKS4KLSsKLStkb19zdGVwKCNzdGF0ZXtuZWVk c21vcmU9ZXJyb3IsZXJyb3I9RXJyb3J9PV9TdGF0ZSwgXykgLT4KLSsgICAge2Vycm9yLCBFcnJv cn07Ci0rZG9fc3RlcCgjc3RhdGV7bmVlZHNtb3JlPWZhbHNlfT1TdGF0ZSwgXykgLT4KLSsgICAg Y2hlY2tfdXNlcihTdGF0ZSk7Ci0rZG9fc3RlcCgjc3RhdGV7bmVlZHNtb3JlPXRydWUsc2FzbD1T YXNsLHN0ZXA9U3RlcH09U3RhdGUsIENsaWVudEluKSAtPgotKyAgICA/REVCVUcoIm1lY2hfc3Rl cH5uIiwgW10pLAotKyAgICBjYXNlIGVzYXNsOnN0ZXAoU2FzbCwgbGlzdF90b19iaW5hcnkoQ2xp ZW50SW4pKSBvZgotKwl7b2ssIFJzcEF1dGh9IC0+Ci0rCSAgICA/REVCVUcoIm9rfm4iLCBbXSks Ci0rCSAgICB7b2ssIERpc3BsYXlfbmFtZX0gPSBlc2FzbDpwcm9wZXJ0eV9nZXQoU2FzbCwgZ3Nz YXBpX2Rpc3BsYXlfbmFtZSksCi0rCSAgICB7b2ssIEF1dGh6aWR9ID0gZXNhc2w6cHJvcGVydHlf Z2V0KFNhc2wsIGF1dGh6aWQpLAotKwkgICAge0F1dGhpZCwgWyRAIHwgQXV0aF9yZWFsbV19ID0K LSsJCWxpc3RzOnNwbGl0d2l0aChmdW4oRSktPkUgPS89ICRAIGVuZCwgRGlzcGxheV9uYW1lKSwK LSsJICAgIFN0YXRlMSA9IFN0YXRlI3N0YXRle2F1dGhpZD1BdXRoaWQsCi0rCQkJCSBhdXRoemlk PUF1dGh6aWQsCi0rCQkJCSBhdXRocmVhbG09QXV0aF9yZWFsbX0sCi0rCSAgICBoYW5kbGVfc3Rl cF9vayhTdGF0ZTEsIGJpbmFyeV90b19saXN0KFJzcEF1dGgpKTsKLSsJe25lZWRzbW9yZSwgUnNw QXV0aH0gLT4KLSsJICAgID9ERUJVRygibmVlZHNtb3Jlfm4iLCBbXSksCi0rCSAgICBpZiAoU3Rl cCA+IDApIGFuZCAoQ2xpZW50SW4gPTo9IFtdKSBhbmQgKFJzcEF1dGggPTo9IDw8Pj4pIC0+Ci0r CQkgICAge2Vycm9yLCAibm90LWF1dGhvcml6ZWQifTsKLSsJCXRydWUgLT4KLSsJCSAgICB7Y29u dGludWUsIGJpbmFyeV90b19saXN0KFJzcEF1dGgpLAotKwkJICAgICBTdGF0ZSNzdGF0ZXtzdGVw PVN0ZXArMX19Ci0rCSAgICBlbmQ7Ci0rCXtlcnJvciwgX30gLT4KLSsJICAgIHtlcnJvciwgIm5v dC1hdXRob3JpemVkIn0KLSsgICAgZW5kLgotKwotK2hhbmRsZV9zdGVwX29rKFN0YXRlLCBbXSkg LT4KLSsgICAgY2hlY2tfdXNlcihTdGF0ZSk7Ci0raGFuZGxlX3N0ZXBfb2soI3N0YXRle3N0ZXA9 U3RlcH09U3RhdGUsIFJzcEF1dGgpIC0+Ci0rICAgID9ERUJVRygiY29udGludWV+biIsIFtdKSwK LSsgICAge2NvbnRpbnVlLCBSc3BBdXRoLCBTdGF0ZSNzdGF0ZXtuZWVkc21vcmU9ZmFsc2Usc3Rl cD1TdGVwKzF9fS4KLSsKLStjaGVja191c2VyKCNzdGF0ZXthdXRoaWQ9QXV0aGlkLGF1dGh6aWQ9 QXV0aHppZCwKLSsJCSAgYXV0aHJlYWxtPUF1dGhfcmVhbG0saG9zdD1Ib3N0LHJlYWxtPVJlYWxt fSkgLT4KLSsgICAgaWYgUmVhbG0gPS89IEF1dGhfcmVhbG0gLT4KLSsJICAgID9ERUJVRygiYmFk IHJlYWxtIH5wIChleHBlY3RlZCB+cCl+biIsW0F1dGhfcmVhbG0sIFJlYWxtXSksCi0rCSAgICB0 aHJvdyh7ZXJyb3IsICJub3QtYXV0aG9yaXplZCJ9KTsKLSsgICAgICAgdHJ1ZSAtPgotKwkgICAg b2sKLSsgICAgZW5kLAotKwotKyAgICBjYXNlIGVqYWJiZXJkX2F1dGg6aXNfdXNlcl9leGlzdHMo QXV0aGlkLCBIb3N0KSBvZgotKwlmYWxzZSAtPgotKwkgICAgP0RFQlVHKCJiYWQgdXNlciB+cH5u IixbQXV0aGlkXSksCi0rCSAgICB0aHJvdyh7ZXJyb3IsICJub3QtYXV0aG9yaXplZCJ9KTsKLSsJ dHJ1ZSAtPgotKwkgICAgb2sKLSsgICAgZW5kLAotKwotKyAgICA/REVCVUcoIkdTU0FQSSBhdXRo ZW50aWNhdGVkIH5wIH5wfm4iLCBbQXV0aGlkLCBBdXRoemlkXSksCi0rICAgIHtvaywgW3t1c2Vy bmFtZSwgQXV0aGlkfSwge2F1dGh6aWQsIEF1dGh6aWR9XX0uCi1kaWZmIC0tZ2l0IGEvc3JjL2N5 cnNhc2xfcGxhaW4uZXJsIGIvc3JjL2N5cnNhc2xfcGxhaW4uZXJsCi1pbmRleCA3MTkyY2QxLi43 YmY0MWIzIDEwMDY0NAotLS0tIGEvc3JjL2N5cnNhc2xfcGxhaW4uZXJsCi0rKysgYi9zcmMvY3ly c2FzbF9wbGFpbi5lcmwKLUBAIC0yNyw3ICsyNyw5IEBACi0gLW1vZHVsZShjeXJzYXNsX3BsYWlu KS4KLSAtYXV0aG9yKCdhbGV4ZXlAcHJvY2Vzcy1vbmUubmV0JykuCi0gCi0tLWV4cG9ydChbc3Rh cnQvMSwgc3RvcC8wLCBtZWNoX25ldy80LCBtZWNoX3N0ZXAvMiwgcGFyc2UvMV0pLgotKy1leHBv cnQoW3N0YXJ0LzEsIHN0b3AvMCwgbWVjaF9uZXcvMSwgbWVjaF9zdGVwLzIsIHBhcnNlLzFdKS4K LSsKLSstaW5jbHVkZSgiY3lyc2FzbC5ocmwiKS4KLSAKLSAtYmVoYXZpb3VyKGN5cnNhc2wpLgot IAotQEAgLTQwLDcgKzQyLDcgQEAgc3RhcnQoX09wdHMpIC0+Ci0gc3RvcCgpIC0+Ci0gICAgIG9r LgotIAotLW1lY2hfbmV3KF9Ib3N0LCBfR2V0UGFzc3dvcmQsIENoZWNrUGFzc3dvcmQsIF9DaGVj a1Bhc3N3b3JkRGlnZXN0KSAtPgotK21lY2hfbmV3KCNzYXNsX3BhcmFtc3tjaGVja19wYXNzd29y ZCA9IENoZWNrUGFzc3dvcmR9KSAtPgotICAgICB7b2ssICNzdGF0ZXtjaGVja19wYXNzd29yZCA9 IENoZWNrUGFzc3dvcmR9fS4KLSAKLSBtZWNoX3N0ZXAoU3RhdGUsIENsaWVudEluKSAtPgotZGlm ZiAtLWdpdCBhL3NyYy9jeXJzYXNsX3NjcmFtLmVybCBiL3NyYy9jeXJzYXNsX3NjcmFtLmVybAot aW5kZXggZGM2NzFiMi4uZDY1Y2M2ZiAxMDA2NDQKLS0tLSBhL3NyYy9jeXJzYXNsX3NjcmFtLmVy bAotKysrIGIvc3JjL2N5cnNhc2xfc2NyYW0uZXJsCi1AQCAtMjksMTAgKzI5LDExIEBACi0gCi0g LWV4cG9ydChbc3RhcnQvMSwKLSAJIHN0b3AvMCwKLS0JIG1lY2hfbmV3LzQsCi0rCSBtZWNoX25l dy8xLAotIAkgbWVjaF9zdGVwLzJdKS4KLSAKLSAtaW5jbHVkZSgiZWphYmJlcmQuaHJsIikuCi0r LWluY2x1ZGUoImN5cnNhc2wuaHJsIikuCi0gCi0gLWJlaGF2aW91cihjeXJzYXNsKS4KLSAKLUBA IC00OCw3ICs0OSw3IEBAIHN0YXJ0KF9PcHRzKSAtPgotIHN0b3AoKSAtPgotICAgICBvay4KLSAK LS1tZWNoX25ldyhfSG9zdCwgR2V0UGFzc3dvcmQsIF9DaGVja1Bhc3N3b3JkLCBfQ2hlY2tQYXNz d29yZERpZ2VzdCkgLT4KLSttZWNoX25ldygjc2FzbF9wYXJhbXN7Z2V0X3Bhc3N3b3JkPUdldFBh c3N3b3JkfSkgLT4KLSAgICAge29rLCAjc3RhdGV7c3RlcCA9IDIsIGdldF9wYXNzd29yZCA9IEdl dFBhc3N3b3JkfX0uCi0gCi0gbWVjaF9zdGVwKCNzdGF0ZXtzdGVwID0gMn0gPSBTdGF0ZSwgQ2xp ZW50SW4pIC0+Ci1kaWZmIC0tZ2l0IGEvc3JjL2VqYWJiZXJkX2Mycy5lcmwgYi9zcmMvZWphYmJl cmRfYzJzLmVybAotaW5kZXggZWQyNjQwMC4uMTFhZTVkZCAxMDA2NDQKLS0tLSBhL3NyYy9lamFi YmVyZF9jMnMuZXJsCi0rKysgYi9zcmMvZWphYmJlcmRfYzJzLmVybAotQEAgLTMwNSw5ICszMDUs MTYgQEAgd2FpdF9mb3Jfc3RyZWFtKHt4bWxzdHJlYW1zdGFydCwgX05hbWUsIEF0dHJzfSwgU3Rh dGVEYXRhKSAtPgotIAkJCSAgICBzZW5kX2hlYWRlcihTdGF0ZURhdGEsIFNlcnZlciwgIjEuMCIs IERlZmF1bHRMYW5nKSwKLSAJCQkgICAgY2FzZSBTdGF0ZURhdGEjc3RhdGUuYXV0aGVudGljYXRl ZCBvZgotIAkJCQlmYWxzZSAtPgotKwkJCQkgICAgUmVhbG0gPQotKwkJCQkJY2FzZSBlamFiYmVy ZF9jb25maWc6Z2V0X2xvY2FsX29wdGlvbih7c2FzbF9yZWFsbSwgU2VydmVyfSkgb2YKLSsJCQkJ CSAgICB1bmRlZmluZWQgLT4KLSsJCQkJCQkiIjsKLSsJCQkJCSAgICBSZWFsbTAgLT4KLSsJCQkJ CQlSZWFsbTAKLSsJCQkJCWVuZCwKLSAJCQkJICAgIFNBU0xTdGF0ZSA9Ci0gCQkJCQljeXJzYXNs OnNlcnZlcl9uZXcoCi0tCQkJCQkgICJqYWJiZXIiLCBTZXJ2ZXIsICIiLCBbXSwKLSsJCQkJCSAg ImphYmJlciIsIFNlcnZlciwgUmVhbG0sIFtdLAotIAkJCQkJICBmdW4oVSkgLT4KLSAJCQkJCQkg IGVqYWJiZXJkX2F1dGg6Z2V0X3Bhc3N3b3JkX3dpdGhfYXV0aG1vZHVsZSgKLSAJCQkJCQkgICAg VSwgU2VydmVyKQotQEAgLTMxOSw3ICszMjYsOCBAQCB3YWl0X2Zvcl9zdHJlYW0oe3htbHN0cmVh bXN0YXJ0LCBfTmFtZSwgQXR0cnN9LCBTdGF0ZURhdGEpIC0+Ci0gCQkJCQkgIGZ1bihVLCBQLCBE LCBERykgLT4KLSAJCQkJCQkgIGVqYWJiZXJkX2F1dGg6Y2hlY2tfcGFzc3dvcmRfd2l0aF9hdXRo bW9kdWxlKAotIAkJCQkJCSAgICBVLCBTZXJ2ZXIsIFAsIEQsIERHKQotLQkJCQkJICBlbmQpLAot KwkJCQkJICBlbmQsCi0rCQkJCQkgIFN0YXRlRGF0YSNzdGF0ZS5zb2NrZXQpLAotIAkJCQkgICAg TWVjaHMgPSBsaXN0czptYXAoCi0gCQkJCQkgICAgICBmdW4oUykgLT4KLSAJCQkJCQkgICAgICB7 eG1sZWxlbWVudCwgIm1lY2hhbmlzbSIsIFtdLAotZGlmZiAtLWdpdCBhL3NyYy9lamFiYmVyZF9z b2NrZXQuZXJsIGIvc3JjL2VqYWJiZXJkX3NvY2tldC5lcmwKLWluZGV4IDgzNmU3ZDkuLjU5ZTQw MzQgMTAwNjQ0Ci0tLS0gYS9zcmMvZWphYmJlcmRfc29ja2V0LmVybAotKysrIGIvc3JjL2VqYWJi ZXJkX3NvY2tldC5lcmwKLUBAIC00NCw5ICs0NCwxMSBAQAotIAkgZ2V0X3BlZXJfY2VydGlmaWNh dGUvMSwKLSAJIGdldF92ZXJpZnlfcmVzdWx0LzEsCi0gCSBjbG9zZS8xLAotKwkgZ2V0aG9zdG5h bWUvMSwKLSAJIHNvY2tuYW1lLzEsIHBlZXJuYW1lLzFdKS4KLSAKLSAtaW5jbHVkZSgiZWphYmJl cmQuaHJsIikuCi0rLWluY2x1ZGVfbGliKCJrZXJuZWwvaW5jbHVkZS9pbmV0LmhybCIpLgotIAot IC1yZWNvcmQoc29ja2V0X3N0YXRlLCB7c29ja21vZCwgc29ja2V0LCByZWNlaXZlcn0pLgotIAot QEAgLTIyOCw2ICsyMzAsMjMgQEAgcGVlcm5hbWUoI3NvY2tldF9zdGF0ZXtzb2NrbW9kID0gU29j a01vZCwgc29ja2V0ID0gU29ja2V0fSkgLT4KLSAJICAgIFNvY2tNb2Q6cGVlcm5hbWUoU29ja2V0 KQotICAgICBlbmQuCi0gCi0rZ2V0aG9zdG5hbWUoI3NvY2tldF9zdGF0ZXtzb2NrZXQgPSBTb2Nr ZXR9ID0gU3RhdGUpIC0+Ci0rICAgID9ERUJVRygiZ2V0aG9zdG5hbWUgfnB+biIsIFtTb2NrZXRd KSwKLSsKLSsgICAgY2FzZSBzb2NrbmFtZShTdGF0ZSkgb2YKLSsJe29rLCB7QWRkciwgX1BvcnR9 fSAtPgotKwkgICAgY2FzZSBpbmV0OmdldGhvc3RieWFkZHIoQWRkcikgb2YKLSsJCXtvaywgSG9z dEVudH0gd2hlbiBpc19yZWNvcmQoSG9zdEVudCwgaG9zdGVudCkgLT4KLSsJCSAgICA/REVCVUco ImdldGhvc3RuYW1lIHJlc3VsdCB+cH5uIiwKLSsJCQkgICBbSG9zdEVudCNob3N0ZW50LmhfbmFt ZV0pLAotKwkJICAgIHtvaywgSG9zdEVudCNob3N0ZW50LmhfbmFtZX07Ci0rCQl7ZXJyb3IsIF9S ZWFzb259ID0gRSAtPgotKwkJICAgIEUKLSsJICAgIGVuZDsKLSsJe2Vycm9yLCBfUmVhc29ufSA9 IEUgLT4KLSsJICAgIEUKLSsgICAgZW5kLgotKwotICUlPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSAlJSBJbnRlcm5h bCBmdW5jdGlvbnMKLSAlJT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSAKLTEuOC4zLjEKLQoKZGlmZiAtLWdpdCBh L2VqYWJiZXJkLTAwMDctRGlzYWJsZS1JTkVUX0RJU1RfSU5URVJGQUNFLWJ5LWRlZmF1bHQucGF0 Y2ggYi9lamFiYmVyZC0wMDA3LURpc2FibGUtSU5FVF9ESVNUX0lOVEVSRkFDRS1ieS1kZWZhdWx0 LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMGQxZDQwLi4wMDAwMDAwCi0t LSBhL2VqYWJiZXJkLTAwMDctRGlzYWJsZS1JTkVUX0RJU1RfSU5URVJGQUNFLWJ5LWRlZmF1bHQu cGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi1Gcm9tIGE4OTEwNjE1YjgyZTdh ZjhjYjMyOTE2NzkyOTcwZGUwYjUzZTU4NzIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9t OiBQZXRlciBMZW1lbmtvdiA8bGVtZW5rb3ZAZ21haWwuY29tPgotRGF0ZTogU2F0LCAxOCBKdW4g MjAxMSAyMzoyNDoyOCArMDQwMAotU3ViamVjdDogW1BBVENIIDA3LzEwXSBEaXNhYmxlIElORVRf RElTVF9JTlRFUkZBQ0UgYnkgZGVmYXVsdAotCi1TaWduZWQtb2ZmLWJ5OiBQZXRlciBMZW1lbmtv diA8bGVtZW5rb3ZAZ21haWwuY29tPgotLS0tCi0gc3JjL2VqYWJiZXJkY3RsLmNmZy5leGFtcGxl IHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQot Ci1kaWZmIC0tZ2l0IGEvc3JjL2VqYWJiZXJkY3RsLmNmZy5leGFtcGxlIGIvc3JjL2VqYWJiZXJk Y3RsLmNmZy5leGFtcGxlCi1pbmRleCBiNzIwNThhLi41ZWU0M2NmIDEwMDY0NAotLS0tIGEvc3Jj L2VqYWJiZXJkY3RsLmNmZy5leGFtcGxlCi0rKysgYi9zcmMvZWphYmJlcmRjdGwuY2ZnLmV4YW1w bGUKLUBAIC01OSw3ICs1OSw3IEBACi0gIwotICMgRGVmYXVsdDogezEyNywwLDAsMX0KLSAjCi0t SU5FVF9ESVNUX0lOVEVSRkFDRT17MTI3LDAsMCwxfQotKyNJTkVUX0RJU1RfSU5URVJGQUNFPXsx MjcsMCwwLDF9Ci0gCi0gIy4KLSAjJyBFUkxfRVBNRF9BRERSRVNTOiBJUCBhZGRyZXNzZXMgd2hl cmUgZXBtZCBsaXN0ZW5zIGZvciBjb25uZWN0aW9ucwotLS0gCi0xLjguMy4xCi0KCmRpZmYgLS1n aXQgYS9lamFiYmVyZC0wMDA3LUluc3RhbGwtaW50by1CSU5ESVItaW5zdGVhZC1vZi1TQklORElS LnBhdGNoIGIvZWphYmJlcmQtMDAwNy1JbnN0YWxsLWludG8tQklORElSLWluc3RlYWQtb2YtU0JJ TkRJUi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YTBlMTc4Ci0t LSAvZGV2L251bGwKKysrIGIvZWphYmJlcmQtMDAwNy1JbnN0YWxsLWludG8tQklORElSLWluc3Rl YWQtb2YtU0JJTkRJUi5wYXRjaApAQCAtMCwwICsxLDQ1IEBACitGcm9tOiBQZXRlciBMZW1lbmtv diA8bGVtZW5rb3ZAZ21haWwuY29tPgorRGF0ZTogV2VkLCAxNyBKdWwgMjAxMyAxNDo1Mzo0OSAr MDQwMAorU3ViamVjdDogW1BBVENIXSBJbnN0YWxsIGludG8gQklORElSIGluc3RlYWQgb2YgU0JJ TkRJUgorCitTaWduZWQtb2ZmLWJ5OiBQZXRlciBMZW1lbmtvdiA8bGVtZW5rb3ZAZ21haWwuY29t PgorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUuaW4gYi9NYWtlZmlsZS5pbgoraW5kZXggZGU0N2Jl Mi4uMDM3ZDJmZiAxMDA2NDQKKy0tLSBhL01ha2VmaWxlLmluCisrKysgYi9NYWtlZmlsZS5pbgor QEAgLTExLDggKzExLDggQEAgREVTVERJUiA9CisgIyAvZXRjL2VqYWJiZXJkLworIEVUQ0RJUiA9 ICQoREVTVERJUilAc3lzY29uZmRpckAvZWphYmJlcmQKKyAKKy0jIC9zYmluLworLVNCSU5ESVIg PSAkKERFU1RESVIpQHNiaW5kaXJACisrIyAvYmluLworK0JJTkRJUiA9ICQoREVTVERJUilAYmlu ZGlyQAorIAorICMgL2xpYi9lamFiYmVyZC8KKyBFSkFCQkVSRERJUiA9ICQoREVTVERJUilAbGli ZGlyQC9lamFiYmVyZAorQEAgLTEyNiwxMSArMTI2LDExIEBAIGluc3RhbGw6IGFsbAorIAkkKElO U1RBTEwpIC1iIC1tIDY0NCAkKEdfVVNFUikgaW5ldHJjICQoRVRDRElSKS9pbmV0cmMKKyAJIwor IAkjIEFkbWluaXN0cmF0aW9uIHNjcmlwdAorLQlbIC1kICQoU0JJTkRJUikgXSB8fCAkKElOU1RB TEwpIC1kIC1tIDc1NSAkKFNCSU5ESVIpCistCSQoSU5TVEFMTCkgLW0gNzU1ICQoR19VU0VSKSBl amFiYmVyZGN0bC5leGFtcGxlICQoU0JJTkRJUikvZWphYmJlcmRjdGwKKysJWyAtZCAkKEJJTkRJ UikgXSB8fCAkKElOU1RBTEwpIC1kIC1tIDc1NSAkKEJJTkRJUikKKysJJChJTlNUQUxMKSAtbSA3 NTUgJChHX1VTRVIpIGVqYWJiZXJkY3RsLmV4YW1wbGUgJChCSU5ESVIpL2VqYWJiZXJkY3RsCisg CSMKKyAJIyBJbml0IHNjcmlwdAorLQkkKFNFRCkgLWUgInMqQGN0bHNjcmlwdHBhdGhAKiQoU0JJ TkRJUikqIiBcCisrCSQoU0VEKSAtZSAicypAY3Rsc2NyaXB0cGF0aEAqJChCSU5ESVIpKiIgXAor IAkJLWUgInMqQGluc3RhbGx1c2VyQCokKElOSVRfVVNFUikqIiBlamFiYmVyZC5pbml0LnRlbXBs YXRlIFwKKyAJCT4gZWphYmJlcmQuaW5pdAorIAljaG1vZCA3NTUgZWphYmJlcmQuaW5pdAorQEAg LTE5MSw3ICsxOTEsNyBAQCBpbnN0YWxsOiBhbGwKKyB1bmluc3RhbGw6IHVuaW5zdGFsbC1iaW5h cnkKKyAKKyB1bmluc3RhbGwtYmluYXJ5OgorLQlybSAtZiAgJChTQklORElSKS9lamFiYmVyZGN0 bAorKwlybSAtZiAgJChCSU5ESVIpL2VqYWJiZXJkY3RsCisgCXJtIC1mciAkKERPQ0RJUikKKyAJ cm0gLWYgICQoQkVBTURJUikvKi5iZWFtCisgCXJtIC1mICAkKEJFQU1ESVIpLyouYXBwCgpkaWZm IC0tZ2l0IGEvZWphYmJlcmQtMDAwOC1DbGVhbi11cC1mYWxzZS1zZWN1cml0eS1tZWFzdXJlLnBh dGNoIGIvZWphYmJlcmQtMDAwOC1DbGVhbi11cC1mYWxzZS1zZWN1cml0eS1tZWFzdXJlLnBhdGNo CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNDRmMTMwLi4wMDAwMDAwCi0tLSBhL2Vq YWJiZXJkLTAwMDgtQ2xlYW4tdXAtZmFsc2Utc2VjdXJpdHktbWVhc3VyZS5wYXRjaAorKysgL2Rl di9udWxsCkBAIC0xLDI2ICswLDAgQEAKLUZyb20gYzgyNzA1NWVlNjUwMjQzYzJhZjU0Njc1Mzc0 M2Y2OTJhZTBmZTc1OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFBldGVyIExlbWVu a292IDxsZW1lbmtvdkBnbWFpbC5jb20+Ci1EYXRlOiBXZWQsIDE3IEp1bCAyMDEzIDE0OjU2OjA5 ICswNDAwCi1TdWJqZWN0OiBbUEFUQ0ggMDgvMTBdIENsZWFuIHVwIGZhbHNlIHNlY3VyaXR5IG1l YXN1cmUKLQotU2lnbmVkLW9mZi1ieTogUGV0ZXIgTGVtZW5rb3YgPGxlbWVua292QGdtYWlsLmNv bT4KLS0tLQotIHNyYy9NYWtlZmlsZS5pbiB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNl cnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9NYWtlZmlsZS5pbiBi L3NyYy9NYWtlZmlsZS5pbgotaW5kZXggNjRlZDg1Ni4uMWExZmE0MSAxMDA2NDQKLS0tLSBhL3Ny Yy9NYWtlZmlsZS5pbgotKysrIGIvc3JjL01ha2VmaWxlLmluCi1AQCAtMjAyLDcgKzIwMiw3IEBA IGluc3RhbGw6IGFsbAotIAkjCi0gCSMgQWRtaW5pc3RyYXRpb24gc2NyaXB0Ci0gCVsgLWQgJChT QklORElSKSBdIHx8IGluc3RhbGwgLWQgLW0gNzU1ICQoU0JJTkRJUikKLS0JaW5zdGFsbCAtbSA1 NTAgJChHX1VTRVIpIGVqYWJiZXJkY3RsLmV4YW1wbGUgJChTQklORElSKS9lamFiYmVyZGN0bAot KwlpbnN0YWxsIC1tIDc1NSAkKEdfVVNFUikgZWphYmJlcmRjdGwuZXhhbXBsZSAkKFNCSU5ESVIp L2VqYWJiZXJkY3RsCi0gCSMKLSAJIyBJbml0IHNjcmlwdAotIAlzZWQgLWUgInMqQGN0bHNjcmlw dHBhdGhAKiQoU0JJTkRJUikqIiBcCi0tLSAKLTEuOC4zLjEKLQoKZGlmZiAtLWdpdCBhL2VqYWJi ZXJkLTAwMDgtRGlzYWJsZS1FcmxhbmctdmVyc2lvbi1jaGVjay5wYXRjaCBiL2VqYWJiZXJkLTAw MDgtRGlzYWJsZS1FcmxhbmctdmVyc2lvbi1jaGVjay5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwLi4zYzZkNzIzCi0tLSAvZGV2L251bGwKKysrIGIvZWphYmJlcmQtMDAw OC1EaXNhYmxlLUVybGFuZy12ZXJzaW9uLWNoZWNrLnBhdGNoCkBAIC0wLDAgKzEsMzggQEAKK0Zy b206IFBldGVyIExlbWVua292IDxsZW1lbmtvdkBnbWFpbC5jb20+CitEYXRlOiBTYXQsIDMwIEF1 ZyAyMDE0IDEyOjIxOjQ1ICswNDAwCitTdWJqZWN0OiBbUEFUQ0hdIERpc2FibGUgRXJsYW5nIHZl cnNpb24gY2hlY2sKKworU2lnbmVkLW9mZi1ieTogUGV0ZXIgTGVtZW5rb3YgPGxlbWVua292QGdt YWlsLmNvbT4KKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5k ZXggZTdiYjQzYi4uZDI0YzU0MyAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29u ZmlndXJlLmFjCitAQCAtMyw4ICszLDYgQEAKKyAKKyBBQ19QUkVSRVEoMi41MykKKyBBQ19JTklU KGVqYWJiZXJkLCBtNF9lc3lzY21kKFtlY2hvIGBnaXQgZGVzY3JpYmUgLS10YWdzIDI+L2Rldi9u dWxsIHx8IGVjaG8gY29tbXVuaXR5YCB8IHNlZCAncy8tZy4qLy8nIHwgdHIgLWQgJ1wwMTInXSks IFtlamFiYmVyZEBwcm9jZXNzLW9uZS5uZXRdLCBbZWphYmJlcmRdKQorLVJFUVVJUkVfRVJMQU5H X01JTj0iNS45LjEgKEVybGFuZy9PVFAgUjE1QjAxKSIKKy1SRVFVSVJFX0VSTEFOR19NQVg9Ijku MC4wIChObyBNYXgpIgorIAorICMgQ2hlY2tzIGZvciBwcm9ncmFtcy4KKyBBQ19QUk9HX01BS0Vf U0VUCitAQCAtMzIsMTggKzMwLDYgQEAgQUNfUEFUSF9UT09MKEVSTEMsIGVybGMsICwgWyR7ZXh0 cmFfZXJsX3BhdGh9JFBBVEhdKQorIEFDX0VSTEFOR19ORUVEX0VSTAorIEFDX0VSTEFOR19ORUVE X0VSTEMKKyAKKy1BQ19BUkdfRU5BQkxFKGVybGFuZy12ZXJzaW9uLWNoZWNrLAorLVtBQ19IRUxQ X1NUUklORyhbLS1lbmFibGUtZXJsYW5nLXZlcnNpb24tY2hlY2tdLAorLQlbQ2hlY2sgRXJsYW5n L09UUCB2ZXJzaW9uIEA8OkBkZWZhdWx0PXllc0A6PkBdKV0pCistY2FzZSAiJGVuYWJsZV9lcmxh bmdfdmVyc2lvbl9jaGVjayIgaW4KKy0JeWVzfCcnKQorLQkJRVJMQU5HX1ZFUlNJT05fQ0hFQ0so WyRSRVFVSVJFX0VSTEFOR19NSU5dLFskUkVRVUlSRV9FUkxBTkdfTUFYXSkKKy0JCTs7CistCW5v KQorLQkJRVJMQU5HX1ZFUlNJT05fQ0hFQ0soWyRSRVFVSVJFX0VSTEFOR19NSU5dLFskUkVRVUlS RV9FUkxBTkdfTUFYXSxbd2Fybl0pCistCQk7OworLWVzYWMKKy0KKyAjIENoZWNrcyBhbmQgc2V0 cyBFUkxBTkdfUk9PVF9ESVIgYW5kIEVSTEFOR19MSUJfRElSIHZhcmlhYmxlCisgQUNfRVJMQU5H X1NVQlNUX1JPT1RfRElSCisgIyBBQ19FUkxBTkdfU1VCU1RfTElCX0RJUgoKZGlmZiAtLWdpdCBh L2VqYWJiZXJkLTAwMDktRW5hYmxlLXBvbGtpdC1zdXBwb3J0LnBhdGNoIGIvZWphYmJlcmQtMDAw OS1FbmFibGUtcG9sa2l0LXN1cHBvcnQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IGZkMzFmZDEuLjAwMDAwMDAKLS0tIGEvZWphYmJlcmQtMDAwOS1FbmFibGUtcG9sa2l0LXN1 cHBvcnQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyMyArMCwwIEBACi1Gcm9tIGYyNDIwYWM5 NmJiNTJlZWI1YTAxMTExY2FiYjRmNTU4MGRiNDIxNDIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx Ci1Gcm9tOiBQZXRlciBMZW1lbmtvdiA8bGVtZW5rb3ZAZ21haWwuY29tPgotRGF0ZTogV2VkLCAx NyBKdWwgMjAxMyAxNDo1MTowNCArMDQwMAotU3ViamVjdDogW1BBVENIIDA5LzEwXSBFbmFibGUg cG9sa2l0IHN1cHBvcnQKLQotU2lnbmVkLW9mZi1ieTogUGV0ZXIgTGVtZW5rb3YgPGxlbWVua292 QGdtYWlsLmNvbT4KLS0tLQotIHNyYy9lamFiYmVyZGN0bC50ZW1wbGF0ZSB8IDIgKy0KLSAxIGZp bGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBh L3NyYy9lamFiYmVyZGN0bC50ZW1wbGF0ZSBiL3NyYy9lamFiYmVyZGN0bC50ZW1wbGF0ZQotaW5k ZXggYjI5OGUwMS4uZmE2YzVjMiAxMDA2NDQKLS0tLSBhL3NyYy9lamFiYmVyZGN0bC50ZW1wbGF0 ZQotKysrIGIvc3JjL2VqYWJiZXJkY3RsLnRlbXBsYXRlCi1AQCAtMSw0ICsxLDQgQEAKLS0jIS9i aW4vc2gKLSsjIS91c3IvYmluL3BrZXhlYyAvYmluL3NoCi0gCi0gIyBkZWZpbmUgZGVmYXVsdCBj b25maWd1cmF0aW9uCi0gUE9MTD10cnVlCi0tLSAKLTEuOC4zLjEKLQoKZGlmZiAtLWdpdCBhL2Vq YWJiZXJkLTAwMDktRml4LXBlcm1pc3Npb25zLWZvci1jYXB0Y2hhLXNjcmlwdC5wYXRjaCBiL2Vq YWJiZXJkLTAwMDktRml4LXBlcm1pc3Npb25zLWZvci1jYXB0Y2hhLXNjcmlwdC5wYXRjaApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNjk0YzU3Ci0tLSAvZGV2L251bGwKKysr IGIvZWphYmJlcmQtMDAwOS1GaXgtcGVybWlzc2lvbnMtZm9yLWNhcHRjaGEtc2NyaXB0LnBhdGNo CkBAIC0wLDAgKzEsMTkgQEAKK0Zyb206IFBldGVyIExlbWVua292IDxsZW1lbmtvdkBnbWFpbC5j b20+CitEYXRlOiBTdW4sIDMxIEF1ZyAyMDE0IDEzOjIxOjQ4ICswNDAwCitTdWJqZWN0OiBbUEFU Q0hdIEZpeCBwZXJtaXNzaW9ucyBmb3IgY2FwdGNoYSBzY3JpcHQKKworU2lnbmVkLW9mZi1ieTog UGV0ZXIgTGVtZW5rb3YgPGxlbWVua292QGdtYWlsLmNvbT4KKworZGlmZiAtLWdpdCBhL01ha2Vm aWxlLmluIGIvTWFrZWZpbGUuaW4KK2luZGV4IDAzN2QyZmYuLmQ5NzJjOTggMTAwNjQ0CistLS0g YS9NYWtlZmlsZS5pbgorKysrIGIvTWFrZWZpbGUuaW4KK0BAIC0xNTAsNyArMTUwLDcgQEAgaW5z dGFsbDogYWxsCisgCSMKKyAJIyBCaW5hcnkgQyBwcm9ncmFtcworIAkkKElOU1RBTEwpIC1kICQo UEJJTkRJUikKKy0JJChJTlNUQUxMKSAtbSA3NTAgJChPX1VTRVIpIHRvb2xzL2NhcHRjaGEuc2gg JChQQklORElSKQorKwkkKElOU1RBTEwpIC1tIDc1NSAkKE9fVVNFUikgdG9vbHMvY2FwdGNoYS5z aCAkKFBCSU5ESVIpCisgCS1bIC1mIGRlcHMvcDFfcGFtL3ByaXYvYmluL2VwYW0gXSBcCisgCQkm JiAkKElOU1RBTEwpIC1tIDc1MCAkKE9fVVNFUikgZGVwcy9wMV9wYW0vcHJpdi9iaW4vZXBhbSAk KFBCSU5ESVIpCisgCSMKCmRpZmYgLS1naXQgYS9lamFiYmVyZC0wMDEwLUVuYWJsZS1zeXN0ZW1k LW5vdGlmaWNhdGlvbi1pZi1hdmFpbGFibGUucGF0Y2ggYi9lamFiYmVyZC0wMDEwLUVuYWJsZS1z eXN0ZW1kLW5vdGlmaWNhdGlvbi1pZi1hdmFpbGFibGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMC4uOGEwNGYzNwotLS0gL2Rldi9udWxsCisrKyBiL2VqYWJiZXJkLTAw MTAtRW5hYmxlLXN5c3RlbWQtbm90aWZpY2F0aW9uLWlmLWF2YWlsYWJsZS5wYXRjaApAQCAtMCww ICsxLDE4IEBACitGcm9tOiBQZXRlciBMZW1lbmtvdiA8bGVtZW5rb3ZAZ21haWwuY29tPgorRGF0 ZTogU3VuLCAzMSBBdWcgMjAxNCAxNjowODoxNyArMDQwMAorU3ViamVjdDogW1BBVENIXSBFbmFi bGUgc3lzdGVtZCBub3RpZmljYXRpb24gaWYgYXZhaWxhYmxlCisKK1NpZ25lZC1vZmYtYnk6IFBl dGVyIExlbWVua292IDxsZW1lbmtvdkBnbWFpbC5jb20+CisKK2RpZmYgLS1naXQgYS9zcmMvZWph YmJlcmRfYXBwLmVybCBiL3NyYy9lamFiYmVyZF9hcHAuZXJsCitpbmRleCAzNzlmNzI4Li45YWE2 ODAxIDEwMDY0NAorLS0tIGEvc3JjL2VqYWJiZXJkX2FwcC5lcmwKKysrKyBiL3NyYy9lamFiYmVy ZF9hcHAuZXJsCitAQCAtNjYsNiArNjYsNyBAQCBzdGFydChub3JtYWwsIF9BcmdzKSAtPgorICAg ICBtYXliZV9hZGRfbmFtZXNlcnZlcnMoKSwKKyAgICAgc3RhcnRfbW9kdWxlcygpLAorICAgICBl amFiYmVyZF9saXN0ZW5lcjpzdGFydF9saXN0ZW5lcnMoKSwKKysgICAge21vZHVsZSwgc2Rfbm90 aWZ5fSA9PSBjb2RlOmxvYWRfZmlsZShzZF9ub3RpZnkpIGFuZGFsc28gc2Rfbm90aWZ5OnNkX25v dGlmeSgwLCAiUkVBRFk9MSIpLAorICAgICA/SU5GT19NU0coImVqYWJiZXJkIH5zIGlzIHN0YXJ0 ZWQgaW4gdGhlIG5vZGUgfnAiLCBbP1ZFUlNJT04sIG5vZGUoKV0pLAorICAgICBTdXA7Cisgc3Rh cnQoXywgXykgLT4KCmRpZmYgLS1naXQgYS9lamFiYmVyZC0wMDEwLUluc3RhbGwtaW50by1CSU5E SVItaW5zdGVhZC1vZi1TQklORElSLnBhdGNoIGIvZWphYmJlcmQtMDAxMC1JbnN0YWxsLWludG8t QklORElSLWluc3RlYWQtb2YtU0JJTkRJUi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMzg2OGIwMS4uMDAwMDAwMAotLS0gYS9lamFiYmVyZC0wMDEwLUluc3RhbGwtaW50by1C SU5ESVItaW5zdGVhZC1vZi1TQklORElSLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTAgKzAs MCBAQAotRnJvbSA3MjlkYjgzOWI3NjJhNDcyNDQ0YmFjZmYyMmExY2I4ODcwNjM1MjcyIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUGV0ZXIgTGVtZW5rb3YgPGxlbWVua292QGdtYWls LmNvbT4KLURhdGU6IFdlZCwgMTcgSnVsIDIwMTMgMTQ6NTM6NDkgKzA0MDAKLVN1YmplY3Q6IFtQ QVRDSCAxMC8xMF0gSW5zdGFsbCBpbnRvIEJJTkRJUiBpbnN0ZWFkIG9mIFNCSU5ESVIKLQotU2ln bmVkLW9mZi1ieTogUGV0ZXIgTGVtZW5rb3YgPGxlbWVua292QGdtYWlsLmNvbT4KLS0tLQotIHNy Yy9NYWtlZmlsZS5pbiB8IDEwICsrKysrLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRp b25zKCspLCA1IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL01ha2VmaWxlLmluIGIv c3JjL01ha2VmaWxlLmluCi1pbmRleCAxYTFmYTQxLi4xNTc4MTgzIDEwMDY0NAotLS0tIGEvc3Jj L01ha2VmaWxlLmluCi0rKysgYi9zcmMvTWFrZWZpbGUuaW4KLUBAIC05Miw3ICs5Miw3IEBAIERF U1RESVIgPQotIEVUQ0RJUiA9ICQoREVTVERJUilAc3lzY29uZmRpckAvZWphYmJlcmQKLSAKLSAj IC9zYmluLwotLVNCSU5ESVIgPSAkKERFU1RESVIpQHNiaW5kaXJACi0rQklORElSID0gJChERVNU RElSKUBiaW5kaXJACi0gCi0gIyAvbGliL2VqYWJiZXJkLwotIEVKQUJCRVJERElSID0gJChERVNU RElSKUBsaWJkaXJAL2VqYWJiZXJkCi1AQCAtMjAxLDExICsyMDEsMTEgQEAgaW5zdGFsbDogYWxs Ci0gCWluc3RhbGwgLWIgLW0gNjQ0ICQoR19VU0VSKSBpbmV0cmMgJChFVENESVIpL2luZXRyYwot IAkjCi0gCSMgQWRtaW5pc3RyYXRpb24gc2NyaXB0Ci0tCVsgLWQgJChTQklORElSKSBdIHx8IGlu c3RhbGwgLWQgLW0gNzU1ICQoU0JJTkRJUikKLS0JaW5zdGFsbCAtbSA3NTUgJChHX1VTRVIpIGVq YWJiZXJkY3RsLmV4YW1wbGUgJChTQklORElSKS9lamFiYmVyZGN0bAotKwlbIC1kICQoQklORElS KSBdIHx8IGluc3RhbGwgLWQgLW0gNzU1ICQoQklORElSKQotKwlpbnN0YWxsIC1tIDc1NSAkKEdf VVNFUikgZWphYmJlcmRjdGwuZXhhbXBsZSAkKEJJTkRJUikvZWphYmJlcmRjdGwKLSAJIwotIAkj IEluaXQgc2NyaXB0Ci0tCXNlZCAtZSAicypAY3Rsc2NyaXB0cGF0aEAqJChTQklORElSKSoiIFwK LSsJc2VkIC1lICJzKkBjdGxzY3JpcHRwYXRoQCokKEJJTkRJUikqIiBcCi0gCQktZSAicypAaW5z dGFsbHVzZXJAKiQoSU5JVF9VU0VSKSoiIGVqYWJiZXJkLmluaXQudGVtcGxhdGUgXAotIAkJPiBl amFiYmVyZC5pbml0Ci0gCWNobW9kIDc1NSBlamFiYmVyZC5pbml0Ci1AQCAtMjczLDcgKzI3Myw3 IEBAIGluc3RhbGw6IGFsbAotIHVuaW5zdGFsbDogdW5pbnN0YWxsLWJpbmFyeQotIAotIHVuaW5z dGFsbC1iaW5hcnk6Ci0tCXJtIC1mICAkKFNCSU5ESVIpL2VqYWJiZXJkY3RsCi0rCXJtIC1mICAk KEJJTkRJUikvZWphYmJlcmRjdGwKLSAJcm0gLWZyICQoRE9DRElSKQotIAlybSAtZiAgJChCRUFN RElSKS8qLmJlYW0KLSAJcm0gLWYgICQoQkVBTURJUikvKi5hcHAKLS0tIAotMS44LjMuMQotCgpk aWZmIC0tZ2l0IGEvZWphYmJlcmQuaW5pdCBiL2VqYWJiZXJkLmluaXQKZGVsZXRlZCBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDcxY2FkZWEuLjAwMDAwMDAKLS0tIGEvZWphYmJlcmQuaW5pdAorKysg L2Rldi9udWxsCkBAIC0xLDExMSArMCwwIEBACi0jIS9iaW4vYmFzaAotIwotIyBlamFiYmVyZCAg ICBTdGFydCBhbmQgc3RvcCBlamFiYmVyZC4KLQotIyBjaGtjb25maWc6IC0gNDAgNjAKLSMgZGVz Y3JpcHRpb246IGVqYWJiZXJkCi0jIHByb2Nlc3NuYW1lOiBlamFiYmVyZAotIyBwaWRmaWxlOiAv dmFyL3J1bi9lamFiYmVyZC5waWQKLQotIyMjIEJFR0lOIElOSVQgSU5GTwotIyBQcm92aWRlczog ZWphYmJlcmQKLSMgUmVxdWlyZWQtU3RhcnQ6IG5ldHdvcmsKLSMgUmVxdWlyZWQtU3RvcDogbmV0 d29yawotIyBEZWZhdWx0LVN0YXJ0OgotIyBEZWZhdWx0LVN0b3A6IDAgMSA2Ci0jIFNob3J0LURl c2NyaXB0aW9uOiBTdGFydCBhbmQgc3RvcCBlamFiYmVyZAotIyBEZXNjcmlwdGlvbjogQSBkaXN0 cmlidXRlZCwgZmF1bHQtdG9sZXJhbnQgSmFiYmVyL1hNUFAgc2VydmVyCi0jIyMgRU5EIElOSVQg SU5GTwotCi0uIC9ldGMvcmMuZC9pbml0LmQvZnVuY3Rpb25zCi0KLWlmIFsgLXIgL2V0Yy9zeXNj b25maWcvZWphYmJlcmQgXTsgdGhlbgotCS4gL2V0Yy9zeXNjb25maWcvZWphYmJlcmQKLWZpCi0K LWlmIFsgISAiJENPTkZJR19GSUxFIiBdOyB0aGVuCi0JQ09ORklHX0ZJTEU9L2V0Yy9lamFiYmVy ZC9lamFiYmVyZC5jZmcKLWZpCi0KLSMgd2UncmUgdXNpbmcgc3ltbGlua2VkIGNvbnNvbGVoZWxw ZXIgdG8gY2hlY2sgdXNlcidzIHJpZ2h0cwotcHJvZ2N0bD0vdXNyL2Jpbi9lamFiYmVyZGN0bAot Ci1zdGFydCgpIHsKLSAgICAgICAgZWNobyAtbiAkIlN0YXJ0aW5nIGVqYWJiZXJkOiAiCi0JaWYg WyAiJFVMSU1JVF9NQVhfRklMRVMiIF07IHRoZW4KLQkJdWxpbWl0IC1uICRVTElNSVRfTUFYX0ZJ TEVTCi0JZmkKLQotCSMgY2hlY2sgd2hldGhlciBlamFiYmVyZCB3YXMgYWxyZWFkeSBzdGFydGVk Ci0JaWYgJHByb2djdGwgc3RhdHVzID4gL2Rldi9udWxsIDI+JjEgOyB0aGVuCi0JCWVjaG8gLW4g ImFscmVhZHkgcnVubmluZyIgJiYgd2FybmluZyAmJiBlY2hvCi0JCXJldHVybiAwCi0JZmkKLQot CWRhZW1vbiAkcHJvZ2N0bCBzdGFydAktLWNvbmZpZyAkQ09ORklHX0ZJTEUgXAotCQkJCS0tY3Rs LWNvbmZpZyAvZXRjL2VqYWJiZXJkL2VqYWJiZXJkY3RsLmNmZyBcCi0JCQkJLS1sb2dzICIvdmFy L2xvZy9lamFiYmVyZCIgXAotCQkJCS0tc3Bvb2wgIi92YXIvbGliL2VqYWJiZXJkL3Nwb29sIiBc Ci0JCQkJMj4vZGV2L251bGwKLSAgICAgICAgUkVUVkFMPSQ/Ci0gICAgICAgIFsgJFJFVFZBTCAt ZXEgMCBdICYmIHRvdWNoIC92YXIvbG9jay9zdWJzeXMvZWphYmJlcmQKLSAgICAgICAgZWNobwot Ci0JIyBpdCB0YWtlcyBzb21lIHRpbWUgdG8gYWN0dWFsbHkgc3RhcnQgbmVjZXNzYXJ5IG5vZGVz Ci0Jc2xlZXAgNQotCi0gICAgICAgIHJldHVybiAkUkVUVkFMCi19Ci0KLXN0b3AoKSB7Ci0gICAg ICAgICMgU3RvcCBkYWVtb25zLgotICAgICAgICBlY2hvIC1uICJTaHV0dGluZyBkb3duIGVqYWJi ZXJkOiAiCi0KLQkjIGNoZWNrIHdoZXRoZXIgZWphYmJlcmQgd2FzIGFscmVhZHkgc3RvcHBlZAot CWlmICEgJHByb2djdGwgc3RhdHVzID4gL2Rldi9udWxsIDI+JjEgOyB0aGVuCi0JCWVjaG8gLW4g ImFscmVhZHkgc3RvcHBlZCIgJiYgd2FybmluZyAmJiBlY2hvCi0JCXJldHVybiAwCi0JZmkKLQot CWRhZW1vbiAkcHJvZ2N0bCBzdG9wIDI+L2Rldi9udWxsCi0gICAgICAgIFJFVFZBTD0kPwotICAg ICAgICBbICRSRVRWQUwgLWVxIDAgXSAmJiBybSAtZiAvdmFyL2xvY2svc3Vic3lzL2VqYWJiZXJk Ci0gICAgICAgIGVjaG8KLQotCSMgaXQgdGFrZXMgc29tZSB0aW1lIHRvIGFjdHVhbGx5IHN0b3Ag bmVjZXNzYXJ5IG5vZGVzCi0Jc2xlZXAgNQotCi0gICAgICAgIHJldHVybiAkUkVUVkFMCi19Ci0K LXJlc3RhcnQoKSB7Ci0gICAgICAgIHN0b3AKLQlzbGVlcCA1Ci0gICAgICAgIHN0YXJ0Ci19Ci0K LSMgU2VlIGhvdyB3ZSB3ZXJlIGNhbGxlZC4KLWNhc2UgIiQxIiBpbgotICBzdGFydCkKLSAgICAg ICAgc3RhcnQKLSAgICAgICAgOzsKLSAgc3RvcCkKLSAgICAgICAgc3RvcAotICAgICAgICA7Owot ICByZXN0YXJ0fGZvcmNlLXJlbG9hZCkKLSAgICAgICAgcmVzdGFydAotICAgICAgICA7OwotICBj b25kcmVzdGFydHx0cnktcmVzdGFydCkKLSAgICAgICAgWyAtZiAvdmFyL2xvY2svc3Vic3lzL2Vq YWJiZXJkIF0gJiYgcmVzdGFydCB8fCA6Ci0gICAgICAgIDs7Ci0gIHN0YXR1cykKLQkkcHJvZ2N0 bCBzdGF0dXMKLSAgICAgICAgOzsKLSAgKikKLSAgICAgICAgZWNobyAiVXNhZ2U6IGVqYWJiZXJk IHtzdGFydHxzdG9wfHJlc3RhcnR8Zm9yY2UtcmVsb2FkfGNvbmRyZXN0YXJ0fHRyeS1yZXN0YXJ0 fHN0YXR1c30iCi0gICAgICAgIGV4aXQgMgotZXNhYwotCi1leGl0ICQ/Ci0KLQoKZGlmZiAtLWdp dCBhL2VqYWJiZXJkLmxvZ3JvdGF0ZSBiL2VqYWJiZXJkLmxvZ3JvdGF0ZQppbmRleCBjZjUyNzRh Li45OTIxODg5IDEwMDY0NAotLS0gYS9lamFiYmVyZC5sb2dyb3RhdGUKKysrIGIvZWphYmJlcmQu bG9ncm90YXRlCkBAIC00LDYgKzQsNiBAQAogICAgIGNyZWF0ZSAwNjQwIGVqYWJiZXJkIGVqYWJi ZXJkCiAgICAgc2hhcmVkc2NyaXB0cwogICAgIHBvc3Ryb3RhdGUKLSAgICBydW51c2VyIC1zIC9i aW4vYmFzaCAtIGVqYWJiZXJkIC1jICIvdXNyL3NiaW4vZWphYmJlcmRjdGwgcmVvcGVuLWxvZyIg Pi9kZXYvbnVsbCAyPi9kZXYvbnVsbCB8fCB0cnVlCisgICAgcnVudXNlciAtcyAvYmluL2Jhc2gg LSBlamFiYmVyZCAtYyAiL3Vzci9iaW4vZWphYmJlcmRjdGwgcmVvcGVuLWxvZyIgPi9kZXYvbnVs bCAyPi9kZXYvbnVsbCB8fCB0cnVlCiAgICAgZW5kc2NyaXB0CiB9CgpkaWZmIC0tZ2l0IGEvZWph YmJlcmQuc2VydmljZSBiL2VqYWJiZXJkLnNlcnZpY2UKaW5kZXggZWExNjczMy4uMmZlOTA0OCAx MDA2NDQKLS0tIGEvZWphYmJlcmQuc2VydmljZQorKysgYi9lamFiYmVyZC5zZXJ2aWNlCkBAIC0x LDYgKzEsNyBAQAogW1VuaXRdCiBEZXNjcmlwdGlvbj1BIGRpc3RyaWJ1dGVkLCBmYXVsdC10b2xl cmFudCBKYWJiZXIvWE1QUCBzZXJ2ZXIKLUFmdGVyPW5ldHdvcmsudGFyZ2V0CitSZXF1aXJlcz1u ZXR3b3JrLW9ubGluZS50YXJnZXQKK0FmdGVyPW5ldHdvcmstb25saW5lLnRhcmdldAogCiBbU2Vy dmljZV0KIFR5cGU9b25lc2hvdApAQCAtOSwxMSArMTAsMTEgQEAgR3JvdXA9ZWphYmJlcmQKIExp bWl0Tk9GSUxFPTE2MDAwCiBSZXN0YXJ0U2VjPTUKIEV4ZWNTdGFydD0vdXNyL2Jpbi9iYXNoIC91 c3IvYmluL2VqYWJiZXJkY3RsIFwKLQkJLS1jb25maWcgL2V0Yy9lamFiYmVyZC9lamFiYmVyZC5j ZmcgXAorCQktLWNvbmZpZyAvZXRjL2VqYWJiZXJkL2VqYWJiZXJkLnltbCBcCiAJCS0tY3RsLWNv bmZpZyAvZXRjL2VqYWJiZXJkL2VqYWJiZXJkY3RsLmNmZyBcCiAJCS0tbG9ncyAiL3Zhci9sb2cv ZWphYmJlcmQiIFwKLQkJLS1zcG9vbCAiL3Zhci9saWIvZWphYmJlcmQvc3Bvb2wiIHN0YXJ0Ci1F eGVjU3RvcD0vdXNyL3NiaW4vZWphYmJlcmRjdGwgc3RvcAorCQktLXNwb29sICIvdmFyL2xpYi9l amFiYmVyZCIgc3RhcnQKK0V4ZWNTdG9wPS91c3IvYmluL2VqYWJiZXJkY3RsIHN0b3AKIFJlbWFp bkFmdGVyRXhpdD15ZXMKIAogW0luc3RhbGxdCgpkaWZmIC0tZ2l0IGEvZWphYmJlcmQuc3BlYyBi L2VqYWJiZXJkLnNwZWMKaW5kZXggNTJjOGQ3My4uNDg1ZDg1NiAxMDA2NDQKLS0tIGEvZWphYmJl cmQuc3BlYworKysgYi9lamFiYmVyZC5zcGVjCkBAIC0xLDQgKzEsNSBAQAogJWdsb2JhbCBfaGFy ZGVuZWRfYnVpbGQgMQorCiAjIEZJWE1FIG5vbi1zdGFuZGFyZCBkaXJlY3RvcnkgZm9yIHN0b3Jp bmcgKi5zbyBvYmplY3RzCiAlez9maWx0ZXJfc2V0dXA6CiAlZmlsdGVyX3Byb3ZpZGVzX2luICV7 X2xpYmRpcn0vZWphYmJlcmQvcHJpdi9saWIvLipcLnNvJApAQCAtMTUsMTUgKzE2LDE0IEBACiAj IHNlZSBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vYnVnemlsbGEvMjUwMjUzCiAlZ2xvYmFs IF93aXRoX2hldmVhIDAKICVlbHNlCi0jIEZJWE1FIEhldmVhIGlzIGRlYWRseSBicm9rZW4gY3Vy cmVudGx5Ci0lZ2xvYmFsIF93aXRoX2hldmVhIDAKKyVnbG9iYWwgX3dpdGhfaGV2ZWEgMQogJWVu ZGlmCiAlZW5kaWYKIAogCiBOYW1lOiAgICAgICAgICAgZWphYmJlcmQKLVZlcnNpb246ICAgICAg ICAyLjEuMTMKLVJlbGVhc2U6ICAgICAgICAxMCV7P2Rpc3R9CitWZXJzaW9uOiAgICAgICAgMTQu MDcKK1JlbGVhc2U6ICAgICAgICAxJXs/ZGlzdH0KIFN1bW1hcnk6ICAgICAgICBBIGRpc3RyaWJ1 dGVkLCBmYXVsdC10b2xlcmFudCBKYWJiZXIvWE1QUCBzZXJ2ZXIKIAogR3JvdXA6ICAgICAgICAg IEFwcGxpY2F0aW9ucy9JbnRlcm5ldApAQCAtMzIsMTAgKzMyLDggQEAgVVJMOiAgICAgICAgICAg IGh0dHA6Ly93d3cuZWphYmJlcmQuaW0vCiAlaWYgMCV7P2VsN30lez9mZWRvcmF9CiBWQ1M6CQlz Y206Z2l0Omh0dHBzOi8vZ2l0aHViLmNvbS9wcm9jZXNzb25lL2VqYWJiZXJkLmdpdAogJWVuZGlm Ci1Tb3VyY2UwOglodHRwczovL2dpdGh1Yi5jb20vcHJvY2Vzc29uZS8le25hbWV9L2FyY2hpdmUv diV7dmVyc2lvbn0vJXtuYW1lfS12JXt2ZXJzaW9ufS50YXIuZ3oKLVNvdXJjZTE6ICAgICAgICBl amFiYmVyZC5pbml0CitTb3VyY2UwOglodHRwczovL2dpdGh1Yi5jb20vcHJvY2Vzc29uZS8le25h bWV9L2FyY2hpdmUvJXt2ZXJzaW9ufS8le25hbWV9LSV7dmVyc2lvbn0udGFyLmd6CiBTb3VyY2Uy OiAgICAgICAgZWphYmJlcmQubG9ncm90YXRlCi1Tb3VyY2UzOgllamFiYmVyZC5zeXNjb25maWcK IAogIyBTdXBwb3J0IGZvciBzeXN0ZW1kCiBTb3VyY2U0OgllamFiYmVyZC5zZXJ2aWNlCkBAIC00 NSw0MiArNDMsNDYgQEAgU291cmNlNToJZWphYmJlcmQudG1wZmlsZXMuY29uZgogU291cmNlOTog ICAgICAgIGVqYWJiZXJkY3RsLnBhbQogU291cmNlMTE6ICAgICAgIGVqYWJiZXJkLnBhbQogCi0j IHVzZXJtb2RlIHN1cHBvcnQgZm9yIG9sZCBzeXN0ZW1zCi1Tb3VyY2UxMDoJZWphYmJlcmRjdGwu YXBwcwogIyBwb2xraXQgc3VwcG9ydAogU291cmNlMTI6CWVqYWJiZXJkY3RsLnBvbGtpdC5hY3Rp b25zCiBTb3VyY2UxMzoJZWphYmJlcmRjdGwucG9sa2l0LnJ1bGVzCiAKK1NvdXJjZTE0OgllamFi YmVyZC1zcmMtZGVwcy50YXIKKwogIyBVc2UgZWphYmJlcmQgYXMgYW4gZXhhbXBsZSBmb3IgUEFN IHNlcnZpY2UgbmFtZSAoZmVkb3JhL2VwZWwtc3BlY2lmaWMpCiBQYXRjaDE6IGVqYWJiZXJkLTAw MDEtRml4LVBBTS1zZXJ2aWNlLWV4YW1wbGUtbmFtZS10by1tYXRjaC1hY3R1YWwtb25lLnBhdGNo Ci0jIGZpeGVkIGRlbGF5cyBpbiBzMnMgY29ubmVjdGlvbnMKLVBhdGNoMjogZWphYmJlcmQtMDAw Mi1GaXhlZC1kZWxheXMtaW4tczJzLWNvbm5lY3Rpb25zLnBhdGNoCiAjIEludHJvZHVjaW5nIG1v ZF9hZG1pbl9leHRyYQotUGF0Y2gzOiBlamFiYmVyZC0wMDAzLUludHJvZHVjaW5nLW1vZF9hZG1p bl9leHRyYS5wYXRjaAorUGF0Y2gyOiBlamFiYmVyZC0wMDAyLUludHJvZHVjaW5nLW1vZF9hZG1p bl9leHRyYS5wYXRjaAogIyBCWiMgNDM5NTgzLCA0NTIzMjYsIDQ1MTU1NCwgNDY1MTk2LCA1MDIz NjEgKGZlZG9yYS9lcGVsLXNwZWNpZmljKQotUGF0Y2g0OiBlamFiYmVyZC0wMDA0LUZlZG9yYS1z cGVjaWZpYy1jaGFuZ2VzLXRvLWVqYWJiZXJkY3RsLnBhdGNoCi0jIEZpeCBzby1saWIgcGVybWlz c2lvbnMgd2hpbGUgaW5zdGFsbGluZyAoZmVkb3JhL2VwZWwtc3BlY2lmaWMpCi1QYXRjaDU6CWVq YWJiZXJkLTAwMDUtSW5zdGFsbC0uc28tb2JqZWN0cy13aXRoLTA3NTUtcGVybWlzc2lvbnMucGF0 Y2gKLSMgQmFja3BvcnRlZCBmcm9tIHVwc3RyZWFtCi1QYXRjaDY6IGVqYWJiZXJkLTAwMDYtU3Vw cG9ydC1TQVNMLUdTU0FQSS1hdXRoZW50aWNhdGlvbi10aGFua3MtdG8tTWlrYWVsLS5wYXRjaAot IyBEaXNhYmxlIElQIHJlc3RyaWN0aW9uIGZvciBlamFiYmVyZGN0bCAoc2VlbXMgdGhhdCBpdCBk b2Vzbid0IHdvcmsgd2VsbCkKLVBhdGNoNzogZWphYmJlcmQtMDAwNy1EaXNhYmxlLUlORVRfRElT VF9JTlRFUkZBQ0UtYnktZGVmYXVsdC5wYXRjaAotIyBEb24ndCB0cnkgdG8gbWFrZSBzeXN0ZW0t d2lkZSBzY3JpcHRzIHVucmVhZGFibGUgZm9yIHVzZXJzIChmZWRvcmEvZXBlbC1zcGVjaWZpYykK LVBhdGNoODogZWphYmJlcmQtMDAwOC1DbGVhbi11cC1mYWxzZS1zZWN1cml0eS1tZWFzdXJlLnBh dGNoCitQYXRjaDM6IGVqYWJiZXJkLTAwMDMtRmVkb3JhLXNwZWNpZmljLWNoYW5nZXMtdG8tZWph YmJlcmRjdGwucGF0Y2gKKyMgRmVkb3JhLXNwZWNpZmljCitQYXRjaDQ6IGVqYWJiZXJkLTAwMDQt SW5zdGFsbC0uc28tb2JqZWN0cy13aXRoLTA3NTUtcGVybWlzc2lvbnMucGF0Y2gKKyMgRmVkb3Jh LXNwZWNpZmljCitQYXRjaDU6IGVqYWJiZXJkLTAwMDUtQ2xlYW4tdXAtZmFsc2Utc2VjdXJpdHkt bWVhc3VyZS5wYXRjaAogIyBwb2xraXQgc3VwcG9ydAotUGF0Y2g5OiBlamFiYmVyZC0wMDA5LUVu YWJsZS1wb2xraXQtc3VwcG9ydC5wYXRjaAotIyBwb2xraXQgc3VwcG9ydAotUGF0Y2gxMDplamFi YmVyZC0wMDEwLUluc3RhbGwtaW50by1CSU5ESVItaW5zdGVhZC1vZi1TQklORElSLnBhdGNoCi0K LUJ1aWxkUm9vdDogICAgICAle190bXBwYXRofS8le25hbWV9LSV7dmVyc2lvbn0tJXtyZWxlYXNl fS1yb290LSUoJXtfX2lkX3V9IC1uKQorUGF0Y2g2OiBlamFiYmVyZC0wMDA2LUVuYWJsZS1wb2xr aXQtc3VwcG9ydC5wYXRjaAorIyBGZWRvcmEtc3BlY2lmaWMKK1BhdGNoNzogZWphYmJlcmQtMDAw Ny1JbnN0YWxsLWludG8tQklORElSLWluc3RlYWQtb2YtU0JJTkRJUi5wYXRjaAorIyBGZWRvcmEt c3BlY2lmaWMKK1BhdGNoODoJZWphYmJlcmQtMDAwOC1EaXNhYmxlLUVybGFuZy12ZXJzaW9uLWNo ZWNrLnBhdGNoCisjIEZlZG9yYS1zcGVjaWZpYworUGF0Y2g5OiBlamFiYmVyZC0wMDA5LUZpeC1w ZXJtaXNzaW9ucy1mb3ItY2FwdGNoYS1zY3JpcHQucGF0Y2gKKyMgRmVkb3JhLXNwZWNpZmljCitQ YXRjaDEwOmVqYWJiZXJkLTAwMTAtRW5hYmxlLXN5c3RlbWQtbm90aWZpY2F0aW9uLWlmLWF2YWls YWJsZS5wYXRjaAogCiBCdWlsZFJlcXVpcmVzOiAgZXhwYXQtZGV2ZWwKIEJ1aWxkUmVxdWlyZXM6 ICBvcGVuc3NsLWRldmVsID49IDAuOS44CiBCdWlsZFJlcXVpcmVzOiAgcGFtLWRldmVsCitCdWls ZFJlcXVpcmVzOiAgbGlieWFtbC1kZXZlbAogQnVpbGRSZXF1aXJlczogIGVybGFuZworQnVpbGRS ZXF1aXJlczogIGVybGFuZy1yZWJhcgorIyBGSVhNRQorI0J1aWxkUmVxdWlyZXM6ICBlcmxhbmct amlmZnkKKyNCdWlsZFJlcXVpcmVzOiAgZXJsYW5nLWxhZ2VyCisjQnVpbGRSZXF1aXJlczogIGVy bGFuZy1pYnJvd3NlCisjQnVpbGRSZXF1aXJlczogIGVybGFuZy14bWxycGMKICVpZiAwJXs/X3dp dGhfaGV2ZWF9CiBCdWlsZFJlcXVpcmVzOiAgaGV2ZWEKLUJ1aWxkUmVxdWlyZXM6ICB0ZXhsaXZl CiBCdWlsZFJlcXVpcmVzOiAgdGV4bGl2ZS1jb21tZW50CiAlZW5kaWYKIEJ1aWxkUmVxdWlyZXM6 CWF1dG9jb25mCkBAIC05MCw2MSArOTIsMjIgQEAgQnVpbGRSZXF1aXJlczoJYXV0b21ha2UKIFJl cXVpcmVzKHByZSk6CQlzaGFkb3ctdXRpbHMKIAogUmVxdWlyZXMocG9zdCk6IC91c3IvYmluL29w ZW5zc2wKLSVpZiAwJXs/ZWw1fSV7P2VsNn0KLVJlcXVpcmVzKHBvc3QpOiAvc2Jpbi9jaGtjb25m aWcKLVJlcXVpcmVzKHByZXVuKTogL3NiaW4vY2hrY29uZmlnCi1SZXF1aXJlcyhwcmV1bik6IC9z YmluL3NlcnZpY2UKLVJlcXVpcmVzKHBvc3R1bik6IC9zYmluL3NlcnZpY2UKLSVlbHNlCiBSZXF1 aXJlcyhwb3N0KTogc3lzdGVtZAogUmVxdWlyZXMocHJldW4pOiBzeXN0ZW1kCiBSZXF1aXJlcyhw b3N0dW4pOiBzeXN0ZW1kCi0lZW5kaWYKIAogUHJvdmlkZXM6IHVzZXIoJXtuYW1lfSkKIFByb3Zp ZGVzOiBncm91cCgle25hbWV9KQogCi0jRXJyb3I6ZXJsYW5nKGV4bXBwX2ppZDpkb21haW5fYXNf bGlzdC8xKQotI0Vycm9yOmVybGFuZyhleG1wcF9qaWQ6bWFrZS8yKQotI0Vycm9yOmVybGFuZyhl eG1wcF9qaWQ6bm9kZV9hc19saXN0LzEpCi0jRXJyb3I6ZXJsYW5nKGV4bXBwX2ppZDpwYXJzZS8x KQotI0Vycm9yOmVybGFuZyhleG1wcF9qaWQ6cHJlcF9kb21haW5fYXNfbGlzdC8xKQotI0Vycm9y OmVybGFuZyhleG1wcF9qaWQ6cHJlcF9ub2RlX2FzX2xpc3QvMSkKLSNFcnJvcjplcmxhbmcoZXht cHBfamlkOnByZXBfcmVzb3VyY2VfYXNfbGlzdC8xKQotI0Vycm9yOmVybGFuZyhleG1wcF9qaWQ6 cmVzb3VyY2VfYXNfbGlzdC8xKQotI0Vycm9yOmVybGFuZyhleG1wcDpzdGFydC8wKQotI0Vycm9y OmVybGFuZyhleG1wcF94bWw6ZG9jdW1lbnRfdG9fbGlzdC8xKQotI0Vycm9yOmVybGFuZyhleG1w cF94bWw6Zm9yZWFjaC8yKQotI0Vycm9yOmVybGFuZyhleG1wcF94bWw6Z2V0X2F0dHJpYnV0ZS8z KQotI0Vycm9yOmVybGFuZyhleG1wcF94bWw6Z2V0X2F0dHJpYnV0ZV9hc19saXN0LzMpCi0jRXJy b3I6ZXJsYW5nKGV4bXBwX3htbDpnZXRfZWxlbWVudC8yKQotI0Vycm9yOmVybGFuZyhleG1wcF94 bWw6Z2V0X2VsZW1lbnRzLzIpCi0jRXJyb3I6ZXJsYW5nKGV4bXBwX3htbDpwYXJzZS8yKQotI0Vy cm9yOmVybGFuZyhleG1wcF94bWw6c3RhcnRfcGFyc2VyLzEpCi0jRXJyb3I6ZXJsYW5nKGV4bXBw X3htbDpzdG9wX3BhcnNlci8xKQotI0Vycm9yOmVybGFuZyhleG1wcF94bWw6eG1sZWxlbWVudF90 b194bWxlbC8xKQotI0Vycm9yOmVybGFuZyhleG1wcF94bWw6eG1sZWxfdG9feG1sZWxlbWVudC8x KQotI0Vycm9yOmVybGFuZyhteXNxbF9jb25uOmZldGNoLzMpCi0jRXJyb3I6ZXJsYW5nKG15c3Fs X2Nvbm46c3RhcnQvNikKLSNFcnJvcjplcmxhbmcobXlzcWxfY29ubjpzdG9wLzEpCi0jRXJyb3I6 ZXJsYW5nKG15c3FsOmdldF9yZXN1bHRfYWZmZWN0ZWRfcm93cy8xKQotI0Vycm9yOmVybGFuZyht eXNxbDpnZXRfcmVzdWx0X2ZpZWxkX2luZm8vMSkKLSNFcnJvcjplcmxhbmcobXlzcWw6Z2V0X3Jl c3VsdF9yZWFzb24vMSkKLSNFcnJvcjplcmxhbmcobXlzcWw6Z2V0X3Jlc3VsdF9yb3dzLzEpCi0j RXJyb3I6ZXJsYW5nKHJlbGVhc2VfaGFuZGxlcl8xOmV2YWxfc2NyaXB0LzMpCi0jRXJyb3I6ZXJs YW5nKHNzbDpzZWVkLzEpCiBSZXF1aXJlczogICAgICAgZXJsYW5nCi0jRXJyb3I6ZXJsYW5nKGVz YXNsOnN0cl9lcnJvci8yKQotUmVxdWlyZXM6ICAgICAgIGVybGFuZy1lc2FzbAotJWlmIDAlez9l bDV9JXs/ZWw2fQotUmVxdWlyZXM6ICAgICAgIHVzZXJtb2RlCi0lZWxzZQorIyBGSVhNRSBzZWUg YWxzbyBwYXRjaCAjMTAKKyNSZXF1aXJlczogICAgICAgZXJsYW5nLXNkX25vdGlmeQogIyBmb3Ig L3Vzci9iaW4vcGtleGVjCiBSZXF1aXJlczogICAgICAgcG9sa2l0Ci0lZW5kaWYKICMgZm9yIGZs b2NrIGluIGVqYWJiZXJkY3RsCiBSZXF1aXJlczoJdXRpbC1saW51eAogJXs/X19lcmxhbmdfZHJ2 X3ZlcnNpb246UmVxdWlyZXM6ICV7X19lcmxhbmdfZHJ2X3ZlcnNpb259fQorJXs/X19lcmxhbmdf bmlmX3ZlcnNpb246UmVxdWlyZXM6ICV7X19lcmxhbmdfbmlmX3ZlcnNpb259fQogCiAKICVkZXNj cmlwdGlvbgpAQCAtMTU1LDEwICsxMTgsOCBAQCBXaW5kb3dzIE5ULzIwMDAvWFApLgogCiAlcGFj a2FnZSBkb2MKIFN1bW1hcnk6IERvY3VtZW50YXRpb24gZm9yIGVqYWJiZXJkCi0laWYgMCV7P2Vs Nn0lez9lbDd9JXs/ZmVkb3JhfQogQnVpbGRBcmNoOiBub2FyY2gKIE9ic29sZXRlczogJXtuYW1l fS1kb2MgPCAyLjEuNAotJWVuZGlmCiAjIGRvY2RpciBvd25lcgogUmVxdWlyZXM6ICV7bmFtZX0g PSAle3ZlcnNpb259LSV7cmVsZWFzZX0KIEdyb3VwOiBEb2N1bWVudGF0aW9uCkBAIC0xNzAsMTAw ICsxMzEsNjcgQEAgRG9jdW1lbnRhdGlvbiBmb3IgZWphYmJlcmQuCiAlc2V0dXAgLXEKIAogJXBh dGNoMSAtcDEgLWIgLnBhbV9uYW1lCi0lcGF0Y2gyIC1wMSAtYiAuczJzX2RlbGF5cwotJXBhdGNo MyAtcDEgLWIgLm1vZF9hZG1pbl9leHRyYQotJXBhdGNoNCAtcDEgLWIgLmZlZG9yYV9zcGVjaWZp YwotJXBhdGNoNSAtcDEgLWIgLmZpeF9wZXJtcwotJXBhdGNoNiAtcDEgLWIgLmdzc2FwaQotJXBh dGNoNyAtcDEgLWIgLmRpc2FibGVfaXBfcmVzdHJpY3Rpb25fZm9yX2VqYWJiZXJkY3RsCi0lcGF0 Y2g4IC1wMSAtYiAuZG9udF9oaWRlCi0laWYgMCV7P2VsN30lez9mZWRvcmF9Ci0lcGF0Y2g5IC1w MSAtYiAudXNlX3BvbGtpdAotJXBhdGNoMTAgLXAxIC1iIC51c3JfYmluCi0lZW5kaWYKKyVwYXRj aDIgLXAxIC1iIC5tb2RfYWRtaW5fZXh0cmEKKyVwYXRjaDMgLXAxIC1iIC5mZWRvcmFfc3BlY2lm aWMKKyVwYXRjaDQgLXAxIC1iIC5zb19saWJfNzU1CislcGF0Y2g1IC1wMSAtYiAuZmFsc2Vfc2Vj dXJpdHkKKyVwYXRjaDYgLXAxIC1iIC51c2VfcG9sa2l0CislcGF0Y2g3IC1wMSAtYiAudXNlX2Jp bmRpcgorJXBhdGNoOCAtcDEgLWIgLm5vX3Zlcl9jaGVjaworJXBhdGNoOSAtcDEgLWIgLmNhcHRj aGFfcGVybXMKKyMlcGF0Y2gxMCAtcDEgLWIgLnN5c3RlbWRfbm90aWZ5CisKK3RhciB4dmYgJXtT OjE0fQogCiAKICVidWlsZAotcHVzaGQgc3JjCiBhdXRvcmVjb25mIC1pdmYKLSVjb25maWd1cmUg LS1lbmFibGUtb2RiYyAtLWVuYWJsZS1wYW0KLSMgZG9lc24ndCBidWlsZCBvbiBTTVAgY3VycmVu dGx5CisKKyMgRGlzYWJsZWQ6ICAtLWVuYWJsZS1oaXBlIC0tZW5hYmxlLXJvc3Rlci1nYXRld2F5 LXdvcmthcm91bmQgLS1lbmFibGUtdHJhbnNpZW50X3N1cGVydmlzb3JzIC0tZW5hYmxlLWZ1bGwt eG1sIC0tZW5hYmxlLW1zc3FsIC0tZW5hYmxlLXRvb2xzIC0tZW5hYmxlLXJpYWsKKyVjb25maWd1 cmUgLS1lbmFibGUtbmlmIC0tZW5hYmxlLW9kYmMgLS1lbmFibGUtbXlzcWwgLS1lbmFibGUtcGdz cWwgLS1lbmFibGUtcGFtIC0tZW5hYmxlLXpsaWIgLS1lbmFibGUtanNvbiAtLWVuYWJsZS1pY29u diAtLWVuYWJsZS1kZWJ1ZyAtLWVuYWJsZS1odHRwIC0tZW5hYmxlLWxhZ2VyCiBtYWtlCi1wb3Bk CiAlaWYgMCV7P193aXRoX2hldmVhfQogcHVzaGQgZG9jCiAjIHJlbW92ZSBwcmUtYnVpbHQgZG9j cwotcm0gLWYgZGV2Lmh0bWwgZmVhdHVyZXMuaHRtbCBmZWF0dXJlcy5wZGYgZ3VpZGUuaHRtbCBn dWlkZS5wZGYKK3JtIC1mIGRldi5odG1sIGZlYXR1cmVzLmh0bWwKKyMgU2VlIHRoaXMgbGluayAt IGh0dHA6Ly90aHJlYWQuZ21hbmUub3JnL2dtYW5lLmxpbnV4LnJlZGhhdC5mZWRvcmEuZGV2ZWwv MTk4OTU0L2ZvY3VzPTE5ODk1NworbWFrZSByZWxlYXNlCiBtYWtlIGh0bWwgcGRmCiBwb3BkCiAl ZW5kaWYKIAogCiAlaW5zdGFsbAotcm0gLXJmICV7YnVpbGRyb290fQotCi1wdXNoZCBzcmMKIG1h a2UgaW5zdGFsbCBERVNURElSPSV7YnVpbGRyb290fQotcG9wZAogCiAjIGZpeCBleGFtcGxlIFNT TCBjZXJ0aWZpY2F0ZSBwYXRoIHRvIHJlYWwgb25lLCB3aGljaCB3ZSBjcmVhdGVkIHJlY2VudGx5 IChzZWUgYWJvdmUpCi0le19fcGVybH0gLXBpIC1lICdzIS9wYXRoL3RvL3NzbC5wZW0hL2V0Yy9l amFiYmVyZC9lamFiYmVyZC5wZW0hZycgJXtidWlsZHJvb3R9L2V0Yy9lamFiYmVyZC9lamFiYmVy ZC5jZmcKKyV7X19wZXJsfSAtcGkgLWUgJ3MhL3BhdGgvdG8vc3NsLnBlbSEvZXRjL2VqYWJiZXJk L2VqYWJiZXJkLnBlbSFnJyAle2J1aWxkcm9vdH0vZXRjL2VqYWJiZXJkL2VqYWJiZXJkLnltbAog CiAjIGZpeCBjYXB0Y2hhIHBhdGgKLSV7X19wZXJsfSAtcGkgLWUgJ3MhL2xpYi9lamFiYmVyZC9w cml2L2Jpbi9jYXB0Y2hhLnNoISV7X2xpYmRpcn0vJXtuYW1lfS9wcml2L2Jpbi9jYXB0Y2hhLnNo IWcnICV7YnVpbGRyb290fS9ldGMvZWphYmJlcmQvZWphYmJlcmQuY2ZnCi0KLW1rZGlyIC1wICV7 YnVpbGRyb290fS92YXIvbG9nL2VqYWJiZXJkCi1ta2RpciAtcCAle2J1aWxkcm9vdH0vdmFyL2xp Yi9lamFiYmVyZC9zcG9vbAorJXtfX3Blcmx9IC1waSAtZSAncyEvbGliL2VqYWJiZXJkL3ByaXYv YmluL2NhcHRjaGEuc2ghJXtfbGliZGlyfS8le25hbWV9L3ByaXYvYmluL2NhcHRjaGEuc2ghZycg JXtidWlsZHJvb3R9L2V0Yy9lamFiYmVyZC9lamFiYmVyZC55bWwKIAogaW5zdGFsbCAtRCAtcCAt bSAwNjQ0ICV7Uzo5fSAle2J1aWxkcm9vdH0le19zeXNjb25mZGlyfS9wYW0uZC9lamFiYmVyZGN0 bAogaW5zdGFsbCAtRCAtcCAtbSAwNjQ0ICV7UzoxMX0gJXtidWlsZHJvb3R9JXtfc3lzY29uZmRp cn0vcGFtLmQvZWphYmJlcmQKLSVpZiAwJXs/ZWw1fQotIyBObyBwYXNzd29yZC1hdXRoIFBBTSBz Y2hlbWUgaW4gRUw1IC0gc2VlIHJoYnogIzc1ODYwMQotc2VkIC1pIC1lICJzLHBhc3N3b3JkLWF1 dGgsc3lzdGVtLWF1dGgsZyIgJXtidWlsZHJvb3R9JXtfc3lzY29uZmRpcn0vcGFtLmQvZWphYmJl cmQKLSVlbmRpZgotCiAKLSVpZiAwJXs/ZWw1fSV7P2VsNn0KLSMgaW5zdGFsbCBpbml0LXNjcmlw dAotaW5zdGFsbCAtRCAtcCAtbSAwNzU1ICV7UzoxfSAle2J1aWxkcm9vdH0le19pbml0cmRkaXJ9 L2VqYWJiZXJkCi0jIGluc3RhbGwgc3lzY29uZmlnIGZpbGUKLWluc3RhbGwgLUQgLXAgLW0gMDY0 NCAgJXtTOjN9ICV7YnVpbGRyb290fSV7X3N5c2NvbmZkaXJ9L3N5c2NvbmZpZy9lamFiYmVyZAot JWVsc2UKICMgaW5zdGFsbCBzeXN0ZW1kIGVudHJ5CiBpbnN0YWxsIC1EIC1tIDA2NDQgLXAgJXtT OjR9ICV7YnVpbGRyb290fSV7X3VuaXRkaXJ9LyV7bmFtZX0uc2VydmljZQogaW5zdGFsbCAtRCAt bSAwNjQ0IC1wICV7Uzo1fSAle2J1aWxkcm9vdH0le190bXBmaWxlc2Rpcn0vJXtuYW1lfS5jb25m Ci0lZW5kaWYKIAogIyBpbnN0YWxsIGNvbmZpZyBmb3IgbG9ncm90YXRlCiBpbnN0YWxsIC1EIC1w IC1tIDA2NDQgICV7UzoyfSAle2J1aWxkcm9vdH0le19zeXNjb25mZGlyfS9sb2dyb3RhdGUuZC9l amFiYmVyZAogCi0jIGNyZWF0ZSByb29tIGZvciBuZWNlc3NhcnkgZGF0YQorIyBjcmVhdGUgcm9v bSBmb3IgYWRkaXRpb25hbCBmaWxlcyAoc3VjaCBhcyBTUUwgc2NoZW1hcykKIGluc3RhbGwgLWQg JXtidWlsZHJvb3R9JXtfZGF0YWRpcn0vJXtuYW1lfQogIyBpbnN0YWxsIHNxbC1zY3JpcHRzIGZv ciBjcmVhdGluZyBkYiBzY2hlbWVzIGZvciB2YXJpb3VzIFJEQk1TCi1pbnN0YWxsIC1wIC1tIDA2 NDQgc3JjL29kYmMvbXNzcWwyMDAwLnNxbCAle2J1aWxkcm9vdH0le19kYXRhZGlyfS8le25hbWV9 Ci1pbnN0YWxsIC1wIC1tIDA2NDQgc3JjL29kYmMvbXNzcWwyMDA1LnNxbCAle2J1aWxkcm9vdH0l e19kYXRhZGlyfS8le25hbWV9Ci1pbnN0YWxsIC1wIC1tIDA2NDQgc3JjL29kYmMvbXlzcWwuc3Fs ICV7YnVpbGRyb290fSV7X2RhdGFkaXJ9LyV7bmFtZX0KLWluc3RhbGwgLXAgLW0gMDY0NCBzcmMv b2RiYy9wZy5zcWwgJXtidWlsZHJvb3R9JXtfZGF0YWRpcn0vJXtuYW1lfQotCi0jIEZpeCBwZXJt aXNzaW9ucyBmb3IgY2FwdGNoYSBzY3JpcHQKLSMgSW4gZmFjdCwgd2UgY2FuIGFsc28gY2hvd24g cm9vdDplamFiYmVyZCBoZXJlLCBidXQgSSdtIG5vdCBzdXJlCi0jIHRoYXQgd2Ugc2hvdWxkIGNh cmUgYWJvdXQgdGhlIHBvc3NpYmlsaXR5IG9mIHJlYWRpbmcgYnkgc29tZW9uZQotIyBmb3IgdGhp cyAqZGVmYXVsdCogc3JpcHQsIHdoaWNoIGlzIG5vdCBpbnRlbmRlZCB0byBiZSBjaGFuZ2VkCi1j aG1vZCA3NTUgJXtidWlsZHJvb3R9JXtfbGliZGlyfS8le25hbWV9L3ByaXYvYmluL2NhcHRjaGEu c2gKLQotJWlmIDAlez9lbDV9JXs/ZWw2fQotIyBVc2UgdXNlcm1vZGUgb24gb2xkIHN5c3RlbXMK LW1rZGlyIC1wICV7YnVpbGRyb290fSV7X2JpbmRpcn0KLWxuIC1zIGNvbnNvbGVoZWxwZXIgJXti dWlsZHJvb3R9JXtfYmluZGlyfS9lamFiYmVyZGN0bAotaW5zdGFsbCAtRCAtcCAtbSAwNjQ0ICV7 UzoxMH0gJXtidWlsZHJvb3R9JXtfc3lzY29uZmRpcn0vc2VjdXJpdHkvY29uc29sZS5hcHBzL2Vq YWJiZXJkY3RsCi0lZWxzZQotIyBVc2UgcG9sa2l0CitpbnN0YWxsIC1wIC1tIDA2NDQgc3FsL21z c3FsMjAwMC5zcWwgJXtidWlsZHJvb3R9JXtfZGF0YWRpcn0vJXtuYW1lfQoraW5zdGFsbCAtcCAt bSAwNjQ0IHNxbC9tc3NxbDIwMDUuc3FsICV7YnVpbGRyb290fSV7X2RhdGFkaXJ9LyV7bmFtZX0K K2luc3RhbGwgLXAgLW0gMDY0NCBzcWwvbXNzcWwyMDEyLnNxbCAle2J1aWxkcm9vdH0le19kYXRh ZGlyfS8le25hbWV9CitpbnN0YWxsIC1wIC1tIDA2NDQgc3FsL215c3FsLnNxbCAle2J1aWxkcm9v dH0le19kYXRhZGlyfS8le25hbWV9CitpbnN0YWxsIC1wIC1tIDA2NDQgc3FsL3BnLnNxbCAle2J1 aWxkcm9vdH0le19kYXRhZGlyfS8le25hbWV9CisKKyMgSW5zdGFsbCBwb2xraXQtcmVsYXRlZCBm aWxlcwogaW5zdGFsbCAtRCAtcCAtbSAwNjQ0ICV7UzoxMn0gJXtidWlsZHJvb3R9JXtfZGF0YWRp cn0vcG9sa2l0LTEvYWN0aW9ucy9lamFiYmVyZGN0bC5wb2xpY3kKIGluc3RhbGwgLUQgLXAgLW0g MDY0NCAle1M6MTN9ICV7YnVpbGRyb290fSV7X2RhdGFkaXJ9L3BvbGtpdC0xL3J1bGVzLmQvNTEt ZWphYmJlcmRjdGwucnVsZXMKLSVlbmRpZgotCi0jIFJlbW92ZSBpbnN0YWxsZWQgZG9jLWZpbGVz Ci1ybSAtcmYgJXtidWlsZHJvb3R9JXtfZGVmYXVsdGRvY2Rpcn0KIAogCiAlcHJlCkBAIC0yOTMs MjUgKzIyMSwxOCBAQCBpZiBbICQxIC1ndCAxIF07IHRoZW4KIAogCSMgZml4IGNvb2tpZSBwYXRo IChzaW5jZSB2ZXIuIDIuMS4wIGNvb2tpZSBzdG9yZWQgaW4gL3Zhci9saWIvZWphYmJlcmQvc3Bv b2wKIAkjIHJhdGhlciB0aGFuIGluIC92YXIvbGliL2VqYWJiZXJkCi0JaWYgWyAtZiAvdmFyL2xp Yi9lamFiYmVyZC8uZXJsYW5nLmNvb2tpZSBdOyB0aGVuCi0JCWNwIC1wdSAvdmFyL2xpYi9lamFi YmVyZC97LHNwb29sL30uZXJsYW5nLmNvb2tpZQorCWlmIFsgLWYgL3Zhci9saWIvZWphYmJlcmQv c3Bvb2wvLmVybGFuZy5jb29raWUgXTsgdGhlbgorCQljcCAtcHUgL3Zhci9saWIvZWphYmJlcmQv e3Nwb29sLyx9LmVybGFuZy5jb29raWUKIAkJZWNobwotCQllY2hvIFRoZSBlamFiYmVyZCBjb29r aWUgZmlsZSB3YXMgbW92ZWQuCi0JCWVjaG8gUGxlYXNlIGRlbGV0ZSBvbGQgb25lIGZyb20gL3Zh ci9saWIvZWphYmJlcmQvLmVybGFuZy5jb29raWUKKwkJZWNobyBUaGUgZWphYmJlcmQgY29va2ll IGZpbGUgd2FzIG1vdmVkIGFnYWluLgorCQllY2hvIFBsZWFzZSBkZWxldGUgb2xkIG9uZSBmcm9t IC92YXIvbGliL2VqYWJiZXJkL3Nwb29sLy5lcmxhbmcuY29va2llCiAJCWVjaG8KIAlmaQogZmkK IAogCiAlcG9zdAotJWlmIDAlez9lbDV9JXs/ZWw2fQotaWYgWyAkMSAtZXEgMSBdOyB0aGVuCi0J IyBJbml0aWFsIGluc3RhbGxhdGlvbgotCS9zYmluL2Noa2NvbmZpZyAtLWFkZCAle25hbWV9IHx8 IDoKLWZpCi0lZWxzZQogJXN5c3RlbWRfcG9zdCAle25hbWV9LnNlcnZpY2UKLSVlbmRpZgogCiAj IENyZWF0ZSBTU0wgY2VydGlmaWNhdGUgd2l0aCBkZWZhdWx0IHZhbHVlcyBpZiBpdCBkb2Vzbid0 IGV4aXN0CiAoY2QgL2V0Yy9lamFiYmVyZApAQCAtMzM2LDExMSArMjU3LDU2IEBAIGZpKQogCiAK ICVwcmV1bgotJWlmIDAlez9lbDV9JXs/ZWw2fQotaWYgWyAkMSAtZXEgMCBdOyB0aGVuCi0JIyBQ YWNrYWdlIHJlbW92YWwsIG5vdCB1cGdyYWRlCi0gICAgICAgIC9zYmluL3NlcnZpY2UgJXtuYW1l fSBzdG9wID4vZGV2L251bGwgMj4mMSB8fCA6Ci0gICAgICAgIC9zYmluL2Noa2NvbmZpZyAtLWRl bCAle25hbWV9IHx8IDoKLWZpCi0lZWxzZQogJXN5c3RlbWRfcHJldW4gJXtuYW1lfS5zZXJ2aWNl Ci0lZW5kaWYKIAogCiAlcG9zdHVuCi0laWYgMCV7P2VsNX0lez9lbDZ9Ci1pZiBbICQxIC1nZSAx IF07IHRoZW4KLQkjIFBhY2thZ2UgdXBncmFkZSwgbm90IHVuaW5zdGFsbAotCS9zYmluL3NlcnZp Y2UgJXtuYW1lfSBjb25kcmVzdGFydCA+L2Rldi9udWxsIDI+JjEKLWZpCi0lZWxzZQogJXN5c3Rl bWRfcG9zdHVuX3dpdGhfcmVzdGFydCAle25hbWV9LnNlcnZpY2UKLSVlbmRpZgotCi0KLSVjbGVh bgotcm0gLXJmICV7YnVpbGRyb290fQogCiAKICVmaWxlcwogJWRvYyBDT1BZSU5HCiAKICVhdHRy KDc1MCxlamFiYmVyZCxlamFiYmVyZCkgJWRpciAle19zeXNjb25mZGlyfS9lamFiYmVyZAotJWF0 dHIoNjQwLGVqYWJiZXJkLGVqYWJiZXJkKSAlY29uZmlnKG5vcmVwbGFjZSkgJXtfc3lzY29uZmRp cn0vZWphYmJlcmQvZWphYmJlcmQuY2ZnCislYXR0cig2NDAsZWphYmJlcmQsZWphYmJlcmQpICVj b25maWcobm9yZXBsYWNlKSAle19zeXNjb25mZGlyfS9lamFiYmVyZC9lamFiYmVyZC55bWwKICVh dHRyKDY0MCxlamFiYmVyZCxlamFiYmVyZCkgJWNvbmZpZyhub3JlcGxhY2UpICV7X3N5c2NvbmZk aXJ9L2VqYWJiZXJkL2VqYWJiZXJkY3RsLmNmZwogJWF0dHIoNjQwLGVqYWJiZXJkLGVqYWJiZXJk KSAlY29uZmlnKG5vcmVwbGFjZSkgJXtfc3lzY29uZmRpcn0vZWphYmJlcmQvaW5ldHJjCiAKLSVp ZiAwJXs/ZWw1fSV7P2VsNn0KLSVjb25maWcobm9yZXBsYWNlKSAle19zeXNjb25mZGlyfS9zeXNj b25maWcvJXtuYW1lfQotJXtfaW5pdHJkZGlyfS8le25hbWV9Ci0lZWxzZQogJXtfdW5pdGRpcn0v JXtuYW1lfS5zZXJ2aWNlCiAle190bXBmaWxlc2Rpcn0vJXtuYW1lfS5jb25mCi0lZW5kaWYKIAog JWNvbmZpZyhub3JlcGxhY2UpICV7X3N5c2NvbmZkaXJ9L2xvZ3JvdGF0ZS5kLyV7bmFtZX0KICVj b25maWcobm9yZXBsYWNlKSAle19zeXNjb25mZGlyfS9wYW0uZC8le25hbWV9CiAlY29uZmlnKG5v cmVwbGFjZSkgJXtfc3lzY29uZmRpcn0vcGFtLmQvZWphYmJlcmRjdGwKLSVpZiAwJXs/ZWw1fSV7 P2VsNn0KLSV7X3NiaW5kaXJ9L2VqYWJiZXJkY3RsCi0lY29uZmlnKG5vcmVwbGFjZSkgJXtfc3lz Y29uZmRpcn0vc2VjdXJpdHkvY29uc29sZS5hcHBzL2VqYWJiZXJkY3RsCi0lZWxzZQogJXtfZGF0 YWRpcn0vcG9sa2l0LTEvYWN0aW9ucy9lamFiYmVyZGN0bC5wb2xpY3kKICV7X2RhdGFkaXJ9L3Bv bGtpdC0xL3J1bGVzLmQvNTEtZWphYmJlcmRjdGwucnVsZXMKLSVlbmRpZgogJXtfYmluZGlyfS9l amFiYmVyZGN0bAogCiAlZGlyICV7X2xpYmRpcn0vJXtuYW1lfQogJWRpciAle19saWJkaXJ9LyV7 bmFtZX0vZWJpbgogJWRpciAle19saWJkaXJ9LyV7bmFtZX0vaW5jbHVkZQotJWRpciAle19saWJk aXJ9LyV7bmFtZX0vaW5jbHVkZS9lbGRhcAotJWRpciAle19saWJkaXJ9LyV7bmFtZX0vaW5jbHVk ZS9tb2RfbXVjCi0lZGlyICV7X2xpYmRpcn0vJXtuYW1lfS9pbmNsdWRlL21vZF9wcm94eTY1Ci0l ZGlyICV7X2xpYmRpcn0vJXtuYW1lfS9pbmNsdWRlL21vZF9wdWJzdWIKLSVkaXIgJXtfbGliZGly fS8le25hbWV9L2luY2x1ZGUvd2ViCiAlZGlyICV7X2xpYmRpcn0vJXtuYW1lfS9wcml2CiAlZGly ICV7X2xpYmRpcn0vJXtuYW1lfS9wcml2L2JpbgogJWRpciAle19saWJkaXJ9LyV7bmFtZX0vcHJp di9saWIKICVkaXIgJXtfbGliZGlyfS8le25hbWV9L3ByaXYvbXNncwogCi0le19saWJkaXJ9LyV7 bmFtZX0vZWJpbi8le25hbWV9LmFwcAorJXtfbGliZGlyfS8le25hbWV9L2ViaW4vKi5hcHAKICV7 X2xpYmRpcn0vJXtuYW1lfS9lYmluLyouYmVhbQotJXtfbGliZGlyfS8le25hbWV9L2luY2x1ZGUv WG1wcEFkZHIuaHJsCi0le19saWJkaXJ9LyV7bmFtZX0vaW5jbHVkZS9hZGhvYy5ocmwKLSV7X2xp YmRpcn0vJXtuYW1lfS9pbmNsdWRlL2N5cnNhc2wuaHJsCi0le19saWJkaXJ9LyV7bmFtZX0vaW5j bHVkZS9lamFiYmVyZC5ocmwKLSV7X2xpYmRpcn0vJXtuYW1lfS9pbmNsdWRlL2VqYWJiZXJkX2Nv bW1hbmRzLmhybAotJXtfbGliZGlyfS8le25hbWV9L2luY2x1ZGUvZWphYmJlcmRfY29uZmlnLmhy bAotJXtfbGliZGlyfS8le25hbWV9L2luY2x1ZGUvZWphYmJlcmRfY3RsLmhybAotJXtfbGliZGly fS8le25hbWV9L2luY2x1ZGUvZWxkYXAvRUxEQVB2My5ocmwKLSV7X2xpYmRpcn0vJXtuYW1lfS9p bmNsdWRlL2VsZGFwL2VsZGFwLmhybAotJXtfbGliZGlyfS8le25hbWV9L2luY2x1ZGUvamxpYi5o cmwKLSV7X2xpYmRpcn0vJXtuYW1lfS9pbmNsdWRlL21vZF9tdWMvbW9kX211Y19yb29tLmhybAot JXtfbGliZGlyfS8le25hbWV9L2luY2x1ZGUvbW9kX3ByaXZhY3kuaHJsCi0le19saWJkaXJ9LyV7 bmFtZX0vaW5jbHVkZS9tb2RfcHJveHk2NS9tb2RfcHJveHk2NS5ocmwKLSV7X2xpYmRpcn0vJXtu YW1lfS9pbmNsdWRlL21vZF9wdWJzdWIvcHVic3ViLmhybAotJXtfbGliZGlyfS8le25hbWV9L2lu Y2x1ZGUvbW9kX3Jvc3Rlci5ocmwKLSV7X2xpYmRpcn0vJXtuYW1lfS9pbmNsdWRlL3dlYi9lamFi YmVyZF9odHRwLmhybAotJXtfbGliZGlyfS8le25hbWV9L2luY2x1ZGUvd2ViL2VqYWJiZXJkX3dl Yl9hZG1pbi5ocmwKLSV7X2xpYmRpcn0vJXtuYW1lfS9pbmNsdWRlL3dlYi9odHRwX2JpbmQuaHJs Cisle19saWJkaXJ9LyV7bmFtZX0vaW5jbHVkZS8qLmhybAogJXtfbGliZGlyfS8le25hbWV9L3By aXYvYmluL2NhcHRjaGEuc2gKICVhdHRyKDQ3NTAscm9vdCxlamFiYmVyZCkgJXtfbGliZGlyfS8l e25hbWV9L3ByaXYvYmluL2VwYW0KLSV7X2xpYmRpcn0vJXtuYW1lfS9wcml2L2xpYi9lamFiYmVy ZF96bGliX2Rydi5zbwotJXtfbGliZGlyfS8le25hbWV9L3ByaXYvbGliL2V4cGF0X2VybC5zbwot JXtfbGliZGlyfS8le25hbWV9L3ByaXYvbGliL2ljb252X2VybC5zbwotJXtfbGliZGlyfS8le25h bWV9L3ByaXYvbGliL3NoYV9kcnYuc28KLSV7X2xpYmRpcn0vJXtuYW1lfS9wcml2L2xpYi9zdHJp bmdwcmVwX2Rydi5zbwotJXtfbGliZGlyfS8le25hbWV9L3ByaXYvbGliL3Rsc19kcnYuc28KKyV7 X2xpYmRpcn0vJXtuYW1lfS9wcml2L2xpYi8qLnNvCisKICV7X2xpYmRpcn0vJXtuYW1lfS9wcml2 L21zZ3MvKi5tc2cKIAogJWRpciAle19kYXRhZGlyfS8le25hbWV9CiAle19kYXRhZGlyfS8le25h bWV9L21zc3FsMjAwMC5zcWwKICV7X2RhdGFkaXJ9LyV7bmFtZX0vbXNzcWwyMDA1LnNxbAorJXtf ZGF0YWRpcn0vJXtuYW1lfS9tc3NxbDIwMTIuc3FsCiAle19kYXRhZGlyfS8le25hbWV9L215c3Fs LnNxbAogJXtfZGF0YWRpcn0vJXtuYW1lfS9wZy5zcWwKIAogJWF0dHIoNzUwLGVqYWJiZXJkLGVq YWJiZXJkKSAlZGlyIC92YXIvbGliL2VqYWJiZXJkCi0lYXR0cig3NTAsZWphYmJlcmQsZWphYmJl cmQpICVkaXIgL3Zhci9saWIvZWphYmJlcmQvc3Bvb2wKICVhdHRyKDc1MCxlamFiYmVyZCxlamFi YmVyZCkgJWRpciAvdmFyL2xvY2svZWphYmJlcmRjdGwKICVhdHRyKDc1MCxlamFiYmVyZCxlamFi YmVyZCkgJWRpciAvdmFyL2xvZy9lamFiYmVyZAogCkBAIC00NTQsNiArMzIwLDE0IEBAIHJtIC1y ZiAle2J1aWxkcm9vdH0KIAogCiAlY2hhbmdlbG9nCisqIFNhdCBBdWcgMzAgMjAxNCBQZXRlciBM ZW1lbmtvdiA8bGVtZW5rb3ZAZ21haWwuY29tPiAtIDE0LjA3LTEKKy0gVmVyLiAxNC4wNworLSBE cm9wcGVkIHN1cHBvcnQgZm9yIEVQRUw1LCBFUEVMNgorLSBEcm9wcGVkIGluaXRpYWwgdW50ZXN0 ZWQgc3VwcG9ydCBmb3IgR1NTQVBJIC0gbm9ib2R5IGlzIGludGVyZXN0ZWQgaW4gdGVzdGluZwor ICBhbmQgZnVydGhlciBkZXZlbG9waW5nIHRoaXMKKy0gRml4ZWQgaHR0cHM6Ly9idWd6aWxsYS5y ZWRoYXQuY29tLzEwODk0NzUKKy0gRml4ZWQgaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tLzEx MTc0NTAKKwogKiBUaHUgQXVnIDI4IDIwMTQgUGV0ZXIgTGVtZW5rb3YgPGxlbWVua292QGdtYWls LmNvbT4gLSAyLjEuMTMtMTAKIC0gUmVidWlsZCB3aXRoIEVybGFuZyAxNy4yLjEKIAoKZGlmZiAt LWdpdCBhL2VqYWJiZXJkLnN5c2NvbmZpZyBiL2VqYWJiZXJkLnN5c2NvbmZpZwpkZWxldGVkIGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMjBhOGE3YS4uMDAwMDAwMAotLS0gYS9lamFiYmVyZC5zeXNj b25maWcKKysrIC9kZXYvbnVsbApAQCAtMSwxMyArMCwwIEBACi0jIyBTZXR0aW5ncyBmb3IgZWph YmJlcmQKLQotIyMgV2hlcmUgc2hvdWxkIGVqYWJiZXJkIGZpbmQgaXRzIGNvbmZpZ3VyYXRpb24g ZmlsZT8KLSMKLUNPTkZJR19GSUxFPS9ldGMvZWphYmJlcmQvZWphYmJlcmQuY2ZnCi0KLSMjIFVM SU1JVF9NQVhfRklMRVMgYWx0ZXJzIHRoZSBudW1iZXIgb2YgZmlsZXMgdGhhdCBlamFiYmVyZCBp cwotIyMgYWxsb3dlZCB0byBoYXZlIG9wZW4gYXQgb25jZS4gIElmIGl0IGlzIHVuc2V0IHRoZSBz eXN0ZW0gZGVmYXVsdAotIyMgKHVzdWFsbHkgMTAyNCkgd2lsbCBiZSB1c2VkLiAgZWphYmJlcmQg d2lsbCB3YW50IG92ZXIgdHdpY2UgYXMgbWFueQotIyMgb3BlbiBmaWxlcyBhcyBpdCBoYXMgYWN0 aXZlIGNvbm5lY3Rpb25zLCBzbyBpZiB5b3UgaGF2ZSBhIGZldwotIyMgaHVuZHJlZCBvciBtb3Jl IHVzZXJzIHlvdSB3aWxsIHdhbnQgdG8gc2V0IHRoaXMuCi0jCi1VTElNSVRfTUFYX0ZJTEVTPTEw MjQKCmRpZmYgLS1naXQgYS9lamFiYmVyZGN0bC5hcHBzIGIvZWphYmJlcmRjdGwuYXBwcwpkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzBlYWIyYy4uMDAwMDAwMAotLS0gYS9lamFiYmVy ZGN0bC5hcHBzCisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi1VU0VSPXJvb3QKLVBST0dS QU09L3Vzci9zYmluL2VqYWJiZXJkY3RsCi1TRVNTSU9OPXllcwotRkFMTEJBQ0s9bm8KLUdVST1u bwoKZGlmZiAtLWdpdCBhL3NvdXJjZXMgYi9zb3VyY2VzCmluZGV4IDRjMTBiOGQuLmIxNzI4ZTYg MTAwNjQ0Ci0tLSBhL3NvdXJjZXMKKysrIGIvc291cmNlcwpAQCAtMSArMSwyIEBACi0yYTdjM2I3 MTFiNGY3MDkxZjgxMWM1MWI1MmJlYjczNSAgZWphYmJlcmQtdjIuMS4xMy50YXIuZ3oKK2EyNmI4 YWNmYzhmZDE1ZDk0ODc0YmVmYTA2ZGExNWJlICBlamFiYmVyZC0xNC4wNy50YXIuZ3oKKzAzNjIw MjRkNzNiMmM4ZWUzODI0NmJlNWExNjg4NjliICBlamFiYmVyZC1zcmMtZGVwcy50YXIK