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=-8.5 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 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 77216C433DF for ; Fri, 3 Jul 2020 15:46:32 +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 4165120870 for ; Fri, 3 Jul 2020 15:46:32 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="kYDLkCiU" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4165120870 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=arm.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=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-Type: Content-Transfer-Encoding:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From: References:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=XM8ysm4rNYTl4wuIaCi8SK38Tl5JEraqtF6aCu6FjYI=; b=kYDLkCiUWcwL44te8u63TULR3 98UqVZogPFCVUWRwZKYs68GFHQIOv7ELWdzJ2Y5FXZ2BR5r59yabbSVAhjTD/lbOYk+7TRgVX4C5l 8W64fn9M333qgzlFOsgLunkjVO0+TQ3vwn9exx0eW+376DkiLFgZcyqR1wjlau7SCPMqb3jAaKX4+ D8cgliqiMrYbOMc8aSXDjulS6ZPl75OxBfhVMUvlFB307ILZ+ktKNojCnN08HqlQRjoRN+DyjhhYc g5o8a6Yhw/H5DqsCTW50oVI8y9zMxkQrLI+cR13+z2+WupRaCiy9+OcUGkA/R0lvfbZwayRv0mQ9k VCfsAVqPA==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jrNs6-0000N4-Bi; Fri, 03 Jul 2020 15:45:02 +0000 Received: from foss.arm.com ([217.140.110.172]) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jrNqU-0004tu-Ad; Fri, 03 Jul 2020 15:43:23 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 1FBF431B; Fri, 3 Jul 2020 08:43:21 -0700 (PDT) Received: from [10.57.21.32] (unknown [10.57.21.32]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 47F303F73C; Fri, 3 Jul 2020 08:43:19 -0700 (PDT) Subject: Re: [PATCH v4 1/2] clk: rockchip: rk3288: Handle clock tree for rk3288w To: Heiko Stuebner , Jagan Teki References: <20200602080644.11333-1-mylene.josserand@collabora.com> <1793210.9Kb5SQUFvz@phil> <1847101.XIPLBOrDxk@phil> From: Robin Murphy Message-ID: <8ebc6a0d-1c88-cf74-e19d-dd9f3cef728e@arm.com> Date: Fri, 3 Jul 2020 16:43:17 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: <1847101.XIPLBOrDxk@phil> Content-Language: en-GB X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200703_114322_489379_91E55E44 X-CRM114-Status: GOOD ( 30.25 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?UTF-8?Q?Myl=c3=a8ne_Josserand?= , devicetree , Stephen Boyd , Michael Turquette , linux-kernel , "open list:ARM/Rockchip SoC..." , Rob Herring , kernel@collabora.com, linux-clk , linux-arm-kernel Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gMjAyMC0wNy0wMyAxNTo0OCwgSGVpa28gU3R1ZWJuZXIgd3JvdGU6Cj4gQW0gRnJlaXRhZywg My4gSnVsaSAyMDIwLCAxNjoyMzoyNyBDRVNUIHNjaHJpZWIgSmFnYW4gVGVraToKPj4gT24gRnJp LCBKdWwgMywgMjAyMCBhdCA3OjQxIFBNIEhlaWtvIFN0dWVibmVyIDxoZWlrb0BzbnRlY2guZGU+ IHdyb3RlOgo+Pj4KPj4+IEhpIEphZ2FuLAo+Pj4KPj4+IEFtIE1vbnRhZywgMjkuIEp1bmkgMjAy MCwgMjE6MTE6MDMgQ0VTVCBzY2hyaWViIEphZ2FuIFRla2k6Cj4+Pj4gT24gVHVlLCBKdW4gMiwg MjAyMCBhdCAxOjM3IFBNIE15bMOobmUgSm9zc2VyYW5kCj4+Pj4gPG15bGVuZS5qb3NzZXJhbmRA Y29sbGFib3JhLmNvbT4gd3JvdGU6Cj4+Pj4+Cj4+Pj4+IFRoZSByZXZpc2lvbiByazMyODh3IGhh cyBhIGRpZmZlcmVudCBjbG9jayB0cmVlIGFib3V0ICJoY2xrX3ZpbyIKPj4+Pj4gY2xvY2ssIGFj Y29yZGluZyB0byB0aGUgQlNQIGtlcm5lbCBjb2RlLgo+Pj4+Pgo+Pj4+PiBUaGlzIHBhdGNoIGhh bmRsZXMgdGhpcyBkaWZmZXJlbmNlIGJ5IGRldGVjdGluZyB3aGljaCBkZXZpY2UtdHJlZQo+Pj4+ PiB3ZSBhcmUgdXNpbmcuIElmIGl0IGlzIGEgInJvY2tjaGlwLHJrMzI4OC1jcnUiLCBsZXQncyBy ZWdpc3Rlcgo+Pj4+PiB0aGUgY2xvY2sgdHJlZSBhcyBpdCB3YXMgYmVmb3JlLiBJZiB0aGUgZGV2 aWNlLXRyZWUgbm9kZSBpcwo+Pj4+PiAicm9ja2NoaXAscmszMjg4dy1jcnUiLCB3ZSB3aWxsIGFw cGx5IHRoZSBkaWZmZXJlbmNlIHdpdGggdGhpcwo+Pj4+PiB2ZXJzaW9uIG9mIHRoaXMgU29DLgo+ Pj4+Pgo+Pj4+PiBOb3RpY2VkIHRoYXQgdGhpcyBuZXcgZGV2aWNlLXRyZWUgY29tcGF0aWJsZSBt dXN0IGJlIGhhbmRsZWQgaW4KPj4+Pj4gYm9vdGxvYWRlciBzdWNoIGFzIHUtYm9vdC4KPj4+Pj4K Pj4+Pj4gU2lnbmVkLW9mZi1ieTogTXlsw6huZSBKb3NzZXJhbmQgPG15bGVuZS5qb3NzZXJhbmRA Y29sbGFib3JhLmNvbT4KPj4+Pj4gLS0tCj4+Pj4+ICAgZHJpdmVycy9jbGsvcm9ja2NoaXAvY2xr LXJrMzI4OC5jIHwgMjAgKysrKysrKysrKysrKysrKysrLS0KPj4+Pj4gICAxIGZpbGUgY2hhbmdl ZCwgMTggaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKPj4+Pj4KPj4+Pj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvY2xrL3JvY2tjaGlwL2Nsay1yazMyODguYyBiL2RyaXZlcnMvY2xrL3JvY2tj aGlwL2Nsay1yazMyODguYwo+Pj4+PiBpbmRleCBjYzJhMTc3YmJkYmYuLjIwNDk3NmUyZDBjYiAx MDA2NDQKPj4+Pj4gLS0tIGEvZHJpdmVycy9jbGsvcm9ja2NoaXAvY2xrLXJrMzI4OC5jCj4+Pj4+ ICsrKyBiL2RyaXZlcnMvY2xrL3JvY2tjaGlwL2Nsay1yazMyODguYwo+Pj4+PiBAQCAtNDI1LDgg KzQyNSw2IEBAIHN0YXRpYyBzdHJ1Y3Qgcm9ja2NoaXBfY2xrX2JyYW5jaCByazMyODhfY2xrX2Jy YW5jaGVzW10gX19pbml0ZGF0YSA9IHsKPj4+Pj4gICAgICAgICAgQ09NUE9TSVRFKDAsICJhY2xr X3ZpbzAiLCBtdXhfcGxsX3NyY19jcGxsX2dwbGxfdXNiNDgwbV9wLCBDTEtfSUdOT1JFX1VOVVNF RCwKPj4+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgIFJLMzI4OF9DTEtTRUxfQ09OKDMxKSwg NiwgMiwgTUZMQUdTLCAwLCA1LCBERkxBR1MsCj4+Pj4+ICAgICAgICAgICAgICAgICAgICAgICAg ICBSSzMyODhfQ0xLR0FURV9DT04oMyksIDAsIEdGTEFHUyksCj4+Pj4+IC0gICAgICAgRElWKDAs ICJoY2xrX3ZpbyIsICJhY2xrX3ZpbzAiLCAwLAo+Pj4+PiAtICAgICAgICAgICAgICAgICAgICAg ICBSSzMyODhfQ0xLU0VMX0NPTigyOCksIDgsIDUsIERGTEFHUyksCj4+Pj4+ICAgICAgICAgIENP TVBPU0lURSgwLCAiYWNsa192aW8xIiwgbXV4X3BsbF9zcmNfY3BsbF9ncGxsX3VzYjQ4MG1fcCwg Q0xLX0lHTk9SRV9VTlVTRUQsCj4+Pj4+ICAgICAgICAgICAgICAgICAgICAgICAgICBSSzMyODhf Q0xLU0VMX0NPTigzMSksIDE0LCAyLCBNRkxBR1MsIDgsIDUsIERGTEFHUywKPj4+Pj4gICAgICAg ICAgICAgICAgICAgICAgICAgIFJLMzI4OF9DTEtHQVRFX0NPTigzKSwgMiwgR0ZMQUdTKSwKPj4+ Pj4gQEAgLTgxOSw2ICs4MTcsMTYgQEAgc3RhdGljIHN0cnVjdCByb2NrY2hpcF9jbGtfYnJhbmNo IHJrMzI4OF9jbGtfYnJhbmNoZXNbXSBfX2luaXRkYXRhID0gewo+Pj4+PiAgICAgICAgICBJTlZF UlRFUigwLCAicGNsa19pc3AiLCAicGNsa19pc3BfaW4iLCBSSzMyODhfQ0xLU0VMX0NPTigyOSks IDMsIElGTEFHUyksCj4+Pj4+ICAgfTsKPj4+Pj4KPj4+Pj4gK3N0YXRpYyBzdHJ1Y3Qgcm9ja2No aXBfY2xrX2JyYW5jaCByazMyODh3X2hjbGt2aW9fYnJhbmNoW10gX19pbml0ZGF0YSA9IHsKPj4+ Pj4gKyAgICAgICBESVYoMCwgImhjbGtfdmlvIiwgImFjbGtfdmlvMSIsIDAsCj4+Pj4+ICsgICAg ICAgICAgICAgICAgICAgICAgIFJLMzI4OF9DTEtTRUxfQ09OKDI4KSwgOCwgNSwgREZMQUdTKSwK Pj4+Pj4gK307Cj4+Pj4+ICsKPj4+Pj4gK3N0YXRpYyBzdHJ1Y3Qgcm9ja2NoaXBfY2xrX2JyYW5j aCByazMyODhfaGNsa3Zpb19icmFuY2hbXSBfX2luaXRkYXRhID0gewo+Pj4+PiArICAgICAgIERJ VigwLCAiaGNsa192aW8iLCAiYWNsa192aW8wIiwgMCwKPj4+Pj4gKyAgICAgICAgICAgICAgICAg ICAgICAgUkszMjg4X0NMS1NFTF9DT04oMjgpLCA4LCA1LCBERkxBR1MpLAo+Pj4+PiArfTsKPj4+ Pj4gKwo+Pj4+PiAgIHN0YXRpYyBjb25zdCBjaGFyICpjb25zdCByazMyODhfY3JpdGljYWxfY2xv Y2tzW10gX19pbml0Y29uc3QgPSB7Cj4+Pj4+ICAgICAgICAgICJhY2xrX2NwdSIsCj4+Pj4+ICAg ICAgICAgICJhY2xrX3BlcmkiLAo+Pj4+PiBAQCAtOTM2LDYgKzk0NCwxNCBAQCBzdGF0aWMgdm9p ZCBfX2luaXQgcmszMjg4X2Nsa19pbml0KHN0cnVjdCBkZXZpY2Vfbm9kZSAqbnApCj4+Pj4+ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJLMzI4OF9HUkZfU09DX1NUQVRVUzEp Owo+Pj4+PiAgICAgICAgICByb2NrY2hpcF9jbGtfcmVnaXN0ZXJfYnJhbmNoZXMoY3R4LCByazMy ODhfY2xrX2JyYW5jaGVzLAo+Pj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IEFSUkFZX1NJWkUocmszMjg4X2Nsa19icmFuY2hlcykpOwo+Pj4+PiArCj4+Pj4+ICsgICAgICAg aWYgKG9mX2RldmljZV9pc19jb21wYXRpYmxlKG5wLCAicm9ja2NoaXAscmszMjg4dy1jcnUiKSkK Pj4+Pj4gKyAgICAgICAgICAgICAgIHJvY2tjaGlwX2Nsa19yZWdpc3Rlcl9icmFuY2hlcyhjdHgs IHJrMzI4OHdfaGNsa3Zpb19icmFuY2gsCj4+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgQVJSQVlfU0laRShyazMyODh3X2hjbGt2aW9fYnJhbmNoKSk7 Cj4+Pj4+ICsgICAgICAgZWxzZQo+Pj4+PiArICAgICAgICAgICAgICAgcm9ja2NoaXBfY2xrX3Jl Z2lzdGVyX2JyYW5jaGVzKGN0eCwgcmszMjg4X2hjbGt2aW9fYnJhbmNoLAo+Pj4+PiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFSUkFZX1NJWkUocmszMjg4 X2hjbGt2aW9fYnJhbmNoKSk7Cj4+Pj4+ICsKPj4+Pgo+Pj4+IFNvcnJ5IGZvciB0aGUgbGF0ZSBx dWVyeSBvbiB0aGlzLiBJIGFtIGEgYml0IHVuY2xlYXIgYWJvdXQgdGhpcwo+Pj4+IGNvbXBhdGli bGUgY2hhbmdlLCBkb2VzIExpbnV4IGV4cGVjdCB0byByZXBsYWNlIHJvY2tjaGlwLHJrMzI4OC1j cnUKPj4+PiB3aXRoIHJvY2tjaGlwLHJrMzI4OHctY3J1IGluIGJvb3Rsb2FkZXIgaWYgdGhlIGNo aXAgaXMgUkszMjg4dz8gb3IKPj4+PiBhcHBlbmQgdGhlIGV4aXN0aW5nIGNydSBjb21wYXRpYmxl IG5vZGUgd2l0aCByb2NrY2hpcCxyazMyODh3LWNydT8KPj4+PiBiZWNhdXNlIHJlcGxhY2UgbmV3 IGNydSBub2RlIG1ha2UgY2xvY2sgbmV2ZXIgcHJvYmUgc2luY2UgdGhlCj4+Pj4gQ0xLX09GX0RF Q0xBUkUgY2hlY2tpbmcgcm9ja2NoaXAscmszMjg4LWNydQo+Pj4KPj4+IEkgZ3Vlc3MgcmlnaHQg bm93IHdlJ2QgZXhwZWN0ICJyb2NrY2hpcCxyazMyODh3LWNydSIsICJyb2NrY2hpcCxyazMyODgt Y3J1IiwKPj4+Cj4+PiBUaGlua2luZyBhZ2FpbiBhYm91dCB0aGlzLCBJJ20gd29uZGVyaW5nIGlm IHdlIHNob3VsZCBzd2l0Y2ggdG8gaGF2aW5nCj4+PiBvbmx5IG9uZSBwZXIgdmFyaWFudCAuLi4g bGlrZSBvbiB0aGUgdHdvIHJrMzE4OCB2YXJpYW50cywKPj4+IHNvIGRlY2xhcmluZyBzZXBhcmF0 ZSByazMyODgtY3J1IGFuZCByazMyODh3LWNydSBvZi1jbGtzIHdpdGggc2hhcmVkCj4+PiBjb21t b24gY29kZS4KPj4KPj4gV2hhdCBpZiBjYW4gY2hlY2sgdGhlIHJvb3QgY29tcGF0aWJsZSBpbnN0 ZWFkIGNydSBjb21wYXRpYmxlIGZvciByZXZpc2lvbiBXIGxpa2UKPj4KPj4gLSAgaWYgKG9mX2Rl dmljZV9pc19jb21wYXRpYmxlKG5wLCAicm9ja2NoaXAscmszMjg4dy1jcnUiKSkKPj4gKyBpZiAo b2ZfZGV2aWNlX2lzX2NvbXBhdGlibGUobnAsICJyb2NrY2hpcCxyazMyODh3IikpCj4gCj4geW91 J2QgbmVlZCB0byBjaGVjayBhZ2FpbnN0IHRoZSByb290IGNvbXBhdGlibGUuCj4gCj4+Cj4+IFRo aXMgd2F5IHdlIGNhbiBoYXZlIGEgc2luZ2xlIGNvbXBhdGlibGUgdXBkYXRlIGF0IGJvb3Rsb2Fk ZXIgdGhhdAo+PiBtYWtlcyBMaW51eCBhZGp1c3QgcmV2aXNpb24gVyBjaGlwcyBjb2RlLgo+Pgo+ PiBEb2Vzbid0IGl0IG1ha2Ugc2Vuc2U/Cj4gCj4gVGhlIGNvbXBhdGlibGUgZGVzY3JpYmVzIHRo ZSBibG9jayBhbmQgdGhlIHJrMzI4OHcncyBjcnUgaXNuJ3QgdGhlIHNhbWUgYXMKPiB0aGUgcmsz Mjg4J3MgLi4uIGFzIHRoZSBjbG9jayByb3V0aW5nIGlzIGRpZmZlcmVudCwgc28gaXQgc2hvdWxk IGhhdmUgYQo+IGRpZmZlcmVudCBjb21wYXRpYmxlIHZhbHVlLCBJIHRoaW5rLgoKUmlnaHQsIGlm IHR3byBkZXZpY2VzIGJlaGF2ZSBkaWZmZXJlbnRseSBpbiBhIHdheSB0aGF0IG9uZSBiZWhhdmlv dXIgaXMgCm5vdCBhIHN0cmljdCBzdXBlcnNldCBvZiB0aGUgb3RoZXIsIGFuZCB0aGVyZSdzIG5v IHdheSB0byB0ZWxsIHdoaWNoIGlzIAp3aGljaCBieSBzaW1wbHkgbG9va2luZyBhdCB0aGUgZGV2 aWNlIGl0c2VsZiwgdGhlbiBieSBkZWZpbml0aW9uIHRoZXkgCmFyZSBub3QgY29tcGF0aWJsZS4K Cj4gQXMgdGhlIERUIHNpcyBzdXBwb3NlZCB0byBiZSBhIF9nZW5lcmljXyBkZXNjcmlwdGlvbiBv ZiB0aGUgaGFyZHdhcmUsCj4gd2UgZG9uJ3Qgd2FudCB0byBjZW1lbnQgaGFja3MgdG8gb3RoZXIg aW1wbGVtZW50YXRpb25zIHdvdWxkIG5lZWQgdG8gY29weS4KCkluZGVlZCBpdCdzIGEgcGFpbiBp biB0aGUgYnVtIGZvciBkcml2ZXIgZGV2ZWxvcGVycyB0byBiZSBnaXZlbiBhIG5ldyAKdGhpbmcg dGhhdCdzIDk5LjklIGNvbXBhdGlibGUgd2l0aCB0aGUgb2xkIHRoaW5nIGJ1dCB0aGUgb25lIHRp bnkgCmRpZmZlcmVuY2UgZnVuZGFtZW50YWxseSBicmVha3MgaXQsIGFuZCB0aGUgdGVtcHRhdGlv biB0byBsb29rIGZvciBhbiAKZWFzeSB3YXkgb3V0IGlzIHN0cm9uZywgYnV0IGMnZXN0IGxhIHZp ZSA7KQoKVGhlIHF1ZXN0aW9uIEkgYWx3YXlzIGJlYXIgaW4gbWluZCBmb3IgY2FzZXMgbGlrZSB0 aGVzZSBpcyB0aGlzOiBJZiBhIAprZXJuZWwgd2l0aG91dCB0aGUgZHJpdmVyIHBhdGNoIHJ1bnMg b24gdGhlIG5ldyBzeXN0ZW0gd2l0aCB0aGUgZXhwZWN0ZWQgCm5ldyBEVEIsIHdpbGwgaXQ6CgpB KSB3b3JrIGVudGlyZWx5IGNvcnJlY3RseQpCKSBpZ25vcmUgdGhlIGRldmljZSAod2l0aCBvciB3 aXRob3V0IGFuIGVycm9yKSwgYnV0IHRoZSByZXN0IG9mIHRoZSAKc3lzdGVtIHN0aWxsIHdvcmtz IGZpbmUKQykgaWdub3JlIHRoZSBkZXZpY2UgYW5kIGZhaWwgdG8gYm9vdCBhdCBhbGwgKHdpdGgg b3Igd2l0aG91dCBhbiBlcnJvcikgCmJlY2F1c2UgaXQncyBjcml0aWNhbCB0byBvcGVyYXRpb24g b2YgdGhlIHJlc3Qgb2YgdGhlIHN5c3RlbQpEKSBwcm9iZSB0aGUgZGV2aWNlIGFuZCBzdXBlcmZp Y2lhbGx5IGFwcGVhciB0byBiZSBPSyBidXQgYWN0dWFsbHkgYmUgCmJyb2tlbiBpbiB3ZWlyZCBh bmQgc3VidGxlIHdheXMKCkEgYW5kIEIgYXJlIHRoZSBpZGVhbCBhbnN3ZXJzLiBDIGlzIGEgbGl0 dGxlIHVuZm9ydHVuYXRlLCBidXQgYWNjZXB0YWJsZSAKaWYgbmVpdGhlciBBIG5vciBCIGlzIHBv c3NpYmxlLiBEIGlzIGEgc2lnbiB0aGF0IHlvdSdyZSBkb2luZyBzb21ldGhpbmcgCndyb25nLCB1 bmxlc3MgdGhlcmUgYXJlICp2ZXJ5KiBzcGVjaWZpYyBjaXJjdW1zdGFuY2VzIHRoYXQgbWlnaHQg anVzdGlmeSAKaXQgKGUuZy4gdGhlIFNvQyBpcyBleGNsdXNpdmVseSBkZXBsb3llZCBpbiBlbWJl ZGRlZCBkZXZpY2VzIHdpdGggYSAKY29udHJvbGxlZCB1cGRhdGUgbWVjaGFuaXNtIHN1Y2ggdGhh dCB1c2VycyBjb3VsZCBuZXZlciBpbnRyb2R1Y2UgdGhpcyAKbWlzbWF0Y2ggaW4gdGhlIGZpcnN0 IHBsYWNlKS4KClJvYmluLgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBs aXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlz dGluZm8vbGludXgtYXJtLWtlcm5lbAo=