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 3DA68A0C41; Wed, 15 Sep 2021 09:02:25 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E593B4003F; Wed, 15 Sep 2021 09:02:24 +0200 (CEST) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mails.dpdk.org (Postfix) with ESMTP id D2A214003C for ; Wed, 15 Sep 2021 09:02:22 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10107"; a="285931405" X-IronPort-AV: E=Sophos;i="5.85,294,1624345200"; d="scan'208";a="285931405" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Sep 2021 00:02:21 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,294,1624345200"; d="scan'208";a="516275078" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by orsmga001.jf.intel.com with ESMTP; 15 Sep 2021 00:02:21 -0700 Received: from fmsmsx601.amr.corp.intel.com (10.18.126.81) 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.2242.12; Wed, 15 Sep 2021 00:02:21 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Wed, 15 Sep 2021 00:02:20 -0700 Received: from NAM02-BN1-obe.outbound.protection.outlook.com (104.47.51.42) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.12; Wed, 15 Sep 2021 00:02:19 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OxSnX6wB037idsrwdPi/kFYplrolxalRS7B++tkK4o8/EAo2fb9TQmWtcJUsHNEfrEAemWD2BFi5CTcfyZhmBmhqhhvNF2AoXpxqQjpZvU0zENQnSd2JeVgj5wjUDN9PJCfCINSmB7uvFxZn9V7y1yjv4r7CI3JyVzJPQOiOXkAvgEJgNNfkhwINLlV5KAOmMo8AsVZjRJtEc6T8mgg4D4Q/Fq2yMfLuynsk02PYcl2wpsqRGGPA+u95io6kpV135NPCq6BoyiG9cvtGdafYQwch3Vp8B1jwIrUuquGdqMccmCF5oN/lG3Fqj0mJRbCbQgw9E7GZUcPmqC7c6oXK6g== 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; bh=LwZcY+hFp5j+eYbg+bVdL6o16tQGQcm7P3G4FjuXTGM=; b=IfmfsRDs9J/JlOfM1W4DMCAXjZpEkWz+lOT+gAq7mOtXY48G9d4k4619+BOzG+/mca819L6GPNwvfhsVPKeLIlqPIH04K6SJN3PszQaTQ3iiP94QZkmv6a3z287nicgaTiYI6HeVkNDZR2xImTwtaGPle3M72tukGXYuGNIIjyeMtdhiWzbIOIZnPYLdA8dDitxoEAKDqUQsy5kdrKkSlIkd5YMImMYkFgKmFb/+2+aUpF+BtRc02wDItIoBYBnSEJtPftG6E5NH/fENt3e0T+wUhIQ9nVajKJDIDjl9iQDMcGNHwFAj8nNj0Cw0PcDkT9cTRch9yGeDtwXx7t+Eag== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=LwZcY+hFp5j+eYbg+bVdL6o16tQGQcm7P3G4FjuXTGM=; b=Yhq3sXK191q97cos4EuBW8IvxPGpSZ80BXF7//e+0yhbYdLB+Vn8dX4oJ+Ym5j5jv2cCbdW3eKceBhUEDpMLhaZly+nT+nh/gcX1fqJUrDrAcs09tJ6DGkIYU1PpqXo/lZrZByOPXE4lKSZprcGPQG8Tcpn9oU9D9jejhAPzoX8= Received: from MN2PR11MB4063.namprd11.prod.outlook.com (2603:10b6:208:13f::22) by BL3PR11MB5745.namprd11.prod.outlook.com (2603:10b6:208:352::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4500.15; Wed, 15 Sep 2021 07:02:15 +0000 Received: from MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::6873:dced:7f68:801]) by MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::6873:dced:7f68:801%3]) with mapi id 15.20.4523.014; Wed, 15 Sep 2021 07:02:15 +0000 From: "Xia, Chenbo" To: "Wang, YuanX" , "dev@dpdk.org" CC: "maxime.coquelin@redhat.com" , "Pai G, Sunil" , "Hu, Jiayu" , "Ding, Xuan" , "Jiang, Cheng1" , "Ma, WenwuX" , "Yang, YvonneX" Thread-Topic: [PATCH 1/2] vhost: support to clear in-flight packets for async dequeue Thread-Index: AQHXpUn+iNSMN+6U20Shbzuw1PTMs6uktAkQ Date: Wed, 15 Sep 2021 07:02:15 +0000 Message-ID: References: <20210909065807.812145-1-yuanx.wang@intel.com> <20210909065807.812145-2-yuanx.wang@intel.com> In-Reply-To: <20210909065807.812145-2-yuanx.wang@intel.com> Accept-Language: en-US, zh-CN Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 8c67b50d-c712-4afa-57c7-08d97816c022 x-ms-traffictypediagnostic: BL3PR11MB5745: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:366; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: lCSUvvUWcwuV8lA+Omxar2DRoQnPJh0A6aJhTqqlep+B5b4F+DsR1Uj9ttkV6ShNyYSmZm4WHUX4uyvW4Qw0uavZ/Tsd6tfNNm63ET6YfaBxoEmJIig3vY8KiPxmFGvec3JcfznaYPhHiOtuN6ZpHMMpm5yTPzaHqDOSu9h+3/zEso0c1AMeqkes8Kf0o1fkH02c+tcCkxpUQCY7w+gKeKVCqWz7xTm7eLwvfsM4FhBfaRY6llBkzvqGfQgYhuHndwxe7xAnfyatbBNpDks7zwy4Vi+dBsEC7tijbmHaGm+UeZgCD3lYnyR3pQdLsWBCL8nYVnpQ6ta6eoCxk/vUSkseDsKY+ScwQXxcGT7GSz3KzGJPlJskxl6iTTz5Wi5Kxe86y4lANnLCItfiWOrNN9n67LZvzDthmPZfsR2la4Y6n9gsKM1xhhMhzHSZbO7N089V8kjtFOBWM4gPhyr5v7KOGFydW/0ZfXWm5BlIT80KmKHneAIqhynLma1+nwyCdu4Dc7LHmWMRV27TukYpXH79MuWxBZyFIn/I/6X+CbOADUTDMuPdhGdPusN0sCaoj+dNB+Bd187L/bceHdVF7RTnt1SYpTa6El+XwQA3r0y4Dkb+LvxNclJSe2wtLkzSeXXeEXdhclxTr87P+azW7Yd9CWrREMxqHsdS+0fjOovbvnBvTv8LCaFcGmiXh+KUuTuo7ycY4bshv0/qUxB8gg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR11MB4063.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(346002)(376002)(39860400002)(396003)(366004)(136003)(52536014)(8676002)(66476007)(66556008)(83380400001)(38100700002)(38070700005)(76116006)(54906003)(9686003)(64756008)(66946007)(122000001)(66446008)(86362001)(7696005)(110136005)(478600001)(55016002)(33656002)(186003)(6506007)(5660300002)(53546011)(107886003)(8936002)(2906002)(316002)(26005)(4326008)(71200400001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?c2EwZVRyVlZSTlppS1NvZk5KRXlXbVh0UGpEVklRMGtmRUpvaDg3TXpmOHRn?= =?utf-8?B?WWNMa0E2YUJBV0N1THB3S0pCVEtFSWxJUldkTjNrbHBudk91ZHVnekxxQ2xX?= =?utf-8?B?bHE0blNmRkcyTGc1YkNjajJVd2Yva3oxNGVtQWtVaWhHZXQydzBCZXhjekRV?= =?utf-8?B?MzhjdHFqOTNXLzhIZHhURGNFYnpKQ1J1YTBGdzgybWdvekhNTzdMVUc0a3hk?= =?utf-8?B?UGRCOHplUXlLdDh1TEo5Q1FobDdOWXFscmU1Q082akMzK29OR1NycTErYjVr?= =?utf-8?B?MUVzckwvMjlJb25UcEIzRHJmQWZmc0l1WmZXZWE0dnI3aDBQOWFzM0w5Z2Nj?= =?utf-8?B?YXo1aE1SZ1huWFNabVZXYlArMmtYc25wSHp0OW9OTlBmOHJqTnFQRlZMVzdL?= =?utf-8?B?WmZncFJIQ25IL21sUnFHWmQrcXZhSTF6Ymdrb3VyejdzT3haWEFyTTdpd1pM?= =?utf-8?B?Vm1sYUFEc1p4TmF6elVIQ0hBRkRyN3dMTENqelpIODZPWGZicGtQMkN0V1Rh?= =?utf-8?B?RW11cEhBVzN3OTlmajFDQTdVZVhybUoybVlpRldxREEyYjV1UnQwZGdBU3VQ?= =?utf-8?B?VEJCNVRRR3ZpNnV5akVtOUdaWTRhdUJINjhmMDBtVlFxdjdzY0FwZm55b0p5?= =?utf-8?B?TzR6ZUxDT3pBNHNNTjJJSS9JK3VDV2w5L2hhMDQvUTlqai84Z2lYVjVzRHdM?= =?utf-8?B?MXNOa0hOMXMyZ2NTdktHdUp3NG1CUnd4cGRneEo4VFNVTVJBVS9TV0RpZE4x?= =?utf-8?B?ZmxmYXptR2FyQXVGUVp3RWx6S0padEc2ZEFjcGVoT3ZLT1IyRktvNk14MlV4?= =?utf-8?B?YXpSdlp6Y3JESlFQSkdxb2UrcnREanRtcDl5cUxSdTJHZ09SZTJ6eGxMazNj?= =?utf-8?B?V1ZJSmlKVEREczQ4ZGpsVCtWWTk1Y2tMNnVWQzZ4ZlRwbW9EbmtTWXFobFNU?= =?utf-8?B?NHdFb3lLU0U0UmZFWCtsWHRncjVROGYvd0FIRUtobC9xenhBMXZWNlhUMVRx?= =?utf-8?B?MnlNeVU5T0pFc1RmYzgxdXBRMFd5UXJjRVJoUElzY09qNEdBRXNSdGRSTVdn?= =?utf-8?B?dUVMeUJhY3hlWE9iT0s3cHZyNFVyajhjYndtL3hWa3loWFRYRnljNUR5bkwv?= =?utf-8?B?aGFBQVdzM1YxTFArdnh5aU9YYkx6RkZQOWZpR1pmQVZidUR3SUJOWE4xSWM3?= =?utf-8?B?bFM4b0xsRXRaelB5MlVPUmZOYzE2Smg4Y0ExOHlNM1FNMUYrVkEzQXYxancw?= =?utf-8?B?Z2ozVFZKUHJHTWFwYWxVcGQ4NTREL2xMdkVNRXVCTGNXZHZ5dStGR2JCZ2xu?= =?utf-8?B?b2hIenErZlNYL2pHNmt4WC84T1psVUR0ck1US0VuKzREekJxS3hLNXBONFNa?= =?utf-8?B?YTMvNkZlWDkzVm8xQkN5MTU5WFBJZW84dFJwa21tR0Zpekcweno4VFBmc2dV?= =?utf-8?B?V0k5UWdmVVVFRXJLMmVmWkpLMEg4M2U1Y1NpRWJjTmVPczNBME1HL0RFSm5j?= =?utf-8?B?TzNUOWxvQzNscTNKQzBmbWxiSlNQTTR0Q2czdExGQVNnMGVQS3JaeWh5S3FH?= =?utf-8?B?WVdPb2plK2txWWlFZVlhUWo1c2Q1SFZkZUwvNFdOYUUzOWY4Q2U2a0dpK1Fw?= =?utf-8?B?RWNiK0dtM3FsUmV6anVSNEdpMmcxQWlHSnhuL3hNNEtFYUlpeWoweUlSTk1I?= =?utf-8?B?NkEyLzYxSUx5em83c2tRV1lSMkY1UmtyUzBLK3VwVFVobTUyZ2hreHdVL1NG?= =?utf-8?Q?FSh0drF2gTWN2GerlA=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: MN2PR11MB4063.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8c67b50d-c712-4afa-57c7-08d97816c022 X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Sep 2021 07:02:15.5796 (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: o902EWZ++uCiMJO6zMPRK+2GdgGM6Xf5WzEm4Sn9Ab/B9wgeDyyzUZolV5EzaXcPm6UoJXRLKpUdEAot441p8g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR11MB5745 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH 1/2] vhost: support to clear in-flight packets for async dequeue 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 Sender: "dev" SGkgWXVhbiwNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBXYW5nLCBZ dWFuWCA8eXVhbngud2FuZ0BpbnRlbC5jb20+DQo+IFNlbnQ6IFRodXJzZGF5LCBTZXB0ZW1iZXIg OSwgMjAyMSAyOjU4IFBNDQo+IFRvOiBkZXZAZHBkay5vcmcNCj4gQ2M6IG1heGltZS5jb3F1ZWxp bkByZWRoYXQuY29tOyBYaWEsIENoZW5ibyA8Y2hlbmJvLnhpYUBpbnRlbC5jb20+OyBQYWkgRywN Cj4gU3VuaWwgPHN1bmlsLnBhaS5nQGludGVsLmNvbT47IEh1LCBKaWF5dSA8amlheXUuaHVAaW50 ZWwuY29tPjsgRGluZywgWHVhbg0KPiA8eHVhbi5kaW5nQGludGVsLmNvbT47IEppYW5nLCBDaGVu ZzEgPGNoZW5nMS5qaWFuZ0BpbnRlbC5jb20+OyBNYSwgV2Vud3VYDQo+IDx3ZW53dXgubWFAaW50 ZWwuY29tPjsgWWFuZywgWXZvbm5lWCA8eXZvbm5leC55YW5nQGludGVsLmNvbT47IFdhbmcsIFl1 YW5YDQo+IDx5dWFueC53YW5nQGludGVsLmNvbT4NCj4gU3ViamVjdDogW1BBVENIIDEvMl0gdmhv c3Q6IHN1cHBvcnQgdG8gY2xlYXIgaW4tZmxpZ2h0IHBhY2tldHMgZm9yIGFzeW5jDQo+IGRlcXVl dWUNCj4gDQo+IHJ0ZV92aG9zdF9jbGVhcl9xdWV1ZV90aHJlYWRfdW5zYWZlKCkgc3VwcG9ydHMg dG8gY2xlYXINCj4gaW4tZmxpZ2h0IHBhY2tldHMgZm9yIGFzeW5jIGVucXVldWUgb25seS4gQnV0 IGFmdGVyDQo+IHN1cHBvcnRpbmcgYXN5bmMgZGVxdWV1ZSwgdGhpcyBBUEkgc2hvdWxkIHN1cHBv cnQgYXN5bmMgZGVxdWV1ZSB0b28uDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBZdWFuIFdhbmcgPHl1 YW54LndhbmdAaW50ZWwuY29tPg0KPiAtLS0NCj4gIGxpYi92aG9zdC92aXJ0aW9fbmV0LmMgfCAx NiArKysrKysrKysrLS0tLS0tDQo+ICAxIGZpbGUgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwg NiBkZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYgLS1naXQgYS9saWIvdmhvc3QvdmlydGlvX25ldC5j IGIvbGliL3Zob3N0L3ZpcnRpb19uZXQuYw0KPiBpbmRleCBlMDE1OWI1M2UzLi43ZjYxODNhOTI5 IDEwMDY0NA0KPiAtLS0gYS9saWIvdmhvc3QvdmlydGlvX25ldC5jDQo+ICsrKyBiL2xpYi92aG9z dC92aXJ0aW9fbmV0LmMNCj4gQEAgLTI3LDYgKzI3LDExIEBADQo+IA0KPiAgI2RlZmluZSBWSE9T VF9BU1lOQ19CQVRDSF9USFJFU0hPTEQgMzINCj4gDQo+ICtzdGF0aWMgX19ydGVfYWx3YXlzX2lu bGluZSB1aW50MTZfdA0KPiArYXN5bmNfcG9sbF9kZXF1ZXVlX2NvbXBsZXRlZF9zcGxpdChzdHJ1 Y3QgdmlydGlvX25ldCAqZGV2LA0KPiArCQlzdHJ1Y3Qgdmhvc3RfdmlydHF1ZXVlICp2cSwgdWlu dDE2X3QgcXVldWVfaWQsDQo+ICsJCXN0cnVjdCBydGVfbWJ1ZiAqKnBrdHMsIHVpbnQxNl90IGNv dW50LCBib29sIGxlZ2FjeV9vbF9mbGFncyk7DQo+ICsNCj4gIHN0YXRpYyAgX19ydGVfYWx3YXlz X2lubGluZSBib29sDQo+ICByeHZxX2lzX21lcmdlYWJsZShzdHJ1Y3QgdmlydGlvX25ldCAqZGV2 KQ0KPiAgew0KPiBAQCAtMjExOSwxMSArMjEyNCw2IEBAIHJ0ZV92aG9zdF9jbGVhcl9xdWV1ZV90 aHJlYWRfdW5zYWZlKGludCB2aWQsIHVpbnQxNl90DQo+IHF1ZXVlX2lkLA0KPiAgCQlyZXR1cm4g MDsNCj4gDQo+ICAJVkhPU1RfTE9HX0RBVEEoREVCVUcsICIoJWQpICVzXG4iLCBkZXYtPnZpZCwg X19mdW5jX18pOw0KPiAtCWlmICh1bmxpa2VseSghaXNfdmFsaWRfdmlydF9xdWV1ZV9pZHgocXVl dWVfaWQsIDAsIGRldi0+bnJfdnJpbmcpKSkgew0KPiAtCQlWSE9TVF9MT0dfREFUQShFUlIsICIo JWQpICVzOiBpbnZhbGlkIHZpcnRxdWV1ZSBpZHggJWQuXG4iLA0KPiAtCQkJZGV2LT52aWQsIF9f ZnVuY19fLCBxdWV1ZV9pZCk7DQo+IC0JCXJldHVybiAwOw0KPiAtCX0NCj4gDQo+ICAJdnEgPSBk ZXYtPnZpcnRxdWV1ZVtxdWV1ZV9pZF07DQo+IA0KPiBAQCAtMjEzMyw3ICsyMTMzLDExIEBAIHJ0 ZV92aG9zdF9jbGVhcl9xdWV1ZV90aHJlYWRfdW5zYWZlKGludCB2aWQsIHVpbnQxNl90DQo+IHF1 ZXVlX2lkLA0KPiAgCQlyZXR1cm4gMDsNCj4gIAl9DQo+IA0KPiAtCW5fcGt0c19jcGwgPSB2aG9z dF9wb2xsX2VucXVldWVfY29tcGxldGVkKGRldiwgcXVldWVfaWQsIHBrdHMsIGNvdW50KTsNCj4g KwlpZiAoKHF1ZXVlX2lkICUgMikgPT0gMCkNCg0KWW91IGNhbiByZW1vdmUgdGhlIGludGVybmFs ICcoKScuDQoNCj4gKwkJbl9wa3RzX2NwbCA9IHZob3N0X3BvbGxfZW5xdWV1ZV9jb21wbGV0ZWQo ZGV2LCBxdWV1ZV9pZCwgcGt0cywNCj4gY291bnQpOw0KPiArCWVsc2UNCj4gKwkJbl9wa3RzX2Nw bCA9IGFzeW5jX3BvbGxfZGVxdWV1ZV9jb21wbGV0ZWRfc3BsaXQoZGV2LCB2cSwgcXVldWVfaWQs DQo+IHBrdHMsIGNvdW50LA0KDQpZb3Ugc2hvdWxkIGNoZWNrIHdlIGFyZSB1c2luZyBzcGxpdCBx dWV1ZSBiZWZvcmUgZW50ZXJpbmcgdGhpcyBzcGxpdCBxdWV1ZSBmdW5jdGlvbi4NCg0KVGhhbmtz LA0KQ2hlbmJvDQoNCj4gKwkJCQkJCWRldi0+ZmxhZ3MgJiBWSVJUSU9fREVWX0xFR0FDWV9PTF9G TEFHUyk7DQo+IA0KPiAgCXJldHVybiBuX3BrdHNfY3BsOw0KPiAgfQ0KPiAtLQ0KPiAyLjI1LjEN Cg0K