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=-9.0 required=3.0 tests=BAYES_00,INCLUDES_CR_TRAILER, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS 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 A8D3EC19437 for ; Sat, 5 Dec 2020 18:39:09 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 8C2D622D03 for ; Sat, 5 Dec 2020 18:39:09 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729223AbgLEST1 convert rfc822-to-8bit (ORCPT ); Sat, 5 Dec 2020 13:19:27 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40246 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726230AbgLESSU (ORCPT ); Sat, 5 Dec 2020 13:18:20 -0500 Received: from mail-lf1-x144.google.com (mail-lf1-x144.google.com [IPv6:2a00:1450:4864:20::144]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6C13FC0613D1; Sat, 5 Dec 2020 10:11:09 -0800 (PST) Received: by mail-lf1-x144.google.com with SMTP id y19so106117lfa.13; Sat, 05 Dec 2020 10:11: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=uKWCtmFWH2D6PgdPDqZ6SwqxYHLfJimrQ5ADIJZYjvM=; b=bXFp09I66lb1RWbMF8/53Taud/7q2BNevsH1z5RzuwlvxP10zIPE3Wyh6joGUrQ5Vu b9wKPDkfrzRe9iw6wtXxw4Bfms40wohZHEHfoDY3SeqnhlhPuperT/DrKyfJ05arZy0R FKQowNsx/wVBNXpUqjsHFssUyFPDZdSdYoPfI6xRFQLkqlJB/PkYsehdRg/D2DdzThR9 I57DXzIOgkeBg+00dbb6jEWD17b5K0cNQGOmQacTylocJvMELGWvW86ZyZDv1IS9jg3l lPnpkG1HS49RcR5wRBGG279jsCr79/ceSGuOiphGjQuDJeLkNWfijgUp56BVDf0rmXd5 OqtQ== X-Gm-Message-State: AOAM530thbLaG2xTk5CGHdJHKeZ1rgNnr7UXUfo5eU0MF15R1pDLemKx Dv3i0eEAhR1qxoLuECp03gF3c6AGQIFZKA== X-Google-Smtp-Source: ABdhPJxIyKieWZJ9VxW5tLvdRrottnwtiJyqsBd6MJRYZ1ZeKbA2NYxoVKNProO+IDV8ruhVa4XFdw== X-Received: by 2002:a17:906:4a47:: with SMTP id a7mr11831799ejv.345.1607176366602; Sat, 05 Dec 2020 05:52:46 -0800 (PST) Received: from kozik-lap (adsl-84-226-167-205.adslplus.ch. [84.226.167.205]) by smtp.googlemail.com with ESMTPSA id l19sm5584565edq.14.2020.12.05.05.52.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 05 Dec 2020 05:52:44 -0800 (PST) Date: Sat, 5 Dec 2020 14:52:42 +0100 From: Krzysztof Kozlowski To: Thierry Reding Cc: Dmitry Osipenko , Jon Hunter , Georgi Djakov , Rob Herring , Michael Turquette , Stephen Boyd , Peter De Schrijver , MyungJoo Ham , Kyungmin Park , Chanwoo Choi , Mikko Perttunen , Viresh Kumar , Peter Geis , Nicolas Chauvet , linux-tegra@vger.kernel.org, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org Subject: Re: [PATCH v10 17/19] ARM: tegra: Add EMC OPP properties to Tegra20 device-trees Message-ID: <20201205135242.GA1978@kozik-lap> References: <20201123002723.28463-1-digetx@gmail.com> <20201123002723.28463-18-digetx@gmail.com> <60657f5e-bd30-094e-f8df-6ba69e0d6a3e@nvidia.com> <1ed05baf-3a01-3a2b-cd79-98b356c846cf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8BIT In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org On Fri, Dec 04, 2020 at 04:54:55PM +0100, Thierry Reding wrote: > On Tue, Dec 01, 2020 at 01:57:44AM +0300, Dmitry Osipenko wrote: > > 01.12.2020 00:17, Jon Hunter пишет: > > > Hi Dmitry, > > > > > > On 23/11/2020 00:27, Dmitry Osipenko wrote: > > >> Add EMC OPP DVFS tables and update board device-trees by removing > > >> unsupported OPPs. > > >> > > >> Signed-off-by: Dmitry Osipenko > > > This change is generating the following warning on Tegra20 Ventana > > > and prevents the EMC from probing ... > > > > > > [ 2.485711] tegra20-emc 7000f400.memory-controller: device-tree doesn't have memory timings > > > [ 2.499386] tegra20-emc 7000f400.memory-controller: 32bit DRAM bus > > > [ 2.505810] ------------[ cut here ]------------ > > > [ 2.510511] WARNING: CPU: 0 PID: 1 at /local/workdir/tegra/mlt-linux_next/kernel/drivers/opp/of.c:875 _of_add_opp_table_v2+0x598/0x61c > > > [ 2.529746] Modules linked in: > > > [ 2.540140] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.10.0-rc5-next-20201130 #1 > > > [ 2.554606] Hardware name: NVIDIA Tegra SoC (Flattened Device Tree) > > > [ 2.560892] [] (unwind_backtrace) from [] (show_stack+0x10/0x14) > > > [ 2.568640] [] (show_stack) from [] (dump_stack+0xc8/0xdc) > > > [ 2.575866] [] (dump_stack) from [] (__warn+0x104/0x108) > > > [ 2.582912] [] (__warn) from [] (warn_slowpath_fmt+0xb0/0xb8) > > > [ 2.590397] [] (warn_slowpath_fmt) from [] (_of_add_opp_table_v2+0x598/0x61c) > > > [ 2.599269] [] (_of_add_opp_table_v2) from [] (dev_pm_opp_of_add_table+0x3c/0x1a0) > > > [ 2.608582] [] (dev_pm_opp_of_add_table) from [] (tegra_emc_probe+0x478/0x940) > > > [ 2.617548] [] (tegra_emc_probe) from [] (platform_drv_probe+0x48/0x98) > > > [ 2.625899] [] (platform_drv_probe) from [] (really_probe+0x218/0x3b8) > > > [ 2.634162] [] (really_probe) from [] (driver_probe_device+0x5c/0xb4) > > > [ 2.642338] [] (driver_probe_device) from [] (device_driver_attach+0x58/0x60) > > > [ 2.651208] [] (device_driver_attach) from [] (__driver_attach+0x80/0xbc) > > > [ 2.659730] [] (__driver_attach) from [] (bus_for_each_dev+0x74/0xb4) > > > [ 2.667905] [] (bus_for_each_dev) from [] (bus_add_driver+0x164/0x1e8) > > > [ 2.676168] [] (bus_add_driver) from [] (driver_register+0x7c/0x114) > > > [ 2.684259] [] (driver_register) from [] (do_one_initcall+0x54/0x2b0) > > > [ 2.692441] [] (do_one_initcall) from [] (kernel_init_freeable+0x1a4/0x1f4) > > > [ 2.701145] [] (kernel_init_freeable) from [] (kernel_init+0x8/0x118) > > > [ 2.709321] [] (kernel_init) from [] (ret_from_fork+0x14/0x24) > > > [ 2.716885] Exception stack(0xc1501fb0 to 0xc1501ff8) > > > [ 2.721933] 1fa0: 00000000 00000000 00000000 00000000 > > > [ 2.730106] 1fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 > > > [ 2.738278] 1fe0: 00000000 00000000 00000000 00000000 00000013 00000000 > > > [ 2.751940] ---[ end trace 61e3b76deca27ef3 ]--- > > > > > > > > > Cheers > > > Jon > > > > > > > Hello Jon, > > > > That is harmless and expected to happen because the patch "memory: > > tegra20: Support hardware versioning and clean up OPP table > > initialization" isn't applied yet, while Thierry already applied the DT > > patches from this v10. > > Hmm... that's new. Since when are device tree additions expected to > cause these kinds of splats? It looks rather as inaccurate message, but except the message itself, no functionality was lost. > Anyway, I did apply these because I had seen at least some of the memory > controller driver patches appear in linux-next and hence had assumed > that the whole series had gone in, not realizing there was anything left > to do. > > Krzysztof, what's your schedule for the memory controller tree? My > recollection is that this will feed into ARM SoC, so if the -rc6 dead- > line applies like it does for platforms, then I may need to revert the > DT patch that causes this so that we don't have to drag this along > through all of the release cycle. If there's still time for you to send > that PR, perhaps we can get the remainder of the Tegra interconnect > series merged for v5.11 as well? I was waiting for last acks from Rob and you and actually planned to merge everything this week (weekend at the latest). Indeed it slightly slipped away... the v11 was reposted late. It could still make till v5.11, if I send the PR now (still around 3 weeks before merge window). However I saw now your comments for the patch 4/10 from v11. I'll take patches 1-3 for now. 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=-9.0 required=3.0 tests=BAYES_00,INCLUDES_CR_TRAILER, MAILING_LIST_MULTI,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 A3746C433FE for ; Sat, 5 Dec 2020 13:52:51 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 610F92311C for ; Sat, 5 Dec 2020 13:52:51 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 610F92311C Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id EA7546E41D; Sat, 5 Dec 2020 13:52:49 +0000 (UTC) Received: from mail-ej1-f68.google.com (mail-ej1-f68.google.com [209.85.218.68]) by gabe.freedesktop.org (Postfix) with ESMTPS id 192DC6E41D for ; Sat, 5 Dec 2020 13:52:48 +0000 (UTC) Received: by mail-ej1-f68.google.com with SMTP id m19so12815215ejj.11 for ; Sat, 05 Dec 2020 05:52:48 -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=uKWCtmFWH2D6PgdPDqZ6SwqxYHLfJimrQ5ADIJZYjvM=; b=ZspXYHew9bAX2Z+GlfyWnyphTag4LhTtBoldrFiDLiggHHBfcn0d+7WidecFy0WmfY SE/VAL7TvOLWkilH4zs01fWi8OUzNXJCikA04goP3d9OFw3zDbnf3hfUHX+n6QD1xKop HYlfGvt5prse0d+fHUk4iSPk1okgTmaIlhvAR8sjHr7F90eiigz6UMLCfNasiaC8A5zf nFNGo5Smwk+eFYEBEP4eUv2C5ARhMCYU3hKZW+CcYTFEyAkfMIUMf2HeuyeugyqQJkmX hpIQ6UmM5alfZjrW6V6nt/1lM+aLlwVP0fVGhF09t9uPGHxc+FYpDMIoeMzxyWLiRqGy /ftQ== X-Gm-Message-State: AOAM530xKHHMS+clcwdVM61A6DtLGCoDD6iHut/g9m/G3zIxslOkLksd I7UqI8UoY0aJjaB2ihDR9Mw= X-Google-Smtp-Source: ABdhPJxIyKieWZJ9VxW5tLvdRrottnwtiJyqsBd6MJRYZ1ZeKbA2NYxoVKNProO+IDV8ruhVa4XFdw== X-Received: by 2002:a17:906:4a47:: with SMTP id a7mr11831799ejv.345.1607176366602; Sat, 05 Dec 2020 05:52:46 -0800 (PST) Received: from kozik-lap (adsl-84-226-167-205.adslplus.ch. [84.226.167.205]) by smtp.googlemail.com with ESMTPSA id l19sm5584565edq.14.2020.12.05.05.52.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 05 Dec 2020 05:52:44 -0800 (PST) Date: Sat, 5 Dec 2020 14:52:42 +0100 From: Krzysztof Kozlowski To: Thierry Reding Subject: Re: [PATCH v10 17/19] ARM: tegra: Add EMC OPP properties to Tegra20 device-trees Message-ID: <20201205135242.GA1978@kozik-lap> References: <20201123002723.28463-1-digetx@gmail.com> <20201123002723.28463-18-digetx@gmail.com> <60657f5e-bd30-094e-f8df-6ba69e0d6a3e@nvidia.com> <1ed05baf-3a01-3a2b-cd79-98b356c846cf@gmail.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter De Schrijver , Mikko Perttunen , Nicolas Chauvet , Stephen Boyd , Viresh Kumar , Michael Turquette , linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Jon Hunter , Chanwoo Choi , Kyungmin Park , Rob Herring , MyungJoo Ham , Peter Geis , linux-tegra@vger.kernel.org, Dmitry Osipenko , Georgi Djakov Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" T24gRnJpLCBEZWMgMDQsIDIwMjAgYXQgMDQ6NTQ6NTVQTSArMDEwMCwgVGhpZXJyeSBSZWRpbmcg d3JvdGU6Cj4gT24gVHVlLCBEZWMgMDEsIDIwMjAgYXQgMDE6NTc6NDRBTSArMDMwMCwgRG1pdHJ5 IE9zaXBlbmtvIHdyb3RlOgo+ID4gMDEuMTIuMjAyMCAwMDoxNywgSm9uIEh1bnRlciDQv9C40YjQ tdGCOgo+ID4gPiBIaSBEbWl0cnksCj4gPiA+IAo+ID4gPiBPbiAyMy8xMS8yMDIwIDAwOjI3LCBE bWl0cnkgT3NpcGVua28gd3JvdGU6Cj4gPiA+PiBBZGQgRU1DIE9QUCBEVkZTIHRhYmxlcyBhbmQg dXBkYXRlIGJvYXJkIGRldmljZS10cmVlcyBieSByZW1vdmluZwo+ID4gPj4gdW5zdXBwb3J0ZWQg T1BQcy4KPiA+ID4+Cj4gPiA+PiBTaWduZWQtb2ZmLWJ5OiBEbWl0cnkgT3NpcGVua28gPGRpZ2V0 eEBnbWFpbC5jb20+Cj4gPiA+IFRoaXMgY2hhbmdlIGlzIGdlbmVyYXRpbmcgdGhlIGZvbGxvd2lu ZyB3YXJuaW5nIG9uIFRlZ3JhMjAgVmVudGFuYQo+ID4gPiBhbmQgcHJldmVudHMgdGhlIEVNQyBm cm9tIHByb2JpbmcgLi4uCj4gPiA+IAo+ID4gPiBbICAgIDIuNDg1NzExXSB0ZWdyYTIwLWVtYyA3 MDAwZjQwMC5tZW1vcnktY29udHJvbGxlcjogZGV2aWNlLXRyZWUgZG9lc24ndCBoYXZlIG1lbW9y eSB0aW1pbmdzCj4gPiA+IFsgICAgMi40OTkzODZdIHRlZ3JhMjAtZW1jIDcwMDBmNDAwLm1lbW9y eS1jb250cm9sbGVyOiAzMmJpdCBEUkFNIGJ1cwo+ID4gPiBbICAgIDIuNTA1ODEwXSAtLS0tLS0t LS0tLS1bIGN1dCBoZXJlIF0tLS0tLS0tLS0tLS0KPiA+ID4gWyAgICAyLjUxMDUxMV0gV0FSTklO RzogQ1BVOiAwIFBJRDogMSBhdCAvbG9jYWwvd29ya2Rpci90ZWdyYS9tbHQtbGludXhfbmV4dC9r ZXJuZWwvZHJpdmVycy9vcHAvb2YuYzo4NzUgX29mX2FkZF9vcHBfdGFibGVfdjIrMHg1OTgvMHg2 MWMKPiA+ID4gWyAgICAyLjUyOTc0Nl0gTW9kdWxlcyBsaW5rZWQgaW46Cj4gPiA+IFsgICAgMi41 NDAxNDBdIENQVTogMCBQSUQ6IDEgQ29tbTogc3dhcHBlci8wIE5vdCB0YWludGVkIDUuMTAuMC1y YzUtbmV4dC0yMDIwMTEzMCAjMQo+ID4gPiBbICAgIDIuNTU0NjA2XSBIYXJkd2FyZSBuYW1lOiBO VklESUEgVGVncmEgU29DIChGbGF0dGVuZWQgRGV2aWNlIFRyZWUpCj4gPiA+IFsgICAgMi41NjA4 OTJdIFs8YzAxMTEzNmM+XSAodW53aW5kX2JhY2t0cmFjZSkgZnJvbSBbPGMwMTBiYjYwPl0gKHNo b3dfc3RhY2srMHgxMC8weDE0KQo+ID4gPiBbICAgIDIuNTY4NjQwXSBbPGMwMTBiYjYwPl0gKHNo b3dfc3RhY2spIGZyb20gWzxjMGJjZWU1ND5dIChkdW1wX3N0YWNrKzB4YzgvMHhkYykKPiA+ID4g WyAgICAyLjU3NTg2Nl0gWzxjMGJjZWU1ND5dIChkdW1wX3N0YWNrKSBmcm9tIFs8YzAxMjM1ZGM+ XSAoX193YXJuKzB4MTA0LzB4MTA4KQo+ID4gPiBbICAgIDIuNTgyOTEyXSBbPGMwMTIzNWRjPl0g KF9fd2FybikgZnJvbSBbPGMwMTIzNjkwPl0gKHdhcm5fc2xvd3BhdGhfZm10KzB4YjAvMHhiOCkK PiA+ID4gWyAgICAyLjU5MDM5N10gWzxjMDEyMzY5MD5dICh3YXJuX3Nsb3dwYXRoX2ZtdCkgZnJv bSBbPGMwODI1YWQwPl0gKF9vZl9hZGRfb3BwX3RhYmxlX3YyKzB4NTk4LzB4NjFjKQo+ID4gPiBb ICAgIDIuNTk5MjY5XSBbPGMwODI1YWQwPl0gKF9vZl9hZGRfb3BwX3RhYmxlX3YyKSBmcm9tIFs8 YzA4MjViOTA+XSAoZGV2X3BtX29wcF9vZl9hZGRfdGFibGUrMHgzYy8weDFhMCkKPiA+ID4gWyAg ICAyLjYwODU4Ml0gWzxjMDgyNWI5MD5dIChkZXZfcG1fb3BwX29mX2FkZF90YWJsZSkgZnJvbSBb PGMwODdiNzc0Pl0gKHRlZ3JhX2VtY19wcm9iZSsweDQ3OC8weDk0MCkKPiA+ID4gWyAgICAyLjYx NzU0OF0gWzxjMDg3Yjc3ND5dICh0ZWdyYV9lbWNfcHJvYmUpIGZyb20gWzxjMDY1NDM5OD5dIChw bGF0Zm9ybV9kcnZfcHJvYmUrMHg0OC8weDk4KQo+ID4gPiBbICAgIDIuNjI1ODk5XSBbPGMwNjU0 Mzk4Pl0gKHBsYXRmb3JtX2Rydl9wcm9iZSkgZnJvbSBbPGMwNjUyMjM4Pl0gKHJlYWxseV9wcm9i ZSsweDIxOC8weDNiOCkKPiA+ID4gWyAgICAyLjYzNDE2Ml0gWzxjMDY1MjIzOD5dIChyZWFsbHlf cHJvYmUpIGZyb20gWzxjMDY1MjU0MD5dIChkcml2ZXJfcHJvYmVfZGV2aWNlKzB4NWMvMHhiNCkK PiA+ID4gWyAgICAyLjY0MjMzOF0gWzxjMDY1MjU0MD5dIChkcml2ZXJfcHJvYmVfZGV2aWNlKSBm cm9tIFs8YzA2NTI3NDA+XSAoZGV2aWNlX2RyaXZlcl9hdHRhY2grMHg1OC8weDYwKQo+ID4gPiBb ICAgIDIuNjUxMjA4XSBbPGMwNjUyNzQwPl0gKGRldmljZV9kcml2ZXJfYXR0YWNoKSBmcm9tIFs8 YzA2NTI3Yzg+XSAoX19kcml2ZXJfYXR0YWNoKzB4ODAvMHhiYykKPiA+ID4gWyAgICAyLjY1OTcz MF0gWzxjMDY1MjdjOD5dIChfX2RyaXZlcl9hdHRhY2gpIGZyb20gWzxjMDY1MDYxMD5dIChidXNf Zm9yX2VhY2hfZGV2KzB4NzQvMHhiNCkKPiA+ID4gWyAgICAyLjY2NzkwNV0gWzxjMDY1MDYxMD5d IChidXNfZm9yX2VhY2hfZGV2KSBmcm9tIFs8YzA2NTE1Zjg+XSAoYnVzX2FkZF9kcml2ZXIrMHgx NjQvMHgxZTgpCj4gPiA+IFsgICAgMi42NzYxNjhdIFs8YzA2NTE1Zjg+XSAoYnVzX2FkZF9kcml2 ZXIpIGZyb20gWzxjMDY1MzJhOD5dIChkcml2ZXJfcmVnaXN0ZXIrMHg3Yy8weDExNCkKPiA+ID4g WyAgICAyLjY4NDI1OV0gWzxjMDY1MzJhOD5dIChkcml2ZXJfcmVnaXN0ZXIpIGZyb20gWzxjMDEw MjIwOD5dIChkb19vbmVfaW5pdGNhbGwrMHg1NC8weDJiMCkKPiA+ID4gWyAgICAyLjY5MjQ0MV0g WzxjMDEwMjIwOD5dIChkb19vbmVfaW5pdGNhbGwpIGZyb20gWzxjMTAwMTBjYz5dIChrZXJuZWxf aW5pdF9mcmVlYWJsZSsweDFhNC8weDFmNCkKPiA+ID4gWyAgICAyLjcwMTE0NV0gWzxjMTAwMTBj Yz5dIChrZXJuZWxfaW5pdF9mcmVlYWJsZSkgZnJvbSBbPGMwYmQ0NTEwPl0gKGtlcm5lbF9pbml0 KzB4OC8weDExOCkKPiA+ID4gWyAgICAyLjcwOTMyMV0gWzxjMGJkNDUxMD5dIChrZXJuZWxfaW5p dCkgZnJvbSBbPGMwMTAwMWIwPl0gKHJldF9mcm9tX2ZvcmsrMHgxNC8weDI0KQo+ID4gPiBbICAg IDIuNzE2ODg1XSBFeGNlcHRpb24gc3RhY2soMHhjMTUwMWZiMCB0byAweGMxNTAxZmY4KQo+ID4g PiBbICAgIDIuNzIxOTMzXSAxZmEwOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAo+ID4gPiBbICAgIDIuNzMwMTA2 XSAxZmMwOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAw MDAwMCAwMDAwMDAwMCAwMDAwMDAwMAo+ID4gPiBbICAgIDIuNzM4Mjc4XSAxZmUwOiAwMDAwMDAw MCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAxMyAwMDAwMDAwMAo+ID4gPiBbICAg IDIuNzUxOTQwXSAtLS1bIGVuZCB0cmFjZSA2MWUzYjc2ZGVjYTI3ZWYzIF0tLS0KPiA+ID4gCj4g PiA+IAo+ID4gPiBDaGVlcnMKPiA+ID4gSm9uCj4gPiA+IAo+ID4gCj4gPiBIZWxsbyBKb24sCj4g PiAKPiA+IFRoYXQgaXMgaGFybWxlc3MgYW5kIGV4cGVjdGVkIHRvIGhhcHBlbiBiZWNhdXNlIHRo ZSBwYXRjaCAibWVtb3J5Ogo+ID4gdGVncmEyMDogU3VwcG9ydCBoYXJkd2FyZSB2ZXJzaW9uaW5n IGFuZCBjbGVhbiB1cCBPUFAgdGFibGUKPiA+IGluaXRpYWxpemF0aW9uIiBpc24ndCBhcHBsaWVk IHlldCwgd2hpbGUgVGhpZXJyeSBhbHJlYWR5IGFwcGxpZWQgdGhlIERUCj4gPiBwYXRjaGVzIGZy b20gdGhpcyB2MTAuCj4gCj4gSG1tLi4uIHRoYXQncyBuZXcuIFNpbmNlIHdoZW4gYXJlIGRldmlj ZSB0cmVlIGFkZGl0aW9ucyBleHBlY3RlZCB0bwo+IGNhdXNlIHRoZXNlIGtpbmRzIG9mIHNwbGF0 cz8KCkl0IGxvb2tzIHJhdGhlciBhcyBpbmFjY3VyYXRlIG1lc3NhZ2UsIGJ1dCBleGNlcHQgdGhl IG1lc3NhZ2UgaXRzZWxmLApubyBmdW5jdGlvbmFsaXR5IHdhcyBsb3N0LgoKPiBBbnl3YXksIEkg ZGlkIGFwcGx5IHRoZXNlIGJlY2F1c2UgSSBoYWQgc2VlbiBhdCBsZWFzdCBzb21lIG9mIHRoZSBt ZW1vcnkKPiBjb250cm9sbGVyIGRyaXZlciBwYXRjaGVzIGFwcGVhciBpbiBsaW51eC1uZXh0IGFu ZCBoZW5jZSBoYWQgYXNzdW1lZAo+IHRoYXQgdGhlIHdob2xlIHNlcmllcyBoYWQgZ29uZSBpbiwg bm90IHJlYWxpemluZyB0aGVyZSB3YXMgYW55dGhpbmcgbGVmdAo+IHRvIGRvLgo+IAo+IEtyenlz enRvZiwgd2hhdCdzIHlvdXIgc2NoZWR1bGUgZm9yIHRoZSBtZW1vcnkgY29udHJvbGxlciB0cmVl PyBNeQo+IHJlY29sbGVjdGlvbiBpcyB0aGF0IHRoaXMgd2lsbCBmZWVkIGludG8gQVJNIFNvQywg c28gaWYgdGhlIC1yYzYgZGVhZC0KPiBsaW5lIGFwcGxpZXMgbGlrZSBpdCBkb2VzIGZvciBwbGF0 Zm9ybXMsIHRoZW4gSSBtYXkgbmVlZCB0byByZXZlcnQgdGhlCj4gRFQgcGF0Y2ggdGhhdCBjYXVz ZXMgdGhpcyBzbyB0aGF0IHdlIGRvbid0IGhhdmUgdG8gZHJhZyB0aGlzIGFsb25nCj4gdGhyb3Vn aCBhbGwgb2YgdGhlIHJlbGVhc2UgY3ljbGUuIElmIHRoZXJlJ3Mgc3RpbGwgdGltZSBmb3IgeW91 IHRvIHNlbmQKPiB0aGF0IFBSLCBwZXJoYXBzIHdlIGNhbiBnZXQgdGhlIHJlbWFpbmRlciBvZiB0 aGUgVGVncmEgaW50ZXJjb25uZWN0Cj4gc2VyaWVzIG1lcmdlZCBmb3IgdjUuMTEgYXMgd2VsbD8K Ckkgd2FzIHdhaXRpbmcgZm9yIGxhc3QgYWNrcyBmcm9tIFJvYiBhbmQgeW91IGFuZCBhY3R1YWxs eSBwbGFubmVkIHRvCm1lcmdlIGV2ZXJ5dGhpbmcgdGhpcyB3ZWVrICh3ZWVrZW5kIGF0IHRoZSBs YXRlc3QpLiBJbmRlZWQgaXQgc2xpZ2h0bHkKc2xpcHBlZCBhd2F5Li4uIHRoZSB2MTEgd2FzIHJl cG9zdGVkIGxhdGUuCgpJdCBjb3VsZCBzdGlsbCBtYWtlIHRpbGwgdjUuMTEsIGlmIEkgc2VuZCB0 aGUgUFIgbm93IChzdGlsbCBhcm91bmQgMwp3ZWVrcyBiZWZvcmUgbWVyZ2Ugd2luZG93KS4KCkhv d2V2ZXIgSSBzYXcgbm93IHlvdXIgY29tbWVudHMgZm9yIHRoZSBwYXRjaCA0LzEwIGZyb20gdjEx LiBJJ2xsIHRha2UKcGF0Y2hlcyAxLTMgZm9yIG5vdy4KCkJlc3QgcmVnYXJkcywKS3J6eXN6dG9m CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2 ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK