Received: by 2002:a05:6a10:a852:0:0:0:0 with SMTP id d18csp840615pxy; Wed, 5 May 2021 15:31:07 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwgpwb5YGUEVnsIMpbJhsQqFTYB0Hc4WdN3k/lh8MjExXKTbRt5ZkLmw+WMaz5amD9Vpe/M X-Received: by 2002:a17:906:6d01:: with SMTP id m1mr994818ejr.501.1620253866768; Wed, 05 May 2021 15:31:06 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1620253866; cv=pass; d=google.com; s=arc-20160816; b=idnUHuHdwGqdnGln5WlQueQU8Y7uCN22CYbbYza7k2jpbC5LNJ7xxYiJ//V+BWJigj p6euA5Tbg8G2mApn6jymxWwHDgIb+3p+uZkNOpygVYUJgXkpEzPjkPuoXgWI5MRwBJwH 6UcVWpalfWYgOajyggGIRldrEZpUW6YECarEIyzcrHdNuiktd4ty5/1m2IHXICswr41x rU/ggHAfpNqErsy1ITteuvnkV/K4jSCG/Sggztdi/F/jV/HM2g+N2uXFgUsBfd+Yj424 Cwk9TV70j90xpftEnfvN5S86rldiZ03/vc5wy7xmb706fGrBjtcIyC+DWHySONKjGMD7 YgWw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-id:user-agent:content-language:accept-language:in-reply-to :references:message-id:date:thread-index:thread-topic:subject:cc:to :from:dkim-signature:ironport-sdr:ironport-sdr; bh=I7AItHEM6G5bO4X+SM8CS+W4gF5dDU2qZ3jWtY6ouUU=; b=dCZ8m5mGMY730K9AsQreEr6r/J66HM1f33RxkB+kFVfWz0XAkDlIWvieNMAO4uVgZz e5qXDgN5CVPqbfB7GVpRqt17njfPNOadcCgqAC0tV19Uy3vLMzoIhOLf0LS5aSx7aEtZ DKX1iQ5NV6/RQSLokKmfCI5I6q56IpWqWriIM/m9DY3zjkvpheUaoK6CtDkVvoyUL/ZW Rewc5fROjKKHAYyDco1LhYeaF/220zzHs9ijUSjzG5WoJIGLp7fEOsPCH9b8yQvE453w +jQr8s0BCuyh2ynCDxL6/O+XaaTmF/uTqxq8r/pqNqvUonEgdDqM8Svhi9z9iIcOhd8M K9RA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=vuGDFDuX; arc=pass (i=1 spf=pass spfdomain=intel.com dkim=pass dkdomain=intel.com dmarc=pass fromdomain=intel.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id w8si552764eje.293.2021.05.05.15.30.42; Wed, 05 May 2021 15:31:06 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=vuGDFDuX; arc=pass (i=1 spf=pass spfdomain=intel.com dkim=pass dkdomain=intel.com dmarc=pass fromdomain=intel.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229944AbhEEV6w (ORCPT + 99 others); Wed, 5 May 2021 17:58:52 -0400 Received: from mga12.intel.com ([192.55.52.136]:47910 "EHLO mga12.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229691AbhEEV6v (ORCPT ); Wed, 5 May 2021 17:58:51 -0400 IronPort-SDR: F2iaTmFFm/DMvUhXzo6rMJfiPwa8DnpBvYCTmO6ZS8GizsyopgeVOOG4jVzx7fNfi+bPP0JeTF p7U0T9SfRFUA== X-IronPort-AV: E=McAfee;i="6200,9189,9975"; a="177872958" X-IronPort-AV: E=Sophos;i="5.82,276,1613462400"; d="scan'208";a="177872958" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 May 2021 14:57:54 -0700 IronPort-SDR: KjJOzMuqRlcls5wxXtixYOy+8QG8ACx/Bp+gKPmAiP/qBAZZkpFCCs4xcQ+asy3QXhe4UyKtbP /cQ93knP5XtA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.82,276,1613462400"; d="scan'208";a="469158302" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orsmga001.jf.intel.com with ESMTP; 05 May 2021 14:57:54 -0700 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Wed, 5 May 2021 14:57:53 -0700 Received: from fmsmsx608.amr.corp.intel.com (10.18.126.88) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Wed, 5 May 2021 14:57:53 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx608.amr.corp.intel.com (10.18.126.88) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2 via Frontend Transport; Wed, 5 May 2021 14:57:53 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.168) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2106.2; Wed, 5 May 2021 14:57:53 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=V3B7lJtz8Gs5krDVgsQ30MaJ6E8yQLGRRg8NrVvhBQQ0AjMCKWPygQJDrEb3M2QdM3TuyN9KHLaXP3VsQzg3qapjS11xNGaYV5JM5Ou7lo2T7wiVkIky+R5LTGE3Xs9po0DvK6v1EUcs78RbCLJ3Oj3ZpVCtL2bTaqZ4FVk3ri1eDPzZWtmBKZ1SZbDEPPGCo5IqE3DAlbscdgigIHabr7hmfpkpDvDdkWbWPShgWW1sQ6AUmTGGO2sA0pVbkrxpX9bQCZSz5WH1++4MhNEpB8k0ibP9LzGx6Lpt42gP4o9BurD57Ipcuq4sdSJHFv/Ygc6y49L9IK1OE92UyXGMww== 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-SenderADCheck; bh=I7AItHEM6G5bO4X+SM8CS+W4gF5dDU2qZ3jWtY6ouUU=; b=WgW8WBKOLjxLKmIJtWpF9qXySjwY6aIfkzgM5wUs+Y4zpqmwGgcz3Gv4gYMtyd+QrEA4CUFz8e5NthWiBpuxlSO2BbiDEcserli9Tu+xAPA/q3+weBKDUE6/wHckmlAv1Rf3AdRWssC48PXBZ3Xg2NQANGFWHuxsV4hsRBdB0H9Un7miRQWq/Lvcsqd5KiDDx8TF6r5WepsVbvdhALEiAQAl60gRzzrz5QHHfRi3/MH5cjLcO/iLP+RIEoTujOefHDx0ELMjOAw1w7VJYKZIFIE2JEbj691kzUXbskWvBCmu1BCyRAaoJT9bmhhTMbvkxbtY0F+UiyBnZpavK34inQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=I7AItHEM6G5bO4X+SM8CS+W4gF5dDU2qZ3jWtY6ouUU=; b=vuGDFDuXxgLfENzZV4i+gYueD7pnVnt8jmcGF/Lieh5OxDR+m/EnXVOUogAmyYOivMC5SuJaPVRQNaKogBjppXSeuj9KluweWG7JIDoI8jKC3SqoFpUkTukPqOJhZ6HOapLM6xvTu6LQS2RX3IaSZI0tVH0gbM1V4amfOuLFfO4= Received: from SN6PR11MB3184.namprd11.prod.outlook.com (2603:10b6:805:bd::17) by SN6PR11MB3232.namprd11.prod.outlook.com (2603:10b6:805:be::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4087.35; Wed, 5 May 2021 21:57:17 +0000 Received: from SN6PR11MB3184.namprd11.prod.outlook.com ([fe80::e19b:4529:be03:316b]) by SN6PR11MB3184.namprd11.prod.outlook.com ([fe80::e19b:4529:be03:316b%5]) with mapi id 15.20.4108.025; Wed, 5 May 2021 21:57:17 +0000 From: "Edgecombe, Rick P" To: "peterz@infradead.org" , "rppt@kernel.org" CC: "kernel-hardening@lists.openwall.com" , "Hansen, Dave" , "luto@kernel.org" , "x86@kernel.org" , "linux-mm@kvack.org" , "akpm@linux-foundation.org" , "linux-kernel@vger.kernel.org" , "Williams, Dan J" , "linux-hardening@vger.kernel.org" , "Weiny, Ira" Subject: Re: [PATCH RFC 3/9] x86/mm/cpa: Add grouped page allocations Thread-Topic: [PATCH RFC 3/9] x86/mm/cpa: Add grouped page allocations Thread-Index: AQHXQUYjrHRaN7YNCESTntxXPP7WtqrUzCmAgAAQ+QCAAF30AIAANZiA Date: Wed, 5 May 2021 21:57:17 +0000 Message-ID: References: <20210505003032.489164-1-rick.p.edgecombe@intel.com> <20210505003032.489164-4-rick.p.edgecombe@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.38.4 (3.38.4-1.fc33) authentication-results: infradead.org; dkim=none (message not signed) header.d=none;infradead.org; dmarc=none action=none header.from=intel.com; x-originating-ip: [134.134.137.85] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: f2ef5e80-0f25-4d23-870b-08d91010c028 x-ms-traffictypediagnostic: SN6PR11MB3232: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr,ExtFwd x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: j1rBgIM0e59llNZTZSxMt1PQydfiHva/CfSt7GjoV6PurdNiEfdkjcmKSex6IybwyWkEjLCHpoIVW3D8/fjYabSmDcWbPvr9BqBwXPAmScUDmdcafYjNhieG7lw6EFegCDkUgyImdkTtTIcLZzo2mzfRJg6MmJqucqqO/0cOTyqVL2ctQHTVmym1sfi5fW/DWP3Dqj3LVhBB4+O5AdN/vOkOvTxrSzAvQ5FB5T+bZV31kjsTN4TW4wqEKcB04RTF7cBYU3Rj+HwP8ONSIgI/sziMzF5DY1yalx54Pf1RzqAZendktleq3vom3AFNaAi8/RIsltNpr9AudAMiPwHBHKSCYHFtPQtQiQWqNik63FiQgXqUq1f/JywJeNasth7zEgd8JiApD31WqUUJOrATFCiuUR8wndawYX8589trkHhHKFGY4JNwISWzzW3sLZCkcvEht9BjzJrphS+I8l5ZQJCLwodLn4kBbRUCMhr0cv8SdYPF+xsfcnlAe45kCycvt8+IvkXbSMvM8uvICXm+bpw+9bM8WEci6A7MmstbGnIMm4vZfBzM6+7CSzhVtn7l9jNK1fwwe13gqkOSnY3BY82ylC6F5jnzRGYEjcdFC8E= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR11MB3184.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(396003)(136003)(376002)(346002)(366004)(39860400002)(66476007)(66946007)(6486002)(64756008)(66556008)(66446008)(83380400001)(6512007)(2906002)(186003)(8676002)(122000001)(478600001)(91956017)(86362001)(38100700002)(8936002)(71200400001)(76116006)(26005)(6506007)(110136005)(54906003)(7416002)(2616005)(4326008)(36756003)(316002)(5660300002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?cGlza05kM3Bwa2JXYlNjb0NKY1Q4NjBnQ0VhTG44V2VMMUhwZldhWC9jMnlK?= =?utf-8?B?ZU02UE5SRXZBN2hvRHVqUGpkLzgxbVQxU2JZRElEN1B3TUNzcllraXYza0wr?= =?utf-8?B?bkVxNXRrSEdDclBLcmEyOFVtQm8yTGJvSzNMeWJIK21sVVl2K2dQYjFGK1JH?= =?utf-8?B?WCt0c0hwMml0TFdvOHZoenJlYW9uU0VZZzRSNW9GVkhlVWtIRUVMMTBYbk9r?= =?utf-8?B?QWtJVytEZXRlNnk1djFibVFwZE05ZkhOcEI5ekZ4ak4yb2orRWJHN1VQTGd5?= =?utf-8?B?b3VBRkd3OStlQkRaU0svOCsvV2tUV292MGE4eWYvR0txczdUeWtKM04zdWlv?= =?utf-8?B?M1pvb2VEaVNJM3FLdWwxcnk0bFJPaXhuWnBhMXU3bENQRFkwWG1QTjhaS2x2?= =?utf-8?B?SzdEbHpLaEVsdm9IeUhyWktuYnQrTW1DVDYwanJCbG1YNm5rMFMwSW5jaHRI?= =?utf-8?B?ZWdJUzNUZUJsNGN5Uy9UTzBrTXYvbTN6aERMVGVDL0U4V3VkOHA3R3hFTWYx?= =?utf-8?B?ZktaZXdiUSsraTZwZ0dnN1AyVHpVZ1A0T0VGeGp5Tyt1NVNHbUZuU05ESHRM?= =?utf-8?B?VVdOTkZhNGRxU0llelNxeU83ZFNPQkdaaGxPaTR0S3AvYkNETEkySE05RXJN?= =?utf-8?B?VjFrcW9lTytBcTlVbVJvTFhWMGFldjM4ZUp5dEt1bWQ2ajlKOUo1SEg4MkNk?= =?utf-8?B?c2crd2wwQ1VaTVNQWUFDS1lSdUR5YW94R1c0WWJaMWdoWmkzSkp3aFpqMFd2?= =?utf-8?B?TXZaM3RCU3pUN3JKbXVkSkN6dG9UTzJrNnRkNWlueWQ4M0hmTUlHdlV6M29h?= =?utf-8?B?L2N3OEFuNVF4dkhGelQzdDJWM0MyUE56M1RFTG1NckcxYmJPRjJ3ZzRvbHVL?= =?utf-8?B?RnNlN1FYWTdDdFpnV1p1ZjV1dTg4ajYvNVRYZ0s1bUtLNDc3K3ZFODlTcHRZ?= =?utf-8?B?d2NWRmlRbFVXak9obW8vNmpKQjJvWVFOaldCenllMG1lcnRZekxVKzdhL2tD?= =?utf-8?B?bHYxR3BQS3d4N0ZxOWRNay9HdVRjLytWTWtQUFZQWEtHLzVCUmVRWUZreHE5?= =?utf-8?B?THNqREVqbCtPNWZiMER4c3Z6N0tvYTI0UXYzbmRnTVY3Ynl4L0NwNVZ4Z2lR?= =?utf-8?B?SWQrdGNHRUN5NTZUb04xTmI1anVhakNRRndyM2oxb3p4ZGl0em5NOGZ1VXJm?= =?utf-8?B?RlVoZitCRFdZU1dYbk5haldQbDUxdUhNWnRma2x5Tjk2VTFTbk83a2hSeWRW?= =?utf-8?B?dGk3Y1B4N0pvNjI5ZnRFZUhqQTFRSnNxUjVjZGs4c3hHc0VuUytqTzZRT1Rm?= =?utf-8?B?N054eUM0VjdrYnl4Rzlpd2ExS2dLVzlsYVQzYVNxUkJ1dTM0QTlaNEI3RCtH?= =?utf-8?B?TUpybHloRkM1TUFCQWxlRHhPZnEveUV1ME5NMldoeUs1bERuZFU4LzRsQWRl?= =?utf-8?B?by9PelRBWHh0Z013M1FmY0wrUlVVdDZDZ2JlZzQzdkpkN3ZRQVE5UzFaUUdI?= =?utf-8?B?UkVKMVpkcmRqUjMrMHhjK1dzb1VrREVmWE4zQXl0VS8zZUxnWW91K01nU25Q?= =?utf-8?B?eGhlSVFYWTRWclJIVGdvN3NUeHFqcjI3aTh3alFvdjYvdVpmZjgzZDhDUlpZ?= =?utf-8?B?SFpJaHd6eXgvQWQ4SjZSanNlbi82MGUxd01OM21VN3B6c2gyVlNUKzJjR3NQ?= =?utf-8?B?cjZjQUtUOWFKMUpTMExsQUlLelVJWEpHWFNxTkdPUVkrbXNxYmRZSkpKODg2?= =?utf-8?B?ZitoQzBnZFJTVUk3WjhHRmhTVWJESG9MdnNsejU5RFFkYTZ1VVRuTXZMeXp2?= =?utf-8?B?OVB2ZFpvR0VHMHMvYTlUQT09?= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR11MB3184.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f2ef5e80-0f25-4d23-870b-08d91010c028 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 May 2021 21:57:17.8418 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: DPGC10dr1hbSG3xt/ZVTR1mK0jz/1+mtfQCxFL6AusvMH3KD0rUYRUicdnAYnNS3LHNq7MSPwQx/AUAiUCfnsrDkY2vKO/dV5bosMz2jNBw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR11MB3232 X-OriginatorOrg: intel.com Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org T24gV2VkLCAyMDIxLTA1LTA1IGF0IDIxOjQ1ICswMzAwLCBNaWtlIFJhcG9wb3J0IHdyb3RlOg0K PiBPbiBXZWQsIE1heSAwNSwgMjAyMSBhdCAwMzowOToxMlBNICswMjAwLCBQZXRlciBaaWpsc3Ry YSB3cm90ZToNCj4gPiBPbiBXZWQsIE1heSAwNSwgMjAyMSBhdCAwMzowODoyN1BNICswMzAwLCBN aWtlIFJhcG9wb3J0IHdyb3RlOg0KPiA+ID4gT24gVHVlLCBNYXkgMDQsIDIwMjEgYXQgMDU6MzA6 MjZQTSAtMDcwMCwgUmljayBFZGdlY29tYmUgd3JvdGU6DQo+ID4gPiA+IEZvciB4ODYsIHNldHRp bmcgbWVtb3J5IHBlcm1pc3Npb25zIG9uIHRoZSBkaXJlY3QgbWFwIHJlc3VsdHMNCj4gPiA+ID4g aW4gZnJhY3R1cmluZw0KPiA+ID4gPiBsYXJnZSBwYWdlcy4gRGlyZWN0IG1hcCBmcmFjdHVyaW5n IGNhbiBiZSByZWR1Y2VkIGJ5IGxvY2F0aW5nDQo+ID4gPiA+IHBhZ2VzIHRoYXQNCj4gPiA+ID4g d2lsbCBoYXZlIHRoZWlyIHBlcm1pc3Npb25zIHNldCBjbG9zZSB0b2dldGhlci4NCj4gPiA+ID4g DQo+ID4gPiA+IENyZWF0ZSBhIHNpbXBsZSBwYWdlIGNhY2hlIHRoYXQgYWxsb2NhdGVzIHBhZ2Vz IGZyb20gaHVnZSBwYWdlDQo+ID4gPiA+IHNpemUNCj4gPiA+ID4gYmxvY2tzLiBEb24ndCBndWFy YW50ZWUgdGhhdCBhIHBhZ2Ugd2lsbCBjb21lIGZyb20gYSBodWdlIHBhZ2UNCj4gPiA+ID4gZ3Jv dXBpbmcsDQo+ID4gPiA+IGluc3RlYWQgZmFsbGJhY2sgdG8gbm9uLWdyb3VwZWQgcGFnZXMgdG8g ZnVsZmlsbCB0aGUgYWxsb2NhdGlvbg0KPiA+ID4gPiBpZg0KPiA+ID4gPiBuZWVkZWQuIEFsc28s IHJlZ2lzdGVyIGEgc2hyaW5rZXIgc3VjaCB0aGF0IHRoZSBzeXN0ZW0gY2FuIGFzaw0KPiA+ID4g PiBmb3IgdGhlDQo+ID4gPiA+IHBhZ2VzIGJhY2sgaWYgbmVlZGVkLiBTaW5jZSB0aGlzIGlzIG9u bHkgbmVlZGVkIHdoZW4gdGhlcmUgaXMgYQ0KPiA+ID4gPiBkaXJlY3QNCj4gPiA+ID4gbWFwLCBj b21waWxlIGl0IG91dCBvbiBoaWdobWVtIHN5c3RlbXMuDQo+ID4gPiANCj4gPiA+IEkgb25seSBo YWQgdGltZSB0byBza2ltIHRocm91Z2ggdGhlIHBhdGNoZXMsIEkgbGlrZSB0aGUgaWRlYSBvZg0K PiA+ID4gaGF2aW5nIGENCj4gPiA+IHNpbXBsZSBjYWNoZSB0aGF0IGFsbG9jYXRlcyBsYXJnZXIg cGFnZXMgd2l0aCBhIGZhbGxiYWNrIHRvIGJhc2ljDQo+ID4gPiBwYWdlDQo+ID4gPiBzaXplLg0K PiA+ID4gDQo+ID4gPiBJIGp1c3QgdGhpbmsgaXQgc2hvdWxkIGJlIG1vcmUgZ2VuZXJpYyBhbmQg Y2xvc2VyIHRvIHRoZSBwYWdlDQo+ID4gPiBhbGxvY2F0b3IuDQo+ID4gPiBJIHdhcyB0aGlua2lu ZyBhYm91dCBhZGRpbmcgYSBHRlAgZmxhZyB0aGF0IHdpbGwgdGVsbCB0aGF0IHRoZQ0KPiA+ID4g YWxsb2NhdGVkDQo+ID4gPiBwYWdlcyBzaG91bGQgYmUgcmVtb3ZlZCBmcm9tIHRoZSBkaXJlY3Qg bWFwLiBUaGVuIGFsbG9jX3BhZ2VzKCkNCj4gPiA+IGNvdWxkIHVzZQ0KPiA+ID4gc3VjaCBjYWNo ZSB3aGVuZXZlciB0aGlzIEdGUCBmbGFnIGlzIHNwZWNpZmllZCB3aXRoIGEgZmFsbGJhY2sNCj4g PiA+IGZvciBsb3dlcg0KPiA+ID4gb3JkZXIgYWxsb2NhdGlvbnMuDQo+ID4gDQo+ID4gVGhhdCBk b2Vzbid0IHByb3ZpZGUgZW5vdWdoIGluZm9ybWF0aW9uIEkgdGhpbmsuIFJlbW92aW5nIGZyb20N Cj4gPiBkaXJlY3QNCj4gPiBtYXAgaXNuJ3QgdGhlIG9ubHkgY29uc2lkZXJhdGlvbiwgeW91IGFs c28gd2FudCB0byBncm91cCB0aGVtIGJ5DQo+ID4gdGhlDQo+ID4gdGFyZ2V0IHByb3RlY3Rpb24g Yml0cyBzdWNoIHRoYXQgd2UgZG9uJ3QgZ2V0IHRvIHVzZSA0ayBwYWdlcyBxdWl0ZQ0KPiA+IHNv DQo+ID4gbXVjaC4NCj4gDQo+IFVubGVzcyBJJ20gbWlzc2luZyBzb21ldGhpbmcgd2UgYW55d2F5 IGhhbmQgb3V0IDRrIHBhZ2VzIGZyb20gdGhlDQo+IGNhY2hlIGFuZA0KPiB0aGUgbmVpZ2hib3Vy aW5nIDRrIG1heSBlbmQgdXAgd2l0aCBkaWZmZXJlbnQgcHJvdGVjdGlvbnMuDQo+IA0KPiBUaGlz IGlzIGFsc28gc2ltaWxhciB0byB3aGF0IGhhcHBlbnMgaW4gdGhlIHNldCBSaWNrIHBvc3RlZCBh IHdoaWxlDQo+IGFnbyB0bw0KPiBzdXBwb3J0IGdyb3VwZWQgdm1hbGxvYyBhbGxvY2F0aW9uczoN Cj4gDQoNCk9uZSBpc3N1ZSBpcyB3aXRoIHRoZSBzaHJpbmtlciBjYWxsYmFja3MuIElmIHlvdSBh cmUganVzdCB0cnlpbmcgdG8NCnJlc2V0IGFuZCBmcmVlIGEgc2luZ2xlIHBhZ2UgYmVjYXVzZSB0 aGUgc3lzdGVtIGlzIGxvdyBvbiBtZW1vcnksIGl0DQpjb3VsZCBiZSBwcm9ibGVtYXRpYyB0byBo YXZlIHRvIGJyZWFrIGEgbGFyZ2UgcGFnZSwgd2hpY2ggd291bGQgcmVxdWlyZQ0KYW5vdGhlciBw YWdlLg0KDQpJIHRoaW5rIGZvciB2bWFsbG9jLCBldmVudHVhbGx5IGl0IHNob3VsZCBqdXN0IGhh dmUgdGhlIGRpcmVjdCBtYXANCmFsaWFzIHVubWFwcGVkLiBUaGUgcmVhc29uIGl0IHdhcyBub3Qg aW4gdGhlIGxpbmtlZCBwYXRjaCwgaXMganVzdCB0bw0KaXRlcmF0aXZlbHkgbW92ZSBpbiB0aGUg ZGlyZWN0aW9uIG9mIGhhdmluZyBwZXJtaXNzaW9uZWQgdm1hbGxvY3MgYmUNCnVubWFwcGVkLg0K DQo=