From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Kahola Subject: Re: [PATCH 5/8] drm/i915: Add CCS capability for sprites Date: Wed, 27 Dec 2017 13:10:04 +0200 Message-ID: <1514373004.12453.5.camel@intel.com> References: <20171222192231.17981-1-ville.syrjala@linux.intel.com> <20171222192231.17981-6-ville.syrjala@linux.intel.com> Reply-To: mika.kahola@intel.com Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 77933894E0 for ; Wed, 27 Dec 2017 11:09:27 +0000 (UTC) In-Reply-To: <20171222192231.17981-6-ville.syrjala@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: Ville Syrjala , intel-gfx@lists.freedesktop.org Cc: Ben Widawsky , Daniel Stone List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCAyMDE3LTEyLTIyIGF0IDIxOjIyICswMjAwLCBWaWxsZSBTeXJqYWxhIHdyb3RlOgo+ IEZyb206IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4g Cj4gQWxsb3cgc3ByaXRlcyB0byBzY2FuIG91dCBjb21wcmVzc2VkIGZyYW1lYnVmZmVycy4KPiAK PiBTaW5jZSBkaWZmZXJlbnQgcGxhdGZvcm1zIGhhdmUgYSBkaWZmZXJlbnQgc2V0IG9mIHBsYW5l cyB0aGF0Cj4gc3VwcG9ydCBDQ1MgbGV0J3MgYWRkIGEgc21hbGwgaGVscGVyIHRvIGRldGVybWlu ZSB3aGV0aGVyIGEKPiBzcGVjaWZpYyBwbGFuZSBzdXBwb3J0cyBDQ1Mgb3Igbm90LiBDdXJyZW50 bHkgdGhhdCBpbmZvcm1hdGlvbgo+IGlzIHNwcmVhZCBhcm91bmQgaW4gbWFueSBwbGFjZXMsIGFu ZCBub3QgYWxsIHRoZSBwaWVjZXMgb2YKPiBjb2RlIGV2ZW4gYWdyZWUgd2l0aCBlYWNoIG90aGVy Lgo+IAo+IEluIGFkZGl0aW9uIHRvIGFsbG93aW5nIHNwcml0ZXMgdG8gc2NhbiBvdXQgY29tcHJl c3NlZCBmYnMsCj4gdGhlIG90aGVyIGZpeCBoZXJlIGlzIHRoYXQgd2Ugc3RvcCByZWplY3Rpbmcg dGhlbSBvbiBwaXBlIEMKPiBvbiBDTkwuCj4gCj4gQ2M6IEJlbiBXaWRhd3NreSA8YmVuQGJ3aWRh d3NrLm5ldD4KPiBDYzogSmFzb24gRWtzdHJhbmQgPGphc29uQGpsZWtzdHJhbmQubmV0Pgo+IENj OiBEYW5pZWwgU3RvbmUgPGRhbmllbHNAY29sbGFib3JhLmNvbT4KClJldmlld2VkLWJ5OiBNaWth IEthaG9sYSA8bWlrYS5rYWhvbGFAaW50ZWwuY29tPgoKPiBTaWduZWQtb2ZmLWJ5OiBWaWxsZSBT eXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+IC0tLQo+IMKgZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgMjUgKysrKy0tLS0tLS0tLS0tLS0tCj4g wqBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaMKgwqDCoMKgwqB8wqDCoDIgKysKPiDC oGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jwqDCoHwgNTAKPiArKysrKysrKysr KysrKysrKysrKysrKysrKy0tLS0tLS0tLS0KPiDCoDMgZmlsZXMgY2hhbmdlZCwgNDQgaW5zZXJ0 aW9ucygrKSwgMzMgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlz cGxheS5jCj4gaW5kZXggMGRkMzdjODU0ODIwLi5kZjI5ZTMzYTIzNTUgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gQEAgLTMwMzQsNiArMzAzNCw3IEBAIHN0YXRpYyBp bnQgc2tsX2NoZWNrX252MTJfYXV4X3N1cmZhY2Uoc3RydWN0Cj4gaW50ZWxfcGxhbmVfc3RhdGUg KnBsYW5lX3N0YXRlKQo+IMKgc3RhdGljIGludCBza2xfY2hlY2tfY2NzX2F1eF9zdXJmYWNlKHN0 cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZQo+ICpwbGFuZV9zdGF0ZSkKPiDCoHsKPiDCoAlzdHJ1Y3Qg aW50ZWxfcGxhbmUgKnBsYW5lID0gdG9faW50ZWxfcGxhbmUocGxhbmVfc3RhdGUtCj4gPmJhc2Uu cGxhbmUpOwo+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShw bGFuZS0KPiA+YmFzZS5kZXYpOwo+IMKgCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50 ZWxfY3J0YyhwbGFuZV9zdGF0ZS0KPiA+YmFzZS5jcnRjKTsKPiDCoAljb25zdCBzdHJ1Y3QgZHJt X2ZyYW1lYnVmZmVyICpmYiA9IHBsYW5lX3N0YXRlLT5iYXNlLmZiOwo+IMKgCWludCBzcmNfeCA9 IHBsYW5lX3N0YXRlLT5iYXNlLnNyYy54MSA+PiAxNjsKPiBAQCAtMzA0NCwxNyArMzA0NSw4IEBA IHN0YXRpYyBpbnQgc2tsX2NoZWNrX2Njc19hdXhfc3VyZmFjZShzdHJ1Y3QKPiBpbnRlbF9wbGFu ZV9zdGF0ZSAqcGxhbmVfc3RhdGUpCj4gwqAJaW50IHkgPSBzcmNfeSAvIHZzdWI7Cj4gwqAJdTMy IG9mZnNldDsKPiDCoAo+IC0Jc3dpdGNoIChwbGFuZS0+aWQpIHsKPiAtCWNhc2UgUExBTkVfUFJJ TUFSWToKPiAtCWNhc2UgUExBTkVfU1BSSVRFMDoKPiAtCQlicmVhazsKPiAtCWRlZmF1bHQ6Cj4g LQkJRFJNX0RFQlVHX0tNUygiUkMgc3VwcG9ydCBvbmx5IG9uIHBsYW5lIDEgYW5kIDJcbiIpOwo+ IC0JCXJldHVybiAtRUlOVkFMOwo+IC0JfQo+IC0KPiAtCWlmIChjcnRjLT5waXBlID09IFBJUEVf Qykgewo+IC0JCURSTV9ERUJVR19LTVMoIk5vIFJDIHN1cHBvcnQgb24gcGlwZSBDXG4iKTsKPiAr CWlmICghc2tsX3BsYW5lX2hhc19jY3MoZGV2X3ByaXYsIGNydGMtPnBpcGUsIHBsYW5lLT5pZCkp IHsKPiArCQlEUk1fREVCVUdfS01TKCJObyBSQyBzdXBwb3J0IG9uICVzXG4iLCBwbGFuZS0KPiA+ YmFzZS5uYW1lKTsKPiDCoAkJcmV0dXJuIC1FSU5WQUw7Cj4gwqAJfQo+IMKgCj4gQEAgLTEzMTYx LDE4ICsxMzE1MywxMSBAQCBpbnRlbF9wcmltYXJ5X3BsYW5lX2NyZWF0ZShzdHJ1Y3QKPiBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiwgZW51bSBwaXBlIHBpcGUpCj4gwqAJcHJpbWFyeS0+ZnJv bnRidWZmZXJfYml0ID0gSU5URUxfRlJPTlRCVUZGRVJfUFJJTUFSWShwaXBlKTsKPiDCoAlwcmlt YXJ5LT5jaGVja19wbGFuZSA9IGludGVsX2NoZWNrX3ByaW1hcnlfcGxhbmU7Cj4gwqAKPiAtCWlm IChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDEwKSB7Cj4gKwlpZiAoSU5URUxfR0VOKGRldl9wcml2 KSA+PSA5KSB7Cj4gwqAJCWludGVsX3ByaW1hcnlfZm9ybWF0cyA9IHNrbF9wcmltYXJ5X2Zvcm1h dHM7Cj4gwqAJCW51bV9mb3JtYXRzID0gQVJSQVlfU0laRShza2xfcHJpbWFyeV9mb3JtYXRzKTsK PiAtCQltb2RpZmllcnMgPSBza2xfZm9ybWF0X21vZGlmaWVyc19jY3M7Cj4gwqAKPiAtCQlwcmlt YXJ5LT51cGRhdGVfcGxhbmUgPSBza2xfdXBkYXRlX3BsYW5lOwo+IC0JCXByaW1hcnktPmRpc2Fi bGVfcGxhbmUgPSBza2xfZGlzYWJsZV9wbGFuZTsKPiAtCQlwcmltYXJ5LT5nZXRfaHdfc3RhdGUg PSBza2xfcGxhbmVfZ2V0X2h3X3N0YXRlOwo+IC0JfSBlbHNlIGlmIChJTlRFTF9HRU4oZGV2X3By aXYpID49IDkpIHsKPiAtCQlpbnRlbF9wcmltYXJ5X2Zvcm1hdHMgPSBza2xfcHJpbWFyeV9mb3Jt YXRzOwo+IC0JCW51bV9mb3JtYXRzID0gQVJSQVlfU0laRShza2xfcHJpbWFyeV9mb3JtYXRzKTsK PiAtCQlpZiAocGlwZSA8IFBJUEVfQykKPiArCQlpZiAoc2tsX3BsYW5lX2hhc19jY3MoZGV2X3By aXYsIHBpcGUsCj4gUExBTkVfUFJJTUFSWSkpCj4gwqAJCQltb2RpZmllcnMgPSBza2xfZm9ybWF0 X21vZGlmaWVyc19jY3M7Cj4gwqAJCWVsc2UKPiDCoAkJCW1vZGlmaWVycyA9IHNrbF9mb3JtYXRf bW9kaWZpZXJzX25vY2NzOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcnYuaAo+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiBpbmRleCAzMGY3 OTFmODlkNjQuLjA1OWNhYmRjYzAyNiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4g QEAgLTE5MzIsNiArMTkzMiw4IEBAIHZvaWQgc2tsX3VwZGF0ZV9wbGFuZShzdHJ1Y3QgaW50ZWxf cGxhbmUKPiAqcGxhbmUsCj4gwqAJCcKgwqDCoMKgwqDCoGNvbnN0IHN0cnVjdCBpbnRlbF9wbGFu ZV9zdGF0ZSAqcGxhbmVfc3RhdGUpOwo+IMKgdm9pZCBza2xfZGlzYWJsZV9wbGFuZShzdHJ1Y3Qg aW50ZWxfcGxhbmUgKnBsYW5lLCBzdHJ1Y3QgaW50ZWxfY3J0Ywo+ICpjcnRjKTsKPiDCoGJvb2wg c2tsX3BsYW5lX2dldF9od19zdGF0ZShzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lKTsKPiArYm9v bCBza2xfcGxhbmVfaGFzX2NjcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4g KwkJwqDCoMKgwqDCoMKgwqBlbnVtIHBpcGUgcGlwZSwgZW51bSBwbGFuZV9pZCBwbGFuZV9pZCk7 Cj4gwqAKPiDCoC8qIGludGVsX3R2LmMgKi8KPiDCoHZvaWQgaW50ZWxfdHZfaW5pdChzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9zcHJpdGUuYwo+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3By aXRlLmMKPiBpbmRleCAzNDliZTgxMzRjNzYuLmNiMDZhY2ZmMjgzZCAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3Nwcml0ZS5jCj4gQEAgLTExNjEsNyArMTE2MSwxNyBAQCBzdGF0aWMgdWlu dDMyX3Qgc2tsX3BsYW5lX2Zvcm1hdHNbXSA9IHsKPiDCoAlEUk1fRk9STUFUX1ZZVVksCj4gwqB9 Owo+IMKgCj4gLXN0YXRpYyBjb25zdCB1aW50NjRfdCBza2xfcGxhbmVfZm9ybWF0X21vZGlmaWVy c1tdID0gewo+ICtzdGF0aWMgY29uc3QgdWludDY0X3Qgc2tsX3BsYW5lX2Zvcm1hdF9tb2RpZmll cnNfbm9jY3NbXSA9IHsKPiArCUk5MTVfRk9STUFUX01PRF9ZZl9USUxFRCwKPiArCUk5MTVfRk9S TUFUX01PRF9ZX1RJTEVELAo+ICsJSTkxNV9GT1JNQVRfTU9EX1hfVElMRUQsCj4gKwlEUk1fRk9S TUFUX01PRF9MSU5FQVIsCj4gKwlEUk1fRk9STUFUX01PRF9JTlZBTElECj4gK307Cj4gKwo+ICtz dGF0aWMgY29uc3QgdWludDY0X3Qgc2tsX3BsYW5lX2Zvcm1hdF9tb2RpZmllcnNfY2NzW10gPSB7 Cj4gKwlJOTE1X0ZPUk1BVF9NT0RfWWZfVElMRURfQ0NTLAo+ICsJSTkxNV9GT1JNQVRfTU9EX1lf VElMRURfQ0NTLAo+IMKgCUk5MTVfRk9STUFUX01PRF9ZZl9USUxFRCwKPiDCoAlJOTE1X0ZPUk1B VF9NT0RfWV9USUxFRCwKPiDCoAlJOTE1X0ZPUk1BVF9NT0RfWF9USUxFRCwKPiBAQCAtMTIzNCw2 ICsxMjQ0LDEwIEBAIHN0YXRpYyBib29sIHNrbF9tb2Rfc3VwcG9ydGVkKHVpbnQzMl90IGZvcm1h dCwKPiB1aW50NjRfdCBtb2RpZmllcikKPiDCoAljYXNlIERSTV9GT1JNQVRfWEJHUjg4ODg6Cj4g wqAJY2FzZSBEUk1fRk9STUFUX0FSR0I4ODg4Ogo+IMKgCWNhc2UgRFJNX0ZPUk1BVF9BQkdSODg4 ODoKPiArCQlpZiAobW9kaWZpZXIgPT0gSTkxNV9GT1JNQVRfTU9EX1lmX1RJTEVEX0NDUyB8fAo+ ICsJCcKgwqDCoMKgbW9kaWZpZXIgPT0gSTkxNV9GT1JNQVRfTU9EX1lfVElMRURfQ0NTKQo+ICsJ CQlyZXR1cm4gdHJ1ZTsKPiArCQkvKiBmYWxsIHRocm91Z2ggKi8KPiDCoAljYXNlIERSTV9GT1JN QVRfUkdCNTY1Ogo+IMKgCWNhc2UgRFJNX0ZPUk1BVF9YUkdCMjEwMTAxMDoKPiDCoAljYXNlIERS TV9GT1JNQVRfWEJHUjIxMDEwMTA6Cj4gQEAgLTEyODksNiArMTMwMywyMyBAQCBzdGF0aWMgY29u c3Qgc3RydWN0IGRybV9wbGFuZV9mdW5jcwo+IGludGVsX3Nwcml0ZV9wbGFuZV9mdW5jcyA9IHsK PiDCoMKgwqDCoMKgwqDCoMKgwqAuZm9ybWF0X21vZF9zdXBwb3J0ZWQgPQo+IGludGVsX3Nwcml0 ZV9wbGFuZV9mb3JtYXRfbW9kX3N1cHBvcnRlZCwKPiDCoH07Cj4gwqAKPiArYm9vbCBza2xfcGxh bmVfaGFzX2NjcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gKwkJwqDCoMKg wqDCoMKgwqBlbnVtIHBpcGUgcGlwZSwgZW51bSBwbGFuZV9pZCBwbGFuZV9pZCkKPiArewo+ICsJ aWYgKHBsYW5lX2lkID09IFBMQU5FX0NVUlNPUikKPiArCQlyZXR1cm4gZmFsc2U7Cj4gKwo+ICsJ aWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gMTApCj4gKwkJcmV0dXJuIHRydWU7Cj4gKwo+ICsJ aWYgKElTX0dFTUlOSUxBS0UoZGV2X3ByaXYpKQo+ICsJCXJldHVybiBwaXBlICE9IFBJUEVfQzsK PiArCj4gKwlyZXR1cm4gcGlwZSAhPSBQSVBFX0MgJiYKPiArCQkocGxhbmVfaWQgPT0gUExBTkVf UFJJTUFSWSB8fAo+ICsJCcKgcGxhbmVfaWQgPT0gUExBTkVfU1BSSVRFMCk7Cj4gK30KPiArCj4g wqBzdHJ1Y3QgaW50ZWxfcGxhbmUgKgo+IMKgaW50ZWxfc3ByaXRlX3BsYW5lX2NyZWF0ZShzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gwqAJCQnCoMKgZW51bSBwaXBlIHBpcGUs IGludCBwbGFuZSkKPiBAQCAtMTMxNSw3ICsxMzQ2LDcgQEAgaW50ZWxfc3ByaXRlX3BsYW5lX2Ny ZWF0ZShzdHJ1Y3QKPiBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiDCoAl9Cj4gwqAJaW50 ZWxfcGxhbmUtPmJhc2Uuc3RhdGUgPSAmc3RhdGUtPmJhc2U7Cj4gwqAKPiAtCWlmIChJTlRFTF9H RU4oZGV2X3ByaXYpID49IDEwKSB7Cj4gKwlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA5KSB7 Cj4gwqAJCWludGVsX3BsYW5lLT5jYW5fc2NhbGUgPSB0cnVlOwo+IMKgCQlzdGF0ZS0+c2NhbGVy X2lkID0gLTE7Cj4gwqAKPiBAQCAtMTMyNSwxOCArMTM1NiwxMSBAQCBpbnRlbF9zcHJpdGVfcGxh bmVfY3JlYXRlKHN0cnVjdAo+IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+IMKgCj4gwqAJ CXBsYW5lX2Zvcm1hdHMgPSBza2xfcGxhbmVfZm9ybWF0czsKPiDCoAkJbnVtX3BsYW5lX2Zvcm1h dHMgPSBBUlJBWV9TSVpFKHNrbF9wbGFuZV9mb3JtYXRzKTsKPiAtCQltb2RpZmllcnMgPSBza2xf cGxhbmVfZm9ybWF0X21vZGlmaWVyczsKPiAtCX0gZWxzZSBpZiAoSU5URUxfR0VOKGRldl9wcml2 KSA+PSA5KSB7Cj4gLQkJaW50ZWxfcGxhbmUtPmNhbl9zY2FsZSA9IHRydWU7Cj4gLQkJc3RhdGUt PnNjYWxlcl9pZCA9IC0xOwo+IMKgCj4gLQkJaW50ZWxfcGxhbmUtPnVwZGF0ZV9wbGFuZSA9IHNr bF91cGRhdGVfcGxhbmU7Cj4gLQkJaW50ZWxfcGxhbmUtPmRpc2FibGVfcGxhbmUgPSBza2xfZGlz YWJsZV9wbGFuZTsKPiAtCQlpbnRlbF9wbGFuZS0+Z2V0X2h3X3N0YXRlID0gc2tsX3BsYW5lX2dl dF9od19zdGF0ZTsKPiAtCj4gLQkJcGxhbmVfZm9ybWF0cyA9IHNrbF9wbGFuZV9mb3JtYXRzOwo+ IC0JCW51bV9wbGFuZV9mb3JtYXRzID0gQVJSQVlfU0laRShza2xfcGxhbmVfZm9ybWF0cyk7Cj4g LQkJbW9kaWZpZXJzID0gc2tsX3BsYW5lX2Zvcm1hdF9tb2RpZmllcnM7Cj4gKwkJaWYgKHNrbF9w bGFuZV9oYXNfY2NzKGRldl9wcml2LCBwaXBlLCBQTEFORV9TUFJJVEUwCj4gKyBwbGFuZSkpCj4g KwkJCW1vZGlmaWVycyA9IHNrbF9wbGFuZV9mb3JtYXRfbW9kaWZpZXJzX2NjczsKPiArCQllbHNl Cj4gKwkJCW1vZGlmaWVycyA9Cj4gc2tsX3BsYW5lX2Zvcm1hdF9tb2RpZmllcnNfbm9jY3M7Cj4g wqAJfSBlbHNlIGlmIChJU19WQUxMRVlWSUVXKGRldl9wcml2KSB8fAo+IElTX0NIRVJSWVZJRVco ZGV2X3ByaXYpKSB7Cj4gwqAJCWludGVsX3BsYW5lLT5jYW5fc2NhbGUgPSBmYWxzZTsKPiDCoAkJ aW50ZWxfcGxhbmUtPm1heF9kb3duc2NhbGUgPSAxOwotLSAKTWlrYSBLYWhvbGEgLSBJbnRlbCBP VEMKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVs LWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=