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 C038343D0F for ; Thu, 21 Mar 2024 19:26:49 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A2A1F42D45; Thu, 21 Mar 2024 19:26:49 +0100 (CET) Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2045.outbound.protection.outlook.com [40.107.223.45]) by mails.dpdk.org (Postfix) with ESMTP id 60D16402C2; Thu, 21 Mar 2024 19:26:48 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=oNPBcTLorfF0ugvrtkIb+6n0koGcNVnKm4XUWpLprS4F86dihq8d6HrvZcm4WO4e6vz4yu2s1HYMLBio4tGHqNsrIYmhM4KO38x8AMI92hetKcgFHFucIZnJ93+YmTYobcv3UEfvXZKK4VriexOYqcwkK2F7JFnWftSj5GllGEdjdb/rrTuc8ogrp7gB6xVbnnUQC5D555PMpSJIsIb7yHhF8QGq8Aqi/Z1b0WI+ndiBnN2fvtBcbpo9RC1U6shMFJy2r/2MtxbkBSJyftTs75MNGg5xMexEUFZL7BpzFs3CYfQImMmmouw7NpKQyJKp2VXKlxKd3kgoptx1Q68/tQ== 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=NwocCSg2K3ioZgsdWEoqeReVqcLygaDkyU+BF1h5vck=; b=KWiL5GuAaMpqLUzIgQH102ErHMYj+jTzUNm45waSc71o+bzcur8OAGwu/vmGya1rEiJpbmRNJJqYIxX8MptdW4N4vBpM0g586NnlTtGn0m/Jm5OkN1PUu1Iw9ZVszW2eZ6Bo7tKu7izleB/6ypNIeRfXAZ0CJ5PmLBUh0sJDcdvrSWTaIEK/dObgAskk655979gXL+k66o3Z0B+oLhP93CyNS7VGkKd/AQQu5pHQd0gCpzMSSIFehdSe2IYoDOUL3x3gRR4cDLFXhSmeCCpmOU3e0SpZSQGzl0vfosiShP3Sxr7ytgrc1YWwD/L/BB78eCnw2mpv5kXPr49pviQz/Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=NwocCSg2K3ioZgsdWEoqeReVqcLygaDkyU+BF1h5vck=; b=bh1EtQbrWRuj9629N2z1JNIVmIYae3vRHhJuwXIE54wXVduhfnL7tGkgr/6KgDvUQrki+pqqEhEkDHsgmlQ2Kn6EO3+PDip6DcWCf/1iT2Ld3WCtKZW79H4PIL6+s4mxROydHxBxDQHbRMa/RDJ0FtycApp3kY4zTCKsoe29MfQ= Received: from CH3PR12MB8233.namprd12.prod.outlook.com (2603:10b6:610:129::15) by MW4PR12MB7438.namprd12.prod.outlook.com (2603:10b6:303:219::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.35; Thu, 21 Mar 2024 18:26:44 +0000 Received: from CH3PR12MB8233.namprd12.prod.outlook.com ([fe80::56c9:d5f3:2cb3:d9f2]) by CH3PR12MB8233.namprd12.prod.outlook.com ([fe80::56c9:d5f3:2cb3:d9f2%4]) with mapi id 15.20.7386.030; Thu, 21 Mar 2024 18:26:44 +0000 From: "Tummala, Sivaprasad" To: Thomas Monjalon CC: "david.hunt@intel.com" , "anatoly.burakov@intel.com" , "jerinj@marvell.com" , "radu.nicolau@intel.com" , "gakhil@marvell.com" , "cristian.dumitrescu@intel.com" , "Yigit, Ferruh" , "konstantin.ananyev@huawei.com" , "stephen@networkplumber.org" , "david.marchand@redhat.com" , "dev@dpdk.org" , "stable@dpdk.org" , =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= Subject: RE: [PATCH v5 1/6] examples/l3fwd: fix lcore ID restriction Thread-Topic: [PATCH v5 1/6] examples/l3fwd: fix lcore ID restriction Thread-Index: AQHaeVo69em8hOXON0Oefx0NkQu+6LE+qi2AgANOzQCAABDkoIAABkyAgAB3fWA= Date: Thu, 21 Mar 2024 18:26:44 +0000 Message-ID: References: <20240116182332.95537-1-sivaprasad.tummala@amd.com> <2714554.uZKlY2gecq@thomas> <2343618.ECZNHGQPT7@thomas> In-Reply-To: <2343618.ECZNHGQPT7@thomas> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ActionId=69c0b986-4620-43d9-b39d-ae9ca90467de; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ContentBits=0; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Enabled=true; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Method=Standard; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Name=General; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SetDate=2024-03-21T18:25:40Z; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CH3PR12MB8233:EE_|MW4PR12MB7438:EE_ x-ms-office365-filtering-correlation-id: b5450e75-5cb4-49af-d927-08dc49d47640 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 88OWUjipc5OJjLKHp/pD2inxOkKe+gWQNp+l3D2f6aEK9+p6yKC/ccCC6SHBydK/T+qPjGgTtSlwawFiu9ANZ5/cuxuy1om06/mvD7AJkS11o2g98IzFQyXEFa6p2GRV0WQafPU4wqJ6mnMLwXPyg10OEi3jc6Sy9ED5H48u6ZmincoS/hbMRyAjcVcxJh3WE3Ct28BtuWC1j3l31jxJQ8Ox560JlkwDaOahIef+jajIGDHUdXP8W8rCqJQbHWvUz3WR22JOp6kjHOaXyorpk4gSIyBuiu35gQ+e5zrJtDMHgb1Y5TVze31kcKVEQph4muz3y1JDq1AcgKZGJkz0FqSE5AsGBqRBAVLupg2su4Oe2aHJ31exXDXOnPp8AG+q3/42D/K1go0kTFlayk7elXT2mH48IRR9YRRVPy/77nOpJBYCYAKairmz3GfUe1hRm5DojLN+/8HWUcS7+JGO1PWbVmdxb2y/8h/lDP1AiDjQYIz7anZlqLfs7LY2HQWmk4DbwEnTsyat37ibTQ8LLNUtsVT9SpvEhGKX/KdXZTzrV6MwY7LfCdMD/jpoeBSvlfrQ1Bm0tw7fZ6hYJERvRGZt7qXc/KYT/Dhy6H8BlmddnoPtvZztZTfTq+/7EaGZPq5KuXY0apkrUIR614blEz2IBxsnDZbohmNVVBCIzRDKfvNWjl4ZS68xJESua92Jz38HyXL+GVYEP2OuesjyRI1rUQfkHlE1M5Sj8pY/odI= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH3PR12MB8233.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(376005)(366007)(7416005)(1800799015)(38070700009); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?dTBDZTQwdWNMZXErcHlDTFd5OWp3VVZUWGtwcFBlb1J0YkNyd3pWb0Q2QVMz?= =?utf-8?B?VmJ0THlhVm03T0VLUDdQT0ZVb0VWNHpvL0tmYW9CSkZRcHNlVWVjT2lSc0Qr?= =?utf-8?B?WlorMGRLaEJsOVFydmg1YzdjUGtldDRUZE5FdmhYdjZqNWROT1Qvc1NHZk9s?= =?utf-8?B?NnViYkc4ckVSZUhlSzFYRHNTQXppUHNyUDVRSXFNanhsSUQrNXRERFhUYVhw?= =?utf-8?B?NjV1QXFhQTM2L2hlWGYxUmZ4clgxK0tYZ05Pem9rYk1IbHo3Z1NrZnNLNE1F?= =?utf-8?B?ZzlRVmlLTlRYb1l4bm5FZHBSNUFLeHVSMlhTc0hXMmszV2VLTkJlODBaUFAz?= =?utf-8?B?OUpNa3plTDhPUHU0MHlXbmtzZWc4b3NXRVVjWDUwd2lMUDFYNFNOUXFwRTkx?= =?utf-8?B?WkZtQlZLMDd0RGFmN1o5ZmZ3c1BPTUZ3OWNDREtNTEtXcHdBcm4rcS9lcTY1?= =?utf-8?B?SzBTOW90VVlhbTNQR0RZMVhsRHI3NE9PQkp0U0tyUENoa29vT2VtSWRXQk5Q?= =?utf-8?B?bnBnL0ZEc2dlRXpwTUhXZy9ibkVHMytwQjhrN2xyeDl6WHhyMDFKRFFtQ3lK?= =?utf-8?B?c3JFUi9HbUNYZlZONndYck1rYmhVK0R3WGNzRlpiMGdTQTIxS2tPM1NWOUJH?= =?utf-8?B?VmI3S0xxd2FuL013S2JPQ05aNTNwdUszWWJLbDNZc1BFYnJUY0hONGVDOW1h?= =?utf-8?B?bmFMbWpTQU1IYVVlQnhEN3pKNUxQT3JwK0dWUjRTQSsvWGdLNXp0SWlnc1dy?= =?utf-8?B?d0NYc25XeW95c1ZCV2h4RUxpTzZ2Q0EvSTk4SWk0aVdqSlp0UThJZjN0M0hm?= =?utf-8?B?ZnlUemhiOHRGK2R1Ky9BbGRMZVpRT2UvNXRNYUhTOUtHNXpwQVZKdVJUK1Nx?= =?utf-8?B?bXRLcUdHd1NCVUJJZXc1ZWt5L25MYXlGaGhHWndzOU51WUtVV3pNWm5sMmlz?= =?utf-8?B?em9OekNxdG9ZUjNia2YwMDhYaWF0bzZVU0dWdzhxemtjVWRjbVdmb2NSUnZF?= =?utf-8?B?OTJJeHZHbkFvN2Uya0hSRTlJMjZJNFNmRTlXTnpHYU80bytQYjdiZXRNL01n?= =?utf-8?B?Y29YdGVuU0ovMkw2M3BLaW5GOTFQWVlQWkpSWXh5MHZJTWpPcWdLWXY5N2ow?= =?utf-8?B?SmFzRTRqOHJqaGpYRjRFVkF1Z09jNVE5KytBbTQxTHBpcjJJQmxIN01PQ2FT?= =?utf-8?B?VUZUdXNkMXRXQ1BpZU42TWU5eXhtanRUeFh1UENDNHlNclhjOVozYXNxZFg0?= =?utf-8?B?ZjBieTBWbnZpVlUwYUErbGkzdTA4RlVndC9Lby9HNjVLRVhIcjhFc3pKQ3Rv?= =?utf-8?B?MEtTZEhhZUU1ZTRQak5TQkc1Um5uR2xPeU92NHEzYjVreHE3c0FYaHB2M1J3?= =?utf-8?B?Smx6UHNsTWd3dzBNeVN2UDU0cGhRRzhJNnZZbk5WOHByb3drK1ZKaENmL2Zx?= =?utf-8?B?S042QVEreDYyNXNuVjdhc2pnZ01Ucnp5ODR0TTFFZ3FuVTZSWkxZdUExM0lE?= =?utf-8?B?TDFBUUp0c21XSmpWOEJ6SG9QbTRHbkNid3FUKzMzblpxSGlOVkxXcHNCNm9M?= =?utf-8?B?alpyUDRvNlV2dFI2ZnhHVXBrQ2RvaFZYdERNd21kSGxBZ0lGdFQ4QmJybkFQ?= =?utf-8?B?bDl0V2dOQ0pCYVVnVlYwbDNQZlFsVi80MGpjTHdrVmNFbmppRGp1b2hwcnM3?= =?utf-8?B?ZHVpSFBXR3FYSmVnYU1vdDE1eWdLRjVDZHNPc3NnMzJ2eENTcFBuNktmTGg2?= =?utf-8?B?KzBvSWQxVkdTSmdRZUdkbkNFUnpMQ2dtTmRTWFhZWUp1SUgyUU5yWGRFakJX?= =?utf-8?B?Vjg1R0tWWjFoY1EzazNuNnkvVVJtdFdZV2JLM1BDOEVLY0pnclduaXgxdE9W?= =?utf-8?B?QzljbUlwZGZ2WUJkR2J2NUJxVVpYU0Z2WmN2a3JsQzgyNDZ2OEJ6RHRZbElQ?= =?utf-8?B?NDUra2ZGTG9SMU5KT0Q2Smp4M2U0WmkyRnBLWVdGODRjTzFBSGdnUHJlZlh5?= =?utf-8?B?TzdHTUVSdXl1Q2FKM1RYSmZKZVR3a0ovWG5Kc0doUUkyNkVSNDd3bDZlZjcr?= =?utf-8?B?S0FWZU0xWG92M0ZLNjZ5Sjk2VkRCdU5zSVRtSVA2SVdzdDNRUktSd1FOUHE0?= =?utf-8?Q?DSL8=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH3PR12MB8233.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b5450e75-5cb4-49af-d927-08dc49d47640 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Mar 2024 18:26:44.5144 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: WPjXh9/dWaRXtES+RmBGJR3oWWwhre/sOdch/2Qjrqt+CjCJJQpRt1+t+Q+nV8zvQQpBI7RqchUXhZtzGjnOvQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB7438 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org W0FNRCBPZmZpY2lhbCBVc2UgT25seSAtIEdlbmVyYWxdDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNz YWdlLS0tLS0NCj4gRnJvbTogVGhvbWFzIE1vbmphbG9uIDx0aG9tYXNAbW9uamFsb24ubmV0Pg0K PiBTZW50OiBUaHVyc2RheSwgTWFyY2ggMjEsIDIwMjQgNDo0OCBQTQ0KPiBUbzogVHVtbWFsYSwg U2l2YXByYXNhZCA8U2l2YXByYXNhZC5UdW1tYWxhQGFtZC5jb20+DQo+IENjOiBkYXZpZC5odW50 QGludGVsLmNvbTsgYW5hdG9seS5idXJha292QGludGVsLmNvbTsgamVyaW5qQG1hcnZlbGwuY29t Ow0KPiByYWR1Lm5pY29sYXVAaW50ZWwuY29tOyBnYWtoaWxAbWFydmVsbC5jb207IGNyaXN0aWFu LmR1bWl0cmVzY3VAaW50ZWwuY29tOyBZaWdpdCwNCj4gRmVycnVoIDxGZXJydWguWWlnaXRAYW1k LmNvbT47IGtvbnN0YW50aW4uYW5hbnlldkBodWF3ZWkuY29tOw0KPiBzdGVwaGVuQG5ldHdvcmtw bHVtYmVyLm9yZzsgZGF2aWQubWFyY2hhbmRAcmVkaGF0LmNvbTsgZGV2QGRwZGsub3JnOw0KPiBz dGFibGVAZHBkay5vcmc7IE1vcnRlbiBCcsO4cnVwIDxtYkBzbWFydHNoYXJlc3lzdGVtcy5jb20+ DQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjUgMS82XSBleGFtcGxlcy9sM2Z3ZDogZml4IGxjb3Jl IElEIHJlc3RyaWN0aW9uDQo+DQo+IENhdXRpb246IFRoaXMgbWVzc2FnZSBvcmlnaW5hdGVkIGZy b20gYW4gRXh0ZXJuYWwgU291cmNlLiBVc2UgcHJvcGVyIGNhdXRpb24NCj4gd2hlbiBvcGVuaW5n IGF0dGFjaG1lbnRzLCBjbGlja2luZyBsaW5rcywgb3IgcmVzcG9uZGluZy4NCj4NCj4NCj4gMjEv MDMvMjAyNCAxMjowNSwgVHVtbWFsYSwgU2l2YXByYXNhZDoNCj4gPiBGcm9tOiBUaG9tYXMgTW9u amFsb24gPHRob21hc0Btb25qYWxvbi5uZXQ+DQo+ID4gPiAxOS8wMy8yMDI0IDA4OjI0LCBNb3J0 ZW4gQnLDuHJ1cDoNCj4gPiA+ID4gPiBGcm9tOiBTaXZhcHJhc2FkIFR1bW1hbGEgW21haWx0bzpz aXZhcHJhc2FkLnR1bW1hbGFAYW1kLmNvbV0NCj4gPiA+ID4gPiBTZW50OiBNb25kYXksIDE4IE1h cmNoIDIwMjQgMTguMzINCj4gPiA+ID4gPg0KPiA+ID4gPiA+IEN1cnJlbnRseSB0aGUgY29uZmln IG9wdGlvbiBhbGxvd3MgbGNvcmUgSURzIHVwIHRvIDI1NSwNCj4gPiA+ID4gPiBpcnJlc3BlY3Rp dmUgb2YgUlRFX01BWF9MQ09SRVMgYW5kIG5lZWRzIHRvIGJlIGZpeGVkLg0KPiA+ID4gPiA+DQo+ ID4gPiA+ID4gVGhlIHBhdGNoIGFsbG93cyBjb25maWcgb3B0aW9ucyBiYXNlZCBvbiBEUERLIGNv bmZpZy4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IEZpeGVzOiBhZjc1MDc4ZmVjZTMgKCJmaXJzdCBw dWJsaWMgcmVsZWFzZSIpDQo+ID4gPiA+ID4gQ2M6IHN0YWJsZUBkcGRrLm9yZw0KPiA+ID4gPiA+ DQo+ID4gPiA+ID4gU2lnbmVkLW9mZi1ieTogU2l2YXByYXNhZCBUdW1tYWxhIDxzaXZhcHJhc2Fk LnR1bW1hbGFAYW1kLmNvbT4NCj4gPiA+ID4gPiBBY2tlZC1ieTogS29uc3RhbnRpbiBBbmFueWV2 IDxrb25zdGFudGluLmFuYW55ZXZAaHVhd2VpLmNvbT4NCj4gPiA+ID4gPiAtLS0NCj4gPiA+ID4N Cj4gPiA+ID4gSSBzdWdnZXN0IHlvdSB1cGRhdGUgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBpbmRp dmlkdWFsIHBhdGNoZXMNCj4gPiA+ID4gdG9vLCBsaWtlIHlvdSBkaWQNCj4gPiA+IGZvciBwYXRj aCAwLzYuDQo+ID4gPiA+DQo+ID4gPiA+IEUuZy4gdGhpcyBwYXRjaCBub3Qgb25seSBmaXhlcyB0 aGUgbGNvcmVfaWQsIGJ1dCBhbHNvIHRoZSBxdWV1ZV9pZCB0eXBlIHNpemUuDQo+ID4gPiA+DQo+ ID4gPiA+DQo+ID4gPiA+IEZvciB0aGUgc2VyaWVzLA0KPiA+ID4gPiBBY2tlZC1ieTogTW9ydGVu IEJyw7hydXAgPG1iQHNtYXJ0c2hhcmVzeXN0ZW1zLmNvbT4NCj4gPiA+DQo+ID4gPiBJIHdvdWxk IHJlY29tbWVuZCBhIHNlcGFyYXRlIHBhdGNoIGZvciBxdWV1ZSBpZCBhcyBpdCBpcyBhIHNlcGFy YXRlIGlzc3VlLg0KPiA+ID4gSG93ZXZlciwgdGhlcmUgaXMgbm8gbmVlZCB0byBzcGxpdCBwZXIg ZGlyZWN0b3J5Lg0KPiA+ID4gWW91IGNhbiBoYXZlIHBhdGNoZXMgY2hhbmdpbmcgYWxsIGV4YW1w bGVzIGF0IG9uY2UuDQo+ID4gPg0KPiA+IFRoZXJlJ3MgYSBmdW5jdGlvbmFsIGRlcGVuZGVuY3kg YW5kIHF1ZXVlIGlkIGNoYW5nZSBpcyByZXF1aXJlZCB0bw0KPiA+IHN1cHBvcnQgaGlnaGVyIGxj b3JlIElEcyBhbmQgaGVuY2UgaXQgbWFrZXMgc2Vuc2UgdG8gYWRkIGluIHRoZSBzYW1lIHBhdGNo Lg0KPiA+IEkgaGFkIHNwbGl0IHRoZSBleGFtcGxlcyB0byBoZWxwIHRoZSBtYWludGFpbmVycyBy ZXZpZXcgdGhlIHBhdGNoZXMgaW5kaXZpZHVhbGx5Lg0KPiA+IFBsZWFzZSBmZWVsIGZyZWUgdG8g c3F1YXNoIHRoZSBnaXQgY29tbWl0cyB3aGlsZSBtZXJnaW5nLg0KPg0KPiBUaGVuIGlmIHRoZXJl IGlzIGEgZGVwZW5kZW5jeSwgcGxlYXNlIG1ha2UgcXVldWUgaWQgdGhlIGZpcnN0IHBhdGNoLg0K T0shIFdpbGwgc3BsaXQgdGhlIGNoYW5nZXMgaW50byBzZXBhcmF0ZSBwYXRjaGVzIGluIG5leHQg dmVyc2lvbi4NCg0KPg0KDQo=