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 CC00EC02199 for ; Fri, 7 Feb 2025 15:33:35 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4DA7D6B0089; Fri, 7 Feb 2025 10:33:35 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 48A16280005; Fri, 7 Feb 2025 10:33:35 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2DCE7280001; Fri, 7 Feb 2025 10:33:35 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 0910D6B0089 for ; Fri, 7 Feb 2025 10:33:35 -0500 (EST) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id BC14A1C9D01 for ; Fri, 7 Feb 2025 15:32:45 +0000 (UTC) X-FDA: 83093541132.13.7CD2B0A Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11olkn2099.outbound.protection.outlook.com [40.92.18.99]) by imf30.hostedemail.com (Postfix) with ESMTP id E01BD80011 for ; Fri, 7 Feb 2025 15:32:42 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=outlook.com header.s=selector1 header.b=iNYmwSVK; spf=pass (imf30.hostedemail.com: domain of stephen.eta.zhou@outlook.com designates 40.92.18.99 as permitted sender) smtp.mailfrom=stephen.eta.zhou@outlook.com; dmarc=pass (policy=none) header.from=outlook.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1738942363; a=rsa-sha256; cv=pass; b=u55WQ8svNgn10lwIF/7SjVQjzrKp+qZ0uCgsonpjfGGWShj+A81RwK52OlI0pyYhfom6c+ husYT8Ai8z/S1ceoeTv/ZnA0kxSR6Hg7z/tTSwaAkUJV5TFh1HWOE1OQzObcQ9fjmAPGg7 Ae0wSnbKK54DtQhdRwmX6XK6wKc5F64= ARC-Authentication-Results: i=2; imf30.hostedemail.com; dkim=pass header.d=outlook.com header.s=selector1 header.b=iNYmwSVK; spf=pass (imf30.hostedemail.com: domain of stephen.eta.zhou@outlook.com designates 40.92.18.99 as permitted sender) smtp.mailfrom=stephen.eta.zhou@outlook.com; dmarc=pass (policy=none) header.from=outlook.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1738942363; 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:in-reply-to: references:dkim-signature; bh=GRRxKZ/s29hcWUZOIDT19ppifWP10eHu5vOFMx4Mb5A=; b=lvMGt5JavOK8dK0LO+1diF2Ww53THXIGLwUV+Xdpio9/oMwOH7UssoSdf3SA3FpgohlqO9 WiXEi1/wmtHKwR8GvqZpmhuMDiSVs66Jk44AD0MxrFffWnsdc4XEDU2q6aSdMeX+EvfDy5 zWtdq49dKCUE67mrKYpmT891x6upQTA= ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=uhlbrcnxm6IaeWmquHdGR8fbT9Ubp8giVYHAsS50VvZ14CfXFoYU+cuBLjwoc8Gy2DPOIK05D5/piYMKydUB8kYK53XjoqOVWPRXnnj2R/TB/XVjlOfgr4AqDaqt3sHwWq2B6CdvMssTiyjMifNK6lsm7AdUaqSNANmC+GLeiTirb5OAwkSDV4WTwrkODGZLgnMHdTVah5utQoaZT1sKoZZMQYRwXWTGQck/Rd8sF7+Z4cgZcFADODnWtW53iCMKMPLhb0kEB7cLEjOYEF6AnvhanFTQPymdabhpkGr6m+/fFCPW5rfDNxvxkeY5Gbg0aNbMdTdpode0jAgCry1i8w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=GRRxKZ/s29hcWUZOIDT19ppifWP10eHu5vOFMx4Mb5A=; b=PHo1SFbWaLOHLBBXqeG0kaAKwZadANY3cmhH09/8rTtnHfsZizQy7zHcXYG3vwF7rP2mPpg78F8wwChSvqIllgtsEwiWIM7hm3FdrZ38KHuNIPvKSOwNFBMJJSKGw9l/gUaDTIbMKNh0igG0zOwlR3WMIWswrx/X1nLtUdA26lezB9XCnTNbHPA/0CTqWMYcfpiCXQPCeKWCltjwIDirCM0ZWKOOAR4ZMM+nBa5JLhOPulD0xEKllI5dSuv5y9JPrWVWia1CxJy+hgNAnQ9DvttyRDZ9HbbTjUGwxIwL1/BYqQ3Qxx/LYUrnlfU6JouaYc5X3T3mGcfr7qbMkll1Rw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GRRxKZ/s29hcWUZOIDT19ppifWP10eHu5vOFMx4Mb5A=; b=iNYmwSVKh87U7JSEojnGyCSRbR2S/9uP1z2mTyfkO71RUP0nfuzHU2TUX+WFfigaB46kckVcWbpCgslVsCDsbApBUKGrvcjKLCtQrGCHyMHp6h66BBq/7h7VlI9vIiVW1T45JFWEzsHAmtO1DvIkkB44FkBMPkD6TrigTBOa49c0vJPijYyumanL/6jZOEfkCRfaS+L8jhsh7EMdGDXW/E1UlNuc+uxMw70bmBKnJVQLpCd4MNjP6G9dkx7BcnmbsqcY9LbKsh5Blg4yR8jG6kqIjFKqxePzAizV10YfAQFPx3+Mef4Zn/j6K5bT5sWCBvfUjgUqqcfiPuVOluOaJQ== Received: from BYAPR12MB3205.namprd12.prod.outlook.com (2603:10b6:a03:134::32) by SJ2PR12MB8133.namprd12.prod.outlook.com (2603:10b6:a03:4af::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.10; Fri, 7 Feb 2025 15:32:37 +0000 Received: from BYAPR12MB3205.namprd12.prod.outlook.com ([fe80::489:5515:fcf2:b991]) by BYAPR12MB3205.namprd12.prod.outlook.com ([fe80::489:5515:fcf2:b991%5]) with mapi id 15.20.8398.025; Fri, 7 Feb 2025 15:32:37 +0000 From: Stephen Eta Zhou To: Mike Rapoport CC: "akpm@linux-foundation.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" Subject: Re: [PATCH] mm: optimize memblock_add_range() for improved performance Thread-Topic: [PATCH] mm: optimize memblock_add_range() for improved performance Thread-Index: AQHbeXVvvyj5v0NW9EKKqyV8tNajTg== Date: Fri, 7 Feb 2025 15:32:37 +0000 Message-ID: Accept-Language: zh-CN, en-US Content-Language: en-GB X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-reactions: allow x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BYAPR12MB3205:EE_|SJ2PR12MB8133:EE_ x-ms-office365-filtering-correlation-id: 023025a1-5911-4088-ccc6-08dd478ca6d7 x-microsoft-antispam: BCL:0;ARA:14566002|19110799003|14030799003|12121999004|5062599005|8060799006|461199028|15080799006|8062599003|3412199025|440099028|41001999003|102099032; x-microsoft-antispam-message-info: =?utf-8?B?NzRPbHc5ODN0ck9VeFhxYktvR2pCVk1IcXUraXRYTW9RVVB2Wm91RmJIUHVD?= =?utf-8?B?eG5JWE44VjQ1bXI3Q3BPLzBOOXFCalhUdVhEOHJLYTdDOVVhaGJsYUkrRGFp?= =?utf-8?B?ZTF6ZUovaFQ2OWNPUldVWmM0QUh0Ni8zSUQwODA0ZWxjNUd3blhPdS9tMlRr?= =?utf-8?B?SVkxRGRvSWx5dXJ0Q3oyZzZyNUxhZlFDVlJaOS83c1kwMGpKZXJaeE00bHhk?= =?utf-8?B?bCswNlhFbTlDcE5PSWNNTFphUWpvVXBaMDhET3RuQ2Z0WGlIYTRyRE9RdGFB?= =?utf-8?B?UEtEeTU2cUE2aTc3Z3dvTUM4YTE3bHI0TDhVVStERHJPQXhEYmVrby9SVThL?= =?utf-8?B?YUg3cUdVL2RNNDE0VS9TWThrVnRVdkpoekZHNFRkSWF1UUJCak5lMGtackFX?= =?utf-8?B?U2ZFQmg1NXdweTh4VFhWVmRWNnZGdEZCdld3bjJTOENsa0trOUYvQnZwZURx?= =?utf-8?B?ZmNLYSsrbEEyeVJrMk1PWU5veUIzR1M4V1NrZWJ2V1FlZWdqK2Z4dXVFUFF4?= =?utf-8?B?eTVRUElVZ1o5cUx1bXFBb29ZK1N2emNxT0ZpUXJnaThZZ0NqSDFjMjNRTHov?= =?utf-8?B?ZFdhc0VnTmRFOFpNV0JpME9pK05CeFhyNk9kVmxqT2R6SjUyZEswYkI4S3RZ?= =?utf-8?B?UDl5QlJzcEZlVm5Pd0ZsZzNtTDNtV3c3Y3ZESHhZWXRkTURDRXFFclI0VmlJ?= =?utf-8?B?Rm9JbjNSR1NUZmRpZ05KYk1xdytTcWh4ai9EOEpIMlhhZkRLRElWVFhGSGpw?= =?utf-8?B?blpUQVg5VXVqUjB5QU5SU1JWWERDVmZab0N1UGtMQWhOOHduNjlxVGlRSmVo?= =?utf-8?B?Wnl6cUFhZkhLL3pXekRZMFJKcVZ4N205RVhuUDBaY1JzaGVWVFZLYU4xM0x3?= =?utf-8?B?Nk0raXl6YW85enNmZXhEc29LSHFVd3ZuSjNzamFmQ0ZiUzhOaHhBbk9ySTNX?= =?utf-8?B?VjVvaTc4MURlRURSallnc3RuaG1UR1U4UEwwNlBtWjBQTlhnNEdkcHI0dFFG?= =?utf-8?B?ZktXQkFHZ3k1S3dTSlZUOFpRT1JTZ0htamw5WUVUeVhMb1ExS2tMb0dvaFFt?= =?utf-8?B?bFdxd0d5N1RNTFVCbE1DaW02Z05CVzgwMGoyRjUvdVUwMXJRaytYNUhseTMx?= =?utf-8?B?bzU5dHBSSVRXaXpUY1YzeWk2Z25DQ005K0ZVSmpwblltdXBwOFVYcFl0aDI2?= =?utf-8?B?a2o0dXpKT29QUDZTY2dWQWZscXJkd3JTZXZCTW9qazlpeVhqNlZWZ01DUXJy?= =?utf-8?B?ZWkrdXZOSEpIT09Qd25lVk05V3B6OVVqN00wSmdNOU50VFpFYjI1UzMza1hV?= =?utf-8?B?TFNCbWd5YWsxMXl1a3RKMVpMRENQM0R4Z2E2c3ZqNitKL0tqNGFueFAzeGJT?= =?utf-8?B?MEpDOHE2YzNRZUI2Q1JJdXRJZkZKYXpvUUhGWjZpZm41ZEVkZjAvUk5KV3J5?= =?utf-8?B?MlEyaENNSUhJaTR2WkprTzBZL0VLb0FkRnduY3hLMmsvdGJiWG1Gdkc5UmQy?= =?utf-8?B?enhVclROdGkyLzdKdzByaWJLblc4V016c3pnN3JNKzZMd1lCWXYzeWd3NE16?= =?utf-8?Q?BodEmB84dUojRddMppStU0HYA=3D?= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?eDloOTZXWjRDVG83WGliOHNEMENrZHBOVkNINkVCdWhDVElIellvTlpHSXZM?= =?utf-8?B?STJpc2U2MjJ4NXJOMUhOVjJ0bHI5N3EyVFNFd2RJS0paaVlZQ25VVzNDaGlt?= =?utf-8?B?eUc2SXduWm5za0V0QXMxQ09kNVpOVnNyMnpmY1hEMVk5OWJ0L2MwV0lJdWc2?= =?utf-8?B?VWNUK2IzOXFUNWJiYjlFVWE4WHNVenBrME9NSmdHSmVlRVZCaGtHbW51QTBL?= =?utf-8?B?WDNSVWZ3QUVXNEdRdFBvQ0hOYXlkaUUrWkVwSVdLTDlmUld5QVdDT2FDbU04?= =?utf-8?B?VkhScmNpcGtWNS9xK2VQWndCSkNEdzBBWGl6dDdpei9mcmk2NExTek5YbzVB?= =?utf-8?B?QTBzanZDV1hqQjgrR2NNWjU2MDJhMXBtMllnWlhpSE9RajAzbW9zV1pKOHRO?= =?utf-8?B?UW84U21tZDdtZFd6TXhBdnJYdm9NamVvd3QzaGlEelBHcmpDUnBFVmE4ZjJP?= =?utf-8?B?VWdaam42alpNRFdEUHRkV1pFMnFFem1tamxiV251azBFdkNRN1ZaK25pRzBE?= =?utf-8?B?OFd0amM4R2dyN0dFZStybGpScFRxenNKNzdiQTJyNlpPUEFiczg3MTZ1ODda?= =?utf-8?B?ZS9PYnVMQXBMTTJ3TkpJOXlKdFBYaXZaaXZpb2ZrT3pVZFdMT2ZpRWhjMUZ2?= =?utf-8?B?L092UWQ1S0g5NEs0S0lDaDhLcFlFU0NKWTZvaURPSXk5RUFVZ05rMi9KZ2dv?= =?utf-8?B?MjR0NVp3VlJ0ZWtMaVBqN1ZoTmpVTTN6Z3JQSm04cnFJMkszZDErelRlK05v?= =?utf-8?B?UFNoeXpmNHlzZWVTb2MwdGxML3d1SmFERnJLaTZVenRoaTJNT0plbkM1cXNT?= =?utf-8?B?eGVjSHg1dUtXTWRRbmlKTjlhd3FaTXVoaHNkVHRRcUVyZEZEeGR4L2w3YzND?= =?utf-8?B?ZGNkSXNQdkFhNm5IWXdjVHFtZzMyR0NnYnVsR2JWQkVyY2pSM2o3Z2l2dE5B?= =?utf-8?B?azVpbmxzS3ZRam1DVDJnUzZldmhyRmlseU5ua0JLUll1SkhQM2IyK0RybEVW?= =?utf-8?B?QUQxTXhEMHR6TjI3cit5OFhXdHZYVVlUR3pLVXBqNHpjd21WYmNRRjNUTkpu?= =?utf-8?B?dldha3lPM3lKYVQrN1hGMVdneVNxUUdOelg1RGs4WFZoOG9nQ3lZditYM092?= =?utf-8?B?SVRINzJ3bUV0emZZaTdYZXlrMktNWlA0SUREV29PVWVqc3FCMW5rUlNxWEFQ?= =?utf-8?B?TlovenZRcXRudDk3bEJ1YXVxOXZBVklEWFFOUFNyYk1LYjh1bVp6VklCbGxo?= =?utf-8?B?cDZBbEpyWGUydnUrQk96TStIeEZQR0Q3WVhobVZ4Nzc1MER2TldSY1ZUempP?= =?utf-8?B?ekIwZ0FTQXBGN3lmMmRQcWNQUktEOGZ1MmZkSVkwRmZ1Z3FxOWUyS0pIb1hi?= =?utf-8?B?UDN6NDQrSVNDM2M2NTZkYWt3eDM5VXQzbnpmT2EyaGxJRGhuS01PWFdjQ2M3?= =?utf-8?B?WmpXOUZoSTYrUXd4clBPRmt6Q1FHOEphajlkbnBJSlZoQ2RvaXQrempHQmdU?= =?utf-8?B?Tm5qRlQ5SG5vVUJPc0Y2UkYrWFhoMGFOVDVtT1ZoVEh2Vlo5Vy9kTEI1d1lj?= =?utf-8?B?dDErdkM4RlUyOURLVE9lNmlSVzAyZm0reW9jTjFyVHBjd25XN3dDUVpSUkhE?= =?utf-8?B?K2Y0TzNFZktKWmRmbDBFaEdjc2UrMVBnNVRzQkdqYlV1YmdEVFFpaGU4M29s?= =?utf-8?B?U1B4VmtnQXhrYUhraVdxaHFNdFV0djMxY1owcXZ0YzZvTHI2QnVWK2pXWXN5?= =?utf-8?B?a3Y5SUkvUzV1VmF6R2JEMTFuVFpGb1NLZ2xCd1grNHBnUnFpL0E2Q3A1aW0x?= =?utf-8?B?ODNXOG8vWmJaSDA0ZlNsZz09?= Content-Type: multipart/alternative; boundary="_000_BYAPR12MB32056DF316EA74C3EA4F4BFAD5F12BYAPR12MB3205namp_" MIME-Version: 1.0 X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BYAPR12MB3205.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: 023025a1-5911-4088-ccc6-08dd478ca6d7 X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Feb 2025 15:32:37.6387 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB8133 X-Stat-Signature: 7ce5rdg678gcuxtncsnmycqeyofthcic X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: E01BD80011 X-Rspam-User: X-HE-Tag: 1738942362-475260 X-HE-Meta: U2FsdGVkX1/xEB5+xLgdQ/6d5jRMTAGAGUZPk8F5DBP7P8U509Pvi4mOKu9I1nPoq/r6cHEKVVdYJRwAoR8EGH/s1DCfMd2lxAtRhsFvXWyQC4XKJorG+EnNiV/Qybq6Bb56SKtMtAygURUf7dONJK02uzSOtz6o1Mz/1G4hih/+4V+wXnv3D789K9T/NgGCaIpEV0PWaf0KFNCi31e10dwMwrGjqFc+XZMEkr/KUHlym4VjnIu++EQ2MzBqrbvGZzpvx7pkx/FcZrsPLJ3eGqE2vkmqZchi/fHysZDCchQiQUPZ/PwtiX9ya+enu+BaIt1jYHB1l6DYFsDgnvtpGoCCzDYEzPgdfh0jmLdfOT02Ez9mHxDeiJ1l0bvWsXgKQGH2M2C7pWByFSWI3869AyZODxtyOMCO8NTi0lo0c1+/H7dt+ryU+Xwi2kqx4osVohHAuppws/IRallqiKQA24+bEfYm3sgYoXbMxVxoLt+HrGQEKBjFT0RaSPfSMp/PQRb53viAB12udiM4dfcMXy+0GbHGkmVLyMvgYGVECthqD4Ht+jJKJx6bwSV7cXcuvwDZaEIAPtnhptFjrExEGgypOGLKDNCLzk/QvYcP2JRy8y5ZYrEdTVqTgA1Ph0/fk6Mfn46JTcl3wAlYXznMFaLCVPw3FOCeFTE1RphoJZXcMMHTKy1RJgmOtjQ8KXuxMGgdvb2E24rn/x69ZKmggspyHM6+fr6rUFc3NoAKenbt3dYFtxNhpr0z/ilapiH/aboV+xeettfkIILQlLKZ5hkqmbMGH9g90+NEgidBRdTiJ9PgWsyCG5pjQ7wmNCTgh9dLH1WEoTP4YvvZoUggTx92abNeJ4laQZ5fNA3LeH0qG8hR5/jqaPkd2g9pP9Jjo8bXZgIeY2NqlRyfkuTY9QG/oSLdBaH9wRDClA5T/Zzfw8Sa0dDHqMpk+z307pPcM5CEfMYsUbtZ2l7Wd9W 3Rh16F90 AVjti5/El1z9rnQQ8FiZ4N1PPI/8mjeh9VwdYPZzKBOAW483Hnof1VUKLLB9VV2eHAW06ysgtRJFPZNhU8HeI1oj84W9x6h5LIh2vhoptVr8C6HyfRLRjhcbLAFV5/v9rt4e9hgrX/8YGk5Dx4j9nFfv7dBOih3FAiXw7mTcP7S3Fg2MahjqbaS8E4BS07IDiKCrLoyVdgr+6bnIaMjo64POREGb02CJ55SWCYMJyUFPlEmVGf3zDGpnOIalRmC9MLljqNpiU+rmALQ7Hz3RoQXrOQ+4BeqDr7NXfKf0XTVesBaFgccpwRAKRho35HHyRK2sQDFaXLZTKNNBtKin8Xa3LX/C061yqekpgu/1MGUz1SmZmuByjRaPxiZL7yXojHgoX8UINsdvVe7lWsA0KjutnaX76eCl7FPsNwbjjmwaC8zAy2ADLHLfpq2oC7OmastBxL9n+7HyC+sNP8PMhbFAslQ0gMI2IizHWJxK+6gpndgGqYM1RCAZI2wdKdB+6jfHYRPP6obyxKpqefQliVPZLnJ+iMsdVZq2kpRwY3XwCagomRttLYxWK2Y5VPZaNQ9Bcfn98tfLqvwWJlllqtlXeh95FvgvijavUkC4dqcZen5L2lnlPKw+YFDf6hcXNmNHSrEITypOXMofrUt2F/VZm44QCVVNFIG6lCa1U/ccrxSI918XJ7YFwSk+GOankI3VjWy8eTZl/PmD7pW3q/5YUIoT2PKr+XR7gca1rPfR7J6EEq3tuz5WkSP2rpXw4ddRHLkdHLUqHC21n3ZECN+ek9w5xizSVDD9gNwLvKc5LQKAFq/Oc1/kFTilpNZaOQkpUURjTE0QKlQx5iuWTgu334zzgbc91yr3mbLqneSPM5ZQ7h7Z4V4Yxpg== 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: --_000_BYAPR12MB32056DF316EA74C3EA4F4BFAD5F12BYAPR12MB3205namp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgTWlrZSwNCg0KVGhhbmsgeW91IGZvciB5b3VyIGZlZWRiYWNrIGFuZCBpbnNpZ2h0cy4gSSBm dWxseSB1bmRlcnN0YW5kIHlvdXIgY29uY2VybnMgcmVnYXJkaW5nIHRoZSBmcmFnaWxpdHkgb2Yg dGhlIGNvZGUgaW4gYG1lbWJsb2NrX2FkZF9yYW5nZSgpYCBhbmQgdGhlIGNoYWxsZW5nZXMgaW4g aGFuZGxpbmcgZWRnZSBjYXNlcy4gSSBhbHNvIGFja25vd2xlZGdlIHlvdXIgcG9pbnQgdGhhdCB3 aGlsZSB0aGUgQ1BVIGN5Y2xlIHJlZHVjdGlvbnMgYXJlIG1lYXN1cmFibGUsIHRoZXkgbWF5IG5v dCBmdWxseSBjYXB0dXJlIHRoZSBtb3N0IGltcG9ydGFudCBmYWN0b3Ig4oCUIHRoZSBib290IHRp bWUgc3BlZWR1cC4NCg0KUmVnYXJkaW5nIHRoZSBwZXJmb3JtYW5jZSBtZXRyaWNzLCBJIHdhbnQg dG8gY2xhcmlmeSB0aGF0IHRoZSBtYWluIGdvYWwgb2YgbXkgb3B0aW1pemF0aW9uIHdhcyB0byBp bXByb3ZlIHRoZSBib290IHRpbWUgZHVyaW5nIHRoZSBlYXJseSBzdGFnZXMgb2Yga2VybmVsIGlu aXRpYWxpemF0aW9uLiBXaGlsZSByZWR1Y2luZyB0aGUgQ1BVIGN5Y2xlcyBmb3IgYG1lbWJsb2Nr X2FkZF9yYW5nZSgpYCBpcyBhIHBvc2l0aXZlIG91dGNvbWUsIHRoZSByZWFsIGJlbmVmaXQgaXMg aW4gcmVkdWNpbmcga2VybmVsIGluaXRpYWxpemF0aW9uIHRpbWUsIHBhcnRpY3VsYXJseSBiZWZv cmUgdGhlIGJ1ZGR5IHN5c3RlbSB0YWtlcyBvdmVyLiBJIHVuZGVyc3RhbmQgdGhhdCB0aGUgQ1BV IGN5Y2xlIHJlZHVjdGlvbiBhbG9uZSBkb2Vzbid0IGFkZHJlc3MgdGhlIGNyaXRpY2FsIHF1ZXN0 aW9uIG9mIGJvb3QgdGltZSBzcGVlZHVwLCBhbmQgSSB3aWxsIHdvcmsgb24gbWVhc3VyaW5nIHRo aXMgbW9yZSBkaXJlY3RseS4NCg0KVG8gYWRkcmVzcyB0aGUgY29uY2VybiBhYm91dCByZWFsIGhh cmR3YXJlIGFuZCBjb3JuZXIgY2FzZXMsIEkgcGxhbiB0byBjb25kdWN0IGZ1cnRoZXIgdGVzdGlu ZyBvbiBhY3R1YWwgaGFyZHdhcmUgd2l0aCBkaWZmZXJlbnQgbWVtb3J5IGNvbmZpZ3VyYXRpb25z IHRvIGVuc3VyZSB0aGUgcm9idXN0bmVzcyBvZiB0aGUgcGF0Y2guIFRoaXMgd2lsbCBoZWxwIGVu c3VyZSB0aGUgc3RhYmlsaXR5IGFuZCBwZXJmb3JtYW5jZSBiZW5lZml0cyBhcmUgY29uc2lzdGVu dCBhY3Jvc3MgdmFyaW91cyBzZXR1cHMuDQoNCkkgYWxzbyBwbGFuIHRvIGluY3JlYXNlIHRoZSB0 ZXN0aW5nIGNvdmVyYWdlIGZvciBlZGdlIGNhc2VzIGFuZCBpbmNsdWRlIG1vcmUgcm9idXN0IGZh bGxiYWNrIG1lY2hhbmlzbXMgdG8gYWRkcmVzcyB0aGUgcG90ZW50aWFsIGZyYWdpbGl0eSBtZW50 aW9uZWQuIEkgd2FudCB0byBtYWtlIHN1cmUgdGhlIGNoYW5nZXMgaGFuZGxlIGFsbCBwb3NzaWJs ZSBzY2VuYXJpb3MgZ3JhY2VmdWxseS4NCg0KSW4gYWRkaXRpb24sIEkgd2lsbCBmb2N1cyBvbiBt ZWFzdXJpbmcgYm9vdCB0aW1lIG1vcmUgZGlyZWN0bHkgdXNpbmcgdG9vbHMgbGlrZSBgYm9vdGNo YXJ0YCBhbmQgc2hhcmUgdGhlIHJlc3VsdHMsIGNvbXBhcmluZyB0aGUgYm9vdCB0aW1lcyBiZWZv cmUgYW5kIGFmdGVyIHRoZSBvcHRpbWl6YXRpb24gdG8gZGVtb25zdHJhdGUgdGhlIGFjdHVhbCBp bXBhY3Qgb24gc3RhcnR1cCBwZXJmb3JtYW5jZS4NCg0KR2l2ZW4gdGhlIGNvbmNlcm5zIHJhaXNl ZCwgSSB3b3VsZCBncmVhdGx5IGFwcHJlY2lhdGUgeW91ciBndWlkYW5jZSBvbiB3aGV0aGVyIHlv dSB0aGluayBpdCdzIHdvcnRod2hpbGUgZm9yIG1lIHRvIGNvbnRpbnVlIHdpdGggdGhpcyBhcHBy b2FjaC4gU2hvdWxkIEkgcHJvY2VlZCB3aXRoIGZ1cnRoZXIgcmVmaW5lbWVudHMgYW5kIHRlc3Rp bmcsIG9yIHdvdWxkIHlvdSByZWNvbW1lbmQgYSBkaWZmZXJlbnQgZGlyZWN0aW9uIGZvciBvcHRp bWl6YXRpb24/IFlvdXIgaW5wdXQgd2lsbCBiZSBpbnZhbHVhYmxlIGluIGVuc3VyaW5nIHRoaXMg cGF0Y2ggbWVldHMgYm90aCBwZXJmb3JtYW5jZSBhbmQgc3RhYmlsaXR5IGdvYWxzLg0KDQpUaGFu ayB5b3UgYWdhaW4gZm9yIHlvdXIgY2FyZWZ1bCByZXZpZXcsIGFuZCBJIGxvb2sgZm9yd2FyZCB0 byB5b3VyIHRob3VnaHRzLg0KDQpCZXN0IHJlZ2FyZHMsDQpTdGVwaGVuDQpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXw0KRnJvbTogTWlrZSBSYXBvcG9ydCA8cnBwdEBrZXJuZWwub3Jn Pg0KU2VudDogRnJpZGF5LCBGZWJydWFyeSA3LCAyMDI1IDEwOjU4OjQ5IFBNDQpUbzogU3RlcGhl biBFdGEgWmhvdSA8c3RlcGhlbi5ldGEuemhvdUBvdXRsb29rLmNvbT4NCkNjOiBha3BtQGxpbnV4 LWZvdW5kYXRpb24ub3JnIDxha3BtQGxpbnV4LWZvdW5kYXRpb24ub3JnPjsgbGludXgtbW1Aa3Zh Y2sub3JnIDxsaW51eC1tbUBrdmFjay5vcmc+OyBsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3Jn IDxsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnPg0KU3ViamVjdDogUmU6IFtQQVRDSF0gbW06 IG9wdGltaXplIG1lbWJsb2NrX2FkZF9yYW5nZSgpIGZvciBpbXByb3ZlZCBwZXJmb3JtYW5jZQ0K DQpIaSBTdGVwaGVuLA0KDQpPbiBXZWQsIEZlYiAwNSwgMjAyNSBhdCAwNTo1NTo1MEFNICswMDAw LCBTdGVwaGVuIEV0YSBaaG91IHdyb3RlOg0KPiBIaSBNaWtlIFJhcG9wb3J044CBQW5kcmV3IE1v cnRvbg0KDQo+IEkgaGF2ZSByZWNlbnRseSBiZWVuIHJlc2VhcmNoaW5nIHRoZSBtbSBzdWJzeXN0 ZW0gb2YgdGhlIExpbnV4IGtlcm5lbCwNCj4gYW5kIEkgY2FtZSBhY3Jvc3MgdGhlIG1lbWJsb2Nr X2FkZF9yYW5nZSBmdW5jdGlvbiwgd2hpY2ggcGlxdWVkIG15DQo+IGludGVyZXN0LiBJIGZvdW5k IHRoZSBpbXBsZW1lbnRhdGlvbiBhcHByb2FjaCBxdWl0ZSBpbnRlcmVzdGluZywgc28gSQ0KPiBh bmFseXplZCBpdCBhbmQgaWRlbnRpZmllZCBzb21lIGFyZWFzIGZvciBvcHRpbWl6YXRpb24uIFN0 YXJ0aW5nIHdpdGgNCj4gdGhpcyBwYXJ0IG9mIHRoZSBjb2RlOg0KPg0KPiBpZiAodHlwZS0+Y250 ICogMiArIDEgPD0gdHlwZS0+bWF4KQ0KPiDigILigILigILigILigILigIJpbnNlcnQgPSB0cnVl Ow0KPiBUaGUgaWRlYSBoZXJlIGlzIGdvb2QsIGJ1dCBpdCBoYXMgYSBjZXJ0YWluIGZsYXcuIFRo ZSBjb25kaXRpb24gaXMgcmF0aGVyDQo+IHJlc3RyaWN0aXZlLCBhbmQgaXQgY2Fubm90IGJlIGV4 ZWN1dGVkIGluaXRpYWxseS4gTW9yZW92ZXIsIGl0IGlzIG9ubHkNCj4gdmFsaWQgd2hlbiB0aGUg cmVtYWluaW5nIHNwYWNlIGlzICgyLzEpICsgMS4gSWYgdGhlcmUgaXMgZW5vdWdoIG1lbW9yeSwN Cj4gYnV0IGl0IGRvZXMgbm90IHNhdGlzZnkgKDIvMSkgKyAxLCB0aGUgaW5zZXJ0aW9uIG9wZXJh dGlvbiBzdGlsbCBuZWVkcyB0bw0KPiBiZSBwZXJmb3JtZWQgdHdpY2UuDQoNClRoZSBjb2RlIGlu IG1lbWJsb2NrX2FkZF9yYW5nZSgpIGlzIHZlcnkgZnJhZ2lsZSwgYW5kIG1hbnkgYXR0ZW1wdHMg dG8NCnJlbW92ZSB0aGUgc2Vjb25kIHBhc3MgdGhhdCBsb29rZWQgY29ycmVjdCBhdCB0aGUgZmly c3QgZ2xhbmNlIGZhaWxlZCBmb3INCnNvbWUgY29ybmVyIGNhc2UuDQoNClVuZm9ydHVuYXRlbHks IGl0J3MgaW1wb3NzaWJsZSB0byBjYXB0dXJlIGFsbCBwb3NzaWJsZSBtZW1vcnkNCmNvbmZpZ3Vy YXRpb25zIGFuZCByZXNlcnZhdGlvbnMgaW4gdGhlIG1lbWJsb2NrIHRlc3Qgc3VpdGUsIHNvIGV2 ZW4gaXQgaXQNCnBhc3NlcywgdGhlcmUgaXMgYSBjaGFuY2UgdGhlIGtlcm5lbCB3aWxsIGZhaWwg dG8gYm9vdCBvbiBhbiBhY3R1YWwgSFcuDQoNCj4gLSBCZWZvcmUgdGhlIHBhdGNoOg0KPiAgIC0g QXZlcmFnZTogMS4yMiUNCj4gICAtIE1heDogMS42MyUsIE1pbjogMC45MyUNCj4NCj4gLSBBZnRl ciB0aGUgcGF0Y2g6DQo+ICAgLSBBdmVyYWdlOiAwLjY5JQ0KPiAgIC0gTWF4OiAwLjk0JSwgTWlu OiAwLjUwJQ0KPg0KDQpUaGVzZSBudW1iZXJzIGRvIG5vdCByZXByZXNlbnQgd2hhdCdzIGFjdHVh bGx5IGludGVyZXN0aW5nOiB0aGUgYm9vdCB0aW1lDQpzcGVlZHVwLg0KDQotLQ0KU2luY2VyZWx5 IHlvdXJzLA0KTWlrZS4NCg== --_000_BYAPR12MB32056DF316EA74C3EA4F4BFAD5F12BYAPR12MB3205namp_ Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: base64 PGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i dGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjwvaGVhZD4NCjxib2R5Pg0KPGRpdiBkaXI9Imx0 ciI+DQo8ZGl2Pg0KPGRpdiBkaXI9Imx0ciI+SGkgTWlrZSwgPC9kaXY+DQo8ZGl2IGRpcj0ibHRy Ij4NCjxkaXYgZGlyPSJsdHIiPjxicj4NCjwvZGl2Pg0KPGRpdj5UaGFuayB5b3UgZm9yIHlvdXIg ZmVlZGJhY2sgYW5kIGluc2lnaHRzLiBJIGZ1bGx5IHVuZGVyc3RhbmQgeW91ciBjb25jZXJucyBy ZWdhcmRpbmcgdGhlIGZyYWdpbGl0eSBvZiB0aGUgY29kZSBpbiBgbWVtYmxvY2tfYWRkX3Jhbmdl KClgIGFuZCB0aGUgY2hhbGxlbmdlcyBpbiBoYW5kbGluZyBlZGdlIGNhc2VzLiBJIGFsc28gYWNr bm93bGVkZ2UgeW91ciBwb2ludCB0aGF0IHdoaWxlIHRoZSBDUFUgY3ljbGUgcmVkdWN0aW9ucyBh cmUgbWVhc3VyYWJsZSwNCiB0aGV5IG1heSBub3QgZnVsbHkgY2FwdHVyZSB0aGUgbW9zdCBpbXBv cnRhbnQgZmFjdG9yIOKAlCB0aGUgYm9vdCB0aW1lIHNwZWVkdXAuPC9kaXY+DQo8ZGl2IGRpcj0i bHRyIj48YnI+DQo8L2Rpdj4NCjxkaXY+UmVnYXJkaW5nIHRoZSBwZXJmb3JtYW5jZSBtZXRyaWNz LCBJIHdhbnQgdG8gY2xhcmlmeSB0aGF0IHRoZSBtYWluIGdvYWwgb2YgbXkgb3B0aW1pemF0aW9u IHdhcyB0byBpbXByb3ZlIHRoZSBib290IHRpbWUgZHVyaW5nIHRoZSBlYXJseSBzdGFnZXMgb2Yg a2VybmVsIGluaXRpYWxpemF0aW9uLiBXaGlsZSByZWR1Y2luZyB0aGUgQ1BVIGN5Y2xlcyBmb3Ig YG1lbWJsb2NrX2FkZF9yYW5nZSgpYCBpcyBhIHBvc2l0aXZlIG91dGNvbWUsIHRoZQ0KIHJlYWwg YmVuZWZpdCBpcyBpbiByZWR1Y2luZyBrZXJuZWwgaW5pdGlhbGl6YXRpb24gdGltZSwgcGFydGlj dWxhcmx5IGJlZm9yZSB0aGUgYnVkZHkgc3lzdGVtIHRha2VzIG92ZXIuIEkgdW5kZXJzdGFuZCB0 aGF0IHRoZSBDUFUgY3ljbGUgcmVkdWN0aW9uIGFsb25lIGRvZXNuJ3QgYWRkcmVzcyB0aGUgY3Jp dGljYWwgcXVlc3Rpb24gb2YgYm9vdCB0aW1lIHNwZWVkdXAsIGFuZCBJIHdpbGwgd29yayBvbiBt ZWFzdXJpbmcgdGhpcyBtb3JlIGRpcmVjdGx5LjwvZGl2Pg0KPGRpdiBkaXI9Imx0ciI+PGJyPg0K PC9kaXY+DQo8ZGl2PlRvIGFkZHJlc3MgdGhlIGNvbmNlcm4gYWJvdXQgcmVhbCBoYXJkd2FyZSBh bmQgY29ybmVyIGNhc2VzLCBJIHBsYW4gdG8gY29uZHVjdCBmdXJ0aGVyIHRlc3Rpbmcgb24gYWN0 dWFsIGhhcmR3YXJlIHdpdGggZGlmZmVyZW50IG1lbW9yeSBjb25maWd1cmF0aW9ucyB0byBlbnN1 cmUgdGhlIHJvYnVzdG5lc3Mgb2YgdGhlIHBhdGNoLiBUaGlzIHdpbGwgaGVscCBlbnN1cmUgdGhl IHN0YWJpbGl0eSBhbmQgcGVyZm9ybWFuY2UgYmVuZWZpdHMgYXJlDQogY29uc2lzdGVudCBhY3Jv c3MgdmFyaW91cyBzZXR1cHMuPC9kaXY+DQo8ZGl2IGRpcj0ibHRyIj48YnI+DQo8L2Rpdj4NCjxk aXY+SSBhbHNvIHBsYW4gdG8gaW5jcmVhc2UgdGhlIHRlc3RpbmcgY292ZXJhZ2UgZm9yIGVkZ2Ug Y2FzZXMgYW5kIGluY2x1ZGUgbW9yZSByb2J1c3QgZmFsbGJhY2sgbWVjaGFuaXNtcyB0byBhZGRy ZXNzIHRoZSBwb3RlbnRpYWwgZnJhZ2lsaXR5IG1lbnRpb25lZC4gSSB3YW50IHRvIG1ha2Ugc3Vy ZSB0aGUgY2hhbmdlcyBoYW5kbGUgYWxsIHBvc3NpYmxlIHNjZW5hcmlvcyBncmFjZWZ1bGx5Ljwv ZGl2Pg0KPGRpdiBkaXI9Imx0ciI+PGJyPg0KPC9kaXY+DQo8ZGl2PkluIGFkZGl0aW9uLCBJIHdp bGwgZm9jdXMgb24gbWVhc3VyaW5nIGJvb3QgdGltZSBtb3JlIGRpcmVjdGx5IHVzaW5nIHRvb2xz IGxpa2UgYGJvb3RjaGFydGAgYW5kIHNoYXJlIHRoZSByZXN1bHRzLCBjb21wYXJpbmcgdGhlIGJv b3QgdGltZXMgYmVmb3JlIGFuZCBhZnRlciB0aGUgb3B0aW1pemF0aW9uIHRvIGRlbW9uc3RyYXRl IHRoZSBhY3R1YWwgaW1wYWN0IG9uIHN0YXJ0dXAgcGVyZm9ybWFuY2UuPC9kaXY+DQo8ZGl2IGRp cj0ibHRyIj48YnI+DQo8L2Rpdj4NCjxkaXY+R2l2ZW4gdGhlIGNvbmNlcm5zIHJhaXNlZCwgSSB3 b3VsZCBncmVhdGx5IGFwcHJlY2lhdGUgeW91ciBndWlkYW5jZSBvbiB3aGV0aGVyIHlvdSB0aGlu ayBpdCdzIHdvcnRod2hpbGUgZm9yIG1lIHRvIGNvbnRpbnVlIHdpdGggdGhpcyBhcHByb2FjaC4g U2hvdWxkIEkgcHJvY2VlZCB3aXRoIGZ1cnRoZXIgcmVmaW5lbWVudHMgYW5kIHRlc3RpbmcsIG9y IHdvdWxkIHlvdSByZWNvbW1lbmQgYSBkaWZmZXJlbnQgZGlyZWN0aW9uIGZvciBvcHRpbWl6YXRp b24/DQogWW91ciBpbnB1dCB3aWxsIGJlIGludmFsdWFibGUgaW4gZW5zdXJpbmcgdGhpcyBwYXRj aCBtZWV0cyBib3RoIHBlcmZvcm1hbmNlIGFuZCBzdGFiaWxpdHkgZ29hbHMuPC9kaXY+DQo8ZGl2 IGRpcj0ibHRyIj48YnI+DQo8L2Rpdj4NCjxkaXY+VGhhbmsgeW91IGFnYWluIGZvciB5b3VyIGNh cmVmdWwgcmV2aWV3LCBhbmQgSSBsb29rIGZvcndhcmQgdG8geW91ciB0aG91Z2h0cy48L2Rpdj4N CjxkaXYgZGlyPSJsdHIiPjxicj4NCjwvZGl2Pg0KPGRpdj5CZXN0IHJlZ2FyZHMsICZuYnNwOzwv ZGl2Pg0KU3RlcGhlbjwvZGl2Pg0KPC9kaXY+DQo8aHIgdGFiaW5kZXg9Ii0xIiBzdHlsZT0iZGlz cGxheTppbmxpbmUtYmxvY2s7IHdpZHRoOjk4JSI+DQo8ZGl2IGlkPSJkaXZScGx5RndkTXNnIiBk aXI9Imx0ciI+PGZvbnQgZmFjZT0iQ2FsaWJyaSwgc2Fucy1zZXJpZiIgc3R5bGU9ImZvbnQtc2l6 ZTogMTFwdDsgY29sb3I6IHJnYigwLCAwLCAwKTsiPjxiPkZyb206PC9iPiBNaWtlIFJhcG9wb3J0 ICZsdDtycHB0QGtlcm5lbC5vcmcmZ3Q7PGJyPg0KPGI+U2VudDo8L2I+IEZyaWRheSwgRmVicnVh cnkgNywgMjAyNSAxMDo1ODo0OSBQTTxicj4NCjxiPlRvOjwvYj4gU3RlcGhlbiBFdGEgWmhvdSAm bHQ7c3RlcGhlbi5ldGEuemhvdUBvdXRsb29rLmNvbSZndDs8YnI+DQo8Yj5DYzo8L2I+IGFrcG1A bGludXgtZm91bmRhdGlvbi5vcmcgJmx0O2FrcG1AbGludXgtZm91bmRhdGlvbi5vcmcmZ3Q7OyBs aW51eC1tbUBrdmFjay5vcmcgJmx0O2xpbnV4LW1tQGt2YWNrLm9yZyZndDs7IGxpbnV4LWtlcm5l bEB2Z2VyLmtlcm5lbC5vcmcgJmx0O2xpbnV4LWtlcm5lbEB2Z2VyLmtlcm5lbC5vcmcmZ3Q7PGJy Pg0KPGI+U3ViamVjdDo8L2I+IFJlOiBbUEFUQ0hdIG1tOiBvcHRpbWl6ZSBtZW1ibG9ja19hZGRf cmFuZ2UoKSBmb3IgaW1wcm92ZWQgcGVyZm9ybWFuY2U8L2ZvbnQ+DQo8ZGl2PiZuYnNwOzwvZGl2 Pg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSJCb2R5RnJhZ21lbnQiPjxmb250IHNpemU9IjIiPjxzcGFu IHN0eWxlPSJmb250LXNpemU6MTFwdCI+DQo8ZGl2IGNsYXNzPSJQbGFpblRleHQiPkhpIFN0ZXBo ZW4sPGJyPg0KPGJyPg0KT24gV2VkLCBGZWIgMDUsIDIwMjUgYXQgMDU6NTU6NTBBTSArMDAwMCwg U3RlcGhlbiBFdGEgWmhvdSB3cm90ZTo8YnI+DQomZ3Q7IEhpIE1pa2UgUmFwb3BvcnTjgIFBbmRy ZXcgTW9ydG9uPGJyPg0KPGJyPg0KJmd0OyBJIGhhdmUgcmVjZW50bHkgYmVlbiByZXNlYXJjaGlu ZyB0aGUgbW0gc3Vic3lzdGVtIG9mIHRoZSBMaW51eCBrZXJuZWwsPGJyPg0KJmd0OyBhbmQgSSBj YW1lIGFjcm9zcyB0aGUgbWVtYmxvY2tfYWRkX3JhbmdlIGZ1bmN0aW9uLCB3aGljaCBwaXF1ZWQg bXk8YnI+DQomZ3Q7IGludGVyZXN0LiBJIGZvdW5kIHRoZSBpbXBsZW1lbnRhdGlvbiBhcHByb2Fj aCBxdWl0ZSBpbnRlcmVzdGluZywgc28gSTxicj4NCiZndDsgYW5hbHl6ZWQgaXQgYW5kIGlkZW50 aWZpZWQgc29tZSBhcmVhcyBmb3Igb3B0aW1pemF0aW9uLiBTdGFydGluZyB3aXRoPGJyPg0KJmd0 OyB0aGlzIHBhcnQgb2YgdGhlIGNvZGU6PGJyPg0KJmd0Ozxicj4NCiZndDsgaWYgKHR5cGUtJmd0 O2NudCAqIDIgKyAxICZsdDs9IHR5cGUtJmd0O21heCk8YnI+DQomZ3Q7IOKAguKAguKAguKAguKA guKAgmluc2VydCA9IHRydWU7PGJyPg0KJmd0OyBUaGUgaWRlYSBoZXJlIGlzIGdvb2QsIGJ1dCBp dCBoYXMgYSBjZXJ0YWluIGZsYXcuIFRoZSBjb25kaXRpb24gaXMgcmF0aGVyPGJyPg0KJmd0OyBy ZXN0cmljdGl2ZSwgYW5kIGl0IGNhbm5vdCBiZSBleGVjdXRlZCBpbml0aWFsbHkuIE1vcmVvdmVy LCBpdCBpcyBvbmx5PGJyPg0KJmd0OyB2YWxpZCB3aGVuIHRoZSByZW1haW5pbmcgc3BhY2UgaXMg KDIvMSkgKyAxLiBJZiB0aGVyZSBpcyBlbm91Z2ggbWVtb3J5LDxicj4NCiZndDsgYnV0IGl0IGRv ZXMgbm90IHNhdGlzZnkgKDIvMSkgKyAxLCB0aGUgaW5zZXJ0aW9uIG9wZXJhdGlvbiBzdGlsbCBu ZWVkcyB0bzxicj4NCiZndDsgYmUgcGVyZm9ybWVkIHR3aWNlLjxicj4NCjxicj4NClRoZSBjb2Rl IGluIG1lbWJsb2NrX2FkZF9yYW5nZSgpIGlzIHZlcnkgZnJhZ2lsZSwgYW5kIG1hbnkgYXR0ZW1w dHMgdG88YnI+DQpyZW1vdmUgdGhlIHNlY29uZCBwYXNzIHRoYXQgbG9va2VkIGNvcnJlY3QgYXQg dGhlIGZpcnN0IGdsYW5jZSBmYWlsZWQgZm9yPGJyPg0Kc29tZSBjb3JuZXIgY2FzZS48YnI+DQo8 YnI+DQpVbmZvcnR1bmF0ZWx5LCBpdCdzIGltcG9zc2libGUgdG8gY2FwdHVyZSBhbGwgcG9zc2li bGUgbWVtb3J5PGJyPg0KY29uZmlndXJhdGlvbnMgYW5kIHJlc2VydmF0aW9ucyBpbiB0aGUgbWVt YmxvY2sgdGVzdCBzdWl0ZSwgc28gZXZlbiBpdCBpdDxicj4NCnBhc3NlcywgdGhlcmUgaXMgYSBj aGFuY2UgdGhlIGtlcm5lbCB3aWxsIGZhaWwgdG8gYm9vdCBvbiBhbiBhY3R1YWwgSFcuPGJyPg0K Jm5ic3A7PGJyPg0KJmd0OyAtIEJlZm9yZSB0aGUgcGF0Y2g6PGJyPg0KJmd0OyZuYnNwOyZuYnNw OyAtIEF2ZXJhZ2U6IDEuMjIlPGJyPg0KJmd0OyZuYnNwOyZuYnNwOyAtIE1heDogMS42MyUsIE1p bjogMC45MyU8YnI+DQomZ3Q7IDxicj4NCiZndDsgLSBBZnRlciB0aGUgcGF0Y2g6PGJyPg0KJmd0 OyZuYnNwOyZuYnNwOyAtIEF2ZXJhZ2U6IDAuNjklPGJyPg0KJmd0OyZuYnNwOyZuYnNwOyAtIE1h eDogMC45NCUsIE1pbjogMC41MCU8YnI+DQomZ3Q7IDxicj4NCjxicj4NClRoZXNlIG51bWJlcnMg ZG8gbm90IHJlcHJlc2VudCB3aGF0J3MgYWN0dWFsbHkgaW50ZXJlc3Rpbmc6IHRoZSBib290IHRp bWU8YnI+DQpzcGVlZHVwLjxicj4NCjxicj4NCi0tIDxicj4NClNpbmNlcmVseSB5b3Vycyw8YnI+ DQpNaWtlLjxicj4NCjwvZGl2Pg0KPC9zcGFuPjwvZm9udD48L2Rpdj4NCjwvZGl2Pg0KPC9ib2R5 Pg0KPC9odG1sPg0K --_000_BYAPR12MB32056DF316EA74C3EA4F4BFAD5F12BYAPR12MB3205namp_--