Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp280991rwd; Wed, 17 May 2023 18:39:48 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5C6j1kF2ZzjLdXy6+u+bhDt9mkOlWCp7vMte183tnFKdDXK5zLUvDNVW4useF3NVTSUfz/ X-Received: by 2002:a05:6a00:17a0:b0:643:ba77:f265 with SMTP id s32-20020a056a0017a000b00643ba77f265mr2567439pfg.25.1684373988116; Wed, 17 May 2023 18:39:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1684373988; cv=none; d=google.com; s=arc-20160816; b=uUL+ODP0atBt2FFBjMcC6hpmLHhsS0IKotXkLqfYEAcg7VQ74wZaqVAStsOJeAuAE2 yHQwFdInKfmoQVe/iXMGBWQnKBNgyiughE5Jy0pm25Orer2VYmV16ozxVtMns1gLCo+k wDK2bFABT1mKSmsM6ID4hFpJExrDPutNJZQaL+xaqVBTXNq44GSJcHbUFI/+JHoVjlVT 3TLlOZY24/8ES3onK7C6Lb4Pmu2dMeIiIsYAHuxTnIKX3UTTrXxjhU/BW4cmUmZVE+u2 EmFbckJc9J+lEXeNP1hMHN3siWnc+1yb9PWJhv2WHnq7lq08SRa/trKRWYP37sdJ53EL vBjw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:to:from; bh=7M8PT82bKmbzkPiDKBOT7XADEej1iIt1KOVmYysvjbw=; b=tsDbUoR8dYF85Lfb6zxREwDy5zZFIWBiUc8rnE8RlI1hMWG72IDoRuaUD68Xht1Ut8 ZfgLHgeD3QYZCydqD0cZkQbRbkGqeCYzqNCDNORjqh351iHSBe9H4Fb2ZuwqPaSma8Qu /m/xJhsx7ZgUq8p7DWK8EqA50X2qwquJmZnH5uu0qn/dEfY6jD6ZMDPA67hokuYDW3zL DZ9liPiECHCXZUu4SSRNVaYVyqcS4G+6P06bb1CNpQeZObDPEAZEnQ2rJdwWOpeGAF/d 13tI4v0WI9MdH+6NTGCoxw2Fr2WcjLgSC206Qi9mhEelYC2tFnvlpo1X35j30wQHulAQ RMcg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id x125-20020a626383000000b00645e8c9e282si425260pfb.189.2023.05.17.18.39.33; Wed, 17 May 2023 18:39:48 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229656AbjERB3h (ORCPT + 99 others); Wed, 17 May 2023 21:29:37 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35480 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229498AbjERB3f (ORCPT ); Wed, 17 May 2023 21:29:35 -0400 Received: from fd01.gateway.ufhost.com (fd01.gateway.ufhost.com [61.152.239.71]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 148053599 for ; Wed, 17 May 2023 18:29:33 -0700 (PDT) Received: from EXMBX166.cuchost.com (unknown [175.102.18.54]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "EXMBX166", Issuer "EXMBX166" (not verified)) by fd01.gateway.ufhost.com (Postfix) with ESMTP id 2B8CD24DCF1; Thu, 18 May 2023 09:29:26 +0800 (CST) Received: from EXMBX168.cuchost.com (172.16.6.78) by EXMBX166.cuchost.com (172.16.6.76) with Microsoft SMTP Server (TLS) id 15.0.1497.42; Thu, 18 May 2023 09:29:26 +0800 Received: from EXMBX066.cuchost.com (172.16.7.66) by EXMBX168.cuchost.com (172.16.6.78) with Microsoft SMTP Server (TLS) id 15.0.1497.42; Thu, 18 May 2023 09:29:25 +0800 Received: from EXMBX066.cuchost.com ([fe80::5947:9245:907e:339f]) by EXMBX066.cuchost.com ([fe80::5947:9245:907e:339f%17]) with mapi id 15.00.1497.044; Thu, 18 May 2023 09:29:25 +0800 From: JeeHeng Sia To: Alexandre Ghiti , Song Shuai , Rob Herring , Andrew Jones , Anup Patel , Palmer Dabbelt , Leyfoon Tan , Mason Huo , Paul Walmsley , "Guo Ren" , linux-riscv , Linux Kernel Mailing List , Conor Dooley Subject: RE: Bug report: kernel paniced when system hibernates Thread-Topic: Bug report: kernel paniced when system hibernates Thread-Index: AQHZh9g1UxpK4+O/SUareMzY680B/K9cONsAgAFstwCAACN8AIAAw0MmgACydoA= Date: Thu, 18 May 2023 01:29:25 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US, zh-CN Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [202.188.176.82] x-yovoleruleagent: yovoleflag Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,SPF_HELO_PASS, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogQWxleGFuZHJlIEdoaXRp IDxhbGV4Z2hpdGlAcml2b3NpbmMuY29tPg0KPiBTZW50OiBXZWRuZXNkYXksIE1heSAxNywgMjAy MyAxMDo0MiBQTQ0KPiBUbzogU29uZyBTaHVhaSA8c3VhZ3JmaWxsZXRAZ21haWwuY29tPjsgUm9i IEhlcnJpbmcgPHJvYmhAa2VybmVsLm9yZz47IEFuZHJldyBKb25lcyA8YWpvbmVzQHZlbnRhbmFt aWNyby5jb20+OyBBbnVwIFBhdGVsDQo+IDxhbnVwQGJyYWluZmF1bHQub3JnPjsgUGFsbWVyIERh YmJlbHQgPHBhbG1lckByaXZvc2luYy5jb20+OyBKZWVIZW5nIFNpYSA8amVlaGVuZy5zaWFAc3Rh cmZpdmV0ZWNoLmNvbT47IExleWZvb24gVGFuDQo+IDxsZXlmb29uLnRhbkBzdGFyZml2ZXRlY2gu Y29tPjsgTWFzb24gSHVvIDxtYXNvbi5odW9Ac3RhcmZpdmV0ZWNoLmNvbT47IFBhdWwgV2FsbXNs ZXkgPHBhdWwud2FsbXNsZXlAc2lmaXZlLmNvbT47IEd1byBSZW4NCj4gPGd1b3JlbkBrZXJuZWwu b3JnPjsgbGludXgtcmlzY3YgPGxpbnV4LXJpc2N2QGxpc3RzLmluZnJhZGVhZC5vcmc+OyBMaW51 eCBLZXJuZWwgTWFpbGluZyBMaXN0IDxsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnPjsgQ29u b3INCj4gRG9vbGV5IDxjb25vci5kb29sZXlAbWljcm9jaGlwLmNvbT4NCj4gU3ViamVjdDogRndk OiBCdWcgcmVwb3J0OiBrZXJuZWwgcGFuaWNlZCB3aGVuIHN5c3RlbSBoaWJlcm5hdGVzDQo+IA0K PiBTb3JyeSwgcHJlc3NlZCAicmVwbHkiIGluc3RlYWQgb2YgInJlcGx5IGFsbCIuLi4NCj4gDQo+ IC0tLS0tLS0tLS0gRm9yd2FyZGVkIG1lc3NhZ2UgLS0tLS0tLS0tDQo+IEZyb206IEFsZXhhbmRy ZSBHaGl0aSA8YWxleGdoaXRpQHJpdm9zaW5jLmNvbT4NCj4gRGF0ZTogV2VkLCBNYXkgMTcsIDIw MjMgYXQgNDo0MOKAr1BNDQo+IFN1YmplY3Q6IFJlOiBCdWcgcmVwb3J0OiBrZXJuZWwgcGFuaWNl ZCB3aGVuIHN5c3RlbSBoaWJlcm5hdGVzDQo+IFRvOiBTb25nIFNodWFpIDxzdWFncmZpbGxldEBn bWFpbC5jb20+LCBBbnVwIFBhdGVsDQo+IDxhbnVwQGJyYWluZmF1bHQub3JnPiwgQXRpc2ggS3Vt YXIgUGF0cmEgPGF0aXNocEByaXZvc2luYy5jb20+DQo+IA0KPiANCj4gT24gV2VkLCBNYXkgMTcs IDIwMjMgYXQgMTowNeKAr1BNIFNvbmcgU2h1YWkgPHN1YWdyZmlsbGV0QGdtYWlsLmNvbT4gd3Jv dGU6DQo+ID4NCj4gPiBBbGV4YW5kcmUgR2hpdGkgPGFsZXhnaGl0aUByaXZvc2luYy5jb20+IOS6 jjIwMjPlubQ15pyIMTfml6XlkajkuIkgMDg6NTjlhpnpgZPvvJoNCj4gPiA+DQo+ID4gPiBPbiBU dWUsIE1heSAxNiwgMjAyMyBhdCAxOjEy4oCvUE0gQWxleGFuZHJlIEdoaXRpIDxhbGV4Z2hpdGlA cml2b3NpbmMuY29tPiB3cm90ZToNCj4gPiA+ID4NCj4gPiA+ID4gSGkgU29uZywNCj4gPiA+ID4N Cj4gPiA+ID4gT24gVHVlLCBNYXkgMTYsIDIwMjMgYXQgMTE6MjTigK9BTSBTb25nIFNodWFpIDxz dWFncmZpbGxldEBnbWFpbC5jb20+IHdyb3RlOg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gRGVzY3Jp cHRpb24gb2YgcHJvYmxlbToNCj4gPiA+ID4gPg0KPiA+ID4gPiA+IFRoZSBsYXRlc3QgaGliZXJu YXRpb24gc3VwcG9ydFsxXSBvZiBSSVNDLVYgTGludXggcHJvZHVjZWQgYSBrZXJuZWwgcGFuaWMu DQo+ID4gPiA+ID4gVGhlIGVudGlyZSBsb2cgaGFzIGJlZW4gcG9zdGVkIGF0IHRoaXMgbGluazog aHR0cHM6Ly90ZXJtYmluLmNvbS9zcGhsIC4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IEhvdyByZXBy b2R1Y2libGU6DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBZb3UgY2FuIHJlcHJvZHVjZSBpdCB3aXRo IHRoZSBmb2xsb3dpbmcgc3RlcCA6DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiAxLiBwcmVwYXJlIHRo ZSBlbnZpcm9ubWVudCB3aXRoDQo+ID4gPiA+ID4gLSBRZW11LXZpcnQgdjguMC4wICh3aXRoIE9w ZW5TYmkgdjEuMikNCj4gPiA+ID4gPiAtIExpbnV4IHY2LjQtcmMxDQo+ID4gPiA+ID4NCj4gPiA+ ID4gPiAyLiBzdGFydCB0aGUgUWVtdSB2aXJ0DQo+ID4gPiA+ID4gYGBgc2gNCj4gPiA+ID4gPiAk IGNhdCB+LzhfcmlzY3Yvc3RhcnRfbGF0ZXN0LnNoDQo+ID4gPiA+ID4gIyEvYmluL2Jhc2gNCj4g PiA+ID4gPiAvaG9tZS9zb25nLzhfcmlzY3YvM19hY3BpL3FlbXUvb29vL3Vzci9sb2NhbC9iaW4v cWVtdS1zeXN0ZW0tcmlzY3Y2NCBcDQo+ID4gPiA+ID4gLXNtcCAyIC1tIDRHIC1ub2dyYXBoaWMg LW1hY2hpbmUgdmlydCBcDQo+ID4gPiA+ID4gLWtlcm5lbCAvaG9tZS9zb25nLzlfbGludXgvbGlu dXgvMDBfcnZfdGVzdC9hcmNoL3Jpc2N2L2Jvb3QvSW1hZ2UgXA0KPiA+ID4gPiA+IC1hcHBlbmQg InJvb3Q9L2Rldi92ZGEgcm8gZWF5bHljb249dWFydDgyNTAsbW1pbywweDEwMDAwMDAwDQo+ID4g PiA+ID4gZWFybHlfaW9yZW1hcF9kZWJ1ZyBjb25zb2xlPXR0eVMwIGxvZ2xldmVsPTggbWVtYmxv Y2s9ZGVidWcNCj4gPiA+ID4gPiBub19jb25zb2xlX3N1c3BlbmQgYXVkaXQ9MCAzIiBcDQo+ID4g PiA+ID4gLWRyaXZlIGZpbGU9L2hvbWUvc29uZy84X3Jpc2N2L2ZlZG9yYS9zdGFnZTQtZGlzay5p bWcsZm9ybWF0PXJhdyxpZD1oZDAgXA0KPiA+ID4gPiA+IC1kZXZpY2UgdmlydGlvLWJsay1kZXZp Y2UsZHJpdmU9aGQwIFwNCj4gPiA+ID4gPiAtZHJpdmUgZmlsZT0vaG9tZS9zb25nLzhfcmlzY3Yv ZmVkb3JhL2FkaXNrLnFjb3cyLGZvcm1hdD1xY293MixpZD1oZDEgXA0KPiA+ID4gPiA+IC1kZXZp Y2UgdmlydGlvLWJsay1kZXZpY2UsZHJpdmU9aGQxIFwNCj4gPiA+ID4gPiAtZ2RiIHRjcDo6MTIz NiAjLVMNCj4gPiA+ID4gPiBgYGANCj4gPiA+ID4gPiAzLiBleGVjdXRlIGhpYmVybmF0aW9uDQo+ ID4gPiA+ID4NCj4gPiA+ID4gPiBgYGBzaA0KPiA+ID4gPiA+IHN3YXBvbiAvZGV2L3ZkYjIgIyB0 aGlzIGlzIG15IHN3YXAgZGlzaw0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gZWNobyBkaXNrID4gL3N5 cy9wb3dlci9zdGF0ZQ0KPiA+ID4gPiA+IGBgYA0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gNC4gVGhl biB5b3Ugd2lsbCBlbmNvdW50ZXIgdGhlIGtlcm5lbCBwYW5pYyBsb2dnZWQgaW4gdGhlIGFib3Zl IGxpbmsNCj4gPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gT3RoZXIgSW5mb3JtYXRpb246 DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBBZnRlciBteSBpbml0aWFsIGFuZCBpbmNvbXBsZXRlIGRp Zy11cCwgdGhlIGNvbW1pdCAoMzMzNTA2OGY4NzIxDQo+ID4gPiA+ID4gInJpc2N2OiBVc2UgUFVE L1A0RC9QR0QgcGFnZXMgZm9yIHRoZSBsaW5lYXIgbWFwcGluZyIpWzJdDQo+ID4gPiA+ID4gaXMg Y2xvc2VseSByZWxhdGVkIHRvIHRoaXMgcGFuaWMuIFRoaXMgY29tbWl0IHVzZXMgcmUtZGVmaW5l ZA0KPiA+ID4gPiA+IGBNSU5fTUVNQkxPQ0tfQUREUmAgdG8gZGlzY292ZXIgdGhlIGVudGlyZSBz eXN0ZW0gbWVtb3J5DQo+ID4gPiA+ID4gYW5kIGV4dGVuZHMgdGhlIGB2YV9wYV9vZmZzZXRgIGZy b20gYGtlcm5lbF9tYXAucGh5c19hZGRyYCB0bw0KPiA+ID4gPiA+IGBwaHlzX3JhbV9iYXNlYCBm b3IgbGluZWFyIG1lbW9yeSBtYXBwaW5nLg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gSWYgdGhlIGZp cm13YXJlIGRlbGl2ZXJlZCB0aGUgZmlybXdhcmUgbWVtb3J5IHJlZ2lvbiAobGlrZTogYSBQTVAN Cj4gPiA+ID4gPiBwcm90ZWN0ZWQgcmVnaW9uIGluIE9wZW5TYmkpIHdpdGhvdXQgIm5vLW1hcCIg cHJvcHJpZXR5LA0KPiA+ID4gPiA+IHRoaXMgY29tbWl0IHdpbGwgcmVzdWx0IGluIGZpcm13YXJl IG1lbW9yeSBiZWluZyBkaXJlY3RseSBtYXBwZWQgYnkNCj4gPiA+ID4gPiBgY3JlYXRlX2xpbmVh cl9tYXBwaW5nX3BhZ2VfdGFibGUoKWAuDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBXZSBjYW4gc2Vl IHRoZSBtYXBwaW5nIHZpYSBwdGR1bXAgOg0KPiA+ID4gPiA+IGBgYGMNCj4gPiA+ID4gPiAtLS1b IExpbmVhciBtYXBwaW5nIF0tLS0NCj4gPiA+ID4gPiAweGZmNjAwMDAwMDAwMDAwMDAtMHhmZjYw MDAwMDAwMjAwMDAwIDB4MDAwMDAwMDA4MDAwMDAwMCAyTSBQTUQgRCBBIEcNCj4gPiA+ID4gPiAu IC4gVyBSIFYgLS0tLS0tLS0tLS0tLSB0aGUgZmlybXdhcmUgbWVtb3J5DQo+ID4gPiA+ID4gMHhm ZjYwMDAwMDAwMjAwMDAwLTB4ZmY2MDAwMDAwMGMwMDAwMCAweDAwMDAwMDAwODAyMDAwMDAgMTBN IFBNRCBEIEEgRyAuIC4gLiBSIFYNCj4gPiA+ID4gPiAweGZmNjAwMDAwMDBjMDAwMDAtMHhmZjYw MDAwMDAxMDAwMDAwIDB4MDAwMDAwMDA4MGMwMDAwMCA0TSBQTUQgRCBBIEcgLiAuIFcgUiBWDQo+ ID4gPiA+ID4gMHhmZjYwMDAwMDAxMDAwMDAwLTB4ZmY2MDAwMDAwMTYwMDAwMCAweDAwMDAwMDAw ODEwMDAwMDAgNk0gUE1EIEQgQSBHIC4gLiAuIFIgVg0KPiA+ID4gPiA+IDB4ZmY2MDAwMDAwMTYw MDAwMC0weGZmNjAwMDAwNDAwMDAwMDAgMHgwMDAwMDAwMDgxNjAwMDAwIDEwMDJNIFBNRCBEIEEN Cj4gPiA+ID4gPiBHIC4gLiBXIFIgVg0KPiA+ID4gPiA+IDB4ZmY2MDAwMDA0MDAwMDAwMC0weGZm NjAwMDAxMDAwMDAwMDAgMHgwMDAwMDAwMGMwMDAwMDAwIDNHIFBVRCBEIEEgRyAuIC4gVyBSIFYN Cj4gPiA+ID4gPiAtLS1bIE1vZHVsZXMvQlBGIG1hcHBpbmcgXS0tLQ0KPiA+ID4gPiA+IC0tLVsg S2VybmVsIG1hcHBpbmcgXS0tLQ0KPiA+ID4gPiA+IDB4ZmZmZmZmZmY4MDAwMDAwMC0weGZmZmZm ZmZmODBhMDAwMDAgMHgwMDAwMDAwMDgwMjAwMDAwIDEwTSBQTUQgRCBBIEcgLiBYIC4gUiBWDQo+ ID4gPiA+ID4gMHhmZmZmZmZmZjgwYTAwMDAwLTB4ZmZmZmZmZmY4MGMwMDAwMCAweDAwMDAwMDAw ODBjMDAwMDAgMk0gUE1EIEQgQSBHIC4gLiAuIFIgVg0KPiA+ID4gPiA+IDB4ZmZmZmZmZmY4MGMw MDAwMC0weGZmZmZmZmZmODBlMDAwMDAgMHgwMDAwMDAwMDgwZTAwMDAwIDJNIFBNRCBEIEEgRyAu IC4gVyBSIFYNCj4gPiA+ID4gPiAweGZmZmZmZmZmODBlMDAwMDAtMHhmZmZmZmZmZjgxNDAwMDAw IDB4MDAwMDAwMDA4MTAwMDAwMCA2TSBQTUQgRCBBIEcgLiAuIC4gUiBWDQo+ID4gPiA+ID4gMHhm ZmZmZmZmZjgxNDAwMDAwLTB4ZmZmZmZmZmY4MTgwMDAwMCAweDAwMDAwMDAwODE2MDAwMDAgNE0g UE1EDQo+ID4gPiA+ID4gYGBgDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBJbiB0aGUgaGliZXJuYXRp b24gcHJvY2VzcywgYHN3c3VzcF9zYXZlKClgIGNhbGxzDQo+ID4gPiA+ID4gYGNvcHlfZGF0YV9w YWdlcygmY29weV9ibSwgJm9yaWdfYm0pYCB0byBjb3B5IHRoZXNlIHR3byBtZW1vcnkNCj4gPiA+ ID4gPiBiaXRtYXBzLA0KPiA+ID4gPiA+IHRoZSBPb3BzKGxvYWQgYWNjZXNzIGZhdWx0KSBvY2N1 cnJlZCB3aGlsZSBjb3B5aW5nIHRoZSBwYWdlIG9mDQo+ID4gPiA+ID4gUEFHRV9PRkZTRVQgKHdo aWNoIG1hcHMgdGhlIGZpcm13YXJlIG1lbW9yeSkuDQo+ID4gPiA+DQo+ID4gPiA+IEknbSBub3Qg c2F5aW5nIHRoYXQgdGhlIGhpYmVybmF0aW9uIHByb2Nlc3MgaXMgaW4gZmF1bHQgaGVyZSwgYnV0 DQo+ID4gPiA+IHRoYXQncyB3ZWlyZCB0aGF0IGl0IGlzIHRyeWluZyB0byBhY2Nlc3MgcGFnZXMg dGhhdCBhcmUgbm90IGF2YWlsYWJsZQ0KPiA+ID4gPiB0byB0aGUga2VybmVsOiB0aGlzIHJlZ2lv biBpcyBtYXBwZWQgaW4gdGhlIHBhZ2UgdGFibGUgc28gdGhhdCB3ZSBjYW4NCj4gPiA+ID4gdXNl IGEgMUdCIHBhZ2UsIGJ1dCBpdCBpcyByZXNlcnZlZCBzbyB0aGF0IGl0IGlzIG5vdCBhZGRlZCB0 byB0aGUNCj4gPiA+ID4ga2VybmVsIG1lbW9yeSBwb29sLg0KPiA+IFllcywgbXkgZmF1bHQsIHRo ZSBUZXN0MiBpcyBub3QgYSBjb3JyZWN0IHRlc3RjYXNlLg0KPiA+ID4gPg0KPiA+ID4gPiA+DQo+ ID4gPiA+ID4gSSBhbHNvIGRpZCB0d28gb3RoZXIgdGVzdHM6DQo+ID4gPiA+ID4gVGVzdDE6DQo+ ID4gPiA+ID4NCj4gPiA+ID4gPiBUaGUgaGliZXJuYXRpb24gd29ya3Mgd2VsbCBpbiB0aGUga2Vy bmVsIHdpdGggdGhlIGNvbW1pdCAzMzM1MDY4Zjg3MjENCj4gPiA+ID4gPiByZXZlcnRlZCBhdCBs ZWFzdCBpbiB0aGUgY3VycmVudCBlbnZpcm9ubWVudC4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IFRl c3QyOg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gSSBidWlsdCBhIHNpbXBsZSBrZXJuZWwgbW9kdWxl IHRvIHNpbXVsYXRlIHRoZSBhY2Nlc3Mgb2YgdGhlIHZhbHVlIG9mDQo+ID4gPiA+ID4gYFBBR0Vf T0ZGU0VUYCBhZGRyZXNzLCBhbmQgdGhlIHNhbWUgcGFuaWMgb2NjdXJyZWQgd2l0aCB0aGUgbG9h ZA0KPiA+ID4gPiA+IGFjY2VzcyBmYXVsdC4NCj4gPiA+ID4gPiBTbyBoaWJlcm5hdGlvbiBzZWVt cyBub3QgdGhlIG9ubHkgY2FzZSB0byB0cmlnZ2VyIHRoaXMgcGFuaWMuDQo+ID4gPiA+ID4NCj4g PiA+ID4gPiBGaW5hbGx5LCBzaG91bGQgd2UgYWx3YXlzIGxlYXZlIHRoZSBmaXJtd2FyZSBtZW1v cnkgd2l0aA0KPiA+ID4gPiA+IGBNRU1CTE9DS19OT01BUGAgZmxhZyBieSBzb21lIGVmZm9ydHMg ZnJvbSBMaW51eCBvciBPcGVuU2JpIChhdCBsZWFzdA0KPiA+ID4gPiA+IGluIHRoZSBjdXJyZW50 IGVudmlyb25tZW50KSBvciBhbnkgb3RoZXIgc3VnZ2VzdGlvbnM/DQo+ID4gPiA+ID4NCj4gPiA+ ID4NCj4gPiA+ID4gSSBhY3R1YWxseSByZW1vdmVkIHRoaXMgZmxhZyBhIGZldyB5ZWFycyBhZ28s IGFuZCBJIGhhdmUgdG8gYWRtaXQgdGhhdA0KPiA+ID4gPiBJIG5lZWQgdG8gY2hlY2sgaWYgdGhh dCdzIG5lY2Vzc2FyeTogdGhlIGdvYWwgb2YgY29tbWl0IDMzMzUwNjhmODcyMQ0KPiA+ID4gPiAo InJpc2N2OiBVc2UgUFVEL1A0RC9QR0QgcGFnZXMgZm9yIHRoZSBsaW5lYXIgbWFwcGluZyIpIGlz IHRvIGV4cG9zZQ0KPiA+ID4gPiB0aGUgInJpZ2h0IiBzdGFydCBvZiBEUkFNIHNvIHRoYXQgd2Ug Y2FuIGFsaWduIHZpcnR1YWwgYW5kIHBoeXNpY2FsDQo+ID4gPiA+IGFkZHJlc3NlcyBvbiBhIDFH QiBib3VuZGFyeS4NCj4gPiA+ID4NCj4gPiA+ID4gU28gSSBoYXZlIHRvIGNoZWNrIGlmIGEgbm9t YXAgcmVnaW9uIGlzIGFjdHVhbGx5IGFkZGVkIGFzIGENCj4gPiA+ID4gbWVtYmxvY2subWVtb3J5 LnJlZ2lvbnNbXSBvciBub3Q6IGlmIHllcywgdGhhdCdzIHBlcmZlY3QsIGxldCdzIGFkZA0KPiA+ ID4gPiB0aGUgbm9tYXAgYXR0cmlidXRlcyB0byB0aGUgUE1QIHJlZ2lvbnMsIG90aGVyd2lzZSwg SSBkb24ndCB0aGluayB0aGF0DQo+ID4gPiA+IGlzIGEgZ29vZCBzb2x1dGlvbi4NCj4gPiA+DQo+ ID4gPiBTbyBoZXJlIGlzIHRoZSBjdXJyZW50IGxpbmVhciBtYXBwaW5nIHdpdGhvdXQgbm9tYXAg aW4gb3BlblNCSToNCj4gPiA+DQo+ID4gPiAtLS1bIExpbmVhciBtYXBwaW5nIF0tLS0NCj4gPiA+ IDB4ZmY2MDAwMDAwMDAwMDAwMC0weGZmNjAwMDAwMDAyMDAwMDAgICAgMHgwMDAwMDAwMDgwMDAw MDAwICAgICAgICAgMk0NCj4gPiA+IFBNRCAgICAgRCBBIEcgLiAuIFcgUiBWDQo+ID4gPiAweGZm NjAwMDAwMDAyMDAwMDAtMHhmZjYwMDAwMDAwZTAwMDAwICAgIDB4MDAwMDAwMDA4MDIwMDAwMCAg ICAgICAgMTJNDQo+ID4gPiBQTUQgICAgIEQgQSBHIC4gLiAuIFIgVg0KPiA+ID4NCj4gPiA+IEFu ZCBiZWxvdyB0aGUgbGluZWFyIG1hcHBpbmcgd2l0aCBub21hcCBpbiBvcGVuU0JJOg0KPiA+ID4N Cj4gPiA+IC0tLVsgTGluZWFyIG1hcHBpbmcgXS0tLQ0KPiA+ID4gMHhmZjYwMDAwMDAwMDgwMDAw LTB4ZmY2MDAwMDAwMDIwMDAwMCAgICAweDAwMDAwMDAwODAwODAwMDAgICAgICAxNTM2Sw0KPiA+ ID4gUFRFICAgICBEIEEgRyAuIC4gVyBSIFYNCj4gPiA+IDB4ZmY2MDAwMDAwMDIwMDAwMC0weGZm NjAwMDAwMDBlMDAwMDAgICAgMHgwMDAwMDAwMDgwMjAwMDAwICAgICAgICAxMk0NCj4gPiA+IFBN RCAgICAgRCBBIEcgLiAuIC4gUiBWDQo+ID4gPg0KPiA+ID4gU28gYWRkaW5nIG5vbWFwIGRvZXMg bm90IG1pc2FsaWduIHZpcnR1YWwgYW5kIHBoeXNpY2FsIGFkZHJlc3NlcywgaXQNCj4gPiA+IHBy ZXZlbnRzIHRoZSB1c2FnZSBvZiAxR0IgcGFnZSBmb3IgdGhpcyBhcmVhIHRob3VnaCwgc28gdGhh dCdzIGENCj4gPiA+IHNvbHV0aW9uLCB3ZSBqdXN0IGxvc2UgdGhpcyAxR0IgcGFnZSBoZXJlLg0K PiA+ID4NCj4gPiA+IEJ1dCBldmVuIHRob3VnaCB0aGF0IG1heSBiZSB0aGUgZml4LCBJIHRoaW5r IHdlIGFsc28gbmVlZCB0byBmaXggdGhhdA0KPiA+ID4gaW4gdGhlIGtlcm5lbCBhcyBpdCB3b3Vs ZCBicmVhayBjb21wYXRpYmlsaXR5IHdpdGggY2VydGFpbiB2ZXJzaW9ucyBvZg0KPiA+ID4gb3Bl blNCSSAqaWYqIHdlIGZpeCBvcGVuU0JJLi4uU28gaGVyZSBhcmUgYSBmZXcgc29sdXRpb25zOg0K PiA+ID4NCj4gPiA+IDEuIHdlIGNhbiBtYXJrIGFsbCAibW1vZGVfcmVzdiIgbm9kZXMgaW4gdGhl IGRldmljZSB0cmVlIGFzIG5vbWFwLA0KPiA+ID4gYmVmb3JlIHRoZSBsaW5lYXIgbWFwcGluZyBp cyBlc3RhYmxpc2hlZCAoSUlVQywgdGhvc2Ugbm9kZXMgYXJlIGFkZGVkDQo+ID4gPiBieSBvcGVu U0JJIHRvIGFkdmVydGlzZSBQTVAgcmVnaW9ucykNCj4gPiA+ICAgICAtPiBUaGlzIGFtb3VudHMg dG8gdGhlIHNhbWUgZml4IGFzIG9wZW5zYmkgYW5kIHdlIGxvc2UgdGhlIDFHQiBodWdlcGFnZS4N Cj4gPiA+IDIuIHdlIGNhbiB0d2VhayBwZm5faXNfbm9zYXZlIGZ1bmN0aW9uIHRvICpub3QqIHNh dmUgcGZuIGNvcnJlc3BvbmRpbmcNCj4gPiA+IHRvIFBNUCByZWdpb25zDQo+ID4gPiAgICAgLT4g V2UgZG9uJ3QgbG9zZSB0aGUgMUdCIGh1Z2VwYWdlIFxvLw0KPiA+ID4gMy4gd2UgY2FuIHVzZSBy ZWdpc3Rlcl9ub3NhdmVfcmVnaW9uKCkgdG8gbm90IHNhdmUgdGhlICJtbW9kZV9yZXN2Ig0KPiA+ ID4gcmVnaW9ucyAoeDg2IGRvZXMgdGhhdA0KPiA+ID4gaHR0cHM6Ly9lbGl4aXIuYm9vdGxpbi5j b20vbGludXgvdjYuNC1yYzEvc291cmNlL2FyY2gveDg2L2tlcm5lbC9lODIwLmMjTDc1MykNCj4g PiA+ICAgICAtPiBXZSBkb24ndCBsb3NlIHRoZSAxR0IgaHVnZXBhZ2UgXG8vDQo+ID4gPiA0LiBH aXZlbiBKZWVIZW5nIHBvaW50ZXIgdG8NCj4gPiA+IGh0dHBzOi8vZWxpeGlyLmJvb3RsaW4uY29t L2xpbnV4L3Y2LjQtcmMxL3NvdXJjZS9rZXJuZWwvcG93ZXIvc25hcHNob3QuYyNMMTM0MCwNCj4g PiA+IHdlIGNhbiBtYXJrIHRob3NlIHBhZ2VzIGFzIG5vbi1yZWFkYWJsZSBhbmQgbWFrZSB0aGUg aGliZXJuYXRpb24NCj4gPiA+IHByb2Nlc3Mgbm90IHNhdmUgdGhvc2UgcGFnZXMNCj4gPiA+ICAg ICAtPiBWZXJ5IGxhdGUtaW4tdGhlLWRheSBpZGVhLCBub3Qgc3VyZSB3aGF0IGl0J3Mgd29ydGgs IHdlIGFsc28NCj4gPiA+IGxvc2UgdGhlIDFHQiBodWdlcGFnZS4uLg0KPiA+ID4NCj4gPiA+IFRv IG1lLCB0aGUgYmVzdCBzb2x1dGlvbiBpcyAzIGFzIGl0IHdvdWxkIHByZXBhcmUgZm9yIG90aGVy IHNpbWlsYXINCj4gPiA+IGlzc3VlcyBsYXRlciwgaXQgaXMgc2ltaWxhciB0byB4ODYgYW5kIGl0 IGFsbG93cyB1cyB0byBrZWVwIDFHQg0KPiA+ID4gaHVnZXBhZ2VzLg0KPiA+DQo+ID4gSSBhZ3Jl ZSwNCj4gPiByZWdpc3Rlcl9ub3NhdmVfcmVnaW9uKCkgaXMgYSBnb29kIHdheSBpbiB0aGUgZWFy bHkgaW5pdGlhbGl6YXRpb24gdG8NCj4gPiBzZXQgcGFnZSBmcmFtZXMgKGxpa2UgdGhlIFBNUCBy ZWdpb25zKSBpbiBmb3JiaWRkZW5fcGFnZXNfbWFwIGFuZCBtYXJrDQo+ID4gdGhlbSBhcyBuby1z YXZhYmxlIGZvciBoaWJlcm5hdGlvbi4NCj4gPg0KPiA+IExvb2sgZm9yd2FyZCB0byB5b3VyIGZp eGluZy4NCj4gDQo+IFBsZWFzZSBmaW5kIGJlbG93IHRoZSBwYXRjaCBpbiBxdWVzdGlvbiwgd2hp Y2ggd29ya2VkIGZvciBtZSwgaWYgeW91DQo+IGNhbiBnaXZlIGl0IGEgdHJ5LiBBcyBtZW50aW9u ZWQgYnkgQ29ub3IsIEknZCBsaWtlIHRvIG1ha2Ugc3VyZSB0aGUNCj4gbW1vZGVfcmVzdiAiaW50 ZXJmYWNlIiBpcyByZWFsbHkgd2hhdCB3ZSBuZWVkIHRvIHVzZSBiZWZvcmUNCj4gdXBzdHJlYW1p bmcgdGhpcyBmaXggQEFudXAgUGF0ZWwgQEF0aXNoIEt1bWFyIFBhdHJhDQo+IA0KPiBkaWZmIC0t Z2l0IGEvYXJjaC9yaXNjdi9rZXJuZWwvaGliZXJuYXRlLmMgYi9hcmNoL3Jpc2N2L2tlcm5lbC9o aWJlcm5hdGUuYw0KPiBpbmRleCAyNjRiMmRjZGQ2N2UuLjlhZDhiZjVjOTU2YiAxMDA2NDQNCj4g LS0tIGEvYXJjaC9yaXNjdi9rZXJuZWwvaGliZXJuYXRlLmMNCj4gKysrIGIvYXJjaC9yaXNjdi9r ZXJuZWwvaGliZXJuYXRlLmMNCj4gQEAgLTI0LDYgKzI0LDggQEANCj4gICNpbmNsdWRlIDxsaW51 eC9zY2hlZC5oPg0KPiAgI2luY2x1ZGUgPGxpbnV4L3N1c3BlbmQuaD4NCj4gICNpbmNsdWRlIDxs aW51eC91dHNuYW1lLmg+DQo+ICsjaW5jbHVkZSA8bGludXgvb2ZfZmR0Lmg+DQo+ICsjaW5jbHVk ZSA8bGludXgvbGliZmR0Lmg+DQo+IA0KPiAgLyogVGhlIGxvZ2ljYWwgY3B1IG51bWJlciB3ZSBz aG91bGQgcmVzdW1lIG9uLCBpbml0aWFsaXNlZCB0byBhDQo+IG5vbi1jcHUgbnVtYmVyLiAqLw0K PiAgc3RhdGljIGludCBzbGVlcF9jcHUgPSAtRUlOVkFMOw0KPiBAQCAtNjcsNiArNjksNDUgQEAg c3RhdGljIHZvaWQgYXJjaF9oZHJfaW52YXJpYW50cyhzdHJ1Y3QNCj4gYXJjaF9oaWJlcm5hdGVf aGRyX2ludmFyaWFudHMgKmkpDQo+ICAgICAgICAgbWVtY3B5KGktPnV0c192ZXJzaW9uLCBpbml0 X3V0c25hbWUoKS0+dmVyc2lvbiwgc2l6ZW9mKGktPnV0c192ZXJzaW9uKSk7DQo+ICB9DQo+IA0K PiArdm9pZCBfX2luaXQgcmVnaXN0ZXJfbm9zYXZlX3JlZ2lvbnModm9pZCkNCj4gK3sNCj4gKyNk ZWZpbmUgTU1PREVfUkVTViAgICAgIm1tb2RlX3Jlc3YiDQo+ICsgICAgICAgaW50IG5vZGUsIGNo aWxkOw0KPiArICAgICAgIGNvbnN0IHZvaWQgKmZkdCA9IGluaXRpYWxfYm9vdF9wYXJhbXM7DQo+ ICsNCj4gKyAgICAgICBub2RlID0gZmR0X3BhdGhfb2Zmc2V0KGZkdCwgIi9yZXNlcnZlZC1tZW1v cnkiKTsNCj4gKyAgICAgICBpZiAobm9kZSA8IDApDQo+ICsgICAgICAgICAgICAgICByZXR1cm47 DQo+ICsNCj4gKyAgICAgICBmZHRfZm9yX2VhY2hfc3Vibm9kZShjaGlsZCwgZmR0LCBub2RlKSB7 DQo+ICsgICAgICAgICAgICAgICBwaHlzX2FkZHJfdCBiYXNlLCBzaXplOw0KPiArICAgICAgICAg ICAgICAgY29uc3QgX19iZTMyICpwcm9wOw0KPiArICAgICAgICAgICAgICAgY29uc3QgY2hhciAq dW5hbWU7DQo+ICsgICAgICAgICAgICAgICBpbnQgbGVuOw0KPiArICAgICAgICAgICAgICAgaW50 IHRfbGVuID0gKGR0X3Jvb3RfYWRkcl9jZWxscyArIGR0X3Jvb3Rfc2l6ZV9jZWxscykNCj4gKiBz aXplb2YoX19iZTMyKTsNCj4gKw0KPiArICAgICAgICAgICAgICAgdW5hbWUgPSBmZHRfZ2V0X25h bWUoZmR0LCBjaGlsZCwgTlVMTCk7DQo+ICsNCj4gKyAgICAgICAgICAgICAgIGlmICghdW5hbWUg fHwgc3RybmNtcCh1bmFtZSwgTU1PREVfUkVTViwNCj4gc2l6ZW9mKE1NT0RFX1JFU1YpIC0gMSkp DQo+ICsgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOw0KPiArDQo+ICsgICAgICAgICAg ICAgICBwcm9wID0gb2ZfZ2V0X2ZsYXRfZHRfcHJvcChjaGlsZCwgInJlZyIsICZsZW4pOw0KPiAr ICAgICAgICAgICAgICAgaWYgKCFwcm9wKQ0KPiArICAgICAgICAgICAgICAgICAgICAgICBjb250 aW51ZTsNCj4gKw0KPiArICAgICAgICAgICAgICAgd2hpbGUgKGxlbiA+PSB0X2xlbikgew0KPiAr ICAgICAgICAgICAgICAgICAgICAgICBiYXNlID0gZHRfbWVtX25leHRfY2VsbChkdF9yb290X2Fk ZHJfY2VsbHMsICZwcm9wKTsNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgc2l6ZSA9IGR0X21l bV9uZXh0X2NlbGwoZHRfcm9vdF9zaXplX2NlbGxzLCAmcHJvcCk7DQo+ICsNCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgaWYgKHNpemUpDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgcmVnaXN0ZXJfbm9zYXZlX3JlZ2lvbihwaHlzX3RvX3BmbihiYXNlKSwNCj4gKw0KPiBwaHlz X3RvX3BmbihiYXNlICsgc2l6ZSkpOw0KPiArDQo+ICsgICAgICAgICAgICAgICAgICAgICAgIGxl biAtPSB0X2xlbjsNCj4gKyAgICAgICAgICAgICAgIH0NCj4gKyAgICAgICB9DQo+ICt9DQo+ICsN Cj4gIC8qDQo+ICAgKiBDaGVjayBpZiB0aGUgZ2l2ZW4gcGZuIGlzIGluIHRoZSAnbm9zYXZlJyBz ZWN0aW9uLg0KPiAgICovDQo+IEBAIC00MjEsNiArNDYyLDggQEAgc3RhdGljIGludCBfX2luaXQg cmlzY3ZfaGliZXJuYXRlX2luaXQodm9pZCkNCj4gICAgICAgICBpZiAoV0FSTl9PTighaGliZXJu YXRlX2NwdV9jb250ZXh0KSkNCj4gICAgICAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOw0KPiAN Cj4gKyAgICAgICByZWdpc3Rlcl9ub3NhdmVfcmVnaW9ucygpOw0KPiArDQo+ICAgICAgICAgcmV0 dXJuIDA7DQo+ICB9DQpUaGlzIHdpbGwgaGVscCB0byBwcmV2ZW50IEhpYmVybmF0aW9uIGNvcmUg ZnJvbSBhY2Nlc3NpbmcgdGhlIHJlZ2lvbi4gQnV0IHNob3VsZG4ndCB0aGUgTU1PREVfUkVTViBi ZSBpbXBsZW1lbnRlZCBpbiB0aGUgbW0vaW5pdC5jPw0KV2hhdCBpcyB0aGUgcGxhbiBmb3IgdGhl IGtlcm5lbCBwYWdlIHRhYmxlPyBXaWxsIHRoZSBQTVAgcmVzZXJ2ZWQgcmVnaW9uIGNvbnRpbnVl IHRvIGJlIGV4cG9zZWQgdG8gdGhlIHBhZ2UgdGFibGU/DQoNCj4gDQo+ID4gPg0KPiA+ID4gSSBo YXZlIGJlZW4gdGhpbmtpbmcsIGFuZCB0byBtZSBub21hcCBkb2VzIG5vdCBwcm92aWRlIGFueXRo aW5nIHNpbmNlDQo+ID4gPiB0aGUga2VybmVsIHNob3VsZCBub3QgYWRkcmVzcyB0aGlzIG1lbW9y eSByYW5nZSwgc28gaWYgaXQgZG9lcywgd2UNCj4gPiA+IG11c3QgZml4IHRoZSBrZXJuZWwuDQo+ ID4gPg0KPiA+ID4gTGV0IG1lIGtub3cgd2hhdCB5b3UgYWxsIHRoaW5rLCBJJ2xsIGJlIHByZXBh cmluZyBhIFBvQyBvZiAzIGluIHRoZSBtZWFudGltZSENCj4gPiA+DQo+ID4gPiBBbGV4DQo+ID4g Pg0KPiA+ID4NCj4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+IEFuZCBhIGxhc3Qgd29yZDogTWlrZSBS YXBvcG9ydCByZWNlbnRseSBnYXZlIGEgc3BlZWNoIFsxXSB3aGVyZSBoZQ0KPiA+ID4gPiBzdGF0 ZXMgdGhhdCBtYXBwaW5nIHRoZSBsaW5lYXIgbWFwcGluZyB3aXRoIGh1Z2VwYWdlcyBkb2VzIG5v dCBnaXZlDQo+ID4gPiA+IHJpc2UgdG8gYmV0dGVyIHBlcmZvcm1hbmNlIHNvICptYXliZSogcmV2 ZXJ0aW5nIHRoaXMgY29tbWl0IG1heSBiZSBhDQo+ID4gPiA+IHNvbHV0aW9uIHRvbyBhcyBpdCBt YXkgbm90IHByb3ZpZGUgdGhlIGV4cGVjdGVkIGJlbmVmaXRzIChldmVuIHRob3VnaA0KPiA+ID4g PiBJJ2QgcmF0aGVyIGhhdmUgaXQgYW5kIGFub3RoZXIgYmVuZWZpdCBvZiBtYXBwaW5nIHRoZSBs aW5lYXIgbWFwcGluZw0KPiA+ID4gPiB3aXRoIDFHQiBodWdlcGFnZXMgaXMgdGhhdCBpdCBpcyBm YXN0ZXIgdG8gYm9vdCwgYnV0IHRoYXQgbmVlZHMgdG8gYmUNCj4gPiA+ID4gbWVhc3VyZWQpLg0K PiA+ID4gPg0KPiA+ID4gPiBbMV0gaHR0cHM6Ly9sd24ubmV0L0FydGljbGVzLzkzMTQwNi8NCj4g PiA+ID4NCj4gPiA+ID4gPiBQbGVhc2UgY29ycmVjdCBtZSBpZiBJJ20gd3JvbmcuDQo+ID4gPiA+ ID4NCj4gPiA+ID4gPiBbMV06IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3IvMjAyMzAzMzAwNjQz MjEuMTAwODM3My01LWplZWhlbmcuc2lhQHN0YXJmaXZldGVjaC5jb20NCj4gPiA+ID4gPiBbMl06 IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3IvMjAyMzAzMjQxNTU0MjEuMjcxNTQ0LTQtYWxleGdo aXRpQHJpdm9zaW5jLmNvbQ0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gLS0NCj4gPiA+ID4gPiBUaGFu a3MsDQo+ID4gPiA+ID4gU29uZw0KPiA+ID4gPg0KPiA+ID4gPiBUaGFua3MgZm9yIHRoZSB0aG9y b3VnaCByZXBvcnQhDQo+ID4gPiA+DQo+ID4gPiA+IEFsZXgNCj4gPg0KPiA+DQo+ID4NCj4gPiAt LQ0KPiA+IFRoYW5rcywNCj4gPiBTb25nDQo=