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 B3E8DEE4993 for ; Wed, 23 Aug 2023 14:16:19 +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:In-Reply-To:References: Message-ID:Subject:Cc: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=AR+OvzftqEZwsmkpBpj1Oq40onPfUo2mVi0lc+Ab3R4=; b=N6q9arIk7ekbH8 CgivZZXtnvp3eh29U6zCx/a/Ph50iicsVDp/HzyxX7kLuKTVjACg+rY7TzV60jpNATRmLkzNPs7k3 vB7xO2wy+gDq5UtDb162+wJ7IDbcifZ1VrkvVHgOEwdw/yUJKLpP9uJm30tl/grtUJDquaApkYrx+ gRqavMhyq+o59rjbh79d+MAS40w7/mTcz0GzpjMByoE7CZrQX3HzuHY8F7Jj75Mw3U2JsK7k2AtOv 84oQf4YJrDTciT10M86L0qQTB0byJi0mT/l6yFL+7Q5FXwyRhCEfl+EeKMPKAovOjZ1mJv+QuyLh3 ya+amAS6GS/za2HR0jNQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qYoeA-000pD2-1u; Wed, 23 Aug 2023 14:15:46 +0000 Received: from mail-db3eur04on061f.outbound.protection.outlook.com ([2a01:111:f400:fe0c::61f] helo=EUR04-DB3-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qYoe6-000pBq-23 for linux-arm-kernel@lists.infradead.org; Wed, 23 Aug 2023 14:15:44 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SwlIInA3i6YfUKguwZkt5UyxPS9uH+UYISj2CYRx+zd/0way8W42zIDbIsizmO6dO0AnCipCoIjxUujMtJ5u7Zs4jLj+O3xf9DNs5kkQKTBqNovEum2Q5CL/BOyUjTIYQ33aWTWS3DOxi13Sbry50i2KkI/7cndPp3D4j00LMV5RoruKwFzKUIXuS20iCkgwQOpfJ+1xioYrFDWPHZokTdQFIpHSrQOA6wkFDEGdAnN5voBj3/DYnaMVwBt2zJKWdQErwdRbwAMcsw+i0ZE6FsEtKCsXXMROStg9gYcvU4oITPHBnQIKbLJ1EvvaJ/z+nVmKDTu/vtCieP9Tv1IePA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=vyyiLBnEe0PAOD3rL9mNF7AwBfxkee76gDAuwR8OmZY=; b=dEY/SgW0lfR8IXX4ZzHIzweRExmeIey+5Ra8rk5HuN9y5aYbvPPr9V2lfu+xnirOHnGe9y0vclugJVvFI6EfDuF5qkxF1IUE3T/bRlSdi2RzcF4Li6HrIUkVeinVLxXTRl6YDNxZvMeWSnkjX3pJo1mODthvifFetF37CqMjRngnXO65zFgtjIX/eXqs1NrE0To9d9XnQBR5nWB+Xh0Vg2StTfpV5S+JPc+WAHdIxk5rfATF0UfeQ2KSw0bNaBgLhAS5DbkFY/+Y8XFtXZ6Ev2m3vXDqyv/w1kP3GFaQXi/NcexOtKfXxM7HPJNbT6Bj8yNLSyR7HdkWxyko+Ls8xw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vyyiLBnEe0PAOD3rL9mNF7AwBfxkee76gDAuwR8OmZY=; b=ddru+TA8btS5/GPSy5qDKkn1LqnAG3NNLHBhoH3VS5/ee+GLHbvnA7nrU7LYXNwp1mVHsy7U1ePz2UF0s5IeoATCMjjZLLp0+IJVKLLKcG9kyDlbXXnAlPsnQMvYAaQORNCV3+jqrOkI5lQWegBJ1rxqJrHBF5bu3AzG/Rdlu1s= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM6PR04MB4838.eurprd04.prod.outlook.com (2603:10a6:20b:4::16) by PA4PR04MB7950.eurprd04.prod.outlook.com (2603:10a6:102:c6::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.25; Wed, 23 Aug 2023 14:15:36 +0000 Received: from AM6PR04MB4838.eurprd04.prod.outlook.com ([fe80::a680:2943:82d1:6aa8]) by AM6PR04MB4838.eurprd04.prod.outlook.com ([fe80::a680:2943:82d1:6aa8%3]) with mapi id 15.20.6699.022; Wed, 23 Aug 2023 14:15:36 +0000 Date: Wed, 23 Aug 2023 10:15:20 -0400 From: Frank Li To: Manivannan Sadhasivam Cc: Lorenzo Pieralisi , bhelgaas@google.com, devicetree@vger.kernel.org, gustavo.pimentel@synopsys.com, helgaas@kernel.org, imx@lists.linux.dev, kw@linux.com, leoyang.li@nxp.com, linux-arm-kernel@lists.infradead.org, linux-imx@nxp.com, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, lorenzo.pieralisi@arm.com, mani@kernel.org, minghuan.lian@nxp.com, mingkai.hu@nxp.com, robh+dt@kernel.org, roy.zang@nxp.com, shawnguo@kernel.org, zhiqiang.hou@nxp.com Subject: Re: [PATCH v12 3/3] PCI: layerscape: Add power management support for ls1028a Message-ID: References: <20230821184815.2167131-1-Frank.Li@nxp.com> <20230821184815.2167131-4-Frank.Li@nxp.com> <20230823075305.GG3737@thinkpad> Content-Disposition: inline In-Reply-To: <20230823075305.GG3737@thinkpad> X-ClientProxiedBy: BYAPR07CA0012.namprd07.prod.outlook.com (2603:10b6:a02:bc::25) To AM6PR04MB4838.eurprd04.prod.outlook.com (2603:10a6:20b:4::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM6PR04MB4838:EE_|PA4PR04MB7950:EE_ X-MS-Office365-Filtering-Correlation-Id: b57dac74-effc-43da-9752-08dba3e36b63 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: U+2TCjVE9Wels/V7nEGOL8VLca4oKjOIQBxWxQS4wiVgNm4wOaJlGwz1i58gbeqPPV4cFU+hGIb8clDo8VDZqyFYBenTHxigfzYAGreWqiQCcxaYfbqweGkEcKn7HPn4m5px8TrxXPukVv+ZwDqvZeGqrvYTG+N0p1L1Xp1OY2uxM61Vqxd5O/WkgmdmSTp+plIiI8hLdqUydriSoAyePeIXlFlrNnnQ7Xge6ef+JXsvlI0DckVxCo2yG2VZG4TpRQMZ3bOA7AUXz6wPJ7wlUXFqrFAzwYjcAozyIyXzU+clHJbd5dOxTtUPA5eFfBhJ2e6xl57WVISGUM7KS72cyqyagCt1Dt9oa2m/JcQSw7nvkcM6rWsQbKE7uRiQRL+I537rgv0DXlH+tjTOwv5oppP9cZDgTAsj9KkELbdteaCa6+q235lW95feWeuLLEXY36HX5aRBQ11RWIzSLk+xNdFCCPQtukVC6CeoEKvpVrmvvs/izaA70boVIv51Rc56TGauS6U/hZQAiObVC+cTRl8RhieL3BZJAB9AcE8bHHMuy93N2pXHsCu5hEZWvn+y75wO7Joo4fTtPyj/XdZCllLL3bhsdGaBcUufzqrv0d9T8tBJtH8QQLxq/WI7ArbM X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB4838.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(7916004)(376002)(346002)(366004)(396003)(136003)(39860400002)(451199024)(186009)(1800799009)(83380400001)(7416002)(2906002)(6916009)(316002)(6486002)(6506007)(66556008)(66476007)(52116002)(6666004)(66946007)(478600001)(33716001)(86362001)(5660300002)(26005)(38100700002)(41300700001)(9686003)(6512007)(38350700002)(8676002)(8936002)(4326008);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?MlRrM3dLL3g2Mi95UzFNN2ZDUGYxd1krMWRhejViSVpLWTQ5Z29iMzhlQ2Ur?= =?utf-8?B?WjNPc1hiSXNhQ3hjWFNuYjhEN1c2d0YwWWR6OUg0dERUejFaMmZLUUpSTGVF?= =?utf-8?B?dDM4ZkowNUcrVW44OGxHRDFyV3AyM3dsWVZkYUF3Q0VvWm1LVFJtaTBQK3B6?= =?utf-8?B?U2w3dHhseTlINkpBaUpKZEttUkhmMGczQ0lCQVBRN1QxYVVPYXI0ZTgwdDBJ?= =?utf-8?B?Q1FBZW5aV3FSSlBEK3FZcU5FZWl1NXA4WXl3azZ5amFXY3JlNm9WUmZ0b0to?= =?utf-8?B?Nk42bjJZQnFWT0xuWmEwbzZJQ0VYeXpMdDM2V09IcWJKdEdCRzZuNmpIRUJ3?= =?utf-8?B?ZDRFZ1NORTI1akIxUE40YnR0T2ZDUXlwMitZbnFDdk93RERiNGFvRnRmZExn?= =?utf-8?B?SlNDelFvaEUzK1QzODF1RXdkbWw2UVBaWUh2N1d1S2ZqV0x4Z1V0OU9CL0F5?= =?utf-8?B?TmF2YTlxSGY1WTJ4Sy9IcGtPRlRtYStvNEpuaFNXVktESFZJNEtFdHcrUCsv?= =?utf-8?B?QnNKanBxRHcvajJTNG93Mk8yM2Evb2c4R1JHam5pa001NHpJOTMyUDQ5L3p3?= =?utf-8?B?eDZEZmQxME5TbDFBTG8xRS9yL1ZPTmZTQ3dOOENGVmZjbmhiLzgvRWt5OFpW?= =?utf-8?B?cFpIZUVQUU41SkRydzc4azRTWWJuR0VLL0c5UUFQREdSZFUwOGRLeS9pK2dI?= =?utf-8?B?WitBZTRsMWJ4UTNHQzNqcWU5ckhEUGJEWExNSGo1THNyZVhLeFpsNXdLWTN2?= =?utf-8?B?Q3ZHNlBRY09RVDc2RFNDUVpha0k4UjhRNUcvQXFFdUJRN3hMam5OeitzcE9K?= =?utf-8?B?Q2JOR0NJTUUwaHJ3OThDSVZBNkpqd20wS3pYV2ZCSmlTMU16T2JlTUltQi9v?= =?utf-8?B?QUQrY1NNY0VtbzhrTlplQnVvcmV0emRUZDA2WGFISjJVdnFXbEJhWG9kQ3du?= =?utf-8?B?ZXlzSmI0K2puTjg5Q0Z1UjN3bVdESTNWMjRIalVDbkFlRlBDbUM5bUhtNUFp?= =?utf-8?B?YUhZYmtBd2NBSEluNWttaTZQZnFzMUg5Q0RSZW9uNE9TQlJ2bm5OblJ2dHJQ?= =?utf-8?B?cDNSODJXZzNmWnBzN2ZRU3FtWFpkREZhdjVWaWdEMWY5c256OXFzeHhxQ3pJ?= =?utf-8?B?TUtFS0NEbjhCSjhWajFmYU9DWnFDRnJ2R0pSRGNPUlVGSEk2SDFlRTYzdGtN?= =?utf-8?B?NmtZQW11eUxZdnJkRXV4K1gzSkF4NWhKemp5MDQrSEFoZ3hSczF2Nnl3b1N1?= =?utf-8?B?WVNoUDRkUC9NbGZ6ajRlMDlhVGw3WkNiaGZXMnZZYUQwQ0ovRGFUWnBWZUFu?= =?utf-8?B?Tndjd0hITFA5eGVvYU95M05DOFVmc1pVV0hiRlhVa0k3NHJJZm1KdEhBak9V?= =?utf-8?B?eksvS29PVERYM2s4UjVTNjRlOVB3azJHVmRsMEpTNVVGRjlqMHg2b0FxNVdo?= =?utf-8?B?YkIxYy94ak8zYlR2clEwSjRpZ0lEM2dFemE0NExLb2I1dDZWU1pzeVo2Ym9z?= =?utf-8?B?dDhObklVV2VwZ1h0RFY5ZjlucTUzNzRTTXBhRk9PdjZWall3b3kwaE1LeXhV?= =?utf-8?B?Qml0cmxNYll2d0htVit5RWR3eENJMTB0TDY1dlZrV0ZLUUdDb1ZEUm9zdEFL?= =?utf-8?B?dG5JVlRzVTBGbkFCdGxMVHhocmMyVFJ6WnVhR3JrTlFrRGpuY1h1OHBsZ2xU?= =?utf-8?B?Sm45M1RsMHI4Z3grSGkvSXc5QXVieGVXdmJ0ZnNUUCtOSmRyTURvQ3lobUJn?= =?utf-8?B?NTdlbEh2bzFUcmkzdDBWTWVVRlF1R2NETTFrT0YraThHM1IrMVhleXZoODdx?= =?utf-8?B?b3UwMysyc29hQUUrL1FxRitHaVkrQkdrRHpzeHU2U0hUTDJ3b0c1SW9BZW40?= =?utf-8?B?dWhnb3J5OUc5M2paTUtWRzlyb0NTamwrWGF1c2xLREJyTTZVRmY5Z1RmcFIr?= =?utf-8?B?Ynl6RVRsajE2UXE1ck5tY3MvU29NZVEzeDZJUTNHN2owTUIwYjBIMjFpUjcy?= =?utf-8?B?WThwWWhteW5Nd1V4OENGV2R3UU9XU0NkKzZBWWxOMkdjWXRwTUMwSlNiUFFP?= =?utf-8?B?NGRvMnpYWFVsOXJLSkdoWjlWdFp5bjRnQVdkK0hNdzhlVXhOaEEyUFBiL0xs?= =?utf-8?Q?d35k=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: b57dac74-effc-43da-9752-08dba3e36b63 X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB4838.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2023 14:15:36.0525 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: T3PpgR+Vbxt/Q3r1z54z8T9p+TuttZh+NBlJ1bODFW5vTCTT6B+jOYxVSq6h4QTeAQ5SDX8ZNezkvO8oRPq25A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7950 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230823_071542_804911_E970CC66 X-CRM114-Status: GOOD ( 35.33 ) 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 T24gV2VkLCBBdWcgMjMsIDIwMjMgYXQgMDE6MjM6MDVQTSArMDUzMCwgTWFuaXZhbm5hbiBTYWRo YXNpdmFtIHdyb3RlOgo+IE9uIFR1ZSwgQXVnIDIyLCAyMDIzIGF0IDEwOjMwOjA4QU0gLTA0MDAs IEZyYW5rIExpIHdyb3RlOgo+ID4gT24gVHVlLCBBdWcgMjIsIDIwMjMgYXQgMTE6MDI6MTFBTSAr MDIwMCwgTG9yZW56byBQaWVyYWxpc2kgd3JvdGU6Cj4gPiA+IE9uIE1vbiwgQXVnIDIxLCAyMDIz IGF0IDAyOjQ4OjE1UE0gLTA0MDAsIEZyYW5rIExpIHdyb3RlOgo+ID4gPiA+IEZyb206IEhvdSBa aGlxaWFuZyA8WmhpcWlhbmcuSG91QG54cC5jb20+Cj4gPiA+ID4gCj4gPiA+ID4gQWRkIFBNRV9U dXJuX29mZi9QTUVfVE9fQWNrIGhhbmRzaGFrZSBzZXF1ZW5jZSBmb3IgbHMxMDI4YSBwbGF0Zm9y bS4gQ2FsbAo+ID4gPiA+IGNvbW1vbiBkd2MgZHdfcGNpZV9zdXNwZW5kKHJlc3VtZSlfbm9pcnEo KSBmdW5jdGlvbiB3aGVuIHN5c3RlbSBlbnRlci9leGl0Cj4gPiA+ID4gc3VzcGVuZCBzdGF0ZS4K PiA+ID4gPiAKPiA+ID4gPiBBY2tlZC1ieTogTWFuaXZhbm5hbiBTYWRoYXNpdmFtIDxtYW5pQGtl cm5lbC5vcmc+Cj4gPiA+ID4gU2lnbmVkLW9mZi1ieTogSG91IFpoaXFpYW5nIDxaaGlxaWFuZy5I b3VAbnhwLmNvbT4KPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBGcmFuayBMaSA8RnJhbmsuTGlAbnhw LmNvbT4KPiA+ID4gPiAtLS0KPiA+ID4gPiAgZHJpdmVycy9wY2kvY29udHJvbGxlci9kd2MvcGNp LWxheWVyc2NhcGUuYyB8IDEzNSArKysrKysrKysrKysrKysrKystLQo+ID4gPiA+ICAxIGZpbGUg Y2hhbmdlZCwgMTI2IGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCj4gPiA+ID4gCj4gPiA+ ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvZHdjL3BjaS1sYXllcnNjYXBl LmMgYi9kcml2ZXJzL3BjaS9jb250cm9sbGVyL2R3Yy9wY2ktbGF5ZXJzY2FwZS5jCj4gPiA+ID4g aW5kZXggZWQ1ZmI0OTJmZTA4Li45N2I4ZDMzMjlkZjcgMTAwNjQ0Cj4gPiA+ID4gLS0tIGEvZHJp dmVycy9wY2kvY29udHJvbGxlci9kd2MvcGNpLWxheWVyc2NhcGUuYwo+ID4gPiA+ICsrKyBiL2Ry aXZlcnMvcGNpL2NvbnRyb2xsZXIvZHdjL3BjaS1sYXllcnNjYXBlLmMKPiA+ID4gPiBAQCAtOCw5 ICs4LDExIEBACj4gPiA+ID4gICAqIEF1dGhvcjogTWluZ2h1YW4gTGlhbiA8TWluZ2h1YW4uTGlh bkBmcmVlc2NhbGUuY29tPgo+ID4gPiA+ICAgKi8KPiA+ID4gPiAgCj4gPiA+ID4gKyNpbmNsdWRl IDxsaW51eC9kZWxheS5oPgo+ID4gPiA+ICAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+Cj4gPiA+ ID4gICNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KPiA+ID4gPiAgI2luY2x1ZGUgPGxpbnV4 L2luaXQuaD4KPiA+ID4gPiArI2luY2x1ZGUgPGxpbnV4L2lvcG9sbC5oPgo+ID4gPiA+ICAjaW5j bHVkZSA8bGludXgvb2ZfcGNpLmg+Cj4gPiA+ID4gICNpbmNsdWRlIDxsaW51eC9vZl9wbGF0Zm9y bS5oPgo+ID4gPiA+ICAjaW5jbHVkZSA8bGludXgvb2ZfYWRkcmVzcy5oPgo+ID4gPiA+IEBAIC0y MCw2ICsyMiw3IEBACj4gPiA+ID4gICNpbmNsdWRlIDxsaW51eC9tZmQvc3lzY29uLmg+Cj4gPiA+ ID4gICNpbmNsdWRlIDxsaW51eC9yZWdtYXAuaD4KPiA+ID4gPiAgCj4gPiA+ID4gKyNpbmNsdWRl ICIuLi8uLi9wY2kuaCIKPiA+ID4gPiAgI2luY2x1ZGUgInBjaWUtZGVzaWdud2FyZS5oIgo+ID4g PiA+ICAKPiA+ID4gPiAgLyogUEVYIEludGVybmFsIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXJzICov Cj4gPiA+ID4gQEAgLTI3LDEyICszMCwyNiBAQAo+ID4gPiA+ICAjZGVmaW5lIFBDSUVfQUJTRVJS CQkweDhkMCAvKiBCcmlkZ2UgU2xhdmUgRXJyb3IgUmVzcG9uc2UgUmVnaXN0ZXIgKi8KPiA+ID4g PiAgI2RlZmluZSBQQ0lFX0FCU0VSUl9TRVRUSU5HCTB4OTQwMSAvKiBGb3J3YXJkIGVycm9yIG9m IG5vbi1wb3N0ZWQgcmVxdWVzdCAqLwo+ID4gPiA+ICAKPiA+ID4gPiArLyogUEYgTWVzc2FnZSBD b21tYW5kIFJlZ2lzdGVyICovCj4gPiA+ID4gKyNkZWZpbmUgTFNfUENJRV9QRl9NQ1IJCTB4MmMK PiA+ID4gPiArI2RlZmluZSBQRl9NQ1JfUFRPTVIJCUJJVCgwKQo+ID4gPiA+ICsjZGVmaW5lIFBG X01DUl9FWEwyUwkJQklUKDEpCj4gPiA+ID4gKwo+ID4gPiA+ICAjZGVmaW5lIFBDSUVfSUFUVV9O VU0JCTYKPiA+ID4gPiAgCj4gPiA+ID4gK3N0cnVjdCBsc19wY2llX2RydmRhdGEgewo+ID4gPiA+ ICsJY29uc3QgdTMyIHBmX29mZjsKPiA+ID4gPiArCWJvb2wgcG1fc3VwcG9ydDsKPiA+ID4gPiAr fTsKPiA+ID4gPiArCj4gPiA+ID4gIHN0cnVjdCBsc19wY2llIHsKPiA+ID4gPiAgCXN0cnVjdCBk d19wY2llICpwY2k7Cj4gPiA+ID4gKwljb25zdCBzdHJ1Y3QgbHNfcGNpZV9kcnZkYXRhICpkcnZk YXRhOwo+ID4gPiA+ICsJdm9pZCBfX2lvbWVtICpwZl9iYXNlOwo+ID4gPiA+ICsJYm9vbCBiaWdf ZW5kaWFuOwo+ID4gPiA+ICB9Owo+ID4gPiA+ICAKPiA+ID4gPiArI2RlZmluZSBsc19wY2llX3Bm X3JlYWRsX2FkZHIoYWRkcikJbHNfcGNpZV9wZl9yZWFkbChwY2llLCBhZGRyKQo+ID4gPiA+ICAj ZGVmaW5lIHRvX2xzX3BjaWUoeCkJZGV2X2dldF9kcnZkYXRhKCh4KS0+ZGV2KQo+ID4gPiA+ICAK PiA+ID4gPiAgc3RhdGljIGJvb2wgbHNfcGNpZV9pc19icmlkZ2Uoc3RydWN0IGxzX3BjaWUgKnBj aWUpCj4gPiA+ID4gQEAgLTczLDYgKzkwLDY0IEBAIHN0YXRpYyB2b2lkIGxzX3BjaWVfZml4X2Vy cm9yX3Jlc3BvbnNlKHN0cnVjdCBsc19wY2llICpwY2llKQo+ID4gPiA+ICAJaW93cml0ZTMyKFBD SUVfQUJTRVJSX1NFVFRJTkcsIHBjaS0+ZGJpX2Jhc2UgKyBQQ0lFX0FCU0VSUik7Cj4gPiA+ID4g IH0KPiA+ID4gPiAgCj4gPiA+ID4gK3N0YXRpYyB1MzIgbHNfcGNpZV9wZl9yZWFkbChzdHJ1Y3Qg bHNfcGNpZSAqcGNpZSwgdTMyIG9mZikKPiA+ID4gPiArewo+ID4gPiA+ICsJaWYgKHBjaWUtPmJp Z19lbmRpYW4pCj4gPiA+ID4gKwkJcmV0dXJuIGlvcmVhZDMyYmUocGNpZS0+cGZfYmFzZSArIG9m Zik7Cj4gPiA+ID4gKwo+ID4gPiA+ICsJcmV0dXJuIGlvcmVhZDMyKHBjaWUtPnBmX2Jhc2UgKyBv ZmYpOwo+ID4gPiA+ICt9Cj4gPiA+ID4gKwo+ID4gPiA+ICtzdGF0aWMgdm9pZCBsc19wY2llX3Bm X3dyaXRlbChzdHJ1Y3QgbHNfcGNpZSAqcGNpZSwgdTMyIG9mZiwgdTMyIHZhbCkKPiA+ID4gPiAr ewo+ID4gPiA+ICsJaWYgKHBjaWUtPmJpZ19lbmRpYW4pCj4gPiA+ID4gKwkJaW93cml0ZTMyYmUo dmFsLCBwY2llLT5wZl9iYXNlICsgb2ZmKTsKPiA+ID4gPiArCWVsc2UKPiA+ID4gPiArCQlpb3dy aXRlMzIodmFsLCBwY2llLT5wZl9iYXNlICsgb2ZmKTsKPiA+ID4gPiArfQo+ID4gPiA+ICsKPiA+ ID4gPiArc3RhdGljIHZvaWQgbHNfcGNpZV9zZW5kX3R1cm5vZmZfbXNnKHN0cnVjdCBkd19wY2ll X3JwICpwcCkKPiA+ID4gPiArewo+ID4gPiA+ICsJc3RydWN0IGR3X3BjaWUgKnBjaSA9IHRvX2R3 X3BjaWVfZnJvbV9wcChwcCk7Cj4gPiA+ID4gKwlzdHJ1Y3QgbHNfcGNpZSAqcGNpZSA9IHRvX2xz X3BjaWUocGNpKTsKPiA+ID4gPiArCXUzMiB2YWw7Cj4gPiA+ID4gKwlpbnQgcmV0Owo+ID4gPiA+ ICsKPiA+ID4gPiArCXZhbCA9IGxzX3BjaWVfcGZfcmVhZGwocGNpZSwgTFNfUENJRV9QRl9NQ1Ip Owo+ID4gPiA+ICsJdmFsIHw9IFBGX01DUl9QVE9NUjsKPiA+ID4gPiArCWxzX3BjaWVfcGZfd3Jp dGVsKHBjaWUsIExTX1BDSUVfUEZfTUNSLCB2YWwpOwo+ID4gPiA+ICsKPiA+ID4gPiArCXJldCA9 IHJlYWR4X3BvbGxfdGltZW91dChsc19wY2llX3BmX3JlYWRsX2FkZHIsIExTX1BDSUVfUEZfTUNS LAo+ID4gPiA+ICsJCQkJIHZhbCwgISh2YWwgJiBQRl9NQ1JfUFRPTVIpLAo+ID4gPiA+ICsJCQkJ IFBDSUVfUE1FX1RPX0wyX1RJTUVPVVRfVVMvMTAsCj4gPiA+ID4gKwkJCQkgUENJRV9QTUVfVE9f TDJfVElNRU9VVF9VUyk7Cj4gPiA+ID4gKwlpZiAocmV0KQo+ID4gPiA+ICsJCWRldl9lcnIocGNp ZS0+cGNpLT5kZXYsICJQTUVfVHVybl9vZmYgdGltZW91dFxuIik7Cj4gPiA+ID4gK30KPiA+ID4g PiArCj4gPiA+ID4gK3N0YXRpYyB2b2lkIGxzX3BjaWVfZXhpdF9mcm9tX2wyKHN0cnVjdCBkd19w Y2llX3JwICpwcCkKPiA+ID4gPiArewo+ID4gPiA+ICsJc3RydWN0IGR3X3BjaWUgKnBjaSA9IHRv X2R3X3BjaWVfZnJvbV9wcChwcCk7Cj4gPiA+ID4gKwlzdHJ1Y3QgbHNfcGNpZSAqcGNpZSA9IHRv X2xzX3BjaWUocGNpKTsKPiA+ID4gPiArCXUzMiB2YWw7Cj4gPiA+ID4gKwlpbnQgcmV0Owo+ID4g PiA+ICsKPiA+ID4gPiArCS8qCj4gPiA+ID4gKwkgKiBTZXQgUEZfTUNSX0VYTDJTIGJpdCBpbiBM U19QQ0lFX1BGX01DUiByZWdpc3RlciBmb3IgdGhlIGxpbmsKPiA+ID4gPiArCSAqIHRvIGV4aXQg TDIgc3RhdGUuCj4gPiA+ID4gKwkgKi8KPiA+ID4gPiArCXZhbCA9IGxzX3BjaWVfcGZfcmVhZGwo cGNpZSwgTFNfUENJRV9QRl9NQ1IpOwo+ID4gPiA+ICsJdmFsIHw9IFBGX01DUl9FWEwyUzsKPiA+ ID4gPiArCWxzX3BjaWVfcGZfd3JpdGVsKHBjaWUsIExTX1BDSUVfUEZfTUNSLCB2YWwpOwo+ID4g PiA+ICsKPiA+ID4gPiArCXJldCA9IHJlYWR4X3BvbGxfdGltZW91dChsc19wY2llX3BmX3JlYWRs X2FkZHIsIExTX1BDSUVfUEZfTUNSLAo+ID4gPiA+ICsJCQkJIHZhbCwgISh2YWwgJiBQRl9NQ1Jf RVhMMlMpLAo+ID4gPiA+ICsJCQkJIDEwMDAsCj4gPiA+ID4gKwkJCQkgMTAwMDApOwo+ID4gPiAK PiA+ID4gSSBjYW4gYWRkIGEgY29tbWVudCBteXNlbGYgLSBwbGVhc2UgZXhwbGFpbiBob3cgdGhp cyBkZWxheSB3YXMgY2hvc2VuLAo+ID4gPiBhbnkgcGllY2Ugb2YgaW5mb3JtYXRpb24gY291bGQg YmUgdXNlZnVsIGZvciBhIGZ1dHVyZSBkZXZlbG9wZXIsIGxldAo+ID4gPiBtZSBrbm93IGFuZCBJ IHdpbGwgYWRkIGl0Lgo+ID4gCj4gPiAoVGhpcyB2YWx1ZSBpcyBjb21pbmcgZnJvbSBleGl0ZWQg ZG93bnN0cmVhbSBjb2RlLiBJdCBpcyByZWFsbHkgaGFyZCB0bwo+ID4gZmluZCBvcmlnaW5hbCBv d25lciBhbmQgZGVzaWduZXIgdG8gZmluZCB0aGUgcmVhc29uKS4KPiA+IAo+ID4gSG93IGFib3V0 IGp1c3QgYWRkIGJlbG93IGNvbW1lbnRzPwo+ID4gCj4gPiAiTm8gc3BlY2lmaWMgc3BlY2lmaWNh dGlvbiBkZWZpbmVzIHRoaXMgdGltZW91dCB2YWx1ZS4gVGhlIHRpbWVtb3V0IG9mIDEwbXMKPiA+ IHdhcyBjaG9zZW4gYnkgdGhlIGVuZ2luZWVyIGFzIGEgc3VmZmljaWVudCBhbW91bnQgb2YgdGlt ZSB0byBhbGxvdyB0aGUKPiA+IGhhcmR3YXJlIHRvIGNvbXBsZXRlIGl0cyBhY3Rpb25zLiIKPiA+ IAo+IAo+IEhvdyBhYm91dCwgIkwxIGV4aXQgdGltZW91dCBvZiAxMG1zIGlzIG5vdCBkZWZpbmVk IGluIHRoZSBzcGVjLCBidXQgcmF0aGVyCj4gY2hvc2VuIGJhc2VkIG9uIHRoZSBwcmFjdGljYWwg b2JzZXJ2YXRpb25zLiIKCkdyZWF0IQoKRnJhbmsKCj4gCj4gLSBNYW5pCj4gCj4gPiA+IAo+ID4g PiA+ICsJaWYgKHJldCkKPiA+ID4gPiArCQlkZXZfZXJyKHBjaWUtPnBjaS0+ZGV2LCAiTDIgZXhp dCB0aW1lb3V0XG4iKTsKPiA+ID4gPiArfQo+ID4gPiA+ICsKPiA+ID4gPiAgc3RhdGljIGludCBs c19wY2llX2hvc3RfaW5pdChzdHJ1Y3QgZHdfcGNpZV9ycCAqcHApCj4gPiA+ID4gIHsKPiA+ID4g PiAgCXN0cnVjdCBkd19wY2llICpwY2kgPSB0b19kd19wY2llX2Zyb21fcHAocHApOwo+ID4gPiA+ IEBAIC05MSwxOCArMTY2LDI3IEBAIHN0YXRpYyBpbnQgbHNfcGNpZV9ob3N0X2luaXQoc3RydWN0 IGR3X3BjaWVfcnAgKnBwKQo+ID4gPiA+ICAKPiA+ID4gPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBk d19wY2llX2hvc3Rfb3BzIGxzX3BjaWVfaG9zdF9vcHMgPSB7Cj4gPiA+ID4gIAkuaG9zdF9pbml0 ID0gbHNfcGNpZV9ob3N0X2luaXQsCj4gPiA+ID4gKwkucG1lX3R1cm5fb2ZmID0gbHNfcGNpZV9z ZW5kX3R1cm5vZmZfbXNnLAo+ID4gPiA+ICt9Owo+ID4gPiA+ICsKPiA+ID4gPiArc3RhdGljIGNv bnN0IHN0cnVjdCBsc19wY2llX2RydmRhdGEgbHMxMDIxYV9kcnZkYXRhID0gewo+ID4gPiAKPiA+ ID4gSSBzdWdnZXN0IGFkZGluZyAucG1fc3VwcG9ydCA9IGZhbHNlIGV4cGxpY2l0bHkgaGVyZSwg SSBjYW4KPiA+ID4gZG8gaXQgbXlzZWxmLgo+ID4gPiAKPiA+ID4gVGhhbmtzLAo+ID4gPiBMb3Jl bnpvCj4gPiAKPiA+IFRoYW5rcyEKPiA+IAo+ID4gPiAKPiA+ID4gPiArfTsKPiA+ID4gPiArCj4g PiA+ID4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbHNfcGNpZV9kcnZkYXRhIGxheWVyc2NhcGVfZHJ2 ZGF0YSA9IHsKPiA+ID4gPiArCS5wZl9vZmYgPSAweGMwMDAwLAo+ID4gPiA+ICsJLnBtX3N1cHBv cnQgPSB0cnVlLAo+ID4gPiA+ICB9Owo+ID4gPiA+ICAKPiA+ID4gPiAgc3RhdGljIGNvbnN0IHN0 cnVjdCBvZl9kZXZpY2VfaWQgbHNfcGNpZV9vZl9tYXRjaFtdID0gewo+ID4gPiA+IC0JeyAuY29t cGF0aWJsZSA9ICJmc2wsbHMxMDEyYS1wY2llIiwgfSwKPiA+ID4gPiAtCXsgLmNvbXBhdGlibGUg PSAiZnNsLGxzMTAyMWEtcGNpZSIsIH0sCj4gPiA+ID4gLQl7IC5jb21wYXRpYmxlID0gImZzbCxs czEwMjhhLXBjaWUiLCB9LAo+ID4gPiA+IC0JeyAuY29tcGF0aWJsZSA9ICJmc2wsbHMxMDQzYS1w Y2llIiwgfSwKPiA+ID4gPiAtCXsgLmNvbXBhdGlibGUgPSAiZnNsLGxzMTA0NmEtcGNpZSIsIH0s Cj4gPiA+ID4gLQl7IC5jb21wYXRpYmxlID0gImZzbCxsczIwODBhLXBjaWUiLCB9LAo+ID4gPiA+ IC0JeyAuY29tcGF0aWJsZSA9ICJmc2wsbHMyMDg1YS1wY2llIiwgfSwKPiA+ID4gPiAtCXsgLmNv bXBhdGlibGUgPSAiZnNsLGxzMjA4OGEtcGNpZSIsIH0sCj4gPiA+ID4gLQl7IC5jb21wYXRpYmxl ID0gImZzbCxsczEwODhhLXBjaWUiLCB9LAo+ID4gPiA+ICsJeyAuY29tcGF0aWJsZSA9ICJmc2ws bHMxMDEyYS1wY2llIiwgLmRhdGEgPSAmbGF5ZXJzY2FwZV9kcnZkYXRhIH0sCj4gPiA+ID4gKwl7 IC5jb21wYXRpYmxlID0gImZzbCxsczEwMjFhLXBjaWUiLCAuZGF0YSA9ICZsczEwMjFhX2RydmRh dGEgfSwKPiA+ID4gPiArCXsgLmNvbXBhdGlibGUgPSAiZnNsLGxzMTAyOGEtcGNpZSIsIC5kYXRh ID0gJmxheWVyc2NhcGVfZHJ2ZGF0YSB9LAo+ID4gPiA+ICsJeyAuY29tcGF0aWJsZSA9ICJmc2ws bHMxMDQzYS1wY2llIiwgLmRhdGEgPSAmbHMxMDIxYV9kcnZkYXRhIH0sCj4gPiA+ID4gKwl7IC5j b21wYXRpYmxlID0gImZzbCxsczEwNDZhLXBjaWUiLCAuZGF0YSA9ICZsYXllcnNjYXBlX2RydmRh dGEgfSwKPiA+ID4gPiArCXsgLmNvbXBhdGlibGUgPSAiZnNsLGxzMjA4MGEtcGNpZSIsIC5kYXRh ID0gJmxheWVyc2NhcGVfZHJ2ZGF0YSB9LAo+ID4gPiA+ICsJeyAuY29tcGF0aWJsZSA9ICJmc2ws bHMyMDg1YS1wY2llIiwgLmRhdGEgPSAmbGF5ZXJzY2FwZV9kcnZkYXRhIH0sCj4gPiA+ID4gKwl7 IC5jb21wYXRpYmxlID0gImZzbCxsczIwODhhLXBjaWUiLCAuZGF0YSA9ICZsYXllcnNjYXBlX2Ry dmRhdGEgfSwKPiA+ID4gPiArCXsgLmNvbXBhdGlibGUgPSAiZnNsLGxzMTA4OGEtcGNpZSIsIC5k YXRhID0gJmxheWVyc2NhcGVfZHJ2ZGF0YSB9LAo+ID4gPiA+ICAJeyB9LAo+ID4gPiA+ICB9Owo+ ID4gPiA+ICAKPiA+ID4gPiBAQCAtMTIxLDYgKzIwNSw4IEBAIHN0YXRpYyBpbnQgbHNfcGNpZV9w cm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ID4gPiA+ICAJaWYgKCFwY2kpCj4g PiA+ID4gIAkJcmV0dXJuIC1FTk9NRU07Cj4gPiA+ID4gIAo+ID4gPiA+ICsJcGNpZS0+ZHJ2ZGF0 YSA9IG9mX2RldmljZV9nZXRfbWF0Y2hfZGF0YShkZXYpOwo+ID4gPiA+ICsKPiA+ID4gPiAgCXBj aS0+ZGV2ID0gZGV2Owo+ID4gPiA+ICAJcGNpLT5wcC5vcHMgPSAmbHNfcGNpZV9ob3N0X29wczsK PiA+ID4gPiAgCj4gPiA+ID4gQEAgLTEzMSw2ICsyMTcsMTAgQEAgc3RhdGljIGludCBsc19wY2ll X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4gPiA+ID4gIAlpZiAoSVNfRVJS KHBjaS0+ZGJpX2Jhc2UpKQo+ID4gPiA+ICAJCXJldHVybiBQVFJfRVJSKHBjaS0+ZGJpX2Jhc2Up Owo+ID4gPiA+ICAKPiA+ID4gPiArCXBjaWUtPmJpZ19lbmRpYW4gPSBvZl9wcm9wZXJ0eV9yZWFk X2Jvb2woZGV2LT5vZl9ub2RlLCAiYmlnLWVuZGlhbiIpOwo+ID4gPiA+ICsKPiA+ID4gPiArCXBj aWUtPnBmX2Jhc2UgPSBwY2ktPmRiaV9iYXNlICsgcGNpZS0+ZHJ2ZGF0YS0+cGZfb2ZmOwo+ID4g PiA+ICsKPiA+ID4gPiAgCWlmICghbHNfcGNpZV9pc19icmlkZ2UocGNpZSkpCj4gPiA+ID4gIAkJ cmV0dXJuIC1FTk9ERVY7Cj4gPiA+ID4gIAo+ID4gPiA+IEBAIC0xMzksMTIgKzIyOSwzOSBAQCBz dGF0aWMgaW50IGxzX3BjaWVfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiA+ ID4gPiAgCXJldHVybiBkd19wY2llX2hvc3RfaW5pdCgmcGNpLT5wcCk7Cj4gPiA+ID4gIH0KPiA+ ID4gPiAgCj4gPiA+ID4gK3N0YXRpYyBpbnQgbHNfcGNpZV9zdXNwZW5kX25vaXJxKHN0cnVjdCBk ZXZpY2UgKmRldikKPiA+ID4gPiArewo+ID4gPiA+ICsJc3RydWN0IGxzX3BjaWUgKnBjaWUgPSBk ZXZfZ2V0X2RydmRhdGEoZGV2KTsKPiA+ID4gPiArCj4gPiA+ID4gKwlpZiAoIXBjaWUtPmRydmRh dGEtPnBtX3N1cHBvcnQpCj4gPiA+ID4gKwkJcmV0dXJuIDA7Cj4gPiA+ID4gKwo+ID4gPiA+ICsJ cmV0dXJuIGR3X3BjaWVfc3VzcGVuZF9ub2lycShwY2llLT5wY2kpOwo+ID4gPiA+ICt9Cj4gPiA+ ID4gKwo+ID4gPiA+ICtzdGF0aWMgaW50IGxzX3BjaWVfcmVzdW1lX25vaXJxKHN0cnVjdCBkZXZp Y2UgKmRldikKPiA+ID4gPiArewo+ID4gPiA+ICsJc3RydWN0IGxzX3BjaWUgKnBjaWUgPSBkZXZf Z2V0X2RydmRhdGEoZGV2KTsKPiA+ID4gPiArCj4gPiA+ID4gKwlpZiAoIXBjaWUtPmRydmRhdGEt PnBtX3N1cHBvcnQpCj4gPiA+ID4gKwkJcmV0dXJuIDA7Cj4gPiA+ID4gKwo+ID4gPiA+ICsJbHNf cGNpZV9leGl0X2Zyb21fbDIoJnBjaWUtPnBjaS0+cHApOwo+ID4gPiA+ICsKPiA+ID4gPiArCXJl dHVybiBkd19wY2llX3Jlc3VtZV9ub2lycShwY2llLT5wY2kpOwo+ID4gPiA+ICt9Cj4gPiA+ID4g Kwo+ID4gPiA+ICtzdGF0aWMgY29uc3Qgc3RydWN0IGRldl9wbV9vcHMgbHNfcGNpZV9wbV9vcHMg PSB7Cj4gPiA+ID4gKwlOT0lSUV9TWVNURU1fU0xFRVBfUE1fT1BTKGxzX3BjaWVfc3VzcGVuZF9u b2lycSwgbHNfcGNpZV9yZXN1bWVfbm9pcnEpCj4gPiA+ID4gK307Cj4gPiA+ID4gKwo+ID4gPiA+ ICBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBsc19wY2llX2RyaXZlciA9IHsKPiA+ID4g PiAgCS5wcm9iZSA9IGxzX3BjaWVfcHJvYmUsCj4gPiA+ID4gIAkuZHJpdmVyID0gewo+ID4gPiA+ ICAJCS5uYW1lID0gImxheWVyc2NhcGUtcGNpZSIsCj4gPiA+ID4gIAkJLm9mX21hdGNoX3RhYmxl ID0gbHNfcGNpZV9vZl9tYXRjaCwKPiA+ID4gPiAgCQkuc3VwcHJlc3NfYmluZF9hdHRycyA9IHRy dWUsCj4gPiA+ID4gKwkJLnBtID0gJmxzX3BjaWVfcG1fb3BzLAo+ID4gPiA+ICAJfSwKPiA+ID4g PiAgfTsKPiA+ID4gPiAgYnVpbHRpbl9wbGF0Zm9ybV9kcml2ZXIobHNfcGNpZV9kcml2ZXIpOwo+ ID4gPiA+IC0tIAo+ID4gPiA+IDIuMzQuMQo+ID4gPiA+IAo+IAo+IC0tIAo+IOCuruCuo+Cuv+Cu teCuo+CvjeCuo+CuqeCvjSDgrprgrqTgrr7grprgrr/grrXgrq7gr40KCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGlu ZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMu aW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK