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 DFF3FC433EF for ; Wed, 15 Jun 2022 18:42:25 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 82AE46B0071; Wed, 15 Jun 2022 14:42:25 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7DAD66B0072; Wed, 15 Jun 2022 14:42:25 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 62DBC6B0074; Wed, 15 Jun 2022 14:42:25 -0400 (EDT) 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 5500B6B0071 for ; Wed, 15 Jun 2022 14:42:25 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 2A93334F2D for ; Wed, 15 Jun 2022 18:42:25 +0000 (UTC) X-FDA: 79581340650.06.D4D2486 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by imf26.hostedemail.com (Postfix) with ESMTP id D0F5B140093 for ; Wed, 15 Jun 2022 18:42:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1655318544; x=1686854544; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=LxRdb8zBuPSRGBjDuQSB9p5gH40WBuDVgPgBLFDF4Lg=; b=iDGHURFd7RepTKGkFql9plXaZ05bggbYu1fqx1wWa75NPPt4Rt1WXZH6 2BetCT+DdbGmj1wxzNDRORsLoeTO5TARr+FF7kRafmNF3AESOnAX6jxYo bbOIELQW0I6P2nDiF0JsJEapzBMMzpYrV2FGhY1SsO5qkYerrnXzSV52i VlTRED3v+4trvcXWpi/GHMBCK012lfpXA/Yl4K+7oGXT8MncleXtqanyP kNY07YVkQPX7ImhGDuquan9EYiAGQqXlr0wsCbVAhwgDwPX2BBW6suy3W KYV1Vrq/JLAy1oMdrV/9J7Fm9tnEQXK2Oi3/PW8WtfAfLnG93Zq2nnr5z A==; X-IronPort-AV: E=McAfee;i="6400,9594,10379"; a="259532573" X-IronPort-AV: E=Sophos;i="5.91,302,1647327600"; d="scan'208";a="259532573" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Jun 2022 11:18:18 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.91,302,1647327600"; d="scan'208";a="652801889" Received: from orsmsx604.amr.corp.intel.com ([10.22.229.17]) by fmsmga004.fm.intel.com with ESMTP; 15 Jun 2022 11:18:18 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX604.amr.corp.intel.com (10.22.229.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Wed, 15 Jun 2022 11:18:17 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27 via Frontend Transport; Wed, 15 Jun 2022 11:18:17 -0700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.177) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.27; Wed, 15 Jun 2022 11:18:17 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aD1HmdBb00y8qlb19/2VL9X00a6SPg+CYDM7iz8aeDlCNLeoG/vw+GvAXEvXM/6hyZQKQOcTj4R6fqW42QOTUOTzoW2vMYSFqsz1SiML4vy/4QF/ED+vW4ZUQGfhDrrdKNqL7RTbAcMBQYgvcf1HwaxnTrgb+0OJJIgVvka4W6qcvAc5cGa7U7N7hvbdUfLGW00je6L5e1X0hy5jz89RCKfi+dorcHIFM31zHNhyVi04EzZ2g8oL0LtVE4jAfZLRgNZb1FmV6msQv7F/9PPjyiquOdGiZuis9KovphkbXxQ0aA9RerStPUcsUrTRoH+92Y5fKfglDSLd2sNzm1jRdg== 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=LxRdb8zBuPSRGBjDuQSB9p5gH40WBuDVgPgBLFDF4Lg=; b=Ngdi36EQE9klZqBuXSK+DA6DwF0BLlG2gI58MLtrY6qeUmYtD4VvUMkZaOXQ8c9wKcwmq2H1ln7TSljTw8/n4JZOfPqN0EYonhm2jYZJqOqibqBm0iErSxgeNb6eetxQHMSDCTj084T2epXFDpx4Y/JwW6IuJ8AVxkgJDSKAwRqHAgYfG+LOxKOShZeDUXlhS2eIZLFxUz0yamj7HtaO2v75NDipSvCxmMMSqbMj6Roz6xHokEtpMFChS9tMoTsRjLTYIHnVJDXHeqGjGXLNZufnhL0Io+RO2ypFvUyLzhMo/j/8m65SQxz74m8gw1LPmKu0ep9AJwE6UbI0zBiPeA== 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 Received: from MWHPR11MB1392.namprd11.prod.outlook.com (2603:10b6:300:24::14) by BL1PR11MB5285.namprd11.prod.outlook.com (2603:10b6:208:309::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5353.14; Wed, 15 Jun 2022 18:18:15 +0000 Received: from MWHPR11MB1392.namprd11.prod.outlook.com ([fe80::6463:8e61:8405:30f4]) by MWHPR11MB1392.namprd11.prod.outlook.com ([fe80::6463:8e61:8405:30f4%12]) with mapi id 15.20.5332.022; Wed, 15 Jun 2022 18:18:15 +0000 From: "Edgecombe, Rick P" To: "42.hyeyoo@gmail.com" <42.hyeyoo@gmail.com> CC: "peterz@infradead.org" , "rppt@kernel.org" , "tglx@linutronix.de" , "linux-mm@kvack.org" , "dave.hansen@linux.intel.com" , "Williams, Dan J" , "x86@kernel.org" , "hpa@zytor.com" , "aarcange@redhat.com" , "mingo@redhat.com" , "Christopherson,, Sean" , "Lutomirski, Andy" , "pbonzini@redhat.com" , "bp@alien8.de" , "Tianyu.Lan@microsoft.com" , "aneesh.kumar@linux.ibm.com" , "chu, jane" Subject: Re: [RFC 2/2] x86/mm/cpa: drop pgprot_clear_protnone_bits() Thread-Topic: [RFC 2/2] x86/mm/cpa: drop pgprot_clear_protnone_bits() Thread-Index: AQHYf7mnsP+enHerr0CgUupgkruVP61Od4QAgADAyACAAJ1+gIAA81AA Date: Wed, 15 Jun 2022 18:18:15 +0000 Message-ID: <6e3eb8a0fc059419b77e1f6fdf3cb8ab746eb37b.camel@intel.com> References: <20220614063933.13030-1-42.hyeyoo@gmail.com> <20220614063933.13030-3-42.hyeyoo@gmail.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Evolution 3.28.5-0ubuntu0.18.04.2 x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 6e2fece6-5181-4150-bf6c-08da4efb6a37 x-ms-traffictypediagnostic: BL1PR11MB5285:EE_ x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 9qaEOxwQllT2gTrceYNgFPXsEC+DKUKUi7W0tyAIQYeZJO0lZLvO4OEv9iyCCnxXHdnDHGgUOKXWYJEyucrDmt/O3VHJ4LW2TiZrQbfg+iX5jtKYaOZLRP+B86WpWyggFzZEUgmDnta7p2sFj4jb4hZo/yAlIqz/exzFI7X6CsAd/T+iFiyqsil6RkA5SvzCzaNpTIGZmMPTB4OPpWqODCuN3A3AdYOmCIHiKYJs7kwCENwJKOHXQannIHEPZ4bVYdqbuYYBCGzk+tCTGCiW1Yxa66zMlM/oKevLwXOklgqlE7FQQ0qdtsiLNiBdc4XT77fIqkJJqu2CXEHKkUmZ0jtcSP/cdYmjqk84TDC/7BtO5Ix2urIx6D4ycg7LqhaaPsV1ZS3yqYqpsdXJpnbbucnZR+W4OjVjjBF2/4iVGfIm6GOcMB+DP/efEdURti2vHfcslIkprX+gatN1Xg64cczImv+1S9psra0EnltWnY42y2Au8hBAlKzpmSn/YzcFj9HpBs1Ed5Rjk17rw8Ub0DusAWOe2Nd4HtvudKqnH07xF5MKzl/L3muBVyU1FElr0uDvaQB9L0mzG6DiCmzMNE6um0VYmMyIJiAE5dY83znn7dxLnGqzUf105lfPSzXaYmd2QnDjCuVrn8Se0sqEyiseaKU5PhMtkpyPs+2ld9E+lN2QLGIoW20IHjCr193b6Zo7TnKueqhkxUcvm9RbIGeq6z/I/E6TKJfFKPHsGP8= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR11MB1392.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(366004)(6486002)(71200400001)(508600001)(122000001)(7416002)(5660300002)(186003)(83380400001)(6512007)(2616005)(2906002)(38070700005)(66476007)(6506007)(66446008)(26005)(66556008)(86362001)(64756008)(66946007)(4326008)(316002)(38100700002)(36756003)(6916009)(76116006)(8676002)(8936002)(82960400001)(54906003)(99106002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?dzc2UERkVGd1OHdzeExmY3pPMGdHQTRJMFVKVE9rSXErNXgzaER1azhPWGxU?= =?utf-8?B?Qkh3R3BRcXNKcVdjVmRDZ1o2ei9qYlZOTzZxZXFWV3JKV2NCczVmWHRCZTV2?= =?utf-8?B?c0dURVUvQ1dxbW02QVI5ZHdrTVdiVVM1ZVJQdy9HUG1uQk1BUkNVeit3VjBD?= =?utf-8?B?TmxwaDBPbDlTYzJHeWdoSzE0SVlrYkE5bmhYd3Fua0xpditzbFpvZVNsMnF0?= =?utf-8?B?UCs4ZWpXOXJjclhaNVo4dEFzUUpPa1lOQitOZXdJUnpQM1lWanQzTXkySFY1?= =?utf-8?B?R0dBMDNETGwxcXU5SXVkeFoxVWhOVTRTc1YwUzBqaEtGN25lVVNsVDFxTjFW?= =?utf-8?B?NitJcjloeFU2N3VvdTBjYkl3VnF6T2lBN1VYc0l1QjlFSDZJSTVZQU40VzJ6?= =?utf-8?B?TUJQaVF3MHBiTXBOaW5XbzRia3hTN2FmSFdacUNLRnJBbThlYkhUaXE1UmJF?= =?utf-8?B?K3h3RFZWM2hPTk1jUDJGdzlVUDQ2K1FVb1IxalJ5Qk90aG9CYllyVzk1RGpY?= =?utf-8?B?ekxXa0o5ODZ1ZGpzOTdvRGFzYnRlMlFzaUFreFpZWGtMMHFEdG8zMFN3bkRE?= =?utf-8?B?ZE42cEFuV3krOExVR0k1NU9nc2hHMW83RkVmS1dhelZ3NStOci9qcDVGLy9z?= =?utf-8?B?VWI2SzdDektvdS9Ic0krVWlCYWRUZE84VE9zcG1xYXo3M1FwWDhVYzZNajRn?= =?utf-8?B?L08yTW1JTDZyV1hhT25BdUY3c3M1R0FQNmR1S0hsc0pCWWw0a1lxaGY0RWYz?= =?utf-8?B?dGxjd05KL1RNWjdYKzhPdyswaXJGdkhzMXB3TXE2M3dwOFU3T1QvTlEwbkFU?= =?utf-8?B?dG5MNFVySU51QzZzUFZYbklyY1dEVS9BMjZFdFNrVXcrT015YldOamJVa2Ns?= =?utf-8?B?R2lrdmwrS2RBc3dSUlN2MXRIQUl6ZEdNL2tzVEVNcWdkZXVLWnh4WnQ5eWFk?= =?utf-8?B?TXR2dkU3QzJoMy8vWWdhOEp6MFZZc2lMS1NsZEcxYjJlcHZ0VGN5bVN0VnBi?= =?utf-8?B?ajlBeEJZN0diaVpmTWlJeGtkOUNHNWJKNUZpN2VUR00zZnpqQmFzYzFqVjBD?= =?utf-8?B?RnN4MmxNTjRxekY0R1JqMHVRT2VaVE1EZDV1TWwvWjVDeXYrUm1vVGpPVWVP?= =?utf-8?B?Sm5kR0hBcU9wd2NiK3phLzlIUmw3ZktVKzdySWtqS2pWVVNvQzFlT2dJTnRj?= =?utf-8?B?VzlDQkZ4a3dJT01XdTJVZ0pwblBtb0g1eFdUWDJlaHd4VnlHMzZBZlFhWVhZ?= =?utf-8?B?S2tuWkZrV0ZUSXRMRXBDemZrWG4xMWo5bVdGMEZsVnZ1MmRPanVRWENpT0Qw?= =?utf-8?B?SHYzNFhXSm5FMGlQbjl1T2dSQ2dWcWlZd1ZMTXZkL2dNS2JYZVlKZllVc001?= =?utf-8?B?bVpYNTRFWGM0aXBZa0VVZG1ObHVaaTlPLzh1cUpmQURxNUhKYzVlRk9nNUND?= =?utf-8?B?L09TWVNUN1VJaFQ2UGFJNnRvWUYxYVpsOFY2b1pYeElDditLRjEvV3Q3ZUdW?= =?utf-8?B?WDR2eDFwcjdla3RiZGVmcTZBRG1rZDlpZlNKWGdTdFN0OE16WnlPSTBtdlgz?= =?utf-8?B?Z1poTUdWSzd6YmM2SE80UFFGNVp2MFhIUUJQV2JwQ2dHcDRsMXdiNDg5MU5y?= =?utf-8?B?K0p1Z3FqWnJaeDlHa0V6UnorK2hFbXovRStoejhEMUxmOGRxc0tZRXpsQVBr?= =?utf-8?B?akdndjFHbGJiWk9IMDA4UXJFN3h0TWNTRjJnR012Zk9hTkdMblVkMzh3cTNl?= =?utf-8?B?TzZwcG9JTlI5bUNscVpTeVBlMHE2SUtiNU0wOVJ5Y1VrWitLVUU1Rm9pODNn?= =?utf-8?B?dzR2WThLdUNIbHBZL3IrZFcyT3R5bVBvQ3BPRHZOdzFSMDhOeFY5SEc5Y0lP?= =?utf-8?B?dWlYZ21FWWNvb3lNaVFCbHJ1eXpOWE03Z0JoblE2cFlhNVhyMWtrL1dBUmNJ?= =?utf-8?B?NDh6elVKemV5K0xmNzNvcjhkUGZjb3M0enRkdnROMlE3YVhTNW9pb1VvaXYy?= =?utf-8?B?NG1rZElRRnZqN2JyOXNUR3EwSWxYVDJ3LzJBK0pzQTFlbVFScWZINUhDTzRo?= =?utf-8?B?NHVWcGgzbTJpUUkwUXh4MDBmaENtc0t6R201RlpzL3pRbDNTampTU09EREln?= =?utf-8?B?MHJGTjFHWUFCbzJqY2ZUaVJiVVl1cTFOMGw4aVZ1TVhERjlRWG5wdGNXRGxJ?= =?utf-8?B?NHdUK0xHUFltZkpYSjNYZXRKekhEWUxNMHZCemlmSXJ1RmFaQWhWbEc5eGhH?= =?utf-8?B?UFZpODUrWWEwR0RyeHZpWEhWaXhPU0J6UTBhQ1ZmamhwaGtIUlNOa2RLQlRm?= =?utf-8?B?WlVQd0hraTM3SXRsQ3cwa3dKVVRmaXNVRDBQNXZLanpLY1duY3NldkJkY21C?= =?utf-8?Q?jNvEK0ULgmQJG/98WUW1Yi5o0+HKEGcD+WSmM?= 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: MWHPR11MB1392.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6e2fece6-5181-4150-bf6c-08da4efb6a37 X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Jun 2022 18:18:15.1517 (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: GBFwcZgUsxoq8LXH7r/3u9SLx8KhE6wRkXz/Imz9+CczuCTydw08fm9CDr1fjw8flz2FCWQGw2jneGwVK12SJevpqggzYse6zfWhJCzP47M= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR11MB5285 X-OriginatorOrg: intel.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1655318544; a=rsa-sha256; cv=pass; b=JH4awTp1KUVmEZX6aLNxHSTbcouLmk5K+745wP6k1Z2IgUgylpnYfStq7R2hVixe2YmKPJ QvS57Ehq2H5gMXc4x9edHglRFsOlFW+s1eoF6u++Dr4latF2dYYvLEAYh7sNSeZrlGMrAt U9Jyny82kuLgdbHhIDlyfrKotcxEQMU= ARC-Authentication-Results: i=2; imf26.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=iDGHURFd; spf=none (imf26.hostedemail.com: domain of rick.p.edgecombe@intel.com has no SPF policy when checking 192.55.52.151) smtp.mailfrom=rick.p.edgecombe@intel.com; dmarc=pass (policy=none) header.from=intel.com; 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=1655318544; 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=LxRdb8zBuPSRGBjDuQSB9p5gH40WBuDVgPgBLFDF4Lg=; b=mZETJqufdaLkXgglbGfeBwYLqxkE3ljSQrz8Q154ENkL+xwriFFoA/TRzlhTZurqb7o15r XaZqRRKaYecZq+9JopWhUDjK1VoPZtggihzaW84jhHPWITEVa8N0ZOLi80KTXrfCMhroue jMLE10l2xzoOHPx05Pff1e0MAWCVWlk= X-Rspam-User: X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: D0F5B140093 X-Stat-Signature: 3r9w7wmk4ou1i1qrmhko5f38c4pwi7ms Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=iDGHURFd; spf=none (imf26.hostedemail.com: domain of rick.p.edgecombe@intel.com has no SPF policy when checking 192.55.52.151) smtp.mailfrom=rick.p.edgecombe@intel.com; dmarc=pass (policy=none) header.from=intel.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") X-HE-Tag: 1655318542-244923 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: T24gV2VkLCAyMDIyLTA2LTE1IGF0IDEyOjQ3ICswOTAwLCBIeWVvbmdnb24gWW9vIHdyb3RlOg0K PiBPbiBUdWUsIEp1biAxNCwgMjAyMiBhdCAwNjoyMzo0M1BNICswMDAwLCBFZGdlY29tYmUsIFJp Y2sgUCB3cm90ZToNCj4gPiBPbiBUdWUsIDIwMjItMDYtMTQgYXQgMTU6NTMgKzA5MDAsIEh5ZW9u Z2dvbiBZb28gd3JvdGU6DQo+ID4gPiBPbiBUdWUsIEp1biAxNCwgMjAyMiBhdCAwMzozOTozM1BN ICswOTAwLCBIeWVvbmdnb24gWW9vIHdyb3RlOg0KPiA+ID4gPiBjb21taXQgYThhZWQzZTA3NTJi NCAoIng4Ni9tbS9wYWdlYXR0cjogUHJldmVudCBQU0UgYW5kIEdMT0FCTA0KPiA+ID4gPiBsZWZ0 b3ZlcnMNCj4gPiA+ID4gdG8gY29uZnVzZSBwbWQvcHRlX3ByZXNlbnQgYW5kIHBtZF9odWdlIikg bWFkZSBDUEEgY2xlYXINCj4gPiA+ID4gX1BBR0VfR0xPQkFMIHdoZW4NCj4gPiA+ID4gX1BBR0Vf UFJFU0VOVCBpcyBub3Qgc2V0LiBUaGlzIHByZXZlbnRzIGtlcm5lbCBjcmFzaGluZyB3aGVuDQo+ ID4gPiA+IGtlcm5lbA0KPiA+ID4gPiByZWFkcw0KPiA+ID4gPiBhIHBhZ2Ugd2l0aCAhX1BBR0Vf UFJFU0VOVCBhbmQgX1BBR0VfUFJPVE5PTkUgKF9QQUdFX0dMT0JBTCkuDQo+ID4gPiA+IEFuZA0K PiA+ID4gPiB0aGVuIGl0DQo+ID4gPiA+IHNldCBfUEFHRV9HTE9CQUwgYmFjayB3aGVuIHNldHRp bmcgX1BBR0VfUFJFU0VOVCBhZ2Fpbi4NCj4gPiA+ID4gDQo+ID4gPiA+IEFmdGVyIGNvbW1pdCBk MTQ0MGIyM2M5MjJkICgieDg2L21tOiBGYWN0b3Igb3V0IHBhZ2VhdHRyDQo+ID4gPiA+IF9QQUdF X0dMT0JBTA0KPiA+ID4gPiBzZXR0aW5nIikgbWFkZSBrZXJuZWwgbm90IHNldCB1bmNvbmRpdGlv bmFsbHkgX1BBR0VfR0xPQkFMLA0KPiA+ID4gPiBwYWdlcw0KPiA+ID4gPiBsb3NlDQo+ID4gPiA+ IGdsb2JhbCBmbGFnIGFmdGVyIF9zZXRfcGFnZXNfbnAoKSBhbmQgX3NldF9wYWdlc19wKCkgYXJl DQo+ID4gPiA+IGNhbGxlZC4NCj4gPiA+ID4gDQo+ID4gPiA+IEJ1dCBhZnRlciBjb21taXQgMzE2 Njg1MTE0MjQxMSAoIng4Njogc2tpcCBjaGVjayBmb3Igc3B1cmlvdXMNCj4gPiA+ID4gZmF1bHRz IGZvcg0KPiA+ID4gPiBub24tcHJlc2VudCBmYXVsdHMiKSwgc3B1cmlvdXNfa2VybmVsX2ZhdWx0 KCkgZG9lcyBub3QgY29uZnVzZQ0KPiA+ID4gPiBwdGUvcG1kIGVudHJpZXMgd2l0aCBfUEFHRV9Q Uk9UTk9ORSBhcyBwcmVzZW50IGFueW1vcmUuIFNvDQo+ID4gPiA+IHNpbXBseQ0KPiA+ID4gPiBk cm9wIHBncHJvdF9jbGVhcl9wcm90bm9uZV9iaXRzKCkuDQo+ID4gPiANCj4gPiA+ICANCj4gPiA+ IExvb2tzIGxpa2UgSSBmb3Jnb3QgdG8gQ2M6IEFuZHJlYSBBcmNhbmdlbGkgPGFhcmNhbmdlQHJl ZGhhdC5jb20+DQo+ID4gPiANCj4gPiA+IFBsdXMgSSBkaWQgY2hlY2sgdGhhdCBrZXJuZWwgZG9l cyBub3QgY3Jhc2ggd2hlbiByZWFkaW5nDQo+ID4gPiBmcm9tL3dyaXRpbmcNCj4gPiA+IHRvDQo+ ID4gPiBub24tcHJlc2VudCBwYWdlcyB3aXRoIHRoaXMgcGF0Y2ggYXBwbGllZC4NCj4gPiANCj4g PiBUaGFua3MgZm9yIHRoZSBoaXN0b3J5Lg0KPiA+IA0KPiA+IEkgdGhpbmsgd2Ugc2hvdWxkIHN0 aWxsIGZpeCBwdGVfcHJlc2VudCgpIHRvIG5vdCBjaGVjayBwcm90X25vbmUgaWYNCj4gPiB0aGUN Cj4gPiB1c2VyIGJpdCBpcyBjbGVhci4NCj4gDQo+IEkgdHJpZWQsIGJ1dCByZWFsaXplZCBpdCB3 b3VsZG4ndCB3b3JrIDooDQo+IA0KPiBGb3IgZXhhbXBsZSwgd2hlbiBhIHB0ZSBlbnRyeSBpcyB1 c2VkIGFzIHN3YXAgZW50cnksIF9QQUdFX1BSRVNFTlQgaXMNCj4gY2xlYXJlZCBhbmQgX1BBR0Vf UFJPVE5PTkUgaXMgc2V0Lg0KPiANCj4gQW5kIG90aGVyIGJpdHMgYXJlIHVzZWQgYXMgdHlwZSBh bmQgb2Zmc2V0IG9mIHN3YXAgZW50cnkuDQo+IEluIHRoYXQgY2FzZSwgX1BBR0VfQklUX1VTRVIg Yml0IGRvZXMgbm90IHJlcHJlc2VudCBfUEFHRV9VU0VSLg0KPiBJdCBpcyBqdXN0IG9uZSBvZiBi aXRzIHRoYXQgcmVwcmVzZW50cyB0eXBlIG9mIHN3YXAgZW50cnkuDQo+IA0KPiBTbyBjaGVja2lu ZyBpZiBfUEFHRV9QUk9UTk9ORSBzZXQgb25seSB3aGVuIF9QQUdFX1VTRVIgaXMgc2V0DQo+IHdp bGwgY29uZnVzZSBzb21lIHN3YXAgZW50cmllcyBhcyBub24tcHJlc2VudC4NCg0KT29vaCwgcmln aHQuIFNvIHRoZSB1c2VyIGJpdCByZWNvcmRzICJ3aGVuIGEgcGFnZXRhYmxlIGlzDQp3cml0ZXBy b3RlY3RlZCBieSB1c2VyZmF1bHRmZCBXUCBzdXBwb3J0Ii4gSSdtIG5vdCBzdXJlIGlmIG1heWJl IFBDRCBpcw0KYXZhaWxhYmxlIHRvIG1vdmUgdGhhdCB0byBhbmQgbGVhdmUgdGhlIHVzZXIgYml0 IGluIHBsYWNlLCBidXQgaXQNCnNvdW5kcyBsaWtlIGFuIGVycmF0YSBzZW5zaXRpdmUgYXJlYSB0 byBiZSB0d2Vha2luZy4NCg0KPiANCj4gPiBUaGUgc3B1cmlvdXMgZmF1bHQgaGFuZGxlciBpbmZp bml0ZSBsb29wIG1heSBubw0KPiA+IGxvbmdlciBiZSBhIHByb2JsZW0sIGJ1dCBwdGVfcHJlc2Vu dCgpIHN0aWxsIHdvdWxkIHJldHVybiB0cnVlIGZvcg0KPiA+IGtlcm5lbCBOUCBwYWdlcywgc28g YmUgZnJhZ2lsZS4gVG9kYXkgSSBzZWUgYXQgbGVhc3QgdGhlIG9vcHMNCj4gPiBtZXNzYWdlDQo+ ID4gYW5kIG1lbW9yeSBob3R1bnBsdWcgKHNlZSByZW1vdmVfcGFnZXRhYmxlKCkpIHRoYXQgd291 bGQgZ2V0DQo+ID4gY29uZnVzZWQuDQo+IA0KPiBBcyBleHBsYWluZWQgYWJvdmUsIEkgZG9uJ3Qg dGhpbmsgaXQncyBwb3NzaWJsZSB0byBtYWtlDQo+IHB0ZV9wcmVzZW50KCkgDQo+IGFjY3VyYXRl IGZvciBib3RoIGtlcm5lbCBhbmQgdXNlciBwdGVzLg0KPiANCj4gTWF5YmUgd2UgY2FuIGltcGxl bWVudCBwdGVfcHJlc2VudF9rZXJuZWwoKS9wdGVfcHJlc2VudF91c2VyKCkNCj4gZm9yIHdoZW4g a2VybmVsIGtub3dzIGl0IGlzIHVzZXIgb3Iga2VybmVsIHB0ZS4NCg0KVGhpcyBzZWVtcyBsaWtl IGEgZGVjZW50IG9wdGlvbiB0byBtZS4gSXQgc2VlbXMgdGhlcmUgYXJlIG9ubHkgYSBmZXcNCnBs YWNlcyB0aGF0IGFyZSBpc29sYXRlZCB0byBhcmNoL3g4Ni4NCg0KPiANCj4gb3IgcHRlX3ByZXNl bnRfd2l0aF9hZGRyZXNzKHB0ZSwgYWRkcmVzcykgaWYgd2UgZG9uJ3QNCj4ga25vdyBpdCBpcyB1 c2VyIHB0ZSBvciBrZXJuZWwgcHRlLg0KPiANCg==