Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp1597042ybl; Thu, 30 Jan 2020 02:41:49 -0800 (PST) X-Google-Smtp-Source: APXvYqy380d4NZ6uxPbbwxkyYLNzQt8gqZ22oaYQ7l6lAnU0gxx0SjF3GXHX1LhyRGhSk3lyLXJX X-Received: by 2002:aca:f4c4:: with SMTP id s187mr2308267oih.154.1580380909168; Thu, 30 Jan 2020 02:41:49 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1580380909; cv=pass; d=google.com; s=arc-20160816; b=yDYCTVOG9ZlJk0bWIrOl5bQgFLeWh+T9Cp9xUXz3KQnW4S23SlkspX6mw3ZxBkNcMu LsW4P4wvdgeXzZgjwRoudGT2bvlhkJ5zo2WE/ziWTq+rChQatW+XxVzCy+oyaSLB6900 xeuKqMJqAZvZ9eV6VlVkSn0eG9k4glxGBxxa9BOE2udlnzkHqx5L3D+h3MUF8mjeZr0H WQpyJImTom6oD6839V3E2zAcVGxAifa6siqgVoKXcGBPko0ho6Ut01/T6FK4La+od2wD rxn4k4lHLKv6lLrLyPsLpltK7Rkm/dAxzwdacjVjtFL/6mpV6nnL2tFfb43wEF6swz0Z 6bsg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :msip_label_0d814d60-469d-470c-8cb0-58434e2bf457_contentbits :msip_label_0d814d60-469d-470c-8cb0-58434e2bf457_actionid :msip_label_0d814d60-469d-470c-8cb0-58434e2bf457_siteid :msip_label_0d814d60-469d-470c-8cb0-58434e2bf457_name :msip_label_0d814d60-469d-470c-8cb0-58434e2bf457_method :msip_label_0d814d60-469d-470c-8cb0-58434e2bf457_setdate :msip_label_0d814d60-469d-470c-8cb0-58434e2bf457_enabled:msip_labels :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature; bh=ePGb5EOc5Gw7N2onze2Sq0wEhmeqt+QLpHANY4OjG38=; b=UFKzniKQcc0yN9cCri3w+8LqQBOWrvA1+HcTspu+7cxEVeaWFG7iwoc/OKBiCWSVPE 3DOD2Ag9E/bUbPyp2kpZMyoQDYkH5cjOtHsFbMYoQsKk/xe+hUbzZ/od7k/mqVPNOAxi lvs+ixDV+OtTfTQW1NQxBTBdxzltSe9ZthRIkLHnDnAIrvpQBfYAjb+VR5hujj2VE2f5 X9d5fQZO2Ts+jQ6iWo85R8XghAJlFXU6RMVh3AHhRLLpDcyIqftJRZj9uuJIJd+dUpGD Uvw0uostI5SGrwDIZzmk7cPr58C1mK4zTj8JJnP19mAUx1B08kpCHXcaqcLMoJC98y3t o4uw== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amdcloud.onmicrosoft.com header.s=selector2-amdcloud-onmicrosoft-com header.b=HIEOGp4c; arc=pass (i=1 spf=pass spfdomain=amd.com dkim=pass dkdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id y189si2644232oia.234.2020.01.30.02.41.35; Thu, 30 Jan 2020 02:41:49 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@amdcloud.onmicrosoft.com header.s=selector2-amdcloud-onmicrosoft-com header.b=HIEOGp4c; arc=pass (i=1 spf=pass spfdomain=amd.com dkim=pass dkdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727024AbgA3Kkm (ORCPT + 99 others); Thu, 30 Jan 2020 05:40:42 -0500 Received: from mail-mw2nam12on2085.outbound.protection.outlook.com ([40.107.244.85]:6077 "EHLO NAM12-MW2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726893AbgA3Kkm (ORCPT ); Thu, 30 Jan 2020 05:40:42 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=F7Lu1zmb7EmTxD30QVgwrxLyIOMCYYcagLCP1gW0hNAFjdeuGSowhsfM0JLYsxIJc6Y0voGoYeVGzZQko1d2rdPJ5cFuZnME0blG+6vdda9HLvo9iES8hft6epzivwGlN+jajLLw/fc4zIwF+EDqo7G7AJs/RkbwlLhNuOMiyd+Dj2d29lm9UFrC5YRhgVqONON2cme130sJVY0GgGecrr0tb4PnKcwWzWnEniZb8nGUky8dD2/D2ULhK5bfjjKU6USZEEQgZ1AMXfsJyOx+F6t3C6qPsT0XVCkTxeeSQmh8pWsSaq2zyzEqzD5EWGzK07PIGdb1xyE/2OBMasx8yw== 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-SenderADCheck; bh=ePGb5EOc5Gw7N2onze2Sq0wEhmeqt+QLpHANY4OjG38=; b=Ku3oevu+hMFdYXUoUe6+UUsUJgRVW+m6jRM8mLlXD5cMs5h2tK7p+u5rz9kFGb2e1IP36m29Tm4Hx7MhIDl5zUUFAbA0ZBBur+edAcXHe9xQpEdiYYnPqIFKFcm3pJQJvnVybmiQayxK2D/O4ZjIHSrQwS9UyCX+ETMNu4b9A9E8l2QdPS7QhZl7241PQxP/Tv7TkTjdAZtwoeSyk5dmM1D8xSdLaDHqtkipjaeh0z2S7ZThYNeAVCdV4+V/Pb9yiBOF70ULqtRwE7tcEm6Dp0LcQgIuEJlZsWjD5RefN1WCJewJzCPTIYKXn/ynw8D05QyDXVHkwfbdv/kyxF+lOg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector2-amdcloud-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ePGb5EOc5Gw7N2onze2Sq0wEhmeqt+QLpHANY4OjG38=; b=HIEOGp4cvSF5ep7zxr2KmoK+6Qdzk7w9AWvdHF9NhKrQndsGqtAfWsJN95xopBNzjf9SrqoT6hyMtdlgtYoIpGJrlxKrqr5wNuJuIYQHxTCbpRw57B8wfxEZ4XWA5ifmdgdLsIhiI/BHGdTqDirRgt4PGCeXeBRurL/xZYYJ01o= Received: from DM6PR12MB4137.namprd12.prod.outlook.com (10.141.186.21) by DM6PR12MB2617.namprd12.prod.outlook.com (20.176.116.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2665.20; Thu, 30 Jan 2020 10:40:33 +0000 Received: from DM6PR12MB4137.namprd12.prod.outlook.com ([fe80::cd1d:def3:d2df:3882]) by DM6PR12MB4137.namprd12.prod.outlook.com ([fe80::cd1d:def3:d2df:3882%7]) with mapi id 15.20.2665.027; Thu, 30 Jan 2020 10:40:33 +0000 From: "Lin, Wayne" To: Lyude Paul , "Lipski, Mikita" , "Wentland, Harry" , "amd-gfx@lists.freedesktop.org" CC: "stable@vger.kernel.org" , "Wentland, Harry" , "Li, Sun peng (Leo)" , "Deucher, Alexander" , "Koenig, Christian" , "Zhou, David(ChunMing)" , David Airlie , Daniel Vetter , "Lakha, Bhawanpreet" , "Lipski, Mikita" , Sam Ravnborg , David Francis , "Tsai, Martin" , Chris Wilson , "Lee, Alvin" , Jean Delvare , "dri-devel@lists.freedesktop.org" , "linux-kernel@vger.kernel.org" Subject: RE: [PATCH] drm/amd/dm/mst: Ignore payload update failures on disable Thread-Topic: [PATCH] drm/amd/dm/mst: Ignore payload update failures on disable Thread-Index: AQHV0sZnKGWsqcD3KEuZ/D4ItIXVW6f6BEIAgAAmKwCACNDHUA== Date: Thu, 30 Jan 2020 10:40:33 +0000 Message-ID: References: <20200124000643.99859-1-lyude@redhat.com> <41187639-f077-0212-aa02-d5dcc96c442b@amd.com> <4ddde071-356b-77a0-25e8-26c22e0ffa14@amd.com> <290570863e9564165c40624d03ee572ce7c231fa.camel@redhat.com> In-Reply-To: <290570863e9564165c40624d03ee572ce7c231fa.camel@redhat.com> Accept-Language: en-US, zh-TW Content-Language: zh-TW X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_0d814d60-469d-470c-8cb0-58434e2bf457_Enabled=true; MSIP_Label_0d814d60-469d-470c-8cb0-58434e2bf457_SetDate=2020-01-30T09:33:59Z; MSIP_Label_0d814d60-469d-470c-8cb0-58434e2bf457_Method=Privileged; MSIP_Label_0d814d60-469d-470c-8cb0-58434e2bf457_Name=Public_0; MSIP_Label_0d814d60-469d-470c-8cb0-58434e2bf457_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; MSIP_Label_0d814d60-469d-470c-8cb0-58434e2bf457_ActionId=1a5f2538-609a-4036-8254-0000bee26243; MSIP_Label_0d814d60-469d-470c-8cb0-58434e2bf457_ContentBits=1 msip_label_0d814d60-469d-470c-8cb0-58434e2bf457_enabled: true msip_label_0d814d60-469d-470c-8cb0-58434e2bf457_setdate: 2020-01-30T10:40:30Z msip_label_0d814d60-469d-470c-8cb0-58434e2bf457_method: Privileged msip_label_0d814d60-469d-470c-8cb0-58434e2bf457_name: Public_0 msip_label_0d814d60-469d-470c-8cb0-58434e2bf457_siteid: 3dd8961f-e488-4e60-8e11-a82d994e183d msip_label_0d814d60-469d-470c-8cb0-58434e2bf457_actionid: eb9f15f3-d594-4691-8b3b-00006c4eb479 msip_label_0d814d60-469d-470c-8cb0-58434e2bf457_contentbits: 0 authentication-results: spf=none (sender IP is ) smtp.mailfrom=Wayne.Lin@amd.com; x-originating-ip: [165.204.134.251] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 51f5f04c-19aa-4093-f481-08d7a570d595 x-ms-traffictypediagnostic: DM6PR12MB2617:|DM6PR12MB2617: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-forefront-prvs: 02981BE340 x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(4636009)(39860400002)(136003)(366004)(396003)(346002)(376002)(189003)(199004)(26005)(33656002)(53546011)(6506007)(9686003)(81166006)(81156014)(5660300002)(966005)(8676002)(478600001)(55016002)(7696005)(8936002)(15650500001)(4326008)(45080400002)(54906003)(7416002)(76116006)(186003)(110136005)(2906002)(66446008)(71200400001)(66556008)(86362001)(66946007)(52536014)(316002)(64756008)(66476007);DIR:OUT;SFP:1101;SCL:1;SRVR:DM6PR12MB2617;H:DM6PR12MB4137.namprd12.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;MX:1;A:1; received-spf: None (protection.outlook.com: amd.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: +SqDuyGXixigtg6aSiS4Q5fiTiZ7IMzwr71ok0iAs/Wu3GHhNZRUxMTSTIHSFLxW8e1Rdx8Dxvb5bGgQTpoyrsMprBKTg7JaC6iOY9J5L7Zj+VQHfDtohR8I28FMcF3XSI6Se08PGJBJxM4uKgsCmeRxn4amOpVeHLysXm6gbEHsBzn6kLT4NZZfEIm5wMuccy7BDi9d9HXFLHJd++kwtNARvEWaSFCz4Opslwd7WmmAmzD5THLKMVBaduK50GXIH5SXvMPIy55j2VcwFtBxxfgGB4bTNlzVMXWXGufrk7+Q59m+c/5X+2Iqtva5A/FK8hFTK+wytKBkWFQyW1Cf71VqrYr0E5DCN+Yh/rwb2WtxMHA+k6KXKxaAzTxEP7RVw/8plvIIb7Z4Dv7cLZ+FcI3e2u0UaVTfSgWUnBjfyCrFz5IpjZT2aoLI37TtyNR9hWfwULlhQyktRx+zokuFGSbJI6+BztDbew3NX5nrvToYDVrldMBV7tZTTbxv1xna/nw1+AooY/jRx5G13PHqfw== x-ms-exchange-antispam-messagedata: mfmtoM4sXHsvzIaUEAH/bXMojcQQiMjoiKM+LdSx8KrqMcIyrjXpnp3OdNK+xBNoAoNonbYsmBsvkuTTeTBlwBEzXpKcrANNJomJhv/vYSST2ES6aYfvSfJiO88Ur0vbVuiJTbCNp7XbhRJsyIu5/g== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 51f5f04c-19aa-4093-f481-08d7a570d595 X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Jan 2020 10:40:33.2896 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: GTmJTSNCFHiJDn5kHF1sXIjDNvJaHMtadaRc2ok7OfB8k9s9bHq+salcFtgL6r50RBTqJEUl5XQ/5yNowI7xIg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB2617 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org W0FNRCBQdWJsaWMgVXNlXQ0KDQpIaSBMeXVkZSwNCg0KVGhhbmtzIGZvciB0aGUgcGF0Y2ghDQpJ J20gd29uZGVyaW5nIGlmIHRoaXMgZXJyb3Igc3RpbGwgb2NjdXJzIHdpdGggdGhpcyBwYXRjaCBh cHBsaWVkDQpodHRwczovL3BhdGNod29yay5rZXJuZWwub3JnL3BhdGNoLzExMjc0MzYzLw0KSSB0 cmllZCB0byBjbGVhbiB1cCBhbGwgbWdyLT5wcm9wb3NlZF92Y3Bpc1tdIGluIHRoaXMgcGF0Y2gg c28NCmRybV9kcF91cGRhdGVfcGF5bG9hZF9wYXJ0MSgpIHdpbGwgc2tpcCBhbGwgaW52YWxpZCBw b3J0cy4NCg0KSG93ZXZlciwgSSdtIGFsc28gdGhpbmtpbmcgdG8gaW1wcm92ZSB0aGlzIHBhdGNo Lg0KTWF5YmUgaXQgaXMgYmV0dGVyIHRvIGRvIGNsZWFuaW5nIHByb3Bvc2VkX3ZjcGlzW10gaW4g DQpkbV9oZWxwZXJzX2RwX21zdF93cml0ZV9wYXlsb2FkX2FsbG9jYXRpb25fdGFibGUoKSBkdWUg dG8NCml0IGlzIHRoZSBhY3R1YWwgcGxhY2UgdGhhdCBEQyB0cnkgdG8gdXBkYXRlIHRoZSBzdGF0 dXMgZm9yIGEgc3BlY2lmaWMgDQpWQyBzdHJlYW0uIElmIGl0J3MgcmVhc29uYWJsZSB0aGVuIEkn bGwgZG8gdGhhdCBpbiB0aGUgZnV0dXJlIDopDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0t LS0NCj4gRnJvbTogTHl1ZGUgUGF1bCA8bHl1ZGVAcmVkaGF0LmNvbT4NCj4gU2VudDogU2F0dXJk YXksIEphbnVhcnkgMjUsIDIwMjAgMjo1NyBBTQ0KPiBUbzogTGlwc2tpLCBNaWtpdGEgPE1pa2l0 YS5MaXBza2lAYW1kLmNvbT47IFdlbnRsYW5kLCBIYXJyeQ0KPiA8SGFycnkuV2VudGxhbmRAYW1k LmNvbT47IGFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnDQo+IENjOiBzdGFibGVAdmdlci5r ZXJuZWwub3JnOyBXZW50bGFuZCwgSGFycnkgPEhhcnJ5LldlbnRsYW5kQGFtZC5jb20+OyBMaSwN Cj4gU3VuIHBlbmcgKExlbykgPFN1bnBlbmcuTGlAYW1kLmNvbT47IERldWNoZXIsIEFsZXhhbmRl cg0KPiA8QWxleGFuZGVyLkRldWNoZXJAYW1kLmNvbT47IEtvZW5pZywgQ2hyaXN0aWFuDQo+IDxD aHJpc3RpYW4uS29lbmlnQGFtZC5jb20+OyBaaG91LCBEYXZpZChDaHVuTWluZykNCj4gPERhdmlk MS5aaG91QGFtZC5jb20+OyBEYXZpZCBBaXJsaWUgPGFpcmxpZWRAbGludXguaWU+OyBEYW5pZWwg VmV0dGVyDQo+IDxkYW5pZWxAZmZ3bGwuY2g+OyBMYWtoYSwgQmhhd2FucHJlZXQgPEJoYXdhbnBy ZWV0Lkxha2hhQGFtZC5jb20+Ow0KPiBMaXBza2ksIE1pa2l0YSA8TWlraXRhLkxpcHNraUBhbWQu Y29tPjsgU2FtIFJhdm5ib3JnIDxzYW1AcmF2bmJvcmcub3JnPjsNCj4gRGF2aWQgRnJhbmNpcyA8 RGF2aWQuRnJhbmNpc0BhbWQuY29tPjsgVHNhaSwgTWFydGluDQo+IDxNYXJ0aW4uVHNhaUBhbWQu Y29tPjsgQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+OyBMZWUsIEFsdmlu DQo+IDxBbHZpbi5MZWUyQGFtZC5jb20+OyBKZWFuIERlbHZhcmUgPGpkZWx2YXJlQHN1c2UuZGU+ Ow0KPiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnOyBsaW51eC1rZXJuZWxAdmdlci5r ZXJuZWwub3JnOyBMaW4sIFdheW5lDQo+IDxXYXluZS5MaW5AYW1kLmNvbT4NCj4gU3ViamVjdDog UmU6IFtQQVRDSF0gZHJtL2FtZC9kbS9tc3Q6IElnbm9yZSBwYXlsb2FkIHVwZGF0ZSBmYWlsdXJl cyBvbg0KPiBkaXNhYmxlDQo+IA0KPiANCj4gDQo+IE9uIEZyaSwgMjAyMC0wMS0yNCBhdCAxMToz OSAtMDUwMCwgTWlraXRhIExpcHNraSB3cm90ZToNCj4gPg0KPiA+IE9uIDEvMjQvMjAgOTo1NSBB TSwgSGFycnkgV2VudGxhbmQgd3JvdGU6DQo+ID4gPiBPbiAyMDIwLTAxLTIzIDc6MDYgcC5tLiwg THl1ZGUgUGF1bCB3cm90ZToNCj4gPiA+ID4gRGlzYWJsaW5nIGEgZGlzcGxheSBvbiBNU1QgY2Fu IHBvdGVudGlhbGx5IGhhcHBlbiBhZnRlciB0aGUgZW50aXJlDQo+ID4gPiA+IE1TVCB0b3BvbG9n eSBoYXMgYmVlbiByZW1vdmVkLCB3aGljaCBtZWFucyB0aGF0IHdlIGNhbid0DQo+ID4gPiA+IGNv bW11bmljYXRlIHdpdGggdGhlIHRvcG9sb2d5IGF0IGFsbCBpbiB0aGlzIHNjZW5hcmlvLiBMaWtl d2lzZSwNCj4gPiA+ID4gdGhpcyBhbHNvIG1lYW5zIHRoYXQgd2UgY2FuJ3QgcHJvcGVybHkgdXBk YXRlIHBheWxvYWRzIG9uIHRoZQ0KPiA+ID4gPiB0b3BvbG9neSBhbmQgYXMgc3VjaCwgaXQncyBh IGdvb2QgaWRlYSB0byBpZ25vcmUgcGF5bG9hZCB1cGRhdGUgZmFpbHVyZXMNCj4gd2hlbiBkaXNh YmxpbmcgZGlzcGxheXMuDQo+ID4gPiA+IEN1cnJlbnRseSwgYW1kZ3B1IG1ha2VzIHRoZSBtaXN0 YWtlIG9mIGhhbHRpbmcgdGhlIHBheWxvYWQgdXBkYXRlDQo+ID4gPiA+IHByb2Nlc3Mgd2hlbiBh bnkgcGF5bG9hZCB1cGRhdGUgZmFpbHVyZXMgb2NjdXIsIHJlc3VsdGluZyBpbg0KPiA+ID4gPiBs ZWF2aW5nIERDJ3MgbG9jYWwgY29waWVzIG9mIHRoZSBwYXlsb2FkIHRhYmxlcyBvdXQgb2YgZGF0 ZS4NCj4gPiA+ID4NCj4gPiA+ID4gVGhpcyBlbmRzIHVwIGNhdXNpbmcgcHJvYmxlbXMgd2l0aCBo b3RwbHVnZ2luZyBNU1QgdG9wb2xvZ2llcywgYW5kDQo+ID4gPiA+IGNhdXNlcyBtb2Rlc2V0cyBv biB0aGUgc2Vjb25kIGhvdHBsdWcgdG8gZmFpbCBsaWtlIHNvOg0KPiA+ID4gPg0KPiA+ID4gPiBb ZHJtXSBGYWlsZWQgdG8gdXBkYXRlTVNUIGFsbG9jYXRpb24gdGFibGUgZm9ycGlwZSBpZHg6MQ0K PiA+ID4gPiAtLS0tLS0tLS0tLS1bIGN1dCBoZXJlIF0tLS0tLS0tLS0tLS0NCj4gPiA+ID4gV0FS TklORzogQ1BVOiA1IFBJRDogMTUxMSBhdA0KPiA+ID4gPiBkcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS8uLi9kaXNwbGF5L2RjL2NvcmUvZGNfbGluay5jOjI2NzcNCj4gPiA+ID4gdXBkYXRlX21z dF9zdHJlYW1fYWxsb2NfdGFibGUrMHgxMWUvMHgxMzAgW2FtZGdwdV0gTW9kdWxlcyBsaW5rZWQN Cj4gPiA+ID4gaW46IGNkY19ldGhlciB1c2JuZXQgZnVzZSB4dF9jb25udHJhY2sgbmZfY29ubnRy YWNrDQo+ID4gPiA+IG5mX2RlZnJhZ19pcHY2IGxpYmNyYzMyYyBuZl9kZWZyYWdfaXB2NCBpcHRf UkVKRUNUIG5mX3JlamVjdF9pcHY0DQo+ID4gPiA+IG5mdF9jb3VudGVyIG5mdF9jb21wYXQgbmZf dGFibGVzIG5mbmV0bGluayB0dW4gYnJpZGdlIHN0cCBsbGMNCj4gPiA+ID4gc3VucnBjIHZmYXQg ZmF0IHdtaV9ibW9mIHV2Y3ZpZGVvIHNuZF9oZGFfY29kZWNfcmVhbHRlaw0KPiA+ID4gPiBzbmRf aGRhX2NvZGVjX2dlbmVyaWMgc25kX2hkYV9jb2RlY19oZG1pIHZpZGVvYnVmMl92bWFsbG9jDQo+ ID4gPiA+IHNuZF9oZGFfaW50ZWwgdmlkZW9idWYyX21lbW9wcw0KPiA+ID4gPiB2aWRlb2J1ZjJf djRsMiBzbmRfaW50ZWxfZHNwY2ZnIHZpZGVvYnVmMl9jb21tb24gY3JjdDEwZGlmX3BjbG11bA0K PiA+ID4gPiBzbmRfaGRhX2NvZGVjIHZpZGVvZGV2IGNyYzMyX3BjbG11bCBzbmRfaHdkZXAgc25k X2hkYV9jb3JlDQo+ID4gPiA+IGdoYXNoX2NsbXVsbmlfaW50ZWwgc25kX3NlcSBtYyBqb3lkZXYg cGNzcGtyIHNuZF9zZXFfZGV2aWNlDQo+ID4gPiA+IHNuZF9wY20gc3A1MTAwX3RjbyBrMTB0ZW1w IGkyY19waWl4NCBzbmRfdGltZXIgdGhpbmtwYWRfYWNwaQ0KPiA+ID4gPiBsZWR0cmlnX2F1ZGlv IHNuZCB3bWkgc291bmRjb3JlIHZpZGVvIGkyY19zY21pIGFjcGlfY3B1ZnJlcQ0KPiA+ID4gPiBp cF90YWJsZXMgYW1kZ3B1KE8pIHJ0c3hfcGNpX3NkbW1jIGFtZF9pb21tdV92MiBncHVfc2NoZWQN Cj4gbW1jX2NvcmUNCj4gPiA+ID4gaTJjX2FsZ29fYml0IHR0bSBkcm1fa21zX2hlbHBlciBzeXNj b3B5YXJlYSBzeXNmaWxscmVjdCBzeXNpbWdibHQNCj4gPiA+ID4gZmJfc3lzX2ZvcHMgY2VjIGRy bSBjcmMzMmNfaW50ZWwgc2VyaW9fcmF3IGhpZF9tdWx0aXRvdWNoIHI4MTUyDQo+ID4gPiA+IG1p aSBudm1lIHI4MTY5IG52bWVfY29yZSBydHN4X3BjaSBwaW5jdHJsX2FtZA0KPiA+ID4gPiBDUFU6 IDUgUElEOiAxNTExIENvbW06IGdub21lLXNoZWxsIFRhaW50ZWQ6IEcgICAgICAgICAgIE8NCj4g NS41LjAtDQo+ID4gPiA+IHJjN0x5dWRlLVRlc3QrICM0DQo+ID4gPiA+IEhhcmR3YXJlIG5hbWU6 IExFTk9WTyBGQTQ5NVNJVDI2L0ZBNDk1U0lUMjYsIEJJT1MNCj4gUjEyRVQyMlcoMC4yMiApDQo+ ID4gPiA+IDAxLzMxLzIwMTkNCj4gPiA+ID4gUklQOiAwMDEwOnVwZGF0ZV9tc3Rfc3RyZWFtX2Fs bG9jX3RhYmxlKzB4MTFlLzB4MTMwIFthbWRncHVdDQo+ID4gPiA+IENvZGU6IDI4IDAwIDAwIDAw IDc1IDJiIDQ4IDhkIDY1IGUwIDViIDQxIDVjIDQxIDVkIDQxIDVlIDVkIGMzIDBmDQo+ID4gPiA+ IGI2IDA2DQo+ID4gPiA+IDQ5IDg5IDFjIDI0IDQxIDg4IDQ0IDI0IDA4IDBmIGI2IDQ2IDAxIDQx IDg4IDQ0IDI0IDA5IGViIDkzIDwwZj4NCj4gPiA+ID4gMGIgZTkgMmYgZmYgZmYgZmYgZTggYTYg ODIgYTMgYzIgNjYgMGYgMWYgNDQgMDAgMDAgMGYgMWYgNDQgMDANCj4gPiA+ID4gUlNQOiAwMDE4 OmZmZmZhYzQyODEyN2Y1YjAgRUZMQUdTOiAwMDAxMDIwMg0KPiA+ID4gPiBSQVg6IDAwMDAwMDAw MDAwMDAwMDIgUkJYOiBmZmZmOGQxZTE2NmVlZTgwIFJDWDoNCj4gMDAwMDAwMDAwMDAwMDAwMA0K PiA+ID4gPiBSRFg6IGZmZmZhYzQyODEyN2Y2NjggUlNJOiBmZmZmOGQxZTE2NmVlZTgwIFJESTog ZmZmZmFjNDI4MTI3ZjYxMA0KPiA+ID4gPiBSQlA6IGZmZmZhYzQyODEyN2Y2NDAgUjA4OiBmZmZm ZmZmZmMwM2Q5NGE4IFIwOTogMDAwMDAwMDAwMDAwMDAwMA0KPiA+ID4gPiBSMTA6IGZmZmY4ZDFl MjRiMDIwMDAgUjExOiBmZmZmYWM0MjgxMjdmNWIwIFIxMjogZmZmZjhkMWUxYjgzZDAwMA0KPiA+ ID4gPiBSMTM6IGZmZmY4ZDFlMWJlYTBiMDggUjE0OiAwMDAwMDAwMDAwMDAwMDAyIFIxNToNCj4g MDAwMDAwMDAwMDAwMDAwMg0KPiA+ID4gPiBGUzogIDAwMDA3ZmFiMjNmZmNkODAoMDAwMCkgR1M6 ZmZmZjhkMWUyOGI0MDAwMCgwMDAwKQ0KPiA+ID4gPiBrbmxHUzowMDAwMDAwMDAwMDAwMDAwDQo+ ID4gPiA+IENTOiAgMDAxMCBEUzogMDAwMCBFUzogMDAwMCBDUjA6IDAwMDAwMDAwODAwNTAwMzMN Cj4gPiA+ID4gQ1IyOiAwMDAwN2YxNTFmMTcxMWU4IENSMzogMDAwMDAwMDU5OTdjMDAwMCBDUjQ6 DQo+IDAwMDAwMDAwMDAzNDA2ZTANCj4gPiA+ID4gQ2FsbCBUcmFjZToNCj4gPiA+ID4gICA/IG11 dGV4X2xvY2srMHhlLzB4MzANCj4gPiA+ID4gICBkY19saW5rX2FsbG9jYXRlX21zdF9wYXlsb2Fk KzB4OWEvMHgyMTAgW2FtZGdwdV0NCj4gPiA+ID4gICA/IGRtX3JlYWRfcmVnX2Z1bmMrMHgzOS8w eGIwIFthbWRncHVdDQo+ID4gPiA+ICAgPyBjb3JlX2xpbmtfZW5hYmxlX3N0cmVhbSsweDY1Ni8w eDczMCBbYW1kZ3B1XQ0KPiA+ID4gPiAgIGNvcmVfbGlua19lbmFibGVfc3RyZWFtKzB4NjU2LzB4 NzMwIFthbWRncHVdDQo+ID4gPiA+ICAgZGNlMTEwX2FwcGx5X2N0eF90b19odysweDU4ZS8weDVk MCBbYW1kZ3B1XQ0KPiA+ID4gPiAgID8gZGNuMTBfdmVyaWZ5X2FsbG93X3BzdGF0ZV9jaGFuZ2Vf aGlnaCsweDFkLzB4MjgwIFthbWRncHVdDQo+ID4gPiA+ICAgPyBkY24xMF93YWl0X2Zvcl9tcGNj X2Rpc2Nvbm5lY3QrMHgzYy8weDEzMCBbYW1kZ3B1XQ0KPiA+ID4gPiAgIGRjX2NvbW1pdF9zdGF0 ZSsweDI5Mi8weDc3MCBbYW1kZ3B1XQ0KPiA+ID4gPiAgID8gYWRkX3RpbWVyKzB4MTAxLzB4MWYw DQo+ID4gPiA+ICAgPyB0dG1fYm9fcHV0KzB4MWExLzB4MmYwIFt0dG1dDQo+ID4gPiA+ICAgYW1k Z3B1X2RtX2F0b21pY19jb21taXRfdGFpbCsweGI1OS8weDFmZjAgW2FtZGdwdV0NCj4gPiA+ID4g ICA/IGFtZGdwdV9tb3ZlX2JsaXQuY29uc3Rwcm9wLjArMHhiOC8weDFmMCBbYW1kZ3B1XQ0KPiA+ ID4gPiAgID8gYW1kZ3B1X2JvX21vdmUrMHgxNmQvMHgyYjAgW2FtZGdwdV0NCj4gPiA+ID4gICA/ IHR0bV9ib19oYW5kbGVfbW92ZV9tZW0rMHgxMTgvMHg1NzAgW3R0bV0NCj4gPiA+ID4gICA/IHR0 bV9ib192YWxpZGF0ZSsweDEzNC8weDE1MCBbdHRtXQ0KPiA+ID4gPiAgID8gZG1fcGxhbmVfaGVs cGVyX3ByZXBhcmVfZmIrMHgxYjkvMHgyYTAgW2FtZGdwdV0NCj4gPiA+ID4gICA/IF9jb25kX3Jl c2NoZWQrMHgxNS8weDMwDQo+ID4gPiA+ICAgPyB3YWl0X2Zvcl9jb21wbGV0aW9uX3RpbWVvdXQr MHgzOC8weDE2MA0KPiA+ID4gPiAgID8gX2NvbmRfcmVzY2hlZCsweDE1LzB4MzANCj4gPiA+ID4g ICA/IHdhaXRfZm9yX2NvbXBsZXRpb25faW50ZXJydXB0aWJsZSsweDMzLzB4MTkwDQo+ID4gPiA+ ICAgY29tbWl0X3RhaWwrMHg5NC8weDEzMCBbZHJtX2ttc19oZWxwZXJdDQo+ID4gPiA+ICAgZHJt X2F0b21pY19oZWxwZXJfY29tbWl0KzB4MTEzLzB4MTQwIFtkcm1fa21zX2hlbHBlcl0NCj4gPiA+ ID4gICBkcm1fYXRvbWljX2hlbHBlcl9zZXRfY29uZmlnKzB4NzAvMHhiMCBbZHJtX2ttc19oZWxw ZXJdDQo+ID4gPiA+ICAgZHJtX21vZGVfc2V0Y3J0YysweDE5NC8weDZhMCBbZHJtXQ0KPiA+ID4g PiAgID8gX2NvbmRfcmVzY2hlZCsweDE1LzB4MzANCj4gPiA+ID4gICA/IG11dGV4X2xvY2srMHhl LzB4MzANCj4gPiA+ID4gICA/IGRybV9tb2RlX2dldGNydGMrMHgxODAvMHgxODAgW2RybV0NCj4g PiA+ID4gICBkcm1faW9jdGxfa2VybmVsKzB4YWEvMHhmMCBbZHJtXQ0KPiA+ID4gPiAgIGRybV9p b2N0bCsweDIwOC8weDM5MCBbZHJtXQ0KPiA+ID4gPiAgID8gZHJtX21vZGVfZ2V0Y3J0YysweDE4 MC8weDE4MCBbZHJtXQ0KPiA+ID4gPiAgIGFtZGdwdV9kcm1faW9jdGwrMHg0OS8weDgwIFthbWRn cHVdDQo+ID4gPiA+ICAgZG9fdmZzX2lvY3RsKzB4NDU4LzB4NmQwDQo+ID4gPiA+ICAga3N5c19p b2N0bCsweDVlLzB4OTANCj4gPiA+ID4gICBfX3g2NF9zeXNfaW9jdGwrMHgxNi8weDIwDQo+ID4g PiA+ICAgZG9fc3lzY2FsbF82NCsweDU1LzB4MWIwDQo+ID4gPiA+ICAgZW50cnlfU1lTQ0FMTF82 NF9hZnRlcl9od2ZyYW1lKzB4NDQvMHhhOQ0KPiA+ID4gPiBSSVA6IDAwMzM6MHg3ZmFiMjEyMWY4 N2INCj4gPiA+ID4gQ29kZTogMGYgMWUgZmEgNDggOGIgMDUgMGQgOTYgMmMgMDAgNjQgYzcgMDAg MjYgMDAgMDAgMDAgNDggYzcgYzANCj4gPiA+ID4gZmYgZmYgZmYgZmYgYzMgNjYgMGYgMWYgNDQg MDAgMDAgZjMgMGYgMWUgZmEgYjggMTAgMDAgMDAgMDAgMGYgMDUNCj4gPiA+ID4gPDQ4PiAzZCAw MQ0KPiA+ID4gPiBmMCBmZiBmZiA3MyAwMSBjMyA0OCA4YiAwZCBkZCA5NSAyYyAwMCBmNyBkOCA2 NCA4OSAwMSA0OA0KPiA+ID4gPiBSU1A6IDAwMmI6MDAwMDdmZmQwNDVmOTA2OCBFRkxBR1M6IDAw MDAwMjQ2IE9SSUdfUkFYOg0KPiA+ID4gPiAwMDAwMDAwMDAwMDAwMDEwDQo+ID4gPiA+IFJBWDog ZmZmZmZmZmZmZmZmZmZkYSBSQlg6IDAwMDA3ZmZkMDQ1ZjkwYTAgUkNYOiAwMDAwN2ZhYjIxMjFm ODdiDQo+ID4gPiA+IFJEWDogMDAwMDdmZmQwNDVmOTBhMCBSU0k6IDAwMDAwMDAwYzA2ODY0YTIg UkRJOiAwMDAwMDAwMDAwMDAwMDBiDQo+ID4gPiA+IFJCUDogMDAwMDdmZmQwNDVmOTBhMCBSMDg6 IDAwMDAwMDAwMDAwMDAwMDAgUjA5Og0KPiAwMDAwNTVkYmQyOTg1ZDEwDQo+ID4gPiA+IFIxMDog MDAwMDU1ZGJkMjE5NjI4MCBSMTE6IDAwMDAwMDAwMDAwMDAyNDYgUjEyOg0KPiAwMDAwMDAwMGMw Njg2NGEyDQo+ID4gPiA+IFIxMzogMDAwMDAwMDAwMDAwMDAwYiBSMTQ6IDAwMDAwMDAwMDAwMDAw MDAgUjE1Og0KPiAwMDAwNTVkYmQyMTk2MjgwDQo+ID4gPiA+IC0tLVsgZW5kIHRyYWNlIDZlYTg4 OGMyNGQyMDU5Y2QgXS0tLQ0KPiA+ID4gPg0KPiA+ID4gPiBOb3RlIGFzIHdlbGwsIEkgaGF2ZSBv bmx5IGJlZW4gYWJsZSB0byByZXByb2R1Y2UgdGhpcyBvbiBzZXR1cHMNCj4gPiA+ID4gd2l0aCAy IE1TVCBkaXNwbGF5cy4NCj4gPiA+ID4NCj4gPiA+ID4gU2lnbmVkLW9mZi1ieTogTHl1ZGUgUGF1 bCA8bHl1ZGVAcmVkaGF0LmNvbT4NCj4gPiA+ID4gQ2M6IHN0YWJsZUB2Z2VyLmtlcm5lbC5vcmcN Cj4gPiA+DQo+ID4gPiBMR1RNIGJ1dCB3b3VsZCBsaWtlIE1pa2l0YSBvciBXYXluZSB0byBoYXZl IGEgbG9vayBhcyB3ZWxsLg0KPiA+ID4gQWNrZWQtYnk6IEhhcnJ5IFdlbnRsYW5kIDxoYXJyeS53 ZW50bGFuZEBhbWQuY29tPg0KPiA+DQo+ID4gSSB0aGluayBpdHMgYSBnb29kIGNoYW5nZSBhbmQg aXQgZGVmaW5ldGVseSBoZWxwcyB0byBkZWFsIHdpdGgNCj4gPiBkaXNjcmVwdGVuY3kgYmV0d2Vl biBkcm0gYW5kIGRjIHBheWxvYWQgYWxsb2NhdGlvbiB0YWJsZXMuDQo+ID4gQnV0IEkgdGhpbmsg d2UgbWlnaHQgbm90IGV2ZW4gbmVlZCBleHRyYSBlbmFibGUgY2hlY2tzLg0KPiANCj4gSSB0aGlu ayB5b3UncmUgcmlnaHQgaGVyZSwgSSdsbCByZW1vdmUgdGhvc2UgaW4gdGhlIG5leHQgcmVzcGlu DQo+IA0KPiA+DQo+ID4gPiBIYXJyeQ0KPiA+ID4NCj4gPiA+ID4gLS0tDQo+ID4gPiA+ICAgZHJp dmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG1faGVscGVycy5jIHwg Nw0KPiArKysrLS0tDQo+ID4gPiA+ICAgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwg MyBkZWxldGlvbnMoLSkNCj4gPiA+ID4NCj4gPiA+ID4gZGlmZiAtLWdpdA0KPiA+ID4gPiBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtX2hlbHBlcnMuYw0K PiA+ID4gPiBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2Rt X2hlbHBlcnMuYw0KPiA+ID4gPiBpbmRleCAwNjliN2E2ZjU1OTcuLjI1MmZhNjBjNjc3NSAxMDA2 NDQNCj4gPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9h bWRncHVfZG1faGVscGVycy5jDQo+ID4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlz cGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtX2hlbHBlcnMuYw0KPiA+ID4gPiBAQCAtMjE2LDYgKzIx Niw3IEBAIGJvb2wNCj4gPiA+ID4gZG1faGVscGVyc19kcF9tc3Rfd3JpdGVfcGF5bG9hZF9hbGxv Y2F0aW9uX3RhYmxlKA0KPiA+ID4gPiAgIAkJZHJtX2RwX21zdF9yZXNldF92Y3BpX3Nsb3RzKG1z dF9tZ3IsIG1zdF9wb3J0KTsNCj4gPiA+ID4gICAJfQ0KPiA+ID4gPg0KPiA+ID4gPiArCS8qIElm IGRpc2FibGluZywgaXQncyBPSyBmb3IgdGhpcyB0byBmYWlsICovDQo+ID4gPiA+ICAgCXJldCA9 IGRybV9kcF91cGRhdGVfcGF5bG9hZF9wYXJ0MShtc3RfbWdyKTsNCj4gPiA+ID4NCj4gPiA+ID4g ICAJLyogbXN0X21nci0+LT5wYXlsb2FkcyBhcmUgVkMgcGF5bG9hZCBub3RpZnkgTVNUIGJyYW5j aCB1c2luZw0KPiA+ID4gPiBEUENEIG9yIEBAIC0yMjUsNyArMjI2LDcgQEAgYm9vbA0KPiA+ID4g PiBkbV9oZWxwZXJzX2RwX21zdF93cml0ZV9wYXlsb2FkX2FsbG9jYXRpb25fdGFibGUoDQo+ID4g PiA+DQo+ID4gPiA+ICAgCWdldF9wYXlsb2FkX3RhYmxlKGFjb25uZWN0b3IsIHByb3Bvc2VkX3Rh YmxlKTsNCj4gPiA+ID4NCj4gPiA+ID4gLQlpZiAocmV0KQ0KPiA+ID4gPiArCWlmIChyZXQgJiYg IWVuYWJsZSkNCj4gPiA+ID4gICAJCXJldHVybiBmYWxzZTsNCj4gPg0KPiA+IFdvdWxkbid0IGl0 IGJlIGJldHRlciB0byBjaGVjayByZXQgdmFsdWUsIGFuZCBpbnN0ZWFkIG9mIHJldHVybmluZw0K PiA+IGZhbHNlIGp1c3QgdGhyb3cgRFJNX0VSUk9SIG1lc3NhZ2UsIHNpbmNlIGRybV9kcF91cGRh dGVfcGF5bG9hZF9wYXJ0MQ0KPiA+IG9ubHkgcmV0dXJucyBlcnJvciBpZiBhIHBvcnQgaXMgbm90 IHZhbGlkYXRlZD8NCj4gDQo+IFlvdSdyZSByaWdodCBvbiBhdm9pZGluZyByZXR1cm5pbmcgaGVy ZSwgdGhhdCdzIHByb2JhYmx5IGEgYmV0dGVyIGlkZWEgc2luY2Ugd2UNCj4gd2FudCBhbGwgc3Rl cHMgdG8gYmUgcnVuIGV2ZW4gaWYgdGhleSBkb24ndCBzdWNjZWVkLiBJIHRoaW5rIHdlIGNhbiBz a2lwIHRoZQ0KPiBlcnJvciBtZXNzYWdlIHRob3VnaCwgaXQncyBleHBlY3RlZCB0aGF0IG1vZGVz ZXRzIHdoaWNoIGRpc2FibGUgZGlzcGxheXMgd2lsbA0KPiBoYXBwZW4gb24gcG9ydHMgdGhhdCBu byBsb25nZXIgY2FuIGJlIHZhbGlkYXRlZC4NCj4gDQo+ID4NCj4gPiBUaGFuayB5b3UsDQo+ID4g TWlraXRhDQo+ID4NCj4gPiA+ID4NCj4gPiA+ID4gICAJcmV0dXJuIHRydWU7DQo+ID4gPiA+IEBA IC0yOTksOSArMzAwLDkgQEAgYm9vbA0KPiBkbV9oZWxwZXJzX2RwX21zdF9zZW5kX3BheWxvYWRf YWxsb2NhdGlvbigNCj4gPiA+ID4gICAJaWYgKCFtc3RfbWdyLT5tc3Rfc3RhdGUpDQo+ID4gPiA+ ICAgCQlyZXR1cm4gZmFsc2U7DQo+ID4gPiA+DQo+ID4gPiA+ICsJLyogSWYgZGlzYWJsaW5nLCBp dCdzIE9LIGZvciB0aGlzIHRvIGZhaWwgKi8NCj4gPiA+ID4gICAJcmV0ID0gZHJtX2RwX3VwZGF0 ZV9wYXlsb2FkX3BhcnQyKG1zdF9tZ3IpOw0KPiA+ID4gPiAtDQo+ID4gPiA+IC0JaWYgKHJldCkN Cj4gPiA+ID4gKwlpZiAoZW5hYmxlICYmIHJldCkNCj4gPiA+ID4gICAJCXJldHVybiBmYWxzZTsN Cj4gPiA+ID4NCj4gPiA+ID4gICAJaWYgKCFlbmFibGUpDQo+IC0tDQo+IENoZWVycywNCj4gCUx5 dWRlIFBhdWwNCi0tDQpCZXN0IHJlZ2FyZHMsDQpXYXluZSBMaW4NCg==