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 796CF454DE; Mon, 24 Jun 2024 10:41:13 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4B4494026E; Mon, 24 Jun 2024 10:41:13 +0200 (CEST) Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2074.outbound.protection.outlook.com [40.107.243.74]) by mails.dpdk.org (Postfix) with ESMTP id 489F54014F for ; Mon, 24 Jun 2024 10:41:11 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jBpt1k7bWx8niFvat9jQDyxGody8DMrGR1saWA+2oQBfOaJ0BzZjQShCu/MEqe+IG8/b2+Bu6mBJVzFMxJHtdS5of5BIahnsDHeFCUMEaba18+bgqve3X/LRVmzl+fPjVd7SOxg0Ofh68p/qii/sJn7jL6J+GPNumiPz1G1IFlKEN/eKSwzv7MKoDDaJPTLuuLpqcOcjo8zpKlCZQ0N/uShfOajKa3qHHH1pn2oCP8vrbQIUGxOzQpGp/z3mcNf+8MwWFCQ+cpYmxYBXm/uiGH1eDP3CCfbxAcSxY6MR5+5UYfhVTF6TP4QjKX8qi80ulS4iadqkxURN9sPS/UhPfQ== 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=XGx7TQmJJhIz1zMJoIxgKa61vlro8wfSbAnvXwbRymQ=; b=RSNk7Vrf9POxIkLkb1MZ+2AuEXjqpg0PgMrfMlVkDgXrYsZTZ1ZkJvl4fKsZRE+Z+usljFBjji7eEb4d21AfWrLsNkqoRkyZ8GM/JMvS6YtZBI3PyqRglHKu+VYeUvL9kS/KaZsFJJRsrSc4yvxrmmTuj6QhysuO/ppL1d4yk/o97Ud7LkobIWwLfImzxlvOi6JSbOfkMoruR4eTUSOfodUPlqFt/tBoY9P8IDjUSdBvwyw467MxG34scor8/tTZ/UcwREvYsySM9gJTUlvUdNisxfDF7pguSknZ8qpPM3fNkM5vZM6qBIDtqqcDFgJ7Yawn5NNte9dG943+Fmsqsw== 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=XGx7TQmJJhIz1zMJoIxgKa61vlro8wfSbAnvXwbRymQ=; b=N1NoeFAqlEqxdD0jeMV5+W6plZc2dr8mPcQQD/e2Wr0ZgR+PNvPjnl8uSUD4noLWtGjh1MyDpVIOWzlz5tSNZ0XVUgJAmrLSLJWcoB78LDD6rKmMqL7ivsHoXnDxy0KA3VeiTruBDUQhLtVaEJYbzWjv0ssyPvdsAikdmwIzwTt11D3EEgoTq3eDLc7I9U1szm2OXvzarStRfNT3NHmtaAGVJvTkn5wxqUToKP3PXgoVuZ6hOneYXyX2swPS4tTC0o9Q8OZ/9VfK+vA9WLTRtWMEWsYKwglCywzhFEnT/Jo6uStT9EfB13ntJzhqMJmzqh549542IwckvtngcpJLYw== Received: from CO6PR12MB5396.namprd12.prod.outlook.com (2603:10b6:303:139::8) by DM4PR12MB6398.namprd12.prod.outlook.com (2603:10b6:8:b5::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7698.28; Mon, 24 Jun 2024 08:41:08 +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:41:08 +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+WKXCfqjbHG0hSAgAADKaCAACM6gIAAAQBggAlUxQCAAATjkIAAE1QAgAADgrCABjrdAIAAAMNg Date: Mon, 24 Jun 2024 08:41:08 +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_|DM4PR12MB6398:EE_ x-ms-office365-filtering-correlation-id: 1c29d00b-6631-4a89-33d2-08dc9429649b x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230037|376011|1800799021|366013|38070700015; x-microsoft-antispam-message-info: =?utf-8?B?R1l1cjAzS1owQlVGZ1hsL250bnFmSk0yZnYyc01ZSnJDMVBzRVFzTEZ1cTdX?= =?utf-8?B?UTFlM0ZtQUlmT1Z1RGRhTVF2d0x6M2Y5b2cwVVZUNEdkMWh3cE94WmxQOG9n?= =?utf-8?B?eTB1d1B0THJtb3REWGoxN2dPNkw4NENuQmt3WW9JSzd2dDJPTnk2VDk1TFo5?= =?utf-8?B?S3V5UC9CVzlLVWtSYUpqeUVSNkFqTTlobkc4VE5KY0RyelhYcWJWZ1FNMEcy?= =?utf-8?B?SWpFN1owc3FXVnpqRFJKWkRaRG5tSE9lZngvTlQ3Sm9icXRxdmdHZHhGZFJn?= =?utf-8?B?MnZOUGl4U09Gc3ppcEtjZEtnYm02d3JFVzVGOUxuWWI5YWtLV1B1UUgzaldI?= =?utf-8?B?R3A2Q3IwNlRXU1o4QTkwV0tRQWZ6YjU1c1hRdDFGOC9Sam4zbUxRQUZqWVdz?= =?utf-8?B?QTQzTFQ0MjNwVVpBZzRtWldUU0FrSGpZVXhFSE83M3NVVTA3UVpFclJnN3Bz?= =?utf-8?B?WDVCdEIram1xVU5WL28wcmtqbUlkd1BwUnI1cWxIcXF3eHpkYWYyYnlacDAr?= =?utf-8?B?Qmw0LzQzSFZKeitTMmcwTDRSTitFRkpERDlERjZJOWd3R2tKV1RUY1cxcWF1?= =?utf-8?B?cEFJcVlZaVB5SVkxaGp2b21MbmF6bEZQY1dGMUxaajNiWkdNNjJLcnJaalV5?= =?utf-8?B?bFEzS29QSnp2Q3Z0NDRWTXBMQ0MyOW1pNTdyMGlKSHNRWkMvZGs4K2RERWVS?= =?utf-8?B?RDlId2hTbW1CbUpmdVNmdVJLSlg0Q0F2VVdRbHIyQkJSbXV0UzJzOTY0bWFR?= =?utf-8?B?K3RnQTJDaldzMDdzRCtlTFR1c3hoN1YyYzdKWFNSR0M0WUVCakdwMW9WeFB4?= =?utf-8?B?MmFkY0gyMG1jYTF4UTU0cldRTThOTm5PTmhxeG45d1VCQm9qaEpMd213L29O?= =?utf-8?B?bjQ5ZG5VM2E0REV2WFJpbDYyTEF4TktNOWRuV3c4N1NBaStrUnhIWG55NFhB?= =?utf-8?B?Wnowb1l4UTNqTE9uZ2c4dGN4MlljREZtbVorZHVBaktlRmZiSzFKN3Qzdy9r?= =?utf-8?B?elRacU1wVEphTTlpamtadnVKZmthT3ZDNXljbU5XeVlyc3grK29Jb2w3b0ZS?= =?utf-8?B?V3R5cm9MYysvME5DQ2lTSE54NExmVEVsQnNjcHlReUJxV0U3RW5JRGRab1Zk?= =?utf-8?B?WGhYVGtlNXRVOHp4OGtLeU1mczdTWTQ2QTd2UkgrNCsvam50QTVqQitPbVN4?= =?utf-8?B?OHVvQWh0TFhyd3FYTkhkcGl5STJNVEkvRyswMEdXaHJRK05xdHAzQ2JDSXFu?= =?utf-8?B?OXBVU2FTeFhlU29hQ29KSGRzSzJBdjFRUnRjWTk1RzRnTmpzM1BReXBDckRD?= =?utf-8?B?d2dISVpLOVRkbXlyZDdEZ0dkVkRYUHRXemFTbTFGdEJlbTlTcTlBTlNSMGgz?= =?utf-8?B?bVN5TU9VZmdseXIxaDBnT2szYi91NlBQaGo1dytja1JscUtidWJxRDMyaFFv?= =?utf-8?B?U2V3S0dXcm9CTlRwVWNXWU5qNTVDMUdQMzJhWEdjWlE0bHNjSGpUNU53c1ZS?= =?utf-8?B?ajBTRytoQk5KbFlrWjV4NlNCZ2IwTEtwbGk1bVI3YksvcUkrUS8rZVRvTEta?= =?utf-8?B?YW9OZGZUK3dPcDE2N20xVm4wME9UR25tTFBDODUyWmhubnJUcWIvaFZjZ2U2?= =?utf-8?B?NUp2eVhyMFl0cU82R29JWFA3dlNjd2hYVFBQTzlvNU5zNkwzT2VobDRudHJt?= =?utf-8?B?K3RxVlY5YmxkTitUcTNkeS9wdktrL0FEenRzTGhkcmc1ZDRDL3J6bm1nNjE5?= =?utf-8?B?OVFjekxtbTcxd2xtMVM5aDFDUGx2emQxV3RlRDlWV1YzV3dGU2RUOGpSOFpo?= =?utf-8?Q?N9W0Oe6Kbiw0YlIUC93DXiY7/PkZa8LYV38qY=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)(376011)(1800799021)(366013)(38070700015); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?RzJtRHJNUlE1SWZMMGQvV3h6OEpEbUZpeStwcEVkWEhmcWxQKzBZWXZKSHhi?= =?utf-8?B?SzlFR09OUG51TDFpVG1nVUdGMmM3eWhtbzRkMlhUa0V1aFBzMEVhRmRCeXZs?= =?utf-8?B?aDJWWDlTWDg5MUx0WU5TbXRrVEJsRDN2YzNFd0hheG1weE5FQnNLeGZHVGF6?= =?utf-8?B?SW96aHgrbDJJRmkwZFRwOStzYUpDNzhKenpxNVVNdG9SdGpWa3k1akpYM3hS?= =?utf-8?B?VjR2NW9IYkl4cUYyQ2gzOHlHYjl6NTljcHZlRWJudDd2ajJ1SlhKYjhMc0xN?= =?utf-8?B?bkh0VlhlWXBmVXA3YjFKZUdlVXYrbnYzdUxvWmJaSGEzb0VSOFVaeHRNd0NQ?= =?utf-8?B?ZkRpOTdwZnY5MjFkdStuQjUvMytFNlpSZkV4UUppQng4UU94SXBQYUZyM1pQ?= =?utf-8?B?TUd2MkhabEJFQWJnU2h3b3B3OXZ2UVNRTVJCdSt4YlN1RDZqbWxUVGV3MitY?= =?utf-8?B?Kzl6cDdMZ1VPWHF4QnAvZit5QWdDRlNxNDEzVEE3MXp2VHJCV01EYlRORmcw?= =?utf-8?B?U0tHOTRKeTVJZzRoQ3RiaWhmOHdzR1RNMm44QTR0dUtJcFZkYVhoekV3YVFL?= =?utf-8?B?dlJHeWkxaHZobjB1aGVBSFg5UVZiWkNpcWQydkxwT3JwQXVKNUV1RTByNWxl?= =?utf-8?B?Q3FhWmVuSkV4YXRMRklWWVE3bjV2UElpdUgrMGM4UUU5MSt5NjV5MmlXZTNo?= =?utf-8?B?TjltNEYxZllieUFKN1phVXVTZVhjeTVwcGZMRDVEcnBmc2NtQlc5Q3doQ1RM?= =?utf-8?B?MjBVb25zY3JRcStzekZtYW5LY3k0ZGl4Qmhxck4yaWxBWG03cnEyQTR3U0xM?= =?utf-8?B?cUNoUVdzTSsyc2tPRUZVLzhyd1lXRnBOSHJmc3ovS0YwN21Tdks0RnBmUFQ1?= =?utf-8?B?WE0xVm4zSk1od2R4d09rY2t2a2F6akpPUEV2M1JNWElqWmx0ai9Mc05wK25C?= =?utf-8?B?NHZ6Rm1hU3NRSmtVSm1RTlFNZktrOHpraDZuZmRhMzZPaDhkU0sxSXhtTmFJ?= =?utf-8?B?T3ovZFNEa2hsY2lacE9VQUhIU0hpaXVGdklJNkFTTE1DS3BUZTZqR1NRVWg3?= =?utf-8?B?QkJBc3F5aVlRNXg2dmFnT3NwNkRqZ2xPVmZWdUsvTkU0TWlRV1BxaGtpNTZ1?= =?utf-8?B?bFZMTS9MbE9TTy9LL2srUlNhVzhwOVFKNnBPakxvMSs0cGx2N0Z5ZTZ3TThx?= =?utf-8?B?Z0xmeDJyTTllUkxyOEZNWFQ2b05rdmJzTE90U1VvTnpFeCs2M0NQNkMwcFNn?= =?utf-8?B?V29WMFRQZ1FMSC9uQlQyZ0ZOeUJWRG1XdFdxUzJ0Sy81UnZweTdnWTJlLzBY?= =?utf-8?B?UEJuV3FkUExwb21WcmJtWVNZOHhkc3FEekFXZFc0eEZsRThTMEh5bmxFUEpM?= =?utf-8?B?QkxJZE9TYmhTTmQ4NGlVWTgwTU1TVEEySkQyNGp1U1BrVS9VNWV6WkdQczJQ?= =?utf-8?B?USsvYmM0cXJ2T3Z0QTRuNzNtZVRMODh1K2ZKRHhqZ25nSDJyQ1lHVFJOK1BT?= =?utf-8?B?L2RrQkM4ZWYyVXY3QXVidUxqellSeU5ONVQ3NGNEZ0M3WHc1TU5mbHgveS9y?= =?utf-8?B?UWN2UU1zUkRKU0VaUlFVN3ZmOUliQVgxWFJkdWtFc2VndGhFZ2sxUy9LRnkz?= =?utf-8?B?ZXdhNy9UUWh4RndiejFHRXJ2K2M3WVpnVC9GQnRBMDFUWDU1TFVmZ0ZBblVZ?= =?utf-8?B?eC9oeUxzODdETmJIMTBGRS84cTNDY3BJRGc5Y0tNQ1greE95NEdIc0JOL3VC?= =?utf-8?B?c0tWSG0vSDNRckpobENVdUg0UnAvMVhwVGVKZkFaS0pndllOUzZsN1VraWh1?= =?utf-8?B?UXlxN1ZrRUh1d2E0NjJSRW9ZRFQzb0kzRjNEbGpTdy9wNXJkSk5TajllTkZL?= =?utf-8?B?Qmw5dmx0ajlubHZ6NUdhOVcrS0tudFY4QUNMMkJIdGZaVU9ocHd0Z0ZaMitz?= =?utf-8?B?a0J6N2hKRGF4SEswR0pYSXkzQ2ttZzFQNjAxaFJ2Y3I1MWhNNExKRktJSm4r?= =?utf-8?B?cnIwTGpEbE5ONW1KcnlTVXl4dmF1UEUzYnZZMTZkTGsrMjhtZVpmSnoyYjhi?= =?utf-8?B?eVFnM1ZDSzhIL3hmakM2ZklrOU02V29COThISjJaVGRZcjI0a0c3dHJrN1BM?= =?utf-8?Q?+6Gx/hc7Ia8ynK5nnnhMICqph?= 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: 1c29d00b-6631-4a89-33d2-08dc9429649b X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Jun 2024 08:41:08.2076 (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: zWWLa0mbABJ38KrtfH4T9x4fN98BDuC4WTdavOkc3/43vf5Ufu0TdTtXbrnnvwT7pNr8l/RxgAEy3jLOBBWPRA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6398 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 a2hpbEBtYXJ2ZWxsLmNvbT4NCj4gU2VudDogTW9uZGF5LCBKdW5lIDI0LCAyMDI0IDQ6MjggUE0N Cj4gVG86IFN1YW5taW5nIE1vdSA8c3Vhbm1pbmdtQG52aWRpYS5jb20+OyBNYXRhbiBBenJhZA0K PiA8bWF0YW5AbnZpZGlhLmNvbT4NCj4gQ2M6IGRldkBkcGRrLm9yZw0KPiBTdWJqZWN0OiBSRTog W0VYVEVSTkFMXSBbUEFUQ0ggdjIgMS8yXSBjcnlwdG8vbWx4NTogb3B0aW1pemUgQUVTLUdDTQ0K PiBJUHNlYyBvcGVyYXRpb24NCj4gDQo+ID4gSnVzdCB0byBiZSBtb3JlIGFjY3VyYXRlLCBpbiBm YWN0IG91ciBjdXJyZW50IFBNRCBoYXMgc3VwcG9ydGVkIElQc2VjDQo+ID4gYWxyZWFkeSB2aWEg VU1SJ3Mgd2F5LiBUaGlzIHNlcmllcyBpcyBhbiBvcHRpbWl6YXRpb24sIG5vdCBuZXdseQ0KPiA+ IHN1cHBvcnRpbmcgSVBzZWMsIGJ1dCB0byBvcHRpbWl6ZSB0aGUgSVBzZWMgaW5wdXQgY2FzZS4N Cj4gPiBBbmQgbGlrZSBJIHJlcGxpZWQgYWJvdmUsIGl0IGlzIG5vdCB0aGUgcGF0Y2hlcyBpbnZp dGVzIHRoZSBsYXlvdXQgYW5kDQo+ID4gcmVxdWlyZSB1c2VyIHRvIGhhdmUgc3VjaCBidWZmZXJz LCBidXQgdGhlIHRydXRoIGlzIHdlIHdhbnQgdG8gYmV0dGVyDQo+ID4gc2VydmUgdGhlIElQc2Vj IGlucHV0IGNvbWUgd2l0aCB0aGF0IGxheW91dCBjYXNlIGluIHRoZSByZWFsIHdvcmxkIGFzIEFQ SQ0KPiBkb2VzIG5vdCByZWplY3QgdGhhdCBJUHNlYyBpbnB1dC4NCj4gDQo+IE9rIGdvdCBpdC4N Cj4gDQo+IEJ1dCBpZiB3ZSBzZXQgdGhlIGRldmFyZyBmb3IgYSBtbHg1IGRldmljZSwgaXQgd2ls bCBiZSBhIGhpbnQgdG8gdGhlIFBNRCBmb3IgYWxsDQo+IHRoZSBmbG93cyB0aGF0IGl0IHdpbGwg cHJvY2Vzcy4gUmlnaHQ/DQoNClllcywgcmlnaHQuIElmIHRoZSBkZXZhcmcgaXMgc2V0LCBtZWFu cyB1c2VyIGtub3dzIGhlIG9ubHkgaGFzIHRoYXQgSVBzZWMgaW5wdXRzIGZvciBhbGwgdGhlIGZs b3dzLg0KSWYgbm90LCB1c2VyIHdpbGwgbm90IHNldCB0aGF0IGRldmFyZy4gDQoNCj4gDQo+IEFu ZCB0aGVyZSBtYXkgYmUgYW4gYXBwbGljYXRpb24gdXNlIGNhc2Ugd2hlcmUgaXQgaGFzIDIgc2Vw YXJhdGUgZmxvd3MNCj4gc2ltdWx0YW5lb3VzbHkgLSBJUHNlYyBhbmQgbm9uLUlQc2VjLg0KPiAN Cj4gVGhlbiBob3cgd291bGQgUE1EIGhhbmRsZSB0aGF0Pw0KPiBXaWxsIGl0IGFzc3VtZSBjb250 aWd1b3VzIG1lbW9yeSBmb3Igbm9uLUlQc2VjIGNhc2UgYXMgd2VsbD8NCj4gSG93IHdpbGwgUE1E IGlkZW50aWZ5IGJldHdlZW4gSVBzZWMgYW5kIG5vbi1JUHNlYyBjYXNlPw0KDQpJbiB0aGF0IGNh c2UsIHVzZXIgd2lsbCBub3Qgc2V0IHRoZSBkZXZhcmcsIFBNRCB3aWxsIGFsd2F5cyB1c2UgVU1S IFdRRSB0byBidWlsZCBjb250aWd1b3VzIG1lbW9yeSBhZGRyZXNzIHNwYWNlIGZvciBIVy4gTm8g bWF0dGVyIGl0IGlzIElQc2VjIG9yIG5vbi1JUHNlYy4NCg0KQmFja2dyb3VuZDogVU1SIFdRRSBp cyBhIHBvd2VyZnVsIFdRRSBjYW4gZ2VuZXJhdGUgbmV3IGNvbnRpZ3VvdXMgbmV3IGFkZHJlc3Mg c3BhY2Ugd2l0aCBzZXZlcmFsIGlucHV0cy4gZS5nLjoNCklmIHdlIGhhdmUgMyBub24tY29udGln dW91cyBpbnB1dHMgYWRkcl9hLCBhZGRyX2IsIGFkZHJfYywgVU1SIFdRRSBjYW4gZ2VuZXJhdGUg YSBuZXcgYWRkcl9kIHdpdGggdGhlc2UgMyBtZW1vcnkgYWRkcmVzcyBzcGFjZSBjb21iaW5lZC4N ClRoZSBvbmx5IGRpc2FkdmFudGFnZSBpcyB0aGF0IFVNUiBXUUUgaXMgYSBiaXQgaGVhdnkgZm9y IHVzaW5nIGluIHRoZSBzaW1wbGUgSVBzZWMgY2FzZS4gU28gd2UgYWRkIHRoYXQgc21hbGwgb3B0 aW1pemF0aW9uIGlmIHVzZXIgb25seSB1c2UgSVBzZWMgYXMgaW5wdXRzLiANCg0KPiANCj4gDQpU aGFua3MsDQpTdWFubWluZw0K