From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Bish, Jim" Subject: Re: [PATCH] drm/i915: Try to fix MST for SKL Date: Mon, 23 Nov 2015 23:38:32 +0000 Message-ID: <1448321881.4170.7.camel@intel.com> References: <1439826380-18403-1-git-send-email-ville.syrjala@linux.intel.com> <5642506C.5050307@virtuousgeek.org> <564E3F04.7010501@kenjo.org> Reply-To: "Bish, Jim" Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id C2C626E687 for ; Mon, 23 Nov 2015 15:38:51 -0800 (PST) In-Reply-To: <564E3F04.7010501@kenjo.org> Content-Language: en-US Content-ID: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "intel-gfx@lists.freedesktop.org" , "ken@kenjo.org" List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCAyMDE1LTExLTE5IGF0IDIyOjI4ICswMTAwLCBLZW5uZXRoIEpvaGFuc3NvbiB3cm90 ZToNCj4gT24gMjAxNS0xMS0xMCAyMToxNSwgSmVzc2UgQmFybmVzIHdyb3RlOg0KPiA+IE9uIDA4 LzE3LzIwMTUgMDg6NDYgQU0sIHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tIHdyb3RlOg0K PiA+ID4gRnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNv bT4NCj4gPiA+IA0KPiA+ID4gU2V0IHVwIHRoZSBEREktPlBMTCBtYXBwaW5nIG9uIFNLTCBhbHNv IGZvciBNU1QgbGlua3MuIE1pZ2h0IGhlbHANCj4gPiA+IG1ha2UNCj4gPiA+IE1TVCBvcGVyYXRp b25hbCBvbiBTS0wuDQo+ID4gPiANCj4gPiA+IENjOiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRl bi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPg0KPiA+ID4gU2lnbmVkLW9mZi1ieTogVmlsbGUg U3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4NCj4gPiA+IC0tLQ0KPiA+ ID4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyAgICB8IDQ5ICsrKysrKysrKysr KysrKysrKysrKysNCj4gPiA+IC0tLS0tLS0tLS0tLS0tLQ0KPiA+ID4gICBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcF9tc3QuYyB8ICA4ICstLS0tLQ0KPiA+ID4gICBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcnYuaCAgICB8ICAyICsrDQo+ID4gPiAgIDMgZmlsZXMgY2hhbmdlZCwg MzIgaW5zZXJ0aW9ucygrKSwgMjcgZGVsZXRpb25zKC0pDQo+ID4gPiANCj4gPiA+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYw0KPiA+ID4gYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kZGkuYw0KPiA+ID4gaW5kZXggNWRmZjhiNy4uMTBhNWE5OCAxMDA2 NDQNCj4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jDQo+ID4gPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYw0KPiA+ID4gQEAgLTIyNTgsMzAg KzIyNTgsMjEgQEAgdWludDMyX3QgZGRpX3NpZ25hbF9sZXZlbHMoc3RydWN0DQo+ID4gPiBpbnRl bF9kcCAqaW50ZWxfZHApDQo+ID4gPiAgIAlyZXR1cm4gRERJX0JVRl9UUkFOU19TRUxFQ1QobGV2 ZWwpOw0KPiA+ID4gICB9DQo+ID4gPiAgIA0KPiA+ID4gLXN0YXRpYyB2b2lkIGludGVsX2RkaV9w cmVfZW5hYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyDQo+ID4gPiAqaW50ZWxfZW5jb2RlcikNCj4g PiA+ICt2b2lkIGludGVsX2RkaV9jbGtfc2VsZWN0KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNv ZGVyLA0KPiA+ID4gKwkJCSAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUNCj4gPiA+ICpw aXBlX2NvbmZpZykNCj4gPiA+ICAgew0KPiA+ID4gLQlzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29k ZXIgPSAmaW50ZWxfZW5jb2Rlci0+YmFzZTsNCj4gPiA+IC0Jc3RydWN0IGRybV9kZXZpY2UgKmRl diA9IGVuY29kZXItPmRldjsNCj4gPiA+IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsNCj4gPiA+IC0Jc3RydWN0IGludGVsX2NydGMgKmNydGMg PSB0b19pbnRlbF9jcnRjKGVuY29kZXItPmNydGMpOw0KPiA+ID4gLQllbnVtIHBvcnQgcG9ydCA9 DQo+ID4gPiBpbnRlbF9kZGlfZ2V0X2VuY29kZXJfcG9ydChpbnRlbF9lbmNvZGVyKTsNCj4gPiA+ IC0JaW50IHR5cGUgPSBpbnRlbF9lbmNvZGVyLT50eXBlOw0KPiA+ID4gLQlpbnQgaGRtaV9sZXZl bDsNCj4gPiA+IC0NCj4gPiA+IC0JaWYgKHR5cGUgPT0gSU5URUxfT1VUUFVUX0VEUCkgew0KPiA+ ID4gLQkJc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9DQo+ID4gPiBlbmNfdG9faW50ZWxfZHAo ZW5jb2Rlcik7DQo+ID4gPiAtCQlpbnRlbF9lZHBfcGFuZWxfb24oaW50ZWxfZHApOw0KPiA+ID4g LQl9DQo+ID4gPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUo ZW5jb2Rlcg0KPiA+ID4gLT5iYXNlLmRldik7DQo+ID4gPiArCWVudW0gcG9ydCBwb3J0ID0gaW50 ZWxfZGRpX2dldF9lbmNvZGVyX3BvcnQoZW5jb2Rlcik7DQo+ID4gPiAgIA0KPiA+ID4gLQlpZiAo SVNfU0tZTEFLRShkZXYpKSB7DQo+ID4gPiAtCQl1aW50MzJfdCBkcGxsID0gY3J0Yy0+Y29uZmln LT5kZGlfcGxsX3NlbDsNCj4gPiA+ICsJaWYgKElTX1NLWUxBS0UoZGV2X3ByaXYpKSB7DQo+ID4g PiArCQl1aW50MzJfdCBkcGxsID0gcGlwZV9jb25maWctPmRkaV9wbGxfc2VsOw0KPiA+ID4gICAJ CXVpbnQzMl90IHZhbDsNCj4gPiA+ICAgDQo+ID4gPiAgIAkJLyoNCj4gPiA+ICAgCQkgKiBEUExM MCBpcyB1c2VkIGZvciBlRFAgYW5kIGlzIHRoZSBvbmx5DQo+ID4gPiAicHJpdmF0ZSIgRFBMTCAo YXMNCj4gPiA+ICAgCQkgKiBvcHBvc2VkIHRvIHNoYXJlZCkgb24gU0tMDQo+ID4gPiAgIAkJICov DQo+ID4gPiAtCQlpZiAodHlwZSA9PSBJTlRFTF9PVVRQVVRfRURQKSB7DQo+ID4gPiArCQlpZiAo ZW5jb2Rlci0+dHlwZSA9PSBJTlRFTF9PVVRQVVRfRURQKSB7DQo+ID4gPiAgIAkJCVdBUk5fT04o ZHBsbCAhPSBTS0xfRFBMTDApOw0KPiA+ID4gICANCj4gPiA+ICAgCQkJdmFsID0gSTkxNV9SRUFE KERQTExfQ1RSTDEpOw0KPiA+ID4gQEAgLTIyODksNyArMjI4MCw3IEBAIHN0YXRpYyB2b2lkIGlu dGVsX2RkaV9wcmVfZW5hYmxlKHN0cnVjdA0KPiA+ID4gaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5j b2RlcikNCj4gPiA+ICAgCQkJdmFsICY9IH4oRFBMTF9DVFJMMV9IRE1JX01PREUoZHBsbCkgfA0K PiA+ID4gICAJCQkJIERQTExfQ1RSTDFfU1NDKGRwbGwpIHwNCj4gPiA+ICAgCQkJCSBEUExMX0NU UkwxX0xJTktfUkFURV9NQVNLKGRwbGwNCj4gPiA+ICkpOw0KPiA+ID4gLQkJCXZhbCB8PSBjcnRj LT5jb25maWctPmRwbGxfaHdfc3RhdGUuY3RybDENCj4gPiA+IDw8IChkcGxsICogNik7DQo+ID4g PiArCQkJdmFsIHw9IHBpcGVfY29uZmlnLT5kcGxsX2h3X3N0YXRlLmN0cmwxDQo+ID4gPiA8PCAo ZHBsbCAqIDYpOw0KPiA+ID4gICANCj4gPiA+ICAgCQkJSTkxNV9XUklURShEUExMX0NUUkwxLCB2 YWwpOw0KPiA+ID4gICAJCQlQT1NUSU5HX1JFQUQoRFBMTF9DVFJMMSk7DQo+ID4gPiBAQCAtMjMw NSwxMSArMjI5NiwyOSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kZGlfcHJlX2VuYWJsZShzdHJ1Y3QN Cj4gPiA+IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIpDQo+ID4gPiAgIA0KPiA+ID4gICAJ CUk5MTVfV1JJVEUoRFBMTF9DVFJMMiwgdmFsKTsNCj4gPiA+ICAgDQo+ID4gPiAtCX0gZWxzZSBp ZiAoSU5URUxfSU5GTyhkZXYpLT5nZW4gPCA5KSB7DQo+ID4gPiAtCQlXQVJOX09OKGNydGMtPmNv bmZpZy0+ZGRpX3BsbF9zZWwgPT0NCj4gPiA+IFBPUlRfQ0xLX1NFTF9OT05FKTsNCj4gPiA+IC0J CUk5MTVfV1JJVEUoUE9SVF9DTEtfU0VMKHBvcnQpLCBjcnRjLT5jb25maWcNCj4gPiA+IC0+ZGRp X3BsbF9zZWwpOw0KPiA+ID4gKwl9IGVsc2UgaWYgKElOVEVMX0lORk8oZGV2X3ByaXYpLT5nZW4g PCA5KSB7DQo+ID4gPiArCQlXQVJOX09OKHBpcGVfY29uZmlnLT5kZGlfcGxsX3NlbCA9PQ0KPiA+ ID4gUE9SVF9DTEtfU0VMX05PTkUpOw0KPiA+ID4gKwkJSTkxNV9XUklURShQT1JUX0NMS19TRUwo cG9ydCksIHBpcGVfY29uZmlnDQo+ID4gPiAtPmRkaV9wbGxfc2VsKTsNCj4gPiA+ICsJfQ0KPiA+ ID4gK30NCj4gPiA+ICsNCj4gPiA+ICtzdGF0aWMgdm9pZCBpbnRlbF9kZGlfcHJlX2VuYWJsZShz dHJ1Y3QgaW50ZWxfZW5jb2Rlcg0KPiA+ID4gKmludGVsX2VuY29kZXIpDQo+ID4gPiArew0KPiA+ ID4gKwlzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIgPSAmaW50ZWxfZW5jb2Rlci0+YmFzZTsN Cj4gPiA+ICsJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGVuY29kZXItPmRldjsNCj4gPiA+ICsJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsNCj4g PiA+ICsJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGVuY29kZXItPmNy dGMpOw0KPiA+ID4gKwllbnVtIHBvcnQgcG9ydCA9DQo+ID4gPiBpbnRlbF9kZGlfZ2V0X2VuY29k ZXJfcG9ydChpbnRlbF9lbmNvZGVyKTsNCj4gPiA+ICsJaW50IHR5cGUgPSBpbnRlbF9lbmNvZGVy LT50eXBlOw0KPiA+ID4gKwlpbnQgaGRtaV9sZXZlbDsNCj4gPiA+ICsNCj4gPiA+ICsJaWYgKHR5 cGUgPT0gSU5URUxfT1VUUFVUX0VEUCkgew0KPiA+ID4gKwkJc3RydWN0IGludGVsX2RwICppbnRl bF9kcCA9DQo+ID4gPiBlbmNfdG9faW50ZWxfZHAoZW5jb2Rlcik7DQo+ID4gPiArCQlpbnRlbF9l ZHBfcGFuZWxfb24oaW50ZWxfZHApOw0KPiA+ID4gICAJfQ0KPiA+ID4gICANCj4gPiA+ICsJaW50 ZWxfZGRpX2Nsa19zZWxlY3QoaW50ZWxfZW5jb2RlciwgY3J0Yy0+Y29uZmlnKTsNCj4gPiA+ICsN Cj4gPiA+ICAgCWlmICh0eXBlID09IElOVEVMX09VVFBVVF9ESVNQTEFZUE9SVCB8fCB0eXBlID09 DQo+ID4gPiBJTlRFTF9PVVRQVVRfRURQKSB7DQo+ID4gPiAgIAkJc3RydWN0IGludGVsX2RwICpp bnRlbF9kcCA9DQo+ID4gPiBlbmNfdG9faW50ZWxfZHAoZW5jb2Rlcik7DQo+ID4gPiAgIA0KPiA+ ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX21zdC5jDQo+ID4g PiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX21zdC5jDQo+ID4gPiBpbmRleCBlYmYy MDU0Li5mZDI1YWViNyAxMDA2NDQNCj4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RwX21zdC5jDQo+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9t c3QuYw0KPiA+ID4gQEAgLTE2MywyMCArMTYzLDE0IEBAIHN0YXRpYyB2b2lkIGludGVsX21zdF9w cmVfZW5hYmxlX2RwKHN0cnVjdA0KPiA+ID4gaW50ZWxfZW5jb2RlciAqZW5jb2RlcikNCj4gPiA+ ICAgCWludGVsX21zdC0+cG9ydCA9IGZvdW5kLT5wb3J0Ow0KPiA+ID4gICANCj4gPiA+ICAgCWlm IChpbnRlbF9kcC0+YWN0aXZlX21zdF9saW5rcyA9PSAwKSB7DQo+ID4gPiAtCQllbnVtIHBvcnQg cG9ydCA9DQo+ID4gPiBpbnRlbF9kZGlfZ2V0X2VuY29kZXJfcG9ydChlbmNvZGVyKTsNCj4gPiA+ ICsJCWludGVsX2RkaV9jbGtfc2VsZWN0KGVuY29kZXIsIGludGVsX2NydGMNCj4gPiA+IC0+Y29u ZmlnKTsNCj4gPiA+ICAgDQo+ID4gPiAgIAkJaW50ZWxfZHBfc2V0X2xpbmtfcGFyYW1zKGludGVs X2RwLCBpbnRlbF9jcnRjDQo+ID4gPiAtPmNvbmZpZyk7DQo+ID4gPiAgIA0KPiA+ID4gLQkJLyog RklYTUU6IGFkZCBzdXBwb3J0IGZvciBTS0wgKi8NCj4gPiA+IC0JCWlmIChJTlRFTF9JTkZPKGRl diktPmdlbiA8IDkpDQo+ID4gPiAtCQkJSTkxNV9XUklURShQT1JUX0NMS19TRUwocG9ydCksDQo+ ID4gPiAtCQkJCSAgIGludGVsX2NydGMtPmNvbmZpZw0KPiA+ID4gLT5kZGlfcGxsX3NlbCk7DQo+ ID4gPiAtDQo+ID4gPiAgIAkJaW50ZWxfZGRpX2luaXRfZHBfYnVmX3JlZygmaW50ZWxfZGlnX3Bv cnQNCj4gPiA+IC0+YmFzZSk7DQo+ID4gPiAgIA0KPiA+ID4gICAJCWludGVsX2RwX3NpbmtfZHBt cyhpbnRlbF9kcCwgRFJNX01PREVfRFBNU19PTik7DQo+ID4gPiAgIA0KPiA+ID4gLQ0KPiA+ID4g ICAJCWludGVsX2RwX3N0YXJ0X2xpbmtfdHJhaW4oaW50ZWxfZHApOw0KPiA+ID4gICAJCWludGVs X2RwX2NvbXBsZXRlX2xpbmtfdHJhaW4oaW50ZWxfZHApOw0KPiA+ID4gICAJCWludGVsX2RwX3N0 b3BfbGlua190cmFpbihpbnRlbF9kcCk7DQo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHJ2LmgNCj4gPiA+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHJ2LmgNCj4gPiA+IGluZGV4IDcxYTJlMTguLmE5NzkwOGEgMTAwNjQ0DQo+ID4gPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaA0KPiA+ID4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHJ2LmgNCj4gPiA+IEBAIC05MzgsNiArOTM4LDggQEAgdm9pZCBpbnRl bF9jcnRfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsNCj4gPiA+ICAgDQo+ID4gPiAgIA0K PiA+ID4gICAvKiBpbnRlbF9kZGkuYyAqLw0KPiA+ID4gK3ZvaWQgaW50ZWxfZGRpX2Nsa19zZWxl Y3Qoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsDQo+ID4gPiArCQkJICBjb25zdCBzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZQ0KPiA+ID4gKnBpcGVfY29uZmlnKTsNCj4gPiA+ICAgdm9pZCBp bnRlbF9wcmVwYXJlX2RkaShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsNCj4gPiA+ICAgdm9pZCBo c3dfZmRpX2xpbmtfdHJhaW4oc3RydWN0IGRybV9jcnRjICpjcnRjKTsNCj4gPiA+ICAgdm9pZCBp bnRlbF9kZGlfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBlbnVtIHBvcnQgcG9ydCk7DQo+ ID4gPiANCj4gPiBMb29rcyBsaWtlIGFuIGltcHJvdmVtZW50IG92ZXIgY3VycmVudCBjb2RlIGFu ZCBmaXhlcyB0aGUgaGFyZCBoYW5nDQo+ID4gaW4NCj4gPiBodHRwczovL2J1Z3MuZnJlZWRlc2t0 b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD05MTc5MSwgc28gSSB0aGluayB3ZQ0KPiA+IHNob3VsZA0K PiA+IHB1c2ggaXQuDQo+ID4gDQo+ID4gU291bmRzIGxpa2Ugd2UgbmVlZCBtb3JlIHRoYW4ganVz dCB0aGlzIHRvIGZpeCBNU1Qgb24gU0tMIHRob3VnaC4NCj4gDQo+IEkgdGVzdGVkIGFnYWluc3Qg ZGVsbCA0ayBVUDMyMTRRICBhbmQgSSBzdGlsbCBoYXZlIGEgaGFyZCBoYW5nIHNvIHllcw0KPiBN U1Qgb24gc2t5bGFrZSBpcyBub3QgaW4gYSBnb29kIHNoYXBlLg0KSnVzdCB0ZXN0ZWQgb24gc3Bl Y2lhbCBrZXJuZWwgZm9yIHlvZ2EgOTAwIHdpdGggVVNCIFR5cGUgQyB0byBEUA0KYWRhcHRlciBj b25uZWN0ZWQgdG8gQ2x1YiAzRCBNU1QgSHViIChDU1YtNTIwMCkuICBNb3N0bHkgd29ya3Mgd2l0 aA0KMjU2MHgxNDQwIG9uIGxvY2FsIGRpc3BsYXkgYW5kIGR1YWwgaGVhZCBTYW1zdW5nIDRrIG1v bml0b3JzIC0gc2FtZQ0KcmVzb2x1dGlvbiBvbiBhbGwuICBJIGFtIHdyaXRpbmcgdGhpcyBlLW1h aWwgb24gb25lIG9mIHRoZSBzYW1zdW5nDQptb25pdG9ycy4gIGhhdmUgcGljdHVyZXMgaWYgeW91 IGFyZSBpbnRlcmVzdGVkLg0KDQpBbHNvLCBJIGFtIGdldHRpbmcgd2F0ZXJtYXJrIHN0YWNrIHRy YWNlcyBhbmQgcGVyaW9kaWMgZHJvcHMgb2YgdGhlIE1TVA0KZGlzcGxheXMgLSBibGFuayB0aGVu IHJlLWFwcGVhci4NCg0KSmltDQo+ID4gDQo+ID4gUmV2aWV3ZWQtYnk6IEplc3NlIEJhcm5lcyA8 amJhcm5lc0B2aXJ0dW91c2dlZWsub3JnPg0KPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fDQo+ID4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdA0KPiA+IElu dGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcNCj4gPiBodHRwOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4DQo+IA0KPiBfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0 DQo+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcNCj4gaHR0cDovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeApfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVs LWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=