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 5FEBBA0551; Wed, 7 Sep 2022 04:09:12 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D3894400D6; Wed, 7 Sep 2022 04:09:11 +0200 (CEST) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mails.dpdk.org (Postfix) with ESMTP id 58A0740042 for ; Wed, 7 Sep 2022 04:09:10 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1662516550; x=1694052550; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=XX3805PrTyLFLThfeFJT7QjCAwXfOayjSZpVKd+clAU=; b=mF8p1jhRK1EQuZbfJadHnY2z/Q5RrWfO+b87Nkj5eGIxDGCJAF6ZLrSS 0Lxv/oqYGhoA0Grvz25bzCTmyMjtOLn6gAH4psm9/FBKtw7FUfdeQLOqv 7c36mUeUi+hWPlenM8aMFuCQqQ5IdJg42x7mn7kWmmXlGR9+3NdhQ8n12 74tGYAOPtXbd3PVpCpdUyZNlAKCmBcBHsqTWSFShfOBvwl1af8nX25vKz cB5Cw0oSKD/45xHibwDVyqrR2QhalxnvnamStEVFlyiN7l0KMtKi7qf/r 30XN/6EVR6jQF2tNkH7m9njKC0seEzFr1Pt9U21UUOVP6t+up0ocPehxc g==; X-IronPort-AV: E=McAfee;i="6500,9779,10462"; a="279771537" X-IronPort-AV: E=Sophos;i="5.93,295,1654585200"; d="scan'208";a="279771537" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Sep 2022 19:09:09 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,295,1654585200"; d="scan'208";a="682630550" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by fmsmga004.fm.intel.com with ESMTP; 06 Sep 2022 19:09:08 -0700 Received: from fmsmsx609.amr.corp.intel.com (10.18.126.89) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Tue, 6 Sep 2022 19:09:08 -0700 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by fmsmsx609.amr.corp.intel.com (10.18.126.89) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Tue, 6 Sep 2022 19:09:07 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31 via Frontend Transport; Tue, 6 Sep 2022 19:09:07 -0700 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.101) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.31; Tue, 6 Sep 2022 19:09:07 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Pb1zdXmmuxuNiX8Qj26G6LNyDJGpQ3dSak43PC0k8kILIb2E8FchS+4nBNX9HuMDIpETwWhN/OCJIUUc4WOSLIKLKgarrI5yAKH0acBb74z1iFv5vUaZFNEZNEKMu6IBYjoHpuG+REvtbW+DoBZNiyR2KkcUKQ0dS5IbynuA2n8s17kz5nGuLAskwYC5sTa28vm68L9RnCFtaYcoN+hMMkNVdc6IbHbHW+m25xwVk7Vj3kCWunAqdkvudWYDWvDWDkdSRvVKbqHbsEtZHrYkUpIjNIMXv5vR9kInGk14RCofhQqtLGlVz0UEJ9hzUXQDC/L7U2fgqCc0iCnOO0mRUw== 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=XX3805PrTyLFLThfeFJT7QjCAwXfOayjSZpVKd+clAU=; b=MUDhiwET5iCORqn4Ri84cWpz1/LoVlcZ840OF/55wE1Zjf7xWJ4wcgTlceXkKKRzHcH9XRAfe4Q0syghPRTnLTHIglXT0xxDwXQKCTJflDvWU6MCfCeDt7SWKT3OTYlgwzQ2pP2qUZMLHbcMrkESSbl2c3DlVAfFUSUhy5VNrQk5ausxr83S2qUbCIk7ayjfkrFsEbD0pGRbj3aPTR/WN0k7ywor1aRDIcff89liA/J+lhBgxKhmzgzDSV0hB9y/wlaIAfJS1Ezmu5c/fTlxfpFc82mBk2GLRGO9NuAQRCKpJto2clVbvvbYzTo7nxeEL83eJnLYXQjPJPs2UfPqDA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from DM6PR11MB3723.namprd11.prod.outlook.com (2603:10b6:5:13f::25) by MWHPR11MB1648.namprd11.prod.outlook.com (2603:10b6:301:e::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.18; Wed, 7 Sep 2022 02:09:05 +0000 Received: from DM6PR11MB3723.namprd11.prod.outlook.com ([fe80::6c95:eaf7:e652:9301]) by DM6PR11MB3723.namprd11.prod.outlook.com ([fe80::6c95:eaf7:e652:9301%3]) with mapi id 15.20.5588.018; Wed, 7 Sep 2022 02:09:05 +0000 From: "Guo, Junfeng" To: Ferruh Yigit , "Zhang, Qi Z" , "Wu, Jingjing" CC: "dev@dpdk.org" , "Li, Xiaoyun" , "awogbemila@google.com" , "Richardson, Bruce" Subject: RE: [PATCH v2 00/10] introduce GVE PMD Thread-Topic: [PATCH v2 00/10] introduce GVE PMD Thread-Index: AQHYu4MzNVGZ92dagUS2Y1XXNHEcmq3K1vIAgAhuZgA= Date: Wed, 7 Sep 2022 02:09:05 +0000 Message-ID: References: <20220729193042.2764633-2-xiaoyun.li@intel.com> <20220829084127.934183-1-junfeng.guo@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.6.500.17 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: a9c70571-1d5f-4a40-aa28-08da9075f0d5 x-ms-traffictypediagnostic: MWHPR11MB1648:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: UJ+ZWYx9U2Wjl4vEJIaSWjlU782k9TfLIRAALx9+FK7tsGNcv6FKGCOaydopYKEti+GPstUpQEolTExd8sYMr0KOKzG1gf57Zny7Vm18EZClMbzi6jXsHQ4qSjWSfDRSEA5ZBgNAXwc9MLXTpjcXAEV6CWNSj7WUNhEJ25YMtvqVbPG1tfNbJ7kzTC4zY5N1W1lNXm0+TjwF9107BJwQCK2h9qSHP70PDJR5aSfHy+1yGFMd7xuFDoATNfv4ue4v7s8RiZyIyk4L+mrHKLYvKjSKmiU4NVyLY4obefzFtyXEA9GHkIJxJe6l5Q7/GZRa+jIeV4Ie2Edt1ZJV83AhcE6Zy27qTQjr1l/tdlu2/RR8f0JEW9UzMrzpstNr4NT2+XFKT5VkI/jrrsWKLMC6eiGhzHyqOBCSU0TptnKXTtx5GFYC/4WFQMcNoihGDscsgWjuEcsX6vujBDmrI+7tzdq7tb8vLB9bXO6BIA1XwKi9eRaMaJHI1c3LVegb/VpUDJqZSakcuwQKguFEmn2SMP1cxjLzM6fRwa1exDuetYaKrzgGG+RP9+aVJbHRGJKxJW7q+gfFe9XwcHSuKmPnKNeH1Zqgku0GEAvC3Y6ZSfja3fbl6Gn1xrvwo2LpBcHCKZglAw4zH+dOmS2GkSHSgZUFaD0jWxI7FRTrf17SM8PxrcS/whPLABXkfFMegTjZ/YVcauAk3kzO0efWrWNeEWpFuNYjZxeW4UpWSpivlCxdRPa0FkWEdwEuMBkeLOp9vG0Vp4YQSNyN3XvGZoZ/OFPMx1hSCShhWV8CP77Wjx6gj5cGZNFnI7ABRClmGwZFaoZT/kXotYTB7fJ9VJeMcQ== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR11MB3723.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(376002)(346002)(136003)(39860400002)(396003)(366004)(8676002)(122000001)(76116006)(4326008)(64756008)(82960400001)(66446008)(66476007)(66556008)(66946007)(38100700002)(41300700001)(966005)(71200400001)(186003)(53546011)(110136005)(6506007)(9686003)(7696005)(54906003)(55016003)(6636002)(478600001)(316002)(83380400001)(107886003)(2906002)(86362001)(33656002)(8936002)(5660300002)(26005)(52536014)(38070700005); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?TGxMVFdpS3ZvTDIzWHd5MkR3ZzFsK2ZpRmhpZ1JJN1Z2Q3A4NndMNWtlYkly?= =?utf-8?B?MG8xNjNuajBCdnFrUE5meTA3Y0RxbnJHVVVGYnRhcUNkWWI3dmRpL1FLZitu?= =?utf-8?B?bFhFMURaU0UxOGw5UGNSdUNlWTF1TUIzeWdEN3dyTlI5ZXZjWldOb2RxVnE3?= =?utf-8?B?UEE2c09jaVZidUFNVVB5Y1lyKzN6MWhhWFZoY2FoUERKTTc5T05XVi9kdDBF?= =?utf-8?B?SzRRbSszUmlPMU5LeEVJaHlPbmdHall1QmJwbWhMVDRpSGZrT2N1NUcrRHNI?= =?utf-8?B?TWw5REg1K0NWYUVzdG15UkltZXJ4c1lhby9QVjd3c3JkaXZwT1pkblRrU0xO?= =?utf-8?B?bCtDQ21Qb2JSZG1lQ0tORjVuT3N0VExBZDNxZG55amlPZ1VBd3Uwa215MFpT?= =?utf-8?B?akFPRFQzNGoxbkJXWHpYM0MwMGFhN1p3NGw0Q3hVcDV1djFBaTdYMkF5Qytn?= =?utf-8?B?WjBEVGFKb2NrQlFORTdqZTM4UVU3Ly96RnV2aWRROVc5VXJTdlNONGZpTC81?= =?utf-8?B?dXpzYWd6cXBnWjB2alhkR3IwYVI1Rnp0c1RBSzNrLzV6M3lmMEdoeXdaa05H?= =?utf-8?B?SlMraElITlVmNzlMQm84Y01UUXlCSFM4UFJ5TnNvdTgrN1cwNzd2V1ZtZWFp?= =?utf-8?B?Sm9wcTRRRlhxclcwZFBiK1hZamRyUGljTW43UStFb29Od2h2TDNicHdGVkgy?= =?utf-8?B?bURuZmJtL3lJRjJremNNNytMUG5IMHQ4Qy9DaDRtWXNLQkFpQkpubEdIM2tq?= =?utf-8?B?a0FLdEJVUnd4Vm53VWNEY0IvRW5lRkw4cDJGaHRyNFRHRDlVTmdPUDhSZGlK?= =?utf-8?B?dGs0STFOYXlja1Y0WHRTUjZTQ1F2L0xsMWhGcUdzazBRRkZhWFpMVmd0QXJi?= =?utf-8?B?QldHZGR1WklnRGlROUEwK0Y4MG1ndHNXdVh3WC9Qb0NHcTRydFJ6RFZWWGlR?= =?utf-8?B?VFNPNjZvNzJPaGM5dk1WazQvUkhSeXplUDVzUUQ4eHlVUjZyQkROVzZ6UTk4?= =?utf-8?B?ZERDd2JvTTdGdnpZdDlzMkZyQVdSU1habmRHZ1dWTmhSd2pYSGhLWkgzZllM?= =?utf-8?B?WHIxRWpTQmxVak5EQmEveTdEb2VCdytPMEdmWDNtaUJGaU9QMjNkSzFXNXNs?= =?utf-8?B?bVRYbWl2Y3NwcXgzNG9wV3JqckZwNkF1OXFNVWtJV2R2ampwc0pLa1E5Y0VQ?= =?utf-8?B?YmJ5NmxWekE5cndpWllOQkxTZ3dHaUdPcE9DQnhZN1dORmx5MTlXM0JNMnFy?= =?utf-8?B?NXpldUtNc0Y4SExlUU9iVWVCSkNRUGl3VVhiWFhHWkdZRlFGUk01ay80alR5?= =?utf-8?B?SVdmdU0zc3VmZS9iOERweklTSmJIaHpuSER6aFoza0RFcHljS1U0MGNKOUVI?= =?utf-8?B?NXBCZDBXNlc2cFBjSEJhSWNyUkx1TWRnbVc0VlBoSDg3NjZ3OTZCc2pVaFF5?= =?utf-8?B?Uy9aaDlJRW12ckxTOHNJQ2ZmM0xwQ2t2c3lxOUN5V3JYc2t4Z0J4cDdtcEg4?= =?utf-8?B?UGFPUlZrUEpaY3IvZmR6RElxSTVMRDd0VDkrY1Jqbm1weFZyNzlhMVZhVDZF?= =?utf-8?B?RjZpY21GNUJCL3ZIUkh5UnlQMTJpaVl3c0dIWE1pOVJRelBWTENEaUJlNzdz?= =?utf-8?B?MFFaTC9ZdktOYm9zeWRIUWNxZDlzcEloTkF6eWt4b1VEUXlhU1dxTEpMY2hH?= =?utf-8?B?V3ZYUFhCMllPZ2phWFZhNGE4eDJjOU9wamhQeTFUZDFOOTFndEM4aUtjcFBn?= =?utf-8?B?SG0yQVZRNWhxU3Q1bDIwZVpCd1hyWkIrTjJMbDdkc2ZHMFFEZktKWWtpd3lL?= =?utf-8?B?a3BpaS9IRGgzclltUEZFSmtOZkJIL2RpWDF5WlpkSlByOUVmT1oySXlLWmRI?= =?utf-8?B?aUphSUZoQ1JLM0k0cld3SGtJM1Y2S0xsQzZNM0ZzMGpuTFB6UUEvNkpYVVRu?= =?utf-8?B?cmJLUnZ2TGVPK0Q3Y0U3WnVKdVowb0t6SUliUVpyaEc3OWhvVTRZZXllVXph?= =?utf-8?B?NUo4VzhNdzhmNjNnWVh3S2QzTTJnM09yRFJ4QkJPblVyQmZ5eUpaYW5MZGV0?= =?utf-8?B?UFovQ1d2Z2lCWlRNdEprVVZueHZHM3diRUFzdExlWGdYVGVJbVQ1cXRoako5?= =?utf-8?Q?bF0R60GYcB7Updxntl11bx2gD?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR11MB3723.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a9c70571-1d5f-4a40-aa28-08da9075f0d5 X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Sep 2022 02:09:05.1829 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: XBDYgcEZrUJhjUYyPAyQ0jADPX3MQwQE1Q8SoCJ8bPImnYQ8fkz3bLydgVERTzL8UWRdr9jY5rUx32VRBrTMpw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR11MB1648 X-OriginatorOrg: intel.com 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 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogRmVycnVoIFlpZ2l0IDxm ZXJydWgueWlnaXRAeGlsaW54LmNvbT4NCj4gU2VudDogRnJpZGF5LCBTZXB0ZW1iZXIgMiwgMjAy MiAwMToxOQ0KPiBUbzogR3VvLCBKdW5mZW5nIDxqdW5mZW5nLmd1b0BpbnRlbC5jb20+OyBaaGFu ZywgUWkgWg0KPiA8cWkuei56aGFuZ0BpbnRlbC5jb20+OyBXdSwgSmluZ2ppbmcgPGppbmdqaW5n Lnd1QGludGVsLmNvbT4NCj4gQ2M6IGRldkBkcGRrLm9yZzsgTGksIFhpYW95dW4gPHhpYW95dW4u bGlAaW50ZWwuY29tPjsNCj4gYXdvZ2JlbWlsYUBnb29nbGUuY29tOyBSaWNoYXJkc29uLCBCcnVj ZQ0KPiA8YnJ1Y2UucmljaGFyZHNvbkBpbnRlbC5jb20+DQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0gg djIgMDAvMTBdIGludHJvZHVjZSBHVkUgUE1EDQo+IA0KPiBPbiA4LzI5LzIwMjIgOTo0MSBBTSwg SnVuZmVuZyBHdW8gd3JvdGU6DQo+IA0KPiA+DQo+ID4gSW50cm9kdWNlIGEgbmV3IFBNRCBmb3Ig R29vZ2xlIFZpcnR1YWwgRXRoZXJuZXQgKEdWRSkuDQo+ID4NCj4gPiBUaGlzIHBhdGNoIHNldCBy ZXF1aXJlcyBhbiBleGNlcHRpb24gZm9yIE1JVCBsaWNlbnNlIGZvciBHVkUgYmFzZSBjb2RlLg0K PiA+IEFuZCB0aGUgYmFzZSBjb2RlIGluY2x1ZGVzIHRoZSBmb2xsb3dpbmcgZmlsZXM6DQo+ID4g ICAgICAgICAgLSBndmVfYWRtaW5xLmMNCj4gPiAgICAgICAgICAtIGd2ZV9hZG1pbnEuaA0KPiA+ ICAgICAgICAgIC0gZ3ZlX2Rlc2MuaA0KPiA+ICAgICAgICAgIC0gZ3ZlX2Rlc2NfZHFvLmgNCj4g PiAgICAgICAgICAtIGd2ZV9yZWdpc3Rlci5oDQo+ID4NCj4gPiBJdCdzIGJhc2VkIG9uIEdWRSBr ZXJuZWwgZHJpdmVyIHYxLjMuMCBhbmQgdGhlIG9yaWdpbmFsIGNvZGUgaXMgaW4NCj4gPiBodHRw czovL2dpdGh1Yi5jb20vR29vZ2xlQ2xvdWRQbGF0Zm9ybS9jb21wdXRlLXZpcnR1YWwtZXRoZXJu ZXQtDQo+IGxpbnV4L3RyZWUvdjEuMy4wDQo+ID4NCj4gPiB2MjoNCj4gPiBmaXggc29tZSBDSSBj aGVjayBlcnJvci4NCj4gPg0KPiA+IEp1bmZlbmcgR3VvICgxMCk6DQo+ID4gICAgbmV0L2d2ZTog aW50cm9kdWNlIEdWRSBQTUQgYmFzZSBjb2RlDQo+ID4gICAgbmV0L2d2ZTogYWRkIGxvZ3MgYW5k IE9TIHNwZWNpZmljIGltcGxlbWVudGF0aW9uDQo+ID4gICAgbmV0L2d2ZTogc3VwcG9ydCBkZXZp Y2UgaW5pdGlhbGl6YXRpb24NCj4gPiAgICBuZXQvZ3ZlOiBhZGQgbGluayB1cGRhdGUgc3VwcG9y dA0KPiA+ICAgIG5ldC9ndmU6IGFkZCBNVFUgc2V0IHN1cHBvcnQNCj4gPiAgICBuZXQvZ3ZlOiBh ZGQgcXVldWUgb3BlcmF0aW9ucw0KPiA+ICAgIG5ldC9ndmU6IGFkZCBSeC9UeCBzdXBwb3J0DQo+ ID4gICAgbmV0L2d2ZTogYWRkIHN1cHBvcnQgdG8gZ2V0IGRldiBpbmZvIGFuZCBjb25maWd1cmUg ZGV2DQo+ID4gICAgbmV0L2d2ZTogYWRkIHN0YXRzIHN1cHBvcnQNCj4gPiAgICBkb2M6IHVwZGF0 ZSBkb2N1bWVudGF0aW9uDQo+ID4NCj4gDQo+IFBsZWFzZSBjaGVjayBidWlsZCBlcnJvciByZXBv cnRlZCBieSBDSToNCj4gaHR0cHM6Ly9wYXRjaGVzLmRwZGsub3JnL3Byb2plY3QvZHBkay9wYXRj aC8yMDIyMDgyOTA4NDEyNy45MzQxODMtDQo+IDExLWp1bmZlbmcuZ3VvQGludGVsLmNvbS8NCj4g DQo+IEkgYW0gYWxzbyBnZXR0aW5nIHZhcmlvdXMgYnVpbGQgZXJyb3JzLCBldmVuIG5vdCBhYmxl IHRvIHJlYWNoIHBhdGNoIGJ5DQo+IHBhdGNoIGJ1aWxkIHN0YWdlIHdoZXJlIEkgZXhwZWN0IHNv bWUgaXNzdWVzLCBjYW4geW91IHBsZWFzZSB2ZXJpZnkNCj4gcGF0Y2ggYnkgcGF0Y2ggYnVpbGQg aW4gbmV4dCB2ZXJzaW9uPw0KDQpTdXJlLCB0aGFua3MgZm9yIHJlbWluZGluZyENClRoZSBjb21w aWxlL2J1aWxkIGlzc3VlcyBhcmUgYmVpbmcgaGFuZGxlZCBpbiBwcm9jZXNzIG5vdy4gDQpUaGFu a3MhDQoNCg==