From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Garnier Subject: [PATCH v4 00/27] x86: PIE support and option to extend KASLR randomization Date: Tue, 29 May 2018 15:15:01 -0700 Message-ID: <20180529221625.33541-1-thgarnie__24435.9394455843$1527632154$gmane$org@google.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1fNmv2-0001iG-LY for xen-devel@lists.xenproject.org; Tue, 29 May 2018 22:16:40 +0000 Received: by mail-pl0-x242.google.com with SMTP id bi12-v6so9761666plb.12 for ; Tue, 29 May 2018 15:16:38 -0700 (PDT) List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: kernel-hardening@lists.openwall.com Cc: Nicolas Pitre , Sergey Senozhatsky , Jan Kiszka , Paolo Bonzini , Pavel Machek , Christoph Lameter , linux-arch@vger.kernel.org, linux-sparse@vger.kernel.org, Matthias Kaehlcke , xen-devel@lists.xenproject.org, Petr Mladek , linux-pm@vger.kernel.org, Nicholas Piggin , Cao jin , Andy Lutomirski , Thomas Gleixner , nixiaoming , Skip Jiri Kosina , Randy Dunlap , "Rafael J. Wysocki" , linux-kernel@vger.kernel.org, Jia Zhang , "Luis R. Rodriguez" , linux-crypto@vger.kernel.org, Greg Kroah-Hartman List-Id: xen-devel@lists.xenproject.org Q2hhbmdlczoKIC0gcGF0Y2ggdjQ6CiAgIC0gU2ltcGxpZnkgZWFybHkgYm9vdCBieSByZW1vdmlu ZyBnbG9iYWwgdmFyaWFibGVzLgogICAtIE1vZGlmeSB0aGUgbWNvdW50IGxvY2F0aW9uIHNjcmlw dCBmb3IgX19tY291bnRfbG9jIGludGVhZCBvZiB0aGUgYWRkcmVzcwogICAgIHJlYWQgaW4gdGhl IGZ0cmFjZSBpbXBsZW1lbnRhdGlvbi4KICAgLSBFZGl0IGNvbW1pdCBkZXNjcmlwdGlvbiB0byBl eHBsYWluIGJldHRlciB3aGVyZSB0aGUga2VybmVsIGNhbiBiZSBsb2NhdGVkLgogICAtIFN0cmVh bWxpbmVkIHRoZSB0ZXN0aW5nIGRvbmUgb24gZWFjaCBwYXRjaCBwcm9wb3NhbC4gQWx3YXlzIHRl c3RpbmcKICAgICBoaWJlcm5hdGlvbiwgc3VzcGVuZCwgZnRyYWNlIGFuZCBrcHJvYmUgdG8gZW5z dXJlIG5vIHJlZ3Jlc3Npb25zLgogLSBwYXRjaCB2MzoKICAgLSBVcGRhdGUgb24gbWVzc2FnZSB0 byBkZXNjcmliZSBsb25nZXIgdGVybSBQSUUgZ29hbC4KICAgLSBNaW5vciBjaGFuZ2Ugb24gZnRy YWNlIGlmIGNvbmRpdGlvbi4KICAgLSBDaGFuZ2VkIGNvZGUgdXNpbmcgeGNoZ3EuCiAtIHBhdGNo IHYyOgogICAtIEFkYXB0IHBhdGNoIHRvIHdvcmsgcG9zdCBLUFRJIGFuZCBjb21waWxlciBjaGFu Z2VzCiAgIC0gUmVkbyBhbGwgcGVyZm9ybWFuY2UgdGVzdGluZyB3aXRoIGxhdGVzdCBjb25maWdz IGFuZCBjb21waWxlcnMKICAgLSBTaW1wbGlmeSBtb3YgbWFjcm8gb24gUElFIChNT1ZBQlMgbm93 KQogICAtIFJlZHVjZSBHT1QgZm9vdHByaW50CiAtIHBhdGNoIHYxOgogICAtIFNpbXBsaWZ5IGZ0 cmFjZSBpbXBsZW1lbnRhdGlvbi4KICAgLSBVc2UgZ2NjIG1zdGFjay1wcm90ZWN0b3ItZ3VhcmQt cmVnPSVncyB3aXRoIFBJRSB3aGVuIHBvc3NpYmxlLgogLSByZmMgdjM6CiAgIC0gVXNlIC0tZW1p dC1yZWxvY3MgaW5zdGVhZCBvZiAtcGllIHRvIHJlZHVjZSBkeW5hbWljIHJlbG9jYXRpb24gc3Bh Y2Ugb24KICAgICBtYXBwZWQgbWVtb3J5LiBJdCBhbHNvIHNpbXBsaWZpZXMgdGhlIHJlbG9jYXRp b24gcHJvY2Vzcy4KICAgLSBNb3ZlIHRoZSBzdGFydCB0aGUgbW9kdWxlIHNlY3Rpb24gbmV4dCB0 byB0aGUga2VybmVsLiBSZW1vdmUgdGhlIG5lZWQgZm9yCiAgICAgLW1jbW9kZWw9bGFyZ2Ugb24g bW9kdWxlcy4gRXh0ZW5kcyBtb2R1bGUgc3BhY2UgZnJvbSAxIHRvIDJHIG1heGltdW0uCiAgIC0g U3VwcG9ydCBmb3IgWEVOIFBWSCBhcyAzMi1iaXQgcmVsb2NhdGlvbnMgY2FuIGJlIGlnbm9yZWQg d2l0aAogICAgIC0tZW1pdC1yZWxvY3MuCiAgIC0gU3VwcG9ydCBmb3IgR09UIHJlbG9jYXRpb25z IHByZXZpb3VzbHkgZG9uZSBhdXRvbWF0aWNhbGx5IHdpdGggLXBpZS4KICAgLSBSZW1vdmUgbmVl ZCBmb3IgZHluYW1pYyBQTFQgaW4gbW9kdWxlcy4KICAgLSBTdXBwb3J0IGR5bWFtaWMgR09UIGZv ciBtb2R1bGVzLgogLSByZmMgdjI6CiAgIC0gQWRkIHN1cHBvcnQgZm9yIGdsb2JhbCBzdGFjayBj b29raWUgd2hpbGUgY29tcGlsZXIgZGVmYXVsdCB0byBmcyB3aXRob3V0CiAgICAgbWNtb2RlbD1r ZXJuZWwKICAgLSBDaGFuZ2UgcGF0Y2ggNyB0byBjb3JyZWN0bHkganVtcCBvdXQgb2YgdGhlIGlk ZW50aXR5IG1hcHBpbmcgb24ga2V4ZWMgbG9hZAogICAgIHByZXNlcnZlLgoKVGhlc2UgcGF0Y2hl cyBtYWtlIHRoZSBjaGFuZ2VzIG5lY2Vzc2FyeSB0byBidWlsZCB0aGUga2VybmVsIGFzIFBvc2l0 aW9uCkluZGVwZW5kZW50IEV4ZWN1dGFibGUgKFBJRSkgb24geDg2XzY0LiBBIFBJRSBrZXJuZWwg Y2FuIGJlIHJlbG9jYXRlZCBiZWxvdwp0aGUgdG9wIDJHIG9mIHRoZSB2aXJ0dWFsIGFkZHJlc3Mg c3BhY2UuIEl0IGFsbG93cyB0byBvcHRpb25hbGx5IGV4dGVuZCB0aGUKS0FTTFIgcmFuZG9taXph dGlvbiByYW5nZSBmcm9tIDFHIHRvIDNHLiBUaGUgY2hvc2VuIHJhbmdlIGlzIHRoZSBvbmUgY3Vy cmVudGx5CmF2YWlsYWJsZSwgZnV0dXJlIGNoYW5nZXMgd2lsbCBhbGxvdyB0aGUga2VybmVsIG1v ZHVsZSB0byBoYXZlIGEgd2lkZXIKcmFuZG9taXphdGlvbiByYW5nZS4KClRoYW5rcyBhIGxvdCB0 byBBcmQgQmllc2hldXZlbCAmIEtlZXMgQ29vayBvbiB0aGVpciBmZWVkYmFjayBvbiBjb21waWxl cgpjaGFuZ2VzLCBQSUUgc3VwcG9ydCBhbmQgS0FTTFIgaW4gZ2VuZXJhbC4gVGhhbmtzIHRvIFJv bGFuZCBNY0dyYXRoIG9uIGhpcwpmZWVkYmFjayBmb3IgdXNpbmcgLXBpZSB2ZXJzdXMgLS1lbWl0 LXJlbG9jcyBhbmQgZGV0YWlscyBvbiBjb21waWxlciBjb2RlCmdlbmVyYXRpb24uCgpUaGUgcGF0 Y2hlczoKIC0gMS0zLCA1LTEzLCAxOC0xOTogQ2hhbmdlIGluIGFzc2VtYmx5IGNvZGUgdG8gYmUg UElFIGNvbXBsaWFudC4KIC0gNDogQWRkIGEgbmV3IF9BU01fTU9WQUJTIG1hY3JvIHRvIGZldGNo IGEgc3ltYm9sIGFkZHJlc3MgZ2VuZXJpY2FsbHkuCiAtIDE0OiBBZGFwdCBwZXJjcHUgZGVzaWdu IHRvIHdvcmsgY29ycmVjdGx5IHdoZW4gUElFIGlzIGVuYWJsZWQuCiAtIDE1OiBQcm92aWRlIGFu IG9wdGlvbiB0byBkZWZhdWx0IHZpc2liaWxpdHkgdG8gaGlkZGVuIGV4Y2VwdCBmb3Iga2V5IHN5 bWJvbHMuCiAgICAgICBJdCByZW1vdmVzIGVycm9ycyBiZXR3ZWVuIGNvbXBpbGF0aW9uIHVuaXRz LgogLSAxNjogQWRkIFBST1ZJREVfSElEREVOIHJlcGxhY2VtZW50IG9uIHRoZSBsaW5rZXIgc2Ny aXB0IGZvciB3ZWFrIHN5bWJvbHMgdG8KICAgICAgIHJlZHVjZSBHT1QgZm9vdHByaW50LgogLSAx NzogQWRhcHQgcmVsb2NhdGlvbiB0b29sIHRvIGhhbmRsZSBQSUUgYmluYXJ5IGNvcnJlY3RseS4K IC0gMjA6IEFkZCBzdXBwb3J0IGZvciBnbG9iYWwgY29va2llLgogLSAyMTogU3VwcG9ydCBmdHJh Y2Ugd2l0aCBQSUUgKHVzZWQgb24gVWJ1bnR1IGNvbmZpZykuCiAtIDIyOiBBZGQgb3B0aW9uIHRv IG1vdmUgdGhlIG1vZHVsZSBzZWN0aW9uIGp1c3QgYWZ0ZXIgdGhlIGtlcm5lbC4KIC0gMjM6IEFk YXB0IG1vZHVsZSBsb2FkaW5nIHRvIHN1cHBvcnQgUElFIHdpdGggZHluYW1pYyBHT1QuCiAtIDI0 OiBNYWtlIHRoZSBHT1QgcmVhZC1vbmx5LgogLSAyNTogQWRkIHRoZSBDT05GSUdfWDg2X1BJRSBv cHRpb24gKG9mZiBieSBkZWZhdWx0KS4KIC0gMjY6IEFkYXB0IHJlbG9jYXRpb24gdG9vbCB0byBn ZW5lcmF0ZSBhIDY0LWJpdCByZWxvY2F0aW9uIHRhYmxlLgogLSAyNzogQWRkIHRoZSBDT05GSUdf UkFORE9NSVpFX0JBU0VfTEFSR0Ugb3B0aW9uIHRvIGluY3JlYXNlIHJlbG9jYXRpb24gcmFuZ2UK ICAgICAgIGZyb20gMUcgdG8gM0cgKG9mZiBieSBkZWZhdWx0KS4KClBlcmZvcm1hbmNlL1NpemUg aW1wYWN0OgoKU2l6ZSBvZiB2bWxpbnV4IChEZWZhdWx0IGNvbmZpZ3VyYXRpb24pOgogRmlsZSBz aXplOgogLSBQSUUgZGlzYWJsZWQ6ICswLjE4JQogLSBQSUUgZW5hYmxlZDogLTEuOTc3JSAobGVz cyByZWxvY2F0aW9ucykKIC50ZXh0IHNlY3Rpb246CiAtIFBJRSBkaXNhYmxlZDogc2FtZQogLSBQ SUUgZW5hYmxlZDogc2FtZQoKU2l6ZSBvZiB2bWxpbnV4IChVYnVudHUgY29uZmlndXJhdGlvbik6 CiBGaWxlIHNpemU6CiAtIFBJRSBkaXNhYmxlZDogKzAuMjElCiAtIFBJRSBlbmFibGVkOiArMTAl CiAudGV4dCBzZWN0aW9uOgogLSBQSUUgZGlzYWJsZWQ6IHNhbWUKIC0gUElFIGVuYWJsZWQ6ICsw LjAwMSUKClRoZSBzaXplIGluY3JlYXNlIGlzIG1haW5seSBkdWUgdG8gbm90IGhhdmluZyBhY2Nl c3MgdG8gdGhlIDMyLWJpdCBzaWduZWQKcmVsb2NhdGlvbiB0aGF0IGNhbiBiZSB1c2VkIHdpdGgg bWNtb2RlbD1rZXJuZWwuIEEgc21hbGwgcGFydCBpcyBkdWUgdG8gcmVkdWNlZApvcHRpbWl6YXRp b24gZm9yIFBJRSBjb2RlLiBUaGlzIGJ1ZyBbMV0gd2FzIG9wZW5lZCB3aXRoIGdjYyB0byBwcm92 aWRlIGEgYmV0dGVyCmNvZGUgZ2VuZXJhdGlvbiBmb3Iga2VybmVsIFBJRS4KCkhhY2tiZW5jaCAo NTAlIGFuZCAxNjAwJSBvbiB0aHJlYWQvcHJvY2VzcyBmb3IgcGlwZS9zb2NrZXRzKToKIC0gUElF IGRpc2FibGVkOiBubyBzaWduaWZpY2FudCBjaGFuZ2UgKGF2ZyAtLysgMC41JSBvbiBsYXRlc3Qg dGVzdCkuCiAtIFBJRSBlbmFibGVkOiBiZXR3ZWVuIC0xJSB0byArMSUgaW4gYXZlcmFnZSAoZGVm YXVsdCBhbmQgVWJ1bnR1IGNvbmZpZykuCgpLZXJuYmVuY2ggKGF2ZXJhZ2Ugb2YgMTAgSGFsZiBh bmQgT3B0aW1hbCBydW5zKToKIEVsYXBzZWQgVGltZToKIC0gUElFIGRpc2FibGVkOiBubyBzaWdu aWZpY2FudCBjaGFuZ2UgKGF2ZyAtMC41JSkKIC0gUElFIGVuYWJsZWQ6IGF2ZXJhZ2UgLTAuNSUg dG8gKzAuNSUKIFN5c3RlbSBUaW1lOgogLSBQSUUgZGlzYWJsZWQ6IG5vIHNpZ25pZmljYW50IGNo YW5nZSAoYXZnIC0wLjElKQogLSBQSUUgZW5hYmxlZDogYXZlcmFnZSAtMC40JSB0byArMC40JS4K ClsxXSBodHRwczovL2djYy5nbnUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD04MjMwMwoK ZGlmZnN0YXQ6CiBEb2N1bWVudGF0aW9uL3g4Ni94ODZfNjQvbW0udHh0ICAgICAgICAgICAgICB8 ICAgIDMgCiBhcmNoL3g4Ni9LY29uZmlnICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAg NDUgKysrKysrCiBhcmNoL3g4Ni9NYWtlZmlsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 ICAgNTggKysrKysrKysKIGFyY2gveDg2L2Jvb3QvYm9vdC5oICAgICAgICAgICAgICAgICAgICAg ICAgIHwgICAgMiAKIGFyY2gveDg2L2Jvb3QvY29tcHJlc3NlZC9NYWtlZmlsZSAgICAgICAgICAg IHwgICAgNSAKIGFyY2gveDg2L2Jvb3QvY29tcHJlc3NlZC9taXNjLmMgICAgICAgICAgICAgIHwg ICAxMCArCiBhcmNoL3g4Ni9jcnlwdG8vYWVzLXg4Nl82NC1hc21fNjQuUyAgICAgICAgICB8ICAg NDUgKysrKy0tCiBhcmNoL3g4Ni9jcnlwdG8vYWVzbmktaW50ZWxfYXNtLlMgICAgICAgICAgICB8 ICAgIDggLQogYXJjaC94ODYvY3J5cHRvL2Flc25pLWludGVsX2F2eC14ODZfNjQuUyAgICAgfCAg ICA2IAogYXJjaC94ODYvY3J5cHRvL2NhbWVsbGlhLWFlc25pLWF2eC1hc21fNjQuUyAgfCAgIDQy ICsrKy0tLQogYXJjaC94ODYvY3J5cHRvL2NhbWVsbGlhLWFlc25pLWF2eDItYXNtXzY0LlMgfCAg IDQ0ICsrKy0tLQogYXJjaC94ODYvY3J5cHRvL2NhbWVsbGlhLXg4Nl82NC1hc21fNjQuUyAgICAg fCAgICA4IC0KIGFyY2gveDg2L2NyeXB0by9jYXN0NS1hdngteDg2XzY0LWFzbV82NC5TICAgIHwg ICA1MCArKysrLS0tCiBhcmNoL3g4Ni9jcnlwdG8vY2FzdDYtYXZ4LXg4Nl82NC1hc21fNjQuUyAg ICB8ICAgNDQgKysrLS0tCiBhcmNoL3g4Ni9jcnlwdG8vZGVzM19lZGUtYXNtXzY0LlMgICAgICAg ICAgICB8ICAgOTYgKysrKysrKysrLS0tLS0KIGFyY2gveDg2L2NyeXB0by9naGFzaC1jbG11bG5p LWludGVsX2FzbS5TICAgIHwgICAgNCAKIGFyY2gveDg2L2NyeXB0by9nbHVlX2hlbHBlci1hc20t YXZ4LlMgICAgICAgIHwgICAgNCAKIGFyY2gveDg2L2NyeXB0by9nbHVlX2hlbHBlci1hc20tYXZ4 Mi5TICAgICAgIHwgICAgNiAKIGFyY2gveDg2L2NyeXB0by9zaGEyNTYtYXZ4Mi1hc20uUyAgICAg ICAgICAgIHwgICAyMyArKy0KIGFyY2gveDg2L2VudHJ5L2NhbGxpbmcuaCAgICAgICAgICAgICAg ICAgICAgIHwgICAgMiAKIGFyY2gveDg2L2VudHJ5L2VudHJ5XzMyLlMgICAgICAgICAgICAgICAg ICAgIHwgICAgMyAKIGFyY2gveDg2L2VudHJ5L2VudHJ5XzY0LlMgICAgICAgICAgICAgICAgICAg IHwgICAyNSArKy0KIGFyY2gveDg2L2luY2x1ZGUvYXNtL2FzbS5oICAgICAgICAgICAgICAgICAg IHwgICAgMSAKIGFyY2gveDg2L2luY2x1ZGUvYXNtL2J1Zy5oICAgICAgICAgICAgICAgICAgIHwg ICAgMiAKIGFyY2gveDg2L2luY2x1ZGUvYXNtL2Z0cmFjZS5oICAgICAgICAgICAgICAgIHwgICAg NCAKIGFyY2gveDg2L2luY2x1ZGUvYXNtL2p1bXBfbGFiZWwuaCAgICAgICAgICAgIHwgICAgOCAt CiBhcmNoL3g4Ni9pbmNsdWRlL2FzbS9rdm1faG9zdC5oICAgICAgICAgICAgICB8ICAgIDggLQog YXJjaC94ODYvaW5jbHVkZS9hc20vbW9kdWxlLmggICAgICAgICAgICAgICAgfCAgIDExICsKIGFy Y2gveDg2L2luY2x1ZGUvYXNtL3BhZ2VfNjRfdHlwZXMuaCAgICAgICAgIHwgICAgOSArCiBhcmNo L3g4Ni9pbmNsdWRlL2FzbS9wYXJhdmlydF90eXBlcy5oICAgICAgICB8ICAgMTIgKwogYXJjaC94 ODYvaW5jbHVkZS9hc20vcGVyY3B1LmggICAgICAgICAgICAgICAgfCAgIDI1ICsrLQogYXJjaC94 ODYvaW5jbHVkZS9hc20vcGd0YWJsZV82NF90eXBlcy5oICAgICAgfCAgICA2IAogYXJjaC94ODYv aW5jbHVkZS9hc20vcG0tdHJhY2UuaCAgICAgICAgICAgICAgfCAgICAyIAogYXJjaC94ODYvaW5j bHVkZS9hc20vcHJvY2Vzc29yLmggICAgICAgICAgICAgfCAgIDE2ICstCiBhcmNoL3g4Ni9pbmNs dWRlL2FzbS9zZWN0aW9ucy5oICAgICAgICAgICAgICB8ICAgIDggKwogYXJjaC94ODYvaW5jbHVk ZS9hc20vc2V0dXAuaCAgICAgICAgICAgICAgICAgfCAgICAyIAogYXJjaC94ODYvaW5jbHVkZS9h c20vc3RhY2twcm90ZWN0b3IuaCAgICAgICAgfCAgIDE5ICsrCiBhcmNoL3g4Ni9rZXJuZWwvTWFr ZWZpbGUgICAgICAgICAgICAgICAgICAgICB8ICAgIDYgCiBhcmNoL3g4Ni9rZXJuZWwvYWNwaS93 YWtldXBfNjQuUyAgICAgICAgICAgICB8ICAgMzEgKystLQogYXJjaC94ODYva2VybmVsL2FzbS1v ZmZzZXRzLmMgICAgICAgICAgICAgICAgfCAgICAzIAogYXJjaC94ODYva2VybmVsL2FzbS1vZmZz ZXRzXzMyLmMgICAgICAgICAgICAgfCAgICAzIAogYXJjaC94ODYva2VybmVsL2FzbS1vZmZzZXRz XzY0LmMgICAgICAgICAgICAgfCAgICAzIAogYXJjaC94ODYva2VybmVsL2NwdS9jb21tb24uYyAg ICAgICAgICAgICAgICAgfCAgICAzIAogYXJjaC94ODYva2VybmVsL2NwdS9taWNyb2NvZGUvY29y ZS5jICAgICAgICAgfCAgICA0IAogYXJjaC94ODYva2VybmVsL2Z0cmFjZS5jICAgICAgICAgICAg ICAgICAgICAgfCAgIDQyICsrKysrLQogYXJjaC94ODYva2VybmVsL2hlYWQ2NC5jICAgICAgICAg ICAgICAgICAgICAgfCAgIDIzICsrLQogYXJjaC94ODYva2VybmVsL2hlYWRfMzIuUyAgICAgICAg ICAgICAgICAgICAgfCAgICAzIAogYXJjaC94ODYva2VybmVsL2hlYWRfNjQuUyAgICAgICAgICAg ICAgICAgICAgfCAgIDMxICsrKy0KIGFyY2gveDg2L2tlcm5lbC9rdm0uYyAgICAgICAgICAgICAg ICAgICAgICAgIHwgICAgNiAKIGFyY2gveDg2L2tlcm5lbC9tb2R1bGUuYyAgICAgICAgICAgICAg ICAgICAgIHwgIDE4MSArKysrKysrKysrKysrKysrKysrKysrKysrKy0KIGFyY2gveDg2L2tlcm5l bC9tb2R1bGUubGRzICAgICAgICAgICAgICAgICAgIHwgICAgMyAKIGFyY2gveDg2L2tlcm5lbC9w cm9jZXNzLmMgICAgICAgICAgICAgICAgICAgIHwgICAgNSAKIGFyY2gveDg2L2tlcm5lbC9yZWxv Y2F0ZV9rZXJuZWxfNjQuUyAgICAgICAgIHwgICAxNiArLQogYXJjaC94ODYva2VybmVsL3NldHVw X3BlcmNwdS5jICAgICAgICAgICAgICAgfCAgICA1IAogYXJjaC94ODYva2VybmVsL3ZtbGludXgu bGRzLlMgICAgICAgICAgICAgICAgfCAgIDEzICsKIGFyY2gveDg2L2t2bS9zdm0uYyAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgICAgNCAKIGFyY2gveDg2L2xpYi9jbXB4Y2hnMTZiX2VtdS5T ICAgICAgICAgICAgICAgIHwgICAgOCAtCiBhcmNoL3g4Ni9tbS9kdW1wX3BhZ2V0YWJsZXMuYyAg ICAgICAgICAgICAgICB8ICAgIDMgCiBhcmNoL3g4Ni9wb3dlci9oaWJlcm5hdGVfYXNtXzY0LlMg ICAgICAgICAgICB8ICAgIDQgCiBhcmNoL3g4Ni90b29scy9yZWxvY3MuYyAgICAgICAgICAgICAg ICAgICAgICB8ICAxNjkgKysrKysrKysrKysrKysrKysrKysrKystLQogYXJjaC94ODYvdG9vbHMv cmVsb2NzLmggICAgICAgICAgICAgICAgICAgICAgfCAgICA0IAogYXJjaC94ODYvdG9vbHMvcmVs b2NzX2NvbW1vbi5jICAgICAgICAgICAgICAgfCAgIDE1ICstCiBhcmNoL3g4Ni94ZW4veGVuLWFz bS5TICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTIgLQogYXJjaC94ODYveGVuL3hlbi1oZWFk LlMgICAgICAgICAgICAgICAgICAgICAgfCAgIDExIC0KIGFyY2gveDg2L3hlbi94ZW4tcHZoLlMg ICAgICAgICAgICAgICAgICAgICAgIHwgICAxMyArCiBkcml2ZXJzL2Jhc2UvZmlybXdhcmVfbG9h ZGVyL21haW4uYyAgICAgICAgICB8ICAgIDQgCiBpbmNsdWRlL2FzbS1nZW5lcmljL3NlY3Rpb25z LmggICAgICAgICAgICAgICB8ICAgIDYgCiBpbmNsdWRlL2FzbS1nZW5lcmljL3ZtbGludXgubGRz LmggICAgICAgICAgICB8ICAgMTIgKwogaW5jbHVkZS9saW51eC9jb21waWxlci5oICAgICAgICAg ICAgICAgICAgICAgfCAgICA3ICsKIGluaXQvS2NvbmZpZyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgICAxNiArKwoga2VybmVsL2thbGxzeW1zLmMgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgIDE2ICstCiBrZXJuZWwvdHJhY2UvdHJhY2UuaCAgICAgICAgICAgICAgICAg ICAgICAgICB8ICAgIDQgCiBsaWIvZHluYW1pY19kZWJ1Zy5jICAgICAgICAgICAgICAgICAgICAg ICAgICB8ICAgIDQgCiBzY3JpcHRzL2xpbmstdm1saW51eC5zaCAgICAgICAgICAgICAgICAgICAg ICB8ICAgMTQgKysKIHNjcmlwdHMvcmVjb3JkbWNvdW50LmMgICAgICAgICAgICAgICAgICAgICAg IHwgICA3OSArKysrKysrLS0tLQogNzUgZmlsZXMgY2hhbmdlZCwgMTEwOSBpbnNlcnRpb25zKCsp LCAzNDMgZGVsZXRpb25zKC0pCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnBy b2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94 ZW4tZGV2ZWw=