From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 4/7] drm/i915/gen11: Program the scalers correctly for planar formats. Date: Fri, 21 Sep 2018 21:45:01 +0300 Message-ID: <20180921184501.GI5565@intel.com> References: <20180921173945.6276-1-maarten.lankhorst@linux.intel.com> <20180921173945.6276-5-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8DF436E029 for ; Fri, 21 Sep 2018 18:45:23 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20180921173945.6276-5-maarten.lankhorst@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: Maarten Lankhorst Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBTZXAgMjEsIDIwMTggYXQgMDc6Mzk6NDJQTSArMDIwMCwgTWFhcnRlbiBMYW5raG9y c3Qgd3JvdGU6Cj4gVGhlIGZpcnN0IDMgcGxhbmVzIChwcmltYXJ5LCBzcHJpdGUgMCBhbmQgMSkg aGF2ZSBhIGRlZGljYXRlZCBjaHJvbWEKPiB1cHNhbXBsZXIgdG8gdXBzY2FsZSBZVVY0MjAgdG8g WVVWNDQ0IGFuZCB0aGUgc2NhbGVyIHNob3VsZCBvbmx5IGJlCj4gdXNlZCBmb3IgdXBzY2FsaW5n LiBCZWNhdXNlIG9mIHRoaXMgd2Ugc2hvdWxkbid0IHByb2dyYW0gdGhlIHNjYWxlcnMKPiBpbiBw bGFuYXIgbW9kZSBpZiBOVjEyIGFuZCB0aGUgY2hyb21hIHVwc2FtcGxlciBhcmUgdXNlZC4gSW5z dGVhZAo+IHByb2dyYW0gdGhlIHNjYWxlcnMgbGlrZSBvbiBub3JtYWwgcGxhbmVzLgo+IAo+IFNw cml0ZSAyIGFuZCAzIGhhdmUgbm8gZGVkaWNhdGVkIHNjYWxlciwgYW5kIG5lZWQgdG8gcHJvZ3Jh bSB0aGUKPiBzZWxlY3RlZCBZIHBsYW5lIGluIHRoZSBzY2FsZXIgbW9kZS4KPiAKPiBTaWduZWQt b2ZmLWJ5OiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwu Y29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oICAgICAgfCAgMiAr Kwo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdG9taWMuYyAgfCAgNiArKysrKy0KPiAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgMzAgKysrKysrKysrKysrKysr Ky0tLS0tLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgfCAg OCArKysrKysrKwo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYyAgfCAgMyAr Ky0KPiAgNSBmaWxlcyBjaGFuZ2VkLCAzNCBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkK PiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiBpbmRleCBlN2U2Y2E3Zjk2NjUuLjFiNTlkMTVh YWY1OSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+IEBAIC02ODcyLDYgKzY4NzIsOCBA QCBlbnVtIHsKPiAgI2RlZmluZSBQU19WQURBUFRfTU9ERV9MRUFTVF9BREFQVCAoMCA8PCA1KQo+ ICAjZGVmaW5lIFBTX1ZBREFQVF9NT0RFX01PRF9BREFQVCAgICgxIDw8IDUpCj4gICNkZWZpbmUg UFNfVkFEQVBUX01PREVfTU9TVF9BREFQVCAgKDMgPDwgNSkKPiArI2RlZmluZSBQU19QTEFORV9Z X1NFTF9NQVNLICAoNyA8PCA1KQo+ICsjZGVmaW5lIFBTX1BMQU5FX1lfU0VMKHBsYW5lKSAoKChw bGFuZSkgKyAxKSA8PCA1KQo+ICAKPiAgI2RlZmluZSBfUFNfUFdSX0dBVEVfMUEgICAgIDB4Njgx NjAKPiAgI2RlZmluZSBfUFNfUFdSX0dBVEVfMkEgICAgIDB4NjgyNjAKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXRvbWljLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9hdG9taWMuYwo+IGluZGV4IDIwYmZjODljNjUyYy4uM2MyNDBhZDBhOGQzIDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F0b21pYy5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXRvbWljLmMKPiBAQCAtMjM1LDkgKzIzNSwxMyBAQCBz dGF0aWMgdm9pZCBpbnRlbF9hdG9taWNfc2V0dXBfc2NhbGVyKHN0cnVjdCBpbnRlbF9jcnRjX3Nj YWxlcl9zdGF0ZSAqc2NhbGVyX3N0YQo+ICAJCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID09IDkg JiYKPiAgCQkgICAgIUlTX0dFTUlOSUxBS0UoZGV2X3ByaXYpKQo+ICAJCQltb2RlID0gU0tMX1BT X1NDQUxFUl9NT0RFX05WMTI7Cj4gLQkJZWxzZQo+ICsJCWVsc2UgaWYgKCFpY2xfaXNfaGRyX3Bs YW5lKHRvX2ludGVsX3BsYW5lKHBsYW5lX3N0YXRlLT5iYXNlLnBsYW5lKSkpIHsKPiAgCQkJbW9k ZSA9IFBTX1NDQUxFUl9NT0RFX1BMQU5BUjsKPiAgCj4gKwkJCWlmIChwbGFuZV9zdGF0ZS0+bGlu a2VkX3BsYW5lKQo+ICsJCQkJbW9kZSB8PSBQU19QTEFORV9ZX1NFTChwbGFuZV9zdGF0ZS0+bGlu a2VkX3BsYW5lLT5pZCk7Cj4gKwkJfSBlbHNlCj4gKwkJCW1vZGUgPSBQU19TQ0FMRVJfTU9ERV9Q QUNLRUQ7Cj4gIAl9IGVsc2UgaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPiA5IHx8IElTX0dFTUlO SUxBS0UoZGV2X3ByaXYpKSB7Cj4gIAkJbW9kZSA9IFBTX1NDQUxFUl9NT0RFX1BBQ0tFRDsKPiAg CX0gZWxzZSBpZiAobnVtX3NjYWxlcnNfbmVlZCA9PSAxICYmIGludGVsX2NydGMtPm51bV9zY2Fs ZXJzID4gMSkgewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNw bGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBpbmRleCAxOWNk NmJiYjQzYzQuLmNlYTkxMjM1ZDQ5OCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kaXNwbGF5LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNw bGF5LmMKPiBAQCAtNDgzMyw4ICs0ODMzLDcgQEAgc3RhdGljIGludAo+ICBza2xfdXBkYXRlX3Nj YWxlcihzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwgYm9vbCBmb3JjZV9kZXRh Y2gsCj4gIAkJICB1bnNpZ25lZCBpbnQgc2NhbGVyX3VzZXIsIGludCAqc2NhbGVyX2lkLAo+ICAJ CSAgaW50IHNyY193LCBpbnQgc3JjX2gsIGludCBkc3RfdywgaW50IGRzdF9oLAo+IC0JCSAgYm9v bCBwbGFuZV9zY2FsZXJfY2hlY2ssCj4gLQkJICB1aW50MzJfdCBwaXhlbF9mb3JtYXQpCj4gKwkJ ICBjb25zdCBzdHJ1Y3QgZHJtX2Zvcm1hdF9pbmZvICpmb3JtYXQsIGJvb2wgbmVlZF9zY2FsaW5n KQo+ICB7Cj4gIAlzdHJ1Y3QgaW50ZWxfY3J0Y19zY2FsZXJfc3RhdGUgKnNjYWxlcl9zdGF0ZSA9 Cj4gIAkJJmNydGNfc3RhdGUtPnNjYWxlcl9zdGF0ZTsKPiBAQCAtNDg0MywxOCArNDg0MiwxNCBA QCBza2xfdXBkYXRlX3NjYWxlcihzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwg Ym9vbCBmb3JjZV9kZXRhY2gsCj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYg PSB0b19pOTE1KGludGVsX2NydGMtPmJhc2UuZGV2KTsKPiAgCWNvbnN0IHN0cnVjdCBkcm1fZGlz cGxheV9tb2RlICphZGp1c3RlZF9tb2RlID0KPiAgCQkmY3J0Y19zdGF0ZS0+YmFzZS5hZGp1c3Rl ZF9tb2RlOwo+IC0JaW50IG5lZWRfc2NhbGluZzsKPiAgCj4gIAkvKgo+ICAJICogU3JjIGNvb3Jk aW5hdGVzIGFyZSBhbHJlYWR5IHJvdGF0ZWQgYnkgMjcwIGRlZ3JlZXMgZm9yCj4gIAkgKiB0aGUg OTAvMjcwIGRlZ3JlZSBwbGFuZSByb3RhdGlvbiBjYXNlcyAodG8gbWF0Y2ggdGhlCj4gIAkgKiBH VFQgbWFwcGluZyksIGhlbmNlIG5vIG5lZWQgdG8gYWNjb3VudCBmb3Igcm90YXRpb24gaGVyZS4K PiAgCSAqLwo+IC0JbmVlZF9zY2FsaW5nID0gc3JjX3cgIT0gZHN0X3cgfHwgc3JjX2ggIT0gZHN0 X2g7Cj4gLQo+IC0JaWYgKHBsYW5lX3NjYWxlcl9jaGVjaykKPiAtCQlpZiAocGl4ZWxfZm9ybWF0 ID09IERSTV9GT1JNQVRfTlYxMikKPiAtCQkJbmVlZF9zY2FsaW5nID0gdHJ1ZTsKPiArCWlmIChz cmNfdyAhPSBkc3RfdyB8fCBzcmNfaCAhPSBkc3RfaCkKPiArCQluZWVkX3NjYWxpbmcgPSB0cnVl Owo+ICAKPiAgCWlmIChjcnRjX3N0YXRlLT55Y2JjcjQyMCAmJiBzY2FsZXJfdXNlciA9PSBTS0xf Q1JUQ19JTkRFWCkKPiAgCQluZWVkX3NjYWxpbmcgPSB0cnVlOwo+IEBAIC00ODk1LDcgKzQ4OTAs NyBAQCBza2xfdXBkYXRlX3NjYWxlcihzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0 ZSwgYm9vbCBmb3JjZV9kZXRhY2gsCj4gIAkJcmV0dXJuIDA7Cj4gIAl9Cj4gIAo+IC0JaWYgKHBs YW5lX3NjYWxlcl9jaGVjayAmJiBwaXhlbF9mb3JtYXQgPT0gRFJNX0ZPUk1BVF9OVjEyICYmCj4g KwlpZiAoZm9ybWF0ICYmIGZvcm1hdC0+Zm9ybWF0ID09IERSTV9GT1JNQVRfTlYxMiAmJgo+ICAJ ICAgIChzcmNfaCA8IFNLTF9NSU5fWVVWXzQyMF9TUkNfSCB8fCBzcmNfdyA8IFNLTF9NSU5fWVVW XzQyMF9TUkNfVykpIHsKPiAgCQlEUk1fREVCVUdfS01TKCJOVjEyOiBzcmMgZGltZW5zaW9ucyBu b3QgbWV0XG4iKTsKPiAgCQlyZXR1cm4gLUVJTlZBTDsKPiBAQCAtNDk0Myw3ICs0OTM4LDcgQEAg aW50IHNrbF91cGRhdGVfc2NhbGVyX2NydGMoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnN0YXRl KQo+ICAJCQkJICZzdGF0ZS0+c2NhbGVyX3N0YXRlLnNjYWxlcl9pZCwKPiAgCQkJCSBzdGF0ZS0+ cGlwZV9zcmNfdywgc3RhdGUtPnBpcGVfc3JjX2gsCj4gIAkJCQkgYWRqdXN0ZWRfbW9kZS0+Y3J0 Y19oZGlzcGxheSwKPiAtCQkJCSBhZGp1c3RlZF9tb2RlLT5jcnRjX3ZkaXNwbGF5LCBmYWxzZSwg MCk7Cj4gKwkJCQkgYWRqdXN0ZWRfbW9kZS0+Y3J0Y192ZGlzcGxheSwgTlVMTCwgMCk7Cj4gIH0K PiAgCj4gIC8qKgo+IEBAIC00OTU4LDEzICs0OTUzLDIyIEBAIGludCBza2xfdXBkYXRlX3NjYWxl cl9jcnRjKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpzdGF0ZSkKPiAgc3RhdGljIGludCBza2xf dXBkYXRlX3NjYWxlcl9wbGFuZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwK PiAgCQkJCSAgIHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGUpCj4gIHsKPiAt Cj4gIAlzdHJ1Y3QgaW50ZWxfcGxhbmUgKmludGVsX3BsYW5lID0KPiAgCQl0b19pbnRlbF9wbGFu ZShwbGFuZV9zdGF0ZS0+YmFzZS5wbGFuZSk7Cj4gIAlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpm YiA9IHBsYW5lX3N0YXRlLT5iYXNlLmZiOwo+ICAJaW50IHJldDsKPiAtCj4gIAlib29sIGZvcmNl X2RldGFjaCA9ICFmYiB8fCAhcGxhbmVfc3RhdGUtPmJhc2UudmlzaWJsZTsKPiArCWJvb2wgbmVl ZF9zY2FsaW5nID0gZmFsc2U7Cj4gKwo+ICsJaWYgKGZiICYmIGZiLT5mb3JtYXQtPmZvcm1hdCA9 PSBEUk1fRk9STUFUX05WMTIpIHsKPiArCQkvKgo+ICsJCSAqIEdlbjEwLSBhbmQgc3ByaXRlIDIg YW5kIDMgYWx3YXlzIG5lZWQgdGhlIHNjYWxlci4KClRoaXMgcGFydCBvZiB0aGUgY29tbWVudCBp cyByYXRoZXIgbW9yZSBjb25mdXNpbmcgdGhhbiBoZWxwZnVsIEkgdGhpbmsuClRoZSByZXN0IHNl ZW1zIGNsZWFyIGVub3VnaCBzbyBtYXliZSBqdXN0IGRyb3AgdGhpcyBzZW50ZW5jZT8KCj4gKwkJ ICogT24gZ2VuMTEgd2UgdXNlIHRoZSBjaHJvbWEgdXBzYW1wbGVyIHdoZW4gYXZhaWxhYmxlLAo+ ICsJCSAqIGFuZCBvbmx5IHVzZSB0aGUgc2NhbGVyIGZvciBub3JtYWwgc2NhbGluZy4KPiArCQkg Ki8KPiArCQlpZiAoIWljbF9pc19oZHJfcGxhbmUoaW50ZWxfcGxhbmUpKQo+ICsJCQluZWVkX3Nj YWxpbmcgPSB0cnVlOwo+ICsJfQo+ICAKPiAgCXJldCA9IHNrbF91cGRhdGVfc2NhbGVyKGNydGNf c3RhdGUsIGZvcmNlX2RldGFjaCwKPiAgCQkJCWRybV9wbGFuZV9pbmRleCgmaW50ZWxfcGxhbmUt PmJhc2UpLAo+IEBAIC00OTczLDcgKzQ5NzcsNyBAQCBzdGF0aWMgaW50IHNrbF91cGRhdGVfc2Nh bGVyX3BsYW5lKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+ICAJCQkJZHJt X3JlY3RfaGVpZ2h0KCZwbGFuZV9zdGF0ZS0+YmFzZS5zcmMpID4+IDE2LAo+ICAJCQkJZHJtX3Jl Y3Rfd2lkdGgoJnBsYW5lX3N0YXRlLT5iYXNlLmRzdCksCj4gIAkJCQlkcm1fcmVjdF9oZWlnaHQo JnBsYW5lX3N0YXRlLT5iYXNlLmRzdCksCj4gLQkJCQlmYiA/IHRydWUgOiBmYWxzZSwgZmIgPyBm Yi0+Zm9ybWF0LT5mb3JtYXQgOiAwKTsKPiArCQkJCWZiID8gZmItPmZvcm1hdCA6IE5VTEwsIG5l ZWRfc2NhbGluZyk7Cj4gIAo+ICAJaWYgKHJldCB8fCBwbGFuZV9zdGF0ZS0+c2NhbGVyX2lkIDwg MCkKPiAgCQlyZXR1cm4gcmV0Owo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gaW5kZXggMjlj N2E0YmI0ODRkLi4yNWJlMjM0MTQ5MTMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ IEBAIC0yMTk2LDYgKzIxOTYsMTQgQEAgc3RhdGljIGlubGluZSBib29sIGljbF9pc19udjEyX3lf cGxhbmUoZW51bSBwbGFuZV9pZCBpZCkKPiAgCXJldHVybiBmYWxzZTsKPiAgfQo+ICAKPiArc3Rh dGljIGlubGluZSBib29sIGljbF9pc19oZHJfcGxhbmUoc3RydWN0IGludGVsX3BsYW5lICpwbGFu ZSkKPiArewo+ICsJaWYgKElOVEVMX0dFTih0b19pOTE1KHBsYW5lLT5iYXNlLmRldikpIDwgMTEp Cj4gKwkJcmV0dXJuIGZhbHNlOwo+ICsKPiArCXJldHVybiBwbGFuZS0+aWQgPCBQTEFORV9TUFJJ VEUyOwo+ICt9Cj4gKwo+ICAvKiBpbnRlbF90di5jICovCj4gIHZvaWQgaW50ZWxfdHZfaW5pdChz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9zcHJpdGUuYwo+IGluZGV4IDQ2YzYzMzZjYjg1OC4uMTExZDcyYTVkNWEwIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKPiBAQCAtMzEwLDcgKzMxMCw4IEBAIHNrbF9w cm9ncmFtX3NjYWxlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAljcnRj X2gtLTsKPiAgCj4gIAkvKiBUT0RPOiBoYW5kbGUgc3ViLXBpeGVsIGNvb3JkaW5hdGVzICovCj4g LQlpZiAocGxhbmVfc3RhdGUtPmJhc2UuZmItPmZvcm1hdC0+Zm9ybWF0ID09IERSTV9GT1JNQVRf TlYxMikgewo+ICsJaWYgKHBsYW5lX3N0YXRlLT5iYXNlLmZiLT5mb3JtYXQtPmZvcm1hdCA9PSBE Uk1fRk9STUFUX05WMTIgJiYKPiArCSAgICAhaWNsX2lzX2hkcl9wbGFuZShwbGFuZSkpIHsKPiAg CQl5X2hwaGFzZSA9IHNrbF9zY2FsZXJfY2FsY19waGFzZSgxLCBmYWxzZSk7Cj4gIAkJeV92cGhh c2UgPSBza2xfc2NhbGVyX2NhbGNfcGhhc2UoMSwgZmFsc2UpOwo+ICAKPiAtLSAKPiAyLjE4LjAK PiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IElu dGVsLWdmeCBtYWlsaW5nIGxpc3QKPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4g aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK Ci0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vaW50ZWwtZ2Z4Cg==