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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0C7A0C7618D for ; Thu, 16 Mar 2023 15:52:11 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231311AbjCPPwJ (ORCPT ); Thu, 16 Mar 2023 11:52:09 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51418 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231536AbjCPPv6 (ORCPT ); Thu, 16 Mar 2023 11:51:58 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3DBEF1B5; Thu, 16 Mar 2023 08:51:56 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id D66C862094; Thu, 16 Mar 2023 15:51:55 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 664B5C433EF; Thu, 16 Mar 2023 15:51:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1678981915; bh=zcCZCxOddrY19dAifEoyyXbquULTfQJDNveTVJQHbvo=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=TnWrTRkhsriTufDefygk8Ww1IBalyeTruIf2nR/17/pSFOGkGUCvgXRqV2HFOWnQE 94h9ApXSBJLsIfTYBABn7sIUUjY3mCpQGTm0lfmR9WEH3/9K/4IOFo+dbLxgWMoEcJ ptdJcsVu7FPdLxmEYvCds/oEgOvWSFFWI9ETI9ycSeJF5xBn8DPIiZhYHN7+6XAZ5j Sfipf1G1RMge8Ph2xaX2faK/ssY1SN2kKHxhraflL5S8FXS5FtWxdRGg6Y7yHTu+wp RP/AQ3hwm2T9BWoaD74VtyuGNt2IpChEMYrvlt3KY6SDR9opQklUgYY3yqmHSeTxrP 2HUg8xr9rD89Q== Date: Thu, 16 Mar 2023 15:51:49 +0000 From: Lee Jones To: ChiaEn Wu Cc: corbet@lwn.net, pavel@ucw.cz, matthias.bgg@gmail.com, andriy.shevchenko@linux.intel.com, jacek.anaszewski@gmail.com, angelogioacchino.delregno@collabora.com, linux-doc@vger.kernel.org, peterwu.pub@gmail.com, cy_huang@richtek.com, linux-leds@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, szunichen@gmail.com Subject: Re: [PATCH v18 3/3] docs: leds: Add MT6370 RGB LED pattern document Message-ID: <20230316155149.GK9667@google.com> References: <38f1e863b0f099158a63fb6f95056a1cb30d80a0.1678430444.git.chiaen_wu@richtek.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <38f1e863b0f099158a63fb6f95056a1cb30d80a0.1678430444.git.chiaen_wu@richtek.com> Precedence: bulk List-ID: X-Mailing-List: linux-doc@vger.kernel.org On Fri, 10 Mar 2023, ChiaEn Wu wrote: > From: ChiYuan Huang > > Document the MT6370 RGB LED pattern trigger. > > This simply describe how the pattern works, each timing period, and the > pattern diagram for MT6370 RGB LED. > > Signed-off-by: ChiYuan Huang > Signed-off-by: ChiaEn Wu > --- > v18: > - Revise the text in document title and description. > --- > Documentation/leds/leds-mt6370-rgb.rst | 64 ++++++++++++++++++++++++++++++++++ These 3 patches now look good. You do not need to make any more changes to these. > 1 file changed, 64 insertions(+) > create mode 100644 Documentation/leds/leds-mt6370-rgb.rst > > diff --git a/Documentation/leds/leds-mt6370-rgb.rst b/Documentation/leds/leds-mt6370-rgb.rst > new file mode 100644 > index 00000000..abf739e > --- /dev/null > +++ b/Documentation/leds/leds-mt6370-rgb.rst > @@ -0,0 +1,64 @@ > +.. SPDX-License-Identifier: GPL-2.0 > + > +========================================= > +The device for Mediatek MT6370 RGB LED > +========================================= > + > +Description > +----------- > + > +The MT6370 integrates a four-channel RGB LED driver, designed to provide a > +variety of lighting effect for mobile device applications. The RGB LED devices > +includes a smart LED string controller and it can drive 3 channels of LEDs with > +a sink current up to 24mA and a CHG_VIN power good indicator LED with sink > +current up to 6mA. It provides three operation modes for RGB LEDs: > +PWM Dimming mode, breath pattern mode, and constant current mode. The device > +can increase or decrease the brightness of the RGB LED via an I2C interface. > + > +The breath pattern for a channel can be programmed using the "pattern" trigger, > +using the hw_pattern attribute. > + > +/sys/class/leds//hw_pattern However, this needs an entry in Documentation/ABI/testing. > +-------------------------------- > + > +Specify a hardware breath pattern for a MT6370 RGB LED. > + > +The breath pattern is a series of timing pairs, with the hold-time expressed in > +milliseconds. And the brightness is controlled by > +'/sys/class/leds//brightness'. The pattern doesn't include the brightness > +setting. Hardware pattern only controls the timing for each pattern stage > +depending on the current brightness setting. > + > +Pattern diagram:: > + > + "0 Tr1 0 Tr2 0 Tf1 0 Tf2 0 Ton 0 Toff" --> '0' for dummy brightness code > + > + ^ > + | ============ > + | / \ / > +Icurr | / \ / > + | / \ / > + | / \ / .....repeat > + | / \ / > + | --- --- --- > + |--- --- --- > + +----------------------------------============------------> Time > + < Tr1>< Ton >< Toff >< Tr1> > + > +Timing description:: > + > +Tr1: First rising time for duty 0 to 30%. > +Tr2: Second rising time for duty 31% to 100%. > +Ton: On time for duty 100%. > +Tf1: First falling time for duty 100% to 31%. > +Tf2: Second falling time for duty 30% to 0%. > +Toff: Off time for duty 0%. > + > +Tr1/Tr2/Tf1/Tf2/Ton: 125ms to 3125ms, 200ms per step. > +Toff: 250ms to 6250ms, 400ms per step. > + > +Pattern example:: > + > + "0 125 0 125 0 125 0 125 0 625 0 1050" > + > +This Will configure Tr1/Tr2/Tf1/Tf2 to 125m, Ton to 625ms, and Toff to 1050ms. > -- > 2.7.4 > -- Lee Jones [李琼斯] 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 8ECB1C6FD19 for ; Thu, 16 Mar 2023 15:52:50 +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:In-Reply-To:MIME-Version:References: 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=py2+u25xp/46FVz95Kf/cJqRC+KeFUsVshXQlI3xVlE=; b=fQ+cq0E0Kum40Y JS0Ml44hJdcTe2KA5oL2d4PYF3++0WtJsYT07ciRImZmUdyZNe4wG7q7hHHelLy6pblK3mGem3+qA zDrbOr5qUgrqApGdYI9Ak1eWw6LYuZKczNuCG5t8LB2vjDN2X8jilz9ev/7KcPqaGOeDeuMJ94t7E Io017Zwf/G85l03dxQ1IIHyYwIBqnBv37vOXdzuGr1Z6bWhiKHyoA6mewh0G7cE5riK37O8A5M1q4 yB/WanToUL74sJOh6xCful304UlA7hRGdes+mxkIDidmxys3BHV9fRXwJ+mhOdtemPHogPUk8hCu+ 0kjq9M1aKGWDvSr5USYg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1pcptY-00GuKE-0i; Thu, 16 Mar 2023 15:52:00 +0000 Received: from dfw.source.kernel.org ([139.178.84.217]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1pcptU-00GuJN-39; Thu, 16 Mar 2023 15:51:58 +0000 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id DD79762097; Thu, 16 Mar 2023 15:51:55 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 664B5C433EF; Thu, 16 Mar 2023 15:51:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1678981915; bh=zcCZCxOddrY19dAifEoyyXbquULTfQJDNveTVJQHbvo=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=TnWrTRkhsriTufDefygk8Ww1IBalyeTruIf2nR/17/pSFOGkGUCvgXRqV2HFOWnQE 94h9ApXSBJLsIfTYBABn7sIUUjY3mCpQGTm0lfmR9WEH3/9K/4IOFo+dbLxgWMoEcJ ptdJcsVu7FPdLxmEYvCds/oEgOvWSFFWI9ETI9ycSeJF5xBn8DPIiZhYHN7+6XAZ5j Sfipf1G1RMge8Ph2xaX2faK/ssY1SN2kKHxhraflL5S8FXS5FtWxdRGg6Y7yHTu+wp RP/AQ3hwm2T9BWoaD74VtyuGNt2IpChEMYrvlt3KY6SDR9opQklUgYY3yqmHSeTxrP 2HUg8xr9rD89Q== Date: Thu, 16 Mar 2023 15:51:49 +0000 From: Lee Jones To: ChiaEn Wu Cc: corbet@lwn.net, pavel@ucw.cz, matthias.bgg@gmail.com, andriy.shevchenko@linux.intel.com, jacek.anaszewski@gmail.com, angelogioacchino.delregno@collabora.com, linux-doc@vger.kernel.org, peterwu.pub@gmail.com, cy_huang@richtek.com, linux-leds@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, szunichen@gmail.com Subject: Re: [PATCH v18 3/3] docs: leds: Add MT6370 RGB LED pattern document Message-ID: <20230316155149.GK9667@google.com> References: <38f1e863b0f099158a63fb6f95056a1cb30d80a0.1678430444.git.chiaen_wu@richtek.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <38f1e863b0f099158a63fb6f95056a1cb30d80a0.1678430444.git.chiaen_wu@richtek.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230316_085157_097941_848EF63E X-CRM114-Status: GOOD ( 23.81 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , 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 T24gRnJpLCAxMCBNYXIgMjAyMywgQ2hpYUVuIFd1IHdyb3RlOgoKPiBGcm9tOiBDaGlZdWFuIEh1 YW5nIDxjeV9odWFuZ0ByaWNodGVrLmNvbT4KPgo+IERvY3VtZW50IHRoZSBNVDYzNzAgUkdCIExF RCBwYXR0ZXJuIHRyaWdnZXIuCj4KPiBUaGlzIHNpbXBseSBkZXNjcmliZSBob3cgdGhlIHBhdHRl cm4gd29ya3MsIGVhY2ggdGltaW5nIHBlcmlvZCwgYW5kIHRoZQo+IHBhdHRlcm4gZGlhZ3JhbSBm b3IgTVQ2MzcwIFJHQiBMRUQuCj4KPiBTaWduZWQtb2ZmLWJ5OiBDaGlZdWFuIEh1YW5nIDxjeV9o dWFuZ0ByaWNodGVrLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBDaGlhRW4gV3UgPGNoaWFlbl93dUBy aWNodGVrLmNvbT4KPiAtLS0KPiB2MTg6Cj4gLSBSZXZpc2UgdGhlIHRleHQgaW4gZG9jdW1lbnQg dGl0bGUgYW5kIGRlc2NyaXB0aW9uLgo+IC0tLQo+ICBEb2N1bWVudGF0aW9uL2xlZHMvbGVkcy1t dDYzNzAtcmdiLnJzdCB8IDY0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKClRo ZXNlIDMgcGF0Y2hlcyBub3cgbG9vayBnb29kLgoKWW91IGRvIG5vdCBuZWVkIHRvIG1ha2UgYW55 IG1vcmUgY2hhbmdlcyB0byB0aGVzZS4KCj4gIDEgZmlsZSBjaGFuZ2VkLCA2NCBpbnNlcnRpb25z KCspCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBEb2N1bWVudGF0aW9uL2xlZHMvbGVkcy1tdDYzNzAt cmdiLnJzdAo+Cj4gZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vbGVkcy9sZWRzLW10NjM3MC1y Z2IucnN0IGIvRG9jdW1lbnRhdGlvbi9sZWRzL2xlZHMtbXQ2MzcwLXJnYi5yc3QKPiBuZXcgZmls ZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAwLi5hYmY3MzllCj4gLS0tIC9kZXYvbnVsbAo+ ICsrKyBiL0RvY3VtZW50YXRpb24vbGVkcy9sZWRzLW10NjM3MC1yZ2IucnN0Cj4gQEAgLTAsMCAr MSw2NCBAQAo+ICsuLiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAo+ICsKPiArPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPiArVGhlIGRldmljZSBmb3Ig TWVkaWF0ZWsgTVQ2MzcwIFJHQiBMRUQKPiArPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KPiArCj4gK0Rlc2NyaXB0aW9uCj4gKy0tLS0tLS0tLS0tCj4gKwo+ICtUaGUg TVQ2MzcwIGludGVncmF0ZXMgYSBmb3VyLWNoYW5uZWwgUkdCIExFRCBkcml2ZXIsIGRlc2lnbmVk IHRvIHByb3ZpZGUgYQo+ICt2YXJpZXR5IG9mIGxpZ2h0aW5nIGVmZmVjdCBmb3IgbW9iaWxlIGRl dmljZSBhcHBsaWNhdGlvbnMuIFRoZSBSR0IgTEVEIGRldmljZXMKPiAraW5jbHVkZXMgYSBzbWFy dCBMRUQgc3RyaW5nIGNvbnRyb2xsZXIgYW5kIGl0IGNhbiBkcml2ZSAzIGNoYW5uZWxzIG9mIExF RHMgd2l0aAo+ICthIHNpbmsgY3VycmVudCB1cCB0byAyNG1BIGFuZCBhIENIR19WSU4gcG93ZXIg Z29vZCBpbmRpY2F0b3IgTEVEIHdpdGggc2luawo+ICtjdXJyZW50IHVwIHRvIDZtQS4gSXQgcHJv dmlkZXMgdGhyZWUgb3BlcmF0aW9uIG1vZGVzIGZvciBSR0IgTEVEczoKPiArUFdNIERpbW1pbmcg bW9kZSwgYnJlYXRoIHBhdHRlcm4gbW9kZSwgYW5kIGNvbnN0YW50IGN1cnJlbnQgbW9kZS4gVGhl IGRldmljZQo+ICtjYW4gaW5jcmVhc2Ugb3IgZGVjcmVhc2UgdGhlIGJyaWdodG5lc3Mgb2YgdGhl IFJHQiBMRUQgdmlhIGFuIEkyQyBpbnRlcmZhY2UuCj4gKwo+ICtUaGUgYnJlYXRoIHBhdHRlcm4g Zm9yIGEgY2hhbm5lbCBjYW4gYmUgcHJvZ3JhbW1lZCB1c2luZyB0aGUgInBhdHRlcm4iIHRyaWdn ZXIsCj4gK3VzaW5nIHRoZSBod19wYXR0ZXJuIGF0dHJpYnV0ZS4KPiArCj4gKy9zeXMvY2xhc3Mv bGVkcy88bGVkPi9od19wYXR0ZXJuCgpIb3dldmVyLCB0aGlzIG5lZWRzIGFuIGVudHJ5IGluIERv Y3VtZW50YXRpb24vQUJJL3Rlc3RpbmcuCgo+ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQo+ICsKPiArU3BlY2lmeSBhIGhhcmR3YXJlIGJyZWF0aCBwYXR0ZXJuIGZvciBhIE1UNjM3 MCBSR0IgTEVELgo+ICsKPiArVGhlIGJyZWF0aCBwYXR0ZXJuIGlzIGEgc2VyaWVzIG9mIHRpbWlu ZyBwYWlycywgd2l0aCB0aGUgaG9sZC10aW1lIGV4cHJlc3NlZCBpbgo+ICttaWxsaXNlY29uZHMu IEFuZCB0aGUgYnJpZ2h0bmVzcyBpcyBjb250cm9sbGVkIGJ5Cj4gKycvc3lzL2NsYXNzL2xlZHMv PGxlZD4vYnJpZ2h0bmVzcycuIFRoZSBwYXR0ZXJuIGRvZXNuJ3QgaW5jbHVkZSB0aGUgYnJpZ2h0 bmVzcwo+ICtzZXR0aW5nLiBIYXJkd2FyZSBwYXR0ZXJuIG9ubHkgY29udHJvbHMgdGhlIHRpbWlu ZyBmb3IgZWFjaCBwYXR0ZXJuIHN0YWdlCj4gK2RlcGVuZGluZyBvbiB0aGUgY3VycmVudCBicmln aHRuZXNzIHNldHRpbmcuCj4gKwo+ICtQYXR0ZXJuIGRpYWdyYW06Ogo+ICsKPiArICAgICAiMCBU cjEgMCBUcjIgMCBUZjEgMCBUZjIgMCBUb24gMCBUb2ZmIiAtLT4gJzAnIGZvciBkdW1teSBicmln aHRuZXNzIGNvZGUKPiArCj4gKyAgICAgIF4KPiArICAgICAgfCAgICAgICAgICAgPT09PT09PT09 PT09Cj4gKyAgICAgIHwgICAgICAgICAgLyAgICAgICAgICAgIFwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIC8KPiArSWN1cnIgfCAgICAgICAgIC8gICAgICAgICAgICAgIFwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAvCj4gKyAgICAgIHwgICAgICAgIC8gICAgICAgICAgICAg ICAgXCAgICAgICAgICAgICAgICAgICAgICAgICAgICAvCj4gKyAgICAgIHwgICAgICAgLyAgICAg ICAgICAgICAgICAgIFwgICAgICAgICAgICAgICAgICAgICAgICAgIC8gICAuLi4uLnJlcGVhdAo+ ICsgICAgICB8ICAgICAgLyAgICAgICAgICAgICAgICAgICAgXCAgICAgICAgICAgICAgICAgICAg ICAgIC8KPiArICAgICAgfCAgIC0tLSAgICAgICAgICAgICAgICAgICAgICAtLS0gICAgICAgICAg ICAgICAgICAtLS0KPiArICAgICAgfC0tLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLS0g ICAgICAgICAgICAtLS0KPiArICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS09PT09PT09PT09PT0tLS0tLS0tLS0tLS0+IFRpbWUKPiArICAgICAgIDwgVHIxPjxUcjI+PCAg IFRvbiAgICA+PFRmMT48VGYyID48ICBUb2ZmICAgID48IFRyMT48VHIyPgo+ICsKPiArVGltaW5n IGRlc2NyaXB0aW9uOjoKPiArCj4gK1RyMTogICAgRmlyc3QgcmlzaW5nIHRpbWUgZm9yIGR1dHkg MCB0byAzMCUuCj4gK1RyMjogICAgU2Vjb25kIHJpc2luZyB0aW1lIGZvciBkdXR5IDMxJSB0byAx MDAlLgo+ICtUb246ICAgIE9uIHRpbWUgZm9yIGR1dHkgMTAwJS4KPiArVGYxOiAgICBGaXJzdCBm YWxsaW5nIHRpbWUgZm9yIGR1dHkgMTAwJSB0byAzMSUuCj4gK1RmMjogICAgU2Vjb25kIGZhbGxp bmcgdGltZSBmb3IgZHV0eSAzMCUgdG8gMCUuCj4gK1RvZmY6ICAgT2ZmIHRpbWUgZm9yIGR1dHkg MCUuCj4gKwo+ICtUcjEvVHIyL1RmMS9UZjIvVG9uOiAxMjVtcyB0byAzMTI1bXMsIDIwMG1zIHBl ciBzdGVwLgo+ICtUb2ZmOiAyNTBtcyB0byA2MjUwbXMsIDQwMG1zIHBlciBzdGVwLgo+ICsKPiAr UGF0dGVybiBleGFtcGxlOjoKPiArCj4gKyAgICAgICAiMCAxMjUgMCAxMjUgMCAxMjUgMCAxMjUg MCA2MjUgMCAxMDUwIgo+ICsKPiArVGhpcyBXaWxsIGNvbmZpZ3VyZSBUcjEvVHIyL1RmMS9UZjIg dG8gMTI1bSwgVG9uIHRvIDYyNW1zLCBhbmQgVG9mZiB0byAxMDUwbXMuCj4gLS0KPiAyLjcuNAo+ CgotLQpMZWUgSm9uZXMgW+adjueQvOaWr10KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFy bS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK