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=-19.0 required=3.0 tests=BAYES_00,INCLUDES_CR_TRAILER, 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 2D222C71156 for ; Thu, 3 Dec 2020 09:51:44 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id D378E20C56 for ; Thu, 3 Dec 2020 09:51:43 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730228AbgLCJv1 convert rfc822-to-8bit (ORCPT ); Thu, 3 Dec 2020 04:51:27 -0500 Received: from mail-ej1-f65.google.com ([209.85.218.65]:39602 "EHLO mail-ej1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730201AbgLCJv0 (ORCPT ); Thu, 3 Dec 2020 04:51:26 -0500 Received: by mail-ej1-f65.google.com with SMTP id n26so2514465eju.6; Thu, 03 Dec 2020 01:51:09 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=zIi/0Gk+POPxQXzfzK/flFDHb00Mu6VDDpn3MrPay+U=; b=aWNzq4+85ljJnLKH565CqtDhKRnEpSNx1tA+6Mg1X/tps9i4Eorp6bMy6YTpqRKXwV DvR5YgBqaRSUes24Hq3NxzF/0baDvFxtmFEPbLk13ZXxQvzTlgurzFDNgPKTQCJdA8Om 6U0PKM8LGbRkBC4z3cGwEzbgw9xuOvWETQpD6cFOXJiYGITdmTbEWkKRS9lzyANK6HUS NkY9Wlhg9f9YlwV4y3++CoU6p8ZdrV1+YGqseLlvL7Xii4W7HSU/mASOhX4ceTUE9JiY GB2nmMlyzrkGbiGwsWIBnpwkkANvo7RQdjzPd3GgyUNiQBB8GSY2naOsH51Bftyim1iI A7SA== X-Gm-Message-State: AOAM532KRSNw3780xZQcYJhX220xBeBQbzU8fWsmeeofjupxl4pqmAKb 2dposUiwQMg/nHE8CAxDCqU= X-Google-Smtp-Source: ABdhPJxzs5zlrR2KVLdPKT32M/bDkg6bGqfhyrosRE+ocveA3Ul8/IKXaWh6g33OKKEI5YiRRypB8A== X-Received: by 2002:a17:907:2131:: with SMTP id qo17mr1742622ejb.546.1606989043852; Thu, 03 Dec 2020 01:50:43 -0800 (PST) Received: from kozik-lap (adsl-84-226-167-205.adslplus.ch. [84.226.167.205]) by smtp.googlemail.com with ESMTPSA id b14sm782174edx.0.2020.12.03.01.50.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Dec 2020 01:50:42 -0800 (PST) Date: Thu, 3 Dec 2020 11:50:41 +0200 From: Krzysztof Kozlowski To: Timon =?utf-8?B?QsOkdHo=?= Cc: Sebastian Reichel , Chanwoo Choi , MyungJoo Ham , Kukjin Kim , Rob Herring , "linux-pm@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-samsung-soc@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , "devicetree@vger.kernel.org" , "~postmarketos/upstreaming@lists.sr.ht" <~postmarketos/upstreaming@lists.sr.ht> Subject: Re: [PATCH 3/3] ARM: dts: exynos: Fix charging regulator voltage and current for i9100 Message-ID: <20201203095041.GA14508@kozik-lap> References: <20201202203516.43053-1-timon.baetz@protonmail.com> <20201202203516.43053-3-timon.baetz@protonmail.com> <20201202220430.GB135888@kozik-lap> <20201203082301.GA3999@kozik-lap> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8BIT In-Reply-To: <20201203082301.GA3999@kozik-lap> Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org On Thu, Dec 03, 2020 at 10:23:01AM +0200, Krzysztof Kozlowski wrote: > On Thu, Dec 03, 2020 at 05:46:03AM +0000, Timon Bätz wrote: > > On Wednesday, December 2, 2020 11:04 PM, Krzysztof Kozlowski wrote: > > > > > On Wed, Dec 02, 2020 at 09:07:28PM +0000, Timon Baetz wrote: > > > > > > > Set CHARGER current and CHARGER_CV voltage according to Galaxy S2 kernel > > > > fork. > > > > > > > > Signed-off-by: Timon Baetz timon.baetz@protonmail.com > > > > > > > > ------------------------------------------------------ > > > > > > > > arch/arm/boot/dts/exynos4210-i9100.dts | 8 ++++---- > > > > 1 file changed, 4 insertions(+), 4 deletions(-) > > > > diff --git a/arch/arm/boot/dts/exynos4210-i9100.dts b/arch/arm/boot/dts/exynos4210-i9100.dts > > > > index 9f8d927e0d21..2700d53ea01b 100644 > > > > --- a/arch/arm/boot/dts/exynos4210-i9100.dts > > > > +++ b/arch/arm/boot/dts/exynos4210-i9100.dts > > > > @@ -558,14 +558,14 @@ safe2_sreg: ESAFEOUT2 { > > > > > > > > charger_reg: CHARGER { > > > > regulator-name = "CHARGER"; > > > > > > > > > > > > - regulator-min-microamp = <60000>; > > > > > > > > > > > > - regulator-max-microamp = <2580000>; > > > > > > > > > > > > > > > > - regulator-min-microamp = <200000>; > > > > > > > > > > > > - regulator-max-microamp = <950000>; > > > > }; > > > > > > > > chargercv_reg: CHARGER_CV { > > > > regulator-name = "CHARGER_CV"; > > > > > > > > > > > > > > > > - regulator-min-microvolt = <3800000>; > > > > > > > > > > > > - regulator-max-microvolt = <4100000>; > > > > > > > > > > > > > > > > - regulator-min-microvolt = <4200000>; > > > > > > > > > > > > - regulator-max-microvolt = <4200000>; > > > > > > > > > > > > > > I am looking at my sources of Android 3.0 for GT-I9100 but I cannot find > > > charger voltages for it. Where did you find it? > > > > > > Best regards, > > > Krzysztof > > > > Thanks all the feedback Krzysztof, > > > > Voltage is set in the charger probe function of the downstream kernel fork: https://github.com/LineageOS/android_kernel_samsung_smdk4412/blob/lineage-17.0/drivers/power/max8997_charger_u1.c#L390-L391 > > You need to fix your email client to wrap lines. > > The fork cannot be used as a reference because of poor quality of > explanations for origins of the code. > > The commit which added 4.2 V is described as "samsung update 1" which > basically means nothing. If at least it was "drop sources of > GT-I9105"... but in this form it is useless. > > For the things we are not sure how they should be implemented, we > sometimes accept the reason "vendor sources do like this". However Lineage > or any other fork are not vendor sources. > > Therefore you need to provide a valid explanation for this voltage > change. I checked vendor sources for Samsung Galaxy S2 Epic 4G Touch (SPH-D710) and indeed it uses the max8997 charger U1 which sets v4.2 volts. You can use it to fix up the commit msg. Unfortunately it seems Samsung started to remove most of older kernel source code from their OS compliance page. S1, S2 and S3 are mostly gone. I was able to find just few remaining sources and I am now updating my vendor-dump with them. I'll upload them later to https://github.com/krzk/linux-vendor-backup . Best regards, Krzysztof 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=-20.5 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,INCLUDES_CR_TRAILER,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 6BA7AC63777 for ; Thu, 3 Dec 2020 09:51:56 +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 06135204EC for ; Thu, 3 Dec 2020 09:51:55 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 06135204EC Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org 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-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References:Message-ID: Subject: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=S5ctl+ahK/UVK2q370m9ZyiVXFDdeaIVWJKwVa+Eiyg=; b=jcJBRx0h07yBbqQuDrxE6+nMc zYtA9kx7grs7qdvwsC5GzhtsBy6ezqhWMwWk2buXFa4ErxsE1qDLqOEjIMRLWy8RGgJgoVPr+/IU5 bXzWAPlKK6ixs9Zto179M07wr16kYkgsihs3drEK8Bb3QnI8x+Op1oUGkQ5dDCiL4KngmlGzlvaqz u2BdvG2S18p2zETgkihcDKlgRY9YESLR4QRy1va9RgFppSrW6QHMxXOy5JXupGLWZqY2p5shgNbVx EX/JMIKtkU7ciT8v55PdDgyLhbi66lahdUR5vCeYOpgyZ2Nl3HIO4dR4KYSVGII5HvMZDteMRxePh qfqcka60g==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kklGE-0007V5-2U; Thu, 03 Dec 2020 09:50:50 +0000 Received: from mail-ej1-f65.google.com ([209.85.218.65]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kklG9-0007Ud-AW for linux-arm-kernel@lists.infradead.org; Thu, 03 Dec 2020 09:50:46 +0000 Received: by mail-ej1-f65.google.com with SMTP id x16so2504589ejj.7 for ; Thu, 03 Dec 2020 01:50:44 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=zIi/0Gk+POPxQXzfzK/flFDHb00Mu6VDDpn3MrPay+U=; b=DmWHmhN+unag8z4sog0z2q+vWYRI0KEPQqH+/jFxgL3Ag5FszRtlHYr+iyi1U+Ro9Z 4oL2TOldJfn5YKhg/jBbaW5UDlNUfTwK5t0BJBG96tudTMtcavEECARTTHmKIcAQNDma shgScCPq2ea6DkbBl28/JMujSVDqZqH72zdeSxaBGshWZGTb2uMwlnkEGvjBDqd0XwMP bWRir5rV7Rg1vWXNdZZ2OnOlN2ccdlj6X46VDqKyZTlIFUd/sKYvo6B+a6wdHZ8J6fRY +oORAjEMEQ8641ojul+AOVT2F1X70jfu0DugFGU57en+H7dThmEwMDg8gR/ZsnyBePac 7/Eg== X-Gm-Message-State: AOAM533VHayPMqkTAEu8UIlpHT7mV+Z6hwOGCJYUpyugJOaDncu/Cehs DHdk9YcAjhzCFmnJiIoctyg= X-Google-Smtp-Source: ABdhPJxzs5zlrR2KVLdPKT32M/bDkg6bGqfhyrosRE+ocveA3Ul8/IKXaWh6g33OKKEI5YiRRypB8A== X-Received: by 2002:a17:907:2131:: with SMTP id qo17mr1742622ejb.546.1606989043852; Thu, 03 Dec 2020 01:50:43 -0800 (PST) Received: from kozik-lap (adsl-84-226-167-205.adslplus.ch. [84.226.167.205]) by smtp.googlemail.com with ESMTPSA id b14sm782174edx.0.2020.12.03.01.50.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Dec 2020 01:50:42 -0800 (PST) Date: Thu, 3 Dec 2020 11:50:41 +0200 From: Krzysztof Kozlowski To: Timon =?utf-8?B?QsOkdHo=?= Subject: Re: [PATCH 3/3] ARM: dts: exynos: Fix charging regulator voltage and current for i9100 Message-ID: <20201203095041.GA14508@kozik-lap> References: <20201202203516.43053-1-timon.baetz@protonmail.com> <20201202203516.43053-3-timon.baetz@protonmail.com> <20201202220430.GB135888@kozik-lap> <20201203082301.GA3999@kozik-lap> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20201203082301.GA3999@kozik-lap> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201203_045045_376426_2826B4A9 X-CRM114-Status: GOOD ( 28.69 ) 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: "devicetree@vger.kernel.org" , "linux-samsung-soc@vger.kernel.org" , "linux-pm@vger.kernel.org" , Sebastian Reichel , Rob Herring , "linux-kernel@vger.kernel.org" , Chanwoo Choi , Kukjin Kim , MyungJoo Ham , "linux-arm-kernel@lists.infradead.org" , "~postmarketos/upstreaming@lists.sr.ht" <~postmarketos/upstreaming@lists.sr.ht> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gVGh1LCBEZWMgMDMsIDIwMjAgYXQgMTA6MjM6MDFBTSArMDIwMCwgS3J6eXN6dG9mIEtvemxv d3NraSB3cm90ZToKPiBPbiBUaHUsIERlYyAwMywgMjAyMCBhdCAwNTo0NjowM0FNICswMDAwLCBU aW1vbiBCw6R0eiB3cm90ZToKPiA+IE9uIFdlZG5lc2RheSwgRGVjZW1iZXIgMiwgMjAyMCAxMTow NCBQTSwgS3J6eXN6dG9mIEtvemxvd3NraSA8a3J6a0BrZXJuZWwub3JnPiB3cm90ZToKPiA+IAo+ ID4gPiBPbiBXZWQsIERlYyAwMiwgMjAyMCBhdCAwOTowNzoyOFBNICswMDAwLCBUaW1vbiBCYWV0 eiB3cm90ZToKPiA+ID4KPiA+ID4gPiBTZXQgQ0hBUkdFUiBjdXJyZW50IGFuZCBDSEFSR0VSX0NW IHZvbHRhZ2UgYWNjb3JkaW5nIHRvIEdhbGF4eSBTMiBrZXJuZWwKPiA+ID4gPiBmb3JrLgo+ID4g PiA+Cj4gPiA+ID4gU2lnbmVkLW9mZi1ieTogVGltb24gQmFldHogdGltb24uYmFldHpAcHJvdG9u bWFpbC5jb20KPiA+ID4gPgo+ID4gPiA+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ID4gPiA+Cj4gPiA+ID4gYXJjaC9hcm0vYm9vdC9kdHMv ZXh5bm9zNDIxMC1pOTEwMC5kdHMgfCA4ICsrKystLS0tCj4gPiA+ID4gMSBmaWxlIGNoYW5nZWQs IDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKPiA+ID4gPiBkaWZmIC0tZ2l0IGEvYXJj aC9hcm0vYm9vdC9kdHMvZXh5bm9zNDIxMC1pOTEwMC5kdHMgYi9hcmNoL2FybS9ib290L2R0cy9l eHlub3M0MjEwLWk5MTAwLmR0cwo+ID4gPiA+IGluZGV4IDlmOGQ5MjdlMGQyMS4uMjcwMGQ1M2Vh MDFiIDEwMDY0NAo+ID4gPiA+IC0tLSBhL2FyY2gvYXJtL2Jvb3QvZHRzL2V4eW5vczQyMTAtaTkx MDAuZHRzCj4gPiA+ID4gKysrIGIvYXJjaC9hcm0vYm9vdC9kdHMvZXh5bm9zNDIxMC1pOTEwMC5k dHMKPiA+ID4gPiBAQCAtNTU4LDE0ICs1NTgsMTQgQEAgc2FmZTJfc3JlZzogRVNBRkVPVVQyIHsK PiA+ID4gPgo+ID4gPiA+ICAgICAgIAljaGFyZ2VyX3JlZzogQ0hBUkdFUiB7Cj4gPiA+ID4gICAg ICAgCQlyZWd1bGF0b3ItbmFtZSA9ICJDSEFSR0VSIjsKPiA+ID4gPgo+ID4gPiA+Cj4gPiA+ID4g LSAgICAgICAJCXJlZ3VsYXRvci1taW4tbWljcm9hbXAgPSA8NjAwMDA+Owo+ID4gPiA+Cj4gPiA+ ID4KPiA+ID4gPiAtICAgICAgIAkJcmVndWxhdG9yLW1heC1taWNyb2FtcCA9IDwyNTgwMDAwPjsK PiA+ID4gPgo+ID4gPiA+Cj4gPiA+ID4KPiA+ID4gPiAtICAgICAgIAkJcmVndWxhdG9yLW1pbi1t aWNyb2FtcCA9IDwyMDAwMDA+Owo+ID4gPiA+Cj4gPiA+ID4KPiA+ID4gPiAtICAgICAgIAkJcmVn dWxhdG9yLW1heC1taWNyb2FtcCA9IDw5NTAwMDA+Owo+ID4gPiA+ICAgICAgICAgCX07Cj4gPiA+ ID4KPiA+ID4gPiAgICAgICAgIAljaGFyZ2VyY3ZfcmVnOiBDSEFSR0VSX0NWIHsKPiA+ID4gPiAg ICAgICAgIAkJcmVndWxhdG9yLW5hbWUgPSAiQ0hBUkdFUl9DViI7Cj4gPiA+ID4KPiA+ID4gPgo+ ID4gPiA+Cj4gPiA+ID4gLSAgICAgICAJCXJlZ3VsYXRvci1taW4tbWljcm92b2x0ID0gPDM4MDAw MDA+Owo+ID4gPiA+Cj4gPiA+ID4KPiA+ID4gPiAtICAgICAgIAkJcmVndWxhdG9yLW1heC1taWNy b3ZvbHQgPSA8NDEwMDAwMD47Cj4gPiA+ID4KPiA+ID4gPgo+ID4gPiA+Cj4gPiA+ID4gLSAgICAg ICAJCXJlZ3VsYXRvci1taW4tbWljcm92b2x0ID0gPDQyMDAwMDA+Owo+ID4gPiA+Cj4gPiA+ID4K PiA+ID4gPiAtICAgICAgIAkJcmVndWxhdG9yLW1heC1taWNyb3ZvbHQgPSA8NDIwMDAwMD47Cj4g PiA+ID4KPiA+ID4gPgo+ID4gPgo+ID4gPiBJIGFtIGxvb2tpbmcgYXQgbXkgc291cmNlcyBvZiBB bmRyb2lkIDMuMCBmb3IgR1QtSTkxMDAgYnV0IEkgY2Fubm90IGZpbmQKPiA+ID4gY2hhcmdlciB2 b2x0YWdlcyBmb3IgaXQuIFdoZXJlIGRpZCB5b3UgZmluZCBpdD8KPiA+ID4KPiA+ID4gQmVzdCBy ZWdhcmRzLAo+ID4gPiBLcnp5c3p0b2YKPiA+IAo+ID4gVGhhbmtzIGFsbCB0aGUgZmVlZGJhY2sg S3J6eXN6dG9mLAo+ID4gCj4gPiBWb2x0YWdlIGlzIHNldCBpbiB0aGUgY2hhcmdlciBwcm9iZSBm dW5jdGlvbiBvZiB0aGUgZG93bnN0cmVhbSBrZXJuZWwgZm9yazogaHR0cHM6Ly9naXRodWIuY29t L0xpbmVhZ2VPUy9hbmRyb2lkX2tlcm5lbF9zYW1zdW5nX3NtZGs0NDEyL2Jsb2IvbGluZWFnZS0x Ny4wL2RyaXZlcnMvcG93ZXIvbWF4ODk5N19jaGFyZ2VyX3UxLmMjTDM5MC1MMzkxCj4gCj4gWW91 IG5lZWQgdG8gZml4IHlvdXIgZW1haWwgY2xpZW50IHRvIHdyYXAgbGluZXMuCj4gCj4gVGhlIGZv cmsgY2Fubm90IGJlIHVzZWQgYXMgYSByZWZlcmVuY2UgYmVjYXVzZSBvZiBwb29yIHF1YWxpdHkg b2YKPiBleHBsYW5hdGlvbnMgZm9yIG9yaWdpbnMgb2YgdGhlIGNvZGUuCj4gCj4gVGhlIGNvbW1p dCB3aGljaCBhZGRlZCA0LjIgViBpcyBkZXNjcmliZWQgYXMgInNhbXN1bmcgdXBkYXRlIDEiIHdo aWNoCj4gYmFzaWNhbGx5IG1lYW5zIG5vdGhpbmcuIElmIGF0IGxlYXN0IGl0IHdhcyAiZHJvcCBz b3VyY2VzIG9mCj4gR1QtSTkxMDUiLi4uIGJ1dCBpbiB0aGlzIGZvcm0gaXQgaXMgdXNlbGVzcy4K PiAKPiBGb3IgdGhlIHRoaW5ncyB3ZSBhcmUgbm90IHN1cmUgaG93IHRoZXkgc2hvdWxkIGJlIGlt cGxlbWVudGVkLCB3ZQo+IHNvbWV0aW1lcyBhY2NlcHQgdGhlIHJlYXNvbiAidmVuZG9yIHNvdXJj ZXMgZG8gbGlrZSB0aGlzIi4gSG93ZXZlciBMaW5lYWdlCj4gb3IgYW55IG90aGVyIGZvcmsgYXJl IG5vdCB2ZW5kb3Igc291cmNlcy4KPiAKPiBUaGVyZWZvcmUgeW91IG5lZWQgdG8gcHJvdmlkZSBh IHZhbGlkIGV4cGxhbmF0aW9uIGZvciB0aGlzIHZvbHRhZ2UKPiBjaGFuZ2UuCgpJIGNoZWNrZWQg dmVuZG9yIHNvdXJjZXMgZm9yIFNhbXN1bmcgR2FsYXh5IFMyIEVwaWMgNEcgVG91Y2ggKFNQSC1E NzEwKQphbmQgaW5kZWVkIGl0IHVzZXMgdGhlIG1heDg5OTcgY2hhcmdlciBVMSB3aGljaCBzZXRz IHY0LjIgdm9sdHMuCgpZb3UgY2FuIHVzZSBpdCB0byBmaXggdXAgdGhlIGNvbW1pdCBtc2cuCgpV bmZvcnR1bmF0ZWx5IGl0IHNlZW1zIFNhbXN1bmcgc3RhcnRlZCB0byByZW1vdmUgbW9zdCBvZiBv bGRlcgprZXJuZWwgc291cmNlIGNvZGUgZnJvbSB0aGVpciBPUyBjb21wbGlhbmNlIHBhZ2UuIFMx LCBTMiBhbmQgUzMgYXJlCm1vc3RseSBnb25lLiBJIHdhcyBhYmxlIHRvIGZpbmQganVzdCBmZXcg cmVtYWluaW5nIHNvdXJjZXMgYW5kIEkgYW0gbm93CnVwZGF0aW5nIG15IHZlbmRvci1kdW1wIHdp dGggdGhlbS4gSSdsbCB1cGxvYWQgdGhlbSBsYXRlciB0bwpodHRwczovL2dpdGh1Yi5jb20va3J6 ay9saW51eC12ZW5kb3ItYmFja3VwIC4KCkJlc3QgcmVnYXJkcywKS3J6eXN6dG9mCgoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5l bCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6 Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=