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 A07A8A0546 for ; Fri, 14 Feb 2020 08:23:12 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 566404C99; Fri, 14 Feb 2020 08:23:12 +0100 (CET) Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-eopbgr40044.outbound.protection.outlook.com [40.107.4.44]) by dpdk.org (Postfix) with ESMTP id 31DCC4C99 for ; Fri, 14 Feb 2020 08:23:11 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RP5eIIlUZWf0BscruJvZSjtSIRK8zHwEzTCYXpNd5tOCMEXg7EyiXmt8dRMs6SbICHG3POVJDxC5/9CB59Ze5p3v63kflutx4bk9jg7VBTFaAzSBpGtq3ULrKWJN0+RNKhkA58lL4ZrBJ2E4zB+MAWG4pwOYRhIL/2ZyrFFB+qw+poDcAvEOMUNBKUen12dXALgaVE/2ZPQcf9yIudZimO35VE/j95AKWEiLeMpnK6n0rqNVsy8cAkVWdPeRzpkkKXt/lyILlYJtT8MErRXlpaqyyQTybSYVC5qc60BpaL95AfZO1tn89aL5xT1KELWJGyAHOJoR2av1RixiTvJoxQ== 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=f8zzTEtQrqcNOi5j7LmtDkxeNvamkdgo7sSJ6ORVys8=; b=VByRWVhuWPOj/y3UeoIWXKq4rqfcAS0rU6trW3uKLGw+pcLwHZ71hZ9Ki+J8y6qaQ+gCfcB4Xcz29RG/HHJXKUhEC0p1sJVzrwadeNtHzrh5hzt4QlBKdyNeFF7rYaq3yAf7S50tXoifpR+gv2AXa1vPiompHILFIqc8H7cc3efK5Mwq5gVjf2o48FVcMckpu9V+IRudjhewasVcOUMrcPsigjzHqzk3tkrgwX5IN7bdzuqbqt9iZW/vN4aYUdQg54uGVokKMrua3gPfOk4Hbp8EF0z58voQRI91jHU+NVTkO65KPAJWDmvEJeVCo7v+Ojod4oUfYLzfNr7GK89C5Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com; dkim=pass header.d=mellanox.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=f8zzTEtQrqcNOi5j7LmtDkxeNvamkdgo7sSJ6ORVys8=; b=JZQP7nYRRTomg0TZg3CcYq7x7KvSaXUTK4MMv9jscQ3I53fPHEWFXfdc00mNzR4yOx6XarR0hmCFja0WtPy93ig9A2iiCbXaBtbaBYuEqquhwO4bvCdu/C/EvrHeeSlDgj267eCQ7eqtksVood3qIjZLR+GOmaSIyWoG19aA6aE= Received: from VI1PR05MB4192.eurprd05.prod.outlook.com (10.171.183.18) by VI1PR05MB5872.eurprd05.prod.outlook.com (20.178.125.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2729.25; Fri, 14 Feb 2020 07:23:08 +0000 Received: from VI1PR05MB4192.eurprd05.prod.outlook.com ([fe80::44e:faeb:1967:44]) by VI1PR05MB4192.eurprd05.prod.outlook.com ([fe80::44e:faeb:1967:44%7]) with mapi id 15.20.2729.025; Fri, 14 Feb 2020 07:23:08 +0000 From: Bing Zhao To: Luca Boccassi , Dekel Peled CC: Ori Kam , Slava Ovsiienko , dpdk stable Thread-Topic: patch 'net/mlx5: fix modify actions support limitation' has been queued to stable release 19.11.1 Thread-Index: AQHV4M7HneCBrhy0VE60C8RkM8wOW6gV/YAggAAOZACAAstLkIAACVIAgAAHO0CAAIFRgIAA5HWA Date: Fri, 14 Feb 2020 07:23:08 +0000 Message-ID: References: <20200211112216.3929-1-luca.boccassi@gmail.com> <20200211112216.3929-122-luca.boccassi@gmail.com> <31aed464aa917104b0a57c6a32870e67a15a60ba.camel@gmail.com> <917cb38f08006ad7ce3e05fd1fb9ed90e46aaad6.camel@gmail.com> In-Reply-To: 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=bingz@mellanox.com; x-originating-ip: [122.235.209.77] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 80fc31cb-61b0-4c99-3ba4-08d7b11ebd81 x-ms-traffictypediagnostic: VI1PR05MB5872:|VI1PR05MB5872: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-forefront-prvs: 03137AC81E x-forefront-antispam-report: SFV:NSPM; SFS:(10001)(10009020)(4636009)(376002)(136003)(346002)(39860400002)(366004)(396003)(199004)(189003)(966005)(7696005)(5660300002)(45080400002)(33656002)(316002)(8676002)(66446008)(52536014)(478600001)(66476007)(64756008)(66556008)(6636002)(6506007)(53546011)(66946007)(71200400001)(55016002)(76116006)(2906002)(86362001)(30864003)(81156014)(81166006)(186003)(26005)(54906003)(9686003)(8936002)(4326008)(110136005)(569007); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR05MB5872; H:VI1PR05MB4192.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-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: j4JpXqfN00/+RS+CuqXvC+klBJUwhqbWeH6I4jwhJx8tEt/GiydmzXfpEl7wfvj3Y5mrosw7uS6TyLi6Y56nE3HCUpk4WTkYAeBqjG+SPGnzirgvurDFCVNV+tLD32NbdCqW/sAlfZARLxiTrwybY5Dg+bdYKW/I4sl/Hb0p1Lf2Dsg77JDxtfdYhlPVa/VD/2pS4C2OFGp3KGfWxX/NDFIAsFoqZIMQOyjHcDfU3v/tkrZajCgzoDe1F7Q8XlgVbtptIh216Wyo1s8fULDo7rdpe+qtDMMlIUOS54SeBxXqFaNWpF0CzluUJJSN0t49mZk2VkIUOBMJilr9NQcgOtjlExm4bOGmAdD0BhItaHSo9EKpiOY9KzCy26KRzJebcFfFNQvaKAAmCR1BoG59JyMsh1j/4l+/QRd8wUOVj3ZjMH9K/8Pf6AgvbkR76DNFleG+hrfKuXW6b86rO0PLkGBEQore/kYlbhgG/EpwHqhv6xEiqedypwdoLAoPLeF5HiDOBnhXLGakCNeyxPCJVIpO/roFZpOKMs6H9iiipGAetZ5gAOTOEJkPzsEtDc6w9NLfPX8d83jM0hfWSDsArFnGSPRUQHOJwpyfgbGoabDak57QG8nVunPL68ICv5KHkJSGO7pe4PfIECa252TTsyguexC+BYJlwIXFSmFrLko= x-ms-exchange-antispam-messagedata: nz6owlgegvPh+Uis+uAxS0PifZND3CE8ZXDDpdkXMO7Gn5/ctt+wwb5TKOIJbyYqMi+8sRKRzltfMHV5CKUauDVVge2Tc91lr4RDaWL0HiIlQtZAhdKIdxeH47JyVHBz6QE3cSbtT3DosYDl258NQw== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 80fc31cb-61b0-4c99-3ba4-08d7b11ebd81 X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Feb 2020 07:23:08.1413 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: IayActKVp27kE6FCW/2/tyIzp7YgrJ0jthrl4E0hlOUjDB6kuFfK5+qYPlbEHFXp8ANWfPOGFbkcTteP04bvCg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR05MB5872 Subject: Re: [dpdk-stable] patch 'net/mlx5: fix modify actions support limitation' has been queued to stable release 19.11.1 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" SGkgTHVjYSwNCg0KVGhhbmtzIGEgbG90fg0KDQpCUi4gQmluZw0KDQo+IC0tLS0tT3JpZ2luYWwg TWVzc2FnZS0tLS0tDQo+IEZyb206IEx1Y2EgQm9jY2Fzc2kgPGx1Y2EuYm9jY2Fzc2lAZ21haWwu Y29tPg0KPiBTZW50OiBGcmlkYXksIEZlYnJ1YXJ5IDE0LCAyMDIwIDE6NDUgQU0NCj4gVG86IEJp bmcgWmhhbyA8YmluZ3pAbWVsbGFub3guY29tPjsgRGVrZWwgUGVsZWQNCj4gPGRla2VscEBtZWxs YW5veC5jb20+DQo+IENjOiBPcmkgS2FtIDxvcmlrYUBtZWxsYW5veC5jb20+OyBTbGF2YSBPdnNp aWVua28NCj4gPHZpYWNoZXNsYXZvQG1lbGxhbm94LmNvbT47IGRwZGsgc3RhYmxlIDxzdGFibGVA ZHBkay5vcmc+DQo+IFN1YmplY3Q6IFJlOiBwYXRjaCAnbmV0L21seDU6IGZpeCBtb2RpZnkgYWN0 aW9ucyBzdXBwb3J0IGxpbWl0YXRpb24nIGhhcw0KPiBiZWVuIHF1ZXVlZCB0byBzdGFibGUgcmVs ZWFzZSAxOS4xMS4xDQo+IA0KPiBIaSwNCj4gDQo+IFRoYXQgcGF0Y2ggaXMgbm90IHlldCBpbiBt YXN0ZXIuIEl0IHdhcyBDQydlZCBmb3Igc3RhYmxlLCBzbyBpdCB3aWxsIGJlDQo+IHBpY2tlZCB1 cCB3aGVuIGl0J3MgbWVyZ2VkIGluIG1hc3Rlci4NCj4gDQo+IE9uIFRodSwgMjAyMC0wMi0xMyBh dCAxMToyMyArMDAwMCwgQmluZyBaaGFvIHdyb3RlOg0KPiA+IEhpIEx1Y2EsDQo+ID4NCj4gPiBJ IG1lYW4gdGhpcyBwYXRjaDoNCj4gPg0KPiBodHRwczovL2V1cjAzLnNhZmVsaW5rcy5wcm90ZWN0 aW9uLm91dGxvb2suY29tLz91cmw9aHR0cCUzQSUyRiUyRg0KPiBwYXRjaA0KPiA+DQo+IGVzLmRw ZGsub3JnJTJGcGF0Y2glMkY2NTU3NCUyRiZhbXA7ZGF0YT0wMiU3QzAxJTdDYmluZ3olNDANCj4g bWVsbGFub3guY29tDQo+ID4gJTdDMGQxZjkzYTlhYzY4NDk3MzYyNzUwOGQ3YjBhYzc5YzYlN0Nh NjUyOTcxYzdkMmU0ZDliYTYNCj4gYTRkMTQ5MjU2ZjQ2MWINCj4gPiAlN0MwJTdDMCU3QzYzNzE3 MjEyNzE1MjQ4NTQwMiZhbXA7c2RhdGE9dHllSkVOJTJCV2l5Y0thDQo+IDFtNnZJZVh5NkdRSU85 Tw0KPiA+IHZNUG1ZOVBBMm5OeDRUZyUzRCZhbXA7cmVzZXJ2ZWQ9MA0KPiA+DQo+ID4NCj4gPiBU aGFuayB5b3UuDQo+ID4NCj4gPiBCUi4gQmluZw0KPiA+DQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1l c3NhZ2UtLS0tLQ0KPiA+ID4gRnJvbTogTHVjYSBCb2NjYXNzaSA8DQo+ID4gPiBsdWNhLmJvY2Nh c3NpQGdtYWlsLmNvbQ0KPiA+ID4gPg0KPiA+ID4gU2VudDogVGh1cnNkYXksIEZlYnJ1YXJ5IDEz LCAyMDIwIDU6MzYgUE0NCj4gPiA+IFRvOiBCaW5nIFpoYW8gPA0KPiA+ID4gYmluZ3pAbWVsbGFu b3guY29tDQo+ID4gPiA+DQo+ID4gPiBDYzogT3JpIEthbSA8DQo+ID4gPiBvcmlrYUBtZWxsYW5v eC5jb20NCj4gPiA+ID47IFNsYXZhIE92c2lpZW5rbw0KPiA+ID4gPA0KPiA+ID4gdmlhY2hlc2xh dm9AbWVsbGFub3guY29tDQo+ID4gPiA+OyBkcGRrIHN0YWJsZSA8DQo+ID4gPiBzdGFibGVAZHBk ay5vcmcNCj4gPiA+ID4NCj4gPiA+IFN1YmplY3Q6IFJlOiBwYXRjaCAnbmV0L21seDU6IGZpeCBt b2RpZnkgYWN0aW9ucyBzdXBwb3J0IGxpbWl0YXRpb24nDQo+ID4gPiBoYXMgYmVlbiBxdWV1ZWQg dG8gc3RhYmxlIHJlbGVhc2UgMTkuMTEuMQ0KPiA+ID4NCj4gPiA+IEhpLA0KPiA+ID4NCj4gPiA+ IFRoYW5rIHlvdS4gU29ycnksIHdoYXQgZG8geW91IG1lYW4gYnkgIzY1NTc0Pw0KPiA+ID4NCj4g PiA+IE9uIFRodSwgMjAyMC0wMi0xMyBhdCAwOTowNiArMDAwMCwgQmluZyBaaGFvIHdyb3RlOg0K PiA+ID4gPiBIaSBMdWNhLA0KPiA+ID4gPiBJIGNoZWNrZWQgdGhlIHBhdGNoIGFuZCBpdCBpcyBP SyBmb3IgbWUuDQo+ID4gPiA+IEFmdGVyIHRoaXMgaXMgYXBwbGllZCwgdGhlbiBwYXRjaCAjNjU1 NzQgaXMgYWxzbyBuZWVkZWQgZm9yDQo+ID4gPiA+IDE5LjExLjEuDQo+ID4gPiA+DQo+ID4gPiA+ IFNvIG1hbnkgdGhhbmtzIGZvciB5b3VyIGhlbHAuDQo+ID4gPiA+DQo+ID4gPiA+IEJSLiBCaW5n DQo+ID4gPiA+DQo+ID4gPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4g PiBGcm9tOiBMdWNhIEJvY2Nhc3NpIDwNCj4gPiA+ID4gPiBsdWNhLmJvY2Nhc3NpQGdtYWlsLmNv bQ0KPiA+ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBTZW50OiBUdWVzZGF5LCBGZWJydWFy eSAxMSwgMjAyMCAxMDoyMyBQTQ0KPiA+ID4gPiA+IFRvOiBCaW5nIFpoYW8gPA0KPiA+ID4gPiA+ IGJpbmd6QG1lbGxhbm94LmNvbQ0KPiA+ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBDYzog T3JpIEthbSA8DQo+ID4gPiA+ID4gb3Jpa2FAbWVsbGFub3guY29tDQo+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+IDsgU2xhdmEgT3ZzaWllbmtvDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiA8DQo+ID4gPiA+ ID4gdmlhY2hlc2xhdm9AbWVsbGFub3guY29tDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IDsgZHBk ayBzdGFibGUgPA0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gc3RhYmxlQGRwZGsub3JnDQo+ID4gPiA+ ID4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IFN1YmplY3Q6IFJlOiBwYXRjaCAnbmV0L21seDU6IGZp eCBtb2RpZnkgYWN0aW9ucyBzdXBwb3J0DQo+ID4gPiA+ID4gbGltaXRhdGlvbicNCj4gPiA+ID4g PiBoYXMgYmVlbiBxdWV1ZWQgdG8gc3RhYmxlIHJlbGVhc2UgMTkuMTEuMQ0KPiA+ID4gPiA+DQo+ ID4gPiA+ID4gSGksDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBUaGUgcmViYXNpbmcgaXMgZG9uZSBh bmQgeW91IGNhbiBzZWUgdGhlIHJlc3VsdCBpbiB0aGUgbWFpbCB5b3UNCj4gPiA+ID4gPiByZXBs aWVkIHRvLg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gVGhlIG5ldyAxOS4xMSBicmFuY2ggd2lsbCBi ZSBwdXNoZWQgYnkgdGhlIGVuZCBvZiB0aGUgd2Vlay4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IE9u IFR1ZSwgMjAyMC0wMi0xMSBhdCAxMzo0OCArMDAwMCwgQmluZyBaaGFvIHdyb3RlOg0KPiA+ID4g PiA+ID4gSGkgTHVjYSwNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBNYW55IHRoYW5rcyBmb3Ig eW91ciBoZWxwLg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IFllcywgdGhpcyBuZWVkcyB0byBi ZSBhbHNvIGFwcGxpZWQgdG8gdGhlIDE5LjExIHN0YWJsZSBicmFuY2guDQo+ID4gPiA+ID4gPiBJ IHdhbnQgdG8gcmViYXNlIGl0IGJ1dCBjb3VsZCBub3QgZmluZCB0aGUgYnJhbmNoIGluDQo+ID4g PiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+DQo+ID4gPg0KPiBodHRwczovL2V1 cjAzLnNhZmVsaW5rcy5wcm90ZWN0aW9uLm91dGxvb2suY29tLz91cmw9aHR0cCUzQSUyRiUyRmcN Cj4gPiA+DQo+ID4gPiA+ID4gaXQuZA0KPiA+ID4gPiA+ID4gcGRrLm9yZyUyRmRwZGstDQo+ID4g PiA+ID4NCj4gPiA+ID4gPg0KPiBzdGFibGUlMkYmYW1wO2RhdGE9MDIlN0MwMSU3Q2Jpbmd6JTQw bWVsbGFub3guY29tJTdDODg4DQo+ID4gPiA+ID4NCj4gPiA+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ IGM0ZmEyZDJiMjQyYzkzZWJjMDhkN2FlZmRlNGUxJTdDYTY1Mjk3MWM3ZDJlNGQ5YmE2YTRkMTQ5 MjU2DQo+ID4gPiA+ID4gZjQ2MWIlN0MwJTcNCj4gPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPg0K PiA+ID4NCj4gQzAlN0M2MzcxNzAyNzc4MDQ1NjYzMjEmYW1wO3NkYXRhPVlNVGFlZFJSM0x2N09L ZCUyRnZoRUoNCj4gPiA+ID4gPiA1Q1hPSjlvSFUzaCUyQg0KPiA+ID4gPiA+ID4gZWk0cW92MHg2 UkElM0QmYW1wO3Jlc2VydmVkPTANCj4gPiA+ID4gPiA+ICAsIHNvIHdvdWxkIHlvdSBwbGVhc2Ug c2hhcmUgbWUgdGhlDQo+ID4gPiA+ID4gPiBicmFuY2ggaW5mb3JtYXRpb24gdGhlbiBJIGNhbiB0 cnkgdG8gZmluaXNoIHRoZSByZWJhc2luZw0KPiA+ID4gPiA+ID4gdG9kYXkgb3INCj4gPiA+ID4g PiA+IGVhcmx5IHRvbW9ycm93Lg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IEJSLiBCaW5nDQo+ ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ ID4gPiA+ID4gPiBGcm9tOg0KPiA+ID4gPiA+ID4gPiBsdWNhLmJvY2Nhc3NpQGdtYWlsLmNvbQ0K PiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiAgPA0KPiA+ID4gPiA+ ID4gPiBsdWNhLmJvY2Nhc3NpQGdtYWlsLmNvbQ0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4g Pg0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiBTZW50OiBUdWVzZGF5LCBGZWJydWFyeSAx MSwgMjAyMCA3OjIxIFBNDQo+ID4gPiA+ID4gPiA+IFRvOiBCaW5nIFpoYW8gPA0KPiA+ID4gPiA+ ID4gPiBiaW5nekBtZWxsYW5veC5jb20NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4NCj4g PiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gQ2M6IE9yaSBLYW0gPA0KPiA+ID4gPiA+ID4gPiBv cmlrYUBtZWxsYW5veC5jb20NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4g PiA+ID4gPiA7IFNsYXZhIE92c2lpZW5rbw0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA8 DQo+ID4gPiA+ID4gPiA+IHZpYWNoZXNsYXZvQG1lbGxhbm94LmNvbQ0KPiA+ID4gPiA+ID4gPg0K PiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+IDsgZHBkayBzdGFibGUgPA0KPiA+ID4gPiA+ ID4gPg0KPiA+ID4gPiA+ID4gPiBzdGFibGVAZHBkay5vcmcNCj4gPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gU3ViamVjdDogcGF0Y2ggJ25l dC9tbHg1OiBmaXggbW9kaWZ5IGFjdGlvbnMgc3VwcG9ydA0KPiA+ID4gPiA+ID4gPiBsaW1pdGF0 aW9uJw0KPiA+ID4gPiA+ID4gPiBoYXMNCj4gPiA+ID4gPiA+ID4gYmVlbiBxdWV1ZWQgdG8gc3Rh YmxlIHJlbGVhc2UgMTkuMTEuMQ0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiBIaSwNCj4g PiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gRllJLCB5b3VyIHBhdGNoIGhhcyBiZWVuIHF1ZXVl ZCB0byBzdGFibGUgcmVsZWFzZSAxOS4xMS4xDQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ IE5vdGUgaXQgaGFzbid0IGJlZW4gcHVzaGVkIHRvDQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4N Cj4gPiA+ID4gPg0KPiA+ID4NCj4gPiA+DQo+IGh0dHBzOi8vZXVyMDMuc2FmZWxpbmtzLnByb3Rl Y3Rpb24ub3V0bG9vay5jb20vP3VybD1odHRwJTNBJTJGJTJGDQo+ID4gPg0KPiA+ID4gPiA+ID4g PiBkcGRrLm9yZyUyRmJyb3dzZSUyRmRwZGstDQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4NCj4g PiA+ID4gPg0KPiA+ID4NCj4gPiA+DQo+IHN0YWJsZSZhbXA7ZGF0YT0wMiU3QzAxJTdDYmluZ3ol NDBtZWxsYW5veC5jb20lN0NmMzFkMjBhYzhjDQo+ID4gPiA+ID4NCj4gPiA+DQo+ID4gPg0KPiA0 ZTQyNzM4NmExMDhkN2FlZTVlOGMyJTdDYTY1Mjk3MWM3ZDJlNGQ5YmE2YTRkMTQ5MjU2ZjQ2MWIl DQo+ID4gPiA+ID4NCj4gPiA+DQo+ID4gPg0KPiA3QzAlN0MwJTdDNjM3MTcwMTc0NzgxOTYxODM1 JmFtcDtzZGF0YT1ubyUyQkc1bktOemFZTDcybg0KPiA+ID4gPiA+ID4gPiAzdmY1djBabWZtSkxS TE5jUGZ3cWdmNFlKTlUwJTNEJmFtcDtyZXNlcnZlZD0wIHlldC4NCj4gPiA+ID4gPiA+ID4gSXQg d2lsbCBiZSBwdXNoZWQgaWYgSSBnZXQgbm8gb2JqZWN0aW9ucyBiZWZvcmUgMDIvMTMvMjAuDQo+ ID4gPiA+ID4gPiA+IFNvDQo+ID4gPiA+ID4gPiA+IHBsZWFzZQ0KPiA+ID4gPiA+ID4gPiBzaG91 dCBpZiBhbnlvbmUgaGFzIG9iamVjdGlvbnMuDQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ IEFsc28gbm90ZSB0aGF0IGFmdGVyIHRoZSBwYXRjaCB0aGVyZSdzIGEgZGlmZiBvZiB0aGUNCj4g PiA+ID4gPiA+ID4gdXBzdHJlYW0NCj4gPiA+ID4gPiA+ID4gY29tbWl0DQo+ID4gPiA+ID4gPiA+ IHZzIHRoZSBwYXRjaCBhcHBsaWVkIHRvIHRoZSBicmFuY2guIFRoaXMgd2lsbCBpbmRpY2F0ZSBp Zg0KPiA+ID4gPiA+ID4gPiB0aGVyZQ0KPiA+ID4gPiA+ID4gPiB3YXMNCj4gPiA+ID4gPiA+ID4g YW55IHJlYmFzaW5nIG5lZWRlZCB0byBhcHBseSB0byB0aGUgc3RhYmxlIGJyYW5jaC4gSWYgdGhl cmUNCj4gPiA+ID4gPiA+ID4gd2VyZQ0KPiA+ID4gPiA+ID4gPiBjb2RlIGNoYW5nZXMgZm9yIHJl YmFzaW5nDQo+ID4gPiA+ID4gPiA+IChpZTogbm90IG9ubHkgbWV0YWRhdGEgZGlmZnMpLCBwbGVh c2UgZG91YmxlIGNoZWNrIHRoYXQgdGhlDQo+ID4gPiA+ID4gPiA+IHJlYmFzZQ0KPiA+ID4gPiA+ ID4gPiB3YXMgY29ycmVjdGx5IGRvbmUuDQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+IFRo YW5rcy4NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gTHVjYSBCb2NjYXNzaQ0KPiA+ID4g PiA+ID4gPg0KPiA+ID4gPiA+ID4gPiAtLS0NCj4gPiA+ID4gPiA+ID4gRnJvbSBlMGRlODE2Zjk0 NWU1OTlhOTMzMDgxYzUzYmIwNjBkNWRkNGNiZjEzIE1vbg0KPiBTZXANCj4gPiA+DQo+ID4gPiAx Nw0KPiA+ID4gPiA+ID4gPiAwMDowMDowMCAyMDAxDQo+ID4gPiA+ID4gPiA+IEZyb206IEJpbmcg WmhhbyA8DQo+ID4gPiA+ID4gPiA+IGJpbmd6QG1lbGxhbm94LmNvbQ0KPiA+ID4gPiA+ID4gPg0K PiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiBEYXRlOiBNb24sIDIw IEphbiAyMDIwIDExOjQzOjA3ICswMjAwDQo+ID4gPiA+ID4gPiA+IFN1YmplY3Q6IFtQQVRDSF0g bmV0L21seDU6IGZpeCBtb2RpZnkgYWN0aW9ucyBzdXBwb3J0DQo+ID4gPiA+ID4gPiA+IGxpbWl0 YXRpb24NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gWyB1cHN0cmVhbSBjb21taXQNCj4g PiA+DQo+ID4gPiAwMjRlOTU3NTljMTZjNjdlZWU5MmVmZmZlZWUzNDkxNWRjOTRhOWMwIF0NCj4g PiA+ID4gPiA+ID4gSW4gdGhlIHJvb3QgdGFibGUsIHRoZXJlIGlzIHNvbWUgbGltaXRhdGlvbiBv ZiB0b3RhbCBudW1iZXINCj4gPiA+ID4gPiA+ID4gb2YNCj4gPiA+ID4gPiA+ID4gaGVhZGVyIG1v ZGlmeSBhY3Rpb25zLCAxNiBvciA4IGZvciBlYWNoLiBCdXQgaW4gb3RoZXINCj4gPiA+ID4gPiA+ ID4gdGFibGVzLA0KPiA+ID4gPiA+ID4gPiB0aGVyZQ0KPiA+ID4gPiA+ID4gPiBpcyBubyBzdWNo IHN0cmljdCBsaW1pdGF0aW9uLiBJbiBhbiBJUHY2IGNhc2UsIHRoZSBJUA0KPiA+ID4gPiA+ID4g PiBmaWVsZHMNCj4gPiA+ID4gPiA+ID4gbW9kaWZ5aW5nIHdpbGwgb2NjdXB5IG1vcmUgYWN0aW9u cyB0aGFuIHRoYXQgaW4gSVB2NCwgc28NCj4gPiA+ID4gPiA+ID4gdGhlDQo+ID4gPiA+ID4gPiA+ IHRvdGFsDQo+ID4gPiA+ID4gPiA+IHN1cHBvcnQgbnVtYmVyIHNob3VsZCBiZSBpbmNyZWFzZWQg aW4gb3JkZXIgdG8gc3VwcG9ydCBhcw0KPiA+ID4NCj4gPiA+IG1hbnkNCj4gPiA+ID4gPiA+ID4g YWN0aW9ucyBhcyBwb3NzaWJsZSBmb3IgYW4NCj4gPiA+ID4gPiA+ID4gSVB2NiArDQo+ID4gPiA+ ID4gPiA+IFRDUCBwYWNrZXQuDQo+ID4gPiA+ID4gPiA+IEFuZCBpbiB0aGUgbWVhbndoaWxlLCB0 aGUgbWVtb3J5IGNvbnN1bXB0aW9uIHNob3VsZA0KPiBhbHNvDQo+ID4gPg0KPiA+ID4gYmUNCj4g PiA+ID4gPiB0YWtlbg0KPiA+ID4gPiA+ID4gPiBpbnRvIGNvbnNpZGVyYXRpb24gYmVjYXVzZSBz b21ldGltZXMgb25seSBzZXZlcmFsIGFjdGlvbnMNCj4gPiA+ID4gPiA+ID4gYXJlDQo+ID4gPiA+ ID4gPiA+IG5lZWRlZC4NCj4gPiA+ID4gPiA+ID4gVGhlIHJvb3QgdGFibGUgY2hlY2tpbmcgY291 bGQgYWxzbyBiZSBkb25lIGluIGxvdyBsYXllcg0KPiA+ID4gPiA+ID4gPiBkcml2ZXINCj4gPiA+ ID4gPiA+ID4gYW5kDQo+ID4gPiA+ID4gPiA+IHRoZSBlcnJvciBjb2RlIHdpbGwgYmUgcmV0dXJu ZWQgaWYgdGhlIGFjdGlvbnMgbnVtYmVyIGlzDQo+ID4gPiA+ID4gPiA+IG92ZXINCj4gPiA+ID4g PiA+ID4gdGhlDQo+ID4gPiA+ID4gPiA+IG1heGltYWwgc3VwcG9ydGVkIHZhbHVlLg0KPiA+ID4g PiA+ID4gPg0KPiA+ID4gPiA+ID4gPiBGaXhlczogMGU5ZDAwMDI3Njg2ICgibmV0L21seDU6IGNo ZWNrIG1heGltdW0gbW9kaWZ5DQo+ID4gPg0KPiA+ID4gYWN0aW9ucw0KPiA+ID4gPiA+ID4gPiBu dW1iZXIiKQ0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBCaW5n IFpoYW8gPA0KPiA+ID4gPiA+ID4gPiBiaW5nekBtZWxsYW5veC5jb20NCj4gPiA+ID4gPiA+ID4N Cj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gQWNrZWQtYnk6IE9y aSBLYW0gPA0KPiA+ID4gPiA+ID4gPiBvcmlrYUBtZWxsYW5veC5jb20NCj4gPiA+ID4gPiA+ID4N Cj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gQWNrZWQtYnk6IFZp YWNoZXNsYXYgT3ZzaWllbmtvIDwNCj4gPiA+ID4gPiA+ID4gdmlhY2hlc2xhdm9AbWVsbGFub3gu Y29tDQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPiA+IC0tLQ0KPiA+ID4gPiA+ID4gPiAgZHJpdmVycy9uZXQvbWx4NS9tbHg1X2Zsb3cuaCAg ICB8ICAxNSArKystLQ0KPiA+ID4gPiA+ID4gPiAgZHJpdmVycy9uZXQvbWx4NS9tbHg1X2Zsb3df ZHYuYyB8IDEwNA0KPiArKysrKysrKysrKysrKysrKy0tLQ0KPiA+ID4NCj4gPiA+IC0tLS0NCj4g PiA+ID4gPiA+ID4gLQ0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gLS0tDQo+ID4gPiA+ID4gPiA+IC0t DQo+ID4gPiA+ID4gPiA+IC0tDQo+ID4gPiA+ID4gPiA+ICAyIGZpbGVzIGNoYW5nZWQsIDY2IGlu c2VydGlvbnMoKyksIDUzIGRlbGV0aW9ucygtKQ0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4g PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvbWx4NS9tbHg1X2Zsb3cuaA0KPiA+ID4gPiA+ID4g PiBiL2RyaXZlcnMvbmV0L21seDUvbWx4NV9mbG93LmggaW5kZXgNCj4gPiA+DQo+ID4gPiBkYjEy NzE1ZWNjLi4xM2JlZDA4ZDc1DQo+ID4gPiA+ID4gPiA+IDEwMDY0NA0KPiA+ID4gPiA+ID4gPiAt LS0gYS9kcml2ZXJzL25ldC9tbHg1L21seDVfZmxvdy5oDQo+ID4gPiA+ID4gPiA+ICsrKyBiL2Ry aXZlcnMvbmV0L21seDUvbWx4NV9mbG93LmgNCj4gPiA+ID4gPiA+ID4gQEAgLTM5MSwxMSArMzkx LDE0IEBAIHN0cnVjdA0KPiBtbHg1X2Zsb3dfZHZfdGFnX3Jlc291cmNlIHsNCj4gPiA+ID4gPiA+ ID4NCj4gPiA+ID4gPiA+ID4gIC8qDQo+ID4gPiA+ID4gPiA+ICAgKiBOdW1iZXIgb2YgbW9kaWZp Y2F0aW9uIGNvbW1hbmRzLg0KPiA+ID4gPiA+ID4gPiAtICogSWYgZXh0ZW5zaXZlIG1ldGFkYXRh IHJlZ2lzdGVycyBhcmUgc3VwcG9ydGVkDQo+ID4gPiA+ID4gPiA+IC0gKiB0aGUgbWF4aW1hbCBh Y3Rpb25zIGFtb3VudCBpcyAxNiBhbmQgOCBvdGhlcndpc2UuDQo+ID4gPiA+ID4gPiA+ICsgKiBJ ZiBleHRlbnNpdmUgbWV0YWRhdGEgcmVnaXN0ZXJzIGFyZSBzdXBwb3J0ZWQsIHRoZQ0KPiA+ID4g PiA+ID4gPiBtYXhpbWFsDQo+ID4gPiA+ID4gPiA+IGFjdGlvbnMNCj4gPiA+ID4gPiA+ID4gKyBh bW91bnQgaXMNCj4gPiA+ID4gPiA+ID4gKyAqIDE2IGFuZCA4IG90aGVyd2lzZSBvbiByb290IHRh YmxlLiBUaGUgdmFsaWRhdGlvbiBjb3VsZA0KPiA+ID4gPiA+ID4gPiBhbHNvDQo+ID4gPiA+ID4g PiA+IGJlDQo+ID4gPiA+ID4gPiA+IGRvbmUNCj4gPiA+ID4gPiA+ID4gKyBpbiB0aGUNCj4gPiA+ ID4gPiA+ID4gKyAqIGxvd2VyIGRyaXZlciBsYXllci4NCj4gPiA+ID4gPiA+ID4gKyAqIE9uIG5v bi1yb290IHRhYmxlLCB0aGVyZSBpcyBubyBsaW1pdGF0aW9uLCBidXQgMzIgaXMNCj4gPiA+ID4g PiA+ID4gZW5vdWdoDQo+ID4gPiA+ID4gPiA+IHJpZ2h0DQo+ID4gPiA+ID4gPiA+IG5vdy4NCj4g PiA+ID4gPiA+ID4gICAqLw0KPiA+ID4gPiA+ID4gPiAtI2RlZmluZSBNTFg1X01PRElGWV9OVU0g MTYNCj4gPiA+ID4gPiA+ID4gLSNkZWZpbmUgTUxYNV9NT0RJRllfTlVNX05PX01SRUcgOA0KPiA+ ID4gPiA+ID4gPiArI2RlZmluZSBNTFg1X01BWF9NT0RJRllfTlVNCQkJMzINCj4gPiA+ID4gPiA+ ID4gKyNkZWZpbmUgTUxYNV9ST09UX1RCTF9NT0RJRllfTlVNCQkxNg0KPiA+ID4gPiA+ID4gPiAr I2RlZmluZSBNTFg1X1JPT1RfVEJMX01PRElGWV9OVU1fTk9fTVJFRw0KPiAJOA0KPiA+ID4gPiA+ ID4gPg0KPiA+ID4gPiA+ID4gPiAgLyogTW9kaWZ5IHJlc291cmNlIHN0cnVjdHVyZSAqLw0KPiA+ ID4gPiA+ID4gPiAgc3RydWN0IG1seDVfZmxvd19kdl9tb2RpZnlfaGRyX3Jlc291cmNlIHsgQEAg LTQwNiw5DQo+ICs0MDksOQ0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gQEANCj4gPiA+ID4gPiA+ID4g c3RydWN0IG1seDVfZmxvd19kdl9tb2RpZnlfaGRyX3Jlc291cmNlIHsNCj4gPiA+ID4gPiA+ID4g IAkvKio8IFZlcmJzIG1vZGlmeSBoZWFkZXIgYWN0aW9uIG9iamVjdC4gKi8NCj4gPiA+ID4gPiA+ ID4gIAl1aW50OF90IGZ0X3R5cGU7IC8qKjwgRmxvdyB0YWJsZSB0eXBlLCBSeCBvciBUeC4gKi8N Cj4gPiA+ID4gPiA+ID4gIAl1aW50MzJfdCBhY3Rpb25zX251bTsgLyoqPCBOdW1iZXIgb2YgbW9k aWZpY2F0aW9uDQo+ID4gPiA+ID4gPiA+IGFjdGlvbnMuDQo+ID4gPiA+ID4gPiA+ICovDQo+ID4g PiA+ID4gPiA+IC0Jc3RydWN0IG1seDVfbW9kaWZpY2F0aW9uX2NtZA0KPiA+ID4NCj4gPiA+IGFj dGlvbnNbTUxYNV9NT0RJRllfTlVNXTsNCj4gPiA+ID4gPiA+ID4gKwl1aW50NjRfdCBmbGFnczsg LyoqPCBGbGFncyBmb3IgUkRNQSBBUEkuICovDQo+ID4gPiA+ID4gPiA+ICsJc3RydWN0IG1seDVf bW9kaWZpY2F0aW9uX2NtZCBhY3Rpb25zW107DQo+ID4gPiA+ID4gPiA+ICAJLyoqPCBNb2RpZmlj YXRpb24gYWN0aW9ucy4gKi8NCj4gPiA+ID4gPiA+ID4gLQl1aW50NjRfdCBmbGFnczsgLyoqPCBG bGFncyBmb3IgUkRNQSBBUEkuICovDQo+ID4gPiA+ID4gPiA+ICB9Ow0KPiA+ID4gPiA+ID4gPg0K PiA+ID4gPiA+ID4gPiAgLyogSnVtcCBhY3Rpb24gcmVzb3VyY2Ugc3RydWN0dXJlLiAqLyBkaWZm IC0tZ2l0DQo+ID4gPiA+ID4gPiA+IGEvZHJpdmVycy9uZXQvbWx4NS9tbHg1X2Zsb3dfZHYuYw0K PiA+ID4gPiA+DQo+ID4gPiA+ID4gYi9kcml2ZXJzL25ldC9tbHg1L21seDVfZmxvd19kdi5jDQo+ ID4gPiA+ID4gPiA+IGluZGV4IDhmNzc5MDk0MTkuLjc0ZDFhNjhlNGENCj4gPiA+ID4gPiA+ID4g MTAwNjQ0DQo+ID4gPiA+ID4gPiA+IC0tLSBhL2RyaXZlcnMvbmV0L21seDUvbWx4NV9mbG93X2R2 LmMNCj4gPiA+ID4gPiA+ID4gKysrIGIvZHJpdmVycy9uZXQvbWx4NS9tbHg1X2Zsb3dfZHYuYw0K PiA+ID4gPiA+ID4gPiBAQCAtMzYzLDcgKzM2Myw3IEBADQo+IGZsb3dfZHZfY29udmVydF9tb2Rp ZnlfYWN0aW9uKHN0cnVjdA0KPiA+ID4gPiA+ID4gPiBydGVfZmxvd19pdGVtICppdGVtLA0KPiA+ ID4gPiA+ID4gPiAgCQl1aW50MzJfdCBtYXNrOw0KPiA+ID4gPiA+ID4gPiAgCQl1aW50MzJfdCBk YXRhOw0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiAtCQlpZiAoaSA+PSBNTFg1X01PRElG WV9OVU0pDQo+ID4gPiA+ID4gPiA+ICsJCWlmIChpID49IE1MWDVfTUFYX01PRElGWV9OVU0pDQo+ ID4gPiA+ID4gPiA+ICAJCQlyZXR1cm4gcnRlX2Zsb3dfZXJyb3Jfc2V0KGVycm9yLA0KPiA+ID4g PiA+ID4gPiBFSU5WQUwsDQo+ID4gPiA+ID4gPiA+DQo+IFJURV9GTE9XX0VSUk9SX1RZUEVfQUNU SU9OLA0KPiA+ID4gPiA+ID4gPiBOVUxMLA0KPiA+ID4gPiA+ID4gPiAgCQkJCSAidG9vIG1hbnkg aXRlbXMgdG8gbW9kaWZ5Iik7DQo+ID4gPiA+ID4gPiA+IEBAIC00MDQsMTEgKzQwNCwxMSBAQA0K PiA+ID4NCj4gPiA+IGZsb3dfZHZfY29udmVydF9tb2RpZnlfYWN0aW9uKHN0cnVjdA0KPiA+ID4g PiA+ID4gPiBydGVfZmxvd19pdGVtICppdGVtLA0KPiA+ID4gPiA+ID4gPiAgCQkrK2k7DQo+ID4g PiA+ID4gPiA+ICAJCSsrZmllbGQ7DQo+ID4gPiA+ID4gPiA+ICAJfSB3aGlsZSAoZmllbGQtPnNp emUpOw0KPiA+ID4gPiA+ID4gPiAtCXJlc291cmNlLT5hY3Rpb25zX251bSA9IGk7DQo+ID4gPiA+ ID4gPiA+IC0JaWYgKCFyZXNvdXJjZS0+YWN0aW9uc19udW0pDQo+ID4gPiA+ID4gPiA+ICsJaWYg KHJlc291cmNlLT5hY3Rpb25zX251bSA9PSBpKQ0KPiA+ID4gPiA+ID4gPiAgCQlyZXR1cm4gcnRl X2Zsb3dfZXJyb3Jfc2V0KGVycm9yLCBFSU5WQUwsDQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4g PiA+IFJURV9GTE9XX0VSUk9SX1RZUEVfQUNUSU9OLCBOVUxMLA0KPiA+ID4gPiA+ID4gPiAgCQkJ CQkgICJpbnZhbGlkIG1vZGlmaWNhdGlvbg0KPiA+ID4gPiA+ID4gPiBmbG93DQo+ID4gPiA+ID4g PiA+IGl0ZW0iKTsNCj4gPiA+ID4gPiA+ID4gKwlyZXNvdXJjZS0+YWN0aW9uc19udW0gPSBpOw0K PiA+ID4gPiA+ID4gPiAgCXJldHVybiAwOw0KPiA+ID4gPiA+ID4gPiAgfQ0KPiA+ID4gPiA+ID4g Pg0KPiA+ID4gPiA+ID4gPiBAQCAtNTY5LDcgKzU2OSw3IEBADQo+ID4gPg0KPiA+ID4gZmxvd19k dl9jb252ZXJ0X2FjdGlvbl9tb2RpZnlfdmxhbl92aWQNCj4gPiA+ID4gPiA+ID4gIAlzdHJ1Y3Qg bWx4NV9tb2RpZmljYXRpb25fY21kICphY3Rpb25zID0gJnJlc291cmNlLQ0KPiA+ID4gPiA+ID4g PiA+IGFjdGlvbnNbaV07DQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ICAJc3RydWN0IGZp ZWxkX21vZGlmeV9pbmZvICpmaWVsZCA9DQo+ID4gPiA+ID4gPiA+IG1vZGlmeV92bGFuX291dF9m aXJzdF92aWQ7DQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+IC0JaWYgKGkgPj0gTUxYNV9N T0RJRllfTlVNKQ0KPiA+ID4gPiA+ID4gPiArCWlmIChpID49IE1MWDVfTUFYX01PRElGWV9OVU0p DQo+ID4gPiA+ID4gPiA+ICAJCXJldHVybiBydGVfZmxvd19lcnJvcl9zZXQoZXJyb3IsIEVJTlZB TCwNCj4gPiA+ID4gPiA+ID4gIAkJCSBSVEVfRkxPV19FUlJPUl9UWVBFX0FDVElPTiwNCj4gTlVM TCwNCj4gPiA+ID4gPiA+ID4gIAkJCSAidG9vIG1hbnkgaXRlbXMgdG8gbW9kaWZ5Iik7DQo+ID4g PiA+ID4gPiA+IEBAIC05MDIsNyArOTAyLDcgQEAgZmxvd19kdl9jb252ZXJ0X2FjdGlvbl9zZXRf cmVnDQo+ID4gPiA+ID4gPiA+ICAJc3RydWN0IG1seDVfbW9kaWZpY2F0aW9uX2NtZCAqYWN0aW9u cyA9IHJlc291cmNlLQ0KPiA+ID4gPiA+ID4gPiA+IGFjdGlvbnM7DQo+ID4gPiA+ID4gPiA+DQo+ ID4gPiA+ID4gPiA+ICAJdWludDMyX3QgaSA9IHJlc291cmNlLT5hY3Rpb25zX251bTsNCj4gPiA+ ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gLQlpZiAoaSA+PSBNTFg1X01PRElGWV9OVU0pDQo+ID4g PiA+ID4gPiA+ICsJaWYgKGkgPj0gTUxYNV9NQVhfTU9ESUZZX05VTSkNCj4gPiA+ID4gPiA+ID4g IAkJcmV0dXJuIHJ0ZV9mbG93X2Vycm9yX3NldChlcnJvciwgRUlOVkFMLA0KPiA+ID4gPiA+ID4g Pg0KPiA+ID4gPiA+ID4gPiBSVEVfRkxPV19FUlJPUl9UWVBFX0FDVElPTiwgTlVMTCwNCj4gPiA+ ID4gPiA+ID4gIAkJCQkJICAidG9vIG1hbnkgaXRlbXMgdG8NCj4gPiA+ID4gPiA+ID4gbW9kaWZ5 Iik7DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBAQCAtOTE0LDEwICs5MTQsNiBAQA0KPiA+ID4gPiA+ ID4gPiBmbG93X2R2X2NvbnZlcnRfYWN0aW9uX3NldF9yZWcNCj4gPiA+ID4gPiA+ID4gIAlhY3Rp b25zW2ldLmRhdGExID0gcnRlX2NwdV90b19iZV8zMihjb25mLT5kYXRhKTsNCj4gPiA+ID4gPiA+ ID4gIAkrK2k7DQo+ID4gPiA+ID4gPiA+ICAJcmVzb3VyY2UtPmFjdGlvbnNfbnVtID0gaTsNCj4g PiA+ID4gPiA+ID4gLQlpZiAoIXJlc291cmNlLT5hY3Rpb25zX251bSkNCj4gPiA+ID4gPiA+ID4g LQkJcmV0dXJuIHJ0ZV9mbG93X2Vycm9yX3NldChlcnJvciwgRUlOVkFMLA0KPiA+ID4gPiA+ID4g PiAtDQo+ID4gPiA+ID4gPiA+IFJURV9GTE9XX0VSUk9SX1RZUEVfQUNUSU9OLCBOVUxMLA0KPiA+ ID4gPiA+ID4gPiAtCQkJCQkgICJpbnZhbGlkIG1vZGlmaWNhdGlvbg0KPiA+ID4gPiA+ID4gPiBm bG93DQo+ID4gPiA+ID4gPiA+IGl0ZW0iKTsNCj4gPiA+ID4gPiA+ID4gIAlyZXR1cm4gMDsNCj4g PiA+ID4gPiA+ID4gIH0NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gQEAgLTIyNTYsNyAr MjI1Miw2IEBADQo+ID4gPg0KPiA+ID4gZmxvd19kdl9lbmNhcF9kZWNhcF9yZXNvdXJjZV9yZWdp c3Rlcg0KPiA+ID4gPiA+ID4gPiAgCQlkb21haW4gPSBzaC0+cnhfZG9tYWluOw0KPiA+ID4gPiA+ ID4gPiAgCWVsc2UNCj4gPiA+ID4gPiA+ID4gIAkJZG9tYWluID0gc2gtPnR4X2RvbWFpbjsNCj4g PiA+ID4gPiA+ID4gLQ0KPiA+ID4gPiA+ID4gPiAgCS8qIExvb2t1cCBhIG1hdGNoaW5nIHJlc291 cmNlIGZyb20gY2FjaGUuICovDQo+ID4gPiA+ID4gPiA+ICAJTElTVF9GT1JFQUNIKGNhY2hlX3Jl c291cmNlLCAmc2gtPmVuY2Fwc19kZWNhcHMsDQo+IG5leHQpDQo+ID4gPiA+ID4gPiA+IHsNCj4g PiA+ID4gPiA+ID4gIAkJaWYgKHJlc291cmNlLT5yZWZvcm1hdF90eXBlID09DQo+IGNhY2hlX3Jl c291cmNlLQ0KPiA+ID4gPiA+ID4gPiA+IHJlZm9ybWF0X3R5cGUgJiYgQEAgLTMzNjcsMjEgKzMz NjIsMjcgQEANCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gZmxvd19kdl92YWxpZGF0ZV9h Y3Rpb25fcG9ydF9pZChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwNCj4gPiA+ID4gPiA+ID4gICAq DQo+ID4gPiA+ID4gPiA+ICAgKiBAcGFyYW0gZGV2DQo+ID4gPiA+ID4gPiA+ICAgKiAgIFBvaW50 ZXIgdG8gcnRlX2V0aF9kZXYgc3RydWN0dXJlLg0KPiA+ID4gPiA+ID4gPiArICogQHBhcmFtIGZs YWdzDQo+ID4gPiA+ID4gPiA+ICsgKiAgIEZsYWdzIGJpdHMgdG8gY2hlY2sgaWYgcm9vdCBsZXZl bC4NCj4gPiA+ID4gPiA+ID4gICAqDQo+ID4gPiA+ID4gPiA+ICAgKiBAcmV0dXJuDQo+ID4gPiA+ ID4gPiA+ICAgKiAgIE1heCBudW1iZXIgb2YgbW9kaWZ5IGhlYWRlciBhY3Rpb25zIGRldmljZSBj YW4NCj4gPiA+ID4gPiA+ID4gc3VwcG9ydC4NCj4gPiA+ID4gPiA+ID4gICAqLw0KPiA+ID4gPiA+ ID4gPiAgc3RhdGljIHVuc2lnbmVkIGludA0KPiA+ID4gPiA+ID4gPiAtZmxvd19kdl9tb2RpZnlf aGRyX2FjdGlvbl9tYXgoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYpDQo+ID4gPiA+ID4gPiA+ICtm bG93X2R2X21vZGlmeV9oZHJfYWN0aW9uX21heChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwNCj4g PiA+ID4gPg0KPiA+ID4gPiA+IHVpbnQ2NF90DQo+ID4gPiA+ID4gPiA+IGZsYWdzKQ0KPiA+ID4g PiA+ID4gPiAgew0KPiA+ID4gPiA+ID4gPiAgCS8qDQo+ID4gPiA+ID4gPiA+ICAJICogVGhlcmUn cyBubyB3YXkgdG8gZGlyZWN0bHkgcXVlcnkgdGhlIG1heCBjYXAuDQo+ID4gPiA+ID4gPiA+IEFs dGhvdWdoIGl0DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBoYXMNCj4gPiA+ID4gPiA+ID4gdG8gYmUN Cj4gPiA+ID4gPiA+ID4gIAkgKiBhY3F1cmllZCBieSBpdGVyYXRpdmUgdHJpYWwsIGl0IGlzIGEg c2FmZSBhc3N1bXB0aW9uDQo+ID4gPiA+ID4gPiA+IHRoYXQgbW9yZQ0KPiA+ID4gPiA+ID4gPiAg CSAqIGFjdGlvbnMgYXJlIHN1cHBvcnRlZCBieSBGVyBpZiBleHRlbnNpdmUgbWV0YWRhdGENCj4g PiA+ID4gPiA+ID4gcmVnaXN0ZXINCj4gPiA+ID4gPg0KPiA+ID4gPiA+IGlzDQo+ID4gPiA+ID4g PiA+IC0JICogc3VwcG9ydGVkLg0KPiA+ID4gPiA+ID4gPiArCSAqIHN1cHBvcnRlZC4gKE9ubHkg aW4gdGhlIHJvb3QgdGFibGUpDQo+ID4gPiA+ID4gPiA+ICAJICovDQo+ID4gPiA+ID4gPiA+IC0J cmV0dXJuIG1seDVfZmxvd19leHRfbXJlZ19zdXBwb3J0ZWQoZGV2KSA/DQo+ID4gPiA+ID4gPiA+ IE1MWDVfTU9ESUZZX05VTSA6DQo+ID4gPiA+ID4gPiA+IC0NCj4gPiA+ID4gPiA+ID4gTUxYNV9N T0RJRllfTlVNX05PX01SRUc7DQo+ID4gPiA+ID4gPiA+ICsJaWYgKCEoZmxhZ3MgJiBNTFg1RFZf RFJfQUNUSU9OX0ZMQUdTX1JPT1RfTEVWRUwpKQ0KPiA+ID4gPiA+ID4gPiArCQlyZXR1cm4gTUxY NV9NQVhfTU9ESUZZX05VTTsNCj4gPiA+ID4gPiA+ID4gKwllbHNlDQo+ID4gPiA+ID4gPiA+ICsJ CXJldHVybiBtbHg1X2Zsb3dfZXh0X21yZWdfc3VwcG9ydGVkKGRldikgPw0KPiA+ID4gPiA+ID4g PiArDQo+ID4gPiA+ID4gPiA+IAlNTFg1X1JPT1RfVEJMX01PRElGWV9OVU0gOg0KPiA+ID4gPiA+ ID4gPiArDQo+ID4gPiA+ID4gPiA+IAlNTFg1X1JPT1RfVEJMX01PRElGWV9OVU1fTk9fTVJFRzsN Cj4gPiA+ID4gPiA+ID4gIH0NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gIC8qKg0KPiA+ ID4gPiA+ID4gPiBAQCAtMzQ3Miw4ICszNDczLDEyIEBADQo+ID4gPg0KPiA+ID4gZmxvd19kdl9t b2RpZnlfaGRyX3Jlc291cmNlX3JlZ2lzdGVyDQo+ID4gPiA+ID4gPiA+ICAJc3RydWN0IG1seDVf aWJ2X3NoYXJlZCAqc2ggPSBwcml2LT5zaDsNCj4gPiA+ID4gPiA+ID4gIAlzdHJ1Y3QgbWx4NV9m bG93X2R2X21vZGlmeV9oZHJfcmVzb3VyY2UNCj4gPiA+ID4gPiA+ID4gKmNhY2hlX3Jlc291cmNl Ow0KPiA+ID4gPiA+ID4gPiAgCXN0cnVjdCBtbHg1ZHZfZHJfZG9tYWluICpuczsNCj4gPiA+ID4g PiA+ID4gKwl1aW50MzJfdCBhY3Rpb25zX2xlbjsNCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ ID4gLQlpZiAocmVzb3VyY2UtPmFjdGlvbnNfbnVtID4NCj4gPiA+ID4gPiA+ID4gZmxvd19kdl9t b2RpZnlfaGRyX2FjdGlvbl9tYXgoZGV2KSkNCj4gPiA+ID4gPiA+ID4gKwlyZXNvdXJjZS0+Zmxh Z3MgPQ0KPiA+ID4gPiA+ID4gPiArCQlkZXZfZmxvdy0+Z3JvdXAgPyAwIDoNCj4gPiA+ID4gPiA+ ID4gTUxYNURWX0RSX0FDVElPTl9GTEFHU19ST09UX0xFVkVMOw0KPiA+ID4gPiA+ID4gPiArCWlm IChyZXNvdXJjZS0+YWN0aW9uc19udW0gPg0KPiA+ID4gPiA+ID4gPiBmbG93X2R2X21vZGlmeV9o ZHJfYWN0aW9uX21heChkZXYsDQo+ID4gPiA+ID4gPiA+ICsJCQkJICAgIHJlc291cmNlLT5mbGFn cykpDQo+ID4gPiA+ID4gPiA+ICAJCXJldHVybiBydGVfZmxvd19lcnJvcl9zZXQoZXJyb3IsIEVP VkVSRkxPVywNCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gUlRFX0ZMT1dfRVJST1JfVFlQ RV9BQ1RJT04sIE5VTEwsDQo+ID4gPiA+ID4gPiA+ICAJCQkJCSAgInRvbyBtYW55IG1vZGlmeQ0K PiA+ID4gPiA+ID4gPiBoZWFkZXINCj4gPiA+ID4gPiA+ID4gaXRlbXMiKTsgQEAgLTM0ODMsMTcg KzM0ODgsMTUgQEANCj4gPiA+ID4gPiA+ID4gZmxvd19kdl9tb2RpZnlfaGRyX3Jlc291cmNlX3Jl Z2lzdGVyDQo+ID4gPiA+ID4gPiA+ICAJCW5zID0gc2gtPnR4X2RvbWFpbjsNCj4gPiA+ID4gPiA+ ID4gIAllbHNlDQo+ID4gPiA+ID4gPiA+ICAJCW5zID0gc2gtPnJ4X2RvbWFpbjsNCj4gPiA+ID4g PiA+ID4gLQlyZXNvdXJjZS0+ZmxhZ3MgPQ0KPiA+ID4gPiA+ID4gPiAtCQlkZXZfZmxvdy0+Z3Jv dXAgPyAwIDoNCj4gPiA+ID4gPiA+ID4gTUxYNURWX0RSX0FDVElPTl9GTEFHU19ST09UX0xFVkVM Ow0KPiA+ID4gPiA+ID4gPiAgCS8qIExvb2t1cCBhIG1hdGNoaW5nIHJlc291cmNlIGZyb20gY2Fj aGUuICovDQo+ID4gPiA+ID4gPiA+ICsJYWN0aW9uc19sZW4gPSByZXNvdXJjZS0+YWN0aW9uc19u dW0gKg0KPiA+ID4NCj4gPiA+IHNpemVvZihyZXNvdXJjZS0NCj4gPiA+ID4gPiA+ID4gPiBhY3Rp b25zWzBdKTsNCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gIAlMSVNUX0ZPUkVBQ0goY2Fj aGVfcmVzb3VyY2UsICZzaC0+bW9kaWZ5X2NtZHMsDQo+IG5leHQpIHsNCj4gPiA+ID4gPiA+ID4g IAkJaWYgKHJlc291cmNlLT5mdF90eXBlID09IGNhY2hlX3Jlc291cmNlLQ0KPiA+ID4gPiA+ID4g PiA+IGZ0X3R5cGUgJiYNCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gIAkJICAgIHJlc291 cmNlLT5hY3Rpb25zX251bSA9PSBjYWNoZV9yZXNvdXJjZS0NCj4gPiA+ID4gPiA+ID4gPiBhY3Rp b25zX251bSAmJg0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiAgCQkgICAgcmVzb3VyY2Ut PmZsYWdzID09IGNhY2hlX3Jlc291cmNlLT5mbGFncyAmJg0KPiA+ID4gPiA+ID4gPiAgCQkgICAg IW1lbWNtcCgoY29uc3Qgdm9pZCAqKXJlc291cmNlLT5hY3Rpb25zLA0KPiA+ID4gPiA+ID4gPiAg CQkJICAgIChjb25zdCB2b2lkICopY2FjaGVfcmVzb3VyY2UtDQo+ID4gPiA+ID4gPiA+ID4gYWN0 aW9ucywNCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gLQkJCSAgICAocmVzb3VyY2UtPmFj dGlvbnNfbnVtICoNCj4gPiA+ID4gPiA+ID4gLQkJCQkJICAgIHNpemVvZihyZXNvdXJjZS0NCj4g PiA+ID4gPiA+ID4gPiBhY3Rpb25zWzBdKSkpKSB7DQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4g PiA+ICsJCQkgICAgYWN0aW9uc19sZW4pKSB7DQo+ID4gPiA+ID4gPiA+ICAJCQlEUlZfTE9HKERF QlVHLCAibW9kaWZ5LWhlYWRlcg0KPiA+ID4gPiA+ID4gPiByZXNvdXJjZSAlcDogcmVmY250ICVk KysiLA0KPiA+ID4gPiA+ID4gPiAgCQkJCSh2b2lkICopY2FjaGVfcmVzb3VyY2UsDQo+ID4gPiA+ ID4gPiA+DQo+IAlydGVfYXRvbWljMzJfcmVhZCgmY2FjaGVfcmVzb3VyDQo+ID4gPiA+ID4gPiA+ IGNlLQ0KPiA+ID4gPiA+ID4gPiA+IHJlZmNudCkpOw0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ ID4gPiBAQCAtMzUwMywxOCArMzUwNiwxOCBAQA0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gZmxvd19k dl9tb2RpZnlfaGRyX3Jlc291cmNlX3JlZ2lzdGVyDQo+ID4gPiA+ID4gPiA+ICAJCX0NCj4gPiA+ ID4gPiA+ID4gIAl9DQo+ID4gPiA+ID4gPiA+ICAJLyogUmVnaXN0ZXIgbmV3IG1vZGlmeS1oZWFk ZXIgcmVzb3VyY2UuICovDQo+ID4gPiA+ID4gPiA+IC0JY2FjaGVfcmVzb3VyY2UgPSBydGVfY2Fs bG9jKF9fZnVuY19fLCAxLA0KPiA+ID4gPiA+ID4gPiBzaXplb2YoKmNhY2hlX3Jlc291cmNlKSwg MCk7DQo+ID4gPiA+ID4gPiA+ICsJY2FjaGVfcmVzb3VyY2UgPSBydGVfY2FsbG9jKF9fZnVuY19f LCAxLA0KPiA+ID4gPiA+ID4gPiArCQkJCSAgICBzaXplb2YoKmNhY2hlX3Jlc291cmNlKSArDQo+ ID4gPiA+ID4gPiA+IGFjdGlvbnNfbGVuLCAwKTsNCj4gPiA+ID4gPiA+ID4gIAlpZiAoIWNhY2hl X3Jlc291cmNlKQ0KPiA+ID4gPiA+ID4gPiAgCQlyZXR1cm4gcnRlX2Zsb3dfZXJyb3Jfc2V0KGVy cm9yLCBFTk9NRU0sDQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+IFJURV9GTE9XX0VSUk9S X1RZUEVfVU5TUEVDSUZJRUQsIE5VTEwsDQo+ID4gPiA+ID4gPiA+ICAJCQkJCSAgImNhbm5vdCBh bGxvY2F0ZQ0KPiA+ID4gPiA+ID4gPiByZXNvdXJjZQ0KPiA+ID4gPiA+ID4gPiBtZW1vcnkiKTsN Cj4gPiA+ID4gPiA+ID4gIAkqY2FjaGVfcmVzb3VyY2UgPSAqcmVzb3VyY2U7DQo+ID4gPiA+ID4g PiA+ICsJcnRlX21lbWNweShjYWNoZV9yZXNvdXJjZS0+YWN0aW9ucywgcmVzb3VyY2UtDQo+ID4g PiA+DQo+ID4gPiA+IGFjdGlvbnMsDQo+ID4gPiA+ID4gPiA+IGFjdGlvbnNfbGVuKTsNCj4gPiA+ ID4gPiA+ID4gIAljYWNoZV9yZXNvdXJjZS0+dmVyYnNfYWN0aW9uID0NCj4gPiA+ID4gPiA+ID4g IAkJbWx4NV9nbHVlLQ0KPiA+ZHZfY3JlYXRlX2Zsb3dfYWN0aW9uX21vZGlmeV9oZWFkZXINCj4g PiA+ID4gPiA+ID4gLQkJCQkJKHNoLT5jdHgsDQo+ID4gPiA+ID4gPiA+IGNhY2hlX3Jlc291cmNl LQ0KPiA+ID4gPiA+ID4gPiA+IGZ0X3R5cGUsDQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ IC0JCQkJCSBucywgY2FjaGVfcmVzb3VyY2UtDQo+ID4gPiA+ID4gPiA+ID4gZmxhZ3MsDQo+ID4g PiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+IC0JCQkJCSBjYWNoZV9yZXNvdXJjZS0NCj4gPiA+ID4g PiA+ID4gPiBhY3Rpb25zX251bQ0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiAqDQo+ID4g PiA+ID4gPiA+IC0JCQkJCSBzaXplb2YoY2FjaGVfcmVzb3VyY2UtDQo+ID4gPiA+ID4gPiA+ID4g YWN0aW9uc1swXSksDQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ICsJCQkJCShzaC0+Y3R4 LA0KPiA+ID4gPiA+ID4gPiBjYWNoZV9yZXNvdXJjZS0NCj4gPiA+ID4gPiA+ID4gPiBmdF90eXBl LCBucywNCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gKwkJCQkJIGNhY2hlX3Jlc291cmNl LT5mbGFncywNCj4gPiA+ID4gPiA+ID4gYWN0aW9uc19sZW4sDQo+ID4gPiA+ID4gPiA+ICAJCQkJ CSAodWludDY0X3QNCj4gPiA+ID4gPiA+ID4gKiljYWNoZV9yZXNvdXJjZS0NCj4gPiA+ID4gPiA+ ID4gPiBhY3Rpb25zKTsNCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gIAlpZiAoIWNhY2hl X3Jlc291cmNlLT52ZXJic19hY3Rpb24pIHsNCj4gPiA+ID4gPiA+ID4gIAkJcnRlX2ZyZWUoY2Fj aGVfcmVzb3VyY2UpOw0KPiA+ID4gPiA+ID4gPiBAQCAtNjY3MCwxMCArNjY3MywxMyBAQCBfX2Zs b3dfZHZfdHJhbnNsYXRlKHN0cnVjdA0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gcnRlX2V0aF9kZXYg KmRldiwNCj4gPiA+ID4gPiA+ID4gIAl9Ow0KPiA+ID4gPiA+ID4gPiAgCWludCBhY3Rpb25zX24g PSAwOw0KPiA+ID4gPiA+ID4gPiAgCWJvb2wgYWN0aW9uc19lbmQgPSBmYWxzZTsNCj4gPiA+ID4g PiA+ID4gLQlzdHJ1Y3QgbWx4NV9mbG93X2R2X21vZGlmeV9oZHJfcmVzb3VyY2UgbWhkcl9yZXMg PQ0KPiA+ID4NCj4gPiA+IHsNCj4gPiA+ID4gPiA+ID4gLQkJLmZ0X3R5cGUgPSBhdHRyLT5lZ3Jl c3MgPw0KPiA+ID4gPiA+ID4gPiBNTFg1RFZfRkxPV19UQUJMRV9UWVBFX05JQ19UWCA6DQo+ID4g PiA+ID4gPiA+IC0NCj4gPiA+ID4gPiA+ID4gTUxYNURWX0ZMT1dfVEFCTEVfVFlQRV9OSUNfUlgN Cj4gPiA+ID4gPiA+ID4gLQl9Ow0KPiA+ID4gPiA+ID4gPiArCXVuaW9uIHsNCj4gPiA+ID4gPiA+ ID4gKwkJc3RydWN0IG1seDVfZmxvd19kdl9tb2RpZnlfaGRyX3Jlc291cmNlIHJlczsNCj4gPiA+ ID4gPiA+ID4gKwkJdWludDhfdCBsZW5bc2l6ZW9mKHN0cnVjdA0KPiA+ID4gPiA+ID4gPiBtbHg1 X2Zsb3dfZHZfbW9kaWZ5X2hkcl9yZXNvdXJjZSkgKw0KPiA+ID4gPiA+ID4gPiArCQkJICAgIHNp emVvZihzdHJ1Y3QNCj4gPiA+ID4gPiA+ID4gbWx4NV9tb2RpZmljYXRpb25fY21kKSAqDQo+ID4g PiA+ID4gPiA+ICsJCQkgICAgKE1MWDVfTUFYX01PRElGWV9OVU0gKyAxKV07DQo+ID4gPiA+ID4g PiA+ICsJfSBtaGRyX2R1bW15Ow0KPiA+ID4gPiA+ID4gPiArCXN0cnVjdCBtbHg1X2Zsb3dfZHZf bW9kaWZ5X2hkcl9yZXNvdXJjZSAqbWhkcl9yZXMNCj4gPiA+DQo+ID4gPiA9DQo+ID4gPiA+ID4g PiA+ICZtaGRyX2R1bW15LnJlczsNCj4gPiA+ID4gPiA+ID4gIAl1bmlvbiBmbG93X2R2X2F0dHIg Zmxvd19hdHRyID0geyAuYXR0ciA9IDAgfTsNCj4gPiA+ID4gPiA+ID4gIAl1aW50MzJfdCB0YWdf YmU7DQo+ID4gPiA+ID4gPiA+ICAJdW5pb24gbWx4NV9mbG93X3RibF9rZXkgdGJsX2tleTsNCj4g PiA+ID4gPiA+ID4gQEAgLTY2ODUsMTUgKzY2OTEsMTkgQEAgX19mbG93X2R2X3RyYW5zbGF0ZShz dHJ1Y3QNCj4gPiA+ID4gPg0KPiA+ID4gPiA+IHJ0ZV9ldGhfZGV2ICpkZXYsDQo+ID4gPiA+ID4g PiA+ICAJdWludDMyX3QgdGFibGU7DQo+ID4gPiA+ID4gPiA+ICAJaW50IHJldCA9IDA7DQo+ID4g PiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ICsJbWhkcl9yZXMtPmZ0X3R5cGUgPSBhdHRyLT5lZ3Jl c3MgPw0KPiA+ID4gPiA+ID4gPiBNTFg1RFZfRkxPV19UQUJMRV9UWVBFX05JQ19UWCA6DQo+ID4g PiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ID4gTUxYNURWX0ZMT1dfVEFCTEVfVFlQRV9OSUNfUlg7 DQo+ID4gPiA+ID4gPiA+ICAJcmV0ID0gbWx4NV9mbG93X2dyb3VwX3RvX3RhYmxlKGF0dHIsIGRl dl9mbG93LQ0KPiA+ID4gPiA+ID4gPiA+IGV4dGVybmFsLCBhdHRyLQ0KPiA+ID4gPiA+ID4gPiA+ IGdyb3VwLA0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiAgCQkJCSAgICAgICAmdGFibGUs IGVycm9yKTsNCj4gPiA+ID4gPiA+ID4gIAlpZiAocmV0KQ0KPiA+ID4gPiA+ID4gPiAgCQlyZXR1 cm4gcmV0Ow0KPiA+ID4gPiA+ID4gPiAgCWRldl9mbG93LT5ncm91cCA9IHRhYmxlOw0KPiA+ID4g PiA+ID4gPiAgCWlmIChhdHRyLT50cmFuc2ZlcikNCj4gPiA+ID4gPiA+ID4gLQkJbWhkcl9yZXMu ZnRfdHlwZSA9DQo+ID4gPg0KPiA+ID4gTUxYNURWX0ZMT1dfVEFCTEVfVFlQRV9GREI7DQo+ID4g PiA+ID4gPiA+ICsJCW1oZHJfcmVzLT5mdF90eXBlID0NCj4gPiA+DQo+ID4gPiBNTFg1RFZfRkxP V19UQUJMRV9UWVBFX0ZEQjsNCj4gPiA+ID4gPiA+ID4gIAlpZiAocHJpb3JpdHkgPT0gTUxYNV9G TE9XX1BSSU9fUlNWRCkNCj4gPiA+ID4gPiA+ID4gIAkJcHJpb3JpdHkgPSBkZXZfY29uZi0+Zmxv d19wcmlvIC0gMTsNCj4gPiA+ID4gPiA+ID4gKwkvKiBudW1iZXIgb2YgYWN0aW9ucyBtdXN0IGJl IHNldCB0byAwIGluIGNhc2Ugb2YgZGlydHkNCj4gPiA+ID4gPiA+ID4gc3RhY2suDQo+ID4gPiA+ ID4gPiA+ICovDQo+ID4gPiA+ID4gPiA+ICsJbWhkcl9yZXMtPmFjdGlvbnNfbnVtID0gMDsNCj4g PiA+ID4gPiA+ID4gIAlmb3IgKDsgIWFjdGlvbnNfZW5kIDsgYWN0aW9ucysrKSB7DQo+ID4gPiA+ ID4gPiA+ICAJCWNvbnN0IHN0cnVjdCBydGVfZmxvd19hY3Rpb25fcXVldWUgKnF1ZXVlOw0KPiA+ ID4gPiA+ID4gPiAgCQljb25zdCBzdHJ1Y3QgcnRlX2Zsb3dfYWN0aW9uX3JzcyAqcnNzOyBAQA0K PiA+ID4gPiA+ID4gPiAtNjczMSw3DQo+ID4gPiA+ID4gPiA+ICs2NzQxLDcgQEAgX19mbG93X2R2 X3RyYW5zbGF0ZShzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwNCj4gPiA+ID4gPiA+ID4gIAkJCQl9 Ow0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiAgCQkJCWlmDQo+ID4gPiA+ID4gPiA+IChm bG93X2R2X2NvbnZlcnRfYWN0aW9uX21hcmsoZGV2LA0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gJm1h cmssDQo+ID4gPiA+ID4gPiA+IC0NCj4gPiA+ID4gPiA+ID4gCSZtaGRyX3JlcywNCj4gPiA+ID4g PiA+ID4gKw0KPiA+ID4gPiA+ID4gPiAJbWhkcl9yZXMsDQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPiA+IGVycm9yKSkNCj4gPiA+ID4gPiA+ID4gIAkJCQkJcmV0dXJuIC1ydGVfZXJybm87DQo+ ID4gPiA+ID4gPiA+ICAJCQkJYWN0aW9uX2ZsYWdzIHw9DQo+ID4gPiA+ID4gPiA+IE1MWDVfRkxP V19BQ1RJT05fTUFSS19FWFQ7IEBAIC02NzUzLDcgKzY3NjMsNw0KPiBAQA0KPiA+ID4gPiA+ID4g PiBfX2Zsb3dfZHZfdHJhbnNsYXRlKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LA0KPiA+ID4gPiA+ ID4gPiAgCQkJCQkJYWN0aW9ucy0+Y29uZjsNCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4g IAkJCQlpZg0KPiA+ID4gPiA+ID4gPiAoZmxvd19kdl9jb252ZXJ0X2FjdGlvbl9tYXJrKGRldiwN Cj4gPiA+ID4gPg0KPiA+ID4gPiA+IG1hcmssDQo+ID4gPiA+ID4gPiA+IC0NCj4gPiA+ID4gPiA+ ID4gCSZtaGRyX3JlcywNCj4gPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4gPiAJbWhkcl9yZXMs DQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+IGVycm9yKSkNCj4gPiA+ID4gPiA+ID4gIAkJ CQkJcmV0dXJuIC1ydGVfZXJybm87DQo+ID4gPiA+ID4gPiA+ICAJCQkJYWN0aW9uX2ZsYWdzIHw9 DQo+ID4gPiA+ID4gPiA+IE1MWDVfRkxPV19BQ1RJT05fTUFSS19FWFQ7IEBAIC02Nzc0LDcgKzY3 ODQsNw0KPiBAQA0KPiA+ID4gPiA+ID4gPiBfX2Zsb3dfZHZfdHJhbnNsYXRlKHN0cnVjdCBydGVf ZXRoX2RldiAqZGV2LA0KPiA+ID4gPiA+ID4gPiAgCQkJYnJlYWs7DQo+ID4gPiA+ID4gPiA+ICAJ CWNhc2UgUlRFX0ZMT1dfQUNUSU9OX1RZUEVfU0VUX01FVEE6DQo+ID4gPiA+ID4gPiA+ICAJCQlp ZiAoZmxvd19kdl9jb252ZXJ0X2FjdGlvbl9zZXRfbWV0YQ0KPiA+ID4gPiA+ID4gPiAtCQkJCShk ZXYsICZtaGRyX3JlcywgYXR0ciwNCj4gPiA+ID4gPiA+ID4gKwkJCQkoZGV2LCBtaGRyX3Jlcywg YXR0ciwNCj4gPiA+ID4gPiA+ID4gIAkJCQkgKGNvbnN0IHN0cnVjdA0KPiA+ID4gPiA+ID4gPiBy dGVfZmxvd19hY3Rpb25fc2V0X21ldGEgKikNCj4gPiA+ID4gPiA+ID4gIAkJCQkgIGFjdGlvbnMt PmNvbmYsIGVycm9yKSkNCj4gPiA+ID4gPiA+ID4gIAkJCQlyZXR1cm4gLXJ0ZV9lcnJubzsNCj4g PiA+ID4gPiA+ID4gQEAgLTY3ODIsNyArNjc5Miw3IEBAIF9fZmxvd19kdl90cmFuc2xhdGUoc3Ry dWN0DQo+ID4gPg0KPiA+ID4gcnRlX2V0aF9kZXYNCj4gPiA+ID4gPiAqZGV2LA0KPiA+ID4gPiA+ ID4gPiAgCQkJYnJlYWs7DQo+ID4gPiA+ID4gPiA+ICAJCWNhc2UgUlRFX0ZMT1dfQUNUSU9OX1RZ UEVfU0VUX1RBRzoNCj4gPiA+ID4gPiA+ID4gIAkJCWlmIChmbG93X2R2X2NvbnZlcnRfYWN0aW9u X3NldF90YWcNCj4gPiA+ID4gPiA+ID4gLQkJCQkoZGV2LCAmbWhkcl9yZXMsDQo+ID4gPiA+ID4g PiA+ICsJCQkJKGRldiwgbWhkcl9yZXMsDQo+ID4gPiA+ID4gPiA+ICAJCQkJIChjb25zdCBzdHJ1 Y3QNCj4gPiA+ID4gPiA+ID4gcnRlX2Zsb3dfYWN0aW9uX3NldF90YWcNCj4gPiA+ID4gPiA+ID4g KikNCj4gPiA+ID4gPiA+ID4gIAkJCQkgIGFjdGlvbnMtPmNvbmYsIGVycm9yKSkNCj4gPiA+ID4g PiA+ID4gIAkJCQlyZXR1cm4gLXJ0ZV9lcnJubzsNCj4gPiA+ID4gPiA+ID4gQEAgLTY4ODIsNyAr Njg5Miw3IEBAIGNudF9lcnI6DQo+ID4gPiA+ID4gPiA+ICAJCQltbHg1X3VwZGF0ZV92bGFuX3Zp ZF9wY3AoYWN0aW9ucywNCj4gPiA+ID4gPiA+ID4gJnZsYW4pOw0KPiA+ID4gPiA+ID4gPiAgCQkJ LyogSWYgbm8gVkxBTiBwdXNoIC0gdGhpcyBpcyBhIG1vZGlmeQ0KPiA+ID4gPiA+ID4gPiBoZWFk ZXINCj4gPiA+ID4gPg0KPiA+ID4gPiA+IGFjdGlvbiAqLw0KPiA+ID4gPiA+ID4gPiAgCQkJaWYN Cj4gPiA+ID4gPiA+ID4gKGZsb3dfZHZfY29udmVydF9hY3Rpb25fbW9kaWZ5X3ZsYW5fdmlkDQo+ ID4gPiA+ID4gPiA+IC0JCQkJCQkoJm1oZHJfcmVzLA0KPiA+ID4gPiA+ID4gPiBhY3Rpb25zLA0K PiA+ID4gPiA+ID4gPiBlcnJvcikpDQo+ID4gPiA+ID4gPiA+ICsJCQkJCQkobWhkcl9yZXMsDQo+ ID4gPiA+ID4gPiA+IGFjdGlvbnMsDQo+ID4gPiA+ID4gPiA+IGVycm9yKSkNCj4gPiA+ID4gPiA+ ID4gIAkJCQlyZXR1cm4gLXJ0ZV9lcnJubzsNCj4gPiA+ID4gPiA+ID4gIAkJCWFjdGlvbl9mbGFn cyB8PQ0KPiA+ID4gPiA+ID4gPiBNTFg1X0ZMT1dfQUNUSU9OX09GX1NFVF9WTEFOX1ZJRDsNCj4g PiA+ID4gPiA+ID4gIAkJCWJyZWFrOw0KPiA+ID4gPiA+ID4gPiBAQCAtNjk4MSw3ICs2OTkxLDcg QEAgY250X2VycjoNCj4gPiA+ID4gPiA+ID4gIAkJY2FzZSBSVEVfRkxPV19BQ1RJT05fVFlQRV9T RVRfTUFDX1NSQzoNCj4gPiA+ID4gPiA+ID4gIAkJY2FzZSBSVEVfRkxPV19BQ1RJT05fVFlQRV9T RVRfTUFDX0RTVDoNCj4gPiA+ID4gPiA+ID4gIAkJCWlmDQo+IChmbG93X2R2X2NvbnZlcnRfYWN0 aW9uX21vZGlmeV9tYWMNCj4gPiA+ID4gPiA+ID4gLQkJCQkJKCZtaGRyX3JlcywgYWN0aW9ucywN Cj4gPiA+ID4gPiA+ID4gZXJyb3IpKQ0KPiA+ID4gPiA+ID4gPiArCQkJCQkobWhkcl9yZXMsIGFj dGlvbnMsDQo+ID4gPiA+ID4gPiA+IGVycm9yKSkNCj4gPiA+ID4gPiA+ID4gIAkJCQlyZXR1cm4g LXJ0ZV9lcnJubzsNCj4gPiA+ID4gPiA+ID4gIAkJCWFjdGlvbl9mbGFncyB8PSBhY3Rpb25zLT50 eXBlID09DQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+IAlSVEVfRkxPV19BQ1RJT05fVFlQ RV9TRVRfTUFDX1NSQyA/DQo+ID4gPiA+ID4gPiA+IEBAIC02OTkxLDcgKzcwMDEsNyBAQCBjbnRf ZXJyOg0KPiA+ID4gPiA+ID4gPiAgCQljYXNlIFJURV9GTE9XX0FDVElPTl9UWVBFX1NFVF9JUFY0 X1NSQzoNCj4gPiA+ID4gPiA+ID4gIAkJY2FzZSBSVEVfRkxPV19BQ1RJT05fVFlQRV9TRVRfSVBW NF9EU1Q6DQo+ID4gPiA+ID4gPiA+ICAJCQlpZg0KPiAoZmxvd19kdl9jb252ZXJ0X2FjdGlvbl9t b2RpZnlfaXB2NA0KPiA+ID4gPiA+ID4gPiAtCQkJCQkoJm1oZHJfcmVzLCBhY3Rpb25zLA0KPiA+ ID4gPiA+ID4gPiBlcnJvcikpDQo+ID4gPiA+ID4gPiA+ICsJCQkJCShtaGRyX3JlcywgYWN0aW9u cywNCj4gPiA+ID4gPiA+ID4gZXJyb3IpKQ0KPiA+ID4gPiA+ID4gPiAgCQkJCXJldHVybiAtcnRl X2Vycm5vOw0KPiA+ID4gPiA+ID4gPiAgCQkJYWN0aW9uX2ZsYWdzIHw9IGFjdGlvbnMtPnR5cGUg PT0NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gCVJURV9GTE9XX0FDVElPTl9UWVBFX1NF VF9JUFY0X1NSQyA/DQo+ID4gPiA+ID4gPiA+IEBAIC03MDAxLDcgKzcwMTEsNyBAQCBjbnRfZXJy Og0KPiA+ID4gPiA+ID4gPiAgCQljYXNlIFJURV9GTE9XX0FDVElPTl9UWVBFX1NFVF9JUFY2X1NS QzoNCj4gPiA+ID4gPiA+ID4gIAkJY2FzZSBSVEVfRkxPV19BQ1RJT05fVFlQRV9TRVRfSVBWNl9E U1Q6DQo+ID4gPiA+ID4gPiA+ICAJCQlpZg0KPiAoZmxvd19kdl9jb252ZXJ0X2FjdGlvbl9tb2Rp ZnlfaXB2Ng0KPiA+ID4gPiA+ID4gPiAtCQkJCQkoJm1oZHJfcmVzLCBhY3Rpb25zLA0KPiA+ID4g PiA+ID4gPiBlcnJvcikpDQo+ID4gPiA+ID4gPiA+ICsJCQkJCShtaGRyX3JlcywgYWN0aW9ucywN Cj4gPiA+ID4gPiA+ID4gZXJyb3IpKQ0KPiA+ID4gPiA+ID4gPiAgCQkJCXJldHVybiAtcnRlX2Vy cm5vOw0KPiA+ID4gPiA+ID4gPiAgCQkJYWN0aW9uX2ZsYWdzIHw9IGFjdGlvbnMtPnR5cGUgPT0N Cj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gCVJURV9GTE9XX0FDVElPTl9UWVBFX1NFVF9J UFY2X1NSQyA/DQo+ID4gPiA+ID4gPiA+IEBAIC03MDExLDcgKzcwMjEsNyBAQCBjbnRfZXJyOg0K PiA+ID4gPiA+ID4gPiAgCQljYXNlIFJURV9GTE9XX0FDVElPTl9UWVBFX1NFVF9UUF9TUkM6DQo+ ID4gPiA+ID4gPiA+ICAJCWNhc2UgUlRFX0ZMT1dfQUNUSU9OX1RZUEVfU0VUX1RQX0RTVDoNCj4g PiA+ID4gPiA+ID4gIAkJCWlmIChmbG93X2R2X2NvbnZlcnRfYWN0aW9uX21vZGlmeV90cA0KPiA+ ID4gPiA+ID4gPiAtCQkJCQkoJm1oZHJfcmVzLCBhY3Rpb25zLA0KPiA+ID4gPiA+ID4gPiBpdGVt cywNCj4gPiA+ID4gPiA+ID4gKwkJCQkJKG1oZHJfcmVzLCBhY3Rpb25zLA0KPiA+ID4gPiA+ID4g PiBpdGVtcywNCj4gPiA+ID4gPiA+ID4gIAkJCQkJICZmbG93X2F0dHIsIGVycm9yKSkNCj4gPiA+ ID4gPiA+ID4gIAkJCQlyZXR1cm4gLXJ0ZV9lcnJubzsNCj4gPiA+ID4gPiA+ID4gIAkJCWFjdGlv bl9mbGFncyB8PSBhY3Rpb25zLT50eXBlID09IEBADQo+ID4gPiA+ID4gPiA+IC03MDIxLDEzDQo+ ID4gPiA+ID4NCj4gPiA+ID4gPiArNzAzMSwxMyBAQA0KPiA+ID4gPiA+ID4gPiBjbnRfZXJyOg0K PiA+ID4gPiA+ID4gPiAgCQkJYnJlYWs7DQo+ID4gPiA+ID4gPiA+ICAJCWNhc2UgUlRFX0ZMT1df QUNUSU9OX1RZUEVfREVDX1RUTDoNCj4gPiA+ID4gPiA+ID4gIAkJCWlmDQo+ID4gPiA+ID4gPiA+ IChmbG93X2R2X2NvbnZlcnRfYWN0aW9uX21vZGlmeV9kZWNfdHRsDQo+ID4gPiA+ID4gPiA+IC0J CQkJCSgmbWhkcl9yZXMsIGl0ZW1zLA0KPiA+ID4gPiA+ID4gPiAmZmxvd19hdHRyLA0KPiA+ID4g PiA+ID4gPiBlcnJvcikpDQo+ID4gPiA+ID4gPiA+ICsJCQkJCShtaGRyX3JlcywgaXRlbXMsDQo+ ID4gPiA+ID4gPiA+ICZmbG93X2F0dHIsDQo+ID4gPiA+ID4gPiA+IGVycm9yKSkNCj4gPiA+ID4g PiA+ID4gIAkJCQlyZXR1cm4gLXJ0ZV9lcnJubzsNCj4gPiA+ID4gPiA+ID4gIAkJCWFjdGlvbl9m bGFncyB8PQ0KPiA+ID4gPiA+ID4gPiBNTFg1X0ZMT1dfQUNUSU9OX0RFQ19UVEw7DQo+ID4gPiA+ ID4gPiA+ICAJCQlicmVhazsNCj4gPiA+ID4gPiA+ID4gIAkJY2FzZSBSVEVfRkxPV19BQ1RJT05f VFlQRV9TRVRfVFRMOg0KPiA+ID4gPiA+ID4gPiAgCQkJaWYgKGZsb3dfZHZfY29udmVydF9hY3Rp b25fbW9kaWZ5X3R0bA0KPiA+ID4gPiA+ID4gPiAtCQkJCQkoJm1oZHJfcmVzLCBhY3Rpb25zLA0K PiA+ID4gPiA+ID4gPiBpdGVtcywNCj4gPiA+ID4gPiA+ID4gKwkJCQkJKG1oZHJfcmVzLCBhY3Rp b25zLA0KPiA+ID4gPiA+ID4gPiBpdGVtcywNCj4gPiA+ID4gPiA+ID4gIAkJCQkJICZmbG93X2F0 dHIsIGVycm9yKSkNCj4gPiA+ID4gPiA+ID4gIAkJCQlyZXR1cm4gLXJ0ZV9lcnJubzsNCj4gPiA+ ID4gPiA+ID4gIAkJCWFjdGlvbl9mbGFncyB8PQ0KPiA+ID4gPiA+ID4gPiBNTFg1X0ZMT1dfQUNU SU9OX1NFVF9UVEw7DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBAQCAtNzAzNSw3ICs3MDQ1LDcgQEAN Cj4gPiA+ID4gPiA+ID4gY250X2VycjoNCj4gPiA+ID4gPiA+ID4gIAkJY2FzZSBSVEVfRkxPV19B Q1RJT05fVFlQRV9JTkNfVENQX1NFUToNCj4gPiA+ID4gPiA+ID4gIAkJY2FzZSBSVEVfRkxPV19B Q1RJT05fVFlQRV9ERUNfVENQX1NFUToNCj4gPiA+ID4gPiA+ID4gIAkJCWlmDQo+ID4gPiA+ID4g PiA+IChmbG93X2R2X2NvbnZlcnRfYWN0aW9uX21vZGlmeV90Y3Bfc2VxDQo+ID4gPiA+ID4gPiA+ IC0JCQkJCSgmbWhkcl9yZXMsIGFjdGlvbnMsDQo+ID4gPiA+ID4gPiA+IGVycm9yKSkNCj4gPiA+ ID4gPiA+ID4gKwkJCQkJKG1oZHJfcmVzLCBhY3Rpb25zLA0KPiA+ID4gPiA+ID4gPiBlcnJvcikp DQo+ID4gPiA+ID4gPiA+ICAJCQkJcmV0dXJuIC1ydGVfZXJybm87DQo+ID4gPiA+ID4gPiA+ICAJ CQlhY3Rpb25fZmxhZ3MgfD0gYWN0aW9ucy0+dHlwZSA9PQ0KPiA+ID4gPiA+ID4gPg0KPiA+ID4g PiA+ID4gPiAJUlRFX0ZMT1dfQUNUSU9OX1RZUEVfSU5DX1RDUF9TRVEgPw0KPiA+ID4gPiA+ID4g PiBAQCAtNzA0Niw3ICs3MDU2LDcgQEAgY250X2VycjoNCj4gPiA+ID4gPiA+ID4gIAkJY2FzZSBS VEVfRkxPV19BQ1RJT05fVFlQRV9JTkNfVENQX0FDSzoNCj4gPiA+ID4gPiA+ID4gIAkJY2FzZSBS VEVfRkxPV19BQ1RJT05fVFlQRV9ERUNfVENQX0FDSzoNCj4gPiA+ID4gPiA+ID4gIAkJCWlmDQo+ ID4gPiA+ID4gPiA+IChmbG93X2R2X2NvbnZlcnRfYWN0aW9uX21vZGlmeV90Y3BfYWNrDQo+ID4g PiA+ID4gPiA+IC0JCQkJCSgmbWhkcl9yZXMsIGFjdGlvbnMsDQo+ID4gPiA+ID4gPiA+IGVycm9y KSkNCj4gPiA+ID4gPiA+ID4gKwkJCQkJKG1oZHJfcmVzLCBhY3Rpb25zLA0KPiA+ID4gPiA+ID4g PiBlcnJvcikpDQo+ID4gPiA+ID4gPiA+ICAJCQkJcmV0dXJuIC1ydGVfZXJybm87DQo+ID4gPiA+ ID4gPiA+ICAJCQlhY3Rpb25fZmxhZ3MgfD0gYWN0aW9ucy0+dHlwZSA9PQ0KPiA+ID4gPiA+ID4g Pg0KPiA+ID4gPiA+ID4gPiAJUlRFX0ZMT1dfQUNUSU9OX1RZUEVfSU5DX1RDUF9BQ0sgPw0KPiA+ ID4gPiA+ID4gPiBAQCAtNzA1NSwxMyArNzA2NSwxMyBAQCBjbnRfZXJyOg0KPiA+ID4gPiA+ID4g PiAgCQkJYnJlYWs7DQo+ID4gPiA+ID4gPiA+ICAJCWNhc2UgTUxYNV9SVEVfRkxPV19BQ1RJT05f VFlQRV9UQUc6DQo+ID4gPiA+ID4gPiA+ICAJCQlpZiAoZmxvd19kdl9jb252ZXJ0X2FjdGlvbl9z ZXRfcmVnDQo+ID4gPiA+ID4gPiA+IC0JCQkJCSgmbWhkcl9yZXMsIGFjdGlvbnMsDQo+ID4gPiA+ ID4gPiA+IGVycm9yKSkNCj4gPiA+ID4gPiA+ID4gKwkJCQkJKG1oZHJfcmVzLCBhY3Rpb25zLA0K PiA+ID4gPiA+ID4gPiBlcnJvcikpDQo+ID4gPiA+ID4gPiA+ICAJCQkJcmV0dXJuIC1ydGVfZXJy bm87DQo+ID4gPiA+ID4gPiA+ICAJCQlhY3Rpb25fZmxhZ3MgfD0NCj4gPiA+ID4gPiA+ID4gTUxY NV9GTE9XX0FDVElPTl9TRVRfVEFHOw0KPiA+ID4gPiA+ID4gPiAgCQkJYnJlYWs7DQo+ID4gPiA+ ID4gPiA+ICAJCWNhc2UNCj4gTUxYNV9SVEVfRkxPV19BQ1RJT05fVFlQRV9DT1BZX01SRUc6DQo+ ID4gPiA+ID4gPiA+ICAJCQlpZiAoZmxvd19kdl9jb252ZXJ0X2FjdGlvbl9jb3B5X21yZWcNCj4g PiA+ID4gPiA+ID4gLQkJCQkJKGRldiwgJm1oZHJfcmVzLA0KPiA+ID4gPiA+ID4gPiBhY3Rpb25z LA0KPiA+ID4gPiA+ID4gPiBlcnJvcikpDQo+ID4gPiA+ID4gPiA+ICsJCQkJCShkZXYsIG1oZHJf cmVzLA0KPiA+ID4gPiA+ID4gPiBhY3Rpb25zLA0KPiA+ID4gPiA+ID4gPiBlcnJvcikpDQo+ID4g PiA+ID4gPiA+ICAJCQkJcmV0dXJuIC1ydGVfZXJybm87DQo+ID4gPiA+ID4gPiA+ICAJCQlhY3Rp b25fZmxhZ3MgfD0NCj4gPiA+ID4gPiA+ID4gTUxYNV9GTE9XX0FDVElPTl9TRVRfVEFHOw0KPiA+ ID4gPiA+ID4gPiAgCQkJYnJlYWs7DQo+ID4gPiA+ID4gPiA+IEBAIC03MDg2LDEwICs3MDk2LDEw IEBAIGNudF9lcnI6DQo+ID4gPiA+ID4gPiA+ICAJCQlicmVhazsNCj4gPiA+ID4gPiA+ID4gIAkJ Y2FzZSBSVEVfRkxPV19BQ1RJT05fVFlQRV9FTkQ6DQo+ID4gPiA+ID4gPiA+ICAJCQlhY3Rpb25z X2VuZCA9IHRydWU7DQo+ID4gPiA+ID4gPiA+IC0JCQlpZiAobWhkcl9yZXMuYWN0aW9uc19udW0p IHsNCj4gPiA+ID4gPiA+ID4gKwkJCWlmIChtaGRyX3Jlcy0+YWN0aW9uc19udW0pIHsNCj4gPiA+ ID4gPiA+ID4gIAkJCQkvKiBjcmVhdGUgbW9kaWZ5IGFjdGlvbiBpZg0KPiA+ID4gPiA+ID4gPiBu ZWVkZWQuICovDQo+ID4gPiA+ID4gPiA+ICAJCQkJaWYNCj4gPiA+ID4gPiA+ID4gKGZsb3dfZHZf bW9kaWZ5X2hkcl9yZXNvdXJjZV9yZWdpc3Rlcg0KPiA+ID4gPiA+ID4gPiAtCQkJCQkoZGV2LCAm bWhkcl9yZXMsDQo+ID4gPiA+ID4gPiA+IGRldl9mbG93LA0KPiA+ID4gPiA+ID4gPiBlcnJvcikp DQo+ID4gPiA+ID4gPiA+ICsJCQkJCShkZXYsIG1oZHJfcmVzLA0KPiA+ID4gPiA+ID4gPiBkZXZf ZmxvdywNCj4gPiA+ID4gPiA+ID4gZXJyb3IpKQ0KPiA+ID4gPiA+ID4gPiAgCQkJCQlyZXR1cm4g LXJ0ZV9lcnJubzsNCj4gPiA+ID4gPiA+ID4gIAkJCQlkZXZfZmxvdy0NCj4gPiA+ID4gPiA+ID4g PiBkdi5hY3Rpb25zW21vZGlmeV9hY3Rpb25fcG9zaXRpb25dID0NCj4gPiA+ID4gPiA+ID4NCj4g PiA+ID4gPiA+ID4gIAkJCQkJZGV2X2Zsb3ctDQo+ID4gPiA+ID4gPiA+ID4gZHYubW9kaWZ5X2hk ci0NCj4gPiA+ID4gPiA+ID4gPiB2ZXJic19hY3Rpb247DQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPiA+IEBAIC03MDk4LDcgKzcxMDgsNyBAQCBjbnRfZXJyOg0KPiA+ID4gPiA+ID4gPiAgCQlk ZWZhdWx0Og0KPiA+ID4gPiA+ID4gPiAgCQkJYnJlYWs7DQo+ID4gPiA+ID4gPiA+ICAJCX0NCj4g PiA+ID4gPiA+ID4gLQkJaWYgKG1oZHJfcmVzLmFjdGlvbnNfbnVtICYmDQo+ID4gPiA+ID4gPiA+ ICsJCWlmIChtaGRyX3Jlcy0+YWN0aW9uc19udW0gJiYNCj4gPiA+ID4gPiA+ID4gIAkJICAgIG1v ZGlmeV9hY3Rpb25fcG9zaXRpb24gPT0gVUlOVDMyX01BWCkNCj4gPiA+ID4gPiA+ID4gIAkJCW1v ZGlmeV9hY3Rpb25fcG9zaXRpb24gPSBhY3Rpb25zX24rKzsNCj4gPiA+ID4gPiA+ID4gIAl9DQo+ ID4gPiA+ID4gPiA+IC0tDQo+ID4gPiA+ID4gPiA+IDIuMjAuMQ0KPiA+ID4gPiA+ID4gPg0KPiA+ ID4gPiA+ID4gPiAtLS0NCj4gPiA+ID4gPiA+ID4gICBEaWZmIG9mIHRoZSBhcHBsaWVkIHBhdGNo IHZzIHVwc3RyZWFtIGNvbW1pdCAocGxlYXNlDQo+ID4gPiA+ID4gPiA+IGRvdWJsZS0NCj4gPiA+ ID4gPg0KPiA+ID4gPiA+IGNoZWNrDQo+ID4gPiA+ID4gPiA+IGlmDQo+ID4gPiA+ID4gPiA+IG5v bi1lbXB0eToNCj4gPiA+ID4gPiA+ID4gLS0tDQo+ID4gPiA+ID4gPiA+IC0tLSAtCTIwMjAtMDIt MTEgMTE6MTc6NDIuOTk0ODA0NzkwICswMDAwDQo+ID4gPiA+ID4gPiA+ICsrKyAwMTIyLW5ldC1t bHg1LWZpeC1tb2RpZnktYWN0aW9ucy1zdXBwb3J0LQ0KPiA+ID4gPiA+ID4gPiBsaW1pdGF0aW9u LnBhdGNoDQo+ID4gPiA+ID4gPiA+IDIwMjAtDQo+ID4gPiA+ID4gPiA+IDAyLTExIDExOjE3OjM4 LjYxMjAwNTMxMSArMDAwMA0KPiA+ID4gPiA+ID4gPiBAQCAtMSw4ICsxLDEwIEBADQo+ID4gPiA+ ID4gPiA+IC1Gcm9tIDAyNGU5NTc1OWMxNmM2N2VlZTkyZWZmZmVlZTM0OTE1ZGM5NGE5YzAgTW9u DQo+IFNlcA0KPiA+ID4NCj4gPiA+IDE3DQo+ID4gPiA+ID4gPiA+IDAwOjAwOjAwIDIwMDENCj4g PiA+ID4gPiA+ID4gK0Zyb20gZTBkZTgxNmY5NDVlNTk5YTkzMzA4MWM1M2JiMDYwZDVkZDRjYmYx MyBNb24NCj4gPiA+DQo+ID4gPiBTZXAgMTcNCj4gPiA+ID4gPiA+ID4gMDA6MDA6MDAgMjAwMQ0K PiA+ID4gPiA+ID4gPiAgRnJvbTogQmluZyBaaGFvIDwNCj4gPiA+ID4gPiA+ID4gYmluZ3pAbWVs bGFub3guY29tDQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+DQo+ ID4gPiA+ID4gPiA+ICBEYXRlOiBNb24sIDIwIEphbiAyMDIwIDExOjQzOjA3ICswMjAwDQo+ID4g PiA+ID4gPiA+ICBTdWJqZWN0OiBbUEFUQ0hdIG5ldC9tbHg1OiBmaXggbW9kaWZ5IGFjdGlvbnMg c3VwcG9ydA0KPiA+ID4gPiA+ID4gPiBsaW1pdGF0aW9uDQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPiA+ICtbIHVwc3RyZWFtIGNvbW1pdA0KPiA+ID4NCj4gPiA+IDAyNGU5NTc1OWMxNmM2N2Vl ZTkyZWZmZmVlZTM0OTE1ZGM5NGE5YzAgXQ0KPiA+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPiA+ ICBJbiB0aGUgcm9vdCB0YWJsZSwgdGhlcmUgaXMgc29tZSBsaW1pdGF0aW9uIG9mIHRvdGFsDQo+ ID4gPiA+ID4gPiA+IG51bWJlciBvZg0KPiA+ID4gPiA+ID4gPiBoZWFkZXIgbW9kaWZ5IGFjdGlv bnMsIDE2IG9yIDggZm9yIGVhY2guIEJ1dCBpbiBvdGhlcg0KPiA+ID4gPiA+ID4gPiB0YWJsZXMs DQo+ID4gPiA+ID4gPiA+IHRoZXJlDQo+ID4gPiA+ID4gPiA+IGlzIG5vICBzdWNoIHN0cmljdCBs aW1pdGF0aW9uLiBJbiBhbiBJUHY2IGNhc2UsIHRoZSBJUA0KPiA+ID4gPiA+ID4gPiBmaWVsZHMN Cj4gPiA+ID4gPiA+ID4gbW9kaWZ5aW5nIEBADQo+ID4gPiA+ID4gPiA+IC0xNiwyMQ0KPiA+ID4g PiA+ID4gPiArMTgsMjAgQEAgIG1heGltYWwgc3VwcG9ydGVkIHZhbHVlLg0KPiA+ID4gPiA+ID4g Pg0KPiA+ID4gPiA+ID4gPiAgRml4ZXM6IDBlOWQwMDAyNzY4NiAoIm5ldC9tbHg1OiBjaGVjayBt YXhpbXVtIG1vZGlmeQ0KPiA+ID4NCj4gPiA+IGFjdGlvbnMNCj4gPiA+ID4gPiA+ID4gbnVtYmVy IikNCj4gPiA+ID4gPiA+ID4gLUNjOg0KPiA+ID4gPiA+ID4gPiBzdGFibGVAZHBkay5vcmcNCj4g PiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4N Cj4gPiA+ID4gPiA+ID4gIFNpZ25lZC1vZmYtYnk6IEJpbmcgWmhhbyA8DQo+ID4gPiA+ID4gPiA+ IGJpbmd6QG1lbGxhbm94LmNvbQ0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPg0KPiA+ID4g PiA+ID4gPg0KPiA+ID4gPiA+ID4gPiAgQWNrZWQtYnk6IE9yaSBLYW0gPA0KPiA+ID4gPiA+ID4g PiBvcmlrYUBtZWxsYW5veC5jb20NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gIEFja2VkLWJ5OiBWaWFjaGVzbGF2IE92c2lpZW5rbyA8 DQo+ID4gPiA+ID4gPiA+IHZpYWNoZXNsYXZvQG1lbGxhbm94LmNvbQ0KPiA+ID4gPiA+ID4gPg0K PiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiAgLS0tDQo+ID4gPiA+ ID4gPiA+ICAgZHJpdmVycy9uZXQvbWx4NS9tbHg1X2Zsb3cuaCAgICB8ICAxNSArKystLQ0KPiA+ ID4gPiA+ID4gPiAtIGRyaXZlcnMvbmV0L21seDUvbWx4NV9mbG93X2R2LmMgfCAxMDgNCj4gKysr KysrKysrKysrKysrKystLQ0KPiA+ID4NCj4gPiA+IC0tDQo+ID4gPiA+ID4gPiA+IC0tLQ0KPiA+ ID4gPiA+DQo+ID4gPiA+ID4gLQ0KPiA+ID4gPiA+ID4gPiAtLS0tDQo+ID4gPiA+ID4gPiA+IC0t LQ0KPiA+ID4gPiA+ID4gPiAtIDIgZmlsZXMgY2hhbmdlZCwgNjggaW5zZXJ0aW9ucygrKSwgNTUg ZGVsZXRpb25zKC0pDQo+ID4gPiA+ID4gPiA+ICsgZHJpdmVycy9uZXQvbWx4NS9tbHg1X2Zsb3df ZHYuYyB8IDEwNA0KPiArKysrKysrKysrKysrKysrKy0tDQo+ID4gPg0KPiA+ID4gLS0tLQ0KPiA+ ID4gPiA+IC0tDQo+ID4gPiA+ID4gPiA+IC0tLQ0KPiA+ID4gPiA+ID4gPiAtLS0tDQo+ID4gPiA+ ID4gPiA+ICsgMiBmaWxlcyBjaGFuZ2VkLCA2NiBpbnNlcnRpb25zKCspLCA1MyBkZWxldGlvbnMo LSkNCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gIGRpZmYgLS1naXQgYS9kcml2ZXJzL25l dC9tbHg1L21seDVfZmxvdy5oDQo+ID4gPiA+ID4gPiA+IGIvZHJpdmVycy9uZXQvbWx4NS9tbHg1 X2Zsb3cuaCAtaW5kZXgNCj4gPiA+DQo+ID4gPiBhMWM3YjY3NDg4Li45ODMyNTQyMzI4DQo+ID4g PiA+ID4gPiA+IDEwMDY0NA0KPiA+ID4gPiA+ID4gPiAraW5kZXggZGIxMjcxNWVjYy4uMTNiZWQw OGQ3NSAxMDA2NDQNCj4gPiA+ID4gPiA+ID4gIC0tLSBhL2RyaXZlcnMvbmV0L21seDUvbWx4NV9m bG93LmgNCj4gPiA+ID4gPiA+ID4gICsrKyBiL2RyaXZlcnMvbmV0L21seDUvbWx4NV9mbG93LmgN Cj4gPiA+ID4gPiA+ID4gLUBAIC0zOTIsMTEgKzM5MiwxNCBAQCBzdHJ1Y3QNCj4gbWx4NV9mbG93 X2R2X3RhZ19yZXNvdXJjZSB7DQo+ID4gPiA+ID4gPiA+ICtAQCAtMzkxLDExICszOTEsMTQgQEAg c3RydWN0DQo+IG1seDVfZmxvd19kdl90YWdfcmVzb3VyY2Ugew0KPiA+ID4gPiA+ID4gPg0KPiA+ ID4gPiA+ID4gPiAgIC8qDQo+ID4gPiA+ID4gPiA+ICAgICogTnVtYmVyIG9mIG1vZGlmaWNhdGlv biBjb21tYW5kcy4NCj4gPiA+ID4gPiA+ID4gQEAgLTQ5LDcgKzUwLDcgQEANCj4gPiA+ID4gPiA+ ID4NCj4gPiA+ID4gPiA+ID4gICAvKiBNb2RpZnkgcmVzb3VyY2Ugc3RydWN0dXJlICovDQo+ID4g PiA+ID4gPiA+ICAgc3RydWN0IG1seDVfZmxvd19kdl9tb2RpZnlfaGRyX3Jlc291cmNlIHsgLUBA IC00MDcsOQ0KPiA+ID4NCj4gPiA+ICs0MTAsOQ0KPiA+ID4gPiA+IEBADQo+ID4gPiA+ID4gPiA+ IHN0cnVjdCBtbHg1X2Zsb3dfZHZfbW9kaWZ5X2hkcl9yZXNvdXJjZSB7DQo+ID4gPiA+ID4gPiA+ ICtAQCAtNDA2LDkgKzQwOSw5IEBAIHN0cnVjdA0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gbWx4NV9m bG93X2R2X21vZGlmeV9oZHJfcmVzb3VyY2Ugew0KPiA+ID4gPiA+ID4gPiAgIAkvKio8IFZlcmJz IG1vZGlmeSBoZWFkZXIgYWN0aW9uIG9iamVjdC4gKi8NCj4gPiA+ID4gPiA+ID4gICAJdWludDhf dCBmdF90eXBlOyAvKio8IEZsb3cgdGFibGUgdHlwZSwgUnggb3IgVHguICovDQo+ID4gPiA+ID4g PiA+ICAgCXVpbnQzMl90IGFjdGlvbnNfbnVtOyAvKio8IE51bWJlciBvZiBtb2RpZmljYXRpb24N Cj4gPiA+ID4gPiA+ID4gYWN0aW9ucy4NCj4gPiA+ID4gPiA+ID4gKi8gQEAgLTYyLDEwICs2Mywx MCBAQA0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiAgIC8qIEp1bXAgYWN0aW9uIHJlc291 cmNlIHN0cnVjdHVyZS4gKi8gIGRpZmYgLS1naXQNCj4gPiA+ID4gPiA+ID4gYS9kcml2ZXJzL25l dC9tbHg1L21seDVfZmxvd19kdi5jDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBiL2RyaXZlcnMvbmV0 L21seDUvbWx4NV9mbG93X2R2LmMNCj4gPiA+ID4gPiA+ID4gLWluZGV4IDI2ZGJhYWYzMjkuLjVh MWI0MjY5OGMNCj4gPiA+ID4gPiA+ID4gMTAwNjQ0DQo+ID4gPiA+ID4gPiA+ICtpbmRleCA4Zjc3 OTA5NDE5Li43NGQxYTY4ZTRhIDEwMDY0NA0KPiA+ID4gPiA+ID4gPiAgLS0tIGEvZHJpdmVycy9u ZXQvbWx4NS9tbHg1X2Zsb3dfZHYuYyAgKysrDQo+ID4gPiA+ID4gPiA+IGIvZHJpdmVycy9uZXQv bWx4NS9tbHg1X2Zsb3dfZHYuYyAtQEAgLTM2Niw3ICszNjYsNw0KPiBAQA0KPiA+ID4gPiA+ID4g PiBmbG93X2R2X2NvbnZlcnRfbW9kaWZ5X2FjdGlvbihzdHJ1Y3QNCj4gPiA+ID4gPiA+ID4gcnRl X2Zsb3dfaXRlbSAqaXRlbSwNCj4gPiA+ID4gPiA+ID4gK0BAIC0zNjMsNyArMzYzLDcgQEANCj4g Zmxvd19kdl9jb252ZXJ0X21vZGlmeV9hY3Rpb24oc3RydWN0DQo+ID4gPiA+ID4gPiA+IHJ0ZV9m bG93X2l0ZW0NCj4gPiA+ID4gPiA+ID4gKyppdGVtLA0KPiA+ID4gPiA+ID4gPiAgIAkJdWludDMy X3QgbWFzazsNCj4gPiA+ID4gPiA+ID4gICAJCXVpbnQzMl90IGRhdGE7DQo+ID4gPiA+ID4gPiA+ DQo+ID4gPiA+ID4gPiA+IEBAIC03NCw3ICs3NSw3IEBADQo+ID4gPiA+ID4gPiA+ICAgCQkJcmV0 dXJuIHJ0ZV9mbG93X2Vycm9yX3NldChlcnJvciwNCj4gPiA+ID4gPiA+ID4gRUlOVkFMLA0KPiA+ ID4gPiA+ID4gPg0KPiA+ID4NCj4gPiA+IFJURV9GTE9XX0VSUk9SX1RZUEVfQUNUSU9OLA0KPiA+ ID4gPiA+ID4gPiBOVUxMLA0KPiA+ID4gPiA+ID4gPiAgIAkJCQkgInRvbyBtYW55IGl0ZW1zIHRv IG1vZGlmeSIpOw0KPiA+ID4gPiA+ID4gPiAtQEAgLTQwNywxMSArNDA3LDExIEBADQo+ID4gPg0K PiA+ID4gZmxvd19kdl9jb252ZXJ0X21vZGlmeV9hY3Rpb24oc3RydWN0DQo+ID4gPiA+ID4gPiA+ IHJ0ZV9mbG93X2l0ZW0gKml0ZW0sDQo+ID4gPiA+ID4gPiA+ICtAQCAtNDA0LDExICs0MDQsMTEg QEANCj4gPiA+DQo+ID4gPiBmbG93X2R2X2NvbnZlcnRfbW9kaWZ5X2FjdGlvbihzdHJ1Y3QNCj4g PiA+ID4gPiA+ID4gK3J0ZV9mbG93X2l0ZW0gKml0ZW0sDQo+ID4gPiA+ID4gPiA+ICAgCQkrK2k7 DQo+ID4gPiA+ID4gPiA+ICAgCQkrK2ZpZWxkOw0KPiA+ID4gPiA+ID4gPiAgIAl9IHdoaWxlIChm aWVsZC0+c2l6ZSk7DQo+ID4gPiA+ID4gPiA+IEBAIC04OCw3ICs4OSw3IEBADQo+ID4gPiA+ID4g PiA+ICAgCXJldHVybiAwOw0KPiA+ID4gPiA+ID4gPiAgIH0NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+ID4gLUBAIC01NzIsNyArNTcyLDcgQEANCj4gPiA+DQo+ID4gPiBmbG93X2R2X2NvbnZl cnRfYWN0aW9uX21vZGlmeV92bGFuX3ZpZA0KPiA+ID4gPiA+ID4gPiArQEAgLTU2OSw3ICs1Njks NyBAQA0KPiA+ID4NCj4gPiA+IGZsb3dfZHZfY29udmVydF9hY3Rpb25fbW9kaWZ5X3ZsYW5fdmlk DQo+ID4gPiA+ID4gPiA+ICAgCXN0cnVjdCBtbHg1X21vZGlmaWNhdGlvbl9jbWQgKmFjdGlvbnMg PSAmcmVzb3VyY2UtDQo+ID4gPiA+ID4gPiA+ID4gYWN0aW9uc1tpXTsNCj4gPiA+ID4gPiA+ID4N Cj4gPiA+ID4gPiA+ID4gICAJc3RydWN0IGZpZWxkX21vZGlmeV9pbmZvICpmaWVsZCA9DQo+ID4g PiA+ID4gPiA+IG1vZGlmeV92bGFuX291dF9maXJzdF92aWQ7DQo+ID4gPiA+ID4gPiA+DQo+ID4g PiA+ID4gPiA+IEBAIC05Nyw3ICs5OCw3IEBADQo+ID4gPiA+ID4gPiA+ICAgCQlyZXR1cm4gcnRl X2Zsb3dfZXJyb3Jfc2V0KGVycm9yLCBFSU5WQUwsDQo+ID4gPiA+ID4gPiA+ICAgCQkJIFJURV9G TE9XX0VSUk9SX1RZUEVfQUNUSU9OLA0KPiA+ID4NCj4gPiA+IE5VTEwsDQo+ID4gPiA+ID4gPiA+ ICAgCQkJICJ0b28gbWFueSBpdGVtcyB0byBtb2RpZnkiKTsNCj4gPiA+ID4gPiA+ID4gLUBAIC05 MDUsNyArOTA1LDcgQEAgZmxvd19kdl9jb252ZXJ0X2FjdGlvbl9zZXRfcmVnDQo+ID4gPiA+ID4g PiA+ICtAQCAtOTAyLDcgKzkwMiw3IEBAIGZsb3dfZHZfY29udmVydF9hY3Rpb25fc2V0X3JlZw0K PiA+ID4gPiA+ID4gPiAgIAlzdHJ1Y3QgbWx4NV9tb2RpZmljYXRpb25fY21kICphY3Rpb25zID0g cmVzb3VyY2UtDQo+ID4gPiA+ID4gPiA+ID4gYWN0aW9uczsNCj4gPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+ID4gICAJdWludDMyX3QgaSA9IHJlc291cmNlLT5hY3Rpb25zX251bTsNCj4gPiA+ID4g PiA+ID4NCj4gPiA+ID4gPiA+ID4gQEAgLTEwNiw3ICsxMDcsNyBAQA0KPiA+ID4gPiA+ID4gPiAg IAkJcmV0dXJuIHJ0ZV9mbG93X2Vycm9yX3NldChlcnJvciwgRUlOVkFMLA0KPiA+ID4gPiA+ID4g Pg0KPiA+ID4gPiA+ID4gPiBSVEVfRkxPV19FUlJPUl9UWVBFX0FDVElPTiwgTlVMTCwNCj4gPiA+ ID4gPiA+ID4gICAJCQkJCSAgInRvbyBtYW55IGl0ZW1zIHRvDQo+ID4gPiA+ID4gPiA+IG1vZGlm eSIpOyAtDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBAQCAtOTE3LDEwICs5MTcsNiBAQA0KPiA+ID4g PiA+ID4gPiBmbG93X2R2X2NvbnZlcnRfYWN0aW9uX3NldF9yZWcNCj4gPiA+ID4gPiA+ID4gK0BA IC05MTQsMTAgKzkxNCw2IEBAIGZsb3dfZHZfY29udmVydF9hY3Rpb25fc2V0X3JlZw0KPiA+ID4g PiA+ID4gPiAgIAlhY3Rpb25zW2ldLmRhdGExID0gcnRlX2NwdV90b19iZV8zMihjb25mLT5kYXRh KTsNCj4gPiA+ID4gPiA+ID4gICAJKytpOw0KPiA+ID4gPiA+ID4gPiAgIAlyZXNvdXJjZS0+YWN0 aW9uc19udW0gPSBpOw0KPiA+ID4gPiA+ID4gPiBAQCAtMTE3LDcgKzExOCw3IEBADQo+ID4gPiA+ ID4gPiA+ICAgCXJldHVybiAwOw0KPiA+ID4gPiA+ID4gPiAgIH0NCj4gPiA+ID4gPiA+ID4NCj4g PiA+ID4gPiA+ID4gLUBAIC0yMzg1LDcgKzIzODEsNiBAQA0KPiA+ID4gPiA+DQo+ID4gPiA+ID4g Zmxvd19kdl9lbmNhcF9kZWNhcF9yZXNvdXJjZV9yZWdpc3Rlcg0KPiA+ID4gPiA+ID4gPiArQEAg LTIyNTYsNyArMjI1Miw2IEBADQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBmbG93X2R2X2VuY2FwX2Rl Y2FwX3Jlc291cmNlX3JlZ2lzdGVyDQo+ID4gPiA+ID4gPiA+ICAgCQlkb21haW4gPSBzaC0+cnhf ZG9tYWluOw0KPiA+ID4gPiA+ID4gPiAgIAllbHNlDQo+ID4gPiA+ID4gPiA+ICAgCQlkb21haW4g PSBzaC0+dHhfZG9tYWluOw0KPiA+ID4gPiA+ID4gPiBAQCAtMTI1LDcgKzEyNiw3IEBADQo+ID4g PiA+ID4gPiA+ICAgCS8qIExvb2t1cCBhIG1hdGNoaW5nIHJlc291cmNlIGZyb20gY2FjaGUuICov DQo+ID4gPiA+ID4gPiA+ICAgCUxJU1RfRk9SRUFDSChjYWNoZV9yZXNvdXJjZSwgJnNoLT5lbmNh cHNfZGVjYXBzLA0KPiA+ID4NCj4gPiA+IG5leHQpDQo+ID4gPiA+ID4gPiA+IHsNCj4gPiA+ID4g PiA+ID4gICAJCWlmIChyZXNvdXJjZS0+cmVmb3JtYXRfdHlwZSA9PQ0KPiA+ID4NCj4gPiA+IGNh Y2hlX3Jlc291cmNlLQ0KPiA+ID4gPiA+ID4gPiA+IHJlZm9ybWF0X3R5cGUgJiYgLUBAIC0zNDk2 LDIxICszNDkxLDI3IEBADQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+IGZsb3dfZHZfdmFs aWRhdGVfYWN0aW9uX3BvcnRfaWQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsDQo+ID4gPiA+ID4g PiA+ICtAQCAtMzM2NywyMSArMzM2MiwyNyBAQA0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gZmxvd19k dl92YWxpZGF0ZV9hY3Rpb25fcG9ydF9pZChzdHJ1Y3QNCj4gPiA+ID4gPiA+ID4gK3J0ZV9ldGhf ZGV2ICpkZXYsDQo+ID4gPiA+ID4gPiA+ICAgICoNCj4gPiA+ID4gPiA+ID4gICAgKiBAcGFyYW0g ZGV2DQo+ID4gPiA+ID4gPiA+ICAgICogICBQb2ludGVyIHRvIHJ0ZV9ldGhfZGV2IHN0cnVjdHVy ZS4NCj4gPiA+ID4gPiA+ID4gQEAgLTE1Nyw3ICsxNTgsNyBAQA0KPiA+ID4gPiA+ID4gPiAgIH0N Cj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gICAvKioNCj4gPiA+ID4gPiA+ID4gLUBAIC0z NjY5LDggKzM2NzAsMTIgQEANCj4gPiA+ID4gPg0KPiA+ID4gPiA+IGZsb3dfZHZfbW9kaWZ5X2hk cl9yZXNvdXJjZV9yZWdpc3Rlcg0KPiA+ID4gPiA+ID4gPiArQEAgLTM0NzIsOCArMzQ3MywxMiBA QA0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gZmxvd19kdl9tb2RpZnlfaGRyX3Jlc291cmNlX3JlZ2lz dGVyDQo+ID4gPiA+ID4gPiA+ICAgCXN0cnVjdCBtbHg1X2lidl9zaGFyZWQgKnNoID0gcHJpdi0+ c2g7DQo+ID4gPiA+ID4gPiA+ICAgCXN0cnVjdCBtbHg1X2Zsb3dfZHZfbW9kaWZ5X2hkcl9yZXNv dXJjZQ0KPiA+ID4gPiA+ID4gPiAqY2FjaGVfcmVzb3VyY2U7DQo+ID4gPiA+ID4gPiA+ICAgCXN0 cnVjdCBtbHg1ZHZfZHJfZG9tYWluICpuczsNCj4gPiA+ID4gPiA+ID4gQEAgLTE3MSw3ICsxNzIs NyBAQA0KPiA+ID4gPiA+ID4gPiAgIAkJcmV0dXJuIHJ0ZV9mbG93X2Vycm9yX3NldChlcnJvciwg RU9WRVJGTE9XLA0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiBSVEVfRkxPV19FUlJPUl9U WVBFX0FDVElPTiwgTlVMTCwNCj4gPiA+ID4gPiA+ID4gICAJCQkJCSAgInRvbyBtYW55IG1vZGlm eQ0KPiA+ID4gPiA+ID4gPiBoZWFkZXINCj4gPiA+ID4gPiA+ID4gaXRlbXMiKTsgLUBAIC0zNjgw LDE3ICszNjg1LDE1IEBADQo+ID4gPiA+ID4gPiA+IGZsb3dfZHZfbW9kaWZ5X2hkcl9yZXNvdXJj ZV9yZWdpc3Rlcg0KPiA+ID4gPiA+ID4gPiArQEAgLTM0ODMsMTcgKzM0ODgsMTUgQEANCj4gPiA+ ID4gPg0KPiA+ID4gPiA+IGZsb3dfZHZfbW9kaWZ5X2hkcl9yZXNvdXJjZV9yZWdpc3Rlcg0KPiA+ ID4gPiA+ID4gPiAgIAkJbnMgPSBzaC0+dHhfZG9tYWluOw0KPiA+ID4gPiA+ID4gPiAgIAllbHNl DQo+ID4gPiA+ID4gPiA+ICAgCQlucyA9IHNoLT5yeF9kb21haW47DQo+ID4gPiA+ID4gPiA+IEBA IC0xOTEsNyArMTkyLDcgQEANCj4gPiA+ID4gPiA+ID4gICAJCQlEUlZfTE9HKERFQlVHLCAibW9k aWZ5LWhlYWRlcg0KPiA+ID4gPiA+ID4gPiByZXNvdXJjZSAlcDogcmVmY250ICVkKysiLA0KPiA+ ID4gPiA+ID4gPiAgIAkJCQkodm9pZCAqKWNhY2hlX3Jlc291cmNlLA0KPiA+ID4gPiA+ID4gPg0K PiA+ID4NCj4gPiA+IAlydGVfYXRvbWljMzJfcmVhZCgmY2FjaGVfcmVzb3VyDQo+ID4gPiA+ID4g PiA+IGNlLQ0KPiA+ID4gPiA+ID4gPiA+IHJlZmNudCkpOw0KPiA+ID4gPiA+ID4gPg0KPiA+ID4g PiA+ID4gPiAtQEAgLTM3MDAsMTggKzM3MDMsMTggQEANCj4gPiA+ID4gPg0KPiA+ID4gPiA+IGZs b3dfZHZfbW9kaWZ5X2hkcl9yZXNvdXJjZV9yZWdpc3Rlcg0KPiA+ID4gPiA+ID4gPiArQEAgLTM1 MDMsMTggKzM1MDYsMTggQEANCj4gPiA+ID4gPg0KPiA+ID4gPiA+IGZsb3dfZHZfbW9kaWZ5X2hk cl9yZXNvdXJjZV9yZWdpc3Rlcg0KPiA+ID4gPiA+ID4gPiAgIAkJfQ0KPiA+ID4gPiA+ID4gPiAg IAl9DQo+ID4gPiA+ID4gPiA+ICAgCS8qIFJlZ2lzdGVyIG5ldyBtb2RpZnktaGVhZGVyIHJlc291 cmNlLiAqLyBAQCAtDQo+ID4gPg0KPiA+ID4gMjE1LDcNCj4gPiA+ID4gPiA+ID4gKzIxNiw3DQo+ ID4gPiA+ID4NCj4gPiA+ID4gPiBAQA0KPiA+ID4gPiA+ID4gPiAgIAkJCQkJICh1aW50NjRfdA0K PiA+ID4gPiA+ID4gPiAqKWNhY2hlX3Jlc291cmNlLQ0KPiA+ID4gPiA+ID4gPiA+IGFjdGlvbnMp Ow0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiAgIAlpZiAoIWNhY2hlX3Jlc291cmNlLT52 ZXJic19hY3Rpb24pIHsNCj4gPiA+ID4gPiA+ID4gICAJCXJ0ZV9mcmVlKGNhY2hlX3Jlc291cmNl KTsNCj4gPiA+ID4gPiA+ID4gLUBAIC03MDIwLDEwICs3MDIzLDEzIEBAIF9fZmxvd19kdl90cmFu c2xhdGUoc3RydWN0DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBydGVfZXRoX2Rldg0KPiA+ID4gPiA+ ID4gPiAqZGV2LA0KPiA+ID4gPiA+ID4gPiArQEAgLTY2NzAsMTAgKzY2NzMsMTMgQEAgX19mbG93 X2R2X3RyYW5zbGF0ZShzdHJ1Y3QNCj4gPiA+ID4gPg0KPiA+ID4gPiA+IHJ0ZV9ldGhfZGV2DQo+ ID4gPiA+ID4gPiA+ICpkZXYsDQo+ID4gPiA+ID4gPiA+ICAgCX07DQo+ID4gPiA+ID4gPiA+ICAg CWludCBhY3Rpb25zX24gPSAwOw0KPiA+ID4gPiA+ID4gPiAgIAlib29sIGFjdGlvbnNfZW5kID0g ZmFsc2U7DQo+ID4gPiA+ID4gPiA+IEBAIC0yMzMsNyArMjM0LDcgQEANCj4gPiA+ID4gPiA+ID4g ICAJdW5pb24gZmxvd19kdl9hdHRyIGZsb3dfYXR0ciA9IHsgLmF0dHIgPSAwIH07DQo+ID4gPiA+ ID4gPiA+ICAgCXVpbnQzMl90IHRhZ19iZTsNCj4gPiA+ID4gPiA+ID4gICAJdW5pb24gbWx4NV9m bG93X3RibF9rZXkgdGJsX2tleTsNCj4gPiA+ID4gPiA+ID4gLUBAIC03MDM1LDE1ICs3MDQxLDE5 IEBAIF9fZmxvd19kdl90cmFuc2xhdGUoc3RydWN0DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBydGVf ZXRoX2Rldg0KPiA+ID4gPiA+ID4gPiAqZGV2LA0KPiA+ID4gPiA+ID4gPiArQEAgLTY2ODUsMTUg KzY2OTEsMTkgQEAgX19mbG93X2R2X3RyYW5zbGF0ZShzdHJ1Y3QNCj4gPiA+ID4gPg0KPiA+ID4g PiA+IHJ0ZV9ldGhfZGV2DQo+ID4gPiA+ID4gPiA+ICpkZXYsDQo+ID4gPiA+ID4gPiA+ICAgCXVp bnQzMl90IHRhYmxlOw0KPiA+ID4gPiA+ID4gPiAgIAlpbnQgcmV0ID0gMDsNCj4gPiA+ID4gPiA+ ID4NCj4gPiA+ID4gPiA+ID4gQEAgLTI1NCw3ICsyNTUsNyBAQA0KPiA+ID4gPiA+ID4gPiAgIAlm b3IgKDsgIWFjdGlvbnNfZW5kIDsgYWN0aW9ucysrKSB7DQo+ID4gPiA+ID4gPiA+ICAgCQljb25z dCBzdHJ1Y3QgcnRlX2Zsb3dfYWN0aW9uX3F1ZXVlICpxdWV1ZTsNCj4gPiA+ID4gPiA+ID4gICAJ CWNvbnN0IHN0cnVjdCBydGVfZmxvd19hY3Rpb25fcnNzICpyc3M7IC1AQA0KPiA+ID4gPiA+ID4g PiAtNzA4MSw3DQo+ID4gPiA+ID4gPiA+ICs3MDkxLDcgQEAgX19mbG93X2R2X3RyYW5zbGF0ZShz dHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwNCj4gQEANCj4gPiA+DQo+ID4gPiAtDQo+ID4gPiA+ID4g NjczMSw3DQo+ID4gPiA+ID4gPiA+ICsrNjc0MSw3IEBAIF9fZmxvd19kdl90cmFuc2xhdGUoc3Ry dWN0IHJ0ZV9ldGhfZGV2DQo+ID4gPiA+ID4gPiA+ICpkZXYsDQo+ID4gPiA+ID4gPiA+ICAgCQkJ CX07DQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ICAgCQkJCWlmDQo+ID4gPiA+ID4gPiA+ IChmbG93X2R2X2NvbnZlcnRfYWN0aW9uX21hcmsoZGV2LA0KPiA+ID4gPiA+DQo+ID4gPiA+ID4g Jm1hcmssIEBAIC0yNjMsNyArMjY0LDcNCj4gPiA+ID4gPiA+ID4gQEANCj4gPiA+ID4gPiA+ID4N Cj4gPiA+ID4gPiA+ID4gZXJyb3IpKQ0KPiA+ID4gPiA+ID4gPiAgIAkJCQkJcmV0dXJuIC1ydGVf ZXJybm87DQo+ID4gPiA+ID4gPiA+ICAgCQkJCWFjdGlvbl9mbGFncyB8PQ0KPiA+ID4gPiA+ID4g PiBNTFg1X0ZMT1dfQUNUSU9OX01BUktfRVhUOyAtQEAgLTcxMDMsNyArNzExMyw3DQo+IEBADQo+ ID4gPiA+ID4gPiA+IF9fZmxvd19kdl90cmFuc2xhdGUoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYs DQo+ID4gPiA+ID4gPiA+ICtAQCAtNjc1Myw3ICs2NzYzLDcgQEAgX19mbG93X2R2X3RyYW5zbGF0 ZShzdHJ1Y3QNCj4gPiA+DQo+ID4gPiBydGVfZXRoX2Rldg0KPiA+ID4gPiA+ID4gPiAqZGV2LA0K PiA+ID4gPiA+ID4gPiAgIAkJCQkJCWFjdGlvbnMtPmNvbmY7DQo+ID4gPiA+ID4gPiA+DQo+ID4g PiA+ID4gPiA+ICAgCQkJCWlmDQo+ID4gPiA+ID4gPiA+IChmbG93X2R2X2NvbnZlcnRfYWN0aW9u X21hcmsoZGV2LA0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gbWFyaywgQEAgLTI3Miw3ICsyNzMsNyBA QA0KPiA+ID4gPiA+ID4gPiBlcnJvcikpDQo+ID4gPiA+ID4gPiA+ICAgCQkJCQlyZXR1cm4gLXJ0 ZV9lcnJubzsNCj4gPiA+ID4gPiA+ID4gICAJCQkJYWN0aW9uX2ZsYWdzIHw9DQo+ID4gPiA+ID4g PiA+IE1MWDVfRkxPV19BQ1RJT05fTUFSS19FWFQ7IC1AQCAtNzEyNCw3ICs3MTM0LDcNCj4gQEAN Cj4gPiA+ID4gPiA+ID4gX19mbG93X2R2X3RyYW5zbGF0ZShzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRl diwNCj4gPiA+ID4gPiA+ID4gK0BAIC02Nzc0LDcgKzY3ODQsNyBAQCBfX2Zsb3dfZHZfdHJhbnNs YXRlKHN0cnVjdA0KPiA+ID4NCj4gPiA+IHJ0ZV9ldGhfZGV2DQo+ID4gPiA+ID4gPiA+ICpkZXYs DQo+ID4gPiA+ID4gPiA+ICAgCQkJYnJlYWs7DQo+ID4gPiA+ID4gPiA+ICAgCQljYXNlIFJURV9G TE9XX0FDVElPTl9UWVBFX1NFVF9NRVRBOg0KPiA+ID4gPiA+ID4gPiAgIAkJCWlmIChmbG93X2R2 X2NvbnZlcnRfYWN0aW9uX3NldF9tZXRhDQo+ID4gPg0KPiA+ID4gQEANCj4gPiA+ID4gPiA+ID4g LQ0KPiA+ID4gPiA+ID4gPiAyODEsNyArMjgyLDcgQEANCj4gPiA+ID4gPiA+ID4gICAJCQkJIChj b25zdCBzdHJ1Y3QNCj4gPiA+ID4gPiA+ID4gcnRlX2Zsb3dfYWN0aW9uX3NldF9tZXRhICopDQo+ ID4gPiA+ID4gPiA+ICAgCQkJCSAgYWN0aW9ucy0+Y29uZiwgZXJyb3IpKQ0KPiA+ID4gPiA+ID4g PiAgIAkJCQlyZXR1cm4gLXJ0ZV9lcnJubzsNCj4gPiA+ID4gPiA+ID4gLUBAIC03MTMyLDcgKzcx NDIsNyBAQCBfX2Zsb3dfZHZfdHJhbnNsYXRlKHN0cnVjdA0KPiA+ID4NCj4gPiA+IHJ0ZV9ldGhf ZGV2DQo+ID4gPiA+ID4gKmRldiwNCj4gPiA+ID4gPiA+ID4gK0BAIC02NzgyLDcgKzY3OTIsNyBA QCBfX2Zsb3dfZHZfdHJhbnNsYXRlKHN0cnVjdA0KPiA+ID4NCj4gPiA+IHJ0ZV9ldGhfZGV2DQo+ ID4gPiA+ID4gPiA+ICpkZXYsDQo+ID4gPiA+ID4gPiA+ICAgCQkJYnJlYWs7DQo+ID4gPiA+ID4g PiA+ICAgCQljYXNlIFJURV9GTE9XX0FDVElPTl9UWVBFX1NFVF9UQUc6DQo+ID4gPiA+ID4gPiA+ ICAgCQkJaWYgKGZsb3dfZHZfY29udmVydF9hY3Rpb25fc2V0X3RhZw0KPiA+ID4NCj4gPiA+IEBA DQo+ID4gPiA+ID4gPiA+IC0yOTAsNw0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gKzI5MSw3IEBADQo+ ID4gPiA+ID4gPiA+ICAgCQkJCSAoY29uc3Qgc3RydWN0DQo+ID4gPiA+ID4gPiA+IHJ0ZV9mbG93 X2FjdGlvbl9zZXRfdGFnDQo+ID4gPiA+ID4gPiA+ICopDQo+ID4gPiA+ID4gPiA+ICAgCQkJCSAg YWN0aW9ucy0+Y29uZiwgZXJyb3IpKQ0KPiA+ID4gPiA+ID4gPiAgIAkJCQlyZXR1cm4gLXJ0ZV9l cnJubzsNCj4gPiA+ID4gPiA+ID4gLUBAIC03MjMyLDcgKzcyNDIsNyBAQCBjbnRfZXJyOg0KPiA+ ID4gPiA+ID4gPiArQEAgLTY4ODIsNyArNjg5Miw3IEBAIGNudF9lcnI6DQo+ID4gPiA+ID4gPiA+ ICAgCQkJbWx4NV91cGRhdGVfdmxhbl92aWRfcGNwKGFjdGlvbnMsDQo+ID4gPiA+ID4gPiA+ICZ2 bGFuKTsNCj4gPiA+ID4gPiA+ID4gICAJCQkvKiBJZiBubyBWTEFOIHB1c2ggLSB0aGlzIGlzIGEg bW9kaWZ5DQo+ID4gPiA+ID4gPiA+IGhlYWRlcg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gYWN0aW9u ICovDQo+ID4gPiA+ID4gPiA+ICAgCQkJaWYNCj4gPiA+ID4gPiA+ID4gKGZsb3dfZHZfY29udmVy dF9hY3Rpb25fbW9kaWZ5X3ZsYW5fdmlkDQo+ID4gPiA+ID4gPiA+IEBAIC0yOTksNyArMzAwLDcg QEANCj4gPiA+ID4gPiA+ID4gICAJCQkJcmV0dXJuIC1ydGVfZXJybm87DQo+ID4gPiA+ID4gPiA+ ICAgCQkJYWN0aW9uX2ZsYWdzIHw9DQo+ID4gPiA+ID4gPiA+IE1MWDVfRkxPV19BQ1RJT05fT0Zf U0VUX1ZMQU5fVklEOw0KPiA+ID4gPiA+ID4gPiAgIAkJCWJyZWFrOw0KPiA+ID4gPiA+ID4gPiAt QEAgLTczMzEsNyArNzM0MSw3IEBAIGNudF9lcnI6DQo+ID4gPiA+ID4gPiA+ICtAQCAtNjk4MSw3 ICs2OTkxLDcgQEAgY250X2VycjoNCj4gPiA+ID4gPiA+ID4gICAJCWNhc2UgUlRFX0ZMT1dfQUNU SU9OX1RZUEVfU0VUX01BQ19TUkM6DQo+ID4gPiA+ID4gPiA+ICAgCQljYXNlIFJURV9GTE9XX0FD VElPTl9UWVBFX1NFVF9NQUNfRFNUOg0KPiA+ID4gPiA+ID4gPiAgIAkJCWlmDQo+ID4gPg0KPiA+ ID4gKGZsb3dfZHZfY29udmVydF9hY3Rpb25fbW9kaWZ5X21hYw0KPiA+ID4gPiA+ID4gPiBAQCAt MzA4LDcgKzMwOSw3IEBADQo+ID4gPiA+ID4gPiA+ICAgCQkJCXJldHVybiAtcnRlX2Vycm5vOw0K PiA+ID4gPiA+ID4gPiAgIAkJCWFjdGlvbl9mbGFncyB8PSBhY3Rpb25zLT50eXBlID09DQo+ID4g PiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+IAlSVEVfRkxPV19BQ1RJT05fVFlQRV9TRVRfTUFDX1NS QyA/DQo+ID4gPiA+ID4gPiA+IC1AQCAtNzM0MSw3ICs3MzUxLDcgQEAgY250X2VycjoNCj4gPiA+ ID4gPiA+ID4gK0BAIC02OTkxLDcgKzcwMDEsNyBAQCBjbnRfZXJyOg0KPiA+ID4gPiA+ID4gPiAg IAkJY2FzZSBSVEVfRkxPV19BQ1RJT05fVFlQRV9TRVRfSVBWNF9TUkM6DQo+ID4gPiA+ID4gPiA+ ICAgCQljYXNlIFJURV9GTE9XX0FDVElPTl9UWVBFX1NFVF9JUFY0X0RTVDoNCj4gPiA+ID4gPiA+ ID4gICAJCQlpZg0KPiA+ID4NCj4gPiA+IChmbG93X2R2X2NvbnZlcnRfYWN0aW9uX21vZGlmeV9p cHY0DQo+ID4gPiA+ID4gPiA+IEBAIC0zMTcsNyArMzE4LDcgQEANCj4gPiA+ID4gPiA+ID4gICAJ CQkJcmV0dXJuIC1ydGVfZXJybm87DQo+ID4gPiA+ID4gPiA+ICAgCQkJYWN0aW9uX2ZsYWdzIHw9 IGFjdGlvbnMtPnR5cGUgPT0NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gCVJURV9GTE9X X0FDVElPTl9UWVBFX1NFVF9JUFY0X1NSQyA/DQo+ID4gPiA+ID4gPiA+IC1AQCAtNzM1MSw3ICs3 MzYxLDcgQEAgY250X2VycjoNCj4gPiA+ID4gPiA+ID4gK0BAIC03MDAxLDcgKzcwMTEsNyBAQCBj bnRfZXJyOg0KPiA+ID4gPiA+ID4gPiAgIAkJY2FzZSBSVEVfRkxPV19BQ1RJT05fVFlQRV9TRVRf SVBWNl9TUkM6DQo+ID4gPiA+ID4gPiA+ICAgCQljYXNlIFJURV9GTE9XX0FDVElPTl9UWVBFX1NF VF9JUFY2X0RTVDoNCj4gPiA+ID4gPiA+ID4gICAJCQlpZg0KPiA+ID4NCj4gPiA+IChmbG93X2R2 X2NvbnZlcnRfYWN0aW9uX21vZGlmeV9pcHY2DQo+ID4gPiA+ID4gPiA+IEBAIC0zMjYsNyArMzI3 LDcgQEANCj4gPiA+ID4gPiA+ID4gICAJCQkJcmV0dXJuIC1ydGVfZXJybm87DQo+ID4gPiA+ID4g PiA+ICAgCQkJYWN0aW9uX2ZsYWdzIHw9IGFjdGlvbnMtPnR5cGUgPT0NCj4gPiA+ID4gPiA+ID4N Cj4gPiA+ID4gPiA+ID4gCVJURV9GTE9XX0FDVElPTl9UWVBFX1NFVF9JUFY2X1NSQyA/DQo+ID4g PiA+ID4gPiA+IC1AQCAtNzM2MSw3ICs3MzcxLDcgQEAgY250X2VycjoNCj4gPiA+ID4gPiA+ID4g K0BAIC03MDExLDcgKzcwMjEsNyBAQCBjbnRfZXJyOg0KPiA+ID4gPiA+ID4gPiAgIAkJY2FzZSBS VEVfRkxPV19BQ1RJT05fVFlQRV9TRVRfVFBfU1JDOg0KPiA+ID4gPiA+ID4gPiAgIAkJY2FzZSBS VEVfRkxPV19BQ1RJT05fVFlQRV9TRVRfVFBfRFNUOg0KPiA+ID4gPiA+ID4gPiAgIAkJCWlmIChm bG93X2R2X2NvbnZlcnRfYWN0aW9uX21vZGlmeV90cA0KPiA+ID4NCj4gPiA+IEBADQo+ID4gPiA+ ID4gPiA+IC0NCj4gPiA+ID4gPiA+ID4gMzM1LDcgKzMzNiw3IEBADQo+ID4gPiA+ID4gPiA+ICAg CQkJCQkgJmZsb3dfYXR0ciwgZXJyb3IpKQ0KPiA+ID4gPiA+ID4gPiAgIAkJCQlyZXR1cm4gLXJ0 ZV9lcnJubzsNCj4gPiA+ID4gPiA+ID4gICAJCQlhY3Rpb25fZmxhZ3MgfD0gYWN0aW9ucy0+dHlw ZSA9PSAtQEANCj4gPiA+ID4gPiA+ID4gLTczNzEsMTMNCj4gPiA+ID4gPg0KPiA+ID4gPiA+ICs3 MzgxLDEzIEBADQo+ID4gPiA+ID4gPiA+IGNudF9lcnI6DQo+ID4gPiA+ID4gPiA+ICtAQCAtNzAy MSwxMyArNzAzMSwxMyBAQCBjbnRfZXJyOg0KPiA+ID4gPiA+ID4gPiAgIAkJCWJyZWFrOw0KPiA+ ID4gPiA+ID4gPiAgIAkJY2FzZSBSVEVfRkxPV19BQ1RJT05fVFlQRV9ERUNfVFRMOg0KPiA+ID4g PiA+ID4gPiAgIAkJCWlmDQo+ID4gPiA+ID4gPiA+IChmbG93X2R2X2NvbnZlcnRfYWN0aW9uX21v ZGlmeV9kZWNfdHRsDQo+ID4gPiA+ID4gPiA+IEBAIC0zNTEsNyArMzUyLDcgQEANCj4gPiA+ID4g PiA+ID4gICAJCQkJCSAmZmxvd19hdHRyLCBlcnJvcikpDQo+ID4gPiA+ID4gPiA+ICAgCQkJCXJl dHVybiAtcnRlX2Vycm5vOw0KPiA+ID4gPiA+ID4gPiAgIAkJCWFjdGlvbl9mbGFncyB8PQ0KPiA+ ID4gPiA+ID4gPiBNTFg1X0ZMT1dfQUNUSU9OX1NFVF9UVEw7DQo+ID4gPiA+ID4NCj4gPiA+ID4g PiAtQEAgLTczODUsNyArNzM5NSw3DQo+ID4gPiA+ID4gPiA+IEBAIGNudF9lcnI6DQo+ID4gPiA+ ID4gPiA+ICtAQCAtNzAzNSw3ICs3MDQ1LDcgQEAgY250X2VycjoNCj4gPiA+ID4gPiA+ID4gICAJ CWNhc2UgUlRFX0ZMT1dfQUNUSU9OX1RZUEVfSU5DX1RDUF9TRVE6DQo+ID4gPiA+ID4gPiA+ICAg CQljYXNlIFJURV9GTE9XX0FDVElPTl9UWVBFX0RFQ19UQ1BfU0VROg0KPiA+ID4gPiA+ID4gPiAg IAkJCWlmDQo+ID4gPiA+ID4gPiA+IChmbG93X2R2X2NvbnZlcnRfYWN0aW9uX21vZGlmeV90Y3Bf c2VxDQo+ID4gPiA+ID4gPiA+IEBAIC0zNjAsNyArMzYxLDcgQEANCj4gPiA+ID4gPiA+ID4gICAJ CQkJcmV0dXJuIC1ydGVfZXJybm87DQo+ID4gPiA+ID4gPiA+ICAgCQkJYWN0aW9uX2ZsYWdzIHw9 IGFjdGlvbnMtPnR5cGUgPT0NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gCVJURV9GTE9X X0FDVElPTl9UWVBFX0lOQ19UQ1BfU0VRID8NCj4gPiA+ID4gPiA+ID4gLUBAIC03Mzk2LDcgKzc0 MDYsNyBAQCBjbnRfZXJyOg0KPiA+ID4gPiA+ID4gPiArQEAgLTcwNDYsNyArNzA1Niw3IEBAIGNu dF9lcnI6DQo+ID4gPiA+ID4gPiA+ICAgCQljYXNlIFJURV9GTE9XX0FDVElPTl9UWVBFX0lOQ19U Q1BfQUNLOg0KPiA+ID4gPiA+ID4gPiAgIAkJY2FzZSBSVEVfRkxPV19BQ1RJT05fVFlQRV9ERUNf VENQX0FDSzoNCj4gPiA+ID4gPiA+ID4gICAJCQlpZg0KPiA+ID4gPiA+ID4gPiAoZmxvd19kdl9j b252ZXJ0X2FjdGlvbl9tb2RpZnlfdGNwX2Fjaw0KPiA+ID4gPiA+ID4gPiBAQCAtMzY5LDcgKzM3 MCw3IEBADQo+ID4gPiA+ID4gPiA+ICAgCQkJCXJldHVybiAtcnRlX2Vycm5vOw0KPiA+ID4gPiA+ ID4gPiAgIAkJCWFjdGlvbl9mbGFncyB8PSBhY3Rpb25zLT50eXBlID09DQo+ID4gPiA+ID4gPiA+ DQo+ID4gPiA+ID4gPiA+IAlSVEVfRkxPV19BQ1RJT05fVFlQRV9JTkNfVENQX0FDSyA/DQo+ID4g PiA+ID4gPiA+IC1AQCAtNzQwNSwxMyArNzQxNSwxMyBAQCBjbnRfZXJyOg0KPiA+ID4gPiA+ID4g PiArQEAgLTcwNTUsMTMgKzcwNjUsMTMgQEAgY250X2VycjoNCj4gPiA+ID4gPiA+ID4gICAJCQli cmVhazsNCj4gPiA+ID4gPiA+ID4gICAJCWNhc2UgTUxYNV9SVEVfRkxPV19BQ1RJT05fVFlQRV9U QUc6DQo+ID4gPiA+ID4gPiA+ICAgCQkJaWYgKGZsb3dfZHZfY29udmVydF9hY3Rpb25fc2V0X3Jl Zw0KPiA+ID4NCj4gPiA+IEBAIC0NCj4gPiA+ID4gPiAzODUsMjIgKzM4Niw3IEBADQo+ID4gPiA+ ID4gPiA+ICAgCQkJCXJldHVybiAtcnRlX2Vycm5vOw0KPiA+ID4gPiA+ID4gPiAgIAkJCWFjdGlv bl9mbGFncyB8PQ0KPiA+ID4gPiA+ID4gPiBNTFg1X0ZMT1dfQUNUSU9OX1NFVF9UQUc7DQo+ID4g PiA+ID4gPiA+ICAgCQkJYnJlYWs7DQo+ID4gPiA+ID4gPiA+IC1AQCAtNzQzNSwyMyArNzQ0NSwy MyBAQCBjbnRfZXJyOg0KPiA+ID4gPiA+ID4gPiAtIAkJCWFjdGlvbl9mbGFncyB8PQ0KPiA+ID4N Cj4gPiA+IE1MWDVfRkxPV19BQ1RJT05fTUVURVI7DQo+ID4gPiA+ID4gPiA+IC0gCQkJYnJlYWs7 DQo+ID4gPiA+ID4gPiA+IC0gCQljYXNlDQo+ID4gPg0KPiA+ID4gUlRFX0ZMT1dfQUNUSU9OX1RZ UEVfU0VUX0lQVjRfRFNDUDoNCj4gPiA+ID4gPiA+ID4gLS0JCQlpZg0KPiA+ID4gPiA+ID4gPiAo Zmxvd19kdl9jb252ZXJ0X2FjdGlvbl9tb2RpZnlfaXB2NF9kc2NwKCZtaGRyX3JlcywNCj4gPiA+ ID4gPiA+ID4gLSsJCQlpZg0KPiA+ID4gPiA+ID4gPiAoZmxvd19kdl9jb252ZXJ0X2FjdGlvbl9t b2RpZnlfaXB2NF9kc2NwKG1oZHJfcmVzLA0KPiA+ID4gPiA+ID4gPiAtIAkJCQkJCQkgICAgICBh DQo+ID4gPiA+ID4gPiA+IGN0aW9ucywNCj4gPiA+ID4gPiA+ID4gZXJyb3IpKQ0KPiA+ID4gPiA+ ID4gPiAtIAkJCQlyZXR1cm4gLXJ0ZV9lcnJubzsNCj4gPiA+ID4gPiA+ID4gLSAJCQlhY3Rpb25f ZmxhZ3MgfD0NCj4gPiA+ID4gPiA+ID4gTUxYNV9GTE9XX0FDVElPTl9TRVRfSVBWNF9EU0NQOw0K PiA+ID4gPiA+ID4gPiAtIAkJCWJyZWFrOw0KPiA+ID4gPiA+ID4gPiAtIAkJY2FzZQ0KPiA+ID4N Cj4gPiA+IFJURV9GTE9XX0FDVElPTl9UWVBFX1NFVF9JUFY2X0RTQ1A6DQo+ID4gPiA+ID4gPiA+ IC0tCQkJaWYNCj4gPiA+ID4gPiA+ID4gKGZsb3dfZHZfY29udmVydF9hY3Rpb25fbW9kaWZ5X2lw djZfZHNjcCgmbWhkcl9yZXMsDQo+ID4gPiA+ID4gPiA+IC0rCQkJaWYNCj4gPiA+ID4gPiA+ID4g KGZsb3dfZHZfY29udmVydF9hY3Rpb25fbW9kaWZ5X2lwdjZfZHNjcChtaGRyX3JlcywNCj4gPiA+ ID4gPiA+ID4gLSAJCQkJCQkJICAgICAgYQ0KPiA+ID4gPiA+ID4gPiBjdGlvbnMsDQo+ID4gPiA+ ID4gPiA+IGVycm9yKSkNCj4gPiA+ID4gPiA+ID4gLSAJCQkJcmV0dXJuIC1ydGVfZXJybm87DQo+ ID4gPiA+ID4gPiA+IC0gCQkJYWN0aW9uX2ZsYWdzIHw9DQo+ID4gPiA+ID4gPiA+IE1MWDVfRkxP V19BQ1RJT05fU0VUX0lQVjZfRFNDUDsNCj4gPiA+ID4gPiA+ID4gK0BAIC03MDg2LDEwICs3MDk2 LDEwIEBAIGNudF9lcnI6DQo+ID4gPiA+ID4gPiA+ICAgCQkJYnJlYWs7DQo+ID4gPiA+ID4gPiA+ ICAgCQljYXNlIFJURV9GTE9XX0FDVElPTl9UWVBFX0VORDoNCj4gPiA+ID4gPiA+ID4gICAJCQlh Y3Rpb25zX2VuZCA9IHRydWU7DQo+ID4gPiA+ID4gPiA+IEBAIC00MTMsNyArMzk5LDcgQEANCj4g PiA+ID4gPiA+ID4gICAJCQkJCXJldHVybiAtcnRlX2Vycm5vOw0KPiA+ID4gPiA+ID4gPiAgIAkJ CQlkZXZfZmxvdy0NCj4gPiA+ID4gPiA+ID4gPiBkdi5hY3Rpb25zW21vZGlmeV9hY3Rpb25fcG9z aXRpb25dID0NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gICAJCQkJCWRldl9mbG93LQ0K PiA+ID4gPiA+ID4gPiA+IGR2Lm1vZGlmeV9oZHItDQo+ID4gPiA+ID4gPiA+ID4gdmVyYnNfYWN0 aW9uOw0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiAtQEAgLTc0NjAsNyArNzQ3MCw3IEBA IGNudF9lcnI6DQo+ID4gPiA+ID4gPiA+ICtAQCAtNzA5OCw3ICs3MTA4LDcgQEAgY250X2VycjoN Cj4gPiA+ID4gPiA+ID4gICAJCWRlZmF1bHQ6DQo+ID4gPiA+ID4gPiA+ICAgCQkJYnJlYWs7DQo+ ID4gPiA+ID4gPiA+ICAgCQl9DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiAtLQ0KPiA+ID4gPiA+IEtp bmQgcmVnYXJkcywNCj4gPiA+ID4gPiBMdWNhIEJvY2Nhc3NpDQo+ID4gPiA+DQo+ID4gPiA+DQo+ ID4gPg0KPiA+ID4gLS0NCj4gPiA+IEtpbmQgcmVnYXJkcywNCj4gPiA+IEx1Y2EgQm9jY2Fzc2kN Cj4gPg0KPiA+DQo+IC0tDQo+IEtpbmQgcmVnYXJkcywNCj4gTHVjYSBCb2NjYXNzaQ0KDQo=