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=-19.0 required=3.0 tests=BAYES_00,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING,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 0623BC433DB for ; Wed, 13 Jan 2021 05:21:33 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id A9ED7230FC for ; Wed, 13 Jan 2021 05:21:32 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1725883AbhAMFVc convert rfc822-to-8bit (ORCPT ); Wed, 13 Jan 2021 00:21:32 -0500 Received: from mail-wr1-f43.google.com ([209.85.221.43]:36055 "EHLO mail-wr1-f43.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725870AbhAMFVc (ORCPT ); Wed, 13 Jan 2021 00:21:32 -0500 Received: by mail-wr1-f43.google.com with SMTP id t16so728797wra.3; Tue, 12 Jan 2021 21:21:15 -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=ygvCn8fmZH80T0v+3u3CbzAAgsVPV7I6kSbF85AxYE8=; b=jbE+s8Sx78HxPDXrtsukzSp6pvUQiSvWdAkKLiZgxNG7dyWhw8/qH8AY/Y2X+vljgW aijdruuSY3sd69afkJyWDjFJJGncvkO3fgkUlQ9nYkdaousDoUCK6KHK4hgHmW5YvpKk tUt0KzxPAmZz+ve5TbCuSMSY2/FqAh+zbs24j4aA2bxA2yVFb9pGAOO4O5oN4QotZ+k+ ByjthzY7GE5GFWViCoOE6lSNtxQryR1ThSxZctm6/5Sod+yyY4mm1Zwf+xP/sKUep6Im pb8d7OBOpc1jqbJVt7nXyb5282l7YdQVjm3YSY0IO7eS4H7/lxNusDLnE0Dbxu2CD9rN poqw== X-Gm-Message-State: AOAM532xBP+0t0Y3aN/mBTfAztnqhPICJzunQKIvll7Rz4iebTWyOjna Gkcqz9mwZMnnjeUAftRm77w/qflDs14= X-Google-Smtp-Source: ABdhPJxhcefF2g4ghMWfcYGFz4p/mMcOTBXdkjHmHKC1b8cf1wmHKSyoSIrwjlD7D4mvHQU6xRhrZg== X-Received: by 2002:adf:fbc5:: with SMTP id d5mr587444wrs.82.1610515249819; Tue, 12 Jan 2021 21:20:49 -0800 (PST) Received: from kozik-lap (adsl-84-226-167-205.adslplus.ch. [84.226.167.205]) by smtp.googlemail.com with ESMTPSA id c11sm240840wmd.36.2021.01.12.21.20.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 Jan 2021 21:20:48 -0800 (PST) Date: Wed, 13 Jan 2021 06:20:47 +0100 From: Krzysztof Kozlowski To: Danny Lin Cc: Rob Herring , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] ARM: dts: exynos: Add energy model for Exynos 5250 Message-ID: <20210113052047.GC6486@kozik-lap> References: <20210111235717.321153-1-danny@kdrag0n.dev> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8BIT In-Reply-To: <20210111235717.321153-1-danny@kdrag0n.dev> Precedence: bulk List-ID: X-Mailing-List: linux-samsung-soc@vger.kernel.org On Mon, Jan 11, 2021 at 03:57:16PM -0800, Danny Lin wrote: > This energy model enables the use of energy- and capacity-aware CPU > frequency scaling. > > Power and performance measurements were made using my freqbench [1] > benchmark coordinator, which uses EEMBC CoreMark [2] as the workload > and measures power usage using the integrated PMIC's fuel gauge (DS2784 > in this case). Thanks for the patch. The tested setup is not representative here. The Nexus 10 is not supported by mainline and it might use specific revision of Exynos5250, different than present on other mainlined boards. One could assume that ratio of dynamic power coefficient of the cores should be similar... but there is no ratio here, as this is not a big.LITTLE platform. Another problem is the v3.4 vendor kernel with a lot of out-of-tree code. This means it might use some different scheduler, different drivers, different voltages and a lot more of unknown differences. Vendor kernel should not matter that much in measurement of DPC but it makes the results not possible to reproduce. You were also measuring the power delivered to entire system, no to CPUs, so you included static power in the data. Static power of CPUs and of the entire system. > The energy model dynamic-power-coefficient values were calculated with > DPC = µW / MHz / V^2 > for each OPP, and averaged across all OPPs within each cluster for the > final coefficient. > > A Google Nexus 10 device running a downstream 3.4 kernel was used for > benchmarking to ensure proper frequency scaling and other low-level > controls. > > Raw benchmark results can be found in the freqbench repository [3]. > Below is a human-readable summary: > > ===== CPU 1 ===== > Frequencies: 200 300 400 500 600 700 800 900 1000 1100 1200 1300 1400 1500 1600 1700 > 200: 909 4.5 C/MHz 132 mW 36.2 J 6.9 I/mJ 275.0 s What are the columns here? I would expect that fuel gauge gives you the current, but it's not here. > 300: 1366 4.6 C/MHz 212 mW 38.7 J 6.5 I/mJ 183.0 s > 400: 1821 4.6 C/MHz 286 mW 39.3 J 6.4 I/mJ 137.3 s > 500: 2253 4.5 C/MHz 375 mW 41.7 J 6.0 I/mJ 111.0 s > 600: 2740 4.6 C/MHz 446 mW 40.7 J 6.1 I/mJ 91.2 s > 700: 3199 4.6 C/MHz 513 mW 40.1 J 6.2 I/mJ 78.2 s > 800: 3673 4.6 C/MHz 678 mW 46.1 J 5.4 I/mJ 68.1 s > 900: 4090 4.5 C/MHz 764 mW 46.7 J 5.4 I/mJ 61.1 s > 1000: 4586 4.6 C/MHz 878 mW 47.9 J 5.2 I/mJ 54.5 s > 1100: 5060 4.6 C/MHz 1084 mW 53.6 J 4.7 I/mJ 49.4 s > 1200: 5515 4.6 C/MHz 1225 mW 55.5 J 4.5 I/mJ 45.3 s > 1300: 5933 4.6 C/MHz 1396 mW 58.9 J 4.2 I/mJ 42.1 s > 1400: 6395 4.6 C/MHz 1662 mW 65.0 J 3.8 I/mJ 39.1 s > 1500: 6897 4.6 C/MHz 1895 mW 68.7 J 3.6 I/mJ 36.3 s > 1600: 7332 4.6 C/MHz 2198 mW 75.0 J 3.3 I/mJ 34.1 s > 1700: 7826 4.6 C/MHz 2497 mW 79.8 J 3.1 I/mJ 31.9 s > > [1] https://github.com/kdrag0n/freqbench > [2] https://www.eembc.org/coremark/ > [3] https://github.com/kdrag0n/freqbench/tree/master/results/exynos5250/main > > Signed-off-by: Danny Lin > --- > arch/arm/boot/dts/exynos5250.dtsi | 16 ++++++++++++++++ > 1 file changed, 16 insertions(+) > > diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi > index 2ea2caaca4e2..cc2fe0afcfc7 100644 > --- a/arch/arm/boot/dts/exynos5250.dtsi > +++ b/arch/arm/boot/dts/exynos5250.dtsi > @@ -58,6 +58,8 @@ cpu0: cpu@0 { > clock-names = "cpu"; > operating-points-v2 = <&cpu0_opp_table>; > #cooling-cells = <2>; /* min followed by max */ > + capacity-dmips-mhz = <1024>; The origin of this 1024 value should be explained. > + dynamic-power-coefficient = <800>; > }; > cpu1: cpu@1 { > device_type = "cpu"; > @@ -67,6 +69,20 @@ cpu1: cpu@1 { > clock-names = "cpu"; > operating-points-v2 = <&cpu0_opp_table>; > #cooling-cells = <2>; /* min followed by max */ > + capacity-dmips-mhz = <1024>; > + dynamic-power-coefficient = <800>; > + }; > + > + cpu-map { That's a second patch. Best regards, Krzysztof > + cluster0 { > + core0 { > + cpu = <&cpu0>; > + }; > + > + core1 { > + cpu = <&cpu1>; > + }; > + }; > }; > }; > > -- > 2.29.2 > 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=-19.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING,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 B4C22C433E0 for ; Wed, 13 Jan 2021 05:22:45 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (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 42F9222B37 for ; Wed, 13 Jan 2021 05:22:45 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 42F9222B37 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References:Message-ID: Subject: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=8/+2rOns7+mtB0AVJW3+IpP+jIpeRzd8eH38XP/zEcU=; b=m9X1ZQonMhBgHIitaKO1WtzTP lDIQS89OoF2IbgA+2E5Iu+dYy58va/7Ve3KsktkOQuyDtMSvqZK7iyDS+dIQpTS+yHZ1fMU1tAI+j CaNcjl0N+yw4MhyBmxwLZgcfsPM9SHRfZw72rOziTeNd6Xp0C5GRUDJQdh7fORxvydYsON4TMTxN1 GrWuRz+C3DrK62GMZR9QezqJwiwwmgwzaRHsPaOKOfmAR60vu/0DVYtQ4xCSGXvJwro5sY1oRSDAM 5khztiDXLfRuK6ORTP8wWg0w1w0CCtuROVebFAYWyA0v1RaFUODAro/+U8ixLiKC+JX5Y9Nj+++Xk H+ufPoz6Q==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kzYaT-00043V-VP; Wed, 13 Jan 2021 05:20:54 +0000 Received: from mail-wr1-f51.google.com ([209.85.221.51]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kzYaR-00042o-7q for linux-arm-kernel@lists.infradead.org; Wed, 13 Jan 2021 05:20:52 +0000 Received: by mail-wr1-f51.google.com with SMTP id m4so707209wrx.9 for ; Tue, 12 Jan 2021 21:20:50 -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=ygvCn8fmZH80T0v+3u3CbzAAgsVPV7I6kSbF85AxYE8=; b=je+TjEWY5xNaxgHJlbzIKzV8wJkbNYNUgs5lyawkhTvQk3hVhANHhE8/zMJAuW9J6B X+LAT2cR3yGWT8b/OY/qZ+OO6v2z8Y7fJAYFjC/azSm3OkEMZTZtfxJC3c46gAm+npiJ cImte+Z6udati3THvFjNRCXgVUa2d/p4R3r2O4j6Y10cwfwmbun3fFa61IklP8Eeduh+ kz4qmkM7QYqugvQNCA8mpbSne/M2043W+wLy4Gn+3CPK0BBunQsJsLZmgPUqfZI063FS dvsoimky0tbUrCSm9aO19feboFKX9Knj1dWOnZA74pNpl2r73+HMtilhyEooCNp/LKRj 3uoA== X-Gm-Message-State: AOAM533m3im4gIJxD4qBKlToYNR93dt/d2vFvoIcL4+QVGCA5lRQaP4H m1nJIaQ6PUWl6cQoGLmKMrU= X-Google-Smtp-Source: ABdhPJxhcefF2g4ghMWfcYGFz4p/mMcOTBXdkjHmHKC1b8cf1wmHKSyoSIrwjlD7D4mvHQU6xRhrZg== X-Received: by 2002:adf:fbc5:: with SMTP id d5mr587444wrs.82.1610515249819; Tue, 12 Jan 2021 21:20:49 -0800 (PST) Received: from kozik-lap (adsl-84-226-167-205.adslplus.ch. [84.226.167.205]) by smtp.googlemail.com with ESMTPSA id c11sm240840wmd.36.2021.01.12.21.20.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 Jan 2021 21:20:48 -0800 (PST) Date: Wed, 13 Jan 2021 06:20:47 +0100 From: Krzysztof Kozlowski To: Danny Lin Subject: Re: [PATCH] ARM: dts: exynos: Add energy model for Exynos 5250 Message-ID: <20210113052047.GC6486@kozik-lap> References: <20210111235717.321153-1-danny@kdrag0n.dev> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20210111235717.321153-1-danny@kdrag0n.dev> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210113_002051_313808_8434F3A6 X-CRM114-Status: GOOD ( 23.66 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, linux-samsung-soc@vger.kernel.org, Rob Herring , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org 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 T24gTW9uLCBKYW4gMTEsIDIwMjEgYXQgMDM6NTc6MTZQTSAtMDgwMCwgRGFubnkgTGluIHdyb3Rl Ogo+IFRoaXMgZW5lcmd5IG1vZGVsIGVuYWJsZXMgdGhlIHVzZSBvZiBlbmVyZ3ktIGFuZCBjYXBh Y2l0eS1hd2FyZSBDUFUKPiBmcmVxdWVuY3kgc2NhbGluZy4KPiAKPiBQb3dlciBhbmQgcGVyZm9y bWFuY2UgbWVhc3VyZW1lbnRzIHdlcmUgbWFkZSB1c2luZyBteSBmcmVxYmVuY2ggWzFdCj4gYmVu Y2htYXJrIGNvb3JkaW5hdG9yLCB3aGljaCB1c2VzIEVFTUJDIENvcmVNYXJrIFsyXSBhcyB0aGUg d29ya2xvYWQKPiBhbmQgbWVhc3VyZXMgcG93ZXIgdXNhZ2UgdXNpbmcgdGhlIGludGVncmF0ZWQg UE1JQydzIGZ1ZWwgZ2F1Z2UgKERTMjc4NAo+IGluIHRoaXMgY2FzZSkuCgpUaGFua3MgZm9yIHRo ZSBwYXRjaC4KClRoZSB0ZXN0ZWQgc2V0dXAgaXMgbm90IHJlcHJlc2VudGF0aXZlIGhlcmUuIFRo ZSBOZXh1cyAxMCBpcyBub3QKc3VwcG9ydGVkIGJ5IG1haW5saW5lIGFuZCBpdCBtaWdodCB1c2Ug c3BlY2lmaWMgcmV2aXNpb24gb2YgRXh5bm9zNTI1MCwKZGlmZmVyZW50IHRoYW4gcHJlc2VudCBv biBvdGhlciBtYWlubGluZWQgYm9hcmRzLiBPbmUgY291bGQgYXNzdW1lIHRoYXQKcmF0aW8gb2Yg ZHluYW1pYyBwb3dlciBjb2VmZmljaWVudCBvZiB0aGUgY29yZXMgc2hvdWxkIGJlIHNpbWlsYXIu Li4gYnV0CnRoZXJlIGlzIG5vIHJhdGlvIGhlcmUsIGFzIHRoaXMgaXMgbm90IGEgYmlnLkxJVFRM RSBwbGF0Zm9ybS4KCkFub3RoZXIgcHJvYmxlbSBpcyB0aGUgdjMuNCB2ZW5kb3Iga2VybmVsIHdp dGggYSBsb3Qgb2Ygb3V0LW9mLXRyZWUKY29kZS4gVGhpcyBtZWFucyBpdCBtaWdodCB1c2Ugc29t ZSBkaWZmZXJlbnQgc2NoZWR1bGVyLCBkaWZmZXJlbnQKZHJpdmVycywgZGlmZmVyZW50IHZvbHRh Z2VzIGFuZCBhIGxvdCBtb3JlIG9mIHVua25vd24gZGlmZmVyZW5jZXMuClZlbmRvciBrZXJuZWwg c2hvdWxkIG5vdCBtYXR0ZXIgdGhhdCBtdWNoIGluIG1lYXN1cmVtZW50IG9mIERQQyBidXQgaXQK bWFrZXMgdGhlIHJlc3VsdHMgbm90IHBvc3NpYmxlIHRvIHJlcHJvZHVjZS4KCllvdSB3ZXJlIGFs c28gbWVhc3VyaW5nIHRoZSBwb3dlciBkZWxpdmVyZWQgdG8gZW50aXJlIHN5c3RlbSwgbm8gdG8g Q1BVcywKc28geW91IGluY2x1ZGVkIHN0YXRpYyBwb3dlciBpbiB0aGUgZGF0YS4gU3RhdGljIHBv d2VyIG9mIENQVXMgYW5kIG9mCnRoZSBlbnRpcmUgc3lzdGVtLgoKPiBUaGUgZW5lcmd5IG1vZGVs IGR5bmFtaWMtcG93ZXItY29lZmZpY2llbnQgdmFsdWVzIHdlcmUgY2FsY3VsYXRlZCB3aXRoCj4g ICAgIERQQyA9IMK1VyAvIE1IeiAvIFZeMgo+IGZvciBlYWNoIE9QUCwgYW5kIGF2ZXJhZ2VkIGFj cm9zcyBhbGwgT1BQcyB3aXRoaW4gZWFjaCBjbHVzdGVyIGZvciB0aGUKPiBmaW5hbCBjb2VmZmlj aWVudC4KPiAKPiBBIEdvb2dsZSBOZXh1cyAxMCBkZXZpY2UgcnVubmluZyBhIGRvd25zdHJlYW0g My40IGtlcm5lbCB3YXMgdXNlZCBmb3IKPiBiZW5jaG1hcmtpbmcgdG8gZW5zdXJlIHByb3BlciBm cmVxdWVuY3kgc2NhbGluZyBhbmQgb3RoZXIgbG93LWxldmVsCj4gY29udHJvbHMuCj4gCj4gUmF3 IGJlbmNobWFyayByZXN1bHRzIGNhbiBiZSBmb3VuZCBpbiB0aGUgZnJlcWJlbmNoIHJlcG9zaXRv cnkgWzNdLgo+IEJlbG93IGlzIGEgaHVtYW4tcmVhZGFibGUgc3VtbWFyeToKPiAKPiA9PT09PSBD UFUgMSA9PT09PQo+IEZyZXF1ZW5jaWVzOiAyMDAgMzAwIDQwMCA1MDAgNjAwIDcwMCA4MDAgOTAw IDEwMDAgMTEwMCAxMjAwIDEzMDAgMTQwMCAxNTAwIDE2MDAgMTcwMAo+ICAyMDA6ICAgOTA5ICAg ICA0LjUgQy9NSHogICAgMTMyIG1XICAgMzYuMiBKICAgIDYuOSBJL21KICAgMjc1LjAgcwoKV2hh dCBhcmUgdGhlIGNvbHVtbnMgaGVyZT8gSSB3b3VsZCBleHBlY3QgdGhhdCBmdWVsIGdhdWdlIGdp dmVzIHlvdSB0aGUKY3VycmVudCwgYnV0IGl0J3Mgbm90IGhlcmUuCgo+ICAzMDA6ICAxMzY2ICAg ICA0LjYgQy9NSHogICAgMjEyIG1XICAgMzguNyBKICAgIDYuNSBJL21KICAgMTgzLjAgcwo+ICA0 MDA6ICAxODIxICAgICA0LjYgQy9NSHogICAgMjg2IG1XICAgMzkuMyBKICAgIDYuNCBJL21KICAg MTM3LjMgcwo+ICA1MDA6ICAyMjUzICAgICA0LjUgQy9NSHogICAgMzc1IG1XICAgNDEuNyBKICAg IDYuMCBJL21KICAgMTExLjAgcwo+ICA2MDA6ICAyNzQwICAgICA0LjYgQy9NSHogICAgNDQ2IG1X ICAgNDAuNyBKICAgIDYuMSBJL21KICAgIDkxLjIgcwo+ICA3MDA6ICAzMTk5ICAgICA0LjYgQy9N SHogICAgNTEzIG1XICAgNDAuMSBKICAgIDYuMiBJL21KICAgIDc4LjIgcwo+ICA4MDA6ICAzNjcz ICAgICA0LjYgQy9NSHogICAgNjc4IG1XICAgNDYuMSBKICAgIDUuNCBJL21KICAgIDY4LjEgcwo+ ICA5MDA6ICA0MDkwICAgICA0LjUgQy9NSHogICAgNzY0IG1XICAgNDYuNyBKICAgIDUuNCBJL21K ICAgIDYxLjEgcwo+IDEwMDA6ICA0NTg2ICAgICA0LjYgQy9NSHogICAgODc4IG1XICAgNDcuOSBK ICAgIDUuMiBJL21KICAgIDU0LjUgcwo+IDExMDA6ICA1MDYwICAgICA0LjYgQy9NSHogICAxMDg0 IG1XICAgNTMuNiBKICAgIDQuNyBJL21KICAgIDQ5LjQgcwo+IDEyMDA6ICA1NTE1ICAgICA0LjYg Qy9NSHogICAxMjI1IG1XICAgNTUuNSBKICAgIDQuNSBJL21KICAgIDQ1LjMgcwo+IDEzMDA6ICA1 OTMzICAgICA0LjYgQy9NSHogICAxMzk2IG1XICAgNTguOSBKICAgIDQuMiBJL21KICAgIDQyLjEg cwo+IDE0MDA6ICA2Mzk1ICAgICA0LjYgQy9NSHogICAxNjYyIG1XICAgNjUuMCBKICAgIDMuOCBJ L21KICAgIDM5LjEgcwo+IDE1MDA6ICA2ODk3ICAgICA0LjYgQy9NSHogICAxODk1IG1XICAgNjgu NyBKICAgIDMuNiBJL21KICAgIDM2LjMgcwo+IDE2MDA6ICA3MzMyICAgICA0LjYgQy9NSHogICAy MTk4IG1XICAgNzUuMCBKICAgIDMuMyBJL21KICAgIDM0LjEgcwo+IDE3MDA6ICA3ODI2ICAgICA0 LjYgQy9NSHogICAyNDk3IG1XICAgNzkuOCBKICAgIDMuMSBJL21KICAgIDMxLjkgcwo+IAo+IFsx XSBodHRwczovL2dpdGh1Yi5jb20va2RyYWcwbi9mcmVxYmVuY2gKPiBbMl0gaHR0cHM6Ly93d3cu ZWVtYmMub3JnL2NvcmVtYXJrLwo+IFszXSBodHRwczovL2dpdGh1Yi5jb20va2RyYWcwbi9mcmVx YmVuY2gvdHJlZS9tYXN0ZXIvcmVzdWx0cy9leHlub3M1MjUwL21haW4KPiAKPiBTaWduZWQtb2Zm LWJ5OiBEYW5ueSBMaW4gPGRhbm55QGtkcmFnMG4uZGV2Pgo+IC0tLQo+ICBhcmNoL2FybS9ib290 L2R0cy9leHlub3M1MjUwLmR0c2kgfCAxNiArKysrKysrKysrKysrKysrCj4gIDEgZmlsZSBjaGFu Z2VkLCAxNiBpbnNlcnRpb25zKCspCj4gCj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2Jvb3QvZHRz L2V4eW5vczUyNTAuZHRzaSBiL2FyY2gvYXJtL2Jvb3QvZHRzL2V4eW5vczUyNTAuZHRzaQo+IGlu ZGV4IDJlYTJjYWFjYTRlMi4uY2MyZmUwYWZjZmM3IDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtL2Jv b3QvZHRzL2V4eW5vczUyNTAuZHRzaQo+ICsrKyBiL2FyY2gvYXJtL2Jvb3QvZHRzL2V4eW5vczUy NTAuZHRzaQo+IEBAIC01OCw2ICs1OCw4IEBAIGNwdTA6IGNwdUAwIHsKPiAgCQkJY2xvY2stbmFt ZXMgPSAiY3B1IjsKPiAgCQkJb3BlcmF0aW5nLXBvaW50cy12MiA9IDwmY3B1MF9vcHBfdGFibGU+ Owo+ICAJCQkjY29vbGluZy1jZWxscyA9IDwyPjsgLyogbWluIGZvbGxvd2VkIGJ5IG1heCAqLwo+ ICsJCQljYXBhY2l0eS1kbWlwcy1taHogPSA8MTAyND47CgpUaGUgb3JpZ2luIG9mIHRoaXMgMTAy NCB2YWx1ZSBzaG91bGQgYmUgZXhwbGFpbmVkLgoKPiArCQkJZHluYW1pYy1wb3dlci1jb2VmZmlj aWVudCA9IDw4MDA+Owo+ICAJCX07Cj4gIAkJY3B1MTogY3B1QDEgewo+ICAJCQlkZXZpY2VfdHlw ZSA9ICJjcHUiOwo+IEBAIC02Nyw2ICs2OSwyMCBAQCBjcHUxOiBjcHVAMSB7Cj4gIAkJCWNsb2Nr LW5hbWVzID0gImNwdSI7Cj4gIAkJCW9wZXJhdGluZy1wb2ludHMtdjIgPSA8JmNwdTBfb3BwX3Rh YmxlPjsKPiAgCQkJI2Nvb2xpbmctY2VsbHMgPSA8Mj47IC8qIG1pbiBmb2xsb3dlZCBieSBtYXgg Ki8KPiArCQkJY2FwYWNpdHktZG1pcHMtbWh6ID0gPDEwMjQ+Owo+ICsJCQlkeW5hbWljLXBvd2Vy LWNvZWZmaWNpZW50ID0gPDgwMD47Cj4gKwkJfTsKPiArCj4gKwkJY3B1LW1hcCB7CgpUaGF0J3Mg YSBzZWNvbmQgcGF0Y2guCgpCZXN0IHJlZ2FyZHMsCktyenlzenRvZgoKPiArCQkJY2x1c3RlcjAg ewo+ICsJCQkJY29yZTAgewo+ICsJCQkJCWNwdSA9IDwmY3B1MD47Cj4gKwkJCQl9Owo+ICsKPiAr CQkJCWNvcmUxIHsKPiArCQkJCQljcHUgPSA8JmNwdTE+Owo+ICsJCQkJfTsKPiArCQkJfTsKPiAg CQl9Owo+ICAJfTsKPiAgCj4gLS0gCj4gMi4yOS4yCj4gCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdAps aW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVh ZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==