From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by inbox.dpdk.org (Postfix) with ESMTP id E4232A04B1;
	Thu, 24 Sep 2020 04:41:36 +0200 (CEST)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id 897681DCBB;
	Thu, 24 Sep 2020 04:41:35 +0200 (CEST)
Received: from m1362.mail.163.com (m1362.mail.163.com [220.181.13.62])
 by dpdk.org (Postfix) with ESMTP id BA3A51DC91
 for <dev@dpdk.org>; Thu, 24 Sep 2020 04:41:32 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com;
 s=s110527; h=Date:From:Subject:MIME-Version:Message-ID; bh=s3EKz
 vqaFYIpun4rSyX/Iq4QI1nYMI0LfUP0pVvzo2I=; b=i3b0F6J0YeOGVNqCA7GSJ
 tQSQImq61Iv8JvtPyVpvIs9PJhq9L0aYvnsC5IkX3UWUxmLsQxIrplKlpqGQ2nLx
 EdHMnJXU25yiE5Ank/IhM00/g4+vAJg9R57g9aMAhnfJR0nEqNz2hgruN2Bvuf5B
 KwFEgGU/7j43xFakxfA0GM=
Received: from yang_y_yi$163.com ( [111.207.123.58] ) by
 ajax-webmail-wmsvr62 (Coremail) ; Thu, 24 Sep 2020 10:41:28 +0800 (CST)
X-Originating-IP: [111.207.123.58]
Date: Thu, 24 Sep 2020 10:41:28 +0800 (CST)
From: yang_y_yi  <yang_y_yi@163.com>
To: "Jiayu Hu" <jiayu.hu@intel.com>
Cc: dev@dpdk.org, thomas@monjalon.net, yangyi01@inspur.com
X-Priority: 1
X-Mailer: Coremail Webmail Server Version XT5.0.10 build 20190724(ac680a23)
 Copyright (c) 2002-2020 www.mailtech.cn 163com
In-Reply-To: <20200923024303.GA91241@NPG_DPDK_VIRTIO_jiayuhu_15.sh.intel.com>
References: <20200917034959.194372-3-yang_y_yi@163.com>
 <f565c530272b46ed893a0738323cec35@intel.com>
 <37c12b46.f2a.174b36e34c1.Coremail.yang_y_yi@163.com>
 <1f01947d.122e.174b37b5d58.Coremail.yang_y_yi@163.com>
 <b494d69469d54db38bd63a4e5cb75c89@intel.com>
 <75421977.3967.174b47b6259.Coremail.yang_y_yi@163.com>
 <20200922065546.GA56452@NPG_DPDK_VIRTIO_jiayuhu_15.sh.intel.com>
 <7b4fc638.486f.174b4bfe6c7.Coremail.yang_y_yi@163.com>
 <20200923021511.GA83995@NPG_DPDK_VIRTIO_jiayuhu_15.sh.intel.com>
 <56bb5989.20af.174b8ca00c3.Coremail.yang_y_yi@163.com>
 <20200923024303.GA91241@NPG_DPDK_VIRTIO_jiayuhu_15.sh.intel.com>
X-CM-CTRLDATA: 03wNs2Zvb3Rlcl9odG09MTQwNTQ6NTY=
MIME-Version: 1.0
Message-ID: <14c28531.1ee6.174bdfcb27b.Coremail.yang_y_yi@163.com>
X-Coremail-Locale: zh_CN
X-CM-TRANSID: PsGowAD3_8dYB2xf4_59AA--.50773W
X-CM-SenderInfo: 51dqwsp1b1xqqrwthudrp/1tbiOw2pi1XlpcC5jwABs2
X-Coremail-Antispam: 1U5529EdanIXcx71UUUUU7vcSsGvfC2KfnxnUU==
Content-Type: text/plain; charset=GBK
Content-Transfer-Encoding: base64
X-Content-Filtered-By: Mailman/MimeDel 2.1.15
Subject: Re: [dpdk-dev] [PATCH v6 2/3] gro: add VXLAN UDP/IPv4 GRO support
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
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
Sender: "dev" <dev-bounces@dpdk.org>

SmlheXUsIGlzIHRoaXMgY29tbWVudCBvaz8KCgoKZGlmZiAtLWdpdCBhL2xpYi9saWJydGVfZ3Jv
L2dyb191ZHA0LmMgYi9saWIvbGlicnRlX2dyby9ncm9fdWRwNC5jCmluZGV4IDA2MWU3YjAuLjkz
ZTM2OGEgMTAwNjQ0Ci0tLSBhL2xpYi9saWJydGVfZ3JvL2dyb191ZHA0LmMKKysrIGIvbGliL2xp
YnJ0ZV9ncm8vZ3JvX3VkcDQuYwpAQCAtNDA5LDggKzQwOSwxMCBAQAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGs7CiAgICAgICAgICAgICAgICAgICAgICAg
IH0gZWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICogVGhlIGxlZnQgcGFja2V0cyBpbiB0aGlzIGZsb3cgd29uJ3Qg
YmUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiB0aW1lb3V0LiBHbyB0byBjaGVj
ayBvdGhlciBmbG93cy4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBJZiBzdGFy
dF90aW1lIG9mIG9uZSBpdGVtIGlzIGdyZWF0ZXIgdGhhbgorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAqIGZsdXNoX3RpbWVzdGFtcCwgdGhhdCBtZWFucyB0aGUgbGVmdCBwYWNrZXRz
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogaW4gdGhpcyBmbG93IHdvbid0IGJl
IGZsdXNoZWQgdGhpcyB0aW1lLiBHbworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAq
IHRvIGNoZWNrIG90aGVyIGZsb3dzLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAq
LwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAg
fQoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKQXQgMjAyMC0wOS0yMyAxMDo0MzowMywgIkppYXl1IEh1
IiA8amlheXUuaHVAaW50ZWwuY29tPiB3cm90ZToKPk9uIFdlZCwgU2VwIDIzLCAyMDIwIGF0IDEw
OjI4OjAwQU0gKzA4MDAsIHlhbmdfeV95aSB3cm90ZToKPj4gVGhhbmtzIEppYXl1LCBkbyB5b3Ug
bWVhbiBub3QgY29tcGFyaW5nIHRpbWVzdGFtcCBhbmQgZmx1c2ggYWxsIHRoZSBwYWNrZXRzIGlu
Cj4+IGEgZmxvdyBhcyBJIHNob3dlZCBjb2RlLCByaWdodD8gSWYgc28sIHdlIHNob3VsZG4ndCBw
cm92aWRlIGFyZ3VtZW50Cj4+IGZsdXNoX3RpbWVzdGFtcC4gQnV0IHRoaXMgd2lsbCByZXN1bHQg
aW4gdmVyeSBiYWQgaXNzdWVzLCBydGVfZ3JvX3RpbWVvdXRfZmx1c2gKPj4gd2lsbCBiZSBjYWxs
ZWQgYWZ0ZXIgcnRlX2dyb19yZWFzc2VtYmxlIGV2ZXJ5IHRpbWUsIHNvIHRoZSByZXN1bHQgbWF5
IGJlIHlvdQo+PiBjYW4ndCByZWFzc2VtYmxlIG91dCBhbnkgb3JpZ2luYWwgVURQIHBhY2tldCBi
ZWNhdXNlIGV2ZXJ5IFVEUCBmcmFnbWVudHMgd2lsbAo+PiBiZSBmbHVzaGVkIHZlcnkgc29vbiwg
bm8gY2hhbmNlIHRvIHJlYXNzZW1ibGUuCj4KPk5vLCBJIG1lYW4gdGhlIGRlc2lnbiBpbiB5b3Vy
IHBhdGNoLCB3aGljaCBzdG9wcyBmbHVzaGluZyBwYWNrZXRzCj5vbmNlIGZpbmQgb25lIHdob3Nl
IHRpbWVzdGFtcCBpcyBncmVhdGVyIHRoYW4gZmx1c2hfdGltZXN0YW1wLgo+Cj4+IAo+PiBBdCAy
MDIwLTA5LTIzIDEwOjE1OjEyLCAiSmlheXUgSHUiIDxqaWF5dS5odUBpbnRlbC5jb20+IHdyb3Rl
Ogo+PiA+T24gVHVlLCBTZXAgMjIsIDIwMjAgYXQgMDM6Mzg6MjlQTSArMDgwMCwgeWFuZ195X3lp
IHdyb3RlOgo+PiA+PiBUaGUgcHJvYmxlbSBpcyB0aW1lc3RhbXAgb2Ygd2hpY2ggb25lIGl0ZW0g
aW4gYSBmbG93IHdlIHNob3VsZCB1c2UgYXMgdGltZXN0YW1wCj4+ID4+IHJlZmVyZW5jZSBiYXNl
IGZvciB0aGlzIGZsb3csIGZvciBtZXJnZSAocmVhc3NlbWJsZSksIG9ubHkgdGhlIGZpcnN0IHBh
Y2tldCBjYW4KPj4gPj4gdHJpZ2dlciBtZXJnZSBvZiBhbGwgdGhlIHBhY2tldHMsIG1lcmdlIGlz
IGZvcndhcmQgbm90IGJhY2t3YXJkLCBpZiB5b3UKPj4gPj4gdHJhdmVyc2UgdGhlIHdob2xlIGxp
bmtlZCBsaXN0IGluIHRoaXMgZmxvdyB0byBnZXQgdGhlIG9sZGVzdCB0aW1lc3RhbXAgYW5kCj4+
ID4+IGNvbXBhcmUgaXQgd2l0aCBmbHVzaHRpbWUsIHRoYXQgd2lsbCBiZSBub3Qgd29ydGh5LCBp
biB0aGUgd29yc3QgY2FzZSAoc2F5IEkKPj4gPj4gc2VuZCBhIDY0SyBVRFAgcGFja2V0IGFuZCBN
VFUgaXMgMTQ1MCksIHlvdSB3aWxsIGhhdmUgNDYgaXRlbXMgdG8gY2hlY2sgdG8gZ2V0Cj4+ID4+
IHRoZSBvbGRlc3QgdGltZXN0YW1wIGJ5IGxpbmtlZCBsaXN0Lgo+PiA+Cj4+ID5PSywgSSBnb3Qg
dGhlIHBvaW50LiBJIGFncmVlIHRvIGZsdXNoIHBhY2tldHMgd2l0aG91dCBzdHJpY3RseQo+PiA+
b2JleWluZyB0aW1lc3RhbXAuIEJ1dCB5b3UgbmVlZCB0byBjaGFuZ2UgdGhlIGNvbW1lbnQgaW4g
dGhlCj4+ID5jb2RlIGFuZCBjbGFyaWZ5IHRoZSBkZXNpZ24gZm9yIGJvdGggVURQIGFuZCBWeExB
TiBHUk8gcGF0Y2guCj4+ID5DdXJyZW50IGNvbW1lbnQgIlRoZSBsZWZ0IHBhY2tldHMgaW4gLi4u
IiBpcyBub3QgYXBwcm9wcmlhdGUKPj4gPmZvciB5b3VyIGRlc2lnbi4KPj4gPgo+PiA+Pgo+PiA+
Pgo+PiA+PiBJJ20gbm90IHN1cmUgd2hhdCBpbmNvbnNpc3RlbnRjeSB5b3UncmUgc2F5aW5nIG1l
YW4uCj4+ID4+Cj4+ID4+IEF0IDIwMjAtMDktMjIgMTQ6NTU6NDYsICJKaWF5dSBIdSIgPGppYXl1
Lmh1QGludGVsLmNvbT4gd3JvdGU6Cj4+ID4+ID5PbiBUdWUsIFNlcCAyMiwgMjAyMCBhdCAwMjoy
MzozOVBNICswODAwLCB5YW5nX3lfeWkgd3JvdGU6Cj4+ID4+ID4+IE5vdCBhIHF1ZXN0aW9uLCBp
biBuZXh0IGZsdXNoLCB0aGV5IHdpbGwgYmUgZmx1c2hlZCwgd2UgaGF2ZSB0byBjaGVjayB0aW1l
c3RhbXAKPj4gPj4gPj4gaW4gdGhlIGZpcnN0IHRpbWUgdW5sZXNzIHdlIGRvbid0IHN0cmljdGx5
IGZvbGxvdyB0aGlzIHRpbWUgbGltaXRhdGlvbi4KPj4gPj4gPgo+PiA+PiA+d2hvIHdpbGwgY2hl
Y2sgdGhlIHRpbWVzdGFtcD8gSSBkaWQndCBnZXQgdGhlIHBvaW50Lgo+PiA+PiA+Cj4+ID4+ID5J
TU8sIHRoaXMgd2lsbCBjYXVzZSBpbmNvbnNpc3RlbmN5IG9mIHRoZSBydGVfZ3JvX3RpbWVvdXRf
Zmx1c2goKS4KPj4gPj4gPkJUVywgd2hhdCBzdG9wcyB5b3UgdG8gdHJhdmVyc2UgYWxsIGl0ZW1z
IGFuZCBjaGVjayB0aW1lc3RhbXAKPj4gPj4gPmJlZm9yZSBmbHVzaCB0aGVtIG91dD8KPj4gPj4g
Pgo+PiA+PiA+Pgo+PiA+PiA+PiBBdCAyMDIwLTA5LTIyIDE0OjE0OjAwLCAiSHUsIEppYXl1IiA8
amlheXUuaHVAaW50ZWwuY29tPiB3cm90ZToKPj4gPj4gPj4KPj4gPj4gPj4gICAgIEZyYWdtZW50
cyBvZiBhIGZsb3cgYXJlIHNvcnRlZCBieSBmcmFnX29mdCwgYnV0IHRoZXkgbWF5IGhhdmUgZGlm
ZmVyZW50Cj4+ID4+ID4+Cj4+ID4+ID4+ICAgICB0aW1lc3RhbXAuIEZvciBleGFtcGxlLCB0aGVy
ZSBhcmUgdGhyZWUgZnJhZ21lbnRzLCB3aG9zZSBmcmFnX29mdCBpczoKPj4gPj4gPj4KPj4gPj4g
Pj4gICAgIGZyYWdbMF0uZnJhZ19vZnQ9MCwgZnJhZ1sxXS5mcmFnX29mdD00LCBmcmFnWzJdLmZy
YWdfb2Z0PTY7IGFuZCB0aGV5IGFyZQo+PiA+PiA+Pgo+PiA+PiA+PiAgICAgZnJhZ21lbnRzIG9m
IG9uZSBVRFAgcGFja2V0IGJ1dCBhcmUgbm90IG5laWdoYm9ycy4gSW4gdGhlIGZpcnN0IFJYIGJ1
cnN0LAo+PiA+PiA+Pgo+PiA+PiA+PiAgICAgaG9zdCByZWNlaXZlcyBmcmFnWzFdIGFuZCBjYWxs
cyBydGVfZ3JvX3JlYXNzZW1ibGUoKSwgYW5kIHdlIGFzc3VtZSB0aGUKPj4gPj4gPj4KPj4gPj4g
Pj4gICAgIHRpbWVzdGFtcCBvZiBmcmFnWzFdIGlzIDEwOyBpbiB0aGUgc2Vjb25kIFJYIGJ1cnN0
LCBob3N0IHJlY2VpdmVzIGZyYWdbMF0KPj4gPj4gPj4KPj4gPj4gPj4gICAgIGFuZCBhbHNvIGNh
bGwgcnRlX2dyb19yZWFzc2VtYmxlKCksIGFuZCB0aW1lc3RhbXAgb2YgZnJhZ1swXSBpcyAxMTsg
dGhlCj4+ID4+ID4+Cj4+ID4+ID4+ICAgICB0aGlyZCB0aW1lLCBob3N0IHJlY2VpdmVzIGZyYWdb
Ml0gYW5kIHRpbWVzdGFtcCBvZiBmcmFnWzJdIGlzIDEyLiBUaGUgdGhyZWUKPj4gPj4gPj4KPj4g
Pj4gPj4gICAgIGZyYWdtZW50cyBhcmUgc3RvcmVkIGluIHRocmVlIGl0ZW1zIG9mIGEgVURQIEdS
TyB0YWJsZToKPj4gPj4gPj4KPj4gPj4gPj4gICAgIGl0ZW1zWzBdOiBmcmFnWzBdLCB0aW1lc3Rh
bXAgaXMgMTEKPj4gPj4gPj4KPj4gPj4gPj4gICAgIGl0ZW1zWzFdOiBmcmFnWzFdLCB0aW1lc3Rh
bXAgaXMgMTAKPj4gPj4gPj4KPj4gPj4gPj4gICAgIGl0ZW1zWzJdOiBmcmFnWzJdLCB0aW1lc3Rh
bXAgaXMgMTIKPj4gPj4gPj4KPj4gPj4gPj4gICAgIE5vdyB3ZSB3YW50IHRvIGZsdXNoIHBhY2tl
dHMgd2hvc2UgdGltZXN0YW1wIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0bwo+PiA+PiA+Pgo+PiA+
PiA+PiAgICAgMTAuIGZyYWdbMV0gc2hvdWxkIGJlIHJldHVybmVkLCBidXQgaW4geW91ciBjb2Rl
LCBubyBwYWNrZXRzIHdpbGwgYmUKPj4gPj4gPj4gICAgIGZsdXNoZWQuCj4+ID4+ID4+Cj4+ID4+
ID4+ICAgICBCZWNhdXNlIHRoZSB0aW1lc3RhbXAgb2YgaXRlbXNbMF0gaXMgZ3JlYXRlciB0aGFu
IDEwLCB0aGUgbGVmdCB0d28KPj4gPj4gPj4gICAgIGZyYWdtZW50cwo+PiA+PiA+Pgo+PiA+PiA+
PiAgICAgd2lsbCBub3QgYmUgY2hlY2tlZC4gVGhpcyBpcyB3aGF0IEkgd2FudCB0byBzYXkuCj4+
ID4+ID4+Cj4+ID4+ID4+Cj4+ID4+ID4+Cj4+ID4+ID4+ICAgICBGcm9tOiB5YW5nX3lfeWkgPHlh
bmdfeV95aUAxNjMuY29tPgo+PiA+PiA+PiAgICAgU2VudDogVHVlc2RheSwgU2VwdGVtYmVyIDIy
LCAyMDIwIDk6NDQgQU0KPj4gPj4gPj4gICAgIFRvOiBIdSwgSmlheXUgPGppYXl1Lmh1QGludGVs
LmNvbT4KPj4gPj4gPj4gICAgIENjOiBkZXZAZHBkay5vcmc7IHRob21hc0Btb25qYWxvbi5uZXQ7
IHlhbmd5aTAxQGluc3B1ci5jb20KPj4gPj4gPj4gICAgIFN1YmplY3Q6IFJlOlJlOiBbZHBkay1k
ZXZdIFtQQVRDSCB2NiAyLzNdIGdybzogYWRkIFZYTEFOIFVEUC9JUHY0IEdSTwo+PiA+PiA+PiAg
ICAgc3VwcG9ydAo+PiA+PiA+PiAgICAgSW1wb3J0YW5jZTogSGlnaAo+PiA+PiA+Pgo+PiA+PiA+
Pgo+PiA+PiA+Pgo+PiA+PiA+PiAgICAgQlRXLCBzdGFydF90aW1lIGlzIGNoZWNrZWQgZm9yIHRo
ZSBmaXJzdCBwYWNrZXQgaW4gYSBmbG93LAo+PiA+PiA+PiAgICAgZ3JvX3VkcDRfbWVyZ2VfaXRl
bXModGJsLCBqKSB3aWxsIG1lcmdlIGFsbCB0aGUgcGFja2V0cyBpbiB0aGlzIGZsb3cgb25jZQo+
PiA+PiA+PiAgICAgaWYgdGhleSBjYW4gYmUgcmVhc3NlbWJsZWQsIGdyb191ZHA0X21lcmdlX2l0
ZW1zKHRibCwgaikgZG9lc24ndCBjaGVjawo+PiA+PiA+PiAgICAgc3RhcnRfdGltZSwgc28gdGhp
cyBzdGlsbCBjYW4gbGV0IHNvbWUgbmV3IGl0ZW1zIGluIHRoaXMgZmxvdyBoYXZlIGNoYW5jZQo+
PiA+PiA+PiAgICAgdG8gYmUgbWVyZ2VkLgo+PiA+PiA+Pgo+PiA+PiA+PiAgICAgQXQgMjAyMC0w
OS0yMiAwOToyOTozOCwgInlhbmdfeV95aSIgPHlhbmdfeV95aUAxNjMuY29tPiB3cm90ZToKPj4g
Pj4gPj4KPj4gPj4gPj4gICAgID5UaGFua3MgSmlheXUsIEkgaGF2ZSBmaXhlZCBvdGhlciBjb21t
ZW50cyBleGNlcHQgdGhpcyBvbmU6Cj4+ID4+ID4+Cj4+ID4+ID4+ICAgICA+Cj4+ID4+ID4+Cj4+
ID4+ID4+ICAgICA+Cj4+ID4+ID4+Cj4+ID4+ID4+ICAgICA+Cj4+ID4+ID4+Cj4+ID4+ID4+ICAg
ICA+PlRoZSBpdGVtcyBvZiBhIGZsb3cgYXJlIG9yZGVyZWQgYnkgZnJhZ19vZnQsIGFuZCBzdGFy
dF90aW1lCj4+ID4+ID4+Cj4+ID4+ID4+ICAgICA+Pm9mIHRoZXNlIGl0ZW1zIGlzIG5vdCBhbHdh
eXMgaW4gYXNjZW5kaW5nIG9yZGVyLiBUaGVyZWZvcmUsCj4+ID4+ID4+Cj4+ID4+ID4+ICAgICA+
PnlvdSBjYW5ub3Qgc2tpcCBjaGVja2luZyB0aGUgaXRlbXMgYWZ0ZXIgdGhlIGl0ZW0gd2hvc2UK
Pj4gPj4gPj4KPj4gPj4gPj4gICAgID4+c3RhcnRfdGltZSBpcyBncmVhdGVyIHRoYW4gZmx1c2hf
dGltZXN0YW1wLiBUaGlzIGlzc3VlIGFsc28KPj4gPj4gPj4KPj4gPj4gPj4gICAgID4+ZXhpc3Rz
IGluIFVEUC9JUHY0IEdSTywgYW5kIG5lZWQgdG8gY29ycmVjdCB0aGVtIGJvdGguCj4+ID4+ID4+
Cj4+ID4+ID4+ICAgICA+Cj4+ID4+ID4+Cj4+ID4+ID4+ICAgICA+Cj4+ID4+ID4+Cj4+ID4+ID4+
ICAgICA+SSB0aGluayB0aGUgaXNzdWUgaGVyZSBpcyBpZiB3ZSBzaG91bGQgc3RyaWN0bHkgZm9s
bG93IGZsdXNoX3RpbWVzdGFtcCwgaXQgaXMgcG9zc2libGUgdGhlcmUgYXJlIG5ldyBpdGVtcyBp
biBpdGVtcyBjaGFpbi4gd2UgaGF2ZSBjaGFuY2UgdG8gbWVyZ2UgbW9yZSBwYWNrZXRzIGlmIHdl
IGRvbid0IGZvbGxvdyBmbHVzaF90aW1lc3RhbXAuIFNvIGFuIGlkZWFsIGNoYW5nZSBjYW4gYmUg
dGhpcy4gQnV0IGlzIGl0IGFjY2VwdGlibGUgaWYgd2UgZG9uJ3QgdXNlIGZsdXNoX3RpbWVzdGFt
cD8gSXQgY2FuIGZsdXNoIHNvbWUgcGFja2V0cyBpbiBhZHZhbmNlIHRoZXJlZm9yZSBtaXNzIG5l
eHQgbWVyZ2Ugd2luZG93LiBNYXliZSBjdXJyZW50IHdheSBpcyBtb3N0IHJlc29uYWJsZSBhbmQg
YSB0cmFkZW9mZiBiZXR3ZWVuIHR3byBleHRlcmVtIGNhc2VzLgo+PiA+PiA+Pgo+PiA+PiA+PiAg
ICAgPgo+PiA+PiA+Pgo+PiA+PiA+PiAgICAgPgo+PiA+PiA+Pgo+PiA+PiA+PiAgICAgPgo+PiA+
PiA+Pgo+PiA+PiA+PiAgICAgPgo+PiA+PiA+Pgo+PiA+PiA+PiAgICAgPgo+PiA+PiA+Pgo+PiA+
PiA+PiAgICAgPmRpZmYgLS1naXQgYS9saWIvbGlicnRlX2dyby9ncm9fdWRwNC5jIGIvbGliL2xp
YnJ0ZV9ncm8vZ3JvX3VkcDQuYwo+PiA+PiA+Pgo+PiA+PiA+PiAgICAgPmluZGV4IDA2MWU3YjAu
LmZmYTM1YTIgMTAwNjQ0Cj4+ID4+ID4+Cj4+ID4+ID4+ICAgICA+LS0tIGEvbGliL2xpYnJ0ZV9n
cm8vZ3JvX3VkcDQuYwo+PiA+PiA+Pgo+PiA+PiA+PiAgICAgPisrKyBiL2xpYi9saWJydGVfZ3Jv
L2dyb191ZHA0LmMKPj4gPj4gPj4KPj4gPj4gPj4gICAgID5AQCAtMzkxLDcgKzM5MSw2IEBACj4+
ID4+ID4+Cj4+ID4+ID4+ICAgICA+Cj4+ID4+ID4+Cj4+ID4+ID4+ICAgICA+ICAgICAgICAgICAg
ICAgIGogPSB0YmwtPmZsb3dzW2ldLnN0YXJ0X2luZGV4Owo+PiA+PiA+Pgo+PiA+PiA+PiAgICAg
PiAgICAgICAgICAgICAgICB3aGlsZSAoaiAhPSBJTlZBTElEX0FSUkFZX0lOREVYKSB7Cj4+ID4+
ID4+Cj4+ID4+ID4+ICAgICA+LSAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRibC0+aXRlbXNb
al0uc3RhcnRfdGltZSA8PSBmbHVzaF90aW1lc3RhbXApIHsKPj4gPj4gPj4KPj4gPj4gPj4gICAg
ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyb191ZHA0X21lcmdlX2l0ZW1zKHRi
bCwgaik7Cj4+ID4+ID4+Cj4+ID4+ID4+ICAgICA+ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBvdXRbaysrXSA9IHRibC0+aXRlbXNbal0uZmlyc3RzZWc7Cj4+ID4+ID4+Cj4+ID4+ID4+
ICAgICA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodGJsLT5pdGVtc1tqXS5u
Yl9tZXJnZWQgPiAxKQo+PiA+PiA+Pgo+PiA+PiA+PiAgICAgPkBAIC00MDcsMTIgKzQwNiw2IEBA
Cj4+ID4+ID4+Cj4+ID4+ID4+ICAgICA+Cj4+ID4+ID4+Cj4+ID4+ID4+ICAgICA+ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpZiAodW5saWtlbHkoayA9PSBuYl9vdXQpKQo+PiA+PiA+
Pgo+PiA+PiA+PiAgICAgPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBy
ZXR1cm4gazsKPj4gPj4gPj4KPj4gPj4gPj4gICAgID4tICAgICAgICAgICAgICAgICAgICAgICB9
IGVsc2UKPj4gPj4gPj4KPj4gPj4gPj4gICAgID4tICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8qCj4+ID4+ID4+Cj4+ID4+ID4+ICAgICA+LSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgKiBUaGUgbGVmdCBwYWNrZXRzIGluIHRoaXMgZmxvdyB3b24ndCBiZQo+PiA+PiA+Pgo+
PiA+PiA+PiAgICAgPi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogdGltZW91dC4g
R28gdG8gY2hlY2sgb3RoZXIgZmxvd3MuCj4+ID4+ID4+Cj4+ID4+ID4+ICAgICA+LSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgKi8KPj4gPj4gPj4KPj4gPj4gPj4gICAgID4tICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwo+PiA+PiA+Pgo+PiA+PiA+PiAgICAgPiAg
ICAgICAgICAgICAgICB9Cj4+ID4+ID4+Cj4+ID4+ID4+ICAgICA+ICAgICAgICB9Cj4+ID4+ID4+
Cj4+ID4+ID4+ICAgICA+ICAgICAgICByZXR1cm4gazsKPj4gPj4gPj4KPj4gPj4gPj4gICAgID4K
Pj4gPj4gPj4KPj4gPj4gPj4KPj4gPj4gPj4KPj4gPj4gPj4KPj4gPj4gPj4KPj4gPj4gPj4KPj4g
Pj4gPj4KPj4gPj4KPj4gPj4KPj4gPj4KPj4gPj4KPj4gPj4KPj4gCj4+IAo+PiAKPj4gIAo+PiAK