From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on0040.outbound.protection.outlook.com [104.47.0.40]) by dpdk.org (Postfix) with ESMTP id 8926E803D for ; Thu, 26 Apr 2018 16:43:27 +0200 (CEST) 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; bh=X8A8EqTtoGa7BBJcjri3dTdL56KCSlsAMmxXp080zOk=; b=SEnO+dl+tSfcUyvqYvWpMhUvYiurQtFl/oMU7xpC9XQ14usL0ZjEiEa5qp8M8p4sHui0Og+BDl616fDOLdOsGOs4xn4kGWaA2kT4ehktZ0IcevFG+iVvxxBzVbwT7bsRrB7aZxPeA1eUMU9u/1y9s/nMofeRANYzH7ZxaokyI0Y= Received: from AM4PR05MB3425.eurprd05.prod.outlook.com (10.171.187.142) by AM4PR05MB1874.eurprd05.prod.outlook.com (10.167.90.28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.715.18; Thu, 26 Apr 2018 14:43:25 +0000 Received: from AM4PR05MB3425.eurprd05.prod.outlook.com ([fe80::ac8f:2b8c:c0dd:379e]) by AM4PR05MB3425.eurprd05.prod.outlook.com ([fe80::ac8f:2b8c:c0dd:379e%4]) with mapi id 15.20.0715.018; Thu, 26 Apr 2018 14:43:25 +0000 From: Ori Kam To: Ferruh Yigit , Declan Doherty , "dev@dpdk.org" , Matan Azrad , Shahaf Shuler Thread-Topic: [dpdk-dev] [PATCH v6 4/4] ethdev: add shared counter support to rte_flow Thread-Index: AQHT3Wq+rPqbz7/2nEiVvLB3Y61n96QTG5lg Date: Thu, 26 Apr 2018 14:43:24 +0000 Message-ID: References: <20180426120817.6612-1-declan.doherty@intel.com> <20180426120817.6612-5-declan.doherty@intel.com> <5f430dca-6cfe-76e2-9250-415d41aac295@intel.com> In-Reply-To: <5f430dca-6cfe-76e2-9250-415d41aac295@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=orika@mellanox.com; x-originating-ip: [193.47.165.251] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; AM4PR05MB1874; 7:0e0LgRC36JrRK28MLoP8CEo/97+K68i0Argv+2VtGX7z5/zifqX7cJgTA8OcEubmj1/oGWvbHq0LywtbEY6mt8Q5SE7Q4NagKd84MP4IjZDqSdGPtNy+Odnl/VeBYMYB5K+DpZEHf8Mrg/Oib7GS8IOM3f1ty6tZdVyQf40V3uI6daRpYquHzShh0SkomjeYkbMDr/UEeTw+O18FBYj2zOrcdRM8KXh3+f8Cr3dOmGv5ur2xFLOIiXWEig9gd12Y x-ms-exchange-antispam-srfa-diagnostics: SOS; x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(48565401081)(5600026)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:AM4PR05MB1874; x-ms-traffictypediagnostic: AM4PR05MB1874: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(211171220733660)(228905959029699); x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(93006095)(93001095)(3231232)(944501410)(52105095)(3002001)(10201501046)(6055026)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123564045)(20161123560045)(20161123562045)(6072148)(201708071742011); SRVR:AM4PR05MB1874; BCL:0; PCL:0; RULEID:; SRVR:AM4PR05MB1874; x-forefront-prvs: 0654257CF5 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(39860400002)(396003)(346002)(366004)(376002)(39380400002)(13464003)(199004)(189003)(105586002)(7736002)(5660300001)(3660700001)(305945005)(110136005)(74316002)(316002)(68736007)(186003)(106356001)(8676002)(3280700002)(2906002)(11346002)(33656002)(476003)(486006)(81156014)(446003)(81166006)(7696005)(93886005)(66066001)(53546011)(2900100001)(26005)(8936002)(3846002)(6116002)(99286004)(59450400001)(6506007)(97736004)(25786009)(102836004)(76176011)(6436002)(86362001)(575784001)(6636002)(478600001)(2501003)(14454004)(6246003)(53936002)(55016002)(5250100002)(229853002)(9686003)(53946003); DIR:OUT; SFP:1101; SCL:1; SRVR:AM4PR05MB1874; H:AM4PR05MB3425.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: yPPgUaqy67So8UKtnsDyHWfgWqaTtkP4lx+MytzD+2YBQvrnM1WpQ+UtnkxmS3CWxg+oAyfGxq7WX81H4s0E6P4LXBYEtGwc3rhIj2kQ9P2rte73JCVMalVuT0VrwiHhZeWIX4wxTbkSj/nJ4xA+JjxkbG34w8kcYKoGwsGC3PfxG81pBqHP0Z3Tu1QCpX4A spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: 465a219f-9e41-4a32-6918-08d5ab8410e9 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 465a219f-9e41-4a32-6918-08d5ab8410e9 X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Apr 2018 14:43:24.9537 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR05MB1874 Subject: Re: [dpdk-dev] [PATCH v6 4/4] ethdev: add shared counter support to rte_flow 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: , X-List-Received-Date: Thu, 26 Apr 2018 14:43:27 -0000 SGksDQoNClBTQg0KDQpPcmkgDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206 IEZlcnJ1aCBZaWdpdCBbbWFpbHRvOmZlcnJ1aC55aWdpdEBpbnRlbC5jb21dDQo+IFNlbnQ6IFRo dXJzZGF5LCBBcHJpbCAyNiwgMjAxOCA1OjI4IFBNDQo+IFRvOiBPcmkgS2FtIDxvcmlrYUBtZWxs YW5veC5jb20+OyBEZWNsYW4gRG9oZXJ0eQ0KPiA8ZGVjbGFuLmRvaGVydHlAaW50ZWwuY29tPjsg ZGV2QGRwZGsub3JnOyBNYXRhbiBBenJhZA0KPiA8bWF0YW5AbWVsbGFub3guY29tPg0KPiBTdWJq ZWN0OiBSZTogW2RwZGstZGV2XSBbUEFUQ0ggdjYgNC80XSBldGhkZXY6IGFkZCBzaGFyZWQgY291 bnRlciBzdXBwb3J0DQo+IHRvIHJ0ZV9mbG93DQo+IA0KPiBPbiA0LzI2LzIwMTggMzowNiBQTSwg T3JpIEthbSB3cm90ZToNCj4gPiBIaSBEZWNsYW4sDQo+ID4NCj4gPiBZb3UgYXJlIGNoYW5naW5n IEFQSSAocG9ydF9mbG93X3F1ZXJ5KSB3aGljaCBpcyBpbiB1c2UgaW4gYm90aCBNTFg1DQo+ID4g YW5kIE1MWDQgdGhpcyByZXN1bHRzIGluIGJyZWFraW5nIHRoZSBidWlsZC4NCj4gDQo+IEhpIE9y aSwNCj4gDQo+IERvIHlvdSBtZWFuICJydGVfZmxvd19xdWVyeSI/IHBvcnRfZmxvd19xdWVyeSgp IGlzIGEgZnVuY3Rpb24gaW4gdGVzdHBtZCwNCj4gaG93IG1seCBpcyB1c2luZyBpdD8NCj4NCg0K TXkgYmFkIGxldCBtZSBiZSBjbGVhcmVyLg0KTUxYNSBhbmQgTUxYNCBhcmUgaW1wbGVtZW50aW5n IHRoZSBydGVfZmxvd19vcHMgcXVlcnkgZnVuY3Rpb24uDQpUaGlzIHBhdGNoIGNoYW5nZXMgdGhl IHByb3RvdHlwZSBmb3IgdGhlIHF1ZXJ5IGZ1bmN0aW9uIHdoaWNoIHJlc3VsdHMgaW4gDQpjb21w aWxhdGlvbiBlcnJvciBhbmQgc2hvdWxkIGFsc28gcmVzdWx0IGluIHNvbWUgY2hhbmdlIGluIHRo ZSBNTFg1IGFuZCBNTFg0IGltcGxlbWVudGF0aW9uLg0KIA0KIA0KPiA+DQo+ID4gQmVzdCwNCj4g PiBPcmkNCj4gPg0KPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiBGcm9tOiBk ZXYgW21haWx0bzpkZXYtYm91bmNlc0BkcGRrLm9yZ10gT24gQmVoYWxmIE9mIERlY2xhbiBEb2hl cnR5DQo+ID4+IFNlbnQ6IFRodXJzZGF5LCBBcHJpbCAyNiwgMjAxOCAzOjA4IFBNDQo+ID4+IFRv OiBkZXZAZHBkay5vcmcNCj4gPj4gQ2M6IEZlcnJ1aCBZaWdpdCA8ZmVycnVoLnlpZ2l0QGludGVs LmNvbT47IERlY2xhbiBEb2hlcnR5DQo+ID4+IDxkZWNsYW4uZG9oZXJ0eUBpbnRlbC5jb20+DQo+ ID4+IFN1YmplY3Q6IFtkcGRrLWRldl0gW1BBVENIIHY2IDQvNF0gZXRoZGV2OiBhZGQgc2hhcmVk IGNvdW50ZXIgc3VwcG9ydA0KPiA+PiB0byBydGVfZmxvdw0KPiA+Pg0KPiA+PiBBZGQgcnRlX2Zs b3dfYWN0aW9uX2NvdW50IGFjdGlvbiBkYXRhIHN0cnVjdHVyZSB0byBlbmFibGUgc2hhcmVkDQo+ ID4+IGNvdW50ZXJzIGFjcm9zcyBtdWx0aXBsZSBmbG93cyBvbiBhIHNpbmdsZSBwb3J0IG9yIGFj cm9zcyBtdWx0aXBsZQ0KPiA+PiBmbG93cyBvbiBtdWx0aXBsZSBwb3J0cyB3aXRoaW4gdGhlIHNh bWUgc3dpdGNoIGRvbWFpbi4gQWxzbyB0aGlzDQo+ID4+IGVuYWJsZXMgbXVsdGlwbGUgY291bnQg YWN0aW9ucyB0byBiZSBzcGVjaWZpZWQgaW4gYSBzaW5nbGUgZmxvdyBhY3Rpb24uDQo+ID4+DQo+ ID4+IFRoaXMgcGF0Y2ggYWxzbyBtb2RpZmllcyB0aGUgZXhpc3RpbmcgcnRlX2Zsb3dfcXVlcnkg QVBJIHRvIHRha2UgdGhlDQo+ID4+IHJ0ZV9mbG93X2FjdGlvbiBzdHJ1Y3R1cmUgYXMgYW4gaW5w dXQgcGFyYW1ldGVyIGluc3RlYWQgb2YgdGhlDQo+ID4+IHJ0ZV9mbG93X2FjdGlvbl90eXBlIGVu dW1lcmF0aW9uIHRvIGFsbG93IHF1ZXJ5aW5nIGEgc3BlY2lmaWMgYWN0aW9uDQo+ID4+IGZyb20g YSBmbG93IHJ1bGUgd2hlbiBtdWx0aXBsZSBhY3Rpb25zIG9mIHRoZSBzYW1lIHR5cGUgYXJlIHNw ZWNpZmllZC4NCj4gPj4NCj4gPj4gVGhpcyBwYXRjaCBhbHNvIGNvbnRhaW5zIHVwZGF0ZXMgZm9y IHRoZSBib25kaW5nIGFuZCBmYWlsc2FmZSBQTURzDQo+ID4+IGFuZCB0ZXN0cG1kIGFwcGxpY2F0 aW9uIHdoaWNoIGFyZSBhZmZlY3RlZCBieSB0aGlzIEFQSSBjaGFuZ2UuDQo+ID4+DQo+ID4+IFNp Z25lZC1vZmYtYnk6IERlY2xhbiBEb2hlcnR5IDxkZWNsYW4uZG9oZXJ0eUBpbnRlbC5jb20+DQo+ ID4+IC0tLQ0KPiA+PiAgYXBwL3Rlc3QtcG1kL2NtZGxpbmVfZmxvdy5jICAgICAgICAgICAgIHwg IDYgKystLQ0KPiA+PiAgYXBwL3Rlc3QtcG1kL2NvbmZpZy5jICAgICAgICAgICAgICAgICAgIHwg MTUgKysrKystLS0tDQo+ID4+ICBhcHAvdGVzdC1wbWQvdGVzdHBtZC5oICAgICAgICAgICAgICAg ICAgfCAgMiArLQ0KPiA+PiAgZG9jL2d1aWRlcy9wcm9nX2d1aWRlL3J0ZV9mbG93LnJzdCAgICAg IHwgNTkgKysrKysrKysrKysrKysrKysrKysrLS0NCj4gLS0tLQ0KPiA+PiAtLS0tLS0NCj4gPj4g IGRyaXZlcnMvbmV0L2JvbmRpbmcvcnRlX2V0aF9ib25kX2Zsb3cuYyB8ICA5ICsrLS0tDQo+ID4+ ICBkcml2ZXJzL25ldC9mYWlsc2FmZS9mYWlsc2FmZV9mbG93LmMgICAgfCAgNCArLS0NCj4gPj4g IGxpYi9saWJydGVfZXRoZXIvcnRlX2Zsb3cuYyAgICAgICAgICAgICB8ICAyICstDQo+ID4+ICBs aWIvbGlicnRlX2V0aGVyL3J0ZV9mbG93LmggICAgICAgICAgICAgfCAzOCArKysrKysrKysrKysr KysrKysrLS0NCj4gPj4gIGxpYi9saWJydGVfZXRoZXIvcnRlX2Zsb3dfZHJpdmVyLmggICAgICB8 ICAyICstDQo+ID4+ICA5IGZpbGVzIGNoYW5nZWQsIDkzIGluc2VydGlvbnMoKyksIDQ0IGRlbGV0 aW9ucygtKQ0KPiA+Pg0KPiA+PiBkaWZmIC0tZ2l0IGEvYXBwL3Rlc3QtcG1kL2NtZGxpbmVfZmxv dy5jDQo+ID4+IGIvYXBwL3Rlc3QtcG1kL2NtZGxpbmVfZmxvdy5jIGluZGV4IDFhYzA0YTBhYi4u NTc1NGU3ODU4IDEwMDY0NA0KPiA+PiAtLS0gYS9hcHAvdGVzdC1wbWQvY21kbGluZV9mbG93LmMN Cj4gPj4gKysrIGIvYXBwL3Rlc3QtcG1kL2NtZGxpbmVfZmxvdy5jDQo+ID4+IEBAIC00MjAsNyAr NDIwLDcgQEAgc3RydWN0IGJ1ZmZlciB7DQo+ID4+ICAJCX0gZGVzdHJveTsgLyoqPCBEZXN0cm95 IGFyZ3VtZW50cy4gKi8NCj4gPj4gIAkJc3RydWN0IHsNCj4gPj4gIAkJCXVpbnQzMl90IHJ1bGU7 DQo+ID4+IC0JCQllbnVtIHJ0ZV9mbG93X2FjdGlvbl90eXBlIGFjdGlvbjsNCj4gPj4gKwkJCXN0 cnVjdCBydGVfZmxvd19hY3Rpb24gYWN0aW9uOw0KPiA+PiAgCQl9IHF1ZXJ5OyAvKio8IFF1ZXJ5 IGFyZ3VtZW50cy4gKi8NCj4gPj4gIAkJc3RydWN0IHsNCj4gPj4gIAkJCXVpbnQzMl90ICpncm91 cDsNCj4gPj4gQEAgLTExMDEsNyArMTEwMSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdG9rZW4g dG9rZW5fbGlzdFtdID0gew0KPiA+PiAgCQkubmV4dCA9IE5FWFQoTkVYVF9FTlRSWShRVUVSWV9B Q1RJT04pLA0KPiA+PiAgCQkJICAgICBORVhUX0VOVFJZKFJVTEVfSUQpLA0KPiA+PiAgCQkJICAg ICBORVhUX0VOVFJZKFBPUlRfSUQpKSwNCj4gPj4gLQkJLmFyZ3MgPSBBUkdTKEFSR1NfRU5UUlko c3RydWN0IGJ1ZmZlciwgYXJncy5xdWVyeS5hY3Rpb24pLA0KPiA+PiArCQkuYXJncyA9IEFSR1Mo QVJHU19FTlRSWShzdHJ1Y3QgYnVmZmVyLA0KPiA+PiBhcmdzLnF1ZXJ5LmFjdGlvbi50eXBlKSwN Cj4gPj4gIAkJCSAgICAgQVJHU19FTlRSWShzdHJ1Y3QgYnVmZmVyLCBhcmdzLnF1ZXJ5LnJ1bGUp LA0KPiA+PiAgCQkJICAgICBBUkdTX0VOVFJZKHN0cnVjdCBidWZmZXIsIHBvcnQpKSwNCj4gPj4g IAkJLmNhbGwgPSBwYXJzZV9xdWVyeSwNCj4gPj4gQEAgLTM4NDIsNyArMzg0Miw3IEBAIGNtZF9m bG93X3BhcnNlZChjb25zdCBzdHJ1Y3QgYnVmZmVyICppbikNCj4gPj4gIAkJYnJlYWs7DQo+ID4+ ICAJY2FzZSBRVUVSWToNCj4gPj4gIAkJcG9ydF9mbG93X3F1ZXJ5KGluLT5wb3J0LCBpbi0+YXJn cy5xdWVyeS5ydWxlLA0KPiA+PiAtCQkJCWluLT5hcmdzLnF1ZXJ5LmFjdGlvbik7DQo+ID4+ICsJ CQkJJmluLT5hcmdzLnF1ZXJ5LmFjdGlvbik7DQo+ID4+ICAJCWJyZWFrOw0KPiA+PiAgCWNhc2Ug TElTVDoNCj4gPj4gIAkJcG9ydF9mbG93X2xpc3QoaW4tPnBvcnQsIGluLT5hcmdzLmxpc3QuZ3Jv dXBfbiwgZGlmZiAtLWdpdA0KPiA+PiBhL2FwcC90ZXN0LXBtZC9jb25maWcuYyBiL2FwcC90ZXN0 LXBtZC9jb25maWcuYyBpbmRleA0KPiA+PiAwZjI0MjUyMjkuLmNkNjEwMmRmYyAxMDA2NDQNCj4g Pj4gLS0tIGEvYXBwL3Rlc3QtcG1kL2NvbmZpZy5jDQo+ID4+ICsrKyBiL2FwcC90ZXN0LXBtZC9j b25maWcuYw0KPiA+PiBAQCAtMTQ1Miw3ICsxNDUyLDcgQEAgcG9ydF9mbG93X2ZsdXNoKHBvcnRp ZF90IHBvcnRfaWQpDQo+ID4+ICAvKiogUXVlcnkgYSBmbG93IHJ1bGUuICovDQo+ID4+ICBpbnQN Cj4gPj4gIHBvcnRfZmxvd19xdWVyeShwb3J0aWRfdCBwb3J0X2lkLCB1aW50MzJfdCBydWxlLA0K PiA+PiAtCQllbnVtIHJ0ZV9mbG93X2FjdGlvbl90eXBlIGFjdGlvbikNCj4gPj4gKwkJY29uc3Qg c3RydWN0IHJ0ZV9mbG93X2FjdGlvbiAqYWN0aW9uKQ0KPiA+PiAgew0KPiA+PiAgCXN0cnVjdCBy dGVfZmxvd19lcnJvciBlcnJvcjsNCj4gPj4gIAlzdHJ1Y3QgcnRlX3BvcnQgKnBvcnQ7DQo+ID4+ IEBAIC0xNDc0LDE1ICsxNDc0LDE2IEBAIHBvcnRfZmxvd19xdWVyeShwb3J0aWRfdCBwb3J0X2lk LCB1aW50MzJfdA0KPiBydWxlLA0KPiA+PiAgCQlyZXR1cm4gLUVOT0VOVDsNCj4gPj4gIAl9DQo+ ID4+ICAJaWYgKCh1bnNpZ25lZCBpbnQpYWN0aW9uID49IFJURV9ESU0oZmxvd19hY3Rpb24pIHx8 DQo+ID4+IC0JICAgICFmbG93X2FjdGlvblthY3Rpb25dLm5hbWUpDQo+ID4+ICsJICAgICFmbG93 X2FjdGlvblthY3Rpb24tPnR5cGVdLm5hbWUpDQo+ID4+ICAJCW5hbWUgPSAidW5rbm93biI7DQo+ ID4+ICAJZWxzZQ0KPiA+PiAtCQluYW1lID0gZmxvd19hY3Rpb25bYWN0aW9uXS5uYW1lOw0KPiA+ PiAtCXN3aXRjaCAoYWN0aW9uKSB7DQo+ID4+ICsJCW5hbWUgPSBmbG93X2FjdGlvblthY3Rpb24t PnR5cGVdLm5hbWU7DQo+ID4+ICsJc3dpdGNoIChhY3Rpb24tPnR5cGUpIHsNCj4gPj4gIAljYXNl IFJURV9GTE9XX0FDVElPTl9UWVBFX0NPVU5UOg0KPiA+PiAgCQlicmVhazsNCj4gPj4gIAlkZWZh dWx0Og0KPiA+PiAtCQlwcmludGYoIkNhbm5vdCBxdWVyeSBhY3Rpb24gdHlwZSAlZCAoJXMpXG4i LCBhY3Rpb24sIG5hbWUpOw0KPiA+PiArCQlwcmludGYoIkNhbm5vdCBxdWVyeSBhY3Rpb24gdHlw ZSAlZCAoJXMpXG4iLA0KPiA+PiArCQkJYWN0aW9uLT50eXBlLCBuYW1lKTsNCj4gPj4gIAkJcmV0 dXJuIC1FTk9UU1VQOw0KPiA+PiAgCX0NCj4gPj4gIAkvKiBQb2lzb25pbmcgdG8gbWFrZSBzdXJl IFBNRHMgdXBkYXRlIGl0IGluIGNhc2Ugb2YgZXJyb3IuICovIEBADQo+ID4+IC0xNDkwLDcgKzE0 OTEsNyBAQCBwb3J0X2Zsb3dfcXVlcnkocG9ydGlkX3QgcG9ydF9pZCwgdWludDMyX3QgcnVsZSwN Cj4gPj4gIAltZW1zZXQoJnF1ZXJ5LCAwLCBzaXplb2YocXVlcnkpKTsNCj4gPj4gIAlpZiAocnRl X2Zsb3dfcXVlcnkocG9ydF9pZCwgcGYtPmZsb3csIGFjdGlvbiwgJnF1ZXJ5LCAmZXJyb3IpKQ0K PiA+PiAgCQlyZXR1cm4gcG9ydF9mbG93X2NvbXBsYWluKCZlcnJvcik7DQo+ID4+IC0Jc3dpdGNo IChhY3Rpb24pIHsNCj4gPj4gKwlzd2l0Y2ggKGFjdGlvbi0+dHlwZSkgew0KPiA+PiAgCWNhc2Ug UlRFX0ZMT1dfQUNUSU9OX1RZUEVfQ09VTlQ6DQo+ID4+ICAJCXByaW50ZigiJXM6XG4iDQo+ID4+ ICAJCSAgICAgICAiIGhpdHNfc2V0OiAldVxuIg0KPiA+PiBAQCAtMTUwNSw3ICsxNTA2LDcgQEAg cG9ydF9mbG93X3F1ZXJ5KHBvcnRpZF90IHBvcnRfaWQsIHVpbnQzMl90DQo+IHJ1bGUsDQo+ID4+ ICAJCWJyZWFrOw0KPiA+PiAgCWRlZmF1bHQ6DQo+ID4+ICAJCXByaW50ZigiQ2Fubm90IGRpc3Bs YXkgcmVzdWx0IGZvciBhY3Rpb24gdHlwZSAlZCAoJXMpXG4iLA0KPiA+PiAtCQkgICAgICAgYWN0 aW9uLCBuYW1lKTsNCj4gPj4gKwkJICAgICAgIGFjdGlvbi0+dHlwZSwgbmFtZSk7DQo+ID4+ICAJ CWJyZWFrOw0KPiA+PiAgCX0NCj4gPj4gIAlyZXR1cm4gMDsNCj4gPj4gZGlmZiAtLWdpdCBhL2Fw cC90ZXN0LXBtZC90ZXN0cG1kLmggYi9hcHAvdGVzdC1wbWQvdGVzdHBtZC5oIGluZGV4DQo+ID4+ IGEzM2I1MjVlMi4uMWFmODdiOGY0IDEwMDY0NA0KPiA+PiAtLS0gYS9hcHAvdGVzdC1wbWQvdGVz dHBtZC5oDQo+ID4+ICsrKyBiL2FwcC90ZXN0LXBtZC90ZXN0cG1kLmgNCj4gPj4gQEAgLTYyMCw3 ICs2MjAsNyBAQCBpbnQgcG9ydF9mbG93X2NyZWF0ZShwb3J0aWRfdCBwb3J0X2lkLCAgaW50DQo+ ID4+IHBvcnRfZmxvd19kZXN0cm95KHBvcnRpZF90IHBvcnRfaWQsIHVpbnQzMl90IG4sIGNvbnN0 IHVpbnQzMl90DQo+ID4+ICpydWxlKTsgIGludCBwb3J0X2Zsb3dfZmx1c2gocG9ydGlkX3QgcG9y dF9pZCk7ICBpbnQNCj4gPj4gcG9ydF9mbG93X3F1ZXJ5KHBvcnRpZF90IHBvcnRfaWQsIHVpbnQz Ml90IHJ1bGUsDQo+ID4+IC0JCSAgICBlbnVtIHJ0ZV9mbG93X2FjdGlvbl90eXBlIGFjdGlvbik7 DQo+ID4+ICsJCSAgICBjb25zdCBzdHJ1Y3QgcnRlX2Zsb3dfYWN0aW9uICphY3Rpb24pOw0KPiA+ PiAgdm9pZCBwb3J0X2Zsb3dfbGlzdChwb3J0aWRfdCBwb3J0X2lkLCB1aW50MzJfdCBuLCBjb25z dCB1aW50MzJfdA0KPiA+PiAqZ3JvdXApOyAgaW50IHBvcnRfZmxvd19pc29sYXRlKHBvcnRpZF90 IHBvcnRfaWQsIGludCBzZXQpOw0KPiA+Pg0KPiA+PiBkaWZmIC0tZ2l0IGEvZG9jL2d1aWRlcy9w cm9nX2d1aWRlL3J0ZV9mbG93LnJzdA0KPiA+PiBiL2RvYy9ndWlkZXMvcHJvZ19ndWlkZS9ydGVf Zmxvdy5yc3QNCj4gPj4gaW5kZXggMzAxZjg3NjJlLi44OGJmYzg3ZWIgMTAwNjQ0DQo+ID4+IC0t LSBhL2RvYy9ndWlkZXMvcHJvZ19ndWlkZS9ydGVfZmxvdy5yc3QNCj4gPj4gKysrIGIvZG9jL2d1 aWRlcy9wcm9nX2d1aWRlL3J0ZV9mbG93LnJzdA0KPiA+PiBAQCAtMTI3NywxNyArMTI3NywxOSBA QCBBY3Rpb25zIGFyZSBwZXJmb3JtZWQgaW4gbGlzdCBvcmRlcjoNCj4gPj4NCj4gPj4gIC4uIHRh YmxlOjogTWFyaywgY291bnQgdGhlbiByZWRpcmVjdA0KPiA+Pg0KPiA+PiAtICAgKy0tLS0tLS0r LS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLSsNCj4gPj4gLSAgIHwgSW5kZXggfCBBY3Rpb24g fCBGaWVsZCAgICAgfCBWYWx1ZSB8DQo+ID4+IC0gICArPT09PT09PSs9PT09PT09PSs9PT09PT09 PT09PSs9PT09PT09Kw0KPiA+PiAtICAgfCAwICAgICB8IE1BUksgICB8IGBgbWFya2BgICB8IDB4 MmEgIHwNCj4gPj4gLSAgICstLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0rDQo+ ID4+IC0gICB8IDEgICAgIHwgQ09VTlQgICAgICAgICAgICAgICAgICAgICAgfA0KPiA+PiAtICAg Ky0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLSsNCj4gPj4gLSAgIHwgMiAgICAg fCBRVUVVRSAgfCBgYHF1ZXVlYGAgfCAxMCAgICB8DQo+ID4+IC0gICArLS0tLS0tLSstLS0tLS0t LSstLS0tLS0tLS0tLSstLS0tLS0tKw0KPiA+PiAtICAgfCAzICAgICB8IEVORCAgICAgICAgICAg ICAgICAgICAgICAgIHwNCj4gPj4gLSAgICstLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rDQo+ID4+ICsgICArLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLSsN Cj4gPj4gKyAgIHwgSW5kZXggfCBBY3Rpb24gfCBGaWVsZCAgICAgIHwgVmFsdWUgfA0KPiA+PiAr ICAgKz09PT09PT0rPT09PT09PT0rPT09PT09PT09PT09Kz09PT09PT0rDQo+ID4+ICsgICB8IDAg ICAgIHwgTUFSSyAgIHwgYGBtYXJrYGAgICB8IDB4MmEgIHwNCj4gPj4gKyAgICstLS0tLS0tKy0t LS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tKw0KPiA+PiArICAgfCAxICAgICB8IENPVU5UICB8 IGBgc2hhcmVkYGAgfCAwICAgICB8DQo+ID4+ICsgICB8ICAgICAgIHwgICAgICAgICstLS0tLS0t LS0tLS0rLS0tLS0tLSsNCj4gPj4gKyAgIHwgICAgICAgfCAgICAgICAgfCBgYGlkYGAgICAgIHwg MCAgICAgfA0KPiA+PiArICAgKy0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0r DQo+ID4+ICsgICB8IDIgICAgIHwgUVVFVUUgIHwgYGBxdWV1ZWBgICB8IDEwICAgIHwNCj4gPj4g KyAgICstLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tKw0KPiA+PiArICAgfCAz ICAgICB8IEVORCAgICAgICAgICAgICAgICAgICAgICAgICB8DQo+ID4+ICsgICArLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsNCj4gPj4NCj4gPj4gIHwNCj4gPj4NCj4gPj4g QEAgLTE1MTYsMjMgKzE1MTgsMzYgQEAgRHJvcCBwYWNrZXRzLg0KPiA+PiAgQWN0aW9uOiBgYENP VU5UYGANCj4gPj4gIF5eXl5eXl5eXl5eXl5eXl5eDQo+ID4+DQo+ID4+IC1FbmFibGVzIGNvdW50 ZXJzIGZvciB0aGlzIHJ1bGUuDQo+ID4+ICtBZGRzIGEgY291bnRlciBhY3Rpb24gdG8gYSBtYXRj aGVkIGZsb3cuDQo+ID4+ICsNCj4gPj4gK0lmIG1vcmUgdGhhbiBvbmUgY291bnQgYWN0aW9uIGlz IHNwZWNpZmllZCBpbiBhIHNpbmdsZSBmbG93IHJ1bGUsDQo+ID4+ICt0aGVuIGVhY2ggYWN0aW9u IG11c3Qgc3BlY2lmeSBhIHVuaXF1ZSBpZC4NCj4gPj4NCj4gPj4gLVRoZXNlIGNvdW50ZXJzIGNh biBiZSByZXRyaWV2ZWQgYW5kIHJlc2V0IHRocm91Z2gNCj4gPj4gYGBydGVfZmxvd19xdWVyeSgp YGAsIHNlZQ0KPiA+PiArQ291bnRlcnMgY2FuIGJlIHJldHJpZXZlZCBhbmQgcmVzZXQgdGhyb3Vn aCBgYHJ0ZV9mbG93X3F1ZXJ5KClgYCwNCj4gPj4gK3NlZQ0KPiA+PiAgYGBzdHJ1Y3QgcnRlX2Zs b3dfcXVlcnlfY291bnRgYC4NCj4gPj4NCj4gPj4gLS0gQ291bnRlcnMgY2FuIGJlIHJldHJpZXZl ZCB3aXRoIGBgcnRlX2Zsb3dfcXVlcnkoKWBgLg0KPiA+PiAtLSBObyBjb25maWd1cmFibGUgcHJv cGVydGllcy4NCj4gPj4gK1RoZSBzaGFyZWQgZmxhZyBpbmRpY2F0ZXMgd2hldGhlciB0aGUgY291 bnRlciBpcyB1bmlxdWUgdG8gdGhlIGZsb3cNCj4gPj4gK3J1bGUgdGhlIGFjdGlvbiBpcyBzcGVj aWZpZWQgd2l0aCwgb3Igd2hldGhlciBpdCBpcyBhIHNoYXJlZCBjb3VudGVyLg0KPiA+PiArDQo+ ID4+ICtGb3IgYSBjb3VudCBhY3Rpb24gd2l0aCB0aGUgc2hhcmVkIGZsYWcgc2V0LCB0aGVuIHRo ZW4gYSBnbG9iYWwNCj4gPj4gK2RldmljZSBuYW1lc3BhY2UgaXMgYXNzdW1lZCBmb3IgdGhlIGNv dW50ZXIgaWQsIHNvIHRoYXQgYW55IG1hdGNoZWQNCj4gPj4gK2Zsb3cgcnVsZXMNCj4gPj4gdXNp bmcNCj4gPj4gK2EgY291bnQgYWN0aW9uIHdpdGggdGhlIHNhbWUgY291bnRlciBpZCBvbiB0aGUg c2FtZSBwb3J0IHdpbGwNCj4gPj4gK2NvbnRyaWJ1dGUgdG8gdGhhdCBjb3VudGVyLg0KPiA+PiAr DQo+ID4+ICtGb3IgcG9ydHMgd2l0aGluIHRoZSBzYW1lIHN3aXRjaCBkb21haW4gdGhlbiB0aGUg Y291bnRlciBpZA0KPiA+PiArbmFtZXNwYWNlDQo+ID4+IGV4dGVuZHMNCj4gPj4gK3RvIGFsbCBw b3J0cyB3aXRoaW4gdGhhdCBzd2l0Y2ggZG9tYWluLg0KPiA+Pg0KPiA+PiAgLi4gX3RhYmxlX3J0 ZV9mbG93X2FjdGlvbl9jb3VudDoNCj4gPj4NCj4gPj4gIC4uIHRhYmxlOjogQ09VTlQNCj4gPj4N Cj4gPj4gLSAgICstLS0tLS0tLS0tLS0tLS0rDQo+ID4+IC0gICB8IEZpZWxkICAgICAgICAgfA0K PiA+PiAtICAgKz09PT09PT09PT09PT09PSsNCj4gPj4gLSAgIHwgbm8gcHJvcGVydGllcyB8DQo+ ID4+IC0gICArLS0tLS0tLS0tLS0tLS0tKw0KPiA+PiArICAgKy0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0rDQo+ID4+ICsgICB8IEZpZWxkICAgICAgfCBWYWx1ZSAgICAgICAgICAg ICAgIHwNCj4gPj4gKyAgICs9PT09PT09PT09PT0rPT09PT09PT09PT09PT09PT09PT09Kw0KPiA+ PiArICAgfCBgYHNoYXJlZGBgIHwgc2hhcmVkIGNvdW50ZXIgZmxhZyB8DQo+ID4+ICsgICArLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLSsNCj4gPj4gKyAgIHwgYGBpZGBgICAgICB8 IGNvdW50ZXIgaWQgICAgICAgICAgfA0KPiA+PiArICAgKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0rDQo+ID4+DQo+ID4+ICBRdWVyeSBzdHJ1Y3R1cmUgdG8gcmV0cmlldmUgYW5k IHJlc2V0IGZsb3cgcnVsZSBjb3VudGVyczoNCj4gPj4NCj4gPj4gQEAgLTIyODIsNyArMjI5Nyw3 IEBAIGRlZmluaXRpb24uDQo+ID4+ICAgICBpbnQNCj4gPj4gICAgIHJ0ZV9mbG93X3F1ZXJ5KHVp bnQxNl90IHBvcnRfaWQsDQo+ID4+ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2Zsb3cg KmZsb3csDQo+ID4+IC0gICAgICAgICAgICAgICAgICBlbnVtIHJ0ZV9mbG93X2FjdGlvbl90eXBl IGFjdGlvbiwNCj4gPj4gKyAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBydGVfZmxvd19h Y3Rpb24gKmFjdGlvbiwNCj4gPj4gICAgICAgICAgICAgICAgICAgIHZvaWQgKmRhdGEsDQo+ID4+ ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2Zsb3dfZXJyb3IgKmVycm9yKTsNCj4gPj4N Cj4gPj4gQEAgLTIyOTAsNyArMjMwNSw3IEBAIEFyZ3VtZW50czoNCj4gPj4NCj4gPj4gIC0gYGBw b3J0X2lkYGA6IHBvcnQgaWRlbnRpZmllciBvZiBFdGhlcm5ldCBkZXZpY2UuDQo+ID4+ICAtIGBg Zmxvd2BgOiBmbG93IHJ1bGUgaGFuZGxlIHRvIHF1ZXJ5Lg0KPiA+PiAtLSBgYGFjdGlvbmBgOiBh Y3Rpb24gdHlwZSB0byBxdWVyeS4NCj4gPj4gKy0gYGBhY3Rpb25gYDogYWN0aW9uIHRvIHF1ZXJ5 LCB0aGlzIG11c3QgbWF0Y2ggcHJvdG90eXBlIGZyb20gZmxvdyBydWxlLg0KPiA+PiAgLSBgYGRh dGFgYDogcG9pbnRlciB0byBzdG9yYWdlIGZvciB0aGUgYXNzb2NpYXRlZCBxdWVyeSBkYXRhIHR5 cGUuDQo+ID4+ICAtIGBgZXJyb3JgYDogcGVyZm9ybSB2ZXJib3NlIGVycm9yIHJlcG9ydGluZyBp ZiBub3QgTlVMTC4gUE1EcyBpbml0aWFsaXplDQo+ID4+ICAgIHRoaXMgc3RydWN0dXJlIGluIGNh c2Ugb2YgZXJyb3Igb25seS4NCj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2JvbmRpbmcv cnRlX2V0aF9ib25kX2Zsb3cuYw0KPiA+PiBiL2RyaXZlcnMvbmV0L2JvbmRpbmcvcnRlX2V0aF9i b25kX2Zsb3cuYw0KPiA+PiBpbmRleCA4MDkzYzA0ZjUuLjMxZTRiY2FlYiAxMDA2NDQNCj4gPj4g LS0tIGEvZHJpdmVycy9uZXQvYm9uZGluZy9ydGVfZXRoX2JvbmRfZmxvdy5jDQo+ID4+ICsrKyBi L2RyaXZlcnMvbmV0L2JvbmRpbmcvcnRlX2V0aF9ib25kX2Zsb3cuYw0KPiA+PiBAQCAtMTUyLDYg KzE1Miw3IEBAIGJvbmRfZmxvd19mbHVzaChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwgc3RydWN0 DQo+ID4+IHJ0ZV9mbG93X2Vycm9yICplcnIpDQo+ID4+DQo+ID4+ICBzdGF0aWMgaW50DQo+ID4+ ICBib25kX2Zsb3dfcXVlcnlfY291bnQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsIHN0cnVjdCBy dGVfZmxvdw0KPiA+PiAqZmxvdywNCj4gPj4gKwkJICAgICAgY29uc3Qgc3RydWN0IHJ0ZV9mbG93 X2FjdGlvbiAqYWN0aW9uLA0KPiA+PiAgCQkgICAgICBzdHJ1Y3QgcnRlX2Zsb3dfcXVlcnlfY291 bnQgKmNvdW50LA0KPiA+PiAgCQkgICAgICBzdHJ1Y3QgcnRlX2Zsb3dfZXJyb3IgKmVycikNCj4g Pj4gIHsNCj4gPj4gQEAgLTE2NSw3ICsxNjYsNyBAQCBib25kX2Zsb3dfcXVlcnlfY291bnQoc3Ry dWN0IHJ0ZV9ldGhfZGV2DQo+ICpkZXYsDQo+ID4+IHN0cnVjdCBydGVfZmxvdyAqZmxvdywNCj4g Pj4gIAlydGVfbWVtY3B5KCZzbGF2ZV9jb3VudCwgY291bnQsIHNpemVvZihzbGF2ZV9jb3VudCkp Ow0KPiA+PiAgCWZvciAoaSA9IDA7IGkgPCBpbnRlcm5hbHMtPnNsYXZlX2NvdW50OyBpKyspIHsN Cj4gPj4gIAkJcmV0ID0gcnRlX2Zsb3dfcXVlcnkoaW50ZXJuYWxzLT5zbGF2ZXNbaV0ucG9ydF9p ZCwNCj4gPj4gLQkJCQkgICAgIGZsb3ctPmZsb3dzW2ldLA0KPiA+PiBSVEVfRkxPV19BQ1RJT05f VFlQRV9DT1VOVCwNCj4gPj4gKwkJCQkgICAgIGZsb3ctPmZsb3dzW2ldLCBhY3Rpb24sDQo+ID4+ ICAJCQkJICAgICAmc2xhdmVfY291bnQsIGVycik7DQo+ID4+ICAJCWlmICh1bmxpa2VseShyZXQg IT0gMCkpIHsNCj4gPj4gIAkJCVJURV9CT05EX0xPRyhFUlIsICJGYWlsZWQgdG8gcXVlcnkgZmxv dyBvbiINCj4gPj4gQEAgLTE4MiwxMiArMTgzLDEyIEBAIGJvbmRfZmxvd19xdWVyeV9jb3VudChz dHJ1Y3QgcnRlX2V0aF9kZXYNCj4gKmRldiwNCj4gPj4gc3RydWN0IHJ0ZV9mbG93ICpmbG93LA0K PiA+Pg0KPiA+PiAgc3RhdGljIGludA0KPiA+PiAgYm9uZF9mbG93X3F1ZXJ5KHN0cnVjdCBydGVf ZXRoX2RldiAqZGV2LCBzdHJ1Y3QgcnRlX2Zsb3cgKmZsb3csDQo+ID4+IC0JCWVudW0gcnRlX2Zs b3dfYWN0aW9uX3R5cGUgdHlwZSwgdm9pZCAqYXJnLA0KPiA+PiArCQljb25zdCBzdHJ1Y3QgcnRl X2Zsb3dfYWN0aW9uICphY3Rpb24sIHZvaWQgKmFyZywNCj4gPj4gIAkJc3RydWN0IHJ0ZV9mbG93 X2Vycm9yICplcnIpDQo+ID4+ICB7DQo+ID4+IC0Jc3dpdGNoICh0eXBlKSB7DQo+ID4+ICsJc3dp dGNoIChhY3Rpb24tPnR5cGUpIHsNCj4gPj4gIAljYXNlIFJURV9GTE9XX0FDVElPTl9UWVBFX0NP VU5UOg0KPiA+PiAtCQlyZXR1cm4gYm9uZF9mbG93X3F1ZXJ5X2NvdW50KGRldiwgZmxvdywgYXJn LCBlcnIpOw0KPiA+PiArCQlyZXR1cm4gYm9uZF9mbG93X3F1ZXJ5X2NvdW50KGRldiwgZmxvdywg YWN0aW9uLCBhcmcsIGVycik7DQo+ID4+ICAJZGVmYXVsdDoNCj4gPj4gIAkJcmV0dXJuIHJ0ZV9m bG93X2Vycm9yX3NldChlcnIsIEVOT1RTVVAsDQo+ID4+ICAJCQkJCSAgUlRFX0ZMT1dfRVJST1Jf VFlQRV9BQ1RJT04sDQo+ID4+IGFyZywNCj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2Zh aWxzYWZlL2ZhaWxzYWZlX2Zsb3cuYw0KPiA+PiBiL2RyaXZlcnMvbmV0L2ZhaWxzYWZlL2ZhaWxz YWZlX2Zsb3cuYw0KPiA+PiBpbmRleCBhOTdmNDA3NWQuLmJmZTQyZmNlZSAxMDA2NDQNCj4gPj4g LS0tIGEvZHJpdmVycy9uZXQvZmFpbHNhZmUvZmFpbHNhZmVfZmxvdy5jDQo+ID4+ICsrKyBiL2Ry aXZlcnMvbmV0L2ZhaWxzYWZlL2ZhaWxzYWZlX2Zsb3cuYw0KPiA+PiBAQCAtMTc0LDcgKzE3NCw3 IEBAIGZzX2Zsb3dfZmx1c2goc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsICBzdGF0aWMNCj4gPj4g aW50ICBmc19mbG93X3F1ZXJ5KHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LA0KPiA+PiAgCSAgICAg IHN0cnVjdCBydGVfZmxvdyAqZmxvdywNCj4gPj4gLQkgICAgICBlbnVtIHJ0ZV9mbG93X2FjdGlv bl90eXBlIHR5cGUsDQo+ID4+ICsJICAgICAgY29uc3Qgc3RydWN0IHJ0ZV9mbG93X2FjdGlvbiAq YWN0aW9uLA0KPiA+PiAgCSAgICAgIHZvaWQgKmFyZywNCj4gPj4gIAkgICAgICBzdHJ1Y3QgcnRl X2Zsb3dfZXJyb3IgKmVycm9yKSAgeyBAQCAtMTg1LDcgKzE4NSw3IEBADQo+ID4+IGZzX2Zsb3df cXVlcnkoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsDQo+ID4+ICAJaWYgKHNkZXYgIT0gTlVMTCkg ew0KPiA+PiAgCQlpbnQgcmV0ID0gcnRlX2Zsb3dfcXVlcnkoUE9SVF9JRChzZGV2KSwNCj4gPj4g IAkJCQkJIGZsb3ctPmZsb3dzW1NVQl9JRChzZGV2KV0sDQo+ID4+IC0JCQkJCSB0eXBlLCBhcmcs IGVycm9yKTsNCj4gPj4gKwkJCQkJIGFjdGlvbiwgYXJnLCBlcnJvcik7DQo+ID4+DQo+ID4+ICAJ CWlmICgocmV0ID0gZnNfZXJyKHNkZXYsIHJldCkpKSB7DQo+ID4+ICAJCQlmc191bmxvY2soZGV2 LCAwKTsNCj4gPj4gZGlmZiAtLWdpdCBhL2xpYi9saWJydGVfZXRoZXIvcnRlX2Zsb3cuYw0KPiA+ PiBiL2xpYi9saWJydGVfZXRoZXIvcnRlX2Zsb3cuYyBpbmRleCA0Zjk0YWM5YjUuLjc5NDc1Mjlk YSAxMDA2NDQNCj4gPj4gLS0tIGEvbGliL2xpYnJ0ZV9ldGhlci9ydGVfZmxvdy5jDQo+ID4+ICsr KyBiL2xpYi9saWJydGVfZXRoZXIvcnRlX2Zsb3cuYw0KPiA+PiBAQCAtMjMzLDcgKzIzMyw3IEBA IHJ0ZV9mbG93X2ZsdXNoKHVpbnQxNl90IHBvcnRfaWQsICBpbnQNCj4gPj4gcnRlX2Zsb3dfcXVl cnkodWludDE2X3QgcG9ydF9pZCwNCj4gPj4gIAkgICAgICAgc3RydWN0IHJ0ZV9mbG93ICpmbG93 LA0KPiA+PiAtCSAgICAgICBlbnVtIHJ0ZV9mbG93X2FjdGlvbl90eXBlIGFjdGlvbiwNCj4gPj4g KwkgICAgICAgY29uc3Qgc3RydWN0IHJ0ZV9mbG93X2FjdGlvbiAqYWN0aW9uLA0KPiA+PiAgCSAg ICAgICB2b2lkICpkYXRhLA0KPiA+PiAgCSAgICAgICBzdHJ1Y3QgcnRlX2Zsb3dfZXJyb3IgKmVy cm9yKSAgeyBkaWZmIC0tZ2l0DQo+ID4+IGEvbGliL2xpYnJ0ZV9ldGhlci9ydGVfZmxvdy5oIGIv bGliL2xpYnJ0ZV9ldGhlci9ydGVfZmxvdy5oIGluZGV4DQo+ID4+IGQzOTBiYmY1YS4uZjhiYTcx Y2RiIDEwMDY0NA0KPiA+PiAtLS0gYS9saWIvbGlicnRlX2V0aGVyL3J0ZV9mbG93LmgNCj4gPj4g KysrIGIvbGliL2xpYnJ0ZV9ldGhlci9ydGVfZmxvdy5oDQo+ID4+IEBAIC0xMzE0LDcgKzEzMTQs NyBAQCBlbnVtIHJ0ZV9mbG93X2FjdGlvbl90eXBlIHsNCj4gPj4gIAkgKiBUaGVzZSBjb3VudGVy cyBjYW4gYmUgcmV0cmlldmVkIGFuZCByZXNldCB0aHJvdWdoDQo+ID4+IHJ0ZV9mbG93X3F1ZXJ5 KCksDQo+ID4+ICAJICogc2VlIHN0cnVjdCBydGVfZmxvd19xdWVyeV9jb3VudC4NCj4gPj4gIAkg Kg0KPiA+PiAtCSAqIE5vIGFzc29jaWF0ZWQgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUuDQo+ID4+ ICsJICogU2VlIHN0cnVjdCBydGVfZmxvd19hY3Rpb25fY291bnQuDQo+ID4+ICAJICovDQo+ID4+ ICAJUlRFX0ZMT1dfQUNUSU9OX1RZUEVfQ09VTlQsDQo+ID4+DQo+ID4+IEBAIC0xNTQ2LDYgKzE1 NDYsMzggQEAgc3RydWN0IHJ0ZV9mbG93X2FjdGlvbl9xdWV1ZSB7DQo+ID4+ICAJdWludDE2X3Qg aW5kZXg7IC8qKjwgUXVldWUgaW5kZXggdG8gdXNlLiAqLyAgfTsNCj4gPj4NCj4gPj4gKw0KPiA+ PiArLyoqDQo+ID4+ICsgKiBAd2FybmluZw0KPiA+PiArICogQGIgRVhQRVJJTUVOVEFMOiB0aGlz IHN0cnVjdHVyZSBtYXkgY2hhbmdlIHdpdGhvdXQgcHJpb3Igbm90aWNlDQo+ID4+ICsgKg0KPiA+ PiArICogUlRFX0ZMT1dfQUNUSU9OX1RZUEVfQ09VTlQNCj4gPj4gKyAqDQo+ID4+ICsgKiBBZGRz IGEgY291bnRlciBhY3Rpb24gdG8gYSBtYXRjaGVkIGZsb3cuDQo+ID4+ICsgKg0KPiA+PiArICog SWYgbW9yZSB0aGFuIG9uZSBjb3VudCBhY3Rpb24gaXMgc3BlY2lmaWVkIGluIGEgc2luZ2xlIGZs b3cgcnVsZSwNCj4gPj4gK3RoZW4gZWFjaA0KPiA+PiArICogYWN0aW9uIG11c3Qgc3BlY2lmeSBh IHVuaXF1ZSBpZC4NCj4gPj4gKyAqDQo+ID4+ICsgKiBDb3VudGVycyBjYW4gYmUgcmV0cmlldmVk IGFuZCByZXNldCB0aHJvdWdoIGBgcnRlX2Zsb3dfcXVlcnkoKWBgLA0KPiA+PiArc2VlDQo+ID4+ ICsgKiBgYHN0cnVjdCBydGVfZmxvd19xdWVyeV9jb3VudGBgLg0KPiA+PiArICoNCj4gPj4gKyAq IFRoZSBzaGFyZWQgZmxhZyBpbmRpY2F0ZXMgd2hldGhlciB0aGUgY291bnRlciBpcyB1bmlxdWUg dG8gdGhlDQo+ID4+ICtmbG93IHJ1bGUNCj4gPj4gdGhlDQo+ID4+ICsgKiBhY3Rpb24gaXMgc3Bl Y2lmaWVkIHdpdGgsIG9yIHdoZXRoZXIgaXQgaXMgYSBzaGFyZWQgY291bnRlci4NCj4gPj4gKyAq DQo+ID4+ICsgKiBGb3IgYSBjb3VudCBhY3Rpb24gd2l0aCB0aGUgc2hhcmVkIGZsYWcgc2V0LCB0 aGVuIHRoZW4gYSBnbG9iYWwNCj4gPj4gKyBkZXZpY2UNCj4gPj4gKyAqIG5hbWVzcGFjZSBpcyBh c3N1bWVkIGZvciB0aGUgY291bnRlciBpZCwgc28gdGhhdCBhbnkgbWF0Y2hlZCBmbG93DQo+ID4+ ICsgcnVsZXMNCj4gPj4gdXNpbmcNCj4gPj4gKyAqIGEgY291bnQgYWN0aW9uIHdpdGggdGhlIHNh bWUgY291bnRlciBpZCBvbiB0aGUgc2FtZSBwb3J0IHdpbGwNCj4gPj4gKyBjb250cmlidXRlDQo+ ID4+IHRvDQo+ID4+ICsgKiB0aGF0IGNvdW50ZXIuDQo+ID4+ICsgKg0KPiA+PiArICogRm9yIHBv cnRzIHdpdGhpbiB0aGUgc2FtZSBzd2l0Y2ggZG9tYWluIHRoZW4gdGhlIGNvdW50ZXIgaWQNCj4g Pj4gKyBuYW1lc3BhY2UNCj4gPj4gZXh0ZW5kcw0KPiA+PiArICogdG8gYWxsIHBvcnRzIHdpdGhp biB0aGF0IHN3aXRjaCBkb21haW4uDQo+ID4+ICsgKi8NCj4gPj4gK3N0cnVjdCBydGVfZmxvd19h Y3Rpb25fY291bnQgew0KPiA+PiArCXVpbnQzMl90IHNoYXJlZDoxOyAvKio8IFNoYXJlIGNvdW50 ZXIgSUQgd2l0aCBvdGhlciBmbG93IHJ1bGVzLiAqLw0KPiA+PiArCXVpbnQzMl90IHJlc2VydmVk OjMxOyAvKio8IFJlc2VydmVkLCBtdXN0IGJlIHplcm8uICovDQo+ID4+ICsJdWludDMyX3QgaWQ7 IC8qKjwgQ291bnRlciBJRC4gKi8NCj4gPj4gK307DQo+ID4+ICsNCj4gPj4gIC8qKg0KPiA+PiAg ICogUlRFX0ZMT1dfQUNUSU9OX1RZUEVfQ09VTlQgKHF1ZXJ5KQ0KPiA+PiAgICoNCj4gPj4gQEAg LTIwNDQsNyArMjA3Niw3IEBAIHJ0ZV9mbG93X2ZsdXNoKHVpbnQxNl90IHBvcnRfaWQsDQo+ID4+ ICAgKiBAcGFyYW0gZmxvdw0KPiA+PiAgICogICBGbG93IHJ1bGUgaGFuZGxlIHRvIHF1ZXJ5Lg0K PiA+PiAgICogQHBhcmFtIGFjdGlvbg0KPiA+PiAtICogICBBY3Rpb24gdHlwZSB0byBxdWVyeS4N Cj4gPj4gKyAqICAgQWN0aW9uIGRlZmluaXRpb24gYXMgZGVmaW5lZCBpbiBvcmlnaW5hbCBmbG93 IHJ1bGUuDQo+ID4+ICAgKiBAcGFyYW1baW4sIG91dF0gZGF0YQ0KPiA+PiAgICogICBQb2ludGVy IHRvIHN0b3JhZ2UgZm9yIHRoZSBhc3NvY2lhdGVkIHF1ZXJ5IGRhdGEgdHlwZS4NCj4gPj4gICAq IEBwYXJhbVtvdXRdIGVycm9yDQo+ID4+IEBAIC0yMDU3LDcgKzIwODksNyBAQCBydGVfZmxvd19m bHVzaCh1aW50MTZfdCBwb3J0X2lkLCAgaW50DQo+ID4+IHJ0ZV9mbG93X3F1ZXJ5KHVpbnQxNl90 IHBvcnRfaWQsDQo+ID4+ICAJICAgICAgIHN0cnVjdCBydGVfZmxvdyAqZmxvdywNCj4gPj4gLQkg ICAgICAgZW51bSBydGVfZmxvd19hY3Rpb25fdHlwZSBhY3Rpb24sDQo+ID4+ICsJICAgICAgIGNv bnN0IHN0cnVjdCBydGVfZmxvd19hY3Rpb24gKmFjdGlvbiwNCj4gPj4gIAkgICAgICAgdm9pZCAq ZGF0YSwNCj4gPj4gIAkgICAgICAgc3RydWN0IHJ0ZV9mbG93X2Vycm9yICplcnJvcik7DQo+ID4+ DQo+ID4+IGRpZmYgLS1naXQgYS9saWIvbGlicnRlX2V0aGVyL3J0ZV9mbG93X2RyaXZlci5oDQo+ ID4+IGIvbGliL2xpYnJ0ZV9ldGhlci9ydGVfZmxvd19kcml2ZXIuaA0KPiA+PiBpbmRleCAzODAw MzEwYmEuLjFjOTBjNjAwZCAxMDA2NDQNCj4gPj4gLS0tIGEvbGliL2xpYnJ0ZV9ldGhlci9ydGVf Zmxvd19kcml2ZXIuaA0KPiA+PiArKysgYi9saWIvbGlicnRlX2V0aGVyL3J0ZV9mbG93X2RyaXZl ci5oDQo+ID4+IEBAIC04OCw3ICs4OCw3IEBAIHN0cnVjdCBydGVfZmxvd19vcHMgew0KPiA+PiAg CWludCAoKnF1ZXJ5KQ0KPiA+PiAgCQkoc3RydWN0IHJ0ZV9ldGhfZGV2ICosDQo+ID4+ICAJCSBz dHJ1Y3QgcnRlX2Zsb3cgKiwNCj4gPj4gLQkJIGVudW0gcnRlX2Zsb3dfYWN0aW9uX3R5cGUsDQo+ ID4+ICsJCSBjb25zdCBzdHJ1Y3QgcnRlX2Zsb3dfYWN0aW9uICosDQo+ID4+ICAJCSB2b2lkICos DQo+ID4+ICAJCSBzdHJ1Y3QgcnRlX2Zsb3dfZXJyb3IgKik7DQo+ID4+ICAJLyoqIFNlZSBydGVf Zmxvd19pc29sYXRlKCkuICovDQo+ID4+IC0tDQo+ID4+IDIuMTQuMw0KPiA+DQoNCg==