From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alistair Francis Subject: [PATCH v2 1/2] autotools: Updage config.guess and config.sub Date: Fri, 17 May 2019 15:31:51 -0700 Message-ID: <20190517223152.29839-1-alistair.francis@wdc.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hRlQL-0000Ya-3P for xen-devel@lists.xenproject.org; Fri, 17 May 2019 22:33:57 +0000 List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: sstabellini@kernel.org, wei.liu2@citrix.com, konrad.wilk@oracle.com, George.Dunlap@eu.citrix.com, andrew.cooper3@citrix.com, ian.jackson@eu.citrix.com, tim@xen.org, julien.grall@arm.com, Alistair Francis , jbeulich@suse.com, alistair23@gmail.com List-Id: xen-devel@lists.xenproject.org VGhlIGF1dG9jb25mIG1hbnVhbCBbMV0gc3BlY2lmaWVzIHRoYXQgYXMgd2UgZGVmaW5lIEFDX0NB Tk9OSUNBTF9IT1NUIHdlCm11c3Qgc3VwcGx5IGNvbmZpZy5ndWVzcyBhbmQgY29uZmlnLnN1Yi4g SW4gd2hpY2ggY2FzZSBsZXQncyB1cGRhdGUgdGhlbQpmcm9tIFsyXSBjb21taXQ6IGI5ODQyNGMy NCAiY29uZmlnLmd1ZXNzOiBSZW1vdmUgc3BhY2UgYWZ0ZXIgIiNlbmRpZiIsIGFzCkdudWxpYiBh bmQgc29tZSIKClRoaXMgYWxsb3dzIHVzIHRvIHN1cHBvcnQgbW9yZSBhY2hpdGVjdHVyZXMgKFJJ U0MtVikgYW5kIG90aGVyIGdlbmVyYWwKaW1wcm92ZW1lbnRzLgoKMTogaHR0cHM6Ly93d3cuZ251 Lm9yZy9zb2Z0d2FyZS9hdXRvY29uZi9tYW51YWwvYXV0b2NvbmYuaHRtbCNDYW5vbmljYWxpemlu ZwoyOiBodHRwczovL2dpdC5zYXZhbm5haC5nbnUub3JnL2NnaXQvY29uZmlnLmdpdC8KClNpZ25l ZC1vZmYtYnk6IEFsaXN0YWlyIEZyYW5jaXMgPGFsaXN0YWlyLmZyYW5jaXNAd2RjLmNvbT4KLS0t CiBjb25maWcuZ3Vlc3MgfCAxMDE0ICsrKysrKysrKysrLS0tLS0tLS0tCiBjb25maWcuc3ViICAg fCAyNTIyICsrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CiAyIGZpbGVzIGNoYW5nZWQsIDE4NDAgaW5zZXJ0aW9ucygrKSwgMTY5NiBkZWxldGlvbnMoLSkK IG1vZGUgY2hhbmdlIDEwMDc1NSA9PiAxMDA2NDQgY29uZmlnLmd1ZXNzCiBtb2RlIGNoYW5nZSAx MDA3NTUgPT4gMTAwNjQ0IGNvbmZpZy5zdWIKCmRpZmYgLS1naXQgYS9jb25maWcuZ3Vlc3MgYi9j b25maWcuZ3Vlc3MKb2xkIG1vZGUgMTAwNzU1Cm5ldyBtb2RlIDEwMDY0NAppbmRleCBkNjIyYTQ0 ZTU1Li40Y2Q5NDU0YjM1Ci0tLSBhL2NvbmZpZy5ndWVzcworKysgYi9jb25maWcuZ3Vlc3MKQEAg LTEsMTQgKzEsMTIgQEAKICMhIC9iaW4vc2gKICMgQXR0ZW1wdCB0byBndWVzcyBhIGNhbm9uaWNh bCBzeXN0ZW0gbmFtZS4KLSMgICBDb3B5cmlnaHQgKEMpIDE5OTIsIDE5OTMsIDE5OTQsIDE5OTUs IDE5OTYsIDE5OTcsIDE5OTgsIDE5OTksCi0jICAgMjAwMCwgMjAwMSwgMjAwMiwgMjAwMywgMjAw NCwgMjAwNSwgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSwgMjAxMCwKLSMgICAyMDExLCAyMDEyIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIyAgIENvcHlyaWdodCAxOTkyLTIwMTkgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAKLXRpbWVzdGFtcD0nMjAxMi0wMi0xMCcKK3Rp bWVzdGFtcD0nMjAxOS0wNC0yOCcKIAogIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91 IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAogIyB1bmRlciB0aGUgdGVybXMg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotIyB0aGUg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNl LCBvcgorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9m IHRoZSBMaWNlbnNlLCBvcgogIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgog IwogIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs IGJlIHVzZWZ1bCwgYnV0CkBAIC0xNywyNCArMTUsMjIgQEAgdGltZXN0YW1wPScyMDEyLTAyLTEw JwogIyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAjCiAjIFlvdSBz aG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlCi0jIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHNlZSA8aHR0cDovL3d3dy5n bnUub3JnL2xpY2Vuc2VzLz4uCisjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHNl ZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgogIwogIyBBcyBhIHNwZWNpYWwgZXhj ZXB0aW9uIHRvIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwgaWYgeW91CiAjIGRpc3Ry aWJ1dGUgdGhpcyBmaWxlIGFzIHBhcnQgb2YgYSBwcm9ncmFtIHRoYXQgY29udGFpbnMgYQogIyBj b25maWd1cmF0aW9uIHNjcmlwdCBnZW5lcmF0ZWQgYnkgQXV0b2NvbmYsIHlvdSBtYXkgaW5jbHVk ZSBpdCB1bmRlcgotIyB0aGUgc2FtZSBkaXN0cmlidXRpb24gdGVybXMgdGhhdCB5b3UgdXNlIGZv ciB0aGUgcmVzdCBvZiB0aGF0IHByb2dyYW0uCi0KLQotIyBPcmlnaW5hbGx5IHdyaXR0ZW4gYnkg UGVyIEJvdGhuZXIuICBQbGVhc2Ugc2VuZCBwYXRjaGVzIChjb250ZXh0Ci0jIGRpZmYgZm9ybWF0 KSB0byA8Y29uZmlnLXBhdGNoZXNAZ251Lm9yZz4gYW5kIGluY2x1ZGUgYSBDaGFuZ2VMb2cKLSMg ZW50cnkuCisjIHRoZSBzYW1lIGRpc3RyaWJ1dGlvbiB0ZXJtcyB0aGF0IHlvdSB1c2UgZm9yIHRo ZSByZXN0IG9mIHRoYXQKKyMgcHJvZ3JhbS4gIFRoaXMgRXhjZXB0aW9uIGlzIGFuIGFkZGl0aW9u YWwgcGVybWlzc2lvbiB1bmRlciBzZWN0aW9uIDcKKyMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlLCB2ZXJzaW9uIDMgKCJHUEx2MyIpLgogIwotIyBUaGlzIHNjcmlwdCBhdHRlbXB0 cyB0byBndWVzcyBhIGNhbm9uaWNhbCBzeXN0ZW0gbmFtZSBzaW1pbGFyIHRvCi0jIGNvbmZpZy5z dWIuICBJZiBpdCBzdWNjZWVkcywgaXQgcHJpbnRzIHRoZSBzeXN0ZW0gbmFtZSBvbiBzdGRvdXQs IGFuZAotIyBleGl0cyB3aXRoIDAuICBPdGhlcndpc2UsIGl0IGV4aXRzIHdpdGggMS4KKyMgT3Jp Z2luYWxseSB3cml0dGVuIGJ5IFBlciBCb3RobmVyOyBtYWludGFpbmVkIHNpbmNlIDIwMDAgYnkg QmVuIEVsbGlzdG9uLgogIwogIyBZb3UgY2FuIGdldCB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhp cyBzY3JpcHQgZnJvbToKLSMgaHR0cDovL2dpdC5zYXZhbm5haC5nbnUub3JnL2dpdHdlYi8/cD1j b25maWcuZ2l0O2E9YmxvYl9wbGFpbjtmPWNvbmZpZy5ndWVzcztoYj1IRUFECisjIGh0dHBzOi8v Z2l0LnNhdmFubmFoLmdudS5vcmcvZ2l0d2ViLz9wPWNvbmZpZy5naXQ7YT1ibG9iX3BsYWluO2Y9 Y29uZmlnLmd1ZXNzCisjCisjIFBsZWFzZSBzZW5kIHBhdGNoZXMgdG8gPGNvbmZpZy1wYXRjaGVz QGdudS5vcmc+LgorCiAKIG1lPWBlY2hvICIkMCIgfCBzZWQgLWUgJ3MsLiovLCwnYAogCkBAIC00 Myw3ICszOSw3IEBAIFVzYWdlOiAkMCBbT1BUSU9OXQogCiBPdXRwdXQgdGhlIGNvbmZpZ3VyYXRp b24gbmFtZSBvZiB0aGUgc3lzdGVtIFxgJG1lJyBpcyBydW4gb24uCiAKLU9wZXJhdGlvbiBtb2Rl czoKK09wdGlvbnM6CiAgIC1oLCAtLWhlbHAgICAgICAgICBwcmludCB0aGlzIGhlbHAsIHRoZW4g ZXhpdAogICAtdCwgLS10aW1lLXN0YW1wICAgcHJpbnQgZGF0ZSBvZiBsYXN0IG1vZGlmaWNhdGlv biwgdGhlbiBleGl0CiAgIC12LCAtLXZlcnNpb24gICAgICBwcmludCB2ZXJzaW9uIG51bWJlciwg dGhlbiBleGl0CkBAIC01NCw5ICs1MCw3IEBAIHZlcnNpb249IlwKIEdOVSBjb25maWcuZ3Vlc3Mg KCR0aW1lc3RhbXApCiAKIE9yaWdpbmFsbHkgd3JpdHRlbiBieSBQZXIgQm90aG5lci4KLUNvcHly aWdodCAoQykgMTk5MiwgMTk5MywgMTk5NCwgMTk5NSwgMTk5NiwgMTk5NywgMTk5OCwgMTk5OSwg MjAwMCwKLTIwMDEsIDIwMDIsIDIwMDMsIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDgsIDIw MDksIDIwMTAsIDIwMTEsIDIwMTIKLUZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorQ29w eXJpZ2h0IDE5OTItMjAxOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIAogVGhpcyBp cyBmcmVlIHNvZnR3YXJlOyBzZWUgdGhlIHNvdXJjZSBmb3IgY29weWluZyBjb25kaXRpb25zLiAg VGhlcmUgaXMgTk8KIHdhcnJhbnR5OyBub3QgZXZlbiBmb3IgTUVSQ0hBTlRBQklMSVRZIG9yIEZJ VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiIKQEAgLTkwLDggKzg0LDYgQEAgaWYgdGVz dCAkIyAhPSAwOyB0aGVuCiAgIGV4aXQgMQogZmkKIAotdHJhcCAnZXhpdCAxJyAxIDIgMTUKLQog IyBDQ19GT1JfQlVJTEQgLS0gY29tcGlsZXIgdXNlZCBieSB0aGlzIHNjcmlwdC4gTm90ZSB0aGF0 IHRoZSB1c2Ugb2YgYQogIyBjb21waWxlciB0byBhaWQgaW4gc3lzdGVtIGRldGVjdGlvbiBpcyBk aXNjb3VyYWdlZCBhcyBpdCByZXF1aXJlcwogIyB0ZW1wb3JhcnkgZmlsZXMgdG8gYmUgY3JlYXRl ZCBhbmQsIGFzIHlvdSBjYW4gc2VlIGJlbG93LCBpdCBpcyBhCkBAIC0xMDIsMzQgKzk0LDM4IEBA IHRyYXAgJ2V4aXQgMScgMSAyIDE1CiAKICMgUG9ydGFibGUgdG1wIGRpcmVjdG9yeSBjcmVhdGlv biBpbnNwaXJlZCBieSB0aGUgQXV0b2NvbmYgdGVhbS4KIAotc2V0X2NjX2Zvcl9idWlsZD0nCi10 cmFwICJleGl0Y29kZT1cJD87IChybSAtZiBcJHRtcGZpbGVzIDI+L2Rldi9udWxsOyBybWRpciBc JHRtcCAyPi9kZXYvbnVsbCkgJiYgZXhpdCBcJGV4aXRjb2RlIiAwIDsKLXRyYXAgInJtIC1mIFwk dG1wZmlsZXMgMj4vZGV2L251bGw7IHJtZGlyIFwkdG1wIDI+L2Rldi9udWxsOyBleGl0IDEiIDEg MiAxMyAxNSA7Ci06ICR7VE1QRElSPS90bXB9IDsKLSB7IHRtcD1gKHVtYXNrIDA3NyAmJiBta3Rl bXAgLWQgIiRUTVBESVIvY2dYWFhYWFgiKSAyPi9kZXYvbnVsbGAgJiYgdGVzdCAtbiAiJHRtcCIg JiYgdGVzdCAtZCAiJHRtcCIgOyB9IHx8Ci0geyB0ZXN0IC1uICIkUkFORE9NIiAmJiB0bXA9JFRN UERJUi9jZyQkLSRSQU5ET00gJiYgKHVtYXNrIDA3NyAmJiBta2RpciAkdG1wKSA7IH0gfHwKLSB7 IHRtcD0kVE1QRElSL2NnLSQkICYmICh1bWFzayAwNzcgJiYgbWtkaXIgJHRtcCkgJiYgZWNobyAi V2FybmluZzogY3JlYXRpbmcgaW5zZWN1cmUgdGVtcCBkaXJlY3RvcnkiID4mMiA7IH0gfHwKLSB7 IGVjaG8gIiRtZTogY2Fubm90IGNyZWF0ZSBhIHRlbXBvcmFyeSBkaXJlY3RvcnkgaW4gJFRNUERJ UiIgPiYyIDsgZXhpdCAxIDsgfSA7Ci1kdW1teT0kdG1wL2R1bW15IDsKLXRtcGZpbGVzPSIkZHVt bXkuYyAkZHVtbXkubyAkZHVtbXkucmVsICRkdW1teSIgOwotY2FzZSAkQ0NfRk9SX0JVSUxELCRI T1NUX0NDLCRDQyBpbgotICwsKSAgICBlY2hvICJpbnQgeDsiID4gJGR1bW15LmMgOwotCWZvciBj IGluIGNjIGdjYyBjODkgYzk5IDsgZG8KLQkgIGlmICgkYyAtYyAtbyAkZHVtbXkubyAkZHVtbXku YykgPi9kZXYvbnVsbCAyPiYxIDsgdGhlbgotCSAgICAgQ0NfRk9SX0JVSUxEPSIkYyI7IGJyZWFr IDsKLQkgIGZpIDsKLQlkb25lIDsKLQlpZiB0ZXN0IHgiJENDX0ZPUl9CVUlMRCIgPSB4IDsgdGhl bgotCSAgQ0NfRk9SX0JVSUxEPW5vX2NvbXBpbGVyX2ZvdW5kIDsKLQlmaQotCTs7Ci0gLCwqKSAg IENDX0ZPUl9CVUlMRD0kQ0MgOzsKLSAsKiwqKSAgQ0NfRk9SX0JVSUxEPSRIT1NUX0NDIDs7Ci1l c2FjIDsgc2V0X2NjX2Zvcl9idWlsZD0gOycKK3RtcD0KKyMgc2hlbGxjaGVjayBkaXNhYmxlPVND MjE3MgordHJhcCAndGVzdCAteiAiJHRtcCIgfHwgcm0gLWZyICIkdG1wIicgMCAxIDIgMTMgMTUK Kworc2V0X2NjX2Zvcl9idWlsZCgpIHsKKyAgICA6ICIke1RNUERJUj0vdG1wfSIKKyAgICAjIHNo ZWxsY2hlY2sgZGlzYWJsZT1TQzIwMzkKKyAgICB7IHRtcD1gKHVtYXNrIDA3NyAmJiBta3RlbXAg LWQgIiRUTVBESVIvY2dYWFhYWFgiKSAyPi9kZXYvbnVsbGAgJiYgdGVzdCAtbiAiJHRtcCIgJiYg dGVzdCAtZCAiJHRtcCIgOyB9IHx8CisJeyB0ZXN0IC1uICIkUkFORE9NIiAmJiB0bXA9JFRNUERJ Ui9jZyQkLSRSQU5ET00gJiYgKHVtYXNrIDA3NyAmJiBta2RpciAiJHRtcCIgMj4vZGV2L251bGwp IDsgfSB8fAorCXsgdG1wPSRUTVBESVIvY2ctJCQgJiYgKHVtYXNrIDA3NyAmJiBta2RpciAiJHRt cCIgMj4vZGV2L251bGwpICYmIGVjaG8gIldhcm5pbmc6IGNyZWF0aW5nIGluc2VjdXJlIHRlbXAg ZGlyZWN0b3J5IiA+JjIgOyB9IHx8CisJeyBlY2hvICIkbWU6IGNhbm5vdCBjcmVhdGUgYSB0ZW1w b3JhcnkgZGlyZWN0b3J5IGluICRUTVBESVIiID4mMiA7IGV4aXQgMSA7IH0KKyAgICBkdW1teT0k dG1wL2R1bW15CisgICAgY2FzZSAke0NDX0ZPUl9CVUlMRC19LCR7SE9TVF9DQy19LCR7Q0MtfSBp bgorCSwsKSAgICBlY2hvICJpbnQgeDsiID4gIiRkdW1teS5jIgorCSAgICAgICBmb3IgZHJpdmVy IGluIGNjIGdjYyBjODkgYzk5IDsgZG8KKwkJICAgaWYgKCRkcml2ZXIgLWMgLW8gIiRkdW1teS5v IiAiJGR1bW15LmMiKSA+L2Rldi9udWxsIDI+JjEgOyB0aGVuCisJCSAgICAgICBDQ19GT1JfQlVJ TEQ9IiRkcml2ZXIiCisJCSAgICAgICBicmVhaworCQkgICBmaQorCSAgICAgICBkb25lCisJICAg ICAgIGlmIHRlc3QgeCIkQ0NfRk9SX0JVSUxEIiA9IHggOyB0aGVuCisJCSAgIENDX0ZPUl9CVUlM RD1ub19jb21waWxlcl9mb3VuZAorCSAgICAgICBmaQorCSAgICAgICA7OworCSwsKikgICBDQ19G T1JfQlVJTEQ9JENDIDs7CisJLCosKikgIENDX0ZPUl9CVUlMRD0kSE9TVF9DQyA7OworICAgIGVz YWMKK30KIAogIyBUaGlzIGlzIG5lZWRlZCB0byBmaW5kIHVuYW1lIG9uIGEgUHlyYW1pZCBPU3gg d2hlbiBydW4gaW4gdGhlIEJTRCB1bml2ZXJzZS4KICMgKGdoYXppQG5vYy5ydXRnZXJzLmVkdSAx OTk0LTA4LTI0KQotaWYgKHRlc3QgLWYgLy5hdHRiaW4vdW5hbWUpID4vZGV2L251bGwgMj4mMSA7 IHRoZW4KK2lmIHRlc3QgLWYgLy5hdHRiaW4vdW5hbWUgOyB0aGVuCiAJUEFUSD0kUEFUSDovLmF0 dGJpbiA7IGV4cG9ydCBQQVRICiBmaQogCkBAIC0xMzgsOSArMTM0LDM3IEBAIFVOQU1FX1JFTEVB U0U9YCh1bmFtZSAtcikgMj4vZGV2L251bGxgIHx8IFVOQU1FX1JFTEVBU0U9dW5rbm93bgogVU5B TUVfU1lTVEVNPWAodW5hbWUgLXMpIDI+L2Rldi9udWxsYCAgfHwgVU5BTUVfU1lTVEVNPXVua25v d24KIFVOQU1FX1ZFUlNJT049YCh1bmFtZSAtdikgMj4vZGV2L251bGxgIHx8IFVOQU1FX1ZFUlNJ T049dW5rbm93bgogCitjYXNlICIkVU5BTUVfU1lTVEVNIiBpbgorTGludXh8R05VfEdOVS8qKQor CSMgSWYgdGhlIHN5c3RlbSBsYWNrcyBhIGNvbXBpbGVyLCB0aGVuIGp1c3QgcGljayBnbGliYy4K KwkjIFdlIGNvdWxkIHByb2JhYmx5IHRyeSBoYXJkZXIuCisJTElCQz1nbnUKKworCXNldF9jY19m b3JfYnVpbGQKKwljYXQgPDwtRU9GID4gIiRkdW1teS5jIgorCSNpbmNsdWRlIDxmZWF0dXJlcy5o PgorCSNpZiBkZWZpbmVkKF9fVUNMSUJDX18pCisJTElCQz11Y2xpYmMKKwkjZWxpZiBkZWZpbmVk KF9fZGlldGxpYmNfXykKKwlMSUJDPWRpZXRsaWJjCisJI2Vsc2UKKwlMSUJDPWdudQorCSNlbmRp ZgorCUVPRgorCWV2YWwgImAkQ0NfRk9SX0JVSUxEIC1FICIkZHVtbXkuYyIgMj4vZGV2L251bGwg fCBncmVwICdeTElCQycgfCBzZWQgJ3MsICwsZydgIgorCisJIyBJZiBsZGQgZXhpc3RzLCB1c2Ug aXQgdG8gZGV0ZWN0IG11c2wgbGliYy4KKwlpZiBjb21tYW5kIC12IGxkZCA+L2Rldi9udWxsICYm IFwKKwkJbGRkIC0tdmVyc2lvbiAyPiYxIHwgZ3JlcCAtcSBebXVzbAorCXRoZW4KKwkgICAgTElC Qz1tdXNsCisJZmkKKwk7OworZXNhYworCiAjIE5vdGU6IG9yZGVyIGlzIHNpZ25pZmljYW50IC0g dGhlIGNhc2UgYnJhbmNoZXMgYXJlIG5vdCBleGNsdXNpdmUuCiAKLWNhc2UgIiR7VU5BTUVfTUFD SElORX06JHtVTkFNRV9TWVNURU19OiR7VU5BTUVfUkVMRUFTRX06JHtVTkFNRV9WRVJTSU9OfSIg aW4KK2Nhc2UgIiRVTkFNRV9NQUNISU5FOiRVTkFNRV9TWVNURU06JFVOQU1FX1JFTEVBU0U6JFVO QU1FX1ZFUlNJT04iIGluCiAgICAgKjpOZXRCU0Q6KjoqKQogCSMgTmV0QlNEIChuYnNkKSB0YXJn ZXRzIHNob3VsZCAod2hlcmUgYXBwbGljYWJsZSkgbWF0Y2ggb25lIG9yCiAJIyBtb3JlIG9mIHRo ZSB0dXBsZXM6ICotKi1uZXRic2RlbGYqLCAqLSotbmV0YnNkYW91dCosCkBAIC0xNTMsMjEgKzE3 NywzMSBAQCBjYXNlICIke1VOQU1FX01BQ0hJTkV9OiR7VU5BTUVfU1lTVEVNfToke1VOQU1FX1JF TEVBU0V9OiR7VU5BTUVfVkVSU0lPTn0iIGluCiAJIyBOb3RlOiBOZXRCU0QgZG9lc24ndCBwYXJ0 aWN1bGFybHkgY2FyZSBhYm91dCB0aGUgdmVuZG9yCiAJIyBwb3J0aW9uIG9mIHRoZSBuYW1lLiAg V2UgYWx3YXlzIHNldCBpdCB0byAidW5rbm93biIuCiAJc3lzY3RsPSJzeXNjdGwgLW4gaHcubWFj aGluZV9hcmNoIgotCVVOQU1FX01BQ0hJTkVfQVJDSD1gKC9zYmluLyRzeXNjdGwgMj4vZGV2L251 bGwgfHwgXAotCSAgICAvdXNyL3NiaW4vJHN5c2N0bCAyPi9kZXYvbnVsbCB8fCBlY2hvIHVua25v d24pYAotCWNhc2UgIiR7VU5BTUVfTUFDSElORV9BUkNIfSIgaW4KKwlVTkFNRV9NQUNISU5FX0FS Q0g9YCh1bmFtZSAtcCAyPi9kZXYvbnVsbCB8fCBcCisJICAgICIvc2Jpbi8kc3lzY3RsIiAyPi9k ZXYvbnVsbCB8fCBcCisJICAgICIvdXNyL3NiaW4vJHN5c2N0bCIgMj4vZGV2L251bGwgfHwgXAor CSAgICBlY2hvIHVua25vd24pYAorCWNhc2UgIiRVTkFNRV9NQUNISU5FX0FSQ0giIGluCiAJICAg IGFybWViKSBtYWNoaW5lPWFybWViLXVua25vd24gOzsKIAkgICAgYXJtKikgbWFjaGluZT1hcm0t dW5rbm93biA7OwogCSAgICBzaDNlbCkgbWFjaGluZT1zaGwtdW5rbm93biA7OwogCSAgICBzaDNl YikgbWFjaGluZT1zaC11bmtub3duIDs7CiAJICAgIHNoNWVsKSBtYWNoaW5lPXNoNWxlLXVua25v d24gOzsKLQkgICAgKikgbWFjaGluZT0ke1VOQU1FX01BQ0hJTkVfQVJDSH0tdW5rbm93biA7Owor CSAgICBlYXJtdiopCisJCWFyY2g9YGVjaG8gIiRVTkFNRV9NQUNISU5FX0FSQ0giIHwgc2VkIC1l ICdzLF5lXChhcm12WzAtOV1cKS4qJCxcMSwnYAorCQllbmRpYW49YGVjaG8gIiRVTkFNRV9NQUNI SU5FX0FSQ0giIHwgc2VkIC1uZSAncyxeLipcKGViXCkkLFwxLHAnYAorCQltYWNoaW5lPSIke2Fy Y2h9JHtlbmRpYW59Ii11bmtub3duCisJCTs7CisJICAgICopIG1hY2hpbmU9IiRVTkFNRV9NQUNI SU5FX0FSQ0giLXVua25vd24gOzsKIAllc2FjCiAJIyBUaGUgT3BlcmF0aW5nIFN5c3RlbSBpbmNs dWRpbmcgb2JqZWN0IGZvcm1hdCwgaWYgaXQgaGFzIHN3aXRjaGVkCi0JIyB0byBFTEYgcmVjZW50 bHksIG9yIHdpbGwgaW4gdGhlIGZ1dHVyZS4KLQljYXNlICIke1VOQU1FX01BQ0hJTkVfQVJDSH0i IGluCisJIyB0byBFTEYgcmVjZW50bHkgKG9yIHdpbGwgaW4gdGhlIGZ1dHVyZSkgYW5kIEFCSS4K KwljYXNlICIkVU5BTUVfTUFDSElORV9BUkNIIiBpbgorCSAgICBlYXJtKikKKwkJb3M9bmV0YnNk ZWxmCisJCTs7CiAJICAgIGFybSp8aTM4NnxtNjhrfG5zMzJrfHNoMyp8c3BhcmN8dmF4KQotCQll dmFsICRzZXRfY2NfZm9yX2J1aWxkCisJCXNldF9jY19mb3JfYnVpbGQKIAkJaWYgZWNobyBfX0VM Rl9fIHwgJENDX0ZPUl9CVUlMRCAtRSAtIDI+L2Rldi9udWxsIFwKIAkJCXwgZ3JlcCAtcSBfX0VM Rl9fCiAJCXRoZW4KQEAgLTE4Miw0MCArMjE2LDY3IEBAIGNhc2UgIiR7VU5BTUVfTUFDSElORX06 JHtVTkFNRV9TWVNURU19OiR7VU5BTUVfUkVMRUFTRX06JHtVTkFNRV9WRVJTSU9OfSIgaW4KIAkJ b3M9bmV0YnNkCiAJCTs7CiAJZXNhYworCSMgRGV0ZXJtaW5lIEFCSSB0YWdzLgorCWNhc2UgIiRV TkFNRV9NQUNISU5FX0FSQ0giIGluCisJICAgIGVhcm0qKQorCQlleHByPSdzL15lYXJtdlswLTld Ly1lYWJpLztzL2ViJC8vJworCQlhYmk9YGVjaG8gIiRVTkFNRV9NQUNISU5FX0FSQ0giIHwgc2Vk IC1lICIkZXhwciJgCisJCTs7CisJZXNhYwogCSMgVGhlIE9TIHJlbGVhc2UKIAkjIERlYmlhbiBH TlUvTmV0QlNEIG1hY2hpbmVzIGhhdmUgYSBkaWZmZXJlbnQgdXNlcmxhbmQsIGFuZAogCSMgdGh1 cywgbmVlZCBhIGRpc3RpbmN0IHRyaXBsZXQuIEhvd2V2ZXIsIHRoZXkgZG8gbm90IG5lZWQKIAkj IGtlcm5lbCB2ZXJzaW9uIGluZm9ybWF0aW9uLCBzbyBpdCBjYW4gYmUgcmVwbGFjZWQgd2l0aCBh CiAJIyBzdWl0YWJsZSB0YWcsIGluIHRoZSBzdHlsZSBvZiBsaW51eC1nbnUuCi0JY2FzZSAiJHtV TkFNRV9WRVJTSU9OfSIgaW4KKwljYXNlICIkVU5BTUVfVkVSU0lPTiIgaW4KIAkgICAgRGViaWFu KikKIAkJcmVsZWFzZT0nLWdudScKIAkJOzsKIAkgICAgKikKLQkJcmVsZWFzZT1gZWNobyAke1VO QU1FX1JFTEVBU0V9fHNlZCAtZSAncy9bLV9dLiovXC4vJ2AKKwkJcmVsZWFzZT1gZWNobyAiJFVO QU1FX1JFTEVBU0UiIHwgc2VkIC1lICdzL1stX10uKi8vJyB8IGN1dCAtZC4gLWYxLDJgCiAJCTs7 CiAJZXNhYwogCSMgU2luY2UgQ1BVX1RZUEUtTUFOVUZBQ1RVUkVSLUtFUk5FTC1PUEVSQVRJTkdf U1lTVEVNOgogCSMgY29udGFpbnMgcmVkdW5kYW50IGluZm9ybWF0aW9uLCB0aGUgc2hvcnRlciBm b3JtOgogCSMgQ1BVX1RZUEUtTUFOVUZBQ1RVUkVSLU9QRVJBVElOR19TWVNURU0gaXMgdXNlZC4K LQllY2hvICIke21hY2hpbmV9LSR7b3N9JHtyZWxlYXNlfSIKKwllY2hvICIkbWFjaGluZS0ke29z fSR7cmVsZWFzZX0ke2FiaS19IgorCWV4aXQgOzsKKyAgICAqOkJpdHJpZzoqOiopCisJVU5BTUVf TUFDSElORV9BUkNIPWBhcmNoIHwgc2VkICdzL0JpdHJpZy4vLydgCisJZWNobyAiJFVOQU1FX01B Q0hJTkVfQVJDSCItdW5rbm93bi1iaXRyaWciJFVOQU1FX1JFTEVBU0UiCiAJZXhpdCA7OwogICAg ICo6T3BlbkJTRDoqOiopCiAJVU5BTUVfTUFDSElORV9BUkNIPWBhcmNoIHwgc2VkICdzL09wZW5C U0QuLy8nYAotCWVjaG8gJHtVTkFNRV9NQUNISU5FX0FSQ0h9LXVua25vd24tb3BlbmJzZCR7VU5B TUVfUkVMRUFTRX0KKwllY2hvICIkVU5BTUVfTUFDSElORV9BUkNIIi11bmtub3duLW9wZW5ic2Qi JFVOQU1FX1JFTEVBU0UiCisJZXhpdCA7OworICAgICo6TGliZXJ0eUJTRDoqOiopCisJVU5BTUVf TUFDSElORV9BUkNIPWBhcmNoIHwgc2VkICdzL14uKkJTRFwuLy8nYAorCWVjaG8gIiRVTkFNRV9N QUNISU5FX0FSQ0giLXVua25vd24tbGliZXJ0eWJzZCIkVU5BTUVfUkVMRUFTRSIKKwlleGl0IDs7 CisgICAgKjpNaWRuaWdodEJTRDoqOiopCisJZWNobyAiJFVOQU1FX01BQ0hJTkUiLXVua25vd24t bWlkbmlnaHRic2QiJFVOQU1FX1JFTEVBU0UiCiAJZXhpdCA7OwogICAgICo6ZWtrb0JTRDoqOiop Ci0JZWNobyAke1VOQU1FX01BQ0hJTkV9LXVua25vd24tZWtrb2JzZCR7VU5BTUVfUkVMRUFTRX0K KwllY2hvICIkVU5BTUVfTUFDSElORSItdW5rbm93bi1la2tvYnNkIiRVTkFNRV9SRUxFQVNFIgog CWV4aXQgOzsKICAgICAqOlNvbGlkQlNEOio6KikKLQllY2hvICR7VU5BTUVfTUFDSElORX0tdW5r bm93bi1zb2xpZGJzZCR7VU5BTUVfUkVMRUFTRX0KKwllY2hvICIkVU5BTUVfTUFDSElORSItdW5r bm93bi1zb2xpZGJzZCIkVU5BTUVfUkVMRUFTRSIKIAlleGl0IDs7CiAgICAgbWFjcHBjOk1pckJT RDoqOiopCi0JZWNobyBwb3dlcnBjLXVua25vd24tbWlyYnNkJHtVTkFNRV9SRUxFQVNFfQorCWVj aG8gcG93ZXJwYy11bmtub3duLW1pcmJzZCIkVU5BTUVfUkVMRUFTRSIKIAlleGl0IDs7CiAgICAg KjpNaXJCU0Q6KjoqKQotCWVjaG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3duLW1pcmJzZCR7VU5B TUVfUkVMRUFTRX0KKwllY2hvICIkVU5BTUVfTUFDSElORSItdW5rbm93bi1taXJic2QiJFVOQU1F X1JFTEVBU0UiCiAJZXhpdCA7OworICAgICo6U29ydGl4Oio6KikKKwllY2hvICIkVU5BTUVfTUFD SElORSItdW5rbm93bi1zb3J0aXgKKwlleGl0IDs7CisgICAgKjpSZWRveDoqOiopCisJZWNobyAi JFVOQU1FX01BQ0hJTkUiLXVua25vd24tcmVkb3gKKwlleGl0IDs7CisgICAgbWlwczpPU0YxOiou KikKKyAgICAgICAgZWNobyBtaXBzLWRlYy1vc2YxCisgICAgICAgIGV4aXQgOzsKICAgICBhbHBo YTpPU0YxOio6KikKIAljYXNlICRVTkFNRV9SRUxFQVNFIGluCiAJKjQuMCkKQEAgLTIzMiw2MyAr MjkzLDU0IEBAIGNhc2UgIiR7VU5BTUVfTUFDSElORX06JHtVTkFNRV9TWVNURU19OiR7VU5BTUVf UkVMRUFTRX06JHtVTkFNRV9WRVJTSU9OfSIgaW4KIAlBTFBIQV9DUFVfVFlQRT1gL3Vzci9zYmlu L3BzcmluZm8gLXYgfCBzZWQgLW4gLWUgJ3MvXiAgVGhlIGFscGhhIFwoLipcKSBwcm9jZXNzb3Iu KiQvXDEvcCcgfCBoZWFkIC1uIDFgCiAJY2FzZSAiJEFMUEhBX0NQVV9UWVBFIiBpbgogCSAgICAi RVY0ICgyMTA2NCkiKQotCQlVTkFNRV9NQUNISU5FPSJhbHBoYSIgOzsKKwkJVU5BTUVfTUFDSElO RT1hbHBoYSA7OwogCSAgICAiRVY0LjUgKDIxMDY0KSIpCi0JCVVOQU1FX01BQ0hJTkU9ImFscGhh IiA7OworCQlVTkFNRV9NQUNISU5FPWFscGhhIDs7CiAJICAgICJMQ0E0ICgyMTA2Ni8yMTA2OCki KQotCQlVTkFNRV9NQUNISU5FPSJhbHBoYSIgOzsKKwkJVU5BTUVfTUFDSElORT1hbHBoYSA7Owog CSAgICAiRVY1ICgyMTE2NCkiKQotCQlVTkFNRV9NQUNISU5FPSJhbHBoYWV2NSIgOzsKKwkJVU5B TUVfTUFDSElORT1hbHBoYWV2NSA7OwogCSAgICAiRVY1LjYgKDIxMTY0QSkiKQotCQlVTkFNRV9N QUNISU5FPSJhbHBoYWV2NTYiIDs7CisJCVVOQU1FX01BQ0hJTkU9YWxwaGFldjU2IDs7CiAJICAg ICJFVjUuNiAoMjExNjRQQykiKQotCQlVTkFNRV9NQUNISU5FPSJhbHBoYXBjYTU2IiA7OworCQlV TkFNRV9NQUNISU5FPWFscGhhcGNhNTYgOzsKIAkgICAgIkVWNS43ICgyMTE2NFBDKSIpCi0JCVVO QU1FX01BQ0hJTkU9ImFscGhhcGNhNTciIDs7CisJCVVOQU1FX01BQ0hJTkU9YWxwaGFwY2E1NyA7 OwogCSAgICAiRVY2ICgyMTI2NCkiKQotCQlVTkFNRV9NQUNISU5FPSJhbHBoYWV2NiIgOzsKKwkJ VU5BTUVfTUFDSElORT1hbHBoYWV2NiA7OwogCSAgICAiRVY2LjcgKDIxMjY0QSkiKQotCQlVTkFN RV9NQUNISU5FPSJhbHBoYWV2NjciIDs7CisJCVVOQU1FX01BQ0hJTkU9YWxwaGFldjY3IDs7CiAJ ICAgICJFVjYuOENCICgyMTI2NEMpIikKLQkJVU5BTUVfTUFDSElORT0iYWxwaGFldjY4IiA7Owor CQlVTkFNRV9NQUNISU5FPWFscGhhZXY2OCA7OwogCSAgICAiRVY2LjhBTCAoMjEyNjRCKSIpCi0J CVVOQU1FX01BQ0hJTkU9ImFscGhhZXY2OCIgOzsKKwkJVU5BTUVfTUFDSElORT1hbHBoYWV2Njgg OzsKIAkgICAgIkVWNi44Q1ggKDIxMjY0RCkiKQotCQlVTkFNRV9NQUNISU5FPSJhbHBoYWV2Njgi IDs7CisJCVVOQU1FX01BQ0hJTkU9YWxwaGFldjY4IDs7CiAJICAgICJFVjYuOUEgKDIxMjY0L0VW NjlBKSIpCi0JCVVOQU1FX01BQ0hJTkU9ImFscGhhZXY2OSIgOzsKKwkJVU5BTUVfTUFDSElORT1h bHBoYWV2NjkgOzsKIAkgICAgIkVWNyAoMjEzNjQpIikKLQkJVU5BTUVfTUFDSElORT0iYWxwaGFl djciIDs7CisJCVVOQU1FX01BQ0hJTkU9YWxwaGFldjcgOzsKIAkgICAgIkVWNy45ICgyMTM2NEEp IikKLQkJVU5BTUVfTUFDSElORT0iYWxwaGFldjc5IiA7OworCQlVTkFNRV9NQUNISU5FPWFscGhh ZXY3OSA7OwogCWVzYWMKIAkjIEEgUG4ubiB2ZXJzaW9uIGlzIGEgcGF0Y2hlZCB2ZXJzaW9uLgog CSMgQSBWbi5uIHZlcnNpb24gaXMgYSByZWxlYXNlZCB2ZXJzaW9uLgogCSMgQSBUbi5uIHZlcnNp b24gaXMgYSByZWxlYXNlZCBmaWVsZCB0ZXN0IHZlcnNpb24uCiAJIyBBIFhuLm4gdmVyc2lvbiBp cyBhbiB1bnJlbGVhc2VkIGV4cGVyaW1lbnRhbCBiYXNlbGV2ZWwuCiAJIyAxLjIgdXNlcyAiMS4y IiBmb3IgdW5hbWUgLXIuCi0JZWNobyAke1VOQU1FX01BQ0hJTkV9LWRlYy1vc2ZgZWNobyAke1VO QU1FX1JFTEVBU0V9IHwgc2VkIC1lICdzL15bUFZUWF0vLycgfCB0ciAnQUJDREVGR0hJSktMTU5P UFFSU1RVVldYWVonICdhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eidgCisJZWNobyAiJFVOQU1F X01BQ0hJTkUiLWRlYy1vc2YiYGVjaG8gIiRVTkFNRV9SRUxFQVNFIiB8IHNlZCAtZSAncy9eW1BW VFhdLy8nIHwgdHIgQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVogYWJjZGVmZ2hpamtsbW5vcHFy c3R1dnd4eXpgIgogCSMgUmVzZXQgRVhJVCB0cmFwIGJlZm9yZSBleGl0aW5nIHRvIGF2b2lkIHNw dXJpb3VzIG5vbi16ZXJvIGV4aXQgY29kZS4KIAlleGl0Y29kZT0kPwogCXRyYXAgJycgMAogCWV4 aXQgJGV4aXRjb2RlIDs7Ci0gICAgQWxwaGFcICo6V2luZG93c19OVCo6KikKLQkjIEhvdyBkbyB3 ZSBrbm93IGl0J3MgSW50ZXJpeCByYXRoZXIgdGhhbiB0aGUgZ2VuZXJpYyBQT1NJWCBzdWJzeXN0 ZW0/Ci0JIyBTaG91bGQgd2UgY2hhbmdlIFVOQU1FX01BQ0hJTkUgYmFzZWQgb24gdGhlIG91dHB1 dCBvZiB1bmFtZSBpbnN0ZWFkCi0JIyBvZiB0aGUgc3BlY2lmaWMgQWxwaGEgbW9kZWw/Ci0JZWNo byBhbHBoYS1wYy1pbnRlcml4Ci0JZXhpdCA7OwotICAgIDIxMDY0OldpbmRvd3NfTlQ6NTA6MykK LQllY2hvIGFscGhhLWRlYy13aW5udDMuNQotCWV4aXQgOzsKICAgICBBbWlnYSo6VU5JWF9TeXN0 ZW1fVjo0LjA6KikKIAllY2hvIG02OGstdW5rbm93bi1zeXN2NAogCWV4aXQgOzsKICAgICAqOltB YV1taWdhW09vXVtTc106KjoqKQotCWVjaG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3duLWFtaWdh b3MKKwllY2hvICIkVU5BTUVfTUFDSElORSItdW5rbm93bi1hbWlnYW9zCiAJZXhpdCA7OwogICAg ICo6W01tXW9ycGhbT29dW1NzXToqOiopCi0JZWNobyAke1VOQU1FX01BQ0hJTkV9LXVua25vd24t bW9ycGhvcworCWVjaG8gIiRVTkFNRV9NQUNISU5FIi11bmtub3duLW1vcnBob3MKIAlleGl0IDs7 CiAgICAgKjpPUy8zOTA6KjoqKQogCWVjaG8gaTM3MC1pYm0tb3BlbmVkaXRpb24KQEAgLTMwMCw5 ICszNTIsOSBAQCBjYXNlICIke1VOQU1FX01BQ0hJTkV9OiR7VU5BTUVfU1lTVEVNfToke1VOQU1F X1JFTEVBU0V9OiR7VU5BTUVfVkVSU0lPTn0iIGluCiAJZWNobyBwb3dlcnBjLWlibS1vczQwMAog CWV4aXQgOzsKICAgICBhcm06UklTQyo6MS5bMDEyXSo6Knxhcm06cmlzY2l4OjEuWzAxMl0qOiop Ci0JZWNobyBhcm0tYWNvcm4tcmlzY2l4JHtVTkFNRV9SRUxFQVNFfQorCWVjaG8gYXJtLWFjb3Ju LXJpc2NpeCIkVU5BTUVfUkVMRUFTRSIKIAlleGl0IDs7Ci0gICAgYXJtOnJpc2NvczoqOip8YXJt OlJJU0NPUzoqOiopCisgICAgYXJtKjpyaXNjb3M6KjoqfGFybSo6UklTQ09TOio6KikKIAllY2hv IGFybS11bmtub3duLXJpc2NvcwogCWV4aXQgOzsKICAgICBTUjI/MDE6SEktVVgvTVBQOio6KiB8 IFNSODAwMDpISS1VWC9NUFA6KjoqKQpAQCAtMzI3LDM4ICszNzksMzggQEAgY2FzZSAiJHtVTkFN RV9NQUNISU5FfToke1VOQU1FX1NZU1RFTX06JHtVTkFNRV9SRUxFQVNFfToke1VOQU1FX1ZFUlNJ T059IiBpbgogCSAgICBzcGFyYykgZWNobyBzcGFyYy1pY2wtbng3OyBleGl0IDs7CiAJZXNhYyA7 OwogICAgIHMzOTB4OlN1bk9TOio6KikKLQllY2hvICR7VU5BTUVfTUFDSElORX0taWJtLXNvbGFy aXMyYGVjaG8gJHtVTkFNRV9SRUxFQVNFfXxzZWQgLWUgJ3MvW14uXSovLydgCisJZWNobyAiJFVO QU1FX01BQ0hJTkUiLWlibS1zb2xhcmlzMiJgZWNobyAiJFVOQU1FX1JFTEVBU0UiIHwgc2VkIC1l ICdzL1teLl0qLy8nYCIKIAlleGl0IDs7CiAgICAgc3VuNEg6U3VuT1M6NS4qOiopCi0JZWNobyBz cGFyYy1oYWwtc29sYXJpczJgZWNobyAke1VOQU1FX1JFTEVBU0V9fHNlZCAtZSAncy9bXi5dKi8v J2AKKwllY2hvIHNwYXJjLWhhbC1zb2xhcmlzMiJgZWNobyAiJFVOQU1FX1JFTEVBU0UifHNlZCAt ZSAncy9bXi5dKi8vJ2AiCiAJZXhpdCA7OwogICAgIHN1bjQqOlN1bk9TOjUuKjoqIHwgdGFkcG9s ZSo6U3VuT1M6NS4qOiopCi0JZWNobyBzcGFyYy1zdW4tc29sYXJpczJgZWNobyAke1VOQU1FX1JF TEVBU0V9fHNlZCAtZSAncy9bXi5dKi8vJ2AKKwllY2hvIHNwYXJjLXN1bi1zb2xhcmlzMiJgZWNo byAiJFVOQU1FX1JFTEVBU0UiIHwgc2VkIC1lICdzL1teLl0qLy8nYCIKIAlleGl0IDs7CiAgICAg aTg2cGM6QXVyb3JhVVg6NS4qOiogfCBpODZ4ZW46QXVyb3JhVVg6NS4qOiopCi0JZWNobyBpMzg2 LXBjLWF1cm9yYXV4JHtVTkFNRV9SRUxFQVNFfQorCWVjaG8gaTM4Ni1wYy1hdXJvcmF1eCIkVU5B TUVfUkVMRUFTRSIKIAlleGl0IDs7CiAgICAgaTg2cGM6U3VuT1M6NS4qOiogfCBpODZ4ZW46U3Vu T1M6NS4qOiopCi0JZXZhbCAkc2V0X2NjX2Zvcl9idWlsZAotCVNVTl9BUkNIPSJpMzg2IgorCXNl dF9jY19mb3JfYnVpbGQKKwlTVU5fQVJDSD1pMzg2CiAJIyBJZiB0aGVyZSBpcyBhIGNvbXBpbGVy LCBzZWUgaWYgaXQgaXMgY29uZmlndXJlZCBmb3IgNjQtYml0IG9iamVjdHMuCiAJIyBOb3RlIHRo YXQgdGhlIFN1biBjYyBkb2VzIG5vdCB0dXJuIF9fTFA2NF9fIGludG8gMSBsaWtlIGdjYyBkb2Vz LgogCSMgVGhpcyB0ZXN0IHdvcmtzIGZvciBib3RoIGNvbXBpbGVycy4KLQlpZiBbICIkQ0NfRk9S X0JVSUxEIiAhPSAnbm9fY29tcGlsZXJfZm91bmQnIF07IHRoZW4KKwlpZiBbICIkQ0NfRk9SX0JV SUxEIiAhPSBub19jb21waWxlcl9mb3VuZCBdOyB0aGVuCiAJICAgIGlmIChlY2hvICcjaWZkZWYg X19hbWQ2NCc7IGVjaG8gSVNfNjRCSVRfQVJDSDsgZWNobyAnI2VuZGlmJykgfCBcCi0JCShDQ09Q VFM9ICRDQ19GT1JfQlVJTEQgLUUgLSAyPi9kZXYvbnVsbCkgfCBcCisJCShDQ09QVFM9IiIgJEND X0ZPUl9CVUlMRCAtRSAtIDI+L2Rldi9udWxsKSB8IFwKIAkJZ3JlcCBJU182NEJJVF9BUkNIID4v ZGV2L251bGwKIAkgICAgdGhlbgotCQlTVU5fQVJDSD0ieDg2XzY0IgorCQlTVU5fQVJDSD14ODZf NjQKIAkgICAgZmkKIAlmaQotCWVjaG8gJHtTVU5fQVJDSH0tcGMtc29sYXJpczJgZWNobyAke1VO QU1FX1JFTEVBU0V9fHNlZCAtZSAncy9bXi5dKi8vJ2AKKwllY2hvICIkU1VOX0FSQ0giLXBjLXNv bGFyaXMyImBlY2hvICIkVU5BTUVfUkVMRUFTRSJ8c2VkIC1lICdzL1teLl0qLy8nYCIKIAlleGl0 IDs7CiAgICAgc3VuNCo6U3VuT1M6Nio6KikKIAkjIEFjY29yZGluZyB0byBjb25maWcuc3ViLCB0 aGlzIGlzIHRoZSBwcm9wZXIgd2F5IHRvIGNhbm9uaWNhbGl6ZQogCSMgU3VuT1M2LiAgSGFyZCB0 byBndWVzcyBleGFjdGx5IHdoYXQgU3VuT1M2IHdpbGwgYmUgbGlrZSwgYnV0CiAJIyBpdCdzIGxp a2VseSB0byBiZSBtb3JlIGxpa2UgU29sYXJpcyB0aGFuIFN1bk9TNC4KLQllY2hvIHNwYXJjLXN1 bi1zb2xhcmlzM2BlY2hvICR7VU5BTUVfUkVMRUFTRX18c2VkIC1lICdzL1teLl0qLy8nYAorCWVj aG8gc3BhcmMtc3VuLXNvbGFyaXMzImBlY2hvICIkVU5BTUVfUkVMRUFTRSJ8c2VkIC1lICdzL1te Ll0qLy8nYCIKIAlleGl0IDs7CiAgICAgc3VuNCo6U3VuT1M6KjoqKQogCWNhc2UgImAvdXNyL2Jp bi9hcmNoIC1rYCIgaW4KQEAgLTM2NywyNSArNDE5LDI1IEBAIGNhc2UgIiR7VU5BTUVfTUFDSElO RX06JHtVTkFNRV9TWVNURU19OiR7VU5BTUVfUkVMRUFTRX06JHtVTkFNRV9WRVJTSU9OfSIgaW4K IAkJOzsKIAllc2FjCiAJIyBKYXBhbmVzZSBMYW5ndWFnZSB2ZXJzaW9ucyBoYXZlIGEgdmVyc2lv biBudW1iZXIgbGlrZSBgNC4xLjMtSkwnLgotCWVjaG8gc3BhcmMtc3VuLXN1bm9zYGVjaG8gJHtV TkFNRV9SRUxFQVNFfXxzZWQgLWUgJ3MvLS9fLydgCisJZWNobyBzcGFyYy1zdW4tc3Vub3MiYGVj aG8gIiRVTkFNRV9SRUxFQVNFInxzZWQgLWUgJ3MvLS9fLydgIgogCWV4aXQgOzsKICAgICBzdW4z KjpTdW5PUzoqOiopCi0JZWNobyBtNjhrLXN1bi1zdW5vcyR7VU5BTUVfUkVMRUFTRX0KKwllY2hv IG02OGstc3VuLXN1bm9zIiRVTkFNRV9SRUxFQVNFIgogCWV4aXQgOzsKICAgICBzdW4qOio6NC4y QlNEOiopCiAJVU5BTUVfUkVMRUFTRT1gKHNlZCAxcSAvZXRjL21vdGQgfCBhd2sgJ3twcmludCBz dWJzdHIoJDUsMSwzKX0nKSAyPi9kZXYvbnVsbGAKLQl0ZXN0ICJ4JHtVTkFNRV9SRUxFQVNFfSIg PSAieCIgJiYgVU5BTUVfUkVMRUFTRT0zCisJdGVzdCAieCRVTkFNRV9SRUxFQVNFIiA9IHggJiYg VU5BTUVfUkVMRUFTRT0zCiAJY2FzZSAiYC9iaW4vYXJjaGAiIGluCiAJICAgIHN1bjMpCi0JCWVj aG8gbTY4ay1zdW4tc3Vub3Mke1VOQU1FX1JFTEVBU0V9CisJCWVjaG8gbTY4ay1zdW4tc3Vub3Mi JFVOQU1FX1JFTEVBU0UiCiAJCTs7CiAJICAgIHN1bjQpCi0JCWVjaG8gc3BhcmMtc3VuLXN1bm9z JHtVTkFNRV9SRUxFQVNFfQorCQllY2hvIHNwYXJjLXN1bi1zdW5vcyIkVU5BTUVfUkVMRUFTRSIK IAkJOzsKIAllc2FjCiAJZXhpdCA7OwogICAgIGF1c2hwOlN1bk9TOio6KikKLQllY2hvIHNwYXJj LWF1c3BleC1zdW5vcyR7VU5BTUVfUkVMRUFTRX0KKwllY2hvIHNwYXJjLWF1c3BleC1zdW5vcyIk VU5BTUVfUkVMRUFTRSIKIAlleGl0IDs7CiAgICAgIyBUaGUgc2l0dWF0aW9uIGZvciBNaU5UIGlz IGEgbGl0dGxlIGNvbmZ1c2luZy4gIFRoZSBtYWNoaW5lIG5hbWUKICAgICAjIGNhbiBiZSB2aXJ0 dWFsbHkgZXZlcnl0aGluZyAoZXZlcnl0aGluZyB3aGljaCBpcyBub3QKQEAgLTM5Niw0NCArNDQ4 LDQ0IEBAIGNhc2UgIiR7VU5BTUVfTUFDSElORX06JHtVTkFNRV9TWVNURU19OiR7VU5BTUVfUkVM RUFTRX06JHtVTkFNRV9WRVJTSU9OfSIgaW4KICAgICAjIE1pTlQuICBCdXQgTWlOVCBpcyBkb3du d2FyZCBjb21wYXRpYmxlIHRvIFRPUywgc28gdGhpcyBzaG91bGQKICAgICAjIGJlIG5vIHByb2Js ZW0uCiAgICAgYXRhcmlzdFtlXToqTWlOVDoqOiogfCBhdGFyaXN0W2VdOiptaW50Oio6KiB8IGF0 YXJpc3RbZV06KlRPUzoqOiopCi0JZWNobyBtNjhrLWF0YXJpLW1pbnQke1VOQU1FX1JFTEVBU0V9 CisJZWNobyBtNjhrLWF0YXJpLW1pbnQiJFVOQU1FX1JFTEVBU0UiCiAJZXhpdCA7OwogICAgIGF0 YXJpKjoqTWlOVDoqOiogfCBhdGFyaSo6Km1pbnQ6KjoqIHwgYXRhcmlzdFtlXToqVE9TOio6KikK LQllY2hvIG02OGstYXRhcmktbWludCR7VU5BTUVfUkVMRUFTRX0KKwllY2hvIG02OGstYXRhcmkt bWludCIkVU5BTUVfUkVMRUFTRSIKIAlleGl0IDs7CiAgICAgKmZhbGNvbio6Kk1pTlQ6KjoqIHwg KmZhbGNvbio6Km1pbnQ6KjoqIHwgKmZhbGNvbio6KlRPUzoqOiopCi0JZWNobyBtNjhrLWF0YXJp LW1pbnQke1VOQU1FX1JFTEVBU0V9CisJZWNobyBtNjhrLWF0YXJpLW1pbnQiJFVOQU1FX1JFTEVB U0UiCiAJZXhpdCA7OwogICAgIG1pbGFuKjoqTWlOVDoqOiogfCBtaWxhbio6Km1pbnQ6KjoqIHwg Km1pbGFuKjoqVE9TOio6KikKLQllY2hvIG02OGstbWlsYW4tbWludCR7VU5BTUVfUkVMRUFTRX0K KwllY2hvIG02OGstbWlsYW4tbWludCIkVU5BTUVfUkVMRUFTRSIKIAlleGl0IDs7CiAgICAgaGFk ZXMqOipNaU5UOio6KiB8IGhhZGVzKjoqbWludDoqOiogfCAqaGFkZXMqOipUT1M6KjoqKQotCWVj aG8gbTY4ay1oYWRlcy1taW50JHtVTkFNRV9SRUxFQVNFfQorCWVjaG8gbTY4ay1oYWRlcy1taW50 IiRVTkFNRV9SRUxFQVNFIgogCWV4aXQgOzsKICAgICAqOipNaU5UOio6KiB8ICo6Km1pbnQ6Kjoq IHwgKjoqVE9TOio6KikKLQllY2hvIG02OGstdW5rbm93bi1taW50JHtVTkFNRV9SRUxFQVNFfQor CWVjaG8gbTY4ay11bmtub3duLW1pbnQiJFVOQU1FX1JFTEVBU0UiCiAJZXhpdCA7OwogICAgIG02 OGs6bWFjaHRlbjoqOiopCi0JZWNobyBtNjhrLWFwcGxlLW1hY2h0ZW4ke1VOQU1FX1JFTEVBU0V9 CisJZWNobyBtNjhrLWFwcGxlLW1hY2h0ZW4iJFVOQU1FX1JFTEVBU0UiCiAJZXhpdCA7OwogICAg IHBvd2VycGM6bWFjaHRlbjoqOiopCi0JZWNobyBwb3dlcnBjLWFwcGxlLW1hY2h0ZW4ke1VOQU1F X1JFTEVBU0V9CisJZWNobyBwb3dlcnBjLWFwcGxlLW1hY2h0ZW4iJFVOQU1FX1JFTEVBU0UiCiAJ ZXhpdCA7OwogICAgIFJJU0MqOk1hY2g6KjoqKQogCWVjaG8gbWlwcy1kZWMtbWFjaF9ic2Q0LjMK IAlleGl0IDs7CiAgICAgUklTQyo6VUxUUklYOio6KikKLQllY2hvIG1pcHMtZGVjLXVsdHJpeCR7 VU5BTUVfUkVMRUFTRX0KKwllY2hvIG1pcHMtZGVjLXVsdHJpeCIkVU5BTUVfUkVMRUFTRSIKIAll eGl0IDs7CiAgICAgVkFYKjpVTFRSSVgqOio6KikKLQllY2hvIHZheC1kZWMtdWx0cml4JHtVTkFN RV9SRUxFQVNFfQorCWVjaG8gdmF4LWRlYy11bHRyaXgiJFVOQU1FX1JFTEVBU0UiCiAJZXhpdCA7 OwogICAgIDIwMjA6Q0xJWDoqOiogfCAyNDMwOkNMSVg6KjoqKQotCWVjaG8gY2xpcHBlci1pbnRl cmdyYXBoLWNsaXgke1VOQU1FX1JFTEVBU0V9CisJZWNobyBjbGlwcGVyLWludGVyZ3JhcGgtY2xp eCIkVU5BTUVfUkVMRUFTRSIKIAlleGl0IDs7CiAgICAgbWlwczoqOio6VU1JUFMgfCBtaXBzOio6 KjpSSVNDb3MpCi0JZXZhbCAkc2V0X2NjX2Zvcl9idWlsZAotCXNlZCAncy9eCS8vJyA8PCBFT0Yg PiRkdW1teS5jCisJc2V0X2NjX2Zvcl9idWlsZAorCXNlZCAncy9eCS8vJyA8PCBFT0YgPiAiJGR1 bW15LmMiCiAjaWZkZWYgX19jcGx1c3BsdXMKICNpbmNsdWRlIDxzdGRpby5oPiAgLyogZm9yIHBy aW50ZigpIHByb3RvdHlwZSAqLwogCWludCBtYWluIChpbnQgYXJnYywgY2hhciAqYXJndltdKSB7 CkBAIC00NDIsMjMgKzQ5NCwyMyBAQCBjYXNlICIke1VOQU1FX01BQ0hJTkV9OiR7VU5BTUVfU1lT VEVNfToke1VOQU1FX1JFTEVBU0V9OiR7VU5BTUVfVkVSU0lPTn0iIGluCiAjZW5kaWYKIAkjaWYg ZGVmaW5lZCAoaG9zdF9taXBzKSAmJiBkZWZpbmVkIChNSVBTRUIpCiAJI2lmIGRlZmluZWQgKFNZ U1RZUEVfU1lTVikKLQkgIHByaW50ZiAoIm1pcHMtbWlwcy1yaXNjb3Mlc3N5c3ZcbiIsIGFyZ3Zb MV0pOyBleGl0ICgwKTsKKwkgIHByaW50ZiAoIm1pcHMtbWlwcy1yaXNjb3Mlc3N5c3ZcXG4iLCBh cmd2WzFdKTsgZXhpdCAoMCk7CiAJI2VuZGlmCiAJI2lmIGRlZmluZWQgKFNZU1RZUEVfU1ZSNCkK LQkgIHByaW50ZiAoIm1pcHMtbWlwcy1yaXNjb3Mlc3N2cjRcbiIsIGFyZ3ZbMV0pOyBleGl0ICgw KTsKKwkgIHByaW50ZiAoIm1pcHMtbWlwcy1yaXNjb3Mlc3N2cjRcXG4iLCBhcmd2WzFdKTsgZXhp dCAoMCk7CiAJI2VuZGlmCiAJI2lmIGRlZmluZWQgKFNZU1RZUEVfQlNENDMpIHx8IGRlZmluZWQo U1lTVFlQRV9CU0QpCi0JICBwcmludGYgKCJtaXBzLW1pcHMtcmlzY29zJXNic2RcbiIsIGFyZ3Zb MV0pOyBleGl0ICgwKTsKKwkgIHByaW50ZiAoIm1pcHMtbWlwcy1yaXNjb3Mlc2JzZFxcbiIsIGFy Z3ZbMV0pOyBleGl0ICgwKTsKIAkjZW5kaWYKIAkjZW5kaWYKIAkgIGV4aXQgKC0xKTsKIAl9CiBF T0YKLQkkQ0NfRk9SX0JVSUxEIC1vICRkdW1teSAkZHVtbXkuYyAmJgotCSAgZHVtbXlhcmc9YGVj aG8gIiR7VU5BTUVfUkVMRUFTRX0iIHwgc2VkIC1uICdzL1woWzAtOV0qXCkuKi9cMS9wJ2AgJiYK LQkgIFNZU1RFTV9OQU1FPWAkZHVtbXkgJGR1bW15YXJnYCAmJgorCSRDQ19GT1JfQlVJTEQgLW8g IiRkdW1teSIgIiRkdW1teS5jIiAmJgorCSAgZHVtbXlhcmc9YGVjaG8gIiRVTkFNRV9SRUxFQVNF IiB8IHNlZCAtbiAncy9cKFswLTldKlwpLiovXDEvcCdgICYmCisJICBTWVNURU1fTkFNRT1gIiRk dW1teSIgIiRkdW1teWFyZyJgICYmCiAJICAgIHsgZWNobyAiJFNZU1RFTV9OQU1FIjsgZXhpdDsg fQotCWVjaG8gbWlwcy1taXBzLXJpc2NvcyR7VU5BTUVfUkVMRUFTRX0KKwllY2hvIG1pcHMtbWlw cy1yaXNjb3MiJFVOQU1FX1JFTEVBU0UiCiAJZXhpdCA7OwogICAgIE1vdG9yb2xhOlBvd2VyTUFY X09TOio6KikKIAllY2hvIHBvd2VycGMtbW90b3JvbGEtcG93ZXJtYXgKQEAgLTQ4NCwxNyArNTM2 LDE3IEBAIEVPRgogICAgIEFWaWlPTjpkZ3V4Oio6KikKIAkjIERHL1VYIHJldHVybnMgQVZpaU9O IGZvciBhbGwgYXJjaGl0ZWN0dXJlcwogCVVOQU1FX1BST0NFU1NPUj1gL3Vzci9iaW4vdW5hbWUg LXBgCi0JaWYgWyAkVU5BTUVfUFJPQ0VTU09SID0gbWM4ODEwMCBdIHx8IFsgJFVOQU1FX1BST0NF U1NPUiA9IG1jODgxMTAgXQorCWlmIFsgIiRVTkFNRV9QUk9DRVNTT1IiID0gbWM4ODEwMCBdIHx8 IFsgIiRVTkFNRV9QUk9DRVNTT1IiID0gbWM4ODExMCBdCiAJdGhlbgotCSAgICBpZiBbICR7VEFS R0VUX0JJTkFSWV9JTlRFUkZBQ0V9eCA9IG04OGtkZ3V4ZWxmeCBdIHx8IFwKLQkgICAgICAgWyAk e1RBUkdFVF9CSU5BUllfSU5URVJGQUNFfXggPSB4IF0KKwkgICAgaWYgWyAiJFRBUkdFVF9CSU5B UllfSU5URVJGQUNFInggPSBtODhrZGd1eGVsZnggXSB8fCBcCisJICAgICAgIFsgIiRUQVJHRVRf QklOQVJZX0lOVEVSRkFDRSJ4ID0geCBdCiAJICAgIHRoZW4KLQkJZWNobyBtODhrLWRnLWRndXgk e1VOQU1FX1JFTEVBU0V9CisJCWVjaG8gbTg4ay1kZy1kZ3V4IiRVTkFNRV9SRUxFQVNFIgogCSAg ICBlbHNlCi0JCWVjaG8gbTg4ay1kZy1kZ3V4YmNzJHtVTkFNRV9SRUxFQVNFfQorCQllY2hvIG04 OGstZGctZGd1eGJjcyIkVU5BTUVfUkVMRUFTRSIKIAkgICAgZmkKIAllbHNlCi0JICAgIGVjaG8g aTU4Ni1kZy1kZ3V4JHtVTkFNRV9SRUxFQVNFfQorCSAgICBlY2hvIGk1ODYtZGctZGd1eCIkVU5B TUVfUkVMRUFTRSIKIAlmaQogCWV4aXQgOzsKICAgICBNODgqOkRvbHBoaW5PUzoqOiopCSMgRG9s cGhpbk9TIChTVlIzKQpAQCAtNTExLDcgKzU2Myw3IEBAIEVPRgogCWVjaG8gbTY4ay10ZWt0cm9u aXgtYnNkCiAJZXhpdCA7OwogICAgICo6SVJJWCo6KjoqKQotCWVjaG8gbWlwcy1zZ2ktaXJpeGBl Y2hvICR7VU5BTUVfUkVMRUFTRX18c2VkIC1lICdzLy0vXy9nJ2AKKwllY2hvIG1pcHMtc2dpLWly aXgiYGVjaG8gIiRVTkFNRV9SRUxFQVNFInxzZWQgLWUgJ3MvLS9fL2cnYCIKIAlleGl0IDs7CiAg ICAgPz8/Pz8/Pz86QUlYPzpbMTJdLjE6MikgICAjIEFJWCAyLjIuMSBvciBBSVggMi4xLjEgaXMg UlQvUEMgQUlYLgogCWVjaG8gcm9tcC1pYm0tYWl4ICAgICAjIHVuYW1lIC1tIGdpdmVzIGFuIDgg aGV4LWNvZGUgQ1BVIGlkCkBAIC01MjMsMTQgKzU3NSwxNCBAQCBFT0YKIAlpZiBbIC14IC91c3Iv YmluL29zbGV2ZWwgXSA7IHRoZW4KIAkJSUJNX1JFVj1gL3Vzci9iaW4vb3NsZXZlbGAKIAllbHNl Ci0JCUlCTV9SRVY9JHtVTkFNRV9WRVJTSU9OfS4ke1VOQU1FX1JFTEVBU0V9CisJCUlCTV9SRVY9 IiRVTkFNRV9WRVJTSU9OLiRVTkFNRV9SRUxFQVNFIgogCWZpCi0JZWNobyAke1VOQU1FX01BQ0hJ TkV9LWlibS1haXgke0lCTV9SRVZ9CisJZWNobyAiJFVOQU1FX01BQ0hJTkUiLWlibS1haXgiJElC TV9SRVYiCiAJZXhpdCA7OwogICAgICo6QUlYOjI6MykKIAlpZiBncmVwIGJvczMyNSAvdXNyL2lu Y2x1ZGUvc3RkaW8uaCA+L2Rldi9udWxsIDI+JjE7IHRoZW4KLQkJZXZhbCAkc2V0X2NjX2Zvcl9i dWlsZAotCQlzZWQgJ3MvXgkJLy8nIDw8IEVPRiA+JGR1bW15LmMKKwkJc2V0X2NjX2Zvcl9idWls ZAorCQlzZWQgJ3MvXgkJLy8nIDw8IEVPRiA+ICIkZHVtbXkuYyIKIAkJI2luY2x1ZGUgPHN5cy9z eXN0ZW1jZmcuaD4KIAogCQltYWluKCkKQEAgLTU0MSw3ICs1OTMsNyBAQCBFT0YKIAkJCWV4aXQo MCk7CiAJCQl9CiBFT0YKLQkJaWYgJENDX0ZPUl9CVUlMRCAtbyAkZHVtbXkgJGR1bW15LmMgJiYg U1lTVEVNX05BTUU9YCRkdW1teWAKKwkJaWYgJENDX0ZPUl9CVUlMRCAtbyAiJGR1bW15IiAiJGR1 bW15LmMiICYmIFNZU1RFTV9OQU1FPWAiJGR1bW15ImAKIAkJdGhlbgogCQkJZWNobyAiJFNZU1RF TV9OQU1FIgogCQllbHNlCkBAIC01NTUsMjYgKzYwNywyNyBAQCBFT0YKIAlleGl0IDs7CiAgICAg KjpBSVg6KjpbNDU2N10pCiAJSUJNX0NQVV9JRD1gL3Vzci9zYmluL2xzZGV2IC1DIC1jIHByb2Nl c3NvciAtUyBhdmFpbGFibGUgfCBzZWQgMXEgfCBhd2sgJ3sgcHJpbnQgJDEgfSdgCi0JaWYgL3Vz ci9zYmluL2xzYXR0ciAtRWwgJHtJQk1fQ1BVX0lEfSB8IGdyZXAgJyBQT1dFUicgPi9kZXYvbnVs bCAyPiYxOyB0aGVuCisJaWYgL3Vzci9zYmluL2xzYXR0ciAtRWwgIiRJQk1fQ1BVX0lEIiB8IGdy ZXAgJyBQT1dFUicgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCiAJCUlCTV9BUkNIPXJzNjAwMAogCWVs c2UKIAkJSUJNX0FSQ0g9cG93ZXJwYwogCWZpCi0JaWYgWyAteCAvdXNyL2Jpbi9vc2xldmVsIF0g OyB0aGVuCi0JCUlCTV9SRVY9YC91c3IvYmluL29zbGV2ZWxgCisJaWYgWyAteCAvdXNyL2Jpbi9s c2xwcCBdIDsgdGhlbgorCQlJQk1fUkVWPWAvdXNyL2Jpbi9sc2xwcCAtTHFjIGJvcy5ydGUubGli YyB8CisJCQkgICBhd2sgLUY6ICd7IHByaW50ICQzIH0nIHwgc2VkIHMvWzAtOV0qJC8wL2AKIAll bHNlCi0JCUlCTV9SRVY9JHtVTkFNRV9WRVJTSU9OfS4ke1VOQU1FX1JFTEVBU0V9CisJCUlCTV9S RVY9IiRVTkFNRV9WRVJTSU9OLiRVTkFNRV9SRUxFQVNFIgogCWZpCi0JZWNobyAke0lCTV9BUkNI fS1pYm0tYWl4JHtJQk1fUkVWfQorCWVjaG8gIiRJQk1fQVJDSCItaWJtLWFpeCIkSUJNX1JFViIK IAlleGl0IDs7CiAgICAgKjpBSVg6KjoqKQogCWVjaG8gcnM2MDAwLWlibS1haXgKIAlleGl0IDs7 Ci0gICAgaWJtcnQ6NC40QlNEOip8cm9tcC1pYm06QlNEOiopCisgICAgaWJtcnQ6NC40QlNEOip8 cm9tcC1pYm06NC40QlNEOiopCiAJZWNobyByb21wLWlibS1ic2Q0LjQKIAlleGl0IDs7CiAgICAg aWJtcnQ6KkJTRDoqfHJvbXAtaWJtOkJTRDoqKSAgICAgICAgICAgICMgY292ZXJzIFJUL1BDIEJT RCBhbmQKLQllY2hvIHJvbXAtaWJtLWJzZCR7VU5BTUVfUkVMRUFTRX0gICAjIDQuMyB3aXRoIHVu YW1lIGFkZGVkIHRvCisJZWNobyByb21wLWlibS1ic2QiJFVOQU1FX1JFTEVBU0UiICAgIyA0LjMg d2l0aCB1bmFtZSBhZGRlZCB0bwogCWV4aXQgOzsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICMgcmVwb3J0OiByb21wLWlibSBCU0QgNC4zCiAgICAgKjpCT1NYOio6KikKIAllY2hvIHJzNjAw MC1idWxsLWJvc3gKQEAgLTU4OSwyOCArNjQyLDI4IEBAIEVPRgogCWVjaG8gbTY4ay1ocC1ic2Q0 LjQKIAlleGl0IDs7CiAgICAgOTAwMC9bMzQ2NzhdPz86SFAtVVg6KjoqKQotCUhQVVhfUkVWPWBl Y2hvICR7VU5BTUVfUkVMRUFTRX18c2VkIC1lICdzL1teLl0qLlswQl0qLy8nYAotCWNhc2UgIiR7 VU5BTUVfTUFDSElORX0iIGluCi0JICAgIDkwMDAvMzE/ICkgICAgICAgICAgICBIUF9BUkNIPW02 ODAwMCA7OwotCSAgICA5MDAwL1szNF0/PyApICAgICAgICAgSFBfQVJDSD1tNjhrIDs7CisJSFBV WF9SRVY9YGVjaG8gIiRVTkFNRV9SRUxFQVNFInxzZWQgLWUgJ3MvW14uXSouWzBCXSovLydgCisJ Y2FzZSAiJFVOQU1FX01BQ0hJTkUiIGluCisJICAgIDkwMDAvMzE/KSAgICAgICAgICAgIEhQX0FS Q0g9bTY4MDAwIDs7CisJICAgIDkwMDAvWzM0XT8/KSAgICAgICAgIEhQX0FSQ0g9bTY4ayA7Owog CSAgICA5MDAwL1s2NzhdWzAtOV1bMC05XSkKIAkJaWYgWyAteCAvdXNyL2Jpbi9nZXRjb25mIF07 IHRoZW4KIAkJICAgIHNjX2NwdV92ZXJzaW9uPWAvdXNyL2Jpbi9nZXRjb25mIFNDX0NQVV9WRVJT SU9OIDI+L2Rldi9udWxsYAogCQkgICAgc2Nfa2VybmVsX2JpdHM9YC91c3IvYmluL2dldGNvbmYg U0NfS0VSTkVMX0JJVFMgMj4vZGV2L251bGxgCi0JCSAgICBjYXNlICIke3NjX2NwdV92ZXJzaW9u fSIgaW4KLQkJICAgICAgNTIzKSBIUF9BUkNIPSJocHBhMS4wIiA7OyAjIENQVV9QQV9SSVNDMV8w Ci0JCSAgICAgIDUyOCkgSFBfQVJDSD0iaHBwYTEuMSIgOzsgIyBDUFVfUEFfUklTQzFfMQorCQkg ICAgY2FzZSAiJHNjX2NwdV92ZXJzaW9uIiBpbgorCQkgICAgICA1MjMpIEhQX0FSQ0g9aHBwYTEu MCA7OyAjIENQVV9QQV9SSVNDMV8wCisJCSAgICAgIDUyOCkgSFBfQVJDSD1ocHBhMS4xIDs7ICMg Q1BVX1BBX1JJU0MxXzEKIAkJICAgICAgNTMyKSAgICAgICAgICAgICAgICAgICAgICAjIENQVV9Q QV9SSVNDMl8wCi0JCQljYXNlICIke3NjX2tlcm5lbF9iaXRzfSIgaW4KLQkJCSAgMzIpIEhQX0FS Q0g9ImhwcGEyLjBuIiA7OwotCQkJICA2NCkgSFBfQVJDSD0iaHBwYTIuMHciIDs7Ci0JCQkgICcn KSBIUF9BUkNIPSJocHBhMi4wIiA7OyAgICMgSFAtVVggMTAuMjAKKwkJCWNhc2UgIiRzY19rZXJu ZWxfYml0cyIgaW4KKwkJCSAgMzIpIEhQX0FSQ0g9aHBwYTIuMG4gOzsKKwkJCSAgNjQpIEhQX0FS Q0g9aHBwYTIuMHcgOzsKKwkJCSAgJycpIEhQX0FSQ0g9aHBwYTIuMCA7OyAgICMgSFAtVVggMTAu MjAKIAkJCWVzYWMgOzsKIAkJICAgIGVzYWMKIAkJZmkKLQkJaWYgWyAiJHtIUF9BUkNIfSIgPSAi IiBdOyB0aGVuCi0JCSAgICBldmFsICRzZXRfY2NfZm9yX2J1aWxkCi0JCSAgICBzZWQgJ3MvXgkJ Ly8nIDw8IEVPRiA+JGR1bW15LmMKKwkJaWYgWyAiJEhQX0FSQ0giID0gIiIgXTsgdGhlbgorCQkg ICAgc2V0X2NjX2Zvcl9idWlsZAorCQkgICAgc2VkICdzL14JCS8vJyA8PCBFT0YgPiAiJGR1bW15 LmMiCiAKIAkJI2RlZmluZSBfSFBVWF9TT1VSQ0UKIAkJI2luY2x1ZGUgPHN0ZGxpYi5oPgpAQCAt NjQzLDEzICs2OTYsMTMgQEAgRU9GCiAJCSAgICBleGl0ICgwKTsKIAkJfQogRU9GCi0JCSAgICAo Q0NPUFRTPSAkQ0NfRk9SX0JVSUxEIC1vICRkdW1teSAkZHVtbXkuYyAyPi9kZXYvbnVsbCkgJiYg SFBfQVJDSD1gJGR1bW15YAorCQkgICAgKENDT1BUUz0iIiAkQ0NfRk9SX0JVSUxEIC1vICIkZHVt bXkiICIkZHVtbXkuYyIgMj4vZGV2L251bGwpICYmIEhQX0FSQ0g9YCIkZHVtbXkiYAogCQkgICAg dGVzdCAteiAiJEhQX0FSQ0giICYmIEhQX0FSQ0g9aHBwYQogCQlmaSA7OwogCWVzYWMKLQlpZiBb ICR7SFBfQVJDSH0gPSAiaHBwYTIuMHciIF0KKwlpZiBbICIkSFBfQVJDSCIgPSBocHBhMi4wdyBd CiAJdGhlbgotCSAgICBldmFsICRzZXRfY2NfZm9yX2J1aWxkCisJICAgIHNldF9jY19mb3JfYnVp bGQKIAogCSAgICAjIGhwcGEyLjB3LWhwLWhwdXgqIGhhcyBhIDY0LWJpdCBrZXJuZWwgYW5kIGEg Y29tcGlsZXIgZ2VuZXJhdGluZwogCSAgICAjIDMyLWJpdCBjb2RlLiAgaHBwYTY0LWhwLWhwdXgq IGhhcyB0aGUgc2FtZSBrZXJuZWwgYW5kIGEgY29tcGlsZXIKQEAgLTY2MCwyMyArNzEzLDIzIEBA IEVPRgogCSAgICAjICQgQ0NfRk9SX0JVSUxEPSJjYyArREEyLjB3IiAuL2NvbmZpZy5ndWVzcwog CSAgICAjID0+IGhwcGE2NC1ocC1ocHV4MTEuMjMKIAotCSAgICBpZiBlY2hvIF9fTFA2NF9fIHwg KENDT1BUUz0gJENDX0ZPUl9CVUlMRCAtRSAtIDI+L2Rldi9udWxsKSB8CisJICAgIGlmIGVjaG8g X19MUDY0X18gfCAoQ0NPUFRTPSIiICRDQ19GT1JfQlVJTEQgLUUgLSAyPi9kZXYvbnVsbCkgfAog CQlncmVwIC1xIF9fTFA2NF9fCiAJICAgIHRoZW4KLQkJSFBfQVJDSD0iaHBwYTIuMHciCisJCUhQ X0FSQ0g9aHBwYTIuMHcKIAkgICAgZWxzZQotCQlIUF9BUkNIPSJocHBhNjQiCisJCUhQX0FSQ0g9 aHBwYTY0CiAJICAgIGZpCiAJZmkKLQllY2hvICR7SFBfQVJDSH0taHAtaHB1eCR7SFBVWF9SRVZ9 CisJZWNobyAiJEhQX0FSQ0giLWhwLWhwdXgiJEhQVVhfUkVWIgogCWV4aXQgOzsKICAgICBpYTY0 OkhQLVVYOio6KikKLQlIUFVYX1JFVj1gZWNobyAke1VOQU1FX1JFTEVBU0V9fHNlZCAtZSAncy9b Xi5dKi5bMEJdKi8vJ2AKLQllY2hvIGlhNjQtaHAtaHB1eCR7SFBVWF9SRVZ9CisJSFBVWF9SRVY9 YGVjaG8gIiRVTkFNRV9SRUxFQVNFInxzZWQgLWUgJ3MvW14uXSouWzBCXSovLydgCisJZWNobyBp YTY0LWhwLWhwdXgiJEhQVVhfUkVWIgogCWV4aXQgOzsKICAgICAzMDUwKjpISS1VWDoqOiopCi0J ZXZhbCAkc2V0X2NjX2Zvcl9idWlsZAotCXNlZCAncy9eCS8vJyA8PCBFT0YgPiRkdW1teS5jCisJ c2V0X2NjX2Zvcl9idWlsZAorCXNlZCAncy9eCS8vJyA8PCBFT0YgPiAiJGR1bW15LmMiCiAJI2lu Y2x1ZGUgPHVuaXN0ZC5oPgogCWludAogCW1haW4gKCkKQEAgLTcwMSwxMSArNzU0LDExIEBAIEVP RgogCSAgZXhpdCAoMCk7CiAJfQogRU9GCi0JJENDX0ZPUl9CVUlMRCAtbyAkZHVtbXkgJGR1bW15 LmMgJiYgU1lTVEVNX05BTUU9YCRkdW1teWAgJiYKKwkkQ0NfRk9SX0JVSUxEIC1vICIkZHVtbXki ICIkZHVtbXkuYyIgJiYgU1lTVEVNX05BTUU9YCIkZHVtbXkiYCAmJgogCQl7IGVjaG8gIiRTWVNU RU1fTkFNRSI7IGV4aXQ7IH0KIAllY2hvIHVua25vd24taGl0YWNoaS1oaXV4d2UyCiAJZXhpdCA7 OwotICAgIDkwMDAvNz8/OjQuM2JzZDoqOiogfCA5MDAwLzg/Wzc5XTo0LjNic2Q6KjoqICkKKyAg ICA5MDAwLzc/Pzo0LjNic2Q6KjoqIHwgOTAwMC84P1s3OV06NC4zYnNkOio6KikKIAllY2hvIGhw cGExLjEtaHAtYnNkCiAJZXhpdCA7OwogICAgIDkwMDAvOD8/OjQuM2JzZDoqOiopCkBAIC03MTQs NyArNzY3LDcgQEAgRU9GCiAgICAgKjk/Pyo6TVBFL2lYOio6KiB8ICozMDAwKjpNUEUvaVg6Kjoq KQogCWVjaG8gaHBwYTEuMC1ocC1tcGVpeAogCWV4aXQgOzsKLSAgICBocDc/PzpPU0YxOio6KiB8 IGhwOD9bNzldOk9TRjE6KjoqICkKKyAgICBocDc/PzpPU0YxOio6KiB8IGhwOD9bNzldOk9TRjE6 KjoqKQogCWVjaG8gaHBwYTEuMS1ocC1vc2YKIAlleGl0IDs7CiAgICAgaHA4Pz86T1NGMToqOiop CkBAIC03MjIsOSArNzc1LDkgQEAgRU9GCiAJZXhpdCA7OwogICAgIGkqODY6T1NGMToqOiopCiAJ aWYgWyAteCAvdXNyL3NiaW4vc3lzdmVyc2lvbiBdIDsgdGhlbgotCSAgICBlY2hvICR7VU5BTUVf TUFDSElORX0tdW5rbm93bi1vc2YxbWsKKwkgICAgZWNobyAiJFVOQU1FX01BQ0hJTkUiLXVua25v d24tb3NmMW1rCiAJZWxzZQotCSAgICBlY2hvICR7VU5BTUVfTUFDSElORX0tdW5rbm93bi1vc2Yx CisJICAgIGVjaG8gIiRVTkFNRV9NQUNISU5FIi11bmtub3duLW9zZjEKIAlmaQogCWV4aXQgOzsK ICAgICBwYXJpc2MqOkxpdGVzKjoqOiopCkBAIC03NDksMTI0ICs4MDIsMTIwIEBAIEVPRgogCWVj aG8gYzQtY29udmV4LWJzZAogCWV4aXQgOzsKICAgICBDUkFZKlktTVA6KjoqOiopCi0JZWNobyB5 bXAtY3JheS11bmljb3Mke1VOQU1FX1JFTEVBU0V9IHwgc2VkIC1lICdzL1wuW14uXSokLy5YLycK KwllY2hvIHltcC1jcmF5LXVuaWNvcyIkVU5BTUVfUkVMRUFTRSIgfCBzZWQgLWUgJ3MvXC5bXi5d KiQvLlgvJwogCWV4aXQgOzsKICAgICBDUkFZKltBLVpdOTA6KjoqOiopCi0JZWNobyAke1VOQU1F X01BQ0hJTkV9LWNyYXktdW5pY29zJHtVTkFNRV9SRUxFQVNFfSBcCisJZWNobyAiJFVOQU1FX01B Q0hJTkUiLWNyYXktdW5pY29zIiRVTkFNRV9SRUxFQVNFIiBcCiAJfCBzZWQgLWUgJ3MvQ1JBWS4q XChbQS1aXTkwXCkvXDEvJyBcCiAJICAgICAgLWUgeS9BQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZ Wi9hYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ei8gXAogCSAgICAgIC1lICdzL1wuW14uXSokLy5Y LycKIAlleGl0IDs7CiAgICAgQ1JBWSpUUzoqOio6KikKLQllY2hvIHQ5MC1jcmF5LXVuaWNvcyR7 VU5BTUVfUkVMRUFTRX0gfCBzZWQgLWUgJ3MvXC5bXi5dKiQvLlgvJworCWVjaG8gdDkwLWNyYXkt dW5pY29zIiRVTkFNRV9SRUxFQVNFIiB8IHNlZCAtZSAncy9cLlteLl0qJC8uWC8nCiAJZXhpdCA7 OwogICAgIENSQVkqVDNFOio6KjoqKQotCWVjaG8gYWxwaGFldjUtY3JheS11bmljb3NtayR7VU5B TUVfUkVMRUFTRX0gfCBzZWQgLWUgJ3MvXC5bXi5dKiQvLlgvJworCWVjaG8gYWxwaGFldjUtY3Jh eS11bmljb3NtayIkVU5BTUVfUkVMRUFTRSIgfCBzZWQgLWUgJ3MvXC5bXi5dKiQvLlgvJwogCWV4 aXQgOzsKICAgICBDUkFZKlNWMToqOio6KikKLQllY2hvIHN2MS1jcmF5LXVuaWNvcyR7VU5BTUVf UkVMRUFTRX0gfCBzZWQgLWUgJ3MvXC5bXi5dKiQvLlgvJworCWVjaG8gc3YxLWNyYXktdW5pY29z IiRVTkFNRV9SRUxFQVNFIiB8IHNlZCAtZSAncy9cLlteLl0qJC8uWC8nCiAJZXhpdCA7OwogICAg ICo6VU5JQ09TL21wOio6KikKLQllY2hvIGNyYXludi1jcmF5LXVuaWNvc21wJHtVTkFNRV9SRUxF QVNFfSB8IHNlZCAtZSAncy9cLlteLl0qJC8uWC8nCisJZWNobyBjcmF5bnYtY3JheS11bmljb3Nt cCIkVU5BTUVfUkVMRUFTRSIgfCBzZWQgLWUgJ3MvXC5bXi5dKiQvLlgvJwogCWV4aXQgOzsKICAg ICBGMzBbMDFdOlVOSVhfU3lzdGVtX1Y6KjoqIHwgRjcwMDpVTklYX1N5c3RlbV9WOio6KikKLQlG VUpJVFNVX1BST0M9YHVuYW1lIC1tIHwgdHIgJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaJyAn YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXonYAotCUZVSklUU1VfU1lTPWB1bmFtZSAtcCB8IHRy ICdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWicgJ2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6 JyB8IHNlZCAtZSAncy9cLy8vJ2AKLQlGVUpJVFNVX1JFTD1gZWNobyAke1VOQU1FX1JFTEVBU0V9 IHwgc2VkIC1lICdzLyAvXy8nYAorCUZVSklUU1VfUFJPQz1gdW5hbWUgLW0gfCB0ciBBQkNERUZH SElKS0xNTk9QUVJTVFVWV1hZWiBhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5emAKKwlGVUpJVFNV X1NZUz1gdW5hbWUgLXAgfCB0ciBBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWiBhYmNkZWZnaGlq a2xtbm9wcXJzdHV2d3h5eiB8IHNlZCAtZSAncy9cLy8vJ2AKKwlGVUpJVFNVX1JFTD1gZWNobyAi JFVOQU1FX1JFTEVBU0UiIHwgc2VkIC1lICdzLyAvXy8nYAogCWVjaG8gIiR7RlVKSVRTVV9QUk9D fS1mdWppdHN1LSR7RlVKSVRTVV9TWVN9JHtGVUpJVFNVX1JFTH0iCiAJZXhpdCA7OwogICAgIDUw MDA6VU5JWF9TeXN0ZW1fVjo0Lio6KikKLQlGVUpJVFNVX1NZUz1gdW5hbWUgLXAgfCB0ciAnQUJD REVGR0hJSktMTU5PUFFSU1RVVldYWVonICdhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eicgfCBz ZWQgLWUgJ3MvXC8vLydgCi0JRlVKSVRTVV9SRUw9YGVjaG8gJHtVTkFNRV9SRUxFQVNFfSB8IHRy ICdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWicgJ2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6 JyB8IHNlZCAtZSAncy8gL18vJ2AKKwlGVUpJVFNVX1NZUz1gdW5hbWUgLXAgfCB0ciBBQkNERUZH SElKS0xNTk9QUVJTVFVWV1hZWiBhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiB8IHNlZCAtZSAn cy9cLy8vJ2AKKwlGVUpJVFNVX1JFTD1gZWNobyAiJFVOQU1FX1JFTEVBU0UiIHwgdHIgQUJDREVG R0hJSktMTU5PUFFSU1RVVldYWVogYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXogfCBzZWQgLWUg J3MvIC9fLydgCiAJZWNobyAic3BhcmMtZnVqaXRzdS0ke0ZVSklUU1VfU1lTfSR7RlVKSVRTVV9S RUx9IgogCWV4aXQgOzsKICAgICBpKjg2OkJTRC8zODY6KjoqIHwgaSo4NjpCU0QvT1M6KjoqIHwg KjpBc2NlbmRcIEVtYmVkZGVkL09TOio6KikKLQllY2hvICR7VU5BTUVfTUFDSElORX0tcGMtYnNk aSR7VU5BTUVfUkVMRUFTRX0KKwllY2hvICIkVU5BTUVfTUFDSElORSItcGMtYnNkaSIkVU5BTUVf UkVMRUFTRSIKIAlleGl0IDs7CiAgICAgc3BhcmMqOkJTRC9PUzoqOiopCi0JZWNobyBzcGFyYy11 bmtub3duLWJzZGkke1VOQU1FX1JFTEVBU0V9CisJZWNobyBzcGFyYy11bmtub3duLWJzZGkiJFVO QU1FX1JFTEVBU0UiCiAJZXhpdCA7OwogICAgICo6QlNEL09TOio6KikKLQllY2hvICR7VU5BTUVf TUFDSElORX0tdW5rbm93bi1ic2RpJHtVTkFNRV9SRUxFQVNFfQorCWVjaG8gIiRVTkFNRV9NQUNI SU5FIi11bmtub3duLWJzZGkiJFVOQU1FX1JFTEVBU0UiCisJZXhpdCA7OworICAgIGFybTpGcmVl QlNEOio6KikKKwlVTkFNRV9QUk9DRVNTT1I9YHVuYW1lIC1wYAorCXNldF9jY19mb3JfYnVpbGQK KwlpZiBlY2hvIF9fQVJNX1BDU19WRlAgfCAkQ0NfRk9SX0JVSUxEIC1FIC0gMj4vZGV2L251bGwg XAorCSAgICB8IGdyZXAgLXEgX19BUk1fUENTX1ZGUAorCXRoZW4KKwkgICAgZWNobyAiJHtVTkFN RV9QUk9DRVNTT1J9Ii11bmtub3duLWZyZWVic2QiYGVjaG8gJHtVTkFNRV9SRUxFQVNFfXxzZWQg LWUgJ3MvWy0oXS4qLy8nYCItZ251ZWFiaQorCWVsc2UKKwkgICAgZWNobyAiJHtVTkFNRV9QUk9D RVNTT1J9Ii11bmtub3duLWZyZWVic2QiYGVjaG8gJHtVTkFNRV9SRUxFQVNFfXxzZWQgLWUgJ3Mv Wy0oXS4qLy8nYCItZ251ZWFiaWhmCisJZmkKIAlleGl0IDs7CiAgICAgKjpGcmVlQlNEOio6KikK IAlVTkFNRV9QUk9DRVNTT1I9YC91c3IvYmluL3VuYW1lIC1wYAotCWNhc2UgJHtVTkFNRV9QUk9D RVNTT1J9IGluCisJY2FzZSAiJFVOQU1FX1BST0NFU1NPUiIgaW4KIAkgICAgYW1kNjQpCi0JCWVj aG8geDg2XzY0LXVua25vd24tZnJlZWJzZGBlY2hvICR7VU5BTUVfUkVMRUFTRX18c2VkIC1lICdz L1stKF0uKi8vJ2AgOzsKLQkgICAgKikKLQkJZWNobyAke1VOQU1FX1BST0NFU1NPUn0tdW5rbm93 bi1mcmVlYnNkYGVjaG8gJHtVTkFNRV9SRUxFQVNFfXxzZWQgLWUgJ3MvWy0oXS4qLy8nYCA7Owor CQlVTkFNRV9QUk9DRVNTT1I9eDg2XzY0IDs7CisJICAgIGkzODYpCisJCVVOQU1FX1BST0NFU1NP Uj1pNTg2IDs7CiAJZXNhYworCWVjaG8gIiRVTkFNRV9QUk9DRVNTT1IiLXVua25vd24tZnJlZWJz ZCJgZWNobyAiJFVOQU1FX1JFTEVBU0UifHNlZCAtZSAncy9bLShdLiovLydgIgogCWV4aXQgOzsK ICAgICBpKjpDWUdXSU4qOiopCi0JZWNobyAke1VOQU1FX01BQ0hJTkV9LXBjLWN5Z3dpbgorCWVj aG8gIiRVTkFNRV9NQUNISU5FIi1wYy1jeWd3aW4KIAlleGl0IDs7Ci0gICAgKjpNSU5HVyo6KikK LQllY2hvICR7VU5BTUVfTUFDSElORX0tcGMtbWluZ3czMgorICAgICo6TUlOR1c2NCo6KikKKwll Y2hvICIkVU5BTUVfTUFDSElORSItcGMtbWluZ3c2NAogCWV4aXQgOzsKLSAgICBpKjpNU1lTKjoq KQotCWVjaG8gJHtVTkFNRV9NQUNISU5FfS1wYy1tc3lzCisgICAgKjpNSU5HVyo6KikKKwllY2hv ICIkVU5BTUVfTUFDSElORSItcGMtbWluZ3czMgogCWV4aXQgOzsKLSAgICBpKjp3aW5kb3dzMzIq OiopCi0JIyB1bmFtZSAtbSBpbmNsdWRlcyAiLXBjIiBvbiB0aGlzIHN5c3RlbS4KLQllY2hvICR7 VU5BTUVfTUFDSElORX0tbWluZ3czMgorICAgICo6TVNZUyo6KikKKwllY2hvICIkVU5BTUVfTUFD SElORSItcGMtbXN5cwogCWV4aXQgOzsKICAgICBpKjpQVyo6KikKLQllY2hvICR7VU5BTUVfTUFD SElORX0tcGMtcHczMgorCWVjaG8gIiRVTkFNRV9NQUNISU5FIi1wYy1wdzMyCiAJZXhpdCA7Owog ICAgICo6SW50ZXJpeCo6KikKLQljYXNlICR7VU5BTUVfTUFDSElORX0gaW4KKwljYXNlICIkVU5B TUVfTUFDSElORSIgaW4KIAkgICAgeDg2KQotCQllY2hvIGk1ODYtcGMtaW50ZXJpeCR7VU5BTUVf UkVMRUFTRX0KKwkJZWNobyBpNTg2LXBjLWludGVyaXgiJFVOQU1FX1JFTEVBU0UiCiAJCWV4aXQg OzsKIAkgICAgYXV0aGVudGljYW1kIHwgZ2VudWluZWludGVsIHwgRU02NFQpCi0JCWVjaG8geDg2 XzY0LXVua25vd24taW50ZXJpeCR7VU5BTUVfUkVMRUFTRX0KKwkJZWNobyB4ODZfNjQtdW5rbm93 bi1pbnRlcml4IiRVTkFNRV9SRUxFQVNFIgogCQlleGl0IDs7CiAJICAgIElBNjQpCi0JCWVjaG8g aWE2NC11bmtub3duLWludGVyaXgke1VOQU1FX1JFTEVBU0V9CisJCWVjaG8gaWE2NC11bmtub3du LWludGVyaXgiJFVOQU1FX1JFTEVBU0UiCiAJCWV4aXQgOzsKIAllc2FjIDs7Ci0gICAgWzM0NV04 NjpXaW5kb3dzXzk1OiogfCBbMzQ1XTg2OldpbmRvd3NfOTg6KiB8IFszNDVdODY6V2luZG93c19O VDoqKQotCWVjaG8gaSR7VU5BTUVfTUFDSElORX0tcGMtbWtzCi0JZXhpdCA7OwotICAgIDg2NjQ6 V2luZG93c19OVDoqKQotCWVjaG8geDg2XzY0LXBjLW1rcwotCWV4aXQgOzsKLSAgICBpKjpXaW5k b3dzX05UKjoqIHwgUGVudGl1bSo6V2luZG93c19OVCo6KikKLQkjIEhvdyBkbyB3ZSBrbm93IGl0 J3MgSW50ZXJpeCByYXRoZXIgdGhhbiB0aGUgZ2VuZXJpYyBQT1NJWCBzdWJzeXN0ZW0/Ci0JIyBJ dCBhbHNvIGNvbmZsaWN0cyB3aXRoIHByZS0yLjAgdmVyc2lvbnMgb2YgQVQmVCBVV0lOLiBTaG91 bGQgd2UKLQkjIFVOQU1FX01BQ0hJTkUgYmFzZWQgb24gdGhlIG91dHB1dCBvZiB1bmFtZSBpbnN0 ZWFkIG9mIGkzODY/Ci0JZWNobyBpNTg2LXBjLWludGVyaXgKLQlleGl0IDs7CiAgICAgaSo6VVdJ Tio6KikKLQllY2hvICR7VU5BTUVfTUFDSElORX0tcGMtdXdpbgorCWVjaG8gIiRVTkFNRV9NQUNI SU5FIi1wYy11d2luCiAJZXhpdCA7OwogICAgIGFtZDY0OkNZR1dJTio6KjoqIHwgeDg2XzY0OkNZ R1dJTio6KjoqKQotCWVjaG8geDg2XzY0LXVua25vd24tY3lnd2luCi0JZXhpdCA7OwotICAgIHAq OkNZR1dJTio6KikKLQllY2hvIHBvd2VycGNsZS11bmtub3duLWN5Z3dpbgorCWVjaG8geDg2XzY0 LXBjLWN5Z3dpbgogCWV4aXQgOzsKICAgICBwcmVwKjpTdW5PUzo1Lio6KikKLQllY2hvIHBvd2Vy cGNsZS11bmtub3duLXNvbGFyaXMyYGVjaG8gJHtVTkFNRV9SRUxFQVNFfXxzZWQgLWUgJ3MvW14u XSovLydgCisJZWNobyBwb3dlcnBjbGUtdW5rbm93bi1zb2xhcmlzMiJgZWNobyAiJFVOQU1FX1JF TEVBU0UifHNlZCAtZSAncy9bXi5dKi8vJ2AiCiAJZXhpdCA7OwogICAgICo6R05VOio6KikKIAkj IHRoZSBHTlUgc3lzdGVtCi0JZWNobyBgZWNobyAke1VOQU1FX01BQ0hJTkV9fHNlZCAtZSAncyxb LS9dLiokLCwnYC11bmtub3duLWdudWBlY2hvICR7VU5BTUVfUkVMRUFTRX18c2VkIC1lICdzLC8u KiQsLCdgCisJZWNobyAiYGVjaG8gIiRVTkFNRV9NQUNISU5FInxzZWQgLWUgJ3MsWy0vXS4qJCws J2AtdW5rbm93bi0kTElCQ2BlY2hvICIkVU5BTUVfUkVMRUFTRSJ8c2VkIC1lICdzLC8uKiQsLCdg IgogCWV4aXQgOzsKICAgICAqOkdOVS8qOio6KikKIAkjIG90aGVyIHN5c3RlbXMgd2l0aCBHTlUg bGliYyBhbmQgdXNlcmxhbmQKLQllY2hvICR7VU5BTUVfTUFDSElORX0tdW5rbm93bi1gZWNobyAk e1VOQU1FX1NZU1RFTX0gfCBzZWQgJ3MsXlteL10qLywsJyB8IHRyICdbQS1aXScgJ1thLXpdJ2Bg ZWNobyAke1VOQU1FX1JFTEVBU0V9fHNlZCAtZSAncy9bLShdLiovLydgLWdudQorCWVjaG8gIiRV TkFNRV9NQUNISU5FLXVua25vd24tYGVjaG8gIiRVTkFNRV9TWVNURU0iIHwgc2VkICdzLF5bXi9d Ki8sLCcgfCB0ciAiWzp1cHBlcjpdIiAiWzpsb3dlcjpdImBgZWNobyAiJFVOQU1FX1JFTEVBU0Ui fHNlZCAtZSAncy9bLShdLiovLydgLSRMSUJDIgogCWV4aXQgOzsKLSAgICBpKjg2Ok1pbml4Oio6 KikKLQllY2hvICR7VU5BTUVfTUFDSElORX0tcGMtbWluaXgKKyAgICAqOk1pbml4Oio6KikKKwll Y2hvICIkVU5BTUVfTUFDSElORSItdW5rbm93bi1taW5peAogCWV4aXQgOzsKICAgICBhYXJjaDY0 OkxpbnV4Oio6KikKLQllY2hvICR7VU5BTUVfTUFDSElORX0tdW5rbm93bi1saW51eC1nbnUKKwll Y2hvICIkVU5BTUVfTUFDSElORSItdW5rbm93bi1saW51eC0iJExJQkMiCiAJZXhpdCA7OwogICAg IGFhcmNoNjRfYmU6TGludXg6KjoqKQogCVVOQU1FX01BQ0hJTkU9YWFyY2g2NF9iZQotCWVjaG8g JHtVTkFNRV9NQUNISU5FfS11bmtub3duLWxpbnV4LWdudQorCWVjaG8gIiRVTkFNRV9NQUNISU5F Ii11bmtub3duLWxpbnV4LSIkTElCQyIKIAlleGl0IDs7CiAgICAgYWxwaGE6TGludXg6KjoqKQog CWNhc2UgYHNlZCAtbiAnL15jcHUgbW9kZWwvcy9eLio6IFwoLipcKS9cMS9wJyA8IC9wcm9jL2Nw dWluZm9gIGluCkBAIC04NzksMTI1ICs5MjgsMTY5IEBAIEVPRgogCSAgRVY2OCopIFVOQU1FX01B Q0hJTkU9YWxwaGFldjY4IDs7CiAJZXNhYwogCW9iamR1bXAgLS1wcml2YXRlLWhlYWRlcnMgL2Jp bi9zaCB8IGdyZXAgLXEgbGQuc28uMQotCWlmIHRlc3QgIiQ/IiA9IDAgOyB0aGVuIExJQkM9Imxp YmMxIiA7IGVsc2UgTElCQz0iIiA7IGZpCi0JZWNobyAke1VOQU1FX01BQ0hJTkV9LXVua25vd24t bGludXgtZ251JHtMSUJDfQorCWlmIHRlc3QgIiQ/IiA9IDAgOyB0aGVuIExJQkM9Z251bGliYzEg OyBmaQorCWVjaG8gIiRVTkFNRV9NQUNISU5FIi11bmtub3duLWxpbnV4LSIkTElCQyIKKwlleGl0 IDs7CisgICAgYXJjOkxpbnV4Oio6KiB8IGFyY2ViOkxpbnV4Oio6KikKKwllY2hvICIkVU5BTUVf TUFDSElORSItdW5rbm93bi1saW51eC0iJExJQkMiCiAJZXhpdCA7OwogICAgIGFybSo6TGludXg6 KjoqKQotCWV2YWwgJHNldF9jY19mb3JfYnVpbGQKKwlzZXRfY2NfZm9yX2J1aWxkCiAJaWYgZWNo byBfX0FSTV9FQUJJX18gfCAkQ0NfRk9SX0JVSUxEIC1FIC0gMj4vZGV2L251bGwgXAogCSAgICB8 IGdyZXAgLXEgX19BUk1fRUFCSV9fCiAJdGhlbgotCSAgICBlY2hvICR7VU5BTUVfTUFDSElORX0t dW5rbm93bi1saW51eC1nbnUKKwkgICAgZWNobyAiJFVOQU1FX01BQ0hJTkUiLXVua25vd24tbGlu dXgtIiRMSUJDIgogCWVsc2UKIAkgICAgaWYgZWNobyBfX0FSTV9QQ1NfVkZQIHwgJENDX0ZPUl9C VUlMRCAtRSAtIDI+L2Rldi9udWxsIFwKIAkJfCBncmVwIC1xIF9fQVJNX1BDU19WRlAKIAkgICAg dGhlbgotCQllY2hvICR7VU5BTUVfTUFDSElORX0tdW5rbm93bi1saW51eC1nbnVlYWJpCisJCWVj aG8gIiRVTkFNRV9NQUNISU5FIi11bmtub3duLWxpbnV4LSIkTElCQyJlYWJpCiAJICAgIGVsc2UK LQkJZWNobyAke1VOQU1FX01BQ0hJTkV9LXVua25vd24tbGludXgtZ251ZWFiaWhmCisJCWVjaG8g IiRVTkFNRV9NQUNISU5FIi11bmtub3duLWxpbnV4LSIkTElCQyJlYWJpaGYKIAkgICAgZmkKIAlm aQogCWV4aXQgOzsKICAgICBhdnIzMio6TGludXg6KjoqKQotCWVjaG8gJHtVTkFNRV9NQUNISU5F fS11bmtub3duLWxpbnV4LWdudQorCWVjaG8gIiRVTkFNRV9NQUNISU5FIi11bmtub3duLWxpbnV4 LSIkTElCQyIKIAlleGl0IDs7CiAgICAgY3JpczpMaW51eDoqOiopCi0JZWNobyAke1VOQU1FX01B Q0hJTkV9LWF4aXMtbGludXgtZ251CisJZWNobyAiJFVOQU1FX01BQ0hJTkUiLWF4aXMtbGludXgt IiRMSUJDIgogCWV4aXQgOzsKICAgICBjcmlzdjMyOkxpbnV4Oio6KikKLQllY2hvICR7VU5BTUVf TUFDSElORX0tYXhpcy1saW51eC1nbnUKKwllY2hvICIkVU5BTUVfTUFDSElORSItYXhpcy1saW51 eC0iJExJQkMiCisJZXhpdCA7OworICAgIGUyazpMaW51eDoqOiopCisJZWNobyAiJFVOQU1FX01B Q0hJTkUiLXVua25vd24tbGludXgtIiRMSUJDIgogCWV4aXQgOzsKICAgICBmcnY6TGludXg6Kjoq KQotCWVjaG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3duLWxpbnV4LWdudQorCWVjaG8gIiRVTkFN RV9NQUNISU5FIi11bmtub3duLWxpbnV4LSIkTElCQyIKIAlleGl0IDs7CiAgICAgaGV4YWdvbjpM aW51eDoqOiopCi0JZWNobyAke1VOQU1FX01BQ0hJTkV9LXVua25vd24tbGludXgtZ251CisJZWNo byAiJFVOQU1FX01BQ0hJTkUiLXVua25vd24tbGludXgtIiRMSUJDIgogCWV4aXQgOzsKICAgICBp Kjg2OkxpbnV4Oio6KikKLQlMSUJDPWdudQotCWV2YWwgJHNldF9jY19mb3JfYnVpbGQKLQlzZWQg J3MvXgkvLycgPDwgRU9GID4kZHVtbXkuYwotCSNpZmRlZiBfX2RpZXRsaWJjX18KLQlMSUJDPWRp ZXRsaWJjCi0JI2VuZGlmCi1FT0YKLQlldmFsIGAkQ0NfRk9SX0JVSUxEIC1FICRkdW1teS5jIDI+ L2Rldi9udWxsIHwgZ3JlcCAnXkxJQkMnYAotCWVjaG8gIiR7VU5BTUVfTUFDSElORX0tcGMtbGlu dXgtJHtMSUJDfSIKKwllY2hvICIkVU5BTUVfTUFDSElORSItcGMtbGludXgtIiRMSUJDIgogCWV4 aXQgOzsKICAgICBpYTY0OkxpbnV4Oio6KikKLQllY2hvICR7VU5BTUVfTUFDSElORX0tdW5rbm93 bi1saW51eC1nbnUKKwllY2hvICIkVU5BTUVfTUFDSElORSItdW5rbm93bi1saW51eC0iJExJQkMi CisJZXhpdCA7OworICAgIGsxb206TGludXg6KjoqKQorCWVjaG8gIiRVTkFNRV9NQUNISU5FIi11 bmtub3duLWxpbnV4LSIkTElCQyIKIAlleGl0IDs7CiAgICAgbTMycio6TGludXg6KjoqKQotCWVj aG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3duLWxpbnV4LWdudQorCWVjaG8gIiRVTkFNRV9NQUNI SU5FIi11bmtub3duLWxpbnV4LSIkTElCQyIKIAlleGl0IDs7CiAgICAgbTY4KjpMaW51eDoqOiop Ci0JZWNobyAke1VOQU1FX01BQ0hJTkV9LXVua25vd24tbGludXgtZ251CisJZWNobyAiJFVOQU1F X01BQ0hJTkUiLXVua25vd24tbGludXgtIiRMSUJDIgogCWV4aXQgOzsKICAgICBtaXBzOkxpbnV4 Oio6KiB8IG1pcHM2NDpMaW51eDoqOiopCi0JZXZhbCAkc2V0X2NjX2Zvcl9idWlsZAotCXNlZCAn cy9eCS8vJyA8PCBFT0YgPiRkdW1teS5jCisJc2V0X2NjX2Zvcl9idWlsZAorCUlTX0dMSUJDPTAK Kwl0ZXN0IHgiJHtMSUJDfSIgPSB4Z251ICYmIElTX0dMSUJDPTEKKwlzZWQgJ3MvXgkvLycgPDwg RU9GID4gIiRkdW1teS5jIgogCSN1bmRlZiBDUFUKLQkjdW5kZWYgJHtVTkFNRV9NQUNISU5FfQot CSN1bmRlZiAke1VOQU1FX01BQ0hJTkV9ZWwKKwkjdW5kZWYgbWlwcworCSN1bmRlZiBtaXBzZWwK KwkjdW5kZWYgbWlwczY0CisJI3VuZGVmIG1pcHM2NGVsCisJI2lmICR7SVNfR0xJQkN9ICYmIGRl ZmluZWQoX0FCSTY0KQorCUxJQkNBQkk9Z251YWJpNjQKKwkjZWxzZQorCSNpZiAke0lTX0dMSUJD fSAmJiBkZWZpbmVkKF9BQklOMzIpCisJTElCQ0FCST1nbnVhYmluMzIKKwkjZWxzZQorCUxJQkNB Qkk9JHtMSUJDfQorCSNlbmRpZgorCSNlbmRpZgorCisJI2lmICR7SVNfR0xJQkN9ICYmIGRlZmlu ZWQoX19taXBzNjQpICYmIGRlZmluZWQoX19taXBzX2lzYV9yZXYpICYmIF9fbWlwc19pc2FfcmV2 Pj02CisJQ1BVPW1pcHNpc2E2NHI2CisJI2Vsc2UKKwkjaWYgJHtJU19HTElCQ30gJiYgIWRlZmlu ZWQoX19taXBzNjQpICYmIGRlZmluZWQoX19taXBzX2lzYV9yZXYpICYmIF9fbWlwc19pc2FfcmV2 Pj02CisJQ1BVPW1pcHNpc2EzMnI2CisJI2Vsc2UKKwkjaWYgZGVmaW5lZChfX21pcHM2NCkKKwlD UFU9bWlwczY0CisJI2Vsc2UKKwlDUFU9bWlwcworCSNlbmRpZgorCSNlbmRpZgorCSNlbmRpZgor CiAJI2lmIGRlZmluZWQoX19NSVBTRUxfXykgfHwgZGVmaW5lZChfX01JUFNFTCkgfHwgZGVmaW5l ZChfTUlQU0VMKSB8fCBkZWZpbmVkKE1JUFNFTCkKLQlDUFU9JHtVTkFNRV9NQUNISU5FfWVsCisJ TUlQU19FTkRJQU49ZWwKIAkjZWxzZQogCSNpZiBkZWZpbmVkKF9fTUlQU0VCX18pIHx8IGRlZmlu ZWQoX19NSVBTRUIpIHx8IGRlZmluZWQoX01JUFNFQikgfHwgZGVmaW5lZChNSVBTRUIpCi0JQ1BV PSR7VU5BTUVfTUFDSElORX0KKwlNSVBTX0VORElBTj0KIAkjZWxzZQotCUNQVT0KKwlNSVBTX0VO RElBTj0KIAkjZW5kaWYKIAkjZW5kaWYKIEVPRgotCWV2YWwgYCRDQ19GT1JfQlVJTEQgLUUgJGR1 bW15LmMgMj4vZGV2L251bGwgfCBncmVwICdeQ1BVJ2AKLQl0ZXN0IHgiJHtDUFV9IiAhPSB4ICYm IHsgZWNobyAiJHtDUFV9LXVua25vd24tbGludXgtZ251IjsgZXhpdDsgfQorCWV2YWwgImAkQ0Nf Rk9SX0JVSUxEIC1FICIkZHVtbXkuYyIgMj4vZGV2L251bGwgfCBncmVwICdeQ1BVXHxeTUlQU19F TkRJQU5cfF5MSUJDQUJJJ2AiCisJdGVzdCAieCRDUFUiICE9IHggJiYgeyBlY2hvICIkQ1BVJHtN SVBTX0VORElBTn0tdW5rbm93bi1saW51eC0kTElCQ0FCSSI7IGV4aXQ7IH0KIAk7OwotICAgIG9y MzI6TGludXg6KjoqKQotCWVjaG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3duLWxpbnV4LWdudQor ICAgIG1pcHM2NGVsOkxpbnV4Oio6KikKKwllY2hvICIkVU5BTUVfTUFDSElORSItdW5rbm93bi1s aW51eC0iJExJQkMiCisJZXhpdCA7OworICAgIG9wZW5yaXNjKjpMaW51eDoqOiopCisJZWNobyBv cjFrLXVua25vd24tbGludXgtIiRMSUJDIgorCWV4aXQgOzsKKyAgICBvcjMyOkxpbnV4Oio6KiB8 IG9yMWsqOkxpbnV4Oio6KikKKwllY2hvICIkVU5BTUVfTUFDSElORSItdW5rbm93bi1saW51eC0i JExJQkMiCiAJZXhpdCA7OwogICAgIHBhZHJlOkxpbnV4Oio6KikKLQllY2hvIHNwYXJjLXVua25v d24tbGludXgtZ251CisJZWNobyBzcGFyYy11bmtub3duLWxpbnV4LSIkTElCQyIKIAlleGl0IDs7 CiAgICAgcGFyaXNjNjQ6TGludXg6KjoqIHwgaHBwYTY0OkxpbnV4Oio6KikKLQllY2hvIGhwcGE2 NC11bmtub3duLWxpbnV4LWdudQorCWVjaG8gaHBwYTY0LXVua25vd24tbGludXgtIiRMSUJDIgog CWV4aXQgOzsKICAgICBwYXJpc2M6TGludXg6KjoqIHwgaHBwYTpMaW51eDoqOiopCiAJIyBMb29r IGZvciBDUFUgbGV2ZWwKIAljYXNlIGBncmVwICdeY3B1W15hLXpdKjonIC9wcm9jL2NwdWluZm8g Mj4vZGV2L251bGwgfCBjdXQgLWQnICcgLWYyYCBpbgotCSAgUEE3KikgZWNobyBocHBhMS4xLXVu a25vd24tbGludXgtZ251IDs7Ci0JICBQQTgqKSBlY2hvIGhwcGEyLjAtdW5rbm93bi1saW51eC1n bnUgOzsKLQkgICopICAgIGVjaG8gaHBwYS11bmtub3duLWxpbnV4LWdudSA7OworCSAgUEE3Kikg ZWNobyBocHBhMS4xLXVua25vd24tbGludXgtIiRMSUJDIiA7OworCSAgUEE4KikgZWNobyBocHBh Mi4wLXVua25vd24tbGludXgtIiRMSUJDIiA7OworCSAgKikgICAgZWNobyBocHBhLXVua25vd24t bGludXgtIiRMSUJDIiA7OwogCWVzYWMKIAlleGl0IDs7CiAgICAgcHBjNjQ6TGludXg6KjoqKQot CWVjaG8gcG93ZXJwYzY0LXVua25vd24tbGludXgtZ251CisJZWNobyBwb3dlcnBjNjQtdW5rbm93 bi1saW51eC0iJExJQkMiCiAJZXhpdCA7OwogICAgIHBwYzpMaW51eDoqOiopCi0JZWNobyBwb3dl cnBjLXVua25vd24tbGludXgtZ251CisJZWNobyBwb3dlcnBjLXVua25vd24tbGludXgtIiRMSUJD IgorCWV4aXQgOzsKKyAgICBwcGM2NGxlOkxpbnV4Oio6KikKKwllY2hvIHBvd2VycGM2NGxlLXVu a25vd24tbGludXgtIiRMSUJDIgorCWV4aXQgOzsKKyAgICBwcGNsZTpMaW51eDoqOiopCisJZWNo byBwb3dlcnBjbGUtdW5rbm93bi1saW51eC0iJExJQkMiCisJZXhpdCA7OworICAgIHJpc2N2MzI6 TGludXg6KjoqIHwgcmlzY3Y2NDpMaW51eDoqOiopCisJZWNobyAiJFVOQU1FX01BQ0hJTkUiLXVu a25vd24tbGludXgtIiRMSUJDIgogCWV4aXQgOzsKICAgICBzMzkwOkxpbnV4Oio6KiB8IHMzOTB4 OkxpbnV4Oio6KikKLQllY2hvICR7VU5BTUVfTUFDSElORX0taWJtLWxpbnV4CisJZWNobyAiJFVO QU1FX01BQ0hJTkUiLWlibS1saW51eC0iJExJQkMiCiAJZXhpdCA7OwogICAgIHNoNjQqOkxpbnV4 Oio6KikKLQllY2hvICR7VU5BTUVfTUFDSElORX0tdW5rbm93bi1saW51eC1nbnUKKwllY2hvICIk VU5BTUVfTUFDSElORSItdW5rbm93bi1saW51eC0iJExJQkMiCiAJZXhpdCA7OwogICAgIHNoKjpM aW51eDoqOiopCi0JZWNobyAke1VOQU1FX01BQ0hJTkV9LXVua25vd24tbGludXgtZ251CisJZWNo byAiJFVOQU1FX01BQ0hJTkUiLXVua25vd24tbGludXgtIiRMSUJDIgogCWV4aXQgOzsKICAgICBz cGFyYzpMaW51eDoqOiogfCBzcGFyYzY0OkxpbnV4Oio6KikKLQllY2hvICR7VU5BTUVfTUFDSElO RX0tdW5rbm93bi1saW51eC1nbnUKKwllY2hvICIkVU5BTUVfTUFDSElORSItdW5rbm93bi1saW51 eC0iJExJQkMiCiAJZXhpdCA7OwogICAgIHRpbGUqOkxpbnV4Oio6KikKLQllY2hvICR7VU5BTUVf TUFDSElORX0tdW5rbm93bi1saW51eC1nbnUKKwllY2hvICIkVU5BTUVfTUFDSElORSItdW5rbm93 bi1saW51eC0iJExJQkMiCiAJZXhpdCA7OwogICAgIHZheDpMaW51eDoqOiopCi0JZWNobyAke1VO QU1FX01BQ0hJTkV9LWRlYy1saW51eC1nbnUKKwllY2hvICIkVU5BTUVfTUFDSElORSItZGVjLWxp bnV4LSIkTElCQyIKIAlleGl0IDs7CiAgICAgeDg2XzY0OkxpbnV4Oio6KikKLQllY2hvICR7VU5B TUVfTUFDSElORX0tdW5rbm93bi1saW51eC1nbnUKKwllY2hvICIkVU5BTUVfTUFDSElORSItcGMt bGludXgtIiRMSUJDIgogCWV4aXQgOzsKICAgICB4dGVuc2EqOkxpbnV4Oio6KikKLQllY2hvICR7 VU5BTUVfTUFDSElORX0tdW5rbm93bi1saW51eC1nbnUKKwllY2hvICIkVU5BTUVfTUFDSElORSIt dW5rbm93bi1saW51eC0iJExJQkMiCiAJZXhpdCA7OwogICAgIGkqODY6RFlOSVgvcHR4OjQqOiop CiAJIyBwdHggNC4wIGRvZXMgdW5hbWUgLXMgY29ycmVjdGx5LCB3aXRoIERZTklYL3B0eCBpbiB0 aGVyZS4KQEAgLTEwMTEsMzQgKzExMDQsMzQgQEAgRU9GCiAJIyBJIGFtIG5vdCBwb3NpdGl2ZSB0 aGF0IG90aGVyIFNWUjQgc3lzdGVtcyB3b24ndCBtYXRjaCB0aGlzLAogCSMgSSBqdXN0IGhhdmUg dG8gaG9wZS4gIC0tIHJtcy4KIAkjIFVzZSBzeXN2NC4ydXcuLi4gc28gdGhhdCBzeXN2NCogbWF0 Y2hlcyBpdC4KLQllY2hvICR7VU5BTUVfTUFDSElORX0tcGMtc3lzdjQuMnV3JHtVTkFNRV9WRVJT SU9OfQorCWVjaG8gIiRVTkFNRV9NQUNISU5FIi1wYy1zeXN2NC4ydXciJFVOQU1FX1ZFUlNJT04i CiAJZXhpdCA7OwogICAgIGkqODY6T1MvMjoqOiopCiAJIyBJZiB3ZSB3ZXJlIGFibGUgdG8gZmlu ZCBgdW5hbWUnLCB0aGVuIEVNWCBVbml4IGNvbXBhdGliaWxpdHkKIAkjIGlzIHByb2JhYmx5IGlu c3RhbGxlZC4KLQllY2hvICR7VU5BTUVfTUFDSElORX0tcGMtb3MyLWVteAorCWVjaG8gIiRVTkFN RV9NQUNISU5FIi1wYy1vczItZW14CiAJZXhpdCA7OwogICAgIGkqODY6WFRTLTMwMDoqOlNUT1Ap Ci0JZWNobyAke1VOQU1FX01BQ0hJTkV9LXVua25vd24tc3RvcAorCWVjaG8gIiRVTkFNRV9NQUNI SU5FIi11bmtub3duLXN0b3AKIAlleGl0IDs7CiAgICAgaSo4NjphdGhlb3M6KjoqKQotCWVjaG8g JHtVTkFNRV9NQUNISU5FfS11bmtub3duLWF0aGVvcworCWVjaG8gIiRVTkFNRV9NQUNISU5FIi11 bmtub3duLWF0aGVvcwogCWV4aXQgOzsKICAgICBpKjg2OnN5bGxhYmxlOio6KikKLQllY2hvICR7 VU5BTUVfTUFDSElORX0tcGMtc3lsbGFibGUKKwllY2hvICIkVU5BTUVfTUFDSElORSItcGMtc3ls bGFibGUKIAlleGl0IDs7CiAgICAgaSo4NjpMeW54T1M6Mi4qOiogfCBpKjg2Okx5bnhPUzozLlsw MV0qOiogfCBpKjg2Okx5bnhPUzo0LlswMl0qOiopCi0JZWNobyBpMzg2LXVua25vd24tbHlueG9z JHtVTkFNRV9SRUxFQVNFfQorCWVjaG8gaTM4Ni11bmtub3duLWx5bnhvcyIkVU5BTUVfUkVMRUFT RSIKIAlleGl0IDs7CiAgICAgaSo4NjoqRE9TOio6KikKLQllY2hvICR7VU5BTUVfTUFDSElORX0t cGMtbXNkb3NkamdwcAorCWVjaG8gIiRVTkFNRV9NQUNISU5FIi1wYy1tc2Rvc2RqZ3BwCiAJZXhp dCA7OwotICAgIGkqODY6Kjo0Lio6KiB8IGkqODY6U1lTVEVNX1Y6NC4qOiopCi0JVU5BTUVfUkVM PWBlY2hvICR7VU5BTUVfUkVMRUFTRX0gfCBzZWQgJ3MvXC9NUCQvLydgCisgICAgaSo4NjoqOjQu KjoqKQorCVVOQU1FX1JFTD1gZWNobyAiJFVOQU1FX1JFTEVBU0UiIHwgc2VkICdzL1wvTVAkLy8n YAogCWlmIGdyZXAgTm92ZWxsIC91c3IvaW5jbHVkZS9saW5rLmggPi9kZXYvbnVsbCAyPi9kZXYv bnVsbDsgdGhlbgotCQllY2hvICR7VU5BTUVfTUFDSElORX0tdW5pdmVsLXN5c3Yke1VOQU1FX1JF TH0KKwkJZWNobyAiJFVOQU1FX01BQ0hJTkUiLXVuaXZlbC1zeXN2IiRVTkFNRV9SRUwiCiAJZWxz ZQotCQllY2hvICR7VU5BTUVfTUFDSElORX0tcGMtc3lzdiR7VU5BTUVfUkVMfQorCQllY2hvICIk VU5BTUVfTUFDSElORSItcGMtc3lzdiIkVU5BTUVfUkVMIgogCWZpCiAJZXhpdCA7OwogICAgIGkq ODY6Kjo1Ols2NzhdKikKQEAgLTEwNDgsMTIgKzExNDEsMTIgQEAgRU9GCiAJICAgICpQZW50aXVt KQkgICAgIFVOQU1FX01BQ0hJTkU9aTU4NiA7OwogCSAgICAqUGVudCp8KkNlbGVyb24pIFVOQU1F X01BQ0hJTkU9aTY4NiA7OwogCWVzYWMKLQllY2hvICR7VU5BTUVfTUFDSElORX0tdW5rbm93bi1z eXN2JHtVTkFNRV9SRUxFQVNFfSR7VU5BTUVfU1lTVEVNfSR7VU5BTUVfVkVSU0lPTn0KKwllY2hv ICIkVU5BTUVfTUFDSElORS11bmtub3duLXN5c3Yke1VOQU1FX1JFTEVBU0V9JHtVTkFNRV9TWVNU RU19JHtVTkFNRV9WRVJTSU9OfSIKIAlleGl0IDs7CiAgICAgaSo4NjoqOjMuMjoqKQogCWlmIHRl c3QgLWYgL3Vzci9vcHRpb25zL2NiLm5hbWU7IHRoZW4KIAkJVU5BTUVfUkVMPWBzZWQgLW4gJ3Mv LipWZXJzaW9uIC8vcCcgPC91c3Ivb3B0aW9ucy9jYi5uYW1lYAotCQllY2hvICR7VU5BTUVfTUFD SElORX0tcGMtaXNjJFVOQU1FX1JFTAorCQllY2hvICIkVU5BTUVfTUFDSElORSItcGMtaXNjIiRV TkFNRV9SRUwiCiAJZWxpZiAvYmluL3VuYW1lIC1YIDI+L2Rldi9udWxsID4vZGV2L251bGwgOyB0 aGVuCiAJCVVOQU1FX1JFTD1gKC9iaW4vdW5hbWUgLVh8Z3JlcCBSZWxlYXNlfHNlZCAtZSAncy8u Kj0gLy8nKWAKIAkJKC9iaW4vdW5hbWUgLVh8Z3JlcCBpODA0ODYgPi9kZXYvbnVsbCkgJiYgVU5B TUVfTUFDSElORT1pNDg2CkBAIC0xMDYzLDkgKzExNTYsOSBAQCBFT0YKIAkJCSYmIFVOQU1FX01B Q0hJTkU9aTY4NgogCQkoL2Jpbi91bmFtZSAtWHxncmVwICdeTWFjaGluZS4qUGVudGl1bSBQcm8n ID4vZGV2L251bGwpIFwKIAkJCSYmIFVOQU1FX01BQ0hJTkU9aTY4NgotCQllY2hvICR7VU5BTUVf TUFDSElORX0tcGMtc2NvJFVOQU1FX1JFTAorCQllY2hvICIkVU5BTUVfTUFDSElORSItcGMtc2Nv IiRVTkFNRV9SRUwiCiAJZWxzZQotCQllY2hvICR7VU5BTUVfTUFDSElORX0tcGMtc3lzdjMyCisJ CWVjaG8gIiRVTkFNRV9NQUNISU5FIi1wYy1zeXN2MzIKIAlmaQogCWV4aXQgOzsKICAgICBwYzoq Oio6KikKQEAgLTEwNzMsNyArMTE2Niw3IEBAIEVPRgogCSMgdW5hbWUgLW0gcHJpbnRzIGZvciBE SkdQUCBhbHdheXMgJ3BjJywgYnV0IGl0IHByaW50cyBub3RoaW5nIGFib3V0CiAJIyB0aGUgcHJv Y2Vzc29yLCBzbyB3ZSBwbGF5IHNhZmUgYnkgYXNzdW1pbmcgaTU4Ni4KIAkjIE5vdGU6IHdoYXRl dmVyIHRoaXMgaXMsIGl0IE1VU1QgYmUgdGhlIHNhbWUgYXMgd2hhdCBjb25maWcuc3ViCi0JIyBw cmludHMgZm9yIHRoZSAiZGpncHAiIGhvc3QsIG9yIGVsc2UgR0RCIGNvbmZpZ3VyeSB3aWxsIGRl Y2lkZSB0aGF0CisJIyBwcmludHMgZm9yIHRoZSAiZGpncHAiIGhvc3QsIG9yIGVsc2UgR0RCIGNv bmZpZ3VyZSB3aWxsIGRlY2lkZSB0aGF0CiAJIyB0aGlzIGlzIGEgY3Jvc3MtYnVpbGQuCiAJZWNo byBpNTg2LXBjLW1zZG9zZGpncHAKIAlleGl0IDs7CkBAIC0xMDg1LDkgKzExNzgsOSBAQCBFT0YK IAlleGl0IDs7CiAgICAgaTg2MDoqOjQuKjoqKSAjIGk4NjAtU1ZSNAogCWlmIGdyZXAgU3RhcmRl bnQgL3Vzci9pbmNsdWRlL3N5cy91YWRtaW4uaCA+L2Rldi9udWxsIDI+JjEgOyB0aGVuCi0JICBl Y2hvIGk4NjAtc3RhcmRlbnQtc3lzdiR7VU5BTUVfUkVMRUFTRX0gIyBTdGFyZGVudCBWaXN0cmEg aTg2MC1TVlI0CisJICBlY2hvIGk4NjAtc3RhcmRlbnQtc3lzdiIkVU5BTUVfUkVMRUFTRSIgIyBT dGFyZGVudCBWaXN0cmEgaTg2MC1TVlI0CiAJZWxzZSAjIEFkZCBvdGhlciBpODYwLVNWUjQgdmVu ZG9ycyBiZWxvdyBhcyB0aGV5IGFyZSBkaXNjb3ZlcmVkLgotCSAgZWNobyBpODYwLXVua25vd24t c3lzdiR7VU5BTUVfUkVMRUFTRX0gICMgVW5rbm93biBpODYwLVNWUjQKKwkgIGVjaG8gaTg2MC11 bmtub3duLXN5c3YiJFVOQU1FX1JFTEVBU0UiICAjIFVua25vd24gaTg2MC1TVlI0CiAJZmkKIAll eGl0IDs7CiAgICAgbWluaSo6Q1RJWDpTWVMqNToqKQpAQCAtMTEwNyw5ICsxMjAwLDkgQEAgRU9G CiAJdGVzdCAtciAvZXRjLy5yZWxpZCBcCiAJJiYgT1NfUkVMPS5gc2VkIC1uICdzL1teIF0qIFte IF0qIFwoWzAtOV1bMC05XVwpLiovXDEvcCcgPCAvZXRjLy5yZWxpZGAKIAkvYmluL3VuYW1lIC1w IDI+L2Rldi9udWxsIHwgZ3JlcCA4NiA+L2Rldi9udWxsIFwKLQkgICYmIHsgZWNobyBpNDg2LW5j ci1zeXN2NC4zJHtPU19SRUx9OyBleGl0OyB9CisJICAmJiB7IGVjaG8gaTQ4Ni1uY3Itc3lzdjQu MyIkT1NfUkVMIjsgZXhpdDsgfQogCS9iaW4vdW5hbWUgLXAgMj4vZGV2L251bGwgfCAvYmluL2dy ZXAgZW50aXVtID4vZGV2L251bGwgXAotCSAgJiYgeyBlY2hvIGk1ODYtbmNyLXN5c3Y0LjMke09T X1JFTH07IGV4aXQ7IH0gOzsKKwkgICYmIHsgZWNobyBpNTg2LW5jci1zeXN2NC4zIiRPU19SRUwi OyBleGl0OyB9IDs7CiAgICAgM1szNF0/PzoqOjQuMDoqIHwgM1szNF0/PywqOio6NC4wOiopCiAJ L2Jpbi91bmFtZSAtcCAyPi9kZXYvbnVsbCB8IGdyZXAgODYgPi9kZXYvbnVsbCBcCiAJICAmJiB7 IGVjaG8gaTQ4Ni1uY3Itc3lzdjQ7IGV4aXQ7IH0gOzsKQEAgLTExMTgsMjggKzEyMTEsMjggQEAg RU9GCiAJdGVzdCAtciAvZXRjLy5yZWxpZCBcCiAJICAgICYmIE9TX1JFTD0uYHNlZCAtbiAncy9b XiBdKiBbXiBdKiBcKFswLTldWzAtOV1cKS4qL1wxL3AnIDwgL2V0Yy8ucmVsaWRgCiAJL2Jpbi91 bmFtZSAtcCAyPi9kZXYvbnVsbCB8IGdyZXAgODYgPi9kZXYvbnVsbCBcCi0JICAgICYmIHsgZWNo byBpNDg2LW5jci1zeXN2NC4zJHtPU19SRUx9OyBleGl0OyB9CisJICAgICYmIHsgZWNobyBpNDg2 LW5jci1zeXN2NC4zIiRPU19SRUwiOyBleGl0OyB9CiAJL2Jpbi91bmFtZSAtcCAyPi9kZXYvbnVs bCB8IC9iaW4vZ3JlcCBlbnRpdW0gPi9kZXYvbnVsbCBcCi0JICAgICYmIHsgZWNobyBpNTg2LW5j ci1zeXN2NC4zJHtPU19SRUx9OyBleGl0OyB9CisJICAgICYmIHsgZWNobyBpNTg2LW5jci1zeXN2 NC4zIiRPU19SRUwiOyBleGl0OyB9CiAJL2Jpbi91bmFtZSAtcCAyPi9kZXYvbnVsbCB8IC9iaW4v Z3JlcCBwdGVyb24gPi9kZXYvbnVsbCBcCi0JICAgICYmIHsgZWNobyBpNTg2LW5jci1zeXN2NC4z JHtPU19SRUx9OyBleGl0OyB9IDs7CisJICAgICYmIHsgZWNobyBpNTg2LW5jci1zeXN2NC4zIiRP U19SRUwiOyBleGl0OyB9IDs7CiAgICAgbTY4KjpMeW54T1M6Mi4qOiogfCBtNjgqOkx5bnhPUzoz LjAqOiopCi0JZWNobyBtNjhrLXVua25vd24tbHlueG9zJHtVTkFNRV9SRUxFQVNFfQorCWVjaG8g bTY4ay11bmtub3duLWx5bnhvcyIkVU5BTUVfUkVMRUFTRSIKIAlleGl0IDs7CiAgICAgbWM2ODAz MDpVTklYX1N5c3RlbV9WOjQuKjoqKQogCWVjaG8gbTY4ay1hdGFyaS1zeXN2NAogCWV4aXQgOzsK ICAgICBUU1VOQU1JOkx5bnhPUzoyLio6KikKLQllY2hvIHNwYXJjLXVua25vd24tbHlueG9zJHtV TkFNRV9SRUxFQVNFfQorCWVjaG8gc3BhcmMtdW5rbm93bi1seW54b3MiJFVOQU1FX1JFTEVBU0Ui CiAJZXhpdCA7OwogICAgIHJzNjAwMDpMeW54T1M6Mi4qOiopCi0JZWNobyByczYwMDAtdW5rbm93 bi1seW54b3Mke1VOQU1FX1JFTEVBU0V9CisJZWNobyByczYwMDAtdW5rbm93bi1seW54b3MiJFVO QU1FX1JFTEVBU0UiCiAJZXhpdCA7OwogICAgIFBvd2VyUEM6THlueE9TOjIuKjoqIHwgUG93ZXJQ QzpMeW54T1M6My5bMDFdKjoqIHwgUG93ZXJQQzpMeW54T1M6NC5bMDJdKjoqKQotCWVjaG8gcG93 ZXJwYy11bmtub3duLWx5bnhvcyR7VU5BTUVfUkVMRUFTRX0KKwllY2hvIHBvd2VycGMtdW5rbm93 bi1seW54b3MiJFVOQU1FX1JFTEVBU0UiCiAJZXhpdCA7OwogICAgIFNNW0JFXVM6VU5JWF9TVjoq OiopCi0JZWNobyBtaXBzLWRkZS1zeXN2JHtVTkFNRV9SRUxFQVNFfQorCWVjaG8gbWlwcy1kZGUt c3lzdiIkVU5BTUVfUkVMRUFTRSIKIAlleGl0IDs7CiAgICAgUk0qOlJlbGlhbnRVTklYLSo6Kjoq KQogCWVjaG8gbWlwcy1zbmktc3lzdjQKQEAgLTExNTAsNyArMTI0Myw3IEBAIEVPRgogICAgICo6 U0lOSVgtKjoqOiopCiAJaWYgdW5hbWUgLXAgMj4vZGV2L251bGwgPi9kZXYvbnVsbCA7IHRoZW4K IAkJVU5BTUVfTUFDSElORT1gKHVuYW1lIC1wKSAyPi9kZXYvbnVsbGAKLQkJZWNobyAke1VOQU1F X01BQ0hJTkV9LXNuaS1zeXN2NAorCQllY2hvICIkVU5BTUVfTUFDSElORSItc25pLXN5c3Y0CiAJ ZWxzZQogCQllY2hvIG5zMzJrLXNuaS1zeXN2CiAJZmkKQEAgLTExNzAsMjMgKzEyNjMsMjMgQEAg RU9GCiAJZXhpdCA7OwogICAgIGkqODY6Vk9TOio6KikKIAkjIEZyb20gUGF1bC5HcmVlbkBzdHJh dHVzLmNvbS4KLQllY2hvICR7VU5BTUVfTUFDSElORX0tc3RyYXR1cy12b3MKKwllY2hvICIkVU5B TUVfTUFDSElORSItc3RyYXR1cy12b3MKIAlleGl0IDs7CiAgICAgKjpWT1M6KjoqKQogCSMgRnJv bSBQYXVsLkdyZWVuQHN0cmF0dXMuY29tLgogCWVjaG8gaHBwYTEuMS1zdHJhdHVzLXZvcwogCWV4 aXQgOzsKICAgICBtYzY4KjpBL1VYOio6KikKLQllY2hvIG02OGstYXBwbGUtYXV4JHtVTkFNRV9S RUxFQVNFfQorCWVjaG8gbTY4ay1hcHBsZS1hdXgiJFVOQU1FX1JFTEVBU0UiCiAJZXhpdCA7Owog ICAgIG5ld3MqOk5FV1MtT1M6Nio6KikKIAllY2hvIG1pcHMtc29ueS1uZXdzb3M2CiAJZXhpdCA7 OwogICAgIFJbMzRdMDAwOipTeXN0ZW1fVio6KjoqIHwgUjQwMDA6VU5JWF9TWVNWOio6KiB8IFIq MDAwOlVOSVhfU1Y6KjoqKQogCWlmIFsgLWQgL3Vzci9uZWMgXTsgdGhlbgotCQllY2hvIG1pcHMt bmVjLXN5c3Yke1VOQU1FX1JFTEVBU0V9CisJCWVjaG8gbWlwcy1uZWMtc3lzdiIkVU5BTUVfUkVM RUFTRSIKIAllbHNlCi0JCWVjaG8gbWlwcy11bmtub3duLXN5c3Yke1VOQU1FX1JFTEVBU0V9CisJ CWVjaG8gbWlwcy11bmtub3duLXN5c3YiJFVOQU1FX1JFTEVBU0UiCiAJZmkKIAlleGl0IDs7CiAg ICAgQmVCb3g6QmVPUzoqOiopCSMgQmVPUyBydW5uaW5nIG9uIGhhcmR3YXJlIG1hZGUgYnkgQmUs IFBQQyBvbmx5LgpAQCAtMTIwMSw2NiArMTI5NCw5NyBAQCBFT0YKICAgICBCZVBDOkhhaWt1Oio6 KikJIyBIYWlrdSBydW5uaW5nIG9uIEludGVsIFBDIGNvbXBhdGlibGUuCiAJZWNobyBpNTg2LXBj LWhhaWt1CiAJZXhpdCA7OworICAgIHg4Nl82NDpIYWlrdToqOiopCisJZWNobyB4ODZfNjQtdW5r bm93bi1oYWlrdQorCWV4aXQgOzsKICAgICBTWC00OlNVUEVSLVVYOio6KikKLQllY2hvIHN4NC1u ZWMtc3VwZXJ1eCR7VU5BTUVfUkVMRUFTRX0KKwllY2hvIHN4NC1uZWMtc3VwZXJ1eCIkVU5BTUVf UkVMRUFTRSIKIAlleGl0IDs7CiAgICAgU1gtNTpTVVBFUi1VWDoqOiopCi0JZWNobyBzeDUtbmVj LXN1cGVydXgke1VOQU1FX1JFTEVBU0V9CisJZWNobyBzeDUtbmVjLXN1cGVydXgiJFVOQU1FX1JF TEVBU0UiCiAJZXhpdCA7OwogICAgIFNYLTY6U1VQRVItVVg6KjoqKQotCWVjaG8gc3g2LW5lYy1z dXBlcnV4JHtVTkFNRV9SRUxFQVNFfQorCWVjaG8gc3g2LW5lYy1zdXBlcnV4IiRVTkFNRV9SRUxF QVNFIgogCWV4aXQgOzsKICAgICBTWC03OlNVUEVSLVVYOio6KikKLQllY2hvIHN4Ny1uZWMtc3Vw ZXJ1eCR7VU5BTUVfUkVMRUFTRX0KKwllY2hvIHN4Ny1uZWMtc3VwZXJ1eCIkVU5BTUVfUkVMRUFT RSIKIAlleGl0IDs7CiAgICAgU1gtODpTVVBFUi1VWDoqOiopCi0JZWNobyBzeDgtbmVjLXN1cGVy dXgke1VOQU1FX1JFTEVBU0V9CisJZWNobyBzeDgtbmVjLXN1cGVydXgiJFVOQU1FX1JFTEVBU0Ui CiAJZXhpdCA7OwogICAgIFNYLThSOlNVUEVSLVVYOio6KikKLQllY2hvIHN4OHItbmVjLXN1cGVy dXgke1VOQU1FX1JFTEVBU0V9CisJZWNobyBzeDhyLW5lYy1zdXBlcnV4IiRVTkFNRV9SRUxFQVNF IgorCWV4aXQgOzsKKyAgICBTWC1BQ0U6U1VQRVItVVg6KjoqKQorCWVjaG8gc3hhY2UtbmVjLXN1 cGVydXgiJFVOQU1FX1JFTEVBU0UiCiAJZXhpdCA7OwogICAgIFBvd2VyKjpSaGFwc29keToqOiop Ci0JZWNobyBwb3dlcnBjLWFwcGxlLXJoYXBzb2R5JHtVTkFNRV9SRUxFQVNFfQorCWVjaG8gcG93 ZXJwYy1hcHBsZS1yaGFwc29keSIkVU5BTUVfUkVMRUFTRSIKIAlleGl0IDs7CiAgICAgKjpSaGFw c29keToqOiopCi0JZWNobyAke1VOQU1FX01BQ0hJTkV9LWFwcGxlLXJoYXBzb2R5JHtVTkFNRV9S RUxFQVNFfQorCWVjaG8gIiRVTkFNRV9NQUNISU5FIi1hcHBsZS1yaGFwc29keSIkVU5BTUVfUkVM RUFTRSIKIAlleGl0IDs7CiAgICAgKjpEYXJ3aW46KjoqKQogCVVOQU1FX1BST0NFU1NPUj1gdW5h bWUgLXBgIHx8IFVOQU1FX1BST0NFU1NPUj11bmtub3duCi0JY2FzZSAkVU5BTUVfUFJPQ0VTU09S IGluCi0JICAgIGkzODYpCi0JCWV2YWwgJHNldF9jY19mb3JfYnVpbGQKLQkJaWYgWyAiJENDX0ZP Ul9CVUlMRCIgIT0gJ25vX2NvbXBpbGVyX2ZvdW5kJyBdOyB0aGVuCi0JCSAgaWYgKGVjaG8gJyNp ZmRlZiBfX0xQNjRfXyc7IGVjaG8gSVNfNjRCSVRfQVJDSDsgZWNobyAnI2VuZGlmJykgfCBcCi0J CSAgICAgIChDQ09QVFM9ICRDQ19GT1JfQlVJTEQgLUUgLSAyPi9kZXYvbnVsbCkgfCBcCi0JCSAg ICAgIGdyZXAgSVNfNjRCSVRfQVJDSCA+L2Rldi9udWxsCi0JCSAgdGhlbgotCQkgICAgICBVTkFN RV9QUk9DRVNTT1I9Ing4Nl82NCIKLQkJICBmaQotCQlmaSA7OwotCSAgICB1bmtub3duKSBVTkFN RV9QUk9DRVNTT1I9cG93ZXJwYyA7OwotCWVzYWMKLQllY2hvICR7VU5BTUVfUFJPQ0VTU09SfS1h cHBsZS1kYXJ3aW4ke1VOQU1FX1JFTEVBU0V9CisJc2V0X2NjX2Zvcl9idWlsZAorCWlmIHRlc3Qg IiRVTkFNRV9QUk9DRVNTT1IiID0gdW5rbm93biA7IHRoZW4KKwkgICAgVU5BTUVfUFJPQ0VTU09S PXBvd2VycGMKKwlmaQorCWlmIHRlc3QgImBlY2hvICIkVU5BTUVfUkVMRUFTRSIgfCBzZWQgLWUg J3MvXC4uKi8vJ2AiIC1sZSAxMCA7IHRoZW4KKwkgICAgaWYgWyAiJENDX0ZPUl9CVUlMRCIgIT0g bm9fY29tcGlsZXJfZm91bmQgXTsgdGhlbgorCQlpZiAoZWNobyAnI2lmZGVmIF9fTFA2NF9fJzsg ZWNobyBJU182NEJJVF9BUkNIOyBlY2hvICcjZW5kaWYnKSB8IFwKKwkJICAgICAgIChDQ09QVFM9 IiIgJENDX0ZPUl9CVUlMRCAtRSAtIDI+L2Rldi9udWxsKSB8IFwKKwkJICAgICAgIGdyZXAgSVNf NjRCSVRfQVJDSCA+L2Rldi9udWxsCisJCXRoZW4KKwkJICAgIGNhc2UgJFVOQU1FX1BST0NFU1NP UiBpbgorCQkJaTM4NikgVU5BTUVfUFJPQ0VTU09SPXg4Nl82NCA7OworCQkJcG93ZXJwYykgVU5B TUVfUFJPQ0VTU09SPXBvd2VycGM2NCA7OworCQkgICAgZXNhYworCQlmaQorCQkjIE9uIDEwLjQt MTAuNiBvbmUgbWlnaHQgY29tcGlsZSBmb3IgUG93ZXJQQyB2aWEgZ2NjIC1hcmNoIHBwYworCQlp ZiAoZWNobyAnI2lmZGVmIF9fUE9XRVJQQ19fJzsgZWNobyBJU19QUEM7IGVjaG8gJyNlbmRpZicp IHwgXAorCQkgICAgICAgKENDT1BUUz0iIiAkQ0NfRk9SX0JVSUxEIC1FIC0gMj4vZGV2L251bGwp IHwgXAorCQkgICAgICAgZ3JlcCBJU19QUEMgPi9kZXYvbnVsbAorCQl0aGVuCisJCSAgICBVTkFN RV9QUk9DRVNTT1I9cG93ZXJwYworCQlmaQorCSAgICBmaQorCWVsaWYgdGVzdCAiJFVOQU1FX1BS T0NFU1NPUiIgPSBpMzg2IDsgdGhlbgorCSAgICAjIEF2b2lkIGV4ZWN1dGluZyBjYyBvbiBPUyBY IDEwLjksIGFzIGl0IHNoaXBzIHdpdGggYSBzdHViCisJICAgICMgdGhhdCBwdXRzIHVwIGEgZ3Jh cGhpY2FsIGFsZXJ0IHByb21wdGluZyB0byBpbnN0YWxsCisJICAgICMgZGV2ZWxvcGVyIHRvb2xz LiAgQW55IHN5c3RlbSBydW5uaW5nIE1hYyBPUyBYIDEwLjcgb3IKKwkgICAgIyBsYXRlciAoRGFy d2luIDExIGFuZCBsYXRlcikgaXMgcmVxdWlyZWQgdG8gaGF2ZSBhIDY0LWJpdAorCSAgICAjIHBy b2Nlc3Nvci4gVGhpcyBpcyBub3QgdHJ1ZSBvZiB0aGUgQVJNIHZlcnNpb24gb2YgRGFyd2luCisJ ICAgICMgdGhhdCBBcHBsZSB1c2VzIGluIHBvcnRhYmxlIGRldmljZXMuCisJICAgIFVOQU1FX1BS T0NFU1NPUj14ODZfNjQKKwlmaQorCWVjaG8gIiRVTkFNRV9QUk9DRVNTT1IiLWFwcGxlLWRhcndp biIkVU5BTUVfUkVMRUFTRSIKIAlleGl0IDs7CiAgICAgKjpwcm9jbnRvKjoqOiogfCAqOlFOWDpb MDEyMzQ1Njc4OV0qOiopCiAJVU5BTUVfUFJPQ0VTU09SPWB1bmFtZSAtcGAKLQlpZiB0ZXN0ICIk VU5BTUVfUFJPQ0VTU09SIiA9ICJ4ODYiOyB0aGVuCisJaWYgdGVzdCAiJFVOQU1FX1BST0NFU1NP UiIgPSB4ODY7IHRoZW4KIAkJVU5BTUVfUFJPQ0VTU09SPWkzODYKIAkJVU5BTUVfTUFDSElORT1w YwogCWZpCi0JZWNobyAke1VOQU1FX1BST0NFU1NPUn0tJHtVTkFNRV9NQUNISU5FfS1udG8tcW54 JHtVTkFNRV9SRUxFQVNFfQorCWVjaG8gIiRVTkFNRV9QUk9DRVNTT1IiLSIkVU5BTUVfTUFDSElO RSItbnRvLXFueCIkVU5BTUVfUkVMRUFTRSIKIAlleGl0IDs7CiAgICAgKjpRTlg6Kjo0KikKIAll Y2hvIGkzODYtcGMtcW54CiAJZXhpdCA7OwotICAgIE5FTy0/Ok5PTlNUT1BfS0VSTkVMOio6KikK LQllY2hvIG5lby10YW5kZW0tbnNrJHtVTkFNRV9SRUxFQVNFfQorICAgIE5FTy0qOk5PTlNUT1Bf S0VSTkVMOio6KikKKwllY2hvIG5lby10YW5kZW0tbnNrIiRVTkFNRV9SRUxFQVNFIgorCWV4aXQg OzsKKyAgICBOU0UtKjpOT05TVE9QX0tFUk5FTDoqOiopCisJZWNobyBuc2UtdGFuZGVtLW5zayIk VU5BTUVfUkVMRUFTRSIKKwlleGl0IDs7CisgICAgTlNSLSo6Tk9OU1RPUF9LRVJORUw6KjoqKQor CWVjaG8gbnNyLXRhbmRlbS1uc2siJFVOQU1FX1JFTEVBU0UiCiAJZXhpdCA7OwotICAgIE5TRS0/ Ok5PTlNUT1BfS0VSTkVMOio6KikKLQllY2hvIG5zZS10YW5kZW0tbnNrJHtVTkFNRV9SRUxFQVNF fQorICAgIE5TVi0qOk5PTlNUT1BfS0VSTkVMOio6KikKKwllY2hvIG5zdi10YW5kZW0tbnNrIiRV TkFNRV9SRUxFQVNFIgogCWV4aXQgOzsKLSAgICBOU1ItPzpOT05TVE9QX0tFUk5FTDoqOiopCi0J ZWNobyBuc3ItdGFuZGVtLW5zayR7VU5BTUVfUkVMRUFTRX0KKyAgICBOU1gtKjpOT05TVE9QX0tF Uk5FTDoqOiopCisJZWNobyBuc3gtdGFuZGVtLW5zayIkVU5BTUVfUkVMRUFTRSIKIAlleGl0IDs7 CiAgICAgKjpOb25TdG9wLVVYOio6KikKIAllY2hvIG1pcHMtY29tcGFxLW5vbnN0b3B1eApAQCAt MTI2OSwxOCArMTM5MywxOSBAQCBFT0YKIAllY2hvIGJzMjAwMC1zaWVtZW5zLXN5c3YKIAlleGl0 IDs7CiAgICAgRFMvKjpVTklYX1N5c3RlbV9WOio6KikKLQllY2hvICR7VU5BTUVfTUFDSElORX0t JHtVTkFNRV9TWVNURU19LSR7VU5BTUVfUkVMRUFTRX0KKwllY2hvICIkVU5BTUVfTUFDSElORSIt IiRVTkFNRV9TWVNURU0iLSIkVU5BTUVfUkVMRUFTRSIKIAlleGl0IDs7CiAgICAgKjpQbGFuOToq OiopCiAJIyAidW5hbWUgLW0iIGlzIG5vdCBjb25zaXN0ZW50LCBzbyB1c2UgJGNwdXR5cGUgaW5z dGVhZC4gMzg2CiAJIyBpcyBjb252ZXJ0ZWQgdG8gaTM4NiBmb3IgY29uc2lzdGVuY3kgd2l0aCBv dGhlciB4ODYKIAkjIG9wZXJhdGluZyBzeXN0ZW1zLgotCWlmIHRlc3QgIiRjcHV0eXBlIiA9ICIz ODYiOyB0aGVuCisJIyBzaGVsbGNoZWNrIGRpc2FibGU9U0MyMTU0CisJaWYgdGVzdCAiJGNwdXR5 cGUiID0gMzg2OyB0aGVuCiAJICAgIFVOQU1FX01BQ0hJTkU9aTM4NgogCWVsc2UKIAkgICAgVU5B TUVfTUFDSElORT0iJGNwdXR5cGUiCiAJZmkKLQllY2hvICR7VU5BTUVfTUFDSElORX0tdW5rbm93 bi1wbGFuOQorCWVjaG8gIiRVTkFNRV9NQUNISU5FIi11bmtub3duLXBsYW45CiAJZXhpdCA7Owog ICAgICo6VE9QUy0xMDoqOiopCiAJZWNobyBwZHAxMC11bmtub3duLXRvcHMxMApAQCAtMTMwMSwx NCArMTQyNiwxNCBAQCBFT0YKIAllY2hvIHBkcDEwLXVua25vd24taXRzCiAJZXhpdCA7OwogICAg IFNFSToqOio6U0VJVVgpCi0JZWNobyBtaXBzLXNlaS1zZWl1eCR7VU5BTUVfUkVMRUFTRX0KKwll Y2hvIG1pcHMtc2VpLXNlaXV4IiRVTkFNRV9SRUxFQVNFIgogCWV4aXQgOzsKICAgICAqOkRyYWdv bkZseToqOiopCi0JZWNobyAke1VOQU1FX01BQ0hJTkV9LXVua25vd24tZHJhZ29uZmx5YGVjaG8g JHtVTkFNRV9SRUxFQVNFfXxzZWQgLWUgJ3MvWy0oXS4qLy8nYAorCWVjaG8gIiRVTkFNRV9NQUNI SU5FIi11bmtub3duLWRyYWdvbmZseSJgZWNobyAiJFVOQU1FX1JFTEVBU0UifHNlZCAtZSAncy9b LShdLiovLydgIgogCWV4aXQgOzsKICAgICAqOipWTVM6KjoqKQogCVVOQU1FX01BQ0hJTkU9YCh1 bmFtZSAtcCkgMj4vZGV2L251bGxgCi0JY2FzZSAiJHtVTkFNRV9NQUNISU5FfSIgaW4KKwljYXNl ICIkVU5BTUVfTUFDSElORSIgaW4KIAkgICAgQSopIGVjaG8gYWxwaGEtZGVjLXZtcyA7IGV4aXQg OzsKIAkgICAgSSopIGVjaG8gaWE2NC1kZWMtdm1zIDsgZXhpdCA7OwogCSAgICBWKikgZWNobyB2 YXgtZGVjLXZtcyA7IGV4aXQgOzsKQEAgLTEzMTcsMjcgKzE0NDIsMzkgQEAgRU9GCiAJZWNobyBp Mzg2LXBjLXhlbml4CiAJZXhpdCA7OwogICAgIGkqODY6c2t5b3M6KjoqKQotCWVjaG8gJHtVTkFN RV9NQUNISU5FfS1wYy1za3lvc2BlY2hvICR7VU5BTUVfUkVMRUFTRX1gIHwgc2VkIC1lICdzLyAu KiQvLycKKwllY2hvICIkVU5BTUVfTUFDSElORSItcGMtc2t5b3MiYGVjaG8gIiRVTkFNRV9SRUxF QVNFIiB8IHNlZCAtZSAncy8gLiokLy8nYCIKIAlleGl0IDs7CiAgICAgaSo4NjpyZG9zOio6KikK LQllY2hvICR7VU5BTUVfTUFDSElORX0tcGMtcmRvcworCWVjaG8gIiRVTkFNRV9NQUNISU5FIi1w Yy1yZG9zCiAJZXhpdCA7OwogICAgIGkqODY6QVJPUzoqOiopCi0JZWNobyAke1VOQU1FX01BQ0hJ TkV9LXBjLWFyb3MKKwllY2hvICIkVU5BTUVfTUFDSElORSItcGMtYXJvcwogCWV4aXQgOzsKICAg ICB4ODZfNjQ6Vk1rZXJuZWw6KjoqKQotCWVjaG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3duLWVz eAorCWVjaG8gIiRVTkFNRV9NQUNISU5FIi11bmtub3duLWVzeAorCWV4aXQgOzsKKyAgICBhbWQ2 NDpJc2lsb25cIE9uZUZTOio6KikKKwllY2hvIHg4Nl82NC11bmtub3duLW9uZWZzCisJZXhpdCA7 OworICAgICo6VW5sZWFzaGVkOio6KikKKwllY2hvICIkVU5BTUVfTUFDSElORSItdW5rbm93bi11 bmxlYXNoZWQiJFVOQU1FX1JFTEVBU0UiCiAJZXhpdCA7OwogZXNhYwogCi0jZWNobyAnKE5vIHVu YW1lIGNvbW1hbmQgb3IgdW5hbWUgb3V0cHV0IG5vdCByZWNvZ25pemVkLiknIDE+JjIKLSNlY2hv ICIke1VOQU1FX01BQ0hJTkV9OiR7VU5BTUVfU1lTVEVNfToke1VOQU1FX1JFTEVBU0V9OiR7VU5B TUVfVkVSU0lPTn0iIDE+JjIKLQotZXZhbCAkc2V0X2NjX2Zvcl9idWlsZAotY2F0ID4kZHVtbXku YyA8PEVPRgorIyBObyB1bmFtZSBjb21tYW5kIG9yIHVuYW1lIG91dHB1dCBub3QgcmVjb2duaXpl ZC4KK3NldF9jY19mb3JfYnVpbGQKK2NhdCA+ICIkZHVtbXkuYyIgPDxFT0YKICNpZmRlZiBfU0VR VUVOVF8KLSMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+Ci0jIGluY2x1ZGUgPHN5cy91dHNuYW1lLmg+ CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3V0c25hbWUuaD4KKyNlbmRp ZgorI2lmIGRlZmluZWQodWx0cml4KSB8fCBkZWZpbmVkKF91bHRyaXgpIHx8IGRlZmluZWQoX191 bHRyaXgpIHx8IGRlZmluZWQoX191bHRyaXhfXykKKyNpZiBkZWZpbmVkICh2YXgpIHx8IGRlZmlu ZWQgKF9fdmF4KSB8fCBkZWZpbmVkIChfX3ZheF9fKSB8fCBkZWZpbmVkKG1pcHMpIHx8IGRlZmlu ZWQoX19taXBzKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBkZWZpbmVkKE1JUFMpIHx8IGRlZmlu ZWQoX19NSVBTX18pCisjaW5jbHVkZSA8c2lnbmFsLmg+CisjaWYgZGVmaW5lZChfU0laRV9UXykg fHwgZGVmaW5lZChTSUdMT1NUKQorI2luY2x1ZGUgPHN5cy91dHNuYW1lLmg+CisjZW5kaWYKKyNl bmRpZgogI2VuZGlmCiBtYWluICgpCiB7CkBAIC0xMzUwLDIwICsxNDg3LDEyIEBAIG1haW4gKCkK ICNpbmNsdWRlIDxzeXMvcGFyYW0uaD4KICAgcHJpbnRmICgibTY4ay1zb255LW5ld3NvcyVzXG4i LAogI2lmZGVmIE5FV1NPUzQKLQkiNCIKKyAgIjQiCiAjZWxzZQotCSIiCi0jZW5kaWYKLQkpOyBl eGl0ICgwKTsKLSNlbmRpZgorICAiIgogI2VuZGlmCi0KLSNpZiBkZWZpbmVkIChfX2FybSkgJiYg ZGVmaW5lZCAoX19hY29ybikgJiYgZGVmaW5lZCAoX191bml4KQotICBwcmludGYgKCJhcm0tYWNv cm4tcmlzY2l4XG4iKTsgZXhpdCAoMCk7CisgICk7IGV4aXQgKDApOwogI2VuZGlmCi0KLSNpZiBk ZWZpbmVkIChocDMwMCkgJiYgIWRlZmluZWQgKGhwdXgpCi0gIHByaW50ZiAoIm02OGstaHAtYnNk XG4iKTsgZXhpdCAoMCk7CiAjZW5kaWYKIAogI2lmIGRlZmluZWQgKE5lWFQpCkBAIC0xNDA1LDM5 ICsxNTM0LDU0IEBAIG1haW4gKCkKICNlbmRpZgogCiAjaWYgZGVmaW5lZCAoX1NFUVVFTlRfKQot ICAgIHN0cnVjdCB1dHNuYW1lIHVuOwotCi0gICAgdW5hbWUoJnVuKTsKLQotICAgIGlmIChzdHJu Y21wKHVuLnZlcnNpb24sICJWMiIsIDIpID09IDApIHsKLQlwcmludGYgKCJpMzg2LXNlcXVlbnQt cHR4MlxuIik7IGV4aXQgKDApOwotICAgIH0KLSAgICBpZiAoc3RybmNtcCh1bi52ZXJzaW9uLCAi VjEiLCAyKSA9PSAwKSB7IC8qIFhYWCBpcyBWMSBjb3JyZWN0PyAqLwotCXByaW50ZiAoImkzODYt c2VxdWVudC1wdHgxXG4iKTsgZXhpdCAoMCk7Ci0gICAgfQotICAgIHByaW50ZiAoImkzODYtc2Vx dWVudC1wdHhcbiIpOyBleGl0ICgwKTsKKyAgc3RydWN0IHV0c25hbWUgdW47CiAKKyAgdW5hbWUo JnVuKTsKKyAgaWYgKHN0cm5jbXAodW4udmVyc2lvbiwgIlYyIiwgMikgPT0gMCkgeworICAgIHBy aW50ZiAoImkzODYtc2VxdWVudC1wdHgyXG4iKTsgZXhpdCAoMCk7CisgIH0KKyAgaWYgKHN0cm5j bXAodW4udmVyc2lvbiwgIlYxIiwgMikgPT0gMCkgeyAvKiBYWFggaXMgVjEgY29ycmVjdD8gKi8K KyAgICBwcmludGYgKCJpMzg2LXNlcXVlbnQtcHR4MVxuIik7IGV4aXQgKDApOworICB9CisgIHBy aW50ZiAoImkzODYtc2VxdWVudC1wdHhcbiIpOyBleGl0ICgwKTsKICNlbmRpZgogCiAjaWYgZGVm aW5lZCAodmF4KQotIyBpZiAhZGVmaW5lZCAodWx0cml4KQotIyAgaW5jbHVkZSA8c3lzL3BhcmFt Lmg+Ci0jICBpZiBkZWZpbmVkIChCU0QpCi0jICAgaWYgQlNEID09IDQzCi0gICAgICBwcmludGYg KCJ2YXgtZGVjLWJzZDQuM1xuIik7IGV4aXQgKDApOwotIyAgIGVsc2UKLSMgICAgaWYgQlNEID09 IDE5OTAwNgotICAgICAgcHJpbnRmICgidmF4LWRlYy1ic2Q0LjNyZW5vXG4iKTsgZXhpdCAoMCk7 Ci0jICAgIGVsc2UKLSAgICAgIHByaW50ZiAoInZheC1kZWMtYnNkXG4iKTsgZXhpdCAoMCk7Ci0j ICAgIGVuZGlmCi0jICAgZW5kaWYKLSMgIGVsc2UKLSAgICBwcmludGYgKCJ2YXgtZGVjLWJzZFxu Iik7IGV4aXQgKDApOwotIyAgZW5kaWYKLSMgZWxzZQotICAgIHByaW50ZiAoInZheC1kZWMtdWx0 cml4XG4iKTsgZXhpdCAoMCk7Ci0jIGVuZGlmCisjaWYgIWRlZmluZWQgKHVsdHJpeCkKKyNpbmNs dWRlIDxzeXMvcGFyYW0uaD4KKyNpZiBkZWZpbmVkIChCU0QpCisjaWYgQlNEID09IDQzCisgIHBy aW50ZiAoInZheC1kZWMtYnNkNC4zXG4iKTsgZXhpdCAoMCk7CisjZWxzZQorI2lmIEJTRCA9PSAx OTkwMDYKKyAgcHJpbnRmICgidmF4LWRlYy1ic2Q0LjNyZW5vXG4iKTsgZXhpdCAoMCk7CisjZWxz ZQorICBwcmludGYgKCJ2YXgtZGVjLWJzZFxuIik7IGV4aXQgKDApOworI2VuZGlmCisjZW5kaWYK KyNlbHNlCisgIHByaW50ZiAoInZheC1kZWMtYnNkXG4iKTsgZXhpdCAoMCk7CisjZW5kaWYKKyNl bHNlCisjaWYgZGVmaW5lZChfU0laRV9UXykgfHwgZGVmaW5lZChTSUdMT1NUKQorICBzdHJ1Y3Qg dXRzbmFtZSB1bjsKKyAgdW5hbWUgKCZ1bik7CisgIHByaW50ZiAoInZheC1kZWMtdWx0cml4JXNc biIsIHVuLnJlbGVhc2UpOyBleGl0ICgwKTsKKyNlbHNlCisgIHByaW50ZiAoInZheC1kZWMtdWx0 cml4XG4iKTsgZXhpdCAoMCk7CisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisjaWYgZGVmaW5lZCh1 bHRyaXgpIHx8IGRlZmluZWQoX3VsdHJpeCkgfHwgZGVmaW5lZChfX3VsdHJpeCkgfHwgZGVmaW5l ZChfX3VsdHJpeF9fKQorI2lmIGRlZmluZWQobWlwcykgfHwgZGVmaW5lZChfX21pcHMpIHx8IGRl ZmluZWQoX19taXBzX18pIHx8IGRlZmluZWQoTUlQUykgfHwgZGVmaW5lZChfX01JUFNfXykKKyNp ZiBkZWZpbmVkKF9TSVpFX1RfKSB8fCBkZWZpbmVkKFNJR0xPU1QpCisgIHN0cnVjdCB1dHNuYW1l ICp1bjsKKyAgdW5hbWUgKCZ1bik7CisgIHByaW50ZiAoIm1pcHMtZGVjLXVsdHJpeCVzXG4iLCB1 bi5yZWxlYXNlKTsgZXhpdCAoMCk7CisjZWxzZQorICBwcmludGYgKCJtaXBzLWRlYy11bHRyaXhc biIpOyBleGl0ICgwKTsKKyNlbmRpZgorI2VuZGlmCiAjZW5kaWYKIAogI2lmIGRlZmluZWQgKGFs bGlhbnQpICYmIGRlZmluZWQgKGk4NjApCkBAIC0xNDQ4LDU0ICsxNTkyLDM4IEBAIG1haW4gKCkK IH0KIEVPRgogCi0kQ0NfRk9SX0JVSUxEIC1vICRkdW1teSAkZHVtbXkuYyAyPi9kZXYvbnVsbCAm JiBTWVNURU1fTkFNRT1gJGR1bW15YCAmJgorJENDX0ZPUl9CVUlMRCAtbyAiJGR1bW15IiAiJGR1 bW15LmMiIDI+L2Rldi9udWxsICYmIFNZU1RFTV9OQU1FPWAkZHVtbXlgICYmCiAJeyBlY2hvICIk U1lTVEVNX05BTUUiOyBleGl0OyB9CiAKICMgQXBvbGxvcyBwdXQgdGhlIHN5c3RlbSB0eXBlIGlu IHRoZSBlbnZpcm9ubWVudC4KK3Rlc3QgLWQgL3Vzci9hcG9sbG8gJiYgeyBlY2hvICIkSVNQLWFw b2xsby0kU1lTVFlQRSI7IGV4aXQ7IH0KIAotdGVzdCAtZCAvdXNyL2Fwb2xsbyAmJiB7IGVjaG8g JHtJU1B9LWFwb2xsby0ke1NZU1RZUEV9OyBleGl0OyB9CitlY2hvICIkMDogdW5hYmxlIHRvIGd1 ZXNzIHN5c3RlbSB0eXBlIiA+JjIKIAotIyBDb252ZXggdmVyc2lvbnMgdGhhdCBwcmVkYXRlIHVu YW1lIGNhbiB1c2UgZ2V0c3lzaW5mbygxKQorY2FzZSAiJFVOQU1FX01BQ0hJTkU6JFVOQU1FX1NZ U1RFTSIgaW4KKyAgICBtaXBzOkxpbnV4IHwgbWlwczY0OkxpbnV4KQorCSMgSWYgd2UgZ290IGhl cmUgb24gTUlQUyBHTlUvTGludXgsIG91dHB1dCBleHRyYSBpbmZvcm1hdGlvbi4KKwljYXQgPiYy IDw8RU9GCiAKLWlmIFsgLXggL3Vzci9jb252ZXgvZ2V0c3lzaW5mbyBdCi10aGVuCi0gICAgY2Fz ZSBgZ2V0c3lzaW5mbyAtZiBjcHVfdHlwZWAgaW4KLSAgICBjMSopCi0JZWNobyBjMS1jb252ZXgt YnNkCi0JZXhpdCA7OwotICAgIGMyKikKLQlpZiBnZXRzeXNpbmZvIC1mIHNjYWxhcl9hY2MKLQl0 aGVuIGVjaG8gYzMyLWNvbnZleC1ic2QKLQllbHNlIGVjaG8gYzItY29udmV4LWJzZAotCWZpCi0J ZXhpdCA7OwotICAgIGMzNCopCi0JZWNobyBjMzQtY29udmV4LWJzZAotCWV4aXQgOzsKLSAgICBj MzgqKQotCWVjaG8gYzM4LWNvbnZleC1ic2QKLQlleGl0IDs7Ci0gICAgYzQqKQotCWVjaG8gYzQt Y29udmV4LWJzZAotCWV4aXQgOzsKLSAgICBlc2FjCi1maQorTk9URTogTUlQUyBHTlUvTGludXgg c3lzdGVtcyByZXF1aXJlIGEgQyBjb21waWxlciB0byBmdWxseSByZWNvZ25pemUKK3RoZSBzeXN0 ZW0gdHlwZS4gUGxlYXNlIGluc3RhbGwgYSBDIGNvbXBpbGVyIGFuZCB0cnkgYWdhaW4uCitFT0YK Kwk7OworZXNhYwogCiBjYXQgPiYyIDw8RU9GCi0kMDogdW5hYmxlIHRvIGd1ZXNzIHN5c3RlbSB0 eXBlCiAKLVRoaXMgc2NyaXB0LCBsYXN0IG1vZGlmaWVkICR0aW1lc3RhbXAsIGhhcyBmYWlsZWQg dG8gcmVjb2duaXplCi10aGUgb3BlcmF0aW5nIHN5c3RlbSB5b3UgYXJlIHVzaW5nLiBJdCBpcyBh ZHZpc2VkIHRoYXQgeW91Ci1kb3dubG9hZCB0aGUgbW9zdCB1cCB0byBkYXRlIHZlcnNpb24gb2Yg dGhlIGNvbmZpZyBzY3JpcHRzIGZyb20KK1RoaXMgc2NyaXB0ICh2ZXJzaW9uICR0aW1lc3RhbXAp LCBoYXMgZmFpbGVkIHRvIHJlY29nbml6ZSB0aGUKK29wZXJhdGluZyBzeXN0ZW0geW91IGFyZSB1 c2luZy4gSWYgeW91ciBzY3JpcHQgaXMgb2xkLCBvdmVyd3JpdGUgKmFsbCoKK2NvcGllcyBvZiBj b25maWcuZ3Vlc3MgYW5kIGNvbmZpZy5zdWIgd2l0aCB0aGUgbGF0ZXN0IHZlcnNpb25zIGZyb206 CiAKLSAgaHR0cDovL2dpdC5zYXZhbm5haC5nbnUub3JnL2dpdHdlYi8/cD1jb25maWcuZ2l0O2E9 YmxvYl9wbGFpbjtmPWNvbmZpZy5ndWVzcztoYj1IRUFECisgIGh0dHBzOi8vZ2l0LnNhdmFubmFo LmdudS5vcmcvZ2l0d2ViLz9wPWNvbmZpZy5naXQ7YT1ibG9iX3BsYWluO2Y9Y29uZmlnLmd1ZXNz CiBhbmQKLSAgaHR0cDovL2dpdC5zYXZhbm5haC5nbnUub3JnL2dpdHdlYi8/cD1jb25maWcuZ2l0 O2E9YmxvYl9wbGFpbjtmPWNvbmZpZy5zdWI7aGI9SEVBRAorICBodHRwczovL2dpdC5zYXZhbm5h aC5nbnUub3JnL2dpdHdlYi8/cD1jb25maWcuZ2l0O2E9YmxvYl9wbGFpbjtmPWNvbmZpZy5zdWIK IAotSWYgdGhlIHZlcnNpb24geW91IHJ1biAoJDApIGlzIGFscmVhZHkgdXAgdG8gZGF0ZSwgcGxl YXNlCi1zZW5kIHRoZSBmb2xsb3dpbmcgZGF0YSBhbmQgYW55IGluZm9ybWF0aW9uIHlvdSB0aGlu ayBtaWdodCBiZQotcGVydGluZW50IHRvIDxjb25maWctcGF0Y2hlc0BnbnUub3JnPiBpbiBvcmRl ciB0byBwcm92aWRlIHRoZSBuZWVkZWQKLWluZm9ybWF0aW9uIHRvIGhhbmRsZSB5b3VyIHN5c3Rl bS4KK0lmICQwIGhhcyBhbHJlYWR5IGJlZW4gdXBkYXRlZCwgc2VuZCB0aGUgZm9sbG93aW5nIGRh dGEgYW5kIGFueQoraW5mb3JtYXRpb24geW91IHRoaW5rIG1pZ2h0IGJlIHBlcnRpbmVudCB0byBj b25maWctcGF0Y2hlc0BnbnUub3JnIHRvCitwcm92aWRlIHRoZSBuZWNlc3NhcnkgaW5mb3JtYXRp b24gdG8gaGFuZGxlIHlvdXIgc3lzdGVtLgogCiBjb25maWcuZ3Vlc3MgdGltZXN0YW1wID0gJHRp bWVzdGFtcAogCkBAIC0xNTE0LDE2ICsxNjQyLDE2IEBAIGhvc3RpbmZvICAgICAgICAgICAgICAg PSBgKGhvc3RpbmZvKSAyPi9kZXYvbnVsbGAKIC91c3IvYmluL29zbGV2ZWwgICAgICAgPSBgKC91 c3IvYmluL29zbGV2ZWwpIDI+L2Rldi9udWxsYAogL3Vzci9jb252ZXgvZ2V0c3lzaW5mbyA9IGAo L3Vzci9jb252ZXgvZ2V0c3lzaW5mbykgMj4vZGV2L251bGxgCiAKLVVOQU1FX01BQ0hJTkUgPSAk e1VOQU1FX01BQ0hJTkV9Ci1VTkFNRV9SRUxFQVNFID0gJHtVTkFNRV9SRUxFQVNFfQotVU5BTUVf U1lTVEVNICA9ICR7VU5BTUVfU1lTVEVNfQotVU5BTUVfVkVSU0lPTiA9ICR7VU5BTUVfVkVSU0lP Tn0KK1VOQU1FX01BQ0hJTkUgPSAiJFVOQU1FX01BQ0hJTkUiCitVTkFNRV9SRUxFQVNFID0gIiRV TkFNRV9SRUxFQVNFIgorVU5BTUVfU1lTVEVNICA9ICIkVU5BTUVfU1lTVEVNIgorVU5BTUVfVkVS U0lPTiA9ICIkVU5BTUVfVkVSU0lPTiIKIEVPRgogCiBleGl0IDEKIAogIyBMb2NhbCB2YXJpYWJs ZXM6Ci0jIGV2YWw6IChhZGQtaG9vayAnd3JpdGUtZmlsZS1ob29rcyAndGltZS1zdGFtcCkKKyMg ZXZhbDogKGFkZC1ob29rICdiZWZvcmUtc2F2ZS1ob29rICd0aW1lLXN0YW1wKQogIyB0aW1lLXN0 YW1wLXN0YXJ0OiAidGltZXN0YW1wPSciCiAjIHRpbWUtc3RhbXAtZm9ybWF0OiAiJTp5LSUwMm0t JTAyZCIKICMgdGltZS1zdGFtcC1lbmQ6ICInIgpkaWZmIC0tZ2l0IGEvY29uZmlnLnN1YiBiL2Nv bmZpZy5zdWIKb2xkIG1vZGUgMTAwNzU1Cm5ldyBtb2RlIDEwMDY0NAppbmRleCA2MjA1Zjg0MjNk Li5mNTNhZjVhMmRhCi0tLSBhL2NvbmZpZy5zdWIKKysrIGIvY29uZmlnLnN1YgpAQCAtMSwzNiAr MSwzMSBAQAogIyEgL2Jpbi9zaAogIyBDb25maWd1cmF0aW9uIHZhbGlkYXRpb24gc3Vicm91dGlu ZSBzY3JpcHQuCi0jICAgQ29weXJpZ2h0IChDKSAxOTkyLCAxOTkzLCAxOTk0LCAxOTk1LCAxOTk2 LCAxOTk3LCAxOTk4LCAxOTk5LAotIyAgIDIwMDAsIDIwMDEsIDIwMDIsIDIwMDMsIDIwMDQsIDIw MDUsIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDksIDIwMTAsCi0jICAgMjAxMSwgMjAxMiBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMgICBDb3B5cmlnaHQgMTk5Mi0yMDE5IEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbiwgSW5jLgogCi10aW1lc3RhbXA9JzIwMTItMDQtMTgnCit0aW1lc3Rh bXA9JzIwMTktMDEtMDUnCiAKLSMgVGhpcyBmaWxlIGlzIChpbiBwcmluY2lwbGUpIGNvbW1vbiB0 byBBTEwgR05VIHNvZnR3YXJlLgotIyBUaGUgcHJlc2VuY2Ugb2YgYSBtYWNoaW5lIGluIHRoaXMg ZmlsZSBzdWdnZXN0cyB0aGF0IFNPTUUgR05VIHNvZnR3YXJlCi0jIGNhbiBoYW5kbGUgdGhhdCBt YWNoaW5lLiAgSXQgZG9lcyBub3QgaW1wbHkgQUxMIEdOVSBzb2Z0d2FyZSBjYW4uCi0jCi0jIFRo aXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3Ig bW9kaWZ5Ci0jIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0jIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp dGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNv ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CisjIHVuZGVy IHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVk IGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2Yg dGhlIExpY2Vuc2UsIG9yCiAjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAj Ci0jIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg YmUgdXNlZnVsLAotIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg aW1wbGllZCB3YXJyYW50eSBvZgotIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0jIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGZvciBtb3JlIGRldGFpbHMuCisjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKKyMgV0lUSE9VVCBBTlkgV0FSUkFOVFk7 IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkg b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorIyBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAjCiAjIFlvdSBzaG91bGQgaGF2 ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0jIGFs b25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xp Y2Vuc2VzLz4uCisjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHNlZSA8aHR0cHM6 Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgogIwogIyBBcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRv IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwgaWYgeW91CiAjIGRpc3RyaWJ1dGUgdGhp cyBmaWxlIGFzIHBhcnQgb2YgYSBwcm9ncmFtIHRoYXQgY29udGFpbnMgYQogIyBjb25maWd1cmF0 aW9uIHNjcmlwdCBnZW5lcmF0ZWQgYnkgQXV0b2NvbmYsIHlvdSBtYXkgaW5jbHVkZSBpdCB1bmRl cgotIyB0aGUgc2FtZSBkaXN0cmlidXRpb24gdGVybXMgdGhhdCB5b3UgdXNlIGZvciB0aGUgcmVz dCBvZiB0aGF0IHByb2dyYW0uCisjIHRoZSBzYW1lIGRpc3RyaWJ1dGlvbiB0ZXJtcyB0aGF0IHlv dSB1c2UgZm9yIHRoZSByZXN0IG9mIHRoYXQKKyMgcHJvZ3JhbS4gIFRoaXMgRXhjZXB0aW9uIGlz IGFuIGFkZGl0aW9uYWwgcGVybWlzc2lvbiB1bmRlciBzZWN0aW9uIDcKKyMgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlLCB2ZXJzaW9uIDMgKCJHUEx2MyIpLgogCiAKLSMgUGxlYXNl IHNlbmQgcGF0Y2hlcyB0byA8Y29uZmlnLXBhdGNoZXNAZ251Lm9yZz4uICBTdWJtaXQgYSBjb250 ZXh0Ci0jIGRpZmYgYW5kIGEgcHJvcGVybHkgZm9ybWF0dGVkIEdOVSBDaGFuZ2VMb2cgZW50cnku CisjIFBsZWFzZSBzZW5kIHBhdGNoZXMgdG8gPGNvbmZpZy1wYXRjaGVzQGdudS5vcmc+LgogIwog IyBDb25maWd1cmF0aW9uIHN1YnJvdXRpbmUgdG8gdmFsaWRhdGUgYW5kIGNhbm9uaWNhbGl6ZSBh IGNvbmZpZ3VyYXRpb24gdHlwZS4KICMgU3VwcGx5IHRoZSBzcGVjaWZpZWQgY29uZmlndXJhdGlv biB0eXBlIGFzIGFuIGFyZ3VtZW50LgpAQCAtMzgsNyArMzMsNyBAQCB0aW1lc3RhbXA9JzIwMTIt MDQtMTgnCiAjIE90aGVyd2lzZSwgd2UgcHJpbnQgdGhlIGNhbm9uaWNhbCBjb25maWcgdHlwZSBv biBzdGRvdXQgYW5kIHN1Y2NlZWQuCiAKICMgWW91IGNhbiBnZXQgdGhlIGxhdGVzdCB2ZXJzaW9u IG9mIHRoaXMgc2NyaXB0IGZyb206Ci0jIGh0dHA6Ly9naXQuc2F2YW5uYWguZ251Lm9yZy9naXR3 ZWIvP3A9Y29uZmlnLmdpdDthPWJsb2JfcGxhaW47Zj1jb25maWcuc3ViO2hiPUhFQUQKKyMgaHR0 cHM6Ly9naXQuc2F2YW5uYWguZ251Lm9yZy9naXR3ZWIvP3A9Y29uZmlnLmdpdDthPWJsb2JfcGxh aW47Zj1jb25maWcuc3ViCiAKICMgVGhpcyBmaWxlIGlzIHN1cHBvc2VkIHRvIGJlIHRoZSBzYW1l IGZvciBhbGwgR05VIHBhY2thZ2VzCiAjIGFuZCByZWNvZ25pemUgYWxsIHRoZSBDUFUgdHlwZXMs IHN5c3RlbSB0eXBlcyBhbmQgYWxpYXNlcwpAQCAtNTgsMTIgKzUzLDExIEBAIHRpbWVzdGFtcD0n MjAxMi0wNC0xOCcKIG1lPWBlY2hvICIkMCIgfCBzZWQgLWUgJ3MsLiovLCwnYAogCiB1c2FnZT0i XAotVXNhZ2U6ICQwIFtPUFRJT05dIENQVS1NRlItT1BTWVMKLSAgICAgICAkMCBbT1BUSU9OXSBB TElBUworVXNhZ2U6ICQwIFtPUFRJT05dIENQVS1NRlItT1BTWVMgb3IgQUxJQVMKIAogQ2Fub25p Y2FsaXplIGEgY29uZmlndXJhdGlvbiBuYW1lLgogCi1PcGVyYXRpb24gbW9kZXM6CitPcHRpb25z OgogICAtaCwgLS1oZWxwICAgICAgICAgcHJpbnQgdGhpcyBoZWxwLCB0aGVuIGV4aXQKICAgLXQs IC0tdGltZS1zdGFtcCAgIHByaW50IGRhdGUgb2YgbGFzdCBtb2RpZmljYXRpb24sIHRoZW4gZXhp dAogICAtdiwgLS12ZXJzaW9uICAgICAgcHJpbnQgdmVyc2lvbiBudW1iZXIsIHRoZW4gZXhpdApA QCAtNzMsOSArNjcsNyBAQCBSZXBvcnQgYnVncyBhbmQgcGF0Y2hlcyB0byA8Y29uZmlnLXBhdGNo ZXNAZ251Lm9yZz4uIgogdmVyc2lvbj0iXAogR05VIGNvbmZpZy5zdWIgKCR0aW1lc3RhbXApCiAK LUNvcHlyaWdodCAoQykgMTk5MiwgMTk5MywgMTk5NCwgMTk5NSwgMTk5NiwgMTk5NywgMTk5OCwg MTk5OSwgMjAwMCwKLTIwMDEsIDIwMDIsIDIwMDMsIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcsIDIw MDgsIDIwMDksIDIwMTAsIDIwMTEsIDIwMTIKLUZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j LgorQ29weXJpZ2h0IDE5OTItMjAxOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIAog VGhpcyBpcyBmcmVlIHNvZnR3YXJlOyBzZWUgdGhlIHNvdXJjZSBmb3IgY29weWluZyBjb25kaXRp b25zLiAgVGhlcmUgaXMgTk8KIHdhcnJhbnR5OyBub3QgZXZlbiBmb3IgTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiIKQEAgLTk3LDEyICs4OSwxMiBA QCB3aGlsZSB0ZXN0ICQjIC1ndCAwIDsgZG8KICAgICAtICkJIyBVc2Ugc3RkaW4gYXMgaW5wdXQu CiAgICAgICAgYnJlYWsgOzsKICAgICAtKiApCi0gICAgICAgZWNobyAiJG1lOiBpbnZhbGlkIG9w dGlvbiAkMSRoZWxwIgorICAgICAgIGVjaG8gIiRtZTogaW52YWxpZCBvcHRpb24gJDEkaGVscCIg PiYyCiAgICAgICAgZXhpdCAxIDs7CiAKICAgICAqbG9jYWwqKQogICAgICAgICMgRmlyc3QgcGFz cyB0aHJvdWdoIGFueSBsb2NhbCBtYWNoaW5lIHR5cGVzLgotICAgICAgIGVjaG8gJDEKKyAgICAg ICBlY2hvICIkMSIKICAgICAgICBleGl0IDs7CiAKICAgICAqICkKQEAgLTExOCwxMTk2ICsxMTAs MTE2NyBAQCBjYXNlICQjIGluCiAgICAgZXhpdCAxOzsKIGVzYWMKIAotIyBTZXBhcmF0ZSB3aGF0 IHRoZSB1c2VyIGdhdmUgaW50byBDUFUtQ09NUEFOWSBhbmQgT1Mgb3IgS0VSTkVMLU9TIChpZiBh bnkpLgotIyBIZXJlIHdlIG11c3QgcmVjb2duaXplIGFsbCB0aGUgdmFsaWQgS0VSTkVMLU9TIGNv bWJpbmF0aW9ucy4KLW1heWJlX29zPWBlY2hvICQxIHwgc2VkICdzL15cKC4qXCktXChbXi1dKi1b Xi1dKlwpJC9cMi8nYAotY2FzZSAkbWF5YmVfb3MgaW4KLSAgbnRvLXFueCogfCBsaW51eC1nbnUq IHwgbGludXgtYW5kcm9pZCogfCBsaW51eC1kaWV0bGliYyB8IGxpbnV4LW5ld2xpYiogfCBcCi0g IGxpbnV4LXVjbGliYyogfCB1Y2xpbnV4LXVjbGliYyogfCB1Y2xpbnV4LWdudSogfCBrZnJlZWJz ZCotZ251KiB8IFwKLSAga25ldGJzZCotZ251KiB8IG5ldGJzZCotZ251KiB8IFwKLSAga29wZW5z b2xhcmlzKi1nbnUqIHwgXAotICBzdG9ybS1jaGFvcyogfCBvczItZW14KiB8IHJ0bWstbm92YSop Ci0gICAgb3M9LSRtYXliZV9vcwotICAgIGJhc2ljX21hY2hpbmU9YGVjaG8gJDEgfCBzZWQgJ3Mv XlwoLipcKS1cKFteLV0qLVteLV0qXCkkL1wxLydgCi0gICAgOzsKLSAgYW5kcm9pZC1saW51eCkK LSAgICBvcz0tbGludXgtYW5kcm9pZAotICAgIGJhc2ljX21hY2hpbmU9YGVjaG8gJDEgfCBzZWQg J3MvXlwoLipcKS1cKFteLV0qLVteLV0qXCkkL1wxLydgLXVua25vd24KLSAgICA7OwotICAqKQot ICAgIGJhc2ljX21hY2hpbmU9YGVjaG8gJDEgfCBzZWQgJ3MvLVteLV0qJC8vJ2AKLSAgICBpZiBb ICRiYXNpY19tYWNoaW5lICE9ICQxIF0KLSAgICB0aGVuIG9zPWBlY2hvICQxIHwgc2VkICdzLy4q LS8tLydgCi0gICAgZWxzZSBvcz07IGZpCi0gICAgOzsKLWVzYWMKKyMgU3BsaXQgZmllbGRzIG9m IGNvbmZpZ3VyYXRpb24gdHlwZQorIyBzaGVsbGNoZWNrIGRpc2FibGU9U0MyMTYyCitJRlM9Ii0i IHJlYWQgZmllbGQxIGZpZWxkMiBmaWVsZDMgZmllbGQ0IDw8RU9GCiskMQorRU9GCiAKLSMjIyBM ZXQncyByZWNvZ25pemUgY29tbW9uIG1hY2hpbmVzIGFzIG5vdCBiZWluZyBvcGVyYXRpbmcgc3lz dGVtcyBzbwotIyMjIHRoYXQgdGhpbmdzIGxpa2UgY29uZmlnLnN1YiBkZWNzdGF0aW9uLTMxMDAg d29yay4gIFdlIGFsc28KLSMjIyByZWNvZ25pemUgc29tZSBtYW51ZmFjdHVyZXJzIGFzIG5vdCBi ZWluZyBvcGVyYXRpbmcgc3lzdGVtcywgc28gd2UKLSMjIyBjYW4gcHJvdmlkZSBkZWZhdWx0IG9w ZXJhdGluZyBzeXN0ZW1zIGJlbG93LgotY2FzZSAkb3MgaW4KLQktc3VuKm9zKikKLQkJIyBQcmV2 ZW50IGZvbGxvd2luZyBjbGF1c2UgZnJvbSBoYW5kbGluZyB0aGlzIGludmFsaWQgaW5wdXQuCi0J CTs7Ci0JLWRlYyogfCAtbWlwcyogfCAtc2VxdWVudCogfCAtZW5jb3JlKiB8IC1wYzUzMiogfCAt c2dpKiB8IC1zb255KiB8IFwKLQktYXR0KiB8IC03MzAwKiB8IC0zMzAwKiB8IC1kZWx0YSogfCAt bW90b3JvbGEqIHwgLXN1blsyMzRdKiB8IFwKLQktdW5pY29tKiB8IC1pYm0qIHwgLW5leHQgfCAt aHAgfCAtaXNpKiB8IC1hcG9sbG8gfCAtYWx0b3MqIHwgXAotCS1jb252ZXJnZW50KiB8IC1uY3Iq IHwgLW5ld3MgfCAtMzIqIHwgLTM2MDAqIHwgLTMxMDAqIHwgLWhpdGFjaGkqIHxcCi0JLWNbMTIz XSogfCAtY29udmV4KiB8IC1zdW4gfCAtY3JkcyB8IC1vbXJvbiogfCAtZGcgfCAtdWx0cmEgfCAt dHRpKiB8IFwKLQktaGFycmlzIHwgLWRvbHBoaW4gfCAtaGlnaGxldmVsIHwgLWdvdWxkIHwgLWNi bSB8IC1ucyB8IC1tYXNzY29tcCB8IFwKLQktYXBwbGUgfCAtYXhpcyB8IC1rbnV0aCB8IC1jcmF5 IHwgLW1pY3JvYmxhemUpCi0JCW9zPQotCQliYXNpY19tYWNoaW5lPSQxCi0JCTs7Ci0JLWJsdWVn ZW5lKikKLQkJb3M9LWNuawotCQk7OwotCS1zaW0gfCAtY2lzY28gfCAtb2tpIHwgLXdlYyB8IC13 aW5ib25kKQotCQlvcz0KLQkJYmFzaWNfbWFjaGluZT0kMQotCQk7OwotCS1zY291dCkKLQkJOzsK LQktd3JzKQotCQlvcz0tdnh3b3JrcwotCQliYXNpY19tYWNoaW5lPSQxCi0JCTs7Ci0JLWNob3J1 c29zKikKLQkJb3M9LWNob3J1c29zCi0JCWJhc2ljX21hY2hpbmU9JDEKLQkJOzsKLQktY2hvcnVz cmRiKQotCQlvcz0tY2hvcnVzcmRiCi0JCWJhc2ljX21hY2hpbmU9JDEKLQkJOzsKLQktaGl1eCop Ci0JCW9zPS1oaXV4d2UyCi0JCTs7Ci0JLXNjbzYpCi0JCW9zPS1zY281djYKLQkJYmFzaWNfbWFj aGluZT1gZWNobyAkMSB8IHNlZCAtZSAncy84Ni0uKi84Ni1wYy8nYAotCQk7OwotCS1zY281KQot CQlvcz0tc2NvMy4ydjUKLQkJYmFzaWNfbWFjaGluZT1gZWNobyAkMSB8IHNlZCAtZSAncy84Ni0u Ki84Ni1wYy8nYAotCQk7OwotCS1zY280KQotCQlvcz0tc2NvMy4ydjQKLQkJYmFzaWNfbWFjaGlu ZT1gZWNobyAkMSB8IHNlZCAtZSAncy84Ni0uKi84Ni1wYy8nYAotCQk7OwotCS1zY28zLjIuWzQt OV0qKQotCQlvcz1gZWNobyAkb3MgfCBzZWQgLWUgJ3Mvc2NvMy4yLi9zY28zLjJ2LydgCi0JCWJh c2ljX21hY2hpbmU9YGVjaG8gJDEgfCBzZWQgLWUgJ3MvODYtLiovODYtcGMvJ2AKLQkJOzsKLQkt c2NvMy4ydls0LTldKikKLQkJIyBEb24ndCBmb3JnZXQgdmVyc2lvbiBpZiBpdCBpcyAzLjJ2NCBv ciBuZXdlci4KLQkJYmFzaWNfbWFjaGluZT1gZWNobyAkMSB8IHNlZCAtZSAncy84Ni0uKi84Ni1w Yy8nYAotCQk7OwotCS1zY281djYqKQotCQkjIERvbid0IGZvcmdldCB2ZXJzaW9uIGlmIGl0IGlz IDMuMnY0IG9yIG5ld2VyLgotCQliYXNpY19tYWNoaW5lPWBlY2hvICQxIHwgc2VkIC1lICdzLzg2 LS4qLzg2LXBjLydgCi0JCTs7Ci0JLXNjbyopCi0JCW9zPS1zY28zLjJ2MgotCQliYXNpY19tYWNo aW5lPWBlY2hvICQxIHwgc2VkIC1lICdzLzg2LS4qLzg2LXBjLydgCi0JCTs7Ci0JLXVkayopCi0J CWJhc2ljX21hY2hpbmU9YGVjaG8gJDEgfCBzZWQgLWUgJ3MvODYtLiovODYtcGMvJ2AKLQkJOzsK LQktaXNjKQotCQlvcz0taXNjMi4yCi0JCWJhc2ljX21hY2hpbmU9YGVjaG8gJDEgfCBzZWQgLWUg J3MvODYtLiovODYtcGMvJ2AKLQkJOzsKLQktY2xpeCopCi0JCWJhc2ljX21hY2hpbmU9Y2xpcHBl ci1pbnRlcmdyYXBoCi0JCTs7Ci0JLWlzYyopCi0JCWJhc2ljX21hY2hpbmU9YGVjaG8gJDEgfCBz ZWQgLWUgJ3MvODYtLiovODYtcGMvJ2AKLQkJOzsKLQktbHlueCoxNzgpCi0JCW9zPS1seW54b3Mx NzgKLQkJOzsKLQktbHlueCo1KQotCQlvcz0tbHlueG9zNQotCQk7OwotCS1seW54KikKLQkJb3M9 LWx5bnhvcworIyBTZXBhcmF0ZSBpbnRvIGxvZ2ljYWwgY29tcG9uZW50cyBmb3IgZnVydGhlciB2 YWxpZGF0aW9uCitjYXNlICQxIGluCisJKi0qLSotKi0qKQorCQllY2hvIEludmFsaWQgY29uZmln dXJhdGlvbiBcYCIkMSJcJzogbW9yZSB0aGFuIGZvdXIgY29tcG9uZW50cyA+JjIKKwkJZXhpdCAx CiAJCTs7Ci0JLXB0eCopCi0JCWJhc2ljX21hY2hpbmU9YGVjaG8gJDEgfCBzZWQgLWUgJ3MvODYt LiovODYtc2VxdWVudC8nYAorCSotKi0qLSopCisJCWJhc2ljX21hY2hpbmU9JGZpZWxkMS0kZmll bGQyCisJCW9zPSRmaWVsZDMtJGZpZWxkNAogCQk7OwotCS13aW5kb3dzbnQqKQotCQlvcz1gZWNo byAkb3MgfCBzZWQgLWUgJ3Mvd2luZG93c250L3dpbm50LydgCisJKi0qLSopCisJCSMgQW1iaWd1 b3VzIHdoZXRoZXIgQ09NUEFOWSBpcyBwcmVzZW50LCBvciBza2lwcGVkIGFuZCBLRVJORUwtT1Mg aXMgdHdvCisJCSMgcGFydHMKKwkJbWF5YmVfb3M9JGZpZWxkMi0kZmllbGQzCisJCWNhc2UgJG1h eWJlX29zIGluCisJCQludG8tcW54KiB8IGxpbnV4LWdudSogfCBsaW51eC1hbmRyb2lkKiB8IGxp bnV4LWRpZXRsaWJjIFwKKwkJCXwgbGludXgtbmV3bGliKiB8IGxpbnV4LW11c2wqIHwgbGludXgt dWNsaWJjKiB8IHVjbGludXgtdWNsaWJjKiBcCisJCQl8IHVjbGludXgtZ251KiB8IGtmcmVlYnNk Ki1nbnUqIHwga25ldGJzZCotZ251KiB8IG5ldGJzZCotZ251KiBcCisJCQl8IG5ldGJzZCotZWFi aSogfCBrb3BlbnNvbGFyaXMqLWdudSogfCBjbG91ZGFiaSotZWFiaSogXAorCQkJfCBzdG9ybS1j aGFvcyogfCBvczItZW14KiB8IHJ0bWstbm92YSopCisJCQkJYmFzaWNfbWFjaGluZT0kZmllbGQx CisJCQkJb3M9JG1heWJlX29zCisJCQkJOzsKKwkJCWFuZHJvaWQtbGludXgpCisJCQkJYmFzaWNf bWFjaGluZT0kZmllbGQxLXVua25vd24KKwkJCQlvcz1saW51eC1hbmRyb2lkCisJCQkJOzsKKwkJ CSopCisJCQkJYmFzaWNfbWFjaGluZT0kZmllbGQxLSRmaWVsZDIKKwkJCQlvcz0kZmllbGQzCisJ CQkJOzsKKwkJZXNhYwogCQk7OwotCS1wc29zKikKLQkJb3M9LXBzb3MKKwkqLSopCisJCSMgQSBs b25lIGNvbmZpZyB3ZSBoYXBwZW4gdG8gbWF0Y2ggbm90IGZpdHRpbmcgYW55IHBhdHRlcm4KKwkJ Y2FzZSAkZmllbGQxLSRmaWVsZDIgaW4KKwkJCWRlY3N0YXRpb24tMzEwMCkKKwkJCQliYXNpY19t YWNoaW5lPW1pcHMtZGVjCisJCQkJb3M9CisJCQkJOzsKKwkJCSotKikKKwkJCQkjIFNlY29uZCBj b21wb25lbnQgaXMgdXN1YWxseSwgYnV0IG5vdCBhbHdheXMgdGhlIE9TCisJCQkJY2FzZSAkZmll bGQyIGluCisJCQkJCSMgUHJldmVudCBmb2xsb3dpbmcgY2xhdXNlIGZyb20gaGFuZGxpbmcgdGhp cyB2YWxpZCBvcworCQkJCQlzdW4qb3MqKQorCQkJCQkJYmFzaWNfbWFjaGluZT0kZmllbGQxCisJ CQkJCQlvcz0kZmllbGQyCisJCQkJCQk7OworCQkJCQkjIE1hbnVmYWN0dXJlcnMKKwkJCQkJZGVj KiB8IG1pcHMqIHwgc2VxdWVudCogfCBlbmNvcmUqIHwgcGM1MzMqIHwgc2dpKiB8IHNvbnkqIFwK KwkJCQkJfCBhdHQqIHwgNzMwMCogfCAzMzAwKiB8IGRlbHRhKiB8IG1vdG9yb2xhKiB8IHN1blsy MzRdKiBcCisJCQkJCXwgdW5pY29tKiB8IGlibSogfCBuZXh0IHwgaHAgfCBpc2kqIHwgYXBvbGxv IHwgYWx0b3MqIFwKKwkJCQkJfCBjb252ZXJnZW50KiB8IG5jciogfCBuZXdzIHwgMzIqIHwgMzYw MCogfCAzMTAwKiBcCisJCQkJCXwgaGl0YWNoaSogfCBjWzEyM10qIHwgY29udmV4KiB8IHN1biB8 IGNyZHMgfCBvbXJvbiogfCBkZyBcCisJCQkJCXwgdWx0cmEgfCB0dGkqIHwgaGFycmlzIHwgZG9s cGhpbiB8IGhpZ2hsZXZlbCB8IGdvdWxkIFwKKwkJCQkJfCBjYm0gfCBucyB8IG1hc3Njb21wIHwg YXBwbGUgfCBheGlzIHwga251dGggfCBjcmF5IFwKKwkJCQkJfCBtaWNyb2JsYXplKiB8IHNpbSB8 IGNpc2NvIFwKKwkJCQkJfCBva2kgfCB3ZWMgfCB3cnMgfCB3aW5ib25kKQorCQkJCQkJYmFzaWNf bWFjaGluZT0kZmllbGQxLSRmaWVsZDIKKwkJCQkJCW9zPQorCQkJCQkJOzsKKwkJCQkJKikKKwkJ CQkJCWJhc2ljX21hY2hpbmU9JGZpZWxkMQorCQkJCQkJb3M9JGZpZWxkMgorCQkJCQkJOzsKKwkJ CQllc2FjCisJCQk7OworCQllc2FjCiAJCTs7Ci0JLW1pbnQgfCAtbWludFswLTldKikKLQkJYmFz aWNfbWFjaGluZT1tNjhrLWF0YXJpCi0JCW9zPS1taW50CisJKikKKwkJIyBDb252ZXJ0IHNpbmds ZS1jb21wb25lbnQgc2hvcnQtaGFuZHMgbm90IHZhbGlkIGFzIHBhcnQgb2YKKwkJIyBtdWx0aS1j b21wb25lbnQgY29uZmlndXJhdGlvbnMuCisJCWNhc2UgJGZpZWxkMSBpbgorCQkJMzg2YnNkKQor CQkJCWJhc2ljX21hY2hpbmU9aTM4Ni1wYworCQkJCW9zPWJzZAorCQkJCTs7CisJCQlhMjlraGlm KQorCQkJCWJhc2ljX21hY2hpbmU9YTI5ay1hbWQKKwkJCQlvcz11ZGkKKwkJCQk7OworCQkJYWRv YmU2OGspCisJCQkJYmFzaWNfbWFjaGluZT1tNjgwMTAtYWRvYmUKKwkJCQlvcz1zY291dAorCQkJ CTs7CisJCQlhbGxpYW50KQorCQkJCWJhc2ljX21hY2hpbmU9Zng4MC1hbGxpYW50CisJCQkJb3M9 CisJCQkJOzsKKwkJCWFsdG9zIHwgYWx0b3MzMDY4KQorCQkJCWJhc2ljX21hY2hpbmU9bTY4ay1h bHRvcworCQkJCW9zPQorCQkJCTs7CisJCQlhbTI5aykKKwkJCQliYXNpY19tYWNoaW5lPWEyOWst bm9uZQorCQkJCW9zPWJzZAorCQkJCTs7CisJCQlhbWRhaGwpCisJCQkJYmFzaWNfbWFjaGluZT01 ODAtYW1kYWhsCisJCQkJb3M9c3lzdgorCQkJCTs7CisJCQlhbWlnYSkKKwkJCQliYXNpY19tYWNo aW5lPW02OGstdW5rbm93bgorCQkJCW9zPQorCQkJCTs7CisJCQlhbWlnYW9zIHwgYW1pZ2Fkb3Mp CisJCQkJYmFzaWNfbWFjaGluZT1tNjhrLXVua25vd24KKwkJCQlvcz1hbWlnYW9zCisJCQkJOzsK KwkJCWFtaWdhdW5peCB8IGFtaXgpCisJCQkJYmFzaWNfbWFjaGluZT1tNjhrLXVua25vd24KKwkJ CQlvcz1zeXN2NAorCQkJCTs7CisJCQlhcG9sbG82OCkKKwkJCQliYXNpY19tYWNoaW5lPW02OGst YXBvbGxvCisJCQkJb3M9c3lzdgorCQkJCTs7CisJCQlhcG9sbG82OGJzZCkKKwkJCQliYXNpY19t YWNoaW5lPW02OGstYXBvbGxvCisJCQkJb3M9YnNkCisJCQkJOzsKKwkJCWFyb3MpCisJCQkJYmFz aWNfbWFjaGluZT1pMzg2LXBjCisJCQkJb3M9YXJvcworCQkJCTs7CisJCQlhdXgpCisJCQkJYmFz aWNfbWFjaGluZT1tNjhrLWFwcGxlCisJCQkJb3M9YXV4CisJCQkJOzsKKwkJCWJhbGFuY2UpCisJ CQkJYmFzaWNfbWFjaGluZT1uczMyay1zZXF1ZW50CisJCQkJb3M9ZHluaXgKKwkJCQk7OworCQkJ YmxhY2tmaW4pCisJCQkJYmFzaWNfbWFjaGluZT1iZmluLXVua25vd24KKwkJCQlvcz1saW51eAor CQkJCTs7CisJCQljZWdjYykKKwkJCQliYXNpY19tYWNoaW5lPWFybS11bmtub3duCisJCQkJb3M9 Y2VnY2MKKwkJCQk7OworCQkJY29udmV4LWMxKQorCQkJCWJhc2ljX21hY2hpbmU9YzEtY29udmV4 CisJCQkJb3M9YnNkCisJCQkJOzsKKwkJCWNvbnZleC1jMikKKwkJCQliYXNpY19tYWNoaW5lPWMy LWNvbnZleAorCQkJCW9zPWJzZAorCQkJCTs7CisJCQljb252ZXgtYzMyKQorCQkJCWJhc2ljX21h Y2hpbmU9YzMyLWNvbnZleAorCQkJCW9zPWJzZAorCQkJCTs7CisJCQljb252ZXgtYzM0KQorCQkJ CWJhc2ljX21hY2hpbmU9YzM0LWNvbnZleAorCQkJCW9zPWJzZAorCQkJCTs7CisJCQljb252ZXgt YzM4KQorCQkJCWJhc2ljX21hY2hpbmU9YzM4LWNvbnZleAorCQkJCW9zPWJzZAorCQkJCTs7CisJ CQljcmF5KQorCQkJCWJhc2ljX21hY2hpbmU9ajkwLWNyYXkKKwkJCQlvcz11bmljb3MKKwkJCQk7 OworCQkJY3JkcyB8IHVub3MpCisJCQkJYmFzaWNfbWFjaGluZT1tNjhrLWNyZHMKKwkJCQlvcz0K KwkJCQk7OworCQkJZGEzMCkKKwkJCQliYXNpY19tYWNoaW5lPW02OGstZGEzMAorCQkJCW9zPQor CQkJCTs7CisJCQlkZWNzdGF0aW9uIHwgcG1heCB8IHBtaW4gfCBkZWMzMTAwIHwgZGVjc3RhdG4p CisJCQkJYmFzaWNfbWFjaGluZT1taXBzLWRlYworCQkJCW9zPQorCQkJCTs7CisJCQlkZWx0YTg4 KQorCQkJCWJhc2ljX21hY2hpbmU9bTg4ay1tb3Rvcm9sYQorCQkJCW9zPXN5c3YzCisJCQkJOzsK KwkJCWRpY29zKQorCQkJCWJhc2ljX21hY2hpbmU9aTY4Ni1wYworCQkJCW9zPWRpY29zCisJCQkJ OzsKKwkJCWRqZ3BwKQorCQkJCWJhc2ljX21hY2hpbmU9aTU4Ni1wYworCQkJCW9zPW1zZG9zZGpn cHAKKwkJCQk7OworCQkJZWJtb24yOWspCisJCQkJYmFzaWNfbWFjaGluZT1hMjlrLWFtZAorCQkJ CW9zPWVibW9uCisJCQkJOzsKKwkJCWVzMTgwMCB8IE9TRTY4ayB8IG9zZTY4ayB8IG9zZSB8IE9T RSkKKwkJCQliYXNpY19tYWNoaW5lPW02OGstZXJpY3Nzb24KKwkJCQlvcz1vc2UKKwkJCQk7Owor CQkJZ21pY3JvKQorCQkJCWJhc2ljX21hY2hpbmU9dHJvbi1nbWljcm8KKwkJCQlvcz1zeXN2CisJ CQkJOzsKKwkJCWdvMzIpCisJCQkJYmFzaWNfbWFjaGluZT1pMzg2LXBjCisJCQkJb3M9Z28zMgor CQkJCTs7CisJCQloODMwMGhtcykKKwkJCQliYXNpY19tYWNoaW5lPWg4MzAwLWhpdGFjaGkKKwkJ CQlvcz1obXMKKwkJCQk7OworCQkJaDgzMDB4cmF5KQorCQkJCWJhc2ljX21hY2hpbmU9aDgzMDAt aGl0YWNoaQorCQkJCW9zPXhyYXkKKwkJCQk7OworCQkJaDg1MDBobXMpCisJCQkJYmFzaWNfbWFj aGluZT1oODUwMC1oaXRhY2hpCisJCQkJb3M9aG1zCisJCQkJOzsKKwkJCWhhcnJpcykKKwkJCQli YXNpY19tYWNoaW5lPW04OGstaGFycmlzCisJCQkJb3M9c3lzdjMKKwkJCQk7OworCQkJaHAzMDAp CisJCQkJYmFzaWNfbWFjaGluZT1tNjhrLWhwCisJCQkJOzsKKwkJCWhwMzAwYnNkKQorCQkJCWJh c2ljX21hY2hpbmU9bTY4ay1ocAorCQkJCW9zPWJzZAorCQkJCTs7CisJCQlocDMwMGhwdXgpCisJ CQkJYmFzaWNfbWFjaGluZT1tNjhrLWhwCisJCQkJb3M9aHB1eAorCQkJCTs7CisJCQlocHBhb3Nm KQorCQkJCWJhc2ljX21hY2hpbmU9aHBwYTEuMS1ocAorCQkJCW9zPW9zZgorCQkJCTs7CisJCQlo cHBybykKKwkJCQliYXNpY19tYWNoaW5lPWhwcGExLjEtaHAKKwkJCQlvcz1wcm9lbGYKKwkJCQk7 OworCQkJaTM4Nm1hY2gpCisJCQkJYmFzaWNfbWFjaGluZT1pMzg2LW1hY2gKKwkJCQlvcz1tYWNo CisJCQkJOzsKKwkJCXZzdGEpCisJCQkJYmFzaWNfbWFjaGluZT1pMzg2LXBjCisJCQkJb3M9dnN0 YQorCQkJCTs7CisJCQlpc2k2OCB8IGlzaSkKKwkJCQliYXNpY19tYWNoaW5lPW02OGstaXNpCisJ CQkJb3M9c3lzdgorCQkJCTs7CisJCQltNjhrbm9tbXUpCisJCQkJYmFzaWNfbWFjaGluZT1tNjhr LXVua25vd24KKwkJCQlvcz1saW51eAorCQkJCTs7CisJCQltYWdudW0gfCBtMzIzMCkKKwkJCQli YXNpY19tYWNoaW5lPW1pcHMtbWlwcworCQkJCW9zPXN5c3YKKwkJCQk7OworCQkJbWVybGluKQor CQkJCWJhc2ljX21hY2hpbmU9bnMzMmstdXRlaworCQkJCW9zPXN5c3YKKwkJCQk7OworCQkJbWlu Z3c2NCkKKwkJCQliYXNpY19tYWNoaW5lPXg4Nl82NC1wYworCQkJCW9zPW1pbmd3NjQKKwkJCQk7 OworCQkJbWluZ3czMikKKwkJCQliYXNpY19tYWNoaW5lPWk2ODYtcGMKKwkJCQlvcz1taW5ndzMy CisJCQkJOzsKKwkJCW1pbmd3MzJjZSkKKwkJCQliYXNpY19tYWNoaW5lPWFybS11bmtub3duCisJ CQkJb3M9bWluZ3czMmNlCisJCQkJOzsKKwkJCW1vbml0b3IpCisJCQkJYmFzaWNfbWFjaGluZT1t NjhrLXJvbTY4aworCQkJCW9zPWNvZmYKKwkJCQk7OworCQkJbW9ycGhvcykKKwkJCQliYXNpY19t YWNoaW5lPXBvd2VycGMtdW5rbm93bgorCQkJCW9zPW1vcnBob3MKKwkJCQk7OworCQkJbW94aWVi b3gpCisJCQkJYmFzaWNfbWFjaGluZT1tb3hpZS11bmtub3duCisJCQkJb3M9bW94aWVib3gKKwkJ CQk7OworCQkJbXNkb3MpCisJCQkJYmFzaWNfbWFjaGluZT1pMzg2LXBjCisJCQkJb3M9bXNkb3MK KwkJCQk7OworCQkJbXN5cykKKwkJCQliYXNpY19tYWNoaW5lPWk2ODYtcGMKKwkJCQlvcz1tc3lz CisJCQkJOzsKKwkJCW12cykKKwkJCQliYXNpY19tYWNoaW5lPWkzNzAtaWJtCisJCQkJb3M9bXZz CisJCQkJOzsKKwkJCW5hY2wpCisJCQkJYmFzaWNfbWFjaGluZT1sZTMyLXVua25vd24KKwkJCQlv cz1uYWNsCisJCQkJOzsKKwkJCW5jcjMwMDApCisJCQkJYmFzaWNfbWFjaGluZT1pNDg2LW5jcgor CQkJCW9zPXN5c3Y0CisJCQkJOzsKKwkJCW5ldGJzZDM4NikKKwkJCQliYXNpY19tYWNoaW5lPWkz ODYtcGMKKwkJCQlvcz1uZXRic2QKKwkJCQk7OworCQkJbmV0d2luZGVyKQorCQkJCWJhc2ljX21h Y2hpbmU9YXJtdjRsLXJlYmVsCisJCQkJb3M9bGludXgKKwkJCQk7OworCQkJbmV3cyB8IG5ld3M3 MDAgfCBuZXdzODAwIHwgbmV3czkwMCkKKwkJCQliYXNpY19tYWNoaW5lPW02OGstc29ueQorCQkJ CW9zPW5ld3NvcworCQkJCTs7CisJCQluZXdzMTAwMCkKKwkJCQliYXNpY19tYWNoaW5lPW02ODAz MC1zb255CisJCQkJb3M9bmV3c29zCisJCQkJOzsKKwkJCW5lY3Y3MCkKKwkJCQliYXNpY19tYWNo aW5lPXY3MC1uZWMKKwkJCQlvcz1zeXN2CisJCQkJOzsKKwkJCW5oMzAwMCkKKwkJCQliYXNpY19t YWNoaW5lPW02OGstaGFycmlzCisJCQkJb3M9Y3h1eAorCQkJCTs7CisJCQluaFs0NV0wMDApCisJ CQkJYmFzaWNfbWFjaGluZT1tODhrLWhhcnJpcworCQkJCW9zPWN4dXgKKwkJCQk7OworCQkJbmlu ZHk5NjApCisJCQkJYmFzaWNfbWFjaGluZT1pOTYwLWludGVsCisJCQkJb3M9bmluZHkKKwkJCQk7 OworCQkJbW9uOTYwKQorCQkJCWJhc2ljX21hY2hpbmU9aTk2MC1pbnRlbAorCQkJCW9zPW1vbjk2 MAorCQkJCTs7CisJCQlub25zdG9wdXgpCisJCQkJYmFzaWNfbWFjaGluZT1taXBzLWNvbXBhcQor CQkJCW9zPW5vbnN0b3B1eAorCQkJCTs7CisJCQlvczQwMCkKKwkJCQliYXNpY19tYWNoaW5lPXBv d2VycGMtaWJtCisJCQkJb3M9b3M0MDAKKwkJCQk7OworCQkJT1NFNjgwMDAgfCBvc2U2ODAwMCkK KwkJCQliYXNpY19tYWNoaW5lPW02ODAwMC1lcmljc3NvbgorCQkJCW9zPW9zZQorCQkJCTs7CisJ CQlvczY4aykKKwkJCQliYXNpY19tYWNoaW5lPW02OGstbm9uZQorCQkJCW9zPW9zNjhrCisJCQkJ OzsKKwkJCXBhcmFnb24pCisJCQkJYmFzaWNfbWFjaGluZT1pODYwLWludGVsCisJCQkJb3M9b3Nm CisJCQkJOzsKKwkJCXBhcmlzYykKKwkJCQliYXNpY19tYWNoaW5lPWhwcGEtdW5rbm93bgorCQkJ CW9zPWxpbnV4CisJCQkJOzsKKwkJCXB3MzIpCisJCQkJYmFzaWNfbWFjaGluZT1pNTg2LXVua25v d24KKwkJCQlvcz1wdzMyCisJCQkJOzsKKwkJCXJkb3MgfCByZG9zNjQpCisJCQkJYmFzaWNfbWFj aGluZT14ODZfNjQtcGMKKwkJCQlvcz1yZG9zCisJCQkJOzsKKwkJCXJkb3MzMikKKwkJCQliYXNp Y19tYWNoaW5lPWkzODYtcGMKKwkJCQlvcz1yZG9zCisJCQkJOzsKKwkJCXJvbTY4aykKKwkJCQli YXNpY19tYWNoaW5lPW02OGstcm9tNjhrCisJCQkJb3M9Y29mZgorCQkJCTs7CisJCQlzYTI5MjAw KQorCQkJCWJhc2ljX21hY2hpbmU9YTI5ay1hbWQKKwkJCQlvcz11ZGkKKwkJCQk7OworCQkJc2Vp KQorCQkJCWJhc2ljX21hY2hpbmU9bWlwcy1zZWkKKwkJCQlvcz1zZWl1eAorCQkJCTs7CisJCQlz ZXF1ZW50KQorCQkJCWJhc2ljX21hY2hpbmU9aTM4Ni1zZXF1ZW50CisJCQkJb3M9CisJCQkJOzsK KwkJCXNwczcpCisJCQkJYmFzaWNfbWFjaGluZT1tNjhrLWJ1bGwKKwkJCQlvcz1zeXN2MgorCQkJ CTs7CisJCQlzdDIwMDApCisJCQkJYmFzaWNfbWFjaGluZT1tNjhrLXRhbmRlbQorCQkJCW9zPQor CQkJCTs7CisJCQlzdHJhdHVzKQorCQkJCWJhc2ljX21hY2hpbmU9aTg2MC1zdHJhdHVzCisJCQkJ b3M9c3lzdjQKKwkJCQk7OworCQkJc3VuMikKKwkJCQliYXNpY19tYWNoaW5lPW02ODAwMC1zdW4K KwkJCQlvcz0KKwkJCQk7OworCQkJc3VuMm9zMykKKwkJCQliYXNpY19tYWNoaW5lPW02ODAwMC1z dW4KKwkJCQlvcz1zdW5vczMKKwkJCQk7OworCQkJc3VuMm9zNCkKKwkJCQliYXNpY19tYWNoaW5l PW02ODAwMC1zdW4KKwkJCQlvcz1zdW5vczQKKwkJCQk7OworCQkJc3VuMykKKwkJCQliYXNpY19t YWNoaW5lPW02OGstc3VuCisJCQkJb3M9CisJCQkJOzsKKwkJCXN1bjNvczMpCisJCQkJYmFzaWNf bWFjaGluZT1tNjhrLXN1bgorCQkJCW9zPXN1bm9zMworCQkJCTs7CisJCQlzdW4zb3M0KQorCQkJ CWJhc2ljX21hY2hpbmU9bTY4ay1zdW4KKwkJCQlvcz1zdW5vczQKKwkJCQk7OworCQkJc3VuNCkK KwkJCQliYXNpY19tYWNoaW5lPXNwYXJjLXN1bgorCQkJCW9zPQorCQkJCTs7CisJCQlzdW40b3Mz KQorCQkJCWJhc2ljX21hY2hpbmU9c3BhcmMtc3VuCisJCQkJb3M9c3Vub3MzCisJCQkJOzsKKwkJ CXN1bjRvczQpCisJCQkJYmFzaWNfbWFjaGluZT1zcGFyYy1zdW4KKwkJCQlvcz1zdW5vczQKKwkJ CQk7OworCQkJc3VuNHNvbDIpCisJCQkJYmFzaWNfbWFjaGluZT1zcGFyYy1zdW4KKwkJCQlvcz1z b2xhcmlzMgorCQkJCTs7CisJCQlzdW4zODYgfCBzdW4zODZpIHwgcm9hZHJ1bm5lcikKKwkJCQli YXNpY19tYWNoaW5lPWkzODYtc3VuCisJCQkJb3M9CisJCQkJOzsKKwkJCXN2MSkKKwkJCQliYXNp Y19tYWNoaW5lPXN2MS1jcmF5CisJCQkJb3M9dW5pY29zCisJCQkJOzsKKwkJCXN5bW1ldHJ5KQor CQkJCWJhc2ljX21hY2hpbmU9aTM4Ni1zZXF1ZW50CisJCQkJb3M9ZHluaXgKKwkJCQk7OworCQkJ dDNlKQorCQkJCWJhc2ljX21hY2hpbmU9YWxwaGFldjUtY3JheQorCQkJCW9zPXVuaWNvcworCQkJ CTs7CisJCQl0OTApCisJCQkJYmFzaWNfbWFjaGluZT10OTAtY3JheQorCQkJCW9zPXVuaWNvcwor CQkJCTs7CisJCQl0b2FkMSkKKwkJCQliYXNpY19tYWNoaW5lPXBkcDEwLXhrbAorCQkJCW9zPXRv cHMyMAorCQkJCTs7CisJCQl0cGYpCisJCQkJYmFzaWNfbWFjaGluZT1zMzkweC1pYm0KKwkJCQlv cz10cGYKKwkJCQk7OworCQkJdWRpMjlrKQorCQkJCWJhc2ljX21hY2hpbmU9YTI5ay1hbWQKKwkJ CQlvcz11ZGkKKwkJCQk7OworCQkJdWx0cmEzKQorCQkJCWJhc2ljX21hY2hpbmU9YTI5ay1ueXUK KwkJCQlvcz1zeW0xCisJCQkJOzsKKwkJCXY4MTAgfCBuZWN2ODEwKQorCQkJCWJhc2ljX21hY2hp bmU9djgxMC1uZWMKKwkJCQlvcz1ub25lCisJCQkJOzsKKwkJCXZheHYpCisJCQkJYmFzaWNfbWFj aGluZT12YXgtZGVjCisJCQkJb3M9c3lzdgorCQkJCTs7CisJCQl2bXMpCisJCQkJYmFzaWNfbWFj aGluZT12YXgtZGVjCisJCQkJb3M9dm1zCisJCQkJOzsKKwkJCXZ4d29ya3M5NjApCisJCQkJYmFz aWNfbWFjaGluZT1pOTYwLXdycworCQkJCW9zPXZ4d29ya3MKKwkJCQk7OworCQkJdnh3b3JrczY4 KQorCQkJCWJhc2ljX21hY2hpbmU9bTY4ay13cnMKKwkJCQlvcz12eHdvcmtzCisJCQkJOzsKKwkJ CXZ4d29ya3MyOWspCisJCQkJYmFzaWNfbWFjaGluZT1hMjlrLXdycworCQkJCW9zPXZ4d29ya3MK KwkJCQk7OworCQkJeGJveCkKKwkJCQliYXNpY19tYWNoaW5lPWk2ODYtcGMKKwkJCQlvcz1taW5n dzMyCisJCQkJOzsKKwkJCXltcCkKKwkJCQliYXNpY19tYWNoaW5lPXltcC1jcmF5CisJCQkJb3M9 dW5pY29zCisJCQkJOzsKKwkJCSopCisJCQkJYmFzaWNfbWFjaGluZT0kMQorCQkJCW9zPQorCQkJ CTs7CisJCWVzYWMKIAkJOzsKIGVzYWMKIAotIyBEZWNvZGUgYWxpYXNlcyBmb3IgY2VydGFpbiBD UFUtQ09NUEFOWSBjb21iaW5hdGlvbnMuCisjIERlY29kZSAxLWNvbXBvbmVudCBvciBhZC1ob2Mg YmFzaWMgbWFjaGluZXMKIGNhc2UgJGJhc2ljX21hY2hpbmUgaW4KLQkjIFJlY29nbml6ZSB0aGUg YmFzaWMgQ1BVIHR5cGVzIHdpdGhvdXQgY29tcGFueSBuYW1lLgotCSMgU29tZSBhcmUgb21pdHRl ZCBoZXJlIGJlY2F1c2UgdGhleSBoYXZlIHNwZWNpYWwgbWVhbmluZ3MgYmVsb3cuCi0JMTc1MGEg fCA1ODAgXAotCXwgYTI5ayBcCi0JfCBhYXJjaDY0IHwgYWFyY2g2NF9iZSBcCi0JfCBhbHBoYSB8 IGFscGhhZXZbNC04XSB8IGFscGhhZXY1NiB8IGFscGhhZXY2Wzc4XSB8IGFscGhhcGNhNVs2N10g XAotCXwgYWxwaGE2NCB8IGFscGhhNjRldls0LThdIHwgYWxwaGE2NGV2NTYgfCBhbHBoYTY0ZXY2 Wzc4XSB8IGFscGhhNjRwY2E1WzY3XSBcCi0JfCBhbTMzXzIuMCBcCi0JfCBhcmMgfCBhcm0gfCBh cm1bYmxdZSB8IGFybWVbbGJdIHwgYXJtdlsyMzQ1XSB8IGFybXZbMzQ1XVtsYl0gfCBhdnIgfCBh dnIzMiBcCi0gICAgICAgIHwgYmUzMiB8IGJlNjQgXAotCXwgYmZpbiBcCi0JfCBjNHggfCBjbGlw cGVyIFwKLQl8IGQxMHYgfCBkMzB2IHwgZGx4IHwgZHNwMTZ4eCBcCi0JfCBlcGlwaGFueSBcCi0J fCBmaWRvIHwgZnIzMCB8IGZydiBcCi0JfCBoODMwMCB8IGg4NTAwIHwgaHBwYSB8IGhwcGExLlsw MV0gfCBocHBhMi4wIHwgaHBwYTIuMFtud10gfCBocHBhNjQgXAotCXwgaGV4YWdvbiBcCi0JfCBp MzcwIHwgaTg2MCB8IGk5NjAgfCBpYTY0IFwKLQl8IGlwMmsgfCBpcTIwMDAgXAotCXwgbGUzMiB8 IGxlNjQgXAotCXwgbG0zMiBcCi0JfCBtMzJjIHwgbTMyciB8IG0zMnJsZSB8IG02ODAwMCB8IG02 OGsgfCBtODhrIFwKLQl8IG1heHEgfCBtYiB8IG1pY3JvYmxhemUgfCBtY29yZSB8IG1lcCB8IG1l dGFnIFwKLQl8IG1pcHMgfCBtaXBzYmUgfCBtaXBzZWIgfCBtaXBzZWwgfCBtaXBzbGUgXAotCXwg bWlwczE2IFwKLQl8IG1pcHM2NCB8IG1pcHM2NGVsIFwKLQl8IG1pcHM2NG9jdGVvbiB8IG1pcHM2 NG9jdGVvbmVsIFwKLQl8IG1pcHM2NG9yaW9uIHwgbWlwczY0b3Jpb25lbCBcCi0JfCBtaXBzNjRy NTkwMCB8IG1pcHM2NHI1OTAwZWwgXAotCXwgbWlwczY0dnIgfCBtaXBzNjR2cmVsIFwKLQl8IG1p cHM2NHZyNDEwMCB8IG1pcHM2NHZyNDEwMGVsIFwKLQl8IG1pcHM2NHZyNDMwMCB8IG1pcHM2NHZy NDMwMGVsIFwKLQl8IG1pcHM2NHZyNTAwMCB8IG1pcHM2NHZyNTAwMGVsIFwKLQl8IG1pcHM2NHZy NTkwMCB8IG1pcHM2NHZyNTkwMGVsIFwKLQl8IG1pcHNpc2EzMiB8IG1pcHNpc2EzMmVsIFwKLQl8 IG1pcHNpc2EzMnIyIHwgbWlwc2lzYTMycjJlbCBcCi0JfCBtaXBzaXNhNjQgfCBtaXBzaXNhNjRl bCBcCi0JfCBtaXBzaXNhNjRyMiB8IG1pcHNpc2E2NHIyZWwgXAotCXwgbWlwc2lzYTY0c2IxIHwg bWlwc2lzYTY0c2IxZWwgXAotCXwgbWlwc2lzYTY0c3I3MWsgfCBtaXBzaXNhNjRzcjcxa2VsIFwK LQl8IG1pcHN0eDM5IHwgbWlwc3R4MzllbCBcCi0JfCBtbjEwMjAwIHwgbW4xMDMwMCBcCi0JfCBt b3hpZSBcCi0JfCBtdCBcCi0JfCBtc3A0MzAgXAotCXwgbmRzMzIgfCBuZHMzMmxlIHwgbmRzMzJi ZSBcCi0JfCBuaW9zIHwgbmlvczIgXAotCXwgbnMxNmsgfCBuczMyayBcCi0JfCBvcGVuOCBcCi0J fCBvcjMyIFwKLQl8IHBkcDEwIHwgcGRwMTEgfCBwaiB8IHBqbCBcCi0JfCBwb3dlcnBjIHwgcG93 ZXJwYzY0IHwgcG93ZXJwYzY0bGUgfCBwb3dlcnBjbGUgXAotCXwgcHlyYW1pZCBcCi0JfCBybDc4 IHwgcnggXAotCXwgc2NvcmUgXAotCXwgc2ggfCBzaFsxMjM0XSB8IHNoWzI0XWEgfCBzaFsyNF1h ZWIgfCBzaFsyM11lIHwgc2hbMzRdZWIgfCBzaGViIHwgc2hiZSB8IHNobGUgfCBzaFsxMjM0XWxl IHwgc2gzZWxlIFwKLQl8IHNoNjQgfCBzaDY0bGUgXAotCXwgc3BhcmMgfCBzcGFyYzY0IHwgc3Bh cmM2NGIgfCBzcGFyYzY0diB8IHNwYXJjODZ4IHwgc3BhcmNsZXQgfCBzcGFyY2xpdGUgXAotCXwg c3BhcmN2OCB8IHNwYXJjdjkgfCBzcGFyY3Y5YiB8IHNwYXJjdjl2IFwKLQl8IHNwdSBcCi0JfCB0 YWhvZSB8IHRpYzR4IHwgdGljNTR4IHwgdGljNTV4IHwgdGljNnggfCB0aWM4MCB8IHRyb24gXAot CXwgdWJpY29tMzIgXAotCXwgdjg1MCB8IHY4NTBlIHwgdjg1MGUxIHwgdjg1MGUyIHwgdjg1MGVz IHwgdjg1MGUydjMgXAotCXwgd2UzMmsgXAotCXwgeDg2IHwgeGMxNnggfCB4c3Rvcm15MTYgfCB4 dGVuc2EgXAotCXwgejhrIHwgejgwKQotCQliYXNpY19tYWNoaW5lPSRiYXNpY19tYWNoaW5lLXVu a25vd24KLQkJOzsKLQljNTR4KQotCQliYXNpY19tYWNoaW5lPXRpYzU0eC11bmtub3duCi0JCTs7 Ci0JYzU1eCkKLQkJYmFzaWNfbWFjaGluZT10aWM1NXgtdW5rbm93bgotCQk7OwotCWM2eCkKLQkJ YmFzaWNfbWFjaGluZT10aWM2eC11bmtub3duCi0JCTs7Ci0JbTY4MTEgfCBtNjhoYzExIHwgbTY4 MTIgfCBtNjhoYzEyIHwgbTY4aGNzMTJ4IHwgcGljb2NoaXApCi0JCWJhc2ljX21hY2hpbmU9JGJh c2ljX21hY2hpbmUtdW5rbm93bgotCQlvcz0tbm9uZQotCQk7OwotCW04ODExMCB8IG02ODBbMTIz NDZdMCB8IG02ODM/MiB8IG02ODM2MCB8IG01MjAwIHwgdjcwIHwgdzY1IHwgejhrKQotCQk7Owot CW1zMSkKLQkJYmFzaWNfbWFjaGluZT1tdC11bmtub3duCisJIyBIZXJlIHdlIGhhbmRsZSB0aGUg ZGVmYXVsdCBtYW51ZmFjdHVyZXIgb2YgY2VydGFpbiBDUFUgdHlwZXMuICBJdCBpcyBpbgorCSMg c29tZSBjYXNlcyB0aGUgb25seSBtYW51ZmFjdHVyZXIsIGluIG90aGVycywgaXQgaXMgdGhlIG1v c3QgcG9wdWxhci4KKwl3ODlrKQorCQljcHU9aHBwYTEuMQorCQl2ZW5kb3I9d2luYm9uZAogCQk7 OwotCi0Jc3Ryb25nYXJtIHwgdGh1bWIgfCB4c2NhbGUpCi0JCWJhc2ljX21hY2hpbmU9YXJtLXVu a25vd24KKwlvcDUwbikKKwkJY3B1PWhwcGExLjEKKwkJdmVuZG9yPW9raQogCQk7OwotCXhnYXRl KQotCQliYXNpY19tYWNoaW5lPSRiYXNpY19tYWNoaW5lLXVua25vd24KLQkJb3M9LW5vbmUKKwlv cDYwYykKKwkJY3B1PWhwcGExLjEKKwkJdmVuZG9yPW9raQogCQk7OwotCXhzY2FsZWViKQotCQli YXNpY19tYWNoaW5lPWFybWViLXVua25vd24KKwlpYm0qKQorCQljcHU9aTM3MAorCQl2ZW5kb3I9 aWJtCiAJCTs7Ci0KLQl4c2NhbGVlbCkKLQkJYmFzaWNfbWFjaGluZT1hcm1lbC11bmtub3duCisJ b3Jpb24xMDUpCisJCWNwdT1jbGlwcGVyCisJCXZlbmRvcj1oaWdobGV2ZWwKIAkJOzsKLQotCSMg V2UgdXNlIGBwYycgcmF0aGVyIHRoYW4gYHVua25vd24nCi0JIyBiZWNhdXNlICgxKSB0aGF0J3Mg d2hhdCB0aGV5IG5vcm1hbGx5IGFyZSwgYW5kCi0JIyAoMikgdGhlIHdvcmQgInVua25vd24iIHRl bmRzIHRvIGNvbmZ1c2UgYmVnaW5uaW5nIHVzZXJzLgotCWkqODYgfCB4ODZfNjQpCi0JICBiYXNp Y19tYWNoaW5lPSRiYXNpY19tYWNoaW5lLXBjCi0JICA7OwotCSMgT2JqZWN0IGlmIG1vcmUgdGhh biBvbmUgY29tcGFueSBuYW1lIHdvcmQuCi0JKi0qLSopCi0JCWVjaG8gSW52YWxpZCBjb25maWd1 cmF0aW9uIFxgJDFcJzogbWFjaGluZSBcYCRiYXNpY19tYWNoaW5lXCcgbm90IHJlY29nbml6ZWQg MT4mMgotCQlleGl0IDEKKwltYWMgfCBtcHcgfCBtYWMtbXB3KQorCQljcHU9bTY4aworCQl2ZW5k b3I9YXBwbGUKIAkJOzsKLQkjIFJlY29nbml6ZSB0aGUgYmFzaWMgQ1BVIHR5cGVzIHdpdGggY29t cGFueSBuYW1lLgotCTU4MC0qIFwKLQl8IGEyOWstKiBcCi0JfCBhYXJjaDY0LSogfCBhYXJjaDY0 X2JlLSogXAotCXwgYWxwaGEtKiB8IGFscGhhZXZbNC04XS0qIHwgYWxwaGFldjU2LSogfCBhbHBo YWV2Nls3OF0tKiBcCi0JfCBhbHBoYTY0LSogfCBhbHBoYTY0ZXZbNC04XS0qIHwgYWxwaGE2NGV2 NTYtKiB8IGFscGhhNjRldjZbNzhdLSogXAotCXwgYWxwaGFwY2E1WzY3XS0qIHwgYWxwaGE2NHBj YTVbNjddLSogfCBhcmMtKiBcCi0JfCBhcm0tKiAgfCBhcm1iZS0qIHwgYXJtbGUtKiB8IGFybWVi LSogfCBhcm12Ki0qIFwKLQl8IGF2ci0qIHwgYXZyMzItKiBcCi0JfCBiZTMyLSogfCBiZTY0LSog XAotCXwgYmZpbi0qIHwgYnMyMDAwLSogXAotCXwgY1sxMjNdKiB8IGMzMC0qIHwgW2NqdF05MC0q IHwgYzR4LSogXAotCXwgY2xpcHBlci0qIHwgY3JheW52LSogfCBjeWRyYS0qIFwKLQl8IGQxMHYt KiB8IGQzMHYtKiB8IGRseC0qIFwKLQl8IGVseHNpLSogXAotCXwgZjMwWzAxXS0qIHwgZjcwMC0q IHwgZmlkby0qIHwgZnIzMC0qIHwgZnJ2LSogfCBmeDgwLSogXAotCXwgaDgzMDAtKiB8IGg4NTAw LSogXAotCXwgaHBwYS0qIHwgaHBwYTEuWzAxXS0qIHwgaHBwYTIuMC0qIHwgaHBwYTIuMFtud10t KiB8IGhwcGE2NC0qIFwKLQl8IGhleGFnb24tKiBcCi0JfCBpKjg2LSogfCBpODYwLSogfCBpOTYw LSogfCBpYTY0LSogXAotCXwgaXAyay0qIHwgaXEyMDAwLSogXAotCXwgbGUzMi0qIHwgbGU2NC0q IFwKLQl8IGxtMzItKiBcCi0JfCBtMzJjLSogfCBtMzJyLSogfCBtMzJybGUtKiBcCi0JfCBtNjgw MDAtKiB8IG02ODBbMDEyMzQ2XTAtKiB8IG02ODM2MC0qIHwgbTY4Mz8yLSogfCBtNjhrLSogXAot CXwgbTg4MTEwLSogfCBtODhrLSogfCBtYXhxLSogfCBtY29yZS0qIHwgbWV0YWctKiB8IG1pY3Jv YmxhemUtKiBcCi0JfCBtaXBzLSogfCBtaXBzYmUtKiB8IG1pcHNlYi0qIHwgbWlwc2VsLSogfCBt aXBzbGUtKiBcCi0JfCBtaXBzMTYtKiBcCi0JfCBtaXBzNjQtKiB8IG1pcHM2NGVsLSogXAotCXwg bWlwczY0b2N0ZW9uLSogfCBtaXBzNjRvY3Rlb25lbC0qIFwKLQl8IG1pcHM2NG9yaW9uLSogfCBt aXBzNjRvcmlvbmVsLSogXAotCXwgbWlwczY0cjU5MDAtKiB8IG1pcHM2NHI1OTAwZWwtKiBcCi0J fCBtaXBzNjR2ci0qIHwgbWlwczY0dnJlbC0qIFwKLQl8IG1pcHM2NHZyNDEwMC0qIHwgbWlwczY0 dnI0MTAwZWwtKiBcCi0JfCBtaXBzNjR2cjQzMDAtKiB8IG1pcHM2NHZyNDMwMGVsLSogXAotCXwg bWlwczY0dnI1MDAwLSogfCBtaXBzNjR2cjUwMDBlbC0qIFwKLQl8IG1pcHM2NHZyNTkwMC0qIHwg bWlwczY0dnI1OTAwZWwtKiBcCi0JfCBtaXBzaXNhMzItKiB8IG1pcHNpc2EzMmVsLSogXAotCXwg bWlwc2lzYTMycjItKiB8IG1pcHNpc2EzMnIyZWwtKiBcCi0JfCBtaXBzaXNhNjQtKiB8IG1pcHNp c2E2NGVsLSogXAotCXwgbWlwc2lzYTY0cjItKiB8IG1pcHNpc2E2NHIyZWwtKiBcCi0JfCBtaXBz aXNhNjRzYjEtKiB8IG1pcHNpc2E2NHNiMWVsLSogXAotCXwgbWlwc2lzYTY0c3I3MWstKiB8IG1p cHNpc2E2NHNyNzFrZWwtKiBcCi0JfCBtaXBzdHgzOS0qIHwgbWlwc3R4MzllbC0qIFwKLQl8IG1t aXgtKiBcCi0JfCBtdC0qIFwKLQl8IG1zcDQzMC0qIFwKLQl8IG5kczMyLSogfCBuZHMzMmxlLSog fCBuZHMzMmJlLSogXAotCXwgbmlvcy0qIHwgbmlvczItKiBcCi0JfCBub25lLSogfCBucDEtKiB8 IG5zMTZrLSogfCBuczMyay0qIFwKLQl8IG9wZW44LSogXAotCXwgb3Jpb24tKiBcCi0JfCBwZHAx MC0qIHwgcGRwMTEtKiB8IHBqLSogfCBwamwtKiB8IHBuLSogfCBwb3dlci0qIFwKLQl8IHBvd2Vy cGMtKiB8IHBvd2VycGM2NC0qIHwgcG93ZXJwYzY0bGUtKiB8IHBvd2VycGNsZS0qIFwKLQl8IHB5 cmFtaWQtKiBcCi0JfCBybDc4LSogfCByb21wLSogfCByczYwMDAtKiB8IHJ4LSogXAotCXwgc2gt KiB8IHNoWzEyMzRdLSogfCBzaFsyNF1hLSogfCBzaFsyNF1hZWItKiB8IHNoWzIzXWUtKiB8IHNo WzM0XWViLSogfCBzaGViLSogfCBzaGJlLSogXAotCXwgc2hsZS0qIHwgc2hbMTIzNF1sZS0qIHwg c2gzZWxlLSogfCBzaDY0LSogfCBzaDY0bGUtKiBcCi0JfCBzcGFyYy0qIHwgc3BhcmM2NC0qIHwg c3BhcmM2NGItKiB8IHNwYXJjNjR2LSogfCBzcGFyYzg2eC0qIHwgc3BhcmNsZXQtKiBcCi0JfCBz cGFyY2xpdGUtKiBcCi0JfCBzcGFyY3Y4LSogfCBzcGFyY3Y5LSogfCBzcGFyY3Y5Yi0qIHwgc3Bh cmN2OXYtKiB8IHN2MS0qIHwgc3g/LSogXAotCXwgdGFob2UtKiBcCi0JfCB0aWMzMC0qIHwgdGlj NHgtKiB8IHRpYzU0eC0qIHwgdGljNTV4LSogfCB0aWM2eC0qIHwgdGljODAtKiBcCi0JfCB0aWxl Ki0qIFwKLQl8IHRyb24tKiBcCi0JfCB1Ymljb20zMi0qIFwKLQl8IHY4NTAtKiB8IHY4NTBlLSog fCB2ODUwZTEtKiB8IHY4NTBlcy0qIHwgdjg1MGUyLSogfCB2ODUwZTJ2My0qIFwKLQl8IHZheC0q IFwKLQl8IHdlMzJrLSogXAotCXwgeDg2LSogfCB4ODZfNjQtKiB8IHhjMTZ4LSogfCB4cHMxMDAt KiBcCi0JfCB4c3Rvcm15MTYtKiB8IHh0ZW5zYSotKiBcCi0JfCB5bXAtKiBcCi0JfCB6OGstKiB8 IHo4MC0qKQotCQk7OwotCSMgUmVjb2duaXplIHRoZSBiYXNpYyBDUFUgdHlwZXMgd2l0aG91dCBj b21wYW55IG5hbWUsIHdpdGggZ2xvYiBtYXRjaC4KLQl4dGVuc2EqKQotCQliYXNpY19tYWNoaW5l PSRiYXNpY19tYWNoaW5lLXVua25vd24KKwlwbWFjIHwgcG1hYy1tcHcpCisJCWNwdT1wb3dlcnBj CisJCXZlbmRvcj1hcHBsZQogCQk7OworCiAJIyBSZWNvZ25pemUgdGhlIHZhcmlvdXMgbWFjaGlu ZSBuYW1lcyBhbmQgYWxpYXNlcyB3aGljaCBzdGFuZAogCSMgZm9yIGEgQ1BVIHR5cGUgYW5kIGEg Y29tcGFueSBhbmQgc29tZXRpbWVzIGV2ZW4gYW4gT1MuCi0JMzg2YnNkKQotCQliYXNpY19tYWNo aW5lPWkzODYtdW5rbm93bgotCQlvcz0tYnNkCi0JCTs7CiAJM2IxIHwgNzMwMCB8IDczMDAtYXR0 IHwgYXR0LTczMDAgfCBwYzczMDAgfCBzYWZhcmkgfCB1bml4cGMpCi0JCWJhc2ljX21hY2hpbmU9 bTY4MDAwLWF0dAorCQljcHU9bTY4MDAwCisJCXZlbmRvcj1hdHQKIAkJOzsKIAkzYiopCi0JCWJh c2ljX21hY2hpbmU9d2UzMmstYXR0Ci0JCTs7Ci0JYTI5a2hpZikKLQkJYmFzaWNfbWFjaGluZT1h MjlrLWFtZAotCQlvcz0tdWRpCi0JCTs7Ci0JYWJhY3VzKQotCQliYXNpY19tYWNoaW5lPWFiYWN1 cy11bmtub3duCi0JCTs7Ci0JYWRvYmU2OGspCi0JCWJhc2ljX21hY2hpbmU9bTY4MDEwLWFkb2Jl Ci0JCW9zPS1zY291dAotCQk7OwotCWFsbGlhbnQgfCBmeDgwKQotCQliYXNpY19tYWNoaW5lPWZ4 ODAtYWxsaWFudAotCQk7OwotCWFsdG9zIHwgYWx0b3MzMDY4KQotCQliYXNpY19tYWNoaW5lPW02 OGstYWx0b3MKLQkJOzsKLQlhbTI5aykKLQkJYmFzaWNfbWFjaGluZT1hMjlrLW5vbmUKLQkJb3M9 LWJzZAotCQk7OwotCWFtZDY0KQotCQliYXNpY19tYWNoaW5lPXg4Nl82NC1wYwotCQk7OwotCWFt ZDY0LSopCi0JCWJhc2ljX21hY2hpbmU9eDg2XzY0LWBlY2hvICRiYXNpY19tYWNoaW5lIHwgc2Vk ICdzL15bXi1dKi0vLydgCi0JCTs7Ci0JYW1kYWhsKQotCQliYXNpY19tYWNoaW5lPTU4MC1hbWRh aGwKLQkJb3M9LXN5c3YKLQkJOzsKLQlhbWlnYSB8IGFtaWdhLSopCi0JCWJhc2ljX21hY2hpbmU9 bTY4ay11bmtub3duCi0JCTs7Ci0JYW1pZ2FvcyB8IGFtaWdhZG9zKQotCQliYXNpY19tYWNoaW5l PW02OGstdW5rbm93bgotCQlvcz0tYW1pZ2FvcwotCQk7OwotCWFtaWdhdW5peCB8IGFtaXgpCi0J CWJhc2ljX21hY2hpbmU9bTY4ay11bmtub3duCi0JCW9zPS1zeXN2NAotCQk7OwotCWFwb2xsbzY4 KQotCQliYXNpY19tYWNoaW5lPW02OGstYXBvbGxvCi0JCW9zPS1zeXN2Ci0JCTs7Ci0JYXBvbGxv Njhic2QpCi0JCWJhc2ljX21hY2hpbmU9bTY4ay1hcG9sbG8KLQkJb3M9LWJzZAotCQk7OwotCWFy b3MpCi0JCWJhc2ljX21hY2hpbmU9aTM4Ni1wYwotCQlvcz0tYXJvcwotCQk7OwotCWF1eCkKLQkJ YmFzaWNfbWFjaGluZT1tNjhrLWFwcGxlCi0JCW9zPS1hdXgKLQkJOzsKLQliYWxhbmNlKQotCQli YXNpY19tYWNoaW5lPW5zMzJrLXNlcXVlbnQKLQkJb3M9LWR5bml4Ci0JCTs7Ci0JYmxhY2tmaW4p Ci0JCWJhc2ljX21hY2hpbmU9YmZpbi11bmtub3duCi0JCW9zPS1saW51eAotCQk7OwotCWJsYWNr ZmluLSopCi0JCWJhc2ljX21hY2hpbmU9YmZpbi1gZWNobyAkYmFzaWNfbWFjaGluZSB8IHNlZCAn cy9eW14tXSotLy8nYAotCQlvcz0tbGludXgKKwkJY3B1PXdlMzJrCisJCXZlbmRvcj1hdHQKIAkJ OzsKIAlibHVlZ2VuZSopCi0JCWJhc2ljX21hY2hpbmU9cG93ZXJwYy1pYm0KLQkJb3M9LWNuawot CQk7OwotCWM1NHgtKikKLQkJYmFzaWNfbWFjaGluZT10aWM1NHgtYGVjaG8gJGJhc2ljX21hY2hp bmUgfCBzZWQgJ3MvXlteLV0qLS8vJ2AKLQkJOzsKLQljNTV4LSopCi0JCWJhc2ljX21hY2hpbmU9 dGljNTV4LWBlY2hvICRiYXNpY19tYWNoaW5lIHwgc2VkICdzL15bXi1dKi0vLydgCi0JCTs7Ci0J YzZ4LSopCi0JCWJhc2ljX21hY2hpbmU9dGljNngtYGVjaG8gJGJhc2ljX21hY2hpbmUgfCBzZWQg J3MvXlteLV0qLS8vJ2AKLQkJOzsKLQljOTApCi0JCWJhc2ljX21hY2hpbmU9YzkwLWNyYXkKLQkJ b3M9LXVuaWNvcwotCQk7OwotCWNlZ2NjKQotCQliYXNpY19tYWNoaW5lPWFybS11bmtub3duCi0J CW9zPS1jZWdjYwotCQk7OwotCWNvbnZleC1jMSkKLQkJYmFzaWNfbWFjaGluZT1jMS1jb252ZXgK LQkJb3M9LWJzZAotCQk7OwotCWNvbnZleC1jMikKLQkJYmFzaWNfbWFjaGluZT1jMi1jb252ZXgK LQkJb3M9LWJzZAotCQk7OwotCWNvbnZleC1jMzIpCi0JCWJhc2ljX21hY2hpbmU9YzMyLWNvbnZl eAotCQlvcz0tYnNkCi0JCTs7Ci0JY29udmV4LWMzNCkKLQkJYmFzaWNfbWFjaGluZT1jMzQtY29u dmV4Ci0JCW9zPS1ic2QKLQkJOzsKLQljb252ZXgtYzM4KQotCQliYXNpY19tYWNoaW5lPWMzOC1j b252ZXgKLQkJb3M9LWJzZAotCQk7OwotCWNyYXkgfCBqOTApCi0JCWJhc2ljX21hY2hpbmU9ajkw LWNyYXkKLQkJb3M9LXVuaWNvcwotCQk7OwotCWNyYXludikKLQkJYmFzaWNfbWFjaGluZT1jcmF5 bnYtY3JheQotCQlvcz0tdW5pY29zbXAKLQkJOzsKLQljcjE2IHwgY3IxNi0qKQotCQliYXNpY19t YWNoaW5lPWNyMTYtdW5rbm93bgotCQlvcz0tZWxmCi0JCTs7Ci0JY3JkcyB8IHVub3MpCi0JCWJh c2ljX21hY2hpbmU9bTY4ay1jcmRzCi0JCTs7Ci0JY3Jpc3YzMiB8IGNyaXN2MzItKiB8IGV0cmF4 ZnMqKQotCQliYXNpY19tYWNoaW5lPWNyaXN2MzItYXhpcwotCQk7OwotCWNyaXMgfCBjcmlzLSog fCBldHJheCopCi0JCWJhc2ljX21hY2hpbmU9Y3Jpcy1heGlzCi0JCTs7Ci0JY3J4KQotCQliYXNp Y19tYWNoaW5lPWNyeC11bmtub3duCi0JCW9zPS1lbGYKLQkJOzsKLQlkYTMwIHwgZGEzMC0qKQot CQliYXNpY19tYWNoaW5lPW02OGstZGEzMAotCQk7OwotCWRlY3N0YXRpb24gfCBkZWNzdGF0aW9u LTMxMDAgfCBwbWF4IHwgcG1heC0qIHwgcG1pbiB8IGRlYzMxMDAgfCBkZWNzdGF0bikKLQkJYmFz aWNfbWFjaGluZT1taXBzLWRlYworCQljcHU9cG93ZXJwYworCQl2ZW5kb3I9aWJtCisJCW9zPWNu awogCQk7OwogCWRlY3N5c3RlbTEwKiB8IGRlYzEwKikKLQkJYmFzaWNfbWFjaGluZT1wZHAxMC1k ZWMKLQkJb3M9LXRvcHMxMAorCQljcHU9cGRwMTAKKwkJdmVuZG9yPWRlYworCQlvcz10b3BzMTAK IAkJOzsKIAlkZWNzeXN0ZW0yMCogfCBkZWMyMCopCi0JCWJhc2ljX21hY2hpbmU9cGRwMTAtZGVj Ci0JCW9zPS10b3BzMjAKKwkJY3B1PXBkcDEwCisJCXZlbmRvcj1kZWMKKwkJb3M9dG9wczIwCiAJ CTs7CiAJZGVsdGEgfCAzMzAwIHwgbW90b3JvbGEtMzMwMCB8IG1vdG9yb2xhLWRlbHRhIFwKIAkg ICAgICB8IDMzMDAtbW90b3JvbGEgfCBkZWx0YS1tb3Rvcm9sYSkKLQkJYmFzaWNfbWFjaGluZT1t NjhrLW1vdG9yb2xhCi0JCTs7Ci0JZGVsdGE4OCkKLQkJYmFzaWNfbWFjaGluZT1tODhrLW1vdG9y b2xhCi0JCW9zPS1zeXN2MworCQljcHU9bTY4aworCQl2ZW5kb3I9bW90b3JvbGEKIAkJOzsKLQlk aWNvcykKLQkJYmFzaWNfbWFjaGluZT1pNjg2LXBjCi0JCW9zPS1kaWNvcwotCQk7OwotCWRqZ3Bw KQotCQliYXNpY19tYWNoaW5lPWk1ODYtcGMKLQkJb3M9LW1zZG9zZGpncHAKLQkJOzsKLQlkcHgy MCB8IGRweDIwLSopCi0JCWJhc2ljX21hY2hpbmU9cnM2MDAwLWJ1bGwKLQkJb3M9LWJvc3gKLQkJ OzsKLQlkcHgyKiB8IGRweDIqLWJ1bGwpCi0JCWJhc2ljX21hY2hpbmU9bTY4ay1idWxsCi0JCW9z PS1zeXN2MwotCQk7OwotCWVibW9uMjlrKQotCQliYXNpY19tYWNoaW5lPWEyOWstYW1kCi0JCW9z PS1lYm1vbgotCQk7OwotCWVseHNpKQotCQliYXNpY19tYWNoaW5lPWVseHNpLWVseHNpCi0JCW9z PS1ic2QKKwlkcHgyKikKKwkJY3B1PW02OGsKKwkJdmVuZG9yPWJ1bGwKKwkJb3M9c3lzdjMKIAkJ OzsKIAllbmNvcmUgfCB1bWF4IHwgbW1heCkKLQkJYmFzaWNfbWFjaGluZT1uczMyay1lbmNvcmUK KwkJY3B1PW5zMzJrCisJCXZlbmRvcj1lbmNvcmUKIAkJOzsKLQllczE4MDAgfCBPU0U2OGsgfCBv c2U2OGsgfCBvc2UgfCBPU0UpCi0JCWJhc2ljX21hY2hpbmU9bTY4ay1lcmljc3NvbgotCQlvcz0t b3NlCisJZWx4c2kpCisJCWNwdT1lbHhzaQorCQl2ZW5kb3I9ZWx4c2kKKwkJb3M9JHtvczotYnNk fQogCQk7OwogCWZ4MjgwMCkKLQkJYmFzaWNfbWFjaGluZT1pODYwLWFsbGlhbnQKKwkJY3B1PWk4 NjAKKwkJdmVuZG9yPWFsbGlhbnQKIAkJOzsKIAlnZW5peCkKLQkJYmFzaWNfbWFjaGluZT1uczMy ay1ucwotCQk7OwotCWdtaWNybykKLQkJYmFzaWNfbWFjaGluZT10cm9uLWdtaWNybwotCQlvcz0t c3lzdgotCQk7OwotCWdvMzIpCi0JCWJhc2ljX21hY2hpbmU9aTM4Ni1wYwotCQlvcz0tZ28zMgor CQljcHU9bnMzMmsKKwkJdmVuZG9yPW5zCiAJCTs7CiAJaDMwNTByKiB8IGhpdXgqKQotCQliYXNp Y19tYWNoaW5lPWhwcGExLjEtaGl0YWNoaQotCQlvcz0taGl1eHdlMgotCQk7OwotCWg4MzAwaG1z KQotCQliYXNpY19tYWNoaW5lPWg4MzAwLWhpdGFjaGkKLQkJb3M9LWhtcwotCQk7OwotCWg4MzAw eHJheSkKLQkJYmFzaWNfbWFjaGluZT1oODMwMC1oaXRhY2hpCi0JCW9zPS14cmF5Ci0JCTs7Ci0J aDg1MDBobXMpCi0JCWJhc2ljX21hY2hpbmU9aDg1MDAtaGl0YWNoaQotCQlvcz0taG1zCi0JCTs7 Ci0JaGFycmlzKQotCQliYXNpY19tYWNoaW5lPW04OGstaGFycmlzCi0JCW9zPS1zeXN2MwotCQk7 OwotCWhwMzAwLSopCi0JCWJhc2ljX21hY2hpbmU9bTY4ay1ocAotCQk7OwotCWhwMzAwYnNkKQot CQliYXNpY19tYWNoaW5lPW02OGstaHAKLQkJb3M9LWJzZAotCQk7OwotCWhwMzAwaHB1eCkKLQkJ YmFzaWNfbWFjaGluZT1tNjhrLWhwCi0JCW9zPS1ocHV4CisJCWNwdT1ocHBhMS4xCisJCXZlbmRv cj1oaXRhY2hpCisJCW9zPWhpdXh3ZTIKIAkJOzsKIAlocDNrOVswLTldWzAtOV0gfCBocDlbMC05 XVswLTldKQotCQliYXNpY19tYWNoaW5lPWhwcGExLjAtaHAKKwkJY3B1PWhwcGExLjAKKwkJdmVu ZG9yPWhwCiAJCTs7CiAJaHA5azJbMC05XVswLTldIHwgaHA5azMxWzAtOV0pCi0JCWJhc2ljX21h Y2hpbmU9bTY4MDAwLWhwCisJCWNwdT1tNjgwMDAKKwkJdmVuZG9yPWhwCiAJCTs7CiAJaHA5azNb Mi05XVswLTldKQotCQliYXNpY19tYWNoaW5lPW02OGstaHAKKwkJY3B1PW02OGsKKwkJdmVuZG9y PWhwCiAJCTs7CiAJaHA5azZbMC05XVswLTldIHwgaHA2WzAtOV1bMC05XSkKLQkJYmFzaWNfbWFj aGluZT1ocHBhMS4wLWhwCisJCWNwdT1ocHBhMS4wCisJCXZlbmRvcj1ocAogCQk7OwogCWhwOWs3 WzAtNzldWzAtOV0gfCBocDdbMC03OV1bMC05XSkKLQkJYmFzaWNfbWFjaGluZT1ocHBhMS4xLWhw CisJCWNwdT1ocHBhMS4xCisJCXZlbmRvcj1ocAogCQk7OwogCWhwOWs3OFswLTldIHwgaHA3OFsw LTldKQogCQkjIEZJWE1FOiByZWFsbHkgaHBwYTIuMC1ocAotCQliYXNpY19tYWNoaW5lPWhwcGEx LjEtaHAKKwkJY3B1PWhwcGExLjEKKwkJdmVuZG9yPWhwCiAJCTs7CiAJaHA5azhbNjddMSB8IGhw OFs2N10xIHwgaHA5azgwWzI0XSB8IGhwODBbMjRdIHwgaHA5azhbNzhdOSB8IGhwOFs3OF05IHwg aHA5azg5MyB8IGhwODkzKQogCQkjIEZJWE1FOiByZWFsbHkgaHBwYTIuMC1ocAotCQliYXNpY19t YWNoaW5lPWhwcGExLjEtaHAKKwkJY3B1PWhwcGExLjEKKwkJdmVuZG9yPWhwCiAJCTs7CiAJaHA5 azhbMC05XVsxMzY3OV0gfCBocDhbMC05XVsxMzY3OV0pCi0JCWJhc2ljX21hY2hpbmU9aHBwYTEu MS1ocAorCQljcHU9aHBwYTEuMQorCQl2ZW5kb3I9aHAKIAkJOzsKIAlocDlrOFswLTldWzAtOV0g fCBocDhbMC05XVswLTldKQotCQliYXNpY19tYWNoaW5lPWhwcGExLjAtaHAKLQkJOzsKLQlocHBh LW5leHQpCi0JCW9zPS1uZXh0c3RlcDMKLQkJOzsKLQlocHBhb3NmKQotCQliYXNpY19tYWNoaW5l PWhwcGExLjEtaHAKLQkJb3M9LW9zZgotCQk7OwotCWhwcHJvKQotCQliYXNpY19tYWNoaW5lPWhw cGExLjEtaHAKLQkJb3M9LXByb2VsZgotCQk7OwotCWkzNzAtaWJtKiB8IGlibSopCi0JCWJhc2lj X21hY2hpbmU9aTM3MC1pYm0KKwkJY3B1PWhwcGExLjAKKwkJdmVuZG9yPWhwCiAJCTs7CiAJaSo4 NnYzMikKLQkJYmFzaWNfbWFjaGluZT1gZWNobyAkMSB8IHNlZCAtZSAncy84Ni4qLzg2LXBjLydg Ci0JCW9zPS1zeXN2MzIKKwkJY3B1PWBlY2hvICIkMSIgfCBzZWQgLWUgJ3MvODYuKi84Ni8nYAor CQl2ZW5kb3I9cGMKKwkJb3M9c3lzdjMyCiAJCTs7CiAJaSo4NnY0KikKLQkJYmFzaWNfbWFjaGlu ZT1gZWNobyAkMSB8IHNlZCAtZSAncy84Ni4qLzg2LXBjLydgCi0JCW9zPS1zeXN2NAorCQljcHU9 YGVjaG8gIiQxIiB8IHNlZCAtZSAncy84Ni4qLzg2LydgCisJCXZlbmRvcj1wYworCQlvcz1zeXN2 NAogCQk7OwogCWkqODZ2KQotCQliYXNpY19tYWNoaW5lPWBlY2hvICQxIHwgc2VkIC1lICdzLzg2 LiovODYtcGMvJ2AKLQkJb3M9LXN5c3YKKwkJY3B1PWBlY2hvICIkMSIgfCBzZWQgLWUgJ3MvODYu Ki84Ni8nYAorCQl2ZW5kb3I9cGMKKwkJb3M9c3lzdgogCQk7OwogCWkqODZzb2wyKQotCQliYXNp Y19tYWNoaW5lPWBlY2hvICQxIHwgc2VkIC1lICdzLzg2LiovODYtcGMvJ2AKLQkJb3M9LXNvbGFy aXMyCi0JCTs7Ci0JaTM4Nm1hY2gpCi0JCWJhc2ljX21hY2hpbmU9aTM4Ni1tYWNoCi0JCW9zPS1t YWNoCisJCWNwdT1gZWNobyAiJDEiIHwgc2VkIC1lICdzLzg2LiovODYvJ2AKKwkJdmVuZG9yPXBj CisJCW9zPXNvbGFyaXMyCiAJCTs7Ci0JaTM4Ni12c3RhIHwgdnN0YSkKLQkJYmFzaWNfbWFjaGlu ZT1pMzg2LXVua25vd24KLQkJb3M9LXZzdGEKKwlqOTAgfCBqOTAtY3JheSkKKwkJY3B1PWo5MAor CQl2ZW5kb3I9Y3JheQorCQlvcz0ke29zOi11bmljb3N9CiAJCTs7CiAJaXJpcyB8IGlyaXM0ZCkK LQkJYmFzaWNfbWFjaGluZT1taXBzLXNnaQorCQljcHU9bWlwcworCQl2ZW5kb3I9c2dpCiAJCWNh c2UgJG9zIGluCi0JCSAgICAtaXJpeCopCisJCSAgICBpcml4KikKIAkJCTs7CiAJCSAgICAqKQot CQkJb3M9LWlyaXg0CisJCQlvcz1pcml4NAogCQkJOzsKIAkJZXNhYwogCQk7OwotCWlzaTY4IHwg aXNpKQotCQliYXNpY19tYWNoaW5lPW02OGstaXNpCi0JCW9zPS1zeXN2Ci0JCTs7Ci0JbTY4a25v bW11KQotCQliYXNpY19tYWNoaW5lPW02OGstdW5rbm93bgotCQlvcz0tbGludXgKLQkJOzsKLQlt Njhrbm9tbXUtKikKLQkJYmFzaWNfbWFjaGluZT1tNjhrLWBlY2hvICRiYXNpY19tYWNoaW5lIHwg c2VkICdzL15bXi1dKi0vLydgCi0JCW9zPS1saW51eAotCQk7OwotCW04OGstb21yb24qKQotCQli YXNpY19tYWNoaW5lPW04OGstb21yb24KLQkJOzsKLQltYWdudW0gfCBtMzIzMCkKLQkJYmFzaWNf bWFjaGluZT1taXBzLW1pcHMKLQkJb3M9LXN5c3YKLQkJOzsKLQltZXJsaW4pCi0JCWJhc2ljX21h Y2hpbmU9bnMzMmstdXRlawotCQlvcz0tc3lzdgotCQk7OwotCW1pY3JvYmxhemUpCi0JCWJhc2lj X21hY2hpbmU9bWljcm9ibGF6ZS14aWxpbngKLQkJOzsKLQltaW5ndzMyKQotCQliYXNpY19tYWNo aW5lPWkzODYtcGMKLQkJb3M9LW1pbmd3MzIKLQkJOzsKLQltaW5ndzMyY2UpCi0JCWJhc2ljX21h Y2hpbmU9YXJtLXVua25vd24KLQkJb3M9LW1pbmd3MzJjZQotCQk7OwogCW1pbmlmcmFtZSkKLQkJ YmFzaWNfbWFjaGluZT1tNjgwMDAtY29udmVyZ2VudAotCQk7OwotCSptaW50IHwgLW1pbnRbMC05 XSogfCAqTWlOVCB8ICpNaU5UWzAtOV0qKQotCQliYXNpY19tYWNoaW5lPW02OGstYXRhcmkKLQkJ b3M9LW1pbnQKLQkJOzsKLQltaXBzMyotKikKLQkJYmFzaWNfbWFjaGluZT1gZWNobyAkYmFzaWNf bWFjaGluZSB8IHNlZCAtZSAncy9taXBzMy9taXBzNjQvJ2AKLQkJOzsKLQltaXBzMyopCi0JCWJh c2ljX21hY2hpbmU9YGVjaG8gJGJhc2ljX21hY2hpbmUgfCBzZWQgLWUgJ3MvbWlwczMvbWlwczY0 LydgLXVua25vd24KLQkJOzsKLQltb25pdG9yKQotCQliYXNpY19tYWNoaW5lPW02OGstcm9tNjhr Ci0JCW9zPS1jb2ZmCi0JCTs7Ci0JbW9ycGhvcykKLQkJYmFzaWNfbWFjaGluZT1wb3dlcnBjLXVu a25vd24KLQkJb3M9LW1vcnBob3MKLQkJOzsKLQltc2RvcykKLQkJYmFzaWNfbWFjaGluZT1pMzg2 LXBjCi0JCW9zPS1tc2RvcwotCQk7OwotCW1zMS0qKQotCQliYXNpY19tYWNoaW5lPWBlY2hvICRi YXNpY19tYWNoaW5lIHwgc2VkIC1lICdzL21zMS0vbXQtLydgCi0JCTs7Ci0JbXN5cykKLQkJYmFz aWNfbWFjaGluZT1pMzg2LXBjCi0JCW9zPS1tc3lzCi0JCTs7Ci0JbXZzKQotCQliYXNpY19tYWNo aW5lPWkzNzAtaWJtCi0JCW9zPS1tdnMKLQkJOzsKLQluYWNsKQotCQliYXNpY19tYWNoaW5lPWxl MzItdW5rbm93bgotCQlvcz0tbmFjbAotCQk7OwotCW5jcjMwMDApCi0JCWJhc2ljX21hY2hpbmU9 aTQ4Ni1uY3IKLQkJb3M9LXN5c3Y0CisJCWNwdT1tNjgwMDAKKwkJdmVuZG9yPWNvbnZlcmdlbnQK IAkJOzsKLQluZXRic2QzODYpCi0JCWJhc2ljX21hY2hpbmU9aTM4Ni11bmtub3duCi0JCW9zPS1u ZXRic2QKLQkJOzsKLQluZXR3aW5kZXIpCi0JCWJhc2ljX21hY2hpbmU9YXJtdjRsLXJlYmVsCi0J CW9zPS1saW51eAotCQk7OwotCW5ld3MgfCBuZXdzNzAwIHwgbmV3czgwMCB8IG5ld3M5MDApCi0J CWJhc2ljX21hY2hpbmU9bTY4ay1zb255Ci0JCW9zPS1uZXdzb3MKLQkJOzsKLQluZXdzMTAwMCkK LQkJYmFzaWNfbWFjaGluZT1tNjgwMzAtc29ueQotCQlvcz0tbmV3c29zCisJKm1pbnQgfCBtaW50 WzAtOV0qIHwgKk1pTlQgfCAqTWlOVFswLTldKikKKwkJY3B1PW02OGsKKwkJdmVuZG9yPWF0YXJp CisJCW9zPW1pbnQKIAkJOzsKIAluZXdzLTM2MDAgfCByaXNjLW5ld3MpCi0JCWJhc2ljX21hY2hp bmU9bWlwcy1zb255Ci0JCW9zPS1uZXdzb3MKLQkJOzsKLQluZWN2NzApCi0JCWJhc2ljX21hY2hp bmU9djcwLW5lYwotCQlvcz0tc3lzdgorCQljcHU9bWlwcworCQl2ZW5kb3I9c29ueQorCQlvcz1u ZXdzb3MKIAkJOzsKLQluZXh0IHwgbSotbmV4dCApCi0JCWJhc2ljX21hY2hpbmU9bTY4ay1uZXh0 CisJbmV4dCB8IG0qLW5leHQpCisJCWNwdT1tNjhrCisJCXZlbmRvcj1uZXh0CiAJCWNhc2UgJG9z IGluCi0JCSAgICAtbmV4dHN0ZXAqICkKKwkJICAgIG9wZW5zdGVwKikKKwkJICAgICAgICA7Owor CQkgICAgbmV4dHN0ZXAqKQogCQkJOzsKLQkJICAgIC1uczIqKQotCQkgICAgICBvcz0tbmV4dHN0 ZXAyCisJCSAgICBuczIqKQorCQkgICAgICBvcz1uZXh0c3RlcDIKIAkJCTs7CiAJCSAgICAqKQot CQkgICAgICBvcz0tbmV4dHN0ZXAzCisJCSAgICAgIG9zPW5leHRzdGVwMwogCQkJOzsKIAkJZXNh YwogCQk7OwotCW5oMzAwMCkKLQkJYmFzaWNfbWFjaGluZT1tNjhrLWhhcnJpcwotCQlvcz0tY3h1 eAotCQk7OwotCW5oWzQ1XTAwMCkKLQkJYmFzaWNfbWFjaGluZT1tODhrLWhhcnJpcwotCQlvcz0t Y3h1eAotCQk7OwotCW5pbmR5OTYwKQotCQliYXNpY19tYWNoaW5lPWk5NjAtaW50ZWwKLQkJb3M9 LW5pbmR5Ci0JCTs7Ci0JbW9uOTYwKQotCQliYXNpY19tYWNoaW5lPWk5NjAtaW50ZWwKLQkJb3M9 LW1vbjk2MAotCQk7OwotCW5vbnN0b3B1eCkKLQkJYmFzaWNfbWFjaGluZT1taXBzLWNvbXBhcQot CQlvcz0tbm9uc3RvcHV4Ci0JCTs7CiAJbnAxKQotCQliYXNpY19tYWNoaW5lPW5wMS1nb3VsZAot CQk7OwotCW5lby10YW5kZW0pCi0JCWJhc2ljX21hY2hpbmU9bmVvLXRhbmRlbQotCQk7OwotCW5z ZS10YW5kZW0pCi0JCWJhc2ljX21hY2hpbmU9bnNlLXRhbmRlbQotCQk7OwotCW5zci10YW5kZW0p Ci0JCWJhc2ljX21hY2hpbmU9bnNyLXRhbmRlbQorCQljcHU9bnAxCisJCXZlbmRvcj1nb3VsZAog CQk7OwogCW9wNTBuLSogfCBvcDYwYy0qKQotCQliYXNpY19tYWNoaW5lPWhwcGExLjEtb2tpCi0J CW9zPS1wcm9lbGYKLQkJOzsKLQlvcGVucmlzYyB8IG9wZW5yaXNjLSopCi0JCWJhc2ljX21hY2hp bmU9b3IzMi11bmtub3duCi0JCTs7Ci0Jb3M0MDApCi0JCWJhc2ljX21hY2hpbmU9cG93ZXJwYy1p Ym0KLQkJb3M9LW9zNDAwCi0JCTs7Ci0JT1NFNjgwMDAgfCBvc2U2ODAwMCkKLQkJYmFzaWNfbWFj aGluZT1tNjgwMDAtZXJpY3Nzb24KLQkJb3M9LW9zZQotCQk7OwotCW9zNjhrKQotCQliYXNpY19t YWNoaW5lPW02OGstbm9uZQotCQlvcz0tb3M2OGsKKwkJY3B1PWhwcGExLjEKKwkJdmVuZG9yPW9r aQorCQlvcz1wcm9lbGYKIAkJOzsKIAlwYS1oaXRhY2hpKQotCQliYXNpY19tYWNoaW5lPWhwcGEx LjEtaGl0YWNoaQotCQlvcz0taGl1eHdlMgotCQk7OwotCXBhcmFnb24pCi0JCWJhc2ljX21hY2hp bmU9aTg2MC1pbnRlbAotCQlvcz0tb3NmCi0JCTs7Ci0JcGFyaXNjKQotCQliYXNpY19tYWNoaW5l PWhwcGEtdW5rbm93bgotCQlvcz0tbGludXgKLQkJOzsKLQlwYXJpc2MtKikKLQkJYmFzaWNfbWFj aGluZT1ocHBhLWBlY2hvICRiYXNpY19tYWNoaW5lIHwgc2VkICdzL15bXi1dKi0vLydgCi0JCW9z PS1saW51eAorCQljcHU9aHBwYTEuMQorCQl2ZW5kb3I9aGl0YWNoaQorCQlvcz1oaXV4d2UyCiAJ CTs7CiAJcGJkKQotCQliYXNpY19tYWNoaW5lPXNwYXJjLXR0aQorCQljcHU9c3BhcmMKKwkJdmVu ZG9yPXR0aQogCQk7OwogCXBiYikKLQkJYmFzaWNfbWFjaGluZT1tNjhrLXR0aQorCQljcHU9bTY4 aworCQl2ZW5kb3I9dHRpCiAJCTs7Ci0JcGM1MzIgfCBwYzUzMi0qKQotCQliYXNpY19tYWNoaW5l PW5zMzJrLXBjNTMyCi0JCTs7Ci0JcGM5OCkKLQkJYmFzaWNfbWFjaGluZT1pMzg2LXBjCi0JCTs7 Ci0JcGM5OC0qKQotCQliYXNpY19tYWNoaW5lPWkzODYtYGVjaG8gJGJhc2ljX21hY2hpbmUgfCBz ZWQgJ3MvXlteLV0qLS8vJ2AKLQkJOzsKLQlwZW50aXVtIHwgcDUgfCBrNSB8IGs2IHwgbmV4Z2Vu IHwgdmlhYzMpCi0JCWJhc2ljX21hY2hpbmU9aTU4Ni1wYwotCQk7OwotCXBlbnRpdW1wcm8gfCBw NiB8IDZ4ODYgfCBhdGhsb24gfCBhdGhsb25fKikKLQkJYmFzaWNfbWFjaGluZT1pNjg2LXBjCi0J CTs7Ci0JcGVudGl1bWlpIHwgcGVudGl1bTIgfCBwZW50aXVtaWlpIHwgcGVudGl1bTMpCi0JCWJh c2ljX21hY2hpbmU9aTY4Ni1wYwotCQk7OwotCXBlbnRpdW00KQotCQliYXNpY19tYWNoaW5lPWk3 ODYtcGMKLQkJOzsKLQlwZW50aXVtLSogfCBwNS0qIHwgazUtKiB8IGs2LSogfCBuZXhnZW4tKiB8 IHZpYWMzLSopCi0JCWJhc2ljX21hY2hpbmU9aTU4Ni1gZWNobyAkYmFzaWNfbWFjaGluZSB8IHNl ZCAncy9eW14tXSotLy8nYAotCQk7OwotCXBlbnRpdW1wcm8tKiB8IHA2LSogfCA2eDg2LSogfCBh dGhsb24tKikKLQkJYmFzaWNfbWFjaGluZT1pNjg2LWBlY2hvICRiYXNpY19tYWNoaW5lIHwgc2Vk ICdzL15bXi1dKi0vLydgCi0JCTs7Ci0JcGVudGl1bWlpLSogfCBwZW50aXVtMi0qIHwgcGVudGl1 bWlpaS0qIHwgcGVudGl1bTMtKikKLQkJYmFzaWNfbWFjaGluZT1pNjg2LWBlY2hvICRiYXNpY19t YWNoaW5lIHwgc2VkICdzL15bXi1dKi0vLydgCi0JCTs7Ci0JcGVudGl1bTQtKikKLQkJYmFzaWNf bWFjaGluZT1pNzg2LWBlY2hvICRiYXNpY19tYWNoaW5lIHwgc2VkICdzL15bXi1dKi0vLydgCisJ cGM1MzIpCisJCWNwdT1uczMyaworCQl2ZW5kb3I9cGM1MzIKIAkJOzsKIAlwbikKLQkJYmFzaWNf bWFjaGluZT1wbi1nb3VsZAotCQk7OwotCXBvd2VyKQliYXNpY19tYWNoaW5lPXBvd2VyLWlibQor CQljcHU9cG4KKwkJdmVuZG9yPWdvdWxkCiAJCTs7Ci0JcHBjIHwgcHBjYmUpCWJhc2ljX21hY2hp bmU9cG93ZXJwYy11bmtub3duCi0JCTs7Ci0JcHBjLSogfCBwcGNiZS0qKQotCQliYXNpY19tYWNo aW5lPXBvd2VycGMtYGVjaG8gJGJhc2ljX21hY2hpbmUgfCBzZWQgJ3MvXlteLV0qLS8vJ2AKLQkJ OzsKLQlwcGNsZSB8IHBvd2VycGNsaXR0bGUgfCBwcGMtbGUgfCBwb3dlcnBjLWxpdHRsZSkKLQkJ YmFzaWNfbWFjaGluZT1wb3dlcnBjbGUtdW5rbm93bgotCQk7OwotCXBwY2xlLSogfCBwb3dlcnBj bGl0dGxlLSopCi0JCWJhc2ljX21hY2hpbmU9cG93ZXJwY2xlLWBlY2hvICRiYXNpY19tYWNoaW5l IHwgc2VkICdzL15bXi1dKi0vLydgCi0JCTs7Ci0JcHBjNjQpCWJhc2ljX21hY2hpbmU9cG93ZXJw YzY0LXVua25vd24KLQkJOzsKLQlwcGM2NC0qKSBiYXNpY19tYWNoaW5lPXBvd2VycGM2NC1gZWNo byAkYmFzaWNfbWFjaGluZSB8IHNlZCAncy9eW14tXSotLy8nYAotCQk7OwotCXBwYzY0bGUgfCBw b3dlcnBjNjRsaXR0bGUgfCBwcGM2NC1sZSB8IHBvd2VycGM2NC1saXR0bGUpCi0JCWJhc2ljX21h Y2hpbmU9cG93ZXJwYzY0bGUtdW5rbm93bgotCQk7OwotCXBwYzY0bGUtKiB8IHBvd2VycGM2NGxp dHRsZS0qKQotCQliYXNpY19tYWNoaW5lPXBvd2VycGM2NGxlLWBlY2hvICRiYXNpY19tYWNoaW5l IHwgc2VkICdzL15bXi1dKi0vLydgCisJcG93ZXIpCisJCWNwdT1wb3dlcgorCQl2ZW5kb3I9aWJt CiAJCTs7CiAJcHMyKQotCQliYXNpY19tYWNoaW5lPWkzODYtaWJtCi0JCTs7Ci0JcHczMikKLQkJ YmFzaWNfbWFjaGluZT1pNTg2LXVua25vd24KLQkJb3M9LXB3MzIKLQkJOzsKLQlyZG9zKQotCQli YXNpY19tYWNoaW5lPWkzODYtcGMKLQkJb3M9LXJkb3MKLQkJOzsKLQlyb202OGspCi0JCWJhc2lj X21hY2hpbmU9bTY4ay1yb202OGsKLQkJb3M9LWNvZmYKKwkJY3B1PWkzODYKKwkJdmVuZG9yPWli bQogCQk7OwogCXJtWzQ2XTAwKQotCQliYXNpY19tYWNoaW5lPW1pcHMtc2llbWVucworCQljcHU9 bWlwcworCQl2ZW5kb3I9c2llbWVucwogCQk7OwogCXJ0cGMgfCBydHBjLSopCi0JCWJhc2ljX21h Y2hpbmU9cm9tcC1pYm0KLQkJOzsKLQlzMzkwIHwgczM5MC0qKQotCQliYXNpY19tYWNoaW5lPXMz OTAtaWJtCi0JCTs7Ci0JczM5MHggfCBzMzkweC0qKQotCQliYXNpY19tYWNoaW5lPXMzOTB4LWli bQotCQk7OwotCXNhMjkyMDApCi0JCWJhc2ljX21hY2hpbmU9YTI5ay1hbWQKLQkJb3M9LXVkaQor CQljcHU9cm9tcAorCQl2ZW5kb3I9aWJtCiAJCTs7Ci0Jc2IxKQotCQliYXNpY19tYWNoaW5lPW1p cHNpc2E2NHNiMS11bmtub3duCisJc2RlKQorCQljcHU9bWlwc2lzYTMyCisJCXZlbmRvcj1zZGUK KwkJb3M9JHtvczotZWxmfQogCQk7OwotCXNiMWVsKQotCQliYXNpY19tYWNoaW5lPW1pcHNpc2E2 NHNiMWVsLXVua25vd24KKwlzaW1zby13cnMpCisJCWNwdT1zcGFyY2xpdGUKKwkJdmVuZG9yPXdy cworCQlvcz12eHdvcmtzCiAJCTs7Ci0Jc2RlKQotCQliYXNpY19tYWNoaW5lPW1pcHNpc2EzMi1z ZGUKLQkJb3M9LWVsZgorCXRvd2VyIHwgdG93ZXItMzIpCisJCWNwdT1tNjhrCisJCXZlbmRvcj1u Y3IKIAkJOzsKLQlzZWkpCi0JCWJhc2ljX21hY2hpbmU9bWlwcy1zZWkKLQkJb3M9LXNlaXV4CisJ dnBwKnx2eHx2eC0qKQorCQljcHU9ZjMwMQorCQl2ZW5kb3I9ZnVqaXRzdQogCQk7OwotCXNlcXVl bnQpCi0JCWJhc2ljX21hY2hpbmU9aTM4Ni1zZXF1ZW50CisJdzY1KQorCQljcHU9dzY1CisJCXZl bmRvcj13ZGMKIAkJOzsKLQlzaCkKLQkJYmFzaWNfbWFjaGluZT1zaC1oaXRhY2hpCi0JCW9zPS1o bXMKKwl3ODlrLSopCisJCWNwdT1ocHBhMS4xCisJCXZlbmRvcj13aW5ib25kCisJCW9zPXByb2Vs ZgogCQk7OwotCXNoNWVsKQotCQliYXNpY19tYWNoaW5lPXNoNWxlLXVua25vd24KKwlub25lKQor CQljcHU9bm9uZQorCQl2ZW5kb3I9bm9uZQogCQk7OwotCXNoNjQpCi0JCWJhc2ljX21hY2hpbmU9 c2g2NC11bmtub3duCisJbGVvbnxsZW9uWzMtOV0pCisJCWNwdT1zcGFyYworCQl2ZW5kb3I9JGJh c2ljX21hY2hpbmUKIAkJOzsKLQlzcGFyY2xpdGUtd3JzIHwgc2ltc28td3JzKQotCQliYXNpY19t YWNoaW5lPXNwYXJjbGl0ZS13cnMKLQkJb3M9LXZ4d29ya3MKKwlsZW9uLSp8bGVvblszLTldLSop CisJCWNwdT1zcGFyYworCQl2ZW5kb3I9YGVjaG8gIiRiYXNpY19tYWNoaW5lIiB8IHNlZCAncy8t LiovLydgCiAJCTs7Ci0Jc3BzNykKLQkJYmFzaWNfbWFjaGluZT1tNjhrLWJ1bGwKLQkJb3M9LXN5 c3YyCisKKwkqLSopCisJCSMgc2hlbGxjaGVjayBkaXNhYmxlPVNDMjE2MgorCQlJRlM9Ii0iIHJl YWQgY3B1IHZlbmRvciA8PEVPRgorJGJhc2ljX21hY2hpbmUKK0VPRgogCQk7OwotCXNwdXIpCi0J CWJhc2ljX21hY2hpbmU9c3B1ci11bmtub3duCisJIyBXZSB1c2UgYHBjJyByYXRoZXIgdGhhbiBg dW5rbm93bicKKwkjIGJlY2F1c2UgKDEpIHRoYXQncyB3aGF0IHRoZXkgbm9ybWFsbHkgYXJlLCBh bmQKKwkjICgyKSB0aGUgd29yZCAidW5rbm93biIgdGVuZHMgdG8gY29uZnVzZSBiZWdpbm5pbmcg dXNlcnMuCisJaSo4NiB8IHg4Nl82NCkKKwkJY3B1PSRiYXNpY19tYWNoaW5lCisJCXZlbmRvcj1w YwogCQk7OwotCXN0MjAwMCkKLQkJYmFzaWNfbWFjaGluZT1tNjhrLXRhbmRlbQorCSMgVGhlc2Ug cnVsZXMgYXJlIGR1cGxpY2F0ZWQgZnJvbSBiZWxvdyBmb3Igc2FrZSBvZiB0aGUgc3BlY2lhbCBj YXNlIGFib3ZlOworCSMgaS5lLiB0aGluZ3MgdGhhdCBub3JtYWxpemVkIHRvIHg4NiBhcmNoZXMg c2hvdWxkIGFsc28gZGVmYXVsdCB0byAicGMiCisJcGM5OCkKKwkJY3B1PWkzODYKKwkJdmVuZG9y PXBjCiAJCTs7Ci0Jc3RyYXR1cykKLQkJYmFzaWNfbWFjaGluZT1pODYwLXN0cmF0dXMKLQkJb3M9 LXN5c3Y0CisJeDY0IHwgYW1kNjQpCisJCWNwdT14ODZfNjQKKwkJdmVuZG9yPXBjCiAJCTs7Ci0J c3Ryb25nYXJtLSogfCB0aHVtYi0qKQotCQliYXNpY19tYWNoaW5lPWFybS1gZWNobyAkYmFzaWNf bWFjaGluZSB8IHNlZCAncy9eW14tXSotLy8nYAorCSMgUmVjb2duaXplIHRoZSBiYXNpYyBDUFUg dHlwZXMgd2l0aG91dCBjb21wYW55IG5hbWUuCisJKikKKwkJY3B1PSRiYXNpY19tYWNoaW5lCisJ CXZlbmRvcj11bmtub3duCiAJCTs7Ci0Jc3VuMikKLQkJYmFzaWNfbWFjaGluZT1tNjgwMDAtc3Vu Citlc2FjCisKK3Vuc2V0IC12IGJhc2ljX21hY2hpbmUKKworIyBEZWNvZGUgYmFzaWMgbWFjaGlu ZXMgaW4gdGhlIGZ1bGwgYW5kIHByb3BlciBDUFUtQ29tcGFueSBmb3JtLgorY2FzZSAkY3B1LSR2 ZW5kb3IgaW4KKwkjIEhlcmUgd2UgaGFuZGxlIHRoZSBkZWZhdWx0IG1hbnVmYWN0dXJlciBvZiBj ZXJ0YWluIENQVSB0eXBlcyBpbiBjYW5vbmljYWwgZm9ybS4gSXQgaXMgaW4KKwkjIHNvbWUgY2Fz ZXMgdGhlIG9ubHkgbWFudWZhY3R1cmVyLCBpbiBvdGhlcnMsIGl0IGlzIHRoZSBtb3N0IHBvcHVs YXIuCisJY3JheW52LXVua25vd24pCisJCXZlbmRvcj1jcmF5CisJCW9zPSR7b3M6LXVuaWNvc21w fQogCQk7OwotCXN1bjJvczMpCi0JCWJhc2ljX21hY2hpbmU9bTY4MDAwLXN1bgotCQlvcz0tc3Vu b3MzCisJYzkwLXVua25vd24gfCBjOTAtY3JheSkKKwkJdmVuZG9yPWNyYXkKKwkJb3M9JHtvczot dW5pY29zfQogCQk7OwotCXN1bjJvczQpCi0JCWJhc2ljX21hY2hpbmU9bTY4MDAwLXN1bgotCQlv cz0tc3Vub3M0CisJZng4MC11bmtub3duKQorCQl2ZW5kb3I9YWxsaWFudAogCQk7OwotCXN1bjNv czMpCi0JCWJhc2ljX21hY2hpbmU9bTY4ay1zdW4KLQkJb3M9LXN1bm9zMworCXJvbXAtdW5rbm93 bikKKwkJdmVuZG9yPWlibQogCQk7OwotCXN1bjNvczQpCi0JCWJhc2ljX21hY2hpbmU9bTY4ay1z dW4KLQkJb3M9LXN1bm9zNAorCW1taXgtdW5rbm93bikKKwkJdmVuZG9yPWtudXRoCiAJCTs7Ci0J c3VuNG9zMykKLQkJYmFzaWNfbWFjaGluZT1zcGFyYy1zdW4KLQkJb3M9LXN1bm9zMworCW1pY3Jv YmxhemUtdW5rbm93biB8IG1pY3JvYmxhemVlbC11bmtub3duKQorCQl2ZW5kb3I9eGlsaW54CiAJ CTs7Ci0Jc3VuNG9zNCkKLQkJYmFzaWNfbWFjaGluZT1zcGFyYy1zdW4KLQkJb3M9LXN1bm9zNAor CXJzNjAwMC11bmtub3duKQorCQl2ZW5kb3I9aWJtCiAJCTs7Ci0Jc3VuNHNvbDIpCi0JCWJhc2lj X21hY2hpbmU9c3BhcmMtc3VuCi0JCW9zPS1zb2xhcmlzMgorCXZheC11bmtub3duKQorCQl2ZW5k b3I9ZGVjCiAJCTs7Ci0Jc3VuMyB8IHN1bjMtKikKLQkJYmFzaWNfbWFjaGluZT1tNjhrLXN1bgor CXBkcDExLXVua25vd24pCisJCXZlbmRvcj1kZWMKIAkJOzsKLQlzdW40KQotCQliYXNpY19tYWNo aW5lPXNwYXJjLXN1bgorCXdlMzJrLXVua25vd24pCisJCXZlbmRvcj1hdHQKIAkJOzsKLQlzdW4z ODYgfCBzdW4zODZpIHwgcm9hZHJ1bm5lcikKLQkJYmFzaWNfbWFjaGluZT1pMzg2LXN1bgorCWN5 ZHJhLXVua25vd24pCisJCXZlbmRvcj1jeWRyb21lCiAJCTs7Ci0Jc3YxKQotCQliYXNpY19tYWNo aW5lPXN2MS1jcmF5Ci0JCW9zPS11bmljb3MKKwlpMzcwLWlibSopCisJCXZlbmRvcj1pYm0KIAkJ OzsKLQlzeW1tZXRyeSkKLQkJYmFzaWNfbWFjaGluZT1pMzg2LXNlcXVlbnQKLQkJb3M9LWR5bml4 CisJb3Jpb24tdW5rbm93bikKKwkJdmVuZG9yPWhpZ2hsZXZlbAogCQk7OwotCXQzZSkKLQkJYmFz aWNfbWFjaGluZT1hbHBoYWV2NS1jcmF5Ci0JCW9zPS11bmljb3MKKwl4cHMtdW5rbm93biB8IHhw czEwMC11bmtub3duKQorCQljcHU9eHBzMTAwCisJCXZlbmRvcj1ob25leXdlbGwKIAkJOzsKLQl0 OTApCi0JCWJhc2ljX21hY2hpbmU9dDkwLWNyYXkKLQkJb3M9LXVuaWNvcworCisJIyBIZXJlIHdl IG5vcm1hbGl6ZSBDUFUgdHlwZXMgd2l0aCBhIG1pc3Npbmcgb3IgbWF0Y2hpbmcgdmVuZG9yCisJ ZHB4MjAtdW5rbm93biB8IGRweDIwLWJ1bGwpCisJCWNwdT1yczYwMDAKKwkJdmVuZG9yPWJ1bGwK KwkJb3M9JHtvczotYm9zeH0KIAkJOzsKLQl0aWxlKikKLQkJYmFzaWNfbWFjaGluZT0kYmFzaWNf bWFjaGluZS11bmtub3duCi0JCW9zPS1saW51eC1nbnUKKworCSMgSGVyZSB3ZSBub3JtYWxpemUg Q1BVIHR5cGVzIGlycmVzcGVjdGl2ZSBvZiB0aGUgdmVuZG9yCisJYW1kNjQtKikKKwkJY3B1PXg4 Nl82NAogCQk7OwotCXR4MzkpCi0JCWJhc2ljX21hY2hpbmU9bWlwc3R4MzktdW5rbm93bgorCWJs YWNrZmluLSopCisJCWNwdT1iZmluCisJCW9zPWxpbnV4CiAJCTs7Ci0JdHgzOWVsKQotCQliYXNp Y19tYWNoaW5lPW1pcHN0eDM5ZWwtdW5rbm93bgorCWM1NHgtKikKKwkJY3B1PXRpYzU0eAogCQk7 OwotCXRvYWQxKQotCQliYXNpY19tYWNoaW5lPXBkcDEwLXhrbAotCQlvcz0tdG9wczIwCisJYzU1 eC0qKQorCQljcHU9dGljNTV4CiAJCTs7Ci0JdG93ZXIgfCB0b3dlci0zMikKLQkJYmFzaWNfbWFj aGluZT1tNjhrLW5jcgorCWM2eC0qKQorCQljcHU9dGljNngKIAkJOzsKLQl0cGYpCi0JCWJhc2lj X21hY2hpbmU9czM5MHgtaWJtCi0JCW9zPS10cGYKKwllNTAwdlsxMl0tKikKKwkJY3B1PXBvd2Vy cGMKKwkJb3M9JG9zInNwZSIKIAkJOzsKLQl1ZGkyOWspCi0JCWJhc2ljX21hY2hpbmU9YTI5ay1h bWQKLQkJb3M9LXVkaQorCW1pcHMzKi0qKQorCQljcHU9bWlwczY0CiAJCTs7Ci0JdWx0cmEzKQot CQliYXNpY19tYWNoaW5lPWEyOWstbnl1Ci0JCW9zPS1zeW0xCisJbXMxLSopCisJCWNwdT1tdAog CQk7OwotCXY4MTAgfCBuZWN2ODEwKQotCQliYXNpY19tYWNoaW5lPXY4MTAtbmVjCi0JCW9zPS1u b25lCisJbTY4a25vbW11LSopCisJCWNwdT1tNjhrCisJCW9zPWxpbnV4CiAJCTs7Ci0JdmF4dikK LQkJYmFzaWNfbWFjaGluZT12YXgtZGVjCi0JCW9zPS1zeXN2CisJbTlzMTJ6LSogfCBtNjhoY3Mx MnotKiB8IGhjczEyei0qIHwgczEyei0qKQorCQljcHU9czEyegogCQk7OwotCXZtcykKLQkJYmFz aWNfbWFjaGluZT12YXgtZGVjCi0JCW9zPS12bXMKKwlvcGVucmlzYy0qKQorCQljcHU9b3IzMgog CQk7OwotCXZwcCp8dnh8dngtKikKLQkJYmFzaWNfbWFjaGluZT1mMzAxLWZ1aml0c3UKKwlwYXJp c2MtKikKKwkJY3B1PWhwcGEKKwkJb3M9bGludXgKIAkJOzsKLQl2eHdvcmtzOTYwKQotCQliYXNp Y19tYWNoaW5lPWk5NjAtd3JzCi0JCW9zPS12eHdvcmtzCisJcGVudGl1bS0qIHwgcDUtKiB8IGs1 LSogfCBrNi0qIHwgbmV4Z2VuLSogfCB2aWFjMy0qKQorCQljcHU9aTU4NgogCQk7OwotCXZ4d29y a3M2OCkKLQkJYmFzaWNfbWFjaGluZT1tNjhrLXdycwotCQlvcz0tdnh3b3JrcworCXBlbnRpdW1w cm8tKiB8IHA2LSogfCA2eDg2LSogfCBhdGhsb24tKiB8IGF0aGFsb25fKi0qKQorCQljcHU9aTY4 NgogCQk7OwotCXZ4d29ya3MyOWspCi0JCWJhc2ljX21hY2hpbmU9YTI5ay13cnMKLQkJb3M9LXZ4 d29ya3MKKwlwZW50aXVtaWktKiB8IHBlbnRpdW0yLSogfCBwZW50aXVtaWlpLSogfCBwZW50aXVt My0qKQorCQljcHU9aTY4NgogCQk7OwotCXc2NSopCi0JCWJhc2ljX21hY2hpbmU9dzY1LXdkYwot CQlvcz0tbm9uZQorCXBlbnRpdW00LSopCisJCWNwdT1pNzg2CiAJCTs7Ci0Jdzg5ay0qKQotCQli YXNpY19tYWNoaW5lPWhwcGExLjEtd2luYm9uZAotCQlvcz0tcHJvZWxmCisJcGM5OC0qKQorCQlj cHU9aTM4NgogCQk7OwotCXhib3gpCi0JCWJhc2ljX21hY2hpbmU9aTY4Ni1wYwotCQlvcz0tbWlu Z3czMgorCXBwYy0qIHwgcHBjYmUtKikKKwkJY3B1PXBvd2VycGMKIAkJOzsKLQl4cHMgfCB4cHMx MDApCi0JCWJhc2ljX21hY2hpbmU9eHBzMTAwLWhvbmV5d2VsbAorCXBwY2xlLSogfCBwb3dlcnBj bGl0dGxlLSopCisJCWNwdT1wb3dlcnBjbGUKIAkJOzsKLQl4c2NhbGUtKiB8IHhzY2FsZWVbYmxd LSopCi0JCWJhc2ljX21hY2hpbmU9YGVjaG8gJGJhc2ljX21hY2hpbmUgfCBzZWQgJ3MvXnhzY2Fs ZS9hcm0vJ2AKKwlwcGM2NC0qKQorCQljcHU9cG93ZXJwYzY0CiAJCTs7Ci0JeW1wKQotCQliYXNp Y19tYWNoaW5lPXltcC1jcmF5Ci0JCW9zPS11bmljb3MKKwlwcGM2NGxlLSogfCBwb3dlcnBjNjRs aXR0bGUtKikKKwkJY3B1PXBvd2VycGM2NGxlCiAJCTs7Ci0JejhrLSotY29mZikKLQkJYmFzaWNf bWFjaGluZT16OGstdW5rbm93bgotCQlvcz0tc2ltCisJc2IxLSopCisJCWNwdT1taXBzaXNhNjRz YjEKIAkJOzsKLQl6ODAtKi1jb2ZmKQotCQliYXNpY19tYWNoaW5lPXo4MC11bmtub3duCi0JCW9z PS1zaW0KKwlzYjFlbC0qKQorCQljcHU9bWlwc2lzYTY0c2IxZWwKIAkJOzsKLQlub25lKQotCQli YXNpY19tYWNoaW5lPW5vbmUtbm9uZQotCQlvcz0tbm9uZQorCXNoNWVbbGJdLSopCisJCWNwdT1g ZWNobyAiJGNwdSIgfCBzZWQgJ3MvXlwoc2guXCllXCguXCkkL1wxXDJlLydgCiAJCTs7Ci0KLSMg SGVyZSB3ZSBoYW5kbGUgdGhlIGRlZmF1bHQgbWFudWZhY3R1cmVyIG9mIGNlcnRhaW4gQ1BVIHR5 cGVzLiAgSXQgaXMgaW4KLSMgc29tZSBjYXNlcyB0aGUgb25seSBtYW51ZmFjdHVyZXIsIGluIG90 aGVycywgaXQgaXMgdGhlIG1vc3QgcG9wdWxhci4KLQl3ODlrKQotCQliYXNpY19tYWNoaW5lPWhw cGExLjEtd2luYm9uZAorCXNwdXItKikKKwkJY3B1PXNwdXIKIAkJOzsKLQlvcDUwbikKLQkJYmFz aWNfbWFjaGluZT1ocHBhMS4xLW9raQorCXN0cm9uZ2FybS0qIHwgdGh1bWItKikKKwkJY3B1PWFy bQogCQk7OwotCW9wNjBjKQotCQliYXNpY19tYWNoaW5lPWhwcGExLjEtb2tpCisJdHgzOS0qKQor CQljcHU9bWlwc3R4MzkKIAkJOzsKLQlyb21wKQotCQliYXNpY19tYWNoaW5lPXJvbXAtaWJtCisJ dHgzOWVsLSopCisJCWNwdT1taXBzdHgzOWVsCiAJCTs7Ci0JbW1peCkKLQkJYmFzaWNfbWFjaGlu ZT1tbWl4LWtudXRoCisJeDY0LSopCisJCWNwdT14ODZfNjQKIAkJOzsKLQlyczYwMDApCi0JCWJh c2ljX21hY2hpbmU9cnM2MDAwLWlibQorCXhzY2FsZS0qIHwgeHNjYWxlZVtibF0tKikKKwkJY3B1 PWBlY2hvICIkY3B1IiB8IHNlZCAncy9eeHNjYWxlL2FybS8nYAogCQk7OwotCXZheCkKLQkJYmFz aWNfbWFjaGluZT12YXgtZGVjCisKKwkjIFJlY29nbml6ZSB0aGUgY2Fub25pY2FsIENQVSBUeXBl cyB0aGF0IGxpbWl0IGFuZC9vciBtb2RpZnkgdGhlCisJIyBjb21wYW55IG5hbWVzIHRoZXkgYXJl IHBhaXJlZCB3aXRoLgorCWNyMTYtKikKKwkJb3M9JHtvczotZWxmfQogCQk7OwotCXBkcDEwKQot CQkjIHRoZXJlIGFyZSBtYW55IGNsb25lcywgc28gREVDIGlzIG5vdCBhIHNhZmUgYmV0Ci0JCWJh c2ljX21hY2hpbmU9cGRwMTAtdW5rbm93bgorCWNyaXN2MzItKiB8IGV0cmF4ZnMqLSopCisJCWNw dT1jcmlzdjMyCisJCXZlbmRvcj1heGlzCiAJCTs7Ci0JcGRwMTEpCi0JCWJhc2ljX21hY2hpbmU9 cGRwMTEtZGVjCisJY3Jpcy0qIHwgZXRyYXgqLSopCisJCWNwdT1jcmlzCisJCXZlbmRvcj1heGlz CiAJCTs7Ci0Jd2UzMmspCi0JCWJhc2ljX21hY2hpbmU9d2UzMmstYXR0CisJY3J4LSopCisJCW9z PSR7b3M6LWVsZn0KIAkJOzsKLQlzaFsxMjM0XSB8IHNoWzI0XWEgfCBzaFsyNF1hZWIgfCBzaFsz NF1lYiB8IHNoWzEyMzRdbGUgfCBzaFsyM11lbGUpCi0JCWJhc2ljX21hY2hpbmU9c2gtdW5rbm93 bgorCW5lby10YW5kZW0pCisJCWNwdT1uZW8KKwkJdmVuZG9yPXRhbmRlbQogCQk7OwotCXNwYXJj IHwgc3BhcmN2OCB8IHNwYXJjdjkgfCBzcGFyY3Y5YiB8IHNwYXJjdjl2KQotCQliYXNpY19tYWNo aW5lPXNwYXJjLXN1bgorCW5zZS10YW5kZW0pCisJCWNwdT1uc2UKKwkJdmVuZG9yPXRhbmRlbQog CQk7OwotCWN5ZHJhKQotCQliYXNpY19tYWNoaW5lPWN5ZHJhLWN5ZHJvbWUKKwluc3ItdGFuZGVt KQorCQljcHU9bnNyCisJCXZlbmRvcj10YW5kZW0KIAkJOzsKLQlvcmlvbikKLQkJYmFzaWNfbWFj aGluZT1vcmlvbi1oaWdobGV2ZWwKKwluc3YtdGFuZGVtKQorCQljcHU9bnN2CisJCXZlbmRvcj10 YW5kZW0KIAkJOzsKLQlvcmlvbjEwNSkKLQkJYmFzaWNfbWFjaGluZT1jbGlwcGVyLWhpZ2hsZXZl bAorCW5zeC10YW5kZW0pCisJCWNwdT1uc3gKKwkJdmVuZG9yPXRhbmRlbQogCQk7OwotCW1hYyB8 IG1wdyB8IG1hYy1tcHcpCi0JCWJhc2ljX21hY2hpbmU9bTY4ay1hcHBsZQorCXMzOTAtKikKKwkJ Y3B1PXMzOTAKKwkJdmVuZG9yPWlibQogCQk7OwotCXBtYWMgfCBwbWFjLW1wdykKLQkJYmFzaWNf bWFjaGluZT1wb3dlcnBjLWFwcGxlCisJczM5MHgtKikKKwkJY3B1PXMzOTB4CisJCXZlbmRvcj1p Ym0KIAkJOzsKLQkqLXVua25vd24pCi0JCSMgTWFrZSBzdXJlIHRvIG1hdGNoIGFuIGFscmVhZHkt Y2Fub25pY2FsaXplZCBtYWNoaW5lIG5hbWUuCisJdGlsZSotKikKKwkJb3M9JHtvczotbGludXgt Z251fQogCQk7OworCiAJKikKLQkJZWNobyBJbnZhbGlkIGNvbmZpZ3VyYXRpb24gXGAkMVwnOiBt YWNoaW5lIFxgJGJhc2ljX21hY2hpbmVcJyBub3QgcmVjb2duaXplZCAxPiYyCi0JCWV4aXQgMQor CQkjIFJlY29nbml6ZSB0aGUgY2Fub25pY2FsIENQVSB0eXBlcyB0aGF0IGFyZSBhbGxvd2VkIHdp dGggYW55CisJCSMgY29tcGFueSBuYW1lLgorCQljYXNlICRjcHUgaW4KKwkJCTE3NTBhIHwgNTgw IFwKKwkJCXwgYTI5ayBcCisJCQl8IGFhcmNoNjQgfCBhYXJjaDY0X2JlIFwKKwkJCXwgYWJhY3Vz IFwKKwkJCXwgYWxwaGEgfCBhbHBoYWV2WzQtOF0gfCBhbHBoYWV2NTYgfCBhbHBoYWV2Nls3OF0g XAorCQkJfCBhbHBoYTY0IHwgYWxwaGE2NGV2WzQtOF0gfCBhbHBoYTY0ZXY1NiB8IGFscGhhNjRl djZbNzhdIFwKKwkJCXwgYWxwaGFwY2E1WzY3XSB8IGFscGhhNjRwY2E1WzY3XSBcCisJCQl8IGFt MzNfMi4wIFwKKwkJCXwgYW1kZ2NuIFwKKwkJCXwgYXJjIHwgYXJjZWIgXAorCQkJfCBhcm0gIHwg YXJtW2xiXWUgfCBhcm1lW2xiXSB8IGFybXYqIFwKKwkJCXwgYXZyIHwgYXZyMzIgXAorCQkJfCBh c21qcyBcCisJCQl8IGJhIFwKKwkJCXwgYmUzMiB8IGJlNjQgXAorCQkJfCBiZmluIHwgYnMyMDAw IFwKKwkJCXwgY1sxMjNdKiB8IGMzMCB8IFtjanRdOTAgfCBjNHggXAorCQkJfCBjODA1MSB8IGNs aXBwZXIgfCBjcmF5bnYgfCBjc2t5IHwgY3lkcmEgXAorCQkJfCBkMTB2IHwgZDMwdiB8IGRseCB8 IGRzcDE2eHggXAorCQkJfCBlMmsgfCBlbHhzaSB8IGVwaXBoYW55IFwKKwkJCXwgZjMwWzAxXSB8 IGY3MDAgfCBmaWRvIHwgZnIzMCB8IGZydiB8IGZ0MzIgfCBmeDgwIFwKKwkJCXwgaDgzMDAgfCBo ODUwMCBcCisJCQl8IGhwcGEgfCBocHBhMS5bMDFdIHwgaHBwYTIuMCB8IGhwcGEyLjBbbnddIHwg aHBwYTY0IFwKKwkJCXwgaGV4YWdvbiBcCisJCQl8IGkzNzAgfCBpKjg2IHwgaTg2MCB8IGk5NjAg fCBpYTE2IHwgaWE2NCBcCisJCQl8IGlwMmsgfCBpcTIwMDAgXAorCQkJfCBrMW9tIFwKKwkJCXwg bGUzMiB8IGxlNjQgXAorCQkJfCBsbTMyIFwKKwkJCXwgbTMyYyB8IG0zMnIgfCBtMzJybGUgXAor CQkJfCBtNTIwMCB8IG02ODAwMCB8IG02ODBbMDEyMzQ2XTAgfCBtNjgzNjAgfCBtNjgzPzIgfCBt NjhrIFwKKwkJCXwgbTY4MTEgfCBtNjhoYzExIHwgbTY4MTIgfCBtNjhoYzEyIHwgbTY4aGNzMTJ4 IFwKKwkJCXwgbTg4MTEwIHwgbTg4ayB8IG1heHEgfCBtYiB8IG1jb3JlIHwgbWVwIHwgbWV0YWcg XAorCQkJfCBtaWNyb2JsYXplIHwgbWljcm9ibGF6ZWVsIFwKKwkJCXwgbWlwcyB8IG1pcHNiZSB8 IG1pcHNlYiB8IG1pcHNlbCB8IG1pcHNsZSBcCisJCQl8IG1pcHMxNiBcCisJCQl8IG1pcHM2NCB8 IG1pcHM2NGViIHwgbWlwczY0ZWwgXAorCQkJfCBtaXBzNjRvY3Rlb24gfCBtaXBzNjRvY3Rlb25l bCBcCisJCQl8IG1pcHM2NG9yaW9uIHwgbWlwczY0b3Jpb25lbCBcCisJCQl8IG1pcHM2NHI1OTAw IHwgbWlwczY0cjU5MDBlbCBcCisJCQl8IG1pcHM2NHZyIHwgbWlwczY0dnJlbCBcCisJCQl8IG1p cHM2NHZyNDEwMCB8IG1pcHM2NHZyNDEwMGVsIFwKKwkJCXwgbWlwczY0dnI0MzAwIHwgbWlwczY0 dnI0MzAwZWwgXAorCQkJfCBtaXBzNjR2cjUwMDAgfCBtaXBzNjR2cjUwMDBlbCBcCisJCQl8IG1p cHM2NHZyNTkwMCB8IG1pcHM2NHZyNTkwMGVsIFwKKwkJCXwgbWlwc2lzYTMyIHwgbWlwc2lzYTMy ZWwgXAorCQkJfCBtaXBzaXNhMzJyMiB8IG1pcHNpc2EzMnIyZWwgXAorCQkJfCBtaXBzaXNhMzJy NiB8IG1pcHNpc2EzMnI2ZWwgXAorCQkJfCBtaXBzaXNhNjQgfCBtaXBzaXNhNjRlbCBcCisJCQl8 IG1pcHNpc2E2NHIyIHwgbWlwc2lzYTY0cjJlbCBcCisJCQl8IG1pcHNpc2E2NHI2IHwgbWlwc2lz YTY0cjZlbCBcCisJCQl8IG1pcHNpc2E2NHNiMSB8IG1pcHNpc2E2NHNiMWVsIFwKKwkJCXwgbWlw c2lzYTY0c3I3MWsgfCBtaXBzaXNhNjRzcjcxa2VsIFwKKwkJCXwgbWlwc3I1OTAwIHwgbWlwc3I1 OTAwZWwgXAorCQkJfCBtaXBzdHgzOSB8IG1pcHN0eDM5ZWwgXAorCQkJfCBtbWl4IFwKKwkJCXwg bW4xMDIwMCB8IG1uMTAzMDAgXAorCQkJfCBtb3hpZSBcCisJCQl8IG10IFwKKwkJCXwgbXNwNDMw IFwKKwkJCXwgbmRzMzIgfCBuZHMzMmxlIHwgbmRzMzJiZSBcCisJCQl8IG5mcCBcCisJCQl8IG5p b3MgfCBuaW9zMiB8IG5pb3MyZWIgfCBuaW9zMmVsIFwKKwkJCXwgbm9uZSB8IG5wMSB8IG5zMTZr IHwgbnMzMmsgfCBudnB0eCBcCisJCQl8IG9wZW44IFwKKwkJCXwgb3IxayogXAorCQkJfCBvcjMy IFwKKwkJCXwgb3Jpb24gXAorCQkJfCBwaWNvY2hpcCBcCisJCQl8IHBkcDEwIHwgcGRwMTEgfCBw aiB8IHBqbCB8IHBuIHwgcG93ZXIgXAorCQkJfCBwb3dlcnBjIHwgcG93ZXJwYzY0IHwgcG93ZXJw YzY0bGUgfCBwb3dlcnBjbGUgfCBwb3dlcnBjc3BlIFwKKwkJCXwgcHJ1IFwKKwkJCXwgcHlyYW1p ZCBcCisJCQl8IHJpc2N2IHwgcmlzY3YzMiB8IHJpc2N2NjQgXAorCQkJfCBybDc4IHwgcm9tcCB8 IHJzNjAwMCB8IHJ4IFwKKwkJCXwgc2NvcmUgXAorCQkJfCBzaCB8IHNobCBcCisJCQl8IHNoWzEy MzRdIHwgc2hbMjRdYSB8IHNoWzI0XWFlW2xiXSB8IHNoWzIzXWUgfCBzaGVbbGJdIHwgc2hbbGJd ZSBcCisJCQl8IHNoWzEyMzRdZVtsYl0gfCAgc2hbMTIzNDVdW2xiXWUgfCBzaFsyM11lbGUgfCBz aDY0IHwgc2g2NGxlIFwKKwkJCXwgc3BhcmMgfCBzcGFyYzY0IHwgc3BhcmM2NGIgfCBzcGFyYzY0 diB8IHNwYXJjODZ4IHwgc3BhcmNsZXQgXAorCQkJfCBzcGFyY2xpdGUgXAorCQkJfCBzcGFyY3Y4 IHwgc3BhcmN2OSB8IHNwYXJjdjliIHwgc3BhcmN2OXYgfCBzdjEgfCBzeCogXAorCQkJfCBzcHUg XAorCQkJfCB0YWhvZSBcCisJCQl8IHRpYzMwIHwgdGljNHggfCB0aWM1NHggfCB0aWM1NXggfCB0 aWM2eCB8IHRpYzgwIFwKKwkJCXwgdHJvbiBcCisJCQl8IHViaWNvbTMyIFwKKwkJCXwgdjcwIHwg djg1MCB8IHY4NTBlIHwgdjg1MGUxIHwgdjg1MGVzIHwgdjg1MGUyIHwgdjg1MGUydjMgXAorCQkJ fCB2YXggXAorCQkJfCB2aXNpdW0gXAorCQkJfCB3NjUgXAorCQkJfCB3YXNtMzIgfCB3YXNtNjQg XAorCQkJfCB3ZTMyayBcCisJCQl8IHg4NiB8IHg4Nl82NCB8IHhjMTZ4IHwgeGdhdGUgfCB4cHMx MDAgXAorCQkJfCB4c3Rvcm15MTYgfCB4dGVuc2EqIFwKKwkJCXwgeW1wIFwKKwkJCXwgejhrIHwg ejgwKQorCQkJCTs7CisKKwkJCSopCisJCQkJZWNobyBJbnZhbGlkIGNvbmZpZ3VyYXRpb24gXGAi JDEiXCc6IG1hY2hpbmUgXGAiJGNwdS0kdmVuZG9yIlwnIG5vdCByZWNvZ25pemVkIDE+JjIKKwkJ CQlleGl0IDEKKwkJCQk7OworCQllc2FjCiAJCTs7CiBlc2FjCiAKICMgSGVyZSB3ZSBjYW5vbmlj YWxpemUgY2VydGFpbiBhbGlhc2VzIGZvciBtYW51ZmFjdHVyZXJzLgotY2FzZSAkYmFzaWNfbWFj aGluZSBpbgotCSotZGlnaXRhbCopCi0JCWJhc2ljX21hY2hpbmU9YGVjaG8gJGJhc2ljX21hY2hp bmUgfCBzZWQgJ3MvZGlnaXRhbC4qL2RlYy8nYAorY2FzZSAkdmVuZG9yIGluCisJZGlnaXRhbCop CisJCXZlbmRvcj1kZWMKIAkJOzsKLQkqLWNvbW1vZG9yZSopCi0JCWJhc2ljX21hY2hpbmU9YGVj aG8gJGJhc2ljX21hY2hpbmUgfCBzZWQgJ3MvY29tbW9kb3JlLiovY2JtLydgCisJY29tbW9kb3Jl KikKKwkJdmVuZG9yPWNibQogCQk7OwogCSopCiAJCTs7CkBAIC0xMzE1LDIwMCArMTI3OCwyNDYg QEAgZXNhYwogCiAjIERlY29kZSBtYW51ZmFjdHVyZXItc3BlY2lmaWMgYWxpYXNlcyBmb3IgY2Vy dGFpbiBvcGVyYXRpbmcgc3lzdGVtcy4KIAotaWYgWyB4IiRvcyIgIT0geCIiIF0KK2lmIFsgeCRv cyAhPSB4IF0KIHRoZW4KIGNhc2UgJG9zIGluCi0JIyBGaXJzdCBtYXRjaCBzb21lIHN5c3RlbSB0 eXBlIGFsaWFzZXMKLQkjIHRoYXQgbWlnaHQgZ2V0IGNvbmZ1c2VkIHdpdGggdmFsaWQgc3lzdGVt IHR5cGVzLgotCSMgLXNvbGFyaXMqIGlzIGEgYmFzaWMgc3lzdGVtIHR5cGUsIHdpdGggdGhpcyBv bmUgZXhjZXB0aW9uLgotCS1hdXJvcmF1eCkKLQkJb3M9LWF1cm9yYXV4CisJIyBGaXJzdCBtYXRj aCBzb21lIHN5c3RlbSB0eXBlIGFsaWFzZXMgdGhhdCBtaWdodCBnZXQgY29uZnVzZWQKKwkjIHdp dGggdmFsaWQgc3lzdGVtIHR5cGVzLgorCSMgc29sYXJpcyogaXMgYSBiYXNpYyBzeXN0ZW0gdHlw ZSwgd2l0aCB0aGlzIG9uZSBleGNlcHRpb24uCisJYXVyb3JhdXgpCisJCW9zPWF1cm9yYXV4CiAJ CTs7Ci0JLXNvbGFyaXMxIHwgLXNvbGFyaXMxLiopCi0JCW9zPWBlY2hvICRvcyB8IHNlZCAtZSAn c3xzb2xhcmlzMXxzdW5vczR8J2AKKwlibHVlZ2VuZSopCisJCW9zPWNuawogCQk7OwotCS1zb2xh cmlzKQotCQlvcz0tc29sYXJpczIKKwlzb2xhcmlzMSB8IHNvbGFyaXMxLiopCisJCW9zPWBlY2hv ICRvcyB8IHNlZCAtZSAnc3xzb2xhcmlzMXxzdW5vczR8J2AKIAkJOzsKLQktc3ZyNCopCi0JCW9z PS1zeXN2NAorCXNvbGFyaXMpCisJCW9zPXNvbGFyaXMyCiAJCTs7Ci0JLXVuaXh3YXJlKikKLQkJ b3M9LXN5c3Y0LjJ1dworCXVuaXh3YXJlKikKKwkJb3M9c3lzdjQuMnV3CiAJCTs7Ci0JLWdudS9s aW51eCopCisJZ251L2xpbnV4KikKIAkJb3M9YGVjaG8gJG9zIHwgc2VkIC1lICdzfGdudS9saW51 eHxsaW51eC1nbnV8J2AKIAkJOzsKLQkjIEZpcnN0IGFjY2VwdCB0aGUgYmFzaWMgc3lzdGVtIHR5 cGVzLgorCSMgZXMxODAwIGlzIGhlcmUgdG8gYXZvaWQgYmVpbmcgbWF0Y2hlZCBieSBlcyogKGEg ZGlmZmVyZW50IE9TKQorCWVzMTgwMCopCisJCW9zPW9zZQorCQk7OworCSMgU29tZSB2ZXJzaW9u IG51bWJlcnMgbmVlZCBtb2RpZmljYXRpb24KKwljaG9ydXNvcyopCisJCW9zPWNob3J1c29zCisJ CTs7CisJaXNjKQorCQlvcz1pc2MyLjIKKwkJOzsKKwlzY282KQorCQlvcz1zY281djYKKwkJOzsK KwlzY281KQorCQlvcz1zY28zLjJ2NQorCQk7OworCXNjbzQpCisJCW9zPXNjbzMuMnY0CisJCTs7 CisJc2NvMy4yLls0LTldKikKKwkJb3M9YGVjaG8gJG9zIHwgc2VkIC1lICdzL3NjbzMuMi4vc2Nv My4ydi8nYAorCQk7OworCXNjbzMuMnZbNC05XSogfCBzY281djYqKQorCQkjIERvbid0IGZvcmdl dCB2ZXJzaW9uIGlmIGl0IGlzIDMuMnY0IG9yIG5ld2VyLgorCQk7OworCXNjb3V0KQorCQkjIERv bid0IG1hdGNoIGJlbG93CisJCTs7CisJc2NvKikKKwkJb3M9c2NvMy4ydjIKKwkJOzsKKwlwc29z KikKKwkJb3M9cHNvcworCQk7OworCSMgTm93IGFjY2VwdCB0aGUgYmFzaWMgc3lzdGVtIHR5cGVz LgogCSMgVGhlIHBvcnRhYmxlIHN5c3RlbXMgY29tZXMgZmlyc3QuCi0JIyBFYWNoIGFsdGVybmF0 aXZlIE1VU1QgRU5EIElOIEEgKiwgdG8gbWF0Y2ggYSB2ZXJzaW9uIG51bWJlci4KLQkjIC1zeXN2 KiBpcyBub3QgaGVyZSBiZWNhdXNlIGl0IGNvbWVzIGxhdGVyLCBhZnRlciBzeXN2cjQuCi0JLWdu dSogfCAtYnNkKiB8IC1tYWNoKiB8IC1taW5peCogfCAtZ2VuaXgqIHwgLXVsdHJpeCogfCAtaXJp eCogXAotCSAgICAgIHwgLSp2bXMqIHwgLXNjbyogfCAtZXNpeCogfCAtaXNjKiB8IC1haXgqIHwg LWNuayogfCAtc3Vub3MgfCAtc3Vub3NbMzRdKlwKLQkgICAgICB8IC1ocHV4KiB8IC11bm9zKiB8 IC1vc2YqIHwgLWx1bmEqIHwgLWRndXgqIHwgLWF1cm9yYXV4KiB8IC1zb2xhcmlzKiBcCi0JICAg ICAgfCAtc3ltKiB8IC1rb3BlbnNvbGFyaXMqIFwKLQkgICAgICB8IC1hbWlnYW9zKiB8IC1hbWln YWRvcyogfCAtbXNkb3MqIHwgLW5ld3NvcyogfCAtdW5pY29zKiB8IC1hb2YqIFwKLQkgICAgICB8 IC1hb3MqIHwgLWFyb3MqIFwKLQkgICAgICB8IC1uaW5keSogfCAtdnhzaW0qIHwgLXZ4d29ya3Mq IHwgLWVibW9uKiB8IC1obXMqIHwgLW12cyogXAotCSAgICAgIHwgLWNsaXgqIHwgLXJpc2Nvcyog fCAtdW5pcGx1cyogfCAtaXJpcyogfCAtcnR1KiB8IC14ZW5peCogXAotCSAgICAgIHwgLWhpdXgq IHwgLTM4NmJzZCogfCAta25ldGJzZCogfCAtbWlyYnNkKiB8IC1uZXRic2QqIFwKLQkgICAgICB8 IC1vcGVuYnNkKiB8IC1zb2xpZGJzZCogXAotCSAgICAgIHwgLWVra29ic2QqIHwgLWtmcmVlYnNk KiB8IC1mcmVlYnNkKiB8IC1yaXNjaXgqIHwgLWx5bnhvcyogXAotCSAgICAgIHwgLWJvc3gqIHwg LW5leHRzdGVwKiB8IC1jeHV4KiB8IC1hb3V0KiB8IC1lbGYqIHwgLW9hYmkqIFwKLQkgICAgICB8 IC1wdHgqIHwgLWNvZmYqIHwgLWVjb2ZmKiB8IC13aW5udCogfCAtZG9tYWluKiB8IC12c3RhKiBc Ci0JICAgICAgfCAtdWRpKiB8IC1lYWJpKiB8IC1saXRlcyogfCAtaWVlZSogfCAtZ28zMiogfCAt YXV4KiBcCi0JICAgICAgfCAtY2hvcnVzb3MqIHwgLWNob3J1c3JkYiogfCAtY2VnY2MqIFwKLQkg ICAgICB8IC1jeWd3aW4qIHwgLW1zeXMqIHwgLXBlKiB8IC1wc29zKiB8IC1tb3NzKiB8IC1wcm9l bGYqIHwgLXJ0ZW1zKiBcCi0JICAgICAgfCAtbWluZ3czMiogfCAtbGludXgtZ251KiB8IC1saW51 eC1hbmRyb2lkKiBcCi0JICAgICAgfCAtbGludXgtbmV3bGliKiB8IC1saW51eC11Y2xpYmMqIFwK LQkgICAgICB8IC11eHB2KiB8IC1iZW9zKiB8IC1tcGVpeCogfCAtdWRrKiBcCi0JICAgICAgfCAt aW50ZXJpeCogfCAtdXdpbiogfCAtbWtzKiB8IC1yaGFwc29keSogfCAtZGFyd2luKiB8IC1vcGVu ZWQqIFwKLQkgICAgICB8IC1vcGVuc3RlcCogfCAtb3NraXQqIHwgLWNvbml4KiB8IC1wdzMyKiB8 IC1ub25zdG9wdXgqIFwKLQkgICAgICB8IC1zdG9ybS1jaGFvcyogfCAtdG9wczEwKiB8IC10ZW5l eCogfCAtdG9wczIwKiB8IC1pdHMqIFwKLQkgICAgICB8IC1vczIqIHwgLXZvcyogfCAtcGFsbW9z KiB8IC11Y2xpbnV4KiB8IC1udWNsZXVzKiBcCi0JICAgICAgfCAtbW9ycGhvcyogfCAtc3VwZXJ1 eCogfCAtcnRtayogfCAtcnRtay1ub3ZhKiB8IC13aW5kaXNzKiBcCi0JICAgICAgfCAtcG93ZXJt YXgqIHwgLWRuaXgqIHwgLW54NiB8IC1ueDcgfCAtc2VpKiB8IC1kcmFnb25mbHkqIFwKLQkgICAg ICB8IC1za3lvcyogfCAtaGFpa3UqIHwgLXJkb3MqIHwgLXRvcHBlcnMqIHwgLWRyb3BzKiB8IC1l cyopCisJIyBFYWNoIGFsdGVybmF0aXZlIE1VU1QgZW5kIGluIGEgKiB0byBtYXRjaCBhIHZlcnNp b24gbnVtYmVyLgorCSMgc3lzdiogaXMgbm90IGhlcmUgYmVjYXVzZSBpdCBjb21lcyBsYXRlciwg YWZ0ZXIgc3lzdnI0LgorCWdudSogfCBic2QqIHwgbWFjaCogfCBtaW5peCogfCBnZW5peCogfCB1 bHRyaXgqIHwgaXJpeCogXAorCSAgICAgfCAqdm1zKiB8IGVzaXgqIHwgYWl4KiB8IGNuayogfCBz dW5vcyB8IHN1bm9zWzM0XSpcCisJICAgICB8IGhwdXgqIHwgdW5vcyogfCBvc2YqIHwgbHVuYSog fCBkZ3V4KiB8IGF1cm9yYXV4KiB8IHNvbGFyaXMqIFwKKwkgICAgIHwgc3ltKiB8IGtvcGVuc29s YXJpcyogfCBwbGFuOSogXAorCSAgICAgfCBhbWlnYW9zKiB8IGFtaWdhZG9zKiB8IG1zZG9zKiB8 IG5ld3NvcyogfCB1bmljb3MqIHwgYW9mKiBcCisJICAgICB8IGFvcyogfCBhcm9zKiB8IGNsb3Vk YWJpKiB8IHNvcnRpeCogXAorCSAgICAgfCBuaW5keSogfCB2eHNpbSogfCB2eHdvcmtzKiB8IGVi bW9uKiB8IGhtcyogfCBtdnMqIFwKKwkgICAgIHwgY2xpeCogfCByaXNjb3MqIHwgdW5pcGx1cyog fCBpcmlzKiB8IGlzYyogfCBydHUqIHwgeGVuaXgqIFwKKwkgICAgIHwga25ldGJzZCogfCBtaXJi c2QqIHwgbmV0YnNkKiBcCisJICAgICB8IGJpdHJpZyogfCBvcGVuYnNkKiB8IHNvbGlkYnNkKiB8 IGxpYmVydHlic2QqIFwKKwkgICAgIHwgZWtrb2JzZCogfCBrZnJlZWJzZCogfCBmcmVlYnNkKiB8 IHJpc2NpeCogfCBseW54b3MqIFwKKwkgICAgIHwgYm9zeCogfCBuZXh0c3RlcCogfCBjeHV4KiB8 IGFvdXQqIHwgZWxmKiB8IG9hYmkqIFwKKwkgICAgIHwgcHR4KiB8IGNvZmYqIHwgZWNvZmYqIHwg d2lubnQqIHwgZG9tYWluKiB8IHZzdGEqIFwKKwkgICAgIHwgdWRpKiB8IGVhYmkqIHwgbGl0ZXMq IHwgaWVlZSogfCBnbzMyKiB8IGF1eCogfCBoY29zKiBcCisJICAgICB8IGNob3J1c3JkYiogfCBj ZWdjYyogfCBnbGlkaXgqIFwKKwkgICAgIHwgY3lnd2luKiB8IG1zeXMqIHwgcGUqIHwgbW9zcyog fCBwcm9lbGYqIHwgcnRlbXMqIFwKKwkgICAgIHwgbWlkaXBpeCogfCBtaW5ndzMyKiB8IG1pbmd3 NjQqIHwgbGludXgtZ251KiB8IGxpbnV4LWFuZHJvaWQqIFwKKwkgICAgIHwgbGludXgtbmV3bGli KiB8IGxpbnV4LW11c2wqIHwgbGludXgtdWNsaWJjKiBcCisJICAgICB8IHV4cHYqIHwgYmVvcyog fCBtcGVpeCogfCB1ZGsqIHwgbW94aWVib3gqIFwKKwkgICAgIHwgaW50ZXJpeCogfCB1d2luKiB8 IG1rcyogfCByaGFwc29keSogfCBkYXJ3aW4qIFwKKwkgICAgIHwgb3BlbnN0ZXAqIHwgb3NraXQq IHwgY29uaXgqIHwgcHczMiogfCBub25zdG9wdXgqIFwKKwkgICAgIHwgc3Rvcm0tY2hhb3MqIHwg dG9wczEwKiB8IHRlbmV4KiB8IHRvcHMyMCogfCBpdHMqIFwKKwkgICAgIHwgb3MyKiB8IHZvcyog fCBwYWxtb3MqIHwgdWNsaW51eCogfCBudWNsZXVzKiBcCisJICAgICB8IG1vcnBob3MqIHwgc3Vw ZXJ1eCogfCBydG1rKiB8IHdpbmRpc3MqIFwKKwkgICAgIHwgcG93ZXJtYXgqIHwgZG5peCogfCBu eDYgfCBueDcgfCBzZWkqIHwgZHJhZ29uZmx5KiBcCisJICAgICB8IHNreW9zKiB8IGhhaWt1KiB8 IHJkb3MqIHwgdG9wcGVycyogfCBkcm9wcyogfCBlcyogXAorCSAgICAgfCBvbmVmcyogfCB0aXJ0 b3MqIHwgcGhvZW5peCogfCBmdWNoc2lhKiB8IHJlZG94KiB8IGJtZSogXAorCSAgICAgfCBtaWRu aWdodGJzZCogfCBhbWRoc2EqIHwgdW5sZWFzaGVkKiB8IGVtc2NyaXB0ZW4qIHwgd2FzaSopCiAJ IyBSZW1lbWJlciwgZWFjaCBhbHRlcm5hdGl2ZSBNVVNUIEVORCBJTiAqLCB0byBtYXRjaCBhIHZl cnNpb24gbnVtYmVyLgogCQk7OwotCS1xbngqKQotCQljYXNlICRiYXNpY19tYWNoaW5lIGluCi0J CSAgICB4ODYtKiB8IGkqODYtKikKKwlxbngqKQorCQljYXNlICRjcHUgaW4KKwkJICAgIHg4NiB8 IGkqODYpCiAJCQk7OwogCQkgICAgKikKLQkJCW9zPS1udG8kb3MKKwkJCW9zPW50by0kb3MKIAkJ CTs7CiAJCWVzYWMKIAkJOzsKLQktbnRvLXFueCopCisJaGl1eCopCisJCW9zPWhpdXh3ZTIKIAkJ OzsKLQktbnRvKikKLQkJb3M9YGVjaG8gJG9zIHwgc2VkIC1lICdzfG50b3xudG8tcW54fCdgCisJ bnRvLXFueCopCiAJCTs7Ci0JLXNpbSB8IC1lczE4MDAqIHwgLWhtcyogfCAteHJheSB8IC1vczY4 ayogfCAtbm9uZSogfCAtdjg4ciogXAotCSAgICAgIHwgLXdpbmRvd3MqIHwgLW9zeCB8IC1hYnVn IHwgLW5ldHdhcmUqIHwgLW9zOSogfCAtYmVvcyogfCAtaGFpa3UqIFwKLQkgICAgICB8IC1tYWNv cyogfCAtbXB3KiB8IC1tYWdpYyogfCAtbW1peHdhcmUqIHwgLW1vbjk2MCogfCAtbG5ld3MqKQor CW50byopCisJCW9zPWBlY2hvICRvcyB8IHNlZCAtZSAnc3xudG98bnRvLXFueHwnYAogCQk7Owot CS1tYWMqKQotCQlvcz1gZWNobyAkb3MgfCBzZWQgLWUgJ3N8bWFjfG1hY29zfCdgCisJc2ltIHwg eHJheSB8IG9zNjhrKiB8IHY4OHIqIFwKKwkgICAgfCB3aW5kb3dzKiB8IG9zeCB8IGFidWcgfCBu ZXR3YXJlKiB8IG9zOSogXAorCSAgICB8IG1hY29zKiB8IG1wdyogfCBtYWdpYyogfCBtbWl4d2Fy ZSogfCBtb245NjAqIHwgbG5ld3MqKQogCQk7OwotCS1saW51eC1kaWV0bGliYykKLQkJb3M9LWxp bnV4LWRpZXRsaWJjCisJbGludXgtZGlldGxpYmMpCisJCW9zPWxpbnV4LWRpZXRsaWJjCiAJCTs7 Ci0JLWxpbnV4KikKKwlsaW51eCopCiAJCW9zPWBlY2hvICRvcyB8IHNlZCAtZSAnc3xsaW51eHxs aW51eC1nbnV8J2AKIAkJOzsKLQktc3Vub3M1KikKLQkJb3M9YGVjaG8gJG9zIHwgc2VkIC1lICdz fHN1bm9zNXxzb2xhcmlzMnwnYAorCWx5bngqMTc4KQorCQlvcz1seW54b3MxNzgKKwkJOzsKKwls eW54KjUpCisJCW9zPWx5bnhvczUKIAkJOzsKLQktc3Vub3M2KikKLQkJb3M9YGVjaG8gJG9zIHwg c2VkIC1lICdzfHN1bm9zNnxzb2xhcmlzM3wnYAorCWx5bngqKQorCQlvcz1seW54b3MKIAkJOzsK LQktb3BlbmVkKikKLQkJb3M9LW9wZW5lZGl0aW9uCisJbWFjKikKKwkJb3M9YGVjaG8gIiRvcyIg fCBzZWQgLWUgJ3N8bWFjfG1hY29zfCdgCiAJCTs7Ci0JLW9zNDAwKikKLQkJb3M9LW9zNDAwCisJ b3BlbmVkKikKKwkJb3M9b3BlbmVkaXRpb24KIAkJOzsKLQktd2luY2UqKQotCQlvcz0td2luY2UK KwlvczQwMCopCisJCW9zPW9zNDAwCiAJCTs7Ci0JLW9zZnJvc2UqKQotCQlvcz0tb3Nmcm9zZQor CXN1bm9zNSopCisJCW9zPWBlY2hvICIkb3MiIHwgc2VkIC1lICdzfHN1bm9zNXxzb2xhcmlzMnwn YAogCQk7OwotCS1vc2YqKQotCQlvcz0tb3NmCisJc3Vub3M2KikKKwkJb3M9YGVjaG8gIiRvcyIg fCBzZWQgLWUgJ3N8c3Vub3M2fHNvbGFyaXMzfCdgCiAJCTs7Ci0JLXV0ZWsqKQotCQlvcz0tYnNk CisJd2luY2UqKQorCQlvcz13aW5jZQogCQk7OwotCS1keW5peCopCi0JCW9zPS1ic2QKKwl1dGVr KikKKwkJb3M9YnNkCiAJCTs7Ci0JLWFjaXMqKQotCQlvcz0tYW9zCisJZHluaXgqKQorCQlvcz1i c2QKIAkJOzsKLQktYXRoZW9zKikKLQkJb3M9LWF0aGVvcworCWFjaXMqKQorCQlvcz1hb3MKIAkJ OzsKLQktc3lsbGFibGUqKQotCQlvcz0tc3lsbGFibGUKKwlhdGhlb3MqKQorCQlvcz1hdGhlb3MK IAkJOzsKLQktMzg2YnNkKQotCQlvcz0tYnNkCisJc3lsbGFibGUqKQorCQlvcz1zeWxsYWJsZQog CQk7OwotCS1jdGl4KiB8IC11dHMqKQotCQlvcz0tc3lzdgorCTM4NmJzZCkKKwkJb3M9YnNkCiAJ CTs7Ci0JLW5vdmEqKQotCQlvcz0tcnRtay1ub3ZhCisJY3RpeCogfCB1dHMqKQorCQlvcz1zeXN2 CiAJCTs7Ci0JLW5zMiApCi0JCW9zPS1uZXh0c3RlcDIKKwlub3ZhKikKKwkJb3M9cnRtay1ub3Zh CiAJCTs7Ci0JLW5zayopCi0JCW9zPS1uc2sKKwluczIpCisJCW9zPW5leHRzdGVwMgorCQk7Owor CW5zayopCisJCW9zPW5zawogCQk7OwogCSMgUHJlc2VydmUgdGhlIHZlcnNpb24gbnVtYmVyIG9m IHNpbml4NS4KLQktc2luaXg1LiopCisJc2luaXg1LiopCiAJCW9zPWBlY2hvICRvcyB8IHNlZCAt ZSAnc3xzaW5peHxzeXN2fCdgCiAJCTs7Ci0JLXNpbml4KikKLQkJb3M9LXN5c3Y0Ci0JCTs7Ci0J LXRwZiopCi0JCW9zPS10cGYKKwlzaW5peCopCisJCW9zPXN5c3Y0CiAJCTs7Ci0JLXRyaXRvbiop Ci0JCW9zPS1zeXN2MworCXRwZiopCisJCW9zPXRwZgogCQk7OwotCS1vc3MqKQotCQlvcz0tc3lz djMKKwl0cml0b24qKQorCQlvcz1zeXN2MwogCQk7OwotCS1zdnI0KQotCQlvcz0tc3lzdjQKKwlv c3MqKQorCQlvcz1zeXN2MwogCQk7OwotCS1zdnIzKQotCQlvcz0tc3lzdjMKKwlzdnI0KikKKwkJ b3M9c3lzdjQKIAkJOzsKLQktc3lzdnI0KQotCQlvcz0tc3lzdjQKKwlzdnIzKQorCQlvcz1zeXN2 MwogCQk7OwotCSMgVGhpcyBtdXN0IGNvbWUgYWZ0ZXIgLXN5c3ZyNC4KLQktc3lzdiopCisJc3lz dnI0KQorCQlvcz1zeXN2NAogCQk7OwotCS1vc2UqKQotCQlvcz0tb3NlCisJIyBUaGlzIG11c3Qg Y29tZSBhZnRlciBzeXN2cjQuCisJc3lzdiopCiAJCTs7Ci0JLWVzMTgwMCopCi0JCW9zPS1vc2UK Kwlvc2UqKQorCQlvcz1vc2UKIAkJOzsKLQkteGVuaXgpCi0JCW9zPS14ZW5peAorCSptaW50IHwg bWludFswLTldKiB8ICpNaU5UIHwgTWlOVFswLTldKikKKwkJb3M9bWludAogCQk7OwotCS0qbWlu dCB8IC1taW50WzAtOV0qIHwgLSpNaU5UIHwgLU1pTlRbMC05XSopCi0JCW9zPS1taW50CisJenZt b2UpCisJCW9zPXp2bW9lCiAJCTs7Ci0JLWFyb3MqKQotCQlvcz0tYXJvcworCWRpY29zKikKKwkJ b3M9ZGljb3MKIAkJOzsKLQkta2FvcyopCi0JCW9zPS1rYW9zCisJcGlrZW9zKikKKwkJIyBVbnRp bCByZWFsIG5lZWQgb2YgT1Mgc3BlY2lmaWMgc3VwcG9ydCBmb3IKKwkJIyBwYXJ0aWN1bGFyIGZl YXR1cmVzIGNvbWVzIHVwLCBiYXJlIG1ldGFsCisJCSMgY29uZmlndXJhdGlvbnMgYXJlIHF1aXRl IGZ1bmN0aW9uYWwuCisJCWNhc2UgJGNwdSBpbgorCQkgICAgYXJtKikKKwkJCW9zPWVhYmkKKwkJ CTs7CisJCSAgICAqKQorCQkJb3M9ZWxmCisJCQk7OworCQllc2FjCiAJCTs7Ci0JLXp2bW9lKQot CQlvcz0tenZtb2UKKwluYWNsKikKIAkJOzsKLQktZGljb3MqKQotCQlvcz0tZGljb3MKKwlpb3Mp CiAJCTs7Ci0JLW5hY2wqKQorCW5vbmUpCiAJCTs7Ci0JLW5vbmUpCisJKi1lYWJpKQogCQk7Owog CSopCi0JCSMgR2V0IHJpZCBvZiB0aGUgYC0nIGF0IHRoZSBiZWdpbm5pbmcgb2YgJG9zLgotCQlv cz1gZWNobyAkb3MgfCBzZWQgJ3MvW14tXSotLy8nYAotCQllY2hvIEludmFsaWQgY29uZmlndXJh dGlvbiBcYCQxXCc6IHN5c3RlbSBcYCRvc1wnIG5vdCByZWNvZ25pemVkIDE+JjIKKwkJZWNobyBJ bnZhbGlkIGNvbmZpZ3VyYXRpb24gXGAiJDEiXCc6IHN5c3RlbSBcYCIkb3MiXCcgbm90IHJlY29n bml6ZWQgMT4mMgogCQlleGl0IDEKIAkJOzsKIGVzYWMKQEAgLTE1MjQsMjU4ICsxNTMzLDI2NSBA QCBlbHNlCiAjIHdpbGwgc2lnbmFsIGFuIGVycm9yIHNheWluZyB0aGF0IE1BTlVGQUNUVVJFUiBp c24ndCBhbiBvcGVyYXRpbmcKICMgc3lzdGVtLCBhbmQgd2UnbGwgbmV2ZXIgZ2V0IHRvIHRoaXMg cG9pbnQuCiAKLWNhc2UgJGJhc2ljX21hY2hpbmUgaW4KK2Nhc2UgJGNwdS0kdmVuZG9yIGluCiAJ c2NvcmUtKikKLQkJb3M9LWVsZgorCQlvcz1lbGYKIAkJOzsKIAlzcHUtKikKLQkJb3M9LWVsZgor CQlvcz1lbGYKIAkJOzsKIAkqLWFjb3JuKQotCQlvcz0tcmlzY2l4MS4yCisJCW9zPXJpc2NpeDEu MgogCQk7OwogCWFybSotcmViZWwpCi0JCW9zPS1saW51eAorCQlvcz1saW51eAogCQk7OwogCWFy bSotc2VtaSkKLQkJb3M9LWFvdXQKKwkJb3M9YW91dAogCQk7OwogCWM0eC0qIHwgdGljNHgtKikK LQkJb3M9LWNvZmYKKwkJb3M9Y29mZgorCQk7OworCWM4MDUxLSopCisJCW9zPWVsZgorCQk7Owor CWNsaXBwZXItaW50ZXJncmFwaCkKKwkJb3M9Y2xpeAogCQk7OwogCWhleGFnb24tKikKLQkJb3M9 LWVsZgorCQlvcz1lbGYKIAkJOzsKIAl0aWM1NHgtKikKLQkJb3M9LWNvZmYKKwkJb3M9Y29mZgog CQk7OwogCXRpYzU1eC0qKQotCQlvcz0tY29mZgorCQlvcz1jb2ZmCiAJCTs7CiAJdGljNngtKikK LQkJb3M9LWNvZmYKKwkJb3M9Y29mZgogCQk7OwogCSMgVGhpcyBtdXN0IGNvbWUgYmVmb3JlIHRo ZSAqLWRlYyBlbnRyeS4KIAlwZHAxMC0qKQotCQlvcz0tdG9wczIwCisJCW9zPXRvcHMyMAogCQk7 OwogCXBkcDExLSopCi0JCW9zPS1ub25lCisJCW9zPW5vbmUKIAkJOzsKIAkqLWRlYyB8IHZheC0q KQotCQlvcz0tdWx0cml4NC4yCisJCW9zPXVsdHJpeDQuMgogCQk7OwogCW02OCotYXBvbGxvKQot CQlvcz0tZG9tYWluCisJCW9zPWRvbWFpbgogCQk7OwogCWkzODYtc3VuKQotCQlvcz0tc3Vub3M0 LjAuMgorCQlvcz1zdW5vczQuMC4yCiAJCTs7CiAJbTY4MDAwLXN1bikKLQkJb3M9LXN1bm9zMwor CQlvcz1zdW5vczMKIAkJOzsKIAltNjgqLWNpc2NvKQotCQlvcz0tYW91dAorCQlvcz1hb3V0CiAJ CTs7CiAJbWVwLSopCi0JCW9zPS1lbGYKKwkJb3M9ZWxmCiAJCTs7CiAJbWlwcyotY2lzY28pCi0J CW9zPS1lbGYKKwkJb3M9ZWxmCiAJCTs7CiAJbWlwcyotKikKLQkJb3M9LWVsZgorCQlvcz1lbGYK IAkJOzsKIAlvcjMyLSopCi0JCW9zPS1jb2ZmCisJCW9zPWNvZmYKIAkJOzsKIAkqLXR0aSkJIyBt dXN0IGJlIGJlZm9yZSBzcGFyYyBlbnRyeSBvciB3ZSBnZXQgdGhlIHdyb25nIG9zLgotCQlvcz0t c3lzdjMKKwkJb3M9c3lzdjMKIAkJOzsKIAlzcGFyYy0qIHwgKi1zdW4pCi0JCW9zPS1zdW5vczQu MS4xCisJCW9zPXN1bm9zNC4xLjEKIAkJOzsKLQkqLWJlKQotCQlvcz0tYmVvcworCXBydS0qKQor CQlvcz1lbGYKIAkJOzsKLQkqLWhhaWt1KQotCQlvcz0taGFpa3UKKwkqLWJlKQorCQlvcz1iZW9z CiAJCTs7CiAJKi1pYm0pCi0JCW9zPS1haXgKKwkJb3M9YWl4CiAJCTs7CiAJKi1rbnV0aCkKLQkJ b3M9LW1taXh3YXJlCisJCW9zPW1taXh3YXJlCiAJCTs7CiAJKi13ZWMpCi0JCW9zPS1wcm9lbGYK KwkJb3M9cHJvZWxmCiAJCTs7CiAJKi13aW5ib25kKQotCQlvcz0tcHJvZWxmCisJCW9zPXByb2Vs ZgogCQk7OwogCSotb2tpKQotCQlvcz0tcHJvZWxmCisJCW9zPXByb2VsZgogCQk7OwogCSotaHAp Ci0JCW9zPS1ocHV4CisJCW9zPWhwdXgKIAkJOzsKIAkqLWhpdGFjaGkpCi0JCW9zPS1oaXV4CisJ CW9zPWhpdXgKIAkJOzsKIAlpODYwLSogfCAqLWF0dCB8ICotbmNyIHwgKi1hbHRvcyB8ICotbW90 b3JvbGEgfCAqLWNvbnZlcmdlbnQpCi0JCW9zPS1zeXN2CisJCW9zPXN5c3YKIAkJOzsKIAkqLWNi bSkKLQkJb3M9LWFtaWdhb3MKKwkJb3M9YW1pZ2FvcwogCQk7OwogCSotZGcpCi0JCW9zPS1kZ3V4 CisJCW9zPWRndXgKIAkJOzsKIAkqLWRvbHBoaW4pCi0JCW9zPS1zeXN2MworCQlvcz1zeXN2Mwog CQk7OwogCW02OGstY2N1cikKLQkJb3M9LXJ0dQorCQlvcz1ydHUKIAkJOzsKIAltODhrLW9tcm9u KikKLQkJb3M9LWx1bmEKKwkJb3M9bHVuYQogCQk7OwotCSotbmV4dCApCi0JCW9zPS1uZXh0c3Rl cAorCSotbmV4dCkKKwkJb3M9bmV4dHN0ZXAKIAkJOzsKIAkqLXNlcXVlbnQpCi0JCW9zPS1wdHgK KwkJb3M9cHR4CiAJCTs7CiAJKi1jcmRzKQotCQlvcz0tdW5vcworCQlvcz11bm9zCiAJCTs7CiAJ Ki1ucykKLQkJb3M9LWdlbml4CisJCW9zPWdlbml4CiAJCTs7CiAJaTM3MC0qKQotCQlvcz0tbXZz Ci0JCTs7Ci0JKi1uZXh0KQotCQlvcz0tbmV4dHN0ZXAzCisJCW9zPW12cwogCQk7OwogCSotZ291 bGQpCi0JCW9zPS1zeXN2CisJCW9zPXN5c3YKIAkJOzsKIAkqLWhpZ2hsZXZlbCkKLQkJb3M9LWJz ZAorCQlvcz1ic2QKIAkJOzsKIAkqLWVuY29yZSkKLQkJb3M9LWJzZAorCQlvcz1ic2QKIAkJOzsK IAkqLXNnaSkKLQkJb3M9LWlyaXgKKwkJb3M9aXJpeAogCQk7OwogCSotc2llbWVucykKLQkJb3M9 LXN5c3Y0CisJCW9zPXN5c3Y0CiAJCTs7CiAJKi1tYXNzY29tcCkKLQkJb3M9LXJ0dQorCQlvcz1y dHUKIAkJOzsKIAlmMzBbMDFdLWZ1aml0c3UgfCBmNzAwLWZ1aml0c3UpCi0JCW9zPS11eHB2CisJ CW9zPXV4cHYKIAkJOzsKIAkqLXJvbTY4aykKLQkJb3M9LWNvZmYKKwkJb3M9Y29mZgogCQk7Owog CSotKmJ1ZykKLQkJb3M9LWNvZmYKKwkJb3M9Y29mZgogCQk7OwogCSotYXBwbGUpCi0JCW9zPS1t YWNvcworCQlvcz1tYWNvcwogCQk7OwogCSotYXRhcmkqKQotCQlvcz0tbWludAorCQlvcz1taW50 CisJCTs7CisJKi13cnMpCisJCW9zPXZ4d29ya3MKIAkJOzsKIAkqKQotCQlvcz0tbm9uZQorCQlv cz1ub25lCiAJCTs7CiBlc2FjCiBmaQogCiAjIEhlcmUgd2UgaGFuZGxlIHRoZSBjYXNlIHdoZXJl IHdlIGtub3cgdGhlIG9zLCBhbmQgdGhlIENQVSB0eXBlLCBidXQgbm90IHRoZQogIyBtYW51ZmFj dHVyZXIuICBXZSBwaWNrIHRoZSBsb2dpY2FsIG1hbnVmYWN0dXJlci4KLXZlbmRvcj11bmtub3du Ci1jYXNlICRiYXNpY19tYWNoaW5lIGluCi0JKi11bmtub3duKQorY2FzZSAkdmVuZG9yIGluCisJ dW5rbm93bikKIAkJY2FzZSAkb3MgaW4KLQkJCS1yaXNjaXgqKQorCQkJcmlzY2l4KikKIAkJCQl2 ZW5kb3I9YWNvcm4KIAkJCQk7OwotCQkJLXN1bm9zKikKKwkJCXN1bm9zKikKIAkJCQl2ZW5kb3I9 c3VuCiAJCQkJOzsKLQkJCS1jbmsqfC1haXgqKQorCQkJY25rKnwtYWl4KikKIAkJCQl2ZW5kb3I9 aWJtCiAJCQkJOzsKLQkJCS1iZW9zKikKKwkJCWJlb3MqKQogCQkJCXZlbmRvcj1iZQogCQkJCTs7 Ci0JCQktaHB1eCopCisJCQlocHV4KikKIAkJCQl2ZW5kb3I9aHAKIAkJCQk7OwotCQkJLW1wZWl4 KikKKwkJCW1wZWl4KikKIAkJCQl2ZW5kb3I9aHAKIAkJCQk7OwotCQkJLWhpdXgqKQorCQkJaGl1 eCopCiAJCQkJdmVuZG9yPWhpdGFjaGkKIAkJCQk7OwotCQkJLXVub3MqKQorCQkJdW5vcyopCiAJ CQkJdmVuZG9yPWNyZHMKIAkJCQk7OwotCQkJLWRndXgqKQorCQkJZGd1eCopCiAJCQkJdmVuZG9y PWRnCiAJCQkJOzsKLQkJCS1sdW5hKikKKwkJCWx1bmEqKQogCQkJCXZlbmRvcj1vbXJvbgogCQkJ CTs7Ci0JCQktZ2VuaXgqKQorCQkJZ2VuaXgqKQogCQkJCXZlbmRvcj1ucwogCQkJCTs7Ci0JCQkt bXZzKiB8IC1vcGVuZWQqKQorCQkJY2xpeCopCisJCQkJdmVuZG9yPWludGVyZ3JhcGgKKwkJCQk7 OworCQkJbXZzKiB8IG9wZW5lZCopCiAJCQkJdmVuZG9yPWlibQogCQkJCTs7Ci0JCQktb3M0MDAq KQorCQkJb3M0MDAqKQogCQkJCXZlbmRvcj1pYm0KIAkJCQk7OwotCQkJLXB0eCopCisJCQlwdHgq KQogCQkJCXZlbmRvcj1zZXF1ZW50CiAJCQkJOzsKLQkJCS10cGYqKQorCQkJdHBmKikKIAkJCQl2 ZW5kb3I9aWJtCiAJCQkJOzsKLQkJCS12eHNpbSogfCAtdnh3b3JrcyogfCAtd2luZGlzcyopCisJ CQl2eHNpbSogfCB2eHdvcmtzKiB8IHdpbmRpc3MqKQogCQkJCXZlbmRvcj13cnMKIAkJCQk7Owot CQkJLWF1eCopCisJCQlhdXgqKQogCQkJCXZlbmRvcj1hcHBsZQogCQkJCTs7Ci0JCQktaG1zKikK KwkJCWhtcyopCiAJCQkJdmVuZG9yPWhpdGFjaGkKIAkJCQk7OwotCQkJLW1wdyogfCAtbWFjb3Mq KQorCQkJbXB3KiB8IG1hY29zKikKIAkJCQl2ZW5kb3I9YXBwbGUKIAkJCQk7OwotCQkJLSptaW50 IHwgLW1pbnRbMC05XSogfCAtKk1pTlQgfCAtTWlOVFswLTldKikKKwkJCSptaW50IHwgbWludFsw LTldKiB8ICpNaU5UIHwgTWlOVFswLTldKikKIAkJCQl2ZW5kb3I9YXRhcmkKIAkJCQk7OwotCQkJ LXZvcyopCisJCQl2b3MqKQogCQkJCXZlbmRvcj1zdHJhdHVzCiAJCQkJOzsKIAkJZXNhYwotCQli YXNpY19tYWNoaW5lPWBlY2hvICRiYXNpY19tYWNoaW5lIHwgc2VkICJzL3Vua25vd24vJHZlbmRv ci8iYAogCQk7OwogZXNhYwogCi1lY2hvICRiYXNpY19tYWNoaW5lJG9zCitlY2hvICIkY3B1LSR2 ZW5kb3ItJG9zIgogZXhpdAogCiAjIExvY2FsIHZhcmlhYmxlczoKLSMgZXZhbDogKGFkZC1ob29r ICd3cml0ZS1maWxlLWhvb2tzICd0aW1lLXN0YW1wKQorIyBldmFsOiAoYWRkLWhvb2sgJ2JlZm9y ZS1zYXZlLWhvb2sgJ3RpbWUtc3RhbXApCiAjIHRpbWUtc3RhbXAtc3RhcnQ6ICJ0aW1lc3RhbXA9 JyIKICMgdGltZS1zdGFtcC1mb3JtYXQ6ICIlOnktJTAybS0lMDJkIgogIyB0aW1lLXN0YW1wLWVu ZDogIiciCi0tIAoyLjIxLjAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9q ZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVu LWRldmVs From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.8 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id DD49AC04AB4 for ; Fri, 17 May 2019 22:34:31 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 76F012166E for ; Fri, 17 May 2019 22:34:31 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=wdc.com header.i=@wdc.com header.b="aAg27sFt" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 76F012166E Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=wdc.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hRlQN-0000Ys-9Z; Fri, 17 May 2019 22:33:59 +0000 Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hRlQL-0000Ya-3P for xen-devel@lists.xenproject.org; Fri, 17 May 2019 22:33:57 +0000 X-Inumbo-ID: d67b2550-78f3-11e9-8980-bc764e045a96 Received: from esa5.hgst.iphmx.com (unknown [216.71.153.144]) by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS id d67b2550-78f3-11e9-8980-bc764e045a96; Fri, 17 May 2019 22:33:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1558132429; x=1589668429; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=YNgezyUbO72P0KzAzGZ7OIX+UWNSDFsSzcJRA2Ewz+8=; b=aAg27sFtJ/rzKEpMlHJv/tp5g25UslLHUVq9zxA62tvoshyRY+LW8TY6 yzTeimcPmjmULwsw6BAAhjd/D4AJTq7tHX7C2veI6T72BvwM0t9nLQje+ rjetgFR0wsIBbpFElY8UlAGs6pA2KdrTm3yIEnqAhTuDlViZWXkWRE2s7 ClmfuxiDiNeXOVF//e5sOjO49b669+vvYdF+mrfpQyBPWiJjAVS732AYX u2jytcZOqmJKT0V7K50ubqkYF9vt2RFcyq8iqgrvhzJQtOEJbbarxa5Eo PlgHvNLIpY4It5+8DdOz1gx5jGN4CJ4k7CenX/+ZdEG3tuYlp75tz+UkF Q==; X-IronPort-AV: E=Sophos;i="5.60,481,1549900800"; d="scan'208";a="109791001" Received: from h199-255-45-14.hgst.com (HELO uls-op-cesaep01.wdc.com) ([199.255.45.14]) by ob1.hgst.iphmx.com with ESMTP; 18 May 2019 06:33:47 +0800 IronPort-SDR: 1JtdhRGRuhrbsCO5St5XZam9CI15Bk2fPzGIsedcBPwMa8tHb399W5jB6HVOVF9Q7VcDCsllK1 VaKN3a0fLGtD2WGbFwtEL3uGkJPoR21wkq4Q19Lb9QV4BUI97+tCLEpzpSC1kGPWOk94D9zNdr RaUIRTr6TRptGLEAnfkAP4abtJDwL46dsBKzAKYIIoBhjesDpLJBfPQbnVHvvEHw7+lnAgMVgf R4KCrtBBBn2fbxE42WaXDi356XAueyLCqG0kl57fRW5HGkIr9nY09Zi6VcgmtSxeigzlQKMB3Z hwjrIogjlEiU8eDH7GsEQu/1 Received: from uls-op-cesaip02.wdc.com ([10.248.3.37]) by uls-op-cesaep01.wdc.com with ESMTP; 17 May 2019 15:09:16 -0700 IronPort-SDR: lABn7Vm2+X86RnSdAa4YX+68W8i82sFjAeMun/iishApuJXE/IexusKsGdbw3b2VUJHF+lnNVN bI1ZK1uaZe4bQT2N4nBrFeFLSuGtZalEOCHAmtoWj0uiNlIkAAC4BzL2tzqR/ztTY3jKG7jmP1 r6pyYZsrMGCUqCaHPDbsK2GpjoJKmbAYvcojAxKmr+lt0PFdWXOcaEIsJeu5S/XcLaqR8S4sh6 wur+wFzTkgluFjg5E/+mmNadtkXN01wh1CXcItZqxHz8hzGqvfNwOBatt4H5suDwqQrBSQThuH 1cw= Received: from risc6-mainframe.sdcorp.global.sandisk.com (HELO risc6-mainframe.int.fusionio.com) ([10.196.157.140]) by uls-op-cesaip02.wdc.com with ESMTP; 17 May 2019 15:33:46 -0700 From: Alistair Francis To: xen-devel@lists.xenproject.org Date: Fri, 17 May 2019 15:31:51 -0700 Message-Id: <20190517223152.29839-1-alistair.francis@wdc.com> X-Mailer: git-send-email 2.21.0 MIME-Version: 1.0 Subject: [Xen-devel] [PATCH v2 1/2] autotools: Updage config.guess and config.sub X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: sstabellini@kernel.org, wei.liu2@citrix.com, konrad.wilk@oracle.com, George.Dunlap@eu.citrix.com, andrew.cooper3@citrix.com, ian.jackson@eu.citrix.com, tim@xen.org, julien.grall@arm.com, Alistair Francis , jbeulich@suse.com, alistair23@gmail.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" Message-ID: <20190517223151.ReG7JPoEJebzMHy3BhMWZHI1xwjyUfjbrNrHebdGKo0@z> VGhlIGF1dG9jb25mIG1hbnVhbCBbMV0gc3BlY2lmaWVzIHRoYXQgYXMgd2UgZGVmaW5lIEFDX0NB Tk9OSUNBTF9IT1NUIHdlCm11c3Qgc3VwcGx5IGNvbmZpZy5ndWVzcyBhbmQgY29uZmlnLnN1Yi4g SW4gd2hpY2ggY2FzZSBsZXQncyB1cGRhdGUgdGhlbQpmcm9tIFsyXSBjb21taXQ6IGI5ODQyNGMy NCAiY29uZmlnLmd1ZXNzOiBSZW1vdmUgc3BhY2UgYWZ0ZXIgIiNlbmRpZiIsIGFzCkdudWxpYiBh bmQgc29tZSIKClRoaXMgYWxsb3dzIHVzIHRvIHN1cHBvcnQgbW9yZSBhY2hpdGVjdHVyZXMgKFJJ U0MtVikgYW5kIG90aGVyIGdlbmVyYWwKaW1wcm92ZW1lbnRzLgoKMTogaHR0cHM6Ly93d3cuZ251 Lm9yZy9zb2Z0d2FyZS9hdXRvY29uZi9tYW51YWwvYXV0b2NvbmYuaHRtbCNDYW5vbmljYWxpemlu ZwoyOiBodHRwczovL2dpdC5zYXZhbm5haC5nbnUub3JnL2NnaXQvY29uZmlnLmdpdC8KClNpZ25l ZC1vZmYtYnk6IEFsaXN0YWlyIEZyYW5jaXMgPGFsaXN0YWlyLmZyYW5jaXNAd2RjLmNvbT4KLS0t CiBjb25maWcuZ3Vlc3MgfCAxMDE0ICsrKysrKysrKysrLS0tLS0tLS0tCiBjb25maWcuc3ViICAg fCAyNTIyICsrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CiAyIGZpbGVzIGNoYW5nZWQsIDE4NDAgaW5zZXJ0aW9ucygrKSwgMTY5NiBkZWxldGlvbnMoLSkK IG1vZGUgY2hhbmdlIDEwMDc1NSA9PiAxMDA2NDQgY29uZmlnLmd1ZXNzCiBtb2RlIGNoYW5nZSAx MDA3NTUgPT4gMTAwNjQ0IGNvbmZpZy5zdWIKCmRpZmYgLS1naXQgYS9jb25maWcuZ3Vlc3MgYi9j b25maWcuZ3Vlc3MKb2xkIG1vZGUgMTAwNzU1Cm5ldyBtb2RlIDEwMDY0NAppbmRleCBkNjIyYTQ0 ZTU1Li40Y2Q5NDU0YjM1Ci0tLSBhL2NvbmZpZy5ndWVzcworKysgYi9jb25maWcuZ3Vlc3MKQEAg LTEsMTQgKzEsMTIgQEAKICMhIC9iaW4vc2gKICMgQXR0ZW1wdCB0byBndWVzcyBhIGNhbm9uaWNh bCBzeXN0ZW0gbmFtZS4KLSMgICBDb3B5cmlnaHQgKEMpIDE5OTIsIDE5OTMsIDE5OTQsIDE5OTUs IDE5OTYsIDE5OTcsIDE5OTgsIDE5OTksCi0jICAgMjAwMCwgMjAwMSwgMjAwMiwgMjAwMywgMjAw NCwgMjAwNSwgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSwgMjAxMCwKLSMgICAyMDExLCAyMDEyIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIyAgIENvcHlyaWdodCAxOTkyLTIwMTkgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAKLXRpbWVzdGFtcD0nMjAxMi0wMi0xMCcKK3Rp bWVzdGFtcD0nMjAxOS0wNC0yOCcKIAogIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91 IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAogIyB1bmRlciB0aGUgdGVybXMg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotIyB0aGUg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNl LCBvcgorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9m IHRoZSBMaWNlbnNlLCBvcgogIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgog IwogIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs IGJlIHVzZWZ1bCwgYnV0CkBAIC0xNywyNCArMTUsMjIgQEAgdGltZXN0YW1wPScyMDEyLTAyLTEw JwogIyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAjCiAjIFlvdSBz aG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlCi0jIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHNlZSA8aHR0cDovL3d3dy5n bnUub3JnL2xpY2Vuc2VzLz4uCisjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHNl ZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgogIwogIyBBcyBhIHNwZWNpYWwgZXhj ZXB0aW9uIHRvIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwgaWYgeW91CiAjIGRpc3Ry aWJ1dGUgdGhpcyBmaWxlIGFzIHBhcnQgb2YgYSBwcm9ncmFtIHRoYXQgY29udGFpbnMgYQogIyBj b25maWd1cmF0aW9uIHNjcmlwdCBnZW5lcmF0ZWQgYnkgQXV0b2NvbmYsIHlvdSBtYXkgaW5jbHVk ZSBpdCB1bmRlcgotIyB0aGUgc2FtZSBkaXN0cmlidXRpb24gdGVybXMgdGhhdCB5b3UgdXNlIGZv ciB0aGUgcmVzdCBvZiB0aGF0IHByb2dyYW0uCi0KLQotIyBPcmlnaW5hbGx5IHdyaXR0ZW4gYnkg UGVyIEJvdGhuZXIuICBQbGVhc2Ugc2VuZCBwYXRjaGVzIChjb250ZXh0Ci0jIGRpZmYgZm9ybWF0 KSB0byA8Y29uZmlnLXBhdGNoZXNAZ251Lm9yZz4gYW5kIGluY2x1ZGUgYSBDaGFuZ2VMb2cKLSMg ZW50cnkuCisjIHRoZSBzYW1lIGRpc3RyaWJ1dGlvbiB0ZXJtcyB0aGF0IHlvdSB1c2UgZm9yIHRo ZSByZXN0IG9mIHRoYXQKKyMgcHJvZ3JhbS4gIFRoaXMgRXhjZXB0aW9uIGlzIGFuIGFkZGl0aW9u YWwgcGVybWlzc2lvbiB1bmRlciBzZWN0aW9uIDcKKyMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlLCB2ZXJzaW9uIDMgKCJHUEx2MyIpLgogIwotIyBUaGlzIHNjcmlwdCBhdHRlbXB0 cyB0byBndWVzcyBhIGNhbm9uaWNhbCBzeXN0ZW0gbmFtZSBzaW1pbGFyIHRvCi0jIGNvbmZpZy5z dWIuICBJZiBpdCBzdWNjZWVkcywgaXQgcHJpbnRzIHRoZSBzeXN0ZW0gbmFtZSBvbiBzdGRvdXQs IGFuZAotIyBleGl0cyB3aXRoIDAuICBPdGhlcndpc2UsIGl0IGV4aXRzIHdpdGggMS4KKyMgT3Jp Z2luYWxseSB3cml0dGVuIGJ5IFBlciBCb3RobmVyOyBtYWludGFpbmVkIHNpbmNlIDIwMDAgYnkg QmVuIEVsbGlzdG9uLgogIwogIyBZb3UgY2FuIGdldCB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhp cyBzY3JpcHQgZnJvbToKLSMgaHR0cDovL2dpdC5zYXZhbm5haC5nbnUub3JnL2dpdHdlYi8/cD1j b25maWcuZ2l0O2E9YmxvYl9wbGFpbjtmPWNvbmZpZy5ndWVzcztoYj1IRUFECisjIGh0dHBzOi8v Z2l0LnNhdmFubmFoLmdudS5vcmcvZ2l0d2ViLz9wPWNvbmZpZy5naXQ7YT1ibG9iX3BsYWluO2Y9 Y29uZmlnLmd1ZXNzCisjCisjIFBsZWFzZSBzZW5kIHBhdGNoZXMgdG8gPGNvbmZpZy1wYXRjaGVz QGdudS5vcmc+LgorCiAKIG1lPWBlY2hvICIkMCIgfCBzZWQgLWUgJ3MsLiovLCwnYAogCkBAIC00 Myw3ICszOSw3IEBAIFVzYWdlOiAkMCBbT1BUSU9OXQogCiBPdXRwdXQgdGhlIGNvbmZpZ3VyYXRp b24gbmFtZSBvZiB0aGUgc3lzdGVtIFxgJG1lJyBpcyBydW4gb24uCiAKLU9wZXJhdGlvbiBtb2Rl czoKK09wdGlvbnM6CiAgIC1oLCAtLWhlbHAgICAgICAgICBwcmludCB0aGlzIGhlbHAsIHRoZW4g ZXhpdAogICAtdCwgLS10aW1lLXN0YW1wICAgcHJpbnQgZGF0ZSBvZiBsYXN0IG1vZGlmaWNhdGlv biwgdGhlbiBleGl0CiAgIC12LCAtLXZlcnNpb24gICAgICBwcmludCB2ZXJzaW9uIG51bWJlciwg dGhlbiBleGl0CkBAIC01NCw5ICs1MCw3IEBAIHZlcnNpb249IlwKIEdOVSBjb25maWcuZ3Vlc3Mg KCR0aW1lc3RhbXApCiAKIE9yaWdpbmFsbHkgd3JpdHRlbiBieSBQZXIgQm90aG5lci4KLUNvcHly aWdodCAoQykgMTk5MiwgMTk5MywgMTk5NCwgMTk5NSwgMTk5NiwgMTk5NywgMTk5OCwgMTk5OSwg MjAwMCwKLTIwMDEsIDIwMDIsIDIwMDMsIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDgsIDIw MDksIDIwMTAsIDIwMTEsIDIwMTIKLUZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorQ29w eXJpZ2h0IDE5OTItMjAxOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIAogVGhpcyBp cyBmcmVlIHNvZnR3YXJlOyBzZWUgdGhlIHNvdXJjZSBmb3IgY29weWluZyBjb25kaXRpb25zLiAg VGhlcmUgaXMgTk8KIHdhcnJhbnR5OyBub3QgZXZlbiBmb3IgTUVSQ0hBTlRBQklMSVRZIG9yIEZJ VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiIKQEAgLTkwLDggKzg0LDYgQEAgaWYgdGVz dCAkIyAhPSAwOyB0aGVuCiAgIGV4aXQgMQogZmkKIAotdHJhcCAnZXhpdCAxJyAxIDIgMTUKLQog IyBDQ19GT1JfQlVJTEQgLS0gY29tcGlsZXIgdXNlZCBieSB0aGlzIHNjcmlwdC4gTm90ZSB0aGF0 IHRoZSB1c2Ugb2YgYQogIyBjb21waWxlciB0byBhaWQgaW4gc3lzdGVtIGRldGVjdGlvbiBpcyBk aXNjb3VyYWdlZCBhcyBpdCByZXF1aXJlcwogIyB0ZW1wb3JhcnkgZmlsZXMgdG8gYmUgY3JlYXRl ZCBhbmQsIGFzIHlvdSBjYW4gc2VlIGJlbG93LCBpdCBpcyBhCkBAIC0xMDIsMzQgKzk0LDM4IEBA IHRyYXAgJ2V4aXQgMScgMSAyIDE1CiAKICMgUG9ydGFibGUgdG1wIGRpcmVjdG9yeSBjcmVhdGlv biBpbnNwaXJlZCBieSB0aGUgQXV0b2NvbmYgdGVhbS4KIAotc2V0X2NjX2Zvcl9idWlsZD0nCi10 cmFwICJleGl0Y29kZT1cJD87IChybSAtZiBcJHRtcGZpbGVzIDI+L2Rldi9udWxsOyBybWRpciBc JHRtcCAyPi9kZXYvbnVsbCkgJiYgZXhpdCBcJGV4aXRjb2RlIiAwIDsKLXRyYXAgInJtIC1mIFwk dG1wZmlsZXMgMj4vZGV2L251bGw7IHJtZGlyIFwkdG1wIDI+L2Rldi9udWxsOyBleGl0IDEiIDEg MiAxMyAxNSA7Ci06ICR7VE1QRElSPS90bXB9IDsKLSB7IHRtcD1gKHVtYXNrIDA3NyAmJiBta3Rl bXAgLWQgIiRUTVBESVIvY2dYWFhYWFgiKSAyPi9kZXYvbnVsbGAgJiYgdGVzdCAtbiAiJHRtcCIg JiYgdGVzdCAtZCAiJHRtcCIgOyB9IHx8Ci0geyB0ZXN0IC1uICIkUkFORE9NIiAmJiB0bXA9JFRN UERJUi9jZyQkLSRSQU5ET00gJiYgKHVtYXNrIDA3NyAmJiBta2RpciAkdG1wKSA7IH0gfHwKLSB7 IHRtcD0kVE1QRElSL2NnLSQkICYmICh1bWFzayAwNzcgJiYgbWtkaXIgJHRtcCkgJiYgZWNobyAi V2FybmluZzogY3JlYXRpbmcgaW5zZWN1cmUgdGVtcCBkaXJlY3RvcnkiID4mMiA7IH0gfHwKLSB7 IGVjaG8gIiRtZTogY2Fubm90IGNyZWF0ZSBhIHRlbXBvcmFyeSBkaXJlY3RvcnkgaW4gJFRNUERJ UiIgPiYyIDsgZXhpdCAxIDsgfSA7Ci1kdW1teT0kdG1wL2R1bW15IDsKLXRtcGZpbGVzPSIkZHVt bXkuYyAkZHVtbXkubyAkZHVtbXkucmVsICRkdW1teSIgOwotY2FzZSAkQ0NfRk9SX0JVSUxELCRI T1NUX0NDLCRDQyBpbgotICwsKSAgICBlY2hvICJpbnQgeDsiID4gJGR1bW15LmMgOwotCWZvciBj IGluIGNjIGdjYyBjODkgYzk5IDsgZG8KLQkgIGlmICgkYyAtYyAtbyAkZHVtbXkubyAkZHVtbXku YykgPi9kZXYvbnVsbCAyPiYxIDsgdGhlbgotCSAgICAgQ0NfRk9SX0JVSUxEPSIkYyI7IGJyZWFr IDsKLQkgIGZpIDsKLQlkb25lIDsKLQlpZiB0ZXN0IHgiJENDX0ZPUl9CVUlMRCIgPSB4IDsgdGhl bgotCSAgQ0NfRk9SX0JVSUxEPW5vX2NvbXBpbGVyX2ZvdW5kIDsKLQlmaQotCTs7Ci0gLCwqKSAg IENDX0ZPUl9CVUlMRD0kQ0MgOzsKLSAsKiwqKSAgQ0NfRk9SX0JVSUxEPSRIT1NUX0NDIDs7Ci1l c2FjIDsgc2V0X2NjX2Zvcl9idWlsZD0gOycKK3RtcD0KKyMgc2hlbGxjaGVjayBkaXNhYmxlPVND MjE3MgordHJhcCAndGVzdCAteiAiJHRtcCIgfHwgcm0gLWZyICIkdG1wIicgMCAxIDIgMTMgMTUK Kworc2V0X2NjX2Zvcl9idWlsZCgpIHsKKyAgICA6ICIke1RNUERJUj0vdG1wfSIKKyAgICAjIHNo ZWxsY2hlY2sgZGlzYWJsZT1TQzIwMzkKKyAgICB7IHRtcD1gKHVtYXNrIDA3NyAmJiBta3RlbXAg LWQgIiRUTVBESVIvY2dYWFhYWFgiKSAyPi9kZXYvbnVsbGAgJiYgdGVzdCAtbiAiJHRtcCIgJiYg dGVzdCAtZCAiJHRtcCIgOyB9IHx8CisJeyB0ZXN0IC1uICIkUkFORE9NIiAmJiB0bXA9JFRNUERJ Ui9jZyQkLSRSQU5ET00gJiYgKHVtYXNrIDA3NyAmJiBta2RpciAiJHRtcCIgMj4vZGV2L251bGwp IDsgfSB8fAorCXsgdG1wPSRUTVBESVIvY2ctJCQgJiYgKHVtYXNrIDA3NyAmJiBta2RpciAiJHRt cCIgMj4vZGV2L251bGwpICYmIGVjaG8gIldhcm5pbmc6IGNyZWF0aW5nIGluc2VjdXJlIHRlbXAg ZGlyZWN0b3J5IiA+JjIgOyB9IHx8CisJeyBlY2hvICIkbWU6IGNhbm5vdCBjcmVhdGUgYSB0ZW1w b3JhcnkgZGlyZWN0b3J5IGluICRUTVBESVIiID4mMiA7IGV4aXQgMSA7IH0KKyAgICBkdW1teT0k dG1wL2R1bW15CisgICAgY2FzZSAke0NDX0ZPUl9CVUlMRC19LCR7SE9TVF9DQy19LCR7Q0MtfSBp bgorCSwsKSAgICBlY2hvICJpbnQgeDsiID4gIiRkdW1teS5jIgorCSAgICAgICBmb3IgZHJpdmVy IGluIGNjIGdjYyBjODkgYzk5IDsgZG8KKwkJICAgaWYgKCRkcml2ZXIgLWMgLW8gIiRkdW1teS5v IiAiJGR1bW15LmMiKSA+L2Rldi9udWxsIDI+JjEgOyB0aGVuCisJCSAgICAgICBDQ19GT1JfQlVJ TEQ9IiRkcml2ZXIiCisJCSAgICAgICBicmVhaworCQkgICBmaQorCSAgICAgICBkb25lCisJICAg ICAgIGlmIHRlc3QgeCIkQ0NfRk9SX0JVSUxEIiA9IHggOyB0aGVuCisJCSAgIENDX0ZPUl9CVUlM RD1ub19jb21waWxlcl9mb3VuZAorCSAgICAgICBmaQorCSAgICAgICA7OworCSwsKikgICBDQ19G T1JfQlVJTEQ9JENDIDs7CisJLCosKikgIENDX0ZPUl9CVUlMRD0kSE9TVF9DQyA7OworICAgIGVz YWMKK30KIAogIyBUaGlzIGlzIG5lZWRlZCB0byBmaW5kIHVuYW1lIG9uIGEgUHlyYW1pZCBPU3gg d2hlbiBydW4gaW4gdGhlIEJTRCB1bml2ZXJzZS4KICMgKGdoYXppQG5vYy5ydXRnZXJzLmVkdSAx OTk0LTA4LTI0KQotaWYgKHRlc3QgLWYgLy5hdHRiaW4vdW5hbWUpID4vZGV2L251bGwgMj4mMSA7 IHRoZW4KK2lmIHRlc3QgLWYgLy5hdHRiaW4vdW5hbWUgOyB0aGVuCiAJUEFUSD0kUEFUSDovLmF0 dGJpbiA7IGV4cG9ydCBQQVRICiBmaQogCkBAIC0xMzgsOSArMTM0LDM3IEBAIFVOQU1FX1JFTEVB U0U9YCh1bmFtZSAtcikgMj4vZGV2L251bGxgIHx8IFVOQU1FX1JFTEVBU0U9dW5rbm93bgogVU5B TUVfU1lTVEVNPWAodW5hbWUgLXMpIDI+L2Rldi9udWxsYCAgfHwgVU5BTUVfU1lTVEVNPXVua25v d24KIFVOQU1FX1ZFUlNJT049YCh1bmFtZSAtdikgMj4vZGV2L251bGxgIHx8IFVOQU1FX1ZFUlNJ T049dW5rbm93bgogCitjYXNlICIkVU5BTUVfU1lTVEVNIiBpbgorTGludXh8R05VfEdOVS8qKQor CSMgSWYgdGhlIHN5c3RlbSBsYWNrcyBhIGNvbXBpbGVyLCB0aGVuIGp1c3QgcGljayBnbGliYy4K KwkjIFdlIGNvdWxkIHByb2JhYmx5IHRyeSBoYXJkZXIuCisJTElCQz1nbnUKKworCXNldF9jY19m b3JfYnVpbGQKKwljYXQgPDwtRU9GID4gIiRkdW1teS5jIgorCSNpbmNsdWRlIDxmZWF0dXJlcy5o PgorCSNpZiBkZWZpbmVkKF9fVUNMSUJDX18pCisJTElCQz11Y2xpYmMKKwkjZWxpZiBkZWZpbmVk KF9fZGlldGxpYmNfXykKKwlMSUJDPWRpZXRsaWJjCisJI2Vsc2UKKwlMSUJDPWdudQorCSNlbmRp ZgorCUVPRgorCWV2YWwgImAkQ0NfRk9SX0JVSUxEIC1FICIkZHVtbXkuYyIgMj4vZGV2L251bGwg fCBncmVwICdeTElCQycgfCBzZWQgJ3MsICwsZydgIgorCisJIyBJZiBsZGQgZXhpc3RzLCB1c2Ug aXQgdG8gZGV0ZWN0IG11c2wgbGliYy4KKwlpZiBjb21tYW5kIC12IGxkZCA+L2Rldi9udWxsICYm IFwKKwkJbGRkIC0tdmVyc2lvbiAyPiYxIHwgZ3JlcCAtcSBebXVzbAorCXRoZW4KKwkgICAgTElC Qz1tdXNsCisJZmkKKwk7OworZXNhYworCiAjIE5vdGU6IG9yZGVyIGlzIHNpZ25pZmljYW50IC0g dGhlIGNhc2UgYnJhbmNoZXMgYXJlIG5vdCBleGNsdXNpdmUuCiAKLWNhc2UgIiR7VU5BTUVfTUFD SElORX06JHtVTkFNRV9TWVNURU19OiR7VU5BTUVfUkVMRUFTRX06JHtVTkFNRV9WRVJTSU9OfSIg aW4KK2Nhc2UgIiRVTkFNRV9NQUNISU5FOiRVTkFNRV9TWVNURU06JFVOQU1FX1JFTEVBU0U6JFVO QU1FX1ZFUlNJT04iIGluCiAgICAgKjpOZXRCU0Q6KjoqKQogCSMgTmV0QlNEIChuYnNkKSB0YXJn ZXRzIHNob3VsZCAod2hlcmUgYXBwbGljYWJsZSkgbWF0Y2ggb25lIG9yCiAJIyBtb3JlIG9mIHRo ZSB0dXBsZXM6ICotKi1uZXRic2RlbGYqLCAqLSotbmV0YnNkYW91dCosCkBAIC0xNTMsMjEgKzE3 NywzMSBAQCBjYXNlICIke1VOQU1FX01BQ0hJTkV9OiR7VU5BTUVfU1lTVEVNfToke1VOQU1FX1JF TEVBU0V9OiR7VU5BTUVfVkVSU0lPTn0iIGluCiAJIyBOb3RlOiBOZXRCU0QgZG9lc24ndCBwYXJ0 aWN1bGFybHkgY2FyZSBhYm91dCB0aGUgdmVuZG9yCiAJIyBwb3J0aW9uIG9mIHRoZSBuYW1lLiAg V2UgYWx3YXlzIHNldCBpdCB0byAidW5rbm93biIuCiAJc3lzY3RsPSJzeXNjdGwgLW4gaHcubWFj aGluZV9hcmNoIgotCVVOQU1FX01BQ0hJTkVfQVJDSD1gKC9zYmluLyRzeXNjdGwgMj4vZGV2L251 bGwgfHwgXAotCSAgICAvdXNyL3NiaW4vJHN5c2N0bCAyPi9kZXYvbnVsbCB8fCBlY2hvIHVua25v d24pYAotCWNhc2UgIiR7VU5BTUVfTUFDSElORV9BUkNIfSIgaW4KKwlVTkFNRV9NQUNISU5FX0FS Q0g9YCh1bmFtZSAtcCAyPi9kZXYvbnVsbCB8fCBcCisJICAgICIvc2Jpbi8kc3lzY3RsIiAyPi9k ZXYvbnVsbCB8fCBcCisJICAgICIvdXNyL3NiaW4vJHN5c2N0bCIgMj4vZGV2L251bGwgfHwgXAor CSAgICBlY2hvIHVua25vd24pYAorCWNhc2UgIiRVTkFNRV9NQUNISU5FX0FSQ0giIGluCiAJICAg IGFybWViKSBtYWNoaW5lPWFybWViLXVua25vd24gOzsKIAkgICAgYXJtKikgbWFjaGluZT1hcm0t dW5rbm93biA7OwogCSAgICBzaDNlbCkgbWFjaGluZT1zaGwtdW5rbm93biA7OwogCSAgICBzaDNl YikgbWFjaGluZT1zaC11bmtub3duIDs7CiAJICAgIHNoNWVsKSBtYWNoaW5lPXNoNWxlLXVua25v d24gOzsKLQkgICAgKikgbWFjaGluZT0ke1VOQU1FX01BQ0hJTkVfQVJDSH0tdW5rbm93biA7Owor CSAgICBlYXJtdiopCisJCWFyY2g9YGVjaG8gIiRVTkFNRV9NQUNISU5FX0FSQ0giIHwgc2VkIC1l ICdzLF5lXChhcm12WzAtOV1cKS4qJCxcMSwnYAorCQllbmRpYW49YGVjaG8gIiRVTkFNRV9NQUNI SU5FX0FSQ0giIHwgc2VkIC1uZSAncyxeLipcKGViXCkkLFwxLHAnYAorCQltYWNoaW5lPSIke2Fy Y2h9JHtlbmRpYW59Ii11bmtub3duCisJCTs7CisJICAgICopIG1hY2hpbmU9IiRVTkFNRV9NQUNI SU5FX0FSQ0giLXVua25vd24gOzsKIAllc2FjCiAJIyBUaGUgT3BlcmF0aW5nIFN5c3RlbSBpbmNs dWRpbmcgb2JqZWN0IGZvcm1hdCwgaWYgaXQgaGFzIHN3aXRjaGVkCi0JIyB0byBFTEYgcmVjZW50 bHksIG9yIHdpbGwgaW4gdGhlIGZ1dHVyZS4KLQljYXNlICIke1VOQU1FX01BQ0hJTkVfQVJDSH0i IGluCisJIyB0byBFTEYgcmVjZW50bHkgKG9yIHdpbGwgaW4gdGhlIGZ1dHVyZSkgYW5kIEFCSS4K KwljYXNlICIkVU5BTUVfTUFDSElORV9BUkNIIiBpbgorCSAgICBlYXJtKikKKwkJb3M9bmV0YnNk ZWxmCisJCTs7CiAJICAgIGFybSp8aTM4NnxtNjhrfG5zMzJrfHNoMyp8c3BhcmN8dmF4KQotCQll dmFsICRzZXRfY2NfZm9yX2J1aWxkCisJCXNldF9jY19mb3JfYnVpbGQKIAkJaWYgZWNobyBfX0VM Rl9fIHwgJENDX0ZPUl9CVUlMRCAtRSAtIDI+L2Rldi9udWxsIFwKIAkJCXwgZ3JlcCAtcSBfX0VM Rl9fCiAJCXRoZW4KQEAgLTE4Miw0MCArMjE2LDY3IEBAIGNhc2UgIiR7VU5BTUVfTUFDSElORX06 JHtVTkFNRV9TWVNURU19OiR7VU5BTUVfUkVMRUFTRX06JHtVTkFNRV9WRVJTSU9OfSIgaW4KIAkJ b3M9bmV0YnNkCiAJCTs7CiAJZXNhYworCSMgRGV0ZXJtaW5lIEFCSSB0YWdzLgorCWNhc2UgIiRV TkFNRV9NQUNISU5FX0FSQ0giIGluCisJICAgIGVhcm0qKQorCQlleHByPSdzL15lYXJtdlswLTld Ly1lYWJpLztzL2ViJC8vJworCQlhYmk9YGVjaG8gIiRVTkFNRV9NQUNISU5FX0FSQ0giIHwgc2Vk IC1lICIkZXhwciJgCisJCTs7CisJZXNhYwogCSMgVGhlIE9TIHJlbGVhc2UKIAkjIERlYmlhbiBH TlUvTmV0QlNEIG1hY2hpbmVzIGhhdmUgYSBkaWZmZXJlbnQgdXNlcmxhbmQsIGFuZAogCSMgdGh1 cywgbmVlZCBhIGRpc3RpbmN0IHRyaXBsZXQuIEhvd2V2ZXIsIHRoZXkgZG8gbm90IG5lZWQKIAkj IGtlcm5lbCB2ZXJzaW9uIGluZm9ybWF0aW9uLCBzbyBpdCBjYW4gYmUgcmVwbGFjZWQgd2l0aCBh CiAJIyBzdWl0YWJsZSB0YWcsIGluIHRoZSBzdHlsZSBvZiBsaW51eC1nbnUuCi0JY2FzZSAiJHtV TkFNRV9WRVJTSU9OfSIgaW4KKwljYXNlICIkVU5BTUVfVkVSU0lPTiIgaW4KIAkgICAgRGViaWFu KikKIAkJcmVsZWFzZT0nLWdudScKIAkJOzsKIAkgICAgKikKLQkJcmVsZWFzZT1gZWNobyAke1VO QU1FX1JFTEVBU0V9fHNlZCAtZSAncy9bLV9dLiovXC4vJ2AKKwkJcmVsZWFzZT1gZWNobyAiJFVO QU1FX1JFTEVBU0UiIHwgc2VkIC1lICdzL1stX10uKi8vJyB8IGN1dCAtZC4gLWYxLDJgCiAJCTs7 CiAJZXNhYwogCSMgU2luY2UgQ1BVX1RZUEUtTUFOVUZBQ1RVUkVSLUtFUk5FTC1PUEVSQVRJTkdf U1lTVEVNOgogCSMgY29udGFpbnMgcmVkdW5kYW50IGluZm9ybWF0aW9uLCB0aGUgc2hvcnRlciBm b3JtOgogCSMgQ1BVX1RZUEUtTUFOVUZBQ1RVUkVSLU9QRVJBVElOR19TWVNURU0gaXMgdXNlZC4K LQllY2hvICIke21hY2hpbmV9LSR7b3N9JHtyZWxlYXNlfSIKKwllY2hvICIkbWFjaGluZS0ke29z fSR7cmVsZWFzZX0ke2FiaS19IgorCWV4aXQgOzsKKyAgICAqOkJpdHJpZzoqOiopCisJVU5BTUVf TUFDSElORV9BUkNIPWBhcmNoIHwgc2VkICdzL0JpdHJpZy4vLydgCisJZWNobyAiJFVOQU1FX01B Q0hJTkVfQVJDSCItdW5rbm93bi1iaXRyaWciJFVOQU1FX1JFTEVBU0UiCiAJZXhpdCA7OwogICAg ICo6T3BlbkJTRDoqOiopCiAJVU5BTUVfTUFDSElORV9BUkNIPWBhcmNoIHwgc2VkICdzL09wZW5C U0QuLy8nYAotCWVjaG8gJHtVTkFNRV9NQUNISU5FX0FSQ0h9LXVua25vd24tb3BlbmJzZCR7VU5B TUVfUkVMRUFTRX0KKwllY2hvICIkVU5BTUVfTUFDSElORV9BUkNIIi11bmtub3duLW9wZW5ic2Qi JFVOQU1FX1JFTEVBU0UiCisJZXhpdCA7OworICAgICo6TGliZXJ0eUJTRDoqOiopCisJVU5BTUVf TUFDSElORV9BUkNIPWBhcmNoIHwgc2VkICdzL14uKkJTRFwuLy8nYAorCWVjaG8gIiRVTkFNRV9N QUNISU5FX0FSQ0giLXVua25vd24tbGliZXJ0eWJzZCIkVU5BTUVfUkVMRUFTRSIKKwlleGl0IDs7 CisgICAgKjpNaWRuaWdodEJTRDoqOiopCisJZWNobyAiJFVOQU1FX01BQ0hJTkUiLXVua25vd24t bWlkbmlnaHRic2QiJFVOQU1FX1JFTEVBU0UiCiAJZXhpdCA7OwogICAgICo6ZWtrb0JTRDoqOiop Ci0JZWNobyAke1VOQU1FX01BQ0hJTkV9LXVua25vd24tZWtrb2JzZCR7VU5BTUVfUkVMRUFTRX0K KwllY2hvICIkVU5BTUVfTUFDSElORSItdW5rbm93bi1la2tvYnNkIiRVTkFNRV9SRUxFQVNFIgog CWV4aXQgOzsKICAgICAqOlNvbGlkQlNEOio6KikKLQllY2hvICR7VU5BTUVfTUFDSElORX0tdW5r bm93bi1zb2xpZGJzZCR7VU5BTUVfUkVMRUFTRX0KKwllY2hvICIkVU5BTUVfTUFDSElORSItdW5r bm93bi1zb2xpZGJzZCIkVU5BTUVfUkVMRUFTRSIKIAlleGl0IDs7CiAgICAgbWFjcHBjOk1pckJT RDoqOiopCi0JZWNobyBwb3dlcnBjLXVua25vd24tbWlyYnNkJHtVTkFNRV9SRUxFQVNFfQorCWVj aG8gcG93ZXJwYy11bmtub3duLW1pcmJzZCIkVU5BTUVfUkVMRUFTRSIKIAlleGl0IDs7CiAgICAg KjpNaXJCU0Q6KjoqKQotCWVjaG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3duLW1pcmJzZCR7VU5B TUVfUkVMRUFTRX0KKwllY2hvICIkVU5BTUVfTUFDSElORSItdW5rbm93bi1taXJic2QiJFVOQU1F X1JFTEVBU0UiCiAJZXhpdCA7OworICAgICo6U29ydGl4Oio6KikKKwllY2hvICIkVU5BTUVfTUFD SElORSItdW5rbm93bi1zb3J0aXgKKwlleGl0IDs7CisgICAgKjpSZWRveDoqOiopCisJZWNobyAi JFVOQU1FX01BQ0hJTkUiLXVua25vd24tcmVkb3gKKwlleGl0IDs7CisgICAgbWlwczpPU0YxOiou KikKKyAgICAgICAgZWNobyBtaXBzLWRlYy1vc2YxCisgICAgICAgIGV4aXQgOzsKICAgICBhbHBo YTpPU0YxOio6KikKIAljYXNlICRVTkFNRV9SRUxFQVNFIGluCiAJKjQuMCkKQEAgLTIzMiw2MyAr MjkzLDU0IEBAIGNhc2UgIiR7VU5BTUVfTUFDSElORX06JHtVTkFNRV9TWVNURU19OiR7VU5BTUVf UkVMRUFTRX06JHtVTkFNRV9WRVJTSU9OfSIgaW4KIAlBTFBIQV9DUFVfVFlQRT1gL3Vzci9zYmlu L3BzcmluZm8gLXYgfCBzZWQgLW4gLWUgJ3MvXiAgVGhlIGFscGhhIFwoLipcKSBwcm9jZXNzb3Iu KiQvXDEvcCcgfCBoZWFkIC1uIDFgCiAJY2FzZSAiJEFMUEhBX0NQVV9UWVBFIiBpbgogCSAgICAi RVY0ICgyMTA2NCkiKQotCQlVTkFNRV9NQUNISU5FPSJhbHBoYSIgOzsKKwkJVU5BTUVfTUFDSElO RT1hbHBoYSA7OwogCSAgICAiRVY0LjUgKDIxMDY0KSIpCi0JCVVOQU1FX01BQ0hJTkU9ImFscGhh IiA7OworCQlVTkFNRV9NQUNISU5FPWFscGhhIDs7CiAJICAgICJMQ0E0ICgyMTA2Ni8yMTA2OCki KQotCQlVTkFNRV9NQUNISU5FPSJhbHBoYSIgOzsKKwkJVU5BTUVfTUFDSElORT1hbHBoYSA7Owog CSAgICAiRVY1ICgyMTE2NCkiKQotCQlVTkFNRV9NQUNISU5FPSJhbHBoYWV2NSIgOzsKKwkJVU5B TUVfTUFDSElORT1hbHBoYWV2NSA7OwogCSAgICAiRVY1LjYgKDIxMTY0QSkiKQotCQlVTkFNRV9N QUNISU5FPSJhbHBoYWV2NTYiIDs7CisJCVVOQU1FX01BQ0hJTkU9YWxwaGFldjU2IDs7CiAJICAg ICJFVjUuNiAoMjExNjRQQykiKQotCQlVTkFNRV9NQUNISU5FPSJhbHBoYXBjYTU2IiA7OworCQlV TkFNRV9NQUNISU5FPWFscGhhcGNhNTYgOzsKIAkgICAgIkVWNS43ICgyMTE2NFBDKSIpCi0JCVVO QU1FX01BQ0hJTkU9ImFscGhhcGNhNTciIDs7CisJCVVOQU1FX01BQ0hJTkU9YWxwaGFwY2E1NyA7 OwogCSAgICAiRVY2ICgyMTI2NCkiKQotCQlVTkFNRV9NQUNISU5FPSJhbHBoYWV2NiIgOzsKKwkJ VU5BTUVfTUFDSElORT1hbHBoYWV2NiA7OwogCSAgICAiRVY2LjcgKDIxMjY0QSkiKQotCQlVTkFN RV9NQUNISU5FPSJhbHBoYWV2NjciIDs7CisJCVVOQU1FX01BQ0hJTkU9YWxwaGFldjY3IDs7CiAJ ICAgICJFVjYuOENCICgyMTI2NEMpIikKLQkJVU5BTUVfTUFDSElORT0iYWxwaGFldjY4IiA7Owor CQlVTkFNRV9NQUNISU5FPWFscGhhZXY2OCA7OwogCSAgICAiRVY2LjhBTCAoMjEyNjRCKSIpCi0J CVVOQU1FX01BQ0hJTkU9ImFscGhhZXY2OCIgOzsKKwkJVU5BTUVfTUFDSElORT1hbHBoYWV2Njgg OzsKIAkgICAgIkVWNi44Q1ggKDIxMjY0RCkiKQotCQlVTkFNRV9NQUNISU5FPSJhbHBoYWV2Njgi IDs7CisJCVVOQU1FX01BQ0hJTkU9YWxwaGFldjY4IDs7CiAJICAgICJFVjYuOUEgKDIxMjY0L0VW NjlBKSIpCi0JCVVOQU1FX01BQ0hJTkU9ImFscGhhZXY2OSIgOzsKKwkJVU5BTUVfTUFDSElORT1h bHBoYWV2NjkgOzsKIAkgICAgIkVWNyAoMjEzNjQpIikKLQkJVU5BTUVfTUFDSElORT0iYWxwaGFl djciIDs7CisJCVVOQU1FX01BQ0hJTkU9YWxwaGFldjcgOzsKIAkgICAgIkVWNy45ICgyMTM2NEEp IikKLQkJVU5BTUVfTUFDSElORT0iYWxwaGFldjc5IiA7OworCQlVTkFNRV9NQUNISU5FPWFscGhh ZXY3OSA7OwogCWVzYWMKIAkjIEEgUG4ubiB2ZXJzaW9uIGlzIGEgcGF0Y2hlZCB2ZXJzaW9uLgog CSMgQSBWbi5uIHZlcnNpb24gaXMgYSByZWxlYXNlZCB2ZXJzaW9uLgogCSMgQSBUbi5uIHZlcnNp b24gaXMgYSByZWxlYXNlZCBmaWVsZCB0ZXN0IHZlcnNpb24uCiAJIyBBIFhuLm4gdmVyc2lvbiBp cyBhbiB1bnJlbGVhc2VkIGV4cGVyaW1lbnRhbCBiYXNlbGV2ZWwuCiAJIyAxLjIgdXNlcyAiMS4y IiBmb3IgdW5hbWUgLXIuCi0JZWNobyAke1VOQU1FX01BQ0hJTkV9LWRlYy1vc2ZgZWNobyAke1VO QU1FX1JFTEVBU0V9IHwgc2VkIC1lICdzL15bUFZUWF0vLycgfCB0ciAnQUJDREVGR0hJSktMTU5P UFFSU1RVVldYWVonICdhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eidgCisJZWNobyAiJFVOQU1F X01BQ0hJTkUiLWRlYy1vc2YiYGVjaG8gIiRVTkFNRV9SRUxFQVNFIiB8IHNlZCAtZSAncy9eW1BW VFhdLy8nIHwgdHIgQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVogYWJjZGVmZ2hpamtsbW5vcHFy c3R1dnd4eXpgIgogCSMgUmVzZXQgRVhJVCB0cmFwIGJlZm9yZSBleGl0aW5nIHRvIGF2b2lkIHNw dXJpb3VzIG5vbi16ZXJvIGV4aXQgY29kZS4KIAlleGl0Y29kZT0kPwogCXRyYXAgJycgMAogCWV4 aXQgJGV4aXRjb2RlIDs7Ci0gICAgQWxwaGFcICo6V2luZG93c19OVCo6KikKLQkjIEhvdyBkbyB3 ZSBrbm93IGl0J3MgSW50ZXJpeCByYXRoZXIgdGhhbiB0aGUgZ2VuZXJpYyBQT1NJWCBzdWJzeXN0 ZW0/Ci0JIyBTaG91bGQgd2UgY2hhbmdlIFVOQU1FX01BQ0hJTkUgYmFzZWQgb24gdGhlIG91dHB1 dCBvZiB1bmFtZSBpbnN0ZWFkCi0JIyBvZiB0aGUgc3BlY2lmaWMgQWxwaGEgbW9kZWw/Ci0JZWNo byBhbHBoYS1wYy1pbnRlcml4Ci0JZXhpdCA7OwotICAgIDIxMDY0OldpbmRvd3NfTlQ6NTA6MykK LQllY2hvIGFscGhhLWRlYy13aW5udDMuNQotCWV4aXQgOzsKICAgICBBbWlnYSo6VU5JWF9TeXN0 ZW1fVjo0LjA6KikKIAllY2hvIG02OGstdW5rbm93bi1zeXN2NAogCWV4aXQgOzsKICAgICAqOltB YV1taWdhW09vXVtTc106KjoqKQotCWVjaG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3duLWFtaWdh b3MKKwllY2hvICIkVU5BTUVfTUFDSElORSItdW5rbm93bi1hbWlnYW9zCiAJZXhpdCA7OwogICAg ICo6W01tXW9ycGhbT29dW1NzXToqOiopCi0JZWNobyAke1VOQU1FX01BQ0hJTkV9LXVua25vd24t bW9ycGhvcworCWVjaG8gIiRVTkFNRV9NQUNISU5FIi11bmtub3duLW1vcnBob3MKIAlleGl0IDs7 CiAgICAgKjpPUy8zOTA6KjoqKQogCWVjaG8gaTM3MC1pYm0tb3BlbmVkaXRpb24KQEAgLTMwMCw5 ICszNTIsOSBAQCBjYXNlICIke1VOQU1FX01BQ0hJTkV9OiR7VU5BTUVfU1lTVEVNfToke1VOQU1F X1JFTEVBU0V9OiR7VU5BTUVfVkVSU0lPTn0iIGluCiAJZWNobyBwb3dlcnBjLWlibS1vczQwMAog CWV4aXQgOzsKICAgICBhcm06UklTQyo6MS5bMDEyXSo6Knxhcm06cmlzY2l4OjEuWzAxMl0qOiop Ci0JZWNobyBhcm0tYWNvcm4tcmlzY2l4JHtVTkFNRV9SRUxFQVNFfQorCWVjaG8gYXJtLWFjb3Ju LXJpc2NpeCIkVU5BTUVfUkVMRUFTRSIKIAlleGl0IDs7Ci0gICAgYXJtOnJpc2NvczoqOip8YXJt OlJJU0NPUzoqOiopCisgICAgYXJtKjpyaXNjb3M6KjoqfGFybSo6UklTQ09TOio6KikKIAllY2hv IGFybS11bmtub3duLXJpc2NvcwogCWV4aXQgOzsKICAgICBTUjI/MDE6SEktVVgvTVBQOio6KiB8 IFNSODAwMDpISS1VWC9NUFA6KjoqKQpAQCAtMzI3LDM4ICszNzksMzggQEAgY2FzZSAiJHtVTkFN RV9NQUNISU5FfToke1VOQU1FX1NZU1RFTX06JHtVTkFNRV9SRUxFQVNFfToke1VOQU1FX1ZFUlNJ T059IiBpbgogCSAgICBzcGFyYykgZWNobyBzcGFyYy1pY2wtbng3OyBleGl0IDs7CiAJZXNhYyA7 OwogICAgIHMzOTB4OlN1bk9TOio6KikKLQllY2hvICR7VU5BTUVfTUFDSElORX0taWJtLXNvbGFy aXMyYGVjaG8gJHtVTkFNRV9SRUxFQVNFfXxzZWQgLWUgJ3MvW14uXSovLydgCisJZWNobyAiJFVO QU1FX01BQ0hJTkUiLWlibS1zb2xhcmlzMiJgZWNobyAiJFVOQU1FX1JFTEVBU0UiIHwgc2VkIC1l ICdzL1teLl0qLy8nYCIKIAlleGl0IDs7CiAgICAgc3VuNEg6U3VuT1M6NS4qOiopCi0JZWNobyBz cGFyYy1oYWwtc29sYXJpczJgZWNobyAke1VOQU1FX1JFTEVBU0V9fHNlZCAtZSAncy9bXi5dKi8v J2AKKwllY2hvIHNwYXJjLWhhbC1zb2xhcmlzMiJgZWNobyAiJFVOQU1FX1JFTEVBU0UifHNlZCAt ZSAncy9bXi5dKi8vJ2AiCiAJZXhpdCA7OwogICAgIHN1bjQqOlN1bk9TOjUuKjoqIHwgdGFkcG9s ZSo6U3VuT1M6NS4qOiopCi0JZWNobyBzcGFyYy1zdW4tc29sYXJpczJgZWNobyAke1VOQU1FX1JF TEVBU0V9fHNlZCAtZSAncy9bXi5dKi8vJ2AKKwllY2hvIHNwYXJjLXN1bi1zb2xhcmlzMiJgZWNo byAiJFVOQU1FX1JFTEVBU0UiIHwgc2VkIC1lICdzL1teLl0qLy8nYCIKIAlleGl0IDs7CiAgICAg aTg2cGM6QXVyb3JhVVg6NS4qOiogfCBpODZ4ZW46QXVyb3JhVVg6NS4qOiopCi0JZWNobyBpMzg2 LXBjLWF1cm9yYXV4JHtVTkFNRV9SRUxFQVNFfQorCWVjaG8gaTM4Ni1wYy1hdXJvcmF1eCIkVU5B TUVfUkVMRUFTRSIKIAlleGl0IDs7CiAgICAgaTg2cGM6U3VuT1M6NS4qOiogfCBpODZ4ZW46U3Vu T1M6NS4qOiopCi0JZXZhbCAkc2V0X2NjX2Zvcl9idWlsZAotCVNVTl9BUkNIPSJpMzg2IgorCXNl dF9jY19mb3JfYnVpbGQKKwlTVU5fQVJDSD1pMzg2CiAJIyBJZiB0aGVyZSBpcyBhIGNvbXBpbGVy LCBzZWUgaWYgaXQgaXMgY29uZmlndXJlZCBmb3IgNjQtYml0IG9iamVjdHMuCiAJIyBOb3RlIHRo YXQgdGhlIFN1biBjYyBkb2VzIG5vdCB0dXJuIF9fTFA2NF9fIGludG8gMSBsaWtlIGdjYyBkb2Vz LgogCSMgVGhpcyB0ZXN0IHdvcmtzIGZvciBib3RoIGNvbXBpbGVycy4KLQlpZiBbICIkQ0NfRk9S X0JVSUxEIiAhPSAnbm9fY29tcGlsZXJfZm91bmQnIF07IHRoZW4KKwlpZiBbICIkQ0NfRk9SX0JV SUxEIiAhPSBub19jb21waWxlcl9mb3VuZCBdOyB0aGVuCiAJICAgIGlmIChlY2hvICcjaWZkZWYg X19hbWQ2NCc7IGVjaG8gSVNfNjRCSVRfQVJDSDsgZWNobyAnI2VuZGlmJykgfCBcCi0JCShDQ09Q VFM9ICRDQ19GT1JfQlVJTEQgLUUgLSAyPi9kZXYvbnVsbCkgfCBcCisJCShDQ09QVFM9IiIgJEND X0ZPUl9CVUlMRCAtRSAtIDI+L2Rldi9udWxsKSB8IFwKIAkJZ3JlcCBJU182NEJJVF9BUkNIID4v ZGV2L251bGwKIAkgICAgdGhlbgotCQlTVU5fQVJDSD0ieDg2XzY0IgorCQlTVU5fQVJDSD14ODZf NjQKIAkgICAgZmkKIAlmaQotCWVjaG8gJHtTVU5fQVJDSH0tcGMtc29sYXJpczJgZWNobyAke1VO QU1FX1JFTEVBU0V9fHNlZCAtZSAncy9bXi5dKi8vJ2AKKwllY2hvICIkU1VOX0FSQ0giLXBjLXNv bGFyaXMyImBlY2hvICIkVU5BTUVfUkVMRUFTRSJ8c2VkIC1lICdzL1teLl0qLy8nYCIKIAlleGl0 IDs7CiAgICAgc3VuNCo6U3VuT1M6Nio6KikKIAkjIEFjY29yZGluZyB0byBjb25maWcuc3ViLCB0 aGlzIGlzIHRoZSBwcm9wZXIgd2F5IHRvIGNhbm9uaWNhbGl6ZQogCSMgU3VuT1M2LiAgSGFyZCB0 byBndWVzcyBleGFjdGx5IHdoYXQgU3VuT1M2IHdpbGwgYmUgbGlrZSwgYnV0CiAJIyBpdCdzIGxp a2VseSB0byBiZSBtb3JlIGxpa2UgU29sYXJpcyB0aGFuIFN1bk9TNC4KLQllY2hvIHNwYXJjLXN1 bi1zb2xhcmlzM2BlY2hvICR7VU5BTUVfUkVMRUFTRX18c2VkIC1lICdzL1teLl0qLy8nYAorCWVj aG8gc3BhcmMtc3VuLXNvbGFyaXMzImBlY2hvICIkVU5BTUVfUkVMRUFTRSJ8c2VkIC1lICdzL1te Ll0qLy8nYCIKIAlleGl0IDs7CiAgICAgc3VuNCo6U3VuT1M6KjoqKQogCWNhc2UgImAvdXNyL2Jp bi9hcmNoIC1rYCIgaW4KQEAgLTM2NywyNSArNDE5LDI1IEBAIGNhc2UgIiR7VU5BTUVfTUFDSElO RX06JHtVTkFNRV9TWVNURU19OiR7VU5BTUVfUkVMRUFTRX06JHtVTkFNRV9WRVJTSU9OfSIgaW4K IAkJOzsKIAllc2FjCiAJIyBKYXBhbmVzZSBMYW5ndWFnZSB2ZXJzaW9ucyBoYXZlIGEgdmVyc2lv biBudW1iZXIgbGlrZSBgNC4xLjMtSkwnLgotCWVjaG8gc3BhcmMtc3VuLXN1bm9zYGVjaG8gJHtV TkFNRV9SRUxFQVNFfXxzZWQgLWUgJ3MvLS9fLydgCisJZWNobyBzcGFyYy1zdW4tc3Vub3MiYGVj aG8gIiRVTkFNRV9SRUxFQVNFInxzZWQgLWUgJ3MvLS9fLydgIgogCWV4aXQgOzsKICAgICBzdW4z KjpTdW5PUzoqOiopCi0JZWNobyBtNjhrLXN1bi1zdW5vcyR7VU5BTUVfUkVMRUFTRX0KKwllY2hv IG02OGstc3VuLXN1bm9zIiRVTkFNRV9SRUxFQVNFIgogCWV4aXQgOzsKICAgICBzdW4qOio6NC4y QlNEOiopCiAJVU5BTUVfUkVMRUFTRT1gKHNlZCAxcSAvZXRjL21vdGQgfCBhd2sgJ3twcmludCBz dWJzdHIoJDUsMSwzKX0nKSAyPi9kZXYvbnVsbGAKLQl0ZXN0ICJ4JHtVTkFNRV9SRUxFQVNFfSIg PSAieCIgJiYgVU5BTUVfUkVMRUFTRT0zCisJdGVzdCAieCRVTkFNRV9SRUxFQVNFIiA9IHggJiYg VU5BTUVfUkVMRUFTRT0zCiAJY2FzZSAiYC9iaW4vYXJjaGAiIGluCiAJICAgIHN1bjMpCi0JCWVj aG8gbTY4ay1zdW4tc3Vub3Mke1VOQU1FX1JFTEVBU0V9CisJCWVjaG8gbTY4ay1zdW4tc3Vub3Mi JFVOQU1FX1JFTEVBU0UiCiAJCTs7CiAJICAgIHN1bjQpCi0JCWVjaG8gc3BhcmMtc3VuLXN1bm9z JHtVTkFNRV9SRUxFQVNFfQorCQllY2hvIHNwYXJjLXN1bi1zdW5vcyIkVU5BTUVfUkVMRUFTRSIK IAkJOzsKIAllc2FjCiAJZXhpdCA7OwogICAgIGF1c2hwOlN1bk9TOio6KikKLQllY2hvIHNwYXJj LWF1c3BleC1zdW5vcyR7VU5BTUVfUkVMRUFTRX0KKwllY2hvIHNwYXJjLWF1c3BleC1zdW5vcyIk VU5BTUVfUkVMRUFTRSIKIAlleGl0IDs7CiAgICAgIyBUaGUgc2l0dWF0aW9uIGZvciBNaU5UIGlz IGEgbGl0dGxlIGNvbmZ1c2luZy4gIFRoZSBtYWNoaW5lIG5hbWUKICAgICAjIGNhbiBiZSB2aXJ0 dWFsbHkgZXZlcnl0aGluZyAoZXZlcnl0aGluZyB3aGljaCBpcyBub3QKQEAgLTM5Niw0NCArNDQ4 LDQ0IEBAIGNhc2UgIiR7VU5BTUVfTUFDSElORX06JHtVTkFNRV9TWVNURU19OiR7VU5BTUVfUkVM RUFTRX06JHtVTkFNRV9WRVJTSU9OfSIgaW4KICAgICAjIE1pTlQuICBCdXQgTWlOVCBpcyBkb3du d2FyZCBjb21wYXRpYmxlIHRvIFRPUywgc28gdGhpcyBzaG91bGQKICAgICAjIGJlIG5vIHByb2Js ZW0uCiAgICAgYXRhcmlzdFtlXToqTWlOVDoqOiogfCBhdGFyaXN0W2VdOiptaW50Oio6KiB8IGF0 YXJpc3RbZV06KlRPUzoqOiopCi0JZWNobyBtNjhrLWF0YXJpLW1pbnQke1VOQU1FX1JFTEVBU0V9 CisJZWNobyBtNjhrLWF0YXJpLW1pbnQiJFVOQU1FX1JFTEVBU0UiCiAJZXhpdCA7OwogICAgIGF0 YXJpKjoqTWlOVDoqOiogfCBhdGFyaSo6Km1pbnQ6KjoqIHwgYXRhcmlzdFtlXToqVE9TOio6KikK LQllY2hvIG02OGstYXRhcmktbWludCR7VU5BTUVfUkVMRUFTRX0KKwllY2hvIG02OGstYXRhcmkt bWludCIkVU5BTUVfUkVMRUFTRSIKIAlleGl0IDs7CiAgICAgKmZhbGNvbio6Kk1pTlQ6KjoqIHwg KmZhbGNvbio6Km1pbnQ6KjoqIHwgKmZhbGNvbio6KlRPUzoqOiopCi0JZWNobyBtNjhrLWF0YXJp LW1pbnQke1VOQU1FX1JFTEVBU0V9CisJZWNobyBtNjhrLWF0YXJpLW1pbnQiJFVOQU1FX1JFTEVB U0UiCiAJZXhpdCA7OwogICAgIG1pbGFuKjoqTWlOVDoqOiogfCBtaWxhbio6Km1pbnQ6KjoqIHwg Km1pbGFuKjoqVE9TOio6KikKLQllY2hvIG02OGstbWlsYW4tbWludCR7VU5BTUVfUkVMRUFTRX0K KwllY2hvIG02OGstbWlsYW4tbWludCIkVU5BTUVfUkVMRUFTRSIKIAlleGl0IDs7CiAgICAgaGFk ZXMqOipNaU5UOio6KiB8IGhhZGVzKjoqbWludDoqOiogfCAqaGFkZXMqOipUT1M6KjoqKQotCWVj aG8gbTY4ay1oYWRlcy1taW50JHtVTkFNRV9SRUxFQVNFfQorCWVjaG8gbTY4ay1oYWRlcy1taW50 IiRVTkFNRV9SRUxFQVNFIgogCWV4aXQgOzsKICAgICAqOipNaU5UOio6KiB8ICo6Km1pbnQ6Kjoq IHwgKjoqVE9TOio6KikKLQllY2hvIG02OGstdW5rbm93bi1taW50JHtVTkFNRV9SRUxFQVNFfQor CWVjaG8gbTY4ay11bmtub3duLW1pbnQiJFVOQU1FX1JFTEVBU0UiCiAJZXhpdCA7OwogICAgIG02 OGs6bWFjaHRlbjoqOiopCi0JZWNobyBtNjhrLWFwcGxlLW1hY2h0ZW4ke1VOQU1FX1JFTEVBU0V9 CisJZWNobyBtNjhrLWFwcGxlLW1hY2h0ZW4iJFVOQU1FX1JFTEVBU0UiCiAJZXhpdCA7OwogICAg IHBvd2VycGM6bWFjaHRlbjoqOiopCi0JZWNobyBwb3dlcnBjLWFwcGxlLW1hY2h0ZW4ke1VOQU1F X1JFTEVBU0V9CisJZWNobyBwb3dlcnBjLWFwcGxlLW1hY2h0ZW4iJFVOQU1FX1JFTEVBU0UiCiAJ ZXhpdCA7OwogICAgIFJJU0MqOk1hY2g6KjoqKQogCWVjaG8gbWlwcy1kZWMtbWFjaF9ic2Q0LjMK IAlleGl0IDs7CiAgICAgUklTQyo6VUxUUklYOio6KikKLQllY2hvIG1pcHMtZGVjLXVsdHJpeCR7 VU5BTUVfUkVMRUFTRX0KKwllY2hvIG1pcHMtZGVjLXVsdHJpeCIkVU5BTUVfUkVMRUFTRSIKIAll eGl0IDs7CiAgICAgVkFYKjpVTFRSSVgqOio6KikKLQllY2hvIHZheC1kZWMtdWx0cml4JHtVTkFN RV9SRUxFQVNFfQorCWVjaG8gdmF4LWRlYy11bHRyaXgiJFVOQU1FX1JFTEVBU0UiCiAJZXhpdCA7 OwogICAgIDIwMjA6Q0xJWDoqOiogfCAyNDMwOkNMSVg6KjoqKQotCWVjaG8gY2xpcHBlci1pbnRl cmdyYXBoLWNsaXgke1VOQU1FX1JFTEVBU0V9CisJZWNobyBjbGlwcGVyLWludGVyZ3JhcGgtY2xp eCIkVU5BTUVfUkVMRUFTRSIKIAlleGl0IDs7CiAgICAgbWlwczoqOio6VU1JUFMgfCBtaXBzOio6 KjpSSVNDb3MpCi0JZXZhbCAkc2V0X2NjX2Zvcl9idWlsZAotCXNlZCAncy9eCS8vJyA8PCBFT0Yg PiRkdW1teS5jCisJc2V0X2NjX2Zvcl9idWlsZAorCXNlZCAncy9eCS8vJyA8PCBFT0YgPiAiJGR1 bW15LmMiCiAjaWZkZWYgX19jcGx1c3BsdXMKICNpbmNsdWRlIDxzdGRpby5oPiAgLyogZm9yIHBy aW50ZigpIHByb3RvdHlwZSAqLwogCWludCBtYWluIChpbnQgYXJnYywgY2hhciAqYXJndltdKSB7 CkBAIC00NDIsMjMgKzQ5NCwyMyBAQCBjYXNlICIke1VOQU1FX01BQ0hJTkV9OiR7VU5BTUVfU1lT VEVNfToke1VOQU1FX1JFTEVBU0V9OiR7VU5BTUVfVkVSU0lPTn0iIGluCiAjZW5kaWYKIAkjaWYg ZGVmaW5lZCAoaG9zdF9taXBzKSAmJiBkZWZpbmVkIChNSVBTRUIpCiAJI2lmIGRlZmluZWQgKFNZ U1RZUEVfU1lTVikKLQkgIHByaW50ZiAoIm1pcHMtbWlwcy1yaXNjb3Mlc3N5c3ZcbiIsIGFyZ3Zb MV0pOyBleGl0ICgwKTsKKwkgIHByaW50ZiAoIm1pcHMtbWlwcy1yaXNjb3Mlc3N5c3ZcXG4iLCBh cmd2WzFdKTsgZXhpdCAoMCk7CiAJI2VuZGlmCiAJI2lmIGRlZmluZWQgKFNZU1RZUEVfU1ZSNCkK LQkgIHByaW50ZiAoIm1pcHMtbWlwcy1yaXNjb3Mlc3N2cjRcbiIsIGFyZ3ZbMV0pOyBleGl0ICgw KTsKKwkgIHByaW50ZiAoIm1pcHMtbWlwcy1yaXNjb3Mlc3N2cjRcXG4iLCBhcmd2WzFdKTsgZXhp dCAoMCk7CiAJI2VuZGlmCiAJI2lmIGRlZmluZWQgKFNZU1RZUEVfQlNENDMpIHx8IGRlZmluZWQo U1lTVFlQRV9CU0QpCi0JICBwcmludGYgKCJtaXBzLW1pcHMtcmlzY29zJXNic2RcbiIsIGFyZ3Zb MV0pOyBleGl0ICgwKTsKKwkgIHByaW50ZiAoIm1pcHMtbWlwcy1yaXNjb3Mlc2JzZFxcbiIsIGFy Z3ZbMV0pOyBleGl0ICgwKTsKIAkjZW5kaWYKIAkjZW5kaWYKIAkgIGV4aXQgKC0xKTsKIAl9CiBF T0YKLQkkQ0NfRk9SX0JVSUxEIC1vICRkdW1teSAkZHVtbXkuYyAmJgotCSAgZHVtbXlhcmc9YGVj aG8gIiR7VU5BTUVfUkVMRUFTRX0iIHwgc2VkIC1uICdzL1woWzAtOV0qXCkuKi9cMS9wJ2AgJiYK LQkgIFNZU1RFTV9OQU1FPWAkZHVtbXkgJGR1bW15YXJnYCAmJgorCSRDQ19GT1JfQlVJTEQgLW8g IiRkdW1teSIgIiRkdW1teS5jIiAmJgorCSAgZHVtbXlhcmc9YGVjaG8gIiRVTkFNRV9SRUxFQVNF IiB8IHNlZCAtbiAncy9cKFswLTldKlwpLiovXDEvcCdgICYmCisJICBTWVNURU1fTkFNRT1gIiRk dW1teSIgIiRkdW1teWFyZyJgICYmCiAJICAgIHsgZWNobyAiJFNZU1RFTV9OQU1FIjsgZXhpdDsg fQotCWVjaG8gbWlwcy1taXBzLXJpc2NvcyR7VU5BTUVfUkVMRUFTRX0KKwllY2hvIG1pcHMtbWlw cy1yaXNjb3MiJFVOQU1FX1JFTEVBU0UiCiAJZXhpdCA7OwogICAgIE1vdG9yb2xhOlBvd2VyTUFY X09TOio6KikKIAllY2hvIHBvd2VycGMtbW90b3JvbGEtcG93ZXJtYXgKQEAgLTQ4NCwxNyArNTM2 LDE3IEBAIEVPRgogICAgIEFWaWlPTjpkZ3V4Oio6KikKIAkjIERHL1VYIHJldHVybnMgQVZpaU9O IGZvciBhbGwgYXJjaGl0ZWN0dXJlcwogCVVOQU1FX1BST0NFU1NPUj1gL3Vzci9iaW4vdW5hbWUg LXBgCi0JaWYgWyAkVU5BTUVfUFJPQ0VTU09SID0gbWM4ODEwMCBdIHx8IFsgJFVOQU1FX1BST0NF U1NPUiA9IG1jODgxMTAgXQorCWlmIFsgIiRVTkFNRV9QUk9DRVNTT1IiID0gbWM4ODEwMCBdIHx8 IFsgIiRVTkFNRV9QUk9DRVNTT1IiID0gbWM4ODExMCBdCiAJdGhlbgotCSAgICBpZiBbICR7VEFS R0VUX0JJTkFSWV9JTlRFUkZBQ0V9eCA9IG04OGtkZ3V4ZWxmeCBdIHx8IFwKLQkgICAgICAgWyAk e1RBUkdFVF9CSU5BUllfSU5URVJGQUNFfXggPSB4IF0KKwkgICAgaWYgWyAiJFRBUkdFVF9CSU5B UllfSU5URVJGQUNFInggPSBtODhrZGd1eGVsZnggXSB8fCBcCisJICAgICAgIFsgIiRUQVJHRVRf QklOQVJZX0lOVEVSRkFDRSJ4ID0geCBdCiAJICAgIHRoZW4KLQkJZWNobyBtODhrLWRnLWRndXgk e1VOQU1FX1JFTEVBU0V9CisJCWVjaG8gbTg4ay1kZy1kZ3V4IiRVTkFNRV9SRUxFQVNFIgogCSAg ICBlbHNlCi0JCWVjaG8gbTg4ay1kZy1kZ3V4YmNzJHtVTkFNRV9SRUxFQVNFfQorCQllY2hvIG04 OGstZGctZGd1eGJjcyIkVU5BTUVfUkVMRUFTRSIKIAkgICAgZmkKIAllbHNlCi0JICAgIGVjaG8g aTU4Ni1kZy1kZ3V4JHtVTkFNRV9SRUxFQVNFfQorCSAgICBlY2hvIGk1ODYtZGctZGd1eCIkVU5B TUVfUkVMRUFTRSIKIAlmaQogCWV4aXQgOzsKICAgICBNODgqOkRvbHBoaW5PUzoqOiopCSMgRG9s cGhpbk9TIChTVlIzKQpAQCAtNTExLDcgKzU2Myw3IEBAIEVPRgogCWVjaG8gbTY4ay10ZWt0cm9u aXgtYnNkCiAJZXhpdCA7OwogICAgICo6SVJJWCo6KjoqKQotCWVjaG8gbWlwcy1zZ2ktaXJpeGBl Y2hvICR7VU5BTUVfUkVMRUFTRX18c2VkIC1lICdzLy0vXy9nJ2AKKwllY2hvIG1pcHMtc2dpLWly aXgiYGVjaG8gIiRVTkFNRV9SRUxFQVNFInxzZWQgLWUgJ3MvLS9fL2cnYCIKIAlleGl0IDs7CiAg ICAgPz8/Pz8/Pz86QUlYPzpbMTJdLjE6MikgICAjIEFJWCAyLjIuMSBvciBBSVggMi4xLjEgaXMg UlQvUEMgQUlYLgogCWVjaG8gcm9tcC1pYm0tYWl4ICAgICAjIHVuYW1lIC1tIGdpdmVzIGFuIDgg aGV4LWNvZGUgQ1BVIGlkCkBAIC01MjMsMTQgKzU3NSwxNCBAQCBFT0YKIAlpZiBbIC14IC91c3Iv YmluL29zbGV2ZWwgXSA7IHRoZW4KIAkJSUJNX1JFVj1gL3Vzci9iaW4vb3NsZXZlbGAKIAllbHNl Ci0JCUlCTV9SRVY9JHtVTkFNRV9WRVJTSU9OfS4ke1VOQU1FX1JFTEVBU0V9CisJCUlCTV9SRVY9 IiRVTkFNRV9WRVJTSU9OLiRVTkFNRV9SRUxFQVNFIgogCWZpCi0JZWNobyAke1VOQU1FX01BQ0hJ TkV9LWlibS1haXgke0lCTV9SRVZ9CisJZWNobyAiJFVOQU1FX01BQ0hJTkUiLWlibS1haXgiJElC TV9SRVYiCiAJZXhpdCA7OwogICAgICo6QUlYOjI6MykKIAlpZiBncmVwIGJvczMyNSAvdXNyL2lu Y2x1ZGUvc3RkaW8uaCA+L2Rldi9udWxsIDI+JjE7IHRoZW4KLQkJZXZhbCAkc2V0X2NjX2Zvcl9i dWlsZAotCQlzZWQgJ3MvXgkJLy8nIDw8IEVPRiA+JGR1bW15LmMKKwkJc2V0X2NjX2Zvcl9idWls ZAorCQlzZWQgJ3MvXgkJLy8nIDw8IEVPRiA+ICIkZHVtbXkuYyIKIAkJI2luY2x1ZGUgPHN5cy9z eXN0ZW1jZmcuaD4KIAogCQltYWluKCkKQEAgLTU0MSw3ICs1OTMsNyBAQCBFT0YKIAkJCWV4aXQo MCk7CiAJCQl9CiBFT0YKLQkJaWYgJENDX0ZPUl9CVUlMRCAtbyAkZHVtbXkgJGR1bW15LmMgJiYg U1lTVEVNX05BTUU9YCRkdW1teWAKKwkJaWYgJENDX0ZPUl9CVUlMRCAtbyAiJGR1bW15IiAiJGR1 bW15LmMiICYmIFNZU1RFTV9OQU1FPWAiJGR1bW15ImAKIAkJdGhlbgogCQkJZWNobyAiJFNZU1RF TV9OQU1FIgogCQllbHNlCkBAIC01NTUsMjYgKzYwNywyNyBAQCBFT0YKIAlleGl0IDs7CiAgICAg KjpBSVg6KjpbNDU2N10pCiAJSUJNX0NQVV9JRD1gL3Vzci9zYmluL2xzZGV2IC1DIC1jIHByb2Nl c3NvciAtUyBhdmFpbGFibGUgfCBzZWQgMXEgfCBhd2sgJ3sgcHJpbnQgJDEgfSdgCi0JaWYgL3Vz ci9zYmluL2xzYXR0ciAtRWwgJHtJQk1fQ1BVX0lEfSB8IGdyZXAgJyBQT1dFUicgPi9kZXYvbnVs bCAyPiYxOyB0aGVuCisJaWYgL3Vzci9zYmluL2xzYXR0ciAtRWwgIiRJQk1fQ1BVX0lEIiB8IGdy ZXAgJyBQT1dFUicgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCiAJCUlCTV9BUkNIPXJzNjAwMAogCWVs c2UKIAkJSUJNX0FSQ0g9cG93ZXJwYwogCWZpCi0JaWYgWyAteCAvdXNyL2Jpbi9vc2xldmVsIF0g OyB0aGVuCi0JCUlCTV9SRVY9YC91c3IvYmluL29zbGV2ZWxgCisJaWYgWyAteCAvdXNyL2Jpbi9s c2xwcCBdIDsgdGhlbgorCQlJQk1fUkVWPWAvdXNyL2Jpbi9sc2xwcCAtTHFjIGJvcy5ydGUubGli YyB8CisJCQkgICBhd2sgLUY6ICd7IHByaW50ICQzIH0nIHwgc2VkIHMvWzAtOV0qJC8wL2AKIAll bHNlCi0JCUlCTV9SRVY9JHtVTkFNRV9WRVJTSU9OfS4ke1VOQU1FX1JFTEVBU0V9CisJCUlCTV9S RVY9IiRVTkFNRV9WRVJTSU9OLiRVTkFNRV9SRUxFQVNFIgogCWZpCi0JZWNobyAke0lCTV9BUkNI fS1pYm0tYWl4JHtJQk1fUkVWfQorCWVjaG8gIiRJQk1fQVJDSCItaWJtLWFpeCIkSUJNX1JFViIK IAlleGl0IDs7CiAgICAgKjpBSVg6KjoqKQogCWVjaG8gcnM2MDAwLWlibS1haXgKIAlleGl0IDs7 Ci0gICAgaWJtcnQ6NC40QlNEOip8cm9tcC1pYm06QlNEOiopCisgICAgaWJtcnQ6NC40QlNEOip8 cm9tcC1pYm06NC40QlNEOiopCiAJZWNobyByb21wLWlibS1ic2Q0LjQKIAlleGl0IDs7CiAgICAg aWJtcnQ6KkJTRDoqfHJvbXAtaWJtOkJTRDoqKSAgICAgICAgICAgICMgY292ZXJzIFJUL1BDIEJT RCBhbmQKLQllY2hvIHJvbXAtaWJtLWJzZCR7VU5BTUVfUkVMRUFTRX0gICAjIDQuMyB3aXRoIHVu YW1lIGFkZGVkIHRvCisJZWNobyByb21wLWlibS1ic2QiJFVOQU1FX1JFTEVBU0UiICAgIyA0LjMg d2l0aCB1bmFtZSBhZGRlZCB0bwogCWV4aXQgOzsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICMgcmVwb3J0OiByb21wLWlibSBCU0QgNC4zCiAgICAgKjpCT1NYOio6KikKIAllY2hvIHJzNjAw MC1idWxsLWJvc3gKQEAgLTU4OSwyOCArNjQyLDI4IEBAIEVPRgogCWVjaG8gbTY4ay1ocC1ic2Q0 LjQKIAlleGl0IDs7CiAgICAgOTAwMC9bMzQ2NzhdPz86SFAtVVg6KjoqKQotCUhQVVhfUkVWPWBl Y2hvICR7VU5BTUVfUkVMRUFTRX18c2VkIC1lICdzL1teLl0qLlswQl0qLy8nYAotCWNhc2UgIiR7 VU5BTUVfTUFDSElORX0iIGluCi0JICAgIDkwMDAvMzE/ICkgICAgICAgICAgICBIUF9BUkNIPW02 ODAwMCA7OwotCSAgICA5MDAwL1szNF0/PyApICAgICAgICAgSFBfQVJDSD1tNjhrIDs7CisJSFBV WF9SRVY9YGVjaG8gIiRVTkFNRV9SRUxFQVNFInxzZWQgLWUgJ3MvW14uXSouWzBCXSovLydgCisJ Y2FzZSAiJFVOQU1FX01BQ0hJTkUiIGluCisJICAgIDkwMDAvMzE/KSAgICAgICAgICAgIEhQX0FS Q0g9bTY4MDAwIDs7CisJICAgIDkwMDAvWzM0XT8/KSAgICAgICAgIEhQX0FSQ0g9bTY4ayA7Owog CSAgICA5MDAwL1s2NzhdWzAtOV1bMC05XSkKIAkJaWYgWyAteCAvdXNyL2Jpbi9nZXRjb25mIF07 IHRoZW4KIAkJICAgIHNjX2NwdV92ZXJzaW9uPWAvdXNyL2Jpbi9nZXRjb25mIFNDX0NQVV9WRVJT SU9OIDI+L2Rldi9udWxsYAogCQkgICAgc2Nfa2VybmVsX2JpdHM9YC91c3IvYmluL2dldGNvbmYg U0NfS0VSTkVMX0JJVFMgMj4vZGV2L251bGxgCi0JCSAgICBjYXNlICIke3NjX2NwdV92ZXJzaW9u fSIgaW4KLQkJICAgICAgNTIzKSBIUF9BUkNIPSJocHBhMS4wIiA7OyAjIENQVV9QQV9SSVNDMV8w Ci0JCSAgICAgIDUyOCkgSFBfQVJDSD0iaHBwYTEuMSIgOzsgIyBDUFVfUEFfUklTQzFfMQorCQkg ICAgY2FzZSAiJHNjX2NwdV92ZXJzaW9uIiBpbgorCQkgICAgICA1MjMpIEhQX0FSQ0g9aHBwYTEu MCA7OyAjIENQVV9QQV9SSVNDMV8wCisJCSAgICAgIDUyOCkgSFBfQVJDSD1ocHBhMS4xIDs7ICMg Q1BVX1BBX1JJU0MxXzEKIAkJICAgICAgNTMyKSAgICAgICAgICAgICAgICAgICAgICAjIENQVV9Q QV9SSVNDMl8wCi0JCQljYXNlICIke3NjX2tlcm5lbF9iaXRzfSIgaW4KLQkJCSAgMzIpIEhQX0FS Q0g9ImhwcGEyLjBuIiA7OwotCQkJICA2NCkgSFBfQVJDSD0iaHBwYTIuMHciIDs7Ci0JCQkgICcn KSBIUF9BUkNIPSJocHBhMi4wIiA7OyAgICMgSFAtVVggMTAuMjAKKwkJCWNhc2UgIiRzY19rZXJu ZWxfYml0cyIgaW4KKwkJCSAgMzIpIEhQX0FSQ0g9aHBwYTIuMG4gOzsKKwkJCSAgNjQpIEhQX0FS Q0g9aHBwYTIuMHcgOzsKKwkJCSAgJycpIEhQX0FSQ0g9aHBwYTIuMCA7OyAgICMgSFAtVVggMTAu MjAKIAkJCWVzYWMgOzsKIAkJICAgIGVzYWMKIAkJZmkKLQkJaWYgWyAiJHtIUF9BUkNIfSIgPSAi IiBdOyB0aGVuCi0JCSAgICBldmFsICRzZXRfY2NfZm9yX2J1aWxkCi0JCSAgICBzZWQgJ3MvXgkJ Ly8nIDw8IEVPRiA+JGR1bW15LmMKKwkJaWYgWyAiJEhQX0FSQ0giID0gIiIgXTsgdGhlbgorCQkg ICAgc2V0X2NjX2Zvcl9idWlsZAorCQkgICAgc2VkICdzL14JCS8vJyA8PCBFT0YgPiAiJGR1bW15 LmMiCiAKIAkJI2RlZmluZSBfSFBVWF9TT1VSQ0UKIAkJI2luY2x1ZGUgPHN0ZGxpYi5oPgpAQCAt NjQzLDEzICs2OTYsMTMgQEAgRU9GCiAJCSAgICBleGl0ICgwKTsKIAkJfQogRU9GCi0JCSAgICAo Q0NPUFRTPSAkQ0NfRk9SX0JVSUxEIC1vICRkdW1teSAkZHVtbXkuYyAyPi9kZXYvbnVsbCkgJiYg SFBfQVJDSD1gJGR1bW15YAorCQkgICAgKENDT1BUUz0iIiAkQ0NfRk9SX0JVSUxEIC1vICIkZHVt bXkiICIkZHVtbXkuYyIgMj4vZGV2L251bGwpICYmIEhQX0FSQ0g9YCIkZHVtbXkiYAogCQkgICAg dGVzdCAteiAiJEhQX0FSQ0giICYmIEhQX0FSQ0g9aHBwYQogCQlmaSA7OwogCWVzYWMKLQlpZiBb ICR7SFBfQVJDSH0gPSAiaHBwYTIuMHciIF0KKwlpZiBbICIkSFBfQVJDSCIgPSBocHBhMi4wdyBd CiAJdGhlbgotCSAgICBldmFsICRzZXRfY2NfZm9yX2J1aWxkCisJICAgIHNldF9jY19mb3JfYnVp bGQKIAogCSAgICAjIGhwcGEyLjB3LWhwLWhwdXgqIGhhcyBhIDY0LWJpdCBrZXJuZWwgYW5kIGEg Y29tcGlsZXIgZ2VuZXJhdGluZwogCSAgICAjIDMyLWJpdCBjb2RlLiAgaHBwYTY0LWhwLWhwdXgq IGhhcyB0aGUgc2FtZSBrZXJuZWwgYW5kIGEgY29tcGlsZXIKQEAgLTY2MCwyMyArNzEzLDIzIEBA IEVPRgogCSAgICAjICQgQ0NfRk9SX0JVSUxEPSJjYyArREEyLjB3IiAuL2NvbmZpZy5ndWVzcwog CSAgICAjID0+IGhwcGE2NC1ocC1ocHV4MTEuMjMKIAotCSAgICBpZiBlY2hvIF9fTFA2NF9fIHwg KENDT1BUUz0gJENDX0ZPUl9CVUlMRCAtRSAtIDI+L2Rldi9udWxsKSB8CisJICAgIGlmIGVjaG8g X19MUDY0X18gfCAoQ0NPUFRTPSIiICRDQ19GT1JfQlVJTEQgLUUgLSAyPi9kZXYvbnVsbCkgfAog CQlncmVwIC1xIF9fTFA2NF9fCiAJICAgIHRoZW4KLQkJSFBfQVJDSD0iaHBwYTIuMHciCisJCUhQ X0FSQ0g9aHBwYTIuMHcKIAkgICAgZWxzZQotCQlIUF9BUkNIPSJocHBhNjQiCisJCUhQX0FSQ0g9 aHBwYTY0CiAJICAgIGZpCiAJZmkKLQllY2hvICR7SFBfQVJDSH0taHAtaHB1eCR7SFBVWF9SRVZ9 CisJZWNobyAiJEhQX0FSQ0giLWhwLWhwdXgiJEhQVVhfUkVWIgogCWV4aXQgOzsKICAgICBpYTY0 OkhQLVVYOio6KikKLQlIUFVYX1JFVj1gZWNobyAke1VOQU1FX1JFTEVBU0V9fHNlZCAtZSAncy9b Xi5dKi5bMEJdKi8vJ2AKLQllY2hvIGlhNjQtaHAtaHB1eCR7SFBVWF9SRVZ9CisJSFBVWF9SRVY9 YGVjaG8gIiRVTkFNRV9SRUxFQVNFInxzZWQgLWUgJ3MvW14uXSouWzBCXSovLydgCisJZWNobyBp YTY0LWhwLWhwdXgiJEhQVVhfUkVWIgogCWV4aXQgOzsKICAgICAzMDUwKjpISS1VWDoqOiopCi0J ZXZhbCAkc2V0X2NjX2Zvcl9idWlsZAotCXNlZCAncy9eCS8vJyA8PCBFT0YgPiRkdW1teS5jCisJ c2V0X2NjX2Zvcl9idWlsZAorCXNlZCAncy9eCS8vJyA8PCBFT0YgPiAiJGR1bW15LmMiCiAJI2lu Y2x1ZGUgPHVuaXN0ZC5oPgogCWludAogCW1haW4gKCkKQEAgLTcwMSwxMSArNzU0LDExIEBAIEVP RgogCSAgZXhpdCAoMCk7CiAJfQogRU9GCi0JJENDX0ZPUl9CVUlMRCAtbyAkZHVtbXkgJGR1bW15 LmMgJiYgU1lTVEVNX05BTUU9YCRkdW1teWAgJiYKKwkkQ0NfRk9SX0JVSUxEIC1vICIkZHVtbXki ICIkZHVtbXkuYyIgJiYgU1lTVEVNX05BTUU9YCIkZHVtbXkiYCAmJgogCQl7IGVjaG8gIiRTWVNU RU1fTkFNRSI7IGV4aXQ7IH0KIAllY2hvIHVua25vd24taGl0YWNoaS1oaXV4d2UyCiAJZXhpdCA7 OwotICAgIDkwMDAvNz8/OjQuM2JzZDoqOiogfCA5MDAwLzg/Wzc5XTo0LjNic2Q6KjoqICkKKyAg ICA5MDAwLzc/Pzo0LjNic2Q6KjoqIHwgOTAwMC84P1s3OV06NC4zYnNkOio6KikKIAllY2hvIGhw cGExLjEtaHAtYnNkCiAJZXhpdCA7OwogICAgIDkwMDAvOD8/OjQuM2JzZDoqOiopCkBAIC03MTQs NyArNzY3LDcgQEAgRU9GCiAgICAgKjk/Pyo6TVBFL2lYOio6KiB8ICozMDAwKjpNUEUvaVg6Kjoq KQogCWVjaG8gaHBwYTEuMC1ocC1tcGVpeAogCWV4aXQgOzsKLSAgICBocDc/PzpPU0YxOio6KiB8 IGhwOD9bNzldOk9TRjE6KjoqICkKKyAgICBocDc/PzpPU0YxOio6KiB8IGhwOD9bNzldOk9TRjE6 KjoqKQogCWVjaG8gaHBwYTEuMS1ocC1vc2YKIAlleGl0IDs7CiAgICAgaHA4Pz86T1NGMToqOiop CkBAIC03MjIsOSArNzc1LDkgQEAgRU9GCiAJZXhpdCA7OwogICAgIGkqODY6T1NGMToqOiopCiAJ aWYgWyAteCAvdXNyL3NiaW4vc3lzdmVyc2lvbiBdIDsgdGhlbgotCSAgICBlY2hvICR7VU5BTUVf TUFDSElORX0tdW5rbm93bi1vc2YxbWsKKwkgICAgZWNobyAiJFVOQU1FX01BQ0hJTkUiLXVua25v d24tb3NmMW1rCiAJZWxzZQotCSAgICBlY2hvICR7VU5BTUVfTUFDSElORX0tdW5rbm93bi1vc2Yx CisJICAgIGVjaG8gIiRVTkFNRV9NQUNISU5FIi11bmtub3duLW9zZjEKIAlmaQogCWV4aXQgOzsK ICAgICBwYXJpc2MqOkxpdGVzKjoqOiopCkBAIC03NDksMTI0ICs4MDIsMTIwIEBAIEVPRgogCWVj aG8gYzQtY29udmV4LWJzZAogCWV4aXQgOzsKICAgICBDUkFZKlktTVA6KjoqOiopCi0JZWNobyB5 bXAtY3JheS11bmljb3Mke1VOQU1FX1JFTEVBU0V9IHwgc2VkIC1lICdzL1wuW14uXSokLy5YLycK KwllY2hvIHltcC1jcmF5LXVuaWNvcyIkVU5BTUVfUkVMRUFTRSIgfCBzZWQgLWUgJ3MvXC5bXi5d KiQvLlgvJwogCWV4aXQgOzsKICAgICBDUkFZKltBLVpdOTA6KjoqOiopCi0JZWNobyAke1VOQU1F X01BQ0hJTkV9LWNyYXktdW5pY29zJHtVTkFNRV9SRUxFQVNFfSBcCisJZWNobyAiJFVOQU1FX01B Q0hJTkUiLWNyYXktdW5pY29zIiRVTkFNRV9SRUxFQVNFIiBcCiAJfCBzZWQgLWUgJ3MvQ1JBWS4q XChbQS1aXTkwXCkvXDEvJyBcCiAJICAgICAgLWUgeS9BQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZ Wi9hYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ei8gXAogCSAgICAgIC1lICdzL1wuW14uXSokLy5Y LycKIAlleGl0IDs7CiAgICAgQ1JBWSpUUzoqOio6KikKLQllY2hvIHQ5MC1jcmF5LXVuaWNvcyR7 VU5BTUVfUkVMRUFTRX0gfCBzZWQgLWUgJ3MvXC5bXi5dKiQvLlgvJworCWVjaG8gdDkwLWNyYXkt dW5pY29zIiRVTkFNRV9SRUxFQVNFIiB8IHNlZCAtZSAncy9cLlteLl0qJC8uWC8nCiAJZXhpdCA7 OwogICAgIENSQVkqVDNFOio6KjoqKQotCWVjaG8gYWxwaGFldjUtY3JheS11bmljb3NtayR7VU5B TUVfUkVMRUFTRX0gfCBzZWQgLWUgJ3MvXC5bXi5dKiQvLlgvJworCWVjaG8gYWxwaGFldjUtY3Jh eS11bmljb3NtayIkVU5BTUVfUkVMRUFTRSIgfCBzZWQgLWUgJ3MvXC5bXi5dKiQvLlgvJwogCWV4 aXQgOzsKICAgICBDUkFZKlNWMToqOio6KikKLQllY2hvIHN2MS1jcmF5LXVuaWNvcyR7VU5BTUVf UkVMRUFTRX0gfCBzZWQgLWUgJ3MvXC5bXi5dKiQvLlgvJworCWVjaG8gc3YxLWNyYXktdW5pY29z IiRVTkFNRV9SRUxFQVNFIiB8IHNlZCAtZSAncy9cLlteLl0qJC8uWC8nCiAJZXhpdCA7OwogICAg ICo6VU5JQ09TL21wOio6KikKLQllY2hvIGNyYXludi1jcmF5LXVuaWNvc21wJHtVTkFNRV9SRUxF QVNFfSB8IHNlZCAtZSAncy9cLlteLl0qJC8uWC8nCisJZWNobyBjcmF5bnYtY3JheS11bmljb3Nt cCIkVU5BTUVfUkVMRUFTRSIgfCBzZWQgLWUgJ3MvXC5bXi5dKiQvLlgvJwogCWV4aXQgOzsKICAg ICBGMzBbMDFdOlVOSVhfU3lzdGVtX1Y6KjoqIHwgRjcwMDpVTklYX1N5c3RlbV9WOio6KikKLQlG VUpJVFNVX1BST0M9YHVuYW1lIC1tIHwgdHIgJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaJyAn YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXonYAotCUZVSklUU1VfU1lTPWB1bmFtZSAtcCB8IHRy ICdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWicgJ2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6 JyB8IHNlZCAtZSAncy9cLy8vJ2AKLQlGVUpJVFNVX1JFTD1gZWNobyAke1VOQU1FX1JFTEVBU0V9 IHwgc2VkIC1lICdzLyAvXy8nYAorCUZVSklUU1VfUFJPQz1gdW5hbWUgLW0gfCB0ciBBQkNERUZH SElKS0xNTk9QUVJTVFVWV1hZWiBhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5emAKKwlGVUpJVFNV X1NZUz1gdW5hbWUgLXAgfCB0ciBBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWiBhYmNkZWZnaGlq a2xtbm9wcXJzdHV2d3h5eiB8IHNlZCAtZSAncy9cLy8vJ2AKKwlGVUpJVFNVX1JFTD1gZWNobyAi JFVOQU1FX1JFTEVBU0UiIHwgc2VkIC1lICdzLyAvXy8nYAogCWVjaG8gIiR7RlVKSVRTVV9QUk9D fS1mdWppdHN1LSR7RlVKSVRTVV9TWVN9JHtGVUpJVFNVX1JFTH0iCiAJZXhpdCA7OwogICAgIDUw MDA6VU5JWF9TeXN0ZW1fVjo0Lio6KikKLQlGVUpJVFNVX1NZUz1gdW5hbWUgLXAgfCB0ciAnQUJD REVGR0hJSktMTU5PUFFSU1RVVldYWVonICdhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eicgfCBz ZWQgLWUgJ3MvXC8vLydgCi0JRlVKSVRTVV9SRUw9YGVjaG8gJHtVTkFNRV9SRUxFQVNFfSB8IHRy ICdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWicgJ2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6 JyB8IHNlZCAtZSAncy8gL18vJ2AKKwlGVUpJVFNVX1NZUz1gdW5hbWUgLXAgfCB0ciBBQkNERUZH SElKS0xNTk9QUVJTVFVWV1hZWiBhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiB8IHNlZCAtZSAn cy9cLy8vJ2AKKwlGVUpJVFNVX1JFTD1gZWNobyAiJFVOQU1FX1JFTEVBU0UiIHwgdHIgQUJDREVG R0hJSktMTU5PUFFSU1RVVldYWVogYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXogfCBzZWQgLWUg J3MvIC9fLydgCiAJZWNobyAic3BhcmMtZnVqaXRzdS0ke0ZVSklUU1VfU1lTfSR7RlVKSVRTVV9S RUx9IgogCWV4aXQgOzsKICAgICBpKjg2OkJTRC8zODY6KjoqIHwgaSo4NjpCU0QvT1M6KjoqIHwg KjpBc2NlbmRcIEVtYmVkZGVkL09TOio6KikKLQllY2hvICR7VU5BTUVfTUFDSElORX0tcGMtYnNk aSR7VU5BTUVfUkVMRUFTRX0KKwllY2hvICIkVU5BTUVfTUFDSElORSItcGMtYnNkaSIkVU5BTUVf UkVMRUFTRSIKIAlleGl0IDs7CiAgICAgc3BhcmMqOkJTRC9PUzoqOiopCi0JZWNobyBzcGFyYy11 bmtub3duLWJzZGkke1VOQU1FX1JFTEVBU0V9CisJZWNobyBzcGFyYy11bmtub3duLWJzZGkiJFVO QU1FX1JFTEVBU0UiCiAJZXhpdCA7OwogICAgICo6QlNEL09TOio6KikKLQllY2hvICR7VU5BTUVf TUFDSElORX0tdW5rbm93bi1ic2RpJHtVTkFNRV9SRUxFQVNFfQorCWVjaG8gIiRVTkFNRV9NQUNI SU5FIi11bmtub3duLWJzZGkiJFVOQU1FX1JFTEVBU0UiCisJZXhpdCA7OworICAgIGFybTpGcmVl QlNEOio6KikKKwlVTkFNRV9QUk9DRVNTT1I9YHVuYW1lIC1wYAorCXNldF9jY19mb3JfYnVpbGQK KwlpZiBlY2hvIF9fQVJNX1BDU19WRlAgfCAkQ0NfRk9SX0JVSUxEIC1FIC0gMj4vZGV2L251bGwg XAorCSAgICB8IGdyZXAgLXEgX19BUk1fUENTX1ZGUAorCXRoZW4KKwkgICAgZWNobyAiJHtVTkFN RV9QUk9DRVNTT1J9Ii11bmtub3duLWZyZWVic2QiYGVjaG8gJHtVTkFNRV9SRUxFQVNFfXxzZWQg LWUgJ3MvWy0oXS4qLy8nYCItZ251ZWFiaQorCWVsc2UKKwkgICAgZWNobyAiJHtVTkFNRV9QUk9D RVNTT1J9Ii11bmtub3duLWZyZWVic2QiYGVjaG8gJHtVTkFNRV9SRUxFQVNFfXxzZWQgLWUgJ3Mv Wy0oXS4qLy8nYCItZ251ZWFiaWhmCisJZmkKIAlleGl0IDs7CiAgICAgKjpGcmVlQlNEOio6KikK IAlVTkFNRV9QUk9DRVNTT1I9YC91c3IvYmluL3VuYW1lIC1wYAotCWNhc2UgJHtVTkFNRV9QUk9D RVNTT1J9IGluCisJY2FzZSAiJFVOQU1FX1BST0NFU1NPUiIgaW4KIAkgICAgYW1kNjQpCi0JCWVj aG8geDg2XzY0LXVua25vd24tZnJlZWJzZGBlY2hvICR7VU5BTUVfUkVMRUFTRX18c2VkIC1lICdz L1stKF0uKi8vJ2AgOzsKLQkgICAgKikKLQkJZWNobyAke1VOQU1FX1BST0NFU1NPUn0tdW5rbm93 bi1mcmVlYnNkYGVjaG8gJHtVTkFNRV9SRUxFQVNFfXxzZWQgLWUgJ3MvWy0oXS4qLy8nYCA7Owor CQlVTkFNRV9QUk9DRVNTT1I9eDg2XzY0IDs7CisJICAgIGkzODYpCisJCVVOQU1FX1BST0NFU1NP Uj1pNTg2IDs7CiAJZXNhYworCWVjaG8gIiRVTkFNRV9QUk9DRVNTT1IiLXVua25vd24tZnJlZWJz ZCJgZWNobyAiJFVOQU1FX1JFTEVBU0UifHNlZCAtZSAncy9bLShdLiovLydgIgogCWV4aXQgOzsK ICAgICBpKjpDWUdXSU4qOiopCi0JZWNobyAke1VOQU1FX01BQ0hJTkV9LXBjLWN5Z3dpbgorCWVj aG8gIiRVTkFNRV9NQUNISU5FIi1wYy1jeWd3aW4KIAlleGl0IDs7Ci0gICAgKjpNSU5HVyo6KikK LQllY2hvICR7VU5BTUVfTUFDSElORX0tcGMtbWluZ3czMgorICAgICo6TUlOR1c2NCo6KikKKwll Y2hvICIkVU5BTUVfTUFDSElORSItcGMtbWluZ3c2NAogCWV4aXQgOzsKLSAgICBpKjpNU1lTKjoq KQotCWVjaG8gJHtVTkFNRV9NQUNISU5FfS1wYy1tc3lzCisgICAgKjpNSU5HVyo6KikKKwllY2hv ICIkVU5BTUVfTUFDSElORSItcGMtbWluZ3czMgogCWV4aXQgOzsKLSAgICBpKjp3aW5kb3dzMzIq OiopCi0JIyB1bmFtZSAtbSBpbmNsdWRlcyAiLXBjIiBvbiB0aGlzIHN5c3RlbS4KLQllY2hvICR7 VU5BTUVfTUFDSElORX0tbWluZ3czMgorICAgICo6TVNZUyo6KikKKwllY2hvICIkVU5BTUVfTUFD SElORSItcGMtbXN5cwogCWV4aXQgOzsKICAgICBpKjpQVyo6KikKLQllY2hvICR7VU5BTUVfTUFD SElORX0tcGMtcHczMgorCWVjaG8gIiRVTkFNRV9NQUNISU5FIi1wYy1wdzMyCiAJZXhpdCA7Owog ICAgICo6SW50ZXJpeCo6KikKLQljYXNlICR7VU5BTUVfTUFDSElORX0gaW4KKwljYXNlICIkVU5B TUVfTUFDSElORSIgaW4KIAkgICAgeDg2KQotCQllY2hvIGk1ODYtcGMtaW50ZXJpeCR7VU5BTUVf UkVMRUFTRX0KKwkJZWNobyBpNTg2LXBjLWludGVyaXgiJFVOQU1FX1JFTEVBU0UiCiAJCWV4aXQg OzsKIAkgICAgYXV0aGVudGljYW1kIHwgZ2VudWluZWludGVsIHwgRU02NFQpCi0JCWVjaG8geDg2 XzY0LXVua25vd24taW50ZXJpeCR7VU5BTUVfUkVMRUFTRX0KKwkJZWNobyB4ODZfNjQtdW5rbm93 bi1pbnRlcml4IiRVTkFNRV9SRUxFQVNFIgogCQlleGl0IDs7CiAJICAgIElBNjQpCi0JCWVjaG8g aWE2NC11bmtub3duLWludGVyaXgke1VOQU1FX1JFTEVBU0V9CisJCWVjaG8gaWE2NC11bmtub3du LWludGVyaXgiJFVOQU1FX1JFTEVBU0UiCiAJCWV4aXQgOzsKIAllc2FjIDs7Ci0gICAgWzM0NV04 NjpXaW5kb3dzXzk1OiogfCBbMzQ1XTg2OldpbmRvd3NfOTg6KiB8IFszNDVdODY6V2luZG93c19O VDoqKQotCWVjaG8gaSR7VU5BTUVfTUFDSElORX0tcGMtbWtzCi0JZXhpdCA7OwotICAgIDg2NjQ6 V2luZG93c19OVDoqKQotCWVjaG8geDg2XzY0LXBjLW1rcwotCWV4aXQgOzsKLSAgICBpKjpXaW5k b3dzX05UKjoqIHwgUGVudGl1bSo6V2luZG93c19OVCo6KikKLQkjIEhvdyBkbyB3ZSBrbm93IGl0 J3MgSW50ZXJpeCByYXRoZXIgdGhhbiB0aGUgZ2VuZXJpYyBQT1NJWCBzdWJzeXN0ZW0/Ci0JIyBJ dCBhbHNvIGNvbmZsaWN0cyB3aXRoIHByZS0yLjAgdmVyc2lvbnMgb2YgQVQmVCBVV0lOLiBTaG91 bGQgd2UKLQkjIFVOQU1FX01BQ0hJTkUgYmFzZWQgb24gdGhlIG91dHB1dCBvZiB1bmFtZSBpbnN0 ZWFkIG9mIGkzODY/Ci0JZWNobyBpNTg2LXBjLWludGVyaXgKLQlleGl0IDs7CiAgICAgaSo6VVdJ Tio6KikKLQllY2hvICR7VU5BTUVfTUFDSElORX0tcGMtdXdpbgorCWVjaG8gIiRVTkFNRV9NQUNI SU5FIi1wYy11d2luCiAJZXhpdCA7OwogICAgIGFtZDY0OkNZR1dJTio6KjoqIHwgeDg2XzY0OkNZ R1dJTio6KjoqKQotCWVjaG8geDg2XzY0LXVua25vd24tY3lnd2luCi0JZXhpdCA7OwotICAgIHAq OkNZR1dJTio6KikKLQllY2hvIHBvd2VycGNsZS11bmtub3duLWN5Z3dpbgorCWVjaG8geDg2XzY0 LXBjLWN5Z3dpbgogCWV4aXQgOzsKICAgICBwcmVwKjpTdW5PUzo1Lio6KikKLQllY2hvIHBvd2Vy cGNsZS11bmtub3duLXNvbGFyaXMyYGVjaG8gJHtVTkFNRV9SRUxFQVNFfXxzZWQgLWUgJ3MvW14u XSovLydgCisJZWNobyBwb3dlcnBjbGUtdW5rbm93bi1zb2xhcmlzMiJgZWNobyAiJFVOQU1FX1JF TEVBU0UifHNlZCAtZSAncy9bXi5dKi8vJ2AiCiAJZXhpdCA7OwogICAgICo6R05VOio6KikKIAkj IHRoZSBHTlUgc3lzdGVtCi0JZWNobyBgZWNobyAke1VOQU1FX01BQ0hJTkV9fHNlZCAtZSAncyxb LS9dLiokLCwnYC11bmtub3duLWdudWBlY2hvICR7VU5BTUVfUkVMRUFTRX18c2VkIC1lICdzLC8u KiQsLCdgCisJZWNobyAiYGVjaG8gIiRVTkFNRV9NQUNISU5FInxzZWQgLWUgJ3MsWy0vXS4qJCws J2AtdW5rbm93bi0kTElCQ2BlY2hvICIkVU5BTUVfUkVMRUFTRSJ8c2VkIC1lICdzLC8uKiQsLCdg IgogCWV4aXQgOzsKICAgICAqOkdOVS8qOio6KikKIAkjIG90aGVyIHN5c3RlbXMgd2l0aCBHTlUg bGliYyBhbmQgdXNlcmxhbmQKLQllY2hvICR7VU5BTUVfTUFDSElORX0tdW5rbm93bi1gZWNobyAk e1VOQU1FX1NZU1RFTX0gfCBzZWQgJ3MsXlteL10qLywsJyB8IHRyICdbQS1aXScgJ1thLXpdJ2Bg ZWNobyAke1VOQU1FX1JFTEVBU0V9fHNlZCAtZSAncy9bLShdLiovLydgLWdudQorCWVjaG8gIiRV TkFNRV9NQUNISU5FLXVua25vd24tYGVjaG8gIiRVTkFNRV9TWVNURU0iIHwgc2VkICdzLF5bXi9d Ki8sLCcgfCB0ciAiWzp1cHBlcjpdIiAiWzpsb3dlcjpdImBgZWNobyAiJFVOQU1FX1JFTEVBU0Ui fHNlZCAtZSAncy9bLShdLiovLydgLSRMSUJDIgogCWV4aXQgOzsKLSAgICBpKjg2Ok1pbml4Oio6 KikKLQllY2hvICR7VU5BTUVfTUFDSElORX0tcGMtbWluaXgKKyAgICAqOk1pbml4Oio6KikKKwll Y2hvICIkVU5BTUVfTUFDSElORSItdW5rbm93bi1taW5peAogCWV4aXQgOzsKICAgICBhYXJjaDY0 OkxpbnV4Oio6KikKLQllY2hvICR7VU5BTUVfTUFDSElORX0tdW5rbm93bi1saW51eC1nbnUKKwll Y2hvICIkVU5BTUVfTUFDSElORSItdW5rbm93bi1saW51eC0iJExJQkMiCiAJZXhpdCA7OwogICAg IGFhcmNoNjRfYmU6TGludXg6KjoqKQogCVVOQU1FX01BQ0hJTkU9YWFyY2g2NF9iZQotCWVjaG8g JHtVTkFNRV9NQUNISU5FfS11bmtub3duLWxpbnV4LWdudQorCWVjaG8gIiRVTkFNRV9NQUNISU5F Ii11bmtub3duLWxpbnV4LSIkTElCQyIKIAlleGl0IDs7CiAgICAgYWxwaGE6TGludXg6KjoqKQog CWNhc2UgYHNlZCAtbiAnL15jcHUgbW9kZWwvcy9eLio6IFwoLipcKS9cMS9wJyA8IC9wcm9jL2Nw dWluZm9gIGluCkBAIC04NzksMTI1ICs5MjgsMTY5IEBAIEVPRgogCSAgRVY2OCopIFVOQU1FX01B Q0hJTkU9YWxwaGFldjY4IDs7CiAJZXNhYwogCW9iamR1bXAgLS1wcml2YXRlLWhlYWRlcnMgL2Jp bi9zaCB8IGdyZXAgLXEgbGQuc28uMQotCWlmIHRlc3QgIiQ/IiA9IDAgOyB0aGVuIExJQkM9Imxp YmMxIiA7IGVsc2UgTElCQz0iIiA7IGZpCi0JZWNobyAke1VOQU1FX01BQ0hJTkV9LXVua25vd24t bGludXgtZ251JHtMSUJDfQorCWlmIHRlc3QgIiQ/IiA9IDAgOyB0aGVuIExJQkM9Z251bGliYzEg OyBmaQorCWVjaG8gIiRVTkFNRV9NQUNISU5FIi11bmtub3duLWxpbnV4LSIkTElCQyIKKwlleGl0 IDs7CisgICAgYXJjOkxpbnV4Oio6KiB8IGFyY2ViOkxpbnV4Oio6KikKKwllY2hvICIkVU5BTUVf TUFDSElORSItdW5rbm93bi1saW51eC0iJExJQkMiCiAJZXhpdCA7OwogICAgIGFybSo6TGludXg6 KjoqKQotCWV2YWwgJHNldF9jY19mb3JfYnVpbGQKKwlzZXRfY2NfZm9yX2J1aWxkCiAJaWYgZWNo byBfX0FSTV9FQUJJX18gfCAkQ0NfRk9SX0JVSUxEIC1FIC0gMj4vZGV2L251bGwgXAogCSAgICB8 IGdyZXAgLXEgX19BUk1fRUFCSV9fCiAJdGhlbgotCSAgICBlY2hvICR7VU5BTUVfTUFDSElORX0t dW5rbm93bi1saW51eC1nbnUKKwkgICAgZWNobyAiJFVOQU1FX01BQ0hJTkUiLXVua25vd24tbGlu dXgtIiRMSUJDIgogCWVsc2UKIAkgICAgaWYgZWNobyBfX0FSTV9QQ1NfVkZQIHwgJENDX0ZPUl9C VUlMRCAtRSAtIDI+L2Rldi9udWxsIFwKIAkJfCBncmVwIC1xIF9fQVJNX1BDU19WRlAKIAkgICAg dGhlbgotCQllY2hvICR7VU5BTUVfTUFDSElORX0tdW5rbm93bi1saW51eC1nbnVlYWJpCisJCWVj aG8gIiRVTkFNRV9NQUNISU5FIi11bmtub3duLWxpbnV4LSIkTElCQyJlYWJpCiAJICAgIGVsc2UK LQkJZWNobyAke1VOQU1FX01BQ0hJTkV9LXVua25vd24tbGludXgtZ251ZWFiaWhmCisJCWVjaG8g IiRVTkFNRV9NQUNISU5FIi11bmtub3duLWxpbnV4LSIkTElCQyJlYWJpaGYKIAkgICAgZmkKIAlm aQogCWV4aXQgOzsKICAgICBhdnIzMio6TGludXg6KjoqKQotCWVjaG8gJHtVTkFNRV9NQUNISU5F fS11bmtub3duLWxpbnV4LWdudQorCWVjaG8gIiRVTkFNRV9NQUNISU5FIi11bmtub3duLWxpbnV4 LSIkTElCQyIKIAlleGl0IDs7CiAgICAgY3JpczpMaW51eDoqOiopCi0JZWNobyAke1VOQU1FX01B Q0hJTkV9LWF4aXMtbGludXgtZ251CisJZWNobyAiJFVOQU1FX01BQ0hJTkUiLWF4aXMtbGludXgt IiRMSUJDIgogCWV4aXQgOzsKICAgICBjcmlzdjMyOkxpbnV4Oio6KikKLQllY2hvICR7VU5BTUVf TUFDSElORX0tYXhpcy1saW51eC1nbnUKKwllY2hvICIkVU5BTUVfTUFDSElORSItYXhpcy1saW51 eC0iJExJQkMiCisJZXhpdCA7OworICAgIGUyazpMaW51eDoqOiopCisJZWNobyAiJFVOQU1FX01B Q0hJTkUiLXVua25vd24tbGludXgtIiRMSUJDIgogCWV4aXQgOzsKICAgICBmcnY6TGludXg6Kjoq KQotCWVjaG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3duLWxpbnV4LWdudQorCWVjaG8gIiRVTkFN RV9NQUNISU5FIi11bmtub3duLWxpbnV4LSIkTElCQyIKIAlleGl0IDs7CiAgICAgaGV4YWdvbjpM aW51eDoqOiopCi0JZWNobyAke1VOQU1FX01BQ0hJTkV9LXVua25vd24tbGludXgtZ251CisJZWNo byAiJFVOQU1FX01BQ0hJTkUiLXVua25vd24tbGludXgtIiRMSUJDIgogCWV4aXQgOzsKICAgICBp Kjg2OkxpbnV4Oio6KikKLQlMSUJDPWdudQotCWV2YWwgJHNldF9jY19mb3JfYnVpbGQKLQlzZWQg J3MvXgkvLycgPDwgRU9GID4kZHVtbXkuYwotCSNpZmRlZiBfX2RpZXRsaWJjX18KLQlMSUJDPWRp ZXRsaWJjCi0JI2VuZGlmCi1FT0YKLQlldmFsIGAkQ0NfRk9SX0JVSUxEIC1FICRkdW1teS5jIDI+ L2Rldi9udWxsIHwgZ3JlcCAnXkxJQkMnYAotCWVjaG8gIiR7VU5BTUVfTUFDSElORX0tcGMtbGlu dXgtJHtMSUJDfSIKKwllY2hvICIkVU5BTUVfTUFDSElORSItcGMtbGludXgtIiRMSUJDIgogCWV4 aXQgOzsKICAgICBpYTY0OkxpbnV4Oio6KikKLQllY2hvICR7VU5BTUVfTUFDSElORX0tdW5rbm93 bi1saW51eC1nbnUKKwllY2hvICIkVU5BTUVfTUFDSElORSItdW5rbm93bi1saW51eC0iJExJQkMi CisJZXhpdCA7OworICAgIGsxb206TGludXg6KjoqKQorCWVjaG8gIiRVTkFNRV9NQUNISU5FIi11 bmtub3duLWxpbnV4LSIkTElCQyIKIAlleGl0IDs7CiAgICAgbTMycio6TGludXg6KjoqKQotCWVj aG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3duLWxpbnV4LWdudQorCWVjaG8gIiRVTkFNRV9NQUNI SU5FIi11bmtub3duLWxpbnV4LSIkTElCQyIKIAlleGl0IDs7CiAgICAgbTY4KjpMaW51eDoqOiop Ci0JZWNobyAke1VOQU1FX01BQ0hJTkV9LXVua25vd24tbGludXgtZ251CisJZWNobyAiJFVOQU1F X01BQ0hJTkUiLXVua25vd24tbGludXgtIiRMSUJDIgogCWV4aXQgOzsKICAgICBtaXBzOkxpbnV4 Oio6KiB8IG1pcHM2NDpMaW51eDoqOiopCi0JZXZhbCAkc2V0X2NjX2Zvcl9idWlsZAotCXNlZCAn cy9eCS8vJyA8PCBFT0YgPiRkdW1teS5jCisJc2V0X2NjX2Zvcl9idWlsZAorCUlTX0dMSUJDPTAK Kwl0ZXN0IHgiJHtMSUJDfSIgPSB4Z251ICYmIElTX0dMSUJDPTEKKwlzZWQgJ3MvXgkvLycgPDwg RU9GID4gIiRkdW1teS5jIgogCSN1bmRlZiBDUFUKLQkjdW5kZWYgJHtVTkFNRV9NQUNISU5FfQot CSN1bmRlZiAke1VOQU1FX01BQ0hJTkV9ZWwKKwkjdW5kZWYgbWlwcworCSN1bmRlZiBtaXBzZWwK KwkjdW5kZWYgbWlwczY0CisJI3VuZGVmIG1pcHM2NGVsCisJI2lmICR7SVNfR0xJQkN9ICYmIGRl ZmluZWQoX0FCSTY0KQorCUxJQkNBQkk9Z251YWJpNjQKKwkjZWxzZQorCSNpZiAke0lTX0dMSUJD fSAmJiBkZWZpbmVkKF9BQklOMzIpCisJTElCQ0FCST1nbnVhYmluMzIKKwkjZWxzZQorCUxJQkNB Qkk9JHtMSUJDfQorCSNlbmRpZgorCSNlbmRpZgorCisJI2lmICR7SVNfR0xJQkN9ICYmIGRlZmlu ZWQoX19taXBzNjQpICYmIGRlZmluZWQoX19taXBzX2lzYV9yZXYpICYmIF9fbWlwc19pc2FfcmV2 Pj02CisJQ1BVPW1pcHNpc2E2NHI2CisJI2Vsc2UKKwkjaWYgJHtJU19HTElCQ30gJiYgIWRlZmlu ZWQoX19taXBzNjQpICYmIGRlZmluZWQoX19taXBzX2lzYV9yZXYpICYmIF9fbWlwc19pc2FfcmV2 Pj02CisJQ1BVPW1pcHNpc2EzMnI2CisJI2Vsc2UKKwkjaWYgZGVmaW5lZChfX21pcHM2NCkKKwlD UFU9bWlwczY0CisJI2Vsc2UKKwlDUFU9bWlwcworCSNlbmRpZgorCSNlbmRpZgorCSNlbmRpZgor CiAJI2lmIGRlZmluZWQoX19NSVBTRUxfXykgfHwgZGVmaW5lZChfX01JUFNFTCkgfHwgZGVmaW5l ZChfTUlQU0VMKSB8fCBkZWZpbmVkKE1JUFNFTCkKLQlDUFU9JHtVTkFNRV9NQUNISU5FfWVsCisJ TUlQU19FTkRJQU49ZWwKIAkjZWxzZQogCSNpZiBkZWZpbmVkKF9fTUlQU0VCX18pIHx8IGRlZmlu ZWQoX19NSVBTRUIpIHx8IGRlZmluZWQoX01JUFNFQikgfHwgZGVmaW5lZChNSVBTRUIpCi0JQ1BV PSR7VU5BTUVfTUFDSElORX0KKwlNSVBTX0VORElBTj0KIAkjZWxzZQotCUNQVT0KKwlNSVBTX0VO RElBTj0KIAkjZW5kaWYKIAkjZW5kaWYKIEVPRgotCWV2YWwgYCRDQ19GT1JfQlVJTEQgLUUgJGR1 bW15LmMgMj4vZGV2L251bGwgfCBncmVwICdeQ1BVJ2AKLQl0ZXN0IHgiJHtDUFV9IiAhPSB4ICYm IHsgZWNobyAiJHtDUFV9LXVua25vd24tbGludXgtZ251IjsgZXhpdDsgfQorCWV2YWwgImAkQ0Nf Rk9SX0JVSUxEIC1FICIkZHVtbXkuYyIgMj4vZGV2L251bGwgfCBncmVwICdeQ1BVXHxeTUlQU19F TkRJQU5cfF5MSUJDQUJJJ2AiCisJdGVzdCAieCRDUFUiICE9IHggJiYgeyBlY2hvICIkQ1BVJHtN SVBTX0VORElBTn0tdW5rbm93bi1saW51eC0kTElCQ0FCSSI7IGV4aXQ7IH0KIAk7OwotICAgIG9y MzI6TGludXg6KjoqKQotCWVjaG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3duLWxpbnV4LWdudQor ICAgIG1pcHM2NGVsOkxpbnV4Oio6KikKKwllY2hvICIkVU5BTUVfTUFDSElORSItdW5rbm93bi1s aW51eC0iJExJQkMiCisJZXhpdCA7OworICAgIG9wZW5yaXNjKjpMaW51eDoqOiopCisJZWNobyBv cjFrLXVua25vd24tbGludXgtIiRMSUJDIgorCWV4aXQgOzsKKyAgICBvcjMyOkxpbnV4Oio6KiB8 IG9yMWsqOkxpbnV4Oio6KikKKwllY2hvICIkVU5BTUVfTUFDSElORSItdW5rbm93bi1saW51eC0i JExJQkMiCiAJZXhpdCA7OwogICAgIHBhZHJlOkxpbnV4Oio6KikKLQllY2hvIHNwYXJjLXVua25v d24tbGludXgtZ251CisJZWNobyBzcGFyYy11bmtub3duLWxpbnV4LSIkTElCQyIKIAlleGl0IDs7 CiAgICAgcGFyaXNjNjQ6TGludXg6KjoqIHwgaHBwYTY0OkxpbnV4Oio6KikKLQllY2hvIGhwcGE2 NC11bmtub3duLWxpbnV4LWdudQorCWVjaG8gaHBwYTY0LXVua25vd24tbGludXgtIiRMSUJDIgog CWV4aXQgOzsKICAgICBwYXJpc2M6TGludXg6KjoqIHwgaHBwYTpMaW51eDoqOiopCiAJIyBMb29r IGZvciBDUFUgbGV2ZWwKIAljYXNlIGBncmVwICdeY3B1W15hLXpdKjonIC9wcm9jL2NwdWluZm8g Mj4vZGV2L251bGwgfCBjdXQgLWQnICcgLWYyYCBpbgotCSAgUEE3KikgZWNobyBocHBhMS4xLXVu a25vd24tbGludXgtZ251IDs7Ci0JICBQQTgqKSBlY2hvIGhwcGEyLjAtdW5rbm93bi1saW51eC1n bnUgOzsKLQkgICopICAgIGVjaG8gaHBwYS11bmtub3duLWxpbnV4LWdudSA7OworCSAgUEE3Kikg ZWNobyBocHBhMS4xLXVua25vd24tbGludXgtIiRMSUJDIiA7OworCSAgUEE4KikgZWNobyBocHBh Mi4wLXVua25vd24tbGludXgtIiRMSUJDIiA7OworCSAgKikgICAgZWNobyBocHBhLXVua25vd24t bGludXgtIiRMSUJDIiA7OwogCWVzYWMKIAlleGl0IDs7CiAgICAgcHBjNjQ6TGludXg6KjoqKQot CWVjaG8gcG93ZXJwYzY0LXVua25vd24tbGludXgtZ251CisJZWNobyBwb3dlcnBjNjQtdW5rbm93 bi1saW51eC0iJExJQkMiCiAJZXhpdCA7OwogICAgIHBwYzpMaW51eDoqOiopCi0JZWNobyBwb3dl cnBjLXVua25vd24tbGludXgtZ251CisJZWNobyBwb3dlcnBjLXVua25vd24tbGludXgtIiRMSUJD IgorCWV4aXQgOzsKKyAgICBwcGM2NGxlOkxpbnV4Oio6KikKKwllY2hvIHBvd2VycGM2NGxlLXVu a25vd24tbGludXgtIiRMSUJDIgorCWV4aXQgOzsKKyAgICBwcGNsZTpMaW51eDoqOiopCisJZWNo byBwb3dlcnBjbGUtdW5rbm93bi1saW51eC0iJExJQkMiCisJZXhpdCA7OworICAgIHJpc2N2MzI6 TGludXg6KjoqIHwgcmlzY3Y2NDpMaW51eDoqOiopCisJZWNobyAiJFVOQU1FX01BQ0hJTkUiLXVu a25vd24tbGludXgtIiRMSUJDIgogCWV4aXQgOzsKICAgICBzMzkwOkxpbnV4Oio6KiB8IHMzOTB4 OkxpbnV4Oio6KikKLQllY2hvICR7VU5BTUVfTUFDSElORX0taWJtLWxpbnV4CisJZWNobyAiJFVO QU1FX01BQ0hJTkUiLWlibS1saW51eC0iJExJQkMiCiAJZXhpdCA7OwogICAgIHNoNjQqOkxpbnV4 Oio6KikKLQllY2hvICR7VU5BTUVfTUFDSElORX0tdW5rbm93bi1saW51eC1nbnUKKwllY2hvICIk VU5BTUVfTUFDSElORSItdW5rbm93bi1saW51eC0iJExJQkMiCiAJZXhpdCA7OwogICAgIHNoKjpM aW51eDoqOiopCi0JZWNobyAke1VOQU1FX01BQ0hJTkV9LXVua25vd24tbGludXgtZ251CisJZWNo byAiJFVOQU1FX01BQ0hJTkUiLXVua25vd24tbGludXgtIiRMSUJDIgogCWV4aXQgOzsKICAgICBz cGFyYzpMaW51eDoqOiogfCBzcGFyYzY0OkxpbnV4Oio6KikKLQllY2hvICR7VU5BTUVfTUFDSElO RX0tdW5rbm93bi1saW51eC1nbnUKKwllY2hvICIkVU5BTUVfTUFDSElORSItdW5rbm93bi1saW51 eC0iJExJQkMiCiAJZXhpdCA7OwogICAgIHRpbGUqOkxpbnV4Oio6KikKLQllY2hvICR7VU5BTUVf TUFDSElORX0tdW5rbm93bi1saW51eC1nbnUKKwllY2hvICIkVU5BTUVfTUFDSElORSItdW5rbm93 bi1saW51eC0iJExJQkMiCiAJZXhpdCA7OwogICAgIHZheDpMaW51eDoqOiopCi0JZWNobyAke1VO QU1FX01BQ0hJTkV9LWRlYy1saW51eC1nbnUKKwllY2hvICIkVU5BTUVfTUFDSElORSItZGVjLWxp bnV4LSIkTElCQyIKIAlleGl0IDs7CiAgICAgeDg2XzY0OkxpbnV4Oio6KikKLQllY2hvICR7VU5B TUVfTUFDSElORX0tdW5rbm93bi1saW51eC1nbnUKKwllY2hvICIkVU5BTUVfTUFDSElORSItcGMt bGludXgtIiRMSUJDIgogCWV4aXQgOzsKICAgICB4dGVuc2EqOkxpbnV4Oio6KikKLQllY2hvICR7 VU5BTUVfTUFDSElORX0tdW5rbm93bi1saW51eC1nbnUKKwllY2hvICIkVU5BTUVfTUFDSElORSIt dW5rbm93bi1saW51eC0iJExJQkMiCiAJZXhpdCA7OwogICAgIGkqODY6RFlOSVgvcHR4OjQqOiop CiAJIyBwdHggNC4wIGRvZXMgdW5hbWUgLXMgY29ycmVjdGx5LCB3aXRoIERZTklYL3B0eCBpbiB0 aGVyZS4KQEAgLTEwMTEsMzQgKzExMDQsMzQgQEAgRU9GCiAJIyBJIGFtIG5vdCBwb3NpdGl2ZSB0 aGF0IG90aGVyIFNWUjQgc3lzdGVtcyB3b24ndCBtYXRjaCB0aGlzLAogCSMgSSBqdXN0IGhhdmUg dG8gaG9wZS4gIC0tIHJtcy4KIAkjIFVzZSBzeXN2NC4ydXcuLi4gc28gdGhhdCBzeXN2NCogbWF0 Y2hlcyBpdC4KLQllY2hvICR7VU5BTUVfTUFDSElORX0tcGMtc3lzdjQuMnV3JHtVTkFNRV9WRVJT SU9OfQorCWVjaG8gIiRVTkFNRV9NQUNISU5FIi1wYy1zeXN2NC4ydXciJFVOQU1FX1ZFUlNJT04i CiAJZXhpdCA7OwogICAgIGkqODY6T1MvMjoqOiopCiAJIyBJZiB3ZSB3ZXJlIGFibGUgdG8gZmlu ZCBgdW5hbWUnLCB0aGVuIEVNWCBVbml4IGNvbXBhdGliaWxpdHkKIAkjIGlzIHByb2JhYmx5IGlu c3RhbGxlZC4KLQllY2hvICR7VU5BTUVfTUFDSElORX0tcGMtb3MyLWVteAorCWVjaG8gIiRVTkFN RV9NQUNISU5FIi1wYy1vczItZW14CiAJZXhpdCA7OwogICAgIGkqODY6WFRTLTMwMDoqOlNUT1Ap Ci0JZWNobyAke1VOQU1FX01BQ0hJTkV9LXVua25vd24tc3RvcAorCWVjaG8gIiRVTkFNRV9NQUNI SU5FIi11bmtub3duLXN0b3AKIAlleGl0IDs7CiAgICAgaSo4NjphdGhlb3M6KjoqKQotCWVjaG8g JHtVTkFNRV9NQUNISU5FfS11bmtub3duLWF0aGVvcworCWVjaG8gIiRVTkFNRV9NQUNISU5FIi11 bmtub3duLWF0aGVvcwogCWV4aXQgOzsKICAgICBpKjg2OnN5bGxhYmxlOio6KikKLQllY2hvICR7 VU5BTUVfTUFDSElORX0tcGMtc3lsbGFibGUKKwllY2hvICIkVU5BTUVfTUFDSElORSItcGMtc3ls bGFibGUKIAlleGl0IDs7CiAgICAgaSo4NjpMeW54T1M6Mi4qOiogfCBpKjg2Okx5bnhPUzozLlsw MV0qOiogfCBpKjg2Okx5bnhPUzo0LlswMl0qOiopCi0JZWNobyBpMzg2LXVua25vd24tbHlueG9z JHtVTkFNRV9SRUxFQVNFfQorCWVjaG8gaTM4Ni11bmtub3duLWx5bnhvcyIkVU5BTUVfUkVMRUFT RSIKIAlleGl0IDs7CiAgICAgaSo4NjoqRE9TOio6KikKLQllY2hvICR7VU5BTUVfTUFDSElORX0t cGMtbXNkb3NkamdwcAorCWVjaG8gIiRVTkFNRV9NQUNISU5FIi1wYy1tc2Rvc2RqZ3BwCiAJZXhp dCA7OwotICAgIGkqODY6Kjo0Lio6KiB8IGkqODY6U1lTVEVNX1Y6NC4qOiopCi0JVU5BTUVfUkVM PWBlY2hvICR7VU5BTUVfUkVMRUFTRX0gfCBzZWQgJ3MvXC9NUCQvLydgCisgICAgaSo4NjoqOjQu KjoqKQorCVVOQU1FX1JFTD1gZWNobyAiJFVOQU1FX1JFTEVBU0UiIHwgc2VkICdzL1wvTVAkLy8n YAogCWlmIGdyZXAgTm92ZWxsIC91c3IvaW5jbHVkZS9saW5rLmggPi9kZXYvbnVsbCAyPi9kZXYv bnVsbDsgdGhlbgotCQllY2hvICR7VU5BTUVfTUFDSElORX0tdW5pdmVsLXN5c3Yke1VOQU1FX1JF TH0KKwkJZWNobyAiJFVOQU1FX01BQ0hJTkUiLXVuaXZlbC1zeXN2IiRVTkFNRV9SRUwiCiAJZWxz ZQotCQllY2hvICR7VU5BTUVfTUFDSElORX0tcGMtc3lzdiR7VU5BTUVfUkVMfQorCQllY2hvICIk VU5BTUVfTUFDSElORSItcGMtc3lzdiIkVU5BTUVfUkVMIgogCWZpCiAJZXhpdCA7OwogICAgIGkq ODY6Kjo1Ols2NzhdKikKQEAgLTEwNDgsMTIgKzExNDEsMTIgQEAgRU9GCiAJICAgICpQZW50aXVt KQkgICAgIFVOQU1FX01BQ0hJTkU9aTU4NiA7OwogCSAgICAqUGVudCp8KkNlbGVyb24pIFVOQU1F X01BQ0hJTkU9aTY4NiA7OwogCWVzYWMKLQllY2hvICR7VU5BTUVfTUFDSElORX0tdW5rbm93bi1z eXN2JHtVTkFNRV9SRUxFQVNFfSR7VU5BTUVfU1lTVEVNfSR7VU5BTUVfVkVSU0lPTn0KKwllY2hv ICIkVU5BTUVfTUFDSElORS11bmtub3duLXN5c3Yke1VOQU1FX1JFTEVBU0V9JHtVTkFNRV9TWVNU RU19JHtVTkFNRV9WRVJTSU9OfSIKIAlleGl0IDs7CiAgICAgaSo4NjoqOjMuMjoqKQogCWlmIHRl c3QgLWYgL3Vzci9vcHRpb25zL2NiLm5hbWU7IHRoZW4KIAkJVU5BTUVfUkVMPWBzZWQgLW4gJ3Mv LipWZXJzaW9uIC8vcCcgPC91c3Ivb3B0aW9ucy9jYi5uYW1lYAotCQllY2hvICR7VU5BTUVfTUFD SElORX0tcGMtaXNjJFVOQU1FX1JFTAorCQllY2hvICIkVU5BTUVfTUFDSElORSItcGMtaXNjIiRV TkFNRV9SRUwiCiAJZWxpZiAvYmluL3VuYW1lIC1YIDI+L2Rldi9udWxsID4vZGV2L251bGwgOyB0 aGVuCiAJCVVOQU1FX1JFTD1gKC9iaW4vdW5hbWUgLVh8Z3JlcCBSZWxlYXNlfHNlZCAtZSAncy8u Kj0gLy8nKWAKIAkJKC9iaW4vdW5hbWUgLVh8Z3JlcCBpODA0ODYgPi9kZXYvbnVsbCkgJiYgVU5B TUVfTUFDSElORT1pNDg2CkBAIC0xMDYzLDkgKzExNTYsOSBAQCBFT0YKIAkJCSYmIFVOQU1FX01B Q0hJTkU9aTY4NgogCQkoL2Jpbi91bmFtZSAtWHxncmVwICdeTWFjaGluZS4qUGVudGl1bSBQcm8n ID4vZGV2L251bGwpIFwKIAkJCSYmIFVOQU1FX01BQ0hJTkU9aTY4NgotCQllY2hvICR7VU5BTUVf TUFDSElORX0tcGMtc2NvJFVOQU1FX1JFTAorCQllY2hvICIkVU5BTUVfTUFDSElORSItcGMtc2Nv IiRVTkFNRV9SRUwiCiAJZWxzZQotCQllY2hvICR7VU5BTUVfTUFDSElORX0tcGMtc3lzdjMyCisJ CWVjaG8gIiRVTkFNRV9NQUNISU5FIi1wYy1zeXN2MzIKIAlmaQogCWV4aXQgOzsKICAgICBwYzoq Oio6KikKQEAgLTEwNzMsNyArMTE2Niw3IEBAIEVPRgogCSMgdW5hbWUgLW0gcHJpbnRzIGZvciBE SkdQUCBhbHdheXMgJ3BjJywgYnV0IGl0IHByaW50cyBub3RoaW5nIGFib3V0CiAJIyB0aGUgcHJv Y2Vzc29yLCBzbyB3ZSBwbGF5IHNhZmUgYnkgYXNzdW1pbmcgaTU4Ni4KIAkjIE5vdGU6IHdoYXRl dmVyIHRoaXMgaXMsIGl0IE1VU1QgYmUgdGhlIHNhbWUgYXMgd2hhdCBjb25maWcuc3ViCi0JIyBw cmludHMgZm9yIHRoZSAiZGpncHAiIGhvc3QsIG9yIGVsc2UgR0RCIGNvbmZpZ3VyeSB3aWxsIGRl Y2lkZSB0aGF0CisJIyBwcmludHMgZm9yIHRoZSAiZGpncHAiIGhvc3QsIG9yIGVsc2UgR0RCIGNv bmZpZ3VyZSB3aWxsIGRlY2lkZSB0aGF0CiAJIyB0aGlzIGlzIGEgY3Jvc3MtYnVpbGQuCiAJZWNo byBpNTg2LXBjLW1zZG9zZGpncHAKIAlleGl0IDs7CkBAIC0xMDg1LDkgKzExNzgsOSBAQCBFT0YK IAlleGl0IDs7CiAgICAgaTg2MDoqOjQuKjoqKSAjIGk4NjAtU1ZSNAogCWlmIGdyZXAgU3RhcmRl bnQgL3Vzci9pbmNsdWRlL3N5cy91YWRtaW4uaCA+L2Rldi9udWxsIDI+JjEgOyB0aGVuCi0JICBl Y2hvIGk4NjAtc3RhcmRlbnQtc3lzdiR7VU5BTUVfUkVMRUFTRX0gIyBTdGFyZGVudCBWaXN0cmEg aTg2MC1TVlI0CisJICBlY2hvIGk4NjAtc3RhcmRlbnQtc3lzdiIkVU5BTUVfUkVMRUFTRSIgIyBT dGFyZGVudCBWaXN0cmEgaTg2MC1TVlI0CiAJZWxzZSAjIEFkZCBvdGhlciBpODYwLVNWUjQgdmVu ZG9ycyBiZWxvdyBhcyB0aGV5IGFyZSBkaXNjb3ZlcmVkLgotCSAgZWNobyBpODYwLXVua25vd24t c3lzdiR7VU5BTUVfUkVMRUFTRX0gICMgVW5rbm93biBpODYwLVNWUjQKKwkgIGVjaG8gaTg2MC11 bmtub3duLXN5c3YiJFVOQU1FX1JFTEVBU0UiICAjIFVua25vd24gaTg2MC1TVlI0CiAJZmkKIAll eGl0IDs7CiAgICAgbWluaSo6Q1RJWDpTWVMqNToqKQpAQCAtMTEwNyw5ICsxMjAwLDkgQEAgRU9G CiAJdGVzdCAtciAvZXRjLy5yZWxpZCBcCiAJJiYgT1NfUkVMPS5gc2VkIC1uICdzL1teIF0qIFte IF0qIFwoWzAtOV1bMC05XVwpLiovXDEvcCcgPCAvZXRjLy5yZWxpZGAKIAkvYmluL3VuYW1lIC1w IDI+L2Rldi9udWxsIHwgZ3JlcCA4NiA+L2Rldi9udWxsIFwKLQkgICYmIHsgZWNobyBpNDg2LW5j ci1zeXN2NC4zJHtPU19SRUx9OyBleGl0OyB9CisJICAmJiB7IGVjaG8gaTQ4Ni1uY3Itc3lzdjQu MyIkT1NfUkVMIjsgZXhpdDsgfQogCS9iaW4vdW5hbWUgLXAgMj4vZGV2L251bGwgfCAvYmluL2dy ZXAgZW50aXVtID4vZGV2L251bGwgXAotCSAgJiYgeyBlY2hvIGk1ODYtbmNyLXN5c3Y0LjMke09T X1JFTH07IGV4aXQ7IH0gOzsKKwkgICYmIHsgZWNobyBpNTg2LW5jci1zeXN2NC4zIiRPU19SRUwi OyBleGl0OyB9IDs7CiAgICAgM1szNF0/PzoqOjQuMDoqIHwgM1szNF0/PywqOio6NC4wOiopCiAJ L2Jpbi91bmFtZSAtcCAyPi9kZXYvbnVsbCB8IGdyZXAgODYgPi9kZXYvbnVsbCBcCiAJICAmJiB7 IGVjaG8gaTQ4Ni1uY3Itc3lzdjQ7IGV4aXQ7IH0gOzsKQEAgLTExMTgsMjggKzEyMTEsMjggQEAg RU9GCiAJdGVzdCAtciAvZXRjLy5yZWxpZCBcCiAJICAgICYmIE9TX1JFTD0uYHNlZCAtbiAncy9b XiBdKiBbXiBdKiBcKFswLTldWzAtOV1cKS4qL1wxL3AnIDwgL2V0Yy8ucmVsaWRgCiAJL2Jpbi91 bmFtZSAtcCAyPi9kZXYvbnVsbCB8IGdyZXAgODYgPi9kZXYvbnVsbCBcCi0JICAgICYmIHsgZWNo byBpNDg2LW5jci1zeXN2NC4zJHtPU19SRUx9OyBleGl0OyB9CisJICAgICYmIHsgZWNobyBpNDg2 LW5jci1zeXN2NC4zIiRPU19SRUwiOyBleGl0OyB9CiAJL2Jpbi91bmFtZSAtcCAyPi9kZXYvbnVs bCB8IC9iaW4vZ3JlcCBlbnRpdW0gPi9kZXYvbnVsbCBcCi0JICAgICYmIHsgZWNobyBpNTg2LW5j ci1zeXN2NC4zJHtPU19SRUx9OyBleGl0OyB9CisJICAgICYmIHsgZWNobyBpNTg2LW5jci1zeXN2 NC4zIiRPU19SRUwiOyBleGl0OyB9CiAJL2Jpbi91bmFtZSAtcCAyPi9kZXYvbnVsbCB8IC9iaW4v Z3JlcCBwdGVyb24gPi9kZXYvbnVsbCBcCi0JICAgICYmIHsgZWNobyBpNTg2LW5jci1zeXN2NC4z JHtPU19SRUx9OyBleGl0OyB9IDs7CisJICAgICYmIHsgZWNobyBpNTg2LW5jci1zeXN2NC4zIiRP U19SRUwiOyBleGl0OyB9IDs7CiAgICAgbTY4KjpMeW54T1M6Mi4qOiogfCBtNjgqOkx5bnhPUzoz LjAqOiopCi0JZWNobyBtNjhrLXVua25vd24tbHlueG9zJHtVTkFNRV9SRUxFQVNFfQorCWVjaG8g bTY4ay11bmtub3duLWx5bnhvcyIkVU5BTUVfUkVMRUFTRSIKIAlleGl0IDs7CiAgICAgbWM2ODAz MDpVTklYX1N5c3RlbV9WOjQuKjoqKQogCWVjaG8gbTY4ay1hdGFyaS1zeXN2NAogCWV4aXQgOzsK ICAgICBUU1VOQU1JOkx5bnhPUzoyLio6KikKLQllY2hvIHNwYXJjLXVua25vd24tbHlueG9zJHtV TkFNRV9SRUxFQVNFfQorCWVjaG8gc3BhcmMtdW5rbm93bi1seW54b3MiJFVOQU1FX1JFTEVBU0Ui CiAJZXhpdCA7OwogICAgIHJzNjAwMDpMeW54T1M6Mi4qOiopCi0JZWNobyByczYwMDAtdW5rbm93 bi1seW54b3Mke1VOQU1FX1JFTEVBU0V9CisJZWNobyByczYwMDAtdW5rbm93bi1seW54b3MiJFVO QU1FX1JFTEVBU0UiCiAJZXhpdCA7OwogICAgIFBvd2VyUEM6THlueE9TOjIuKjoqIHwgUG93ZXJQ QzpMeW54T1M6My5bMDFdKjoqIHwgUG93ZXJQQzpMeW54T1M6NC5bMDJdKjoqKQotCWVjaG8gcG93 ZXJwYy11bmtub3duLWx5bnhvcyR7VU5BTUVfUkVMRUFTRX0KKwllY2hvIHBvd2VycGMtdW5rbm93 bi1seW54b3MiJFVOQU1FX1JFTEVBU0UiCiAJZXhpdCA7OwogICAgIFNNW0JFXVM6VU5JWF9TVjoq OiopCi0JZWNobyBtaXBzLWRkZS1zeXN2JHtVTkFNRV9SRUxFQVNFfQorCWVjaG8gbWlwcy1kZGUt c3lzdiIkVU5BTUVfUkVMRUFTRSIKIAlleGl0IDs7CiAgICAgUk0qOlJlbGlhbnRVTklYLSo6Kjoq KQogCWVjaG8gbWlwcy1zbmktc3lzdjQKQEAgLTExNTAsNyArMTI0Myw3IEBAIEVPRgogICAgICo6 U0lOSVgtKjoqOiopCiAJaWYgdW5hbWUgLXAgMj4vZGV2L251bGwgPi9kZXYvbnVsbCA7IHRoZW4K IAkJVU5BTUVfTUFDSElORT1gKHVuYW1lIC1wKSAyPi9kZXYvbnVsbGAKLQkJZWNobyAke1VOQU1F X01BQ0hJTkV9LXNuaS1zeXN2NAorCQllY2hvICIkVU5BTUVfTUFDSElORSItc25pLXN5c3Y0CiAJ ZWxzZQogCQllY2hvIG5zMzJrLXNuaS1zeXN2CiAJZmkKQEAgLTExNzAsMjMgKzEyNjMsMjMgQEAg RU9GCiAJZXhpdCA7OwogICAgIGkqODY6Vk9TOio6KikKIAkjIEZyb20gUGF1bC5HcmVlbkBzdHJh dHVzLmNvbS4KLQllY2hvICR7VU5BTUVfTUFDSElORX0tc3RyYXR1cy12b3MKKwllY2hvICIkVU5B TUVfTUFDSElORSItc3RyYXR1cy12b3MKIAlleGl0IDs7CiAgICAgKjpWT1M6KjoqKQogCSMgRnJv bSBQYXVsLkdyZWVuQHN0cmF0dXMuY29tLgogCWVjaG8gaHBwYTEuMS1zdHJhdHVzLXZvcwogCWV4 aXQgOzsKICAgICBtYzY4KjpBL1VYOio6KikKLQllY2hvIG02OGstYXBwbGUtYXV4JHtVTkFNRV9S RUxFQVNFfQorCWVjaG8gbTY4ay1hcHBsZS1hdXgiJFVOQU1FX1JFTEVBU0UiCiAJZXhpdCA7Owog ICAgIG5ld3MqOk5FV1MtT1M6Nio6KikKIAllY2hvIG1pcHMtc29ueS1uZXdzb3M2CiAJZXhpdCA7 OwogICAgIFJbMzRdMDAwOipTeXN0ZW1fVio6KjoqIHwgUjQwMDA6VU5JWF9TWVNWOio6KiB8IFIq MDAwOlVOSVhfU1Y6KjoqKQogCWlmIFsgLWQgL3Vzci9uZWMgXTsgdGhlbgotCQllY2hvIG1pcHMt bmVjLXN5c3Yke1VOQU1FX1JFTEVBU0V9CisJCWVjaG8gbWlwcy1uZWMtc3lzdiIkVU5BTUVfUkVM RUFTRSIKIAllbHNlCi0JCWVjaG8gbWlwcy11bmtub3duLXN5c3Yke1VOQU1FX1JFTEVBU0V9CisJ CWVjaG8gbWlwcy11bmtub3duLXN5c3YiJFVOQU1FX1JFTEVBU0UiCiAJZmkKIAlleGl0IDs7CiAg ICAgQmVCb3g6QmVPUzoqOiopCSMgQmVPUyBydW5uaW5nIG9uIGhhcmR3YXJlIG1hZGUgYnkgQmUs IFBQQyBvbmx5LgpAQCAtMTIwMSw2NiArMTI5NCw5NyBAQCBFT0YKICAgICBCZVBDOkhhaWt1Oio6 KikJIyBIYWlrdSBydW5uaW5nIG9uIEludGVsIFBDIGNvbXBhdGlibGUuCiAJZWNobyBpNTg2LXBj LWhhaWt1CiAJZXhpdCA7OworICAgIHg4Nl82NDpIYWlrdToqOiopCisJZWNobyB4ODZfNjQtdW5r bm93bi1oYWlrdQorCWV4aXQgOzsKICAgICBTWC00OlNVUEVSLVVYOio6KikKLQllY2hvIHN4NC1u ZWMtc3VwZXJ1eCR7VU5BTUVfUkVMRUFTRX0KKwllY2hvIHN4NC1uZWMtc3VwZXJ1eCIkVU5BTUVf UkVMRUFTRSIKIAlleGl0IDs7CiAgICAgU1gtNTpTVVBFUi1VWDoqOiopCi0JZWNobyBzeDUtbmVj LXN1cGVydXgke1VOQU1FX1JFTEVBU0V9CisJZWNobyBzeDUtbmVjLXN1cGVydXgiJFVOQU1FX1JF TEVBU0UiCiAJZXhpdCA7OwogICAgIFNYLTY6U1VQRVItVVg6KjoqKQotCWVjaG8gc3g2LW5lYy1z dXBlcnV4JHtVTkFNRV9SRUxFQVNFfQorCWVjaG8gc3g2LW5lYy1zdXBlcnV4IiRVTkFNRV9SRUxF QVNFIgogCWV4aXQgOzsKICAgICBTWC03OlNVUEVSLVVYOio6KikKLQllY2hvIHN4Ny1uZWMtc3Vw ZXJ1eCR7VU5BTUVfUkVMRUFTRX0KKwllY2hvIHN4Ny1uZWMtc3VwZXJ1eCIkVU5BTUVfUkVMRUFT RSIKIAlleGl0IDs7CiAgICAgU1gtODpTVVBFUi1VWDoqOiopCi0JZWNobyBzeDgtbmVjLXN1cGVy dXgke1VOQU1FX1JFTEVBU0V9CisJZWNobyBzeDgtbmVjLXN1cGVydXgiJFVOQU1FX1JFTEVBU0Ui CiAJZXhpdCA7OwogICAgIFNYLThSOlNVUEVSLVVYOio6KikKLQllY2hvIHN4OHItbmVjLXN1cGVy dXgke1VOQU1FX1JFTEVBU0V9CisJZWNobyBzeDhyLW5lYy1zdXBlcnV4IiRVTkFNRV9SRUxFQVNF IgorCWV4aXQgOzsKKyAgICBTWC1BQ0U6U1VQRVItVVg6KjoqKQorCWVjaG8gc3hhY2UtbmVjLXN1 cGVydXgiJFVOQU1FX1JFTEVBU0UiCiAJZXhpdCA7OwogICAgIFBvd2VyKjpSaGFwc29keToqOiop Ci0JZWNobyBwb3dlcnBjLWFwcGxlLXJoYXBzb2R5JHtVTkFNRV9SRUxFQVNFfQorCWVjaG8gcG93 ZXJwYy1hcHBsZS1yaGFwc29keSIkVU5BTUVfUkVMRUFTRSIKIAlleGl0IDs7CiAgICAgKjpSaGFw c29keToqOiopCi0JZWNobyAke1VOQU1FX01BQ0hJTkV9LWFwcGxlLXJoYXBzb2R5JHtVTkFNRV9S RUxFQVNFfQorCWVjaG8gIiRVTkFNRV9NQUNISU5FIi1hcHBsZS1yaGFwc29keSIkVU5BTUVfUkVM RUFTRSIKIAlleGl0IDs7CiAgICAgKjpEYXJ3aW46KjoqKQogCVVOQU1FX1BST0NFU1NPUj1gdW5h bWUgLXBgIHx8IFVOQU1FX1BST0NFU1NPUj11bmtub3duCi0JY2FzZSAkVU5BTUVfUFJPQ0VTU09S IGluCi0JICAgIGkzODYpCi0JCWV2YWwgJHNldF9jY19mb3JfYnVpbGQKLQkJaWYgWyAiJENDX0ZP Ul9CVUlMRCIgIT0gJ25vX2NvbXBpbGVyX2ZvdW5kJyBdOyB0aGVuCi0JCSAgaWYgKGVjaG8gJyNp ZmRlZiBfX0xQNjRfXyc7IGVjaG8gSVNfNjRCSVRfQVJDSDsgZWNobyAnI2VuZGlmJykgfCBcCi0J CSAgICAgIChDQ09QVFM9ICRDQ19GT1JfQlVJTEQgLUUgLSAyPi9kZXYvbnVsbCkgfCBcCi0JCSAg ICAgIGdyZXAgSVNfNjRCSVRfQVJDSCA+L2Rldi9udWxsCi0JCSAgdGhlbgotCQkgICAgICBVTkFN RV9QUk9DRVNTT1I9Ing4Nl82NCIKLQkJICBmaQotCQlmaSA7OwotCSAgICB1bmtub3duKSBVTkFN RV9QUk9DRVNTT1I9cG93ZXJwYyA7OwotCWVzYWMKLQllY2hvICR7VU5BTUVfUFJPQ0VTU09SfS1h cHBsZS1kYXJ3aW4ke1VOQU1FX1JFTEVBU0V9CisJc2V0X2NjX2Zvcl9idWlsZAorCWlmIHRlc3Qg IiRVTkFNRV9QUk9DRVNTT1IiID0gdW5rbm93biA7IHRoZW4KKwkgICAgVU5BTUVfUFJPQ0VTU09S PXBvd2VycGMKKwlmaQorCWlmIHRlc3QgImBlY2hvICIkVU5BTUVfUkVMRUFTRSIgfCBzZWQgLWUg J3MvXC4uKi8vJ2AiIC1sZSAxMCA7IHRoZW4KKwkgICAgaWYgWyAiJENDX0ZPUl9CVUlMRCIgIT0g bm9fY29tcGlsZXJfZm91bmQgXTsgdGhlbgorCQlpZiAoZWNobyAnI2lmZGVmIF9fTFA2NF9fJzsg ZWNobyBJU182NEJJVF9BUkNIOyBlY2hvICcjZW5kaWYnKSB8IFwKKwkJICAgICAgIChDQ09QVFM9 IiIgJENDX0ZPUl9CVUlMRCAtRSAtIDI+L2Rldi9udWxsKSB8IFwKKwkJICAgICAgIGdyZXAgSVNf NjRCSVRfQVJDSCA+L2Rldi9udWxsCisJCXRoZW4KKwkJICAgIGNhc2UgJFVOQU1FX1BST0NFU1NP UiBpbgorCQkJaTM4NikgVU5BTUVfUFJPQ0VTU09SPXg4Nl82NCA7OworCQkJcG93ZXJwYykgVU5B TUVfUFJPQ0VTU09SPXBvd2VycGM2NCA7OworCQkgICAgZXNhYworCQlmaQorCQkjIE9uIDEwLjQt MTAuNiBvbmUgbWlnaHQgY29tcGlsZSBmb3IgUG93ZXJQQyB2aWEgZ2NjIC1hcmNoIHBwYworCQlp ZiAoZWNobyAnI2lmZGVmIF9fUE9XRVJQQ19fJzsgZWNobyBJU19QUEM7IGVjaG8gJyNlbmRpZicp IHwgXAorCQkgICAgICAgKENDT1BUUz0iIiAkQ0NfRk9SX0JVSUxEIC1FIC0gMj4vZGV2L251bGwp IHwgXAorCQkgICAgICAgZ3JlcCBJU19QUEMgPi9kZXYvbnVsbAorCQl0aGVuCisJCSAgICBVTkFN RV9QUk9DRVNTT1I9cG93ZXJwYworCQlmaQorCSAgICBmaQorCWVsaWYgdGVzdCAiJFVOQU1FX1BS T0NFU1NPUiIgPSBpMzg2IDsgdGhlbgorCSAgICAjIEF2b2lkIGV4ZWN1dGluZyBjYyBvbiBPUyBY IDEwLjksIGFzIGl0IHNoaXBzIHdpdGggYSBzdHViCisJICAgICMgdGhhdCBwdXRzIHVwIGEgZ3Jh cGhpY2FsIGFsZXJ0IHByb21wdGluZyB0byBpbnN0YWxsCisJICAgICMgZGV2ZWxvcGVyIHRvb2xz LiAgQW55IHN5c3RlbSBydW5uaW5nIE1hYyBPUyBYIDEwLjcgb3IKKwkgICAgIyBsYXRlciAoRGFy d2luIDExIGFuZCBsYXRlcikgaXMgcmVxdWlyZWQgdG8gaGF2ZSBhIDY0LWJpdAorCSAgICAjIHBy b2Nlc3Nvci4gVGhpcyBpcyBub3QgdHJ1ZSBvZiB0aGUgQVJNIHZlcnNpb24gb2YgRGFyd2luCisJ ICAgICMgdGhhdCBBcHBsZSB1c2VzIGluIHBvcnRhYmxlIGRldmljZXMuCisJICAgIFVOQU1FX1BS T0NFU1NPUj14ODZfNjQKKwlmaQorCWVjaG8gIiRVTkFNRV9QUk9DRVNTT1IiLWFwcGxlLWRhcndp biIkVU5BTUVfUkVMRUFTRSIKIAlleGl0IDs7CiAgICAgKjpwcm9jbnRvKjoqOiogfCAqOlFOWDpb MDEyMzQ1Njc4OV0qOiopCiAJVU5BTUVfUFJPQ0VTU09SPWB1bmFtZSAtcGAKLQlpZiB0ZXN0ICIk VU5BTUVfUFJPQ0VTU09SIiA9ICJ4ODYiOyB0aGVuCisJaWYgdGVzdCAiJFVOQU1FX1BST0NFU1NP UiIgPSB4ODY7IHRoZW4KIAkJVU5BTUVfUFJPQ0VTU09SPWkzODYKIAkJVU5BTUVfTUFDSElORT1w YwogCWZpCi0JZWNobyAke1VOQU1FX1BST0NFU1NPUn0tJHtVTkFNRV9NQUNISU5FfS1udG8tcW54 JHtVTkFNRV9SRUxFQVNFfQorCWVjaG8gIiRVTkFNRV9QUk9DRVNTT1IiLSIkVU5BTUVfTUFDSElO RSItbnRvLXFueCIkVU5BTUVfUkVMRUFTRSIKIAlleGl0IDs7CiAgICAgKjpRTlg6Kjo0KikKIAll Y2hvIGkzODYtcGMtcW54CiAJZXhpdCA7OwotICAgIE5FTy0/Ok5PTlNUT1BfS0VSTkVMOio6KikK LQllY2hvIG5lby10YW5kZW0tbnNrJHtVTkFNRV9SRUxFQVNFfQorICAgIE5FTy0qOk5PTlNUT1Bf S0VSTkVMOio6KikKKwllY2hvIG5lby10YW5kZW0tbnNrIiRVTkFNRV9SRUxFQVNFIgorCWV4aXQg OzsKKyAgICBOU0UtKjpOT05TVE9QX0tFUk5FTDoqOiopCisJZWNobyBuc2UtdGFuZGVtLW5zayIk VU5BTUVfUkVMRUFTRSIKKwlleGl0IDs7CisgICAgTlNSLSo6Tk9OU1RPUF9LRVJORUw6KjoqKQor CWVjaG8gbnNyLXRhbmRlbS1uc2siJFVOQU1FX1JFTEVBU0UiCiAJZXhpdCA7OwotICAgIE5TRS0/ Ok5PTlNUT1BfS0VSTkVMOio6KikKLQllY2hvIG5zZS10YW5kZW0tbnNrJHtVTkFNRV9SRUxFQVNF fQorICAgIE5TVi0qOk5PTlNUT1BfS0VSTkVMOio6KikKKwllY2hvIG5zdi10YW5kZW0tbnNrIiRV TkFNRV9SRUxFQVNFIgogCWV4aXQgOzsKLSAgICBOU1ItPzpOT05TVE9QX0tFUk5FTDoqOiopCi0J ZWNobyBuc3ItdGFuZGVtLW5zayR7VU5BTUVfUkVMRUFTRX0KKyAgICBOU1gtKjpOT05TVE9QX0tF Uk5FTDoqOiopCisJZWNobyBuc3gtdGFuZGVtLW5zayIkVU5BTUVfUkVMRUFTRSIKIAlleGl0IDs7 CiAgICAgKjpOb25TdG9wLVVYOio6KikKIAllY2hvIG1pcHMtY29tcGFxLW5vbnN0b3B1eApAQCAt MTI2OSwxOCArMTM5MywxOSBAQCBFT0YKIAllY2hvIGJzMjAwMC1zaWVtZW5zLXN5c3YKIAlleGl0 IDs7CiAgICAgRFMvKjpVTklYX1N5c3RlbV9WOio6KikKLQllY2hvICR7VU5BTUVfTUFDSElORX0t JHtVTkFNRV9TWVNURU19LSR7VU5BTUVfUkVMRUFTRX0KKwllY2hvICIkVU5BTUVfTUFDSElORSIt IiRVTkFNRV9TWVNURU0iLSIkVU5BTUVfUkVMRUFTRSIKIAlleGl0IDs7CiAgICAgKjpQbGFuOToq OiopCiAJIyAidW5hbWUgLW0iIGlzIG5vdCBjb25zaXN0ZW50LCBzbyB1c2UgJGNwdXR5cGUgaW5z dGVhZC4gMzg2CiAJIyBpcyBjb252ZXJ0ZWQgdG8gaTM4NiBmb3IgY29uc2lzdGVuY3kgd2l0aCBv dGhlciB4ODYKIAkjIG9wZXJhdGluZyBzeXN0ZW1zLgotCWlmIHRlc3QgIiRjcHV0eXBlIiA9ICIz ODYiOyB0aGVuCisJIyBzaGVsbGNoZWNrIGRpc2FibGU9U0MyMTU0CisJaWYgdGVzdCAiJGNwdXR5 cGUiID0gMzg2OyB0aGVuCiAJICAgIFVOQU1FX01BQ0hJTkU9aTM4NgogCWVsc2UKIAkgICAgVU5B TUVfTUFDSElORT0iJGNwdXR5cGUiCiAJZmkKLQllY2hvICR7VU5BTUVfTUFDSElORX0tdW5rbm93 bi1wbGFuOQorCWVjaG8gIiRVTkFNRV9NQUNISU5FIi11bmtub3duLXBsYW45CiAJZXhpdCA7Owog ICAgICo6VE9QUy0xMDoqOiopCiAJZWNobyBwZHAxMC11bmtub3duLXRvcHMxMApAQCAtMTMwMSwx NCArMTQyNiwxNCBAQCBFT0YKIAllY2hvIHBkcDEwLXVua25vd24taXRzCiAJZXhpdCA7OwogICAg IFNFSToqOio6U0VJVVgpCi0JZWNobyBtaXBzLXNlaS1zZWl1eCR7VU5BTUVfUkVMRUFTRX0KKwll Y2hvIG1pcHMtc2VpLXNlaXV4IiRVTkFNRV9SRUxFQVNFIgogCWV4aXQgOzsKICAgICAqOkRyYWdv bkZseToqOiopCi0JZWNobyAke1VOQU1FX01BQ0hJTkV9LXVua25vd24tZHJhZ29uZmx5YGVjaG8g JHtVTkFNRV9SRUxFQVNFfXxzZWQgLWUgJ3MvWy0oXS4qLy8nYAorCWVjaG8gIiRVTkFNRV9NQUNI SU5FIi11bmtub3duLWRyYWdvbmZseSJgZWNobyAiJFVOQU1FX1JFTEVBU0UifHNlZCAtZSAncy9b LShdLiovLydgIgogCWV4aXQgOzsKICAgICAqOipWTVM6KjoqKQogCVVOQU1FX01BQ0hJTkU9YCh1 bmFtZSAtcCkgMj4vZGV2L251bGxgCi0JY2FzZSAiJHtVTkFNRV9NQUNISU5FfSIgaW4KKwljYXNl ICIkVU5BTUVfTUFDSElORSIgaW4KIAkgICAgQSopIGVjaG8gYWxwaGEtZGVjLXZtcyA7IGV4aXQg OzsKIAkgICAgSSopIGVjaG8gaWE2NC1kZWMtdm1zIDsgZXhpdCA7OwogCSAgICBWKikgZWNobyB2 YXgtZGVjLXZtcyA7IGV4aXQgOzsKQEAgLTEzMTcsMjcgKzE0NDIsMzkgQEAgRU9GCiAJZWNobyBp Mzg2LXBjLXhlbml4CiAJZXhpdCA7OwogICAgIGkqODY6c2t5b3M6KjoqKQotCWVjaG8gJHtVTkFN RV9NQUNISU5FfS1wYy1za3lvc2BlY2hvICR7VU5BTUVfUkVMRUFTRX1gIHwgc2VkIC1lICdzLyAu KiQvLycKKwllY2hvICIkVU5BTUVfTUFDSElORSItcGMtc2t5b3MiYGVjaG8gIiRVTkFNRV9SRUxF QVNFIiB8IHNlZCAtZSAncy8gLiokLy8nYCIKIAlleGl0IDs7CiAgICAgaSo4NjpyZG9zOio6KikK LQllY2hvICR7VU5BTUVfTUFDSElORX0tcGMtcmRvcworCWVjaG8gIiRVTkFNRV9NQUNISU5FIi1w Yy1yZG9zCiAJZXhpdCA7OwogICAgIGkqODY6QVJPUzoqOiopCi0JZWNobyAke1VOQU1FX01BQ0hJ TkV9LXBjLWFyb3MKKwllY2hvICIkVU5BTUVfTUFDSElORSItcGMtYXJvcwogCWV4aXQgOzsKICAg ICB4ODZfNjQ6Vk1rZXJuZWw6KjoqKQotCWVjaG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3duLWVz eAorCWVjaG8gIiRVTkFNRV9NQUNISU5FIi11bmtub3duLWVzeAorCWV4aXQgOzsKKyAgICBhbWQ2 NDpJc2lsb25cIE9uZUZTOio6KikKKwllY2hvIHg4Nl82NC11bmtub3duLW9uZWZzCisJZXhpdCA7 OworICAgICo6VW5sZWFzaGVkOio6KikKKwllY2hvICIkVU5BTUVfTUFDSElORSItdW5rbm93bi11 bmxlYXNoZWQiJFVOQU1FX1JFTEVBU0UiCiAJZXhpdCA7OwogZXNhYwogCi0jZWNobyAnKE5vIHVu YW1lIGNvbW1hbmQgb3IgdW5hbWUgb3V0cHV0IG5vdCByZWNvZ25pemVkLiknIDE+JjIKLSNlY2hv ICIke1VOQU1FX01BQ0hJTkV9OiR7VU5BTUVfU1lTVEVNfToke1VOQU1FX1JFTEVBU0V9OiR7VU5B TUVfVkVSU0lPTn0iIDE+JjIKLQotZXZhbCAkc2V0X2NjX2Zvcl9idWlsZAotY2F0ID4kZHVtbXku YyA8PEVPRgorIyBObyB1bmFtZSBjb21tYW5kIG9yIHVuYW1lIG91dHB1dCBub3QgcmVjb2duaXpl ZC4KK3NldF9jY19mb3JfYnVpbGQKK2NhdCA+ICIkZHVtbXkuYyIgPDxFT0YKICNpZmRlZiBfU0VR VUVOVF8KLSMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+Ci0jIGluY2x1ZGUgPHN5cy91dHNuYW1lLmg+ CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3V0c25hbWUuaD4KKyNlbmRp ZgorI2lmIGRlZmluZWQodWx0cml4KSB8fCBkZWZpbmVkKF91bHRyaXgpIHx8IGRlZmluZWQoX191 bHRyaXgpIHx8IGRlZmluZWQoX191bHRyaXhfXykKKyNpZiBkZWZpbmVkICh2YXgpIHx8IGRlZmlu ZWQgKF9fdmF4KSB8fCBkZWZpbmVkIChfX3ZheF9fKSB8fCBkZWZpbmVkKG1pcHMpIHx8IGRlZmlu ZWQoX19taXBzKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBkZWZpbmVkKE1JUFMpIHx8IGRlZmlu ZWQoX19NSVBTX18pCisjaW5jbHVkZSA8c2lnbmFsLmg+CisjaWYgZGVmaW5lZChfU0laRV9UXykg fHwgZGVmaW5lZChTSUdMT1NUKQorI2luY2x1ZGUgPHN5cy91dHNuYW1lLmg+CisjZW5kaWYKKyNl bmRpZgogI2VuZGlmCiBtYWluICgpCiB7CkBAIC0xMzUwLDIwICsxNDg3LDEyIEBAIG1haW4gKCkK ICNpbmNsdWRlIDxzeXMvcGFyYW0uaD4KICAgcHJpbnRmICgibTY4ay1zb255LW5ld3NvcyVzXG4i LAogI2lmZGVmIE5FV1NPUzQKLQkiNCIKKyAgIjQiCiAjZWxzZQotCSIiCi0jZW5kaWYKLQkpOyBl eGl0ICgwKTsKLSNlbmRpZgorICAiIgogI2VuZGlmCi0KLSNpZiBkZWZpbmVkIChfX2FybSkgJiYg ZGVmaW5lZCAoX19hY29ybikgJiYgZGVmaW5lZCAoX191bml4KQotICBwcmludGYgKCJhcm0tYWNv cm4tcmlzY2l4XG4iKTsgZXhpdCAoMCk7CisgICk7IGV4aXQgKDApOwogI2VuZGlmCi0KLSNpZiBk ZWZpbmVkIChocDMwMCkgJiYgIWRlZmluZWQgKGhwdXgpCi0gIHByaW50ZiAoIm02OGstaHAtYnNk XG4iKTsgZXhpdCAoMCk7CiAjZW5kaWYKIAogI2lmIGRlZmluZWQgKE5lWFQpCkBAIC0xNDA1LDM5 ICsxNTM0LDU0IEBAIG1haW4gKCkKICNlbmRpZgogCiAjaWYgZGVmaW5lZCAoX1NFUVVFTlRfKQot ICAgIHN0cnVjdCB1dHNuYW1lIHVuOwotCi0gICAgdW5hbWUoJnVuKTsKLQotICAgIGlmIChzdHJu Y21wKHVuLnZlcnNpb24sICJWMiIsIDIpID09IDApIHsKLQlwcmludGYgKCJpMzg2LXNlcXVlbnQt cHR4MlxuIik7IGV4aXQgKDApOwotICAgIH0KLSAgICBpZiAoc3RybmNtcCh1bi52ZXJzaW9uLCAi VjEiLCAyKSA9PSAwKSB7IC8qIFhYWCBpcyBWMSBjb3JyZWN0PyAqLwotCXByaW50ZiAoImkzODYt c2VxdWVudC1wdHgxXG4iKTsgZXhpdCAoMCk7Ci0gICAgfQotICAgIHByaW50ZiAoImkzODYtc2Vx dWVudC1wdHhcbiIpOyBleGl0ICgwKTsKKyAgc3RydWN0IHV0c25hbWUgdW47CiAKKyAgdW5hbWUo JnVuKTsKKyAgaWYgKHN0cm5jbXAodW4udmVyc2lvbiwgIlYyIiwgMikgPT0gMCkgeworICAgIHBy aW50ZiAoImkzODYtc2VxdWVudC1wdHgyXG4iKTsgZXhpdCAoMCk7CisgIH0KKyAgaWYgKHN0cm5j bXAodW4udmVyc2lvbiwgIlYxIiwgMikgPT0gMCkgeyAvKiBYWFggaXMgVjEgY29ycmVjdD8gKi8K KyAgICBwcmludGYgKCJpMzg2LXNlcXVlbnQtcHR4MVxuIik7IGV4aXQgKDApOworICB9CisgIHBy aW50ZiAoImkzODYtc2VxdWVudC1wdHhcbiIpOyBleGl0ICgwKTsKICNlbmRpZgogCiAjaWYgZGVm aW5lZCAodmF4KQotIyBpZiAhZGVmaW5lZCAodWx0cml4KQotIyAgaW5jbHVkZSA8c3lzL3BhcmFt Lmg+Ci0jICBpZiBkZWZpbmVkIChCU0QpCi0jICAgaWYgQlNEID09IDQzCi0gICAgICBwcmludGYg KCJ2YXgtZGVjLWJzZDQuM1xuIik7IGV4aXQgKDApOwotIyAgIGVsc2UKLSMgICAgaWYgQlNEID09 IDE5OTAwNgotICAgICAgcHJpbnRmICgidmF4LWRlYy1ic2Q0LjNyZW5vXG4iKTsgZXhpdCAoMCk7 Ci0jICAgIGVsc2UKLSAgICAgIHByaW50ZiAoInZheC1kZWMtYnNkXG4iKTsgZXhpdCAoMCk7Ci0j ICAgIGVuZGlmCi0jICAgZW5kaWYKLSMgIGVsc2UKLSAgICBwcmludGYgKCJ2YXgtZGVjLWJzZFxu Iik7IGV4aXQgKDApOwotIyAgZW5kaWYKLSMgZWxzZQotICAgIHByaW50ZiAoInZheC1kZWMtdWx0 cml4XG4iKTsgZXhpdCAoMCk7Ci0jIGVuZGlmCisjaWYgIWRlZmluZWQgKHVsdHJpeCkKKyNpbmNs dWRlIDxzeXMvcGFyYW0uaD4KKyNpZiBkZWZpbmVkIChCU0QpCisjaWYgQlNEID09IDQzCisgIHBy aW50ZiAoInZheC1kZWMtYnNkNC4zXG4iKTsgZXhpdCAoMCk7CisjZWxzZQorI2lmIEJTRCA9PSAx OTkwMDYKKyAgcHJpbnRmICgidmF4LWRlYy1ic2Q0LjNyZW5vXG4iKTsgZXhpdCAoMCk7CisjZWxz ZQorICBwcmludGYgKCJ2YXgtZGVjLWJzZFxuIik7IGV4aXQgKDApOworI2VuZGlmCisjZW5kaWYK KyNlbHNlCisgIHByaW50ZiAoInZheC1kZWMtYnNkXG4iKTsgZXhpdCAoMCk7CisjZW5kaWYKKyNl bHNlCisjaWYgZGVmaW5lZChfU0laRV9UXykgfHwgZGVmaW5lZChTSUdMT1NUKQorICBzdHJ1Y3Qg dXRzbmFtZSB1bjsKKyAgdW5hbWUgKCZ1bik7CisgIHByaW50ZiAoInZheC1kZWMtdWx0cml4JXNc biIsIHVuLnJlbGVhc2UpOyBleGl0ICgwKTsKKyNlbHNlCisgIHByaW50ZiAoInZheC1kZWMtdWx0 cml4XG4iKTsgZXhpdCAoMCk7CisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisjaWYgZGVmaW5lZCh1 bHRyaXgpIHx8IGRlZmluZWQoX3VsdHJpeCkgfHwgZGVmaW5lZChfX3VsdHJpeCkgfHwgZGVmaW5l ZChfX3VsdHJpeF9fKQorI2lmIGRlZmluZWQobWlwcykgfHwgZGVmaW5lZChfX21pcHMpIHx8IGRl ZmluZWQoX19taXBzX18pIHx8IGRlZmluZWQoTUlQUykgfHwgZGVmaW5lZChfX01JUFNfXykKKyNp ZiBkZWZpbmVkKF9TSVpFX1RfKSB8fCBkZWZpbmVkKFNJR0xPU1QpCisgIHN0cnVjdCB1dHNuYW1l ICp1bjsKKyAgdW5hbWUgKCZ1bik7CisgIHByaW50ZiAoIm1pcHMtZGVjLXVsdHJpeCVzXG4iLCB1 bi5yZWxlYXNlKTsgZXhpdCAoMCk7CisjZWxzZQorICBwcmludGYgKCJtaXBzLWRlYy11bHRyaXhc biIpOyBleGl0ICgwKTsKKyNlbmRpZgorI2VuZGlmCiAjZW5kaWYKIAogI2lmIGRlZmluZWQgKGFs bGlhbnQpICYmIGRlZmluZWQgKGk4NjApCkBAIC0xNDQ4LDU0ICsxNTkyLDM4IEBAIG1haW4gKCkK IH0KIEVPRgogCi0kQ0NfRk9SX0JVSUxEIC1vICRkdW1teSAkZHVtbXkuYyAyPi9kZXYvbnVsbCAm JiBTWVNURU1fTkFNRT1gJGR1bW15YCAmJgorJENDX0ZPUl9CVUlMRCAtbyAiJGR1bW15IiAiJGR1 bW15LmMiIDI+L2Rldi9udWxsICYmIFNZU1RFTV9OQU1FPWAkZHVtbXlgICYmCiAJeyBlY2hvICIk U1lTVEVNX05BTUUiOyBleGl0OyB9CiAKICMgQXBvbGxvcyBwdXQgdGhlIHN5c3RlbSB0eXBlIGlu IHRoZSBlbnZpcm9ubWVudC4KK3Rlc3QgLWQgL3Vzci9hcG9sbG8gJiYgeyBlY2hvICIkSVNQLWFw b2xsby0kU1lTVFlQRSI7IGV4aXQ7IH0KIAotdGVzdCAtZCAvdXNyL2Fwb2xsbyAmJiB7IGVjaG8g JHtJU1B9LWFwb2xsby0ke1NZU1RZUEV9OyBleGl0OyB9CitlY2hvICIkMDogdW5hYmxlIHRvIGd1 ZXNzIHN5c3RlbSB0eXBlIiA+JjIKIAotIyBDb252ZXggdmVyc2lvbnMgdGhhdCBwcmVkYXRlIHVu YW1lIGNhbiB1c2UgZ2V0c3lzaW5mbygxKQorY2FzZSAiJFVOQU1FX01BQ0hJTkU6JFVOQU1FX1NZ U1RFTSIgaW4KKyAgICBtaXBzOkxpbnV4IHwgbWlwczY0OkxpbnV4KQorCSMgSWYgd2UgZ290IGhl cmUgb24gTUlQUyBHTlUvTGludXgsIG91dHB1dCBleHRyYSBpbmZvcm1hdGlvbi4KKwljYXQgPiYy IDw8RU9GCiAKLWlmIFsgLXggL3Vzci9jb252ZXgvZ2V0c3lzaW5mbyBdCi10aGVuCi0gICAgY2Fz ZSBgZ2V0c3lzaW5mbyAtZiBjcHVfdHlwZWAgaW4KLSAgICBjMSopCi0JZWNobyBjMS1jb252ZXgt YnNkCi0JZXhpdCA7OwotICAgIGMyKikKLQlpZiBnZXRzeXNpbmZvIC1mIHNjYWxhcl9hY2MKLQl0 aGVuIGVjaG8gYzMyLWNvbnZleC1ic2QKLQllbHNlIGVjaG8gYzItY29udmV4LWJzZAotCWZpCi0J ZXhpdCA7OwotICAgIGMzNCopCi0JZWNobyBjMzQtY29udmV4LWJzZAotCWV4aXQgOzsKLSAgICBj MzgqKQotCWVjaG8gYzM4LWNvbnZleC1ic2QKLQlleGl0IDs7Ci0gICAgYzQqKQotCWVjaG8gYzQt Y29udmV4LWJzZAotCWV4aXQgOzsKLSAgICBlc2FjCi1maQorTk9URTogTUlQUyBHTlUvTGludXgg c3lzdGVtcyByZXF1aXJlIGEgQyBjb21waWxlciB0byBmdWxseSByZWNvZ25pemUKK3RoZSBzeXN0 ZW0gdHlwZS4gUGxlYXNlIGluc3RhbGwgYSBDIGNvbXBpbGVyIGFuZCB0cnkgYWdhaW4uCitFT0YK Kwk7OworZXNhYwogCiBjYXQgPiYyIDw8RU9GCi0kMDogdW5hYmxlIHRvIGd1ZXNzIHN5c3RlbSB0 eXBlCiAKLVRoaXMgc2NyaXB0LCBsYXN0IG1vZGlmaWVkICR0aW1lc3RhbXAsIGhhcyBmYWlsZWQg dG8gcmVjb2duaXplCi10aGUgb3BlcmF0aW5nIHN5c3RlbSB5b3UgYXJlIHVzaW5nLiBJdCBpcyBh ZHZpc2VkIHRoYXQgeW91Ci1kb3dubG9hZCB0aGUgbW9zdCB1cCB0byBkYXRlIHZlcnNpb24gb2Yg dGhlIGNvbmZpZyBzY3JpcHRzIGZyb20KK1RoaXMgc2NyaXB0ICh2ZXJzaW9uICR0aW1lc3RhbXAp LCBoYXMgZmFpbGVkIHRvIHJlY29nbml6ZSB0aGUKK29wZXJhdGluZyBzeXN0ZW0geW91IGFyZSB1 c2luZy4gSWYgeW91ciBzY3JpcHQgaXMgb2xkLCBvdmVyd3JpdGUgKmFsbCoKK2NvcGllcyBvZiBj b25maWcuZ3Vlc3MgYW5kIGNvbmZpZy5zdWIgd2l0aCB0aGUgbGF0ZXN0IHZlcnNpb25zIGZyb206 CiAKLSAgaHR0cDovL2dpdC5zYXZhbm5haC5nbnUub3JnL2dpdHdlYi8/cD1jb25maWcuZ2l0O2E9 YmxvYl9wbGFpbjtmPWNvbmZpZy5ndWVzcztoYj1IRUFECisgIGh0dHBzOi8vZ2l0LnNhdmFubmFo LmdudS5vcmcvZ2l0d2ViLz9wPWNvbmZpZy5naXQ7YT1ibG9iX3BsYWluO2Y9Y29uZmlnLmd1ZXNz CiBhbmQKLSAgaHR0cDovL2dpdC5zYXZhbm5haC5nbnUub3JnL2dpdHdlYi8/cD1jb25maWcuZ2l0 O2E9YmxvYl9wbGFpbjtmPWNvbmZpZy5zdWI7aGI9SEVBRAorICBodHRwczovL2dpdC5zYXZhbm5h aC5nbnUub3JnL2dpdHdlYi8/cD1jb25maWcuZ2l0O2E9YmxvYl9wbGFpbjtmPWNvbmZpZy5zdWIK IAotSWYgdGhlIHZlcnNpb24geW91IHJ1biAoJDApIGlzIGFscmVhZHkgdXAgdG8gZGF0ZSwgcGxl YXNlCi1zZW5kIHRoZSBmb2xsb3dpbmcgZGF0YSBhbmQgYW55IGluZm9ybWF0aW9uIHlvdSB0aGlu ayBtaWdodCBiZQotcGVydGluZW50IHRvIDxjb25maWctcGF0Y2hlc0BnbnUub3JnPiBpbiBvcmRl ciB0byBwcm92aWRlIHRoZSBuZWVkZWQKLWluZm9ybWF0aW9uIHRvIGhhbmRsZSB5b3VyIHN5c3Rl bS4KK0lmICQwIGhhcyBhbHJlYWR5IGJlZW4gdXBkYXRlZCwgc2VuZCB0aGUgZm9sbG93aW5nIGRh dGEgYW5kIGFueQoraW5mb3JtYXRpb24geW91IHRoaW5rIG1pZ2h0IGJlIHBlcnRpbmVudCB0byBj b25maWctcGF0Y2hlc0BnbnUub3JnIHRvCitwcm92aWRlIHRoZSBuZWNlc3NhcnkgaW5mb3JtYXRp b24gdG8gaGFuZGxlIHlvdXIgc3lzdGVtLgogCiBjb25maWcuZ3Vlc3MgdGltZXN0YW1wID0gJHRp bWVzdGFtcAogCkBAIC0xNTE0LDE2ICsxNjQyLDE2IEBAIGhvc3RpbmZvICAgICAgICAgICAgICAg PSBgKGhvc3RpbmZvKSAyPi9kZXYvbnVsbGAKIC91c3IvYmluL29zbGV2ZWwgICAgICAgPSBgKC91 c3IvYmluL29zbGV2ZWwpIDI+L2Rldi9udWxsYAogL3Vzci9jb252ZXgvZ2V0c3lzaW5mbyA9IGAo L3Vzci9jb252ZXgvZ2V0c3lzaW5mbykgMj4vZGV2L251bGxgCiAKLVVOQU1FX01BQ0hJTkUgPSAk e1VOQU1FX01BQ0hJTkV9Ci1VTkFNRV9SRUxFQVNFID0gJHtVTkFNRV9SRUxFQVNFfQotVU5BTUVf U1lTVEVNICA9ICR7VU5BTUVfU1lTVEVNfQotVU5BTUVfVkVSU0lPTiA9ICR7VU5BTUVfVkVSU0lP Tn0KK1VOQU1FX01BQ0hJTkUgPSAiJFVOQU1FX01BQ0hJTkUiCitVTkFNRV9SRUxFQVNFID0gIiRV TkFNRV9SRUxFQVNFIgorVU5BTUVfU1lTVEVNICA9ICIkVU5BTUVfU1lTVEVNIgorVU5BTUVfVkVS U0lPTiA9ICIkVU5BTUVfVkVSU0lPTiIKIEVPRgogCiBleGl0IDEKIAogIyBMb2NhbCB2YXJpYWJs ZXM6Ci0jIGV2YWw6IChhZGQtaG9vayAnd3JpdGUtZmlsZS1ob29rcyAndGltZS1zdGFtcCkKKyMg ZXZhbDogKGFkZC1ob29rICdiZWZvcmUtc2F2ZS1ob29rICd0aW1lLXN0YW1wKQogIyB0aW1lLXN0 YW1wLXN0YXJ0OiAidGltZXN0YW1wPSciCiAjIHRpbWUtc3RhbXAtZm9ybWF0OiAiJTp5LSUwMm0t JTAyZCIKICMgdGltZS1zdGFtcC1lbmQ6ICInIgpkaWZmIC0tZ2l0IGEvY29uZmlnLnN1YiBiL2Nv bmZpZy5zdWIKb2xkIG1vZGUgMTAwNzU1Cm5ldyBtb2RlIDEwMDY0NAppbmRleCA2MjA1Zjg0MjNk Li5mNTNhZjVhMmRhCi0tLSBhL2NvbmZpZy5zdWIKKysrIGIvY29uZmlnLnN1YgpAQCAtMSwzNiAr MSwzMSBAQAogIyEgL2Jpbi9zaAogIyBDb25maWd1cmF0aW9uIHZhbGlkYXRpb24gc3Vicm91dGlu ZSBzY3JpcHQuCi0jICAgQ29weXJpZ2h0IChDKSAxOTkyLCAxOTkzLCAxOTk0LCAxOTk1LCAxOTk2 LCAxOTk3LCAxOTk4LCAxOTk5LAotIyAgIDIwMDAsIDIwMDEsIDIwMDIsIDIwMDMsIDIwMDQsIDIw MDUsIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDksIDIwMTAsCi0jICAgMjAxMSwgMjAxMiBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMgICBDb3B5cmlnaHQgMTk5Mi0yMDE5IEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbiwgSW5jLgogCi10aW1lc3RhbXA9JzIwMTItMDQtMTgnCit0aW1lc3Rh bXA9JzIwMTktMDEtMDUnCiAKLSMgVGhpcyBmaWxlIGlzIChpbiBwcmluY2lwbGUpIGNvbW1vbiB0 byBBTEwgR05VIHNvZnR3YXJlLgotIyBUaGUgcHJlc2VuY2Ugb2YgYSBtYWNoaW5lIGluIHRoaXMg ZmlsZSBzdWdnZXN0cyB0aGF0IFNPTUUgR05VIHNvZnR3YXJlCi0jIGNhbiBoYW5kbGUgdGhhdCBt YWNoaW5lLiAgSXQgZG9lcyBub3QgaW1wbHkgQUxMIEdOVSBzb2Z0d2FyZSBjYW4uCi0jCi0jIFRo aXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3Ig bW9kaWZ5Ci0jIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0jIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp dGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNv ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CisjIHVuZGVy IHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVk IGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2Yg dGhlIExpY2Vuc2UsIG9yCiAjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAj Ci0jIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg YmUgdXNlZnVsLAotIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg aW1wbGllZCB3YXJyYW50eSBvZgotIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0jIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGZvciBtb3JlIGRldGFpbHMuCisjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKKyMgV0lUSE9VVCBBTlkgV0FSUkFOVFk7 IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkg b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorIyBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAjCiAjIFlvdSBzaG91bGQgaGF2 ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0jIGFs b25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xp Y2Vuc2VzLz4uCisjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHNlZSA8aHR0cHM6 Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgogIwogIyBBcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRv IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwgaWYgeW91CiAjIGRpc3RyaWJ1dGUgdGhp cyBmaWxlIGFzIHBhcnQgb2YgYSBwcm9ncmFtIHRoYXQgY29udGFpbnMgYQogIyBjb25maWd1cmF0 aW9uIHNjcmlwdCBnZW5lcmF0ZWQgYnkgQXV0b2NvbmYsIHlvdSBtYXkgaW5jbHVkZSBpdCB1bmRl cgotIyB0aGUgc2FtZSBkaXN0cmlidXRpb24gdGVybXMgdGhhdCB5b3UgdXNlIGZvciB0aGUgcmVz dCBvZiB0aGF0IHByb2dyYW0uCisjIHRoZSBzYW1lIGRpc3RyaWJ1dGlvbiB0ZXJtcyB0aGF0IHlv dSB1c2UgZm9yIHRoZSByZXN0IG9mIHRoYXQKKyMgcHJvZ3JhbS4gIFRoaXMgRXhjZXB0aW9uIGlz IGFuIGFkZGl0aW9uYWwgcGVybWlzc2lvbiB1bmRlciBzZWN0aW9uIDcKKyMgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlLCB2ZXJzaW9uIDMgKCJHUEx2MyIpLgogCiAKLSMgUGxlYXNl IHNlbmQgcGF0Y2hlcyB0byA8Y29uZmlnLXBhdGNoZXNAZ251Lm9yZz4uICBTdWJtaXQgYSBjb250 ZXh0Ci0jIGRpZmYgYW5kIGEgcHJvcGVybHkgZm9ybWF0dGVkIEdOVSBDaGFuZ2VMb2cgZW50cnku CisjIFBsZWFzZSBzZW5kIHBhdGNoZXMgdG8gPGNvbmZpZy1wYXRjaGVzQGdudS5vcmc+LgogIwog IyBDb25maWd1cmF0aW9uIHN1YnJvdXRpbmUgdG8gdmFsaWRhdGUgYW5kIGNhbm9uaWNhbGl6ZSBh IGNvbmZpZ3VyYXRpb24gdHlwZS4KICMgU3VwcGx5IHRoZSBzcGVjaWZpZWQgY29uZmlndXJhdGlv biB0eXBlIGFzIGFuIGFyZ3VtZW50LgpAQCAtMzgsNyArMzMsNyBAQCB0aW1lc3RhbXA9JzIwMTIt MDQtMTgnCiAjIE90aGVyd2lzZSwgd2UgcHJpbnQgdGhlIGNhbm9uaWNhbCBjb25maWcgdHlwZSBv biBzdGRvdXQgYW5kIHN1Y2NlZWQuCiAKICMgWW91IGNhbiBnZXQgdGhlIGxhdGVzdCB2ZXJzaW9u IG9mIHRoaXMgc2NyaXB0IGZyb206Ci0jIGh0dHA6Ly9naXQuc2F2YW5uYWguZ251Lm9yZy9naXR3 ZWIvP3A9Y29uZmlnLmdpdDthPWJsb2JfcGxhaW47Zj1jb25maWcuc3ViO2hiPUhFQUQKKyMgaHR0 cHM6Ly9naXQuc2F2YW5uYWguZ251Lm9yZy9naXR3ZWIvP3A9Y29uZmlnLmdpdDthPWJsb2JfcGxh aW47Zj1jb25maWcuc3ViCiAKICMgVGhpcyBmaWxlIGlzIHN1cHBvc2VkIHRvIGJlIHRoZSBzYW1l IGZvciBhbGwgR05VIHBhY2thZ2VzCiAjIGFuZCByZWNvZ25pemUgYWxsIHRoZSBDUFUgdHlwZXMs IHN5c3RlbSB0eXBlcyBhbmQgYWxpYXNlcwpAQCAtNTgsMTIgKzUzLDExIEBAIHRpbWVzdGFtcD0n MjAxMi0wNC0xOCcKIG1lPWBlY2hvICIkMCIgfCBzZWQgLWUgJ3MsLiovLCwnYAogCiB1c2FnZT0i XAotVXNhZ2U6ICQwIFtPUFRJT05dIENQVS1NRlItT1BTWVMKLSAgICAgICAkMCBbT1BUSU9OXSBB TElBUworVXNhZ2U6ICQwIFtPUFRJT05dIENQVS1NRlItT1BTWVMgb3IgQUxJQVMKIAogQ2Fub25p Y2FsaXplIGEgY29uZmlndXJhdGlvbiBuYW1lLgogCi1PcGVyYXRpb24gbW9kZXM6CitPcHRpb25z OgogICAtaCwgLS1oZWxwICAgICAgICAgcHJpbnQgdGhpcyBoZWxwLCB0aGVuIGV4aXQKICAgLXQs IC0tdGltZS1zdGFtcCAgIHByaW50IGRhdGUgb2YgbGFzdCBtb2RpZmljYXRpb24sIHRoZW4gZXhp dAogICAtdiwgLS12ZXJzaW9uICAgICAgcHJpbnQgdmVyc2lvbiBudW1iZXIsIHRoZW4gZXhpdApA QCAtNzMsOSArNjcsNyBAQCBSZXBvcnQgYnVncyBhbmQgcGF0Y2hlcyB0byA8Y29uZmlnLXBhdGNo ZXNAZ251Lm9yZz4uIgogdmVyc2lvbj0iXAogR05VIGNvbmZpZy5zdWIgKCR0aW1lc3RhbXApCiAK LUNvcHlyaWdodCAoQykgMTk5MiwgMTk5MywgMTk5NCwgMTk5NSwgMTk5NiwgMTk5NywgMTk5OCwg MTk5OSwgMjAwMCwKLTIwMDEsIDIwMDIsIDIwMDMsIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcsIDIw MDgsIDIwMDksIDIwMTAsIDIwMTEsIDIwMTIKLUZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j LgorQ29weXJpZ2h0IDE5OTItMjAxOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIAog VGhpcyBpcyBmcmVlIHNvZnR3YXJlOyBzZWUgdGhlIHNvdXJjZSBmb3IgY29weWluZyBjb25kaXRp b25zLiAgVGhlcmUgaXMgTk8KIHdhcnJhbnR5OyBub3QgZXZlbiBmb3IgTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiIKQEAgLTk3LDEyICs4OSwxMiBA QCB3aGlsZSB0ZXN0ICQjIC1ndCAwIDsgZG8KICAgICAtICkJIyBVc2Ugc3RkaW4gYXMgaW5wdXQu CiAgICAgICAgYnJlYWsgOzsKICAgICAtKiApCi0gICAgICAgZWNobyAiJG1lOiBpbnZhbGlkIG9w dGlvbiAkMSRoZWxwIgorICAgICAgIGVjaG8gIiRtZTogaW52YWxpZCBvcHRpb24gJDEkaGVscCIg PiYyCiAgICAgICAgZXhpdCAxIDs7CiAKICAgICAqbG9jYWwqKQogICAgICAgICMgRmlyc3QgcGFz cyB0aHJvdWdoIGFueSBsb2NhbCBtYWNoaW5lIHR5cGVzLgotICAgICAgIGVjaG8gJDEKKyAgICAg ICBlY2hvICIkMSIKICAgICAgICBleGl0IDs7CiAKICAgICAqICkKQEAgLTExOCwxMTk2ICsxMTAs MTE2NyBAQCBjYXNlICQjIGluCiAgICAgZXhpdCAxOzsKIGVzYWMKIAotIyBTZXBhcmF0ZSB3aGF0 IHRoZSB1c2VyIGdhdmUgaW50byBDUFUtQ09NUEFOWSBhbmQgT1Mgb3IgS0VSTkVMLU9TIChpZiBh bnkpLgotIyBIZXJlIHdlIG11c3QgcmVjb2duaXplIGFsbCB0aGUgdmFsaWQgS0VSTkVMLU9TIGNv bWJpbmF0aW9ucy4KLW1heWJlX29zPWBlY2hvICQxIHwgc2VkICdzL15cKC4qXCktXChbXi1dKi1b Xi1dKlwpJC9cMi8nYAotY2FzZSAkbWF5YmVfb3MgaW4KLSAgbnRvLXFueCogfCBsaW51eC1nbnUq IHwgbGludXgtYW5kcm9pZCogfCBsaW51eC1kaWV0bGliYyB8IGxpbnV4LW5ld2xpYiogfCBcCi0g IGxpbnV4LXVjbGliYyogfCB1Y2xpbnV4LXVjbGliYyogfCB1Y2xpbnV4LWdudSogfCBrZnJlZWJz ZCotZ251KiB8IFwKLSAga25ldGJzZCotZ251KiB8IG5ldGJzZCotZ251KiB8IFwKLSAga29wZW5z b2xhcmlzKi1nbnUqIHwgXAotICBzdG9ybS1jaGFvcyogfCBvczItZW14KiB8IHJ0bWstbm92YSop Ci0gICAgb3M9LSRtYXliZV9vcwotICAgIGJhc2ljX21hY2hpbmU9YGVjaG8gJDEgfCBzZWQgJ3Mv XlwoLipcKS1cKFteLV0qLVteLV0qXCkkL1wxLydgCi0gICAgOzsKLSAgYW5kcm9pZC1saW51eCkK LSAgICBvcz0tbGludXgtYW5kcm9pZAotICAgIGJhc2ljX21hY2hpbmU9YGVjaG8gJDEgfCBzZWQg J3MvXlwoLipcKS1cKFteLV0qLVteLV0qXCkkL1wxLydgLXVua25vd24KLSAgICA7OwotICAqKQot ICAgIGJhc2ljX21hY2hpbmU9YGVjaG8gJDEgfCBzZWQgJ3MvLVteLV0qJC8vJ2AKLSAgICBpZiBb ICRiYXNpY19tYWNoaW5lICE9ICQxIF0KLSAgICB0aGVuIG9zPWBlY2hvICQxIHwgc2VkICdzLy4q LS8tLydgCi0gICAgZWxzZSBvcz07IGZpCi0gICAgOzsKLWVzYWMKKyMgU3BsaXQgZmllbGRzIG9m IGNvbmZpZ3VyYXRpb24gdHlwZQorIyBzaGVsbGNoZWNrIGRpc2FibGU9U0MyMTYyCitJRlM9Ii0i IHJlYWQgZmllbGQxIGZpZWxkMiBmaWVsZDMgZmllbGQ0IDw8RU9GCiskMQorRU9GCiAKLSMjIyBM ZXQncyByZWNvZ25pemUgY29tbW9uIG1hY2hpbmVzIGFzIG5vdCBiZWluZyBvcGVyYXRpbmcgc3lz dGVtcyBzbwotIyMjIHRoYXQgdGhpbmdzIGxpa2UgY29uZmlnLnN1YiBkZWNzdGF0aW9uLTMxMDAg d29yay4gIFdlIGFsc28KLSMjIyByZWNvZ25pemUgc29tZSBtYW51ZmFjdHVyZXJzIGFzIG5vdCBi ZWluZyBvcGVyYXRpbmcgc3lzdGVtcywgc28gd2UKLSMjIyBjYW4gcHJvdmlkZSBkZWZhdWx0IG9w ZXJhdGluZyBzeXN0ZW1zIGJlbG93LgotY2FzZSAkb3MgaW4KLQktc3VuKm9zKikKLQkJIyBQcmV2 ZW50IGZvbGxvd2luZyBjbGF1c2UgZnJvbSBoYW5kbGluZyB0aGlzIGludmFsaWQgaW5wdXQuCi0J CTs7Ci0JLWRlYyogfCAtbWlwcyogfCAtc2VxdWVudCogfCAtZW5jb3JlKiB8IC1wYzUzMiogfCAt c2dpKiB8IC1zb255KiB8IFwKLQktYXR0KiB8IC03MzAwKiB8IC0zMzAwKiB8IC1kZWx0YSogfCAt bW90b3JvbGEqIHwgLXN1blsyMzRdKiB8IFwKLQktdW5pY29tKiB8IC1pYm0qIHwgLW5leHQgfCAt aHAgfCAtaXNpKiB8IC1hcG9sbG8gfCAtYWx0b3MqIHwgXAotCS1jb252ZXJnZW50KiB8IC1uY3Iq IHwgLW5ld3MgfCAtMzIqIHwgLTM2MDAqIHwgLTMxMDAqIHwgLWhpdGFjaGkqIHxcCi0JLWNbMTIz XSogfCAtY29udmV4KiB8IC1zdW4gfCAtY3JkcyB8IC1vbXJvbiogfCAtZGcgfCAtdWx0cmEgfCAt dHRpKiB8IFwKLQktaGFycmlzIHwgLWRvbHBoaW4gfCAtaGlnaGxldmVsIHwgLWdvdWxkIHwgLWNi bSB8IC1ucyB8IC1tYXNzY29tcCB8IFwKLQktYXBwbGUgfCAtYXhpcyB8IC1rbnV0aCB8IC1jcmF5 IHwgLW1pY3JvYmxhemUpCi0JCW9zPQotCQliYXNpY19tYWNoaW5lPSQxCi0JCTs7Ci0JLWJsdWVn ZW5lKikKLQkJb3M9LWNuawotCQk7OwotCS1zaW0gfCAtY2lzY28gfCAtb2tpIHwgLXdlYyB8IC13 aW5ib25kKQotCQlvcz0KLQkJYmFzaWNfbWFjaGluZT0kMQotCQk7OwotCS1zY291dCkKLQkJOzsK LQktd3JzKQotCQlvcz0tdnh3b3JrcwotCQliYXNpY19tYWNoaW5lPSQxCi0JCTs7Ci0JLWNob3J1 c29zKikKLQkJb3M9LWNob3J1c29zCi0JCWJhc2ljX21hY2hpbmU9JDEKLQkJOzsKLQktY2hvcnVz cmRiKQotCQlvcz0tY2hvcnVzcmRiCi0JCWJhc2ljX21hY2hpbmU9JDEKLQkJOzsKLQktaGl1eCop Ci0JCW9zPS1oaXV4d2UyCi0JCTs7Ci0JLXNjbzYpCi0JCW9zPS1zY281djYKLQkJYmFzaWNfbWFj aGluZT1gZWNobyAkMSB8IHNlZCAtZSAncy84Ni0uKi84Ni1wYy8nYAotCQk7OwotCS1zY281KQot CQlvcz0tc2NvMy4ydjUKLQkJYmFzaWNfbWFjaGluZT1gZWNobyAkMSB8IHNlZCAtZSAncy84Ni0u Ki84Ni1wYy8nYAotCQk7OwotCS1zY280KQotCQlvcz0tc2NvMy4ydjQKLQkJYmFzaWNfbWFjaGlu ZT1gZWNobyAkMSB8IHNlZCAtZSAncy84Ni0uKi84Ni1wYy8nYAotCQk7OwotCS1zY28zLjIuWzQt OV0qKQotCQlvcz1gZWNobyAkb3MgfCBzZWQgLWUgJ3Mvc2NvMy4yLi9zY28zLjJ2LydgCi0JCWJh c2ljX21hY2hpbmU9YGVjaG8gJDEgfCBzZWQgLWUgJ3MvODYtLiovODYtcGMvJ2AKLQkJOzsKLQkt c2NvMy4ydls0LTldKikKLQkJIyBEb24ndCBmb3JnZXQgdmVyc2lvbiBpZiBpdCBpcyAzLjJ2NCBv ciBuZXdlci4KLQkJYmFzaWNfbWFjaGluZT1gZWNobyAkMSB8IHNlZCAtZSAncy84Ni0uKi84Ni1w Yy8nYAotCQk7OwotCS1zY281djYqKQotCQkjIERvbid0IGZvcmdldCB2ZXJzaW9uIGlmIGl0IGlz IDMuMnY0IG9yIG5ld2VyLgotCQliYXNpY19tYWNoaW5lPWBlY2hvICQxIHwgc2VkIC1lICdzLzg2 LS4qLzg2LXBjLydgCi0JCTs7Ci0JLXNjbyopCi0JCW9zPS1zY28zLjJ2MgotCQliYXNpY19tYWNo aW5lPWBlY2hvICQxIHwgc2VkIC1lICdzLzg2LS4qLzg2LXBjLydgCi0JCTs7Ci0JLXVkayopCi0J CWJhc2ljX21hY2hpbmU9YGVjaG8gJDEgfCBzZWQgLWUgJ3MvODYtLiovODYtcGMvJ2AKLQkJOzsK LQktaXNjKQotCQlvcz0taXNjMi4yCi0JCWJhc2ljX21hY2hpbmU9YGVjaG8gJDEgfCBzZWQgLWUg J3MvODYtLiovODYtcGMvJ2AKLQkJOzsKLQktY2xpeCopCi0JCWJhc2ljX21hY2hpbmU9Y2xpcHBl ci1pbnRlcmdyYXBoCi0JCTs7Ci0JLWlzYyopCi0JCWJhc2ljX21hY2hpbmU9YGVjaG8gJDEgfCBz ZWQgLWUgJ3MvODYtLiovODYtcGMvJ2AKLQkJOzsKLQktbHlueCoxNzgpCi0JCW9zPS1seW54b3Mx NzgKLQkJOzsKLQktbHlueCo1KQotCQlvcz0tbHlueG9zNQotCQk7OwotCS1seW54KikKLQkJb3M9 LWx5bnhvcworIyBTZXBhcmF0ZSBpbnRvIGxvZ2ljYWwgY29tcG9uZW50cyBmb3IgZnVydGhlciB2 YWxpZGF0aW9uCitjYXNlICQxIGluCisJKi0qLSotKi0qKQorCQllY2hvIEludmFsaWQgY29uZmln dXJhdGlvbiBcYCIkMSJcJzogbW9yZSB0aGFuIGZvdXIgY29tcG9uZW50cyA+JjIKKwkJZXhpdCAx CiAJCTs7Ci0JLXB0eCopCi0JCWJhc2ljX21hY2hpbmU9YGVjaG8gJDEgfCBzZWQgLWUgJ3MvODYt LiovODYtc2VxdWVudC8nYAorCSotKi0qLSopCisJCWJhc2ljX21hY2hpbmU9JGZpZWxkMS0kZmll bGQyCisJCW9zPSRmaWVsZDMtJGZpZWxkNAogCQk7OwotCS13aW5kb3dzbnQqKQotCQlvcz1gZWNo byAkb3MgfCBzZWQgLWUgJ3Mvd2luZG93c250L3dpbm50LydgCisJKi0qLSopCisJCSMgQW1iaWd1 b3VzIHdoZXRoZXIgQ09NUEFOWSBpcyBwcmVzZW50LCBvciBza2lwcGVkIGFuZCBLRVJORUwtT1Mg aXMgdHdvCisJCSMgcGFydHMKKwkJbWF5YmVfb3M9JGZpZWxkMi0kZmllbGQzCisJCWNhc2UgJG1h eWJlX29zIGluCisJCQludG8tcW54KiB8IGxpbnV4LWdudSogfCBsaW51eC1hbmRyb2lkKiB8IGxp bnV4LWRpZXRsaWJjIFwKKwkJCXwgbGludXgtbmV3bGliKiB8IGxpbnV4LW11c2wqIHwgbGludXgt dWNsaWJjKiB8IHVjbGludXgtdWNsaWJjKiBcCisJCQl8IHVjbGludXgtZ251KiB8IGtmcmVlYnNk Ki1nbnUqIHwga25ldGJzZCotZ251KiB8IG5ldGJzZCotZ251KiBcCisJCQl8IG5ldGJzZCotZWFi aSogfCBrb3BlbnNvbGFyaXMqLWdudSogfCBjbG91ZGFiaSotZWFiaSogXAorCQkJfCBzdG9ybS1j aGFvcyogfCBvczItZW14KiB8IHJ0bWstbm92YSopCisJCQkJYmFzaWNfbWFjaGluZT0kZmllbGQx CisJCQkJb3M9JG1heWJlX29zCisJCQkJOzsKKwkJCWFuZHJvaWQtbGludXgpCisJCQkJYmFzaWNf bWFjaGluZT0kZmllbGQxLXVua25vd24KKwkJCQlvcz1saW51eC1hbmRyb2lkCisJCQkJOzsKKwkJ CSopCisJCQkJYmFzaWNfbWFjaGluZT0kZmllbGQxLSRmaWVsZDIKKwkJCQlvcz0kZmllbGQzCisJ CQkJOzsKKwkJZXNhYwogCQk7OwotCS1wc29zKikKLQkJb3M9LXBzb3MKKwkqLSopCisJCSMgQSBs b25lIGNvbmZpZyB3ZSBoYXBwZW4gdG8gbWF0Y2ggbm90IGZpdHRpbmcgYW55IHBhdHRlcm4KKwkJ Y2FzZSAkZmllbGQxLSRmaWVsZDIgaW4KKwkJCWRlY3N0YXRpb24tMzEwMCkKKwkJCQliYXNpY19t YWNoaW5lPW1pcHMtZGVjCisJCQkJb3M9CisJCQkJOzsKKwkJCSotKikKKwkJCQkjIFNlY29uZCBj b21wb25lbnQgaXMgdXN1YWxseSwgYnV0IG5vdCBhbHdheXMgdGhlIE9TCisJCQkJY2FzZSAkZmll bGQyIGluCisJCQkJCSMgUHJldmVudCBmb2xsb3dpbmcgY2xhdXNlIGZyb20gaGFuZGxpbmcgdGhp cyB2YWxpZCBvcworCQkJCQlzdW4qb3MqKQorCQkJCQkJYmFzaWNfbWFjaGluZT0kZmllbGQxCisJ CQkJCQlvcz0kZmllbGQyCisJCQkJCQk7OworCQkJCQkjIE1hbnVmYWN0dXJlcnMKKwkJCQkJZGVj KiB8IG1pcHMqIHwgc2VxdWVudCogfCBlbmNvcmUqIHwgcGM1MzMqIHwgc2dpKiB8IHNvbnkqIFwK KwkJCQkJfCBhdHQqIHwgNzMwMCogfCAzMzAwKiB8IGRlbHRhKiB8IG1vdG9yb2xhKiB8IHN1blsy MzRdKiBcCisJCQkJCXwgdW5pY29tKiB8IGlibSogfCBuZXh0IHwgaHAgfCBpc2kqIHwgYXBvbGxv IHwgYWx0b3MqIFwKKwkJCQkJfCBjb252ZXJnZW50KiB8IG5jciogfCBuZXdzIHwgMzIqIHwgMzYw MCogfCAzMTAwKiBcCisJCQkJCXwgaGl0YWNoaSogfCBjWzEyM10qIHwgY29udmV4KiB8IHN1biB8 IGNyZHMgfCBvbXJvbiogfCBkZyBcCisJCQkJCXwgdWx0cmEgfCB0dGkqIHwgaGFycmlzIHwgZG9s cGhpbiB8IGhpZ2hsZXZlbCB8IGdvdWxkIFwKKwkJCQkJfCBjYm0gfCBucyB8IG1hc3Njb21wIHwg YXBwbGUgfCBheGlzIHwga251dGggfCBjcmF5IFwKKwkJCQkJfCBtaWNyb2JsYXplKiB8IHNpbSB8 IGNpc2NvIFwKKwkJCQkJfCBva2kgfCB3ZWMgfCB3cnMgfCB3aW5ib25kKQorCQkJCQkJYmFzaWNf bWFjaGluZT0kZmllbGQxLSRmaWVsZDIKKwkJCQkJCW9zPQorCQkJCQkJOzsKKwkJCQkJKikKKwkJ CQkJCWJhc2ljX21hY2hpbmU9JGZpZWxkMQorCQkJCQkJb3M9JGZpZWxkMgorCQkJCQkJOzsKKwkJ CQllc2FjCisJCQk7OworCQllc2FjCiAJCTs7Ci0JLW1pbnQgfCAtbWludFswLTldKikKLQkJYmFz aWNfbWFjaGluZT1tNjhrLWF0YXJpCi0JCW9zPS1taW50CisJKikKKwkJIyBDb252ZXJ0IHNpbmds ZS1jb21wb25lbnQgc2hvcnQtaGFuZHMgbm90IHZhbGlkIGFzIHBhcnQgb2YKKwkJIyBtdWx0aS1j b21wb25lbnQgY29uZmlndXJhdGlvbnMuCisJCWNhc2UgJGZpZWxkMSBpbgorCQkJMzg2YnNkKQor CQkJCWJhc2ljX21hY2hpbmU9aTM4Ni1wYworCQkJCW9zPWJzZAorCQkJCTs7CisJCQlhMjlraGlm KQorCQkJCWJhc2ljX21hY2hpbmU9YTI5ay1hbWQKKwkJCQlvcz11ZGkKKwkJCQk7OworCQkJYWRv YmU2OGspCisJCQkJYmFzaWNfbWFjaGluZT1tNjgwMTAtYWRvYmUKKwkJCQlvcz1zY291dAorCQkJ CTs7CisJCQlhbGxpYW50KQorCQkJCWJhc2ljX21hY2hpbmU9Zng4MC1hbGxpYW50CisJCQkJb3M9 CisJCQkJOzsKKwkJCWFsdG9zIHwgYWx0b3MzMDY4KQorCQkJCWJhc2ljX21hY2hpbmU9bTY4ay1h bHRvcworCQkJCW9zPQorCQkJCTs7CisJCQlhbTI5aykKKwkJCQliYXNpY19tYWNoaW5lPWEyOWst bm9uZQorCQkJCW9zPWJzZAorCQkJCTs7CisJCQlhbWRhaGwpCisJCQkJYmFzaWNfbWFjaGluZT01 ODAtYW1kYWhsCisJCQkJb3M9c3lzdgorCQkJCTs7CisJCQlhbWlnYSkKKwkJCQliYXNpY19tYWNo aW5lPW02OGstdW5rbm93bgorCQkJCW9zPQorCQkJCTs7CisJCQlhbWlnYW9zIHwgYW1pZ2Fkb3Mp CisJCQkJYmFzaWNfbWFjaGluZT1tNjhrLXVua25vd24KKwkJCQlvcz1hbWlnYW9zCisJCQkJOzsK KwkJCWFtaWdhdW5peCB8IGFtaXgpCisJCQkJYmFzaWNfbWFjaGluZT1tNjhrLXVua25vd24KKwkJ CQlvcz1zeXN2NAorCQkJCTs7CisJCQlhcG9sbG82OCkKKwkJCQliYXNpY19tYWNoaW5lPW02OGst YXBvbGxvCisJCQkJb3M9c3lzdgorCQkJCTs7CisJCQlhcG9sbG82OGJzZCkKKwkJCQliYXNpY19t YWNoaW5lPW02OGstYXBvbGxvCisJCQkJb3M9YnNkCisJCQkJOzsKKwkJCWFyb3MpCisJCQkJYmFz aWNfbWFjaGluZT1pMzg2LXBjCisJCQkJb3M9YXJvcworCQkJCTs7CisJCQlhdXgpCisJCQkJYmFz aWNfbWFjaGluZT1tNjhrLWFwcGxlCisJCQkJb3M9YXV4CisJCQkJOzsKKwkJCWJhbGFuY2UpCisJ CQkJYmFzaWNfbWFjaGluZT1uczMyay1zZXF1ZW50CisJCQkJb3M9ZHluaXgKKwkJCQk7OworCQkJ YmxhY2tmaW4pCisJCQkJYmFzaWNfbWFjaGluZT1iZmluLXVua25vd24KKwkJCQlvcz1saW51eAor CQkJCTs7CisJCQljZWdjYykKKwkJCQliYXNpY19tYWNoaW5lPWFybS11bmtub3duCisJCQkJb3M9 Y2VnY2MKKwkJCQk7OworCQkJY29udmV4LWMxKQorCQkJCWJhc2ljX21hY2hpbmU9YzEtY29udmV4 CisJCQkJb3M9YnNkCisJCQkJOzsKKwkJCWNvbnZleC1jMikKKwkJCQliYXNpY19tYWNoaW5lPWMy LWNvbnZleAorCQkJCW9zPWJzZAorCQkJCTs7CisJCQljb252ZXgtYzMyKQorCQkJCWJhc2ljX21h Y2hpbmU9YzMyLWNvbnZleAorCQkJCW9zPWJzZAorCQkJCTs7CisJCQljb252ZXgtYzM0KQorCQkJ CWJhc2ljX21hY2hpbmU9YzM0LWNvbnZleAorCQkJCW9zPWJzZAorCQkJCTs7CisJCQljb252ZXgt YzM4KQorCQkJCWJhc2ljX21hY2hpbmU9YzM4LWNvbnZleAorCQkJCW9zPWJzZAorCQkJCTs7CisJ CQljcmF5KQorCQkJCWJhc2ljX21hY2hpbmU9ajkwLWNyYXkKKwkJCQlvcz11bmljb3MKKwkJCQk7 OworCQkJY3JkcyB8IHVub3MpCisJCQkJYmFzaWNfbWFjaGluZT1tNjhrLWNyZHMKKwkJCQlvcz0K KwkJCQk7OworCQkJZGEzMCkKKwkJCQliYXNpY19tYWNoaW5lPW02OGstZGEzMAorCQkJCW9zPQor CQkJCTs7CisJCQlkZWNzdGF0aW9uIHwgcG1heCB8IHBtaW4gfCBkZWMzMTAwIHwgZGVjc3RhdG4p CisJCQkJYmFzaWNfbWFjaGluZT1taXBzLWRlYworCQkJCW9zPQorCQkJCTs7CisJCQlkZWx0YTg4 KQorCQkJCWJhc2ljX21hY2hpbmU9bTg4ay1tb3Rvcm9sYQorCQkJCW9zPXN5c3YzCisJCQkJOzsK KwkJCWRpY29zKQorCQkJCWJhc2ljX21hY2hpbmU9aTY4Ni1wYworCQkJCW9zPWRpY29zCisJCQkJ OzsKKwkJCWRqZ3BwKQorCQkJCWJhc2ljX21hY2hpbmU9aTU4Ni1wYworCQkJCW9zPW1zZG9zZGpn cHAKKwkJCQk7OworCQkJZWJtb24yOWspCisJCQkJYmFzaWNfbWFjaGluZT1hMjlrLWFtZAorCQkJ CW9zPWVibW9uCisJCQkJOzsKKwkJCWVzMTgwMCB8IE9TRTY4ayB8IG9zZTY4ayB8IG9zZSB8IE9T RSkKKwkJCQliYXNpY19tYWNoaW5lPW02OGstZXJpY3Nzb24KKwkJCQlvcz1vc2UKKwkJCQk7Owor CQkJZ21pY3JvKQorCQkJCWJhc2ljX21hY2hpbmU9dHJvbi1nbWljcm8KKwkJCQlvcz1zeXN2CisJ CQkJOzsKKwkJCWdvMzIpCisJCQkJYmFzaWNfbWFjaGluZT1pMzg2LXBjCisJCQkJb3M9Z28zMgor CQkJCTs7CisJCQloODMwMGhtcykKKwkJCQliYXNpY19tYWNoaW5lPWg4MzAwLWhpdGFjaGkKKwkJ CQlvcz1obXMKKwkJCQk7OworCQkJaDgzMDB4cmF5KQorCQkJCWJhc2ljX21hY2hpbmU9aDgzMDAt aGl0YWNoaQorCQkJCW9zPXhyYXkKKwkJCQk7OworCQkJaDg1MDBobXMpCisJCQkJYmFzaWNfbWFj aGluZT1oODUwMC1oaXRhY2hpCisJCQkJb3M9aG1zCisJCQkJOzsKKwkJCWhhcnJpcykKKwkJCQli YXNpY19tYWNoaW5lPW04OGstaGFycmlzCisJCQkJb3M9c3lzdjMKKwkJCQk7OworCQkJaHAzMDAp CisJCQkJYmFzaWNfbWFjaGluZT1tNjhrLWhwCisJCQkJOzsKKwkJCWhwMzAwYnNkKQorCQkJCWJh c2ljX21hY2hpbmU9bTY4ay1ocAorCQkJCW9zPWJzZAorCQkJCTs7CisJCQlocDMwMGhwdXgpCisJ CQkJYmFzaWNfbWFjaGluZT1tNjhrLWhwCisJCQkJb3M9aHB1eAorCQkJCTs7CisJCQlocHBhb3Nm KQorCQkJCWJhc2ljX21hY2hpbmU9aHBwYTEuMS1ocAorCQkJCW9zPW9zZgorCQkJCTs7CisJCQlo cHBybykKKwkJCQliYXNpY19tYWNoaW5lPWhwcGExLjEtaHAKKwkJCQlvcz1wcm9lbGYKKwkJCQk7 OworCQkJaTM4Nm1hY2gpCisJCQkJYmFzaWNfbWFjaGluZT1pMzg2LW1hY2gKKwkJCQlvcz1tYWNo CisJCQkJOzsKKwkJCXZzdGEpCisJCQkJYmFzaWNfbWFjaGluZT1pMzg2LXBjCisJCQkJb3M9dnN0 YQorCQkJCTs7CisJCQlpc2k2OCB8IGlzaSkKKwkJCQliYXNpY19tYWNoaW5lPW02OGstaXNpCisJ CQkJb3M9c3lzdgorCQkJCTs7CisJCQltNjhrbm9tbXUpCisJCQkJYmFzaWNfbWFjaGluZT1tNjhr LXVua25vd24KKwkJCQlvcz1saW51eAorCQkJCTs7CisJCQltYWdudW0gfCBtMzIzMCkKKwkJCQli YXNpY19tYWNoaW5lPW1pcHMtbWlwcworCQkJCW9zPXN5c3YKKwkJCQk7OworCQkJbWVybGluKQor CQkJCWJhc2ljX21hY2hpbmU9bnMzMmstdXRlaworCQkJCW9zPXN5c3YKKwkJCQk7OworCQkJbWlu Z3c2NCkKKwkJCQliYXNpY19tYWNoaW5lPXg4Nl82NC1wYworCQkJCW9zPW1pbmd3NjQKKwkJCQk7 OworCQkJbWluZ3czMikKKwkJCQliYXNpY19tYWNoaW5lPWk2ODYtcGMKKwkJCQlvcz1taW5ndzMy CisJCQkJOzsKKwkJCW1pbmd3MzJjZSkKKwkJCQliYXNpY19tYWNoaW5lPWFybS11bmtub3duCisJ CQkJb3M9bWluZ3czMmNlCisJCQkJOzsKKwkJCW1vbml0b3IpCisJCQkJYmFzaWNfbWFjaGluZT1t NjhrLXJvbTY4aworCQkJCW9zPWNvZmYKKwkJCQk7OworCQkJbW9ycGhvcykKKwkJCQliYXNpY19t YWNoaW5lPXBvd2VycGMtdW5rbm93bgorCQkJCW9zPW1vcnBob3MKKwkJCQk7OworCQkJbW94aWVi b3gpCisJCQkJYmFzaWNfbWFjaGluZT1tb3hpZS11bmtub3duCisJCQkJb3M9bW94aWVib3gKKwkJ CQk7OworCQkJbXNkb3MpCisJCQkJYmFzaWNfbWFjaGluZT1pMzg2LXBjCisJCQkJb3M9bXNkb3MK KwkJCQk7OworCQkJbXN5cykKKwkJCQliYXNpY19tYWNoaW5lPWk2ODYtcGMKKwkJCQlvcz1tc3lz CisJCQkJOzsKKwkJCW12cykKKwkJCQliYXNpY19tYWNoaW5lPWkzNzAtaWJtCisJCQkJb3M9bXZz CisJCQkJOzsKKwkJCW5hY2wpCisJCQkJYmFzaWNfbWFjaGluZT1sZTMyLXVua25vd24KKwkJCQlv cz1uYWNsCisJCQkJOzsKKwkJCW5jcjMwMDApCisJCQkJYmFzaWNfbWFjaGluZT1pNDg2LW5jcgor CQkJCW9zPXN5c3Y0CisJCQkJOzsKKwkJCW5ldGJzZDM4NikKKwkJCQliYXNpY19tYWNoaW5lPWkz ODYtcGMKKwkJCQlvcz1uZXRic2QKKwkJCQk7OworCQkJbmV0d2luZGVyKQorCQkJCWJhc2ljX21h Y2hpbmU9YXJtdjRsLXJlYmVsCisJCQkJb3M9bGludXgKKwkJCQk7OworCQkJbmV3cyB8IG5ld3M3 MDAgfCBuZXdzODAwIHwgbmV3czkwMCkKKwkJCQliYXNpY19tYWNoaW5lPW02OGstc29ueQorCQkJ CW9zPW5ld3NvcworCQkJCTs7CisJCQluZXdzMTAwMCkKKwkJCQliYXNpY19tYWNoaW5lPW02ODAz MC1zb255CisJCQkJb3M9bmV3c29zCisJCQkJOzsKKwkJCW5lY3Y3MCkKKwkJCQliYXNpY19tYWNo aW5lPXY3MC1uZWMKKwkJCQlvcz1zeXN2CisJCQkJOzsKKwkJCW5oMzAwMCkKKwkJCQliYXNpY19t YWNoaW5lPW02OGstaGFycmlzCisJCQkJb3M9Y3h1eAorCQkJCTs7CisJCQluaFs0NV0wMDApCisJ CQkJYmFzaWNfbWFjaGluZT1tODhrLWhhcnJpcworCQkJCW9zPWN4dXgKKwkJCQk7OworCQkJbmlu ZHk5NjApCisJCQkJYmFzaWNfbWFjaGluZT1pOTYwLWludGVsCisJCQkJb3M9bmluZHkKKwkJCQk7 OworCQkJbW9uOTYwKQorCQkJCWJhc2ljX21hY2hpbmU9aTk2MC1pbnRlbAorCQkJCW9zPW1vbjk2 MAorCQkJCTs7CisJCQlub25zdG9wdXgpCisJCQkJYmFzaWNfbWFjaGluZT1taXBzLWNvbXBhcQor CQkJCW9zPW5vbnN0b3B1eAorCQkJCTs7CisJCQlvczQwMCkKKwkJCQliYXNpY19tYWNoaW5lPXBv d2VycGMtaWJtCisJCQkJb3M9b3M0MDAKKwkJCQk7OworCQkJT1NFNjgwMDAgfCBvc2U2ODAwMCkK KwkJCQliYXNpY19tYWNoaW5lPW02ODAwMC1lcmljc3NvbgorCQkJCW9zPW9zZQorCQkJCTs7CisJ CQlvczY4aykKKwkJCQliYXNpY19tYWNoaW5lPW02OGstbm9uZQorCQkJCW9zPW9zNjhrCisJCQkJ OzsKKwkJCXBhcmFnb24pCisJCQkJYmFzaWNfbWFjaGluZT1pODYwLWludGVsCisJCQkJb3M9b3Nm CisJCQkJOzsKKwkJCXBhcmlzYykKKwkJCQliYXNpY19tYWNoaW5lPWhwcGEtdW5rbm93bgorCQkJ CW9zPWxpbnV4CisJCQkJOzsKKwkJCXB3MzIpCisJCQkJYmFzaWNfbWFjaGluZT1pNTg2LXVua25v d24KKwkJCQlvcz1wdzMyCisJCQkJOzsKKwkJCXJkb3MgfCByZG9zNjQpCisJCQkJYmFzaWNfbWFj aGluZT14ODZfNjQtcGMKKwkJCQlvcz1yZG9zCisJCQkJOzsKKwkJCXJkb3MzMikKKwkJCQliYXNp Y19tYWNoaW5lPWkzODYtcGMKKwkJCQlvcz1yZG9zCisJCQkJOzsKKwkJCXJvbTY4aykKKwkJCQli YXNpY19tYWNoaW5lPW02OGstcm9tNjhrCisJCQkJb3M9Y29mZgorCQkJCTs7CisJCQlzYTI5MjAw KQorCQkJCWJhc2ljX21hY2hpbmU9YTI5ay1hbWQKKwkJCQlvcz11ZGkKKwkJCQk7OworCQkJc2Vp KQorCQkJCWJhc2ljX21hY2hpbmU9bWlwcy1zZWkKKwkJCQlvcz1zZWl1eAorCQkJCTs7CisJCQlz ZXF1ZW50KQorCQkJCWJhc2ljX21hY2hpbmU9aTM4Ni1zZXF1ZW50CisJCQkJb3M9CisJCQkJOzsK KwkJCXNwczcpCisJCQkJYmFzaWNfbWFjaGluZT1tNjhrLWJ1bGwKKwkJCQlvcz1zeXN2MgorCQkJ CTs7CisJCQlzdDIwMDApCisJCQkJYmFzaWNfbWFjaGluZT1tNjhrLXRhbmRlbQorCQkJCW9zPQor CQkJCTs7CisJCQlzdHJhdHVzKQorCQkJCWJhc2ljX21hY2hpbmU9aTg2MC1zdHJhdHVzCisJCQkJ b3M9c3lzdjQKKwkJCQk7OworCQkJc3VuMikKKwkJCQliYXNpY19tYWNoaW5lPW02ODAwMC1zdW4K KwkJCQlvcz0KKwkJCQk7OworCQkJc3VuMm9zMykKKwkJCQliYXNpY19tYWNoaW5lPW02ODAwMC1z dW4KKwkJCQlvcz1zdW5vczMKKwkJCQk7OworCQkJc3VuMm9zNCkKKwkJCQliYXNpY19tYWNoaW5l PW02ODAwMC1zdW4KKwkJCQlvcz1zdW5vczQKKwkJCQk7OworCQkJc3VuMykKKwkJCQliYXNpY19t YWNoaW5lPW02OGstc3VuCisJCQkJb3M9CisJCQkJOzsKKwkJCXN1bjNvczMpCisJCQkJYmFzaWNf bWFjaGluZT1tNjhrLXN1bgorCQkJCW9zPXN1bm9zMworCQkJCTs7CisJCQlzdW4zb3M0KQorCQkJ CWJhc2ljX21hY2hpbmU9bTY4ay1zdW4KKwkJCQlvcz1zdW5vczQKKwkJCQk7OworCQkJc3VuNCkK KwkJCQliYXNpY19tYWNoaW5lPXNwYXJjLXN1bgorCQkJCW9zPQorCQkJCTs7CisJCQlzdW40b3Mz KQorCQkJCWJhc2ljX21hY2hpbmU9c3BhcmMtc3VuCisJCQkJb3M9c3Vub3MzCisJCQkJOzsKKwkJ CXN1bjRvczQpCisJCQkJYmFzaWNfbWFjaGluZT1zcGFyYy1zdW4KKwkJCQlvcz1zdW5vczQKKwkJ CQk7OworCQkJc3VuNHNvbDIpCisJCQkJYmFzaWNfbWFjaGluZT1zcGFyYy1zdW4KKwkJCQlvcz1z b2xhcmlzMgorCQkJCTs7CisJCQlzdW4zODYgfCBzdW4zODZpIHwgcm9hZHJ1bm5lcikKKwkJCQli YXNpY19tYWNoaW5lPWkzODYtc3VuCisJCQkJb3M9CisJCQkJOzsKKwkJCXN2MSkKKwkJCQliYXNp Y19tYWNoaW5lPXN2MS1jcmF5CisJCQkJb3M9dW5pY29zCisJCQkJOzsKKwkJCXN5bW1ldHJ5KQor CQkJCWJhc2ljX21hY2hpbmU9aTM4Ni1zZXF1ZW50CisJCQkJb3M9ZHluaXgKKwkJCQk7OworCQkJ dDNlKQorCQkJCWJhc2ljX21hY2hpbmU9YWxwaGFldjUtY3JheQorCQkJCW9zPXVuaWNvcworCQkJ CTs7CisJCQl0OTApCisJCQkJYmFzaWNfbWFjaGluZT10OTAtY3JheQorCQkJCW9zPXVuaWNvcwor CQkJCTs7CisJCQl0b2FkMSkKKwkJCQliYXNpY19tYWNoaW5lPXBkcDEwLXhrbAorCQkJCW9zPXRv cHMyMAorCQkJCTs7CisJCQl0cGYpCisJCQkJYmFzaWNfbWFjaGluZT1zMzkweC1pYm0KKwkJCQlv cz10cGYKKwkJCQk7OworCQkJdWRpMjlrKQorCQkJCWJhc2ljX21hY2hpbmU9YTI5ay1hbWQKKwkJ CQlvcz11ZGkKKwkJCQk7OworCQkJdWx0cmEzKQorCQkJCWJhc2ljX21hY2hpbmU9YTI5ay1ueXUK KwkJCQlvcz1zeW0xCisJCQkJOzsKKwkJCXY4MTAgfCBuZWN2ODEwKQorCQkJCWJhc2ljX21hY2hp bmU9djgxMC1uZWMKKwkJCQlvcz1ub25lCisJCQkJOzsKKwkJCXZheHYpCisJCQkJYmFzaWNfbWFj aGluZT12YXgtZGVjCisJCQkJb3M9c3lzdgorCQkJCTs7CisJCQl2bXMpCisJCQkJYmFzaWNfbWFj aGluZT12YXgtZGVjCisJCQkJb3M9dm1zCisJCQkJOzsKKwkJCXZ4d29ya3M5NjApCisJCQkJYmFz aWNfbWFjaGluZT1pOTYwLXdycworCQkJCW9zPXZ4d29ya3MKKwkJCQk7OworCQkJdnh3b3JrczY4 KQorCQkJCWJhc2ljX21hY2hpbmU9bTY4ay13cnMKKwkJCQlvcz12eHdvcmtzCisJCQkJOzsKKwkJ CXZ4d29ya3MyOWspCisJCQkJYmFzaWNfbWFjaGluZT1hMjlrLXdycworCQkJCW9zPXZ4d29ya3MK KwkJCQk7OworCQkJeGJveCkKKwkJCQliYXNpY19tYWNoaW5lPWk2ODYtcGMKKwkJCQlvcz1taW5n dzMyCisJCQkJOzsKKwkJCXltcCkKKwkJCQliYXNpY19tYWNoaW5lPXltcC1jcmF5CisJCQkJb3M9 dW5pY29zCisJCQkJOzsKKwkJCSopCisJCQkJYmFzaWNfbWFjaGluZT0kMQorCQkJCW9zPQorCQkJ CTs7CisJCWVzYWMKIAkJOzsKIGVzYWMKIAotIyBEZWNvZGUgYWxpYXNlcyBmb3IgY2VydGFpbiBD UFUtQ09NUEFOWSBjb21iaW5hdGlvbnMuCisjIERlY29kZSAxLWNvbXBvbmVudCBvciBhZC1ob2Mg YmFzaWMgbWFjaGluZXMKIGNhc2UgJGJhc2ljX21hY2hpbmUgaW4KLQkjIFJlY29nbml6ZSB0aGUg YmFzaWMgQ1BVIHR5cGVzIHdpdGhvdXQgY29tcGFueSBuYW1lLgotCSMgU29tZSBhcmUgb21pdHRl ZCBoZXJlIGJlY2F1c2UgdGhleSBoYXZlIHNwZWNpYWwgbWVhbmluZ3MgYmVsb3cuCi0JMTc1MGEg fCA1ODAgXAotCXwgYTI5ayBcCi0JfCBhYXJjaDY0IHwgYWFyY2g2NF9iZSBcCi0JfCBhbHBoYSB8 IGFscGhhZXZbNC04XSB8IGFscGhhZXY1NiB8IGFscGhhZXY2Wzc4XSB8IGFscGhhcGNhNVs2N10g XAotCXwgYWxwaGE2NCB8IGFscGhhNjRldls0LThdIHwgYWxwaGE2NGV2NTYgfCBhbHBoYTY0ZXY2 Wzc4XSB8IGFscGhhNjRwY2E1WzY3XSBcCi0JfCBhbTMzXzIuMCBcCi0JfCBhcmMgfCBhcm0gfCBh cm1bYmxdZSB8IGFybWVbbGJdIHwgYXJtdlsyMzQ1XSB8IGFybXZbMzQ1XVtsYl0gfCBhdnIgfCBh dnIzMiBcCi0gICAgICAgIHwgYmUzMiB8IGJlNjQgXAotCXwgYmZpbiBcCi0JfCBjNHggfCBjbGlw cGVyIFwKLQl8IGQxMHYgfCBkMzB2IHwgZGx4IHwgZHNwMTZ4eCBcCi0JfCBlcGlwaGFueSBcCi0J fCBmaWRvIHwgZnIzMCB8IGZydiBcCi0JfCBoODMwMCB8IGg4NTAwIHwgaHBwYSB8IGhwcGExLlsw MV0gfCBocHBhMi4wIHwgaHBwYTIuMFtud10gfCBocHBhNjQgXAotCXwgaGV4YWdvbiBcCi0JfCBp MzcwIHwgaTg2MCB8IGk5NjAgfCBpYTY0IFwKLQl8IGlwMmsgfCBpcTIwMDAgXAotCXwgbGUzMiB8 IGxlNjQgXAotCXwgbG0zMiBcCi0JfCBtMzJjIHwgbTMyciB8IG0zMnJsZSB8IG02ODAwMCB8IG02 OGsgfCBtODhrIFwKLQl8IG1heHEgfCBtYiB8IG1pY3JvYmxhemUgfCBtY29yZSB8IG1lcCB8IG1l dGFnIFwKLQl8IG1pcHMgfCBtaXBzYmUgfCBtaXBzZWIgfCBtaXBzZWwgfCBtaXBzbGUgXAotCXwg bWlwczE2IFwKLQl8IG1pcHM2NCB8IG1pcHM2NGVsIFwKLQl8IG1pcHM2NG9jdGVvbiB8IG1pcHM2 NG9jdGVvbmVsIFwKLQl8IG1pcHM2NG9yaW9uIHwgbWlwczY0b3Jpb25lbCBcCi0JfCBtaXBzNjRy NTkwMCB8IG1pcHM2NHI1OTAwZWwgXAotCXwgbWlwczY0dnIgfCBtaXBzNjR2cmVsIFwKLQl8IG1p cHM2NHZyNDEwMCB8IG1pcHM2NHZyNDEwMGVsIFwKLQl8IG1pcHM2NHZyNDMwMCB8IG1pcHM2NHZy NDMwMGVsIFwKLQl8IG1pcHM2NHZyNTAwMCB8IG1pcHM2NHZyNTAwMGVsIFwKLQl8IG1pcHM2NHZy NTkwMCB8IG1pcHM2NHZyNTkwMGVsIFwKLQl8IG1pcHNpc2EzMiB8IG1pcHNpc2EzMmVsIFwKLQl8 IG1pcHNpc2EzMnIyIHwgbWlwc2lzYTMycjJlbCBcCi0JfCBtaXBzaXNhNjQgfCBtaXBzaXNhNjRl bCBcCi0JfCBtaXBzaXNhNjRyMiB8IG1pcHNpc2E2NHIyZWwgXAotCXwgbWlwc2lzYTY0c2IxIHwg bWlwc2lzYTY0c2IxZWwgXAotCXwgbWlwc2lzYTY0c3I3MWsgfCBtaXBzaXNhNjRzcjcxa2VsIFwK LQl8IG1pcHN0eDM5IHwgbWlwc3R4MzllbCBcCi0JfCBtbjEwMjAwIHwgbW4xMDMwMCBcCi0JfCBt b3hpZSBcCi0JfCBtdCBcCi0JfCBtc3A0MzAgXAotCXwgbmRzMzIgfCBuZHMzMmxlIHwgbmRzMzJi ZSBcCi0JfCBuaW9zIHwgbmlvczIgXAotCXwgbnMxNmsgfCBuczMyayBcCi0JfCBvcGVuOCBcCi0J fCBvcjMyIFwKLQl8IHBkcDEwIHwgcGRwMTEgfCBwaiB8IHBqbCBcCi0JfCBwb3dlcnBjIHwgcG93 ZXJwYzY0IHwgcG93ZXJwYzY0bGUgfCBwb3dlcnBjbGUgXAotCXwgcHlyYW1pZCBcCi0JfCBybDc4 IHwgcnggXAotCXwgc2NvcmUgXAotCXwgc2ggfCBzaFsxMjM0XSB8IHNoWzI0XWEgfCBzaFsyNF1h ZWIgfCBzaFsyM11lIHwgc2hbMzRdZWIgfCBzaGViIHwgc2hiZSB8IHNobGUgfCBzaFsxMjM0XWxl IHwgc2gzZWxlIFwKLQl8IHNoNjQgfCBzaDY0bGUgXAotCXwgc3BhcmMgfCBzcGFyYzY0IHwgc3Bh cmM2NGIgfCBzcGFyYzY0diB8IHNwYXJjODZ4IHwgc3BhcmNsZXQgfCBzcGFyY2xpdGUgXAotCXwg c3BhcmN2OCB8IHNwYXJjdjkgfCBzcGFyY3Y5YiB8IHNwYXJjdjl2IFwKLQl8IHNwdSBcCi0JfCB0 YWhvZSB8IHRpYzR4IHwgdGljNTR4IHwgdGljNTV4IHwgdGljNnggfCB0aWM4MCB8IHRyb24gXAot CXwgdWJpY29tMzIgXAotCXwgdjg1MCB8IHY4NTBlIHwgdjg1MGUxIHwgdjg1MGUyIHwgdjg1MGVz IHwgdjg1MGUydjMgXAotCXwgd2UzMmsgXAotCXwgeDg2IHwgeGMxNnggfCB4c3Rvcm15MTYgfCB4 dGVuc2EgXAotCXwgejhrIHwgejgwKQotCQliYXNpY19tYWNoaW5lPSRiYXNpY19tYWNoaW5lLXVu a25vd24KLQkJOzsKLQljNTR4KQotCQliYXNpY19tYWNoaW5lPXRpYzU0eC11bmtub3duCi0JCTs7 Ci0JYzU1eCkKLQkJYmFzaWNfbWFjaGluZT10aWM1NXgtdW5rbm93bgotCQk7OwotCWM2eCkKLQkJ YmFzaWNfbWFjaGluZT10aWM2eC11bmtub3duCi0JCTs7Ci0JbTY4MTEgfCBtNjhoYzExIHwgbTY4 MTIgfCBtNjhoYzEyIHwgbTY4aGNzMTJ4IHwgcGljb2NoaXApCi0JCWJhc2ljX21hY2hpbmU9JGJh c2ljX21hY2hpbmUtdW5rbm93bgotCQlvcz0tbm9uZQotCQk7OwotCW04ODExMCB8IG02ODBbMTIz NDZdMCB8IG02ODM/MiB8IG02ODM2MCB8IG01MjAwIHwgdjcwIHwgdzY1IHwgejhrKQotCQk7Owot CW1zMSkKLQkJYmFzaWNfbWFjaGluZT1tdC11bmtub3duCisJIyBIZXJlIHdlIGhhbmRsZSB0aGUg ZGVmYXVsdCBtYW51ZmFjdHVyZXIgb2YgY2VydGFpbiBDUFUgdHlwZXMuICBJdCBpcyBpbgorCSMg c29tZSBjYXNlcyB0aGUgb25seSBtYW51ZmFjdHVyZXIsIGluIG90aGVycywgaXQgaXMgdGhlIG1v c3QgcG9wdWxhci4KKwl3ODlrKQorCQljcHU9aHBwYTEuMQorCQl2ZW5kb3I9d2luYm9uZAogCQk7 OwotCi0Jc3Ryb25nYXJtIHwgdGh1bWIgfCB4c2NhbGUpCi0JCWJhc2ljX21hY2hpbmU9YXJtLXVu a25vd24KKwlvcDUwbikKKwkJY3B1PWhwcGExLjEKKwkJdmVuZG9yPW9raQogCQk7OwotCXhnYXRl KQotCQliYXNpY19tYWNoaW5lPSRiYXNpY19tYWNoaW5lLXVua25vd24KLQkJb3M9LW5vbmUKKwlv cDYwYykKKwkJY3B1PWhwcGExLjEKKwkJdmVuZG9yPW9raQogCQk7OwotCXhzY2FsZWViKQotCQli YXNpY19tYWNoaW5lPWFybWViLXVua25vd24KKwlpYm0qKQorCQljcHU9aTM3MAorCQl2ZW5kb3I9 aWJtCiAJCTs7Ci0KLQl4c2NhbGVlbCkKLQkJYmFzaWNfbWFjaGluZT1hcm1lbC11bmtub3duCisJ b3Jpb24xMDUpCisJCWNwdT1jbGlwcGVyCisJCXZlbmRvcj1oaWdobGV2ZWwKIAkJOzsKLQotCSMg V2UgdXNlIGBwYycgcmF0aGVyIHRoYW4gYHVua25vd24nCi0JIyBiZWNhdXNlICgxKSB0aGF0J3Mg d2hhdCB0aGV5IG5vcm1hbGx5IGFyZSwgYW5kCi0JIyAoMikgdGhlIHdvcmQgInVua25vd24iIHRl bmRzIHRvIGNvbmZ1c2UgYmVnaW5uaW5nIHVzZXJzLgotCWkqODYgfCB4ODZfNjQpCi0JICBiYXNp Y19tYWNoaW5lPSRiYXNpY19tYWNoaW5lLXBjCi0JICA7OwotCSMgT2JqZWN0IGlmIG1vcmUgdGhh biBvbmUgY29tcGFueSBuYW1lIHdvcmQuCi0JKi0qLSopCi0JCWVjaG8gSW52YWxpZCBjb25maWd1 cmF0aW9uIFxgJDFcJzogbWFjaGluZSBcYCRiYXNpY19tYWNoaW5lXCcgbm90IHJlY29nbml6ZWQg MT4mMgotCQlleGl0IDEKKwltYWMgfCBtcHcgfCBtYWMtbXB3KQorCQljcHU9bTY4aworCQl2ZW5k b3I9YXBwbGUKIAkJOzsKLQkjIFJlY29nbml6ZSB0aGUgYmFzaWMgQ1BVIHR5cGVzIHdpdGggY29t cGFueSBuYW1lLgotCTU4MC0qIFwKLQl8IGEyOWstKiBcCi0JfCBhYXJjaDY0LSogfCBhYXJjaDY0 X2JlLSogXAotCXwgYWxwaGEtKiB8IGFscGhhZXZbNC04XS0qIHwgYWxwaGFldjU2LSogfCBhbHBo YWV2Nls3OF0tKiBcCi0JfCBhbHBoYTY0LSogfCBhbHBoYTY0ZXZbNC04XS0qIHwgYWxwaGE2NGV2 NTYtKiB8IGFscGhhNjRldjZbNzhdLSogXAotCXwgYWxwaGFwY2E1WzY3XS0qIHwgYWxwaGE2NHBj YTVbNjddLSogfCBhcmMtKiBcCi0JfCBhcm0tKiAgfCBhcm1iZS0qIHwgYXJtbGUtKiB8IGFybWVi LSogfCBhcm12Ki0qIFwKLQl8IGF2ci0qIHwgYXZyMzItKiBcCi0JfCBiZTMyLSogfCBiZTY0LSog XAotCXwgYmZpbi0qIHwgYnMyMDAwLSogXAotCXwgY1sxMjNdKiB8IGMzMC0qIHwgW2NqdF05MC0q IHwgYzR4LSogXAotCXwgY2xpcHBlci0qIHwgY3JheW52LSogfCBjeWRyYS0qIFwKLQl8IGQxMHYt KiB8IGQzMHYtKiB8IGRseC0qIFwKLQl8IGVseHNpLSogXAotCXwgZjMwWzAxXS0qIHwgZjcwMC0q IHwgZmlkby0qIHwgZnIzMC0qIHwgZnJ2LSogfCBmeDgwLSogXAotCXwgaDgzMDAtKiB8IGg4NTAw LSogXAotCXwgaHBwYS0qIHwgaHBwYTEuWzAxXS0qIHwgaHBwYTIuMC0qIHwgaHBwYTIuMFtud10t KiB8IGhwcGE2NC0qIFwKLQl8IGhleGFnb24tKiBcCi0JfCBpKjg2LSogfCBpODYwLSogfCBpOTYw LSogfCBpYTY0LSogXAotCXwgaXAyay0qIHwgaXEyMDAwLSogXAotCXwgbGUzMi0qIHwgbGU2NC0q IFwKLQl8IGxtMzItKiBcCi0JfCBtMzJjLSogfCBtMzJyLSogfCBtMzJybGUtKiBcCi0JfCBtNjgw MDAtKiB8IG02ODBbMDEyMzQ2XTAtKiB8IG02ODM2MC0qIHwgbTY4Mz8yLSogfCBtNjhrLSogXAot CXwgbTg4MTEwLSogfCBtODhrLSogfCBtYXhxLSogfCBtY29yZS0qIHwgbWV0YWctKiB8IG1pY3Jv YmxhemUtKiBcCi0JfCBtaXBzLSogfCBtaXBzYmUtKiB8IG1pcHNlYi0qIHwgbWlwc2VsLSogfCBt aXBzbGUtKiBcCi0JfCBtaXBzMTYtKiBcCi0JfCBtaXBzNjQtKiB8IG1pcHM2NGVsLSogXAotCXwg bWlwczY0b2N0ZW9uLSogfCBtaXBzNjRvY3Rlb25lbC0qIFwKLQl8IG1pcHM2NG9yaW9uLSogfCBt aXBzNjRvcmlvbmVsLSogXAotCXwgbWlwczY0cjU5MDAtKiB8IG1pcHM2NHI1OTAwZWwtKiBcCi0J fCBtaXBzNjR2ci0qIHwgbWlwczY0dnJlbC0qIFwKLQl8IG1pcHM2NHZyNDEwMC0qIHwgbWlwczY0 dnI0MTAwZWwtKiBcCi0JfCBtaXBzNjR2cjQzMDAtKiB8IG1pcHM2NHZyNDMwMGVsLSogXAotCXwg bWlwczY0dnI1MDAwLSogfCBtaXBzNjR2cjUwMDBlbC0qIFwKLQl8IG1pcHM2NHZyNTkwMC0qIHwg bWlwczY0dnI1OTAwZWwtKiBcCi0JfCBtaXBzaXNhMzItKiB8IG1pcHNpc2EzMmVsLSogXAotCXwg bWlwc2lzYTMycjItKiB8IG1pcHNpc2EzMnIyZWwtKiBcCi0JfCBtaXBzaXNhNjQtKiB8IG1pcHNp c2E2NGVsLSogXAotCXwgbWlwc2lzYTY0cjItKiB8IG1pcHNpc2E2NHIyZWwtKiBcCi0JfCBtaXBz aXNhNjRzYjEtKiB8IG1pcHNpc2E2NHNiMWVsLSogXAotCXwgbWlwc2lzYTY0c3I3MWstKiB8IG1p cHNpc2E2NHNyNzFrZWwtKiBcCi0JfCBtaXBzdHgzOS0qIHwgbWlwc3R4MzllbC0qIFwKLQl8IG1t aXgtKiBcCi0JfCBtdC0qIFwKLQl8IG1zcDQzMC0qIFwKLQl8IG5kczMyLSogfCBuZHMzMmxlLSog fCBuZHMzMmJlLSogXAotCXwgbmlvcy0qIHwgbmlvczItKiBcCi0JfCBub25lLSogfCBucDEtKiB8 IG5zMTZrLSogfCBuczMyay0qIFwKLQl8IG9wZW44LSogXAotCXwgb3Jpb24tKiBcCi0JfCBwZHAx MC0qIHwgcGRwMTEtKiB8IHBqLSogfCBwamwtKiB8IHBuLSogfCBwb3dlci0qIFwKLQl8IHBvd2Vy cGMtKiB8IHBvd2VycGM2NC0qIHwgcG93ZXJwYzY0bGUtKiB8IHBvd2VycGNsZS0qIFwKLQl8IHB5 cmFtaWQtKiBcCi0JfCBybDc4LSogfCByb21wLSogfCByczYwMDAtKiB8IHJ4LSogXAotCXwgc2gt KiB8IHNoWzEyMzRdLSogfCBzaFsyNF1hLSogfCBzaFsyNF1hZWItKiB8IHNoWzIzXWUtKiB8IHNo WzM0XWViLSogfCBzaGViLSogfCBzaGJlLSogXAotCXwgc2hsZS0qIHwgc2hbMTIzNF1sZS0qIHwg c2gzZWxlLSogfCBzaDY0LSogfCBzaDY0bGUtKiBcCi0JfCBzcGFyYy0qIHwgc3BhcmM2NC0qIHwg c3BhcmM2NGItKiB8IHNwYXJjNjR2LSogfCBzcGFyYzg2eC0qIHwgc3BhcmNsZXQtKiBcCi0JfCBz cGFyY2xpdGUtKiBcCi0JfCBzcGFyY3Y4LSogfCBzcGFyY3Y5LSogfCBzcGFyY3Y5Yi0qIHwgc3Bh cmN2OXYtKiB8IHN2MS0qIHwgc3g/LSogXAotCXwgdGFob2UtKiBcCi0JfCB0aWMzMC0qIHwgdGlj NHgtKiB8IHRpYzU0eC0qIHwgdGljNTV4LSogfCB0aWM2eC0qIHwgdGljODAtKiBcCi0JfCB0aWxl Ki0qIFwKLQl8IHRyb24tKiBcCi0JfCB1Ymljb20zMi0qIFwKLQl8IHY4NTAtKiB8IHY4NTBlLSog fCB2ODUwZTEtKiB8IHY4NTBlcy0qIHwgdjg1MGUyLSogfCB2ODUwZTJ2My0qIFwKLQl8IHZheC0q IFwKLQl8IHdlMzJrLSogXAotCXwgeDg2LSogfCB4ODZfNjQtKiB8IHhjMTZ4LSogfCB4cHMxMDAt KiBcCi0JfCB4c3Rvcm15MTYtKiB8IHh0ZW5zYSotKiBcCi0JfCB5bXAtKiBcCi0JfCB6OGstKiB8 IHo4MC0qKQotCQk7OwotCSMgUmVjb2duaXplIHRoZSBiYXNpYyBDUFUgdHlwZXMgd2l0aG91dCBj b21wYW55IG5hbWUsIHdpdGggZ2xvYiBtYXRjaC4KLQl4dGVuc2EqKQotCQliYXNpY19tYWNoaW5l PSRiYXNpY19tYWNoaW5lLXVua25vd24KKwlwbWFjIHwgcG1hYy1tcHcpCisJCWNwdT1wb3dlcnBj CisJCXZlbmRvcj1hcHBsZQogCQk7OworCiAJIyBSZWNvZ25pemUgdGhlIHZhcmlvdXMgbWFjaGlu ZSBuYW1lcyBhbmQgYWxpYXNlcyB3aGljaCBzdGFuZAogCSMgZm9yIGEgQ1BVIHR5cGUgYW5kIGEg Y29tcGFueSBhbmQgc29tZXRpbWVzIGV2ZW4gYW4gT1MuCi0JMzg2YnNkKQotCQliYXNpY19tYWNo aW5lPWkzODYtdW5rbm93bgotCQlvcz0tYnNkCi0JCTs7CiAJM2IxIHwgNzMwMCB8IDczMDAtYXR0 IHwgYXR0LTczMDAgfCBwYzczMDAgfCBzYWZhcmkgfCB1bml4cGMpCi0JCWJhc2ljX21hY2hpbmU9 bTY4MDAwLWF0dAorCQljcHU9bTY4MDAwCisJCXZlbmRvcj1hdHQKIAkJOzsKIAkzYiopCi0JCWJh c2ljX21hY2hpbmU9d2UzMmstYXR0Ci0JCTs7Ci0JYTI5a2hpZikKLQkJYmFzaWNfbWFjaGluZT1h MjlrLWFtZAotCQlvcz0tdWRpCi0JCTs7Ci0JYWJhY3VzKQotCQliYXNpY19tYWNoaW5lPWFiYWN1 cy11bmtub3duCi0JCTs7Ci0JYWRvYmU2OGspCi0JCWJhc2ljX21hY2hpbmU9bTY4MDEwLWFkb2Jl Ci0JCW9zPS1zY291dAotCQk7OwotCWFsbGlhbnQgfCBmeDgwKQotCQliYXNpY19tYWNoaW5lPWZ4 ODAtYWxsaWFudAotCQk7OwotCWFsdG9zIHwgYWx0b3MzMDY4KQotCQliYXNpY19tYWNoaW5lPW02 OGstYWx0b3MKLQkJOzsKLQlhbTI5aykKLQkJYmFzaWNfbWFjaGluZT1hMjlrLW5vbmUKLQkJb3M9 LWJzZAotCQk7OwotCWFtZDY0KQotCQliYXNpY19tYWNoaW5lPXg4Nl82NC1wYwotCQk7OwotCWFt ZDY0LSopCi0JCWJhc2ljX21hY2hpbmU9eDg2XzY0LWBlY2hvICRiYXNpY19tYWNoaW5lIHwgc2Vk ICdzL15bXi1dKi0vLydgCi0JCTs7Ci0JYW1kYWhsKQotCQliYXNpY19tYWNoaW5lPTU4MC1hbWRh aGwKLQkJb3M9LXN5c3YKLQkJOzsKLQlhbWlnYSB8IGFtaWdhLSopCi0JCWJhc2ljX21hY2hpbmU9 bTY4ay11bmtub3duCi0JCTs7Ci0JYW1pZ2FvcyB8IGFtaWdhZG9zKQotCQliYXNpY19tYWNoaW5l PW02OGstdW5rbm93bgotCQlvcz0tYW1pZ2FvcwotCQk7OwotCWFtaWdhdW5peCB8IGFtaXgpCi0J CWJhc2ljX21hY2hpbmU9bTY4ay11bmtub3duCi0JCW9zPS1zeXN2NAotCQk7OwotCWFwb2xsbzY4 KQotCQliYXNpY19tYWNoaW5lPW02OGstYXBvbGxvCi0JCW9zPS1zeXN2Ci0JCTs7Ci0JYXBvbGxv Njhic2QpCi0JCWJhc2ljX21hY2hpbmU9bTY4ay1hcG9sbG8KLQkJb3M9LWJzZAotCQk7OwotCWFy b3MpCi0JCWJhc2ljX21hY2hpbmU9aTM4Ni1wYwotCQlvcz0tYXJvcwotCQk7OwotCWF1eCkKLQkJ YmFzaWNfbWFjaGluZT1tNjhrLWFwcGxlCi0JCW9zPS1hdXgKLQkJOzsKLQliYWxhbmNlKQotCQli YXNpY19tYWNoaW5lPW5zMzJrLXNlcXVlbnQKLQkJb3M9LWR5bml4Ci0JCTs7Ci0JYmxhY2tmaW4p Ci0JCWJhc2ljX21hY2hpbmU9YmZpbi11bmtub3duCi0JCW9zPS1saW51eAotCQk7OwotCWJsYWNr ZmluLSopCi0JCWJhc2ljX21hY2hpbmU9YmZpbi1gZWNobyAkYmFzaWNfbWFjaGluZSB8IHNlZCAn cy9eW14tXSotLy8nYAotCQlvcz0tbGludXgKKwkJY3B1PXdlMzJrCisJCXZlbmRvcj1hdHQKIAkJ OzsKIAlibHVlZ2VuZSopCi0JCWJhc2ljX21hY2hpbmU9cG93ZXJwYy1pYm0KLQkJb3M9LWNuawot CQk7OwotCWM1NHgtKikKLQkJYmFzaWNfbWFjaGluZT10aWM1NHgtYGVjaG8gJGJhc2ljX21hY2hp bmUgfCBzZWQgJ3MvXlteLV0qLS8vJ2AKLQkJOzsKLQljNTV4LSopCi0JCWJhc2ljX21hY2hpbmU9 dGljNTV4LWBlY2hvICRiYXNpY19tYWNoaW5lIHwgc2VkICdzL15bXi1dKi0vLydgCi0JCTs7Ci0J YzZ4LSopCi0JCWJhc2ljX21hY2hpbmU9dGljNngtYGVjaG8gJGJhc2ljX21hY2hpbmUgfCBzZWQg J3MvXlteLV0qLS8vJ2AKLQkJOzsKLQljOTApCi0JCWJhc2ljX21hY2hpbmU9YzkwLWNyYXkKLQkJ b3M9LXVuaWNvcwotCQk7OwotCWNlZ2NjKQotCQliYXNpY19tYWNoaW5lPWFybS11bmtub3duCi0J CW9zPS1jZWdjYwotCQk7OwotCWNvbnZleC1jMSkKLQkJYmFzaWNfbWFjaGluZT1jMS1jb252ZXgK LQkJb3M9LWJzZAotCQk7OwotCWNvbnZleC1jMikKLQkJYmFzaWNfbWFjaGluZT1jMi1jb252ZXgK LQkJb3M9LWJzZAotCQk7OwotCWNvbnZleC1jMzIpCi0JCWJhc2ljX21hY2hpbmU9YzMyLWNvbnZl eAotCQlvcz0tYnNkCi0JCTs7Ci0JY29udmV4LWMzNCkKLQkJYmFzaWNfbWFjaGluZT1jMzQtY29u dmV4Ci0JCW9zPS1ic2QKLQkJOzsKLQljb252ZXgtYzM4KQotCQliYXNpY19tYWNoaW5lPWMzOC1j b252ZXgKLQkJb3M9LWJzZAotCQk7OwotCWNyYXkgfCBqOTApCi0JCWJhc2ljX21hY2hpbmU9ajkw LWNyYXkKLQkJb3M9LXVuaWNvcwotCQk7OwotCWNyYXludikKLQkJYmFzaWNfbWFjaGluZT1jcmF5 bnYtY3JheQotCQlvcz0tdW5pY29zbXAKLQkJOzsKLQljcjE2IHwgY3IxNi0qKQotCQliYXNpY19t YWNoaW5lPWNyMTYtdW5rbm93bgotCQlvcz0tZWxmCi0JCTs7Ci0JY3JkcyB8IHVub3MpCi0JCWJh c2ljX21hY2hpbmU9bTY4ay1jcmRzCi0JCTs7Ci0JY3Jpc3YzMiB8IGNyaXN2MzItKiB8IGV0cmF4 ZnMqKQotCQliYXNpY19tYWNoaW5lPWNyaXN2MzItYXhpcwotCQk7OwotCWNyaXMgfCBjcmlzLSog fCBldHJheCopCi0JCWJhc2ljX21hY2hpbmU9Y3Jpcy1heGlzCi0JCTs7Ci0JY3J4KQotCQliYXNp Y19tYWNoaW5lPWNyeC11bmtub3duCi0JCW9zPS1lbGYKLQkJOzsKLQlkYTMwIHwgZGEzMC0qKQot CQliYXNpY19tYWNoaW5lPW02OGstZGEzMAotCQk7OwotCWRlY3N0YXRpb24gfCBkZWNzdGF0aW9u LTMxMDAgfCBwbWF4IHwgcG1heC0qIHwgcG1pbiB8IGRlYzMxMDAgfCBkZWNzdGF0bikKLQkJYmFz aWNfbWFjaGluZT1taXBzLWRlYworCQljcHU9cG93ZXJwYworCQl2ZW5kb3I9aWJtCisJCW9zPWNu awogCQk7OwogCWRlY3N5c3RlbTEwKiB8IGRlYzEwKikKLQkJYmFzaWNfbWFjaGluZT1wZHAxMC1k ZWMKLQkJb3M9LXRvcHMxMAorCQljcHU9cGRwMTAKKwkJdmVuZG9yPWRlYworCQlvcz10b3BzMTAK IAkJOzsKIAlkZWNzeXN0ZW0yMCogfCBkZWMyMCopCi0JCWJhc2ljX21hY2hpbmU9cGRwMTAtZGVj Ci0JCW9zPS10b3BzMjAKKwkJY3B1PXBkcDEwCisJCXZlbmRvcj1kZWMKKwkJb3M9dG9wczIwCiAJ CTs7CiAJZGVsdGEgfCAzMzAwIHwgbW90b3JvbGEtMzMwMCB8IG1vdG9yb2xhLWRlbHRhIFwKIAkg ICAgICB8IDMzMDAtbW90b3JvbGEgfCBkZWx0YS1tb3Rvcm9sYSkKLQkJYmFzaWNfbWFjaGluZT1t NjhrLW1vdG9yb2xhCi0JCTs7Ci0JZGVsdGE4OCkKLQkJYmFzaWNfbWFjaGluZT1tODhrLW1vdG9y b2xhCi0JCW9zPS1zeXN2MworCQljcHU9bTY4aworCQl2ZW5kb3I9bW90b3JvbGEKIAkJOzsKLQlk aWNvcykKLQkJYmFzaWNfbWFjaGluZT1pNjg2LXBjCi0JCW9zPS1kaWNvcwotCQk7OwotCWRqZ3Bw KQotCQliYXNpY19tYWNoaW5lPWk1ODYtcGMKLQkJb3M9LW1zZG9zZGpncHAKLQkJOzsKLQlkcHgy MCB8IGRweDIwLSopCi0JCWJhc2ljX21hY2hpbmU9cnM2MDAwLWJ1bGwKLQkJb3M9LWJvc3gKLQkJ OzsKLQlkcHgyKiB8IGRweDIqLWJ1bGwpCi0JCWJhc2ljX21hY2hpbmU9bTY4ay1idWxsCi0JCW9z PS1zeXN2MwotCQk7OwotCWVibW9uMjlrKQotCQliYXNpY19tYWNoaW5lPWEyOWstYW1kCi0JCW9z PS1lYm1vbgotCQk7OwotCWVseHNpKQotCQliYXNpY19tYWNoaW5lPWVseHNpLWVseHNpCi0JCW9z PS1ic2QKKwlkcHgyKikKKwkJY3B1PW02OGsKKwkJdmVuZG9yPWJ1bGwKKwkJb3M9c3lzdjMKIAkJ OzsKIAllbmNvcmUgfCB1bWF4IHwgbW1heCkKLQkJYmFzaWNfbWFjaGluZT1uczMyay1lbmNvcmUK KwkJY3B1PW5zMzJrCisJCXZlbmRvcj1lbmNvcmUKIAkJOzsKLQllczE4MDAgfCBPU0U2OGsgfCBv c2U2OGsgfCBvc2UgfCBPU0UpCi0JCWJhc2ljX21hY2hpbmU9bTY4ay1lcmljc3NvbgotCQlvcz0t b3NlCisJZWx4c2kpCisJCWNwdT1lbHhzaQorCQl2ZW5kb3I9ZWx4c2kKKwkJb3M9JHtvczotYnNk fQogCQk7OwogCWZ4MjgwMCkKLQkJYmFzaWNfbWFjaGluZT1pODYwLWFsbGlhbnQKKwkJY3B1PWk4 NjAKKwkJdmVuZG9yPWFsbGlhbnQKIAkJOzsKIAlnZW5peCkKLQkJYmFzaWNfbWFjaGluZT1uczMy ay1ucwotCQk7OwotCWdtaWNybykKLQkJYmFzaWNfbWFjaGluZT10cm9uLWdtaWNybwotCQlvcz0t c3lzdgotCQk7OwotCWdvMzIpCi0JCWJhc2ljX21hY2hpbmU9aTM4Ni1wYwotCQlvcz0tZ28zMgor CQljcHU9bnMzMmsKKwkJdmVuZG9yPW5zCiAJCTs7CiAJaDMwNTByKiB8IGhpdXgqKQotCQliYXNp Y19tYWNoaW5lPWhwcGExLjEtaGl0YWNoaQotCQlvcz0taGl1eHdlMgotCQk7OwotCWg4MzAwaG1z KQotCQliYXNpY19tYWNoaW5lPWg4MzAwLWhpdGFjaGkKLQkJb3M9LWhtcwotCQk7OwotCWg4MzAw eHJheSkKLQkJYmFzaWNfbWFjaGluZT1oODMwMC1oaXRhY2hpCi0JCW9zPS14cmF5Ci0JCTs7Ci0J aDg1MDBobXMpCi0JCWJhc2ljX21hY2hpbmU9aDg1MDAtaGl0YWNoaQotCQlvcz0taG1zCi0JCTs7 Ci0JaGFycmlzKQotCQliYXNpY19tYWNoaW5lPW04OGstaGFycmlzCi0JCW9zPS1zeXN2MwotCQk7 OwotCWhwMzAwLSopCi0JCWJhc2ljX21hY2hpbmU9bTY4ay1ocAotCQk7OwotCWhwMzAwYnNkKQot CQliYXNpY19tYWNoaW5lPW02OGstaHAKLQkJb3M9LWJzZAotCQk7OwotCWhwMzAwaHB1eCkKLQkJ YmFzaWNfbWFjaGluZT1tNjhrLWhwCi0JCW9zPS1ocHV4CisJCWNwdT1ocHBhMS4xCisJCXZlbmRv cj1oaXRhY2hpCisJCW9zPWhpdXh3ZTIKIAkJOzsKIAlocDNrOVswLTldWzAtOV0gfCBocDlbMC05 XVswLTldKQotCQliYXNpY19tYWNoaW5lPWhwcGExLjAtaHAKKwkJY3B1PWhwcGExLjAKKwkJdmVu ZG9yPWhwCiAJCTs7CiAJaHA5azJbMC05XVswLTldIHwgaHA5azMxWzAtOV0pCi0JCWJhc2ljX21h Y2hpbmU9bTY4MDAwLWhwCisJCWNwdT1tNjgwMDAKKwkJdmVuZG9yPWhwCiAJCTs7CiAJaHA5azNb Mi05XVswLTldKQotCQliYXNpY19tYWNoaW5lPW02OGstaHAKKwkJY3B1PW02OGsKKwkJdmVuZG9y PWhwCiAJCTs7CiAJaHA5azZbMC05XVswLTldIHwgaHA2WzAtOV1bMC05XSkKLQkJYmFzaWNfbWFj aGluZT1ocHBhMS4wLWhwCisJCWNwdT1ocHBhMS4wCisJCXZlbmRvcj1ocAogCQk7OwogCWhwOWs3 WzAtNzldWzAtOV0gfCBocDdbMC03OV1bMC05XSkKLQkJYmFzaWNfbWFjaGluZT1ocHBhMS4xLWhw CisJCWNwdT1ocHBhMS4xCisJCXZlbmRvcj1ocAogCQk7OwogCWhwOWs3OFswLTldIHwgaHA3OFsw LTldKQogCQkjIEZJWE1FOiByZWFsbHkgaHBwYTIuMC1ocAotCQliYXNpY19tYWNoaW5lPWhwcGEx LjEtaHAKKwkJY3B1PWhwcGExLjEKKwkJdmVuZG9yPWhwCiAJCTs7CiAJaHA5azhbNjddMSB8IGhw OFs2N10xIHwgaHA5azgwWzI0XSB8IGhwODBbMjRdIHwgaHA5azhbNzhdOSB8IGhwOFs3OF05IHwg aHA5azg5MyB8IGhwODkzKQogCQkjIEZJWE1FOiByZWFsbHkgaHBwYTIuMC1ocAotCQliYXNpY19t YWNoaW5lPWhwcGExLjEtaHAKKwkJY3B1PWhwcGExLjEKKwkJdmVuZG9yPWhwCiAJCTs7CiAJaHA5 azhbMC05XVsxMzY3OV0gfCBocDhbMC05XVsxMzY3OV0pCi0JCWJhc2ljX21hY2hpbmU9aHBwYTEu MS1ocAorCQljcHU9aHBwYTEuMQorCQl2ZW5kb3I9aHAKIAkJOzsKIAlocDlrOFswLTldWzAtOV0g fCBocDhbMC05XVswLTldKQotCQliYXNpY19tYWNoaW5lPWhwcGExLjAtaHAKLQkJOzsKLQlocHBh LW5leHQpCi0JCW9zPS1uZXh0c3RlcDMKLQkJOzsKLQlocHBhb3NmKQotCQliYXNpY19tYWNoaW5l PWhwcGExLjEtaHAKLQkJb3M9LW9zZgotCQk7OwotCWhwcHJvKQotCQliYXNpY19tYWNoaW5lPWhw cGExLjEtaHAKLQkJb3M9LXByb2VsZgotCQk7OwotCWkzNzAtaWJtKiB8IGlibSopCi0JCWJhc2lj X21hY2hpbmU9aTM3MC1pYm0KKwkJY3B1PWhwcGExLjAKKwkJdmVuZG9yPWhwCiAJCTs7CiAJaSo4 NnYzMikKLQkJYmFzaWNfbWFjaGluZT1gZWNobyAkMSB8IHNlZCAtZSAncy84Ni4qLzg2LXBjLydg Ci0JCW9zPS1zeXN2MzIKKwkJY3B1PWBlY2hvICIkMSIgfCBzZWQgLWUgJ3MvODYuKi84Ni8nYAor CQl2ZW5kb3I9cGMKKwkJb3M9c3lzdjMyCiAJCTs7CiAJaSo4NnY0KikKLQkJYmFzaWNfbWFjaGlu ZT1gZWNobyAkMSB8IHNlZCAtZSAncy84Ni4qLzg2LXBjLydgCi0JCW9zPS1zeXN2NAorCQljcHU9 YGVjaG8gIiQxIiB8IHNlZCAtZSAncy84Ni4qLzg2LydgCisJCXZlbmRvcj1wYworCQlvcz1zeXN2 NAogCQk7OwogCWkqODZ2KQotCQliYXNpY19tYWNoaW5lPWBlY2hvICQxIHwgc2VkIC1lICdzLzg2 LiovODYtcGMvJ2AKLQkJb3M9LXN5c3YKKwkJY3B1PWBlY2hvICIkMSIgfCBzZWQgLWUgJ3MvODYu Ki84Ni8nYAorCQl2ZW5kb3I9cGMKKwkJb3M9c3lzdgogCQk7OwogCWkqODZzb2wyKQotCQliYXNp Y19tYWNoaW5lPWBlY2hvICQxIHwgc2VkIC1lICdzLzg2LiovODYtcGMvJ2AKLQkJb3M9LXNvbGFy aXMyCi0JCTs7Ci0JaTM4Nm1hY2gpCi0JCWJhc2ljX21hY2hpbmU9aTM4Ni1tYWNoCi0JCW9zPS1t YWNoCisJCWNwdT1gZWNobyAiJDEiIHwgc2VkIC1lICdzLzg2LiovODYvJ2AKKwkJdmVuZG9yPXBj CisJCW9zPXNvbGFyaXMyCiAJCTs7Ci0JaTM4Ni12c3RhIHwgdnN0YSkKLQkJYmFzaWNfbWFjaGlu ZT1pMzg2LXVua25vd24KLQkJb3M9LXZzdGEKKwlqOTAgfCBqOTAtY3JheSkKKwkJY3B1PWo5MAor CQl2ZW5kb3I9Y3JheQorCQlvcz0ke29zOi11bmljb3N9CiAJCTs7CiAJaXJpcyB8IGlyaXM0ZCkK LQkJYmFzaWNfbWFjaGluZT1taXBzLXNnaQorCQljcHU9bWlwcworCQl2ZW5kb3I9c2dpCiAJCWNh c2UgJG9zIGluCi0JCSAgICAtaXJpeCopCisJCSAgICBpcml4KikKIAkJCTs7CiAJCSAgICAqKQot CQkJb3M9LWlyaXg0CisJCQlvcz1pcml4NAogCQkJOzsKIAkJZXNhYwogCQk7OwotCWlzaTY4IHwg aXNpKQotCQliYXNpY19tYWNoaW5lPW02OGstaXNpCi0JCW9zPS1zeXN2Ci0JCTs7Ci0JbTY4a25v bW11KQotCQliYXNpY19tYWNoaW5lPW02OGstdW5rbm93bgotCQlvcz0tbGludXgKLQkJOzsKLQlt Njhrbm9tbXUtKikKLQkJYmFzaWNfbWFjaGluZT1tNjhrLWBlY2hvICRiYXNpY19tYWNoaW5lIHwg c2VkICdzL15bXi1dKi0vLydgCi0JCW9zPS1saW51eAotCQk7OwotCW04OGstb21yb24qKQotCQli YXNpY19tYWNoaW5lPW04OGstb21yb24KLQkJOzsKLQltYWdudW0gfCBtMzIzMCkKLQkJYmFzaWNf bWFjaGluZT1taXBzLW1pcHMKLQkJb3M9LXN5c3YKLQkJOzsKLQltZXJsaW4pCi0JCWJhc2ljX21h Y2hpbmU9bnMzMmstdXRlawotCQlvcz0tc3lzdgotCQk7OwotCW1pY3JvYmxhemUpCi0JCWJhc2lj X21hY2hpbmU9bWljcm9ibGF6ZS14aWxpbngKLQkJOzsKLQltaW5ndzMyKQotCQliYXNpY19tYWNo aW5lPWkzODYtcGMKLQkJb3M9LW1pbmd3MzIKLQkJOzsKLQltaW5ndzMyY2UpCi0JCWJhc2ljX21h Y2hpbmU9YXJtLXVua25vd24KLQkJb3M9LW1pbmd3MzJjZQotCQk7OwogCW1pbmlmcmFtZSkKLQkJ YmFzaWNfbWFjaGluZT1tNjgwMDAtY29udmVyZ2VudAotCQk7OwotCSptaW50IHwgLW1pbnRbMC05 XSogfCAqTWlOVCB8ICpNaU5UWzAtOV0qKQotCQliYXNpY19tYWNoaW5lPW02OGstYXRhcmkKLQkJ b3M9LW1pbnQKLQkJOzsKLQltaXBzMyotKikKLQkJYmFzaWNfbWFjaGluZT1gZWNobyAkYmFzaWNf bWFjaGluZSB8IHNlZCAtZSAncy9taXBzMy9taXBzNjQvJ2AKLQkJOzsKLQltaXBzMyopCi0JCWJh c2ljX21hY2hpbmU9YGVjaG8gJGJhc2ljX21hY2hpbmUgfCBzZWQgLWUgJ3MvbWlwczMvbWlwczY0 LydgLXVua25vd24KLQkJOzsKLQltb25pdG9yKQotCQliYXNpY19tYWNoaW5lPW02OGstcm9tNjhr Ci0JCW9zPS1jb2ZmCi0JCTs7Ci0JbW9ycGhvcykKLQkJYmFzaWNfbWFjaGluZT1wb3dlcnBjLXVu a25vd24KLQkJb3M9LW1vcnBob3MKLQkJOzsKLQltc2RvcykKLQkJYmFzaWNfbWFjaGluZT1pMzg2 LXBjCi0JCW9zPS1tc2RvcwotCQk7OwotCW1zMS0qKQotCQliYXNpY19tYWNoaW5lPWBlY2hvICRi YXNpY19tYWNoaW5lIHwgc2VkIC1lICdzL21zMS0vbXQtLydgCi0JCTs7Ci0JbXN5cykKLQkJYmFz aWNfbWFjaGluZT1pMzg2LXBjCi0JCW9zPS1tc3lzCi0JCTs7Ci0JbXZzKQotCQliYXNpY19tYWNo aW5lPWkzNzAtaWJtCi0JCW9zPS1tdnMKLQkJOzsKLQluYWNsKQotCQliYXNpY19tYWNoaW5lPWxl MzItdW5rbm93bgotCQlvcz0tbmFjbAotCQk7OwotCW5jcjMwMDApCi0JCWJhc2ljX21hY2hpbmU9 aTQ4Ni1uY3IKLQkJb3M9LXN5c3Y0CisJCWNwdT1tNjgwMDAKKwkJdmVuZG9yPWNvbnZlcmdlbnQK IAkJOzsKLQluZXRic2QzODYpCi0JCWJhc2ljX21hY2hpbmU9aTM4Ni11bmtub3duCi0JCW9zPS1u ZXRic2QKLQkJOzsKLQluZXR3aW5kZXIpCi0JCWJhc2ljX21hY2hpbmU9YXJtdjRsLXJlYmVsCi0J CW9zPS1saW51eAotCQk7OwotCW5ld3MgfCBuZXdzNzAwIHwgbmV3czgwMCB8IG5ld3M5MDApCi0J CWJhc2ljX21hY2hpbmU9bTY4ay1zb255Ci0JCW9zPS1uZXdzb3MKLQkJOzsKLQluZXdzMTAwMCkK LQkJYmFzaWNfbWFjaGluZT1tNjgwMzAtc29ueQotCQlvcz0tbmV3c29zCisJKm1pbnQgfCBtaW50 WzAtOV0qIHwgKk1pTlQgfCAqTWlOVFswLTldKikKKwkJY3B1PW02OGsKKwkJdmVuZG9yPWF0YXJp CisJCW9zPW1pbnQKIAkJOzsKIAluZXdzLTM2MDAgfCByaXNjLW5ld3MpCi0JCWJhc2ljX21hY2hp bmU9bWlwcy1zb255Ci0JCW9zPS1uZXdzb3MKLQkJOzsKLQluZWN2NzApCi0JCWJhc2ljX21hY2hp bmU9djcwLW5lYwotCQlvcz0tc3lzdgorCQljcHU9bWlwcworCQl2ZW5kb3I9c29ueQorCQlvcz1u ZXdzb3MKIAkJOzsKLQluZXh0IHwgbSotbmV4dCApCi0JCWJhc2ljX21hY2hpbmU9bTY4ay1uZXh0 CisJbmV4dCB8IG0qLW5leHQpCisJCWNwdT1tNjhrCisJCXZlbmRvcj1uZXh0CiAJCWNhc2UgJG9z IGluCi0JCSAgICAtbmV4dHN0ZXAqICkKKwkJICAgIG9wZW5zdGVwKikKKwkJICAgICAgICA7Owor CQkgICAgbmV4dHN0ZXAqKQogCQkJOzsKLQkJICAgIC1uczIqKQotCQkgICAgICBvcz0tbmV4dHN0 ZXAyCisJCSAgICBuczIqKQorCQkgICAgICBvcz1uZXh0c3RlcDIKIAkJCTs7CiAJCSAgICAqKQot CQkgICAgICBvcz0tbmV4dHN0ZXAzCisJCSAgICAgIG9zPW5leHRzdGVwMwogCQkJOzsKIAkJZXNh YwogCQk7OwotCW5oMzAwMCkKLQkJYmFzaWNfbWFjaGluZT1tNjhrLWhhcnJpcwotCQlvcz0tY3h1 eAotCQk7OwotCW5oWzQ1XTAwMCkKLQkJYmFzaWNfbWFjaGluZT1tODhrLWhhcnJpcwotCQlvcz0t Y3h1eAotCQk7OwotCW5pbmR5OTYwKQotCQliYXNpY19tYWNoaW5lPWk5NjAtaW50ZWwKLQkJb3M9 LW5pbmR5Ci0JCTs7Ci0JbW9uOTYwKQotCQliYXNpY19tYWNoaW5lPWk5NjAtaW50ZWwKLQkJb3M9 LW1vbjk2MAotCQk7OwotCW5vbnN0b3B1eCkKLQkJYmFzaWNfbWFjaGluZT1taXBzLWNvbXBhcQot CQlvcz0tbm9uc3RvcHV4Ci0JCTs7CiAJbnAxKQotCQliYXNpY19tYWNoaW5lPW5wMS1nb3VsZAot CQk7OwotCW5lby10YW5kZW0pCi0JCWJhc2ljX21hY2hpbmU9bmVvLXRhbmRlbQotCQk7OwotCW5z ZS10YW5kZW0pCi0JCWJhc2ljX21hY2hpbmU9bnNlLXRhbmRlbQotCQk7OwotCW5zci10YW5kZW0p Ci0JCWJhc2ljX21hY2hpbmU9bnNyLXRhbmRlbQorCQljcHU9bnAxCisJCXZlbmRvcj1nb3VsZAog CQk7OwogCW9wNTBuLSogfCBvcDYwYy0qKQotCQliYXNpY19tYWNoaW5lPWhwcGExLjEtb2tpCi0J CW9zPS1wcm9lbGYKLQkJOzsKLQlvcGVucmlzYyB8IG9wZW5yaXNjLSopCi0JCWJhc2ljX21hY2hp bmU9b3IzMi11bmtub3duCi0JCTs7Ci0Jb3M0MDApCi0JCWJhc2ljX21hY2hpbmU9cG93ZXJwYy1p Ym0KLQkJb3M9LW9zNDAwCi0JCTs7Ci0JT1NFNjgwMDAgfCBvc2U2ODAwMCkKLQkJYmFzaWNfbWFj aGluZT1tNjgwMDAtZXJpY3Nzb24KLQkJb3M9LW9zZQotCQk7OwotCW9zNjhrKQotCQliYXNpY19t YWNoaW5lPW02OGstbm9uZQotCQlvcz0tb3M2OGsKKwkJY3B1PWhwcGExLjEKKwkJdmVuZG9yPW9r aQorCQlvcz1wcm9lbGYKIAkJOzsKIAlwYS1oaXRhY2hpKQotCQliYXNpY19tYWNoaW5lPWhwcGEx LjEtaGl0YWNoaQotCQlvcz0taGl1eHdlMgotCQk7OwotCXBhcmFnb24pCi0JCWJhc2ljX21hY2hp bmU9aTg2MC1pbnRlbAotCQlvcz0tb3NmCi0JCTs7Ci0JcGFyaXNjKQotCQliYXNpY19tYWNoaW5l PWhwcGEtdW5rbm93bgotCQlvcz0tbGludXgKLQkJOzsKLQlwYXJpc2MtKikKLQkJYmFzaWNfbWFj aGluZT1ocHBhLWBlY2hvICRiYXNpY19tYWNoaW5lIHwgc2VkICdzL15bXi1dKi0vLydgCi0JCW9z PS1saW51eAorCQljcHU9aHBwYTEuMQorCQl2ZW5kb3I9aGl0YWNoaQorCQlvcz1oaXV4d2UyCiAJ CTs7CiAJcGJkKQotCQliYXNpY19tYWNoaW5lPXNwYXJjLXR0aQorCQljcHU9c3BhcmMKKwkJdmVu ZG9yPXR0aQogCQk7OwogCXBiYikKLQkJYmFzaWNfbWFjaGluZT1tNjhrLXR0aQorCQljcHU9bTY4 aworCQl2ZW5kb3I9dHRpCiAJCTs7Ci0JcGM1MzIgfCBwYzUzMi0qKQotCQliYXNpY19tYWNoaW5l PW5zMzJrLXBjNTMyCi0JCTs7Ci0JcGM5OCkKLQkJYmFzaWNfbWFjaGluZT1pMzg2LXBjCi0JCTs7 Ci0JcGM5OC0qKQotCQliYXNpY19tYWNoaW5lPWkzODYtYGVjaG8gJGJhc2ljX21hY2hpbmUgfCBz ZWQgJ3MvXlteLV0qLS8vJ2AKLQkJOzsKLQlwZW50aXVtIHwgcDUgfCBrNSB8IGs2IHwgbmV4Z2Vu IHwgdmlhYzMpCi0JCWJhc2ljX21hY2hpbmU9aTU4Ni1wYwotCQk7OwotCXBlbnRpdW1wcm8gfCBw NiB8IDZ4ODYgfCBhdGhsb24gfCBhdGhsb25fKikKLQkJYmFzaWNfbWFjaGluZT1pNjg2LXBjCi0J CTs7Ci0JcGVudGl1bWlpIHwgcGVudGl1bTIgfCBwZW50aXVtaWlpIHwgcGVudGl1bTMpCi0JCWJh c2ljX21hY2hpbmU9aTY4Ni1wYwotCQk7OwotCXBlbnRpdW00KQotCQliYXNpY19tYWNoaW5lPWk3 ODYtcGMKLQkJOzsKLQlwZW50aXVtLSogfCBwNS0qIHwgazUtKiB8IGs2LSogfCBuZXhnZW4tKiB8 IHZpYWMzLSopCi0JCWJhc2ljX21hY2hpbmU9aTU4Ni1gZWNobyAkYmFzaWNfbWFjaGluZSB8IHNl ZCAncy9eW14tXSotLy8nYAotCQk7OwotCXBlbnRpdW1wcm8tKiB8IHA2LSogfCA2eDg2LSogfCBh dGhsb24tKikKLQkJYmFzaWNfbWFjaGluZT1pNjg2LWBlY2hvICRiYXNpY19tYWNoaW5lIHwgc2Vk ICdzL15bXi1dKi0vLydgCi0JCTs7Ci0JcGVudGl1bWlpLSogfCBwZW50aXVtMi0qIHwgcGVudGl1 bWlpaS0qIHwgcGVudGl1bTMtKikKLQkJYmFzaWNfbWFjaGluZT1pNjg2LWBlY2hvICRiYXNpY19t YWNoaW5lIHwgc2VkICdzL15bXi1dKi0vLydgCi0JCTs7Ci0JcGVudGl1bTQtKikKLQkJYmFzaWNf bWFjaGluZT1pNzg2LWBlY2hvICRiYXNpY19tYWNoaW5lIHwgc2VkICdzL15bXi1dKi0vLydgCisJ cGM1MzIpCisJCWNwdT1uczMyaworCQl2ZW5kb3I9cGM1MzIKIAkJOzsKIAlwbikKLQkJYmFzaWNf bWFjaGluZT1wbi1nb3VsZAotCQk7OwotCXBvd2VyKQliYXNpY19tYWNoaW5lPXBvd2VyLWlibQor CQljcHU9cG4KKwkJdmVuZG9yPWdvdWxkCiAJCTs7Ci0JcHBjIHwgcHBjYmUpCWJhc2ljX21hY2hp bmU9cG93ZXJwYy11bmtub3duCi0JCTs7Ci0JcHBjLSogfCBwcGNiZS0qKQotCQliYXNpY19tYWNo aW5lPXBvd2VycGMtYGVjaG8gJGJhc2ljX21hY2hpbmUgfCBzZWQgJ3MvXlteLV0qLS8vJ2AKLQkJ OzsKLQlwcGNsZSB8IHBvd2VycGNsaXR0bGUgfCBwcGMtbGUgfCBwb3dlcnBjLWxpdHRsZSkKLQkJ YmFzaWNfbWFjaGluZT1wb3dlcnBjbGUtdW5rbm93bgotCQk7OwotCXBwY2xlLSogfCBwb3dlcnBj bGl0dGxlLSopCi0JCWJhc2ljX21hY2hpbmU9cG93ZXJwY2xlLWBlY2hvICRiYXNpY19tYWNoaW5l IHwgc2VkICdzL15bXi1dKi0vLydgCi0JCTs7Ci0JcHBjNjQpCWJhc2ljX21hY2hpbmU9cG93ZXJw YzY0LXVua25vd24KLQkJOzsKLQlwcGM2NC0qKSBiYXNpY19tYWNoaW5lPXBvd2VycGM2NC1gZWNo byAkYmFzaWNfbWFjaGluZSB8IHNlZCAncy9eW14tXSotLy8nYAotCQk7OwotCXBwYzY0bGUgfCBw b3dlcnBjNjRsaXR0bGUgfCBwcGM2NC1sZSB8IHBvd2VycGM2NC1saXR0bGUpCi0JCWJhc2ljX21h Y2hpbmU9cG93ZXJwYzY0bGUtdW5rbm93bgotCQk7OwotCXBwYzY0bGUtKiB8IHBvd2VycGM2NGxp dHRsZS0qKQotCQliYXNpY19tYWNoaW5lPXBvd2VycGM2NGxlLWBlY2hvICRiYXNpY19tYWNoaW5l IHwgc2VkICdzL15bXi1dKi0vLydgCisJcG93ZXIpCisJCWNwdT1wb3dlcgorCQl2ZW5kb3I9aWJt CiAJCTs7CiAJcHMyKQotCQliYXNpY19tYWNoaW5lPWkzODYtaWJtCi0JCTs7Ci0JcHczMikKLQkJ YmFzaWNfbWFjaGluZT1pNTg2LXVua25vd24KLQkJb3M9LXB3MzIKLQkJOzsKLQlyZG9zKQotCQli YXNpY19tYWNoaW5lPWkzODYtcGMKLQkJb3M9LXJkb3MKLQkJOzsKLQlyb202OGspCi0JCWJhc2lj X21hY2hpbmU9bTY4ay1yb202OGsKLQkJb3M9LWNvZmYKKwkJY3B1PWkzODYKKwkJdmVuZG9yPWli bQogCQk7OwogCXJtWzQ2XTAwKQotCQliYXNpY19tYWNoaW5lPW1pcHMtc2llbWVucworCQljcHU9 bWlwcworCQl2ZW5kb3I9c2llbWVucwogCQk7OwogCXJ0cGMgfCBydHBjLSopCi0JCWJhc2ljX21h Y2hpbmU9cm9tcC1pYm0KLQkJOzsKLQlzMzkwIHwgczM5MC0qKQotCQliYXNpY19tYWNoaW5lPXMz OTAtaWJtCi0JCTs7Ci0JczM5MHggfCBzMzkweC0qKQotCQliYXNpY19tYWNoaW5lPXMzOTB4LWli bQotCQk7OwotCXNhMjkyMDApCi0JCWJhc2ljX21hY2hpbmU9YTI5ay1hbWQKLQkJb3M9LXVkaQor CQljcHU9cm9tcAorCQl2ZW5kb3I9aWJtCiAJCTs7Ci0Jc2IxKQotCQliYXNpY19tYWNoaW5lPW1p cHNpc2E2NHNiMS11bmtub3duCisJc2RlKQorCQljcHU9bWlwc2lzYTMyCisJCXZlbmRvcj1zZGUK KwkJb3M9JHtvczotZWxmfQogCQk7OwotCXNiMWVsKQotCQliYXNpY19tYWNoaW5lPW1pcHNpc2E2 NHNiMWVsLXVua25vd24KKwlzaW1zby13cnMpCisJCWNwdT1zcGFyY2xpdGUKKwkJdmVuZG9yPXdy cworCQlvcz12eHdvcmtzCiAJCTs7Ci0Jc2RlKQotCQliYXNpY19tYWNoaW5lPW1pcHNpc2EzMi1z ZGUKLQkJb3M9LWVsZgorCXRvd2VyIHwgdG93ZXItMzIpCisJCWNwdT1tNjhrCisJCXZlbmRvcj1u Y3IKIAkJOzsKLQlzZWkpCi0JCWJhc2ljX21hY2hpbmU9bWlwcy1zZWkKLQkJb3M9LXNlaXV4CisJ dnBwKnx2eHx2eC0qKQorCQljcHU9ZjMwMQorCQl2ZW5kb3I9ZnVqaXRzdQogCQk7OwotCXNlcXVl bnQpCi0JCWJhc2ljX21hY2hpbmU9aTM4Ni1zZXF1ZW50CisJdzY1KQorCQljcHU9dzY1CisJCXZl bmRvcj13ZGMKIAkJOzsKLQlzaCkKLQkJYmFzaWNfbWFjaGluZT1zaC1oaXRhY2hpCi0JCW9zPS1o bXMKKwl3ODlrLSopCisJCWNwdT1ocHBhMS4xCisJCXZlbmRvcj13aW5ib25kCisJCW9zPXByb2Vs ZgogCQk7OwotCXNoNWVsKQotCQliYXNpY19tYWNoaW5lPXNoNWxlLXVua25vd24KKwlub25lKQor CQljcHU9bm9uZQorCQl2ZW5kb3I9bm9uZQogCQk7OwotCXNoNjQpCi0JCWJhc2ljX21hY2hpbmU9 c2g2NC11bmtub3duCisJbGVvbnxsZW9uWzMtOV0pCisJCWNwdT1zcGFyYworCQl2ZW5kb3I9JGJh c2ljX21hY2hpbmUKIAkJOzsKLQlzcGFyY2xpdGUtd3JzIHwgc2ltc28td3JzKQotCQliYXNpY19t YWNoaW5lPXNwYXJjbGl0ZS13cnMKLQkJb3M9LXZ4d29ya3MKKwlsZW9uLSp8bGVvblszLTldLSop CisJCWNwdT1zcGFyYworCQl2ZW5kb3I9YGVjaG8gIiRiYXNpY19tYWNoaW5lIiB8IHNlZCAncy8t LiovLydgCiAJCTs7Ci0Jc3BzNykKLQkJYmFzaWNfbWFjaGluZT1tNjhrLWJ1bGwKLQkJb3M9LXN5 c3YyCisKKwkqLSopCisJCSMgc2hlbGxjaGVjayBkaXNhYmxlPVNDMjE2MgorCQlJRlM9Ii0iIHJl YWQgY3B1IHZlbmRvciA8PEVPRgorJGJhc2ljX21hY2hpbmUKK0VPRgogCQk7OwotCXNwdXIpCi0J CWJhc2ljX21hY2hpbmU9c3B1ci11bmtub3duCisJIyBXZSB1c2UgYHBjJyByYXRoZXIgdGhhbiBg dW5rbm93bicKKwkjIGJlY2F1c2UgKDEpIHRoYXQncyB3aGF0IHRoZXkgbm9ybWFsbHkgYXJlLCBh bmQKKwkjICgyKSB0aGUgd29yZCAidW5rbm93biIgdGVuZHMgdG8gY29uZnVzZSBiZWdpbm5pbmcg dXNlcnMuCisJaSo4NiB8IHg4Nl82NCkKKwkJY3B1PSRiYXNpY19tYWNoaW5lCisJCXZlbmRvcj1w YwogCQk7OwotCXN0MjAwMCkKLQkJYmFzaWNfbWFjaGluZT1tNjhrLXRhbmRlbQorCSMgVGhlc2Ug cnVsZXMgYXJlIGR1cGxpY2F0ZWQgZnJvbSBiZWxvdyBmb3Igc2FrZSBvZiB0aGUgc3BlY2lhbCBj YXNlIGFib3ZlOworCSMgaS5lLiB0aGluZ3MgdGhhdCBub3JtYWxpemVkIHRvIHg4NiBhcmNoZXMg c2hvdWxkIGFsc28gZGVmYXVsdCB0byAicGMiCisJcGM5OCkKKwkJY3B1PWkzODYKKwkJdmVuZG9y PXBjCiAJCTs7Ci0Jc3RyYXR1cykKLQkJYmFzaWNfbWFjaGluZT1pODYwLXN0cmF0dXMKLQkJb3M9 LXN5c3Y0CisJeDY0IHwgYW1kNjQpCisJCWNwdT14ODZfNjQKKwkJdmVuZG9yPXBjCiAJCTs7Ci0J c3Ryb25nYXJtLSogfCB0aHVtYi0qKQotCQliYXNpY19tYWNoaW5lPWFybS1gZWNobyAkYmFzaWNf bWFjaGluZSB8IHNlZCAncy9eW14tXSotLy8nYAorCSMgUmVjb2duaXplIHRoZSBiYXNpYyBDUFUg dHlwZXMgd2l0aG91dCBjb21wYW55IG5hbWUuCisJKikKKwkJY3B1PSRiYXNpY19tYWNoaW5lCisJ CXZlbmRvcj11bmtub3duCiAJCTs7Ci0Jc3VuMikKLQkJYmFzaWNfbWFjaGluZT1tNjgwMDAtc3Vu Citlc2FjCisKK3Vuc2V0IC12IGJhc2ljX21hY2hpbmUKKworIyBEZWNvZGUgYmFzaWMgbWFjaGlu ZXMgaW4gdGhlIGZ1bGwgYW5kIHByb3BlciBDUFUtQ29tcGFueSBmb3JtLgorY2FzZSAkY3B1LSR2 ZW5kb3IgaW4KKwkjIEhlcmUgd2UgaGFuZGxlIHRoZSBkZWZhdWx0IG1hbnVmYWN0dXJlciBvZiBj ZXJ0YWluIENQVSB0eXBlcyBpbiBjYW5vbmljYWwgZm9ybS4gSXQgaXMgaW4KKwkjIHNvbWUgY2Fz ZXMgdGhlIG9ubHkgbWFudWZhY3R1cmVyLCBpbiBvdGhlcnMsIGl0IGlzIHRoZSBtb3N0IHBvcHVs YXIuCisJY3JheW52LXVua25vd24pCisJCXZlbmRvcj1jcmF5CisJCW9zPSR7b3M6LXVuaWNvc21w fQogCQk7OwotCXN1bjJvczMpCi0JCWJhc2ljX21hY2hpbmU9bTY4MDAwLXN1bgotCQlvcz0tc3Vu b3MzCisJYzkwLXVua25vd24gfCBjOTAtY3JheSkKKwkJdmVuZG9yPWNyYXkKKwkJb3M9JHtvczot dW5pY29zfQogCQk7OwotCXN1bjJvczQpCi0JCWJhc2ljX21hY2hpbmU9bTY4MDAwLXN1bgotCQlv cz0tc3Vub3M0CisJZng4MC11bmtub3duKQorCQl2ZW5kb3I9YWxsaWFudAogCQk7OwotCXN1bjNv czMpCi0JCWJhc2ljX21hY2hpbmU9bTY4ay1zdW4KLQkJb3M9LXN1bm9zMworCXJvbXAtdW5rbm93 bikKKwkJdmVuZG9yPWlibQogCQk7OwotCXN1bjNvczQpCi0JCWJhc2ljX21hY2hpbmU9bTY4ay1z dW4KLQkJb3M9LXN1bm9zNAorCW1taXgtdW5rbm93bikKKwkJdmVuZG9yPWtudXRoCiAJCTs7Ci0J c3VuNG9zMykKLQkJYmFzaWNfbWFjaGluZT1zcGFyYy1zdW4KLQkJb3M9LXN1bm9zMworCW1pY3Jv YmxhemUtdW5rbm93biB8IG1pY3JvYmxhemVlbC11bmtub3duKQorCQl2ZW5kb3I9eGlsaW54CiAJ CTs7Ci0Jc3VuNG9zNCkKLQkJYmFzaWNfbWFjaGluZT1zcGFyYy1zdW4KLQkJb3M9LXN1bm9zNAor CXJzNjAwMC11bmtub3duKQorCQl2ZW5kb3I9aWJtCiAJCTs7Ci0Jc3VuNHNvbDIpCi0JCWJhc2lj X21hY2hpbmU9c3BhcmMtc3VuCi0JCW9zPS1zb2xhcmlzMgorCXZheC11bmtub3duKQorCQl2ZW5k b3I9ZGVjCiAJCTs7Ci0Jc3VuMyB8IHN1bjMtKikKLQkJYmFzaWNfbWFjaGluZT1tNjhrLXN1bgor CXBkcDExLXVua25vd24pCisJCXZlbmRvcj1kZWMKIAkJOzsKLQlzdW40KQotCQliYXNpY19tYWNo aW5lPXNwYXJjLXN1bgorCXdlMzJrLXVua25vd24pCisJCXZlbmRvcj1hdHQKIAkJOzsKLQlzdW4z ODYgfCBzdW4zODZpIHwgcm9hZHJ1bm5lcikKLQkJYmFzaWNfbWFjaGluZT1pMzg2LXN1bgorCWN5 ZHJhLXVua25vd24pCisJCXZlbmRvcj1jeWRyb21lCiAJCTs7Ci0Jc3YxKQotCQliYXNpY19tYWNo aW5lPXN2MS1jcmF5Ci0JCW9zPS11bmljb3MKKwlpMzcwLWlibSopCisJCXZlbmRvcj1pYm0KIAkJ OzsKLQlzeW1tZXRyeSkKLQkJYmFzaWNfbWFjaGluZT1pMzg2LXNlcXVlbnQKLQkJb3M9LWR5bml4 CisJb3Jpb24tdW5rbm93bikKKwkJdmVuZG9yPWhpZ2hsZXZlbAogCQk7OwotCXQzZSkKLQkJYmFz aWNfbWFjaGluZT1hbHBoYWV2NS1jcmF5Ci0JCW9zPS11bmljb3MKKwl4cHMtdW5rbm93biB8IHhw czEwMC11bmtub3duKQorCQljcHU9eHBzMTAwCisJCXZlbmRvcj1ob25leXdlbGwKIAkJOzsKLQl0 OTApCi0JCWJhc2ljX21hY2hpbmU9dDkwLWNyYXkKLQkJb3M9LXVuaWNvcworCisJIyBIZXJlIHdl IG5vcm1hbGl6ZSBDUFUgdHlwZXMgd2l0aCBhIG1pc3Npbmcgb3IgbWF0Y2hpbmcgdmVuZG9yCisJ ZHB4MjAtdW5rbm93biB8IGRweDIwLWJ1bGwpCisJCWNwdT1yczYwMDAKKwkJdmVuZG9yPWJ1bGwK KwkJb3M9JHtvczotYm9zeH0KIAkJOzsKLQl0aWxlKikKLQkJYmFzaWNfbWFjaGluZT0kYmFzaWNf bWFjaGluZS11bmtub3duCi0JCW9zPS1saW51eC1nbnUKKworCSMgSGVyZSB3ZSBub3JtYWxpemUg Q1BVIHR5cGVzIGlycmVzcGVjdGl2ZSBvZiB0aGUgdmVuZG9yCisJYW1kNjQtKikKKwkJY3B1PXg4 Nl82NAogCQk7OwotCXR4MzkpCi0JCWJhc2ljX21hY2hpbmU9bWlwc3R4MzktdW5rbm93bgorCWJs YWNrZmluLSopCisJCWNwdT1iZmluCisJCW9zPWxpbnV4CiAJCTs7Ci0JdHgzOWVsKQotCQliYXNp Y19tYWNoaW5lPW1pcHN0eDM5ZWwtdW5rbm93bgorCWM1NHgtKikKKwkJY3B1PXRpYzU0eAogCQk7 OwotCXRvYWQxKQotCQliYXNpY19tYWNoaW5lPXBkcDEwLXhrbAotCQlvcz0tdG9wczIwCisJYzU1 eC0qKQorCQljcHU9dGljNTV4CiAJCTs7Ci0JdG93ZXIgfCB0b3dlci0zMikKLQkJYmFzaWNfbWFj aGluZT1tNjhrLW5jcgorCWM2eC0qKQorCQljcHU9dGljNngKIAkJOzsKLQl0cGYpCi0JCWJhc2lj X21hY2hpbmU9czM5MHgtaWJtCi0JCW9zPS10cGYKKwllNTAwdlsxMl0tKikKKwkJY3B1PXBvd2Vy cGMKKwkJb3M9JG9zInNwZSIKIAkJOzsKLQl1ZGkyOWspCi0JCWJhc2ljX21hY2hpbmU9YTI5ay1h bWQKLQkJb3M9LXVkaQorCW1pcHMzKi0qKQorCQljcHU9bWlwczY0CiAJCTs7Ci0JdWx0cmEzKQot CQliYXNpY19tYWNoaW5lPWEyOWstbnl1Ci0JCW9zPS1zeW0xCisJbXMxLSopCisJCWNwdT1tdAog CQk7OwotCXY4MTAgfCBuZWN2ODEwKQotCQliYXNpY19tYWNoaW5lPXY4MTAtbmVjCi0JCW9zPS1u b25lCisJbTY4a25vbW11LSopCisJCWNwdT1tNjhrCisJCW9zPWxpbnV4CiAJCTs7Ci0JdmF4dikK LQkJYmFzaWNfbWFjaGluZT12YXgtZGVjCi0JCW9zPS1zeXN2CisJbTlzMTJ6LSogfCBtNjhoY3Mx MnotKiB8IGhjczEyei0qIHwgczEyei0qKQorCQljcHU9czEyegogCQk7OwotCXZtcykKLQkJYmFz aWNfbWFjaGluZT12YXgtZGVjCi0JCW9zPS12bXMKKwlvcGVucmlzYy0qKQorCQljcHU9b3IzMgog CQk7OwotCXZwcCp8dnh8dngtKikKLQkJYmFzaWNfbWFjaGluZT1mMzAxLWZ1aml0c3UKKwlwYXJp c2MtKikKKwkJY3B1PWhwcGEKKwkJb3M9bGludXgKIAkJOzsKLQl2eHdvcmtzOTYwKQotCQliYXNp Y19tYWNoaW5lPWk5NjAtd3JzCi0JCW9zPS12eHdvcmtzCisJcGVudGl1bS0qIHwgcDUtKiB8IGs1 LSogfCBrNi0qIHwgbmV4Z2VuLSogfCB2aWFjMy0qKQorCQljcHU9aTU4NgogCQk7OwotCXZ4d29y a3M2OCkKLQkJYmFzaWNfbWFjaGluZT1tNjhrLXdycwotCQlvcz0tdnh3b3JrcworCXBlbnRpdW1w cm8tKiB8IHA2LSogfCA2eDg2LSogfCBhdGhsb24tKiB8IGF0aGFsb25fKi0qKQorCQljcHU9aTY4 NgogCQk7OwotCXZ4d29ya3MyOWspCi0JCWJhc2ljX21hY2hpbmU9YTI5ay13cnMKLQkJb3M9LXZ4 d29ya3MKKwlwZW50aXVtaWktKiB8IHBlbnRpdW0yLSogfCBwZW50aXVtaWlpLSogfCBwZW50aXVt My0qKQorCQljcHU9aTY4NgogCQk7OwotCXc2NSopCi0JCWJhc2ljX21hY2hpbmU9dzY1LXdkYwot CQlvcz0tbm9uZQorCXBlbnRpdW00LSopCisJCWNwdT1pNzg2CiAJCTs7Ci0Jdzg5ay0qKQotCQli YXNpY19tYWNoaW5lPWhwcGExLjEtd2luYm9uZAotCQlvcz0tcHJvZWxmCisJcGM5OC0qKQorCQlj cHU9aTM4NgogCQk7OwotCXhib3gpCi0JCWJhc2ljX21hY2hpbmU9aTY4Ni1wYwotCQlvcz0tbWlu Z3czMgorCXBwYy0qIHwgcHBjYmUtKikKKwkJY3B1PXBvd2VycGMKIAkJOzsKLQl4cHMgfCB4cHMx MDApCi0JCWJhc2ljX21hY2hpbmU9eHBzMTAwLWhvbmV5d2VsbAorCXBwY2xlLSogfCBwb3dlcnBj bGl0dGxlLSopCisJCWNwdT1wb3dlcnBjbGUKIAkJOzsKLQl4c2NhbGUtKiB8IHhzY2FsZWVbYmxd LSopCi0JCWJhc2ljX21hY2hpbmU9YGVjaG8gJGJhc2ljX21hY2hpbmUgfCBzZWQgJ3MvXnhzY2Fs ZS9hcm0vJ2AKKwlwcGM2NC0qKQorCQljcHU9cG93ZXJwYzY0CiAJCTs7Ci0JeW1wKQotCQliYXNp Y19tYWNoaW5lPXltcC1jcmF5Ci0JCW9zPS11bmljb3MKKwlwcGM2NGxlLSogfCBwb3dlcnBjNjRs aXR0bGUtKikKKwkJY3B1PXBvd2VycGM2NGxlCiAJCTs7Ci0JejhrLSotY29mZikKLQkJYmFzaWNf bWFjaGluZT16OGstdW5rbm93bgotCQlvcz0tc2ltCisJc2IxLSopCisJCWNwdT1taXBzaXNhNjRz YjEKIAkJOzsKLQl6ODAtKi1jb2ZmKQotCQliYXNpY19tYWNoaW5lPXo4MC11bmtub3duCi0JCW9z PS1zaW0KKwlzYjFlbC0qKQorCQljcHU9bWlwc2lzYTY0c2IxZWwKIAkJOzsKLQlub25lKQotCQli YXNpY19tYWNoaW5lPW5vbmUtbm9uZQotCQlvcz0tbm9uZQorCXNoNWVbbGJdLSopCisJCWNwdT1g ZWNobyAiJGNwdSIgfCBzZWQgJ3MvXlwoc2guXCllXCguXCkkL1wxXDJlLydgCiAJCTs7Ci0KLSMg SGVyZSB3ZSBoYW5kbGUgdGhlIGRlZmF1bHQgbWFudWZhY3R1cmVyIG9mIGNlcnRhaW4gQ1BVIHR5 cGVzLiAgSXQgaXMgaW4KLSMgc29tZSBjYXNlcyB0aGUgb25seSBtYW51ZmFjdHVyZXIsIGluIG90 aGVycywgaXQgaXMgdGhlIG1vc3QgcG9wdWxhci4KLQl3ODlrKQotCQliYXNpY19tYWNoaW5lPWhw cGExLjEtd2luYm9uZAorCXNwdXItKikKKwkJY3B1PXNwdXIKIAkJOzsKLQlvcDUwbikKLQkJYmFz aWNfbWFjaGluZT1ocHBhMS4xLW9raQorCXN0cm9uZ2FybS0qIHwgdGh1bWItKikKKwkJY3B1PWFy bQogCQk7OwotCW9wNjBjKQotCQliYXNpY19tYWNoaW5lPWhwcGExLjEtb2tpCisJdHgzOS0qKQor CQljcHU9bWlwc3R4MzkKIAkJOzsKLQlyb21wKQotCQliYXNpY19tYWNoaW5lPXJvbXAtaWJtCisJ dHgzOWVsLSopCisJCWNwdT1taXBzdHgzOWVsCiAJCTs7Ci0JbW1peCkKLQkJYmFzaWNfbWFjaGlu ZT1tbWl4LWtudXRoCisJeDY0LSopCisJCWNwdT14ODZfNjQKIAkJOzsKLQlyczYwMDApCi0JCWJh c2ljX21hY2hpbmU9cnM2MDAwLWlibQorCXhzY2FsZS0qIHwgeHNjYWxlZVtibF0tKikKKwkJY3B1 PWBlY2hvICIkY3B1IiB8IHNlZCAncy9eeHNjYWxlL2FybS8nYAogCQk7OwotCXZheCkKLQkJYmFz aWNfbWFjaGluZT12YXgtZGVjCisKKwkjIFJlY29nbml6ZSB0aGUgY2Fub25pY2FsIENQVSBUeXBl cyB0aGF0IGxpbWl0IGFuZC9vciBtb2RpZnkgdGhlCisJIyBjb21wYW55IG5hbWVzIHRoZXkgYXJl IHBhaXJlZCB3aXRoLgorCWNyMTYtKikKKwkJb3M9JHtvczotZWxmfQogCQk7OwotCXBkcDEwKQot CQkjIHRoZXJlIGFyZSBtYW55IGNsb25lcywgc28gREVDIGlzIG5vdCBhIHNhZmUgYmV0Ci0JCWJh c2ljX21hY2hpbmU9cGRwMTAtdW5rbm93bgorCWNyaXN2MzItKiB8IGV0cmF4ZnMqLSopCisJCWNw dT1jcmlzdjMyCisJCXZlbmRvcj1heGlzCiAJCTs7Ci0JcGRwMTEpCi0JCWJhc2ljX21hY2hpbmU9 cGRwMTEtZGVjCisJY3Jpcy0qIHwgZXRyYXgqLSopCisJCWNwdT1jcmlzCisJCXZlbmRvcj1heGlz CiAJCTs7Ci0Jd2UzMmspCi0JCWJhc2ljX21hY2hpbmU9d2UzMmstYXR0CisJY3J4LSopCisJCW9z PSR7b3M6LWVsZn0KIAkJOzsKLQlzaFsxMjM0XSB8IHNoWzI0XWEgfCBzaFsyNF1hZWIgfCBzaFsz NF1lYiB8IHNoWzEyMzRdbGUgfCBzaFsyM11lbGUpCi0JCWJhc2ljX21hY2hpbmU9c2gtdW5rbm93 bgorCW5lby10YW5kZW0pCisJCWNwdT1uZW8KKwkJdmVuZG9yPXRhbmRlbQogCQk7OwotCXNwYXJj IHwgc3BhcmN2OCB8IHNwYXJjdjkgfCBzcGFyY3Y5YiB8IHNwYXJjdjl2KQotCQliYXNpY19tYWNo aW5lPXNwYXJjLXN1bgorCW5zZS10YW5kZW0pCisJCWNwdT1uc2UKKwkJdmVuZG9yPXRhbmRlbQog CQk7OwotCWN5ZHJhKQotCQliYXNpY19tYWNoaW5lPWN5ZHJhLWN5ZHJvbWUKKwluc3ItdGFuZGVt KQorCQljcHU9bnNyCisJCXZlbmRvcj10YW5kZW0KIAkJOzsKLQlvcmlvbikKLQkJYmFzaWNfbWFj aGluZT1vcmlvbi1oaWdobGV2ZWwKKwluc3YtdGFuZGVtKQorCQljcHU9bnN2CisJCXZlbmRvcj10 YW5kZW0KIAkJOzsKLQlvcmlvbjEwNSkKLQkJYmFzaWNfbWFjaGluZT1jbGlwcGVyLWhpZ2hsZXZl bAorCW5zeC10YW5kZW0pCisJCWNwdT1uc3gKKwkJdmVuZG9yPXRhbmRlbQogCQk7OwotCW1hYyB8 IG1wdyB8IG1hYy1tcHcpCi0JCWJhc2ljX21hY2hpbmU9bTY4ay1hcHBsZQorCXMzOTAtKikKKwkJ Y3B1PXMzOTAKKwkJdmVuZG9yPWlibQogCQk7OwotCXBtYWMgfCBwbWFjLW1wdykKLQkJYmFzaWNf bWFjaGluZT1wb3dlcnBjLWFwcGxlCisJczM5MHgtKikKKwkJY3B1PXMzOTB4CisJCXZlbmRvcj1p Ym0KIAkJOzsKLQkqLXVua25vd24pCi0JCSMgTWFrZSBzdXJlIHRvIG1hdGNoIGFuIGFscmVhZHkt Y2Fub25pY2FsaXplZCBtYWNoaW5lIG5hbWUuCisJdGlsZSotKikKKwkJb3M9JHtvczotbGludXgt Z251fQogCQk7OworCiAJKikKLQkJZWNobyBJbnZhbGlkIGNvbmZpZ3VyYXRpb24gXGAkMVwnOiBt YWNoaW5lIFxgJGJhc2ljX21hY2hpbmVcJyBub3QgcmVjb2duaXplZCAxPiYyCi0JCWV4aXQgMQor CQkjIFJlY29nbml6ZSB0aGUgY2Fub25pY2FsIENQVSB0eXBlcyB0aGF0IGFyZSBhbGxvd2VkIHdp dGggYW55CisJCSMgY29tcGFueSBuYW1lLgorCQljYXNlICRjcHUgaW4KKwkJCTE3NTBhIHwgNTgw IFwKKwkJCXwgYTI5ayBcCisJCQl8IGFhcmNoNjQgfCBhYXJjaDY0X2JlIFwKKwkJCXwgYWJhY3Vz IFwKKwkJCXwgYWxwaGEgfCBhbHBoYWV2WzQtOF0gfCBhbHBoYWV2NTYgfCBhbHBoYWV2Nls3OF0g XAorCQkJfCBhbHBoYTY0IHwgYWxwaGE2NGV2WzQtOF0gfCBhbHBoYTY0ZXY1NiB8IGFscGhhNjRl djZbNzhdIFwKKwkJCXwgYWxwaGFwY2E1WzY3XSB8IGFscGhhNjRwY2E1WzY3XSBcCisJCQl8IGFt MzNfMi4wIFwKKwkJCXwgYW1kZ2NuIFwKKwkJCXwgYXJjIHwgYXJjZWIgXAorCQkJfCBhcm0gIHwg YXJtW2xiXWUgfCBhcm1lW2xiXSB8IGFybXYqIFwKKwkJCXwgYXZyIHwgYXZyMzIgXAorCQkJfCBh c21qcyBcCisJCQl8IGJhIFwKKwkJCXwgYmUzMiB8IGJlNjQgXAorCQkJfCBiZmluIHwgYnMyMDAw IFwKKwkJCXwgY1sxMjNdKiB8IGMzMCB8IFtjanRdOTAgfCBjNHggXAorCQkJfCBjODA1MSB8IGNs aXBwZXIgfCBjcmF5bnYgfCBjc2t5IHwgY3lkcmEgXAorCQkJfCBkMTB2IHwgZDMwdiB8IGRseCB8 IGRzcDE2eHggXAorCQkJfCBlMmsgfCBlbHhzaSB8IGVwaXBoYW55IFwKKwkJCXwgZjMwWzAxXSB8 IGY3MDAgfCBmaWRvIHwgZnIzMCB8IGZydiB8IGZ0MzIgfCBmeDgwIFwKKwkJCXwgaDgzMDAgfCBo ODUwMCBcCisJCQl8IGhwcGEgfCBocHBhMS5bMDFdIHwgaHBwYTIuMCB8IGhwcGEyLjBbbnddIHwg aHBwYTY0IFwKKwkJCXwgaGV4YWdvbiBcCisJCQl8IGkzNzAgfCBpKjg2IHwgaTg2MCB8IGk5NjAg fCBpYTE2IHwgaWE2NCBcCisJCQl8IGlwMmsgfCBpcTIwMDAgXAorCQkJfCBrMW9tIFwKKwkJCXwg bGUzMiB8IGxlNjQgXAorCQkJfCBsbTMyIFwKKwkJCXwgbTMyYyB8IG0zMnIgfCBtMzJybGUgXAor CQkJfCBtNTIwMCB8IG02ODAwMCB8IG02ODBbMDEyMzQ2XTAgfCBtNjgzNjAgfCBtNjgzPzIgfCBt NjhrIFwKKwkJCXwgbTY4MTEgfCBtNjhoYzExIHwgbTY4MTIgfCBtNjhoYzEyIHwgbTY4aGNzMTJ4 IFwKKwkJCXwgbTg4MTEwIHwgbTg4ayB8IG1heHEgfCBtYiB8IG1jb3JlIHwgbWVwIHwgbWV0YWcg XAorCQkJfCBtaWNyb2JsYXplIHwgbWljcm9ibGF6ZWVsIFwKKwkJCXwgbWlwcyB8IG1pcHNiZSB8 IG1pcHNlYiB8IG1pcHNlbCB8IG1pcHNsZSBcCisJCQl8IG1pcHMxNiBcCisJCQl8IG1pcHM2NCB8 IG1pcHM2NGViIHwgbWlwczY0ZWwgXAorCQkJfCBtaXBzNjRvY3Rlb24gfCBtaXBzNjRvY3Rlb25l bCBcCisJCQl8IG1pcHM2NG9yaW9uIHwgbWlwczY0b3Jpb25lbCBcCisJCQl8IG1pcHM2NHI1OTAw IHwgbWlwczY0cjU5MDBlbCBcCisJCQl8IG1pcHM2NHZyIHwgbWlwczY0dnJlbCBcCisJCQl8IG1p cHM2NHZyNDEwMCB8IG1pcHM2NHZyNDEwMGVsIFwKKwkJCXwgbWlwczY0dnI0MzAwIHwgbWlwczY0 dnI0MzAwZWwgXAorCQkJfCBtaXBzNjR2cjUwMDAgfCBtaXBzNjR2cjUwMDBlbCBcCisJCQl8IG1p cHM2NHZyNTkwMCB8IG1pcHM2NHZyNTkwMGVsIFwKKwkJCXwgbWlwc2lzYTMyIHwgbWlwc2lzYTMy ZWwgXAorCQkJfCBtaXBzaXNhMzJyMiB8IG1pcHNpc2EzMnIyZWwgXAorCQkJfCBtaXBzaXNhMzJy NiB8IG1pcHNpc2EzMnI2ZWwgXAorCQkJfCBtaXBzaXNhNjQgfCBtaXBzaXNhNjRlbCBcCisJCQl8 IG1pcHNpc2E2NHIyIHwgbWlwc2lzYTY0cjJlbCBcCisJCQl8IG1pcHNpc2E2NHI2IHwgbWlwc2lz YTY0cjZlbCBcCisJCQl8IG1pcHNpc2E2NHNiMSB8IG1pcHNpc2E2NHNiMWVsIFwKKwkJCXwgbWlw c2lzYTY0c3I3MWsgfCBtaXBzaXNhNjRzcjcxa2VsIFwKKwkJCXwgbWlwc3I1OTAwIHwgbWlwc3I1 OTAwZWwgXAorCQkJfCBtaXBzdHgzOSB8IG1pcHN0eDM5ZWwgXAorCQkJfCBtbWl4IFwKKwkJCXwg bW4xMDIwMCB8IG1uMTAzMDAgXAorCQkJfCBtb3hpZSBcCisJCQl8IG10IFwKKwkJCXwgbXNwNDMw IFwKKwkJCXwgbmRzMzIgfCBuZHMzMmxlIHwgbmRzMzJiZSBcCisJCQl8IG5mcCBcCisJCQl8IG5p b3MgfCBuaW9zMiB8IG5pb3MyZWIgfCBuaW9zMmVsIFwKKwkJCXwgbm9uZSB8IG5wMSB8IG5zMTZr IHwgbnMzMmsgfCBudnB0eCBcCisJCQl8IG9wZW44IFwKKwkJCXwgb3IxayogXAorCQkJfCBvcjMy IFwKKwkJCXwgb3Jpb24gXAorCQkJfCBwaWNvY2hpcCBcCisJCQl8IHBkcDEwIHwgcGRwMTEgfCBw aiB8IHBqbCB8IHBuIHwgcG93ZXIgXAorCQkJfCBwb3dlcnBjIHwgcG93ZXJwYzY0IHwgcG93ZXJw YzY0bGUgfCBwb3dlcnBjbGUgfCBwb3dlcnBjc3BlIFwKKwkJCXwgcHJ1IFwKKwkJCXwgcHlyYW1p ZCBcCisJCQl8IHJpc2N2IHwgcmlzY3YzMiB8IHJpc2N2NjQgXAorCQkJfCBybDc4IHwgcm9tcCB8 IHJzNjAwMCB8IHJ4IFwKKwkJCXwgc2NvcmUgXAorCQkJfCBzaCB8IHNobCBcCisJCQl8IHNoWzEy MzRdIHwgc2hbMjRdYSB8IHNoWzI0XWFlW2xiXSB8IHNoWzIzXWUgfCBzaGVbbGJdIHwgc2hbbGJd ZSBcCisJCQl8IHNoWzEyMzRdZVtsYl0gfCAgc2hbMTIzNDVdW2xiXWUgfCBzaFsyM11lbGUgfCBz aDY0IHwgc2g2NGxlIFwKKwkJCXwgc3BhcmMgfCBzcGFyYzY0IHwgc3BhcmM2NGIgfCBzcGFyYzY0 diB8IHNwYXJjODZ4IHwgc3BhcmNsZXQgXAorCQkJfCBzcGFyY2xpdGUgXAorCQkJfCBzcGFyY3Y4 IHwgc3BhcmN2OSB8IHNwYXJjdjliIHwgc3BhcmN2OXYgfCBzdjEgfCBzeCogXAorCQkJfCBzcHUg XAorCQkJfCB0YWhvZSBcCisJCQl8IHRpYzMwIHwgdGljNHggfCB0aWM1NHggfCB0aWM1NXggfCB0 aWM2eCB8IHRpYzgwIFwKKwkJCXwgdHJvbiBcCisJCQl8IHViaWNvbTMyIFwKKwkJCXwgdjcwIHwg djg1MCB8IHY4NTBlIHwgdjg1MGUxIHwgdjg1MGVzIHwgdjg1MGUyIHwgdjg1MGUydjMgXAorCQkJ fCB2YXggXAorCQkJfCB2aXNpdW0gXAorCQkJfCB3NjUgXAorCQkJfCB3YXNtMzIgfCB3YXNtNjQg XAorCQkJfCB3ZTMyayBcCisJCQl8IHg4NiB8IHg4Nl82NCB8IHhjMTZ4IHwgeGdhdGUgfCB4cHMx MDAgXAorCQkJfCB4c3Rvcm15MTYgfCB4dGVuc2EqIFwKKwkJCXwgeW1wIFwKKwkJCXwgejhrIHwg ejgwKQorCQkJCTs7CisKKwkJCSopCisJCQkJZWNobyBJbnZhbGlkIGNvbmZpZ3VyYXRpb24gXGAi JDEiXCc6IG1hY2hpbmUgXGAiJGNwdS0kdmVuZG9yIlwnIG5vdCByZWNvZ25pemVkIDE+JjIKKwkJ CQlleGl0IDEKKwkJCQk7OworCQllc2FjCiAJCTs7CiBlc2FjCiAKICMgSGVyZSB3ZSBjYW5vbmlj YWxpemUgY2VydGFpbiBhbGlhc2VzIGZvciBtYW51ZmFjdHVyZXJzLgotY2FzZSAkYmFzaWNfbWFj aGluZSBpbgotCSotZGlnaXRhbCopCi0JCWJhc2ljX21hY2hpbmU9YGVjaG8gJGJhc2ljX21hY2hp bmUgfCBzZWQgJ3MvZGlnaXRhbC4qL2RlYy8nYAorY2FzZSAkdmVuZG9yIGluCisJZGlnaXRhbCop CisJCXZlbmRvcj1kZWMKIAkJOzsKLQkqLWNvbW1vZG9yZSopCi0JCWJhc2ljX21hY2hpbmU9YGVj aG8gJGJhc2ljX21hY2hpbmUgfCBzZWQgJ3MvY29tbW9kb3JlLiovY2JtLydgCisJY29tbW9kb3Jl KikKKwkJdmVuZG9yPWNibQogCQk7OwogCSopCiAJCTs7CkBAIC0xMzE1LDIwMCArMTI3OCwyNDYg QEAgZXNhYwogCiAjIERlY29kZSBtYW51ZmFjdHVyZXItc3BlY2lmaWMgYWxpYXNlcyBmb3IgY2Vy dGFpbiBvcGVyYXRpbmcgc3lzdGVtcy4KIAotaWYgWyB4IiRvcyIgIT0geCIiIF0KK2lmIFsgeCRv cyAhPSB4IF0KIHRoZW4KIGNhc2UgJG9zIGluCi0JIyBGaXJzdCBtYXRjaCBzb21lIHN5c3RlbSB0 eXBlIGFsaWFzZXMKLQkjIHRoYXQgbWlnaHQgZ2V0IGNvbmZ1c2VkIHdpdGggdmFsaWQgc3lzdGVt IHR5cGVzLgotCSMgLXNvbGFyaXMqIGlzIGEgYmFzaWMgc3lzdGVtIHR5cGUsIHdpdGggdGhpcyBv bmUgZXhjZXB0aW9uLgotCS1hdXJvcmF1eCkKLQkJb3M9LWF1cm9yYXV4CisJIyBGaXJzdCBtYXRj aCBzb21lIHN5c3RlbSB0eXBlIGFsaWFzZXMgdGhhdCBtaWdodCBnZXQgY29uZnVzZWQKKwkjIHdp dGggdmFsaWQgc3lzdGVtIHR5cGVzLgorCSMgc29sYXJpcyogaXMgYSBiYXNpYyBzeXN0ZW0gdHlw ZSwgd2l0aCB0aGlzIG9uZSBleGNlcHRpb24uCisJYXVyb3JhdXgpCisJCW9zPWF1cm9yYXV4CiAJ CTs7Ci0JLXNvbGFyaXMxIHwgLXNvbGFyaXMxLiopCi0JCW9zPWBlY2hvICRvcyB8IHNlZCAtZSAn c3xzb2xhcmlzMXxzdW5vczR8J2AKKwlibHVlZ2VuZSopCisJCW9zPWNuawogCQk7OwotCS1zb2xh cmlzKQotCQlvcz0tc29sYXJpczIKKwlzb2xhcmlzMSB8IHNvbGFyaXMxLiopCisJCW9zPWBlY2hv ICRvcyB8IHNlZCAtZSAnc3xzb2xhcmlzMXxzdW5vczR8J2AKIAkJOzsKLQktc3ZyNCopCi0JCW9z PS1zeXN2NAorCXNvbGFyaXMpCisJCW9zPXNvbGFyaXMyCiAJCTs7Ci0JLXVuaXh3YXJlKikKLQkJ b3M9LXN5c3Y0LjJ1dworCXVuaXh3YXJlKikKKwkJb3M9c3lzdjQuMnV3CiAJCTs7Ci0JLWdudS9s aW51eCopCisJZ251L2xpbnV4KikKIAkJb3M9YGVjaG8gJG9zIHwgc2VkIC1lICdzfGdudS9saW51 eHxsaW51eC1nbnV8J2AKIAkJOzsKLQkjIEZpcnN0IGFjY2VwdCB0aGUgYmFzaWMgc3lzdGVtIHR5 cGVzLgorCSMgZXMxODAwIGlzIGhlcmUgdG8gYXZvaWQgYmVpbmcgbWF0Y2hlZCBieSBlcyogKGEg ZGlmZmVyZW50IE9TKQorCWVzMTgwMCopCisJCW9zPW9zZQorCQk7OworCSMgU29tZSB2ZXJzaW9u IG51bWJlcnMgbmVlZCBtb2RpZmljYXRpb24KKwljaG9ydXNvcyopCisJCW9zPWNob3J1c29zCisJ CTs7CisJaXNjKQorCQlvcz1pc2MyLjIKKwkJOzsKKwlzY282KQorCQlvcz1zY281djYKKwkJOzsK KwlzY281KQorCQlvcz1zY28zLjJ2NQorCQk7OworCXNjbzQpCisJCW9zPXNjbzMuMnY0CisJCTs7 CisJc2NvMy4yLls0LTldKikKKwkJb3M9YGVjaG8gJG9zIHwgc2VkIC1lICdzL3NjbzMuMi4vc2Nv My4ydi8nYAorCQk7OworCXNjbzMuMnZbNC05XSogfCBzY281djYqKQorCQkjIERvbid0IGZvcmdl dCB2ZXJzaW9uIGlmIGl0IGlzIDMuMnY0IG9yIG5ld2VyLgorCQk7OworCXNjb3V0KQorCQkjIERv bid0IG1hdGNoIGJlbG93CisJCTs7CisJc2NvKikKKwkJb3M9c2NvMy4ydjIKKwkJOzsKKwlwc29z KikKKwkJb3M9cHNvcworCQk7OworCSMgTm93IGFjY2VwdCB0aGUgYmFzaWMgc3lzdGVtIHR5cGVz LgogCSMgVGhlIHBvcnRhYmxlIHN5c3RlbXMgY29tZXMgZmlyc3QuCi0JIyBFYWNoIGFsdGVybmF0 aXZlIE1VU1QgRU5EIElOIEEgKiwgdG8gbWF0Y2ggYSB2ZXJzaW9uIG51bWJlci4KLQkjIC1zeXN2 KiBpcyBub3QgaGVyZSBiZWNhdXNlIGl0IGNvbWVzIGxhdGVyLCBhZnRlciBzeXN2cjQuCi0JLWdu dSogfCAtYnNkKiB8IC1tYWNoKiB8IC1taW5peCogfCAtZ2VuaXgqIHwgLXVsdHJpeCogfCAtaXJp eCogXAotCSAgICAgIHwgLSp2bXMqIHwgLXNjbyogfCAtZXNpeCogfCAtaXNjKiB8IC1haXgqIHwg LWNuayogfCAtc3Vub3MgfCAtc3Vub3NbMzRdKlwKLQkgICAgICB8IC1ocHV4KiB8IC11bm9zKiB8 IC1vc2YqIHwgLWx1bmEqIHwgLWRndXgqIHwgLWF1cm9yYXV4KiB8IC1zb2xhcmlzKiBcCi0JICAg ICAgfCAtc3ltKiB8IC1rb3BlbnNvbGFyaXMqIFwKLQkgICAgICB8IC1hbWlnYW9zKiB8IC1hbWln YWRvcyogfCAtbXNkb3MqIHwgLW5ld3NvcyogfCAtdW5pY29zKiB8IC1hb2YqIFwKLQkgICAgICB8 IC1hb3MqIHwgLWFyb3MqIFwKLQkgICAgICB8IC1uaW5keSogfCAtdnhzaW0qIHwgLXZ4d29ya3Mq IHwgLWVibW9uKiB8IC1obXMqIHwgLW12cyogXAotCSAgICAgIHwgLWNsaXgqIHwgLXJpc2Nvcyog fCAtdW5pcGx1cyogfCAtaXJpcyogfCAtcnR1KiB8IC14ZW5peCogXAotCSAgICAgIHwgLWhpdXgq IHwgLTM4NmJzZCogfCAta25ldGJzZCogfCAtbWlyYnNkKiB8IC1uZXRic2QqIFwKLQkgICAgICB8 IC1vcGVuYnNkKiB8IC1zb2xpZGJzZCogXAotCSAgICAgIHwgLWVra29ic2QqIHwgLWtmcmVlYnNk KiB8IC1mcmVlYnNkKiB8IC1yaXNjaXgqIHwgLWx5bnhvcyogXAotCSAgICAgIHwgLWJvc3gqIHwg LW5leHRzdGVwKiB8IC1jeHV4KiB8IC1hb3V0KiB8IC1lbGYqIHwgLW9hYmkqIFwKLQkgICAgICB8 IC1wdHgqIHwgLWNvZmYqIHwgLWVjb2ZmKiB8IC13aW5udCogfCAtZG9tYWluKiB8IC12c3RhKiBc Ci0JICAgICAgfCAtdWRpKiB8IC1lYWJpKiB8IC1saXRlcyogfCAtaWVlZSogfCAtZ28zMiogfCAt YXV4KiBcCi0JICAgICAgfCAtY2hvcnVzb3MqIHwgLWNob3J1c3JkYiogfCAtY2VnY2MqIFwKLQkg ICAgICB8IC1jeWd3aW4qIHwgLW1zeXMqIHwgLXBlKiB8IC1wc29zKiB8IC1tb3NzKiB8IC1wcm9l bGYqIHwgLXJ0ZW1zKiBcCi0JICAgICAgfCAtbWluZ3czMiogfCAtbGludXgtZ251KiB8IC1saW51 eC1hbmRyb2lkKiBcCi0JICAgICAgfCAtbGludXgtbmV3bGliKiB8IC1saW51eC11Y2xpYmMqIFwK LQkgICAgICB8IC11eHB2KiB8IC1iZW9zKiB8IC1tcGVpeCogfCAtdWRrKiBcCi0JICAgICAgfCAt aW50ZXJpeCogfCAtdXdpbiogfCAtbWtzKiB8IC1yaGFwc29keSogfCAtZGFyd2luKiB8IC1vcGVu ZWQqIFwKLQkgICAgICB8IC1vcGVuc3RlcCogfCAtb3NraXQqIHwgLWNvbml4KiB8IC1wdzMyKiB8 IC1ub25zdG9wdXgqIFwKLQkgICAgICB8IC1zdG9ybS1jaGFvcyogfCAtdG9wczEwKiB8IC10ZW5l eCogfCAtdG9wczIwKiB8IC1pdHMqIFwKLQkgICAgICB8IC1vczIqIHwgLXZvcyogfCAtcGFsbW9z KiB8IC11Y2xpbnV4KiB8IC1udWNsZXVzKiBcCi0JICAgICAgfCAtbW9ycGhvcyogfCAtc3VwZXJ1 eCogfCAtcnRtayogfCAtcnRtay1ub3ZhKiB8IC13aW5kaXNzKiBcCi0JICAgICAgfCAtcG93ZXJt YXgqIHwgLWRuaXgqIHwgLW54NiB8IC1ueDcgfCAtc2VpKiB8IC1kcmFnb25mbHkqIFwKLQkgICAg ICB8IC1za3lvcyogfCAtaGFpa3UqIHwgLXJkb3MqIHwgLXRvcHBlcnMqIHwgLWRyb3BzKiB8IC1l cyopCisJIyBFYWNoIGFsdGVybmF0aXZlIE1VU1QgZW5kIGluIGEgKiB0byBtYXRjaCBhIHZlcnNp b24gbnVtYmVyLgorCSMgc3lzdiogaXMgbm90IGhlcmUgYmVjYXVzZSBpdCBjb21lcyBsYXRlciwg YWZ0ZXIgc3lzdnI0LgorCWdudSogfCBic2QqIHwgbWFjaCogfCBtaW5peCogfCBnZW5peCogfCB1 bHRyaXgqIHwgaXJpeCogXAorCSAgICAgfCAqdm1zKiB8IGVzaXgqIHwgYWl4KiB8IGNuayogfCBz dW5vcyB8IHN1bm9zWzM0XSpcCisJICAgICB8IGhwdXgqIHwgdW5vcyogfCBvc2YqIHwgbHVuYSog fCBkZ3V4KiB8IGF1cm9yYXV4KiB8IHNvbGFyaXMqIFwKKwkgICAgIHwgc3ltKiB8IGtvcGVuc29s YXJpcyogfCBwbGFuOSogXAorCSAgICAgfCBhbWlnYW9zKiB8IGFtaWdhZG9zKiB8IG1zZG9zKiB8 IG5ld3NvcyogfCB1bmljb3MqIHwgYW9mKiBcCisJICAgICB8IGFvcyogfCBhcm9zKiB8IGNsb3Vk YWJpKiB8IHNvcnRpeCogXAorCSAgICAgfCBuaW5keSogfCB2eHNpbSogfCB2eHdvcmtzKiB8IGVi bW9uKiB8IGhtcyogfCBtdnMqIFwKKwkgICAgIHwgY2xpeCogfCByaXNjb3MqIHwgdW5pcGx1cyog fCBpcmlzKiB8IGlzYyogfCBydHUqIHwgeGVuaXgqIFwKKwkgICAgIHwga25ldGJzZCogfCBtaXJi c2QqIHwgbmV0YnNkKiBcCisJICAgICB8IGJpdHJpZyogfCBvcGVuYnNkKiB8IHNvbGlkYnNkKiB8 IGxpYmVydHlic2QqIFwKKwkgICAgIHwgZWtrb2JzZCogfCBrZnJlZWJzZCogfCBmcmVlYnNkKiB8 IHJpc2NpeCogfCBseW54b3MqIFwKKwkgICAgIHwgYm9zeCogfCBuZXh0c3RlcCogfCBjeHV4KiB8 IGFvdXQqIHwgZWxmKiB8IG9hYmkqIFwKKwkgICAgIHwgcHR4KiB8IGNvZmYqIHwgZWNvZmYqIHwg d2lubnQqIHwgZG9tYWluKiB8IHZzdGEqIFwKKwkgICAgIHwgdWRpKiB8IGVhYmkqIHwgbGl0ZXMq IHwgaWVlZSogfCBnbzMyKiB8IGF1eCogfCBoY29zKiBcCisJICAgICB8IGNob3J1c3JkYiogfCBj ZWdjYyogfCBnbGlkaXgqIFwKKwkgICAgIHwgY3lnd2luKiB8IG1zeXMqIHwgcGUqIHwgbW9zcyog fCBwcm9lbGYqIHwgcnRlbXMqIFwKKwkgICAgIHwgbWlkaXBpeCogfCBtaW5ndzMyKiB8IG1pbmd3 NjQqIHwgbGludXgtZ251KiB8IGxpbnV4LWFuZHJvaWQqIFwKKwkgICAgIHwgbGludXgtbmV3bGli KiB8IGxpbnV4LW11c2wqIHwgbGludXgtdWNsaWJjKiBcCisJICAgICB8IHV4cHYqIHwgYmVvcyog fCBtcGVpeCogfCB1ZGsqIHwgbW94aWVib3gqIFwKKwkgICAgIHwgaW50ZXJpeCogfCB1d2luKiB8 IG1rcyogfCByaGFwc29keSogfCBkYXJ3aW4qIFwKKwkgICAgIHwgb3BlbnN0ZXAqIHwgb3NraXQq IHwgY29uaXgqIHwgcHczMiogfCBub25zdG9wdXgqIFwKKwkgICAgIHwgc3Rvcm0tY2hhb3MqIHwg dG9wczEwKiB8IHRlbmV4KiB8IHRvcHMyMCogfCBpdHMqIFwKKwkgICAgIHwgb3MyKiB8IHZvcyog fCBwYWxtb3MqIHwgdWNsaW51eCogfCBudWNsZXVzKiBcCisJICAgICB8IG1vcnBob3MqIHwgc3Vw ZXJ1eCogfCBydG1rKiB8IHdpbmRpc3MqIFwKKwkgICAgIHwgcG93ZXJtYXgqIHwgZG5peCogfCBu eDYgfCBueDcgfCBzZWkqIHwgZHJhZ29uZmx5KiBcCisJICAgICB8IHNreW9zKiB8IGhhaWt1KiB8 IHJkb3MqIHwgdG9wcGVycyogfCBkcm9wcyogfCBlcyogXAorCSAgICAgfCBvbmVmcyogfCB0aXJ0 b3MqIHwgcGhvZW5peCogfCBmdWNoc2lhKiB8IHJlZG94KiB8IGJtZSogXAorCSAgICAgfCBtaWRu aWdodGJzZCogfCBhbWRoc2EqIHwgdW5sZWFzaGVkKiB8IGVtc2NyaXB0ZW4qIHwgd2FzaSopCiAJ IyBSZW1lbWJlciwgZWFjaCBhbHRlcm5hdGl2ZSBNVVNUIEVORCBJTiAqLCB0byBtYXRjaCBhIHZl cnNpb24gbnVtYmVyLgogCQk7OwotCS1xbngqKQotCQljYXNlICRiYXNpY19tYWNoaW5lIGluCi0J CSAgICB4ODYtKiB8IGkqODYtKikKKwlxbngqKQorCQljYXNlICRjcHUgaW4KKwkJICAgIHg4NiB8 IGkqODYpCiAJCQk7OwogCQkgICAgKikKLQkJCW9zPS1udG8kb3MKKwkJCW9zPW50by0kb3MKIAkJ CTs7CiAJCWVzYWMKIAkJOzsKLQktbnRvLXFueCopCisJaGl1eCopCisJCW9zPWhpdXh3ZTIKIAkJ OzsKLQktbnRvKikKLQkJb3M9YGVjaG8gJG9zIHwgc2VkIC1lICdzfG50b3xudG8tcW54fCdgCisJ bnRvLXFueCopCiAJCTs7Ci0JLXNpbSB8IC1lczE4MDAqIHwgLWhtcyogfCAteHJheSB8IC1vczY4 ayogfCAtbm9uZSogfCAtdjg4ciogXAotCSAgICAgIHwgLXdpbmRvd3MqIHwgLW9zeCB8IC1hYnVn IHwgLW5ldHdhcmUqIHwgLW9zOSogfCAtYmVvcyogfCAtaGFpa3UqIFwKLQkgICAgICB8IC1tYWNv cyogfCAtbXB3KiB8IC1tYWdpYyogfCAtbW1peHdhcmUqIHwgLW1vbjk2MCogfCAtbG5ld3MqKQor CW50byopCisJCW9zPWBlY2hvICRvcyB8IHNlZCAtZSAnc3xudG98bnRvLXFueHwnYAogCQk7Owot CS1tYWMqKQotCQlvcz1gZWNobyAkb3MgfCBzZWQgLWUgJ3N8bWFjfG1hY29zfCdgCisJc2ltIHwg eHJheSB8IG9zNjhrKiB8IHY4OHIqIFwKKwkgICAgfCB3aW5kb3dzKiB8IG9zeCB8IGFidWcgfCBu ZXR3YXJlKiB8IG9zOSogXAorCSAgICB8IG1hY29zKiB8IG1wdyogfCBtYWdpYyogfCBtbWl4d2Fy ZSogfCBtb245NjAqIHwgbG5ld3MqKQogCQk7OwotCS1saW51eC1kaWV0bGliYykKLQkJb3M9LWxp bnV4LWRpZXRsaWJjCisJbGludXgtZGlldGxpYmMpCisJCW9zPWxpbnV4LWRpZXRsaWJjCiAJCTs7 Ci0JLWxpbnV4KikKKwlsaW51eCopCiAJCW9zPWBlY2hvICRvcyB8IHNlZCAtZSAnc3xsaW51eHxs aW51eC1nbnV8J2AKIAkJOzsKLQktc3Vub3M1KikKLQkJb3M9YGVjaG8gJG9zIHwgc2VkIC1lICdz fHN1bm9zNXxzb2xhcmlzMnwnYAorCWx5bngqMTc4KQorCQlvcz1seW54b3MxNzgKKwkJOzsKKwls eW54KjUpCisJCW9zPWx5bnhvczUKIAkJOzsKLQktc3Vub3M2KikKLQkJb3M9YGVjaG8gJG9zIHwg c2VkIC1lICdzfHN1bm9zNnxzb2xhcmlzM3wnYAorCWx5bngqKQorCQlvcz1seW54b3MKIAkJOzsK LQktb3BlbmVkKikKLQkJb3M9LW9wZW5lZGl0aW9uCisJbWFjKikKKwkJb3M9YGVjaG8gIiRvcyIg fCBzZWQgLWUgJ3N8bWFjfG1hY29zfCdgCiAJCTs7Ci0JLW9zNDAwKikKLQkJb3M9LW9zNDAwCisJ b3BlbmVkKikKKwkJb3M9b3BlbmVkaXRpb24KIAkJOzsKLQktd2luY2UqKQotCQlvcz0td2luY2UK KwlvczQwMCopCisJCW9zPW9zNDAwCiAJCTs7Ci0JLW9zZnJvc2UqKQotCQlvcz0tb3Nmcm9zZQor CXN1bm9zNSopCisJCW9zPWBlY2hvICIkb3MiIHwgc2VkIC1lICdzfHN1bm9zNXxzb2xhcmlzMnwn YAogCQk7OwotCS1vc2YqKQotCQlvcz0tb3NmCisJc3Vub3M2KikKKwkJb3M9YGVjaG8gIiRvcyIg fCBzZWQgLWUgJ3N8c3Vub3M2fHNvbGFyaXMzfCdgCiAJCTs7Ci0JLXV0ZWsqKQotCQlvcz0tYnNk CisJd2luY2UqKQorCQlvcz13aW5jZQogCQk7OwotCS1keW5peCopCi0JCW9zPS1ic2QKKwl1dGVr KikKKwkJb3M9YnNkCiAJCTs7Ci0JLWFjaXMqKQotCQlvcz0tYW9zCisJZHluaXgqKQorCQlvcz1i c2QKIAkJOzsKLQktYXRoZW9zKikKLQkJb3M9LWF0aGVvcworCWFjaXMqKQorCQlvcz1hb3MKIAkJ OzsKLQktc3lsbGFibGUqKQotCQlvcz0tc3lsbGFibGUKKwlhdGhlb3MqKQorCQlvcz1hdGhlb3MK IAkJOzsKLQktMzg2YnNkKQotCQlvcz0tYnNkCisJc3lsbGFibGUqKQorCQlvcz1zeWxsYWJsZQog CQk7OwotCS1jdGl4KiB8IC11dHMqKQotCQlvcz0tc3lzdgorCTM4NmJzZCkKKwkJb3M9YnNkCiAJ CTs7Ci0JLW5vdmEqKQotCQlvcz0tcnRtay1ub3ZhCisJY3RpeCogfCB1dHMqKQorCQlvcz1zeXN2 CiAJCTs7Ci0JLW5zMiApCi0JCW9zPS1uZXh0c3RlcDIKKwlub3ZhKikKKwkJb3M9cnRtay1ub3Zh CiAJCTs7Ci0JLW5zayopCi0JCW9zPS1uc2sKKwluczIpCisJCW9zPW5leHRzdGVwMgorCQk7Owor CW5zayopCisJCW9zPW5zawogCQk7OwogCSMgUHJlc2VydmUgdGhlIHZlcnNpb24gbnVtYmVyIG9m IHNpbml4NS4KLQktc2luaXg1LiopCisJc2luaXg1LiopCiAJCW9zPWBlY2hvICRvcyB8IHNlZCAt ZSAnc3xzaW5peHxzeXN2fCdgCiAJCTs7Ci0JLXNpbml4KikKLQkJb3M9LXN5c3Y0Ci0JCTs7Ci0J LXRwZiopCi0JCW9zPS10cGYKKwlzaW5peCopCisJCW9zPXN5c3Y0CiAJCTs7Ci0JLXRyaXRvbiop Ci0JCW9zPS1zeXN2MworCXRwZiopCisJCW9zPXRwZgogCQk7OwotCS1vc3MqKQotCQlvcz0tc3lz djMKKwl0cml0b24qKQorCQlvcz1zeXN2MwogCQk7OwotCS1zdnI0KQotCQlvcz0tc3lzdjQKKwlv c3MqKQorCQlvcz1zeXN2MwogCQk7OwotCS1zdnIzKQotCQlvcz0tc3lzdjMKKwlzdnI0KikKKwkJ b3M9c3lzdjQKIAkJOzsKLQktc3lzdnI0KQotCQlvcz0tc3lzdjQKKwlzdnIzKQorCQlvcz1zeXN2 MwogCQk7OwotCSMgVGhpcyBtdXN0IGNvbWUgYWZ0ZXIgLXN5c3ZyNC4KLQktc3lzdiopCisJc3lz dnI0KQorCQlvcz1zeXN2NAogCQk7OwotCS1vc2UqKQotCQlvcz0tb3NlCisJIyBUaGlzIG11c3Qg Y29tZSBhZnRlciBzeXN2cjQuCisJc3lzdiopCiAJCTs7Ci0JLWVzMTgwMCopCi0JCW9zPS1vc2UK Kwlvc2UqKQorCQlvcz1vc2UKIAkJOzsKLQkteGVuaXgpCi0JCW9zPS14ZW5peAorCSptaW50IHwg bWludFswLTldKiB8ICpNaU5UIHwgTWlOVFswLTldKikKKwkJb3M9bWludAogCQk7OwotCS0qbWlu dCB8IC1taW50WzAtOV0qIHwgLSpNaU5UIHwgLU1pTlRbMC05XSopCi0JCW9zPS1taW50CisJenZt b2UpCisJCW9zPXp2bW9lCiAJCTs7Ci0JLWFyb3MqKQotCQlvcz0tYXJvcworCWRpY29zKikKKwkJ b3M9ZGljb3MKIAkJOzsKLQkta2FvcyopCi0JCW9zPS1rYW9zCisJcGlrZW9zKikKKwkJIyBVbnRp bCByZWFsIG5lZWQgb2YgT1Mgc3BlY2lmaWMgc3VwcG9ydCBmb3IKKwkJIyBwYXJ0aWN1bGFyIGZl YXR1cmVzIGNvbWVzIHVwLCBiYXJlIG1ldGFsCisJCSMgY29uZmlndXJhdGlvbnMgYXJlIHF1aXRl IGZ1bmN0aW9uYWwuCisJCWNhc2UgJGNwdSBpbgorCQkgICAgYXJtKikKKwkJCW9zPWVhYmkKKwkJ CTs7CisJCSAgICAqKQorCQkJb3M9ZWxmCisJCQk7OworCQllc2FjCiAJCTs7Ci0JLXp2bW9lKQot CQlvcz0tenZtb2UKKwluYWNsKikKIAkJOzsKLQktZGljb3MqKQotCQlvcz0tZGljb3MKKwlpb3Mp CiAJCTs7Ci0JLW5hY2wqKQorCW5vbmUpCiAJCTs7Ci0JLW5vbmUpCisJKi1lYWJpKQogCQk7Owog CSopCi0JCSMgR2V0IHJpZCBvZiB0aGUgYC0nIGF0IHRoZSBiZWdpbm5pbmcgb2YgJG9zLgotCQlv cz1gZWNobyAkb3MgfCBzZWQgJ3MvW14tXSotLy8nYAotCQllY2hvIEludmFsaWQgY29uZmlndXJh dGlvbiBcYCQxXCc6IHN5c3RlbSBcYCRvc1wnIG5vdCByZWNvZ25pemVkIDE+JjIKKwkJZWNobyBJ bnZhbGlkIGNvbmZpZ3VyYXRpb24gXGAiJDEiXCc6IHN5c3RlbSBcYCIkb3MiXCcgbm90IHJlY29n bml6ZWQgMT4mMgogCQlleGl0IDEKIAkJOzsKIGVzYWMKQEAgLTE1MjQsMjU4ICsxNTMzLDI2NSBA QCBlbHNlCiAjIHdpbGwgc2lnbmFsIGFuIGVycm9yIHNheWluZyB0aGF0IE1BTlVGQUNUVVJFUiBp c24ndCBhbiBvcGVyYXRpbmcKICMgc3lzdGVtLCBhbmQgd2UnbGwgbmV2ZXIgZ2V0IHRvIHRoaXMg cG9pbnQuCiAKLWNhc2UgJGJhc2ljX21hY2hpbmUgaW4KK2Nhc2UgJGNwdS0kdmVuZG9yIGluCiAJ c2NvcmUtKikKLQkJb3M9LWVsZgorCQlvcz1lbGYKIAkJOzsKIAlzcHUtKikKLQkJb3M9LWVsZgor CQlvcz1lbGYKIAkJOzsKIAkqLWFjb3JuKQotCQlvcz0tcmlzY2l4MS4yCisJCW9zPXJpc2NpeDEu MgogCQk7OwogCWFybSotcmViZWwpCi0JCW9zPS1saW51eAorCQlvcz1saW51eAogCQk7OwogCWFy bSotc2VtaSkKLQkJb3M9LWFvdXQKKwkJb3M9YW91dAogCQk7OwogCWM0eC0qIHwgdGljNHgtKikK LQkJb3M9LWNvZmYKKwkJb3M9Y29mZgorCQk7OworCWM4MDUxLSopCisJCW9zPWVsZgorCQk7Owor CWNsaXBwZXItaW50ZXJncmFwaCkKKwkJb3M9Y2xpeAogCQk7OwogCWhleGFnb24tKikKLQkJb3M9 LWVsZgorCQlvcz1lbGYKIAkJOzsKIAl0aWM1NHgtKikKLQkJb3M9LWNvZmYKKwkJb3M9Y29mZgog CQk7OwogCXRpYzU1eC0qKQotCQlvcz0tY29mZgorCQlvcz1jb2ZmCiAJCTs7CiAJdGljNngtKikK LQkJb3M9LWNvZmYKKwkJb3M9Y29mZgogCQk7OwogCSMgVGhpcyBtdXN0IGNvbWUgYmVmb3JlIHRo ZSAqLWRlYyBlbnRyeS4KIAlwZHAxMC0qKQotCQlvcz0tdG9wczIwCisJCW9zPXRvcHMyMAogCQk7 OwogCXBkcDExLSopCi0JCW9zPS1ub25lCisJCW9zPW5vbmUKIAkJOzsKIAkqLWRlYyB8IHZheC0q KQotCQlvcz0tdWx0cml4NC4yCisJCW9zPXVsdHJpeDQuMgogCQk7OwogCW02OCotYXBvbGxvKQot CQlvcz0tZG9tYWluCisJCW9zPWRvbWFpbgogCQk7OwogCWkzODYtc3VuKQotCQlvcz0tc3Vub3M0 LjAuMgorCQlvcz1zdW5vczQuMC4yCiAJCTs7CiAJbTY4MDAwLXN1bikKLQkJb3M9LXN1bm9zMwor CQlvcz1zdW5vczMKIAkJOzsKIAltNjgqLWNpc2NvKQotCQlvcz0tYW91dAorCQlvcz1hb3V0CiAJ CTs7CiAJbWVwLSopCi0JCW9zPS1lbGYKKwkJb3M9ZWxmCiAJCTs7CiAJbWlwcyotY2lzY28pCi0J CW9zPS1lbGYKKwkJb3M9ZWxmCiAJCTs7CiAJbWlwcyotKikKLQkJb3M9LWVsZgorCQlvcz1lbGYK IAkJOzsKIAlvcjMyLSopCi0JCW9zPS1jb2ZmCisJCW9zPWNvZmYKIAkJOzsKIAkqLXR0aSkJIyBt dXN0IGJlIGJlZm9yZSBzcGFyYyBlbnRyeSBvciB3ZSBnZXQgdGhlIHdyb25nIG9zLgotCQlvcz0t c3lzdjMKKwkJb3M9c3lzdjMKIAkJOzsKIAlzcGFyYy0qIHwgKi1zdW4pCi0JCW9zPS1zdW5vczQu MS4xCisJCW9zPXN1bm9zNC4xLjEKIAkJOzsKLQkqLWJlKQotCQlvcz0tYmVvcworCXBydS0qKQor CQlvcz1lbGYKIAkJOzsKLQkqLWhhaWt1KQotCQlvcz0taGFpa3UKKwkqLWJlKQorCQlvcz1iZW9z CiAJCTs7CiAJKi1pYm0pCi0JCW9zPS1haXgKKwkJb3M9YWl4CiAJCTs7CiAJKi1rbnV0aCkKLQkJ b3M9LW1taXh3YXJlCisJCW9zPW1taXh3YXJlCiAJCTs7CiAJKi13ZWMpCi0JCW9zPS1wcm9lbGYK KwkJb3M9cHJvZWxmCiAJCTs7CiAJKi13aW5ib25kKQotCQlvcz0tcHJvZWxmCisJCW9zPXByb2Vs ZgogCQk7OwogCSotb2tpKQotCQlvcz0tcHJvZWxmCisJCW9zPXByb2VsZgogCQk7OwogCSotaHAp Ci0JCW9zPS1ocHV4CisJCW9zPWhwdXgKIAkJOzsKIAkqLWhpdGFjaGkpCi0JCW9zPS1oaXV4CisJ CW9zPWhpdXgKIAkJOzsKIAlpODYwLSogfCAqLWF0dCB8ICotbmNyIHwgKi1hbHRvcyB8ICotbW90 b3JvbGEgfCAqLWNvbnZlcmdlbnQpCi0JCW9zPS1zeXN2CisJCW9zPXN5c3YKIAkJOzsKIAkqLWNi bSkKLQkJb3M9LWFtaWdhb3MKKwkJb3M9YW1pZ2FvcwogCQk7OwogCSotZGcpCi0JCW9zPS1kZ3V4 CisJCW9zPWRndXgKIAkJOzsKIAkqLWRvbHBoaW4pCi0JCW9zPS1zeXN2MworCQlvcz1zeXN2Mwog CQk7OwogCW02OGstY2N1cikKLQkJb3M9LXJ0dQorCQlvcz1ydHUKIAkJOzsKIAltODhrLW9tcm9u KikKLQkJb3M9LWx1bmEKKwkJb3M9bHVuYQogCQk7OwotCSotbmV4dCApCi0JCW9zPS1uZXh0c3Rl cAorCSotbmV4dCkKKwkJb3M9bmV4dHN0ZXAKIAkJOzsKIAkqLXNlcXVlbnQpCi0JCW9zPS1wdHgK KwkJb3M9cHR4CiAJCTs7CiAJKi1jcmRzKQotCQlvcz0tdW5vcworCQlvcz11bm9zCiAJCTs7CiAJ Ki1ucykKLQkJb3M9LWdlbml4CisJCW9zPWdlbml4CiAJCTs7CiAJaTM3MC0qKQotCQlvcz0tbXZz Ci0JCTs7Ci0JKi1uZXh0KQotCQlvcz0tbmV4dHN0ZXAzCisJCW9zPW12cwogCQk7OwogCSotZ291 bGQpCi0JCW9zPS1zeXN2CisJCW9zPXN5c3YKIAkJOzsKIAkqLWhpZ2hsZXZlbCkKLQkJb3M9LWJz ZAorCQlvcz1ic2QKIAkJOzsKIAkqLWVuY29yZSkKLQkJb3M9LWJzZAorCQlvcz1ic2QKIAkJOzsK IAkqLXNnaSkKLQkJb3M9LWlyaXgKKwkJb3M9aXJpeAogCQk7OwogCSotc2llbWVucykKLQkJb3M9 LXN5c3Y0CisJCW9zPXN5c3Y0CiAJCTs7CiAJKi1tYXNzY29tcCkKLQkJb3M9LXJ0dQorCQlvcz1y dHUKIAkJOzsKIAlmMzBbMDFdLWZ1aml0c3UgfCBmNzAwLWZ1aml0c3UpCi0JCW9zPS11eHB2CisJ CW9zPXV4cHYKIAkJOzsKIAkqLXJvbTY4aykKLQkJb3M9LWNvZmYKKwkJb3M9Y29mZgogCQk7Owog CSotKmJ1ZykKLQkJb3M9LWNvZmYKKwkJb3M9Y29mZgogCQk7OwogCSotYXBwbGUpCi0JCW9zPS1t YWNvcworCQlvcz1tYWNvcwogCQk7OwogCSotYXRhcmkqKQotCQlvcz0tbWludAorCQlvcz1taW50 CisJCTs7CisJKi13cnMpCisJCW9zPXZ4d29ya3MKIAkJOzsKIAkqKQotCQlvcz0tbm9uZQorCQlv cz1ub25lCiAJCTs7CiBlc2FjCiBmaQogCiAjIEhlcmUgd2UgaGFuZGxlIHRoZSBjYXNlIHdoZXJl IHdlIGtub3cgdGhlIG9zLCBhbmQgdGhlIENQVSB0eXBlLCBidXQgbm90IHRoZQogIyBtYW51ZmFj dHVyZXIuICBXZSBwaWNrIHRoZSBsb2dpY2FsIG1hbnVmYWN0dXJlci4KLXZlbmRvcj11bmtub3du Ci1jYXNlICRiYXNpY19tYWNoaW5lIGluCi0JKi11bmtub3duKQorY2FzZSAkdmVuZG9yIGluCisJ dW5rbm93bikKIAkJY2FzZSAkb3MgaW4KLQkJCS1yaXNjaXgqKQorCQkJcmlzY2l4KikKIAkJCQl2 ZW5kb3I9YWNvcm4KIAkJCQk7OwotCQkJLXN1bm9zKikKKwkJCXN1bm9zKikKIAkJCQl2ZW5kb3I9 c3VuCiAJCQkJOzsKLQkJCS1jbmsqfC1haXgqKQorCQkJY25rKnwtYWl4KikKIAkJCQl2ZW5kb3I9 aWJtCiAJCQkJOzsKLQkJCS1iZW9zKikKKwkJCWJlb3MqKQogCQkJCXZlbmRvcj1iZQogCQkJCTs7 Ci0JCQktaHB1eCopCisJCQlocHV4KikKIAkJCQl2ZW5kb3I9aHAKIAkJCQk7OwotCQkJLW1wZWl4 KikKKwkJCW1wZWl4KikKIAkJCQl2ZW5kb3I9aHAKIAkJCQk7OwotCQkJLWhpdXgqKQorCQkJaGl1 eCopCiAJCQkJdmVuZG9yPWhpdGFjaGkKIAkJCQk7OwotCQkJLXVub3MqKQorCQkJdW5vcyopCiAJ CQkJdmVuZG9yPWNyZHMKIAkJCQk7OwotCQkJLWRndXgqKQorCQkJZGd1eCopCiAJCQkJdmVuZG9y PWRnCiAJCQkJOzsKLQkJCS1sdW5hKikKKwkJCWx1bmEqKQogCQkJCXZlbmRvcj1vbXJvbgogCQkJ CTs7Ci0JCQktZ2VuaXgqKQorCQkJZ2VuaXgqKQogCQkJCXZlbmRvcj1ucwogCQkJCTs7Ci0JCQkt bXZzKiB8IC1vcGVuZWQqKQorCQkJY2xpeCopCisJCQkJdmVuZG9yPWludGVyZ3JhcGgKKwkJCQk7 OworCQkJbXZzKiB8IG9wZW5lZCopCiAJCQkJdmVuZG9yPWlibQogCQkJCTs7Ci0JCQktb3M0MDAq KQorCQkJb3M0MDAqKQogCQkJCXZlbmRvcj1pYm0KIAkJCQk7OwotCQkJLXB0eCopCisJCQlwdHgq KQogCQkJCXZlbmRvcj1zZXF1ZW50CiAJCQkJOzsKLQkJCS10cGYqKQorCQkJdHBmKikKIAkJCQl2 ZW5kb3I9aWJtCiAJCQkJOzsKLQkJCS12eHNpbSogfCAtdnh3b3JrcyogfCAtd2luZGlzcyopCisJ CQl2eHNpbSogfCB2eHdvcmtzKiB8IHdpbmRpc3MqKQogCQkJCXZlbmRvcj13cnMKIAkJCQk7Owot CQkJLWF1eCopCisJCQlhdXgqKQogCQkJCXZlbmRvcj1hcHBsZQogCQkJCTs7Ci0JCQktaG1zKikK KwkJCWhtcyopCiAJCQkJdmVuZG9yPWhpdGFjaGkKIAkJCQk7OwotCQkJLW1wdyogfCAtbWFjb3Mq KQorCQkJbXB3KiB8IG1hY29zKikKIAkJCQl2ZW5kb3I9YXBwbGUKIAkJCQk7OwotCQkJLSptaW50 IHwgLW1pbnRbMC05XSogfCAtKk1pTlQgfCAtTWlOVFswLTldKikKKwkJCSptaW50IHwgbWludFsw LTldKiB8ICpNaU5UIHwgTWlOVFswLTldKikKIAkJCQl2ZW5kb3I9YXRhcmkKIAkJCQk7OwotCQkJ LXZvcyopCisJCQl2b3MqKQogCQkJCXZlbmRvcj1zdHJhdHVzCiAJCQkJOzsKIAkJZXNhYwotCQli YXNpY19tYWNoaW5lPWBlY2hvICRiYXNpY19tYWNoaW5lIHwgc2VkICJzL3Vua25vd24vJHZlbmRv ci8iYAogCQk7OwogZXNhYwogCi1lY2hvICRiYXNpY19tYWNoaW5lJG9zCitlY2hvICIkY3B1LSR2 ZW5kb3ItJG9zIgogZXhpdAogCiAjIExvY2FsIHZhcmlhYmxlczoKLSMgZXZhbDogKGFkZC1ob29r ICd3cml0ZS1maWxlLWhvb2tzICd0aW1lLXN0YW1wKQorIyBldmFsOiAoYWRkLWhvb2sgJ2JlZm9y ZS1zYXZlLWhvb2sgJ3RpbWUtc3RhbXApCiAjIHRpbWUtc3RhbXAtc3RhcnQ6ICJ0aW1lc3RhbXA9 JyIKICMgdGltZS1zdGFtcC1mb3JtYXQ6ICIlOnktJTAybS0lMDJkIgogIyB0aW1lLXN0YW1wLWVu ZDogIiciCi0tIAoyLjIxLjAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9q ZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVu LWRldmVs