From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 61600454DE; Mon, 24 Jun 2024 10:52:33 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 51B274026E; Mon, 24 Jun 2024 10:52:33 +0200 (CEST) Received: from NAM04-MW2-obe.outbound.protection.outlook.com (mail-mw2nam04on2073.outbound.protection.outlook.com [40.107.101.73]) by mails.dpdk.org (Postfix) with ESMTP id C75E64014F for ; Mon, 24 Jun 2024 10:52:31 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=e3ywxTgup9lMSjm2JoyPGUl6i99txj8/YsIBtKFMbMY+sY8+yaFdJuVR60B1NoPzHpBe3prIoNbSSadCoB5MedeWjelNKV07KbtJm+jKOQcq1YMW9ej2ZSuKvFmDtHmaab0VhDeNb+bR+DJYLLlcg6a6BlPA6u6CRHS1UF2BMZgD5R/R1BtVO6q0pJN/afM5ftWNqmxrkRYEI7m8I+jpKGBtYiSX2JgKiATIHlLYxM3KR+ZZhGUv9gQMXsO8XRHZDIlGTTeRYSAqfmXOai26VFa4CPHCWyCwoHoK7Xq/nvua+VOO8HOijZ8WAy9HmfI6Qt/Dk3yO3NRFtzIbwQjqew== 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=SJU6gtjeprvcuTTCpy7ynREtfhfazYzCAwN/QvGqpCM=; b=dC2oEbszcrWt9P3U+HnBH3kNmw9nibK0rDs00wJIhvoz08pPopa6iQQLr++aIXZoqlMTWaF2wa/nsDDaL9ebEhAC2rYuMTMO1pw1450KkjX0/wVHUvIa0o0jkscmXV3YyMqvRZiYSMlmnLGBve7b29uJ9RVkfXdOBRYAI5A9OAt+rU/7Ny9zQBNChnyEN33OeeclzWCiFQ8J0p4SqWO0K2ziiJ//R1YgGoR1h/73b/TxNOJHd0DQvn1AqaiGNr/WulQIAKcmYU26qxgFMgKD9uWEJHW/UWP3E5MDzm2Ffg83KSvDXDSLXmbyxNhOfofEeulkSQuwwTBz5vN/0AjdUQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=SJU6gtjeprvcuTTCpy7ynREtfhfazYzCAwN/QvGqpCM=; b=RoIvwgaYrvYePUg2/CYYGEjgV0WSVZhMkA2YrTciyDYp/1hCD1lfWJ0H5REBhjTYnHy+WwrbQdAOtybFoFiJuHsWV5jwQse6qZs0vKDloCZF1Iaa8yM2CMezjEqKMeJWYi8OP1Mi2ExMQpHItNqqjZIsi17EKhcGpgxke+/BifbbxiBa6et5PhoiXvBb9Ber+Rel49G8MHXB42/eIuWZs0WuorN1SwTvW0R/OkM/pALS1LPDWZdVyHhL7XfizHzYTvtLQrYTlkrUSGnBEApmXbWzTTrkS0WekujzvH6gtRwqV3KEszZOW7UykAI0+qtrkdIY5/8z8o6Krj2IP48fZA== Received: from CO6PR12MB5396.namprd12.prod.outlook.com (2603:10b6:303:139::8) by DM6PR12MB4385.namprd12.prod.outlook.com (2603:10b6:5:2a6::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7698.30; Mon, 24 Jun 2024 08:52:28 +0000 Received: from CO6PR12MB5396.namprd12.prod.outlook.com ([fe80::25bf:da1b:77ac:ed7c]) by CO6PR12MB5396.namprd12.prod.outlook.com ([fe80::25bf:da1b:77ac:ed7c%7]) with mapi id 15.20.7698.025; Mon, 24 Jun 2024 08:52:28 +0000 From: Suanming Mou To: Akhil Goyal , Matan Azrad CC: "dev@dpdk.org" Subject: RE: [EXTERNAL] [PATCH v2 1/2] crypto/mlx5: optimize AES-GCM IPsec operation Thread-Topic: [EXTERNAL] [PATCH v2 1/2] crypto/mlx5: optimize AES-GCM IPsec operation Thread-Index: AQHavfIs3Mx4p6I/E0ifQ+WKXCfqjbHG0hSAgAADKaCAACM6gIAAAQBggAlUxQCAAATjkIAAE1QAgAADgrCABjrdAIAAAMNggAAEFoCAAAIL4A== Date: Mon, 24 Jun 2024 08:52:28 +0000 Message-ID: References: <20240530072413.1602343-1-suanmingm@nvidia.com> <20240614003031.2006131-1-suanmingm@nvidia.com> <20240614003031.2006131-2-suanmingm@nvidia.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CO6PR12MB5396:EE_|DM6PR12MB4385:EE_ x-ms-office365-filtering-correlation-id: d5ab545f-02d5-4bf4-d7a8-08dc942afa3d x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230037|366013|376011|1800799021|38070700015; x-microsoft-antispam-message-info: =?utf-8?B?Z0pTem01V3kzZXFxa3FEaTJ4WTVxSytMaDFIT0hvZjdYWXlUL1pJRDBteE9S?= =?utf-8?B?ekhCbXRqbmgwNTVDTWZYd0c4dmxFVkhxYmhkN2toMVlHTXd6ZjEycnR6NlVs?= =?utf-8?B?UGEyY2dNbFJoaGttVUhvaEtXbVBPdWJtM1JDc3VXT21qRzVtNC9HYVkwVmxz?= =?utf-8?B?TUR2dnNVd0tlRys5aDRrZTc2SWluQ1Q4cUtjam05a1BQOEFZTEp0T0RCR3V1?= =?utf-8?B?YWJxcldWeVJvU0MvYmY0dVFiTmZsWHFlVTVPYnlRNytLSTFjbHdEMFVvMmJv?= =?utf-8?B?S3dMTXVXaUUxL3V4NzJ4M3d4d0h5ekQyK1VWb2xNdXRuOWljNk5pdkNhSFdT?= =?utf-8?B?R1NXOTh6YXgzZ2dhb1VtMEJYQVJaTVdTK0lTQm8rUDdRenUxUW10bXFRaS9I?= =?utf-8?B?Sm1rMnorSnFGdndsRGpTUnVaajlPcEtsTjlSUFFWN2IzVmN6cHczSUZSYVM4?= =?utf-8?B?ZndCYmRXSGtHNko1WE5rVmNrdmNTdzVRWkhGc3VSMTZFTk13cmpsc2w2b2pr?= =?utf-8?B?cFpGclRlNVd4QzJlY2JjVThGVjJPRVZIUCtzUkphT0tlakV4YVVmbDI5M0gr?= =?utf-8?B?S3lydzhKSjVOMnM2ME10MCsvL3BpVk5UOXIzVnRqZlg4eDJZcHRCNVZOczlv?= =?utf-8?B?TWcxcDZMaXBjS2tMV0ZpbCtpM3NqZmlva0JLYWp2V1FJWFhjVGsyVWxYbzdB?= =?utf-8?B?empDZVRWVFdqZ0dsUUZJYkdYeVpsS2k4cThNZ1hvR0xrOE9jWmtIYUFZbDZD?= =?utf-8?B?Nm5sWEN3WVNlSG8wem9qNWVIakJ3MVlvbEVqZWRWMkJUd1hMWE5PTXhkb0V5?= =?utf-8?B?SXhZWlMwenpNay8xWEtvdkRIYmZDR2tzME1FSlhoYXlDZm9wN0hYOFk0VzNu?= =?utf-8?B?enR3Rllabm9lWTJROEs2cDdpanh0T3MxNDB3YkpRL0JIYmZSS003NzBleS9o?= =?utf-8?B?RkNkRno5WmZTOGdiS2JBT3BuY0xxV0cvaUR1M2k2eVU3djAraW5mL3RaSHFz?= =?utf-8?B?QmExR0xKcTdaYzZud1RSRXdjeGVWM3RaTVpzUW5IQW93eEV3dnJSS29NRzRy?= =?utf-8?B?ZVFKR3ZGajdBbUphQ0xWWkpJdC94RFBveDlxcnFoZ00yMHljcHF4QloyU0hU?= =?utf-8?B?cGtkd0FheE5MNGU4M3pGa3NWQWZLQjRUWUJaZzYrSm9hemZKYklRbDNva25v?= =?utf-8?B?YldmUm1uYVl5NkJzUlJ2QzM1WWFPbWtHYXJkR1BnWEVnWTlhUlRtMzVRdFp2?= =?utf-8?B?YVlzczBRdWJFTmdXUjdEbnZpN0lCc2JFVk40OFhsS005c0trN2N2cWhxZUV6?= =?utf-8?B?SEJTL0tyQ1Y1aGRjQm9IbmRMa0pBVHh0L1lZbGhEOUR1MUQyRENzOFdtdk1Q?= =?utf-8?B?aDVHdjNxNWZTS3lHdHVVTXo5V1N1YWVQU1lpOHcyejBMcWlGMzZ1eThGb3o3?= =?utf-8?B?bDlPNjlZWVlZMHJ5SVpBQS9uSEp1MlpoMkcwTnNYM3p5MmQxVG11OVZNeDhZ?= =?utf-8?B?b1dZcHUyZ2ZaeUdDZUJJMmpCSnVOWnc1MXYzWkJiU2dVODlUQXo5OXF3Ri9Y?= =?utf-8?B?NC95TktUazMwMHI0VHBuNlBPM2JGY29VK1RRbkhQWmtESVJKaEMwbVlHcWV0?= =?utf-8?B?QkNBbnZyMDlVckFmcEgwOC9GS1RGcC9CQkpVczBIZW4vTTJFWkhXRnlnREp6?= =?utf-8?B?SjZ0a0RURjlyL0dLdmhjQ1p1S2VhTXk1WDIwTVQxa21mTitzbnZ5L2psRXl4?= =?utf-8?B?Ri9GVTZ2anpUOW5rcTRxSGp6aHIvMkFxZytadGVuak5PRHFSUnp3aHI5TXVw?= =?utf-8?Q?MySVELqgxhzDiiq1itLVJ40uhmPUZ76MIFHrA=3D?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CO6PR12MB5396.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230037)(366013)(376011)(1800799021)(38070700015); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?NG00dmJnVjlIYlh5cTM4MVVaYlZmWGl5aFJpcDhvNGhOdFZQTmVJOU1VMzdL?= =?utf-8?B?V21GaTRKUHRHUVRnd2tSd1Z6VCttTGdVNTRaTmpMSFNJZnc0bk01d3ZUT1pN?= =?utf-8?B?bUJPZ1hhM1ZVTlVRaU5yKzRjQTRndStVazVDcWRuZGRXa3R2SVJpanRjUngx?= =?utf-8?B?QlhIbDFZYmtwdC9sT1dvb1NrbytZbXBRTnh5L2VCa3RhbWRKSDVBZFErQ3Jw?= =?utf-8?B?akZjSGkyWXJwZ3JCZkxyQXFIU094YVBJbHFkZU9sNitTNjRRcW95RlBRbE1m?= =?utf-8?B?YU5DVzVOTWhQYTNZZk9oc0NJSytlNGxFdVJBS053Qm4wNlU5dlZraGFzYnkr?= =?utf-8?B?YVkzNWp6bm9xc1l4UjdlYW91bmUrWWtVVTNaQUhLNzVNTkF6QmlxY0RHYUwy?= =?utf-8?B?TVpLdTBSaFgzZWdNdEV1QU5BMjg4ZXcrbEc5dUU5RjZ4aGRTRXFRMFNIVUNB?= =?utf-8?B?TE9KNTB6YjVrdzJTVkwrSWVpdXZtWjJxdUdBM0RTZjNMVVRRU2pXMEw3U2tY?= =?utf-8?B?UGJnQlJkb3FwalRYTnRKeHVuR3paMkpPR0hlZjhUazdhak5HTmlVQ3BaVExZ?= =?utf-8?B?YzVDRnJ1a0NDY1dwUWpSRndPcnIxUjA0dC8vOXRnNmo2aXU2SnpNaEx5TjRa?= =?utf-8?B?RDBsbzZPK0Mxd1Y2QjNrbFpNSUUxZVQvK3lJaHo1eFhqb241VVI3dG1hejM1?= =?utf-8?B?cDlxVEk2c0xWdU50MUVzalNyUHE0dnNaeURwZmo5Tm8vTWw3aEFnamF1WGRV?= =?utf-8?B?ZlRVQVpqVUNBenRyUEhFZ3FPTE04Q2RRRkdFVlJVZUV1UmJEWFZCc2VmL3dz?= =?utf-8?B?UkIzODZxY2dtQUYwSlE1UUhnSEV0c1pXZHZvaDV4OGtBcUxzMHhjdThiM2hS?= =?utf-8?B?dldNSVRtRlcrQXV1c0gwdTdIRVU5U2RkNXY2SFBMdmltUVBqNElJeWo1cnh4?= =?utf-8?B?UjlINHJHWGVQbkdkTnNRU0RYWHNzQmpQSUdROGRrNmZubTdnSjdXeWZpR2Rk?= =?utf-8?B?dzZIMVcyN3ZaUm5tc3dFWnRGY2d3NDA4Ynl0RXpxQTF5UitiRzFGdkp4dUZM?= =?utf-8?B?TnJOODl3RU9UNmt6U0xIT2wralNRVnM2TnhLS0xCOEhvOWl0ekh6aU5QWTAz?= =?utf-8?B?dmRZTWFSSW55U0NFL3VhQWRNbmhQa0NSVFhOUnVGby9tc2NMTy9VZkZkZC84?= =?utf-8?B?anovZS9OSVJrMXltdGROTnpORmJETjhoUnErNFI0bk5SbUx3SG9aYnZ0QW9L?= =?utf-8?B?YjNLZkRUeUQzeXFIbHh1WUdsTGxORFh1enFBTFhOTHRrR2FtVUxnV04zNWNm?= =?utf-8?B?eUE5aEtXNm5FdzJJVFJjZFpxS09Bb1UvQWxRTXR6Skw3UzRzTDFscitiQ3p4?= =?utf-8?B?R3dmbkVwZmwwVUZiMDlsVTZFaWZIdXpoandKV3JRcG5wRTREMkY3K3F0bE9w?= =?utf-8?B?RDdaTWQ0Y05kSTZVY1AwZjI1eFhoUko3UURwZlZ6N0wyQUxwN2xXNnJubzhR?= =?utf-8?B?YmJ6Z2JLdGhrOU5nNHVjZXplbTl2WitVdERoclFSaEdPZ1JZelhrYW1XQ2c2?= =?utf-8?B?RHJTZ1Mrb01FUFMxeFpVODQrNkNtVEdlNEZhdTFvTUtxSjZYWmQ3elpKWFVJ?= =?utf-8?B?OURlN2dhcWgzNysycXYxRTV5bjRCTmFpU0FQaDAyeEEwNW9PcW90VFM0TFhL?= =?utf-8?B?Y2ZTa09vc2NVNFZqUGNDUjNtZzdnNTdjbHkvc3lnUkhDa29WaE9KZGxMdDRk?= =?utf-8?B?QVptS3E0clFPMVVZVXdCMjI3TnN6OWpNblJEOUs3SmE5NnJsYjY2YWFXcTRy?= =?utf-8?B?VlpLUHJsQ2x2TlVRWm05UXh3N3RhZnpuMGthUjJxRnJ1ZWZKemFEaWZ2T0pL?= =?utf-8?B?WmxLbVJCVEIwc2ZpTHlQczNjLzgwcGRxRFIwU01hYnU0MlRVL2k0bnlKbGZs?= =?utf-8?B?YnJRYjA5SkhaNTA0N2JqdUlMbjAwRUdWVUVNV2FXUXBNNmxnWHp3bnFSMTJD?= =?utf-8?B?SlozbFJod1JWKzdHYk84Nll3YUhYYXlMSDVQRWZQZlMxdWdHMEVPSE90WEhL?= =?utf-8?B?ejJpUGZnOEo3K0w3YzR4czNWWlBuV0x0aENXa3lSODNEMTFNVFR4SDhIem5R?= =?utf-8?Q?hjQFaGwifS7wb8lWwWBnpRIfy?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO6PR12MB5396.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d5ab545f-02d5-4bf4-d7a8-08dc942afa3d X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Jun 2024 08:52:28.7463 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: DTpwfTAEFE6ESxziU9fWE/nhxAcuuDYAkjPck7wmE4Tq7RxrKa2wpZRz3KOneRz1GH6VqdLx/yhMUpDEVnF48w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4385 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogQWtoaWwgR295YWwgPGdh a2hpbEBtYXJ2ZWxsLmNvbT4NCj4gU2VudDogTW9uZGF5LCBKdW5lIDI0LCAyMDI0IDQ6NDUgUE0N Cj4gVG86IFN1YW5taW5nIE1vdSA8c3Vhbm1pbmdtQG52aWRpYS5jb20+OyBNYXRhbiBBenJhZA0K PiA8bWF0YW5AbnZpZGlhLmNvbT4NCj4gQ2M6IGRldkBkcGRrLm9yZw0KPiBTdWJqZWN0OiBSRTog W0VYVEVSTkFMXSBbUEFUQ0ggdjIgMS8yXSBjcnlwdG8vbWx4NTogb3B0aW1pemUgQUVTLUdDTQ0K PiBJUHNlYyBvcGVyYXRpb24NCj4gDQo+ID4gPiBTdWJqZWN0OiBSRTogW0VYVEVSTkFMXSBbUEFU Q0ggdjIgMS8yXSBjcnlwdG8vbWx4NTogb3B0aW1pemUgQUVTLUdDTQ0KPiA+ID4gSVBzZWMgb3Bl cmF0aW9uDQo+ID4gPg0KPiA+ID4gPiBKdXN0IHRvIGJlIG1vcmUgYWNjdXJhdGUsIGluIGZhY3Qg b3VyIGN1cnJlbnQgUE1EIGhhcyBzdXBwb3J0ZWQNCj4gPiA+ID4gSVBzZWMgYWxyZWFkeSB2aWEg VU1SJ3Mgd2F5LiBUaGlzIHNlcmllcyBpcyBhbiBvcHRpbWl6YXRpb24sIG5vdA0KPiA+ID4gPiBu ZXdseSBzdXBwb3J0aW5nIElQc2VjLCBidXQgdG8gb3B0aW1pemUgdGhlIElQc2VjIGlucHV0IGNh c2UuDQo+ID4gPiA+IEFuZCBsaWtlIEkgcmVwbGllZCBhYm92ZSwgaXQgaXMgbm90IHRoZSBwYXRj aGVzIGludml0ZXMgdGhlIGxheW91dA0KPiA+ID4gPiBhbmQgcmVxdWlyZSB1c2VyIHRvIGhhdmUg c3VjaCBidWZmZXJzLCBidXQgdGhlIHRydXRoIGlzIHdlIHdhbnQgdG8NCj4gPiA+ID4gYmV0dGVy IHNlcnZlIHRoZSBJUHNlYyBpbnB1dCBjb21lIHdpdGggdGhhdCBsYXlvdXQgY2FzZSBpbiB0aGUN Cj4gPiA+ID4gcmVhbCB3b3JsZCBhcyBBUEkNCj4gPiA+IGRvZXMgbm90IHJlamVjdCB0aGF0IElQ c2VjIGlucHV0Lg0KPiA+ID4NCj4gPiA+IE9rIGdvdCBpdC4NCj4gPiA+DQo+ID4gPiBCdXQgaWYg d2Ugc2V0IHRoZSBkZXZhcmcgZm9yIGEgbWx4NSBkZXZpY2UsIGl0IHdpbGwgYmUgYSBoaW50IHRv IHRoZQ0KPiA+ID4gUE1EIGZvciBhbGwgdGhlIGZsb3dzIHRoYXQgaXQgd2lsbCBwcm9jZXNzLiBS aWdodD8NCj4gPg0KPiA+IFllcywgcmlnaHQuIElmIHRoZSBkZXZhcmcgaXMgc2V0LCBtZWFucyB1 c2VyIGtub3dzIGhlIG9ubHkgaGFzIHRoYXQNCj4gPiBJUHNlYyBpbnB1dHMgZm9yIGFsbCB0aGUg Zmxvd3MuDQo+ID4gSWYgbm90LCB1c2VyIHdpbGwgbm90IHNldCB0aGF0IGRldmFyZy4NCj4gPg0K PiA+ID4NCj4gPiA+IEFuZCB0aGVyZSBtYXkgYmUgYW4gYXBwbGljYXRpb24gdXNlIGNhc2Ugd2hl cmUgaXQgaGFzIDIgc2VwYXJhdGUNCj4gPiA+IGZsb3dzIHNpbXVsdGFuZW91c2x5IC0gSVBzZWMg YW5kIG5vbi1JUHNlYy4NCj4gPiA+DQo+ID4gPiBUaGVuIGhvdyB3b3VsZCBQTUQgaGFuZGxlIHRo YXQ/DQo+ID4gPiBXaWxsIGl0IGFzc3VtZSBjb250aWd1b3VzIG1lbW9yeSBmb3Igbm9uLUlQc2Vj IGNhc2UgYXMgd2VsbD8NCj4gPiA+IEhvdyB3aWxsIFBNRCBpZGVudGlmeSBiZXR3ZWVuIElQc2Vj IGFuZCBub24tSVBzZWMgY2FzZT8NCj4gPg0KPiA+IEluIHRoYXQgY2FzZSwgdXNlciB3aWxsIG5v dCBzZXQgdGhlIGRldmFyZywgUE1EIHdpbGwgYWx3YXlzIHVzZSBVTVINCj4gPiBXUUUgdG8gYnVp bGQgY29udGlndW91cyBtZW1vcnkgYWRkcmVzcyBzcGFjZSBmb3IgSFcuIE5vIG1hdHRlciBpdCBp cw0KPiBJUHNlYyBvciBub24tSVBzZWMuDQo+ID4NCj4gPiBCYWNrZ3JvdW5kOiBVTVIgV1FFIGlz IGEgcG93ZXJmdWwgV1FFIGNhbiBnZW5lcmF0ZSBuZXcgY29udGlndW91cw0KPiBuZXcNCj4gPiBh ZGRyZXNzIHNwYWNlIHdpdGggc2V2ZXJhbCBpbnB1dHMuIGUuZy46DQo+ID4gSWYgd2UgaGF2ZSAz IG5vbi1jb250aWd1b3VzIGlucHV0cyBhZGRyX2EsIGFkZHJfYiwgYWRkcl9jLCBVTVIgV1FFIGNh bg0KPiA+IGdlbmVyYXRlIGEgbmV3IGFkZHJfZCB3aXRoIHRoZXNlIDMgbWVtb3J5IGFkZHJlc3Mg c3BhY2UgY29tYmluZWQuDQo+ID4gVGhlIG9ubHkgZGlzYWR2YW50YWdlIGlzIHRoYXQgVU1SIFdR RSBpcyBhIGJpdCBoZWF2eSBmb3IgdXNpbmcgaW4gdGhlDQo+ID4gc2ltcGxlIElQc2VjIGNhc2Uu IFNvIHdlIGFkZCB0aGF0IHNtYWxsIG9wdGltaXphdGlvbiBpZiB1c2VyIG9ubHkgdXNlIElQc2Vj DQo+IGFzIGlucHV0cy4NCj4gPg0KPiBJIGRvIG5vdCBzZWUgdGhpcyBsaW1pdGF0aW9uIGFkZGVk IGluIHRoZSBkb2N1bWVudGF0aW9uIG9mIHRoZSBkZXZhcmcvIFBNRC4NCj4gDQo+IFBsZWFzZSB1 cGRhdGUgZG9jdW1lbnRhdGlvbiB0byByZW1vdmUgdGhpcyBjb25mdXNpb24uDQoNClN1cmUsIHdp bGwgdXBkYXRlLg0K