From mboxrd@z Thu Jan 1 00:00:00 1970 From: Animesh Manna Subject: Re: [SKL-DMC-BUGFIX 2/5] drm/i915/skl: Making DC6 entry is the last call in suspend flow. Date: Thu, 06 Aug 2015 20:08:58 +0530 Message-ID: <55C37182.5080105@intel.com> References: <1438619136-18268-1-git-send-email-animesh.manna@intel.com> <1438619136-18268-3-git-send-email-animesh.manna@intel.com> <20150805090550.GO17734@phenom.ffwll.local> <55C32622.6060002@intel.com> <20150806131842.GR17734@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id B442B6E7E3 for ; Thu, 6 Aug 2015 07:39:03 -0700 (PDT) In-Reply-To: <20150806131842.GR17734@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter Cc: Rajneesh Bhardwaj , intel-gfx@lists.freedesktop.org, Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org CgpPbiA4LzYvMjAxNSA2OjQ4IFBNLCBEYW5pZWwgVmV0dGVyIHdyb3RlOgo+IE9uIFRodSwgQXVn IDA2LCAyMDE1IGF0IDAyOjQ3OjIyUE0gKzA1MzAsIEFuaW1lc2ggTWFubmEgd3JvdGU6Cj4+Cj4+ IE9uIDgvNS8yMDE1IDI6MzUgUE0sIERhbmllbCBWZXR0ZXIgd3JvdGU6Cj4+PiBPbiBNb24sIEF1 ZyAwMywgMjAxNSBhdCAwOTo1NTozM1BNICswNTMwLCBBbmltZXNoIE1hbm5hIHdyb3RlOgo+Pj4+ IE1taW8gcmVnaXN0ZXIgYWNjZXNzIGFmdGVyIGRjNi9kYzUgZW50cnkgaXMgbm90IGFsbG93ZWQg d2hlbgo+Pj4+IERDNiBwb3dlciBzdGF0ZXMgYXJlIGVuYWJsZWQgYWNjb3JkaW5nIHRvIGJzcGVj IChic3BlYy1pZCAwNTI3KSwKPj4+PiBzbyBlbmFibGluZyBkYzYgYXMgdGhlIGxhc3QgY2FsbCBp biBzdXNwZW5kIGZsb3cuCj4+Pj4KPj4+PiB2MTogSW5pdGlhbCB2ZXJzaW9uLgo+Pj4+Cj4+Pj4g djI6IGNvbW1pdCBtZXNzYWdlIHVwZGF0ZWQgYmFzZWQgb24gY29tbWVudCBmcm9tIFZhdGhzYWxh Lgo+Pj4+Cj4+Pj4gQ2M6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAaW50ZWwuY29tPgo+ Pj4+IENjOiBEYW1pZW4gTGVzcGlhdSA8ZGFtaWVuLmxlc3BpYXVAaW50ZWwuY29tPgo+Pj4+IENj OiBJbXJlIERlYWsgPGltcmUuZGVha0BpbnRlbC5jb20+Cj4+Pj4gQ2M6IFN1bmlsIEthbWF0aCA8 c3VuaWwua2FtYXRoQGludGVsLmNvbT4KPj4+PiBTaWduZWQtb2ZmLWJ5OiBBbmltZXNoIE1hbm5h IDxhbmltZXNoLm1hbm5hQGludGVsLmNvbT4KPj4+PiBTaWduZWQtb2ZmLWJ5OiBWYXRoc2FsYSBO YWdhcmFqdSA8dmF0aHNhbGEubmFnYXJhanVAaW50ZWwuY29tPgo+Pj4+IFNpZ25lZC1vZmYtYnk6 IFJham5lZXNoIEJoYXJkd2FqIDxyYWpuZWVzaC5iaGFyZHdhakBpbnRlbC5jb20+Cj4+Pj4gLS0t Cj4+Pj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jICAgICAgICAgfCAxMiArKysr KystLS0tLS0KPj4+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICAgICB8 ICAyICsrCj4+Pj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMgfCAz MyArKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPj4+PiAgIDMgZmlsZXMgY2hhbmdl ZCwgMTYgaW5zZXJ0aW9ucygrKSwgMzEgZGVsZXRpb25zKC0pCj4+Pj4KPj4+PiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmMKPj4+PiBpbmRleCAwZDY3NzVhLi5lMWQwMTAyIDEwMDY0NAo+Pj4+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKPj4+PiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5jCj4+Pj4gQEAgLTEwMTcsMTQgKzEwMTcsMTEgQEAgc3RhdGljIGlu dCBza2xfc3VzcGVuZF9jb21wbGV0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYp Cj4+Pj4gICB7Cj4+Pj4gICAJLyogRW5hYmxpbmcgREM2IGlzIG5vdCBhIGhhcmQgcmVxdWlyZW1l bnQgdG8gZW50ZXIgcnVudGltZSBEMyAqLwo+Pj4+IC0JLyoKPj4+PiAtCSAqIFRoaXMgaXMgdG8g ZW5zdXJlIHRoYXQgQ1NSIGlzbid0IGlkZW50aWZpZWQgYXMgbG9hZGVkIGJlZm9yZQo+Pj4+IC0J ICogQ1NSLWxvYWRpbmcgcHJvZ3JhbSBpcyBjYWxsZWQgZHVyaW5nIHJ1bnRpbWUtcmVzdW1lLgo+ Pj4+IC0JICovCj4+Pj4gLQlpbnRlbF9jc3JfbG9hZF9zdGF0dXNfc2V0KGRldl9wcml2LCBGV19V TklOSVRJQUxJWkVEKTsKPj4+IFNlZW1zIGxpa2UgYW4gdW5yZWxhdGVkIGh1bmsuIFNlcGFyYXRl IHBhdGNoIChpbiB0aGUgZG1jIGxvYWRlciByZXdvcmsKPj4+IHNlcmllcykgb3IgYW4gZXhwbGFu YXRpb24gd2h5IHdlIG5lZWQgdGhpcy4KPj4gSW4gdGhlIHNhbWUgc2tsX3N1c3BlbmRfY29tcGxl dGUoKSBsYXRlciB3ZSBhcmUgY2hlY2tpbmcgaWYgZmlybXdhcmUgaXMgbG9hZGVkLAo+PiBiYXNl ZCBvbiB0aGF0IHdlIHRyaWdnZXIgZGM2LCBzbyB0aGUgYWJvdmUgaHVuayBoYXMgdG8gYmUgcmVt b3ZlZCBpbiB0aGlzIHBhdGNoLgo+IEkga25vdyB0aGF0IGxhdGVyIG9uIHdlJ2xsIHJlcGxhY2Ug dGhpcyB3aXRoIHNvbWV0aGluZyBlbHNlLCBidXQgeW91IGNhbid0Cj4gcmVtb3ZlIG9sZCBjb2Rl IGJlZm9yZSB0aGUgbmV3IGNvZGUgaXMgdGhlcmUuIEFuZCB5b3UgY2FuJ3QgZG8gY2hhbmdlcwo+ IGxpa2UgdGhpcyBoZXJlIGluIHVucmVsYXRlZCBwYXRjaGVzLgoKY29kZSBzbmlwcGV0IGFkZGVk IGluIHRoaXMgcGF0Y2g6CisJaWYgKGludGVsX2Nzcl9sb2FkX3N0YXR1c19nZXQoZGV2X3ByaXYp ID09IEZXX0xPQURFRCkKKwkJc2tsX2VuYWJsZV9kYzYoZGV2X3ByaXYpOwoKV2UgY2FuIGFkZCB1 bmluaXRpbGl6ZWQgY2FsbCBoZXJlIGFmdGVyIHRoaXMgd2hpY2ggd2lsbCBiZSByZWxhdGVkIGNo YW5nZXMuCkFmdGVyIGRtYyByZWRlc2lnbiB3aWxsIHJlbW92ZSBpdCBjb21wbGV0ZWx5IHRoZSBm dW5jdGlvbiBjYWxsIGZvciBjc3IgdW5pbml0aWFsaXphdGlvbi4KCj4KPj4gT24gdGhlIG90aGVy IGhhbmQgZmlybXdhcmUgdGVhbSBjb25maXJtZWQgdGhhdCBvbmUgdGltZSBmaXJtd2FyZSBsb2Fk aW5nCj4+IGR1cmluZyBkcml2ZXIgbG9hZGluZyBpcyBzdWZmaWNpZW50LCBubyBuZWVkIHRvIGxv YWQgZmlybXdhcmUgaW4KPj4gY3NyLWFkZHJlc3Mtc3BhY2UgZXZlcnkgc3VzcGVuZCAoZGM2IGVu dHJ5KSAtIHJlc3VtZSAoZGM2IGV4aXQpIGZsb3csIGRtYyB3aWxsCj4+IHRha2UgY2FyZSBvZiBp dCB3aGljaCBlbGltaW5hdGUgYW55IGNoYW5jZSBvZiByZWdyZXNzaW9uLgo+IEFuZCB3aGF0IGFi b3V0IGhpYmVybmF0ZT8KClllcywgZHVyaW5nIGhpYmVybmF0ZSBJIGFzc3VtZWQgb3Mgd2lsbCBy ZXN0b3JlIHRoZSByYW0gY29udGVudCBmcm9tIGRpc2suCkJ1dCBzcGVjaWFsbHkgZm9yIGNzciBw cm9ncmFtIHdlIG5lZWQgdG8gbG9hZCBpdCBhZ2Fpbi4gVGhhbmtzIGZvciB0aGUgcG9pbnRlci4K CgotQW5pbWVzaAoKPiAtRGFuaWVsCj4+IC0gQW5pbWVzaAo+Pgo+Pj4+IC0KPj4+PiAgIAlza2xf dW5pbml0X2NkY2xrKGRldl9wcml2KTsKPj4+PiArCWlmIChpbnRlbF9jc3JfbG9hZF9zdGF0dXNf Z2V0KGRldl9wcml2KSA9PSBGV19MT0FERUQpCj4+Pj4gKwkJc2tsX2VuYWJsZV9kYzYoZGV2X3By aXYpOwo+Pj4+ICsKPj4+PiAgIAlyZXR1cm4gMDsKPj4+PiAgIH0KPj4+PiBAQCAtMTA3MSw2ICsx MDY4LDkgQEAgc3RhdGljIGludCBza2xfcmVzdW1lX3ByZXBhcmUoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2KQo+Pj4+ICAgewo+Pj4+ICAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYg PSBkZXZfcHJpdi0+ZGV2Owo+Pj4+ICsJaWYgKGludGVsX2Nzcl9sb2FkX3N0YXR1c19nZXQoZGV2 X3ByaXYpID09IEZXX0xPQURFRCkKPj4+PiArCQlza2xfZGlzYWJsZV9kYzYoZGV2X3ByaXYpOwo+ Pj4+ICsKPj4+PiAgIAlza2xfaW5pdF9jZGNsayhkZXZfcHJpdik7Cj4+Pj4gICAJaW50ZWxfY3Ny X2xvYWRfcHJvZ3JhbShkZXYpOwo+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4+Pj4gaW5k ZXggNDdjZWYwZS4uMDZmMzQ2ZiAxMDA2NDQKPj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcnYuaAo+Pj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5o Cj4+Pj4gQEAgLTExMTcsNiArMTExNyw4IEBAIHZvaWQgYnh0X2VuYWJsZV9kYzkoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKPj4+PiAgIHZvaWQgYnh0X2Rpc2FibGVfZGM5KHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cj4+Pj4gICB2b2lkIHNrbF9pbml0X2Nk Y2xrKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cj4+Pj4gICB2b2lkIHNrbF91 bmluaXRfY2RjbGsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKPj4+PiArdm9p ZCBza2xfZW5hYmxlX2RjNihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+Pj4+ ICt2b2lkIHNrbF9kaXNhYmxlX2RjNihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYp Owo+Pj4+ICAgdm9pZCBpbnRlbF9kcF9nZXRfbV9uKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAo+ Pj4+ICAgCQkgICAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcpOwo+Pj4+ ICAgdm9pZCBpbnRlbF9kcF9zZXRfbV9uKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLCBlbnVtIGxp bmtfbV9uX3NldCBtX24pOwo+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9ydW50aW1lX3BtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3Bt LmMKPj4+PiBpbmRleCA2MzkzYjc2Li5jNjYwMjQ1IDEwMDY0NAo+Pj4+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYwo+Pj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYwo+Pj4+IEBAIC01MzIsNyArNTMyLDcgQEAgc3RhdGlj IHZvaWQgYXNzZXJ0X2Nhbl9kaXNhYmxlX2RjNihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpCj4+Pj4gICAJCSJEQzYgYWxyZWFkeSBwcm9ncmFtbWVkIHRvIGJlIGRpc2FibGVkLlxu Iik7Cj4+Pj4gICB9Cj4+Pj4gLXN0YXRpYyB2b2lkIHNrbF9lbmFibGVfZGM2KHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdikKPj4+PiArdm9pZCBza2xfZW5hYmxlX2RjNihzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4+Pj4gICB7Cj4+Pj4gICAJdWludDMyX3QgdmFs Owo+Pj4+IEBAIC01NDksNyArNTQ5LDcgQEAgc3RhdGljIHZvaWQgc2tsX2VuYWJsZV9kYzYoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+Pj4+ICAgCVBPU1RJTkdfUkVBRChEQ19T VEFURV9FTik7Cj4+Pj4gICB9Cj4+Pj4gLXN0YXRpYyB2b2lkIHNrbF9kaXNhYmxlX2RjNihzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4+Pj4gK3ZvaWQgc2tsX2Rpc2FibGVfZGM2 KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPj4+PiAgIHsKPj4+PiAgIAl1aW50 MzJfdCB2YWw7Cj4+PiBFdmVyeXRoaW5nIGFib3ZlIHNlZW1zIHRvIHJvdWdobHkgYmUgbWF0Y2hp bmcgeW91ciBwYXRjaCBkZXNjcmlwdGlvbiwgYnV0Cj4+PiBub3QgcGVyZmVjdGx5OiBZb3UgdGFs ayBhYm91dCBzdXNwZW5kIGZsb3cgYnV0IGFsc28gdG91Y2ggcmVzdW1lIGZsb3cuCj4+Pgo+Pj4g QnV0IHRoZSBodW5rcyBiZWxvdyBhcmUgY29tcGxldGVseSB1bmV4cGxhaW5lZCBtYWdpYyBhZmFp Y3QuIEVpdGhlciB0aGlzCj4+PiBuZWVkcyBhIHNlcGFyYXRlIHBhdGNoIG9yIGl0IG5lZWRzIHNl cmlvdXNseSBtb3JlIGV4cGxhbmF0aW9uIG9mIHdoYXQncwo+Pj4gZ29pbmcgb24uCj4+Pgo+Pj4+ IEBAIC02MTAsMTAgKzYxMCwxMCBAQCBzdGF0aWMgdm9pZCBza2xfc2V0X3Bvd2VyX3dlbGwoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+Pj4+ICAgCQkJCSFJOTE1X1JFQUQoSFNX X1BXUl9XRUxMX0JJT1MpLAo+Pj4+ICAgCQkJCSJJbnZhbGlkIGZvciBwb3dlciB3ZWxsIHN0YXR1 cyB0byBiZSBlbmFibGVkLCB1bmxlc3MgZG9uZSBieSB0aGUgQklPUywgXAo+Pj4+ICAgCQkJCXdo ZW4gcmVxdWVzdCBpcyB0byBkaXNhYmxlIVxuIik7Cj4+Pj4gLQkJCWlmICgoR0VOOV9FTkFCTEVf REM1KGRldikgfHwgU0tMX0VOQUJMRV9EQzYoZGV2KSkgJiYKPj4+PiAtCQkJCXBvd2VyX3dlbGwt PmRhdGEgPT0gU0tMX0RJU1BfUFdfMikgewo+Pj4+ICsJCQlpZiAocG93ZXJfd2VsbC0+ZGF0YSA9 PSBTS0xfRElTUF9QV18yKSB7Cj4+Pj4gKwkJCQlpZiAoR0VOOV9FTkFCTEVfREM1KGRldikpCj4+ Pj4gKwkJCQkJZ2VuOV9kaXNhYmxlX2RjNShkZXZfcHJpdik7Cj4+Pj4gICAJCQkJaWYgKFNLTF9F TkFCTEVfREM2KGRldikpIHsKPj4+PiAtCQkJCQlza2xfZGlzYWJsZV9kYzYoZGV2X3ByaXYpOwo+ Pj4+ICAgCQkJCQkvKgo+Pj4+ICAgCQkJCQkgKiBEREkgYnVmZmVyIHByb2dyYW1taW5nIHVubmVj ZXNzYXJ5IGR1cmluZyBkcml2ZXItbG9hZC9yZXN1bWUKPj4+PiAgIAkJCQkJICogYXMgaXQncyBh bHJlYWR5IGRvbmUgZHVyaW5nIG1vZGVzZXQgaW5pdGlhbGl6YXRpb24gdGhlbi4KPj4+PiBAQCAt NjIxLDggKzYyMSw2IEBAIHN0YXRpYyB2b2lkIHNrbF9zZXRfcG93ZXJfd2VsbChzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4+Pj4gICAJCQkJCSAqLwo+Pj4+ICAgCQkJCQlpZiAo IWRldl9wcml2LT5wb3dlcl9kb21haW5zLmluaXRpYWxpemluZykKPj4+PiAgIAkJCQkJCWludGVs X3ByZXBhcmVfZGRpKGRldik7Cj4+Pj4gLQkJCQl9IGVsc2Ugewo+Pj4+IC0JCQkJCWdlbjlfZGlz YWJsZV9kYzUoZGV2X3ByaXYpOwo+Pj4+ICAgCQkJCX0KPj4+PiAgIAkJCX0KPj4+PiAgIAkJCUk5 MTVfV1JJVEUoSFNXX1BXUl9XRUxMX0RSSVZFUiwgdG1wIHwgcmVxX21hc2spOwo+Pj4+IEBAIC02 NDIsMjQgKzY0MCw5IEBAIHN0YXRpYyB2b2lkIHNrbF9zZXRfcG93ZXJfd2VsbChzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4+Pj4gICAJCQlQT1NUSU5HX1JFQUQoSFNXX1BXUl9X RUxMX0RSSVZFUik7Cj4+Pj4gICAJCQlEUk1fREVCVUdfS01TKCJEaXNhYmxpbmcgJXNcbiIsIHBv d2VyX3dlbGwtPm5hbWUpOwo+Pj4+IC0JCQlpZiAoKEdFTjlfRU5BQkxFX0RDNShkZXYpIHx8IFNL TF9FTkFCTEVfREM2KGRldikpICYmCj4+Pj4gLQkJCQlwb3dlcl93ZWxsLT5kYXRhID09IFNLTF9E SVNQX1BXXzIpIHsKPj4+PiAtCQkJCWVudW0gY3NyX3N0YXRlIHN0YXRlOwo+Pj4+IC0JCQkJLyog VE9ETzogd2FpdCBmb3IgYSBjb21wbGV0aW9uIGV2ZW50IG9yCj4+Pj4gLQkJCQkgKiBzaW1pbGFy IGhlcmUgaW5zdGVhZCBvZiBidXN5Cj4+Pj4gLQkJCQkgKiB3YWl0aW5nIHVzaW5nIHdhaXRfZm9y IGZ1bmN0aW9uLgo+Pj4+IC0JCQkJICovCj4+Pj4gLQkJCQl3YWl0X2Zvcigoc3RhdGUgPSBpbnRl bF9jc3JfbG9hZF9zdGF0dXNfZ2V0KGRldl9wcml2KSkgIT0KPj4+PiAtCQkJCQkJRldfVU5JTklU SUFMSVpFRCwgMTAwMCk7Cj4+Pj4gLQkJCQlpZiAoc3RhdGUgIT0gRldfTE9BREVEKQo+Pj4+IC0J CQkJCURSTV9FUlJPUigiQ1NSIGZpcm13YXJlIG5vdCByZWFkeSAoJWQpXG4iLAo+Pj4+IC0JCQkJ CQkJc3RhdGUpOwo+Pj4+IC0JCQkJZWxzZQo+Pj4+IC0JCQkJCWlmIChTS0xfRU5BQkxFX0RDNihk ZXYpKQo+Pj4+IC0JCQkJCQlza2xfZW5hYmxlX2RjNihkZXZfcHJpdik7Cj4+Pj4gLQkJCQkJZWxz ZQo+Pj4+IC0JCQkJCQlnZW45X2VuYWJsZV9kYzUoZGV2X3ByaXYpOwo+Pj4+IC0JCQl9Cj4+Pj4g KwkJCWlmIChHRU45X0VOQUJMRV9EQzUoZGV2KSAmJgo+Pj4+ICsJCQkJcG93ZXJfd2VsbC0+ZGF0 YSA9PSBTS0xfRElTUF9QV18yKQo+Pj4+ICsJCQkJCWdlbjlfZW5hYmxlX2RjNShkZXZfcHJpdik7 Cj4+Pj4gICAJCX0KPj4+PiAgIAl9Cj4+Pj4gLS0gCj4+Pj4gMi4wLjIKPj4+Pgo+Pj4+IF9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4+Pj4gSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdAo+Pj4+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPj4+PiBo dHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZngg bWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=