From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v9 20/24] drm/i915/dsc: Add Per connector debugfs node for DSC support/enable Date: Mon, 19 Nov 2018 22:27:44 +0200 Message-ID: <20181119202744.GO9144@intel.com> References: <20181114015232.21952-1-manasi.d.navare@intel.com> <20181114015232.21952-21-manasi.d.navare@intel.com> <20181116013942.GB32069@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20181116013942.GB32069@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Manasi Navare Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, Rodrigo Vivi List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCBOb3YgMTUsIDIwMTggYXQgMDU6Mzk6NDJQTSAtMDgwMCwgTWFuYXNpIE5hdmFyZSB3 cm90ZToKPiBPbiBUdWUsIE5vdiAxMywgMjAxOCBhdCAwNTo1MjoyOFBNIC0wODAwLCBNYW5hc2kg TmF2YXJlIHdyb3RlOgo+ID4gRFNDIGNhbiBiZSBzdXBwb3J0ZWQgcGVyIERQIGNvbm5lY3Rvci4g VGhpcyBwYXRjaCBhZGRzIGEgcGVyIGNvbm5lY3Rvcgo+ID4gZGVidWdmcyBub2RlIHRvIGV4cG9z ZSBEU0Mgc3VwcG9ydCBjYXBhYmlsaXR5IGJ5IHRoZSBrZXJuZWwuCj4gPiBUaGUgc2FtZSBub2Rl IGNhbiBiZSB1c2VkIGZyb20gdXNlcnNwYWNlIHRvIGZvcmNlIERTQyBlbmFibGUuCj4gPiAKPiA+ IGZvcmNlX2RzY19lbiB3cml0dGVuIHRocm91Z2ggdGhpcyBkZWJ1Z2ZzIG5vZGUgaXMgdXNlZCB0 byBmb3JjZQo+ID4gRFNDIGV2ZW4gZm9yIGxvd2VyIHJlc29sdXRpb25zLgo+ID4gCj4gPiB2NDoK PiA+ICogQWRkIG1pc3NlZCBjb25uZWN0b3Jfc3RhdHVzIGNoZWNrIChNYW5hc2kpCj4gPiAqIENy ZWF0ZSBpOTE1X2RzY19zdXBwb3J0IG5vZGUgb25seSBmb3IgR2VuID49MTAgKG1hbmFzaSkKPiA+ ICogQWNjZXNzIGludGVsX2RwLT5kc2NfZHBjZCBvbmx5IGlmIGl0cyBub3QgTlVMTCAoTWFuYXNp KQo+ID4gdjM6Cj4gPiAqIENvbWJpbmUgRm9yY2VfZHNjX2VuIHdpdGggdGhpcyBwYXRjaCAoVmls bGUpCj4gPiB2MjoKPiA+ICogVXNlIGtzdHJ0b2Jvb2xfZnJvbV91c2VyIHRvIGF2b2lkIGV4cGxp Y2l0IGVycm9yIGNoZWNraW5nIChMeXVkZSkKPiA+ICogUmViYXNlIG9uIGRybS10aXAgKE1hbmFz aSkKPiA+IAo+ID4gQ2M6IFJvZHJpZ28gVml2aSA8cm9kcmlnby52aXZpQGludGVsLmNvbT4KPiA+ IENjOiBWaWxsZSBTeXJqYWxhIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiA+IENj OiBBbnVzaGEgU3JpdmF0c2EgPGFudXNoYS5zcml2YXRzYUBpbnRlbC5jb20+Cj4gPiBDYzogTHl1 ZGUgUGF1bCA8bHl1ZGVAcmVkaGF0LmNvbT4KPiA+IFNpZ25lZC1vZmYtYnk6IE1hbmFzaSBOYXZh cmUgPG1hbmFzaS5kLm5hdmFyZUBpbnRlbC5jb20+Cj4gPiBSZXZpZXdlZC1ieTogTHl1ZGUgUGF1 bCA8bHl1ZGVAcmVkaGF0LmNvbT4KPiA+IC0tLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZGVidWdmcy5jIHwgNzcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiA+ICBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jICAgICB8ICAzICstCj4gPiAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgfCAgMyArKwo+ID4gIDMgZmlsZXMgY2hhbmdlZCwgODIg aW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQo+ID4gCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2RlYnVnZnMuYwo+ID4gaW5kZXggNjcwZGI1MDczZDcwLi4zYzExMmJiMjI1ZDYgMTAwNjQ0Cj4g PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+ID4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPiA+IEBAIC01MDc0LDYgKzUwNzQsNzYg QEAgc3RhdGljIGludCBpOTE1X2hkY3Bfc2lua19jYXBhYmlsaXR5X3Nob3coc3RydWN0IHNlcV9m aWxlICptLCB2b2lkICpkYXRhKQo+ID4gIH0KPiA+ICBERUZJTkVfU0hPV19BVFRSSUJVVEUoaTkx NV9oZGNwX3NpbmtfY2FwYWJpbGl0eSk7Cj4gPiAgCj4gPiArc3RhdGljIGludCBpOTE1X2RzY19z dXBwb3J0X3Nob3coc3RydWN0IHNlcV9maWxlICptLCB2b2lkICpkYXRhKQo+ID4gK3sKPiA+ICsJ c3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciA9IG0tPnByaXZhdGU7Cj4gPiArCXN0cnVj dCBpbnRlbF9lbmNvZGVyICplbmNvZGVyID0gaW50ZWxfYXR0YWNoZWRfZW5jb2Rlcihjb25uZWN0 b3IpOwo+ID4gKwlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0KPiA+ICsJCWVuY190b19pbnRl bF9kcCgmZW5jb2Rlci0+YmFzZSk7Cj4gPiArCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjOwo+ID4g KwlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZTsKPiA+ICsKPiA+ICsJaWYgKGNv bm5lY3Rvci0+c3RhdHVzICE9IGNvbm5lY3Rvcl9zdGF0dXNfY29ubmVjdGVkKQo+ID4gKwkJcmV0 dXJuIC1FTk9ERVY7Cj4gPiArCj4gPiArCWNydGMgPSB0b19pbnRlbF9jcnRjKGVuY29kZXItPmJh c2UuY3J0Yyk7Cj4gPiArCWNydGNfc3RhdGUgPSB0b19pbnRlbF9jcnRjX3N0YXRlKGNydGMtPmJh c2Uuc3RhdGUpOwoKVGhpcyBzdHVmZiBpcyBicm9rZW4uIElmIHlvdSB3YW50IHRvIHJvb3QgYXJv dW5kIGluIHRoZSBhdG9taWMgc3RhdGVzCnlvdSBuZWVkIHRvIGdyYWIgc29tZSBsb2NrcyBmaXJz dC4KCj4gPiArCWRybV9tb2Rlc2V0X2xvY2soJmNydGMtPmJhc2UubXV0ZXgsIE5VTEwpOwo+ID4g KwlzZXFfcHJpbnRmKG0sICJFbmFibGVkOiAlc1xuIiwKPiA+ICsJCSAgIHllc25vKGNydGNfc3Rh dGUtPmRzY19wYXJhbXMuY29tcHJlc3Npb25fZW5hYmxlKSk7Cj4gPiArCWlmIChpbnRlbF9kcC0+ ZHNjX2RwY2QpCj4gPiArCQlzZXFfcHJpbnRmKG0sICJTdXBwb3J0ZWQ6ICVzXG4iLAo+ID4gKwkJ CSAgIHllc25vKGRybV9kcF9zaW5rX3N1cHBvcnRzX2RzYyhpbnRlbF9kcC0+ZHNjX2RwY2QpKSk7 Cj4gCj4gSSB0aGluayB0aGlzIHN1cHBvcnRlZCBzaG91bGQgYWxzbyB1c2UgdGhlIGludGVsX2Rw X3N1cHBvcnRzX2RzYygpIGhlbHBlciBzbwo+IGl0IGNoZWNrcyBmb3Igc2luayBzdXBwb3J0IGFu ZCBwbGF0Zm9ybSBzdXBwb3J0IGFzIHdlbGwuCj4gCj4gVmlsbGUsIHdoYXQgZG8geW91IHRoaW5r PwoKUG9zc2libHkuIFdlIG1heSB3YW50IHRvIHJlcG9ydCBwZXItY3J0YyB3aGV0aGVyIERTQyBp cyBwb3NzaWJsZSBvciBub3QKKGR1ZSB0byB0cmFuc2NvZGVyIEEgbm90IGJlaW5nIGNhcGFibGUg b2YgRFNDKS4gQW5kIHRvIGRvIHRoYXQgd2UKYWN0dWFsbHkgbmVlZCB0byBjaGFuZ2UgaW50ZWxf ZHBfc291cmNlX3N1cHBvcnRzX2RzYygpICYgY28uIHRvIG5vdCB0YWtlCnRoZSBjcnRjIHN0YXRl LCBhbmQgcmF0aGVyIHdlIGp1c3QgbmVlZCB0byBwYXNzIGluIHRoZSB0cmFuc2NvZGVyLiBUaGF0 CndvdWxkIG1lYW4gd2UgaGF2ZSB0byBkZXRlcm1pbmUgdGhlIGNvcnJlY3QgdHJhbnNjb2RlciBo ZXJlLiBQZXJoYXBzCmEgYmV0dGVyIGFsdGVybmF0aXZlIHdvdWxkIGJlIHRvIHBhc3MgaW4gcGlw ZS9jcnRjICsgcG9ydCBhbmQgbGV0IHRoZQpmdW5jdGlvbiBkZXJpdmUgdGhlIHRyYW5zY29kZXIg aXRzZWxmLiBUaGF0IHdvdWxkIGtlZXAgdGhlCnBpcGUrcG9ydC0+dHJhbnNjb2RlciBsb2dpYyBp biBvbmUgcGxhY2UuIEFjdHVhbGx5IHdlIGhhdmUgdGhhdCBsb2dpYwppbiB0d28gcGxhY2VzIGF0 IGxlYXN0IGFscmVhZHkgKGludGVsX2RkaV9jb21wdXRlX2NvbmZpZygpIGFuZAppbnRlbF9kZGlf Y29ubmVjdG9yX2dldF9od19zdGF0ZSgpKS4gV2UgY291bGQgZXh0cmFjdCB0aGF0IGJpdCBpbnRv CmEgc21hbGwgaGVscGVyIHRoYXQgZ2V0cyBjYWxsZWQgYnkgYWxsIHRocmVlIHBsYWNlcy4KCj4g Cj4gTWFuYXNpCj4gCj4gPiArCWRybV9tb2Rlc2V0X3VubG9jaygmY3J0Yy0+YmFzZS5tdXRleCk7 Cj4gPiArCj4gPiArCXJldHVybiAwOwo+ID4gK30KPiA+ICsKPiA+ICtzdGF0aWMgc3NpemVfdCBp OTE1X2RzY19zdXBwb3J0X3dyaXRlKHN0cnVjdCBmaWxlICpmaWxlLAo+ID4gKwkJCQkgICAgICBj b25zdCBjaGFyIF9fdXNlciAqdWJ1ZiwKPiA+ICsJCQkJICAgICAgc2l6ZV90IGxlbiwgbG9mZl90 ICpvZmZwKQo+ID4gK3sKPiA+ICsJYm9vbCBkc2NfZW5hYmxlID0gZmFsc2U7Cj4gPiArCWludCBy ZXQ7Cj4gPiArCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IgPQo+ID4gKwkJKChzdHJ1 Y3Qgc2VxX2ZpbGUgKilmaWxlLT5wcml2YXRlX2RhdGEpLT5wcml2YXRlOwo+ID4gKwlzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqZW5jb2RlciA9IGludGVsX2F0dGFjaGVkX2VuY29kZXIoY29ubmVjdG9y KTsKPiA+ICsJc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9IGVuY190b19pbnRlbF9kcCgmZW5j b2Rlci0+YmFzZSk7Cj4gPiArCj4gPiArCWlmIChsZW4gPT0gMCkKPiA+ICsJCXJldHVybiAwOwo+ ID4gKwo+ID4gKwlEUk1fREVCVUdfRFJJVkVSKCJDb3BpZWQgJWQgYnl0ZXMgZnJvbSB1c2VyIHRv IGZvcmNlIERTQ1xuIiwKPiA+ICsJCQkgKHVuc2lnbmVkIGludClsZW4pOwo+ID4gKwo+ID4gKwly ZXQgPSBrc3RydG9ib29sX2Zyb21fdXNlcih1YnVmLCBsZW4sICZkc2NfZW5hYmxlKTsKPiA+ICsJ aWYgKHJldCA8IDApCj4gPiArCQlyZXR1cm4gcmV0Owo+ID4gKwo+ID4gKwlEUk1fREVCVUdfRFJJ VkVSKCJHb3QgJXMgZm9yIERTQyBFbmFibGVcbiIsCj4gPiArCQkJIChkc2NfZW5hYmxlKSA/ICJ0 cnVlIiA6ICJmYWxzZSIpOwo+ID4gKwlpbnRlbF9kcC0+Zm9yY2VfZHNjX2VuID0gZHNjX2VuYWJs ZTsKPiA+ICsKPiA+ICsJKm9mZnAgKz0gbGVuOwo+ID4gKwlyZXR1cm4gbGVuOwo+ID4gK30KPiA+ ICsKPiA+ICtzdGF0aWMgaW50IGk5MTVfZHNjX3N1cHBvcnRfb3BlbihzdHJ1Y3QgaW5vZGUgKmlu b2RlLAo+ID4gKwkJCQkgc3RydWN0IGZpbGUgKmZpbGUpCj4gPiArewo+ID4gKwlyZXR1cm4gc2lu Z2xlX29wZW4oZmlsZSwgaTkxNV9kc2Nfc3VwcG9ydF9zaG93LAo+ID4gKwkJCSAgIGlub2RlLT5p X3ByaXZhdGUpOwo+ID4gK30KPiA+ICsKPiA+ICtzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3Bl cmF0aW9ucyBpOTE1X2RzY19zdXBwb3J0X2ZvcHMgPSB7Cj4gPiArCS5vd25lciA9IFRISVNfTU9E VUxFLAo+ID4gKwkub3BlbiA9IGk5MTVfZHNjX3N1cHBvcnRfb3BlbiwKPiA+ICsJLnJlYWQgPSBz ZXFfcmVhZCwKPiA+ICsJLmxsc2VlayA9IHNlcV9sc2VlaywKPiA+ICsJLnJlbGVhc2UgPSBzaW5n bGVfcmVsZWFzZSwKPiA+ICsJLndyaXRlID0gaTkxNV9kc2Nfc3VwcG9ydF93cml0ZQo+ID4gK307 Cj4gPiArCj4gPiAgLyoqCj4gPiAgICogaTkxNV9kZWJ1Z2ZzX2Nvbm5lY3Rvcl9hZGQgLSBhZGQg aTkxNSBzcGVjaWZpYyBjb25uZWN0b3IgZGVidWdmcyBmaWxlcwo+ID4gICAqIEBjb25uZWN0b3I6 IHBvaW50ZXIgdG8gYSByZWdpc3RlcmVkIGRybV9jb25uZWN0b3IKPiA+IEBAIC01MDg2LDYgKzUx NTYsNyBAQCBERUZJTkVfU0hPV19BVFRSSUJVVEUoaTkxNV9oZGNwX3NpbmtfY2FwYWJpbGl0eSk7 Cj4gPiAgaW50IGk5MTVfZGVidWdmc19jb25uZWN0b3JfYWRkKHN0cnVjdCBkcm1fY29ubmVjdG9y ICpjb25uZWN0b3IpCj4gPiAgewo+ID4gIAlzdHJ1Y3QgZGVudHJ5ICpyb290ID0gY29ubmVjdG9y LT5kZWJ1Z2ZzX2VudHJ5Owo+ID4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYg PSB0b19pOTE1KGNvbm5lY3Rvci0+ZGV2KTsKPiA+ICAKPiA+ICAJLyogVGhlIGNvbm5lY3RvciBt dXN0IGhhdmUgYmVlbiByZWdpc3RlcmVkIGJlZm9yZWhhbmRzLiAqLwo+ID4gIAlpZiAoIXJvb3Qp Cj4gPiBAQCAtNTExMCw1ICs1MTgxLDExIEBAIGludCBpOTE1X2RlYnVnZnNfY29ubmVjdG9yX2Fk ZChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ID4gIAkJCQkgICAgY29ubmVjdG9y LCAmaTkxNV9oZGNwX3NpbmtfY2FwYWJpbGl0eV9mb3BzKTsKPiA+ICAJfQo+ID4gIAo+ID4gKwlp ZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSAxMCAmJgo+ID4gKwkgICAgKGNvbm5lY3Rvci0+Y29u bmVjdG9yX3R5cGUgPT0gRFJNX01PREVfQ09OTkVDVE9SX0Rpc3BsYXlQb3J0IHx8Cj4gPiArCSAg ICAgY29ubmVjdG9yLT5jb25uZWN0b3JfdHlwZSA9PSBEUk1fTU9ERV9DT05ORUNUT1JfZURQKSkK PiA+ICsJCWRlYnVnZnNfY3JlYXRlX2ZpbGUoImk5MTVfZHNjX3N1cHBvcnQiLCBTX0lSVUdPLCBy b290LAo+ID4gKwkJCQkgICAgY29ubmVjdG9yLCAmaTkxNV9kc2Nfc3VwcG9ydF9mb3BzKTsKPiA+ ICsKPiA+ICAJcmV0dXJuIDA7Cj4gPiAgfQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2RwLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gPiBp bmRleCBiNDNhNzdiZjQyZGYuLjk5ZTBkZDBlMzJkNiAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RwLmMKPiA+IEBAIC0yMDQyLDcgKzIwNDIsNyBAQCBpbnRlbF9kcF9jb21wdXRlX2xpbmtf Y29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ID4gIAkJCQkJCQkmbGltaXRz KTsKPiA+ICAKPiA+ICAJLyogZW5hYmxlIGNvbXByZXNzaW9uIGlmIHRoZSBtb2RlIGRvZXNuJ3Qg Zml0IGF2YWlsYWJsZSBCVyAqLwo+ID4gLQlpZiAoIXJldCkgewo+ID4gKwlpZiAoIXJldCB8fCBp bnRlbF9kcC0+Zm9yY2VfZHNjX2VuKSB7Cj4gPiAgCQlpZiAoIWludGVsX2RwX2RzY19jb21wdXRl X2NvbmZpZyhpbnRlbF9kcCwgcGlwZV9jb25maWcsCj4gPiAgCQkJCQkJIGNvbm5fc3RhdGUsICZs aW1pdHMpKQo+ID4gIAkJCXJldHVybiBmYWxzZTsKPiA+IEBAIC0yMTM1LDYgKzIxMzUsNyBAQCBp bnRlbF9kcF9jb21wdXRlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiA+ ICAJaWYgKGFkanVzdGVkX21vZGUtPmZsYWdzICYgRFJNX01PREVfRkxBR19EQkxDTEspCj4gPiAg CQlyZXR1cm4gZmFsc2U7Cj4gPiAgCj4gPiArCURSTV9ERUJVR19LTVMoIkZvcmNlIERTQyBlbiA9 ICVkXG4iLCBpbnRlbF9kcC0+Zm9yY2VfZHNjX2VuKTsKPiA+ICAJaWYgKCFpbnRlbF9kcF9jb21w dXRlX2xpbmtfY29uZmlnKGVuY29kZXIsIHBpcGVfY29uZmlnLCBjb25uX3N0YXRlKSkKPiA+ICAJ CXJldHVybiBmYWxzZTsKPiA+ICAKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gPiBpbmRl eCA5MmU5ODdmYzNkOWYuLjllZWIwODE0MjMyNyAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcnYuaAo+ID4gQEAgLTEyMDAsNiArMTIwMCw5IEBAIHN0cnVjdCBpbnRlbF9kcCB7Cj4gPiAg Cj4gPiAgCS8qIERpc3BsYXlwb3J0IGNvbXBsaWFuY2UgdGVzdGluZyAqLwo+ID4gIAlzdHJ1Y3Qg aW50ZWxfZHBfY29tcGxpYW5jZSBjb21wbGlhbmNlOwo+ID4gKwo+ID4gKwkvKiBEaXNwbGF5IHN0 cmVhbSBjb21wcmVzc2lvbiB0ZXN0aW5nICovCj4gPiArCWJvb2wgZm9yY2VfZHNjX2VuOwo+ID4g IH07Cj4gPiAgCj4gPiAgZW51bSBsc3Bjb25fdmVuZG9yIHsKPiA+IC0tIAo+ID4gMi4xOS4xCj4g PiAKCi0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vaW50ZWwtZ2Z4Cg==