From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 7/7] drm/imx: ipuv3-plane: add support for separate alpha planes Date: Tue, 19 May 2015 18:58:08 +0200 Message-ID: <20150519165808.GR15256@phenom.ffwll.local> References: <1432051561-24744-1-git-send-email-p.zabel@pengutronix.de> <1432051561-24744-8-git-send-email-p.zabel@pengutronix.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wi0-f173.google.com (mail-wi0-f173.google.com [209.85.212.173]) by gabe.freedesktop.org (Postfix) with ESMTP id E28BB6E3F0 for ; Tue, 19 May 2015 09:55:43 -0700 (PDT) Received: by wicmc15 with SMTP id mc15so123942793wic.1 for ; Tue, 19 May 2015 09:55:43 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1432051561-24744-8-git-send-email-p.zabel@pengutronix.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Philipp Zabel Cc: kernel@pengutronix.de, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCBNYXkgMTksIDIwMTUgYXQgMDY6MDY6MDFQTSArMDIwMCwgUGhpbGlwcCBaYWJlbCB3 cm90ZToKPiBUaGUgSVBVdjMgY2FuIHJlYWQgOC1iaXQgYWxwaGEgdmFsdWVzIGZyb20gYSBzZXBh cmF0ZSBwbGFuZSBidWZmZXIgdXNpbmcgYQo+IGNvbXBhbmlvbiBJRE1BQyBjaGFubmVsIGRyaXZl biBieSB0aGUgQWxwaGEgVHJhbnNwYXJlbmN5IENvbnRyb2xsZXIgKEFUQykKPiBmb3IgdGhlIGdy YXBoaWNzIGNoYW5uZWxzLiBUaGUgY29uZGl0aW9uYWwgcmVhZCBtZWNoYW5pc20gYWxsb3dzIHRv IHJlZHVjZQo+IG1lbW9yeSBiYW5kd2lkdGggYnkgc2tpcHBpbmcgcmVhZHMgb2YgY29sb3IgZGF0 YSBmb3IgY29tcGxldGVseSB0cmFuc3BhcmVudAo+IGJ1cnN0cy4KPiAKPiBTaWduZWQtb2ZmLWJ5 OiBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgo+IC0tLQo+ICBkcml2ZXJz L2dwdS9kcm0vaW14L2lwdXYzLXBsYW5lLmMgfCA3MiArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysKPiAgZHJpdmVycy9ncHUvZHJtL2lteC9pcHV2My1wbGFuZS5oIHwgIDIg KysKPiAgMiBmaWxlcyBjaGFuZ2VkLCA3NCBpbnNlcnRpb25zKCspCj4gCj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pbXgvaXB1djMtcGxhbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pbXgv aXB1djMtcGxhbmUuYwo+IGluZGV4IGQwMzA5OTAuLmNhMTBkNTUgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2lteC9pcHV2My1wbGFuZS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2lt eC9pcHV2My1wbGFuZS5jCj4gQEAgLTQxLDYgKzQxLDEyIEBAIHN0YXRpYyBjb25zdCB1aW50MzJf dCBpcHVfcGxhbmVfZm9ybWF0c1tdID0gewo+ICAJRFJNX0ZPUk1BVF9ZVllVLAo+ICAJRFJNX0ZP Uk1BVF9ZVVY0MjAsCj4gIAlEUk1fRk9STUFUX1lWVTQyMCwKPiArCURSTV9GT1JNQVRfUkdCNTY1 X0E4LAo+ICsJRFJNX0ZPUk1BVF9CR1I1NjVfQTgsCj4gKwlEUk1fRk9STUFUX1JHQjg4OF9BOCwK PiArCURSTV9GT1JNQVRfQkdSODg4X0E4LAo+ICsJRFJNX0ZPUk1BVF9SR0JYODg4OF9BOCwKPiAr CURSTV9GT1JNQVRfQkdSWDg4ODhfQTgsCj4gIH07Cj4gIAo+ICBpbnQgaXB1X3BsYW5lX2lycShz dHJ1Y3QgaXB1X3BsYW5lICppcHVfcGxhbmUpCj4gQEAgLTcxLDYgKzc3LDcgQEAgaW50IGlwdV9w bGFuZV9zZXRfYmFzZShzdHJ1Y3QgaXB1X3BsYW5lICppcHVfcGxhbmUsIHN0cnVjdCBkcm1fZnJh bWVidWZmZXIgKmZiLAo+ICAJCSAgICAgICBpbnQgeCwgaW50IHkpCj4gIHsKPiAgCXN0cnVjdCBk cm1fZ2VtX2NtYV9vYmplY3QgKmNtYV9vYmo7Cj4gKwl1bnNpZ25lZCBsb25nIGFscGhhX2ViYSA9 IDA7Cj4gIAl1bnNpZ25lZCBsb25nIGViYTsKPiAgCWludCBhY3RpdmU7Cj4gIAo+IEBAIC04Niwx MyArOTMsMzYgQEAgaW50IGlwdV9wbGFuZV9zZXRfYmFzZShzdHJ1Y3QgaXB1X3BsYW5lICppcHVf cGxhbmUsIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiLAo+ICAJZWJhID0gY21hX29iai0+cGFk ZHIgKyBmYi0+b2Zmc2V0c1swXSArCj4gIAkgICAgICBmYi0+cGl0Y2hlc1swXSAqIHkgKyAoZmIt PmJpdHNfcGVyX3BpeGVsID4+IDMpICogeDsKPiAgCj4gKwlzd2l0Y2ggKGZiLT5waXhlbF9mb3Jt YXQpIHsKPiArCWNhc2UgRFJNX0ZPUk1BVF9SR0I1NjVfQTg6Cj4gKwljYXNlIERSTV9GT1JNQVRf QkdSNTY1X0E4Ogo+ICsJY2FzZSBEUk1fRk9STUFUX1JHQjg4OF9BODoKPiArCWNhc2UgRFJNX0ZP Uk1BVF9CR1I4ODhfQTg6Cj4gKwljYXNlIERSTV9GT1JNQVRfUkdCWDg4ODhfQTg6Cj4gKwljYXNl IERSTV9GT1JNQVRfQkdSWDg4ODhfQTg6Cj4gKwkJYWxwaGFfZWJhID0gY21hX29iai0+cGFkZHIg KyBmYi0+b2Zmc2V0c1sxXSArCj4gKwkJCSAgICBmYi0+cGl0Y2hlc1sxXSAqIHkgKyB4OwoKWW91 IG5lZWQgdG8gbG9vayBhdCB0aGUgMm5kIGNtYV9vYmogaGVyZSwgaS5lLiBkcm1fZmJfY21hX2dl dF9nZW1fb2JqKGZiLCAxKTsKClllcywgdXNlcnNwYWNlIGlzIGFsbG93ZWQgdG8gaGFuZCBpbiBu b24tbWF0Y2hpbmcuIEFuZCBnaXZlbiB0aGF0IHlvdQp5b3UganVzdCByZXVzZSB0aGUgY21hIGhl bHBlcnMgYW5kIGRvbid0IHJlamVjdCBmcmFtZWJ1ZmZlcnMgd2l0aApub24tbWF0Y2hpbmcgY21h IG9iamVjdHMgeW91ciBjdXJyZW50IHBsYW5hciB5dXYgc3VwcG9ydCBpcyBhbHNvIGFscmVhZHkK YnJva2VuLiBXb3VsZCBiZSBnb29kIGlmIHlvdSBjb3VsZCBhbHNvIHBhdGNoIG1vZGV0ZXN0IGEg Yml0IHRvIGV4ZXJjaXNlCnRoaXMgLi4uCi1EYW5pZWwKCj4gKwkJYnJlYWs7Cj4gKwl9Cj4gKwo+ ICAJaWYgKGlwdV9wbGFuZS0+ZW5hYmxlZCkgewo+ICAJCWFjdGl2ZSA9IGlwdV9pZG1hY19nZXRf Y3VycmVudF9idWZmZXIoaXB1X3BsYW5lLT5pcHVfY2gpOwo+ICAJCWlwdV9jcG1lbV9zZXRfYnVm ZmVyKGlwdV9wbGFuZS0+aXB1X2NoLCAhYWN0aXZlLCBlYmEpOwo+ICAJCWlwdV9pZG1hY19zZWxl Y3RfYnVmZmVyKGlwdV9wbGFuZS0+aXB1X2NoLCAhYWN0aXZlKTsKPiArCQlpZiAoYWxwaGFfZWJh KSB7Cj4gKwkJCWFjdGl2ZSA9IGlwdV9pZG1hY19nZXRfY3VycmVudF9idWZmZXIoCj4gKwkJCQkJ CWlwdV9wbGFuZS0+YWxwaGFfY2gpOwo+ICsJCQlpcHVfY3BtZW1fc2V0X2J1ZmZlcihpcHVfcGxh bmUtPmFscGhhX2NoLCAhYWN0aXZlLAo+ICsJCQkJCSAgICAgYWxwaGFfZWJhKTsKPiArCQkJaXB1 X2lkbWFjX3NlbGVjdF9idWZmZXIoaXB1X3BsYW5lLT5hbHBoYV9jaCwgIWFjdGl2ZSk7Cj4gKwkJ fQo+ICAJfSBlbHNlIHsKPiAgCQlpcHVfY3BtZW1fc2V0X2J1ZmZlcihpcHVfcGxhbmUtPmlwdV9j aCwgMCwgZWJhKTsKPiAgCQlpcHVfY3BtZW1fc2V0X2J1ZmZlcihpcHVfcGxhbmUtPmlwdV9jaCwg MSwgZWJhKTsKPiArCQlpZiAoYWxwaGFfZWJhKSB7Cj4gKwkJCWlwdV9jcG1lbV9zZXRfYnVmZmVy KGlwdV9wbGFuZS0+YWxwaGFfY2gsIDAsIGFscGhhX2ViYSk7Cj4gKwkJCWlwdV9jcG1lbV9zZXRf YnVmZmVyKGlwdV9wbGFuZS0+YWxwaGFfY2gsIDEsIGFscGhhX2ViYSk7Cj4gKwkJfQo+ICAJfQo+ ICAKPiAgCS8qIGNhY2hlIG9mZnNldHMgZm9yIHN1YnNlcXVlbnQgcGFnZWZsaXBzICovCj4gQEAg LTE2Myw2ICsxOTMsNyBAQCBpbnQgaXB1X3BsYW5lX21vZGVfc2V0KHN0cnVjdCBpcHVfcGxhbmUg KmlwdV9wbGFuZSwgc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICAJCXJldHVybiBpcHVfcGxhbmVf c2V0X2Jhc2UoaXB1X3BsYW5lLCBmYiwgc3JjX3gsIHNyY195KTsKPiAgCX0KPiAgCj4gKwlpcHVf cGxhbmUtPnNlcGFyYXRlX2FscGhhID0gZmFsc2U7Cj4gIAlzd2l0Y2ggKGlwdV9wbGFuZS0+ZHBf Zmxvdykgewo+ICAJY2FzZSBJUFVfRFBfRkxPV19TWU5DX0JHOgo+ICAJCXJldCA9IGlwdV9kcF9z ZXR1cF9jaGFubmVsKGlwdV9wbGFuZS0+ZHAsCj4gQEAgLTE4Myw2ICsyMTQsMTYgQEAgaW50IGlw dV9wbGFuZV9tb2RlX3NldChzdHJ1Y3QgaXB1X3BsYW5lICppcHVfcGxhbmUsIHN0cnVjdCBkcm1f Y3J0YyAqY3J0YywKPiAgCQlpcHVfZHBfc2V0X3dpbmRvd19wb3MoaXB1X3BsYW5lLT5kcCwgY3J0 Y194LCBjcnRjX3kpOwo+ICAJCS8qIEVuYWJsZSBsb2NhbCBhbHBoYSBvbiBwYXJ0aWFsIHBsYW5l ICovCj4gIAkJc3dpdGNoIChmYi0+cGl4ZWxfZm9ybWF0KSB7Cj4gKwkJY2FzZSBEUk1fRk9STUFU X1JHQjU2NV9BODoKPiArCQljYXNlIERSTV9GT1JNQVRfQkdSNTY1X0E4Ogo+ICsJCWNhc2UgRFJN X0ZPUk1BVF9SR0I4ODhfQTg6Cj4gKwkJY2FzZSBEUk1fRk9STUFUX0JHUjg4OF9BODoKPiArCQlj YXNlIERSTV9GT1JNQVRfUkdCWDg4ODhfQTg6Cj4gKwkJY2FzZSBEUk1fRk9STUFUX0JHUlg4ODg4 X0E4Ogo+ICsJCQlpZiAoIWlwdV9wbGFuZS0+YWxwaGFfY2gpCj4gKwkJCQlyZXR1cm4gLUVJTlZB TDsKPiArCQkJaXB1X3BsYW5lLT5zZXBhcmF0ZV9hbHBoYSA9IHRydWU7Cj4gKwkJCS8qIGZhbGx0 aHJvdWdoICovCj4gIAkJY2FzZSBEUk1fRk9STUFUX0FSR0IxNTU1Ogo+ICAJCWNhc2UgRFJNX0ZP Uk1BVF9BQkdSMTU1NToKPiAgCQljYXNlIERSTV9GT1JNQVRfUkdCQTU1NTE6Cj4gQEAgLTIyNCw2 ICsyNjUsMTggQEAgaW50IGlwdV9wbGFuZV9tb2RlX3NldChzdHJ1Y3QgaXB1X3BsYW5lICppcHVf cGxhbmUsIHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAgCWlwdV9pZG1hY19zZXRfZG91YmxlX2J1 ZmZlcihpcHVfcGxhbmUtPmlwdV9jaCwgMSk7Cj4gIAlpcHVfY3BtZW1fc2V0X3N0cmlkZShpcHVf cGxhbmUtPmlwdV9jaCwgZmItPnBpdGNoZXNbMF0pOwo+ICAKPiArCWlmIChpcHVfcGxhbmUtPnNl cGFyYXRlX2FscGhhKSB7Cj4gKwkJaXB1X2NwbWVtX3NldF9idXJzdHNpemUoaXB1X3BsYW5lLT5p cHVfY2gsIDE2KTsKPiArCj4gKwkJaXB1X2NwbWVtX3plcm8oaXB1X3BsYW5lLT5hbHBoYV9jaCk7 Cj4gKwkJaXB1X2NwbWVtX3NldF9yZXNvbHV0aW9uKGlwdV9wbGFuZS0+YWxwaGFfY2gsIHNyY193 LCBzcmNfaCk7Cj4gKwkJaXB1X2NwbWVtX3NldF9mb3JtYXRfcGFzc3Rocm91Z2goaXB1X3BsYW5l LT5hbHBoYV9jaCwgOCk7Cj4gKwkJaXB1X2NwbWVtX3NldF9oaWdoX3ByaW9yaXR5KGlwdV9wbGFu ZS0+YWxwaGFfY2gpOwo+ICsJCWlwdV9pZG1hY19zZXRfZG91YmxlX2J1ZmZlcihpcHVfcGxhbmUt PmFscGhhX2NoLCAxKTsKPiArCQlpcHVfY3BtZW1fc2V0X3N0cmlkZShpcHVfcGxhbmUtPmFscGhh X2NoLCBmYi0+cGl0Y2hlc1sxXSk7Cj4gKwkJaXB1X2NwbWVtX3NldF9idXJzdHNpemUoaXB1X3Bs YW5lLT5hbHBoYV9jaCwgMTYpOwo+ICsJfQo+ICsKPiAgCXJldCA9IGlwdV9wbGFuZV9zZXRfYmFz ZShpcHVfcGxhbmUsIGZiLCBzcmNfeCwgc3JjX3kpOwo+ICAJaWYgKHJldCA8IDApCj4gIAkJcmV0 dXJuIHJldDsKPiBAQCAtMjQ0LDExICsyOTcsMTQgQEAgdm9pZCBpcHVfcGxhbmVfcHV0X3Jlc291 cmNlcyhzdHJ1Y3QgaXB1X3BsYW5lICppcHVfcGxhbmUpCj4gIAkJaXB1X2RtZmNfcHV0KGlwdV9w bGFuZS0+ZG1mYyk7Cj4gIAlpZiAoIUlTX0VSUl9PUl9OVUxMKGlwdV9wbGFuZS0+aXB1X2NoKSkK PiAgCQlpcHVfaWRtYWNfcHV0KGlwdV9wbGFuZS0+aXB1X2NoKTsKPiArCWlmICghSVNfRVJSX09S X05VTEwoaXB1X3BsYW5lLT5hbHBoYV9jaCkpCj4gKwkJaXB1X2lkbWFjX3B1dChpcHVfcGxhbmUt PmFscGhhX2NoKTsKPiAgfQo+ICAKPiAgaW50IGlwdV9wbGFuZV9nZXRfcmVzb3VyY2VzKHN0cnVj dCBpcHVfcGxhbmUgKmlwdV9wbGFuZSkKPiAgewo+ICAJaW50IHJldDsKPiArCWludCBhbHBoYV9j aDsKPiAgCj4gIAlpcHVfcGxhbmUtPmlwdV9jaCA9IGlwdV9pZG1hY19nZXQoaXB1X3BsYW5lLT5p cHUsIGlwdV9wbGFuZS0+ZG1hKTsKPiAgCWlmIChJU19FUlIoaXB1X3BsYW5lLT5pcHVfY2gpKSB7 Cj4gQEAgLTI1Nyw2ICszMTMsMTggQEAgaW50IGlwdV9wbGFuZV9nZXRfcmVzb3VyY2VzKHN0cnVj dCBpcHVfcGxhbmUgKmlwdV9wbGFuZSkKPiAgCQlyZXR1cm4gcmV0Owo+ICAJfQo+ICAKPiArCWFs cGhhX2NoID0gaXB1X2NoYW5uZWxfYWxwaGFfY2hhbm5lbChpcHVfcGxhbmUtPmRtYSk7Cj4gKwlp ZiAoYWxwaGFfY2ggPj0gMCkgewo+ICsJCWlwdV9wbGFuZS0+YWxwaGFfY2ggPSBpcHVfaWRtYWNf Z2V0KGlwdV9wbGFuZS0+aXB1LCBhbHBoYV9jaCk7Cj4gKwkJaWYgKElTX0VSUihpcHVfcGxhbmUt PmFscGhhX2NoKSkgewo+ICsJCQlpcHVfaWRtYWNfcHV0KGlwdV9wbGFuZS0+aXB1X2NoKTsKPiAr CQkJcmV0ID0gUFRSX0VSUihpcHVfcGxhbmUtPmFscGhhX2NoKTsKPiArCQkJRFJNX0VSUk9SKCJm YWlsZWQgdG8gZ2V0IGFscGhhIGlkbWFjIGNoYW5uZWwgJWQ6ICVkXG4iLAo+ICsJCQkJICBhbHBo YV9jaCwgcmV0KTsKPiArCQkJcmV0dXJuIHJldDsKPiArCQl9Cj4gKwl9Cj4gKwo+ICAJaXB1X3Bs YW5lLT5kbWZjID0gaXB1X2RtZmNfZ2V0KGlwdV9wbGFuZS0+aXB1LCBpcHVfcGxhbmUtPmRtYSk7 Cj4gIAlpZiAoSVNfRVJSKGlwdV9wbGFuZS0+ZG1mYykpIHsKPiAgCQlyZXQgPSBQVFJfRVJSKGlw dV9wbGFuZS0+ZG1mYyk7Cj4gQEAgLTI4Niw2ICszNTQsOCBAQCB2b2lkIGlwdV9wbGFuZV9lbmFi bGUoc3RydWN0IGlwdV9wbGFuZSAqaXB1X3BsYW5lKQo+ICAJCWlwdV9kcF9lbmFibGUoaXB1X3Bs YW5lLT5pcHUpOwo+ICAJaXB1X2RtZmNfZW5hYmxlX2NoYW5uZWwoaXB1X3BsYW5lLT5kbWZjKTsK PiAgCWlwdV9pZG1hY19lbmFibGVfY2hhbm5lbChpcHVfcGxhbmUtPmlwdV9jaCk7Cj4gKwlpZiAo aXB1X3BsYW5lLT5zZXBhcmF0ZV9hbHBoYSkKPiArCQlpcHVfaWRtYWNfZW5hYmxlX2NoYW5uZWwo aXB1X3BsYW5lLT5hbHBoYV9jaCk7Cj4gIAlpZiAoaXB1X3BsYW5lLT5kcCkKPiAgCQlpcHVfZHBf ZW5hYmxlX2NoYW5uZWwoaXB1X3BsYW5lLT5kcCk7Cj4gIAo+IEBAIC0zMDAsNiArMzcwLDggQEAg dm9pZCBpcHVfcGxhbmVfZGlzYWJsZShzdHJ1Y3QgaXB1X3BsYW5lICppcHVfcGxhbmUpCj4gIAo+ ICAJaWYgKGlwdV9wbGFuZS0+ZHApCj4gIAkJaXB1X2RwX2Rpc2FibGVfY2hhbm5lbChpcHVfcGxh bmUtPmRwKTsKPiArCWlmIChpcHVfcGxhbmUtPnNlcGFyYXRlX2FscGhhKQo+ICsJCWlwdV9pZG1h Y19kaXNhYmxlX2NoYW5uZWwoaXB1X3BsYW5lLT5hbHBoYV9jaCk7Cj4gIAlpcHVfaWRtYWNfZGlz YWJsZV9jaGFubmVsKGlwdV9wbGFuZS0+aXB1X2NoKTsKPiAgCWlwdV9kbWZjX2Rpc2FibGVfY2hh bm5lbChpcHVfcGxhbmUtPmRtZmMpOwo+ICAJaWYgKGlwdV9wbGFuZS0+ZHApCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pbXgvaXB1djMtcGxhbmUuaCBiL2RyaXZlcnMvZ3B1L2RybS9p bXgvaXB1djMtcGxhbmUuaAo+IGluZGV4IDliNWVmZjEuLmM4OTEzZWQgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2lteC9pcHV2My1wbGFuZS5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2lteC9pcHV2My1wbGFuZS5oCj4gQEAgLTE4LDYgKzE4LDcgQEAgc3RydWN0IGlwdV9wbGFuZSB7 Cj4gIAo+ICAJc3RydWN0IGlwdV9zb2MJCSppcHU7Cj4gIAlzdHJ1Y3QgaXB1djNfY2hhbm5lbAkq aXB1X2NoOwo+ICsJc3RydWN0IGlwdXYzX2NoYW5uZWwJKmFscGhhX2NoOwo+ICAJc3RydWN0IGRt ZmNfY2hhbm5lbAkqZG1mYzsKPiAgCXN0cnVjdCBpcHVfZHAJCSpkcDsKPiAgCj4gQEAgLTMwLDYg KzMxLDcgQEAgc3RydWN0IGlwdV9wbGFuZSB7Cj4gIAlpbnQJCQloOwo+ICAKPiAgCWJvb2wJCQll bmFibGVkOwo+ICsJYm9vbAkJCXNlcGFyYXRlX2FscGhhOwo+ICB9Owo+ICAKPiAgc3RydWN0IGlw dV9wbGFuZSAqaXB1X3BsYW5lX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGlw dV9zb2MgKmlwdSwKPiAtLSAKPiAyLjEuNAo+IAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCj4gZHJpLWRldmVsIG1haWxpbmcgbGlzdAo+IGRyaS1kZXZl bEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCgotLSAKRGFuaWVsIFZldHRlcgpTb2Z0d2FyZSBFbmdp bmVlciwgSW50ZWwgQ29ycG9yYXRpb24KaHR0cDovL2Jsb2cuZmZ3bGwuY2gKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlz dApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK