From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: Re: [PATCH v2 07/10] drm/i915: Try to make sure cxsr is disabled around plane enable/disable Date: Wed, 1 Jul 2015 13:38:35 -0700 Message-ID: <20150701203835.GP5645@intel.com> References: <1435172410-9834-8-git-send-email-ville.syrjala@linux.intel.com> <1435778018-9412-1-git-send-email-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id 527A872048 for ; Wed, 1 Jul 2015 13:38:36 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1435778018-9412-1-git-send-email-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: ville.syrjala@linux.intel.com Cc: intel-gfx@lists.freedesktop.org, Paulo Zanoni List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBKdWwgMDEsIDIwMTUgYXQgMTA6MTM6MzhQTSArMDMwMCwgdmlsbGUuc3lyamFsYUBs aW51eC5pbnRlbC5jb20gd3JvdGU6Cj4gRnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJq YWxhQGxpbnV4LmludGVsLmNvbT4KPiAKPiBDeFNSIChvciBtYXhmaWZvIG9uIFZMVi9DSFYpIGJs b2NrcyBzb21uZSBjaGFuZ2VzIHRvIHRoZSBwbGFuZSBjb250cm9sCj4gcmVnaXN0ZXIgKGVuYWJs ZSBiaXQgYXQgbGVhc3QsIG5vdCBxdWl0ZSBzdXJlIGFib3V0IHRoZSByZXN0KS4gU28gaW4KPiBv cmRlciB0byBoYXZlIHRoZSBwbGFuZSBlbmFibGUvZGlzYWJsZSB3aGVuIHdlIHdhbnQgd2UgbmVl ZCB0byBmaXJzdAo+IGtpY2sgdGhlIGhhcmR3YXJlIG91dCBvZiBjeHNyLgo+IAo+IFVuZm9ydHVu YXRlbG95IHRoaXMgcmVxdWlyZXMgc29tZSBleHRyYSB2Ymxhbmsgd2FpdHMuIEZvciB0aGUgQ3hT Ugo+IGVuYWJsZSBhZnRlciB0aGUgcGxhbmUgdXBkYXRlIHdlIHNob3VsZCBldmVudHVhbGx5IHVz ZSBhbiBhc3luYwo+IHZibGFuayB3b3JrZXIsIGJ1dCBzaW5jZSB3ZSBkb24ndCBoYXZlIHRoYXQg anVzdCBkbyBzeW5jIHZibGFuawo+IHdhaXRzLiBGb3IgdGhlIGRpc2FibGUgY2FzZSB3ZSBoYXZl IG5vIGNob2ljZSBidXQgdG8gZG8gaXQKPiBzeW5jaHJvbm91c2x5Lgo+IAo+IHYyOiBEb24ndCBh ZGQgYSBzcHVyaW91cyBpbnRlbF9wcmVfcGxhbmVfdXBkYXRlKCkgdG8gY3J0YyBkaXNhYmxlCj4g Cj4gQ2M6IFBhdWxvIFphbm9uaSA8cGF1bG8uci56YW5vbmlAaW50ZWwuY29tPgo+IFJldmlld2Vk LWJ5OiBDbGludCBUYXlsb3IgPENsaW50b24uQS5UYXlsb3JAaW50ZWwuY29tPgo+IFRlc3RlZC1i eTogQ2xpbnQgVGF5bG9yIDxDbGludG9uLkEuVGF5bG9yQGludGVsLmNvbT4KPiBTaWduZWQtb2Zm LWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+IC0t LQo+IFBhdWxvIG5vdGljZWQgc29tZSBmcm9udGJ1ZmZlcl9iaXRzIFdBUk5zIGZyb20gdGhpcyBw YXRjaCwgYW5kIHN1cmUgZW5vdWdoCj4gSSBhY2NpZGVudGFsbHkgYWRkZWQgYW5vdGhlciBpbnRl bF9wcmVfcGxhbmVfdXBkYXRlKCkgdG8gdGhlIGNydGMgZGlzYWJsZSBsb29wLgo+IEkgZmFpbGVk IHRvIG5vdGljZSBiZWNhdXNlIEkgaGFkIGNvbW1lbnRlZCBvdXQgdGhlIGZyb250YnVmZmVyX2Jp dHMgV0FSTnMgZWFybGllcgo+IGZyb20gbXkgdHJlZSBzaW5jZSB0aGV5IHdlcmUgdG9vIG5vaXN5 LgoKSSBjYW4gY29uZmlybSB0aGF0IHlvdXIgdjIgZml4ZXMgdGhlIHdhcm5pbmcgc3BhbSBjYXVz ZWQgYnkgdjEuCgpSZWdhcmRpbmcgdGhlIHYyIGZpeDoKVGVzdGVkLWJ5OiBNYXR0IFJvcGVyIDxt YXR0aGV3LmQucm9wZXJAaW50ZWwuY29tPgoKPiAKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jIHwgMzQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLQo+ICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgfCAgMyArKysKPiAgZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcG0uYyAgICAgIHwgMTEgKysrKy0tLS0tLS0KPiAgMyBmaWxlcyBj aGFuZ2VkLCAzNiBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gaW5kZXggZDY3YjVmMS4uZGVmYzRjZSAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBAQCAtNDcxNiw2ICs0NzE2LDkgQEAgc3Rh dGljIHZvaWQgaW50ZWxfcG9zdF9wbGFuZV91cGRhdGUoc3RydWN0IGludGVsX2NydGMgKmNydGMp Cj4gIAo+ICAJaW50ZWxfZnJvbnRidWZmZXJfZmxpcChkZXYsIGF0b21pYy0+ZmJfYml0cyk7Cj4g IAo+ICsJaWYgKGF0b21pYy0+ZGlzYWJsZV9jeHNyKQo+ICsJCWNydGMtPndtLmN4c3JfYWxsb3dl ZCA9IHRydWU7Cj4gKwo+ICAJaWYgKGNydGMtPmF0b21pYy51cGRhdGVfd21fcG9zdCkKPiAgCQlp bnRlbF91cGRhdGVfd2F0ZXJtYXJrcygmY3J0Yy0+YmFzZSk7Cj4gIAo+IEBAIC00NzY1LDYgKzQ3 NjgsMTEgQEAgc3RhdGljIHZvaWQgaW50ZWxfcHJlX3BsYW5lX3VwZGF0ZShzdHJ1Y3QgaW50ZWxf Y3J0YyAqY3J0YykKPiAgCj4gIAlpZiAoYXRvbWljLT5wcmVfZGlzYWJsZV9wcmltYXJ5KQo+ICAJ CWludGVsX3ByZV9kaXNhYmxlX3ByaW1hcnkoJmNydGMtPmJhc2UpOwo+ICsKPiArCWlmIChhdG9t aWMtPmRpc2FibGVfY3hzcikgewo+ICsJCWNydGMtPndtLmN4c3JfYWxsb3dlZCA9IGZhbHNlOwo+ ICsJCWludGVsX3NldF9tZW1vcnlfY3hzcihkZXZfcHJpdiwgZmFsc2UpOwo+ICsJfQo+ICB9Cj4g IAo+ICBzdGF0aWMgdm9pZCBpbnRlbF9jcnRjX2Rpc2FibGVfcGxhbmVzKHN0cnVjdCBkcm1fY3J0 YyAqY3J0YywgdW5zaWduZWQgcGxhbmVfbWFzaykKPiBAQCAtMTE2NDYsMTIgKzExNjU0LDI2IEBA IGludCBpbnRlbF9wbGFuZV9hdG9taWNfY2FsY19jaGFuZ2VzKHN0cnVjdCBkcm1fY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZSwKPiAgCQkJIHBsYW5lLT5iYXNlLmlkLCB3YXNfdmlzaWJsZSwgdmlzaWJs ZSwKPiAgCQkJIHR1cm5fb2ZmLCB0dXJuX29uLCBtb2RlX2NoYW5nZWQpOwo+ICAKPiAtCWlmICh0 dXJuX29uKQo+ICsJaWYgKHR1cm5fb24pIHsKPiAgCQlpbnRlbF9jcnRjLT5hdG9taWMudXBkYXRl X3dtX3ByZSA9IHRydWU7Cj4gLQllbHNlIGlmICh0dXJuX29mZikKPiArCQkvKiBtdXN0IGRpc2Fi bGUgY3hzciBhcm91bmQgcGxhbmUgZW5hYmxlL2Rpc2FibGUgKi8KPiArCQlpZiAocGxhbmUtPnR5 cGUgIT0gRFJNX1BMQU5FX1RZUEVfQ1VSU09SKSB7Cj4gKwkJCWludGVsX2NydGMtPmF0b21pYy5k aXNhYmxlX2N4c3IgPSB0cnVlOwo+ICsJCQkvKiB0byBwb3RlbnRpYWxseSByZS1lbmFibGUgY3hz ciAqLwo+ICsJCQlpbnRlbF9jcnRjLT5hdG9taWMud2FpdF92YmxhbmsgPSB0cnVlOwo+ICsJCQlp bnRlbF9jcnRjLT5hdG9taWMudXBkYXRlX3dtX3Bvc3QgPSB0cnVlOwo+ICsJCX0KPiArCX0gZWxz ZSBpZiAodHVybl9vZmYpIHsKPiAgCQlpbnRlbF9jcnRjLT5hdG9taWMudXBkYXRlX3dtX3Bvc3Qg PSB0cnVlOwo+IC0JZWxzZSBpZiAoaW50ZWxfd21fbmVlZF91cGRhdGUocGxhbmUsIHBsYW5lX3N0 YXRlKSkKPiArCQkvKiBtdXN0IGRpc2FibGUgY3hzciBhcm91bmQgcGxhbmUgZW5hYmxlL2Rpc2Fi bGUgKi8KPiArCQlpZiAocGxhbmUtPnR5cGUgIT0gRFJNX1BMQU5FX1RZUEVfQ1VSU09SKSB7Cj4g KwkJCWlmIChpc19jcnRjX2VuYWJsZWQpCj4gKwkJCQlpbnRlbF9jcnRjLT5hdG9taWMud2FpdF92 YmxhbmsgPSB0cnVlOwo+ICsJCQlpbnRlbF9jcnRjLT5hdG9taWMuZGlzYWJsZV9jeHNyID0gdHJ1 ZTsKPiArCQl9Cj4gKwl9IGVsc2UgaWYgKGludGVsX3dtX25lZWRfdXBkYXRlKHBsYW5lLCBwbGFu ZV9zdGF0ZSkpIHsKPiAgCQlpbnRlbF9jcnRjLT5hdG9taWMudXBkYXRlX3dtX3ByZSA9IHRydWU7 Cj4gKwl9Cj4gIAo+ICAJaWYgKHZpc2libGUpCj4gIAkJaW50ZWxfY3J0Yy0+YXRvbWljLmZiX2Jp dHMgfD0KPiBAQCAtMTE4MDgsOCArMTE4MzAsOCBAQCBzdGF0aWMgaW50IGludGVsX2NydGNfYXRv bWljX2NoZWNrKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAgCWlmIChwaXBlX2NvbmZpZy0+cXVp cmtzICYgUElQRV9DT05GSUdfUVVJUktfSU5JVElBTF9QTEFORVMpCj4gIAkJaW50ZWxfY3J0Y19j aGVja19pbml0aWFsX3BsYW5lcyhjcnRjLCBjcnRjX3N0YXRlKTsKPiAgCj4gLQlpZiAobW9kZV9j aGFuZ2VkKQo+IC0JCWludGVsX2NydGMtPmF0b21pYy51cGRhdGVfd21fcG9zdCA9ICFjcnRjX3N0 YXRlLT5hY3RpdmU7Cj4gKwlpZiAobW9kZV9jaGFuZ2VkICYmICFjcnRjX3N0YXRlLT5hY3RpdmUp Cj4gKwkJaW50ZWxfY3J0Yy0+YXRvbWljLnVwZGF0ZV93bV9wb3N0ID0gdHJ1ZTsKPiAgCj4gIAlp ZiAobW9kZV9jaGFuZ2VkICYmIGNydGNfc3RhdGUtPmVuYWJsZSAmJgo+ICAJICAgIGRldl9wcml2 LT5kaXNwbGF5LmNydGNfY29tcHV0ZV9jbG9jayAmJgo+IEBAIC0xNDA4OSw2ICsxNDExMSw4IEBA IHN0YXRpYyB2b2lkIGludGVsX2NydGNfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBpbnQg cGlwZSkKPiAgCWludGVsX2NydGMtPmN1cnNvcl9jbnRsID0gfjA7Cj4gIAlpbnRlbF9jcnRjLT5j dXJzb3Jfc2l6ZSA9IH4wOwo+ICAKPiArCWludGVsX2NydGMtPndtLmN4c3JfYWxsb3dlZCA9IHRy dWU7Cj4gKwo+ICAJQlVHX09OKHBpcGUgPj0gQVJSQVlfU0laRShkZXZfcHJpdi0+cGxhbmVfdG9f Y3J0Y19tYXBwaW5nKSB8fAo+ICAJICAgICAgIGRldl9wcml2LT5wbGFuZV90b19jcnRjX21hcHBp bmdbaW50ZWxfY3J0Yy0+cGxhbmVdICE9IE5VTEwpOwo+ICAJZGV2X3ByaXYtPnBsYW5lX3RvX2Ny dGNfbWFwcGluZ1tpbnRlbF9jcnRjLT5wbGFuZV0gPSAmaW50ZWxfY3J0Yy0+YmFzZTsKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcnYuaAo+IGluZGV4IGYyNmE2ODAuLjRlOGQxM2UgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcnYuaAo+IEBAIC01MDcsNiArNTA3LDcgQEAgc3RydWN0IGludGVsX2Ny dGNfYXRvbWljX2NvbW1pdCB7Cj4gIAkvKiBTbGVlcGFibGUgb3BlcmF0aW9ucyB0byBwZXJmb3Jt IGJlZm9yZSBjb21taXQgKi8KPiAgCWJvb2wgd2FpdF9mb3JfZmxpcHM7Cj4gIAlib29sIGRpc2Fi bGVfZmJjOwo+ICsJYm9vbCBkaXNhYmxlX2N4c3I7Cj4gIAlib29sIHByZV9kaXNhYmxlX3ByaW1h cnk7Cj4gIAlib29sIHVwZGF0ZV93bV9wcmUsIHVwZGF0ZV93bV9wb3N0Owo+ICAJdW5zaWduZWQg ZGlzYWJsZWRfcGxhbmVzOwo+IEBAIC01NjUsNiArNTY2LDggQEAgc3RydWN0IGludGVsX2NydGMg ewo+ICAJCXN0cnVjdCBpbnRlbF9waXBlX3dtIGFjdGl2ZTsKPiAgCQkvKiBTS0wgd20gdmFsdWVz IGN1cnJlbnRseSBpbiB1c2UgKi8KPiAgCQlzdHJ1Y3Qgc2tsX3BpcGVfd20gc2tsX2FjdGl2ZTsK PiArCQkvKiBhbGxvdyBDeFNSIG9uIHRoaXMgcGlwZSAqLwo+ICsJCWJvb2wgY3hzcl9hbGxvd2Vk Owo+ICAJfSB3bTsKPiAgCj4gIAlpbnQgc2NhbmxpbmVfb2Zmc2V0Owo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcG0uYwo+IGluZGV4IGM3YzkwY2UuLmI2NTgxN2QgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcG0uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3BtLmMKPiBAQCAtMzM1LDYgKzMzNSw3IEBAIHZvaWQgaW50ZWxfc2V0X21lbW9yeV9jeHNyKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgYm9vbCBlbmFibGUpCj4gIAlpZiAoSVNf VkFMTEVZVklFVyhkZXYpKSB7Cj4gIAkJSTkxNV9XUklURShGV19CTENfU0VMRl9WTFYsIGVuYWJs ZSA/IEZXX0NTUFdSRFdORU4gOiAwKTsKPiAgCQlQT1NUSU5HX1JFQUQoRldfQkxDX1NFTEZfVkxW KTsKPiArCQlkZXZfcHJpdi0+d20udmx2LmN4c3IgPSBlbmFibGU7Cj4gIAl9IGVsc2UgaWYgKElT X0c0WChkZXYpIHx8IElTX0NSRVNUTElORShkZXYpKSB7Cj4gIAkJSTkxNV9XUklURShGV19CTENf U0VMRiwgZW5hYmxlID8gRldfQkxDX1NFTEZfRU4gOiAwKTsKPiAgCQlQT1NUSU5HX1JFQUQoRldf QkxDX1NFTEYpOwo+IEBAIC0xMTE2LDcgKzExMTcsNyBAQCBzdGF0aWMgdm9pZCB2bHZfY29tcHV0 ZV93bShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKPiAgCj4gIAltZW1zZXQod21fc3RhdGUsIDAs IHNpemVvZigqd21fc3RhdGUpKTsKPiAgCj4gLQl3bV9zdGF0ZS0+Y3hzciA9IGNydGMtPnBpcGUg IT0gUElQRV9DOwo+ICsJd21fc3RhdGUtPmN4c3IgPSBjcnRjLT5waXBlICE9IFBJUEVfQyAmJiBj cnRjLT53bS5jeHNyX2FsbG93ZWQ7Cj4gIAlpZiAoSVNfQ0hFUlJZVklFVyhkZXYpKQo+ICAJCXdt X3N0YXRlLT5udW1fbGV2ZWxzID0gQ0hWX1dNX05VTV9MRVZFTFM7Cj4gIAllbHNlCj4gQEAgLTEz NjksMTAgKzEzNzAsOCBAQCBzdGF0aWMgdm9pZCB2bHZfdXBkYXRlX3dtKHN0cnVjdCBkcm1fY3J0 YyAqY3J0YykKPiAgCSAgICBkZXZfcHJpdi0+d20udmx2LmxldmVsID49IFZMVl9XTV9MRVZFTF9Q TTUpCj4gIAkJY2h2X3NldF9tZW1vcnlfcG01KGRldl9wcml2LCBmYWxzZSk7Cj4gIAo+IC0JaWYg KCF3bS5jeHNyICYmIGRldl9wcml2LT53bS52bHYuY3hzcikgewo+ICsJaWYgKCF3bS5jeHNyICYm IGRldl9wcml2LT53bS52bHYuY3hzcikKPiAgCQlpbnRlbF9zZXRfbWVtb3J5X2N4c3IoZGV2X3By aXYsIGZhbHNlKTsKPiAtCQlpbnRlbF93YWl0X2Zvcl92YmxhbmsoZGV2LCBwaXBlKTsKPiAtCX0K PiAgCj4gIAkvKiBGSVhNRSBzaG91bGQgYmUgcGFydCBvZiBjcnRjIGF0b21pYyBjb21taXQgKi8K PiAgCXZsdl9waXBlX3NldF9maWZvX3NpemUoaW50ZWxfY3J0Yyk7Cj4gQEAgLTEzODUsMTAgKzEz ODQsOCBAQCBzdGF0aWMgdm9pZCB2bHZfdXBkYXRlX3dtKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykK PiAgCQkgICAgICB3bS5waXBlW3BpcGVdLnNwcml0ZVswXSwgd20ucGlwZVtwaXBlXS5zcHJpdGVb MV0sCj4gIAkJICAgICAgd20uc3IucGxhbmUsIHdtLnNyLmN1cnNvciwgd20ubGV2ZWwsIHdtLmN4 c3IpOwo+ICAKPiAtCWlmICh3bS5jeHNyICYmICFkZXZfcHJpdi0+d20udmx2LmN4c3IpIHsKPiAt CQlpbnRlbF93YWl0X2Zvcl92YmxhbmsoZGV2LCBwaXBlKTsKPiArCWlmICh3bS5jeHNyICYmICFk ZXZfcHJpdi0+d20udmx2LmN4c3IpCj4gIAkJaW50ZWxfc2V0X21lbW9yeV9jeHNyKGRldl9wcml2 LCB0cnVlKTsKPiAtCX0KPiAgCj4gIAlpZiAod20ubGV2ZWwgPj0gVkxWX1dNX0xFVkVMX1BNNSAm Jgo+ICAJICAgIGRldl9wcml2LT53bS52bHYubGV2ZWwgPCBWTFZfV01fTEVWRUxfUE01KQo+IC0t IAo+IDIuMy42Cj4gCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwo+IGh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9p bnRlbC1nZngKCi0tIApNYXR0IFJvcGVyCkdyYXBoaWNzIFNvZnR3YXJlIEVuZ2luZWVyCklvVEcg UGxhdGZvcm0gRW5hYmxpbmcgJiBEZXZlbG9wbWVudApJbnRlbCBDb3Jwb3JhdGlvbgooOTE2KSAz NTYtMjc5NQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJ bnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=