From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [SKL-DMC-BUGFIX 2/5] drm/i915/skl: Making DC6 entry is the last call in suspend flow. Date: Thu, 6 Aug 2015 15:18:42 +0200 Message-ID: <20150806131842.GR17734@phenom.ffwll.local> 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> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wi0-f173.google.com (mail-wi0-f173.google.com [209.85.212.173]) by gabe.freedesktop.org (Postfix) with ESMTPS id C10FE7A0C7 for ; Thu, 6 Aug 2015 06:18:46 -0700 (PDT) Received: by wibxm9 with SMTP id xm9so22298142wib.0 for ; Thu, 06 Aug 2015 06:18:45 -0700 (PDT) Content-Disposition: inline In-Reply-To: <55C32622.6060002@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Animesh Manna Cc: Rajneesh Bhardwaj , intel-gfx@lists.freedesktop.org, Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBBdWcgMDYsIDIwMTUgYXQgMDI6NDc6MjJQTSArMDUzMCwgQW5pbWVzaCBNYW5uYSB3 cm90ZToKPiAKPiAKPiBPbiA4LzUvMjAxNSAyOjM1IFBNLCBEYW5pZWwgVmV0dGVyIHdyb3RlOgo+ ID5PbiBNb24sIEF1ZyAwMywgMjAxNSBhdCAwOTo1NTozM1BNICswNTMwLCBBbmltZXNoIE1hbm5h IHdyb3RlOgo+ID4+TW1pbyByZWdpc3RlciBhY2Nlc3MgYWZ0ZXIgZGM2L2RjNSBlbnRyeSBpcyBu b3QgYWxsb3dlZCB3aGVuCj4gPj5EQzYgcG93ZXIgc3RhdGVzIGFyZSBlbmFibGVkIGFjY29yZGlu ZyB0byBic3BlYyAoYnNwZWMtaWQgMDUyNyksCj4gPj5zbyBlbmFibGluZyBkYzYgYXMgdGhlIGxh c3QgY2FsbCBpbiBzdXNwZW5kIGZsb3cuCj4gPj4KPiA+PnYxOiBJbml0aWFsIHZlcnNpb24uCj4g Pj4KPiA+PnYyOiBjb21taXQgbWVzc2FnZSB1cGRhdGVkIGJhc2VkIG9uIGNvbW1lbnQgZnJvbSBW YXRoc2FsYS4KPiA+Pgo+ID4+Q2M6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAaW50ZWwu Y29tPgo+ID4+Q2M6IERhbWllbiBMZXNwaWF1IDxkYW1pZW4ubGVzcGlhdUBpbnRlbC5jb20+Cj4g Pj5DYzogSW1yZSBEZWFrIDxpbXJlLmRlYWtAaW50ZWwuY29tPgo+ID4+Q2M6IFN1bmlsIEthbWF0 aCA8c3VuaWwua2FtYXRoQGludGVsLmNvbT4KPiA+PlNpZ25lZC1vZmYtYnk6IEFuaW1lc2ggTWFu bmEgPGFuaW1lc2gubWFubmFAaW50ZWwuY29tPgo+ID4+U2lnbmVkLW9mZi1ieTogVmF0aHNhbGEg TmFnYXJhanUgPHZhdGhzYWxhLm5hZ2FyYWp1QGludGVsLmNvbT4KPiA+PlNpZ25lZC1vZmYtYnk6 IFJham5lZXNoIEJoYXJkd2FqIDxyYWpuZWVzaC5iaGFyZHdhakBpbnRlbC5jb20+Cj4gPj4tLS0K PiA+PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyAgICAgICAgIHwgMTIgKysrKysr LS0tLS0tCj4gPj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICAgICB8ICAy ICsrCj4gPj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYyB8IDMzICsr KysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ID4+ICAzIGZpbGVzIGNoYW5nZWQsIDE2 IGluc2VydGlvbnMoKyksIDMxIGRlbGV0aW9ucygtKQo+ID4+Cj4gPj5kaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmMKPiA+PmluZGV4IDBkNjc3NWEuLmUxZDAxMDIgMTAwNjQ0Cj4gPj4tLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCj4gPj4rKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2Rydi5jCj4gPj5AQCAtMTAxNywxNCArMTAxNywxMSBAQCBzdGF0aWMgaW50IHNrbF9zdXNw ZW5kX2NvbXBsZXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiA+PiAgewo+ ID4+ICAJLyogRW5hYmxpbmcgREM2IGlzIG5vdCBhIGhhcmQgcmVxdWlyZW1lbnQgdG8gZW50ZXIg cnVudGltZSBEMyAqLwo+ID4+LQkvKgo+ID4+LQkgKiBUaGlzIGlzIHRvIGVuc3VyZSB0aGF0IENT UiBpc24ndCBpZGVudGlmaWVkIGFzIGxvYWRlZCBiZWZvcmUKPiA+Pi0JICogQ1NSLWxvYWRpbmcg cHJvZ3JhbSBpcyBjYWxsZWQgZHVyaW5nIHJ1bnRpbWUtcmVzdW1lLgo+ID4+LQkgKi8KPiA+Pi0J aW50ZWxfY3NyX2xvYWRfc3RhdHVzX3NldChkZXZfcHJpdiwgRldfVU5JTklUSUFMSVpFRCk7Cj4g PlNlZW1zIGxpa2UgYW4gdW5yZWxhdGVkIGh1bmsuIFNlcGFyYXRlIHBhdGNoIChpbiB0aGUgZG1j IGxvYWRlciByZXdvcmsKPiA+c2VyaWVzKSBvciBhbiBleHBsYW5hdGlvbiB3aHkgd2UgbmVlZCB0 aGlzLgo+IAo+IEluIHRoZSBzYW1lIHNrbF9zdXNwZW5kX2NvbXBsZXRlKCkgbGF0ZXIgd2UgYXJl IGNoZWNraW5nIGlmIGZpcm13YXJlIGlzIGxvYWRlZCwKPiBiYXNlZCBvbiB0aGF0IHdlIHRyaWdn ZXIgZGM2LCBzbyB0aGUgYWJvdmUgaHVuayBoYXMgdG8gYmUgcmVtb3ZlZCBpbiB0aGlzIHBhdGNo Lgo+IEkgd2lsbCBhZGQgZXhwbGFuYXRpb24gaW4gbXkgbmV4dCBwYXRjaHNldC4KCkkga25vdyB0 aGF0IGxhdGVyIG9uIHdlJ2xsIHJlcGxhY2UgdGhpcyB3aXRoIHNvbWV0aGluZyBlbHNlLCBidXQg eW91IGNhbid0CnJlbW92ZSBvbGQgY29kZSBiZWZvcmUgdGhlIG5ldyBjb2RlIGlzIHRoZXJlLiBB bmQgeW91IGNhbid0IGRvIGNoYW5nZXMKbGlrZSB0aGlzIGhlcmUgaW4gdW5yZWxhdGVkIHBhdGNo ZXMuCgo+IE9uIHRoZSBvdGhlciBoYW5kIGZpcm13YXJlIHRlYW0gY29uZmlybWVkIHRoYXQgb25l IHRpbWUgZmlybXdhcmUgbG9hZGluZwo+IGR1cmluZyBkcml2ZXIgbG9hZGluZyBpcyBzdWZmaWNp ZW50LCBubyBuZWVkIHRvIGxvYWQgZmlybXdhcmUgaW4KPiBjc3ItYWRkcmVzcy1zcGFjZSBldmVy eSBzdXNwZW5kIChkYzYgZW50cnkpIC0gcmVzdW1lIChkYzYgZXhpdCkgZmxvdywgZG1jIHdpbGwK PiB0YWtlIGNhcmUgb2YgaXQgd2hpY2ggZWxpbWluYXRlIGFueSBjaGFuY2Ugb2YgcmVncmVzc2lv bi4KCkFuZCB3aGF0IGFib3V0IGhpYmVybmF0ZT8KLURhbmllbAo+IAo+IC0gQW5pbWVzaAo+IAo+ ID4KPiA+Pi0KPiA+PiAgCXNrbF91bmluaXRfY2RjbGsoZGV2X3ByaXYpOwo+ID4+KwlpZiAoaW50 ZWxfY3NyX2xvYWRfc3RhdHVzX2dldChkZXZfcHJpdikgPT0gRldfTE9BREVEKQo+ID4+KwkJc2ts X2VuYWJsZV9kYzYoZGV2X3ByaXYpOwo+ID4+Kwo+ID4+ICAJcmV0dXJuIDA7Cj4gPj4gIH0KPiA+ PkBAIC0xMDcxLDYgKzEwNjgsOSBAQCBzdGF0aWMgaW50IHNrbF9yZXN1bWVfcHJlcGFyZShzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gPj4gIHsKPiA+PiAgCXN0cnVjdCBkcm1f ZGV2aWNlICpkZXYgPSBkZXZfcHJpdi0+ZGV2Owo+ID4+KwlpZiAoaW50ZWxfY3NyX2xvYWRfc3Rh dHVzX2dldChkZXZfcHJpdikgPT0gRldfTE9BREVEKQo+ID4+KwkJc2tsX2Rpc2FibGVfZGM2KGRl dl9wcml2KTsKPiA+PisKPiA+PiAgCXNrbF9pbml0X2NkY2xrKGRldl9wcml2KTsKPiA+PiAgCWlu dGVsX2Nzcl9sb2FkX3Byb2dyYW0oZGV2KTsKPiA+PmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4g Pj5pbmRleCA0N2NlZjBlLi4wNmYzNDZmIDEwMDY0NAo+ID4+LS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHJ2LmgKPiA+PisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Ry di5oCj4gPj5AQCAtMTExNyw2ICsxMTE3LDggQEAgdm9pZCBieHRfZW5hYmxlX2RjOShzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+ID4+ICB2b2lkIGJ4dF9kaXNhYmxlX2RjOShz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+ID4+ICB2b2lkIHNrbF9pbml0X2Nk Y2xrKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cj4gPj4gIHZvaWQgc2tsX3Vu aW5pdF9jZGNsayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+ID4+K3ZvaWQg c2tsX2VuYWJsZV9kYzYoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKPiA+Pit2 b2lkIHNrbF9kaXNhYmxlX2RjNihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+ ID4+ICB2b2lkIGludGVsX2RwX2dldF9tX24oc3RydWN0IGludGVsX2NydGMgKmNydGMsCj4gPj4g IAkJICAgICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKTsKPiA+PiAgdm9p ZCBpbnRlbF9kcF9zZXRfbV9uKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLCBlbnVtIGxpbmtfbV9u X3NldCBtX24pOwo+ID4+ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1 bnRpbWVfcG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYwo+ID4+ aW5kZXggNjM5M2I3Ni4uYzY2MDI0NSAxMDA2NDQKPiA+Pi0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3J1bnRpbWVfcG0uYwo+ID4+KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcnVudGltZV9wbS5jCj4gPj5AQCAtNTMyLDcgKzUzMiw3IEBAIHN0YXRpYyB2b2lkIGFzc2Vy dF9jYW5fZGlzYWJsZV9kYzYoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ID4+ ICAJCSJEQzYgYWxyZWFkeSBwcm9ncmFtbWVkIHRvIGJlIGRpc2FibGVkLlxuIik7Cj4gPj4gIH0K PiA+Pi1zdGF0aWMgdm9pZCBza2xfZW5hYmxlX2RjNihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpCj4gPj4rdm9pZCBza2xfZW5hYmxlX2RjNihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYpCj4gPj4gIHsKPiA+PiAgCXVpbnQzMl90IHZhbDsKPiA+PkBAIC01NDksNyAr NTQ5LDcgQEAgc3RhdGljIHZvaWQgc2tsX2VuYWJsZV9kYzYoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KQo+ID4+ICAJUE9TVElOR19SRUFEKERDX1NUQVRFX0VOKTsKPiA+PiAgfQo+ ID4+LXN0YXRpYyB2b2lkIHNrbF9kaXNhYmxlX2RjNihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpCj4gPj4rdm9pZCBza2xfZGlzYWJsZV9kYzYoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KQo+ID4+ICB7Cj4gPj4gIAl1aW50MzJfdCB2YWw7Cj4gPkV2ZXJ5dGhpbmcg YWJvdmUgc2VlbXMgdG8gcm91Z2hseSBiZSBtYXRjaGluZyB5b3VyIHBhdGNoIGRlc2NyaXB0aW9u LCBidXQKPiA+bm90IHBlcmZlY3RseTogWW91IHRhbGsgYWJvdXQgc3VzcGVuZCBmbG93IGJ1dCBh bHNvIHRvdWNoIHJlc3VtZSBmbG93Lgo+ID4KPiA+QnV0IHRoZSBodW5rcyBiZWxvdyBhcmUgY29t cGxldGVseSB1bmV4cGxhaW5lZCBtYWdpYyBhZmFpY3QuIEVpdGhlciB0aGlzCj4gPm5lZWRzIGEg c2VwYXJhdGUgcGF0Y2ggb3IgaXQgbmVlZHMgc2VyaW91c2x5IG1vcmUgZXhwbGFuYXRpb24gb2Yg d2hhdCdzCj4gPmdvaW5nIG9uLgo+ID4KPiA+PkBAIC02MTAsMTAgKzYxMCwxMCBAQCBzdGF0aWMg dm9pZCBza2xfc2V0X3Bvd2VyX3dlbGwoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LAo+ID4+ICAJCQkJIUk5MTVfUkVBRChIU1dfUFdSX1dFTExfQklPUyksCj4gPj4gIAkJCQkiSW52 YWxpZCBmb3IgcG93ZXIgd2VsbCBzdGF0dXMgdG8gYmUgZW5hYmxlZCwgdW5sZXNzIGRvbmUgYnkg dGhlIEJJT1MsIFwKPiA+PiAgCQkJCXdoZW4gcmVxdWVzdCBpcyB0byBkaXNhYmxlIVxuIik7Cj4g Pj4tCQkJaWYgKChHRU45X0VOQUJMRV9EQzUoZGV2KSB8fCBTS0xfRU5BQkxFX0RDNihkZXYpKSAm Jgo+ID4+LQkJCQlwb3dlcl93ZWxsLT5kYXRhID09IFNLTF9ESVNQX1BXXzIpIHsKPiA+PisJCQlp ZiAocG93ZXJfd2VsbC0+ZGF0YSA9PSBTS0xfRElTUF9QV18yKSB7Cj4gPj4rCQkJCWlmIChHRU45 X0VOQUJMRV9EQzUoZGV2KSkKPiA+PisJCQkJCWdlbjlfZGlzYWJsZV9kYzUoZGV2X3ByaXYpOwo+ ID4+ICAJCQkJaWYgKFNLTF9FTkFCTEVfREM2KGRldikpIHsKPiA+Pi0JCQkJCXNrbF9kaXNhYmxl X2RjNihkZXZfcHJpdik7Cj4gPj4gIAkJCQkJLyoKPiA+PiAgCQkJCQkgKiBEREkgYnVmZmVyIHBy b2dyYW1taW5nIHVubmVjZXNzYXJ5IGR1cmluZyBkcml2ZXItbG9hZC9yZXN1bWUKPiA+PiAgCQkJ CQkgKiBhcyBpdCdzIGFscmVhZHkgZG9uZSBkdXJpbmcgbW9kZXNldCBpbml0aWFsaXphdGlvbiB0 aGVuLgo+ID4+QEAgLTYyMSw4ICs2MjEsNiBAQCBzdGF0aWMgdm9pZCBza2xfc2V0X3Bvd2VyX3dl bGwoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4+ICAJCQkJCSAqLwo+ID4+ ICAJCQkJCWlmICghZGV2X3ByaXYtPnBvd2VyX2RvbWFpbnMuaW5pdGlhbGl6aW5nKQo+ID4+ICAJ CQkJCQlpbnRlbF9wcmVwYXJlX2RkaShkZXYpOwo+ID4+LQkJCQl9IGVsc2Ugewo+ID4+LQkJCQkJ Z2VuOV9kaXNhYmxlX2RjNShkZXZfcHJpdik7Cj4gPj4gIAkJCQl9Cj4gPj4gIAkJCX0KPiA+PiAg CQkJSTkxNV9XUklURShIU1dfUFdSX1dFTExfRFJJVkVSLCB0bXAgfCByZXFfbWFzayk7Cj4gPj5A QCAtNjQyLDI0ICs2NDAsOSBAQCBzdGF0aWMgdm9pZCBza2xfc2V0X3Bvd2VyX3dlbGwoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4+ICAJCQlQT1NUSU5HX1JFQUQoSFNXX1BX Ul9XRUxMX0RSSVZFUik7Cj4gPj4gIAkJCURSTV9ERUJVR19LTVMoIkRpc2FibGluZyAlc1xuIiwg cG93ZXJfd2VsbC0+bmFtZSk7Cj4gPj4tCQkJaWYgKChHRU45X0VOQUJMRV9EQzUoZGV2KSB8fCBT S0xfRU5BQkxFX0RDNihkZXYpKSAmJgo+ID4+LQkJCQlwb3dlcl93ZWxsLT5kYXRhID09IFNLTF9E SVNQX1BXXzIpIHsKPiA+Pi0JCQkJZW51bSBjc3Jfc3RhdGUgc3RhdGU7Cj4gPj4tCQkJCS8qIFRP RE86IHdhaXQgZm9yIGEgY29tcGxldGlvbiBldmVudCBvcgo+ID4+LQkJCQkgKiBzaW1pbGFyIGhl cmUgaW5zdGVhZCBvZiBidXN5Cj4gPj4tCQkJCSAqIHdhaXRpbmcgdXNpbmcgd2FpdF9mb3IgZnVu Y3Rpb24uCj4gPj4tCQkJCSAqLwo+ID4+LQkJCQl3YWl0X2Zvcigoc3RhdGUgPSBpbnRlbF9jc3Jf bG9hZF9zdGF0dXNfZ2V0KGRldl9wcml2KSkgIT0KPiA+Pi0JCQkJCQlGV19VTklOSVRJQUxJWkVE LCAxMDAwKTsKPiA+Pi0JCQkJaWYgKHN0YXRlICE9IEZXX0xPQURFRCkKPiA+Pi0JCQkJCURSTV9F UlJPUigiQ1NSIGZpcm13YXJlIG5vdCByZWFkeSAoJWQpXG4iLAo+ID4+LQkJCQkJCQlzdGF0ZSk7 Cj4gPj4tCQkJCWVsc2UKPiA+Pi0JCQkJCWlmIChTS0xfRU5BQkxFX0RDNihkZXYpKQo+ID4+LQkJ CQkJCXNrbF9lbmFibGVfZGM2KGRldl9wcml2KTsKPiA+Pi0JCQkJCWVsc2UKPiA+Pi0JCQkJCQln ZW45X2VuYWJsZV9kYzUoZGV2X3ByaXYpOwo+ID4+LQkJCX0KPiA+PisJCQlpZiAoR0VOOV9FTkFC TEVfREM1KGRldikgJiYKPiA+PisJCQkJcG93ZXJfd2VsbC0+ZGF0YSA9PSBTS0xfRElTUF9QV18y KQo+ID4+KwkJCQkJZ2VuOV9lbmFibGVfZGM1KGRldl9wcml2KTsKPiA+PiAgCQl9Cj4gPj4gIAl9 Cj4gPj4tLSAKPiA+PjIuMC4yCj4gPj4KPiA+Pl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCj4gPj5JbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gPj5JbnRlbC1n ZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPj5odHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cj4gCgotLSAKRGFuaWVsIFZldHRlcgpTb2Z0d2Fy ZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KaHR0cDovL2Jsb2cuZmZ3bGwuY2gKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK