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 7EF92C41535 for ; Fri, 22 Dec 2023 17:37:15 +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:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=G8qFJxS9wfoy7Kjq4ZHKZrlt2zWJXVSRdceutOivMw0=; b=G81TsfqFywz8Ei Ql977qWAXg/BoB1qM6+lxN7Xl2nROI9VKMBxMP8+sTpmvEutO6LyM9mIOhkaVhTM2+ItQCzCzYOSd 8TFojkWpr0lm+v98a6UBR7ODZH/jEvziF3DuLM1/v7/ffE+NIzijFAM0ljmVWCvVKoDC0EWyHm72V 0dhyRnPDlhUZ79sVAG1fdHsyy09UFLOgMHdzjtxkGUzSCSaEe7jCM4+kpdj6mh0ARaRwHBz5NyST3 7kD9wq9IV0fZ1zobRIYQNXj5l3gisWLFC1MMEZOPA4wGnvocrw43WDri0v2gSaTYCnHc5hLpvK5wT KSc7H9ylD0mAMYxAsz8g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1rGjRw-006Vr4-1q; Fri, 22 Dec 2023 17:36:40 +0000 Received: from mail-wm1-x32b.google.com ([2a00:1450:4864:20::32b]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1rGjRs-006VqU-2j for linux-arm-kernel@lists.infradead.org; Fri, 22 Dec 2023 17:36:38 +0000 Received: by mail-wm1-x32b.google.com with SMTP id 5b1f17b1804b1-40d4966314cso5633445e9.2 for ; Fri, 22 Dec 2023 09:36:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1703266594; x=1703871394; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=7YiZlI//r8En/tRk88upggSvyQysyuMQpr+gIg9UNzw=; b=ay8xvW503Zpvgh4dWv826hUQ1unmbWk5PpEwZR/MpLF/JnmDPeRu3Jqlzf3eOSzHtu iNcyHkzvqs/OC+nt8d/2RS2B/aJuyIdL8GCe5+bAtqBKp9t4Ue0E5XNdvy/2T9KGtPHH Dm2HYAJjv7miQm/IuxZUn95cmYh2IWaIPeWabkqXh/GMUDabpwTBPYTS18Ly7IjuoNjB 31KeR/DidUmGfGWvBlQHCabobqWqV4Ir2wDN0+yh9k0N7pKnO/anQNXqdufhTY8gPn2q 86LTJBM+CW19xEjCRIRWF0iIvkUYI8QT4nUEuKZ2R/VFB4V2zp2vjfmQYJdkZWfEmraX mRuw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1703266594; x=1703871394; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=7YiZlI//r8En/tRk88upggSvyQysyuMQpr+gIg9UNzw=; b=WxfGRu/+QrB2tK//rwKRRzvksESqPi1qtdSAHkaDwS5aHEVqFqvkivuMwaHPYBPE7P 3VUb4TAzOo6KDUOGEtkRqN4d04f11iyr7CoTbJ9G/UAO1qXnDQCizeIyaSluntTfAtkv 7xS9qmIACO2GrDN5M1ZixrXA3VztJsleE0H3qe9CEAhAFSbvhnQTMA50OG0oZ8YbSD2R 0N66ayyue+vpC8oWzZXr5DmvpwbR7eriEG0pzfsPgqw8mBEjfQo1nzTpaBHfprVs66yi wA/sELBEHt+zx6SwZfUAxcO7tzxV0f5QJNEKHlMjr7tJQVfiCnEzsn+QDJ+3HpnAfFSV ugkg== X-Gm-Message-State: AOJu0YxyDktDE8wM+cp/CkHvqqqA/Vn3fPyNdP1wal11FY3TUnysO1WF o3d/LToBi1dHuPiimMRCjBE= X-Google-Smtp-Source: AGHT+IEAqe5dPjXcNIC+gFC5cubYgHN/sN9f6NAD4LxEz9mwTJLk9dblvc9QQAfaFyUSkIhnyKdDDQ== X-Received: by 2002:a05:600c:4f88:b0:40c:2533:8f41 with SMTP id n8-20020a05600c4f8800b0040c25338f41mr665524wmq.210.1703266594211; Fri, 22 Dec 2023 09:36:34 -0800 (PST) Received: from jernej-laptop.localnet (82-149-12-148.dynamic.telemach.net. [82.149.12.148]) by smtp.gmail.com with ESMTPSA id u9-20020a05600c19c900b0040d18fdfe96sm15504000wmq.44.2023.12.22.09.36.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 Dec 2023 09:36:33 -0800 (PST) From: Jernej =?utf-8?B?xaBrcmFiZWM=?= To: Frank Oltmanns , Frank Oltmanns Cc: Michael Turquette , Stephen Boyd , Chen-Yu Tsai , Samuel Holland , Guido =?ISO-8859-1?Q?G=FCnther?= , Purism Kernel Team , Ondrej Jirman , Neil Armstrong , Jessica Zhang , Sam Ravnborg , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Daniel Vetter , linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org Subject: Re: [PATCH 5/5] drm/panel: st7703: Drive XBD599 panel at higher clock rate Date: Fri, 22 Dec 2023 18:36:31 +0100 Message-ID: <4187182.1IzOArtZ34@jernej-laptop> In-Reply-To: <87v88qk3ge.fsf@oltmanns.dev> References: <20231218-pinephone-pll-fixes-v1-0-e238b6ed6dc1@oltmanns.dev> <875y0sacmz.fsf@oltmanns.dev> <87v88qk3ge.fsf@oltmanns.dev> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231222_093636_892718_F613C390 X-CRM114-Status: GOOD ( 48.89 ) 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 RG5lIHBldGVrLCAyMi4gZGVjZW1iZXIgMjAyMyBvYiAxMDoxMDoyNSBDRVQgamUgRnJhbmsgT2x0 bWFubnMgbmFwaXNhbChhKToKPiAKPiBPbiAyMDIzLTEyLTIwIGF0IDE5OjU3OjA2ICswMTAwLCBG cmFuayBPbHRtYW5ucyA8ZnJhbmtAb2x0bWFubnMuZGV2PiB3cm90ZToKPiA+IE9rLCBJJ3ZlIGRv bmUgbW9yZSBkZXRhaWxlZCB0ZXN0aW5nLCBhbmQgaXQgc2VlbXMgdGhpcyBwYXRjaCByZXN1bHRz IGluCj4gPiBsb3RzIG9mIGRyb3BwZWQgZnJhbWVzLiBJJ20gc29ycnkgZm9yIG5vdCBiZWluZyBt b3JlIHRob3JvdWdoIGVhcmxpZXIuCj4gPiBJJ2xsIGRvIHNvbWUgbW9yZSB0ZXN0aW5nIHdpdGhv dXQgdGhpcyBwYXRjaCBhbmQgbWlnaHQgaGF2ZSB0byBlaXRoZXIKPiA+IHJlbW92ZSBpdCBmcm9t IFYyIG9mIHRoaXMgc2VyaWVzLgo+ID4KPiA+IEkgbmVlZCB0byBzZWUgaWYgdGhlIHNhbWUgc3Rh YmlsaXR5IGNhbiBiZSBhY2hpZXZlZCB3aGVuIHJ1bm5pbmcKPiA+IFBMTC1NSVBJIG91dHNpZGUg aXRzIHNwZWNpZWQgcmFuZ2UuCj4gCj4gSSd2ZSBkb25lIHNvbWUgbW9yZSAobG9hZCkgdGVzdGlu ZyBhbmQgb2JzZXJ2aW5nIHRoZSBwYW5lbCBmb3IgZHJvcHBlZAo+IGZyYW1lcy4KPiAKPiBUaGUg Y29uY2x1c2lvbiBJIGRyYXcgZnJvbSB0aG9zZSByZXN1bHRzIGlzIHRoYXQgdGhpcyBwYXRjaCBp c24ndAo+IG5lY2Vzc2FyeSBmb3IgdGhlIHBpbmVwaG9uZS4gSXQgd291bGQgYmUgZW5vdWdoIHRv IHVzZSB0aGUgY29ycmVjdCBjbG9jawo+IHJhdGUgYmFzZWQgb24gdGhlIGV4aXN0aW5nIHZhbHVl cyBbKl06Cj4gLQkuY2xvY2sJICAgICA9IDY5MDAwLAo+ICsJLmNsb2NrCSAgICAgPSAoNzIwICsg NDAgKyA0MCArIDQwKSAqICgxNDQwICsgMTggKyAxMCArIDE3KSAqIDYwIC8gMTAwMCwKPiAKPiBJ J3ZlIGFza2VkIGluIHRoZSBwb3N0bWFya2V0T1MgY29tbXVuaXR5IGZvciBhIGJpdCBtb3JlIHRl c3RpbmcuIFRoZXkKPiBhbHJlYWR5IGhhdmUgYSBtZXJnZSByZXF1ZXN0IHRoYXQgY29udGFpbnMg dGhlc2UgY2hhbmdlcyBbMl0uCgpUaGlzIHBhdGNoIHNvdW5kcyByZWFzb25hYmxlIGFuZCBJTU8g c2hvdWxkIGJlIG1lcmdlZC4KCkJlc3QgcmVnYXJkcywKSmVybmVqCgo+IAo+IFRoaXMgbWVhbnMg dGhhdCB3ZSB3b3VsZCBjb250aW51ZSB0byBkcml2ZSBQTEwtTUlQSSBvdXRzaWRlIGl0J3MKPiBz cGVjaWZpZWQgcmFuZ2UuIEkgaGF2ZSwgc28gZmFyLCBub3QgZXhwZXJpZW5jZWQgYW55IGRvd25z aWRlIG9mIGRvaW5nCj4gc28uIEl0IHNlZW1zIGVub3VnaCB0byBmaXggdGhlIHJhdGlvcyB0aGF0 IGFyZSBwYXJ0IG9mIHRoZSBmaXJzdCBmb3VyCj4gcGF0Y2hlcyBpbiB0aGlzIHNlcmllcyB3aXRo b3V0IGludHJvZHVjaW5nIGEgbWluIGFuZCBtYXggcmF0ZS4KPiAKPiBJbiBjb25jbHVzaW9uLCBJ J2xsIHNvb24gKGFmdGVyIHNvbWUgbW9yZSBmZWVkYmFjayBmcm9tIHRoZSBmaW5lIGZvbGtzCj4g YXQgcG9zdG1hcmtldE9TKSBzdWJtaXQgYSBWMiB0aGF0IGFkZHJlc3NlcyB0aGUgZml4ZXMgcmVx dWVzdGVkIGluIHRoZQo+IGZpcnN0IGZvdXIgcGF0Y2hlcyBvZiB0aGlzIHNlcmllcy4gSSdsbCBk cm9wIHRoZSBleGlzdGluZyBQQVRDSCA1IGFuZAo+IHJlcGxhY2UgaXQgd2l0aCB0aGUgb25lIEkg c2VudCBpbiBGZWJydWFyeSBbMV0gaW5zdGVhZC4KPiAKPiBBZnRlciB0aGF0LCBqdXN0IGZvciBm dW4sIEknbGwgcHJvYmFibHkgbG9vayBpbnRvIG1pbl9yYXRlIGFuZCBtYXhfcmF0ZQo+IGZvciBu a20gY2xvY2tzIGFuZCB3aGljaCBjb25zZXF1ZW5jZXMgaXQgaGFzIG9uIHRoZSBwaW5lcGhvbmUu IEkgbWlnaHQKPiBvciBtaWdodCBub3Qgc2VuZCBhIGZvbGxvdyB1cCBzZXJpZXMgZm9yIHRoYXQu IEhvd2V2ZXIsIGlmIHRoZSBwaW5lcGhvbmUKPiBydW5zIHN0YWJsZSB3aXRob3V0IGl0LCBpdCdz IG5vdCBhIGhpZ2ggcHJpb3JpdHkgZm9yIG1lLgo+IAo+IEJlc3QgcmVnYXJkcywKPiAgIEZyYW5r Cj4gCj4gWypdIEkndmUgYWxyZWFkeSBzdWJtaXR0ZWQgYSBwYXRjaCBpbiBGZWJydWFyeSAnMjMg WzFdLiBJdCB3YXMgb2YgbGl0dGxlCj4gICAgIHVzZSBiYWNrIHRoZW4gYmVjYXVzZSB0aGUgQTY0 J3MgUExMLU1JUEkgY2xvY2sgd2FzIG5vdCBhYmxlIHRvIHJ1bgo+ICAgICBjbG9zZSB0byB0aGF0 IHJhdGUuIEJ1dCBzaW5jZSBrZXJuZWwgNi42IFBMTC1NSVBJIGlzIGFibGUgdG8gc2V0Cj4gICAg IGl0J3MgcGFyZW50IHJhdGUsIHNvIHRoYXQgaXQgY2FuIGNvbWUgcXVpdGUgY2xvc2UgdG8gdGhl IHJlcXVpcmVkCj4gICAgIHJhdGU6Cj4gICAgICArIFBhbmVsIHJlcXVpcmVzIDc0Ljg0NCBNSHog d2l0aCB0aGUgY3VycmVudCB0aW1pbmdzLgo+ICAgICAgKy0+IHRjb24tZGF0YS1jbG9jayByYXRl IHNob3VsZCBiZSAxMTIuMjY2IE1IeiAocGFuZWwqMjQvNC80KS4KPiAgICAgICArLT4gUExMLU1J UEkgcmF0ZSBzaG91bGQgYmUgNDQ5LjA2NCBNSHogKFRDT04wICogNCkKPiAKPiAgICAgVGhlIDYu NiBrZXJuZWwgdGhlIGZvbGxvd2luZyByYXRlcyBhcmUgcG9zc2libGU6Cj4gICAgICArIFBMTC1N SVBJOiB+NDQ4Ljk4NDYxNSBNSHoKPiAgICAgICstPiB0Y29uLWRhdGEtY2xvY2s6IH4xMTIuMjQ2 MTUzCj4gICAgICAgKy0+IHBhbmVsOiB+NzQuODMwNzY4IE1Iego+IAo+ICAgICBXaGljaCBsZWF2 ZXMgdXMgd2l0aCBhIHZlcnRpY2FsIHJlZnJlc2ggcmF0ZSBvZiB+NTkuOTg5IEh6LAo+ICAgICBk ZXZpYXRpbmcgbGVzcyB0aGVuIDAuMiUgZnJvbSB0aGUgaWRlYWwgNjBIei4gVGhhdCdzIHByb2Jh Ymx5IGNsb3Nlcgo+ICAgICB0aGFuIHRoZSBhY2N1bXVsYXRlZCBhY2N1cmFjeSBvZiBhbGwgaW52 b2x2ZWQgY29tcG9uZW50cyBjYW4KPiAgICAgcmVsaWFibHkgYWNoaWV2ZS4gSSdkIHNheSwgbGV0 J3MgbGVhdmUgaXQgYXQgdGhhdC4KPiAKPiBbMV06IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2xr bWwvMjAyMzAyMTkxMTQ1NTMuMjg4MDU3LTItZnJhbmtAb2x0bWFubnMuZGV2Lwo+IFsyXTogaHR0 cHM6Ly9naXRsYWIuY29tL3Bvc3RtYXJrZXRPUy9wbWFwb3J0cy8tL21lcmdlX3JlcXVlc3RzLzQ2 NDUKPiA+Cj4gPiBCZXN0IHJlZ2FyZHMsCj4gPiAgIEZyYW5rCj4gPgo+ID4gT24gMjAyMy0xMi0y MCBhdCAxNjoxODo0OSArMDEwMCwgSmVybmVqIMWga3JhYmVjIDxqZXJuZWouc2tyYWJlY0BnbWFp bC5jb20+IHdyb3RlOgo+ID4+IERuZSBzcmVkYSwgMjAuIGRlY2VtYmVyIDIwMjMgb2IgMDg6MTQ6 MjcgQ0VUIGplIEZyYW5rIE9sdG1hbm5zIG5hcGlzYWwoYSk6Cj4gPj4+Cj4gPj4+IE9uIDIwMjMt MTItMTkgYXQgMTg6MDQ6MjkgKzAxMDAsIEplcm5laiDFoGtyYWJlYyA8amVybmVqLnNrcmFiZWNA Z21haWwuY29tPiB3cm90ZToKPiA+Pj4gPiBEbmUgcG9uZWRlbGplaywgMTguIGRlY2VtYmVyIDIw MjMgb2IgMTQ6MzU6MjMgQ0VUIGplIEZyYW5rIE9sdG1hbm5zIG5hcGlzYWwoYSk6Cj4gPj4+ID4+ IFRoaXMgcGFuZWwgaXMgdXNlZCBpbiB0aGUgcGluZXBob25lIHRoYXQgcnVucyBvbiBhIEFsbHdp bm5lciBBNjQgU09DLgo+ID4+PiA+PiBBY29vcmRpbmcgdG8gaXQncyBkYXRhc2hlZXQsIHRoZSBT T0MgcmVxdWlyZXMgUExMLU1JUEkgdG8gcnVuIGF0IG1vcmUKPiA+Pj4gPj4gdGhhbiA1MDAgTUh6 Lgo+ID4+PiA+Pgo+ID4+PiA+PiBUaGVyZWZvcmUsIGNoYW5nZSBbaHZdc3luY18oc3RhcnR8ZW5k KSBzbyB0aGF0IHdlIHJlYWNoIGEgY2xvY2sgcmF0ZQo+ID4+PiA+PiB0aGF0IGlzIGhpZ2ggZW5v dWdoIHRvIGRyaXZlIFBMTC1NSVBJIHdpdGhpbiBpdHMgbGltaXRzLgo+ID4+PiA+Pgo+ID4+PiA+ PiBTaWduZWQtb2ZmLWJ5OiBGcmFuayBPbHRtYW5ucyA8ZnJhbmtAb2x0bWFubnMuZGV2Pgo+ID4+ PiA+Cj4gPj4+ID4gSSdtIG5vdCB0b28gc3VyZSBhYm91dCB0aGlzIHBhdGNoLiBJIHNlZSB0aGF0 IFBMTF9NSVBJIGRvZXNuJ3QgaGF2ZSBzZXQKPiA+Pj4gPiBtaW5pbXVtIGZyZXF1ZW5jeSBsaW1p dCBpbiBjbG9jayBkcml2ZXIuIElmIHlvdSBhZGQgaXQsIGNsb2NrIGZyYW1ld29yawo+ID4+PiA+ IHNob3VsZCBmaW5kIHJhdGUgdGhhdCBpcyBoaWdoIGVub3VnaCBhbmQgZGl2aXNpYmxlIHdpdGgg dGFyZ2V0IHJhdGUuCj4gPj4+Cj4gPj4+IFRoaXMgb25lIGlzIHJlYWxseSBhIHRvdWdoIG51dC4g VW5mb3J0dW5hdGVseSwgdGhlIFBMTF9NSVBJIGNsb2NrIGZvcgo+ID4+PiB0aGlzIHBhbmVsIGhh cyB0byBydW4gZXhhY3RseSBhdCA2ICogcGFuZWwgY2xvY2suIExldCBtZSBzdGFydCBieQo+ID4+ PiBzaG93aW5nIHRoZSByZWxldmFudCBwYXJ0IG9mIHRoZSBjbG9jayB0cmVlICh0aGlzIGlzIG9u IHRoZSBwaW5lcGhvbmUKPiA+Pj4gYWZ0ZXIgYXBwbHlpbmcgdGhlIHBhdGNoZXMpOgo+ID4+PiAg ICAgcGxsLXZpZGVvMCAgICAgICAgICAgICAgICAgMzkzNjAwMDAwCj4gPj4+ICAgICAgICBwbGwt bWlwaSAgICAgICAgICAgICAgICA1MDA5NDU0NTQKPiA+Pj4gICAgICAgICAgIHRjb24wICAgICAg ICAgICAgICAgIDUwMDk0NTQ1NAo+ID4+PiAgICAgICAgICAgICAgdGNvbi1kYXRhLWNsb2NrICAg MTI1MjM2MzYzCj4gPj4+Cj4gPj4+IFRvIGVsYWJvcmF0ZSwgdGNvbi1kYXRhLWNsb2NrIGhhcyB0 byBydW4gYXQgMS80IHRoZSBEU0kgcGVyLWxhbmUgYml0Cj4gPj4+IHJhdGUgWzFdLiBJdCdzIGEg Zml4ZWQgZGl2aXNvcgo+ID4+Pgo+ID4+PiBUaGUgcGFuZWwgSSdtIHByb3Bvc2luZyB0byBjaGFu Z2UgaXMgZGVmaW5lZCBhcyB0aGlzOgo+ID4+Pgo+ID4+PiAgICAgc3RhdGljIGNvbnN0IHN0cnVj dCBzdDc3MDNfcGFuZWxfZGVzYyB4YmQ1OTlfZGVzYyA9IHsKPiA+Pj4gICAgIAkubW9kZSA9ICZ4 YmQ1OTlfbW9kZSwKPiA+Pj4gICAgIAkubGFuZXMgPSA0LAo+ID4+PiAgICAgCS5tb2RlX2ZsYWdz ID0gTUlQSV9EU0lfTU9ERV9WSURFTyB8IE1JUElfRFNJX01PREVfVklERU9fU1lOQ19QVUxTRSwK PiA+Pj4gICAgIAkuZm9ybWF0ID0gTUlQSV9EU0lfRk1UX1JHQjg4OCwKPiA+Pj4gICAgIAkuaW5p dF9zZXF1ZW5jZSA9IHhiZDU5OV9pbml0X3NlcXVlbmNlLAo+ID4+PiAgICAgfTsKPiA+Pj4KPiA+ Pj4gU28sIHdlIGhhdmUgMjQgYnBwIGFuZCA0IGxhbmVzLiBUaGVyZWZvcmUsIHRoZSByZXN1bHRp bmcgcmVxdWVzdGVkCj4gPj4+IHRjb24tZGF0YS1jbG9jayByYXRlIGlzCj4gPj4+ICAgICBjcnRj X2Nsb2NrICogMTAwMCAqICgyNCAvIDQpIC8gNAo+ID4+Pgo+ID4+PiB0Y29uLWRhdGEtY2xvY2sg dGhlcmVmb3JlIHJlcXVlc3RzIGEgcGFyZW50IHJhdGUgb2YKPiA+Pj4gICAgIDQgKiAoY3J0Y19j bG9jayAqIDEwMDAgKiAoMjQgLyA0KSAvIDQpCj4gPj4+Cj4gPj4+IFRoZSBpbml0aWFsIDQgaXMg dGhlIGZpeGVkIGRpdmlzb3IgYmV0d2VlbiB0Y29uMCBhbmQgdGNvbi1kYXRhLWNsb2NrLgo+ID4+ PiBTaW5jZSB0Y29uMCBpcyBhIGNjdV9tdXgsIHRoZSByYXRlIG9mIHRjb24wIGVxdWFscyB0aGUg cmF0ZSBvZiBwbGwtbWlwaS4KPiA+Pj4KPiA+Pj4gU2luY2UgUExMLU1JUEkgaGFzIHRvIHJ1biBh dCBhdCBsZWFzdCBhdCA1MDBNSHogdGhpcyBmb3JjZXMgdXMgdG8gaGF2ZSBhCj4gPj4+IGNydGNf Y2xvY2sgPj0gODMuMzMzIE1Iei4gVGhlIG1vZGUgSSdtIHByb3Jwb3NpbmcgcmVzdWx0cyBpbiBh IHJhdGUgb2YKPiA+Pj4gODMuNTAyIE1Iei4KPiA+Pgo+ID4+IFRoaXMgaXMgbXVjaCBiZXR0ZXIg ZXhwbGFuYXRpb24gd2h5IHRoaXMgY2hhbmdlIGlzIG5lZWRlZC4gU3RpbGwsIEkgdGhpbmsKPiA+ PiBhZGRpbmcgbWluIGFuZCBtYXggcmF0ZSB0byBQTExfTUlQSSB3b3VsZCBtYWtlIHNlbnNlLCBz byBwcm9wZXIgcmF0ZXMKPiA+PiBhcmUgZ3VhcmFudGVlZC4KPiA+Pgo+ID4+IEFueXdheSwgZG8g eW91IGtub3cgd2hlcmUgYXJlIGFsbCB0aG9zZSBvbGQgdmFsdWVzIGNvbWUgZnJvbT8gQW5kIGhv dyBkaWQKPiA+PiB5b3UgY29tZSB1cCB3aXRoIG5ldyBvbmVzPyBJIGd1ZXNzIHlvdSBjYW4ndCBq dXN0IHNpbXBseSBjaGFuZ2UgdGltaW5ncywKPiA+PiB0aGVyZSBhcmUgcHJvYmFibHkgc29tZSBI VyBsaW1pdGF0aW9ucz8gRG8geW91IGtub3cgaWYgQlNQIGtlcm5lbCBzdXBwb3J0Cj4gPj4gdGhp cyBwYW5lbCBhbmQgaG93IHRoaXMgc2l0dWF0aW9uIGlzIHNvbHZlZCB0aGVyZT8KPiA+Pgo+ID4+ Pgo+ID4+PiBJZiB3ZSBvbmx5IGNoYW5nZWQgdGhlIGNvbnN0cmFpbnRzIG9uIHRoZSBQTExfTUlQ SSB3aXRob3V0IGNoYW5naW5nIHRoZQo+ID4+PiBwYW5lbCBtb2RlLCB3ZSBlbmQgdXAgd2l0aCBh IG1pc21hdGNoLiBUaGlzLCBpbiB0dXJuLCB3b3VsZCByZXN1bHQgaW4KPiA+Pj4gZHJvcHBlZCBm cmFtZXMsIHJpZ2h0Pwo+ID4+Cj4gPj4gRnJvbSB3aGF0IEkgcmVhZCwgSSB0aGluayBmcmFtZSBy YXRlIHdvdWxkIGJlIGhpZ2hlciB0aGFuIDYwIGZwcy4gV2hhdAo+ID4+IGV4YWN0bHkgd291bGQg aGFwcGVuIGRlcGVuZHMgb24gdGhlIHBhbmVsLgo+ID4+Cj4gPj4gQmVzdCByZWdhcmRzLAo+ID4+ IEplcm5lago+ID4+Cj4gPj4+Cj4gPj4+IEJlc3QgcmVnYXJkcywKPiA+Pj4gICBGcmFuawo+ID4+ Pgo+ID4+PiBbMV0gU291cmNlOgo+ID4+PiBodHRwczovL2VsaXhpci5ib290bGluLmNvbS9saW51 eC92Ni42Ljcvc291cmNlL2RyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW40aV90Y29uLmMjTDM0Ngo+ ID4+Pgo+ID4+PiA+Cj4gPj4+ID4gQmVzdCByZWdhcmRzLAo+ID4+PiA+IEplcm5lago+ID4+PiA+ Cj4gPj4+ID4+IC0tLQo+ID4+PiA+PiAgZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNpdHJv bml4LXN0NzcwMy5jIHwgMTQgKysrKysrKy0tLS0tLS0KPiA+Pj4gPj4gIDEgZmlsZSBjaGFuZ2Vk LCA3IGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCj4gPj4+ID4+Cj4gPj4+ID4+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2l0cm9uaXgtc3Q3NzAzLmMgYi9k cml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2l0cm9uaXgtc3Q3NzAzLmMKPiA+Pj4gPj4gaW5k ZXggYjU1YmFmZDFhOGJlLi42ODg2ZmQ3Zjc2NWUgMTAwNjQ0Cj4gPj4+ID4+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zaXRyb25peC1zdDc3MDMuYwo+ID4+PiA+PiArKysgYi9k cml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2l0cm9uaXgtc3Q3NzAzLmMKPiA+Pj4gPj4gQEAg LTMyMCwxNCArMzIwLDE0IEBAIHN0YXRpYyBpbnQgeGJkNTk5X2luaXRfc2VxdWVuY2Uoc3RydWN0 IHN0NzcwMyAqY3R4KQo+ID4+PiA+Pgo+ID4+PiA+PiAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1f ZGlzcGxheV9tb2RlIHhiZDU5OV9tb2RlID0gewo+ID4+PiA+PiAgCS5oZGlzcGxheSAgICA9IDcy MCwKPiA+Pj4gPj4gLQkuaHN5bmNfc3RhcnQgPSA3MjAgKyA0MCwKPiA+Pj4gPj4gLQkuaHN5bmNf ZW5kICAgPSA3MjAgKyA0MCArIDQwLAo+ID4+PiA+PiAtCS5odG90YWwJICAgICA9IDcyMCArIDQw ICsgNDAgKyA0MCwKPiA+Pj4gPj4gKwkuaHN5bmNfc3RhcnQgPSA3MjAgKyA2NSwKPiA+Pj4gPj4g KwkuaHN5bmNfZW5kICAgPSA3MjAgKyA2NSArIDY1LAo+ID4+PiA+PiArCS5odG90YWwgICAgICA9 IDcyMCArIDY1ICsgNjUgKyA2NSwKPiA+Pj4gPj4gIAkudmRpc3BsYXkgICAgPSAxNDQwLAo+ID4+ PiA+PiAtCS52c3luY19zdGFydCA9IDE0NDAgKyAxOCwKPiA+Pj4gPj4gLQkudnN5bmNfZW5kICAg PSAxNDQwICsgMTggKyAxMCwKPiA+Pj4gPj4gLQkudnRvdGFsCSAgICAgPSAxNDQwICsgMTggKyAx MCArIDE3LAo+ID4+PiA+PiAtCS5jbG9jawkgICAgID0gNjkwMDAsCj4gPj4+ID4+ICsJLnZzeW5j X3N0YXJ0ID0gMTQ0MCArIDMwLAo+ID4+PiA+PiArCS52c3luY19lbmQgICA9IDE0NDAgKyAzMCAr IDIyLAo+ID4+PiA+PiArCS52dG90YWwJICAgICA9IDE0NDAgKyAzMCArIDIyICsgMjksCj4gPj4+ ID4+ICsJLmNsb2NrCSAgICAgPSAoNzIwICsgNjUgKyA2NSArIDY1KSAqICgxNDQwICsgMzAgKyAy MiArIDI5KSAqIDYwIC8gMTAwMCwKPiA+Pj4gPj4gIAkuZmxhZ3MJICAgICA9IERSTV9NT0RFX0ZM QUdfTkhTWU5DIHwgRFJNX01PREVfRkxBR19OVlNZTkMsCj4gPj4+ID4+ICAJLndpZHRoX21tICAg ID0gNjgsCj4gPj4+ID4+ICAJLmhlaWdodF9tbSAgID0gMTM2LAo+ID4+PiA+Pgo+ID4+PiA+Pgo+ ID4+Pgo+IAoKCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMu aW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2xpbnV4LWFybS1rZXJuZWwK