From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.7 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id EF02EC2D0E4 for ; Thu, 19 Nov 2020 05:13:06 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 417B221D91 for ; Thu, 19 Nov 2020 05:13:06 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=wdc.com header.i=@wdc.com header.b="hFR4KpKZ"; dkim=pass (1024-bit key) header.d=sharedspace.onmicrosoft.com header.i=@sharedspace.onmicrosoft.com header.b="lXsXCZoZ" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1725681AbgKSFMp (ORCPT ); Thu, 19 Nov 2020 00:12:45 -0500 Received: from esa3.hgst.iphmx.com ([216.71.153.141]:20696 "EHLO esa3.hgst.iphmx.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725648AbgKSFMp (ORCPT ); Thu, 19 Nov 2020 00:12:45 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1605762762; x=1637298762; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=nvXCsPq6ELORJzEJ6mUDjXHLeeud/rixn9MYgx/gxb8=; b=hFR4KpKZApnj1FcMpf/8ZZmGZ8yttWYJYBPHm4TFXPXxZgBNtDcvY9cC BqUByBuD+fqJISKp5Q98fpWxvJXSqToN/fDi150S0yyL9BX09txqolnSF MPL0qBUNzzHDDzLhha+SYC53Ej7hL9nGcrDeTq+9BeAcm2HbI7Vrje2Mj AwbtTgwbMJRfILHbQCenS4Mg/dIl722hzbXbZRcD6bb1AZOI5Z6ZqgS/V 6gwASZDSAPhFdkFxfrTVxK0bc6a+qKinBQ/jW4Oq7OBhMXLE+ZPAaZAmR 71xE6EBME6ZdAN3vAf2J2tUmvLsmu/UO2hvaWWjrlm/jYSB5YaXo3gZik A==; IronPort-SDR: ThPk3p19rUcFF0hguJKjp7sS90sybuCK9T9UzYCGhZB7qsQKXKcUjAi9K8W4l8j2ixIGaI+Z8E RgZ6iNDpGROWHO6+l+gLEN7MOl61swY2eyq3tdRkCLT5d9mlgOLcZ115qqwuRvqKGHATH4sJTX PUmdD7JuKkuCCvFVdoUoV3tda0tZpgHnWUPOqQmU2Mew0+RVBsj2S8O6YTEzDwS8LNLpSp8nB6 MkpvVmRmi6cts5oqijsrKAYgXn53z9zvgwZBkkkxUWi3Xq7VkZ8OywSq7/A7BMOn6nZvplqPMJ N7g= X-IronPort-AV: E=Sophos;i="5.77,489,1596470400"; d="scan'208";a="157429122" Received: from mail-bn3nam04lp2051.outbound.protection.outlook.com (HELO NAM04-BN3-obe.outbound.protection.outlook.com) ([104.47.46.51]) by ob1.hgst.iphmx.com with ESMTP; 19 Nov 2020 13:12:42 +0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Jau8aRlF3PDxpu1H7JL30UU4qegGY3314NuKJSGKNlZdw8I0x6ZKk1r/KVNMS/wPlwKgHSbs6sDABTCTpd9rSO1L41r5KSz2EMtZ7HgnGio/peD+lJ6XxC7myIeVvIUz6pQMt72jJJ5qL1/9pi44shAlrBnL9MVrp5mQEszC8xNvnppXuKunhRXyi2BEd/htDkfjJA7gul/FCVqU3ynk8SzJ6QyA7zbMpwGvMR2Jno/02EBgRlMCw19BNMyAsxBuooTzBQY2TGtZI5aLwOuJPSMBBBWIXczVPvU7QK9uINuasEs3orhmzij4TlNJuzn3x+IdX7P2+IxTMEbU4Cu5wA== 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=nvXCsPq6ELORJzEJ6mUDjXHLeeud/rixn9MYgx/gxb8=; b=WWmuDU8MAwvQQmT27bgiuSla3vWJseTKduvYFpPXpLNyNZnfAyEAe95M7MgHFmic68eub0LK1GaFYaw9R5clZ1//Y/mJ1Ri8DQ1sg4deACgiG6PBRbkGCDx2Q6a1Gky5N5WVdeUCwinOxZ/dsSUguV821GJd06KDELOyHuosZMOiwwWjDtfkJu/H0aasPvP4u4dvjvdKYW7lnSNK1y5PyQcsnZEBPZngccOMZW0IDaJRc5hPMa+yLJsUvzIlgSxWYsXwMYQPZzmDTKkyFKO82A4NAY2Q8FXrJIQsBuF7IjLZV7K5lTjpna7m5fIT+UA1Zt3xS4twvSMrPA1k5ua1Bw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=wdc.com; dmarc=pass action=none header.from=wdc.com; dkim=pass header.d=wdc.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sharedspace.onmicrosoft.com; s=selector2-sharedspace-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nvXCsPq6ELORJzEJ6mUDjXHLeeud/rixn9MYgx/gxb8=; b=lXsXCZoZcL13XgCSSjLiVC/766rohhttsYw0pRwzxr/RSjG3gngT/hHOCwlb/vAsPqxvhth8iFqFK772OAsJVuKW/uae8zlvxf5WwIyvB5vkoJZ3dG8wNQEwGN+MSEopEkN0n6GMIq7f3a69Z7E+sW1GN6iBVhFW9moo69Baka0= Received: from BL0PR04MB6514.namprd04.prod.outlook.com (2603:10b6:208:1ca::23) by BL0PR04MB4914.namprd04.prod.outlook.com (2603:10b6:208:5f::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3564.28; Thu, 19 Nov 2020 05:12:40 +0000 Received: from BL0PR04MB6514.namprd04.prod.outlook.com ([fe80::4c3e:2b29:1dc5:1a85]) by BL0PR04MB6514.namprd04.prod.outlook.com ([fe80::4c3e:2b29:1dc5:1a85%7]) with mapi id 15.20.3499.034; Thu, 19 Nov 2020 05:12:40 +0000 From: Damien Le Moal To: "fancer.lancer@gmail.com" CC: "linux-spi@vger.kernel.org" , "linux-riscv@lists.infradead.org" , "broonie@kernel.org" , "palmer@dabbelt.com" , "seanga2@gmail.com" Subject: Re: [PATCH 04/32] spi: dw: Introduce polling device tree property Thread-Topic: [PATCH 04/32] spi: dw: Introduce polling device tree property Thread-Index: AQHWtN4Jq5yxP9fdykKNjBOI754ZyqnLXIyAgAEZ8gCAAD4qAIAAq8EAgACxV4CAAOm2AA== Date: Thu, 19 Nov 2020 05:12:40 +0000 Message-ID: References: <20201107081420.60325-1-damien.lemoal@wdc.com> <20201107081420.60325-5-damien.lemoal@wdc.com> <20201109195913.itgfj2ga5y7sr6zx@mobilestation> <58943f7988706497040cac6f6108336286e9d15f.camel@wdc.com> <20201115160146.efxcdjhm7f2nmivo@mobilestation> <20201116215505.enelrzxaxb2457a6@mobilestation> <20201117182642.qz3il63x6lcx6owg@mobilestation> <3b81075dfc0b168631f3fc86c98cdd17caf85a8c.camel@wdc.com> <20201118151609.4bfvuoe6s6no5tcd@mobilestation> In-Reply-To: <20201118151609.4bfvuoe6s6no5tcd@mobilestation> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.38.1 (3.38.1-1.fc33) authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=wdc.com; x-originating-ip: [2400:2411:43c0:6000:8d3e:27aa:85c2:44b5] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: cc11b6f4-a587-4172-faff-08d88c49bcdc x-ms-traffictypediagnostic: BL0PR04MB4914: x-microsoft-antispam-prvs: wdcipoutbound: EOP-TRUE x-ms-oob-tlc-oobclassifiers: OLM:1751; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: lGkJScb1+rSjiY/97OH5oNYLVhlkUxdZrXDYDA424Hw8vnjcy5ZcDVEokuAzv8DQWqwVEyfeie1QaKA99UwOA6mijb9EprOhv1jbKaGc/kup7Bmm44tFJWpoNaRyLG41zHPZtqRsNxaBxHK7eIyZXvvXcaGFz6nm3JtfkFxQBQ9xDgdSevKucpcxDzbtsygaT2PxomhggmuXEJCLT5wE9ffkJgkqUTOCS+lASeB9kRpA5UExfZ029pJo+A2R5/Fevn7AWdixu/JoA2FC4RmJ26mA6Ltfb/xC3YKPcCB+qMkS03fCV4GBoLJ46h0umbOIk4nzRNee5tqYdXfKK5rlq+VW311HaFn0fR6BnY9I+hcOmHV6s2DwLkH/5qGV7h73ltYQd77mxx/1AavfV9ZuLzX49/uMNEAv0uRU1rCRc/eP1iYAz8HOl/4KHZDV/drMirI3BV2f24Weob0gzARo2JV3UTfzpXxC0/bzvpZ0174= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL0PR04MB6514.namprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(136003)(376002)(346002)(39860400002)(396003)(64756008)(66446008)(6512007)(66946007)(8936002)(91956017)(86362001)(66556008)(4001150100001)(5660300002)(2906002)(36756003)(30864003)(6486002)(71200400001)(6916009)(76116006)(83080400002)(66476007)(4326008)(8676002)(54906003)(186003)(478600001)(2616005)(83380400001)(966005)(316002)(6506007)(482324003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: ufuQ1/NgzuZRbwrK54LWwGF5f7Z2OjYU21d4/DsobbKjcB9CuBML5R9rpSNBWNMGvFhtpOPv44A2lzOrobxjz5vXnnKJo7ciyjLkK9k/vzLFdEY+qhxCtlDOfhgC1ntaeD0WnBY6UzqHFbaAZRqRkQ+CtqbFvCiYITmB7Kdo38yMHJKUiNp0Q37owYB1YUdqP0GBPA97JZ/qXC1ozOtk6kQ7wqmMZ4zkizKH3BOUq4zXgKZ61uUreuhaIOguCx4Xjik0e67hQOUawUrVDA0X/YA6yzRLm50rrfYHFViw8lRCb+pTP+KFUYKEzmJWN8PHoeN0RWVn3a5J0ViAuzfU3wOy0Wgqwr5dRjqPfQYR48wHDmFH8FJy8ueaD3QZ1vJOdTeRecbkYMzPPBgsoKyDOlll/dlQBdxa8naiVETk/zejgyjtv7poW29DULbTKgaDPkstBdnL/Ol0iLi8m0kKlivdQh5W7fWKpXEp0QP6iiKfQbsagremXDRZjbSrYfQJXgj/qbWC2xx33FTgaFBphZKukO4vY+weH6/zBtyKE6QcgYgl1ooGulaKcVn3g4XmucPSUNCeOh5GPi+4tQHPhhTJef6Cf4coCCoYO/h9zDyfOlYkPUl5R7hSc2IN45pS3b8pyQawioSx15uP7v3ho6/SPTnEJlCqq/UfUefLWVajfhKk6fMbERKBb8RPcTlf5itW1RyaU3NcxqLv1jBHyg== x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BL0PR04MB6514.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: cc11b6f4-a587-4172-faff-08d88c49bcdc X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Nov 2020 05:12:40.1537 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: tWLVXAhOTZSeVll1yUrOCf8Xxt1hV2sdRROMs3lHdatcdOyUGnzFLNVc6qnuatSn4H6jpuZXc+Tg7A4qxQvCWQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR04MB4914 Precedence: bulk List-ID: X-Mailing-List: linux-spi@vger.kernel.org T24gV2VkLCAyMDIwLTExLTE4IGF0IDE4OjE2ICswMzAwLCBTZXJnZSBTZW1pbiB3cm90ZToNCj4g T24gV2VkLCBOb3YgMTgsIDIwMjAgYXQgMDQ6NDE6MjdBTSArMDAwMCwgRGFtaWVuIExlIE1vYWwg d3JvdGU6DQo+ID4gT24gVHVlLCAyMDIwLTExLTE3IGF0IDIxOjI2ICswMzAwLCBTZXJnZSBTZW1p biB3cm90ZToNCj4gPiBbLi4uXQ0KPiA+ID4gPiBGb3VuZCB0aGUgYnVnIDopDQo+ID4gPiA+IFRo ZSBmaXggaXM6DQo+ID4gPiA+IA0KPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9zcGkvc3Bp LWR3LWNvcmUuYyBiL2RyaXZlcnMvc3BpL3NwaS1kdy1jb3JlLmMNCj4gPiA+ID4gaW5kZXggZTNi NzZlNDBlZDczLi5iNzUzODA5M2M3ZWYgMTAwNjQ0DQo+ID4gPiA+IC0tLSBhL2RyaXZlcnMvc3Bp L3NwaS1kdy1jb3JlLmMNCj4gPiA+ID4gKysrIGIvZHJpdmVycy9zcGkvc3BpLWR3LWNvcmUuYw0K PiA+ID4gPiBAQCAtODI4LDcgKzgyOCw3IEBAIHN0YXRpYyB2b2lkIHNwaV9od19pbml0KHN0cnVj dCBkZXZpY2UgKmRldiwgc3RydWN0IGR3X3NwaQ0KPiA+ID4gPiAqZHdzKQ0KPiA+ID4gPiDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoH0NCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqBkd193cml0ZWwoZHdzLCBEV19TUElfVFhGVExSLCAwKTsNCj4gPiA+ID4g wqANCj4gPiA+ID4gDQo+ID4gPiA+IA0KPiA+ID4gPiANCj4gPiA+ID4gLSAgICAgICAgICAgICAg IGR3cy0+Zmlmb19sZW4gPSAoZmlmbyA9PSAxKSA/IDAgOiBmaWZvOw0KPiA+ID4gPiArICAgICAg ICAgICAgICAgZHdzLT5maWZvX2xlbiA9IChmaWZvID09IDEpID8gMCA6IGZpZm8gLSAxOw0KPiA+ ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRldl9kYmcoZGV2LCAiRGV0ZWN0 ZWQgRklGTyBzaXplOiAldSBieXRlc1xuIiwgZHdzLT5maWZvX2xlbik7DQo+ID4gPiA+IMKgwqDC oMKgwqDCoMKgwqB9DQo+ID4gPiA+IA0KPiA+ID4gPiBCYXNpY2FsbHksIGZpZm9fbGVuIGlzIG9m ZiBieSBvbmUsIG9uZSB0b28gbGFyZ2UgYW5kIHRoYXQgY2F1c2VzIHRoZSBSWCBGSUZPDQo+ID4g PiA+IG92ZXJmbG93IGVycm9yLiBUaGUgbG9vcCBhYm92ZSBicmVha3Mgd2hlbiB0aGUgd3JpdHRl biBmaWZvIHZhbHVlIGRvZXMgbm90DQo+ID4gPiA+IG1hdGNoIHRoZSByZWFkIG9uZSwgd2hpY2gg bWVhbnMgdGhhdCB0aGUgbGFzdCBjb3JyZWN0IG9uZSBpcyBhdCBzdGVwIGZpZm8gLSAxLg0KPiA+ ID4gPiANCj4gPiA+ID4gSSByZWFsaXplZCB0aGF0IGJ5IHRyYWNpbmcgdGhlIHRyYW5zZmVycyBS WCBmaXJzdCwgdGhlbiBUWCBpbg0KPiA+ID4gPiBkd19zcGlfdHJhbnNmZXJfaGFuZGxlcigpLkkg ZGlkIG5vdCBzZWUgYW55dGhpbmcgd3Jvbmcgd2l0aCB0eF9tYXgoKSBhbmQNCj4gPiA+ID4gcnhf bWF4KCksIGFsbCB0aGUgbnVtYmVycyBhbHdheXMgYWRkZWQgdXAgY29ycmVjdGx5IGVpdGhlciB1 cCB0byB0cmFuc2ZlciBsZW4NCj4gPiA+ID4gb3IgdG8gZmlmb19sZW4sIGFzIHRoZXkgc2hvdWxk LiBJdCBsb29rZWQgYWxsIGdvb2QuIEJ1dCB0aGVuIEkgcmVhbGl6ZWQgdGhhdCBSWA0KPiA+ID4g PiBGSUZPIGVycm9ycyB3b3VsZCB0cmlnZ2VyIDEwMCUgb2YgdGhlIHRpbWUgZm9yOg0KPiA+ID4g PiAxKSB0cmFuc2ZlcnMgbGFyZ2VyIHRoYW4gZmlmbyBzaXplICgzMiBpbiBteSBjYXNlKQ0KPiA+ ID4gPiAyKSBGSUZPIHNsb3RzIHVzZWQgZm9yIFRYICsgUlggYWRkaW5nIHVwIHRvIDMyDQo+ID4g PiA+IEFmdGVyIHNvbWUgdHdlYWtpbmcsIGZvdW5kIHRoZSBhYm92ZS4gU2luY2UgdGhhdCBidWcg c2hvdWxkIGJlIGFmZmVjdGluZyBhbGwNCj4gPiA+ID4gZHctYXBiIHNwaSBkZXZpY2VzLCBub3Qg c3VyZSB3aHkgaXQgZG9lcyBub3QgbWFuaWZlc3QgaXRzZWxmIG1vcmUgb2Z0ZW4uDQo+ID4gPiA+ IA0KPiA+ID4gPiBXaXRoIHRoZSBhYm92ZSBmaXgsIHRoZSBTRCBjYXJkIGlzIG5vdyBydW5uaW5n IGZsYXdsZXNzbHkgYXQgMS4yTUIvcyB3aXRoDQo+ID4gPiA+IG1heGltdW0gU1BJIGZyZXF1ZW5j eSwgemVybyBlcnJvcnMgbm8gbWF0dGVyIGhvdyBoYXJkIEkgaGl0IGl0IHdpdGggdHJhZmZpYy4N Cj4gPiA+IA0KPiA+ID4gSG0sIHdoYXQgeW91J3ZlIGZvdW5kIGlzIHRoZSBjbHVlIHRvIGdldHRp bmcgd2hlcmUgdGhlIHByb2JsZW0gbGllcywNCj4gPiA+IGJ1dCBJIGRvbid0IHNlZSBmaWZvX2xl biBiZWluZyBjYWxjdWxhdGVkIGluY29ycmVjdGx5IGluIG15IEhXLiBJbiBteQ0KPiA+ID4gY2Fz ZSBpdCBlcXVhbHMgdG8gNjQgYW5kIDggYnl0ZXMgZm9yIHR3byBkaWZmZXJlbnQgY29udHJvbGxl cnMuIFRob3NlDQo+ID4gPiBhcmUgdGhlIGNvcnJlY3QgU1NJX1RYX0ZJRk9fREVQVEgvU1NJX1JY X0ZJRk9fREVQVEggcGFyYW1ldGVycyB2YWx1ZXMNCj4gPiA+IG91ciBjb250cm9sbGVycyBoYXZl IGJlZW4gc3ludGhlc2l6ZWQgd2l0aC4NCj4gPiA+IA0KPiA+ID4gQnV0IEkndmUganVzdCByZWFs aXplZCB0aGF0IERXIEFQQiBTU0kgY29udHJvbGxlciBjYW4gYmUgc3ludGhlc2l6ZWQNCj4gPiA+ IHdpdGggUnggYW5kIFR4IEZJRk8gaGF2aW5nIGRpZmZlcmVudCBkZXB0aHMuIChTeW5vcHN5cywg cmVhbGx5LCB3aGF0DQo+ID4gPiBzY2VuYXJpbyBkaWQgeW91IGltYWdpbmUgdG8gcHJvdmlkZSBz dWNoIGNvbmZpZ3VyYXRpb24/Li4pLiBBbnl3YXkgaXMNCj4gPiA+IGl0IHBvc3NpYmxlIHRoYXQg eW91J3ZlIGdvdCBhIGNvbnRyb2xsZXIgd2hpY2ggKG1vc3QgbGlrZWx5IGJ5DQo+ID4gPiBtaXN0 YWtlKSBoYXMgYmVlbiBzeW50aGVzaXplZCB3aXRoIFJ4X2ZpZm9fbGVuICE9IFR4X2ZpZm9fbGVu PyBJZiBzbw0KPiA+ID4gdGhlbiB0aGF0IHdpbGwgZXhwbGFpbiB0aGUgcHJvYmxlbSB5b3UgYXJl IGhhdmluZywgYnV0IGV2ZXJ5b25lIGVsc2UNCj4gPiA+IGlzbid0LiBUaGUgYWxnb3JpdGhtIHRo aW5rcyB0aGF0IGJvdGggRklGT3MgbGVuZ3RoIG1hdGNoIGFuZCBlcXVhbHMgdG8NCj4gPiA+IHRo ZSBUeCBGSUZPIGxlbmd0aC4gSWYgUnggRklGTyBsZW5ndGggaXMgc21hbGxlciBldmVuIHdpdGgg YSBzaW5nbGUNCj4gPiA+IGJ5dGUsIHlvdSdsbCBlbmQgdXAgd2l0aCBvY2Nhc2lvbmFsIG92ZXJm bG93cy4NCj4gPiA+IA0KPiA+ID4gTm90ZSBpZiB5b3UgZG9uJ3QgaGF2ZSBhIG1hbnVhbCB3aXRo IHRoZSBwYXJhbWV0ZXJzIHNlbGVjdGVkIGZvciB5b3VyDQo+ID4gPiBJUC1jb3JlLCB5b3UgY2Fu IGp1c3QgZml4IHRoZSBmaWZvX2xlbiBkZXRlY3Rpb24gbG9vcCBieSByZXBsYWNpbmcgdGhlDQo+ ID4gPiBUWEZUTFIgd2l0aCBSWEZUTFIuIFRoZW4ganVzdCBwcmludCB0aGUgZGV0ZWN0ZWQgUngg YW5kIFR4IEZJRk8NCj4gPiA+IGxlbmd0aHMgb3V0LiBJZiB0aGV5IGRvbid0IG1hdGNoLCB0aGVu LCBiaW5nbywgdGhhdCdzIHRoZSByb290IGNhdXNlDQo+ID4gPiBvZiB0aGUgcHJvYmxlbS4NCj4g PiANCj4gDQo+ID4gSnVzdCBjaGVja2VkOiBUWCBhbmQgUlggZmlmbyBkZXB0aCBtYXRjaCBhbmQg dGhlIG1heGltdW0gc2l6ZSBJIGNhbiBzZWUgaW4gYm90aA0KPiA+IFJYRlRMUiBhbmQgVFhGVExS IGlzIDMxLCB3aGVuIHRoZSBmaWZvIGZvciBsb29wIHN0b3BzIHdpdGggZmlmbz0zMi4gSSBjaGVj a2VkDQo+ID4gdGhlIFN5bm9wc2lzIERXIGFwYl9zc2kgdjQgc3BlY3MgYW5kIGZvciBib3RoIFJY RlRMUiBhbmQgVFhGVExSLCBpdCBzYXlzOg0KPiA+IA0KPiA+ICJJZiB5b3UgYXR0ZW1wdCB0byBz ZXQgdGhpcyB2YWx1ZSBncmVhdGVyIHRoYW4gdGhlIGRlcHRoIG9mIHRoZSBGSUZPLA0KPiA+IHRo aXMgZmllbGQgaXMgbm90IHdyaXR0ZW4gYW5kIHJldGFpbnMgaXRzIGN1cnJlbnQgdmFsdWUuIg0K PiA+IA0KPiA+IFNvIGZvciBhIEZJRk8gbWF4IGRlcHRoIG9mIDMyLCBhcyB0aGUgSzIxMCBTb0Mg ZG9jdW1lbnRzICh2ZXJ5IHBvb3Igc3BlYyBzaGVldCwNCj4gPiBidXQgdGhhdCBpbmZvcm1hdGlv biBpcyB3cml0dGVuKSwgdGhlIGxvb3Agc2hvdWxkIHN0b3AgZm9yIGZpZm89MzMgd2l0aCB0aGUN Cj4gPiByZWdpc3RlcnMgaW5kaWNhdGluZyAzMi4gTXkgZml4IHNob3VsZCBiZSBjb3JyZWN0Lg0K PiANCj4gdjMuMjJhIHNwZWMgc2F5cyAiZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIHRoZSBkZXB0 aCBvZiB0aGUgRklGTyIgZm9yDQo+IFRYRlRMUiBhbmQgImdyZWF0ZXIgdGhhbiB0aGUgZGVwdGgg b2YgdGhlIEZJRk8iIC0gZm9yIFJYRlRMUi4gSW4gbXkNCj4gY2FzZSBib3RoIG9mIHRoZSBmb3Jt dWxhdGlvbnMgbWFrZSBzZW5zZS4gU2VlaW5nIHRoZSBzZW1hbnRpYyBvZiB0aGUNCj4gcmVnaXN0 ZXJzIGlzIGRpZmZlcmVudCBhbmQgcmVjb2xsZWN0aW5nIGhvdyB2YWd1ZSB2ZW5kb3JzIGNhbiBk ZXNjcmliZQ0KPiB0aGUgZXNzZW5jZSBvZiByZWdzLCBpbiBib3RoIGNhc2VzIEZJRk8gZGVwdGgg d291bGQgYmUgZGV0ZWN0ZWQgYXMNCj4gKE1BWF92YWx1ZSArIDEpLiBUaGF0IGlzIG9idmlvdXMg Zm9yIFRYRlRMUiAoaW4gdjMuMjJhIGZvcm11bGF0aW9uKSwNCj4gYnV0IGlzbid0IGZvciBSWEZU TFIuIEluIHRoZSBsYXRlciBjYXNlIHdlIG5lZWQgdG8ga2VlcCBpbiBtaW5kIHRoYXQNCj4gdGhl IGNvbnRyb2xsZXIgaW50ZXJuYWxseSBpbmNyZW1lbnRzIChSWEZUTFIuUkZUICsgMSkgdGhlbiBj b21wYXJlcyBpdA0KPiB3aXRoIFJYRkxSLlJYVEZMLiBNb3N0IGxpa2VseSB0aGUgUlhGVExSIGRl c2NyaXB0aW9uIHRleHQgbWVhbnMgdGhhdA0KPiBpbmNyZW1lbnRlZCB2YWx1ZSB3aGVuIHNheXM6 ICJJZiB5b3UgYXR0ZW1wdCB0byBzZXQgdGhpcyB2YWx1ZSBncmVhdGVyDQo+IHRoYW4gdGhlIGRl cHRoIG9mIHRoZSBGSUZPLCB0aGlzIGZpZWxkIGlzIG5vdCB3cml0dGVuIGFuZCByZXRhaW5zIGl0 cw0KPiBjdXJyZW50IHZhbHVlLiIgYnV0IG5vdCB0aGUgYWN0dWFsIHZhbHVlIHdyaXR0ZW4gaW50 byB0aGUgcmVnaXN0ZXIuDQo+IA0KPiBSZWdhcmRpbmcgRFcgQVBCIFNTSSB2NCBzcGVjLiBJIGRv bid0IHJlYWxseSBrbm93IHdoeSB0aGUgZGVzY3JpcHRpb24NCj4gaGFzIGNoYW5nZWQgZm9yIFRY RlRMUi4gSSBhbHNvIGRvbid0IGhhdmUgdGhlIHY0IHNwZWMgdG8gYmV0dGVyDQo+IHVuZGVyc3Rh bmQgd2hhdCB0aGV5IHJlYWxseSBtZWFudCB0aGVyZS4gQnV0IGlmIHRoZSBUWEZUTFIvUlhGVExS DQo+IHJlZ2lzdGVycyBzZW1hbnRpYyBoYXMgY2hhbmdlZCwgdGhlbiBJJ2Qgc3RhcnQgdG8gZGln IGluIHRoZSBhc3BlY3RzDQo+IG9mIHRoYXQgY2hhbmdlIGFuZCB3aGV0aGVyIGl0IGFmZmVjdHMg dGhlIEZJRk8tZGVwdGggY2FsY3VsYXRpb24NCj4gYWxnb3JpdGhtLi4uDQoNCkkgc3BlbnQgYSBs b3Qgb2YgdGltZSByZWFkaW5nIHRoZSBzcGVjIHllc3RlcmRheSBhbmQgZGlkIG5vdCBzZWUgYW55 IHRleHQgdGhhdA0KY29uZmxpY3RzIHdpdGggd2hhdCB0aGUgZHJpdmVyIGlzIGRvaW5nLiBUaGUg c2VtYW50aWMgb2YgVFhGVExSIGFuZCBSWEZUTFIgaXMNCnN0aWxsIGFzIHlvdSBkZXNjcmliZSBh Ym92ZSBmb3IgdjMsIHRoZSBpbnRlcm5hbCArMSBpbmNyZW1lbnQgZm9yIFJYRlRMUiBpcw0Kc3Rp bGwgdGhlcmUuDQoNCj4gQW55d2F5IHJlZ2FyZGluZyB5b3VyIGZpeC4gUGxlYXNlIHNlZSB0aGUg bmV4dCB0d28gY29tbWl0cywgd2hpY2ggaGF2ZQ0KPiBhbHJlYWR5IGF0dGVtcHRlZCB0byBpbnRy b2R1Y2UgYSBjaGFuZ2UgcHJvcG9zZWQgYnkgeW91LCBidXQgdGhlbg0KPiByZXZlcnRlZCBpdCBi YWNrOg0KPiBkMjk3OTMzY2M3ZmMgKCJzcGk6IGR3OiBGaXggZGV0ZWN0aW5nIEZJRk8gZGVwdGgi KQ0KPiA5ZDIzOWQzNTNjMzEgKCJzcGk6IGR3OiByZXZpc2l0IEZJRk8gc2l6ZSBkZXRlY3Rpb24g YWdhaW4iKQ0KPiANCj4gSSBkb24ndCB0aGluayBBbmR5IHdhcyB3cm9uZyByZXZlcnRpbmcgdGhl IGZpeCBiYWNrLCBlc3BlY2lhbGx5IHNlZWluZw0KPiB0aGUgY3VycmVudCBGSUZPLWRlcHRoIGRl dGVjdGlvbiBhbGdvcml0aG0gaW1wbGVtZW50YXRpb24gaXMgY29ycmVjdA0KPiBmb3IgYm90aCB0 eXBlcyBvZiBteSBjb250cm9sbGVycyAod2l0aCA4IGFuZCA2NCB3b3JkcyBkZXB0aHMpLiBJIGtu b3cNCj4gd2l0aCB3aGF0IHBhcmFtZXRlcnMgdGhlIGNvbnRyb2xsZXJzIGhhdmUgYmVlbiBzeW50 aGVzaXplZCBhbmQgdGhlDQo+IGRldGVjdGVkIGRlcHRocyBtYXRjaCB0aGVtLg0KDQpPSy4gR290 IGl0Lg0KDQo+IA0KPiA+IA0KPiA+IEhvd2V2ZXIgKEkgdGhpbmsgdGhpcyBtYXkgYmUgdGhlIGNh dGNoKSwgdGhlIHNwZWMgYWxzbyBzYXlzOg0KPiA+IA0KPiA+ICJUaGlzIHJlZ2lzdGVyIGlzIHNp emVkIHRvIHRoZSBudW1iZXIgb2YgYWRkcmVzcyBiaXRzIG5lZWRlZCB0byBhY2Nlc3MgdGhlDQo+ ID4gRklGTy4iDQo+ID4gDQo+ID4gU28gZm9yIGEgZmlmbyBkZXB0aCBvZiAzMiwgdGhlIHJlZ2lz dGVyIHdvdWxkIGJlIDUgYml0cyBvbmx5LCBwcmV2ZW50aW5nIGl0DQo+ID4gZnJvbSBldmVyIGlu ZGljYXRpbmcgMzIuDQo+IA0KPiBJbiBhY2NvcmRhbmNlIHdpdGggdGhlIHJlZ2lzdGVycyBzZW1h bnRpYyB3ZSBzaGFsbCBuZXZlciB3cml0ZSBhDQo+IEZJRk8tZGVwdGggdmFsdWUgaW50byB0aGVt IGFuZCBhY3R1YWxseSB3ZSBhcmVuJ3QgYWJsZSB0byBkbyB0aGF0Lg0KPiBGaXJzdCBvZiBhbGwg aW5kZWVkIHRoZXJlIGlzIG5vIHBvaW50IGluIHNldHRpbmcgdGhlIEZJRk8tZGVwdGggdmFsdWUN Cj4gaW50byB0aGUgVFhGVExSIGJlY2F1c2UgdGhhdCB3aWxsIGNhdXNlIHRoZSBUWEUtSVJRIGJl aW5nIGNvbnN0YW50bHkNCj4gZ2VuZXJhdGVkIChiZWNhdXNlIHRoZSBsZXZlbCBvZiB0aGUgVHgg RklGTyB3aWxsIGJlIGFsd2F5cyBsZXNzIHRoYW4NCj4gb3IgZXF1YWwgdG8gdGhlIEZJRk8tZGVw dGgpLiBUaGVyZSBpcyBubyBwb2ludCBpbiBzZXR0aW5nIHRoZQ0KPiBGSUZPLWRlcHRoIGludG8g dGhlIFJYRlRMUiBiZWNhdXNlIHRoYXQgd2lsbCBlZmZlY3RpdmVseSBkaXNhYmxlIHRoZQ0KPiBS WEYtSVJRICh0aGUgbGV2ZWwgb2YgdGhlIFJ4IEZJRk8gd2lsbCBiZSBuZXZlciBncmVhdGVyIHRo YW4NCj4gRklGTy1kZXB0aCArIDEpLiBTZWNvbmRseSB0aGUgVFhGVExSL1JYRlRMUiByZWdpc3Rl cnMgd2lkdGggaGF2ZSBiZWVuDQo+IGRlZmluZWQgYXM6IFRYX0FCVy0xOjAgYW5kIFJYX0FCVy0x OjAgdW5saWtlIHRoZSBGSUZPIGxldmVsIHJlZ2lzdGVycw0KPiBUWEZMUi9SWEZMUjogVFhfQUJX OjAgYW5kIFJYX0FCVzowIC4gU28gd2UganVzdCBsaXRlcmFsbHkgY2FuJ3Qgc2V0IGENCj4gdmFs dWUgd2lkZXIgdGhhbiB0aGUgcmVnaXN0ZXIgaXMuDQoNClllcCwgdW5kZXJzdG9vZC4NCg0KPiAN Cj4gPiBJIHRoaW5rIHRoYXQgdGhpcyBzcGVjIGNsYXVzZSB0YWtlcyBwcmVjZWRlbmNlIG92ZXIN Cj4gPiB0aGUgcHJldmlvdXMgb25lLCBhbmQgZm9yIGEgZmlmbyBtYXggZGVwdGggdGhhdCBpcyBh IHBvd2VyIG9mIDIgKHdoaWNoIEkgYXNzdW1lDQo+ID4gaXMgdGhlIGNhc2Ugb24gbW9zdCBzeW50 aGVzaXMgb2YgdGhlIGRldmljZSksIHRoZSBkZXRlY3Rpb24gbG9vcCBhY3R1YWxseQ0KPiA+IHdv cmtzLiBCdXQgaXQgd291bGQgYmUgYnVnZ3kgKG9mZiBieSBvbmUpIGZvciBhbnkgb3RoZXIgdmFs dWUgb2YgdGhlIGZpZm8gbWF4DQo+ID4gZGVwdGggdGhhdCBpcyBub3QgYSBwb3dlciBvZiAyLg0K PiA+IA0KPiA+IElmIHRoZSBhYm92ZSBpcyBjb3JyZWN0LCBhbmQgbXkgU29DIHNwZWMgc2hlZXQg aXMgYWxzbyBjb3JyZWN0LCB0aGVuIGFsbCBJIGNhbg0KPiA+IHRoaW5rIG9mIG5vdyBpcyBhIEhX IGJ1Zy4gQmVjYXVzZSBubyBtYXR0ZXIgd2hhdCBJIGRvIG9yIGhvdyBJIGxvb2sgYXQgaXQsIHRo ZQ0KPiA+IFJYIEZJRk8gb3ZlcmZsb3cgYWx3YXlzIGhhcHBlbiB3aGVuIHRoZSBzdW0gb2YgVFgg Ynl0ZXMgc2VudCBhbmQgUlggYnl0ZXMgbGVmdA0KPiA+IHRvIHJlY2VpdmUgZXF1YWxzIGV4YWN0 bHkgMzIuIFNlbmRpbmcgMzJCIG9uIFRYIGZpZm8gZG9lcyBudG8gc2VlbSB0byBjYXVzZSBhbnkN Cj4gPiBwcm9ibGVtLCBzbyB0aGUgVFggZmlmbyBzZWVtcyB0byBpbmRlZWQgYmUgMzJCIGRlZXAu IEJ1dCBvbiB0aGUgUlggc2lkZSwgaXQNCj4gPiByZWFsbHkgbG9vayBsaWtlIDMxIGlzIHRoZSB2 YWx1ZSB0byB1c2UuDQo+IA0KPiBPZiBjb3Vyc2Ugd2Ugc2hvdWxkbid0IHJlamVjdCBhIHBvc3Np YmlsaXR5IG9mIGhhdmluZyBhIEhXIGJ1ZyBoZXJlLA0KPiBidXQgdGhhdCBpcyBhbHdheXMgYSBs YXN0IHJlc29ydCBhbmQgbmVlZHMgdG8gYmUgZmlybWx5IHByb3ZlZC4NCj4gSW4geW91ciBjYXNl IHdlIG1heSBhc3N1bWUgb25lIG9mIHR3byBjYXVzZXMgb2YgdGhlIHByb2JsZW06DQo+IDEpIFRo ZXJlIGlzIHRoZSBkZXB0aHMgbWlzbWF0Y2guDQo+IMKgwqDCoEJ1dCBob3cgY29tZSB5b3Ugc3Rp bGwgZ2V0IHRoZSBSWEZMUiB0byBiZSBmaWxsZWQgd2l0aCBkYXRhIG9mDQo+IMKgwqDCoGdyZWF0 ZXIgbGVuZ3RoIHRoYW4gd2UgdGhpbmsgdGhlIFJ4IEZJRk8gZGVwdGggaXM/Li4gQW55d2F5IHRo ZQ0KPiDCoMKgwqB3ZWlyZCBiZWhhdmlvdXIgc3RpbGwgY2FuIGJlIGV4cGxhaW5lZCBieSB0aGUg bm9uLXN0YW5kYXJkDQo+IMKgwqDCoGNvbmZpZ3VyYXRpb24gZXNwZWNpYWxseSBpZiB0aGUgZGVw dGggaXNuJ3QgcG93ZXIgb2YgMiwgdGhhdA0KPiDCoMKgwqBTeW5vcHN5cyBtaWdodCBoYXZlbid0 IGV2ZW4gdGVzdGVkIGl0LCBldGMuDQoNCkkgaGF2ZSBuZXZlciBzZWVuIFJYRkxSIGJlaW5nIGxh cmdlciB0aGFuIDMyLCB3aGljaCBpcyB0aGUgYXNzdW1lZCBUWCBhbmQgUlgNCmZpZm8gZGVwdGgu IEhvd2V2ZXIsIHRoZSBzcGVjIGRvIG1lbnRpb24gdGhhdCBpbiBjYXNlIG9mIG92ZXJydW4sIHRo ZSBleHRyYQ0KYnl0ZXMgYXJlIGRyb3BwZWQsIHNvIEkgZG8gbm90IHRoaW5rIHNlZWluZyBSWEZM UiBiZWluZyBsYXJnZXIgdGhhbiBmaWZvIGRlcHRoDQppcyBwb3NzaWJsZS4gV2hlbiB0aGUgUlgg ZmlmbyBvdmVycnVuIGVycm9yIG9jY3VyLCBSWEZMUiBhbHdheXMgaW5kaWNhdGUgMzIuIEkNCnRo b3VnaHQgb2YgdGhlIGZvbGxvd2luZyBwb3NzaWJpbGl0aWVzIGFzIHBvdGVudGlhbCBidWdzOg0K YSkgdGhlIHRyYWNlIHNob3dzIHRoYXQgdGhlIGRyaXZlciBpcyBub3QgdHJ5aW5nIHRvIGFzayBm b3IgbW9yZSBieXRlcyB0aGFuIHRoZQ0KZmlmbyBjYW4gaG9sZCwgc28gdGhlIGNvbnRyb2xsZXIg bWF5IGJlIHRyeWluZyB0byBwdXNoIG9uZSBtb3JlIGJ5dGUgdGhhbiB3YXMNCnJlcXVlc3RlZC4N CmIpIFRoZSBSWCBmaWZvIGRlcHRoIGlzIGluIGZhY3QgMzEgaW5zdGVhZCBvZiB0aGUgZG9jdW1l bnRlZCAmIGRldGVjdGVkIDMyLg0KYykgVGhlIFJYIGZpZm8gaXMgaW5kZWVkIDMyLCBidXQgdGhl IG92ZXJydW4gdHJpZ2dlciBpcyBvZmYtYnktb25lIGFuZCB0cmlnZ2Vycw0Kd2hlbiBSWEZMUiA9 PSAzMiBpbnN0ZWFkIG9mIHdoZW4gUlhGTFIgPT0gMzIgJiYgb25lIG1vcmUgYnl0ZSB3YXMgcmVx dWVzdGVkLg0KDQooYikgYW5kIChjKSBiZWluZyBraW5kLW9mIGVxdWl2YWxlbnQuIEZvciAoYSks IEkgdGhvdWdodCB0aGUgTU9TSSBsaW5lIGRyaXZlDQpoaWdoIG9yIGxvdyAodHh3ID0gMCBvciB0 eHcgPSAweGZmZmYgaW4gZHdfd3JpdGVyKCkpIG1heSBtYXR0ZXIsIGJ1dCB0aGF0IGRvZXMNCm5v dCBzZWVtIHRvIGJlIHRoZSBjYXNlLiBDaGFuZ2luZyB0eHcgaW5pdCB2YWx1ZSBoYXMgbm8gZWZm ZWN0LiBTbyBJIGtpbmQgb2YNCnJ1bGVkIChhKSBvdXQuDQoNCj4gMikgVGhlcmUgaXMgYSBIVyBi dWcsIGR1ZSB0byB3aGljaCB0aGUgUlhPIGludGVycnVwdCBpcyBnZW5lcmF0ZWQgZXZlbg0KPiDC oMKgwqB0aG91Z2ggdGhlcmUgaXMgbm8gYWN0dWFsIG92ZXJydW4uDQo+IExldCdzIHRyeSB0byBw cm92ZSBvciBkaXNwcm92ZSB0aGVtLg0KPiANCj4gTGV0J3MgYXNzdW1lIHRoYXQgdGhlcmUgaXMg aW5kZWVkIHRoZSBkZXB0aHMgbWlzbWF0Y2ggaGVyZToNCj4gKFNTSV9UWF9GSUZPX0RFUFRIID0g MzIpICE9IChTU0lfUlhfRklGT19ERVBUSCA9IDMxKSwgYW5kIGZvciBzb21lDQo+IHJlYXNvbiAo ZHVlIHRvIGZvciBpbnN0YW5jZSB0aGUgVFhGVExSL1JYRlRMUiBzZW1hbnRpYyBjaGFuZ2Ugb3IN Cj4gdGhlIEhXIGJ1ZyBvciBldGMpIHdlIGNhbid0IGRldGVjdCB0aGUgUnggRklGTyBkZXB0aCBi eSB0aGUgYWxnb3JpdGhtDQo+IGluIHRoZSBkcml2ZXIuIElmIHNvIHdlIGNhbid0IHJlbHkgb24g dGhlIGRlcHRoIGRldGVjdGlvbiBsb29wIGFuZA0KPiBuZWVkIHRvIHRyeSB0byBwcm92ZSB0aGUg ZGVwdGhzIG1pc21hdGNoIHNvbWVob3cgZWxzZS4gSXQgd291bGQgYmUNCj4gYWxzbyBiZXR0ZXIg dG8gZXhjbHVkZSB0aGUgZHJpdmVyIGNvZGUgZnJvbSB0aGUgcHJvYmxlbSBlcXVhdGlvbi4uLg0K PiANCj4gU2luY2Ugd2UgYXJlIHN1cmUgdGhlIFJ4IEZJRk8gZGVwdGggbXVzdCBiZSBzbWFsbGVy IHRoYW4gdGhlIFR4IEZJRk8NCj4gZGVwdGggKG90aGVyd2lzZSB5b3Ugd291bGRuJ3QgYmUgZ2V0 dGluZyB0aGUgUnggRklGTyBvdmVyZmxvd3MpLCB0aGVuDQo+IHdlIGNhbiBqdXN0IHRyeSB0byBt YW51YWxseSBleGVjdXRlIGEgc21hbGwgU1BJIHRyYW5zZmVyIG9mIHRoZSBUeCBGSUZPDQo+IGRl cHRoIGxlbmd0aC4gSWYgdGhlIG1pc21hdGNoIHRha2VzIHBsYWNlIG9yIGFuIEhXIGJ1ZyB3aXRo IGZhbHNlIFJYTywNCj4gdGhlbiB3ZSdsbCBnZXQgdGhlIFJ4IEZJRk8gb3ZlcmZsb3cgZmxhZyBz ZXQuDQo+IA0KPiBJJ3ZlIGNyZWF0ZWQgYSBzbWFsbCBzaGVsbC1zY3JpcHQgKHlvdSBjYW4gZmlu ZCBpdCBpbiB0aGUgYXR0YWNobWVudCkNCj4gd2hpY2ggcnVucyBhIHNpbmdsZSBTUEkgdHJhbnNm ZXIgb2YgdGhlIHBhc3NlZCBsZW5ndGggYnkgbWFudWFsbHkNCj4gc2V0dGluZyBhIERXIEFQQiBT U0kgY29udHJvbGxlciB1cCB3aXRoIGhlbHAgb2YgdGhlIGRldm1lbSB1dGlsaXR5Lg0KPiBJbiBv dXIgY2FzZSB0aGUgbGVuZ3RoIGlzIHN1cHBvc2VkIHRvIGJlIGVxdWFsIHRvIHRoZSBGSUZPIGRl cHRoLg0KPiBIZXJlIGlzIHdoYXQgaGFwcGVucyBpZiBJIHJ1biBpdCBvbiBteSBoYXJkd2FyZSAo ZGVwdGggZXF1YWxzIHRvIDY0DQo+IGFuZCB0aGUgY29udHJvbGxlciByZWdpc3RlcnMgcGh5c2lj YWwgYWRkcmVzcyBpcyAweDFmMDRlMDAwKToNCj4gDQo+IHJvb3RAbXNidDI6fiMgLi9jaGVja19t aXNtYXRjaC5zaCA2NCAweDFmMDRlMDAwDQo+IDEuIFR4IEZJRk8gbHZsIDAsIFJ4IEZJRk8gbHZs IDAsIFJJU1IgMHgwMDAwMDAwMA0KPiAxLiBUeCBGSUZPIGx2bCA2NCwgUnggRklGTyBsdmwgMCwg UklTUiAweDAwMDAwMDAwDQo+IDIuIFR4IEZJRk8gbHZsIDAsIFJ4IEZJRk8gbHZsIDY0LCBSSVNS IDB4MDAwMDAwMTENCj4gDQo+IFNlZSwgYWZ0ZXIgc2VuZGluZyBhbmQgcmVjZWl2aW5nIGFsbCB0 aGUgZGF0YSB0aGUgc3RhdHVzIHJlZ2lzdGVyDQo+IGRldGVjdHMgdGhlIG5vcm1hbCBUWEUgYW5k IFJYRiBpbnRlcnJ1cHRzLiBCdXQgaWYgb3VyIGFzc3VtcHRpb25zIGFyZQ0KPiBjb3JyZWN0IGlu IHlvdXIgY2FzZSBpdCBzaGFsbCBiZSBzb21ldGhpbmcgbGlrZSAweDAwMDAwMDE5IGFsc28NCj4g cHJlc2VudGluZyB0aGUgUlhPIGludGVycnVwdC4NCj4gDQo+ICogTm90ZSBBRkFJVSB5b3UgbWln aHQgbmVlZCB0byBmaXggdGhlIHNjcmlwdCBhIGJpdCB0byBzZXQgdGhlIERGUw0KPiAqIGZpZWxk IGF0IHRoZSBjb3JyZWN0IHBsYWNlIG9mIENUUkxSMC4uLg0KDQpBZnRlciBhZGp1c3RpbmcgZm9y IHRoZSBDVFJMUjAgMzIgYml0cyBmb3JtYXQsIEkgZ2V0IHRoaXM6DQoNCkZvciBERVBUSCA9IDMy Og0KDQoxLiBUeCBGSUZPIGx2bCAwLCBSeCBGSUZPIGx2bCAwLCBSSVNSIDB4MDAwMDAwMDANCjEu IFR4IEZJRk8gbHZsIDMyLCBSeCBGSUZPIGx2bCAwLCBSSVNSIDB4MDAwMDAwMDANCjIuIFR4IEZJ Rk8gbHZsIDAsIFJ4IEZJRk8gbHZsIDMyLCBSSVNSIDB4MDAwMDAwMTkNCg0KRXQgdm9pbGE6IFJY IG92ZXJydW4gd2hpY2ggbWF0Y2hlcyB3aGF0IEkgd2FzIHNlZWluZyB3aXRoIHRoZSBkcml2ZXIg dHJhY2UuDQoNCk5vdyBmb3IgREVQVEggPSAzMToNCg0KMS4gVHggRklGTyBsdmwgMCwgUnggRklG TyBsdmwgMCwgUklTUiAweDAwMDAwMDAwDQoxLiBUeCBGSUZPIGx2bCAzMSwgUnggRklGTyBsdmwg MCwgUklTUiAweDAwMDAwMDAwDQoyLiBUeCBGSUZPIGx2bCAwLCBSeCBGSUZPIGx2bCAzMSwgUklT UiAweDAwMDAwMDExDQoNCk5vcm1hbCB0cmFuc2Zlci4uLg0KDQo+IElmIGFmdGVyIHJ1bm5pbmcg dGhlIGF0dGFjaGVkIHNjcmlwdCB5b3UgZ2V0IHRoZSBSWE8gc3RhdHVzIHNldCwgdGhlbg0KPiBp bmRlZWQgdGhlcmUgaXMgZWl0aGVyIHRoZSBkZXB0aHMgbWlzbWF0Y2ggb3IgdGhlcmUgaXMgYSBI VyBidWcuIElmDQo+IHRoZSBUWEZUTFIvUlhGVExSIHNlbWFudGljIGhhc24ndCBjaGFuZ2VkIGlu IHNwZWMgdjQsIHRoZW4gdGhlDQo+IG1pc21hdGNoIG9yIGEgSFcgYnVnIGRvbid0IGxldCB1cyB0 byBkZXRlY3QgdGhlIFJ4IEZJRk8gZGVwdGggYnkgbWVhbnMNCj4gb2YgdGhlIGFsZ29yaXRobSBp bXBsZW1lbnRlZCBpbiB0aGUgZHJpdmVyLiBUaGVuIHdlIGhhdmUgbm8gY2hvaWNlIGJ1dA0KPiB0 byBtYW51YWxseSBzZXQgdGhlIEZJRk8gZGVwdGggZm9yIHRoZSBLMjEwIFNQSSBjb250cm9sbGVy Lg0KDQpJIGRvIG5vdCBoYXZlIHRoZSBvbGRlciB2MyBzcGVjcyBvbiBoYW5kIG5vdywgYnV0IEkg Y2FuIGdldCB0aGVtLiBJIHdpbGwgYW5kDQpjb21wYXJlIGJ1dCBmcm9tIHJlYWRpbmcgdGhlIHY0 IHNwZWNzIHllc3RlcmRheSwgSSBoYXZlIG5vdCBzZWVuIGFueXRoaW5nIHRoYXQNCmRvZXMgbm90 IG1hdGNoIHRoZSBkcml2ZXIgYmVoYXZpb3IuDQoNCj4gDQo+ID4gDQo+ID4gSGVyZSBpcyBhIHRy YWNlIGZvciBhIDY0QiB0cmFuc2ZlciAoZXJyb3JzIGhhcHBlbiBvbmx5IGZvciB0cmFuc2ZlcnMg bGFyZ2VyDQo+ID4gdGhhbiAzMiBCKToNCj4gPiANCj4gPiBJUlEoMSk6DQo+ID4gWyAgICAxLjA2 Mjk3OF0gc3BpX21hc3RlciBzcGkxOiAjIyBSWDogdXNlZCAwLzAsIGxlbiA2NCAtPiByeCAwDQo+ ID4gWyAgICAxLjA2ODUzM10gc3BpX21hc3RlciBzcGkxOiAjIyBUWDogdXNlZCAwLzAsIHJvb20g MzIsIGxlbiA2NCwgZ2FwIDMyIC0+IHR4DQo+ID4gMzINCj4gPiANCj4gPiBJUlEoMik6DQo+ID4g WyAgICAxLjA3NjA1Ml0gc3BpX21hc3RlciBzcGkxOiAjIyBSWDogdXNlZCAxNi8xNSwgbGVuIDY0 IC0+IHJ4IDE1DQo+ID4gWyAgICAxLjA4MTY0N10gc3BpX21hc3RlciBzcGkxOiAjIyBUWDogdXNl ZCAwLzE3LCByb29tIDMyLCBsZW4gMzIsIGdhcCAxNSAtPiB0eA0KPiA+IDE1DQo+ID4gDQo+ID4g SVJRKDMpOg0KPiA+IFsgICAgMS4wODg5MzJdIHNwaV9tYXN0ZXIgc3BpMTogUlggRklGTyBvdmVy ZmxvdyBkZXRlY3RlZA0KPiA+IFsgICAgMS4wOTQwNTNdIHNwaV9tYXN0ZXIgc3BpMTogIyMgVFgv UlggdXNlZCAwLzMyLCBsZW4gMTcvNDkNCj4gPiANCj4gPiBFYWNoIHBhaXIgb2YgbGluZSBjb3Jy ZXNwb25kIHRvIG9uZSBleGVjdXRpb24gb2YgZHdfc3BpX3RyYW5zZmVyX2hhbmRsZXIoKSBvbg0K PiA+IGFuIElSUSBvY2N1cnJlbmNlLiBUaGUgZmlyc3QgbGluZSBpcyB3aGF0IHJ4X21heCgpIHNl ZXMgd2hlbiBkd19yZWFkZXIoKSBpcw0KPiA+IGNhbGxlZCwgdGhlIHNlY29uZCBsaW5lIGlzIHdo YXQgdHhfbWF4KCkgc2VlcyB3aGVuIGR3X3dyaXRlcigpIGlzIGV4ZWN1dGVkLiBUaGUNCj4gPiAi dXNlZCB4L3kiIHBhcnQgb2YgdGhlIG1lc3NhZ2VzIHNob3dzIFRYRkxSL1JYRkxSIHZhbHVlcy4N Cj4gPiANCj4gPiAoMSkgQWZ0ZXIgc2V0dXAgb2YgdGhlIHRyYW5zZmVyIGFuZCBlbmFibGluZyB0 aGUgY29udHJvbGxlciwgSVJRKDEpIG9jY3VycywNCj4gPiBub3RoaW5nIHRvIHJlY2VpdmUgeWV0 LCBUWCBmaWZvIGFsbCBlbXB0eSwgMzIgQiBhcmUgd3JpdHRlbi4gQWxsIGV4cGVjdGVkLiBPSy4N Cj4gPiAoMikgTW9yZSB0aGFuIGZpZm9fbGVuIC8gMiAtIDEgKGFzIFJYRlRMUiBpcyBzZXQgaW4g ZHdfc3BpX2lycV9zZXR1cCkgYmVjb21lDQo+ID4gYXZhaWxhYmxlIGFuZCBJUlEoMikgdHJpZ2dl ciwgMTUgQnl0ZXMgYXJlIHJlY2VpdmVkLiBXaGVuIGR3X3dyaXRlcigpIHJ1bnMsIGl0DQo+ID4g c2VlcyB0aGUgcnh0eGdhcCBhdCAxNUIgKDE3QiBzdGlsbCB0byByZWNlaXZlIGZyb20gdGhlIHBy ZXZpb3VzIDMyQiB3cml0dGVuKSwNCj4gPiBzbyB3cml0ZXMgb25seSAxNUIuIEFsbCBnb29kLCBh Z2FpbiBleHBlY3RlZC4gTm90ZSB0aGF0IHdoZW4gZHdfd3JpdGVyKCkgcnVucywNCj4gPiB0aGUg cmVtYWluaW5nIDE3QiB0byBiZSByZWNlaXZlZCBhcmUgYWxyZWFkeSBhdmFpbGFibGUsIGJ1dCB0 aGF0IGlzIGxpa2VseSBkdWUNCj4gPiB0byB0aGUgZGVsYXkgZnJvbSB0aGUgcHJfaW5mbygpIG1l c3NhZ2UgcHJpbnQuDQo+ID4gKDMpIE5leHQgSVJRKDMpIGlzIHRoZSBlcnJvciwgc2hvd2luZyB0 aGF0IGFsbCBUWCBieXRlcyBoYXZlIGJlZW4gcHJvY2Vzc2VkIGFuZA0KPiA+IHRoYXQgdGhlIFJY IGZpZm8gaXMgZnVsbCB3aXRoIDMyQi4NCj4gPiANCj4gPiBJZiB0aGUgUlggZmlmbyBtYXggZGVw dGggaXMgaW5kZWVkIDMyLCBJIGRvIG5vdCB1bmRlcnN0YW5kIHdoeSB0aGUgb3ZlcmZsb3cNCj4g PiBlcnJvciBpcyB0cmlnZ2VyZWQgYXQgc3RlcCAoMykuIFRoZXJlIGFyZSBubyBtb3JlIHRoYW4g MzJCIHRoYXQgY2FuIHBvc3NpYmx5IGJlDQo+ID4gcmVjZWl2ZWQuIFB1dHRpbmcgYmFjayB0aGUg ImRyaXZlIE1PU0kgbG5lIGhpZ2giIHBhdGNoIGRvZXMgbm90IGNoYW5nZQ0KPiA+IGFueXRoaW5n LiBTYW1lIGJlaGF2aW9yLg0KPiANCj4gVGhlIGxvZyB5b3UndmUgc2VudCBpbmRlZWQgbG9va3Mg d2VpcmQuIEknZCBvbmUgbW9yZSB0aW1lIHBlcmZvcm1lZA0KPiB0aGUgbmV4dCBzdGVwczoNCj4g MSkgU3R1ZHkgdGhlIHNwZWMgcGF5aW5nIHNwZWNpYWwgYXR0ZW50aW9uIHRvIHRoZSBUWEZUTFIv UlhGVExSIGFuZA0KPiDCoMKgwqBUWEZMUi9SWEZMUiByZWdpc3RlcnMgZGVzY3JpcHRpb25zLiBN b3N0bHkgd2UgbmVlZCB0byBtYWtlIHN1cmUNCj4gwqDCoMKgdGhhdCBub3RoaW5nIGhhcyBjaGFu Z2VkIHNpbmNlIHRoZSBvbGRlciBjb250cm9sbGVyIHJldmlzaW9ucyBhbmQNCj4gwqDCoMKgd2hh dCB0aGUgZHJpdmVyIGltcGxlbWVudHMgaXMgY29ycmVjdCBmb3IgeW91ciBjb250cm9sbGVyLg0K PiAyKSBUcnkgdG8gZmluZCBhbiBpbnRlcm5hbCBkb2Mgd2l0aCB0aGUgRFcgQVBCIFNTSSBJUC1j b3JlIHBhcmFtZXRlcnMNCj4gwqDCoMKgaW5pdGlhbGl6ZWQgZHVyaW5nIHRoZSBjb250cm9sbGVy IHN5bnRoZXNpemUuIFRyeSB0byBmaW5kIHRoZQ0KPiDCoMKgwqBTU0lfVFhfRklGT19ERVBUSC9T U0lfUlhfRklGT19ERVBUSCBwYXJhbWV0ZXJzIHZhbHVlLg0KPiAzKSBUcnkgdG8gZmluZCBhbiBl cnJhdGEgZG9jIGZvciB5b3VyIGNvbnRyb2xsZXIgcmV2aXNpb24gYW5kIG1ha2UNCj4gwqDCoMKg c3VyZSBpdCBkb2Vzbid0IGhhdmUgYW55dGhpbmcgYWJvdXQgdGhlIHByb2JsZW0geW91IGFyZSBn ZXR0aW5nDQo+IMKgwqDCoGhlcmUuDQoNClRoZSBLMjEwIGRvY3VtZW50YXRpb24gaXMgZXh0cmVt ZWx5IHBvb3IuIEFsbCB0aGF0IGlzIGF2YWlsYWJsZSBpcyBoZXJlOg0KDQpodHRwczovL3MzLmNu LW5vcnRoLTEuYW1hem9uYXdzLmNvbS5jbi9kbC5rZW5kcnl0ZS5jb20vZG9jdW1lbnRzL2tlbmRy eXRlX2RhdGFzaGVldF8yMDE4MTAxMTE2MzI0OF9lbi5wZGYNCg0KQW5kIGFzIHlvdSBjYW4gc2Vl LCB0aGF0IGlzIGFsbCB2ZXJ5IGhpZ2ggbGV2ZWwuIFRoZSBiZXN0IHNvdXJjZSBvZiBpbmZvcm1h dGlvbg0KaXMgdGhlIFNESyBjb2RlIGhlcmU6DQoNCmh0dHBzOi8vZ2l0aHViLmNvbS9rZW5kcnl0 ZS9rZW5kcnl0ZS1zdGFuZGFsb25lLXNkaw0KDQpJbiB0aGF0IGNvZGUsIFRYIGZpZm8gbGVuZ3Ro IGlzIGNsZWFybHkgaGFyZC1jb2RlZCBhdCAzMiwgYnV0IHRoZSBSWCBmaWZvIGRlcHRoDQppcyBu b3QgY2xlYXIgYXMgdGhlIGNvZGUgYWx3YXlzIHNldHMgUlhGVExSIHRvIDAgYW5kIHRoZSBjb2Rl IGlzIHJhdGhlciB0cml2aWFsDQpkb2luZyBhIGxvb3AgdXAgdG8gUlhGTFIgdG8gcmVjZWl2ZSBi eXRlcy4NCg0KPiA0KSBSdW4gdGhlIGF0dGFjaGVkIHNjcmlwdCB0byBtYWtlIHN1cmUgdGhhdCB0 aGUgcHJvYmxlbSBpc24ndA0KPiDCoMKgwqBjb25uZWN0ZWQgd2l0aCBhIGJ1ZyBpbiB0aGUgZHJp dmVyLCBidXQgZWl0aGVyIHdpdGggdGhlIGRlcHRocw0KPiDCoMKgwqBtaXNtYXRjaCBvciB3aXRo IGFuIEhXIGJ1Zy4NCg0KU2luY2UgYXBwbHlpbmcgdGhlIGZpZm8gZGVwdGggZGV0ZWN0aW9uIGxv b3AgdG8gUlhGTFRSIGxlYWRzIHRvIHRoZSBzYW1lIHJlc3VsdA0KKG1heCByZWdpc3RlciB2YWx1 ZSA9IDMxLCBtZWFuaW5nIGEgZmlmbyBkZXB0aCBvZiAzMiksIGl0IHJlYWxseSBsb29rcyBsaWtl IGFuDQpvZmYtYnktb25lIEhXIGJ1ZyBvbiB0aGUgdHJpZ2dlciBmb3IgdGhlIFJYIG92ZXJydW4g c3RhdHVzLg0KDQo+IA0KPiA+IA0KPiA+IEkgYW0gb3V0IG9mIGlkZWFzIGF0IHRoaXMgcG9pbnQg YW5kIGNhbiBvbmx5IHRoaW5rIHRoYXQgSSBhbSBmYWNpbmcgYSBIVyBidWcNCj4gPiB0aGF0IG5l ZWRzIGEgcXVpcmsgc29tZXdoZXJlLg0KPiA+IA0KPiA+IFRob3VnaHRzID8gRG8geW91IHRoaW5r IGl0IGlzIE9LIHRvIGFkZCBhIHF1aXJrIGZsYWcgZm9yIHRoaXMgU29DIHRvIGhhdmUNCj4gPiBm aWZvX2xlbiByZWR1Y2VkIGJ5IG9uZSA/IEFkZGluZyBhIERUIHByb3BlcnR5IHRvIG1hbnVhbGx5 IGZvcmNlIGEgdmFsdWUgZm9yDQo+ID4gZmlmb19sZW4gd291bGQgd29yayB0b28uDQo+IA0KPiBT byBpZiBub25lIG9mIHRoZSBzdGVwcyBhYm92ZSBnaXZlcyB1cyBhbiBhbnN3ZXIsIHRoZW4gd2Ug bmVlZCB0byBkaWcNCj4gZGlwcGVyIGludG8gdGhlIGRyaXZlciBjb2RlIGFuZCB3ZSBtaXNzaW5n IHNvbWV0aGluZy4gSWYgMikgLSA0KSBwcm92ZXMgdGhlDQo+IGRlcHRocyBtaXNtYXRjaCBvciBh IEhXIGJ1ZywgdGhlbiB5b3UgY2FuIHBhdGNoIHRoZSBzcGktZHctbW1pby5jIGNvZGUgdG8gc2V0 DQo+IGEgY3VzdG9tIGZpZm9fbGVuIGZvciB0aGUgSzIxMCBTUEkgY29udHJvbGxlci4NCj4gDQo+ IEFueXdheSBJIGRvbid0IHRoaW5rIGEgcXVpcmsgZmxhZyB3b3VsZCBiZSBhIGdvb2Qgc29sdXRp b24gaGVyZSBiZWNhdXNlDQo+IHRoZSBwcm9ibGVtIHNlZW1zIHZlcnkgc3BlY2lmaWMgdG8geW91 ciBjb250cm9sbGVyLi4uDQoNCkluZGVlZC4gU28gd2hhdCBhYm91dCB0aGlzOg0KDQpkaWZmIC0t Z2l0IGEvZHJpdmVycy9zcGkvc3BpLWR3LW1taW8uYyBiL2RyaXZlcnMvc3BpL3NwaS1kdy1tbWlv LmMNCmluZGV4IGQwY2M1YmY0ZmE0ZS4uMTdjMDYwMzlhNzRkIDEwMDY0NA0KLS0tIGEvZHJpdmVy cy9zcGkvc3BpLWR3LW1taW8uYw0KKysrIGIvZHJpdmVycy9zcGkvc3BpLWR3LW1taW8uYw0KQEAg LTIyMiw2ICsyMjIsMjEgQEAgc3RhdGljIGludCBkd19zcGlfa2VlbWJheV9pbml0KHN0cnVjdCBw bGF0Zm9ybV9kZXZpY2UNCipwZGV2LA0KICAgICAgICByZXR1cm4gMDsNCiB9DQogDQorc3RhdGlj IGludCBkd19zcGlfY2FuYWFuX2syMTBfaW5pdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2 LA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZHdfc3BpX21taW8g KmR3c21taW8pDQorew0KKyAgICAgICAvKg0KKyAgICAgICAgKiBUaGUgQ2FuYWFuIEtlbmRyeXRl IEsyMTAgU29DIERXIGFwYl9zc2kgdjQgc3BpIGNvbnRyb2xsZXIgaXMNCisgICAgICAgICogZG9j dW1lbnRlZCB0byBoYXZlIGEgMzIgd29yZHMgZGVlcCBUWCBhbmQgUlggRklGTywgd2hpY2gNCisg ICAgICAgICogc3BpX2h3X2luaXQoKSBkZXRlY3RzLiBIb3dldmVyLCB3aGVuIHRoZSBSWCBGSUZP IGlzIGZpbGxlZCB1cCB0bw0KKyAgICAgICAgKiAzMiBlbnRyaWVzIChSWEZMUiA9IDMyKSwgYW4g UlggRklGTyBvdmVycnVuIGVycm9yIG9jY3Vycy4gQXZvaWQgdGhpcw0KKyAgICAgICAgKiBwcm9i bGVtIGJ5IGZvcmNlIHNldHRpbmcgZmlmb19sZW4gdG8gMzEuDQorICAgICAgICAqLw0KKyAgICAg ICBkd3NtbWlvLT5kd3MuZmlmb19sZW4gPSAzMTsNCisNCisgICAgICAgcmV0dXJuIDA7DQorfQ0K Kw0KIHN0YXRpYyBpbnQgZHdfc3BpX21taW9fcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAq cGRldikNCiB7DQogICAgICAgIGludCAoKmluaXRfZnVuYykoc3RydWN0IHBsYXRmb3JtX2Rldmlj ZSAqcGRldiwNCkBAIC0zMzUsNiArMzUwLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZp Y2VfaWQgZHdfc3BpX21taW9fb2ZfbWF0Y2hbXSA9IHsNCiAgICAgICAgeyAuY29tcGF0aWJsZSA9 ICJzbnBzLGR3Yy1zc2ktMS4wMWEiLCAuZGF0YSA9IGR3X3NwaV9kd2Nfc3NpX2luaXR9LA0KICAg ICAgICB7IC5jb21wYXRpYmxlID0gImludGVsLGtlZW1iYXktc3NpIiwgLmRhdGEgPSBkd19zcGlf a2VlbWJheV9pbml0fSwNCiAgICAgICAgeyAuY29tcGF0aWJsZSA9ICJtaWNyb2NoaXAsc3Bhcng1 LXNwaSIsIGR3X3NwaV9tc2NjX3NwYXJ4NV9pbml0fSwNCisgICAgICAgeyAuY29tcGF0aWJsZSA9 ICJjYW5hYW4sazIxMC1zcGkiLCBkd19zcGlfY2FuYWFuX2syMTBfaW5pdH0sDQogICAgICAgIHsg LyogZW5kIG9mIHRhYmxlICovfQ0KIH07DQogTU9EVUxFX0RFVklDRV9UQUJMRShvZiwgZHdfc3Bp X21taW9fb2ZfbWF0Y2gpOw0KDQpObyBhZGRlZCBjYXBhYmlsaXR5IGZsYWcgYW5kIHByb2JsZW0g c29sdmVkOiBubyBSWCBvdmVycnVuIGVycm9ycyBhbmQgdGhlIFNEDQpjYXJkIGlzIHJ1bm5pbmcg YXQgMS4yIE1CL3MuDQoNCi0tIA0KRGFtaWVuIExlIE1vYWwNCldlc3Rlcm4gRGlnaXRhbA0K From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6BDECC2D0E4 for ; Thu, 19 Nov 2020 05:13:13 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 436C021D91 for ; Thu, 19 Nov 2020 05:13:11 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="ONiI8105"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=wdc.com header.i=@wdc.com header.b="aF/w8IQi"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=sharedspace.onmicrosoft.com header.i=@sharedspace.onmicrosoft.com header.b="lXsXCZoZ" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 436C021D91 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=wdc.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:Content-ID:In-Reply-To:References: Message-ID:Date:Subject:To:From:Reply-To:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=KCZ0nEmRIOBbkiegIcRKjcsRLxVvXLBUwg1jNbsJCaE=; b=ONiI8105g4CD3onU/MSdbrdLJ Gc+3RJcqj0qLb9Mmme2pDDNkM8QjcEj+GypFxzorCy4I0Rlvu/nlpAHsiWceGKkHUjevbZW2fyo7n XrmkJy3KERgt84w4iamcD61LKrOYKrQJwHBsgJ9OYER7khP+hqnB5EfVlJC46S1IM9HZvU0W7IMsN nlTOd8kNhsMAeSni7sqbofU7nQoZrSanILG/8n/O/1PjKG+tyzMjoMExYB2Bf0ze3LUZy8vXCFuCT TLTq5Bo8gn0PG6ErfWeYEMrebGHDH/LZ/Hq/nGkeXepadd7Snh0dMav1APQMKnQDeA6SPMRhwGgx0 gqXR4gjCg==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kfcFZ-0003AJ-Vo; Thu, 19 Nov 2020 05:12:54 +0000 Received: from esa3.hgst.iphmx.com ([216.71.153.141]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kfcFT-00039i-8P for linux-riscv@lists.infradead.org; Thu, 19 Nov 2020 05:12:51 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1605762767; x=1637298767; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=nvXCsPq6ELORJzEJ6mUDjXHLeeud/rixn9MYgx/gxb8=; b=aF/w8IQiP0/2hCWamsXzcLMzu0mzQjLO2rlV/qulpWsvKpXSwxuAcTHk 6GmWT6LUAZnfbbVzTdIYIhJfJgaF6mwcH/6bD2IX8SmpFLdikra05yf9X 9iR+XV1j0dvZhkofrnXo5tH1bvhfibwZPHjvhQxnS7kRSvBqT0kKEvqsg iKpOIcj0PQAfnVZRDFgzMXxzObD2fOXuqmesxVAaK/ZC0qpXsaTVysle3 0lfrFQgZNDCC/cgR76Sp+gy03dQa/my6nXQw7zDXc2eAWq4AmVAJa1K08 Au2+zl/RIuMiHgtqd1o6YKybJiydBk7ZwQS67xtmRaYWocdb8SJxgAr+q g==; IronPort-SDR: ThPk3p19rUcFF0hguJKjp7sS90sybuCK9T9UzYCGhZB7qsQKXKcUjAi9K8W4l8j2ixIGaI+Z8E RgZ6iNDpGROWHO6+l+gLEN7MOl61swY2eyq3tdRkCLT5d9mlgOLcZ115qqwuRvqKGHATH4sJTX PUmdD7JuKkuCCvFVdoUoV3tda0tZpgHnWUPOqQmU2Mew0+RVBsj2S8O6YTEzDwS8LNLpSp8nB6 MkpvVmRmi6cts5oqijsrKAYgXn53z9zvgwZBkkkxUWi3Xq7VkZ8OywSq7/A7BMOn6nZvplqPMJ N7g= X-IronPort-AV: E=Sophos;i="5.77,489,1596470400"; d="scan'208";a="157429122" Received: from mail-bn3nam04lp2051.outbound.protection.outlook.com (HELO NAM04-BN3-obe.outbound.protection.outlook.com) ([104.47.46.51]) by ob1.hgst.iphmx.com with ESMTP; 19 Nov 2020 13:12:42 +0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Jau8aRlF3PDxpu1H7JL30UU4qegGY3314NuKJSGKNlZdw8I0x6ZKk1r/KVNMS/wPlwKgHSbs6sDABTCTpd9rSO1L41r5KSz2EMtZ7HgnGio/peD+lJ6XxC7myIeVvIUz6pQMt72jJJ5qL1/9pi44shAlrBnL9MVrp5mQEszC8xNvnppXuKunhRXyi2BEd/htDkfjJA7gul/FCVqU3ynk8SzJ6QyA7zbMpwGvMR2Jno/02EBgRlMCw19BNMyAsxBuooTzBQY2TGtZI5aLwOuJPSMBBBWIXczVPvU7QK9uINuasEs3orhmzij4TlNJuzn3x+IdX7P2+IxTMEbU4Cu5wA== 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=nvXCsPq6ELORJzEJ6mUDjXHLeeud/rixn9MYgx/gxb8=; b=WWmuDU8MAwvQQmT27bgiuSla3vWJseTKduvYFpPXpLNyNZnfAyEAe95M7MgHFmic68eub0LK1GaFYaw9R5clZ1//Y/mJ1Ri8DQ1sg4deACgiG6PBRbkGCDx2Q6a1Gky5N5WVdeUCwinOxZ/dsSUguV821GJd06KDELOyHuosZMOiwwWjDtfkJu/H0aasPvP4u4dvjvdKYW7lnSNK1y5PyQcsnZEBPZngccOMZW0IDaJRc5hPMa+yLJsUvzIlgSxWYsXwMYQPZzmDTKkyFKO82A4NAY2Q8FXrJIQsBuF7IjLZV7K5lTjpna7m5fIT+UA1Zt3xS4twvSMrPA1k5ua1Bw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=wdc.com; dmarc=pass action=none header.from=wdc.com; dkim=pass header.d=wdc.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sharedspace.onmicrosoft.com; s=selector2-sharedspace-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nvXCsPq6ELORJzEJ6mUDjXHLeeud/rixn9MYgx/gxb8=; b=lXsXCZoZcL13XgCSSjLiVC/766rohhttsYw0pRwzxr/RSjG3gngT/hHOCwlb/vAsPqxvhth8iFqFK772OAsJVuKW/uae8zlvxf5WwIyvB5vkoJZ3dG8wNQEwGN+MSEopEkN0n6GMIq7f3a69Z7E+sW1GN6iBVhFW9moo69Baka0= Received: from BL0PR04MB6514.namprd04.prod.outlook.com (2603:10b6:208:1ca::23) by BL0PR04MB4914.namprd04.prod.outlook.com (2603:10b6:208:5f::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3564.28; Thu, 19 Nov 2020 05:12:40 +0000 Received: from BL0PR04MB6514.namprd04.prod.outlook.com ([fe80::4c3e:2b29:1dc5:1a85]) by BL0PR04MB6514.namprd04.prod.outlook.com ([fe80::4c3e:2b29:1dc5:1a85%7]) with mapi id 15.20.3499.034; Thu, 19 Nov 2020 05:12:40 +0000 From: Damien Le Moal To: "fancer.lancer@gmail.com" Subject: Re: [PATCH 04/32] spi: dw: Introduce polling device tree property Thread-Topic: [PATCH 04/32] spi: dw: Introduce polling device tree property Thread-Index: AQHWtN4Jq5yxP9fdykKNjBOI754ZyqnLXIyAgAEZ8gCAAD4qAIAAq8EAgACxV4CAAOm2AA== Date: Thu, 19 Nov 2020 05:12:40 +0000 Message-ID: References: <20201107081420.60325-1-damien.lemoal@wdc.com> <20201107081420.60325-5-damien.lemoal@wdc.com> <20201109195913.itgfj2ga5y7sr6zx@mobilestation> <58943f7988706497040cac6f6108336286e9d15f.camel@wdc.com> <20201115160146.efxcdjhm7f2nmivo@mobilestation> <20201116215505.enelrzxaxb2457a6@mobilestation> <20201117182642.qz3il63x6lcx6owg@mobilestation> <3b81075dfc0b168631f3fc86c98cdd17caf85a8c.camel@wdc.com> <20201118151609.4bfvuoe6s6no5tcd@mobilestation> In-Reply-To: <20201118151609.4bfvuoe6s6no5tcd@mobilestation> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.38.1 (3.38.1-1.fc33) authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=wdc.com; x-originating-ip: [2400:2411:43c0:6000:8d3e:27aa:85c2:44b5] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: cc11b6f4-a587-4172-faff-08d88c49bcdc x-ms-traffictypediagnostic: BL0PR04MB4914: x-microsoft-antispam-prvs: wdcipoutbound: EOP-TRUE x-ms-oob-tlc-oobclassifiers: OLM:1751; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: lGkJScb1+rSjiY/97OH5oNYLVhlkUxdZrXDYDA424Hw8vnjcy5ZcDVEokuAzv8DQWqwVEyfeie1QaKA99UwOA6mijb9EprOhv1jbKaGc/kup7Bmm44tFJWpoNaRyLG41zHPZtqRsNxaBxHK7eIyZXvvXcaGFz6nm3JtfkFxQBQ9xDgdSevKucpcxDzbtsygaT2PxomhggmuXEJCLT5wE9ffkJgkqUTOCS+lASeB9kRpA5UExfZ029pJo+A2R5/Fevn7AWdixu/JoA2FC4RmJ26mA6Ltfb/xC3YKPcCB+qMkS03fCV4GBoLJ46h0umbOIk4nzRNee5tqYdXfKK5rlq+VW311HaFn0fR6BnY9I+hcOmHV6s2DwLkH/5qGV7h73ltYQd77mxx/1AavfV9ZuLzX49/uMNEAv0uRU1rCRc/eP1iYAz8HOl/4KHZDV/drMirI3BV2f24Weob0gzARo2JV3UTfzpXxC0/bzvpZ0174= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BL0PR04MB6514.namprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(136003)(376002)(346002)(39860400002)(396003)(64756008)(66446008)(6512007)(66946007)(8936002)(91956017)(86362001)(66556008)(4001150100001)(5660300002)(2906002)(36756003)(30864003)(6486002)(71200400001)(6916009)(76116006)(83080400002)(66476007)(4326008)(8676002)(54906003)(186003)(478600001)(2616005)(83380400001)(966005)(316002)(6506007)(482324003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: ufuQ1/NgzuZRbwrK54LWwGF5f7Z2OjYU21d4/DsobbKjcB9CuBML5R9rpSNBWNMGvFhtpOPv44A2lzOrobxjz5vXnnKJo7ciyjLkK9k/vzLFdEY+qhxCtlDOfhgC1ntaeD0WnBY6UzqHFbaAZRqRkQ+CtqbFvCiYITmB7Kdo38yMHJKUiNp0Q37owYB1YUdqP0GBPA97JZ/qXC1ozOtk6kQ7wqmMZ4zkizKH3BOUq4zXgKZ61uUreuhaIOguCx4Xjik0e67hQOUawUrVDA0X/YA6yzRLm50rrfYHFViw8lRCb+pTP+KFUYKEzmJWN8PHoeN0RWVn3a5J0ViAuzfU3wOy0Wgqwr5dRjqPfQYR48wHDmFH8FJy8ueaD3QZ1vJOdTeRecbkYMzPPBgsoKyDOlll/dlQBdxa8naiVETk/zejgyjtv7poW29DULbTKgaDPkstBdnL/Ol0iLi8m0kKlivdQh5W7fWKpXEp0QP6iiKfQbsagremXDRZjbSrYfQJXgj/qbWC2xx33FTgaFBphZKukO4vY+weH6/zBtyKE6QcgYgl1ooGulaKcVn3g4XmucPSUNCeOh5GPi+4tQHPhhTJef6Cf4coCCoYO/h9zDyfOlYkPUl5R7hSc2IN45pS3b8pyQawioSx15uP7v3ho6/SPTnEJlCqq/UfUefLWVajfhKk6fMbERKBb8RPcTlf5itW1RyaU3NcxqLv1jBHyg== x-ms-exchange-transport-forked: True Content-ID: MIME-Version: 1.0 X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BL0PR04MB6514.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: cc11b6f4-a587-4172-faff-08d88c49bcdc X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Nov 2020 05:12:40.1537 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: tWLVXAhOTZSeVll1yUrOCf8Xxt1hV2sdRROMs3lHdatcdOyUGnzFLNVc6qnuatSn4H6jpuZXc+Tg7A4qxQvCWQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR04MB4914 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201119_001249_834814_D1AE0837 X-CRM114-Status: GOOD ( 48.13 ) X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "linux-riscv@lists.infradead.org" , "broonie@kernel.org" , "palmer@dabbelt.com" , "seanga2@gmail.com" , "linux-spi@vger.kernel.org" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org T24gV2VkLCAyMDIwLTExLTE4IGF0IDE4OjE2ICswMzAwLCBTZXJnZSBTZW1pbiB3cm90ZToNCj4g T24gV2VkLCBOb3YgMTgsIDIwMjAgYXQgMDQ6NDE6MjdBTSArMDAwMCwgRGFtaWVuIExlIE1vYWwg d3JvdGU6DQo+ID4gT24gVHVlLCAyMDIwLTExLTE3IGF0IDIxOjI2ICswMzAwLCBTZXJnZSBTZW1p biB3cm90ZToNCj4gPiBbLi4uXQ0KPiA+ID4gPiBGb3VuZCB0aGUgYnVnIDopDQo+ID4gPiA+IFRo ZSBmaXggaXM6DQo+ID4gPiA+IA0KPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9zcGkvc3Bp LWR3LWNvcmUuYyBiL2RyaXZlcnMvc3BpL3NwaS1kdy1jb3JlLmMNCj4gPiA+ID4gaW5kZXggZTNi NzZlNDBlZDczLi5iNzUzODA5M2M3ZWYgMTAwNjQ0DQo+ID4gPiA+IC0tLSBhL2RyaXZlcnMvc3Bp L3NwaS1kdy1jb3JlLmMNCj4gPiA+ID4gKysrIGIvZHJpdmVycy9zcGkvc3BpLWR3LWNvcmUuYw0K PiA+ID4gPiBAQCAtODI4LDcgKzgyOCw3IEBAIHN0YXRpYyB2b2lkIHNwaV9od19pbml0KHN0cnVj dCBkZXZpY2UgKmRldiwgc3RydWN0IGR3X3NwaQ0KPiA+ID4gPiAqZHdzKQ0KPiA+ID4gPiDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoH0NCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqBkd193cml0ZWwoZHdzLCBEV19TUElfVFhGVExSLCAwKTsNCj4gPiA+ID4g wqANCj4gPiA+ID4gDQo+ID4gPiA+IA0KPiA+ID4gPiANCj4gPiA+ID4gLSAgICAgICAgICAgICAg IGR3cy0+Zmlmb19sZW4gPSAoZmlmbyA9PSAxKSA/IDAgOiBmaWZvOw0KPiA+ID4gPiArICAgICAg ICAgICAgICAgZHdzLT5maWZvX2xlbiA9IChmaWZvID09IDEpID8gMCA6IGZpZm8gLSAxOw0KPiA+ ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRldl9kYmcoZGV2LCAiRGV0ZWN0 ZWQgRklGTyBzaXplOiAldSBieXRlc1xuIiwgZHdzLT5maWZvX2xlbik7DQo+ID4gPiA+IMKgwqDC oMKgwqDCoMKgwqB9DQo+ID4gPiA+IA0KPiA+ID4gPiBCYXNpY2FsbHksIGZpZm9fbGVuIGlzIG9m ZiBieSBvbmUsIG9uZSB0b28gbGFyZ2UgYW5kIHRoYXQgY2F1c2VzIHRoZSBSWCBGSUZPDQo+ID4g PiA+IG92ZXJmbG93IGVycm9yLiBUaGUgbG9vcCBhYm92ZSBicmVha3Mgd2hlbiB0aGUgd3JpdHRl biBmaWZvIHZhbHVlIGRvZXMgbm90DQo+ID4gPiA+IG1hdGNoIHRoZSByZWFkIG9uZSwgd2hpY2gg bWVhbnMgdGhhdCB0aGUgbGFzdCBjb3JyZWN0IG9uZSBpcyBhdCBzdGVwIGZpZm8gLSAxLg0KPiA+ ID4gPiANCj4gPiA+ID4gSSByZWFsaXplZCB0aGF0IGJ5IHRyYWNpbmcgdGhlIHRyYW5zZmVycyBS WCBmaXJzdCwgdGhlbiBUWCBpbg0KPiA+ID4gPiBkd19zcGlfdHJhbnNmZXJfaGFuZGxlcigpLkkg ZGlkIG5vdCBzZWUgYW55dGhpbmcgd3Jvbmcgd2l0aCB0eF9tYXgoKSBhbmQNCj4gPiA+ID4gcnhf bWF4KCksIGFsbCB0aGUgbnVtYmVycyBhbHdheXMgYWRkZWQgdXAgY29ycmVjdGx5IGVpdGhlciB1 cCB0byB0cmFuc2ZlciBsZW4NCj4gPiA+ID4gb3IgdG8gZmlmb19sZW4sIGFzIHRoZXkgc2hvdWxk LiBJdCBsb29rZWQgYWxsIGdvb2QuIEJ1dCB0aGVuIEkgcmVhbGl6ZWQgdGhhdCBSWA0KPiA+ID4g PiBGSUZPIGVycm9ycyB3b3VsZCB0cmlnZ2VyIDEwMCUgb2YgdGhlIHRpbWUgZm9yOg0KPiA+ID4g PiAxKSB0cmFuc2ZlcnMgbGFyZ2VyIHRoYW4gZmlmbyBzaXplICgzMiBpbiBteSBjYXNlKQ0KPiA+ ID4gPiAyKSBGSUZPIHNsb3RzIHVzZWQgZm9yIFRYICsgUlggYWRkaW5nIHVwIHRvIDMyDQo+ID4g PiA+IEFmdGVyIHNvbWUgdHdlYWtpbmcsIGZvdW5kIHRoZSBhYm92ZS4gU2luY2UgdGhhdCBidWcg c2hvdWxkIGJlIGFmZmVjdGluZyBhbGwNCj4gPiA+ID4gZHctYXBiIHNwaSBkZXZpY2VzLCBub3Qg c3VyZSB3aHkgaXQgZG9lcyBub3QgbWFuaWZlc3QgaXRzZWxmIG1vcmUgb2Z0ZW4uDQo+ID4gPiA+ IA0KPiA+ID4gPiBXaXRoIHRoZSBhYm92ZSBmaXgsIHRoZSBTRCBjYXJkIGlzIG5vdyBydW5uaW5n IGZsYXdsZXNzbHkgYXQgMS4yTUIvcyB3aXRoDQo+ID4gPiA+IG1heGltdW0gU1BJIGZyZXF1ZW5j eSwgemVybyBlcnJvcnMgbm8gbWF0dGVyIGhvdyBoYXJkIEkgaGl0IGl0IHdpdGggdHJhZmZpYy4N Cj4gPiA+IA0KPiA+ID4gSG0sIHdoYXQgeW91J3ZlIGZvdW5kIGlzIHRoZSBjbHVlIHRvIGdldHRp bmcgd2hlcmUgdGhlIHByb2JsZW0gbGllcywNCj4gPiA+IGJ1dCBJIGRvbid0IHNlZSBmaWZvX2xl biBiZWluZyBjYWxjdWxhdGVkIGluY29ycmVjdGx5IGluIG15IEhXLiBJbiBteQ0KPiA+ID4gY2Fz ZSBpdCBlcXVhbHMgdG8gNjQgYW5kIDggYnl0ZXMgZm9yIHR3byBkaWZmZXJlbnQgY29udHJvbGxl cnMuIFRob3NlDQo+ID4gPiBhcmUgdGhlIGNvcnJlY3QgU1NJX1RYX0ZJRk9fREVQVEgvU1NJX1JY X0ZJRk9fREVQVEggcGFyYW1ldGVycyB2YWx1ZXMNCj4gPiA+IG91ciBjb250cm9sbGVycyBoYXZl IGJlZW4gc3ludGhlc2l6ZWQgd2l0aC4NCj4gPiA+IA0KPiA+ID4gQnV0IEkndmUganVzdCByZWFs aXplZCB0aGF0IERXIEFQQiBTU0kgY29udHJvbGxlciBjYW4gYmUgc3ludGhlc2l6ZWQNCj4gPiA+ IHdpdGggUnggYW5kIFR4IEZJRk8gaGF2aW5nIGRpZmZlcmVudCBkZXB0aHMuIChTeW5vcHN5cywg cmVhbGx5LCB3aGF0DQo+ID4gPiBzY2VuYXJpbyBkaWQgeW91IGltYWdpbmUgdG8gcHJvdmlkZSBz dWNoIGNvbmZpZ3VyYXRpb24/Li4pLiBBbnl3YXkgaXMNCj4gPiA+IGl0IHBvc3NpYmxlIHRoYXQg eW91J3ZlIGdvdCBhIGNvbnRyb2xsZXIgd2hpY2ggKG1vc3QgbGlrZWx5IGJ5DQo+ID4gPiBtaXN0 YWtlKSBoYXMgYmVlbiBzeW50aGVzaXplZCB3aXRoIFJ4X2ZpZm9fbGVuICE9IFR4X2ZpZm9fbGVu PyBJZiBzbw0KPiA+ID4gdGhlbiB0aGF0IHdpbGwgZXhwbGFpbiB0aGUgcHJvYmxlbSB5b3UgYXJl IGhhdmluZywgYnV0IGV2ZXJ5b25lIGVsc2UNCj4gPiA+IGlzbid0LiBUaGUgYWxnb3JpdGhtIHRo aW5rcyB0aGF0IGJvdGggRklGT3MgbGVuZ3RoIG1hdGNoIGFuZCBlcXVhbHMgdG8NCj4gPiA+IHRo ZSBUeCBGSUZPIGxlbmd0aC4gSWYgUnggRklGTyBsZW5ndGggaXMgc21hbGxlciBldmVuIHdpdGgg YSBzaW5nbGUNCj4gPiA+IGJ5dGUsIHlvdSdsbCBlbmQgdXAgd2l0aCBvY2Nhc2lvbmFsIG92ZXJm bG93cy4NCj4gPiA+IA0KPiA+ID4gTm90ZSBpZiB5b3UgZG9uJ3QgaGF2ZSBhIG1hbnVhbCB3aXRo IHRoZSBwYXJhbWV0ZXJzIHNlbGVjdGVkIGZvciB5b3VyDQo+ID4gPiBJUC1jb3JlLCB5b3UgY2Fu IGp1c3QgZml4IHRoZSBmaWZvX2xlbiBkZXRlY3Rpb24gbG9vcCBieSByZXBsYWNpbmcgdGhlDQo+ ID4gPiBUWEZUTFIgd2l0aCBSWEZUTFIuIFRoZW4ganVzdCBwcmludCB0aGUgZGV0ZWN0ZWQgUngg YW5kIFR4IEZJRk8NCj4gPiA+IGxlbmd0aHMgb3V0LiBJZiB0aGV5IGRvbid0IG1hdGNoLCB0aGVu LCBiaW5nbywgdGhhdCdzIHRoZSByb290IGNhdXNlDQo+ID4gPiBvZiB0aGUgcHJvYmxlbS4NCj4g PiANCj4gDQo+ID4gSnVzdCBjaGVja2VkOiBUWCBhbmQgUlggZmlmbyBkZXB0aCBtYXRjaCBhbmQg dGhlIG1heGltdW0gc2l6ZSBJIGNhbiBzZWUgaW4gYm90aA0KPiA+IFJYRlRMUiBhbmQgVFhGVExS IGlzIDMxLCB3aGVuIHRoZSBmaWZvIGZvciBsb29wIHN0b3BzIHdpdGggZmlmbz0zMi4gSSBjaGVj a2VkDQo+ID4gdGhlIFN5bm9wc2lzIERXIGFwYl9zc2kgdjQgc3BlY3MgYW5kIGZvciBib3RoIFJY RlRMUiBhbmQgVFhGVExSLCBpdCBzYXlzOg0KPiA+IA0KPiA+ICJJZiB5b3UgYXR0ZW1wdCB0byBz ZXQgdGhpcyB2YWx1ZSBncmVhdGVyIHRoYW4gdGhlIGRlcHRoIG9mIHRoZSBGSUZPLA0KPiA+IHRo aXMgZmllbGQgaXMgbm90IHdyaXR0ZW4gYW5kIHJldGFpbnMgaXRzIGN1cnJlbnQgdmFsdWUuIg0K PiA+IA0KPiA+IFNvIGZvciBhIEZJRk8gbWF4IGRlcHRoIG9mIDMyLCBhcyB0aGUgSzIxMCBTb0Mg ZG9jdW1lbnRzICh2ZXJ5IHBvb3Igc3BlYyBzaGVldCwNCj4gPiBidXQgdGhhdCBpbmZvcm1hdGlv biBpcyB3cml0dGVuKSwgdGhlIGxvb3Agc2hvdWxkIHN0b3AgZm9yIGZpZm89MzMgd2l0aCB0aGUN Cj4gPiByZWdpc3RlcnMgaW5kaWNhdGluZyAzMi4gTXkgZml4IHNob3VsZCBiZSBjb3JyZWN0Lg0K PiANCj4gdjMuMjJhIHNwZWMgc2F5cyAiZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIHRoZSBkZXB0 aCBvZiB0aGUgRklGTyIgZm9yDQo+IFRYRlRMUiBhbmQgImdyZWF0ZXIgdGhhbiB0aGUgZGVwdGgg b2YgdGhlIEZJRk8iIC0gZm9yIFJYRlRMUi4gSW4gbXkNCj4gY2FzZSBib3RoIG9mIHRoZSBmb3Jt dWxhdGlvbnMgbWFrZSBzZW5zZS4gU2VlaW5nIHRoZSBzZW1hbnRpYyBvZiB0aGUNCj4gcmVnaXN0 ZXJzIGlzIGRpZmZlcmVudCBhbmQgcmVjb2xsZWN0aW5nIGhvdyB2YWd1ZSB2ZW5kb3JzIGNhbiBk ZXNjcmliZQ0KPiB0aGUgZXNzZW5jZSBvZiByZWdzLCBpbiBib3RoIGNhc2VzIEZJRk8gZGVwdGgg d291bGQgYmUgZGV0ZWN0ZWQgYXMNCj4gKE1BWF92YWx1ZSArIDEpLiBUaGF0IGlzIG9idmlvdXMg Zm9yIFRYRlRMUiAoaW4gdjMuMjJhIGZvcm11bGF0aW9uKSwNCj4gYnV0IGlzbid0IGZvciBSWEZU TFIuIEluIHRoZSBsYXRlciBjYXNlIHdlIG5lZWQgdG8ga2VlcCBpbiBtaW5kIHRoYXQNCj4gdGhl IGNvbnRyb2xsZXIgaW50ZXJuYWxseSBpbmNyZW1lbnRzIChSWEZUTFIuUkZUICsgMSkgdGhlbiBj b21wYXJlcyBpdA0KPiB3aXRoIFJYRkxSLlJYVEZMLiBNb3N0IGxpa2VseSB0aGUgUlhGVExSIGRl c2NyaXB0aW9uIHRleHQgbWVhbnMgdGhhdA0KPiBpbmNyZW1lbnRlZCB2YWx1ZSB3aGVuIHNheXM6 ICJJZiB5b3UgYXR0ZW1wdCB0byBzZXQgdGhpcyB2YWx1ZSBncmVhdGVyDQo+IHRoYW4gdGhlIGRl cHRoIG9mIHRoZSBGSUZPLCB0aGlzIGZpZWxkIGlzIG5vdCB3cml0dGVuIGFuZCByZXRhaW5zIGl0 cw0KPiBjdXJyZW50IHZhbHVlLiIgYnV0IG5vdCB0aGUgYWN0dWFsIHZhbHVlIHdyaXR0ZW4gaW50 byB0aGUgcmVnaXN0ZXIuDQo+IA0KPiBSZWdhcmRpbmcgRFcgQVBCIFNTSSB2NCBzcGVjLiBJIGRv bid0IHJlYWxseSBrbm93IHdoeSB0aGUgZGVzY3JpcHRpb24NCj4gaGFzIGNoYW5nZWQgZm9yIFRY RlRMUi4gSSBhbHNvIGRvbid0IGhhdmUgdGhlIHY0IHNwZWMgdG8gYmV0dGVyDQo+IHVuZGVyc3Rh bmQgd2hhdCB0aGV5IHJlYWxseSBtZWFudCB0aGVyZS4gQnV0IGlmIHRoZSBUWEZUTFIvUlhGVExS DQo+IHJlZ2lzdGVycyBzZW1hbnRpYyBoYXMgY2hhbmdlZCwgdGhlbiBJJ2Qgc3RhcnQgdG8gZGln IGluIHRoZSBhc3BlY3RzDQo+IG9mIHRoYXQgY2hhbmdlIGFuZCB3aGV0aGVyIGl0IGFmZmVjdHMg dGhlIEZJRk8tZGVwdGggY2FsY3VsYXRpb24NCj4gYWxnb3JpdGhtLi4uDQoNCkkgc3BlbnQgYSBs b3Qgb2YgdGltZSByZWFkaW5nIHRoZSBzcGVjIHllc3RlcmRheSBhbmQgZGlkIG5vdCBzZWUgYW55 IHRleHQgdGhhdA0KY29uZmxpY3RzIHdpdGggd2hhdCB0aGUgZHJpdmVyIGlzIGRvaW5nLiBUaGUg c2VtYW50aWMgb2YgVFhGVExSIGFuZCBSWEZUTFIgaXMNCnN0aWxsIGFzIHlvdSBkZXNjcmliZSBh Ym92ZSBmb3IgdjMsIHRoZSBpbnRlcm5hbCArMSBpbmNyZW1lbnQgZm9yIFJYRlRMUiBpcw0Kc3Rp bGwgdGhlcmUuDQoNCj4gQW55d2F5IHJlZ2FyZGluZyB5b3VyIGZpeC4gUGxlYXNlIHNlZSB0aGUg bmV4dCB0d28gY29tbWl0cywgd2hpY2ggaGF2ZQ0KPiBhbHJlYWR5IGF0dGVtcHRlZCB0byBpbnRy b2R1Y2UgYSBjaGFuZ2UgcHJvcG9zZWQgYnkgeW91LCBidXQgdGhlbg0KPiByZXZlcnRlZCBpdCBi YWNrOg0KPiBkMjk3OTMzY2M3ZmMgKCJzcGk6IGR3OiBGaXggZGV0ZWN0aW5nIEZJRk8gZGVwdGgi KQ0KPiA5ZDIzOWQzNTNjMzEgKCJzcGk6IGR3OiByZXZpc2l0IEZJRk8gc2l6ZSBkZXRlY3Rpb24g YWdhaW4iKQ0KPiANCj4gSSBkb24ndCB0aGluayBBbmR5IHdhcyB3cm9uZyByZXZlcnRpbmcgdGhl IGZpeCBiYWNrLCBlc3BlY2lhbGx5IHNlZWluZw0KPiB0aGUgY3VycmVudCBGSUZPLWRlcHRoIGRl dGVjdGlvbiBhbGdvcml0aG0gaW1wbGVtZW50YXRpb24gaXMgY29ycmVjdA0KPiBmb3IgYm90aCB0 eXBlcyBvZiBteSBjb250cm9sbGVycyAod2l0aCA4IGFuZCA2NCB3b3JkcyBkZXB0aHMpLiBJIGtu b3cNCj4gd2l0aCB3aGF0IHBhcmFtZXRlcnMgdGhlIGNvbnRyb2xsZXJzIGhhdmUgYmVlbiBzeW50 aGVzaXplZCBhbmQgdGhlDQo+IGRldGVjdGVkIGRlcHRocyBtYXRjaCB0aGVtLg0KDQpPSy4gR290 IGl0Lg0KDQo+IA0KPiA+IA0KPiA+IEhvd2V2ZXIgKEkgdGhpbmsgdGhpcyBtYXkgYmUgdGhlIGNh dGNoKSwgdGhlIHNwZWMgYWxzbyBzYXlzOg0KPiA+IA0KPiA+ICJUaGlzIHJlZ2lzdGVyIGlzIHNp emVkIHRvIHRoZSBudW1iZXIgb2YgYWRkcmVzcyBiaXRzIG5lZWRlZCB0byBhY2Nlc3MgdGhlDQo+ ID4gRklGTy4iDQo+ID4gDQo+ID4gU28gZm9yIGEgZmlmbyBkZXB0aCBvZiAzMiwgdGhlIHJlZ2lz dGVyIHdvdWxkIGJlIDUgYml0cyBvbmx5LCBwcmV2ZW50aW5nIGl0DQo+ID4gZnJvbSBldmVyIGlu ZGljYXRpbmcgMzIuDQo+IA0KPiBJbiBhY2NvcmRhbmNlIHdpdGggdGhlIHJlZ2lzdGVycyBzZW1h bnRpYyB3ZSBzaGFsbCBuZXZlciB3cml0ZSBhDQo+IEZJRk8tZGVwdGggdmFsdWUgaW50byB0aGVt IGFuZCBhY3R1YWxseSB3ZSBhcmVuJ3QgYWJsZSB0byBkbyB0aGF0Lg0KPiBGaXJzdCBvZiBhbGwg aW5kZWVkIHRoZXJlIGlzIG5vIHBvaW50IGluIHNldHRpbmcgdGhlIEZJRk8tZGVwdGggdmFsdWUN Cj4gaW50byB0aGUgVFhGVExSIGJlY2F1c2UgdGhhdCB3aWxsIGNhdXNlIHRoZSBUWEUtSVJRIGJl aW5nIGNvbnN0YW50bHkNCj4gZ2VuZXJhdGVkIChiZWNhdXNlIHRoZSBsZXZlbCBvZiB0aGUgVHgg RklGTyB3aWxsIGJlIGFsd2F5cyBsZXNzIHRoYW4NCj4gb3IgZXF1YWwgdG8gdGhlIEZJRk8tZGVw dGgpLiBUaGVyZSBpcyBubyBwb2ludCBpbiBzZXR0aW5nIHRoZQ0KPiBGSUZPLWRlcHRoIGludG8g dGhlIFJYRlRMUiBiZWNhdXNlIHRoYXQgd2lsbCBlZmZlY3RpdmVseSBkaXNhYmxlIHRoZQ0KPiBS WEYtSVJRICh0aGUgbGV2ZWwgb2YgdGhlIFJ4IEZJRk8gd2lsbCBiZSBuZXZlciBncmVhdGVyIHRo YW4NCj4gRklGTy1kZXB0aCArIDEpLiBTZWNvbmRseSB0aGUgVFhGVExSL1JYRlRMUiByZWdpc3Rl cnMgd2lkdGggaGF2ZSBiZWVuDQo+IGRlZmluZWQgYXM6IFRYX0FCVy0xOjAgYW5kIFJYX0FCVy0x OjAgdW5saWtlIHRoZSBGSUZPIGxldmVsIHJlZ2lzdGVycw0KPiBUWEZMUi9SWEZMUjogVFhfQUJX OjAgYW5kIFJYX0FCVzowIC4gU28gd2UganVzdCBsaXRlcmFsbHkgY2FuJ3Qgc2V0IGENCj4gdmFs dWUgd2lkZXIgdGhhbiB0aGUgcmVnaXN0ZXIgaXMuDQoNClllcCwgdW5kZXJzdG9vZC4NCg0KPiAN Cj4gPiBJIHRoaW5rIHRoYXQgdGhpcyBzcGVjIGNsYXVzZSB0YWtlcyBwcmVjZWRlbmNlIG92ZXIN Cj4gPiB0aGUgcHJldmlvdXMgb25lLCBhbmQgZm9yIGEgZmlmbyBtYXggZGVwdGggdGhhdCBpcyBh IHBvd2VyIG9mIDIgKHdoaWNoIEkgYXNzdW1lDQo+ID4gaXMgdGhlIGNhc2Ugb24gbW9zdCBzeW50 aGVzaXMgb2YgdGhlIGRldmljZSksIHRoZSBkZXRlY3Rpb24gbG9vcCBhY3R1YWxseQ0KPiA+IHdv cmtzLiBCdXQgaXQgd291bGQgYmUgYnVnZ3kgKG9mZiBieSBvbmUpIGZvciBhbnkgb3RoZXIgdmFs dWUgb2YgdGhlIGZpZm8gbWF4DQo+ID4gZGVwdGggdGhhdCBpcyBub3QgYSBwb3dlciBvZiAyLg0K PiA+IA0KPiA+IElmIHRoZSBhYm92ZSBpcyBjb3JyZWN0LCBhbmQgbXkgU29DIHNwZWMgc2hlZXQg aXMgYWxzbyBjb3JyZWN0LCB0aGVuIGFsbCBJIGNhbg0KPiA+IHRoaW5rIG9mIG5vdyBpcyBhIEhX IGJ1Zy4gQmVjYXVzZSBubyBtYXR0ZXIgd2hhdCBJIGRvIG9yIGhvdyBJIGxvb2sgYXQgaXQsIHRo ZQ0KPiA+IFJYIEZJRk8gb3ZlcmZsb3cgYWx3YXlzIGhhcHBlbiB3aGVuIHRoZSBzdW0gb2YgVFgg Ynl0ZXMgc2VudCBhbmQgUlggYnl0ZXMgbGVmdA0KPiA+IHRvIHJlY2VpdmUgZXF1YWxzIGV4YWN0 bHkgMzIuIFNlbmRpbmcgMzJCIG9uIFRYIGZpZm8gZG9lcyBudG8gc2VlbSB0byBjYXVzZSBhbnkN Cj4gPiBwcm9ibGVtLCBzbyB0aGUgVFggZmlmbyBzZWVtcyB0byBpbmRlZWQgYmUgMzJCIGRlZXAu IEJ1dCBvbiB0aGUgUlggc2lkZSwgaXQNCj4gPiByZWFsbHkgbG9vayBsaWtlIDMxIGlzIHRoZSB2 YWx1ZSB0byB1c2UuDQo+IA0KPiBPZiBjb3Vyc2Ugd2Ugc2hvdWxkbid0IHJlamVjdCBhIHBvc3Np YmlsaXR5IG9mIGhhdmluZyBhIEhXIGJ1ZyBoZXJlLA0KPiBidXQgdGhhdCBpcyBhbHdheXMgYSBs YXN0IHJlc29ydCBhbmQgbmVlZHMgdG8gYmUgZmlybWx5IHByb3ZlZC4NCj4gSW4geW91ciBjYXNl IHdlIG1heSBhc3N1bWUgb25lIG9mIHR3byBjYXVzZXMgb2YgdGhlIHByb2JsZW06DQo+IDEpIFRo ZXJlIGlzIHRoZSBkZXB0aHMgbWlzbWF0Y2guDQo+IMKgwqDCoEJ1dCBob3cgY29tZSB5b3Ugc3Rp bGwgZ2V0IHRoZSBSWEZMUiB0byBiZSBmaWxsZWQgd2l0aCBkYXRhIG9mDQo+IMKgwqDCoGdyZWF0 ZXIgbGVuZ3RoIHRoYW4gd2UgdGhpbmsgdGhlIFJ4IEZJRk8gZGVwdGggaXM/Li4gQW55d2F5IHRo ZQ0KPiDCoMKgwqB3ZWlyZCBiZWhhdmlvdXIgc3RpbGwgY2FuIGJlIGV4cGxhaW5lZCBieSB0aGUg bm9uLXN0YW5kYXJkDQo+IMKgwqDCoGNvbmZpZ3VyYXRpb24gZXNwZWNpYWxseSBpZiB0aGUgZGVw dGggaXNuJ3QgcG93ZXIgb2YgMiwgdGhhdA0KPiDCoMKgwqBTeW5vcHN5cyBtaWdodCBoYXZlbid0 IGV2ZW4gdGVzdGVkIGl0LCBldGMuDQoNCkkgaGF2ZSBuZXZlciBzZWVuIFJYRkxSIGJlaW5nIGxh cmdlciB0aGFuIDMyLCB3aGljaCBpcyB0aGUgYXNzdW1lZCBUWCBhbmQgUlgNCmZpZm8gZGVwdGgu IEhvd2V2ZXIsIHRoZSBzcGVjIGRvIG1lbnRpb24gdGhhdCBpbiBjYXNlIG9mIG92ZXJydW4sIHRo ZSBleHRyYQ0KYnl0ZXMgYXJlIGRyb3BwZWQsIHNvIEkgZG8gbm90IHRoaW5rIHNlZWluZyBSWEZM UiBiZWluZyBsYXJnZXIgdGhhbiBmaWZvIGRlcHRoDQppcyBwb3NzaWJsZS4gV2hlbiB0aGUgUlgg ZmlmbyBvdmVycnVuIGVycm9yIG9jY3VyLCBSWEZMUiBhbHdheXMgaW5kaWNhdGUgMzIuIEkNCnRo b3VnaHQgb2YgdGhlIGZvbGxvd2luZyBwb3NzaWJpbGl0aWVzIGFzIHBvdGVudGlhbCBidWdzOg0K YSkgdGhlIHRyYWNlIHNob3dzIHRoYXQgdGhlIGRyaXZlciBpcyBub3QgdHJ5aW5nIHRvIGFzayBm b3IgbW9yZSBieXRlcyB0aGFuIHRoZQ0KZmlmbyBjYW4gaG9sZCwgc28gdGhlIGNvbnRyb2xsZXIg bWF5IGJlIHRyeWluZyB0byBwdXNoIG9uZSBtb3JlIGJ5dGUgdGhhbiB3YXMNCnJlcXVlc3RlZC4N CmIpIFRoZSBSWCBmaWZvIGRlcHRoIGlzIGluIGZhY3QgMzEgaW5zdGVhZCBvZiB0aGUgZG9jdW1l bnRlZCAmIGRldGVjdGVkIDMyLg0KYykgVGhlIFJYIGZpZm8gaXMgaW5kZWVkIDMyLCBidXQgdGhl IG92ZXJydW4gdHJpZ2dlciBpcyBvZmYtYnktb25lIGFuZCB0cmlnZ2Vycw0Kd2hlbiBSWEZMUiA9 PSAzMiBpbnN0ZWFkIG9mIHdoZW4gUlhGTFIgPT0gMzIgJiYgb25lIG1vcmUgYnl0ZSB3YXMgcmVx dWVzdGVkLg0KDQooYikgYW5kIChjKSBiZWluZyBraW5kLW9mIGVxdWl2YWxlbnQuIEZvciAoYSks IEkgdGhvdWdodCB0aGUgTU9TSSBsaW5lIGRyaXZlDQpoaWdoIG9yIGxvdyAodHh3ID0gMCBvciB0 eHcgPSAweGZmZmYgaW4gZHdfd3JpdGVyKCkpIG1heSBtYXR0ZXIsIGJ1dCB0aGF0IGRvZXMNCm5v dCBzZWVtIHRvIGJlIHRoZSBjYXNlLiBDaGFuZ2luZyB0eHcgaW5pdCB2YWx1ZSBoYXMgbm8gZWZm ZWN0LiBTbyBJIGtpbmQgb2YNCnJ1bGVkIChhKSBvdXQuDQoNCj4gMikgVGhlcmUgaXMgYSBIVyBi dWcsIGR1ZSB0byB3aGljaCB0aGUgUlhPIGludGVycnVwdCBpcyBnZW5lcmF0ZWQgZXZlbg0KPiDC oMKgwqB0aG91Z2ggdGhlcmUgaXMgbm8gYWN0dWFsIG92ZXJydW4uDQo+IExldCdzIHRyeSB0byBw cm92ZSBvciBkaXNwcm92ZSB0aGVtLg0KPiANCj4gTGV0J3MgYXNzdW1lIHRoYXQgdGhlcmUgaXMg aW5kZWVkIHRoZSBkZXB0aHMgbWlzbWF0Y2ggaGVyZToNCj4gKFNTSV9UWF9GSUZPX0RFUFRIID0g MzIpICE9IChTU0lfUlhfRklGT19ERVBUSCA9IDMxKSwgYW5kIGZvciBzb21lDQo+IHJlYXNvbiAo ZHVlIHRvIGZvciBpbnN0YW5jZSB0aGUgVFhGVExSL1JYRlRMUiBzZW1hbnRpYyBjaGFuZ2Ugb3IN Cj4gdGhlIEhXIGJ1ZyBvciBldGMpIHdlIGNhbid0IGRldGVjdCB0aGUgUnggRklGTyBkZXB0aCBi eSB0aGUgYWxnb3JpdGhtDQo+IGluIHRoZSBkcml2ZXIuIElmIHNvIHdlIGNhbid0IHJlbHkgb24g dGhlIGRlcHRoIGRldGVjdGlvbiBsb29wIGFuZA0KPiBuZWVkIHRvIHRyeSB0byBwcm92ZSB0aGUg ZGVwdGhzIG1pc21hdGNoIHNvbWVob3cgZWxzZS4gSXQgd291bGQgYmUNCj4gYWxzbyBiZXR0ZXIg dG8gZXhjbHVkZSB0aGUgZHJpdmVyIGNvZGUgZnJvbSB0aGUgcHJvYmxlbSBlcXVhdGlvbi4uLg0K PiANCj4gU2luY2Ugd2UgYXJlIHN1cmUgdGhlIFJ4IEZJRk8gZGVwdGggbXVzdCBiZSBzbWFsbGVy IHRoYW4gdGhlIFR4IEZJRk8NCj4gZGVwdGggKG90aGVyd2lzZSB5b3Ugd291bGRuJ3QgYmUgZ2V0 dGluZyB0aGUgUnggRklGTyBvdmVyZmxvd3MpLCB0aGVuDQo+IHdlIGNhbiBqdXN0IHRyeSB0byBt YW51YWxseSBleGVjdXRlIGEgc21hbGwgU1BJIHRyYW5zZmVyIG9mIHRoZSBUeCBGSUZPDQo+IGRl cHRoIGxlbmd0aC4gSWYgdGhlIG1pc21hdGNoIHRha2VzIHBsYWNlIG9yIGFuIEhXIGJ1ZyB3aXRo IGZhbHNlIFJYTywNCj4gdGhlbiB3ZSdsbCBnZXQgdGhlIFJ4IEZJRk8gb3ZlcmZsb3cgZmxhZyBz ZXQuDQo+IA0KPiBJJ3ZlIGNyZWF0ZWQgYSBzbWFsbCBzaGVsbC1zY3JpcHQgKHlvdSBjYW4gZmlu ZCBpdCBpbiB0aGUgYXR0YWNobWVudCkNCj4gd2hpY2ggcnVucyBhIHNpbmdsZSBTUEkgdHJhbnNm ZXIgb2YgdGhlIHBhc3NlZCBsZW5ndGggYnkgbWFudWFsbHkNCj4gc2V0dGluZyBhIERXIEFQQiBT U0kgY29udHJvbGxlciB1cCB3aXRoIGhlbHAgb2YgdGhlIGRldm1lbSB1dGlsaXR5Lg0KPiBJbiBv dXIgY2FzZSB0aGUgbGVuZ3RoIGlzIHN1cHBvc2VkIHRvIGJlIGVxdWFsIHRvIHRoZSBGSUZPIGRl cHRoLg0KPiBIZXJlIGlzIHdoYXQgaGFwcGVucyBpZiBJIHJ1biBpdCBvbiBteSBoYXJkd2FyZSAo ZGVwdGggZXF1YWxzIHRvIDY0DQo+IGFuZCB0aGUgY29udHJvbGxlciByZWdpc3RlcnMgcGh5c2lj YWwgYWRkcmVzcyBpcyAweDFmMDRlMDAwKToNCj4gDQo+IHJvb3RAbXNidDI6fiMgLi9jaGVja19t aXNtYXRjaC5zaCA2NCAweDFmMDRlMDAwDQo+IDEuIFR4IEZJRk8gbHZsIDAsIFJ4IEZJRk8gbHZs IDAsIFJJU1IgMHgwMDAwMDAwMA0KPiAxLiBUeCBGSUZPIGx2bCA2NCwgUnggRklGTyBsdmwgMCwg UklTUiAweDAwMDAwMDAwDQo+IDIuIFR4IEZJRk8gbHZsIDAsIFJ4IEZJRk8gbHZsIDY0LCBSSVNS IDB4MDAwMDAwMTENCj4gDQo+IFNlZSwgYWZ0ZXIgc2VuZGluZyBhbmQgcmVjZWl2aW5nIGFsbCB0 aGUgZGF0YSB0aGUgc3RhdHVzIHJlZ2lzdGVyDQo+IGRldGVjdHMgdGhlIG5vcm1hbCBUWEUgYW5k IFJYRiBpbnRlcnJ1cHRzLiBCdXQgaWYgb3VyIGFzc3VtcHRpb25zIGFyZQ0KPiBjb3JyZWN0IGlu IHlvdXIgY2FzZSBpdCBzaGFsbCBiZSBzb21ldGhpbmcgbGlrZSAweDAwMDAwMDE5IGFsc28NCj4g cHJlc2VudGluZyB0aGUgUlhPIGludGVycnVwdC4NCj4gDQo+ICogTm90ZSBBRkFJVSB5b3UgbWln aHQgbmVlZCB0byBmaXggdGhlIHNjcmlwdCBhIGJpdCB0byBzZXQgdGhlIERGUw0KPiAqIGZpZWxk IGF0IHRoZSBjb3JyZWN0IHBsYWNlIG9mIENUUkxSMC4uLg0KDQpBZnRlciBhZGp1c3RpbmcgZm9y IHRoZSBDVFJMUjAgMzIgYml0cyBmb3JtYXQsIEkgZ2V0IHRoaXM6DQoNCkZvciBERVBUSCA9IDMy Og0KDQoxLiBUeCBGSUZPIGx2bCAwLCBSeCBGSUZPIGx2bCAwLCBSSVNSIDB4MDAwMDAwMDANCjEu IFR4IEZJRk8gbHZsIDMyLCBSeCBGSUZPIGx2bCAwLCBSSVNSIDB4MDAwMDAwMDANCjIuIFR4IEZJ Rk8gbHZsIDAsIFJ4IEZJRk8gbHZsIDMyLCBSSVNSIDB4MDAwMDAwMTkNCg0KRXQgdm9pbGE6IFJY IG92ZXJydW4gd2hpY2ggbWF0Y2hlcyB3aGF0IEkgd2FzIHNlZWluZyB3aXRoIHRoZSBkcml2ZXIg dHJhY2UuDQoNCk5vdyBmb3IgREVQVEggPSAzMToNCg0KMS4gVHggRklGTyBsdmwgMCwgUnggRklG TyBsdmwgMCwgUklTUiAweDAwMDAwMDAwDQoxLiBUeCBGSUZPIGx2bCAzMSwgUnggRklGTyBsdmwg MCwgUklTUiAweDAwMDAwMDAwDQoyLiBUeCBGSUZPIGx2bCAwLCBSeCBGSUZPIGx2bCAzMSwgUklT UiAweDAwMDAwMDExDQoNCk5vcm1hbCB0cmFuc2Zlci4uLg0KDQo+IElmIGFmdGVyIHJ1bm5pbmcg dGhlIGF0dGFjaGVkIHNjcmlwdCB5b3UgZ2V0IHRoZSBSWE8gc3RhdHVzIHNldCwgdGhlbg0KPiBp bmRlZWQgdGhlcmUgaXMgZWl0aGVyIHRoZSBkZXB0aHMgbWlzbWF0Y2ggb3IgdGhlcmUgaXMgYSBI VyBidWcuIElmDQo+IHRoZSBUWEZUTFIvUlhGVExSIHNlbWFudGljIGhhc24ndCBjaGFuZ2VkIGlu IHNwZWMgdjQsIHRoZW4gdGhlDQo+IG1pc21hdGNoIG9yIGEgSFcgYnVnIGRvbid0IGxldCB1cyB0 byBkZXRlY3QgdGhlIFJ4IEZJRk8gZGVwdGggYnkgbWVhbnMNCj4gb2YgdGhlIGFsZ29yaXRobSBp bXBsZW1lbnRlZCBpbiB0aGUgZHJpdmVyLiBUaGVuIHdlIGhhdmUgbm8gY2hvaWNlIGJ1dA0KPiB0 byBtYW51YWxseSBzZXQgdGhlIEZJRk8gZGVwdGggZm9yIHRoZSBLMjEwIFNQSSBjb250cm9sbGVy Lg0KDQpJIGRvIG5vdCBoYXZlIHRoZSBvbGRlciB2MyBzcGVjcyBvbiBoYW5kIG5vdywgYnV0IEkg Y2FuIGdldCB0aGVtLiBJIHdpbGwgYW5kDQpjb21wYXJlIGJ1dCBmcm9tIHJlYWRpbmcgdGhlIHY0 IHNwZWNzIHllc3RlcmRheSwgSSBoYXZlIG5vdCBzZWVuIGFueXRoaW5nIHRoYXQNCmRvZXMgbm90 IG1hdGNoIHRoZSBkcml2ZXIgYmVoYXZpb3IuDQoNCj4gDQo+ID4gDQo+ID4gSGVyZSBpcyBhIHRy YWNlIGZvciBhIDY0QiB0cmFuc2ZlciAoZXJyb3JzIGhhcHBlbiBvbmx5IGZvciB0cmFuc2ZlcnMg bGFyZ2VyDQo+ID4gdGhhbiAzMiBCKToNCj4gPiANCj4gPiBJUlEoMSk6DQo+ID4gWyAgICAxLjA2 Mjk3OF0gc3BpX21hc3RlciBzcGkxOiAjIyBSWDogdXNlZCAwLzAsIGxlbiA2NCAtPiByeCAwDQo+ ID4gWyAgICAxLjA2ODUzM10gc3BpX21hc3RlciBzcGkxOiAjIyBUWDogdXNlZCAwLzAsIHJvb20g MzIsIGxlbiA2NCwgZ2FwIDMyIC0+IHR4DQo+ID4gMzINCj4gPiANCj4gPiBJUlEoMik6DQo+ID4g WyAgICAxLjA3NjA1Ml0gc3BpX21hc3RlciBzcGkxOiAjIyBSWDogdXNlZCAxNi8xNSwgbGVuIDY0 IC0+IHJ4IDE1DQo+ID4gWyAgICAxLjA4MTY0N10gc3BpX21hc3RlciBzcGkxOiAjIyBUWDogdXNl ZCAwLzE3LCByb29tIDMyLCBsZW4gMzIsIGdhcCAxNSAtPiB0eA0KPiA+IDE1DQo+ID4gDQo+ID4g SVJRKDMpOg0KPiA+IFsgICAgMS4wODg5MzJdIHNwaV9tYXN0ZXIgc3BpMTogUlggRklGTyBvdmVy ZmxvdyBkZXRlY3RlZA0KPiA+IFsgICAgMS4wOTQwNTNdIHNwaV9tYXN0ZXIgc3BpMTogIyMgVFgv UlggdXNlZCAwLzMyLCBsZW4gMTcvNDkNCj4gPiANCj4gPiBFYWNoIHBhaXIgb2YgbGluZSBjb3Jy ZXNwb25kIHRvIG9uZSBleGVjdXRpb24gb2YgZHdfc3BpX3RyYW5zZmVyX2hhbmRsZXIoKSBvbg0K PiA+IGFuIElSUSBvY2N1cnJlbmNlLiBUaGUgZmlyc3QgbGluZSBpcyB3aGF0IHJ4X21heCgpIHNl ZXMgd2hlbiBkd19yZWFkZXIoKSBpcw0KPiA+IGNhbGxlZCwgdGhlIHNlY29uZCBsaW5lIGlzIHdo YXQgdHhfbWF4KCkgc2VlcyB3aGVuIGR3X3dyaXRlcigpIGlzIGV4ZWN1dGVkLiBUaGUNCj4gPiAi dXNlZCB4L3kiIHBhcnQgb2YgdGhlIG1lc3NhZ2VzIHNob3dzIFRYRkxSL1JYRkxSIHZhbHVlcy4N Cj4gPiANCj4gPiAoMSkgQWZ0ZXIgc2V0dXAgb2YgdGhlIHRyYW5zZmVyIGFuZCBlbmFibGluZyB0 aGUgY29udHJvbGxlciwgSVJRKDEpIG9jY3VycywNCj4gPiBub3RoaW5nIHRvIHJlY2VpdmUgeWV0 LCBUWCBmaWZvIGFsbCBlbXB0eSwgMzIgQiBhcmUgd3JpdHRlbi4gQWxsIGV4cGVjdGVkLiBPSy4N Cj4gPiAoMikgTW9yZSB0aGFuIGZpZm9fbGVuIC8gMiAtIDEgKGFzIFJYRlRMUiBpcyBzZXQgaW4g ZHdfc3BpX2lycV9zZXR1cCkgYmVjb21lDQo+ID4gYXZhaWxhYmxlIGFuZCBJUlEoMikgdHJpZ2dl ciwgMTUgQnl0ZXMgYXJlIHJlY2VpdmVkLiBXaGVuIGR3X3dyaXRlcigpIHJ1bnMsIGl0DQo+ID4g c2VlcyB0aGUgcnh0eGdhcCBhdCAxNUIgKDE3QiBzdGlsbCB0byByZWNlaXZlIGZyb20gdGhlIHBy ZXZpb3VzIDMyQiB3cml0dGVuKSwNCj4gPiBzbyB3cml0ZXMgb25seSAxNUIuIEFsbCBnb29kLCBh Z2FpbiBleHBlY3RlZC4gTm90ZSB0aGF0IHdoZW4gZHdfd3JpdGVyKCkgcnVucywNCj4gPiB0aGUg cmVtYWluaW5nIDE3QiB0byBiZSByZWNlaXZlZCBhcmUgYWxyZWFkeSBhdmFpbGFibGUsIGJ1dCB0 aGF0IGlzIGxpa2VseSBkdWUNCj4gPiB0byB0aGUgZGVsYXkgZnJvbSB0aGUgcHJfaW5mbygpIG1l c3NhZ2UgcHJpbnQuDQo+ID4gKDMpIE5leHQgSVJRKDMpIGlzIHRoZSBlcnJvciwgc2hvd2luZyB0 aGF0IGFsbCBUWCBieXRlcyBoYXZlIGJlZW4gcHJvY2Vzc2VkIGFuZA0KPiA+IHRoYXQgdGhlIFJY IGZpZm8gaXMgZnVsbCB3aXRoIDMyQi4NCj4gPiANCj4gPiBJZiB0aGUgUlggZmlmbyBtYXggZGVw dGggaXMgaW5kZWVkIDMyLCBJIGRvIG5vdCB1bmRlcnN0YW5kIHdoeSB0aGUgb3ZlcmZsb3cNCj4g PiBlcnJvciBpcyB0cmlnZ2VyZWQgYXQgc3RlcCAoMykuIFRoZXJlIGFyZSBubyBtb3JlIHRoYW4g MzJCIHRoYXQgY2FuIHBvc3NpYmx5IGJlDQo+ID4gcmVjZWl2ZWQuIFB1dHRpbmcgYmFjayB0aGUg ImRyaXZlIE1PU0kgbG5lIGhpZ2giIHBhdGNoIGRvZXMgbm90IGNoYW5nZQ0KPiA+IGFueXRoaW5n LiBTYW1lIGJlaGF2aW9yLg0KPiANCj4gVGhlIGxvZyB5b3UndmUgc2VudCBpbmRlZWQgbG9va3Mg d2VpcmQuIEknZCBvbmUgbW9yZSB0aW1lIHBlcmZvcm1lZA0KPiB0aGUgbmV4dCBzdGVwczoNCj4g MSkgU3R1ZHkgdGhlIHNwZWMgcGF5aW5nIHNwZWNpYWwgYXR0ZW50aW9uIHRvIHRoZSBUWEZUTFIv UlhGVExSIGFuZA0KPiDCoMKgwqBUWEZMUi9SWEZMUiByZWdpc3RlcnMgZGVzY3JpcHRpb25zLiBN b3N0bHkgd2UgbmVlZCB0byBtYWtlIHN1cmUNCj4gwqDCoMKgdGhhdCBub3RoaW5nIGhhcyBjaGFu Z2VkIHNpbmNlIHRoZSBvbGRlciBjb250cm9sbGVyIHJldmlzaW9ucyBhbmQNCj4gwqDCoMKgd2hh dCB0aGUgZHJpdmVyIGltcGxlbWVudHMgaXMgY29ycmVjdCBmb3IgeW91ciBjb250cm9sbGVyLg0K PiAyKSBUcnkgdG8gZmluZCBhbiBpbnRlcm5hbCBkb2Mgd2l0aCB0aGUgRFcgQVBCIFNTSSBJUC1j b3JlIHBhcmFtZXRlcnMNCj4gwqDCoMKgaW5pdGlhbGl6ZWQgZHVyaW5nIHRoZSBjb250cm9sbGVy IHN5bnRoZXNpemUuIFRyeSB0byBmaW5kIHRoZQ0KPiDCoMKgwqBTU0lfVFhfRklGT19ERVBUSC9T U0lfUlhfRklGT19ERVBUSCBwYXJhbWV0ZXJzIHZhbHVlLg0KPiAzKSBUcnkgdG8gZmluZCBhbiBl cnJhdGEgZG9jIGZvciB5b3VyIGNvbnRyb2xsZXIgcmV2aXNpb24gYW5kIG1ha2UNCj4gwqDCoMKg c3VyZSBpdCBkb2Vzbid0IGhhdmUgYW55dGhpbmcgYWJvdXQgdGhlIHByb2JsZW0geW91IGFyZSBn ZXR0aW5nDQo+IMKgwqDCoGhlcmUuDQoNClRoZSBLMjEwIGRvY3VtZW50YXRpb24gaXMgZXh0cmVt ZWx5IHBvb3IuIEFsbCB0aGF0IGlzIGF2YWlsYWJsZSBpcyBoZXJlOg0KDQpodHRwczovL3MzLmNu LW5vcnRoLTEuYW1hem9uYXdzLmNvbS5jbi9kbC5rZW5kcnl0ZS5jb20vZG9jdW1lbnRzL2tlbmRy eXRlX2RhdGFzaGVldF8yMDE4MTAxMTE2MzI0OF9lbi5wZGYNCg0KQW5kIGFzIHlvdSBjYW4gc2Vl LCB0aGF0IGlzIGFsbCB2ZXJ5IGhpZ2ggbGV2ZWwuIFRoZSBiZXN0IHNvdXJjZSBvZiBpbmZvcm1h dGlvbg0KaXMgdGhlIFNESyBjb2RlIGhlcmU6DQoNCmh0dHBzOi8vZ2l0aHViLmNvbS9rZW5kcnl0 ZS9rZW5kcnl0ZS1zdGFuZGFsb25lLXNkaw0KDQpJbiB0aGF0IGNvZGUsIFRYIGZpZm8gbGVuZ3Ro IGlzIGNsZWFybHkgaGFyZC1jb2RlZCBhdCAzMiwgYnV0IHRoZSBSWCBmaWZvIGRlcHRoDQppcyBu b3QgY2xlYXIgYXMgdGhlIGNvZGUgYWx3YXlzIHNldHMgUlhGVExSIHRvIDAgYW5kIHRoZSBjb2Rl IGlzIHJhdGhlciB0cml2aWFsDQpkb2luZyBhIGxvb3AgdXAgdG8gUlhGTFIgdG8gcmVjZWl2ZSBi eXRlcy4NCg0KPiA0KSBSdW4gdGhlIGF0dGFjaGVkIHNjcmlwdCB0byBtYWtlIHN1cmUgdGhhdCB0 aGUgcHJvYmxlbSBpc24ndA0KPiDCoMKgwqBjb25uZWN0ZWQgd2l0aCBhIGJ1ZyBpbiB0aGUgZHJp dmVyLCBidXQgZWl0aGVyIHdpdGggdGhlIGRlcHRocw0KPiDCoMKgwqBtaXNtYXRjaCBvciB3aXRo IGFuIEhXIGJ1Zy4NCg0KU2luY2UgYXBwbHlpbmcgdGhlIGZpZm8gZGVwdGggZGV0ZWN0aW9uIGxv b3AgdG8gUlhGTFRSIGxlYWRzIHRvIHRoZSBzYW1lIHJlc3VsdA0KKG1heCByZWdpc3RlciB2YWx1 ZSA9IDMxLCBtZWFuaW5nIGEgZmlmbyBkZXB0aCBvZiAzMiksIGl0IHJlYWxseSBsb29rcyBsaWtl IGFuDQpvZmYtYnktb25lIEhXIGJ1ZyBvbiB0aGUgdHJpZ2dlciBmb3IgdGhlIFJYIG92ZXJydW4g c3RhdHVzLg0KDQo+IA0KPiA+IA0KPiA+IEkgYW0gb3V0IG9mIGlkZWFzIGF0IHRoaXMgcG9pbnQg YW5kIGNhbiBvbmx5IHRoaW5rIHRoYXQgSSBhbSBmYWNpbmcgYSBIVyBidWcNCj4gPiB0aGF0IG5l ZWRzIGEgcXVpcmsgc29tZXdoZXJlLg0KPiA+IA0KPiA+IFRob3VnaHRzID8gRG8geW91IHRoaW5r IGl0IGlzIE9LIHRvIGFkZCBhIHF1aXJrIGZsYWcgZm9yIHRoaXMgU29DIHRvIGhhdmUNCj4gPiBm aWZvX2xlbiByZWR1Y2VkIGJ5IG9uZSA/IEFkZGluZyBhIERUIHByb3BlcnR5IHRvIG1hbnVhbGx5 IGZvcmNlIGEgdmFsdWUgZm9yDQo+ID4gZmlmb19sZW4gd291bGQgd29yayB0b28uDQo+IA0KPiBT byBpZiBub25lIG9mIHRoZSBzdGVwcyBhYm92ZSBnaXZlcyB1cyBhbiBhbnN3ZXIsIHRoZW4gd2Ug bmVlZCB0byBkaWcNCj4gZGlwcGVyIGludG8gdGhlIGRyaXZlciBjb2RlIGFuZCB3ZSBtaXNzaW5n IHNvbWV0aGluZy4gSWYgMikgLSA0KSBwcm92ZXMgdGhlDQo+IGRlcHRocyBtaXNtYXRjaCBvciBh IEhXIGJ1ZywgdGhlbiB5b3UgY2FuIHBhdGNoIHRoZSBzcGktZHctbW1pby5jIGNvZGUgdG8gc2V0 DQo+IGEgY3VzdG9tIGZpZm9fbGVuIGZvciB0aGUgSzIxMCBTUEkgY29udHJvbGxlci4NCj4gDQo+ IEFueXdheSBJIGRvbid0IHRoaW5rIGEgcXVpcmsgZmxhZyB3b3VsZCBiZSBhIGdvb2Qgc29sdXRp b24gaGVyZSBiZWNhdXNlDQo+IHRoZSBwcm9ibGVtIHNlZW1zIHZlcnkgc3BlY2lmaWMgdG8geW91 ciBjb250cm9sbGVyLi4uDQoNCkluZGVlZC4gU28gd2hhdCBhYm91dCB0aGlzOg0KDQpkaWZmIC0t Z2l0IGEvZHJpdmVycy9zcGkvc3BpLWR3LW1taW8uYyBiL2RyaXZlcnMvc3BpL3NwaS1kdy1tbWlv LmMNCmluZGV4IGQwY2M1YmY0ZmE0ZS4uMTdjMDYwMzlhNzRkIDEwMDY0NA0KLS0tIGEvZHJpdmVy cy9zcGkvc3BpLWR3LW1taW8uYw0KKysrIGIvZHJpdmVycy9zcGkvc3BpLWR3LW1taW8uYw0KQEAg LTIyMiw2ICsyMjIsMjEgQEAgc3RhdGljIGludCBkd19zcGlfa2VlbWJheV9pbml0KHN0cnVjdCBw bGF0Zm9ybV9kZXZpY2UNCipwZGV2LA0KICAgICAgICByZXR1cm4gMDsNCiB9DQogDQorc3RhdGlj IGludCBkd19zcGlfY2FuYWFuX2syMTBfaW5pdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2 LA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZHdfc3BpX21taW8g KmR3c21taW8pDQorew0KKyAgICAgICAvKg0KKyAgICAgICAgKiBUaGUgQ2FuYWFuIEtlbmRyeXRl IEsyMTAgU29DIERXIGFwYl9zc2kgdjQgc3BpIGNvbnRyb2xsZXIgaXMNCisgICAgICAgICogZG9j dW1lbnRlZCB0byBoYXZlIGEgMzIgd29yZHMgZGVlcCBUWCBhbmQgUlggRklGTywgd2hpY2gNCisg ICAgICAgICogc3BpX2h3X2luaXQoKSBkZXRlY3RzLiBIb3dldmVyLCB3aGVuIHRoZSBSWCBGSUZP IGlzIGZpbGxlZCB1cCB0bw0KKyAgICAgICAgKiAzMiBlbnRyaWVzIChSWEZMUiA9IDMyKSwgYW4g UlggRklGTyBvdmVycnVuIGVycm9yIG9jY3Vycy4gQXZvaWQgdGhpcw0KKyAgICAgICAgKiBwcm9i bGVtIGJ5IGZvcmNlIHNldHRpbmcgZmlmb19sZW4gdG8gMzEuDQorICAgICAgICAqLw0KKyAgICAg ICBkd3NtbWlvLT5kd3MuZmlmb19sZW4gPSAzMTsNCisNCisgICAgICAgcmV0dXJuIDA7DQorfQ0K Kw0KIHN0YXRpYyBpbnQgZHdfc3BpX21taW9fcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAq cGRldikNCiB7DQogICAgICAgIGludCAoKmluaXRfZnVuYykoc3RydWN0IHBsYXRmb3JtX2Rldmlj ZSAqcGRldiwNCkBAIC0zMzUsNiArMzUwLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZp Y2VfaWQgZHdfc3BpX21taW9fb2ZfbWF0Y2hbXSA9IHsNCiAgICAgICAgeyAuY29tcGF0aWJsZSA9 ICJzbnBzLGR3Yy1zc2ktMS4wMWEiLCAuZGF0YSA9IGR3X3NwaV9kd2Nfc3NpX2luaXR9LA0KICAg ICAgICB7IC5jb21wYXRpYmxlID0gImludGVsLGtlZW1iYXktc3NpIiwgLmRhdGEgPSBkd19zcGlf a2VlbWJheV9pbml0fSwNCiAgICAgICAgeyAuY29tcGF0aWJsZSA9ICJtaWNyb2NoaXAsc3Bhcng1 LXNwaSIsIGR3X3NwaV9tc2NjX3NwYXJ4NV9pbml0fSwNCisgICAgICAgeyAuY29tcGF0aWJsZSA9 ICJjYW5hYW4sazIxMC1zcGkiLCBkd19zcGlfY2FuYWFuX2syMTBfaW5pdH0sDQogICAgICAgIHsg LyogZW5kIG9mIHRhYmxlICovfQ0KIH07DQogTU9EVUxFX0RFVklDRV9UQUJMRShvZiwgZHdfc3Bp X21taW9fb2ZfbWF0Y2gpOw0KDQpObyBhZGRlZCBjYXBhYmlsaXR5IGZsYWcgYW5kIHByb2JsZW0g c29sdmVkOiBubyBSWCBvdmVycnVuIGVycm9ycyBhbmQgdGhlIFNEDQpjYXJkIGlzIHJ1bm5pbmcg YXQgMS4yIE1CL3MuDQoNCi0tIA0KRGFtaWVuIExlIE1vYWwNCldlc3Rlcm4gRGlnaXRhbA0KX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtcmlzY3Yg bWFpbGluZyBsaXN0CmxpbnV4LXJpc2N2QGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3Rz LmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1yaXNjdgo=