From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Sharma, Shashank" Subject: Re: [PATCH 2/2] drm/i915/lspcon: Add workaround for resuming in PCON mode Date: Fri, 21 Oct 2016 11:16:50 +0530 Message-ID: <9464a672-92ba-7014-8c50-e2dba44c07b4@intel.com> References: <1476983187-27216-1-git-send-email-imre.deak@intel.com> <1476983187-27216-2-git-send-email-imre.deak@intel.com> <87y41iq3vm.fsf@intel.com> <1476991226.15304.21.camel@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id 39ACA6E520 for ; Fri, 21 Oct 2016 05:46:53 +0000 (UTC) In-Reply-To: <1476991226.15304.21.camel@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: imre.deak@intel.com, Jani Nikula , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org UmVnYXJkcwoKU2hhc2hhbmsKCgpPbiAxMC8yMS8yMDE2IDEyOjUwIEFNLCBJbXJlIERlYWsgd3Jv dGU6Cj4gT24gVGh1LCAyMDE2LTEwLTIwIGF0IDIxOjIwICswMzAwLCBKYW5pIE5pa3VsYSB3cm90 ZToKPj4gT24gVGh1LCAyMCBPY3QgMjAxNiwgSW1yZSBEZWFrIDxpbXJlLmRlYWtAaW50ZWwuY29t PiB3cm90ZToKPj4+IE9uIG15IEFQTCB0aGUgTFNQQ09OIGZpcm13YXJlIHJlc3VtZXMgaW4gUENP TiBtb2RlIGFzIG9wcG9zZWQgdG8gdGhlCj4+PiBleHBlY3RlZCBMUyBtb2RlLiBJdCBhbHNvIGFw cGVhcnMgdG8gYmUgaW4gYSBzdGF0ZSB3aGVyZSBBVVggRFBDRCByZWFkcwo+Pj4gd2lsbCBzdWNj ZWVkIGJ1dCByZXR1cm4gZ2FyYmFnZSByZWNvdmVyaW5nIG9ubHkgYWZ0ZXIgYSBmZXcgaHVuZHJl ZHMgb2YKPj4+IG1pbGxpc2Vjb25kcy4gQWZ0ZXIgdGhlIHJlY292ZXJ5IHRpbWUgRFBDRCByZWFk cyB3aWxsIHJlc3VsdCBpbiB0aGUKPj4+IGNvcnJlY3QgdmFsdWVzIGFuZCB0aGluZ3Mgd2lsbCBj b250aW51ZSB0byB3b3JrLiBJZiBJMkMgb3ZlciBBVVggaXMKPj4+IGF0dGVtcHRlZCBkdXJpbmcg dGhpcyByZWNvdmVyeSB0aW1lIChpbXBseWluZyBhbiBBVVggd3JpdGUgdHJhbnNhY3Rpb24pCj4+ PiB0aGUgZmlybXdhcmUgd29uJ3QgcmVjb3ZlciBhbmQgd2lsbCBzdGF5IGluIHRoaXMgYnJva2Vu IHN0YXRlLgo+Pj4KPj4+IEFzIGEgd29ya2Fyb3VuZCBjaGVjayBpZiB0aGUgZmlybXdhcmUgaXMg aW4gUENPTiBzdGF0ZSBhZnRlciByZXN1bWUgYW5kCj4+PiBpZiBzbyB3YWl0IHVudGlsIHRoZSBj b3JyZWN0IERQQ0QgdmFsdWVzIGFyZSByZXR1cm5lZC4gRm9yIHRoaXMgd2UKPj4+IGNvbXBhcmUg dGhlIGJyYW5jaCBkZXNjcmlwdG9yIHdpdGggdGhlIG9uZSB3ZSBjYWNoZWQgZHVyaW5nIGluaXQg dGltZS4KPj4+IElmIHRoZSBmaXJtd2FyZSB3YXMgaW4gdGhlIExTIHN0YXRlLCB3ZSBza2lwIHRo ZSB3L2EgYW5kIGNvbnRpbnVlIGFzCj4+PiBiZWZvcmUuCj4+Pgo+Pj4gQ2M6IFNoYXNoYW5rIFNo YXJtYSA8c2hhc2hhbmsuc2hhcm1hQGludGVsLmNvbT4KPj4+IENjOiBWaWxsZSBTeXJqw6Rsw6Qg PHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+Pj4gQ2M6IEphbmkgTmlrdWxhIDxqYW5p Lm5pa3VsYUBpbnRlbC5jb20+Cj4+PiBTaWduZWQtb2ZmLWJ5OiBJbXJlIERlYWsgPGltcmUuZGVh a0BpbnRlbC5jb20+Cj4+PiAtLS0KPj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAu YyAgICAgfCAgMiArLQo+Pj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICB8 ICA2ICsrKystCj4+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xzcGNvbi5jIHwgNTIg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLQo+Pj4gICAzIGZpbGVzIGNoYW5n ZWQsIDQ4IGluc2VydGlvbnMoKyksIDEyIGRlbGV0aW9ucygtKQo+Pj4KPj4+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHAuYwo+Pj4gaW5kZXggZTkwMjExZS4uZWMwMzFkYiAxMDA2NDQKPj4+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RwLmMKPj4+IEBAIC0zNDg3LDcgKzM0ODcsNyBAQCBpbnRlbF9kcF9saW5rX2Rv d24oc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPj4+ICAgCWludGVsX2RwLT5EUCA9IERQOwo+ Pj4gICB9Cj4+PiAgIAo+Pj4gLXN0YXRpYyBib29sCj4+PiArYm9vbAo+Pj4gICBpbnRlbF9kcF9y ZWFkX2RwY2Qoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPj4+ICAgewo+Pj4gICAJaWYgKGRy bV9kcF9kcGNkX3JlYWQoJmludGVsX2RwLT5hdXgsIDB4MDAwLCBpbnRlbF9kcC0+ZHBjZCwKPj4+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4+PiBpbmRleCBhMzVlMjQxLi45YTIzNjZlIDEwMDY0 NAo+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPj4+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4+PiBAQCAtOTcyLDcgKzk3Miw5IEBAIHN0 cnVjdCBpbnRlbF9kcCB7Cj4+PiAgIHN0cnVjdCBpbnRlbF9sc3Bjb24gewo+Pj4gICAJYm9vbCBh Y3RpdmU7Cj4+PiAgIAllbnVtIGRybV9sc3Bjb25fbW9kZSBtb2RlOwo+Pj4gLQlzdHJ1Y3QgZHJt X2RwX2F1eCAqYXV4Owo+Pj4gKwlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwOwpJTUhPLCBJdHMg bm90IHJlcXVpcmVkIHRvIGhhdmUgdGhlIGludGVsX2RwIGluc2lkZSBsc3Bjb24uIHdlIGNhbiBh bHdheXMgCmdldCBpbnRlbF9kaWdfcG9ydCBmcm9tIGxzcGNvbiwgYW5kIGludGVsX2RwIGZyb20g aW50ZWxfZGlnX3BvcnQKVGhlIHJlYXNvbiB3aHkgSSBrZXB0IGF1eCBoZXJlIHdhcyB0aGF0cyB0 aGUgb25seSB0aGluZyByZXF1aXJlZCB0byAKcmVhZC93cml0ZSBmcm9tL3RvIGxzcGNvbi4KPj4+ ICsJYm9vbCBkZXNjX3ZhbGlkOwo+Pj4gKwlzdHJ1Y3QgaW50ZWxfZHBfZGVzYyBkZXNjOwo+PiBJ IGd1ZXNzIHdlIGNvdWxkIGNhY2hlIHRoZSBkZXNjIGluIGludGVsX2RwIGRpcmVjdGx5LiBJbmRl cGVuZGVudCBvZgo+PiB0aGlzIHBhdGNoLgo+IEl0J3Mgbm90IHVzZWQgYW55d2hlcmUgZWxzZSwg YnV0IEkgY2FuIG1vdmUgaXQgdG8gaW50ZWxfZHAuCj4KPj4gQWxzbywgSSdtIHdvbmRlcmluZyBp ZiB3ZSBjb3VsZCBzdGljayB3aXRoIGp1c3QgYXV4IGhlcmUsIGFuZCByZWFkCj4+IHNvbWV0aGlu ZyBlbHNlIGZyb20gZHBjZCBpbnN0ZWFkLgo+IE5vdCBzdXJlIGVpdGhlciwgSSBwaWNrZWQgZGVz YyBzaW5jZSB3ZSByZWFkIGl0IG91dCBhbnl3YXkgZHVyaW5nIGluaXQuCj4KPj4+ICAgfTsKPj4+ ICAgCj4+PiAgIHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgewo+Pj4gQEAgLTE0NjksNiArMTQ3 MSw4IEBAIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IGludGVsX2RwX3VudXNlZF9sYW5lX21h c2soaW50IGxhbmVfY291bnQpCj4+PiAgIH0KPj4+ICAgCj4+PiAgIGJvb2wKPj4+ICtpbnRlbF9k cF9yZWFkX2RwY2Qoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCk7Cj4+PiArYm9vbAo+Pj4gICBp bnRlbF9kcF9yZWFkX2Rlc2Moc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwgc3RydWN0IGludGVs X2RwX2Rlc2MgKmRlc2MpOwo+Pj4gICB2b2lkCj4+PiAgIGludGVsX2RwX3ByaW50X2Rlc2Moc3Ry dWN0IGludGVsX2RwICppbnRlbF9kcCwgc3RydWN0IGludGVsX2RwX2Rlc2MgKmRlc2MpOwo+Pj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xzcGNvbi5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfbHNwY29uLmMKPj4+IGluZGV4IGQyYzhjYjIuLjU0YzYxNzMg MTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sc3Bjb24uYwo+Pj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHNwY29uLmMKPj4+IEBAIC0zMCw3ICsz MCw3IEBACj4+PiAgIHN0YXRpYyBlbnVtIGRybV9sc3Bjb25fbW9kZSBsc3Bjb25fZ2V0X2N1cnJl bnRfbW9kZShzdHJ1Y3QgaW50ZWxfbHNwY29uICpsc3Bjb24pCj4+PiAgIHsKPj4+ICAgCWVudW0g ZHJtX2xzcGNvbl9tb2RlIGN1cnJlbnRfbW9kZSA9IERSTV9MU1BDT05fTU9ERV9JTlZBTElEOwo+ Pj4gLQlzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0ZXIgPSAmbHNwY29uLT5hdXgtPmRkYzsKPj4+ ICsJc3RydWN0IGkyY19hZGFwdGVyICphZGFwdGVyID0gJmxzcGNvbi0+aW50ZWxfZHAtPmF1eC5k ZGM7Cj4+PiAgIAo+Pj4gICAJaWYgKGRybV9sc3Bjb25fZ2V0X21vZGUoYWRhcHRlciwgwqR0X21v ZGUpKQo+Pj4gICAJCURSTV9FUlJPUigiRXJyb3IgcmVhZGluZyBMU1BDT04gbW9kZVxuIik7Cj4+ PiBAQCAtNDUsNyArNDUsNyBAQCBzdGF0aWMgaW50IGxzcGNvbl9jaGFuZ2VfbW9kZShzdHJ1Y3Qg aW50ZWxfbHNwY29uICpsc3Bjb24sCj4+PiAgIHsKPj4+ICAgCWludCBlcnI7Cj4+PiAgIAllbnVt IGRybV9sc3Bjb25fbW9kZSBjdXJyZW50X21vZGU7Cj4+PiAtCXN0cnVjdCBpMmNfYWRhcHRlciAq YWRhcHRlciA9ICZsc3Bjb24tPmF1eC0+ZGRjOwo+Pj4gKwlzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFk YXB0ZXIgPSAmbHNwY29uLT5pbnRlbF9kcC0+YXV4LmRkYzsKPj4+ICAgCj4+PiAgIAllcnIgPSBk cm1fbHNwY29uX2dldF9tb2RlKGFkYXB0ZXIsIMKkdF9tb2RlKTsKPj4+ICAgCWlmIChlcnIpIHsK Pj4+IEBAIC03Miw3ICs3Miw3IEBAIHN0YXRpYyBpbnQgbHNwY29uX2NoYW5nZV9tb2RlKHN0cnVj dCBpbnRlbF9sc3Bjb24gKmxzcGNvbiwKPj4+ICAgc3RhdGljIGJvb2wgbHNwY29uX3Byb2JlKHN0 cnVjdCBpbnRlbF9sc3Bjb24gKmxzcGNvbikKPj4+ICAgewo+Pj4gICAJZW51bSBkcm1fZHBfZHVh bF9tb2RlX3R5cGUgYWRhcHRvcl90eXBlOwo+Pj4gLQlzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0 ZXIgPSAmbHNwY29uLT5hdXgtPmRkYzsKPj4+ICsJc3RydWN0IGkyY19hZGFwdGVyICphZGFwdGVy ID0gJmxzcGNvbi0+aW50ZWxfZHAtPmF1eC5kZGM7Cj4+PiAgIAo+Pj4gICAJLyogTGV0cyBwcm9i ZSB0aGUgYWRhcHRvciBhbmQgY2hlY2sgaXRzIHR5cGUgKi8KPj4+ICAgCWFkYXB0b3JfdHlwZSA9 IGRybV9kcF9kdWFsX21vZGVfZGV0ZWN0KGFkYXB0ZXIpOwo+Pj4gQEAgLTg5LDggKzg5LDQyIEBA IHN0YXRpYyBib29sIGxzcGNvbl9wcm9iZShzdHJ1Y3QgaW50ZWxfbHNwY29uICpsc3Bjb24pCj4+ PiAgIAlyZXR1cm4gdHJ1ZTsKPj4+ICAgfQo+Pj4gICAKPj4+ICtzdGF0aWMgdm9pZCBsc3Bjb25f cmVzdW1lX2luX3Bjb25fd2Eoc3RydWN0IGludGVsX2xzcGNvbiAqbHNwY29uKQo+Pj4gK3sKPj4+ ICsJdW5zaWduZWQgbG9uZyBzdGFydCA9IGppZmZpZXM7Cj4+PiArCj4+PiArCWlmICghbHNwY29u LT5kZXNjX3ZhbGlkKQo+Pj4gKwkJcmV0dXJuOwo+Pj4gKwo+Pj4gKwl3aGlsZSAoMSkgewo+Pj4g KwkJc3RydWN0IGludGVsX2RwX2Rlc2MgZGVzYzsKPj4+ICsKPj4+ICsJCS8qCj4+PiArCQkgKiBU aGUgdy9hIG9ubHkgYXBwbGllcyBpbiBQQ09OIG1vZGUgYW5kIHdlIGRvbid0IGV4cGVjdCBhbnkK Pj4+ICsJCSAqIEFVWCBlcnJvcnMuCj4+PiArCQkgKi8KPj4+ICsJCWlmICghaW50ZWxfZHBfcmVh ZF9kZXNjKGxzcGNvbi0+aW50ZWxfZHAsICZkZXNjKSkKPj4+ICsJCQlyZXR1cm47Cj4+PiArCj4+ PiArCQlpZiAoIW1lbWNtcCgmbHNwY29uLT5kZXNjLCAmZGVzYywgc2l6ZW9mKGRlc2MpKSkgewo+ Pj4gKwkJCURSTV9ERUJVR19LTVMoIkxTUENPTiByZWNvdmVyaW5nIGluIFBDT04gbW9kZSBhZnRl ciAldSBtc1xuIiwKPj4+ICsJCQkJICAgICAgamlmZmllc190b19tc2VjcyhqaWZmaWVzIC0gc3Rh cnQpKTsKPj4+ICsJCQlyZXR1cm47Cj4+PiArCQl9Cj4+PiArCj4+PiArCQlpZiAodGltZV9hZnRl cihqaWZmaWVzLCBzdGFydCArIG1zZWNzX3RvX2ppZmZpZXMoMTAwMCkpKQo+Pj4gKwkJCWJyZWFr Owo+Pj4gKwo+Pj4gKwkJbXNsZWVwKDEwKTsKPj4+ICsJfQo+Pj4gKwo+Pj4gKwlEUk1fREVCVUdf S01TKCJMU1BDT04gRFAgZGVzY3JpcHRvciBtaXNtYXRjaCBhZnRlciByZXN1bWVcbiIpOwo+Pj4g K30KPj4gSSB0aGluayB3ZSBuZWVkIHRvIGdvIHRocm91Z2ggdGhlIExTUENPTiBzcGVjIG9uY2Ug bW9yZSBiZWZvcmUgd2UgbWVyZ2UKPj4gdGhpcy4gTWF5YmUgd2UgZG9uJ3QgcmVzZXQgdGhlIExT UENPTiBwcm9wZXJseS4gTWF5YmUgd2UgZG9uJ3QgaGFuZGxlCj4+IHRoZSByZXN1bWUgcHJvcGVy bHkuCj4gSSBoYXZlbid0IGZvdW5kIGF0IGxlYXN0IGFueSB3YXkgdG8gcmVzZXQgdGhpbmdzLiBJ IGFsc28gdHJpZWQgdG8KPiBjaGFuZ2UgdG8gTFMgbW9kZSB3aGVuIHN1c3BlbmRpbmcgb3Igc3dp dGNoIGhlcmUgdG8gTFMgbW9kZSBmaXJzdCBhbmQKPiBvbmx5IHRoZW4gdG8gUENPTiBtb2RlIGJ1 dCB0aGVzZSBkaWRuJ3QgaGVscC4KPgo+IC0tSW1yZQpJIGFncmVlIHdpdGggSW1yZS4gVGhlcmUg aXMgbm90aGluZyBsaWtlIHRoYXQgaW4gc3BlY3MgYXMgc3VjaCwgYW5kIGV2ZW4gCklmIHRoaXMg d2FzIHNvbWV0aGluZyBtaXNzaW5nIGR1cmluZyB0aGUgcmVzZXQvcG93ZXIgZG93biB0aW1lLCB3 ZSAKc2hvdWxkIGhhdmUgc2VlbiB0aGlzIG9uIGFsbC9tb3N0IG9mIHRoZSBib2FyZHMuCgpSZWdh cmRzClNoYXNoYW5rCj4KPj4gTWF5YmUgdGhpcyBpc24ndCBhICJ3b3JrYXJvdW5kIiBhZnRlciBh bGwuCj4+Cj4+IEJSLAo+PiBKYW5pLgo+Pgo+Pj4gKwo+Pj4gICB2b2lkIGxzcGNvbl9yZXN1bWUo c3RydWN0IGludGVsX2xzcGNvbiAqbHNwY29uKQo+Pj4gICB7Cj4+PiArCWxzcGNvbl9yZXN1bWVf aW5fcGNvbl93YShsc3Bjb24pOwo+Pj4gKwo+Pj4gICAJaWYgKGxzcGNvbl9jaGFuZ2VfbW9kZShs c3Bjb24sIERSTV9MU1BDT05fTU9ERV9QQ09OLCB0cnVlKSkKPj4+ICAgCQlEUk1fRVJST1IoIkxT UENPTiByZXN1bWUgZmFpbGVkXG4iKTsKPj4+ICAgCWVsc2UKPj4+IEBAIC0xMTEsNyArMTQ1LDcg QEAgYm9vbCBsc3Bjb25faW5pdChzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdf cG9ydCkKPj4+ICAgCj4+PiAgIAlsc3Bjb24tPmFjdGl2ZSA9IGZhbHNlOwo+Pj4gICAJbHNwY29u LT5tb2RlID0gRFJNX0xTUENPTl9NT0RFX0lOVkFMSUQ7Cj4+PiAtCWxzcGNvbi0+YXV4ID0gJmRw LT5hdXg7Cj4+PiArCWxzcGNvbi0+aW50ZWxfZHAgPSBkcDsKPj4+ICAgCj4+PiAgIAlpZiAoIWxz cGNvbl9wcm9iZShsc3Bjb24pKSB7Cj4+PiAgIAkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gcHJvYmUg bHNwY29uXG4iKTsKPj4+IEBAIC0xMzEsMTIgKzE2NSwxMCBAQCBib29sIGxzcGNvbl9pbml0KHN0 cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0KQo+Pj4gICAJCX0KPj4+ICAg CX0KPj4+ICAgCj4+PiAtCWlmIChkcm1fZGVidWcgJiBEUk1fVVRfS01TKSB7Cj4+PiAtCQlzdHJ1 Y3QgaW50ZWxfZHBfZGVzYyBkZXNjOwo+Pj4gLQo+Pj4gLQkJaWYgKGludGVsX2RwX3JlYWRfZGVz YyhkcCwgJmRlc2MpKQo+Pj4gLQkJCWludGVsX2RwX3ByaW50X2Rlc2MoZHAsICZkZXNjKTsKPj4+ IC0JfQo+Pj4gKwlsc3Bjb24tPmRlc2NfdmFsaWQgPSBpbnRlbF9kcF9yZWFkX2RwY2QoZHApICYm Cj4+PiArCQkJICAgICBpbnRlbF9kcF9yZWFkX2Rlc2MoZHAsICZsc3Bjb24tPmRlc2MpOwo+Pj4g KwlpZiAoKGRybV9kZWJ1ZyAmIERSTV9VVF9LTVMpICYmIGxzcGNvbi0+ZGVzY192YWxpZCkKPj4+ ICsJCWludGVsX2RwX3ByaW50X2Rlc2MoZHAsICZsc3Bjb24tPmRlc2MpOwo+Pj4gICAKPj4+ICAg CURSTV9ERUJVR19LTVMoIlN1Y2Nlc3M6IExTUENPTiBpbml0XG4iKTsKPj4+ICAgCXJldHVybiB0 cnVlOwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50 ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==