From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Vivi, Rodrigo" Subject: Re: [PATCH] drm/i915/skl: Enabling PSR2 SU with frame sync Date: Mon, 23 Mar 2015 20:00:15 +0000 Message-ID: <1427140803.4663.108.camel@intel.com> References: <1426831076-9775-1-git-send-email-sonika.jindal@intel.com> <1426893958.4663.79.camel@intel.com> <20150323091439.GM1349@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id DC2BC6E22F for ; Mon, 23 Mar 2015 13:00:16 -0700 (PDT) In-Reply-To: <20150323091439.GM1349@phenom.ffwll.local> Content-Language: en-US Content-ID: <52DFF4CD051A3F4FB5BA277EBEE27BFD@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "daniel@ffwll.ch" Cc: "intel-gfx@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCAyMDE1LTAzLTIzIGF0IDEwOjE0ICswMTAwLCBEYW5pZWwgVmV0dGVyIHdyb3RlOg0K PiBPbiBGcmksIE1hciAyMCwgMjAxNSBhdCAxMToyNjoxOVBNICswMDAwLCBWaXZpLCBSb2RyaWdv IHdyb3RlOg0KPiA+IEhpIFNvbmlrYSwNCj4gPiANCj4gPiBvbiB0aGUgcHJldmlvdXMgZW1haWwg SSBmb3Jnb3QgdG8gdGVsbCB0aGF0IHdlIGFsc28gbmVlZCB0byBhZGQNCj4gPiBzb21ld2hlcmUg YSBjaGVjayB0byBhdm9pZCBQU1IgZm9yIHJlc29sdXRpb25zIGJpZ2dlciB0aGFuIDMyMDB4MjAw MC4NCj4gPiANCj4gPiBBbHRob3VnaCBtb3N0IG9mIGRpc3BsYXlzIHRoYXQgd2UgaGF2ZSB0aGF0 IHN1cHBvcnQgcHNyIGFyZSAzMjAweDE4MDAgaXQNCj4gPiBpcyBiZXR0ZXIgdG8gdGhpbmsgYSB3 YXkgdG8gcHJvdGVjdCBub3cgdGhhbiBsYXRlci4NCj4gDQo+IElzIHRoYXQgYSByZXN0cmljdGlv biBqdXN0IGZvciBQU1IyIChiZWNhdXNlIHRoZSBodyBkb2Vzbid0IGhhdmUgbW9yZQ0KPiBzcGFj ZSBmb3IgbGluZSBjaGVja3N1bXMpIG9yIGFsc28gZm9yIHRoZSBleGlzdGluZyBQU1IgY29kZT8g SWYgaXQncyBqdXN0DQo+IGZvciBQU1IyIHdlIGNhbiBlYXNpbHkgZXh0ZW5kIHRoZSBjaGVjayBT b25pa2EgaXMgYWRkaW5nIGluIHRoaXMgcGF0Y2ggdG8NCj4gYWxzbyBjaGVjayBmb3IgdGhhdCBh bmQgaXQncyBhbGwgZG9uZS4NCg0KU3BlYyBqdXN0IGxpc3QgdGhpcyBsaW1pdGF0aW9uIG9uIFBT UjIuDQoNCj4gLURhbmllbA0KPiANCj4gPiANCj4gPiBUaGFua3MsDQo+ID4gUm9kcmlnby4NCj4g PiANCj4gPiBPbiBGcmksIDIwMTUtMDMtMjAgYXQgMTE6MjcgKzA1MzAsIFNvbmlrYSBKaW5kYWwg d3JvdGU6DQo+ID4gPiBXZSBtYWtlIHVzZSBvZiBIVyB0cmFja2luZyBmb3IgU2VsZWN0aXZlIHVw ZGF0ZSByZWdpb24gYW5kIGVuYWJsZSBmcmFtZSBzeW5jIG9uDQo+ID4gPiBzaW5rLiBXZSB1c2Ug aGFyZHdhcmUncyBoYXJkY29kZWQgZGF0YSB2YWx1ZXMgZm9yIGZyYW1lIHN5bmMgYW5kIEdUQy4N Cj4gPiA+IA0KPiA+ID4gU2lnbmVkLW9mZi1ieTogU29uaWthIEppbmRhbCA8c29uaWthLmppbmRh bEBpbnRlbC5jb20+DQo+ID4gPiAtLS0NCj4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X3JlZy5oICB8ICAgMTQgKysrKysrKysrKysrKysNCj4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcC5jICB8ICAgMTYgKysrKysrKysrKysrKysrKw0KPiA+ID4gIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rydi5oIHwgICAgMiArKw0KPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3Bzci5jIHwgICAzMCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0NCj4g PiA+ICA0IGZpbGVzIGNoYW5nZWQsIDYxIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkNCj4g PiA+IA0KPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oDQo+ID4gPiBpbmRleCA1Yjg0ZWU2Li43 ZTRmNmYwIDEwMDY0NA0KPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcu aA0KPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaA0KPiA+ID4gQEAg LTI3NDUsNiArMjc0NSwyMCBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsNCj4gPiA+ICAj ZGVmaW5lICAgRURQX1BTUl9ERUJVR19NQVNLX01FTVVQCSgxPDwyNikNCj4gPiA+ICAjZGVmaW5l ICAgRURQX1BTUl9ERUJVR19NQVNLX0hQRAkoMTw8MjUpDQo+ID4gPiAgDQo+ID4gPiArI2RlZmlu ZSBFRFBfUFNSMl9DVEwJCQkweDZmOTAwDQo+ID4gPiArI2RlZmluZSAgIEVEUF9QU1IyX0VOQUJM RQkJKDE8PDMxKQ0KPiA+ID4gKyNkZWZpbmUgICBFRFBfU1VfVFJBQ0tfRU5BQkxFCQkoMTw8MzAp DQo+ID4gPiArI2RlZmluZSAgIEVEUF9NQVhfU1VfRElTQUJMRV9USU1FKHQpCSgodCk8PDIwKQ0K PiA+ID4gKyNkZWZpbmUgICBFRFBfTUFYX1NVX0RJU0FCTEVfVElNRV9NQVNLCSgweDFmPDwyMCkN Cj4gPiA+ICsjZGVmaW5lICAgRURQX1BTUjJfVFAyX1RJTUVfNTAwCQkoMDw8OCkNCj4gPiA+ICsj ZGVmaW5lICAgRURQX1BTUjJfVFAyX1RJTUVfMTAwCQkoMTw8OCkNCj4gPiA+ICsjZGVmaW5lICAg RURQX1BTUjJfVFAyX1RJTUVfMjUwCQkoMjw8OCkNCj4gPiA+ICsjZGVmaW5lICAgRURQX1BTUjJf VFAyX1RJTUVfNTAJCSgzPDw4KQ0KPiA+ID4gKyNkZWZpbmUgICBFRFBfUFNSMl9UUDJfVElNRV9N QVNLCSgzPDw4KQ0KPiA+ID4gKyNkZWZpbmUgICBFRFBfUFNSMl9GUkFNRV9CRUZPUkVfU1VfU0hJ RlQgNA0KPiA+ID4gKyNkZWZpbmUgICBFRFBfUFNSMl9GUkFNRV9CRUZPUkVfU1VfTUFTSwkoMHhm PDw0KQ0KPiA+ID4gKyNkZWZpbmUgICBFRFBfUFNSMl9JRExFX01BU0sJCTB4Zg0KPiA+ID4gKw0K PiA+ID4gIC8qIFZHQSBwb3J0IGNvbnRyb2wgKi8NCj4gPiA+ICAjZGVmaW5lIEFEUEEJCQkweDYx MTAwDQo+ID4gPiAgI2RlZmluZSBQQ0hfQURQQSAgICAgICAgICAgICAgICAweGUxMTAwDQo+ID4g PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2RwLmMNCj4gPiA+IGluZGV4IDM5NjdhZjEuLmRlZGQ4YWQgMTAw NjQ0DQo+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jDQo+ID4gPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jDQo+ID4gPiBAQCAtMzc4Niw2ICsz Nzg2LDIyIEBAIGludGVsX2RwX2dldF9kcGNkKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApDQo+ ID4gPiAgCQkJZGV2X3ByaXYtPnBzci5zaW5rX3N1cHBvcnQgPSB0cnVlOw0KPiA+ID4gIAkJCURS TV9ERUJVR19LTVMoIkRldGVjdGVkIEVEUCBQU1IgUGFuZWwuXG4iKTsNCj4gPiA+ICAJCX0NCj4g PiA+ICsNCj4gPiA+ICsJCWlmIChJTlRFTF9JTkZPKGRldiktPmdlbiA+PSA5ICYmDQo+ID4gPiAr CQkJKGludGVsX2RwLT5wc3JfZHBjZFswXSAmIERQX1BTUjJfSVNfU1VQUE9SVEVEKSkgew0KPiA+ ID4gKwkJCXVpbnQ4X3QgZnJhbWVfc3luY19jYXA7DQo+ID4gPiArDQo+ID4gPiArCQkJZGV2X3By aXYtPnBzci5zaW5rX3N1cHBvcnQgPSB0cnVlOw0KPiA+ID4gKwkJCWludGVsX2RwX2RwY2RfcmVh ZF93YWtlKCZpbnRlbF9kcC0+YXV4LA0KPiA+ID4gKwkJCQkJRFBfU0lOS19ERVZJQ0VfQVVYX0ZS QU1FX1NZTkNfQ0FQLA0KPiA+ID4gKwkJCQkJJmZyYW1lX3N5bmNfY2FwLCAxKTsNCj4gPiA+ICsJ CQkvKiBQU1IyIG5lZWRzIGZyYW1lIHN5bmMgYXMgd2VsbCAqLw0KPiA+ID4gKwkJCWlmIChmcmFt ZV9zeW5jX2NhcCkgew0KPiA+ID4gKwkJCQlEUk1fREVCVUdfS01TKCJQU1IyIHN1cHBvcnRlZCBv biBzaW5rIik7DQo+ID4gPiArCQkJCWludGVsX2RwLT5wc3IyX3N1cHBvcnQgPSB0cnVlOw0KPiA+ ID4gKwkJCX0gZWxzZQ0KPiA+ID4gKwkJCQlpbnRlbF9kcC0+cHNyMl9zdXBwb3J0ID0gZmFsc2U7 DQo+ID4gPiArCQl9DQo+ID4gPiAgCX0NCj4gPiA+ICANCj4gPiA+ICAJLyogVHJhaW5pbmcgUGF0 dGVybiAzIHN1cHBvcnQsIGJvdGggc291cmNlIGFuZCBzaW5rICovDQo+ID4gPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcnYuaA0KPiA+ID4gaW5kZXggOGJiMThlNS4uZWQxYjBhNSAxMDA2NDQNCj4gPiA+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oDQo+ID4gPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaA0KPiA+ID4gQEAgLTY2Myw2ICs2NjMsOCBAQCBz dHJ1Y3QgaW50ZWxfZHAgew0KPiA+ID4gIAlzdHJ1Y3QgaW50ZWxfZHBfbXN0X2VuY29kZXIgKm1z dF9lbmNvZGVyc1tJOTE1X01BWF9QSVBFU107DQo+ID4gPiAgCXN0cnVjdCBkcm1fZHBfbXN0X3Rv cG9sb2d5X21nciBtc3RfbWdyOw0KPiA+ID4gIA0KPiA+ID4gKwlib29sIHBzcjJfc3VwcG9ydDsN Cj4gPiA+ICsNCj4gPiA+ICAJdWludDMyX3QgKCpnZXRfYXV4X2Nsb2NrX2RpdmlkZXIpKHN0cnVj dCBpbnRlbF9kcCAqZHAsIGludCBpbmRleCk7DQo+ID4gPiAgCS8qDQo+ID4gPiAgCSAqIFRoaXMg ZnVuY3Rpb24gcmV0dXJucyB0aGUgdmFsdWUgd2UgaGF2ZSB0byBwcm9ncmFtIHRoZSBBVVhfQ1RM DQo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcHNyLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wc3IuYw0KPiA+ID4gaW5kZXggYjlmNDBjMi4uOTlk YmM3MyAxMDA2NDQNCj4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bzci5j DQo+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wc3IuYw0KPiA+ID4gQEAg LTExNyw2ICsxMTcsMTkgQEAgc3RhdGljIHZvaWQgdmx2X3Bzcl9zZXR1cF92c2Moc3RydWN0IGlu dGVsX2RwICppbnRlbF9kcCkNCj4gPiA+ICAJSTkxNV9XUklURShWTFZfVlNDU0RQKHBpcGUpLCB2 YWwpOw0KPiA+ID4gIH0NCj4gPiA+ICANCj4gPiA+ICtzdGF0aWMgdm9pZCBza2xfcHNyX3NldHVw X3N1X3ZzYyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQ0KPiA+ID4gK3sNCj4gPiA+ICsJc3Ry dWN0IGVkcF92c2NfcHNyIHBzcl92c2M7DQo+ID4gPiArDQo+ID4gPiArCS8qIFByZXBhcmUgVlND IEhlYWRlciBmb3IgU1UgYXMgcGVyIEVEUCAxLjQgc3BlYywgVGFibGUgNi4xMSAqLw0KPiA+ID4g KwltZW1zZXQoJnBzcl92c2MsIDAsIHNpemVvZihwc3JfdnNjKSk7DQo+ID4gPiArCXBzcl92c2Mu c2RwX2hlYWRlci5IQjAgPSAwOw0KPiA+ID4gKwlwc3JfdnNjLnNkcF9oZWFkZXIuSEIxID0gMHg3 Ow0KPiA+ID4gKwlwc3JfdnNjLnNkcF9oZWFkZXIuSEIyID0gMHgzOw0KPiA+ID4gKwlwc3JfdnNj LnNkcF9oZWFkZXIuSEIzID0gMHhiOw0KPiA+ID4gKwlpbnRlbF9wc3Jfd3JpdGVfdnNjKGludGVs X2RwLCAmcHNyX3ZzYyk7DQo+ID4gPiArfQ0KPiA+ID4gKw0KPiA+ID4gIHN0YXRpYyB2b2lkIGhz d19wc3Jfc2V0dXBfdnNjKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApDQo+ID4gPiAgew0KPiA+ ID4gIAlzdHJ1Y3QgZWRwX3ZzY19wc3IgcHNyX3ZzYzsNCj4gPiA+IEBAIC0xNjUsNiArMTc4LDEy IEBAIHN0YXRpYyB2b2lkIGhzd19wc3JfZW5hYmxlX3Npbmsoc3RydWN0IGludGVsX2RwICppbnRl bF9kcCkNCj4gPiA+ICAJCWRybV9kcF9kcGNkX3dyaXRlYigmaW50ZWxfZHAtPmF1eCwgRFBfUFNS X0VOX0NGRywNCj4gPiA+ICAJCQkJICAgRFBfUFNSX0VOQUJMRSAmIH5EUF9QU1JfTUFJTl9MSU5L X0FDVElWRSk7DQo+ID4gPiAgDQo+ID4gPiArCS8qIEVuYWJsZSBBVVggZnJhbWUgc3luYyBhdCBz aW5rICovDQo+ID4gPiArCWlmIChpbnRlbF9kcC0+cHNyMl9zdXBwb3J0KQ0KPiA+ID4gKwkJZHJt X2RwX2RwY2Rfd3JpdGViKCZpbnRlbF9kcC0+YXV4LA0KPiA+ID4gKwkJCQlEUF9TSU5LX0RFVklD RV9BVVhfRlJBTUVfU1lOQ19DT05GLA0KPiA+ID4gKwkJCQlEUF9BVVhfRlJBTUVfU1lOQ19FTkFC TEUpOw0KPiA+ID4gKw0KPiA+ID4gIAlhdXhfZGF0YV9yZWcgPSAoSU5URUxfSU5GTyhkZXYpLT5n ZW4gPj0gOSkgPw0KPiA+ID4gIAkJCQlEUEFfQVVYX0NIX0RBVEExIDogRURQX1BTUl9BVVhfREFU QTEoZGV2KTsNCj4gPiA+ICAJYXV4X2N0bF9yZWcgPSAoSU5URUxfSU5GTyhkZXYpLT5nZW4gPj0g OSkgPw0KPiA+ID4gQEAgLTE4Myw4ICsyMDIsMTAgQEAgc3RhdGljIHZvaWQgaHN3X3Bzcl9lbmFi bGVfc2luayhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQ0KPiA+ID4gIAkJdmFsIHw9IERQX0FV WF9DSF9DVExfVElNRV9PVVRfMTYwMHVzOw0KPiA+ID4gIAkJdmFsICY9IH5EUF9BVVhfQ0hfQ1RM X01FU1NBR0VfU0laRV9NQVNLOw0KPiA+ID4gIAkJdmFsIHw9IChzaXplb2YoYXV4X21zZykgPDwg RFBfQVVYX0NIX0NUTF9NRVNTQUdFX1NJWkVfU0hJRlQpOw0KPiA+ID4gLQkJLyogVXNlIGhhcmRj b2RlZCBkYXRhIHZhbHVlcyBmb3IgUFNSICovDQo+ID4gPiArCQkvKiBVc2UgaGFyZGNvZGVkIGRh dGEgdmFsdWVzIGZvciBQU1IsIGZyYW1lIHN5bmMgYW5kIEdUQyAqLw0KPiA+ID4gIAkJdmFsICY9 IH5EUF9BVVhfQ0hfQ1RMX1BTUl9EQVRBX0FVWF9SRUdfU0tMOw0KPiA+ID4gKwkJdmFsICY9IH5E UF9BVVhfQ0hfQ1RMX0ZTX0RBVEFfQVVYX1JFR19TS0w7DQo+ID4gPiArCQl2YWwgJj0gfkRQX0FV WF9DSF9DVExfR1RDX0RBVEFfQVVYX1JFR19TS0w7DQo+ID4gPiAgCQlJOTE1X1dSSVRFKGF1eF9j dGxfcmVnLCB2YWwpOw0KPiA+ID4gIAl9IGVsc2Ugew0KPiA+ID4gIAkJSTkxNV9XUklURShhdXhf Y3RsX3JlZywNCj4gPiA+IEBAIC0yNTUsNiArMjc2LDEwIEBAIHN0YXRpYyB2b2lkIGhzd19wc3Jf ZW5hYmxlX3NvdXJjZShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQ0KPiA+ID4gIAkJICAgbWF4 X3NsZWVwX3RpbWUgPDwgRURQX1BTUl9NQVhfU0xFRVBfVElNRV9TSElGVCB8DQo+ID4gPiAgCQkg ICBpZGxlX2ZyYW1lcyA8PCBFRFBfUFNSX0lETEVfRlJBTUVfU0hJRlQgfA0KPiA+ID4gIAkJICAg RURQX1BTUl9FTkFCTEUpOw0KPiA+ID4gKw0KPiA+ID4gKwlpZiAoaW50ZWxfZHAtPnBzcjJfc3Vw cG9ydCkNCj4gDQo+IFdlbGwgaGVyZSBJIG1lYW4uDQoNCkFncmVlLg0KDQo+IA0KPiBDaGVlcnMs IERhbmllbA0KPiANCj4gPiA+ICsJCUk5MTVfV1JJVEUoRURQX1BTUjJfQ1RMLCBFRFBfUFNSMl9F TkFCTEUgfA0KPiA+ID4gKwkJCQlFRFBfU1VfVFJBQ0tfRU5BQkxFIHwgRURQX1BTUjJfVFAyX1RJ TUVfMTAwKTsNCj4gPiA+ICB9DQo+ID4gPiAgDQo+ID4gPiAgc3RhdGljIGJvb2wgaW50ZWxfcHNy X21hdGNoX2NvbmRpdGlvbnMoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkNCj4gPiA+IEBAIC0z NjQsNiArMzg5LDkgQEAgdm9pZCBpbnRlbF9wc3JfZW5hYmxlKHN0cnVjdCBpbnRlbF9kcCAqaW50 ZWxfZHApDQo+ID4gPiAgCWlmIChIQVNfRERJKGRldikpIHsNCj4gPiA+ICAJCWhzd19wc3Jfc2V0 dXBfdnNjKGludGVsX2RwKTsNCj4gPiA+ICANCj4gPiA+ICsJCWlmIChpbnRlbF9kcC0+cHNyMl9z dXBwb3J0KQ0KPiA+ID4gKwkJCXNrbF9wc3Jfc2V0dXBfc3VfdnNjKGludGVsX2RwKTsNCj4gPiA+ ICsNCj4gPiA+ICAJCS8qIEF2b2lkIGNvbnRpbnVvdXMgUFNSIGV4aXQgYnkgbWFza2luZyBtZW11 cCBhbmQgaHBkICovDQo+ID4gPiAgCQlJOTE1X1dSSVRFKEVEUF9QU1JfREVCVUdfQ1RMKGRldiks IEVEUF9QU1JfREVCVUdfTUFTS19NRU1VUCB8DQo+ID4gPiAgCQkJICAgRURQX1BTUl9ERUJVR19N QVNLX0hQRCB8IEVEUF9QU1JfREVCVUdfTUFTS19MUFNQKTsNCj4gPiANCj4gPiBfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPiA+IEludGVsLWdmeCBtYWls aW5nIGxpc3QNCj4gPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnDQo+ID4gaHR0cDov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA0KPiANCg0K X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK