From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id C1787A00C5;
	Mon, 24 Oct 2022 07:05:03 +0200 (CEST)
Received: from [217.70.189.124] (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id 3747E427F9;
	Mon, 24 Oct 2022 07:04:52 +0200 (CEST)
Received: from mga09.intel.com (mga09.intel.com [134.134.136.24])
 by mails.dpdk.org (Postfix) with ESMTP id 92C214280B
 for <dev@dpdk.org>; Mon, 24 Oct 2022 07:04:46 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
 d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
 t=1666587886; x=1698123886;
 h=from:to:cc:subject:date:message-id:references:
 in-reply-to:content-transfer-encoding:mime-version;
 bh=7GBUBdHKlPXYHff+B8MSZw9LEpjvfiFR7pW5ZC2u3hA=;
 b=akaKf7ESMz2/tq0pdIya6GqjYcwrGd2XYe5JeotpVMeIuqM7GyCU7m4N
 EQU9kk27whBgkS2mUDuQpAl1ugJwZ+HHG9SFADHOl+SG/Whcm+bj+etv/
 WvD+E6Kd9flmol2iV5adKeoqcZXJk2gra4WOqeW2+nOuDa6EnW2QjujGD
 MXR/38OLBsPzks9HoDwvRUWbWRhATJZ5jFu+xM96vOWZxsNUNutAVffQh
 kxcKlUJ7bophojqeqLJQm3DFylW6m7pAwyoKqgrnMp0i8bTJH91CGvjPY
 1mvTJ0qWyK3V8TKtI14iQG8cah+sgRKxb7G82mB1RUERj+LUTRp93+n6M g==;
X-IronPort-AV: E=McAfee;i="6500,9779,10509"; a="308433145"
X-IronPort-AV: E=Sophos;i="5.95,207,1661842800"; d="scan'208";a="308433145"
Received: from fmsmga006.fm.intel.com ([10.253.24.20])
 by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 23 Oct 2022 22:04:45 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6500,9779,10509"; a="876326336"
X-IronPort-AV: E=Sophos;i="5.95,207,1661842800"; d="scan'208";a="876326336"
Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81])
 by fmsmga006.fm.intel.com with ESMTP; 23 Oct 2022 22:04:45 -0700
Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) 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.2375.31; Sun, 23 Oct 2022 22:04:44 -0700
Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by
 fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2375.31 via Frontend Transport; Sun, 23 Oct 2022 22:04:44 -0700
Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.169)
 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; Sun, 23 Oct 2022 22:04:44 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bIKMWXphms2niHNdV/MTB91qmLVd67ve+r91SfAT+1tRk2oQ9XBMQwsDjt6m4NXTrMeiyrs6+q5U8++2YtFdhsCffgOmg6EYQABGDOc/Y5IJaCjs1RNL4p7jz1W0VmQYLoE4P2nPOrvnHQkWYtD+gC9BCTM9CPCsE04vO1QeMIZiH/4U2J1JEhfzdWj4vZvMTuwwQ3aQ0DsAbMJVlXEBZm54aMMSXdJnGNrJbX5Q2Ef2shoxyQ5I8DhXWH0SEH8OaWJMqmxXpSKH1tjPStyGyvBFMHFU51idbodQGJ7R/BmHmu80U+y55I6kO+X5dr4/0/tSagONoSYsoaJj5eLIbQ==
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=7GBUBdHKlPXYHff+B8MSZw9LEpjvfiFR7pW5ZC2u3hA=;
 b=Wbgcs4k58905sEjVYu60WcFUUQzc+XUfK4kEuJgYYwy+/BzQzWICl8nPtZcOxHuZZAnnr7DSO6NHN6lS/x/35Fd6MxZdMcqKbUTgOswhFXoY6tb0mYE8Bp+KxSkI5AS9aST9n3lxYEXDP8w+UNvuCfeNt4v1YTyMBb+m0od7PAqIXG8AdIVmnjZU8Wl4WjslDuk4FLJcLHS69nmR2E0JiJVTHpYUOZ9fZ6MwZ/Yk+lKqmUf4yzF02ku/AC8wZJg80CLz0YK99cf4r2e5j2+PEoyuYcKYbyf4dHxgXjVz2vuJ2nbowwu6YpWZBS5ixTwhQggrCSmN2MRtLXxRWTNwPQ==
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 DM4PR11MB5246.namprd11.prod.outlook.com (2603:10b6:5:389::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5746.23; Mon, 24 Oct
 2022 05:04:43 +0000
Received: from DM6PR11MB3723.namprd11.prod.outlook.com
 ([fe80::126d:f905:c1d6:dcb9]) by DM6PR11MB3723.namprd11.prod.outlook.com
 ([fe80::126d:f905:c1d6:dcb9%5]) with mapi id 15.20.5723.033; Mon, 24 Oct 2022
 05:04:43 +0000
From: "Guo, Junfeng" <junfeng.guo@intel.com>
To: Ferruh Yigit <ferruh.yigit@amd.com>, "Zhang, Qi Z" <qi.z.zhang@intel.com>, 
 "Wu, Jingjing" <jingjing.wu@intel.com>, "ferruh.yigit@xilinx.com"
 <ferruh.yigit@xilinx.com>, "Xing, Beilei" <beilei.xing@intel.com>
CC: "dev@dpdk.org" <dev@dpdk.org>, "Li, Xiaoyun" <xiaoyun.li@intel.com>,
 "awogbemila@google.com" <awogbemila@google.com>, "Richardson, Bruce"
 <bruce.richardson@intel.com>, "hemant.agrawal@nxp.com"
 <hemant.agrawal@nxp.com>, "stephen@networkplumber.org"
 <stephen@networkplumber.org>, "Xia, Chenbo" <chenbo.xia@intel.com>, "Zhang,
 Helin" <helin.zhang@intel.com>
Subject: RE: [PATCH v7 8/8] net/gve: add support for Rx/Tx
Thread-Topic: [PATCH v7 8/8] net/gve: add support for Rx/Tx
Thread-Index: AQHY5S6BcyeyVjeh90qZpC0jTrTkn64Ymy4AgARk2PA=
Date: Mon, 24 Oct 2022 05:04:43 +0000
Message-ID: <DM6PR11MB372349F727E59DF0A202EFCBE72E9@DM6PR11MB3723.namprd11.prod.outlook.com>
References: <20221020103656.1068036-1-junfeng.guo@intel.com>
 <20221021091928.2674471-1-junfeng.guo@intel.com>
 <20221021091928.2674471-9-junfeng.guo@intel.com>
 <690afa67-a5b4-e282-089b-f20f7e3fb085@amd.com>
In-Reply-To: <690afa67-a5b4-e282-089b-f20f7e3fb085@amd.com>
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-traffictypediagnostic: DM6PR11MB3723:EE_|DM4PR11MB5246:EE_
x-ms-office365-filtering-correlation-id: be78fe61-4560-420c-d24a-08dab57d4378
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: hqlwn8huLhgJvhF7VkZPIdhVF+bDOJ60AGIHJ6DTJes+kWBpPeMm/Xs+40gzy4ehbc5R58QYX+183hVEASQfho1F6LHDDmnhnGqzkgWC1UJNJh24izrx27UpoelwJPXRzJhle47pQuzyhjv98FGtiGEy5KhZku698FJqrJ+nembXNTkY/osAvJch2N3LwbmcCQJ2whTS186LDwJwgMJg48kBldRXA2YwZHzj21rainRlWNCFXDTSNtGx1QjVoLGRsOITr7lpfcn4HX4uJJx4y+oqaiZ3owWdKMlJeCZlZXdm+ZTHiGPGgsKWSKufasY47NNhmL3AIMQI0G0Gpn/L//wtRkVXdYxrrhOE98YkAv2UJJnOUZZncPDlJfz6UoHGlp+JpcQSq/TTbAHJ05YtGie4CcZN1eeWENvIsiohese5dvyv7hr6AH4I/LVaxX+BUHaDrxrffSZHazO7BmLRaMxcwvokVST9j1cImuzfCsb5Wup/N3XPnD882fYWSke9rlQgZFvWEZwi/jxuO8a87y+z/qlt4j1GbE5uskdhFm62RF39KFOqU/YDWHReyxJhoAomUt11CRX3dqNDcygG38n0z6sSqgNm2XBbpzceqk08CcfNN+EDUr3zu7Ny6LwGJ2MY4Uq1JPkcwK+Lxp/vdJVWEcHAT53jOjN8H6lA/ACEszVOkws0CFRPH7rZXO6hYnF6XBCpMAdIEhRJuKbrOMvCVDqbOwJpPbI5z0hVcz11wxN+qNuotLobFVDNqrkxLOflzk/I4nWyyZAHTKiKTw==
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:(13230022)(39860400002)(136003)(366004)(376002)(346002)(396003)(451199015)(66446008)(53546011)(82960400001)(38070700005)(64756008)(86362001)(4326008)(5660300002)(8676002)(186003)(122000001)(9686003)(83380400001)(478600001)(71200400001)(26005)(38100700002)(7696005)(66476007)(55016003)(6636002)(2906002)(52536014)(316002)(6506007)(33656002)(41300700001)(8936002)(66556008)(107886003)(76116006)(110136005)(54906003)(66946007);
 DIR:OUT; SFP:1102; 
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?eThjclhvNnhObnBJZmhZWUt4Q2gwc3FKMDB4TXpQSzd2eXZ1ZGtrQUZMNkxJ?=
 =?utf-8?B?eEw1NmlRUnM4blozWXdWOEdJRUJwK2VhamVwTkZ0MXVmUFcrQldXdmx1VUJt?=
 =?utf-8?B?NlBiVTJVd0lKUjU5akVQVysxOXRmbkRyQWZReEdMU3dpU3h6Y0srTGtBL3ly?=
 =?utf-8?B?bVFlSEJ5azdVQWROWnhCT3pNbS9yaHhpRWFWVkJ2S3VMWlh6UTN5cGJjNzZv?=
 =?utf-8?B?K05zVlRpL2F3bDhpYU5maklmMXdUZTcxamhnL2lDV1JkQTBITjliVkhrTU1E?=
 =?utf-8?B?aVRwMVJpN3JpazZoYmZKeDVHY0p0Z2VnbE5iUDNkbHl5bGR5Q1FiV0VCR3Vs?=
 =?utf-8?B?NlJaaTA2OTQ0VGM1YUNVaitiZXBiK2FrQTdSVXVNOUd5Q01kVHphTUp5eGNo?=
 =?utf-8?B?TEFBajJlSS9Jd1pKeUVUdlFneUxzdHVnYVN5eFRCUElUaloySHM0Wm5NMDlX?=
 =?utf-8?B?TFBCK3pPTmM1S2ttbll5ZWlpelZRWVJEN2Y0aWlLd05PZ2Mza3F2M3ozV2tx?=
 =?utf-8?B?d2dkcEFhMG44U3Z4Y3lNd1c0M3M0U002aVJTMThScmhXOVZ2MElNNzhVdHdt?=
 =?utf-8?B?UnRTZHM2U3BkeElEamRMUW1nU0RjcnV1T00wZHh4U0hOTUtHdWxxTjdJMUUy?=
 =?utf-8?B?anczS2tOTUpQYkVsSGN6N2JqMnBsWFB0dGgvcVRFSGZqMkhYbktXM1JzZnJq?=
 =?utf-8?B?cC84bmNaQkcxME9ZY2VqWlJvcm1ZU3dGVVdUTyt6MmNUaGQ3dWx1OUhnK01P?=
 =?utf-8?B?a29nSGFSOVJSQ21xWmt6RFJ2ZDhZWi9CdFcyeC8wRUp3WGsxVTd5ZTdVL01G?=
 =?utf-8?B?ekd4cVZ0TmNxc3Q3Q1N1WVM1NVkwY1loM01TR0dObjB6WFdiZUVEZUREdmVl?=
 =?utf-8?B?U29EamVlVUQrUWkwL3pLVis4czlkMzh6QkdwQjgvb0FidlBKeEJMZlJQcUdu?=
 =?utf-8?B?cjR3WGNpRlBEM3BWd1J5Q2MzNXczM1hLbExaNitIc0EvSktsRzFYWHFZTDJI?=
 =?utf-8?B?T1VuS2dJeklEYkpCNE9OZEp0NnM3UjZ2TnJMeDlLOFgvUGI3aTJweERCR3V0?=
 =?utf-8?B?TFZPT0tLUXBSVmlJTGlHeS9PcGFVd0c4Vmk2R2JPTjRjMHJYMTlmM2RmbmlJ?=
 =?utf-8?B?VHk3RVBCMlhGVzM0SlUzK0RzRjErNUN0OHpjS1YwV3VSRHdISGtFYjMrZzlG?=
 =?utf-8?B?Ujd1YU82eEhjV0loS2VMVmIyZjR0VDBNTFdNZERxekxJZUZrY1J3Q0psdmwz?=
 =?utf-8?B?UTVZOGpyOC85NjBvKzZKR3Q3OE5CSUdDYkFLQk1TY2VjQm5EcVFGdUJyRjBa?=
 =?utf-8?B?MlpyZE9ZWWZDdVhnclhyRXU5THRwVFNjZW5vN0Fvd1dvNkpGUVFEc0tqcEls?=
 =?utf-8?B?ckxISXFtUUVLOTl3ZFdueDA3V0wwNmM1c0hCcXRMRnZLRlozNldFUUc0cjdv?=
 =?utf-8?B?ZmhObmZZM0hRTzhtZ2dvR0Fka2FycHgxdTJ2ZlZjVnhNaGpGSG9xVzFlRlpS?=
 =?utf-8?B?NHIvUTRMQnNKM0YwaGY4TWtGMy9hM0JqTTVnQUN1eG9peUl6NmRUTGdrZkxO?=
 =?utf-8?B?TUlxdGk4NVZFTjhDQUpFajliYlQ4YXV6TGl1cnJ5VzN2NC9aTW04QTVJNXlX?=
 =?utf-8?B?SGJxdC94dmd0ckpSaTBVZ1BqUVkrbFEvNE5DYm82cFJMd28zbUtldDNKN20z?=
 =?utf-8?B?QUt5c1RraVlxUXFPNkVaUmxkL2RkRmtZTjJFWVpsYk5rNnNHeEVRRHV3NE1V?=
 =?utf-8?B?WmJzM0Zpc0VscmFuSCs4dU5tR0JzQWQzeEUxY0JWU2hmS3BCY0o3MHJiYVZF?=
 =?utf-8?B?OW41dkJGVzE3WnJUM3p4NVdoLzNVQUVWQ0lWTVFFY0lJSHVpdGpzVno2cDlP?=
 =?utf-8?B?elU0dzl4NWNzSXJIQ0JkTm9uNVNQTVUrWW1vQ05HMWtPZ3JWMFowZVU1dkpk?=
 =?utf-8?B?SExjeU1TYkJhV2pLUHZIMnhmUm11cWN6ekpiSTg1N3F6MlBvSnRrcWdsOEhk?=
 =?utf-8?B?ZU90c2FQYW0xRTFHS01qMXRxWjg0RnYxWXlacHY3WC90am9YekRKZ09IYnll?=
 =?utf-8?B?cmFvN3BpY08zWDRrL3Y1TWx5MGhFaDNFZ29JTlE1MjNWN2xnNkNURmZlUXJU?=
 =?utf-8?Q?V7r5uLcEcRPE3XG3SOCsKirWQ?=
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: be78fe61-4560-420c-d24a-08dab57d4378
X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Oct 2022 05:04:43.3252 (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: lc/xGOmfFVVMJNblLyVwZ2gJXB+zlzTDiPmwe0hOSAzdubwZoVVBBAA0HQlwtWO9cfyW4koMyaWW4a76oLWxoQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR11MB5246
X-OriginatorOrg: intel.com
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org

DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogRmVycnVoIFlpZ2l0IDxm
ZXJydWgueWlnaXRAYW1kLmNvbT4NCj4gU2VudDogRnJpZGF5LCBPY3RvYmVyIDIxLCAyMDIyIDE3
OjUyDQo+IFRvOiBHdW8sIEp1bmZlbmcgPGp1bmZlbmcuZ3VvQGludGVsLmNvbT47IFpoYW5nLCBR
aSBaDQo+IDxxaS56LnpoYW5nQGludGVsLmNvbT47IFd1LCBKaW5namluZyA8amluZ2ppbmcud3VA
aW50ZWwuY29tPjsNCj4gZmVycnVoLnlpZ2l0QHhpbGlueC5jb207IFhpbmcsIEJlaWxlaSA8YmVp
bGVpLnhpbmdAaW50ZWwuY29tPg0KPiBDYzogZGV2QGRwZGsub3JnOyBMaSwgWGlhb3l1biA8eGlh
b3l1bi5saUBpbnRlbC5jb20+Ow0KPiBhd29nYmVtaWxhQGdvb2dsZS5jb207IFJpY2hhcmRzb24s
IEJydWNlDQo+IDxicnVjZS5yaWNoYXJkc29uQGludGVsLmNvbT47IGhlbWFudC5hZ3Jhd2FsQG54
cC5jb207DQo+IHN0ZXBoZW5AbmV0d29ya3BsdW1iZXIub3JnOyBYaWEsIENoZW5ibyA8Y2hlbmJv
LnhpYUBpbnRlbC5jb20+Ow0KPiBaaGFuZywgSGVsaW4gPGhlbGluLnpoYW5nQGludGVsLmNvbT4N
Cj4gU3ViamVjdDogUmU6IFtQQVRDSCB2NyA4LzhdIG5ldC9ndmU6IGFkZCBzdXBwb3J0IGZvciBS
eC9UeA0KPiANCj4gT24gMTAvMjEvMjAyMiAxMDoxOSBBTSwgSnVuZmVuZyBHdW8gd3JvdGU6DQo+
IA0KPiA+DQo+ID4gQWRkIFJ4L1R4IG9mIEdRSV9RUEwgcXVldWUgZm9ybWF0IGFuZCBHUUlfUkRB
IHF1ZXVlIGZvcm1hdC4NCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IFhpYW95dW4gTGkgPHhpYW95
dW4ubGlAaW50ZWwuY29tPg0KPiA+IFNpZ25lZC1vZmYtYnk6IEp1bmZlbmcgR3VvIDxqdW5mZW5n
Lmd1b0BpbnRlbC5jb20+DQo+IA0KPiA8Li4uPg0KPiANCj4gPiArDQo+ID4gK3N0YXRpYyBpbmxp
bmUgdm9pZA0KPiA+ICtndmVfdHhfY2xlYW5fc3dyX3FwbChzdHJ1Y3QgZ3ZlX3R4X3F1ZXVlICp0
eHEpDQo+ID4gK3sNCj4gPiArICAgICAgIHVpbnQzMl90IHN0YXJ0ID0gdHhxLT5zd19udGM7DQo+
ID4gKyAgICAgICB1aW50MzJfdCBudGMsIG5iX2NsZWFuOw0KPiA+ICsNCj4gPiArICAgICAgIG50
YyA9IHR4cS0+c3dfdGFpbDsNCj4gPiArDQo+ID4gKyAgICAgICBpZiAobnRjID09IHN0YXJ0KQ0K
PiA+ICsgICAgICAgICAgICAgICByZXR1cm47DQo+ID4gKw0KPiA+ICsgICAgICAgLyogaWYgd3Jh
cCBhcm91bmQsIGZyZWUgdHdpY2UuICovDQo+ID4gKyAgICAgICBpZiAobnRjIDwgc3RhcnQpIHsN
Cj4gPiArICAgICAgICAgICAgICAgbmJfY2xlYW4gPSB0eHEtPm5iX3R4X2Rlc2MgLSBzdGFydDsN
Cj4gPiArICAgICAgICAgICAgICAgaWYgKG5iX2NsZWFuID4gR1ZFX1RYX01BWF9GUkVFX1NaKQ0K
PiA+ICsgICAgICAgICAgICAgICAgICAgICAgIG5iX2NsZWFuID0gR1ZFX1RYX01BWF9GUkVFX1Na
Ow0KPiA+ICsgICAgICAgICAgICAgICBndmVfZnJlZV9idWxrX21idWYoJnR4cS0+c3dfcmluZ1tz
dGFydF0sIG5iX2NsZWFuKTsNCj4gPiArDQo+ID4gKyAgICAgICAgICAgICAgIHR4cS0+c3dfbmJf
ZnJlZSArPSBuYl9jbGVhbjsNCj4gPiArICAgICAgICAgICAgICAgc3RhcnQgKz0gbmJfY2xlYW47
DQo+ID4gKyAgICAgICAgICAgICAgIGlmIChzdGFydCA9PSB0eHEtPm5iX3R4X2Rlc2MpDQo+ID4g
KyAgICAgICAgICAgICAgICAgICAgICAgc3RhcnQgPSAwOw0KPiA+ICsgICAgICAgICAgICAgICB0
eHEtPnN3X250YyA9IHN0YXJ0Ow0KPiA+ICsgICAgICAgfQ0KPiA+ICsNCj4gPiArICAgICAgIGlm
IChudGMgPiBzdGFydCkgew0KPiA+ICsgICAgICAgICAgICAgICBuYl9jbGVhbiA9IG50YyAtIHN0
YXJ0Ow0KPiA+ICsgICAgICAgICAgICAgICBpZiAobmJfY2xlYW4gPiBHVkVfVFhfTUFYX0ZSRUVf
U1opDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgbmJfY2xlYW4gPSBHVkVfVFhfTUFYX0ZS
RUVfU1o7DQo+ID4gKyAgICAgICAgICAgICAgIGd2ZV9mcmVlX2J1bGtfbWJ1ZigmdHhxLT5zd19y
aW5nW3N0YXJ0XSwgbmJfY2xlYW4pOw0KPiA+ICsgICAgICAgICAgICAgICB0eHEtPnN3X25iX2Zy
ZWUgKz0gbmJfY2xlYW47DQo+ID4gKyAgICAgICAgICAgICAgIHN0YXJ0ICs9IG5iX2NsZWFuOw0K
PiA+ICsgICAgICAgICAgICAgICB0eHEtPnN3X250YyA9IHN0YXJ0Ow0KPiA+ICsgICAgICAgfQ0K
PiA+ICt9DQo+IA0KPiBbY29weS9wYXN0ZSBmcm9tIHByZXZpb3VzIHZlcnNpb25dDQo+IA0KPiBt
YXkgYmUgY2FuIGRyb3AgdGhlICdpZicgYmxvY2ssIHNpbmNlICJudGMgPT0gc3RhcnQiIGFuZCAi
bnRjIDwgc3RhcnQiDQo+IGNhc2VzIGFscmVhZHkgY292ZXJlZC4NCg0KWWVzLCB0aGlzICdpZicg
YmxvY2sgaXMgZHJvcHBlZCBpbiB2NyBhcyBzdWdnZXN0ZWQuIFRoYW5rcyENCg0KPiANCj4gPC4u
Lj4NCj4gDQo+ID4gK3VpbnQxNl90DQo+ID4gK2d2ZV90eF9idXJzdCh2b2lkICp0eF9xdWV1ZSwg
c3RydWN0IHJ0ZV9tYnVmICoqdHhfcGt0cywgdWludDE2X3QNCj4gbmJfcGt0cykNCj4gPiArew0K
PiA+ICsgICAgICAgc3RydWN0IGd2ZV90eF9xdWV1ZSAqdHhxID0gdHhfcXVldWU7DQo+ID4gKw0K
PiA+ICsgICAgICAgaWYgKHR4cS0+aXNfZ3FpX3FwbCkNCj4gPiArICAgICAgICAgICAgICAgcmV0
dXJuIGd2ZV90eF9idXJzdF9xcGwodHhfcXVldWUsIHR4X3BrdHMsIG5iX3BrdHMpOw0KPiA+ICsN
Cj4gPiArICAgICAgIHJldHVybiBndmVfdHhfYnVyc3RfcmEodHhfcXVldWUsIHR4X3BrdHMsIG5i
X3BrdHMpOw0KPiA+ICt9DQo+ID4gKw0KPiANCj4gW2NvcHkvcGFzdGUgZnJvbSBwcmV2aW91cyB2
ZXJzaW9uXQ0KPiANCj4gQ2FuIHRoZXJlIGJlIG1peCBvZiBxdWV1ZSB0eXBlcz8NCj4gSWYgb25s
eSBvbmUgcXVldWUgdHlwZSBpcyBzdXBwb3J0ZWQgaW4gc3BlY2lmaWMgY29uZmlnLCBwZXJoYXBz
IGJ1cnN0DQo+IGZ1bmN0aW9uIGNhbiBiZSBzZXQgZHVyaW5nIGNvbmZpZ3VyYXRpb24sIHRvIHBy
ZXZlbnQgaWYgY2hlY2sgb24gZGF0YXBhdGguDQo+IA0KPiBUaGlzIGlzIG9wdGltaXphdGlvbiBh
bmQgY2FuIGJlIGRvbmUgbGF0ZXIsIGl0IGRvZXNuJ3QgaGF2ZSB0byBiZSBpbiB0aGUNCj4gc2V0
Lg0KDQpUaGUgZXhhY3QgcXVldWUgdHlwZSBjYW4gYmUgZmV0Y2hlZCBmcm9tIHRoZSBiYWNrZW5k
IHZpYSBhZG1pbnEgDQppbiBwcml2LT5xdWV1ZV9mb3JtYXQuIFNvIHRoZXJlIHdvbid0IGJlIG1p
eCBvZiB0aGUgcXVldWUgdHlwZXMuDQpDdXJyZW50bHksIG9ubHkgR1FJX1FQTCBhbmQgR1FJX1JE
QSBxdWV1ZSBmb3JtYXQgYXJlIHN1cHBvcnRlZCANCmluIFBNRC4gQWxzbywgb25seSBHUUlfUVBM
IHF1ZXVlIGZvcm1hdCBpcyBpbiB1c2Ugb24gR0NQIHNpbmNlIA0KR1FJX1JEQSBoYXNuJ3QgYmVl
biByZWxlYXNlZCBpbiBwcm9kdWN0aW9uLg0KVGhpcyBwYXJ0IGNvZGUgd2lsbCBiZSBvcHRpbWl6
ZWQvcmVmYWN0b3JlZCBsYXRlciB3aGVuIGludm9sdmluZyANCnRoZSBxdWV1ZSB0eXBlIERRT19S
REEuIFRoYW5rcyENCg0K