From mboxrd@z Thu Jan 1 00:00:00 1970 From: Archit Taneja Subject: Re: [PATCH v5 10/36] drm/bridge: analogix_dp: Retry bridge enable when it failed Date: Wed, 14 Mar 2018 11:37:36 +0530 Message-ID: <1c2ca228-4f3b-d582-6258-8608c7f731f1@codeaurora.org> References: <20180309222327.18689-1-enric.balletbo@collabora.com> <20180309222327.18689-11-enric.balletbo@collabora.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180309222327.18689-11-enric.balletbo@collabora.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Enric Balletbo i Serra , inki.dae@samsung.com, thierry.reding@gmail.com, hjc@rock-chips.com, seanpaul@chromium.org, airlied@linux.ie, tfiga@chromium.org, heiko@sntech.de Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Laurent.pinchart@ideasonboard.com, ykk@rock-chips.com, kernel@collabora.com, m.szyprowski@samsung.com, linux-samsung-soc@vger.kernel.org, rydberg@bitmath.org, krzk@kernel.org, linux-rockchip@lists.infradead.org, kgene@kernel.org, linux-input@vger.kernel.org, orjan.eide@arm.com, wxt@rock-chips.com, jeffy.chen@rock-chips.com, =?UTF-8?Q?St=c3=a9phane_Marchesin?= , linux-arm-kernel@lists.infradead.org, mark.yao@rock-chips.com, wzz@rock-chips.com, hl@rock-chips.com, jingoohan1@gmail.com, sw0312.kim@samsung.com, dianders@chromium.org, kyungmin.park@samsung.com, kuankuan.y@gmail.com, hshi@chromium.org List-Id: linux-input@vger.kernel.org CgpPbiBTYXR1cmRheSAxMCBNYXJjaCAyMDE4IDAzOjUzIEFNLCBFbnJpYyBCYWxsZXRibyBpIFNl cnJhIHdyb3RlOgo+IEZyb206IHphaW4gd2FuZyA8d3p6QHJvY2stY2hpcHMuY29tPgo+IAo+IFdo ZW4gd2UgZW5hYmxlIGJyaWRnZSBmYWlsZWQsIHdlIGhhdmUgdG8gcmV0cnkgaXQsIG90aGVyd2lz ZSB3ZSB3b3VsZCBnZXQKPiB0aGUgYWJub3JtYWwgZGlzcGxheS4KPiAKClJldmlld2VkLWJ5OiBB cmNoaXQgVGFuZWphIDxhcmNoaXR0QGNvZGVhdXJvcmEub3JnPgoKVGhhbmtzLApBcmNoaXQKCj4g Q2M6IFN0w6lwaGFuZSBNYXJjaGVzaW4gPG1hcmNoZXVAY2hyb21pdW0ub3JnPgo+IFNpZ25lZC1v ZmYtYnk6IHphaW4gd2FuZyA8d3p6QHJvY2stY2hpcHMuY29tPgo+IFNpZ25lZC1vZmYtYnk6IFNl YW4gUGF1bCA8c2VhbnBhdWxAY2hyb21pdW0ub3JnPgo+IFNpZ25lZC1vZmYtYnk6IFRoaWVycnkg RXNjYW5kZSA8dGhpZXJyeS5lc2NhbmRlQGNvbGxhYm9yYS5jb20+Cj4gUmV2aWV3ZWQtYnk6IEFu ZHJ6ZWogSGFqZGEgPGEuaGFqZGFAc2Ftc3VuZy5jb20+Cj4gU2lnbmVkLW9mZi1ieTogRW5yaWMg QmFsbGV0Ym8gaSBTZXJyYSA8ZW5yaWMuYmFsbGV0Ym9AY29sbGFib3JhLmNvbT4KPiBUZXN0ZWQt Ynk6IE1hcmVrIFN6eXByb3dza2kgPG0uc3p5cHJvd3NraUBzYW1zdW5nLmNvbT4KPiAtLS0KPiAK PiAgIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYW5hbG9naXgvYW5hbG9naXhfZHBfY29yZS5jIHwg NjUgKysrKysrKysrKysrKysrKystLS0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hbmFs b2dpeC9hbmFsb2dpeF9kcF9jb3JlLmggfCAgMyArLQo+ICAgZHJpdmVycy9ncHUvZHJtL2JyaWRn ZS9hbmFsb2dpeC9hbmFsb2dpeF9kcF9yZWcuYyAgfCAgNSArLQo+ICAgMyBmaWxlcyBjaGFuZ2Vk LCA1NiBpbnNlcnRpb25zKCspLCAxNyBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2JyaWRnZS9hbmFsb2dpeC9hbmFsb2dpeF9kcF9jb3JlLmMgYi9kcml2ZXJz L2dwdS9kcm0vYnJpZGdlL2FuYWxvZ2l4L2FuYWxvZ2l4X2RwX2NvcmUuYwo+IGluZGV4IGVhN2E4 MGE5ODljNi4uYzgxNzMzYjgxODVlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlk Z2UvYW5hbG9naXgvYW5hbG9naXhfZHBfY29yZS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2Jy aWRnZS9hbmFsb2dpeC9hbmFsb2dpeF9kcF9jb3JlLmMKPiBAQCAtNDMsOCArNDMsMTAgQEAgc3Ry dWN0IGJyaWRnZV9pbml0IHsKPiAgIAlzdHJ1Y3QgZGV2aWNlX25vZGUgKm5vZGU7Cj4gICB9Owo+ ICAgCj4gLXN0YXRpYyB2b2lkIGFuYWxvZ2l4X2RwX2luaXRfZHAoc3RydWN0IGFuYWxvZ2l4X2Rw X2RldmljZSAqZHApCj4gK3N0YXRpYyBpbnQgYW5hbG9naXhfZHBfaW5pdF9kcChzdHJ1Y3QgYW5h bG9naXhfZHBfZGV2aWNlICpkcCkKPiAgIHsKPiArCWludCByZXQ7Cj4gKwo+ICAgCWFuYWxvZ2l4 X2RwX3Jlc2V0KGRwKTsKPiAgIAo+ICAgCWFuYWxvZ2l4X2RwX3N3cmVzZXQoZHApOwo+IEBAIC01 NiwxMCArNTgsMTMgQEAgc3RhdGljIHZvaWQgYW5hbG9naXhfZHBfaW5pdF9kcChzdHJ1Y3QgYW5h bG9naXhfZHBfZGV2aWNlICpkcCkKPiAgIAlhbmFsb2dpeF9kcF9lbmFibGVfc3dfZnVuY3Rpb24o ZHApOwo+ICAgCj4gICAJYW5hbG9naXhfZHBfY29uZmlnX2ludGVycnVwdChkcCk7Cj4gLQlhbmFs b2dpeF9kcF9pbml0X2FuYWxvZ19mdW5jKGRwKTsKPiArCXJldCA9IGFuYWxvZ2l4X2RwX2luaXRf YW5hbG9nX2Z1bmMoZHApOwo+ICsJaWYgKHJldCkKPiArCQlyZXR1cm4gcmV0Owo+ICAgCj4gICAJ YW5hbG9naXhfZHBfaW5pdF9ocGQoZHApOwo+ICAgCWFuYWxvZ2l4X2RwX2luaXRfYXV4KGRwKTsK PiArCXJldHVybiAwOwo+ICAgfQo+ICAgCj4gICBzdGF0aWMgaW50IGFuYWxvZ2l4X2RwX2RldGVj dF9ocGQoc3RydWN0IGFuYWxvZ2l4X2RwX2RldmljZSAqZHApCj4gQEAgLTkxOCw3ICs5MjMsNyBA QCBzdGF0aWMgaXJxcmV0dXJuX3QgYW5hbG9naXhfZHBfaXJxX3RocmVhZChpbnQgaXJxLCB2b2lk ICphcmcpCj4gICAJcmV0dXJuIElSUV9IQU5ETEVEOwo+ICAgfQo+ICAgCj4gLXN0YXRpYyB2b2lk IGFuYWxvZ2l4X2RwX2NvbW1pdChzdHJ1Y3QgYW5hbG9naXhfZHBfZGV2aWNlICpkcCkKPiArc3Rh dGljIGludCBhbmFsb2dpeF9kcF9jb21taXQoc3RydWN0IGFuYWxvZ2l4X2RwX2RldmljZSAqZHAp Cj4gICB7Cj4gICAJaW50IHJldDsKPiAgIAo+IEBAIC05MjgsMTEgKzkzMywxMCBAQCBzdGF0aWMg dm9pZCBhbmFsb2dpeF9kcF9jb21taXQoc3RydWN0IGFuYWxvZ2l4X2RwX2RldmljZSAqZHApCj4g ICAJCQlEUk1fRVJST1IoImZhaWxlZCB0byBkaXNhYmxlIHRoZSBwYW5lbFxuIik7Cj4gICAJfQo+ ICAgCj4gLQlyZXQgPSByZWFkeF9wb2xsX3RpbWVvdXQoYW5hbG9naXhfZHBfdHJhaW5fbGluaywg ZHAsIHJldCwgIXJldCwgMTAwLAo+IC0JCQkJIERQX1RJTUVPVVRfVFJBSU5JTkdfVVMgKiA1KTsK PiArCXJldCA9IGFuYWxvZ2l4X2RwX3RyYWluX2xpbmsoZHApOwo+ICAgCWlmIChyZXQpIHsKPiAg IAkJZGV2X2VycihkcC0+ZGV2LCAidW5hYmxlIHRvIGRvIGxpbmsgdHJhaW4sIHJldD0lZFxuIiwg cmV0KTsKPiAtCQlyZXR1cm47Cj4gKwkJcmV0dXJuIHJldDsKPiAgIAl9Cj4gICAKPiAgIAlhbmFs b2dpeF9kcF9lbmFibGVfc2NyYW1ibGUoZHAsIDEpOwo+IEBAIC05NTMsNiArOTU3LDcgQEAgc3Rh dGljIHZvaWQgYW5hbG9naXhfZHBfY29tbWl0KHN0cnVjdCBhbmFsb2dpeF9kcF9kZXZpY2UgKmRw KQo+ICAgCWRwLT5wc3JfZW5hYmxlID0gYW5hbG9naXhfZHBfZGV0ZWN0X3NpbmtfcHNyKGRwKTsK PiAgIAlpZiAoZHAtPnBzcl9lbmFibGUpCj4gICAJCWFuYWxvZ2l4X2RwX2VuYWJsZV9zaW5rX3Bz cihkcCk7Cj4gKwlyZXR1cm4gMDsKPiAgIH0KPiAgIAo+ICAgLyoKPiBAQCAtMTE0OSwxMiArMTE1 NCw5IEBAIHN0YXRpYyB2b2lkIGFuYWxvZ2l4X2RwX2JyaWRnZV9wcmVfZW5hYmxlKHN0cnVjdCBk cm1fYnJpZGdlICpicmlkZ2UpCj4gICAJCURSTV9FUlJPUigiZmFpbGVkIHRvIHNldHVwIHRoZSBw YW5lbCByZXQgPSAlZFxuIiwgcmV0KTsKPiAgIH0KPiAgIAo+IC1zdGF0aWMgdm9pZCBhbmFsb2dp eF9kcF9icmlkZ2VfZW5hYmxlKHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UpCj4gK3N0YXRpYyBp bnQgYW5hbG9naXhfZHBfc2V0X2JyaWRnZShzdHJ1Y3QgYW5hbG9naXhfZHBfZGV2aWNlICpkcCkK PiAgIHsKPiAtCXN0cnVjdCBhbmFsb2dpeF9kcF9kZXZpY2UgKmRwID0gYnJpZGdlLT5kcml2ZXJf cHJpdmF0ZTsKPiAtCj4gLQlpZiAoZHAtPmRwbXNfbW9kZSA9PSBEUk1fTU9ERV9EUE1TX09OKQo+ IC0JCXJldHVybjsKPiArCWludCByZXQ7Cj4gICAKPiAgIAlwbV9ydW50aW1lX2dldF9zeW5jKGRw LT5kZXYpOwo+ICAgCj4gQEAgLTExNjIsMTEgKzExNjQsNDYgQEAgc3RhdGljIHZvaWQgYW5hbG9n aXhfZHBfYnJpZGdlX2VuYWJsZShzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlKQo+ICAgCQlkcC0+ cGxhdF9kYXRhLT5wb3dlcl9vbihkcC0+cGxhdF9kYXRhKTsKPiAgIAo+ICAgCXBoeV9wb3dlcl9v bihkcC0+cGh5KTsKPiAtCWFuYWxvZ2l4X2RwX2luaXRfZHAoZHApOwo+ICsKPiArCXJldCA9IGFu YWxvZ2l4X2RwX2luaXRfZHAoZHApOwo+ICsJaWYgKHJldCkKPiArCQlnb3RvIG91dF9kcF9pbml0 Owo+ICsKPiArCXJldCA9IGFuYWxvZ2l4X2RwX2NvbW1pdChkcCk7Cj4gKwlpZiAocmV0KQo+ICsJ CWdvdG8gb3V0X2RwX2luaXQ7Cj4gKwo+ICAgCWVuYWJsZV9pcnEoZHAtPmlycSk7Cj4gLQlhbmFs b2dpeF9kcF9jb21taXQoZHApOwo+ICsJcmV0dXJuIDA7Cj4gICAKPiAtCWRwLT5kcG1zX21vZGUg PSBEUk1fTU9ERV9EUE1TX09OOwo+ICtvdXRfZHBfaW5pdDoKPiArCXBoeV9wb3dlcl9vZmYoZHAt PnBoeSk7Cj4gKwlpZiAoZHAtPnBsYXRfZGF0YS0+cG93ZXJfb2ZmKQo+ICsJCWRwLT5wbGF0X2Rh dGEtPnBvd2VyX29mZihkcC0+cGxhdF9kYXRhKTsKPiArCXBtX3J1bnRpbWVfcHV0X3N5bmMoZHAt PmRldik7Cj4gKwo+ICsJcmV0dXJuIHJldDsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQgYW5hbG9n aXhfZHBfYnJpZGdlX2VuYWJsZShzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlKQo+ICt7Cj4gKwlz dHJ1Y3QgYW5hbG9naXhfZHBfZGV2aWNlICpkcCA9IGJyaWRnZS0+ZHJpdmVyX3ByaXZhdGU7Cj4g KwlpbnQgdGltZW91dF9sb29wID0gMDsKPiArCj4gKwlpZiAoZHAtPmRwbXNfbW9kZSA9PSBEUk1f TU9ERV9EUE1TX09OKQo+ICsJCXJldHVybjsKPiArCj4gKwl3aGlsZSAodGltZW91dF9sb29wIDwg TUFYX1BMTF9MT0NLX0xPT1ApIHsKPiArCQlpZiAoYW5hbG9naXhfZHBfc2V0X2JyaWRnZShkcCkg PT0gMCkgewo+ICsJCQlkcC0+ZHBtc19tb2RlID0gRFJNX01PREVfRFBNU19PTjsKPiArCQkJcmV0 dXJuOwo+ICsJCX0KPiArCQlkZXZfZXJyKGRwLT5kZXYsICJmYWlsZWQgdG8gc2V0IGJyaWRnZSwg cmV0cnk6ICVkXG4iLAo+ICsJCQl0aW1lb3V0X2xvb3ApOwo+ICsJCXRpbWVvdXRfbG9vcCsrOwo+ ICsJCXVzbGVlcF9yYW5nZSgxMCwgMTEpOwo+ICsJfQo+ICsJZGV2X2VycihkcC0+ZGV2LCAidG9v IG1hbnkgdGltZXMgcmV0cnkgc2V0IGJyaWRnZSwgZ2l2ZSBpdCB1cFxuIik7Cj4gICB9Cj4gICAK PiAgIHN0YXRpYyB2b2lkIGFuYWxvZ2l4X2RwX2JyaWRnZV9kaXNhYmxlKHN0cnVjdCBkcm1fYnJp ZGdlICpicmlkZ2UpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYW5hbG9n aXgvYW5hbG9naXhfZHBfY29yZS5oIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hbmFsb2dpeC9h bmFsb2dpeF9kcF9jb3JlLmgKPiBpbmRleCA0MDNmZjg1MzQ2NGIuLjc2OTI1NWRjNmU5OSAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2FuYWxvZ2l4L2FuYWxvZ2l4X2RwX2Nv cmUuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYW5hbG9naXgvYW5hbG9naXhfZHBf Y29yZS5oCj4gQEAgLTE5LDYgKzE5LDcgQEAKPiAgICNkZWZpbmUgRFBfVElNRU9VVF9MT09QX0NP VU5UIDEwMAo+ICAgI2RlZmluZSBNQVhfQ1JfTE9PUCA1Cj4gICAjZGVmaW5lIE1BWF9FUV9MT09Q IDUKPiArI2RlZmluZSBNQVhfUExMX0xPQ0tfTE9PUCA1Cj4gICAKPiAgIC8qIFRyYWluaW5nIHRh a2VzIDIybXMgaWYgQVVYIGNoYW5uZWwgY29tbSBmYWlscy4gVXNlIHRoaXMgYXMgcmV0cnkgaW50 ZXJ2YWwgKi8KPiAgICNkZWZpbmUgRFBfVElNRU9VVF9UUkFJTklOR19VUwkJCTIyMDAwCj4gQEAg LTE5Nyw3ICsxOTgsNyBAQCB2b2lkIGFuYWxvZ2l4X2RwX3NldF9wbGxfcG93ZXJfZG93bihzdHJ1 Y3QgYW5hbG9naXhfZHBfZGV2aWNlICpkcCwgYm9vbCBlbmFibGUpOwo+ICAgdm9pZCBhbmFsb2dp eF9kcF9zZXRfYW5hbG9nX3Bvd2VyX2Rvd24oc3RydWN0IGFuYWxvZ2l4X2RwX2RldmljZSAqZHAs Cj4gICAJCQkJICAgICAgIGVudW0gYW5hbG9nX3Bvd2VyX2Jsb2NrIGJsb2NrLAo+ICAgCQkJCSAg ICAgICBib29sIGVuYWJsZSk7Cj4gLXZvaWQgYW5hbG9naXhfZHBfaW5pdF9hbmFsb2dfZnVuYyhz dHJ1Y3QgYW5hbG9naXhfZHBfZGV2aWNlICpkcCk7Cj4gK2ludCBhbmFsb2dpeF9kcF9pbml0X2Fu YWxvZ19mdW5jKHN0cnVjdCBhbmFsb2dpeF9kcF9kZXZpY2UgKmRwKTsKPiAgIHZvaWQgYW5hbG9n aXhfZHBfaW5pdF9ocGQoc3RydWN0IGFuYWxvZ2l4X2RwX2RldmljZSAqZHApOwo+ICAgdm9pZCBh bmFsb2dpeF9kcF9mb3JjZV9ocGQoc3RydWN0IGFuYWxvZ2l4X2RwX2RldmljZSAqZHApOwo+ICAg ZW51bSBkcF9pcnFfdHlwZSBhbmFsb2dpeF9kcF9nZXRfaXJxX3R5cGUoc3RydWN0IGFuYWxvZ2l4 X2RwX2RldmljZSAqZHApOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2Fu YWxvZ2l4L2FuYWxvZ2l4X2RwX3JlZy5jIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hbmFsb2dp eC9hbmFsb2dpeF9kcF9yZWcuYwo+IGluZGV4IGU3OGM4NjFiOWUwNi4uYjQ3YzVhZjQzNTYwIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYW5hbG9naXgvYW5hbG9naXhfZHBf cmVnLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2FuYWxvZ2l4L2FuYWxvZ2l4X2Rw X3JlZy5jCj4gQEAgLTMzMyw3ICszMzMsNyBAQCB2b2lkIGFuYWxvZ2l4X2RwX3NldF9hbmFsb2df cG93ZXJfZG93bihzdHJ1Y3QgYW5hbG9naXhfZHBfZGV2aWNlICpkcCwKPiAgIAl9Cj4gICB9Cj4g ICAKPiAtdm9pZCBhbmFsb2dpeF9kcF9pbml0X2FuYWxvZ19mdW5jKHN0cnVjdCBhbmFsb2dpeF9k cF9kZXZpY2UgKmRwKQo+ICtpbnQgYW5hbG9naXhfZHBfaW5pdF9hbmFsb2dfZnVuYyhzdHJ1Y3Qg YW5hbG9naXhfZHBfZGV2aWNlICpkcCkKPiAgIHsKPiAgIAl1MzIgcmVnOwo+ICAgCWludCB0aW1l b3V0X2xvb3AgPSAwOwo+IEBAIC0zNTUsNyArMzU1LDcgQEAgdm9pZCBhbmFsb2dpeF9kcF9pbml0 X2FuYWxvZ19mdW5jKHN0cnVjdCBhbmFsb2dpeF9kcF9kZXZpY2UgKmRwKQo+ICAgCQkJdGltZW91 dF9sb29wKys7Cj4gICAJCQlpZiAoRFBfVElNRU9VVF9MT09QX0NPVU5UIDwgdGltZW91dF9sb29w KSB7Cj4gICAJCQkJZGV2X2VycihkcC0+ZGV2LCAiZmFpbGVkIHRvIGdldCBwbGwgbG9jayBzdGF0 dXNcbiIpOwo+IC0JCQkJcmV0dXJuOwo+ICsJCQkJcmV0dXJuIC1FVElNRURPVVQ7Cj4gICAJCQl9 Cj4gICAJCQl1c2xlZXBfcmFuZ2UoMTAsIDIwKTsKPiAgIAkJfQo+IEBAIC0zNjYsNiArMzY2LDcg QEAgdm9pZCBhbmFsb2dpeF9kcF9pbml0X2FuYWxvZ19mdW5jKHN0cnVjdCBhbmFsb2dpeF9kcF9k ZXZpY2UgKmRwKQo+ICAgCXJlZyAmPSB+KFNFUkRFU19GSUZPX0ZVTkNfRU5fTiB8IExTX0NMS19E T01BSU5fRlVOQ19FTl9OCj4gICAJCXwgQVVYX0ZVTkNfRU5fTik7Cj4gICAJd3JpdGVsKHJlZywg ZHAtPnJlZ19iYXNlICsgQU5BTE9HSVhfRFBfRlVOQ19FTl8yKTsKPiArCXJldHVybiAwOwo+ICAg fQo+ICAgCj4gICB2b2lkIGFuYWxvZ2l4X2RwX2NsZWFyX2hvdHBsdWdfaW50ZXJydXB0cyhzdHJ1 Y3QgYW5hbG9naXhfZHBfZGV2aWNlICpkcCkKPiAKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vZHJpLWRldmVsCg==