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 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id A441AC6FD19 for ; Thu, 9 Mar 2023 08:57:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=bdoxTV4ZJkYYa60hkCyO/xzanr+wdZT/0I7ZRyYGQ2U=; b=K5v81990o+m7XE 6dCSVcRmvcIwKrVuVjbU3LU+Ar1SY3LVhcaAzfsv3hsAQhEIfep4wPwIS9BJty2DaWKP4MLMRDmGs N8we2l0gInyBeVkVBLWMVSEKsjovxq9l74Urf4Dktw0wx7EpPDeE49dSotAeyzMuBipEy9mZAVEOD oCG8dM6q5PjOYUGvIJtSLvULNVf5nOA7z49BGkor7kgtyyiw9iHP5AUQeddSystBCiItLFQ34UpTV snXMal/MVnNZy6ZBrjIXATMtRSyhTEzrLc34UWOylwTBboXEk4ok0c/MLuPHqHFvVAdHgN3oj/YbS wHPEgOpSG7vdWmjZdW8A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1paC4x-008fHQ-Cl; Thu, 09 Mar 2023 08:56:51 +0000 Received: from relay6-d.mail.gandi.net ([217.70.183.198]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1paC4r-008fE8-AW; Thu, 09 Mar 2023 08:56:48 +0000 Received: (Authenticated sender: miquel.raynal@bootlin.com) by mail.gandi.net (Postfix) with ESMTPSA id 0DF70C000C; Thu, 9 Mar 2023 08:56:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1678352200; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=OsU9P3Ur2VchpA2JUh4YcUF6jVWgdCHPblwwuyxuAmM=; b=EW5TlrV4CQ9Mmh3SXctNaJ3E6vLQDFLpT6USUszQ40PiT/G/H4kAE2HOo8ELaXuTkQPE/7 PtSBDFGEz5+owBxACqFApT/rEhZ1UxHqNQ0JeqAu7Y49D+uyNiZTkb/3qaS0KlqJ0+rphE qIHERnL/qjJdmjUuJZSbLAMEw5XPfRTXbqn2KpThaanjWeSO5BLuTHqBXNc78c2T3tDPoq gxPCqP0Lav/+NoCIm4vbutUJeL5h6HwWDWnvPFToYQgPMhmyieIQfmBLWAYQ3xf2jWpDDV cBud8//oMxWBO+HUTDJcrxne728LVfY0Y7zyx0qQ98HvdR1wEinFBBmNGtj0Cg== Date: Thu, 9 Mar 2023 09:56:31 +0100 From: Miquel Raynal To: =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= Cc: =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= , Srinivas Kandagatla , Richard Weinberger , Vignesh Raghavendra , Hector Martin , Sven Peter , Alyssa Rosenzweig , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , Neil Armstrong , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , Claudiu Beznea , Matthias Brugger , AngeloGioacchino Del Regno , Andy Gross , Bjorn Andersson , Konrad Dybcio , Heiko Stuebner , Orson Zhai , Baolin Wang , Chunyan Zhang , Maxime Coquelin , Alexandre Torgue , Vincent Shih , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Kunihiko Hayashi , Masami Hiramatsu , Michal Simek , Alessandro Zummo , Alexandre Belloni , Evgeniy Polyakov , linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org, asahi@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-amlogic@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-stm32@st-md-mailman.stormreply.com, linux-sunxi@lists.linux.dev, linux-rtc@vger.kernel.org Subject: Re: [PATCH V2] nvmem: add explicit config option to read OF fixed cells Message-ID: <20230309095631.7b4f610e@xps-13> In-Reply-To: References: <20230224072903.20945-1-zajec5@gmail.com> <20230308173256.3837b87b@xps-13> <91ff425b4c901648b1faf34c784f20ad@milecki.pl> <20230308190636.7fabab9c@xps-13> <5974d28426057975e701c4a8454b5a13@milecki.pl> <20230308193121.7f5b3d02@xps-13> <930f3549-440d-adac-ae9d-1aa6ef07c44b@gmail.com> <20230309093415.2b1088c8@xps-13> Organization: Bootlin X-Mailer: Claws Mail 4.0.0 (GTK+ 3.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230309_005645_655607_EB37E43B X-CRM114-Status: GOOD ( 50.28 ) X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-mtd" Errors-To: linux-mtd-bounces+linux-mtd=archiver.kernel.org@lists.infradead.org SGkgUmFmYcWCLAoKcmFmYWxAbWlsZWNraS5wbCB3cm90ZSBvbiBUaHUsIDA5IE1hciAyMDIzIDA5 OjM5OjU0ICswMTAwOgoKPiBPbiAyMDIzLTAzLTA5IDA5OjM0LCBNaXF1ZWwgUmF5bmFsIHdyb3Rl Ogo+ID4gSGkgUmFmYcWCLAo+ID4gCj4gPiB6YWplYzVAZ21haWwuY29tIHdyb3RlIG9uIFRodSwg OSBNYXIgMjAyMyAwNzo1NjowNSArMDEwMDoKPiA+ICAgCj4gPj4gT24gOC4wMy4yMDIzIDE5OjMx LCBNaXF1ZWwgUmF5bmFsIHdyb3RlOiAgCj4gPj4gPiBIaSBSYWZhxYIsCj4gPj4gPgo+ID4+ID4g cmFmYWxAbWlsZWNraS5wbCB3cm90ZSBvbiBXZWQsIDA4IE1hciAyMDIzIDE5OjEyOjMyICswMTAw Ogo+ID4+ID4gIAo+ID4+ID4+IE9uIDIwMjMtMDMtMDggMTk6MDYsIE1pcXVlbCBSYXluYWwgd3Jv dGU6ICAKPiA+PiA+Pj4gSGkgUmFmYcWCLAo+ID4+ID4+Pgo+ID4+ID4+PiByYWZhbEBtaWxlY2tp LnBsIHdyb3RlIG9uIFdlZCwgMDggTWFyIDIwMjMgMTc6NTU6NDYgKzAxMDA6ICAKPiA+PiA+Pj4g ICAgPj4+PiBPbiAyMDIzLTAzLTA4IDE3OjM0LCBNaXF1ZWwgUmF5bmFsIHdyb3RlOiAgCj4gPj4g Pj4+Pj4gSGkgUmFmYcWCLAo+ID4+ID4+Pj4+Cj4gPj4gPj4+Pj4gemFqZWM1QGdtYWlsLmNvbSB3 cm90ZSBvbiBGcmksIDI0IEZlYiAyMDIzIDA4OjI5OjAzICswMTAwOiAgCj4gPj4gPj4+Pj4gICA+ Pj4+Pj4gRnJvbTogUmFmYcWCIE1pxYJlY2tpIDxyYWZhbEBtaWxlY2tpLnBsPiAgCj4gPj4gPj4+ Pj4+Pj4gTlZNRU0gc3Vic3lzdGVtIGxvb2tzIGZvciBmaXhlZCBOVk1FTSBjZWxscyAoc3BlY2lm aWVkIGluIERUKSBieSAgCj4gPj4gPj4+Pj4+IGRlZmF1bHQuIFRoaXMgYmVoYXZpb3VyIG1hZGUg c2Vuc2UgaW4gZWFybHkgZGF5cyBiZWZvcmUgYWRkaW5nIHN1cHBvcnQKPiA+PiA+Pj4+Pj4gZm9y IGR5bmFtaWMgY2VsbHMuICAKPiA+PiA+Pj4+Pj4+PiBXaXRoIGV2ZXJ5IG5ldyBzdXBwb3J0ZWQg TlZNRU0gZGV2aWNlIHdpdGggZHluYW1pYyBjZWxscyBjdXJyZW50ICAKPiA+PiA+Pj4+Pj4gYmVo YXZpb3VyIGJlY29tZXMgbm9uLW9wdGltYWwuIEl0IHJlc3VsdHMgaW4gdW5uZWVkZWQgaXRlcmF0 aW5nIG92ZXIgPj4gRFQKPiA+PiA+Pj4+Pj4gbm9kZXMgYW5kIG1heSByZXN1bHQgaW4gZmFsc2Ug ZGlzY292ZXJ5IG9mIGNlbGxzIChkZXBlbmRpbmcgb24gdXNlZCBEVAo+ID4+ID4+Pj4+PiBwcm9w ZXJ0aWVzKS4gIAo+ID4+ID4+Pj4+Pj4+IFRoaXMgYmVoYXZpb3VyIGhhcyBhY3R1YWxseSBjYXVz ZWQgYSBwcm9ibGVtIGFscmVhZHkgd2l0aCB0aGUgTVREICAKPiA+PiA+Pj4+Pj4gc3Vic3lzdGVt LiBNVEQgc3VicGFydGl0aW9ucyB3ZXJlIGluY29ycmVjdGx5IHRyZWF0ZWQgYXMgTlZNRU0gY2Vs bHMuICAKPiA+PiA+Pj4+Pgo+ID4+ID4+Pj4+IFRoYXQncyB0cnVlLCBidXQgSSBleHBlY3QgdGhp cyB0byBiZSByZWFsbHkgTVREIHNwZWNpZmljLgo+ID4+ID4+Pj4+Cj4gPj4gPj4+Pj4gQSBjb25j cmV0ZSBwcm9wb3NhbCBiZWxvdy4gIAo+ID4+ID4+Pj4+ICAgPj4+Pj4+IEFsc28gd2l0aCB1cGNv bWluZyBzdXBwb3J0IGZvciBOVk1FTSBsYXlvdXRzIG5vIG5ldyBiaW5kaW5nIG9yIGRyaXZlciAg Cj4gPj4gPj4+Pj4+IHNob3VsZCBzdXBwb3J0IGZpeGVkIGNlbGxzIGRlZmluZWQgaW4gZGV2aWNl IG5vZGUuICAKPiA+PiA+Pj4+Pgo+ID4+ID4+Pj4+IEknbSBub3Qgc3VyZSBJIGFncmVlIHdpdGgg dGhpcyBzdGF0ZW1lbnQuIFdlIGFyZSBub3QgcHJldmVudGluZyBuZXcKPiA+PiA+Pj4+PiBiaW5k aW5nL2RyaXZlciB0byB1c2UgZml4ZWQgY2VsbHMsIG9yLi4uPyBXZSBvZmZlciBhIG5ldyB3YXkg dG8gZXhwb3NlCj4gPj4gPj4+Pj4gbnZtZW0gY2VsbHMgd2l0aCBhbm90aGVyIHdheSB0aGFuICJm aXhlZC1vZmZzZXQiIGFuZCAiZml4ZWQtc2l6ZSIgT0YKPiA+PiA+Pj4+PiBub2Rlcy4gIAo+ID4+ ID4+Pj4+PiAgIEZyb20gd2hhdCBJIHVuZGVyc3Rvb2QgYWxsIG5ldyBOVk1FTSBiaW5kaW5ncyBz aG91bGQgaGF2ZSBjZWxscyA+PiBkZWZpbmVkICAKPiA+PiA+Pj4+IGluIHRoZSBudm1lbS1sYXlv dXQgeyB9IG5vZGUuIFRoYXQncyB3aGF0IEkgbWVhbiBieSBzYXlpbmcgdGhleSBzaG91bGQKPiA+ PiA+Pj4+IG5vdCBiZSBkZWZpbmVkIGluIGRldmljZSBub2RlIChidXQgaXRzICJudm1lbS1sYXlv dXQiIGluc3RlYWQpLiAgCj4gPj4gPj4+Cj4gPj4gPj4+IExheW91dHMgYXJlIGp1c3QgYW5vdGhl ciBwb3NzaWJpbGl0eSwgZWl0aGVyIHlvdSB1c2VyIHRoZSBudm1lbS1jZWxscwo+ID4+ID4+PiBj b21wYXRpYmxlIGFuZCBwcm9kdWNlIG52bWVtIGNlbGxzIHdpdGggZml4ZWQgT0Ygbm9kZXMsIG9y IHlvdSB1c2UgdGhlCj4gPj4gPj4+IG52bWVtLWxheW91dCBjb250YWluZXIuIEkgZG9uJ3QgdGhp bmsgYWxsIG5ldyBiaW5kaW5ncyBzaG91bGQgaGF2ZQo+ID4+ID4+PiBjZWxscyBpbiBsYXlvdXRz LiBJdCBkZXBlbmRzIGlmIHRoZSBjb250ZW50IGlzIHN0YXRpYyBvciBub3QuICAKPiA+PiA+Pj4g ICAgPj4+Pj4+IFNvbHZlIHRoaXMgYnkgbW9kaWZ5aW5nIGRyaXZlcnMgZm9yIGJpbmRpbmdzIHRo YXQgc3VwcG9ydCBzcGVjaWZ5aW5nICAKPiA+PiA+Pj4+Pj4gZml4ZWQgTlZNRU0gY2VsbHMgaW4g RFQuIE1ha2UgdGhlbSBleHBsaWNpdGx5IHRlbGwgTlZNRU0gc3Vic3lzdGVtIHRvCj4gPj4gPj4+ Pj4+IHJlYWQgY2VsbHMgZnJvbSBEVC4gIAo+ID4+ID4+Pj4+Pj4+IEl0IHdhc24ndCBjbGVhciAo dG8gbWUpIGlmIHJ0YyBhbmQgdzEgY29kZSBhY3R1YWxseSB1c2VzIGZpeGVkIGNlbGxzLiA+PiBJ ICAKPiA+PiA+Pj4+Pj4gZW5hYmxlZCB0aGVtIHRvIGRvbid0IHJpc2sgYW55IGJyZWFrYWdlLiAg Cj4gPj4gPj4+Pj4+Pj4gU2lnbmVkLW9mZi1ieTogUmFmYcWCIE1pxYJlY2tpIDxyYWZhbEBtaWxl Y2tpLnBsPiAgCj4gPj4gPj4+Pj4+IFtmb3IgZHJpdmVycy9udm1lbS9tZXNvbi17ZWZ1c2UsbXgt ZWZ1c2V9LmNdCj4gPj4gPj4+Pj4+IEFja2VkLWJ5OiBNYXJ0aW4gQmx1bWVuc3RpbmdsIDxtYXJ0 aW4uYmx1bWVuc3RpbmdsQGdvb2dsZW1haWwuY29tPgo+ID4+ID4+Pj4+PiAtLS0KPiA+PiA+Pj4+ Pj4gVjI6IEZpeCBzdG0zMi1yb21lbS5jIHR5cG8gYnJlYWtpbmcgaXRzIGNvbXBpbGF0aW9uCj4g Pj4gPj4+Pj4+ICAgICAgUGljayBNYXJ0aW4ncyBBY2tlZC1ieQo+ID4+ID4+Pj4+PiAgICAgIEFk ZCBwYXJhZ3JhcGggYWJvdXQgbGF5b3V0cyBkZXByZWNhdGluZyB1c2VfZml4ZWRfb2ZfY2VsbHMK PiA+PiA+Pj4+Pj4gLS0tCj4gPj4gPj4+Pj4+ICAgZHJpdmVycy9tdGQvbXRkY29yZS5jICAgICAg ICAgIHwgMiArKwo+ID4+ID4+Pj4+PiAgIGRyaXZlcnMvbnZtZW0vYXBwbGUtZWZ1c2VzLmMgICB8 IDEgKwo+ID4+ID4+Pj4+PiAgIGRyaXZlcnMvbnZtZW0vY29yZS5jICAgICAgICAgICB8IDggKysr KystLS0KPiA+PiA+Pj4+Pj4gICBkcml2ZXJzL252bWVtL2lteC1vY290cC1zY3UuYyAgfCAxICsK PiA+PiA+Pj4+Pj4gICBkcml2ZXJzL252bWVtL2lteC1vY290cC5jICAgICAgfCAxICsKPiA+PiA+ Pj4+Pj4gICBkcml2ZXJzL252bWVtL21lc29uLWVmdXNlLmMgICAgfCAxICsKPiA+PiA+Pj4+Pj4g ICBkcml2ZXJzL252bWVtL21lc29uLW14LWVmdXNlLmMgfCAxICsKPiA+PiA+Pj4+Pj4gICBkcml2 ZXJzL252bWVtL21pY3JvY2hpcC1vdHBjLmMgfCAxICsKPiA+PiA+Pj4+Pj4gICBkcml2ZXJzL252 bWVtL210ay1lZnVzZS5jICAgICAgfCAxICsKPiA+PiA+Pj4+Pj4gICBkcml2ZXJzL252bWVtL3Fj b20tc3BtaS1zZGFtLmMgfCAxICsKPiA+PiA+Pj4+Pj4gICBkcml2ZXJzL252bWVtL3FmcHJvbS5j ICAgICAgICAgfCAxICsKPiA+PiA+Pj4+Pj4gICBkcml2ZXJzL252bWVtL3JhdmUtc3AtZWVwcm9t LmMgfCAxICsKPiA+PiA+Pj4+Pj4gICBkcml2ZXJzL252bWVtL3JvY2tjaGlwLWVmdXNlLmMgfCAx ICsKPiA+PiA+Pj4+Pj4gICBkcml2ZXJzL252bWVtL3NjMjd4eC1lZnVzZS5jICAgfCAxICsKPiA+ PiA+Pj4+Pj4gICBkcml2ZXJzL252bWVtL3NwcmQtZWZ1c2UuYyAgICAgfCAxICsKPiA+PiA+Pj4+ Pj4gICBkcml2ZXJzL252bWVtL3N0bTMyLXJvbWVtLmMgICAgfCAxICsKPiA+PiA+Pj4+Pj4gICBk cml2ZXJzL252bWVtL3N1bnBsdXMtb2NvdHAuYyAgfCAxICsKPiA+PiA+Pj4+Pj4gICBkcml2ZXJz L252bWVtL3N1bnhpX3NpZC5jICAgICAgfCAxICsKPiA+PiA+Pj4+Pj4gICBkcml2ZXJzL252bWVt L3VuaXBoaWVyLWVmdXNlLmMgfCAxICsKPiA+PiA+Pj4+Pj4gICBkcml2ZXJzL252bWVtL3p5bnFt cF9udm1lbS5jICAgfCAxICsKPiA+PiA+Pj4+Pj4gICBkcml2ZXJzL3J0Yy9udm1lbS5jICAgICAg ICAgICAgfCAxICsKPiA+PiA+Pj4+Pj4gICBkcml2ZXJzL3cxL3NsYXZlcy93MV9kczI1MHguYyAg fCAxICsKPiA+PiA+Pj4+Pj4gICBpbmNsdWRlL2xpbnV4L252bWVtLXByb3ZpZGVyLmggfCAyICsr Cj4gPj4gPj4+Pj4+ICAgMjMgZmlsZXMgY2hhbmdlZCwgMjkgaW5zZXJ0aW9ucygrKSwgMyBkZWxl dGlvbnMoLSkgIAo+ID4+ID4+Pj4+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL210ZC9tdGRjb3Jl LmMgYi9kcml2ZXJzL210ZC9tdGRjb3JlLmMgIAo+ID4+ID4+Pj4+PiBpbmRleCAwZmVhY2I5ZmJk YWMuLjFiYjQ3OWMwZjc1OCAxMDA2NDQKPiA+PiA+Pj4+Pj4gLS0tIGEvZHJpdmVycy9tdGQvbXRk Y29yZS5jCj4gPj4gPj4+Pj4+ICsrKyBiL2RyaXZlcnMvbXRkL210ZGNvcmUuYwo+ID4+ID4+Pj4+ PiBAQCAtNTIzLDYgKzUyMyw3IEBAIHN0YXRpYyBpbnQgbXRkX252bWVtX2FkZChzdHJ1Y3QgbXRk X2luZm8gKm10ZCkKPiA+PiA+Pj4+Pj4gICAJY29uZmlnLmRldiA9ICZtdGQtPmRldjsKPiA+PiA+ Pj4+Pj4gICAJY29uZmlnLm5hbWUgPSBkZXZfbmFtZSgmbXRkLT5kZXYpOwo+ID4+ID4+Pj4+PiAg IAljb25maWcub3duZXIgPSBUSElTX01PRFVMRTsKPiA+PiA+Pj4+Pj4gKwljb25maWcudXNlX2Zp eGVkX29mX2NlbGxzID0gb2ZfZGV2aWNlX2lzX2NvbXBhdGlibGUobm9kZSwgPj4gIm52bWVtLWNl bGxzIik7ICAKPiA+PiA+Pj4+Pgo+ID4+ID4+Pj4+IEkgYW0gd29uZGVyaW5nIGhvdyBtdGQgc3Bl Y2lmaWMgdGhpcyBpcz8gRm9yIG1lIGFsbCBPRiBub2RlcyBjb250YWluaW5nCj4gPj4gPj4+Pj4g dGhlIG52bWVtLWNlbGxzIGNvbXBhdGlibGUgc2hvdWxkIGJlIHRyZWF0ZWQgYXMgY2VsbHMgcHJv dmlkZXJzIGFuZAo+ID4+ID4+Pj4+IHBvcHVsYXRlIG52bWVtIGNlbGxzIGFzIGZvciBlYWNoIGNo aWxkcmVuLgo+ID4+ID4+Pj4+Cj4gPj4gPj4+Pj4gV2h5IGRvbid0IHdlIGp1c3QgY2hlY2sgZm9y IHRoaXMgY29tcGF0aWJsZSB0byBiZSBwcmVzZW50PyBpbgo+ID4+ID4+Pj4+IG52bWVtX2FkZF9j ZWxsc19mcm9tX29mKCkgPyBBbmQgaWYgbm90IHdlIGp1c3Qgc2tpcCB0aGUgb3BlcmF0aW9uLgo+ ID4+ID4+Pj4+Cj4gPj4gPj4+Pj4gVGhpcyB3YXkgd2Ugc3RpbGwgZm9sbG93IHRoZSBiaW5kaW5n cyAoZXZlbiB0aG91Z2ggdXNpbmcgbnZtZW0tY2VsbHMgaW4KPiA+PiA+Pj4+PiB0aGUgY29tcGF0 aWJsZSBwcm9wZXJ0eSB0byByZXF1aXJlIGNlbGxzIHBvcHVsYXRpb24gd2FzIGEgbWlzdGFrZSBp bgo+ID4+ID4+Pj4+IHRoZSBmaXJzdCBwbGFjZSwgYXMgZGlzY3Vzc2VkIGluIHRoZSBkZXZsaW5r IHRocmVhZCByZWNlbnRseSkgYnV0IHRoZXJlCj4gPj4gPj4+Pj4gaXMgbm8gbmVlZCBmb3IgYSBw ZXItZHJpdmVyIGNvbmZpZyBvcHRpb24/ICAKPiA+PiA+Pj4+Pj4gVGhpcyBpc24ndCBtdGQgc3Bl Y2lmaWMuIFBsZWFzZSBjaGVjayB0aGlzIHBhdGNoIGZvciBhbGwgb2NjdXJyZW5jZXMgPj4gb2Yg IAo+ID4+ID4+Pj4gdGhlOgo+ID4+ID4+Pj4gdXNlX2ZpeGVkX29mX2NlbGxzID0gdHJ1ZSAgCj4g Pj4gPj4+Pj4+IFRoZSB2ZXJ5IGZpcnN0IG9uZTogZHJpdmVycy9udm1lbS9hcHBsZS1lZnVzZXMu YyBkcml2ZXIgZm9yIHRoZSAgCj4gPj4gPj4+PiAiYXBwbGUsZWZ1c2VzIiBiaW5kaW5nLiBUaGF0 IGJpbmRpbmcgc3VwcG9ydHMgZml4ZWQgT0YgY2VsbHMsIHNlZToKPiA+PiA+Pj4+IERvY3VtZW50 YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9udm1lbS9hcHBsZSxlZnVzZXMueWFtbCAgCj4gPj4g Pj4+Cj4gPj4gPj4+IEknbSBzYXlpbmc6IGJhc2VkIG9uIHdoYXQgaGFzIGJlZW4gZW5mb3JjZWQg c28gZmFyLCBJIHdvdWxkIGV4cGVjdCBhbGwKPiA+PiA+Pj4gZml4ZWQgY2VsbCBwcm92aWRlcnMg dG8gY29tZSB3aXRoIG52bWVtLWNlbGxzIGFzIGNvbXBhdGlibGUsIG5vPwo+ID4+ID4+Pgo+ID4+ ID4+PiBJZiB0aGF0J3MgdGhlIGNhc2Ugd2UgY291bGQgdXNlIHRoYXQgYXMgYSBjb21tb24gZGVu b21pbmF0b3I/ICAKPiA+PiA+Pgo+ID4+ID4+IFNvcnJ5LCBJIGRvbid0IGdldCBpdC4gSGF2ZSB5 b3UgY2hlY2tlZAo+ID4+ID4+IERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9udm1l bS9hcHBsZSxlZnVzZXMueWFtbAo+ID4+ID4+ID8KPiA+PiA+Pgo+ID4+ID4+IEl0J3MgYSBOVk1F TSBwcm92aWVkIGJpbmRpbmcgd2l0aCBmaXhlZCBjZWxscyB0aGF0IGRvZXNuJ3QgdXNlCj4gPj4g Pj4gbnZtZW0tY2VsbHMgYXMgY29tcGF0aWJsZS4gVGhlcmUgYXJlIG1hbnkgbW9yZS4gIAo+ID4+ ID4KPiA+PiA+IE9oIHllYWggeW91J3JlIHJpZ2h0LCBJJ20gbWl4aW5nIHRoaW5ncy4gV2VsbCBJ IGd1ZXNzIHlvdSdyZSByaWdodAo+ID4+ID4gdGhlbiwgaXQncyBzdWNoIGEgbWVzcywgd2UgaGF2 ZSB0byB0ZWxsIHRoZSBjb3JlIHRoZSBwYXJzaW5nIG1ldGhvZC4KPiA+PiA+Cj4gPj4gPiBTbyBt YXliZSBhbm90aGVyIHF1ZXN0aW9uOiBkbyB3ZSBoYXZlIG90aGVyIHNpdHVhdGlvbnMgdGhhbiBt dGQgd2hpY2gKPiA+PiA+IHNvbWV0aW1lcyBleHBlY3QgdGhlIG52bWVtIGNvcmUgdG8gcGFyc2Ug dGhlIE9GIG5vZGVzIHRvIHBvcHVsYXRlIGNlbGxzLAo+ID4+ID4gYW5kIHNvbWV0aW1lcyBub3Q/ ICAKPiA+PiA+PiBJJ20gbm90IGF3YXJlIG9mIHRoYXQuIFBsZWFzZSBhbHNvIGNoZWNrIG15IHBh dGNoLiBUaGUgb25seSBjYXNlIEkgc2V0ICAKPiA+PiAidXNlX2ZpeGVkX29mX2NlbGxzIiBjb25k aXRpb25hbGx5IGlzIG10ZCBjb2RlLiBJbiBvdGhlciBjYXNlcyBpdCdzCj4gPj4gaGFyZGNvZGVk IHRvICJ0cnVlIi4gIAo+ID4+ID4+ID4+ID4gQWxzbywgd2hhdCBhYm91dCAib2ZfY2hpbGRyZW5f YXJlX2NlbGxzIiA/IEJlY2F1c2UgYWN0dWFsbHkgaW4gbW9zdCAgCj4gPj4gPiBjYXNlcyBpdCdz IGEgImZpeGVkIG9mIGNlbGwiLCBzbyBJIGRvbid0IGZpbmQgdGhlIGN1cnJlbnQgbmFtaW5nCj4g Pj4gPiBkZXNjcmlwdGl2ZSBlbm91Z2ggZm9yIHNvbWV0aGluZyBzbyB0b3VjaHkuICAKPiA+PiA+ PiBUaGF0IHdvdWxkIGJlIGp1c3QgaW5jb3JyZWN0IGJlY2F1c2UgdGhpcyBuZXcgY29uZmlnIHBy b3BlcnR5ICAKPiA+PiAoInVzZV9maXhlZF9vZl9jZWxscyIpIGlzIG9ubHkgYWJvdXQgRklYRUQg Y2VsbHMuICAKPiA+PiA+PiBUaGVyZSBhcmUgY2FzZXMgb2YgT0YgY2hpbGRyZW4gYmVpbmcgY2Vs bHMgYnV0IE5PVCBiZWluZyBmaXhlZCBjZWxscy4gIAo+ID4+IFRoZXkgc2hvdWxkIE5PVCBiZSBw YXJzZWQgYnkgdGhlIG52bWVtX2FkZF9jZWxsc19mcm9tX29mKCkuICAKPiA+PiA+PiBFeGFtcGxl OiAgCj4gPj4gYTYwN2E4NTBiYTFmICgiZHQtYmluZGluZ3M6IG52bWVtOiB1LWJvb3QsZW52OiBh ZGQgYmFzaWMgTlZNRU0gY2VsbHMiKQo+ID4+IGh0dHBzOi8vZ2l0Lmtlcm5lbC5vcmcvcHViL3Nj bS9saW51eC9rZXJuZWwvZ2l0L3RvcnZhbGRzL2xpbnV4LmdpdC9jb21taXQvP2lkPWE2MDdhODUw YmExZmE5NjZjYmIwMzU1NDRjMTU4OGUyNGE2MzA3ZGYgIAo+ID4gCj4gPiBUaGlzIGlzIGJhY2t3 YXJkcy4gVGhhdCdzIHdoeSBsYXlvdXRzIGhhdmUgYmVlbiBwcm9wb3NlZDogaGF2aW5nCj4gPiBh IGNsZWFyIGZyYW1ld29yayB3ZXJlIHRoZSBudm1lbSBjb3JlIHNob3VsZCBvciBzaG91bGQgbm90 IHBsYXkgd2l0aAo+ID4gdGhlIE9GIGNoaWxkcmVuIG5vZGVzLiBJZiBlYWNoIGJpbmRpbmcgaXMg ZGlmZmVyZW50LCB5b3UgZW5kIHVwIHdpdGgKPiA+IHRoZSBtZXNzIHdlIGhhdmUgdG9kYXksIHdo ZXJlIG5vYm9keSBrbm93cyBob3cgdG8gcHJvcGVybHkKPiA+IHBvcHVsYXRlIHRoZSBjZWxscy4K PiA+IAo+ID4gQW55d2F5LCBpdCdzIG5vdCBhIGJpZyBkZWFsIGVpdGhlciwgaWYgdGhlIGNlbGxz IGFyZSBlbXB0eSB3ZSBjYW4KPiA+IGVhc2lseSBjaGVjayB0aGF0IGFuZCBoYXZlICp5ZXQgYW5v dGhlciogc3BlY2lmaWMgY2FzZSBpbiB0aGUgY29yZS4KPiA+ICAgCj4gPj4gU28gdGhhdCB3b3Vs ZCByZXN1bHQgaW4gVS1Cb290IGVudjoKPiA+PiAxLiBIYXZpbmcgT0YgY2hpbGRyZW4gbm9kZXMg YmVpbmcgY2VsbHMKPiA+PiAyLiBTZXR0aW5nICJvZl9jaGlsZHJlbl9hcmVfY2VsbHMiIHRvIGZh bHNlIChjb3VudGVyLWludHVpdGl2ZSkgdG8gPj4gYXZvaWQgbnZtZW1fYWRkX2NlbGxzX2Zyb21f b2YoKSAgCj4gPiAKPiA+IEFncmVlZC4gU28gd2hhdCBhYm91dCBjb25maWcuaWdub3JlX29mX2No aWxkcmVuPwo+ID4gLSBtdGQgc2V0cyB0aGlzIHRvICFpc19jb21wYXRpYmxlKG52bWVtLWNlbGxz KQo+ID4gLSBub2JvZHkgZWxzZSB0b3VjaGVzIGl0ICh0aGUgY29yZSBkb24ndCB0cnkgdG8gcGFy c2UgdGhlIGNlbGwgaWYgaXQncwo+ID4gICBlbXB0eSBzbyBVLUJvb3QgZW52IGRyaXZlciB3b3Jr cykgIAo+IAo+ICJpZ25vcmVfb2ZfY2hpbGRyZW4iIHdvdWxkIGhhdmUgb3Bwb3NpdGUgKHJldmVy c2VkKSBtZWFuaW5nIHRvIHRoZQo+ICJ1c2VfZml4ZWRfb2ZfY2VsbHMiOgo+IDEuIEJ5IGRlZmF1 bHQgaXQgd291bGQgYmUgMCAvIGZhbHNlCj4gMi4gQnkgZGVmYXVsdCBOVk1FTSBjb2RlIHdvdWxk IE5PVCBpZ25vcmUgT0YgY2hpbGRyZW4gbm9kZXMKPiAKPiBUaGF0IGlzIHdoYXQgSSBhY3R1YWxs eSAqZG9uJ3QqIHdhbnQuCj4gCj4gSGF2aW5nIE5WTUVNIGNvcmUgbG9vayBmb3IgZml4ZWQgY2Vs bHMgaW4gZGV2aWNlIG5vZGUgaXMgdW5kZXNpcmFibGUuCgpJcyBpdD8KCkkgdGhpbmsgdGhpcyBp cyB0aGUgc3RhbmRhcmQgY2FzZS4gTW9zdCBvZiB0aGUgdGltZSBmaXhlZCBjZWxscyBhcmUKdGhl IHNpbXBsZXN0IGFuZCBtb3N0IGRpcmVjdCBhcHByb2FjaC4gSSBkb24ndCBnZXQgd2h5IHdlIHdv dWxkIGxpa2UKdG8gcHJldmVudCBpdCBhdCBzb21lIHBvaW50PyBPbmx5IHRoZSBtb3JlIGFkdmFu Y2VkIHN0dWZmIHRoYXQgZG9lcyBub3QKZml0IHRoZSBwdXJwb3NlIG9mIGZpeGVkIE9GIGNlbGxz IHNob3VsZCBnbyB0aHJvdWdoIGxheW91dHMuCgo+IEkgd2FudCB0aGF0IGZlYXR1cmUgdG8gYmUg b2ZmIGJ5IGRlZmF1bHQuIEkgd2FudCBkZXZpY2VzIHRvIGhhdmUgdG8KPiBlbmFibGUgaXQgZXhw bGljaXRseSBvbmx5IHdoZW4gaXQncyBuZWVkZWQuCgpXZWxsLCB0aGF0J3MgZXhhY3RseSB0aGUg b3Bwb3NpdGUgb2Ygd2hhdCBudm1lbSBkb2VzIHJpZ2h0IG5vdywgdGhhdCdzCm1heWJlIHdoeSBy ZXZpZXdlcnMgZG9uJ3QgZ2V0IHRoZSBpbnRlcmVzdCBvZiB0aGUgY3VycmVudAppbXBsZW1lbnRh dGlvbjogaXQgaGFzIG1hbnkgaW1wYWN0cyBvbiB1c2VycyB3aGljaCBzaG91bGQgbm90IGJlCmlt cGFjdGVkIGp1c3QgYmVjYXVzZSB3ZSBtZXNzZWQgd2l0aCBtdGQuCgpUaGFua3MsCk1pcXXDqGwK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpM aW51eCBNVEQgZGlzY3Vzc2lvbiBtYWlsaW5nIGxpc3QKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5v cmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1tdGQvCg==