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 BDF64C76195 for ; Mon, 27 Mar 2023 17:02:04 +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:Subject:From:References:Cc: To: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=Ms3zk9LBo817cYoWxI6BQ3EPVdYCz9wDBom0TUL1KD4=; b=C4sX/6NPjedH99 5HOUFHy0xx5JoNiPsLuRzbAaxsD51yxPKZ2yQvcqGQ42IdFLHdMGZUQh3CnFOMsjNfFFNEq9tM1QA FnQwxLA3nIK41KvCXWHlS4gvvOh1YXiOKgIaKVlPf5MaNNmbFy58CSkeAgmWhquyoxeYg9aUbKlgX 5EYh0Rt+u9Pq2bDNBnKJpRG3vfXrJJ7jiyhJwsSPLqS0+QWeqVJQXnySFprO8c/RCt0Rx71QlSCtA 3e0J6AG4fEwO/iNv6ZjvA7SSY1CnDeCD58cC544DlT0z5jklBP98X9UpeiIDz+5XMFG3VQEdpEYIf Xg2b0oKxX/Dw9mgUxhpA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1pgqD7-00Bnxw-2x; Mon, 27 Mar 2023 17:00:45 +0000 Received: from mail-ed1-x533.google.com ([2a00:1450:4864:20::533]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1pgqD4-00BnxJ-2I; Mon, 27 Mar 2023 17:00:44 +0000 Received: by mail-ed1-x533.google.com with SMTP id ew6so38920912edb.7; Mon, 27 Mar 2023 10:00:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1679936441; h=content-transfer-encoding:in-reply-to:subject:from:references:cc:to :content-language:user-agent:mime-version:date:message-id:from:to:cc :subject:date:message-id:reply-to; bh=sPebmcGvKPuiIF1WigjecPK4Lynxv5uNfa44AS9EEuI=; b=Jg8AalIJn5rXKUDX5zwt+3bVouPsFckGcO+hxwbeXCqYTnlIXYre29u0UG6NXcMNea 6YbbPiv48FTGByPKduZ3y6BxTwn9oHOLNi5Dlgs8wzQrieKkXz0X7rqR6dhK/5LS0tyl IX6gEd95zh4Zv2SbtlKdM9UK5UI7RCGWMz4Hl32btFZwOvOhNWVBs6eO3Z3x52jHQBQ8 cwlhTqi/BrN4OnjTflZ1ZOxS/Ggv+JYYfbPiIXu08aEwEvwbad9AvSJNoNiDbCK+TmXy e11HJlTkZFk7NzWs2xZLNu2rCwNDBjujBxLvxdTp1m9PO+FrJV6CPpHLe/u7cmdSs/9q cpsA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679936441; h=content-transfer-encoding:in-reply-to:subject:from:references:cc:to :content-language:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=sPebmcGvKPuiIF1WigjecPK4Lynxv5uNfa44AS9EEuI=; b=rdHc0xLN3LW5wYvYaA+rhiv8h4Nw8ejQfJyedm63Ab3p6v8QtBSo7v3gztsKirYPGo lZ/qTDd08vrdYxY3XVeGnAGGW3BHXqhMpKLz0X0e7oEbc0JNBXxxR5/utSNzguLOHGUz m4tp0PBjQrcnw8oXcsjEBeUXnn2AVjNKjkzH/AcE/kVmthEiGAOBqcvYynwSVxTgd0M0 EIZZz3Z2vd/XTZG6BhtXLxLEGnpYCZQsQuCb2eVw3Ccy+f1SBlh/eTFxkRG2vHbot/BA pqnPgF/8eTLTqUtk4PQCIXZ34Dm8MxfyHnp8rdh6L0Q0OIVlhzpNRkRNHsvCkucUIQia c+ag== X-Gm-Message-State: AAQBX9dd/98pBLJUp6OHztuTWbgBqUgBt5hpC2CSjO9ZuCLsHy1kONhF iJpm78ggHc6LGDURaCrZbIU0P8bEfZg= X-Google-Smtp-Source: AKy350aYlCm+pZrAYFjmv/DHFHxv9TEvq+ezeh0Z7s6CilpjJ/IyOtB/DMAoIxvTtDhf34zNaPWbGg== X-Received: by 2002:a17:906:e8c:b0:8b2:7564:dfd5 with SMTP id p12-20020a1709060e8c00b008b27564dfd5mr12765360ejf.60.1679936440657; Mon, 27 Mar 2023 10:00:40 -0700 (PDT) Received: from ?IPV6:2a02:3100:91f1:2a00:c022:d3da:60a9:9c00? (dynamic-2a02-3100-91f1-2a00-c022-d3da-60a9-9c00.310.pool.telefonica.de. [2a02:3100:91f1:2a00:c022:d3da:60a9:9c00]) by smtp.googlemail.com with ESMTPSA id h25-20020a1709063c1900b008e8e975e185sm14192054ejg.32.2023.03.27.10.00.39 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 27 Mar 2023 10:00:40 -0700 (PDT) Message-ID: <45dbd1d4-a2b8-af33-beec-64906c0e98da@gmail.com> Date: Mon, 27 Mar 2023 19:00:35 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.9.0 Content-Language: en-US To: neil.armstrong@linaro.org, "thierry.reding@gmail.com" , =?UTF-8?Q?Uwe_Kleine-K=c3=b6nig?= , Neil Armstrong , Kevin Hilman , Jerome Brunet , Martin Blumenstingl Cc: linux-pwm@vger.kernel.org, "linux-arm-kernel@lists.infradead.org" , "open list:ARM/Amlogic Meson..." References: <3492657f-6cc2-5828-b153-30c609a92783@linaro.org> From: Heiner Kallweit Subject: Re: [PATCH] pwm: meson: add support for S4 chip family In-Reply-To: <3492657f-6cc2-5828-b153-30c609a92783@linaro.org> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230327_100042_750344_B7B4CB68 X-CRM114-Status: GOOD ( 36.18 ) 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 T24gMjcuMDMuMjAyMyAwOTozMywgTmVpbCBBcm1zdHJvbmcgd3JvdGU6Cj4gT24gMjQvMDMvMjAy MyAyMzoyMywgSGVpbmVyIEthbGx3ZWl0IHdyb3RlOgo+PiBUaGlzIGFkZHMgcHdtIHN1cHBvcnQg Zm9yIChhdCBsZWFzdCkgdGhlIHM0IGNoaXAgZmFtaWx5LiBUaGUgZXh0ZW5zaW9uCj4+IGlzIGJh c2VkIG9uIHRoZSB2ZW5kb3IgZHJpdmVyIHRoYXQgY2FuIGJlIGZvdW5kIGF0IFswXS4gVGhlcmUg dGhlCj4+IHZlcnNpb24gd2l0aCB0aGUgbmV3IGNsb2NrIGhhbmRsaW5nIGlzIGNhbGxlZCBtZXNv bi12Mi1wd20uCj4+IENlbnRyYWwgY2hhbmdlIGlzIHRoYXQgdGhlIGNsb2NrIGlzIG5vdyBmdWxs eSBwcm92aWRlZCBieSB0aGUgU29DIGNsb2NrCj4+IGNvcmUuIFRoZSBtdWx0aXBsZXhlciBpc24n dCBhbnkgbG9uZ2VyIHBhcnQgb2YgdGhlIHB3bSBibG9jay4KPj4KPj4gVGhpcyB3YXMgdGVzdGVk IG9uIGEgc2MyLWJhc2VkIHN5c3RlbSB0aGF0IHVzZXMgdGhlIHNhbWUgcHdtIGJsb2NrLgo+Pgo+ PiBbMF0gaHR0cHM6Ly9naXRodWIuY29tL2toYWRhcy9saW51eC9ibG9iL2toYWRhcy12aW1zLTUu NC55L2RyaXZlcnMvcHdtL3B3bS1tZXNvbi5jCj4+Cj4+IFNpZ25lZC1vZmYtYnk6IEhlaW5lciBL YWxsd2VpdCA8aGthbGx3ZWl0MUBnbWFpbC5jb20+Cj4+IC0tLQo+PiBBZGRpbmcgdGhlIGFtbG9n aWMsbWVzb24tczQtcHdtIGNvbXBhdGlibGUgdG8gdGhlIGRvY3VtZW50YXRpb24gd2FzIHBhcnQK Pj4gb2YgdGhlIHlhbWwgY29udmVyc2lvbiBhbHJlYWR5Lgo+PiAtLS0KPj4gwqAgZHJpdmVycy9w d20vcHdtLW1lc29uLmMgfCAzOCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0t LQo+PiDCoCAxIGZpbGUgY2hhbmdlZCwgMzQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkK Pj4KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvcHdtL3B3bS1tZXNvbi5jIGIvZHJpdmVycy9wd20v cHdtLW1lc29uLmMKPj4gaW5kZXggMTZkNzljYTVkLi43YTkzZmRhZGEgMTAwNjQ0Cj4+IC0tLSBh L2RyaXZlcnMvcHdtL3B3bS1tZXNvbi5jCj4+ICsrKyBiL2RyaXZlcnMvcHdtL3B3bS1tZXNvbi5j Cj4+IEBAIC05OCw2ICs5OCw3IEBAIHN0cnVjdCBtZXNvbl9wd21fY2hhbm5lbCB7Cj4+IMKgIHN0 cnVjdCBtZXNvbl9wd21fZGF0YSB7Cj4+IMKgwqDCoMKgwqAgY29uc3QgY2hhciAqIGNvbnN0ICpw YXJlbnRfbmFtZXM7Cj4+IMKgwqDCoMKgwqAgdW5zaWduZWQgaW50IG51bV9wYXJlbnRzOwo+PiAr wqDCoMKgIHVuc2lnbmVkIGludCBleHRfY2xrOjE7Cj4gCj4gRHJvcCB0aGUgOjEsIHRoZSBjb21w aWxlciB3aWxsIGFsaWduIHRoZSBzdHJ1Y3Qgc2l6ZSB0byB0aGUgcmVnaXN0ZXIgc2l6ZSwgc28g c2ltcGx5IHVzZSB1bnNpZ25lZCBpbnQgb3IgYm9vbC4KPiAKSGF2aW5nIG9uZSBmbGFnIG9ubHkg aXQgZG9lc24ndCByZWFsbHkgbWFrZSBhIGRpZmZlcmVuY2UsIHJpZ2h0LgpJIGNob3NlIHRoaXMg c2luZ2xlIGJpdCBiZWNhdXNlIGluIGZ1dHVyZSB0aGVyZSBtYXkgY29tZSBhbm90aGVyIGZsYWcs CnRoZW4gaGF2aW5nIHRoZW0gaW4gb25lIGJpdGZpZWxkIHdvdWxkIGJlIGFkdmFudGFnZW91cy4K CkFsc28gaHR0cHM6Ly93d3cua2VybmVsLm9yZy9kb2MvRG9jdW1lbnRhdGlvbi9wcm9jZXNzL2Nv ZGluZy1zdHlsZS5yc3QKUGFydCAiMTcpIFVzaW5nIGJvb2wiIHByZWZlcnMgYml0cyBmb3IgYm9v bCB2YWx1ZXMgaW4gc3RydWN0cywgZXZlbiB0aG91Z2gKdGhlIG1lbnRpb25lZCB1c2UgY2FzZXMg bGlrZSBtdWx0aXBsZSBmbGFncyBkb24ndCBhcHBseSBoZXJlLgoKPiBJJ2QgdXNlIGEgYmV0dGVy IG5hbWUgZm9yIHRoYXQsIGxpa2U6IG5vX211eF9ibGssIHB3bV9jbGtfaW5wdXQuLi4uCj4gCk9L Cgo+PiDCoCB9Owo+PiDCoCDCoCBzdHJ1Y3QgbWVzb25fcHdtIHsKPj4gQEAgLTE1OCw2ICsxNTks NyBAQCBzdGF0aWMgaW50IG1lc29uX3B3bV9jYWxjKHN0cnVjdCBtZXNvbl9wd20gKm1lc29uLCBz dHJ1Y3QgcHdtX2RldmljZSAqcHdtLAo+PiDCoMKgwqDCoMKgIHN0cnVjdCBtZXNvbl9wd21fY2hh bm5lbCAqY2hhbm5lbCA9ICZtZXNvbi0+Y2hhbm5lbHNbcHdtLT5od3B3bV07Cj4+IMKgwqDCoMKg wqAgdW5zaWduZWQgaW50IGR1dHksIHBlcmlvZCwgcHJlX2RpdiwgY250LCBkdXR5X2NudDsKPj4g wqDCoMKgwqDCoCB1bnNpZ25lZCBsb25nIGZpbl9mcmVxOwo+PiArwqDCoMKgIGludCBlcnI7Cj4+ IMKgIMKgwqDCoMKgwqAgZHV0eSA9IHN0YXRlLT5kdXR5X2N5Y2xlOwo+PiDCoMKgwqDCoMKgIHBl cmlvZCA9IHN0YXRlLT5wZXJpb2Q7Cj4+IEBAIC0xNjUsNiArMTY3LDE0IEBAIHN0YXRpYyBpbnQg bWVzb25fcHdtX2NhbGMoc3RydWN0IG1lc29uX3B3bSAqbWVzb24sIHN0cnVjdCBwd21fZGV2aWNl ICpwd20sCj4+IMKgwqDCoMKgwqAgaWYgKHN0YXRlLT5wb2xhcml0eSA9PSBQV01fUE9MQVJJVFlf SU5WRVJTRUQpCj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBkdXR5ID0gcGVyaW9kIC0gZHV0eTsKPj4g wqAgK8KgwqDCoCBpZiAobWVzb24tPmRhdGEtPmV4dF9jbGspIHsKPj4gK8KgwqDCoMKgwqDCoMKg IGVyciA9IGNsa19zZXRfcmF0ZShjaGFubmVsLT5jbGssIDB4ZmZmZlVMICogTlNFQ19QRVJfU0VD IC8gcGVyaW9kKTsKPj4gK8KgwqDCoMKgwqDCoMKgIGlmIChlcnIpIHsKPj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqAgZGV2X2VycihtZXNvbi0+Y2hpcC5kZXYsICJmYWlsZWQgdG8gc2V0IHB3bSBj bG9jayByYXRlXG4iKTsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIGVycjsKPj4g K8KgwqDCoMKgwqDCoMKgIH0KPiAKPiBJZiB0aGUgc2FtZSBNVVggYXJjaGl0ZWN0dXJlIGhhcyBi ZWVuIG1vdmVkIG91dCBvZiB0aGUgUFdNIHJlZ2lzdGVycywgdGhlbiB3aHkgd291bGQgeW91IGNh bGwKPiBzZXRfcmF0ZSA/IHdlIGRvbid0IGNhbGwgc2V0X3JhdGUgdG9kYXksIHNvIHdoeSBzaG91 bGQgd2UgPwo+IAo+IFRvZGF5IHRoZSBNVVggc2VsZWN0aW9uIGlzIHN0YXRpYyBkZXBlbmRpbmcg b24gdGhlIGNsayBuYW1lcyBzcGVjaWZpZWQgaW4gdGhlIGJpbmRpbmdzICh5ZXMgaXQncwo+IHJl YWxseSBub3QgdGhlIGdvb2Qgd2F5IHRvIGRvIHRoYXQsLi4uLikgYnV0IG5vdyB0aGUgTVVYIGlz IG91dHNpZGUgdGhlIFBXTSByZWdpc3RlcnMgYmxvY2sKPiB3ZSBzaG91bGQgc3RpY2sgdG8gdGhl IHNhbWUgYXJjaGl0ZWN0dXJlIGFuZCBtYXJrIHRoZSBNVVggYXMgTk9fUkVQQVJFTlQgYW5kIGlu c3RlYWQgb2YgdXNpbmcKPiBhIGJhZCBiaW5kaW5ncyBzcGVjaWZ5IHRoZSBNVVggcGFyZW50ICYg cmF0ZSBpbiBkdCB1c2luZyBhc3NpZ25lZC1jbGstcGFyZW50L3JhdGUuCj4gCj4gU28gcGxlYXNl IGRyb3AgdGhpcyBzZXRfcmF0ZSgpLgo+IApJbXBsaWNpdGx5IHRoZXJlJ3MgYSBzZXRfcmF0ZSgp IGFsc28gdG9kYXksIGJ5IHNldHRpbmcgdGhlIHByZV9kaXYgZGl2aWRlciB2YWx1ZS4KQnkgdGhl IHdheTogTm90IHN1cmUgd2h5IHRoZSBkaXZpZGVyIGlzbid0IGhhbmRsZWQgdmlhIENDRiwgbGlr ZSBlLmcuIGluIG1lc29uLWd4LW1tYy4KClRoZSBiZXN0IChmb3IgYWNoaWV2aW5nIGJlc3QgcHJl Y2lzaW9uKSBpbnB1dCBmcmVxdWVuY3kgaXMgMHhmZmZmIC8gcGVyaW9kLgpTbyB3ZSBzaG91bGQg ZG8gb3VyIGJlc3QgdG8gY29tZSBhcyBjbG9zZSBhcyBwb3NzaWJsZSB0byB0aGlzIGZyZXF1ZW5j eS4KQnkgdXNpbmcgc2V0X3JhdGUoKSBDQ0Ygd2lsbCBjaG9vc2UgdGhlIG9wdGltYWwgbXV4IGlu cHV0IGFuZCBkaXZpZGVyIHZhbHVlLgpOb3Qgc3VyZSB3aHkgd2Ugc2hvdWxkIHJlc3RyaWN0IG91 cnNlbHZlcyB0byBvbmUgbXV4IHBhcmVudCBvbmx5LgpFLmcuIGZvciBhIHZlcnkgbG93IGR1dHkg Y3ljbGUgYSBoaWdoZXIgaW5wdXQgZnJlcXVlbmN5IHRoYW4gdGhlIHh0YWwgMjRNSHogbWF5IGJl IHByZWZlcmFibGUuCgpOb3Qgb25seSB0aGUgbXV4IGlzIG91dHNpZGUgdGhlIFBXTSBibG9jayBu b3csIGFsc28gdGhlIGRpdmlkZXIgKDggYml0IHdpZGUgaW5zdGVhZCBvZiA3IGJpdAphcyBvZiB0 b2RheSkuIFNvIHdlIG5lZWQgYSBzZXRfcmF0ZSgpIGFueXdheSB0byBzZXQgdGhlIGRpdmlkZXIg dmFsdWUuCldoYXQgSSBjYW4ndCBzYXkgaXMgd2hldGhlciB0aGUgaW50ZXJuYWwgZGl2aWRlciBz dGlsbCBleGlzdHMgKHRoZW4gZXh0ZXJuYWwgYW5kIGludGVybmFsCmRpdmlkZXIgd291bGQgYmUg Y2FzY2FkZWQpIG9yIGlzIHJlbW92ZWQgb3IgYnlwYXNzZWQuCkl0IHNlZW1zIGxpa2Ugd2hlbiBh ZGRpbmcgdGhlIGV4dGVybmFsIFBXTSBjbG9jayBmZWF0dXJlIEFtbG9naWMgZm9yZ290IHRvIHVw ZGF0ZQp0aGUgUFdNIGJsb2NrIGRvY3VtZW50YXRpb24sIGFzIHRoZXJlJ3Mgbm8gcmVmZXJlbmNl IGF0IGFsbCB0byB0aGUgbm93IGV4dGVybmFsIGlucHV0IGNsb2NrCihleGNlcHQgaW4gdGhlIGNs b2NrcyBzZWN0aW9uKS4KCj4+ICvCoMKgwqAgfQo+PiArCj4+IMKgwqDCoMKgwqAgZmluX2ZyZXEg PSBjbGtfZ2V0X3JhdGUoY2hhbm5lbC0+Y2xrKTsKPj4gwqDCoMKgwqDCoCBpZiAoZmluX2ZyZXEg PT0gMCkgewo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgZGV2X2VycihtZXNvbi0+Y2hpcC5kZXYsICJp bnZhbGlkIHNvdXJjZSBjbG9jayBmcmVxdWVuY3lcbiIpOwo+PiBAQCAtMTczLDEwICsxODMsMTQg QEAgc3RhdGljIGludCBtZXNvbl9wd21fY2FsYyhzdHJ1Y3QgbWVzb25fcHdtICptZXNvbiwgc3Ry dWN0IHB3bV9kZXZpY2UgKnB3bSwKPj4gwqAgwqDCoMKgwqDCoCBkZXZfZGJnKG1lc29uLT5jaGlw LmRldiwgImZpbl9mcmVxOiAlbHUgSHpcbiIsIGZpbl9mcmVxKTsKPj4gwqAgLcKgwqDCoCBwcmVf ZGl2ID0gZGl2NjRfdTY0KGZpbl9mcmVxICogKHU2NClwZXJpb2QsIE5TRUNfUEVSX1NFQyAqIDB4 ZmZmZkxMKTsKPj4gLcKgwqDCoCBpZiAocHJlX2RpdiA+IE1JU0NfQ0xLX0RJVl9NQVNLKSB7Cj4+ IC3CoMKgwqDCoMKgwqDCoCBkZXZfZXJyKG1lc29uLT5jaGlwLmRldiwgInVuYWJsZSB0byBnZXQg cGVyaW9kIHByZV9kaXZcbiIpOwo+PiAtwqDCoMKgwqDCoMKgwqAgcmV0dXJuIC1FSU5WQUw7Cj4+ ICvCoMKgwqAgaWYgKG1lc29uLT5kYXRhLT5leHRfY2xrKSB7Cj4+ICvCoMKgwqDCoMKgwqDCoCBw cmVfZGl2ID0gMDsKPj4gK8KgwqDCoCB9IGVsc2Ugewo+PiArwqDCoMKgwqDCoMKgwqAgcHJlX2Rp diA9IGRpdjY0X3U2NChmaW5fZnJlcSAqICh1NjQpcGVyaW9kLCBOU0VDX1BFUl9TRUMgKiAweGZm ZmZMTCk7Cj4+ICvCoMKgwqDCoMKgwqDCoCBpZiAocHJlX2RpdiA+IE1JU0NfQ0xLX0RJVl9NQVNL KSB7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGRldl9lcnIobWVzb24tPmNoaXAuZGV2LCAi dW5hYmxlIHRvIGdldCBwZXJpb2QgcHJlX2RpdlxuIik7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIHJldHVybiAtRUlOVkFMOwo+PiArwqDCoMKgwqDCoMKgwqAgfQo+PiDCoMKgwqDCoMKgIH0K Pj4gwqAgwqDCoMKgwqDCoCBjbnQgPSBkaXY2NF91NjQoZmluX2ZyZXEgKiAodTY0KXBlcmlvZCwg TlNFQ19QRVJfU0VDICogKHByZV9kaXYgKyAxKSk7Cj4+IEBAIC00NDUsNiArNDU5LDEwIEBAIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgbWVzb25fcHdtX2RhdGEgcHdtX2cxMmFfZWVfZGF0YSA9IHsKPj4g wqDCoMKgwqDCoCAubnVtX3BhcmVudHMgPSBBUlJBWV9TSVpFKHB3bV9nMTJhX2VlX3BhcmVudF9u YW1lcyksCj4+IMKgIH07Cj4+IMKgICtzdGF0aWMgY29uc3Qgc3RydWN0IG1lc29uX3B3bV9kYXRh IHB3bV9zNF9kYXRhID0gewo+PiArwqDCoMKgIC5leHRfY2xrID0gMSwKPj4gK307Cj4+ICsKPj4g wqAgc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgbWVzb25fcHdtX21hdGNoZXNbXSA9 IHsKPj4gwqDCoMKgwqDCoCB7Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoCAuY29tcGF0aWJsZSA9ICJh bWxvZ2ljLG1lc29uOGItcHdtIiwKPj4gQEAgLTQ3OCw2ICs0OTYsMTAgQEAgc3RhdGljIGNvbnN0 IHN0cnVjdCBvZl9kZXZpY2VfaWQgbWVzb25fcHdtX21hdGNoZXNbXSA9IHsKPj4gwqDCoMKgwqDC oMKgwqDCoMKgIC5jb21wYXRpYmxlID0gImFtbG9naWMsbWVzb24tZzEyYS1hby1wd20tY2QiLAo+ PiDCoMKgwqDCoMKgwqDCoMKgwqAgLmRhdGEgPSAmcHdtX2cxMmFfYW9fY2RfZGF0YQo+PiDCoMKg wqDCoMKgIH0sCj4+ICvCoMKgwqAgewo+PiArwqDCoMKgwqDCoMKgwqAgLmNvbXBhdGlibGUgPSAi YW1sb2dpYyxtZXNvbi1zNC1wd20iLAo+IAo+IFRoaXMgZGVzZXJ2ZWQgYSBiaW5kaW5ncyB1cGRh dGUsIGFuZCB3ZSBzaG91bGQgcGVyaGFwcyBzdGFydCBhIG5ldyBiaW5kaW5ncyBieSB1c2luZwo+ IG5ldyBjbG9jay1uYW1lcyAoIT0gY2xraW4wLzEpIHRvIGRpZmZlcmVudGlhdGUgZnJvbSB0aGUg b2xkIGJ1Z2d5IGJpbmRpbmdzLgo+IApXZSBjb3VsZCBzaW1wbHkgbmFtZSB0aGUgY2xvY2tzIHB3 bV9hLCBwd21fYi4gSWYgeW91IHRoaW5rIHRoaXMgY291bGQgYmUgY29uZnVzaW5nCmZvciBwd20g UFdNX0MvUFdNX0QsIHRoZW4gd2UgbWF5IHVzZSBwd20wIGFuZCBwd20xLgoKVGhlIGNoYW5nZWQg YmluZGluZyB3b3VsZCBoYXZlIHRvIHJlZmxlY3QgdGhhdCBub3cgYm90aCBpbnB1dCBjbG9ja3Mg Zm9yIGEgcHdtCmFyZSByZXF1aXJlZC4KCj4gTmVpbAo+IAo+PiArwqDCoMKgwqDCoMKgwqAgLmRh dGEgPSAmcHdtX3M0X2RhdGEKPj4gK8KgwqDCoCB9LAo+PiDCoMKgwqDCoMKgIHt9LAo+PiDCoCB9 Owo+PiDCoCBNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBtZXNvbl9wd21fbWF0Y2hlcyk7Cj4+IEBA IC00OTMsNiArNTE1LDE0IEBAIHN0YXRpYyBpbnQgbWVzb25fcHdtX2luaXRfY2hhbm5lbHMoc3Ry dWN0IG1lc29uX3B3bSAqbWVzb24pCj4+IMKgwqDCoMKgwqAgZm9yIChpID0gMDsgaSA8IG1lc29u LT5jaGlwLm5wd207IGkrKykgewo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IG1lc29uX3B3 bV9jaGFubmVsICpjaGFubmVsID0gJm1lc29uLT5jaGFubmVsc1tpXTsKPj4gwqAgK8KgwqDCoMKg wqDCoMKgIGlmIChtZXNvbi0+ZGF0YS0+ZXh0X2Nsaykgewo+PiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBzbnByaW50ZihuYW1lLCBzaXplb2YobmFtZSksICJjbGtpbiV1IiwgaSk7Cj4+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIGNoYW5uZWwtPmNsayA9IGRldm1fY2xrX2dldChkZXYsIG5hbWUp Owo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiAoSVNfRVJSKGNoYW5uZWwtPmNsaykpCj4+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIFBUUl9FUlIoY2hhbm5lbC0+ Y2xrKTsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY29udGludWU7Cj4+ICvCoMKgwqDCoMKg wqDCoCB9Cj4+ICsKPj4gwqDCoMKgwqDCoMKgwqDCoMKgIHNucHJpbnRmKG5hbWUsIHNpemVvZihu YW1lKSwgIiVzI211eCV1IiwgZGV2X25hbWUoZGV2KSwgaSk7Cj4+IMKgIMKgwqDCoMKgwqDCoMKg wqDCoCBpbml0Lm5hbWUgPSBuYW1lOwo+IAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFy bS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK