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 0AFD642BF9;
	Thu,  1 Jun 2023 03:45:25 +0200 (CEST)
Received: from mails.dpdk.org (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id 8F862406B3;
	Thu,  1 Jun 2023 03:45:24 +0200 (CEST)
Received: from mga14.intel.com (mga14.intel.com [192.55.52.115])
 by mails.dpdk.org (Postfix) with ESMTP id 14A68406A2
 for <dev@dpdk.org>; Thu,  1 Jun 2023 03:45:21 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
 d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
 t=1685583922; x=1717119922;
 h=from:to:cc:subject:date:message-id:references:
 in-reply-to:content-transfer-encoding:mime-version;
 bh=ElM9A0XYuuIti23Zr5xiGfmOYKv+G8qeeFVdFJcOQg4=;
 b=RB3jDlDjIjDvQi+LxAlitHhNxxa4QYia3/6baFGFRstXCYAeMNz57icM
 r+lgvWcFIevTTohbP0iOHPJN7d+SYsuObP92NbHAJ7c6XvwQPdPETH806
 FLVdsAko1Gqi2cDhVeCxWQ7VOfRhR4SrNN0srjFESkNEhWohV63yewGsP
 E5KabUQMAUOe8PWSzzozobGXM/vEWEGcBHo7ubcVNvroZ2h7WDGWSa9g3
 4HQj8XCtdbaUQy7aEEWP49rMGAzY9KK7KUK2Led71EvwF+TWA35iIXftO
 IiEh2gWUz+voaJSgPdPK+IdI5VasUrymbz9mjJRur1Xb6GXt33Dcd7znI Q==;
X-IronPort-AV: E=McAfee;i="6600,9927,10727"; a="355430818"
X-IronPort-AV: E=Sophos;i="6.00,207,1681196400"; d="scan'208";a="355430818"
Received: from fmsmga001.fm.intel.com ([10.253.24.23])
 by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 31 May 2023 18:45:21 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10727"; a="851451696"
X-IronPort-AV: E=Sophos;i="6.00,207,1681196400"; d="scan'208";a="851451696"
Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16])
 by fmsmga001.fm.intel.com with ESMTP; 31 May 2023 18:45:20 -0700
Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) by
 ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.23; Wed, 31 May 2023 18:45:20 -0700
Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by
 orsmsx601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.23 via Frontend Transport; Wed, 31 May 2023 18:45:20 -0700
Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.169)
 by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.1.2507.23; Wed, 31 May 2023 18:45:19 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=V37Qa6AGze7mJWUkSvtHQcIsz+IxcbqFiKYU0uyqW59gWEhR5TDhU6Y4cOrCqK4blp6WLc3741dOKJ11RfV4Andja7vEieWEjeQ9fxPaD2Sz6vLX24xdsAQz1m4yY1cntf4ghUm6OVR2B9hL38I8E6EVRuk4kLr11rvcrSi7nH86k/BbsFWNSKyNEAkbjePTU9Zh+x3m+KDqAyvv6obSS+DDcySiGWGp58/WiQw7YBnlBaTfPF67DClVrj+Sc1kY2C4VAUNxISjVuE5rSA8IzCI9ekR+AXGNMPv9tRzwgnGaO+AI5hzukFO1Da98Rkr+d2QQAHUxH/4q2n4NBYc0jA==
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=ElM9A0XYuuIti23Zr5xiGfmOYKv+G8qeeFVdFJcOQg4=;
 b=hHKVT6Lv1Aq3EWEOvxRqaxqNCs+j4VIv1CmScCXltyEBoZRu7BepPGujM+WL3H+sFo5L9CqtOJ+oRl5USo0wC6cbH7NquS7Ek9LmsshcJInlTvEZTODr2en3VcnSrAl023gaO1KjKqq3Jjn5Pbmu+QfnvzGuHjH+0ulAQFmyBIo9MK5iSchnQnAgbjOIQdFE0hbpaFcON0S4yOmZZF6htwc+PvkjWdkMJknhw4/M34hwYvrxfgbgluR5Clt5AgquBa/CGFlGp54fn7+qxAe4mTWNrCJEs+ml+EsOXdpHyZpFVDPc+Ln5DOA/FLlCkwL565xsp5eiejA5Buai1H/j9Q==
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 SN6PR11MB3504.namprd11.prod.outlook.com (2603:10b6:805:d0::17)
 by PH0PR11MB7563.namprd11.prod.outlook.com (2603:10b6:510:286::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6433.24; Thu, 1 Jun
 2023 01:45:17 +0000
Received: from SN6PR11MB3504.namprd11.prod.outlook.com
 ([fe80::e508:44ff:3d34:60bc]) by SN6PR11MB3504.namprd11.prod.outlook.com
 ([fe80::e508:44ff:3d34:60bc%4]) with mapi id 15.20.6455.020; Thu, 1 Jun 2023
 01:45:17 +0000
From: "Xia, Chenbo" <chenbo.xia@intel.com>
To: Eelco Chaudron <echaudro@redhat.com>, Maxime Coquelin
 <maxime.coquelin@redhat.com>
CC: "david.marchand@redhat.com" <david.marchand@redhat.com>, "dev@dpdk.org"
 <dev@dpdk.org>
Subject: RE: [PATCH v3 1/4] vhost: change vhost_virtqueue access lock to a
 read/write one
Thread-Topic: [PATCH v3 1/4] vhost: change vhost_virtqueue access lock to a
 read/write one
Thread-Index: AQHZiJ84SGxe0cPTqke+1t+9DDzP0q90Am+QgAAwkYCAAB2rAIAA8zpw
Date: Thu, 1 Jun 2023 01:45:16 +0000
Message-ID: <SN6PR11MB350464DBEEAC878BE79D4B299C499@SN6PR11MB3504.namprd11.prod.outlook.com>
References: <168431450017.558450.16680518469610688737.stgit@ebuild.local>
 <168431452543.558450.14131829672896784074.stgit@ebuild.local>
 <SN6PR11MB35041E8BACB9BF39110B37E99C489@SN6PR11MB3504.namprd11.prod.outlook.com>
 <ef872a0f-8ee7-dd06-e0d0-681cffc0a44a@redhat.com>
 <04BFE798-9FA7-4D8F-9360-266946DAD5BC@redhat.com>
In-Reply-To: <04BFE798-9FA7-4D8F-9360-266946DAD5BC@redhat.com>
Accept-Language: en-US, zh-CN
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: SN6PR11MB3504:EE_|PH0PR11MB7563:EE_
x-ms-office365-filtering-correlation-id: adc1fd33-e907-48b3-0d77-08db6241d9d6
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 2qXAJD9V7jQzl1dCG3MsByMpjmtLBnS17PWtHLIRB1c7fZ/OyL886mrI73mL3ZCboAtiz8IM2IsXnCAyIxXKYgQhL85zwctPNzaZ23ema805NpBDdkSldV6fomCMd9QfzNC9L4gOGon7A6YQNkTkr1mN0ILYmtYffOxiecvqRpkPo/vXTPQZN3CyC0uWU1H1ysUMCc7VIpWX/YmgrTnkt8W4wuxPyd1plJs3n449ugs/Z8ohzagVVczSwU8/b7bvMbUguNoX9iA540r8X6JvucfLCktJVdTZKNTW3BRbC17wpuPXqbaK//cPbAPw6lBW9el9qm3tC/Jbria/r25jTwylabQDjdQv+7fas1XcNk0AMp93OUdspPTJKDVrkOJ398qr90PDc418kNc0Z6dGd8BU7wVP+VWpNn57jX7eTE2Nufv99BLfdMa9eeGkcpSHsmTwiE8kUpd/887WTJeYqtErShZ++pf0NQrqIi7KvKulpNxRvAUKa6IqFtnKJSCrhTnfHw0W55OrmbppmhSRrH0Wja6gqp9P7WKp1moRnexeIxPr0IYKEzOMetG1OYfWNBZy4ziW/81Iky7xgk9dfS9cuBDdtLlIYZ8iGdV5hZgyLb1BBgfMvBTKwIAC14xM
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:SN6PR11MB3504.namprd11.prod.outlook.com; PTR:; CAT:NONE;
 SFS:(13230028)(366004)(39860400002)(346002)(376002)(396003)(136003)(451199021)(53546011)(38100700002)(54906003)(110136005)(82960400001)(52536014)(2906002)(122000001)(71200400001)(66946007)(76116006)(64756008)(66476007)(66446008)(66556008)(478600001)(4326008)(6506007)(9686003)(26005)(316002)(38070700005)(7696005)(186003)(83380400001)(33656002)(41300700001)(5660300002)(8936002)(8676002)(86362001)(55016003);
 DIR:OUT; SFP:1102; 
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?NUpyM2g5V3BDMVhFZFZmUkx6NUsxd0VEeU1RMzZoT2pTVUJKSUwyY1lmSXRF?=
 =?utf-8?B?Tk5DK214WDdGNitmMXNzM3Z4aURuYzZuYjFrWkQ5U1R0K21kQ0ZNNnEvb2M2?=
 =?utf-8?B?R25BamFrZFVHZml0YVVhd2d5TU11QXI0L2NDazJpNWFNV1NTT0hOV2c2MkZB?=
 =?utf-8?B?WFdhU1ZuUXg0TE1SMGtrdHRqOWxRUVRxNG9PdENzSVhaOSt4QTRTUlhUTC9C?=
 =?utf-8?B?anVLM1c5N1A1dWxEN25JS2JvdEltNEoyQzk4ak9pWGhGVTZ2b3hlSG5oZXZI?=
 =?utf-8?B?VC9nTTJ3czdDc3BtVzNCclpQTCs5QVhJS29rblBia2dxb3FsS0M5RWdlRVc0?=
 =?utf-8?B?aW1DNU9wM3RKRUx6c3d4T2x1eEVTSjg3VmR0ZkpLL2VSZHE0Rmk2eUcwN2dD?=
 =?utf-8?B?TDFCcS82b0U3cnYxdFJ0d09UbmRoMjU2bWNaM3FXbGZQSkk3MmFScmNtdlRl?=
 =?utf-8?B?cko3NFFLNjRwRm9Ba3Avbk1XalpPNHBia1hiZWJoUzNUbGZHNXpaRWJZNU5l?=
 =?utf-8?B?WmVEa1RjYXJFVmpDbkxvR3dwajA3MkpjK002andxVUZjSVFWbHFFeXdEK1li?=
 =?utf-8?B?aUxjTEdmWURJQ1JiMUJXSElVRGQ1UWhJa0JqVDZ3QXZlWG5rQTlKMUFPM0Vj?=
 =?utf-8?B?MzJnczFVUDZyVEpmdTlSSGNTa2ZQaXlYNnd5ZVQ0ZE5zMjdpK3hveTU3WlVH?=
 =?utf-8?B?azQyd2phRTQxV016b2VQTGVKY1l1VGZCQWxuUU5hVFlveGE4S21XZ0JSWmEy?=
 =?utf-8?B?NkhzMWZBV1pXVVVDOEdnMlAxbFUyWnpJRE1vVFV0RXVxd2FCUzZlcTVsRmRH?=
 =?utf-8?B?NXNXREVhbXYvL1lhak1zclVBRGZFUGlNdjJBTUxUcm5uNWxsT1JjMXFSbitF?=
 =?utf-8?B?eUNmZCtnMXBmbzZVQmJ0MFdlaXhmdkpCaWhJRzZPdGtLVkJ1TTRncEdOTXlO?=
 =?utf-8?B?VHJ4ZE5XdTBXUmYyd2ZyZnVyOVFSZmxuZ0E2TXhTSnMxUzBQeXVLc1FDVTFV?=
 =?utf-8?B?ckVUNzljRXRGVFMrb2tQN1F3SHMvalRzNWlqYW00QTJXTkVIODRpdkN4TFl5?=
 =?utf-8?B?bnFYSGlXcU1TTCtXVGI0eDBvTzVmMWhEQTE5czhQM0RrYTZPdzhqUUhEVW9B?=
 =?utf-8?B?dXJOWS8wVTFlaS83WVZxZ1p6YjlXaTJPUHAwSi8xaWx1c1lUeGpBdXJqbmlH?=
 =?utf-8?B?aG5oWjJiaFlpUXZhKzZtSFJ5Y3lHWTJpZzhZRnhMTy9JRTg5dDdZREcyVHBZ?=
 =?utf-8?B?bm45bmVLRU5JUmdxckRJVTlhWFhpNHVVdGxjeDJHVGNxWjFtZFlnYzR5TEF4?=
 =?utf-8?B?dk15MjM5eEJhNGdWd2wvdmtNRkY5cGdyZjh6R2djVkM4c0xUU21lQlJiSmtP?=
 =?utf-8?B?ZVZZa2kxcHl2SUkreVVxZVRKWFhHZnI3aWJoNkJtWlR5TjZYM3g3RU00YXBR?=
 =?utf-8?B?SC8vd1lmVCttTVJUNWZ2OU9KYWZ6djdwSE85L29OaW5jTjkzRDE2VUk3T01k?=
 =?utf-8?B?SVRIVWF2M1BhQzJyN3VQbmkxcWM0VGJYOHBwbklUalFNeW9iRlhlWXNvODR6?=
 =?utf-8?B?OVhlRmVUQ05ZS2NKS0ZjYld5ZXVSUVVXZXQ0bDRPbUVvVTJQZmRZaWxGcnJ6?=
 =?utf-8?B?WkpLcXlMUXViK2UxTUE2MTNXcmtSQjMxK3dTSW5KR2ZYWmFwK0N3RlBPbThD?=
 =?utf-8?B?cXovVTM0cG9GdkFoejlOT2tHTzlTZk9BSS93aEF2K2NramFCVSs1dXlvcWh2?=
 =?utf-8?B?MVR4MHdMYUs4UVoydTFRbnU2OGtZTm9VSkdlY2tzZngwY0RTRk5ON1JZTGNi?=
 =?utf-8?B?TVVvWStMVVJQUzdENFhaZ0dlanlOaFV0blJ3RkxWbWJLT0V2RnNpQ2VwUTdI?=
 =?utf-8?B?d0pGVWVXSjRJbng3WHo4WU9Cb3RZdGlGRFJPVzE0YnhKdmp5VFFPek8wZGpV?=
 =?utf-8?B?OVdmemdQanZvUnk4YnZVbjh6T2lDcVJ2SlljYjJyTnFKRWVBQjRsaFZ0cENm?=
 =?utf-8?B?b0RDRjBNY2xpczBGWVhmYkNHS3hXUVRMSW10VmQ0MHN5bjd5dW9GWGZrMm0r?=
 =?utf-8?B?MldKSEUvMlIyUzNseXQ3emlWcHNLQ0ZjZmQzcXNEN01SSmNNNjd6OEFMbWhF?=
 =?utf-8?Q?mvrzat9WblE4VbQVqil4NX0jF?=
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: SN6PR11MB3504.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: adc1fd33-e907-48b3-0d77-08db6241d9d6
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Jun 2023 01:45:16.9637 (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: J0KPtJR4HelLgQ2LwaWkx4APWA16kn80qTH6je741Yqvn0/hBWclSWCS2yfk5zL9VagzOYa7pZ/fVlfSlfEiiA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB7563
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

PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBFZWxjbyBDaGF1ZHJvbiA8ZWNo
YXVkcm9AcmVkaGF0LmNvbT4NCj4gU2VudDogV2VkbmVzZGF5LCBNYXkgMzEsIDIwMjMgNzoxNCBQ
TQ0KPiBUbzogTWF4aW1lIENvcXVlbGluIDxtYXhpbWUuY29xdWVsaW5AcmVkaGF0LmNvbT4NCj4g
Q2M6IFhpYSwgQ2hlbmJvIDxjaGVuYm8ueGlhQGludGVsLmNvbT47IGRhdmlkLm1hcmNoYW5kQHJl
ZGhhdC5jb207DQo+IGRldkBkcGRrLm9yZw0KPiBTdWJqZWN0OiBSZTogW1BBVENIIHYzIDEvNF0g
dmhvc3Q6IGNoYW5nZSB2aG9zdF92aXJ0cXVldWUgYWNjZXNzIGxvY2sgdG8gYQ0KPiByZWFkL3dy
aXRlIG9uZQ0KPiANCj4gDQo+IA0KPiBPbiAzMSBNYXkgMjAyMywgYXQgMTE6MjcsIE1heGltZSBD
b3F1ZWxpbiB3cm90ZToNCj4gDQo+ID4gT24gNS8zMS8yMyAwODozNywgWGlhLCBDaGVuYm8gd3Jv
dGU6DQo+ID4+IEhpIEVlbGNvLA0KPiA+Pg0KPiA+Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0t
LS0NCj4gPj4+IEZyb206IEVlbGNvIENoYXVkcm9uIDxlY2hhdWRyb0ByZWRoYXQuY29tPg0KPiA+
Pj4gU2VudDogV2VkbmVzZGF5LCBNYXkgMTcsIDIwMjMgNTowOSBQTQ0KPiA+Pj4gVG86IG1heGlt
ZS5jb3F1ZWxpbkByZWRoYXQuY29tOyBYaWEsIENoZW5ibyA8Y2hlbmJvLnhpYUBpbnRlbC5jb20+
Ow0KPiA+Pj4gZGF2aWQubWFyY2hhbmRAcmVkaGF0LmNvbQ0KPiA+Pj4gQ2M6IGRldkBkcGRrLm9y
Zw0KPiA+Pj4gU3ViamVjdDogW1BBVENIIHYzIDEvNF0gdmhvc3Q6IGNoYW5nZSB2aG9zdF92aXJ0
cXVldWUgYWNjZXNzIGxvY2sgdG8gYQ0KPiA+Pj4gcmVhZC93cml0ZSBvbmUNCj4gPj4+DQo+ID4+
PiBUaGlzIGNoYW5nZSB3aWxsIGFsbG93IHRoZSB2aG9zdCBpbnRlcnJ1cHQgZGF0YXBhdGggaGFu
ZGxpbmcgdG8gYmUNCj4gc3BsaXQNCj4gPj4+IGJldHdlZW4gdHdvIHByb2Nlc3NlZCB3aXRob3V0
IG9uZSBvZiB0aGVtIGhvbGRpbmcgYW4gZXhwbGljaXQgbG9jay4NCj4gPj4+DQo+ID4+PiBTaWdu
ZWQtb2ZmLWJ5OiBFZWxjbyBDaGF1ZHJvbiA8ZWNoYXVkcm9AcmVkaGF0LmNvbT4NCj4gPj4+IC0t
LQ0KPiA+Pj4gICBsaWIvZWFsL2luY2x1ZGUvZ2VuZXJpYy9ydGVfcndsb2NrLmggfCAgIDE3ICsr
KysrKw0KPiA+Pj4gICBsaWIvdmhvc3Qvdmhvc3QuYyAgICAgICAgICAgICAgICAgICAgfCAgIDQ2
ICsrKysrKysrKy0tLS0tLS0tDQo+ID4+PiAgIGxpYi92aG9zdC92aG9zdC5oICAgICAgICAgICAg
ICAgICAgICB8ICAgIDQgKy0NCj4gPj4+ICAgbGliL3Zob3N0L3Zob3N0X3VzZXIuYyAgICAgICAg
ICAgICAgIHwgICAxNCArKystLQ0KPiA+Pj4gICBsaWIvdmhvc3QvdmlydGlvX25ldC5jICAgICAg
ICAgICAgICAgfCAgIDkwICsrKysrKysrKysrKysrKysrLS0tLS0tLQ0KPiAtLS0tLQ0KPiA+Pj4g
LS0tLS0NCj4gPj4+ICAgNSBmaWxlcyBjaGFuZ2VkLCA5NCBpbnNlcnRpb25zKCspLCA3NyBkZWxl
dGlvbnMoLSkNCj4gPj4+DQo+ID4+PiBkaWZmIC0tZ2l0IGEvbGliL2VhbC9pbmNsdWRlL2dlbmVy
aWMvcnRlX3J3bG9jay5oDQo+ID4+PiBiL2xpYi9lYWwvaW5jbHVkZS9nZW5lcmljL3J0ZV9yd2xv
Y2suaA0KPiA+Pj4gaW5kZXggNzFlMmQ4ZDVmNC4uOWUwODNiYmM2MSAxMDA2NDQNCj4gPj4+IC0t
LSBhL2xpYi9lYWwvaW5jbHVkZS9nZW5lcmljL3J0ZV9yd2xvY2suaA0KPiA+Pj4gKysrIGIvbGli
L2VhbC9pbmNsdWRlL2dlbmVyaWMvcnRlX3J3bG9jay5oDQo+ID4+PiBAQCAtMjM2LDYgKzIzNiwy
MyBAQCBydGVfcndsb2NrX3dyaXRlX3VubG9jayhydGVfcndsb2NrX3QgKnJ3bCkNCj4gPj4+ICAg
CV9fYXRvbWljX2ZldGNoX3N1YigmcndsLT5jbnQsIFJURV9SV0xPQ0tfV1JJVEUsDQo+IF9fQVRP
TUlDX1JFTEVBU0UpOw0KPiA+Pj4gICB9DQo+ID4+Pg0KPiA+Pj4gKy8qKg0KPiA+Pj4gKyAqIFRl
c3QgaWYgdGhlIHdyaXRlIGxvY2sgaXMgdGFrZW4uDQo+ID4+PiArICoNCj4gPj4+ICsgKiBAcGFy
YW0gcndsDQo+ID4+PiArICogICBBIHBvaW50ZXIgdG8gYSByd2xvY2sgc3RydWN0dXJlLg0KPiA+
Pj4gKyAqIEByZXR1cm4NCj4gPj4+ICsgKiAgIDEgaWYgdGhlIHdyaXRlIGxvY2sgaXMgY3VycmVu
dGx5IHRha2VuOyAwIG90aGVyd2lzZS4NCj4gPj4+ICsgKi8NCj4gPj4+ICtzdGF0aWMgaW5saW5l
IGludA0KPiA+Pj4gK3J0ZV9yd2xvY2tfd3JpdGVfaXNfbG9ja2VkKHJ0ZV9yd2xvY2tfdCAqcnds
KQ0KPiA+Pj4gK3sNCj4gPj4+ICsJaWYgKF9fYXRvbWljX2xvYWRfbigmcndsLT5jbnQsIF9fQVRP
TUlDX1JFTEFYRUQpICYgUlRFX1JXTE9DS19XUklURSkNCj4gPj4+ICsJCXJldHVybiAxOw0KPiA+
Pj4gKw0KPiA+Pj4gKwlyZXR1cm4gMDsNCj4gPj4+ICt9DQo+ID4+PiArDQo+ID4+DQo+ID4+IEFn
YWluIHdlIG5lZWQgdG8gdXBkYXRlIHJlbGVhc2Ugbm90ZSBhcyBpdCdzIGEgbmV3IEVBTCBBUEku
DQo+ID4+DQo+ID4+PiAgIC8qKg0KPiA+Pj4gICAgKiBUcnkgdG8gZXhlY3V0ZSBjcml0aWNhbCBz
ZWN0aW9uIGluIGEgaGFyZHdhcmUgbWVtb3J5IHRyYW5zYWN0aW9uLA0KPiBpZg0KPiA+Pj4gaXQN
Cj4gPj4+ICAgICogZmFpbHMgb3Igbm90IGF2YWlsYWJsZSB0YWtlIGEgcmVhZCBsb2NrDQo+ID4+
PiBkaWZmIC0tZ2l0IGEvbGliL3Zob3N0L3Zob3N0LmMgYi9saWIvdmhvc3Qvdmhvc3QuYw0KPiA+
Pj4gaW5kZXggZWYzNzk0MzgxNy4uNzRiZGJmZDgxMCAxMDA2NDQNCj4gPj4+IC0tLSBhL2xpYi92
aG9zdC92aG9zdC5jDQo+ID4+PiArKysgYi9saWIvdmhvc3Qvdmhvc3QuYw0KPiA+Pj4gQEAgLTM5
Myw5ICszOTMsOSBAQCBmcmVlX3ZxKHN0cnVjdCB2aXJ0aW9fbmV0ICpkZXYsIHN0cnVjdA0KPiB2
aG9zdF92aXJ0cXVldWUNCj4gPj4+ICp2cSkNCj4gPj4+ICAgCWVsc2UNCj4gPj4+ICAgCQlydGVf
ZnJlZSh2cS0+c2hhZG93X3VzZWRfc3BsaXQpOw0KPiA+Pj4NCj4gPj4+IC0JcnRlX3NwaW5sb2Nr
X2xvY2soJnZxLT5hY2Nlc3NfbG9jayk7DQo+ID4+PiArCXJ0ZV9yd2xvY2tfd3JpdGVfbG9jaygm
dnEtPmFjY2Vzc19sb2NrKTsNCj4gPj4+ICAgCXZob3N0X2ZyZWVfYXN5bmNfbWVtKHZxKTsNCj4g
Pj4+IC0JcnRlX3NwaW5sb2NrX3VubG9jaygmdnEtPmFjY2Vzc19sb2NrKTsNCj4gPj4+ICsJcnRl
X3J3bG9ja193cml0ZV91bmxvY2soJnZxLT5hY2Nlc3NfbG9jayk7DQo+ID4+PiAgIAlydGVfZnJl
ZSh2cS0+YmF0Y2hfY29weV9lbGVtcyk7DQo+ID4+PiAgIAl2aG9zdF91c2VyX2lvdGxiX2Rlc3Ry
b3kodnEpOw0KPiA+Pj4gICAJcnRlX2ZyZWUodnEtPmxvZ19jYWNoZSk7DQo+ID4+PiBAQCAtNjMw
LDcgKzYzMCw3IEBAIGFsbG9jX3ZyaW5nX3F1ZXVlKHN0cnVjdCB2aXJ0aW9fbmV0ICpkZXYsIHVp
bnQzMl90DQo+ID4+PiB2cmluZ19pZHgpDQo+ID4+Pg0KPiA+Pj4gICAJCWRldi0+dmlydHF1ZXVl
W2ldID0gdnE7DQo+ID4+PiAgIAkJaW5pdF92cmluZ19xdWV1ZShkZXYsIHZxLCBpKTsNCj4gPj4+
IC0JCXJ0ZV9zcGlubG9ja19pbml0KCZ2cS0+YWNjZXNzX2xvY2spOw0KPiA+Pj4gKwkJcnRlX3J3
bG9ja19pbml0KCZ2cS0+YWNjZXNzX2xvY2spOw0KPiA+Pj4gICAJCXZxLT5hdmFpbF93cmFwX2Nv
dW50ZXIgPSAxOw0KPiA+Pj4gICAJCXZxLT51c2VkX3dyYXBfY291bnRlciA9IDE7DQo+ID4+PiAg
IAkJdnEtPnNpZ25hbGxlZF91c2VkX3ZhbGlkID0gZmFsc2U7DQo+ID4+PiBAQCAtMTMwNSwxNCAr
MTMwNSwxNCBAQCBydGVfdmhvc3RfdnJpbmdfY2FsbChpbnQgdmlkLCB1aW50MTZfdA0KPiB2cmlu
Z19pZHgpDQo+ID4+PiAgIAlpZiAoIXZxKQ0KPiA+Pj4gICAJCXJldHVybiAtMTsNCj4gPj4+DQo+
ID4+PiAtCXJ0ZV9zcGlubG9ja19sb2NrKCZ2cS0+YWNjZXNzX2xvY2spOw0KPiA+Pj4gKwlydGVf
cndsb2NrX3JlYWRfbG9jaygmdnEtPmFjY2Vzc19sb2NrKTsNCj4gPj4+DQo+ID4+PiAgIAlpZiAo
dnFfaXNfcGFja2VkKGRldikpDQo+ID4+PiAgIAkJdmhvc3RfdnJpbmdfY2FsbF9wYWNrZWQoZGV2
LCB2cSk7DQo+ID4+PiAgIAllbHNlDQo+ID4+PiAgIAkJdmhvc3RfdnJpbmdfY2FsbF9zcGxpdChk
ZXYsIHZxKTsNCj4gPj4+DQo+ID4+PiAtCXJ0ZV9zcGlubG9ja191bmxvY2soJnZxLT5hY2Nlc3Nf
bG9jayk7DQo+ID4+PiArCXJ0ZV9yd2xvY2tfcmVhZF91bmxvY2soJnZxLT5hY2Nlc3NfbG9jayk7
DQo+ID4+DQo+ID4+IE5vdCBzdXJlIGFib3V0IHRoaXMuIHZob3N0X3JpbmdfY2FsbF9wYWNrZWQv
c3BsaXQgaXMgY2hhbmdpbmcgc29tZQ0KPiBmaWVsZCBpbg0KPiA+PiBWcS4gU2hvdWxkIHdlIHVz
ZSB3cml0ZSBsb2NrIGhlcmU/DQo+ID4NCj4gPiBJIGRvbid0IHRoaW5rIHNvLCB0aGUgcHVycG9z
ZSBvZiB0aGUgYWNjZXNzX2xvY2sgaXMgbm90IHRvIG1ha2UgdGhlDQo+ID4gZGF0YXBhdGggdGhy
ZWFkcy1zYWZlLCBidXQgdG8gcHJvdGVjdCB0aGUgZGF0YXBhdGggZnJvbSBtZXRhZGF0YSBjaGFu
Z2VzDQo+ID4gYnkgdGhlIGNvbnRyb2wgcGF0aC4NCj4gDQo+IFRoYW5rcyBDaGluYm8gZm9yIHRo
ZSByZXZpZXcsIGFuZCBzZWUgTWF4aW1l4oCZcyBjb21tZW50IGFib3ZlLiBEb2VzIHRoaXMNCj4g
Y2xhcmlmeSB5b3VyIGNvbmNlcm4vcXVlc3Rpb24/DQoNCk1ha2Ugc2Vuc2UgdG8gbWUuIFRoYW5r
cyBFZWxjbyBhbmQgTWF4aW1lIQ0KDQpXaXRoIHRoZSByZWxlYXNlIG5vdGUgYWRkZWQ6DQoNClJl
dmlld2VkLWJ5OiBDaGVuYm8gWGlhIDxjaGVuYm8ueGlhQGludGVsLmNvbT4gDQoNCj4gDQo+ID4+
DQo+ID4+IFRoYW5rcywNCj4gPj4gQ2hlbmJvDQo+ID4+DQoNCg==