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 4122EA00C5; Wed, 6 May 2020 19:07:52 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 22C671DA46; Wed, 6 May 2020 19:07:52 +0200 (CEST) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2044.outbound.protection.outlook.com [40.107.21.44]) by dpdk.org (Postfix) with ESMTP id 0229A1DA3B for ; Wed, 6 May 2020 19:07:51 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Q40KNUh1J4+3mwiXVBOybtSGDTTESbpsc2sT59iaodvNiLgoO5k+9OOPi5zE+8/EWYwwPUEO6rcvrROFr6v+B0t5BJGtl2dA0gBgmGFOR4UuMrSRamfpqXW2SGt5tKo5piPUlTeiJt02XHOFus9kVvthVLYG5lhtUxtWtfO48HDhOihNlqoterpJ4ILUqRulHwPqnAalWHLxehYl0R7yBwsuwk4qmeYC2q8JpyAZbDJMRllR4Mv7+3DOohbB6DATV2y/6qNfhJJqIoIb+1xSv5mPAe7syDNQueiC+JE5JuVtfgpRo6c9HavQpNztVWcq/akmTtxyr/zUWT0mDwgABQ== 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=Nomp0ciguPonfqyAfTPx9jBWllQQU6LzZrEYpbpvUI0=; b=U/CKYBKksrXvNJd0K1lVqv9qItuStr9QquP4LZ8qFVDuhQi4cLYScu66NNv09LCgmyJDtPTEcYqqD5ySGIFhWntUqn5OBO2fe5WOC+skAEdFxItTP2SNbOfGHSowJD/DpDEzmY2CDEVp6pSPLQwYKMj5iNniHedlujFghpxeHuv+n70b6I+Mw5jWQKKlL1S9xo1dxf0q57vEQmXFRI/eM0KUlg/FQy01DptXFV7X9mYfRxB2DWW2ol8UvNEIkeY1BC+CyBfAV711YFillmYJ9RHC99COaGs2JzaEtkpuJpQI0a5DIGT7bBaGmsieehjtkcUwvpqmN0bWAyB7ZjU5+g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com; dkim=pass header.d=mellanox.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Nomp0ciguPonfqyAfTPx9jBWllQQU6LzZrEYpbpvUI0=; b=l1JAax53JCILZMZdsoIdtk5ZVgJRm2RDdOmtVQdi/AKzbt9qL4XS4y1obP2hX4B4NVUeTvPoK5V2UGFe/JGz4sKlsc7jaaUHP0oo259IA9kJB7G4atW/d3HXTwT2Mx4ONJ1IBkEzv2kzsx7lhJA5e9fSM21bydjLXYjkAdVe7qM= Received: from AM0PR05MB6610.eurprd05.prod.outlook.com (2603:10a6:208:12f::18) by AM0PR05MB6386.eurprd05.prod.outlook.com (2603:10a6:208:13c::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2979.27; Wed, 6 May 2020 17:07:50 +0000 Received: from AM0PR05MB6610.eurprd05.prod.outlook.com ([fe80::900:c0ac:78bd:18fc]) by AM0PR05MB6610.eurprd05.prod.outlook.com ([fe80::900:c0ac:78bd:18fc%6]) with mapi id 15.20.2958.030; Wed, 6 May 2020 17:07:49 +0000 From: Wisam Monther To: Andrew Rybchenko , "dev@dpdk.org" , Jack Min , Thomas Monjalon , "jerinjacobk@gmail.com" , "gerlitz.or@gmail.com" , "l.yan@epfl.ch" , "ajit.khaparde@broadcom.com" Thread-Topic: [dpdk-dev] [PATCH v5 1/5] app/flow-perf: add flow performance skeleton Thread-Index: AQHWI6MAQ4500PDkr0Cj+Me4rgnlAKibHTaAgAArtLA= Date: Wed, 6 May 2020 17:07:49 +0000 Message-ID: References: <20200430103341.1845-2-wisamm@mellanox.com> <20200506123627.22340-1-wisamm@mellanox.com> <20200506123627.22340-2-wisamm@mellanox.com> <54556a1d-b30a-8032-eca9-8d84c7036f00@solarflare.com> In-Reply-To: <54556a1d-b30a-8032-eca9-8d84c7036f00@solarflare.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: solarflare.com; dkim=none (message not signed) header.d=none;solarflare.com; dmarc=none action=none header.from=mellanox.com; x-originating-ip: [188.161.228.59] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 0767e133-8c73-452d-a224-08d7f1e0019f x-ms-traffictypediagnostic: AM0PR05MB6386:|AM0PR05MB6386: x-ld-processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:113; x-forefront-prvs: 03950F25EC x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: bQJ2Q57TWrqZbtHWoKvkXOp1t/waWnOoJky1G/LNio3F3GnB96JOP+d62HyjrE2VtZt0yMLWupJNtg5FgEGlTU/7HI8B+VWc8RWDjg8fXvYZNFJuP8Tv8VoDvEGyWizLfDs2LLp++KDWbGq5SJIwuAwMaMsASUrMBgtjpoZxpcW0tta2DpkECyCfA01zULgGHBfEeRqXmqvqXHjfVY9PeUGmWPD8DmN4F34ylohj2ccBfVbVyhEfEjkv1i6evXU6p9/XH3IwWoqf/yl24NQfgz9o8gb2XeR3Een2VGteJr7WrkswuVq5QRiIknJh4OTVcWlLCwabmyxI62XmrCradEYAJgCeX9RZDpp+lI4pHlZnlR5IKmmj/MSEvK2w2BNFbxBNknSZmRhVOqitLmDQr9gN1jQZIs+IC+nFhyb6rOSJihsm+iy98/lbHFKlh9nT9Btx6Rd4YPWLM+94KDz6cGgJ7jCiGmZDkgJ5egC1biw+/Peeg+Qhqsulyy8VExLxh6uusnfeKt+ThMqOeA0XVQ== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR05MB6610.eurprd05.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(136003)(366004)(376002)(346002)(396003)(39860400002)(33430700001)(316002)(8936002)(71200400001)(8676002)(33656002)(110136005)(5660300002)(186003)(6506007)(55016002)(9686003)(64756008)(26005)(86362001)(52536014)(7696005)(66476007)(66446008)(66946007)(2906002)(76116006)(66556008)(33440700001)(478600001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: Y0dqE2ICdSMSDJIh5mjjSa6cPFnLBQvXiJFgXWHfyGe8eOiOxQx7NZYas5w74dgKLRfxhLR891AvlHlmrrb7imxSiPdoieQQ4UhzNvOVKGSJmwMKHGmOuBe5y6RtgstR+H/GliKuilRvro9cPGHctKId8Ckw+EuTHJaqlei1N5sgey5BJMWNv9uG8mbWKzy41x/poqwF/B7JwNZ+fjZSnZ56qK3965Y3WmHu9PMg9Rc4oTp0N4iOrx/OEH75TZFirC85kIh9BLnEeS2Kr4RjJzxdqiLqQC6ONLM//0sbUgitXjbsjfappXTXKiz9ve669hS08T7WE7HKmeXP0iHXyU7wSyjgpzTkVpjNi10MkaoeSBg9yvGwtSyVsQvxVTYmcLxG0d/+WbpPDrmt3BqVgSr5YOJatsmnKef7KyZh5uxkR4/iI7bUb87+R73/DXcWNxcQYFgEWhIZjd7PFl55QZRR5QYkL2DCddMLnxw7cB1Gj/WIf+fXI4KI4u/xYTh1mnJv3Trabj3o6nSrcV7Nq/BCL/FUq0qwaLClT8PYZUdai102fHEJAemk9v1653g5ww2NIy9sAehMeFhVQ8T3fe/KE/Dki2wJ4zI2/M0BwMq50Of/tq+pyGWp/8JkvdFyxMtTIX0DJAllsDhrtg3tWGQSMRR6aju4uYmBObvN9aVvwkmgvXnj7v/lP6OVgKnkFh2rWT9DpX2iGehQbn1kWBbXxPtjD8lOU8EjARsjBJr/K4bpXWvPNkAZKgXignoIZbRqKTMdyX0JsoCHjQCMk806183cwtfDqCO5a+brhgM= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0767e133-8c73-452d-a224-08d7f1e0019f X-MS-Exchange-CrossTenant-originalarrivaltime: 06 May 2020 17:07:49.6672 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: asfQeQf0tTFTVdreq36kADMDvMdYYZL3iuhZB0bJeuLnCquMER2c2QdU0/SVHX8OkXjHV2sYs5g8UzNmrZCJCg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR05MB6386 Subject: Re: [dpdk-dev] [PATCH v5 1/5] app/flow-perf: add flow performance skeleton 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" DQoNCj4tLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPkZyb206IEFuZHJldyBSeWJjaGVua28g PGFyeWJjaGVua29Ac29sYXJmbGFyZS5jb20+DQo+U2VudDogV2VkbmVzZGF5LCBNYXkgNiwgMjAy MCA1OjI2IFBNDQo+VG86IFdpc2FtIE1vbnRoZXIgPHdpc2FtbUBtZWxsYW5veC5jb20+OyBkZXZA ZHBkay5vcmc7IEphY2sgTWluDQo+PGphY2ttaW5AbWVsbGFub3guY29tPjsgVGhvbWFzIE1vbmph bG9uIDx0aG9tYXNAbW9uamFsb24ubmV0PjsNCj5qZXJpbmphY29ia0BnbWFpbC5jb207IGdlcmxp dHoub3JAZ21haWwuY29tOyBsLnlhbkBlcGZsLmNoOw0KPmFqaXQua2hhcGFyZGVAYnJvYWRjb20u Y29tDQo+U3ViamVjdDogUmU6IFtkcGRrLWRldl0gW1BBVENIIHY1IDEvNV0gYXBwL2Zsb3ctcGVy ZjogYWRkIGZsb3cgcGVyZm9ybWFuY2UNCj5za2VsZXRvbg0KPg0KPk9uIDUvNi8yMCAzOjM2IFBN LCBXaXNhbSBKYWRkbyB3cm90ZToNCj4+IEFkZCBmbG93IHBlcmZvcm1hbmNlIGFwcGxpY2F0aW9u IHNrZWxldG9uLg0KPj4NCj4+IFNpZ25lZC1vZmYtYnk6IFdpc2FtIEphZGRvIDx3aXNhbW1AbWVs bGFub3guY29tPg0KPj4gLS0tDQo+DQo+W3NuaXBdDQo+DQo+PiBkaWZmIC0tZ2l0IGEvYXBwL3Rl c3QtZmxvdy1wZXJmL21haW4uYyBiL2FwcC90ZXN0LWZsb3ctcGVyZi9tYWluLmMgbmV3DQo+PiBm aWxlIG1vZGUgMTAwNjQ0IGluZGV4IDAwMDAwMDAwMC4uN2E5MjRjZGI3DQo+PiAtLS0gL2Rldi9u dWxsDQo+PiArKysgYi9hcHAvdGVzdC1mbG93LXBlcmYvbWFpbi5jDQo+PiBAQCAtMCwwICsxLDIw MCBAQA0KPj4gKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UNCj4+ICsg KiBDb3B5cmlnaHQgMjAyMCBNZWxsYW5veCBUZWNobm9sb2dpZXMsIEx0ZA0KPj4gKyAqDQo+PiAr ICogVGhpcyBmaWxlIGNvbnRhaW4gdGhlIGFwcGxpY2F0aW9uIG1haW4gZmlsZQ0KPj4gKyAqIFRo aXMgYXBwbGljYXRpb24gcHJvdmlkZXMgdGhlIHVzZXIgdGhlIGFiaWxpdHkgdG8gdGVzdCB0aGUN Cj4+ICsgKiBpbnNlcnRpb24gcmF0ZSBmb3Igc3BlY2lmaWMgcnRlX2Zsb3cgcnVsZSB1bmRlciBz dHJlc3Mgc3RhdGUgfjRNDQo+PiArcnVsZS8NCj4+ICsgKg0KPj4gKyAqIFRoZW4gaXQgd2lsbCBh bHNvIHByb3ZpZGUgcGFja2V0IHBlciBzZWNvbmQgbWVhc3VyZW1lbnQgYWZ0ZXINCj4+ICtpbnN0 YWxsaW5nDQo+PiArICogYWxsIHJ1bGVzLCB0aGUgdXNlciBtYXkgc2VuZCB0cmFmZmljIHRvIHRl c3QgdGhlIFBQUyB0aGF0IG1hdGNoDQo+PiArdGhlIHJ1bGVzDQo+PiArICogYWZ0ZXIgYWxsIHJ1 bGVzIGFyZSBpbnN0YWxsZWQsIHRvIGNoZWNrIHBlcmZvcm1hbmNlIG9yDQo+PiArZnVuY3Rpb25h bGl0eSBhZnRlcg0KPj4gKyAqIHRoZSBzdHJlc3MuDQo+PiArICoNCj4+ICsgKiBUaGUgZmxvd3Mg aW5zZXJ0aW9uIHdpbGwgZ28gZm9yIGFsbCBwb3J0cyBmaXJzdCwgdGhlbiBpdCB3aWxsDQo+PiAr cHJpbnQgdGhlDQo+PiArICogcmVzdWx0cywgYWZ0ZXIgdGhhdCB0aGUgYXBwbGljYXRpb24gd2ls bCBnbyBpbnRvIGZvcndhcmRpbmcNCj4+ICtwYWNrZXRzIG1vZGUNCj4+ICsgKiBpdCB3aWxsIHN0 YXJ0IHJlY2VpdmluZyB0cmFmZmljIGlmIGFueSBhbmQgdGhlbiBmb3J3YXJkaW5nIGl0IGJhY2sN Cj4+ICthbmQNCj4+ICsgKiBnaXZlcyBwYWNrZXQgcGVyIHNlY29uZCBtZWFzdXJlbWVudC4NCj4+ ICsgKi8NCj4+ICsNCj4+ICsjaW5jbHVkZSA8c3RkaW8uaD4NCj4+ICsjaW5jbHVkZSA8c3RkbGli Lmg+DQo+PiArI2luY2x1ZGUgPHN0cmluZy5oPg0KPj4gKyNpbmNsdWRlIDxzdGRpbnQuaD4NCj4+ ICsjaW5jbHVkZSA8aW50dHlwZXMuaD4NCj4+ICsjaW5jbHVkZSA8c3RkYXJnLmg+DQo+PiArI2lu Y2x1ZGUgPGVycm5vLmg+DQo+PiArI2luY2x1ZGUgPGdldG9wdC5oPg0KPj4gKyNpbmNsdWRlIDxz aWduYWwuaD4NCj4+ICsjaW5jbHVkZSA8c3RkYm9vbC5oPg0KPj4gKyNpbmNsdWRlIDxzeXMvdGlt ZS5oPg0KPj4gKw0KPj4gKyNpbmNsdWRlIDxydGVfbWFsbG9jLmg+DQo+PiArI2luY2x1ZGUgPHJ0 ZV9tZW1wb29sLmg+DQo+PiArI2luY2x1ZGUgPHJ0ZV9tYnVmLmg+DQo+PiArI2luY2x1ZGUgPHJ0 ZV9ldGhkZXYuaD4NCj4+ICsjaW5jbHVkZSA8cnRlX2Zsb3cuaD4NCj4+ICsNCj4+ICsjaW5jbHVk ZSAiY29uZmlnLmgiDQo+PiArDQo+PiArc3RhdGljIHVpbnQzMl90IG5iX2xjb3JlczsNCj4+ICtz dGF0aWMgc3RydWN0IHJ0ZV9tZW1wb29sICptYnVmX21wOw0KPj4gKw0KPj4gK3N0YXRpYyB2b2lk DQo+PiArdXNhZ2UoY2hhciAqcHJvZ25hbWUpDQo+PiArew0KPj4gKwlwcmludGYoIlxudXNhZ2U6 ICVzXG4iLCBwcm9nbmFtZSk7DQo+PiArfQ0KPj4gKw0KPj4gK3N0YXRpYyB2b2lkDQo+PiArYXJn c19wYXJzZShpbnQgYXJnYywgY2hhciAqKmFyZ3YpDQo+PiArew0KPj4gKwljaGFyICoqYXJndm9w dDsNCj4+ICsJaW50IG9wdDsNCj4+ICsJaW50IG9wdF9pZHg7DQo+PiArCXN0YXRpYyBzdHJ1Y3Qg b3B0aW9uIGxnb3B0c1tdID0gew0KPj4gKwkJLyogQ29udHJvbCAqLw0KPj4gKwkJeyAiaGVscCIs ICAgICAgICAgICAgICAgICAgICAgICAwLCAwLCAwIH0sDQo+PiArCX07DQo+PiArDQo+PiArCWFy Z3ZvcHQgPSBhcmd2Ow0KPj4gKw0KPj4gKwl3aGlsZSAoKG9wdCA9IGdldG9wdF9sb25nKGFyZ2Ms IGFyZ3ZvcHQsICIiLA0KPj4gKwkJCQlsZ29wdHMsICZvcHRfaWR4KSkgIT0gRU9GKSB7DQo+PiAr CQlzd2l0Y2ggKG9wdCkgew0KPj4gKwkJY2FzZSAwOg0KPj4gKwkJCWlmICghc3RyY21wKGxnb3B0 c1tvcHRfaWR4XS5uYW1lLCAiaGVscCIpKSB7DQo+DQo+RFBESyBjb2Rpbmcgc3R5bGUgcmVjb21t ZW5kcyB0byBjb21wYXJlIHZzIDAgaW5zdGVhZCBvZiBsb2dpY2FsIG5vdC4NCg0KT2ssIHdpbGwg bW92ZSBpdA0KDQo+DQo+PiArCQkJCXVzYWdlKGFyZ3ZbMF0pOw0KPj4gKwkJCQlydGVfZXhpdChF WElUX1NVQ0NFU1MsICJEaXNwbGF5ZWQgaGVscFxuIik7DQo+PiArCQkJfQ0KPj4gKwkJCWJyZWFr Ow0KPj4gKwkJZGVmYXVsdDoNCj4+ICsJCQlwcmludGYoIkludmFsaWQgb3B0aW9uOiAlc1xuIiwg YXJndltvcHRpbmRdKTsNCj4NCj5BZ2Fpbiwgc29ycnkgaWYgSSBtaXNzZWQgcmVwbHk6IFdoeSBl cnJvciBpcyBub3QgbG9nZ2VkIHRvIHN0ZGVycj8NCg0KTm8sIEkgbWlzc2VkIGl0LCB3aWxsIG1v dmUgaXQgdG8gc3RkZXJyDQoNCj4NCj4+ICsJCQl1c2FnZShhcmd2WzBdKTsNCj4+ICsJCQlydGVf ZXhpdChFWElUX1NVQ0NFU1MsICJJbnZhbGlkIG9wdGlvblxuIik7DQo+PiArCQkJYnJlYWs7DQo+ PiArCQl9DQo+PiArCX0NCj4+ICt9DQo+PiArDQo+PiArc3RhdGljIHZvaWQNCj4+ICtpbml0X3Bv cnQodm9pZCkNCj4+ICt7DQo+PiArCWludCByZXQ7DQo+PiArCXVpbnQxNl90IGk7DQo+PiArCXVp bnQxNl90IHBvcnRfaWQ7DQo+PiArCXVpbnQxNl90IG5yX3BvcnRzOw0KPj4gKwlzdHJ1Y3QgcnRl X2V0aF9jb25mIHBvcnRfY29uZiA9IHsNCj4+ICsJCS5yeF9hZHZfY29uZiA9IHsNCj4+ICsJCQku cnNzX2NvbmYucnNzX2hmID0NCj4+ICsJCQkJRVRIX1JTU19JUCAgfA0KPj4gKwkJCQlFVEhfUlNT X1RDUCwNCj4+ICsJCX0NCj4+ICsJfTsNCj4+ICsJc3RydWN0IHJ0ZV9ldGhfdHhjb25mIHR4cV9j b25mOw0KPj4gKwlzdHJ1Y3QgcnRlX2V0aF9yeGNvbmYgcnhxX2NvbmY7DQo+PiArCXN0cnVjdCBy dGVfZXRoX2Rldl9pbmZvIGRldl9pbmZvOw0KPj4gKw0KPj4gKwlucl9wb3J0cyA9IHJ0ZV9ldGhf ZGV2X2NvdW50X2F2YWlsKCk7DQo+PiArCWlmIChucl9wb3J0cyA9PSAwKQ0KPj4gKwkJcnRlX2V4 aXQoRVhJVF9GQUlMVVJFLCAiRXJyb3I6IG5vIHBvcnQgZGV0ZWN0ZWRcbiIpOw0KPj4gKw0KPj4g KwltYnVmX21wID0gcnRlX3BrdG1idWZfcG9vbF9jcmVhdGUoIm1idWZfcG9vbCIsDQo+PiArCQkJ CQlUT1RBTF9NQlVGX05VTSwNCj5NQlVGX0NBQ0hFX1NJWkUsDQo+PiArCQkJCQkwLCBNQlVGX1NJ WkUsDQo+PiArCQkJCQlydGVfc29ja2V0X2lkKCkpOw0KPj4gKwlpZiAobWJ1Zl9tcCA9PSBOVUxM KQ0KPj4gKwkJcnRlX2V4aXQoRVhJVF9GQUlMVVJFLCAiRXJyb3I6IGNhbid0IGluaXQgbWJ1ZiBw b29sXG4iKTsNCj4+ICsNCj4+ICsJZm9yIChwb3J0X2lkID0gMDsgcG9ydF9pZCA8IG5yX3BvcnRz OyBwb3J0X2lkKyspIHsNCj4+ICsJCXJldCA9IHJ0ZV9ldGhfZGV2X2luZm9fZ2V0KHBvcnRfaWQs ICZkZXZfaW5mbyk7DQo+PiArCQlpZiAocmV0ICE9IDApDQo+PiArCQkJcnRlX2V4aXQoRVhJVF9G QUlMVVJFLA0KPj4gKwkJCQkiRXJyb3IgZHVyaW5nIGdldHRpbmcgZGV2aWNlIg0KPj4gKwkJCQki IChwb3J0ICV1KSBpbmZvOiAlc1xuIiwNCj4+ICsJCQkJcG9ydF9pZCwgc3RyZXJyb3IoLXJldCkp Ow0KPj4gKw0KPj4gKwkJcG9ydF9jb25mLnR4bW9kZS5vZmZsb2FkcyAmPSBkZXZfaW5mby50eF9v ZmZsb2FkX2NhcGE7DQo+PiArCQlwb3J0X2NvbmYucnhtb2RlLm9mZmxvYWRzICY9IGRldl9pbmZv LnJ4X29mZmxvYWRfY2FwYTsNCj4+ICsNCj4+ICsJCXByaW50ZigiOjogaW5pdGlhbGl6aW5nIHBv cnQ6ICVkXG4iLCBwb3J0X2lkKTsNCj4+ICsNCj4+ICsJCXJldCA9IHJ0ZV9ldGhfZGV2X2NvbmZp Z3VyZShwb3J0X2lkLCBSWFFfTlVNLA0KPj4gKwkJCQlUWFFfTlVNLCAmcG9ydF9jb25mKTsNCj4+ ICsJCWlmIChyZXQgPCAwKQ0KPj4gKwkJCXJ0ZV9leGl0KEVYSVRfRkFJTFVSRSwNCj4+ICsJCQkJ Ijo6IGNhbm5vdCBjb25maWd1cmUgZGV2aWNlOiBlcnI9JWQsDQo+cG9ydD0ldVxuIiwNCj4+ICsJ CQkJcmV0LCBwb3J0X2lkKTsNCj4+ICsNCj4+ICsJCXJ4cV9jb25mID0gZGV2X2luZm8uZGVmYXVs dF9yeGNvbmY7DQo+PiArCQlyeHFfY29uZi5vZmZsb2FkcyA9IHBvcnRfY29uZi5yeG1vZGUub2Zm bG9hZHM7DQo+DQo+DQo+QXMgZmFyIGFzIEkga25vdyB0aGVyZSBpcyBubyBuZWNlc3NpdHkgdG8g cmVwZWF0IHBvcnQgb2ZmbGFvZCBvbiBxdWV1ZSBsZXZlbC4NCj5TbywgdGhlIGxpbmUgaXMgbm90 IG5lY2VzYXJ5Lg0KDQpZZXMgeW91IGFyZSByaWdodCwganVzdCBjaGVja2VkIHRoZSBjb2RlLCBp dCB0YWtlcyB0aGUgb2ZmbG9hZHMgZnJvbSB0aGUgcG9ydCBpdCBzZWxmLg0KV2lsbCByZW1vdmUg aXQuDQoNCj4NCj4+ICsNCj4+ICsJCWZvciAoaSA9IDA7IGkgPCBSWFFfTlVNOyBpKyspIHsNCj4+ ICsJCQlyZXQgPSBydGVfZXRoX3J4X3F1ZXVlX3NldHVwKHBvcnRfaWQsIGksIE5SX1JYRCwNCj4+ ICsJCQkJCXJ0ZV9ldGhfZGV2X3NvY2tldF9pZChwb3J0X2lkKSwNCj4+ICsJCQkJCSZyeHFfY29u ZiwNCj4+ICsJCQkJCW1idWZfbXApOw0KPj4gKwkJCWlmIChyZXQgPCAwKQ0KPj4gKwkJCQlydGVf ZXhpdChFWElUX0ZBSUxVUkUsDQo+PiArCQkJCQkiOjogUnggcXVldWUgc2V0dXAgZmFpbGVkOiBl cnI9JWQsDQo+cG9ydD0ldVxuIiwNCj4+ICsJCQkJCXJldCwgcG9ydF9pZCk7DQo+PiArCQl9DQo+ PiArDQo+PiArCQl0eHFfY29uZiA9IGRldl9pbmZvLmRlZmF1bHRfdHhjb25mOw0KPj4gKwkJdHhx X2NvbmYub2ZmbG9hZHMgPSBwb3J0X2NvbmYudHhtb2RlLm9mZmxvYWRzOw0KPg0KPkFzIGZhciBh cyBJIGtub3cgdGhlcmUgaXMgbm8gbmVjZXNzaXR5IHRvIHJlcGVhdCBwb3J0IG9mZmxhb2Qgb24g cXVldWUgbGV2ZWwuDQo+U28sIHRoZSBsaW5lIGlzIG5vdCBuZWNlc2FyeS4NCg0KV2lsbCByZW1v dmUgaXQNCg0KPg0KPj4gKw0KPj4gKwkJZm9yIChpID0gMDsgaSA8IFRYUV9OVU07IGkrKykgew0K Pj4gKwkJCXJldCA9IHJ0ZV9ldGhfdHhfcXVldWVfc2V0dXAocG9ydF9pZCwgaSwgTlJfVFhELA0K Pj4gKwkJCQkJcnRlX2V0aF9kZXZfc29ja2V0X2lkKHBvcnRfaWQpLA0KPj4gKwkJCQkJJnR4cV9j b25mKTsNCj4+ICsJCQlpZiAocmV0IDwgMCkNCj4+ICsJCQkJcnRlX2V4aXQoRVhJVF9GQUlMVVJF LA0KPj4gKwkJCQkJIjo6IFR4IHF1ZXVlIHNldHVwIGZhaWxlZDogZXJyPSVkLA0KPnBvcnQ9JXVc biIsDQo+PiArCQkJCQlyZXQsIHBvcnRfaWQpOw0KPj4gKwkJfQ0KPj4gKw0KPj4gKwkJLyogQ2F0 Y2ggYWxsIHBhY2tldHMgZnJvbSB0cmFmZmljIGdlbmVyYXRvci4gKi8NCj4+ICsJCXJldCA9IHJ0 ZV9ldGhfcHJvbWlzY3VvdXNfZW5hYmxlKHBvcnRfaWQpOw0KPj4gKwkJaWYgKHJldCAhPSAwKQ0K Pj4gKwkJCXJ0ZV9leGl0KEVYSVRfRkFJTFVSRSwNCj4+ICsJCQkJIjo6IHByb21pc2N1b3VzIG1v ZGUgZW5hYmxlIGZhaWxlZDogZXJyPSVzLA0KPnBvcnQ9JXVcbiIsDQo+PiArCQkJCXJ0ZV9zdHJl cnJvcigtcmV0KSwgcG9ydF9pZCk7DQo+PiArDQo+PiArCQlyZXQgPSBydGVfZXRoX2Rldl9zdGFy dChwb3J0X2lkKTsNCj4+ICsJCWlmIChyZXQgPCAwKQ0KPj4gKwkJCXJ0ZV9leGl0KEVYSVRfRkFJ TFVSRSwNCj4+ICsJCQkJInJ0ZV9ldGhfZGV2X3N0YXJ0OmVycj0lZCwgcG9ydD0ldVxuIiwNCj4+ ICsJCQkJcmV0LCBwb3J0X2lkKTsNCj4+ICsNCj4+ICsJCXByaW50ZigiOjogaW5pdGlhbGl6aW5n IHBvcnQ6ICVkIGRvbmVcbiIsIHBvcnRfaWQpOw0KPj4gKwl9DQo+PiArfQ0KPj4gKw0KPj4gK2lu dA0KPj4gK21haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQ0KPj4gK3sNCj4+ICsJaW50IHJldDsN Cj4+ICsJdWludDE2X3QgcG9ydDsNCj4+ICsJc3RydWN0IHJ0ZV9mbG93X2Vycm9yIGVycm9yOw0K Pj4gKw0KPj4gKwlyZXQgPSBydGVfZWFsX2luaXQoYXJnYywgYXJndik7DQo+PiArCWlmIChyZXQg PCAwKQ0KPj4gKwkJcnRlX2V4aXQoRVhJVF9GQUlMVVJFLCAiRUFMIGluaXQgZmFpbGVkXG4iKTsN Cj4+ICsNCj4+ICsJYXJnYyAtPSByZXQ7DQo+PiArCWFyZ3YgKz0gcmV0Ow0KPj4gKwlpZiAoYXJn YyA+IDEpDQo+PiArCQlhcmdzX3BhcnNlKGFyZ2MsIGFyZ3YpOw0KPj4gKw0KPj4gKwlpbml0X3Bv cnQoKTsNCj4+ICsNCj4+ICsJbmJfbGNvcmVzID0gcnRlX2xjb3JlX2NvdW50KCk7DQo+PiArCWlm IChuYl9sY29yZXMgPD0gMSkNCj4+ICsJCXJ0ZV9leGl0KEVYSVRfRkFJTFVSRSwgIlRoaXMgYXBw IG5lZWRzIGF0IGxlYXN0IHR3bw0KPmNvcmVzXG4iKTsNCj4+ICsNCj4+ICsJUlRFX0VUSF9GT1JF QUNIX0RFVihwb3J0KSB7DQo+PiArCQlydGVfZmxvd19mbHVzaChwb3J0LCAmZXJyb3IpOw0KPj4g KwkJcnRlX2V0aF9kZXZfc3RvcChwb3J0KTsNCj4+ICsJCXJ0ZV9ldGhfZGV2X2Nsb3NlKHBvcnQp Ow0KPj4gKwl9DQo+PiArCXJldHVybiAwOw0KPj4gK30NCj4NCj5bc25pcF0NCj4NCj4+IGRpZmYg LS1naXQgYS9jb25maWcvY29tbW9uX2Jhc2UgYi9jb25maWcvY29tbW9uX2Jhc2UgaW5kZXgNCj4+ IDE0MDAwYmEwNy4uYjJlZGQ1MjY3IDEwMDY0NCBkaWZmIC0tZ2l0DQo+PiBhL2RvYy9ndWlkZXMv cmVsX25vdGVzL3JlbGVhc2VfMjBfMDUucnN0DQo+PiBiL2RvYy9ndWlkZXMvcmVsX25vdGVzL3Jl bGVhc2VfMjBfMDUucnN0DQo+PiBpbmRleCBiMTI0YzNmMjguLjI1OGIxZTAzZSAxMDA2NDQNCj4+ IC0tLSBhL2RvYy9ndWlkZXMvcmVsX25vdGVzL3JlbGVhc2VfMjBfMDUucnN0DQo+PiArKysgYi9k b2MvZ3VpZGVzL3JlbF9ub3Rlcy9yZWxlYXNlXzIwXzA1LnJzdA0KPj4gQEAgLTIxMiw2ICsyMTIs MTYgQEAgTmV3IEZlYXR1cmVzDQo+PiAgICAqIEFkZGVkIElQc2VjIGluYm91bmQgbG9hZC1kaXN0 cmlidXRpb24gc3VwcG9ydCBmb3IgaXBzZWMtc2VjZ3cNCj5hcHBsaWNhdGlvbg0KPj4gICAgICB1 c2luZyBOSUMgbG9hZCBkaXN0cmlidXRpb24gZmVhdHVyZShGbG93IERpcmVjdG9yKS4NCj4+DQo+ PiArKiAqKkFkZGVkIGZsb3cgcGVyZm9ybWFuY2UgYXBwbGljYXRpb24uKioNCj4+ICsNCj4+ICsg IEFkZCBuZXcgYXBwbGljYXRpb24gdG8gdGVzdCBydGVfZmxvdyBwZXJmb3JtYW5jZS4NCj4+ICsN Cj4+ICsgIEFwcGxpY2F0aW9uIGZlYXR1cmVzOg0KPj4gKyAgKiBNZWFzdXJlIHJ0ZV9mbG93IGlu c2VydGlvbiByYXRlLg0KPj4gKyAgKiBNZWFzdXJlIHJ0ZV9mbG93IGRlbGV0aW9uIHJhdGUuDQo+ PiArICAqIER1bXAgcnRlX2Zsb3cgbWVtb3J5IGNvbnN1bXB0aW9uLg0KPj4gKyAgKiBNZWFzdXJl IHBhY2tldCBwZXIgc2Vjb25kIGZvcndhcmRpbmcuDQo+DQo+SSB0aGluayBhYm92ZSBsaW5lcyBz aG91bGQgYmUgYWRkZWQgaW4gYXBwcm9wcmlhdGUgcGF0Y2hlcyB3aGljaCByZWFsbHkgZG8gaXQu DQoNCldoYXQgZG8geW91IG1lYW4/DQplYWNoIGZlYXR1cmUgc2hvdWxkIGFkZCBpdCdzIG93biBs aW5lIGluIHRoZSBzYW1lIGNvbW1pdD8NCg0KPg0KPj4gKw0KPj4NCj4+ICBSZW1vdmVkIEl0ZW1z DQo+PiAgLS0tLS0tLS0tLS0tLQ0KPg0KPltzbmlwXQ0KDQo=