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 5F5F445AF0; Wed, 9 Oct 2024 11:17:44 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3C70140EE3; Wed, 9 Oct 2024 11:17:44 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id CE2AC40ED0 for ; Wed, 9 Oct 2024 11:17:41 +0200 (CEST) Received: from pps.filterd (m0431383.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 49972WRr013621; Wed, 9 Oct 2024 02:17:38 -0700 Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2175.outbound.protection.outlook.com [104.47.57.175]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 425n2yr88w-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 09 Oct 2024 02:17:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=VC/24HL2o15msXlZmWTXzNwJUvSarXWiKlLGlh60ujM0T+jSirYtb2uhj5VnmvZyeT0mm3TMYgqTnxzrPdY1zOiKvvxUrIktpAHAQ6BhTULrH8nIsBrDVWUyPerB2MUziZ/x2VFMD5keF7CuRJKVOTsr5Cac+Otbpo0O3bnhlXvLrRm4BDrXsH94j5+rYe8GZdGIc1IYWECrEFnxVxHh1yYOFyCTfeyVGLw1TtnS21Hitid+Wnk7Uz3kqS9BGQwRstsso2Gxt5phB2kHdbnqpBwIjrRcrYzkkuq46xzO3YwEcZStAs+5MHC63Jhf5QZAk9JnzhkVuK8lYNO79EZfYQ== 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=EpHClVADNa3D/6oCeBQG6TMcw6vsxJFct84ZLMq4xiU=; b=C1XwN11KjSuOVr9h8/TVCAj9me71/yUTv87etJJdWsbOzQ+e7062f0cqMgqlzOCW0v9ymBdaau2XZxs4FlErRJNefz642kNkJ9ie1RD2ghQUd1ShRhnFc8tIdv+UDBrZ7ATFQy0oekbLP3zX/AQoF5Wje63DioVLO87RCrG9Ntb+lixJ7YWuLjIRGGrALMP2hCoABC97vIJbkj8bOupc3Qk2ibg3Q1TNmM30PT98FXP2BvzD7mAq8BzgZ/huEnHk3/fcxR1PGcLfZIsaf6GusxkJ6bfR+5ifZ5CUlseDemcjS+GnyDeV7/DDujXb4JIXZYOnxfwf7XLIkM0/0X38LQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=EpHClVADNa3D/6oCeBQG6TMcw6vsxJFct84ZLMq4xiU=; b=h6s9rEqjKRhttJechaGFXw4eLp1BVt7W8SON0s+nCLj9cme14SqAWvy8w7GJL8orDjArBm+hLmlZpFjWGQ48vbR9q+Qyn8Knj4cCusRVmeH0whSgTqM8FPdtwxNDlMuY766W9qkvdxBKVN0AHVOChn9aMY0TM5cq4syouy8cFCc= Received: from DM4PR18MB4368.namprd18.prod.outlook.com (2603:10b6:5:39d::6) by SA3PR18MB5555.namprd18.prod.outlook.com (2603:10b6:806:37d::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8048.16; Wed, 9 Oct 2024 09:17:35 +0000 Received: from DM4PR18MB4368.namprd18.prod.outlook.com ([fe80::1679:98:2091:7e98]) by DM4PR18MB4368.namprd18.prod.outlook.com ([fe80::1679:98:2091:7e98%7]) with mapi id 15.20.8048.013; Wed, 9 Oct 2024 09:17:35 +0000 From: Tomasz Duszynski To: =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= CC: "Ruifeng.Wang@arm.com" , "bruce.richardson@intel.com" , "david.marchand@redhat.com" , "dev@dpdk.org" , Jerin Jacob , "mattias.ronnblom@ericsson.com" , "roretzla@linux.microsoft.com" , "thomas@monjalon.net" , "zhoumin@loongson.cn" , "konstantin.v.ananyev@yandex.ru" Subject: RE: [PATCH v12 1/4] lib: add generic support for reading PMU events Thread-Topic: [PATCH v12 1/4] lib: add generic support for reading PMU events Thread-Index: AQHbESmYe65FkTC6iEeE4tVpnD2WQ7J51iOAgARH9CA= Date: Wed, 9 Oct 2024 09:17:35 +0000 Message-ID: References: <20230216175502.3164820-1-tduszynski@marvell.com> <20240927220630.1802971-1-tduszynski@marvell.com> <20240927220630.1802971-2-tduszynski@marvell.com> <98CBD80474FA8B44BF855DF32C47DC35E9F782@smartserver.smartshare.dk> In-Reply-To: <98CBD80474FA8B44BF855DF32C47DC35E9F782@smartserver.smartshare.dk> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM4PR18MB4368:EE_|SA3PR18MB5555:EE_ x-ms-office365-filtering-correlation-id: a9ee4adf-65ad-41ca-9b51-08dce8433653 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|7416014|366016|376014|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?YUQ2UmNnS3pBWmdyeXNyUk5xaXNrdWJEd2JVOS9XUG1keUx5V3Rud1BJR2xv?= =?utf-8?B?SFFiYnE3QWZ1d1IzRXczZjV1OGR2NFo3OGtSOHhkTmRFMTd0ZVROUUFneXZ3?= =?utf-8?B?SUJoNlVscU9yZHJLRGp5RlRBTkZ4L3JUUUJrWnJudEU5WXNNMFdwSnhMbU1W?= =?utf-8?B?aG8vaGN2amtqNFIrMUk0Z3BMTXlpaU1yTUNsVGJ5UEJWKzg5dWZ5dFRqZDZw?= =?utf-8?B?QVREMVZEMmdQaXhjd3k3NzNjdmIrdjk4WFg3aW9LK25WUEVwMXp3NGV6eWdC?= =?utf-8?B?dnFZd1RzSEZyb2F4VGZDcmFtSmEzdFVKNS9lSEsweDRTNGk4a29DdW82QWZS?= =?utf-8?B?RmVta3A0ODJSR3NiTTNxc0J3eGo0bzJJZEU1cnlGQVZJSzU0YTRIREowNzdx?= =?utf-8?B?dVJjQ0MyNWNSMG5pSGF6QVozaTVxNzRLc1RFWmtYMmVNT2VwdGJrRlJpRHlW?= =?utf-8?B?UEM3MGRxUDVPNXFwR3dNWmN0UDJxTzVLM2VCNFc1SWwzb3ZDcFM3dGJ0NHZH?= =?utf-8?B?R2loN3cxMjAwSm1abjJLd01UOEdWSVI4U3R3Mm9PeVFwL1I1V2hsdzF5VFh2?= =?utf-8?B?TGhESVN4aUNSRTh1RmpxSFQyeEtkUkJmNlVpaERFZENmMVBJOVBHeUxQZDVS?= =?utf-8?B?YUxXV1lNWUUzQzd2c2JWSW1ma2xnOWcvTkJrK2J4WWh4RndpRmZpRUFtNGRQ?= =?utf-8?B?QXhlU05rWDRjSmxLaU1JRkVaa3pYYmQ3QVAyMVF0akkwM3VGaHFMekhzd0hO?= =?utf-8?B?Zk9Ddm5hYVphUGY3U2dwUVk4QmNHVVhDZXZQZmdvR0NTL2NwVEYvNGZsb2ZV?= =?utf-8?B?eVlHdDYwcWZobXY1ZFNDYlFUeUtacSsxOEF5UmhQaEpsN3h6QUNEQkJwR1Z3?= =?utf-8?B?RXNEWmtTUk1VQ29QM1VidzNzU0Y1MkF1TjlDNWNuOHFhNDRXY0NSZEhMem1i?= =?utf-8?B?MGdDRFVGSW5tUUVwdUVMNG1GRG11S1ZjR1c2TTVqcVY0TzRWMEdGdkVPK1FW?= =?utf-8?B?TDZ5aTJWNC9VaWwrclZLc0J4QVR5d1lGK0R6VGU3Sm1EYmEvekw1ZHpld2NG?= =?utf-8?B?ZHNidVI1UkwwWFV5enZlS1JtcktPWENXVHpWM0VCdEJYNzB1M0NrSk5XYWxJ?= =?utf-8?B?eUl1YnFVajUyTFNFa3ZxMkE1YU9LS00vWHkzU3E3T2xvVzBKWG15bTE4b09m?= =?utf-8?B?VEE5ZjErdm9XMzVpRUdoVkYvMVlhcFdBMThPTXcrTGUwa2I4VnU0Y1A3TjlQ?= =?utf-8?B?cFRUM2NDU25xQVFBL1MyMkRLRlM4ajdETnBQbnlkN0t1bE1TZzZMYThmQ2Zv?= =?utf-8?B?bDEyQlY2UDBCTjUrVVB4bFFwbi8xenYxNWFiZFduWWlJYTFlTGJmUHkzNUVu?= =?utf-8?B?RndkSGkyWm5McTRvUUZ4aXFFVnQ0bC9CR01DWWtNbWFRMGR2Nm1DamE3cUNL?= =?utf-8?B?bDdUUkJqN0N1Rjh3VDZNTGdVeVZ4WjJOejUvUW9scUlBcHRnNkQ2T3BTNE1T?= =?utf-8?B?bVJFN0E3VVFuN2JSWkNtaUZ4WFd6R1lRVS81VkhUWUp2VXgzQno1QkYrSHB2?= =?utf-8?B?QlFxVDFNeklQcC9ncXRYU2NwOTc1S2QvWElneVo1YXVOdmNZYkhwR1A4L3NK?= =?utf-8?B?bFkrYTRFaVVwOTZEcE44bkcxb1MycCt5QWFkTjV1eFYrMVd0WlJHNmQvQlUr?= =?utf-8?B?bGRpVmNLYzkvNTNWZjd4WjNRaVdna0RtK3RaOE9vYm5kRXZnSkxlQ0ZTczB2?= =?utf-8?B?TUpKWmhJNUNnS0tKS0RhR0phbythV2t4UzYza1N4cTU5c1VsUGliR0J0UTVu?= =?utf-8?B?WFNFK0lwcnk3Uk1FT0dkZz09?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM4PR18MB4368.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(7416014)(366016)(376014)(38070700018); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?OE5rSEVjYzI0dmNpYzhPMWhYZEtUWGV1ZnFDajFPWXZKMk1wL3ZwS2dDQnJS?= =?utf-8?B?RStlY3RvR3pyL00zMldabEJ0Ui8rYVBHWlNySk5rdHBUK1Z1NW9SbitnMjdq?= =?utf-8?B?TkI4RWtiUUR3aW5MdHMvdUN0QW0vOEZSaS95QWtXVzFTdi8rTkZlQkVpWXlV?= =?utf-8?B?UzZKUkhXMCtFSzJNMUVvOG1OZUJRQlVtWDBPVmFBZW84cCsyVzZ3Ui9tdHBQ?= =?utf-8?B?U1VQNEJYV2x4SVJ1dXRTTjd0aCtDcDhmS0d6L0plL1E1T01SbmtKKzNHNGY1?= =?utf-8?B?YXVKcXRkc2lrNndldWtZWnhBS0M4d2g1NjZJVGJQNjgyeTZUeEwxMlpOakpL?= =?utf-8?B?VWVQWjduTllEaVhuejVDSlpCamgrODFXd1VnRmpNWWxQVHZpcUlHOFdQSzM2?= =?utf-8?B?VHRuYVNKZGp4UjZWQXJMMWZKQnZSSGhlTTM1cVFyVFQ1OTAzdHB5RUpHQlly?= =?utf-8?B?R2dLb3RBU2hXdEszZTJLRU1QR2QrbW9kZTlZaWF5dzFUdjh2MUVCNExCdnBz?= =?utf-8?B?Wjl0bm9HcU1ZTEk0Zk5ha05BRy9HMStlMjlKdVlFT0RrK1djbXNpZm5FMXEv?= =?utf-8?B?ZTdYTmxCTHBNMDdZbmJJZU05dkg5MzFmNnRXVVVVVFJGRzdyYS83dVUvWlVi?= =?utf-8?B?NE1EbElmMitJc2NkVEUvR3IyVWN5NzBnUGxxVGpIOW5ka0RnT29sK01hbFd6?= =?utf-8?B?Zm1yUmZoT3pQY0pKRSs2ajNxM2hEdFlDZHFvOWY5ZnhyWHNoNFJBZS9kZkxo?= =?utf-8?B?dERxYlJZOXJqSmwwZzRlUVVaYmVEbDUvZVk0STZRN3JWcGRHMW1PMnNPNkpF?= =?utf-8?B?TG9DTUlBYVppMGwrRnFXenN1RTgyWlBOK0RnYTB0QTdZaHVMUTBZb1p1NmVT?= =?utf-8?B?VDhqYmNxNDhtQlNxUnFtb3JzZjRHZDdXVnBBOFBYamNHZk5FRFFSV1NSRXp3?= =?utf-8?B?a3EvZldkZkE5R3p0cExTMUthaDJRNHlPSzdJK2FlZHpXRzM2ajF0OXlpRGNa?= =?utf-8?B?V1R2YmJob1NROUI2RXdrMUFBNC9lVVdOMUVXQVVGQUxMeWNabUdDdUZHQmZ1?= =?utf-8?B?eUYwNHNGbElneno5TW5LVGU3cUtqSVRrREpEQjhHVDFRd1lPYTFwaGZQSHBP?= =?utf-8?B?Q1A2Vmh1U1hBYVBmVmE0RjU2SC9VMUlmTjV3dmJ4Wnd2ZERKeU9hWlFjd2x0?= =?utf-8?B?TGNwOFBqRFhDTUNtczJjQ1FUb2R3eWZSR0dxbkpNL1hWVGlrUGtJYW9yQldS?= =?utf-8?B?QU04M1JNTXI3NzMrVFRQV0JuWUhReUFwRCtKRk5BKzA5V0tyem4vaGhYYmNj?= =?utf-8?B?TjRNQkZpYlB5d3FLWkJrL3lVeHdwRGthaGczelJRTEpQVTJmLzlIVnYvUGZC?= =?utf-8?B?aHpOdHJZTi9pTUV3ZmJNTjM1dGdoYlNjRG1pRm5DMXVqdmRvb3kwdC9LcGQ4?= =?utf-8?B?RGs1aFdvOWxJNzR3N0Vrdll3OVd1Sm1XU2dzS0xrOW9OcklWemJSUmlsd1dm?= =?utf-8?B?V3BDMVBzZ1hZYWMyTDVyV1ByVXh6NTNzaWI1L2NuSEc2TjczclJKbHN4MStq?= =?utf-8?B?RXpiQW45R1FFTkgyNzdITkprRW0veUh4c0QrYWVEeHFKVkpCWEF5eEJVM3ZS?= =?utf-8?B?SkhKaFZrSU9hb213SGVCZUVkTXNRU1dOL1Z0SU1QcHFmT2F5ZXBucFdWVkRC?= =?utf-8?B?YzBqK05CelZTNnRQa1M5TWhvYU91d1owcTdqYWF4dnBraEU2ajYwbjZkRWxs?= =?utf-8?B?cVFkQms2UmZ0Q21GL1JZTHVLN2QwQWRqYmJtUjBOSUJDMGtBOHVnNzZkVjVS?= =?utf-8?B?S2hvOHk2c1ROemJqMVJ5TEYvNjIwTEVFVGFpbERSSEtlanRLWnZ1dE00MzRF?= =?utf-8?B?cDdMU0ZLVHR0VEY4amZkZUNkZE10MmFsR1Z0aTNsM2k1LzZtdjdDUHZ4dHMx?= =?utf-8?B?Y0FzY3ZSNXRsbmFaKzNVNTZmdU9QMXliU0kwM2E3YXRZRnZQMVNRTWVoVTJP?= =?utf-8?B?UzM3R0I2U0hsZXR6OHFmNUlPU2pnamZNNXdwaC9IZERBbG9TeFIrUWQ0UmtO?= =?utf-8?B?d0lJM3M3OWppQzR0b1lXclRrUHpIekVGZDVnR0NiRTh4cEpUZjMzUEZEdzU2?= =?utf-8?Q?WDKrRNm3lzoPfWqrBfKTdZagT?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: marvell.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM4PR18MB4368.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a9ee4adf-65ad-41ca-9b51-08dce8433653 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Oct 2024 09:17:35.1416 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: ASe0hmFimqybO63NakogoId1Tm4Tp6u1j/GZ04B4FXl+ErbtdCbkqPzbReIg6vnrHO8vcgaKwk6GJoScGTrvew== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR18MB5555 X-Proofpoint-GUID: vfvXLhLaossC1x448X_hueoIZyuyuCo5 X-Proofpoint-ORIG-GUID: vfvXLhLaossC1x448X_hueoIZyuyuCo5 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.687,Hydra:6.0.235,FMLib:17.0.607.475 definitions=2020-10-13_15,2020-10-13_02,2020-04-07_01 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 Wy4uLl0NCj4NCj4+ICtpbnQNCj4+ICtydGVfcG11X2luaXQodm9pZCkNCj4+ICt7DQo+PiArCWlu dCByZXQ7DQo+PiArDQo+PiArCS8qIEFsbG93IGNhbGxpbmcgaW5pdCBmcm9tIG11bHRpcGxlIGNv bnRleHRzIHdpdGhpbiBhIHNpbmdsZQ0KPj4gdGhyZWFkLiBUaGlzIHNpbXBsaWZpZXMNCj4+ICsJ ICogcmVzb3VyY2UgbWFuYWdlbWVudCBhIGJpdCBlLmcgaW4gY2FzZSBmYXN0LXBhdGggdHJhY2Vw b2ludCBoYXMNCj4+IGFscmVhZHkgYmVlbiBlbmFibGVkDQo+PiArCSAqIHZpYSBjb21tYW5kIGxp bmUgYnV0IGFwcGxpY2F0aW9uIGRvZXNuJ3QgY2FyZSBlbm91Z2ggYW5kDQo+PiBwZXJmb3JtcyBp bml0L2ZpbmkgYWdhaW4uDQo+PiArCSAqLw0KPj4gKwlpZiAocnRlX3BtdS5pbml0aWFsaXplZCAh PSAwKSB7DQo+PiArCQlydGVfcG11LmluaXRpYWxpemVkKys7DQo+DQo+VGhpcyBpbmNyZW1lbnQg aXMgbm90IG11bHRpdGhyZWFkIHNhZmUsIGRvZXMgaXQgbmVlZCB0byBiZT8NCj4NCg0KVGhpcyB3 YXMgaW50cm9kdWNlZCAqc29sZWx5KiB0byBhbGxvdyBydW5uaW5nIGZhc3QtdGVzdCAocG11X2F1 dG90ZXN0KSBhbG9uZyB3aXRoIHRyYWNlX3BlcmZfYXV0b3Rlc3QuIFRoZSB0aGluZyBpcyBpZiB5 b3UgZXhlY3V0ZSBkcGRrLXRlc3QgYW5kIGhhdmUgZmFzdCB0cmFjZXBvaW50IG9wdGlvbiBlbmFi bGVkIHRoZW4gRUFMIHdpbGwgaW5pdGlhbGl6ZSBwbXUgYnkgaXRzZWxmLiBPVE9IIHBtdV9hdXRv dGVzdCBpcyBtb3JlIGZvciB0ZXN0aW5nIEFQSSBjYWxscyB0aGFuIGFueXRoaW5nIGVsc2Ugc28g aXQgaW5pdGlhbGl6ZXMgcG11IHRvby4gDQoNCkluIG9yZGVyIHRvIGF2b2lkIHRoaXMgc2l0dWF0 aW9uIHdoZXJlIHBtdSBnZXRzIGluaXRpYWxpemVkIHR3aWNlIHdlIGhhdmUgdGhhdCBjb3VudGVy Lg0KDQpJZiBzb21lb25lIGNhbGxzIHRoaXMgQVBJIGNvbmN1cnJlbnRseSB0aGVuIHdlIGluZGVl ZCBmYWNlIHN5bmNocm9uaXphdGlvbiBpc3N1ZXMgYXMgeW91IHJpZ2h0ZnVsbHkgcG9pbnRlZCBv dXQuIEkgZG9uJ3Qga25vdyB0byB3aGF0IGV4dGVudCBjYWxsaW5nIGluaXQvZmluaSBmcm9tIGRp ZmZlcmVudCBjb250ZXh0IHByb3ZlcyB1c2VmdWwgYnV0IEkgY2FuIGhhcmRlbiB0aGlzIHBhcnQg anVzdCBpbiBjYXNlLiBUaGFua3MgZm9yIHBvaW50aW5nIHRoaXMgY29udGV4dCBvdXQuIA0KDQo+ U2FtZSBhYm91dCB0aGUgZGVjcmVtZW50IGluIHJ0ZV9wbXVfZmluaSgpLg0KPg0KPj4gKwkJcmV0 dXJuIDA7DQo+PiArCX0NCj4NCj5XaXRoIHRoZSBhYm92ZSBmaXhlZCwgb3IgaWYgaXQgZG9lc24n dCBuZWVkIGZpeGluZywNCj4NCj5Gb3IgdGhlIHNlcmllcywNCj5BY2tlZC1ieTogTW9ydGVuIEJy w7hydXAgPG1iQHNtYXJ0c2hhcmVzeXN0ZW1zLmNvbT4NCj4NCj5UaGFuayB5b3UgZm9yIHJlc3Vt aW5nIHdvcmsgb24gdGhpcy4gOi0pDQoNCg==