From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rodrigo Vivi Subject: Re: [PATCH v2] drm/i915: Generalize definition for crtc mask Date: Mon, 18 Dec 2017 16:05:52 -0800 Message-ID: <20171219000552.ifv7achkuuvyvndh@intel.com> References: <1513157116-9209-1-git-send-email-mika.kahola@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 6D14789FA5 for ; Tue, 19 Dec 2017 00:05:57 +0000 (UTC) Content-Disposition: inline In-Reply-To: <1513157116-9209-1-git-send-email-mika.kahola@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Mika Kahola Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBEZWMgMTMsIDIwMTcgYXQgMDk6MjU6MTZBTSArMDAwMCwgTWlrYSBLYWhvbGEgd3Jv dGU6Cj4gY3J0Y19tYXNrIGlzIGRlZmluZWQgZXhwbGljaXRseSBkZWZpbmVkIGZvciBhIGNlcnRh aW4gbnVtYmVyIG9mIHBpcGVzIHBlcgo+IHBsYXRmb3JtLiBMZXQncyBnZW5lcmFsaXplIHRoaXMg aW4gYSB3YXkgdGhhdCBjcnRjX21hc2sgZGVwZW5kZW5zIG9ubHkgb24KPiB0aGUgbnVtYmVyIG9m IHBpcGVzIGRlZmluZWQgaW4gZGV2aWNlIGluZm8uCj4gCj4gdjI6IFVzZSBCSVQoKSBtYWNybyB3 aGVyZXZlciBwb3NzaWJsZSAoVmlsbGUpCj4gICAgIERyb3AgZ2VuZXJhbGl6YXRpb24gZm9yIGFs bCBvdGhlciBjb25uZWN0b3JzIGV4Y2VwdCBEREkgKFZpbGxlKQo+ICAgICBGaXggRFAtTVNUIGNy dGMgbWFzayB0byBiZSBkZXBlbmRlbnQgb25seSBvbiBwaXBlIChWaWxsZSkKPiAKPiBTaWduZWQt b2ZmLWJ5OiBNaWthIEthaG9sYSA8bWlrYS5rYWhvbGFAaW50ZWwuY29tPgo+IC0tLQo+ICBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jcnQuYyAgICB8IDQgKystLQo+ICBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kZGkuYyAgICB8IDYgKysrKystCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RwLmMgICAgIHwgNiArKystLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHBfbXN0LmMgfCAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2R2by5jICAgIHwg MiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMgICB8IDYgKysrLS0tCj4g IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2x2ZHMuYyAgIHwgNiArKystLS0KPiAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfc2R2by5jICAgfCAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3R2LmMgICAgIHwgNCArKy0tCj4gIDkgZmlsZXMgY2hhbmdlZCwgMjEgaW5zZXJ0 aW9ucygrKSwgMTcgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2NydC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY3J0LmMKPiBp bmRleCA5ZjMxYWVhLi45NTU3ZTZlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2NydC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY3J0LmMKPiBA QCAtOTUxLDkgKzk1MSw5IEBAIHZvaWQgaW50ZWxfY3J0X2luaXQoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2KQo+ICAJY3J0LT5iYXNlLnR5cGUgPSBJTlRFTF9PVVRQVVRfQU5BTE9H Owo+ICAJY3J0LT5iYXNlLmNsb25lYWJsZSA9ICgxIDw8IElOVEVMX09VVFBVVF9EVk8pIHwgKDEg PDwgSU5URUxfT1VUUFVUX0hETUkpOwo+ICAJaWYgKElTX0k4MzAoZGV2X3ByaXYpKQo+IC0JCWNy dC0+YmFzZS5jcnRjX21hc2sgPSAoMSA8PCAwKTsKPiArCQljcnQtPmJhc2UuY3J0Y19tYXNrID0g QklUKFBJUEVfQSk7Cj4gIAllbHNlCj4gLQkJY3J0LT5iYXNlLmNydGNfbWFzayA9ICgxIDw8IDAp IHwgKDEgPDwgMSkgfCAoMSA8PCAyKTsKPiArCQljcnQtPmJhc2UuY3J0Y19tYXNrID0gQklUKFBJ UEVfQSkgfCBCSVQoUElQRV9CKSB8IEJJVChQSVBFX0MpOwoKaWYgYml0IHJlcHJlc2VudHMgdGhl IHBpcGUsIHdoeSBub3QgdG8gdXNlIGZvcl9lYWNoX3BpcGUsIGxpa2UgeW91IGRpZCBiZWxsb3cs CmV2ZXJ5d2hlcmUgZWxzZT8KCihyYW5kb20sIG1heWJlIG5vbnNlbnNlIHRob3VnaHQ6IG1heWJl IHdlIGVuZCB1cCBldmVuIHJlbW92aW5nIHNvbWUgb2YgaWYvZWxzZT8hKQoKPiAgCj4gIAlpZiAo SVNfR0VOMihkZXZfcHJpdikpCj4gIAkJY29ubmVjdG9yLT5pbnRlcmxhY2VfYWxsb3dlZCA9IDA7 Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPiBpbmRleCAzNjlmNzgwLi41ODFhOGIzIDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPiBAQCAtMjc2Nyw2ICsyNzY3LDcgQEAgdm9pZCBp bnRlbF9kZGlfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGVudW0gcG9y dCBwb3J0KQo+ICAJc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyOwo+ICAJYm9vbCBpbml0X2hk bWksIGluaXRfZHAsIGluaXRfbHNwY29uID0gZmFsc2U7Cj4gIAlpbnQgbWF4X2xhbmVzOwo+ICsJ ZW51bSBwaXBlIHBpcGU7Cj4gIAo+ICAJaWYgKEk5MTVfUkVBRChERElfQlVGX0NUTChQT1JUX0Ep KSAmIERESV9BXzRfTEFORVMpIHsKPiAgCQlzd2l0Y2ggKHBvcnQpIHsKPiBAQCAtMjg4NSw3ICsy ODg2LDEwIEBAIHZvaWQgaW50ZWxfZGRpX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2LCBlbnVtIHBvcnQgcG9ydCkKPiAgCWludGVsX2VuY29kZXItPnR5cGUgPSBJTlRFTF9P VVRQVVRfRERJOwo+ICAJaW50ZWxfZW5jb2Rlci0+cG93ZXJfZG9tYWluID0gaW50ZWxfcG9ydF90 b19wb3dlcl9kb21haW4ocG9ydCk7Cj4gIAlpbnRlbF9lbmNvZGVyLT5wb3J0ID0gcG9ydDsKPiAt CWludGVsX2VuY29kZXItPmNydGNfbWFzayA9ICgxIDw8IDApIHwgKDEgPDwgMSkgfCAoMSA8PCAy KTsKPiArCj4gKwlmb3JfZWFjaF9waXBlKGRldl9wcml2LCBwaXBlKQo+ICsJCWludGVsX2VuY29k ZXItPmNydGNfbWFzayB8PSBCSVQocGlwZSk7Cj4gKwo+ICAJaW50ZWxfZW5jb2Rlci0+Y2xvbmVh YmxlID0gMDsKPiAgCj4gIAlpbnRlbF9pbmZvZnJhbWVfaW5pdChpbnRlbF9kaWdfcG9ydCk7Cj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gaW5kZXggMzVjNTI5OS4uYTE4ZDRiMiAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHAuYwo+IEBAIC02MjA1LDExICs2MjA1LDExIEBAIGJvb2wgaW50ZWxf ZHBfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAlpbnRlbF9lbmNv ZGVyLT5wb3dlcl9kb21haW4gPSBpbnRlbF9wb3J0X3RvX3Bvd2VyX2RvbWFpbihwb3J0KTsKPiAg CWlmIChJU19DSEVSUllWSUVXKGRldl9wcml2KSkgewo+ICAJCWlmIChwb3J0ID09IFBPUlRfRCkK PiAtCQkJaW50ZWxfZW5jb2Rlci0+Y3J0Y19tYXNrID0gMSA8PCAyOwo+ICsJCQlpbnRlbF9lbmNv ZGVyLT5jcnRjX21hc2sgPSBCSVQoUElQRV9DKTsKPiAgCQllbHNlCj4gLQkJCWludGVsX2VuY29k ZXItPmNydGNfbWFzayA9ICgxIDw8IDApIHwgKDEgPDwgMSk7Cj4gKwkJCWludGVsX2VuY29kZXIt PmNydGNfbWFzayA9IEJJVChQSVBFX0EpIHwgQklUKFBJUEVfQik7Cj4gIAl9IGVsc2Ugewo+IC0J CWludGVsX2VuY29kZXItPmNydGNfbWFzayA9ICgxIDw8IDApIHwgKDEgPDwgMSkgfCAoMSA8PCAy KTsKPiArCQlpbnRlbF9lbmNvZGVyLT5jcnRjX21hc2sgPSBCSVQoUElQRV9BKSB8IEJJVChQSVBF X0IpIHwgQklUKFBJUEVfQyk7Cj4gIAl9Cj4gIAlpbnRlbF9lbmNvZGVyLT5jbG9uZWFibGUgPSAw Owo+ICAJaW50ZWxfZW5jb2Rlci0+cG9ydCA9IHBvcnQ7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2RwX21zdC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHBfbXN0LmMKPiBpbmRleCBjM2RlMDkxLi4wN2QzZjU4IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2RwX21zdC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHBfbXN0LmMKPiBAQCAtNTUzLDcgKzU1Myw3IEBAIGludGVsX2RwX2NyZWF0ZV9mYWtl X21zdF9lbmNvZGVyKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0LCBl bnVtCj4gIAlpbnRlbF9lbmNvZGVyLT50eXBlID0gSU5URUxfT1VUUFVUX0RQX01TVDsKPiAgCWlu dGVsX2VuY29kZXItPnBvd2VyX2RvbWFpbiA9IGludGVsX2RpZ19wb3J0LT5iYXNlLnBvd2VyX2Rv bWFpbjsKPiAgCWludGVsX2VuY29kZXItPnBvcnQgPSBpbnRlbF9kaWdfcG9ydC0+YmFzZS5wb3J0 Owo+IC0JaW50ZWxfZW5jb2Rlci0+Y3J0Y19tYXNrID0gMHg3Owo+ICsJaW50ZWxfZW5jb2Rlci0+ Y3J0Y19tYXNrID0gQklUKHBpcGUpOwo+ICAJaW50ZWxfZW5jb2Rlci0+Y2xvbmVhYmxlID0gMDsK PiAgCj4gIAlpbnRlbF9lbmNvZGVyLT5jb21wdXRlX2NvbmZpZyA9IGludGVsX2RwX21zdF9jb21w dXRlX2NvbmZpZzsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHZv LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kdm8uYwo+IGluZGV4IDc1NGJhYTAuLjlk ZTg2MTUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHZvLmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kdm8uYwo+IEBAIC01MDAsNyArNTAwLDcg QEAgdm9pZCBpbnRlbF9kdm9faW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYp Cj4gIAkJaW50ZWxfZW5jb2Rlci0+dHlwZSA9IElOVEVMX09VVFBVVF9EVk87Cj4gIAkJaW50ZWxf ZW5jb2Rlci0+cG93ZXJfZG9tYWluID0gUE9XRVJfRE9NQUlOX1BPUlRfT1RIRVI7Cj4gIAkJaW50 ZWxfZW5jb2Rlci0+cG9ydCA9IHBvcnQ7Cj4gLQkJaW50ZWxfZW5jb2Rlci0+Y3J0Y19tYXNrID0g KDEgPDwgMCkgfCAoMSA8PCAxKTsKPiArCQlpbnRlbF9lbmNvZGVyLT5jcnRjX21hc2sgPSBCSVQo UElQRV9BKSB8IEJJVChQSVBFX0IpOwo+ICAKPiAgCQlzd2l0Y2ggKGR2by0+dHlwZSkgewo+ICAJ CWNhc2UgSU5URUxfRFZPX0NISVBfVE1EUzoKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCj4g aW5kZXggYmNlZDdiOS4uNzVmMmI3YSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9oZG1pLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMK PiBAQCAtMjEyNCwxMSArMjEyNCwxMSBAQCB2b2lkIGludGVsX2hkbWlfaW5pdChzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAlpbnRlbF9lbmNvZGVyLT5wb3J0ID0gcG9ydDsK PiAgCWlmIChJU19DSEVSUllWSUVXKGRldl9wcml2KSkgewo+ICAJCWlmIChwb3J0ID09IFBPUlRf RCkKPiAtCQkJaW50ZWxfZW5jb2Rlci0+Y3J0Y19tYXNrID0gMSA8PCAyOwo+ICsJCQlpbnRlbF9l bmNvZGVyLT5jcnRjX21hc2sgPSBCSVQoUElQRV9DKTsKPiAgCQllbHNlCj4gLQkJCWludGVsX2Vu Y29kZXItPmNydGNfbWFzayA9ICgxIDw8IDApIHwgKDEgPDwgMSk7Cj4gKwkJCWludGVsX2VuY29k ZXItPmNydGNfbWFzayA9IEJJVChQSVBFX0EpIHwgQklUKFBJUEVfQik7Cj4gIAl9IGVsc2Ugewo+ IC0JCWludGVsX2VuY29kZXItPmNydGNfbWFzayA9ICgxIDw8IDApIHwgKDEgPDwgMSkgfCAoMSA8 PCAyKTsKPiArCQlpbnRlbF9lbmNvZGVyLT5jcnRjX21hc2sgPSBCSVQoUElQRV9BKSB8IEJJVChQ SVBFX0IpIHwgQklUKFBJUEVfQyk7Cj4gIAl9Cj4gIAlpbnRlbF9lbmNvZGVyLT5jbG9uZWFibGUg PSAxIDw8IElOVEVMX09VVFBVVF9BTkFMT0c7Cj4gIAkvKgo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9sdmRzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9s dmRzLmMKPiBpbmRleCBlZjgwNDk5Li43YjBmOTUxOSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9sdmRzLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9sdmRzLmMKPiBAQCAtMTAyNiwxMSArMTAyNiwxMSBAQCB2b2lkIGludGVsX2x2ZHNfaW5pdChz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIAlpbnRlbF9lbmNvZGVyLT5wb3J0 ID0gUE9SVF9OT05FOwo+ICAJaW50ZWxfZW5jb2Rlci0+Y2xvbmVhYmxlID0gMDsKPiAgCWlmIChI QVNfUENIX1NQTElUKGRldl9wcml2KSkKPiAtCQlpbnRlbF9lbmNvZGVyLT5jcnRjX21hc2sgPSAo MSA8PCAwKSB8ICgxIDw8IDEpIHwgKDEgPDwgMik7Cj4gKwkJaW50ZWxfZW5jb2Rlci0+Y3J0Y19t YXNrID0gQklUKFBJUEVfQSkgfCBCSVQoUElQRV9CKSB8IEJJVChQSVBFX0MpOwo+ICAJZWxzZSBp ZiAoSVNfR0VONChkZXZfcHJpdikpCj4gLQkJaW50ZWxfZW5jb2Rlci0+Y3J0Y19tYXNrID0gKDEg PDwgMCkgfCAoMSA8PCAxKTsKPiArCQlpbnRlbF9lbmNvZGVyLT5jcnRjX21hc2sgPSBCSVQoUElQ RV9BKSB8IEJJVChQSVBFX0IpOwo+ICAJZWxzZQo+IC0JCWludGVsX2VuY29kZXItPmNydGNfbWFz ayA9ICgxIDw8IDEpOwo+ICsJCWludGVsX2VuY29kZXItPmNydGNfbWFzayA9IEJJVChQSVBFX0Ip Owo+ICAKPiAgCWRybV9jb25uZWN0b3JfaGVscGVyX2FkZChjb25uZWN0b3IsICZpbnRlbF9sdmRz X2Nvbm5lY3Rvcl9oZWxwZXJfZnVuY3MpOwo+ICAJY29ubmVjdG9yLT5kaXNwbGF5X2luZm8uc3Vi cGl4ZWxfb3JkZXIgPSBTdWJQaXhlbEhvcml6b250YWxSR0I7Cj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nkdm8uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3Nkdm8uYwo+IGluZGV4IDJiODc2NDguLjNjNTY4ZjYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfc2R2by5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfc2R2by5jCj4gQEAgLTI2OTcsNyArMjY5Nyw3IEBAIGludGVsX3Nkdm9fb3V0cHV0X3NldHVw KHN0cnVjdCBpbnRlbF9zZHZvICppbnRlbF9zZHZvLCB1aW50MTZfdCBmbGFncykKPiAgCQkJICAg ICAgYnl0ZXNbMF0sIGJ5dGVzWzFdKTsKPiAgCQlyZXR1cm4gZmFsc2U7Cj4gIAl9Cj4gLQlpbnRl bF9zZHZvLT5iYXNlLmNydGNfbWFzayA9ICgxIDw8IDApIHwgKDEgPDwgMSkgfCAoMSA8PCAyKTsK PiArCWludGVsX3Nkdm8tPmJhc2UuY3J0Y19tYXNrID0gQklUKFBJUEVfQSkgfCBCSVQoUElQRV9C KSB8IEJJVChQSVBFX0MpOwo+ICAKPiAgCXJldHVybiB0cnVlOwo+ICB9Cj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3R2LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF90di5jCj4gaW5kZXggYjNkYWJjMi4uM2I2NTE5NyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF90di5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfdHYuYwo+IEBAIC0xNTQyLDkgKzE1NDIsOSBAQCBpbnRlbF90dl9pbml0KHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgCWludGVsX2VuY29kZXItPnR5cGUgPSBJTlRFTF9P VVRQVVRfVFZPVVQ7Cj4gIAlpbnRlbF9lbmNvZGVyLT5wb3dlcl9kb21haW4gPSBQT1dFUl9ET01B SU5fUE9SVF9PVEhFUjsKPiAgCWludGVsX2VuY29kZXItPnBvcnQgPSBQT1JUX05PTkU7Cj4gLQlp bnRlbF9lbmNvZGVyLT5jcnRjX21hc2sgPSAoMSA8PCAwKSB8ICgxIDw8IDEpOwo+ICsJaW50ZWxf ZW5jb2Rlci0+Y3J0Y19tYXNrID0gQklUKFBJUEVfQSkgfCBCSVQoUElQRV9CKTsKPiAgCWludGVs X2VuY29kZXItPmNsb25lYWJsZSA9IDA7Cj4gLQlpbnRlbF9lbmNvZGVyLT5iYXNlLnBvc3NpYmxl X2NydGNzID0gKCgxIDw8IDApIHwgKDEgPDwgMSkpOwo+ICsJaW50ZWxfZW5jb2Rlci0+YmFzZS5w b3NzaWJsZV9jcnRjcyA9IEJJVChQSVBFX0EpIHwgQklUKFBJUEVfQik7Cj4gIAlpbnRlbF90di0+ dHlwZSA9IERSTV9NT0RFX0NPTk5FQ1RPUl9Vbmtub3duOwo+ICAKPiAgCS8qIEJJT1MgbWFyZ2lu IHZhbHVlcyAqLwo+IC0tIAo+IDIuNy40Cj4gCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gSW50ZWwtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ludGVsLWdmeAo=