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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id AA36EC433EF for ; Mon, 11 Apr 2022 17:12:23 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1348792AbiDKROd (ORCPT ); Mon, 11 Apr 2022 13:14:33 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40822 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231969AbiDKRO1 (ORCPT ); Mon, 11 Apr 2022 13:14:27 -0400 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7A3E125592; Mon, 11 Apr 2022 10:11:59 -0700 (PDT) Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 23BF2K3R022836; Mon, 11 Apr 2022 17:09:57 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-id : content-transfer-encoding : mime-version; s=corp-2021-07-09; bh=PnN9h8B7grLufEkfeJDsA9P2l8BNkrfjO0ZVvbwJXEw=; b=epPPfHPL/vEBq4vpHkdRSPgS7Ha+Wg0fhv830nQM2a5KNmwNdRUYHnyZ27Tqp12hG9c2 QBBywpBU0unadNbrfCHNMMh37ylm8qOiblJlcMFWocrdGQNphcsPmL/WRDJ8Leyzkxnv r/hQwTr1A8kVNE8F0eH0hKof17RIWGkBLHmH53Q88Vs16kIee+D9idnu1+9GofHsS0LP ZfBKfJbqG3g1jxq3oTMlC3BeibFyEJYdALmYK0ofiN0WQvkQNQozyXXs5LVLBzCQ4QFG vhIIUmJuQU+nJGy0ky+EsR43tGqhXWGFes1Jk6sZ5O1QfHbYQozWl/o/FqlrrBvkP4aV Lw== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com with ESMTP id 3fb0jd49s7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 11 Apr 2022 17:09:57 +0000 Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.16.1.2/8.16.1.2) with SMTP id 23BH19jr007965; Mon, 11 Apr 2022 17:09:56 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2106.outbound.protection.outlook.com [104.47.58.106]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com with ESMTP id 3fb0k1n5ja-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 11 Apr 2022 17:09:56 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=E+oluz+5OFMpRwHDCWOSIE7Tprpop23b0+BB7cfiyXuL4i8RVj9nSlessimPwQG2LYDYjkQ5xiUqmVQfiC/5Qibrek8EuoFXBaijAifaimC5BvtkhsBUe9BNZPV+GGk4WbINFjk9jRQ8MGYT5ZiBNyo6Se2YMSSGJrP6PYnZNCQHGtc1Z+Hend4s24G05Guq0DAnmMMnGIbaRORP1nGbtEbrQqC/v4IpSPvOLRx4XJSXIY6t39y3rxZNjv13KhZIIUaBlmY74wJ2cqGmWloOQnUX/9cZMXLhO2oTpSlMMoBNlD+OB21BTeNuPAv9JaeStTViNTCUBlKf38fPyMTwag== 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=PnN9h8B7grLufEkfeJDsA9P2l8BNkrfjO0ZVvbwJXEw=; b=a/OkjoKY5yXzp7xs+C+wy89qCO/ocWJoYtg2Zae2O2ym1JLAfuVPyWryDP8wwy6baqBya3aBgRYtmYI9/UVf5otr2g2ZFlsxLGTODyvP9fNucRwm/cSlPLmZVdMjlw+eYoDP0nJwsSlRhXjYCMRJqq2BQ0VCGGi/BZ+BBvsUXPiSph2liUl0Y1SthLAc1pMmK7DF4P6U1YEweBs+LnhmGYbNcdnOjgoqQb56vxPRAMQ17MNCu9RbibGhHbB8sltt7ObvYxpjcPyEacOF/y4efK0h5BpmuAmO5Qmwo4l2XIRVQIWCpLSRY2WLR9ZEbwL6lmHCyclakHBy48UdTGHcVw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=PnN9h8B7grLufEkfeJDsA9P2l8BNkrfjO0ZVvbwJXEw=; b=SwBZYFQVKjIi1MbtDI5wNxTq03kd3+sCnDSfjZcyWS3sg3ScUL7grEpcTqHQY0SxC0EUDgjTiYQZVHwUAmMxNlKVc6SmDkgPQ5l3ttbhOx2wNLEq2cYuJ1ZoYkRWNdrXWq+zcQ117tniK4FlKHNvboGf6DRY2swRyHtQVEdeP/s= Received: from BLAPR10MB5315.namprd10.prod.outlook.com (2603:10b6:208:324::8) by DM6PR10MB4393.namprd10.prod.outlook.com (2603:10b6:5:223::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5144.29; Mon, 11 Apr 2022 17:09:53 +0000 Received: from BLAPR10MB5315.namprd10.prod.outlook.com ([fe80::d9c8:54d:a93a:54e0]) by BLAPR10MB5315.namprd10.prod.outlook.com ([fe80::d9c8:54d:a93a:54e0%7]) with mapi id 15.20.5144.029; Mon, 11 Apr 2022 17:09:53 +0000 From: Alex Kogan To: LKML CC: "linux@armlinux.org.uk" , Peter Zijlstra , Ingo Molnar , Will Deacon , Arnd Bergmann , Waiman Long , "linux-arch@vger.kernel.org" , linux-arm-kernel , Thomas Gleixner , Borislav Petkov , "hpa@zytor.com" , "x86@kernel.org" , Hanjun Guo , Jan Glauber , Steven Sistare , Daniel Jordan , Dave Dice Subject: Re: [PATCH v15 0/6] Add NUMA-awareness to qspinlock Thread-Topic: [PATCH v15 0/6] Add NUMA-awareness to qspinlock Thread-Index: AQHYTcb0ItDmpDT0R0WUWd+2hoaJ1A== Date: Mon, 11 Apr 2022 17:09:53 +0000 Message-ID: <50F3F13D-705C-4213-89C3-043B0DA2C5AF@oracle.com> References: <20210514200743.3026725-1-alex.kogan@oracle.com> In-Reply-To: <20210514200743.3026725-1-alex.kogan@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Apple Mail (2.3693.60.0.1.1) x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: f1dee9dd-3b4b-4380-61bd-08da1bde18b0 x-ms-traffictypediagnostic: DM6PR10MB4393:EE_ 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: WgY/YIhpXUWNeAiqF2LFCnfX6BqMrZlGE4lShJYIRgXsjQEuLS9JKfBm/TbWsXB/5sNA663LT4VtENeOqqmRAZKL9BGNUAKlBPTi/Dcy5uwuxZm0hmC9pyeJ1cai5gIVlr/Ja1yXRvwVUMjQ/2yphSVKxvcin3QJgTL7hfnVf6VJsdvefb4ayuHM2WVayT2Ttf5QksF6U/YjDZ4zg3fASeci16qZqyAsloEDl/k8iE8F0KGj80UU+jwF+F1mZihF0BLnutuEMTqqj664gcme4pnUMdKlMPLFR05/ggV3/+Z7vZPhbOMDt6gbobkUBjO+NIoyxww0wDfo2/E3O1Hn7vIX2GzaNgBDKSMvro5Nr0NsMm9iFLC7I9eG+o7kLN4v7m6UisQymnVp+O0gV6Ao91iRo9jgvHOGxSLxuwNA1SMW3l5YmuY4Ho2LwNjzwiJcVG8w6bI3bWAfncThkpCRuKMvS1kxsuv2X5wKXZ7rEK+vp+GOazfR9tQ8oIPQgcPEuVHzLfZ5gOgdepTU9TGd2XCmhBYHiyLJFTtli5RXCarpyxa4reotDXxIYw8BvO1qlrrwqrRp5umcOXbS3hJGSMtJyfrpMiV3sZtMUYiFo0bAfUylBryfFAM9258cIVvn3DSgkgoSdLVhI5ISWYNZ5+ka5AyVoJm2bTHWOHgXWsONY5VwnTGJn6zE35gsQwZUkyH88h8hbX1pFkMdkIy/1sm6xDV2dkBZzYFPsxgDVhMb6ixxmv7asVfSb9ZzTEJdURQ3FeXXk9I/DRESAJY8kZbt0Sp6qCfosTPyPBfXqHDCATgJA57a44mg9RiJqN7VRS9rUs3p/24NcshitkycQeBnpHwGWraI4JfZ9IxXOQ0= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BLAPR10MB5315.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(83380400001)(6506007)(33656002)(36756003)(2906002)(40140700001)(2616005)(53546011)(6512007)(6916009)(8936002)(30864003)(86362001)(66556008)(44832011)(38100700002)(966005)(6486002)(122000001)(71200400001)(508600001)(66476007)(66446008)(64756008)(186003)(107886003)(4326008)(316002)(7416002)(5660300002)(91956017)(8676002)(66946007)(38070700005)(76116006)(54906003)(45980500001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?OHlWQ1JVZGk2bXU1QU9EV3dQN0NxQUYreURQZGV5NXBBbnppd0NCVGZURzdB?= =?utf-8?B?L3JkeGlobGJRcEZKUmVQSFlxMDJGZmw2MUMyV0M1YmM2S2ozMkNZTE1VREU5?= =?utf-8?B?a1ZqbnB5eW1kajUxYnpJQVQwWlJaUXlHSzAwYzNwNFo2UTgwS3pTQ0xPeHd1?= =?utf-8?B?bUFKMHdPYTFodmV2NFpadXMvRXNxWWJSL3dTT2dsckkrRkNXUGdrNUV3QWFr?= =?utf-8?B?RDgrcnZFWUdaMFNVZVZKMVVjTFR2ZzJoREtZY29jRGV6aVdsOHc3QnRMazZE?= =?utf-8?B?YzljQzg0L1ppSkFKa0krNWpkVGNOVEFMU1lqTnJQczdoWkJZcldJaEMvQmNL?= =?utf-8?B?b2dxVkpoLzNlR0JJcHc4TG0rUGYyWnZBc0hBQnp0V3plbkI5d0hZM056R2Zp?= =?utf-8?B?ZnpsMFVudVg5OTUyNjNCY1BGa1VCQndsT2tEekxWU2d1cWZoci8vK1RnN0Ny?= =?utf-8?B?VUQ0L3RwUjdhKzYxdE1JVFJ2K1ZudFZtS05XejFwTWxsbUllcVJkMXNGU2ZE?= =?utf-8?B?TGo1aWhiZSsvcGZHR3p3TkVIdG9VRitiU2NaTWk5Nm9PaG5FSDNjZklkV2Jl?= =?utf-8?B?SnpoQ0Y4WGpBN0ZHb0svK28xOXE1cXZSY0pZTUJydGhSVURYMTN6cGxDMm1l?= =?utf-8?B?eTFlaS95QlpHN3AvQUZkb3RwSzR3a3hqWVpQQVhXZS85Q1Jra3FRb2NqL2Ft?= =?utf-8?B?RktwR3drWTh3ZmcvWStaRUpTWGV5QnJCUkZUbW1aaUdYMm4xN1ZjYlpFZkxN?= =?utf-8?B?RmN3MStkYTUzUXIzNFRSOFV2NUZUWCtJeDdrZ0FyeG91MTlqV2dlUUVyaHJW?= =?utf-8?B?TU1hMUxXMTlEanoxdXpXenMwVXJ0L2wxZGhHUHpwZTduVzNPVHU4RkFjOWZi?= =?utf-8?B?RmUwdjFuU3I2bCtUTm44R0RNME5LcFNpRlBZOENWTzJzRHBCcDhPQ1Z1SzFD?= =?utf-8?B?dDFhN1VQOEM4d2w3c0hUQTBoNVJKUE1pcStOUjN1bnB1eURZN3lkTmtUZzAr?= =?utf-8?B?M3A1djBtMFAreDhvVi9kNFNwcWFWTmVobUJ5ekZDVGRUc2lKeS9kemptanFo?= =?utf-8?B?d3g5Yng2cGJXWnJUc1Q5Ky94ckxrMFg2VElvS0g5d1Bud2ZrajI5NkxSODRw?= =?utf-8?B?MG9KNGxzc1ZXVHJFNThYSnpianhWWTVQb0k4NWl0cEdpeWJJYS83Zm5WSy96?= =?utf-8?B?UFA2cFdOdlFHcFJiU1NPYk5zbVFSUENtNHFOVlowNzNXTzlXc3ZZWmhYcFBF?= =?utf-8?B?R1hWTnFvMEFpVzNCbExWbzI5aHh0cytuYjFpUEdjQWRTd1B4M1NIcTlwMmlm?= =?utf-8?B?dHNORDUvbVhPZ1JOdjNCTHlPMmwraVlWZDRlRVpFb0Z6M0h5cmdRVnU0THJP?= =?utf-8?B?eDlEZ3BtQWdGeGR4OEk0RVo2cmczVVhCSXMzRldTZlhnMlVDMFA3Z3VnRyti?= =?utf-8?B?TS9XR0thYTJuYzlGYitML0V0T1lSbEJDU09sOTQvcTVwUGJ4Q2hDZEZ2dGdS?= =?utf-8?B?TkdDNElwSWxoRTBDS2oraUZhRVYwSlFmTkhOblFDMUxWUzl5OEd6MXpPeFIz?= =?utf-8?B?OWN2aUs5TjJTK1JoTWN3bktVZS9OYmpUREJudVBDWC9CT2o3ZVlOQ0V0VVZ4?= =?utf-8?B?TEtTTWVkcnVHbS9uUkl6dzdYS1BONWdRbFFpek5PUUhnS2lwSm01Mnk4OXBp?= =?utf-8?B?V1pWQzlKMFY5NUN4K3ExeUl5VFdJL1F0VWJvSzZBQkNrUytsZldGSlgrd2l5?= =?utf-8?B?QncyNklHSlAwc3k3NEtPM2c2d2JFdmZ5V252Y2VkR0wyQUtyeTcrUC9oYWhw?= =?utf-8?B?d0czTW1zZWlrazFOMUIvU2dTRVJ2am9OK1F0OFlDRngwTy92N0NZS25rQzdz?= =?utf-8?B?QzhjNEpxVDk5a3EwVlB2UmdhYk9peXQ0aFJ6aWNFcXJTUWN3Ty9XajB4bENS?= =?utf-8?B?NnhhYWw1bGFDUEdGbVRUQkNETnFEclNwZVhqRVhLOHRvZzY3M0IybFdod2cr?= =?utf-8?B?L29lNzg4L2hQYTFTL3FlL01QenVaWHRmU0s2Mm1odkFjdk5BdFlmWml5aHJJ?= =?utf-8?B?RTVKNkh3VUJuZzBLbHRwcmI1WkcwaFBaaUVpTjJGQndVVWFkdld2UVJPdjA0?= =?utf-8?B?Ty93R2ZaTnhybDUrV3JMVHZVb1lCT3R4WStyRU05NmJ4SjVZV1JtYzNKTVVO?= =?utf-8?B?d1ZRMHRseVJuUE85b01rVjNBak9lZWMzZEhIemtLTWJIVEE3dXdQRi9Wc0xZ?= =?utf-8?B?cnYzdTlnMFRMT3VOL2FGWmpXU0kxY1VSOEpnT05lUmEzWjFQUFVRSlg5SnpC?= =?utf-8?B?Z2todEpUcm81Z21iR29ZQlVvWVVPTTJkQjRtdVBtVWpLTVFoR0V0MlU2R2ds?= =?utf-8?Q?rxTmq14nE1y5SAYyJERCOsWaB38joOkF6JQ8g?= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB5315.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f1dee9dd-3b4b-4380-61bd-08da1bde18b0 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Apr 2022 17:09:53.6143 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 5xLSwra3bkKr5kd3Kobn7pLglfhyQ4rQnr3CBQENpXZF4NWduH3KG6CpD87i+KqPk/Yc7JEoHnIwpsctYJDwWQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR10MB4393 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.425,18.0.858 definitions=2022-04-11_06:2022-04-11,2022-04-11 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 adultscore=0 mlxscore=0 bulkscore=0 phishscore=0 spamscore=0 mlxlogscore=999 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2202240000 definitions=main-2204110095 X-Proofpoint-ORIG-GUID: yO8qMx5nOR-v6HWzRwaepJLZ2zSXDPYe X-Proofpoint-GUID: yO8qMx5nOR-v6HWzRwaepJLZ2zSXDPYe Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org SGksIGFsbC4NCg0KSeKAmXZlIGdvdCBhcm91bmQgdG8gY29sbGVjdCBtb3JlIHBlcmZvcm1hbmNl IGRhdGEgd2l0aCBtYWNyby1iZW5jaG1hcmtzDQpmcm9tIHRoZSBMS1Agc3VpdGVbMV0uIFNwZWNp ZmljYWxseSwgSSBtZWFzdXJlZCBtb3JlIHRoYW4gMi41eCBpbXByb3ZlbWVudA0Kd2l0aCBmc21h cmsgYW5kIHVwIHRvIG5lYXJseSAyeCBpbXByb3ZlbWVudCB3aXRoIEFJTTcuIE5vdGUgdGhhdCBz aW1pbGFyIA0KaW1wcm92ZW1lbnRzIGhhdmUgYmVlbiBwcmV2aW91c2x5IHJlcG9ydGVkIGJ5IHRo ZSBrZXJuZWwgdGVzdCByb2JvdCBbMiwzXSwNCmJ1dCBpdCBpcyBuaWNlIHRvIHNlZSB0aGF0IHRo ZXkgYXJlIHJlcHJvZHVjaWJsZSBvbiBvdXIgc3lzdGVtIGFzIHdlbGwuIA0KVGhlIGRldGFpbHMg YXBwZWFyIGJlbG93Lg0KDQpPdXIgcGVyZm9ybWFuY2UgdGVhbSBhbHNvIGV2YWx1YXRlZCB0aGUg cGVyZm9ybWFuY2Ugb2YgVFBDLUMgd2l0aCANCk9yYWNsZSBEQiBvbiB0aGUgcGF0Y2hlZCBrZXJu ZWwgd2l0aCBDTkEuIFRoZSBldmFsdWF0aW9uLCBjYXJyaWVkIG9uIGENCnN5c3RlbSBlcXVpcHBl ZCB3aXRoIHR3byBBTUQgRVBZQyA3NTUxIHByb2Nlc3NvcnMsIHNob3dlZA0Kbm8gc2Vuc2l0aXZp dHkgdG8gQ05BIC0tIG5vIGltcHJvdmVtZW50cywgbm8gcmVncmVzc2lvbnMuDQoNCj09PT09PT09 PT09PT0NCg0KVGhlIGZvbGxvd2luZyByZXN1bHRzIGFyZSBmcm9tIGFuIE9yYWNsZSBYNS04IHNl cnZlciAoZWlnaHQgSW50ZWwgWGVvbg0KRTctODg5NSB2MyBAIDIuNjBHSHogc29ja2V0cyB3aXRo IDE4IGh5cGVydGhyZWFkZWQgY29yZXMgZWFjaCkuIEVhY2gNCm51bWJlciByZXByZXNlbnRzIGF2 ZXJhZ2UgdGhyb3VnaHB1dCBvdmVyIDI1IHJ1bnMuIFRoZSBzdGFuZGFyZCBkZXZpYXRpb24NCmlz IGFsc28gcmVwb3J0ZWQgaW4gKCksIGFuZCBpdCB3YXMgcHJldHR5IGxhcmdlIGluIHNvbWUgZXhw ZXJpbWVudHMuIA0KDQpUaGUgZm9sbG93aW5nIHJlc3VsdHMgYXJlIGZyb20gdGhlIGZzbWFyayBi ZW5jaG1hcmsgKGJhc2VkIG9uIHRoZSANCmBmc21hcmstZ2VuZXJpYy0xYnJkLTFCUkRfNDhHLTRN LWJ0cmZzLTF4LSp0LU5vU3luYy0yNEdgIGNvbmZpZykuDQpUaGUgcmVwb3J0ZWQgbnVtYmVycyBy ZXByZXNlbnQgYGZpbGVzLXBlci1zZWNgLg0KDQpudW0tdGhyZWFkcyAgc3RvY2sgICAgICBDTkEg ICAgICAgICAgLyBzcGVlZHVwDQogIDEgIDQwMC4yMTYgKDcuMzk5KSA0MDMuMjEyICg3LjE2OSkg LyAxLjAwNw0KICAyICA3ODQuNDg0ICgxMy44MDkpIDc3OC4xOTYgKDIyLjY5OSkgLyAwLjk5Mg0K ICA0ICAxMTUzLjc5MiAoNTQuNjk5KSAxMTMwLjE0MCAoNTMuODIzKSAvIDAuOTgwDQogIDggIDEy NDAuNDI0ICgxNjAuNDUzKSAxMjg3LjUzMiAoMTY5LjY1OSkgLyAxLjAzOA0KIDE2ICAxNDQwLjcy MCAoMTgyLjU1NSkgMTQ4OS4yODggKDE0OC42MDQpIC8gMS4wMzQNCiAzMiAgMTYwMC40MzIgKDU5 Ljk0NCkgMTg2MC42NTIgKDIxMi45NzEpIC8gMS4xNjMNCiA2NCAgMTE2OS43NDAgKDQwLjgxNSkg MzAyNy42ODAgKDE0Mi4zNDkpIC8gMi41ODgNCiA3MiAgMTE3NC4yNDAgKDM5LjI2MSkgMjY4Mi41 NjAgKDU0My42OTApIC8gMi4yODUNCjE0NCAgMTE2NC4yOTYgKDQyLjQ0MSkgMjg0Mi42ODQgKDQw MC42NjQpIC8gMi40NDINCjIxNiAgMTE3NC4zMTIgKDM4LjM5MikgMjQ0NS4xNjggKDU3NS42Njgp IC8gMi4wODINCjI4NiAgMTE3NC43MzIgKDUyLjQzMCkgMjU5OC40NDQgKDQ2OC42MTUpIC8gMi4y MTINCg0KV2UgYWxzbyBleHBlcmltZW50ZWQgd2l0aCBhbm90aGVyIGNvbmZpZyANCihgZnNtYXJr LWdlbmVyaWMtMWJyZC0xQlJEXzQ4Ry00TS1idHJmcy0xeC0qdC1mc3luY0JlZm9yZUNsb3NlLTI0 R2ApDQphbmQgbWVhc3VyZWQgbW9yZSBtb2Rlc3QsIHlldCByb2J1c3QgaW1wcm92ZW1lbnQ6DQoN Cm51bS10aHJlYWRzICBzdG9jayAgICAgIENOQSAgICAgICAgICAvIHNwZWVkdXANCiAgMSAgMTc3 LjMwNCAoMy42NTkpIDE3OC41OTYgKDMuMjk5KSAvIDEuMDA3DQogIDIgIDM0NS4yNjAgKDguMzk4 KSAzNDkuMzg0ICg1LjcwNikgLyAxLjAxMg0KICA0ICA2NDcuMjkyICgxNC45ODIpIDY0OC4xNjQg KDExLjI4NikgLyAxLjAwMQ0KICA4ICAxMDA4LjMwNCAoNDYuMzQyKSAxMDA3LjEwOCAoMzcuNzY1 KSAvIDAuOTk5DQogMTYgIDExMTYuNjUyICg1Ny44MTYpIDExNTAuNzUyICg0OS4wMDUpIC8gMS4w MzENCiAzMiAgMTIyOS43NjAgKDg0LjkzMikgMTM0Ni4xMzIgKDgwLjkzNSkgLyAxLjA5NQ0KIDY0 ICA5ODEuNTY0ICg1OS41MzMpIDEzMTMuOTkyICg3NC45NzEpIC8gMS4zMzkNCiA3MiAgOTk1LjE4 MCAoNTkuMjI4KSAxMjY2LjY2MCAoNjMuMjg3KSAvIDEuMjczDQoxNDQgIDk3OC40NDggKDY5LjU4 MSkgMTI5MC4zMzYgKDQzLjA2NSkgLyAxLjMxOQ0KMjE2ICAxMDExLjg4MCAoNjAuMTU0KSAxMzEw LjUyNCAoNjEuNjMxKSAvIDEuMjk1DQoyODYgIDk4NS4xNjQgKDY3LjAxNikgMTMwNS4yNDQgKDYz LjczNSkgLyAxLjMyNQ0KDQpUaGUgZm9sbG93aW5nIHJlc3VsdHMgYXJlIGZyb20gdGhlIEFJTTcg YmVuY2htYXJrIChiYXNlZCBvbiB0aGUgDQpgYWltNy1mcy1yYWlkLTRCUkRfMTJHLWJ0cmZzLSot UkFJRDAtZGlza19ycmAgY29uZmlnKS4gSGVyZSB3ZSB2YXJ5IA0KdGhlIGxvYWQsIGFuZCBtZWFz dXJlIHBlcmZvcm1hbmNlIGluIGBqb2JzLXBlci1taW51dGVgIHVuaXRzLiBEdWUgdG8gdGltZQ0K bGltaXRhdGlvbnMsIGVhY2ggZXhwZXJpbWVudCB3YXMgcmVwZWF0ZWQgb25seSA3IHRpbWVzLg0K DQpsb2FkICBzdG9jayAgICAgIENOQSAgICAgICAgICAvIHNwZWVkdXANCiAgMiAgOTY1LjYzMSAo MS42OTYpIDk2My45NjkgKDAuOTY1KSAvIDAuOTk4DQogMjAgIDc5MDEuNjQ3ICgxMTYuNjcxKSA4 MjU2LjU3NiAoOTMuMzYyKSAvIDEuMDQ1DQoxMDAgIDE2NDA5LjE0NCAoMjgwLjgyOCkgMjMzODAu ODE5ICgyNzkuMzY1KSAvIDEuNDI1DQo1MDAgIDIwMzU1LjU0MSAoMzUzLjg2MikgMzQyODEuODM2 ICg4NzMuMzU3KSAvIDEuNjg0DQoxMDAwICAyMDczMy45NDcgKDUwNy4zODgpIDM2NTQ2LjgyOSAo Njk1LjI3MykgLyAxLjc2Mw0KMTUwMCAgMjE1NzAuNjM5ICg0OTkuMjA1KSAzNzA3OC4yNDkgKDgw Ni42NjkpIC8gMS43MTkNCjMwMDAgIDIyMDY4Ljc2MSAoNDE1LjgxMykgMzY2NDkuMTQ0ICgxMjE5 LjYzOCkgLyAxLjY2MQ0KOTAwMCAgMTk1NTEuNjgxICgzMzcuMjMyKSAzNzk5OC40NjQgKDY4Ny4w NTkpIC8gMS45NDMNCg0KQmVzdCByZWdhcmRzLA0K4oCUIEFsZXgNCg0KWzFdIGh0dHBzOi8vZ2l0 aHViLmNvbS9pbnRlbC9sa3AtdGVzdHMuZ2l0DQpbMl0gaHR0cHM6Ly9saXN0cy4wMS5vcmcvaHlw ZXJraXR0eS9saXN0L2xrcEBsaXN0cy4wMS5vcmcvdGhyZWFkL0hHVk9DWURFRTVLVExZUFRBRkJE MlJYRFFPQ0RQRlVKLw0KWzNdIGh0dHBzOi8vbGlzdHMuMDEub3JnL2h5cGVya2l0dHkvbGlzdC9s a3BAbGlzdHMuMDEub3JnL3RocmVhZC9ETk1FUVBYSlJRWTJJS0haM0VSR1JZNlRVUFdEVEZVTi8N Cg0KPiBPbiBNYXkgMTQsIDIwMjEsIGF0IDQ6MDcgUE0sIEFsZXggS29nYW4gPGFsZXgua29nYW5A b3JhY2xlLmNvbT4gd3JvdGU6DQo+IA0KPiBDaGFuZ2VzIGZyb20gdjE0Og0KPiAtLS0tLS0tLS0t LS0tLS0tDQo+IA0KPiAtIENoYW5nZSB0aGUgd2F5IHRoZSBtYWluIHF1ZXVlIGlzIHNjYW5uZWQg YW5kIHJlb3JkZXJlZCBpbg0KPiBjbmFfd2FpdF9oZWFkX29yX2xvY2soKSwgYmFzZWQgb24gUGV0 ZXIncyBzdWdnZXN0aW9uLg0KPiANCj4gSW4gZGV0YWlsOiBpbnN0ZWFkIG9mIGluc3BlY3Rpbmcg b25seSBvbmUgcXVldWUgbm9kZSwgd2Ugbm93IHNjYW4NCj4gKGFuZCBtb3ZlIG5vZGVzIGludG8g dGhlIHNlY29uZGFyeSBxdWV1ZSkgYXMgbG9uZyBhcyB0aGUgbG9jaw0KPiByZW1haW5zIGJ1c3ku IFRoaXMgc2ltcGxpZmllZCB0aGUgY29kZSBxdWl0ZSBhIGJpdCwgYXMgd2UgZG9uJ3QgbmVlZA0K PiB0byBjYWxsIGNuYV9vcmRlcl9xdWV1ZSgpIGFnYWluIGZyb20gY25hX2xvY2tfaGFuZG9mZigp LiANCj4gDQo+IC0gVXNlIGxvY2FsX2Nsb2NrKCkgaW5zdGVhZCBvZiByZWx5aW5nIG9uIGppZmZp ZXMgdG8gZGVjaWRlIHdoZW4gdG8NCj4gZmx1c2ggdGhlIHNlY29uZGFyeSBxdWV1ZSwgcGVyIEFu ZHkncyBzdWdnZXN0aW9uLg0KPiANCj4gLSBVc2UgbW9kdWxlX3BhcmFtKCkgZm9yIG51bWFfc3Bp bmxvY2tfdGhyZXNob2xkX25zLCBzbyBpdCBjYW4gYmUgdHdlYWtlZA0KPiBhdCBydW50aW1lLCBw ZXIgQW5keSdzIHN1Z2dlc3Rpb24uDQo+IA0KPiAtIFJlZHVjZSB0aGUgZGVmYXVsdCB2YWx1ZSBm b3IgbnVtYV9zcGlubG9ja190aHJlc2hvbGRfbnMgdG8gMW1zIGJhc2VkIG9uDQo+IHRoZSBjb21t ZW50cyBmcm9tIEFuZHkgYW5kIFBldGVyLiBUaGUgcGVyZm9ybWFuY2UgbnVtYmVycyBiZWxvdyBp bmNsdWRlDQo+IHJlc3VsdHMgd2l0aCB0aGUgbmV3IGRlZmF1bHQgYXMgd2VsbCBhcyB3aXRoIHRo ZSB2YWx1ZSBvZiAxMG1zLCB3aGljaCB3YXMgDQo+IHRoZSBkZWZhdWx0IHRocmVzaG9sZCBpbiBw cmV2aW91cyByZXZpc2lvbnMgb2YgdGhlIHNlcmllcy4NCj4gDQo+IFN1bW1hcnkNCj4gLS0tLS0t LQ0KPiANCj4gTG9jayB0aHJvdWdocHV0IGNhbiBiZSBpbmNyZWFzZWQgYnkgaGFuZGluZyBhIGxv Y2sgdG8gYSB3YWl0ZXIgb24gdGhlDQo+IHNhbWUgTlVNQSBub2RlIGFzIHRoZSBsb2NrIGhvbGRl ciwgcHJvdmlkZWQgY2FyZSBpcyB0YWtlbiB0byBhdm9pZA0KPiBzdGFydmF0aW9uIG9mIHdhaXRl cnMgb24gb3RoZXIgTlVNQSBub2Rlcy4gVGhpcyBwYXRjaCBpbnRyb2R1Y2VzIENOQQ0KPiAoY29t cGFjdCBOVU1BLWF3YXJlIGxvY2spIGFzIHRoZSBzbG93IHBhdGggZm9yIHFzcGlubG9jay4gSXQg aXMNCj4gZW5hYmxlZCB0aHJvdWdoIGEgY29uZmlndXJhdGlvbiBvcHRpb24gKE5VTUFfQVdBUkVf U1BJTkxPQ0tTKS4NCj4gDQo+IENOQSBpcyBhIE5VTUEtYXdhcmUgdmVyc2lvbiBvZiB0aGUgTUNT IGxvY2suIFNwaW5uaW5nIHRocmVhZHMgYXJlDQo+IG9yZ2FuaXplZCBpbiB0d28gcXVldWVzLCBh IHByaW1hcnkgcXVldWUgZm9yIHRocmVhZHMgcnVubmluZyBvbiB0aGUgc2FtZQ0KPiBub2RlIGFz IHRoZSBjdXJyZW50IGxvY2sgaG9sZGVyLCBhbmQgYSBzZWNvbmRhcnkgcXVldWUgZm9yIHRocmVh ZHMNCj4gcnVubmluZyBvbiBvdGhlciBub2Rlcy4gVGhyZWFkcyBzdG9yZSB0aGUgSUQgb2YgdGhl IG5vZGUgb24gd2hpY2gNCj4gdGhleSBhcmUgcnVubmluZyBpbiB0aGVpciBxdWV1ZSBub2Rlcy4g QWZ0ZXIgYWNxdWlyaW5nIHRoZSBNQ1MgbG9jayBhbmQNCj4gYmVmb3JlIGFjcXVpcmluZyB0aGUg c3BpbmxvY2ssIHRoZSBNQ1MgbG9jayBob2xkZXIgY2hlY2tzIHdoZXRoZXIgdGhlIG5leHQNCj4g d2FpdGVyIGluIHRoZSBwcmltYXJ5IHF1ZXVlIChpZiBleGlzdHMpIGlzIHJ1bm5pbmcgb24gdGhl IHNhbWUgTlVNQSBub2RlLg0KPiBJZiBpdCBpcyBub3QsIHRoYXQgd2FpdGVyIGlzIGRldGFjaGVk IGZyb20gdGhlIG1haW4gcXVldWUgYW5kIG1vdmVkIGludG8NCj4gdGhlIHRhaWwgb2YgdGhlIHNl Y29uZGFyeSBxdWV1ZS4gVGhpcyB3YXksIHdlIGdyYWR1YWxseSBmaWx0ZXIgdGhlIHByaW1hcnkN Cj4gcXVldWUsIGxlYXZpbmcgb25seSB3YWl0ZXJzIHJ1bm5pbmcgb24gdGhlIHNhbWUgcHJlZmVy cmVkIE5VTUEgbm9kZS4gTm90ZQ0KPiB0aGF0IGNlcnRhaW4gcHJpb3J0aXplZCB3YWl0ZXJzIChl LmcuLCBpbiBpcnEgYW5kIG5taSBjb250ZXh0cykgYXJlDQo+IGV4Y2x1ZGVkIGZyb20gYmVpbmcg bW92ZWQgdG8gdGhlIHNlY29uZGFyeSBxdWV1ZS4gV2UgY2hhbmdlIHRoZSBOVU1BIG5vZGUNCj4g cHJlZmVyZW5jZSBhZnRlciBhIHdhaXRlciBhdCB0aGUgaGVhZCBvZiB0aGUgc2Vjb25kYXJ5IHF1 ZXVlIHNwaW5zIGZvciBhDQo+IGNlcnRhaW4gYW1vdW50IG9mIHRpbWUuIFdlIGRvIHRoYXQgYnkg Zmx1c2hpbmcgdGhlIHNlY29uZGFyeSBxdWV1ZSBpbnRvDQo+IHRoZSBoZWFkIG9mIHRoZSBwcmlt YXJ5IHF1ZXVlLCBlZmZlY3RpdmVseSBjaGFuZ2luZyB0aGUgcHJlZmVyZW5jZSB0byB0aGUNCj4g TlVNQSBub2RlIG9mIHRoZSB3YWl0ZXIgYXQgdGhlIGhlYWQgb2YgdGhlIHNlY29uZGFyeSBxdWV1 ZSBhdCB0aGUgdGltZSBvZg0KPiB0aGUgZmx1c2guDQo+IA0KPiBNb3JlIGRldGFpbHMgYXJlIGF2 YWlsYWJsZSBhdCBodHRwczovL2FyeGl2Lm9yZy9hYnMvMTgxMC4wNTYwMC4NCj4gDQo+IFdlIGhh dmUgZG9uZSBzb21lIHBlcmZvcm1hbmNlIGV2YWx1YXRpb24gd2l0aCB0aGUgbG9ja3RvcnR1cmUg bW9kdWxlDQo+IGFzIHdlbGwgYXMgd2l0aCBzZXZlcmFsIGJlbmNobWFya3MgZnJvbSB0aGUgd2ls bC1pdC1zY2FsZSByZXBvLg0KPiBUaGUgZm9sbG93aW5nIGxvY2t0b3J0dXJlIHJlc3VsdHMgYXJl IGZyb20gYW4gT3JhY2xlIFg1LTQgc2VydmVyDQo+IChmb3VyIEludGVsIFhlb24gRTctODg5NSB2 MyBAIDIuNjBHSHogc29ja2V0cyB3aXRoIDE4IGh5cGVydGhyZWFkZWQNCj4gY29yZXMgZWFjaCku IEVhY2ggbnVtYmVyIHJlcHJlc2VudHMgYW4gYXZlcmFnZSAob3ZlciAyNSBydW5zKSBvZiB0aGUN Cj4gdG90YWwgbnVtYmVyIG9mIG9wcyAoeDEwXjcpIHJlcG9ydGVkIGF0IHRoZSBlbmQgb2YgZWFj aCBydW4uIFRoZSANCj4gc3RhbmRhcmQgZGV2aWF0aW9uIGlzIGFsc28gcmVwb3J0ZWQgaW4gKCks IGFuZCBpbiBnZW5lcmFsIGlzIGFib3V0IDMlDQo+IGZyb20gdGhlIGF2ZXJhZ2UuIFRoZSAnc3Rv Y2snIGtlcm5lbCBpcyB2NS4xMi4wLA0KPiBjb21taXQgM2NmNWM4ZWEzYTY2LCBjb21waWxlZCBp biB0aGUgZGVmYXVsdCBjb25maWd1cmF0aW9uLiANCj4gJ0NOQScgaXMgdGhlIG1vZGlmaWVkIGtl cm5lbCB3aXRoIE5VTUFfQVdBUkVfU1BJTkxPQ0tTIHNldCBhbmQNCj4gdGhlIG5ldyBkZWZhdWx0 IHRocmVzaG9sZCBvZiAxbXMgZm9yIGZsdXNoaW5nIHRoZSBzZWNvbmRhcnkgcXVldWUNCj4gKG51 bWFfc3BpbmxvY2tfdGhyZXNob2xkX25zKTsgJ0NOQS0xMG1zJyBpcyB0aGUgc2FtZSBhcyBDTkEs IA0KPiBidXQgdXNlcyB0aGUgdGhyZXNob2xkIG9mIDEwbXMuIFRoZSBzcGVlZHVwIGlzIGNhbGN1 bGF0ZWQgYnkgZGl2aWRpbmcgDQo+IHRoZSByZXN1bHQgb2YgJ0NOQScgYW5kICdDTkEtMTBtcycs IHJlc3BlY3RpdmVseSwgYnkgdGhlIHJlc3VsdA0KPiBhY2hpZXZlZCB3aXRoICdzdG9jaycuDQo+ IA0KPiAjdGhyICAJIHN0b2NrICAgICAgQ05BICAgICAgICAgIC8gc3BlZWR1cCAgQ05BLTEwbXMg ICAgLyBzcGVlZHVwDQo+ICAxICAyLjY5NSAoMC4xMDgpIDIuNzA0ICgwLjA5OSkgLyAxLjAwMyAg Mi43MTIgKDAuMDc3KSAvIDEuMDA2DQo+ICAyICAyLjc1MyAoMC4xODcpIDIuNzg1ICgwLjE3MSkg LyAxLjAxMiAgMi44MjIgKDAuMTc0KSAvIDEuMDI1DQo+ICA0ICA0LjM1NSAoMC4xMzkpIDQuNDE3 ICgwLjE3OSkgLyAxLjAxNCAgNC4zNjEgKDAuMTgxKSAvIDEuMDAxDQo+ICA4ICA1LjE2MyAoMC4x MTkpIDcuMDE3ICgwLjE5NSkgLyAxLjM1OSAgNy4zNjkgKDAuMTg2KSAvIDEuNDI3DQo+IDE2ICA1 Ljk0NCAoMC4xMzQpIDkuMTEwICgwLjI0MikgLyAxLjUzMiAgOS4xODcgKDAuMjMzKSAvIDEuNTQ2 DQo+IDMyICA2LjMxMCAoMC4wODIpIDkuNzEwICgwLjE1NikgLyAxLjUzOSAgOS44MjcgKDAuMTYx KSAvIDEuNTU3DQo+IDM2ICA2LjM3NCAoMC4xMTIpIDkuNzc3ICgwLjE0MSkgLyAxLjUzNCAgOS44 MzAgKDAuMTI0KSAvIDEuNTQyDQo+IDcyICA2LjE3MCAoMC4xMzkpIDkuOTIyICgwLjE5MCkgLyAx LjYwOCAgOS45NDUgKDAuMTM2KSAvIDEuNjEyDQo+IDEwOCAgNi4wMDIgKDAuMDg5KSA5LjY1MSAo MC4xNzYpIC8gMS42MDggIDkuODQ3ICgwLjEyNSkgLyAxLjY0MQ0KPiAxNDIgIDUuNzg0ICgwLjA3 OSkgOS40NzcgKDAuMDg5KSAvIDEuNjM4ICA5LjY0MSAoMC4xMTMpIC8gMS42NjcNCj4gDQo+IFRo ZSBmb2xsb3dpbmcgdGFibGVzIGNvbnRhaW4gdGhyb3VnaHB1dCByZXN1bHRzIChvcHMvdXMpIGZy b20gdGhlIHNhbWUNCj4gc2V0dXAgZm9yIHdpbGwtaXQtc2NhbGUvb3BlbjFfdGhyZWFkczogDQo+ IA0KPiAjdGhyICAJIHN0b2NrICAgICAgQ05BICAgICAgICAgIC8gc3BlZWR1cCAgQ05BLTEwbXMg ICAgLyBzcGVlZHVwDQo+ICAxICAwLjUwMyAoMC4wMDQpIDAuNTAxICgwLjAwMSkgLyAwLjk5NiAg MC41MDMgKDAuMDAyKSAvIDEuMDAwDQo+ICAyICAwLjc4MyAoMC4wMTQpIDAuNzczICgwLjAxMSkg LyAwLjk4OCAgMC43NzQgKDAuMDE2KSAvIDAuOTg5DQo+ICA0ICAxLjQyMiAoMC4wMjUpIDEuMzk4 ICgwLjAzMCkgLyAwLjk4MyAgMS40MDMgKDAuMDI1KSAvIDAuOTg3DQo+ICA4ICAxLjc1MyAoMC4x MDQpIDEuNjQxICgwLjEzMikgLyAwLjkzNiAgMS42NzUgKDAuMTM0KSAvIDAuOTU2DQo+IDE2ICAx Ljg1MSAoMC4wOTcpIDEuNzYwICgwLjEwMykgLyAwLjk1MSAgMS43NzQgKDAuMTE5KSAvIDAuOTU5 DQo+IDMyICAwLjkwNSAoMC4wODEpIDEuNzA4ICgwLjA4MSkgLyAxLjg4OCAgMS43MzggKDAuMDY5 KSAvIDEuOTIyDQo+IDM2ICAwLjg5NSAoMC4wNTgpIDEuNzI2ICgwLjA2NSkgLyAxLjkyOCAgMS43 MzUgKDAuMDgxKSAvIDEuOTM4DQo+IDcyICAwLjgyMyAoMC4wMzMpIDEuNjEwICgwLjA2NykgLyAx Ljk1NyAgMS42NDcgKDAuMDY3KSAvIDIuMDAyDQo+IDEwOCAgMC44NDUgKDAuMDM1KSAxLjU4OCAo MC4wNTQpIC8gMS44NzggIDEuNzQwICgwLjA2NykgLyAyLjA1OA0KPiAxNDIgIDAuODQwICgwLjAz MCkgMS41NDYgKDAuMDQyKSAvIDEuODM5ICAxLjc0MCAoMC4wNDgpIC8gMi4wNzANCj4gDQo+IGFu ZCB3aWxsLWl0LXNjYWxlL2xvY2syX3RocmVhZHM6DQo+IA0KPiAjdGhyICAJIHN0b2NrICAgICAg Q05BICAgICAgICAgIC8gc3BlZWR1cCAgQ05BLTEwbXMgICAgLyBzcGVlZHVwDQo+ICAxICAxLjU1 MSAoMC4wMDMpIDEuNTU4ICgwLjAwNikgLyAxLjAwNSAgMS41NTggKDAuMDAzKSAvIDEuMDA1DQo+ ICAyICAyLjcyMiAoMC4wNjQpIDIuNzA0ICgwLjA2MykgLyAwLjk5MyAgMi43MjcgKDAuMDU4KSAv IDEuMDAyDQo+ICA0ICA1LjI4NiAoMC4xNzgpIDUuMzYwICgwLjE1MSkgLyAxLjAxNCAgNS4zNjAg KDAuMTM1KSAvIDEuMDE0DQo+ICA4ICA0LjExNSAoMC4yOTcpIDMuOTA2ICgwLjM4MykgLyAwLjk0 OSAgNC4wNjIgKDAuMzY2KSAvIDAuOTg3DQo+IDE2ICA0LjExOSAoMC4xMjEpIDMuOTUwICgwLjEz MSkgLyAwLjk1OSAgNC4wMDkgKDAuMTMyKSAvIDAuOTczDQo+IDMyICAyLjUwOCAoMC4wOTcpIDMu ODA1ICgwLjEwNikgLyAxLjUxNyAgMy45NjAgKDAuMDkxKSAvIDEuNTc5DQo+IDM2ICAyLjQ1NyAo MC4xMDEpIDMuODEwICgwLjA3MikgLyAxLjU1MSAgMy45MzEgKDAuMTA2KSAvIDEuNjAwDQo+IDcy ICAxLjkxMyAoMC4xMDMpIDMuNTMwICgwLjA3MCkgLyAxLjg0NSAgMy44NjAgKDAuMDc4KSAvIDIu MDE4DQo+IDEwOCAgMS44OTEgKDAuMTA5KSAzLjQxMCAoMC4wNzkpIC8gMS44MDMgIDMuODgxICgw LjA5NykgLyAyLjA1Mg0KPiAxNDIgIDEuNzUyICgwLjA5NikgMy4yMzYgKDAuMDgwKSAvIDEuODQ3 ICAzLjc3NCAoMC4wNzgpIC8gMi4xNTUNCj4gDQo+IE91ciBldmFsdWF0aW9uIHNob3dzIHRoYXQg Q05BIGFsc28gaW1wcm92ZXMgcGVyZm9ybWFuY2Ugb2YgdXNlciANCj4gYXBwbGljYXRpb25zIHRo YXQgaGF2ZSBob3QgcHRocmVhZCBtdXRleGVzLiBUaG9zZSBtdXRleGVzIGFyZSANCj4gYmxvY2tp bmcsIGFuZCB3YWl0aW5nIHRocmVhZHMgcGFyayBhbmQgdW5wYXJrIHZpYSB0aGUgZnV0ZXggDQo+ IG1lY2hhbmlzbSBpbiB0aGUga2VybmVsLiBHaXZlbiB0aGF0IGtlcm5lbCBmdXRleCBjaGFpbnMs IHdoaWNoDQo+IGFyZSBoYXNoZWQgYnkgdGhlIG11dGV4IGFkZHJlc3MsIGFyZSBlYWNoIHByb3Rl Y3RlZCBieSBhIA0KPiBjaGFpbi1zcGVjaWZpYyBzcGluIGxvY2ssIHRoZSBjb250ZW50aW9uIG9u IGEgdXNlci1tb2RlIG11dGV4IA0KPiB0cmFuc2xhdGVzIGludG8gY29udGVudGlvbiBvbiBhIGtl cm5lbCBsZXZlbCBzcGlubG9jay4gDQo+IA0KPiBIZXJlIGFyZSB0aGUgdGhyb3VnaHB1dCByZXN1 bHRzIChvcHMvdXMpIGZvciB0aGUgbGV2ZWxkYiDigJhyZWFkcmFuZG9t4oCZDQo+IGJlbmNobWFy azoNCj4gDQo+ICN0aHIgIAkgc3RvY2sgICAgICBDTkEgICAgICAgICAgLyBzcGVlZHVwICBDTkEt MTBtcyAgICAvIHNwZWVkdXANCj4gIDEgIDAuNTMzICgwLjAxMSkgMC41MzkgKDAuMDE0KSAvIDEu MDEyICAwLjUzNiAoMC4wMTMpIC8gMS4wMDYNCj4gIDIgIDAuODU0ICgwLjAyMikgMC44NTYgKDAu MDE3KSAvIDEuMDAzICAwLjg1NyAoMC4wMjApIC8gMS4wMDQNCj4gIDQgIDEuMjM2ICgwLjAyOCkg MS4yMzggKDAuMDU0KSAvIDEuMDAyICAxLjIxNyAoMC4wNTQpIC8gMC45ODUNCj4gIDggIDEuMjA3 ICgwLjExNykgMS4xOTggKDAuMTIyKSAvIDAuOTkzICAxLjE1NSAoMC4xMzgpIC8gMC45NTcNCj4g MTYgIDAuNzU4ICgwLjA1NSkgMS4xMjggKDAuMTE4KSAvIDEuNDg5ICAxLjA2OCAoMC4xMzEpIC8g MS40MDkNCj4gMzIgIDAuNzQzICgwLjAyNykgMS4xNTMgKDAuMDI4KSAvIDEuNTUxICAxLjE0NyAo MC4wMjEpIC8gMS41NDMNCj4gMzYgIDAuNzA4ICgwLjAyNykgMS4xNTAgKDAuMDI0KSAvIDEuNjIz ICAxLjEzNyAoMC4wMjYpIC8gMS42MDUNCj4gNzIgIDAuNjI5ICgwLjAxNikgMS4xMTIgKDAuMDE5 KSAvIDEuNzY3ICAxLjEzNCAoMC4wMTkpIC8gMS44MDINCj4gMTA4ICAwLjYxMCAoMC4wMTIpIDEu MDUzICgwLjAxOCkgLyAxLjcyNSAgMS4xMzAgKDAuMDE3KSAvIDEuODUzDQo+IDE0MiAgMC42MDYg KDAuMDEzKSAxLjAwOCAoMC4wMjApIC8gMS42NjQgIDEuMTEwICgwLjAyMykgLyAxLjgzMw0KPiAN Cj4gRnVydGhlciBjb21tZW50cyBhcmUgd2VsY29tZSBhbmQgYXBwcmVjaWF0ZWQuDQo+IA0KPiBB bGV4IEtvZ2FuICg2KToNCj4gIGxvY2tpbmcvcXNwaW5sb2NrOiBSZW5hbWUgbWNzIGxvY2svdW5s b2NrIG1hY3JvcyBhbmQgbWFrZSB0aGVtIG1vcmUNCj4gICAgZ2VuZXJpYw0KPiAgbG9ja2luZy9x c3BpbmxvY2s6IFJlZmFjdG9yIHRoZSBxc3BpbmxvY2sgc2xvdyBwYXRoDQo+ICBsb2NraW5nL3Fz cGlubG9jazogSW50cm9kdWNlIENOQSBpbnRvIHRoZSBzbG93IHBhdGggb2YgcXNwaW5sb2NrDQo+ ICBsb2NraW5nL3FzcGlubG9jazogSW50cm9kdWNlIHN0YXJ2YXRpb24gYXZvaWRhbmNlIGludG8g Q05BDQo+ICBsb2NraW5nL3FzcGlubG9jazogQXZvaWQgbW92aW5nIGNlcnRhaW4gdGhyZWFkcyBi ZXR3ZWVuIHdhaXRpbmcgcXVldWVzDQo+ICAgIGluIENOQQ0KPiAgbG9ja2luZy9xc3BpbmxvY2s6 IEludHJvZHVjZSB0aGUgc2h1ZmZsZSByZWR1Y3Rpb24gb3B0aW1pemF0aW9uIGludG8NCj4gICAg Q05BDQo+IA0KPiAuLi4vYWRtaW4tZ3VpZGUva2VybmVsLXBhcmFtZXRlcnMudHh0ICAgICAgICAg fCAgMTggKw0KPiBhcmNoL2FybS9pbmNsdWRlL2FzbS9tY3Nfc3BpbmxvY2suaCAgICAgICAgICAg fCAgIDYgKy0NCj4gYXJjaC94ODYvS2NvbmZpZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgIDIwICsNCj4gYXJjaC94ODYvaW5jbHVkZS9hc20vcXNwaW5sb2NrLmggICAgICAgICAgICAg IHwgICA0ICsNCj4gYXJjaC94ODYva2VybmVsL2FsdGVybmF0aXZlLmMgICAgICAgICAgICAgICAg IHwgICA0ICsNCj4gaW5jbHVkZS9hc20tZ2VuZXJpYy9tY3Nfc3BpbmxvY2suaCAgICAgICAgICAg IHwgICA0ICstDQo+IGtlcm5lbC9sb2NraW5nL21jc19zcGlubG9jay5oICAgICAgICAgICAgICAg ICB8ICAyMCArLQ0KPiBrZXJuZWwvbG9ja2luZy9xc3BpbmxvY2suYyAgICAgICAgICAgICAgICAg ICAgfCAgODIgKysrLQ0KPiBrZXJuZWwvbG9ja2luZy9xc3BpbmxvY2tfY25hLmggICAgICAgICAg ICAgICAgfCA0MjUgKysrKysrKysrKysrKysrKysrDQo+IGtlcm5lbC9sb2NraW5nL3FzcGlubG9j a19wYXJhdmlydC5oICAgICAgICAgICB8ICAgMiArLQ0KPiAxMCBmaWxlcyBjaGFuZ2VkLCA1NjIg aW5zZXJ0aW9ucygrKSwgMjMgZGVsZXRpb25zKC0pDQo+IGNyZWF0ZSBtb2RlIDEwMDY0NCBrZXJu ZWwvbG9ja2luZy9xc3BpbmxvY2tfY25hLmgNCj4gDQo+IC0tIA0KPiAyLjI0LjMgKEFwcGxlIEdp dC0xMjgpDQo+IA0KDQo= 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 72D8BC433F5 for ; Mon, 11 Apr 2022 17:13:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Content-ID:In-Reply-To: References:Message-ID:Date:Subject:CC:To:From:Reply-To:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=TPVE1UYXbexRhxdr1fuhlRgbdcbE/298KT8LtLOnKGE=; b=STRFpSyRSXc+A1 g3Qfi0FfgdgYuX+IdaFldTATjOaAF83FjhmQGUFvZtiQZB0N8P5JpMeVdYzI3i+UouZJNQn30IELt foPqBAHwOK3ZPPK91JtvLqiTYwe4xp3O3FK1ENniYz8G/jZNaHp4J7wvQ7ANJ/RnyCsIqY/yoVzXE s48Jg871PDOyrYBxhh3EfRlVSztw/QjDeLi9OhDwG4j6woRBvl6aWFQYMfYyBghgzKweepFVe8uPP ppaeP7P++7MI/24MLb7+11VNni9rH1ai9dovbDgqemHXVWdgAcAF43m8xWNjutOopBeeLmWZGGAzw DusgiMhnEXBq3sZSzQhQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1ndxa2-009qKR-1e; Mon, 11 Apr 2022 17:11:58 +0000 Received: from mx0b-00069f02.pphosted.com ([205.220.177.32]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1ndxZx-009qJA-8R for linux-arm-kernel@lists.infradead.org; Mon, 11 Apr 2022 17:11:56 +0000 Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 23BF2K3R022836; Mon, 11 Apr 2022 17:09:57 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-id : content-transfer-encoding : mime-version; s=corp-2021-07-09; bh=PnN9h8B7grLufEkfeJDsA9P2l8BNkrfjO0ZVvbwJXEw=; b=epPPfHPL/vEBq4vpHkdRSPgS7Ha+Wg0fhv830nQM2a5KNmwNdRUYHnyZ27Tqp12hG9c2 QBBywpBU0unadNbrfCHNMMh37ylm8qOiblJlcMFWocrdGQNphcsPmL/WRDJ8Leyzkxnv r/hQwTr1A8kVNE8F0eH0hKof17RIWGkBLHmH53Q88Vs16kIee+D9idnu1+9GofHsS0LP ZfBKfJbqG3g1jxq3oTMlC3BeibFyEJYdALmYK0ofiN0WQvkQNQozyXXs5LVLBzCQ4QFG vhIIUmJuQU+nJGy0ky+EsR43tGqhXWGFes1Jk6sZ5O1QfHbYQozWl/o/FqlrrBvkP4aV Lw== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com with ESMTP id 3fb0jd49s7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 11 Apr 2022 17:09:57 +0000 Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.16.1.2/8.16.1.2) with SMTP id 23BH19jr007965; Mon, 11 Apr 2022 17:09:56 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2106.outbound.protection.outlook.com [104.47.58.106]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com with ESMTP id 3fb0k1n5ja-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 11 Apr 2022 17:09:56 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=E+oluz+5OFMpRwHDCWOSIE7Tprpop23b0+BB7cfiyXuL4i8RVj9nSlessimPwQG2LYDYjkQ5xiUqmVQfiC/5Qibrek8EuoFXBaijAifaimC5BvtkhsBUe9BNZPV+GGk4WbINFjk9jRQ8MGYT5ZiBNyo6Se2YMSSGJrP6PYnZNCQHGtc1Z+Hend4s24G05Guq0DAnmMMnGIbaRORP1nGbtEbrQqC/v4IpSPvOLRx4XJSXIY6t39y3rxZNjv13KhZIIUaBlmY74wJ2cqGmWloOQnUX/9cZMXLhO2oTpSlMMoBNlD+OB21BTeNuPAv9JaeStTViNTCUBlKf38fPyMTwag== 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=PnN9h8B7grLufEkfeJDsA9P2l8BNkrfjO0ZVvbwJXEw=; b=a/OkjoKY5yXzp7xs+C+wy89qCO/ocWJoYtg2Zae2O2ym1JLAfuVPyWryDP8wwy6baqBya3aBgRYtmYI9/UVf5otr2g2ZFlsxLGTODyvP9fNucRwm/cSlPLmZVdMjlw+eYoDP0nJwsSlRhXjYCMRJqq2BQ0VCGGi/BZ+BBvsUXPiSph2liUl0Y1SthLAc1pMmK7DF4P6U1YEweBs+LnhmGYbNcdnOjgoqQb56vxPRAMQ17MNCu9RbibGhHbB8sltt7ObvYxpjcPyEacOF/y4efK0h5BpmuAmO5Qmwo4l2XIRVQIWCpLSRY2WLR9ZEbwL6lmHCyclakHBy48UdTGHcVw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=PnN9h8B7grLufEkfeJDsA9P2l8BNkrfjO0ZVvbwJXEw=; b=SwBZYFQVKjIi1MbtDI5wNxTq03kd3+sCnDSfjZcyWS3sg3ScUL7grEpcTqHQY0SxC0EUDgjTiYQZVHwUAmMxNlKVc6SmDkgPQ5l3ttbhOx2wNLEq2cYuJ1ZoYkRWNdrXWq+zcQ117tniK4FlKHNvboGf6DRY2swRyHtQVEdeP/s= Received: from BLAPR10MB5315.namprd10.prod.outlook.com (2603:10b6:208:324::8) by DM6PR10MB4393.namprd10.prod.outlook.com (2603:10b6:5:223::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5144.29; Mon, 11 Apr 2022 17:09:53 +0000 Received: from BLAPR10MB5315.namprd10.prod.outlook.com ([fe80::d9c8:54d:a93a:54e0]) by BLAPR10MB5315.namprd10.prod.outlook.com ([fe80::d9c8:54d:a93a:54e0%7]) with mapi id 15.20.5144.029; Mon, 11 Apr 2022 17:09:53 +0000 From: Alex Kogan To: LKML CC: "linux@armlinux.org.uk" , Peter Zijlstra , Ingo Molnar , Will Deacon , Arnd Bergmann , Waiman Long , "linux-arch@vger.kernel.org" , linux-arm-kernel , Thomas Gleixner , Borislav Petkov , "hpa@zytor.com" , "x86@kernel.org" , Hanjun Guo , Jan Glauber , Steven Sistare , Daniel Jordan , Dave Dice Subject: Re: [PATCH v15 0/6] Add NUMA-awareness to qspinlock Thread-Topic: [PATCH v15 0/6] Add NUMA-awareness to qspinlock Thread-Index: AQHYTcb0ItDmpDT0R0WUWd+2hoaJ1A== Date: Mon, 11 Apr 2022 17:09:53 +0000 Message-ID: <50F3F13D-705C-4213-89C3-043B0DA2C5AF@oracle.com> References: <20210514200743.3026725-1-alex.kogan@oracle.com> In-Reply-To: <20210514200743.3026725-1-alex.kogan@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Apple Mail (2.3693.60.0.1.1) x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: f1dee9dd-3b4b-4380-61bd-08da1bde18b0 x-ms-traffictypediagnostic: DM6PR10MB4393:EE_ 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: WgY/YIhpXUWNeAiqF2LFCnfX6BqMrZlGE4lShJYIRgXsjQEuLS9JKfBm/TbWsXB/5sNA663LT4VtENeOqqmRAZKL9BGNUAKlBPTi/Dcy5uwuxZm0hmC9pyeJ1cai5gIVlr/Ja1yXRvwVUMjQ/2yphSVKxvcin3QJgTL7hfnVf6VJsdvefb4ayuHM2WVayT2Ttf5QksF6U/YjDZ4zg3fASeci16qZqyAsloEDl/k8iE8F0KGj80UU+jwF+F1mZihF0BLnutuEMTqqj664gcme4pnUMdKlMPLFR05/ggV3/+Z7vZPhbOMDt6gbobkUBjO+NIoyxww0wDfo2/E3O1Hn7vIX2GzaNgBDKSMvro5Nr0NsMm9iFLC7I9eG+o7kLN4v7m6UisQymnVp+O0gV6Ao91iRo9jgvHOGxSLxuwNA1SMW3l5YmuY4Ho2LwNjzwiJcVG8w6bI3bWAfncThkpCRuKMvS1kxsuv2X5wKXZ7rEK+vp+GOazfR9tQ8oIPQgcPEuVHzLfZ5gOgdepTU9TGd2XCmhBYHiyLJFTtli5RXCarpyxa4reotDXxIYw8BvO1qlrrwqrRp5umcOXbS3hJGSMtJyfrpMiV3sZtMUYiFo0bAfUylBryfFAM9258cIVvn3DSgkgoSdLVhI5ISWYNZ5+ka5AyVoJm2bTHWOHgXWsONY5VwnTGJn6zE35gsQwZUkyH88h8hbX1pFkMdkIy/1sm6xDV2dkBZzYFPsxgDVhMb6ixxmv7asVfSb9ZzTEJdURQ3FeXXk9I/DRESAJY8kZbt0Sp6qCfosTPyPBfXqHDCATgJA57a44mg9RiJqN7VRS9rUs3p/24NcshitkycQeBnpHwGWraI4JfZ9IxXOQ0= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BLAPR10MB5315.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(83380400001)(6506007)(33656002)(36756003)(2906002)(40140700001)(2616005)(53546011)(6512007)(6916009)(8936002)(30864003)(86362001)(66556008)(44832011)(38100700002)(966005)(6486002)(122000001)(71200400001)(508600001)(66476007)(66446008)(64756008)(186003)(107886003)(4326008)(316002)(7416002)(5660300002)(91956017)(8676002)(66946007)(38070700005)(76116006)(54906003)(45980500001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?OHlWQ1JVZGk2bXU1QU9EV3dQN0NxQUYreURQZGV5NXBBbnppd0NCVGZURzdB?= =?utf-8?B?L3JkeGlobGJRcEZKUmVQSFlxMDJGZmw2MUMyV0M1YmM2S2ozMkNZTE1VREU5?= =?utf-8?B?a1ZqbnB5eW1kajUxYnpJQVQwWlJaUXlHSzAwYzNwNFo2UTgwS3pTQ0xPeHd1?= =?utf-8?B?bUFKMHdPYTFodmV2NFpadXMvRXNxWWJSL3dTT2dsckkrRkNXUGdrNUV3QWFr?= =?utf-8?B?RDgrcnZFWUdaMFNVZVZKMVVjTFR2ZzJoREtZY29jRGV6aVdsOHc3QnRMazZE?= =?utf-8?B?YzljQzg0L1ppSkFKa0krNWpkVGNOVEFMU1lqTnJQczdoWkJZcldJaEMvQmNL?= =?utf-8?B?b2dxVkpoLzNlR0JJcHc4TG0rUGYyWnZBc0hBQnp0V3plbkI5d0hZM056R2Zp?= =?utf-8?B?ZnpsMFVudVg5OTUyNjNCY1BGa1VCQndsT2tEekxWU2d1cWZoci8vK1RnN0Ny?= =?utf-8?B?VUQ0L3RwUjdhKzYxdE1JVFJ2K1ZudFZtS05XejFwTWxsbUllcVJkMXNGU2ZE?= =?utf-8?B?TGo1aWhiZSsvcGZHR3p3TkVIdG9VRitiU2NaTWk5Nm9PaG5FSDNjZklkV2Jl?= =?utf-8?B?SnpoQ0Y4WGpBN0ZHb0svK28xOXE1cXZSY0pZTUJydGhSVURYMTN6cGxDMm1l?= =?utf-8?B?eTFlaS95QlpHN3AvQUZkb3RwSzR3a3hqWVpQQVhXZS85Q1Jra3FRb2NqL2Ft?= =?utf-8?B?RktwR3drWTh3ZmcvWStaRUpTWGV5QnJCUkZUbW1aaUdYMm4xN1ZjYlpFZkxN?= =?utf-8?B?RmN3MStkYTUzUXIzNFRSOFV2NUZUWCtJeDdrZ0FyeG91MTlqV2dlUUVyaHJW?= =?utf-8?B?TU1hMUxXMTlEanoxdXpXenMwVXJ0L2wxZGhHUHpwZTduVzNPVHU4RkFjOWZi?= =?utf-8?B?RmUwdjFuU3I2bCtUTm44R0RNME5LcFNpRlBZOENWTzJzRHBCcDhPQ1Z1SzFD?= =?utf-8?B?dDFhN1VQOEM4d2w3c0hUQTBoNVJKUE1pcStOUjN1bnB1eURZN3lkTmtUZzAr?= =?utf-8?B?M3A1djBtMFAreDhvVi9kNFNwcWFWTmVobUJ5ekZDVGRUc2lKeS9kemptanFo?= =?utf-8?B?d3g5Yng2cGJXWnJUc1Q5Ky94ckxrMFg2VElvS0g5d1Bud2ZrajI5NkxSODRw?= =?utf-8?B?MG9KNGxzc1ZXVHJFNThYSnpianhWWTVQb0k4NWl0cEdpeWJJYS83Zm5WSy96?= =?utf-8?B?UFA2cFdOdlFHcFJiU1NPYk5zbVFSUENtNHFOVlowNzNXTzlXc3ZZWmhYcFBF?= =?utf-8?B?R1hWTnFvMEFpVzNCbExWbzI5aHh0cytuYjFpUEdjQWRTd1B4M1NIcTlwMmlm?= =?utf-8?B?dHNORDUvbVhPZ1JOdjNCTHlPMmwraVlWZDRlRVpFb0Z6M0h5cmdRVnU0THJP?= =?utf-8?B?eDlEZ3BtQWdGeGR4OEk0RVo2cmczVVhCSXMzRldTZlhnMlVDMFA3Z3VnRyti?= =?utf-8?B?TS9XR0thYTJuYzlGYitML0V0T1lSbEJDU09sOTQvcTVwUGJ4Q2hDZEZ2dGdS?= =?utf-8?B?TkdDNElwSWxoRTBDS2oraUZhRVYwSlFmTkhOblFDMUxWUzl5OEd6MXpPeFIz?= =?utf-8?B?OWN2aUs5TjJTK1JoTWN3bktVZS9OYmpUREJudVBDWC9CT2o3ZVlOQ0V0VVZ4?= =?utf-8?B?TEtTTWVkcnVHbS9uUkl6dzdYS1BONWdRbFFpek5PUUhnS2lwSm01Mnk4OXBp?= =?utf-8?B?V1pWQzlKMFY5NUN4K3ExeUl5VFdJL1F0VWJvSzZBQkNrUytsZldGSlgrd2l5?= =?utf-8?B?QncyNklHSlAwc3k3NEtPM2c2d2JFdmZ5V252Y2VkR0wyQUtyeTcrUC9oYWhw?= =?utf-8?B?d0czTW1zZWlrazFOMUIvU2dTRVJ2am9OK1F0OFlDRngwTy92N0NZS25rQzdz?= =?utf-8?B?QzhjNEpxVDk5a3EwVlB2UmdhYk9peXQ0aFJ6aWNFcXJTUWN3Ty9XajB4bENS?= =?utf-8?B?NnhhYWw1bGFDUEdGbVRUQkNETnFEclNwZVhqRVhLOHRvZzY3M0IybFdod2cr?= =?utf-8?B?L29lNzg4L2hQYTFTL3FlL01QenVaWHRmU0s2Mm1odkFjdk5BdFlmWml5aHJJ?= =?utf-8?B?RTVKNkh3VUJuZzBLbHRwcmI1WkcwaFBaaUVpTjJGQndVVWFkdld2UVJPdjA0?= =?utf-8?B?Ty93R2ZaTnhybDUrV3JMVHZVb1lCT3R4WStyRU05NmJ4SjVZV1JtYzNKTVVO?= =?utf-8?B?d1ZRMHRseVJuUE85b01rVjNBak9lZWMzZEhIemtLTWJIVEE3dXdQRi9Wc0xZ?= =?utf-8?B?cnYzdTlnMFRMT3VOL2FGWmpXU0kxY1VSOEpnT05lUmEzWjFQUFVRSlg5SnpC?= =?utf-8?B?Z2todEpUcm81Z21iR29ZQlVvWVVPTTJkQjRtdVBtVWpLTVFoR0V0MlU2R2ds?= =?utf-8?Q?rxTmq14nE1y5SAYyJERCOsWaB38joOkF6JQ8g?= Content-ID: MIME-Version: 1.0 X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB5315.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f1dee9dd-3b4b-4380-61bd-08da1bde18b0 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Apr 2022 17:09:53.6143 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 5xLSwra3bkKr5kd3Kobn7pLglfhyQ4rQnr3CBQENpXZF4NWduH3KG6CpD87i+KqPk/Yc7JEoHnIwpsctYJDwWQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR10MB4393 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.425, 18.0.858 definitions=2022-04-11_06:2022-04-11, 2022-04-11 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 adultscore=0 mlxscore=0 bulkscore=0 phishscore=0 spamscore=0 mlxlogscore=999 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2202240000 definitions=main-2204110095 X-Proofpoint-ORIG-GUID: yO8qMx5nOR-v6HWzRwaepJLZ2zSXDPYe X-Proofpoint-GUID: yO8qMx5nOR-v6HWzRwaepJLZ2zSXDPYe X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220411_101153_902558_C40061A4 X-CRM114-Status: GOOD ( 19.60 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGksIGFsbC4NCg0KSeKAmXZlIGdvdCBhcm91bmQgdG8gY29sbGVjdCBtb3JlIHBlcmZvcm1hbmNl IGRhdGEgd2l0aCBtYWNyby1iZW5jaG1hcmtzDQpmcm9tIHRoZSBMS1Agc3VpdGVbMV0uIFNwZWNp ZmljYWxseSwgSSBtZWFzdXJlZCBtb3JlIHRoYW4gMi41eCBpbXByb3ZlbWVudA0Kd2l0aCBmc21h cmsgYW5kIHVwIHRvIG5lYXJseSAyeCBpbXByb3ZlbWVudCB3aXRoIEFJTTcuIE5vdGUgdGhhdCBz aW1pbGFyIA0KaW1wcm92ZW1lbnRzIGhhdmUgYmVlbiBwcmV2aW91c2x5IHJlcG9ydGVkIGJ5IHRo ZSBrZXJuZWwgdGVzdCByb2JvdCBbMiwzXSwNCmJ1dCBpdCBpcyBuaWNlIHRvIHNlZSB0aGF0IHRo ZXkgYXJlIHJlcHJvZHVjaWJsZSBvbiBvdXIgc3lzdGVtIGFzIHdlbGwuIA0KVGhlIGRldGFpbHMg YXBwZWFyIGJlbG93Lg0KDQpPdXIgcGVyZm9ybWFuY2UgdGVhbSBhbHNvIGV2YWx1YXRlZCB0aGUg cGVyZm9ybWFuY2Ugb2YgVFBDLUMgd2l0aCANCk9yYWNsZSBEQiBvbiB0aGUgcGF0Y2hlZCBrZXJu ZWwgd2l0aCBDTkEuIFRoZSBldmFsdWF0aW9uLCBjYXJyaWVkIG9uIGENCnN5c3RlbSBlcXVpcHBl ZCB3aXRoIHR3byBBTUQgRVBZQyA3NTUxIHByb2Nlc3NvcnMsIHNob3dlZA0Kbm8gc2Vuc2l0aXZp dHkgdG8gQ05BIC0tIG5vIGltcHJvdmVtZW50cywgbm8gcmVncmVzc2lvbnMuDQoNCj09PT09PT09 PT09PT0NCg0KVGhlIGZvbGxvd2luZyByZXN1bHRzIGFyZSBmcm9tIGFuIE9yYWNsZSBYNS04IHNl cnZlciAoZWlnaHQgSW50ZWwgWGVvbg0KRTctODg5NSB2MyBAIDIuNjBHSHogc29ja2V0cyB3aXRo IDE4IGh5cGVydGhyZWFkZWQgY29yZXMgZWFjaCkuIEVhY2gNCm51bWJlciByZXByZXNlbnRzIGF2 ZXJhZ2UgdGhyb3VnaHB1dCBvdmVyIDI1IHJ1bnMuIFRoZSBzdGFuZGFyZCBkZXZpYXRpb24NCmlz IGFsc28gcmVwb3J0ZWQgaW4gKCksIGFuZCBpdCB3YXMgcHJldHR5IGxhcmdlIGluIHNvbWUgZXhw ZXJpbWVudHMuIA0KDQpUaGUgZm9sbG93aW5nIHJlc3VsdHMgYXJlIGZyb20gdGhlIGZzbWFyayBi ZW5jaG1hcmsgKGJhc2VkIG9uIHRoZSANCmBmc21hcmstZ2VuZXJpYy0xYnJkLTFCUkRfNDhHLTRN LWJ0cmZzLTF4LSp0LU5vU3luYy0yNEdgIGNvbmZpZykuDQpUaGUgcmVwb3J0ZWQgbnVtYmVycyBy ZXByZXNlbnQgYGZpbGVzLXBlci1zZWNgLg0KDQpudW0tdGhyZWFkcyAgc3RvY2sgICAgICBDTkEg ICAgICAgICAgLyBzcGVlZHVwDQogIDEgIDQwMC4yMTYgKDcuMzk5KSA0MDMuMjEyICg3LjE2OSkg LyAxLjAwNw0KICAyICA3ODQuNDg0ICgxMy44MDkpIDc3OC4xOTYgKDIyLjY5OSkgLyAwLjk5Mg0K ICA0ICAxMTUzLjc5MiAoNTQuNjk5KSAxMTMwLjE0MCAoNTMuODIzKSAvIDAuOTgwDQogIDggIDEy NDAuNDI0ICgxNjAuNDUzKSAxMjg3LjUzMiAoMTY5LjY1OSkgLyAxLjAzOA0KIDE2ICAxNDQwLjcy MCAoMTgyLjU1NSkgMTQ4OS4yODggKDE0OC42MDQpIC8gMS4wMzQNCiAzMiAgMTYwMC40MzIgKDU5 Ljk0NCkgMTg2MC42NTIgKDIxMi45NzEpIC8gMS4xNjMNCiA2NCAgMTE2OS43NDAgKDQwLjgxNSkg MzAyNy42ODAgKDE0Mi4zNDkpIC8gMi41ODgNCiA3MiAgMTE3NC4yNDAgKDM5LjI2MSkgMjY4Mi41 NjAgKDU0My42OTApIC8gMi4yODUNCjE0NCAgMTE2NC4yOTYgKDQyLjQ0MSkgMjg0Mi42ODQgKDQw MC42NjQpIC8gMi40NDINCjIxNiAgMTE3NC4zMTIgKDM4LjM5MikgMjQ0NS4xNjggKDU3NS42Njgp IC8gMi4wODINCjI4NiAgMTE3NC43MzIgKDUyLjQzMCkgMjU5OC40NDQgKDQ2OC42MTUpIC8gMi4y MTINCg0KV2UgYWxzbyBleHBlcmltZW50ZWQgd2l0aCBhbm90aGVyIGNvbmZpZyANCihgZnNtYXJr LWdlbmVyaWMtMWJyZC0xQlJEXzQ4Ry00TS1idHJmcy0xeC0qdC1mc3luY0JlZm9yZUNsb3NlLTI0 R2ApDQphbmQgbWVhc3VyZWQgbW9yZSBtb2Rlc3QsIHlldCByb2J1c3QgaW1wcm92ZW1lbnQ6DQoN Cm51bS10aHJlYWRzICBzdG9jayAgICAgIENOQSAgICAgICAgICAvIHNwZWVkdXANCiAgMSAgMTc3 LjMwNCAoMy42NTkpIDE3OC41OTYgKDMuMjk5KSAvIDEuMDA3DQogIDIgIDM0NS4yNjAgKDguMzk4 KSAzNDkuMzg0ICg1LjcwNikgLyAxLjAxMg0KICA0ICA2NDcuMjkyICgxNC45ODIpIDY0OC4xNjQg KDExLjI4NikgLyAxLjAwMQ0KICA4ICAxMDA4LjMwNCAoNDYuMzQyKSAxMDA3LjEwOCAoMzcuNzY1 KSAvIDAuOTk5DQogMTYgIDExMTYuNjUyICg1Ny44MTYpIDExNTAuNzUyICg0OS4wMDUpIC8gMS4w MzENCiAzMiAgMTIyOS43NjAgKDg0LjkzMikgMTM0Ni4xMzIgKDgwLjkzNSkgLyAxLjA5NQ0KIDY0 ICA5ODEuNTY0ICg1OS41MzMpIDEzMTMuOTkyICg3NC45NzEpIC8gMS4zMzkNCiA3MiAgOTk1LjE4 MCAoNTkuMjI4KSAxMjY2LjY2MCAoNjMuMjg3KSAvIDEuMjczDQoxNDQgIDk3OC40NDggKDY5LjU4 MSkgMTI5MC4zMzYgKDQzLjA2NSkgLyAxLjMxOQ0KMjE2ICAxMDExLjg4MCAoNjAuMTU0KSAxMzEw LjUyNCAoNjEuNjMxKSAvIDEuMjk1DQoyODYgIDk4NS4xNjQgKDY3LjAxNikgMTMwNS4yNDQgKDYz LjczNSkgLyAxLjMyNQ0KDQpUaGUgZm9sbG93aW5nIHJlc3VsdHMgYXJlIGZyb20gdGhlIEFJTTcg YmVuY2htYXJrIChiYXNlZCBvbiB0aGUgDQpgYWltNy1mcy1yYWlkLTRCUkRfMTJHLWJ0cmZzLSot UkFJRDAtZGlza19ycmAgY29uZmlnKS4gSGVyZSB3ZSB2YXJ5IA0KdGhlIGxvYWQsIGFuZCBtZWFz dXJlIHBlcmZvcm1hbmNlIGluIGBqb2JzLXBlci1taW51dGVgIHVuaXRzLiBEdWUgdG8gdGltZQ0K bGltaXRhdGlvbnMsIGVhY2ggZXhwZXJpbWVudCB3YXMgcmVwZWF0ZWQgb25seSA3IHRpbWVzLg0K DQpsb2FkICBzdG9jayAgICAgIENOQSAgICAgICAgICAvIHNwZWVkdXANCiAgMiAgOTY1LjYzMSAo MS42OTYpIDk2My45NjkgKDAuOTY1KSAvIDAuOTk4DQogMjAgIDc5MDEuNjQ3ICgxMTYuNjcxKSA4 MjU2LjU3NiAoOTMuMzYyKSAvIDEuMDQ1DQoxMDAgIDE2NDA5LjE0NCAoMjgwLjgyOCkgMjMzODAu ODE5ICgyNzkuMzY1KSAvIDEuNDI1DQo1MDAgIDIwMzU1LjU0MSAoMzUzLjg2MikgMzQyODEuODM2 ICg4NzMuMzU3KSAvIDEuNjg0DQoxMDAwICAyMDczMy45NDcgKDUwNy4zODgpIDM2NTQ2LjgyOSAo Njk1LjI3MykgLyAxLjc2Mw0KMTUwMCAgMjE1NzAuNjM5ICg0OTkuMjA1KSAzNzA3OC4yNDkgKDgw Ni42NjkpIC8gMS43MTkNCjMwMDAgIDIyMDY4Ljc2MSAoNDE1LjgxMykgMzY2NDkuMTQ0ICgxMjE5 LjYzOCkgLyAxLjY2MQ0KOTAwMCAgMTk1NTEuNjgxICgzMzcuMjMyKSAzNzk5OC40NjQgKDY4Ny4w NTkpIC8gMS45NDMNCg0KQmVzdCByZWdhcmRzLA0K4oCUIEFsZXgNCg0KWzFdIGh0dHBzOi8vZ2l0 aHViLmNvbS9pbnRlbC9sa3AtdGVzdHMuZ2l0DQpbMl0gaHR0cHM6Ly9saXN0cy4wMS5vcmcvaHlw ZXJraXR0eS9saXN0L2xrcEBsaXN0cy4wMS5vcmcvdGhyZWFkL0hHVk9DWURFRTVLVExZUFRBRkJE MlJYRFFPQ0RQRlVKLw0KWzNdIGh0dHBzOi8vbGlzdHMuMDEub3JnL2h5cGVya2l0dHkvbGlzdC9s a3BAbGlzdHMuMDEub3JnL3RocmVhZC9ETk1FUVBYSlJRWTJJS0haM0VSR1JZNlRVUFdEVEZVTi8N Cg0KPiBPbiBNYXkgMTQsIDIwMjEsIGF0IDQ6MDcgUE0sIEFsZXggS29nYW4gPGFsZXgua29nYW5A b3JhY2xlLmNvbT4gd3JvdGU6DQo+IA0KPiBDaGFuZ2VzIGZyb20gdjE0Og0KPiAtLS0tLS0tLS0t LS0tLS0tDQo+IA0KPiAtIENoYW5nZSB0aGUgd2F5IHRoZSBtYWluIHF1ZXVlIGlzIHNjYW5uZWQg YW5kIHJlb3JkZXJlZCBpbg0KPiBjbmFfd2FpdF9oZWFkX29yX2xvY2soKSwgYmFzZWQgb24gUGV0 ZXIncyBzdWdnZXN0aW9uLg0KPiANCj4gSW4gZGV0YWlsOiBpbnN0ZWFkIG9mIGluc3BlY3Rpbmcg b25seSBvbmUgcXVldWUgbm9kZSwgd2Ugbm93IHNjYW4NCj4gKGFuZCBtb3ZlIG5vZGVzIGludG8g dGhlIHNlY29uZGFyeSBxdWV1ZSkgYXMgbG9uZyBhcyB0aGUgbG9jaw0KPiByZW1haW5zIGJ1c3ku IFRoaXMgc2ltcGxpZmllZCB0aGUgY29kZSBxdWl0ZSBhIGJpdCwgYXMgd2UgZG9uJ3QgbmVlZA0K PiB0byBjYWxsIGNuYV9vcmRlcl9xdWV1ZSgpIGFnYWluIGZyb20gY25hX2xvY2tfaGFuZG9mZigp LiANCj4gDQo+IC0gVXNlIGxvY2FsX2Nsb2NrKCkgaW5zdGVhZCBvZiByZWx5aW5nIG9uIGppZmZp ZXMgdG8gZGVjaWRlIHdoZW4gdG8NCj4gZmx1c2ggdGhlIHNlY29uZGFyeSBxdWV1ZSwgcGVyIEFu ZHkncyBzdWdnZXN0aW9uLg0KPiANCj4gLSBVc2UgbW9kdWxlX3BhcmFtKCkgZm9yIG51bWFfc3Bp bmxvY2tfdGhyZXNob2xkX25zLCBzbyBpdCBjYW4gYmUgdHdlYWtlZA0KPiBhdCBydW50aW1lLCBw ZXIgQW5keSdzIHN1Z2dlc3Rpb24uDQo+IA0KPiAtIFJlZHVjZSB0aGUgZGVmYXVsdCB2YWx1ZSBm b3IgbnVtYV9zcGlubG9ja190aHJlc2hvbGRfbnMgdG8gMW1zIGJhc2VkIG9uDQo+IHRoZSBjb21t ZW50cyBmcm9tIEFuZHkgYW5kIFBldGVyLiBUaGUgcGVyZm9ybWFuY2UgbnVtYmVycyBiZWxvdyBp bmNsdWRlDQo+IHJlc3VsdHMgd2l0aCB0aGUgbmV3IGRlZmF1bHQgYXMgd2VsbCBhcyB3aXRoIHRo ZSB2YWx1ZSBvZiAxMG1zLCB3aGljaCB3YXMgDQo+IHRoZSBkZWZhdWx0IHRocmVzaG9sZCBpbiBw cmV2aW91cyByZXZpc2lvbnMgb2YgdGhlIHNlcmllcy4NCj4gDQo+IFN1bW1hcnkNCj4gLS0tLS0t LQ0KPiANCj4gTG9jayB0aHJvdWdocHV0IGNhbiBiZSBpbmNyZWFzZWQgYnkgaGFuZGluZyBhIGxv Y2sgdG8gYSB3YWl0ZXIgb24gdGhlDQo+IHNhbWUgTlVNQSBub2RlIGFzIHRoZSBsb2NrIGhvbGRl ciwgcHJvdmlkZWQgY2FyZSBpcyB0YWtlbiB0byBhdm9pZA0KPiBzdGFydmF0aW9uIG9mIHdhaXRl cnMgb24gb3RoZXIgTlVNQSBub2Rlcy4gVGhpcyBwYXRjaCBpbnRyb2R1Y2VzIENOQQ0KPiAoY29t cGFjdCBOVU1BLWF3YXJlIGxvY2spIGFzIHRoZSBzbG93IHBhdGggZm9yIHFzcGlubG9jay4gSXQg aXMNCj4gZW5hYmxlZCB0aHJvdWdoIGEgY29uZmlndXJhdGlvbiBvcHRpb24gKE5VTUFfQVdBUkVf U1BJTkxPQ0tTKS4NCj4gDQo+IENOQSBpcyBhIE5VTUEtYXdhcmUgdmVyc2lvbiBvZiB0aGUgTUNT IGxvY2suIFNwaW5uaW5nIHRocmVhZHMgYXJlDQo+IG9yZ2FuaXplZCBpbiB0d28gcXVldWVzLCBh IHByaW1hcnkgcXVldWUgZm9yIHRocmVhZHMgcnVubmluZyBvbiB0aGUgc2FtZQ0KPiBub2RlIGFz IHRoZSBjdXJyZW50IGxvY2sgaG9sZGVyLCBhbmQgYSBzZWNvbmRhcnkgcXVldWUgZm9yIHRocmVh ZHMNCj4gcnVubmluZyBvbiBvdGhlciBub2Rlcy4gVGhyZWFkcyBzdG9yZSB0aGUgSUQgb2YgdGhl IG5vZGUgb24gd2hpY2gNCj4gdGhleSBhcmUgcnVubmluZyBpbiB0aGVpciBxdWV1ZSBub2Rlcy4g QWZ0ZXIgYWNxdWlyaW5nIHRoZSBNQ1MgbG9jayBhbmQNCj4gYmVmb3JlIGFjcXVpcmluZyB0aGUg c3BpbmxvY2ssIHRoZSBNQ1MgbG9jayBob2xkZXIgY2hlY2tzIHdoZXRoZXIgdGhlIG5leHQNCj4g d2FpdGVyIGluIHRoZSBwcmltYXJ5IHF1ZXVlIChpZiBleGlzdHMpIGlzIHJ1bm5pbmcgb24gdGhl IHNhbWUgTlVNQSBub2RlLg0KPiBJZiBpdCBpcyBub3QsIHRoYXQgd2FpdGVyIGlzIGRldGFjaGVk IGZyb20gdGhlIG1haW4gcXVldWUgYW5kIG1vdmVkIGludG8NCj4gdGhlIHRhaWwgb2YgdGhlIHNl Y29uZGFyeSBxdWV1ZS4gVGhpcyB3YXksIHdlIGdyYWR1YWxseSBmaWx0ZXIgdGhlIHByaW1hcnkN Cj4gcXVldWUsIGxlYXZpbmcgb25seSB3YWl0ZXJzIHJ1bm5pbmcgb24gdGhlIHNhbWUgcHJlZmVy cmVkIE5VTUEgbm9kZS4gTm90ZQ0KPiB0aGF0IGNlcnRhaW4gcHJpb3J0aXplZCB3YWl0ZXJzIChl LmcuLCBpbiBpcnEgYW5kIG5taSBjb250ZXh0cykgYXJlDQo+IGV4Y2x1ZGVkIGZyb20gYmVpbmcg bW92ZWQgdG8gdGhlIHNlY29uZGFyeSBxdWV1ZS4gV2UgY2hhbmdlIHRoZSBOVU1BIG5vZGUNCj4g cHJlZmVyZW5jZSBhZnRlciBhIHdhaXRlciBhdCB0aGUgaGVhZCBvZiB0aGUgc2Vjb25kYXJ5IHF1 ZXVlIHNwaW5zIGZvciBhDQo+IGNlcnRhaW4gYW1vdW50IG9mIHRpbWUuIFdlIGRvIHRoYXQgYnkg Zmx1c2hpbmcgdGhlIHNlY29uZGFyeSBxdWV1ZSBpbnRvDQo+IHRoZSBoZWFkIG9mIHRoZSBwcmlt YXJ5IHF1ZXVlLCBlZmZlY3RpdmVseSBjaGFuZ2luZyB0aGUgcHJlZmVyZW5jZSB0byB0aGUNCj4g TlVNQSBub2RlIG9mIHRoZSB3YWl0ZXIgYXQgdGhlIGhlYWQgb2YgdGhlIHNlY29uZGFyeSBxdWV1 ZSBhdCB0aGUgdGltZSBvZg0KPiB0aGUgZmx1c2guDQo+IA0KPiBNb3JlIGRldGFpbHMgYXJlIGF2 YWlsYWJsZSBhdCBodHRwczovL2FyeGl2Lm9yZy9hYnMvMTgxMC4wNTYwMC4NCj4gDQo+IFdlIGhh dmUgZG9uZSBzb21lIHBlcmZvcm1hbmNlIGV2YWx1YXRpb24gd2l0aCB0aGUgbG9ja3RvcnR1cmUg bW9kdWxlDQo+IGFzIHdlbGwgYXMgd2l0aCBzZXZlcmFsIGJlbmNobWFya3MgZnJvbSB0aGUgd2ls bC1pdC1zY2FsZSByZXBvLg0KPiBUaGUgZm9sbG93aW5nIGxvY2t0b3J0dXJlIHJlc3VsdHMgYXJl IGZyb20gYW4gT3JhY2xlIFg1LTQgc2VydmVyDQo+IChmb3VyIEludGVsIFhlb24gRTctODg5NSB2 MyBAIDIuNjBHSHogc29ja2V0cyB3aXRoIDE4IGh5cGVydGhyZWFkZWQNCj4gY29yZXMgZWFjaCku IEVhY2ggbnVtYmVyIHJlcHJlc2VudHMgYW4gYXZlcmFnZSAob3ZlciAyNSBydW5zKSBvZiB0aGUN Cj4gdG90YWwgbnVtYmVyIG9mIG9wcyAoeDEwXjcpIHJlcG9ydGVkIGF0IHRoZSBlbmQgb2YgZWFj aCBydW4uIFRoZSANCj4gc3RhbmRhcmQgZGV2aWF0aW9uIGlzIGFsc28gcmVwb3J0ZWQgaW4gKCks IGFuZCBpbiBnZW5lcmFsIGlzIGFib3V0IDMlDQo+IGZyb20gdGhlIGF2ZXJhZ2UuIFRoZSAnc3Rv Y2snIGtlcm5lbCBpcyB2NS4xMi4wLA0KPiBjb21taXQgM2NmNWM4ZWEzYTY2LCBjb21waWxlZCBp biB0aGUgZGVmYXVsdCBjb25maWd1cmF0aW9uLiANCj4gJ0NOQScgaXMgdGhlIG1vZGlmaWVkIGtl cm5lbCB3aXRoIE5VTUFfQVdBUkVfU1BJTkxPQ0tTIHNldCBhbmQNCj4gdGhlIG5ldyBkZWZhdWx0 IHRocmVzaG9sZCBvZiAxbXMgZm9yIGZsdXNoaW5nIHRoZSBzZWNvbmRhcnkgcXVldWUNCj4gKG51 bWFfc3BpbmxvY2tfdGhyZXNob2xkX25zKTsgJ0NOQS0xMG1zJyBpcyB0aGUgc2FtZSBhcyBDTkEs IA0KPiBidXQgdXNlcyB0aGUgdGhyZXNob2xkIG9mIDEwbXMuIFRoZSBzcGVlZHVwIGlzIGNhbGN1 bGF0ZWQgYnkgZGl2aWRpbmcgDQo+IHRoZSByZXN1bHQgb2YgJ0NOQScgYW5kICdDTkEtMTBtcycs IHJlc3BlY3RpdmVseSwgYnkgdGhlIHJlc3VsdA0KPiBhY2hpZXZlZCB3aXRoICdzdG9jaycuDQo+ IA0KPiAjdGhyICAJIHN0b2NrICAgICAgQ05BICAgICAgICAgIC8gc3BlZWR1cCAgQ05BLTEwbXMg ICAgLyBzcGVlZHVwDQo+ICAxICAyLjY5NSAoMC4xMDgpIDIuNzA0ICgwLjA5OSkgLyAxLjAwMyAg Mi43MTIgKDAuMDc3KSAvIDEuMDA2DQo+ICAyICAyLjc1MyAoMC4xODcpIDIuNzg1ICgwLjE3MSkg LyAxLjAxMiAgMi44MjIgKDAuMTc0KSAvIDEuMDI1DQo+ICA0ICA0LjM1NSAoMC4xMzkpIDQuNDE3 ICgwLjE3OSkgLyAxLjAxNCAgNC4zNjEgKDAuMTgxKSAvIDEuMDAxDQo+ICA4ICA1LjE2MyAoMC4x MTkpIDcuMDE3ICgwLjE5NSkgLyAxLjM1OSAgNy4zNjkgKDAuMTg2KSAvIDEuNDI3DQo+IDE2ICA1 Ljk0NCAoMC4xMzQpIDkuMTEwICgwLjI0MikgLyAxLjUzMiAgOS4xODcgKDAuMjMzKSAvIDEuNTQ2 DQo+IDMyICA2LjMxMCAoMC4wODIpIDkuNzEwICgwLjE1NikgLyAxLjUzOSAgOS44MjcgKDAuMTYx KSAvIDEuNTU3DQo+IDM2ICA2LjM3NCAoMC4xMTIpIDkuNzc3ICgwLjE0MSkgLyAxLjUzNCAgOS44 MzAgKDAuMTI0KSAvIDEuNTQyDQo+IDcyICA2LjE3MCAoMC4xMzkpIDkuOTIyICgwLjE5MCkgLyAx LjYwOCAgOS45NDUgKDAuMTM2KSAvIDEuNjEyDQo+IDEwOCAgNi4wMDIgKDAuMDg5KSA5LjY1MSAo MC4xNzYpIC8gMS42MDggIDkuODQ3ICgwLjEyNSkgLyAxLjY0MQ0KPiAxNDIgIDUuNzg0ICgwLjA3 OSkgOS40NzcgKDAuMDg5KSAvIDEuNjM4ICA5LjY0MSAoMC4xMTMpIC8gMS42NjcNCj4gDQo+IFRo ZSBmb2xsb3dpbmcgdGFibGVzIGNvbnRhaW4gdGhyb3VnaHB1dCByZXN1bHRzIChvcHMvdXMpIGZy b20gdGhlIHNhbWUNCj4gc2V0dXAgZm9yIHdpbGwtaXQtc2NhbGUvb3BlbjFfdGhyZWFkczogDQo+ IA0KPiAjdGhyICAJIHN0b2NrICAgICAgQ05BICAgICAgICAgIC8gc3BlZWR1cCAgQ05BLTEwbXMg ICAgLyBzcGVlZHVwDQo+ICAxICAwLjUwMyAoMC4wMDQpIDAuNTAxICgwLjAwMSkgLyAwLjk5NiAg MC41MDMgKDAuMDAyKSAvIDEuMDAwDQo+ICAyICAwLjc4MyAoMC4wMTQpIDAuNzczICgwLjAxMSkg LyAwLjk4OCAgMC43NzQgKDAuMDE2KSAvIDAuOTg5DQo+ICA0ICAxLjQyMiAoMC4wMjUpIDEuMzk4 ICgwLjAzMCkgLyAwLjk4MyAgMS40MDMgKDAuMDI1KSAvIDAuOTg3DQo+ICA4ICAxLjc1MyAoMC4x MDQpIDEuNjQxICgwLjEzMikgLyAwLjkzNiAgMS42NzUgKDAuMTM0KSAvIDAuOTU2DQo+IDE2ICAx Ljg1MSAoMC4wOTcpIDEuNzYwICgwLjEwMykgLyAwLjk1MSAgMS43NzQgKDAuMTE5KSAvIDAuOTU5 DQo+IDMyICAwLjkwNSAoMC4wODEpIDEuNzA4ICgwLjA4MSkgLyAxLjg4OCAgMS43MzggKDAuMDY5 KSAvIDEuOTIyDQo+IDM2ICAwLjg5NSAoMC4wNTgpIDEuNzI2ICgwLjA2NSkgLyAxLjkyOCAgMS43 MzUgKDAuMDgxKSAvIDEuOTM4DQo+IDcyICAwLjgyMyAoMC4wMzMpIDEuNjEwICgwLjA2NykgLyAx Ljk1NyAgMS42NDcgKDAuMDY3KSAvIDIuMDAyDQo+IDEwOCAgMC44NDUgKDAuMDM1KSAxLjU4OCAo MC4wNTQpIC8gMS44NzggIDEuNzQwICgwLjA2NykgLyAyLjA1OA0KPiAxNDIgIDAuODQwICgwLjAz MCkgMS41NDYgKDAuMDQyKSAvIDEuODM5ICAxLjc0MCAoMC4wNDgpIC8gMi4wNzANCj4gDQo+IGFu ZCB3aWxsLWl0LXNjYWxlL2xvY2syX3RocmVhZHM6DQo+IA0KPiAjdGhyICAJIHN0b2NrICAgICAg Q05BICAgICAgICAgIC8gc3BlZWR1cCAgQ05BLTEwbXMgICAgLyBzcGVlZHVwDQo+ICAxICAxLjU1 MSAoMC4wMDMpIDEuNTU4ICgwLjAwNikgLyAxLjAwNSAgMS41NTggKDAuMDAzKSAvIDEuMDA1DQo+ ICAyICAyLjcyMiAoMC4wNjQpIDIuNzA0ICgwLjA2MykgLyAwLjk5MyAgMi43MjcgKDAuMDU4KSAv IDEuMDAyDQo+ICA0ICA1LjI4NiAoMC4xNzgpIDUuMzYwICgwLjE1MSkgLyAxLjAxNCAgNS4zNjAg KDAuMTM1KSAvIDEuMDE0DQo+ICA4ICA0LjExNSAoMC4yOTcpIDMuOTA2ICgwLjM4MykgLyAwLjk0 OSAgNC4wNjIgKDAuMzY2KSAvIDAuOTg3DQo+IDE2ICA0LjExOSAoMC4xMjEpIDMuOTUwICgwLjEz MSkgLyAwLjk1OSAgNC4wMDkgKDAuMTMyKSAvIDAuOTczDQo+IDMyICAyLjUwOCAoMC4wOTcpIDMu ODA1ICgwLjEwNikgLyAxLjUxNyAgMy45NjAgKDAuMDkxKSAvIDEuNTc5DQo+IDM2ICAyLjQ1NyAo MC4xMDEpIDMuODEwICgwLjA3MikgLyAxLjU1MSAgMy45MzEgKDAuMTA2KSAvIDEuNjAwDQo+IDcy ICAxLjkxMyAoMC4xMDMpIDMuNTMwICgwLjA3MCkgLyAxLjg0NSAgMy44NjAgKDAuMDc4KSAvIDIu MDE4DQo+IDEwOCAgMS44OTEgKDAuMTA5KSAzLjQxMCAoMC4wNzkpIC8gMS44MDMgIDMuODgxICgw LjA5NykgLyAyLjA1Mg0KPiAxNDIgIDEuNzUyICgwLjA5NikgMy4yMzYgKDAuMDgwKSAvIDEuODQ3 ICAzLjc3NCAoMC4wNzgpIC8gMi4xNTUNCj4gDQo+IE91ciBldmFsdWF0aW9uIHNob3dzIHRoYXQg Q05BIGFsc28gaW1wcm92ZXMgcGVyZm9ybWFuY2Ugb2YgdXNlciANCj4gYXBwbGljYXRpb25zIHRo YXQgaGF2ZSBob3QgcHRocmVhZCBtdXRleGVzLiBUaG9zZSBtdXRleGVzIGFyZSANCj4gYmxvY2tp bmcsIGFuZCB3YWl0aW5nIHRocmVhZHMgcGFyayBhbmQgdW5wYXJrIHZpYSB0aGUgZnV0ZXggDQo+ IG1lY2hhbmlzbSBpbiB0aGUga2VybmVsLiBHaXZlbiB0aGF0IGtlcm5lbCBmdXRleCBjaGFpbnMs IHdoaWNoDQo+IGFyZSBoYXNoZWQgYnkgdGhlIG11dGV4IGFkZHJlc3MsIGFyZSBlYWNoIHByb3Rl Y3RlZCBieSBhIA0KPiBjaGFpbi1zcGVjaWZpYyBzcGluIGxvY2ssIHRoZSBjb250ZW50aW9uIG9u IGEgdXNlci1tb2RlIG11dGV4IA0KPiB0cmFuc2xhdGVzIGludG8gY29udGVudGlvbiBvbiBhIGtl cm5lbCBsZXZlbCBzcGlubG9jay4gDQo+IA0KPiBIZXJlIGFyZSB0aGUgdGhyb3VnaHB1dCByZXN1 bHRzIChvcHMvdXMpIGZvciB0aGUgbGV2ZWxkYiDigJhyZWFkcmFuZG9t4oCZDQo+IGJlbmNobWFy azoNCj4gDQo+ICN0aHIgIAkgc3RvY2sgICAgICBDTkEgICAgICAgICAgLyBzcGVlZHVwICBDTkEt MTBtcyAgICAvIHNwZWVkdXANCj4gIDEgIDAuNTMzICgwLjAxMSkgMC41MzkgKDAuMDE0KSAvIDEu MDEyICAwLjUzNiAoMC4wMTMpIC8gMS4wMDYNCj4gIDIgIDAuODU0ICgwLjAyMikgMC44NTYgKDAu MDE3KSAvIDEuMDAzICAwLjg1NyAoMC4wMjApIC8gMS4wMDQNCj4gIDQgIDEuMjM2ICgwLjAyOCkg MS4yMzggKDAuMDU0KSAvIDEuMDAyICAxLjIxNyAoMC4wNTQpIC8gMC45ODUNCj4gIDggIDEuMjA3 ICgwLjExNykgMS4xOTggKDAuMTIyKSAvIDAuOTkzICAxLjE1NSAoMC4xMzgpIC8gMC45NTcNCj4g MTYgIDAuNzU4ICgwLjA1NSkgMS4xMjggKDAuMTE4KSAvIDEuNDg5ICAxLjA2OCAoMC4xMzEpIC8g MS40MDkNCj4gMzIgIDAuNzQzICgwLjAyNykgMS4xNTMgKDAuMDI4KSAvIDEuNTUxICAxLjE0NyAo MC4wMjEpIC8gMS41NDMNCj4gMzYgIDAuNzA4ICgwLjAyNykgMS4xNTAgKDAuMDI0KSAvIDEuNjIz ICAxLjEzNyAoMC4wMjYpIC8gMS42MDUNCj4gNzIgIDAuNjI5ICgwLjAxNikgMS4xMTIgKDAuMDE5 KSAvIDEuNzY3ICAxLjEzNCAoMC4wMTkpIC8gMS44MDINCj4gMTA4ICAwLjYxMCAoMC4wMTIpIDEu MDUzICgwLjAxOCkgLyAxLjcyNSAgMS4xMzAgKDAuMDE3KSAvIDEuODUzDQo+IDE0MiAgMC42MDYg KDAuMDEzKSAxLjAwOCAoMC4wMjApIC8gMS42NjQgIDEuMTEwICgwLjAyMykgLyAxLjgzMw0KPiAN Cj4gRnVydGhlciBjb21tZW50cyBhcmUgd2VsY29tZSBhbmQgYXBwcmVjaWF0ZWQuDQo+IA0KPiBB bGV4IEtvZ2FuICg2KToNCj4gIGxvY2tpbmcvcXNwaW5sb2NrOiBSZW5hbWUgbWNzIGxvY2svdW5s b2NrIG1hY3JvcyBhbmQgbWFrZSB0aGVtIG1vcmUNCj4gICAgZ2VuZXJpYw0KPiAgbG9ja2luZy9x c3BpbmxvY2s6IFJlZmFjdG9yIHRoZSBxc3BpbmxvY2sgc2xvdyBwYXRoDQo+ICBsb2NraW5nL3Fz cGlubG9jazogSW50cm9kdWNlIENOQSBpbnRvIHRoZSBzbG93IHBhdGggb2YgcXNwaW5sb2NrDQo+ ICBsb2NraW5nL3FzcGlubG9jazogSW50cm9kdWNlIHN0YXJ2YXRpb24gYXZvaWRhbmNlIGludG8g Q05BDQo+ICBsb2NraW5nL3FzcGlubG9jazogQXZvaWQgbW92aW5nIGNlcnRhaW4gdGhyZWFkcyBi ZXR3ZWVuIHdhaXRpbmcgcXVldWVzDQo+ICAgIGluIENOQQ0KPiAgbG9ja2luZy9xc3BpbmxvY2s6 IEludHJvZHVjZSB0aGUgc2h1ZmZsZSByZWR1Y3Rpb24gb3B0aW1pemF0aW9uIGludG8NCj4gICAg Q05BDQo+IA0KPiAuLi4vYWRtaW4tZ3VpZGUva2VybmVsLXBhcmFtZXRlcnMudHh0ICAgICAgICAg fCAgMTggKw0KPiBhcmNoL2FybS9pbmNsdWRlL2FzbS9tY3Nfc3BpbmxvY2suaCAgICAgICAgICAg fCAgIDYgKy0NCj4gYXJjaC94ODYvS2NvbmZpZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgIDIwICsNCj4gYXJjaC94ODYvaW5jbHVkZS9hc20vcXNwaW5sb2NrLmggICAgICAgICAgICAg IHwgICA0ICsNCj4gYXJjaC94ODYva2VybmVsL2FsdGVybmF0aXZlLmMgICAgICAgICAgICAgICAg IHwgICA0ICsNCj4gaW5jbHVkZS9hc20tZ2VuZXJpYy9tY3Nfc3BpbmxvY2suaCAgICAgICAgICAg IHwgICA0ICstDQo+IGtlcm5lbC9sb2NraW5nL21jc19zcGlubG9jay5oICAgICAgICAgICAgICAg ICB8ICAyMCArLQ0KPiBrZXJuZWwvbG9ja2luZy9xc3BpbmxvY2suYyAgICAgICAgICAgICAgICAg ICAgfCAgODIgKysrLQ0KPiBrZXJuZWwvbG9ja2luZy9xc3BpbmxvY2tfY25hLmggICAgICAgICAg ICAgICAgfCA0MjUgKysrKysrKysrKysrKysrKysrDQo+IGtlcm5lbC9sb2NraW5nL3FzcGlubG9j a19wYXJhdmlydC5oICAgICAgICAgICB8ICAgMiArLQ0KPiAxMCBmaWxlcyBjaGFuZ2VkLCA1NjIg aW5zZXJ0aW9ucygrKSwgMjMgZGVsZXRpb25zKC0pDQo+IGNyZWF0ZSBtb2RlIDEwMDY0NCBrZXJu ZWwvbG9ja2luZy9xc3BpbmxvY2tfY25hLmgNCj4gDQo+IC0tIA0KPiAyLjI0LjMgKEFwcGxlIEdp dC0xMjgpDQo+IA0KDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3Rz LmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5m by9saW51eC1hcm0ta2VybmVsCg==