From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 70D2FA0524; Fri, 27 Nov 2020 14:05:37 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 4C340C93E; Fri, 27 Nov 2020 14:05:36 +0100 (CET) Received: from hqnvemgate24.nvidia.com (hqnvemgate24.nvidia.com [216.228.121.143]) by dpdk.org (Postfix) with ESMTP id 8692DC938 for ; Fri, 27 Nov 2020 14:05:33 +0100 (CET) Received: from hqmail.nvidia.com (Not Verified[216.228.121.13]) by hqnvemgate24.nvidia.com (using TLS: TLSv1.2, AES256-SHA) id ; Fri, 27 Nov 2020 05:05:39 -0800 Received: from HQMAIL109.nvidia.com (172.20.187.15) by HQMAIL111.nvidia.com (172.20.187.18) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Fri, 27 Nov 2020 13:05:25 +0000 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.107) by HQMAIL109.nvidia.com (172.20.187.15) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via Frontend Transport; Fri, 27 Nov 2020 13:05:24 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jfE0vqRCDoARNY2gH4TALLoxC+w09bxIEn4HMVN33CXebcohUSeet2uff0mECS3ZVlqWOgQXyJmvhT6bpPTtkcXKFCL2RAWSxI98MfBRYMysa+cPu2wLVNxIDB9fU/ZJfJsKyiESwUgCZX1gcdkcfZx4Ldc5v9XbBixcBBUz40pQcqQa6rZXPSqK/MlhDbgxhNgqmi8afseDt257jEpYIXWJ5Ry1080UCktoq3QVzqasIs17h2QhIqxRy2mBIUxby1I7O3rO57ya0/n+9DThuHxbIOlYy4DSz9XegVNHUtI9KKKxkQph/QffrfM6YM10pkM5Jvxx5RHysM7Ybpyb7Q== 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-SenderADCheck; bh=/hn7Jwfa6JFRHx+O6c83kFGOruXByyLollVQyEAGwoc=; b=Xq2NEfPqBBRkJVfURfip3A2lnaRewKA6odIY2sTtuP5OMGzrDpyzG4ZHze5mKv12JO5HIilxzj09ZPmmgzrAYaKbUHkr/3o/Bm89eXJTWpM1PAwovCwefYiJiOpebiNO4gJgSvgp45AhPoYGxZVj1/uOud9JQ25FVbwnDLBoijZ3K1KU3oxIDI/iNCJ/CrZ8ezFOdD849AetzLI4SPM+kEMlw+BeEGLaF+XgKVhu8gRtP7oioqfGl0pCEb1HdS0WsNg316R9z+4w/5QKcaxikXYgtb6zlK8vfh5rr6K9sR2lm+hthgBdgkUBxH5q0iWyBWr7SxSY4+sPvopGJ1xRXg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none Received: from MWHPR12MB1501.namprd12.prod.outlook.com (2603:10b6:301:f::18) by MWHPR12MB1807.namprd12.prod.outlook.com (2603:10b6:300:113::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3611.23; Fri, 27 Nov 2020 13:05:23 +0000 Received: from MWHPR12MB1501.namprd12.prod.outlook.com ([fe80::ec4d:f17d:402c:78b4]) by MWHPR12MB1501.namprd12.prod.outlook.com ([fe80::ec4d:f17d:402c:78b4%6]) with mapi id 15.20.3589.032; Fri, 27 Nov 2020 13:05:23 +0000 From: Slava Ovsiienko To: Ferruh Yigit , NBU-Contact-Thomas Monjalon , "Wei Hu (Xavier)" CC: "dev@dpdk.org" , "xavier.huwei@huawei.com" Thread-Topic: [dpdk-dev] [PATCH v4 3/6] app/testpmd: remove restriction on txpkts set Thread-Index: AQHWwly6wjJw8vbGvUKwLLN1L/9JtqnY47QAgAEhXlCAAFgsAIABmGWg Date: Fri, 27 Nov 2020 13:05:23 +0000 Message-ID: References: <20200818120254.72792-1-huwei013@chinasoftinc.com> <20200925124719.26001-4-huwei013@chinasoftinc.com> <3600731.79S79Y1HSu@thomas> <7b31a7ca-a29a-cc7a-7ed7-d22497eb6244@intel.com> <3bdc98c4-4b31-8bdf-4d06-7da699d0d4a8@intel.com> In-Reply-To: <3bdc98c4-4b31-8bdf-4d06-7da699d0d4a8@intel.com> Accept-Language: en-US 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=nvidia.com; x-originating-ip: [95.164.10.10] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 9cab1da5-685b-4ba7-1067-08d892d519f3 x-ms-traffictypediagnostic: MWHPR12MB1807: x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:6430; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: OGrFlnAAGobkDJpyt7j+KOX0gJ8/S+8UHHWkw8qwFLpmbZu6tRYi3N1ezJ1U3EBsSdbQJQsk+oBzY40DLwqcr2dXGMHyhCDdBtA0UjEBmBbU9L3GDGYPLggIbkzW0U2IECAkyBQY083Xf23bhchVDpwyLjkI6n/7hqQYKq5wj+Vr+njrvaepQguWV4LTQcHpnGItkDxpHt1yJdQ6QlrnSchDCAIBUpxvbYiKKGS4mAadWtUduG9ty+4ZQVPQrqGPX9FPka9Vw9wMmC3kAxe+kqQRk81Okb12LOpUcPeEOVxeSKM3me5Glx17YUG7fLSQWqiFTRiTo05+xAabpDNX6n9psIrNl61K4/rkmP0iRPEtCDMKgvqPobckjT0yVy5irFrPP+8MDfXtCeibSX5ET7Mx+aLKqyOfTQI4vn5g00MPIuylOJXG/eCnTVA2PAJjl3A+DyQ5NTdCPE40dIk+/w== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MWHPR12MB1501.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(136003)(396003)(366004)(39860400002)(346002)(7696005)(45080400002)(478600001)(53546011)(8936002)(6506007)(966005)(83380400001)(4326008)(2906002)(33656002)(52536014)(5660300002)(9686003)(55016002)(86362001)(71200400001)(54906003)(8676002)(110136005)(316002)(76116006)(66476007)(66556008)(66946007)(66446008)(64756008)(26005)(186003)(40753002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?utf-8?B?ZHQvVno5V0IzS2JaQ2lZT05DUjlCc283dDJhZFo0S0NtajN1YUszcEg5b2RX?= =?utf-8?B?R3pjeVpKczEvc2Via0RjaUVyZnJ6NnBJanI1RmdUM3hJWG4wMXF4VDMyeTVm?= =?utf-8?B?dEpKSHpPeUdzeC85d1d3dG5IMnJiallxYXRYQ2dQZjRhWFlId0lmQWtTZG1y?= =?utf-8?B?WXhDRGFFbFNLNmZ2ZjBLQTRQcmNyanFYQWhmRGlvSHk1MGk2dzFRY3ByYlVJ?= =?utf-8?B?dGlXczMvU2F2NzRXK1pyVzlRUHplNGlpSC9MMGgxbnpoRjV5ZjJqMDdNUmZG?= =?utf-8?B?UzZnSWZwQ0lEOWpmSmpyRnRMOEFxd3dMSDVaeDJyN3p2Q1gzK2NmVThETFBF?= =?utf-8?B?Q0F0VEtFQTAxQUF6MG5BOGhFenNRMi9FNjNEcnBnZTB6QWEzQzZyMFBzN3ho?= =?utf-8?B?Qm02SnpQeTZlK0xNM1lSQy9VVHF6VERMdEFKcUwvQ1lUQ0V3Y2N3NWlRZ3NX?= =?utf-8?B?bThjUXdqQTFmRVdhNnRIQk0wQzJWTWo4RlRVS2xNRlZyelpESUtRbjd3ZVM0?= =?utf-8?B?SUk3eFQyb3VrK0Q0b25MVFM4TzUwYlBLS2Z5NjJZVGdRV0NKOFhsUys1WHdD?= =?utf-8?B?Q09UZ3NwcXo4aFdGRkRsZksrNWphQ1JkelN0ZHJXNE9TY05vMytFM3pqb00v?= =?utf-8?B?bGxXb0s0NnFtekpiYjZ6UkJUMFB0ZGs1NHZyM1FIZjBqa0tZTHBZUFBPL0JE?= =?utf-8?B?MmlZdXlGSXZNdWRjOGwvU2FYdXlueWpXWGhJTTVaMlBFYjk5dTBmcXErU3lw?= =?utf-8?B?U3VRV0ZTRi9tM3pyOWlSc2ZheDZrUXJQNjBrcTJkSWdkcFpRLy9wVW0zanlq?= =?utf-8?B?Zm9Hdlo2YWNMc21TRmI3dWI4dWtZUGRLMU1GVm03VWVNSkx6b0c0dEErWmpw?= =?utf-8?B?YmpiZDV0LzlCbUpzR3J6b0ZPVGZ0TXZFZmgwOGViNjRwSWNGc2hLMFZxV2JE?= =?utf-8?B?aHgrdXY1NmJDa05jQkYyeHpHZXRmYjNJbzlSUCs3Q1EvcmRIenluMCtnR3dS?= =?utf-8?B?T1kyKzRwcWFicFpCb0VSeEcwTXpNdUdFRFBFRnpCSkc4NUFubmpBSms1NklE?= =?utf-8?B?bFZmR3pTMU5HN3NYSFBGRU9GN3FMSjdLVjRyd3JVakZkSkQ5U1BzWXR2SFRr?= =?utf-8?B?STRvS1dLY05qM0VFZnczN0VlTnIvWXlSUGZXR2dXWVg5YzhUNVlrUG4zL2VK?= =?utf-8?B?Qk0yL3RBNjRCNDhSTWJvMGpIem5jRWViWGw5a2ljYWlINGFXRHhseDBOaTNS?= =?utf-8?B?UEIxMGZQL0JZMzhyS25IRWRMbDZDc3FleEp1aVFTcGJwZStDTGZuOGFlMVJN?= =?utf-8?Q?HEFJaIeM9F7QQ=3D?= x-ms-exchange-transport-forked: True 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: MWHPR12MB1501.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9cab1da5-685b-4ba7-1067-08d892d519f3 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Nov 2020 13:05:23.3134 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 0U+FqdEi1Wxqif1etPEc5dvdgNxWxSVnGpwsHtfX4hxVYJnKAhYn1oFjKcHXSS3K1zwLRU4120qfR6n6teNuCw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR12MB1807 X-OriginatorOrg: Nvidia.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1606482339; bh=/hn7Jwfa6JFRHx+O6c83kFGOruXByyLollVQyEAGwoc=; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:From:To: CC:Subject:Thread-Topic:Thread-Index:Date:Message-ID:References: In-Reply-To:Accept-Language:Content-Language:X-MS-Has-Attach: X-MS-TNEF-Correlator:authentication-results:x-originating-ip: x-ms-publictraffictype:x-ms-office365-filtering-correlation-id: x-ms-traffictypediagnostic:x-ld-processed: x-microsoft-antispam-prvs:x-ms-oob-tlc-oobclassifiers: x-ms-exchange-senderadcheck:x-microsoft-antispam: x-microsoft-antispam-message-info:x-forefront-antispam-report: x-ms-exchange-antispam-messagedata:x-ms-exchange-transport-forked: Content-Type:Content-Transfer-Encoding:MIME-Version: X-MS-Exchange-CrossTenant-AuthAs: X-MS-Exchange-CrossTenant-AuthSource: X-MS-Exchange-CrossTenant-Network-Message-Id: X-MS-Exchange-CrossTenant-originalarrivaltime: X-MS-Exchange-CrossTenant-fromentityheader: X-MS-Exchange-CrossTenant-id:X-MS-Exchange-CrossTenant-mailboxtype: X-MS-Exchange-CrossTenant-userprincipalname: X-MS-Exchange-Transport-CrossTenantHeadersStamped:X-OriginatorOrg; b=cmgLopvk+gLkGhYvvHZ6dsvx5cLty9MawsRaLHk9z7SavHu9InGJ+8U20fza9Pj+d Csnzpg1ZWXP9HfZn91Nsg5dz+LDaUQlb4XfsAU37xpy5MncoLdw6U5LDGcKV/WJ05e X9R8bEqiqG1VVrgkuh9b+fSpTpZHMJNzi9PsNGzNtjx3ASmBRohQdIebDYW9qK8Ov6 1mY04uCzgMWAvsRbhjBHtboC0+PTM2nY60j34mk3/jGv5JgPAWy4TbUaEV0O0Kdsd2 VDiAu7B+zejOoI5DACoZlqaBSnkqyXvDUX8krbGQHxebrSxS8rjBeKraAllEer/wPh oaO9lHBEa9Azg== Subject: Re: [dpdk-dev] [PATCH v4 3/6] app/testpmd: remove restriction on txpkts set X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 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" PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBGZXJydWggWWlnaXQgPGZlcnJ1 aC55aWdpdEBpbnRlbC5jb20+DQo+IFNlbnQ6IFRodXJzZGF5LCBOb3ZlbWJlciAyNiwgMjAyMCAx NDozOA0KPiBUbzogU2xhdmEgT3ZzaWllbmtvIDx2aWFjaGVzbGF2b0BudmlkaWEuY29tPjsgTkJV LUNvbnRhY3QtVGhvbWFzDQo+IE1vbmphbG9uIDx0aG9tYXNAbW9uamFsb24ubmV0PjsgV2VpIEh1 IChYYXZpZXIpDQo+IDxodXdlaTAxM0BjaGluYXNvZnRpbmMuY29tPg0KPiBDYzogZGV2QGRwZGsu b3JnOyB4YXZpZXIuaHV3ZWlAaHVhd2VpLmNvbQ0KPiBTdWJqZWN0OiBSZTogW2RwZGstZGV2XSBb UEFUQ0ggdjQgMy82XSBhcHAvdGVzdHBtZDogcmVtb3ZlIHJlc3RyaWN0aW9uIG9uDQo+IHR4cGt0 cyBzZXQNCj4gDQo+IE9uIDExLzI2LzIwMjAgNzoyNCBBTSwgU2xhdmEgT3ZzaWllbmtvIHdyb3Rl Og0KPiA+IFRoZSBidWc6DQo+ID4gaHR0cHM6Ly9uYW0xMS5zYWZlbGlua3MucHJvdGVjdGlvbi5v dXRsb29rLmNvbS8/dXJsPWh0dHBzJTNBJTJGJTJGYnVncw0KPiA+DQo+IC5kcGRrLm9yZyUyRnNo b3dfYnVnLmNnaSUzRmlkJTNENTg0JmFtcDtkYXRhPTA0JTdDMDElN0N2aWFjaGVzbGF2bw0KPiAl NDBuDQo+ID4NCj4gdmlkaWEuY29tJTdDZTUyYmE1YmJhYjE4NGFjODU5MjgwOGQ4OTIwODQyYzUl N0M0MzA4M2QxNTcyNzM0MGMxYjcNCj4gZGIzOWUNCj4gPg0KPiBmZDljY2MxN2ElN0MwJTdDMCU3 QzYzNzQxOTkxMTQ2MjAxMTcwMCU3Q1Vua25vd24lN0NUV0ZwYkdac2IzDQo+IGQ4ZXlKV0lqbw0K PiA+DQo+IGlNQzR3TGpBd01EQWlMQ0pRSWpvaVYybHVNeklpTENKQlRpSTZJazFoYVd3aUxDSlhW Q0k2TW4wJTNEJTdDMTAwMA0KPiAmYW1wDQo+ID4NCj4gO3NkYXRhPVFCQjY3V3FFalVIZ3dxSE5q cXgyVkxkYVRSTXpNZW9kaCUyQiUyRlZGc0hCeVFnJTNEJmFtDQo+IHA7cmVzZXJ2ZWQNCj4gPiA9 MA0KPiA+DQo+ID4gQ2FuIHdlIHBhc3MgdGhlIG5iX3NlZ3MgPSAxIGFsd2F5cz8NCj4gPiBPbmUg ZGVzY3JpcHRvciBpcyBtaW5pbWFsIGJhc2ljIGNhcGFiaWxpdHkgdG8gc2VuZCwgaXQgc2hvdWxk IGJlIGFsd2F5cw0KPiBzdXBwb3J0ZWQuDQo+ID4NCj4gDQo+IEhpIFNsYXZhLA0KPiANCj4gSSBk aWRuJ3QgZ2V0IHlvdXIgY29tbWVudCwgY2FuIHlvdSBwbGVhc2UgZWxhYm9yYXRlPw0KPiANClRo ZSAtLXR4cGt0cyBpcyByZWplY3RlZCBvbiB0ZXN0cG1kIHN0YXJ0dXAgZHVlIHRvIHBvcnQgaXMg bm90IGNvbmZpZ3VyZWQgeWV0DQphbmQgd2UgY2FuJ3QgZmluZCBvdXQgaG93IG1hbnkgZGVzY3Jp cHRvcnMgYXJlIGFjdHVhbGx5IGNvbmZpZ3VyZWQNCmluIHRoZSBUeCBxdWV1ZXMuDQoNCkNvbmZp Z3VyaW5nIFR4IHF1ZXVlcyB3aXRoIHplcm8gZGVzY3JpcHRvcnMgc2VlbXMgdG8gYmUgbWVhbmlu Z2xlc3MsDQppdCB3b3VsZCBkaXNhYmxlIGEgYmFzaWMgY2FwYWJpbGl0eSB0byBzZW5kIHRoZSBw YWNrZXRzLiBBbmQgd2UgY291bGQgYXNzdW1lDQp0aGUgc2luZ2xlIHNlZ21lbnQgcGFja2V0IHNl bmRpbmcgaXMgYWx3YXlzIHN1cHBvcnRlZC4NCg0KSWYgLS10eHBrdHMgc2V0cyBvbmx5IHRoZSBz aXplIGZvciB0aGUgc2luZ2xlIHNlZ21lbnQgd2UgY2FuIGFzc3VtZSB0aGF0IHRoZQ0KcGFja2V0 cyB3aXRoIG9ubHkgb25lIHNlZ21lbnQgaXMgZ29pbmcgdG8gYmUgc2VudCwgYW5kIHdlIGNvdWxk IGlnbm9yZQ0KdGhlIFR4IHF1ZXVlIGRlc2NyaXB0b3IgbnVtYmVyIGNoZWNrIGZvciB0aGUgY2Fz ZS4NCg0KV2l0aCBiZXN0IHJlZ2FyZHMsIFNsYXZhDQoNCg0KPiANCj4gPiBXaXRoIGJlc3QgcmVn YXJkcywgU2xhdmENCj4gPg0KPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiBG cm9tOiBGZXJydWggWWlnaXQgPGZlcnJ1aC55aWdpdEBpbnRlbC5jb20+DQo+ID4+IFNlbnQ6IFdl ZG5lc2RheSwgTm92ZW1iZXIgMjUsIDIwMjAgMTY6MDcNCj4gPj4gVG86IE5CVS1Db250YWN0LVRo b21hcyBNb25qYWxvbiA8dGhvbWFzQG1vbmphbG9uLm5ldD47IFdlaSBIdQ0KPiA+PiAoWGF2aWVy KSA8aHV3ZWkwMTNAY2hpbmFzb2Z0aW5jLmNvbT4NCj4gPj4gQ2M6IGRldkBkcGRrLm9yZzsgeGF2 aWVyLmh1d2VpQGh1YXdlaS5jb207IFNsYXZhIE92c2lpZW5rbw0KPiA+PiA8dmlhY2hlc2xhdm9A bnZpZGlhLmNvbT4NCj4gPj4gU3ViamVjdDogUmU6IFtkcGRrLWRldl0gW1BBVENIIHY0IDMvNl0g YXBwL3Rlc3RwbWQ6IHJlbW92ZQ0KPiA+PiByZXN0cmljdGlvbiBvbiB0eHBrdHMgc2V0DQo+ID4+ DQo+ID4+IE9uIDExLzI0LzIwMjAgMTI6MjMgUE0sIEZlcnJ1aCBZaWdpdCB3cm90ZToNCj4gPj4+ IE9uIDExLzI0LzIwMjAgMTA6MjcgQU0sIFRob21hcyBNb25qYWxvbiB3cm90ZToNCj4gPj4+PiBJ cyBpdCBPSyB0byBrZWVwIHRoaXMgcmVncmVzc2lvbj8NCj4gPj4+Pg0KPiA+Pj4+IEZlcnJ1aCwg d2hhdCBkbyB5b3Ugc3VnZ2VzdD8NCj4gPj4+Pg0KPiA+Pj4NCj4gPj4+IEkgY29uZmlybSB0aGUg Jy0tdHhwa3RzJyBwYXJhbWV0ZXIgaXMgYnJva2VuIG5vdywgSSBzdWdnZXN0DQo+ID4+PiBzdWJt aXR0aW5nIGEgZGVmZWN0IGZvciBpdCBhbmQgY29udGludWUgd2l0aCB0aGUgcmVncmVzc2lvbi4N Cj4gPj4+DQo+ID4+DQo+ID4+IEhpIFNsYXZhLA0KPiA+Pg0KPiA+PiBDYW4geW91IHBsZWFzZSBz dWJtaXQgdGhlIEJ1Z3ppbGxhIGRlZmVjdD8NCj4gPj4NCj4gPj4gVGhhbmtzLA0KPiA+PiBmZXJy dWgNCj4gPj4NCj4gPj4NCj4gPj4+IFdlIGhhdmUgYWx0ZXJuYXRpdmUgZm9yIHRoZSBwYXJhbWV0 ZXIsICJzZXQgdHhwa3RzIDxsZW4wWyxsZW4xXSo+Ig0KPiBjb21tYW5kLg0KPiA+Pj4gVGhlIHBh cmFtZXRlciB3YXMgb25seSB3b3JraW5nIHdoZW4gaGFyZGNvZGVkICctLXR4ZD1OJyBwYXJhbWV0 ZXIgaXMNCj4gPj4+IHByb3ZpZGVkLCB0aGUgY29tbWFuZCBpcyBtb3JlIGR5bmFtaWMgYW5kIHdv cmtzIGhvd2V2ZXIgcXVldWUgc2l6ZQ0KPiA+Pj4gaXMNCj4gPj4gY29uZmlndXJlZC4NCj4gPj4+ DQo+ID4+PiBXZSBjYW4gZml4IHRoZSAnLS10eHBrdHMnIGluIG5leHQgcmVsZWFzZS4NCj4gPj4+ DQo+ID4+Pj4NCj4gPj4+PiAyMy8xMS8yMDIwIDEyOjUwLCBTbGF2YSBPdnNpaWVua286DQo+ID4+ Pj4+IEhpLMKgIFdlaQ0KPiA+Pj4+Pg0KPiA+Pj4+PiBJdCB3YXMgZm91bmQgdGhpcyBwYXRjaCBy ZWplY3RzIHRoZSAtLXR4cGt0cyBjb21tYW5kIGxpbmUgc2V0dGluZ3MuDQo+ID4+Pj4+IHNldF90 eF9wa3Rfc2VnbWVudHMoKSBpcyBjYWxsZWQgYmVmb3JlIGRldmljZSBzdGFydGVkIGFuZCB3ZSBo YXZlDQo+ID4+Pj4+IGZhaWx1cmUgY2hhaW46DQo+ID4+Pj4+DQo+ID4+Pj4+IHNldF90eF9wa3Rf c2VnbWVudHMoKQ0KPiA+Pj4+PiAgwqDCoCBuYl9zZWdzX2lzX2ludmFsaWQoKQ0KPiA+Pj4+PiAg wqDCoMKgwqAgZ2V0X3R4X3Jpbmdfc2l6ZSAoKQ0KPiA+Pj4+PiAgwqDCoMKgwqDCoCBydGVfZXRo X3R4X3F1ZXVlX2luZm9fZ2V0KCkNCj4gPj4+Pj4NCj4gPj4+Pj4gSXQgY2F1c2VzIC0tdHhwa3Rz IHRlc3RwbWQgY29tbWFuZCBsaW5lIG9wdGlvbiBpcyBpZ25vcmVkLg0KPiA+Pj4+Pg0KPiA+Pj4+ PiBXaXRoIGJlc3QgcmVnYXJkcywgU2xhdmENCj4gPj4+Pj4NCj4gPj4+Pj4+IC0tLS0tT3JpZ2lu YWwgTWVzc2FnZS0tLS0tDQo+ID4+Pj4+PiBGcm9tOiBkZXYgPGRldi1ib3VuY2VzQGRwZGsub3Jn PiBPbiBCZWhhbGYgT2YgV2VpIEh1IChYYXZpZXIpDQo+ID4+Pj4+PiBTZW50OiBGcmlkYXksIFNl cHRlbWJlciAyNSwgMjAyMCAxNTo0Nw0KPiA+Pj4+Pj4gVG86IGRldkBkcGRrLm9yZw0KPiA+Pj4+ Pj4gQ2M6IHhhdmllci5odXdlaUBodWF3ZWkuY29tDQo+ID4+Pj4+PiBTdWJqZWN0OiBbZHBkay1k ZXZdIFtQQVRDSCB2NCAzLzZdIGFwcC90ZXN0cG1kOiByZW1vdmUNCj4gPj4+Pj4+IHJlc3RyaWN0 aW9uIG9uIHR4cGt0cyBzZXQNCj4gPj4+Pj4+DQo+ID4+Pj4+PiBGcm9tOiBDaGVuZ2NoYW5nIFRh bmcgPHRhbmdjaGVuZ2NoYW5nQGh1YXdlaS5jb20+DQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gQ3VycmVu dGx5LCBpZiBuYl90eGQgaXMgbm90IHNldCwgdGhlIHR4cGt0cyBpcyBub3QgYWxsb3dlZCB0byBi ZQ0KPiA+Pj4+Pj4gc2V0IGJlY2F1c2UgdGhlIG5iX3R4ZCBpcyB1c2VkIHRvIGF2b2lkIHRoZSBu dW1lciBvZiBzZWdtZW50cw0KPiA+Pj4+Pj4gZXhjZWVkIHRoZSBUeCByaW5nIHNpemUgYW5kIHRo ZSBkZWZhdWx0IHZhbHVlIG9mIG5iX3R4ZCBpcyAwLiBBbmQNCj4gPj4+Pj4+IHRoZXJlIGlzIGEg YnVnIHRoYXQgbmJfdHhkIGlzIHRoZSBnbG9iYWwgY29uZmlndXJhdGlvbiBmb3IgVHgNCj4gPj4+ Pj4+IHJpbmcgc2l6ZSBhbmQgdGhlIHJpbmcgc2l6ZSBjb3VsZCBiZSBjaGFuZ2VkIGJ5IHNvbWUg Y29tbWFuZCBwZXINCj4gcXVldWUuDQo+ID4+Pj4+PiBTbyB0aGVzZSB2YWxpZCBjaGVjayBpcyB1 bnJlbGlhYmxlIGFuZCBpbnRyb2R1Y2VkIHVubmVjZXNzYXJ5DQo+ID4+Pj4+PiBjb25zdHJhaW50 cy4NCj4gPj4+Pj4+DQo+ID4+Pj4+PiBUaGlzIHBhdGNoIGFkZHMgYSB2YWxpZCBjaGVjayBmdW5j dGlvbiB0byB1c2UgdGhlIHJlYWwgVHggcmluZw0KPiA+Pj4+Pj4gc2l6ZSB0byBjaGVjayB0aGUg dmFsaWRpdHkgb2YgdHhwa3RzLg0KPiA+Pj4+Pj4NCj4gPj4+Pj4+IEZpeGVzOiBhZjc1MDc4ZmVj ZTMgKCJmaXJzdCBwdWJsaWMgcmVsZWFzZSIpDQo+ID4+Pj4+PiBDYzogc3RhYmxlQGRwZGsub3Jn DQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gU2lnbmVkLW9mZi1ieTogQ2hlbmdjaGFuZyBUYW5nIDx0YW5n Y2hlbmdjaGFuZ0BodWF3ZWkuY29tPg0KPiA+Pj4+Pj4gU2lnbmVkLW9mZi1ieTogV2VpIEh1IChY YXZpZXIpIDx4YXZpZXIuaHV3ZWlAaHVhd2VpLmNvbT4NCj4gPj4+Pj4+IC0tLQ0KPiA+Pj4+Pj4g djMgLT4gdjQ6DQo+ID4+Pj4+PiAgwqDCoMKgwqAgYWRkIGNoZWNrICdydGVfZXRoX3J4X3F1ZXVl X2luZm9fZ2V0KCknIHJldHVybiB2YWx1ZSBhbmQNCj4gPj4+Pj4+ICDCoMKgwqDCoCBpZiBpdCBp cyAnLUVOT1NUVVAnIGNhbGN1bGF0ZSB0aGUgJ3Jpbmdfc2l6ZScuDQo+ID4+Pj4+PiB2MzrCoMKg wqDCoMKgIGluaXRpYWwgdmVyc2lvbi4NCj4gPj4+Pj4+IC0tLQ0KPiA+Pj4+Pj4gIMKgIGFwcC90 ZXN0LXBtZC9jb25maWcuYyB8IDY0DQo+ID4+Pj4+PiArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKy0tLS0NCj4gPj4+Pj4+ICDCoCAxIGZpbGUgY2hhbmdlZCwg NjAgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkNCj4gPj4+Pj4+DQo+ID4+Pj4+PiBkaWZm IC0tZ2l0IGEvYXBwL3Rlc3QtcG1kL2NvbmZpZy5jIGIvYXBwL3Rlc3QtcG1kL2NvbmZpZy5jIGlu ZGV4DQo+ID4+Pj4+PiA2NDk2ZDJmLi44ZWJiOTI3IDEwMDY0NA0KPiA+Pj4+Pj4gLS0tIGEvYXBw L3Rlc3QtcG1kL2NvbmZpZy5jDQo+ID4+Pj4+PiArKysgYi9hcHAvdGVzdC1wbWQvY29uZmlnLmMN Cj4gPj4+Pj4+IEBAIC0xODkzLDYgKzE4OTMsMzggQEAgdHhfcXVldWVfaWRfaXNfaW52YWxpZChx dWV1ZWlkX3QgdHhxX2lkKQ0KPiA+Pj4+Pj4gfQ0KPiA+Pj4+Pj4NCj4gPj4+Pj4+ICDCoCBzdGF0 aWMgaW50DQo+ID4+Pj4+PiArZ2V0X3R4X3Jpbmdfc2l6ZShwb3J0aWRfdCBwb3J0X2lkLCBxdWV1 ZWlkX3QgdHhxX2lkLCB1aW50MTZfdA0KPiA+Pj4+Pj4gKypyaW5nX3NpemUpIHsNCj4gPj4+Pj4+ ICvCoMKgwqAgc3RydWN0IHJ0ZV9wb3J0ICpwb3J0ID0gJnBvcnRzW3BvcnRfaWRdOw0KPiA+Pj4+ Pj4gK8KgwqDCoCBzdHJ1Y3QgcnRlX2V0aF90eHFfaW5mbyB0eF9xaW5mbzsNCj4gPj4+Pj4+ICvC oMKgwqAgaW50IHJldDsNCj4gPj4+Pj4+ICsNCj4gPj4+Pj4+ICvCoMKgwqAgcmV0ID0gcnRlX2V0 aF90eF9xdWV1ZV9pbmZvX2dldChwb3J0X2lkLCB0eHFfaWQsICZ0eF9xaW5mbyk7DQo+ID4+Pj4+ PiArwqDCoMKgIGlmIChyZXQgPT0gMCkgew0KPiA+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgICpyaW5n X3NpemUgPSB0eF9xaW5mby5uYl9kZXNjOw0KPiA+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgIHJldHVy biByZXQ7DQo+ID4+Pj4+PiArwqDCoMKgIH0NCj4gPj4+Pj4+ICsNCj4gPj4+Pj4+ICvCoMKgwqAg aWYgKHJldCAhPSAtRU5PVFNVUCkNCj4gPj4+Pj4+ICvCoMKgwqDCoMKgwqDCoCByZXR1cm4gcmV0 Ow0KPiA+Pj4+Pj4gK8KgwqDCoCAvKg0KPiA+Pj4+Pj4gK8KgwqDCoMKgICogSWYgdGhlIHJ0ZV9l dGhfdHhfcXVldWVfaW5mb19nZXQgaXMgbm90IHN1cHBvcnQgZm9yIHRoaXMNCj4gPj4+Pj4+ICtQ TUQsDQo+ID4+Pj4+PiArwqDCoMKgwqAgKiByaW5nX3NpemUgc3RvcmVkIGluIHRlc3RwbWQgd2ls bCBiZSB1c2VkIGZvciB2YWxpZGl0eSB2ZXJpZmljYXRpb24uDQo+ID4+Pj4+PiArwqDCoMKgwqAg KiBXaGVuIGNvbmZpZ3VyZSB0aGUgdHhxIGJ5IHJ0ZV9ldGhfdHhfcXVldWVfc2V0dXAgd2l0aA0K PiA+Pj4+Pj4gbmJfdHhfZGVzYw0KPiA+Pj4+Pj4gK8KgwqDCoMKgICogYmVpbmcgMCwgaXQgd2ls bCB1c2UgYSBkZWZhdWx0IHZhbHVlIHByb3ZpZGVkIGJ5IFBNRHMgdG8NCj4gPj4+Pj4+ICtzZXR1 cCB0aGlzDQo+ID4+Pj4+PiArwqDCoMKgwqAgKiB0eHEuIElmIHRoZSBkZWZhdWx0IHZhbHVlIGlz IDAsIGl0IHdpbGwgdXNlIHRoZQ0KPiA+Pj4+Pj4gK8KgwqDCoMKgICogUlRFX0VUSF9ERVZfRkFM TEJBQ0tfVFhfUklOR1NJWkUgdG8gc2V0dXAgdGhpcyB0eHEuDQo+ID4+Pj4+PiArwqDCoMKgwqAg Ki8NCj4gPj4+Pj4+ICvCoMKgwqAgaWYgKHBvcnQtPm5iX3R4X2Rlc2NbdHhxX2lkXSkNCj4gPj4+ Pj4+ICvCoMKgwqDCoMKgwqDCoCAqcmluZ19zaXplID0gcG9ydC0+bmJfdHhfZGVzY1t0eHFfaWRd Ow0KPiA+Pj4+Pj4gK8KgwqDCoCBlbHNlIGlmIChwb3J0LT5kZXZfaW5mby5kZWZhdWx0X3R4cG9y dGNvbmYucmluZ19zaXplKQ0KPiA+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgICpyaW5nX3NpemUgPQ0K PiA+Pj4+Pj4gK3BvcnQtPmRldl9pbmZvLmRlZmF1bHRfdHhwb3J0Y29uZi5yaW5nX3NpemU7DQo+ ID4+Pj4+PiArwqDCoMKgIGVsc2UNCj4gPj4+Pj4+ICvCoMKgwqDCoMKgwqDCoCAqcmluZ19zaXpl ID0gUlRFX0VUSF9ERVZfRkFMTEJBQ0tfVFhfUklOR1NJWkU7DQo+ID4+Pj4+PiArwqDCoMKgIHJl dHVybiAwOw0KPiA+Pj4+Pj4gK30NCj4gPj4+Pj4+ICsNCj4gPj4+Pj4+ICtzdGF0aWMgaW50DQo+ ID4+Pj4+PiAgwqAgcnhfZGVzY19pZF9pc19pbnZhbGlkKHVpbnQxNl90IHJ4ZGVzY19pZCnCoCB7 DQo+ID4+Pj4+PiAgwqDCoMKgwqDCoCBpZiAocnhkZXNjX2lkIDwgbmJfcnhkKQ0KPiA+Pj4+Pj4g QEAgLTI5ODYsMTcgKzMwMTgsNDEgQEAgc2hvd190eF9wa3Rfc2VnbWVudHModm9pZCkNCj4gPj4+ Pj4+ICDCoMKgwqDCoMKgIHByaW50ZigiU3BsaXQgcGFja2V0OiAlc1xuIiwgc3BsaXQpOw0KPiA+ Pj4+Pj4gIMKgIH0NCj4gPj4+Pj4+DQo+ID4+Pj4+PiArc3RhdGljIGJvb2wNCj4gPj4+Pj4+ICtu Yl9zZWdzX2lzX2ludmFsaWQodW5zaWduZWQgaW50IG5iX3NlZ3MpIHsNCj4gPj4+Pj4+ICvCoMKg wqAgdWludDE2X3QgcmluZ19zaXplOw0KPiA+Pj4+Pj4gK8KgwqDCoCB1aW50MTZfdCBxdWV1ZV9p ZDsNCj4gPj4+Pj4+ICvCoMKgwqAgdWludDE2X3QgcG9ydF9pZDsNCj4gPj4+Pj4+ICvCoMKgwqAg aW50IHJldDsNCj4gPj4+Pj4+ICsNCj4gPj4+Pj4+ICvCoMKgwqAgUlRFX0VUSF9GT1JFQUNIX0RF Vihwb3J0X2lkKSB7DQo+ID4+Pj4+PiArwqDCoMKgwqDCoMKgwqAgZm9yIChxdWV1ZV9pZCA9IDA7 IHF1ZXVlX2lkIDwgbmJfdHhxOyBxdWV1ZV9pZCsrKSB7DQo+ID4+Pj4+PiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCByZXQgPSBnZXRfdHhfcmluZ19zaXplKHBvcnRfaWQsIHF1ZXVlX2lkLA0KPiA+ Pj4+Pj4gKyZyaW5nX3NpemUpOw0KPiA+Pj4+Pj4gKw0KPiA+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqAgaWYgKHJldCkNCj4gPj4+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgcmV0dXJuIHRydWU7DQo+ID4+Pj4+PiArDQo+ID4+Pj4+PiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBpZiAocmluZ19zaXplIDwgbmJfc2Vncykgew0KPiA+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCBwcmludGYoIm5iIHNlZ21lbnRzIHBlciBUWCBwYWNrZXRzPSV1ID49 ICINCj4gPj4+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCAiVFggcXVldWUoJXUpIHJpbmdfc2l6ZT0ldSAtIGlnbm9yZWRcbiIsDQo+ID4+Pj4+PiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbmJfc2VncywgcXVldWVf aWQsIHJpbmdfc2l6ZSk7DQo+ID4+Pj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IHJldHVybiB0cnVlOw0KPiA+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfQ0KPiA+Pj4+ Pj4gK8KgwqDCoMKgwqDCoMKgIH0NCj4gPj4+Pj4+ICvCoMKgwqAgfQ0KPiA+Pj4+Pj4gKw0KPiA+ Pj4+Pj4gK8KgwqDCoCByZXR1cm4gZmFsc2U7DQo+ID4+Pj4+PiArfQ0KPiA+Pj4+Pj4gKw0KPiA+ Pj4+Pj4gIMKgIHZvaWQNCj4gPj4+Pj4+ICDCoCBzZXRfdHhfcGt0X3NlZ21lbnRzKHVuc2lnbmVk ICpzZWdfbGVuZ3RocywgdW5zaWduZWQgbmJfc2VncykNCj4gPj4+Pj4+IHsNCj4gPj4+Pj4+ICDC oMKgwqDCoMKgIHVpbnQxNl90IHR4X3BrdF9sZW47DQo+ID4+Pj4+PiAgwqDCoMKgwqDCoCB1bnNp Z25lZCBpOw0KPiA+Pj4+Pj4NCj4gPj4+Pj4+IC3CoMKgwqAgaWYgKG5iX3NlZ3MgPj0gKHVuc2ln bmVkKSBuYl90eGQpIHsNCj4gPj4+Pj4+IC3CoMKgwqDCoMKgwqDCoCBwcmludGYoIm5iIHNlZ21l bnRzIHBlciBUWCBwYWNrZXRzPSV1ID49IG5iX3R4ZD0ldSAtDQo+ID4+Pj4+PiBpZ25vcmVkXG4i LA0KPiA+Pj4+Pj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbmJfc2VncywgKHVuc2ln bmVkIGludCkgbmJfdHhkKTsNCj4gPj4+Pj4+ICvCoMKgwqAgaWYgKG5iX3NlZ3NfaXNfaW52YWxp ZChuYl9zZWdzKSkNCj4gPj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuOw0KPiA+Pj4+ Pj4gLcKgwqDCoCB9DQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gIMKgwqDCoMKgwqAgLyoNCj4gPj4+Pj4+ ICDCoMKgwqDCoMKgwqAgKiBDaGVjayB0aGF0IGVhY2ggc2VnbWVudCBsZW5ndGggaXMgZ3JlYXRl ciBvciBlcXVhbCB0aGFuDQo+ID4+Pj4+PiAtLQ0KPiA+Pj4+Pj4gMi45LjUNCj4gPj4+Pj4NCj4g Pj4+Pj4NCj4gPj4+Pg0KPiA+Pj4+DQo+ID4+Pj4NCj4gPj4+Pg0KPiA+Pj4+DQo+ID4+Pg0KPiA+ DQoNCg==