From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 96617C4167D for ; Thu, 9 Nov 2023 17:38:13 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 18F8C8D001A; Thu, 9 Nov 2023 12:38:13 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 14001440147; Thu, 9 Nov 2023 12:38:13 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EFBE18D00F1; Thu, 9 Nov 2023 12:38:12 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id DCE9A8D001A for ; Thu, 9 Nov 2023 12:38:12 -0500 (EST) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id B1EA4A0CC9 for ; Thu, 9 Nov 2023 17:38:12 +0000 (UTC) X-FDA: 81439124424.11.6569441 Received: from FRA01-PR2-obe.outbound.protection.outlook.com (mail-pr2fra01on2052.outbound.protection.outlook.com [40.107.12.52]) by imf19.hostedemail.com (Postfix) with ESMTP id 791FD1A001D for ; Thu, 9 Nov 2023 17:38:08 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=csgroup.eu header.s=selector2 header.b=WvJJD1pZ; spf=pass (imf19.hostedemail.com: domain of christophe.leroy@csgroup.eu designates 40.107.12.52 as permitted sender) smtp.mailfrom=christophe.leroy@csgroup.eu; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=quarantine) header.from=csgroup.eu ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1699551488; a=rsa-sha256; cv=pass; b=zVR583RvYTAO/27iIpm236+DXcv7nmSy8JVNHBTc2XKx5IE0Dzwdn+57Bi6jcPPtNb8dtZ JhYALa+14Uiej3WZf1NcbJ3WyXgkdafKkhqMziS3EJpG67rNLtnHhSpInBH6guEqRbT/+c ZkbRS6uhJaJWznl7fxMDMJ1fm/PqVus= ARC-Authentication-Results: i=2; imf19.hostedemail.com; dkim=pass header.d=csgroup.eu header.s=selector2 header.b=WvJJD1pZ; spf=pass (imf19.hostedemail.com: domain of christophe.leroy@csgroup.eu designates 40.107.12.52 as permitted sender) smtp.mailfrom=christophe.leroy@csgroup.eu; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=quarantine) header.from=csgroup.eu ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1699551488; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=O23jR1/FN84dAMHyX6cb+eqMI8iY89bNjqAs7/O5qBI=; b=qj5MQopFg1Q5abU0HrwW/ehrpU6BgtgMXwyxAT3T+TxS21ZXzDNMCF8XDOJmmwCHsEyTcD /NISWMxWN+72pZixRTz+kWFE4oXW45plM4J/2j5MvEJL2GQrJTc2Kf0eZs6DcOrTtmsQqE zmUvkX054EoveKm39ajjxOcOw6C0+do= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=M5d+9OEeiJQQUNJIwvFxLpLpRcGRaYxeH03p/XZbWeXb3eIZ+bx77DA5sEUbl2vHV0XS/V4g3oclo3iDBcpV8TiQZmF+VZq/3/0TI17UKSpLz8VUPoMOplPNOI8ADw3tHi9MCK2sTcKExaYLUhuUKUtzzqvGA0PuwZUL6NV7KJcC67nQau8in9a2uCHwv3TtCOFQbPPHI/yMu7PWM5NpCB1GrrMbwcD6+29VlBzZoIxv/vWztiZ0azqKGTf2UfddsIyjXOtubu9CSiKUuaSf/kvWKKLCbAK8DWyRjOxhn350f0h23e20cvieaCI65UQHBIA+V9Tt+Op3xq/HQ7+3Dw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=O23jR1/FN84dAMHyX6cb+eqMI8iY89bNjqAs7/O5qBI=; b=jM19m8x5tPf4u8GgjRxfh2HaBQqriEP/xvsVn7rW1eOQatUlqy0msnDzdfB810dNN4gpznss3OxJv3VruVtiunzfQXYxRDJhB2oEDQZ8J4A4pK1H+7zA1swK+pnFhShiR8DwObFTILvg22CZ4ZZ1oiKPu00QP4cRdzQ1J91thVK1yB4q8fTOSN/dqr54CJ2CGsDu9EUpuvj9y6P/uev46dC2IIYfvuU65hVTymqBjKl7ShiHPnJhuHkocMjLksWXi0CNoWlcMInmj2r4i77ol7zXhSMZxPIBcHkvpyG3pXYEt9ZHUxT5maUiU1uGtIKW9TfJ2qN0OGn3Jl1vJ+Fl/Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=csgroup.eu; dmarc=pass action=none header.from=csgroup.eu; dkim=pass header.d=csgroup.eu; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=csgroup.eu; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=O23jR1/FN84dAMHyX6cb+eqMI8iY89bNjqAs7/O5qBI=; b=WvJJD1pZWFqtisrNuCgCHuyB7NFM9uD6o8QSRC6A3INmihvZovTYLb38NTU5FZQJscYPBlkO2bo3ae5PoM2iIF6w9wN+lOuXxe+rlRlybBReA90Ae9jXutbUwjKdWxPr99DyKB3k2aAkl+SPBpHWmrqOhWZ+0VyPO+COEuYTw+p5dEw09btoasNkESkr6LB3PbB0LCm3DW0+XTAGiH+mOgq+K1IJrq5Ib7w5qYg1bO2cn/Qd9K+R+i9Au5xc3SNmdnbzciObxfVdUWgC2+kZC/ST1XrOFyl0ksd8+fYTRfUxOh0ZU8E6QYXUG3zjrgek+pMSVFOEvlC8fWj5C4H3DA== Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:31::15) by MRZP264MB3210.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:1b::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.7; Thu, 9 Nov 2023 17:38:03 +0000 Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::5bfe:e2f2:6d89:8d97]) by MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::5bfe:e2f2:6d89:8d97%3]) with mapi id 15.20.7002.007; Thu, 9 Nov 2023 17:38:03 +0000 From: Christophe Leroy To: Aneesh Kumar K V , Michael Ellerman , Nicholas Piggin CC: "linux-kernel@vger.kernel.org" , "linuxppc-dev@lists.ozlabs.org" , Russell Currey , Kees Cook , "linux-mm@kvack.org" , Linux ARM Subject: Re: [PATCH v2 37/37] powerpc: Support execute-only on all powerpc Thread-Topic: [PATCH v2 37/37] powerpc: Support execute-only on all powerpc Thread-Index: AQHZ796dDkzQ9RA0FEmhJpkipCuR2LBmvjGAgAbK0YCAARr5gIAD40CA Date: Thu, 9 Nov 2023 17:38:02 +0000 Message-ID: <44a45e85-5c16-1a3a-ea09-37925ff61552@csgroup.eu> References: <4283ea9cbef9ff2fbee468904800e1962bc8fc18.1695659959.git.christophe.leroy@csgroup.eu> <874ji4af3a.fsf@linux.ibm.com> In-Reply-To: Accept-Language: fr-FR, en-US Content-Language: fr-FR X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.15.1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MRZP264MB2988:EE_|MRZP264MB3210:EE_ x-ms-office365-filtering-correlation-id: b5d82509-8d0d-49e8-727b-08dbe14a9fe5 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: tUidUoJs8/TUgRfOH0pFeuhO8mT6M/C6o15K76jG/Q5M4m5QulrmEIdNKZVm0uxzADLZ9bwGYtr/9NSuX2TI36Rt2qvRpRta79hXMS8IFKV/5+lMFi3RnjtUbf4LQaD8zCIcIXPdT5XrvBS/14+lsIUIjBWdWF7kQnfeeh5EsBZ/u8/+C/Bbe1lKT9rvSV6nwNnMT05wFcAc8WJguztTP4gON0Bty+shnjyi9wAILsXVAHsRgJQTUgenAt9tTjxilio7Du6pwtz4HjXVjwKpWqBKP1auUKaZ/Yjm/+Moezl08OaXKZoFDlo2ssck0sTbTDm3Ne3LHTjrPnsdh3SogeW2PGCDc8k0L105bNR5yugNtqU4qUnWrdNqgpZblRJuy5uACYNslK98NzDCoF9ASPEMCUBBjQ/Jmn0lfh24o6zCCzWD3vWOboLe8S3WE9IRSLRrU7nJhFELWq07tW7CTB8BNaJxce8zFMZSUwrwKVRwuYgX4tZpx2syIGh49rryPcnEthoWo9XQ8JkJ0iAeQiyrAbkOZvF5viEZFT9By0K1w7wIujUPSp4tqntRyLPPP6fyWWo+6EvVQ7n9PwTS80SydGaW9EmVDrWdhEQ0IItP0oeM9dC4MxMq+PjakosKQR/fzWL+hbofBiIk8O0in3ojhYb7ThsH6eErAYw7swk= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230031)(136003)(39860400002)(346002)(376002)(366004)(396003)(230922051799003)(64100799003)(451199024)(186009)(1800799009)(31686004)(478600001)(966005)(6486002)(2616005)(71200400001)(53546011)(6506007)(6512007)(36756003)(38100700002)(122000001)(31696002)(86362001)(54906003)(66556008)(5660300002)(41300700001)(91956017)(66446008)(76116006)(66476007)(316002)(44832011)(64756008)(110136005)(83380400001)(26005)(66574015)(2906002)(38070700009)(66946007)(4326008)(8676002)(8936002)(45980500001)(43740500002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?YitBTzlpWXRpTE5zb3E3VkdrR3pRM2hKUVBFMGdocHJwUTUvaisrYkhvQ2Q0?= =?utf-8?B?L0h1M1prSzF0RFM5RUUraVczcGpwU1liN2hyeXU4UTFqZFhOT0pmN0tHUFEv?= =?utf-8?B?TUQ4b0ZFY3FGcjlYOWdURUdQZDB2ZUUwdUZFa3FrdE12VlQvemdtTTNTRWhP?= =?utf-8?B?NC9iYlk4TzdiamdHZytHTXdNc0FXSDdqRkhuTDZwT0h5Ty9hZ2F5UG44NVU2?= =?utf-8?B?ejZFRjlEcm1yVTFraVcyWWdBMWxRaE9RSVYvWkkzeXpKeWxJbWxxSXVhSDNV?= =?utf-8?B?U3NaR1FiRG5qdUprdXdVQXpSNDUzSHVvUFVoNEpBa0E4RHNwRE05TmNmaEZF?= =?utf-8?B?THJmcHZlSlpPeE9vYXhXb1hjcTVRSGdZYytlbW5WQmhzQnBWVDlLaWpnVUJG?= =?utf-8?B?enZ2Y3NLRmNDdUxQdW03WjJFcTlobnB0T0NlVUpPbFpVNDRrZllOVE9Cd05Q?= =?utf-8?B?N2xXak9zaVltTXJYaE9XZ0cxaU1iVm5yZlUxbUFqQmMzVTJJa0FtVytVSjJ0?= =?utf-8?B?UXR0dDFmOEpyTXRDT00yOFJySVpLMmE0RklhT1NUOWhEdzFuNkYySTF0Y01v?= =?utf-8?B?MGQvbFV1WXF0NTc1L0tCS3pNeEJreGFUMnk2ZUE2aFFBeEZBRFFsR0g0dm5D?= =?utf-8?B?bW9LSjh3b24yZEhiVGFEblBLY1NwY09ubUNYUmpNbnN4UXdLcytNMmRzMjZh?= =?utf-8?B?SUNzajIxOURGdHlGalhZMkFFZU1wRVNpeTFad0ZEbFl5TWlvOHBrTDltQ3ND?= =?utf-8?B?YVRlQlFmWCtHb2ZyOUtHKzNtU0lLcXZIWTFValJ1NWNhT0pjRXVnU2hGSmd6?= =?utf-8?B?bEhNWlBmV0RUZEFyODJmSlJ1dUdVVzVqNlBlRXByZmZhUWpvbjJYdmN6MlZI?= =?utf-8?B?b0IyS0tMMTA5K1VLN05OenAzajB2QmFCZFRNWGFOdUxWNkx4SFZqS3U4VDJu?= =?utf-8?B?dks2c2VRc3dKUXBIODdEMWN3RGs1Sk83cmF5VWFFTTM5bzVFalhKTzlMOG0r?= =?utf-8?B?T1ZqYlNqZXlQcVkrSit4Q1VUS1dqWXVhNnRQckUxalM5QldaNkFvMUtXOGph?= =?utf-8?B?MHk5eGVETW1ucEkvVkxad3lGTjVmRmZCNDBsSGxwNHd2ZVkzelNTeS9ic3JG?= =?utf-8?B?d1JsK1lVSE1BNVk5RVk5K0pKcGhPQmdFcE8yRC9VVmhHdDkreG9DSTFYWGJU?= =?utf-8?B?U1dwQUxBbVR4a1BwM2lGeFFSSk9xMXplUGVoQ25HWk9qaGZpS1BXdm83a0xR?= =?utf-8?B?Qml1UDdaeDR0UkZSd3dTbmJLdm1iaGNFTUtPYjlKNjkxYVFDUkJoTkxEY0lV?= =?utf-8?B?a3l0bzl3eEQxaHlaQ1puQnhYRkpOOHI1Qm5jTjZMbTgreEQyR3hrNktBUWtY?= =?utf-8?B?QjE5eFR3aFJGOGJFZE1OYUJoQkdOaU1CTGQrMUNzNWFMTFNER2RxR1VYV0xY?= =?utf-8?B?RlNNaUtrM3FISVlMNXpUZUlrTVdNckxqaWQ4YU5DNWdzZytUVkw3TWpvaHFq?= =?utf-8?B?NE5NY2dUWHlGUG1RMDFzeEdIcUJlMUNqRE95SVg4U1BheE9Md3BhNE1ncHMr?= =?utf-8?B?ZjBqQWRCUTVBMkpOMVRXT2VBQnRFK0NHWE00aDRYcXZscWZ6SmJEdlQySmZi?= =?utf-8?B?OGo1czlFSHRGNlMwbEtTQTdVVk5aYmZ5Q1BuS3FiMUNtV1dGbXMzKzV2VnVG?= =?utf-8?B?YXVzUFFzMVMxL0tCakZoZEFpTnNUZ0NIL3FnS3pPWTBRR3RGRjA5cGVCL2N0?= =?utf-8?B?US8rbEt4SC9PMVBrQy96eERjTWUxeWxFM2RlZzRBN0xKNXRMSzg1bkpKelB5?= =?utf-8?B?YitWZWdraXJsNzIvMUNJT0pzbWJMcnJjVUl0SU5yNENydXJ4eVNwMnduVnlT?= =?utf-8?B?YkdsdUsrVmo1VFcxcElmUTZ2L2FhWGJoaytiRDE5ZjhMN05vV0ZMUkVXNFpL?= =?utf-8?B?a2RYWWc2U2dMUURGaWtZdnVpNUZTUUhSaHNwS2VlUnE3Sk5DZmJOMmFWMXFS?= =?utf-8?B?bXk5ajNVMXZVZndLUjZFZzY4eFRIU3gwb3pRWm5EVGJnZXU2ZmxSTFpOdHY5?= =?utf-8?B?M3VsUEx1bXZ2Tkl4cmUrV0h3d2tGcU85NHNHT2xGc3h3aTVtbkZUdjdsb0dx?= =?utf-8?B?YStqR3lYalpGQ3NCVUdGOTFNNEZkV1p3aElSYWJMbDBDNHoyZnl4K2F5V3VX?= =?utf-8?B?Qnc9PQ==?= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: csgroup.eu X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: b5d82509-8d0d-49e8-727b-08dbe14a9fe5 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Nov 2023 17:38:02.8921 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 9914def7-b676-4fda-8815-5d49fb3b45c8 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: UED05HmmJ3Fpt679VKCCHEaWEzrLPr3s625pC9Ljntf4+LRSvTEoLNyUxnQvfE4O7tdsXz/i1R4etasbm0q9ULbO6Cs+i81AuOtHcr2jN7U= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MRZP264MB3210 X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 791FD1A001D X-Stat-Signature: 1pz1zuij1a8k1zhfxezko7c3ornnzjoq X-Rspam-User: X-HE-Tag: 1699551488-994494 X-HE-Meta: U2FsdGVkX182m86R5rKkJPIkWwB+PmJJrFiiCyhWXQrRaVEqTZ2SLC7SrMTlC5EtOg0TdUwE+j3xgp2+aYoHN0XlUaj4CxGi7Z1YVnRQ6DNnHqZkwlh3AFonO9c+StP3gCGD+1kPpvsGi/TKJ8CqpmcDGzinRGS/G5Jg3gTK/1/tXG1wZVR9BQsBbi58M0z2PsC3jL8VCKU2Eg+zL4h2CICvl8sFAsNH5A5O306sVfe282xvCLEX9DxCbsa96exIwU04G0kngNpG8/KUPcrbPiLa+teqHWKX70V+zIDvWNfszGKiR8GM1T1rz+0Hf2el4YZJFxoSOV7LMauw8eTuKpmFQTVhdkeyFC+/Xzdvzgluj1dY1n0p+q7myhpMYrXcxGTO2Y5wHvKkX/9rutGbLbqbloABHkyZ640lhlOuPPJvrLXwbgvo6vAtWEozL8JPrq6uYLdTOONUH/aVWMm5U/GO5KRJfWcfVfH3rC1zvz1tCBya/qulaaqyf8YwBTTo007C17JrYeg0NOODL3DYa5mPjMyph73D2HI6K4ltzciMDt2rdJWvf49nglutQNruBMoLZ2GPmPggghAinlfq205OvBZjNxzMyEjtn1TU5Nvh6XXNJub8z1C966gNoKqOssziWWzOTg4QZXD64zQ2l0pQcsV2FDWZBukdmp7XguD7jRQqe433rtWASK2g1oTuacF+vNPncqNRn4SxsG6tgT/ojuklx0dlZuNMdVpMT5cvLp77YoJhVeWaCMTSGNESxpuMowc+WcAbWSfVcFb5qVhgGmp/MYOUm5cexBZUWtQyvyQWEzBuB1Z9IBLiLRsdw1bYfypzKYB/syG+1bc0RQYJTvokiiUX3WUv5nfbZMYvetpJ9SyI4eYGh9e1svOd2FGeLaZi7u+LuavEJ0fNWMOVtPQdQsfEPFM4pLP9ieV3vqhFre157Z5MPo2Ksj8nuokhTUy5gcMcmSYe5Zm Iw4b2jcL LXiYi8VfCil6S5QByH+amr4UrsOZntuG8VQbvhiXm68Y6D6eq0wQC4qox6UF0ORFoMCS8/Lh0edFyzYL62Nvni6iSu989pGAfEQJETothdkxN512EV9kjQGbDroBw3x/Sl099Rs40hlp7dW8loMrd9dwoGIypeyrRWZI3DRcVEbclj/OiEweYzvD2z/oMLw8iBK9N2UOyvLqgzcCB/ExzHhzAPRDWWWyTAv5hbbg9cVoZLjMCjRL5xainwxsuxFG28G6QHbYF+Moos5Nv7idtbxyuBrAhxD+gkUpnkooHvz9da34ANjbJqVEJUZ2wOPWMNyTkAHS6QSFWfOvBXR7lSKoSaKBkNlYyg4KX0wnEwLTAvMIoNEt4DF/LEGvB8KsE2wvjfhfrgkh8EnlCo2eDUHpfX6SkVEaKCUa/NttZ1MAyy7Yyoe5jeXHsq3mK2NtGP7wasdUZ53N8dQiYc0TqRXZTGiexIKFLJLKjsJH9DCNiQjJ7zb+wjn+zgec6Ra6X+qPh/tThPUGDRYHs9DROY506gGd5WqWSdQWoQayr/zG33vFCSRVAfR9s72uO/Wu8ocBONf99cP/vE+Q3HXlmi1UczzP+Yp/JP2CrJkQN64knRwBNBx6AVk/H8w== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: DQoNCkxlIDA3LzExLzIwMjMgw6AgMDc6MTUsIEFuZWVzaCBLdW1hciBLIFYgYSDDqWNyaXTCoDoN Cj4gT24gMTEvNi8yMyA2OjUzIFBNLCBDaHJpc3RvcGhlIExlcm95IHdyb3RlOg0KPj4NCj4+DQo+ PiBMZSAwMi8xMS8yMDIzIMOgIDA2OjM5LCBBbmVlc2ggS3VtYXIgSy5WIGEgw6ljcml0wqA6DQo+ Pj4gQ2hyaXN0b3BoZSBMZXJveSA8Y2hyaXN0b3BoZS5sZXJveUBjc2dyb3VwLmV1PiB3cml0ZXM6 DQo+Pj4NCj4+Pj4gSW50cm9kdWNlIFBBR0VfRVhFQ09OTFlfWCBtYWNybyB3aGljaCBwcm92aWRl cyBleGVjLW9ubHkgcmlnaHRzLg0KPj4+PiBUaGUgX1ggbWF5IGJlIHNlZW4gYXMgcmVkdW5kYW50 IHdpdGggdGhlIEVYRUNPTkxZIGJ1dCBpdCBoZWxwcw0KPj4+PiBrZWVwIGNvbnNpc3RhbmN5LCBh bGwgbWFjcm9zIGhhdmluZyB0aGUgRVhFQyByaWdodCBoYXZlIF9YLg0KPj4+Pg0KPj4+PiBBbmQg cHV0IGl0IG5leHQgdG8gUEFHRV9OT05FIGFzIFBBR0VfRVhFQ09OTFlfWCBpcw0KPj4+PiBzb21l aG93IFBBR0VfTk9ORSArIEVYRUMganVzdCBsaWtlIGFsbCBvdGhlciBTT01FVEhJTkdfWCBhcmUN Cj4+Pj4ganVzdCBTT01FVEhJTkcgKyBFWEVDLg0KPj4+Pg0KPj4+PiBPbiBib29rM3MvNjQgUEFH RV9FWEVDT05MWSBiZWNvbWVzIFBBR0VfUkVBRE9OTFlfWC4NCj4+Pj4NCj4+Pj4gT24gYm9vazNz LzY0LCBhcyBQQUdFX0VYRUNPTkxZIGlzIG9ubHkgdmFsaWQgZm9yIFJhZGl4IGFkZA0KPj4+PiBW TV9SRUFEIGZsYWcgaW4gdm1fZ2V0X3BhZ2VfcHJvdCgpIGZvciBub24tUmFkaXguDQo+Pj4+DQo+ Pj4+IEFuZCB1cGRhdGUgYWNjZXNzX2Vycm9yKCkgc28gdGhhdCBhIG5vbiBleGVjIGZhdWx0IG9u IGEgVk1fRVhFQyBvbmx5DQo+Pj4+IG1hcHBpbmcgaXMgYWx3YXlzIGludmFsaWQsIGV2ZW4gd2hl biB0aGUgdW5kZXJseWluZyBsYXllciBkb24ndA0KPj4+PiBhbHdheXMgZ2VuZXJhdGUgYSBmYXVs dCBmb3IgdGhhdC4NCj4+Pj4NCj4+Pj4gRm9yIDh4eCwgc2V0IFBBR0VfRVhFQ09OTFlfWCBhcyBf UEFHRV9OQSB8IF9QQUdFX0VYRUMuDQo+Pj4+IEZvciBvdGhlcnMsIG9ubHkgc2V0IGl0IGFzIGp1 c3QgX1BBR0VfRVhFQw0KPj4+Pg0KPj4+PiBXaXRoIHRoYXQgY2hhbmdlLCA4eHgsIGU1MDAgYW5k IDQ0eCBmdWxseSBob25vciBleGVjdXRlLW9ubHkNCj4+Pj4gcHJvdGVjdGlvbi4NCj4+Pj4NCj4+ Pj4gT24gNDB4IHRoYXQgaXMgYSBwYXJ0aWFsIGltcGxlbWVudGF0aW9uIG9mIGV4ZWN1dGUtb25s eS4gVGhlDQo+Pj4+IGltcGxlbWVudGF0aW9uIHdvbid0IGJlIGNvbXBsZXRlIGJlY2F1c2Ugb25j ZSBhIFRMQiBoYXMgYmVlbiBsb2FkZWQNCj4+Pj4gdmlhIHRoZSBJbnN0cnVjdGlvbiBUTEIgbWlz cyBoYW5kbGVyLCBpdCB3aWxsIGJlIHBvc3NpYmxlIHRvIHJlYWQNCj4+Pj4gdGhlIHBhZ2UuIEJ1 dCBhdCBsZWFzdCBpdCBjYW4ndCBiZSByZWFkIHVubGVzcyBpdCBpcyBleGVjdXRlZCBmaXJzdC4N Cj4+Pj4NCj4+Pj4gT24gNjAzIE1NVSwgVExCIG1pc3NlZCBhcmUgaGFuZGxlZCBieSBTVyBhbmQg dGhlcmUgYXJlIHNlcGFyYXRlDQo+Pj4+IERUTEIgYW5kIElUTEIuIEV4ZWN1dGUtb25seSBpcyB0 aGVyZWZvcmUgbm93IHN1cHBvcnRlZCBieSBub3QgbG9hZGluZw0KPj4+PiBEVExCIHdoZW4gcmVh ZCBhY2Nlc3MgaXMgbm90IHBlcm1pdHRlZC4NCj4+Pj4NCj4+Pj4gT24gaGFzaCAoNjA0KSBNTVUg aXQgaXMgbW9yZSB0cmlja3kgYmVjYXVzZSBoYXNoIHRhYmxlIGlzIGNvbW1vbiB0bw0KPj4+PiBs b2FkL3N0b3JlIGFuZCBleGVjdXRlLiBOZXZlcnRoZWxlc3MgaXQgaXMgc3RpbGwgcG9zc2libGUg dG8gY2hlY2sNCj4+Pj4gd2hldGhlciBfUEFHRV9SRUFEIGlzIHNldCBiZWZvcmUgbG9hZGluZyBo YXNoIHRhYmxlIGZvciBhIGxvYWQvc3RvcmUNCj4+Pj4gYWNjZXNzLiBBdCBsZWFzdCBpdCBjYW4n dCBiZSByZWFkIHVubGVzcyBpdCBpcyBleGVjdXRlZCBmaXJzdC4NCj4+Pj4NCj4+Pj4gU2lnbmVk LW9mZi1ieTogQ2hyaXN0b3BoZSBMZXJveSA8Y2hyaXN0b3BoZS5sZXJveUBjc2dyb3VwLmV1Pg0K Pj4+PiBDYzogUnVzc2VsbCBDdXJyZXkgPHJ1c2N1ckBydXNzZWxsLmNjPg0KPj4+PiBDYzogS2Vl cyBDb29rIDxrZWVzY29va0BjaHJvbWl1bS5vcmc+DQo+Pj4+IC0tLQ0KPj4+PiAgICBhcmNoL3Bv d2VycGMvaW5jbHVkZS9hc20vYm9vazNzLzMyL3BndGFibGUuaCB8ICAyICstDQo+Pj4+ICAgIGFy Y2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9ib29rM3MvNjQvcGd0YWJsZS5oIHwgIDQgKy0tLQ0KPj4+ PiAgICBhcmNoL3Bvd2VycGMvaW5jbHVkZS9hc20vbm9oYXNoLzMyL3B0ZS04eHguaCB8ICAxICsN Cj4+Pj4gICAgYXJjaC9wb3dlcnBjL2luY2x1ZGUvYXNtL25vaGFzaC9wZ3RhYmxlLmggICAgfCAg MiArLQ0KPj4+PiAgICBhcmNoL3Bvd2VycGMvaW5jbHVkZS9hc20vbm9oYXNoL3B0ZS1lNTAwLmgg ICB8ICAxICsNCj4+Pj4gICAgYXJjaC9wb3dlcnBjL2luY2x1ZGUvYXNtL3BndGFibGUtbWFza3Mu aCAgICAgfCAgMiArKw0KPj4+PiAgICBhcmNoL3Bvd2VycGMvbW0vYm9vazNzNjQvcGd0YWJsZS5j ICAgICAgICAgICB8IDEwICsrKystLS0tLS0NCj4+Pj4gICAgYXJjaC9wb3dlcnBjL21tL2ZhdWx0 LmMgICAgICAgICAgICAgICAgICAgICAgfCAgOSArKysrKy0tLS0NCj4+Pj4gICAgYXJjaC9wb3dl cnBjL21tL3BndGFibGUuYyAgICAgICAgICAgICAgICAgICAgfCAgNCArKy0tDQo+Pj4+ICAgIDkg ZmlsZXMgY2hhbmdlZCwgMTggaW5zZXJ0aW9ucygrKSwgMTcgZGVsZXRpb25zKC0pDQo+Pj4+DQo+ Pj4+IGRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMvaW5jbHVkZS9hc20vYm9vazNzLzMyL3BndGFi bGUuaCBiL2FyY2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9ib29rM3MvMzIvcGd0YWJsZS5oDQo+Pj4+ IGluZGV4IDI0NDYyMWM4ODUxMC4uNTI5NzFlZTMwNzE3IDEwMDY0NA0KPj4+PiAtLS0gYS9hcmNo L3Bvd2VycGMvaW5jbHVkZS9hc20vYm9vazNzLzMyL3BndGFibGUuaA0KPj4+PiArKysgYi9hcmNo L3Bvd2VycGMvaW5jbHVkZS9hc20vYm9vazNzLzMyL3BndGFibGUuaA0KPj4+PiBAQCAtNDI1LDcg KzQyNSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBwdGVfYWNjZXNzX3Blcm1pdHRlZChwdGVfdCBw dGUsIGJvb2wgd3JpdGUpDQo+Pj4+ICAgIHsNCj4+Pj4gICAgCS8qDQo+Pj4+ICAgIAkgKiBBIHJl YWQtb25seSBhY2Nlc3MgaXMgY29udHJvbGxlZCBieSBfUEFHRV9SRUFEIGJpdC4NCj4+Pj4gLQkg KiBXZSBoYXZlIF9QQUdFX1JFQUQgc2V0IGZvciBXUklURSBhbmQgRVhFQ1VURQ0KPj4+PiArCSAq IFdlIGhhdmUgX1BBR0VfUkVBRCBzZXQgZm9yIFdSSVRFDQo+Pj4+ICAgIAkgKi8NCj4+Pj4gICAg CWlmICghcHRlX3ByZXNlbnQocHRlKSB8fCAhcHRlX3JlYWQocHRlKSkNCj4+Pj4gICAgCQlyZXR1 cm4gZmFsc2U7DQo+Pj4+DQo+Pj4NCj4+PiBTaG91bGQgdGhpcyBub3cgYmUgdXBkYXRlZCB0byBj aGVjayBmb3IgRVhFQyBiaXQgPw0KPj4NCj4+IEkgZG9uJ3QgdGhpbmsgc28gYmFzZWQgb24gd2hh dCBJIHNlZSBpbiBhcm02NDoNCj4+IGh0dHBzOi8vZWxpeGlyLmJvb3RsaW4uY29tL2xpbnV4L3Y2 LjYvc291cmNlL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20vcGd0YWJsZS5oI0wxNDYNCj4+DQo+IA0K PiBCdXQgdGhlbiB0aGVyZSBjYW4gYmUgYSBnZXRfdXNlcl9wYWdlcygpIChGT0xMX0dFVCkgb24g YW4gZXhlYyBvbmx5IHB0ZSByaWdodD8NCj4gaWYgd2UgYXJlIGdvaW5nIHRvIGFjY2VzcyB0aGUg cGFnZSBkYXRhKEZPTExfUElOKSwgdGhlbiB5ZXMgZXhlYyBvbmx5IG1hcHBpbmcgc2hvdWxkDQo+ IGZhaWwgZm9yIHRoYXQuIEJ1dCBpZiB3ZSB1c2luZyBpdCB0byBkbyBzdHJ1Y3QgcGFnZSBtYW5p cHVsYXRpb24gd2UgbmVlZCBwdGVfYWNjZXNzX3Blcm1pdHRlZA0KPiB0byByZXR1cm4gdHJ1ZSBm b3IgZXhlYyBvbmx5IG1hcHBpbmc/DQo+IA0KDQpJIGRvbid0IGtub3cgZW5vdWdoIHRoZSBkZXRh aWxzIG9mIEdVUCB0byB1bmRlcnN0YW5kIHdoYXQgeW91IG1lYW4uIEkgDQp1bmRlcnN0YW5kIHlv dSB0aGluayB0aGVyZSBpcyBhIHByb2JsZW0sIGRvIHlvdSBtZWFuIEFSTTY0IGRpZCBpdCB3cm9u ZyA/DQoNClRoZSBjb3JlIG1tIG9ubHkgaGFzIHR3byBjYWxsIHNpdGVzIGZvciBwdGVfYWNjZXNz X3Blcm1pdHRlZCgpIHdoaWNoIGFyZSANCmd1cF9wdGVfcmFuZ2UoKSBhbmQgZ3VwX2h1Z2VwdGUo KS4gcHRlX2FjY2Vzc19wZXJtaXR0ZWQoKSBpcyBub3QgDQpkb2N1bWVudGVkIGluIERvY3VtZW50 YXRpb24vbW0vYXJjaF9wZ3RhYmxlX2hlbHBlcnMucnN0DQoNClNvLCB3aGF0IGRvIHRob3NlIHR3 byBjYWxsZXJzIGV4cGVjdCA/DQoNCkNocmlzdG9waGUNCg==