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 7194CA0352; Sun, 3 Nov 2019 15:07:08 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id A2FE01DFE5; Sun, 3 Nov 2019 15:07:07 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by dpdk.org (Postfix) with ESMTP id 0E3F41D44E for ; Sun, 3 Nov 2019 15:07:05 +0100 (CET) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id xA3E6opM017620; Sun, 3 Nov 2019 06:06:50 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=pfpt0818; bh=Yl98MD8uAyrqZnoB3+ij+cadznIOKpgMnmQyS5YPQ3Q=; b=Xhrgz7MVFEos+q+RWBT3AlCC+/j5fKOdXPrsK83gnxSItKYIIU1HcZePipNLCdePFqb+ ryKiiSY9ubRBI/QX5AA0+ucQZwMM6yKEiaerQ7bZLr+wGiZcBg1a26g+KQOyu5wIiuOO fVWAgdwhLeZS6zzOkTSXYvesHl34Q4B1vFJRmN2qBq1yh+KWvhAZGZdywLj4dnl576e3 RCTACmttxsW6x/zftaOkrXcXOuKu+qpwvIohfoO26JjYQyzIWM5v6syOelQAu18R+rS8 Sr7SSsLN0fzcQ1faHUgOvbNWL03Qmf2JryeZxSQmclUvXT+2TIuXOsKZC8KA6HAGxQrF IQ== Received: from sc-exch01.marvell.com ([199.233.58.181]) by mx0a-0016f401.pphosted.com with ESMTP id 2w17n8ty9k-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Sun, 03 Nov 2019 06:06:50 -0800 Received: from SC-EXCH01.marvell.com (10.93.176.81) by SC-EXCH01.marvell.com (10.93.176.81) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Sun, 3 Nov 2019 06:06:49 -0800 Received: from NAM01-SN1-obe.outbound.protection.outlook.com (104.47.32.55) by SC-EXCH01.marvell.com (10.93.176.81) with Microsoft SMTP Server (TLS) id 15.0.1367.3 via Frontend Transport; Sun, 3 Nov 2019 06:06:49 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cALVMXGVenluIdBjpndT6tXH+QKafYnz1/WQDl/B5IF6vlXHxx83aPXfDQ2IyOg/sACKrLS18M1dUG4LSY/KQO8yzDrhzAZn97mc0Wae4HjfErGbdGh2whNNp2APRbgTjBB0wRjCCZ14osXkUNQYDDoVRdJiJhq44K32R75tUiwrQ89CFMshrR/wrTg/RmTSnxJ/5baNrGidnUrHcKi73OFqUI2Tx//l6JJ+2cLEidegmzbFHr7K2o2gyMxPzYdBffc6ruYL5NhaO51X4hkXlj0ajK67BfYHrzPXcPSODCZyQo8B4Kzqtzl3FOQakFehgs9yDN0dlNCZRWz9Fe8L2Q== 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=Yl98MD8uAyrqZnoB3+ij+cadznIOKpgMnmQyS5YPQ3Q=; b=L3fyFfuQc27zlOGtdH2RodRc04ckYZrZrPSmogoq+u5Un0G1C4EfdCAknXsBd6sjzZjrqTajkRHbVGsS1kw6qh5XTUYOpH3+5cF1C6uOVblsNJ1d7u9p1sVQ0LHr19qIiuTX39wyIRNZ37Fj9azMz7V24tt+c0cGuMGxdYJ4NVzIiQvzp7kgHXvF1e74JPmikTE1UW4zBPtnnJNTCaD7PAk6W7DM7fiieYus8Ne5SORExWi8/uQ0TtQiCUKSenLeASzEkbdEWX4UUxcv7RpTRvc3EYpmAKBMT4AfzbP2Lk932QY4SQPrthGjvJhWyXGYtdtn95YYItBViBKTIktZ/A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector2-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Yl98MD8uAyrqZnoB3+ij+cadznIOKpgMnmQyS5YPQ3Q=; b=jlKbRWo29k937hxFxyt10zGisw7GBiyeg8LZkspeWW0ugYwihJ3CtiyeE4JxRANpDIO/VfuYV71BxidaVNN3s8gwlOm4lNhiHo2BOKVJ9vzWfalBis/xsoEXqeTzfdAwrhbp15/Mh55jynUZe3kNmyLOnDSMgL8Zcao4kgjP/Rs= Received: from MN2PR18MB2398.namprd18.prod.outlook.com (20.179.81.144) by MN2PR18MB2799.namprd18.prod.outlook.com (20.179.22.74) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2408.24; Sun, 3 Nov 2019 14:06:47 +0000 Received: from MN2PR18MB2398.namprd18.prod.outlook.com ([fe80::6c28:335d:2084:65c8]) by MN2PR18MB2398.namprd18.prod.outlook.com ([fe80::6c28:335d:2084:65c8%6]) with mapi id 15.20.2408.024; Sun, 3 Nov 2019 14:06:47 +0000 From: Liron Himi To: Andrew Rybchenko , Pavan Nikhilesh Bhagavatula , "ferruh.yigit@intel.com" , Jerin Jacob Kollanukkaran , Ajit Khaparde , Somnath Kotur , Rahul Lakkireddy , Hemant Agrawal , Sachin Saxena , Wenzhuo Lu , John Daley , Hyong Youb Kim , Qi Zhang , Xiao Wang , Ziyang Xuan , Xiaoyun Wang , Guoyang Zhou , Beilei Xing , Jingjing Wu , Qiming Yang , Konstantin Ananyev , Shijith Thotton , Srisivasubramanian Srinivasan , Matan Azrad , Shahaf Shuler , Viacheslav Ovsiienko , Stephen Hemminger , "K. Y. Srinivasan" , Haiyang Zhang , Alejandro Lucero , Nithin Kumar Dabilpuram , Kiran Kumar Kokkilagadda , Rasesh Mody , Shahed Shaikh , Maciej Czekaj , Yong Wang CC: "dev@dpdk.org" , Liron Himi Thread-Topic: [EXT] Re: [dpdk-dev] [PATCH v15 4/7] drivers/net: update Rx RSS hash offload capabilities Thread-Index: AQHVkj89xZKcViWzqEmks+D1mUP/lqd5euOg Date: Sun, 3 Nov 2019 14:06:47 +0000 Message-ID: References: <20191029050312.2715-1-pbhagavatula@marvell.com> <20191029153722.4547-1-pbhagavatula@marvell.com> <20191029153722.4547-5-pbhagavatula@marvell.com> <8791f4dd-42eb-7443-1ddf-8abb264fdf9e@solarflare.com> In-Reply-To: <8791f4dd-42eb-7443-1ddf-8abb264fdf9e@solarflare.com> Accept-Language: he-IL, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [212.199.69.1] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 7cf50171-c0a8-40b5-5913-08d76067109e x-ms-traffictypediagnostic: MN2PR18MB2799: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 0210479ED8 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(396003)(346002)(376002)(39850400004)(136003)(366004)(199004)(189003)(13464003)(14454004)(99286004)(478600001)(6246003)(26005)(110136005)(54906003)(2906002)(76176011)(7696005)(86362001)(53546011)(6506007)(30864003)(9686003)(74316002)(186003)(316002)(102836004)(107886003)(5660300002)(476003)(229853002)(7416002)(7736002)(6436002)(25786009)(52536014)(71200400001)(76116006)(11346002)(66946007)(66066001)(81166006)(15650500001)(6116002)(3846002)(2501003)(4326008)(446003)(305945005)(33656002)(55016002)(8936002)(66446008)(66556008)(64756008)(66476007)(8676002)(81156014)(256004)(1511001)(14444005)(71190400001)(486006)(921003)(1121003)(579004)(559001)(569006); DIR:OUT; SFP:1101; SCL:1; SRVR:MN2PR18MB2799; H:MN2PR18MB2398.namprd18.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: marvell.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: cCysW3Lw5jBvQLLf4Dfw/FUiCPd429ziPlTP0E8imYY4nMGz0Ol1POFC8HOXNA81Pmk/irKSrU05aBDDZKutHBUUHECZ8gLrcuxedjQwkHKNJuGdatlfWqnjKG+2iEMuB1ezUNoxqbpxN3b0Oi8LrYujQWOwElvfER8xjmoVtZ3IxCeYYoHKP0kJ9HsGH0dieJQoNsEapNUBfMf0/pTvM6+Y8Fq/af73DsM3+sIJ2iavXBD7ATjZtAXFZZksnS8yqferdJo4i4u8z/RUNIpOpFpw1QRQXLq5AuaD4Zi9w8H6uy6+YXeR1uQPv+SR+V8VcEl8/9Locrw1VRyjfXWq4k/1IDtR63xecbOujJkxGuvP7/nkG44gPheV2JwGl7zxDXhYgjCDaHB1Fxm+8sVWzfd0wOWjLOHxAl+vsw+QYtXzdDD4ABxgMj45MfN4FLr4 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 7cf50171-c0a8-40b5-5913-08d76067109e X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Nov 2019 14:06:47.0296 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Y0XdHM9WTGXz+E6okkw5xnu9OFy35myAnLsFo2xMbOpJlznW+W8HSf+cmH0cSC2n1PgitNEeF0iLGh4g7SmVzw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR18MB2799 X-OriginatorOrg: marvell.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.95,1.0.8 definitions=2019-11-03_09:2019-11-01,2019-11-03 signatures=0 Subject: Re: [dpdk-dev] [EXT] Re: [PATCH v15 4/7] drivers/net: update Rx RSS hash offload capabilities 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" SGksDQoNCkNvcnJlY3QsIEkgZGlkbid0IG5vdGljZSB0aGF0IHRoZSBwYXRjaCByZWxhdGVkIHRv IHRoZSAncnNzJyBmaWVsZCBpbiBtYnVmLg0KDQpTbyBpZ25vcmUgbXkgcmVxdWVzdC4NCg0KUmVn YXJkcywNCkxpcm9uDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBBbmRyZXcg UnliY2hlbmtvIDxhcnliY2hlbmtvQHNvbGFyZmxhcmUuY29tPiANClNlbnQ6IFN1bmRheSwgMyBO b3ZlbWJlciAyMDE5IDE0OjA3DQpUbzogTGlyb24gSGltaSA8bGlyb25oQG1hcnZlbGwuY29tPjsg UGF2YW4gTmlraGlsZXNoIEJoYWdhdmF0dWxhIDxwYmhhZ2F2YXR1bGFAbWFydmVsbC5jb20+OyBm ZXJydWgueWlnaXRAaW50ZWwuY29tOyBKZXJpbiBKYWNvYiBLb2xsYW51a2thcmFuIDxqZXJpbmpA bWFydmVsbC5jb20+OyBBaml0IEtoYXBhcmRlIDxhaml0LmtoYXBhcmRlQGJyb2FkY29tLmNvbT47 IFNvbW5hdGggS290dXIgPHNvbW5hdGgua290dXJAYnJvYWRjb20uY29tPjsgUmFodWwgTGFra2ly ZWRkeSA8cmFodWwubGFra2lyZWRkeUBjaGVsc2lvLmNvbT47IEhlbWFudCBBZ3Jhd2FsIDxoZW1h bnQuYWdyYXdhbEBueHAuY29tPjsgU2FjaGluIFNheGVuYSA8c2FjaGluLnNheGVuYUBueHAuY29t PjsgV2Vuemh1byBMdSA8d2Vuemh1by5sdUBpbnRlbC5jb20+OyBKb2huIERhbGV5IDxqb2huZGFs ZUBjaXNjby5jb20+OyBIeW9uZyBZb3ViIEtpbSA8aHlvbmtpbUBjaXNjby5jb20+OyBRaSBaaGFu ZyA8cWkuei56aGFuZ0BpbnRlbC5jb20+OyBYaWFvIFdhbmcgPHhpYW8udy53YW5nQGludGVsLmNv bT47IFppeWFuZyBYdWFuIDx4dWFueml5YW5nMkBodWF3ZWkuY29tPjsgWGlhb3l1biBXYW5nIDxj bG91ZC53YW5neGlhb3l1bkBodWF3ZWkuY29tPjsgR3VveWFuZyBaaG91IDx6aG91Z3VveWFuZ0Bo dWF3ZWkuY29tPjsgQmVpbGVpIFhpbmcgPGJlaWxlaS54aW5nQGludGVsLmNvbT47IEppbmdqaW5n IFd1IDxqaW5namluZy53dUBpbnRlbC5jb20+OyBRaW1pbmcgWWFuZyA8cWltaW5nLnlhbmdAaW50 ZWwuY29tPjsgS29uc3RhbnRpbiBBbmFueWV2IDxrb25zdGFudGluLmFuYW55ZXZAaW50ZWwuY29t PjsgU2hpaml0aCBUaG90dG9uIDxzdGhvdHRvbkBtYXJ2ZWxsLmNvbT47IFNyaXNpdmFzdWJyYW1h bmlhbiBTcmluaXZhc2FuIDxzcmluaXZhc2FuQG1hcnZlbGwuY29tPjsgTWF0YW4gQXpyYWQgPG1h dGFuQG1lbGxhbm94LmNvbT47IFNoYWhhZiBTaHVsZXIgPHNoYWhhZnNAbWVsbGFub3guY29tPjsg VmlhY2hlc2xhdiBPdnNpaWVua28gPHZpYWNoZXNsYXZvQG1lbGxhbm94LmNvbT47IFN0ZXBoZW4g SGVtbWluZ2VyIDxzdGhlbW1pbkBtaWNyb3NvZnQuY29tPjsgSy4gWS4gU3Jpbml2YXNhbiA8a3lz QG1pY3Jvc29mdC5jb20+OyBIYWl5YW5nIFpoYW5nIDxoYWl5YW5nekBtaWNyb3NvZnQuY29tPjsg QWxlamFuZHJvIEx1Y2VybyA8YWxlamFuZHJvLmx1Y2Vyb0BuZXRyb25vbWUuY29tPjsgTml0aGlu IEt1bWFyIERhYmlscHVyYW0gPG5kYWJpbHB1cmFtQG1hcnZlbGwuY29tPjsgS2lyYW4gS3VtYXIg S29ra2lsYWdhZGRhIDxraXJhbmt1bWFya0BtYXJ2ZWxsLmNvbT47IFJhc2VzaCBNb2R5IDxybW9k eUBtYXJ2ZWxsLmNvbT47IFNoYWhlZCBTaGFpa2ggPHNoc2hhaWtoQG1hcnZlbGwuY29tPjsgTWFj aWVqIEN6ZWthaiA8bWN6ZWthakBtYXJ2ZWxsLmNvbT47IFlvbmcgV2FuZyA8eW9uZ3dhbmdAdm13 YXJlLmNvbT4NCkNjOiBkZXZAZHBkay5vcmcNClN1YmplY3Q6IFtFWFRdIFJlOiBbZHBkay1kZXZd IFtQQVRDSCB2MTUgNC83XSBkcml2ZXJzL25ldDogdXBkYXRlIFJ4IFJTUyBoYXNoIG9mZmxvYWQg Y2FwYWJpbGl0aWVzDQoNCkV4dGVybmFsIEVtYWlsDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCk9uIDExLzEv MTkgODo0OSBQTSwgTGlyb24gSGltaSB3cm90ZToNCj4gSGksDQo+DQo+IG12cHAyIGFuZCBtdm5l dGEgUE1EcyBhcmUgYWxzbyBzdXBwb3J0IFJTUyBoYXNoLg0KPiBQbGVhc2UgYWRkIHRoZW0gdG8g dGhlIHBhdGNoLg0KDQpJJ3ZlIGZhaWxlZCB0byBmaW5kIHdoZXJlIG12cHAyIGFuZCBtdm5ldGEg c2V0IFBLVF9SWF9SU1NfSEFTSC4NCg0KDQo+IFJlZ2FyZHMsDQo+IExpcm9uDQo+DQo+IC0tLS0t T3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IGRldiA8ZGV2LWJvdW5jZXNAZHBkay5vcmc+ IE9uIEJlaGFsZiBPZiBwYmhhZ2F2YXR1bGFAbWFydmVsbC5jb20NCj4gU2VudDogVHVlc2RheSwg MjkgT2N0b2JlciAyMDE5IDE3OjM3DQo+IFRvOiBmZXJydWgueWlnaXRAaW50ZWwuY29tOyBhcnli Y2hlbmtvQHNvbGFyZmxhcmUuY29tOyBKZXJpbiBKYWNvYiANCj4gS29sbGFudWtrYXJhbiA8amVy aW5qQG1hcnZlbGwuY29tPjsgQWppdCBLaGFwYXJkZSANCj4gPGFqaXQua2hhcGFyZGVAYnJvYWRj b20uY29tPjsgU29tbmF0aCBLb3R1ciANCj4gPHNvbW5hdGgua290dXJAYnJvYWRjb20uY29tPjsg UmFodWwgTGFra2lyZWRkeSANCj4gPHJhaHVsLmxha2tpcmVkZHlAY2hlbHNpby5jb20+OyBIZW1h bnQgQWdyYXdhbCANCj4gPGhlbWFudC5hZ3Jhd2FsQG54cC5jb20+OyBTYWNoaW4gU2F4ZW5hIDxz YWNoaW4uc2F4ZW5hQG54cC5jb20+OyANCj4gV2Vuemh1byBMdSA8d2Vuemh1by5sdUBpbnRlbC5j b20+OyBKb2huIERhbGV5IDxqb2huZGFsZUBjaXNjby5jb20+OyANCj4gSHlvbmcgWW91YiBLaW0g PGh5b25raW1AY2lzY28uY29tPjsgUWkgWmhhbmcgPHFpLnouemhhbmdAaW50ZWwuY29tPjsgDQo+ IFhpYW8gV2FuZyA8eGlhby53LndhbmdAaW50ZWwuY29tPjsgWml5YW5nIFh1YW4gDQo+IDx4dWFu eml5YW5nMkBodWF3ZWkuY29tPjsgWGlhb3l1biBXYW5nIDxjbG91ZC53YW5neGlhb3l1bkBodWF3 ZWkuY29tPjsgDQo+IEd1b3lhbmcgWmhvdSA8emhvdWd1b3lhbmdAaHVhd2VpLmNvbT47IEJlaWxl aSBYaW5nIA0KPiA8YmVpbGVpLnhpbmdAaW50ZWwuY29tPjsgSmluZ2ppbmcgV3UgPGppbmdqaW5n Lnd1QGludGVsLmNvbT47IFFpbWluZyANCj4gWWFuZyA8cWltaW5nLnlhbmdAaW50ZWwuY29tPjsg S29uc3RhbnRpbiBBbmFueWV2IA0KPiA8a29uc3RhbnRpbi5hbmFueWV2QGludGVsLmNvbT47IFNo aWppdGggVGhvdHRvbiANCj4gPHN0aG90dG9uQG1hcnZlbGwuY29tPjsgU3Jpc2l2YXN1YnJhbWFu aWFuIFNyaW5pdmFzYW4gDQo+IDxzcmluaXZhc2FuQG1hcnZlbGwuY29tPjsgTWF0YW4gQXpyYWQg PG1hdGFuQG1lbGxhbm94LmNvbT47IFNoYWhhZiANCj4gU2h1bGVyIDxzaGFoYWZzQG1lbGxhbm94 LmNvbT47IFZpYWNoZXNsYXYgT3ZzaWllbmtvIA0KPiA8dmlhY2hlc2xhdm9AbWVsbGFub3guY29t PjsgU3RlcGhlbiBIZW1taW5nZXIgDQo+IDxzdGhlbW1pbkBtaWNyb3NvZnQuY29tPjsgSy4gWS4g U3Jpbml2YXNhbiA8a3lzQG1pY3Jvc29mdC5jb20+OyANCj4gSGFpeWFuZyBaaGFuZyA8aGFpeWFu Z3pAbWljcm9zb2Z0LmNvbT47IEFsZWphbmRybyBMdWNlcm8gDQo+IDxhbGVqYW5kcm8ubHVjZXJv QG5ldHJvbm9tZS5jb20+OyBOaXRoaW4gS3VtYXIgRGFiaWxwdXJhbSANCj4gPG5kYWJpbHB1cmFt QG1hcnZlbGwuY29tPjsgS2lyYW4gS3VtYXIgS29ra2lsYWdhZGRhIA0KPiA8a2lyYW5rdW1hcmtA bWFydmVsbC5jb20+OyBSYXNlc2ggTW9keSA8cm1vZHlAbWFydmVsbC5jb20+OyBTaGFoZWQgDQo+ IFNoYWlraCA8c2hzaGFpa2hAbWFydmVsbC5jb20+OyBNYWNpZWogQ3pla2FqIDxtY3pla2FqQG1h cnZlbGwuY29tPjsgDQo+IFlvbmcgV2FuZyA8eW9uZ3dhbmdAdm13YXJlLmNvbT4NCj4gQ2M6IGRl dkBkcGRrLm9yZzsgUGF2YW4gTmlraGlsZXNoIEJoYWdhdmF0dWxhIA0KPiA8cGJoYWdhdmF0dWxh QG1hcnZlbGwuY29tPg0KPiBTdWJqZWN0OiBbZHBkay1kZXZdIFtQQVRDSCB2MTUgNC83XSBkcml2 ZXJzL25ldDogdXBkYXRlIFJ4IFJTUyBoYXNoIA0KPiBvZmZsb2FkIGNhcGFiaWxpdGllcw0KPg0K PiBGcm9tOiBQYXZhbiBOaWtoaWxlc2ggPHBiaGFnYXZhdHVsYUBtYXJ2ZWxsLmNvbT4NCj4NCj4g QWRkIERFVl9SWF9PRkZMT0FEX1JTU19IQVNIIGZsYWcgZm9yIGFsbCBQTURzIHRoYXQgc3VwcG9y dCBSU1MgaGFzaCBkZWxpdmVyeS4NCj4NCj4gU2lnbmVkLW9mZi1ieTogUGF2YW4gTmlraGlsZXNo IDxwYmhhZ2F2YXR1bGFAbWFydmVsbC5jb20+DQo+IFJldmlld2VkLWJ5OiBBbmRyZXcgUnliY2hl bmtvIDxhcnliY2hlbmtvQHNvbGFyZmxhcmUuY29tPg0KPiBSZXZpZXdlZC1ieTogSGVtYW50IEFn cmF3YWwgPGhlbWFudC5hZ3Jhd2FsQG54cC5jb20+DQo+IEFja2VkLWJ5OiBKZXJpbiBKYWNvYiA8 amVyaW5qQG1hcnZlbGwuY29tPg0KPiBBY2tlZC1ieTogQWppdCBLaGFwYXJkZSA8YWppdC5raGFw YXJkZUBicm9hZGNvbS5jb20+DQo+IC0tLQ0KPiAgIGRyaXZlcnMvbmV0L2JueHQvYm54dF9ldGhk ZXYuYyAgICAgICB8ICA4ICsrKysrKystDQo+ICAgZHJpdmVycy9uZXQvY3hnYmUvY3hnYmUuaCAg ICAgICAgICAgIHwgIDMgKystDQo+ICAgZHJpdmVycy9uZXQvY3hnYmUvY3hnYmVfZXRoZGV2LmMg ICAgIHwgIDUgKysrKysNCj4gICBkcml2ZXJzL25ldC9kcGFhL2RwYWFfZXRoZGV2LmMgICAgICAg fCAgMyArKy0NCj4gICBkcml2ZXJzL25ldC9kcGFhMi9kcGFhMl9ldGhkZXYuYyAgICAgfCAgMSAr DQo+ICAgZHJpdmVycy9uZXQvZTEwMDAvaWdiX2V0aGRldi5jICAgICAgIHwgIDYgKysrKysrDQo+ ICAgZHJpdmVycy9uZXQvZTEwMDAvaWdiX3J4dHguYyAgICAgICAgIHwgIDMgKystDQo+ICAgZHJp dmVycy9uZXQvZW5pYy9lbmljX2V0aGRldi5jICAgICAgIHwgIDUgKysrKysNCj4gICBkcml2ZXJz L25ldC9lbmljL2VuaWNfcmVzLmMgICAgICAgICAgfCAgMyArKy0NCj4gICBkcml2ZXJzL25ldC9m bTEway9mbTEwa19ldGhkZXYuYyAgICAgfCAgNiArKysrKy0NCj4gICBkcml2ZXJzL25ldC9oaW5p Yy9oaW5pY19wbWRfZXRoZGV2LmMgfCAgNiArKysrKy0NCj4gICBkcml2ZXJzL25ldC9pNDBlL2k0 MGVfZXRoZGV2LmMgICAgICAgfCAgNiArKysrKy0NCj4gICBkcml2ZXJzL25ldC9pYXZmL2lhdmZf ZXRoZGV2LmMgICAgICAgfCAgNiArKysrKy0NCj4gICBkcml2ZXJzL25ldC9pY2UvaWNlX2V0aGRl di5jICAgICAgICAgfCAgNiArKysrKy0NCj4gICBkcml2ZXJzL25ldC9peGdiZS9peGdiZV9ldGhk ZXYuYyAgICAgfCAgNyArKysrKysrDQo+ICAgZHJpdmVycy9uZXQvaXhnYmUvaXhnYmVfcnh0eC5j ICAgICAgIHwgIDMgKystDQo+ICAgZHJpdmVycy9uZXQvbGlxdWlkaW8vbGlvX2V0aGRldi5jICAg IHwgIDcgKysrKysrLQ0KPiAgIGRyaXZlcnMvbmV0L21seDQvbWx4NC5jICAgICAgICAgICAgICB8 ICAzICsrKw0KPiAgIGRyaXZlcnMvbmV0L21seDQvbWx4NF9yeHEuYyAgICAgICAgICB8ICAzICsr LQ0KPiAgIGRyaXZlcnMvbmV0L21seDUvbWx4NV9ldGhkZXYuYyAgICAgICB8ICA0ICsrKysNCj4g ICBkcml2ZXJzL25ldC9tbHg1L21seDVfcnhxLmMgICAgICAgICAgfCAgMyArKy0NCj4gICBkcml2 ZXJzL25ldC9uZXR2c2MvaG5fZXRoZGV2LmMgICAgICAgfCAgMyArKysNCj4gICBkcml2ZXJzL25l dC9uZXR2c2MvaG5fcm5kaXMuYyAgICAgICAgfCAgMyArKy0NCj4gICBkcml2ZXJzL25ldC9uZnAv bmZwX25ldC5jICAgICAgICAgICAgfCAgNiArKysrKy0NCj4gICBkcml2ZXJzL25ldC9vY3Rlb250 eDIvb3R4Ml9ldGhkZXYuYyAgfCAgMyArKy0gIGRyaXZlcnMvbmV0L29jdGVvbnR4Mi9vdHgyX2V0 aGRldi5oICB8IDE1ICsrKysrKysrLS0tLS0tLQ0KPiAgIGRyaXZlcnMvbmV0L3FlZGUvcWVkZV9l dGhkZXYuYyAgICAgICB8ICA2ICsrKysrLQ0KPiAgIGRyaXZlcnMvbmV0L3NmYy9zZmNfZWYxMF9l c3NiX3J4LmMgICB8ICAzICsrLQ0KPiAgIGRyaXZlcnMvbmV0L3NmYy9zZmNfZWYxMF9yeC5jICAg ICAgICB8ICAzICsrLQ0KPiAgIGRyaXZlcnMvbmV0L3NmYy9zZmNfcnguYyAgICAgICAgICAgICB8 ICA3ICsrKysrKy0NCj4gICBkcml2ZXJzL25ldC90aHVuZGVyeC9uaWN2Zl9ldGhkZXYuYyAgfCAg MyArKysgIGRyaXZlcnMvbmV0L3RodW5kZXJ4L25pY3ZmX2V0aGRldi5oICB8ICAzICsrLSAgZHJp dmVycy9uZXQvdm14bmV0My92bXhuZXQzX2V0aGRldi5jIHwgIDYgKysrKystDQo+ICAgMzMgZmls ZXMgY2hhbmdlZCwgMTI4IGluc2VydGlvbnMoKyksIDMwIGRlbGV0aW9ucygtKQ0KPg0KPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9uZXQvYm54dC9ibnh0X2V0aGRldi5jIA0KPiBiL2RyaXZlcnMvbmV0 L2JueHQvYm54dF9ldGhkZXYuYyBpbmRleCA3ZDk0NTlmMGEuLjAxZDQ4ZjQ3YyAxMDA2NDQNCj4g LS0tIGEvZHJpdmVycy9uZXQvYm54dC9ibnh0X2V0aGRldi5jDQo+ICsrKyBiL2RyaXZlcnMvbmV0 L2JueHQvYm54dF9ldGhkZXYuYw0KPiBAQCAtMTIzLDcgKzEyMyw4IEBAIHN0YXRpYyBjb25zdCBz dHJ1Y3QgcnRlX3BjaV9pZCBibnh0X3BjaV9pZF9tYXBbXSA9IHsNCj4gICAJCQkJICAgICBERVZf UlhfT0ZGTE9BRF9LRUVQX0NSQyB8IFwNCj4gICAJCQkJICAgICBERVZfUlhfT0ZGTE9BRF9WTEFO X0VYVEVORCB8IFwNCj4gICAJCQkJICAgICBERVZfUlhfT0ZGTE9BRF9UQ1BfTFJPIHwgXA0KPiAt CQkJCSAgICAgREVWX1JYX09GRkxPQURfU0NBVFRFUikNCj4gKwkJCQkgICAgIERFVl9SWF9PRkZM T0FEX1NDQVRURVIgfCBcDQo+ICsJCQkJICAgICBERVZfUlhfT0ZGTE9BRF9SU1NfSEFTSCkNCj4g ICANCj4gICBzdGF0aWMgaW50IGJueHRfdmxhbl9vZmZsb2FkX3NldF9vcChzdHJ1Y3QgcnRlX2V0 aF9kZXYgKmRldiwgaW50IG1hc2spOyAgc3RhdGljIHZvaWQgYm54dF9wcmludF9saW5rX2luZm8o c3RydWN0IHJ0ZV9ldGhfZGV2ICpldGhfZGV2KTsgQEAgLTY4OSw2ICs2OTAsMTEgQEAgc3RhdGlj IGludCBibnh0X2Rldl9jb25maWd1cmVfb3Aoc3RydWN0IHJ0ZV9ldGhfZGV2ICpldGhfZGV2KQ0K PiAgIAlicC0+cnhfY3BfbnJfcmluZ3MgPSBicC0+cnhfbnJfcmluZ3M7DQo+ICAgCWJwLT50eF9j cF9ucl9yaW5ncyA9IGJwLT50eF9ucl9yaW5nczsNCj4gICANCj4gKwlpZiAoIShyeF9vZmZsb2Fk cyAmIERFVl9SWF9PRkZMT0FEX1JTU19IQVNIKSkgew0KPiArCQlyeF9vZmZsb2FkcyB8PSBERVZf UlhfT0ZGTE9BRF9SU1NfSEFTSDsNCj4gKwkJZXRoX2Rldi0+ZGF0YS0+ZGV2X2NvbmYucnhtb2Rl Lm9mZmxvYWRzID0gcnhfb2ZmbG9hZHM7DQo+ICsJfQ0KPiArDQo+ICAgCWlmIChyeF9vZmZsb2Fk cyAmIERFVl9SWF9PRkZMT0FEX0pVTUJPX0ZSQU1FKSB7DQo+ICAgCQlldGhfZGV2LT5kYXRhLT5t dHUgPQ0KPiAgIAkJCWV0aF9kZXYtPmRhdGEtPmRldl9jb25mLnJ4bW9kZS5tYXhfcnhfcGt0X2xl biAtIGRpZmYgLS1naXQgDQo+IGEvZHJpdmVycy9uZXQvY3hnYmUvY3hnYmUuaCBiL2RyaXZlcnMv bmV0L2N4Z2JlL2N4Z2JlLmggaW5kZXggDQo+IGVkMWJlMzU1OS4uNmMxZjczYWM0IDEwMDY0NA0K PiAtLS0gYS9kcml2ZXJzL25ldC9jeGdiZS9jeGdiZS5oDQo+ICsrKyBiL2RyaXZlcnMvbmV0L2N4 Z2JlL2N4Z2JlLmgNCj4gQEAgLTQ3LDcgKzQ3LDggQEANCj4gICAJCQkgICBERVZfUlhfT0ZGTE9B RF9VRFBfQ0tTVU0gfCBcDQo+ICAgCQkJICAgREVWX1JYX09GRkxPQURfVENQX0NLU1VNIHwgXA0K PiAgIAkJCSAgIERFVl9SWF9PRkZMT0FEX0pVTUJPX0ZSQU1FIHwgXA0KPiAtCQkJICAgREVWX1JY X09GRkxPQURfU0NBVFRFUikNCj4gKwkJCSAgIERFVl9SWF9PRkZMT0FEX1NDQVRURVIgfCBcDQo+ ICsJCQkgICBERVZfUlhfT0ZGTE9BRF9SU1NfSEFTSCkNCj4gICANCj4gICANCj4gICAvKiBDb21t b24gUEYgYW5kIFZGIGRldmFyZ3MgKi8NCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2N4Z2Jl L2N4Z2JlX2V0aGRldi5jIA0KPiBiL2RyaXZlcnMvbmV0L2N4Z2JlL2N4Z2JlX2V0aGRldi5jDQo+ IGluZGV4IDYxNWRkYTYwNy4uNmRmMTI3MDg3IDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL25ldC9j eGdiZS9jeGdiZV9ldGhkZXYuYw0KPiArKysgYi9kcml2ZXJzL25ldC9jeGdiZS9jeGdiZV9ldGhk ZXYuYw0KPiBAQCAtNDI2LDYgKzQyNiwxMSBAQCBpbnQgY3hnYmVfZGV2X2NvbmZpZ3VyZShzdHJ1 Y3QgcnRlX2V0aF9kZXYgDQo+ICpldGhfZGV2KQ0KPiAgIA0KPiAgIAlDWEdCRV9GVU5DX1RSQUNF KCk7DQo+ICAgDQo+ICsJaWYgKCEoZXRoX2Rldi0+ZGF0YS0+ZGV2X2NvbmYucnhtb2RlLm9mZmxv YWRzICYNCj4gKwkJCQlERVZfUlhfT0ZGTE9BRF9SU1NfSEFTSCkpDQo+ICsJCWV0aF9kZXYtPmRh dGEtPmRldl9jb25mLnJ4bW9kZS5vZmZsb2FkcyB8PQ0KPiArCQkJCQkJCURFVl9SWF9PRkZMT0FE X1JTU19IQVNIOw0KPiArDQo+ICAgCWlmICghKGFkYXB0ZXItPmZsYWdzICYgRldfUVVFVUVfQk9V TkQpKSB7DQo+ICAgCQllcnIgPSBjeGdiZV9zZXR1cF9zZ2VfZndldnRxKGFkYXB0ZXIpOw0KPiAg IAkJaWYgKGVycikNCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2RwYWEvZHBhYV9ldGhkZXYu YyANCj4gYi9kcml2ZXJzL25ldC9kcGFhL2RwYWFfZXRoZGV2LmMgaW5kZXggY2FmMjU1ZDY3Li4w OTZkYTc1MmQgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0L2RwYWEvZHBhYV9ldGhkZXYuYw0K PiArKysgYi9kcml2ZXJzL25ldC9kcGFhL2RwYWFfZXRoZGV2LmMNCj4gQEAgLTU2LDcgKzU2LDgg QEAgc3RhdGljIHVpbnQ2NF90IGRldl9yeF9vZmZsb2Fkc19ub2RpcyA9DQo+ICAgCQlERVZfUlhf T0ZGTE9BRF9JUFY0X0NLU1VNIHwNCj4gICAJCURFVl9SWF9PRkZMT0FEX1VEUF9DS1NVTSB8DQo+ ICAgCQlERVZfUlhfT0ZGTE9BRF9UQ1BfQ0tTVU0gfA0KPiAtCQlERVZfUlhfT0ZGTE9BRF9PVVRF Ul9JUFY0X0NLU1VNOw0KPiArCQlERVZfUlhfT0ZGTE9BRF9PVVRFUl9JUFY0X0NLU1VNIHwNCj4g KwkJREVWX1JYX09GRkxPQURfUlNTX0hBU0g7DQo+ICAgDQo+ICAgLyogU3VwcG9ydGVkIFR4IG9m ZmxvYWRzICovDQo+ICAgc3RhdGljIHVpbnQ2NF90IGRldl90eF9vZmZsb2Fkc19zdXAgPSBkaWZm IC0tZ2l0IA0KPiBhL2RyaXZlcnMvbmV0L2RwYWEyL2RwYWEyX2V0aGRldi5jIGIvZHJpdmVycy9u ZXQvZHBhYTIvZHBhYTJfZXRoZGV2LmMNCj4gaW5kZXggMDMxMzFiOTAzLi5lZWEzMWYyNTQgMTAw NjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0L2RwYWEyL2RwYWEyX2V0aGRldi5jDQo+ICsrKyBiL2Ry aXZlcnMvbmV0L2RwYWEyL2RwYWEyX2V0aGRldi5jDQo+IEBAIC00NSw2ICs0NSw3IEBAIHN0YXRp YyB1aW50NjRfdCBkZXZfcnhfb2ZmbG9hZHNfc3VwID0NCj4gICANCj4gICAvKiBSeCBvZmZsb2Fk cyB3aGljaCBjYW5ub3QgYmUgZGlzYWJsZWQgKi8gIHN0YXRpYyB1aW50NjRfdCANCj4gZGV2X3J4 X29mZmxvYWRzX25vZGlzID0NCj4gKwkJREVWX1JYX09GRkxPQURfUlNTX0hBU0ggfA0KPiAgIAkJ REVWX1JYX09GRkxPQURfU0NBVFRFUjsNCj4gICANCj4gICAvKiBTdXBwb3J0ZWQgVHggb2ZmbG9h ZHMgKi8NCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2UxMDAwL2lnYl9ldGhkZXYuYyANCj4g Yi9kcml2ZXJzL25ldC9lMTAwMC9pZ2JfZXRoZGV2LmMgaW5kZXggY2U3YzllNjY0Li4yMjY2NWI1 MWMgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0L2UxMDAwL2lnYl9ldGhkZXYuYw0KPiArKysg Yi9kcml2ZXJzL25ldC9lMTAwMC9pZ2JfZXRoZGV2LmMNCj4gQEAgLTExODIsNiArMTE4Miw5IEBA IGV0aF9pZ2JfY29uZmlndXJlKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2KQ0KPiAgIA0KPiAgIAlQ TURfSU5JVF9GVU5DX1RSQUNFKCk7DQo+ICAgDQo+ICsJaWYgKCEoZGV2LT5kYXRhLT5kZXZfY29u Zi5yeG1vZGUub2ZmbG9hZHMgJiBERVZfUlhfT0ZGTE9BRF9SU1NfSEFTSCkpDQo+ICsJCWRldi0+ ZGF0YS0+ZGV2X2NvbmYucnhtb2RlLm9mZmxvYWRzIHw9IERFVl9SWF9PRkZMT0FEX1JTU19IQVNI Ow0KPiArDQo+ICAgCS8qIG11bHRpcGUgcXVldWUgbW9kZSBjaGVja2luZyAqLw0KPiAgIAlyZXQg ID0gaWdiX2NoZWNrX21xX21vZGUoZGV2KTsNCj4gICAJaWYgKHJldCAhPSAwKSB7DQo+IEBAIC0z MjU1LDYgKzMyNTgsOSBAQCBpZ2J2Zl9kZXZfY29uZmlndXJlKHN0cnVjdCBydGVfZXRoX2RldiAq ZGV2KQ0KPiAgIAlQTURfSU5JVF9MT0coREVCVUcsICJDb25maWd1cmVkIFZpcnR1YWwgRnVuY3Rp b24gcG9ydCBpZDogJWQiLA0KPiAgIAkJICAgICBkZXYtPmRhdGEtPnBvcnRfaWQpOw0KPiAgIA0K PiArCWlmICghKGRldi0+ZGF0YS0+ZGV2X2NvbmYucnhtb2RlLm9mZmxvYWRzICYgREVWX1JYX09G RkxPQURfUlNTX0hBU0gpKQ0KPiArCQlkZXYtPmRhdGEtPmRldl9jb25mLnJ4bW9kZS5vZmZsb2Fk cyB8PSBERVZfUlhfT0ZGTE9BRF9SU1NfSEFTSDsNCj4gKw0KPiAgIAkvKg0KPiAgIAkgKiBWRiBo YXMgbm8gYWJpbGl0eSB0byBlbmFibGUvZGlzYWJsZSBIVyBDUkMNCj4gICAJICogS2VlcCB0aGUg cGVyc2lzdGVudCBiZWhhdmlvciB0aGUgc2FtZSBhcyBIb3N0IFBGIGRpZmYgLS1naXQgDQo+IGEv ZHJpdmVycy9uZXQvZTEwMDAvaWdiX3J4dHguYyBiL2RyaXZlcnMvbmV0L2UxMDAwL2lnYl9yeHR4 LmMgaW5kZXggDQo+IGM1NjA2ZGU1ZC4uNjg0ZmE0YWQ4IDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJz L25ldC9lMTAwMC9pZ2Jfcnh0eC5jDQo+ICsrKyBiL2RyaXZlcnMvbmV0L2UxMDAwL2lnYl9yeHR4 LmMNCj4gQEAgLTE2NDYsNyArMTY0Niw4IEBAIGlnYl9nZXRfcnhfcG9ydF9vZmZsb2Fkc19jYXBh KHN0cnVjdCBydGVfZXRoX2RldiAqZGV2KQ0KPiAgIAkJCSAgREVWX1JYX09GRkxPQURfVENQX0NL U1VNICAgfA0KPiAgIAkJCSAgREVWX1JYX09GRkxPQURfSlVNQk9fRlJBTUUgfA0KPiAgIAkJCSAg REVWX1JYX09GRkxPQURfS0VFUF9DUkMgICAgfA0KPiAtCQkJICBERVZfUlhfT0ZGTE9BRF9TQ0FU VEVSOw0KPiArCQkJICBERVZfUlhfT0ZGTE9BRF9TQ0FUVEVSICAgICB8DQo+ICsJCQkgIERFVl9S WF9PRkZMT0FEX1JTU19IQVNIOw0KPiAgIA0KPiAgIAlyZXR1cm4gcnhfb2ZmbG9hZF9jYXBhOw0K PiAgIH0NCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2VuaWMvZW5pY19ldGhkZXYuYyANCj4g Yi9kcml2ZXJzL25ldC9lbmljL2VuaWNfZXRoZGV2LmMgaW5kZXggMTJjNTlhM2M1Li5kMmQxNDg4 ZDkgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0L2VuaWMvZW5pY19ldGhkZXYuYw0KPiArKysg Yi9kcml2ZXJzL25ldC9lbmljL2VuaWNfZXRoZGV2LmMNCj4gQEAgLTQwNSw2ICs0MDUsMTEgQEAg c3RhdGljIGludCBlbmljcG1kX2Rldl9jb25maWd1cmUoc3RydWN0IHJ0ZV9ldGhfZGV2ICpldGhf ZGV2KQ0KPiAgIAkJcmV0dXJuIHJldDsNCj4gICAJfQ0KPiAgIA0KPiArCWlmICghKGV0aF9kZXYt PmRhdGEtPmRldl9jb25mLnJ4bW9kZS5vZmZsb2FkcyAmDQo+ICsJCQkJCQlERVZfUlhfT0ZGTE9B RF9SU1NfSEFTSCkpDQo+ICsJCWV0aF9kZXYtPmRhdGEtPmRldl9jb25mLnJ4bW9kZS5vZmZsb2Fk cyB8PQ0KPiArCQkJCQkJREVWX1JYX09GRkxPQURfUlNTX0hBU0g7DQo+ICsNCj4gICAJZW5pYy0+ bWNfY291bnQgPSAwOw0KPiAgIAllbmljLT5od19pcF9jaGVja3N1bSA9ICEhKGV0aF9kZXYtPmRh dGEtPmRldl9jb25mLnJ4bW9kZS5vZmZsb2FkcyAmDQo+ICAgCQkJCSAgREVWX1JYX09GRkxPQURf Q0hFQ0tTVU0pOw0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZW5pYy9lbmljX3Jlcy5jIGIv ZHJpdmVycy9uZXQvZW5pYy9lbmljX3Jlcy5jIA0KPiBpbmRleCBmNDAzYTBiNjYuLjdjM2MyNzBh MiAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9uZXQvZW5pYy9lbmljX3Jlcy5jDQo+ICsrKyBiL2Ry aXZlcnMvbmV0L2VuaWMvZW5pY19yZXMuYw0KPiBAQCAtMjA1LDcgKzIwNSw4IEBAIGludCBlbmlj X2dldF92bmljX2NvbmZpZyhzdHJ1Y3QgZW5pYyAqZW5pYykNCj4gICAJCURFVl9SWF9PRkZMT0FE X1ZMQU5fU1RSSVAgfA0KPiAgIAkJREVWX1JYX09GRkxPQURfSVBWNF9DS1NVTSB8DQo+ICAgCQlE RVZfUlhfT0ZGTE9BRF9VRFBfQ0tTVU0gfA0KPiAtCQlERVZfUlhfT0ZGTE9BRF9UQ1BfQ0tTVU07 DQo+ICsJCURFVl9SWF9PRkZMT0FEX1RDUF9DS1NVTSB8DQo+ICsJCURFVl9SWF9PRkZMT0FEX1JT U19IQVNIOw0KPiAgIAllbmljLT50eF9vZmZsb2FkX21hc2sgPQ0KPiAgIAkJUEtUX1RYX0lQVjYg fA0KPiAgIAkJUEtUX1RYX0lQVjQgfA0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZm0xMGsv Zm0xMGtfZXRoZGV2LmMgDQo+IGIvZHJpdmVycy9uZXQvZm0xMGsvZm0xMGtfZXRoZGV2LmMNCj4g aW5kZXggOTljNDM2NmU0Li4yZTgzNDEzMGQgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0L2Zt MTBrL2ZtMTBrX2V0aGRldi5jDQo+ICsrKyBiL2RyaXZlcnMvbmV0L2ZtMTBrL2ZtMTBrX2V0aGRl di5jDQo+IEBAIC00NjEsNiArNDYxLDkgQEAgZm0xMGtfZGV2X2NvbmZpZ3VyZShzdHJ1Y3QgcnRl X2V0aF9kZXYgKmRldikNCj4gICANCj4gICAJUE1EX0lOSVRfRlVOQ19UUkFDRSgpOw0KPiAgIA0K PiArCWlmICghKGRldi0+ZGF0YS0+ZGV2X2NvbmYucnhtb2RlLm9mZmxvYWRzICYgREVWX1JYX09G RkxPQURfUlNTX0hBU0gpKQ0KPiArCQlkZXYtPmRhdGEtPmRldl9jb25mLnJ4bW9kZS5vZmZsb2Fk cyB8PSBERVZfUlhfT0ZGTE9BRF9SU1NfSEFTSDsNCj4gKw0KPiAgIAkvKiBtdWx0aXBlIHF1ZXVl IG1vZGUgY2hlY2tpbmcgKi8NCj4gICAJcmV0ICA9IGZtMTBrX2NoZWNrX21xX21vZGUoZGV2KTsN Cj4gICAJaWYgKHJldCAhPSAwKSB7DQo+IEBAIC0xODA1LDcgKzE4MDgsOCBAQCBzdGF0aWMgdWlu dDY0X3QgZm0xMGtfZ2V0X3J4X3BvcnRfb2ZmbG9hZHNfY2FwYShzdHJ1Y3QgcnRlX2V0aF9kZXYg KmRldikNCj4gICAJCQkgICBERVZfUlhfT0ZGTE9BRF9VRFBfQ0tTVU0gICB8DQo+ICAgCQkJICAg REVWX1JYX09GRkxPQURfVENQX0NLU1VNICAgfA0KPiAgIAkJCSAgIERFVl9SWF9PRkZMT0FEX0pV TUJPX0ZSQU1FIHwNCj4gLQkJCSAgIERFVl9SWF9PRkZMT0FEX0hFQURFUl9TUExJVCk7DQo+ICsJ CQkgICBERVZfUlhfT0ZGTE9BRF9IRUFERVJfU1BMSVQgfA0KPiArCQkJICAgREVWX1JYX09GRkxP QURfUlNTX0hBU0gpOw0KPiAgIH0NCj4gICANCj4gICBzdGF0aWMgaW50DQo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL25ldC9oaW5pYy9oaW5pY19wbWRfZXRoZGV2LmMgDQo+IGIvZHJpdmVycy9uZXQv aGluaWMvaGluaWNfcG1kX2V0aGRldi5jDQo+IGluZGV4IDlmMzdhNDA0Yi4uNjY3Mzc3N2U5IDEw MDY0NA0KPiAtLS0gYS9kcml2ZXJzL25ldC9oaW5pYy9oaW5pY19wbWRfZXRoZGV2LmMNCj4gKysr IGIvZHJpdmVycy9uZXQvaGluaWMvaGluaWNfcG1kX2V0aGRldi5jDQo+IEBAIC0zMTgsNiArMzE4 LDkgQEAgc3RhdGljIGludCBoaW5pY19kZXZfY29uZmlndXJlKHN0cnVjdCBydGVfZXRoX2RldiAq ZGV2KQ0KPiAgIAkJcmV0dXJuIC1FSU5WQUw7DQo+ICAgCX0NCj4gICANCj4gKwlpZiAoIShkZXYt PmRhdGEtPmRldl9jb25mLnJ4bW9kZS5vZmZsb2FkcyAmIERFVl9SWF9PRkZMT0FEX1JTU19IQVNI KSkNCj4gKwkJZGV2LT5kYXRhLT5kZXZfY29uZi5yeG1vZGUub2ZmbG9hZHMgfD0gREVWX1JYX09G RkxPQURfUlNTX0hBU0g7DQo+ICsNCj4gICAJLyogbXR1IHNpemUgaXMgMjU2fjk2MDAgKi8NCj4g ICAJaWYgKGRldi0+ZGF0YS0+ZGV2X2NvbmYucnhtb2RlLm1heF9yeF9wa3RfbGVuIDwgSElOSUNf TUlOX0ZSQU1FX1NJWkUgfHwNCj4gICAJICAgIGRldi0+ZGF0YS0+ZGV2X2NvbmYucnhtb2RlLm1h eF9yeF9wa3RfbGVuID4gQEAgLTc0MCw3ICs3NDMsOCBAQCBoaW5pY19kZXZfaW5mb3NfZ2V0KHN0 cnVjdCBydGVfZXRoX2RldiAqZGV2LCBzdHJ1Y3QgcnRlX2V0aF9kZXZfaW5mbyAqaW5mbykNCj4g ICAJCQkJREVWX1JYX09GRkxPQURfVkxBTl9GSUxURVIgfA0KPiAgIAkJCQlERVZfUlhfT0ZGTE9B RF9TQ0FUVEVSIHwNCj4gICAJCQkJREVWX1JYX09GRkxPQURfSlVNQk9fRlJBTUUgfA0KPiAtCQkJ CURFVl9SWF9PRkZMT0FEX1RDUF9MUk87DQo+ICsJCQkJREVWX1JYX09GRkxPQURfVENQX0xSTyB8 DQo+ICsJCQkJREVWX1JYX09GRkxPQURfUlNTX0hBU0g7DQo+ICAgDQo+ICAgCWluZm8tPnR4X3F1 ZXVlX29mZmxvYWRfY2FwYSA9IDA7DQo+ICAgCWluZm8tPnR4X29mZmxvYWRfY2FwYSA9IERFVl9U WF9PRkZMT0FEX1ZMQU5fSU5TRVJUIHwgZGlmZiAtLWdpdCANCj4gYS9kcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2LmMgYi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmMgDQo+IGluZGV4 IDc3YTQ2ODMyYy4uNzhmZWEwNGY4IDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL25ldC9pNDBlL2k0 MGVfZXRoZGV2LmMNCj4gKysrIGIvZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jDQo+IEBA IC0xODEyLDYgKzE4MTIsOSBAQCBpNDBlX2Rldl9jb25maWd1cmUoc3RydWN0IHJ0ZV9ldGhfZGV2 ICpkZXYpDQo+ICAgCWFkLT50eF9zaW1wbGVfYWxsb3dlZCA9IHRydWU7DQo+ICAgCWFkLT50eF92 ZWNfYWxsb3dlZCA9IHRydWU7DQo+ICAgDQo+ICsJaWYgKCEoZGV2LT5kYXRhLT5kZXZfY29uZi5y eG1vZGUub2ZmbG9hZHMgJiBERVZfUlhfT0ZGTE9BRF9SU1NfSEFTSCkpDQo+ICsJCWRldi0+ZGF0 YS0+ZGV2X2NvbmYucnhtb2RlLm9mZmxvYWRzIHw9IERFVl9SWF9PRkZMT0FEX1JTU19IQVNIOw0K PiArDQo+ICAgCS8qIE9ubHkgbGVnYWN5IGZpbHRlciBBUEkgbmVlZHMgdGhlIGZvbGxvd2luZyBm ZGlyIGNvbmZpZy4gU28gd2hlbiB0aGUNCj4gICAJICogbGVnYWN5IGZpbHRlciBBUEkgaXMgZGVw cmVjYXRlZCwgdGhlIGZvbGxvd2luZyBjb2RlcyBzaG91bGQgYWxzbyBiZQ0KPiAgIAkgKiByZW1v dmVkLg0KPiBAQCAtMzYxMyw3ICszNjE2LDggQEAgaTQwZV9kZXZfaW5mb19nZXQoc3RydWN0IHJ0 ZV9ldGhfZGV2ICpkZXYsIHN0cnVjdCBydGVfZXRoX2Rldl9pbmZvICpkZXZfaW5mbykNCj4gICAJ CURFVl9SWF9PRkZMT0FEX1NDQVRURVIgfA0KPiAgIAkJREVWX1JYX09GRkxPQURfVkxBTl9FWFRF TkQgfA0KPiAgIAkJREVWX1JYX09GRkxPQURfVkxBTl9GSUxURVIgfA0KPiAtCQlERVZfUlhfT0ZG TE9BRF9KVU1CT19GUkFNRTsNCj4gKwkJREVWX1JYX09GRkxPQURfSlVNQk9fRlJBTUUgfA0KPiAr CQlERVZfUlhfT0ZGTE9BRF9SU1NfSEFTSDsNCj4gICANCj4gICAJZGV2X2luZm8tPnR4X3F1ZXVl X29mZmxvYWRfY2FwYSA9IERFVl9UWF9PRkZMT0FEX01CVUZfRkFTVF9GUkVFOw0KPiAgIAlkZXZf aW5mby0+dHhfb2ZmbG9hZF9jYXBhID0NCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2lhdmYv aWF2Zl9ldGhkZXYuYyANCj4gYi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfZXRoZGV2LmMgaW5kZXgg ZWViYzQ5YWRlLi4xNzJjM2Y2YWMgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0L2lhdmYvaWF2 Zl9ldGhkZXYuYw0KPiArKysgYi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfZXRoZGV2LmMNCj4gQEAg LTE0Nyw2ICsxNDcsOSBAQCBpYXZmX2Rldl9jb25maWd1cmUoc3RydWN0IHJ0ZV9ldGhfZGV2ICpk ZXYpDQo+ICAgCWFkLT5yeF92ZWNfYWxsb3dlZCA9IHRydWU7DQo+ICAgCWFkLT50eF92ZWNfYWxs b3dlZCA9IHRydWU7DQo+ICAgDQo+ICsJaWYgKCEoZGV2LT5kYXRhLT5kZXZfY29uZi5yeG1vZGUu b2ZmbG9hZHMgJiBERVZfUlhfT0ZGTE9BRF9SU1NfSEFTSCkpDQo+ICsJCWRldi0+ZGF0YS0+ZGV2 X2NvbmYucnhtb2RlLm9mZmxvYWRzIHw9IERFVl9SWF9PRkZMT0FEX1JTU19IQVNIOw0KPiArDQo+ ICAgCS8qIFZsYW4gc3RyaXBwaW5nIHNldHRpbmcgKi8NCj4gICAJaWYgKHZmLT52Zl9yZXMtPnZm X2NhcF9mbGFncyAmIFZJUlRDSE5MX1ZGX09GRkxPQURfVkxBTikgew0KPiAgIAkJaWYgKGRldl9j b25mLT5yeG1vZGUub2ZmbG9hZHMgJiBERVZfUlhfT0ZGTE9BRF9WTEFOX1NUUklQKSBAQCAtNTIy LDcgKzUyNSw4IEBAIGlhdmZfZGV2X2luZm9fZ2V0KHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LCBz dHJ1Y3QgcnRlX2V0aF9kZXZfaW5mbyAqZGV2X2luZm8pDQo+ICAgCQlERVZfUlhfT0ZGTE9BRF9P VVRFUl9JUFY0X0NLU1VNIHwNCj4gICAJCURFVl9SWF9PRkZMT0FEX1NDQVRURVIgfA0KPiAgIAkJ REVWX1JYX09GRkxPQURfSlVNQk9fRlJBTUUgfA0KPiAtCQlERVZfUlhfT0ZGTE9BRF9WTEFOX0ZJ TFRFUjsNCj4gKwkJREVWX1JYX09GRkxPQURfVkxBTl9GSUxURVIgfA0KPiArCQlERVZfUlhfT0ZG TE9BRF9SU1NfSEFTSDsNCj4gICAJZGV2X2luZm8tPnR4X29mZmxvYWRfY2FwYSA9DQo+ICAgCQlE RVZfVFhfT0ZGTE9BRF9WTEFOX0lOU0VSVCB8DQo+ICAgCQlERVZfVFhfT0ZGTE9BRF9RSU5RX0lO U0VSVCB8DQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9pY2UvaWNlX2V0aGRldi5jIA0KPiBi L2RyaXZlcnMvbmV0L2ljZS9pY2VfZXRoZGV2LmMgaW5kZXggZDc0Njc1ODQyLi44ZmY5NmE5NmUg MTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0L2ljZS9pY2VfZXRoZGV2LmMNCj4gKysrIGIvZHJp dmVycy9uZXQvaWNlL2ljZV9ldGhkZXYuYw0KPiBAQCAtMjM1Nyw2ICsyMzU3LDkgQEAgaWNlX2Rl dl9jb25maWd1cmUoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYpDQo+ICAgCWFkLT5yeF9idWxrX2Fs bG9jX2FsbG93ZWQgPSB0cnVlOw0KPiAgIAlhZC0+dHhfc2ltcGxlX2FsbG93ZWQgPSB0cnVlOw0K PiAgIA0KPiArCWlmICghKGRldi0+ZGF0YS0+ZGV2X2NvbmYucnhtb2RlLm9mZmxvYWRzICYgREVW X1JYX09GRkxPQURfUlNTX0hBU0gpKQ0KPiArCQlkZXYtPmRhdGEtPmRldl9jb25mLnJ4bW9kZS5v ZmZsb2FkcyB8PSBERVZfUlhfT0ZGTE9BRF9SU1NfSEFTSDsNCj4gKw0KPiAgIAlyZXR1cm4gMDsN Cj4gICB9DQo+ICAgDQo+IEBAIC0yODAwLDcgKzI4MDMsOCBAQCBpY2VfZGV2X2luZm9fZ2V0KHN0 cnVjdCBydGVfZXRoX2RldiAqZGV2LCBzdHJ1Y3QgcnRlX2V0aF9kZXZfaW5mbyAqZGV2X2luZm8p DQo+ICAgCQkJREVWX1JYX09GRkxPQURfVENQX0NLU1VNIHwNCj4gICAJCQlERVZfUlhfT0ZGTE9B RF9RSU5RX1NUUklQIHwNCj4gICAJCQlERVZfUlhfT0ZGTE9BRF9PVVRFUl9JUFY0X0NLU1VNIHwN Cj4gLQkJCURFVl9SWF9PRkZMT0FEX1ZMQU5fRVhURU5EOw0KPiArCQkJREVWX1JYX09GRkxPQURf VkxBTl9FWFRFTkQgfA0KPiArCQkJREVWX1JYX09GRkxPQURfUlNTX0hBU0g7DQo+ICAgCQlkZXZf aW5mby0+dHhfb2ZmbG9hZF9jYXBhIHw9DQo+ICAgCQkJREVWX1RYX09GRkxPQURfUUlOUV9JTlNF UlQgfA0KPiAgIAkJCURFVl9UWF9PRkZMT0FEX0lQVjRfQ0tTVU0gfA0KPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9uZXQvaXhnYmUvaXhnYmVfZXRoZGV2LmMgDQo+IGIvZHJpdmVycy9uZXQvaXhnYmUv aXhnYmVfZXRoZGV2LmMNCj4gaW5kZXggZGJjZTdhODBlLi5hMjk5YzFjNzQgMTAwNjQ0DQo+IC0t LSBhL2RyaXZlcnMvbmV0L2l4Z2JlL2l4Z2JlX2V0aGRldi5jDQo+ICsrKyBiL2RyaXZlcnMvbmV0 L2l4Z2JlL2l4Z2JlX2V0aGRldi5jDQo+IEBAIC0yNDAyLDYgKzI0MDIsMTAgQEAgaXhnYmVfZGV2 X2NvbmZpZ3VyZShzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldikNCj4gICAJaW50IHJldDsNCj4gICAN Cj4gICAJUE1EX0lOSVRfRlVOQ19UUkFDRSgpOw0KPiArDQo+ICsJaWYgKCEoZGV2LT5kYXRhLT5k ZXZfY29uZi5yeG1vZGUub2ZmbG9hZHMgJiBERVZfUlhfT0ZGTE9BRF9SU1NfSEFTSCkpDQo+ICsJ CWRldi0+ZGF0YS0+ZGV2X2NvbmYucnhtb2RlLm9mZmxvYWRzIHw9IERFVl9SWF9PRkZMT0FEX1JT U19IQVNIOw0KPiArDQo+ICAgCS8qIG11bHRpcGUgcXVldWUgbW9kZSBjaGVja2luZyAqLw0KPiAg IAlyZXQgID0gaXhnYmVfY2hlY2tfbXFfbW9kZShkZXYpOw0KPiAgIAlpZiAocmV0ICE9IDApIHsN Cj4gQEAgLTUxNDAsNiArNTE0NCw5IEBAIGl4Z2JldmZfZGV2X2NvbmZpZ3VyZShzdHJ1Y3QgcnRl X2V0aF9kZXYgKmRldikNCj4gICAJUE1EX0lOSVRfTE9HKERFQlVHLCAiQ29uZmlndXJlZCBWaXJ0 dWFsIEZ1bmN0aW9uIHBvcnQgaWQ6ICVkIiwNCj4gICAJCSAgICAgZGV2LT5kYXRhLT5wb3J0X2lk KTsNCj4gICANCj4gKwlpZiAoIShkZXYtPmRhdGEtPmRldl9jb25mLnJ4bW9kZS5vZmZsb2FkcyAm IERFVl9SWF9PRkZMT0FEX1JTU19IQVNIKSkNCj4gKwkJZGV2LT5kYXRhLT5kZXZfY29uZi5yeG1v ZGUub2ZmbG9hZHMgfD0gREVWX1JYX09GRkxPQURfUlNTX0hBU0g7DQo+ICsNCj4gICAJLyoNCj4g ICAJICogVkYgaGFzIG5vIGFiaWxpdHkgdG8gZW5hYmxlL2Rpc2FibGUgSFcgQ1JDDQo+ICAgCSAq IEtlZXAgdGhlIHBlcnNpc3RlbnQgYmVoYXZpb3IgdGhlIHNhbWUgYXMgSG9zdCBQRiBkaWZmIC0t Z2l0IA0KPiBhL2RyaXZlcnMvbmV0L2l4Z2JlL2l4Z2JlX3J4dHguYyBiL2RyaXZlcnMvbmV0L2l4 Z2JlL2l4Z2JlX3J4dHguYyANCj4gaW5kZXggZWRjZmE2MGNlLi5mYTU3MmQxODQgMTAwNjQ0DQo+ IC0tLSBhL2RyaXZlcnMvbmV0L2l4Z2JlL2l4Z2JlX3J4dHguYw0KPiArKysgYi9kcml2ZXJzL25l dC9peGdiZS9peGdiZV9yeHR4LmMNCj4gQEAgLTI4NzIsNyArMjg3Miw4IEBAIGl4Z2JlX2dldF9y eF9wb3J0X29mZmxvYWRzKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2KQ0KPiAgIAkJICAgREVWX1JY X09GRkxPQURfS0VFUF9DUkMgICAgfA0KPiAgIAkJICAgREVWX1JYX09GRkxPQURfSlVNQk9fRlJB TUUgfA0KPiAgIAkJICAgREVWX1JYX09GRkxPQURfVkxBTl9GSUxURVIgfA0KPiAtCQkgICBERVZf UlhfT0ZGTE9BRF9TQ0FUVEVSOw0KPiArCQkgICBERVZfUlhfT0ZGTE9BRF9TQ0FUVEVSIHwNCj4g KwkJICAgREVWX1JYX09GRkxPQURfUlNTX0hBU0g7DQo+ICAgDQo+ICAgCWlmIChody0+bWFjLnR5 cGUgPT0gaXhnYmVfbWFjXzgyNTk4RUIpDQo+ICAgCQlvZmZsb2FkcyB8PSBERVZfUlhfT0ZGTE9B RF9WTEFOX1NUUklQOyBkaWZmIC0tZ2l0IA0KPiBhL2RyaXZlcnMvbmV0L2xpcXVpZGlvL2xpb19l dGhkZXYuYyANCj4gYi9kcml2ZXJzL25ldC9saXF1aWRpby9saW9fZXRoZGV2LmMNCj4gaW5kZXgg ZWMwMTM0M2YxLi5kODczYjZmZjQgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0L2xpcXVpZGlv L2xpb19ldGhkZXYuYw0KPiArKysgYi9kcml2ZXJzL25ldC9saXF1aWRpby9saW9fZXRoZGV2LmMN Cj4gQEAgLTQxMiw3ICs0MTIsOCBAQCBsaW9fZGV2X2luZm9fZ2V0KHN0cnVjdCBydGVfZXRoX2Rl diAqZXRoX2RldiwNCj4gICAJZGV2aW5mby0+cnhfb2ZmbG9hZF9jYXBhID0gKERFVl9SWF9PRkZM T0FEX0lQVjRfQ0tTVU0JCXwNCj4gICAJCQkJICAgIERFVl9SWF9PRkZMT0FEX1VEUF9DS1NVTQkJ fA0KPiAgIAkJCQkgICAgREVWX1JYX09GRkxPQURfVENQX0NLU1VNCQl8DQo+IC0JCQkJICAgIERF Vl9SWF9PRkZMT0FEX1ZMQU5fU1RSSVApOw0KPiArCQkJCSAgICBERVZfUlhfT0ZGTE9BRF9WTEFO X1NUUklQCQl8DQo+ICsJCQkJICAgIERFVl9SWF9PRkZMT0FEX1JTU19IQVNIKTsNCj4gICAJZGV2 aW5mby0+dHhfb2ZmbG9hZF9jYXBhID0gKERFVl9UWF9PRkZMT0FEX0lQVjRfQ0tTVU0JCXwNCj4g ICAJCQkJICAgIERFVl9UWF9PRkZMT0FEX1VEUF9DS1NVTQkJfA0KPiAgIAkJCQkgICAgREVWX1RY X09GRkxPQURfVENQX0NLU1VNCQl8DQo+IEBAIC0xNzM1LDYgKzE3MzYsMTAgQEAgbGlvX2Rldl9j b25maWd1cmUoc3RydWN0IHJ0ZV9ldGhfZGV2ICpldGhfZGV2KQ0KPiAgIA0KPiAgIAlQTURfSU5J VF9GVU5DX1RSQUNFKCk7DQo+ICAgDQo+ICsJaWYgKCEoZXRoX2Rldi0+ZGF0YS0+ZGV2X2NvbmYu cnhtb2RlLm9mZmxvYWRzICYNCj4gKwkJCQkJCURFVl9SWF9PRkZMT0FEX1JTU19IQVNIKSkNCj4g KwkJZXRoX2Rldi0+ZGF0YS0+ZGV2X2NvbmYucnhtb2RlLm9mZmxvYWRzIHw9DQo+ICsJCQkJCQlE RVZfUlhfT0ZGTE9BRF9SU1NfSEFTSDsNCj4gICAJLyogSW5mb3JtIGZpcm13YXJlIGFib3V0IGNo YW5nZSBpbiBudW1iZXIgb2YgcXVldWVzIHRvIHVzZS4NCj4gICAJICogRGlzYWJsZSBJTyBxdWV1 ZXMgYW5kIHJlc2V0IHJlZ2lzdGVycyBmb3IgcmUtY29uZmlndXJhdGlvbi4NCj4gICAJICovDQo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9tbHg0L21seDQuYyBiL2RyaXZlcnMvbmV0L21seDQv bWx4NC5jIGluZGV4IA0KPiA5MzFlNGY0ZmUuLjZkZjJmNmY5MCAxMDA2NDQNCj4gLS0tIGEvZHJp dmVycy9uZXQvbWx4NC9tbHg0LmMNCj4gKysrIGIvZHJpdmVycy9uZXQvbWx4NC9tbHg0LmMNCj4g QEAgLTI0OCw2ICsyNDgsOSBAQCBtbHg0X2Rldl9jb25maWd1cmUoc3RydWN0IHJ0ZV9ldGhfZGV2 ICpkZXYpDQo+ICAgCXN0cnVjdCBydGVfZmxvd19lcnJvciBlcnJvcjsNCj4gICAJaW50IHJldDsN Cj4gICANCj4gKwlpZiAoIShkZXYtPmRhdGEtPmRldl9jb25mLnJ4bW9kZS5vZmZsb2FkICYgREVW X1JYX09GRkxPQURfUlNTX0hBU0gpKQ0KPiArCQlkZXYtPmRhdGEtPmRldl9jb25mLnJ4bW9kZS5v ZmZsb2FkIHw9IERFVl9SWF9PRkZMT0FEX1JTU19IQVNIOw0KPiArDQo+ICAgCS8qIFByZXBhcmUg aW50ZXJuYWwgZmxvdyBydWxlcy4gKi8NCj4gICAJcmV0ID0gbWx4NF9mbG93X3N5bmMocHJpdiwg JmVycm9yKTsNCj4gICAJaWYgKHJldCkgew0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvbWx4 NC9tbHg0X3J4cS5jIGIvZHJpdmVycy9uZXQvbWx4NC9tbHg0X3J4cS5jIA0KPiBpbmRleCBmNDVj MWZmODUuLjRhNmZiZDkyMiAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9uZXQvbWx4NC9tbHg0X3J4 cS5jDQo+ICsrKyBiL2RyaXZlcnMvbmV0L21seDQvbWx4NF9yeHEuYw0KPiBAQCAtNjg1LDcgKzY4 NSw4IEBAIG1seDRfZ2V0X3J4X3F1ZXVlX29mZmxvYWRzKHN0cnVjdCBtbHg0X3ByaXYgKnByaXYp ICB7DQo+ICAgCXVpbnQ2NF90IG9mZmxvYWRzID0gREVWX1JYX09GRkxPQURfU0NBVFRFUiB8DQo+ ICAgCQkJICAgIERFVl9SWF9PRkZMT0FEX0tFRVBfQ1JDIHwNCj4gLQkJCSAgICBERVZfUlhfT0ZG TE9BRF9KVU1CT19GUkFNRTsNCj4gKwkJCSAgICBERVZfUlhfT0ZGTE9BRF9KVU1CT19GUkFNRSB8 DQo+ICsJCQkgICAgREVWX1JYX09GRkxPQURfUlNTX0hBU0g7DQo+ICAgDQo+ICAgCWlmIChwcml2 LT5od19jc3VtKQ0KPiAgIAkJb2ZmbG9hZHMgfD0gREVWX1JYX09GRkxPQURfQ0hFQ0tTVU07IGRp ZmYgLS1naXQgDQo+IGEvZHJpdmVycy9uZXQvbWx4NS9tbHg1X2V0aGRldi5jIGIvZHJpdmVycy9u ZXQvbWx4NS9tbHg1X2V0aGRldi5jIA0KPiBpbmRleCAyMjc4YjI0YzAuLmU4N2Q1MmVhMSAxMDA2 NDQNCj4gLS0tIGEvZHJpdmVycy9uZXQvbWx4NS9tbHg1X2V0aGRldi5jDQo+ICsrKyBiL2RyaXZl cnMvbmV0L21seDUvbWx4NV9ldGhkZXYuYw0KPiBAQCAtNDA3LDYgKzQwNywxMCBAQCBtbHg1X2Rl dl9jb25maWd1cmUoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYpDQo+ICAgCQlydGVfZXJybm8gPSBF Tk9NRU07DQo+ICAgCQlyZXR1cm4gLXJ0ZV9lcnJubzsNCj4gICAJfQ0KPiArDQo+ICsJaWYgKCEo ZGV2LT5kYXRhLT5kZXZfY29uZi5yeG1vZGUub2ZmbG9hZCAmIERFVl9SWF9PRkZMT0FEX1JTU19I QVNIKSkNCj4gKwkJZGV2LT5kYXRhLT5kZXZfY29uZi5yeG1vZGUub2ZmbG9hZCB8PSBERVZfUlhf T0ZGTE9BRF9SU1NfSEFTSDsNCj4gKw0KPiAgIAltZW1jcHkocHJpdi0+cnNzX2NvbmYucnNzX2tl eSwNCj4gICAJICAgICAgIHVzZV9hcHBfcnNzX2tleSA/DQo+ICAgCSAgICAgICBkZXYtPmRhdGEt PmRldl9jb25mLnJ4X2Fkdl9jb25mLnJzc19jb25mLnJzc19rZXkgOg0KPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9uZXQvbWx4NS9tbHg1X3J4cS5jIGIvZHJpdmVycy9uZXQvbWx4NS9tbHg1X3J4cS5j IA0KPiBpbmRleCBmMGFiODQzOGQuLmM4ZTFmYzRiNiAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9u ZXQvbWx4NS9tbHg1X3J4cS5jDQo+ICsrKyBiL2RyaXZlcnMvbmV0L21seDUvbWx4NV9yeHEuYw0K PiBAQCAtMzY4LDcgKzM2OCw4IEBAIG1seDVfZ2V0X3J4X3F1ZXVlX29mZmxvYWRzKHN0cnVjdCBy dGVfZXRoX2RldiAqZGV2KQ0KPiAgIAlzdHJ1Y3QgbWx4NV9kZXZfY29uZmlnICpjb25maWcgPSAm cHJpdi0+Y29uZmlnOw0KPiAgIAl1aW50NjRfdCBvZmZsb2FkcyA9IChERVZfUlhfT0ZGTE9BRF9T Q0FUVEVSIHwNCj4gICAJCQkgICAgIERFVl9SWF9PRkZMT0FEX1RJTUVTVEFNUCB8DQo+IC0JCQkg ICAgIERFVl9SWF9PRkZMT0FEX0pVTUJPX0ZSQU1FKTsNCj4gKwkJCSAgICAgREVWX1JYX09GRkxP QURfSlVNQk9fRlJBTUUgfA0KPiArCQkJICAgICBERVZfUlhfT0ZGTE9BRF9SU1NfSEFTSCk7DQo+ ICAgDQo+ICAgCWlmIChjb25maWctPmh3X2Zjc19zdHJpcCkNCj4gICAJCW9mZmxvYWRzIHw9IERF Vl9SWF9PRkZMT0FEX0tFRVBfQ1JDOyBkaWZmIC0tZ2l0IA0KPiBhL2RyaXZlcnMvbmV0L25ldHZz Yy9obl9ldGhkZXYuYyBiL2RyaXZlcnMvbmV0L25ldHZzYy9obl9ldGhkZXYuYyANCj4gaW5kZXgg ZWVkOGRlY2U5Li41YzAyN2UxYTQgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0L25ldHZzYy9o bl9ldGhkZXYuYw0KPiArKysgYi9kcml2ZXJzL25ldC9uZXR2c2MvaG5fZXRoZGV2LmMNCj4gQEAg LTUzMiw2ICs1MzIsOSBAQCBzdGF0aWMgaW50IGhuX2Rldl9jb25maWd1cmUoc3RydWN0IHJ0ZV9l dGhfZGV2IA0KPiAqZGV2KQ0KPiAgIA0KPiAgIAlQTURfSU5JVF9GVU5DX1RSQUNFKCk7DQo+ICAg DQo+ICsJaWYgKCEocnhtb2RlLT5vZmZsb2FkcyAmIERFVl9SWF9PRkZMT0FEX1JTU19IQVNIKSkN Cj4gKwkJZGV2X2NvbmYtPnJ4bW9kZS5vZmZsb2FkcyB8PSBERVZfUlhfT0ZGTE9BRF9SU1NfSEFT SDsNCj4gKw0KPiAgIAl1bnN1cHBvcnRlZCA9IHR4bW9kZS0+b2ZmbG9hZHMgJiB+SE5fVFhfT0ZG TE9BRF9DQVBTOw0KPiAgIAlpZiAodW5zdXBwb3J0ZWQpIHsNCj4gICAJCVBNRF9EUlZfTE9HKE5P VElDRSwNCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L25ldHZzYy9obl9ybmRpcy5jIA0KPiBi L2RyaXZlcnMvbmV0L25ldHZzYy9obl9ybmRpcy5jIGluZGV4IGE2N2JjN2E3OS4uMmI0NzE0MDQy IDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL25ldC9uZXR2c2MvaG5fcm5kaXMuYw0KPiArKysgYi9k cml2ZXJzL25ldC9uZXR2c2MvaG5fcm5kaXMuYw0KPiBAQCAtODk3LDcgKzg5Nyw4IEBAIGludCBo bl9ybmRpc19nZXRfb2ZmbG9hZChzdHJ1Y3QgaG5fZGF0YSAqaHYsDQo+ICAgCSAgICA9PSBITl9O RElTX0xTT1YyX0NBUF9JUDYpDQo+ICAgCQlkZXZfaW5mby0+dHhfb2ZmbG9hZF9jYXBhIHw9IERF Vl9UWF9PRkZMT0FEX1RDUF9UU087DQo+ICAgDQo+IC0JZGV2X2luZm8tPnJ4X29mZmxvYWRfY2Fw YSA9IERFVl9SWF9PRkZMT0FEX1ZMQU5fU1RSSVA7DQo+ICsJZGV2X2luZm8tPnJ4X29mZmxvYWRf Y2FwYSA9IERFVl9SWF9PRkZMT0FEX1ZMQU5fU1RSSVAgfA0KPiArCQkJCSAgICBERVZfUlhfT0ZG TE9BRF9SU1NfSEFTSDsNCj4gICANCj4gICAJaWYgKGh3Y2Fwcy5uZGlzX2NzdW0ubmRpc19pcDRf cnhjc3VtICYgTkRJU19SWENTVU1fQ0FQX0lQNCkNCj4gICAJCWRldl9pbmZvLT5yeF9vZmZsb2Fk X2NhcGEgfD0gREVWX1JYX09GRkxPQURfSVBWNF9DS1NVTTsgZGlmZiAtLWdpdCANCj4gYS9kcml2 ZXJzL25ldC9uZnAvbmZwX25ldC5jIGIvZHJpdmVycy9uZXQvbmZwL25mcF9uZXQuYyBpbmRleCAN Cj4gMjJhOGIyZDE5Li5lMjg4YTdmN2UgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0L25mcC9u ZnBfbmV0LmMNCj4gKysrIGIvZHJpdmVycy9uZXQvbmZwL25mcF9uZXQuYw0KPiBAQCAtNDA3LDYg KzQwNyw5IEBAIG5mcF9uZXRfY29uZmlndXJlKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2KQ0KPiAg IAlyeG1vZGUgPSAmZGV2X2NvbmYtPnJ4bW9kZTsNCj4gICAJdHhtb2RlID0gJmRldl9jb25mLT50 eG1vZGU7DQo+ICAgDQo+ICsJaWYgKCEocnhtb2RlLT5vZmZsb2FkcyAmIERFVl9SWF9PRkZMT0FE X1JTU19IQVNIKSkNCj4gKwkJcnhtb2RlLT5vZmZsb2FkcyB8PSBERVZfUlhfT0ZGTE9BRF9SU1Nf SEFTSDsNCj4gKw0KPiAgIAkvKiBDaGVja2luZyBUWCBtb2RlICovDQo+ICAgCWlmICh0eG1vZGUt Pm1xX21vZGUpIHsNCj4gICAJCVBNRF9JTklUX0xPRyhJTkZPLCAiVFggbXFfbW9kZSBEQ0IgYW5k IFZNRHEgbm90IHN1cHBvcnRlZCIpOyBAQCAtMTIzNiw3ICsxMjM5LDggQEAgbmZwX25ldF9pbmZv c19nZXQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsIHN0cnVjdCBydGVfZXRoX2Rldl9pbmZvICpk ZXZfaW5mbykNCj4gICAJCQkJCSAgICAgREVWX1JYX09GRkxPQURfVURQX0NLU1VNIHwNCj4gICAJ CQkJCSAgICAgREVWX1JYX09GRkxPQURfVENQX0NLU1VNOw0KPiAgIA0KPiAtCWRldl9pbmZvLT5y eF9vZmZsb2FkX2NhcGEgfD0gREVWX1JYX09GRkxPQURfSlVNQk9fRlJBTUU7DQo+ICsJZGV2X2lu Zm8tPnJ4X29mZmxvYWRfY2FwYSB8PSBERVZfUlhfT0ZGTE9BRF9KVU1CT19GUkFNRSB8DQo+ICsJ CQkJICAgICBERVZfUlhfT0ZGTE9BRF9SU1NfSEFTSDsNCj4gICANCj4gICAJaWYgKGh3LT5jYXAg JiBORlBfTkVUX0NGR19DVFJMX1RYVkxBTikNCj4gICAJCWRldl9pbmZvLT50eF9vZmZsb2FkX2Nh cGEgPSBERVZfVFhfT0ZGTE9BRF9WTEFOX0lOU0VSVDsgZGlmZiAtLWdpdCANCj4gYS9kcml2ZXJz L25ldC9vY3Rlb250eDIvb3R4Ml9ldGhkZXYuYyANCj4gYi9kcml2ZXJzL25ldC9vY3Rlb250eDIv b3R4Ml9ldGhkZXYuYw0KPiBpbmRleCA2MjI5MWM2OTguLmQ2ZThhZTc0NSAxMDA2NDQNCj4gLS0t IGEvZHJpdmVycy9uZXQvb2N0ZW9udHgyL290eDJfZXRoZGV2LmMNCj4gKysrIGIvZHJpdmVycy9u ZXQvb2N0ZW9udHgyL290eDJfZXRoZGV2LmMNCj4gQEAgLTU3NSw3ICs1NzUsOCBAQCBuaXhfcnhf b2ZmbG9hZF9mbGFncyhzdHJ1Y3QgcnRlX2V0aF9kZXYgKmV0aF9kZXYpDQo+ICAgCXN0cnVjdCBy dGVfZXRoX3J4bW9kZSAqcnhtb2RlID0gJmNvbmYtPnJ4bW9kZTsNCj4gICAJdWludDE2X3QgZmxh Z3MgPSAwOw0KPiAgIA0KPiAtCWlmIChyeG1vZGUtPm1xX21vZGUgPT0gRVRIX01RX1JYX1JTUykN Cj4gKwlpZiAocnhtb2RlLT5tcV9tb2RlID09IEVUSF9NUV9SWF9SU1MgJiYNCj4gKwkJCShkZXYt PnJ4X29mZmxvYWRzICYgREVWX1JYX09GRkxPQURfUlNTX0hBU0gpKQ0KPiAgIAkJZmxhZ3MgfD0g TklYX1JYX09GRkxPQURfUlNTX0Y7DQo+ICAgDQo+ICAgCWlmIChkZXYtPnJ4X29mZmxvYWRzICYg KERFVl9SWF9PRkZMT0FEX1RDUF9DS1NVTSB8IGRpZmYgLS1naXQgDQo+IGEvZHJpdmVycy9uZXQv b2N0ZW9udHgyL290eDJfZXRoZGV2LmggDQo+IGIvZHJpdmVycy9uZXQvb2N0ZW9udHgyL290eDJf ZXRoZGV2LmgNCj4gaW5kZXggNGQ5ZWQ0ODcwLi5kNTgxMjQwZmUgMTAwNjQ0DQo+IC0tLSBhL2Ry aXZlcnMvbmV0L29jdGVvbnR4Mi9vdHgyX2V0aGRldi5oDQo+ICsrKyBiL2RyaXZlcnMvbmV0L29j dGVvbnR4Mi9vdHgyX2V0aGRldi5oDQo+IEBAIC0xMjIsOCArMTIyLDggQEANCj4gICAJREVWX1RY X09GRkxPQURfTVRfTE9DS0ZSRUUJfCBcDQo+ICAgCURFVl9UWF9PRkZMT0FEX1ZMQU5fSU5TRVJU CXwgXA0KPiAgIAlERVZfVFhfT0ZGTE9BRF9RSU5RX0lOU0VSVAl8IFwNCj4gLQlERVZfVFhfT0ZG TE9BRF9PVVRFUl9JUFY0X0NLU1VNIHwgXA0KPiAtCURFVl9UWF9PRkZMT0FEX09VVEVSX1VEUF9D S1NVTSAgfCBcDQo+ICsJREVWX1RYX09GRkxPQURfT1VURVJfSVBWNF9DS1NVTQl8IFwNCj4gKwlE RVZfVFhfT0ZGTE9BRF9PVVRFUl9VRFBfQ0tTVU0JfCBcDQo+ICAgCURFVl9UWF9PRkZMT0FEX1RD UF9DS1NVTQl8IFwNCj4gICAJREVWX1RYX09GRkxPQURfVURQX0NLU1VNCXwgXA0KPiAgIAlERVZf VFhfT0ZGTE9BRF9TQ1RQX0NLU1VNCXwgXA0KPiBAQCAtMTQwLDExICsxNDAsMTIgQEANCj4gICAJ REVWX1JYX09GRkxPQURfT1VURVJfSVBWNF9DS1NVTSB8IFwNCj4gICAJREVWX1JYX09GRkxPQURf U0NBVFRFUgkJfCBcDQo+ICAgCURFVl9SWF9PRkZMT0FEX0pVTUJPX0ZSQU1FCVBLVF9SWF9SU1Nf SEFTSHwgXA0KPiAtCURFVl9SWF9PRkZMT0FEX09VVEVSX1VEUF9DS1NVTSB8IFwNCj4gLQlERVZf UlhfT0ZGTE9BRF9WTEFOX1NUUklQIHwgXA0KPiAtCURFVl9SWF9PRkZMT0FEX1ZMQU5fRklMVEVS IHwgXA0KPiAtCURFVl9SWF9PRkZMT0FEX1FJTlFfU1RSSVAgfCBcDQo+IC0JREVWX1JYX09GRkxP QURfVElNRVNUQU1QKQ0KPiArCURFVl9SWF9PRkZMT0FEX09VVEVSX1VEUF9DS1NVTQl8IFwNCj4g KwlERVZfUlhfT0ZGTE9BRF9WTEFOX1NUUklQCXwgXA0KPiArCURFVl9SWF9PRkZMT0FEX1ZMQU5f RklMVEVSCXwgXA0KPiArCURFVl9SWF9PRkZMT0FEX1FJTlFfU1RSSVAJfCBcDQo+ICsJREVWX1JY X09GRkxPQURfVElNRVNUQU1QCXwgXA0KPiArCURFVl9SWF9PRkZMT0FEX1JTU19IQVNIKQ0KPiAg IA0KPiAgICNkZWZpbmUgTklYX0RFRkFVTFRfUlNTX0NUWF9HUk9VUCAgMA0KPiAgICNkZWZpbmUg TklYX0RFRkFVTFRfUlNTX01DQU1fSURYICAtMSBkaWZmIC0tZ2l0IA0KPiBhL2RyaXZlcnMvbmV0 L3FlZGUvcWVkZV9ldGhkZXYuYyBiL2RyaXZlcnMvbmV0L3FlZGUvcWVkZV9ldGhkZXYuYyANCj4g aW5kZXggNTNmZGZkZTlhLi44Y2RmMDRlYWYgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0L3Fl ZGUvcWVkZV9ldGhkZXYuYw0KPiArKysgYi9kcml2ZXJzL25ldC9xZWRlL3FlZGVfZXRoZGV2LmMN Cj4gQEAgLTExODIsNiArMTE4Miw5IEBAIHN0YXRpYyBpbnQgcWVkZV9kZXZfY29uZmlndXJlKHN0 cnVjdCBydGVfZXRoX2RldiANCj4gKmV0aF9kZXYpDQo+ICAgDQo+ICAgCVBNRF9JTklUX0ZVTkNf VFJBQ0UoZWRldik7DQo+ICAgDQo+ICsJaWYgKCEocnhtb2RlLT5vZmZsb2FkcyAmIERFVl9SWF9P RkZMT0FEX1JTU19IQVNIKSkNCj4gKwkJcnhtb2RlLT5vZmZsb2FkcyB8PSBERVZfUlhfT0ZGTE9B RF9SU1NfSEFTSDsNCj4gKw0KPiAgIAkvKiBXZSBuZWVkIHRvIGhhdmUgbWluIDEgUlggcXVldWUu VGhlcmUgaXMgbm8gbWluIGNoZWNrIGluDQo+ICAgCSAqIHJ0ZV9ldGhfZGV2X2NvbmZpZ3VyZSgp LCBzbyB3ZSBhcmUgY2hlY2tpbmcgaXQgaGVyZS4NCj4gICAJICovDQo+IEBAIC0xMzAyLDcgKzEz MDUsOCBAQCBxZWRlX2Rldl9pbmZvX2dldFBLVF9SWF9SU1NfSEFTSChzdHJ1Y3QgcnRlX2V0aF9k ZXYgKmV0aF9kZXYsDQo+ICAgCQkJCSAgICAgREVWX1JYX09GRkxPQURfU0NBVFRFUgl8DQo+ICAg CQkJCSAgICAgREVWX1JYX09GRkxPQURfSlVNQk9fRlJBTUUgfA0KPiAgIAkJCQkgICAgIERFVl9S WF9PRkZMT0FEX1ZMQU5fRklMVEVSIHwNCj4gLQkJCQkgICAgIERFVl9SWF9PRkZMT0FEX1ZMQU5f U1RSSVApOw0KPiArCQkJCSAgICAgREVWX1JYX09GRkxPQURfVkxBTl9TVFJJUCAgfA0KPiArCQkJ CSAgICAgREVWX1JYX09GRkxPQURfUlNTX0hBU0gpOw0KPiAgIAlkZXZfaW5mby0+cnhfcXVldWVf b2ZmbG9hZF9jYXBhID0gMDsNCj4gICANCj4gICAJLyogVFggb2ZmbG9hZHMgYXJlIG9uIGEgcGVy LXBhY2tldCBiYXNpcywgc28gaXQgaXMgYXBwbGljYWJsZSBkaWZmIA0KPiAtLWdpdCBhL2RyaXZl cnMvbmV0L3NmYy9zZmNfZWYxMF9lc3NiX3J4LmMgDQo+IGIvZHJpdmVycy9uZXQvc2ZjL3NmY19l ZjEwX2Vzc2JfcnguYw0KPiBpbmRleCA2M2RhODA3ZWEuLmQ5ZDJjZTZiZCAxMDA2NDQNCj4gLS0t IGEvZHJpdmVycy9uZXQvc2ZjL3NmY19lZjEwX2Vzc2JfcnguYw0KPiArKysgYi9kcml2ZXJzL25l dC9zZmMvc2ZjX2VmMTBfZXNzYl9yeC5jDQo+IEBAIC03MTUsNyArNzE1LDggQEAgc3RydWN0IHNm Y19kcF9yeCBzZmNfZWYxMF9lc3NiX3J4ID0gew0KPiAgIAl9LA0KPiAgIAkuZmVhdHVyZXMJCT0g U0ZDX0RQX1JYX0ZFQVRfRkxPV19GTEFHIHwNCj4gICAJCQkJICBTRkNfRFBfUlhfRkVBVF9GTE9X X01BUkssDQo+IC0JLmRldl9vZmZsb2FkX2NhcGEJPSBERVZfUlhfT0ZGTE9BRF9DSEVDS1NVTSwN Cj4gKwkuZGV2X29mZmxvYWRfY2FwYQk9IERFVl9SWF9PRkZMT0FEX0NIRUNLU1VNIHwNCj4gKwkJ CQkgIERFVl9SWF9PRkZMT0FEX1JTU19IQVNILA0KPiAgIAkucXVldWVfb2ZmbG9hZF9jYXBhCT0g MCwNCj4gICAJLmdldF9kZXZfaW5mbwkJPSBzZmNfZWYxMF9lc3NiX3J4X2dldF9kZXZfaW5mbywN Cj4gICAJLnBvb2xfb3BzX3N1cHBvcnRlZAk9IHNmY19lZjEwX2Vzc2JfcnhfcG9vbF9vcHNfc3Vw cG9ydGVkLA0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvc2ZjL3NmY19lZjEwX3J4LmMgDQo+ IGIvZHJpdmVycy9uZXQvc2ZjL3NmY19lZjEwX3J4LmMgaW5kZXggZjJmYzZlNzBhLi45ZTUyN2I3 ZmIgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0L3NmYy9zZmNfZWYxMF9yeC5jDQo+ICsrKyBi L2RyaXZlcnMvbmV0L3NmYy9zZmNfZWYxMF9yeC5jDQo+IEBAIC03OTYsNyArNzk2LDggQEAgc3Ry dWN0IHNmY19kcF9yeCBzZmNfZWYxMF9yeCA9IHsNCj4gICAJLmZlYXR1cmVzCQk9IFNGQ19EUF9S WF9GRUFUX01VTFRJX1BST0NFU1MgfA0KPiAgIAkJCQkgIFNGQ19EUF9SWF9GRUFUX0lOVFIsDQo+ ICAgCS5kZXZfb2ZmbG9hZF9jYXBhCT0gREVWX1JYX09GRkxPQURfQ0hFQ0tTVU0gfA0KPiAtCQkJ CSAgREVWX1JYX09GRkxPQURfT1VURVJfSVBWNF9DS1NVTSwNCj4gKwkJCQkgIERFVl9SWF9PRkZM T0FEX09VVEVSX0lQVjRfQ0tTVU0gfA0KPiArCQkJCSAgREVWX1JYX09GRkxPQURfUlNTX0hBU0gs DQo+ICAgCS5xdWV1ZV9vZmZsb2FkX2NhcGEJPSBERVZfUlhfT0ZGTE9BRF9TQ0FUVEVSLA0KPiAg IAkuZ2V0X2Rldl9pbmZvCQk9IHNmY19lZjEwX3J4X2dldF9kZXZfaW5mbywNCj4gICAJLnFzaXpl X3VwX3JpbmdzCQk9IHNmY19lZjEwX3J4X3FzaXplX3VwX3JpbmdzLA0KPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9uZXQvc2ZjL3NmY19yeC5jIGIvZHJpdmVycy9uZXQvc2ZjL3NmY19yeC5jIGluZGV4 IA0KPiBlNjgwOWJiNjQuLjEwZmExZTVmZiAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9uZXQvc2Zj L3NmY19yeC5jDQo+ICsrKyBiL2RyaXZlcnMvbmV0L3NmYy9zZmNfcnguYw0KPiBAQCAtNjE3LDcg KzYxNyw4IEBAIHN0cnVjdCBzZmNfZHBfcnggc2ZjX2VmeF9yeCA9IHsNCj4gICAJCS5od19md19j YXBzCT0gMCwNCj4gICAJfSwNCj4gICAJLmZlYXR1cmVzCQk9IFNGQ19EUF9SWF9GRUFUX0lOVFIs DQo+IC0JLmRldl9vZmZsb2FkX2NhcGEJPSBERVZfUlhfT0ZGTE9BRF9DSEVDS1NVTSwNCj4gKwku ZGV2X29mZmxvYWRfY2FwYQk9IERFVl9SWF9PRkZMT0FEX0NIRUNLU1VNIHwNCj4gKwkJCQkgIERF Vl9SWF9PRkZMT0FEX1JTU19IQVNILA0KPiAgIAkucXVldWVfb2ZmbG9hZF9jYXBhCT0gREVWX1JY X09GRkxPQURfU0NBVFRFUiwNCj4gICAJLnFzaXplX3VwX3JpbmdzCQk9IHNmY19lZnhfcnhfcXNp emVfdXBfcmluZ3MsDQo+ICAgCS5xY3JlYXRlCQk9IHNmY19lZnhfcnhfcWNyZWF0ZSwNCj4gQEAg LTE1NTYsNiArMTU1NywxMCBAQCBzZmNfcnhfY2hlY2tfbW9kZShzdHJ1Y3Qgc2ZjX2FkYXB0ZXIg KnNhLCBzdHJ1Y3QgcnRlX2V0aF9yeG1vZGUgKnJ4bW9kZSkNCj4gICAJCXJ4bW9kZS0+b2ZmbG9h ZHMgfD0gREVWX1JYX09GRkxPQURfT1VURVJfSVBWNF9DS1NVTTsNCj4gICAJfQ0KPiAgIA0KPiAr CWlmICgob2ZmbG9hZHNfc3VwcG9ydGVkICYgREVWX1JYX09GRkxPQURfUlNTX0hBU0gpICYmDQo+ ICsJICAgICh+cnhtb2RlLT5vZmZsb2FkcyAmIERFVl9SWF9PRkZMT0FEX1JTU19IQVNIKSkNCj4g KwkJcnhtb2RlLT5vZmZsb2FkcyB8PSBERVZfUlhfT0ZGTE9BRF9SU1NfSEFTSDsNCj4gKw0KPiAg IAlyZXR1cm4gcmM7DQo+ICAgfQ0KPiAgIA0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdGh1 bmRlcngvbmljdmZfZXRoZGV2LmMgDQo+IGIvZHJpdmVycy9uZXQvdGh1bmRlcngvbmljdmZfZXRo ZGV2LmMNCj4gaW5kZXggYjkzZDQ1NzEyLi4yOGVlM2U0NmQgMTAwNjQ0DQo+IC0tLSBhL2RyaXZl cnMvbmV0L3RodW5kZXJ4L25pY3ZmX2V0aGRldi5jDQo+ICsrKyBiL2RyaXZlcnMvbmV0L3RodW5k ZXJ4L25pY3ZmX2V0aGRldi5jDQo+IEBAIC0xOTIwLDYgKzE5MjAsOSBAQCBuaWN2Zl9kZXZfY29u ZmlndXJlKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2KQ0KPiAgIA0KPiAgIAlQTURfSU5JVF9GVU5D X1RSQUNFKCk7DQo+ICAgDQo+ICsJaWYgKCEocnhtb2RlLT5vZmZsb2FkcyAmIERFVl9SWF9PRkZM T0FEX1JTU19IQVNIKSkNCj4gKwkJcnhtb2RlLT5vZmZsb2FkcyB8PSBERVZfUlhfT0ZGTE9BRF9S U1NfSEFTSDsNCj4gKw0KPiAgIAlpZiAoIXJ0ZV9lYWxfaGFzX2h1Z2VwYWdlcygpKSB7DQo+ICAg CQlQTURfSU5JVF9MT0coSU5GTywgIkh1Z2UgcGFnZSBpcyBub3QgY29uZmlndXJlZCIpOw0KPiAg IAkJcmV0dXJuIC1FSU5WQUw7DQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC90aHVuZGVyeC9u aWN2Zl9ldGhkZXYuaCANCj4gYi9kcml2ZXJzL25ldC90aHVuZGVyeC9uaWN2Zl9ldGhkZXYuaA0K PiBpbmRleCBjMGJmYmY4NDguLjM5MTQxMTc5OSAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9uZXQv dGh1bmRlcngvbmljdmZfZXRoZGV2LmgNCj4gKysrIGIvZHJpdmVycy9uZXQvdGh1bmRlcngvbmlj dmZfZXRoZGV2LmgNCj4gQEAgLTQxLDcgKzQxLDggQEANCj4gICAJREVWX1JYX09GRkxPQURfQ0hF Q0tTVU0gICAgfCBcDQo+ICAgCURFVl9SWF9PRkZMT0FEX1ZMQU5fU1RSSVAgIHwgXA0KPiAgIAlE RVZfUlhfT0ZGTE9BRF9KVU1CT19GUkFNRSB8IFwNCj4gLQlERVZfUlhfT0ZGTE9BRF9TQ0FUVEVS KQ0KPiArCURFVl9SWF9PRkZMT0FEX1NDQVRURVIgICAgIHwgXA0KPiArCURFVl9SWF9PRkZMT0FE X1JTU19IQVNIKQ0KPiAgIA0KPiAgICNkZWZpbmUgTklDVkZfREVGQVVMVF9SWF9GUkVFX1RIUkVT SCAgICAyMjQNCj4gICAjZGVmaW5lIE5JQ1ZGX0RFRkFVTFRfVFhfRlJFRV9USFJFU0ggICAgMjI0 DQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC92bXhuZXQzL3ZteG5ldDNfZXRoZGV2LmMgDQo+ IGIvZHJpdmVycy9uZXQvdm14bmV0My92bXhuZXQzX2V0aGRldi5jDQo+IGluZGV4IGQxZmFlYWE4 MS4uNWVmNmFkNDNjIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL25ldC92bXhuZXQzL3ZteG5ldDNf ZXRoZGV2LmMNCj4gKysrIGIvZHJpdmVycy9uZXQvdm14bmV0My92bXhuZXQzX2V0aGRldi5jDQo+ IEBAIC01Niw3ICs1Niw4IEBADQo+ICAgCSBERVZfUlhfT0ZGTE9BRF9VRFBfQ0tTVU0gfAlcDQo+ ICAgCSBERVZfUlhfT0ZGTE9BRF9UQ1BfQ0tTVU0gfAlcDQo+ICAgCSBERVZfUlhfT0ZGTE9BRF9U Q1BfTFJPIHwJXA0KPiAtCSBERVZfUlhfT0ZGTE9BRF9KVU1CT19GUkFNRSkNCj4gKwkgREVWX1JY X09GRkxPQURfSlVNQk9fRlJBTUUgfCAgIFwNCj4gKwkgREVWX1JYX09GRkxPQURfUlNTX0hBU0gp DQo+ICAgDQo+ICAgc3RhdGljIGludCBldGhfdm14bmV0M19kZXZfaW5pdChzdHJ1Y3QgcnRlX2V0 aF9kZXYgKmV0aF9kZXYpOyAgDQo+IHN0YXRpYyBpbnQgZXRoX3ZteG5ldDNfZGV2X3VuaW5pdChz dHJ1Y3QgcnRlX2V0aF9kZXYgKmV0aF9kZXYpOyBAQCANCj4gLTQwNyw2ICs0MDgsOSBAQCB2bXhu ZXQzX2Rldl9jb25maWd1cmUoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYpDQo+ICAgDQo+ICAgCVBN RF9JTklUX0ZVTkNfVFJBQ0UoKTsNCj4gICANCj4gKwlpZiAoIShkZXYtPmRhdGEtPmRldl9jb25m LnJ4bW9kZS5vZmZsb2FkcyAmIERFVl9SWF9PRkZMT0FEX1JTU19IQVNIKSkNCj4gKwkJZGV2LT5k YXRhLT5kZXZfY29uZi5yeG1vZGUub2ZmbG9hZHMgfD0gREVWX1JYX09GRkxPQURfUlNTX0hBU0g7 DQo+ICsNCj4gICAJaWYgKGRldi0+ZGF0YS0+bmJfdHhfcXVldWVzID4gVk1YTkVUM19NQVhfVFhf UVVFVUVTIHx8DQo+ICAgCSAgICBkZXYtPmRhdGEtPm5iX3J4X3F1ZXVlcyA+IFZNWE5FVDNfTUFY X1JYX1FVRVVFUykgew0KPiAgIAkJUE1EX0lOSVRfTE9HKEVSUiwgIkVSUk9SOiBOdW1iZXIgb2Yg cXVldWVzIG5vdCBzdXBwb3J0ZWQiKTsNCj4gLS0NCj4gMi4xNy4xDQo+DQoNCg0K