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 7908C45C77; Mon, 4 Nov 2024 14:08:26 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 715F4410FB; Mon, 4 Nov 2024 14:08:20 +0100 (CET) Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2080.outbound.protection.outlook.com [40.107.237.80]) by mails.dpdk.org (Postfix) with ESMTP id 8487B410FB for ; Mon, 4 Nov 2024 14:08:18 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Bc8QsVzziq1hrXdmEtIwX6YAk9svJHaCtF0fhZ60oUI82o9SXQ6B+y7CNYIN5sQXdIAKH6pfsMirncP3wdPLISERraH6/1zPMyLapOxmQA1sGcAzdZtz5yDOLQUijjbn0ijxv4AOt0+LfLiBO25jalR/izRilbhdn0Do72D8TwxCKCMkKM+rIo1DwwPz7bk/cZOp19gaCHIJmVuazKxt6P8CdaYKED8nO4JtxM0+Nze4iB0U9e08CNdHXUy2lqq4mgqcjw+/M0ijol32iyCz8eCJn6o4rL0P4Q2xHGV+OKX4OAnGS0LAFmqYoEKq1h6n7OZqmwcxDBerH8f1zMLbFw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=nY4xC/Z3zpDRcMluko5cXg3suz2AqAmPhgjYM/kuWZY=; b=SgG+3LlUAKYW+1cvso+L4FxntScEEP/9NggPyNKD6NsACvZCBA4+IvMBdUdIZ+OQSNlU6xvtfLvsxUseVB6nJfTvSwKV5SJ4aQmXhOIpjbOxCTViRIH36NTUd8w+BsvJwfIM9ICaqUZ4wZmbVEGmoY9MeRyS/NSlkL7cpy92u6nfycIQ2lWEUprHF6ccMgsEiTpjJb9zCfjqkybvVNaOLN2e/uTqvwPeBXvAw3VEF7JUJOsj53CVoKxBc21EdudEOTZwbE2bJtQbWFXxUCvMaKrHWoyC8VMkAYxMkdATO1YHJSZf2AxeGXFbVRf/E6ZsKx2Sz8Kd0Lx4VzeqASEU/g== 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=nY4xC/Z3zpDRcMluko5cXg3suz2AqAmPhgjYM/kuWZY=; b=SZObeCgDpTkT8YlPRmYHK992LuIgqzBz4Kkpg8jewnEFRq9AqgzYEoYmGj+/PKxx98h7/fldCjbf4aCON/RnsznpdlDyH78/M1ZSO6vwPJOSMCPASR7bvxCEo+J8F9VdtDjmhLybk+lKUP6IItAXT66ut3mwaJJJzysMPbZJKVk= Received: from PH7PR12MB8596.namprd12.prod.outlook.com (2603:10b6:510:1b7::6) by MW4PR12MB7216.namprd12.prod.outlook.com (2603:10b6:303:226::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8114.23; Mon, 4 Nov 2024 13:08:13 +0000 Received: from PH7PR12MB8596.namprd12.prod.outlook.com ([fe80::a011:943d:7291:8069]) by PH7PR12MB8596.namprd12.prod.outlook.com ([fe80::a011:943d:7291:8069%6]) with mapi id 15.20.8114.028; Mon, 4 Nov 2024 13:08:13 +0000 From: "Varghese, Vipin" To: =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= , "dev@dpdk.org" , "roretzla@linux.microsoft.com" , "bruce.richardson@intel.com" , "john.mcnamara@intel.com" , "dmitry.kozliuk@gmail.com" , "jerinj@marvell.com" , David Christensen , Wathsala Vithanage , Min Zhou , Stanislaw Kardach , "konstantin.ananyev@huawei.com" CC: "ruifeng.wang@arm.com" , "mattias.ronnblom@ericsson.com" , "anatoly.burakov@intel.com" , "stephen@networkplumber.org" , "Yigit, Ferruh" , "honnappa.nagarahalli@arm.com" Subject: RE: [RFC v3 1/3] eal/lcore: add topology based functions Thread-Topic: [RFC v3 1/3] eal/lcore: add topology based functions Thread-Index: AQHbKo7TkSe1qp6krEGG1fG5vPPPL7KmyTQAgAAgEYCAABI5QIAAFANAgAACLjCAAAwDYA== Date: Mon, 4 Nov 2024 13:08:13 +0000 Message-ID: References: <20241030054133.520-1-vipin.varghese@amd.com> <20241030054133.520-2-vipin.varghese@amd.com> <98CBD80474FA8B44BF855DF32C47DC35E9F86B@smartserver.smartshare.dk> <98CBD80474FA8B44BF855DF32C47DC35E9F86D@smartserver.smartshare.dk> <98CBD80474FA8B44BF855DF32C47DC35E9F870@smartserver.smartshare.dk> In-Reply-To: <98CBD80474FA8B44BF855DF32C47DC35E9F870@smartserver.smartshare.dk> Accept-Language: en-IN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_94523dde-f9d1-4aa7-80a9-c0900420d3c3_ActionId=6984375c-1ade-4aad-9f53-9cc6a4fcc999; MSIP_Label_94523dde-f9d1-4aa7-80a9-c0900420d3c3_ContentBits=0; MSIP_Label_94523dde-f9d1-4aa7-80a9-c0900420d3c3_Enabled=true; MSIP_Label_94523dde-f9d1-4aa7-80a9-c0900420d3c3_Method=Privileged; MSIP_Label_94523dde-f9d1-4aa7-80a9-c0900420d3c3_Name=Non-Business_New; MSIP_Label_94523dde-f9d1-4aa7-80a9-c0900420d3c3_SetDate=2024-11-04T12:59:55Z; MSIP_Label_94523dde-f9d1-4aa7-80a9-c0900420d3c3_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: PH7PR12MB8596:EE_|MW4PR12MB7216:EE_ x-ms-office365-filtering-correlation-id: 3399d997-d9d6-42f1-9069-08dcfcd1bd30 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|7416014|366016|376014|1800799024|921020|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?SXVXQU8rUEM5eXkzL0dWKy84K1F1d283eGNGMzZ0V3k4bVdndVl2TzllNUlE?= =?utf-8?B?dkEwMDZrdTJmSkg0L3I4bTdnTXVuZ3R3aGN4dUhsN0NYWjJFR2E2SUE1MDlH?= =?utf-8?B?dEphY2J5aEQ3Q3hmNWhqZS9ldCs1a0ZoYVRoNytZZHh4UUYrZHhtUU5EL2JY?= =?utf-8?B?c2dyL3dPT0RYUUVabEpXV2MzZ0w0TEkvZEhtcWNEL096c1F5S2tkQkNTT0dY?= =?utf-8?B?eTNwZm10OUV3ZjJ2THgxR1dmK0xVYk9xTGJPUlRPcERwY3orRmxDT0xhWVFB?= =?utf-8?B?cENrbzdnQURzSll2RmtQV0ZVTTRFdGxkZnh0M1l6dU01VWV6enNxSThrNVdZ?= =?utf-8?B?TVppRU9senROSTluUnFMUE1WVnNTTTlaemNXd0IxUm1Bd0ZIVEtVYndRS3NF?= =?utf-8?B?VDN2Y1Z3NERYSzlHKy9iYUZmakYyT3k3REh3REZ2UnAvUXdEaXlzRFE2ZEor?= =?utf-8?B?bHl2TEx2RFd1MHdWaWlldkF6RGxlTFJ4RVBOQ3dYRVhyWkZRTCtWY2VxOGxx?= =?utf-8?B?QWdBL2VPbnU3MWlRQ1dtT2pVRGtTTlJjK1I5RGNraG00bVZPUEJkWG9hSHFk?= =?utf-8?B?UkJNNUhIWnBoeHJOTGRwUlRLNWdzTU0zREROOVFBV1JJdVRBQTJ5OEJHZC9s?= =?utf-8?B?Y2xwWXZldGhjN1BmZndnVnE0N2VIZVo5ZHp4QU02OUxXOWJqS0MyR1NZN0ta?= =?utf-8?B?bmRLNysyTzF2b09kSERDcDlwWGlFYU02cVBvallKamVGR0U1WUFiN2JTWi9h?= =?utf-8?B?U3djbHNqVGJmUGgvTnNrSWU1NGwzSkNrV0s2SUZiZXFrbXg5eFkrZ25BVFdC?= =?utf-8?B?MktmRWtGa3VmUHBmQUFFOElpMUdvTE01WU1XcHRmMlRNeDA3SGx3Nm9JbDNY?= =?utf-8?B?Q2pDcU5MS0RIQmpLWGlzbm1EMWNkWkpVVFhFZFJaYWh1Vnpaa2Q3REFyMzhL?= =?utf-8?B?alA4TDh0V2tkbFNZYlNZZHhEOXR5Uzh4QTU2UjJSc3g0QU9JanJXUXhTcElu?= =?utf-8?B?QmNjWEhaUUtwV3hXSUdOY2VMRm9pbWsvY0NldTBmYm1JMEo5SGx3N1BaS0Fi?= =?utf-8?B?bWJ3UnpOeUZXS1lFbE9mZmgxMTZFd3FTT0M2N05FT2RpSWIzVmhET0hMaFQ1?= =?utf-8?B?YXJQTkZiV2pOdXV0aER0UkFPdVdqYmdhRm1oSDFPTWtsekpqMnR5SXhHVktw?= =?utf-8?B?Rk1EYzNsak1qdHhVeHFqODlLMTFiUjhaY3lRbWlQME4zUU0rMG1XVFptVG9v?= =?utf-8?B?VHIxYVJMb29zSWZ6VnRBV1BEaFg4emZSZ2QrMHBCLy9IdllhcnBoK2FaaFZ4?= =?utf-8?B?VUFuMDdLa1I4NXBZYTc2YVUzdGtrU1ZGbllFS1owVG1tR200R2xlK3l1WmxJ?= =?utf-8?B?dUk4TnR4NXdEaVhIVnhTeVB4MjFhWWlkVWtIck5DYjY1Zk1BWGR4SXJIZkJm?= =?utf-8?B?b0pLYjdJSWFWNDErTlpISzFGOGlEOW0vMUs1ZFh4eWc0ajRSL20wZDRFeDV5?= =?utf-8?B?K1N2cS9PbXVBT3JNNGFvb3ZWUHR5a2NmZjk3eTRHZkZGOGtnSG9Da1lQQ1pl?= =?utf-8?B?eG5ib2pFeDc2bjlKQXRXakZlUVQxMVZnaTRHaEhwTDNEOG1oODlSWnpVc1BK?= =?utf-8?B?d091U3dLWHJma3YzWTdLSlN0UTN6SnNvREplakdJMlhTbXJ0NlkxOTNMdWZF?= =?utf-8?B?Rk5CYmRVcUE2YTIwZGJLdFd2SFEvZGVsbFB5VnNHTitQTlZmcWRaVkdpVXpV?= =?utf-8?B?VHFXNUp0a003bkhLdE9ZMWlBaFN3dlFSRXRDSU5CV3M3Z25DbC9JcXNrZSsv?= =?utf-8?B?dFRJYjJtV1ZGeHFKd3ZHQlpGODhXaVF6S3cyalZPNjlsaHEyNURIOUc2dEU5?= =?utf-8?B?TXJXVk5vZUx2eDNCcTcveWQzNTVRR0h3UTM4UXFEclc4UXc9PQ==?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH7PR12MB8596.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(7416014)(366016)(376014)(1800799024)(921020)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?VW5WdkIrZzNuZVg1amo4N0hYWWdFZXh4NkI4aVY1TE9HS3pBbjN0UGFNUy8x?= =?utf-8?B?YmNRQTBPcmZKMVlGa1ZNbHcySmZkaGRzYm1lNGxaKzlGTlAzZjllTUNMelEx?= =?utf-8?B?K1VWakNuYnc0dnpmSDk1dUhXQ0N4MG9LbWhnS0xUR3NDVHd6VnQ1MDFLdGsv?= =?utf-8?B?N0Y5eHF5ME9iT1J1cTlKdnJKaGgvc20xRVFyUDBDQms2SnRrVytoNGFrOVgw?= =?utf-8?B?SDZZSnY3bERZbUJpek1TTTNvbGNweWk3UjNqcEdqNEZ0L1Rnd1d5Z2NUN0t6?= =?utf-8?B?M0NzUkNwWjcweEFGT3IzTE1SWWhqNXVZdEI2R09xejNjdnRnRzR4RmhWODNW?= =?utf-8?B?c1V2WUxzNHh6S3gwVlVFTDhhQmlnaHlSY0NXdmpIVmU3QXJZNVlsYkV0VnJh?= =?utf-8?B?UjVaclRmdEhlN0VTT2ZZTXhHRE8rVVZFQjlzRytGN09TK0xUV1lQUHlpMXFw?= =?utf-8?B?Um16eUJOVWNMemtYTFh5ejROQ1RVeWtSdFAwZnlYZnZkOHU0ODJOK2lpNzN5?= =?utf-8?B?WkJqSXlKSU9jendJK1hIcEFyRUhENnRDNFEwQ3BxT2N0S25maUpFdXZVYVFL?= =?utf-8?B?K09zNWtaZFhhRUtKeC94czBwWFl1RU9LMk1odHREbTFNL1RvK29VOWFvK2Z5?= =?utf-8?B?UjZISWZnODJmOGRQWmFzWHVHYWJZMlNHZkZINFpnYXk2YUVZYms4OEJjV0wr?= =?utf-8?B?OC80VFV6SE16MExqRkxIOVpkR094NytNVHZkVmxkVGU3OGRVbDJFSjlSUHRE?= =?utf-8?B?UGZnZnlIa3NQNXFYME5iQVFVbnRvU3RkSXJ2SDVhcGM2eEpDeThkekxoMFBO?= =?utf-8?B?aGM3QUh6TU9oS3RNWi9zY0lFeUVrZ3F4U1lwZ3BDeExmbFpmQlVFOVRRUTly?= =?utf-8?B?SFN2MmRoMDRkdWR3U0ZUN0JNN0ZmL0R5TlpOOFRxb0FnNnpiMVJrLy80ajk1?= =?utf-8?B?LzR3NllBYXJvV09Qa1BocmNoNnprWnZoWkx2cEFvWDBIL2VyYmJianN3L2Er?= =?utf-8?B?MGE1MWExNlBVZk5XNUo0QXlCWUlYTTFXSGJCbVF1eS9VSnFTMkZLK1k2RFJG?= =?utf-8?B?Uzl3Zlo2VXZ0MHdmZG9SOHhmSFRFVmE5RUZPM0IvSWUrcVhKOVFEZWF2alZG?= =?utf-8?B?cWFkNThWdG5PREgzUkpOblE4amxabjNaUUo4R1ZjOGFTMThTZlVWTDZxRkZv?= =?utf-8?B?ZC8wY0c3amZTeFRmVTBXcTdudEZVanVja1hscGtXcFRDbkhNaWl0Z3BSd2Ew?= =?utf-8?B?THRwNTNWMVF0dXNEUWpzcE00eXphZVpKcDFQelhxZElDTkdsUjBCbWlnc0Zx?= =?utf-8?B?bkVETGJpZzNKL2psZzRuNWhjVzgrUjhXaWwwQkFuYm44QlB5bHM0Z1pLWk56?= =?utf-8?B?SkdGZDFCTi9uYnBrZlJNemRQVEJNUlROWTh2K2FJRWJ6SWRpbFRudm5GQ01Q?= =?utf-8?B?bnpiMFRTaTZxNVNIL1RGOTliNEFiQkZzSTRyeE9PdmtkWHptSzZaR01IUFRM?= =?utf-8?B?NWxFMVVTY3Q5K2hzYnNISXdOUkNQY3VJbXVaUHJ1ajQvQmduNUk2NERxeXZo?= =?utf-8?B?NU0wTWxrSEtacDFwVXdScWRNOEhVUDJ2MWNjc0tXaWFTclNXR2owZjNTZ1pY?= =?utf-8?B?YXdhZ0hDSm1ubHhpQXgrMXpTMlNxWElQR0V0eDlPdU5mNndmY0lwQzBzcG12?= =?utf-8?B?UUt6eTNzKzNjZ1NxeHY5blhoNjJJbGlUUk9VZlRFR2owWVoreHlsY2svVXUz?= =?utf-8?B?NWdmM01OdFJ4UHljcU1aVjNDSGd1bmZITUlpaGVnUmZhbFNEYkRVTmZQZEx5?= =?utf-8?B?Yno3cE5FZlEwYnY0SHBmQXY5QkNCSzcrOVArNXpRSUhaaEhZcDBFZjZ2MmNN?= =?utf-8?B?WWdUUFhXSm1TaDBNQkV4TTNtR0pSU3lqbUJRQUx4MjdzOEY2ODBwTCtBVEpa?= =?utf-8?B?UE9iVWlMMXJDN0IvRGZpNXp0VDJxQ0o3MnBKUWlGTncyb2lZZSsrQzljVTVi?= =?utf-8?B?UGxDTEZNaVBKcFJ4c3pUMXVOSzdaeFFPdWZWNHhIcVhhc0d4TDRDVEtWZUMz?= =?utf-8?B?T09CTGEzV2t0eGUwSE1Jd0I3dENFcmw4T3lWM0ZMcU9MQlJvaE5NNnA4VGxo?= =?utf-8?Q?OStk=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: PH7PR12MB8596.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3399d997-d9d6-42f1-9069-08dcfcd1bd30 X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Nov 2024 13:08:13.1588 (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: 5dk3zxmBTPublb9Xh+6vp5LjCtboAhnxS/idREYO/zVwXLwtcbG9en1OOIFOQeLEolGdGhdTRTyGg6fxqlvTfQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB7216 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 U25pcHBlZA0KDQo+IA0KPiANCj4gPiA+ID4gPiBEb2VzIHRoZSBBUEkgbmVlZCB0byBiZSBwcmVw YXJlZCBmb3IgTDQgY2FjaGU/DQo+ID4gPiA+ID4gaHR0cHM6Ly93d3cuYW5hbmR0ZWNoLmNvbS9z aG93LzE2OTI0L2RpZC1pYm0tanVzdC1wcmV2aWV3LXRoZS0NCj4gPiBmdXR1cmUNCj4gPiA+ID4g PiAtDQo+ID4gPiA+IG9mLWNhY2hlcw0KPiA+ID4gPiBUaGFuayB5b3UgZm9yIHRoZSBwb2ludGVy LCB5ZXMgaW5pdGlhbCBwYXRjaCB3YXMgY29uc2lkZXJpbmcgTDQNCj4gPiBjYWNoZQ0KPiA+ID4g PiB0b28uIEJ1dCBJIHdhcyBub3QgYWJsZSB0byBnZXQgaG9sZCBvZiBzeXN0ZW0gb3IgZ2V0IHNv bWVvbmUgdG8NCj4gPiB0ZXN0DQo+ID4gPiA+IHRoaXMgd2l0aCBMNC4NCj4gPiA+ID4gSGVuY2Ug cmVtb3ZlZCB0aGUgTDQgaW5zdGFuY2UgZnJvbSBkcGRrX3RvcG9sb2d5IHN0cnVjdHVyZS4NCj4g PiA+ID4NCj4gPiA+ID4gV2UgY2FuIGludHJvZHVjZSBpbnRvIHY0LiBDYW4gd2UgZ2V0IHNvbWVv bmUgZnJvbSBJQk0gdG8gY29uZmlybQ0KPiA+IHRoZQ0KPiA+ID4gPiBzYW1lPw0KPiA+ID4NCj4g PiA+IElmIGFueSBvZiB0aGUgQ1BVIGZvbGtzIHRoaW5rIEw0IGNhY2hlIG1pZ2h0IGJlY29tZSBy ZWxldmFudCBpbiB0aGUNCj4gPiBmb3Jlc2VlYWJsZQ0KPiA+ID4gZnV0dXJlLCBpdCBzaG91bGQg YmUgYWRkZWQgdG8gdGhlIEFQSSB3aXRob3V0IHRlc3RpbmcgYXQgdGhpcyB0aW1lLg0KPiA+DQo+ ID4gSSByZW1lbWJlciAzIEw0IGNhY2hlIHNjZW5hcmlvDQo+ID4gIDEuIGZyb20gSUJNIHBvd2Vy LTkgdmFyaWFudCBzdWdnZXN0ZWQgaW4gMjAyMC0yMDIxIGluIGhvdCBjaGlwcyAgMi4NCj4gPiBm cm9tIEludGVsDQo+ID4gICBhLiBIYXN3ZWxsfEJyb2Fkd2VsbCBzZXJpZXMgd2l0aCBlRHJhbSBh cyBMNA0KPiA+ICAgYi4gZnV0dXJlIHByb2R1Y3QgKGF0IGxlYXN0IGluIGRlc2t0b3ApIHdpdGgg TDQgY2FjaGUuDQo+ID4NCj4gPiA+IEFkZGluZyBpdCBub3cgd291bGQgcHJldmVudCBBUEkgYnJl YWthZ2Ugd2hlbmV2ZXIgTDQgY2FjaGUgYWN0dWFsbHkNCj4gPiBiZWNvbWVzIHJlbGV2YW50Lg0K PiA+ID4gT3RoZXJ3aXNlIHBsZWFzZSBkb24ndCBzdXBwb3J0IGZvciBpdCAtIGNvbnNpZGVyaW5n IGl0IHdvdWxkIGJlIGRlYWQNCj4gPiBhbmQgdW50ZXN0ZWQNCj4gPiA+IGNvZGUuDQo+ID4NCj4g PiBJIGNhbiBhZGQgdGhlIHNhbWUgdG8gdGhlIERQREsgdG9wb2xvZ3kgcHJvYmUgaW4gdjQsIG9u IEFNRCBFUFlDIHYtDQo+ID4gY2FjaGUgaXMgdHJlYXRlZCBhcyBleHRlbmRlZCBMMyBhbmQgbm90 IEw0LiBIZW5jZSB3aWxsIG5vdCBiZSBhYmxlIHRvDQo+ID4gdGVzdCBvbiBBTUQgRVBZQy4NCj4g DQo+IEkgcmVjYWxsIGZyb20gdGhlIENhY2hlIFN0YXNoaW5nIGNvbW11bml0eSBjYWxsLi4uIFRo ZXJlIGlzIHNvbWUgQUNQSSBmdW5jdGlvbiB0bw0KPiBnZXQgdGhlIChvcGFxdWUpICJsb2NhdGlv biBJRHMiIG9mIHZhcmlvdXMgcGFydHMgaW4gdGhlIHN5c3RlbSwgdG8gYmUgdXNlZCBmb3Igc2V0 dGluZw0KPiB0aGUgQ2FjaGUgU3Rhc2hpbmcgaGludHMuDQo+IElzIHRoZXJlIG9ubHkgb25lICJB Q1BJIGxvY2F0aW9uIElEIiAoSSBkb24ndCBrbm93IHRoZSBjb3JyZWN0IG5hbWUpIHNoYXJlZCBi eSB0aGUNCj4gTDMgY2FjaGUgYW5kIHRoZSB2LWNhY2hlIGluIEFNRCBFUFlDLCBvciBkbyB0aGV5 IGhhdmUgZWFjaCB0aGVpciBvd24/DQoNCkF0IGxlYXN0IG9uIEFNRCBFUFlDLCB0aGUgc3Rhc2hp bmcgSUQgdXBkYXRlZCB0byBlaXRoZXIgTVNJLVggdGFibGUgb3IgRGV2aWNlIFNwZWNpZmljIE1v ZGUgaXMgY29yZS1pZC4NCg0KDQo+IElmIHRoZXkgYXJlIG5vdCBleHBvc2VkIGFzIG9uZSBJRCwg YnV0IHR3byBzZXBhcmF0ZSBJRHMsIHRoZSBUb3BvbG9neSBBUEkgbWlnaHQNCj4gbmVlZCB0byBy ZWZsZWN0IHRoaXMsIHNvIGl0IGNhbiBiZSB1c2VkIGluIHRoZSBDYWNoZSBTdGFzaGluZyBBUEku DQoNCkkgaGF2ZSBkaWZmZXJlbnQgdmlldyBvbiB0aGUgc2FtZSBhbmQgaGFkIHNoYXJlZCB0aGlz IHdpdGggQWppdCAoQnJvYWRjb20pIGFuZCBvdGhlcnMuIFRvIG15IHVuZGVyc3RhbmRpbmcsIHVz ZSBvZiBydGVfZXRoZGV2IEFQSSB1c2VkDQpmb3IgY2FjaGluZyBoaW50cyBzaG91bGQgYmUgaW5s aW5lIHRvIHJ0ZV9sY29yZS4gRGVwZW5kaW5nIHVwb24gdGhlIHBsYXRmb3JtIChBUk0ncyBzcGVj aWZpYyBpbXBsZW1lbnRhdGlvbiwgdGhlIGxjb3JlIGdldHMgdHJhbnNsYXRlZCB0byBMMiBvciBM MyBjYWNoZSBJRCB3aXRoaW4gdGhlIFBNRC4NCg0KTm90ZTogIHRoZSBjdXJyZW50IHBhdGNoIGlu dHJvZHVjZXMgb2YgVG9wb2xvZ3kgYXdhcmUgZ3JvdXBpbmcsIHdoaWNoIGhlbHBzIHRvIHJ1biBh cHBsaWNhdGlvbiBiZXR0ZXIgb3IgdGlsZXMgb3IgY2hpcGxldHMgc2hhcmluZyBzYW1lIEwyfEwz IG9yIElPIGRvbWFpbi4NCg0KU25pcHBlZA0K