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 20697A2F6B for ; Wed, 9 Oct 2019 05:49:07 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 679871C122; Wed, 9 Oct 2019 05:49:05 +0200 (CEST) Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-eopbgr20055.outbound.protection.outlook.com [40.107.2.55]) by dpdk.org (Postfix) with ESMTP id DDD471C0AD for ; Wed, 9 Oct 2019 05:49:03 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=L1boxaHQW7WSlQ9lSMLHXGciccbPlJ3IIlBbSvej+FE=; b=TqbirLRcM7jOQrvgkWEPpLJ20krzGPRwtWbwnvInpGb8KMv4THnM83ai5nEAKXAteSrrrCzhI7k47NYxl5g7I0c6pQAOFo3MwFgkC00WRn8Do8YSEyp4FipKQVU1/5Y3XzNXGguHnOhKEX734R04KomFaOxw6Ed2T5f1DPgYfUw= Received: from DB6PR0802CA0032.eurprd08.prod.outlook.com (2603:10a6:4:a3::18) by VE1PR08MB4814.eurprd08.prod.outlook.com (2603:10a6:802:ad::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2327.24; Wed, 9 Oct 2019 03:49:00 +0000 Received: from VE1EUR03FT057.eop-EUR03.prod.protection.outlook.com (2a01:111:f400:7e09::204) by DB6PR0802CA0032.outlook.office365.com (2603:10a6:4:a3::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.2347.16 via Frontend Transport; Wed, 9 Oct 2019 03:49:00 +0000 Authentication-Results: spf=temperror (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dpdk.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dpdk.org; dmarc=none action=none header.from=arm.com; Received-SPF: TempError (protection.outlook.com: error in processing during lookup of arm.com: DNS Timeout) Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VE1EUR03FT057.mail.protection.outlook.com (10.152.19.123) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.2305.15 via Frontend Transport; Wed, 9 Oct 2019 03:48:59 +0000 Received: ("Tessian outbound 6481c7fa5a3c:v33"); Wed, 09 Oct 2019 03:48:56 +0000 X-CR-MTA-TID: 64aa7808 Received: from ccef83cd3c92.2 (ip-172-16-0-2.eu-west-1.compute.internal [104.47.2.57]) by 64aa7808-outbound-1.mta.getcheckrecipient.com id F097AEB6-91C6-4415-9A87-68A81CE271BE.1; Wed, 09 Oct 2019 03:48:51 +0000 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01lp2057.outbound.protection.outlook.com [104.47.2.57]) by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id ccef83cd3c92.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384); Wed, 09 Oct 2019 03:48:51 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Pah36wuo+N3b2v41ivp89GJBx4tlH3LVj/h9n7DTEWlKnNBRkqJt1AsRrRm8aCWB2UCosa/pmbu5hfPFlueiE5N5ZJ0LMhchB7lAI3lbRQfZluCs21x+atFhY0A02+mj2I87iUOFwkh+VOobpShHOhj0vTOvIVFqRBlPzxiD5eGLFba2wJIbiSRNaOOvVY7Ml4GgucPv8fDtbxXCyuk3OqjYOqF9U/X5vCKU/eNzBLg//eN+MBUW7XuiWh4BfNa2krjFoBeA8cB8kTQygjAd787jta4lPCPOqqdkUpbqqn/fHdhn7FdT+tjcEheCHayUvci0+yEL3+w0P/u2gNI1HA== 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=L1boxaHQW7WSlQ9lSMLHXGciccbPlJ3IIlBbSvej+FE=; b=NyWKHCWRGUHMMNe9H7jndHTORWa37bhc97H/nNnx0fwQzZYTwXyrbi77+BqAVK9mHD6mBv8K2GWMABAC3hKwlTt/8ipHDMj0Y2yvWuDXMdTXa5ehflhnEtIgvR2SUibNI5WVO/F+IFtWyr96pCXBBDAgwoNmAD8NEIQLP9fMxRGepG3cJFp3IkV2mNYAeLMf8DExTT8q2tco+nuaYRkjW7CdXJ0vEnQgzeoKqUanVyPCp+P4Am9GCAVS7tTmWESuPlNQJDwq0FiohucB+yNUF7k6dfi3b0Rtpk2cHLV/j7HIHgXs93z4cDINna37rdZNTkt4RpKUbnogN8+mJgER5w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=L1boxaHQW7WSlQ9lSMLHXGciccbPlJ3IIlBbSvej+FE=; b=TqbirLRcM7jOQrvgkWEPpLJ20krzGPRwtWbwnvInpGb8KMv4THnM83ai5nEAKXAteSrrrCzhI7k47NYxl5g7I0c6pQAOFo3MwFgkC00WRn8Do8YSEyp4FipKQVU1/5Y3XzNXGguHnOhKEX734R04KomFaOxw6Ed2T5f1DPgYfUw= Received: from VE1PR08MB5149.eurprd08.prod.outlook.com (20.179.30.27) by VE1PR08MB5022.eurprd08.prod.outlook.com (10.255.159.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2305.20; Wed, 9 Oct 2019 03:48:49 +0000 Received: from VE1PR08MB5149.eurprd08.prod.outlook.com ([fe80::8c82:8d9c:c78d:22a6]) by VE1PR08MB5149.eurprd08.prod.outlook.com ([fe80::8c82:8d9c:c78d:22a6%7]) with mapi id 15.20.2327.026; Wed, 9 Oct 2019 03:48:49 +0000 From: Honnappa Nagarahalli To: "Medvedkin, Vladimir" , "bruce.richardson@intel.com" , "olivier.matz@6wind.com" CC: "dev@dpdk.org" , "konstantin.ananyev@intel.com" , "stephen@networkplumber.org" , "paulmck@linux.ibm.com" , "Gavin Hu (Arm Technology China)" , Dharmik Thakkar , "Ruifeng Wang (Arm Technology China)" , Honnappa Nagarahalli , nd , nd Thread-Topic: [PATCH v3 1/3] lib/lpm: integrate RCU QSBR Thread-Index: AQHVeIYn7Ch9Psq+bkuvfni/VY08BadKqgIAgAbplEA= Date: Wed, 9 Oct 2019 03:48:49 +0000 Message-ID: References: <20190906094534.36060-1-ruifeng.wang@arm.com> <20191001182857.43867-1-honnappa.nagarahalli@arm.com> <20191001182857.43867-2-honnappa.nagarahalli@arm.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: 62c95709-bb49-42b4-a9bf-e1360e3c9403.0 x-checkrecipientchecked: true Authentication-Results-Original: spf=none (sender IP is ) smtp.mailfrom=Honnappa.Nagarahalli@arm.com; x-originating-ip: [217.140.111.135] x-ms-publictraffictype: Email X-MS-Office365-Filtering-Correlation-Id: cbde0894-f62b-4816-00e5-08d74c6b9e18 X-MS-Office365-Filtering-HT: Tenant X-MS-TrafficTypeDiagnostic: VE1PR08MB5022:|VE1PR08MB5022:|VE1PR08MB4814: x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true x-ms-oob-tlc-oobclassifiers: OLM:1728;OLM:1728; x-forefront-prvs: 018577E36E X-Forefront-Antispam-Report-Untrusted: SFV:NSPM; SFS:(10009020)(4636009)(39860400002)(136003)(396003)(366004)(376002)(346002)(199004)(189003)(53546011)(76176011)(6506007)(6436002)(478600001)(6116002)(102836004)(110136005)(8676002)(7696005)(81156014)(8936002)(3846002)(52536014)(5660300002)(9686003)(2906002)(14454004)(54906003)(446003)(30864003)(7736002)(66066001)(71190400001)(71200400001)(305945005)(6246003)(86362001)(229853002)(64756008)(4326008)(99286004)(2501003)(76116006)(55016002)(66446008)(316002)(33656002)(486006)(186003)(66556008)(66476007)(26005)(256004)(11346002)(14444005)(66946007)(476003)(25786009)(2201001)(74316002)(81166006); DIR:OUT; SFP:1101; SCL:1; SRVR:VE1PR08MB5022; H:VE1PR08MB5149.eurprd08.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: E7OqCs/1GpiKgxXXPQ3p+vEZ3u2XEq6pg0z2BvsG+Mz31qffHvm7gxt4efm58tFnz5rQCANHxDNDX7x/5apt0N36x1gc6S1J7rCd0NkELfxJnwyPopO7r0ZevRvMstJ6ER1ujR0OVK2MrQYaJlAEOpm1EiscqGPSYDFdT8G4xIT/vz9alURHGWoUTIqpQKaJZII4nIuxAHJw3y43J2AV/j/HVrs+gEXNQ+IHJ91x9zb1vSRck6Et3zJniaXIrVGxrlh9a3DRw2LgO0LuFh5meNqFTJpf8l+3L5LvtY9Dg6yr5c5XgCU92dIHiq/IHNI031mX66AeB+4540h6jIfjE6cEs/UWI+oJw5DNkbRjYNuPYXN6PyyrPstMeO7zi/NuBOmbeCVbfIi4sczFaCDlIid4kceMiTbGUkkOTuLnP4U= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5022 Original-Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Honnappa.Nagarahalli@arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT057.eop-EUR03.prod.protection.outlook.com X-Forefront-Antispam-Report: CIP:63.35.35.123; IPV:CAL; SCL:-1; CTRY:IE; EFV:NLI; SFV:NSPM; SFS:(10009020)(4636009)(396003)(376002)(39860400002)(136003)(346002)(199004)(189003)(14454004)(22756006)(478600001)(2486003)(36906005)(6506007)(23676004)(53546011)(26005)(110136005)(356004)(54906003)(316002)(486006)(55016002)(11346002)(186003)(63350400001)(47776003)(229853002)(436003)(52536014)(7696005)(99286004)(26826003)(76176011)(336012)(126002)(446003)(476003)(50466002)(66066001)(8676002)(86362001)(6116002)(81166006)(3846002)(81156014)(70206006)(30864003)(74316002)(4326008)(8936002)(2201001)(9686003)(5660300002)(305945005)(7736002)(25786009)(76130400001)(2906002)(6246003)(33656002)(2501003)(102836004)(14444005)(70586007); DIR:OUT; SFP:1101; SCL:1; SRVR:VE1PR08MB4814; H:64aa7808-outbound-1.mta.getcheckrecipient.com; FPR:; SPF:TempError; LANG:en; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; A:1; MX:1; X-MS-Office365-Filtering-Correlation-Id-Prvs: 28ec037f-cff4-43ce-4ccb-08d74c6b9835 NoDisclaimer: True X-Forefront-PRVS: 018577E36E X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: riP3Lc/FNac3Kt49kDZ2C24qWftSBIrVnuq+a3+Mew0vjoxykfUXSoLNnXnwwDvEVyVlBSGwq6RDNMtvT1MrSpeRb9RMb6YNQybj/+MShU2lt2SzmHlsZELosMqflkIZm+A4Kwk7IsSNRHda4SwkvKgAx1zDt8dOpPhDQ7Vfk51wMSzTJcLhBUhsqdWE05yGsTFlmIWybDM2QntEZjg1dJmXTKI2Uigm9V9H0h8nq0Kp9wOH7OgiykX46p7JWIkKSiXH3h2T6qD/jzrXXVa3tig9ywVXFvVdcHQVVS0gNSrjNlRZ+U/557LB6dyR1wi3QS+L6SSa1CvW7Xx1fP/ElBtl95ql10gyslWRYG/eUbVAZicC0E/qKBHVAC5Wo/oiqTDMJ/osYlb42an3aSErxipr8gAV9k4pq/4z8d/1ZnM= X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Oct 2019 03:48:59.2378 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: cbde0894-f62b-4816-00e5-08d74c6b9e18 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB4814 Subject: Re: [dpdk-dev] [PATCH v3 1/3] lib/lpm: integrate RCU QSBR 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" PHNuaXA+DQoNCj4gDQo+IEhpIEhvbm5hcHBhLA0KPiANCj4gT24gMDEvMTAvMjAxOSAxOToyOCwg SG9ubmFwcGEgTmFnYXJhaGFsbGkgd3JvdGU6DQo+ID4gRnJvbTogUnVpZmVuZyBXYW5nIDxydWlm ZW5nLndhbmdAYXJtLmNvbT4NCj4gPg0KPiA+IEN1cnJlbnRseSwgdGhlIHRibDggZ3JvdXAgaXMg ZnJlZWQgZXZlbiB0aG91Z2ggdGhlIHJlYWRlcnMgbWlnaHQgYmUNCj4gPiB1c2luZyB0aGUgdGJs OCBncm91cCBlbnRyaWVzLiBUaGUgZnJlZWQgdGJsOCBncm91cCBjYW4gYmUgcmVhbGxvY2F0ZWQN Cj4gPiBxdWlja2x5LiBUaGlzIHJlc3VsdHMgaW4gaW5jb3JyZWN0IGxvb2t1cCByZXN1bHRzLg0K PiA+DQo+ID4gUkNVIFFTQlIgcHJvY2VzcyBpcyBpbnRlZ3JhdGVkIGZvciBzYWZlIHRibDggZ3Jv dXAgcmVjbGFpbS4NCj4gPiBSZWZlciB0byBSQ1UgZG9jdW1lbnRhdGlvbiB0byB1bmRlcnN0YW5k IHZhcmlvdXMgYXNwZWN0cyBvZg0KPiA+IGludGVncmF0aW5nIFJDVSBsaWJyYXJ5IGludG8gb3Ro ZXIgbGlicmFyaWVzLg0KPiA+DQo+ID4gU2lnbmVkLW9mZi1ieTogUnVpZmVuZyBXYW5nIDxydWlm ZW5nLndhbmdAYXJtLmNvbT4NCj4gPiBSZXZpZXdlZC1ieTogSG9ubmFwcGEgTmFnYXJhaGFsbGkg PGhvbm5hcHBhLm5hZ2FyYWhhbGxpQGFybS5jb20+DQo+ID4gLS0tDQo+ID4gICBsaWIvbGlicnRl X2xwbS9NYWtlZmlsZSAgICAgICAgICAgIHwgICAzICstDQo+ID4gICBsaWIvbGlicnRlX2xwbS9t ZXNvbi5idWlsZCAgICAgICAgIHwgICAyICsNCj4gPiAgIGxpYi9saWJydGVfbHBtL3J0ZV9scG0u YyAgICAgICAgICAgfCAxMDIgKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0NCj4gPiAgIGxp Yi9saWJydGVfbHBtL3J0ZV9scG0uaCAgICAgICAgICAgfCAgMjEgKysrKysrDQo+ID4gICBsaWIv bGlicnRlX2xwbS9ydGVfbHBtX3ZlcnNpb24ubWFwIHwgICA2ICsrDQo+ID4gICA1IGZpbGVzIGNo YW5nZWQsIDEyMiBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkNCj4gPg0KPiA+IGRpZmYg LS1naXQgYS9saWIvbGlicnRlX2xwbS9NYWtlZmlsZSBiL2xpYi9saWJydGVfbHBtL01ha2VmaWxl IGluZGV4DQo+ID4gYTc5NDZhMWM1Li5jYTllMTYzMTIgMTAwNjQ0DQo+ID4gLS0tIGEvbGliL2xp YnJ0ZV9scG0vTWFrZWZpbGUNCj4gPiArKysgYi9saWIvbGlicnRlX2xwbS9NYWtlZmlsZQ0KPiA+ IEBAIC02LDkgKzYsMTAgQEAgaW5jbHVkZSAkKFJURV9TREspL21rL3J0ZS52YXJzLm1rDQo+ID4g ICAjIGxpYnJhcnkgbmFtZQ0KPiA+ICAgTElCID0gbGlicnRlX2xwbS5hDQo+ID4NCj4gPiArQ0ZM QUdTICs9IC1EQUxMT1dfRVhQRVJJTUVOVEFMX0FQSQ0KPiA+ICAgQ0ZMQUdTICs9IC1PMw0KPiA+ ICAgQ0ZMQUdTICs9ICQoV0VSUk9SX0ZMQUdTKSAtSSQoU1JDRElSKSAtTERMSUJTICs9IC1scnRl X2VhbA0KPiA+IC1scnRlX2hhc2gNCj4gPiArTERMSUJTICs9IC1scnRlX2VhbCAtbHJ0ZV9oYXNo IC1scnRlX3JjdQ0KPiA+DQo+ID4gICBFWFBPUlRfTUFQIDo9IHJ0ZV9scG1fdmVyc2lvbi5tYXAN Cj4gPg0KPiA+IGRpZmYgLS1naXQgYS9saWIvbGlicnRlX2xwbS9tZXNvbi5idWlsZCBiL2xpYi9s aWJydGVfbHBtL21lc29uLmJ1aWxkDQo+ID4gaW5kZXggYTUxNzZkOGFlLi4xOWEzNTEwN2YgMTAw NjQ0DQo+ID4gLS0tIGEvbGliL2xpYnJ0ZV9scG0vbWVzb24uYnVpbGQNCj4gPiArKysgYi9saWIv bGlicnRlX2xwbS9tZXNvbi5idWlsZA0KPiA+IEBAIC0yLDkgKzIsMTEgQEANCj4gPiAgICMgQ29w eXJpZ2h0KGMpIDIwMTcgSW50ZWwgQ29ycG9yYXRpb24NCj4gPg0KPiA+ICAgdmVyc2lvbiA9IDIN Cj4gPiArYWxsb3dfZXhwZXJpbWVudGFsX2FwaXMgPSB0cnVlDQo+ID4gICBzb3VyY2VzID0gZmls ZXMoJ3J0ZV9scG0uYycsICdydGVfbHBtNi5jJykNCj4gPiAgIGhlYWRlcnMgPSBmaWxlcygncnRl X2xwbS5oJywgJ3J0ZV9scG02LmgnKQ0KPiA+ICAgIyBzaW5jZSBoZWFkZXIgZmlsZXMgaGF2ZSBk aWZmZXJlbnQgbmFtZXMsIHdlIGNhbiBpbnN0YWxsIGFsbCB2ZWN0b3IgaGVhZGVycw0KPiA+ICAg IyB3aXRob3V0IHdvcnJ5aW5nIGFib3V0IHdoaWNoIGFyY2hpdGVjdHVyZSB3ZSBhY3R1YWxseSBu ZWVkDQo+ID4gICBoZWFkZXJzICs9IGZpbGVzKCdydGVfbHBtX2FsdGl2ZWMuaCcsICdydGVfbHBt X25lb24uaCcsICdydGVfbHBtX3NzZS5oJykNCj4gPiAgIGRlcHMgKz0gWydoYXNoJ10NCj4gPiAr ZGVwcyArPSBbJ3JjdSddDQo+ID4gZGlmZiAtLWdpdCBhL2xpYi9saWJydGVfbHBtL3J0ZV9scG0u YyBiL2xpYi9saWJydGVfbHBtL3J0ZV9scG0uYyBpbmRleA0KPiA+IDNhOTI5YTFiMS4uY2E1OGQ0 YjM1IDEwMDY0NA0KPiA+IC0tLSBhL2xpYi9saWJydGVfbHBtL3J0ZV9scG0uYw0KPiA+ICsrKyBi L2xpYi9saWJydGVfbHBtL3J0ZV9scG0uYw0KPiA+IEBAIC0xLDUgKzEsNiBAQA0KPiA+ICAgLyog U1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQ0KPiA+ICAgICogQ29weXJpZ2h0 KGMpIDIwMTAtMjAxNCBJbnRlbCBDb3Jwb3JhdGlvbg0KPiA+ICsgKiBDb3B5cmlnaHQoYykgMjAx OSBBcm0gTGltaXRlZA0KPiA+ICAgICovDQo+ID4NCj4gPiAgICNpbmNsdWRlIDxzdHJpbmcuaD4N Cj4gPiBAQCAtMzgxLDYgKzM4Miw4IEBAIHJ0ZV9scG1fZnJlZV92MTYwNChzdHJ1Y3QgcnRlX2xw bSAqbHBtKQ0KPiA+DQo+ID4gICAJcnRlX21jZmdfdGFpbHFfd3JpdGVfdW5sb2NrKCk7DQo+ID4N Cj4gPiArCWlmIChscG0tPmRxKQ0KPiA+ICsJCXJ0ZV9yY3VfcXNicl9kcV9kZWxldGUobHBtLT5k cSk7DQo+ID4gICAJcnRlX2ZyZWUobHBtLT50Ymw4KTsNCj4gPiAgIAlydGVfZnJlZShscG0tPnJ1 bGVzX3RibCk7DQo+ID4gICAJcnRlX2ZyZWUobHBtKTsNCj4gPiBAQCAtMzkwLDYgKzM5Myw1OSBA QCBCSU5EX0RFRkFVTFRfU1lNQk9MKHJ0ZV9scG1fZnJlZSwgX3YxNjA0LA0KPiAxNi4wNCk7DQo+ ID4gICBNQVBfU1RBVElDX1NZTUJPTCh2b2lkIHJ0ZV9scG1fZnJlZShzdHJ1Y3QgcnRlX2xwbSAq bHBtKSwNCj4gPiAgIAkJcnRlX2xwbV9mcmVlX3YxNjA0KTsNCj4gQXMgYSBnZW5lcmFsIGNvbW1l bnQsIGFyZSB5b3UgZ29pbmcgdG8gYWRkIHJjdSBzdXBwb3J0IHRvIHRoZSBsZWdhY3kgX3YyMCA/ DQpJIGRvIG5vdCBzZWUgYSByZXF1aXJlbWVudCBmcm9tIG15IHNpZGUuIFdoYXQncyB5b3VyIHN1 Z2dlc3Rpb24/DQoNCj4gPg0KPiA+ICtzdHJ1Y3QgX19ydGVfbHBtX3JjdV9kcV9lbnRyeSB7DQo+ ID4gKwl1aW50MzJfdCB0Ymw4X2dyb3VwX2luZGV4Ow0KPiA+ICsJdWludDMyX3QgcGFkOw0KPiA+ ICt9Ow0KPiANCj4gSXMgdGhpcyBzdHJ1Y3QgbmVjZXNzYXJ5PyBJIG1lYW4gaW4gdGJsOF9mcmVl X3YxNjA0KCkgeW91IGNhbiBwYXNzDQo+IHRibDhfZ3JvdXBfaW5kZXggYXMgYSBwb2ludGVyIHdp dGhvdXQgImUucGFkID0gMDsiLg0KQWdyZWUsIHRoYXQgaXMgYW5vdGhlciB3YXkuIFRoaXMgc3Ry dWN0dXJlIHdpbGwgZ28gYXdheSBvbmNlIHRoZSByaW5nIGxpYnJhcnkgc3VwcG9ydHMgc3Rvcmlu ZyAzMmIgZWxlbWVudHMuDQoNCj4gDQo+IEFuZCB3aGF0IGFib3V0IDMyYml0IGVudmlyb25tZW50 Pw0KV2FpdGluZyBmb3IgcnRlX3JpbmcgdG8gc3VwcG9ydCAzMmIgZWxlbWVudHMgKHRoZSBwYXRj aCBpcyBiZWluZyBkaXNjdXNzZWQpLg0KDQo+IA0KPiA+ICsNCj4gPiArc3RhdGljIHZvaWQNCj4g PiArX19scG1fcmN1X3FzYnJfZnJlZV9yZXNvdXJjZSh2b2lkICpwLCB2b2lkICpkYXRhKSB7DQo+ ID4gKwlzdHJ1Y3QgcnRlX2xwbV90YmxfZW50cnkgemVyb190Ymw4X2VudHJ5ID0gezB9Ow0KPiA+ ICsJc3RydWN0IF9fcnRlX2xwbV9yY3VfZHFfZW50cnkgKmUgPQ0KPiA+ICsJCQkoc3RydWN0IF9f cnRlX2xwbV9yY3VfZHFfZW50cnkgKilkYXRhOw0KPiA+ICsJc3RydWN0IHJ0ZV9scG1fdGJsX2Vu dHJ5ICp0Ymw4ID0gKHN0cnVjdCBydGVfbHBtX3RibF9lbnRyeSAqKXA7DQo+ID4gKw0KPiA+ICsJ LyogU2V0IHRibDggZ3JvdXAgaW52YWxpZCAqLw0KPiA+ICsJX19hdG9taWNfc3RvcmUoJnRibDhb ZS0+dGJsOF9ncm91cF9pbmRleF0sICZ6ZXJvX3RibDhfZW50cnksDQo+ID4gKwkJX19BVE9NSUNf UkVMQVhFRCk7DQo+ID4gK30NCj4gPiArDQo+ID4gKy8qIEFzc29jaWF0ZSBRU0JSIHZhcmlhYmxl IHdpdGggYW4gTFBNIG9iamVjdC4NCj4gPiArICovDQo+ID4gK2ludA0KPiA+ICtydGVfbHBtX3Jj dV9xc2JyX2FkZChzdHJ1Y3QgcnRlX2xwbSAqbHBtLCBzdHJ1Y3QgcnRlX3JjdV9xc2JyICp2KSB7 DQo+ID4gKwljaGFyIHJjdV9kcV9uYW1lW1JURV9SQ1VfUVNCUl9EUV9OQU1FU0laRV07DQo+ID4g KwlzdHJ1Y3QgcnRlX3JjdV9xc2JyX2RxX3BhcmFtZXRlcnMgcGFyYW1zOw0KPiA+ICsNCj4gPiAr CWlmICgobHBtID09IE5VTEwpIHx8ICh2ID09IE5VTEwpKSB7DQo+ID4gKwkJcnRlX2Vycm5vID0g RUlOVkFMOw0KPiA+ICsJCXJldHVybiAxOw0KPiA+ICsJfQ0KPiA+ICsNCj4gPiArCWlmIChscG0t PmRxKSB7DQo+ID4gKwkJcnRlX2Vycm5vID0gRUVYSVNUOw0KPiA+ICsJCXJldHVybiAxOw0KPiA+ ICsJfQ0KPiA+ICsNCj4gPiArCS8qIEluaXQgUVNCUiBkZWZlciBxdWV1ZS4gKi8NCj4gPiArCXNu cHJpbnRmKHJjdV9kcV9uYW1lLCBzaXplb2YocmN1X2RxX25hbWUpLCAiTFBNX1JDVV8lcyIsIGxw bS0NCj4gPm5hbWUpOw0KPiANCj4gQ29uc2lkZXIgbW92aW5nIHRoaXMgbG9naWMgaW50byBydGVf cmN1X3FzYnJfZHFfY3JlYXRlKCkuIEkgdGhpbmsgdGhlcmUgeW91DQo+IGNvdWxkIHByZWZpeCB0 aGUgbmFtZSB3aXRoIGp1c3QgUkNVXyAuIFNvIGl0IHdvdWxkIGJlIHBvc3NpYmxlIHRvIG1vdmUN Cj4gaW5jbHVkZSA8cnRlX3JpbmcuaD4gaW50byB0aGUgcnRlX3JjdV9xc2JyLmMgZnJvbSBydGVf cmN1X3FzYnIuaCBhbmQgZ2V0IHJpZA0KPiBvZiBSVEVfUkNVX1FTQlJfRFFfTkFNRVNJWkUgbWFj cm8gaW4gcnRlX3JjdV9xc2JyLmggZmlsZS4NCk1hY3JvIGlzIHJlcXVpcmVkIHRvIHByb3ZpZGUg YSBsZW5ndGggZm9yIHRoZSBuYW1lLCBzaW1pbGFyIHRvIHdoYXQgcnRlX3JpbmcgZG9lcy4gV2hh dCB3b3VsZCBiZSB0aGUgbGVuZ3RoIG9mIHRoZSAnbmFtZScgaWYgUlRFX1JDVV9RU0JSX0RRX05B TUVTSVpFIGlzIHJlbW92ZWQ/DQpJZiB0aGUgJ1JDVV8nIGhhcyB0byBiZSBwcmVmaXhlZCBpbiAn cnRlX3JjdV9xc2JyX2RxX2NyZWF0ZScsIHRoZW4gUlRFX1JDVV9RU0JSX0RRX05BTUVTSVpFIG5l ZWRzIHRvIGJlIHJlYWRqdXN0ZWQgaW4gdGhlIGhlYWRlciBmaWxlLiBJIGFtIHRyeWluZyB0byBr ZWVwIGl0IHNpbXBsZSBieSBjb25zdHJ1Y3RpbmcgdGhlIHN0cmluZyBpbiBhIHNpbmdsZSBmdW5j dGlvbi4NCg0KPiANCj4gPiArCXBhcmFtcy5uYW1lID0gcmN1X2RxX25hbWU7DQo+ID4gKwlwYXJh bXMuc2l6ZSA9IGxwbS0+bnVtYmVyX3RibDhzOw0KPiA+ICsJcGFyYW1zLmVzaXplID0gc2l6ZW9m KHN0cnVjdCBfX3J0ZV9scG1fcmN1X2RxX2VudHJ5KTsNCj4gPiArCXBhcmFtcy5mID0gX19scG1f cmN1X3FzYnJfZnJlZV9yZXNvdXJjZTsNCj4gPiArCXBhcmFtcy5wID0gbHBtLT50Ymw4Ow0KPiA+ ICsJcGFyYW1zLnYgPSB2Ow0KPiA+ICsJbHBtLT5kcSA9IHJ0ZV9yY3VfcXNicl9kcV9jcmVhdGUo JnBhcmFtcyk7DQo+ID4gKwlpZiAobHBtLT5kcSA9PSBOVUxMKSB7DQo+ID4gKwkJUlRFX0xPRyhF UlIsIExQTSwgIkxQTSBRUyBkZWZlciBxdWV1ZSBjcmVhdGlvbiBmYWlsZWRcbiIpOw0KPiA+ICsJ CXJldHVybiAxOw0KPiA+ICsJfQ0KPiA+ICsNCj4gPiArCXJldHVybiAwOw0KPiA+ICt9DQo+ID4g Kw0KPiA+ICAgLyoNCj4gPiAgICAqIEFkZHMgYSBydWxlIHRvIHRoZSBydWxlIHRhYmxlLg0KPiA+ ICAgICoNCj4gPiBAQCAtNjc5LDE0ICs3MzUsMTUgQEAgdGJsOF9hbGxvY192MjAoc3RydWN0IHJ0 ZV9scG1fdGJsX2VudHJ5X3YyMA0KPiAqdGJsOCkNCj4gPiAgIH0NCj4gPg0KPiA+ICAgc3RhdGlj IGludDMyX3QNCj4gPiAtdGJsOF9hbGxvY192MTYwNChzdHJ1Y3QgcnRlX2xwbV90YmxfZW50cnkg KnRibDgsIHVpbnQzMl90DQo+ID4gbnVtYmVyX3RibDhzKQ0KPiA+ICtfX3RibDhfYWxsb2NfdjE2 MDQoc3RydWN0IHJ0ZV9scG0gKmxwbSkNCj4gPiAgIHsNCj4gPiAgIAl1aW50MzJfdCBncm91cF9p ZHg7IC8qIHRibDggZ3JvdXAgaW5kZXguICovDQo+ID4gICAJc3RydWN0IHJ0ZV9scG1fdGJsX2Vu dHJ5ICp0Ymw4X2VudHJ5Ow0KPiA+DQo+ID4gICAJLyogU2NhbiB0aHJvdWdoIHRibDggdG8gZmlu ZCBhIGZyZWUgKGkuZS4gSU5WQUxJRCkgdGJsOCBncm91cC4gKi8NCj4gPiAtCWZvciAoZ3JvdXBf aWR4ID0gMDsgZ3JvdXBfaWR4IDwgbnVtYmVyX3RibDhzOyBncm91cF9pZHgrKykgew0KPiA+IC0J CXRibDhfZW50cnkgPSAmdGJsOFtncm91cF9pZHggKg0KPiBSVEVfTFBNX1RCTDhfR1JPVVBfTlVN X0VOVFJJRVNdOw0KPiA+ICsJZm9yIChncm91cF9pZHggPSAwOyBncm91cF9pZHggPCBscG0tPm51 bWJlcl90Ymw4czsgZ3JvdXBfaWR4KyspIHsNCj4gPiArCQl0Ymw4X2VudHJ5ID0gJmxwbS0+dGJs OFtncm91cF9pZHggKg0KPiA+ICsNCj4gCVJURV9MUE1fVEJMOF9HUk9VUF9OVU1fRU5UUklFU107 DQo+ID4gICAJCS8qIElmIGEgZnJlZSB0Ymw4IGdyb3VwIGlzIGZvdW5kIGNsZWFuIGl0IGFuZCBz ZXQgYXMgVkFMSUQuICovDQo+ID4gICAJCWlmICghdGJsOF9lbnRyeS0+dmFsaWRfZ3JvdXApIHsN Cj4gPiAgIAkJCXN0cnVjdCBydGVfbHBtX3RibF9lbnRyeSBuZXdfdGJsOF9lbnRyeSA9IHsgQEAg LQ0KPiA3MTIsNiArNzY5LDIxIEBADQo+ID4gdGJsOF9hbGxvY192MTYwNChzdHJ1Y3QgcnRlX2xw bV90YmxfZW50cnkgKnRibDgsIHVpbnQzMl90IG51bWJlcl90Ymw4cykNCj4gPiAgIAlyZXR1cm4g LUVOT1NQQzsNCj4gPiAgIH0NCj4gPg0KPiA+ICtzdGF0aWMgaW50MzJfdA0KPiA+ICt0Ymw4X2Fs bG9jX3YxNjA0KHN0cnVjdCBydGVfbHBtICpscG0pIHsNCj4gPiArCWludDMyX3QgZ3JvdXBfaWR4 OyAvKiB0Ymw4IGdyb3VwIGluZGV4LiAqLw0KPiA+ICsNCj4gPiArCWdyb3VwX2lkeCA9IF9fdGJs OF9hbGxvY192MTYwNChscG0pOw0KPiA+ICsJaWYgKChncm91cF9pZHggPCAwKSAmJiAobHBtLT5k cSAhPSBOVUxMKSkgew0KPiA+ICsJCS8qIElmIHRoZXJlIGFyZSBubyB0Ymw4IGdyb3VwcyB0cnkg dG8gcmVjbGFpbSBzb21lLiAqLw0KPiA+ICsJCWlmIChydGVfcmN1X3FzYnJfZHFfcmVjbGFpbShs cG0tPmRxKSA9PSAwKQ0KPiA+ICsJCQlncm91cF9pZHggPSBfX3RibDhfYWxsb2NfdjE2MDQobHBt KTsNCj4gPiArCX0NCj4gPiArDQo+ID4gKwlyZXR1cm4gZ3JvdXBfaWR4Ow0KPiA+ICt9DQo+ID4g Kw0KPiA+ICAgc3RhdGljIHZvaWQNCj4gPiAgIHRibDhfZnJlZV92MjAoc3RydWN0IHJ0ZV9scG1f dGJsX2VudHJ5X3YyMCAqdGJsOCwgdWludDMyX3QNCj4gdGJsOF9ncm91cF9zdGFydCkNCj4gPiAg IHsNCj4gPiBAQCAtNzI4LDEzICs4MDAsMjEgQEAgdGJsOF9mcmVlX3YyMChzdHJ1Y3QgcnRlX2xw bV90YmxfZW50cnlfdjIwDQo+ICp0Ymw4LCB1aW50MzJfdCB0Ymw4X2dyb3VwX3N0YXJ0KQ0KPiA+ ICAgfQ0KPiA+DQo+ID4gICBzdGF0aWMgdm9pZA0KPiA+IC10Ymw4X2ZyZWVfdjE2MDQoc3RydWN0 IHJ0ZV9scG1fdGJsX2VudHJ5ICp0Ymw4LCB1aW50MzJfdA0KPiA+IHRibDhfZ3JvdXBfc3RhcnQp DQo+ID4gK3RibDhfZnJlZV92MTYwNChzdHJ1Y3QgcnRlX2xwbSAqbHBtLCB1aW50MzJfdCB0Ymw4 X2dyb3VwX3N0YXJ0KQ0KPiA+ICAgew0KPiA+IC0JLyogU2V0IHRibDggZ3JvdXAgaW52YWxpZCov DQo+ID4gICAJc3RydWN0IHJ0ZV9scG1fdGJsX2VudHJ5IHplcm9fdGJsOF9lbnRyeSA9IHswfTsN Cj4gPiArCXN0cnVjdCBfX3J0ZV9scG1fcmN1X2RxX2VudHJ5IGU7DQo+ID4NCj4gPiAtCV9fYXRv bWljX3N0b3JlKCZ0Ymw4W3RibDhfZ3JvdXBfc3RhcnRdLCAmemVyb190Ymw4X2VudHJ5LA0KPiA+ IC0JCQlfX0FUT01JQ19SRUxBWEVEKTsNCj4gPiArCWlmIChscG0tPmRxICE9IE5VTEwpIHsNCj4g PiArCQllLnRibDhfZ3JvdXBfaW5kZXggPSB0Ymw4X2dyb3VwX3N0YXJ0Ow0KPiA+ICsJCWUucGFk ID0gMDsNCj4gPiArCQkvKiBQdXNoIGludG8gUVNCUiBkZWZlciBxdWV1ZS4gKi8NCj4gPiArCQly dGVfcmN1X3FzYnJfZHFfZW5xdWV1ZShscG0tPmRxLCAodm9pZCAqKSZlKTsNCj4gPiArCX0gZWxz ZSB7DQo+ID4gKwkJLyogU2V0IHRibDggZ3JvdXAgaW52YWxpZCovDQo+ID4gKwkJX19hdG9taWNf c3RvcmUoJmxwbS0+dGJsOFt0Ymw4X2dyb3VwX3N0YXJ0XSwNCj4gJnplcm9fdGJsOF9lbnRyeSwN Cj4gPiArCQkJCV9fQVRPTUlDX1JFTEFYRUQpOw0KPiA+ICsJfQ0KPiA+ICAgfQ0KPiA+DQo+ID4g ICBzdGF0aWMgX19ydGVfbm9pbmxpbmUgaW50MzJfdA0KPiA+IEBAIC0xMDM3LDcgKzExMTcsNyBA QCBhZGRfZGVwdGhfYmlnX3YxNjA0KHN0cnVjdCBydGVfbHBtICpscG0sDQo+ID4gdWludDMyX3Qg aXBfbWFza2VkLCB1aW50OF90IGRlcHRoLA0KPiA+DQo+ID4gICAJaWYgKCFscG0tPnRibDI0W3Ri bDI0X2luZGV4XS52YWxpZCkgew0KPiA+ICAgCQkvKiBTZWFyY2ggZm9yIGEgZnJlZSB0Ymw4IGdy b3VwLiAqLw0KPiA+IC0JCXRibDhfZ3JvdXBfaW5kZXggPSB0Ymw4X2FsbG9jX3YxNjA0KGxwbS0+ dGJsOCwgbHBtLQ0KPiA+bnVtYmVyX3RibDhzKTsNCj4gPiArCQl0Ymw4X2dyb3VwX2luZGV4ID0g dGJsOF9hbGxvY192MTYwNChscG0pOw0KPiA+DQo+ID4gICAJCS8qIENoZWNrIHRibDggYWxsb2Nh dGlvbiB3YXMgc3VjY2Vzc2Z1bC4gKi8NCj4gPiAgIAkJaWYgKHRibDhfZ3JvdXBfaW5kZXggPCAw KSB7DQo+ID4gQEAgLTEwODMsNyArMTE2Myw3IEBAIGFkZF9kZXB0aF9iaWdfdjE2MDQoc3RydWN0 IHJ0ZV9scG0gKmxwbSwNCj4gdWludDMyX3QgaXBfbWFza2VkLCB1aW50OF90IGRlcHRoLA0KPiA+ ICAgCX0gLyogSWYgdmFsaWQgZW50cnkgYnV0IG5vdCBleHRlbmRlZCBjYWxjdWxhdGUgdGhlIGlu ZGV4IGludG8gVGFibGU4LiAqLw0KPiA+ICAgCWVsc2UgaWYgKGxwbS0+dGJsMjRbdGJsMjRfaW5k ZXhdLnZhbGlkX2dyb3VwID09IDApIHsNCj4gPiAgIAkJLyogU2VhcmNoIGZvciBmcmVlIHRibDgg Z3JvdXAuICovDQo+ID4gLQkJdGJsOF9ncm91cF9pbmRleCA9IHRibDhfYWxsb2NfdjE2MDQobHBt LT50Ymw4LCBscG0tDQo+ID5udW1iZXJfdGJsOHMpOw0KPiA+ICsJCXRibDhfZ3JvdXBfaW5kZXgg PSB0Ymw4X2FsbG9jX3YxNjA0KGxwbSk7DQo+ID4NCj4gPiAgIAkJaWYgKHRibDhfZ3JvdXBfaW5k ZXggPCAwKSB7DQo+ID4gICAJCQlyZXR1cm4gdGJsOF9ncm91cF9pbmRleDsNCj4gPiBAQCAtMTgx OCw3ICsxODk4LDcgQEAgZGVsZXRlX2RlcHRoX2JpZ192MTYwNChzdHJ1Y3QgcnRlX2xwbSAqbHBt LA0KPiB1aW50MzJfdCBpcF9tYXNrZWQsDQo+ID4gICAJCSAqLw0KPiA+ICAgCQlscG0tPnRibDI0 W3RibDI0X2luZGV4XS52YWxpZCA9IDA7DQo+ID4gICAJCV9fYXRvbWljX3RocmVhZF9mZW5jZShf X0FUT01JQ19SRUxFQVNFKTsNCj4gPiAtCQl0Ymw4X2ZyZWVfdjE2MDQobHBtLT50Ymw4LCB0Ymw4 X2dyb3VwX3N0YXJ0KTsNCj4gPiArCQl0Ymw4X2ZyZWVfdjE2MDQobHBtLCB0Ymw4X2dyb3VwX3N0 YXJ0KTsNCj4gPiAgIAl9IGVsc2UgaWYgKHRibDhfcmVjeWNsZV9pbmRleCA+IC0xKSB7DQo+ID4g ICAJCS8qIFVwZGF0ZSB0YmwyNCBlbnRyeS4gKi8NCj4gPiAgIAkJc3RydWN0IHJ0ZV9scG1fdGJs X2VudHJ5IG5ld190YmwyNF9lbnRyeSA9IHsgQEAgLTE4MzQsNw0KPiArMTkxNCw3IEBADQo+ID4g ZGVsZXRlX2RlcHRoX2JpZ192MTYwNChzdHJ1Y3QgcnRlX2xwbSAqbHBtLCB1aW50MzJfdCBpcF9t YXNrZWQsDQo+ID4gICAJCV9fYXRvbWljX3N0b3JlKCZscG0tPnRibDI0W3RibDI0X2luZGV4XSwN Cj4gJm5ld190YmwyNF9lbnRyeSwNCj4gPiAgIAkJCQlfX0FUT01JQ19SRUxBWEVEKTsNCj4gPiAg IAkJX19hdG9taWNfdGhyZWFkX2ZlbmNlKF9fQVRPTUlDX1JFTEVBU0UpOw0KPiA+IC0JCXRibDhf ZnJlZV92MTYwNChscG0tPnRibDgsIHRibDhfZ3JvdXBfc3RhcnQpOw0KPiA+ICsJCXRibDhfZnJl ZV92MTYwNChscG0sIHRibDhfZ3JvdXBfc3RhcnQpOw0KPiA+ICAgCX0NCj4gPiAgICN1bmRlZiBn cm91cF9pZHgNCj4gPiAgIAlyZXR1cm4gMDsNCj4gPiBkaWZmIC0tZ2l0IGEvbGliL2xpYnJ0ZV9s cG0vcnRlX2xwbS5oIGIvbGliL2xpYnJ0ZV9scG0vcnRlX2xwbS5oIGluZGV4DQo+ID4gOTA2ZWM0 NDgzLi40OWMxMmE2OGQgMTAwNjQ0DQo+ID4gLS0tIGEvbGliL2xpYnJ0ZV9scG0vcnRlX2xwbS5o DQo+ID4gKysrIGIvbGliL2xpYnJ0ZV9scG0vcnRlX2xwbS5oDQo+ID4gQEAgLTEsNSArMSw2IEBA DQo+ID4gICAvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlDQo+ID4gICAg KiBDb3B5cmlnaHQoYykgMjAxMC0yMDE0IEludGVsIENvcnBvcmF0aW9uDQo+ID4gKyAqIENvcHly aWdodChjKSAyMDE5IEFybSBMaW1pdGVkDQo+ID4gICAgKi8NCj4gPg0KPiA+ICAgI2lmbmRlZiBf UlRFX0xQTV9IXw0KPiA+IEBAIC0yMSw2ICsyMiw3IEBADQo+ID4gICAjaW5jbHVkZSA8cnRlX2Nv bW1vbi5oPg0KPiA+ICAgI2luY2x1ZGUgPHJ0ZV92ZWN0Lmg+DQo+ID4gICAjaW5jbHVkZSA8cnRl X2NvbXBhdC5oPg0KPiA+ICsjaW5jbHVkZSA8cnRlX3JjdV9xc2JyLmg+DQo+ID4NCj4gPiAgICNp ZmRlZiBfX2NwbHVzcGx1cw0KPiA+ICAgZXh0ZXJuICJDIiB7DQo+ID4gQEAgLTE4Niw2ICsxODgs NyBAQCBzdHJ1Y3QgcnRlX2xwbSB7DQo+ID4gICAJCQlfX3J0ZV9jYWNoZV9hbGlnbmVkOyAvKio8 IExQTSB0YmwyNCB0YWJsZS4gKi8NCj4gPiAgIAlzdHJ1Y3QgcnRlX2xwbV90YmxfZW50cnkgKnRi bDg7IC8qKjwgTFBNIHRibDggdGFibGUuICovDQo+ID4gICAJc3RydWN0IHJ0ZV9scG1fcnVsZSAq cnVsZXNfdGJsOyAvKio8IExQTSBydWxlcy4gKi8NCj4gPiArCXN0cnVjdCBydGVfcmN1X3FzYnJf ZHEgKmRxOwkvKio8IFJDVSBRU0JSIGRlZmVyIHF1ZXVlLiovDQo+ID4gICB9Ow0KPiA+DQo+ID4g ICAvKioNCj4gPiBAQCAtMjQ4LDYgKzI1MSwyNCBAQCBydGVfbHBtX2ZyZWVfdjIwKHN0cnVjdCBy dGVfbHBtX3YyMCAqbHBtKTsNCj4gPiAgIHZvaWQNCj4gPiAgIHJ0ZV9scG1fZnJlZV92MTYwNChz dHJ1Y3QgcnRlX2xwbSAqbHBtKTsNCj4gPg0KPiA+ICsvKioNCj4gPiArICogQXNzb2NpYXRlIFJD VSBRU0JSIHZhcmlhYmxlIHdpdGggYW4gTFBNIG9iamVjdC4NCj4gPiArICoNCj4gPiArICogQHBh cmFtIGxwbQ0KPiA+ICsgKiAgIHRoZSBscG0gb2JqZWN0IHRvIGFkZCBSQ1UgUVNCUg0KPiA+ICsg KiBAcGFyYW0gdg0KPiA+ICsgKiAgIFJDVSBRU0JSIHZhcmlhYmxlDQo+ID4gKyAqIEByZXR1cm4N Cj4gPiArICogICBPbiBzdWNjZXNzIC0gMA0KPiA+ICsgKiAgIE9uIGVycm9yIC0gMSB3aXRoIGVy cm9yIGNvZGUgc2V0IGluIHJ0ZV9lcnJuby4NCj4gPiArICogICBQb3NzaWJsZSBydGVfZXJybm8g Y29kZXMgYXJlOg0KPiA+ICsgKiAgIC0gRUlOVkFMIC0gaW52YWxpZCBwb2ludGVyDQo+ID4gKyAq ICAgLSBFRVhJU1QgLSBhbHJlYWR5IGFkZGVkIFFTQlINCj4gPiArICogICAtIEVOT01FTSAtIG1l bW9yeSBhbGxvY2F0aW9uIGZhaWx1cmUNCj4gPiArICovDQo+ID4gK19fcnRlX2V4cGVyaW1lbnRh bA0KPiA+ICtpbnQgcnRlX2xwbV9yY3VfcXNicl9hZGQoc3RydWN0IHJ0ZV9scG0gKmxwbSwgc3Ry dWN0IHJ0ZV9yY3VfcXNicg0KPiA+ICsqdik7DQo+ID4gKw0KPiA+ICAgLyoqDQo+ID4gICAgKiBB ZGQgYSBydWxlIHRvIHRoZSBMUE0gdGFibGUuDQo+ID4gICAgKg0KPiA+IGRpZmYgLS1naXQgYS9s aWIvbGlicnRlX2xwbS9ydGVfbHBtX3ZlcnNpb24ubWFwDQo+ID4gYi9saWIvbGlicnRlX2xwbS9y dGVfbHBtX3ZlcnNpb24ubWFwDQo+ID4gaW5kZXggOTBiZWFjODUzLi5iMzUzYWFiZDIgMTAwNjQ0 DQo+ID4gLS0tIGEvbGliL2xpYnJ0ZV9scG0vcnRlX2xwbV92ZXJzaW9uLm1hcA0KPiA+ICsrKyBi L2xpYi9saWJydGVfbHBtL3J0ZV9scG1fdmVyc2lvbi5tYXANCj4gPiBAQCAtNDQsMyArNDQsOSBA QCBEUERLXzE3LjA1IHsNCj4gPiAgIAlydGVfbHBtNl9sb29rdXBfYnVsa19mdW5jOw0KPiA+DQo+ ID4gICB9IERQREtfMTYuMDQ7DQo+ID4gKw0KPiA+ICtFWFBFUklNRU5UQUwgew0KPiA+ICsJZ2xv YmFsOg0KPiA+ICsNCj4gPiArCXJ0ZV9scG1fcmN1X3FzYnJfYWRkOw0KPiA+ICt9Ow0KPiANCj4g LS0NCj4gUmVnYXJkcywNCj4gVmxhZGltaXINCg0K