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 223FB42DC2; Mon, 3 Jul 2023 10:54:16 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E973540ED5; Mon, 3 Jul 2023 10:54:15 +0200 (CEST) Received: from mga06.intel.com (mga06b.intel.com [134.134.136.31]) by mails.dpdk.org (Postfix) with ESMTP id 95FE440156; Mon, 3 Jul 2023 10:54:13 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1688374453; x=1719910453; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=tDCjZtggQQsUoknVQuFMvgA+Sw7F7mOcNZ0zrvheHwA=; b=eKcOgbUnS+GqSEV3tWRaATv+VaPpcLXtLrgJAy0YlyrdVmmXzbkw2cXg 2R0zEM5WLhb4N9CUunwCdwm8PheYGYVLgeDdlCpNSS2ep7Y7UQ0ns5JiE jyFkbe9BLWrTzvdl0r+vxQ+CpAfVVwIIB8iDEK1HHf/5ZCD8copPHvW6n Sb64gTorqgrYyrV40464LQgDhDmd4sUMOJw9rFf7teVEjljn2onmz/NWb lbq5GnZLpR8NTRA1e+lVb3k7JSEHrBE5N8BwdkSPmuoqARBNu2xC3YCdX ADOq+pvjAUdxyo03nmN4RZZVReXJBZ1b5Dl3ggbJFIWhUFuJzEFFPjuPX A==; X-IronPort-AV: E=McAfee;i="6600,9927,10759"; a="426514868" X-IronPort-AV: E=Sophos;i="6.01,177,1684825200"; d="scan'208";a="426514868" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Jul 2023 01:54:13 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10759"; a="718533045" X-IronPort-AV: E=Sophos;i="6.01,177,1684825200"; d="scan'208";a="718533045" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by orsmga002.jf.intel.com with ESMTP; 03 Jul 2023 01:54:12 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) 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.2507.27; Mon, 3 Jul 2023 01:54:12 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27 via Frontend Transport; Mon, 3 Jul 2023 01:54:12 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.168) 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.2507.27; Mon, 3 Jul 2023 01:54:11 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aEIKEPCIgl/6NedhQddL10X8lzN6++2IK0K73lSeUKzqGdbE3l79JCPdMkLIcSUunm96c9/jxZwsdTvDvJFdyFgjaDN05dahlRuE+9Hiamd0E8rCjh6Xv2Sp7w7spw+6xwc4gbmw1B/F14wc9ut2HKP7aw57gin92Ou8H5oCPwmOdjRn0ugWhZ/Hy8Y/JTkicHyiVsYw0wVW7wN7fL3VuXJxZjYE/uylsjo/gMew6uj99Ra2n+Zg3rvQNWBgsfF19iOddju80U8o/N8NlwRY0L/3qYMDS+MAZMonv6Yrws0jXKrcL/Mxd8uKKgpIu8x0y36p90Z8AJHPcPZUr6p2SA== 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=tDCjZtggQQsUoknVQuFMvgA+Sw7F7mOcNZ0zrvheHwA=; b=BzQU2ydSzkoLlLOS3wXoOKZVl1AyvADFu2+QKYFW6zBkk5r2WjT2IUoL2CHauZE1ERpz25tYsU3Yp3sYrrVaFrYipV9PjsyC88TuUavrP/Wa223f/jSNDBMCNSmxq5y5sQPYrnFk5f3ayrRzceVH2+wuk4AkKgoNwmBXfaUnkeMzLqH748F6157TNHTTIt/AldLv6HH9qy3HngdC1yKPJFWYiednaVUrrbOAAOm0C23hGvkRuxJVzuiifS49mTpfgXQvh7HjpiGiSHyhKiQljOEG0GbCiYiW6SKo+Whr9vlfroYGeuxsp5O/3Na6TLNQN+b2rXslba2lwvP47jm3bQ== 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 CO1PR11MB4900.namprd11.prod.outlook.com (2603:10b6:303:9e::8) by CY5PR11MB6090.namprd11.prod.outlook.com (2603:10b6:930:2e::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6544.24; Mon, 3 Jul 2023 08:54:09 +0000 Received: from CO1PR11MB4900.namprd11.prod.outlook.com ([fe80::61a9:60d1:6cb1:8d38]) by CO1PR11MB4900.namprd11.prod.outlook.com ([fe80::61a9:60d1:6cb1:8d38%7]) with mapi id 15.20.6544.024; Mon, 3 Jul 2023 08:54:09 +0000 From: "Li, Miao" To: David Marchand CC: "dev@dpdk.org" , "stable@dpdk.org" , Maxime Coquelin , "Xia, Chenbo" Subject: RE: [PATCH v2 1/2] net/virtio: fix legacy device IO port map in secondary process Thread-Topic: [PATCH v2 1/2] net/virtio: fix legacy device IO port map in secondary process Thread-Index: AQHZqjFGQarhWcHjJUai2NamrXCkvK+nsOKAgAALYYA= Date: Mon, 3 Jul 2023 08:54:09 +0000 Message-ID: References: <20230628063651.178604-1-miao.li@intel.com> <20230629022653.263046-1-miao.li@intel.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=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CO1PR11MB4900:EE_|CY5PR11MB6090:EE_ x-ms-office365-filtering-correlation-id: 2c29c130-74fc-48a3-f70b-08db7ba310e0 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: LtvrX8ecqWEiHLtdA2TomTuS4pK50aFzTcimHLhMcQL/hyxQdaaFYFRQShIfJzfm8MgFHwr3aIVXaPYyzW6kqVmz3nBhKZcFL3oQ6+FGLd0bOg848KuW5ZfygtKIYd+LRqugp67R/6Mk/6LR2HO51u7POpraFofcEwxamKjait0TRjIav5M2bif0UE8/3D01NvJJFAL6gSoXVzykSQ/ZmnGMi26YtsU0YZh8umUXKlEUghpxAKcPal9s6Raj+XV8SFisC7wEbLw5UWKMVBBLcKzVaO7uWiKFPrKG8bjagry3x+sLLy0NEfbE8cINGF2POU60+fwPgHzxBQs8p7FNIDa7q5ut2v1/eLh+F6I0n0trVFec/hLg0i2FDQ1iTTl5lgr3XgNWZtOtjEKfgFroWc38kcAv5r+V2fLrKUzOakiVfddVyS0EQldiu4gc8V9zfQjm3hEmIJY0OncXsvmLoXcJ9DafvZb61mN5RoS//BnRDx1MEazMmTvZLs3b+6TGXdf/KmeEVL2rrUwkIL/kH9nG6IpRe8IUeXDuaJVL51ptwukUnSSiQ3l+NGToaffi7ZkBPRq2yhvg+FkSD2yulpKg+VfKqHf3DsKrHq+g1a4vHZ0PXcYvWfvo7bkaAQH8 x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CO1PR11MB4900.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(396003)(136003)(376002)(39860400002)(366004)(346002)(451199021)(38100700002)(71200400001)(33656002)(2906002)(7696005)(8936002)(38070700005)(54906003)(8676002)(55016003)(41300700001)(52536014)(5660300002)(478600001)(76116006)(9686003)(6916009)(66946007)(186003)(64756008)(66556008)(86362001)(107886003)(53546011)(26005)(6506007)(66476007)(66446008)(4326008)(316002)(122000001)(83380400001)(82960400001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?V0dvRGdKK0lWZ2VRRm0ya2FNWllwSUNSNDVBMm1tVitJUVZJK2FsL3F4Z3BL?= =?utf-8?B?djZyckpqeU16QWs1K2NDd2ZjWDlsTUo0RWI5QWJGcFlEN2NmcFBqcXVYcXJ0?= =?utf-8?B?cms5bmdCai81SjcrMDdBVDIwdGdNQjB5OUhWQzJEdjdMUlBRQ2g1MjNVZ3dj?= =?utf-8?B?QmpadjBxTjVuWjJ3dUFqT1dvZGhnZG80alJjSU9rV1E4OEtreFZDT3RJODRC?= =?utf-8?B?N1BoUWpMZDBxdlVzTzQwNTVtb3A1QXo5amdTZk93UXBLV0syYTFlYWVXM2dN?= =?utf-8?B?N1NJTDBEY2ZiejE5NmpZcUpzZzE1RCtlU0ppQmxLckpNdStVdGQwZkdBeTZr?= =?utf-8?B?ZDUxZGNOTVdxVTJCVWk2L0doYVk5Q2ZqRGFnTFM5Vi9WRzk2NzVpU3lpajQ3?= =?utf-8?B?RnpicW1Tdnl6STh3NDFRZW5Ic2E3THM3WDl3Zkx6QlRQUWR1dm1MRTZZaGUv?= =?utf-8?B?TEVMQmFQYzJMYzh6d1F0L1RiVnhGalVpc00rTWZBZjdpMFFLU05pWUhKMUIz?= =?utf-8?B?dysxdnVqWExhUElKeFFXZHdYT2QvWGt6REtWQ3N6ZVA0cWJhaVJOV1hiTTBs?= =?utf-8?B?MFhCSXVLMnpVOU5maGVJbENmT3BaY240M2VDRkpwVkpoVWhtaUlqbDhSeXgz?= =?utf-8?B?enNxeE9qMmY3aHhiYUFNOWpaaEpmdWxRQWZJWGNwZ0FyNERWUVhqUTloWnRy?= =?utf-8?B?eGd5SXVieUVEOHF2akZDdFlCb1dib0hVUUFZTnl4elk4ZEp3WTZ6K0k4dDRT?= =?utf-8?B?TTFyUlFHa3RQSU9vZHZOTTBPS2oxYkFuMDR6WkNVZThrOEpYN1BMbkt5MGxC?= =?utf-8?B?cmhRK0IvdXRBMUo2UXRaZDJqWkRBY0Q2MGRmb0tBUnlnWllXa3dMRWRWTlhK?= =?utf-8?B?eFA1YmtEdUplci9UU0o4cWZncEFHeVduR09TeURad08wejhRU3JmRUhHK3c4?= =?utf-8?B?N01zeTVjS3hFbmEySWFJZk40ZWJ3ZVRISlBDY3ZNZlp1elpZU2x6NTB4c1Vt?= =?utf-8?B?UWFraFdXWDI0aVFOV1M0Zzh5R3pxdjg5M1A1QlN5N1RVSzlTbzlkby9YZFBw?= =?utf-8?B?bzNxQTgwZGk4bHFXaVZTUlZkOU1UVWNOMWV5QlFudUVwWHZ6WHgzM3ZFdm53?= =?utf-8?B?RVJoUkVqRDY5Zmg0MmRaaVpVc2ZCMVB0QkRQSUpKME13cXNlOFUxOTF4VHNz?= =?utf-8?B?Um1PUnRvZlNpa09KUWtTdTdJa0lQM2VkM2ZLQVJ0eVdoZ0w1L2R5NGxtVDZ4?= =?utf-8?B?K0hDclV0U00xdWZpZzJKYyttcVREcnJ6S245eTJBdHFpeWRMU1hPdXZtWXB2?= =?utf-8?B?b2d6VmkwZ1ZDMzRvQkJES1plclQ1b3prMHZzY0pWN1lEc0g2VDJKaGxSWGlK?= =?utf-8?B?NkcxWmNYZjZyRmRhdEhCQUpOMEovL0Ftck1EcXo4blRpUkw3ZTUzQjQ0eDVz?= =?utf-8?B?anBINGlqdjk1UXZYTTBKN3NsRlBlTXBXRDNuQ0V6ZDI4SGJNL01EOGhmKzB1?= =?utf-8?B?ZERDalJVWWJXQnZjamFNbStuejJPcDJTZjNpamFZVHBCeUd2VVFLdno0dnhS?= =?utf-8?B?cWVnMGNvQ0tsRHA2bFozeTUyRU9nbnVPRC9JTnNOTXp0SGtRUGhZUjRiTmNQ?= =?utf-8?B?VU4wRm1HNXl4UkZrMDNYOXZZaVAySHZqZ1h4Y25UZ0NzWEl1b3BkbkwzMld4?= =?utf-8?B?MUZnM1BHZS8vS2ZCRUJGQlQ4ZFU5bjRyK3ovQnZMZjNUVDZ4Y3NybkJNOVZp?= =?utf-8?B?YWk3U3lmN0hOMTh3N3pYODExUjU3dCs2Y0tVTW9qTTd6VVdTSzRBb3pqVWxJ?= =?utf-8?B?U0lBM3V5MzZFSG5KQVU5dGhVRlMyZlJnV2ZmSDBESis4dENiVFVkN2xVWmhS?= =?utf-8?B?RWdmWGJpTys3SS9rSVE3ckdGWEtzR0JTcnh6b09xTGN0dXdNd3FzZVF1VEpv?= =?utf-8?B?N2JxOHZqMXB5K0VSMEpQei9qNkJtS3F3ZXgxWnBCaU1FUnVLdnp5dmtoSWM0?= =?utf-8?B?Zys1a0xTU3htUHN1SXpDZHkyQmF5VW8rbmtsTExpYksxc2l2NyttTzFWOHJG?= =?utf-8?B?WHRiWDU0MG9mRGVSM1VKaHRUMlRSSmtRaDZUd3A2V3c1L21YRXo2azg1Nng0?= =?utf-8?Q?ZSig=3D?= 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: CO1PR11MB4900.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2c29c130-74fc-48a3-f70b-08db7ba310e0 X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Jul 2023 08:54:09.6056 (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: DQSZja2VFNwV4jDF+XffBr8gZ3zL58FNpSC7d4jtSgbM2o/ki2qPi7WZ3MEmEjdmzAz5IGnpgyxCuR9iVr8y3A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR11MB6090 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 SGksDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogRGF2aWQgTWFyY2hh bmQgPGRhdmlkLm1hcmNoYW5kQHJlZGhhdC5jb20+DQo+IFNlbnQ6IE1vbmRheSwgSnVseSAzLCAy MDIzIDM6NDggUE0NCj4gVG86IExpLCBNaWFvIDxtaWFvLmxpQGludGVsLmNvbT4NCj4gQ2M6IGRl dkBkcGRrLm9yZzsgc3RhYmxlQGRwZGsub3JnOyBNYXhpbWUgQ29xdWVsaW4NCj4gPG1heGltZS5j b3F1ZWxpbkByZWRoYXQuY29tPjsgWGlhLCBDaGVuYm8gPGNoZW5iby54aWFAaW50ZWwuY29tPg0K PiBTdWJqZWN0OiBSZTogW1BBVENIIHYyIDEvMl0gbmV0L3ZpcnRpbzogZml4IGxlZ2FjeSBkZXZp Y2UgSU8gcG9ydCBtYXAgaW4NCj4gc2Vjb25kYXJ5IHByb2Nlc3MNCj4gDQo+IE9uIFRodSwgSnVu IDI5LCAyMDIzIGF0IDQ6MjfigK9BTSBNaWFvIExpIDxtaWFvLmxpQGludGVsLmNvbT4gd3JvdGU6 DQo+ID4NCj4gPiBXaGVuIGRvaW5nIElPIHBvcnQgbWFwIGZvciBsZWdhY3kgZGV2aWNlIGluIHNl Y29uZGFyeSBwcm9jZXNzLA0KPiA+IHZmaW9fY2ZnIHNldHVwIGZvciBsZWdhY3kgZGV2aWNlIGxp a2UgdmZpb19ncm91cF9mZCBhbmQgdmZpb19kZXZfZmQgaXMNCj4gPiBtaXNzaW5nLiBTbywgaW4g c2Vjb25kYXJ5IHByb2Nlc3MsIHJ0ZV9wY2lfbWFwX2RldmljZSBpcyBhZGRlZCBmb3INCj4gPiBs ZWdhY3kgZGV2aWNlIHRvIHNldHVwIHZmaW9fY2ZnIGFuZCBmaWxsIGluIHJlZ2lvbiBpbmZvIGxp a2UgaW4NCj4gPiBwcmltYXJ5IHByb2Nlc3MuDQo+IA0KPiBJIHRoaW5rLCBpbiBsZWdhY3kgbW9k ZSwgdGhlcmUgaXMgbm8gUENJIG1hcHBhYmxlIG1lbW9yeS4NCj4gU28gdGhlcmUgc2hvdWxkIGJl IG5vIG5lZWQgZm9yIHRoaXMgY2FsbCB0byBydGVfcGNpX21hcF9kZXZpY2UuDQo+IA0KPiBXaGF0 IGlzIG1pc3NpbmcgaXMgYSB2ZmlvIHNldHVwLCBpcyB0aGlzIGNvcnJlY3Q/DQo+IEknZCByYXRo ZXIgc2VlIHRoaXMgaXNzdWUgYmUgZml4ZWQgaW4gdGhlIHBjaV92ZmlvX2lvcG9ydF9tYXAoKSBm dW5jdGlvbi4NCj4gDQpJZiBhZGRpbmcgdmZpbyBzZXR1cCBpbiB0aGUgcGNpX3ZmaW9faW9wb3J0 X21hcCgpIGZ1bmN0aW9uLCB2ZmlvIHdpbGwgYmUgc2V0dXAgdHdpY2UgaW4gcHJpbWFyeSBwcm9j ZXNzIGJlY2F1c2UgcnRlX3BjaV9tYXBfZGV2aWNlIHdpbGwgYmUgY2FsbGVkIGZvciBsZWdhY3kg ZGV2aWNlIGluIHByaW1hcnkgcHJvY2Vzcy4NCkkgYWRkIElPIHBvcnQgcmVnaW9uIGNoZWNrIHRv IHNraXAgcmVnaW9uIG1hcCBpbiB0aGUgbmV4dCBwYXRjaC4NCj4gDQo+ID4+IEZpeGVzOiA1MTJl MjdlZWI3NDMgKCJuZXQvdmlydGlvOiBtb3ZlIFBDSSBzcGVjaWZpYyBkZXYgaW5pdCB0byBQQ0kN Cj4gPj4gZXRoZGV2IGluaXQiKQ0KPiANCj4gVGhpcyBjb21taXQgb25seSBtb3ZlZCBjb2RlLCBh bmQgYXQgdGhpcyBwb2ludCwgdGhlcmUgd2FzIG5vIG5lZWQgZm9yIGEgY2FsbCB0bw0KPiBydGVf cGNpX21hcF9kZXZpY2UgaW4gdGhlIHNlY29uZGFyeSBwcm9jZXNzIGNhc2UuDQo+IEl0IHNlZW1z IHVubGlrZWx5IHRoaXMgaXMgYSBmYXVsdHkgY2hhbmdlLg0KPiANCj4gVGhlIHJlY2VudCBhZGRp dGlvbiBvbiB0aGUgdmZpbyBzaWRlIHNlZW1zIGEgYmV0dGVyIGN1bHByaXQsIGJ1dCBJIGFtIGZp bmUgd2l0aA0KPiBiZWluZyBwcm92ZW4gd3JvbmcgOi0pLg0KPiANClllcywgIHRoZSBmaXggY29t bWl0IGlzIHdyb25nLCBidXQgbm90IHRoZSByZWNlbnQgYWRkaXRpb24gY29tbWl0IG9uIHRoZSB2 ZmlvIHNpZGUuIEJlY2F1c2UgdGhlIHJvb3QgY2F1c2UgaXMgbWlzc2luZyBhIHZmaW8gc2V0dXAu IEFmdGVyIGFkZGluZyByZWNlbnQgYWRkaXRpb24gY29tbWl0LCB0aGUgdW5pbml0aWFsaXplZCB2 ZmlvX2NmZyBpbmZvKGxpa2UgdmZpb19kZXZfZmQsIHJlZ2lvbiBpbmZvKSB3aWxsIGJlIHVzZWQg c28gdGhpcyBidWcgd2lsbCBiZSBmb3VuZC4gSSB0aGluayB0aGUgY29ycmVjdCBmaXggY29tbWl0 IHdpbGwgYmUgNmQ4OTBmOGFiNTEyKCJuZXQvdmlydGlvOiBmaXggbXVsdGlwbGUgcHJvY2VzcyBz dXBwb3J0IikuDQo+IA0KPiA+IENjOiBzdGFibGVAZHBkay5vcmcNCj4gPg0KPiA+IFNpZ25lZC1v ZmYtYnk6IE1pYW8gTGkgPG1pYW8ubGlAaW50ZWwuY29tPg0KPiANCj4gDQo+IC0tDQo+IERhdmlk IE1hcmNoYW5kDQoNClRoYW5rcywNCk1pYW8gTGkNCg0K