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.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, 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 10E60C433E2 for ; Wed, 9 Sep 2020 00:47:01 +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 88AAF216C4 for ; Wed, 9 Sep 2020 00:47:00 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 88AAF216C4 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id C92356E8D0; Wed, 9 Sep 2020 00:46:59 +0000 (UTC) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4CB4D6E8CE for ; Wed, 9 Sep 2020 00:46:58 +0000 (UTC) IronPort-SDR: T9SbXv+RhwVRBWkP9R7iIO1Vjx2GYX+TvUez6OjzMJ4Gt9O66j2Wy0ylO9jmOJkKzoqmZkQTwN 74ieMOe2Zi5Q== X-IronPort-AV: E=McAfee;i="6000,8403,9738"; a="159215814" X-IronPort-AV: E=Sophos;i="5.76,407,1592895600"; d="scan'208";a="159215814" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Sep 2020 17:46:57 -0700 IronPort-SDR: mNYjYgB+wb0lVRSXrWTKM2/GF0xySIefxfye4OQ72dywV/fbv3PHV/NYDVnWO0ORHEo70XrKAz Ez78roPNyL0Q== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.76,407,1592895600"; d="scan'208";a="333656187" Received: from orsmsx604.amr.corp.intel.com ([10.22.229.17]) by orsmga008.jf.intel.com with ESMTP; 08 Sep 2020 17:46:57 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX604.amr.corp.intel.com (10.22.229.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 8 Sep 2020 17:46:57 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 8 Sep 2020 17:46:56 -0700 Received: from orsmsx610.amr.corp.intel.com ([10.22.229.23]) by ORSMSX610.amr.corp.intel.com ([10.22.229.23]) with mapi id 15.01.1713.004; Tue, 8 Sep 2020 17:46:56 -0700 From: "Souza, Jose" To: "ville.syrjala@linux.intel.com" , "intel-gfx@lists.freedesktop.org" Thread-Topic: [11/12] drm/i915: Introduce intel_hpd_hotplug_irqs() Thread-Index: AQHWhfme7QaBSpz8/0S41y728HD9qKlf76WA Date: Wed, 9 Sep 2020 00:46:56 +0000 Message-ID: References: <20200630215601.28557-12-ville.syrjala@linux.intel.com> In-Reply-To: <20200630215601.28557-12-ville.syrjala@linux.intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.22.254.132] Content-ID: <1A1A0649FBCB5A4D98BA3402AF156BD8@intel.com> MIME-Version: 1.0 Subject: Re: [Intel-gfx] [11/12] drm/i915: Introduce intel_hpd_hotplug_irqs() X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" T24gV2VkLCAyMDIwLTA3LTAxIGF0IDAwOjU2ICswMzAwLCBWaWxsZSBTeXJqYWxhIHdyb3RlOg0K PiBGcm9tOiBWaWxsZSBTeXJqw6Rsw6QgPA0KPiB2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNv bQ0KPiA+DQo+IA0KPiBJbnRyb2R1Y2UgaW50ZWxfaHBkX2hvdHBsdWdfaXJxcygpIGFzIGEgcGFy dG5lciB0bw0KPiBpbnRlbF9ocGRfZW5hYmxlZF9pcnFzKCkuIFRoZXJlJ3Mgbm8gbmVlZCB0byBj YXJlIGFib3V0IHRoZQ0KPiBlbmNvZGVycyB3aGljaCB3ZSdyZSBub3QgZXhwb3NpbmcsIHNvIHdl IGNhbiBhdm9pZCBoYXJkb2NvZGluZw0KDQpoYXJkLWNvZGluZw0KDQo+IHRoZSBtYXNrcyBpbiB2 YXJpb3VzIHBsYWNlcy4NCg0KUHJldHR5IG5pY2UgcGF0Y2gsIHlvdSBvbmx5IG1pc3NlZCB0byBk byB0aGlzIGNoYW5nZSBpbiB0aGUgaXJxX2hhbmRsZXJzIHNvIHdlIGNvdWxkIG51a2UgdGhlIFNE RV9ERElfTUFTS3MsIG9yIGFyZSB5b3UgcGxhbm5pbmcgdG8gZG8gdGhpcyBpbiBhDQpmb2xsb3cg dXAgcGF0Y2g/IElmIGxhdGVyIGNvbnNpZGVyIHRoaXMNCg0KUmV2aWV3ZWQtYnk6IEpvc8OpIFJv YmVydG8gZGUgU291emEgPGpvc2Uuc291emFAaW50ZWwuY29tPg0KDQo+IA0KPiBTaWduZWQtb2Zm LWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPA0KPiB2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbQ0K PiA+DQo+IC0tLQ0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYyB8IDUwICsrKysr KysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLQ0KPiAgMSBmaWxlIGNoYW5nZWQsIDIzIGluc2Vy dGlvbnMoKyksIDI3IGRlbGV0aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfaXJxLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jDQo+ IGluZGV4IDk1YWI0NDMyYTg3ZC4uYjhhNmEyMWY0YzU0IDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jDQo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfaXJxLmMNCj4gQEAgLTI5NDMsNiArMjk0MywxOCBAQCBzdGF0aWMgdTMyIGludGVsX2hwZF9l bmFibGVkX2lycXMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LA0KPiAgCXJldHVy biBlbmFibGVkX2lycXM7DQo+ICB9DQo+ICANCj4gK3N0YXRpYyB1MzIgaW50ZWxfaHBkX2hvdHBs dWdfaXJxcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsDQo+ICsJCQkJICBjb25z dCB1MzIgaHBkW0hQRF9OVU1fUElOU10pDQo+ICt7DQo+ICsJc3RydWN0IGludGVsX2VuY29kZXIg KmVuY29kZXI7DQo+ICsJdTMyIGhvdHBsdWdfaXJxcyA9IDA7DQo+ICsNCj4gKwlmb3JfZWFjaF9p bnRlbF9lbmNvZGVyKCZkZXZfcHJpdi0+ZHJtLCBlbmNvZGVyKQ0KPiArCQlob3RwbHVnX2lycXMg fD0gaHBkW2VuY29kZXItPmhwZF9waW5dOw0KPiArDQo+ICsJcmV0dXJuIGhvdHBsdWdfaXJxczsN Cj4gK30NCj4gKw0KPiAgc3RhdGljIHZvaWQgaWJ4X2hwZF9kZXRlY3Rpb25fc2V0dXAoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQ0KPiAgew0KPiAgCXUzMiBob3RwbHVnOw0KPiBA QCAtMjk3MiwxMiArMjk4NCw4IEBAIHN0YXRpYyB2b2lkIGlieF9ocGRfaXJxX3NldHVwKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikNCj4gIHsNCj4gIAl1MzIgaG90cGx1Z19pcnFz LCBlbmFibGVkX2lycXM7DQo+ICANCj4gLQlpZiAoSEFTX1BDSF9JQlgoZGV2X3ByaXYpKQ0KPiAt CQlob3RwbHVnX2lycXMgPSBTREVfSE9UUExVR19NQVNLOw0KPiAtCWVsc2UNCj4gLQkJaG90cGx1 Z19pcnFzID0gU0RFX0hPVFBMVUdfTUFTS19DUFQ7DQo+IC0NCj4gIAllbmFibGVkX2lycXMgPSBp bnRlbF9ocGRfZW5hYmxlZF9pcnFzKGRldl9wcml2LCBkZXZfcHJpdi0+aG90cGx1Zy5wY2hfaHBk KTsNCj4gKwlob3RwbHVnX2lycXMgPSBpbnRlbF9ocGRfaG90cGx1Z19pcnFzKGRldl9wcml2LCBk ZXZfcHJpdi0+aG90cGx1Zy5wY2hfaHBkKTsNCj4gIA0KPiAgCWlieF9kaXNwbGF5X2ludGVycnVw dF91cGRhdGUoZGV2X3ByaXYsIGhvdHBsdWdfaXJxcywgZW5hYmxlZF9pcnFzKTsNCj4gIA0KPiBA QCAtMzAwNSwxMyArMzAxMywxMiBAQCBzdGF0aWMgdm9pZCBpY3BfdGNfaHBkX2RldGVjdGlvbl9z ZXR1cChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsDQo+ICB9DQo+ICANCj4gIHN0 YXRpYyB2b2lkIGljcF9ocGRfaXJxX3NldHVwKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiwNCj4gLQkJCSAgICAgIHUzMiBzZGVfZGRpX21hc2ssIHUzMiBzZGVfdGNfbWFzaywNCj4g IAkJCSAgICAgIHUzMiBkZGlfZW5hYmxlX21hc2ssIHUzMiB0Y19lbmFibGVfbWFzaykNCj4gIHsN Cj4gIAl1MzIgaG90cGx1Z19pcnFzLCBlbmFibGVkX2lycXM7DQo+ICANCj4gLQlob3RwbHVnX2ly cXMgPSBzZGVfZGRpX21hc2sgfCBzZGVfdGNfbWFzazsNCj4gIAllbmFibGVkX2lycXMgPSBpbnRl bF9ocGRfZW5hYmxlZF9pcnFzKGRldl9wcml2LCBkZXZfcHJpdi0+aG90cGx1Zy5wY2hfaHBkKTsN Cj4gKwlob3RwbHVnX2lycXMgPSBpbnRlbF9ocGRfaG90cGx1Z19pcnFzKGRldl9wcml2LCBkZXZf cHJpdi0+aG90cGx1Zy5wY2hfaHBkKTsNCj4gIA0KPiAgCUk5MTVfV1JJVEUoU0hQRF9GSUxURVJf Q05ULCBTSFBEX0ZJTFRFUl9DTlRfNTAwX0FESik7DQo+ICANCj4gQEAgLTMwMjksNyArMzAzNiw2 IEBAIHN0YXRpYyB2b2lkIGljcF9ocGRfaXJxX3NldHVwKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiwNCj4gIHN0YXRpYyB2b2lkIG1jY19ocGRfaXJxX3NldHVwKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdikNCj4gIHsNCj4gIAlpY3BfaHBkX2lycV9zZXR1cChkZXZf cHJpdiwNCj4gLQkJCSAgU0RFX0RESV9NQVNLX0lDUCwgU0RFX1RDX0hPVFBMVUdfSUNQKFBPUlRf VEMxKSwNCj4gIAkJCSAgSUNQX0RESV9IUERfRU5BQkxFX01BU0ssIElDUF9UQ19IUERfRU5BQkxF KFBPUlRfVEMxKSk7DQo+ICB9DQo+ICANCj4gQEAgLTMwNDEsNyArMzA0Nyw2IEBAIHN0YXRpYyB2 b2lkIG1jY19ocGRfaXJxX3NldHVwKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikN Cj4gIHN0YXRpYyB2b2lkIGpzcF9ocGRfaXJxX3NldHVwKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdikNCj4gIHsNCj4gIAlpY3BfaHBkX2lycV9zZXR1cChkZXZfcHJpdiwNCj4gLQkJ CSAgU0RFX0RESV9NQVNLX1RHUCwgMCwNCj4gIAkJCSAgVEdQX0RESV9IUERfRU5BQkxFX01BU0ss IDApOw0KPiAgfQ0KPiAgDQo+IEBAIC0zMDc0LDcgKzMwNzksNyBAQCBzdGF0aWMgdm9pZCBnZW4x MV9ocGRfaXJxX3NldHVwKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikNCj4gIAl1 MzIgdmFsOw0KPiAgDQo+ICAJZW5hYmxlZF9pcnFzID0gaW50ZWxfaHBkX2VuYWJsZWRfaXJxcyhk ZXZfcHJpdiwgZGV2X3ByaXYtPmhvdHBsdWcuaHBkKTsNCj4gLQlob3RwbHVnX2lycXMgPSBHRU4x MV9ERV9UQ19IT1RQTFVHX01BU0sgfCBHRU4xMV9ERV9UQlRfSE9UUExVR19NQVNLOw0KPiArCWhv dHBsdWdfaXJxcyA9IGludGVsX2hwZF9ob3RwbHVnX2lycXMoZGV2X3ByaXYsIGRldl9wcml2LT5o b3RwbHVnLmhwZCk7DQo+ICANCj4gIAl2YWwgPSBJOTE1X1JFQUQoR0VOMTFfREVfSFBEX0lNUik7 DQo+ICAJdmFsICY9IH5ob3RwbHVnX2lycXM7DQo+IEBAIC0zMDg1LDEwICszMDkwLDEwIEBAIHN0 YXRpYyB2b2lkIGdlbjExX2hwZF9pcnFfc2V0dXAoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2KQ0KPiAgCWdlbjExX2hwZF9kZXRlY3Rpb25fc2V0dXAoZGV2X3ByaXYpOw0KPiAgDQo+ ICAJaWYgKElOVEVMX1BDSF9UWVBFKGRldl9wcml2KSA+PSBQQ0hfVEdQKQ0KPiAtCQlpY3BfaHBk X2lycV9zZXR1cChkZXZfcHJpdiwgU0RFX0RESV9NQVNLX1RHUCwgU0RFX1RDX01BU0tfVEdQLA0K PiArCQlpY3BfaHBkX2lycV9zZXR1cChkZXZfcHJpdiwNCj4gIAkJCQkgIFRHUF9ERElfSFBEX0VO QUJMRV9NQVNLLCBUR1BfVENfSFBEX0VOQUJMRV9NQVNLKTsNCj4gIAllbHNlIGlmIChJTlRFTF9Q Q0hfVFlQRShkZXZfcHJpdikgPj0gUENIX0lDUCkNCj4gLQkJaWNwX2hwZF9pcnFfc2V0dXAoZGV2 X3ByaXYsIFNERV9ERElfTUFTS19JQ1AsIFNERV9UQ19NQVNLX0lDUCwNCj4gKwkJaWNwX2hwZF9p cnFfc2V0dXAoZGV2X3ByaXYsDQo+ICAJCQkJICBJQ1BfRERJX0hQRF9FTkFCTEVfTUFTSywgSUNQ X1RDX0hQRF9FTkFCTEVfTUFTSyk7DQo+ICB9DQo+ICANCj4gQEAgLTMxMjQsOCArMzEyOSw4IEBA IHN0YXRpYyB2b2lkIHNwdF9ocGRfaXJxX3NldHVwKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdikNCj4gIAlpZiAoSU5URUxfUENIX1RZUEUoZGV2X3ByaXYpID49IFBDSF9DTlApDQo+ ICAJCUk5MTVfV1JJVEUoU0hQRF9GSUxURVJfQ05ULCBTSFBEX0ZJTFRFUl9DTlRfNTAwX0FESik7 DQo+ICANCj4gLQlob3RwbHVnX2lycXMgPSBTREVfSE9UUExVR19NQVNLX1NQVDsNCj4gIAllbmFi bGVkX2lycXMgPSBpbnRlbF9ocGRfZW5hYmxlZF9pcnFzKGRldl9wcml2LCBkZXZfcHJpdi0+aG90 cGx1Zy5wY2hfaHBkKTsNCj4gKwlob3RwbHVnX2lycXMgPSBpbnRlbF9ocGRfaG90cGx1Z19pcnFz KGRldl9wcml2LCBkZXZfcHJpdi0+aG90cGx1Zy5wY2hfaHBkKTsNCj4gIA0KPiAgCWlieF9kaXNw bGF5X2ludGVycnVwdF91cGRhdGUoZGV2X3ByaXYsIGhvdHBsdWdfaXJxcywgZW5hYmxlZF9pcnFz KTsNCj4gIA0KPiBAQCAtMzE1MiwyMiArMzE1NywxMyBAQCBzdGF0aWMgdm9pZCBpbGtfaHBkX2ly cV9zZXR1cChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpDQo+ICB7DQo+ICAJdTMy IGhvdHBsdWdfaXJxcywgZW5hYmxlZF9pcnFzOw0KPiAgDQo+IC0JaWYgKElOVEVMX0dFTihkZXZf cHJpdikgPj0gOCkgew0KPiAtCQlob3RwbHVnX2lycXMgPSBHRU44X1BPUlRfRFBfQV9IT1RQTFVH Ow0KPiAtCQllbmFibGVkX2lycXMgPSBpbnRlbF9ocGRfZW5hYmxlZF9pcnFzKGRldl9wcml2LCBk ZXZfcHJpdi0+aG90cGx1Zy5ocGQpOw0KPiArCWVuYWJsZWRfaXJxcyA9IGludGVsX2hwZF9lbmFi bGVkX2lycXMoZGV2X3ByaXYsIGRldl9wcml2LT5ob3RwbHVnLmhwZCk7DQo+ICsJaG90cGx1Z19p cnFzID0gaW50ZWxfaHBkX2hvdHBsdWdfaXJxcyhkZXZfcHJpdiwgZGV2X3ByaXYtPmhvdHBsdWcu aHBkKTsNCj4gIA0KPiArCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDgpDQo+ICAJCWJkd191 cGRhdGVfcG9ydF9pcnEoZGV2X3ByaXYsIGhvdHBsdWdfaXJxcywgZW5hYmxlZF9pcnFzKTsNCj4g LQl9IGVsc2UgaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gNykgew0KPiAtCQlob3RwbHVnX2ly cXMgPSBERV9EUF9BX0hPVFBMVUdfSVZCOw0KPiAtCQllbmFibGVkX2lycXMgPSBpbnRlbF9ocGRf ZW5hYmxlZF9pcnFzKGRldl9wcml2LCBkZXZfcHJpdi0+aG90cGx1Zy5ocGQpOw0KPiAtDQo+ICsJ ZWxzZQ0KPiAgCQlpbGtfdXBkYXRlX2Rpc3BsYXlfaXJxKGRldl9wcml2LCBob3RwbHVnX2lycXMs IGVuYWJsZWRfaXJxcyk7DQo+IC0JfSBlbHNlIHsNCj4gLQkJaG90cGx1Z19pcnFzID0gREVfRFBf QV9IT1RQTFVHOw0KPiAtCQllbmFibGVkX2lycXMgPSBpbnRlbF9ocGRfZW5hYmxlZF9pcnFzKGRl dl9wcml2LCBkZXZfcHJpdi0+aG90cGx1Zy5ocGQpOw0KPiAtDQo+IC0JCWlsa191cGRhdGVfZGlz cGxheV9pcnEoZGV2X3ByaXYsIGhvdHBsdWdfaXJxcywgZW5hYmxlZF9pcnFzKTsNCj4gLQl9DQo+ ICANCj4gIAlpbGtfaHBkX2RldGVjdGlvbl9zZXR1cChkZXZfcHJpdik7DQo+ICANCj4gQEAgLTMy MTYsNyArMzIxMiw3IEBAIHN0YXRpYyB2b2lkIGJ4dF9ocGRfaXJxX3NldHVwKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdikNCj4gIAl1MzIgaG90cGx1Z19pcnFzLCBlbmFibGVkX2ly cXM7DQo+ICANCj4gIAllbmFibGVkX2lycXMgPSBpbnRlbF9ocGRfZW5hYmxlZF9pcnFzKGRldl9w cml2LCBkZXZfcHJpdi0+aG90cGx1Zy5ocGQpOw0KPiAtCWhvdHBsdWdfaXJxcyA9IEJYVF9ERV9Q T1JUX0hPVFBMVUdfTUFTSzsNCj4gKwlob3RwbHVnX2lycXMgPSBpbnRlbF9ocGRfaG90cGx1Z19p cnFzKGRldl9wcml2LCBkZXZfcHJpdi0+aG90cGx1Zy5ocGQpOw0KPiAgDQo+ICAJYmR3X3VwZGF0 ZV9wb3J0X2lycShkZXZfcHJpdiwgaG90cGx1Z19pcnFzLCBlbmFibGVkX2lycXMpOw0KPiAgDQo+ IA0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwt Z2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==