From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Jakub Jelinek To: git-commits@fedoraproject.org Subject: [rpms/gcc] rhel-f41-base: 5.0.0-0.5 Date: Mon, 29 Jun 2026 12:26:31 GMT Message-ID: <178273599161.1.16747091709485922023.rpms-gcc-7f999936529d@fedoraproject.org> List-ID: X-Git-Repo: rpms/gcc X-Git-Branch: rhel-f41-base X-Git-Rev: 7f999936529d6902d43c8cc807ceb3a6843f3072 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZ2NjCkJyYW5jaCA6 IHJoZWwtZjQxLWJhc2UKQ29tbWl0IDogN2Y5OTk5MzY1MjlkNjkwMmQ0M2M4Y2M4MDdjZWIzYTY4 NDNmMzA3MgpBdXRob3IgOiBKYWt1YiBKZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPgpEYXRlICAg OiAyMDE1LTAxLTI0VDEwOjAzOjI0KzAxOjAwClN0YXRzICA6ICsyNTk5Ly00MDYyIGluIDM5IGZp bGUocykKVVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9nY2MvYy83 Zjk5OTkzNjUyOWQ2OTAyZDQzYzhjYzgwN2NlYjNhNjg0M2YzMDcyP2JyYW5jaD1yaGVsLWY0MS1i YXNlCgpMb2c6CjUuMC4wLTAuNQoKLS0tCmRpZmYgLS1naXQgYS8uZ2l0aWdub3JlIGIvLmdpdGln bm9yZQppbmRleCAzMjA0Y2VlLi44ZGE4OWY0IDEwMDY0NAotLS0gYS8uZ2l0aWdub3JlCisrKyBi Ly5naXRpZ25vcmUKQEAgLTEsMzIgKzEgQEAKLS9mYXN0amFyLTAuOTcudGFyLmd6Ci0vY2xvb2ct MC4xOC4xLnRhci5negotL2djYy00LjkuMC0yMDE0MDQwOS50YXIuYnoyCi0vaXNsLTAuMTIuMi50 YXIuYnoyCi0vZ2NjLTQuOS4wLTIwMTQwNDExLnRhci5iejIKLS9nY2MtNC45LjAtMjAxNDA0MjIu dGFyLmJ6MgotL2djYy00LjkuMC0yMDE0MDUwNS50YXIuYnoyCi0vZ2NjLTQuOS4wLTIwMTQwNTA2 LnRhci5iejIKLS9nY2MtNC45LjAtMjAxNDA1MTQudGFyLmJ6MgotL2djYy00LjkuMC0yMDE0MDUx OC50YXIuYnoyCi0vZ2NjLTQuOS4wLTIwMTQwNTI5LnRhci5iejIKLS9nY2MtNC45LjAtMjAxNDA2 MDQudGFyLmJ6MgotL2djYy00LjkuMC0yMDE0MDYxMi50YXIuYnoyCi0vZ2NjLTQuOS4wLTIwMTQw NjE3LnRhci5iejIKLS9nY2MtNC45LjAtMjAxNDA2MTkudGFyLmJ6MgotL2djYy00LjkuMC0yMDE0 MDYyNS50YXIuYnoyCi0vZ2NjLTQuOS4wLTIwMTQwNzAyLnRhci5iejIKLS9nY2MtNC45LjEtMjAx NDA3MTYudGFyLmJ6MgotL2djYy00LjkuMS0yMDE0MDcxNy50YXIuYnoyCi0vZ2NjLTQuOS4xLTIw MTQwODAxLnRhci5iejIKLS9nY2MtNC45LjEtMjAxNDA4MDcudGFyLmJ6MgotL2djYy00LjkuMS0y MDE0MDgxMy50YXIuYnoyCi0vZ2NjLTQuOS4xLTIwMTQwODE1LnRhci5iejIKLS9nY2MtNC45LjEt MjAxNDA5MTIudGFyLmJ6MgotL2djYy00LjkuMS0yMDE0MDkyMi50YXIuYnoyCi0vZ2NjLTQuOS4x LTIwMTQwOTMwLnRhci5iejIKLS9nY2MtNC45LjEtMjAxNDEwMTcudGFyLmJ6MgotL2djYy00Ljku MS0yMDE0MTAyNC50YXIuYnoyCi0vZ2NjLTQuOS4yLTIwMTQxMTAxLnRhci5iejIKLS9nY2MtNC45 LjItMjAxNDEyMTIudGFyLmJ6MgotL2djYy00LjkuMi0yMDE0MTIxNy50YXIuYnoyCi0vZ2NjLTQu OS4yLTIwMTUwMTA3LnRhci5iejIKKy9nY2MtNS4wLjAtMjAxNTAxMjMudGFyLmJ6MgoKZGlmZiAt LWdpdCBhL2Nsb29nLTAuMTguMS1wcGM2NGxlLWNvbmZpZy5wYXRjaCBiL2Nsb29nLTAuMTguMS1w cGM2NGxlLWNvbmZpZy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTI4MGUy MC4uMDAwMDAwMAotLS0gYS9jbG9vZy0wLjE4LjEtcHBjNjRsZS1jb25maWcucGF0Y2gKKysrIC9k ZXYvbnVsbApAQCAtMSw3MTcgKzAsMCBAQAotLS0tIGNsb29nLTAuMTguMS9tNC9saWJ0b29sLm00 LmpqCTIwMTMtMTAtMTEgMDk6Mjc6NDUuMDAwMDAwMDAwICswMjAwCi0rKysgY2xvb2ctMC4xOC4x L200L2xpYnRvb2wubTQJMjAxNC0wNC0xMSAxODoyNDo1Ni42MDc0OTM3MjYgKzAyMDAKLUBAIC0x MzEyLDcgKzEzMTIsNyBAQCBpYTY0LSotaHB1eCopCi0gICBybSAtcmYgY29uZnRlc3QqCi0gICA7 OwotIAotLXg4Nl82NC0qa2ZyZWVic2QqLWdudXx4ODZfNjQtKmxpbnV4KnxwcGMqLSpsaW51eCp8 cG93ZXJwYyotKmxpbnV4KnwgXAotK3g4Nl82NC0qa2ZyZWVic2QqLWdudXx4ODZfNjQtKmxpbnV4 Knxwb3dlcnBjKi0qbGludXgqfCBcCi0gczM5MCotKmxpbnV4KnxzMzkwKi0qdHBmKnxzcGFyYyot KmxpbnV4KikKLSAgICMgRmluZCBvdXQgd2hpY2ggQUJJIHdlIGFyZSB1c2luZy4KLSAgIGVjaG8g J2ludCBpOycgPiBjb25mdGVzdC4kYWNfZXh0Ci1AQCAtMTMzMyw3ICsxMzMzLDEwIEBAIHMzOTAq LSpsaW51eCp8czM5MCotKnRwZip8c3BhcmMqLSpsaW51eCoKLSAJCTs7Ci0gCSAgICBlc2FjCi0g CSAgICA7OwotLQkgIHBwYzY0LSpsaW51eCp8cG93ZXJwYzY0LSpsaW51eCopCi0rCSAgcG93ZXJw YzY0bGUtKmxpbnV4KikKLSsJICAgIExEPSIke0xELWxkfSAtbSBlbGYzMmxwcGNsaW51eCIKLSsJ ICAgIDs7Ci0rCSAgcG93ZXJwYzY0LSpsaW51eCopCi0gCSAgICBMRD0iJHtMRC1sZH0gLW0gZWxm MzJwcGNsaW51eCIKLSAJICAgIDs7Ci0gCSAgczM5MHgtKmxpbnV4KikKLUBAIC0xMzUyLDcgKzEz NTUsMTAgQEAgczM5MCotKmxpbnV4KnxzMzkwKi0qdHBmKnxzcGFyYyotKmxpbnV4KgotIAkgIHg4 Nl82NC0qbGludXgqKQotIAkgICAgTEQ9IiR7TEQtbGR9IC1tIGVsZl94ODZfNjQiCi0gCSAgICA7 OwotLQkgIHBwYyotKmxpbnV4Knxwb3dlcnBjKi0qbGludXgqKQotKwkgIHBvd2VycGNsZS0qbGlu dXgqKQotKwkgICAgTEQ9IiR7TEQtbGR9IC1tIGVsZjY0bHBwYyIKLSsJICAgIDs7Ci0rCSAgcG93 ZXJwYy0qbGludXgqKQotIAkgICAgTEQ9IiR7TEQtbGR9IC1tIGVsZjY0cHBjIgotIAkgICAgOzsK LSAJICBzMzkwKi0qbGludXgqfHMzOTAqLSp0cGYqKQotLS0tIGNsb29nLTAuMTguMS9hdXRvY29u Zi9jb25maWcuc3ViLmpqCTIwMTMtMTAtMTEgMDk6Mjc6NDUuMDAwMDAwMDAwICswMjAwCi0rKysg Y2xvb2ctMC4xOC4xL2F1dG9jb25mL2NvbmZpZy5zdWIJMjAxNC0wNC0xMSAxODoyNDo1Ni42MDg0 OTM3MjEgKzAyMDAKLUBAIC0xLDI0ICsxLDE4IEBACi0gIyEgL2Jpbi9zaAotICMgQ29uZmlndXJh dGlvbiB2YWxpZGF0aW9uIHN1YnJvdXRpbmUgc2NyaXB0LgotLSMgICBDb3B5cmlnaHQgKEMpIDE5 OTIsIDE5OTMsIDE5OTQsIDE5OTUsIDE5OTYsIDE5OTcsIDE5OTgsIDE5OTksCi0tIyAgIDIwMDAs IDIwMDEsIDIwMDIsIDIwMDMsIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDksIDIw MTAsCi0tIyAgIDIwMTEsIDIwMTIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCi0tCi0t dGltZXN0YW1wPScyMDEyLTA0LTE4JwotLQotLSMgVGhpcyBmaWxlIGlzIChpbiBwcmluY2lwbGUp IGNvbW1vbiB0byBBTEwgR05VIHNvZnR3YXJlLgotLSMgVGhlIHByZXNlbmNlIG9mIGEgbWFjaGlu ZSBpbiB0aGlzIGZpbGUgc3VnZ2VzdHMgdGhhdCBTT01FIEdOVSBzb2Z0d2FyZQotLSMgY2FuIGhh bmRsZSB0aGF0IG1hY2hpbmUuICBJdCBkb2VzIG5vdCBpbXBseSBBTEwgR05VIHNvZnR3YXJlIGNh bi4KLS0jCi0tIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1 dGUgaXQgYW5kL29yIG1vZGlmeQotLSMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLS0jIHRoZSBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCi0rIyAgIENv cHlyaWdodCAxOTkyLTIwMTMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCi0rCi0rdGlt ZXN0YW1wPScyMDEzLTEwLTAxJwotKwotKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlv dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKLSsjIHVuZGVyIHRoZSB0ZXJt cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0rIyB0 aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNl bnNlLCBvcgotICMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAjCi0tIyBU aGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz ZWZ1bCwKLS0jIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs aWVkIHdhcnJhbnR5IG9mCi0tIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0tIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm b3IgbW9yZSBkZXRhaWxzLgotKyMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAotKyMgV0lUSE9VVCBBTlkgV0FSUkFOVFk7 IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotKyMgTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSsjIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAjCi0gIyBZb3Ugc2hvdWxk IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQot ICMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5v cmcvbGljZW5zZXMvPi4KLUBAIC0yNiwxMSArMjAsMTIgQEAgdGltZXN0YW1wPScyMDEyLTA0LTE4 JwotICMgQXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UsIGlmIHlvdQotICMgZGlzdHJpYnV0ZSB0aGlzIGZpbGUgYXMgcGFydCBvZiBhIHByb2dy YW0gdGhhdCBjb250YWlucyBhCi0gIyBjb25maWd1cmF0aW9uIHNjcmlwdCBnZW5lcmF0ZWQgYnkg QXV0b2NvbmYsIHlvdSBtYXkgaW5jbHVkZSBpdCB1bmRlcgotLSMgdGhlIHNhbWUgZGlzdHJpYnV0 aW9uIHRlcm1zIHRoYXQgeW91IHVzZSBmb3IgdGhlIHJlc3Qgb2YgdGhhdCBwcm9ncmFtLgotKyMg dGhlIHNhbWUgZGlzdHJpYnV0aW9uIHRlcm1zIHRoYXQgeW91IHVzZSBmb3IgdGhlIHJlc3Qgb2Yg dGhhdAotKyMgcHJvZ3JhbS4gIFRoaXMgRXhjZXB0aW9uIGlzIGFuIGFkZGl0aW9uYWwgcGVybWlz c2lvbiB1bmRlciBzZWN0aW9uIDcKLSsjIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSwgdmVyc2lvbiAzICgiR1BMdjMiKS4KLSAKLSAKLS0jIFBsZWFzZSBzZW5kIHBhdGNoZXMgdG8g PGNvbmZpZy1wYXRjaGVzQGdudS5vcmc+LiAgU3VibWl0IGEgY29udGV4dAotLSMgZGlmZiBhbmQg YSBwcm9wZXJseSBmb3JtYXR0ZWQgR05VIENoYW5nZUxvZyBlbnRyeS4KLSsjIFBsZWFzZSBzZW5k IHBhdGNoZXMgd2l0aCBhIENoYW5nZUxvZyBlbnRyeSB0byBjb25maWctcGF0Y2hlc0BnbnUub3Jn LgotICMKLSAjIENvbmZpZ3VyYXRpb24gc3Vicm91dGluZSB0byB2YWxpZGF0ZSBhbmQgY2Fub25p Y2FsaXplIGEgY29uZmlndXJhdGlvbiB0eXBlLgotICMgU3VwcGx5IHRoZSBzcGVjaWZpZWQgY29u ZmlndXJhdGlvbiB0eXBlIGFzIGFuIGFyZ3VtZW50LgotQEAgLTczLDkgKzY4LDcgQEAgUmVwb3J0 IGJ1Z3MgYW5kIHBhdGNoZXMgdG8gPGNvbmZpZy1wYXRjaAotIHZlcnNpb249IlwKLSBHTlUgY29u ZmlnLnN1YiAoJHRpbWVzdGFtcCkKLSAKLS1Db3B5cmlnaHQgKEMpIDE5OTIsIDE5OTMsIDE5OTQs IDE5OTUsIDE5OTYsIDE5OTcsIDE5OTgsIDE5OTksIDIwMDAsCi0tMjAwMSwgMjAwMiwgMjAwMywg MjAwNCwgMjAwNSwgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSwgMjAxMCwgMjAxMSwgMjAxMgotLUZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgotK0NvcHlyaWdodCAxOTkyLTIwMTMgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCi0gCi0gVGhpcyBpcyBmcmVlIHNvZnR3YXJlOyBzZWUg dGhlIHNvdXJjZSBmb3IgY29weWluZyBjb25kaXRpb25zLiAgVGhlcmUgaXMgTk8KLSB3YXJyYW50 eTsgbm90IGV2ZW4gZm9yIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM QVIgUFVSUE9TRS4iCi1AQCAtMTIzLDcgKzExNiw3IEBAIGVzYWMKLSBtYXliZV9vcz1gZWNobyAk MSB8IHNlZCAncy9eXCguKlwpLVwoW14tXSotW14tXSpcKSQvXDIvJ2AKLSBjYXNlICRtYXliZV9v cyBpbgotICAgbnRvLXFueCogfCBsaW51eC1nbnUqIHwgbGludXgtYW5kcm9pZCogfCBsaW51eC1k aWV0bGliYyB8IGxpbnV4LW5ld2xpYiogfCBcCi0tICBsaW51eC11Y2xpYmMqIHwgdWNsaW51eC11 Y2xpYmMqIHwgdWNsaW51eC1nbnUqIHwga2ZyZWVic2QqLWdudSogfCBcCi0rICBsaW51eC1tdXNs KiB8IGxpbnV4LXVjbGliYyogfCB1Y2xpbnV4LXVjbGliYyogfCB1Y2xpbnV4LWdudSogfCBrZnJl ZWJzZCotZ251KiB8IFwKLSAgIGtuZXRic2QqLWdudSogfCBuZXRic2QqLWdudSogfCBcCi0gICBr b3BlbnNvbGFyaXMqLWdudSogfCBcCi0gICBzdG9ybS1jaGFvcyogfCBvczItZW14KiB8IHJ0bWst bm92YSopCi1AQCAtMTU2LDcgKzE0OSw3IEBAIGNhc2UgJG9zIGluCi0gCS1jb252ZXJnZW50KiB8 IC1uY3IqIHwgLW5ld3MgfCAtMzIqIHwgLTM2MDAqIHwgLTMxMDAqIHwgLWhpdGFjaGkqIHxcCi0g CS1jWzEyM10qIHwgLWNvbnZleCogfCAtc3VuIHwgLWNyZHMgfCAtb21yb24qIHwgLWRnIHwgLXVs dHJhIHwgLXR0aSogfCBcCi0gCS1oYXJyaXMgfCAtZG9scGhpbiB8IC1oaWdobGV2ZWwgfCAtZ291 bGQgfCAtY2JtIHwgLW5zIHwgLW1hc3Njb21wIHwgXAotLQktYXBwbGUgfCAtYXhpcyB8IC1rbnV0 aCB8IC1jcmF5IHwgLW1pY3JvYmxhemUpCi0rCS1hcHBsZSB8IC1heGlzIHwgLWtudXRoIHwgLWNy YXkgfCAtbWljcm9ibGF6ZSopCi0gCQlvcz0KLSAJCWJhc2ljX21hY2hpbmU9JDEKLSAJCTs7Ci1A QCAtMjU5LDEwICsyNTIsMTIgQEAgY2FzZSAkYmFzaWNfbWFjaGluZSBpbgotIAl8IGFscGhhIHwg YWxwaGFldls0LThdIHwgYWxwaGFldjU2IHwgYWxwaGFldjZbNzhdIHwgYWxwaGFwY2E1WzY3XSBc Ci0gCXwgYWxwaGE2NCB8IGFscGhhNjRldls0LThdIHwgYWxwaGE2NGV2NTYgfCBhbHBoYTY0ZXY2 Wzc4XSB8IGFscGhhNjRwY2E1WzY3XSBcCi0gCXwgYW0zM18yLjAgXAotLQl8IGFyYyB8IGFybSB8 IGFybVtibF1lIHwgYXJtZVtsYl0gfCBhcm12WzIzNDVdIHwgYXJtdlszNDVdW2xiXSB8IGF2ciB8 IGF2cjMyIFwKLS0gICAgICAgIHwgYmUzMiB8IGJlNjQgXAotKwl8IGFyYyB8IGFyY2ViIFwKLSsJ fCBhcm0gfCBhcm1bYmxdZSB8IGFybWVbbGJdIHwgYXJtdlsyLThdIHwgYXJtdlszLThdW2xiXSB8 IGFybXY3W2FybV0gXAotKwl8IGF2ciB8IGF2cjMyIFwKLSsJfCBiZTMyIHwgYmU2NCBcCi0gCXwg YmZpbiBcCi0tCXwgYzR4IHwgY2xpcHBlciBcCi0rCXwgYzR4IHwgYzgwNTEgfCBjbGlwcGVyIFwK LSAJfCBkMTB2IHwgZDMwdiB8IGRseCB8IGRzcDE2eHggXAotIAl8IGVwaXBoYW55IFwKLSAJfCBm aWRvIHwgZnIzMCB8IGZydiBcCi1AQCAtMjcwLDEwICsyNjUsMTEgQEAgY2FzZSAkYmFzaWNfbWFj aGluZSBpbgotIAl8IGhleGFnb24gXAotIAl8IGkzNzAgfCBpODYwIHwgaTk2MCB8IGlhNjQgXAot IAl8IGlwMmsgfCBpcTIwMDAgXAotKwl8IGsxb20gXAotIAl8IGxlMzIgfCBsZTY0IFwKLSAJfCBs bTMyIFwKLSAJfCBtMzJjIHwgbTMyciB8IG0zMnJsZSB8IG02ODAwMCB8IG02OGsgfCBtODhrIFwK LS0JfCBtYXhxIHwgbWIgfCBtaWNyb2JsYXplIHwgbWNvcmUgfCBtZXAgfCBtZXRhZyBcCi0rCXwg bWF4cSB8IG1iIHwgbWljcm9ibGF6ZSB8IG1pY3JvYmxhemVlbCB8IG1jb3JlIHwgbWVwIHwgbWV0 YWcgXAotIAl8IG1pcHMgfCBtaXBzYmUgfCBtaXBzZWIgfCBtaXBzZWwgfCBtaXBzbGUgXAotIAl8 IG1pcHMxNiBcCi0gCXwgbWlwczY0IHwgbWlwczY0ZWwgXAotQEAgLTI5MSwxNiArMjg3LDE3IEBA IGNhc2UgJGJhc2ljX21hY2hpbmUgaW4KLSAJfCBtaXBzaXNhNjRyMiB8IG1pcHNpc2E2NHIyZWwg XAotIAl8IG1pcHNpc2E2NHNiMSB8IG1pcHNpc2E2NHNiMWVsIFwKLSAJfCBtaXBzaXNhNjRzcjcx ayB8IG1pcHNpc2E2NHNyNzFrZWwgXAotKwl8IG1pcHNyNTkwMCB8IG1pcHNyNTkwMGVsIFwKLSAJ fCBtaXBzdHgzOSB8IG1pcHN0eDM5ZWwgXAotIAl8IG1uMTAyMDAgfCBtbjEwMzAwIFwKLSAJfCBt b3hpZSBcCi0gCXwgbXQgXAotIAl8IG1zcDQzMCBcCi0gCXwgbmRzMzIgfCBuZHMzMmxlIHwgbmRz MzJiZSBcCi0tCXwgbmlvcyB8IG5pb3MyIFwKLSsJfCBuaW9zIHwgbmlvczIgfCBuaW9zMmViIHwg bmlvczJlbCBcCi0gCXwgbnMxNmsgfCBuczMyayBcCi0gCXwgb3BlbjggXAotLQl8IG9yMzIgXAot Kwl8IG9yMWsgfCBvcjMyIFwKLSAJfCBwZHAxMCB8IHBkcDExIHwgcGogfCBwamwgXAotIAl8IHBv d2VycGMgfCBwb3dlcnBjNjQgfCBwb3dlcnBjNjRsZSB8IHBvd2VycGNsZSBcCi0gCXwgcHlyYW1p ZCBcCi1AQCAtMzI4LDcgKzMyNSw3IEBAIGNhc2UgJGJhc2ljX21hY2hpbmUgaW4KLSAJYzZ4KQot IAkJYmFzaWNfbWFjaGluZT10aWM2eC11bmtub3duCi0gCQk7OwotLQltNjgxMSB8IG02OGhjMTEg fCBtNjgxMiB8IG02OGhjMTIgfCBtNjhoY3MxMnggfCBwaWNvY2hpcCkKLSsJbTY4MTEgfCBtNjho YzExIHwgbTY4MTIgfCBtNjhoYzEyIHwgbTY4aGNzMTJ4IHwgbnZwdHggfCBwaWNvY2hpcCkKLSAJ CWJhc2ljX21hY2hpbmU9JGJhc2ljX21hY2hpbmUtdW5rbm93bgotIAkJb3M9LW5vbmUKLSAJCTs7 Ci1AQCAtMzcwLDEzICszNjcsMTMgQEAgY2FzZSAkYmFzaWNfbWFjaGluZSBpbgotIAl8IGFhcmNo NjQtKiB8IGFhcmNoNjRfYmUtKiBcCi0gCXwgYWxwaGEtKiB8IGFscGhhZXZbNC04XS0qIHwgYWxw aGFldjU2LSogfCBhbHBoYWV2Nls3OF0tKiBcCi0gCXwgYWxwaGE2NC0qIHwgYWxwaGE2NGV2WzQt OF0tKiB8IGFscGhhNjRldjU2LSogfCBhbHBoYTY0ZXY2Wzc4XS0qIFwKLS0JfCBhbHBoYXBjYTVb NjddLSogfCBhbHBoYTY0cGNhNVs2N10tKiB8IGFyYy0qIFwKLSsJfCBhbHBoYXBjYTVbNjddLSog fCBhbHBoYTY0cGNhNVs2N10tKiB8IGFyYy0qIHwgYXJjZWItKiBcCi0gCXwgYXJtLSogIHwgYXJt YmUtKiB8IGFybWxlLSogfCBhcm1lYi0qIHwgYXJtdiotKiBcCi0gCXwgYXZyLSogfCBhdnIzMi0q IFwKLSAJfCBiZTMyLSogfCBiZTY0LSogXAotIAl8IGJmaW4tKiB8IGJzMjAwMC0qIFwKLSAJfCBj WzEyM10qIHwgYzMwLSogfCBbY2p0XTkwLSogfCBjNHgtKiBcCi0tCXwgY2xpcHBlci0qIHwgY3Jh eW52LSogfCBjeWRyYS0qIFwKLSsJfCBjODA1MS0qIHwgY2xpcHBlci0qIHwgY3JheW52LSogfCBj eWRyYS0qIFwKLSAJfCBkMTB2LSogfCBkMzB2LSogfCBkbHgtKiBcCi0gCXwgZWx4c2ktKiBcCi0g CXwgZjMwWzAxXS0qIHwgZjcwMC0qIHwgZmlkby0qIHwgZnIzMC0qIHwgZnJ2LSogfCBmeDgwLSog XAotQEAgLTM4NSwxMSArMzgyLDEzIEBAIGNhc2UgJGJhc2ljX21hY2hpbmUgaW4KLSAJfCBoZXhh Z29uLSogXAotIAl8IGkqODYtKiB8IGk4NjAtKiB8IGk5NjAtKiB8IGlhNjQtKiBcCi0gCXwgaXAy ay0qIHwgaXEyMDAwLSogXAotKwl8IGsxb20tKiBcCi0gCXwgbGUzMi0qIHwgbGU2NC0qIFwKLSAJ fCBsbTMyLSogXAotIAl8IG0zMmMtKiB8IG0zMnItKiB8IG0zMnJsZS0qIFwKLSAJfCBtNjgwMDAt KiB8IG02ODBbMDEyMzQ2XTAtKiB8IG02ODM2MC0qIHwgbTY4Mz8yLSogfCBtNjhrLSogXAotLQl8 IG04ODExMC0qIHwgbTg4ay0qIHwgbWF4cS0qIHwgbWNvcmUtKiB8IG1ldGFnLSogfCBtaWNyb2Js YXplLSogXAotKwl8IG04ODExMC0qIHwgbTg4ay0qIHwgbWF4cS0qIHwgbWNvcmUtKiB8IG1ldGFn LSogXAotKwl8IG1pY3JvYmxhemUtKiB8IG1pY3JvYmxhemVlbC0qIFwKLSAJfCBtaXBzLSogfCBt aXBzYmUtKiB8IG1pcHNlYi0qIHwgbWlwc2VsLSogfCBtaXBzbGUtKiBcCi0gCXwgbWlwczE2LSog XAotIAl8IG1pcHM2NC0qIHwgbWlwczY0ZWwtKiBcCi1AQCAtNDA3LDEyICs0MDYsMTMgQEAgY2Fz ZSAkYmFzaWNfbWFjaGluZSBpbgotIAl8IG1pcHNpc2E2NHIyLSogfCBtaXBzaXNhNjRyMmVsLSog XAotIAl8IG1pcHNpc2E2NHNiMS0qIHwgbWlwc2lzYTY0c2IxZWwtKiBcCi0gCXwgbWlwc2lzYTY0 c3I3MWstKiB8IG1pcHNpc2E2NHNyNzFrZWwtKiBcCi0rCXwgbWlwc3I1OTAwLSogfCBtaXBzcjU5 MDBlbC0qIFwKLSAJfCBtaXBzdHgzOS0qIHwgbWlwc3R4MzllbC0qIFwKLSAJfCBtbWl4LSogXAot IAl8IG10LSogXAotIAl8IG1zcDQzMC0qIFwKLSAJfCBuZHMzMi0qIHwgbmRzMzJsZS0qIHwgbmRz MzJiZS0qIFwKLS0JfCBuaW9zLSogfCBuaW9zMi0qIFwKLSsJfCBuaW9zLSogfCBuaW9zMi0qIHwg bmlvczJlYi0qIHwgbmlvczJlbC0qIFwKLSAJfCBub25lLSogfCBucDEtKiB8IG5zMTZrLSogfCBu czMyay0qIFwKLSAJfCBvcGVuOC0qIFwKLSAJfCBvcmlvbi0qIFwKLUBAIC03ODgsMTEgKzc4OCwx NSBAQCBjYXNlICRiYXNpY19tYWNoaW5lIGluCi0gCQliYXNpY19tYWNoaW5lPW5zMzJrLXV0ZWsK LSAJCW9zPS1zeXN2Ci0gCQk7OwotLQltaWNyb2JsYXplKQotKwltaWNyb2JsYXplKikKLSAJCWJh c2ljX21hY2hpbmU9bWljcm9ibGF6ZS14aWxpbngKLSAJCTs7Ci0rCW1pbmd3NjQpCi0rCQliYXNp Y19tYWNoaW5lPXg4Nl82NC1wYwotKwkJb3M9LW1pbmd3NjQKLSsJCTs7Ci0gCW1pbmd3MzIpCi0t CQliYXNpY19tYWNoaW5lPWkzODYtcGMKLSsJCWJhc2ljX21hY2hpbmU9aTY4Ni1wYwotIAkJb3M9 LW1pbmd3MzIKLSAJCTs7Ci0gCW1pbmd3MzJjZSkKLUBAIC04MjgsNyArODMyLDcgQEAgY2FzZSAk YmFzaWNfbWFjaGluZSBpbgotIAkJYmFzaWNfbWFjaGluZT1gZWNobyAkYmFzaWNfbWFjaGluZSB8 IHNlZCAtZSAncy9tczEtL210LS8nYAotIAkJOzsKLSAJbXN5cykKLS0JCWJhc2ljX21hY2hpbmU9 aTM4Ni1wYwotKwkJYmFzaWNfbWFjaGluZT1pNjg2LXBjCi0gCQlvcz0tbXN5cwotIAkJOzsKLSAJ bXZzKQotQEAgLTEwMTksNyArMTAyMywxMSBAQCBjYXNlICRiYXNpY19tYWNoaW5lIGluCi0gCQli YXNpY19tYWNoaW5lPWk1ODYtdW5rbm93bgotIAkJb3M9LXB3MzIKLSAJCTs7Ci0tCXJkb3MpCi0r CXJkb3MgfCByZG9zNjQpCi0rCQliYXNpY19tYWNoaW5lPXg4Nl82NC1wYwotKwkJb3M9LXJkb3MK LSsJCTs7Ci0rCXJkb3MzMikKLSAJCWJhc2ljX21hY2hpbmU9aTM4Ni1wYwotIAkJb3M9LXJkb3MK LSAJCTs7Ci1AQCAtMTM0NiwyMSArMTM1NCwyMSBAQCBjYXNlICRvcyBpbgotIAktZ251KiB8IC1i c2QqIHwgLW1hY2gqIHwgLW1pbml4KiB8IC1nZW5peCogfCAtdWx0cml4KiB8IC1pcml4KiBcCi0g CSAgICAgIHwgLSp2bXMqIHwgLXNjbyogfCAtZXNpeCogfCAtaXNjKiB8IC1haXgqIHwgLWNuayog fCAtc3Vub3MgfCAtc3Vub3NbMzRdKlwKLSAJICAgICAgfCAtaHB1eCogfCAtdW5vcyogfCAtb3Nm KiB8IC1sdW5hKiB8IC1kZ3V4KiB8IC1hdXJvcmF1eCogfCAtc29sYXJpcyogXAotLQkgICAgICB8 IC1zeW0qIHwgLWtvcGVuc29sYXJpcyogXAotKwkgICAgICB8IC1zeW0qIHwgLWtvcGVuc29sYXJp cyogfCAtcGxhbjkqIFwKLSAJICAgICAgfCAtYW1pZ2FvcyogfCAtYW1pZ2Fkb3MqIHwgLW1zZG9z KiB8IC1uZXdzb3MqIHwgLXVuaWNvcyogfCAtYW9mKiBcCi0gCSAgICAgIHwgLWFvcyogfCAtYXJv cyogXAotIAkgICAgICB8IC1uaW5keSogfCAtdnhzaW0qIHwgLXZ4d29ya3MqIHwgLWVibW9uKiB8 IC1obXMqIHwgLW12cyogXAotIAkgICAgICB8IC1jbGl4KiB8IC1yaXNjb3MqIHwgLXVuaXBsdXMq IHwgLWlyaXMqIHwgLXJ0dSogfCAteGVuaXgqIFwKLSAJICAgICAgfCAtaGl1eCogfCAtMzg2YnNk KiB8IC1rbmV0YnNkKiB8IC1taXJic2QqIHwgLW5ldGJzZCogXAotLQkgICAgICB8IC1vcGVuYnNk KiB8IC1zb2xpZGJzZCogXAotKwkgICAgICB8IC1iaXRyaWcqIHwgLW9wZW5ic2QqIHwgLXNvbGlk YnNkKiBcCi0gCSAgICAgIHwgLWVra29ic2QqIHwgLWtmcmVlYnNkKiB8IC1mcmVlYnNkKiB8IC1y aXNjaXgqIHwgLWx5bnhvcyogXAotIAkgICAgICB8IC1ib3N4KiB8IC1uZXh0c3RlcCogfCAtY3h1 eCogfCAtYW91dCogfCAtZWxmKiB8IC1vYWJpKiBcCi0gCSAgICAgIHwgLXB0eCogfCAtY29mZiog fCAtZWNvZmYqIHwgLXdpbm50KiB8IC1kb21haW4qIHwgLXZzdGEqIFwKLSAJICAgICAgfCAtdWRp KiB8IC1lYWJpKiB8IC1saXRlcyogfCAtaWVlZSogfCAtZ28zMiogfCAtYXV4KiBcCi0gCSAgICAg IHwgLWNob3J1c29zKiB8IC1jaG9ydXNyZGIqIHwgLWNlZ2NjKiBcCi0gCSAgICAgIHwgLWN5Z3dp biogfCAtbXN5cyogfCAtcGUqIHwgLXBzb3MqIHwgLW1vc3MqIHwgLXByb2VsZiogfCAtcnRlbXMq IFwKLS0JICAgICAgfCAtbWluZ3czMiogfCAtbGludXgtZ251KiB8IC1saW51eC1hbmRyb2lkKiBc Ci0tCSAgICAgIHwgLWxpbnV4LW5ld2xpYiogfCAtbGludXgtdWNsaWJjKiBcCi0rCSAgICAgIHwg LW1pbmd3MzIqIHwgLW1pbmd3NjQqIHwgLWxpbnV4LWdudSogfCAtbGludXgtYW5kcm9pZCogXAot KwkgICAgICB8IC1saW51eC1uZXdsaWIqIHwgLWxpbnV4LW11c2wqIHwgLWxpbnV4LXVjbGliYyog XAotIAkgICAgICB8IC11eHB2KiB8IC1iZW9zKiB8IC1tcGVpeCogfCAtdWRrKiBcCi0gCSAgICAg IHwgLWludGVyaXgqIHwgLXV3aW4qIHwgLW1rcyogfCAtcmhhcHNvZHkqIHwgLWRhcndpbiogfCAt b3BlbmVkKiBcCi0gCSAgICAgIHwgLW9wZW5zdGVwKiB8IC1vc2tpdCogfCAtY29uaXgqIHwgLXB3 MzIqIHwgLW5vbnN0b3B1eCogXAotQEAgLTE0OTIsOSArMTUwMCw2IEBAIGNhc2UgJG9zIGluCi0g CS1hcm9zKikKLSAJCW9zPS1hcm9zCi0gCQk7OwotLQkta2FvcyopCi0tCQlvcz0ta2FvcwotLQkJ OzsKLSAJLXp2bW9lKQotIAkJb3M9LXp2bW9lCi0gCQk7OwotQEAgLTE1NDMsNiArMTU0OCw5IEBA IGNhc2UgJGJhc2ljX21hY2hpbmUgaW4KLSAJYzR4LSogfCB0aWM0eC0qKQotIAkJb3M9LWNvZmYK LSAJCTs7Ci0rCWM4MDUxLSopCi0rCQlvcz0tZWxmCi0rCQk7OwotIAloZXhhZ29uLSopCi0gCQlv cz0tZWxmCi0gCQk7OwotQEAgLTE1ODYsNiArMTU5NCw5IEBAIGNhc2UgJGJhc2ljX21hY2hpbmUg aW4KLSAJbWlwcyotKikKLSAJCW9zPS1lbGYKLSAJCTs7Ci0rCW9yMWstKikKLSsJCW9zPS1lbGYK LSsJCTs7Ci0gCW9yMzItKikKLSAJCW9zPS1jb2ZmCi0gCQk7OwotLS0tIGNsb29nLTAuMTguMS9h dXRvY29uZi9jb25maWcuZ3Vlc3MuamoJMjAxMy0xMC0xMSAwOToyNzo0NS4wMDAwMDAwMDAgKzAy MDAKLSsrKyBjbG9vZy0wLjE4LjEvYXV0b2NvbmYvY29uZmlnLmd1ZXNzCTIwMTQtMDQtMTEgMTg6 MjQ6NTYuNjA4NDkzNzIxICswMjAwCi1AQCAtMSwxNCArMSwxMiBAQAotICMhIC9iaW4vc2gKLSAj IEF0dGVtcHQgdG8gZ3Vlc3MgYSBjYW5vbmljYWwgc3lzdGVtIG5hbWUuCi0tIyAgIENvcHlyaWdo dCAoQykgMTk5MiwgMTk5MywgMTk5NCwgMTk5NSwgMTk5NiwgMTk5NywgMTk5OCwgMTk5OSwKLS0j ICAgMjAwMCwgMjAwMSwgMjAwMiwgMjAwMywgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNywgMjAwOCwg MjAwOSwgMjAxMCwKLS0jICAgMjAxMSwgMjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu Yy4KLSsjICAgQ29weXJpZ2h0IDE5OTItMjAxMyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu Yy4KLSAKLS10aW1lc3RhbXA9JzIwMTItMDItMTAnCi0rdGltZXN0YW1wPScyMDEzLTA2LTEwJwot IAotICMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0 IGFuZC9vciBtb2RpZnkgaXQKLSAjIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0tIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgotKyMgdGhlIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IK LSAjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gIwotICMgVGhpcyBwcm9n cmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1 dAotQEAgLTIyLDE5ICsyMCwxNyBAQCB0aW1lc3RhbXA9JzIwMTItMDItMTAnCi0gIyBBcyBhIHNw ZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwgaWYgeW91 Ci0gIyBkaXN0cmlidXRlIHRoaXMgZmlsZSBhcyBwYXJ0IG9mIGEgcHJvZ3JhbSB0aGF0IGNvbnRh aW5zIGEKLSAjIGNvbmZpZ3VyYXRpb24gc2NyaXB0IGdlbmVyYXRlZCBieSBBdXRvY29uZiwgeW91 IG1heSBpbmNsdWRlIGl0IHVuZGVyCi0tIyB0aGUgc2FtZSBkaXN0cmlidXRpb24gdGVybXMgdGhh dCB5b3UgdXNlIGZvciB0aGUgcmVzdCBvZiB0aGF0IHByb2dyYW0uCi0tCi0tCi0tIyBPcmlnaW5h bGx5IHdyaXR0ZW4gYnkgUGVyIEJvdGhuZXIuICBQbGVhc2Ugc2VuZCBwYXRjaGVzIChjb250ZXh0 Ci0tIyBkaWZmIGZvcm1hdCkgdG8gPGNvbmZpZy1wYXRjaGVzQGdudS5vcmc+IGFuZCBpbmNsdWRl IGEgQ2hhbmdlTG9nCi0tIyBlbnRyeS4KLSsjIHRoZSBzYW1lIGRpc3RyaWJ1dGlvbiB0ZXJtcyB0 aGF0IHlvdSB1c2UgZm9yIHRoZSByZXN0IG9mIHRoYXQKLSsjIHByb2dyYW0uICBUaGlzIEV4Y2Vw dGlvbiBpcyBhbiBhZGRpdGlvbmFsIHBlcm1pc3Npb24gdW5kZXIgc2VjdGlvbiA3Ci0rIyBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIHZlcnNpb24gMyAoIkdQTHYzIikuCi0gIwot LSMgVGhpcyBzY3JpcHQgYXR0ZW1wdHMgdG8gZ3Vlc3MgYSBjYW5vbmljYWwgc3lzdGVtIG5hbWUg c2ltaWxhciB0bwotLSMgY29uZmlnLnN1Yi4gIElmIGl0IHN1Y2NlZWRzLCBpdCBwcmludHMgdGhl IHN5c3RlbSBuYW1lIG9uIHN0ZG91dCwgYW5kCi0tIyBleGl0cyB3aXRoIDAuICBPdGhlcndpc2Us IGl0IGV4aXRzIHdpdGggMS4KLSsjIE9yaWdpbmFsbHkgd3JpdHRlbiBieSBQZXIgQm90aG5lci4K LSAjCi0gIyBZb3UgY2FuIGdldCB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBzY3JpcHQgZnJv bToKLSAjIGh0dHA6Ly9naXQuc2F2YW5uYWguZ251Lm9yZy9naXR3ZWIvP3A9Y29uZmlnLmdpdDth PWJsb2JfcGxhaW47Zj1jb25maWcuZ3Vlc3M7aGI9SEVBRAotKyMKLSsjIFBsZWFzZSBzZW5kIHBh dGNoZXMgd2l0aCBhIENoYW5nZUxvZyBlbnRyeSB0byBjb25maWctcGF0Y2hlc0BnbnUub3JnLgot KwotIAotIG1lPWBlY2hvICIkMCIgfCBzZWQgLWUgJ3MsLiovLCwnYAotIAotQEAgLTU0LDkgKzUw LDcgQEAgdmVyc2lvbj0iXAotIEdOVSBjb25maWcuZ3Vlc3MgKCR0aW1lc3RhbXApCi0gCi0gT3Jp Z2luYWxseSB3cml0dGVuIGJ5IFBlciBCb3RobmVyLgotLUNvcHlyaWdodCAoQykgMTk5MiwgMTk5 MywgMTk5NCwgMTk5NSwgMTk5NiwgMTk5NywgMTk5OCwgMTk5OSwgMjAwMCwKLS0yMDAxLCAyMDAy LCAyMDAzLCAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5LCAyMDEwLCAyMDExLCAy MDEyCi0tRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCi0rQ29weXJpZ2h0IDE5OTItMjAx MyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLSAKLSBUaGlzIGlzIGZyZWUgc29mdHdh cmU7IHNlZSB0aGUgc291cmNlIGZvciBjb3B5aW5nIGNvbmRpdGlvbnMuICBUaGVyZSBpcyBOTwot IHdhcnJhbnR5OyBub3QgZXZlbiBmb3IgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg UEFSVElDVUxBUiBQVVJQT1NFLiIKLUBAIC0xMzgsNiArMTMyLDI3IEBAIFVOQU1FX1JFTEVBU0U9 YCh1bmFtZSAtcikgMj4vZGV2L251bGxgIHwKLSBVTkFNRV9TWVNURU09YCh1bmFtZSAtcykgMj4v ZGV2L251bGxgICB8fCBVTkFNRV9TWVNURU09dW5rbm93bgotIFVOQU1FX1ZFUlNJT049YCh1bmFt ZSAtdikgMj4vZGV2L251bGxgIHx8IFVOQU1FX1ZFUlNJT049dW5rbm93bgotIAotK2Nhc2UgIiR7 VU5BTUVfU1lTVEVNfSIgaW4KLStMaW51eHxHTlV8R05VLyopCi0rCSMgSWYgdGhlIHN5c3RlbSBs YWNrcyBhIGNvbXBpbGVyLCB0aGVuIGp1c3QgcGljayBnbGliYy4KLSsJIyBXZSBjb3VsZCBwcm9i YWJseSB0cnkgaGFyZGVyLgotKwlMSUJDPWdudQotKwotKwlldmFsICRzZXRfY2NfZm9yX2J1aWxk Ci0rCWNhdCA8PC1FT0YgPiAkZHVtbXkuYwotKwkjaW5jbHVkZSA8ZmVhdHVyZXMuaD4KLSsJI2lm IGRlZmluZWQoX19VQ0xJQkNfXykKLSsJTElCQz11Y2xpYmMKLSsJI2VsaWYgZGVmaW5lZChfX2Rp ZXRsaWJjX18pCi0rCUxJQkM9ZGlldGxpYmMKLSsJI2Vsc2UKLSsJTElCQz1nbnUKLSsJI2VuZGlm Ci0rCUVPRgotKwlldmFsIGAkQ0NfRk9SX0JVSUxEIC1FICRkdW1teS5jIDI+L2Rldi9udWxsIHwg Z3JlcCAnXkxJQkMnYAotKwk7OwotK2VzYWMKLSsKLSAjIE5vdGU6IG9yZGVyIGlzIHNpZ25pZmlj YW50IC0gdGhlIGNhc2UgYnJhbmNoZXMgYXJlIG5vdCBleGNsdXNpdmUuCi0gCi0gY2FzZSAiJHtV TkFNRV9NQUNISU5FfToke1VOQU1FX1NZU1RFTX06JHtVTkFNRV9SRUxFQVNFfToke1VOQU1FX1ZF UlNJT059IiBpbgotQEAgLTIwMCw2ICsyMTUsMTAgQEAgY2FzZSAiJHtVTkFNRV9NQUNISU5FfTok e1VOQU1FX1NZU1RFTX06JAotIAkjIENQVV9UWVBFLU1BTlVGQUNUVVJFUi1PUEVSQVRJTkdfU1lT VEVNIGlzIHVzZWQuCi0gCWVjaG8gIiR7bWFjaGluZX0tJHtvc30ke3JlbGVhc2V9IgotIAlleGl0 IDs7Ci0rICAgICo6Qml0cmlnOio6KikKLSsJVU5BTUVfTUFDSElORV9BUkNIPWBhcmNoIHwgc2Vk ICdzL0JpdHJpZy4vLydgCi0rCWVjaG8gJHtVTkFNRV9NQUNISU5FX0FSQ0h9LXVua25vd24tYml0 cmlnJHtVTkFNRV9SRUxFQVNFfQotKwlleGl0IDs7Ci0gICAgICo6T3BlbkJTRDoqOiopCi0gCVVO QU1FX01BQ0hJTkVfQVJDSD1gYXJjaCB8IHNlZCAncy9PcGVuQlNELi8vJ2AKLSAJZWNobyAke1VO QU1FX01BQ0hJTkVfQVJDSH0tdW5rbm93bi1vcGVuYnNkJHtVTkFNRV9SRUxFQVNFfQotQEAgLTMw Miw3ICszMjEsNyBAQCBjYXNlICIke1VOQU1FX01BQ0hJTkV9OiR7VU5BTUVfU1lTVEVNfTokCi0g ICAgIGFybTpSSVNDKjoxLlswMTJdKjoqfGFybTpyaXNjaXg6MS5bMDEyXSo6KikKLSAJZWNobyBh cm0tYWNvcm4tcmlzY2l4JHtVTkFNRV9SRUxFQVNFfQotIAlleGl0IDs7Ci0tICAgIGFybTpyaXNj b3M6KjoqfGFybTpSSVNDT1M6KjoqKQotKyAgICBhcm0qOnJpc2NvczoqOip8YXJtKjpSSVNDT1M6 KjoqKQotIAllY2hvIGFybS11bmtub3duLXJpc2NvcwotIAlleGl0IDs7Ci0gICAgIFNSMj8wMTpI SS1VWC9NUFA6KjoqIHwgU1I4MDAwOkhJLVVYL01QUDoqOiopCi1AQCAtODAxLDYgKzgyMCw5IEBA IEVPRgotICAgICBpKjpDWUdXSU4qOiopCi0gCWVjaG8gJHtVTkFNRV9NQUNISU5FfS1wYy1jeWd3 aW4KLSAJZXhpdCA7OwotKyAgICAqOk1JTkdXNjQqOiopCi0rCWVjaG8gJHtVTkFNRV9NQUNISU5F fS1wYy1taW5ndzY0Ci0rCWV4aXQgOzsKLSAgICAgKjpNSU5HVyo6KikKLSAJZWNobyAke1VOQU1F X01BQ0hJTkV9LXBjLW1pbmd3MzIKLSAJZXhpdCA7OwotQEAgLTg1MiwyMSArODc0LDIxIEBAIEVP RgotIAlleGl0IDs7Ci0gICAgICo6R05VOio6KikKLSAJIyB0aGUgR05VIHN5c3RlbQotLQllY2hv IGBlY2hvICR7VU5BTUVfTUFDSElORX18c2VkIC1lICdzLFstL10uKiQsLCdgLXVua25vd24tZ251 YGVjaG8gJHtVTkFNRV9SRUxFQVNFfXxzZWQgLWUgJ3MsLy4qJCwsJ2AKLSsJZWNobyBgZWNobyAk e1VOQU1FX01BQ0hJTkV9fHNlZCAtZSAncyxbLS9dLiokLCwnYC11bmtub3duLSR7TElCQ31gZWNo byAke1VOQU1FX1JFTEVBU0V9fHNlZCAtZSAncywvLiokLCwnYAotIAlleGl0IDs7Ci0gICAgICo6 R05VLyo6KjoqKQotIAkjIG90aGVyIHN5c3RlbXMgd2l0aCBHTlUgbGliYyBhbmQgdXNlcmxhbmQK LS0JZWNobyAke1VOQU1FX01BQ0hJTkV9LXVua25vd24tYGVjaG8gJHtVTkFNRV9TWVNURU19IHwg c2VkICdzLF5bXi9dKi8sLCcgfCB0ciAnW0EtWl0nICdbYS16XSdgYGVjaG8gJHtVTkFNRV9SRUxF QVNFfXxzZWQgLWUgJ3MvWy0oXS4qLy8nYC1nbnUKLSsJZWNobyAke1VOQU1FX01BQ0hJTkV9LXVu a25vd24tYGVjaG8gJHtVTkFNRV9TWVNURU19IHwgc2VkICdzLF5bXi9dKi8sLCcgfCB0ciAnW0Et Wl0nICdbYS16XSdgYGVjaG8gJHtVTkFNRV9SRUxFQVNFfXxzZWQgLWUgJ3MvWy0oXS4qLy8nYC0k e0xJQkN9Ci0gCWV4aXQgOzsKLSAgICAgaSo4NjpNaW5peDoqOiopCi0gCWVjaG8gJHtVTkFNRV9N QUNISU5FfS1wYy1taW5peAotIAlleGl0IDs7Ci0gICAgIGFhcmNoNjQ6TGludXg6KjoqKQotLQll Y2hvICR7VU5BTUVfTUFDSElORX0tdW5rbm93bi1saW51eC1nbnUKLSsJZWNobyAke1VOQU1FX01B Q0hJTkV9LXVua25vd24tbGludXgtJHtMSUJDfQotIAlleGl0IDs7Ci0gICAgIGFhcmNoNjRfYmU6 TGludXg6KjoqKQotIAlVTkFNRV9NQUNISU5FPWFhcmNoNjRfYmUKLS0JZWNobyAke1VOQU1FX01B Q0hJTkV9LXVua25vd24tbGludXgtZ251Ci0rCWVjaG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3du LWxpbnV4LSR7TElCQ30KLSAJZXhpdCA7OwotICAgICBhbHBoYTpMaW51eDoqOiopCi0gCWNhc2Ug YHNlZCAtbiAnL15jcHUgbW9kZWwvcy9eLio6IFwoLipcKS9cMS9wJyA8IC9wcm9jL2NwdWluZm9g IGluCi1AQCAtODc5LDU5ICs5MDEsNTQgQEAgRU9GCi0gCSAgRVY2OCopIFVOQU1FX01BQ0hJTkU9 YWxwaGFldjY4IDs7Ci0gCWVzYWMKLSAJb2JqZHVtcCAtLXByaXZhdGUtaGVhZGVycyAvYmluL3No IHwgZ3JlcCAtcSBsZC5zby4xCi0tCWlmIHRlc3QgIiQ/IiA9IDAgOyB0aGVuIExJQkM9ImxpYmMx IiA7IGVsc2UgTElCQz0iIiA7IGZpCi0tCWVjaG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3duLWxp bnV4LWdudSR7TElCQ30KLSsJaWYgdGVzdCAiJD8iID0gMCA7IHRoZW4gTElCQz0iZ251bGliYzEi IDsgZmkKLSsJZWNobyAke1VOQU1FX01BQ0hJTkV9LXVua25vd24tbGludXgtJHtMSUJDfQotKwll eGl0IDs7Ci0rICAgIGFyYzpMaW51eDoqOiogfCBhcmNlYjpMaW51eDoqOiopCi0rCWVjaG8gJHtV TkFNRV9NQUNISU5FfS11bmtub3duLWxpbnV4LSR7TElCQ30KLSAJZXhpdCA7OwotICAgICBhcm0q OkxpbnV4Oio6KikKLSAJZXZhbCAkc2V0X2NjX2Zvcl9idWlsZAotIAlpZiBlY2hvIF9fQVJNX0VB QklfXyB8ICRDQ19GT1JfQlVJTEQgLUUgLSAyPi9kZXYvbnVsbCBcCi0gCSAgICB8IGdyZXAgLXEg X19BUk1fRUFCSV9fCi0gCXRoZW4KLS0JICAgIGVjaG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3du LWxpbnV4LWdudQotKwkgICAgZWNobyAke1VOQU1FX01BQ0hJTkV9LXVua25vd24tbGludXgtJHtM SUJDfQotIAllbHNlCi0gCSAgICBpZiBlY2hvIF9fQVJNX1BDU19WRlAgfCAkQ0NfRk9SX0JVSUxE IC1FIC0gMj4vZGV2L251bGwgXAotIAkJfCBncmVwIC1xIF9fQVJNX1BDU19WRlAKLSAJICAgIHRo ZW4KLS0JCWVjaG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3duLWxpbnV4LWdudWVhYmkKLSsJCWVj aG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3duLWxpbnV4LSR7TElCQ31lYWJpCi0gCSAgICBlbHNl Ci0tCQllY2hvICR7VU5BTUVfTUFDSElORX0tdW5rbm93bi1saW51eC1nbnVlYWJpaGYKLSsJCWVj aG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3duLWxpbnV4LSR7TElCQ31lYWJpaGYKLSAJICAgIGZp Ci0gCWZpCi0gCWV4aXQgOzsKLSAgICAgYXZyMzIqOkxpbnV4Oio6KikKLS0JZWNobyAke1VOQU1F X01BQ0hJTkV9LXVua25vd24tbGludXgtZ251Ci0rCWVjaG8gJHtVTkFNRV9NQUNISU5FfS11bmtu b3duLWxpbnV4LSR7TElCQ30KLSAJZXhpdCA7OwotICAgICBjcmlzOkxpbnV4Oio6KikKLS0JZWNo byAke1VOQU1FX01BQ0hJTkV9LWF4aXMtbGludXgtZ251Ci0rCWVjaG8gJHtVTkFNRV9NQUNISU5F fS1heGlzLWxpbnV4LSR7TElCQ30KLSAJZXhpdCA7OwotICAgICBjcmlzdjMyOkxpbnV4Oio6KikK LS0JZWNobyAke1VOQU1FX01BQ0hJTkV9LWF4aXMtbGludXgtZ251Ci0rCWVjaG8gJHtVTkFNRV9N QUNISU5FfS1heGlzLWxpbnV4LSR7TElCQ30KLSAJZXhpdCA7OwotICAgICBmcnY6TGludXg6Kjoq KQotLQllY2hvICR7VU5BTUVfTUFDSElORX0tdW5rbm93bi1saW51eC1nbnUKLSsJZWNobyAke1VO QU1FX01BQ0hJTkV9LXVua25vd24tbGludXgtJHtMSUJDfQotIAlleGl0IDs7Ci0gICAgIGhleGFn b246TGludXg6KjoqKQotLQllY2hvICR7VU5BTUVfTUFDSElORX0tdW5rbm93bi1saW51eC1nbnUK LSsJZWNobyAke1VOQU1FX01BQ0hJTkV9LXVua25vd24tbGludXgtJHtMSUJDfQotIAlleGl0IDs7 Ci0gICAgIGkqODY6TGludXg6KjoqKQotLQlMSUJDPWdudQotLQlldmFsICRzZXRfY2NfZm9yX2J1 aWxkCi0tCXNlZCAncy9eCS8vJyA8PCBFT0YgPiRkdW1teS5jCi0tCSNpZmRlZiBfX2RpZXRsaWJj X18KLS0JTElCQz1kaWV0bGliYwotLQkjZW5kaWYKLS1FT0YKLS0JZXZhbCBgJENDX0ZPUl9CVUlM RCAtRSAkZHVtbXkuYyAyPi9kZXYvbnVsbCB8IGdyZXAgJ15MSUJDJ2AKLS0JZWNobyAiJHtVTkFN RV9NQUNISU5FfS1wYy1saW51eC0ke0xJQkN9IgotKwllY2hvICR7VU5BTUVfTUFDSElORX0tcGMt bGludXgtJHtMSUJDfQotIAlleGl0IDs7Ci0gICAgIGlhNjQ6TGludXg6KjoqKQotLQllY2hvICR7 VU5BTUVfTUFDSElORX0tdW5rbm93bi1saW51eC1nbnUKLSsJZWNobyAke1VOQU1FX01BQ0hJTkV9 LXVua25vd24tbGludXgtJHtMSUJDfQotIAlleGl0IDs7Ci0gICAgIG0zMnIqOkxpbnV4Oio6KikK LS0JZWNobyAke1VOQU1FX01BQ0hJTkV9LXVua25vd24tbGludXgtZ251Ci0rCWVjaG8gJHtVTkFN RV9NQUNISU5FfS11bmtub3duLWxpbnV4LSR7TElCQ30KLSAJZXhpdCA7OwotICAgICBtNjgqOkxp bnV4Oio6KikKLS0JZWNobyAke1VOQU1FX01BQ0hJTkV9LXVua25vd24tbGludXgtZ251Ci0rCWVj aG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3duLWxpbnV4LSR7TElCQ30KLSAJZXhpdCA7OwotICAg ICBtaXBzOkxpbnV4Oio6KiB8IG1pcHM2NDpMaW51eDoqOiopCi0gCWV2YWwgJHNldF9jY19mb3Jf YnVpbGQKLUBAIC05NTAsNTQgKzk2Nyw2MyBAQCBFT0YKLSAJI2VuZGlmCi0gRU9GCi0gCWV2YWwg YCRDQ19GT1JfQlVJTEQgLUUgJGR1bW15LmMgMj4vZGV2L251bGwgfCBncmVwICdeQ1BVJ2AKLS0J dGVzdCB4IiR7Q1BVfSIgIT0geCAmJiB7IGVjaG8gIiR7Q1BVfS11bmtub3duLWxpbnV4LWdudSI7 IGV4aXQ7IH0KLSsJdGVzdCB4IiR7Q1BVfSIgIT0geCAmJiB7IGVjaG8gIiR7Q1BVfS11bmtub3du LWxpbnV4LSR7TElCQ30iOyBleGl0OyB9Ci0gCTs7Ci0rICAgIG9yMWs6TGludXg6KjoqKQotKwll Y2hvICR7VU5BTUVfTUFDSElORX0tdW5rbm93bi1saW51eC0ke0xJQkN9Ci0rCWV4aXQgOzsKLSAg ICAgb3IzMjpMaW51eDoqOiopCi0tCWVjaG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3duLWxpbnV4 LWdudQotKwllY2hvICR7VU5BTUVfTUFDSElORX0tdW5rbm93bi1saW51eC0ke0xJQkN9Ci0gCWV4 aXQgOzsKLSAgICAgcGFkcmU6TGludXg6KjoqKQotLQllY2hvIHNwYXJjLXVua25vd24tbGludXgt Z251Ci0rCWVjaG8gc3BhcmMtdW5rbm93bi1saW51eC0ke0xJQkN9Ci0gCWV4aXQgOzsKLSAgICAg cGFyaXNjNjQ6TGludXg6KjoqIHwgaHBwYTY0OkxpbnV4Oio6KikKLS0JZWNobyBocHBhNjQtdW5r bm93bi1saW51eC1nbnUKLSsJZWNobyBocHBhNjQtdW5rbm93bi1saW51eC0ke0xJQkN9Ci0gCWV4 aXQgOzsKLSAgICAgcGFyaXNjOkxpbnV4Oio6KiB8IGhwcGE6TGludXg6KjoqKQotIAkjIExvb2sg Zm9yIENQVSBsZXZlbAotIAljYXNlIGBncmVwICdeY3B1W15hLXpdKjonIC9wcm9jL2NwdWluZm8g Mj4vZGV2L251bGwgfCBjdXQgLWQnICcgLWYyYCBpbgotLQkgIFBBNyopIGVjaG8gaHBwYTEuMS11 bmtub3duLWxpbnV4LWdudSA7OwotLQkgIFBBOCopIGVjaG8gaHBwYTIuMC11bmtub3duLWxpbnV4 LWdudSA7OwotLQkgICopICAgIGVjaG8gaHBwYS11bmtub3duLWxpbnV4LWdudSA7OwotKwkgIFBB NyopIGVjaG8gaHBwYTEuMS11bmtub3duLWxpbnV4LSR7TElCQ30gOzsKLSsJICBQQTgqKSBlY2hv IGhwcGEyLjAtdW5rbm93bi1saW51eC0ke0xJQkN9IDs7Ci0rCSAgKikgICAgZWNobyBocHBhLXVu a25vd24tbGludXgtJHtMSUJDfSA7OwotIAllc2FjCi0gCWV4aXQgOzsKLSAgICAgcHBjNjQ6TGlu dXg6KjoqKQotLQllY2hvIHBvd2VycGM2NC11bmtub3duLWxpbnV4LWdudQotKwllY2hvIHBvd2Vy cGM2NC11bmtub3duLWxpbnV4LSR7TElCQ30KLSAJZXhpdCA7OwotICAgICBwcGM6TGludXg6Kjoq KQotLQllY2hvIHBvd2VycGMtdW5rbm93bi1saW51eC1nbnUKLSsJZWNobyBwb3dlcnBjLXVua25v d24tbGludXgtJHtMSUJDfQotKwlleGl0IDs7Ci0rICAgIHBwYzY0bGU6TGludXg6KjoqKQotKwll Y2hvIHBvd2VycGM2NGxlLXVua25vd24tbGludXgtJHtMSUJDfQotKwlleGl0IDs7Ci0rICAgIHBw Y2xlOkxpbnV4Oio6KikKLSsJZWNobyBwb3dlcnBjbGUtdW5rbm93bi1saW51eC0ke0xJQkN9Ci0g CWV4aXQgOzsKLSAgICAgczM5MDpMaW51eDoqOiogfCBzMzkweDpMaW51eDoqOiopCi0tCWVjaG8g JHtVTkFNRV9NQUNISU5FfS1pYm0tbGludXgKLSsJZWNobyAke1VOQU1FX01BQ0hJTkV9LWlibS1s aW51eC0ke0xJQkN9Ci0gCWV4aXQgOzsKLSAgICAgc2g2NCo6TGludXg6KjoqKQotLQllY2hvICR7 VU5BTUVfTUFDSElORX0tdW5rbm93bi1saW51eC1nbnUKLSsJZWNobyAke1VOQU1FX01BQ0hJTkV9 LXVua25vd24tbGludXgtJHtMSUJDfQotIAlleGl0IDs7Ci0gICAgIHNoKjpMaW51eDoqOiopCi0t CWVjaG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3duLWxpbnV4LWdudQotKwllY2hvICR7VU5BTUVf TUFDSElORX0tdW5rbm93bi1saW51eC0ke0xJQkN9Ci0gCWV4aXQgOzsKLSAgICAgc3BhcmM6TGlu dXg6KjoqIHwgc3BhcmM2NDpMaW51eDoqOiopCi0tCWVjaG8gJHtVTkFNRV9NQUNISU5FfS11bmtu b3duLWxpbnV4LWdudQotKwllY2hvICR7VU5BTUVfTUFDSElORX0tdW5rbm93bi1saW51eC0ke0xJ QkN9Ci0gCWV4aXQgOzsKLSAgICAgdGlsZSo6TGludXg6KjoqKQotLQllY2hvICR7VU5BTUVfTUFD SElORX0tdW5rbm93bi1saW51eC1nbnUKLSsJZWNobyAke1VOQU1FX01BQ0hJTkV9LXVua25vd24t bGludXgtJHtMSUJDfQotIAlleGl0IDs7Ci0gICAgIHZheDpMaW51eDoqOiopCi0tCWVjaG8gJHtV TkFNRV9NQUNISU5FfS1kZWMtbGludXgtZ251Ci0rCWVjaG8gJHtVTkFNRV9NQUNISU5FfS1kZWMt bGludXgtJHtMSUJDfQotIAlleGl0IDs7Ci0gICAgIHg4Nl82NDpMaW51eDoqOiopCi0tCWVjaG8g JHtVTkFNRV9NQUNISU5FfS11bmtub3duLWxpbnV4LWdudQotKwllY2hvICR7VU5BTUVfTUFDSElO RX0tdW5rbm93bi1saW51eC0ke0xJQkN9Ci0gCWV4aXQgOzsKLSAgICAgeHRlbnNhKjpMaW51eDoq OiopCi0tCWVjaG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3duLWxpbnV4LWdudQotKwllY2hvICR7 VU5BTUVfTUFDSElORX0tdW5rbm93bi1saW51eC0ke0xJQkN9Ci0gCWV4aXQgOzsKLSAgICAgaSo4 NjpEWU5JWC9wdHg6NCo6KikKLSAJIyBwdHggNC4wIGRvZXMgdW5hbWUgLXMgY29ycmVjdGx5LCB3 aXRoIERZTklYL3B0eCBpbiB0aGVyZS4KLUBAIC0xMjAxLDYgKzEyMjcsOSBAQCBFT0YKLSAgICAg QmVQQzpIYWlrdToqOiopCSMgSGFpa3UgcnVubmluZyBvbiBJbnRlbCBQQyBjb21wYXRpYmxlLgot IAllY2hvIGk1ODYtcGMtaGFpa3UKLSAJZXhpdCA7OwotKyAgICB4ODZfNjQ6SGFpa3U6KjoqKQot KwllY2hvIHg4Nl82NC11bmtub3duLWhhaWt1Ci0rCWV4aXQgOzsKLSAgICAgU1gtNDpTVVBFUi1V WDoqOiopCi0gCWVjaG8gc3g0LW5lYy1zdXBlcnV4JHtVTkFNRV9SRUxFQVNFfQotIAlleGl0IDs7 Ci1AQCAtMTIyNywxOSArMTI1NiwyMSBAQCBFT0YKLSAJZXhpdCA7OwotICAgICAqOkRhcndpbjoq OiopCi0gCVVOQU1FX1BST0NFU1NPUj1gdW5hbWUgLXBgIHx8IFVOQU1FX1BST0NFU1NPUj11bmtu b3duCi0tCWNhc2UgJFVOQU1FX1BST0NFU1NPUiBpbgotLQkgICAgaTM4NikKLS0JCWV2YWwgJHNl dF9jY19mb3JfYnVpbGQKLS0JCWlmIFsgIiRDQ19GT1JfQlVJTEQiICE9ICdub19jb21waWxlcl9m b3VuZCcgXTsgdGhlbgotLQkJICBpZiAoZWNobyAnI2lmZGVmIF9fTFA2NF9fJzsgZWNobyBJU182 NEJJVF9BUkNIOyBlY2hvICcjZW5kaWYnKSB8IFwKLS0JCSAgICAgIChDQ09QVFM9ICRDQ19GT1Jf QlVJTEQgLUUgLSAyPi9kZXYvbnVsbCkgfCBcCi0tCQkgICAgICBncmVwIElTXzY0QklUX0FSQ0gg Pi9kZXYvbnVsbAotLQkJICB0aGVuCi0tCQkgICAgICBVTkFNRV9QUk9DRVNTT1I9Ing4Nl82NCIK LS0JCSAgZmkKLS0JCWZpIDs7Ci0tCSAgICB1bmtub3duKSBVTkFNRV9QUk9DRVNTT1I9cG93ZXJw YyA7OwotLQllc2FjCi0rCWV2YWwgJHNldF9jY19mb3JfYnVpbGQKLSsJaWYgdGVzdCAiJFVOQU1F X1BST0NFU1NPUiIgPSB1bmtub3duIDsgdGhlbgotKwkgICAgVU5BTUVfUFJPQ0VTU09SPXBvd2Vy cGMKLSsJZmkKLSsJaWYgWyAiJENDX0ZPUl9CVUlMRCIgIT0gJ25vX2NvbXBpbGVyX2ZvdW5kJyBd OyB0aGVuCi0rCSAgICBpZiAoZWNobyAnI2lmZGVmIF9fTFA2NF9fJzsgZWNobyBJU182NEJJVF9B UkNIOyBlY2hvICcjZW5kaWYnKSB8IFwKLSsJCShDQ09QVFM9ICRDQ19GT1JfQlVJTEQgLUUgLSAy Pi9kZXYvbnVsbCkgfCBcCi0rCQlncmVwIElTXzY0QklUX0FSQ0ggPi9kZXYvbnVsbAotKwkgICAg dGhlbgotKwkJY2FzZSAkVU5BTUVfUFJPQ0VTU09SIGluCi0rCQkgICAgaTM4NikgVU5BTUVfUFJP Q0VTU09SPXg4Nl82NCA7OwotKwkJICAgIHBvd2VycGMpIFVOQU1FX1BST0NFU1NPUj1wb3dlcnBj NjQgOzsKLSsJCWVzYWMKLSsJICAgIGZpCi0rCWZpCi0gCWVjaG8gJHtVTkFNRV9QUk9DRVNTT1J9 LWFwcGxlLWRhcndpbiR7VU5BTUVfUkVMRUFTRX0KLSAJZXhpdCA7OwotICAgICAqOnByb2NudG8q Oio6KiB8ICo6UU5YOlswMTIzNDU2Nzg5XSo6KikKLUBAIC0xMjU2LDcgKzEyODcsNyBAQCBFT0YK LSAgICAgTkVPLT86Tk9OU1RPUF9LRVJORUw6KjoqKQotIAllY2hvIG5lby10YW5kZW0tbnNrJHtV TkFNRV9SRUxFQVNFfQotIAlleGl0IDs7Ci0tICAgIE5TRS0/Ok5PTlNUT1BfS0VSTkVMOio6KikK LSsgICAgTlNFLSo6Tk9OU1RPUF9LRVJORUw6KjoqKQotIAllY2hvIG5zZS10YW5kZW0tbnNrJHtV TkFNRV9SRUxFQVNFfQotIAlleGl0IDs7Ci0gICAgIE5TUi0/Ok5PTlNUT1BfS0VSTkVMOio6KikK LUBAIC0xMzMwLDkgKzEzNjEsNiBAQCBFT0YKLSAJZXhpdCA7OwotIGVzYWMKLSAKLS0jZWNobyAn KE5vIHVuYW1lIGNvbW1hbmQgb3IgdW5hbWUgb3V0cHV0IG5vdCByZWNvZ25pemVkLiknIDE+JjIK LS0jZWNobyAiJHtVTkFNRV9NQUNISU5FfToke1VOQU1FX1NZU1RFTX06JHtVTkFNRV9SRUxFQVNF fToke1VOQU1FX1ZFUlNJT059IiAxPiYyCi0tCi0gZXZhbCAkc2V0X2NjX2Zvcl9idWlsZAotIGNh dCA+JGR1bW15LmMgPDxFT0YKLSAjaWZkZWYgX1NFUVVFTlRfCi0tLS0gY2xvb2ctMC4xOC4xL2Nv bmZpZ3VyZS5qagkyMDEzLTEwLTExIDA5OjI3OjQ3LjAwMDAwMDAwMCArMDIwMAotKysrIGNsb29n LTAuMTguMS9jb25maWd1cmUJMjAxNC0wNC0xMSAxODoyNDo1Ni42MTE0OTM3MDYgKzAyMDAKLUBA IC02MzgzLDcgKzYzODMsNyBAQCBpYTY0LSotaHB1eCopCi0gICBybSAtcmYgY29uZnRlc3QqCi0g ICA7OwotIAotLXg4Nl82NC0qa2ZyZWVic2QqLWdudXx4ODZfNjQtKmxpbnV4KnxwcGMqLSpsaW51 eCp8cG93ZXJwYyotKmxpbnV4KnwgXAotK3g4Nl82NC0qa2ZyZWVic2QqLWdudXx4ODZfNjQtKmxp bnV4Knxwb3dlcnBjKi0qbGludXgqfCBcCi0gczM5MCotKmxpbnV4KnxzMzkwKi0qdHBmKnxzcGFy YyotKmxpbnV4KikKLSAgICMgRmluZCBvdXQgd2hpY2ggQUJJIHdlIGFyZSB1c2luZy4KLSAgIGVj aG8gJ2ludCBpOycgPiBjb25mdGVzdC4kYWNfZXh0Ci1AQCAtNjQwOCw3ICs2NDA4LDEwIEBAIHMz OTAqLSpsaW51eCp8czM5MCotKnRwZip8c3BhcmMqLSpsaW51eCoKLSAJCTs7Ci0gCSAgICBlc2Fj Ci0gCSAgICA7OwotLQkgIHBwYzY0LSpsaW51eCp8cG93ZXJwYzY0LSpsaW51eCopCi0rCSAgcG93 ZXJwYzY0bGUtKmxpbnV4KikKLSsJICAgIExEPSIke0xELWxkfSAtbSBlbGYzMmxwcGNsaW51eCIK LSsJICAgIDs7Ci0rCSAgcG93ZXJwYzY0LSpsaW51eCopCi0gCSAgICBMRD0iJHtMRC1sZH0gLW0g ZWxmMzJwcGNsaW51eCIKLSAJICAgIDs7Ci0gCSAgczM5MHgtKmxpbnV4KikKLUBAIC02NDI3LDcg KzY0MzAsMTAgQEAgczM5MCotKmxpbnV4KnxzMzkwKi0qdHBmKnxzcGFyYyotKmxpbnV4KgotIAkg IHg4Nl82NC0qbGludXgqKQotIAkgICAgTEQ9IiR7TEQtbGR9IC1tIGVsZl94ODZfNjQiCi0gCSAg ICA7OwotLQkgIHBwYyotKmxpbnV4Knxwb3dlcnBjKi0qbGludXgqKQotKwkgIHBvd2VycGNsZS0q bGludXgqKQotKwkgICAgTEQ9IiR7TEQtbGR9IC1tIGVsZjY0bHBwYyIKLSsJICAgIDs7Ci0rCSAg cG93ZXJwYy0qbGludXgqKQotIAkgICAgTEQ9IiR7TEQtbGR9IC1tIGVsZjY0cHBjIgotIAkgICAg OzsKLSAJICBzMzkwKi0qbGludXgqfHMzOTAqLSp0cGYqKQoKZGlmZiAtLWdpdCBhL2djYy5zcGVj IGIvZ2NjLnNwZWMKaW5kZXggZjlhNzEwOC4uYTQzYTZlOSAxMDA2NDQKLS0tIGEvZ2NjLnNwZWMK KysrIGIvZ2NjLnNwZWMKQEAgLTEsOSArMSw5IEBACi0lZ2xvYmFsIERBVEUgMjAxNTAxMDcKLSVn bG9iYWwgU1ZOUkVWIDIxOTMxNQotJWdsb2JhbCBnY2NfdmVyc2lvbiA0LjkuMgorJWdsb2JhbCBE QVRFIDIwMTUwMTIzCislZ2xvYmFsIFNWTlJFViAyMjAwNjMKKyVnbG9iYWwgZ2NjX3ZlcnNpb24g NS4wLjAKICMgTm90ZSwgZ2NjX3JlbGVhc2UgbXVzdCBiZSBpbnRlZ2VyLCBpZiB5b3Ugd2FudCB0 byBhZGQgc3VmZml4ZXMgdG8KICMgJXtyZWxlYXNlfSwgYXBwZW5kIHRoZW0gYWZ0ZXIgJXtnY2Nf cmVsZWFzZX0gb24gUmVsZWFzZTogbGluZS4KLSVnbG9iYWwgZ2NjX3JlbGVhc2UgNQorJWdsb2Jh bCBnY2NfcmVsZWFzZSAwLjUKICVnbG9iYWwgX3VucGFja2FnZWRfZmlsZXNfdGVybWluYXRlX2J1 aWxkIDAKICVnbG9iYWwgX3BlcmZvcm1hbmNlX2J1aWxkIDEKICVnbG9iYWwgbXVsdGlsaWJfNjRf YXJjaHMgc3BhcmM2NCBwcGM2NCBwcGM2NHA3IHMzOTB4IHg4Nl82NApAQCAtMjIsNyArMjIsNyBA QAogJWVsc2UKICVnbG9iYWwgYnVpbGRfbGlicXVhZG1hdGggMAogJWVuZGlmCi0laWZhcmNoICV7 aXg4Nn0geDg2XzY0IHBwYyBwcGM2NCBwcGM2NHA3ICV7YXJtfQorJWlmYXJjaCAle2l4ODZ9IHg4 Nl82NCBwcGMgcHBjNjQgcHBjNjRwNyAle2FybX0gYWFyY2g2NAogJWdsb2JhbCBidWlsZF9saWJh c2FuIDEKICVlbHNlCiAlZ2xvYmFsIGJ1aWxkX2xpYmFzYW4gMApAQCAtMzcsNyArMzcsNyBAQAog JWVsc2UKICVnbG9iYWwgYnVpbGRfbGlibHNhbiAwCiAlZW5kaWYKLSVpZmFyY2ggJXtpeDg2fSB4 ODZfNjQgcHBjIHBwYzY0IHBwYzY0cDcgJXthcm19CislaWZhcmNoICV7aXg4Nn0geDg2XzY0IHBw YyBwcGM2NCBwcGM2NHA3ICV7YXJtfSBhYXJjaDY0CiAlZ2xvYmFsIGJ1aWxkX2xpYnVic2FuIDEK ICVlbHNlCiAlZ2xvYmFsIGJ1aWxkX2xpYnVic2FuIDAKQEAgLTU3LDcgKzU3LDcgQEAKICVlbHNl CiAlZ2xvYmFsIGJ1aWxkX2xpYml0bSAwCiAlZW5kaWYKLSVnbG9iYWwgYnVpbGRfY2xvb2cgMQor JWdsb2JhbCBidWlsZF9pc2wgMQogJWdsb2JhbCBidWlsZF9saWJzdGRjeHhfZG9jcyAxCiAlaWZh cmNoICV7aXg4Nn0geDg2XzY0IHBwYyBwcGM2NCBwcGM2NGxlIHBwYzY0cDcgczM5MCBzMzkweCAl e2FybX0gYWFyY2g2NAogJWdsb2JhbCBhdHRyX2lmdW5jIDEKQEAgLTg2LDEzICs4NiwxMCBAQCBM aWNlbnNlOiBHUEx2MysgYW5kIEdQTHYzKyB3aXRoIGV4Y2VwdGlvbnMgYW5kIEdQTHYyKyB3aXRo IGV4Y2VwdGlvbnMgYW5kIExHUEx2MgogR3JvdXA6IERldmVsb3BtZW50L0xhbmd1YWdlcwogIyBU aGUgc291cmNlIGZvciB0aGlzIHBhY2thZ2Ugd2FzIHB1bGxlZCBmcm9tIHVwc3RyZWFtJ3MgdmNz LiAgVXNlIHRoZQogIyBmb2xsb3dpbmcgY29tbWFuZHMgdG8gZ2VuZXJhdGUgdGhlIHRhcmJhbGw6 Ci0jIHN2biBleHBvcnQgc3ZuOi8vZ2NjLmdudS5vcmcvc3ZuL2djYy9icmFuY2hlcy9yZWRoYXQv Z2NjLTRfOS1icmFuY2hAJXtTVk5SRVZ9IGdjYy0le3ZlcnNpb259LSV7REFURX0KKyMgc3ZuIGV4 cG9ydCBzdm46Ly9nY2MuZ251Lm9yZy9zdm4vZ2NjL2JyYW5jaGVzL3JlZGhhdC9nY2MtNS1icmFu Y2hAJXtTVk5SRVZ9IGdjYy0le3ZlcnNpb259LSV7REFURX0KICMgdGFyIGNmIC0gZ2NjLSV7dmVy c2lvbn0tJXtEQVRFfSB8IGJ6aXAyIC05ID4gZ2NjLSV7dmVyc2lvbn0tJXtEQVRFfS50YXIuYnoy CiBTb3VyY2UwOiBnY2MtJXt2ZXJzaW9ufS0le0RBVEV9LnRhci5iejIKLSVnbG9iYWwgaXNsX3Zl cnNpb24gMC4xMi4yCi1Tb3VyY2UxOiBmdHA6Ly9nY2MuZ251Lm9yZy9wdWIvZ2NjL2luZnJhc3Ry dWN0dXJlL2lzbC0le2lzbF92ZXJzaW9ufS50YXIuYnoyCi0lZ2xvYmFsIGNsb29nX3ZlcnNpb24g MC4xOC4xCi1Tb3VyY2UyOiBmdHA6Ly9nY2MuZ251Lm9yZy9wdWIvZ2NjL2luZnJhc3RydWN0dXJl L2Nsb29nLSV7Y2xvb2dfdmVyc2lvbn0udGFyLmd6CislZ2xvYmFsIGlzbF92ZXJzaW9uIDAuMTQK IFVSTDogaHR0cDovL2djYy5nbnUub3JnCiBCdWlsZFJvb3Q6ICV7X3RtcHBhdGh9LyV7bmFtZX0t JXt2ZXJzaW9ufS0le3JlbGVhc2V9LXJvb3QtJSgle19faWRfdX0gLW4pCiAjIE5lZWQgYmludXRp bHMgd2l0aCAtcGllIHN1cHBvcnQgPj0gMi4xNC45MC4wLjQtNApAQCAtMTM5LDYgKzEzNiwxMSBA QCBCdWlsZFJlcXVpcmVzOiBnY2MtZ25hdCA+PSAzLjEsIGxpYmduYXQgPj0gMy4xCiAlaWZhcmNo IGlhNjQKIEJ1aWxkUmVxdWlyZXM6IGxpYnVud2luZCA+PSAwLjk4CiAlZW5kaWYKKyVpZiAle2J1 aWxkX2lzbH0KK0J1aWxkUmVxdWlyZXM6IGlzbCA9ICV7aXNsX3ZlcnNpb259CitCdWlsZFJlcXVp cmVzOiBpc2wtZGV2ZWwgPSAle2lzbF92ZXJzaW9ufQorUmVxdWlyZXM6IGlzbCA9ICV7aXNsX3Zl cnNpb259CislZW5kaWYKICVpZiAle2J1aWxkX2xpYnN0ZGN4eF9kb2NzfQogQnVpbGRSZXF1aXJl czogZG94eWdlbiA+PSAxLjcuMQogQnVpbGRSZXF1aXJlczogZ3JhcGh2aXosIGRibGF0ZXgsIHRl eGxpdmUtY29sbGVjdGlvbi1sYXRleCwgZG9jYm9vazUtc3R5bGUteHNsCkBAIC0xODIsMjcgKzE4 NCwyMiBAQCBSZXF1aXJlcyhwcmV1bik6IC9zYmluL2luc3RhbGwtaW5mbwogQXV0b1JlcTogdHJ1 ZQogUHJvdmlkZXM6IGJ1bmRsZWQobGliaWJlcnR5KQogCi1QYXRjaDA6IGdjYzQ5LWhhY2sucGF0 Y2gKLVBhdGNoMTogZ2NjNDktamF2YS1ub211bHRpLnBhdGNoCi1QYXRjaDI6IGdjYzQ5LXBwYzMy LXJldGFkZHIucGF0Y2gKLVBhdGNoMzogZ2NjNDktcmgzMzA3NzEucGF0Y2gKLVBhdGNoNDogZ2Nj NDktaTM4Ni1saWJnb21wLnBhdGNoCi1QYXRjaDU6IGdjYzQ5LXNwYXJjLWNvbmZpZy1kZXRlY3Rp b24ucGF0Y2gKLVBhdGNoNjogZ2NjNDktbGliZ29tcC1vbXBfaC1tdWx0aWxpYi5wYXRjaAotUGF0 Y2g3OiBnY2M0OS1saWJ0b29sLW5vLXJwYXRoLnBhdGNoCi1QYXRjaDg6IGdjYzQ5LWNsb29nLWRs LnBhdGNoCi1QYXRjaDk6IGdjYzQ5LWNsb29nLWRsMi5wYXRjaAotUGF0Y2gxMDogZ2NjNDktcHIz ODc1Ny5wYXRjaAotUGF0Y2gxMTogZ2NjNDktbGlic3RkYysrLWRvY3MucGF0Y2gKLVBhdGNoMTI6 IGdjYzQ5LW5vLWFkZC1uZWVkZWQucGF0Y2gKLVBhdGNoMTM6IGdjYzQ5LWNvbG9yLWF1dG8ucGF0 Y2gKLVBhdGNoMTQ6IGdjYzQ5LWxpYmdvLXAyMjQucGF0Y2gKLVBhdGNoMTU6IGdjYzQ5LWFhcmNo NjQtYXN5bmMtdW53LXRhYmxlcy5wYXRjaAotUGF0Y2gxNjogZ2NjNDktYWFyY2g2NC11bndpbmQt b3B0LnBhdGNoCi1QYXRjaDE3OiBnY2M0OS1wcjY0MzM2LnBhdGNoCi1QYXRjaDE4OiBnY2M0OS1w cjY0NTM2LnBhdGNoCi0KLVBhdGNoMTEwMDogY2xvb2ctJXtjbG9vZ192ZXJzaW9ufS1wcGM2NGxl LWNvbmZpZy5wYXRjaAorUGF0Y2gwOiBnY2M1LWhhY2sucGF0Y2gKK1BhdGNoMTogZ2NjNS1qYXZh LW5vbXVsdGkucGF0Y2gKK1BhdGNoMjogZ2NjNS1wcGMzMi1yZXRhZGRyLnBhdGNoCitQYXRjaDM6 IGdjYzUtcmgzMzA3NzEucGF0Y2gKK1BhdGNoNDogZ2NjNS1pMzg2LWxpYmdvbXAucGF0Y2gKK1Bh dGNoNTogZ2NjNS1zcGFyYy1jb25maWctZGV0ZWN0aW9uLnBhdGNoCitQYXRjaDY6IGdjYzUtbGli Z29tcC1vbXBfaC1tdWx0aWxpYi5wYXRjaAorUGF0Y2g3OiBnY2M1LWxpYnRvb2wtbm8tcnBhdGgu cGF0Y2gKK1BhdGNoODogZ2NjNS1pc2wtZGwucGF0Y2gKK1BhdGNoMTA6IGdjYzUtbGlic3RkYysr LWRvY3MucGF0Y2gKK1BhdGNoMTE6IGdjYzUtbm8tYWRkLW5lZWRlZC5wYXRjaAorUGF0Y2gxMjog Z2NjNS1saWJnby1wMjI0LnBhdGNoCitQYXRjaDEzOiBnY2M1LWFhcmNoNjQtYXN5bmMtdW53LXRh Ymxlcy5wYXRjaAorUGF0Y2gxNDogZ2NjNS1saWJzYW5pdGl6ZS1hYXJjaDY0LXZhNDIucGF0Y2gK K1BhdGNoMTU6IGdjYzUtcHBjLWppdC5wYXRjaAorUGF0Y2gxNjogZ2NjNS1wcjY0NzM4LnBhdGNo CiAKICMgT24gQVJNIEVBQkkgc3lzdGVtcywgd2UgZG8gd2FudCAtZ251ZWFiaSB0byBiZSBwYXJ0 IG9mIHRoZQogIyB0YXJnZXQgdHJpcGxlLgpAQCAtMjIwLDExICsyMTcsMTEgQEAgUGF0Y2gxMTAw OiBjbG9vZy0le2Nsb29nX3ZlcnNpb259LXBwYzY0bGUtY29uZmlnLnBhdGNoCiAlZW5kaWYKIAog JWRlc2NyaXB0aW9uCi1UaGUgZ2NjIHBhY2thZ2UgY29udGFpbnMgdGhlIEdOVSBDb21waWxlciBD b2xsZWN0aW9uIHZlcnNpb24gNC45LgorVGhlIGdjYyBwYWNrYWdlIGNvbnRhaW5zIHRoZSBHTlUg Q29tcGlsZXIgQ29sbGVjdGlvbiB2ZXJzaW9uIDUuCiBZb3UnbGwgbmVlZCB0aGlzIHBhY2thZ2Ug aW4gb3JkZXIgdG8gY29tcGlsZSBDIGNvZGUuCiAKICVwYWNrYWdlIC1uIGxpYmdjYwotU3VtbWFy eTogR0NDIHZlcnNpb24gNC45IHNoYXJlZCBzdXBwb3J0IGxpYnJhcnkKK1N1bW1hcnk6IEdDQyB2 ZXJzaW9uIDUgc2hhcmVkIHN1cHBvcnQgbGlicmFyeQogR3JvdXA6IFN5c3RlbSBFbnZpcm9ubWVu dC9MaWJyYXJpZXMKIEF1dG9yZXE6IGZhbHNlCiAlaWYgISV7YnVpbGRfYWRhfQpAQCAtMzc1LDYg KzM3MiwzMyBAQCBSZXF1aXJlcyhwcmV1bik6IC9zYmluL2luc3RhbGwtaW5mbwogVGhpcyBwYWNr YWdlIGNvbnRhaW5zIEdDQyBzaGFyZWQgc3VwcG9ydCBsaWJyYXJ5IHdoaWNoIGlzIG5lZWRlZAog Zm9yIE9wZW5NUCB2My4wIHN1cHBvcnQuCiAKKyVwYWNrYWdlIGdkYi1wbHVnaW4KK1N1bW1hcnk6 IEdDQyBwbHVnaW4gZm9yIEdEQgorR3JvdXA6IERldmVsb3BtZW50L0RlYnVnZ2VycworUmVxdWly ZXM6IGdjYyA9ICV7dmVyc2lvbn0tJXtyZWxlYXNlfQorCislZGVzY3JpcHRpb24gZ2RiLXBsdWdp bgorVGhpcyBwYWNrYWdlIGNvbnRhaW5zIEdDQyBwbHVnaW4gZm9yIEdEQiBDIGV4cHJlc3Npb24g ZXZhbHVhdGlvbi4KKworJXBhY2thZ2UgLW4gbGliZ2Njaml0CitTdW1tYXJ5OiBMaWJyYXJ5IGZv ciBlbWJlZGRpbmcgR0NDIGluc2lkZSBwcm9ncmFtcyBhbmQgbGlicmFyaWVzCitHcm91cDogU3lz dGVtIEVudmlyb25tZW50L0xpYnJhcmllcworUmVxdWlyZXM6IGdjYyA9ICV7dmVyc2lvbn0tJXty ZWxlYXNlfQorCislZGVzY3JpcHRpb24gLW4gbGliZ2Njaml0CitUaGlzIHBhY2thZ2UgY29udGFp bnMgc2hhcmVkIGxpYnJhcnkgd2l0aCBHQ0MgSklUIGZyb250LWVuZC4KKworJXBhY2thZ2UgLW4g bGliZ2Njaml0LWRldmVsCitTdW1tYXJ5OiBTdXBwb3J0IGZvciBlbWJlZGRpbmcgR0NDIGluc2lk ZSBwcm9ncmFtcyBhbmQgbGlicmFyaWVzCitHcm91cDogRGV2ZWxvcG1lbnQvTGlicmFyaWVzCitC dWlsZFJlcXVpcmVzOiBweXRob24tc3BoaW54CitSZXF1aXJlczogbGliZ2Njaml0ID0gJXt2ZXJz aW9ufS0le3JlbGVhc2V9CitSZXF1aXJlcyhwb3N0KTogL3NiaW4vaW5zdGFsbC1pbmZvCitSZXF1 aXJlcyhwcmV1bik6IC9zYmluL2luc3RhbGwtaW5mbworCislZGVzY3JpcHRpb24gLW4gbGliZ2Nj aml0LWRldmVsCitUaGlzIHBhY2thZ2UgY29udGFpbnMgaGVhZGVyIGZpbGVzIGFuZCBkb2N1bWVu dGF0aW9uIGZvciBHQ0MgSklUIGZyb250LWVuZC4KKwogJXBhY2thZ2UgLW4gbGlicXVhZG1hdGgK IFN1bW1hcnk6IEdDQyBfX2Zsb2F0MTI4IHNoYXJlZCBzdXBwb3J0IGxpYnJhcnkKIEdyb3VwOiBT eXN0ZW0gRW52aXJvbm1lbnQvTGlicmFyaWVzCkBAIC02MjAsNiArNjQ0LDggQEAgUmVxdWlyZXM6 IGxpYmdvID0gJXt2ZXJzaW9ufS0le3JlbGVhc2V9CiBSZXF1aXJlczogbGliZ28tZGV2ZWwgPSAl e3ZlcnNpb259LSV7cmVsZWFzZX0KIFJlcXVpcmVzKHBvc3QpOiAvc2Jpbi9pbnN0YWxsLWluZm8K IFJlcXVpcmVzKHByZXVuKTogL3NiaW4vaW5zdGFsbC1pbmZvCitSZXF1aXJlcyhwb3N0KTogJXtf c2JpbmRpcn0vdXBkYXRlLWFsdGVybmF0aXZlcworUmVxdWlyZXMocG9zdHVuKTogJXtfc2JpbmRp cn0vdXBkYXRlLWFsdGVybmF0aXZlcwogQXV0b3JlcTogdHJ1ZQogCiAlZGVzY3JpcHRpb24gZ28K QEAgLTY2OSw3ICs2OTUsNyBAQCBub3Qgc3RhYmxlLCBzbyBwbHVnaW5zIG11c3QgYmUgcmVidWls dCBhbnkgdGltZSBHQ0MgaXMgdXBkYXRlZC4KICVkZWZpbmUgZGVidWdfcGFja2FnZSAle25pbH0K ICVnbG9iYWwgX19kZWJ1Z19wYWNrYWdlIDEKICVnbG9iYWwgX19kZWJ1Z19pbnN0YWxsX3Bvc3Qg XAotICAgJXtfcnBtY29uZmlnZGlyfS9maW5kLWRlYnVnaW5mby5zaCAlez9fbWlzc2luZ19idWls ZF9pZHNfdGVybWluYXRlX2J1aWxkOi0tc3RyaWN0LWJ1aWxkLWlkfSAlez9fZmluZF9kZWJ1Z2lu Zm9fb3B0c30gIiV7X2J1aWxkZGlyfS9nY2MtJXt2ZXJzaW9ufS0le0RBVEV9IlwKKyAgIFBBVEg9 JXtfYnVpbGRkaXJ9L2djYy0le3ZlcnNpb259LSV7REFURX0vZHd6LXdyYXBwZXIvOiRQQVRIICV7 X3JwbWNvbmZpZ2Rpcn0vZmluZC1kZWJ1Z2luZm8uc2ggJXs/X21pc3NpbmdfYnVpbGRfaWRzX3Rl cm1pbmF0ZV9idWlsZDotLXN0cmljdC1idWlsZC1pZH0gJXs/X2ZpbmRfZGVidWdpbmZvX2R3el9v cHRzfSAlez9fZmluZF9kZWJ1Z2luZm9fb3B0c30gIiV7X2J1aWxkZGlyfS9nY2MtJXt2ZXJzaW9u fS0le0RBVEV9IlwKICAgICAle19idWlsZGRpcn0vZ2NjLSV7dmVyc2lvbn0tJXtEQVRFfS9zcGxp dC1kZWJ1Z2luZm8uc2hcCiAle25pbH0KIApAQCAtNzAzLDcgKzcyOSw3IEBAIHBhY2thZ2Ugb3Ig d2hlbiBkZWJ1Z2dpbmcgdGhpcyBwYWNrYWdlLgogJWVuZGlmCiAKICVwcmVwCi0lc2V0dXAgLXEg LW4gZ2NjLSV7dmVyc2lvbn0tJXtEQVRFfSAtYSAxIC1hIDIKKyVzZXR1cCAtcSAtbiBnY2MtJXt2 ZXJzaW9ufS0le0RBVEV9CiAlcGF0Y2gwIC1wMCAtYiAuaGFja34KICVwYXRjaDEgLXAwIC1iIC5q YXZhLW5vbXVsdGl+CiAlcGF0Y2gyIC1wMCAtYiAucHBjMzItcmV0YWRkcn4KQEAgLTcxMiwyNiAr NzM4LDUzIEBAIHBhY2thZ2Ugb3Igd2hlbiBkZWJ1Z2dpbmcgdGhpcyBwYWNrYWdlLgogJXBhdGNo NSAtcDAgLWIgLnNwYXJjLWNvbmZpZy1kZXRlY3Rpb25+CiAlcGF0Y2g2IC1wMCAtYiAubGliZ29t cC1vbXBfaC1tdWx0aWxpYn4KICVwYXRjaDcgLXAwIC1iIC5saWJ0b29sLW5vLXJwYXRofgotJWlm ICV7YnVpbGRfY2xvb2d9Ci0lcGF0Y2g4IC1wMCAtYiAuY2xvb2ctZGx+Ci0lcGF0Y2g5IC1wMCAt YiAuY2xvb2ctZGwyfgorJWlmICV7YnVpbGRfaXNsfQorJXBhdGNoOCAtcDAgLWIgLmlzbC1kbH4K ICVlbmRpZgotJXBhdGNoMTAgLXAwIC1iIC5wcjM4NzU3fgogJWlmICV7YnVpbGRfbGlic3RkY3h4 X2RvY3N9Ci0lcGF0Y2gxMSAtcDAgLWIgLmxpYnN0ZGMrKy1kb2NzfgotJWVuZGlmCi0lcGF0Y2gx MiAtcDAgLWIgLm5vLWFkZC1uZWVkZWR+Ci0laWYgMCV7P2ZlZG9yYX0gPj0gMjAgfHwgMCV7P3Jo ZWx9ID49IDcKLSVwYXRjaDEzIC1wMCAtYiAuY29sb3ItYXV0b34KKyVwYXRjaDEwIC1wMCAtYiAu bGlic3RkYysrLWRvY3N+CiAlZW5kaWYKLSVwYXRjaDE0IC1wMCAtYiAubGliZ28tcDIyNH4KKyVw YXRjaDExIC1wMCAtYiAubm8tYWRkLW5lZWRlZH4KKyVwYXRjaDEyIC1wMCAtYiAubGliZ28tcDIy NH4KIHJtIC1mIGxpYmdvL2dvL2NyeXB0by9lbGxpcHRpYy9wMjI0eyxfdGVzdH0uZ28KLSVwYXRj aDE1IC1wMCAtYiAuYWFyY2g2NC1hc3luYy11bnctdGFibGVzfgotJXBhdGNoMTYgLXAwIC1iIC5h YXJjaDY0LXVud2luZC1vcHR+Ci0lcGF0Y2gxNyAtcDAgLWIgLnByNjQzMzZ+Ci0lcGF0Y2gxOCAt cDAgLWIgLnByNjQ1MzZ+CislcGF0Y2gxMyAtcDAgLWIgLmFhcmNoNjQtYXN5bmMtdW53LXRhYmxl c34KKyVwYXRjaDE0IC1wMCAtYiAubGlic2FuaXRpemUtYWFyY2g2NC12YTQyfgorJXBhdGNoMTUg LXAwIC1iIC5wcGMtaml0fgorJXBhdGNoMTYgLXAwIC1iIC5wcjY0NzM4fgogCiAlaWYgMCV7P19l bmFibGVfZGVidWdfcGFja2FnZXN9Citta2RpciBkd3otd3JhcHBlcgoraWYgWyAtZiAvdXNyL2Jp bi9kd3ogXTsgdGhlbgorY2F0ID4gZHd6LXdyYXBwZXIvZHd6IDw8XEVPRgorIyEvYmluL2Jhc2gK K2R3el9vcHRzPQorZHd6bV9vcHRzPQorZHd6X2ZpbGVzPQorZHd6bV9maWxlcz0KK3doaWxlIFsg JCMgLWd0IDAgXTsgZG8KKyAgY2FzZSAiJDEiIGluCisgIC1sfC1MKQorICAgIGR3el9vcHRzPSIk ZHd6X29wdHMgJDEgJDIiOyBzaGlmdDs7CisgIC1tfC1NKQorICAgIGR3em1fb3B0cz0iJGR3em1f b3B0cyAkMSAkMiI7IHNoaWZ0OzsKKyAgLSopCisgICAgZHd6X29wdHM9IiRkd3pfb3B0cyAkMSI7 OworICAqKQorICAgIGlmIFtbICIkMSIgPX4gKGxpYlswLTldKi9saWIoZ2NjW18uXXxnb21wfHN0 ZGN8cXVhZG1hdGh8aXRtfGdvXC5zbyl8YmluL2dvZm10LmdjYy5kZWJ1Z3xiaW4vZ28uZ2NjLmRl YnVnfC9jZ28uZGVidWcpIF1dOyB0aGVuCisgICAgICBkd3pfZmlsZXM9IiRkd3pfZmlsZXMgJDEi CisgICAgZWxzZQorICAgICAgZHd6bV9maWxlcz0iJGR3em1fZmlsZXMgJDEiCisgICAgZmk7Owor ICBlc2FjCisgIHNoaWZ0Citkb25lCitpZiBbIC1mIC91c3IvYmluL2R3eiBdOyB0aGVuCisgIC91 c3IvYmluL2R3eiAkZHd6X29wdHMgJGR3el9maWxlcworICAvdXNyL2Jpbi9kd3ogJGR3el9vcHRz ICRkd3ptX29wdHMgJGR3em1fZmlsZXMKK2ZpCitFT0YKK2NobW9kIDc1NSBkd3otd3JhcHBlci9k d3oKK2ZpCiBjYXQgPiBzcGxpdC1kZWJ1Z2luZm8uc2ggPDxcRU9GCiAjIS9iaW4vc2gKIEJVSUxE RElSPSIle19idWlsZGRpcn0vZ2NjLSV7dmVyc2lvbn0tJXtEQVRFfSIKQEAgLTc0MSw3ICs3OTQs NyBAQCBpZiBbIC1mICIke0JVSUxERElSfSIvZGVidWdmaWxlcy5saXN0IFwKICAgPiAiJHtCVUlM RERJUn0iL2RlYnVnZmlsZXMtYmFzZS5saXN0CiAgIGNkICIke1JQTV9CVUlMRF9ST09UfSIKICAg Zm9yIGYgaW4gYGZpbmQgdXNyL2xpYi9kZWJ1ZyAtbmFtZSBcKi5kZWJ1ZyBcCi0JICAgIHwgZWdy ZXAgJ2xpYlswLTldKi9saWIoZ2NjfGdvbXB8c3RkY3xxdWFkbWF0aHxpdG0pJ2A7IGRvCisJICAg IHwgZWdyZXAgJ2xpYlswLTldKi9saWIoZ2NjW18uXXxnb21wfHN0ZGN8cXVhZG1hdGh8aXRtKSdg OyBkbwogICAgIGVjaG8gIi8kZiIgPj4gIiR7QlVJTERESVJ9Ii9kZWJ1Z2ZpbGVzLWJhc2UubGlz dAogICAgIGlmIFsgLWYgIiRmIiAtYSAhIC1MICIkZiIgXTsgdGhlbgogICAgICAgY3AgLWEgIiRm IiAiJHtCVUlMRERJUn0iL3Rlc3QuZGVidWcKQEAgLTc1MiwxMCArODA1LDMyIEBAIGlmIFsgLWYg IiR7QlVJTERESVJ9Ii9kZWJ1Z2ZpbGVzLmxpc3QgXAogICAgIGZpCiAgIGRvbmUKICAgZm9yIGYg aW4gYGZpbmQgdXNyL2xpYi9kZWJ1Zy8uYnVpbGQtaWQgLXR5cGUgbGA7IGRvCi0gICAgbHMgLWwg IiRmIiB8IGVncmVwIC1xIC0tICctPi4qbGliWzAtOV0qL2xpYihnY2N8Z29tcHxzdGRjfHF1YWRt YXRofGl0bSknIFwKKyAgICBscyAtbCAiJGYiIHwgZWdyZXAgLXEgLS0gJy0+LipsaWJbMC05XSov bGliKGdjY1tfLl18Z29tcHxzdGRjfHF1YWRtYXRofGl0bSknIFwKICAgICAgICYmIGVjaG8gIi8k ZiIgPj4gIiR7QlVJTERESVJ9Ii9kZWJ1Z2ZpbGVzLWJhc2UubGlzdAogICBkb25lCi0gIGdyZXAg LXYgLWYgIiR7QlVJTERESVJ9Ii9kZWJ1Z2ZpbGVzLWJhc2UubGlzdCBcCisgIGNwIC1hICIke0JV SUxERElSfSIvZGVidWdmaWxlcy1iYXNlLmxpc3QgIiR7QlVJTERESVJ9Ii9kZWJ1Z2ZpbGVzLXJl bW92ZS5saXN0CislaWYgJXtidWlsZF9nb30KKyAgbGliZ29zbz1gYmFzZW5hbWUgLiV7X3ByZWZp eH0vJXtfbGlifS9saWJnby5zby43LipgCisgIGZvciBmIGluICV7X3ByZWZpeH0vYmluL2dvLmdj YyBcCisJICAgJXtfcHJlZml4fS9iaW4vZ29mbXQuZ2NjIFwKKwkgICAle19wcmVmaXh9L2xpYmV4 ZWMvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0vJXtnY2NfdmVyc2lvbn0vY2dvIFwKKwkgICAl e19wcmVmaXh9LyV7X2xpYn0vJGxpYmdvc28gOyBkbworICAgIGV1LXVuc3RyaXAgLiRmIHVzci9s aWIvZGVidWckZi5kZWJ1ZyAtbyAuJGYubmV3CisgICAgY2htb2QgLS1yZWZlcmVuY2U9LiRmIC4k Zi5uZXcKKyAgICBtdiAtZiAuJGYubmV3IC4kZgorICAgIHJtIC1mIHVzci9saWIvZGVidWckZi5k ZWJ1ZworICAgIGVjaG8gIi91c3IvbGliL2RlYnVnJGYuZGVidWciID4+ICIke0JVSUxERElSfSIv ZGVidWdmaWxlcy1yZW1vdmUubGlzdAorICBkb25lCisgIHJtIC1mIHVzci9saWIvZGVidWcle19w cmVmaXh9LyV7X2xpYn0vbGliZ28uc28uNy5kZWJ1ZworICBlY2hvICIvdXNyL2xpYi9kZWJ1ZyV7 X3ByZWZpeH0vJXtfbGlifS9saWJnby5zby43LmRlYnVnIiA+PiAiJHtCVUlMRERJUn0iL2RlYnVn ZmlsZXMtcmVtb3ZlLmxpc3QKKyAgZm9yIGYgaW4gYGZpbmQgdXNyL2xpYi9kZWJ1Zy8uYnVpbGQt aWQgLXR5cGUgbGA7IGRvCisgICAgaWYgbHMgLWwgIiRmIiB8IGVncmVwIC1xIC0tICctPi4qKC9i aW4vZ28uZ2NjfC9iaW4vZ29mbXQuZ2NjfC9jZ298bGliWzAtOV0qL2xpYmdvXC5zbyknOyB0aGVu CisgICAgICBlY2hvICIvJGYiID4+ICIke0JVSUxERElSfSIvZGVidWdmaWxlcy1yZW1vdmUubGlz dAorICAgICAgcm0gLWYgIiRmIgorICAgIGZpCisgIGRvbmUKKyVlbmRpZgorICBncmVwIC12IC1m ICIke0JVSUxERElSfSIvZGVidWdmaWxlcy1yZW1vdmUubGlzdCBcCiAgICAgIiR7QlVJTERESVJ9 Ii9kZWJ1Z2ZpbGVzLmxpc3QgPiAiJHtCVUlMRERJUn0iL2RlYnVnZmlsZXMubGlzdC5uZXcKICAg bXYgLWYgIiR7QlVJTERESVJ9Ii9kZWJ1Z2ZpbGVzLmxpc3QubmV3ICIke0JVSUxERElSfSIvZGVi dWdmaWxlcy5saXN0CiAgIGZvciBmIGluIGBMQ19BTEw9QyBzb3J0IC16IC11ICIke0JVSUxERElS fSIvZGVidWdzb3VyY2VzLWJhc2UubGlzdCBcCkBAIC03NzgsNDAgKzg1MywxNiBAQCBFT0YKIGNo bW9kIDc1NSBzcGxpdC1kZWJ1Z2luZm8uc2gKICVlbmRpZgogCi0lcGF0Y2gxMTAwIC1wMCAtYiAu Y2xvb2ctcHBjNjRsZS1jb25maWd+Ci0KLXNlZCAtaSAtZSAncy80XC45XC4zLzQuOS4yLycgZ2Nj L0JBU0UtVkVSCiBlY2hvICdSZWQgSGF0ICV7dmVyc2lvbn0tJXtnY2NfcmVsZWFzZX0nID4gZ2Nj L0RFVi1QSEFTRQogCi0laWYgMCV7P2ZlZG9yYX0gPj0gMTYgfHwgMCV7P3JoZWx9ID49IDcKLSMg RGVmYXVsdCB0byAtZ2R3YXJmLTQgLWZuby1kZWJ1Zy10eXBlcy1zZWN0aW9uIHJhdGhlciB0aGFu IC1nZHdhcmYtMgotc2VkIC1pICcvVUludGVnZXIgVmFyKGR3YXJmX3ZlcnNpb24pL3MvSW5pdCgy KS9Jbml0KDQpLycgZ2NjL2NvbW1vbi5vcHQKLXNlZCAtaSAnL2ZsYWdfZGVidWdfdHlwZXNfc2Vj dGlvbi9zL0luaXQoMSkvSW5pdCgwKS8nIGdjYy9jb21tb24ub3B0Ci1zZWQgLWkgJy9kd2FyZl9y ZWNvcmRfZ2NjX3N3aXRjaGVzL3MvSW5pdCgwKS9Jbml0KDEpLycgZ2NjL2NvbW1vbi5vcHQKLXNl ZCAtaSAncy9cKG1heSBiZSBlaXRoZXIgMiwgMyBvciA0OyB0aGUgZGVmYXVsdCB2ZXJzaW9uIGlz IFwpMlwuL1wxNC4vJyBnY2MvZG9jL2ludm9rZS50ZXhpCi0lZWxzZQotIyBEZWZhdWx0IHRvIC1n ZHdhcmYtMyByYXRoZXIgdGhhbiAtZ2R3YXJmLTIKLXNlZCAtaSAnL1VJbnRlZ2VyIFZhcihkd2Fy Zl92ZXJzaW9uKS9zL0luaXQoMikvSW5pdCgzKS8nIGdjYy9jb21tb24ub3B0Ci1zZWQgLWkgJ3Mv XChtYXkgYmUgZWl0aGVyIDIsIDMgb3IgNDsgdGhlIGRlZmF1bHQgdmVyc2lvbiBpcyBcKTJcLi9c MTMuLycgZ2NjL2RvYy9pbnZva2UudGV4aQotc2VkIC1pICdzLyNkZWZpbmVbWzpibGFuazpdXSpF TUlUX0VOVFJZX1ZBTFVFW1s6Ymxhbms6XV0uKiQvI2RlZmluZSBFTUlUX0VOVFJZX1ZBTFVFIDAv JyBnY2Mve3Zhci10cmFja2luZyxkd2FyZjJvdXR9LmMKLXNlZCAtaSAncy8jZGVmaW5lW1s6Ymxh bms6XV0qRU1JVF9UWVBFRF9EV0FSRl9TVEFDS1tbOmJsYW5rOl1dLiokLyNkZWZpbmUgRU1JVF9U WVBFRF9EV0FSRl9TVEFDSyAwLycgZ2NjL2R3YXJmMm91dC5jCi1zZWQgLWkgJ3MvI2RlZmluZVtb OmJsYW5rOl1dKkVNSVRfREVCVUdfTUFDUk9bWzpibGFuazpdXS4qJC8jZGVmaW5lIEVNSVRfREVC VUdfTUFDUk8gMC8nIGdjYy9kd2FyZjJvdXQuYwotJWVuZGlmCi0KIGNwIC1hIGxpYnN0ZGMrKy12 My9jb25maWcvY3B1L2l7NCwzfTg2L2F0b21pY2l0eS5oCiAKLSMgSGFjayB0byBhdm9pZCBidWls ZGluZyBtdWx0aWxpYiBsaWJqYXZhCi1wZXJsIC1waSAtZSAncy9eYWxsOiBhbGwtcmVkaXJlY3Qv aWZlcSAoXCQoTVVMVElTVUJESVIpLClcbmFsbDogYWxsLXJlZGlyZWN0XG5lbHNlXG5hbGw6XG5c dGVjaG8gTXVsdGlsaWIgbGliamF2YSBidWlsZCBkaXNhYmxlZFxuZW5kaWYvJyBsaWJqYXZhL01h a2VmaWxlLmluCi1wZXJsIC1waSAtZSAncy9eaW5zdGFsbDogaW5zdGFsbC1yZWRpcmVjdC9pZmVx IChcJChNVUxUSVNVQkRJUiksKVxuaW5zdGFsbDogaW5zdGFsbC1yZWRpcmVjdFxuZWxzZVxuaW5z dGFsbDpcblx0ZWNobyBNdWx0aWxpYiBsaWJqYXZhIGluc3RhbGwgZGlzYWJsZWRcbmVuZGlmLycg bGliamF2YS9NYWtlZmlsZS5pbgotcGVybCAtcGkgLWUgJ3MvXmNoZWNrOiBjaGVjay1yZWRpcmVj dC9pZmVxIChcJChNVUxUSVNVQkRJUiksKVxuY2hlY2s6IGNoZWNrLXJlZGlyZWN0XG5lbHNlXG5j aGVjazpcblx0ZWNobyBNdWx0aWxpYiBsaWJqYXZhIGNoZWNrIGRpc2FibGVkXG5lbmRpZi8nIGxp YmphdmEvTWFrZWZpbGUuaW4KLXBlcmwgLXBpIC1lICdzL15hbGw6IGFsbC1yZWN1cnNpdmUvaWZl cSAoXCQoTVVMVElTVUJESVIpLClcbmFsbDogYWxsLXJlY3Vyc2l2ZVxuZWxzZVxuYWxsOlxuXHRl Y2hvIE11bHRpbGliIGxpYmphdmEgYnVpbGQgZGlzYWJsZWRcbmVuZGlmLycgbGliamF2YS9NYWtl ZmlsZS5pbgotcGVybCAtcGkgLWUgJ3MvXmluc3RhbGw6IGluc3RhbGwtcmVjdXJzaXZlL2lmZXEg KFwkKE1VTFRJU1VCRElSKSwpXG5pbnN0YWxsOiBpbnN0YWxsLXJlY3Vyc2l2ZVxuZWxzZVxuaW5z dGFsbDpcblx0ZWNobyBNdWx0aWxpYiBsaWJqYXZhIGluc3RhbGwgZGlzYWJsZWRcbmVuZGlmLycg bGliamF2YS9NYWtlZmlsZS5pbgotcGVybCAtcGkgLWUgJ3MvXmNoZWNrOiBjaGVjay1yZWN1cnNp dmUvaWZlcSAoXCQoTVVMVElTVUJESVIpLClcbmNoZWNrOiBjaGVjay1yZWN1cnNpdmVcbmVsc2Vc bmNoZWNrOlxuXHRlY2hvIE11bHRpbGliIGxpYmphdmEgY2hlY2sgZGlzYWJsZWRcbmVuZGlmLycg bGliamF2YS9NYWtlZmlsZS5pbgotCiAuL2NvbnRyaWIvZ2NjX3VwZGF0ZSAtLXRvdWNoCiAKIExD X0FMTD1DIHNlZCAtaSAtZSAncy9ceGEwLyAvJyBnY2MvZG9jL29wdGlvbnMudGV4aQogCitzZWQg LWkgLWUgJ3MvQ29tbW9uIERyaXZlciBWYXIoZmxhZ19yZXBvcnRfYnVnKS8mIEluaXQoMSkvJyBn Y2MvY29tbW9uLm9wdAorCiAlaWZhcmNoIHBwYwogaWYgWyAtZCBsaWJzdGRjKystdjMvY29uZmln L2FiaS9wb3N0L3Bvd2VycGM2NC1saW51eC1nbnUgXTsgdGhlbgogICBta2RpciAtcCBsaWJzdGRj KystdjMvY29uZmlnL2FiaS9wb3N0L3Bvd2VycGM2NC1saW51eC1nbnUvNjQKQEAgLTg0MSw0OSAr ODkyLDggQEAgcm0gLWZyIG9iai0le2djY190YXJnZXRfcGxhdGZvcm19CiBta2RpciBvYmotJXtn Y2NfdGFyZ2V0X3BsYXRmb3JtfQogY2Qgb2JqLSV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0KIAotJWlm ICV7YnVpbGRfY2xvb2d9Ci1ta2RpciBpc2wtYnVpbGQgaXNsLWluc3RhbGwKLSVpZmFyY2ggczM5 MCBzMzkweAotSVNMX0ZMQUdfUElDPS1mUElDCi0lZWxzZQotSVNMX0ZMQUdfUElDPS1mcGljCi0l ZW5kaWYKLWNkIGlzbC1idWlsZAotLi4vLi4vaXNsLSV7aXNsX3ZlcnNpb259L2NvbmZpZ3VyZSAt LWRpc2FibGUtc2hhcmVkIFwKLSAgQ0M9L3Vzci9iaW4vZ2NjIENYWD0vdXNyL2Jpbi9nKysgXAot ICBDRkxBR1M9IiR7Q0ZMQUdTOi0lb3B0ZmxhZ3N9ICRJU0xfRkxBR19QSUMiIC0tcHJlZml4PWBj ZCAuLjsgcHdkYC9pc2wtaW5zdGFsbAotbWFrZSAlez9fc21wX21mbGFnc30KLW1ha2UgaW5zdGFs bAotY2QgLi4KLQotbWtkaXIgY2xvb2ctYnVpbGQgY2xvb2ctaW5zdGFsbAotY2QgY2xvb2ctYnVp bGQKLWNhdCA+PiAuLi8uLi9jbG9vZy0le2Nsb29nX3ZlcnNpb259L3NvdXJjZS9pc2wvY29uc3Ry YWludHMuYyA8PCBcRU9GCi0jaW5jbHVkZSA8aXNsL2Zsb3cuaD4KLXN0YXRpYyB2b2lkIF9fYXR0 cmlidXRlX18oKHVzZWQpKSAqczEgPSAodm9pZCAqKSBpc2xfdW5pb25fbWFwX2NvbXB1dGVfZmxv dzsKLXN0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKHVzZWQpKSAqczIgPSAodm9pZCAqKSBpc2xf bWFwX2R1bXA7Ci1FT0YKLXNlZCAtaSAnc3xsaWJjbG9vZ3xsaWJnY2M0OXByaXZhdGVjbG9vZ3xn JyBcCi0gIC4uLy4uL2Nsb29nLSV7Y2xvb2dfdmVyc2lvbn0veyx0ZXN0L31NYWtlZmlsZS57YW0s aW59Ci1pc2xfcHJlZml4PWBjZCAuLi9pc2wtaW5zdGFsbDsgcHdkYCBcCi0uLi8uLi9jbG9vZy0l e2Nsb29nX3ZlcnNpb259L2NvbmZpZ3VyZSAtLXdpdGgtaXNsPXN5c3RlbSBcCi0gIC0td2l0aC1p c2wtcHJlZml4PWBjZCAuLi9pc2wtaW5zdGFsbDsgcHdkYCBcCi0gIENDPS91c3IvYmluL2djYyBD WFg9L3Vzci9iaW4vZysrIFwKLSAgQ0ZMQUdTPSIke0NGTEFHUzotJW9wdGZsYWdzfSIgQ1hYRkxB R1M9IiR7Q1hYRkxBR1M6LSVvcHRmbGFnc30iIFwKLSAgIC0tcHJlZml4PWBjZCAuLjsgcHdkYC9j bG9vZy1pbnN0YWxsCi1zZWQgLWkgJ3N8XmhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9Lip8aGFy ZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0iInxnJyBsaWJ0b29sCi1zZWQgLWkgJ3N8XnJ1bnBhdGhf dmFyPUxEX1JVTl9QQVRIfHJ1bnBhdGhfdmFyPURJRV9SUEFUSF9ESUV8ZycgbGlidG9vbAotbWFr ZSAlez9fc21wX21mbGFnc30KLW1ha2UgJXs/X3NtcF9tZmxhZ3N9IGluc3RhbGwKLWNkIC4uL2Ns b29nLWluc3RhbGwvbGliCi1ybSBsaWJnY2M0OXByaXZhdGVjbG9vZy1pc2wuc297LC40fQotbXYg bGliZ2NjNDlwcml2YXRlY2xvb2ctaXNsLnNvLjQuMC4wIGxpYmNsb29nLWlzbC5zby40Ci1sbiAt c2YgbGliY2xvb2ctaXNsLnNvLjQgbGliY2xvb2ctaXNsLnNvCi1sbiAtc2YgbGliY2xvb2ctaXNs LnNvLjQgbGliY2xvb2cuc28KLWNkIC4uLy4uCi0lZW5kaWYKLQogQ0M9Z2NjCitDWFg9ZysrCiBP UFRfRkxBR1M9YGVjaG8gJXtvcHRmbGFnc318c2VkIC1lICdzL1woLVdwLFwpXD8tRF9GT1JUSUZZ X1NPVVJDRT1bMTJdLy9nJ2AKIE9QVF9GTEFHUz1gZWNobyAkT1BUX0ZMQUdTfHNlZCAtZSAncy8t bTY0Ly9nO3MvLW0zMi8vZztzLy1tMzEvL2cnYAogT1BUX0ZMQUdTPWBlY2hvICRPUFRfRkxBR1N8 c2VkIC1lICdzLy1tZnBtYXRoPXNzZS8tbWZwbWF0aD1zc2UgLW1zc2UyL2cnYApAQCAtODk0LDI0 ICs5MDQsNiBAQCBPUFRfRkxBR1M9YGVjaG8gJE9QVF9GTEFHU3xzZWQgLWUgJ3MvLW1jcHU9dWx0 cmFzcGFyYy8tbXR1bmU9dWx0cmFzcGFyYy9nO3MvLW1jcAogJWlmYXJjaCAle2l4ODZ9CiBPUFRf RkxBR1M9YGVjaG8gJE9QVF9GTEFHU3xzZWQgLWUgJ3MvLW1hcmNoPWkuODYvL2cnYAogJWVuZGlm Ci0laWZhcmNoIHNwYXJjNjQKLWNhdCA+IGdjYzY0IDw8IkVPRiIKLSMhL2Jpbi9zaAotZXhlYyAv dXNyL2Jpbi9nY2MgLW02NCAiJEAiCi1FT0YKLWNobW9kICt4IGdjYzY0Ci1DQz1gcHdkYC9nY2M2 NAotJWVuZGlmCi0laWZhcmNoIHBwYzY0IHBwYzY0bGUgcHBjNjRwNwotaWYgZ2NjIC1tNjQgLXhj IC1TIC9kZXYvbnVsbCAtbyAtID4gL2Rldi9udWxsIDI+JjE7IHRoZW4KLSAgY2F0ID4gZ2NjNjQg PDwiRU9GIgotIyEvYmluL3NoCi1leGVjIC91c3IvYmluL2djYyAtbTY0ICIkQCIKLUVPRgotICBj aG1vZCAreCBnY2M2NAotICBDQz1gcHdkYC9nY2M2NAotZmkKLSVlbmRpZgogT1BUX0ZMQUdTPWBl Y2hvICIkT1BUX0ZMQUdTIiB8IHNlZCAtZSAncy9bWzpibGFuazpdXVwrLyAvZydgCiBjYXNlICIk T1BUX0ZMQUdTIiBpbgogICAqLWZhc3luY2hyb25vdXMtdW53aW5kLXRhYmxlcyopCkBAIC05Mjcs MTIgKzkxOSw5IEBAIGVuYWJsZWxhZGE9LGFkYQogJWlmICV7YnVpbGRfZ299CiBlbmFibGVsZ289 LGdvCiAlZW5kaWYKLUNDPSIkQ0MiIENGTEFHUz0iJE9QVF9GTEFHUyIgXAotCUNYWEZMQUdTPSJg ZWNobyAiICRPUFRfRkxBR1MgIiB8IHNlZCAncy8gLVdhbGwgLyAvZztzLyAtZmV4Y2VwdGlvbnMg LyAvZycgXAotCQkgIHwgc2VkICdzLyAtV2Vycm9yPWZvcm1hdC1zZWN1cml0eSAvIC1XZm9ybWF0 IC1XZXJyb3I9Zm9ybWF0LXNlY3VyaXR5IC8nYCIgXAotCVhDRkxBR1M9IiRPUFRfRkxBR1MiIFRD RkxBR1M9IiRPUFRfRkxBR1MiIEdDSkZMQUdTPSIkT1BUX0ZMQUdTIiBcCi0JLi4vY29uZmlndXJl IC0tcHJlZml4PSV7X3ByZWZpeH0gLS1tYW5kaXI9JXtfbWFuZGlyfSAtLWluZm9kaXI9JXtfaW5m b2Rpcn0gXAotCS0td2l0aC1idWd1cmw9aHR0cDovL2J1Z3ppbGxhLnJlZGhhdC5jb20vYnVnemls bGEgLS1lbmFibGUtYm9vdHN0cmFwIFwKK0NPTkZJR1VSRV9PUFRTPSJcCisJLS1wcmVmaXg9JXtf cHJlZml4fSAtLW1hbmRpcj0le19tYW5kaXJ9IC0taW5mb2Rpcj0le19pbmZvZGlyfSBcCisJLS13 aXRoLWJ1Z3VybD1odHRwOi8vYnVnemlsbGEucmVkaGF0LmNvbS9idWd6aWxsYSBcCiAJLS1lbmFi bGUtc2hhcmVkIC0tZW5hYmxlLXRocmVhZHM9cG9zaXggLS1lbmFibGUtY2hlY2tpbmc9cmVsZWFz ZSBcCiAlaWZhcmNoIHBwYzY0bGUKIAktLWRpc2FibGUtbXVsdGlsaWIgXApAQCAtOTQxLDEzICs5 MzAsMTUgQEAgQ0M9IiRDQyIgQ0ZMQUdTPSIkT1BUX0ZMQUdTIiBcCiAlZW5kaWYKIAktLXdpdGgt c3lzdGVtLXpsaWIgLS1lbmFibGUtX19jeGFfYXRleGl0IC0tZGlzYWJsZS1saWJ1bndpbmQtZXhj ZXB0aW9ucyBcCiAJLS1lbmFibGUtZ251LXVuaXF1ZS1vYmplY3QgLS1lbmFibGUtbGlua2VyLWJ1 aWxkLWlkIC0td2l0aC1saW5rZXItaGFzaC1zdHlsZT1nbnUgXAotCS0tZW5hYmxlLWxhbmd1YWdl cz1jLGMrKyxvYmpjLG9iai1jKyssZm9ydHJhbiR7ZW5hYmxlbGFkYX0ke2VuYWJsZWxnb30sbHRv IFwKIAktLWVuYWJsZS1wbHVnaW4gLS1lbmFibGUtaW5pdGZpbmktYXJyYXkgXAogCS0tZGlzYWJs ZS1saWJnY2ogXAotJWlmICV7YnVpbGRfY2xvb2d9Ci0JLS13aXRoLWlzbD1gcHdkYC9pc2wtaW5z dGFsbCAtLXdpdGgtY2xvb2c9YHB3ZGAvY2xvb2ctaW5zdGFsbCBcCislaWYgMCV7ZmVkb3JhfSA+ PSAyMSAmJiAwJXtmZWRvcmF9IDw9IDIyCisJLS13aXRoLWRlZmF1bHQtbGlic3RkY3h4LWFiaT1j Kys5OCBcCislZW5kaWYKKyVpZiAle2J1aWxkX2lzbH0KKwktLXdpdGgtaXNsIFwKICVlbHNlCi0J LS13aXRob3V0LWlzbCAtLXdpdGhvdXQtY2xvb2cgXAorCS0td2l0aG91dC1pc2wgXAogJWVuZGlm CiAlaWYgMCV7P2ZlZG9yYX0gPj0gMjEgfHwgMCV7P3JoZWx9ID49IDcKICVpZiAle2F0dHJfaWZ1 bmN9CkBAIC05NzIsNyArOTYzLDcgQEAgQ0M9IiRDQyIgQ0ZMQUdTPSIkT1BUX0ZMQUdTIiBcCiAl aWZhcmNoIHNwYXJjIHNwYXJjdjkKIAktLWhvc3Q9JXtnY2NfdGFyZ2V0X3BsYXRmb3JtfSAtLWJ1 aWxkPSV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0gLS10YXJnZXQ9JXtnY2NfdGFyZ2V0X3BsYXRmb3Jt fSAtLXdpdGgtY3B1PXY3CiAlZW5kaWYKLSVpZmFyY2ggcHBjIHBwYzY0IHBwYzY0bGUgcHBjNjRw NworJWlmYXJjaCBwcGMgcHBjNjQgcHBjNjRwNwogJWlmIDAlez9yaGVsfSA+PSA3CiAJLS13aXRo LWNwdS0zMj1wb3dlcjcgLS13aXRoLXR1bmUtMzI9cG93ZXI3IC0td2l0aC1jcHUtNjQ9cG93ZXI3 IC0td2l0aC10dW5lLTY0PXBvd2VyNyBcCiAlZW5kaWYKQEAgLTk4MCw2ICs5NzEsMTQgQEAgQ0M9 IiRDQyIgQ0ZMQUdTPSIkT1BUX0ZMQUdTIiBcCiAJLS13aXRoLWNwdS0zMj1wb3dlcjQgLS13aXRo LXR1bmUtMzI9cG93ZXI2IC0td2l0aC1jcHUtNjQ9cG93ZXI0IC0td2l0aC10dW5lLTY0PXBvd2Vy NiBcCiAlZW5kaWYKICVlbmRpZgorJWlmYXJjaCBwcGM2NGxlCislaWYgMCV7P3JoZWx9ID49IDcK KwktLXdpdGgtY3B1LTMyPXBvd2VyOCAtLXdpdGgtdHVuZS0zMj1wb3dlcjggLS13aXRoLWNwdS02 ND1wb3dlcjggLS13aXRoLXR1bmUtNjQ9cG93ZXI4IFwKKyVlbmRpZgorJWlmIDAlez9mZWRvcmF9 ID4gMjEgJiYgMCV7P2ZlZG9yYX0gPCAyNAorCS0td2l0aC1jcHUtMzI9cG93ZXI3IC0td2l0aC10 dW5lLTMyPXBvd2VyOCAtLXdpdGgtY3B1LTY0PXBvd2VyNyAtLXdpdGgtdHVuZS02ND1wb3dlcjgg XAorJWVuZGlmCislZW5kaWYKICVpZmFyY2ggcHBjCiAJLS1idWlsZD0le2djY190YXJnZXRfcGxh dGZvcm19IC0tdGFyZ2V0PSV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0gLS13aXRoLWNwdT1kZWZhdWx0 MzIKICVlbmRpZgpAQCAtMTAwOSwyMiArMTAwOCw1MiBAQCBDQz0iJENDIiBDRkxBR1M9IiRPUFRf RkxBR1MiIFwKICVlbmRpZgogJWVuZGlmCiAlaWZhcmNoIGFybXY3aGwKLQktLXdpdGgtY3B1PWNv cnRleC1hOCAtLXdpdGgtdHVuZT1jb3J0ZXgtYTggLS13aXRoLWFyY2g9YXJtdjctYSBcCisJLS13 aXRoLXR1bmU9Y29ydGV4LWE4IC0td2l0aC1hcmNoPWFybXY3LWEgXAogCS0td2l0aC1mbG9hdD1o YXJkIC0td2l0aC1mcHU9dmZwdjMtZDE2IC0td2l0aC1hYmk9YWFwY3MtbGludXggXAogJWVuZGlm CiAlaWZuYXJjaCBzcGFyYyBzcGFyY3Y5IHBwYwotCS0tYnVpbGQ9JXtnY2NfdGFyZ2V0X3BsYXRm b3JtfQorCS0tYnVpbGQ9JXtnY2NfdGFyZ2V0X3BsYXRmb3JtfSBcCiAlZW5kaWYKKwkiCisKK0ND PSIkQ0MiIENYWD0iJENYWCIgQ0ZMQUdTPSIkT1BUX0ZMQUdTIiBcCisJQ1hYRkxBR1M9ImBlY2hv ICIgJE9QVF9GTEFHUyAiIHwgc2VkICdzLyAtV2FsbCAvIC9nO3MvIC1mZXhjZXB0aW9ucyAvIC9n JyBcCisJCSAgfCBzZWQgJ3MvIC1XZXJyb3I9Zm9ybWF0LXNlY3VyaXR5IC8gLVdmb3JtYXQgLVdl cnJvcj1mb3JtYXQtc2VjdXJpdHkgLydgIiBcCisJWENGTEFHUz0iJE9QVF9GTEFHUyIgVENGTEFH Uz0iJE9QVF9GTEFHUyIgXAorCS4uL2NvbmZpZ3VyZSAtLWVuYWJsZS1ib290c3RyYXAgXAorCS0t ZW5hYmxlLWxhbmd1YWdlcz1jLGMrKyxvYmpjLG9iai1jKyssZm9ydHJhbiR7ZW5hYmxlbGFkYX0k e2VuYWJsZWxnb30sbHRvIFwKKwkkQ09ORklHVVJFX09QVFMKIAotJWlmYXJjaCAle2FybX0gc3Bh cmMgc3BhcmN2OSBzcGFyYzY0Ci1HQ0pGTEFHUz0iJE9QVF9GTEFHUyIgbWFrZSAlez9fc21wX21m bGFnc30gQk9PVF9DRkxBR1M9IiRPUFRfRkxBR1MiIGJvb3RzdHJhcAorJWlmYXJjaCBzcGFyYyBz cGFyY3Y5IHNwYXJjNjQgYWFyY2g2NAorbWFrZSAlez9fc21wX21mbGFnc30gQk9PVF9DRkxBR1M9 IiRPUFRfRkxBR1MiIGJvb3RzdHJhcAogJWVsc2UKLUdDSkZMQUdTPSIkT1BUX0ZMQUdTIiBtYWtl ICV7P19zbXBfbWZsYWdzfSBCT09UX0NGTEFHUz0iJE9QVF9GTEFHUyIgcHJvZmlsZWRib290c3Ry YXAKK21ha2UgJXs/X3NtcF9tZmxhZ3N9IEJPT1RfQ0ZMQUdTPSIkT1BUX0ZMQUdTIiBwcm9maWxl ZGJvb3RzdHJhcAogJWVuZGlmCiAKLSVpZiAle2J1aWxkX2Nsb29nfQotY3AgLWEgY2xvb2ctaW5z dGFsbC9saWIvbGliY2xvb2ctaXNsLnNvLjQgZ2NjLwotJWVuZGlmCitDQz0iYCV7Z2NjX3Rhcmdl dF9wbGF0Zm9ybX0vbGlic3RkYysrLXYzL3NjcmlwdHMvdGVzdHN1aXRlX2ZsYWdzIC0tYnVpbGQt Y2NgIgorQ1hYPSJgJXtnY2NfdGFyZ2V0X3BsYXRmb3JtfS9saWJzdGRjKystdjMvc2NyaXB0cy90 ZXN0c3VpdGVfZmxhZ3MgLS1idWlsZC1jeHhgIGAle2djY190YXJnZXRfcGxhdGZvcm19L2xpYnN0 ZGMrKy12My9zY3JpcHRzL3Rlc3RzdWl0ZV9mbGFncyAtLWJ1aWxkLWluY2x1ZGVzYCIKKworIyBC dWlsZCBsaWJnY2NqaXQgc2VwYXJhdGVseSwgc28gdGhhdCBub3JtYWwgY29tcGlsZXIgYmluYXJp ZXMgYXJlbid0IC1mcGljCisjIHVubmVjZXNzYXJpbHkuCitta2RpciBvYmpsaWJnY2NqaXQKK2Nk IG9iamxpYmdjY2ppdAorQ0M9IiRDQyIgQ1hYPSIkQ1hYIiBDRkxBR1M9ImBlY2hvICRPUFRfRkxB R1MgfCBzZWQgJ3MvLVdlcnJvcj1mb3JtYXQtc2VjdXJpdHkvLydgIiBcCisJQ1hYRkxBR1M9ImBl Y2hvICIgJE9QVF9GTEFHUyAiIHwgc2VkICdzLyAtV2FsbCAvIC9nO3MvIC1mZXhjZXB0aW9ucyAv IC9nJyBcCisJCSAgfCBzZWQgJ3MvLVdlcnJvcj1mb3JtYXQtc2VjdXJpdHkvLydgIiBcCisJWENG TEFHUz0iJE9QVF9GTEFHUyIgVENGTEFHUz0iJE9QVF9GTEFHUyIgXAorCS4uLy4uL2NvbmZpZ3Vy ZSAtLWRpc2FibGUtYm9vdHN0cmFwIC0tZW5hYmxlLWhvc3Qtc2hhcmVkIFwKKwktLWVuYWJsZS1s YW5ndWFnZXM9aml0ICRDT05GSUdVUkVfT1BUUworbWFrZSAlez9fc21wX21mbGFnc30gQk9PVF9D RkxBR1M9IiRPUFRfRkxBR1MiIGFsbC1nY2MKK2NwIC1hIGdjYy9saWJnY2NqaXQuc28qIC4uL2dj Yy8KK2NkIC4uL2djYy8KK2xuIC1zZiB4Z2NjICV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0tZ2NjLSV7 dmVyc2lvbn0KK2NwIC1hIE1ha2VmaWxleywub3JpZ30KK3NlZCAtaSAtZSAnL15DSEVDS19UQVJH RVRTL3MvJC8gY2hlY2staml0LycgTWFrZWZpbGUKK3RvdWNoIC1yIE1ha2VmaWxlLm9yaWcgTWFr ZWZpbGUKK3JtIE1ha2VmaWxlLm9yaWcKK21ha2Ugaml0LnNwaGlueC5odG1sCittYWtlIGppdC5z cGhpbnguaW5zdGFsbC1odG1sIGppdF9odG1sZGlyPWBwd2RgLy4uLy4uL3JwbS5kb2MvbGliZ2Nj aml0LWRldmVsL2h0bWwKK2NkIC4uCiAKICMgTWFrZSBnZW5lcmF0ZWQgbWFuIHBhZ2VzIGV2ZW4g aWYgUG9kOjpNYW4gaXMgbm90IG5ldyBlbm91Z2gKIHBlcmwgLXBpIC1lICdzL2hlYWQzL2hlYWQy LycgLi4vY29udHJpYi90ZXhpMnBvZC5wbApAQCAtMTA0Niw5ICsxMDc1LDkgQEAgY2QgLi4vLi4K IGNkIC4uCiBta2RpciAtcCBycG0uZG9jL2dmb3J0cmFuIHJwbS5kb2Mvb2JqYwogbWtkaXIgLXAg cnBtLmRvYy9nbyBycG0uZG9jL2xpYmdvIHJwbS5kb2MvbGlicXVhZG1hdGggcnBtLmRvYy9saWJp dG0KLW1rZGlyIC1wIHJwbS5kb2MvY2hhbmdlbG9ncy97Z2NjL2NwLGdjYy9qYXZhLGdjYy9hZGEs bGlic3RkYysrLXYzLGxpYm9iamMsbGliZ29tcCxsaWJhdG9taWMsbGlic2FuaXRpemVyLGxpYmNp bGtydHN9Citta2RpciAtcCBycG0uZG9jL2NoYW5nZWxvZ3Mve2djYy9jcCxnY2MvamF2YSxnY2Mv YWRhLGdjYy9qaXQsbGlic3RkYysrLXYzLGxpYm9iamMsbGliZ29tcCxsaWJjYzEsbGliYXRvbWlj LGxpYnNhbml0aXplcixsaWJjaWxrcnRzfQogCi1mb3IgaSBpbiB7Z2NjLGdjYy9jcCxnY2MvamF2 YSxnY2MvYWRhLGxpYnN0ZGMrKy12MyxsaWJvYmpjLGxpYmdvbXAsbGliYXRvbWljLGxpYnNhbml0 aXplcixsaWJjaWxrcnRzfS9DaGFuZ2VMb2cqOyBkbworZm9yIGkgaW4ge2djYyxnY2MvY3AsZ2Nj L2phdmEsZ2NjL2FkYSxnY2Mvaml0LGxpYnN0ZGMrKy12MyxsaWJvYmpjLGxpYmdvbXAsbGliY2Mx LGxpYmF0b21pYyxsaWJzYW5pdGl6ZXIsbGliY2lsa3J0c30vQ2hhbmdlTG9nKjsgZG8KIAljcCAt cCAkaSBycG0uZG9jL2NoYW5nZWxvZ3MvJGkKIGRvbmUKIApAQCAtMTEwMiwxMCArMTEzMSw2IEBA IGNobW9kIDY0NCAle2J1aWxkcm9vdH0le19pbmZvZGlyfS9nbmF0KgogRlVMTFBBVEg9JXtidWls ZHJvb3R9JXtfcHJlZml4fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0vJXtnY2NfdmVy c2lvbn0KIEZVTExFUEFUSD0le2J1aWxkcm9vdH0le19wcmVmaXh9L2xpYmV4ZWMvZ2NjLyV7Z2Nj X3RhcmdldF9wbGF0Zm9ybX0vJXtnY2NfdmVyc2lvbn0KIAotJWlmICV7YnVpbGRfY2xvb2d9Ci1j cCAtYSBjbG9vZy1pbnN0YWxsL2xpYi9saWJjbG9vZy1pc2wuc28uNCAkRlVMTFBBVEgvCi0lZW5k aWYKLQogIyBmaXggc29tZSB0aGluZ3MKIGxuIC1zZiBnY2MgJXtidWlsZHJvb3R9JXtfcHJlZml4 fS9iaW4vY2MKIHJtIC1mICV7YnVpbGRyb290fSV7X3ByZWZpeH0vbGliL2NwcApAQCAtMTExNSw2 ICsxMTQwLDEzIEBAIHJtIC1mICV7YnVpbGRyb290fSV7X2luZm9kaXJ9L2RpcgogZ3ppcCAtOSAl e2J1aWxkcm9vdH0le19pbmZvZGlyfS8qLmluZm8qCiBsbiAtc2YgZ2NjICV7YnVpbGRyb290fSV7 X3ByZWZpeH0vYmluL2duYXRnY2MKIAorJWlmICV7YnVpbGRfZ299CittdiAle2J1aWxkcm9vdH0l e19wcmVmaXh9L2Jpbi9nb3ssLmdjY30KK212ICV7YnVpbGRyb290fSV7X3ByZWZpeH0vYmluL2dv Zm10eywuZ2NjfQorbG4gLXNmIC9ldGMvYWx0ZXJuYXRpdmVzL2dvICV7YnVpbGRyb290fSV7X3By ZWZpeH0vYmluL2dvCitsbiAtc2YgL2V0Yy9hbHRlcm5hdGl2ZXMvZ29mbXQgJXtidWlsZHJvb3R9 JXtfcHJlZml4fS9iaW4vZ29mbXQKKyVlbmRpZgorCiBjeHhjb25maWc9ImBmaW5kICV7Z2NjX3Rh cmdldF9wbGF0Zm9ybX0vbGlic3RkYysrLXYzL2luY2x1ZGUgLW5hbWUgYysrY29uZmlnLmhgIgog Zm9yIGkgaW4gYGZpbmQgJXtnY2NfdGFyZ2V0X3BsYXRmb3JtfS9bMzZdKi9saWJzdGRjKystdjMv aW5jbHVkZSAtbmFtZSBjKytjb25maWcuaCAyPi9kZXYvbnVsbGA7IGRvCiAgIGlmICEgZGlmZiAt dXAgJGN4eGNvbmZpZyAkaTsgdGhlbgpAQCAtMTI2NSw2ICsxMjk3LDEyIEBAIGRvbmUKIHRvdWNo IC1yIGhvb2suaW4gJXtidWlsZHJvb3R9JXtfZGF0YWRpcn0vZ2RiL2F1dG8tbG9hZC8le19wcmVm aXh9LyV7X2xpYn0vbGlic3RkYysrKmdkYi5weQogcG9wZAogCitybSAtZiAkRlVMTEVQQVRIL2xp YmdjY2ppdC5zbworY3AgLWEgb2JqbGliZ2Njaml0L2djYy9saWJnY2NqaXQuc28qICV7YnVpbGRy b290fSV7X3ByZWZpeH0vJXtfbGlifS8KK2NwIC1hIC4uL2djYy9qaXQvbGliZ2Njaml0Ki5oICV7 YnVpbGRyb290fSV7X3ByZWZpeH0vaW5jbHVkZS8KKy91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 IG9iamxpYmdjY2ppdC9nY2MvZG9jL2xpYmdjY2ppdC5pbmZvICV7YnVpbGRyb290fS8le19pbmZv ZGlyfS8KK2d6aXAgLTkgJXtidWlsZHJvb3R9LyV7X2luZm9kaXJ9L2xpYmdjY2ppdC5pbmZvCisK IHB1c2hkICRGVUxMUEFUSAogaWYgWyAiJXtfbGlifSIgPSAibGliIiBdOyB0aGVuCiBsbiAtc2Yg Li4vLi4vLi4vbGlib2JqYy5zby40IGxpYm9iamMuc28KQEAgLTEyNzIsNyArMTMxMCw3IEBAIGxu IC1zZiAuLi8uLi8uLi9saWJzdGRjKysuc28uNi4qWzAtOV0gbGlic3RkYysrLnNvCiBsbiAtc2Yg Li4vLi4vLi4vbGliZ2ZvcnRyYW4uc28uMy4qIGxpYmdmb3J0cmFuLnNvCiBsbiAtc2YgLi4vLi4v Li4vbGliZ29tcC5zby4xLiogbGliZ29tcC5zbwogJWlmICV7YnVpbGRfZ299Ci1sbiAtc2YgLi4v Li4vLi4vbGliZ28uc28uNS4qIGxpYmdvLnNvCitsbiAtc2YgLi4vLi4vLi4vbGliZ28uc28uNy4q IGxpYmdvLnNvCiAlZW5kaWYKICVpZiAle2J1aWxkX2xpYnF1YWRtYXRofQogbG4gLXNmIC4uLy4u Ly4uL2xpYnF1YWRtYXRoLnNvLjAuKiBsaWJxdWFkbWF0aC5zbwpAQCAtMTI4NCw3ICsxMzIyLDcg QEAgbG4gLXNmIC4uLy4uLy4uL2xpYml0bS5zby4xLiogbGliaXRtLnNvCiBsbiAtc2YgLi4vLi4v Li4vbGliYXRvbWljLnNvLjEuKiBsaWJhdG9taWMuc28KICVlbmRpZgogJWlmICV7YnVpbGRfbGli YXNhbn0KLWxuIC1zZiAuLi8uLi8uLi9saWJhc2FuLnNvLjEuKiBsaWJhc2FuLnNvCitsbiAtc2Yg Li4vLi4vLi4vbGliYXNhbi5zby4yLiogbGliYXNhbi5zbwogbXYgLi4vLi4vLi4vbGliYXNhbl9w cmVpbml0Lm8gbGliYXNhbl9wcmVpbml0Lm8KICVlbmRpZgogJWlmICV7YnVpbGRfbGlidWJzYW59 CkBAIC0xMjk5LDcgKzEzMzcsNyBAQCBsbiAtc2YgLi4vLi4vLi4vLi4vJXtfbGlifS9saWJzdGRj Kysuc28uNi4qWzAtOV0gbGlic3RkYysrLnNvCiBsbiAtc2YgLi4vLi4vLi4vLi4vJXtfbGlifS9s aWJnZm9ydHJhbi5zby4zLiogbGliZ2ZvcnRyYW4uc28KIGxuIC1zZiAuLi8uLi8uLi8uLi8le19s aWJ9L2xpYmdvbXAuc28uMS4qIGxpYmdvbXAuc28KICVpZiAle2J1aWxkX2dvfQotbG4gLXNmIC4u Ly4uLy4uLy4uLyV7X2xpYn0vbGliZ28uc28uNS4qIGxpYmdvLnNvCitsbiAtc2YgLi4vLi4vLi4v Li4vJXtfbGlifS9saWJnby5zby43LiogbGliZ28uc28KICVlbmRpZgogJWlmICV7YnVpbGRfbGli cXVhZG1hdGh9CiBsbiAtc2YgLi4vLi4vLi4vLi4vJXtfbGlifS9saWJxdWFkbWF0aC5zby4wLiog bGlicXVhZG1hdGguc28KQEAgLTEzMTEsNyArMTM0OSw3IEBAIGxuIC1zZiAuLi8uLi8uLi8uLi8l e19saWJ9L2xpYml0bS5zby4xLiogbGliaXRtLnNvCiBsbiAtc2YgLi4vLi4vLi4vLi4vJXtfbGli fS9saWJhdG9taWMuc28uMS4qIGxpYmF0b21pYy5zbwogJWVuZGlmCiAlaWYgJXtidWlsZF9saWJh c2FufQotbG4gLXNmIC4uLy4uLy4uLy4uLyV7X2xpYn0vbGliYXNhbi5zby4xLiogbGliYXNhbi5z bworbG4gLXNmIC4uLy4uLy4uLy4uLyV7X2xpYn0vbGliYXNhbi5zby4yLiogbGliYXNhbi5zbwog bXYgLi4vLi4vLi4vLi4vJXtfbGlifS9saWJhc2FuX3ByZWluaXQubyBsaWJhc2FuX3ByZWluaXQu bwogJWVuZGlmCiAlaWYgJXtidWlsZF9saWJ1YnNhbn0KQEAgLTEzNzUsMjggKzE0MTMsMjggQEAg bXYgLWYgJEZVTExQQVRIL2FkYXtpbmNsdWRlLGxpYn0gJEZVTExMUEFUSC8KIHB1c2hkICRGVUxM TFBBVEgvYWRhbGliCiBpZiBbICIle19saWJ9IiA9ICJsaWIiIF07IHRoZW4KIGxuIC1zZiAuLi8u Li8uLi8uLi8uLi9saWJnbmFybC0qLnNvIGxpYmduYXJsLnNvCi1sbiAtc2YgLi4vLi4vLi4vLi4v Li4vbGliZ25hcmwtKi5zbyBsaWJnbmFybC00Ljkuc28KK2xuIC1zZiAuLi8uLi8uLi8uLi8uLi9s aWJnbmFybC0qLnNvIGxpYmduYXJsLTUuc28KIGxuIC1zZiAuLi8uLi8uLi8uLi8uLi9saWJnbmF0 LSouc28gbGliZ25hdC5zbwotbG4gLXNmIC4uLy4uLy4uLy4uLy4uL2xpYmduYXQtKi5zbyBsaWJn bmF0LTQuOS5zbworbG4gLXNmIC4uLy4uLy4uLy4uLy4uL2xpYmduYXQtKi5zbyBsaWJnbmF0LTUu c28KIGVsc2UKIGxuIC1zZiAuLi8uLi8uLi8uLi8uLi8uLi8le19saWJ9L2xpYmduYXJsLSouc28g bGliZ25hcmwuc28KLWxuIC1zZiAuLi8uLi8uLi8uLi8uLi8uLi8le19saWJ9L2xpYmduYXJsLSou c28gbGliZ25hcmwtNC45LnNvCitsbiAtc2YgLi4vLi4vLi4vLi4vLi4vLi4vJXtfbGlifS9saWJn bmFybC0qLnNvIGxpYmduYXJsLTUuc28KIGxuIC1zZiAuLi8uLi8uLi8uLi8uLi8uLi8le19saWJ9 L2xpYmduYXQtKi5zbyBsaWJnbmF0LnNvCi1sbiAtc2YgLi4vLi4vLi4vLi4vLi4vLi4vJXtfbGli fS9saWJnbmF0LSouc28gbGliZ25hdC00Ljkuc28KK2xuIC1zZiAuLi8uLi8uLi8uLi8uLi8uLi8l e19saWJ9L2xpYmduYXQtKi5zbyBsaWJnbmF0LTUuc28KIGZpCiBwb3BkCiBlbHNlCiBwdXNoZCAk RlVMTFBBVEgvYWRhbGliCiBpZiBbICIle19saWJ9IiA9ICJsaWIiIF07IHRoZW4KIGxuIC1zZiAu Li8uLi8uLi8uLi9saWJnbmFybC0qLnNvIGxpYmduYXJsLnNvCi1sbiAtc2YgLi4vLi4vLi4vLi4v bGliZ25hcmwtKi5zbyBsaWJnbmFybC00Ljkuc28KK2xuIC1zZiAuLi8uLi8uLi8uLi9saWJnbmFy bC0qLnNvIGxpYmduYXJsLTUuc28KIGxuIC1zZiAuLi8uLi8uLi8uLi9saWJnbmF0LSouc28gbGli Z25hdC5zbwotbG4gLXNmIC4uLy4uLy4uLy4uL2xpYmduYXQtKi5zbyBsaWJnbmF0LTQuOS5zbwor bG4gLXNmIC4uLy4uLy4uLy4uL2xpYmduYXQtKi5zbyBsaWJnbmF0LTUuc28KIGVsc2UKIGxuIC1z ZiAuLi8uLi8uLi8uLi8uLi8le19saWJ9L2xpYmduYXJsLSouc28gbGliZ25hcmwuc28KLWxuIC1z ZiAuLi8uLi8uLi8uLi8uLi8le19saWJ9L2xpYmduYXJsLSouc28gbGliZ25hcmwtNC45LnNvCits biAtc2YgLi4vLi4vLi4vLi4vLi4vJXtfbGlifS9saWJnbmFybC0qLnNvIGxpYmduYXJsLTUuc28K IGxuIC1zZiAuLi8uLi8uLi8uLi8uLi8le19saWJ9L2xpYmduYXQtKi5zbyBsaWJnbmF0LnNvCi1s biAtc2YgLi4vLi4vLi4vLi4vLi4vJXtfbGlifS9saWJnbmF0LSouc28gbGliZ25hdC00Ljkuc28K K2xuIC1zZiAuLi8uLi8uLi8uLi8uLi8le19saWJ9L2xpYmduYXQtKi5zbyBsaWJnbmF0LTUuc28K IGZpCiBwb3BkCiBmaQpAQCAtMTQwOSw4ICsxNDQ3LDggQEAgbG4gLXNmIC4uL2BlY2hvIC4uLy4u Ly4uLy4uL2xpYi9saWJnZm9ydHJhbi5zby4zLiogfCBzZWQgc34vbGliL34vbGliNjQvfmAgNjQv bGkKIGxuIC1zZiAuLi9gZWNobyAuLi8uLi8uLi8uLi9saWIvbGliZ29tcC5zby4xLiogfCBzZWQg c34vbGliL34vbGliNjQvfmAgNjQvbGliZ29tcC5zbwogJWlmICV7YnVpbGRfZ299CiBybSAtZiBs aWJnby5zbwotZWNobyAnSU5QVVQgKCAle19wcmVmaXh9L2xpYi8nYGVjaG8gLi4vLi4vLi4vLi4v bGliL2xpYmdvLnNvLjUuKiB8IHNlZCAncyxeLipsaWJnLGxpYmcsJ2AnICknID4gbGliZ28uc28K LWVjaG8gJ0lOUFVUICggJXtfcHJlZml4fS9saWI2NC8nYGVjaG8gLi4vLi4vLi4vLi4vbGliL2xp YmdvLnNvLjUuKiB8IHNlZCAncyxeLipsaWJnLGxpYmcsJ2AnICknID4gNjQvbGliZ28uc28KK2Vj aG8gJ0lOUFVUICggJXtfcHJlZml4fS9saWIvJ2BlY2hvIC4uLy4uLy4uLy4uL2xpYi9saWJnby5z by43LiogfCBzZWQgJ3MsXi4qbGliZyxsaWJnLCdgJyApJyA+IGxpYmdvLnNvCitlY2hvICdJTlBV VCAoICV7X3ByZWZpeH0vbGliNjQvJ2BlY2hvIC4uLy4uLy4uLy4uL2xpYi9saWJnby5zby43Liog fCBzZWQgJ3MsXi4qbGliZyxsaWJnLCdgJyApJyA+IDY0L2xpYmdvLnNvCiAlZW5kaWYKICVpZiAl e2J1aWxkX2xpYnF1YWRtYXRofQogcm0gLWYgbGlicXVhZG1hdGguc28KQEAgLTE0MjksOCArMTQ2 Nyw4IEBAIGVjaG8gJ0lOUFVUICggJXtfcHJlZml4fS9saWI2NC8nYGVjaG8gLi4vLi4vLi4vLi4v bGliL2xpYmF0b21pYy5zby4xLiogfCBzZWQgJ3MsCiAlZW5kaWYKICVpZiAle2J1aWxkX2xpYmFz YW59CiBybSAtZiBsaWJhc2FuLnNvCi1lY2hvICdJTlBVVCAoICV7X3ByZWZpeH0vbGliLydgZWNo byAuLi8uLi8uLi8uLi9saWIvbGliYXNhbi5zby4xLiogfCBzZWQgJ3MsXi4qbGliYSxsaWJhLCdg JyApJyA+IGxpYmFzYW4uc28KLWVjaG8gJ0lOUFVUICggJXtfcHJlZml4fS9saWI2NC8nYGVjaG8g Li4vLi4vLi4vLi4vbGliL2xpYmFzYW4uc28uMS4qIHwgc2VkICdzLF4uKmxpYmEsbGliYSwnYCcg KScgPiA2NC9saWJhc2FuLnNvCitlY2hvICdJTlBVVCAoICV7X3ByZWZpeH0vbGliLydgZWNobyAu Li8uLi8uLi8uLi9saWIvbGliYXNhbi5zby4yLiogfCBzZWQgJ3MsXi4qbGliYSxsaWJhLCdgJyAp JyA+IGxpYmFzYW4uc28KK2VjaG8gJ0lOUFVUICggJXtfcHJlZml4fS9saWI2NC8nYGVjaG8gLi4v Li4vLi4vLi4vbGliL2xpYmFzYW4uc28uMi4qIHwgc2VkICdzLF4uKmxpYmEsbGliYSwnYCcgKScg PiA2NC9saWJhc2FuLnNvCiBtdiAuLi8uLi8uLi8uLi9saWI2NC9saWJhc2FuX3ByZWluaXQubyA2 NC9saWJhc2FuX3ByZWluaXQubwogJWVuZGlmCiAlaWYgJXtidWlsZF9saWJ1YnNhbn0KQEAgLTE0 OTYsOCArMTUzNCw4IEBAIGxuIC1zZiAuLi9gZWNobyAuLi8uLi8uLi8uLi9saWI2NC9saWJnZm9y dHJhbi5zby4zLiogfCBzZWQgc34vLi4vbGliNjQvfi9+YCAzMi9sCiBsbiAtc2YgLi4vYGVjaG8g Li4vLi4vLi4vLi4vbGliNjQvbGliZ29tcC5zby4xLiogfCBzZWQgc34vLi4vbGliNjQvfi9+YCAz Mi9saWJnb21wLnNvCiAlaWYgJXtidWlsZF9nb30KIHJtIC1mIGxpYmdvLnNvCi1lY2hvICdJTlBV VCAoICV7X3ByZWZpeH0vbGliNjQvJ2BlY2hvIC4uLy4uLy4uLy4uL2xpYjY0L2xpYmdvLnNvLjUu KiB8IHNlZCAncyxeLipsaWJnLGxpYmcsJ2AnICknID4gbGliZ28uc28KLWVjaG8gJ0lOUFVUICgg JXtfcHJlZml4fS9saWIvJ2BlY2hvIC4uLy4uLy4uLy4uL2xpYjY0L2xpYmdvLnNvLjUuKiB8IHNl ZCAncyxeLipsaWJnLGxpYmcsJ2AnICknID4gMzIvbGliZ28uc28KK2VjaG8gJ0lOUFVUICggJXtf cHJlZml4fS9saWI2NC8nYGVjaG8gLi4vLi4vLi4vLi4vbGliNjQvbGliZ28uc28uNy4qIHwgc2Vk ICdzLF4uKmxpYmcsbGliZywnYCcgKScgPiBsaWJnby5zbworZWNobyAnSU5QVVQgKCAle19wcmVm aXh9L2xpYi8nYGVjaG8gLi4vLi4vLi4vLi4vbGliNjQvbGliZ28uc28uNy4qIHwgc2VkICdzLF4u KmxpYmcsbGliZywnYCcgKScgPiAzMi9saWJnby5zbwogJWVuZGlmCiAlaWYgJXtidWlsZF9saWJx dWFkbWF0aH0KIHJtIC1mIGxpYnF1YWRtYXRoLnNvCkBAIC0xNTE2LDggKzE1NTQsOCBAQCBlY2hv ICdJTlBVVCAoICV7X3ByZWZpeH0vbGliLydgZWNobyAuLi8uLi8uLi8uLi9saWI2NC9saWJhdG9t aWMuc28uMS4qIHwgc2VkICdzLAogJWVuZGlmCiAlaWYgJXtidWlsZF9saWJhc2FufQogcm0gLWYg bGliYXNhbi5zbwotZWNobyAnSU5QVVQgKCAle19wcmVmaXh9L2xpYjY0LydgZWNobyAuLi8uLi8u Li8uLi9saWI2NC9saWJhc2FuLnNvLjEuKiB8IHNlZCAncyxeLipsaWJhLGxpYmEsJ2AnICknID4g bGliYXNhbi5zbwotZWNobyAnSU5QVVQgKCAle19wcmVmaXh9L2xpYi8nYGVjaG8gLi4vLi4vLi4v Li4vbGliNjQvbGliYXNhbi5zby4xLiogfCBzZWQgJ3MsXi4qbGliYSxsaWJhLCdgJyApJyA+IDMy L2xpYmFzYW4uc28KK2VjaG8gJ0lOUFVUICggJXtfcHJlZml4fS9saWI2NC8nYGVjaG8gLi4vLi4v Li4vLi4vbGliNjQvbGliYXNhbi5zby4yLiogfCBzZWQgJ3MsXi4qbGliYSxsaWJhLCdgJyApJyA+ IGxpYmFzYW4uc28KK2VjaG8gJ0lOUFVUICggJXtfcHJlZml4fS9saWIvJ2BlY2hvIC4uLy4uLy4u Ly4uL2xpYjY0L2xpYmFzYW4uc28uMi4qIHwgc2VkICdzLF4uKmxpYmEsbGliYSwnYCcgKScgPiAz Mi9saWJhc2FuLnNvCiBtdiAuLi8uLi8uLi8uLi9saWIvbGliYXNhbl9wcmVpbml0Lm8gMzIvbGli YXNhbl9wcmVpbml0Lm8KICVlbmRpZgogJWlmICV7YnVpbGRfbGlidWJzYW59CkBAIC0xNjE1LDEx ICsxNjUzLDEzIEBAIHN0cmlwIC1nIGBmaW5kIC4gXCggLW5hbWUgbGliZ2ZvcnRyYW4uYSAtbyAt bmFtZSBsaWJvYmpjLmEgLW8gLW5hbWUgbGliZ29tcC5hIFwKIAkJICAgIC1vIC1uYW1lIGxpYmdj Yy5hIC1vIC1uYW1lIGxpYmdjb3YuYSAtbyAtbmFtZSBsaWJxdWFkbWF0aC5hIFwKIAkJICAgIC1v IC1uYW1lIGxpYml0bS5hIC1vIC1uYW1lIGxpYmdvLmEgLW8gLW5hbWUgbGliY2FmXCouYSBcCiAJ CSAgICAtbyAtbmFtZSBsaWJhdG9taWMuYSAtbyAtbmFtZSBsaWJhc2FuLmEgLW8gLW5hbWUgbGli dHNhbi5hIFwKLQkJICAgIC1vIC1uYW1lIGxpYnVic2FuLmEgLW8gLW5hbWUgbGlibHNhbi5hIC1v IC1uYW1lIGxpYmNpbGtydHMuYSBcKSBcCisJCSAgICAtbyAtbmFtZSBsaWJ1YnNhbi5hIC1vIC1u YW1lIGxpYmxzYW4uYSAtbyAtbmFtZSBsaWJjaWxrcnRzLmEgXAorCQkgICAgLW8gLW5hbWUgbGli Y2MxLmEgXCkgXAogCQkgLWEgLXR5cGUgZmAKIHBvcGQKIGNobW9kIDc1NSAle2J1aWxkcm9vdH0l e19wcmVmaXh9LyV7X2xpYn0vbGliZ2ZvcnRyYW4uc28uMy4qCiBjaG1vZCA3NTUgJXtidWlsZHJv b3R9JXtfcHJlZml4fS8le19saWJ9L2xpYmdvbXAuc28uMS4qCitjaG1vZCA3NTUgJXtidWlsZHJv b3R9JXtfcHJlZml4fS8le19saWJ9L2xpYmNjMS5zby4wLioKICVpZiAle2J1aWxkX2xpYnF1YWRt YXRofQogY2htb2QgNzU1ICV7YnVpbGRyb290fSV7X3ByZWZpeH0vJXtfbGlifS9saWJxdWFkbWF0 aC5zby4wLioKICVlbmRpZgpAQCAtMTYzMCw3ICsxNjcwLDcgQEAgY2htb2QgNzU1ICV7YnVpbGRy b290fSV7X3ByZWZpeH0vJXtfbGlifS9saWJpdG0uc28uMS4qCiBjaG1vZCA3NTUgJXtidWlsZHJv b3R9JXtfcHJlZml4fS8le19saWJ9L2xpYmF0b21pYy5zby4xLioKICVlbmRpZgogJWlmICV7YnVp bGRfbGliYXNhbn0KLWNobW9kIDc1NSAle2J1aWxkcm9vdH0le19wcmVmaXh9LyV7X2xpYn0vbGli YXNhbi5zby4xLioKK2NobW9kIDc1NSAle2J1aWxkcm9vdH0le19wcmVmaXh9LyV7X2xpYn0vbGli YXNhbi5zby4yLioKICVlbmRpZgogJWlmICV7YnVpbGRfbGlidWJzYW59CiBjaG1vZCA3NTUgJXti dWlsZHJvb3R9JXtfcHJlZml4fS8le19saWJ9L2xpYnVic2FuLnNvLjAuKgpAQCAtMTY0NSw3ICsx Njg1LDcgQEAgY2htb2QgNzU1ICV7YnVpbGRyb290fSV7X3ByZWZpeH0vJXtfbGlifS9saWJ0c2Fu LnNvLjAuKgogY2htb2QgNzU1ICV7YnVpbGRyb290fSV7X3ByZWZpeH0vJXtfbGlifS9saWJsc2Fu LnNvLjAuKgogJWVuZGlmCiAlaWYgJXtidWlsZF9nb30KLWNobW9kIDc1NSAle2J1aWxkcm9vdH0l e19wcmVmaXh9LyV7X2xpYn0vbGliZ28uc28uNS4qCitjaG1vZCA3NTUgJXtidWlsZHJvb3R9JXtf cHJlZml4fS8le19saWJ9L2xpYmdvLnNvLjcuKgogJWVuZGlmCiBjaG1vZCA3NTUgJXtidWlsZHJv b3R9JXtfcHJlZml4fS8le19saWJ9L2xpYm9iamMuc28uNC4qCiAKQEAgLTE3MDIsNyArMTc0Miw2 IEBAIHJtIC1mICV7YnVpbGRyb290fSV7X3ByZWZpeH0vbGliL3szMiw2NH0vbGliaWJlcnR5LmEK IHJtIC1mICV7YnVpbGRyb290fSV7X3ByZWZpeH0vJXtfbGlifS9saWJzc3AqCiBybSAtZiAle2J1 aWxkcm9vdH0le19wcmVmaXh9LyV7X2xpYn0vbGlidnR2KiB8fCA6CiBybSAtZiAle2J1aWxkcm9v dH0le19wcmVmaXh9L2Jpbi9nYXBwbGV0dmlld2VyIHx8IDoKLXJtIC1mICV7YnVpbGRyb290fSV7 X3ByZWZpeH0vYmluLyV7X3RhcmdldF9wbGF0Zm9ybX0tZ2NjLSV7dmVyc2lvbn0gfHwgOgogcm0g LWYgJXtidWlsZHJvb3R9JXtfcHJlZml4fS9iaW4vJXtfdGFyZ2V0X3BsYXRmb3JtfS1nZm9ydHJh biB8fCA6CiBybSAtZiAle2J1aWxkcm9vdH0le19wcmVmaXh9L2Jpbi8le190YXJnZXRfcGxhdGZv cm19LWdjY2dvIHx8IDoKIHJtIC1mICV7YnVpbGRyb290fSV7X3ByZWZpeH0vYmluLyV7X3Rhcmdl dF9wbGF0Zm9ybX0tZ2NqIHx8IDoKQEAgLTE4MTcsNiArMTg1NiwxNiBAQCBpZiBbICQxID0gMCAt YSAtZiAle19pbmZvZGlyfS9nbmF0X3JtLmluZm8uZ3ogXTsgdGhlbgogICAgIC0taW5mby1kaXI9 JXtfaW5mb2Rpcn0gJXtfaW5mb2Rpcn0vZ25hdC1zdHlsZS5pbmZvLmd6IHx8IDoKIGZpCiAKKyVw b3N0IGdvCisle19zYmluZGlyfS91cGRhdGUtYWx0ZXJuYXRpdmVzIC0taW5zdGFsbCBcCisgICV7 X3ByZWZpeH0vYmluL2dvIGdvICV7X3ByZWZpeH0vYmluL2dvLmdjYyA5MiBcCisgIC0tc2xhdmUg JXtfcHJlZml4fS9iaW4vZ29mbXQgZ29mbXQgJXtfcHJlZml4fS9iaW4vZ29mbXQuZ2NjCisKKyVw cmV1biBnbworaWYgWyAkMSA9IDAgXTsgdGhlbgorICAle19zYmluZGlyfS91cGRhdGUtYWx0ZXJu YXRpdmVzIC0tcmVtb3ZlIGdvICV7X3ByZWZpeH0vYmluL2dvLmdjYworZmkKKwogIyBCZWNhdXNl IGdsaWJjIFByZXJlcSdzIGxpYmdjYyBhbmQgL3NiaW4vbGRjb25maWcKICMgY29tZXMgZnJvbSBn bGliYywgaXQgbWlnaHQgbm90IGV4aXN0IHlldCB3aGVuCiAjIGxpYmdjYyBpcyBpbnN0YWxsZWQK QEAgLTE4NzEsNiArMTkyMCwyNiBAQCBmaQogCiAlcG9zdHVuIC1uIGxpYmdvbXAgLXAgL3NiaW4v bGRjb25maWcKIAorJXBvc3QgZ2RiLXBsdWdpbiAtcCAvc2Jpbi9sZGNvbmZpZworCislcG9zdHVu IGdkYi1wbHVnaW4gLXAgL3NiaW4vbGRjb25maWcKKworJXBvc3QgLW4gbGliZ2Njaml0IC1wIC9z YmluL2xkY29uZmlnCisKKyVwb3N0dW4gLW4gbGliZ2Njaml0IC1wIC9zYmluL2xkY29uZmlnCisK KyVwb3N0IC1uIGxpYmdjY2ppdC1kZXZlbAoraWYgWyAtZiAle19pbmZvZGlyfS9saWJnY2NqaXQu aW5mby5neiBdOyB0aGVuCisgIC9zYmluL2luc3RhbGwtaW5mbyBcCisgICAgLS1pbmZvLWRpcj0l e19pbmZvZGlyfSAle19pbmZvZGlyfS9saWJnY2NqaXQuaW5mby5neiB8fCA6CitmaQorCislcHJl dW4gLW4gbGliZ2Njaml0LWRldmVsCitpZiBbICQxID0gMCAtYSAtZiAle19pbmZvZGlyfS9saWJn Y2NqaXQuaW5mby5neiBdOyB0aGVuCisgIC9zYmluL2luc3RhbGwtaW5mbyAtLWRlbGV0ZSBcCisg ICAgLS1pbmZvLWRpcj0le19pbmZvZGlyfSAle19pbmZvZGlyfS9saWJnY2NqaXQuaW5mby5neiB8 fCA6CitmaQorCiAlcG9zdCAtbiBsaWJxdWFkbWF0aAogL3NiaW4vbGRjb25maWcKIGlmIFsgLWYg JXtfaW5mb2Rpcn0vbGlicXVhZG1hdGguaW5mby5neiBdOyB0aGVuCkBAIC0xOTM2LDYgKzIwMDUs NyBAQCBmaQogJXtfcHJlZml4fS9iaW4vYzk5CiAle19wcmVmaXh9L2Jpbi9nY2MKICV7X3ByZWZp eH0vYmluL2djb3YKKyV7X3ByZWZpeH0vYmluL2djb3YtdG9vbAogJXtfcHJlZml4fS9iaW4vZ2Nj LWFyCiAle19wcmVmaXh9L2Jpbi9nY2Mtbm0KICV7X3ByZWZpeH0vYmluL2djYy1yYW5saWIKQEAg LTE5NDksNiArMjAxOSw3IEBAIGZpCiAle19wcmVmaXh9L2Jpbi9wcGMtJXtfdmVuZG9yfS0le190 YXJnZXRfb3N9LWdjYwogJWVuZGlmCiAle19wcmVmaXh9L2Jpbi8le2djY190YXJnZXRfcGxhdGZv cm19LWdjYworJXtfcHJlZml4fS9iaW4vJXtnY2NfdGFyZ2V0X3BsYXRmb3JtfS1nY2MtJXt2ZXJz aW9ufQogJXtfbWFuZGlyfS9tYW4xL2djYy4xKgogJXtfbWFuZGlyfS9tYW4xL2djb3YuMSoKICV7 X2luZm9kaXJ9L2djYyoKQEAgLTE5NzQsNiArMjA0NSw3IEBAIGZpCiAle19wcmVmaXh9L2xpYi9n Y2MvJXtnY2NfdGFyZ2V0X3BsYXRmb3JtfS8le2djY192ZXJzaW9ufS9pbmNsdWRlL3N5c2xpbWl0 cy5oCiAle19wcmVmaXh9L2xpYi9nY2MvJXtnY2NfdGFyZ2V0X3BsYXRmb3JtfS8le2djY192ZXJz aW9ufS9pbmNsdWRlL3Vud2luZC5oCiAle19wcmVmaXh9L2xpYi9nY2MvJXtnY2NfdGFyZ2V0X3Bs YXRmb3JtfS8le2djY192ZXJzaW9ufS9pbmNsdWRlL29tcC5oCisle19wcmVmaXh9L2xpYi9nY2Mv JXtnY2NfdGFyZ2V0X3BsYXRmb3JtfS8le2djY192ZXJzaW9ufS9pbmNsdWRlL29wZW5hY2MuaAog JXtfcHJlZml4fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0vJXtnY2NfdmVyc2lvbn0v aW5jbHVkZS9zdGRpbnQuaAogJXtfcHJlZml4fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9y bX0vJXtnY2NfdmVyc2lvbn0vaW5jbHVkZS9zdGRpbnQtZ2NjLmgKICV7X3ByZWZpeH0vbGliL2dj Yy8le2djY190YXJnZXRfcGxhdGZvcm19LyV7Z2NjX3ZlcnNpb259L2luY2x1ZGUvc3RkYWxpZ24u aApAQCAtMjAyMiw2ICsyMDk0LDIwIEBAIGZpCiAle19wcmVmaXh9L2xpYi9nY2MvJXtnY2NfdGFy Z2V0X3BsYXRmb3JtfS8le2djY192ZXJzaW9ufS9pbmNsdWRlL21tM2Rub3cuaAogJXtfcHJlZml4 fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0vJXtnY2NfdmVyc2lvbn0vaW5jbHVkZS9j cHVpZC5oCiAle19wcmVmaXh9L2xpYi9nY2MvJXtnY2NfdGFyZ2V0X3BsYXRmb3JtfS8le2djY192 ZXJzaW9ufS9pbmNsdWRlL2Nyb3NzLXN0ZGFyZy5oCisle19wcmVmaXh9L2xpYi9nY2MvJXtnY2Nf dGFyZ2V0X3BsYXRmb3JtfS8le2djY192ZXJzaW9ufS9pbmNsdWRlL2F2eDUxMmJ3aW50cmluLmgK KyV7X3ByZWZpeH0vbGliL2djYy8le2djY190YXJnZXRfcGxhdGZvcm19LyV7Z2NjX3ZlcnNpb259 L2luY2x1ZGUvYXZ4NTEyZHFpbnRyaW4uaAorJXtfcHJlZml4fS9saWIvZ2NjLyV7Z2NjX3Rhcmdl dF9wbGF0Zm9ybX0vJXtnY2NfdmVyc2lvbn0vaW5jbHVkZS9hdng1MTJpZm1haW50cmluLmgKKyV7 X3ByZWZpeH0vbGliL2djYy8le2djY190YXJnZXRfcGxhdGZvcm19LyV7Z2NjX3ZlcnNpb259L2lu Y2x1ZGUvYXZ4NTEyaWZtYXZsaW50cmluLmgKKyV7X3ByZWZpeH0vbGliL2djYy8le2djY190YXJn ZXRfcGxhdGZvcm19LyV7Z2NjX3ZlcnNpb259L2luY2x1ZGUvYXZ4NTEydmJtaWludHJpbi5oCisl e19wcmVmaXh9L2xpYi9nY2MvJXtnY2NfdGFyZ2V0X3BsYXRmb3JtfS8le2djY192ZXJzaW9ufS9p bmNsdWRlL2F2eDUxMnZibWl2bGludHJpbi5oCisle19wcmVmaXh9L2xpYi9nY2MvJXtnY2NfdGFy Z2V0X3BsYXRmb3JtfS8le2djY192ZXJzaW9ufS9pbmNsdWRlL2F2eDUxMnZsYndpbnRyaW4uaAor JXtfcHJlZml4fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0vJXtnY2NfdmVyc2lvbn0v aW5jbHVkZS9hdng1MTJ2bGRxaW50cmluLmgKKyV7X3ByZWZpeH0vbGliL2djYy8le2djY190YXJn ZXRfcGxhdGZvcm19LyV7Z2NjX3ZlcnNpb259L2luY2x1ZGUvYXZ4NTEydmxpbnRyaW4uaAorJXtf cHJlZml4fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0vJXtnY2NfdmVyc2lvbn0vaW5j bHVkZS9jbGZsdXNob3B0aW50cmluLmgKKyV7X3ByZWZpeH0vbGliL2djYy8le2djY190YXJnZXRf cGxhdGZvcm19LyV7Z2NjX3ZlcnNpb259L2luY2x1ZGUvY2x3YmludHJpbi5oCisle19wcmVmaXh9 L2xpYi9nY2MvJXtnY2NfdGFyZ2V0X3BsYXRmb3JtfS8le2djY192ZXJzaW9ufS9pbmNsdWRlL3Bj b21taXRpbnRyaW4uaAorJXtfcHJlZml4fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0v JXtnY2NfdmVyc2lvbn0vaW5jbHVkZS94c2F2ZWNpbnRyaW4uaAorJXtfcHJlZml4fS9saWIvZ2Nj LyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0vJXtnY2NfdmVyc2lvbn0vaW5jbHVkZS94c2F2ZXNpbnRy aW4uaAogJWVuZGlmCiAlaWZhcmNoIGlhNjQKICV7X3ByZWZpeH0vbGliL2djYy8le2djY190YXJn ZXRfcGxhdGZvcm19LyV7Z2NjX3ZlcnNpb259L2luY2x1ZGUvaWE2NGludHJpbi5oCkBAIC0yMDQy LDkgKzIxMjgsMTEgQEAgZmkKICV7X3ByZWZpeH0vbGliL2djYy8le2djY190YXJnZXRfcGxhdGZv cm19LyV7Z2NjX3ZlcnNpb259L2luY2x1ZGUvdW53aW5kLWFybS1jb21tb24uaAogJXtfcHJlZml4 fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0vJXtnY2NfdmVyc2lvbn0vaW5jbHVkZS9t bWludHJpbi5oCiAle19wcmVmaXh9L2xpYi9nY2MvJXtnY2NfdGFyZ2V0X3BsYXRmb3JtfS8le2dj Y192ZXJzaW9ufS9pbmNsdWRlL2FybV9uZW9uLmgKKyV7X3ByZWZpeH0vbGliL2djYy8le2djY190 YXJnZXRfcGxhdGZvcm19LyV7Z2NjX3ZlcnNpb259L2luY2x1ZGUvYXJtX2FjbGUuaAogJWVuZGlm CiAlaWZhcmNoIGFhcmNoNjQKICV7X3ByZWZpeH0vbGliL2djYy8le2djY190YXJnZXRfcGxhdGZv cm19LyV7Z2NjX3ZlcnNpb259L2luY2x1ZGUvYXJtX25lb24uaAorJXtfcHJlZml4fS9saWIvZ2Nj LyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0vJXtnY2NfdmVyc2lvbn0vaW5jbHVkZS9hcm1fYWNsZS5o CiAlZW5kaWYKICVpZmFyY2ggc3BhcmMgc3BhcmN2OSBzcGFyYzY0CiAle19wcmVmaXh9L2xpYi9n Y2MvJXtnY2NfdGFyZ2V0X3BsYXRmb3JtfS8le2djY192ZXJzaW9ufS9pbmNsdWRlL3Zpc2ludHJp bi5oCkBAIC0yMDc2LDkgKzIxNjQsNiBAQCBmaQogJWlmICV7YnVpbGRfbGliYXNhbn0KICV7X3By ZWZpeH0vbGliL2djYy8le2djY190YXJnZXRfcGxhdGZvcm19LyV7Z2NjX3ZlcnNpb259L2xpYnNh bml0aXplci5zcGVjCiAlZW5kaWYKLSVpZiAle2J1aWxkX2Nsb29nfQotJXtfcHJlZml4fS9saWIv Z2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0vJXtnY2NfdmVyc2lvbn0vbGliY2xvb2ctaXNsLnNv LioKLSVlbmRpZgogJWlmYXJjaCBzcGFyY3Y5IHBwYwogJWRpciAle19wcmVmaXh9L2xpYi9nY2Mv JXtnY2NfdGFyZ2V0X3BsYXRmb3JtfS8le2djY192ZXJzaW9ufS82NAogJXtfcHJlZml4fS9saWIv Z2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0vJXtnY2NfdmVyc2lvbn0vNjQvY3J0Ki5vCkBAIC0y MzcwLDYgKzI0NTUsMTMgQEAgZmkKICV7X3ByZWZpeH0vbGliL2djYy8le2djY190YXJnZXRfcGxh dGZvcm19LyV7Z2NjX3ZlcnNpb259L2ZpbmNsdWRlL29tcF9saWIuZjkwCiAle19wcmVmaXh9L2xp Yi9nY2MvJXtnY2NfdGFyZ2V0X3BsYXRmb3JtfS8le2djY192ZXJzaW9ufS9maW5jbHVkZS9vbXBf bGliLm1vZAogJXtfcHJlZml4fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0vJXtnY2Nf dmVyc2lvbn0vZmluY2x1ZGUvb21wX2xpYl9raW5kcy5tb2QKKyV7X3ByZWZpeH0vbGliL2djYy8l e2djY190YXJnZXRfcGxhdGZvcm19LyV7Z2NjX3ZlcnNpb259L2ZpbmNsdWRlL29wZW5hY2MuZjkw Cisle19wcmVmaXh9L2xpYi9nY2MvJXtnY2NfdGFyZ2V0X3BsYXRmb3JtfS8le2djY192ZXJzaW9u fS9maW5jbHVkZS9vcGVuYWNjLm1vZAorJXtfcHJlZml4fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9w bGF0Zm9ybX0vJXtnY2NfdmVyc2lvbn0vZmluY2x1ZGUvb3BlbmFjY19raW5kcy5tb2QKKyV7X3By ZWZpeH0vbGliL2djYy8le2djY190YXJnZXRfcGxhdGZvcm19LyV7Z2NjX3ZlcnNpb259L2ZpbmNs dWRlL29wZW5hY2NfbGliLmgKKyV7X3ByZWZpeH0vbGliL2djYy8le2djY190YXJnZXRfcGxhdGZv cm19LyV7Z2NjX3ZlcnNpb259L2ZpbmNsdWRlL2llZWVfYXJpdGhtZXRpYy5tb2QKKyV7X3ByZWZp eH0vbGliL2djYy8le2djY190YXJnZXRfcGxhdGZvcm19LyV7Z2NjX3ZlcnNpb259L2ZpbmNsdWRl L2llZWVfZXhjZXB0aW9ucy5tb2QKKyV7X3ByZWZpeH0vbGliL2djYy8le2djY190YXJnZXRfcGxh dGZvcm19LyV7Z2NjX3ZlcnNpb259L2ZpbmNsdWRlL2llZWVfZmVhdHVyZXMubW9kCiAle19wcmVm aXh9L2xpYmV4ZWMvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0vJXtnY2NfdmVyc2lvbn0vZjk1 MQogJXtfcHJlZml4fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0vJXtnY2NfdmVyc2lv bn0vbGliZ2ZvcnRyYW4uc3BlYwogJXtfcHJlZml4fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0 Zm9ybX0vJXtnY2NfdmVyc2lvbn0vbGliZ2ZvcnRyYW5iZWdpbi5hCkBAIC0yMzg0LDYgKzI0NzYs NyBAQCBmaQogJXtfcHJlZml4fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0vJXtnY2Nf dmVyc2lvbn0vNjQvbGliY2FmX3NpbmdsZS5hCiAle19wcmVmaXh9L2xpYi9nY2MvJXtnY2NfdGFy Z2V0X3BsYXRmb3JtfS8le2djY192ZXJzaW9ufS82NC9saWJnZm9ydHJhbi5hCiAle19wcmVmaXh9 L2xpYi9nY2MvJXtnY2NfdGFyZ2V0X3BsYXRmb3JtfS8le2djY192ZXJzaW9ufS82NC9saWJnZm9y dHJhbi5zbworJXtfcHJlZml4fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0vJXtnY2Nf dmVyc2lvbn0vNjQvZmluY2x1ZGUKICVlbmRpZgogJWlmYXJjaCAle211bHRpbGliXzY0X2FyY2hz fQogJWRpciAle19wcmVmaXh9L2xpYi9nY2MvJXtnY2NfdGFyZ2V0X3BsYXRmb3JtfS8le2djY192 ZXJzaW9ufS8zMgpAQCAtMjM5MSw2ICsyNDg0LDcgQEAgZmkKICV7X3ByZWZpeH0vbGliL2djYy8l e2djY190YXJnZXRfcGxhdGZvcm19LyV7Z2NjX3ZlcnNpb259LzMyL2xpYmNhZl9zaW5nbGUuYQog JXtfcHJlZml4fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0vJXtnY2NfdmVyc2lvbn0v MzIvbGliZ2ZvcnRyYW4uYQogJXtfcHJlZml4fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9y bX0vJXtnY2NfdmVyc2lvbn0vMzIvbGliZ2ZvcnRyYW4uc28KKyV7X3ByZWZpeH0vbGliL2djYy8l e2djY190YXJnZXRfcGxhdGZvcm19LyV7Z2NjX3ZlcnNpb259LzMyL2ZpbmNsdWRlCiAlZW5kaWYK ICVkb2MgcnBtLmRvYy9nZm9ydHJhbi8qCiAKQEAgLTI1MDIsNiArMjU5Niw3IEBAIGZpCiAlZmls ZXMgLW4gbGliZ29tcAogJWRlZmF0dHIoLSxyb290LHJvb3QsLSkKICV7X3ByZWZpeH0vJXtfbGli fS9saWJnb21wLnNvLjEqCisle19wcmVmaXh9LyV7X2xpYn0vbGliZ29tcC1wbHVnaW4taG9zdF9u b25zaG0uc28uMSoKICV7X2luZm9kaXJ9L2xpYmdvbXAuaW5mbyoKICVkb2MgcnBtLmRvYy9jaGFu Z2Vsb2dzL2xpYmdvbXAvQ2hhbmdlTG9nKgogCkBAIC0yNjA4LDcgKzI3MDMsNyBAQCBmaQogJWlm ICV7YnVpbGRfbGliYXNhbn0KICVmaWxlcyAtbiBsaWJhc2FuCiAlZGVmYXR0cigtLHJvb3Qscm9v dCwtKQotJXtfcHJlZml4fS8le19saWJ9L2xpYmFzYW4uc28uMSoKKyV7X3ByZWZpeH0vJXtfbGli fS9saWJhc2FuLnNvLjIqCiAKICVmaWxlcyAtbiBsaWJhc2FuLXN0YXRpYwogJWRlZmF0dHIoLSxy b290LHJvb3QsLSkKQEAgLTI3MTYsOCArMjgxMSwxNCBAQCBmaQogJWlmICV7YnVpbGRfZ299CiAl ZmlsZXMgZ28KICVkZWZhdHRyKC0scm9vdCxyb290LC0pCislZ2hvc3QgJXtfcHJlZml4fS9iaW4v Z28KKyV7X3ByZWZpeH0vYmluL2dvLmdjYwogJXtfcHJlZml4fS9iaW4vZ2NjZ28KKyVnaG9zdCAl e19wcmVmaXh9L2Jpbi9nb2ZtdAorJXtfcHJlZml4fS9iaW4vZ29mbXQuZ2NjCiAle19tYW5kaXJ9 L21hbjEvZ2NjZ28uMSoKKyV7X21hbmRpcn0vbWFuMS9nby4xKgorJXtfbWFuZGlyfS9tYW4xL2dv Zm10LjEqCiAlZGlyICV7X3ByZWZpeH0vbGliL2djYwogJWRpciAle19wcmVmaXh9L2xpYi9nY2Mv JXtnY2NfdGFyZ2V0X3BsYXRmb3JtfQogJWRpciAle19wcmVmaXh9L2xpYi9nY2MvJXtnY2NfdGFy Z2V0X3BsYXRmb3JtfS8le2djY192ZXJzaW9ufQpAQCAtMjcyNSw2ICsyODI2LDcgQEAgZmkKICVk aXIgJXtfcHJlZml4fS9saWJleGVjL2djYy8le2djY190YXJnZXRfcGxhdGZvcm19CiAlZGlyICV7 X3ByZWZpeH0vbGliZXhlYy9nY2MvJXtnY2NfdGFyZ2V0X3BsYXRmb3JtfS8le2djY192ZXJzaW9u fQogJXtfcHJlZml4fS9saWJleGVjL2djYy8le2djY190YXJnZXRfcGxhdGZvcm19LyV7Z2NjX3Zl cnNpb259L2dvMQorJXtfcHJlZml4fS9saWJleGVjL2djYy8le2djY190YXJnZXRfcGxhdGZvcm19 LyV7Z2NjX3ZlcnNpb259L2NnbwogJWlmYXJjaCBzcGFyY3Y5IHBwYwogJWRpciAle19wcmVmaXh9 L2xpYi9nY2MvJXtnY2NfdGFyZ2V0X3BsYXRmb3JtfS8le2djY192ZXJzaW9ufS82NAogJXtfcHJl Zml4fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0vJXtnY2NfdmVyc2lvbn0vNjQvbGli Z28uc28KQEAgLTI3NDgsNyArMjg1MCw3IEBAIGZpCiAKICVmaWxlcyAtbiBsaWJnbwogJWRlZmF0 dHIoLSxyb290LHJvb3QsLSkKLSV7X3ByZWZpeH0vJXtfbGlifS9saWJnby5zby41KgorJXtfcHJl Zml4fS8le19saWJ9L2xpYmdvLnNvLjcqCiAlZG9jIHJwbS5kb2MvbGliZ28vKgogCiAlZmlsZXMg LW4gbGliZ28tZGV2ZWwKQEAgLTI3OTcsNDIwICsyODk5LDQyIEBAIGZpCiAlZW5kaWYKICVlbmRp ZgogCislZmlsZXMgLW4gbGliZ2Njaml0CislZGVmYXR0cigtLHJvb3Qscm9vdCwtKQorJXtfcHJl Zml4fS8le19saWJ9L2xpYmdjY2ppdC5zby4qCislZG9jIHJwbS5kb2MvY2hhbmdlbG9ncy9nY2Mv aml0L0NoYW5nZUxvZyoKKworJWZpbGVzIC1uIGxpYmdjY2ppdC1kZXZlbAorJWRlZmF0dHIoLSxy b290LHJvb3QsLSkKKyV7X3ByZWZpeH0vJXtfbGlifS9saWJnY2NqaXQuc28KKyV7X3ByZWZpeH0v aW5jbHVkZS9saWJnY2NqaXQqLmgKKyV7X2luZm9kaXJ9L2xpYmdjY2ppdC5pbmZvKgorJWRvYyBy cG0uZG9jL2xpYmdjY2ppdC1kZXZlbC8qCislZG9jIGdjYy9qaXQvZG9jcy9leGFtcGxlcworCiAl ZmlsZXMgcGx1Z2luLWRldmVsCiAlZGVmYXR0cigtLHJvb3Qscm9vdCwtKQogJWRpciAle19wcmVm aXh9L2xpYi9nY2MKICVkaXIgJXtfcHJlZml4fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9y bX0KICVkaXIgJXtfcHJlZml4fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0vJXtnY2Nf dmVyc2lvbn0KLSV7X3ByZWZpeH0vbGliL2djYy8le2djY190YXJnZXRfcGxhdGZvcm19LyV7Z2Nj X3ZlcnNpb259L3BsdWdpbgorJWRpciAle19wcmVmaXh9L2xpYi9nY2MvJXtnY2NfdGFyZ2V0X3Bs YXRmb3JtfS8le2djY192ZXJzaW9ufS9wbHVnaW4KKyV7X3ByZWZpeH0vbGliL2djYy8le2djY190 YXJnZXRfcGxhdGZvcm19LyV7Z2NjX3ZlcnNpb259L3BsdWdpbi9ndHlwZS5zdGF0ZQorJXtfcHJl Zml4fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0vJXtnY2NfdmVyc2lvbn0vcGx1Z2lu L2luY2x1ZGUKICVkaXIgJXtfcHJlZml4fS9saWJleGVjL2djYwogJWRpciAle19wcmVmaXh9L2xp YmV4ZWMvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0KICVkaXIgJXtfcHJlZml4fS9saWJleGVj L2djYy8le2djY190YXJnZXRfcGxhdGZvcm19LyV7Z2NjX3ZlcnNpb259CiAle19wcmVmaXh9L2xp YmV4ZWMvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0vJXtnY2NfdmVyc2lvbn0vcGx1Z2luCiAK KyVmaWxlcyBnZGItcGx1Z2luCislZGVmYXR0cigtLHJvb3Qscm9vdCwtKQorJXtfcHJlZml4fS8l e19saWJ9L2xpYmNjMS5zbyoKKyVkaXIgJXtfcHJlZml4fS9saWIvZ2NjCislZGlyICV7X3ByZWZp eH0vbGliL2djYy8le2djY190YXJnZXRfcGxhdGZvcm19CislZGlyICV7X3ByZWZpeH0vbGliL2dj Yy8le2djY190YXJnZXRfcGxhdGZvcm19LyV7Z2NjX3ZlcnNpb259CislZGlyICV7X3ByZWZpeH0v bGliL2djYy8le2djY190YXJnZXRfcGxhdGZvcm19LyV7Z2NjX3ZlcnNpb259L3BsdWdpbgorJXtf cHJlZml4fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0vJXtnY2NfdmVyc2lvbn0vcGx1 Z2luL2xpYmNjMXBsdWdpbi5zbyoKKyVkb2MgcnBtLmRvYy9jaGFuZ2Vsb2dzL2xpYmNjMS9DaGFu Z2VMb2cqCisKICVjaGFuZ2Vsb2cKLSogVGh1IEphbiAgOCAyMDE1IEpha3ViIEplbGluZWsgPGph a3ViQHJlZGhhdC5jb20+IDQuOS4yLTUKLS0gZG9uJ3QgcmVtb3ZlIHRhYmxlanVtcHMgaW4gcnRs X3RpZHlfZmFsbHRocnVfZWRnZSAoIzExMzY5MzksCi0gIFBSIHJ0bC1vcHRpbWl6YXRpb24vNjQ1 MzYpCi0KLSogV2VkIEphbiAgNyAyMDE1IEpha3ViIEplbGluZWsgPGpha3ViQHJlZGhhdC5jb20+ IDQuOS4yLTQKLS0gdXBkYXRlIGZyb20gdGhlIDQuOSBicmFuY2gKLSAgLSBQUnMgYWRhLzY0NDky LCBjKysvMzg5NTgsIGMrKy82MDk1NSwgYysrLzYzNjU3LCBjKysvNjM2NTgsIGMrKy82NDAyOSwK LQljKysvNjQyNTEsIGMrKy82NDI5NywgYysrLzY0MzUyLCBjKysvNjQ0ODcsIGZvcnRyYW4vNjQy NDQsCi0JbGlic3RkYysrLzY0MzAyLCBsaWJzdGRjKysvNjQzMDMsIHJ0bC1vcHRpbWl6YXRpb24v NjQwMTAsCi0JdGFyZ2V0LzY0NDA5LCB0YXJnZXQvNjQ1MDcKLS0gYmFja3BvcnQgLW1za2lwLXJh eC1zZXR1cCBzdXBwb3J0IGZyb20gdHJ1bmsKLS0gZml4IC1mc2FuaXRpemU9ZmxvYXQtY2FzdC1v dmVyZmxvdyAoUFIgc2FuaXRpemVyLzY0MzQ0KQotLSBmaXggaGFuZGxpbmcgb2YgZm9ydHJhbiBj b21wb25lbnRzIHZzLiBjcmF5IHBvaW50ZXJzICgjMTEzNDU2MCwKLSAgUFIgZm9ydHJhbi82MjE3 NCkKLS0gcGFja2FnZSBsaWJjaWxrcnRzLnNwZWMgKCMxMTczOTA1KQotCi0qIFdlZCBEZWMgMTcg MjAxNCBKYWt1YiBKZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPiA0LjkuMi0zCi0tIHVwZGF0ZSBm cm9tIHRoZSA0LjkgYnJhbmNoCi0gIC0gUFJzIGxpYnN0ZGMrKy82NDIzOSwgc2FuaXRpemVyLzY0 MjY1LCB0YXJnZXQvNjQyMDAsCi0JdHJlZS1vcHRpbWl6YXRpb24vNjM1NTEsIHRyZWUtb3B0aW1p emF0aW9uLzY0MjY5Ci0tIGZpeCB1cCBTQU5JVElaRV8qIGVudW0gdmFsdWVzLCBzbyB0aGF0IC1m c2FuaXRpemU9Ym9vbCBpcyBpbmRlcGVuZGVudAotICBmcm9tIC1mc2FuaXRpemU9ZmxvYXQtZGl2 aWRlLWJ5LXplcm8gYW5kIC1mc2FuaXRpemU9ZW51bSBpcyBpbmRlcGVuZGVudAotICBmcm9tIC1m c2FuaXRpemU9ZmxvYXQtY2FzdC1vdmVyZmxvdyAoIzExNzMxODUpCi0tIGZpeCAtZnNhbml0aXpl PWZsb2F0LWNhc3Qtb3ZlcmZsb3cgaW4gQyAoIzExNzMxODUsIFBSIHNhbml0aXplci82NDI4OSkK LS0gZml4IC1mc2FuaXRpemU9dGhyZWFkIChQUiBzYW5pdGl6ZXIvNjQzMzYpCi0tIGZpeCB1cCBG b3J0cmFuIERBVEEgZXJyb3IgcmVjb3ZlcnkgKCMxMTE1MjA3LCBQUiBmb3J0cmFuLzYxNjY5KQot Ci0qIEZyaSBEZWMgMTIgMjAxNCBKYWt1YiBKZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPiA0Ljku Mi0yCi0tIHVwZGF0ZSBmcm9tIHRoZSA0LjkgYnJhbmNoCi0gIC0gUFJzIGFkYS80Mjk3OCwgYWRh LzQ3NTAwLCBib290c3RyYXAvNjM3MDMsIGJvb3RzdHJhcC82NDIxMywgYysrLzU2NDkzLAotCWMr Ky82MzI2NSwgYysrLzYzODQ5LCBjLzUyNzY5LCBjLzU5NzA4LCBmb3J0cmFuLzYzOTM4LCBpcGEv NjM1NTEsCi0JaXBhLzYzODM4LCBpcGEvNjQxNTMsIGxpYnN0ZGMrKy82MTk0NywgbGlic3RkYysr LzYzNDk3LAotCWxpYnN0ZGMrKy82Mzg0MCwgbGlic3RkYysrLzY0MTAzLCBsaWJzdGRjKysvNjQx NDAsIGxpYnN0ZGMrKy82NDIwMywKLQltaWRkbGUtZW5kLzYzNjY1LCBtaWRkbGUtZW5kLzYzNzM4 LCBtaWRkbGUtZW5kLzYzNzYyLAotCW1pZGRsZS1lbmQvNjQwNjcsIG1pZGRsZS1lbmQvNjQxMTEs IG1pZGRsZS1lbmQvNjQyMjUsCi0JcHJlcHJvY2Vzc29yLzYwNDM2LCBydGwtb3B0aW1pemF0aW9u LzYzNDc1LCBydGwtb3B0aW1pemF0aW9uLzYzNDgzLAotCXJ0bC1vcHRpbWl6YXRpb24vNjQwMzcs IHNhbml0aXplci82MzkxMywgdGFyZ2V0LzUwNzUxLCB0YXJnZXQvNTEyNDQsCi0JdGFyZ2V0LzUz OTc2LCB0YXJnZXQvNTUzNTEsIHRhcmdldC81Njg0NiwgdGFyZ2V0LzU5NTkzLCB0YXJnZXQvNjAx MTEsCi0JdGFyZ2V0LzYxNTM1LCB0YXJnZXQvNjM1MzgsIHRhcmdldC82MzY2MSwgdGFyZ2V0LzYz NjczLCB0YXJnZXQvNjM3ODMsCi0JdGFyZ2V0LzYzOTQ3LCB0YXJnZXQvNjQxMDgsIHRhcmdldC82 NDExMywgdGFyZ2V0LzY0MTE1LAotCXRlc3RzdWl0ZS82MzMwNSwgdHJlZS1vcHRpbWl6YXRpb24v NjE2ODYsIHRyZWUtb3B0aW1pemF0aW9uLzYxNzUwLAotCXRyZWUtb3B0aW1pemF0aW9uLzYxOTI3 LCB0cmVlLW9wdGltaXphdGlvbi82MjAyMSwKLQl0cmVlLW9wdGltaXphdGlvbi82MjE2NywgdHJl ZS1vcHRpbWl6YXRpb24vNjIyMzgsCi0JdHJlZS1vcHRpbWl6YXRpb24vNjM2MDUsIHRyZWUtb3B0 aW1pemF0aW9uLzYzNzM4LAotCXRyZWUtb3B0aW1pemF0aW9uLzYzODQxLCB0cmVlLW9wdGltaXph dGlvbi82MzkxNSwKLQl0cmVlLW9wdGltaXphdGlvbi82NDE5MQotCi0qIFNhdCBOb3YgIDEgMjAx NCBKYWt1YiBKZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPiA0LjkuMi0xCi0tIHVwZGF0ZSBmcm9t IHRoZSA0LjkgYnJhbmNoCi0gIC0gR0NDIDQuOS4yIHJlbGVhc2UKLSAgLSBQUnMgc2FuaXRpemVy LzYzNjM4LCBzYW5pdGl6ZXIvNjM2OTcsIHRyZWUtb3B0aW1pemF0aW9uLzYzNTMwCi0tIGhhbmRs ZSBSRUdfRVEqIG5vdGVzIGluIFJFRSAoUFIgcnRsLW9wdGltaXphdGlvbi82MzY1OSkKLS0gaW5j bHVkZSBhc2FuL2xzYW4gc2FuaXRpemVyLyBpbmNsdWRlcwotCi0qIEZyaSBPY3QgMjQgMjAxNCBK YWt1YiBKZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPiA0LjkuMS0xMwotLSB1cGRhdGUgZnJvbSB0 aGUgNC45IGJyYW5jaAotICAtIFBScyBib290c3RyYXAvNjM2MzIsIGxpYmZvcnRyYW4vNjM1ODks IGxpYnN0ZGMrKy82MzUwMCwKLQlsdG8vNjM2MDMsIHRyZWUtb3B0aW1pemF0aW9uLzYzNTYzCi0t IGJhY2twb3J0IC1meyxuby19c2FuaXRpemUtcmVjb3Zlcj08bGlzdD4gc3VwcG9ydCBmcm9tIHRo ZSB0cnVuawotLSBiYWNrcG9ydCB2YXItdHJhY2tpbmcgZml4ICgjMTE1MTIyNiwgUFIgZGVidWcv NjM2MjMpCi0KLSogRnJpIE9jdCAxNyAyMDE0IEpha3ViIEplbGluZWsgPGpha3ViQHJlZGhhdC5j b20+IDQuOS4xLTEyCi0tIHVwZGF0ZSBmcm9tIHRoZSA0LjkgYnJhbmNoCi0gIC0gUFJzIGFkYS82 MzIyNSwgYysrLzYzMzA2LCBjKysvNjM0MDUsIGMrKy82MzQxNSwgYysrLzYzNDM3LCBjKysvNjM0 NTUsCi0JYy82MzQ5NSwgZGVidWcvNjMzNDIsIGZvcnRyYW4vNTk0ODgsIGlwYS82MTE0NCwgaXBh LzYyMTIxLAotCWxpYmdmb3J0cmFuLzYzNDYwLCBsaWJnb21wLzYxMjAwLCBsaWJzdGRjKysvNTc0 NDAsIGxpYnN0ZGMrKy81OTYwMywKLQlsaWJzdGRjKysvNjMxOTksIGxpYnN0ZGMrKy82MzQ0OSwg bGlic3RkYysrLzYzNDU2LCBsdG8vNjIwMjYsCi0JcmVncmVzc2lvbi82MTUxMCwgcnRsLW9wdGlt aXphdGlvbi81NzAwMywgcnRsLW9wdGltaXphdGlvbi82MzQ0OCwKLQlzYW5pdGl6ZXIvNjExMDAs IHNhbml0aXplci82MTUzMCwgc2FuaXRpemVyLzYxNTQ3LCBzYW5pdGl6ZXIvNjE4OTcsCi0Jc2Fu aXRpemVyLzYyMDg5LCBzYW5pdGl6ZXIvNjIxNDAsIHRhcmdldC81Mjk0MSwgdGFyZ2V0LzYzNDI4 LAotCXRyZWUtb3B0aW1pemF0aW9uLzYxOTY5LCB0cmVlLW9wdGltaXphdGlvbi82MjAzMSwKLQl0 cmVlLW9wdGltaXphdGlvbi82MzMwMiwgdHJlZS1vcHRpbWl6YXRpb24vNjMzNzUsCi0JdHJlZS1v cHRpbWl6YXRpb24vNjMzNzksIHRyZWUtb3B0aW1pemF0aW9uLzYzMzgwCi0gIC0gaW5pdGlhbCAt ZnNhbml0aXplPWtlcm5lbC1hZGRyZXNzIHN1cHBvcnQKLQotKiBUdWUgU2VwIDMwIDIwMTQgSmFr dWIgSmVsaW5layA8amFrdWJAcmVkaGF0LmNvbT4gNC45LjEtMTEKLS0gdXBkYXRlIGZyb20gdGhl IDQuOSBicmFuY2gKLSAgLSBQUnMgYysrLzYxNDY1LCBjKysvNjIyMTksIGMrKy82MzI0OSwgaW5s aW5lLWFzbS82MzI4MiwgbWlkZGxlLWVuZC82MzI0NywKLQlwbHVnaW5zLzYzNDEwLCBzYW5pdGl6 ZXIvNjEyNzIsIHRhcmdldC80OTQyMywgdGFyZ2V0LzYxNDA3LAotCXRhcmdldC82MjIxOCwgdGFy Z2V0LzYzMzM1LCB0cmVlLW9wdGltaXphdGlvbi82MzM0MQotLSBhdm9pZCBmbnNwbGl0IGlmIHRo ZXJlIGFyZSBmb3JjZWQgbGFiZWxzIGFjY2Vzc2VkIGluIGJldHdlZW4gdGhlIHBhcnRpdGlvbnMK LSAgKCMxMTA2NzU4LCBQUiB0cmVlLW9wdGltaXphdGlvbi82MzE4NikKLQotKiBNb24gU2VwIDIy IDIwMTQgSmFrdWIgSmVsaW5layA8amFrdWJAcmVkaGF0LmNvbT4gNC45LjEtMTAKLS0gdXBkYXRl IGZyb20gdGhlIDQuOSBicmFuY2gKLSAgLSBQUnMgYysrLzYyMDE3LCBjKysvNjMyNDEsIGMrKy82 MzI0OCwgZGVidWcvNjMyODQsIGRlYnVnLzYzMzI4LCBpcGEvNjE2NTQsCi0JdGFyZ2V0LzYxODUz LCB0ZXN0c3VpdGUvNjMyOTIKLS0gZml4IHNjaGVkdWxlciAtZmNvbXBhcmUtZGVidWcgaXNzdWUg KCMxMTQwODcyLCBQUiBkZWJ1Zy82MzI4NSkKLQotKiBGcmkgU2VwIDEyIDIwMTQgSmFrdWIgSmVs aW5layA8amFrdWJAcmVkaGF0LmNvbT4gNC45LjEtOQotLSB1cGRhdGUgZnJvbSB0aGUgNC45IGJy YW5jaAotICAtIFBScyBjKysvNTg2MjQsIGMrKy82MTIxNCwgYysrLzYxNjU5LCBjKysvNjIxMjks IGMrKy82MjIyNCwgYysrLzYyNjU5LAotCWMrKy82MzEzOSwgYy82MTI3MSwgYy82MjI5NCwgZm9y dHJhbi82MjEwNiwgZm9ydHJhbi82MjE0MiwKLQlmb3J0cmFuLzYyMjE0LCBmb3J0cmFuLzYyMjE1 LCBmb3J0cmFuLzYyMjcwLCBpcGEvNjA0NDksIGlwYS82MTk4NiwKLQlpcGEvNjIwMTUsIGxpYmdm b3J0cmFuLzYyMTg4LCBsaWJzdGRjKysvNjIyNjQsIGxpYnN0ZGMrKy82MzIxOSwKLQltaWRkbGUt ZW5kLzYxNzc2LCBvdGhlci82MjAwOCwgb3RoZXIvNjIyNDgsIHJ0bC1vcHRpbWl6YXRpb24vNjE2 NzIsCi0JcnRsLW9wdGltaXphdGlvbi82MjAwNCwgcnRsLW9wdGltaXphdGlvbi82MjAzMCwKLQly dGwtb3B0aW1pemF0aW9uLzYyMDc5LCBydGwtb3B0aW1pemF0aW9uLzYyMTQ2LCB0YXJnZXQvNjE2 NDEsCi0JdGFyZ2V0LzYxOTk2LCB0YXJnZXQvNjIwMTEsIHRhcmdldC82MjAzOCwgdGFyZ2V0LzYy MDQwLCB0YXJnZXQvNjIxMTEsCi0JdGFyZ2V0LzYyMTk1LCB0YXJnZXQvNjIyNjEsIHRhcmdldC82 MjI2MiwgdGFyZ2V0LzYyMzEyLCB0YXJnZXQvNjMyMDksCi0JdGFyZ2V0LzYzMjIzLCB0YXJnZXQv NjMyMjgsIHRlc3RzdWl0ZS81NjE5NCwgdHJlZS1vcHRpbWl6YXRpb24vNjAxOTYsCi0JdHJlZS1v cHRpbWl6YXRpb24vNjIwNzUsIHRyZWUtb3B0aW1pemF0aW9uLzYyMDkxLAotCXRyZWUtb3B0aW1p emF0aW9uLzYyMTc1LCB0cmVlLW9wdGltaXphdGlvbi82MzE4OQotLSBmaXggczM5MHsseH0gcmV0 dXJuIGFkZHJlc3MgaGFuZGxpbmcgaW4gZXBpbG9ndWVzICgjMTEzMTg5OSwKLSAgUFIgdGFyZ2V0 LzYyNjYyKQotCi0qIEZyaSBBdWcgMTUgMjAxNCBKYWt1YiBKZWxpbmVrIDxqYWt1YkByZWRoYXQu Y29tPiA0LjkuMS04Ci0tIHVwZGF0ZSBmcm9tIHRoZSA0LjkgYnJhbmNoCi0gIC0gUFJzIGZvcnRy YW4vNjIwNzYsIGZvcnRyYW4vNjIxMDcsIGx0by82MjAzMiwgbWlkZGxlLWVuZC82MjA5MiwKLQl0 YXJnZXQvNjE3MTMKLS0gYWxsb3cgZWxlbWVudHMvY29tcG9uZW50cyBvZiBhbGxvY2F0YWJsZXMg aW4gISRvbXAgYXRvbWljCi0gIChQUiBmb3J0cmFuLzYyMTMxKQotLSByZXF1aXJlL2J1aWxkIHJl cXVpcmUgPj0gMi4yNCBiaW51dGlscwotCi0qIFRodSBBdWcgMTQgMjAxNCBKYWt1YiBKZWxpbmVr IDxqYWt1YkByZWRoYXQuY29tPiA0LjkuMS03Ci0tIGZpeCB1cCBzY2hlZHVsZXIgZGVwcyBoYW5k bGluZyBmaXggKFBSIHRhcmdldC82MjAyNSkKLS0gdmVjdG9yaXphdGlvbiBmaXggKFBSIHRyZWUt b3B0aW1pemF0aW9uLzYyMDczKQotCi0qIFdlZCBBdWcgMTMgMjAxNCBKYWt1YiBKZWxpbmVrIDxq YWt1YkByZWRoYXQuY29tPiA0LjkuMS02Ci0tIHVwZGF0ZSBmcm9tIHRoZSA0LjkgYnJhbmNoCi0g IC0gUFJzIGMrKy81ODcxNCwgYysrLzYwODcyLCBjKysvNjE5NTksIGMrKy82MTk5NCwgZm9ydHJh bi82MTk5OSwKLQlsaWJzdGRjKysvNjE2NjcsIG90aGVyLzYxOTYyLCB0cmVlLW9wdGltaXphdGlv bi82MDcwNwotICAtIGZpeCBzY2hlZHVsZXIgZGVwcyBoYW5kbGluZyBvZiBpbmMgd2l0aCBjbG9i YmVycyB2cy4gbWVtIHVzZXIgKCMxMTI2NDYzLAotICAgIFBSIHRhcmdldC82MjAyNSkKLS0gb3B0 aW1pemUgc2xpZ2h0bHkgYWFyY2g2NCB1bndpbmQgaW5mbwotLSBiYWNrcG9ydCBhcm0gdmN2dGYy aSBmaXggZnJvbSB0cnVuayAoUFIgdGFyZ2V0LzYyMDk4KQotLSBiYWNrcG9ydCBmb2xkX2N0b3Jf cmVmZXJlbmNlIGJpZy1lbmRpYW4gZml4IChQUiBtaWRkbGUtZW5kLzYyMTAzKQotCi0qIFRodSBB dWcgIDcgMjAxNCBKYWt1YiBKZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPiA0LjkuMS01Ci0tIHVw ZGF0ZSBmcm9tIHRoZSA0LjkgYnJhbmNoCi0gIC0gUFJzIGRlYnVnLzYxOTIzLCBsaWJzdGRjKysv NTg5NjIsIGxpYnN0ZGMrKy82MTM3NCwgbGlic3RkYysrLzYxMzkwLAotCWxpYnN0ZGMrKy82MTk0 NiwgbWlkZGxlLWVuZC82MTQ1NSwgb3RoZXIvNjE5NjMsIHRhcmdldC82MDEwMiwKLQl0cmVlLW9w dGltaXphdGlvbi82MTMyMCwgdHJlZS1vcHRpbWl6YXRpb24vNjEzNzUKLQotKiBGcmkgQXVnICAx IDIwMTQgSmFrdWIgSmVsaW5layA8amFrdWJAcmVkaGF0LmNvbT4gNC45LjEtMwotLSB1cGRhdGUg ZnJvbSB0aGUgNC45IGJyYW5jaAotICAtIFBScyBmb3J0cmFuLzYxNzgwLCBsaWJvYmpjLzYxOTIw LCBsaWJzdGRjKysvNjAwMzcsIHRhcmdldC80NzIzMCwKLQl0YXJnZXQvNjE2NTYsIHRhcmdldC82 MTY2MiwgdGFyZ2V0LzYxNzk0LCB0YXJnZXQvNjE4NDQsCi0JdGFyZ2V0LzYxODU1LCB0cmVlLW9w dGltaXphdGlvbi82MTk2NAotICAtIGZpeCBsaWJnZm9ydHJhbiBvdmVyZmxvd3Mgb24gYWxsb2Nh dGlvbiAoQ1ZFLTIwMTQtNTA0NCkKLS0gYmFja3BvcnQgLWZzYW5pdGl6ZT1hbGlnbm1lbnQgc3Vw cG9ydCBmcm9tIHRoZSB0cnVuawotCi0qIFRodSBKdWwgMjQgMjAxNCBEYW4gSG9yw6FrIDxkYW5b YXRdZGFubnkuY3o+IDQuOS4xLTIuMQotLSBmaXggYSBMUkEgaW5oZXJpdGFuY2UgYnVnICgjMTEx Nzc5OSkKLQotKiBUaHUgSnVsIDE3IDIwMTQgSmFrdWIgSmVsaW5layA8amFrdWJAcmVkaGF0LmNv bT4gNC45LjEtMgotLSB1cGRhdGUgZnJvbSB0aGUgNC45IGJyYW5jaAotICAtIFBScyBjLWZhbWls eS82MTc0MSwgcnRsLW9wdGltaXphdGlvbi82MTgwMSwgdGFyZ2V0LzYxNzM3LAotCXRyZWUtb3B0 aW1pemF0aW9uLzYxNzc5Ci0KLSogV2VkIEp1bCAxNiAyMDE0IEpha3ViIEplbGluZWsgPGpha3Vi QHJlZGhhdC5jb20+IDQuOS4xLTEKLS0gdXBkYXRlIGZyb20gdGhlIDQuOSBicmFuY2gKLSAgLSBH Q0MgNC45LjEgcmVsZWFzZQotICAtIFBScyBjKysvNTgxNTUsIGMrKy81ODYzNiwgYysrLzYxNjYx LCBmb3J0cmFuLzQxOTM2LCBmb3J0cmFuLzU4ODgzLAotCWZvcnRyYW4vNjE0NTksIGxpYmdmb3J0 cmFuLzYxNjQwLCBtaWRkbGUtZW5kLzUzNTkwLAotCW1pZGRsZS1lbmQvNjE2NTQsIHRhcmdldC81 OTg0MywgdGFyZ2V0LzYxMDYyLCB0YXJnZXQvNjE1NDQsCi0JdHJlZS1vcHRpbWl6YXRpb24vNjE2 ODAsIHRyZWUtb3B0aW1pemF0aW9uLzYxNjgxLAotCXRyZWUtb3B0aW1pemF0aW9uLzYxNjg0LCB0 cmVlLW9wdGltaXphdGlvbi82MTcyNQotLSBlbmFibGUgbGliaXRtIG9uIGFhcmNoNjQKLS0gZW1p dCAubm90ZS5HTlUtc3RhY2sgb24gYWFyY2g2NCAoIzExMTk4ODUpCi0tIHNtYWxsIC1mc2FuaXRp emU9Ym91bmRzIGZpeCBmcm9tIHRoZSB0cnVuawotCi0qIFNhdCBKdWwgMTIgMjAxNCBUb20gQ2Fs bGF3YXkgPHNwb3RAZmVkb3JhcHJvamVjdC5vcmc+IDQuOS4wLTE1Ci0tIGZpeCBsaWNlbnNlIGhh bmRsaW5nCi0KLSogV2VkIEp1bCAgMiAyMDE0IEpha3ViIEplbGluZWsgPGpha3ViQHJlZGhhdC5j b20+IDQuOS4wLTE0Ci0tIHVwZGF0ZSBmcm9tIHRoZSA0LjkgYnJhbmNoCi0gIC0gT3Blbk1QIDQu MCBGb3J0cmFuIHN1cHBvcnQKLSAgLSBQUnMgYysrLzUxMjUzLCBjKysvNTg3MDQsIGMrKy81ODc1 MywgYysrLzU4NzgxLCBjKysvNTg5MzAsIGMrKy81OTg2NywKLQljKysvNjAyNDksIGMrKy82MTI0 MiwgYysrLzYxMzgyLCBjKysvNjE0MzMsIGMrKy82MTQ4OCwgYysrLzYxNTAwLAotCWMrKy82MTUz NywgYysrLzYxNTM5LCBjKysvNjE1NjYsIGMrKy82MTYxNCwgYysrLzYxNjQ3LCBmb3J0cmFuLzYw MTI3LAotCWZvcnRyYW4vNjA5MjgsIGxpYmdmb3J0cmFuLzYxNDk5LCBtaWRkbGUtZW5kLzU3NTQx LCB0YXJnZXQvNjE1MDMsCi0JdGFyZ2V0LzYxNTQyLCB0YXJnZXQvNjE1ODYsIHRhcmdldC82MTYz MywgdHJlZS1vcHRpbWl6YXRpb24vNTcyMzMsCi0JdHJlZS1vcHRpbWl6YXRpb24vNjEyOTksIHRy ZWUtb3B0aW1pemF0aW9uLzYxMzA2Ci0tIGZpeCBjb21iaW5lciBvbiBzMzkwICgjMTEwMjMyNCwg UFIgcnRsLW9wdGltaXphdGlvbi82MTY3MykKLS0gc29tZSAtZnNhbml0aXplPXVuZGVmaW5lZCBm aXhlcyBmcm9tIHRoZSB0cnVuawotCi0qIFdlZCBKdW4gMjUgMjAxNCBKYWt1YiBKZWxpbmVrIDxq YWt1YkByZWRoYXQuY29tPiA0LjkuMC0xMwotLSB1cGRhdGUgZnJvbSB0aGUgNC45IGJyYW5jaAot ICAtIFBScyBib290c3RyYXAvNjE1ODMsIGMrKy82MTU1NiwgaXBhLzYxMjExLCBpcGEvNjE1NDAs IGxpYnN0ZGMrKy82MTUzMiwKLQl0YXJnZXQvNjE1NzAKLS0gYmFja3BvcnQgLWZzYW5pdGl6ZT1i b3VuZHMgc3VwcG9ydCBmcm9tIHRoZSB0cnVuawotCi0qIFRodSBKdW4gMTkgMjAxNCBKYWt1YiBK ZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPiA0LjkuMC0xMgotLSB1cGRhdGUgZnJvbSB0aGUgNC45 IGJyYW5jaAotICAtIFBScyBjKysvNTkyOTYsIGMrKy82MDYwNSwgYysrLzYxNTA3LCBkZWJ1Zy81 NzUxOQotCi0qIFdlZCBKdW4gMTggMjAxNCBLeWxlIE1jTWFydGluIDxreWxlQHJlZGhhdC5jb20+ IDQuOS4wLTExCi0tIGF2b2lkIGFwcGx5aW5nIHBhdGNoIDE2IHR3aWNlCi0KLSogV2VkIEp1biAx OCAyMDE0IFJpY2hhcmQgSGVuZGVyc29uIDxydGhAcmVkaGF0LmNvbT4KLS0gaW1wb3J0IGZpeCBm b3IgUFIgdGFyZ2V0LzYxNTQ1IGZyb20gdGhlIDQuOSBicmFuY2gKLQotKiBUdWUgSnVuIDE3IDIw MTQgSmFrdWIgSmVsaW5layA8amFrdWJAcmVkaGF0LmNvbT4gNC45LjAtMTAKLS0gdXBkYXRlIGZy b20gdGhlIDQuOSBicmFuY2gKLSAgLSBQUnMgZm9ydHJhbi80NTE4NywgaXBhLzYxMTg2LCBsaWJz dGRjKysvNjAzMjYsIGxpYnN0ZGMrKy82MTI2OSwKLQlydGwtb3B0aW1pemF0aW9uLzYxMDk0LCBy dGwtb3B0aW1pemF0aW9uLzYxNDQ2LCB0YXJnZXQvNjE0MTUsCi0JdGFyZ2V0LzYxNDIzLCB0YXJn ZXQvNjE0ODMKLQotKiBUaHUgSnVuIDEyIDIwMTQgSmFrdWIgSmVsaW5layA8amFrdWJAcmVkaGF0 LmNvbT4gNC45LjAtOQotLSB1cGRhdGUgZnJvbSB0aGUgNC45IGJyYW5jaAotICAtIFBScyBjKysv NjEzNDMsIGZvcnRyYW4vNjE0MDYsIGZvcnRyYW4vNjE0MTgsIGlwYS82MTM5MywKLQlsaWJmb3J0 cmFuLzYxMTczLCBtaWRkbGUtZW5kLzYxNDU2LCBtaWRkbGUtZW5kLzYxNDg2LAotCXRhcmdldC82 MTMwMCwgdGFyZ2V0LzYxNDMxLCB0YXJnZXQvNjE0NDMsIHRyZWUtb3B0aW1pemF0aW9uLzYxNDUy Ci0gIC0gZml4IHVwIGp1bXAgdGhyZWFkaW5nICgjMTA5NDk3NSwgUFIgdHJlZS1vcHRpbWl6YXRp b24vNjEyODkpCi0tIGluY2x1ZGUgdnh3b3Jrcy1kdW1teS5oIGluIGFybSBnY2MtcGx1Z2luLWRl dmVsIChQUiBwbHVnaW5zLzQ1MDc4KQotCi0qIFRodSBKdW4gIDUgMjAxNCBKYWt1YiBKZWxpbmVr IDxqYWt1YkByZWRoYXQuY29tPiA0LjkuMC04Ci0tIGVuYWJsZSBhZGEgb24gYXJtCi0KLSogV2Vk IEp1biAgNCAyMDE0IEpha3ViIEplbGluZWsgPGpha3ViQHJlZGhhdC5jb20+IDQuOS4wLTcKLS0g dXBkYXRlIGZyb20gdGhlIDQuOSBicmFuY2gKLSAgLSBQUnMgYysrLzYxMDIwLCBjKysvNjExMzQs IGMvNTg5NDIsIGMvNjEwNTMsIGlwYS82MTE2MCwgbGlic3RkYysrLzYwNzM0LAotCWxpYnN0ZGMr Ky82MTIyNywgcnRsLW9wdGltaXphdGlvbi82MDg2NiwgcnRsLW9wdGltaXphdGlvbi82MDkwMSwK LQl0YXJnZXQvNjEyMzksIHRyZWUtb3B0aW1pemF0aW9uLzYxMzgzCi0KLSogVGh1IE1heSAyOSAy MDE0IEpha3ViIEplbGluZWsgPGpha3ViQHJlZGhhdC5jb20+IDQuOS4wLTYKLS0gdXBkYXRlIGZy b20gdGhlIDQuOSBicmFuY2gKLSAgLSBQUnMgYm9vdHN0cmFwLzYwOTg0LCBjKysvNjAxODksIGMv NjAxODksIGMvNjExOTEsIGZvcnRyYW4vNjA4MzQsCi0JbGliZm9ydHJhbi82MTMxMCwgbGliZ2Nj LzYxMTUyLCBsaWJzdGRjKysvNjExNDMsIGxpYnN0ZGMrKy82MTMyOSwKLQlsdG8vNjA4MjAsIGx0 by82MTAxMiwgbWlkZGxlLWVuZC81ODA5NCwgbWlkZGxlLWVuZC82MTAxMCwKLQltaWRkbGUtZW5k LzYxMDQ1LCBtaWRkbGUtZW5kLzYxMjUyLCBydGwtb3B0aW1pemF0aW9uLzYxMjE1LAotCXJ0bC1v cHRpbWl6YXRpb24vNjEzMjUsIHRhcmdldC82MTA0NCwgdGFyZ2V0LzYxMjAyLCB0YXJnZXQvNjEy MDgsCi0JdGFyZ2V0LzYxMjMxLCB0YXJnZXQvNjEyNDksIHRhcmdldC82MTI3MSwgdHJlZS1vcHRp bWl6YXRpb24vNjA5NzkKLS0gYmFja3BvcnQgLWZzYW5pdGl6ZT1mbG9hdC1jYXN0LW92ZXJmbG93 IHN1cHBvcnQgZnJvbSB0cnVuawotCi0qIFN1biBNYXkgMTggMjAxNCBKYWt1YiBKZWxpbmVrIDxq YWt1YkByZWRoYXQuY29tPiA0LjkuMC01Ci0tIHVwZGF0ZSBmcm9tIHRoZSA0LjkgYnJhbmNoCi0g IC0gUFJzIGRlYnVnLzYxMDEzLCBpcGEvNjA4NTQsIGlwYS82MDg5NywgaXBhLzYxMDg1LCBsaWJm b3J0cmFuLzYxMTg3LAotCWxpYmdjYy82MTA5NywgbGlic3RkYysrLzYwOTY2LCBsdG8vNjA5ODEs IHJ0bC1vcHRpbWl6YXRpb24vNjA5NjksCi0JdGFyZ2V0LzYwOTY5LCB0YXJnZXQvNjExOTMsIHRy ZWUtb3B0aW1pemF0aW9uLzYxMTU4Ci0KLSogV2VkIE1heSAxNCAyMDE0IEpha3ViIEplbGluZWsg PGpha3ViQHJlZGhhdC5jb20+IDQuOS4wLTQKLS0gdXBkYXRlIGZyb20gdGhlIDQuOSBicmFuY2gK LSAgLSBQUnMgYysrLzYwMDE5LCBjKysvNjA5OTksIGMrKy82MTA4MywgYysrLzYxMTUxLCBkcml2 ZXIvNjExMDYsIGlwYS82MDk3MywKLQlsaWJmb3J0cmFuLzYxMDQ5LCBsaWJzdGRjKysvNjA1OTQs IGxpYnN0ZGMrKy82MTAyMywgbGlic3RkYysrLzYxMDg2LAotCWxpYnN0ZGMrKy82MTExNywgdGFy Z2V0LzU5OTUyLCB0YXJnZXQvNjA5OTEsIHRhcmdldC82MTA1NSwKLQl0YXJnZXQvNjEwNjAsIHRh cmdldC82MTA5MiwgdHJlZS1vcHRpbWl6YXRpb24vNTc4NjQsCi0JdHJlZS1vcHRpbWl6YXRpb24v NjA5MDIsIHRyZWUtb3B0aW1pemF0aW9uLzYxMDA5Ci0tIG9ic29sZXRlIGdjYy1qYXZhIGFuZCBs aWJqYXZhKiwgcmVtb3ZlIGFsbCB0cmFjZXMgb2YgYnVpbGRfamF2YSBmcm9tIHRoZQotICBzcGVj IGZpbGUgKCMxMDk2NDc0LCAjMTA5NTUxMykKLS0gYmFja3BvcnQgLWZzYW5pdGl6ZT1mbG9hdC1k aXZpZGUtYnktemVybyBzdXBwb3J0IGZyb20gdHJ1bmsKLQotKiBUdWUgTWF5ICA2IDIwMTQgSmFr dWIgSmVsaW5layA8amFrdWJAcmVkaGF0LmNvbT4gNC45LjAtMwotLSB1cGRhdGUgZnJvbSB0aGUg NC45IGJyYW5jaAotICAtIFBScyBkcml2ZXIvNjEwNjUsIGlwYS82MDk2NQotLSBkaXNhYmxlIGdj Yy1qYXZhIGFuZCBsaWJqYXZhLCBicm9rZW4gYnkgcmVjZW50IGVjbGlwc2UtZWNqIGNoYW5nZXMK LQotKiBNb24gTWF5ICA1IDIwMTQgSmFrdWIgSmVsaW5layA8amFrdWJAcmVkaGF0LmNvbT4gNC45 LjAtMgotLSB1cGRhdGUgZnJvbSB0aGUgNC45IGJyYW5jaAotICAtIFBScyBjKysvNjA5NTEsIGMr Ky82MDk4MCwgYysrLzYwOTkyLCBmb3J0cmFuLzYwNDk1LCBpcGEvNjA5MTEsIGlwYS82MDkxMiwK LQlsaWJzdGRjKysvNTk0NzYsIGxpYnN0ZGMrKy82MDQ5NywgbGlic3RkYysrLzYwNzEwLCBsaWJz dGRjKysvNjEwMzYsCi0JbHRvLzYwNzIwLCBtaWRkbGUtZW5kLzYwODkxLCBtaWRkbGUtZW5kLzYw ODk1LCB0YXJnZXQvNjA5MDksCi0JdGFyZ2V0LzYwOTQxLCB0YXJnZXQvNjEwMjYsIHRyZWUtb3B0 aW1pemF0aW9uLzYwOTAzLAotCXRyZWUtb3B0aW1pemF0aW9uLzYwOTMwLCB0cmVlLW9wdGltaXph dGlvbi82MDk2MCwKLQl0cmVlLW9wdGltaXphdGlvbi82MDk3MQotLSBiYWNrcG9ydCAtZm5vLXNh bml0aXplLXJlY292ZXIgYW5kIC1mc2FuaXRpemUtdW5kZWZpbmVkLXRyYXAtb24tZXJyb3IKLSAg c3VwcG9ydCBmcm9tIHRoZSB0cnVuayAoUFIgc2FuaXRpemVyLzYwMjc1KQotCi0qIFR1ZSBBcHIg MjkgMjAxNCBSaWNoYXJkIEhlbmRlcnNvbiA8cnRoQHJlZGhhdC5jb20+Ci0tIGVuYWJsZSBhZGEs IGdvIGFuZCBsaWJhdG9taWMgb24gYWFyY2g2NAotCi0qIFR1ZSBBcHIgMjIgMjAxNCBKYWt1YiBK ZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPiA0LjkuMC0xCi0tIHVwZGF0ZSBmcm9tIHRoZSA0Ljkg YnJhbmNoCi0gIC0gR0NDIDQuOS4wIHJlbGVhc2UKLSAgLSBQUnMgYy81OTA3MywgYy82MDgxOSwg Zm9ydHJhbi81ODA4NSwgZm9ydHJhbi82MDcxNywgbGliZm9ydHJhbi82MDgxMCwKLQltaWRkbGUt ZW5kLzU1MDIyLCBtaWRkbGUtZW5kLzYwMjgxLCBtaWRkbGUtZW5kLzYwNDY3LAotCW1pZGRsZS1l bmQvNjA0NjksIG1pZGRsZS1lbmQvNjA4NDksIG90aGVyLzQzNjIwLCBvdGhlci82MDY0NCwKLQl0 YXJnZXQvNjA4MzksIHRhcmdldC82MDg0NywgdGFyZ2V0LzYwODY4LCB0cmVlLW9wdGltaXphdGlv bi81OTgxNywKLQl0cmVlLW9wdGltaXphdGlvbi82MDQ1MywgdHJlZS1vcHRpbWl6YXRpb24vNjA4 MjMsCi0JdHJlZS1vcHRpbWl6YXRpb24vNjA4MzYsIHRyZWUtb3B0aW1pemF0aW9uLzYwODQxLAot CXRyZWUtb3B0aW1pemF0aW9uLzYwODQ0Ci0KLSogRnJpIEFwciAxMSAyMDE0IEpha3ViIEplbGlu ZWsgPGpha3ViQHJlZGhhdC5jb20+IDQuOS4wLTAuMTAKLS0gdXBkYXRlIGZyb20gdGhlIHRydW5r IGFuZCA0LjkgYnJhbmNoCi0gIC0gR0NDIDQuOS4wLXJjMQotICAtIFBScyBhZGEvNTQwNDAsIGFk YS81OTM0NiwgYysrLzUyODQ0LCBpcGEvNjA3NjEsIGx0by82MDU2NywKLQltaWRkbGUtZW5kLzYw NTU2LCBtaWRkbGUtZW5kLzYwNzk3LCBvdGhlci81OTA1NSwgdGVzdHN1aXRlLzYwNzczCi0gIC0g Zml4IENTRSB3aXRoIG5vbi12b2xhdGlsZSBpbmxpbmUgYXNtIHdpdGggbXVsdGlwbGUgcmVzdWx0 cyBvcgotICAgIHNpbmdsZSByZXN1bHQgYW5kIGNsb2JiZXJzICgjMTA4NjMzMiwgUFIgcnRsLW9w dGltaXphdGlvbi82MDY2MykKLS0gZW5hYmxlIHBwYzY0bGUgaW4gdGhlIHNwZWMgZmlsZQotCi0q IFdlZCBBcHIgIDkgMjAxNCBKYWt1YiBKZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPiA0LjkuMC0w LjkKLS0gdXBkYXRlIGZyb20gdGhlIHRydW5rCi0gIC0gUFJzIGFkYS82MDcwMywgYm9vdHN0cmFw LzYwNjIwLCBib290c3RyYXAvNjA3MTksIGJvb3RzdHJhcC82MDc0MywKLQljKysvMjExMTMsIGMr Ky80NDYxMywgYysrLzQ0ODU5LCBjKysvNTgyMDcsIGMrKy81OTExNSwgYysrLzYwMzc0LAotCWMr Ky82MDU3MywgYysrLzYwNjI2LCBjKysvNjA2NDIsIGMrKy82MDcwOCwgYysrLzYwNzEzLCBjKysv NjA3MzEsCi0JZGVidWcvNTU3OTQsIGRlYnVnLzYwNjU1LCBmb3J0cmFuLzYwMTkxLCBpcGEvNTk2 MjYsIGlwYS82MDY0MCwKLQlpcGEvNjA2NTksIGlwYS82MDc0NiwgbGlic3RkYysrLzYwMjcwLCBt aWRkbGUtZW5kLzYwNzA2LAotCW1pZGRsZS1lbmQvNjA3MjksIG1pZGRsZS1lbmQvNjA3NTAsIHJ0 bC1vcHRpbWl6YXRpb24vNjAxNTUsCi0JcnRsLW9wdGltaXphdGlvbi82MDYwNCwgcnRsLW9wdGlt aXphdGlvbi82MDcwMCwKLQlydGwtb3B0aW1pemF0aW9uLzYwNzc2LCBzYW5pdGl6ZXIvNjA3NDUs IHRhcmdldC80Mzc1MSwgdGFyZ2V0LzU0MDgzLAotCXRhcmdldC81NDQwNywgdGFyZ2V0LzYwMDM0 LCB0YXJnZXQvNjAzNjMsIHRhcmdldC82MDUwNCwgdGFyZ2V0LzYwNjAyLAotCXRhcmdldC82MDYw OSwgdGFyZ2V0LzYwNjUwLCB0YXJnZXQvNjA2NTcsIHRhcmdldC82MDY5NywgdGFyZ2V0LzYwNzA0 LAotCXRhcmdldC82MDczNSwgdGFyZ2V0LzYwNzYzLCB0ZXN0c3VpdGUvNjA2NzEsIHRlc3RzdWl0 ZS82MDY3MiwKLQl0cmVlLW9wdGltaXphdGlvbi82MDUwNSwgdHJlZS1vcHRpbWl6YXRpb24vNjA2 NTYsCi0JdHJlZS1vcHRpbWl6YXRpb24vNjA3MzMsIHRyZWUtb3B0aW1pemF0aW9uLzYwNzQwLAot CXRyZWUtb3B0aW1pemF0aW9uLzYwNzY2LCB0cmVlLW9wdGltaXphdGlvbi82MDc4NQotCi0qIEZy aSBNYXIgMjggMjAxNCBKYWt1YiBKZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPiA0LjkuMC0wLjgK LS0gdXBkYXRlIGZyb20gdGhlIHRydW5rCi0gIC0gUFJzIGMrKy81MjM2OSwgYysrLzYwMzMxLCBj KysvNjAzNzUsIGMrKy82MDU2NiwgYysrLzYwNTc0LCBjKysvNjA2MjcsCi0JYysrLzYwNjI4LCBj KysvNjA2ODksIGMvMzU0NDksIGMvMzc0MjgsIGMvMzk1MjUsIGMvNTAzNDcsCi0JZm9ydHJhbi8z NDkyOCwgZm9ydHJhbi81ODg4MCwgZm9ydHJhbi82MDUyMiwgZm9ydHJhbi82MDY3NywgaXBhLzYw MzE1LAotCWlwYS82MDYwMCwgbGlic3RkYysrLzYwNjEyLCBsaWJzdGRjKysvNjA2NTgsIG1pZGRs ZS1lbmQvNjA2MzUsCi0JbWlkZGxlLWVuZC82MDY4Miwgb3RoZXIvNTk1NDUsIHJ0bC1vcHRpbWl6 YXRpb24vNjA0NTIsCi0JcnRsLW9wdGltaXphdGlvbi82MDUwMSwgcnRsLW9wdGltaXphdGlvbi82 MDY1MCwgc2FuaXRpemVyLzU2NzgxLAotCXNhbml0aXplci82MDYzNiwgdGFyZ2V0LzYwNTgwLCB0 YXJnZXQvNjA2NzIsIHRhcmdldC82MDY3NSwKLQl0YXJnZXQvNjA2OTMsIHRlc3RzdWl0ZS81ODAx MwotLSBpbmxpbmVyIHNwZWVkIGZpeGVzIChQUiBpcGEvNjAyNDMpCi0tIGZvcnRyYW4gd3Jvbmct Y29kZSBmaXggKFBSIGZvcnRyYW4vNjA1NzYpCi0tIGZpeCBJUEEtU1JBIHdpdGggbWlzbWF0Y2hl ZCB0eXBlcyBiZXR3ZWVuIGNhbGxlciBhbmQgY2FsbGVlCi0gIChQUiBtaWRkbGUtZW5kLzYwNjQ3 KQotLSBmaXggZXhwYW5zaW9uIG9mIHN3aXRjaCB3aXRoIGNvbnN0YW50IGluZGV4IG5vdCBvcHRp bWl6ZWQgZHVyaW5nIGdpbXBsZQotICBwYXNzZXMgKFBSIHRhcmdldC82MDY0OCkKLQotKiBNb24g TWFyIDI0IDIwMTQgSmFrdWIgSmVsaW5layA8amFrdWJAcmVkaGF0LmNvbT4gNC45LjAtMC43Ci0t IHVwZGF0ZSBmcm9tIHRoZSB0cnVuawotICAtIFBScyBjKysvNjAzODQsIGRlYnVnLzYwNjAzLCBm b3J0cmFuLzYwNTk5LCBpcGEvNTkxNzYsIGlwYS82MDQxOSwKLQlsaWJzdGRjKysvNjA1ODcsIGxp YnN0ZGMrKy82MDYyMywgcnRsLW9wdGltaXphdGlvbi82MDYwMSwKLQlzYW5pdGl6ZXIvNjA2MTMs IHRhcmdldC82MDU5OCwgdGFyZ2V0LzYwNjEwLCB0cmVlLW9wdGltaXphdGlvbi82MDU3NwotCi0q IFRodSBNYXIgMjAgMjAxNCBKYWt1YiBKZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPiA0LjkuMC0w LjYKLS0gdXBkYXRlIGZyb20gdGhlIHRydW5rCi0gIC0gUFJzIGFkYS8zOTE3MiwgYysrLzUxNDc0 LCBjKysvNTQyNTAsIGMrKy81OTU3MSwgYysrLzYwMzA1LCBjKysvNjAzMzIsCi0JYysrLzYwMzkw LCBjKysvNjAzOTEsIGMrKy82MDU3MiwgYy81NTM4MywgZm9ydHJhbi81NTIwNywKLQlmb3J0cmFu LzYwMjgzLCBmb3J0cmFuLzYwNTQzLCBmb3J0cmFuLzYwNTQ5LCBsaWJmb3J0cmFuLzQ4NjAwLAot CWxpYmZvcnRyYW4vNTgzMjQsIGxpYnN0ZGMrKy82MDU2NCwgbHRvLzU5NTQzLCBsdG8vNjA1NzEs Ci0JbWlkZGxlLWVuZC82MDUzNCwgbWlkZGxlLWVuZC82MDU1MywgbWlkZGxlLWVuZC82MDU5Nywg b3RoZXIvNjA1ODksCi0JcnRsLW9wdGltaXphdGlvbi81NjM1Niwgc2FuaXRpemVyLzYwNTM1LCBz YW5pdGl6ZXIvNjA1NTcsCi0Jc2FuaXRpemVyLzYwNTY5LCB0YXJnZXQvNjAwMzksIHRhcmdldC82 MDUxNiwgdGFyZ2V0LzYwNTYyLAotCXRhcmdldC82MDU2MywgdGFyZ2V0LzYwNTY4LCB0ZXN0c3Vp dGUvNTg4NTEsIHRlc3RzdWl0ZS82MDU5MCwKLQl0cmVlLW9wdGltaXphdGlvbi82MDU1OQotCi0q IFNhdCBNYXIgMTUgMjAxNCBKYWt1YiBKZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPiA0LjkuMC0w LjUKLS0gdXBkYXRlIGZyb20gdGhlIHRydW5rCi0gIC0gUFJzIGFkYS81MTQ4MywgYWRhLzYwNDEx LCBib290c3RyYXAvNTg1NzIsIGMrKy81MzQ5MiwgYysrLzU4NjA5LAotCWMrKy82MDAzMywgYysr LzYwMjU0LCBjKysvNjAzNjcsIGMrKy82MDM4MywgYysrLzYwMzg5LCBjKysvNjAzOTMsCi0JYysr LzYwNTMyLCBjLzYwMTk3LCBkZWJ1Zy82MDQzOCwgZm9ydHJhbi81MTk3NiwgZm9ydHJhbi82MDM5 MiwKLQlmb3J0cmFuLzYwNDQ3LCBpcGEvNTg3MjEsIGlwYS82MDQ1NywgbGliZm9ydHJhbi8zODE5 OSwKLQlsaWJmb3J0cmFuLzYwMTI4LCBsaWJnY2MvNTkzMzksIGxpYmdjYy82MDQ3MiwgbGliZ2Zv cnRyYW4vNjAxMjgsCi0JbGlic3RkYysrLzU5MzkyLCBsaWJzdGRjKysvNjA0OTksIGx0by82MDQy NCwgbHRvLzYwNDI3LCBsdG8vNjA0NjEsCi0JbWlkZGxlLWVuZC8zNjI4MiwgbWlkZGxlLWVuZC82 MDQxOCwgbWlkZGxlLWVuZC82MDQ0NSwKLQltaWRkbGUtZW5kLzYwNDc0LCBtaWRkbGUtZW5kLzYw NDgyLCBtaWRkbGUtZW5kLzYwNDg0LAotCW1pZGRsZS1lbmQvNjA1MTgsIHJ0bC1vcHRpbWl6YXRp b24vNTcxODksIHJ0bC1vcHRpbWl6YXRpb24vNTczMjAsCi0JcnRsLW9wdGltaXphdGlvbi82MDUw OCwgdGFyZ2V0LzU4MjcxLCB0YXJnZXQvNTg1OTUsIHRhcmdldC81OTM5NiwKLQl0YXJnZXQvNjAy NjQsIHRhcmdldC82MDQ4NiwgdGFyZ2V0LzYwNTI1LCB0cmVlLW9wdGltaXphdGlvbi81OTAyNSwK LQl0cmVlLW9wdGltaXphdGlvbi81OTc3OSwgdHJlZS1vcHRpbWl6YXRpb24vNjA0MjksCi0JdHJl ZS1vcHRpbWl6YXRpb24vNjA0NTQsIHRyZWUtb3B0aW1pemF0aW9uLzYwNDg1LAotCXRyZWUtb3B0 aW1pemF0aW9uLzYwNTAyCi0KLSogVGh1IE1hciAgNiAyMDE0IEpha3ViIEplbGluZWsgPGpha3Vi QHJlZGhhdC5jb20+IDQuOS4wLTAuNAotLSB1cGRhdGUgZnJvbSB0aGUgdHJ1bmsKLSAgLSBQUnMg YysrLzYwMzYxLCBjKysvNjA0MDksIGRlYnVnLzYwMzgxLCB0ZXN0c3VpdGUvNTkzMDgKLQotKiBX ZWQgTWFyICA1IDIwMTQgSmFrdWIgSmVsaW5layA8amFrdWJAcmVkaGF0LmNvbT4gNC45LjAtMC4z Ci0tIHVwZGF0ZSBmcm9tIHRoZSB0cnVuawotICAtIFBScyBib290c3RyYXAvNDgyMzAsIGJvb3Rz dHJhcC81MDkyNywgYm9vdHN0cmFwLzUyNDY2LCBib290c3RyYXAvNjAzNDMsCi0JYysrLzExNTg2 LCBjKysvMTQ3MTAsIGMrKy81MDAyNSwgYysrLzU0MzU5LCBjKysvNTQ0NDAsIGMrKy81NTg3NywK LQljKysvNTcxMzIsIGMrKy81ODE3MCwgYysrLzU4NjA2LCBjKysvNTg2MTAsIGMrKy81ODY3OCwg YysrLzU4ODM1LAotCWMrKy81ODg0NSwgYysrLzU4ODczLCBjKysvNTkyMzEsIGMrKy81OTM0Nywg YysrLzYwMDQ2LCBjKysvNjAwNTEsCi0JYysrLzYwMDUyLCBjKysvNjAwNTMsIGMrKy82MDA2NCwg YysrLzYwMDY1LCBjKysvNjAxMDgsIGMrKy82MDE0NiwKLQljKysvNjAxNjcsIGMrKy82MDE4Miwg YysrLzYwMTg1LCBjKysvNjAxODYsIGMrKy82MDE4NywgYysrLzYwMTkwLAotCWMrKy82MDIxNSwg YysrLzYwMjE2LCBjKysvNjAyMTksIGMrKy82MDIyMiwgYysrLzYwMjI0LCBjKysvNjAyMjUsCi0J YysrLzYwMjI3LCBjKysvNjAyNDEsIGMrKy82MDI0OCwgYysrLzYwMjUwLCBjKysvNjAyNTEsIGMr Ky82MDI1MiwKLQljKysvNjAyNTMsIGMrKy82MDI2NywgYysrLzYwMjcyLCBjKysvNjAzMTEsIGMr Ky82MDMxMiwgYysrLzYwMzE0LAotCWMrKy82MDMyOCwgYysrLzYwMzQ1LCBjKysvNjAzNDcsIGMr Ky82MDM1MywgYysrLzYwMzc2LCBjKysvNjAzNzcsCi0JYysrLzYwMzc5LCBjKysvNjA0MTUsIGMr Ky82MDQxNywgYy8zNzc0MywgYy82MDE5NSwgZGVidWcvNTY1NjMsCi0JZGVidWcvNTcyMzIsIGRl YnVnLzU5OTkyLCBkZWJ1Zy82MDE1MiwgZHJpdmVyLzYwMjMzLCBmb3J0cmFuLzQ5Mzk3LAotCWZv cnRyYW4vNTU5MDcsIGZvcnRyYW4vNTk1OTksIGZvcnRyYW4vNjAyMzEsIGZvcnRyYW4vNjAyMzIs Ci0JZm9ydHJhbi82MDIzNCwgZm9ydHJhbi82MDIzNiwgZm9ydHJhbi82MDI4NiwgZm9ydHJhbi82 MDMwMiwKLQlmb3J0cmFuLzYwMzQxLCBmb3J0cmFuLzYwMzU5LCBpcGEvNTUyNjAsIGlwYS81ODU1 NSwgaXBhLzYwMTUwLAotCWlwYS82MDI0MywgaXBhLzYwMjY2LCBpcGEvNjAzMDYsIGlwYS82MDMy NywgbGliZm9ydHJhbi81ODAxNSwKLQlsaWJmb3J0cmFuLzU5MzEzLCBsaWJmb3J0cmFuLzYwMTQ4 LCBsaWJnY2MvNjAxNjYsIGxpYmdjai81NTYzNywKLQlsaWJqYXZhLzYwMjYxLCBsaWJzdGRjKysv NTgzMzgsIGxpYnN0ZGMrKy82MDMwOCwgbHRvLzUzODA4LCBsdG8vNjAxNzksCi0JbHRvLzYwMjk1 LCBsdG8vNjAzMTksIGx0by82MDQwNCwgbHRvLzYwNDA1LCBtaWRkbGUtZW5kLzU4NDc3LAotCW1p ZGRsZS1lbmQvNTkyMjMsIG1pZGRsZS1lbmQvNjAxNDcsIG1pZGRsZS1lbmQvNjAxNzUsCi0JbWlk ZGxlLWVuZC82MDIyMSwgbWlkZGxlLWVuZC82MDI5MSwgb2JqYysrLzYwMzk4LCBvYmpjLzU2ODcw LAotCXBjaC82MDAxMCwgcGx1Z2lucy81OTMzNSwgcHJlcHJvY2Vzc29yLzU4ODQ0LCBwcmVwcm9j ZXNzb3IvNjA0MDAsCi0JcnRsLW9wdGltaXphdGlvbi80OTg0NywgcnRsLW9wdGltaXphdGlvbi81 MjcxNCwKLQlydGwtb3B0aW1pemF0aW9uLzU4OTYwLCBydGwtb3B0aW1pemF0aW9uLzU5NTM1LAot CXJ0bC1vcHRpbWl6YXRpb24vNjAxMzEsIHJ0bC1vcHRpbWl6YXRpb24vNjAyNjgsCi0JcnRsLW9w dGltaXphdGlvbi82MDI5MiwgcnRsLW9wdGltaXphdGlvbi82MDMxNywgc2FuaXRpemVyLzYwMTQy LAotCXRhcmdldC80Njg5OCwgdGFyZ2V0LzU1NDI2LCB0YXJnZXQvNTc4OTYsIHRhcmdldC81Nzkz NSwgdGFyZ2V0LzU3OTM2LAotCXRhcmdldC81ODY3NSwgdGFyZ2V0LzU5MjIyLCB0YXJnZXQvNTk3 OTQsIHRhcmdldC81OTc5OSwgdGFyZ2V0LzYwMDcxLAotCXRhcmdldC82MDE2OSwgdGFyZ2V0LzYw MTkzLCB0YXJnZXQvNjAyMDMsIHRhcmdldC82MDIwNCwgdGFyZ2V0LzYwMjA1LAotCXRhcmdldC82 MDIwNywgdGFyZ2V0LzYwMjgwLCB0YXJnZXQvNjAyOTgsIHRlc3RzdWl0ZS82MDE3MywKLQl0cmVl LW9wdGltaXphdGlvbi81NjQ5MCwgdHJlZS1vcHRpbWl6YXRpb24vNTgwMjgsCi0JdHJlZS1vcHRp bWl6YXRpb24vNjAxNzQsIHRyZWUtb3B0aW1pemF0aW9uLzYwMTgzLAotCXRyZWUtb3B0aW1pemF0 aW9uLzYwMjc2LCB0cmVlLW9wdGltaXphdGlvbi82MDM4MgotLSBjb25maWd1cmUgd2l0aCAtLWVu YWJsZS1nbnUtaW5kaXJlY3QtZnVuY3Rpb24gb24gYXJjaGl0ZWN0dXJlcwotICBhbmQgZGlzdHJv cyB0aGF0IHN1cHBvcnQgaXQgYW5kIGRvbid0IHN1cHBvcnQgaXQgYnkgZGVmYXVsdAotICB5ZXQg KCMxMDY3MjQ1KQotLSByZW1vdmUgbGliZ28gUC4yMjQgZWxsaXB0aWMgY3VydmUgKCMxMDY2NTM5 KQotCi0qIFRodSBGZWIgMTMgMjAxNCBKYWt1YiBKZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPiA0 LjkuMC0wLjIKLS0gdXBkYXRlIGZyb20gdGhlIHRydW5rCi0gIC0gUFJzIGJvb3RzdHJhcC81OTg3 OCwgYysrLzYwMDQ3LCBjLzYwMTAxLCBkZWJ1Zy81OTc3NiwgZm9ydHJhbi81MjM3MCwKLQlsaWJm ZmkvNjAwNzMsIGx0by81OTQ2OCwgbHRvLzYwMDYwLCBtaWRkbGUtZW5kLzU5NzM3LAotCW1pZGRs ZS1lbmQvNjAwOTIsIHJ0bC1vcHRpbWl6YXRpb24vNjAxMTYsIHRhcmdldC80MzU0NiwgdGFyZ2V0 LzQ5MDA4LAotCXRhcmdldC81OTkyNywgdGFyZ2V0LzYwMTM3LCB0YXJnZXQvNjAxNTEsIHRlc3Rz dWl0ZS81ODYzMAotLSB1cGdyYWRlIHRvIG5ld2VyIGNsb29nIGFuZCBpc2wKLQotKiBUdWUgRmVi IDExIDIwMTQgSmFrdWIgSmVsaW5layA8amFrdWJAcmVkaGF0LmNvbT4gNC45LjAtMC4xCisqIEZy aSBKYW4gMjMgMjAxNSBKYWt1YiBKZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPiA1LjAuMC0wLjUK IC0gbmV3IHBhY2thZ2UKCmRpZmYgLS1naXQgYS9nY2M0OS1hYXJjaDY0LWFzeW5jLXVudy10YWJs ZXMucGF0Y2ggYi9nY2M0OS1hYXJjaDY0LWFzeW5jLXVudy10YWJsZXMucGF0Y2gKZGVsZXRlZCBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZlZWMxNDkuLjAwMDAwMDAKLS0tIGEvZ2NjNDktYWFyY2g2 NC1hc3luYy11bnctdGFibGVzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAot MjAxNC0wNC0wNyAgUmljaGFyZCBIZW5kZXJzb24gIDxydGhAcmVkaGF0LmNvbT4KLQotCSogY29t bW9uL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtY29tbW9uLmMgKFRBUkdFVF9PUFRJT05fSU5JVF9T VFJVQ1QpOgotCURlZmluZS4KLQkoYWFyY2g2NF9vcHRpb25faW5pdF9zdHJ1Y3QpOiBOZXcgZnVu Y3Rpb24uCi0KLS0tLSBnY2MvY29tbW9uL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtY29tbW9uLmMK LSsrKyBnY2MvY29tbW9uL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtY29tbW9uLmMKLUBAIC0zOSw2 ICszOSw5IEBACi0gI3VuZGVmCVRBUkdFVF9PUFRJT05fT1BUSU1JWkFUSU9OX1RBQkxFCi0gI2Rl ZmluZSBUQVJHRVRfT1BUSU9OX09QVElNSVpBVElPTl9UQUJMRSBhYXJjaF9vcHRpb25fb3B0aW1p emF0aW9uX3RhYmxlCi0gCi0rI3VuZGVmIFRBUkdFVF9PUFRJT05fSU5JVF9TVFJVQ1QKLSsjZGVm aW5lIFRBUkdFVF9PUFRJT05fSU5JVF9TVFJVQ1QgYWFyY2g2NF9vcHRpb25faW5pdF9zdHJ1Y3QK LSsKLSAvKiBTZXQgZGVmYXVsdCBvcHRpbWl6YXRpb24gb3B0aW9ucy4gICovCi0gc3RhdGljIGNv bnN0IHN0cnVjdCBkZWZhdWx0X29wdGlvbnMgYWFyY2hfb3B0aW9uX29wdGltaXphdGlvbl90YWJs ZVtdID0KLSAgIHsKLUBAIC00Nyw2ICs1MCwxNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRlZmF1 bHRfb3B0aW9ucyBhYXJjaF9vcHRpb25fb3B0aW1pemF0aW9uX3RhYmxlW10gPQotICAgICB7IE9Q VF9MRVZFTFNfTk9ORSwgMCwgTlVMTCwgMCB9Ci0gICB9OwotIAotKy8qIEltcGxlbWVudCBUQVJH RVRfT1BUSU9OX0lOSVRfU1RSVUNULiAgKi8KLSsKLStzdGF0aWMgdm9pZAotK2FhcmNoNjRfb3B0 aW9uX2luaXRfc3RydWN0IChzdHJ1Y3QgZ2NjX29wdGlvbnMgKm9wdHMpCi0rewotKyAgLyogQnkg ZGVmYXVsdCwgYWx3YXlzIGVtaXQgRFdBUkYtMiB1bndpbmQgaW5mby4gIFRoaXMgYWxsb3dzIGRl YnVnZ2luZwotKyAgICAgd2l0aG91dCBtYWludGFpbmluZyBhIHN0YWNrIGZyYW1lIGJhY2stY2hh aW4uICAqLwotKyAgb3B0cy0+eF9mbGFnX2FzeW5jaHJvbm91c191bndpbmRfdGFibGVzID0gMTsK LSt9Ci0rCi0gLyogSW1wbGVtZW50IFRBUkdFVF9IQU5ETEVfT1BUSU9OLgotICAgIFRoaXMgZnVu Y3Rpb24gaGFuZGxlcyB0aGUgdGFyZ2V0IHNwZWNpZmljIG9wdGlvbnMgZm9yIENQVS90YXJnZXQg c2VsZWN0aW9uLgotIAoKZGlmZiAtLWdpdCBhL2djYzQ5LWFhcmNoNjQtdW53aW5kLW9wdC5wYXRj aCBiL2djYzQ5LWFhcmNoNjQtdW53aW5kLW9wdC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggM2FkNTVhYi4uMDAwMDAwMAotLS0gYS9nY2M0OS1hYXJjaDY0LXVud2luZC1vcHQu cGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMzggKzAsMCBAQAotMjAxNC0wOC0wOCAgUmljaGFy ZCBIZW5kZXJzb24gIDxydGhAcmVkaGF0LmNvbT4KLQotCSogY29uZmlnL2FhcmNoNjQvYWFyY2g2 NC5jIChhYXJjaDY0X3NhdmVfb3JfcmVzdG9yZV9mcHJzKTogQWRkCi0JY2ZpX29wcyBhcmd1bWVu dCwgZm9yIHJlc3RvcmUgcHV0IFJFR19DRkFfUkVTVE9SRSBub3RlcyBpbnRvCi0JKmNmaV9vcHMg cmF0aGVyIHRoYW4gb24gaW5kaXZpZHVhbCBpbnNucy4gIENsZWFudXAuCi0JKGFhcmNoNjRfc2F2 ZV9vcl9yZXN0b3JlX2NhbGxlZV9zYXZlX3JlZ2lzdGVycyk6IExpa2V3aXNlLgotCShhYXJjaDY0 X2V4cGFuZF9wcm9sb2d1ZSk6IEFkanVzdCBjYWxsZXIuCi0JKGFhcmNoNjRfZXhwYW5kX2VwaWxv Z3VlKTogTGlrZXdpc2UuICBDbGVhbnVwLiAgRW1pdCBxdWV1ZWQgY2ZpX29wcwotCW9uIHRoZSBz dGFjayByZXN0b3JlIGluc24uCi0KLS0tLSBnY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC5jLmpq CTIwMTQtMDctMDggMTc6Mzg6MTcuMzk4MjMxOTg5ICswMjAwCi0rKysgZ2NjL2NvbmZpZy9hYXJj aDY0L2FhcmNoNjQuYwkyMDE0LTA4LTEzIDEwOjAyOjQ1LjU5OTc1NzcwNiArMDIwMAotQEAgLTE4 MTAsOCArMTgxMCw3IEBAIGFhcmNoNjRfcmVnaXN0ZXJfc2F2ZWRfb25fZW50cnkgKGludCByZWcK LSAKLSBzdGF0aWMgdm9pZAotIGFhcmNoNjRfc2F2ZV9vcl9yZXN0b3JlX2ZwcnMgKGludCBzdGFy dF9vZmZzZXQsIGludCBpbmNyZW1lbnQsCi0tCQkJICAgICAgYm9vbCByZXN0b3JlLCBydHggYmFz ZV9ydHgpCi0tCi0rCQkJICAgICAgYm9vbCByZXN0b3JlLCBydHggYmFzZV9ydHgsIHJ0eCAqY2Zp X29wcykKLSB7Ci0gICB1bnNpZ25lZCByZWdubzsKLSAgIHVuc2lnbmVkIHJlZ25vMjsKLUBAIC0x ODE5LDE2ICsxODE4LDE2IEBAIGFhcmNoNjRfc2F2ZV9vcl9yZXN0b3JlX2ZwcnMgKGludCBzdGFy dF8KLSAgIHJ0eCAoKmdlbl9tZW1fcmVmKShlbnVtIG1hY2hpbmVfbW9kZSwgcnR4KQotICAgICA9 IChmcmFtZV9wb2ludGVyX25lZWRlZCk/IGdlbl9mcmFtZV9tZW0gOiBnZW5fcnR4X01FTTsKLSAK LS0KLSAgIGZvciAocmVnbm8gPSBWMF9SRUdOVU07IHJlZ25vIDw9IFYzMV9SRUdOVU07IHJlZ25v KyspCi0gICAgIHsKLSAgICAgICBpZiAoYWFyY2g2NF9yZWdpc3Rlcl9zYXZlZF9vbl9lbnRyeSAo cmVnbm8pKQotIAl7Ci0tCSAgcnR4IG1lbTsKLSsJICBydHggbWVtLCByZWcxOwotIAkgIG1lbSA9 IGdlbl9tZW1fcmVmIChERm1vZGUsCi0gCQkJICAgICBwbHVzX2NvbnN0YW50IChQbW9kZSwKLSAJ CQkJCSAgICBiYXNlX3J0eCwKLSAJCQkJCSAgICBzdGFydF9vZmZzZXQpKTsKLSsJICByZWcxID0g Z2VuX3J0eF9SRUcgKERGbW9kZSwgcmVnbm8pOwotIAotIAkgIGZvciAocmVnbm8yID0gcmVnbm8g KyAxOwotIAkgICAgICAgcmVnbm8yIDw9IFYzMV9SRUdOVU0KLUBAIC0xODQwLDU2ICsxODM5LDUx IEBAIGFhcmNoNjRfc2F2ZV9vcl9yZXN0b3JlX2ZwcnMgKGludCBzdGFydF8KLSAJICBpZiAocmVn bm8yIDw9IFYzMV9SRUdOVU0gJiYKLSAJICAgICAgYWFyY2g2NF9yZWdpc3Rlcl9zYXZlZF9vbl9l bnRyeSAocmVnbm8yKSkKLSAJICAgIHsKLS0JICAgICAgcnR4IG1lbTI7Ci0rCSAgICAgIHJ0eCBt ZW0yLCByZWcyOwotIAkgICAgICAvKiBOZXh0IGhpZ2hlc3QgcmVnaXN0ZXIgdG8gYmUgc2F2ZWQu ICAqLwotIAkgICAgICBtZW0yID0gZ2VuX21lbV9yZWYgKERGbW9kZSwKLSAJCQkJICBwbHVzX2Nv bnN0YW50Ci0gCQkJCSAgKFBtb2RlLAotIAkJCQkgICBiYXNlX3J0eCwKLSAJCQkJICAgc3RhcnRf b2Zmc2V0ICsgaW5jcmVtZW50KSk7Ci0rCSAgICAgIHJlZzIgPSBnZW5fcnR4X1JFRyAoREZtb2Rl LCByZWdubzIpOwotKwotIAkgICAgICBpZiAocmVzdG9yZSA9PSBmYWxzZSkKLSAJCXsKLS0JCSAg aW5zbiA9IGVtaXRfaW5zbgotLQkJICAgICggZ2VuX3N0b3JlX3BhaXJkZiAobWVtLCBnZW5fcnR4 X1JFRyAoREZtb2RlLCByZWdubyksCi0tCQkJCQltZW0yLCBnZW5fcnR4X1JFRyAoREZtb2RlLCBy ZWdubzIpKSk7Ci0tCi0rCQkgIGluc24gPSBlbWl0X2luc24gKGdlbl9zdG9yZV9wYWlyZGYgKG1l bSwgcmVnMSwgbWVtMiwgcmVnMikpOwotKwkJICAvKiBUaGUgZmlyc3QgcGFydCBvZiBhIGZyYW1l LXJlbGF0ZWQgcGFyYWxsZWwgaW5zbgotKwkJICAgICBpcyBhbHdheXMgYXNzdW1lZCB0byBiZSBy ZWxldmFudCB0byB0aGUgZnJhbWUKLSsJCSAgICAgY2FsY3VsYXRpb25zOyBzdWJzZXF1ZW50IHBh cnRzLCBhcmUgb25seQotKwkJICAgICBmcmFtZS1yZWxhdGVkIGlmIGV4cGxpY2l0bHkgbWFya2Vk LiAgKi8KLSsJCSAgUlRYX0ZSQU1FX1JFTEFURURfUCAoWFZFQ0VYUCAoUEFUVEVSTiAoaW5zbiks IDAsIDEpKSA9IDE7Ci0rCQkgIFJUWF9GUkFNRV9SRUxBVEVEX1AgKGluc24pID0gMTsKLSAJCX0K LSAJICAgICAgZWxzZQotIAkJewotLQkJICBpbnNuID0gZW1pdF9pbnNuCi0tCQkgICAgKCBnZW5f bG9hZF9wYWlyZGYgKGdlbl9ydHhfUkVHIChERm1vZGUsIHJlZ25vKSwgbWVtLAotLQkJCQkgICAg ICAgZ2VuX3J0eF9SRUcgKERGbW9kZSwgcmVnbm8yKSwgbWVtMikpOwotLQotLQkJICBhZGRfcmVn X25vdGUgKGluc24sIFJFR19DRkFfUkVTVE9SRSwKLS0JCQkJZ2VuX3J0eF9SRUcgKERGbW9kZSwg cmVnbm8pKTsKLS0JCSAgYWRkX3JlZ19ub3RlIChpbnNuLCBSRUdfQ0ZBX1JFU1RPUkUsCi0tCQkJ CWdlbl9ydHhfUkVHIChERm1vZGUsIHJlZ25vMikpOwotKwkJICBlbWl0X2luc24gKGdlbl9sb2Fk X3BhaXJkZiAocmVnMSwgbWVtLCByZWcyLCBtZW0yKSk7Ci0rCQkgICpjZmlfb3BzID0gYWxsb2Nf cmVnX25vdGUgKFJFR19DRkFfUkVTVE9SRSwgcmVnMSwgKmNmaV9vcHMpOwotKwkJICAqY2ZpX29w cyA9IGFsbG9jX3JlZ19ub3RlIChSRUdfQ0ZBX1JFU1RPUkUsIHJlZzIsICpjZmlfb3BzKTsKLSAJ CX0KLSAKLS0JCSAgLyogVGhlIGZpcnN0IHBhcnQgb2YgYSBmcmFtZS1yZWxhdGVkIHBhcmFsbGVs IGluc24KLS0JCSAgICAgaXMgYWx3YXlzIGFzc3VtZWQgdG8gYmUgcmVsZXZhbnQgdG8gdGhlIGZy YW1lCi0tCQkgICAgIGNhbGN1bGF0aW9uczsgc3Vic2VxdWVudCBwYXJ0cywgYXJlIG9ubHkKLS0J CSAgICAgZnJhbWUtcmVsYXRlZCBpZiBleHBsaWNpdGx5IG1hcmtlZC4gICovCi0tCSAgICAgIFJU WF9GUkFNRV9SRUxBVEVEX1AgKFhWRUNFWFAgKFBBVFRFUk4gKGluc24pLCAwLCAxKSkgPSAxOwot IAkgICAgICByZWdubyA9IHJlZ25vMjsKLSAJICAgICAgc3RhcnRfb2Zmc2V0ICs9IGluY3JlbWVu dCAqIDI7Ci0gCSAgICB9Ci0gCSAgZWxzZQotIAkgICAgewotIAkgICAgICBpZiAocmVzdG9yZSA9 PSBmYWxzZSkKLS0JCWluc24gPSBlbWl0X21vdmVfaW5zbiAobWVtLCBnZW5fcnR4X1JFRyAoREZt b2RlLCByZWdubykpOwotKwkJewotKwkJICBpbnNuID0gZW1pdF9tb3ZlX2luc24gKG1lbSwgcmVn MSk7Ci0rCQkgIFJUWF9GUkFNRV9SRUxBVEVEX1AgKGluc24pID0gMTsKLSsJCX0KLSAJICAgICAg ZWxzZQotIAkJewotLQkJICBpbnNuID0gZW1pdF9tb3ZlX2luc24gKGdlbl9ydHhfUkVHIChERm1v ZGUsIHJlZ25vKSwgbWVtKTsKLS0JCSAgYWRkX3JlZ19ub3RlIChpbnNuLCBSRUdfQ0ZBX1JFU1RP UkUsCi0tCQkJCWdlbl9ydHhfUkVHIChESW1vZGUsIHJlZ25vKSk7Ci0rCQkgIGVtaXRfbW92ZV9p bnNuIChyZWcxLCBtZW0pOwotKwkJICAqY2ZpX29wcyA9IGFsbG9jX3JlZ19ub3RlIChSRUdfQ0ZB X1JFU1RPUkUsIHJlZzEsICpjZmlfb3BzKTsKLSAJCX0KLSAJICAgICAgc3RhcnRfb2Zmc2V0ICs9 IGluY3JlbWVudDsKLSAJICAgIH0KLS0JICBSVFhfRlJBTUVfUkVMQVRFRF9QIChpbnNuKSA9IDE7 Ci0gCX0KLSAgICAgfQotLQotIH0KLSAKLSAKLUBAIC0xODk3LDEzICsxODkxLDE0IEBAIGFhcmNo NjRfc2F2ZV9vcl9yZXN0b3JlX2ZwcnMgKGludCBzdGFydF8KLSAgICByZXN0b3JlJ3MgaGF2ZSB0 byBoYXBwZW4uICAqLwotIHN0YXRpYyB2b2lkCi0gYWFyY2g2NF9zYXZlX29yX3Jlc3RvcmVfY2Fs bGVlX3NhdmVfcmVnaXN0ZXJzIChIT1NUX1dJREVfSU5UIG9mZnNldCwKLS0JCQkJCSAgICBib29s IHJlc3RvcmUpCi0rCQkJCQkgICAgICAgYm9vbCByZXN0b3JlLCBydHggKmNmaV9vcHMpCi0gewot ICAgcnR4IGluc247Ci0gICBydHggYmFzZV9ydHggPSBzdGFja19wb2ludGVyX3J0eDsKLSAgIEhP U1RfV0lERV9JTlQgc3RhcnRfb2Zmc2V0ID0gb2Zmc2V0OwotICAgSE9TVF9XSURFX0lOVCBpbmNy ZW1lbnQgPSBVTklUU19QRVJfV09SRDsKLS0gIHJ0eCAoKmdlbl9tZW1fcmVmKShlbnVtIG1hY2hp bmVfbW9kZSwgcnR4KSA9IChmcmFtZV9wb2ludGVyX25lZWRlZCk/IGdlbl9mcmFtZV9tZW0gOiBn ZW5fcnR4X01FTTsKLSsgIHJ0eCAoKmdlbl9tZW1fcmVmKShlbnVtIG1hY2hpbmVfbW9kZSwgcnR4 KQotKyAgICA9IChmcmFtZV9wb2ludGVyX25lZWRlZCk/IGdlbl9mcmFtZV9tZW0gOiBnZW5fcnR4 X01FTTsKLSAgIHVuc2lnbmVkIGxpbWl0ID0gKGZyYW1lX3BvaW50ZXJfbmVlZGVkKT8gUjI4X1JF R05VTTogUjMwX1JFR05VTTsKLSAgIHVuc2lnbmVkIHJlZ25vOwotICAgdW5zaWduZWQgcmVnbm8y OwotQEAgLTE5MTIsMTEgKzE5MDcsMTMgQEAgYWFyY2g2NF9zYXZlX29yX3Jlc3RvcmVfY2FsbGVl X3NhdmVfcmVnaQotICAgICB7Ci0gICAgICAgaWYgKGFhcmNoNjRfcmVnaXN0ZXJfc2F2ZWRfb25f ZW50cnkgKHJlZ25vKSkKLSAJewotLQkgIHJ0eCBtZW07Ci0rCSAgcnR4IG1lbSwgcmVnMTsKLSsK LSAJICBtZW0gPSBnZW5fbWVtX3JlZiAoUG1vZGUsCi0gCQkJICAgICBwbHVzX2NvbnN0YW50IChQ bW9kZSwKLSAJCQkJCSAgICBiYXNlX3J0eCwKLSAJCQkJCSAgICBzdGFydF9vZmZzZXQpKTsKLSsJ ICByZWcxID0gZ2VuX3J0eF9SRUcgKERJbW9kZSwgcmVnbm8pOwotIAotIAkgIGZvciAocmVnbm8y ID0gcmVnbm8gKyAxOwotIAkgICAgICAgcmVnbm8yIDw9IGxpbWl0Ci1AQCAtMTkyOCw1NiArMTky NSw1NCBAQCBhYXJjaDY0X3NhdmVfb3JfcmVzdG9yZV9jYWxsZWVfc2F2ZV9yZWdpCi0gCSAgaWYg KHJlZ25vMiA8PSBsaW1pdCAmJgotIAkgICAgICBhYXJjaDY0X3JlZ2lzdGVyX3NhdmVkX29uX2Vu dHJ5IChyZWdubzIpKQotIAkgICAgewotLQkgICAgICBydHggbWVtMjsKLSsJICAgICAgcnR4IG1l bTIsIHJlZzI7Ci0gCSAgICAgIC8qIE5leHQgaGlnaGVzdCByZWdpc3RlciB0byBiZSBzYXZlZC4g ICovCi0gCSAgICAgIG1lbTIgPSBnZW5fbWVtX3JlZiAoUG1vZGUsCi0gCQkJCSAgcGx1c19jb25z dGFudAotIAkJCQkgIChQbW9kZSwKLSAJCQkJICAgYmFzZV9ydHgsCi0gCQkJCSAgIHN0YXJ0X29m ZnNldCArIGluY3JlbWVudCkpOwotKwkgICAgICByZWcyID0gZ2VuX3J0eF9SRUcgKERJbW9kZSwg cmVnbm8yKTsKLSsKLSAJICAgICAgaWYgKHJlc3RvcmUgPT0gZmFsc2UpCi0gCQl7Ci0tCQkgIGlu c24gPSBlbWl0X2luc24KLS0JCSAgICAoIGdlbl9zdG9yZV9wYWlyZGkgKG1lbSwgZ2VuX3J0eF9S RUcgKERJbW9kZSwgcmVnbm8pLAotLQkJCQkJbWVtMiwgZ2VuX3J0eF9SRUcgKERJbW9kZSwgcmVn bm8yKSkpOwotLQotKwkJICBpbnNuID0gZW1pdF9pbnNuIChnZW5fc3RvcmVfcGFpcmRpIChtZW0s IHJlZzEsIG1lbTIsIHJlZzIpKTsKLSsJCSAgLyogVGhlIGZpcnN0IHBhcnQgb2YgYSBmcmFtZS1y ZWxhdGVkIHBhcmFsbGVsIGluc24KLSsJCSAgICAgaXMgYWx3YXlzIGFzc3VtZWQgdG8gYmUgcmVs ZXZhbnQgdG8gdGhlIGZyYW1lCi0rCQkgICAgIGNhbGN1bGF0aW9uczsgc3Vic2VxdWVudCBwYXJ0 cywgYXJlIG9ubHkKLSsJCSAgICAgZnJhbWUtcmVsYXRlZCBpZiBleHBsaWNpdGx5IG1hcmtlZC4g ICovCi0rCQkgIFJUWF9GUkFNRV9SRUxBVEVEX1AgKFhWRUNFWFAgKFBBVFRFUk4gKGluc24pLCAw LCAxKSkgPSAxOwotKwkgIAkgIFJUWF9GUkFNRV9SRUxBVEVEX1AgKGluc24pID0gMTsKLSAJCX0K LSAJICAgICAgZWxzZQotIAkJewotLQkJICBpbnNuID0gZW1pdF9pbnNuCi0tCQkgICAgKCBnZW5f bG9hZF9wYWlyZGkgKGdlbl9ydHhfUkVHIChESW1vZGUsIHJlZ25vKSwgbWVtLAotLQkJCQkgICAg IGdlbl9ydHhfUkVHIChESW1vZGUsIHJlZ25vMiksIG1lbTIpKTsKLS0KLS0JCSAgYWRkX3JlZ19u b3RlIChpbnNuLCBSRUdfQ0ZBX1JFU1RPUkUsIGdlbl9ydHhfUkVHIChESW1vZGUsIHJlZ25vKSk7 Ci0tCQkgIGFkZF9yZWdfbm90ZSAoaW5zbiwgUkVHX0NGQV9SRVNUT1JFLCBnZW5fcnR4X1JFRyAo REltb2RlLCByZWdubzIpKTsKLSsJCSAgZW1pdF9pbnNuIChnZW5fbG9hZF9wYWlyZGkgKHJlZzEs IG1lbSwgcmVnMiwgbWVtMikpOwotKwkJICAqY2ZpX29wcyA9IGFsbG9jX3JlZ19ub3RlIChSRUdf Q0ZBX1JFU1RPUkUsIHJlZzEsICpjZmlfb3BzKTsKLSsJCSAgKmNmaV9vcHMgPSBhbGxvY19yZWdf bm90ZSAoUkVHX0NGQV9SRVNUT1JFLCByZWcyLCAqY2ZpX29wcyk7Ci0gCQl9Ci0gCi0tCQkgIC8q IFRoZSBmaXJzdCBwYXJ0IG9mIGEgZnJhbWUtcmVsYXRlZCBwYXJhbGxlbCBpbnNuCi0tCQkgICAg IGlzIGFsd2F5cyBhc3N1bWVkIHRvIGJlIHJlbGV2YW50IHRvIHRoZSBmcmFtZQotLQkJICAgICBj YWxjdWxhdGlvbnM7IHN1YnNlcXVlbnQgcGFydHMsIGFyZSBvbmx5Ci0tCQkgICAgIGZyYW1lLXJl bGF0ZWQgaWYgZXhwbGljaXRseSBtYXJrZWQuICAqLwotLQkgICAgICBSVFhfRlJBTUVfUkVMQVRF RF9QIChYVkVDRVhQIChQQVRURVJOIChpbnNuKSwgMCwKLS0JCQkJCSAgICAxKSkgPSAxOwotIAkg ICAgICByZWdubyA9IHJlZ25vMjsKLSAJICAgICAgc3RhcnRfb2Zmc2V0ICs9IGluY3JlbWVudCAq IDI7Ci0gCSAgICB9Ci0gCSAgZWxzZQotIAkgICAgewotIAkgICAgICBpZiAocmVzdG9yZSA9PSBm YWxzZSkKLS0JCWluc24gPSBlbWl0X21vdmVfaW5zbiAobWVtLCBnZW5fcnR4X1JFRyAoREltb2Rl LCByZWdubykpOwotKwkJewotKwkJICBpbnNuID0gZW1pdF9tb3ZlX2luc24gKG1lbSwgcmVnMSk7 Ci0rCSAgCSAgUlRYX0ZSQU1FX1JFTEFURURfUCAoaW5zbikgPSAxOwotKwkJfQotIAkgICAgICBl bHNlCi0gCQl7Ci0tCQkgIGluc24gPSBlbWl0X21vdmVfaW5zbiAoZ2VuX3J0eF9SRUcgKERJbW9k ZSwgcmVnbm8pLCBtZW0pOwotLQkJICBhZGRfcmVnX25vdGUgKGluc24sIFJFR19DRkFfUkVTVE9S RSwgZ2VuX3J0eF9SRUcgKERJbW9kZSwgcmVnbm8pKTsKLSsJCSAgZW1pdF9tb3ZlX2luc24gKHJl ZzEsIG1lbSk7Ci0rCQkgICpjZmlfb3BzID0gYWxsb2NfcmVnX25vdGUgKFJFR19DRkFfUkVTVE9S RSwgcmVnMSwgKmNmaV9vcHMpOwotIAkJfQotIAkgICAgICBzdGFydF9vZmZzZXQgKz0gaW5jcmVt ZW50OwotIAkgICAgfQotLQkgIFJUWF9GUkFNRV9SRUxBVEVEX1AgKGluc24pID0gMTsKLSAJfQot ICAgICB9Ci0gCi0tICBhYXJjaDY0X3NhdmVfb3JfcmVzdG9yZV9mcHJzIChzdGFydF9vZmZzZXQs IGluY3JlbWVudCwgcmVzdG9yZSwgYmFzZV9ydHgpOwotLQotKyAgYWFyY2g2NF9zYXZlX29yX3Jl c3RvcmVfZnBycyAoc3RhcnRfb2Zmc2V0LCBpbmNyZW1lbnQsIHJlc3RvcmUsCi0rCQkJCWJhc2Vf cnR4LCBjZmlfb3BzKTsKLSB9Ci0gCi0gLyogQUFyY2g2NCBzdGFjayBmcmFtZXMgZ2VuZXJhdGVk IGJ5IHRoaXMgY29tcGlsZXIgbG9vayBsaWtlOgotQEAgLTIxNzksNyArMjE3NCw3IEBAIGFhcmNo NjRfZXhwYW5kX3Byb2xvZ3VlICh2b2lkKQotIAl9Ci0gCi0gICAgICAgYWFyY2g2NF9zYXZlX29y X3Jlc3RvcmVfY2FsbGVlX3NhdmVfcmVnaXN0ZXJzCi0tCShmcF9vZmZzZXQgKyBjZnVuLT5tYWNo aW5lLT5mcmFtZS5oYXJkZnBfb2Zmc2V0LCAwKTsKLSsJKGZwX29mZnNldCArIGNmdW4tPm1hY2hp bmUtPmZyYW1lLmhhcmRmcF9vZmZzZXQsIDAsIE5VTEwpOwotICAgICB9Ci0gCi0gICAvKiB3aGVu IG9mZnNldCA+PSA1MTIsCi1AQCAtMjI0OCwxNSArMjI0MywxOCBAQCBhYXJjaDY0X2V4cGFuZF9l cGlsb2d1ZSAoYm9vbCBmb3Jfc2liY2FsCi0gICAgICAgaW5zbiA9IGVtaXRfaW5zbiAoZ2VuX2Fk ZDNfaW5zbiAoc3RhY2tfcG9pbnRlcl9ydHgsCi0gCQkJCSAgICAgICBoYXJkX2ZyYW1lX3BvaW50 ZXJfcnR4LAotIAkJCQkgICAgICAgR0VOX0lOVCAoLSBmcF9vZmZzZXQpKSk7Ci0rICAgICAgLyog Q0ZBIHNob3VsZCBiZSBjYWxjdWxhdGVkIGZyb20gdGhlIHZhbHVlIG9mIFNQIGZyb20gbm93IG9u LiAgKi8KLSsgICAgICBhZGRfcmVnX25vdGUgKGluc24sIFJFR19DRkFfQURKVVNUX0NGQSwKLSsJ CSAgICBnZW5fcnR4X1NFVCAoVk9JRG1vZGUsIHN0YWNrX3BvaW50ZXJfcnR4LAotKwkJCQkgcGx1 c19jb25zdGFudCAoUG1vZGUsIGhhcmRfZnJhbWVfcG9pbnRlcl9ydHgsCi0rCQkJCQkJLWZwX29m ZnNldCkpKTsKLSAgICAgICBSVFhfRlJBTUVfUkVMQVRFRF9QIChpbnNuKSA9IDE7Ci0tICAgICAg LyogQXMgU1AgaXMgc2V0IHRvIChGUCAtIGZwX29mZnNldCksIGFjY29yZGluZyB0byB0aGUgcnVs ZXMgaW4KLS0JIGR3YXJmMmNmaS5jOmR3YXJmMm91dF9mcmFtZV9kZWJ1Z19leHByLCBDRkEgc2hv dWxkIGJlIGNhbGN1bGF0ZWQKLS0JIGZyb20gdGhlIHZhbHVlIG9mIFNQIGZyb20gbm93IG9uLiAg Ki8KLSAgICAgICBjZmFfcmVnID0gc3RhY2tfcG9pbnRlcl9ydHg7Ci0gICAgIH0KLSAKLSsgIHJ0 eCBjZmlfb3BzID0gTlVMTDsKLSAgIGFhcmNoNjRfc2F2ZV9vcl9yZXN0b3JlX2NhbGxlZV9zYXZl X3JlZ2lzdGVycwotLSAgICAoZnBfb2Zmc2V0ICsgY2Z1bi0+bWFjaGluZS0+ZnJhbWUuaGFyZGZw X29mZnNldCwgMSk7Ci0rICAgIChmcF9vZmZzZXQgKyBjZnVuLT5tYWNoaW5lLT5mcmFtZS5oYXJk ZnBfb2Zmc2V0LCAxLCAmY2ZpX29wcyk7Ci0gCi0gICAvKiBSZXN0b3JlIHRoZSBmcmFtZSBwb2lu dGVyIGFuZCBsciBpZiB0aGUgZnJhbWUgcG9pbnRlciBpcyBuZWVkZWQuICAqLwotICAgaWYgKG9m ZnNldCA+IDApCi1AQCAtMjI2NCw2ICsyMjYyLDggQEAgYWFyY2g2NF9leHBhbmRfZXBpbG9ndWUg KGJvb2wgZm9yX3NpYmNhbAotICAgICAgIGlmIChmcmFtZV9wb2ludGVyX25lZWRlZCkKLSAJewot IAkgIHJ0eCBtZW1fZnAsIG1lbV9scjsKLSsJICBydHggcmVnX2ZwID0gaGFyZF9mcmFtZV9wb2lu dGVyX3J0eDsKLSsJICBydHggcmVnX2xyID0gZ2VuX3J0eF9SRUcgKERJbW9kZSwgTFJfUkVHTlVN KTsKLSAKLSAJICBpZiAoZnBfb2Zmc2V0KQotIAkgICAgewotQEAgLTIyNzYsNTIgKzIyNzYsMzYg QEAgYWFyY2g2NF9leHBhbmRfZXBpbG9ndWUgKGJvb2wgZm9yX3NpYmNhbAotIAkJCQkJCSAgICAg c3RhY2tfcG9pbnRlcl9ydHgsCi0gCQkJCQkJICAgICBmcF9vZmZzZXQKLSAJCQkJCQkgICAgICsg VU5JVFNfUEVSX1dPUkQpKTsKLS0JICAgICAgaW5zbiA9IGVtaXRfaW5zbiAoZ2VuX2xvYWRfcGFp cmRpIChoYXJkX2ZyYW1lX3BvaW50ZXJfcnR4LAotLQkJCQkJCSBtZW1fZnAsCi0tCQkJCQkJIGdl bl9ydHhfUkVHIChESW1vZGUsCi0tCQkJCQkJCSAgICAgIExSX1JFR05VTSksCi0tCQkJCQkJIG1l bV9scikpOwotKwkgICAgICBlbWl0X2luc24gKGdlbl9sb2FkX3BhaXJkaSAocmVnX2ZwLCBtZW1f ZnAsIHJlZ19sciwgbWVtX2xyKSk7Ci0rCi0rCSAgICAgIGluc24gPSBlbWl0X2luc24gKGdlbl9h ZGQyX2luc24gKHN0YWNrX3BvaW50ZXJfcnR4LAotKwkJCQkJICAgICAgIEdFTl9JTlQgKG9mZnNl dCkpKTsKLSAJICAgIH0KLSAJICBlbHNlCi0gCSAgICB7Ci0gCSAgICAgIGluc24gPSBlbWl0X2lu c24gKGdlbl9sb2Fkd2JfcGFpcmRpX2RpCi0tCQkJCShzdGFja19wb2ludGVyX3J0eCwKLS0JCQkJ IHN0YWNrX3BvaW50ZXJfcnR4LAotLQkJCQkgaGFyZF9mcmFtZV9wb2ludGVyX3J0eCwKLS0JCQkJ IGdlbl9ydHhfUkVHIChESW1vZGUsIExSX1JFR05VTSksCi0tCQkJCSBHRU5fSU5UIChvZmZzZXQp LAotKwkJCQkoc3RhY2tfcG9pbnRlcl9ydHgsIHN0YWNrX3BvaW50ZXJfcnR4LAotKwkJCQkgcmVn X2ZwLCByZWdfbHIsIEdFTl9JTlQgKG9mZnNldCksCi0gCQkJCSBHRU5fSU5UIChHRVRfTU9ERV9T SVpFIChESW1vZGUpICsgb2Zmc2V0KSkpOwotLQkgICAgICBSVFhfRlJBTUVfUkVMQVRFRF9QIChY VkVDRVhQIChQQVRURVJOIChpbnNuKSwgMCwgMikpID0gMTsKLS0JICAgICAgYWRkX3JlZ19ub3Rl IChpbnNuLCBSRUdfQ0ZBX0FESlVTVF9DRkEsCi0tCQkJICAgIChnZW5fcnR4X1NFVCAoUG1vZGUs IHN0YWNrX3BvaW50ZXJfcnR4LAotLQkJCQkJICBwbHVzX2NvbnN0YW50IChQbW9kZSwgY2ZhX3Jl ZywKLS0JCQkJCQkJIG9mZnNldCkpKSk7Ci0tCSAgICB9Ci0tCi0tCSAgLyogVGhlIGZpcnN0IHBh cnQgb2YgYSBmcmFtZS1yZWxhdGVkIHBhcmFsbGVsIGluc24KLS0JICAgICBpcyBhbHdheXMgYXNz dW1lZCB0byBiZSByZWxldmFudCB0byB0aGUgZnJhbWUKLS0JICAgICBjYWxjdWxhdGlvbnM7IHN1 YnNlcXVlbnQgcGFydHMsIGFyZSBvbmx5Ci0tCSAgICAgZnJhbWUtcmVsYXRlZCBpZiBleHBsaWNp dGx5IG1hcmtlZC4gICovCi0tCSAgUlRYX0ZSQU1FX1JFTEFURURfUCAoWFZFQ0VYUCAoUEFUVEVS TiAoaW5zbiksIDAsIDEpKSA9IDE7Ci0tCSAgUlRYX0ZSQU1FX1JFTEFURURfUCAoaW5zbikgPSAx OwotLQkgIGFkZF9yZWdfbm90ZSAoaW5zbiwgUkVHX0NGQV9SRVNUT1JFLCBoYXJkX2ZyYW1lX3Bv aW50ZXJfcnR4KTsKLS0JICBhZGRfcmVnX25vdGUgKGluc24sIFJFR19DRkFfUkVTVE9SRSwKLS0J CQlnZW5fcnR4X1JFRyAoREltb2RlLCBMUl9SRUdOVU0pKTsKLS0KLS0JICBpZiAoZnBfb2Zmc2V0 KQotLQkgICAgewotLQkgICAgICBpbnNuID0gZW1pdF9pbnNuIChnZW5fYWRkMl9pbnNuIChzdGFj a19wb2ludGVyX3J0eCwKLS0JCQkJCSAgICAgICBHRU5fSU5UIChvZmZzZXQpKSk7Ci0tCSAgICAg IFJUWF9GUkFNRV9SRUxBVEVEX1AgKGluc24pID0gMTsKLSAJICAgIH0KLSsJICBjZmlfb3BzID0g YWxsb2NfcmVnX25vdGUgKFJFR19DRkFfUkVTVE9SRSwgcmVnX2ZwLCBjZmlfb3BzKTsKLSsJICBj Zmlfb3BzID0gYWxsb2NfcmVnX25vdGUgKFJFR19DRkFfUkVTVE9SRSwgcmVnX2xyLCBjZmlfb3Bz KTsKLSAJfQotICAgICAgIGVsc2UKLSAJewotIAkgIGluc24gPSBlbWl0X2luc24gKGdlbl9hZGQy X2luc24gKHN0YWNrX3BvaW50ZXJfcnR4LAotIAkJCQkJICAgR0VOX0lOVCAob2Zmc2V0KSkpOwot LQkgIFJUWF9GUkFNRV9SRUxBVEVEX1AgKGluc24pID0gMTsKLSAJfQotKyAgICAgIGNmaV9vcHMg PSBhbGxvY19yZWdfbm90ZSAoUkVHX0NGQV9BREpVU1RfQ0ZBLAotKwkJCQlnZW5fcnR4X1NFVCAo Vk9JRG1vZGUsIHN0YWNrX3BvaW50ZXJfcnR4LAotKwkJCQkJICAgICBwbHVzX2NvbnN0YW50IChQ bW9kZSwgY2ZhX3JlZywKLSsJCQkJCQkJICAgIG9mZnNldCkpLAotKwkJCQljZmlfb3BzKTsKLSsg ICAgICBSRUdfTk9URVMgKGluc24pID0gY2ZpX29wczsKLSsgICAgICBSVFhfRlJBTUVfUkVMQVRF RF9QIChpbnNuKSA9IDE7Ci0gICAgIH0KLSsgIGVsc2UKLSsgICAgZ2NjX2Fzc2VydCAoY2ZpX29w cyA9PSBOVUxMKTsKLSAKLSAgIC8qIFN0YWNrIGFkanVzdG1lbnQgZm9yIGV4Y2VwdGlvbiBoYW5k bGVyLiAgKi8KLSAgIGlmIChjcnRsLT5jYWxsc19laF9yZXR1cm4pCgpkaWZmIC0tZ2l0IGEvZ2Nj NDktY2xvb2ctZGwucGF0Y2ggYi9nY2M0OS1jbG9vZy1kbC5wYXRjaApkZWxldGVkIGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggOGE3MjUwOS4uMDAwMDAwMAotLS0gYS9nY2M0OS1jbG9vZy1kbC5wYXRj aAorKysgL2Rldi9udWxsCkBAIC0xLDQ3NiArMCwwIEBACi0tLS0gZ2NjL01ha2VmaWxlLmluLmpq CTIwMTItMTItMTMgMTc6MDk6MjAuMDAwMDAwMDAwICswMTAwCi0rKysgZ2NjL01ha2VmaWxlLmlu CTIwMTItMTItMTQgMTE6NDU6MjIuNTg1NjcwMDU1ICswMTAwCi1AQCAtMTAwNiw3ICsxMDA2LDcg QEAgQlVJTERfTElCREVQUz0gJChCVUlMRF9MSUJJQkVSVFkpCi0gIyBhbmQgdGhlIHN5c3RlbSdz IGluc3RhbGxlZCBsaWJyYXJpZXMuCi0gTElCUyA9IEBMSUJTQCBsaWJjb21tb24uYSAkKENQUExJ QikgJChMSUJJTlRMKSAkKExJQklDT05WKSAkKExJQkJBQ0tUUkFDRSkgXAotIAkkKExJQklCRVJU WSkgJChMSUJERUNOVU1CRVIpICQoSE9TVF9MSUJTKQotLUJBQ0tFTkRMSUJTID0gJChDTE9PR0xJ QlMpICQoR01QTElCUykgJChQTFVHSU5MSUJTKSAkKEhPU1RfTElCUykgXAotK0JBQ0tFTkRMSUJT ID0gJChpZiAkKENMT09HTElCUyksLWxkbCkgJChHTVBMSUJTKSAkKFBMVUdJTkxJQlMpICQoSE9T VF9MSUJTKSBcCi0gCSQoWkxJQikKLSAjIEFueSBzeXN0ZW0gbGlicmFyaWVzIG5lZWRlZCBqdXN0 IGZvciBHTkFULgotIFNZU0xJQlMgPSBAR05BVF9MSUJFWENACi1AQCAtMjAxMSw2ICsyMDExLDE1 IEBAICQob3V0X29iamVjdF9maWxlKTogJChvdXRfZmlsZSkKLSAkKGNvbW1vbl9vdXRfb2JqZWN0 X2ZpbGUpOiAkKGNvbW1vbl9vdXRfZmlsZSkKLSAJJChDT01QSUxFKSAkPAotIAkkKFBPU1RDT01Q SUxFKQotKwotK2dyYXBoaXRlJS5vIDogXAotKyAgQUxMX0NGTEFHUyA6PSAtTyAkKGZpbHRlci1v dXQgLWZrZWVwLWlubGluZS1mdW5jdGlvbnMsICQoQUxMX0NGTEFHUykpCi0rZ3JhcGhpdGUubyA6 IFwKLSsgIEFMTF9DRkxBR1MgOj0gLU8gJChmaWx0ZXItb3V0IC1ma2VlcC1pbmxpbmUtZnVuY3Rp b25zLCAkKEFMTF9DRkxBR1MpKQotK2dyYXBoaXRlJS5vIDogXAotKyAgQUxMX0NYWEZMQUdTIDo9 IC1PICQoZmlsdGVyLW91dCAtZmtlZXAtaW5saW5lLWZ1bmN0aW9ucywgJChBTExfQ1hYRkxBR1Mp KQotK2dyYXBoaXRlLm8gOiBcCi0rICBBTExfQ1hYRkxBR1MgOj0gLU8gJChmaWx0ZXItb3V0IC1m a2VlcC1pbmxpbmUtZnVuY3Rpb25zLCAkKEFMTF9DWFhGTEFHUykpCi0gIwwKLSAjIEdlbmVyYXRl IGhlYWRlciBhbmQgc291cmNlIGZpbGVzIGZyb20gdGhlIG1hY2hpbmUgZGVzY3JpcHRpb24sCi0g IyBhbmQgY29tcGlsZSB0aGVtLgotLS0tIGdjYy9ncmFwaGl0ZS1wb2x5LmguamoJMjAxMi0xMi0x MyAxMTozMToyNy4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnY2MvZ3JhcGhpdGUtcG9seS5oCTIwMTIt MTItMTQgMTM6NDE6NDEuOTcwODAwNzI2ICswMTAwCi1AQCAtMjIsNiArMjIsMzcxIEBAIGFsb25n IHdpdGggR0NDOyBzZWUgdGhlIGZpbGUgQ09QWUlORzMuCi0gI2lmbmRlZiBHQ0NfR1JBUEhJVEVf UE9MWV9ICi0gI2RlZmluZSBHQ0NfR1JBUEhJVEVfUE9MWV9ICi0gCi0rI2luY2x1ZGUgPGlzbC9h ZmYuaD4KLSsjaW5jbHVkZSA8aXNsL3NjaGVkdWxlLmg+Ci0rI2luY2x1ZGUgPGlzbC9pbHAuaD4K LSsjaW5jbHVkZSA8aXNsL2Zsb3cuaD4KLSsjaW5jbHVkZSA8aXNsL29wdGlvbnMuaD4KLSsjaW5j bHVkZSA8Y2xvb2cvaXNsL2Nsb29nLmg+Ci0rI2luY2x1ZGUgPGRsZmNuLmg+Ci0rI2RlZmluZSBE WU5TWU1TIFwKLSsgIERZTlNZTSAoY2xhc3RfcHByaW50KTsgXAotKyAgRFlOU1lNIChjbG9vZ19j bGFzdF9jcmVhdGVfZnJvbV9pbnB1dCk7IFwKLSsgIERZTlNZTSAoY2xvb2dfY2xhc3RfZnJlZSk7 IFwKLSsgIERZTlNZTSAoY2xvb2dfZG9tYWluX2Zyb21faXNsX3NldCk7IFwKLSsgIERZTlNZTSAo Y2xvb2dfaW5wdXRfYWxsb2MpOyBcCi0rICBEWU5TWU0gKGNsb29nX2lzbF9zdGF0ZV9tYWxsb2Mp OyBcCi0rICBEWU5TWU0gKGNsb29nX29wdGlvbnNfZnJlZSk7IFwKLSsgIERZTlNZTSAoY2xvb2df b3B0aW9uc19tYWxsb2MpOyBcCi0rICBEWU5TWU0gKGNsb29nX3NjYXR0ZXJpbmdfZnJvbV9pc2xf bWFwKTsgXAotKyAgRFlOU1lNIChjbG9vZ19zdGF0ZV9mcmVlKTsgXAotKyAgRFlOU1lNIChjbG9v Z191bmlvbl9kb21haW5fYWRkX2RvbWFpbik7IFwKLSsgIERZTlNZTSAoY2xvb2dfdW5pb25fZG9t YWluX2FsbG9jKTsgXAotKyAgRFlOU1lNIChjbG9vZ191bmlvbl9kb21haW5fc2V0X25hbWUpOyBc Ci0rICBEWU5TWU0gKGlzbF9hZmZfYWRkX2NvZWZmaWNpZW50X3NpKTsgXAotKyAgRFlOU1lNIChp c2xfYWZmX2FkZF9jb25zdGFudCk7IFwKLSsgIERZTlNZTSAoaXNsX2FmZl9mcmVlKTsgXAotKyAg RFlOU1lNIChpc2xfYWZmX2dldF9jb2VmZmljaWVudCk7IFwKLSsgIERZTlNZTSAoaXNsX2FmZl9n ZXRfc3BhY2UpOyBcCi0rICBEWU5TWU0gKGlzbF9hZmZfbW9kKTsgXAotKyAgRFlOU1lNIChpc2xf YWZmX3NldF9jb2VmZmljaWVudF9zaSk7IFwKLSsgIERZTlNZTSAoaXNsX2FmZl9zZXRfY29uc3Rh bnRfc2kpOyBcCi0rICBEWU5TWU0gKGlzbF9hZmZfemVyb19vbl9kb21haW4pOyBcCi0rICBEWU5T WU0gKGlzbF9iYW5kX2ZyZWUpOyBcCi0rICBEWU5TWU0gKGlzbF9iYW5kX2dldF9jaGlsZHJlbik7 IFwKLSsgIERZTlNZTSAoaXNsX2JhbmRfZ2V0X3BhcnRpYWxfc2NoZWR1bGUpOyBcCi0rICBEWU5T WU0gKGlzbF9iYW5kX2hhc19jaGlsZHJlbik7IFwKLSsgIERZTlNZTSAoaXNsX2JhbmRfbGlzdF9m cmVlKTsgXAotKyAgRFlOU1lNIChpc2xfYmFuZF9saXN0X2dldF9iYW5kKTsgXAotKyAgRFlOU1lN IChpc2xfYmFuZF9saXN0X2dldF9jdHgpOyBcCi0rICBEWU5TWU0gKGlzbF9iYW5kX2xpc3Rfbl9i YW5kKTsgXAotKyAgRFlOU1lNIChpc2xfYmFuZF9tZW1iZXJfaXNfemVyb19kaXN0YW5jZSk7IFwK LSsgIERZTlNZTSAoaXNsX2JhbmRfbl9tZW1iZXIpOyBcCi0rICBEWU5TWU0gKGlzbF9iYXNpY19t YXBfYWRkX2NvbnN0cmFpbnQpOyBcCi0rICBEWU5TWU0gKGlzbF9iYXNpY19tYXBfcHJvamVjdF9v dXQpOyBcCi0rICBEWU5TWU0gKGlzbF9iYXNpY19tYXBfdW5pdmVyc2UpOyBcCi0rICBEWU5TWU0g KGlzbF9jb25zdHJhaW50X3NldF9jb2VmZmljaWVudCk7IFwKLSsgIERZTlNZTSAoaXNsX2NvbnN0 cmFpbnRfc2V0X2NvZWZmaWNpZW50X3NpKTsgXAotKyAgRFlOU1lNIChpc2xfY29uc3RyYWludF9z ZXRfY29uc3RhbnQpOyBcCi0rICBEWU5TWU0gKGlzbF9jb25zdHJhaW50X3NldF9jb25zdGFudF9z aSk7IFwKLSsgIERZTlNZTSAoaXNsX2N0eF9hbGxvYyk7IFwKLSsgIERZTlNZTSAoaXNsX2N0eF9m cmVlKTsgXAotKyAgRFlOU1lNIChpc2xfZXF1YWxpdHlfYWxsb2MpOyBcCi0rICBEWU5TWU0gKGlz bF9pZF9hbGxvYyk7IFwKLSsgIERZTlNZTSAoaXNsX2lkX2NvcHkpOyBcCi0rICBEWU5TWU0gKGlz bF9pZF9mcmVlKTsgXAotKyAgRFlOU1lNIChpc2xfaW5lcXVhbGl0eV9hbGxvYyk7IFwKLSsgIERZ TlNZTSAoaXNsX2xvY2FsX3NwYWNlX2NvcHkpOyBcCi0rICBEWU5TWU0gKGlzbF9sb2NhbF9zcGFj ZV9mcmVlKTsgXAotKyAgRFlOU1lNIChpc2xfbG9jYWxfc3BhY2VfZnJvbV9zcGFjZSk7IFwKLSsg IERZTlNZTSAoaXNsX2xvY2FsX3NwYWNlX3JhbmdlKTsgXAotKyAgRFlOU1lNIChpc2xfbWFwX2Fk ZF9jb25zdHJhaW50KTsgXAotKyAgRFlOU1lNIChpc2xfbWFwX2FkZF9kaW1zKTsgXAotKyAgRFlO U1lNIChpc2xfbWFwX2FsaWduX3BhcmFtcyk7IFwKLSsgIERZTlNZTSAoaXNsX21hcF9hcHBseV9y YW5nZSk7IFwKLSsgIERZTlNZTSAoaXNsX21hcF9jb3B5KTsgXAotKyAgRFlOU1lNIChpc2xfbWFw X2RpbSk7IFwKLSsgIERZTlNZTSAoaXNsX21hcF9kdW1wKTsgXAotKyAgRFlOU1lNIChpc2xfbWFw X2VxdWF0ZSk7IFwKLSsgIERZTlNZTSAoaXNsX21hcF9maXhfc2kpOyBcCi0rICBEWU5TWU0gKGlz bF9tYXBfZmxhdF9wcm9kdWN0KTsgXAotKyAgRFlOU1lNIChpc2xfbWFwX2ZsYXRfcmFuZ2VfcHJv ZHVjdCk7IFwKLSsgIERZTlNZTSAoaXNsX21hcF9mcmVlKTsgXAotKyAgRFlOU1lNIChpc2xfbWFw X2Zyb21fYmFzaWNfbWFwKTsgXAotKyAgRFlOU1lNIChpc2xfbWFwX2Zyb21fcHdfYWZmKTsgXAot KyAgRFlOU1lNIChpc2xfbWFwX2Zyb21fdW5pb25fbWFwKTsgXAotKyAgRFlOU1lNIChpc2xfbWFw X2dldF9jdHgpOyBcCi0rICBEWU5TWU0gKGlzbF9tYXBfZ2V0X3NwYWNlKTsgXAotKyAgRFlOU1lN IChpc2xfbWFwX2dldF90dXBsZV9pZCk7IFwKLSsgIERZTlNZTSAoaXNsX21hcF9pbnNlcnRfZGlt cyk7IFwKLSsgIERZTlNZTSAoaXNsX21hcF9pbnRlcnNlY3QpOyBcCi0rICBEWU5TWU0gKGlzbF9t YXBfaW50ZXJzZWN0X2RvbWFpbik7IFwKLSsgIERZTlNZTSAoaXNsX21hcF9pbnRlcnNlY3RfcmFu Z2UpOyBcCi0rICBEWU5TWU0gKGlzbF9tYXBfaXNfZW1wdHkpOyBcCi0rICBEWU5TWU0gKGlzbF9t YXBfbGV4X2dlKTsgXAotKyAgRFlOU1lNIChpc2xfbWFwX2xleF9sZSk7IFwKLSsgIERZTlNZTSAo aXNsX21hcF9uX291dCk7IFwKLSsgIERZTlNZTSAoaXNsX21hcF9yYW5nZSk7IFwKLSsgIERZTlNZ TSAoaXNsX21hcF9zZXRfdHVwbGVfaWQpOyBcCi0rICBEWU5TWU0gKGlzbF9tYXBfdW5pdmVyc2Up OyBcCi0rICBEWU5TWU0gKGlzbF9vcHRpb25zX3NldF9vbl9lcnJvcik7IFwKLSsgIERZTlNZTSAo aXNsX29wdGlvbnNfc2V0X3NjaGVkdWxlX2Z1c2UpOyBcCi0rICBEWU5TWU0gKGlzbF9vcHRpb25z X3NldF9zY2hlZHVsZV9tYXhfY29uc3RhbnRfdGVybSk7IFwKLSsgIERZTlNZTSAoaXNsX29wdGlv bnNfc2V0X3NjaGVkdWxlX21heGltaXplX2JhbmRfZGVwdGgpOyBcCi0rICBEWU5TWU0gKGlzbF9w cmludGVyX2ZyZWUpOyBcCi0rICBEWU5TWU0gKGlzbF9wcmludGVyX3ByaW50X2FmZik7IFwKLSsg IERZTlNZTSAoaXNsX3ByaW50ZXJfcHJpbnRfY29uc3RyYWludCk7IFwKLSsgIERZTlNZTSAoaXNs X3ByaW50ZXJfcHJpbnRfbWFwKTsgXAotKyAgRFlOU1lNIChpc2xfcHJpbnRlcl9wcmludF9zZXQp OyBcCi0rICBEWU5TWU0gKGlzbF9wcmludGVyX3RvX2ZpbGUpOyBcCi0rICBEWU5TWU0gKGlzbF9w d19hZmZfYWRkKTsgXAotKyAgRFlOU1lNIChpc2xfcHdfYWZmX2FsbG9jKTsgXAotKyAgRFlOU1lN IChpc2xfcHdfYWZmX2NvcHkpOyBcCi0rICBEWU5TWU0gKGlzbF9wd19hZmZfZXFfc2V0KTsgXAot KyAgRFlOU1lNIChpc2xfcHdfYWZmX2ZyZWUpOyBcCi0rICBEWU5TWU0gKGlzbF9wd19hZmZfZnJv bV9hZmYpOyBcCi0rICBEWU5TWU0gKGlzbF9wd19hZmZfZ2Vfc2V0KTsgXAotKyAgRFlOU1lNIChp c2xfcHdfYWZmX2d0X3NldCk7IFwKLSsgIERZTlNZTSAoaXNsX3B3X2FmZl9pc19jc3QpOyBcCi0r ICBEWU5TWU0gKGlzbF9wd19hZmZfbGVfc2V0KTsgXAotKyAgRFlOU1lNIChpc2xfcHdfYWZmX2x0 X3NldCk7IFwKLSsgIERZTlNZTSAoaXNsX3B3X2FmZl9tb2QpOyBcCi0rICBEWU5TWU0gKGlzbF9w d19hZmZfbXVsKTsgXAotKyAgRFlOU1lNIChpc2xfcHdfYWZmX25lX3NldCk7IFwKLSsgIERZTlNZ TSAoaXNsX3B3X2FmZl9ub25uZWdfc2V0KTsgXAotKyAgRFlOU1lNIChpc2xfcHdfYWZmX3NldF90 dXBsZV9pZCk7IFwKLSsgIERZTlNZTSAoaXNsX3B3X2FmZl9zdWIpOyBcCi0rICBEWU5TWU0gKGlz bF9wd19hZmZfemVyb19zZXQpOyBcCi0rICBEWU5TWU0gKGlzbF9zY2hlZHVsZV9mcmVlKTsgXAot KyAgRFlOU1lNIChpc2xfc2NoZWR1bGVfZ2V0X2JhbmRfZm9yZXN0KTsgXAotKyAgRFlOU1lNIChp c2xfc2V0X2FkZF9jb25zdHJhaW50KTsgXAotKyAgRFlOU1lNIChpc2xfc2V0X2FkZF9kaW1zKTsg XAotKyAgRFlOU1lNIChpc2xfc2V0X2FwcGx5KTsgXAotKyAgRFlOU1lNIChpc2xfc2V0X2NvYWxl c2NlKTsgXAotKyAgRFlOU1lNIChpc2xfc2V0X2NvcHkpOyBcCi0rICBEWU5TWU0gKGlzbF9zZXRf ZGltKTsgXAotKyAgRFlOU1lNIChpc2xfc2V0X2ZpeF9zaSk7IFwKLSsgIERZTlNZTSAoaXNsX3Nl dF9mcmVlKTsgXAotKyAgRFlOU1lNIChpc2xfc2V0X2Zyb21fY2xvb2dfZG9tYWluKTsgXAotKyAg RFlOU1lNIChpc2xfc2V0X2dldF9zcGFjZSk7IFwKLSsgIERZTlNZTSAoaXNsX3NldF9nZXRfdHVw bGVfaWQpOyBcCi0rICBEWU5TWU0gKGlzbF9zZXRfaW50ZXJzZWN0KTsgXAotKyAgRFlOU1lNIChp c2xfc2V0X2lzX2VtcHR5KTsgXAotKyAgRFlOU1lNIChpc2xfc2V0X21heCk7IFwKLSsgIERZTlNZ TSAoaXNsX3NldF9taW4pOyBcCi0rICBEWU5TWU0gKGlzbF9zZXRfbl9kaW0pOyBcCi0rICBEWU5T WU0gKGlzbF9zZXRfbmF0X3VuaXZlcnNlKTsgXAotKyAgRFlOU1lNIChpc2xfc2V0X3Byb2plY3Rf b3V0KTsgXAotKyAgRFlOU1lNIChpc2xfc2V0X3NldF90dXBsZV9pZCk7IFwKLSsgIERZTlNZTSAo aXNsX3NldF91bml2ZXJzZSk7IFwKLSsgIERZTlNZTSAoaXNsX3NwYWNlX2FkZF9kaW1zKTsgXAot KyAgRFlOU1lNIChpc2xfc3BhY2VfYWxsb2MpOyBcCi0rICBEWU5TWU0gKGlzbF9zcGFjZV9jb3B5 KTsgXAotKyAgRFlOU1lNIChpc2xfc3BhY2VfZGltKTsgXAotKyAgRFlOU1lNIChpc2xfc3BhY2Vf ZG9tYWluKTsgXAotKyAgRFlOU1lNIChpc2xfc3BhY2VfZmluZF9kaW1fYnlfaWQpOyBcCi0rICBE WU5TWU0gKGlzbF9zcGFjZV9mcmVlKTsgXAotKyAgRFlOU1lNIChpc2xfc3BhY2VfZnJvbV9kb21h aW4pOyBcCi0rICBEWU5TWU0gKGlzbF9zcGFjZV9nZXRfdHVwbGVfaWQpOyBcCi0rICBEWU5TWU0g KGlzbF9zcGFjZV9wYXJhbXNfYWxsb2MpOyBcCi0rICBEWU5TWU0gKGlzbF9zcGFjZV9yYW5nZSk7 IFwKLSsgIERZTlNZTSAoaXNsX3NwYWNlX3NldF9hbGxvYyk7IFwKLSsgIERZTlNZTSAoaXNsX3Nw YWNlX3NldF9kaW1faWQpOyBcCi0rICBEWU5TWU0gKGlzbF9zcGFjZV9zZXRfdHVwbGVfaWQpOyBc Ci0rICBEWU5TWU0gKGlzbF91bmlvbl9tYXBfYWRkX21hcCk7IFwKLSsgIERZTlNZTSAoaXNsX3Vu aW9uX21hcF9hbGlnbl9wYXJhbXMpOyBcCi0rICBEWU5TWU0gKGlzbF91bmlvbl9tYXBfYXBwbHlf ZG9tYWluKTsgXAotKyAgRFlOU1lNIChpc2xfdW5pb25fbWFwX2FwcGx5X3JhbmdlKTsgXAotKyAg RFlOU1lNIChpc2xfdW5pb25fbWFwX2NvbXB1dGVfZmxvdyk7IFwKLSsgIERZTlNZTSAoaXNsX3Vu aW9uX21hcF9jb3B5KTsgXAotKyAgRFlOU1lNIChpc2xfdW5pb25fbWFwX2VtcHR5KTsgXAotKyAg RFlOU1lNIChpc2xfdW5pb25fbWFwX2ZsYXRfcmFuZ2VfcHJvZHVjdCk7IFwKLSsgIERZTlNZTSAo aXNsX3VuaW9uX21hcF9mb3JlYWNoX21hcCk7IFwKLSsgIERZTlNZTSAoaXNsX3VuaW9uX21hcF9m cmVlKTsgXAotKyAgRFlOU1lNIChpc2xfdW5pb25fbWFwX2Zyb21fbWFwKTsgXAotKyAgRFlOU1lN IChpc2xfdW5pb25fbWFwX2dldF9jdHgpOyBcCi0rICBEWU5TWU0gKGlzbF91bmlvbl9tYXBfZ2V0 X3NwYWNlKTsgXAotKyAgRFlOU1lNIChpc2xfdW5pb25fbWFwX2dpc3RfZG9tYWluKTsgXAotKyAg RFlOU1lNIChpc2xfdW5pb25fbWFwX2dpc3RfcmFuZ2UpOyBcCi0rICBEWU5TWU0gKGlzbF91bmlv bl9tYXBfaW50ZXJzZWN0X2RvbWFpbik7IFwKLSsgIERZTlNZTSAoaXNsX3VuaW9uX21hcF9pc19l bXB0eSk7IFwKLSsgIERZTlNZTSAoaXNsX3VuaW9uX21hcF9zdWJ0cmFjdCk7IFwKLSsgIERZTlNZ TSAoaXNsX3VuaW9uX21hcF91bmlvbik7IFwKLSsgIERZTlNZTSAoaXNsX3VuaW9uX3NldF9hZGRf c2V0KTsgXAotKyAgRFlOU1lNIChpc2xfdW5pb25fc2V0X2NvbXB1dGVfc2NoZWR1bGUpOyBcCi0r ICBEWU5TWU0gKGlzbF91bmlvbl9zZXRfY29weSk7IFwKLSsgIERZTlNZTSAoaXNsX3VuaW9uX3Nl dF9lbXB0eSk7IFwKLSsgIERZTlNZTSAoaXNsX3VuaW9uX3NldF9mcm9tX3NldCk7IFwKLSsgIERZ TlNZTSAoc3RtdF9hc3MpOyBcCi0rICBEWU5TWU0gKHN0bXRfYmxvY2spOyBcCi0rICBEWU5TWU0g KHN0bXRfZm9yKTsgXAotKyAgRFlOU1lNIChzdG10X2d1YXJkKTsgXAotKyAgRFlOU1lNIChzdG10 X3Jvb3QpOyBcCi0rICBEWU5TWU0gKHN0bXRfdXNlcik7Ci0rZXh0ZXJuIHN0cnVjdCBjbG9vZ19w b2ludGVyc19zX18KLSt7Ci0rICBib29sIGluaXRlZDsKLSsgIHZvaWQgKmg7Ci0rI2RlZmluZSBE WU5TWU0oeCkgX190eXBlb2YgKHgpICpwXyMjeAotKyAgRFlOU1lNUwotKyN1bmRlZiBEWU5TWU0K LSt9IGNsb29nX3BvaW50ZXJzX187Ci0rCi0rI2RlZmluZSBjbG9vZ19ibG9ja19hbGxvYyAoKmNs b29nX3BvaW50ZXJzX18ucF9jbG9vZ19ibG9ja19hbGxvYykKLSsjZGVmaW5lIGNsYXN0X3Bwcmlu dCAoKmNsb29nX3BvaW50ZXJzX18ucF9jbGFzdF9wcHJpbnQpCi0rI2RlZmluZSBjbG9vZ19jbGFz dF9jcmVhdGVfZnJvbV9pbnB1dCAoKmNsb29nX3BvaW50ZXJzX18ucF9jbG9vZ19jbGFzdF9jcmVh dGVfZnJvbV9pbnB1dCkKLSsjZGVmaW5lIGNsb29nX2NsYXN0X2ZyZWUgKCpjbG9vZ19wb2ludGVy c19fLnBfY2xvb2dfY2xhc3RfZnJlZSkKLSsjZGVmaW5lIGNsb29nX2RvbWFpbl9mcm9tX2lzbF9z ZXQgKCpjbG9vZ19wb2ludGVyc19fLnBfY2xvb2dfZG9tYWluX2Zyb21faXNsX3NldCkKLSsjZGVm aW5lIGNsb29nX2lucHV0X2FsbG9jICgqY2xvb2dfcG9pbnRlcnNfXy5wX2Nsb29nX2lucHV0X2Fs bG9jKQotKyNkZWZpbmUgY2xvb2dfaXNsX3N0YXRlX21hbGxvYyAoKmNsb29nX3BvaW50ZXJzX18u cF9jbG9vZ19pc2xfc3RhdGVfbWFsbG9jKQotKyNkZWZpbmUgY2xvb2dfb3B0aW9uc19mcmVlICgq Y2xvb2dfcG9pbnRlcnNfXy5wX2Nsb29nX29wdGlvbnNfZnJlZSkKLSsjZGVmaW5lIGNsb29nX29w dGlvbnNfbWFsbG9jICgqY2xvb2dfcG9pbnRlcnNfXy5wX2Nsb29nX29wdGlvbnNfbWFsbG9jKQot KyNkZWZpbmUgY2xvb2dfc2NhdHRlcmluZ19mcm9tX2lzbF9tYXAgKCpjbG9vZ19wb2ludGVyc19f LnBfY2xvb2dfc2NhdHRlcmluZ19mcm9tX2lzbF9tYXApCi0rI2RlZmluZSBjbG9vZ19zdGF0ZV9m cmVlICgqY2xvb2dfcG9pbnRlcnNfXy5wX2Nsb29nX3N0YXRlX2ZyZWUpCi0rI2RlZmluZSBjbG9v Z191bmlvbl9kb21haW5fYWRkX2RvbWFpbiAoKmNsb29nX3BvaW50ZXJzX18ucF9jbG9vZ191bmlv bl9kb21haW5fYWRkX2RvbWFpbikKLSsjZGVmaW5lIGNsb29nX3VuaW9uX2RvbWFpbl9hbGxvYyAo KmNsb29nX3BvaW50ZXJzX18ucF9jbG9vZ191bmlvbl9kb21haW5fYWxsb2MpCi0rI2RlZmluZSBj bG9vZ191bmlvbl9kb21haW5fc2V0X25hbWUgKCpjbG9vZ19wb2ludGVyc19fLnBfY2xvb2dfdW5p b25fZG9tYWluX3NldF9uYW1lKQotKyNkZWZpbmUgaXNsX2FmZl9hZGRfY29lZmZpY2llbnRfc2kg KCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX2FmZl9hZGRfY29lZmZpY2llbnRfc2kpCi0rI2RlZmlu ZSBpc2xfYWZmX2FkZF9jb25zdGFudCAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfYWZmX2FkZF9j b25zdGFudCkKLSsjZGVmaW5lIGlzbF9hZmZfZnJlZSAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xf YWZmX2ZyZWUpCi0rI2RlZmluZSBpc2xfYWZmX2dldF9jb2VmZmljaWVudCAoKmNsb29nX3BvaW50 ZXJzX18ucF9pc2xfYWZmX2dldF9jb2VmZmljaWVudCkKLSsjZGVmaW5lIGlzbF9hZmZfZ2V0X3Nw YWNlICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9hZmZfZ2V0X3NwYWNlKQotKyNkZWZpbmUgaXNs X2FmZl9tb2QgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX2FmZl9tb2QpCi0rI2RlZmluZSBpc2xf YWZmX3NldF9jb2VmZmljaWVudF9zaSAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfYWZmX3NldF9j b2VmZmljaWVudF9zaSkKLSsjZGVmaW5lIGlzbF9hZmZfc2V0X2NvbnN0YW50X3NpICgqY2xvb2df cG9pbnRlcnNfXy5wX2lzbF9hZmZfc2V0X2NvbnN0YW50X3NpKQotKyNkZWZpbmUgaXNsX2FmZl96 ZXJvX29uX2RvbWFpbiAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfYWZmX3plcm9fb25fZG9tYWlu KQotKyNkZWZpbmUgaXNsX2JhbmRfZnJlZSAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfYmFuZF9m cmVlKQotKyNkZWZpbmUgaXNsX2JhbmRfZ2V0X2NoaWxkcmVuICgqY2xvb2dfcG9pbnRlcnNfXy5w X2lzbF9iYW5kX2dldF9jaGlsZHJlbikKLSsjZGVmaW5lIGlzbF9iYW5kX2dldF9wYXJ0aWFsX3Nj aGVkdWxlICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9iYW5kX2dldF9wYXJ0aWFsX3NjaGVkdWxl KQotKyNkZWZpbmUgaXNsX2JhbmRfaGFzX2NoaWxkcmVuICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lz bF9iYW5kX2hhc19jaGlsZHJlbikKLSsjZGVmaW5lIGlzbF9iYW5kX2xpc3RfZnJlZSAoKmNsb29n X3BvaW50ZXJzX18ucF9pc2xfYmFuZF9saXN0X2ZyZWUpCi0rI2RlZmluZSBpc2xfYmFuZF9saXN0 X2dldF9iYW5kICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9iYW5kX2xpc3RfZ2V0X2JhbmQpCi0r I2RlZmluZSBpc2xfYmFuZF9saXN0X2dldF9jdHggKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX2Jh bmRfbGlzdF9nZXRfY3R4KQotKyNkZWZpbmUgaXNsX2JhbmRfbGlzdF9uX2JhbmQgKCpjbG9vZ19w b2ludGVyc19fLnBfaXNsX2JhbmRfbGlzdF9uX2JhbmQpCi0rI2RlZmluZSBpc2xfYmFuZF9tZW1i ZXJfaXNfemVyb19kaXN0YW5jZSAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfYmFuZF9tZW1iZXJf aXNfemVyb19kaXN0YW5jZSkKLSsjZGVmaW5lIGlzbF9iYW5kX25fbWVtYmVyICgqY2xvb2dfcG9p bnRlcnNfXy5wX2lzbF9iYW5kX25fbWVtYmVyKQotKyNkZWZpbmUgaXNsX2Jhc2ljX21hcF9hZGRf Y29uc3RyYWludCAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfYmFzaWNfbWFwX2FkZF9jb25zdHJh aW50KQotKyNkZWZpbmUgaXNsX2Jhc2ljX21hcF9wcm9qZWN0X291dCAoKmNsb29nX3BvaW50ZXJz X18ucF9pc2xfYmFzaWNfbWFwX3Byb2plY3Rfb3V0KQotKyNkZWZpbmUgaXNsX2Jhc2ljX21hcF91 bml2ZXJzZSAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfYmFzaWNfbWFwX3VuaXZlcnNlKQotKyNk ZWZpbmUgaXNsX2NvbnN0cmFpbnRfc2V0X2NvZWZmaWNpZW50ICgqY2xvb2dfcG9pbnRlcnNfXy5w X2lzbF9jb25zdHJhaW50X3NldF9jb2VmZmljaWVudCkKLSsjZGVmaW5lIGlzbF9jb25zdHJhaW50 X3NldF9jb2VmZmljaWVudF9zaSAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfY29uc3RyYWludF9z ZXRfY29lZmZpY2llbnRfc2kpCi0rI2RlZmluZSBpc2xfY29uc3RyYWludF9zZXRfY29uc3RhbnQg KCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX2NvbnN0cmFpbnRfc2V0X2NvbnN0YW50KQotKyNkZWZp bmUgaXNsX2NvbnN0cmFpbnRfc2V0X2NvbnN0YW50X3NpICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lz bF9jb25zdHJhaW50X3NldF9jb25zdGFudF9zaSkKLSsjZGVmaW5lIGlzbF9jdHhfYWxsb2MgKCpj bG9vZ19wb2ludGVyc19fLnBfaXNsX2N0eF9hbGxvYykKLSsjZGVmaW5lIGlzbF9jdHhfZnJlZSAo KmNsb29nX3BvaW50ZXJzX18ucF9pc2xfY3R4X2ZyZWUpCi0rI2RlZmluZSBpc2xfZXF1YWxpdHlf YWxsb2MgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX2VxdWFsaXR5X2FsbG9jKQotKyNkZWZpbmUg aXNsX2lkX2FsbG9jICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9pZF9hbGxvYykKLSsjZGVmaW5l IGlzbF9pZF9jb3B5ICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9pZF9jb3B5KQotKyNkZWZpbmUg aXNsX2lkX2ZyZWUgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX2lkX2ZyZWUpCi0rI2RlZmluZSBp c2xfaW5lcXVhbGl0eV9hbGxvYyAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfaW5lcXVhbGl0eV9h bGxvYykKLSsjZGVmaW5lIGlzbF9sb2NhbF9zcGFjZV9jb3B5ICgqY2xvb2dfcG9pbnRlcnNfXy5w X2lzbF9sb2NhbF9zcGFjZV9jb3B5KQotKyNkZWZpbmUgaXNsX2xvY2FsX3NwYWNlX2ZyZWUgKCpj bG9vZ19wb2ludGVyc19fLnBfaXNsX2xvY2FsX3NwYWNlX2ZyZWUpCi0rI2RlZmluZSBpc2xfbG9j YWxfc3BhY2VfZnJvbV9zcGFjZSAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfbG9jYWxfc3BhY2Vf ZnJvbV9zcGFjZSkKLSsjZGVmaW5lIGlzbF9sb2NhbF9zcGFjZV9yYW5nZSAoKmNsb29nX3BvaW50 ZXJzX18ucF9pc2xfbG9jYWxfc3BhY2VfcmFuZ2UpCi0rI2RlZmluZSBpc2xfbWFwX2FkZF9jb25z dHJhaW50ICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9tYXBfYWRkX2NvbnN0cmFpbnQpCi0rI2Rl ZmluZSBpc2xfbWFwX2FkZF9kaW1zICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9tYXBfYWRkX2Rp bXMpCi0rI2RlZmluZSBpc2xfbWFwX2FsaWduX3BhcmFtcyAoKmNsb29nX3BvaW50ZXJzX18ucF9p c2xfbWFwX2FsaWduX3BhcmFtcykKLSsjZGVmaW5lIGlzbF9tYXBfYXBwbHlfcmFuZ2UgKCpjbG9v Z19wb2ludGVyc19fLnBfaXNsX21hcF9hcHBseV9yYW5nZSkKLSsjZGVmaW5lIGlzbF9tYXBfY29w eSAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfbWFwX2NvcHkpCi0rI2RlZmluZSBpc2xfbWFwX2Rp bSAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfbWFwX2RpbSkKLSsjZGVmaW5lIGlzbF9tYXBfZHVt cCAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfbWFwX2R1bXApCi0rI2RlZmluZSBpc2xfbWFwX2Vx dWF0ZSAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfbWFwX2VxdWF0ZSkKLSsjZGVmaW5lIGlzbF9t YXBfZml4X3NpICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9tYXBfZml4X3NpKQotKyNkZWZpbmUg aXNsX21hcF9mbGF0X3Byb2R1Y3QgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX21hcF9mbGF0X3By b2R1Y3QpCi0rI2RlZmluZSBpc2xfbWFwX2ZsYXRfcmFuZ2VfcHJvZHVjdCAoKmNsb29nX3BvaW50 ZXJzX18ucF9pc2xfbWFwX2ZsYXRfcmFuZ2VfcHJvZHVjdCkKLSsjZGVmaW5lIGlzbF9tYXBfZnJl ZSAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfbWFwX2ZyZWUpCi0rI2RlZmluZSBpc2xfbWFwX2Zy b21fYmFzaWNfbWFwICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9tYXBfZnJvbV9iYXNpY19tYXAp Ci0rI2RlZmluZSBpc2xfbWFwX2Zyb21fcHdfYWZmICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9t YXBfZnJvbV9wd19hZmYpCi0rI2RlZmluZSBpc2xfbWFwX2Zyb21fdW5pb25fbWFwICgqY2xvb2df cG9pbnRlcnNfXy5wX2lzbF9tYXBfZnJvbV91bmlvbl9tYXApCi0rI2RlZmluZSBpc2xfbWFwX2dl dF9jdHggKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX21hcF9nZXRfY3R4KQotKyNkZWZpbmUgaXNs X21hcF9nZXRfc3BhY2UgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX21hcF9nZXRfc3BhY2UpCi0r I2RlZmluZSBpc2xfbWFwX2dldF90dXBsZV9pZCAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfbWFw X2dldF90dXBsZV9pZCkKLSsjZGVmaW5lIGlzbF9tYXBfaW5zZXJ0X2RpbXMgKCpjbG9vZ19wb2lu dGVyc19fLnBfaXNsX21hcF9pbnNlcnRfZGltcykKLSsjZGVmaW5lIGlzbF9tYXBfaW50ZXJzZWN0 ICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9tYXBfaW50ZXJzZWN0KQotKyNkZWZpbmUgaXNsX21h cF9pbnRlcnNlY3RfZG9tYWluICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9tYXBfaW50ZXJzZWN0 X2RvbWFpbikKLSsjZGVmaW5lIGlzbF9tYXBfaW50ZXJzZWN0X3JhbmdlICgqY2xvb2dfcG9pbnRl cnNfXy5wX2lzbF9tYXBfaW50ZXJzZWN0X3JhbmdlKQotKyNkZWZpbmUgaXNsX21hcF9pc19lbXB0 eSAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfbWFwX2lzX2VtcHR5KQotKyNkZWZpbmUgaXNsX21h cF9sZXhfZ2UgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX21hcF9sZXhfZ2UpCi0rI2RlZmluZSBp c2xfbWFwX2xleF9sZSAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfbWFwX2xleF9sZSkKLSsjZGVm aW5lIGlzbF9tYXBfbl9vdXQgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX21hcF9uX291dCkKLSsj ZGVmaW5lIGlzbF9tYXBfcmFuZ2UgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX21hcF9yYW5nZSkK LSsjZGVmaW5lIGlzbF9tYXBfc2V0X3R1cGxlX2lkICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9t YXBfc2V0X3R1cGxlX2lkKQotKyNkZWZpbmUgaXNsX21hcF91bml2ZXJzZSAoKmNsb29nX3BvaW50 ZXJzX18ucF9pc2xfbWFwX3VuaXZlcnNlKQotKyNkZWZpbmUgaXNsX29wdGlvbnNfc2V0X29uX2Vy cm9yICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9vcHRpb25zX3NldF9vbl9lcnJvcikKLSsjZGVm aW5lIGlzbF9vcHRpb25zX3NldF9zY2hlZHVsZV9mdXNlICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lz bF9vcHRpb25zX3NldF9zY2hlZHVsZV9mdXNlKQotKyNkZWZpbmUgaXNsX29wdGlvbnNfc2V0X3Nj aGVkdWxlX21heF9jb25zdGFudF90ZXJtICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9vcHRpb25z X3NldF9zY2hlZHVsZV9tYXhfY29uc3RhbnRfdGVybSkKLSsjZGVmaW5lIGlzbF9vcHRpb25zX3Nl dF9zY2hlZHVsZV9tYXhpbWl6ZV9iYW5kX2RlcHRoICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9v cHRpb25zX3NldF9zY2hlZHVsZV9tYXhpbWl6ZV9iYW5kX2RlcHRoKQotKyNkZWZpbmUgaXNsX3By aW50ZXJfZnJlZSAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfcHJpbnRlcl9mcmVlKQotKyNkZWZp bmUgaXNsX3ByaW50ZXJfcHJpbnRfYWZmICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9wcmludGVy X3ByaW50X2FmZikKLSsjZGVmaW5lIGlzbF9wcmludGVyX3ByaW50X2NvbnN0cmFpbnQgKCpjbG9v Z19wb2ludGVyc19fLnBfaXNsX3ByaW50ZXJfcHJpbnRfY29uc3RyYWludCkKLSsjZGVmaW5lIGlz bF9wcmludGVyX3ByaW50X21hcCAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfcHJpbnRlcl9wcmlu dF9tYXApCi0rI2RlZmluZSBpc2xfcHJpbnRlcl9wcmludF9zZXQgKCpjbG9vZ19wb2ludGVyc19f LnBfaXNsX3ByaW50ZXJfcHJpbnRfc2V0KQotKyNkZWZpbmUgaXNsX3ByaW50ZXJfdG9fZmlsZSAo KmNsb29nX3BvaW50ZXJzX18ucF9pc2xfcHJpbnRlcl90b19maWxlKQotKyNkZWZpbmUgaXNsX3B3 X2FmZl9hZGQgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX3B3X2FmZl9hZGQpCi0rI2RlZmluZSBp c2xfcHdfYWZmX2FsbG9jICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9wd19hZmZfYWxsb2MpCi0r I2RlZmluZSBpc2xfcHdfYWZmX2NvcHkgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX3B3X2FmZl9j b3B5KQotKyNkZWZpbmUgaXNsX3B3X2FmZl9lcV9zZXQgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNs X3B3X2FmZl9lcV9zZXQpCi0rI2RlZmluZSBpc2xfcHdfYWZmX2ZyZWUgKCpjbG9vZ19wb2ludGVy c19fLnBfaXNsX3B3X2FmZl9mcmVlKQotKyNkZWZpbmUgaXNsX3B3X2FmZl9mcm9tX2FmZiAoKmNs b29nX3BvaW50ZXJzX18ucF9pc2xfcHdfYWZmX2Zyb21fYWZmKQotKyNkZWZpbmUgaXNsX3B3X2Fm Zl9nZV9zZXQgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX3B3X2FmZl9nZV9zZXQpCi0rI2RlZmlu ZSBpc2xfcHdfYWZmX2d0X3NldCAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfcHdfYWZmX2d0X3Nl dCkKLSsjZGVmaW5lIGlzbF9wd19hZmZfaXNfY3N0ICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9w d19hZmZfaXNfY3N0KQotKyNkZWZpbmUgaXNsX3B3X2FmZl9sZV9zZXQgKCpjbG9vZ19wb2ludGVy c19fLnBfaXNsX3B3X2FmZl9sZV9zZXQpCi0rI2RlZmluZSBpc2xfcHdfYWZmX2x0X3NldCAoKmNs b29nX3BvaW50ZXJzX18ucF9pc2xfcHdfYWZmX2x0X3NldCkKLSsjZGVmaW5lIGlzbF9wd19hZmZf bW9kICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9wd19hZmZfbW9kKQotKyNkZWZpbmUgaXNsX3B3 X2FmZl9tdWwgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX3B3X2FmZl9tdWwpCi0rI2RlZmluZSBp c2xfcHdfYWZmX25lX3NldCAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfcHdfYWZmX25lX3NldCkK LSsjZGVmaW5lIGlzbF9wd19hZmZfbm9ubmVnX3NldCAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xf cHdfYWZmX25vbm5lZ19zZXQpCi0rI2RlZmluZSBpc2xfcHdfYWZmX3NldF90dXBsZV9pZCAoKmNs b29nX3BvaW50ZXJzX18ucF9pc2xfcHdfYWZmX3NldF90dXBsZV9pZCkKLSsjZGVmaW5lIGlzbF9w d19hZmZfc3ViICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9wd19hZmZfc3ViKQotKyNkZWZpbmUg aXNsX3B3X2FmZl96ZXJvX3NldCAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfcHdfYWZmX3plcm9f c2V0KQotKyNkZWZpbmUgaXNsX3NjaGVkdWxlX2ZyZWUgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNs X3NjaGVkdWxlX2ZyZWUpCi0rI2RlZmluZSBpc2xfc2NoZWR1bGVfZ2V0X2JhbmRfZm9yZXN0ICgq Y2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9zY2hlZHVsZV9nZXRfYmFuZF9mb3Jlc3QpCi0rI2RlZmlu ZSBpc2xfc2V0X2FkZF9jb25zdHJhaW50ICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9zZXRfYWRk X2NvbnN0cmFpbnQpCi0rI2RlZmluZSBpc2xfc2V0X2FkZF9kaW1zICgqY2xvb2dfcG9pbnRlcnNf Xy5wX2lzbF9zZXRfYWRkX2RpbXMpCi0rI2RlZmluZSBpc2xfc2V0X2FwcGx5ICgqY2xvb2dfcG9p bnRlcnNfXy5wX2lzbF9zZXRfYXBwbHkpCi0rI2RlZmluZSBpc2xfc2V0X2NvYWxlc2NlICgqY2xv b2dfcG9pbnRlcnNfXy5wX2lzbF9zZXRfY29hbGVzY2UpCi0rI2RlZmluZSBpc2xfc2V0X2NvcHkg KCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX3NldF9jb3B5KQotKyNkZWZpbmUgaXNsX3NldF9kaW0g KCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX3NldF9kaW0pCi0rI2RlZmluZSBpc2xfc2V0X2ZpeF9z aSAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfc2V0X2ZpeF9zaSkKLSsjZGVmaW5lIGlzbF9zZXRf ZnJlZSAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfc2V0X2ZyZWUpCi0rI2RlZmluZSBpc2xfc2V0 X2Zyb21fY2xvb2dfZG9tYWluICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9zZXRfZnJvbV9jbG9v Z19kb21haW4pCi0rI2RlZmluZSBpc2xfc2V0X2dldF9zcGFjZSAoKmNsb29nX3BvaW50ZXJzX18u cF9pc2xfc2V0X2dldF9zcGFjZSkKLSsjZGVmaW5lIGlzbF9zZXRfZ2V0X3R1cGxlX2lkICgqY2xv b2dfcG9pbnRlcnNfXy5wX2lzbF9zZXRfZ2V0X3R1cGxlX2lkKQotKyNkZWZpbmUgaXNsX3NldF9p bnRlcnNlY3QgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX3NldF9pbnRlcnNlY3QpCi0rI2RlZmlu ZSBpc2xfc2V0X2lzX2VtcHR5ICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9zZXRfaXNfZW1wdHkp Ci0rI2RlZmluZSBpc2xfc2V0X21heCAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfc2V0X21heCkK LSsjZGVmaW5lIGlzbF9zZXRfbWluICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9zZXRfbWluKQot KyNkZWZpbmUgaXNsX3NldF9uX2RpbSAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfc2V0X25fZGlt KQotKyNkZWZpbmUgaXNsX3NldF9uYXRfdW5pdmVyc2UgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNs X3NldF9uYXRfdW5pdmVyc2UpCi0rI2RlZmluZSBpc2xfc2V0X3Byb2plY3Rfb3V0ICgqY2xvb2df cG9pbnRlcnNfXy5wX2lzbF9zZXRfcHJvamVjdF9vdXQpCi0rI2RlZmluZSBpc2xfc2V0X3NldF90 dXBsZV9pZCAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfc2V0X3NldF90dXBsZV9pZCkKLSsjZGVm aW5lIGlzbF9zZXRfdW5pdmVyc2UgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX3NldF91bml2ZXJz ZSkKLSsjZGVmaW5lIGlzbF9zcGFjZV9hZGRfZGltcyAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xf c3BhY2VfYWRkX2RpbXMpCi0rI2RlZmluZSBpc2xfc3BhY2VfYWxsb2MgKCpjbG9vZ19wb2ludGVy c19fLnBfaXNsX3NwYWNlX2FsbG9jKQotKyNkZWZpbmUgaXNsX3NwYWNlX2NvcHkgKCpjbG9vZ19w b2ludGVyc19fLnBfaXNsX3NwYWNlX2NvcHkpCi0rI2RlZmluZSBpc2xfc3BhY2VfZGltICgqY2xv b2dfcG9pbnRlcnNfXy5wX2lzbF9zcGFjZV9kaW0pCi0rI2RlZmluZSBpc2xfc3BhY2VfZG9tYWlu ICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9zcGFjZV9kb21haW4pCi0rI2RlZmluZSBpc2xfc3Bh Y2VfZmluZF9kaW1fYnlfaWQgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX3NwYWNlX2ZpbmRfZGlt X2J5X2lkKQotKyNkZWZpbmUgaXNsX3NwYWNlX2ZyZWUgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNs X3NwYWNlX2ZyZWUpCi0rI2RlZmluZSBpc2xfc3BhY2VfZnJvbV9kb21haW4gKCpjbG9vZ19wb2lu dGVyc19fLnBfaXNsX3NwYWNlX2Zyb21fZG9tYWluKQotKyNkZWZpbmUgaXNsX3NwYWNlX2dldF90 dXBsZV9pZCAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfc3BhY2VfZ2V0X3R1cGxlX2lkKQotKyNk ZWZpbmUgaXNsX3NwYWNlX3BhcmFtc19hbGxvYyAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfc3Bh Y2VfcGFyYW1zX2FsbG9jKQotKyNkZWZpbmUgaXNsX3NwYWNlX3JhbmdlICgqY2xvb2dfcG9pbnRl cnNfXy5wX2lzbF9zcGFjZV9yYW5nZSkKLSsjZGVmaW5lIGlzbF9zcGFjZV9zZXRfYWxsb2MgKCpj bG9vZ19wb2ludGVyc19fLnBfaXNsX3NwYWNlX3NldF9hbGxvYykKLSsjZGVmaW5lIGlzbF9zcGFj ZV9zZXRfZGltX2lkICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9zcGFjZV9zZXRfZGltX2lkKQot KyNkZWZpbmUgaXNsX3NwYWNlX3NldF90dXBsZV9pZCAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xf c3BhY2Vfc2V0X3R1cGxlX2lkKQotKyNkZWZpbmUgaXNsX3VuaW9uX21hcF9hZGRfbWFwICgqY2xv b2dfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9tYXBfYWRkX21hcCkKLSsjZGVmaW5lIGlzbF91bmlv bl9tYXBfYWxpZ25fcGFyYW1zICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9tYXBfYWxp Z25fcGFyYW1zKQotKyNkZWZpbmUgaXNsX3VuaW9uX21hcF9hcHBseV9kb21haW4gKCpjbG9vZ19w b2ludGVyc19fLnBfaXNsX3VuaW9uX21hcF9hcHBseV9kb21haW4pCi0rI2RlZmluZSBpc2xfdW5p b25fbWFwX2FwcGx5X3JhbmdlICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9tYXBfYXBw bHlfcmFuZ2UpCi0rI2RlZmluZSBpc2xfdW5pb25fbWFwX2NvbXB1dGVfZmxvdyAoKmNsb29nX3Bv aW50ZXJzX18ucF9pc2xfdW5pb25fbWFwX2NvbXB1dGVfZmxvdykKLSsjZGVmaW5lIGlzbF91bmlv bl9tYXBfY29weSAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfdW5pb25fbWFwX2NvcHkpCi0rI2Rl ZmluZSBpc2xfdW5pb25fbWFwX2VtcHR5ICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9t YXBfZW1wdHkpCi0rI2RlZmluZSBpc2xfdW5pb25fbWFwX2ZsYXRfcmFuZ2VfcHJvZHVjdCAoKmNs b29nX3BvaW50ZXJzX18ucF9pc2xfdW5pb25fbWFwX2ZsYXRfcmFuZ2VfcHJvZHVjdCkKLSsjZGVm aW5lIGlzbF91bmlvbl9tYXBfZm9yZWFjaF9tYXAgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX3Vu aW9uX21hcF9mb3JlYWNoX21hcCkKLSsjZGVmaW5lIGlzbF91bmlvbl9tYXBfZnJlZSAoKmNsb29n X3BvaW50ZXJzX18ucF9pc2xfdW5pb25fbWFwX2ZyZWUpCi0rI2RlZmluZSBpc2xfdW5pb25fbWFw X2Zyb21fbWFwICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9tYXBfZnJvbV9tYXApCi0r I2RlZmluZSBpc2xfdW5pb25fbWFwX2dldF9jdHggKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX3Vu aW9uX21hcF9nZXRfY3R4KQotKyNkZWZpbmUgaXNsX3VuaW9uX21hcF9nZXRfc3BhY2UgKCpjbG9v Z19wb2ludGVyc19fLnBfaXNsX3VuaW9uX21hcF9nZXRfc3BhY2UpCi0rI2RlZmluZSBpc2xfdW5p b25fbWFwX2dpc3RfZG9tYWluICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9tYXBfZ2lz dF9kb21haW4pCi0rI2RlZmluZSBpc2xfdW5pb25fbWFwX2dpc3RfcmFuZ2UgKCpjbG9vZ19wb2lu dGVyc19fLnBfaXNsX3VuaW9uX21hcF9naXN0X3JhbmdlKQotKyNkZWZpbmUgaXNsX3VuaW9uX21h cF9pbnRlcnNlY3RfZG9tYWluICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9tYXBfaW50 ZXJzZWN0X2RvbWFpbikKLSsjZGVmaW5lIGlzbF91bmlvbl9tYXBfaXNfZW1wdHkgKCpjbG9vZ19w b2ludGVyc19fLnBfaXNsX3VuaW9uX21hcF9pc19lbXB0eSkKLSsjZGVmaW5lIGlzbF91bmlvbl9t YXBfc3VidHJhY3QgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX3VuaW9uX21hcF9zdWJ0cmFjdCkK LSsjZGVmaW5lIGlzbF91bmlvbl9tYXBfdW5pb24gKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX3Vu aW9uX21hcF91bmlvbikKLSsjZGVmaW5lIGlzbF91bmlvbl9zZXRfYWRkX3NldCAoKmNsb29nX3Bv aW50ZXJzX18ucF9pc2xfdW5pb25fc2V0X2FkZF9zZXQpCi0rI2RlZmluZSBpc2xfdW5pb25fc2V0 X2NvbXB1dGVfc2NoZWR1bGUgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX3VuaW9uX3NldF9jb21w dXRlX3NjaGVkdWxlKQotKyNkZWZpbmUgaXNsX3VuaW9uX3NldF9jb3B5ICgqY2xvb2dfcG9pbnRl cnNfXy5wX2lzbF91bmlvbl9zZXRfY29weSkKLSsjZGVmaW5lIGlzbF91bmlvbl9zZXRfZW1wdHkg KCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX3VuaW9uX3NldF9lbXB0eSkKLSsjZGVmaW5lIGlzbF91 bmlvbl9zZXRfZnJvbV9zZXQgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX3VuaW9uX3NldF9mcm9t X3NldCkKLSsjZGVmaW5lIHN0bXRfYXNzICgqY2xvb2dfcG9pbnRlcnNfXy5wX3N0bXRfYXNzKQot KyNkZWZpbmUgc3RtdF9ibG9jayAoKmNsb29nX3BvaW50ZXJzX18ucF9zdG10X2Jsb2NrKQotKyNk ZWZpbmUgc3RtdF9mb3IgKCpjbG9vZ19wb2ludGVyc19fLnBfc3RtdF9mb3IpCi0rI2RlZmluZSBz dG10X2d1YXJkICgqY2xvb2dfcG9pbnRlcnNfXy5wX3N0bXRfZ3VhcmQpCi0rI2RlZmluZSBzdG10 X3Jvb3QgKCpjbG9vZ19wb2ludGVyc19fLnBfc3RtdF9yb290KQotKyNkZWZpbmUgc3RtdF91c2Vy ICgqY2xvb2dfcG9pbnRlcnNfXy5wX3N0bXRfdXNlcikKLSsKLSB0eXBlZGVmIHN0cnVjdCBwb2x5 X2RyICpwb2x5X2RyX3A7Ci0gCi0gdHlwZWRlZiBzdHJ1Y3QgcG9seV9iYiAqcG9seV9iYl9wOwot LS0tIGdjYy9ncmFwaGl0ZS5jLmpqCTIwMTItMTItMTMgMTE6MzE6MDAuMDAwMDAwMDAwICswMTAw Ci0rKysgZ2NjL2dyYXBoaXRlLmMJMjAxMi0xMi0xNCAxMzo0MDo0NC4xNTUxMzY5NjEgKzAxMDAK LUBAIC03OCw2ICs3OCwzNCBAQCBhbG9uZyB3aXRoIEdDQzsgc2VlIHRoZSBmaWxlIENPUFlJTkcz LgotIAotIENsb29nU3RhdGUgKmNsb29nX3N0YXRlOwotIAotK19fdHlwZW9mIChjbG9vZ19wb2lu dGVyc19fKSBjbG9vZ19wb2ludGVyc19fOwotKwotK3N0YXRpYyBib29sCi0raW5pdF9jbG9vZ19w b2ludGVycyAodm9pZCkKLSt7Ci0rICB2b2lkICpoOwotKwotKyAgaWYgKGNsb29nX3BvaW50ZXJz X18uaW5pdGVkKQotKyAgICByZXR1cm4gY2xvb2dfcG9pbnRlcnNfXy5oICE9IE5VTEw7Ci0rICBo ID0gZGxvcGVuICgibGliY2xvb2ctaXNsLnNvLjQiLCBSVExEX0xBWlkpOwotKyAgY2xvb2dfcG9p bnRlcnNfXy5oID0gaDsKLSsgIGlmIChoID09IE5VTEwpCi0rICAgIHJldHVybiBmYWxzZTsKLSsj ZGVmaW5lIERZTlNZTSh4KSBcCi0rICBkbyBcCi0rICAgIHsgXAotKyAgICAgIHVuaW9uIHsgX190 eXBlb2YgKGNsb29nX3BvaW50ZXJzX18ucF8jI3gpIHA7IHZvaWQgKnE7IH0gdTsgXAotKyAgICAg IHUucSA9IGRsc3ltIChoLCAjeCk7IFwKLSsgICAgICBpZiAodS5xID09IE5VTEwpIFwKLSsJcmV0 dXJuIGZhbHNlOyBcCi0rICAgICAgY2xvb2dfcG9pbnRlcnNfXy5wXyMjeCA9IHUucDsgXAotKyAg ICB9IFwKLSsgIHdoaWxlICgwKQotKyAgRFlOU1lNUwotKyN1bmRlZiBEWU5TWU0KLSsgIHJldHVy biB0cnVlOwotK30KLSsKLSAvKiBQcmludCBnbG9iYWwgc3RhdGlzdGljcyB0byBGSUxFLiAgKi8K LSAKLSBzdGF0aWMgdm9pZAotQEAgLTI3Nyw2ICszMDUsMTUgQEAgZ3JhcGhpdGVfdHJhbnNmb3Jt X2xvb3BzICh2b2lkKQotICAgaWYgKHBhcmFsbGVsaXplZF9mdW5jdGlvbl9wIChjZnVuLT5kZWNs KSkKLSAgICAgcmV0dXJuOwotIAotKyAgaWYgKG51bWJlcl9vZl9sb29wcyAoY2Z1bikgPD0gMSkK LSsgICAgcmV0dXJuOwotKwotKyAgaWYgKCFpbml0X2Nsb29nX3BvaW50ZXJzICgpKQotKyAgICB7 Ci0rICAgICAgc29ycnkgKCJHcmFwaGl0ZSBsb29wIG9wdGltaXphdGlvbnMgY2Fubm90IGJlIHVz ZWQiKTsKLSsgICAgICByZXR1cm47Ci0rICAgIH0KLSsKLSAgIGN0eCA9IGlzbF9jdHhfYWxsb2Mg KCk7Ci0gICBpc2xfb3B0aW9uc19zZXRfb25fZXJyb3IgKGN0eCwgSVNMX09OX0VSUk9SX0FCT1JU KTsKLSAgIGlmICghZ3JhcGhpdGVfaW5pdGlhbGl6ZSAoY3R4KSkKLS0tLSBnY2MvZ3JhcGhpdGUt Y2xhc3QtdG8tZ2ltcGxlLmMuamoJMjAxMi0xMi0xMyAxMTozMToyNy4wMDAwMDAwMDAgKzAxMDAK LSsrKyBnY2MvZ3JhcGhpdGUtY2xhc3QtdG8tZ2ltcGxlLmMJMjAxMi0xMi0xNCAxMzoyNzo0Ny4x OTY1MTk4NTggKzAxMDAKLUBAIC05MTAsNyArOTEwLDcgQEAgY29tcHV0ZV9ib3VuZHNfZm9yX2xv b3AgKHN0cnVjdCBjbGFzdF9mbwotICAgIGZyb20gU1RNVF9GT1IuICAqLwotIAotIHN0YXRpYyB0 cmVlCi0tdHlwZV9mb3JfY2xhc3RfZm9yIChzdHJ1Y3QgY2xhc3RfZm9yICpzdG10X2ZvciwgaXZz X3BhcmFtc19wIGlwKQotK3R5cGVfZm9yX2NsYXN0X2ZvciAoc3RydWN0IGNsYXN0X2ZvciAqc3Rt dF9mb3JhLCBpdnNfcGFyYW1zX3AgaXApCi0gewotICAgbXB6X3QgYm91bmRfb25lLCBib3VuZF90 d287Ci0gICB0cmVlIGxiX3R5cGUsIHViX3R5cGU7Ci1AQCAtOTE4LDggKzkxOCw4IEBAIHR5cGVf Zm9yX2NsYXN0X2ZvciAoc3RydWN0IGNsYXN0X2ZvciAqc3QKLSAgIG1wel9pbml0IChib3VuZF9v bmUpOwotICAgbXB6X2luaXQgKGJvdW5kX3R3byk7Ci0gCi0tICBsYl90eXBlID0gdHlwZV9mb3Jf Y2xhc3RfZXhwciAoc3RtdF9mb3ItPkxCLCBpcCwgYm91bmRfb25lLCBib3VuZF90d28pOwotLSAg dWJfdHlwZSA9IHR5cGVfZm9yX2NsYXN0X2V4cHIgKHN0bXRfZm9yLT5VQiwgaXAsIGJvdW5kX29u ZSwgYm91bmRfdHdvKTsKLSsgIGxiX3R5cGUgPSB0eXBlX2Zvcl9jbGFzdF9leHByIChzdG10X2Zv cmEtPkxCLCBpcCwgYm91bmRfb25lLCBib3VuZF90d28pOwotKyAgdWJfdHlwZSA9IHR5cGVfZm9y X2NsYXN0X2V4cHIgKHN0bXRfZm9yYS0+VUIsIGlwLCBib3VuZF9vbmUsIGJvdW5kX3R3byk7Ci0g Ci0gICBtcHpfY2xlYXIgKGJvdW5kX29uZSk7Ci0gICBtcHpfY2xlYXIgKGJvdW5kX3R3byk7Cgpk aWZmIC0tZ2l0IGEvZ2NjNDktY2xvb2ctZGwyLnBhdGNoIGIvZ2NjNDktY2xvb2ctZGwyLnBhdGNo CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZjY0N2EzLi4wMDAwMDAwCi0tLSBhL2dj YzQ5LWNsb29nLWRsMi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDc0ICswLDAgQEAKLTIwMTEt MDQtMDQgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgotCi0JKiB0b3BsZXYuYyAo dG9wbGV2X21haW5fYXJndik6IE5ldyB2YXJpYWJsZS4KLQkodG9wbGV2X21haW4pOiBJbml0aWFs aXplIGl0LgotCSogZ3JhcGhpdGUuYyAoaW5pdF9jbG9vZ19wb2ludGVycyk6IExvYWQgbGliY2xv b2ctaXNsLnNvLjQgZnJvbSBnY2MncyBwcml2YXRlCi0JZGlyZWN0b3J5LgotCi0tLS0gZ2NjL3Rv cGxldi5jLmpqCTIwMDgtMTItMDkgMjM6NTk6MTAuMDAwMDAwMDAwICswMTAwCi0rKysgZ2NjL3Rv cGxldi5jCTIwMDktMDEtMjcgMTQ6MzM6NTIuMDAwMDAwMDAwICswMTAwCi1AQCAtMTA3LDYgKzEw Nyw4IEBAIHN0YXRpYyBib29sIG5vX2JhY2tlbmQ7Ci0gLyogTGVuZ3RoIG9mIGxpbmUgd2hlbiBw cmludGluZyBzd2l0Y2ggdmFsdWVzLiAgKi8KLSAjZGVmaW5lIE1BWF9MSU5FIDc1Ci0gCi0rY29u c3QgY2hhciAqKnRvcGxldl9tYWluX2FyZ3Y7Ci0rCi0gLyogRGVjb2RlZCBvcHRpb25zLCBhbmQg bnVtYmVyIG9mIHN1Y2ggb3B0aW9ucy4gICovCi0gc3RydWN0IGNsX2RlY29kZWRfb3B0aW9uICpz YXZlX2RlY29kZWRfb3B0aW9uczsKLSB1bnNpZ25lZCBpbnQgc2F2ZV9kZWNvZGVkX29wdGlvbnNf Y291bnQ7Ci1AQCAtMTkwOSw2ICsxOTExLDggQEAgdG9wbGV2X21haW4gKGludCBhcmdjLCBjaGFy ICoqYXJndikKLSAKLSAgIGV4cGFuZGFyZ3YgKCZhcmdjLCAmYXJndik7Ci0gCi0rICB0b3BsZXZf bWFpbl9hcmd2ID0gQ09OU1RfQ0FTVDIgKGNvbnN0IGNoYXIgKiosIGNoYXIgKiosIGFyZ3YpOwot KwotICAgLyogSW5pdGlhbGl6YXRpb24gb2YgR0NDJ3MgZW52aXJvbm1lbnQsIGFuZCBkaWFnbm9z dGljcy4gICovCi0gICBnZW5lcmFsX2luaXQgKGFyZ3ZbMF0pOwotIAotLS0tIGdjYy9ncmFwaGl0 ZS5jLmpqCTIwMTAtMTItMDEgMTA6MjQ6MzIuMDAwMDAwMDAwIC0wNTAwCi0rKysgZ2NjL2dyYXBo aXRlLmMJMjAxMC0xMi0wMSAxMTo0NjowNy44MzIxMTgxOTMgLTA1MDAKLUBAIC03MiwxMSArNzIs MzkgQEAgX190eXBlb2YgKGNsb29nX3BvaW50ZXJzX18pIGNsb29nX3BvaW50ZQotIHN0YXRpYyBi b29sCi0gaW5pdF9jbG9vZ19wb2ludGVycyAodm9pZCkKLSB7Ci0tICB2b2lkICpoOwotLQotLSAg aWYgKGNsb29nX3BvaW50ZXJzX18uaW5pdGVkKQotLSAgICByZXR1cm4gY2xvb2dfcG9pbnRlcnNf Xy5oICE9IE5VTEw7Ci0tICBoID0gZGxvcGVuICgibGliY2xvb2ctaXNsLnNvLjQiLCBSVExEX0xB WlkpOwotKyAgdm9pZCAqaCA9IE5VTEw7Ci0rICBleHRlcm4gY29uc3QgY2hhciAqKnRvcGxldl9t YWluX2FyZ3Y7Ci0rICBjaGFyICpidWYsICpwOwotKyAgc2l6ZV90IGxlbjsKLSsKLSsgIGlmIChj bG9vZ19wb2ludGVyc19fLmluaXRlZCkKLSsgICAgcmV0dXJuIGNsb29nX3BvaW50ZXJzX18uaCAh PSBOVUxMOwotKyAgbGVuID0gcHJvZ25hbWUgLSB0b3BsZXZfbWFpbl9hcmd2WzBdOwotKyAgYnVm ID0gWEFMTE9DQVZBUiAoY2hhciwgbGVuICsgc2l6ZW9mICJsaWJjbG9vZy1pc2wuc28uNCIpOwot KyAgbWVtY3B5IChidWYsIHRvcGxldl9tYWluX2FyZ3ZbMF0sIGxlbik7Ci0rICBzdHJjcHkgKGJ1 ZiArIGxlbiwgImxpYmNsb29nLWlzbC5zby40Iik7Ci0rICBsZW4gKz0gc2l6ZW9mICJsaWJjbG9v Zy1pc2wuc28uNCI7Ci0rICBwID0gc3Ryc3RyIChidWYsICIvbGliZXhlYy8iKTsKLSsgIGlmIChw ICE9IE5VTEwpCi0rICAgIHsKLSsgICAgICB3aGlsZSAoMSkKLSsJewotKwkgIGNoYXIgKnEgPSBz dHJzdHIgKHAgKyA4LCAiL2xpYmV4ZWMvIik7Ci0rCSAgaWYgKHEgPT0gTlVMTCkKLSsJICAgIGJy ZWFrOwotKwkgIHAgPSBxOwotKwl9Ci0rICAgICAgbWVtbW92ZSAocCArIDQsIHAgKyA4LCBsZW4g LSAocCArIDggLSBidWYpKTsKLSsgICAgICBoID0gZGxvcGVuIChidWYsIFJUTERfTEFaWSk7Ci0r ICAgICAgaWYgKGggPT0gTlVMTCkKLSsJewotKwkgIGxlbiA9IHByb2duYW1lIC0gdG9wbGV2X21h aW5fYXJndlswXTsKLSsJICBtZW1jcHkgKGJ1ZiwgdG9wbGV2X21haW5fYXJndlswXSwgbGVuKTsK LSsJICBzdHJjcHkgKGJ1ZiArIGxlbiwgImxpYmNsb29nLWlzbC5zby40Iik7Ci0rCX0KLSsgICAg fQotKyAgaWYgKGggPT0gTlVMTCkKLSsgICAgaCA9IGRsb3BlbiAoYnVmLCBSVExEX0xBWlkpOwot ICAgY2xvb2dfcG9pbnRlcnNfXy5oID0gaDsKLSAgIGlmIChoID09IE5VTEwpCi0gICAgIHJldHVy biBmYWxzZTsKCmRpZmYgLS1naXQgYS9nY2M0OS1jb2xvci1hdXRvLnBhdGNoIGIvZ2NjNDktY29s b3ItYXV0by5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYThjZjkzOC4uMDAw MDAwMAotLS0gYS9nY2M0OS1jb2xvci1hdXRvLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDYg KzAsMCBAQAotMjAxMy0wOS0yMCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+Ci0K LQkqIGNvbW1vbi5vcHQgKC1mZGlhZ25vc3RpY3MtY29sb3I9KTogRGVmYXVsdCB0byBhdXRvLgot CSogdG9wbGV2LmMgKHByb2Nlc3Nfb3B0aW9ucyk6IEFsd2F5cyBkZWZhdWx0IHRvCi0JLWZkaWFn bm9zdGljcy1jb2xvcj1hdXRvIGlmIG5vIC1meyxuby19ZGlhZ25vc3RpY3MtY29sb3IqLgotCSog ZG9jL2ludm9rZS50ZXhpICgtZmRpYWdub3N0aWNzLWNvbG9yKik6IEFkanVzdCBkb2N1bWVudGF0 aW9uCi0Jb2YgdGhlIGRlZmF1bHQuCi0KLS0tLSBnY2MvY29tbW9uLm9wdC5qagkyMDEzLTA5LTE4 IDEyOjA2OjUzLjAwMDAwMDAwMCArMDIwMAotKysrIGdjYy9jb21tb24ub3B0CTIwMTMtMDktMjAg MTA6MDA6MDAuOTM1ODIzOTAwICswMjAwCi1AQCAtMTAzNyw3ICsxMDM3LDcgQEAgQ29tbW9uIEFs aWFzKGZkaWFnbm9zdGljcy1jb2xvcj0sYWx3YXlzLAotIDsKLSAKLSBmZGlhZ25vc3RpY3MtY29s b3I9Ci0tQ29tbW9uIEpvaW5lZCBSZWplY3ROZWdhdGl2ZSBWYXIoZmxhZ19kaWFnbm9zdGljc19z aG93X2NvbG9yKSBFbnVtKGRpYWdub3N0aWNfY29sb3JfcnVsZSkgSW5pdChESUFHTk9TVElDU19D T0xPUl9OTykKLStDb21tb24gSm9pbmVkIFJlamVjdE5lZ2F0aXZlIFZhcihmbGFnX2RpYWdub3N0 aWNzX3Nob3dfY29sb3IpIEVudW0oZGlhZ25vc3RpY19jb2xvcl9ydWxlKSBJbml0KERJQUdOT1NU SUNTX0NPTE9SX0FVVE8pCi0gLWZkaWFnbm9zdGljcy1jb2xvcj1bbmV2ZXJ8YWx3YXlzfGF1dG9d CUNvbG9yaXplIGRpYWdub3N0aWNzCi0gCi0gOyBSZXF1aXJlZCBmb3IgdGhlc2UgZW51bSB2YWx1 ZXMuCi0tLS0gZ2NjL3RvcGxldi5jLmpqCTIwMTMtMDktMDkgMTE6MzI6MzkuMDAwMDAwMDAwICsw MjAwCi0rKysgZ2NjL3RvcGxldi5jCTIwMTMtMDktMjAgMTA6MTA6MDguMTk4NzIxMDA1ICswMjAw Ci1AQCAtMTIyOSwxMCArMTIyOSw4IEBAIHByb2Nlc3Nfb3B0aW9ucyAodm9pZCkKLSAKLSAgIG1h eGltdW1fZmllbGRfYWxpZ25tZW50ID0gaW5pdGlhbF9tYXhfZmxkX2FsaWduICogQklUU19QRVJf VU5JVDsKLSAKLS0gIC8qIERlZmF1bHQgdG8gLWZkaWFnbm9zdGljcy1jb2xvcj1hdXRvIGlmIEdD Q19DT0xPUlMgaXMgaW4gdGhlIGVudmlyb25tZW50LAotLSAgICAgb3RoZXJ3aXNlIGRlZmF1bHQg dG8gLWZkaWFnbm9zdGljcy1jb2xvcj1uZXZlci4gICovCi0tICBpZiAoIWdsb2JhbF9vcHRpb25z X3NldC54X2ZsYWdfZGlhZ25vc3RpY3Nfc2hvd19jb2xvcgotLSAgICAgICYmIGdldGVudiAoIkdD Q19DT0xPUlMiKSkKLSsgIC8qIERlZmF1bHQgdG8gLWZkaWFnbm9zdGljcy1jb2xvcj1hdXRvLiAg Ki8KLSsgIGlmICghZ2xvYmFsX29wdGlvbnNfc2V0LnhfZmxhZ19kaWFnbm9zdGljc19zaG93X2Nv bG9yKQotICAgICBwcF9zaG93X2NvbG9yIChnbG9iYWxfZGMtPnByaW50ZXIpCi0gICAgICAgPSBj b2xvcml6ZV9pbml0IChESUFHTk9TVElDU19DT0xPUl9BVVRPKTsKLSAKLS0tLSBnY2MvZG9jL2lu dm9rZS50ZXhpLmpqCTIwMTMtMDktMTggMTI6MDY6NTAuMDAwMDAwMDAwICswMjAwCi0rKysgZ2Nj L2RvYy9pbnZva2UudGV4aQkyMDEzLTA5LTIwIDEwOjA5OjI5LjA3OTkwNDQ1NSArMDIwMAotQEAg LTMwNDYsOCArMzA0Niw3IEBAIGEgbWVzc2FnZSB3aGljaCBpcyB0b28gbG9uZyB0byBmaXQgb24g YQotIEBjaW5kZXggaGlnaGxpZ2h0LCBjb2xvciwgY29sb3VyCi0gQHZpbmRleCBHQ0NfQ09MT1JT IEBye2Vudmlyb25tZW50IHZhcmlhYmxlfQotIFVzZSBjb2xvciBpbiBkaWFnbm9zdGljcy4gIEB2 YXJ7V0hFTn0gaXMgQHNhbXB7bmV2ZXJ9LCBAc2FtcHthbHdheXN9LAotLW9yIEBzYW1we2F1dG99 LiAgVGhlIGRlZmF1bHQgaXMgQHNhbXB7bmV2ZXJ9IGlmIEBlbnZ7R0NDX0NPTE9SU30gZW52aXJv bm1lbnQKLS12YXJpYWJsZSBpc24ndCBwcmVzZW50IGluIHRoZSBlbnZpcm9ubWVudCwgYW5kIEBz YW1we2F1dG99IG90aGVyd2lzZS4KLStvciBAc2FtcHthdXRvfS4gIFRoZSBkZWZhdWx0IGlzIEBz YW1we2F1dG99LgotIEBzYW1we2F1dG99IG1lYW5zIHRvIHVzZSBjb2xvciBvbmx5IHdoZW4gdGhl IHN0YW5kYXJkIGVycm9yIGlzIGEgdGVybWluYWwuCi0gVGhlIGZvcm1zIEBvcHRpb257LWZkaWFn bm9zdGljcy1jb2xvcn0gYW5kIEBvcHRpb257LWZuby1kaWFnbm9zdGljcy1jb2xvcn0gYXJlCi0g YWxpYXNlcyBmb3IgQG9wdGlvbnstZmRpYWdub3N0aWNzLWNvbG9yPWFsd2F5c30gYW5kCgpkaWZm IC0tZ2l0IGEvZ2NjNDktaGFjay5wYXRjaCBiL2djYzQ5LWhhY2sucGF0Y2gKZGVsZXRlZCBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDE5MDNlOTUuLjAwMDAwMDAKLS0tIGEvZ2NjNDktaGFjay5wYXRj aAorKysgL2Rldi9udWxsCkBAIC0xLDEwMiArMCwwIEBACi0tLS0gbGliYWRhL01ha2VmaWxlLmlu LmpqCTIwMDktMDEtMTQgMTI6MDc6MzUuMDAwMDAwMDAwICswMTAwCi0rKysgbGliYWRhL01ha2Vm aWxlLmluCTIwMDktMDEtMTUgMTQ6MjU6MzMuMDAwMDAwMDAwICswMTAwCi1AQCAtNjYsMTggKzY2 LDQwIEBAIGxpYnN1YmRpciA6PSAkKGxpYmRpcikvZ2NjLyQodGFyZ2V0X25vbmMKLSBBREFfUlRT X0RJUj0kKEdDQ19ESVIpL2FkYS9ydHMkKHN1YnN0IC8sXywkKE1VTFRJU1VCRElSKSkKLSBBREFf UlRTX1NVQkRJUj0uL3J0cyQoc3Vic3QgLyxfLCQoTVVMVElTVUJESVIpKQotIAotK0RFRkFVTFRN VUxUSUZMQUdTIDo9Ci0raWZlcSAoJChNVUxUSVNVQkRJUiksKQotK3Rhcmc6PSQoc3Vic3QgLSwg LCQodGFyZ2V0KSkKLSthcmNoOj0kKHdvcmQgMSwkKHRhcmcpKQotK2lmZXEgKCQod29yZHMgJCh0 YXJnKSksMikKLStvc3lzOj0kKHdvcmQgMiwkKHRhcmcpKQotK2Vsc2UKLStvc3lzOj0kKHdvcmQg MywkKHRhcmcpKQotK2VuZGlmCi0raWZlcSAoJChzdHJpcCAkKGZpbHRlci1vdXQgaSU4NiB4ODZf NjQgcG93ZXJwYyUgcHBjJSBzMzkwJSBzcGFyYyUgbGludXglLCAkKGFyY2gpICQob3N5cykpKSwp Ci0raWZlcSAoJChzaGVsbCAkKENDKSAkKENGTEFHUykgLXByaW50LW11bHRpLW9zLWRpcmVjdG9y eSksLi4vbGliNjQpCi0rREVGQVVMVE1VTFRJRkxBR1MgOj0gLW02NAotK2Vsc2UKLStpZmVxICgk KHN0cmlwICQoZmlsdGVyLW91dCBzMzkwJSwgJChhcmNoKSkpLCkKLStERUZBVUxUTVVMVElGTEFH UyA6PSAtbTMxCi0rZWxzZQotK0RFRkFVTFRNVUxUSUZMQUdTIDo9IC1tMzIKLStlbmRpZgotK2Vu ZGlmCi0rZW5kaWYKLStlbmRpZgotKwotICMgZXhlZXh0IHNob3VsZCBub3QgYmUgdXNlZCBiZWNh dXNlIGl0J3MgdGhlICpob3N0KiBleGVleHQuICBXZSdyZSBidWlsZGluZwotICMgYSAqdGFyZ2V0 KiBsaWJyYXJ5LCBhcmVuJ3Qgd2U/IT8gIExpa2V3aXNlIGZvciBDQy4gIFN0aWxsLCBwcm92aWRl IGJvZ3VzCi0gIyBkZWZpbml0aW9ucyBqdXN0IGluIGNhc2Ugc29tZXRoaW5nIHNsaXBzIHRocm91 Z2ggdGhlIHNhZmV0eSBuZXQgcHJvdmlkZWQKLSAjIGJ5IHJlY3Vyc2l2ZSBtYWtlIGludm9jYXRp b25zIGluIGdjYy9hZGEvTWFrZWZpbGUuaW4KLSBMSUJBREFfRkxBR1NfVE9fUEFTUyA9IFwKLSAg ICAgICAgICJNQUtFT1ZFUlJJREVTPSIgXAotLSAgICAgICAgIkxERkxBR1M9JChMREZMQUdTKSIg XAotKyAgICAgICAgIkxERkxBR1M9JChMREZMQUdTKSAkKERFRkFVTFRNVUxUSUZMQUdTKSIgXAot ICAgICAgICAgIkxOX1M9JChMTl9TKSIgXAotICAgICAgICAgIlNIRUxMPSQoU0hFTEwpIiBcCi0t ICAgICAgICAiR05BVExJQkZMQUdTPSQoR05BVExJQkZMQUdTKSAkKE1VTFRJRkxBR1MpIiBcCi0t ICAgICAgICAiR05BVExJQkNGTEFHUz0kKEdOQVRMSUJDRkxBR1MpICQoTVVMVElGTEFHUykiIFwK LS0gICAgICAgICJHTkFUTElCQ0ZMQUdTX0ZPUl9DPSQoR05BVExJQkNGTEFHU19GT1JfQykgJChN VUxUSUZMQUdTKSIgXAotKyAgICAgICAgIkdOQVRMSUJGTEFHUz0kKEdOQVRMSUJGTEFHUykgJChN VUxUSUZMQUdTKSAkKERFRkFVTFRNVUxUSUZMQUdTKSIgXAotKyAgICAgICAgIkdOQVRMSUJDRkxB R1M9JChHTkFUTElCQ0ZMQUdTKSAkKE1VTFRJRkxBR1MpICQoREVGQVVMVE1VTFRJRkxBR1MpIiBc Ci0rICAgICAgICAiR05BVExJQkNGTEFHU19GT1JfQz0kKEdOQVRMSUJDRkxBR1NfRk9SX0MpICQo TVVMVElGTEFHUykgJChERUZBVUxUTVVMVElGTEFHUykiIFwKLSAgICAgICAgICJQSUNGTEFHX0ZP Ul9UQVJHRVQ9JChQSUNGTEFHKSIgXAotICAgICAgICAgIlRIUkVBRF9LSU5EPSQoVEhSRUFEX0tJ TkQpIiBcCi0gICAgICAgICAiVFJBQ0U9JChUUkFDRSkiIFwKLUBAIC04OCw3ICsxMTAsNyBAQCBM SUJBREFfRkxBR1NfVE9fUEFTUyA9IFwKLSAgICAgICAgICJleGVleHQ9LmV4ZWV4dC5zaG91bGQu bm90LmJlLnVzZWQgIiBcCi0gCSdDQz10aGUuaG9zdC5jb21waWxlci5zaG91bGQubm90LmJlLm5l ZWRlZCcgXAotIAkiR0NDX0ZPUl9UQVJHRVQ9JChDQykiIFwKLS0gICAgICAgICJDRkxBR1M9JChD RkxBR1MpIgotKyAgICAgICAgIkNGTEFHUz0kKENGTEFHUykgJChERUZBVUxUTVVMVElGTEFHUyki Ci0gCi0gIyBSdWxlcyB0byBidWlsZCBnbmF0bGliLgotIC5QSE9OWTogZ25hdGxpYiBnbmF0bGli LXBsYWluIGduYXRsaWItc2psaiBnbmF0bGliLXpjeCBnbmF0bGliLXNoYXJlZCBvc2NvbnN0b29s Ci0tLS0gZ2NjL2FkYS9zZW1fdXRpbC5hZGIJKHJldmlzaW9uIDE2MTY3NykKLSsrKyBnY2MvYWRh L3NlbV91dGlsLmFkYgkod29ya2luZyBjb3B5KQotQEAgLTU0ODcsNyArNTQ4Nyw3IEBAIHBhY2th Z2UgYm9keSBTZW1fVXRpbCBpcwotICAgICAgICAgICAgIEV4cCAgICAgICAgICAgOiBOb2RlX0lk OwotICAgICAgICAgICAgIEFzc24gICAgICAgICAgOiBOb2RlX0lkOwotICAgICAgICAgICAgIENo b2ljZSAgICAgICAgOiBOb2RlX0lkOwotLSAgICAgICAgICAgIENvbXBfVHlwZSAgICAgOiBFbnRp dHlfSWQ7Ci0rICAgICAgICAgICAgQ29tcF9UeXBlICAgICA6IEVudGl0eV9JZCA6PSBFbXB0eTsK LSAgICAgICAgICAgICBJc19BcnJheV9BZ2dyIDogQm9vbGVhbjsKLSAKLSAgICAgICAgICBiZWdp bgotLS0tIGNvbmZpZy1tbC5pbi5qagkyMDEwLTA2LTMwIDA5OjUwOjQ0LjAwMDAwMDAwMCArMDIw MAotKysrIGNvbmZpZy1tbC5pbgkyMDEwLTA3LTAyIDIxOjI0OjE3Ljk5NDIxMTE1MSArMDIwMAot QEAgLTUxNiw2ICs1MTYsOCBAQCBtdWx0aS1kbzoKLSAJCQkJQURBRkxBR1M9IiQoQURBRkxBR1Mp ICQke2ZsYWdzfSIgXAotIAkJCQlwcmVmaXg9IiQocHJlZml4KSIgXAotIAkJCQlleGVjX3ByZWZp eD0iJChleGVjX3ByZWZpeCkiIFwKLSsJCQkJbWFuZGlyPSIkKG1hbmRpcikiIFwKLSsJCQkJaW5m b2Rpcj0iJChpbmZvZGlyKSIgXAotIAkJCQlHQ0pGTEFHUz0iJChHQ0pGTEFHUykgJCR7ZmxhZ3N9 IiBcCi0gCQkJCUdPQ0ZMQUdTPSIkKEdPQ0ZMQUdTKSAkJHtmbGFnc30iIFwKLSAJCQkJQ1hYRkxB R1M9IiQoQ1hYRkxBR1MpICQke2ZsYWdzfSIgXAotLS0tIGxpYmphdmEvTWFrZWZpbGUuYW0uamoJ MjAxMC0wNy0wOSAxMToxNzozMy43Mjk2MDQwOTAgKzAyMDAKLSsrKyBsaWJqYXZhL01ha2VmaWxl LmFtCTIwMTAtMDctMDkgMTM6MTY6NDEuODk0Mzc1NjQxICswMjAwCi1AQCAtNzEwLDcgKzcxMCw4 IEBAIGlmIFVTRV9MSUJHQ0pfQkMKLSAjIyBsYXRlci4KLSAJQGVjaG8gSW5zdGFsbGluZyBkdW1t eSBsaWIgbGliZ2NqX2JjLnNvLjEuMC4wOyBcCi0gCXJtICQoREVTVERJUikkKHRvb2xleGVjbGli ZGlyKS9saWJnY2pfYmMuc287IFwKLS0JbXYgJChERVNURElSKSQodG9vbGV4ZWNsaWJkaXIpL2xp Ymdjal9iYy5zby4xLjAuMCAkKERFU1RESVIpJCh0b29sZXhlY2xpYmRpcikvbGliZ2NqX2JjLnNv OyBcCi0rCSQoSU5TVEFMTCkgJChJTlNUQUxMX1NUUklQX0ZMQUcpICQoaGVyZSkvLmxpYnMvbGli Z2NqX2JjLnNvICQoREVTVERJUikkKHRvb2xleGVjbGliZGlyKS9saWJnY2pfYmMuc287IFwKLSsJ cm0gJChERVNURElSKSQodG9vbGV4ZWNsaWJkaXIpL2xpYmdjal9iYy5zby4xLjAuMDsgXAotIAkk KGxpYmdjal9iY19kdW1teV9MSU5LKSAteGMgL2Rldi9udWxsIC1XbCwtc29uYW1lLGxpYmdjal9i Yy5zby4xIFwKLSAJLW8gJChERVNURElSKSQodG9vbGV4ZWNsaWJkaXIpL2xpYmdjal9iYy5zby4x LjAuMCAtbGdjaiB8fCBleGl0OyBcCi0gCXJtICQoREVTVERJUikkKHRvb2xleGVjbGliZGlyKS9s aWJnY2pfYmMuc28uMTsgXAotLS0tIGxpYmphdmEvTWFrZWZpbGUuaW4uamoJMjAxMC0wNy0wOSAx MToxNzozNC4wMDAwMDAwMDAgKzAyMDAKLSsrKyBsaWJqYXZhL01ha2VmaWxlLmluCTIwMTAtMDct MDkgMTM6MTg6MDcuNTQyNTcyMjcwICswMjAwCi1AQCAtMTI2NjUsNyArMTI2NjUsOCBAQCBpbnN0 YWxsLWV4ZWMtaG9vazogaW5zdGFsbC1iaW5QUk9HUkFNUyBpCi0gCWluc3RhbGwtbGliZXhlY3N1 YlBST0dSQU1TCi0gQFVTRV9MSUJHQ0pfQkNfVFJVRUAJQGVjaG8gSW5zdGFsbGluZyBkdW1teSBs aWIgbGliZ2NqX2JjLnNvLjEuMC4wOyBcCi0gQFVTRV9MSUJHQ0pfQkNfVFJVRUAJcm0gJChERVNU RElSKSQodG9vbGV4ZWNsaWJkaXIpL2xpYmdjal9iYy5zbzsgXAotLUBVU0VfTElCR0NKX0JDX1RS VUVACW12ICQoREVTVERJUikkKHRvb2xleGVjbGliZGlyKS9saWJnY2pfYmMuc28uMS4wLjAgJChE RVNURElSKSQodG9vbGV4ZWNsaWJkaXIpL2xpYmdjal9iYy5zbzsgXAotK0BVU0VfTElCR0NKX0JD X1RSVUVACSQoSU5TVEFMTCkgJChJTlNUQUxMX1NUUklQX0ZMQUcpICQoaGVyZSkvLmxpYnMvbGli Z2NqX2JjLnNvICQoREVTVERJUikkKHRvb2xleGVjbGliZGlyKS9saWJnY2pfYmMuc287IFwKLStA VVNFX0xJQkdDSl9CQ19UUlVFQAlybSAkKERFU1RESVIpJCh0b29sZXhlY2xpYmRpcikvbGliZ2Nq X2JjLnNvLjEuMC4wOyBcCi0gQFVTRV9MSUJHQ0pfQkNfVFJVRUAJJChsaWJnY2pfYmNfZHVtbXlf TElOSykgLXhjIC9kZXYvbnVsbCAtV2wsLXNvbmFtZSxsaWJnY2pfYmMuc28uMSBcCi0gQFVTRV9M SUJHQ0pfQkNfVFJVRUAJLW8gJChERVNURElSKSQodG9vbGV4ZWNsaWJkaXIpL2xpYmdjal9iYy5z by4xLjAuMCAtbGdjaiB8fCBleGl0OyBcCi0gQFVTRV9MSUJHQ0pfQkNfVFJVRUAJcm0gJChERVNU RElSKSQodG9vbGV4ZWNsaWJkaXIpL2xpYmdjal9iYy5zby4xOyBcCgpkaWZmIC0tZ2l0IGEvZ2Nj NDktaTM4Ni1saWJnb21wLnBhdGNoIGIvZ2NjNDktaTM4Ni1saWJnb21wLnBhdGNoCmRlbGV0ZWQg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1MjA1NjFlLi4wMDAwMDAwCi0tLSBhL2djYzQ5LWkzODYt bGliZ29tcC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLS0tLSBsaWJnb21w L2NvbmZpZ3VyZS50Z3QuamoJMjAwOC0wMS0xMCAyMDo1Mzo0OC4wMDAwMDAwMDAgKzAxMDAKLSsr KyBsaWJnb21wL2NvbmZpZ3VyZS50Z3QJMjAwOC0wMy0yNyAxMjo0NDo1MS4wMDAwMDAwMDAgKzAx MDAKLUBAIC02Nyw3ICs2Nyw3IEBAIGlmIHRlc3QgJGVuYWJsZV9saW51eF9mdXRleCA9IHllczsg dGhlbgotIAkgICAgOzsKLSAJICAqKQotIAkgICAgaWYgdGVzdCAteiAiJHdpdGhfYXJjaCI7IHRo ZW4KLS0JICAgICAgWENGTEFHUz0iJHtYQ0ZMQUdTfSAtbWFyY2g9aTQ4NiAtbXR1bmU9JHt0YXJn ZXRfY3B1fSIKLSsJICAgICAgWENGTEFHUz0iJHtYQ0ZMQUdTfSAtbWFyY2g9aTQ4NiAtbXR1bmU9 Z2VuZXJpYyIKLSAJICAgIGZpCi0gCWVzYWMKLSAJOzsKCmRpZmYgLS1naXQgYS9nY2M0OS1qYXZh LW5vbXVsdGkucGF0Y2ggYi9nY2M0OS1qYXZhLW5vbXVsdGkucGF0Y2gKZGVsZXRlZCBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDE3MzM0YWEuLjAwMDAwMDAKLS0tIGEvZ2NjNDktamF2YS1ub211bHRp LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDQgKzAsMCBAQAotLS0tIGxpYmphdmEvY29uZmln dXJlLmFjLmpqCTIwMDctMTItMDcgMTc6NTU6NTAuMDAwMDAwMDAwICswMTAwCi0rKysgbGliamF2 YS9jb25maWd1cmUuYWMJMjAwNy0xMi0wNyAxODozNjo1Ni4wMDAwMDAwMDAgKzAxMDAKLUBAIC04 Miw2ICs4MiwxMyBAQCBBQ19BUkdfRU5BQkxFKGphdmEtbWFpbnRhaW5lci1tb2RlLAotIAlbYWxs b3cgcmVidWlsZGluZyBvZiAuY2xhc3MgYW5kIC5oIGZpbGVzXSkpCi0gQU1fQ09ORElUSU9OQUwo SkFWQV9NQUlOVEFJTkVSX01PREUsIHRlc3QgIiRlbmFibGVfamF2YV9tYWludGFpbmVyX21vZGUi ID0geWVzKQotIAotK0FDX0FSR19FTkFCTEUobGliamF2YS1tdWx0aWxpYiwKLSsJQVNfSEVMUF9T VFJJTkcoWy0tZW5hYmxlLWxpYmphdmEtbXVsdGlsaWJdLCBbYnVpbGQgbGliamF2YSBhcyBtdWx0 aWxpYl0pKQotK2lmIHRlc3QgIiRlbmFibGVfbGliamF2YV9tdWx0aWxpYiIgPSBubzsgdGhlbgot KyAgbXVsdGlsaWI9bm8KLSsgIGFjX2NvbmZpZ3VyZV9hcmdzPSIkYWNfY29uZmlndXJlX2FyZ3Mg LS1kaXNhYmxlLW11bHRpbGliIgotK2ZpCi0rCi0gIyBJdCBtYXkgbm90IGJlIHNhZmUgdG8gcnVu IGxpbmtpbmcgdGVzdHMgaW4gQUNfUFJPR19DQy9BQ19QUk9HX0NYWC4KLSBHQ0NfTk9fRVhFQ1VU QUJMRVMKLSAKLS0tLSBsaWJqYXZhL2NvbmZpZ3VyZS5qagkyMDA3LTEyLTA3IDE3OjU1OjUwLjAw MDAwMDAwMCArMDEwMAotKysrIGxpYmphdmEvY29uZmlndXJlCTIwMDctMTItMDcgMTg6Mzk6NTgu MDAwMDAwMDAwICswMTAwCi1AQCAtMTAyMSw2ICsxMDIxLDggQEAgT3B0aW9uYWwgRmVhdHVyZXM6 Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0PXllcwotICAgLS1lbmFibGUtamF2 YS1tYWludGFpbmVyLW1vZGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsbG93IHJlYnVp bGRpbmcgb2YgLmNsYXNzIGFuZCAuaCBmaWxlcwotKyAgLS1lbmFibGUtbGliamF2YS1tdWx0aWxp YgotKyAgICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGQgbGliamF2YSBhcyBtdWx0aWxpYgot ICAgLS1kaXNhYmxlLWRlcGVuZGVuY3ktdHJhY2tpbmcgIHNwZWVkcyB1cCBvbmUtdGltZSBidWls ZAotICAgLS1lbmFibGUtZGVwZW5kZW5jeS10cmFja2luZyAgIGRvIG5vdCByZWplY3Qgc2xvdyBk ZXBlbmRlbmN5IGV4dHJhY3RvcnMKLSAgIC0tZW5hYmxlLW1haW50YWluZXItbW9kZSAgZW5hYmxl IG1ha2UgcnVsZXMgYW5kIGRlcGVuZGVuY2llcyBub3QgdXNlZnVsCi1AQCAtMTk3Myw2ICsxOTc1 LDE2IEBAIGVsc2UKLSBmaQotIAotIAotKyMgQ2hlY2sgd2hldGhlciAtLWVuYWJsZS1saWJqYXZh LW11bHRpbGliIHdhcyBnaXZlbi4KLStpZiB0ZXN0ICIke2VuYWJsZV9saWJqYXZhX211bHRpbGli K3NldH0iID0gc2V0OyB0aGVuCi0rICBlbmFibGV2YWw9JGVuYWJsZV9saWJqYXZhX211bHRpbGli OwotK2ZpCi0rCi0raWYgdGVzdCAiJGVuYWJsZV9saWJqYXZhX211bHRpbGliIiA9IG5vOyB0aGVu Ci0rICBtdWx0aWxpYj1ubwotKyAgYWNfY29uZmlndXJlX2FyZ3M9IiRhY19jb25maWd1cmVfYXJn cyAtLWRpc2FibGUtbXVsdGlsaWIiCi0rZmkKLSsKLSAjIEl0IG1heSBub3QgYmUgc2FmZSB0byBy dW4gbGlua2luZyB0ZXN0cyBpbiBBQ19QUk9HX0NDL0FDX1BST0dfQ1hYLgotIAotIAoKZGlmZiAt LWdpdCBhL2djYzQ5LWxpYmdvLXAyMjQucGF0Y2ggYi9nY2M0OS1saWJnby1wMjI0LnBhdGNoCmRl bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4OWUwNmUxLi4wMDAwMDAwCi0tLSBhL2djYzQ5 LWxpYmdvLXAyMjQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMDkzICswLDAgQEAKLS0tLSBs aWJnby9NYWtlZmlsZS5hbS5qagkyMDE0LTAxLTA4IDEzOjUzOjA2LjAwMDAwMDAwMCArMDEwMAot KysrIGxpYmdvL01ha2VmaWxlLmFtCTIwMTQtMDMtMDUgMTU6MjA6MDkuOTM4NDY2MDkzICswMTAw Ci1AQCAtMTEzMyw3ICsxMTMzLDYgQEAgZ29fY3J5cHRvX2VjZHNhX2ZpbGVzID0gXAotIAlnby9j cnlwdG8vZWNkc2EvZWNkc2EuZ28KLSBnb19jcnlwdG9fZWxsaXB0aWNfZmlsZXMgPSBcCi0gCWdv L2NyeXB0by9lbGxpcHRpYy9lbGxpcHRpYy5nbyBcCi0tCWdvL2NyeXB0by9lbGxpcHRpYy9wMjI0 LmdvIFwKLSAJZ28vY3J5cHRvL2VsbGlwdGljL3AyNTYuZ28KLSBnb19jcnlwdG9faG1hY19maWxl cyA9IFwKLSAJZ28vY3J5cHRvL2htYWMvaG1hYy5nbwotLS0tIGxpYmdvL01ha2VmaWxlLmluLmpq CTIwMTQtMDEtMDggMTM6NTM6MDYuMDAwMDAwMDAwICswMTAwCi0rKysgbGliZ28vTWFrZWZpbGUu aW4JMjAxNC0wMy0wNSAxNToyMDoyMC4zNzI0NjU0NzEgKzAxMDAKLUBAIC0xMjkxLDcgKzEyOTEs NiBAQCBnb19jcnlwdG9fZWNkc2FfZmlsZXMgPSBcCi0gCi0gZ29fY3J5cHRvX2VsbGlwdGljX2Zp bGVzID0gXAotIAlnby9jcnlwdG8vZWxsaXB0aWMvZWxsaXB0aWMuZ28gXAotLQlnby9jcnlwdG8v ZWxsaXB0aWMvcDIyNC5nbyBcCi0gCWdvL2NyeXB0by9lbGxpcHRpYy9wMjU2LmdvCi0gCi0gZ29f Y3J5cHRvX2htYWNfZmlsZXMgPSBcCi0tLS0gbGliZ28vZ28vY3J5cHRvL2VsbGlwdGljL2VsbGlw dGljLmdvLmpqCTIwMTMtMTEtMDcgMTE6NTk6MDkuMDAwMDAwMDAwICswMTAwCi0rKysgbGliZ28v Z28vY3J5cHRvL2VsbGlwdGljL2VsbGlwdGljLmdvCTIwMTQtMDMtMDUgMTU6MjE6MDQuMTg2NDYy ODU5ICswMTAwCi1AQCAtMzI2LDcgKzMyNiw2IEBAIHZhciBwMzg0ICpDdXJ2ZVBhcmFtcwotIHZh ciBwNTIxICpDdXJ2ZVBhcmFtcwotIAotIGZ1bmMgaW5pdEFsbCgpIHsKLS0JaW5pdFAyMjQoKQot IAlpbml0UDI1NigpCi0gCWluaXRQMzg0KCkKLSAJaW5pdFA1MjEoKQotLS0tIGxpYmdvL2dvL2Ny eXB0by9lbGxpcHRpYy9lbGxpcHRpY190ZXN0LmdvLmpqCTIwMTMtMTEtMDcgMTE6NTk6MDkuMDAw MDAwMDAwICswMTAwCi0rKysgbGliZ28vZ28vY3J5cHRvL2VsbGlwdGljL2VsbGlwdGljX3Rlc3Qu Z28JMjAxNC0wMy0wNSAxNTo0NjowMy43MzkzNzM0NTMgKzAxMDAKLUBAIC01LDI2ICs1LDE2IEBA Ci0gcGFja2FnZSBlbGxpcHRpYwotIAotIGltcG9ydCAoCi0tCSJjcnlwdG8vcmFuZCIKLS0JImVu Y29kaW5nL2hleCIKLS0JImZtdCIKLSAJIm1hdGgvYmlnIgotIAkidGVzdGluZyIKLSApCi0gCi0t ZnVuYyBUZXN0T25DdXJ2ZSh0ICp0ZXN0aW5nLlQpIHsKLS0JcDIyNCA6PSBQMjI0KCkKLS0JaWYg IXAyMjQuSXNPbkN1cnZlKHAyMjQuUGFyYW1zKCkuR3gsIHAyMjQuUGFyYW1zKCkuR3kpIHsKLS0J CXQuRXJyb3JmKCJGQUlMIikKLS0JfQotLX0KLS0KLSB0eXBlIGJhc2VNdWx0VGVzdCBzdHJ1Y3Qg ewotIAlrICAgIHN0cmluZwotIAl4LCB5IHN0cmluZwotIH0KLSAKLS12YXIgcDIyNEJhc2VNdWx0 VGVzdHMgPSBbXWJhc2VNdWx0VGVzdHsKLSt2YXIgcDI1NkJhc2VNdWx0VGVzdHMgPSBbXWJhc2VN dWx0VGVzdHsKLSAJewotIAkJIjEiLAotIAkJImI3MGUwY2JkNmJiNGJmN2YzMjEzOTBiOTRhMDNj MWQzNTZjMjExMjIzNDMyODBkNjExNWMxZDIxIiwKLUBAIC0yODcsNDcgKzI3NywxMiBAQCB2YXIg cDIyNEJhc2VNdWx0VGVzdHMgPSBbXWJhc2VNdWx0VGVzdHsKLSAJfSwKLSB9Ci0gCi0tZnVuYyBU ZXN0QmFzZU11bHQodCAqdGVzdGluZy5UKSB7Ci0tCXAyMjQgOj0gUDIyNCgpCi0tCWZvciBpLCBl IDo9IHJhbmdlIHAyMjRCYXNlTXVsdFRlc3RzIHsKLS0JCWssIG9rIDo9IG5ldyhiaWcuSW50KS5T ZXRTdHJpbmcoZS5rLCAxMCkKLS0JCWlmICFvayB7Ci0tCQkJdC5FcnJvcmYoIiVkOiBiYWQgdmFs dWUgZm9yIGs6ICVzIiwgaSwgZS5rKQotLQkJfQotLQkJeCwgeSA6PSBwMjI0LlNjYWxhckJhc2VN dWx0KGsuQnl0ZXMoKSkKLS0JCWlmIGZtdC5TcHJpbnRmKCIleCIsIHgpICE9IGUueCB8fCBmbXQu U3ByaW50ZigiJXgiLCB5KSAhPSBlLnkgewotLQkJCXQuRXJyb3JmKCIlZDogYmFkIG91dHB1dCBm b3Igaz0lczogZ290ICgleCwgJXgpLCB3YW50ICglcywgJXMpIiwgaSwgZS5rLCB4LCB5LCBlLngs IGUueSkKLS0JCX0KLS0JCWlmIHRlc3RpbmcuU2hvcnQoKSAmJiBpID4gNSB7Ci0tCQkJYnJlYWsK LS0JCX0KLS0JfQotLX0KLS0KLS1mdW5jIFRlc3RHZW5lcmljQmFzZU11bHQodCAqdGVzdGluZy5U KSB7Ci0tCS8vIFdlIHVzZSB0aGUgUDIyNCBDdXJ2ZVBhcmFtcyBkaXJlY3RseSBpbiBvcmRlciB0 byB0ZXN0IHRoZSBnZW5lcmljIGltcGxlbWVudGF0aW9uLgotLQlwMjI0IDo9IFAyMjQoKS5QYXJh bXMoKQotLQlmb3IgaSwgZSA6PSByYW5nZSBwMjI0QmFzZU11bHRUZXN0cyB7Ci0tCQlrLCBvayA6 PSBuZXcoYmlnLkludCkuU2V0U3RyaW5nKGUuaywgMTApCi0tCQlpZiAhb2sgewotLQkJCXQuRXJy b3JmKCIlZDogYmFkIHZhbHVlIGZvciBrOiAlcyIsIGksIGUuaykKLS0JCX0KLS0JCXgsIHkgOj0g cDIyNC5TY2FsYXJCYXNlTXVsdChrLkJ5dGVzKCkpCi0tCQlpZiBmbXQuU3ByaW50ZigiJXgiLCB4 KSAhPSBlLnggfHwgZm10LlNwcmludGYoIiV4IiwgeSkgIT0gZS55IHsKLS0JCQl0LkVycm9yZigi JWQ6IGJhZCBvdXRwdXQgZm9yIGs9JXM6IGdvdCAoJXgsICV4KSwgd2FudCAoJXMsICVzKSIsIGks IGUuaywgeCwgeSwgZS54LCBlLnkpCi0tCQl9Ci0tCQlpZiB0ZXN0aW5nLlNob3J0KCkgJiYgaSA+ IDUgewotLQkJCWJyZWFrCi0tCQl9Ci0tCX0KLS19Ci0tCi0gZnVuYyBUZXN0UDI1NkJhc2VNdWx0 KHQgKnRlc3RpbmcuVCkgewotIAlwMjU2IDo9IFAyNTYoKQotIAlwMjU2R2VuZXJpYyA6PSBwMjU2 LlBhcmFtcygpCi0gCi0tCXNjYWxhcnMgOj0gbWFrZShbXSpiaWcuSW50LCAwLCBsZW4ocDIyNEJh c2VNdWx0VGVzdHMpKzEpCi0tCWZvciBfLCBlIDo9IHJhbmdlIHAyMjRCYXNlTXVsdFRlc3RzIHsK LSsJc2NhbGFycyA6PSBtYWtlKFtdKmJpZy5JbnQsIDAsIGxlbihwMjU2QmFzZU11bHRUZXN0cykr MSkKLSsJZm9yIF8sIGUgOj0gcmFuZ2UgcDI1NkJhc2VNdWx0VGVzdHMgewotIAkJaywgXyA6PSBu ZXcoYmlnLkludCkuU2V0U3RyaW5nKGUuaywgMTApCi0gCQlzY2FsYXJzID0gYXBwZW5kKHNjYWxh cnMsIGspCi0gCX0KLUBAIC0zNTIsNyArMzA3LDcgQEAgZnVuYyBUZXN0UDI1Nk11bHQodCAqdGVz dGluZy5UKSB7Ci0gCXAyNTYgOj0gUDI1NigpCi0gCXAyNTZHZW5lcmljIDo9IHAyNTYuUGFyYW1z KCkKLSAKLS0JZm9yIGksIGUgOj0gcmFuZ2UgcDIyNEJhc2VNdWx0VGVzdHMgewotKwlmb3IgaSwg ZSA6PSByYW5nZSBwMjU2QmFzZU11bHRUZXN0cyB7Ci0gCQl4LCBfIDo9IG5ldyhiaWcuSW50KS5T ZXRTdHJpbmcoZS54LCAxNikKLSAJCXksIF8gOj0gbmV3KGJpZy5JbnQpLlNldFN0cmluZyhlLnks IDE2KQotIAkJaywgXyA6PSBuZXcoYmlnLkludCkuU2V0U3RyaW5nKGUuaywgMTApCi1AQCAtMzcz LDcgKzMyOCw2IEBAIGZ1bmMgVGVzdEluZmluaXR5KHQgKnRlc3RpbmcuVCkgewotIAkJbmFtZSAg c3RyaW5nCi0gCQljdXJ2ZSBDdXJ2ZQotIAl9ewotLQkJeyJwMjI0IiwgUDIyNCgpfSwKLSAJCXsi cDI1NiIsIFAyNTYoKX0sCi0gCX0KLSAKLUBAIC00MDYsNTMgKzM2MCwxMyBAQCBmdW5jIFRlc3RJ bmZpbml0eSh0ICp0ZXN0aW5nLlQpIHsKLSAJfQotIH0KLSAKLS1mdW5jIEJlbmNobWFya0Jhc2VN dWx0KGIgKnRlc3RpbmcuQikgewotLQliLlJlc2V0VGltZXIoKQotLQlwMjI0IDo9IFAyMjQoKQot LQllIDo9IHAyMjRCYXNlTXVsdFRlc3RzWzI1XQotLQlrLCBfIDo9IG5ldyhiaWcuSW50KS5TZXRT dHJpbmcoZS5rLCAxMCkKLS0JYi5TdGFydFRpbWVyKCkKLS0JZm9yIGkgOj0gMDsgaSA8IGIuTjsg aSsrIHsKLS0JCXAyMjQuU2NhbGFyQmFzZU11bHQoay5CeXRlcygpKQotLQl9Ci0tfQotLQotIGZ1 bmMgQmVuY2htYXJrQmFzZU11bHRQMjU2KGIgKnRlc3RpbmcuQikgewotIAliLlJlc2V0VGltZXIo KQotIAlwMjU2IDo9IFAyNTYoKQotLQllIDo9IHAyMjRCYXNlTXVsdFRlc3RzWzI1XQotKwllIDo9 IHAyNTZCYXNlTXVsdFRlc3RzWzI1XQotIAlrLCBfIDo9IG5ldyhiaWcuSW50KS5TZXRTdHJpbmco ZS5rLCAxMCkKLSAJYi5TdGFydFRpbWVyKCkKLSAJZm9yIGkgOj0gMDsgaSA8IGIuTjsgaSsrIHsK LSAJCXAyNTYuU2NhbGFyQmFzZU11bHQoay5CeXRlcygpKQotIAl9Ci0gfQotLQotLWZ1bmMgVGVz dE1hcnNoYWwodCAqdGVzdGluZy5UKSB7Ci0tCXAyMjQgOj0gUDIyNCgpCi0tCV8sIHgsIHksIGVy ciA6PSBHZW5lcmF0ZUtleShwMjI0LCByYW5kLlJlYWRlcikKLS0JaWYgZXJyICE9IG5pbCB7Ci0t CQl0LkVycm9yKGVycikKLS0JCXJldHVybgotLQl9Ci0tCXNlcmlhbGl6ZWQgOj0gTWFyc2hhbChw MjI0LCB4LCB5KQotLQl4eCwgeXkgOj0gVW5tYXJzaGFsKHAyMjQsIHNlcmlhbGl6ZWQpCi0tCWlm IHh4ID09IG5pbCB7Ci0tCQl0LkVycm9yKCJmYWlsZWQgdG8gdW5tYXJzaGFsIikKLS0JCXJldHVy bgotLQl9Ci0tCWlmIHh4LkNtcCh4KSAhPSAwIHx8IHl5LkNtcCh5KSAhPSAwIHsKLS0JCXQuRXJy b3IoInVubWFyc2hhbCByZXR1cm5lZCBkaWZmZXJlbnQgdmFsdWVzIikKLS0JCXJldHVybgotLQl9 Ci0tfQotLQotLWZ1bmMgVGVzdFAyMjRPdmVyZmxvdyh0ICp0ZXN0aW5nLlQpIHsKLS0JLy8gVGhp cyB0ZXN0cyBmb3IgYSBzcGVjaWZpYyBidWcgaW4gdGhlIFAyMjQgaW1wbGVtZW50YXRpb24uCi0t CXAyMjQgOj0gUDIyNCgpCi0tCXBvaW50RGF0YSwgXyA6PSBoZXguRGVjb2RlU3RyaW5nKCIwNDlC NTM1QjQ1RkIwQTIwNzIzOThBNjgzMTgzNDYyNEM3RTMyQ0NGRDVBNEI5MzNCQ0VBRjc3RjFERDk0 NUUwOEJCRTUxNzhGNUVERjVFNzMzMzg4RjE5NkQyQTYzMUQyRTA3NUJCMTZDQkZFRUExNUIiKQot LQl4LCB5IDo9IFVubWFyc2hhbChwMjI0LCBwb2ludERhdGEpCi0tCWlmICFwMjI0LklzT25DdXJ2 ZSh4LCB5KSB7Ci0tCQl0LkVycm9yKCJQMjI0IGZhaWxlZCB0byB2YWxpZGF0ZSBhIGNvcnJlY3Qg cG9pbnQiKQotLQl9Ci0tfQotLS0tIGxpYmdvL2dvL2NyeXB0by9lY2RzYS9lY2RzYV90ZXN0Lmdv LmpqCTIwMTItMTEtMTUgMTg6MjY6NTYuMDAwMDAwMDAwICswMTAwCi0rKysgbGliZ28vZ28vY3J5 cHRvL2VjZHNhL2VjZHNhX3Rlc3QuZ28JMjAxNC0wMy0wNSAxNToyNjozOC40NjE0NDI5MjkgKzAx MDAKLUBAIC0zMyw3ICszMyw2IEBAIGZ1bmMgdGVzdEtleUdlbmVyYXRpb24odCAqdGVzdGluZy5U LCBjIGUKLSB9Ci0gCi0gZnVuYyBUZXN0S2V5R2VuZXJhdGlvbih0ICp0ZXN0aW5nLlQpIHsKLS0J dGVzdEtleUdlbmVyYXRpb24odCwgZWxsaXB0aWMuUDIyNCgpLCAicDIyNCIpCi0gCWlmIHRlc3Rp bmcuU2hvcnQoKSB7Ci0gCQlyZXR1cm4KLSAJfQotQEAgLTYzLDcgKzYyLDYgQEAgZnVuYyB0ZXN0 U2lnbkFuZFZlcmlmeSh0ICp0ZXN0aW5nLlQsIGMgZQotIH0KLSAKLSBmdW5jIFRlc3RTaWduQW5k VmVyaWZ5KHQgKnRlc3RpbmcuVCkgewotLQl0ZXN0U2lnbkFuZFZlcmlmeSh0LCBlbGxpcHRpYy5Q MjI0KCksICJwMjI0IikKLSAJaWYgdGVzdGluZy5TaG9ydCgpIHsKLSAJCXJldHVybgotIAl9Ci1A QCAtMTI5LDggKzEyNyw2IEBAIGZ1bmMgVGVzdFZlY3RvcnModCAqdGVzdGluZy5UKSB7Ci0gCQkJ cGFydHMgOj0gc3RyaW5ncy5TcGxpdE4obGluZSwgIiwiLCAyKQotIAotIAkJCXN3aXRjaCBwYXJ0 c1swXSB7Ci0tCQkJY2FzZSAiUC0yMjQiOgotLQkJCQlwdWIuQ3VydmUgPSBlbGxpcHRpYy5QMjI0 KCkKLSAJCQljYXNlICJQLTI1NiI6Ci0gCQkJCXB1Yi5DdXJ2ZSA9IGVsbGlwdGljLlAyNTYoKQot IAkJCWNhc2UgIlAtMzg0IjoKLS0tLSBsaWJnby9nby9jcnlwdG8veDUwOS94NTA5LmdvLmpqCTIw MTMtMTEtMDcgMTE6NTk6MDkuMDAwMDAwMDAwICswMTAwCi0rKysgbGliZ28vZ28vY3J5cHRvL3g1 MDkveDUwOS5nbwkyMDE0LTAzLTA1IDE1OjI3OjM3LjAyMjQzOTQzNyArMDEwMAotQEAgLTMwNSw5 ICszMDUsNiBAQCBmdW5jIGdldFB1YmxpY0tleUFsZ29yaXRobUZyb21PSUQob2lkIGFzCi0gCi0g Ly8gUkZDIDU0ODAsIDIuMS4xLjEuIE5hbWVkIEN1cnZlCi0gLy8KLS0vLyBzZWNwMjI0cjEgT0JK RUNUIElERU5USUZJRVIgOjo9IHsKLS0vLyAgIGlzbygxKSBpZGVudGlmaWVkLW9yZ2FuaXphdGlv bigzKSBjZXJ0aWNvbSgxMzIpIGN1cnZlKDApIDMzIH0KLS0vLwotIC8vIHNlY3AyNTZyMSBPQkpF Q1QgSURFTlRJRklFUiA6Oj0gewotIC8vICAgaXNvKDEpIG1lbWJlci1ib2R5KDIpIHVzKDg0MCkg YW5zaS1YOS02MigxMDA0NSkgY3VydmVzKDMpCi0gLy8gICBwcmltZSgxKSA3IH0KLUBAIC0zMjAs NyArMzE3LDYgQEAgZnVuYyBnZXRQdWJsaWNLZXlBbGdvcml0aG1Gcm9tT0lEKG9pZCBhcwotIC8v Ci0gLy8gTkI6IHNlY3AyNTZyMSBpcyBlcXVpdmFsZW50IHRvIHByaW1lMjU2djEKLSB2YXIgKAot LQlvaWROYW1lZEN1cnZlUDIyNCA9IGFzbjEuT2JqZWN0SWRlbnRpZmllcnsxLCAzLCAxMzIsIDAs IDMzfQotIAlvaWROYW1lZEN1cnZlUDI1NiA9IGFzbjEuT2JqZWN0SWRlbnRpZmllcnsxLCAyLCA4 NDAsIDEwMDQ1LCAzLCAxLCA3fQotIAlvaWROYW1lZEN1cnZlUDM4NCA9IGFzbjEuT2JqZWN0SWRl bnRpZmllcnsxLCAzLCAxMzIsIDAsIDM0fQotIAlvaWROYW1lZEN1cnZlUDUyMSA9IGFzbjEuT2Jq ZWN0SWRlbnRpZmllcnsxLCAzLCAxMzIsIDAsIDM1fQotQEAgLTMyOCw4ICszMjQsNiBAQCB2YXIg KAotIAotIGZ1bmMgbmFtZWRDdXJ2ZUZyb21PSUQob2lkIGFzbjEuT2JqZWN0SWRlbnRpZmllcikg ZWxsaXB0aWMuQ3VydmUgewotIAlzd2l0Y2ggewotLQljYXNlIG9pZC5FcXVhbChvaWROYW1lZEN1 cnZlUDIyNCk6Ci0tCQlyZXR1cm4gZWxsaXB0aWMuUDIyNCgpCi0gCWNhc2Ugb2lkLkVxdWFsKG9p ZE5hbWVkQ3VydmVQMjU2KToKLSAJCXJldHVybiBlbGxpcHRpYy5QMjU2KCkKLSAJY2FzZSBvaWQu RXF1YWwob2lkTmFtZWRDdXJ2ZVAzODQpOgotQEAgLTM0Miw4ICszMzYsNiBAQCBmdW5jIG5hbWVk Q3VydmVGcm9tT0lEKG9pZCBhc24xLk9iamVjdElkCi0gCi0gZnVuYyBvaWRGcm9tTmFtZWRDdXJ2 ZShjdXJ2ZSBlbGxpcHRpYy5DdXJ2ZSkgKGFzbjEuT2JqZWN0SWRlbnRpZmllciwgYm9vbCkgewot IAlzd2l0Y2ggY3VydmUgewotLQljYXNlIGVsbGlwdGljLlAyMjQoKToKLS0JCXJldHVybiBvaWRO YW1lZEN1cnZlUDIyNCwgdHJ1ZQotIAljYXNlIGVsbGlwdGljLlAyNTYoKToKLSAJCXJldHVybiBv aWROYW1lZEN1cnZlUDI1NiwgdHJ1ZQotIAljYXNlIGVsbGlwdGljLlAzODQoKToKLUBAIC0xMzcz LDcgKzEzNjUsNyBAQCBmdW5jIENyZWF0ZUNlcnRpZmljYXRlKHJhbmQgaW8uUmVhZGVyLCB0Ci0g CQloYXNoRnVuYyA9IGNyeXB0by5TSEExCi0gCWNhc2UgKmVjZHNhLlByaXZhdGVLZXk6Ci0gCQlz d2l0Y2ggcHJpdi5DdXJ2ZSB7Ci0tCQljYXNlIGVsbGlwdGljLlAyMjQoKSwgZWxsaXB0aWMuUDI1 NigpOgotKwkJY2FzZSBlbGxpcHRpYy5QMjU2KCk6Ci0gCQkJaGFzaEZ1bmMgPSBjcnlwdG8uU0hB MjU2Ci0gCQkJc2lnbmF0dXJlQWxnb3JpdGhtLkFsZ29yaXRobSA9IG9pZFNpZ25hdHVyZUVDRFNB V2l0aFNIQTI1NgotIAkJY2FzZSBlbGxpcHRpYy5QMzg0KCk6Ci0tLS0gbGliZ28vZ28vY3J5cHRv L2VsbGlwdGljL3AyMjQuZ28uamoJMjAxMi0xMS0xNSAxODoyNjo1Ny4wMDAwMDAwMDAgKzAxMDAK LSsrKyBsaWJnby9nby9jcnlwdG8vZWxsaXB0aWMvcDIyNC5nbwkyMDE0LTAzLTA1IDE1OjMwOjAx LjE4OTQzMDg0MiArMDEwMAotQEAgLTEsNzY1ICswLDAgQEAKLS0vLyBDb3B5cmlnaHQgMjAxMiBU aGUgR28gQXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0tLy8gVXNlIG9mIHRoaXMgc291 cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUKLS0vLyBsaWNlbnNlIHRoYXQgY2Fu IGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0tCi0tcGFja2FnZSBlbGxpcHRpYwotLQot LS8vIFRoaXMgaXMgYSBjb25zdGFudC10aW1lLCAzMi1iaXQgaW1wbGVtZW50YXRpb24gb2YgUDIy NC4gU2VlIEZJUFMgMTg2LTMsCi0tLy8gc2VjdGlvbiBELjIuMi4KLS0vLwotLS8vIFNlZSBodHRw Oi8vd3d3LmltcGVyaWFsdmlvbGV0Lm9yZy8yMDEwLzEyLzA0L2VjYy5odG1sIChbMV0pIGZvciBi YWNrZ3JvdW5kLgotLQotLWltcG9ydCAoCi0tCSJtYXRoL2JpZyIKLS0pCi0tCi0tdmFyIHAyMjQg cDIyNEN1cnZlCi0tCi0tdHlwZSBwMjI0Q3VydmUgc3RydWN0IHsKLS0JKkN1cnZlUGFyYW1zCi0t CWd4LCBneSwgYiBwMjI0RmllbGRFbGVtZW50Ci0tfQotLQotLWZ1bmMgaW5pdFAyMjQoKSB7Ci0t CS8vIFNlZSBGSVBTIDE4Ni0zLCBzZWN0aW9uIEQuMi4yCi0tCXAyMjQuQ3VydmVQYXJhbXMgPSBu ZXcoQ3VydmVQYXJhbXMpCi0tCXAyMjQuUCwgXyA9IG5ldyhiaWcuSW50KS5TZXRTdHJpbmcoIjI2 OTU5OTQ2NjY3MTUwNjM5Nzk0NjY3MDE1MDg3MDE5NjMwNjczNTU3OTE2MjYwMDI2MzA4MTQzNTEw MDY2Mjk4ODgxIiwgMTApCi0tCXAyMjQuTiwgXyA9IG5ldyhiaWcuSW50KS5TZXRTdHJpbmcoIjI2 OTU5OTQ2NjY3MTUwNjM5Nzk0NjY3MDE1MDg3MDE5NjI1OTQwNDU3ODA3NzE0NDI0MzkxNzIxNjgy NzIyMzY4MDYxIiwgMTApCi0tCXAyMjQuQiwgXyA9IG5ldyhiaWcuSW50KS5TZXRTdHJpbmcoImI0 MDUwYTg1MGMwNGIzYWJmNTQxMzI1NjUwNDRiMGI3ZDdiZmQ4YmEyNzBiMzk0MzIzNTVmZmI0Iiwg MTYpCi0tCXAyMjQuR3gsIF8gPSBuZXcoYmlnLkludCkuU2V0U3RyaW5nKCJiNzBlMGNiZDZiYjRi ZjdmMzIxMzkwYjk0YTAzYzFkMzU2YzIxMTIyMzQzMjgwZDYxMTVjMWQyMSIsIDE2KQotLQlwMjI0 Lkd5LCBfID0gbmV3KGJpZy5JbnQpLlNldFN0cmluZygiYmQzNzYzODhiNWY3MjNmYjRjMjJkZmU2 Y2Q0Mzc1YTA1YTA3NDc2NDQ0ZDU4MTk5ODUwMDdlMzQiLCAxNikKLS0JcDIyNC5CaXRTaXplID0g MjI0Ci0tCi0tCXAyMjRGcm9tQmlnKCZwMjI0Lmd4LCBwMjI0Lkd4KQotLQlwMjI0RnJvbUJpZygm cDIyNC5neSwgcDIyNC5HeSkKLS0JcDIyNEZyb21CaWcoJnAyMjQuYiwgcDIyNC5CKQotLX0KLS0K LS0vLyBQMjI0IHJldHVybnMgYSBDdXJ2ZSB3aGljaCBpbXBsZW1lbnRzIFAtMjI0IChzZWUgRklQ UyAxODYtMywgc2VjdGlvbiBELjIuMikKLS1mdW5jIFAyMjQoKSBDdXJ2ZSB7Ci0tCWluaXRvbmNl LkRvKGluaXRBbGwpCi0tCXJldHVybiBwMjI0Ci0tfQotLQotLWZ1bmMgKGN1cnZlIHAyMjRDdXJ2 ZSkgUGFyYW1zKCkgKkN1cnZlUGFyYW1zIHsKLS0JcmV0dXJuIGN1cnZlLkN1cnZlUGFyYW1zCi0t fQotLQotLWZ1bmMgKGN1cnZlIHAyMjRDdXJ2ZSkgSXNPbkN1cnZlKGJpZ1gsIGJpZ1kgKmJpZy5J bnQpIGJvb2wgewotLQl2YXIgeCwgeSBwMjI0RmllbGRFbGVtZW50Ci0tCXAyMjRGcm9tQmlnKCZ4 LCBiaWdYKQotLQlwMjI0RnJvbUJpZygmeSwgYmlnWSkKLS0KLS0JLy8gecKyID0geMKzIC0gM3gg KyBiCi0tCXZhciB0bXAgcDIyNExhcmdlRmllbGRFbGVtZW50Ci0tCXZhciB4MyBwMjI0RmllbGRF bGVtZW50Ci0tCXAyMjRTcXVhcmUoJngzLCAmeCwgJnRtcCkKLS0JcDIyNE11bCgmeDMsICZ4Mywg JngsICZ0bXApCi0tCi0tCWZvciBpIDo9IDA7IGkgPCA4OyBpKysgewotLQkJeFtpXSAqPSAzCi0t CX0KLS0JcDIyNFN1YigmeDMsICZ4MywgJngpCi0tCXAyMjRSZWR1Y2UoJngzKQotLQlwMjI0QWRk KCZ4MywgJngzLCAmY3VydmUuYikKLS0JcDIyNENvbnRyYWN0KCZ4MywgJngzKQotLQotLQlwMjI0 U3F1YXJlKCZ5LCAmeSwgJnRtcCkKLS0JcDIyNENvbnRyYWN0KCZ5LCAmeSkKLS0KLS0JZm9yIGkg Oj0gMDsgaSA8IDg7IGkrKyB7Ci0tCQlpZiB5W2ldICE9IHgzW2ldIHsKLS0JCQlyZXR1cm4gZmFs c2UKLS0JCX0KLS0JfQotLQlyZXR1cm4gdHJ1ZQotLX0KLS0KLS1mdW5jIChwMjI0Q3VydmUpIEFk ZChiaWdYMSwgYmlnWTEsIGJpZ1gyLCBiaWdZMiAqYmlnLkludCkgKHgsIHkgKmJpZy5JbnQpIHsK LS0JdmFyIHgxLCB5MSwgejEsIHgyLCB5MiwgejIsIHgzLCB5MywgejMgcDIyNEZpZWxkRWxlbWVu dAotLQotLQlwMjI0RnJvbUJpZygmeDEsIGJpZ1gxKQotLQlwMjI0RnJvbUJpZygmeTEsIGJpZ1kx KQotLQlpZiBiaWdYMS5TaWduKCkgIT0gMCB8fCBiaWdZMS5TaWduKCkgIT0gMCB7Ci0tCQl6MVsw XSA9IDEKLS0JfQotLQlwMjI0RnJvbUJpZygmeDIsIGJpZ1gyKQotLQlwMjI0RnJvbUJpZygmeTIs IGJpZ1kyKQotLQlpZiBiaWdYMi5TaWduKCkgIT0gMCB8fCBiaWdZMi5TaWduKCkgIT0gMCB7Ci0t CQl6MlswXSA9IDEKLS0JfQotLQotLQlwMjI0QWRkSmFjb2JpYW4oJngzLCAmeTMsICZ6MywgJngx LCAmeTEsICZ6MSwgJngyLCAmeTIsICZ6MikKLS0JcmV0dXJuIHAyMjRUb0FmZmluZSgmeDMsICZ5 MywgJnozKQotLX0KLS0KLS1mdW5jIChwMjI0Q3VydmUpIERvdWJsZShiaWdYMSwgYmlnWTEgKmJp Zy5JbnQpICh4LCB5ICpiaWcuSW50KSB7Ci0tCXZhciB4MSwgeTEsIHoxLCB4MiwgeTIsIHoyIHAy MjRGaWVsZEVsZW1lbnQKLS0KLS0JcDIyNEZyb21CaWcoJngxLCBiaWdYMSkKLS0JcDIyNEZyb21C aWcoJnkxLCBiaWdZMSkKLS0JejFbMF0gPSAxCi0tCi0tCXAyMjREb3VibGVKYWNvYmlhbigmeDIs ICZ5MiwgJnoyLCAmeDEsICZ5MSwgJnoxKQotLQlyZXR1cm4gcDIyNFRvQWZmaW5lKCZ4MiwgJnky LCAmejIpCi0tfQotLQotLWZ1bmMgKHAyMjRDdXJ2ZSkgU2NhbGFyTXVsdChiaWdYMSwgYmlnWTEg KmJpZy5JbnQsIHNjYWxhciBbXWJ5dGUpICh4LCB5ICpiaWcuSW50KSB7Ci0tCXZhciB4MSwgeTEs IHoxLCB4MiwgeTIsIHoyIHAyMjRGaWVsZEVsZW1lbnQKLS0KLS0JcDIyNEZyb21CaWcoJngxLCBi aWdYMSkKLS0JcDIyNEZyb21CaWcoJnkxLCBiaWdZMSkKLS0JejFbMF0gPSAxCi0tCi0tCXAyMjRT Y2FsYXJNdWx0KCZ4MiwgJnkyLCAmejIsICZ4MSwgJnkxLCAmejEsIHNjYWxhcikKLS0JcmV0dXJu IHAyMjRUb0FmZmluZSgmeDIsICZ5MiwgJnoyKQotLX0KLS0KLS1mdW5jIChjdXJ2ZSBwMjI0Q3Vy dmUpIFNjYWxhckJhc2VNdWx0KHNjYWxhciBbXWJ5dGUpICh4LCB5ICpiaWcuSW50KSB7Ci0tCXZh ciB6MSwgeDIsIHkyLCB6MiBwMjI0RmllbGRFbGVtZW50Ci0tCi0tCXoxWzBdID0gMQotLQlwMjI0 U2NhbGFyTXVsdCgmeDIsICZ5MiwgJnoyLCAmY3VydmUuZ3gsICZjdXJ2ZS5neSwgJnoxLCBzY2Fs YXIpCi0tCXJldHVybiBwMjI0VG9BZmZpbmUoJngyLCAmeTIsICZ6MikKLS19Ci0tCi0tLy8gRmll bGQgZWxlbWVudCBmdW5jdGlvbnMuCi0tLy8KLS0vLyBUaGUgZmllbGQgdGhhdCB3ZSdyZSBkZWFs aW5nIHdpdGggaXMg4oSkL3DihKQgd2hlcmUgcCA9IDIqKjIyNCAtIDIqKjk2ICsgMS4KLS0vLwot LS8vIEZpZWxkIGVsZW1lbnRzIGFyZSByZXByZXNlbnRlZCBieSBhIEZpZWxkRWxlbWVudCwgd2hp Y2ggaXMgYSB0eXBlZGVmIHRvIGFuCi0tLy8gYXJyYXkgb2YgOCB1aW50MzIncy4gVGhlIHZhbHVl IG9mIGEgRmllbGRFbGVtZW50LCBhLCBpczoKLS0vLyAgIGFbMF0gKyAyKioyOMK3YVsxXSArIDIq KjU2wrdhWzFdICsgLi4uICsgMioqMTk2wrdhWzddCi0tLy8KLS0vLyBVc2luZyAyOC1iaXQgbGlt YnMgbWVhbnMgdGhhdCB0aGVyZSdzIG9ubHkgNCBiaXRzIG9mIGhlYWRyb29tLCB3aGljaCBpcyBs ZXNzCi0tLy8gdGhhbiB3ZSB3b3VsZCByZWFsbHkgbGlrZS4gQnV0IGl0IGhhcyB0aGUgdXNlZnVs IGZlYXR1cmUgdGhhdCB3ZSBoaXQgMioqMjI0Ci0tLy8gZXhhY3RseSwgbWFraW5nIHRoZSByZWZs ZWN0aW9ucyBkdXJpbmcgYSByZWR1Y2UgbXVjaCBuaWNlci4KLS10eXBlIHAyMjRGaWVsZEVsZW1l bnQgWzhddWludDMyCi0tCi0tLy8gcDIyNFAgaXMgdGhlIG9yZGVyIG9mIHRoZSBmaWVsZCwgcmVw cmVzZW50ZWQgYXMgYSBwMjI0RmllbGRFbGVtZW50LgotLXZhciBwMjI0UCA9IFs4XXVpbnQzMnsx LCAwLCAwLCAweGZmZmYwMDAsIDB4ZmZmZmZmZiwgMHhmZmZmZmZmLCAweGZmZmZmZmYsIDB4ZmZm ZmZmZn0KLS0KLS0vLyBwMjI0SXNaZXJvIHJldHVybnMgMSBpZiBhID09IDAgbW9kIHAgYW5kIDAg b3RoZXJ3aXNlLgotLS8vCi0tLy8gYVtpXSA8IDIqKjI5Ci0tZnVuYyBwMjI0SXNaZXJvKGEgKnAy MjRGaWVsZEVsZW1lbnQpIHVpbnQzMiB7Ci0tCS8vIFNpbmNlIGEgcDIyNEZpZWxkRWxlbWVudCBj b250YWlucyAyMjQgYml0cyB0aGVyZSBhcmUgdHdvIHBvc3NpYmxlCi0tCS8vIHJlcHJlc2VudGF0 aW9ucyBvZiAwOiAwIGFuZCBwLgotLQl2YXIgbWluaW1hbCBwMjI0RmllbGRFbGVtZW50Ci0tCXAy MjRDb250cmFjdCgmbWluaW1hbCwgYSkKLS0KLS0JdmFyIGlzWmVybywgaXNQIHVpbnQzMgotLQlm b3IgaSwgdiA6PSByYW5nZSBtaW5pbWFsIHsKLS0JCWlzWmVybyB8PSB2Ci0tCQlpc1AgfD0gdiAt IHAyMjRQW2ldCi0tCX0KLS0KLS0JLy8gSWYgZWl0aGVyIGlzWmVybyBvciBpc1AgaXMgMCwgdGhl biB3ZSBzaG91bGQgcmV0dXJuIDEuCi0tCWlzWmVybyB8PSBpc1plcm8gPj4gMTYKLS0JaXNaZXJv IHw9IGlzWmVybyA+PiA4Ci0tCWlzWmVybyB8PSBpc1plcm8gPj4gNAotLQlpc1plcm8gfD0gaXNa ZXJvID4+IDIKLS0JaXNaZXJvIHw9IGlzWmVybyA+PiAxCi0tCi0tCWlzUCB8PSBpc1AgPj4gMTYK LS0JaXNQIHw9IGlzUCA+PiA4Ci0tCWlzUCB8PSBpc1AgPj4gNAotLQlpc1AgfD0gaXNQID4+IDIK LS0JaXNQIHw9IGlzUCA+PiAxCi0tCi0tCS8vIEZvciBpc1plcm8gYW5kIGlzUCwgdGhlIExTQiBp cyAwIGlmZiBhbGwgdGhlIGJpdHMgYXJlIHplcm8uCi0tCXJlc3VsdCA6PSBpc1plcm8gJiBpc1AK LS0JcmVzdWx0ID0gKF5yZXN1bHQpICYgMQotLQotLQlyZXR1cm4gcmVzdWx0Ci0tfQotLQotLS8v IHAyMjRBZGQgY29tcHV0ZXMgKm91dCA9IGErYgotLS8vCi0tLy8gYVtpXSArIGJbaV0gPCAyKioz MgotLWZ1bmMgcDIyNEFkZChvdXQsIGEsIGIgKnAyMjRGaWVsZEVsZW1lbnQpIHsKLS0JZm9yIGkg Oj0gMDsgaSA8IDg7IGkrKyB7Ci0tCQlvdXRbaV0gPSBhW2ldICsgYltpXQotLQl9Ci0tfQotLQot LWNvbnN0IHR3bzMxcDMgPSAxPDwzMSArIDE8PDMKLS1jb25zdCB0d28zMW0zID0gMTw8MzEgLSAx PDwzCi0tY29uc3QgdHdvMzFtMTVtMyA9IDE8PDMxIC0gMTw8MTUgLSAxPDwzCi0tCi0tLy8gcDIy NFplcm9Nb2RQMzEgaXMgMCBtb2QgcCB3aGVyZSBiaXQgMzEgaXMgc2V0IGluIGFsbCBsaW1icyBz byB0aGF0IHdlIGNhbgotLS8vIHN1YnRyYWN0IHNtYWxsZXIgYW1vdW50cyB3aXRob3V0IHVuZGVy Zmxvdy4gU2VlIHRoZSBzZWN0aW9uICJTdWJ0cmFjdGlvbiIgaW4KLS0vLyBbMV0gZm9yIHJlYXNv bmluZy4KLS12YXIgcDIyNFplcm9Nb2RQMzEgPSBbXXVpbnQzMnt0d28zMXAzLCB0d28zMW0zLCB0 d28zMW0zLCB0d28zMW0xNW0zLCB0d28zMW0zLCB0d28zMW0zLCB0d28zMW0zLCB0d28zMW0zfQot LQotLS8vIHAyMjRTdWIgY29tcHV0ZXMgKm91dCA9IGEtYgotLS8vCi0tLy8gYVtpXSwgYltpXSA8 IDIqKjMwCi0tLy8gb3V0W2ldIDwgMioqMzIKLS1mdW5jIHAyMjRTdWIob3V0LCBhLCBiICpwMjI0 RmllbGRFbGVtZW50KSB7Ci0tCWZvciBpIDo9IDA7IGkgPCA4OyBpKysgewotLQkJb3V0W2ldID0g YVtpXSArIHAyMjRaZXJvTW9kUDMxW2ldIC0gYltpXQotLQl9Ci0tfQotLQotLS8vIExhcmdlRmll bGRFbGVtZW50IGFsc28gcmVwcmVzZW50cyBhbiBlbGVtZW50IG9mIHRoZSBmaWVsZC4gVGhlIGxp bWJzIGFyZQotLS8vIHN0aWxsIHNwYWNlZCAyOC1iaXRzIGFwYXJ0IGFuZCBpbiBsaXR0bGUtZW5k aWFuIG9yZGVyLiBTbyB0aGUgbGltYnMgYXJlIGF0Ci0tLy8gMCwgMjgsIDU2LCAuLi4sIDM5MiBi aXRzLCBlYWNoIDY0LWJpdHMgd2lkZS4KLS10eXBlIHAyMjRMYXJnZUZpZWxkRWxlbWVudCBbMTVd dWludDY0Ci0tCi0tY29uc3QgdHdvNjNwMzUgPSAxPDw2MyArIDE8PDM1Ci0tY29uc3QgdHdvNjNt MzUgPSAxPDw2MyAtIDE8PDM1Ci0tY29uc3QgdHdvNjNtMzVtMTkgPSAxPDw2MyAtIDE8PDM1IC0g MTw8MTkKLS0KLS0vLyBwMjI0WmVyb01vZFA2MyBpcyAwIG1vZCBwIHdoZXJlIGJpdCA2MyBpcyBz ZXQgaW4gYWxsIGxpbWJzLiBTZWUgdGhlIHNlY3Rpb24KLS0vLyAiU3VidHJhY3Rpb24iIGluIFsx XSBmb3Igd2h5LgotLXZhciBwMjI0WmVyb01vZFA2MyA9IFs4XXVpbnQ2NHt0d282M3AzNSwgdHdv NjNtMzUsIHR3bzYzbTM1LCB0d282M20zNSwgdHdvNjNtMzVtMTksIHR3bzYzbTM1LCB0d282M20z NSwgdHdvNjNtMzV9Ci0tCi0tY29uc3QgYm90dG9tMTJCaXRzID0gMHhmZmYKLS1jb25zdCBib3R0 b20yOEJpdHMgPSAweGZmZmZmZmYKLS0KLS0vLyBwMjI0TXVsIGNvbXB1dGVzICpvdXQgPSBhKmIK LS0vLwotLS8vIGFbaV0gPCAyKioyOSwgYltpXSA8IDIqKjMwIChvciB2aWNlIHZlcnNhKQotLS8v IG91dFtpXSA8IDIqKjI5Ci0tZnVuYyBwMjI0TXVsKG91dCwgYSwgYiAqcDIyNEZpZWxkRWxlbWVu dCwgdG1wICpwMjI0TGFyZ2VGaWVsZEVsZW1lbnQpIHsKLS0JZm9yIGkgOj0gMDsgaSA8IDE1OyBp KysgewotLQkJdG1wW2ldID0gMAotLQl9Ci0tCi0tCWZvciBpIDo9IDA7IGkgPCA4OyBpKysgewot LQkJZm9yIGogOj0gMDsgaiA8IDg7IGorKyB7Ci0tCQkJdG1wW2kral0gKz0gdWludDY0KGFbaV0p ICogdWludDY0KGJbal0pCi0tCQl9Ci0tCX0KLS0KLS0JcDIyNFJlZHVjZUxhcmdlKG91dCwgdG1w KQotLX0KLS0KLS0vLyBTcXVhcmUgY29tcHV0ZXMgKm91dCA9IGEqYQotLS8vCi0tLy8gYVtpXSA8 IDIqKjI5Ci0tLy8gb3V0W2ldIDwgMioqMjkKLS1mdW5jIHAyMjRTcXVhcmUob3V0LCBhICpwMjI0 RmllbGRFbGVtZW50LCB0bXAgKnAyMjRMYXJnZUZpZWxkRWxlbWVudCkgewotLQlmb3IgaSA6PSAw OyBpIDwgMTU7IGkrKyB7Ci0tCQl0bXBbaV0gPSAwCi0tCX0KLS0KLS0JZm9yIGkgOj0gMDsgaSA8 IDg7IGkrKyB7Ci0tCQlmb3IgaiA6PSAwOyBqIDw9IGk7IGorKyB7Ci0tCQkJciA6PSB1aW50NjQo YVtpXSkgKiB1aW50NjQoYVtqXSkKLS0JCQlpZiBpID09IGogewotLQkJCQl0bXBbaStqXSArPSBy Ci0tCQkJfSBlbHNlIHsKLS0JCQkJdG1wW2kral0gKz0gciA8PCAxCi0tCQkJfQotLQkJfQotLQl9 Ci0tCi0tCXAyMjRSZWR1Y2VMYXJnZShvdXQsIHRtcCkKLS19Ci0tCi0tLy8gUmVkdWNlTGFyZ2Ug Y29udmVydHMgYSBwMjI0TGFyZ2VGaWVsZEVsZW1lbnQgdG8gYSBwMjI0RmllbGRFbGVtZW50Lgot LS8vCi0tLy8gaW5baV0gPCAyKio2MgotLWZ1bmMgcDIyNFJlZHVjZUxhcmdlKG91dCAqcDIyNEZp ZWxkRWxlbWVudCwgaW4gKnAyMjRMYXJnZUZpZWxkRWxlbWVudCkgewotLQlmb3IgaSA6PSAwOyBp IDwgODsgaSsrIHsKLS0JCWluW2ldICs9IHAyMjRaZXJvTW9kUDYzW2ldCi0tCX0KLS0KLS0JLy8g RWxpbWluYXRlIHRoZSBjb2VmZmljaWVudHMgYXQgMioqMjI0IGFuZCBncmVhdGVyLgotLQlmb3Ig aSA6PSAxNDsgaSA+PSA4OyBpLS0gewotLQkJaW5baS04XSAtPSBpbltpXQotLQkJaW5baS01XSAr PSAoaW5baV0gJiAweGZmZmYpIDw8IDEyCi0tCQlpbltpLTRdICs9IGluW2ldID4+IDE2Ci0tCX0K LS0JaW5bOF0gPSAwCi0tCS8vIGluWzAuLjhdIDwgMioqNjQKLS0KLS0JLy8gQXMgdGhlIHZhbHVl cyBiZWNvbWUgc21hbGwgZW5vdWdoLCB3ZSBzdGFydCB0byBzdG9yZSB0aGVtIGluIHxvdXR8Ci0t CS8vIGFuZCB1c2UgMzItYml0IG9wZXJhdGlvbnMuCi0tCWZvciBpIDo9IDE7IGkgPCA4OyBpKysg ewotLQkJaW5baSsxXSArPSBpbltpXSA+PiAyOAotLQkJb3V0W2ldID0gdWludDMyKGluW2ldICYg Ym90dG9tMjhCaXRzKQotLQl9Ci0tCWluWzBdIC09IGluWzhdCi0tCW91dFszXSArPSB1aW50MzIo aW5bOF0mMHhmZmZmKSA8PCAxMgotLQlvdXRbNF0gKz0gdWludDMyKGluWzhdID4+IDE2KQotLQkv LyBpblswXSA8IDIqKjY0Ci0tCS8vIG91dFszXSA8IDIqKjI5Ci0tCS8vIG91dFs0XSA8IDIqKjI5 Ci0tCS8vIG91dFsxLDIsNS4uN10gPCAyKioyOAotLQotLQlvdXRbMF0gPSB1aW50MzIoaW5bMF0g JiBib3R0b20yOEJpdHMpCi0tCW91dFsxXSArPSB1aW50MzIoKGluWzBdID4+IDI4KSAmIGJvdHRv bTI4Qml0cykKLS0Jb3V0WzJdICs9IHVpbnQzMihpblswXSA+PiA1NikKLS0JLy8gb3V0WzBdIDwg MioqMjgKLS0JLy8gb3V0WzEuLjRdIDwgMioqMjkKLS0JLy8gb3V0WzUuLjddIDwgMioqMjgKLS19 Ci0tCi0tLy8gUmVkdWNlIHJlZHVjZXMgdGhlIGNvZWZmaWNpZW50cyBvZiBhIHRvIHNtYWxsZXIg Ym91bmRzLgotLS8vCi0tLy8gT24gZW50cnk6IGFbaV0gPCAyKiozMSArIDIqKjMwCi0tLy8gT24g ZXhpdDogYVtpXSA8IDIqKjI5Ci0tZnVuYyBwMjI0UmVkdWNlKGEgKnAyMjRGaWVsZEVsZW1lbnQp IHsKLS0JZm9yIGkgOj0gMDsgaSA8IDc7IGkrKyB7Ci0tCQlhW2krMV0gKz0gYVtpXSA+PiAyOAot LQkJYVtpXSAmPSBib3R0b20yOEJpdHMKLS0JfQotLQl0b3AgOj0gYVs3XSA+PiAyOAotLQlhWzdd ICY9IGJvdHRvbTI4Qml0cwotLQotLQkvLyB0b3AgPCAyKio0Ci0tCW1hc2sgOj0gdG9wCi0tCW1h c2sgfD0gbWFzayA+PiAyCi0tCW1hc2sgfD0gbWFzayA+PiAxCi0tCW1hc2sgPDw9IDMxCi0tCW1h c2sgPSB1aW50MzIoaW50MzIobWFzaykgPj4gMzEpCi0tCS8vIE1hc2sgaXMgYWxsIG9uZXMgaWYg dG9wICE9IDAsIGFsbCB6ZXJvIG90aGVyd2lzZQotLQotLQlhWzBdIC09IHRvcAotLQlhWzNdICs9 IHRvcCA8PCAxMgotLQotLQkvLyBXZSBtYXkgaGF2ZSBqdXN0IG1hZGUgYVswXSBuZWdhdGl2ZSBi dXQsIGlmIHdlIGRpZCwgdGhlbiB3ZSBtdXN0Ci0tCS8vIGhhdmUgYWRkZWQgc29tZXRoaW5nIHRv IGFbM10sIHRoaXMgaXQncyA+IDIqKjEyLiBUaGVyZWZvcmUgd2UgY2FuCi0tCS8vIGNhcnJ5IGRv d24gdG8gYVswXS4KLS0JYVszXSAtPSAxICYgbWFzawotLQlhWzJdICs9IG1hc2sgJiAoMTw8Mjgg LSAxKQotLQlhWzFdICs9IG1hc2sgJiAoMTw8MjggLSAxKQotLQlhWzBdICs9IG1hc2sgJiAoMSA8 PCAyOCkKLS19Ci0tCi0tLy8gcDIyNEludmVydCBjYWxjdWxhdGVzICpvdXQgPSBpbioqLTEgYnkg Y29tcHV0aW5nIGluKiooMioqMjI0IC0gMioqOTYgLSAxKSwKLS0vLyBpLmUuIEZlcm1hdCdzIGxp dHRsZSB0aGVvcmVtLgotLWZ1bmMgcDIyNEludmVydChvdXQsIGluICpwMjI0RmllbGRFbGVtZW50 KSB7Ci0tCXZhciBmMSwgZjIsIGYzLCBmNCBwMjI0RmllbGRFbGVtZW50Ci0tCXZhciBjIHAyMjRM YXJnZUZpZWxkRWxlbWVudAotLQotLQlwMjI0U3F1YXJlKCZmMSwgaW4sICZjKSAgICAvLyAyCi0t CXAyMjRNdWwoJmYxLCAmZjEsIGluLCAmYykgIC8vIDIqKjIgLSAxCi0tCXAyMjRTcXVhcmUoJmYx LCAmZjEsICZjKSAgIC8vIDIqKjMgLSAyCi0tCXAyMjRNdWwoJmYxLCAmZjEsIGluLCAmYykgIC8v IDIqKjMgLSAxCi0tCXAyMjRTcXVhcmUoJmYyLCAmZjEsICZjKSAgIC8vIDIqKjQgLSAyCi0tCXAy MjRTcXVhcmUoJmYyLCAmZjIsICZjKSAgIC8vIDIqKjUgLSA0Ci0tCXAyMjRTcXVhcmUoJmYyLCAm ZjIsICZjKSAgIC8vIDIqKjYgLSA4Ci0tCXAyMjRNdWwoJmYxLCAmZjEsICZmMiwgJmMpIC8vIDIq KjYgLSAxCi0tCXAyMjRTcXVhcmUoJmYyLCAmZjEsICZjKSAgIC8vIDIqKjcgLSAyCi0tCWZvciBp IDo9IDA7IGkgPCA1OyBpKysgeyAgIC8vIDIqKjEyIC0gMioqNgotLQkJcDIyNFNxdWFyZSgmZjIs ICZmMiwgJmMpCi0tCX0KLS0JcDIyNE11bCgmZjIsICZmMiwgJmYxLCAmYykgLy8gMioqMTIgLSAx Ci0tCXAyMjRTcXVhcmUoJmYzLCAmZjIsICZjKSAgIC8vIDIqKjEzIC0gMgotLQlmb3IgaSA6PSAw OyBpIDwgMTE7IGkrKyB7ICAvLyAyKioyNCAtIDIqKjEyCi0tCQlwMjI0U3F1YXJlKCZmMywgJmYz LCAmYykKLS0JfQotLQlwMjI0TXVsKCZmMiwgJmYzLCAmZjIsICZjKSAvLyAyKioyNCAtIDEKLS0J cDIyNFNxdWFyZSgmZjMsICZmMiwgJmMpICAgLy8gMioqMjUgLSAyCi0tCWZvciBpIDo9IDA7IGkg PCAyMzsgaSsrIHsgIC8vIDIqKjQ4IC0gMioqMjQKLS0JCXAyMjRTcXVhcmUoJmYzLCAmZjMsICZj KQotLQl9Ci0tCXAyMjRNdWwoJmYzLCAmZjMsICZmMiwgJmMpIC8vIDIqKjQ4IC0gMQotLQlwMjI0 U3F1YXJlKCZmNCwgJmYzLCAmYykgICAvLyAyKio0OSAtIDIKLS0JZm9yIGkgOj0gMDsgaSA8IDQ3 OyBpKysgeyAgLy8gMioqOTYgLSAyKio0OAotLQkJcDIyNFNxdWFyZSgmZjQsICZmNCwgJmMpCi0t CX0KLS0JcDIyNE11bCgmZjMsICZmMywgJmY0LCAmYykgLy8gMioqOTYgLSAxCi0tCXAyMjRTcXVh cmUoJmY0LCAmZjMsICZjKSAgIC8vIDIqKjk3IC0gMgotLQlmb3IgaSA6PSAwOyBpIDwgMjM7IGkr KyB7ICAvLyAyKioxMjAgLSAyKioyNAotLQkJcDIyNFNxdWFyZSgmZjQsICZmNCwgJmMpCi0tCX0K LS0JcDIyNE11bCgmZjIsICZmNCwgJmYyLCAmYykgLy8gMioqMTIwIC0gMQotLQlmb3IgaSA6PSAw OyBpIDwgNjsgaSsrIHsgICAvLyAyKioxMjYgLSAyKio2Ci0tCQlwMjI0U3F1YXJlKCZmMiwgJmYy LCAmYykKLS0JfQotLQlwMjI0TXVsKCZmMSwgJmYxLCAmZjIsICZjKSAvLyAyKioxMjYgLSAxCi0t CXAyMjRTcXVhcmUoJmYxLCAmZjEsICZjKSAgIC8vIDIqKjEyNyAtIDIKLS0JcDIyNE11bCgmZjEs ICZmMSwgaW4sICZjKSAgLy8gMioqMTI3IC0gMQotLQlmb3IgaSA6PSAwOyBpIDwgOTc7IGkrKyB7 ICAvLyAyKioyMjQgLSAyKio5NwotLQkJcDIyNFNxdWFyZSgmZjEsICZmMSwgJmMpCi0tCX0KLS0J cDIyNE11bChvdXQsICZmMSwgJmYzLCAmYykgLy8gMioqMjI0IC0gMioqOTYgLSAxCi0tfQotLQot LS8vIHAyMjRDb250cmFjdCBjb252ZXJ0cyBhIEZpZWxkRWxlbWVudCB0byBpdHMgdW5pcXVlLCBt aW5pbWFsIGZvcm0uCi0tLy8KLS0vLyBPbiBlbnRyeSwgaW5baV0gPCAyKioyOQotLS8vIE9uIGV4 aXQsIGluW2ldIDwgMioqMjgKLS1mdW5jIHAyMjRDb250cmFjdChvdXQsIGluICpwMjI0RmllbGRF bGVtZW50KSB7Ci0tCWNvcHkob3V0WzpdLCBpbls6XSkKLS0KLS0JZm9yIGkgOj0gMDsgaSA8IDc7 IGkrKyB7Ci0tCQlvdXRbaSsxXSArPSBvdXRbaV0gPj4gMjgKLS0JCW91dFtpXSAmPSBib3R0b20y OEJpdHMKLS0JfQotLQl0b3AgOj0gb3V0WzddID4+IDI4Ci0tCW91dFs3XSAmPSBib3R0b20yOEJp dHMKLS0KLS0Jb3V0WzBdIC09IHRvcAotLQlvdXRbM10gKz0gdG9wIDw8IDEyCi0tCi0tCS8vIFdl IG1heSBqdXN0IGhhdmUgbWFkZSBvdXRbaV0gbmVnYXRpdmUuIFNvIHdlIGNhcnJ5IGRvd24uIElm IHdlIG1hZGUKLS0JLy8gb3V0WzBdIG5lZ2F0aXZlIHRoZW4gd2Uga25vdyB0aGF0IG91dFszXSBp cyBzdWZmaWNpZW50bHkgcG9zaXRpdmUKLS0JLy8gYmVjYXVzZSB3ZSBqdXN0IGFkZGVkIHRvIGl0 LgotLQlmb3IgaSA6PSAwOyBpIDwgMzsgaSsrIHsKLS0JCW1hc2sgOj0gdWludDMyKGludDMyKG91 dFtpXSkgPj4gMzEpCi0tCQlvdXRbaV0gKz0gKDEgPDwgMjgpICYgbWFzawotLQkJb3V0W2krMV0g LT0gMSAmIG1hc2sKLS0JfQotLQotLQkvLyBXZSBtaWdodCBoYXZlIHB1c2hlZCBvdXRbM10gb3Zl ciAyKioyOCBzbyB3ZSBwZXJmb3JtIGFub3RoZXIsIHBhcnRpYWwsCi0tCS8vIGNhcnJ5IGNoYWlu LgotLQlmb3IgaSA6PSAzOyBpIDwgNzsgaSsrIHsKLS0JCW91dFtpKzFdICs9IG91dFtpXSA+PiAy OAotLQkJb3V0W2ldICY9IGJvdHRvbTI4Qml0cwotLQl9Ci0tCXRvcCA9IG91dFs3XSA+PiAyOAot LQlvdXRbN10gJj0gYm90dG9tMjhCaXRzCi0tCi0tCS8vIEVsaW1pbmF0ZSB0b3Agd2hpbGUgbWFp bnRhaW5pbmcgdGhlIHNhbWUgdmFsdWUgbW9kIHAuCi0tCW91dFswXSAtPSB0b3AKLS0Jb3V0WzNd ICs9IHRvcCA8PCAxMgotLQotLQkvLyBUaGVyZSBhcmUgdHdvIGNhc2VzIHRvIGNvbnNpZGVyIGZv ciBvdXRbM106Ci0tCS8vICAgMSkgVGhlIGZpcnN0IHRpbWUgdGhhdCB3ZSBlbGltaW5hdGVkIHRv cCwgd2UgZGlkbid0IHB1c2ggb3V0WzNdIG92ZXIKLS0JLy8gICAgICAyKioyOC4gSW4gdGhpcyBj YXNlLCB0aGUgcGFydGlhbCBjYXJyeSBjaGFpbiBkaWRuJ3QgY2hhbmdlIGFueSB2YWx1ZXMKLS0J Ly8gICAgICBhbmQgdG9wIGlzIHplcm8uCi0tCS8vICAgMikgV2UgZGlkIHB1c2ggb3V0WzNdIG92 ZXIgMioqMjggdGhlIGZpcnN0IHRpbWUgdGhhdCB3ZSBlbGltaW5hdGVkIHRvcC4KLS0JLy8gICAg ICBUaGUgZmlyc3QgdmFsdWUgb2YgdG9wIHdhcyBpbiBbMC4uMTYpLCB0aGVyZWZvcmUsIHByaW9y IHRvIGVsaW1pbmF0aW5nCi0tCS8vICAgICAgdGhlIGZpcnN0IHRvcCwgMHhmZmYxMDAwIDw9IG91 dFszXSA8PSAweGZmZmZmZmYuIFRoZXJlZm9yZSwgYWZ0ZXIKLS0JLy8gICAgICBvdmVyZmxvd2lu ZyBhbmQgYmVpbmcgcmVkdWNlZCBieSB0aGUgc2Vjb25kIGNhcnJ5IGNoYWluLCBvdXRbM10gPD0K LS0JLy8gICAgICAweGYwMDAuIFRodXMgaXQgY2Fubm90IGhhdmUgb3ZlcmZsb3dlZCB3aGVuIHdl IGVsaW1pbmF0ZWQgdG9wIGZvciB0aGUKLS0JLy8gICAgICBzZWNvbmQgdGltZS4KLS0KLS0JLy8g QWdhaW4sIHdlIG1heSBqdXN0IGhhdmUgbWFkZSBvdXRbMF0gbmVnYXRpdmUsIHNvIGRvIHRoZSBz YW1lIGNhcnJ5IGRvd24uCi0tCS8vIEFzIGJlZm9yZSwgaWYgd2UgbWFkZSBvdXRbMF0gbmVnYXRp dmUgdGhlbiB3ZSBrbm93IHRoYXQgb3V0WzNdIGlzCi0tCS8vIHN1ZmZpY2llbnRseSBwb3NpdGl2 ZS4KLS0JZm9yIGkgOj0gMDsgaSA8IDM7IGkrKyB7Ci0tCQltYXNrIDo9IHVpbnQzMihpbnQzMihv dXRbaV0pID4+IDMxKQotLQkJb3V0W2ldICs9ICgxIDw8IDI4KSAmIG1hc2sKLS0JCW91dFtpKzFd IC09IDEgJiBtYXNrCi0tCX0KLS0KLS0JLy8gTm93IHdlIHNlZSBpZiB0aGUgdmFsdWUgaXMgPj0g cCBhbmQsIGlmIHNvLCBzdWJ0cmFjdCBwLgotLQotLQkvLyBGaXJzdCB3ZSBidWlsZCBhIG1hc2sg ZnJvbSB0aGUgdG9wIGZvdXIgbGltYnMsIHdoaWNoIG11c3QgYWxsIGJlCi0tCS8vIGVxdWFsIHRv IGJvdHRvbTI4Qml0cyBpZiB0aGUgd2hvbGUgdmFsdWUgaXMgPj0gcC4gSWYgdG9wNEFsbE9uZXMK LS0JLy8gZW5kcyB1cCB3aXRoIGFueSB6ZXJvIGJpdHMgaW4gdGhlIGJvdHRvbSAyOCBiaXRzLCB0 aGVuIHRoaXMgd2Fzbid0Ci0tCS8vIHRydWUuCi0tCXRvcDRBbGxPbmVzIDo9IHVpbnQzMigweGZm ZmZmZmZmKQotLQlmb3IgaSA6PSA0OyBpIDwgODsgaSsrIHsKLS0JCXRvcDRBbGxPbmVzICY9IG91 dFtpXQotLQl9Ci0tCXRvcDRBbGxPbmVzIHw9IDB4ZjAwMDAwMDAKLS0JLy8gTm93IHdlIHJlcGxp Y2F0ZSBhbnkgemVybyBiaXRzIHRvIGFsbCB0aGUgYml0cyBpbiB0b3A0QWxsT25lcy4KLS0JdG9w NEFsbE9uZXMgJj0gdG9wNEFsbE9uZXMgPj4gMTYKLS0JdG9wNEFsbE9uZXMgJj0gdG9wNEFsbE9u ZXMgPj4gOAotLQl0b3A0QWxsT25lcyAmPSB0b3A0QWxsT25lcyA+PiA0Ci0tCXRvcDRBbGxPbmVz ICY9IHRvcDRBbGxPbmVzID4+IDIKLS0JdG9wNEFsbE9uZXMgJj0gdG9wNEFsbE9uZXMgPj4gMQot LQl0b3A0QWxsT25lcyA9IHVpbnQzMihpbnQzMih0b3A0QWxsT25lczw8MzEpID4+IDMxKQotLQot LQkvLyBOb3cgd2UgdGVzdCB3aGV0aGVyIHRoZSBib3R0b20gdGhyZWUgbGltYnMgYXJlIG5vbi16 ZXJvLgotLQlib3R0b20zTm9uWmVybyA6PSBvdXRbMF0gfCBvdXRbMV0gfCBvdXRbMl0KLS0JYm90 dG9tM05vblplcm8gfD0gYm90dG9tM05vblplcm8gPj4gMTYKLS0JYm90dG9tM05vblplcm8gfD0g Ym90dG9tM05vblplcm8gPj4gOAotLQlib3R0b20zTm9uWmVybyB8PSBib3R0b20zTm9uWmVybyA+ PiA0Ci0tCWJvdHRvbTNOb25aZXJvIHw9IGJvdHRvbTNOb25aZXJvID4+IDIKLS0JYm90dG9tM05v blplcm8gfD0gYm90dG9tM05vblplcm8gPj4gMQotLQlib3R0b20zTm9uWmVybyA9IHVpbnQzMihp bnQzMihib3R0b20zTm9uWmVybzw8MzEpID4+IDMxKQotLQotLQkvLyBFdmVyeXRoaW5nIGRlcGVu ZHMgb24gdGhlIHZhbHVlIG9mIG91dFszXS4KLS0JLy8gICAgSWYgaXQncyA+IDB4ZmZmZjAwMCBh bmQgdG9wNEFsbE9uZXMgIT0gMCB0aGVuIHRoZSB3aG9sZSB2YWx1ZSBpcyA+PSBwCi0tCS8vICAg IElmIGl0J3MgPSAweGZmZmYwMDAgYW5kIHRvcDRBbGxPbmVzICE9IDAgYW5kIGJvdHRvbTNOb25a ZXJvICE9IDAsCi0tCS8vICAgICAgdGhlbiB0aGUgd2hvbGUgdmFsdWUgaXMgPj0gcAotLQkvLyAg ICBJZiBpdCdzIDwgMHhmZmZmMDAwLCB0aGVuIHRoZSB3aG9sZSB2YWx1ZSBpcyA8IHAKLS0JbiA6 PSBvdXRbM10gLSAweGZmZmYwMDAKLS0Jb3V0M0VxdWFsIDo9IG4KLS0Jb3V0M0VxdWFsIHw9IG91 dDNFcXVhbCA+PiAxNgotLQlvdXQzRXF1YWwgfD0gb3V0M0VxdWFsID4+IDgKLS0Jb3V0M0VxdWFs IHw9IG91dDNFcXVhbCA+PiA0Ci0tCW91dDNFcXVhbCB8PSBvdXQzRXF1YWwgPj4gMgotLQlvdXQz RXF1YWwgfD0gb3V0M0VxdWFsID4+IDEKLS0Jb3V0M0VxdWFsID0gXnVpbnQzMihpbnQzMihvdXQz RXF1YWw8PDMxKSA+PiAzMSkKLS0KLS0JLy8gSWYgb3V0WzNdID4gMHhmZmZmMDAwIHRoZW4gbidz IE1TQiB3aWxsIGJlIHplcm8uCi0tCW91dDNHVCA6PSBedWludDMyKGludDMyKG4pID4+IDMxKQot LQotLQltYXNrIDo9IHRvcDRBbGxPbmVzICYgKChvdXQzRXF1YWwgJiBib3R0b20zTm9uWmVybykg fCBvdXQzR1QpCi0tCW91dFswXSAtPSAxICYgbWFzawotLQlvdXRbM10gLT0gMHhmZmZmMDAwICYg bWFzawotLQlvdXRbNF0gLT0gMHhmZmZmZmZmICYgbWFzawotLQlvdXRbNV0gLT0gMHhmZmZmZmZm ICYgbWFzawotLQlvdXRbNl0gLT0gMHhmZmZmZmZmICYgbWFzawotLQlvdXRbN10gLT0gMHhmZmZm ZmZmICYgbWFzawotLX0KLS0KLS0vLyBHcm91cCBlbGVtZW50IGZ1bmN0aW9ucy4KLS0vLwotLS8v IFRoZXNlIGZ1bmN0aW9ucyBkZWFsIHdpdGggZ3JvdXAgZWxlbWVudHMuIFRoZSBncm91cCBpcyBh biBlbGxpcHRpYyBjdXJ2ZQotLS8vIGdyb3VwIHdpdGggYSA9IC0zIGRlZmluZWQgaW4gRklQUyAx ODYtMywgc2VjdGlvbiBELjIuMi4KLS0KLS0vLyBwMjI0QWRkSmFjb2JpYW4gY29tcHV0ZXMgKm91 dCA9IGErYiB3aGVyZSBhICE9IGIuCi0tZnVuYyBwMjI0QWRkSmFjb2JpYW4oeDMsIHkzLCB6Mywg eDEsIHkxLCB6MSwgeDIsIHkyLCB6MiAqcDIyNEZpZWxkRWxlbWVudCkgewotLQkvLyBTZWUgaHR0 cDovL2h5cGVyZWxsaXB0aWMub3JnL0VGRC9nMXAvYXV0by1zaG9ydHctamFjb2JpYW4tMy5odG1s I2FkZGl0aW9uLXAyMjRBZGQtMjAwNy1ibAotLQl2YXIgejF6MSwgejJ6MiwgdTEsIHUyLCBzMSwg czIsIGgsIGksIGosIHIsIHYgcDIyNEZpZWxkRWxlbWVudAotLQl2YXIgYyBwMjI0TGFyZ2VGaWVs ZEVsZW1lbnQKLS0KLS0JejFJc1plcm8gOj0gcDIyNElzWmVybyh6MSkKLS0JejJJc1plcm8gOj0g cDIyNElzWmVybyh6MikKLS0KLS0JLy8gWjFaMSA9IFoxwrIKLS0JcDIyNFNxdWFyZSgmejF6MSwg ejEsICZjKQotLQkvLyBaMloyID0gWjLCsgotLQlwMjI0U3F1YXJlKCZ6MnoyLCB6MiwgJmMpCi0t CS8vIFUxID0gWDEqWjJaMgotLQlwMjI0TXVsKCZ1MSwgeDEsICZ6MnoyLCAmYykKLS0JLy8gVTIg PSBYMipaMVoxCi0tCXAyMjRNdWwoJnUyLCB4MiwgJnoxejEsICZjKQotLQkvLyBTMSA9IFkxKloy KloyWjIKLS0JcDIyNE11bCgmczEsIHoyLCAmejJ6MiwgJmMpCi0tCXAyMjRNdWwoJnMxLCB5MSwg JnMxLCAmYykKLS0JLy8gUzIgPSBZMipaMSpaMVoxCi0tCXAyMjRNdWwoJnMyLCB6MSwgJnoxejEs ICZjKQotLQlwMjI0TXVsKCZzMiwgeTIsICZzMiwgJmMpCi0tCS8vIEggPSBVMi1VMQotLQlwMjI0 U3ViKCZoLCAmdTIsICZ1MSkKLS0JcDIyNFJlZHVjZSgmaCkKLS0JeEVxdWFsIDo9IHAyMjRJc1pl cm8oJmgpCi0tCS8vIEkgPSAoMipIKcKyCi0tCWZvciBqIDo9IDA7IGogPCA4OyBqKysgewotLQkJ aVtqXSA9IGhbal0gPDwgMQotLQl9Ci0tCXAyMjRSZWR1Y2UoJmkpCi0tCXAyMjRTcXVhcmUoJmks ICZpLCAmYykKLS0JLy8gSiA9IEgqSQotLQlwMjI0TXVsKCZqLCAmaCwgJmksICZjKQotLQkvLyBy ID0gMiooUzItUzEpCi0tCXAyMjRTdWIoJnIsICZzMiwgJnMxKQotLQlwMjI0UmVkdWNlKCZyKQot LQl5RXF1YWwgOj0gcDIyNElzWmVybygmcikKLS0JaWYgeEVxdWFsID09IDEgJiYgeUVxdWFsID09 IDEgJiYgejFJc1plcm8gPT0gMCAmJiB6MklzWmVybyA9PSAwIHsKLS0JCXAyMjREb3VibGVKYWNv Ymlhbih4MywgeTMsIHozLCB4MSwgeTEsIHoxKQotLQkJcmV0dXJuCi0tCX0KLS0JZm9yIGkgOj0g MDsgaSA8IDg7IGkrKyB7Ci0tCQlyW2ldIDw8PSAxCi0tCX0KLS0JcDIyNFJlZHVjZSgmcikKLS0J Ly8gViA9IFUxKkkKLS0JcDIyNE11bCgmdiwgJnUxLCAmaSwgJmMpCi0tCS8vIFozID0gKChaMSta MinCsi1aMVoxLVoyWjIpKkgKLS0JcDIyNEFkZCgmejF6MSwgJnoxejEsICZ6MnoyKQotLQlwMjI0 QWRkKCZ6MnoyLCB6MSwgejIpCi0tCXAyMjRSZWR1Y2UoJnoyejIpCi0tCXAyMjRTcXVhcmUoJnoy ejIsICZ6MnoyLCAmYykKLS0JcDIyNFN1Yih6MywgJnoyejIsICZ6MXoxKQotLQlwMjI0UmVkdWNl KHozKQotLQlwMjI0TXVsKHozLCB6MywgJmgsICZjKQotLQkvLyBYMyA9IHLCsi1KLTIqVgotLQlm b3IgaSA6PSAwOyBpIDwgODsgaSsrIHsKLS0JCXoxejFbaV0gPSB2W2ldIDw8IDEKLS0JfQotLQlw MjI0QWRkKCZ6MXoxLCAmaiwgJnoxejEpCi0tCXAyMjRSZWR1Y2UoJnoxejEpCi0tCXAyMjRTcXVh cmUoeDMsICZyLCAmYykKLS0JcDIyNFN1Yih4MywgeDMsICZ6MXoxKQotLQlwMjI0UmVkdWNlKHgz KQotLQkvLyBZMyA9IHIqKFYtWDMpLTIqUzEqSgotLQlmb3IgaSA6PSAwOyBpIDwgODsgaSsrIHsK LS0JCXMxW2ldIDw8PSAxCi0tCX0KLS0JcDIyNE11bCgmczEsICZzMSwgJmosICZjKQotLQlwMjI0 U3ViKCZ6MXoxLCAmdiwgeDMpCi0tCXAyMjRSZWR1Y2UoJnoxejEpCi0tCXAyMjRNdWwoJnoxejEs ICZ6MXoxLCAmciwgJmMpCi0tCXAyMjRTdWIoeTMsICZ6MXoxLCAmczEpCi0tCXAyMjRSZWR1Y2Uo eTMpCi0tCi0tCXAyMjRDb3B5Q29uZGl0aW9uYWwoeDMsIHgyLCB6MUlzWmVybykKLS0JcDIyNENv cHlDb25kaXRpb25hbCh4MywgeDEsIHoySXNaZXJvKQotLQlwMjI0Q29weUNvbmRpdGlvbmFsKHkz LCB5MiwgejFJc1plcm8pCi0tCXAyMjRDb3B5Q29uZGl0aW9uYWwoeTMsIHkxLCB6MklzWmVybykK LS0JcDIyNENvcHlDb25kaXRpb25hbCh6MywgejIsIHoxSXNaZXJvKQotLQlwMjI0Q29weUNvbmRp dGlvbmFsKHozLCB6MSwgejJJc1plcm8pCi0tfQotLQotLS8vIHAyMjREb3VibGVKYWNvYmlhbiBj b21wdXRlcyAqb3V0ID0gYSthLgotLWZ1bmMgcDIyNERvdWJsZUphY29iaWFuKHgzLCB5MywgejMs IHgxLCB5MSwgejEgKnAyMjRGaWVsZEVsZW1lbnQpIHsKLS0JdmFyIGRlbHRhLCBnYW1tYSwgYmV0 YSwgYWxwaGEsIHQgcDIyNEZpZWxkRWxlbWVudAotLQl2YXIgYyBwMjI0TGFyZ2VGaWVsZEVsZW1l bnQKLS0KLS0JcDIyNFNxdWFyZSgmZGVsdGEsIHoxLCAmYykKLS0JcDIyNFNxdWFyZSgmZ2FtbWEs IHkxLCAmYykKLS0JcDIyNE11bCgmYmV0YSwgeDEsICZnYW1tYSwgJmMpCi0tCi0tCS8vIGFscGhh ID0gMyooWDEtZGVsdGEpKihYMStkZWx0YSkKLS0JcDIyNEFkZCgmdCwgeDEsICZkZWx0YSkKLS0J Zm9yIGkgOj0gMDsgaSA8IDg7IGkrKyB7Ci0tCQl0W2ldICs9IHRbaV0gPDwgMQotLQl9Ci0tCXAy MjRSZWR1Y2UoJnQpCi0tCXAyMjRTdWIoJmFscGhhLCB4MSwgJmRlbHRhKQotLQlwMjI0UmVkdWNl KCZhbHBoYSkKLS0JcDIyNE11bCgmYWxwaGEsICZhbHBoYSwgJnQsICZjKQotLQotLQkvLyBaMyA9 IChZMStaMSnCsi1nYW1tYS1kZWx0YQotLQlwMjI0QWRkKHozLCB5MSwgejEpCi0tCXAyMjRSZWR1 Y2UoejMpCi0tCXAyMjRTcXVhcmUoejMsIHozLCAmYykKLS0JcDIyNFN1Yih6MywgejMsICZnYW1t YSkKLS0JcDIyNFJlZHVjZSh6MykKLS0JcDIyNFN1Yih6MywgejMsICZkZWx0YSkKLS0JcDIyNFJl ZHVjZSh6MykKLS0KLS0JLy8gWDMgPSBhbHBoYcKyLTgqYmV0YQotLQlmb3IgaSA6PSAwOyBpIDwg ODsgaSsrIHsKLS0JCWRlbHRhW2ldID0gYmV0YVtpXSA8PCAzCi0tCX0KLS0JcDIyNFJlZHVjZSgm ZGVsdGEpCi0tCXAyMjRTcXVhcmUoeDMsICZhbHBoYSwgJmMpCi0tCXAyMjRTdWIoeDMsIHgzLCAm ZGVsdGEpCi0tCXAyMjRSZWR1Y2UoeDMpCi0tCi0tCS8vIFkzID0gYWxwaGEqKDQqYmV0YS1YMykt OCpnYW1tYcKyCi0tCWZvciBpIDo9IDA7IGkgPCA4OyBpKysgewotLQkJYmV0YVtpXSA8PD0gMgot LQl9Ci0tCXAyMjRTdWIoJmJldGEsICZiZXRhLCB4MykKLS0JcDIyNFJlZHVjZSgmYmV0YSkKLS0J cDIyNFNxdWFyZSgmZ2FtbWEsICZnYW1tYSwgJmMpCi0tCWZvciBpIDo9IDA7IGkgPCA4OyBpKysg ewotLQkJZ2FtbWFbaV0gPDw9IDMKLS0JfQotLQlwMjI0UmVkdWNlKCZnYW1tYSkKLS0JcDIyNE11 bCh5MywgJmFscGhhLCAmYmV0YSwgJmMpCi0tCXAyMjRTdWIoeTMsIHkzLCAmZ2FtbWEpCi0tCXAy MjRSZWR1Y2UoeTMpCi0tfQotLQotLS8vIHAyMjRDb3B5Q29uZGl0aW9uYWwgc2V0cyAqb3V0ID0g KmluIGlmZiB0aGUgbGVhc3Qtc2lnbmlmaWNhbnQtYml0IG9mIGNvbnRyb2wKLS0vLyBpcyB0cnVl LCBhbmQgaXQgcnVucyBpbiBjb25zdGFudCB0aW1lLgotLWZ1bmMgcDIyNENvcHlDb25kaXRpb25h bChvdXQsIGluICpwMjI0RmllbGRFbGVtZW50LCBjb250cm9sIHVpbnQzMikgewotLQljb250cm9s IDw8PSAzMQotLQljb250cm9sID0gdWludDMyKGludDMyKGNvbnRyb2wpID4+IDMxKQotLQotLQlm b3IgaSA6PSAwOyBpIDwgODsgaSsrIHsKLS0JCW91dFtpXSBePSAob3V0W2ldIF4gaW5baV0pICYg Y29udHJvbAotLQl9Ci0tfQotLQotLWZ1bmMgcDIyNFNjYWxhck11bHQob3V0WCwgb3V0WSwgb3V0 WiwgaW5YLCBpblksIGluWiAqcDIyNEZpZWxkRWxlbWVudCwgc2NhbGFyIFtdYnl0ZSkgewotLQl2 YXIgeHgsIHl5LCB6eiBwMjI0RmllbGRFbGVtZW50Ci0tCWZvciBpIDo9IDA7IGkgPCA4OyBpKysg ewotLQkJb3V0WFtpXSA9IDAKLS0JCW91dFlbaV0gPSAwCi0tCQlvdXRaW2ldID0gMAotLQl9Ci0t Ci0tCWZvciBfLCBieXRlIDo9IHJhbmdlIHNjYWxhciB7Ci0tCQlmb3IgYml0TnVtIDo9IHVpbnQo MCk7IGJpdE51bSA8IDg7IGJpdE51bSsrIHsKLS0JCQlwMjI0RG91YmxlSmFjb2JpYW4ob3V0WCwg b3V0WSwgb3V0Wiwgb3V0WCwgb3V0WSwgb3V0WikKLS0JCQliaXQgOj0gdWludDMyKChieXRlID4+ ICg3IC0gYml0TnVtKSkgJiAxKQotLQkJCXAyMjRBZGRKYWNvYmlhbigmeHgsICZ5eSwgJnp6LCBp blgsIGluWSwgaW5aLCBvdXRYLCBvdXRZLCBvdXRaKQotLQkJCXAyMjRDb3B5Q29uZGl0aW9uYWwo b3V0WCwgJnh4LCBiaXQpCi0tCQkJcDIyNENvcHlDb25kaXRpb25hbChvdXRZLCAmeXksIGJpdCkK LS0JCQlwMjI0Q29weUNvbmRpdGlvbmFsKG91dFosICZ6eiwgYml0KQotLQkJfQotLQl9Ci0tfQot LQotLS8vIHAyMjRUb0FmZmluZSBjb252ZXJ0cyBmcm9tIEphY29iaWFuIHRvIGFmZmluZSBmb3Jt LgotLWZ1bmMgcDIyNFRvQWZmaW5lKHgsIHksIHogKnAyMjRGaWVsZEVsZW1lbnQpICgqYmlnLklu dCwgKmJpZy5JbnQpIHsKLS0JdmFyIHppbnYsIHppbnZzcSwgb3V0eCwgb3V0eSBwMjI0RmllbGRF bGVtZW50Ci0tCXZhciB0bXAgcDIyNExhcmdlRmllbGRFbGVtZW50Ci0tCi0tCWlmIGlzUG9pbnRB dEluZmluaXR5IDo9IHAyMjRJc1plcm8oeik7IGlzUG9pbnRBdEluZmluaXR5ID09IDEgewotLQkJ cmV0dXJuIG5ldyhiaWcuSW50KSwgbmV3KGJpZy5JbnQpCi0tCX0KLS0KLS0JcDIyNEludmVydCgm emludiwgeikKLS0JcDIyNFNxdWFyZSgmemludnNxLCAmemludiwgJnRtcCkKLS0JcDIyNE11bCh4 LCB4LCAmemludnNxLCAmdG1wKQotLQlwMjI0TXVsKCZ6aW52c3EsICZ6aW52c3EsICZ6aW52LCAm dG1wKQotLQlwMjI0TXVsKHksIHksICZ6aW52c3EsICZ0bXApCi0tCi0tCXAyMjRDb250cmFjdCgm b3V0eCwgeCkKLS0JcDIyNENvbnRyYWN0KCZvdXR5LCB5KQotLQlyZXR1cm4gcDIyNFRvQmlnKCZv dXR4KSwgcDIyNFRvQmlnKCZvdXR5KQotLX0KLS0KLS0vLyBnZXQyOEJpdHNGcm9tRW5kIHJldHVy bnMgdGhlIGxlYXN0LXNpZ25pZmljYW50IDI4IGJpdHMgZnJvbSBidWY+PnNoaWZ0LAotLS8vIHdo ZXJlIGJ1ZiBpcyBpbnRlcnByZXRlZCBhcyBhIGJpZy1lbmRpYW4gbnVtYmVyLgotLWZ1bmMgZ2V0 MjhCaXRzRnJvbUVuZChidWYgW11ieXRlLCBzaGlmdCB1aW50KSAodWludDMyLCBbXWJ5dGUpIHsK LS0JdmFyIHJldCB1aW50MzIKLS0KLS0JZm9yIGkgOj0gdWludCgwKTsgaSA8IDQ7IGkrKyB7Ci0t CQl2YXIgYiBieXRlCi0tCQlpZiBsIDo9IGxlbihidWYpOyBsID4gMCB7Ci0tCQkJYiA9IGJ1Zlts LTFdCi0tCQkJLy8gV2UgZG9uJ3QgcmVtb3ZlIHRoZSBieXRlIGlmIHdlJ3JlIGFib3V0IHRvIHJl dHVybiBhbmQgd2UncmUgbm90Ci0tCQkJLy8gcmVhZGluZyBhbGwgb2YgaXQuCi0tCQkJaWYgaSAh PSAzIHx8IHNoaWZ0ID09IDQgewotLQkJCQlidWYgPSBidWZbOmwtMV0KLS0JCQl9Ci0tCQl9Ci0t CQlyZXQgfD0gdWludDMyKGIpIDw8ICg4ICogaSkgPj4gc2hpZnQKLS0JfQotLQlyZXQgJj0gYm90 dG9tMjhCaXRzCi0tCXJldHVybiByZXQsIGJ1ZgotLX0KLS0KLS0vLyBwMjI0RnJvbUJpZyBzZXRz ICpvdXQgPSAqaW4uCi0tZnVuYyBwMjI0RnJvbUJpZyhvdXQgKnAyMjRGaWVsZEVsZW1lbnQsIGlu ICpiaWcuSW50KSB7Ci0tCWJ5dGVzIDo9IGluLkJ5dGVzKCkKLS0Jb3V0WzBdLCBieXRlcyA9IGdl dDI4Qml0c0Zyb21FbmQoYnl0ZXMsIDApCi0tCW91dFsxXSwgYnl0ZXMgPSBnZXQyOEJpdHNGcm9t RW5kKGJ5dGVzLCA0KQotLQlvdXRbMl0sIGJ5dGVzID0gZ2V0MjhCaXRzRnJvbUVuZChieXRlcywg MCkKLS0Jb3V0WzNdLCBieXRlcyA9IGdldDI4Qml0c0Zyb21FbmQoYnl0ZXMsIDQpCi0tCW91dFs0 XSwgYnl0ZXMgPSBnZXQyOEJpdHNGcm9tRW5kKGJ5dGVzLCAwKQotLQlvdXRbNV0sIGJ5dGVzID0g Z2V0MjhCaXRzRnJvbUVuZChieXRlcywgNCkKLS0Jb3V0WzZdLCBieXRlcyA9IGdldDI4Qml0c0Zy b21FbmQoYnl0ZXMsIDApCi0tCW91dFs3XSwgYnl0ZXMgPSBnZXQyOEJpdHNGcm9tRW5kKGJ5dGVz LCA0KQotLX0KLS0KLS0vLyBwMjI0VG9CaWcgcmV0dXJucyBpbiBhcyBhIGJpZy5JbnQuCi0tZnVu YyBwMjI0VG9CaWcoaW4gKnAyMjRGaWVsZEVsZW1lbnQpICpiaWcuSW50IHsKLS0JdmFyIGJ1ZiBb MjhdYnl0ZQotLQlidWZbMjddID0gYnl0ZShpblswXSkKLS0JYnVmWzI2XSA9IGJ5dGUoaW5bMF0g Pj4gOCkKLS0JYnVmWzI1XSA9IGJ5dGUoaW5bMF0gPj4gMTYpCi0tCWJ1ZlsyNF0gPSBieXRlKCgo aW5bMF0gPj4gMjQpICYgMHgwZikgfCAoaW5bMV08PDQpJjB4ZjApCi0tCi0tCWJ1ZlsyM10gPSBi eXRlKGluWzFdID4+IDQpCi0tCWJ1ZlsyMl0gPSBieXRlKGluWzFdID4+IDEyKQotLQlidWZbMjFd ID0gYnl0ZShpblsxXSA+PiAyMCkKLS0KLS0JYnVmWzIwXSA9IGJ5dGUoaW5bMl0pCi0tCWJ1Zlsx OV0gPSBieXRlKGluWzJdID4+IDgpCi0tCWJ1ZlsxOF0gPSBieXRlKGluWzJdID4+IDE2KQotLQli dWZbMTddID0gYnl0ZSgoKGluWzJdID4+IDI0KSAmIDB4MGYpIHwgKGluWzNdPDw0KSYweGYwKQot LQotLQlidWZbMTZdID0gYnl0ZShpblszXSA+PiA0KQotLQlidWZbMTVdID0gYnl0ZShpblszXSA+ PiAxMikKLS0JYnVmWzE0XSA9IGJ5dGUoaW5bM10gPj4gMjApCi0tCi0tCWJ1ZlsxM10gPSBieXRl KGluWzRdKQotLQlidWZbMTJdID0gYnl0ZShpbls0XSA+PiA4KQotLQlidWZbMTFdID0gYnl0ZShp bls0XSA+PiAxNikKLS0JYnVmWzEwXSA9IGJ5dGUoKChpbls0XSA+PiAyNCkgJiAweDBmKSB8IChp bls1XTw8NCkmMHhmMCkKLS0KLS0JYnVmWzldID0gYnl0ZShpbls1XSA+PiA0KQotLQlidWZbOF0g PSBieXRlKGluWzVdID4+IDEyKQotLQlidWZbN10gPSBieXRlKGluWzVdID4+IDIwKQotLQotLQli dWZbNl0gPSBieXRlKGluWzZdKQotLQlidWZbNV0gPSBieXRlKGluWzZdID4+IDgpCi0tCWJ1Zls0 XSA9IGJ5dGUoaW5bNl0gPj4gMTYpCi0tCWJ1ZlszXSA9IGJ5dGUoKChpbls2XSA+PiAyNCkgJiAw eDBmKSB8IChpbls3XTw8NCkmMHhmMCkKLS0KLS0JYnVmWzJdID0gYnl0ZShpbls3XSA+PiA0KQot LQlidWZbMV0gPSBieXRlKGluWzddID4+IDEyKQotLQlidWZbMF0gPSBieXRlKGluWzddID4+IDIw KQotLQotLQlyZXR1cm4gbmV3KGJpZy5JbnQpLlNldEJ5dGVzKGJ1Zls6XSkKLS19Ci0tLS0gbGli Z28vZ28vY3J5cHRvL2VsbGlwdGljL3AyMjRfdGVzdC5nby5qagkyMDEyLTExLTE1IDE4OjI2OjU3 LjAwMDAwMDAwMCArMDEwMAotKysrIGxpYmdvL2dvL2NyeXB0by9lbGxpcHRpYy9wMjI0X3Rlc3Qu Z28JMjAxNC0wMy0wNSAxNToyOTo1OC43NDM0MzA5ODggKzAxMDAKLUBAIC0xLDQ3ICswLDAgQEAK LS0vLyBDb3B5cmlnaHQgMjAxMiBUaGUgR28gQXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQu Ci0tLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUK LS0vLyBsaWNlbnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0tCi0t cGFja2FnZSBlbGxpcHRpYwotLQotLWltcG9ydCAoCi0tCSJtYXRoL2JpZyIKLS0JInRlc3Rpbmci Ci0tKQotLQotLXZhciB0b0Zyb21CaWdUZXN0cyA9IFtdc3RyaW5newotLQkiMCIsCi0tCSIxIiwK LS0JIjIzIiwKLS0JImI3MGUwY2I0NmJiNGJmN2YzMjEzOTBiOTRhMDNjMWQzNTZjMDExMjIzNDMy ODBkNjEwNWMxZDIxIiwKLS0JIjcwNmE0NmQ0NzZkY2I3Njc5OGU2MDQ2ZDg5NDc0Nzg4ZDE2NGMx ODAzMmQyNjhmZDEwNzA0ZmE2IiwKLS19Ci0tCi0tZnVuYyBwMjI0QWx0ZXJuYXRpdmVUb0JpZyhp biAqcDIyNEZpZWxkRWxlbWVudCkgKmJpZy5JbnQgewotLQlyZXQgOj0gbmV3KGJpZy5JbnQpCi0t CXRtcCA6PSBuZXcoYmlnLkludCkKLS0KLS0JZm9yIGkgOj0gdWludCgwKTsgaSA8IDg7IGkrKyB7 Ci0tCQl0bXAuU2V0SW50NjQoaW50NjQoaW5baV0pKQotLQkJdG1wLkxzaCh0bXAsIDI4KmkpCi0t CQlyZXQuQWRkKHJldCwgdG1wKQotLQl9Ci0tCXJldC5Nb2QocmV0LCBwMjI0LlApCi0tCXJldHVy biByZXQKLS19Ci0tCi0tZnVuYyBUZXN0VG9Gcm9tQmlnKHQgKnRlc3RpbmcuVCkgewotLQlmb3Ig aSwgdGVzdCA6PSByYW5nZSB0b0Zyb21CaWdUZXN0cyB7Ci0tCQluLCBfIDo9IG5ldyhiaWcuSW50 KS5TZXRTdHJpbmcodGVzdCwgMTYpCi0tCQl2YXIgeCBwMjI0RmllbGRFbGVtZW50Ci0tCQlwMjI0 RnJvbUJpZygmeCwgbikKLS0JCW0gOj0gcDIyNFRvQmlnKCZ4KQotLQkJaWYgbi5DbXAobSkgIT0g MCB7Ci0tCQkJdC5FcnJvcmYoIiMlZDogJXggIT0gJXgiLCBpLCBuLCBtKQotLQkJfQotLQkJcSA6 PSBwMjI0QWx0ZXJuYXRpdmVUb0JpZygmeCkKLS0JCWlmIG4uQ21wKHEpICE9IDAgewotLQkJCXQu RXJyb3JmKCIjJWQ6ICV4ICE9ICV4IChhbHRlcm5hdGl2ZSkiLCBpLCBuLCBtKQotLQkJfQotLQl9 Ci0tfQotLS0tIGxpYmdvL2dvL2NyeXB0by9lbGxpcHRpYy9wMjU2LmdvLmpqCTIwMTMtMTEtMDcg MTE6NTk6MDkuMDAwMDAwMDAwICswMTAwCi0rKysgbGliZ28vZ28vY3J5cHRvL2VsbGlwdGljL3Ay NTYuZ28JMjAxNC0wMy0wNSAxNTozNDozMS45MTA0MTQ3MDEgKzAxMDAKLUBAIC0yMzMsNiArMjMz LDggQEAgZnVuYyBwMjU2UmVkdWNlQ2FycnkoaW5vdXQgKltwMjU2TGltYnNddQotIAlpbm91dFs3 XSArPSBjYXJyeSA8PCAyNQotIH0KLSAKLStjb25zdCBib3R0b20yOEJpdHMgPSAweGZmZmZmZmYK LSsKLSAvLyBwMjU2U3VtIHNldHMgb3V0ID0gaW4raW4yLgotIC8vCi0gLy8gT24gZW50cnksIGlu W2ldK2luMltpXSBtdXN0IG5vdCBvdmVyZmxvdyBhIDMyLWJpdCB3b3JkLgotQEAgLTI2NSw2ICsy NjcsNyBAQCBjb25zdCAoCi0gCXR3bzMxbTIgICAgPSAxPDwzMSAtIDE8PDIKLSAJdHdvMzFwMjRt MiA9IDE8PDMxICsgMTw8MjQgLSAxPDwyCi0gCXR3bzMwbTI3bTIgPSAxPDwzMCAtIDE8PDI3IC0g MTw8MgotKwl0d28zMW0zICAgID0gMTw8MzEgLSAxPDwzCi0gKQotIAotIC8vIHAyNTZaZXJvMzEg aXMgMCBtb2QgcC4KCmRpZmYgLS1naXQgYS9nY2M0OS1saWJnb21wLW9tcF9oLW11bHRpbGliLnBh dGNoIGIvZ2NjNDktbGliZ29tcC1vbXBfaC1tdWx0aWxpYi5wYXRjaApkZWxldGVkIGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggZDBlOThkMS4uMDAwMDAwMAotLS0gYS9nY2M0OS1saWJnb21wLW9tcF9o LW11bHRpbGliLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotMjAwOC0wNi0w OSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+Ci0KLQkqIG9tcC5oLmluIChvbXBf bmVzdF9sb2NrX3QpOiBGaXggdXAgZm9yIExpbnV4IG11bHRpbGlicy4KLQotLS0tIGxpYmdvbXAv b21wLmguaW4uamoJMjAwOC0wNi0wOSAxMzozNDowNS4wMDAwMDAwMDAgKzAyMDAKLSsrKyBsaWJn b21wL29tcC5oLmluCTIwMDgtMDYtMDkgMTM6MzQ6NDguMDAwMDAwMDAwICswMjAwCi1AQCAtNDIs OCArNDIsOCBAQCB0eXBlZGVmIHN0cnVjdAotIAotIHR5cGVkZWYgc3RydWN0Ci0gewotLSAgdW5z aWduZWQgY2hhciBfeFtAT01QX05FU1RfTE9DS19TSVpFQF0gCi0tICAgIF9fYXR0cmlidXRlX18o KF9fYWxpZ25lZF9fKEBPTVBfTkVTVF9MT0NLX0FMSUdOQCkpKTsKLSsgIHVuc2lnbmVkIGNoYXIg X3hbOCArIHNpemVvZiAodm9pZCAqKV0gCi0rICAgIF9fYXR0cmlidXRlX18oKF9fYWxpZ25lZF9f KHNpemVvZiAodm9pZCAqKSkpKTsKLSB9IG9tcF9uZXN0X2xvY2tfdDsKLSAjZW5kaWYKLSAKCmRp ZmYgLS1naXQgYS9nY2M0OS1saWJzdGRjKystZG9jcy5wYXRjaCBiL2djYzQ5LWxpYnN0ZGMrKy1k b2NzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZTg1OThhLi4wMDAwMDAw Ci0tLSBhL2djYzQ5LWxpYnN0ZGMrKy1kb2NzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjYg KzAsMCBAQAotLS0tIGxpYnN0ZGMrKy12My9kb2MvaHRtbC9pbmRleC5odG1sLmpqCTIwMTEtMDEt MDMgMTI6NTM6MjEuMjgyODI5MDEwICswMTAwCi0rKysgbGlic3RkYysrLXYzL2RvYy9odG1sL2lu ZGV4Lmh0bWwJMjAxMS0wMS0wNCAxODowNjoyOC45OTk4NTExNDUgKzAxMDAKLUBAIC01LDYgKzUs OCBAQAotICAgICAgIDxhIGNsYXNzPSJsaW5rIiBocmVmPSJodHRwOi8vd3d3LmZzZi5vcmcvIiB0 YXJnZXQ9Il90b3AiPkZTRgotICAgICAgIDwvYT4KLSAgICAgPC9wPjxwPgotKyAgICAgIFJlbGVh c2UgNC45LjIKLSsgICAgPC9wPjxwPgotICAgICAgIFBlcm1pc3Npb24gaXMgZ3JhbnRlZCB0byBj b3B5LCBkaXN0cmlidXRlIGFuZC9vciBtb2RpZnkgdGhpcwotICAgICAgIGRvY3VtZW50IHVuZGVy IHRoZSB0ZXJtcyBvZiB0aGUgR05VIEZyZWUgRG9jdW1lbnRhdGlvbgotICAgICAgIExpY2Vuc2Us IFZlcnNpb24gMS4yIG9yIGFueSBsYXRlciB2ZXJzaW9uIHB1Ymxpc2hlZCBieSB0aGUKLS0tLSBs aWJzdGRjKystdjMvZG9jL2h0bWwvYXBpLmh0bWwuamoJMjAxMS0wMS0wMyAxMjo1MzoyMS4wMDAw MDAwMDAgKzAxMDAKLSsrKyBsaWJzdGRjKystdjMvZG9jL2h0bWwvYXBpLmh0bWwJMjAxMS0wMS0w NCAxODoxMjowMS42NzI3NTc3ODQgKzAxMDAKLUBAIC0xOCw4ICsxOCwxMSBAQAotICAgbWVtYmVy IGZ1bmN0aW9ucyBmb3IgdGhlIGxpYnJhcnkgY2xhc3NlcywgZmluZGluZyBvdXQgd2hhdCBpcyBp biBhCi0gICBwYXJ0aWN1bGFyIGluY2x1ZGUgZmlsZSwgbG9va2luZyBhdCBpbmhlcml0YW5jZSBk aWFncmFtcywgZXRjLgotIDwvcD48cD4KLS0gIFRoZSBBUEkgZG9jdW1lbnRhdGlvbiwgcmVuZGVy ZWQgaW50byBIVE1MLCBjYW4gYmUgdmlld2VkIG9ubGluZToKLSsgIFRoZSBBUEkgZG9jdW1lbnRh dGlvbiwgcmVuZGVyZWQgaW50byBIVE1MLCBjYW4gYmUgdmlld2VkIGhlcmU6Ci0gPC9wPjxkaXYg Y2xhc3M9Iml0ZW1pemVkbGlzdCI+PHVsIGNsYXNzPSJpdGVtaXplZGxpc3QiIHN0eWxlPSJsaXN0 LXN0eWxlLXR5cGU6IGRpc2M7ICI+PGxpIGNsYXNzPSJsaXN0aXRlbSI+PHA+Ci0rICAgICAgPGEg Y2xhc3M9ImxpbmsiIGhyZWY9ImFwaS9pbmRleC5odG1sIiB0YXJnZXQ9Il90b3AiPmZvciB0aGUg NC45LjIgcmVsZWFzZSwgbG9jYWwKLSsgICAgICA8L2E+Ci0rICAgIDwvcD48L2xpPjxsaSBjbGFz cz0ibGlzdGl0ZW0iPjxwPgotICAgICAgIDxhIGNsYXNzPSJsaW5rIiBocmVmPSJodHRwOi8vZ2Nj LmdudS5vcmcvb25saW5lZG9jcy9saWJzdGRjKysvbGlic3RkYysrLWh0bWwtVVNFUlMtMy40L2lu ZGV4Lmh0bWwiIHRhcmdldD0iX3RvcCI+Zm9yIHRoZSAzLjQgcmVsZWFzZQotICAgICAgIDwvYT4K LSAgICAgPC9wPjwvbGk+PGxpIGNsYXNzPSJsaXN0aXRlbSI+PHA+CgpkaWZmIC0tZ2l0IGEvZ2Nj NDktbGlidG9vbC1uby1ycGF0aC5wYXRjaCBiL2djYzQ5LWxpYnRvb2wtbm8tcnBhdGgucGF0Y2gK ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ2NmM2NjEuLjAwMDAwMDAKLS0tIGEvZ2Nj NDktbGlidG9vbC1uby1ycGF0aC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI3ICswLDAgQEAK LWxpYnRvb2wgc3Vja3MuCi0tLS0gbHRtYWluLnNoLmpqCTIwMDctMTItMDcgMTQ6NTM6MjEuMDAw MDAwMDAwICswMTAwCi0rKysgbHRtYWluLnNoCTIwMDgtMDktMDUgMjE6NTE6NDguMDAwMDAwMDAw ICswMjAwCi1AQCAtNTM5NCw2ICs1Mzk0LDcgQEAgRU9GCi0gCSAgcnBhdGg9IiRmaW5hbGl6ZV9y cGF0aCIKLSAJICB0ZXN0ICIkbW9kZSIgIT0gcmVsaW5rICYmIHJwYXRoPSIkY29tcGlsZV9ycGF0 aCRycGF0aCIKLSAJICBmb3IgbGliZGlyIGluICRycGF0aDsgZG8KLSsJICAgIGNhc2UgIiRsaWJk aXIiIGluIC91c3IvbGlifC91c3IvbGliNjR8L3Vzci9saWIvLi4vbGlifC91c3IvbGliLy4uL2xp YjY0KSBjb250aW51ZTs7IGVzYWMKLSAJICAgIGlmIHRlc3QgLW4gIiRoYXJkY29kZV9saWJkaXJf ZmxhZ19zcGVjIjsgdGhlbgotIAkgICAgICBpZiB0ZXN0IC1uICIkaGFyZGNvZGVfbGliZGlyX3Nl cGFyYXRvciI7IHRoZW4KLSAJCWlmIHRlc3QgLXogIiRoYXJkY29kZV9saWJkaXJzIjsgdGhlbgot QEAgLTYwNzEsNiArNjA3Miw3IEBAIEVPRgotICAgICAgIHJwYXRoPQotICAgICAgIGhhcmRjb2Rl X2xpYmRpcnM9Ci0gICAgICAgZm9yIGxpYmRpciBpbiAkY29tcGlsZV9ycGF0aCAkZmluYWxpemVf cnBhdGg7IGRvCi0rCWNhc2UgIiRsaWJkaXIiIGluIC91c3IvbGlifC91c3IvbGliNjR8L3Vzci9s aWIvLi4vbGlifC91c3IvbGliLy4uL2xpYjY0KSBjb250aW51ZTs7IGVzYWMKLSAJaWYgdGVzdCAt biAiJGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWMiOyB0aGVuCi0gCSAgaWYgdGVzdCAtbiAiJGhh cmRjb2RlX2xpYmRpcl9zZXBhcmF0b3IiOyB0aGVuCi0gCSAgICBpZiB0ZXN0IC16ICIkaGFyZGNv ZGVfbGliZGlycyI7IHRoZW4KLUBAIC02MTIwLDYgKzYxMjIsNyBAQCBFT0YKLSAgICAgICBycGF0 aD0KLSAgICAgICBoYXJkY29kZV9saWJkaXJzPQotICAgICAgIGZvciBsaWJkaXIgaW4gJGZpbmFs aXplX3JwYXRoOyBkbwotKwljYXNlICIkbGliZGlyIiBpbiAvdXNyL2xpYnwvdXNyL2xpYjY0fC91 c3IvbGliLy4uL2xpYnwvdXNyL2xpYi8uLi9saWI2NCkgY29udGludWU7OyBlc2FjCi0gCWlmIHRl c3QgLW4gIiRoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjIjsgdGhlbgotIAkgIGlmIHRlc3QgLW4g IiRoYXJkY29kZV9saWJkaXJfc2VwYXJhdG9yIjsgdGhlbgotIAkgICAgaWYgdGVzdCAteiAiJGhh cmRjb2RlX2xpYmRpcnMiOyB0aGVuCgpkaWZmIC0tZ2l0IGEvZ2NjNDktbm8tYWRkLW5lZWRlZC5w YXRjaCBiL2djYzQ5LW5vLWFkZC1uZWVkZWQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IGI2Y2E3NzcuLjAwMDAwMDAKLS0tIGEvZ2NjNDktbm8tYWRkLW5lZWRlZC5wYXRjaAor KysgL2Rldi9udWxsCkBAIC0xLDUwICswLDAgQEAKLTIwMTAtMDItMDggIFJvbGFuZCBNY0dyYXRo ICA8cm9sYW5kQHJlZGhhdC5jb20+Ci0KLQkqIGNvbmZpZy9yczYwMDAvc3lzdjQuaCAoTElOS19F SF9TUEVDKTogUGFzcyAtLW5vLWFkZC1uZWVkZWQgdG8gdGhlCi0JbGlua2VyLgotCSogY29uZmln L2dudS11c2VyLmggKExJTktfRUhfU1BFQyk6IExpa2V3aXNlLgotCSogY29uZmlnL2FscGhhL2Vs Zi5oIChMSU5LX0VIX1NQRUMpOiBMaWtld2lzZS4KLQkqIGNvbmZpZy9pYTY0L2xpbnV4LmggKExJ TktfRUhfU1BFQyk6IExpa2V3aXNlLgotCi0tLS0gZ2NjL2NvbmZpZy9hbHBoYS9lbGYuaC5qagky MDExLTAxLTAzIDEyOjUyOjMxLjExODA1Njc2NCArMDEwMAotKysrIGdjYy9jb25maWcvYWxwaGEv ZWxmLmgJMjAxMS0wMS0wNCAxODoxNDoxMC45MzE4NzQxNjAgKzAxMDAKLUBAIC0xNjUsNSArMTY1 LDUgQEAgZXh0ZXJuIGludCBhbHBoYV90aGlzX2dwZGlzcF9zZXF1ZW5jZV9udQotICAgIEkgaW1h Z2luZSB0aGF0IG90aGVyIHN5c3RlbXMgd2lsbCBjYXRjaCB1cC4gIEluIHRoZSBtZWFudGltZSwg aXQKLSAgICBkb2Vzbid0IGhhcm0gdG8gbWFrZSBzdXJlIHRoYXQgdGhlIGRhdGEgZXhpc3RzIHRv IGJlIHVzZWQgbGF0ZXIuICAqLwotICNpZiBkZWZpbmVkKEhBVkVfTERfRUhfRlJBTUVfSERSKQot LSNkZWZpbmUgTElOS19FSF9TUEVDICIleyFzdGF0aWM6LS1laC1mcmFtZS1oZHJ9ICIKLSsjZGVm aW5lIExJTktfRUhfU1BFQyAiLS1uby1hZGQtbmVlZGVkICV7IXN0YXRpYzotLWVoLWZyYW1lLWhk cn0gIgotICNlbmRpZgotLS0tIGdjYy9jb25maWcvaWE2NC9saW51eC5oLmpqCTIwMTEtMDEtMDMg MTM6MDI6MTEuNDYyOTk0NTIyICswMTAwCi0rKysgZ2NjL2NvbmZpZy9pYTY0L2xpbnV4LmgJMjAx MS0wMS0wNCAxODoxNDoxMC45MzE4NzQxNjAgKzAxMDAKLUBAIC03Nyw3ICs3Nyw3IEBAIGRvIHsJ CQkJCQlcCi0gICAgU2lnbmFsaXplIHRoYXQgYmVjYXVzZSB3ZSBoYXZlIGZkZS1nbGliYywgd2Ug ZG9uJ3QgbmVlZCBhbGwgQyBzaGFyZWQgbGlicwotICAgIGxpbmtlZCBhZ2FpbnN0IC1sZ2NjX3Mu ICAqLwotICN1bmRlZiBMSU5LX0VIX1NQRUMKLS0jZGVmaW5lIExJTktfRUhfU1BFQyAiIgotKyNk ZWZpbmUgTElOS19FSF9TUEVDICItLW5vLWFkZC1uZWVkZWQgIgotIAotIC8qIFB1dCBhbGwgKnRm IHJvdXRpbmVzIGluIGxpYmdjYy4gICovCi0gI3VuZGVmIExJQkdDQzJfSEFTX1RGX01PREUKLS0t LSBnY2MvY29uZmlnL2dudS11c2VyLmguamoJMjAxMS0wMS0wMyAxMjo1MzowMy43MzkwNTcyOTkg KzAxMDAKLSsrKyBnY2MvY29uZmlnL2dudS11c2VyLmgJMjAxMS0wMS0wNCAxODoxNDoxMC45MzI4 MTQ4ODQgKzAxMDAKLUBAIC04Miw3ICs4Miw3IEBAIHNlZSB0aGUgZmlsZXMgQ09QWUlORzMgYW5k IENPUFlJTkcuUlVOVEkKLSAjZGVmaW5lIExJQl9TUEVDIEdOVV9VU0VSX1RBUkdFVF9MSUJfU1BF QwotIAotICNpZiBkZWZpbmVkKEhBVkVfTERfRUhfRlJBTUVfSERSKQotLSNkZWZpbmUgTElOS19F SF9TUEVDICIleyFzdGF0aWM6LS1laC1mcmFtZS1oZHJ9ICIKLSsjZGVmaW5lIExJTktfRUhfU1BF QyAiLS1uby1hZGQtbmVlZGVkICV7IXN0YXRpYzotLWVoLWZyYW1lLWhkcn0gIgotICNlbmRpZgot IAotICN1bmRlZiBMSU5LX0dDQ19DX1NFUVVFTkNFX1NQRUMKLS0tLSBnY2MvY29uZmlnL3JzNjAw MC9zeXN2NC5oLmpqCTIwMTEtMDEtMDMgMTM6MDI6MTguMjU1OTk0MjE1ICswMTAwCi0rKysgZ2Nj L2NvbmZpZy9yczYwMDAvc3lzdjQuaAkyMDExLTAxLTA0IDE4OjE0OjEwLjkzMzg4ODg3MSArMDEw MAotQEAgLTgyMCw3ICs4MjAsNyBAQCBleHRlcm4gaW50IGZpeHVwbGFiZWxubzsKLSAgIC1keW5h bWljLWxpbmtlciAiIEdOVV9VU0VSX0RZTkFNSUNfTElOS0VSICJ9fSIKLSAKLSAjaWYgZGVmaW5l ZChIQVZFX0xEX0VIX0ZSQU1FX0hEUikKLS0jIGRlZmluZSBMSU5LX0VIX1NQRUMgIiV7IXN0YXRp YzotLWVoLWZyYW1lLWhkcn0gIgotKyMgZGVmaW5lIExJTktfRUhfU1BFQyAiLS1uby1hZGQtbmVl ZGVkICV7IXN0YXRpYzotLWVoLWZyYW1lLWhkcn0gIgotICNlbmRpZgotIAotICNkZWZpbmUgQ1BQ X09TX0xJTlVYX1NQRUMgIi1EX191bml4X18gLURfX2dudV9saW51eF9fIC1EX19saW51eF9fIFwK CmRpZmYgLS1naXQgYS9nY2M0OS1wcGMzMi1yZXRhZGRyLnBhdGNoIGIvZ2NjNDktcHBjMzItcmV0 YWRkci5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2U4ZWViNS4uMDAwMDAw MAotLS0gYS9nY2M0OS1wcGMzMi1yZXRhZGRyLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsODcg KzAsMCBAQAotMjAwNS0xMS0yOCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+Ci0K LQkqIGNvbmZpZy9yczYwMDAvcnM2MDAwLmMgKHJzNjAwMF9yZXR1cm5fYWRkcik6IElmIENPVU5U ID09IDAsCi0JcmVhZCB3b3JkIFJFVFVSTl9BRERSRVNTX09GRlNFVCBieXRlcyBhYm92ZSBhcmdf cG9pbnRlcl9ydHgKLQlpbnN0ZWFkIG9mIGRvaW5nIGFuIGV4dHJhbiBpbmRpcmVjdGlvbiBmcm9t IGZyYW1lX3BvaW50ZXJfcnR4LgotCi0JKiBnY2MuZGcvMjAwNTExMjgtMS5jOiBOZXcgdGVzdC4K LQotLS0tIGdjYy9jb25maWcvcnM2MDAwL3JzNjAwMC5jLmpqCTIwMDUtMTEtMjYgMTQ6Mzg6MDEu MDAwMDAwMDAwICswMTAwCi0rKysgZ2NjL2NvbmZpZy9yczYwMDAvcnM2MDAwLmMJMjAwNS0xMS0y OCAyMDozMjoxOC4wMDAwMDAwMDAgKzAxMDAKLUBAIC0yMDk3MCwxOCArMjA5NzAsMjIgQEAgcnM2 MDAwX3JldHVybl9hZGRyIChpbnQgY291bnQsIHJ0eCBmcmFtZQotICAgaWYgKGNvdW50ICE9IDAK LSAgICAgICB8fCAoKERFRkFVTFRfQUJJID09IEFCSV9WNCB8fCBERUZBVUxUX0FCSSA9PSBBQklf REFSV0lOKSAmJiBmbGFnX3BpYykpCi0gICAgIHsKLSsgICAgICBydHggeDsKLSAgICAgICBjZnVu LT5tYWNoaW5lLT5yYV9uZWVkc19mdWxsX2ZyYW1lID0gMTsKLSAKLS0gICAgICByZXR1cm4KLS0J Z2VuX3J0eF9NRU0KLS0JICAoUG1vZGUsCi0tCSAgIG1lbW9yeV9hZGRyZXNzCi0tCSAgIChQbW9k ZSwKLS0JICAgIHBsdXNfY29uc3RhbnQgKFBtb2RlLAotLQkJCSAgIGNvcHlfdG9fcmVnCi0tCQkJ ICAgKGdlbl9ydHhfTUVNIChQbW9kZSwKLS0JCQkJCSBtZW1vcnlfYWRkcmVzcyAoUG1vZGUsIGZy YW1lKSkpLAotLQkJCSAgIFJFVFVSTl9BRERSRVNTX09GRlNFVCkpKTsKLSsgICAgICBpZiAoY291 bnQgPT0gMCkKLSsJewotKwkgIGdjY19hc3NlcnQgKGZyYW1lID09IGZyYW1lX3BvaW50ZXJfcnR4 KTsKLSsJICB4ID0gYXJnX3BvaW50ZXJfcnR4OwotKwl9Ci0rICAgICAgZWxzZQotKwl7Ci0rCSAg eCA9IG1lbW9yeV9hZGRyZXNzIChQbW9kZSwgZnJhbWUpOwotKwkgIHggPSBjb3B5X3RvX3JlZyAo Z2VuX3J0eF9NRU0gKFBtb2RlLCB4KSk7Ci0rCX0KLSsKLSsgICAgICB4ID0gcGx1c19jb25zdGFu dCAoUG1vZGUsIHgsIFJFVFVSTl9BRERSRVNTX09GRlNFVCk7Ci0rICAgICAgcmV0dXJuIGdlbl9y dHhfTUVNIChQbW9kZSwgbWVtb3J5X2FkZHJlc3MgKFBtb2RlLCB4KSk7Ci0gICAgIH0KLSAKLSAg IGNmdW4tPm1hY2hpbmUtPnJhX25lZWRfbHIgPSAxOwotLS0tIGdjYy90ZXN0c3VpdGUvZ2NjLmRn LzIwMDUxMTI4LTEuYy5qagkyMDA1LTEwLTEwIDExOjIxOjQxLjA5Njk5OTAwMCArMDIwMAotKysr IGdjYy90ZXN0c3VpdGUvZ2NjLmRnLzIwMDUxMTI4LTEuYwkyMDA1LTExLTI4IDEyOjMwOjU3LjAw MDAwMDAwMCArMDEwMAotQEAgLTAsMCArMSw0MSBAQAotKy8qIHsgZGctZG8gcnVuIH0gKi8KLSsv KiB7IGRnLW9wdGlvbnMgIi1PMiAtZnBpYyIgfSAqLwotKwotK2V4dGVybiB2b2lkIGV4aXQgKGlu dCk7Ci0rZXh0ZXJuIHZvaWQgYWJvcnQgKHZvaWQpOwotKwotK2ludCBiOwotKwotK3N0cnVjdCBB Ci0rewotKyAgdm9pZCAqcGFkWzE0N107Ci0rICB2b2lkICpyYSwgKmg7Ci0rICBsb25nIG87Ci0r fTsKLSsKLSt2b2lkCi0rX19hdHRyaWJ1dGVfXygobm9pbmxpbmUpKQotK2ZvbyAoc3RydWN0IEEg KmEsIHZvaWQgKngpCi0rewotKyAgX19idWlsdGluX21lbXNldCAoYSwgMCwgc2l6ZW9mIChhKSk7 Ci0rICBpZiAoIWIpCi0rICAgIGV4aXQgKDApOwotK30KLSsKLSt2b2lkCi0rX19hdHRyaWJ1dGVf Xygobm9pbmxpbmUpKQotK2JhciAodm9pZCkKLSt7Ci0rICBzdHJ1Y3QgQSBhOwotKwotKyAgX19i dWlsdGluX3Vud2luZF9pbml0ICgpOwotKyAgZm9vICgmYSwgX19idWlsdGluX3JldHVybl9hZGRy ZXNzICgwKSk7Ci0rfQotKwotK2ludAotK21haW4gKHZvaWQpCi0rewotKyAgYmFyICgpOwotKyAg YWJvcnQgKCk7Ci0rICByZXR1cm4gMDsKLSt9CgpkaWZmIC0tZ2l0IGEvZ2NjNDktcHIzODc1Ny5w YXRjaCBiL2djYzQ5LXByMzg3NTcucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDQyMDY1ODQuLjAwMDAwMDAKLS0tIGEvZ2NjNDktcHIzODc1Ny5wYXRjaAorKysgL2Rldi9udWxs CkBAIC0xLDEwNiArMCwwIEBACi0yMDA5LTAzLTE4ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVk aGF0LmNvbT4KLQotCVBSIGRlYnVnLzM4NzU3Ci0JKiBsYW5naG9va3MuaCAoc3RydWN0IGxhbmdf aG9va3MpOiBBZGQgc291cmNlX2xhbmd1YWdlIGxhbmdob29rLgotCSogbGFuZ2hvb2tzLWRlZi5o IChMQU5HX0hPT0tTX1NPVVJDRV9MQU5HVUFHRSk6IERlZmluZSB0byBOVUxMLgotCShMQU5HX0hP T0tTX0lOSVRJQUxJWkVSKTogQWRkIExBTkdfSE9PS1NfU09VUkNFX0xBTkdVQUdFLgotCSogZHdh cmYyb3V0LmMgKGFkZF9wcm90b3R5cGVkX2F0dHJpYnV0ZSk6IEFkZCBEV19BVF9wcm90b3R5cGUK LQlhbHNvIGZvciBEV19MQU5HX3tDLEM5OSxPYmpDfS4KLQkoZ2VuX2NvbXBpbGVfdW5pdF9kaWUp OiBVc2UgbGFuZ19ob29rcy5zb3VyY2VfbGFuZ3VhZ2UgKCkgdG8KLQlkZXRlcm1pbmUgaWYgRFdf TEFOR19DOTkgb3IgRFdfTEFOR19DODkgc2hvdWxkIGJlIHJldHVybmVkLgotYy8KLQkqIGMtbGFu Zy5jIChjX3NvdXJjZV9sYW5ndWFnZSk6IE5ldyBmdW5jdGlvbi4KLQkoTEFOR19IT09LU19TT1VS Q0VfTEFOR1VBR0UpOiBEZWZpbmUuCi0KLS0tLSBnY2MvbGFuZ2hvb2tzLmguamoJMjAxMS0wMS0w MyAxMjo1MzowNS4xMjU3NDU0NTAgKzAxMDAKLSsrKyBnY2MvbGFuZ2hvb2tzLmgJMjAxMS0wMS0w NCAxNzo1OTo0My4xNjY3NDQ5MjYgKzAxMDAKLUBAIC00NjcsNiArNDY3LDEwIEBAIHN0cnVjdCBs YW5nX2hvb2tzCi0gICAgICBnaW1wbGlmaWNhdGlvbi4gICovCi0gICBib29sIGRlZXBfdW5zaGFy aW5nOwotIAotKyAgLyogUmV0dXJuIHllYXIgb2YgdGhlIHNvdXJjZSBsYW5ndWFnZSBzdGFuZGFy ZCB2ZXJzaW9uIGlmIHRoZSBGRSBzdXBwb3J0cwotKyAgICAgbXVsdGlwbGUgdmVyc2lvbnMgb2Yg dGhlIHN0YW5kYXJkLiAgKi8KLSsgIGludCAoKnNvdXJjZV9sYW5ndWFnZSkgKHZvaWQpOwotKwot ICAgLyogV2hlbmV2ZXIgeW91IGFkZCBlbnRyaWVzIGhlcmUsIG1ha2Ugc3VyZSB5b3UgYWRqdXN0 IGxhbmdob29rcy1kZWYuaAotICAgICAgYW5kIGxhbmdob29rcy5jIGFjY29yZGluZ2x5LiAgKi8K LSB9OwotLS0tIGdjYy9sYW5naG9va3MtZGVmLmguamoJMjAxMS0wMS0wMyAxMjo1MzowNS4wMDAw MDAwMDAgKzAxMDAKLSsrKyBnY2MvbGFuZ2hvb2tzLWRlZi5oCTIwMTEtMDEtMDQgMTg6MDA6NDQu ODU4ODUxMDMwICswMTAwCi1AQCAtMTE4LDYgKzExOCw3IEBAIGV4dGVybiB2b2lkIGxoZF9vbXBf Zmlyc3Rwcml2YXRpemVfdHlwZV8KLSAjZGVmaW5lIExBTkdfSE9PS1NfQkxPQ0tfTUFZX0ZBTExU SFJVCWhvb2tfYm9vbF9jb25zdF90cmVlX3RydWUKLSAjZGVmaW5lIExBTkdfSE9PS1NfRUhfVVNF X0NYQV9FTkRfQ0xFQU5VUAlmYWxzZQotICNkZWZpbmUgTEFOR19IT09LU19ERUVQX1VOU0hBUklO RwlmYWxzZQotKyNkZWZpbmUgTEFOR19IT09LU19TT1VSQ0VfTEFOR1VBR0UJTlVMTAotIAotIC8q IEF0dHJpYnV0ZSBob29rcy4gICovCi0gI2RlZmluZSBMQU5HX0hPT0tTX0FUVFJJQlVURV9UQUJM RQkJTlVMTAotQEAgLTMwMyw3ICszMDQsOCBAQCBleHRlcm4gdm9pZCBsaGRfZW5kX3NlY3Rpb24g KHZvaWQpOwotICAgTEFOR19IT09LU19FSF9QUk9URUNUX0NMRUFOVVBfQUNUSU9OUywgXAotICAg TEFOR19IT09LU19CTE9DS19NQVlfRkFMTFRIUlUsIFwKLSAgIExBTkdfSE9PS1NfRUhfVVNFX0NY QV9FTkRfQ0xFQU5VUCwgXAotLSAgTEFOR19IT09LU19ERUVQX1VOU0hBUklORyBcCi0rICBMQU5H X0hPT0tTX0RFRVBfVU5TSEFSSU5HLCBcCi0rICBMQU5HX0hPT0tTX1NPVVJDRV9MQU5HVUFHRSBc Ci0gfQotIAotICNlbmRpZiAvKiBHQ0NfTEFOR19IT09LU19ERUZfSCAqLwotLS0tIGdjYy9jL2Mt bGFuZy5jLmpqCTIwMTEtMDEtMDMgMTI6NTM6MDUuMzc2MDU2OTM2ICswMTAwCi0rKysgZ2NjL2Mv Yy1sYW5nLmMJMjAxMS0wMS0wNCAxNzo1OTo0My4xNjc3NDM3OTggKzAxMDAKLUBAIC0zNiw2ICsz NiwxMiBAQCBhbG9uZyB3aXRoIEdDQzsgc2VlIHRoZSBmaWxlIENPUFlJTkczLgotIAotIGVudW0g Y19sYW5ndWFnZV9raW5kIGNfbGFuZ3VhZ2UgPSBjbGtfYzsKLSAKLStzdGF0aWMgaW50Ci0rY19z b3VyY2VfbGFuZ3VhZ2UgKHZvaWQpCi0rewotKyAgcmV0dXJuIGZsYWdfaXNvYzk5ID8gMTk5OSA6 IDE5ODk7Ci0rfQotKwotIC8qIExhbmcgaG9va3MgY29tbW9uIHRvIEMgYW5kIE9iakMgYXJlIGRl Y2xhcmVkIGluIGMtb2JqYy1jb21tb24uaDsKLSAgICBjb25zZXF1ZW50bHksIHRoZXJlIHNob3Vs ZCBiZSB2ZXJ5IGZldyBob29rcyBiZWxvdy4gICovCi0gCi1AQCAtNDUsNiArNTEsOCBAQCBlbnVt IGNfbGFuZ3VhZ2Vfa2luZCBjX2xhbmd1YWdlID0gY2xrX2M7Ci0gI2RlZmluZSBMQU5HX0hPT0tT X0lOSVQgY19vYmpjX2NvbW1vbl9pbml0Ci0gI3VuZGVmIExBTkdfSE9PS1NfSU5JVF9UUwotICNk ZWZpbmUgTEFOR19IT09LU19JTklUX1RTIGNfY29tbW9uX2luaXRfdHMKLSsjdW5kZWYgTEFOR19I T09LU19TT1VSQ0VfTEFOR1VBR0UKLSsjZGVmaW5lIExBTkdfSE9PS1NfU09VUkNFX0xBTkdVQUdF IGNfc291cmNlX2xhbmd1YWdlCi0gCi0gLyogRWFjaCBmcm9udCBlbmQgcHJvdmlkZXMgaXRzIG93 biBsYW5nIGhvb2sgaW5pdGlhbGl6ZXIuICAqLwotIHN0cnVjdCBsYW5nX2hvb2tzIGxhbmdfaG9v a3MgPSBMQU5HX0hPT0tTX0lOSVRJQUxJWkVSOwotLS0tIGdjYy9kd2FyZjJvdXQuYy5qagkyMDEx LTAxLTAzIDEyOjUzOjA1LjEwMjA1NjQ3NSArMDEwMAotKysrIGdjYy9kd2FyZjJvdXQuYwkyMDEx LTAxLTA0IDE4OjAzOjE0LjUzNDE1MTc2MyArMDEwMAotQEAgLTE2MTA5LDkgKzE2MTA5LDE4IEBA IGFkZF9iaXRfc2l6ZV9hdHRyaWJ1dGUgKGR3X2RpZV9yZWYgZGllLAotIHN0YXRpYyBpbmxpbmUg dm9pZAotIGFkZF9wcm90b3R5cGVkX2F0dHJpYnV0ZSAoZHdfZGllX3JlZiBkaWUsIHRyZWUgZnVu Y190eXBlKQotIHsKLS0gIGlmIChnZXRfQVRfdW5zaWduZWQgKGNvbXBfdW5pdF9kaWUgKCksIERX X0FUX2xhbmd1YWdlKSA9PSBEV19MQU5HX0M4OQotLSAgICAgICYmIHByb3RvdHlwZV9wIChmdW5j X3R5cGUpKQotLSAgICBhZGRfQVRfZmxhZyAoZGllLCBEV19BVF9wcm90b3R5cGVkLCAxKTsKLSsg IHN3aXRjaCAoZ2V0X0FUX3Vuc2lnbmVkIChjb21wX3VuaXRfZGllICgpLCBEV19BVF9sYW5ndWFn ZSkpCi0rICAgIHsKLSsgICAgY2FzZSBEV19MQU5HX0M6Ci0rICAgIGNhc2UgRFdfTEFOR19DODk6 Ci0rICAgIGNhc2UgRFdfTEFOR19DOTk6Ci0rICAgIGNhc2UgRFdfTEFOR19PYmpDOgotKyAgICAg IGlmIChwcm90b3R5cGVfcCAoZnVuY190eXBlKSkKLSsJYWRkX0FUX2ZsYWcgKGRpZSwgRFdfQVRf cHJvdG90eXBlZCwgMSk7Ci0rICAgICAgYnJlYWs7Ci0rICAgIGRlZmF1bHQ6Ci0rICAgICAgYnJl YWs7Ci0rICAgIH0KLSB9Ci0gCi0gLyogQWRkIGFuICdhYnN0cmFjdF9vcmlnaW4nIGF0dHJpYnV0 ZSBiZWxvdyBhIGdpdmVuIERJRS4gIFRoZSBESUUgaXMgZm91bmQKLUBAIC0xODkxNSw2ICsxODky NCwxMCBAQCBnZW5fY29tcGlsZV91bml0X2RpZSAoY29uc3QgY2hhciAqZmlsZW5hCi0gCSAgaWYg KHN0cmNtcCAobGFuZ3VhZ2Vfc3RyaW5nLCAiR05VIEdvIikgPT0gMCkKLSAJICAgIGxhbmd1YWdl ID0gRFdfTEFOR19HbzsKLSAJfQotKyAgICAgIGVsc2UgaWYgKHN0cmNtcCAobGFuZ3VhZ2Vfc3Ry aW5nLCAiR05VIEMiKSA9PSAwCi0rCSAgICAgICAmJiBsYW5nX2hvb2tzLnNvdXJjZV9sYW5ndWFn ZQotKwkgICAgICAgJiYgbGFuZ19ob29rcy5zb3VyY2VfbGFuZ3VhZ2UgKCkgPj0gMTk5OSkKLSsJ bGFuZ3VhZ2UgPSBEV19MQU5HX0M5OTsKLSAgICAgfQotICAgLyogVXNlIGEgZGVncmFkZWQgRm9y dHJhbiBzZXR0aW5nIGluIHN0cmljdCBEV0FSRjIgc28gaXNfZm9ydHJhbiB3b3Jrcy4gICovCi0g ICBlbHNlIGlmIChzdHJjbXAgKGxhbmd1YWdlX3N0cmluZywgIkdOVSBGb3J0cmFuIikgPT0gMCkK CmRpZmYgLS1naXQgYS9nY2M0OS1wcjY0MzM2LnBhdGNoIGIvZ2NjNDktcHI2NDMzNi5wYXRjaApk ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODZmZGRkNS4uMDAwMDAwMAotLS0gYS9nY2M0 OS1wcjY0MzM2LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotMjAxNC0xMi0x NyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+Ci0KLQlQUiBzYW5pdGl6ZXIvNjQz MzYKLQkqIHRzYW4uYyAoaW5zdHJ1bWVudF9leHByKTogSWdub3JlIFRSRUVfUkVBRE9OTFkgYml0 Ci0Jb24gTUVNX1JFRnMuCi0KLS0tLSBnY2MvdHNhbi5jLmpqCTIwMTQtMTItMTcgMTA6NTM6MzAu MDAwMDAwMDAwICswMTAwCi0rKysgZ2NjL3RzYW4uYwkyMDE0LTEyLTE3IDExOjU1OjEyLjc5MzA1 ODE1OSArMDEwMAotQEAgLTEzOCw3ICsxMzgsNyBAQCBpbnN0cnVtZW50X2V4cHIgKGdpbXBsZV9z dG10X2l0ZXJhdG9yIGdzCi0gCXJldHVybiBmYWxzZTsKLSAgICAgfQotIAotLSAgaWYgKFRSRUVf UkVBRE9OTFkgKGJhc2UpCi0rICBpZiAoKFRSRUVfUkVBRE9OTFkgKGJhc2UpICYmIFRSRUVfQ09E RSAoYmFzZSkgIT0gTUVNX1JFRikKLSAgICAgICB8fCAoVFJFRV9DT0RFIChiYXNlKSA9PSBWQVJf REVDTAotIAkgICYmIERFQ0xfSEFSRF9SRUdJU1RFUiAoYmFzZSkpKQotICAgICByZXR1cm4gZmFs c2U7CgpkaWZmIC0tZ2l0IGEvZ2NjNDktcHI2NDUzNi5wYXRjaCBiL2djYzQ5LXByNjQ1MzYucGF0 Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY0MTkxY2EuLjAwMDAwMDAKLS0tIGEv Z2NjNDktcHI2NDUzNi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDk1ICswLDAgQEAKLTIwMTUt MDEtMDggIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgotCi0JUFIgcnRsLW9wdGlt aXphdGlvbi82NDUzNgotCSogY2ZncnRsLmMgKHJ0bF90aWR5X2ZhbGx0aHJ1X2VkZ2UpOiBEb24n dCByZW1vdmUgdGFibGVqdW1wcy4KLQotCSogZ2NjLmRnL3ByNjQ1MzYuYzogTmV3IHRlc3QuCi0K LS0tLSBnY2MvY2ZncnRsLmMuamoJMjAxNS0wMS0wNSAxMzowNzoxMi4wMDAwMDAwMDAgKzAxMDAK LSsrKyBnY2MvY2ZncnRsLmMJMjAxNS0wMS0wOCAxNzowMzoxOC41MTEyMTgzNDAgKzAxMDAKLUBA IC0xNzgyLDEwICsxNzgyLDE0IEBAIHJ0bF90aWR5X2ZhbGx0aHJ1X2VkZ2UgKGVkZ2UgZSkKLSAg ICAgaWYgKElOU05fUCAocSkpCi0gICAgICAgcmV0dXJuOwotIAotKyAgcSA9IEJCX0VORCAoYik7 Ci0rICAvKiBEb24ndCByZW1vdmUgdGFibGUganVtcHMgaGVyZS4gICovCi0rICBpZiAodGFibGVq dW1wX3AgKHEsIE5VTEwsIE5VTEwpKQotKyAgICByZXR1cm47Ci0rCi0gICAvKiBSZW1vdmUgd2hh dCB3aWxsIHNvb24gY2Vhc2UgYmVpbmcgdGhlIGp1bXAgaW5zbiBmcm9tIHRoZSBzb3VyY2UgYmxv Y2suCi0gICAgICBJZiBibG9jayBCIGNvbnNpc3RlZCBvbmx5IG9mIHRoaXMgc2luZ2xlIGp1bXAs IHR1cm4gaXQgaW50byBhIGRlbGV0ZWQKLSAgICAgIG5vdGUuICAqLwotLSAgcSA9IEJCX0VORCAo Yik7Ci0gICBpZiAoSlVNUF9QIChxKQotICAgICAgICYmIG9ubHlqdW1wX3AgKHEpCi0gICAgICAg JiYgKGFueV91bmNvbmRqdW1wX3AgKHEpCi0tLS0gZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2NDUz Ni5jLmpqCTIwMTUtMDEtMDggMTc6MTM6MzIuMjE4OTI5MDAzICswMTAwCi0rKysgZ2NjL3Rlc3Rz dWl0ZS9nY2MuZGcvcHI2NDUzNi5jCTIwMTUtMDEtMDggMTc6Mjg6NTYuNzU4NDI4OTU4ICswMTAw Ci1AQCAtMCwwICsxLDY3IEBACi0rLyogUFIgcnRsLW9wdGltaXphdGlvbi82NDUzNiAqLwotKy8q IHsgZGctZG8gbGluayB9ICovCi0rLyogeyBkZy1vcHRpb25zICItTzIiIH0gKi8KLSsvKiB7IGRn LWFkZGl0aW9uYWwtb3B0aW9ucyAiLWZQSUMiIHsgdGFyZ2V0IGZwaWMgfSB9ICovCi0rCi0rc3Ry dWN0IFMgeyBsb25nIHE7IH0gKmg7Ci0rbG9uZyBhLCBiLCBnLCBqLCBrLCAqYywgKmQsICplLCAq ZiwgKmk7Ci0rbG9uZyAqYmF6ICh2b2lkKQotK3sKLSsgIGFzbSB2b2xhdGlsZSAoIiIgOiA6IDog Im1lbW9yeSIpOwotKyAgcmV0dXJuIGU7Ci0rfQotKwotK3ZvaWQKLStiYXIgKGludCB4KQotK3sK LSsgIGludCB5OwotKyAgZm9yICh5ID0gMDsgeSA8IHg7IHkrKykKLSsgICAgewotKyAgICAgIHN3 aXRjaCAoYikKLSsJewotKwljYXNlIDA6Ci0rCWNhc2UgMjoKLSsJICBhKys7Ci0rCSAgYnJlYWs7 Ci0rCWNhc2UgMzoKLSsJICBhKys7Ci0rCSAgYnJlYWs7Ci0rCWNhc2UgMToKLSsJICBhKys7Ci0r CX0KLSsgICAgICBpZiAoZCkKLSsJewotKwkgIGYgPSBiYXogKCk7Ci0rCSAgZyA9IGsrKzsKLSsJ ICBpZiAoJmgtPnEpCi0rCSAgICB7Ci0rCSAgICAgIGogPSAqZjsKLSsJICAgICAgaC0+cSA9ICpm OwotKwkgICAgfQotKwkgIGVsc2UKLSsJICAgIGkgPSAobG9uZyAqKSAoaC0+cSA9ICpmKTsKLSsJ ICAqYysrID0gKGxvbmcpIGY7Ci0rCSAgZSArPSA2OwotKwl9Ci0rICAgICAgZWxzZQotKwl7Ci0r CSAgZiA9IGJheiAoKTsKLSsJICBnID0gaysrOwotKwkgIGlmICgmaC0+cSkKLSsJICAgIHsKLSsJ ICAgICAgaiA9ICpmOwotKwkgICAgICBoLT5xID0gKmY7Ci0rCSAgICB9Ci0rCSAgZWxzZQotKwkg ICAgaSA9IChsb25nICopIChoLT5xID0gKmYpOwotKwkgICpjKysgPSAobG9uZykgZjsKLSsJICBl ICs9IDY7Ci0rCX0KLSsgICAgfQotK30KLSsKLStpbnQKLSttYWluICgpCi0rewotKyAgcmV0dXJu IDA7Ci0rfQoKZGlmZiAtLWdpdCBhL2djYzQ5LXJoMzMwNzcxLnBhdGNoIGIvZ2NjNDktcmgzMzA3 NzEucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDEwMjczMGYuLjAwMDAwMDAK LS0tIGEvZ2NjNDktcmgzMzA3NzEucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBA Ci0yMDA3LTEwLTE2ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KLQotCSogTWFr ZWZpbGUuYW0gKGxpYmdjal90b29sc19sYV9MSUJBREQpOiBBZGQuCi0JKiBNYWtlZmlsZS5pbjog UmVnZW5lcmF0ZWQuCi0KLS0tLSBsaWJqYXZhL01ha2VmaWxlLmFtLmpqCTIwMDktMDUtMDYgMDg6 MTQ6NTAuMDAwMDAwMDAwICswMjAwCi0rKysgbGliamF2YS9NYWtlZmlsZS5hbQkyMDA5LTA1LTA2 IDEwOjI2OjQzLjAwMDAwMDAwMCArMDIwMAotQEAgLTU1MCw3ICs1NTAsNyBAQCBsaWJnY2pfdG9v bHNfbGFfTERGTEFHUyA9IC1ycGF0aCAkKHRvb2xlCi0gICQoTElCR0NKX0xEX1NZTUJPTElDX0ZV TkNUSU9OUykgJChMSUJKQVZBX0xERkxBR1NfTk9VTkRFRikgXAotICAkKExJQkpBVkFfTERGTEFH U19MSUJNQVRIKQotIAotLWxpYmdjal90b29sc19sYV9MSUJBREQgPSBsaWJnY2oubGEKLStsaWJn Y2pfdG9vbHNfbGFfTElCQUREID0gLUwkKGhlcmUpLy5saWJzIGxpYmdjai5sYQotIGxpYmdjal90 b29sc19sYV9ERVBFTkRFTkNJRVMgPSBsaWJnY2oubGEgbGliZ2NqLnNwZWMgXAotICAkKGxpYmdj al90b29sc19sYV92ZXJzaW9uX2RlcCkKLSBpZiBCVUlMRF9TVUJMSUJTCi0tLS0gbGliamF2YS9N YWtlZmlsZS5pbi5qagkyMDA5LTA1LTA2IDA4OjE0OjQ5LjAwMDAwMDAwMCArMDIwMAotKysrIGxp YmphdmEvTWFrZWZpbGUuaW4JMjAwOS0wNS0wNiAxMDoyNzoxOC4wMDAwMDAwMDAgKzAyMDAKLUBA IC0xMTEwLDcgKzExMTAsNyBAQCBsaWJnY2pfdG9vbHNfbGFfTERGTEFHUyA9IC1ycGF0aCAkKHRv b2xlCi0gICQoTElCR0NKX0xEX1NZTUJPTElDX0ZVTkNUSU9OUykgJChMSUJKQVZBX0xERkxBR1Nf Tk9VTkRFRikgXAotICAkKExJQkpBVkFfTERGTEFHU19MSUJNQVRIKQotIAotLWxpYmdjal90b29s c19sYV9MSUJBREQgPSBsaWJnY2oubGEKLStsaWJnY2pfdG9vbHNfbGFfTElCQUREID0gLUwkKGhl cmUpLy5saWJzIGxpYmdjai5sYQotIGxpYmdjal90b29sc19sYV9ERVBFTkRFTkNJRVMgPSBsaWJn Y2oubGEgbGliZ2NqLnNwZWMgXAotIAkkKGxpYmdjal90b29sc19sYV92ZXJzaW9uX2RlcCkgJChh bV9fYXBwZW5kXzE5KQotIGxpYmdjal90b29sc19sYV9MSU5LID0gJChMSUJMSU5LKSAkKGxpYmdj al90b29sc19sYV9MREZMQUdTKSBcCgpkaWZmIC0tZ2l0IGEvZ2NjNDktc3BhcmMtY29uZmlnLWRl dGVjdGlvbi5wYXRjaCBiL2djYzQ5LXNwYXJjLWNvbmZpZy1kZXRlY3Rpb24ucGF0Y2gKZGVsZXRl ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGEzNzAxOGUuLjAwMDAwMDAKLS0tIGEvZ2NjNDktc3Bh cmMtY29uZmlnLWRldGVjdGlvbi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAK LS0tLSBnY2MvY29uZmlnLmdjYy5qagkyMDA4LTA0LTI0IDE1OjQyOjQ2LjAwMDAwMDAwMCAtMDUw MAotKysrIGdjYy9jb25maWcuZ2NjCTIwMDgtMDQtMjQgMTU6NDQ6NTEuMDAwMDAwMDAwIC0wNTAw Ci1AQCAtMjY1Niw3ICsyNjU2LDcgQEAgc3BhcmMtKi1ydGVtcyopCi0gCXRtX2ZpbGU9IiR7dG1f ZmlsZX0gZGJ4ZWxmLmggZWxmb3MuaCBzcGFyYy9zeXN2NC5oIHNwYXJjL3NwLWVsZi5oIHNwYXJj L3J0ZW1zZWxmLmggcnRlbXMuaCBuZXdsaWItc3RkaW50LmgiCi0gCXRtYWtlX2ZpbGU9IiR7dG1h a2VfZmlsZX0gc3BhcmMvdC1zcGFyYyBzcGFyYy90LXJ0ZW1zIgotIAk7OwotLXNwYXJjLSotbGlu dXgqKQotK3NwYXJjLSotbGludXgqIHwgc3BhcmN2OS0qLWxpbnV4KikKLSAJdG1fZmlsZT0iJHt0 bV9maWxlfSBkYnhlbGYuaCBlbGZvcy5oIHNwYXJjL3N5c3Y0LmggZ251LXVzZXIuaCBsaW51eC5o IGdsaWJjLXN0ZGludC5oIHNwYXJjL3Rzby5oIgotIAlleHRyYV9vcHRpb25zPSIke2V4dHJhX29w dGlvbnN9IHNwYXJjL2xvbmctZG91YmxlLXN3aXRjaC5vcHQiCi0gCWNhc2UgJHt0YXJnZXR9IGlu Ci1AQCAtMjcxMCw3ICsyNzEwLDcgQEAgc3BhcmM2NC0qLXJ0ZW1zKikKLSAJZXh0cmFfb3B0aW9u cz0iJHtleHRyYV9vcHRpb25zfSIKLSAJdG1ha2VfZmlsZT0iJHt0bWFrZV9maWxlfSBzcGFyYy90 LXNwYXJjIHNwYXJjL3QtcnRlbXMtNjQiCi0gCTs7Ci0tc3BhcmM2NC0qLWxpbnV4KikKLStzcGFy YzY0Ki0qLWxpbnV4KikKLSAJdG1fZmlsZT0ic3BhcmMvYmlhcmNoNjQuaCAke3RtX2ZpbGV9IGRi eGVsZi5oIGVsZm9zLmggc3BhcmMvc3lzdjQuaCBnbnUtdXNlci5oIGxpbnV4LmggZ2xpYmMtc3Rk aW50Lmggc3BhcmMvZGVmYXVsdC02NC5oIHNwYXJjL2xpbnV4NjQuaCBzcGFyYy90c28uaCIKLSAJ ZXh0cmFfb3B0aW9ucz0iJHtleHRyYV9vcHRpb25zfSBzcGFyYy9sb25nLWRvdWJsZS1zd2l0Y2gu b3B0IgotIAl0bWFrZV9maWxlPSIke3RtYWtlX2ZpbGV9IHNwYXJjL3Qtc3BhcmMgc3BhcmMvdC1s aW51eDY0IgotLS0tIGxpYmdjYy9jb25maWcuaG9zdC5qagkyMDA4LTA0LTI0IDE1OjQ2OjE5LjAw MDAwMDAwMCAtMDUwMAotKysrIGxpYmdjYy9jb25maWcuaG9zdAkyMDA4LTA0LTI0IDE1OjQ2OjQ5 LjAwMDAwMDAwMCAtMDUwMAotQEAgLTEwMDIsNyArMTAwMiw3IEBAIHNwYXJjLSotZWxmKikKLSAJ dG1ha2VfZmlsZT0iJHt0bWFrZV9maWxlfSB0LWZkcGJpdCB0LWNydGZtIgotIAlleHRyYV9wYXJ0 cz0iJGV4dHJhX3BhcnRzIGNydGkubyBjcnRuLm8gY3J0ZmFzdG1hdGgubyIKLSAJOzsKLS1zcGFy Yy0qLWxpbnV4KikJCSMgU1BBUkMncyBydW5uaW5nIEdOVS9MaW51eCwgbGliYzYKLStzcGFyYy0q LWxpbnV4KiB8IHNwYXJjdjktKi1saW51eCopCQkjIFNQQVJDJ3MgcnVubmluZyBHTlUvTGludXgs IGxpYmM2Ci0gCXRtYWtlX2ZpbGU9IiR7dG1ha2VfZmlsZX0gdC1jcnRmbSIKLSAJaWYgdGVzdCAi JHtob3N0X2FkZHJlc3N9IiA9IDY0OyB0aGVuCi0gCQl0bWFrZV9maWxlPSIkdG1ha2VfZmlsZSBz cGFyYy90LWxpbnV4NjQiCi1AQCAtMTA1MCw3ICsxMDUwLDcgQEAgc3BhcmM2NC0qLWZyZWVic2Qq fHVsdHJhc3BhcmMtKi1mcmVlYnNkKgotIAl0bWFrZV9maWxlPSIkdG1ha2VfZmlsZSB0LWNydGZt IgotIAlleHRyYV9wYXJ0cz0iJGV4dHJhX3BhcnRzIGNydGZhc3RtYXRoLm8iCi0gCTs7Ci0tc3Bh cmM2NC0qLWxpbnV4KikJCSMgNjQtYml0IFNQQVJDJ3MgcnVubmluZyBHTlUvTGludXgKLStzcGFy YzY0Ki0qLWxpbnV4KikJCSMgNjQtYml0IFNQQVJDJ3MgcnVubmluZyBHTlUvTGludXgKLSAJZXh0 cmFfcGFydHM9IiRleHRyYV9wYXJ0cyBjcnRmYXN0bWF0aC5vIgotIAl0bWFrZV9maWxlPSIke3Rt YWtlX2ZpbGV9IHQtY3J0Zm0gc3BhcmMvdC1saW51eCIKLSAJaWYgdGVzdCAiJHtob3N0X2FkZHJl c3N9IiA9IDY0OyB0aGVuCgpkaWZmIC0tZ2l0IGEvZ2NjNS1hYXJjaDY0LWFzeW5jLXVudy10YWJs ZXMucGF0Y2ggYi9nY2M1LWFhcmNoNjQtYXN5bmMtdW53LXRhYmxlcy5wYXRjaApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZWVjMTQ5Ci0tLSAvZGV2L251bGwKKysrIGIvZ2Nj NS1hYXJjaDY0LWFzeW5jLXVudy10YWJsZXMucGF0Y2gKQEAgLTAsMCArMSwzNSBAQAorMjAxNC0w NC0wNyAgUmljaGFyZCBIZW5kZXJzb24gIDxydGhAcmVkaGF0LmNvbT4KKworCSogY29tbW9uL2Nv bmZpZy9hYXJjaDY0L2FhcmNoNjQtY29tbW9uLmMgKFRBUkdFVF9PUFRJT05fSU5JVF9TVFJVQ1Qp OgorCURlZmluZS4KKwkoYWFyY2g2NF9vcHRpb25faW5pdF9zdHJ1Y3QpOiBOZXcgZnVuY3Rpb24u CisKKy0tLSBnY2MvY29tbW9uL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtY29tbW9uLmMKKysrKyBn Y2MvY29tbW9uL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtY29tbW9uLmMKK0BAIC0zOSw2ICszOSw5 IEBACisgI3VuZGVmCVRBUkdFVF9PUFRJT05fT1BUSU1JWkFUSU9OX1RBQkxFCisgI2RlZmluZSBU QVJHRVRfT1BUSU9OX09QVElNSVpBVElPTl9UQUJMRSBhYXJjaF9vcHRpb25fb3B0aW1pemF0aW9u X3RhYmxlCisgCisrI3VuZGVmIFRBUkdFVF9PUFRJT05fSU5JVF9TVFJVQ1QKKysjZGVmaW5lIFRB UkdFVF9PUFRJT05fSU5JVF9TVFJVQ1QgYWFyY2g2NF9vcHRpb25faW5pdF9zdHJ1Y3QKKysKKyAv KiBTZXQgZGVmYXVsdCBvcHRpbWl6YXRpb24gb3B0aW9ucy4gICovCisgc3RhdGljIGNvbnN0IHN0 cnVjdCBkZWZhdWx0X29wdGlvbnMgYWFyY2hfb3B0aW9uX29wdGltaXphdGlvbl90YWJsZVtdID0K KyAgIHsKK0BAIC00Nyw2ICs1MCwxNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRlZmF1bHRfb3B0 aW9ucyBhYXJjaF9vcHRpb25fb3B0aW1pemF0aW9uX3RhYmxlW10gPQorICAgICB7IE9QVF9MRVZF TFNfTk9ORSwgMCwgTlVMTCwgMCB9CisgICB9OworIAorKy8qIEltcGxlbWVudCBUQVJHRVRfT1BU SU9OX0lOSVRfU1RSVUNULiAgKi8KKysKKytzdGF0aWMgdm9pZAorK2FhcmNoNjRfb3B0aW9uX2lu aXRfc3RydWN0IChzdHJ1Y3QgZ2NjX29wdGlvbnMgKm9wdHMpCisreworKyAgLyogQnkgZGVmYXVs dCwgYWx3YXlzIGVtaXQgRFdBUkYtMiB1bndpbmQgaW5mby4gIFRoaXMgYWxsb3dzIGRlYnVnZ2lu ZworKyAgICAgd2l0aG91dCBtYWludGFpbmluZyBhIHN0YWNrIGZyYW1lIGJhY2stY2hhaW4uICAq LworKyAgb3B0cy0+eF9mbGFnX2FzeW5jaHJvbm91c191bndpbmRfdGFibGVzID0gMTsKKyt9Cisr CisgLyogSW1wbGVtZW50IFRBUkdFVF9IQU5ETEVfT1BUSU9OLgorICAgIFRoaXMgZnVuY3Rpb24g aGFuZGxlcyB0aGUgdGFyZ2V0IHNwZWNpZmljIG9wdGlvbnMgZm9yIENQVS90YXJnZXQgc2VsZWN0 aW9uLgorIAoKZGlmZiAtLWdpdCBhL2djYzUtaGFjay5wYXRjaCBiL2djYzUtaGFjay5wYXRjaApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NTBmZjYzCi0tLSAvZGV2L251bGwK KysrIGIvZ2NjNS1oYWNrLnBhdGNoCkBAIC0wLDAgKzEsMTU5IEBACistLS0gbGliYWRhL01ha2Vm aWxlLmluLmpqCTIwMDktMDEtMTQgMTI6MDc6MzUuMDAwMDAwMDAwICswMTAwCisrKysgbGliYWRh L01ha2VmaWxlLmluCTIwMDktMDEtMTUgMTQ6MjU6MzMuMDAwMDAwMDAwICswMTAwCitAQCAtNjYs MTggKzY2LDQwIEBAIGxpYnN1YmRpciA6PSAkKGxpYmRpcikvZ2NjLyQodGFyZ2V0X25vbmMKKyBB REFfUlRTX0RJUj0kKEdDQ19ESVIpL2FkYS9ydHMkKHN1YnN0IC8sXywkKE1VTFRJU1VCRElSKSkK KyBBREFfUlRTX1NVQkRJUj0uL3J0cyQoc3Vic3QgLyxfLCQoTVVMVElTVUJESVIpKQorIAorK0RF RkFVTFRNVUxUSUZMQUdTIDo9CisraWZlcSAoJChNVUxUSVNVQkRJUiksKQorK3Rhcmc6PSQoc3Vi c3QgLSwgLCQodGFyZ2V0KSkKKythcmNoOj0kKHdvcmQgMSwkKHRhcmcpKQorK2lmZXEgKCQod29y ZHMgJCh0YXJnKSksMikKKytvc3lzOj0kKHdvcmQgMiwkKHRhcmcpKQorK2Vsc2UKKytvc3lzOj0k KHdvcmQgMywkKHRhcmcpKQorK2VuZGlmCisraWZlcSAoJChzdHJpcCAkKGZpbHRlci1vdXQgaSU4 NiB4ODZfNjQgcG93ZXJwYyUgcHBjJSBzMzkwJSBzcGFyYyUgbGludXglLCAkKGFyY2gpICQob3N5 cykpKSwpCisraWZlcSAoJChzaGVsbCAkKENDKSAkKENGTEFHUykgLXByaW50LW11bHRpLW9zLWRp cmVjdG9yeSksLi4vbGliNjQpCisrREVGQVVMVE1VTFRJRkxBR1MgOj0gLW02NAorK2Vsc2UKKytp ZmVxICgkKHN0cmlwICQoZmlsdGVyLW91dCBzMzkwJSwgJChhcmNoKSkpLCkKKytERUZBVUxUTVVM VElGTEFHUyA6PSAtbTMxCisrZWxzZQorK0RFRkFVTFRNVUxUSUZMQUdTIDo9IC1tMzIKKytlbmRp ZgorK2VuZGlmCisrZW5kaWYKKytlbmRpZgorKworICMgZXhlZXh0IHNob3VsZCBub3QgYmUgdXNl ZCBiZWNhdXNlIGl0J3MgdGhlICpob3N0KiBleGVleHQuICBXZSdyZSBidWlsZGluZworICMgYSAq dGFyZ2V0KiBsaWJyYXJ5LCBhcmVuJ3Qgd2U/IT8gIExpa2V3aXNlIGZvciBDQy4gIFN0aWxsLCBw cm92aWRlIGJvZ3VzCisgIyBkZWZpbml0aW9ucyBqdXN0IGluIGNhc2Ugc29tZXRoaW5nIHNsaXBz IHRocm91Z2ggdGhlIHNhZmV0eSBuZXQgcHJvdmlkZWQKKyAjIGJ5IHJlY3Vyc2l2ZSBtYWtlIGlu dm9jYXRpb25zIGluIGdjYy9hZGEvTWFrZWZpbGUuaW4KKyBMSUJBREFfRkxBR1NfVE9fUEFTUyA9 IFwKKyAgICAgICAgICJNQUtFT1ZFUlJJREVTPSIgXAorLSAgICAgICAgIkxERkxBR1M9JChMREZM QUdTKSIgXAorKyAgICAgICAgIkxERkxBR1M9JChMREZMQUdTKSAkKERFRkFVTFRNVUxUSUZMQUdT KSIgXAorICAgICAgICAgIkxOX1M9JChMTl9TKSIgXAorICAgICAgICAgIlNIRUxMPSQoU0hFTEwp IiBcCistICAgICAgICAiR05BVExJQkZMQUdTPSQoR05BVExJQkZMQUdTKSAkKE1VTFRJRkxBR1Mp IiBcCistICAgICAgICAiR05BVExJQkNGTEFHUz0kKEdOQVRMSUJDRkxBR1MpICQoTVVMVElGTEFH UykiIFwKKy0gICAgICAgICJHTkFUTElCQ0ZMQUdTX0ZPUl9DPSQoR05BVExJQkNGTEFHU19GT1Jf QykgJChNVUxUSUZMQUdTKSIgXAorKyAgICAgICAgIkdOQVRMSUJGTEFHUz0kKEdOQVRMSUJGTEFH UykgJChNVUxUSUZMQUdTKSAkKERFRkFVTFRNVUxUSUZMQUdTKSIgXAorKyAgICAgICAgIkdOQVRM SUJDRkxBR1M9JChHTkFUTElCQ0ZMQUdTKSAkKE1VTFRJRkxBR1MpICQoREVGQVVMVE1VTFRJRkxB R1MpIiBcCisrICAgICAgICAiR05BVExJQkNGTEFHU19GT1JfQz0kKEdOQVRMSUJDRkxBR1NfRk9S X0MpICQoTVVMVElGTEFHUykgJChERUZBVUxUTVVMVElGTEFHUykiIFwKKyAgICAgICAgICJQSUNG TEFHX0ZPUl9UQVJHRVQ9JChQSUNGTEFHKSIgXAorICAgICAgICAgIlRIUkVBRF9LSU5EPSQoVEhS RUFEX0tJTkQpIiBcCisgICAgICAgICAiVFJBQ0U9JChUUkFDRSkiIFwKK0BAIC04OCw3ICsxMTAs NyBAQCBMSUJBREFfRkxBR1NfVE9fUEFTUyA9IFwKKyAgICAgICAgICJleGVleHQ9LmV4ZWV4dC5z aG91bGQubm90LmJlLnVzZWQgIiBcCisgCSdDQz10aGUuaG9zdC5jb21waWxlci5zaG91bGQubm90 LmJlLm5lZWRlZCcgXAorIAkiR0NDX0ZPUl9UQVJHRVQ9JChDQykiIFwKKy0gICAgICAgICJDRkxB R1M9JChDRkxBR1MpIgorKyAgICAgICAgIkNGTEFHUz0kKENGTEFHUykgJChERUZBVUxUTVVMVElG TEFHUykiCisgCisgIyBSdWxlcyB0byBidWlsZCBnbmF0bGliLgorIC5QSE9OWTogZ25hdGxpYiBn bmF0bGliLXBsYWluIGduYXRsaWItc2psaiBnbmF0bGliLXpjeCBnbmF0bGliLXNoYXJlZCBvc2Nv bnN0b29sCistLS0gZ2NjL2FkYS9zZW1fdXRpbC5hZGIJKHJldmlzaW9uIDE2MTY3NykKKysrKyBn Y2MvYWRhL3NlbV91dGlsLmFkYgkod29ya2luZyBjb3B5KQorQEAgLTU0ODcsNyArNTQ4Nyw3IEBA IHBhY2thZ2UgYm9keSBTZW1fVXRpbCBpcworICAgICAgICAgICAgIEV4cCAgICAgICAgICAgOiBO b2RlX0lkOworICAgICAgICAgICAgIEFzc24gICAgICAgICAgOiBOb2RlX0lkOworICAgICAgICAg ICAgIENob2ljZSAgICAgICAgOiBOb2RlX0lkOworLSAgICAgICAgICAgIENvbXBfVHlwZSAgICAg OiBFbnRpdHlfSWQ7CisrICAgICAgICAgICAgQ29tcF9UeXBlICAgICA6IEVudGl0eV9JZCA6PSBF bXB0eTsKKyAgICAgICAgICAgICBJc19BcnJheV9BZ2dyIDogQm9vbGVhbjsKKyAKKyAgICAgICAg ICBiZWdpbgorLS0tIGNvbmZpZy1tbC5pbi5qagkyMDEwLTA2LTMwIDA5OjUwOjQ0LjAwMDAwMDAw MCArMDIwMAorKysrIGNvbmZpZy1tbC5pbgkyMDEwLTA3LTAyIDIxOjI0OjE3Ljk5NDIxMTE1MSAr MDIwMAorQEAgLTUxNiw2ICs1MTYsOCBAQCBtdWx0aS1kbzoKKyAJCQkJQURBRkxBR1M9IiQoQURB RkxBR1MpICQke2ZsYWdzfSIgXAorIAkJCQlwcmVmaXg9IiQocHJlZml4KSIgXAorIAkJCQlleGVj X3ByZWZpeD0iJChleGVjX3ByZWZpeCkiIFwKKysJCQkJbWFuZGlyPSIkKG1hbmRpcikiIFwKKysJ CQkJaW5mb2Rpcj0iJChpbmZvZGlyKSIgXAorIAkJCQlHQ0pGTEFHUz0iJChHQ0pGTEFHUykgJCR7 ZmxhZ3N9IiBcCisgCQkJCUdPQ0ZMQUdTPSIkKEdPQ0ZMQUdTKSAkJHtmbGFnc30iIFwKKyAJCQkJ Q1hYRkxBR1M9IiQoQ1hYRkxBR1MpICQke2ZsYWdzfSIgXAorLS0tIGxpYmphdmEvTWFrZWZpbGUu YW0uamoJMjAxMC0wNy0wOSAxMToxNzozMy43Mjk2MDQwOTAgKzAyMDAKKysrKyBsaWJqYXZhL01h a2VmaWxlLmFtCTIwMTAtMDctMDkgMTM6MTY6NDEuODk0Mzc1NjQxICswMjAwCitAQCAtNzEwLDcg KzcxMCw4IEBAIGlmIFVTRV9MSUJHQ0pfQkMKKyAjIyBsYXRlci4KKyAJQGVjaG8gSW5zdGFsbGlu ZyBkdW1teSBsaWIgbGliZ2NqX2JjLnNvLjEuMC4wOyBcCisgCXJtICQoREVTVERJUikkKHRvb2xl eGVjbGliZGlyKS9saWJnY2pfYmMuc287IFwKKy0JbXYgJChERVNURElSKSQodG9vbGV4ZWNsaWJk aXIpL2xpYmdjal9iYy5zby4xLjAuMCAkKERFU1RESVIpJCh0b29sZXhlY2xpYmRpcikvbGliZ2Nq X2JjLnNvOyBcCisrCSQoSU5TVEFMTCkgJChJTlNUQUxMX1NUUklQX0ZMQUcpICQoaGVyZSkvLmxp YnMvbGliZ2NqX2JjLnNvICQoREVTVERJUikkKHRvb2xleGVjbGliZGlyKS9saWJnY2pfYmMuc287 IFwKKysJcm0gJChERVNURElSKSQodG9vbGV4ZWNsaWJkaXIpL2xpYmdjal9iYy5zby4xLjAuMDsg XAorIAkkKGxpYmdjal9iY19kdW1teV9MSU5LKSAteGMgL2Rldi9udWxsIC1XbCwtc29uYW1lLGxp Ymdjal9iYy5zby4xIFwKKyAJLW8gJChERVNURElSKSQodG9vbGV4ZWNsaWJkaXIpL2xpYmdjal9i Yy5zby4xLjAuMCAtbGdjaiB8fCBleGl0OyBcCisgCXJtICQoREVTVERJUikkKHRvb2xleGVjbGli ZGlyKS9saWJnY2pfYmMuc28uMTsgXAorLS0tIGxpYmphdmEvTWFrZWZpbGUuaW4uamoJMjAxMC0w Ny0wOSAxMToxNzozNC4wMDAwMDAwMDAgKzAyMDAKKysrKyBsaWJqYXZhL01ha2VmaWxlLmluCTIw MTAtMDctMDkgMTM6MTg6MDcuNTQyNTcyMjcwICswMjAwCitAQCAtMTI2NjUsNyArMTI2NjUsOCBA QCBpbnN0YWxsLWV4ZWMtaG9vazogaW5zdGFsbC1iaW5QUk9HUkFNUyBpCisgCWluc3RhbGwtbGli ZXhlY3N1YlBST0dSQU1TCisgQFVTRV9MSUJHQ0pfQkNfVFJVRUAJQGVjaG8gSW5zdGFsbGluZyBk dW1teSBsaWIgbGliZ2NqX2JjLnNvLjEuMC4wOyBcCisgQFVTRV9MSUJHQ0pfQkNfVFJVRUAJcm0g JChERVNURElSKSQodG9vbGV4ZWNsaWJkaXIpL2xpYmdjal9iYy5zbzsgXAorLUBVU0VfTElCR0NK X0JDX1RSVUVACW12ICQoREVTVERJUikkKHRvb2xleGVjbGliZGlyKS9saWJnY2pfYmMuc28uMS4w LjAgJChERVNURElSKSQodG9vbGV4ZWNsaWJkaXIpL2xpYmdjal9iYy5zbzsgXAorK0BVU0VfTElC R0NKX0JDX1RSVUVACSQoSU5TVEFMTCkgJChJTlNUQUxMX1NUUklQX0ZMQUcpICQoaGVyZSkvLmxp YnMvbGliZ2NqX2JjLnNvICQoREVTVERJUikkKHRvb2xleGVjbGliZGlyKS9saWJnY2pfYmMuc287 IFwKKytAVVNFX0xJQkdDSl9CQ19UUlVFQAlybSAkKERFU1RESVIpJCh0b29sZXhlY2xpYmRpcikv bGliZ2NqX2JjLnNvLjEuMC4wOyBcCisgQFVTRV9MSUJHQ0pfQkNfVFJVRUAJJChsaWJnY2pfYmNf ZHVtbXlfTElOSykgLXhjIC9kZXYvbnVsbCAtV2wsLXNvbmFtZSxsaWJnY2pfYmMuc28uMSBcCisg QFVTRV9MSUJHQ0pfQkNfVFJVRUAJLW8gJChERVNURElSKSQodG9vbGV4ZWNsaWJkaXIpL2xpYmdj al9iYy5zby4xLjAuMCAtbGdjaiB8fCBleGl0OyBcCisgQFVTRV9MSUJHQ0pfQkNfVFJVRUAJcm0g JChERVNURElSKSQodG9vbGV4ZWNsaWJkaXIpL2xpYmdjal9iYy5zby4xOyBcCistLS0gbGliY3Bw L21hY3JvLmMuamoJMjAxNS0wMS0xNCAxMTowMTozNC4wMDAwMDAwMDAgKzAxMDAKKysrKyBsaWJj cHAvbWFjcm8uYwkyMDE1LTAxLTE0IDE0OjIyOjE5LjI4Njk0OTg4NCArMDEwMAorQEAgLTI5NDcs OCArMjk0Nyw2IEBAIGNyZWF0ZV9pc29fZGVmaW5pdGlvbiAoY3BwX3JlYWRlciAqcGZpbGUKKyAg IGNwcF90b2tlbiAqdG9rZW47CisgICBjb25zdCBjcHBfdG9rZW4gKmN0b2tlbjsKKyAgIGJvb2wg Zm9sbG93aW5nX3Bhc3RlX29wID0gZmFsc2U7CistICBjb25zdCBjaGFyICpwYXN0ZV9vcF9lcnJv cl9tc2cgPQorLSAgICBOXygiJyMjJyBjYW5ub3QgYXBwZWFyIGF0IGVpdGhlciBlbmQgb2YgYSBt YWNybyBleHBhbnNpb24iKTsKKyAgIHVuc2lnbmVkIGludCBudW1fZXh0cmFfdG9rZW5zID0gMDsK KyAKKyAgIC8qIEdldCB0aGUgZmlyc3QgdG9rZW4gb2YgdGhlIGV4cGFuc2lvbiAob3IgdGhlICco JyBvZiBhCitAQCAtMzA1OSw3ICszMDU3LDggQEAgY3JlYXRlX2lzb19kZWZpbml0aW9uIChjcHBf cmVhZGVyICpwZmlsZQorIAkgICAgIGZ1bmN0aW9uLWxpa2UgbWFjcm9zLCBidXQgbm90IGF0IHRo ZSBlbmQuICAqLworIAkgIGlmIChmb2xsb3dpbmdfcGFzdGVfb3ApCisgCSAgICB7CistCSAgICAg IGNwcF9lcnJvciAocGZpbGUsIENQUF9ETF9FUlJPUiwgcGFzdGVfb3BfZXJyb3JfbXNnKTsKKysJ ICAgICAgY3BwX2Vycm9yIChwZmlsZSwgQ1BQX0RMX0VSUk9SLAorKwkJCSAiJyMjJyBjYW5ub3Qg YXBwZWFyIGF0IGVpdGhlciBlbmQgb2YgYSBtYWNybyBleHBhbnNpb24iKTsKKyAJICAgICAgcmV0 dXJuIGZhbHNlOworIAkgICAgfQorIAkgIGJyZWFrOworQEAgLTMwNzIsNyArMzA3MSw4IEBAIGNy ZWF0ZV9pc29fZGVmaW5pdGlvbiAoY3BwX3JlYWRlciAqcGZpbGUKKyAJICAgICBmdW5jdGlvbi1s aWtlIG1hY3JvcywgYnV0IG5vdCBhdCB0aGUgYmVnaW5uaW5nLiAgKi8KKyAJICBpZiAobWFjcm8t PmNvdW50ID09IDEpCisgCSAgICB7CistCSAgICAgIGNwcF9lcnJvciAocGZpbGUsIENQUF9ETF9F UlJPUiwgcGFzdGVfb3BfZXJyb3JfbXNnKTsKKysJICAgICAgY3BwX2Vycm9yIChwZmlsZSwgQ1BQ X0RMX0VSUk9SLAorKwkJCSAiJyMjJyBjYW5ub3QgYXBwZWFyIGF0IGVpdGhlciBlbmQgb2YgYSBt YWNybyBleHBhbnNpb24iKTsKKyAJICAgICAgcmV0dXJuIGZhbHNlOworIAkgICAgfQorIAorLS0t IGxpYmNwcC9leHByLmMuamoJMjAxNS0wMS0xNCAxMTowMTozNC4wMDAwMDAwMDAgKzAxMDAKKysr KyBsaWJjcHAvZXhwci5jCTIwMTUtMDEtMTQgMTQ6MzU6NTIuODUxMDAyMzQ0ICswMTAwCitAQCAt NjcyLDE2ICs2NzIsMTcgQEAgY3BwX2NsYXNzaWZ5X251bWJlciAoY3BwX3JlYWRlciAqcGZpbGUs CisgICAgICAgaWYgKChyZXN1bHQgJiBDUFBfTl9XSURUSCkgPT0gQ1BQX05fTEFSR0UKKyAJICAm JiBDUFBfT1BUSU9OIChwZmlsZSwgY3BwX3dhcm5fbG9uZ19sb25nKSkKKyAgICAgICAgIHsKKy0g ICAgICAgICAgY29uc3QgY2hhciAqbWVzc2FnZSA9IENQUF9PUFRJT04gKHBmaWxlLCBjcGx1c3Bs dXMpIAorLQkJCQk/IE5fKCJ1c2Ugb2YgQysrMTEgbG9uZyBsb25nIGludGVnZXIgY29uc3RhbnQi KQorLQkJICAgICAgICAgICAgICAgIDogTl8oInVzZSBvZiBDOTkgbG9uZyBsb25nIGludGVnZXIg Y29uc3RhbnQiKTsKKy0KKyAJICBpZiAoQ1BQX09QVElPTiAocGZpbGUsIGM5OSkpCisgICAgICAg ICAgICAgY3BwX3dhcm5pbmdfd2l0aF9saW5lIChwZmlsZSwgQ1BQX1dfTE9OR19MT05HLCB2aXJ0 dWFsX2xvY2F0aW9uLAorLQkJCQkgICAwLCBtZXNzYWdlKTsKKysJCQkJICAgMCwgQ1BQX09QVElP TiAocGZpbGUsIGNwbHVzcGx1cykKKysJCQkJICAgICAgPyBOXygidXNlIG9mIEMrKzExIGxvbmcg bG9uZyBpbnRlZ2VyIGNvbnN0YW50IikKKysJCQkJICAgICAgOiBOXygidXNlIG9mIEM5OSBsb25n IGxvbmcgaW50ZWdlciBjb25zdGFudCIpKTsKKyAgICAgICAgICAgZWxzZQorICAgICAgICAgICAg IGNwcF9wZWR3YXJuaW5nX3dpdGhfbGluZSAocGZpbGUsIENQUF9XX0xPTkdfTE9ORywKKy0JCQkJ ICAgICAgdmlydHVhbF9sb2NhdGlvbiwgMCwgbWVzc2FnZSk7CisrCQkJCSAgICAgIHZpcnR1YWxf bG9jYXRpb24sIDAsCisrCQkJCSAgICAgIENQUF9PUFRJT04gKHBmaWxlLCBjcGx1c3BsdXMpCisr CQkJCSAgICAgID8gTl8oInVzZSBvZiBDKysxMSBsb25nIGxvbmcgaW50ZWdlciBjb25zdGFudCIp CisrCQkJCSAgICAgIDogTl8oInVzZSBvZiBDOTkgbG9uZyBsb25nIGludGVnZXIgY29uc3RhbnQi KSk7CisgICAgICAgICB9CisgCisgICAgICAgcmVzdWx0IHw9IENQUF9OX0lOVEVHRVI7CgpkaWZm IC0tZ2l0IGEvZ2NjNS1pMzg2LWxpYmdvbXAucGF0Y2ggYi9nY2M1LWkzODYtbGliZ29tcC5wYXRj aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MjA1NjFlCi0tLSAvZGV2L251 bGwKKysrIGIvZ2NjNS1pMzg2LWxpYmdvbXAucGF0Y2gKQEAgLTAsMCArMSwxMSBAQAorLS0tIGxp YmdvbXAvY29uZmlndXJlLnRndC5qagkyMDA4LTAxLTEwIDIwOjUzOjQ4LjAwMDAwMDAwMCArMDEw MAorKysrIGxpYmdvbXAvY29uZmlndXJlLnRndAkyMDA4LTAzLTI3IDEyOjQ0OjUxLjAwMDAwMDAw MCArMDEwMAorQEAgLTY3LDcgKzY3LDcgQEAgaWYgdGVzdCAkZW5hYmxlX2xpbnV4X2Z1dGV4ID0g eWVzOyB0aGVuCisgCSAgICA7OworIAkgICopCisgCSAgICBpZiB0ZXN0IC16ICIkd2l0aF9hcmNo IjsgdGhlbgorLQkgICAgICBYQ0ZMQUdTPSIke1hDRkxBR1N9IC1tYXJjaD1pNDg2IC1tdHVuZT0k e3RhcmdldF9jcHV9IgorKwkgICAgICBYQ0ZMQUdTPSIke1hDRkxBR1N9IC1tYXJjaD1pNDg2IC1t dHVuZT1nZW5lcmljIgorIAkgICAgZmkKKyAJZXNhYworIAk7OwoKZGlmZiAtLWdpdCBhL2djYzUt aXNsLWRsLnBhdGNoIGIvZ2NjNS1pc2wtZGwucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMC4uMTA0Mjk2ZgotLS0gL2Rldi9udWxsCisrKyBiL2djYzUtaXNsLWRsLnBhdGNo CkBAIC0wLDAgKzEsNTYxIEBACistLS0gZ2NjL01ha2VmaWxlLmluLmpqCTIwMTItMTItMTMgMTc6 MDk6MjAuMDAwMDAwMDAwICswMTAwCisrKysgZ2NjL01ha2VmaWxlLmluCTIwMTItMTItMTQgMTE6 NDU6MjIuNTg1NjcwMDU1ICswMTAwCitAQCAtMTAwNiw3ICsxMDA2LDcgQEAgQlVJTERfTElCREVQ Uz0gJChCVUlMRF9MSUJJQkVSVFkpCisgIyBhbmQgdGhlIHN5c3RlbSdzIGluc3RhbGxlZCBsaWJy YXJpZXMuCisgTElCUyA9IEBMSUJTQCBsaWJjb21tb24uYSAkKENQUExJQikgJChMSUJJTlRMKSAk KExJQklDT05WKSAkKExJQkJBQ0tUUkFDRSkgXAorIAkkKExJQklCRVJUWSkgJChMSUJERUNOVU1C RVIpICQoSE9TVF9MSUJTKQorLUJBQ0tFTkRMSUJTID0gJChJU0xMSUJTKSAkKEdNUExJQlMpICQo UExVR0lOTElCUykgJChIT1NUX0xJQlMpIFwKKytCQUNLRU5ETElCUyA9ICQoaWYgJChJU0xMSUJT KSwtbGRsKSAkKEdNUExJQlMpICQoUExVR0lOTElCUykgJChIT1NUX0xJQlMpIFwKKyAJJChaTElC KQorICMgQW55IHN5c3RlbSBsaWJyYXJpZXMgbmVlZGVkIGp1c3QgZm9yIEdOQVQuCisgU1lTTElC UyA9IEBHTkFUX0xJQkVYQ0AKK0BAIC0yMDUwLDYgKzIwNTAsMTUgQEAgJChvdXRfb2JqZWN0X2Zp bGUpOiAkKG91dF9maWxlKQorICQoY29tbW9uX291dF9vYmplY3RfZmlsZSk6ICQoY29tbW9uX291 dF9maWxlKQorIAkkKENPTVBJTEUpICQ8CisgCSQoUE9TVENPTVBJTEUpCisrCisrZ3JhcGhpdGUl Lm8gOiBcCisrICBBTExfQ0ZMQUdTIDo9IC1PICQoZmlsdGVyLW91dCAtZmtlZXAtaW5saW5lLWZ1 bmN0aW9ucywgJChBTExfQ0ZMQUdTKSkKKytncmFwaGl0ZS5vIDogXAorKyAgQUxMX0NGTEFHUyA6 PSAtTyAkKGZpbHRlci1vdXQgLWZrZWVwLWlubGluZS1mdW5jdGlvbnMsICQoQUxMX0NGTEFHUykp CisrZ3JhcGhpdGUlLm8gOiBcCisrICBBTExfQ1hYRkxBR1MgOj0gLU8gJChmaWx0ZXItb3V0IC1m a2VlcC1pbmxpbmUtZnVuY3Rpb25zLCAkKEFMTF9DWFhGTEFHUykpCisrZ3JhcGhpdGUubyA6IFwK KysgIEFMTF9DWFhGTEFHUyA6PSAtTyAkKGZpbHRlci1vdXQgLWZrZWVwLWlubGluZS1mdW5jdGlv bnMsICQoQUxMX0NYWEZMQUdTKSkKKyAjDAorICMgR2VuZXJhdGUgaGVhZGVyIGFuZCBzb3VyY2Ug ZmlsZXMgZnJvbSB0aGUgbWFjaGluZSBkZXNjcmlwdGlvbiwKKyAjIGFuZCBjb21waWxlIHRoZW0u CistLS0gZ2NjL2dyYXBoaXRlLXBvbHkuaC5qagkyMDEyLTEyLTEzIDExOjMxOjI3LjAwMDAwMDAw MCArMDEwMAorKysrIGdjYy9ncmFwaGl0ZS1wb2x5LmgJMjAxMi0xMi0xNCAxMzo0MTo0MS45NzA4 MDA3MjYgKzAxMDAKK0BAIC0yMiw2ICsyMiw0NzggQEAgYWxvbmcgd2l0aCBHQ0M7IHNlZSB0aGUg ZmlsZSBDT1BZSU5HMy4KKyAjaWZuZGVmIEdDQ19HUkFQSElURV9QT0xZX0gKKyAjZGVmaW5lIEdD Q19HUkFQSElURV9QT0xZX0gKKyAKKysjaW5jbHVkZSA8aXNsL2FmZi5oPgorKyNpbmNsdWRlIDxp c2wvc2NoZWR1bGUuaD4KKysjaW5jbHVkZSA8aXNsL2lscC5oPgorKyNpbmNsdWRlIDxpc2wvZmxv dy5oPgorKyNpbmNsdWRlIDxpc2wvb3B0aW9ucy5oPgorKyNpbmNsdWRlIDxpc2wvYXN0Lmg+Cisr I2luY2x1ZGUgPGlzbC9hc3RfYnVpbGQuaD4KKysjaW5jbHVkZSA8aXNsL3ZhbF9nbXAuaD4KKysj aW5jbHVkZSA8ZGxmY24uaD4KKysjaWZkZWYgSEFWRV9JU0xfU0NIRURfQ09OU1RSQUlOVFNfQ09N UFVURV9TQ0hFRFVMRQorKyNkZWZpbmUgRFlOU1lNX1pFUk9fRElTVEFOQ0UgRFlOU1lNIChpc2xf YmFuZF9tZW1iZXJfaXNfY29pbmNpZGVudCkKKysjZWxzZQorKyNkZWZpbmUgRFlOU1lNX1pFUk9f RElTVEFOQ0UgRFlOU1lNIChpc2xfYmFuZF9tZW1iZXJfaXNfemVyb19kaXN0YW5jZSkKKysjZW5k aWYKKysjZGVmaW5lIERZTlNZTVMgXAorKyAgRFlOU1lNIChpc2xfYWZmX2FkZF9jb2VmZmljaWVu dF9zaSk7IFwKKysgIERZTlNZTSAoaXNsX2FmZl9mcmVlKTsgXAorKyAgRFlOU1lNIChpc2xfYWZm X2dldF9zcGFjZSk7IFwKKysgIERZTlNZTSAoaXNsX2FmZl9zZXRfY29lZmZpY2llbnRfc2kpOyBc CisrICBEWU5TWU0gKGlzbF9hZmZfc2V0X2NvbnN0YW50X3NpKTsgXAorKyAgRFlOU1lNIChpc2xf YWZmX3plcm9fb25fZG9tYWluKTsgXAorKyAgRFlOU1lNIChpc2xfYmFuZF9mcmVlKTsgXAorKyAg RFlOU1lNIChpc2xfYmFuZF9nZXRfY2hpbGRyZW4pOyBcCisrICBEWU5TWU0gKGlzbF9iYW5kX2dl dF9wYXJ0aWFsX3NjaGVkdWxlKTsgXAorKyAgRFlOU1lNIChpc2xfYmFuZF9oYXNfY2hpbGRyZW4p OyBcCisrICBEWU5TWU0gKGlzbF9iYW5kX2xpc3RfZnJlZSk7IFwKKysgIERZTlNZTSAoaXNsX2Jh bmRfbGlzdF9nZXRfYmFuZCk7IFwKKysgIERZTlNZTSAoaXNsX2JhbmRfbGlzdF9nZXRfY3R4KTsg XAorKyAgRFlOU1lNIChpc2xfYmFuZF9saXN0X25fYmFuZCk7IFwKKysgIERZTlNZTV9aRVJPX0RJ U1RBTkNFOyBcCisrICBEWU5TWU0gKGlzbF9iYW5kX25fbWVtYmVyKTsgXAorKyAgRFlOU1lNIChp c2xfYmFzaWNfbWFwX2FkZF9jb25zdHJhaW50KTsgXAorKyAgRFlOU1lNIChpc2xfYmFzaWNfbWFw X3Byb2plY3Rfb3V0KTsgXAorKyAgRFlOU1lNIChpc2xfYmFzaWNfbWFwX3VuaXZlcnNlKTsgXAor KyAgRFlOU1lNIChpc2xfY29uc3RyYWludF9zZXRfY29lZmZpY2llbnRfc2kpOyBcCisrICBEWU5T WU0gKGlzbF9jb25zdHJhaW50X3NldF9jb25zdGFudF9zaSk7IFwKKysgIERZTlNZTSAoaXNsX2N0 eF9hbGxvYyk7IFwKKysgIERZTlNZTSAoaXNsX2N0eF9mcmVlKTsgXAorKyAgRFlOU1lNIChpc2xf ZXF1YWxpdHlfYWxsb2MpOyBcCisrICBEWU5TWU0gKGlzbF9pZF9hbGxvYyk7IFwKKysgIERZTlNZ TSAoaXNsX2lkX2NvcHkpOyBcCisrICBEWU5TWU0gKGlzbF9pZF9mcmVlKTsgXAorKyAgRFlOU1lN IChpc2xfaW5lcXVhbGl0eV9hbGxvYyk7IFwKKysgIERZTlNZTSAoaXNsX2xvY2FsX3NwYWNlX2Nv cHkpOyBcCisrICBEWU5TWU0gKGlzbF9sb2NhbF9zcGFjZV9mcmVlKTsgXAorKyAgRFlOU1lNIChp c2xfbG9jYWxfc3BhY2VfZnJvbV9zcGFjZSk7IFwKKysgIERZTlNZTSAoaXNsX2xvY2FsX3NwYWNl X3JhbmdlKTsgXAorKyAgRFlOU1lNIChpc2xfbWFwX2FkZF9jb25zdHJhaW50KTsgXAorKyAgRFlO U1lNIChpc2xfbWFwX2FkZF9kaW1zKTsgXAorKyAgRFlOU1lNIChpc2xfbWFwX2FsaWduX3BhcmFt cyk7IFwKKysgIERZTlNZTSAoaXNsX21hcF9hcHBseV9yYW5nZSk7IFwKKysgIERZTlNZTSAoaXNs X21hcF9jb3B5KTsgXAorKyAgRFlOU1lNIChpc2xfbWFwX2RpbSk7IFwKKysgIERZTlNZTSAoaXNs X21hcF9kdW1wKTsgXAorKyAgRFlOU1lNIChpc2xfbWFwX2VxdWF0ZSk7IFwKKysgIERZTlNZTSAo aXNsX21hcF9maXhfc2kpOyBcCisrICBEWU5TWU0gKGlzbF9tYXBfZmxhdF9wcm9kdWN0KTsgXAor KyAgRFlOU1lNIChpc2xfbWFwX2ZsYXRfcmFuZ2VfcHJvZHVjdCk7IFwKKysgIERZTlNZTSAoaXNs X21hcF9mcmVlKTsgXAorKyAgRFlOU1lNIChpc2xfbWFwX2Zyb21fYmFzaWNfbWFwKTsgXAorKyAg RFlOU1lNIChpc2xfbWFwX2Zyb21fcHdfYWZmKTsgXAorKyAgRFlOU1lNIChpc2xfbWFwX2Zyb21f dW5pb25fbWFwKTsgXAorKyAgRFlOU1lNIChpc2xfbWFwX2dldF9jdHgpOyBcCisrICBEWU5TWU0g KGlzbF9tYXBfZ2V0X3NwYWNlKTsgXAorKyAgRFlOU1lNIChpc2xfbWFwX2dldF90dXBsZV9pZCk7 IFwKKysgIERZTlNZTSAoaXNsX21hcF9pbnNlcnRfZGltcyk7IFwKKysgIERZTlNZTSAoaXNsX21h cF9pbnRlcnNlY3QpOyBcCisrICBEWU5TWU0gKGlzbF9tYXBfaW50ZXJzZWN0X2RvbWFpbik7IFwK KysgIERZTlNZTSAoaXNsX21hcF9pbnRlcnNlY3RfcmFuZ2UpOyBcCisrICBEWU5TWU0gKGlzbF9t YXBfaXNfZW1wdHkpOyBcCisrICBEWU5TWU0gKGlzbF9tYXBfbGV4X2dlKTsgXAorKyAgRFlOU1lN IChpc2xfbWFwX2xleF9sZSk7IFwKKysgIERZTlNZTSAoaXNsX21hcF9uX291dCk7IFwKKysgIERZ TlNZTSAoaXNsX21hcF9yYW5nZSk7IFwKKysgIERZTlNZTSAoaXNsX21hcF9zZXRfdHVwbGVfaWQp OyBcCisrICBEWU5TWU0gKGlzbF9tYXBfdW5pdmVyc2UpOyBcCisrICBEWU5TWU0gKGlzbF9vcHRp b25zX3NldF9vbl9lcnJvcik7IFwKKysgIERZTlNZTSAoaXNsX29wdGlvbnNfc2V0X3NjaGVkdWxl X2Z1c2UpOyBcCisrICBEWU5TWU0gKGlzbF9vcHRpb25zX3NldF9zY2hlZHVsZV9tYXhfY29uc3Rh bnRfdGVybSk7IFwKKysgIERZTlNZTSAoaXNsX29wdGlvbnNfc2V0X3NjaGVkdWxlX21heGltaXpl X2JhbmRfZGVwdGgpOyBcCisrICBEWU5TWU0gKGlzbF9wcmludGVyX2ZyZWUpOyBcCisrICBEWU5T WU0gKGlzbF9wcmludGVyX3ByaW50X2FmZik7IFwKKysgIERZTlNZTSAoaXNsX3ByaW50ZXJfcHJp bnRfY29uc3RyYWludCk7IFwKKysgIERZTlNZTSAoaXNsX3ByaW50ZXJfcHJpbnRfbWFwKTsgXAor KyAgRFlOU1lNIChpc2xfcHJpbnRlcl9wcmludF9zZXQpOyBcCisrICBEWU5TWU0gKGlzbF9wcmlu dGVyX3RvX2ZpbGUpOyBcCisrICBEWU5TWU0gKGlzbF9wd19hZmZfYWRkKTsgXAorKyAgRFlOU1lN IChpc2xfcHdfYWZmX2FsbG9jKTsgXAorKyAgRFlOU1lNIChpc2xfcHdfYWZmX2NvcHkpOyBcCisr ICBEWU5TWU0gKGlzbF9wd19hZmZfZXFfc2V0KTsgXAorKyAgRFlOU1lNIChpc2xfcHdfYWZmX2Zy ZWUpOyBcCisrICBEWU5TWU0gKGlzbF9wd19hZmZfZnJvbV9hZmYpOyBcCisrICBEWU5TWU0gKGlz bF9wd19hZmZfZ2Vfc2V0KTsgXAorKyAgRFlOU1lNIChpc2xfcHdfYWZmX2d0X3NldCk7IFwKKysg IERZTlNZTSAoaXNsX3B3X2FmZl9pc19jc3QpOyBcCisrICBEWU5TWU0gKGlzbF9wd19hZmZfbGVf c2V0KTsgXAorKyAgRFlOU1lNIChpc2xfcHdfYWZmX2x0X3NldCk7IFwKKysgIERZTlNZTSAoaXNs X3B3X2FmZl9tdWwpOyBcCisrICBEWU5TWU0gKGlzbF9wd19hZmZfbmVfc2V0KTsgXAorKyAgRFlO U1lNIChpc2xfcHdfYWZmX25vbm5lZ19zZXQpOyBcCisrICBEWU5TWU0gKGlzbF9wd19hZmZfc2V0 X3R1cGxlX2lkKTsgXAorKyAgRFlOU1lNIChpc2xfcHdfYWZmX3N1Yik7IFwKKysgIERZTlNZTSAo aXNsX3B3X2FmZl96ZXJvX3NldCk7IFwKKysgIERZTlNZTSAoaXNsX3NjaGVkdWxlX2ZyZWUpOyBc CisrICBEWU5TWU0gKGlzbF9zY2hlZHVsZV9nZXRfYmFuZF9mb3Jlc3QpOyBcCisrICBEWU5TWU0g KGlzbF9zZXRfYWRkX2NvbnN0cmFpbnQpOyBcCisrICBEWU5TWU0gKGlzbF9zZXRfYWRkX2RpbXMp OyBcCisrICBEWU5TWU0gKGlzbF9zZXRfYXBwbHkpOyBcCisrICBEWU5TWU0gKGlzbF9zZXRfY29h bGVzY2UpOyBcCisrICBEWU5TWU0gKGlzbF9zZXRfY29weSk7IFwKKysgIERZTlNZTSAoaXNsX3Nl dF9kaW0pOyBcCisrICBEWU5TWU0gKGlzbF9zZXRfZml4X3NpKTsgXAorKyAgRFlOU1lNIChpc2xf c2V0X2ZyZWUpOyBcCisrICBEWU5TWU0gKGlzbF9zZXRfZ2V0X3NwYWNlKTsgXAorKyAgRFlOU1lN IChpc2xfc2V0X2dldF90dXBsZV9pZCk7IFwKKysgIERZTlNZTSAoaXNsX3NldF9pbnRlcnNlY3Qp OyBcCisrICBEWU5TWU0gKGlzbF9zZXRfaXNfZW1wdHkpOyBcCisrICBEWU5TWU0gKGlzbF9zZXRf bl9kaW0pOyBcCisrICBEWU5TWU0gKGlzbF9zZXRfbmF0X3VuaXZlcnNlKTsgXAorKyAgRFlOU1lN IChpc2xfc2V0X3Byb2plY3Rfb3V0KTsgXAorKyAgRFlOU1lNIChpc2xfc2V0X3NldF90dXBsZV9p ZCk7IFwKKysgIERZTlNZTSAoaXNsX3NldF91bml2ZXJzZSk7IFwKKysgIERZTlNZTSAoaXNsX3Nw YWNlX2FkZF9kaW1zKTsgXAorKyAgRFlOU1lNIChpc2xfc3BhY2VfYWxsb2MpOyBcCisrICBEWU5T WU0gKGlzbF9zcGFjZV9jb3B5KTsgXAorKyAgRFlOU1lNIChpc2xfc3BhY2VfZGltKTsgXAorKyAg RFlOU1lNIChpc2xfc3BhY2VfZG9tYWluKTsgXAorKyAgRFlOU1lNIChpc2xfc3BhY2VfZmluZF9k aW1fYnlfaWQpOyBcCisrICBEWU5TWU0gKGlzbF9zcGFjZV9mcmVlKTsgXAorKyAgRFlOU1lNIChp c2xfc3BhY2VfZnJvbV9kb21haW4pOyBcCisrICBEWU5TWU0gKGlzbF9zcGFjZV9nZXRfdHVwbGVf aWQpOyBcCisrICBEWU5TWU0gKGlzbF9zcGFjZV9wYXJhbXNfYWxsb2MpOyBcCisrICBEWU5TWU0g KGlzbF9zcGFjZV9yYW5nZSk7IFwKKysgIERZTlNZTSAoaXNsX3NwYWNlX3NldF9hbGxvYyk7IFwK KysgIERZTlNZTSAoaXNsX3NwYWNlX3NldF9kaW1faWQpOyBcCisrICBEWU5TWU0gKGlzbF9zcGFj ZV9zZXRfdHVwbGVfaWQpOyBcCisrICBEWU5TWU0gKGlzbF91bmlvbl9tYXBfYWRkX21hcCk7IFwK KysgIERZTlNZTSAoaXNsX3VuaW9uX21hcF9hbGlnbl9wYXJhbXMpOyBcCisrICBEWU5TWU0gKGlz bF91bmlvbl9tYXBfYXBwbHlfZG9tYWluKTsgXAorKyAgRFlOU1lNIChpc2xfdW5pb25fbWFwX2Fw cGx5X3JhbmdlKTsgXAorKyAgRFlOU1lNIChpc2xfdW5pb25fbWFwX2NvbXB1dGVfZmxvdyk7IFwK KysgIERZTlNZTSAoaXNsX3VuaW9uX21hcF9jb3B5KTsgXAorKyAgRFlOU1lNIChpc2xfdW5pb25f bWFwX2VtcHR5KTsgXAorKyAgRFlOU1lNIChpc2xfdW5pb25fbWFwX2ZsYXRfcmFuZ2VfcHJvZHVj dCk7IFwKKysgIERZTlNZTSAoaXNsX3VuaW9uX21hcF9mb3JlYWNoX21hcCk7IFwKKysgIERZTlNZ TSAoaXNsX3VuaW9uX21hcF9mcmVlKTsgXAorKyAgRFlOU1lNIChpc2xfdW5pb25fbWFwX2Zyb21f bWFwKTsgXAorKyAgRFlOU1lNIChpc2xfdW5pb25fbWFwX2dldF9jdHgpOyBcCisrICBEWU5TWU0g KGlzbF91bmlvbl9tYXBfZ2V0X3NwYWNlKTsgXAorKyAgRFlOU1lNIChpc2xfdW5pb25fbWFwX2dp c3RfZG9tYWluKTsgXAorKyAgRFlOU1lNIChpc2xfdW5pb25fbWFwX2dpc3RfcmFuZ2UpOyBcCisr ICBEWU5TWU0gKGlzbF91bmlvbl9tYXBfaW50ZXJzZWN0X2RvbWFpbik7IFwKKysgIERZTlNZTSAo aXNsX3VuaW9uX21hcF9pc19lbXB0eSk7IFwKKysgIERZTlNZTSAoaXNsX3VuaW9uX21hcF9zdWJ0 cmFjdCk7IFwKKysgIERZTlNZTSAoaXNsX3VuaW9uX21hcF91bmlvbik7IFwKKysgIERZTlNZTSAo aXNsX3VuaW9uX3NldF9hZGRfc2V0KTsgXAorKyAgRFlOU1lNIChpc2xfdW5pb25fc2V0X2NvbXB1 dGVfc2NoZWR1bGUpOyBcCisrICBEWU5TWU0gKGlzbF91bmlvbl9zZXRfY29weSk7IFwKKysgIERZ TlNZTSAoaXNsX3VuaW9uX3NldF9lbXB0eSk7IFwKKysgIERZTlNZTSAoaXNsX3VuaW9uX3NldF9m cm9tX3NldCk7IFwKKysgIERZTlNZTSAoaXNsX2FmZl9hZGRfY29uc3RhbnRfdmFsKTsgXAorKyAg RFlOU1lNIChpc2xfYWZmX2dldF9jb2VmZmljaWVudF92YWwpOyBcCisrICBEWU5TWU0gKGlzbF9h ZmZfZ2V0X2N0eCk7IFwKKysgIERZTlNZTSAoaXNsX2FmZl9tb2RfdmFsKTsgXAorKyAgRFlOU1lN IChpc2xfYXN0X2J1aWxkX2FzdF9mcm9tX3NjaGVkdWxlKTsgXAorKyAgRFlOU1lNIChpc2xfYXN0 X2J1aWxkX2ZyZWUpOyBcCisrICBEWU5TWU0gKGlzbF9hc3RfYnVpbGRfZnJvbV9jb250ZXh0KTsg XAorKyAgRFlOU1lNIChpc2xfYXN0X2J1aWxkX2dldF9jdHgpOyBcCisrICBEWU5TWU0gKGlzbF9h c3RfYnVpbGRfZ2V0X3NjaGVkdWxlKTsgXAorKyAgRFlOU1lNIChpc2xfYXN0X2J1aWxkX2dldF9z Y2hlZHVsZV9zcGFjZSk7IFwKKysgIERZTlNZTSAoaXNsX2FzdF9idWlsZF9zZXRfYmVmb3JlX2Vh Y2hfZm9yKTsgXAorKyAgRFlOU1lNIChpc2xfYXN0X2J1aWxkX3NldF9vcHRpb25zKTsgXAorKyAg RFlOU1lNIChpc2xfYXN0X2V4cHJfZnJlZSk7IFwKKysgIERZTlNZTSAoaXNsX2FzdF9leHByX2Zy b21fdmFsKTsgXAorKyAgRFlOU1lNIChpc2xfYXN0X2V4cHJfZ2V0X2N0eCk7IFwKKysgIERZTlNZ TSAoaXNsX2FzdF9leHByX2dldF9pZCk7IFwKKysgIERZTlNZTSAoaXNsX2FzdF9leHByX2dldF9v cF9hcmcpOyBcCisrICBEWU5TWU0gKGlzbF9hc3RfZXhwcl9nZXRfb3Bfbl9hcmcpOyBcCisrICBE WU5TWU0gKGlzbF9hc3RfZXhwcl9nZXRfb3BfdHlwZSk7IFwKKysgIERZTlNZTSAoaXNsX2FzdF9l eHByX2dldF90eXBlKTsgXAorKyAgRFlOU1lNIChpc2xfYXN0X2V4cHJfZ2V0X3ZhbCk7IFwKKysg IERZTlNZTSAoaXNsX2FzdF9leHByX3N1Yik7IFwKKysgIERZTlNZTSAoaXNsX2FzdF9ub2RlX2Js b2NrX2dldF9jaGlsZHJlbik7IFwKKysgIERZTlNZTSAoaXNsX2FzdF9ub2RlX2Zvcl9nZXRfYm9k eSk7IFwKKysgIERZTlNZTSAoaXNsX2FzdF9ub2RlX2Zvcl9nZXRfY29uZCk7IFwKKysgIERZTlNZ TSAoaXNsX2FzdF9ub2RlX2Zvcl9nZXRfaW5jKTsgXAorKyAgRFlOU1lNIChpc2xfYXN0X25vZGVf Zm9yX2dldF9pbml0KTsgXAorKyAgRFlOU1lNIChpc2xfYXN0X25vZGVfZm9yX2dldF9pdGVyYXRv cik7IFwKKysgIERZTlNZTSAoaXNsX2FzdF9ub2RlX2ZyZWUpOyBcCisrICBEWU5TWU0gKGlzbF9h c3Rfbm9kZV9nZXRfYW5ub3RhdGlvbik7IFwKKysgIERZTlNZTSAoaXNsX2FzdF9ub2RlX2dldF90 eXBlKTsgXAorKyAgRFlOU1lNIChpc2xfYXN0X25vZGVfaWZfZ2V0X2NvbmQpOyBcCisrICBEWU5T WU0gKGlzbF9hc3Rfbm9kZV9pZl9nZXRfZWxzZSk7IFwKKysgIERZTlNZTSAoaXNsX2FzdF9ub2Rl X2lmX2dldF90aGVuKTsgXAorKyAgRFlOU1lNIChpc2xfYXN0X25vZGVfbGlzdF9mcmVlKTsgXAor KyAgRFlOU1lNIChpc2xfYXN0X25vZGVfbGlzdF9nZXRfYXN0X25vZGUpOyBcCisrICBEWU5TWU0g KGlzbF9hc3Rfbm9kZV9saXN0X25fYXN0X25vZGUpOyBcCisrICBEWU5TWU0gKGlzbF9hc3Rfbm9k ZV91c2VyX2dldF9leHByKTsgXAorKyAgRFlOU1lNIChpc2xfY29uc3RyYWludF9zZXRfY29lZmZp Y2llbnRfdmFsKTsgXAorKyAgRFlOU1lNIChpc2xfY29uc3RyYWludF9zZXRfY29uc3RhbnRfdmFs KTsgXAorKyAgRFlOU1lNIChpc2xfaWRfZ2V0X3VzZXIpOyBcCisrICBEWU5TWU0gKGlzbF9sb2Nh bF9zcGFjZV9nZXRfY3R4KTsgXAorKyAgRFlOU1lNIChpc2xfbWFwX2ZpeF92YWwpOyBcCisrICBE WU5TWU0gKGlzbF9vcHRpb25zX3NldF9hc3RfYnVpbGRfYXRvbWljX3VwcGVyX2JvdW5kKTsgXAor KyAgRFlOU1lNIChpc2xfcHJpbnRlcl9wcmludF9hc3Rfbm9kZSk7IFwKKysgIERZTlNZTSAoaXNs X3ByaW50ZXJfcHJpbnRfc3RyKTsgXAorKyAgRFlOU1lNIChpc2xfcHJpbnRlcl9zZXRfb3V0cHV0 X2Zvcm1hdCk7IFwKKysgIERZTlNZTSAoaXNsX3B3X2FmZl9tb2RfdmFsKTsgXAorKyAgRFlOU1lN IChpc2xfc2NoZWR1bGVfY29uc3RyYWludHNfY29tcHV0ZV9zY2hlZHVsZSk7IFwKKysgIERZTlNZ TSAoaXNsX3NjaGVkdWxlX2NvbnN0cmFpbnRzX29uX2RvbWFpbik7IFwKKysgIERZTlNZTSAoaXNs X3NjaGVkdWxlX2NvbnN0cmFpbnRzX3NldF9jb2luY2lkZW5jZSk7IFwKKysgIERZTlNZTSAoaXNs X3NjaGVkdWxlX2NvbnN0cmFpbnRzX3NldF9wcm94aW1pdHkpOyBcCisrICBEWU5TWU0gKGlzbF9z Y2hlZHVsZV9jb25zdHJhaW50c19zZXRfdmFsaWRpdHkpOyBcCisrICBEWU5TWU0gKGlzbF9zZXRf Z2V0X2RpbV9pZCk7IFwKKysgIERZTlNZTSAoaXNsX3NldF9tYXhfdmFsKTsgXAorKyAgRFlOU1lN IChpc2xfc2V0X21pbl92YWwpOyBcCisrICBEWU5TWU0gKGlzbF9zZXRfcGFyYW1zKTsgXAorKyAg RFlOU1lNIChpc2xfc3BhY2VfYWxpZ25fcGFyYW1zKTsgXAorKyAgRFlOU1lNIChpc2xfc3BhY2Vf bWFwX2Zyb21fZG9tYWluX2FuZF9yYW5nZSk7IFwKKysgIERZTlNZTSAoaXNsX3NwYWNlX3NldF90 dXBsZV9uYW1lKTsgXAorKyAgRFlOU1lNIChpc2xfc3BhY2Vfd3JhcCk7IFwKKysgIERZTlNZTSAo aXNsX3VuaW9uX21hcF9mcm9tX2RvbWFpbl9hbmRfcmFuZ2UpOyBcCisrICBEWU5TWU0gKGlzbF91 bmlvbl9tYXBfcmFuZ2UpOyBcCisrICBEWU5TWU0gKGlzbF91bmlvbl9zZXRfdW5pb24pOyBcCisr ICBEWU5TWU0gKGlzbF91bmlvbl9zZXRfdW5pdmVyc2UpOyBcCisrICBEWU5TWU0gKGlzbF92YWxf MmV4cCk7IFwKKysgIERZTlNZTSAoaXNsX3ZhbF9hZGRfdWkpOyBcCisrICBEWU5TWU0gKGlzbF92 YWxfY29weSk7IFwKKysgIERZTlNZTSAoaXNsX3ZhbF9mcmVlKTsgXAorKyAgRFlOU1lNIChpc2xf dmFsX2dldF9udW1fZ21wKTsgXAorKyAgRFlOU1lNIChpc2xfdmFsX2ludF9mcm9tX2dtcCk7IFwK KysgIERZTlNZTSAoaXNsX3ZhbF9pbnRfZnJvbV9zaSk7IFwKKysgIERZTlNZTSAoaXNsX3ZhbF9p bnRfZnJvbV91aSk7IFwKKysgIERZTlNZTSAoaXNsX3ZhbF9tdWwpOyBcCisrICBEWU5TWU0gKGlz bF92YWxfbmVnKTsgXAorKyAgRFlOU1lNIChpc2xfdmFsX3N1Yik7CisrCisrZXh0ZXJuIHN0cnVj dCBpc2xfcG9pbnRlcnNfc19fCisreworKyAgYm9vbCBpbml0ZWQ7CisrICB2b2lkICpoOworKyNk ZWZpbmUgRFlOU1lNKHgpIF9fdHlwZW9mICh4KSAqcF8jI3gKKysgIERZTlNZTVMKKysjdW5kZWYg RFlOU1lNCisrfSBpc2xfcG9pbnRlcnNfXzsKKysKKysjZGVmaW5lIGlzbF9hZmZfYWRkX2NvZWZm aWNpZW50X3NpICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYWZmX2FkZF9jb2VmZmljaWVudF9zaSkK KysjZGVmaW5lIGlzbF9hZmZfZnJlZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2FmZl9mcmVlKQor KyNkZWZpbmUgaXNsX2FmZl9nZXRfc3BhY2UgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9hZmZfZ2V0 X3NwYWNlKQorKyNkZWZpbmUgaXNsX2FmZl9zZXRfY29lZmZpY2llbnRfc2kgKCppc2xfcG9pbnRl cnNfXy5wX2lzbF9hZmZfc2V0X2NvZWZmaWNpZW50X3NpKQorKyNkZWZpbmUgaXNsX2FmZl9zZXRf Y29uc3RhbnRfc2kgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9hZmZfc2V0X2NvbnN0YW50X3NpKQor KyNkZWZpbmUgaXNsX2FmZl96ZXJvX29uX2RvbWFpbiAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2Fm Zl96ZXJvX29uX2RvbWFpbikKKysjZGVmaW5lIGlzbF9iYW5kX2ZyZWUgKCppc2xfcG9pbnRlcnNf Xy5wX2lzbF9iYW5kX2ZyZWUpCisrI2RlZmluZSBpc2xfYmFuZF9nZXRfY2hpbGRyZW4gKCppc2xf cG9pbnRlcnNfXy5wX2lzbF9iYW5kX2dldF9jaGlsZHJlbikKKysjZGVmaW5lIGlzbF9iYW5kX2dl dF9wYXJ0aWFsX3NjaGVkdWxlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYmFuZF9nZXRfcGFydGlh bF9zY2hlZHVsZSkKKysjZGVmaW5lIGlzbF9iYW5kX2hhc19jaGlsZHJlbiAoKmlzbF9wb2ludGVy c19fLnBfaXNsX2JhbmRfaGFzX2NoaWxkcmVuKQorKyNkZWZpbmUgaXNsX2JhbmRfbGlzdF9mcmVl ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYmFuZF9saXN0X2ZyZWUpCisrI2RlZmluZSBpc2xfYmFu ZF9saXN0X2dldF9iYW5kICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYmFuZF9saXN0X2dldF9iYW5k KQorKyNkZWZpbmUgaXNsX2JhbmRfbGlzdF9nZXRfY3R4ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xf YmFuZF9saXN0X2dldF9jdHgpCisrI2RlZmluZSBpc2xfYmFuZF9saXN0X25fYmFuZCAoKmlzbF9w b2ludGVyc19fLnBfaXNsX2JhbmRfbGlzdF9uX2JhbmQpCisrI2lmZGVmIEhBVkVfSVNMX1NDSEVE X0NPTlNUUkFJTlRTX0NPTVBVVEVfU0NIRURVTEUKKysjZGVmaW5lIGlzbF9iYW5kX21lbWJlcl9p c19jb2luY2lkZW50ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYmFuZF9tZW1iZXJfaXNfY29pbmNp ZGVudCkKKysjZWxzZQorKyNkZWZpbmUgaXNsX2JhbmRfbWVtYmVyX2lzX3plcm9fZGlzdGFuY2Ug KCppc2xfcG9pbnRlcnNfXy5wX2lzbF9iYW5kX21lbWJlcl9pc196ZXJvX2Rpc3RhbmNlKQorKyNl bmRpZgorKyNkZWZpbmUgaXNsX2JhbmRfbl9tZW1iZXIgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9i YW5kX25fbWVtYmVyKQorKyNkZWZpbmUgaXNsX2Jhc2ljX21hcF9hZGRfY29uc3RyYWludCAoKmlz bF9wb2ludGVyc19fLnBfaXNsX2Jhc2ljX21hcF9hZGRfY29uc3RyYWludCkKKysjZGVmaW5lIGlz bF9iYXNpY19tYXBfcHJvamVjdF9vdXQgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9iYXNpY19tYXBf cHJvamVjdF9vdXQpCisrI2RlZmluZSBpc2xfYmFzaWNfbWFwX3VuaXZlcnNlICgqaXNsX3BvaW50 ZXJzX18ucF9pc2xfYmFzaWNfbWFwX3VuaXZlcnNlKQorKyNkZWZpbmUgaXNsX2NvbnN0cmFpbnRf c2V0X2NvZWZmaWNpZW50X3NpICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfY29uc3RyYWludF9zZXRf Y29lZmZpY2llbnRfc2kpCisrI2RlZmluZSBpc2xfY29uc3RyYWludF9zZXRfY29uc3RhbnRfc2kg KCppc2xfcG9pbnRlcnNfXy5wX2lzbF9jb25zdHJhaW50X3NldF9jb25zdGFudF9zaSkKKysjZGVm aW5lIGlzbF9jdHhfYWxsb2MgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9jdHhfYWxsb2MpCisrI2Rl ZmluZSBpc2xfY3R4X2ZyZWUgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9jdHhfZnJlZSkKKysjZGVm aW5lIGlzbF9lcXVhbGl0eV9hbGxvYyAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2VxdWFsaXR5X2Fs bG9jKQorKyNkZWZpbmUgaXNsX2lkX2FsbG9jICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfaWRfYWxs b2MpCisrI2RlZmluZSBpc2xfaWRfY29weSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2lkX2NvcHkp CisrI2RlZmluZSBpc2xfaWRfZnJlZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2lkX2ZyZWUpCisr I2RlZmluZSBpc2xfaW5lcXVhbGl0eV9hbGxvYyAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2luZXF1 YWxpdHlfYWxsb2MpCisrI2RlZmluZSBpc2xfbG9jYWxfc3BhY2VfY29weSAoKmlzbF9wb2ludGVy c19fLnBfaXNsX2xvY2FsX3NwYWNlX2NvcHkpCisrI2RlZmluZSBpc2xfbG9jYWxfc3BhY2VfZnJl ZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2xvY2FsX3NwYWNlX2ZyZWUpCisrI2RlZmluZSBpc2xf bG9jYWxfc3BhY2VfZnJvbV9zcGFjZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2xvY2FsX3NwYWNl X2Zyb21fc3BhY2UpCisrI2RlZmluZSBpc2xfbG9jYWxfc3BhY2VfcmFuZ2UgKCppc2xfcG9pbnRl cnNfXy5wX2lzbF9sb2NhbF9zcGFjZV9yYW5nZSkKKysjZGVmaW5lIGlzbF9tYXBfYWRkX2NvbnN0 cmFpbnQgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9tYXBfYWRkX2NvbnN0cmFpbnQpCisrI2RlZmlu ZSBpc2xfbWFwX2FkZF9kaW1zICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfbWFwX2FkZF9kaW1zKQor KyNkZWZpbmUgaXNsX21hcF9hbGlnbl9wYXJhbXMgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9tYXBf YWxpZ25fcGFyYW1zKQorKyNkZWZpbmUgaXNsX21hcF9hcHBseV9yYW5nZSAoKmlzbF9wb2ludGVy c19fLnBfaXNsX21hcF9hcHBseV9yYW5nZSkKKysjZGVmaW5lIGlzbF9tYXBfY29weSAoKmlzbF9w b2ludGVyc19fLnBfaXNsX21hcF9jb3B5KQorKyNkZWZpbmUgaXNsX21hcF9kaW0gKCppc2xfcG9p bnRlcnNfXy5wX2lzbF9tYXBfZGltKQorKyNkZWZpbmUgaXNsX21hcF9kdW1wICgqaXNsX3BvaW50 ZXJzX18ucF9pc2xfbWFwX2R1bXApCisrI2RlZmluZSBpc2xfbWFwX2VxdWF0ZSAoKmlzbF9wb2lu dGVyc19fLnBfaXNsX21hcF9lcXVhdGUpCisrI2RlZmluZSBpc2xfbWFwX2ZpeF9zaSAoKmlzbF9w b2ludGVyc19fLnBfaXNsX21hcF9maXhfc2kpCisrI2RlZmluZSBpc2xfbWFwX2ZsYXRfcHJvZHVj dCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX21hcF9mbGF0X3Byb2R1Y3QpCisrI2RlZmluZSBpc2xf bWFwX2ZsYXRfcmFuZ2VfcHJvZHVjdCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX21hcF9mbGF0X3Jh bmdlX3Byb2R1Y3QpCisrI2RlZmluZSBpc2xfbWFwX2ZyZWUgKCppc2xfcG9pbnRlcnNfXy5wX2lz bF9tYXBfZnJlZSkKKysjZGVmaW5lIGlzbF9tYXBfZnJvbV9iYXNpY19tYXAgKCppc2xfcG9pbnRl cnNfXy5wX2lzbF9tYXBfZnJvbV9iYXNpY19tYXApCisrI2RlZmluZSBpc2xfbWFwX2Zyb21fcHdf YWZmICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfbWFwX2Zyb21fcHdfYWZmKQorKyNkZWZpbmUgaXNs X21hcF9mcm9tX3VuaW9uX21hcCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX21hcF9mcm9tX3VuaW9u X21hcCkKKysjZGVmaW5lIGlzbF9tYXBfZ2V0X2N0eCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX21h cF9nZXRfY3R4KQorKyNkZWZpbmUgaXNsX21hcF9nZXRfc3BhY2UgKCppc2xfcG9pbnRlcnNfXy5w X2lzbF9tYXBfZ2V0X3NwYWNlKQorKyNkZWZpbmUgaXNsX21hcF9nZXRfdHVwbGVfaWQgKCppc2xf cG9pbnRlcnNfXy5wX2lzbF9tYXBfZ2V0X3R1cGxlX2lkKQorKyNkZWZpbmUgaXNsX21hcF9pbnNl cnRfZGltcyAoKmlzbF9wb2ludGVyc19fLnBfaXNsX21hcF9pbnNlcnRfZGltcykKKysjZGVmaW5l IGlzbF9tYXBfaW50ZXJzZWN0ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfbWFwX2ludGVyc2VjdCkK KysjZGVmaW5lIGlzbF9tYXBfaW50ZXJzZWN0X2RvbWFpbiAoKmlzbF9wb2ludGVyc19fLnBfaXNs X21hcF9pbnRlcnNlY3RfZG9tYWluKQorKyNkZWZpbmUgaXNsX21hcF9pbnRlcnNlY3RfcmFuZ2Ug KCppc2xfcG9pbnRlcnNfXy5wX2lzbF9tYXBfaW50ZXJzZWN0X3JhbmdlKQorKyNkZWZpbmUgaXNs X21hcF9pc19lbXB0eSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX21hcF9pc19lbXB0eSkKKysjZGVm aW5lIGlzbF9tYXBfbGV4X2dlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfbWFwX2xleF9nZSkKKysj ZGVmaW5lIGlzbF9tYXBfbGV4X2xlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfbWFwX2xleF9sZSkK KysjZGVmaW5lIGlzbF9tYXBfbl9vdXQgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9tYXBfbl9vdXQp CisrI2RlZmluZSBpc2xfbWFwX3JhbmdlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfbWFwX3Jhbmdl KQorKyNkZWZpbmUgaXNsX21hcF9zZXRfdHVwbGVfaWQgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9t YXBfc2V0X3R1cGxlX2lkKQorKyNkZWZpbmUgaXNsX21hcF91bml2ZXJzZSAoKmlzbF9wb2ludGVy c19fLnBfaXNsX21hcF91bml2ZXJzZSkKKysjZGVmaW5lIGlzbF9vcHRpb25zX3NldF9vbl9lcnJv ciAoKmlzbF9wb2ludGVyc19fLnBfaXNsX29wdGlvbnNfc2V0X29uX2Vycm9yKQorKyNkZWZpbmUg aXNsX29wdGlvbnNfc2V0X3NjaGVkdWxlX2Z1c2UgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9vcHRp b25zX3NldF9zY2hlZHVsZV9mdXNlKQorKyNkZWZpbmUgaXNsX29wdGlvbnNfc2V0X3NjaGVkdWxl X21heF9jb25zdGFudF90ZXJtICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfb3B0aW9uc19zZXRfc2No ZWR1bGVfbWF4X2NvbnN0YW50X3Rlcm0pCisrI2RlZmluZSBpc2xfb3B0aW9uc19zZXRfc2NoZWR1 bGVfbWF4aW1pemVfYmFuZF9kZXB0aCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX29wdGlvbnNfc2V0 X3NjaGVkdWxlX21heGltaXplX2JhbmRfZGVwdGgpCisrI2RlZmluZSBpc2xfcHJpbnRlcl9mcmVl ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfcHJpbnRlcl9mcmVlKQorKyNkZWZpbmUgaXNsX3ByaW50 ZXJfcHJpbnRfYWZmICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfcHJpbnRlcl9wcmludF9hZmYpCisr I2RlZmluZSBpc2xfcHJpbnRlcl9wcmludF9jb25zdHJhaW50ICgqaXNsX3BvaW50ZXJzX18ucF9p c2xfcHJpbnRlcl9wcmludF9jb25zdHJhaW50KQorKyNkZWZpbmUgaXNsX3ByaW50ZXJfcHJpbnRf bWFwICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfcHJpbnRlcl9wcmludF9tYXApCisrI2RlZmluZSBp c2xfcHJpbnRlcl9wcmludF9zZXQgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9wcmludGVyX3ByaW50 X3NldCkKKysjZGVmaW5lIGlzbF9wcmludGVyX3RvX2ZpbGUgKCppc2xfcG9pbnRlcnNfXy5wX2lz bF9wcmludGVyX3RvX2ZpbGUpCisrI2RlZmluZSBpc2xfcHdfYWZmX2FkZCAoKmlzbF9wb2ludGVy c19fLnBfaXNsX3B3X2FmZl9hZGQpCisrI2RlZmluZSBpc2xfcHdfYWZmX2FsbG9jICgqaXNsX3Bv aW50ZXJzX18ucF9pc2xfcHdfYWZmX2FsbG9jKQorKyNkZWZpbmUgaXNsX3B3X2FmZl9jb3B5ICgq aXNsX3BvaW50ZXJzX18ucF9pc2xfcHdfYWZmX2NvcHkpCisrI2RlZmluZSBpc2xfcHdfYWZmX2Vx X3NldCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3B3X2FmZl9lcV9zZXQpCisrI2RlZmluZSBpc2xf cHdfYWZmX2ZyZWUgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9wd19hZmZfZnJlZSkKKysjZGVmaW5l IGlzbF9wd19hZmZfZnJvbV9hZmYgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9wd19hZmZfZnJvbV9h ZmYpCisrI2RlZmluZSBpc2xfcHdfYWZmX2dlX3NldCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3B3 X2FmZl9nZV9zZXQpCisrI2RlZmluZSBpc2xfcHdfYWZmX2d0X3NldCAoKmlzbF9wb2ludGVyc19f LnBfaXNsX3B3X2FmZl9ndF9zZXQpCisrI2RlZmluZSBpc2xfcHdfYWZmX2lzX2NzdCAoKmlzbF9w b2ludGVyc19fLnBfaXNsX3B3X2FmZl9pc19jc3QpCisrI2RlZmluZSBpc2xfcHdfYWZmX2xlX3Nl dCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3B3X2FmZl9sZV9zZXQpCisrI2RlZmluZSBpc2xfcHdf YWZmX2x0X3NldCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3B3X2FmZl9sdF9zZXQpCisrI2RlZmlu ZSBpc2xfcHdfYWZmX211bCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3B3X2FmZl9tdWwpCisrI2Rl ZmluZSBpc2xfcHdfYWZmX25lX3NldCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3B3X2FmZl9uZV9z ZXQpCisrI2RlZmluZSBpc2xfcHdfYWZmX25vbm5lZ19zZXQgKCppc2xfcG9pbnRlcnNfXy5wX2lz bF9wd19hZmZfbm9ubmVnX3NldCkKKysjZGVmaW5lIGlzbF9wd19hZmZfc2V0X3R1cGxlX2lkICgq aXNsX3BvaW50ZXJzX18ucF9pc2xfcHdfYWZmX3NldF90dXBsZV9pZCkKKysjZGVmaW5lIGlzbF9w d19hZmZfc3ViICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfcHdfYWZmX3N1YikKKysjZGVmaW5lIGlz bF9wd19hZmZfemVyb19zZXQgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9wd19hZmZfemVyb19zZXQp CisrI2RlZmluZSBpc2xfc2NoZWR1bGVfZnJlZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NjaGVk dWxlX2ZyZWUpCisrI2RlZmluZSBpc2xfc2NoZWR1bGVfZ2V0X2JhbmRfZm9yZXN0ICgqaXNsX3Bv aW50ZXJzX18ucF9pc2xfc2NoZWR1bGVfZ2V0X2JhbmRfZm9yZXN0KQorKyNkZWZpbmUgaXNsX3Nl dF9hZGRfY29uc3RyYWludCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NldF9hZGRfY29uc3RyYWlu dCkKKysjZGVmaW5lIGlzbF9zZXRfYWRkX2RpbXMgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zZXRf YWRkX2RpbXMpCisrI2RlZmluZSBpc2xfc2V0X2FwcGx5ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xf c2V0X2FwcGx5KQorKyNkZWZpbmUgaXNsX3NldF9jb2FsZXNjZSAoKmlzbF9wb2ludGVyc19fLnBf aXNsX3NldF9jb2FsZXNjZSkKKysjZGVmaW5lIGlzbF9zZXRfY29weSAoKmlzbF9wb2ludGVyc19f LnBfaXNsX3NldF9jb3B5KQorKyNkZWZpbmUgaXNsX3NldF9kaW0gKCppc2xfcG9pbnRlcnNfXy5w X2lzbF9zZXRfZGltKQorKyNkZWZpbmUgaXNsX3NldF9maXhfc2kgKCppc2xfcG9pbnRlcnNfXy5w X2lzbF9zZXRfZml4X3NpKQorKyNkZWZpbmUgaXNsX3NldF9mcmVlICgqaXNsX3BvaW50ZXJzX18u cF9pc2xfc2V0X2ZyZWUpCisrI2RlZmluZSBpc2xfc2V0X2dldF9zcGFjZSAoKmlzbF9wb2ludGVy c19fLnBfaXNsX3NldF9nZXRfc3BhY2UpCisrI2RlZmluZSBpc2xfc2V0X2dldF90dXBsZV9pZCAo KmlzbF9wb2ludGVyc19fLnBfaXNsX3NldF9nZXRfdHVwbGVfaWQpCisrI2RlZmluZSBpc2xfc2V0 X2ludGVyc2VjdCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NldF9pbnRlcnNlY3QpCisrI2RlZmlu ZSBpc2xfc2V0X2lzX2VtcHR5ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc2V0X2lzX2VtcHR5KQor KyNkZWZpbmUgaXNsX3NldF9uX2RpbSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NldF9uX2RpbSkK KysjZGVmaW5lIGlzbF9zZXRfbmF0X3VuaXZlcnNlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc2V0 X25hdF91bml2ZXJzZSkKKysjZGVmaW5lIGlzbF9zZXRfcHJvamVjdF9vdXQgKCppc2xfcG9pbnRl cnNfXy5wX2lzbF9zZXRfcHJvamVjdF9vdXQpCisrI2RlZmluZSBpc2xfc2V0X3NldF90dXBsZV9p ZCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NldF9zZXRfdHVwbGVfaWQpCisrI2RlZmluZSBpc2xf c2V0X3VuaXZlcnNlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc2V0X3VuaXZlcnNlKQorKyNkZWZp bmUgaXNsX3NwYWNlX2FkZF9kaW1zICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc3BhY2VfYWRkX2Rp bXMpCisrI2RlZmluZSBpc2xfc3BhY2VfYWxsb2MgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zcGFj ZV9hbGxvYykKKysjZGVmaW5lIGlzbF9zcGFjZV9jb3B5ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xf c3BhY2VfY29weSkKKysjZGVmaW5lIGlzbF9zcGFjZV9kaW0gKCppc2xfcG9pbnRlcnNfXy5wX2lz bF9zcGFjZV9kaW0pCisrI2RlZmluZSBpc2xfc3BhY2VfZG9tYWluICgqaXNsX3BvaW50ZXJzX18u cF9pc2xfc3BhY2VfZG9tYWluKQorKyNkZWZpbmUgaXNsX3NwYWNlX2ZpbmRfZGltX2J5X2lkICgq aXNsX3BvaW50ZXJzX18ucF9pc2xfc3BhY2VfZmluZF9kaW1fYnlfaWQpCisrI2RlZmluZSBpc2xf c3BhY2VfZnJlZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NwYWNlX2ZyZWUpCisrI2RlZmluZSBp c2xfc3BhY2VfZnJvbV9kb21haW4gKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zcGFjZV9mcm9tX2Rv bWFpbikKKysjZGVmaW5lIGlzbF9zcGFjZV9nZXRfdHVwbGVfaWQgKCppc2xfcG9pbnRlcnNfXy5w X2lzbF9zcGFjZV9nZXRfdHVwbGVfaWQpCisrI2RlZmluZSBpc2xfc3BhY2VfcGFyYW1zX2FsbG9j ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc3BhY2VfcGFyYW1zX2FsbG9jKQorKyNkZWZpbmUgaXNs X3NwYWNlX3JhbmdlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc3BhY2VfcmFuZ2UpCisrI2RlZmlu ZSBpc2xfc3BhY2Vfc2V0X2FsbG9jICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc3BhY2Vfc2V0X2Fs bG9jKQorKyNkZWZpbmUgaXNsX3NwYWNlX3NldF9kaW1faWQgKCppc2xfcG9pbnRlcnNfXy5wX2lz bF9zcGFjZV9zZXRfZGltX2lkKQorKyNkZWZpbmUgaXNsX3NwYWNlX3NldF90dXBsZV9pZCAoKmlz bF9wb2ludGVyc19fLnBfaXNsX3NwYWNlX3NldF90dXBsZV9pZCkKKysjZGVmaW5lIGlzbF91bmlv bl9tYXBfYWRkX21hcCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3VuaW9uX21hcF9hZGRfbWFwKQor KyNkZWZpbmUgaXNsX3VuaW9uX21hcF9hbGlnbl9wYXJhbXMgKCppc2xfcG9pbnRlcnNfXy5wX2lz bF91bmlvbl9tYXBfYWxpZ25fcGFyYW1zKQorKyNkZWZpbmUgaXNsX3VuaW9uX21hcF9hcHBseV9k b21haW4gKCppc2xfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9tYXBfYXBwbHlfZG9tYWluKQorKyNk ZWZpbmUgaXNsX3VuaW9uX21hcF9hcHBseV9yYW5nZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3Vu aW9uX21hcF9hcHBseV9yYW5nZSkKKysjZGVmaW5lIGlzbF91bmlvbl9tYXBfY29tcHV0ZV9mbG93 ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfdW5pb25fbWFwX2NvbXB1dGVfZmxvdykKKysjZGVmaW5l IGlzbF91bmlvbl9tYXBfY29weSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3VuaW9uX21hcF9jb3B5 KQorKyNkZWZpbmUgaXNsX3VuaW9uX21hcF9lbXB0eSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3Vu aW9uX21hcF9lbXB0eSkKKysjZGVmaW5lIGlzbF91bmlvbl9tYXBfZmxhdF9yYW5nZV9wcm9kdWN0 ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfdW5pb25fbWFwX2ZsYXRfcmFuZ2VfcHJvZHVjdCkKKysj ZGVmaW5lIGlzbF91bmlvbl9tYXBfZm9yZWFjaF9tYXAgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF91 bmlvbl9tYXBfZm9yZWFjaF9tYXApCisrI2RlZmluZSBpc2xfdW5pb25fbWFwX2ZyZWUgKCppc2xf cG9pbnRlcnNfXy5wX2lzbF91bmlvbl9tYXBfZnJlZSkKKysjZGVmaW5lIGlzbF91bmlvbl9tYXBf ZnJvbV9tYXAgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9tYXBfZnJvbV9tYXApCisrI2Rl ZmluZSBpc2xfdW5pb25fbWFwX2dldF9jdHggKCppc2xfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9t YXBfZ2V0X2N0eCkKKysjZGVmaW5lIGlzbF91bmlvbl9tYXBfZ2V0X3NwYWNlICgqaXNsX3BvaW50 ZXJzX18ucF9pc2xfdW5pb25fbWFwX2dldF9zcGFjZSkKKysjZGVmaW5lIGlzbF91bmlvbl9tYXBf Z2lzdF9kb21haW4gKCppc2xfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9tYXBfZ2lzdF9kb21haW4p CisrI2RlZmluZSBpc2xfdW5pb25fbWFwX2dpc3RfcmFuZ2UgKCppc2xfcG9pbnRlcnNfXy5wX2lz bF91bmlvbl9tYXBfZ2lzdF9yYW5nZSkKKysjZGVmaW5lIGlzbF91bmlvbl9tYXBfaW50ZXJzZWN0 X2RvbWFpbiAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3VuaW9uX21hcF9pbnRlcnNlY3RfZG9tYWlu KQorKyNkZWZpbmUgaXNsX3VuaW9uX21hcF9pc19lbXB0eSAoKmlzbF9wb2ludGVyc19fLnBfaXNs X3VuaW9uX21hcF9pc19lbXB0eSkKKysjZGVmaW5lIGlzbF91bmlvbl9tYXBfc3VidHJhY3QgKCpp c2xfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9tYXBfc3VidHJhY3QpCisrI2RlZmluZSBpc2xfdW5p b25fbWFwX3VuaW9uICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfdW5pb25fbWFwX3VuaW9uKQorKyNk ZWZpbmUgaXNsX3VuaW9uX3NldF9hZGRfc2V0ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfdW5pb25f c2V0X2FkZF9zZXQpCisrI2RlZmluZSBpc2xfdW5pb25fc2V0X2NvbXB1dGVfc2NoZWR1bGUgKCpp c2xfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9zZXRfY29tcHV0ZV9zY2hlZHVsZSkKKysjZGVmaW5l IGlzbF91bmlvbl9zZXRfY29weSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3VuaW9uX3NldF9jb3B5 KQorKyNkZWZpbmUgaXNsX3VuaW9uX3NldF9lbXB0eSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3Vu aW9uX3NldF9lbXB0eSkKKysjZGVmaW5lIGlzbF91bmlvbl9zZXRfZnJvbV9zZXQgKCppc2xfcG9p bnRlcnNfXy5wX2lzbF91bmlvbl9zZXRfZnJvbV9zZXQpCisrI2RlZmluZSBpc2xfYWZmX2FkZF9j b25zdGFudF92YWwgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9hZmZfYWRkX2NvbnN0YW50X3ZhbCkK KysjZGVmaW5lIGlzbF9hZmZfZ2V0X2NvZWZmaWNpZW50X3ZhbCAoKmlzbF9wb2ludGVyc19fLnBf aXNsX2FmZl9nZXRfY29lZmZpY2llbnRfdmFsKQorKyNkZWZpbmUgaXNsX2FmZl9nZXRfY3R4ICgq aXNsX3BvaW50ZXJzX18ucF9pc2xfYWZmX2dldF9jdHgpCisrI2RlZmluZSBpc2xfYWZmX21vZF92 YWwgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9hZmZfbW9kX3ZhbCkKKysjZGVmaW5lIGlzbF9hc3Rf YnVpbGRfYXN0X2Zyb21fc2NoZWR1bGUgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9hc3RfYnVpbGRf YXN0X2Zyb21fc2NoZWR1bGUpCisrI2RlZmluZSBpc2xfYXN0X2J1aWxkX2ZyZWUgKCppc2xfcG9p bnRlcnNfXy5wX2lzbF9hc3RfYnVpbGRfZnJlZSkKKysjZGVmaW5lIGlzbF9hc3RfYnVpbGRfZnJv bV9jb250ZXh0ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYXN0X2J1aWxkX2Zyb21fY29udGV4dCkK KysjZGVmaW5lIGlzbF9hc3RfYnVpbGRfZ2V0X2N0eCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2Fz dF9idWlsZF9nZXRfY3R4KQorKyNkZWZpbmUgaXNsX2FzdF9idWlsZF9nZXRfc2NoZWR1bGUgKCpp c2xfcG9pbnRlcnNfXy5wX2lzbF9hc3RfYnVpbGRfZ2V0X3NjaGVkdWxlKQorKyNkZWZpbmUgaXNs X2FzdF9idWlsZF9nZXRfc2NoZWR1bGVfc3BhY2UgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9hc3Rf YnVpbGRfZ2V0X3NjaGVkdWxlX3NwYWNlKQorKyNkZWZpbmUgaXNsX2FzdF9idWlsZF9zZXRfYmVm b3JlX2VhY2hfZm9yICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYXN0X2J1aWxkX3NldF9iZWZvcmVf ZWFjaF9mb3IpCisrI2RlZmluZSBpc2xfYXN0X2J1aWxkX3NldF9vcHRpb25zICgqaXNsX3BvaW50 ZXJzX18ucF9pc2xfYXN0X2J1aWxkX3NldF9vcHRpb25zKQorKyNkZWZpbmUgaXNsX2FzdF9leHBy X2ZyZWUgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9hc3RfZXhwcl9mcmVlKQorKyNkZWZpbmUgaXNs X2FzdF9leHByX2Zyb21fdmFsICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYXN0X2V4cHJfZnJvbV92 YWwpCisrI2RlZmluZSBpc2xfYXN0X2V4cHJfZ2V0X2N0eCAoKmlzbF9wb2ludGVyc19fLnBfaXNs X2FzdF9leHByX2dldF9jdHgpCisrI2RlZmluZSBpc2xfYXN0X2V4cHJfZ2V0X2lkICgqaXNsX3Bv aW50ZXJzX18ucF9pc2xfYXN0X2V4cHJfZ2V0X2lkKQorKyNkZWZpbmUgaXNsX2FzdF9leHByX2dl dF9vcF9hcmcgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9hc3RfZXhwcl9nZXRfb3BfYXJnKQorKyNk ZWZpbmUgaXNsX2FzdF9leHByX2dldF9vcF9uX2FyZyAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2Fz dF9leHByX2dldF9vcF9uX2FyZykKKysjZGVmaW5lIGlzbF9hc3RfZXhwcl9nZXRfb3BfdHlwZSAo KmlzbF9wb2ludGVyc19fLnBfaXNsX2FzdF9leHByX2dldF9vcF90eXBlKQorKyNkZWZpbmUgaXNs X2FzdF9leHByX2dldF90eXBlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYXN0X2V4cHJfZ2V0X3R5 cGUpCisrI2RlZmluZSBpc2xfYXN0X2V4cHJfZ2V0X3ZhbCAoKmlzbF9wb2ludGVyc19fLnBfaXNs X2FzdF9leHByX2dldF92YWwpCisrI2RlZmluZSBpc2xfYXN0X2V4cHJfc3ViICgqaXNsX3BvaW50 ZXJzX18ucF9pc2xfYXN0X2V4cHJfc3ViKQorKyNkZWZpbmUgaXNsX2FzdF9ub2RlX2Jsb2NrX2dl dF9jaGlsZHJlbiAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2FzdF9ub2RlX2Jsb2NrX2dldF9jaGls ZHJlbikKKysjZGVmaW5lIGlzbF9hc3Rfbm9kZV9mb3JfZ2V0X2JvZHkgKCppc2xfcG9pbnRlcnNf Xy5wX2lzbF9hc3Rfbm9kZV9mb3JfZ2V0X2JvZHkpCisrI2RlZmluZSBpc2xfYXN0X25vZGVfZm9y X2dldF9jb25kICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYXN0X25vZGVfZm9yX2dldF9jb25kKQor KyNkZWZpbmUgaXNsX2FzdF9ub2RlX2Zvcl9nZXRfaW5jICgqaXNsX3BvaW50ZXJzX18ucF9pc2xf YXN0X25vZGVfZm9yX2dldF9pbmMpCisrI2RlZmluZSBpc2xfYXN0X25vZGVfZm9yX2dldF9pbml0 ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYXN0X25vZGVfZm9yX2dldF9pbml0KQorKyNkZWZpbmUg aXNsX2FzdF9ub2RlX2Zvcl9nZXRfaXRlcmF0b3IgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9hc3Rf bm9kZV9mb3JfZ2V0X2l0ZXJhdG9yKQorKyNkZWZpbmUgaXNsX2FzdF9ub2RlX2ZyZWUgKCppc2xf cG9pbnRlcnNfXy5wX2lzbF9hc3Rfbm9kZV9mcmVlKQorKyNkZWZpbmUgaXNsX2FzdF9ub2RlX2dl dF9hbm5vdGF0aW9uICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYXN0X25vZGVfZ2V0X2Fubm90YXRp b24pCisrI2RlZmluZSBpc2xfYXN0X25vZGVfZ2V0X3R5cGUgKCppc2xfcG9pbnRlcnNfXy5wX2lz bF9hc3Rfbm9kZV9nZXRfdHlwZSkKKysjZGVmaW5lIGlzbF9hc3Rfbm9kZV9pZl9nZXRfY29uZCAo KmlzbF9wb2ludGVyc19fLnBfaXNsX2FzdF9ub2RlX2lmX2dldF9jb25kKQorKyNkZWZpbmUgaXNs X2FzdF9ub2RlX2lmX2dldF9lbHNlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYXN0X25vZGVfaWZf Z2V0X2Vsc2UpCisrI2RlZmluZSBpc2xfYXN0X25vZGVfaWZfZ2V0X3RoZW4gKCppc2xfcG9pbnRl cnNfXy5wX2lzbF9hc3Rfbm9kZV9pZl9nZXRfdGhlbikKKysjZGVmaW5lIGlzbF9hc3Rfbm9kZV9s aXN0X2ZyZWUgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9hc3Rfbm9kZV9saXN0X2ZyZWUpCisrI2Rl ZmluZSBpc2xfYXN0X25vZGVfbGlzdF9nZXRfYXN0X25vZGUgKCppc2xfcG9pbnRlcnNfXy5wX2lz bF9hc3Rfbm9kZV9saXN0X2dldF9hc3Rfbm9kZSkKKysjZGVmaW5lIGlzbF9hc3Rfbm9kZV9saXN0 X25fYXN0X25vZGUgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9hc3Rfbm9kZV9saXN0X25fYXN0X25v ZGUpCisrI2RlZmluZSBpc2xfYXN0X25vZGVfdXNlcl9nZXRfZXhwciAoKmlzbF9wb2ludGVyc19f LnBfaXNsX2FzdF9ub2RlX3VzZXJfZ2V0X2V4cHIpCisrI2RlZmluZSBpc2xfY29uc3RyYWludF9z ZXRfY29lZmZpY2llbnRfdmFsICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfY29uc3RyYWludF9zZXRf Y29lZmZpY2llbnRfdmFsKQorKyNkZWZpbmUgaXNsX2NvbnN0cmFpbnRfc2V0X2NvbnN0YW50X3Zh bCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2NvbnN0cmFpbnRfc2V0X2NvbnN0YW50X3ZhbCkKKysj ZGVmaW5lIGlzbF9pZF9nZXRfdXNlciAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2lkX2dldF91c2Vy KQorKyNkZWZpbmUgaXNsX2xvY2FsX3NwYWNlX2dldF9jdHggKCppc2xfcG9pbnRlcnNfXy5wX2lz bF9sb2NhbF9zcGFjZV9nZXRfY3R4KQorKyNkZWZpbmUgaXNsX21hcF9maXhfdmFsICgqaXNsX3Bv aW50ZXJzX18ucF9pc2xfbWFwX2ZpeF92YWwpCisrI2RlZmluZSBpc2xfb3B0aW9uc19zZXRfYXN0 X2J1aWxkX2F0b21pY191cHBlcl9ib3VuZCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX29wdGlvbnNf c2V0X2FzdF9idWlsZF9hdG9taWNfdXBwZXJfYm91bmQpCisrI2RlZmluZSBpc2xfcHJpbnRlcl9w cmludF9hc3Rfbm9kZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3ByaW50ZXJfcHJpbnRfYXN0X25v ZGUpCisrI2RlZmluZSBpc2xfcHJpbnRlcl9wcmludF9zdHIgKCppc2xfcG9pbnRlcnNfXy5wX2lz bF9wcmludGVyX3ByaW50X3N0cikKKysjZGVmaW5lIGlzbF9wcmludGVyX3NldF9vdXRwdXRfZm9y bWF0ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfcHJpbnRlcl9zZXRfb3V0cHV0X2Zvcm1hdCkKKysj ZGVmaW5lIGlzbF9wd19hZmZfbW9kX3ZhbCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3B3X2FmZl9t b2RfdmFsKQorKyNkZWZpbmUgaXNsX3NjaGVkdWxlX2NvbnN0cmFpbnRzX2NvbXB1dGVfc2NoZWR1 bGUgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zY2hlZHVsZV9jb25zdHJhaW50c19jb21wdXRlX3Nj aGVkdWxlKQorKyNkZWZpbmUgaXNsX3NjaGVkdWxlX2NvbnN0cmFpbnRzX29uX2RvbWFpbiAoKmlz bF9wb2ludGVyc19fLnBfaXNsX3NjaGVkdWxlX2NvbnN0cmFpbnRzX29uX2RvbWFpbikKKysjZGVm aW5lIGlzbF9zY2hlZHVsZV9jb25zdHJhaW50c19zZXRfY29pbmNpZGVuY2UgKCppc2xfcG9pbnRl cnNfXy5wX2lzbF9zY2hlZHVsZV9jb25zdHJhaW50c19zZXRfY29pbmNpZGVuY2UpCisrI2RlZmlu ZSBpc2xfc2NoZWR1bGVfY29uc3RyYWludHNfc2V0X3Byb3hpbWl0eSAoKmlzbF9wb2ludGVyc19f LnBfaXNsX3NjaGVkdWxlX2NvbnN0cmFpbnRzX3NldF9wcm94aW1pdHkpCisrI2RlZmluZSBpc2xf c2NoZWR1bGVfY29uc3RyYWludHNfc2V0X3ZhbGlkaXR5ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xf c2NoZWR1bGVfY29uc3RyYWludHNfc2V0X3ZhbGlkaXR5KQorKyNkZWZpbmUgaXNsX3NldF9nZXRf ZGltX2lkICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc2V0X2dldF9kaW1faWQpCisrI2RlZmluZSBp c2xfc2V0X21heF92YWwgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zZXRfbWF4X3ZhbCkKKysjZGVm aW5lIGlzbF9zZXRfbWluX3ZhbCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NldF9taW5fdmFsKQor KyNkZWZpbmUgaXNsX3NldF9wYXJhbXMgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zZXRfcGFyYW1z KQorKyNkZWZpbmUgaXNsX3NwYWNlX2FsaWduX3BhcmFtcyAoKmlzbF9wb2ludGVyc19fLnBfaXNs X3NwYWNlX2FsaWduX3BhcmFtcykKKysjZGVmaW5lIGlzbF9zcGFjZV9tYXBfZnJvbV9kb21haW5f YW5kX3JhbmdlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc3BhY2VfbWFwX2Zyb21fZG9tYWluX2Fu ZF9yYW5nZSkKKysjZGVmaW5lIGlzbF9zcGFjZV9zZXRfdHVwbGVfbmFtZSAoKmlzbF9wb2ludGVy c19fLnBfaXNsX3NwYWNlX3NldF90dXBsZV9uYW1lKQorKyNkZWZpbmUgaXNsX3NwYWNlX3dyYXAg KCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zcGFjZV93cmFwKQorKyNkZWZpbmUgaXNsX3VuaW9uX21h cF9mcm9tX2RvbWFpbl9hbmRfcmFuZ2UgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9tYXBf ZnJvbV9kb21haW5fYW5kX3JhbmdlKQorKyNkZWZpbmUgaXNsX3VuaW9uX21hcF9yYW5nZSAoKmlz bF9wb2ludGVyc19fLnBfaXNsX3VuaW9uX21hcF9yYW5nZSkKKysjZGVmaW5lIGlzbF91bmlvbl9z ZXRfdW5pb24gKCppc2xfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9zZXRfdW5pb24pCisrI2RlZmlu ZSBpc2xfdW5pb25fc2V0X3VuaXZlcnNlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfdW5pb25fc2V0 X3VuaXZlcnNlKQorKyNkZWZpbmUgaXNsX3ZhbF8yZXhwICgqaXNsX3BvaW50ZXJzX18ucF9pc2xf dmFsXzJleHApCisrI2RlZmluZSBpc2xfdmFsX2FkZF91aSAoKmlzbF9wb2ludGVyc19fLnBfaXNs X3ZhbF9hZGRfdWkpCisrI2RlZmluZSBpc2xfdmFsX2NvcHkgKCppc2xfcG9pbnRlcnNfXy5wX2lz bF92YWxfY29weSkKKysjZGVmaW5lIGlzbF92YWxfZnJlZSAoKmlzbF9wb2ludGVyc19fLnBfaXNs X3ZhbF9mcmVlKQorKyNkZWZpbmUgaXNsX3ZhbF9nZXRfbnVtX2dtcCAoKmlzbF9wb2ludGVyc19f LnBfaXNsX3ZhbF9nZXRfbnVtX2dtcCkKKysjZGVmaW5lIGlzbF92YWxfaW50X2Zyb21fZ21wICgq aXNsX3BvaW50ZXJzX18ucF9pc2xfdmFsX2ludF9mcm9tX2dtcCkKKysjZGVmaW5lIGlzbF92YWxf aW50X2Zyb21fc2kgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF92YWxfaW50X2Zyb21fc2kpCisrI2Rl ZmluZSBpc2xfdmFsX2ludF9mcm9tX3VpICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfdmFsX2ludF9m cm9tX3VpKQorKyNkZWZpbmUgaXNsX3ZhbF9tdWwgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF92YWxf bXVsKQorKyNkZWZpbmUgaXNsX3ZhbF9uZWcgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF92YWxfbmVn KQorKyNkZWZpbmUgaXNsX3ZhbF9zdWIgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF92YWxfc3ViKQor KworIHR5cGVkZWYgc3RydWN0IHBvbHlfZHIgKnBvbHlfZHJfcDsKKyAKKyB0eXBlZGVmIHN0cnVj dCBwb2x5X2JiICpwb2x5X2JiX3A7CistLS0gZ2NjL2dyYXBoaXRlLmMuamoJMjAxMi0xMi0xMyAx MTozMTowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnY2MvZ3JhcGhpdGUuYwkyMDEyLTEyLTE0IDEz OjQwOjQ0LjE1NTEzNjk2MSArMDEwMAorQEAgLTkwLDYgKzkwLDM0IEBAIGFsb25nIHdpdGggR0ND OyBzZWUgdGhlIGZpbGUgQ09QWUlORzMuCisgI2luY2x1ZGUgImdyYXBoaXRlLWlzbC1hc3QtdG8t Z2ltcGxlLmgiCisgI2luY2x1ZGUgImdyYXBoaXRlLXNlc2UtdG8tcG9seS5oIgorIAorK19fdHlw ZW9mIChpc2xfcG9pbnRlcnNfXykgaXNsX3BvaW50ZXJzX187CisrCisrc3RhdGljIGJvb2wKKytp bml0X2lzbF9wb2ludGVycyAodm9pZCkKKyt7CisrICB2b2lkICpoOworKworKyAgaWYgKGlzbF9w b2ludGVyc19fLmluaXRlZCkKKysgICAgcmV0dXJuIGlzbF9wb2ludGVyc19fLmggIT0gTlVMTDsK KysgIGggPSBkbG9wZW4gKCJsaWJpc2wuc28uMTMiLCBSVExEX0xBWlkpOworKyAgaXNsX3BvaW50 ZXJzX18uaCA9IGg7CisrICBpZiAoaCA9PSBOVUxMKQorKyAgICByZXR1cm4gZmFsc2U7CisrI2Rl ZmluZSBEWU5TWU0oeCkgXAorKyAgZG8gXAorKyAgICB7IFwKKysgICAgICB1bmlvbiB7IF9fdHlw ZW9mIChpc2xfcG9pbnRlcnNfXy5wXyMjeCkgcDsgdm9pZCAqcTsgfSB1OyBcCisrICAgICAgdS5x ID0gZGxzeW0gKGgsICN4KTsgXAorKyAgICAgIGlmICh1LnEgPT0gTlVMTCkgXAorKwlyZXR1cm4g ZmFsc2U7IFwKKysgICAgICBpc2xfcG9pbnRlcnNfXy5wXyMjeCA9IHUucDsgXAorKyAgICB9IFwK KysgIHdoaWxlICgwKQorKyAgRFlOU1lNUworKyN1bmRlZiBEWU5TWU0KKysgIHJldHVybiB0cnVl OworK30KKysKKyAvKiBQcmludCBnbG9iYWwgc3RhdGlzdGljcyB0byBGSUxFLiAgKi8KKyAKKyBz dGF0aWMgdm9pZAorQEAgLTI4NSw2ICszMTMsMTUgQEAgZ3JhcGhpdGVfdHJhbnNmb3JtX2xvb3Bz ICh2b2lkKQorICAgaWYgKHBhcmFsbGVsaXplZF9mdW5jdGlvbl9wIChjZnVuLT5kZWNsKSkKKyAg ICAgcmV0dXJuOworIAorKyAgaWYgKG51bWJlcl9vZl9sb29wcyAoY2Z1bikgPD0gMSkKKysgICAg cmV0dXJuOworKworKyAgaWYgKCFpbml0X2lzbF9wb2ludGVycyAoKSkKKysgICAgeworKyAgICAg IHNvcnJ5ICgiR3JhcGhpdGUgbG9vcCBvcHRpbWl6YXRpb25zIGNhbm5vdCBiZSB1c2VkIik7Cisr ICAgICAgcmV0dXJuOworKyAgICB9CisrCisgICBjdHggPSBpc2xfY3R4X2FsbG9jICgpOworICAg aXNsX29wdGlvbnNfc2V0X29uX2Vycm9yIChjdHgsIElTTF9PTl9FUlJPUl9BQk9SVCk7CisgICBp ZiAoIWdyYXBoaXRlX2luaXRpYWxpemUgKGN0eCkpCgpkaWZmIC0tZ2l0IGEvZ2NjNS1qYXZhLW5v bXVsdGkucGF0Y2ggYi9nY2M1LWphdmEtbm9tdWx0aS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwLi4xNzMzNGFhCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjNS1qYXZhLW5v bXVsdGkucGF0Y2gKQEAgLTAsMCArMSw0NCBAQAorLS0tIGxpYmphdmEvY29uZmlndXJlLmFjLmpq CTIwMDctMTItMDcgMTc6NTU6NTAuMDAwMDAwMDAwICswMTAwCisrKysgbGliamF2YS9jb25maWd1 cmUuYWMJMjAwNy0xMi0wNyAxODozNjo1Ni4wMDAwMDAwMDAgKzAxMDAKK0BAIC04Miw2ICs4Miwx MyBAQCBBQ19BUkdfRU5BQkxFKGphdmEtbWFpbnRhaW5lci1tb2RlLAorIAlbYWxsb3cgcmVidWls ZGluZyBvZiAuY2xhc3MgYW5kIC5oIGZpbGVzXSkpCisgQU1fQ09ORElUSU9OQUwoSkFWQV9NQUlO VEFJTkVSX01PREUsIHRlc3QgIiRlbmFibGVfamF2YV9tYWludGFpbmVyX21vZGUiID0geWVzKQor IAorK0FDX0FSR19FTkFCTEUobGliamF2YS1tdWx0aWxpYiwKKysJQVNfSEVMUF9TVFJJTkcoWy0t ZW5hYmxlLWxpYmphdmEtbXVsdGlsaWJdLCBbYnVpbGQgbGliamF2YSBhcyBtdWx0aWxpYl0pKQor K2lmIHRlc3QgIiRlbmFibGVfbGliamF2YV9tdWx0aWxpYiIgPSBubzsgdGhlbgorKyAgbXVsdGls aWI9bm8KKysgIGFjX2NvbmZpZ3VyZV9hcmdzPSIkYWNfY29uZmlndXJlX2FyZ3MgLS1kaXNhYmxl LW11bHRpbGliIgorK2ZpCisrCisgIyBJdCBtYXkgbm90IGJlIHNhZmUgdG8gcnVuIGxpbmtpbmcg dGVzdHMgaW4gQUNfUFJPR19DQy9BQ19QUk9HX0NYWC4KKyBHQ0NfTk9fRVhFQ1VUQUJMRVMKKyAK Ky0tLSBsaWJqYXZhL2NvbmZpZ3VyZS5qagkyMDA3LTEyLTA3IDE3OjU1OjUwLjAwMDAwMDAwMCAr MDEwMAorKysrIGxpYmphdmEvY29uZmlndXJlCTIwMDctMTItMDcgMTg6Mzk6NTguMDAwMDAwMDAw ICswMTAwCitAQCAtMTAyMSw2ICsxMDIxLDggQEAgT3B0aW9uYWwgRmVhdHVyZXM6CisgICAgICAg ICAgICAgICAgICAgICAgICAgICBkZWZhdWx0PXllcworICAgLS1lbmFibGUtamF2YS1tYWludGFp bmVyLW1vZGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsbG93IHJlYnVpbGRpbmcgb2Yg LmNsYXNzIGFuZCAuaCBmaWxlcworKyAgLS1lbmFibGUtbGliamF2YS1tdWx0aWxpYgorKyAgICAg ICAgICAgICAgICAgICAgICAgICAgYnVpbGQgbGliamF2YSBhcyBtdWx0aWxpYgorICAgLS1kaXNh YmxlLWRlcGVuZGVuY3ktdHJhY2tpbmcgIHNwZWVkcyB1cCBvbmUtdGltZSBidWlsZAorICAgLS1l bmFibGUtZGVwZW5kZW5jeS10cmFja2luZyAgIGRvIG5vdCByZWplY3Qgc2xvdyBkZXBlbmRlbmN5 IGV4dHJhY3RvcnMKKyAgIC0tZW5hYmxlLW1haW50YWluZXItbW9kZSAgZW5hYmxlIG1ha2UgcnVs ZXMgYW5kIGRlcGVuZGVuY2llcyBub3QgdXNlZnVsCitAQCAtMTk3Myw2ICsxOTc1LDE2IEBAIGVs c2UKKyBmaQorIAorIAorKyMgQ2hlY2sgd2hldGhlciAtLWVuYWJsZS1saWJqYXZhLW11bHRpbGli IHdhcyBnaXZlbi4KKytpZiB0ZXN0ICIke2VuYWJsZV9saWJqYXZhX211bHRpbGliK3NldH0iID0g c2V0OyB0aGVuCisrICBlbmFibGV2YWw9JGVuYWJsZV9saWJqYXZhX211bHRpbGliOworK2ZpCisr CisraWYgdGVzdCAiJGVuYWJsZV9saWJqYXZhX211bHRpbGliIiA9IG5vOyB0aGVuCisrICBtdWx0 aWxpYj1ubworKyAgYWNfY29uZmlndXJlX2FyZ3M9IiRhY19jb25maWd1cmVfYXJncyAtLWRpc2Fi bGUtbXVsdGlsaWIiCisrZmkKKysKKyAjIEl0IG1heSBub3QgYmUgc2FmZSB0byBydW4gbGlua2lu ZyB0ZXN0cyBpbiBBQ19QUk9HX0NDL0FDX1BST0dfQ1hYLgorIAorIAoKZGlmZiAtLWdpdCBhL2dj YzUtbGliZ28tcDIyNC5wYXRjaCBiL2djYzUtbGliZ28tcDIyNC5wYXRjaApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwLi40MzUwOWIxCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjNS1s aWJnby1wMjI0LnBhdGNoCkBAIC0wLDAgKzEsMTA5MyBAQAorLS0tIGxpYmdvL01ha2VmaWxlLmFt LmpqCTIwMTQtMDEtMDggMTM6NTM6MDYuMDAwMDAwMDAwICswMTAwCisrKysgbGliZ28vTWFrZWZp bGUuYW0JMjAxNC0wMy0wNSAxNToyMDowOS45Mzg0NjYwOTMgKzAxMDAKK0BAIC0xMTMzLDcgKzEx MzMsNiBAQCBnb19jcnlwdG9fZWNkc2FfZmlsZXMgPSBcCisgCWdvL2NyeXB0by9lY2RzYS9lY2Rz YS5nbworIGdvX2NyeXB0b19lbGxpcHRpY19maWxlcyA9IFwKKyAJZ28vY3J5cHRvL2VsbGlwdGlj L2VsbGlwdGljLmdvIFwKKy0JZ28vY3J5cHRvL2VsbGlwdGljL3AyMjQuZ28gXAorIAlnby9jcnlw dG8vZWxsaXB0aWMvcDI1Ni5nbworIGdvX2NyeXB0b19obWFjX2ZpbGVzID0gXAorIAlnby9jcnlw dG8vaG1hYy9obWFjLmdvCistLS0gbGliZ28vTWFrZWZpbGUuaW4uamoJMjAxNC0wMS0wOCAxMzo1 MzowNi4wMDAwMDAwMDAgKzAxMDAKKysrKyBsaWJnby9NYWtlZmlsZS5pbgkyMDE0LTAzLTA1IDE1 OjIwOjIwLjM3MjQ2NTQ3MSArMDEwMAorQEAgLTEyOTEsNyArMTI5MSw2IEBAIGdvX2NyeXB0b19l Y2RzYV9maWxlcyA9IFwKKyAKKyBnb19jcnlwdG9fZWxsaXB0aWNfZmlsZXMgPSBcCisgCWdvL2Ny eXB0by9lbGxpcHRpYy9lbGxpcHRpYy5nbyBcCistCWdvL2NyeXB0by9lbGxpcHRpYy9wMjI0Lmdv IFwKKyAJZ28vY3J5cHRvL2VsbGlwdGljL3AyNTYuZ28KKyAKKyBnb19jcnlwdG9faG1hY19maWxl cyA9IFwKKy0tLSBsaWJnby9nby9jcnlwdG8vZWxsaXB0aWMvZWxsaXB0aWMuZ28uamoJMjAxMy0x MS0wNyAxMTo1OTowOS4wMDAwMDAwMDAgKzAxMDAKKysrKyBsaWJnby9nby9jcnlwdG8vZWxsaXB0 aWMvZWxsaXB0aWMuZ28JMjAxNC0wMy0wNSAxNToyMTowNC4xODY0NjI4NTkgKzAxMDAKK0BAIC0z MjYsNyArMzI2LDYgQEAgdmFyIHAzODQgKkN1cnZlUGFyYW1zCisgdmFyIHA1MjEgKkN1cnZlUGFy YW1zCisgCisgZnVuYyBpbml0QWxsKCkgeworLQlpbml0UDIyNCgpCisgCWluaXRQMjU2KCkKKyAJ aW5pdFAzODQoKQorIAlpbml0UDUyMSgpCistLS0gbGliZ28vZ28vY3J5cHRvL2VsbGlwdGljL2Vs bGlwdGljX3Rlc3QuZ28uamoJMjAxMy0xMS0wNyAxMTo1OTowOS4wMDAwMDAwMDAgKzAxMDAKKysr KyBsaWJnby9nby9jcnlwdG8vZWxsaXB0aWMvZWxsaXB0aWNfdGVzdC5nbwkyMDE0LTAzLTA1IDE1 OjQ2OjAzLjczOTM3MzQ1MyArMDEwMAorQEAgLTUsMjYgKzUsMTYgQEAKKyBwYWNrYWdlIGVsbGlw dGljCisgCisgaW1wb3J0ICgKKy0JImNyeXB0by9yYW5kIgorLQkiZW5jb2RpbmcvaGV4IgorLQki Zm10IgorIAkibWF0aC9iaWciCisgCSJ0ZXN0aW5nIgorICkKKyAKKy1mdW5jIFRlc3RPbkN1cnZl KHQgKnRlc3RpbmcuVCkgeworLQlwMjI0IDo9IFAyMjQoKQorLQlpZiAhcDIyNC5Jc09uQ3VydmUo cDIyNC5QYXJhbXMoKS5HeCwgcDIyNC5QYXJhbXMoKS5HeSkgeworLQkJdC5FcnJvcmYoIkZBSUwi KQorLQl9CistfQorLQorIHR5cGUgYmFzZU11bHRUZXN0IHN0cnVjdCB7CisgCWsgICAgc3RyaW5n CisgCXgsIHkgc3RyaW5nCisgfQorIAorLXZhciBwMjI0QmFzZU11bHRUZXN0cyA9IFtdYmFzZU11 bHRUZXN0eworK3ZhciBwMjU2QmFzZU11bHRUZXN0cyA9IFtdYmFzZU11bHRUZXN0eworIAl7Cisg CQkiMSIsCisgCQkiYjcwZTBjYmQ2YmI0YmY3ZjMyMTM5MGI5NGEwM2MxZDM1NmMyMTEyMjM0MzI4 MGQ2MTE1YzFkMjEiLAorQEAgLTI4Nyw0NyArMjc3LDEyIEBAIHZhciBwMjI0QmFzZU11bHRUZXN0 cyA9IFtdYmFzZU11bHRUZXN0eworIAl9LAorIH0KKyAKKy1mdW5jIFRlc3RCYXNlTXVsdCh0ICp0 ZXN0aW5nLlQpIHsKKy0JcDIyNCA6PSBQMjI0KCkKKy0JZm9yIGksIGUgOj0gcmFuZ2UgcDIyNEJh c2VNdWx0VGVzdHMgeworLQkJaywgb2sgOj0gbmV3KGJpZy5JbnQpLlNldFN0cmluZyhlLmssIDEw KQorLQkJaWYgIW9rIHsKKy0JCQl0LkVycm9yZigiJWQ6IGJhZCB2YWx1ZSBmb3IgazogJXMiLCBp LCBlLmspCistCQl9CistCQl4LCB5IDo9IHAyMjQuU2NhbGFyQmFzZU11bHQoay5CeXRlcygpKQor LQkJaWYgZm10LlNwcmludGYoIiV4IiwgeCkgIT0gZS54IHx8IGZtdC5TcHJpbnRmKCIleCIsIHkp ICE9IGUueSB7CistCQkJdC5FcnJvcmYoIiVkOiBiYWQgb3V0cHV0IGZvciBrPSVzOiBnb3QgKCV4 LCAleCksIHdhbnQgKCVzLCAlcykiLCBpLCBlLmssIHgsIHksIGUueCwgZS55KQorLQkJfQorLQkJ aWYgdGVzdGluZy5TaG9ydCgpICYmIGkgPiA1IHsKKy0JCQlicmVhaworLQkJfQorLQl9CistfQor LQorLWZ1bmMgVGVzdEdlbmVyaWNCYXNlTXVsdCh0ICp0ZXN0aW5nLlQpIHsKKy0JLy8gV2UgdXNl IHRoZSBQMjI0IEN1cnZlUGFyYW1zIGRpcmVjdGx5IGluIG9yZGVyIHRvIHRlc3QgdGhlIGdlbmVy aWMgaW1wbGVtZW50YXRpb24uCistCXAyMjQgOj0gUDIyNCgpLlBhcmFtcygpCistCWZvciBpLCBl IDo9IHJhbmdlIHAyMjRCYXNlTXVsdFRlc3RzIHsKKy0JCWssIG9rIDo9IG5ldyhiaWcuSW50KS5T ZXRTdHJpbmcoZS5rLCAxMCkKKy0JCWlmICFvayB7CistCQkJdC5FcnJvcmYoIiVkOiBiYWQgdmFs dWUgZm9yIGs6ICVzIiwgaSwgZS5rKQorLQkJfQorLQkJeCwgeSA6PSBwMjI0LlNjYWxhckJhc2VN dWx0KGsuQnl0ZXMoKSkKKy0JCWlmIGZtdC5TcHJpbnRmKCIleCIsIHgpICE9IGUueCB8fCBmbXQu U3ByaW50ZigiJXgiLCB5KSAhPSBlLnkgeworLQkJCXQuRXJyb3JmKCIlZDogYmFkIG91dHB1dCBm b3Igaz0lczogZ290ICgleCwgJXgpLCB3YW50ICglcywgJXMpIiwgaSwgZS5rLCB4LCB5LCBlLngs IGUueSkKKy0JCX0KKy0JCWlmIHRlc3RpbmcuU2hvcnQoKSAmJiBpID4gNSB7CistCQkJYnJlYWsK Ky0JCX0KKy0JfQorLX0KKy0KKyBmdW5jIFRlc3RQMjU2QmFzZU11bHQodCAqdGVzdGluZy5UKSB7 CisgCXAyNTYgOj0gUDI1NigpCisgCXAyNTZHZW5lcmljIDo9IHAyNTYuUGFyYW1zKCkKKyAKKy0J c2NhbGFycyA6PSBtYWtlKFtdKmJpZy5JbnQsIDAsIGxlbihwMjI0QmFzZU11bHRUZXN0cykrMSkK Ky0JZm9yIF8sIGUgOj0gcmFuZ2UgcDIyNEJhc2VNdWx0VGVzdHMgeworKwlzY2FsYXJzIDo9IG1h a2UoW10qYmlnLkludCwgMCwgbGVuKHAyNTZCYXNlTXVsdFRlc3RzKSsxKQorKwlmb3IgXywgZSA6 PSByYW5nZSBwMjU2QmFzZU11bHRUZXN0cyB7CisgCQlrLCBfIDo9IG5ldyhiaWcuSW50KS5TZXRT dHJpbmcoZS5rLCAxMCkKKyAJCXNjYWxhcnMgPSBhcHBlbmQoc2NhbGFycywgaykKKyAJfQorQEAg LTM1Miw3ICszMDcsNyBAQCBmdW5jIFRlc3RQMjU2TXVsdCh0ICp0ZXN0aW5nLlQpIHsKKyAJcDI1 NiA6PSBQMjU2KCkKKyAJcDI1NkdlbmVyaWMgOj0gcDI1Ni5QYXJhbXMoKQorIAorLQlmb3IgaSwg ZSA6PSByYW5nZSBwMjI0QmFzZU11bHRUZXN0cyB7CisrCWZvciBpLCBlIDo9IHJhbmdlIHAyNTZC YXNlTXVsdFRlc3RzIHsKKyAJCXgsIF8gOj0gbmV3KGJpZy5JbnQpLlNldFN0cmluZyhlLngsIDE2 KQorIAkJeSwgXyA6PSBuZXcoYmlnLkludCkuU2V0U3RyaW5nKGUueSwgMTYpCisgCQlrLCBfIDo9 IG5ldyhiaWcuSW50KS5TZXRTdHJpbmcoZS5rLCAxMCkKK0BAIC0zNzMsNyArMzI4LDYgQEAgZnVu YyBUZXN0SW5maW5pdHkodCAqdGVzdGluZy5UKSB7CisgCQluYW1lICBzdHJpbmcKKyAJCWN1cnZl IEN1cnZlCisgCX17CistCQl7InAyMjQiLCBQMjI0KCl9LAorIAkJeyJwMjU2IiwgUDI1NigpfSwK KyAJfQorIAorQEAgLTQwNiw1MyArMzYwLDEzIEBAIGZ1bmMgVGVzdEluZmluaXR5KHQgKnRlc3Rp bmcuVCkgeworIAl9CisgfQorIAorLWZ1bmMgQmVuY2htYXJrQmFzZU11bHQoYiAqdGVzdGluZy5C KSB7CistCWIuUmVzZXRUaW1lcigpCistCXAyMjQgOj0gUDIyNCgpCistCWUgOj0gcDIyNEJhc2VN dWx0VGVzdHNbMjVdCistCWssIF8gOj0gbmV3KGJpZy5JbnQpLlNldFN0cmluZyhlLmssIDEwKQor LQliLlN0YXJ0VGltZXIoKQorLQlmb3IgaSA6PSAwOyBpIDwgYi5OOyBpKysgeworLQkJcDIyNC5T Y2FsYXJCYXNlTXVsdChrLkJ5dGVzKCkpCistCX0KKy19CistCisgZnVuYyBCZW5jaG1hcmtCYXNl TXVsdFAyNTYoYiAqdGVzdGluZy5CKSB7CisgCWIuUmVzZXRUaW1lcigpCisgCXAyNTYgOj0gUDI1 NigpCistCWUgOj0gcDIyNEJhc2VNdWx0VGVzdHNbMjVdCisrCWUgOj0gcDI1NkJhc2VNdWx0VGVz dHNbMjVdCisgCWssIF8gOj0gbmV3KGJpZy5JbnQpLlNldFN0cmluZyhlLmssIDEwKQorIAliLlN0 YXJ0VGltZXIoKQorIAlmb3IgaSA6PSAwOyBpIDwgYi5OOyBpKysgeworIAkJcDI1Ni5TY2FsYXJC YXNlTXVsdChrLkJ5dGVzKCkpCisgCX0KKyB9CistCistZnVuYyBUZXN0TWFyc2hhbCh0ICp0ZXN0 aW5nLlQpIHsKKy0JcDIyNCA6PSBQMjI0KCkKKy0JXywgeCwgeSwgZXJyIDo9IEdlbmVyYXRlS2V5 KHAyMjQsIHJhbmQuUmVhZGVyKQorLQlpZiBlcnIgIT0gbmlsIHsKKy0JCXQuRXJyb3IoZXJyKQor LQkJcmV0dXJuCistCX0KKy0Jc2VyaWFsaXplZCA6PSBNYXJzaGFsKHAyMjQsIHgsIHkpCistCXh4 LCB5eSA6PSBVbm1hcnNoYWwocDIyNCwgc2VyaWFsaXplZCkKKy0JaWYgeHggPT0gbmlsIHsKKy0J CXQuRXJyb3IoImZhaWxlZCB0byB1bm1hcnNoYWwiKQorLQkJcmV0dXJuCistCX0KKy0JaWYgeHgu Q21wKHgpICE9IDAgfHwgeXkuQ21wKHkpICE9IDAgeworLQkJdC5FcnJvcigidW5tYXJzaGFsIHJl dHVybmVkIGRpZmZlcmVudCB2YWx1ZXMiKQorLQkJcmV0dXJuCistCX0KKy19CistCistZnVuYyBU ZXN0UDIyNE92ZXJmbG93KHQgKnRlc3RpbmcuVCkgeworLQkvLyBUaGlzIHRlc3RzIGZvciBhIHNw ZWNpZmljIGJ1ZyBpbiB0aGUgUDIyNCBpbXBsZW1lbnRhdGlvbi4KKy0JcDIyNCA6PSBQMjI0KCkK Ky0JcG9pbnREYXRhLCBfIDo9IGhleC5EZWNvZGVTdHJpbmcoIjA0OUI1MzVCNDVGQjBBMjA3MjM5 OEE2ODMxODM0NjI0QzdFMzJDQ0ZENUE0QjkzM0JDRUFGNzdGMUREOTQ1RTA4QkJFNTE3OEY1RURG NUU3MzMzODhGMTk2RDJBNjMxRDJFMDc1QkIxNkNCRkVFQTE1QiIpCistCXgsIHkgOj0gVW5tYXJz aGFsKHAyMjQsIHBvaW50RGF0YSkKKy0JaWYgIXAyMjQuSXNPbkN1cnZlKHgsIHkpIHsKKy0JCXQu RXJyb3IoIlAyMjQgZmFpbGVkIHRvIHZhbGlkYXRlIGEgY29ycmVjdCBwb2ludCIpCistCX0KKy19 CistLS0gbGliZ28vZ28vY3J5cHRvL2VjZHNhL2VjZHNhX3Rlc3QuZ28uamoJMjAxMi0xMS0xNSAx ODoyNjo1Ni4wMDAwMDAwMDAgKzAxMDAKKysrKyBsaWJnby9nby9jcnlwdG8vZWNkc2EvZWNkc2Ff dGVzdC5nbwkyMDE0LTAzLTA1IDE1OjI2OjM4LjQ2MTQ0MjkyOSArMDEwMAorQEAgLTMzLDcgKzMz LDYgQEAgZnVuYyB0ZXN0S2V5R2VuZXJhdGlvbih0ICp0ZXN0aW5nLlQsIGMgZQorIH0KKyAKKyBm dW5jIFRlc3RLZXlHZW5lcmF0aW9uKHQgKnRlc3RpbmcuVCkgeworLQl0ZXN0S2V5R2VuZXJhdGlv bih0LCBlbGxpcHRpYy5QMjI0KCksICJwMjI0IikKKyAJaWYgdGVzdGluZy5TaG9ydCgpIHsKKyAJ CXJldHVybgorIAl9CitAQCAtNjMsNyArNjIsNiBAQCBmdW5jIHRlc3RTaWduQW5kVmVyaWZ5KHQg KnRlc3RpbmcuVCwgYyBlCisgfQorIAorIGZ1bmMgVGVzdFNpZ25BbmRWZXJpZnkodCAqdGVzdGlu Zy5UKSB7CistCXRlc3RTaWduQW5kVmVyaWZ5KHQsIGVsbGlwdGljLlAyMjQoKSwgInAyMjQiKQor IAlpZiB0ZXN0aW5nLlNob3J0KCkgeworIAkJcmV0dXJuCisgCX0KK0BAIC0xMjksOCArMTI3LDYg QEAgZnVuYyBUZXN0VmVjdG9ycyh0ICp0ZXN0aW5nLlQpIHsKKyAJCQlwYXJ0cyA6PSBzdHJpbmdz LlNwbGl0TihsaW5lLCAiLCIsIDIpCisgCisgCQkJc3dpdGNoIHBhcnRzWzBdIHsKKy0JCQljYXNl ICJQLTIyNCI6CistCQkJCXB1Yi5DdXJ2ZSA9IGVsbGlwdGljLlAyMjQoKQorIAkJCWNhc2UgIlAt MjU2IjoKKyAJCQkJcHViLkN1cnZlID0gZWxsaXB0aWMuUDI1NigpCisgCQkJY2FzZSAiUC0zODQi OgorLS0tIGxpYmdvL2dvL2NyeXB0by94NTA5L3g1MDkuZ28uamoJMjAxMy0xMS0wNyAxMTo1OTow OS4wMDAwMDAwMDAgKzAxMDAKKysrKyBsaWJnby9nby9jcnlwdG8veDUwOS94NTA5LmdvCTIwMTQt MDMtMDUgMTU6Mjc6MzcuMDIyNDM5NDM3ICswMTAwCitAQCAtMzA2LDkgKzMwNiw2IEBAIGZ1bmMg Z2V0UHVibGljS2V5QWxnb3JpdGhtRnJvbU9JRChvaWQgYXMKKyAKKyAvLyBSRkMgNTQ4MCwgMi4x LjEuMS4gTmFtZWQgQ3VydmUKKyAvLworLS8vIHNlY3AyMjRyMSBPQkpFQ1QgSURFTlRJRklFUiA6 Oj0geworLS8vICAgaXNvKDEpIGlkZW50aWZpZWQtb3JnYW5pemF0aW9uKDMpIGNlcnRpY29tKDEz MikgY3VydmUoMCkgMzMgfQorLS8vCisgLy8gc2VjcDI1NnIxIE9CSkVDVCBJREVOVElGSUVSIDo6 PSB7CisgLy8gICBpc28oMSkgbWVtYmVyLWJvZHkoMikgdXMoODQwKSBhbnNpLVg5LTYyKDEwMDQ1 KSBjdXJ2ZXMoMykKKyAvLyAgIHByaW1lKDEpIDcgfQorQEAgLTMyMSw3ICszMTgsNiBAQCBmdW5j IGdldFB1YmxpY0tleUFsZ29yaXRobUZyb21PSUQob2lkIGFzCisgLy8KKyAvLyBOQjogc2VjcDI1 NnIxIGlzIGVxdWl2YWxlbnQgdG8gcHJpbWUyNTZ2MQorIHZhciAoCistCW9pZE5hbWVkQ3VydmVQ MjI0ID0gYXNuMS5PYmplY3RJZGVudGlmaWVyezEsIDMsIDEzMiwgMCwgMzN9CisgCW9pZE5hbWVk Q3VydmVQMjU2ID0gYXNuMS5PYmplY3RJZGVudGlmaWVyezEsIDIsIDg0MCwgMTAwNDUsIDMsIDEs IDd9CisgCW9pZE5hbWVkQ3VydmVQMzg0ID0gYXNuMS5PYmplY3RJZGVudGlmaWVyezEsIDMsIDEz MiwgMCwgMzR9CisgCW9pZE5hbWVkQ3VydmVQNTIxID0gYXNuMS5PYmplY3RJZGVudGlmaWVyezEs IDMsIDEzMiwgMCwgMzV9CitAQCAtMzI5LDggKzMyNSw2IEBAIHZhciAoCisgCisgZnVuYyBuYW1l ZEN1cnZlRnJvbU9JRChvaWQgYXNuMS5PYmplY3RJZGVudGlmaWVyKSBlbGxpcHRpYy5DdXJ2ZSB7 CisgCXN3aXRjaCB7CistCWNhc2Ugb2lkLkVxdWFsKG9pZE5hbWVkQ3VydmVQMjI0KToKKy0JCXJl dHVybiBlbGxpcHRpYy5QMjI0KCkKKyAJY2FzZSBvaWQuRXF1YWwob2lkTmFtZWRDdXJ2ZVAyNTYp OgorIAkJcmV0dXJuIGVsbGlwdGljLlAyNTYoKQorIAljYXNlIG9pZC5FcXVhbChvaWROYW1lZEN1 cnZlUDM4NCk6CitAQCAtMzQzLDggKzMzNyw2IEBAIGZ1bmMgbmFtZWRDdXJ2ZUZyb21PSUQob2lk IGFzbjEuT2JqZWN0SWQKKyAKKyBmdW5jIG9pZEZyb21OYW1lZEN1cnZlKGN1cnZlIGVsbGlwdGlj LkN1cnZlKSAoYXNuMS5PYmplY3RJZGVudGlmaWVyLCBib29sKSB7CisgCXN3aXRjaCBjdXJ2ZSB7 CistCWNhc2UgZWxsaXB0aWMuUDIyNCgpOgorLQkJcmV0dXJuIG9pZE5hbWVkQ3VydmVQMjI0LCB0 cnVlCisgCWNhc2UgZWxsaXB0aWMuUDI1NigpOgorIAkJcmV0dXJuIG9pZE5hbWVkQ3VydmVQMjU2 LCB0cnVlCisgCWNhc2UgZWxsaXB0aWMuUDM4NCgpOgorQEAgLTEzNzEsNyArMTM2Myw3IEBAIGZ1 bmMgc2lnbmluZ1BhcmFtc0ZvclByaXZhdGVLZXkocHJpdiBpbnQKKyAJCXB1YlR5cGUgPSBFQ0RT QQorIAorIAkJc3dpdGNoIHByaXYuQ3VydmUgeworLQkJY2FzZSBlbGxpcHRpYy5QMjI0KCksIGVs bGlwdGljLlAyNTYoKToKKysJCWNhc2UgZWxsaXB0aWMuUDI1NigpOgorIAkJCWhhc2hGdW5jID0g Y3J5cHRvLlNIQTI1NgorIAkJCXNpZ0FsZ28uQWxnb3JpdGhtID0gb2lkU2lnbmF0dXJlRUNEU0FX aXRoU0hBMjU2CisgCQljYXNlIGVsbGlwdGljLlAzODQoKToKKy0tLSBsaWJnby9nby9jcnlwdG8v ZWxsaXB0aWMvcDIyNC5nby5qagkyMDEyLTExLTE1IDE4OjI2OjU3LjAwMDAwMDAwMCArMDEwMAor KysrIGxpYmdvL2dvL2NyeXB0by9lbGxpcHRpYy9wMjI0LmdvCTIwMTQtMDMtMDUgMTU6MzA6MDEu MTg5NDMwODQyICswMTAwCitAQCAtMSw3NjUgKzAsMCBAQAorLS8vIENvcHlyaWdodCAyMDEyIFRo ZSBHbyBBdXRob3JzLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy0vLyBVc2Ugb2YgdGhpcyBzb3Vy Y2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZQorLS8vIGxpY2Vuc2UgdGhhdCBjYW4g YmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy0KKy1wYWNrYWdlIGVsbGlwdGljCistCist Ly8gVGhpcyBpcyBhIGNvbnN0YW50LXRpbWUsIDMyLWJpdCBpbXBsZW1lbnRhdGlvbiBvZiBQMjI0 LiBTZWUgRklQUyAxODYtMywKKy0vLyBzZWN0aW9uIEQuMi4yLgorLS8vCistLy8gU2VlIGh0dHA6 Ly93d3cuaW1wZXJpYWx2aW9sZXQub3JnLzIwMTAvMTIvMDQvZWNjLmh0bWwgKFsxXSkgZm9yIGJh Y2tncm91bmQuCistCistaW1wb3J0ICgKKy0JIm1hdGgvYmlnIgorLSkKKy0KKy12YXIgcDIyNCBw MjI0Q3VydmUKKy0KKy10eXBlIHAyMjRDdXJ2ZSBzdHJ1Y3QgeworLQkqQ3VydmVQYXJhbXMKKy0J Z3gsIGd5LCBiIHAyMjRGaWVsZEVsZW1lbnQKKy19CistCistZnVuYyBpbml0UDIyNCgpIHsKKy0J Ly8gU2VlIEZJUFMgMTg2LTMsIHNlY3Rpb24gRC4yLjIKKy0JcDIyNC5DdXJ2ZVBhcmFtcyA9IG5l dyhDdXJ2ZVBhcmFtcykKKy0JcDIyNC5QLCBfID0gbmV3KGJpZy5JbnQpLlNldFN0cmluZygiMjY5 NTk5NDY2NjcxNTA2Mzk3OTQ2NjcwMTUwODcwMTk2MzA2NzM1NTc5MTYyNjAwMjYzMDgxNDM1MTAw NjYyOTg4ODEiLCAxMCkKKy0JcDIyNC5OLCBfID0gbmV3KGJpZy5JbnQpLlNldFN0cmluZygiMjY5 NTk5NDY2NjcxNTA2Mzk3OTQ2NjcwMTUwODcwMTk2MjU5NDA0NTc4MDc3MTQ0MjQzOTE3MjE2ODI3 MjIzNjgwNjEiLCAxMCkKKy0JcDIyNC5CLCBfID0gbmV3KGJpZy5JbnQpLlNldFN0cmluZygiYjQw NTBhODUwYzA0YjNhYmY1NDEzMjU2NTA0NGIwYjdkN2JmZDhiYTI3MGIzOTQzMjM1NWZmYjQiLCAx NikKKy0JcDIyNC5HeCwgXyA9IG5ldyhiaWcuSW50KS5TZXRTdHJpbmcoImI3MGUwY2JkNmJiNGJm N2YzMjEzOTBiOTRhMDNjMWQzNTZjMjExMjIzNDMyODBkNjExNWMxZDIxIiwgMTYpCistCXAyMjQu R3ksIF8gPSBuZXcoYmlnLkludCkuU2V0U3RyaW5nKCJiZDM3NjM4OGI1ZjcyM2ZiNGMyMmRmZTZj ZDQzNzVhMDVhMDc0NzY0NDRkNTgxOTk4NTAwN2UzNCIsIDE2KQorLQlwMjI0LkJpdFNpemUgPSAy MjQKKy0KKy0JcDIyNEZyb21CaWcoJnAyMjQuZ3gsIHAyMjQuR3gpCistCXAyMjRGcm9tQmlnKCZw MjI0Lmd5LCBwMjI0Lkd5KQorLQlwMjI0RnJvbUJpZygmcDIyNC5iLCBwMjI0LkIpCistfQorLQor LS8vIFAyMjQgcmV0dXJucyBhIEN1cnZlIHdoaWNoIGltcGxlbWVudHMgUC0yMjQgKHNlZSBGSVBT IDE4Ni0zLCBzZWN0aW9uIEQuMi4yKQorLWZ1bmMgUDIyNCgpIEN1cnZlIHsKKy0JaW5pdG9uY2Uu RG8oaW5pdEFsbCkKKy0JcmV0dXJuIHAyMjQKKy19CistCistZnVuYyAoY3VydmUgcDIyNEN1cnZl KSBQYXJhbXMoKSAqQ3VydmVQYXJhbXMgeworLQlyZXR1cm4gY3VydmUuQ3VydmVQYXJhbXMKKy19 CistCistZnVuYyAoY3VydmUgcDIyNEN1cnZlKSBJc09uQ3VydmUoYmlnWCwgYmlnWSAqYmlnLklu dCkgYm9vbCB7CistCXZhciB4LCB5IHAyMjRGaWVsZEVsZW1lbnQKKy0JcDIyNEZyb21CaWcoJngs IGJpZ1gpCistCXAyMjRGcm9tQmlnKCZ5LCBiaWdZKQorLQorLQkvLyB5wrIgPSB4wrMgLSAzeCAr IGIKKy0JdmFyIHRtcCBwMjI0TGFyZ2VGaWVsZEVsZW1lbnQKKy0JdmFyIHgzIHAyMjRGaWVsZEVs ZW1lbnQKKy0JcDIyNFNxdWFyZSgmeDMsICZ4LCAmdG1wKQorLQlwMjI0TXVsKCZ4MywgJngzLCAm eCwgJnRtcCkKKy0KKy0JZm9yIGkgOj0gMDsgaSA8IDg7IGkrKyB7CistCQl4W2ldICo9IDMKKy0J fQorLQlwMjI0U3ViKCZ4MywgJngzLCAmeCkKKy0JcDIyNFJlZHVjZSgmeDMpCistCXAyMjRBZGQo JngzLCAmeDMsICZjdXJ2ZS5iKQorLQlwMjI0Q29udHJhY3QoJngzLCAmeDMpCistCistCXAyMjRT cXVhcmUoJnksICZ5LCAmdG1wKQorLQlwMjI0Q29udHJhY3QoJnksICZ5KQorLQorLQlmb3IgaSA6 PSAwOyBpIDwgODsgaSsrIHsKKy0JCWlmIHlbaV0gIT0geDNbaV0geworLQkJCXJldHVybiBmYWxz ZQorLQkJfQorLQl9CistCXJldHVybiB0cnVlCistfQorLQorLWZ1bmMgKHAyMjRDdXJ2ZSkgQWRk KGJpZ1gxLCBiaWdZMSwgYmlnWDIsIGJpZ1kyICpiaWcuSW50KSAoeCwgeSAqYmlnLkludCkgewor LQl2YXIgeDEsIHkxLCB6MSwgeDIsIHkyLCB6MiwgeDMsIHkzLCB6MyBwMjI0RmllbGRFbGVtZW50 CistCistCXAyMjRGcm9tQmlnKCZ4MSwgYmlnWDEpCistCXAyMjRGcm9tQmlnKCZ5MSwgYmlnWTEp CistCWlmIGJpZ1gxLlNpZ24oKSAhPSAwIHx8IGJpZ1kxLlNpZ24oKSAhPSAwIHsKKy0JCXoxWzBd ID0gMQorLQl9CistCXAyMjRGcm9tQmlnKCZ4MiwgYmlnWDIpCistCXAyMjRGcm9tQmlnKCZ5Miwg YmlnWTIpCistCWlmIGJpZ1gyLlNpZ24oKSAhPSAwIHx8IGJpZ1kyLlNpZ24oKSAhPSAwIHsKKy0J CXoyWzBdID0gMQorLQl9CistCistCXAyMjRBZGRKYWNvYmlhbigmeDMsICZ5MywgJnozLCAmeDEs ICZ5MSwgJnoxLCAmeDIsICZ5MiwgJnoyKQorLQlyZXR1cm4gcDIyNFRvQWZmaW5lKCZ4MywgJnkz LCAmejMpCistfQorLQorLWZ1bmMgKHAyMjRDdXJ2ZSkgRG91YmxlKGJpZ1gxLCBiaWdZMSAqYmln LkludCkgKHgsIHkgKmJpZy5JbnQpIHsKKy0JdmFyIHgxLCB5MSwgejEsIHgyLCB5MiwgejIgcDIy NEZpZWxkRWxlbWVudAorLQorLQlwMjI0RnJvbUJpZygmeDEsIGJpZ1gxKQorLQlwMjI0RnJvbUJp ZygmeTEsIGJpZ1kxKQorLQl6MVswXSA9IDEKKy0KKy0JcDIyNERvdWJsZUphY29iaWFuKCZ4Miwg JnkyLCAmejIsICZ4MSwgJnkxLCAmejEpCistCXJldHVybiBwMjI0VG9BZmZpbmUoJngyLCAmeTIs ICZ6MikKKy19CistCistZnVuYyAocDIyNEN1cnZlKSBTY2FsYXJNdWx0KGJpZ1gxLCBiaWdZMSAq YmlnLkludCwgc2NhbGFyIFtdYnl0ZSkgKHgsIHkgKmJpZy5JbnQpIHsKKy0JdmFyIHgxLCB5MSwg ejEsIHgyLCB5MiwgejIgcDIyNEZpZWxkRWxlbWVudAorLQorLQlwMjI0RnJvbUJpZygmeDEsIGJp Z1gxKQorLQlwMjI0RnJvbUJpZygmeTEsIGJpZ1kxKQorLQl6MVswXSA9IDEKKy0KKy0JcDIyNFNj YWxhck11bHQoJngyLCAmeTIsICZ6MiwgJngxLCAmeTEsICZ6MSwgc2NhbGFyKQorLQlyZXR1cm4g cDIyNFRvQWZmaW5lKCZ4MiwgJnkyLCAmejIpCistfQorLQorLWZ1bmMgKGN1cnZlIHAyMjRDdXJ2 ZSkgU2NhbGFyQmFzZU11bHQoc2NhbGFyIFtdYnl0ZSkgKHgsIHkgKmJpZy5JbnQpIHsKKy0JdmFy IHoxLCB4MiwgeTIsIHoyIHAyMjRGaWVsZEVsZW1lbnQKKy0KKy0JejFbMF0gPSAxCistCXAyMjRT Y2FsYXJNdWx0KCZ4MiwgJnkyLCAmejIsICZjdXJ2ZS5neCwgJmN1cnZlLmd5LCAmejEsIHNjYWxh cikKKy0JcmV0dXJuIHAyMjRUb0FmZmluZSgmeDIsICZ5MiwgJnoyKQorLX0KKy0KKy0vLyBGaWVs ZCBlbGVtZW50IGZ1bmN0aW9ucy4KKy0vLworLS8vIFRoZSBmaWVsZCB0aGF0IHdlJ3JlIGRlYWxp bmcgd2l0aCBpcyDihKQvcOKEpCB3aGVyZSBwID0gMioqMjI0IC0gMioqOTYgKyAxLgorLS8vCist Ly8gRmllbGQgZWxlbWVudHMgYXJlIHJlcHJlc2VudGVkIGJ5IGEgRmllbGRFbGVtZW50LCB3aGlj aCBpcyBhIHR5cGVkZWYgdG8gYW4KKy0vLyBhcnJheSBvZiA4IHVpbnQzMidzLiBUaGUgdmFsdWUg b2YgYSBGaWVsZEVsZW1lbnQsIGEsIGlzOgorLS8vICAgYVswXSArIDIqKjI4wrdhWzFdICsgMioq NTbCt2FbMV0gKyAuLi4gKyAyKioxOTbCt2FbN10KKy0vLworLS8vIFVzaW5nIDI4LWJpdCBsaW1i cyBtZWFucyB0aGF0IHRoZXJlJ3Mgb25seSA0IGJpdHMgb2YgaGVhZHJvb20sIHdoaWNoIGlzIGxl c3MKKy0vLyB0aGFuIHdlIHdvdWxkIHJlYWxseSBsaWtlLiBCdXQgaXQgaGFzIHRoZSB1c2VmdWwg ZmVhdHVyZSB0aGF0IHdlIGhpdCAyKioyMjQKKy0vLyBleGFjdGx5LCBtYWtpbmcgdGhlIHJlZmxl Y3Rpb25zIGR1cmluZyBhIHJlZHVjZSBtdWNoIG5pY2VyLgorLXR5cGUgcDIyNEZpZWxkRWxlbWVu dCBbOF11aW50MzIKKy0KKy0vLyBwMjI0UCBpcyB0aGUgb3JkZXIgb2YgdGhlIGZpZWxkLCByZXBy ZXNlbnRlZCBhcyBhIHAyMjRGaWVsZEVsZW1lbnQuCistdmFyIHAyMjRQID0gWzhddWludDMyezEs IDAsIDAsIDB4ZmZmZjAwMCwgMHhmZmZmZmZmLCAweGZmZmZmZmYsIDB4ZmZmZmZmZiwgMHhmZmZm ZmZmfQorLQorLS8vIHAyMjRJc1plcm8gcmV0dXJucyAxIGlmIGEgPT0gMCBtb2QgcCBhbmQgMCBv dGhlcndpc2UuCistLy8KKy0vLyBhW2ldIDwgMioqMjkKKy1mdW5jIHAyMjRJc1plcm8oYSAqcDIy NEZpZWxkRWxlbWVudCkgdWludDMyIHsKKy0JLy8gU2luY2UgYSBwMjI0RmllbGRFbGVtZW50IGNv bnRhaW5zIDIyNCBiaXRzIHRoZXJlIGFyZSB0d28gcG9zc2libGUKKy0JLy8gcmVwcmVzZW50YXRp b25zIG9mIDA6IDAgYW5kIHAuCistCXZhciBtaW5pbWFsIHAyMjRGaWVsZEVsZW1lbnQKKy0JcDIy NENvbnRyYWN0KCZtaW5pbWFsLCBhKQorLQorLQl2YXIgaXNaZXJvLCBpc1AgdWludDMyCistCWZv ciBpLCB2IDo9IHJhbmdlIG1pbmltYWwgeworLQkJaXNaZXJvIHw9IHYKKy0JCWlzUCB8PSB2IC0g cDIyNFBbaV0KKy0JfQorLQorLQkvLyBJZiBlaXRoZXIgaXNaZXJvIG9yIGlzUCBpcyAwLCB0aGVu IHdlIHNob3VsZCByZXR1cm4gMS4KKy0JaXNaZXJvIHw9IGlzWmVybyA+PiAxNgorLQlpc1plcm8g fD0gaXNaZXJvID4+IDgKKy0JaXNaZXJvIHw9IGlzWmVybyA+PiA0CistCWlzWmVybyB8PSBpc1pl cm8gPj4gMgorLQlpc1plcm8gfD0gaXNaZXJvID4+IDEKKy0KKy0JaXNQIHw9IGlzUCA+PiAxNgor LQlpc1AgfD0gaXNQID4+IDgKKy0JaXNQIHw9IGlzUCA+PiA0CistCWlzUCB8PSBpc1AgPj4gMgor LQlpc1AgfD0gaXNQID4+IDEKKy0KKy0JLy8gRm9yIGlzWmVybyBhbmQgaXNQLCB0aGUgTFNCIGlz IDAgaWZmIGFsbCB0aGUgYml0cyBhcmUgemVyby4KKy0JcmVzdWx0IDo9IGlzWmVybyAmIGlzUAor LQlyZXN1bHQgPSAoXnJlc3VsdCkgJiAxCistCistCXJldHVybiByZXN1bHQKKy19CistCistLy8g cDIyNEFkZCBjb21wdXRlcyAqb3V0ID0gYStiCistLy8KKy0vLyBhW2ldICsgYltpXSA8IDIqKjMy CistZnVuYyBwMjI0QWRkKG91dCwgYSwgYiAqcDIyNEZpZWxkRWxlbWVudCkgeworLQlmb3IgaSA6 PSAwOyBpIDwgODsgaSsrIHsKKy0JCW91dFtpXSA9IGFbaV0gKyBiW2ldCistCX0KKy19CistCist Y29uc3QgdHdvMzFwMyA9IDE8PDMxICsgMTw8MworLWNvbnN0IHR3bzMxbTMgPSAxPDwzMSAtIDE8 PDMKKy1jb25zdCB0d28zMW0xNW0zID0gMTw8MzEgLSAxPDwxNSAtIDE8PDMKKy0KKy0vLyBwMjI0 WmVyb01vZFAzMSBpcyAwIG1vZCBwIHdoZXJlIGJpdCAzMSBpcyBzZXQgaW4gYWxsIGxpbWJzIHNv IHRoYXQgd2UgY2FuCistLy8gc3VidHJhY3Qgc21hbGxlciBhbW91bnRzIHdpdGhvdXQgdW5kZXJm bG93LiBTZWUgdGhlIHNlY3Rpb24gIlN1YnRyYWN0aW9uIiBpbgorLS8vIFsxXSBmb3IgcmVhc29u aW5nLgorLXZhciBwMjI0WmVyb01vZFAzMSA9IFtddWludDMye3R3bzMxcDMsIHR3bzMxbTMsIHR3 bzMxbTMsIHR3bzMxbTE1bTMsIHR3bzMxbTMsIHR3bzMxbTMsIHR3bzMxbTMsIHR3bzMxbTN9Cist CistLy8gcDIyNFN1YiBjb21wdXRlcyAqb3V0ID0gYS1iCistLy8KKy0vLyBhW2ldLCBiW2ldIDwg MioqMzAKKy0vLyBvdXRbaV0gPCAyKiozMgorLWZ1bmMgcDIyNFN1YihvdXQsIGEsIGIgKnAyMjRG aWVsZEVsZW1lbnQpIHsKKy0JZm9yIGkgOj0gMDsgaSA8IDg7IGkrKyB7CistCQlvdXRbaV0gPSBh W2ldICsgcDIyNFplcm9Nb2RQMzFbaV0gLSBiW2ldCistCX0KKy19CistCistLy8gTGFyZ2VGaWVs ZEVsZW1lbnQgYWxzbyByZXByZXNlbnRzIGFuIGVsZW1lbnQgb2YgdGhlIGZpZWxkLiBUaGUgbGlt YnMgYXJlCistLy8gc3RpbGwgc3BhY2VkIDI4LWJpdHMgYXBhcnQgYW5kIGluIGxpdHRsZS1lbmRp YW4gb3JkZXIuIFNvIHRoZSBsaW1icyBhcmUgYXQKKy0vLyAwLCAyOCwgNTYsIC4uLiwgMzkyIGJp dHMsIGVhY2ggNjQtYml0cyB3aWRlLgorLXR5cGUgcDIyNExhcmdlRmllbGRFbGVtZW50IFsxNV11 aW50NjQKKy0KKy1jb25zdCB0d282M3AzNSA9IDE8PDYzICsgMTw8MzUKKy1jb25zdCB0d282M20z NSA9IDE8PDYzIC0gMTw8MzUKKy1jb25zdCB0d282M20zNW0xOSA9IDE8PDYzIC0gMTw8MzUgLSAx PDwxOQorLQorLS8vIHAyMjRaZXJvTW9kUDYzIGlzIDAgbW9kIHAgd2hlcmUgYml0IDYzIGlzIHNl dCBpbiBhbGwgbGltYnMuIFNlZSB0aGUgc2VjdGlvbgorLS8vICJTdWJ0cmFjdGlvbiIgaW4gWzFd IGZvciB3aHkuCistdmFyIHAyMjRaZXJvTW9kUDYzID0gWzhddWludDY0e3R3bzYzcDM1LCB0d282 M20zNSwgdHdvNjNtMzUsIHR3bzYzbTM1LCB0d282M20zNW0xOSwgdHdvNjNtMzUsIHR3bzYzbTM1 LCB0d282M20zNX0KKy0KKy1jb25zdCBib3R0b20xMkJpdHMgPSAweGZmZgorLWNvbnN0IGJvdHRv bTI4Qml0cyA9IDB4ZmZmZmZmZgorLQorLS8vIHAyMjRNdWwgY29tcHV0ZXMgKm91dCA9IGEqYgor LS8vCistLy8gYVtpXSA8IDIqKjI5LCBiW2ldIDwgMioqMzAgKG9yIHZpY2UgdmVyc2EpCistLy8g b3V0W2ldIDwgMioqMjkKKy1mdW5jIHAyMjRNdWwob3V0LCBhLCBiICpwMjI0RmllbGRFbGVtZW50 LCB0bXAgKnAyMjRMYXJnZUZpZWxkRWxlbWVudCkgeworLQlmb3IgaSA6PSAwOyBpIDwgMTU7IGkr KyB7CistCQl0bXBbaV0gPSAwCistCX0KKy0KKy0JZm9yIGkgOj0gMDsgaSA8IDg7IGkrKyB7Cist CQlmb3IgaiA6PSAwOyBqIDwgODsgaisrIHsKKy0JCQl0bXBbaStqXSArPSB1aW50NjQoYVtpXSkg KiB1aW50NjQoYltqXSkKKy0JCX0KKy0JfQorLQorLQlwMjI0UmVkdWNlTGFyZ2Uob3V0LCB0bXAp CistfQorLQorLS8vIFNxdWFyZSBjb21wdXRlcyAqb3V0ID0gYSphCistLy8KKy0vLyBhW2ldIDwg MioqMjkKKy0vLyBvdXRbaV0gPCAyKioyOQorLWZ1bmMgcDIyNFNxdWFyZShvdXQsIGEgKnAyMjRG aWVsZEVsZW1lbnQsIHRtcCAqcDIyNExhcmdlRmllbGRFbGVtZW50KSB7CistCWZvciBpIDo9IDA7 IGkgPCAxNTsgaSsrIHsKKy0JCXRtcFtpXSA9IDAKKy0JfQorLQorLQlmb3IgaSA6PSAwOyBpIDwg ODsgaSsrIHsKKy0JCWZvciBqIDo9IDA7IGogPD0gaTsgaisrIHsKKy0JCQlyIDo9IHVpbnQ2NChh W2ldKSAqIHVpbnQ2NChhW2pdKQorLQkJCWlmIGkgPT0gaiB7CistCQkJCXRtcFtpK2pdICs9IHIK Ky0JCQl9IGVsc2UgeworLQkJCQl0bXBbaStqXSArPSByIDw8IDEKKy0JCQl9CistCQl9CistCX0K Ky0KKy0JcDIyNFJlZHVjZUxhcmdlKG91dCwgdG1wKQorLX0KKy0KKy0vLyBSZWR1Y2VMYXJnZSBj b252ZXJ0cyBhIHAyMjRMYXJnZUZpZWxkRWxlbWVudCB0byBhIHAyMjRGaWVsZEVsZW1lbnQuCist Ly8KKy0vLyBpbltpXSA8IDIqKjYyCistZnVuYyBwMjI0UmVkdWNlTGFyZ2Uob3V0ICpwMjI0Rmll bGRFbGVtZW50LCBpbiAqcDIyNExhcmdlRmllbGRFbGVtZW50KSB7CistCWZvciBpIDo9IDA7IGkg PCA4OyBpKysgeworLQkJaW5baV0gKz0gcDIyNFplcm9Nb2RQNjNbaV0KKy0JfQorLQorLQkvLyBF bGltaW5hdGUgdGhlIGNvZWZmaWNpZW50cyBhdCAyKioyMjQgYW5kIGdyZWF0ZXIuCistCWZvciBp IDo9IDE0OyBpID49IDg7IGktLSB7CistCQlpbltpLThdIC09IGluW2ldCistCQlpbltpLTVdICs9 IChpbltpXSAmIDB4ZmZmZikgPDwgMTIKKy0JCWluW2ktNF0gKz0gaW5baV0gPj4gMTYKKy0JfQor LQlpbls4XSA9IDAKKy0JLy8gaW5bMC4uOF0gPCAyKio2NAorLQorLQkvLyBBcyB0aGUgdmFsdWVz IGJlY29tZSBzbWFsbCBlbm91Z2gsIHdlIHN0YXJ0IHRvIHN0b3JlIHRoZW0gaW4gfG91dHwKKy0J Ly8gYW5kIHVzZSAzMi1iaXQgb3BlcmF0aW9ucy4KKy0JZm9yIGkgOj0gMTsgaSA8IDg7IGkrKyB7 CistCQlpbltpKzFdICs9IGluW2ldID4+IDI4CistCQlvdXRbaV0gPSB1aW50MzIoaW5baV0gJiBi b3R0b20yOEJpdHMpCistCX0KKy0JaW5bMF0gLT0gaW5bOF0KKy0Jb3V0WzNdICs9IHVpbnQzMihp bls4XSYweGZmZmYpIDw8IDEyCistCW91dFs0XSArPSB1aW50MzIoaW5bOF0gPj4gMTYpCistCS8v IGluWzBdIDwgMioqNjQKKy0JLy8gb3V0WzNdIDwgMioqMjkKKy0JLy8gb3V0WzRdIDwgMioqMjkK Ky0JLy8gb3V0WzEsMiw1Li43XSA8IDIqKjI4CistCistCW91dFswXSA9IHVpbnQzMihpblswXSAm IGJvdHRvbTI4Qml0cykKKy0Jb3V0WzFdICs9IHVpbnQzMigoaW5bMF0gPj4gMjgpICYgYm90dG9t MjhCaXRzKQorLQlvdXRbMl0gKz0gdWludDMyKGluWzBdID4+IDU2KQorLQkvLyBvdXRbMF0gPCAy KioyOAorLQkvLyBvdXRbMS4uNF0gPCAyKioyOQorLQkvLyBvdXRbNS4uN10gPCAyKioyOAorLX0K Ky0KKy0vLyBSZWR1Y2UgcmVkdWNlcyB0aGUgY29lZmZpY2llbnRzIG9mIGEgdG8gc21hbGxlciBi b3VuZHMuCistLy8KKy0vLyBPbiBlbnRyeTogYVtpXSA8IDIqKjMxICsgMioqMzAKKy0vLyBPbiBl eGl0OiBhW2ldIDwgMioqMjkKKy1mdW5jIHAyMjRSZWR1Y2UoYSAqcDIyNEZpZWxkRWxlbWVudCkg eworLQlmb3IgaSA6PSAwOyBpIDwgNzsgaSsrIHsKKy0JCWFbaSsxXSArPSBhW2ldID4+IDI4Cist CQlhW2ldICY9IGJvdHRvbTI4Qml0cworLQl9CistCXRvcCA6PSBhWzddID4+IDI4CistCWFbN10g Jj0gYm90dG9tMjhCaXRzCistCistCS8vIHRvcCA8IDIqKjQKKy0JbWFzayA6PSB0b3AKKy0JbWFz ayB8PSBtYXNrID4+IDIKKy0JbWFzayB8PSBtYXNrID4+IDEKKy0JbWFzayA8PD0gMzEKKy0JbWFz ayA9IHVpbnQzMihpbnQzMihtYXNrKSA+PiAzMSkKKy0JLy8gTWFzayBpcyBhbGwgb25lcyBpZiB0 b3AgIT0gMCwgYWxsIHplcm8gb3RoZXJ3aXNlCistCistCWFbMF0gLT0gdG9wCistCWFbM10gKz0g dG9wIDw8IDEyCistCistCS8vIFdlIG1heSBoYXZlIGp1c3QgbWFkZSBhWzBdIG5lZ2F0aXZlIGJ1 dCwgaWYgd2UgZGlkLCB0aGVuIHdlIG11c3QKKy0JLy8gaGF2ZSBhZGRlZCBzb21ldGhpbmcgdG8g YVszXSwgdGhpcyBpdCdzID4gMioqMTIuIFRoZXJlZm9yZSB3ZSBjYW4KKy0JLy8gY2FycnkgZG93 biB0byBhWzBdLgorLQlhWzNdIC09IDEgJiBtYXNrCistCWFbMl0gKz0gbWFzayAmICgxPDwyOCAt IDEpCistCWFbMV0gKz0gbWFzayAmICgxPDwyOCAtIDEpCistCWFbMF0gKz0gbWFzayAmICgxIDw8 IDI4KQorLX0KKy0KKy0vLyBwMjI0SW52ZXJ0IGNhbGN1bGF0ZXMgKm91dCA9IGluKiotMSBieSBj b21wdXRpbmcgaW4qKigyKioyMjQgLSAyKio5NiAtIDEpLAorLS8vIGkuZS4gRmVybWF0J3MgbGl0 dGxlIHRoZW9yZW0uCistZnVuYyBwMjI0SW52ZXJ0KG91dCwgaW4gKnAyMjRGaWVsZEVsZW1lbnQp IHsKKy0JdmFyIGYxLCBmMiwgZjMsIGY0IHAyMjRGaWVsZEVsZW1lbnQKKy0JdmFyIGMgcDIyNExh cmdlRmllbGRFbGVtZW50CistCistCXAyMjRTcXVhcmUoJmYxLCBpbiwgJmMpICAgIC8vIDIKKy0J cDIyNE11bCgmZjEsICZmMSwgaW4sICZjKSAgLy8gMioqMiAtIDEKKy0JcDIyNFNxdWFyZSgmZjEs ICZmMSwgJmMpICAgLy8gMioqMyAtIDIKKy0JcDIyNE11bCgmZjEsICZmMSwgaW4sICZjKSAgLy8g MioqMyAtIDEKKy0JcDIyNFNxdWFyZSgmZjIsICZmMSwgJmMpICAgLy8gMioqNCAtIDIKKy0JcDIy NFNxdWFyZSgmZjIsICZmMiwgJmMpICAgLy8gMioqNSAtIDQKKy0JcDIyNFNxdWFyZSgmZjIsICZm MiwgJmMpICAgLy8gMioqNiAtIDgKKy0JcDIyNE11bCgmZjEsICZmMSwgJmYyLCAmYykgLy8gMioq NiAtIDEKKy0JcDIyNFNxdWFyZSgmZjIsICZmMSwgJmMpICAgLy8gMioqNyAtIDIKKy0JZm9yIGkg Oj0gMDsgaSA8IDU7IGkrKyB7ICAgLy8gMioqMTIgLSAyKio2CistCQlwMjI0U3F1YXJlKCZmMiwg JmYyLCAmYykKKy0JfQorLQlwMjI0TXVsKCZmMiwgJmYyLCAmZjEsICZjKSAvLyAyKioxMiAtIDEK Ky0JcDIyNFNxdWFyZSgmZjMsICZmMiwgJmMpICAgLy8gMioqMTMgLSAyCistCWZvciBpIDo9IDA7 IGkgPCAxMTsgaSsrIHsgIC8vIDIqKjI0IC0gMioqMTIKKy0JCXAyMjRTcXVhcmUoJmYzLCAmZjMs ICZjKQorLQl9CistCXAyMjRNdWwoJmYyLCAmZjMsICZmMiwgJmMpIC8vIDIqKjI0IC0gMQorLQlw MjI0U3F1YXJlKCZmMywgJmYyLCAmYykgICAvLyAyKioyNSAtIDIKKy0JZm9yIGkgOj0gMDsgaSA8 IDIzOyBpKysgeyAgLy8gMioqNDggLSAyKioyNAorLQkJcDIyNFNxdWFyZSgmZjMsICZmMywgJmMp CistCX0KKy0JcDIyNE11bCgmZjMsICZmMywgJmYyLCAmYykgLy8gMioqNDggLSAxCistCXAyMjRT cXVhcmUoJmY0LCAmZjMsICZjKSAgIC8vIDIqKjQ5IC0gMgorLQlmb3IgaSA6PSAwOyBpIDwgNDc7 IGkrKyB7ICAvLyAyKio5NiAtIDIqKjQ4CistCQlwMjI0U3F1YXJlKCZmNCwgJmY0LCAmYykKKy0J fQorLQlwMjI0TXVsKCZmMywgJmYzLCAmZjQsICZjKSAvLyAyKio5NiAtIDEKKy0JcDIyNFNxdWFy ZSgmZjQsICZmMywgJmMpICAgLy8gMioqOTcgLSAyCistCWZvciBpIDo9IDA7IGkgPCAyMzsgaSsr IHsgIC8vIDIqKjEyMCAtIDIqKjI0CistCQlwMjI0U3F1YXJlKCZmNCwgJmY0LCAmYykKKy0JfQor LQlwMjI0TXVsKCZmMiwgJmY0LCAmZjIsICZjKSAvLyAyKioxMjAgLSAxCistCWZvciBpIDo9IDA7 IGkgPCA2OyBpKysgeyAgIC8vIDIqKjEyNiAtIDIqKjYKKy0JCXAyMjRTcXVhcmUoJmYyLCAmZjIs ICZjKQorLQl9CistCXAyMjRNdWwoJmYxLCAmZjEsICZmMiwgJmMpIC8vIDIqKjEyNiAtIDEKKy0J cDIyNFNxdWFyZSgmZjEsICZmMSwgJmMpICAgLy8gMioqMTI3IC0gMgorLQlwMjI0TXVsKCZmMSwg JmYxLCBpbiwgJmMpICAvLyAyKioxMjcgLSAxCistCWZvciBpIDo9IDA7IGkgPCA5NzsgaSsrIHsg IC8vIDIqKjIyNCAtIDIqKjk3CistCQlwMjI0U3F1YXJlKCZmMSwgJmYxLCAmYykKKy0JfQorLQlw MjI0TXVsKG91dCwgJmYxLCAmZjMsICZjKSAvLyAyKioyMjQgLSAyKio5NiAtIDEKKy19CistCist Ly8gcDIyNENvbnRyYWN0IGNvbnZlcnRzIGEgRmllbGRFbGVtZW50IHRvIGl0cyB1bmlxdWUsIG1p bmltYWwgZm9ybS4KKy0vLworLS8vIE9uIGVudHJ5LCBpbltpXSA8IDIqKjI5CistLy8gT24gZXhp dCwgaW5baV0gPCAyKioyOAorLWZ1bmMgcDIyNENvbnRyYWN0KG91dCwgaW4gKnAyMjRGaWVsZEVs ZW1lbnQpIHsKKy0JY29weShvdXRbOl0sIGluWzpdKQorLQorLQlmb3IgaSA6PSAwOyBpIDwgNzsg aSsrIHsKKy0JCW91dFtpKzFdICs9IG91dFtpXSA+PiAyOAorLQkJb3V0W2ldICY9IGJvdHRvbTI4 Qml0cworLQl9CistCXRvcCA6PSBvdXRbN10gPj4gMjgKKy0Jb3V0WzddICY9IGJvdHRvbTI4Qml0 cworLQorLQlvdXRbMF0gLT0gdG9wCistCW91dFszXSArPSB0b3AgPDwgMTIKKy0KKy0JLy8gV2Ug bWF5IGp1c3QgaGF2ZSBtYWRlIG91dFtpXSBuZWdhdGl2ZS4gU28gd2UgY2FycnkgZG93bi4gSWYg d2UgbWFkZQorLQkvLyBvdXRbMF0gbmVnYXRpdmUgdGhlbiB3ZSBrbm93IHRoYXQgb3V0WzNdIGlz IHN1ZmZpY2llbnRseSBwb3NpdGl2ZQorLQkvLyBiZWNhdXNlIHdlIGp1c3QgYWRkZWQgdG8gaXQu CistCWZvciBpIDo9IDA7IGkgPCAzOyBpKysgeworLQkJbWFzayA6PSB1aW50MzIoaW50MzIob3V0 W2ldKSA+PiAzMSkKKy0JCW91dFtpXSArPSAoMSA8PCAyOCkgJiBtYXNrCistCQlvdXRbaSsxXSAt PSAxICYgbWFzaworLQl9CistCistCS8vIFdlIG1pZ2h0IGhhdmUgcHVzaGVkIG91dFszXSBvdmVy IDIqKjI4IHNvIHdlIHBlcmZvcm0gYW5vdGhlciwgcGFydGlhbCwKKy0JLy8gY2FycnkgY2hhaW4u CistCWZvciBpIDo9IDM7IGkgPCA3OyBpKysgeworLQkJb3V0W2krMV0gKz0gb3V0W2ldID4+IDI4 CistCQlvdXRbaV0gJj0gYm90dG9tMjhCaXRzCistCX0KKy0JdG9wID0gb3V0WzddID4+IDI4Cist CW91dFs3XSAmPSBib3R0b20yOEJpdHMKKy0KKy0JLy8gRWxpbWluYXRlIHRvcCB3aGlsZSBtYWlu dGFpbmluZyB0aGUgc2FtZSB2YWx1ZSBtb2QgcC4KKy0Jb3V0WzBdIC09IHRvcAorLQlvdXRbM10g Kz0gdG9wIDw8IDEyCistCistCS8vIFRoZXJlIGFyZSB0d28gY2FzZXMgdG8gY29uc2lkZXIgZm9y IG91dFszXToKKy0JLy8gICAxKSBUaGUgZmlyc3QgdGltZSB0aGF0IHdlIGVsaW1pbmF0ZWQgdG9w LCB3ZSBkaWRuJ3QgcHVzaCBvdXRbM10gb3ZlcgorLQkvLyAgICAgIDIqKjI4LiBJbiB0aGlzIGNh c2UsIHRoZSBwYXJ0aWFsIGNhcnJ5IGNoYWluIGRpZG4ndCBjaGFuZ2UgYW55IHZhbHVlcworLQkv LyAgICAgIGFuZCB0b3AgaXMgemVyby4KKy0JLy8gICAyKSBXZSBkaWQgcHVzaCBvdXRbM10gb3Zl ciAyKioyOCB0aGUgZmlyc3QgdGltZSB0aGF0IHdlIGVsaW1pbmF0ZWQgdG9wLgorLQkvLyAgICAg IFRoZSBmaXJzdCB2YWx1ZSBvZiB0b3Agd2FzIGluIFswLi4xNiksIHRoZXJlZm9yZSwgcHJpb3Ig dG8gZWxpbWluYXRpbmcKKy0JLy8gICAgICB0aGUgZmlyc3QgdG9wLCAweGZmZjEwMDAgPD0gb3V0 WzNdIDw9IDB4ZmZmZmZmZi4gVGhlcmVmb3JlLCBhZnRlcgorLQkvLyAgICAgIG92ZXJmbG93aW5n IGFuZCBiZWluZyByZWR1Y2VkIGJ5IHRoZSBzZWNvbmQgY2FycnkgY2hhaW4sIG91dFszXSA8PQor LQkvLyAgICAgIDB4ZjAwMC4gVGh1cyBpdCBjYW5ub3QgaGF2ZSBvdmVyZmxvd2VkIHdoZW4gd2Ug ZWxpbWluYXRlZCB0b3AgZm9yIHRoZQorLQkvLyAgICAgIHNlY29uZCB0aW1lLgorLQorLQkvLyBB Z2Fpbiwgd2UgbWF5IGp1c3QgaGF2ZSBtYWRlIG91dFswXSBuZWdhdGl2ZSwgc28gZG8gdGhlIHNh bWUgY2FycnkgZG93bi4KKy0JLy8gQXMgYmVmb3JlLCBpZiB3ZSBtYWRlIG91dFswXSBuZWdhdGl2 ZSB0aGVuIHdlIGtub3cgdGhhdCBvdXRbM10gaXMKKy0JLy8gc3VmZmljaWVudGx5IHBvc2l0aXZl LgorLQlmb3IgaSA6PSAwOyBpIDwgMzsgaSsrIHsKKy0JCW1hc2sgOj0gdWludDMyKGludDMyKG91 dFtpXSkgPj4gMzEpCistCQlvdXRbaV0gKz0gKDEgPDwgMjgpICYgbWFzaworLQkJb3V0W2krMV0g LT0gMSAmIG1hc2sKKy0JfQorLQorLQkvLyBOb3cgd2Ugc2VlIGlmIHRoZSB2YWx1ZSBpcyA+PSBw IGFuZCwgaWYgc28sIHN1YnRyYWN0IHAuCistCistCS8vIEZpcnN0IHdlIGJ1aWxkIGEgbWFzayBm cm9tIHRoZSB0b3AgZm91ciBsaW1icywgd2hpY2ggbXVzdCBhbGwgYmUKKy0JLy8gZXF1YWwgdG8g Ym90dG9tMjhCaXRzIGlmIHRoZSB3aG9sZSB2YWx1ZSBpcyA+PSBwLiBJZiB0b3A0QWxsT25lcwor LQkvLyBlbmRzIHVwIHdpdGggYW55IHplcm8gYml0cyBpbiB0aGUgYm90dG9tIDI4IGJpdHMsIHRo ZW4gdGhpcyB3YXNuJ3QKKy0JLy8gdHJ1ZS4KKy0JdG9wNEFsbE9uZXMgOj0gdWludDMyKDB4ZmZm ZmZmZmYpCistCWZvciBpIDo9IDQ7IGkgPCA4OyBpKysgeworLQkJdG9wNEFsbE9uZXMgJj0gb3V0 W2ldCistCX0KKy0JdG9wNEFsbE9uZXMgfD0gMHhmMDAwMDAwMAorLQkvLyBOb3cgd2UgcmVwbGlj YXRlIGFueSB6ZXJvIGJpdHMgdG8gYWxsIHRoZSBiaXRzIGluIHRvcDRBbGxPbmVzLgorLQl0b3A0 QWxsT25lcyAmPSB0b3A0QWxsT25lcyA+PiAxNgorLQl0b3A0QWxsT25lcyAmPSB0b3A0QWxsT25l cyA+PiA4CistCXRvcDRBbGxPbmVzICY9IHRvcDRBbGxPbmVzID4+IDQKKy0JdG9wNEFsbE9uZXMg Jj0gdG9wNEFsbE9uZXMgPj4gMgorLQl0b3A0QWxsT25lcyAmPSB0b3A0QWxsT25lcyA+PiAxCist CXRvcDRBbGxPbmVzID0gdWludDMyKGludDMyKHRvcDRBbGxPbmVzPDwzMSkgPj4gMzEpCistCist CS8vIE5vdyB3ZSB0ZXN0IHdoZXRoZXIgdGhlIGJvdHRvbSB0aHJlZSBsaW1icyBhcmUgbm9uLXpl cm8uCistCWJvdHRvbTNOb25aZXJvIDo9IG91dFswXSB8IG91dFsxXSB8IG91dFsyXQorLQlib3R0 b20zTm9uWmVybyB8PSBib3R0b20zTm9uWmVybyA+PiAxNgorLQlib3R0b20zTm9uWmVybyB8PSBi b3R0b20zTm9uWmVybyA+PiA4CistCWJvdHRvbTNOb25aZXJvIHw9IGJvdHRvbTNOb25aZXJvID4+ IDQKKy0JYm90dG9tM05vblplcm8gfD0gYm90dG9tM05vblplcm8gPj4gMgorLQlib3R0b20zTm9u WmVybyB8PSBib3R0b20zTm9uWmVybyA+PiAxCistCWJvdHRvbTNOb25aZXJvID0gdWludDMyKGlu dDMyKGJvdHRvbTNOb25aZXJvPDwzMSkgPj4gMzEpCistCistCS8vIEV2ZXJ5dGhpbmcgZGVwZW5k cyBvbiB0aGUgdmFsdWUgb2Ygb3V0WzNdLgorLQkvLyAgICBJZiBpdCdzID4gMHhmZmZmMDAwIGFu ZCB0b3A0QWxsT25lcyAhPSAwIHRoZW4gdGhlIHdob2xlIHZhbHVlIGlzID49IHAKKy0JLy8gICAg SWYgaXQncyA9IDB4ZmZmZjAwMCBhbmQgdG9wNEFsbE9uZXMgIT0gMCBhbmQgYm90dG9tM05vblpl cm8gIT0gMCwKKy0JLy8gICAgICB0aGVuIHRoZSB3aG9sZSB2YWx1ZSBpcyA+PSBwCistCS8vICAg IElmIGl0J3MgPCAweGZmZmYwMDAsIHRoZW4gdGhlIHdob2xlIHZhbHVlIGlzIDwgcAorLQluIDo9 IG91dFszXSAtIDB4ZmZmZjAwMAorLQlvdXQzRXF1YWwgOj0gbgorLQlvdXQzRXF1YWwgfD0gb3V0 M0VxdWFsID4+IDE2CistCW91dDNFcXVhbCB8PSBvdXQzRXF1YWwgPj4gOAorLQlvdXQzRXF1YWwg fD0gb3V0M0VxdWFsID4+IDQKKy0Jb3V0M0VxdWFsIHw9IG91dDNFcXVhbCA+PiAyCistCW91dDNF cXVhbCB8PSBvdXQzRXF1YWwgPj4gMQorLQlvdXQzRXF1YWwgPSBedWludDMyKGludDMyKG91dDNF cXVhbDw8MzEpID4+IDMxKQorLQorLQkvLyBJZiBvdXRbM10gPiAweGZmZmYwMDAgdGhlbiBuJ3Mg TVNCIHdpbGwgYmUgemVyby4KKy0Jb3V0M0dUIDo9IF51aW50MzIoaW50MzIobikgPj4gMzEpCist CistCW1hc2sgOj0gdG9wNEFsbE9uZXMgJiAoKG91dDNFcXVhbCAmIGJvdHRvbTNOb25aZXJvKSB8 IG91dDNHVCkKKy0Jb3V0WzBdIC09IDEgJiBtYXNrCistCW91dFszXSAtPSAweGZmZmYwMDAgJiBt YXNrCistCW91dFs0XSAtPSAweGZmZmZmZmYgJiBtYXNrCistCW91dFs1XSAtPSAweGZmZmZmZmYg JiBtYXNrCistCW91dFs2XSAtPSAweGZmZmZmZmYgJiBtYXNrCistCW91dFs3XSAtPSAweGZmZmZm ZmYgJiBtYXNrCistfQorLQorLS8vIEdyb3VwIGVsZW1lbnQgZnVuY3Rpb25zLgorLS8vCistLy8g VGhlc2UgZnVuY3Rpb25zIGRlYWwgd2l0aCBncm91cCBlbGVtZW50cy4gVGhlIGdyb3VwIGlzIGFu IGVsbGlwdGljIGN1cnZlCistLy8gZ3JvdXAgd2l0aCBhID0gLTMgZGVmaW5lZCBpbiBGSVBTIDE4 Ni0zLCBzZWN0aW9uIEQuMi4yLgorLQorLS8vIHAyMjRBZGRKYWNvYmlhbiBjb21wdXRlcyAqb3V0 ID0gYStiIHdoZXJlIGEgIT0gYi4KKy1mdW5jIHAyMjRBZGRKYWNvYmlhbih4MywgeTMsIHozLCB4 MSwgeTEsIHoxLCB4MiwgeTIsIHoyICpwMjI0RmllbGRFbGVtZW50KSB7CistCS8vIFNlZSBodHRw Oi8vaHlwZXJlbGxpcHRpYy5vcmcvRUZEL2cxcC9hdXRvLXNob3J0dy1qYWNvYmlhbi0zLmh0bWwj YWRkaXRpb24tcDIyNEFkZC0yMDA3LWJsCistCXZhciB6MXoxLCB6MnoyLCB1MSwgdTIsIHMxLCBz MiwgaCwgaSwgaiwgciwgdiBwMjI0RmllbGRFbGVtZW50CistCXZhciBjIHAyMjRMYXJnZUZpZWxk RWxlbWVudAorLQorLQl6MUlzWmVybyA6PSBwMjI0SXNaZXJvKHoxKQorLQl6MklzWmVybyA6PSBw MjI0SXNaZXJvKHoyKQorLQorLQkvLyBaMVoxID0gWjHCsgorLQlwMjI0U3F1YXJlKCZ6MXoxLCB6 MSwgJmMpCistCS8vIFoyWjIgPSBaMsKyCistCXAyMjRTcXVhcmUoJnoyejIsIHoyLCAmYykKKy0J Ly8gVTEgPSBYMSpaMloyCistCXAyMjRNdWwoJnUxLCB4MSwgJnoyejIsICZjKQorLQkvLyBVMiA9 IFgyKloxWjEKKy0JcDIyNE11bCgmdTIsIHgyLCAmejF6MSwgJmMpCistCS8vIFMxID0gWTEqWjIq WjJaMgorLQlwMjI0TXVsKCZzMSwgejIsICZ6MnoyLCAmYykKKy0JcDIyNE11bCgmczEsIHkxLCAm czEsICZjKQorLQkvLyBTMiA9IFkyKloxKloxWjEKKy0JcDIyNE11bCgmczIsIHoxLCAmejF6MSwg JmMpCistCXAyMjRNdWwoJnMyLCB5MiwgJnMyLCAmYykKKy0JLy8gSCA9IFUyLVUxCistCXAyMjRT dWIoJmgsICZ1MiwgJnUxKQorLQlwMjI0UmVkdWNlKCZoKQorLQl4RXF1YWwgOj0gcDIyNElzWmVy bygmaCkKKy0JLy8gSSA9ICgyKkgpwrIKKy0JZm9yIGogOj0gMDsgaiA8IDg7IGorKyB7CistCQlp W2pdID0gaFtqXSA8PCAxCistCX0KKy0JcDIyNFJlZHVjZSgmaSkKKy0JcDIyNFNxdWFyZSgmaSwg JmksICZjKQorLQkvLyBKID0gSCpJCistCXAyMjRNdWwoJmosICZoLCAmaSwgJmMpCistCS8vIHIg PSAyKihTMi1TMSkKKy0JcDIyNFN1YigmciwgJnMyLCAmczEpCistCXAyMjRSZWR1Y2UoJnIpCist CXlFcXVhbCA6PSBwMjI0SXNaZXJvKCZyKQorLQlpZiB4RXF1YWwgPT0gMSAmJiB5RXF1YWwgPT0g MSAmJiB6MUlzWmVybyA9PSAwICYmIHoySXNaZXJvID09IDAgeworLQkJcDIyNERvdWJsZUphY29i aWFuKHgzLCB5MywgejMsIHgxLCB5MSwgejEpCistCQlyZXR1cm4KKy0JfQorLQlmb3IgaSA6PSAw OyBpIDwgODsgaSsrIHsKKy0JCXJbaV0gPDw9IDEKKy0JfQorLQlwMjI0UmVkdWNlKCZyKQorLQkv LyBWID0gVTEqSQorLQlwMjI0TXVsKCZ2LCAmdTEsICZpLCAmYykKKy0JLy8gWjMgPSAoKFoxK1oy KcKyLVoxWjEtWjJaMikqSAorLQlwMjI0QWRkKCZ6MXoxLCAmejF6MSwgJnoyejIpCistCXAyMjRB ZGQoJnoyejIsIHoxLCB6MikKKy0JcDIyNFJlZHVjZSgmejJ6MikKKy0JcDIyNFNxdWFyZSgmejJ6 MiwgJnoyejIsICZjKQorLQlwMjI0U3ViKHozLCAmejJ6MiwgJnoxejEpCistCXAyMjRSZWR1Y2Uo ejMpCistCXAyMjRNdWwoejMsIHozLCAmaCwgJmMpCistCS8vIFgzID0gcsKyLUotMipWCistCWZv ciBpIDo9IDA7IGkgPCA4OyBpKysgeworLQkJejF6MVtpXSA9IHZbaV0gPDwgMQorLQl9CistCXAy MjRBZGQoJnoxejEsICZqLCAmejF6MSkKKy0JcDIyNFJlZHVjZSgmejF6MSkKKy0JcDIyNFNxdWFy ZSh4MywgJnIsICZjKQorLQlwMjI0U3ViKHgzLCB4MywgJnoxejEpCistCXAyMjRSZWR1Y2UoeDMp CistCS8vIFkzID0gciooVi1YMyktMipTMSpKCistCWZvciBpIDo9IDA7IGkgPCA4OyBpKysgewor LQkJczFbaV0gPDw9IDEKKy0JfQorLQlwMjI0TXVsKCZzMSwgJnMxLCAmaiwgJmMpCistCXAyMjRT dWIoJnoxejEsICZ2LCB4MykKKy0JcDIyNFJlZHVjZSgmejF6MSkKKy0JcDIyNE11bCgmejF6MSwg JnoxejEsICZyLCAmYykKKy0JcDIyNFN1Yih5MywgJnoxejEsICZzMSkKKy0JcDIyNFJlZHVjZSh5 MykKKy0KKy0JcDIyNENvcHlDb25kaXRpb25hbCh4MywgeDIsIHoxSXNaZXJvKQorLQlwMjI0Q29w eUNvbmRpdGlvbmFsKHgzLCB4MSwgejJJc1plcm8pCistCXAyMjRDb3B5Q29uZGl0aW9uYWwoeTMs IHkyLCB6MUlzWmVybykKKy0JcDIyNENvcHlDb25kaXRpb25hbCh5MywgeTEsIHoySXNaZXJvKQor LQlwMjI0Q29weUNvbmRpdGlvbmFsKHozLCB6MiwgejFJc1plcm8pCistCXAyMjRDb3B5Q29uZGl0 aW9uYWwoejMsIHoxLCB6MklzWmVybykKKy19CistCistLy8gcDIyNERvdWJsZUphY29iaWFuIGNv bXB1dGVzICpvdXQgPSBhK2EuCistZnVuYyBwMjI0RG91YmxlSmFjb2JpYW4oeDMsIHkzLCB6Mywg eDEsIHkxLCB6MSAqcDIyNEZpZWxkRWxlbWVudCkgeworLQl2YXIgZGVsdGEsIGdhbW1hLCBiZXRh LCBhbHBoYSwgdCBwMjI0RmllbGRFbGVtZW50CistCXZhciBjIHAyMjRMYXJnZUZpZWxkRWxlbWVu dAorLQorLQlwMjI0U3F1YXJlKCZkZWx0YSwgejEsICZjKQorLQlwMjI0U3F1YXJlKCZnYW1tYSwg eTEsICZjKQorLQlwMjI0TXVsKCZiZXRhLCB4MSwgJmdhbW1hLCAmYykKKy0KKy0JLy8gYWxwaGEg PSAzKihYMS1kZWx0YSkqKFgxK2RlbHRhKQorLQlwMjI0QWRkKCZ0LCB4MSwgJmRlbHRhKQorLQlm b3IgaSA6PSAwOyBpIDwgODsgaSsrIHsKKy0JCXRbaV0gKz0gdFtpXSA8PCAxCistCX0KKy0JcDIy NFJlZHVjZSgmdCkKKy0JcDIyNFN1YigmYWxwaGEsIHgxLCAmZGVsdGEpCistCXAyMjRSZWR1Y2Uo JmFscGhhKQorLQlwMjI0TXVsKCZhbHBoYSwgJmFscGhhLCAmdCwgJmMpCistCistCS8vIFozID0g KFkxK1oxKcKyLWdhbW1hLWRlbHRhCistCXAyMjRBZGQoejMsIHkxLCB6MSkKKy0JcDIyNFJlZHVj ZSh6MykKKy0JcDIyNFNxdWFyZSh6MywgejMsICZjKQorLQlwMjI0U3ViKHozLCB6MywgJmdhbW1h KQorLQlwMjI0UmVkdWNlKHozKQorLQlwMjI0U3ViKHozLCB6MywgJmRlbHRhKQorLQlwMjI0UmVk dWNlKHozKQorLQorLQkvLyBYMyA9IGFscGhhwrItOCpiZXRhCistCWZvciBpIDo9IDA7IGkgPCA4 OyBpKysgeworLQkJZGVsdGFbaV0gPSBiZXRhW2ldIDw8IDMKKy0JfQorLQlwMjI0UmVkdWNlKCZk ZWx0YSkKKy0JcDIyNFNxdWFyZSh4MywgJmFscGhhLCAmYykKKy0JcDIyNFN1Yih4MywgeDMsICZk ZWx0YSkKKy0JcDIyNFJlZHVjZSh4MykKKy0KKy0JLy8gWTMgPSBhbHBoYSooNCpiZXRhLVgzKS04 KmdhbW1hwrIKKy0JZm9yIGkgOj0gMDsgaSA8IDg7IGkrKyB7CistCQliZXRhW2ldIDw8PSAyCist CX0KKy0JcDIyNFN1YigmYmV0YSwgJmJldGEsIHgzKQorLQlwMjI0UmVkdWNlKCZiZXRhKQorLQlw MjI0U3F1YXJlKCZnYW1tYSwgJmdhbW1hLCAmYykKKy0JZm9yIGkgOj0gMDsgaSA8IDg7IGkrKyB7 CistCQlnYW1tYVtpXSA8PD0gMworLQl9CistCXAyMjRSZWR1Y2UoJmdhbW1hKQorLQlwMjI0TXVs KHkzLCAmYWxwaGEsICZiZXRhLCAmYykKKy0JcDIyNFN1Yih5MywgeTMsICZnYW1tYSkKKy0JcDIy NFJlZHVjZSh5MykKKy19CistCistLy8gcDIyNENvcHlDb25kaXRpb25hbCBzZXRzICpvdXQgPSAq aW4gaWZmIHRoZSBsZWFzdC1zaWduaWZpY2FudC1iaXQgb2YgY29udHJvbAorLS8vIGlzIHRydWUs IGFuZCBpdCBydW5zIGluIGNvbnN0YW50IHRpbWUuCistZnVuYyBwMjI0Q29weUNvbmRpdGlvbmFs KG91dCwgaW4gKnAyMjRGaWVsZEVsZW1lbnQsIGNvbnRyb2wgdWludDMyKSB7CistCWNvbnRyb2wg PDw9IDMxCistCWNvbnRyb2wgPSB1aW50MzIoaW50MzIoY29udHJvbCkgPj4gMzEpCistCistCWZv ciBpIDo9IDA7IGkgPCA4OyBpKysgeworLQkJb3V0W2ldIF49IChvdXRbaV0gXiBpbltpXSkgJiBj b250cm9sCistCX0KKy19CistCistZnVuYyBwMjI0U2NhbGFyTXVsdChvdXRYLCBvdXRZLCBvdXRa LCBpblgsIGluWSwgaW5aICpwMjI0RmllbGRFbGVtZW50LCBzY2FsYXIgW11ieXRlKSB7CistCXZh ciB4eCwgeXksIHp6IHAyMjRGaWVsZEVsZW1lbnQKKy0JZm9yIGkgOj0gMDsgaSA8IDg7IGkrKyB7 CistCQlvdXRYW2ldID0gMAorLQkJb3V0WVtpXSA9IDAKKy0JCW91dFpbaV0gPSAwCistCX0KKy0K Ky0JZm9yIF8sIGJ5dGUgOj0gcmFuZ2Ugc2NhbGFyIHsKKy0JCWZvciBiaXROdW0gOj0gdWludCgw KTsgYml0TnVtIDwgODsgYml0TnVtKysgeworLQkJCXAyMjREb3VibGVKYWNvYmlhbihvdXRYLCBv dXRZLCBvdXRaLCBvdXRYLCBvdXRZLCBvdXRaKQorLQkJCWJpdCA6PSB1aW50MzIoKGJ5dGUgPj4g KDcgLSBiaXROdW0pKSAmIDEpCistCQkJcDIyNEFkZEphY29iaWFuKCZ4eCwgJnl5LCAmenosIGlu WCwgaW5ZLCBpblosIG91dFgsIG91dFksIG91dFopCistCQkJcDIyNENvcHlDb25kaXRpb25hbChv dXRYLCAmeHgsIGJpdCkKKy0JCQlwMjI0Q29weUNvbmRpdGlvbmFsKG91dFksICZ5eSwgYml0KQor LQkJCXAyMjRDb3B5Q29uZGl0aW9uYWwob3V0WiwgJnp6LCBiaXQpCistCQl9CistCX0KKy19Cist CistLy8gcDIyNFRvQWZmaW5lIGNvbnZlcnRzIGZyb20gSmFjb2JpYW4gdG8gYWZmaW5lIGZvcm0u CistZnVuYyBwMjI0VG9BZmZpbmUoeCwgeSwgeiAqcDIyNEZpZWxkRWxlbWVudCkgKCpiaWcuSW50 LCAqYmlnLkludCkgeworLQl2YXIgemludiwgemludnNxLCBvdXR4LCBvdXR5IHAyMjRGaWVsZEVs ZW1lbnQKKy0JdmFyIHRtcCBwMjI0TGFyZ2VGaWVsZEVsZW1lbnQKKy0KKy0JaWYgaXNQb2ludEF0 SW5maW5pdHkgOj0gcDIyNElzWmVybyh6KTsgaXNQb2ludEF0SW5maW5pdHkgPT0gMSB7CistCQly ZXR1cm4gbmV3KGJpZy5JbnQpLCBuZXcoYmlnLkludCkKKy0JfQorLQorLQlwMjI0SW52ZXJ0KCZ6 aW52LCB6KQorLQlwMjI0U3F1YXJlKCZ6aW52c3EsICZ6aW52LCAmdG1wKQorLQlwMjI0TXVsKHgs IHgsICZ6aW52c3EsICZ0bXApCistCXAyMjRNdWwoJnppbnZzcSwgJnppbnZzcSwgJnppbnYsICZ0 bXApCistCXAyMjRNdWwoeSwgeSwgJnppbnZzcSwgJnRtcCkKKy0KKy0JcDIyNENvbnRyYWN0KCZv dXR4LCB4KQorLQlwMjI0Q29udHJhY3QoJm91dHksIHkpCistCXJldHVybiBwMjI0VG9CaWcoJm91 dHgpLCBwMjI0VG9CaWcoJm91dHkpCistfQorLQorLS8vIGdldDI4Qml0c0Zyb21FbmQgcmV0dXJu cyB0aGUgbGVhc3Qtc2lnbmlmaWNhbnQgMjggYml0cyBmcm9tIGJ1Zj4+c2hpZnQsCistLy8gd2hl cmUgYnVmIGlzIGludGVycHJldGVkIGFzIGEgYmlnLWVuZGlhbiBudW1iZXIuCistZnVuYyBnZXQy OEJpdHNGcm9tRW5kKGJ1ZiBbXWJ5dGUsIHNoaWZ0IHVpbnQpICh1aW50MzIsIFtdYnl0ZSkgewor LQl2YXIgcmV0IHVpbnQzMgorLQorLQlmb3IgaSA6PSB1aW50KDApOyBpIDwgNDsgaSsrIHsKKy0J CXZhciBiIGJ5dGUKKy0JCWlmIGwgOj0gbGVuKGJ1Zik7IGwgPiAwIHsKKy0JCQliID0gYnVmW2wt MV0KKy0JCQkvLyBXZSBkb24ndCByZW1vdmUgdGhlIGJ5dGUgaWYgd2UncmUgYWJvdXQgdG8gcmV0 dXJuIGFuZCB3ZSdyZSBub3QKKy0JCQkvLyByZWFkaW5nIGFsbCBvZiBpdC4KKy0JCQlpZiBpICE9 IDMgfHwgc2hpZnQgPT0gNCB7CistCQkJCWJ1ZiA9IGJ1Zls6bC0xXQorLQkJCX0KKy0JCX0KKy0J CXJldCB8PSB1aW50MzIoYikgPDwgKDggKiBpKSA+PiBzaGlmdAorLQl9CistCXJldCAmPSBib3R0 b20yOEJpdHMKKy0JcmV0dXJuIHJldCwgYnVmCistfQorLQorLS8vIHAyMjRGcm9tQmlnIHNldHMg Km91dCA9ICppbi4KKy1mdW5jIHAyMjRGcm9tQmlnKG91dCAqcDIyNEZpZWxkRWxlbWVudCwgaW4g KmJpZy5JbnQpIHsKKy0JYnl0ZXMgOj0gaW4uQnl0ZXMoKQorLQlvdXRbMF0sIGJ5dGVzID0gZ2V0 MjhCaXRzRnJvbUVuZChieXRlcywgMCkKKy0Jb3V0WzFdLCBieXRlcyA9IGdldDI4Qml0c0Zyb21F bmQoYnl0ZXMsIDQpCistCW91dFsyXSwgYnl0ZXMgPSBnZXQyOEJpdHNGcm9tRW5kKGJ5dGVzLCAw KQorLQlvdXRbM10sIGJ5dGVzID0gZ2V0MjhCaXRzRnJvbUVuZChieXRlcywgNCkKKy0Jb3V0WzRd LCBieXRlcyA9IGdldDI4Qml0c0Zyb21FbmQoYnl0ZXMsIDApCistCW91dFs1XSwgYnl0ZXMgPSBn ZXQyOEJpdHNGcm9tRW5kKGJ5dGVzLCA0KQorLQlvdXRbNl0sIGJ5dGVzID0gZ2V0MjhCaXRzRnJv bUVuZChieXRlcywgMCkKKy0Jb3V0WzddLCBieXRlcyA9IGdldDI4Qml0c0Zyb21FbmQoYnl0ZXMs IDQpCistfQorLQorLS8vIHAyMjRUb0JpZyByZXR1cm5zIGluIGFzIGEgYmlnLkludC4KKy1mdW5j IHAyMjRUb0JpZyhpbiAqcDIyNEZpZWxkRWxlbWVudCkgKmJpZy5JbnQgeworLQl2YXIgYnVmIFsy OF1ieXRlCistCWJ1ZlsyN10gPSBieXRlKGluWzBdKQorLQlidWZbMjZdID0gYnl0ZShpblswXSA+ PiA4KQorLQlidWZbMjVdID0gYnl0ZShpblswXSA+PiAxNikKKy0JYnVmWzI0XSA9IGJ5dGUoKChp blswXSA+PiAyNCkgJiAweDBmKSB8IChpblsxXTw8NCkmMHhmMCkKKy0KKy0JYnVmWzIzXSA9IGJ5 dGUoaW5bMV0gPj4gNCkKKy0JYnVmWzIyXSA9IGJ5dGUoaW5bMV0gPj4gMTIpCistCWJ1ZlsyMV0g PSBieXRlKGluWzFdID4+IDIwKQorLQorLQlidWZbMjBdID0gYnl0ZShpblsyXSkKKy0JYnVmWzE5 XSA9IGJ5dGUoaW5bMl0gPj4gOCkKKy0JYnVmWzE4XSA9IGJ5dGUoaW5bMl0gPj4gMTYpCistCWJ1 ZlsxN10gPSBieXRlKCgoaW5bMl0gPj4gMjQpICYgMHgwZikgfCAoaW5bM108PDQpJjB4ZjApCist CistCWJ1ZlsxNl0gPSBieXRlKGluWzNdID4+IDQpCistCWJ1ZlsxNV0gPSBieXRlKGluWzNdID4+ IDEyKQorLQlidWZbMTRdID0gYnl0ZShpblszXSA+PiAyMCkKKy0KKy0JYnVmWzEzXSA9IGJ5dGUo aW5bNF0pCistCWJ1ZlsxMl0gPSBieXRlKGluWzRdID4+IDgpCistCWJ1ZlsxMV0gPSBieXRlKGlu WzRdID4+IDE2KQorLQlidWZbMTBdID0gYnl0ZSgoKGluWzRdID4+IDI0KSAmIDB4MGYpIHwgKGlu WzVdPDw0KSYweGYwKQorLQorLQlidWZbOV0gPSBieXRlKGluWzVdID4+IDQpCistCWJ1Zls4XSA9 IGJ5dGUoaW5bNV0gPj4gMTIpCistCWJ1Zls3XSA9IGJ5dGUoaW5bNV0gPj4gMjApCistCistCWJ1 Zls2XSA9IGJ5dGUoaW5bNl0pCistCWJ1Zls1XSA9IGJ5dGUoaW5bNl0gPj4gOCkKKy0JYnVmWzRd ID0gYnl0ZShpbls2XSA+PiAxNikKKy0JYnVmWzNdID0gYnl0ZSgoKGluWzZdID4+IDI0KSAmIDB4 MGYpIHwgKGluWzddPDw0KSYweGYwKQorLQorLQlidWZbMl0gPSBieXRlKGluWzddID4+IDQpCist CWJ1ZlsxXSA9IGJ5dGUoaW5bN10gPj4gMTIpCistCWJ1ZlswXSA9IGJ5dGUoaW5bN10gPj4gMjAp CistCistCXJldHVybiBuZXcoYmlnLkludCkuU2V0Qnl0ZXMoYnVmWzpdKQorLX0KKy0tLSBsaWJn by9nby9jcnlwdG8vZWxsaXB0aWMvcDIyNF90ZXN0LmdvLmpqCTIwMTItMTEtMTUgMTg6MjY6NTcu MDAwMDAwMDAwICswMTAwCisrKysgbGliZ28vZ28vY3J5cHRvL2VsbGlwdGljL3AyMjRfdGVzdC5n bwkyMDE0LTAzLTA1IDE1OjI5OjU4Ljc0MzQzMDk4OCArMDEwMAorQEAgLTEsNDcgKzAsMCBAQAor LS8vIENvcHlyaWdodCAyMDEyIFRoZSBHbyBBdXRob3JzLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4K Ky0vLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZQor LS8vIGxpY2Vuc2UgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy0KKy1w YWNrYWdlIGVsbGlwdGljCistCistaW1wb3J0ICgKKy0JIm1hdGgvYmlnIgorLQkidGVzdGluZyIK Ky0pCistCistdmFyIHRvRnJvbUJpZ1Rlc3RzID0gW11zdHJpbmd7CistCSIwIiwKKy0JIjEiLAor LQkiMjMiLAorLQkiYjcwZTBjYjQ2YmI0YmY3ZjMyMTM5MGI5NGEwM2MxZDM1NmMwMTEyMjM0MzI4 MGQ2MTA1YzFkMjEiLAorLQkiNzA2YTQ2ZDQ3NmRjYjc2Nzk4ZTYwNDZkODk0NzQ3ODhkMTY0YzE4 MDMyZDI2OGZkMTA3MDRmYTYiLAorLX0KKy0KKy1mdW5jIHAyMjRBbHRlcm5hdGl2ZVRvQmlnKGlu ICpwMjI0RmllbGRFbGVtZW50KSAqYmlnLkludCB7CistCXJldCA6PSBuZXcoYmlnLkludCkKKy0J dG1wIDo9IG5ldyhiaWcuSW50KQorLQorLQlmb3IgaSA6PSB1aW50KDApOyBpIDwgODsgaSsrIHsK Ky0JCXRtcC5TZXRJbnQ2NChpbnQ2NChpbltpXSkpCistCQl0bXAuTHNoKHRtcCwgMjgqaSkKKy0J CXJldC5BZGQocmV0LCB0bXApCistCX0KKy0JcmV0Lk1vZChyZXQsIHAyMjQuUCkKKy0JcmV0dXJu IHJldAorLX0KKy0KKy1mdW5jIFRlc3RUb0Zyb21CaWcodCAqdGVzdGluZy5UKSB7CistCWZvciBp LCB0ZXN0IDo9IHJhbmdlIHRvRnJvbUJpZ1Rlc3RzIHsKKy0JCW4sIF8gOj0gbmV3KGJpZy5JbnQp LlNldFN0cmluZyh0ZXN0LCAxNikKKy0JCXZhciB4IHAyMjRGaWVsZEVsZW1lbnQKKy0JCXAyMjRG cm9tQmlnKCZ4LCBuKQorLQkJbSA6PSBwMjI0VG9CaWcoJngpCistCQlpZiBuLkNtcChtKSAhPSAw IHsKKy0JCQl0LkVycm9yZigiIyVkOiAleCAhPSAleCIsIGksIG4sIG0pCistCQl9CistCQlxIDo9 IHAyMjRBbHRlcm5hdGl2ZVRvQmlnKCZ4KQorLQkJaWYgbi5DbXAocSkgIT0gMCB7CistCQkJdC5F cnJvcmYoIiMlZDogJXggIT0gJXggKGFsdGVybmF0aXZlKSIsIGksIG4sIG0pCistCQl9CistCX0K Ky19CistLS0gbGliZ28vZ28vY3J5cHRvL2VsbGlwdGljL3AyNTYuZ28uamoJMjAxMy0xMS0wNyAx MTo1OTowOS4wMDAwMDAwMDAgKzAxMDAKKysrKyBsaWJnby9nby9jcnlwdG8vZWxsaXB0aWMvcDI1 Ni5nbwkyMDE0LTAzLTA1IDE1OjM0OjMxLjkxMDQxNDcwMSArMDEwMAorQEAgLTIzMyw2ICsyMzMs OCBAQCBmdW5jIHAyNTZSZWR1Y2VDYXJyeShpbm91dCAqW3AyNTZMaW1ic111CisgCWlub3V0Wzdd ICs9IGNhcnJ5IDw8IDI1CisgfQorIAorK2NvbnN0IGJvdHRvbTI4Qml0cyA9IDB4ZmZmZmZmZgor KworIC8vIHAyNTZTdW0gc2V0cyBvdXQgPSBpbitpbjIuCisgLy8KKyAvLyBPbiBlbnRyeSwgaW5b aV0raW4yW2ldIG11c3Qgbm90IG92ZXJmbG93IGEgMzItYml0IHdvcmQuCitAQCAtMjY1LDYgKzI2 Nyw3IEBAIGNvbnN0ICgKKyAJdHdvMzFtMiAgICA9IDE8PDMxIC0gMTw8MgorIAl0d28zMXAyNG0y ID0gMTw8MzEgKyAxPDwyNCAtIDE8PDIKKyAJdHdvMzBtMjdtMiA9IDE8PDMwIC0gMTw8MjcgLSAx PDwyCisrCXR3bzMxbTMgICAgPSAxPDwzMSAtIDE8PDMKKyApCisgCisgLy8gcDI1Nlplcm8zMSBp cyAwIG1vZCBwLgoKZGlmZiAtLWdpdCBhL2djYzUtbGliZ29tcC1vbXBfaC1tdWx0aWxpYi5wYXRj aCBiL2djYzUtbGliZ29tcC1vbXBfaC1tdWx0aWxpYi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwLi5kMGU5OGQxCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjNS1saWJnb21w LW9tcF9oLW11bHRpbGliLnBhdGNoCkBAIC0wLDAgKzEsMTcgQEAKKzIwMDgtMDYtMDkgIEpha3Vi IEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgorCisJKiBvbXAuaC5pbiAob21wX25lc3RfbG9j a190KTogRml4IHVwIGZvciBMaW51eCBtdWx0aWxpYnMuCisKKy0tLSBsaWJnb21wL29tcC5oLmlu LmpqCTIwMDgtMDYtMDkgMTM6MzQ6MDUuMDAwMDAwMDAwICswMjAwCisrKysgbGliZ29tcC9vbXAu aC5pbgkyMDA4LTA2LTA5IDEzOjM0OjQ4LjAwMDAwMDAwMCArMDIwMAorQEAgLTQyLDggKzQyLDgg QEAgdHlwZWRlZiBzdHJ1Y3QKKyAKKyB0eXBlZGVmIHN0cnVjdAorIHsKKy0gIHVuc2lnbmVkIGNo YXIgX3hbQE9NUF9ORVNUX0xPQ0tfU0laRUBdIAorLSAgICBfX2F0dHJpYnV0ZV9fKChfX2FsaWdu ZWRfXyhAT01QX05FU1RfTE9DS19BTElHTkApKSk7CisrICB1bnNpZ25lZCBjaGFyIF94WzggKyBz aXplb2YgKHZvaWQgKildIAorKyAgICBfX2F0dHJpYnV0ZV9fKChfX2FsaWduZWRfXyhzaXplb2Yg KHZvaWQgKikpKSk7CisgfSBvbXBfbmVzdF9sb2NrX3Q7CisgI2VuZGlmCisgCgpkaWZmIC0tZ2l0 IGEvZ2NjNS1saWJzYW5pdGl6ZS1hYXJjaDY0LXZhNDIucGF0Y2ggYi9nY2M1LWxpYnNhbml0aXpl LWFhcmNoNjQtdmE0Mi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5i ZDQyMThiCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjNS1saWJzYW5pdGl6ZS1hYXJjaDY0LXZhNDIu cGF0Y2gKQEAgLTAsMCArMSw0NyBAQAorMjAxNS0wMS0yMiAgSmFrdWIgSmVsaW5layAgPGpha3Vi QHJlZGhhdC5jb20+CisKKwkqIGFzYW4vYXNhbl9hbGxvY2F0b3IuaCAoa0FsbG9jYXRvclNwYWNl LCBrQWxsb2NhdG9yU2l6ZSk6CisJU2V0IHRvIDFUIGZvciBfX2FhcmNoNjRfXy4KKwkqIHNhbml0 aXplcl9jb21tb24vc2FuaXRpemVyX3BsYXRmb3JtLmgKKwkoU0FOSVRJWkVSX0NBTl9VU0VfQUxM T0NBVE9SNjQpOiBTZXQgdG8gMSBvbiBfX2FhcmNoNjRfXworCWlmIFNBTklUSVpFUl9XT1JEU0la RSBpcyA2NC4KKwkoU0FOSVRJWkVSX01NQVBfUkFOR0VfU0laRSk6IERlZmluZSB0byAxVUxMIDw8 IDQyIGZvcgorCV9fYWFyY2g2NF9fLgorCistLS0gbGlic2FuaXRpemVyL2FzYW4vYXNhbl9hbGxv Y2F0b3IuaAkocmV2aXNpb24gMjE5ODMzKQorKysrIGxpYnNhbml0aXplci9hc2FuL2FzYW5fYWxs b2NhdG9yLmgJKHdvcmtpbmcgY29weSkKK0BAIC0xMDAsNiArMTAwLDEwIEBACisgIyBpZiBkZWZp bmVkKF9fcG93ZXJwYzY0X18pCisgY29uc3QgdXB0ciBrQWxsb2NhdG9yU3BhY2UgPSAgMHhhMDAw MDAwMDAwMFVMTDsKKyBjb25zdCB1cHRyIGtBbGxvY2F0b3JTaXplICA9ICAweDIwMDAwMDAwMDAw VUxMOyAgLy8gMlQuCisrIyBlbGlmIGRlZmluZWQoX19hYXJjaDY0X18pCisrLy8gVmFsaWQgb25s eSBmb3IgNDItYml0IFZBCisrY29uc3QgdXB0ciBrQWxsb2NhdG9yU3BhY2UgPSAgMHgxMDAwMDAw MDAwMFVMTDsKKytjb25zdCB1cHRyIGtBbGxvY2F0b3JTaXplICA9ICAweDEwMDAwMDAwMDAwVUxM OyAgLy8gMVQuCisgIyBlbHNlCisgY29uc3QgdXB0ciBrQWxsb2NhdG9yU3BhY2UgPSAweDYwMDAw MDAwMDAwMFVMTDsKKyBjb25zdCB1cHRyIGtBbGxvY2F0b3JTaXplICA9ICAweDQwMDAwMDAwMDAw VUxMOyAgLy8gNFQuCistLS0gbGlic2FuaXRpemVyL3Nhbml0aXplcl9jb21tb24vc2FuaXRpemVy X3BsYXRmb3JtLmgJKHJldmlzaW9uIDIxOTgzMykKKysrKyBsaWJzYW5pdGl6ZXIvc2FuaXRpemVy X2NvbW1vbi9zYW5pdGl6ZXJfcGxhdGZvcm0uaAkod29ya2luZyBjb3B5KQorQEAgLTc5LDcgKzc5 LDcgQEAKKyAvLyBGb3Igc3VjaCBwbGF0Zm9ybXMgYnVpbGQgdGhpcyBjb2RlIHdpdGggLURTQU5J VElaRVJfQ0FOX1VTRV9BTExPQ0FUT1I2ND0wIG9yCisgLy8gY2hhbmdlIHRoZSBkZWZpbml0aW9u IG9mIFNBTklUSVpFUl9DQU5fVVNFX0FMTE9DQVRPUjY0IGhlcmUuCisgI2lmbmRlZiBTQU5JVEla RVJfQ0FOX1VTRV9BTExPQ0FUT1I2NAorLSMgaWYgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgZGVm aW5lZChfX21pcHM2NCkKKysjIGlmIGRlZmluZWQoX19taXBzNjQpCisgIyAgZGVmaW5lIFNBTklU SVpFUl9DQU5fVVNFX0FMTE9DQVRPUjY0IDAKKyAjIGVsc2UKKyAjICBkZWZpbmUgU0FOSVRJWkVS X0NBTl9VU0VfQUxMT0NBVE9SNjQgKFNBTklUSVpFUl9XT1JEU0laRSA9PSA2NCkKK0BAIC04OCwx MCArODgsMTAgQEAKKyAKKyAvLyBUaGUgcmFuZ2Ugb2YgYWRkcmVzc2VzIHdoaWNoIGNhbiBiZSBy ZXR1cm5lZCBteSBtbWFwLgorIC8vIEZJWE1FOiB0aGlzIHZhbHVlIHNob3VsZCBiZSBkaWZmZXJl bnQgb24gZGlmZmVyZW50IHBsYXRmb3JtcywKKy0vLyBlLmcuIG9uIEFBcmNoNjQgaXQgaXMgbW9z dCBsaWtlbHkgKDFVTEwgPDwgMzkpLiBMYXJnZXIgdmFsdWVzIHdpbGwgc3RpbGwgd29yaworKy8v IGUuZy4gb24gQUFyY2g2NCBpdCBpcyBtb3N0IGxpa2VseSAoMVVMTCA8PCA0MikuIExhcmdlciB2 YWx1ZXMgd2lsbCBzdGlsbCB3b3JrCisgLy8gYnV0IHdpbGwgY29uc3VtZSBtb3JlIG1lbW9yeSBm b3IgVHdvTGV2ZWxCeXRlTWFwLgorICNpZiBkZWZpbmVkKF9fYWFyY2g2NF9fKQorLSMgZGVmaW5l IFNBTklUSVpFUl9NTUFQX1JBTkdFX1NJWkUgRklSU1RfMzJfU0VDT05EXzY0KDFVTEwgPDwgMzIs IDFVTEwgPDwgMzkpCisrIyBkZWZpbmUgU0FOSVRJWkVSX01NQVBfUkFOR0VfU0laRSBGSVJTVF8z Ml9TRUNPTkRfNjQoMVVMTCA8PCAzMiwgMVVMTCA8PCA0MikKKyAjZWxzZQorICMgZGVmaW5lIFNB TklUSVpFUl9NTUFQX1JBTkdFX1NJWkUgRklSU1RfMzJfU0VDT05EXzY0KDFVTEwgPDwgMzIsIDFV TEwgPDwgNDcpCisgI2VuZGlmCgpkaWZmIC0tZ2l0IGEvZ2NjNS1saWJzdGRjKystZG9jcy5wYXRj aCBiL2djYzUtbGlic3RkYysrLWRvY3MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMC4uNThmNGIzMwotLS0gL2Rldi9udWxsCisrKyBiL2djYzUtbGlic3RkYysrLWRvY3Mu cGF0Y2gKQEAgLTAsMCArMSwyNiBAQAorLS0tIGxpYnN0ZGMrKy12My9kb2MvaHRtbC9pbmRleC5o dG1sLmpqCTIwMTEtMDEtMDMgMTI6NTM6MjEuMjgyODI5MDEwICswMTAwCisrKysgbGlic3RkYysr LXYzL2RvYy9odG1sL2luZGV4Lmh0bWwJMjAxMS0wMS0wNCAxODowNjoyOC45OTk4NTExNDUgKzAx MDAKK0BAIC01LDYgKzUsOCBAQAorICAgICAgIDxhIGNsYXNzPSJsaW5rIiBocmVmPSJodHRwOi8v d3d3LmZzZi5vcmcvIiB0YXJnZXQ9Il90b3AiPkZTRgorICAgICAgIDwvYT4KKyAgICAgPC9wPjxw PgorKyAgICAgIFJlbGVhc2UgNS4wLjAKKysgICAgPC9wPjxwPgorICAgICAgIFBlcm1pc3Npb24g aXMgZ3JhbnRlZCB0byBjb3B5LCBkaXN0cmlidXRlIGFuZC9vciBtb2RpZnkgdGhpcworICAgICAg IGRvY3VtZW50IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEZyZWUgRG9jdW1lbnRhdGlvbgor ICAgICAgIExpY2Vuc2UsIFZlcnNpb24gMS4yIG9yIGFueSBsYXRlciB2ZXJzaW9uIHB1Ymxpc2hl ZCBieSB0aGUKKy0tLSBsaWJzdGRjKystdjMvZG9jL2h0bWwvYXBpLmh0bWwuamoJMjAxMS0wMS0w MyAxMjo1MzoyMS4wMDAwMDAwMDAgKzAxMDAKKysrKyBsaWJzdGRjKystdjMvZG9jL2h0bWwvYXBp Lmh0bWwJMjAxMS0wMS0wNCAxODoxMjowMS42NzI3NTc3ODQgKzAxMDAKK0BAIC0xOCw4ICsxOCwx MSBAQAorICAgbWVtYmVyIGZ1bmN0aW9ucyBmb3IgdGhlIGxpYnJhcnkgY2xhc3NlcywgZmluZGlu ZyBvdXQgd2hhdCBpcyBpbiBhCisgICBwYXJ0aWN1bGFyIGluY2x1ZGUgZmlsZSwgbG9va2luZyBh dCBpbmhlcml0YW5jZSBkaWFncmFtcywgZXRjLgorIDwvcD48cD4KKy0gIFRoZSBBUEkgZG9jdW1l bnRhdGlvbiwgcmVuZGVyZWQgaW50byBIVE1MLCBjYW4gYmUgdmlld2VkIG9ubGluZToKKysgIFRo ZSBBUEkgZG9jdW1lbnRhdGlvbiwgcmVuZGVyZWQgaW50byBIVE1MLCBjYW4gYmUgdmlld2VkIGhl cmU6CisgPC9wPjxkaXYgY2xhc3M9Iml0ZW1pemVkbGlzdCI+PHVsIGNsYXNzPSJpdGVtaXplZGxp c3QiIHN0eWxlPSJsaXN0LXN0eWxlLXR5cGU6IGRpc2M7ICI+PGxpIGNsYXNzPSJsaXN0aXRlbSI+ PHA+CisrICAgICAgPGEgY2xhc3M9ImxpbmsiIGhyZWY9ImFwaS9pbmRleC5odG1sIiB0YXJnZXQ9 Il90b3AiPmZvciB0aGUgNS4wLjAgcmVsZWFzZSwgbG9jYWwKKysgICAgICA8L2E+CisrICAgIDwv cD48L2xpPjxsaSBjbGFzcz0ibGlzdGl0ZW0iPjxwPgorICAgICAgIDxhIGNsYXNzPSJsaW5rIiBo cmVmPSJodHRwOi8vZ2NjLmdudS5vcmcvb25saW5lZG9jcy9saWJzdGRjKysvbGlic3RkYysrLWh0 bWwtVVNFUlMtMy40L2luZGV4Lmh0bWwiIHRhcmdldD0iX3RvcCI+Zm9yIHRoZSAzLjQgcmVsZWFz ZQorICAgICAgIDwvYT4KKyAgICAgPC9wPjwvbGk+PGxpIGNsYXNzPSJsaXN0aXRlbSI+PHA+Cgpk aWZmIC0tZ2l0IGEvZ2NjNS1saWJ0b29sLW5vLXJwYXRoLnBhdGNoIGIvZ2NjNS1saWJ0b29sLW5v LXJwYXRoLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ2NmM2NjEK LS0tIC9kZXYvbnVsbAorKysgYi9nY2M1LWxpYnRvb2wtbm8tcnBhdGgucGF0Y2gKQEAgLTAsMCAr MSwyNyBAQAorbGlidG9vbCBzdWNrcy4KKy0tLSBsdG1haW4uc2guamoJMjAwNy0xMi0wNyAxNDo1 MzoyMS4wMDAwMDAwMDAgKzAxMDAKKysrKyBsdG1haW4uc2gJMjAwOC0wOS0wNSAyMTo1MTo0OC4w MDAwMDAwMDAgKzAyMDAKK0BAIC01Mzk0LDYgKzUzOTQsNyBAQCBFT0YKKyAJICBycGF0aD0iJGZp bmFsaXplX3JwYXRoIgorIAkgIHRlc3QgIiRtb2RlIiAhPSByZWxpbmsgJiYgcnBhdGg9IiRjb21w aWxlX3JwYXRoJHJwYXRoIgorIAkgIGZvciBsaWJkaXIgaW4gJHJwYXRoOyBkbworKwkgICAgY2Fz ZSAiJGxpYmRpciIgaW4gL3Vzci9saWJ8L3Vzci9saWI2NHwvdXNyL2xpYi8uLi9saWJ8L3Vzci9s aWIvLi4vbGliNjQpIGNvbnRpbnVlOzsgZXNhYworIAkgICAgaWYgdGVzdCAtbiAiJGhhcmRjb2Rl X2xpYmRpcl9mbGFnX3NwZWMiOyB0aGVuCisgCSAgICAgIGlmIHRlc3QgLW4gIiRoYXJkY29kZV9s aWJkaXJfc2VwYXJhdG9yIjsgdGhlbgorIAkJaWYgdGVzdCAteiAiJGhhcmRjb2RlX2xpYmRpcnMi OyB0aGVuCitAQCAtNjA3MSw2ICs2MDcyLDcgQEAgRU9GCisgICAgICAgcnBhdGg9CisgICAgICAg aGFyZGNvZGVfbGliZGlycz0KKyAgICAgICBmb3IgbGliZGlyIGluICRjb21waWxlX3JwYXRoICRm aW5hbGl6ZV9ycGF0aDsgZG8KKysJY2FzZSAiJGxpYmRpciIgaW4gL3Vzci9saWJ8L3Vzci9saWI2 NHwvdXNyL2xpYi8uLi9saWJ8L3Vzci9saWIvLi4vbGliNjQpIGNvbnRpbnVlOzsgZXNhYworIAlp ZiB0ZXN0IC1uICIkaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYyI7IHRoZW4KKyAJICBpZiB0ZXN0 IC1uICIkaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvciI7IHRoZW4KKyAJICAgIGlmIHRlc3QgLXog IiRoYXJkY29kZV9saWJkaXJzIjsgdGhlbgorQEAgLTYxMjAsNiArNjEyMiw3IEBAIEVPRgorICAg ICAgIHJwYXRoPQorICAgICAgIGhhcmRjb2RlX2xpYmRpcnM9CisgICAgICAgZm9yIGxpYmRpciBp biAkZmluYWxpemVfcnBhdGg7IGRvCisrCWNhc2UgIiRsaWJkaXIiIGluIC91c3IvbGlifC91c3Iv bGliNjR8L3Vzci9saWIvLi4vbGlifC91c3IvbGliLy4uL2xpYjY0KSBjb250aW51ZTs7IGVzYWMK KyAJaWYgdGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWMiOyB0aGVuCisgCSAgaWYg dGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3IiOyB0aGVuCisgCSAgICBpZiB0ZXN0 IC16ICIkaGFyZGNvZGVfbGliZGlycyI7IHRoZW4KCmRpZmYgLS1naXQgYS9nY2M1LW5vLWFkZC1u ZWVkZWQucGF0Y2ggYi9nY2M1LW5vLWFkZC1uZWVkZWQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMC4uNDEwMmUxYwotLS0gL2Rldi9udWxsCisrKyBiL2djYzUtbm8tYWRk LW5lZWRlZC5wYXRjaApAQCAtMCwwICsxLDUwIEBACisyMDEwLTAyLTA4ICBSb2xhbmQgTWNHcmF0 aCAgPHJvbGFuZEByZWRoYXQuY29tPgorCisJKiBjb25maWcvcnM2MDAwL3N5c3Y0LmggKExJTktf RUhfU1BFQyk6IFBhc3MgLS1uby1hZGQtbmVlZGVkIHRvIHRoZQorCWxpbmtlci4KKwkqIGNvbmZp Zy9nbnUtdXNlci5oIChMSU5LX0VIX1NQRUMpOiBMaWtld2lzZS4KKwkqIGNvbmZpZy9hbHBoYS9l bGYuaCAoTElOS19FSF9TUEVDKTogTGlrZXdpc2UuCisJKiBjb25maWcvaWE2NC9saW51eC5oIChM SU5LX0VIX1NQRUMpOiBMaWtld2lzZS4KKworLS0tIGdjYy9jb25maWcvYWxwaGEvZWxmLmguamoJ MjAxMS0wMS0wMyAxMjo1MjozMS4xMTgwNTY3NjQgKzAxMDAKKysrKyBnY2MvY29uZmlnL2FscGhh L2VsZi5oCTIwMTEtMDEtMDQgMTg6MTQ6MTAuOTMxODc0MTYwICswMTAwCitAQCAtMTY1LDUgKzE2 NSw1IEBAIGV4dGVybiBpbnQgYWxwaGFfdGhpc19ncGRpc3Bfc2VxdWVuY2VfbnUKKyAgICBJIGlt YWdpbmUgdGhhdCBvdGhlciBzeXN0ZW1zIHdpbGwgY2F0Y2ggdXAuICBJbiB0aGUgbWVhbnRpbWUs IGl0CisgICAgZG9lc24ndCBoYXJtIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZSBkYXRhIGV4aXN0cyB0 byBiZSB1c2VkIGxhdGVyLiAgKi8KKyAjaWYgZGVmaW5lZChIQVZFX0xEX0VIX0ZSQU1FX0hEUikK Ky0jZGVmaW5lIExJTktfRUhfU1BFQyAiJXshc3RhdGljOi0tZWgtZnJhbWUtaGRyfSAiCisrI2Rl ZmluZSBMSU5LX0VIX1NQRUMgIi0tbm8tYWRkLW5lZWRlZCAleyFzdGF0aWM6LS1laC1mcmFtZS1o ZHJ9ICIKKyAjZW5kaWYKKy0tLSBnY2MvY29uZmlnL2lhNjQvbGludXguaC5qagkyMDExLTAxLTAz IDEzOjAyOjExLjQ2Mjk5NDUyMiArMDEwMAorKysrIGdjYy9jb25maWcvaWE2NC9saW51eC5oCTIw MTEtMDEtMDQgMTg6MTQ6MTAuOTMxODc0MTYwICswMTAwCitAQCAtNzYsNyArNzYsNyBAQCBkbyB7 CQkJCQkJXAorICAgIFNpZ25hbGl6ZSB0aGF0IGJlY2F1c2Ugd2UgaGF2ZSBmZGUtZ2xpYmMsIHdl IGRvbid0IG5lZWQgYWxsIEMgc2hhcmVkIGxpYnMKKyAgICBsaW5rZWQgYWdhaW5zdCAtbGdjY19z LiAgKi8KKyAjdW5kZWYgTElOS19FSF9TUEVDCistI2RlZmluZSBMSU5LX0VIX1NQRUMgIiIKKysj ZGVmaW5lIExJTktfRUhfU1BFQyAiLS1uby1hZGQtbmVlZGVkICIKKyAKKyAjdW5kZWYgVEFSR0VU X0lOSVRfTElCRlVOQ1MKKyAjZGVmaW5lIFRBUkdFVF9JTklUX0xJQkZVTkNTIGlhNjRfc29mdF9m cF9pbml0X2xpYmZ1bmNzCistLS0gZ2NjL2NvbmZpZy9nbnUtdXNlci5oLmpqCTIwMTEtMDEtMDMg MTI6NTM6MDMuNzM5MDU3Mjk5ICswMTAwCisrKysgZ2NjL2NvbmZpZy9nbnUtdXNlci5oCTIwMTEt MDEtMDQgMTg6MTQ6MTAuOTMyODE0ODg0ICswMTAwCitAQCAtODIsNyArODIsNyBAQCBzZWUgdGhl IGZpbGVzIENPUFlJTkczIGFuZCBDT1BZSU5HLlJVTlRJCisgI2RlZmluZSBMSUJfU1BFQyBHTlVf VVNFUl9UQVJHRVRfTElCX1NQRUMKKyAKKyAjaWYgZGVmaW5lZChIQVZFX0xEX0VIX0ZSQU1FX0hE UikKKy0jZGVmaW5lIExJTktfRUhfU1BFQyAiJXshc3RhdGljOi0tZWgtZnJhbWUtaGRyfSAiCisr I2RlZmluZSBMSU5LX0VIX1NQRUMgIi0tbm8tYWRkLW5lZWRlZCAleyFzdGF0aWM6LS1laC1mcmFt ZS1oZHJ9ICIKKyAjZW5kaWYKKyAKKyAjdW5kZWYgTElOS19HQ0NfQ19TRVFVRU5DRV9TUEVDCist LS0gZ2NjL2NvbmZpZy9yczYwMDAvc3lzdjQuaC5qagkyMDExLTAxLTAzIDEzOjAyOjE4LjI1NTk5 NDIxNSArMDEwMAorKysrIGdjYy9jb25maWcvcnM2MDAwL3N5c3Y0LmgJMjAxMS0wMS0wNCAxODox NDoxMC45MzM4ODg4NzEgKzAxMDAKK0BAIC04MjAsNyArODIwLDcgQEAgZXh0ZXJuIGludCBmaXh1 cGxhYmVsbm87CisgICAtZHluYW1pYy1saW5rZXIgIiBHTlVfVVNFUl9EWU5BTUlDX0xJTktFUiAi fX0iCisgCisgI2lmIGRlZmluZWQoSEFWRV9MRF9FSF9GUkFNRV9IRFIpCistIyBkZWZpbmUgTElO S19FSF9TUEVDICIleyFzdGF0aWM6LS1laC1mcmFtZS1oZHJ9ICIKKysjIGRlZmluZSBMSU5LX0VI X1NQRUMgIi0tbm8tYWRkLW5lZWRlZCAleyFzdGF0aWM6LS1laC1mcmFtZS1oZHJ9ICIKKyAjZW5k aWYKKyAKKyAjZGVmaW5lIENQUF9PU19MSU5VWF9TUEVDICItRF9fdW5peF9fIC1EX19nbnVfbGlu dXhfXyAtRF9fbGludXhfXyBcCgpkaWZmIC0tZ2l0IGEvZ2NjNS1wcGMtaml0LnBhdGNoIGIvZ2Nj NS1wcGMtaml0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc2ZmQ2 MDkKLS0tIC9kZXYvbnVsbAorKysgYi9nY2M1LXBwYy1qaXQucGF0Y2gKQEAgLTAsMCArMSwyMiBA QAorMjAxNS0wMS0xOSAgRGF2aWQgTWFsY29sbSAgPGRtYWxjb2xtQHJlZGhhdC5jb20+CisKKwkq IGNvbmZpZy9yczYwMDAvcnM2MDAwLmMgKHJzNjAwMF9vdXRwdXRfZnVuY3Rpb25fZXBpbG9ndWUp OgorCVN1cHBvcnQgdGhlIEpJVCBieSB1c2luZyAwIGFzIHRoZSBsYW5ndWFnZSB0eXBlLgorCist LS0gZ2NjL2NvbmZpZy9yczYwMDAvcnM2MDAwLmMKKysrKyBnY2MvY29uZmlnL3JzNjAwMC9yczYw MDAuYworQEAgLTI1NDkxLDExICsyNTQ5MSwxMiBAQCByczYwMDBfb3V0cHV0X2Z1bmN0aW9uX2Vw aWxvZ3VlIChGSUxFICpmaWxlLAorIAkgdXNlIGxhbmd1YWdlX3N0cmluZy4KKyAJIEMgaXMgMC4g IEZvcnRyYW4gaXMgMS4gIFBhc2NhbCBpcyAyLiAgQWRhIGlzIDMuICBDKysgaXMgOS4KKyAJIEph dmEgaXMgMTMuICBPYmplY3RpdmUtQyBpcyAxNC4gIE9iamVjdGl2ZS1DKysgaXNuJ3QgYXNzaWdu ZWQKKy0JIGEgbnVtYmVyLCBzbyBmb3Igbm93IHVzZSA5LiAgTFRPIGFuZCBHbyBhcmVuJ3QgYXNz aWduZWQgbnVtYmVycworKwkgYSBudW1iZXIsIHNvIGZvciBub3cgdXNlIDkuICBMVE8sIEdvIGFu ZCBKSVQgYXJlbid0IGFzc2lnbmVkIG51bWJlcnMKKyAJIGVpdGhlciwgc28gZm9yIG5vdyB1c2Ug MC4gICovCisgICAgICAgaWYgKGxhbmdfR05VX0MgKCkKKyAJICB8fCAhIHN0cmNtcCAobGFuZ3Vh Z2Vfc3RyaW5nLCAiR05VIEdJTVBMRSIpCistCSAgfHwgISBzdHJjbXAgKGxhbmd1YWdlX3N0cmlu ZywgIkdOVSBHbyIpKQorKwkgIHx8ICEgc3RyY21wIChsYW5ndWFnZV9zdHJpbmcsICJHTlUgR28i KQorKwkgIHx8ICEgc3RyY21wIChsYW5ndWFnZV9zdHJpbmcsICJsaWJnY2NqaXQiKSkKKyAJaSA9 IDA7CisgICAgICAgZWxzZSBpZiAoISBzdHJjbXAgKGxhbmd1YWdlX3N0cmluZywgIkdOVSBGNzci KQorIAkgICAgICAgfHwgISBzdHJjbXAgKGxhbmd1YWdlX3N0cmluZywgIkdOVSBGb3J0cmFuIikp CgpkaWZmIC0tZ2l0IGEvZ2NjNS1wcGMzMi1yZXRhZGRyLnBhdGNoIGIvZ2NjNS1wcGMzMi1yZXRh ZGRyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdlOGVlYjUKLS0t IC9kZXYvbnVsbAorKysgYi9nY2M1LXBwYzMyLXJldGFkZHIucGF0Y2gKQEAgLTAsMCArMSw4NyBA QAorMjAwNS0xMS0yOCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CisKKwkqIGNv bmZpZy9yczYwMDAvcnM2MDAwLmMgKHJzNjAwMF9yZXR1cm5fYWRkcik6IElmIENPVU5UID09IDAs CisJcmVhZCB3b3JkIFJFVFVSTl9BRERSRVNTX09GRlNFVCBieXRlcyBhYm92ZSBhcmdfcG9pbnRl cl9ydHgKKwlpbnN0ZWFkIG9mIGRvaW5nIGFuIGV4dHJhbiBpbmRpcmVjdGlvbiBmcm9tIGZyYW1l X3BvaW50ZXJfcnR4LgorCisJKiBnY2MuZGcvMjAwNTExMjgtMS5jOiBOZXcgdGVzdC4KKworLS0t IGdjYy9jb25maWcvcnM2MDAwL3JzNjAwMC5jLmpqCTIwMDUtMTEtMjYgMTQ6Mzg6MDEuMDAwMDAw MDAwICswMTAwCisrKysgZ2NjL2NvbmZpZy9yczYwMDAvcnM2MDAwLmMJMjAwNS0xMS0yOCAyMDoz MjoxOC4wMDAwMDAwMDAgKzAxMDAKK0BAIC0yMDk3MCwxOCArMjA5NzAsMjIgQEAgcnM2MDAwX3Jl dHVybl9hZGRyIChpbnQgY291bnQsIHJ0eCBmcmFtZQorICAgaWYgKGNvdW50ICE9IDAKKyAgICAg ICB8fCAoKERFRkFVTFRfQUJJID09IEFCSV9WNCB8fCBERUZBVUxUX0FCSSA9PSBBQklfREFSV0lO KSAmJiBmbGFnX3BpYykpCisgICAgIHsKKysgICAgICBydHggeDsKKyAgICAgICBjZnVuLT5tYWNo aW5lLT5yYV9uZWVkc19mdWxsX2ZyYW1lID0gMTsKKyAKKy0gICAgICByZXR1cm4KKy0JZ2VuX3J0 eF9NRU0KKy0JICAoUG1vZGUsCistCSAgIG1lbW9yeV9hZGRyZXNzCistCSAgIChQbW9kZSwKKy0J ICAgIHBsdXNfY29uc3RhbnQgKFBtb2RlLAorLQkJCSAgIGNvcHlfdG9fcmVnCistCQkJICAgKGdl bl9ydHhfTUVNIChQbW9kZSwKKy0JCQkJCSBtZW1vcnlfYWRkcmVzcyAoUG1vZGUsIGZyYW1lKSkp LAorLQkJCSAgIFJFVFVSTl9BRERSRVNTX09GRlNFVCkpKTsKKysgICAgICBpZiAoY291bnQgPT0g MCkKKysJeworKwkgIGdjY19hc3NlcnQgKGZyYW1lID09IGZyYW1lX3BvaW50ZXJfcnR4KTsKKysJ ICB4ID0gYXJnX3BvaW50ZXJfcnR4OworKwl9CisrICAgICAgZWxzZQorKwl7CisrCSAgeCA9IG1l bW9yeV9hZGRyZXNzIChQbW9kZSwgZnJhbWUpOworKwkgIHggPSBjb3B5X3RvX3JlZyAoZ2VuX3J0 eF9NRU0gKFBtb2RlLCB4KSk7CisrCX0KKysKKysgICAgICB4ID0gcGx1c19jb25zdGFudCAoUG1v ZGUsIHgsIFJFVFVSTl9BRERSRVNTX09GRlNFVCk7CisrICAgICAgcmV0dXJuIGdlbl9ydHhfTUVN IChQbW9kZSwgbWVtb3J5X2FkZHJlc3MgKFBtb2RlLCB4KSk7CisgICAgIH0KKyAKKyAgIGNmdW4t Pm1hY2hpbmUtPnJhX25lZWRfbHIgPSAxOworLS0tIGdjYy90ZXN0c3VpdGUvZ2NjLmRnLzIwMDUx MTI4LTEuYy5qagkyMDA1LTEwLTEwIDExOjIxOjQxLjA5Njk5OTAwMCArMDIwMAorKysrIGdjYy90 ZXN0c3VpdGUvZ2NjLmRnLzIwMDUxMTI4LTEuYwkyMDA1LTExLTI4IDEyOjMwOjU3LjAwMDAwMDAw MCArMDEwMAorQEAgLTAsMCArMSw0MSBAQAorKy8qIHsgZGctZG8gcnVuIH0gKi8KKysvKiB7IGRn LW9wdGlvbnMgIi1PMiAtZnBpYyIgfSAqLworKworK2V4dGVybiB2b2lkIGV4aXQgKGludCk7Cisr ZXh0ZXJuIHZvaWQgYWJvcnQgKHZvaWQpOworKworK2ludCBiOworKworK3N0cnVjdCBBCisrewor KyAgdm9pZCAqcGFkWzE0N107CisrICB2b2lkICpyYSwgKmg7CisrICBsb25nIG87CisrfTsKKysK Kyt2b2lkCisrX19hdHRyaWJ1dGVfXygobm9pbmxpbmUpKQorK2ZvbyAoc3RydWN0IEEgKmEsIHZv aWQgKngpCisreworKyAgX19idWlsdGluX21lbXNldCAoYSwgMCwgc2l6ZW9mIChhKSk7CisrICBp ZiAoIWIpCisrICAgIGV4aXQgKDApOworK30KKysKKyt2b2lkCisrX19hdHRyaWJ1dGVfXygobm9p bmxpbmUpKQorK2JhciAodm9pZCkKKyt7CisrICBzdHJ1Y3QgQSBhOworKworKyAgX19idWlsdGlu X3Vud2luZF9pbml0ICgpOworKyAgZm9vICgmYSwgX19idWlsdGluX3JldHVybl9hZGRyZXNzICgw KSk7CisrfQorKworK2ludAorK21haW4gKHZvaWQpCisreworKyAgYmFyICgpOworKyAgYWJvcnQg KCk7CisrICByZXR1cm4gMDsKKyt9CgpkaWZmIC0tZ2l0IGEvZ2NjNS1wcjY0NzM4LnBhdGNoIGIv Z2NjNS1wcjY0NzM4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNm YjQ0Y2MKLS0tIC9kZXYvbnVsbAorKysgYi9nY2M1LXByNjQ3MzgucGF0Y2gKQEAgLTAsMCArMSwy OCBAQAorMjAxNS0wMS0yMyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CisKKwlQ UiBnby82NDczOAorCSogTWFrZWZpbGUuYW0gKEFNX0xERkxBR1MpOiBSZW1vdmUgLXN0YXRpYy1s aWJnbyBmbGFnLgorCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGVkLgorCistLS0gZ290b29scy9N YWtlZmlsZS5hbQkyMDE1LTAxLTIzIDA5OjQyOjA1Ljc0NzQ3MTY4NSArMDEwMAorKysrIGdvdG9v bHMvTWFrZWZpbGUuYW0JMjAxNS0wMS0yMyAyMTowNDozNi45NzAyMDI2MzcgKzAxMDAKK0BAIC0z OCw3ICszOCw3IEBAIGVuZGlmCisgR09DRkxBR1MgPSAkKENGTEFHU19GT1JfVEFSR0VUKQorIEdP Q09NUElMRSA9ICQoR09DT01QSUxFUikgJChHT0NGTEFHUykKKyAKKy1BTV9MREZMQUdTID0gLUwg JChsaWJnb2RpcikgLUwgJChsaWJnb2RpcikvLmxpYnMgLXN0YXRpYy1saWJnbworK0FNX0xERkxB R1MgPSAtTCAkKGxpYmdvZGlyKSAtTCAkKGxpYmdvZGlyKS8ubGlicworIEdPTElOSyA9ICQoR09D T01QSUxFUikgJChBTV9HT0NGTEFHUykgJChMREZMQUdTKSAkKEFNX0xERkxBR1MpIC1vICRACisg CisgY21kc3JjZGlyID0gJChzcmNkaXIpLy4uL2xpYmdvL2dvL2NtZAorLS0tIGdvdG9vbHMvTWFr ZWZpbGUuaW4JMjAxNS0wMS0yMyAwOTo0MjowNS43MjQ0NzIwODEgKzAxMDAKKysrKyBnb3Rvb2xz L01ha2VmaWxlLmluCTIwMTUtMDEtMjMgMjE6MDQ6NDQuOTQwMDY1MjAxICswMTAwCitAQCAtMjMw LDcgKzIzMCw3IEBAIExJQkdPREVQID0gJChsaWJnb2RpcikvbGliZ28ubGEKKyAjIFVzZSB0aGUg Y29tcGlsZXIgd2UganVzdCBidWlsdC4KKyBATkFUSVZFX1RSVUVAR09DT01QSUxFUiA9ICQoR09D X0ZPUl9UQVJHRVQpCisgR09DT01QSUxFID0gJChHT0NPTVBJTEVSKSAkKEdPQ0ZMQUdTKQorLUFN X0xERkxBR1MgPSAtTCAkKGxpYmdvZGlyKSAtTCAkKGxpYmdvZGlyKS8ubGlicyAtc3RhdGljLWxp YmdvCisrQU1fTERGTEFHUyA9IC1MICQobGliZ29kaXIpIC1MICQobGliZ29kaXIpLy5saWJzCisg R09MSU5LID0gJChHT0NPTVBJTEVSKSAkKEFNX0dPQ0ZMQUdTKSAkKExERkxBR1MpICQoQU1fTERG TEFHUykgLW8gJEAKKyBjbWRzcmNkaXIgPSAkKHNyY2RpcikvLi4vbGliZ28vZ28vY21kCisgZ29f Y21kX2dvX2ZpbGVzID0gXAoKZGlmZiAtLWdpdCBhL2djYzUtcmgzMzA3NzEucGF0Y2ggYi9nY2M1 LXJoMzMwNzcxLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEwMjcz MGYKLS0tIC9kZXYvbnVsbAorKysgYi9nY2M1LXJoMzMwNzcxLnBhdGNoCkBAIC0wLDAgKzEsMjcg QEAKKzIwMDctMTAtMTYgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgorCisJKiBN YWtlZmlsZS5hbSAobGliZ2NqX3Rvb2xzX2xhX0xJQkFERCk6IEFkZC4KKwkqIE1ha2VmaWxlLmlu OiBSZWdlbmVyYXRlZC4KKworLS0tIGxpYmphdmEvTWFrZWZpbGUuYW0uamoJMjAwOS0wNS0wNiAw ODoxNDo1MC4wMDAwMDAwMDAgKzAyMDAKKysrKyBsaWJqYXZhL01ha2VmaWxlLmFtCTIwMDktMDUt MDYgMTA6MjY6NDMuMDAwMDAwMDAwICswMjAwCitAQCAtNTUwLDcgKzU1MCw3IEBAIGxpYmdjal90 b29sc19sYV9MREZMQUdTID0gLXJwYXRoICQodG9vbGUKKyAgJChMSUJHQ0pfTERfU1lNQk9MSUNf RlVOQ1RJT05TKSAkKExJQkpBVkFfTERGTEFHU19OT1VOREVGKSBcCisgICQoTElCSkFWQV9MREZM QUdTX0xJQk1BVEgpCisgCistbGliZ2NqX3Rvb2xzX2xhX0xJQkFERCA9IGxpYmdjai5sYQorK2xp Ymdjal90b29sc19sYV9MSUJBREQgPSAtTCQoaGVyZSkvLmxpYnMgbGliZ2NqLmxhCisgbGliZ2Nq X3Rvb2xzX2xhX0RFUEVOREVOQ0lFUyA9IGxpYmdjai5sYSBsaWJnY2ouc3BlYyBcCisgICQobGli Z2NqX3Rvb2xzX2xhX3ZlcnNpb25fZGVwKQorIGlmIEJVSUxEX1NVQkxJQlMKKy0tLSBsaWJqYXZh L01ha2VmaWxlLmluLmpqCTIwMDktMDUtMDYgMDg6MTQ6NDkuMDAwMDAwMDAwICswMjAwCisrKysg bGliamF2YS9NYWtlZmlsZS5pbgkyMDA5LTA1LTA2IDEwOjI3OjE4LjAwMDAwMDAwMCArMDIwMAor QEAgLTExMTAsNyArMTExMCw3IEBAIGxpYmdjal90b29sc19sYV9MREZMQUdTID0gLXJwYXRoICQo dG9vbGUKKyAgJChMSUJHQ0pfTERfU1lNQk9MSUNfRlVOQ1RJT05TKSAkKExJQkpBVkFfTERGTEFH U19OT1VOREVGKSBcCisgICQoTElCSkFWQV9MREZMQUdTX0xJQk1BVEgpCisgCistbGliZ2NqX3Rv b2xzX2xhX0xJQkFERCA9IGxpYmdjai5sYQorK2xpYmdjal90b29sc19sYV9MSUJBREQgPSAtTCQo aGVyZSkvLmxpYnMgbGliZ2NqLmxhCisgbGliZ2NqX3Rvb2xzX2xhX0RFUEVOREVOQ0lFUyA9IGxp Ymdjai5sYSBsaWJnY2ouc3BlYyBcCisgCSQobGliZ2NqX3Rvb2xzX2xhX3ZlcnNpb25fZGVwKSAk KGFtX19hcHBlbmRfMTkpCisgbGliZ2NqX3Rvb2xzX2xhX0xJTksgPSAkKExJQkxJTkspICQobGli Z2NqX3Rvb2xzX2xhX0xERkxBR1MpIFwKCmRpZmYgLS1naXQgYS9nY2M1LXNwYXJjLWNvbmZpZy1k ZXRlY3Rpb24ucGF0Y2ggYi9nY2M1LXNwYXJjLWNvbmZpZy1kZXRlY3Rpb24ucGF0Y2gKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTM3MDE4ZQotLS0gL2Rldi9udWxsCisrKyBi L2djYzUtc3BhcmMtY29uZmlnLWRldGVjdGlvbi5wYXRjaApAQCAtMCwwICsxLDQwIEBACistLS0g Z2NjL2NvbmZpZy5nY2MuamoJMjAwOC0wNC0yNCAxNTo0Mjo0Ni4wMDAwMDAwMDAgLTA1MDAKKysr KyBnY2MvY29uZmlnLmdjYwkyMDA4LTA0LTI0IDE1OjQ0OjUxLjAwMDAwMDAwMCAtMDUwMAorQEAg LTI2NTYsNyArMjY1Niw3IEBAIHNwYXJjLSotcnRlbXMqKQorIAl0bV9maWxlPSIke3RtX2ZpbGV9 IGRieGVsZi5oIGVsZm9zLmggc3BhcmMvc3lzdjQuaCBzcGFyYy9zcC1lbGYuaCBzcGFyYy9ydGVt c2VsZi5oIHJ0ZW1zLmggbmV3bGliLXN0ZGludC5oIgorIAl0bWFrZV9maWxlPSIke3RtYWtlX2Zp bGV9IHNwYXJjL3Qtc3BhcmMgc3BhcmMvdC1ydGVtcyIKKyAJOzsKKy1zcGFyYy0qLWxpbnV4KikK KytzcGFyYy0qLWxpbnV4KiB8IHNwYXJjdjktKi1saW51eCopCisgCXRtX2ZpbGU9IiR7dG1fZmls ZX0gZGJ4ZWxmLmggZWxmb3MuaCBzcGFyYy9zeXN2NC5oIGdudS11c2VyLmggbGludXguaCBnbGli Yy1zdGRpbnQuaCBzcGFyYy90c28uaCIKKyAJZXh0cmFfb3B0aW9ucz0iJHtleHRyYV9vcHRpb25z fSBzcGFyYy9sb25nLWRvdWJsZS1zd2l0Y2gub3B0IgorIAljYXNlICR7dGFyZ2V0fSBpbgorQEAg LTI3MTAsNyArMjcxMCw3IEBAIHNwYXJjNjQtKi1ydGVtcyopCisgCWV4dHJhX29wdGlvbnM9IiR7 ZXh0cmFfb3B0aW9uc30iCisgCXRtYWtlX2ZpbGU9IiR7dG1ha2VfZmlsZX0gc3BhcmMvdC1zcGFy YyBzcGFyYy90LXJ0ZW1zLTY0IgorIAk7OworLXNwYXJjNjQtKi1saW51eCopCisrc3BhcmM2NCot Ki1saW51eCopCisgCXRtX2ZpbGU9InNwYXJjL2JpYXJjaDY0LmggJHt0bV9maWxlfSBkYnhlbGYu aCBlbGZvcy5oIHNwYXJjL3N5c3Y0LmggZ251LXVzZXIuaCBsaW51eC5oIGdsaWJjLXN0ZGludC5o IHNwYXJjL2RlZmF1bHQtNjQuaCBzcGFyYy9saW51eDY0Lmggc3BhcmMvdHNvLmgiCisgCWV4dHJh X29wdGlvbnM9IiR7ZXh0cmFfb3B0aW9uc30gc3BhcmMvbG9uZy1kb3VibGUtc3dpdGNoLm9wdCIK KyAJdG1ha2VfZmlsZT0iJHt0bWFrZV9maWxlfSBzcGFyYy90LXNwYXJjIHNwYXJjL3QtbGludXg2 NCIKKy0tLSBsaWJnY2MvY29uZmlnLmhvc3QuamoJMjAwOC0wNC0yNCAxNTo0NjoxOS4wMDAwMDAw MDAgLTA1MDAKKysrKyBsaWJnY2MvY29uZmlnLmhvc3QJMjAwOC0wNC0yNCAxNTo0Njo0OS4wMDAw MDAwMDAgLTA1MDAKK0BAIC0xMDAyLDcgKzEwMDIsNyBAQCBzcGFyYy0qLWVsZiopCisgCXRtYWtl X2ZpbGU9IiR7dG1ha2VfZmlsZX0gdC1mZHBiaXQgdC1jcnRmbSIKKyAJZXh0cmFfcGFydHM9IiRl eHRyYV9wYXJ0cyBjcnRpLm8gY3J0bi5vIGNydGZhc3RtYXRoLm8iCisgCTs7Cistc3BhcmMtKi1s aW51eCopCQkjIFNQQVJDJ3MgcnVubmluZyBHTlUvTGludXgsIGxpYmM2Cisrc3BhcmMtKi1saW51 eCogfCBzcGFyY3Y5LSotbGludXgqKQkJIyBTUEFSQydzIHJ1bm5pbmcgR05VL0xpbnV4LCBsaWJj NgorIAl0bWFrZV9maWxlPSIke3RtYWtlX2ZpbGV9IHQtY3J0Zm0iCisgCWlmIHRlc3QgIiR7aG9z dF9hZGRyZXNzfSIgPSA2NDsgdGhlbgorIAkJdG1ha2VfZmlsZT0iJHRtYWtlX2ZpbGUgc3BhcmMv dC1saW51eDY0IgorQEAgLTEwNTAsNyArMTA1MCw3IEBAIHNwYXJjNjQtKi1mcmVlYnNkKnx1bHRy YXNwYXJjLSotZnJlZWJzZCoKKyAJdG1ha2VfZmlsZT0iJHRtYWtlX2ZpbGUgdC1jcnRmbSIKKyAJ ZXh0cmFfcGFydHM9IiRleHRyYV9wYXJ0cyBjcnRmYXN0bWF0aC5vIgorIAk7OworLXNwYXJjNjQt Ki1saW51eCopCQkjIDY0LWJpdCBTUEFSQydzIHJ1bm5pbmcgR05VL0xpbnV4Cisrc3BhcmM2NCot Ki1saW51eCopCQkjIDY0LWJpdCBTUEFSQydzIHJ1bm5pbmcgR05VL0xpbnV4CisgCWV4dHJhX3Bh cnRzPSIkZXh0cmFfcGFydHMgY3J0ZmFzdG1hdGgubyIKKyAJdG1ha2VfZmlsZT0iJHt0bWFrZV9m aWxlfSB0LWNydGZtIHNwYXJjL3QtbGludXgiCisgCWlmIHRlc3QgIiR7aG9zdF9hZGRyZXNzfSIg PSA2NDsgdGhlbgoKZGlmZiAtLWdpdCBhL3NvdXJjZXMgYi9zb3VyY2VzCmluZGV4IGI5YzU0OGIu LmRiNzcwMDUgMTAwNjQ0Ci0tLSBhL3NvdXJjZXMKKysrIGIvc291cmNlcwpAQCAtMSwzICsxIEBA Ci1lMzRmY2EwNTQwZDg0MGU1ZDBmNjQyN2U5OGM5MjI1MiAgY2xvb2ctMC4xOC4xLnRhci5negot Njg5ODg3Y2NhNGEyOGMxMzg1MTY5YmM1ZDNhMTRjNzcgIGdjYy00LjkuMi0yMDE1MDEwNy50YXIu YnoyCi1lMDM5YmZjZmI2YzJhYjAzOWI4ZWU2OWJmODgzZTgyNCAgaXNsLTAuMTIuMi50YXIuYnoy Cis5NDg2MGU3NWM0ODA4Y2VjN2I3ODM0MTUwNjRhYmVlOCAgZ2NjLTUuMC4wLTIwMTUwMTIzLnRh ci5iejIK