From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH 04/10] drm/i915: Pixel Clock changes for DSI dual link Date: Fri, 05 Dec 2014 19:36:41 +0200 Message-ID: <87vblqngly.fsf@intel.com> References: <1417670936-31032-1-git-send-email-gaurav.k.singh@intel.com> <1417670936-31032-5-git-send-email-gaurav.k.singh@intel.com> <8761drn4t1.fsf@intel.com> <5481DE6E.6080405@intel.com> <5481E354.5090706@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 9F0D16E9EA for ; Fri, 5 Dec 2014 09:37:00 -0800 (PST) In-Reply-To: <5481E354.5090706@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: "Siluvery, Arun" , "Singh, Gaurav K" , intel-gfx Cc: Shobhit Kumar List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCAwNSBEZWMgMjAxNCwgIlNpbHV2ZXJ5LCBBcnVuIiA8YXJ1bi5zaWx1dmVyeUBsaW51 eC5pbnRlbC5jb20+IHdyb3RlOgo+IE9uIDA1LzEyLzIwMTQgMTY6MzMsIFNpbmdoLCBHYXVyYXYg SyB3cm90ZToKPj4KPj4gT24gMTIvNC8yMDE0IDI6NTcgUE0sIEphbmkgTmlrdWxhIHdyb3RlOgo+ Pj4gT24gVGh1LCAwNCBEZWMgMjAxNCwgR2F1cmF2IEsgU2luZ2ggPGdhdXJhdi5rLnNpbmdoQGlu dGVsLmNvbT4gd3JvdGU6Cj4+Pj4gRm9yIGR1YWwgbGluayBNSVBJIFBhbmVscywgZWFjaCBwb3J0 IG5lZWRzIGhhbGYgb2YgcGl4ZWwgY2xvY2suIFBpeGVsIG92ZXJsYXAKPj4+PiBjYW4gYmUgZW5h YmxlZCBpZiBuZWVkZWQgYnkgcGFuZWwsIHRoZW4gaW4gdGhhdCBjYXNlLCBwaXhlbCBjbG9jayB3 aWxsIGJlCj4+Pj4gaW5jcmVhc2VkIGZvciBleHRyYSBwaXhlbHMuCj4KPiBqdXN0IGEgcXVlc3Rp b24sIHdoeSBkbyB3ZSBuZWVkIHBpeGVsIG92ZXJsYXA/Cj4gSSBjb3VsZG4ndCBmaW5kIG1vcmUg ZGV0YWlscyBmcm9tIHNwZWMgb3RoZXIgdGhhbiB0aGF0IHdoZW4gb3ZlcmxhcCBpcyAKPiBzZXQg c29tZSBleHRyYSBwaXhlbHMgYXJlIHNlbnQuCgpGcm9tIHRoZSBob3N0IHBlcnNwZWN0aXZlIGEg ZHVhbCBsaW5rIChvciBkdWFsIGNoYW5uZWwpIERTSSBkZXZpY2UgaXMKdHdvIGluZGVwZW5kZW50 IHBlcmlwaGVyYWwgZGV2aWNlcy4gT24gdGhlIHBlcmlwaGVyYWwgc2lkZSB0aGUgZGlzcGxheQpo YXMgdG8gY29tYmluZSB0aGUgaW5wdXQgZnJvbSB0aGUgdHdvIGxpbmtzICh3aGljaCBtYXkgYmUg dHdvCmluZGVwZW5kZW50IERTSSBibG9ja3Mgb24gdGhlIHBlcmlwaGVyYWwgYXMgd2VsbCkgaW50 byBvbmUgY29udGlndW91cwpkaXNwbGF5LiBJIGRvbid0IGtub3cgdGhlIGRldGFpbHMsIGJ1dCBJ J20gZ3Vlc3NpbmcgcGl4ZWwgb3ZlcmxhcCBqdXN0Cm1ha2VzIGl0IGVhc2llciBmb3IgdGhlIHBl cmlwaGVyYWwgaW1wbGVtZW50YXRpb24gdG8gZ2V0IGl0IGFsbAp0b2dldGhlci4KCkJSLApKYW5p LgoKPgo+IHJlZ2FyZHMKPiBBcnVuCj4KPj4+Pgo+Pj4+IHYyIDogQWRkcmVzcyByZXZpZXcgY29t bWVudHMgYnkgSmFuaQo+Pj4+ICAgICAgICAtIFJlbW92ZWQgdGhlIGJpdCBtYXNrIHVzZWQgZm9y IC0+ZHVhbF9saW5rCj4+Pj4gICAgICAgIC0gVXNlZCBEU0kgaW5zdGVhZCBvZiBNSVBJIGZvciAj ZGVmaW5lIHZhcmlhYmxlcwo+Pj4+Cj4+Pj4gU2lnbmVkLW9mZi1ieTogR2F1cmF2IEsgU2luZ2gg PGdhdXJhdi5rLnNpbmdoQGludGVsLmNvbT4KPj4+PiAtLS0KPj4+PiAgICBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3JlZy5oICAgICAgICAgICAgfCAgICA0ICsrKysKPj4+PiAgICBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9iaW9zLmggICAgICAgICAgfCAgICAzICsrLQo+Pj4+ICAgIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5jICAgICAgICAgICB8ICAgIDggKysrKysrKysK Pj4+PiAgICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2kuaCAgICAgICAgICAgfCAgICA2 ICsrKysrKwo+Pj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaV9wYW5lbF92YnQu YyB8ICAgMjEgKysrKysrKysrKysrKysrKysrKysrCj4+Pj4gICAgNSBmaWxlcyBjaGFuZ2VkLCA0 MSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCj4+Pj4KPj4+PiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf cmVnLmgKPj4+PiBpbmRleCBjOTgxZjVkLi44NzE0OWJhIDEwMDY0NAo+Pj4+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X3JlZy5oCj4+Pj4gQEAgLTYwMjksNiArNjAyOSwxMCBAQCBlbnVtIHB1bml0X3Bvd2Vy X3dlbGwgewo+Pj4+ICAgICNkZWZpbmUgR0VOOF9QTUlOVFJfUkVESVJFQ1RfVE9fTk9OX0RJU1AJ KDE8PDMxKQo+Pj4+ICAgICNkZWZpbmUgVkxWX1BXUkRXTlVQQ1RMCQkJCTB4QTI5NAo+Pj4+Cj4+ Pj4gKyNkZWZpbmUgVkxWX0NISUNLRU5fMwkJCQkweDcwNDBDCj4+Pj4gKyNkZWZpbmUgIFBJWEVM X09WRVJMQVBfQ05UX01BU0sJCQkoMyA8PCAzMCkKPj4+PiArI2RlZmluZSAgUElYRUxfT1ZFUkxB UF9DTlRfU0hJRlQJCTMwCj4+PiBJIGRpZG4ndCBmaW5kIHRoaXMgcmVnaXN0ZXIsIGJ1dCBkb2Vz IGl0IG5vdCBuZWVkICsgVkxWX0RJU1BMQVlfQkFTRT8KPj4+Cj4+PiBHaXZlbiB0aGF0IEkgY2Fu J3QgZmluZCB0aGUgcmVnaXN0ZXIgbXkgcmV2aWV3IGlzIHByZXR0eSBzaGFsbG93LCBidXQgSQo+ Pj4gZG9uJ3Qgc3BvdCBhbnl0aGluZyBvYnZpb3VzbHkgd3JvbmcgZWl0aGVyLiBXaXRoIHRoZXNl IGNhdmVhdHMsCj4+Pgo+Pj4gUmV2aWV3ZWQtYnk6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBp bnRlbC5jb20+Cj4+Pgo+Pj4gVGhpcyByZWcgaXMgYXZhaWxhYmxlIGluIEJTcGVjIHRob3VnaCB0 aGUgYml0IGRlZmluaXRpb25zIGhhdmUgbm90IGJlZW4gdXBkYXRlZCBpbiB0aGUgQlNwZWMuIEFs c28sIGl0IHdhcyBjb21tdW5pY2F0ZWQgYnkgdGhlIEJJT1MgdGVhbS4KPj4+PiArCj4+Pj4gICAg I2RlZmluZSBHRU42X1BNSVNSCQkJCTB4NDQwMjAKPj4+PiAgICAjZGVmaW5lIEdFTjZfUE1JTVIJ CQkJMHg0NDAyNCAvKiBycHNfbG9jayAqLwo+Pj4+ICAgICNkZWZpbmUgR0VONl9QTUlJUgkJCQkw eDQ0MDI4Cj4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Jpb3Mu aCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Jpb3MuaAo+Pj4+IGluZGV4IGRlMDExNjcu LmE2YTg3MTAgMTAwNjQ0Cj4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYmlv cy5oCj4+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYmlvcy5oCj4+Pj4gQEAg LTgxOCw3ICs4MTgsOCBAQCBzdHJ1Y3QgbWlwaV9jb25maWcgewo+Pj4+ICAgICNkZWZpbmUgRFVB TF9MSU5LX1BJWEVMX0FMVAkyCj4+Pj4gICAgCXUxNiBkdWFsX2xpbms6MjsKPj4+PiAgICAJdTE2 IGxhbmVfY250OjI7Cj4+Pj4gLQl1MTYgcnN2ZDM6MTI7Cj4+Pj4gKwl1MTYgcGl4ZWxfb3Zlcmxh cDozOwo+Pj4+ICsJdTE2IHJzdmQzOjk7Cj4+Pj4KPj4+PiAgICAJdTE2IHJzdmQ0Owo+Pj4+Cj4+ Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmMKPj4+PiBpbmRleCBkYmU1MmU5Li40ZTE4YWJkIDEw MDY0NAo+Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5jCj4+Pj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmMKPj4+PiBAQCAtMTExLDYgKzExMSwx NCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kc2lfcG9ydF9lbmFibGUoc3RydWN0IGludGVsX2VuY29k ZXIgKmVuY29kZXIpCj4+Pj4gICAgCWVudW0gcG9ydCBwb3J0Owo+Pj4+ICAgIAl1MzIgdGVtcDsK Pj4+Pgo+Pj4+ICsJaWYgKGludGVsX2RzaS0+ZHVhbF9saW5rID09IERTSV9EVUFMX0xJTktfRlJP TlRfQkFDSykgewo+Pj4+ICsJCXRlbXAgPSBJOTE1X1JFQUQoVkxWX0NISUNLRU5fMyk7Cj4+Pj4g KwkJdGVtcCAmPSB+UElYRUxfT1ZFUkxBUF9DTlRfTUFTSyB8Cj4+Pj4gKwkJCQkJaW50ZWxfZHNp LT5waXhlbF9vdmVybGFwIDw8Cj4+Pj4gKwkJCQkJUElYRUxfT1ZFUkxBUF9DTlRfU0hJRlQ7Cj4+ Pj4gKwkJSTkxNV9XUklURShWTFZfQ0hJQ0tFTl8zLCB0ZW1wKTsKPj4+PiArCX0KPj4+PiArCj4+ Pj4gICAgCWZvcl9lYWNoX2RzaV9wb3J0KHBvcnQsIGludGVsX2RzaS0+cG9ydHMpIHsKPj4+PiAg ICAJCXRlbXAgPSBJOTE1X1JFQUQoTUlQSV9QT1JUX0NUUkwocG9ydCkpOwo+Pj4+Cj4+Pj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5oIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHNpLmgKPj4+PiBpbmRleCBmMmNjMmZjLi44ZmUyMDY0IDEwMDY0NAo+ Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5oCj4+Pj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmgKPj4+PiBAQCAtMjgsNiArMjgsMTEgQEAKPj4+ PiAgICAjaW5jbHVkZSA8ZHJtL2RybV9jcnRjLmg+Cj4+Pj4gICAgI2luY2x1ZGUgImludGVsX2Ry di5oIgo+Pj4+Cj4+Pj4gKy8qIER1YWwgTGluayBzdXBwb3J0ICovCj4+Pj4gKyNkZWZpbmUgRFNJ X0RVQUxfTElOS19OT05FCQkwCj4+Pj4gKyNkZWZpbmUgRFNJX0RVQUxfTElOS19GUk9OVF9CQUNL CTEKPj4+PiArI2RlZmluZSBEU0lfRFVBTF9MSU5LX1BJWEVMX0FMVAkJMgo+Pj4+ICsKPj4+PiAg ICBzdHJ1Y3QgaW50ZWxfZHNpX2RldmljZSB7Cj4+Pj4gICAgCXVuc2lnbmVkIGludCBwYW5lbF9p ZDsKPj4+PiAgICAJY29uc3QgY2hhciAqbmFtZTsKPj4+PiBAQCAtMTA1LDYgKzExMCw3IEBAIHN0 cnVjdCBpbnRlbF9kc2kgewo+Pj4+Cj4+Pj4gICAgCXU4IGVzY2FwZV9jbGtfZGl2Owo+Pj4+ICAg IAl1OCBkdWFsX2xpbms7Cj4+Pj4gKwl1OCBwaXhlbF9vdmVybGFwOwo+Pj4+ICAgIAl1MzIgcG9y dF9iaXRzOwo+Pj4+ICAgIAl1MzIgYndfdGltZXI7Cj4+Pj4gICAgCXUzMiBkcGh5X3JlZzsKPj4+ PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpX3BhbmVsX3ZidC5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpX3BhbmVsX3ZidC5jCj4+Pj4gaW5kZXgg ZjYwMTQ2Zi4uZjhjMjI2OSAxMDA2NDQKPj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kc2lfcGFuZWxfdmJ0LmMKPj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kc2lfcGFuZWxfdmJ0LmMKPj4+PiBAQCAtMjg4LDYgKzI4OCw3IEBAIHN0YXRpYyBib29sIGdl bmVyaWNfaW5pdChzdHJ1Y3QgaW50ZWxfZHNpX2RldmljZSAqZHNpKQo+Pj4+ICAgIAlpbnRlbF9k c2ktPmxhbmVfY291bnQgPSBtaXBpX2NvbmZpZy0+bGFuZV9jbnQgKyAxOwo+Pj4+ICAgIAlpbnRl bF9kc2ktPnBpeGVsX2Zvcm1hdCA9IG1pcGlfY29uZmlnLT52aWRlb21vZGVfY29sb3JfZm9ybWF0 IDw8IDc7Cj4+Pj4gICAgCWludGVsX2RzaS0+ZHVhbF9saW5rID0gbWlwaV9jb25maWctPmR1YWxf bGluazsKPj4+PiArCWludGVsX2RzaS0+cGl4ZWxfb3ZlcmxhcCA9IG1pcGlfY29uZmlnLT5waXhl bF9vdmVybGFwOwo+Pj4+Cj4+Pj4gICAgCWlmIChpbnRlbF9kc2ktPmR1YWxfbGluaykKPj4+PiAg ICAJCWludGVsX2RzaS0+cG9ydHMgPSAoKDEgPDwgUE9SVF9BKSB8ICgxIDw8IFBPUlRfQykpOwo+ Pj4+IEBAIC0zMTAsNiArMzExLDIwIEBAIHN0YXRpYyBib29sIGdlbmVyaWNfaW5pdChzdHJ1Y3Qg aW50ZWxfZHNpX2RldmljZSAqZHNpKQo+Pj4+Cj4+Pj4gICAgCXBjbGsgPSBtb2RlLT5jbG9jazsK Pj4+Pgo+Pj4+ICsJLyogSW4gZHVhbCBsaW5rIG1vZGUgZWFjaCBwb3J0IG5lZWRzIGhhbGYgb2Yg cGl4ZWwgY2xvY2sgKi8KPj4+PiArCWlmIChpbnRlbF9kc2ktPmR1YWxfbGluaykgewo+Pj4+ICsJ CXBjbGsgPSBwY2xrIC8gMjsKPj4+PiArCj4+Pj4gKwkJLyogd2UgY2FuIGVuYWJsZSBwaXhlbF9v dmVybGFwIGlmIG5lZWRlZCBieSBwYW5lbC4gSW4gdGhpcwo+Pj4+ICsJCSAqIGNhc2Ugd2UgbmVl ZCB0byBpbmNyZWFzZSB0aGUgcGl4ZWxjbG9jayBmb3IgZXh0cmEgcGl4ZWxzCj4+Pj4gKwkJICov Cj4+Pj4gKwkJaWYgKGludGVsX2RzaS0+ZHVhbF9saW5rID09IERTSV9EVUFMX0xJTktfRlJPTlRf QkFDSykgewo+Pj4+ICsJCQlwY2xrICs9IERJVl9ST1VORF9VUChtb2RlLT52dG90YWwgKgo+Pj4+ ICsJCQkJCQlpbnRlbF9kc2ktPnBpeGVsX292ZXJsYXAgKgo+Pj4+ICsJCQkJCQk2MCwgMTAwMCk7 Cj4+Pj4gKwkJfQo+Pj4+ICsJfQo+Pj4+ICsKPj4+PiAgICAJLyogQnVyc3QgTW9kZSBSYXRpbwo+ Pj4+ICAgIAkgKiBUYXJnZXQgZGRyIGZyZXF1ZW5jeSBmcm9tIFZCVCAvIG5vbiBidXJzdCBkZHIg ZnJlcQo+Pj4+ICAgIAkgKiBtdWx0aXBseSBieSAxMDAgdG8gcHJlc2VydmUgcmVtYWluZGVyCj4+ Pj4gQEAgLTUwNCw2ICs1MTksMTIgQEAgc3RhdGljIGJvb2wgZ2VuZXJpY19pbml0KHN0cnVjdCBp bnRlbF9kc2lfZGV2aWNlICpkc2kpCj4+Pj4gICAgCURSTV9ERUJVR19LTVMoIkNsb2Nrc3RvcCAl c1xuIiwgaW50ZWxfZHNpLT5jbG9ja19zdG9wID8KPj4+PiAgICAJCQkJCQkiZGlzYWJsZWQiIDog ImVuYWJsZWQiKTsKPj4+PiAgICAJRFJNX0RFQlVHX0tNUygiTW9kZSAlc1xuIiwgaW50ZWxfZHNp LT5vcGVyYXRpb25fbW9kZSA/ICJjb21tYW5kIiA6ICJ2aWRlbyIpOwo+Pj4+ICsJaWYgKGludGVs X2RzaS0+ZHVhbF9saW5rID09IERTSV9EVUFMX0xJTktfRlJPTlRfQkFDSykKPj4+PiArCQlEUk1f REVCVUdfS01TKCJEdWFsIGxpbms6IERTSV9EVUFMX0xJTktfRlJPTlRfQkFDS1xuIik7Cj4+Pj4g KwllbHNlIGlmIChpbnRlbF9kc2ktPmR1YWxfbGluayA9PSBEU0lfRFVBTF9MSU5LX1BJWEVMX0FM VCkKPj4+PiArCQlEUk1fREVCVUdfS01TKCJEdWFsIGxpbms6IERTSV9EVUFMX0xJTktfUElYRUxf QUxUXG4iKTsKPj4+PiArCWVsc2UKPj4+PiArCQlEUk1fREVCVUdfS01TKCJEdWFsIGxpbms6IE5P TkVcbiIpOwo+Pj4+ICAgIAlEUk1fREVCVUdfS01TKCJQaXhlbCBGb3JtYXQgJWRcbiIsIGludGVs X2RzaS0+cGl4ZWxfZm9ybWF0KTsKPj4+PiAgICAJRFJNX0RFQlVHX0tNUygiVExQWCAlZFxuIiwg aW50ZWxfZHNpLT5lc2NhcGVfY2xrX2Rpdik7Cj4+Pj4gICAgCURSTV9ERUJVR19LTVMoIkxQIFJY IFRpbWVvdXQgMHgleFxuIiwgaW50ZWxfZHNpLT5scF9yeF90aW1lb3V0KTsKPj4+PiAtLQo+Pj4+ IDEuNy45LjUKPj4+Pgo+Pj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCj4+Pj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+Pj4+IEludGVsLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKPj4+PiBodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cj4+Cj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCj4+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPj4gSW50ZWwtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+PiBodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cj4+Cj4KCi0tIApKYW5pIE5pa3VsYSwgSW50ZWwgT3Bl biBTb3VyY2UgVGVjaG5vbG9neSBDZW50ZXIKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pbnRlbC1nZngK