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 4ABEBC433EF for ; Mon, 23 May 2022 14:23:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237016AbiEWOXv (ORCPT ); Mon, 23 May 2022 10:23:51 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60250 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237005AbiEWOXs (ORCPT ); Mon, 23 May 2022 10:23:48 -0400 Received: from mail-lj1-x236.google.com (mail-lj1-x236.google.com [IPv6:2a00:1450:4864:20::236]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 022FD2DF3 for ; Mon, 23 May 2022 07:23:46 -0700 (PDT) Received: by mail-lj1-x236.google.com with SMTP id g16so17417864lja.3 for ; Mon, 23 May 2022 07:23:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=OyHM0isO5wTAezh/ODRy2XOY7z3TjUO73U16dlah2Lg=; b=D+KH/MbaKM1Om37PloyJ8FEP0G0r8HIIgD1a9k9OJsHUHaBc52/jowGD5pw4CYYN8h oIWc704WFK7X3+KVKTS1IAGeWcURqmYZKUcDkHuV4mP1DWL6bb04ECgHFPfIeCBw8CJX iZMDqlRMytJ7AkpEn0hcqSyvj+5fLmxWDEXPRkGBkVsPkGrcDwMJieeJxl/47Xktpi3E rQPyyVvtPzNpE6w0ZIIahgxyc+DrCYm8LKL9UfxvD3hwOKByGv0Tq35FHfKxnxM1ReXJ ieCsXLForVSIkGc4vUYq7iQp7IctkU6bNYVy8TKA4H/TkDRENjsRNyMrAb6ErPakBDAu Uexw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=OyHM0isO5wTAezh/ODRy2XOY7z3TjUO73U16dlah2Lg=; b=wbzQVKNDjiUvoHYEAgtIA8li7uTHIZTWm+rF4Sni7RY0x4TXdtFhIq9q59+dyNL8p+ qg+nNKYUTzDq3Vf5msLI+2RQiuAZFDBSs8FcmnpCJXRT9vd+fZW3F8/Id1+zjxxa9fbX h8FW46JCZb878RW8GizmpZek6CMrjVTHiC0ASjM/P/JcLS0DBpW4bPIWlY2hS43MLcLw Dj4SyWiRqHu2aO2W2faP0M75i//QvfcEMzxFovlul5086i0gb1kQ0kojhkPuo3EsNY4h lcNGS4zbfBCz04ogpN8SBdeiMYMiBJm4RPwnsI8kQjYX2Vb4GxRHFbdB5rCnwSzlr8V2 8/xg== X-Gm-Message-State: AOAM532iu6t2v0KDRnxhFov8m+GC6ZwjUMsaG4A/EpIHyutWDaqtQ+to 4B/v4p8fsuFtjTO10yQHs1hsQA== X-Google-Smtp-Source: ABdhPJzfE9KcPqVU5FLAVn8vclloK7K7k3tlIOfGkMLVado59PwidM8O718jmHMHm8H4Z2C7TU4JXQ== X-Received: by 2002:a05:651c:1792:b0:235:1df3:7b8e with SMTP id bn18-20020a05651c179200b002351df37b8emr13338743ljb.464.1653315824311; Mon, 23 May 2022 07:23:44 -0700 (PDT) Received: from [192.168.0.17] (78-11-189-27.static.ip.netia.com.pl. [78.11.189.27]) by smtp.gmail.com with ESMTPSA id s9-20020ac25fa9000000b0047255d211ffsm1996118lfe.302.2022.05.23.07.23.42 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 23 May 2022 07:23:43 -0700 (PDT) Message-ID: <96ab5563-ea03-806b-f38e-39ef1ed04093@linaro.org> Date: Mon, 23 May 2022 16:23:41 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.1 Subject: Re: [PATCH v1 11/19] dt-bindings: reset: npcm: Add support for NPCM8XX Content-Language: en-US To: Tomer Maimon Cc: Avi Fishman , Tali Perry , Joel Stanley , Patrick Venture , Nancy Yuen , Benjamin Fair , Rob Herring , krzysztof.kozlowski+dt@linaro.org, mturquette@baylibre.com, sboyd@kernel.org, Philipp Zabel , Greg KH , Daniel Lezcano , Thomas Gleixner , Wim Van Sebroeck , Guenter Roeck , catalin.marinas@arm.com, will@kernel.org, Arnd Bergmann , Olof Johansson , jirislaby@kernel.org, shawnguo@kernel.org, bjorn.andersson@linaro.org, geert+renesas@glider.be, marcel.ziswiler@toradex.com, Vinod Koul , biju.das.jz@bp.renesas.com, nobuhiro1.iwamatsu@toshiba.co.jp, robert.hancock@calian.com, =?UTF-8?Q?Jonathan_Neusch=c3=a4fer?= , lkundrak@v3.sk, soc@kernel.org, devicetree , Linux Kernel Mailing List , linux-clk@vger.kernel.org, linux-serial@vger.kernel.org, linux-watchdog@vger.kernel.org, Linux ARM References: <20220522155046.260146-1-tmaimon77@gmail.com> <20220522155046.260146-12-tmaimon77@gmail.com> <86cd6a37-70ad-3a90-bc8a-dcd8b41f1175@linaro.org> From: Krzysztof Kozlowski In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 23/05/2022 16:03, Tomer Maimon wrote: > Hi Krzysztof, > > Thanks for your comments. Please stop replying in HTML. It's not the format of emails used in the Linux. It makes very difficult to read your replies. > > > On Mon, 23 May 2022 at 12:01, Krzysztof Kozlowski > > > wrote: > > On 22/05/2022 17:50, Tomer Maimon wrote: > > Add binding document and device tree binding > > constants for Nuvoton BMC NPCM8XX reset controller. > > > > Signed-off-by: Tomer Maimon > > > --- > >  .../bindings/reset/nuvoton,npcm-reset.txt     |  17 ++- > >  .../dt-bindings/reset/nuvoton,npcm8xx-reset.h | 124 > ++++++++++++++++++ > >  2 files changed, 139 insertions(+), 2 deletions(-) > >  create mode 100644 include/dt-bindings/reset/nuvoton,npcm8xx-reset.h > > > > diff --git > a/Documentation/devicetree/bindings/reset/nuvoton,npcm-reset.txt > b/Documentation/devicetree/bindings/reset/nuvoton,npcm-reset.txt > > index cb1613092ee7..b7eb8615b68b 100644 > > --- a/Documentation/devicetree/bindings/reset/nuvoton,npcm-reset.txt > > +++ b/Documentation/devicetree/bindings/reset/nuvoton,npcm-reset.txt > > @@ -1,14 +1,15 @@ > >  Nuvoton NPCM Reset controller > >  > >  Required properties: > > -- compatible : "nuvoton,npcm750-reset" for NPCM7XX BMC > > +- compatible : "nuvoton,npcm750-reset" for Poleg NPCM7XX BMC. > > +               "nuvoton,npcm845-reset" for Arbel NPCM8XX BMC. > >  - reg : specifies physical base address and size of the register. > >  - #reset-cells: must be set to 2 > >  - syscon: a phandle to access GCR registers. > >  > >  Optional property: > >  - nuvoton,sw-reset-number - Contains the software reset number to > restart the SoC. > > -  NPCM7xx contain four software reset that represent numbers 1 to 4. > > +  NPCM7xx and NPCM8xx contain four software reset that represent > numbers 1 to 4. > >  > >    If 'nuvoton,sw-reset-number' is not specified software reset is > disabled. > >  > > @@ -32,3 +33,15 @@ example: > >          }; > >  > >  The index could be found in > . > > + > > +Specifying reset lines connected to IP NPCM8XX modules > > +====================================================== > > we prefer to use the same explanation as the NPCM7XX reset explanation > in the reset binding document. ?? > > No need to document consumers. Just mention the header. What explanation? Consumers are trivial. Once you convert it to DT schema there should be no such code at all. > > > +example: > > + > > +        spi0: spi@..... { > > +                ... > > +                resets = <&rstc NPCM8XX_RESET_IPSRST2 > NPCM8XX_RESET_PSPI1>; > > +                ... > > +        }; > > + > > +The index could be found in > . > > diff --git a/include/dt-bindings/reset/nuvoton,npcm8xx-reset.h > b/include/dt-bindings/reset/nuvoton,npcm8xx-reset.h > > new file mode 100644 > > index 000000000000..4b832a0fd1dd > > --- /dev/null > > +++ b/include/dt-bindings/reset/nuvoton,npcm8xx-reset.h > > @@ -0,0 +1,124 @@ > > +/* SPDX-License-Identifier: GPL-2.0 */ > > Dual license. > > O.K.  > > > > +// Copyright (c) 2022 Nuvoton Technology corporation. > > + > > +#ifndef _DT_BINDINGS_NPCM8XX_RESET_H > > +#define _DT_BINDINGS_NPCM8XX_RESET_H > > + > > +#define NPCM8XX_RESET_IPSRST1                0x20 > > +#define NPCM8XX_RESET_IPSRST2                0x24 > > +#define NPCM8XX_RESET_IPSRST3                0x34 > > +#define NPCM8XX_RESET_IPSRST4                0x74 > > What are these? All IDs should be incremental, decimal and start from 0. > > Register offset, we use the same method in NPCM7xx. please refer > https://elixir.bootlin.com/linux/v5.18/source/include/dt-bindings/reset/nuvoton,npcm7xx-reset.h > > > and the driver asserts the reset according to the reset include definitions  Register offsets, a device programming model, are not part of bindings. Bindings should be independent of programming model, so only IDs are allowed. Why did you add register offsets to bindings at the first place? > > > > + > > +/* Reset lines on IP1 reset module (NPCM8XX_RESET_IPSRST1) */ > > +#define NPCM8XX_RESET_GDMA0          3 > > IDs start from 0 and do not have holes. > > This represents the reset BIT in the reset register.  Again, not programming model in the bindings. No bits, not register values, no register offsets. 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 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 DAC28C433F5 for ; Mon, 23 May 2022 14:25:14 +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:From:References:Cc:To: Subject:MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=28ysqB/UjPPGQFbuturVXu4TRVq0djJkrVOXDxvpQAc=; b=IO2MC6dSbyYgpH 5B828si43C1gaYkOuB98VAe6n8ZUjaTo9wV/lvzRohJGezz3da0PLunBDZFNst+Ymy1IoFsuNpsPo 61g5or3TUe4PFJVWwvKuabPBIqzQylM5fhwG7G6bXQQwjrd6F4Nb4LLag86p6ZupKzox0teaokB3P zbrr7uRTIbOeMZXMsxxFZhssZ5kSnoi4l7VytASG7esdTZPent28WjzhBLutq07k1X+9HmWL8cFy6 FI2H3j/rGPsw5Kn15D7WJCo/nc5fQF1FEtjNZn91Z6JzWtQRzWcwUlNOq7qYPgWB1UUv3icv1dg48 jtyZ5Fm4zS7LldgpUXNg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nt8yS-004hBt-Cn; Mon, 23 May 2022 14:23:56 +0000 Received: from mail-lj1-x230.google.com ([2a00:1450:4864:20::230]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nt8yO-004h98-4w for linux-arm-kernel@lists.infradead.org; Mon, 23 May 2022 14:23:53 +0000 Received: by mail-lj1-x230.google.com with SMTP id i23so17421247ljb.4 for ; Mon, 23 May 2022 07:23:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=OyHM0isO5wTAezh/ODRy2XOY7z3TjUO73U16dlah2Lg=; b=D+KH/MbaKM1Om37PloyJ8FEP0G0r8HIIgD1a9k9OJsHUHaBc52/jowGD5pw4CYYN8h oIWc704WFK7X3+KVKTS1IAGeWcURqmYZKUcDkHuV4mP1DWL6bb04ECgHFPfIeCBw8CJX iZMDqlRMytJ7AkpEn0hcqSyvj+5fLmxWDEXPRkGBkVsPkGrcDwMJieeJxl/47Xktpi3E rQPyyVvtPzNpE6w0ZIIahgxyc+DrCYm8LKL9UfxvD3hwOKByGv0Tq35FHfKxnxM1ReXJ ieCsXLForVSIkGc4vUYq7iQp7IctkU6bNYVy8TKA4H/TkDRENjsRNyMrAb6ErPakBDAu Uexw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=OyHM0isO5wTAezh/ODRy2XOY7z3TjUO73U16dlah2Lg=; b=6I5zR0iNRALnh9K2buO9mimE/KtaOuszM35JcR7rY83VKQtYdLnTiABfCoHelMj0lM VOTr4fj6HC2iObUW2CgfD/DMxL9oGO3EVLx2lGFAWIp4foesAgqgwII4XxNlfpQNnuoI 7oASuKjzlFxQFdtp8Kw02Q/XcclfGMxWeNLYqpyTOUFwoObeWlu9TZ1Bc/ir9NapcGYW 4BddMp1NhJIaskp18TeY58XC+GGNSFV/fOmAtam32V8R4yCWDHe56n1eLiD6hVwuXcXE tr5NJqNDGLAoD0WyKGkD/E5C4uRqFSPl6oH0VsFbzvgQbOYXBFxZYYQ45iMcetGKfUJ8 xKEA== X-Gm-Message-State: AOAM5302q4ckxFRI/11JmsaBdOPj6FaMAcYaNpkotFQz/HTFwL3R5BUi IyGBtLVb78BcGW1gWGCUJjudCA== X-Google-Smtp-Source: ABdhPJzfE9KcPqVU5FLAVn8vclloK7K7k3tlIOfGkMLVado59PwidM8O718jmHMHm8H4Z2C7TU4JXQ== X-Received: by 2002:a05:651c:1792:b0:235:1df3:7b8e with SMTP id bn18-20020a05651c179200b002351df37b8emr13338743ljb.464.1653315824311; Mon, 23 May 2022 07:23:44 -0700 (PDT) Received: from [192.168.0.17] (78-11-189-27.static.ip.netia.com.pl. [78.11.189.27]) by smtp.gmail.com with ESMTPSA id s9-20020ac25fa9000000b0047255d211ffsm1996118lfe.302.2022.05.23.07.23.42 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 23 May 2022 07:23:43 -0700 (PDT) Message-ID: <96ab5563-ea03-806b-f38e-39ef1ed04093@linaro.org> Date: Mon, 23 May 2022 16:23:41 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.1 Subject: Re: [PATCH v1 11/19] dt-bindings: reset: npcm: Add support for NPCM8XX Content-Language: en-US To: Tomer Maimon Cc: Avi Fishman , Tali Perry , Joel Stanley , Patrick Venture , Nancy Yuen , Benjamin Fair , Rob Herring , krzysztof.kozlowski+dt@linaro.org, mturquette@baylibre.com, sboyd@kernel.org, Philipp Zabel , Greg KH , Daniel Lezcano , Thomas Gleixner , Wim Van Sebroeck , Guenter Roeck , catalin.marinas@arm.com, will@kernel.org, Arnd Bergmann , Olof Johansson , jirislaby@kernel.org, shawnguo@kernel.org, bjorn.andersson@linaro.org, geert+renesas@glider.be, marcel.ziswiler@toradex.com, Vinod Koul , biju.das.jz@bp.renesas.com, nobuhiro1.iwamatsu@toshiba.co.jp, robert.hancock@calian.com, =?UTF-8?Q?Jonathan_Neusch=c3=a4fer?= , lkundrak@v3.sk, soc@kernel.org, devicetree , Linux Kernel Mailing List , linux-clk@vger.kernel.org, linux-serial@vger.kernel.org, linux-watchdog@vger.kernel.org, Linux ARM References: <20220522155046.260146-1-tmaimon77@gmail.com> <20220522155046.260146-12-tmaimon77@gmail.com> <86cd6a37-70ad-3a90-bc8a-dcd8b41f1175@linaro.org> From: Krzysztof Kozlowski In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220523_072352_237720_B87B5532 X-CRM114-Status: GOOD ( 36.08 ) 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 T24gMjMvMDUvMjAyMiAxNjowMywgVG9tZXIgTWFpbW9uIHdyb3RlOgo+IEhpwqBLcnp5c3p0b2Ys Cj4gCj4gVGhhbmtzIGZvciB5b3VyIGNvbW1lbnRzLgoKUGxlYXNlIHN0b3AgcmVwbHlpbmcgaW4g SFRNTC4gSXQncyBub3QgdGhlIGZvcm1hdCBvZiBlbWFpbHMgdXNlZCBpbiB0aGUKTGludXguIEl0 IG1ha2VzIHZlcnkgZGlmZmljdWx0IHRvIHJlYWQgeW91ciByZXBsaWVzLgoKPiAKPiAKPiBPbiBN b24sIDIzIE1heSAyMDIyIGF0IDEyOjAxLCBLcnp5c3p0b2YgS296bG93c2tpCj4gPGtyenlzenRv Zi5rb3psb3dza2lAbGluYXJvLm9yZyA8bWFpbHRvOmtyenlzenRvZi5rb3psb3dza2lAbGluYXJv Lm9yZz4+Cj4gd3JvdGU6Cj4gCj4gICAgIE9uIDIyLzA1LzIwMjIgMTc6NTAsIFRvbWVyIE1haW1v biB3cm90ZToKPiAgICAgPiBBZGQgYmluZGluZyBkb2N1bWVudCBhbmQgZGV2aWNlIHRyZWUgYmlu ZGluZwo+ICAgICA+IGNvbnN0YW50cyBmb3IgTnV2b3RvbiBCTUMgTlBDTThYWCByZXNldCBjb250 cm9sbGVyLgo+ICAgICA+Cj4gICAgID4gU2lnbmVkLW9mZi1ieTogVG9tZXIgTWFpbW9uIDx0bWFp bW9uNzdAZ21haWwuY29tCj4gICAgIDxtYWlsdG86dG1haW1vbjc3QGdtYWlsLmNvbT4+Cj4gICAg ID4gLS0tCj4gICAgID7CoCAuLi4vYmluZGluZ3MvcmVzZXQvbnV2b3RvbixucGNtLXJlc2V0LnR4 dMKgIMKgIMKgfMKgIDE3ICsrLQo+ICAgICA+wqAgLi4uL2R0LWJpbmRpbmdzL3Jlc2V0L251dm90 b24sbnBjbTh4eC1yZXNldC5oIHwgMTI0Cj4gICAgICsrKysrKysrKysrKysrKysrKwo+ICAgICA+ wqAgMiBmaWxlcyBjaGFuZ2VkLCAxMzkgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKPiAg ICAgPsKgIGNyZWF0ZSBtb2RlIDEwMDY0NCBpbmNsdWRlL2R0LWJpbmRpbmdzL3Jlc2V0L251dm90 b24sbnBjbTh4eC1yZXNldC5oCj4gICAgID4KPiAgICAgPiBkaWZmIC0tZ2l0Cj4gICAgIGEvRG9j dW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3Jlc2V0L251dm90b24sbnBjbS1yZXNldC50 eHQKPiAgICAgYi9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcmVzZXQvbnV2b3Rv bixucGNtLXJlc2V0LnR4dAo+ICAgICA+IGluZGV4IGNiMTYxMzA5MmVlNy4uYjdlYjg2MTViNjhi IDEwMDY0NAo+ICAgICA+IC0tLSBhL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9y ZXNldC9udXZvdG9uLG5wY20tcmVzZXQudHh0Cj4gICAgID4gKysrIGIvRG9jdW1lbnRhdGlvbi9k ZXZpY2V0cmVlL2JpbmRpbmdzL3Jlc2V0L251dm90b24sbnBjbS1yZXNldC50eHQKPiAgICAgPiBA QCAtMSwxNCArMSwxNSBAQAo+ICAgICA+wqAgTnV2b3RvbiBOUENNIFJlc2V0IGNvbnRyb2xsZXIK PiAgICAgPsKgCj4gICAgID7CoCBSZXF1aXJlZCBwcm9wZXJ0aWVzOgo+ICAgICA+IC0tIGNvbXBh dGlibGUgOiAibnV2b3RvbixucGNtNzUwLXJlc2V0IiBmb3IgTlBDTTdYWCBCTUMKPiAgICAgPiAr LSBjb21wYXRpYmxlIDogIm51dm90b24sbnBjbTc1MC1yZXNldCIgZm9yIFBvbGVnIE5QQ003WFgg Qk1DLgo+ICAgICA+ICvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCJudXZvdG9uLG5wY204NDUtcmVz ZXQiIGZvciBBcmJlbCBOUENNOFhYIEJNQy4KPiAgICAgPsKgIC0gcmVnIDogc3BlY2lmaWVzIHBo eXNpY2FsIGJhc2UgYWRkcmVzcyBhbmQgc2l6ZSBvZiB0aGUgcmVnaXN0ZXIuCj4gICAgID7CoCAt ICNyZXNldC1jZWxsczogbXVzdCBiZSBzZXQgdG8gMgo+ICAgICA+wqAgLSBzeXNjb246IGEgcGhh bmRsZSB0byBhY2Nlc3MgR0NSIHJlZ2lzdGVycy4KPiAgICAgPsKgCj4gICAgID7CoCBPcHRpb25h bCBwcm9wZXJ0eToKPiAgICAgPsKgIC0gbnV2b3Rvbixzdy1yZXNldC1udW1iZXIgLSBDb250YWlu cyB0aGUgc29mdHdhcmUgcmVzZXQgbnVtYmVyIHRvCj4gICAgIHJlc3RhcnQgdGhlIFNvQy4KPiAg ICAgPiAtwqAgTlBDTTd4eCBjb250YWluIGZvdXIgc29mdHdhcmUgcmVzZXQgdGhhdCByZXByZXNl bnQgbnVtYmVycyAxIHRvIDQuCj4gICAgID4gK8KgIE5QQ003eHggYW5kIE5QQ004eHggY29udGFp biBmb3VyIHNvZnR3YXJlIHJlc2V0IHRoYXQgcmVwcmVzZW50Cj4gICAgIG51bWJlcnMgMSB0byA0 Lgo+ICAgICA+wqAKPiAgICAgPsKgIMKgIElmICdudXZvdG9uLHN3LXJlc2V0LW51bWJlcicgaXMg bm90IHNwZWNpZmllZCBzb2Z0d2FyZSByZXNldCBpcwo+ICAgICBkaXNhYmxlZC4KPiAgICAgPsKg Cj4gICAgID4gQEAgLTMyLDMgKzMzLDE1IEBAIGV4YW1wbGU6Cj4gICAgID7CoCDCoCDCoCDCoCDC oCB9Owo+ICAgICA+wqAKPiAgICAgPsKgIFRoZSBpbmRleCBjb3VsZCBiZSBmb3VuZCBpbgo+ICAg ICA8ZHQtYmluZGluZ3MvcmVzZXQvbnV2b3RvbixucGNtN3h4LXJlc2V0Lmg+Lgo+ICAgICA+ICsK PiAgICAgPiArU3BlY2lmeWluZyByZXNldCBsaW5lcyBjb25uZWN0ZWQgdG8gSVAgTlBDTThYWCBt b2R1bGVzCj4gICAgID4gKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQo+IAo+IHdlIHByZWZlcsKgdG/CoHVzZSB0aGUgc2FtZSBleHBsYW5hdGlv biBhcyB0aGUgTlBDTTdYWCByZXNldCBleHBsYW5hdGlvbgo+IGluIHRoZSByZXNldCBiaW5kaW5n IGRvY3VtZW50LgoKPz8KCj4gCj4gICAgIE5vIG5lZWQgdG8gZG9jdW1lbnQgY29uc3VtZXJzLiBK dXN0IG1lbnRpb24gdGhlIGhlYWRlci4KCldoYXQgZXhwbGFuYXRpb24/IENvbnN1bWVycyBhcmUg dHJpdmlhbC4gT25jZSB5b3UgY29udmVydCBpdCB0byBEVApzY2hlbWEgdGhlcmUgc2hvdWxkIGJl IG5vIHN1Y2ggY29kZSBhdCBhbGwuCgo+IAo+ICAgICA+ICtleGFtcGxlOgo+ICAgICA+ICsKPiAg ICAgPiArwqAgwqAgwqAgwqAgc3BpMDogc3BpQC4uLi4uIHsKPiAgICAgPiArwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgLi4uCj4gICAgID4gK8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIHJlc2V0cyA9 IDwmcnN0YyBOUENNOFhYX1JFU0VUX0lQU1JTVDIKPiAgICAgTlBDTThYWF9SRVNFVF9QU1BJMT47 Cj4gICAgID4gK8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIC4uLgo+ICAgICA+ICvCoCDCoCDCoCDC oCB9Owo+ICAgICA+ICsKPiAgICAgPiArVGhlIGluZGV4IGNvdWxkIGJlIGZvdW5kIGluCj4gICAg IDxkdC1iaW5kaW5ncy9yZXNldC9udXZvdG9uLG5wY204eHgtcmVzZXQuaD4uCj4gICAgID4gZGlm ZiAtLWdpdCBhL2luY2x1ZGUvZHQtYmluZGluZ3MvcmVzZXQvbnV2b3RvbixucGNtOHh4LXJlc2V0 LmgKPiAgICAgYi9pbmNsdWRlL2R0LWJpbmRpbmdzL3Jlc2V0L251dm90b24sbnBjbTh4eC1yZXNl dC5oCj4gICAgID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiAgICAgPiBpbmRleCAwMDAwMDAwMDAw MDAuLjRiODMyYTBmZDFkZAo+ICAgICA+IC0tLSAvZGV2L251bGwKPiAgICAgPiArKysgYi9pbmNs dWRlL2R0LWJpbmRpbmdzL3Jlc2V0L251dm90b24sbnBjbTh4eC1yZXNldC5oCj4gICAgID4gQEAg LTAsMCArMSwxMjQgQEAKPiAgICAgPiArLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0y LjAgKi8KPiAKPiAgICAgRHVhbCBsaWNlbnNlLgo+IAo+IE8uSy7CoAo+IAo+IAo+ICAgICA+ICsv LyBDb3B5cmlnaHQgKGMpIDIwMjIgTnV2b3RvbiBUZWNobm9sb2d5IGNvcnBvcmF0aW9uLgo+ICAg ICA+ICsKPiAgICAgPiArI2lmbmRlZiBfRFRfQklORElOR1NfTlBDTThYWF9SRVNFVF9ICj4gICAg ID4gKyNkZWZpbmUgX0RUX0JJTkRJTkdTX05QQ004WFhfUkVTRVRfSAo+ICAgICA+ICsKPiAgICAg PiArI2RlZmluZSBOUENNOFhYX1JFU0VUX0lQU1JTVDHCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAw eDIwCj4gICAgID4gKyNkZWZpbmUgTlBDTThYWF9SRVNFVF9JUFNSU1QywqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgMHgyNAo+ICAgICA+ICsjZGVmaW5lIE5QQ004WFhfUkVTRVRfSVBTUlNUM8KgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIDB4MzQKPiAgICAgPiArI2RlZmluZSBOUENNOFhYX1JFU0VUX0lQ U1JTVDTCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAweDc0Cj4gCj4gICAgIFdoYXQgYXJlIHRoZXNl PyBBbGwgSURzIHNob3VsZCBiZSBpbmNyZW1lbnRhbCwgZGVjaW1hbCBhbmQgc3RhcnQgZnJvbSAw Lgo+IAo+IFJlZ2lzdGVyIG9mZnNldCwgd2UgdXNlIHRoZSBzYW1lIG1ldGhvZCBpbiBOUENNN3h4 LiBwbGVhc2UgcmVmZXIKPiBodHRwczovL2VsaXhpci5ib290bGluLmNvbS9saW51eC92NS4xOC9z b3VyY2UvaW5jbHVkZS9kdC1iaW5kaW5ncy9yZXNldC9udXZvdG9uLG5wY203eHgtcmVzZXQuaAo+ IDxodHRwczovL2VsaXhpci5ib290bGluLmNvbS9saW51eC92NS4xOC9zb3VyY2UvaW5jbHVkZS9k dC1iaW5kaW5ncy9yZXNldC9udXZvdG9uLG5wY203eHgtcmVzZXQuaD4KPiAKPiBhbmQgdGhlIGRy aXZlciBhc3NlcnRzIHRoZSByZXNldCBhY2NvcmRpbmcgdG8gdGhlIHJlc2V0IGluY2x1ZGUgZGVm aW5pdGlvbnPCoAoKUmVnaXN0ZXIgb2Zmc2V0cywgYSBkZXZpY2UgcHJvZ3JhbW1pbmcgbW9kZWws IGFyZSBub3QgcGFydCBvZiBiaW5kaW5ncy4KIEJpbmRpbmdzIHNob3VsZCBiZSBpbmRlcGVuZGVu dCBvZiBwcm9ncmFtbWluZyBtb2RlbCwgc28gb25seSBJRHMgYXJlCmFsbG93ZWQuCgpXaHkgZGlk IHlvdSBhZGQgcmVnaXN0ZXIgb2Zmc2V0cyB0byBiaW5kaW5ncyBhdCB0aGUgZmlyc3QgcGxhY2U/ Cgo+IAo+IAo+ICAgICA+ICsKPiAgICAgPiArLyogUmVzZXQgbGluZXMgb24gSVAxIHJlc2V0IG1v ZHVsZSAoTlBDTThYWF9SRVNFVF9JUFNSU1QxKSAqLwo+ICAgICA+ICsjZGVmaW5lIE5QQ004WFhf UkVTRVRfR0RNQTDCoCDCoCDCoCDCoCDCoCAzCj4gCj4gICAgIElEcyBzdGFydCBmcm9tIDAgYW5k IGRvIG5vdCBoYXZlIGhvbGVzLgo+IAo+IFRoaXMgcmVwcmVzZW50c8KgdGhlIHJlc2V0IEJJVCBp biB0aGUgcmVzZXQgcmVnaXN0ZXIuwqAKCkFnYWluLCBub3QgcHJvZ3JhbW1pbmcgbW9kZWwgaW4g dGhlIGJpbmRpbmdzLiBObyBiaXRzLCBub3QgcmVnaXN0ZXIKdmFsdWVzLCBubyByZWdpc3RlciBv ZmZzZXRzLgoKCkJlc3QgcmVnYXJkcywKS3J6eXN6dG9mCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdAps aW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVh ZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==