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 6F204C7EE23 for ; Sun, 14 May 2023 18:39:08 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 81CF8900003; Sun, 14 May 2023 14:39:07 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7CD49900002; Sun, 14 May 2023 14:39:07 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 61FA6900003; Sun, 14 May 2023 14:39:07 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 4FA5A900002 for ; Sun, 14 May 2023 14:39:07 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 11CF7AEA75 for ; Sun, 14 May 2023 18:39:07 +0000 (UTC) X-FDA: 80789722734.18.277B66E Received: from FRA01-MR2-obe.outbound.protection.outlook.com (mail-mr2fra01on2051.outbound.protection.outlook.com [40.107.9.51]) by imf16.hostedemail.com (Postfix) with ESMTP id C327818000C for ; Sun, 14 May 2023 18:39:03 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=csgroup.eu header.s=selector1 header.b="Sw/9GRcf"; spf=pass (imf16.hostedemail.com: domain of christophe.leroy@csgroup.eu designates 40.107.9.51 as permitted sender) smtp.mailfrom=christophe.leroy@csgroup.eu; dmarc=pass (policy=quarantine) header.from=csgroup.eu; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1684089544; 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=Hg7d7NAmCIj1Huk93eec7T5yU+XTC5F3kggTsFB3bF0=; b=TVRhNWjKRWIjMwOE0RzqlI5zee9xBvL92T7ucdsYyIlGg9BU96+uiMGvJw0Yq7ouLGjQ13 ND/c+OPAxllNKulGPPSP4MY4CIyKCVEEmKMjj+dk9tinnEAOHNIot4YNFtt2uSwbOTh+BI BE8kFIGOSH2iKTr+vWmP4pvJ2+3Hv6I= ARC-Authentication-Results: i=2; imf16.hostedemail.com; dkim=pass header.d=csgroup.eu header.s=selector1 header.b="Sw/9GRcf"; spf=pass (imf16.hostedemail.com: domain of christophe.leroy@csgroup.eu designates 40.107.9.51 as permitted sender) smtp.mailfrom=christophe.leroy@csgroup.eu; dmarc=pass (policy=quarantine) header.from=csgroup.eu; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1684089544; a=rsa-sha256; cv=pass; b=kL/NdsuXiRFKzE82UFFiT1p6RViJNzlgM2rHGHe3m7cp3/bP5XRoKlaYE5S8zpBAi3rs/B UtpThdIriU0ML+07IQ/in8gkzDnaMKhBBKQzhiwdRutQG8eMK4zEUrUDHmttg/V3Kx2XYs UFjMUEiKrwC0qr5qspHY0DdUuopngw0= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=B47LRVozw5xBpM6O45sFU6YWvOB3DeQtVlM9SzpawiI1YTse7nTU7Za/dQ98KrzVatHtwNBN2MPSu53FpE6oIYN88ZP6vkyTRc4j1AXimkWRohR9oY6pC/MU0DaU5Dzu5IXukjpOQA9ikxasf3wEP1OAKMG9u1vjoMc0+Z7jC8MrJ+/ERpoHOOxHbyHwCaMI9TPKkhhJftz5zU8DFi5pwstZ6hfO7fSjDd0uFmUKIHsnNH4NiuQXBbrhGh30sQsX7DSuYEGfKxX3SDVXy0+P0qp5CFls4sLlNn7peruGnUqhNA4TtKyCfkNXnS5qQjcgyCH9HeQcw2kg+6YTsga5Tw== 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=Hg7d7NAmCIj1Huk93eec7T5yU+XTC5F3kggTsFB3bF0=; b=l9Oby93xGj752WqdJQ1yix3KCJm5YMCNqaXasedRr0KFWunoRpTeMxLYX2VdBzeuE4ZP7z5f+DiCujbxyQKohi/BehdyMl+AhznQSQpSOd1y1SbV7tLSmBDjTeuAODpTYdIAsre8Z+VF9PJ8DMey+QRuuGdLgi5bT+YR2/ddLti4asVeHZQIO6HGamFrLcfVkdxg4XgSnfo1DigQfvF36+cyPlfyCrlRdgwOSK2vHSzqlCD0h7OrQcReMklnzYqYMoADcIlqplPCPLaJInel8JOHdBIiLS1vC/1GAanvaEDXvsyBNDlAT+gVhWgvKhDA5Z9q8howWhNpqkIbgBD6MA== 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=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Hg7d7NAmCIj1Huk93eec7T5yU+XTC5F3kggTsFB3bF0=; b=Sw/9GRcf34b6x/FWkpLdZiGQR/kGYC4ifSWaI9+Rz3H32CYg8TRJFTkd+OQ0Bl0Nr/Vm/loFMBjSq0+mVY0e8uQCTZOoZNi4d/sKEdClcNgD0YaZmGhU5cDqpIbn73OpEdp7n6bH1ZeRMoWLLpzwyJPwqZ4ECAqOpvnIT1a6zZDDL8EAhLdJ1BBFYTI18luJysikZlMPKY5o9iZKIhMqKdEY3UujYM/Wua5fXIVSfd5OEcWOozX7VM5YGE+6Y7buQbE1+an3jPCVT+2PCBZLKVLK3mgEH0hqjM79GIVeoDNeIT8BwF95WMEQ3O3vlgJQ3TUrFgkwB9TpgfJqNgBndg== Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:31::15) by MRZP264MB1909.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:f::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6387.30; Sun, 14 May 2023 18:39:00 +0000 Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::447b:6135:3337:d243]) by MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::447b:6135:3337:d243%3]) with mapi id 15.20.6387.030; Sun, 14 May 2023 18:39:00 +0000 From: Christophe Leroy To: Lorenzo Stoakes , Christoph Hellwig , Kent Overstreet CC: "linux-kernel@vger.kernel.org" , "linux-fsdevel@vger.kernel.org" , "linux-bcachefs@vger.kernel.org" , Kent Overstreet , Andrew Morton , Uladzislau Rezki , "linux-mm@kvack.org" Subject: Re: [PATCH 07/32] mm: Bring back vmalloc_exec Thread-Topic: [PATCH 07/32] mm: Bring back vmalloc_exec Thread-Index: AQHZgpdUsgx7flCbUE+3jXS45Hg7zK9SaWKAgAAHaoCABcbjAIAB6dOA Date: Sun, 14 May 2023 18:39:00 +0000 Message-ID: References: <20230509165657.1735798-1-kent.overstreet@linux.dev> <20230509165657.1735798-8-kent.overstreet@linux.dev> <8f76b8c2-f59d-43fc-9613-bb094e53fb16@lucifer.local> In-Reply-To: <8f76b8c2-f59d-43fc-9613-bb094e53fb16@lucifer.local> 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.10.0 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MRZP264MB2988:EE_|MRZP264MB1909:EE_ x-ms-office365-filtering-correlation-id: 490fcecb-9bce-42a3-5244-08db54aa7bfb x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: w7/xef2PUTR2oleZrkTTp4k2WXmpK2UDvDuuAuq3tjs53JEPbn95ocwlo9BsVCRwb74wmJMQtI428bR4GwE9pB1XRMi11dixJ6I21DNAXJ+ZxrX7WLs9pwWFBI/q60Pi+w/Ba1K3MaoOHtl8uNanzwqsS7GAQtCVLWxVQl5uD5adfrQHQbveXp+99qkssS0MAXKqr0pOjfkQU4KtGZ6RV0g4pyC+Xmlbu8oyeAfRExdFMe9+f46PZ+2TWuklyS0Ube2YHfX4SvgE/VE8sA/afV+Fh8wU8gX9jqXNXdtnTNHnb9MBgD16zC2bRz9+a2bh/XfCd69c6JhMpmm9A3+Gk5VJrnOVQjVTSQ7hW+OdY0rTVezQ+7sBFg2H8ey1KEutfBsX9fmC+ZxQj/+JtQ8M8EjaD2RqTsm1fSZWVOQLOQUCUJmwOh1OvPi6IRBHBt1BW2iBEo8BpCHTUL3GF6SQOAP+orWbligAWukbM0+6wjIWkjjRzLBBzOs3L0DukF8KI02ABYwpwdzi9hZuDOlOrFGN+26QuQ9kfQFA5xHvpiwA4ADQiCOeLIwvsIX/bhW9MezYWlipjSYfjSPCDulVvpoX70sp9hDMa6Nrk8J8mmPKhckozGRGkbtpjYezJupR/nTjHu3KBYWYFKtXg5uSIHOm1KYSeymxl/lBshNiNH3mcvVUz3mhTJ7jELMg1Bae 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:(13230028)(4636009)(366004)(136003)(346002)(39850400004)(376002)(396003)(451199021)(66574015)(83380400001)(64756008)(66446008)(66476007)(66556008)(66946007)(91956017)(76116006)(2616005)(26005)(6486002)(6512007)(6506007)(478600001)(54906003)(110136005)(186003)(71200400001)(86362001)(44832011)(7416002)(2906002)(8676002)(8936002)(31696002)(5660300002)(36756003)(4326008)(41300700001)(38070700005)(38100700002)(122000001)(316002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?MjE4eGtlSFFXVE1hdmlzR1RtUjRSQk1qcG9TSzB1Mk5NbzIySlVuOHE3SFVu?= =?utf-8?B?c1o5VGtCWjBjMzJZb1JvR3BUMlhLK09mSWhqaTRSTzNPaDE3K0E1MmdwQUFO?= =?utf-8?B?K0FyVUdFT1hoQWRRUzRCdk9kdDB1YWJ4R293YjRYd2g3NEtTYUkxQk5NOWlJ?= =?utf-8?B?UTUrZXVEeDl2TUZlSzVXZmZWMi9EL21QeTB6S1VLbDJHRm9zcjJIcm4xcEta?= =?utf-8?B?SWNLMjZZNEFSRkc3L3pRZVQ2bjBZbTVQMzAyeHNFb3ZJUTNEa05ucmZCbFl0?= =?utf-8?B?UVJGWm9ZZUJGTUs4eXhiQWxvcG1kOFJQZXlSb3d5YjFpcXFSQjY5OG9JY01r?= =?utf-8?B?V1hlKzRvdmk3UG9UaEN5UmtJNmdCQW9KTDNKM1BnUVRaMm5IbXY4WitnVUZV?= =?utf-8?B?SEJRd1kzc3V3OUpSdFJocUVmTm1OT3o3Y2paQys5TDk0Wjh3V3Z2aFlWOWND?= =?utf-8?B?Wm9RRzhzRUdOMkdadXNSQU1KWWNOVUlSUlhPRlY2eitKenh6K25MaXpyakNn?= =?utf-8?B?R2F1dmJDNC85bUt5NDdHMFBCakZNZDd0UDlzT291aGJGM2JiOHp4bVJZT3J5?= =?utf-8?B?TFlFYUhsYUE3SVptRHIyZGhyUEQ0Y2plczR0elRPZWw4YjR2bDdsZ3JLZ0Fs?= =?utf-8?B?SDhlaHBCNXZsU2dpS1IrNzRIcjRJQldGVzFRZnNvM3ZyakpYeTNpMWZ2bG02?= =?utf-8?B?cHFwNjNoODVQV21pVU5Mc0hqc0dFeUppSWViRXhJMXJWOVZCTjRwQlp1TWxl?= =?utf-8?B?cCtWc25EMVpIdHZYZVJqaE1XR0R4NFQ4NE84T0VvZEp1OHphRzZ0d29HWGt4?= =?utf-8?B?Q1M5UG45SEVKT2hFWFFjcGJTdlpYM1Q0R05uMldJYnhOVDFUQkVWbG9paUli?= =?utf-8?B?dXVVNzR6NGVxOHJURUlQcmFWUm4yTW1uUUgySHgrN1o1dmR5YjFqWlBYUHRh?= =?utf-8?B?SXVYcDZTZEc4MXl0OVlGWkVjSXh1MHNQZmk3cm5peEt3QUZlTzlNQUxIZ0Ru?= =?utf-8?B?TzgzSkdkRjBnQ1RzRUpHTTJzZXJuNzh3c2NLOWlJbVFxaUY3VWI5OWVSYzQz?= =?utf-8?B?aHpwTnI3dkhPWG9DQ2F6RGhpK3hZSTFqb2FJNkJzYURIanpwSVl2SFRhaHc1?= =?utf-8?B?dUpNd05mdHFmUGxYWDJTaUVLQ2hWN20welFnL0VOcHBuMzJaOGI5RTlkaGxH?= =?utf-8?B?bEszKzIxZDFkdjM0TjN5U3owV3hIWnZ0ekh5a3A2em0ydWVCdHhVY1lmYmdE?= =?utf-8?B?NXkzTWx6MnpHYlNOUGxDLytJTHN6Z09WR1A3bUovR3RseHM3UmpRNHgyOEN3?= =?utf-8?B?Q2NaNzZzR0NkK212aUpzendJT3hnTkhjMkl0VW9QSHA1RDhKTDljemd0UDJi?= =?utf-8?B?ZG8xL0pPN1MrN2dnMGJvYjJOVUZ6TzJpR3FmV25ObnJrbHNiYjl0dS9PdHNK?= =?utf-8?B?ODQyMjNUY3pkR0hzeW9SU1lMS0JNRCs3MVJUQ3prZW1pNXBlTzJFRThGY09L?= =?utf-8?B?MHFId3Z6K2laS2J0WnlJcjNxbTVOVFlYQmREdjhpTDhKZnBIU0txcXUveWdO?= =?utf-8?B?SDkxLzlQRkFFZjhzSFdzU0swV1VNRG52RWUxVkpJVWdCNmtwY2lUcnByakQ0?= =?utf-8?B?UG03Vis0TzUvZ1hzbXJock1EZXM3NkVJMG9hWkg2WXRUT2I1L0orcitMMGc4?= =?utf-8?B?aUJ1U3M1dGp5cU82cEE4UXZUcFczTVY0R0ptbk1FWHhleUJnd2tnZVR6YkVj?= =?utf-8?B?VnV2UVZhak5BOUVyMTJ4UE1pazlhSHUyZklNNmhGcHcrL3U2WFRVb2JxSjRK?= =?utf-8?B?Q0xrY096cGtnWkJiakFsS1pUcXdrZDF5K1RiWkhHZXRrZStxc3NtMEo3aUwx?= =?utf-8?B?VFI4MFNacjRwVlJsblFvMEhKQWtKdXdyemp6VUdCQ1JCWkhnZmp5SFo5RWNO?= =?utf-8?B?b2pBL2xqT1dKUmhxZ2p2elVEdzhPOXlabDVWK1FzR0RFSHYzdHR2aStKd29y?= =?utf-8?B?eGF1WnNVSU9QK2tXa3cxaVR4UWluYnlaNEdoYWhldXhMSlFEYnhmWVJuQXNr?= =?utf-8?B?SnYzK0xKS2E5M0d0SWRGUUdDVjYrSHAwckY2cUFicUtPK3JjL1AzbmIwckJu?= =?utf-8?Q?y0o5jYWNhNzVG405W8kiFYSlc?= 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: 490fcecb-9bce-42a3-5244-08db54aa7bfb X-MS-Exchange-CrossTenant-originalarrivaltime: 14 May 2023 18:39:00.3699 (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: Mt1FgbJkZw03SFmg5L35YYbMXzOVmiGxhOVHDe67kDd7qCAztFmj9+iqVjPZgSNovxGnPpFa2Og024kqjOaa6O7ie3k3bDGolxdno4VnceI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MRZP264MB1909 X-Rspam-User: X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: C327818000C X-Stat-Signature: jjdbiej1f6aoxb1sxxsfnfqiy1jquap1 X-HE-Tag: 1684089543-499579 X-HE-Meta: U2FsdGVkX18S2gbvkRWZEj7kqsePCpQLbc+l6X1/akcuh3RPDevUSh0EjPwPbspmOUxt/LyR0tXRCJOAxpwpw0isKAfrBCNrC7BMxCO4JZaZRuj2/6wMCyOS+Ti/FpJqGJBcY0wmiF/Y2fHalkeoz++kM4G0FS0mLxN+xswMoYArWEMqjgXP39nSaoyl8NkbtBM5gCbZINgVDwY1MJ1SGOlTfJdNVeRwgXgmvYtH03VeV14MAzfCra5ymwUxB9CHznFHPZgyYRmv3a2FURi9Dch/4h0LZaGLQMw6OxINdElOo48j47uO7/4de2LkdPI6yrOc7yOYfoP4JLuCU7/lfRNVz0TnZxRPQr2w2Ab2N0UGr6Wy+rcBhZe2V/HgLY9uVGwpftHN+8+al52KinAzESBsn5ATl/ma9Wit0GPA8Ra6VtZRSCy015Mvo2Otz7KogGxcyiMWNV/4ojTohxpU2wDX0ahH8ZWxX3fIha3Ct6aU2bhKBxCdPh0Vb7os9GHD40lTDtcQmJ5HlC1DfJ8DmWXOHgfJQqGRZpw8pB8NjZMADgLWUs1+2yImqYyQ2XyJGHZn1hlBfklLOg21RTlGaNldnfest9yxK6rkseqmcOuPzyRM7J4BoCFQzDsyxaqDXpwcbGxCsfsK/1/vm4y5jHCcXn9XgfZFZr8WCyFv0Vx9KBieF/t4sBzMeNZ6vfyQNDteHxuYe/DXaWKY0sUZo0HVaLk3R6tEQuWcf43JhH8kQSMIRT+MuHEj89q2TJxs4LP2ueGG58Oca2aBU01cQ7IM/LkLBe0TW2bzBEZymYQZj6rU6VtNtVoHbs9TF9MJALHFonSLOklNRuYcyAFCbGl02CUAcsL1KPrJYBv/fnSt5Ip+H2CJtLJrE1rwRuN49hivnUthBq3wP+jSfND77f1Cd7CnbWuDpFVVB009F4PKbRY7Kh5xu9bQnIa4J4T/7fWvZu5XM+E6TMKQtD9 3pFplCrx QrTj112QgdzHyizVbQ9OgpQ6p3rBwLm1rr8du7hYp5XVBJNRjp4BGmFE23RkTFQqpwubhLC5OCjp74xhHO04I3PhkJtr1QFxyxT4dFNTfEzGwJnCSPr+u8277FvzrMma1fSv2SkE9d6dAnNBiOG6zU1ybur04xY7YF187ga7ypYpAd8y3WK3geCRF2qc1IhZCVVTb7wY/yob5YRiiH9yE0NPTkx4QVBXskoiyvIkazZAGtypGQ6st7Sq3oMR3bya7MRTuNd9swAFIor59RdcEUHeYZB5AJ6ddSt9s7KhPIeTYIUFL+LiN+67XTJFZ0vX6y4Pw7pyAxaX/cpk5yAjTg3eQbXmzDhqXxYlQn8APIp0z4bYgbX4oB9zhxOJ96yVA2r+/rtkv0Ipw8HlwjqBQsnv6i23FfX/4W6EBRMZyXw+CIaRviwq5C+mFK1y4ameOJZbZmGKBIyeEONBjshByGztM0epJ2Oc+1yXe5Teej5lGzXRx+WTHe317402+QqfWXbEY 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: DQoNCkxlIDEzLzA1LzIwMjMgw6AgMTU6MjUsIExvcmVuem8gU3RvYWtlcyBhIMOpY3JpdMKgOg0K PiBPbiBUdWUsIE1heSAwOSwgMjAyMyBhdCAwMjoxMjo0MVBNIC0wNzAwLCBMb3JlbnpvIFN0b2Fr ZXMgd3JvdGU6DQo+PiBPbiBUdWUsIE1heSAwOSwgMjAyMyBhdCAwMTo0NjowOVBNIC0wNzAwLCBD aHJpc3RvcGggSGVsbHdpZyB3cm90ZToNCj4+PiBPbiBUdWUsIE1heSAwOSwgMjAyMyBhdCAxMjo1 NjozMlBNIC0wNDAwLCBLZW50IE92ZXJzdHJlZXQgd3JvdGU6DQo+Pj4+IEZyb206IEtlbnQgT3Zl cnN0cmVldCA8a2VudC5vdmVyc3RyZWV0QGdtYWlsLmNvbT4NCj4+Pj4NCj4+Pj4gVGhpcyBpcyBu ZWVkZWQgZm9yIGJjYWNoZWZzLCB3aGljaCBkeW5hbWljYWxseSBnZW5lcmF0ZXMgcGVyLWJ0cmVl IG5vZGUNCj4+Pj4gdW5wYWNrIGZ1bmN0aW9ucy4NCj4+Pg0KPj4+IE5vLCB3ZSB3aWxsIG5ldmVy IGFkZCBiYWNrIGEgd2F5IGZvciByYW5kb20gY29kZSBhbGxvY2F0aW5nIGV4ZWN1dGFibGUNCj4+ PiBtZW1vcnkgaW4ga2VybmVsIHNwYWNlLg0KPj4NCj4+IFllYWggSSB0aGluayBJIGdsb3NzZWQg b3ZlciB0aGlzIGFzcGVjdCBhIGJpdCBhcyBpdCBsb29rcyBvc3RlbnNpYmx5IGxpa2Ugc2ltcGx5 DQo+PiByZWluc3RhdGluZyBhIGhlbHBlciBmdW5jdGlvbiBiZWNhdXNlIHRoZSBjb2RlIGlzIG5v dyB1c2VkIGluIG1vcmUgdGhhbiBvbmUNCj4+IHBsYWNlIChhdCBsc2YvbW0gc28gYSBsaXR0bGUg ZGlzdHJhY3RlZCA6KQ0KPj4NCj4+IEJ1dCBpdCBiZWluZyBleHBvcnRlZCBpcyBhIHByb2JsZW0u IFBlcmhhcHMgdGhlcmUncyBhbm90aGVyIHdheSBvZiBhY2hldmluZyB0aGUNCj4+IHNhbWUgYWlt IHdpdGhvdXQgaGF2aW5nIHRvIGRvIHNvPw0KPiANCj4gSnVzdCB0byBiZSBhYnVuZGFudGx5IGNs ZWFyLCBteSBvcmlnaW5hbCBhY2sgd2FzIGEgbWlzdGFrZSAoSSBvdmVybG9va2VkDQo+IHRoZSBf ZXhwb3J0aW5nXyBvZiB0aGUgZnVuY3Rpb24gYmVpbmcgYXMgc2lnbmlmaWNhbnQgYXMgaXQgaXMg YW5kIGFzc3VtZWQNCj4gaW4gYW4gTFNGL01NIGhhemUgdGhhdCBpdCB3YXMgc2ltcGx5IGEgcmVm YWN0b3Jpbmcgb2YgX2FscmVhZHkgYXZhaWxhYmxlXw0KPiBmdW5jdGlvbmFsaXR5IHJhdGhlciB0 aGFuIG5ld2x5IHByb3ZpZGluZyBhIG1lYW5zIHRvIGFsbG9jYXRlIGRpcmVjdGx5DQo+IGV4ZWN1 dGFibGUga2VybmVsIG1lbW9yeSkuDQo+IA0KPiBFeHBvcnRpbmcgdGhpcyBpcyBob3JyaWJsZSBm b3IgdGhlIG51bWVyb3VzIHJlYXNvbnMgZXhwb3VuZGVkIG9uIGluIHRoaXMNCj4gdGhyZWFkLCB3 ZSBuZWVkIGEgZGlmZmVyZW50IHNvbHV0aW9uLg0KPiANCj4gTmFja2VkLWJ5OiBMb3JlbnpvIFN0 b2FrZXMgPGxzdG9ha2VzQGdtYWlsLmNvbT4NCj4gDQoNCkkgYWRkaXRpb24gdG8gdGhhdCwgSSBz dGlsbCBkb24ndCB1bmRlcnN0YW5kIHdoeSB5b3UgYnJpbmcgYmFjayANCnZtYWxsb2NfZXhlYygp IGluc3RlYWQgb2YgdXNpbmcgbW9kdWxlX2FsbG9jKCkuDQoNCkFzIHJlbWluZGVkIGluIGEgcHJl dmlvdXMgcmVzcG9uc2UsIHNvbWUgYXJjaGl0ZWN0dXJlcyBsaWtlIHBvd2VycGMvMzJzIA0KY2Fu bm90IGFsbG9jYXRlIGV4ZWMgbWVtb3J5IGluIHZtYWxsb2Mgc3BhY2UuIE9uIHBvd2VycGMgdGhp cyBpcyBiZWNhdXNlIA0KZXhlYyBwcm90ZWN0aW9uIGlzIHBlcmZvcm1lZCBvbiAyNTZNYnl0ZXMg c2VnbWVudHMgYW5kIHZtYWxsb2Mgc3BhY2UgaXMgDQpmbGFnZ2VkIG5vbi1leGVjLiBTb21lIG90 aGVyIGFyY2hpdGVjdHVyZXMgaGF2ZSBhIGNvbnN0cmFpbnQgb24gZGlzdGFuY2UgDQpiZXR3ZWVu IGtlcm5lbCBjb3JlIHRleHQgYW5kIG90aGVyIHRleHQuDQoNClRvZGF5IHlvdSBoYXZlIGZvciBp bnN0YW5jZSBrcHJvYmVzIGluIHRoZSBrZXJuZWwgdGhhdCBuZWVkIGR5bmFtaWMgZXhlYyANCm1l bW9yeS4gSXQgdXNlcyBtb2R1bGVfYWxsb2MoKSB0byBnZXQgaXQuIE9uIHNvbWUgYXJjaGl0ZWN0 dXJlcyB5b3UgYWxzbyANCmhhdmUgZnRyYWNlIHRoYXQgZ2V0cyBzb21lIGV4ZWMgbWVtb3J5IHdp dGggbW9kdWxlX2FsbG9jKCkuDQoNClNvLCBJIHN0aWxsIGRvbid0IHVuZGVyc3RhbmQgd2h5IHlv dSBjYW5ub3QgdXNlIG1vZHVsZV9hbGxvYygpIGFuZCBuZWVkIA0Kdm1hbGxvY19leGVjKCkgaW5z dGVhZC4NCg0KVGhhbmtzDQpDaHJpc3RvcGhlDQo=