From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rodrigo Vivi Subject: Re: [PATCH 4/4] drm/i915: Extend skl+ crc sources with more planes Date: Thu, 14 Feb 2019 14:05:43 -0800 Message-ID: <20190214220543.GS31265@intel.com> References: <20190214192219.3858-1-ville.syrjala@linux.intel.com> <20190214192219.3858-4-ville.syrjala@linux.intel.com> <20190214204723.GM31265@intel.com> <20190214212908.GO20097@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8D0706E42F for ; Thu, 14 Feb 2019 22:05:43 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20190214212908.GO20097@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 =?iso-8859-1?Q?Syrj=E4l=E4?= Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBGZWIgMTQsIDIwMTkgYXQgMTE6Mjk6MDhQTSArMDIwMCwgVmlsbGUgU3lyasOkbMOk IHdyb3RlOgo+IE9uIFRodSwgRmViIDE0LCAyMDE5IGF0IDEyOjQ3OjIzUE0gLTA4MDAsIFJvZHJp Z28gVml2aSB3cm90ZToKPiA+IE9uIFRodSwgRmViIDE0LCAyMDE5IGF0IDA5OjIyOjE5UE0gKzAy MDAsIFZpbGxlIFN5cmphbGEgd3JvdGU6Cj4gPiA+IEZyb206IFZpbGxlIFN5cmrDpGzDpCA8dmls bGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gPiA+IAo+ID4gPiBPbiBza2wgdGhlIGNyYyBy ZWdpc3RlcnMgd2VyZSBleHRlbmRlZCB0byBwcm92aWRlIHBsYW5lIGNyY3MKPiA+ID4gZm9yIHVw IHRvIDcgcGxhbmVzLiBBZGQgdGhlIG5ldyBjcmMgc291cmNlcy4KPiA+ID4gCj4gPiA+IFRoZSBj dXJyZW50IGNvZGUgdXNlcyB0aGUgaXZiKyByZWdpc3RlciBkZWZpbml0aW9ucyBmb3Igc2tsKwo+ ID4gPiB3aGljaCBkb2VzIGhhcHBlbiB0byB3b3JrIGFzIHRoZSBwbGFuZTEsIHBsYW5lMiwgYW5k IGRtdXgvcGYKPiA+ID4gYml0cyBoYXBwZW4gdGhlIG1hdGNoIHdoYXQgaXZiKyBoYWQuIFNvIG5v IGJ1ZyBpbiB0aGUgY3VycmVudAo+ID4gPiBjb2RlLgo+ID4gPiAKPiA+ID4gU2lnbmVkLW9mZi1i eTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiA+ID4g LS0tCj4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgIHwgIDUgKysK PiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggICAgICAgfCAgOSArKysrCj4g PiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9waXBlX2NyYy5jIHwgNzYgKysrKysrKysr KysrKysrKysrKysrKysrKystCj4gPiA+ICAzIGZpbGVzIGNoYW5nZWQsIDg4IGluc2VydGlvbnMo KyksIDIgZGVsZXRpb25zKC0pCj4gPiA+IAo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiA+ ID4gaW5kZXggNGUxMWQ5NzBjYmNmLi44NjA3YzFlOWVkMDIgMTAwNjQ0Cj4gPiA+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuaAo+ID4gPiBAQCAtMTE5Niw2ICsxMTk2LDExIEBAIGVudW0gaW50ZWxf cGlwZV9jcmNfc291cmNlIHsKPiA+ID4gIAlJTlRFTF9QSVBFX0NSQ19TT1VSQ0VfTk9ORSwKPiA+ ID4gIAlJTlRFTF9QSVBFX0NSQ19TT1VSQ0VfUExBTkUxLAo+ID4gPiAgCUlOVEVMX1BJUEVfQ1JD X1NPVVJDRV9QTEFORTIsCj4gPiA+ICsJSU5URUxfUElQRV9DUkNfU09VUkNFX1BMQU5FMywKPiA+ ID4gKwlJTlRFTF9QSVBFX0NSQ19TT1VSQ0VfUExBTkU0LAo+ID4gPiArCUlOVEVMX1BJUEVfQ1JD X1NPVVJDRV9QTEFORTUsCj4gPiA+ICsJSU5URUxfUElQRV9DUkNfU09VUkNFX1BMQU5FNiwKPiA+ ID4gKwlJTlRFTF9QSVBFX0NSQ19TT1VSQ0VfUExBTkU3LAo+ID4gPiAgCUlOVEVMX1BJUEVfQ1JD X1NPVVJDRV9QSVBFLAo+ID4gPiAgCS8qIFRWL0RQIG9uIHByZS1nZW41L3ZsdiBjYW4ndCB1c2Ug dGhlIHBpcGUgc291cmNlLiAqLwo+ID4gPiAgCUlOVEVMX1BJUEVfQ1JDX1NPVVJDRV9UViwKPiA+ ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gPiA+IGluZGV4IDBkZjhjNmU3NmRhNy4uNTI4NjUz NmU5Y2I4IDEwMDY0NAo+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5o Cj4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiA+ID4gQEAgLTQw MTcsNiArNDAxNywxNSBAQCBlbnVtIHsKPiA+ID4gIC8qIFBpcGUgQSBDUkMgcmVncyAqLwo+ID4g PiAgI2RlZmluZSBfUElQRV9DUkNfQ1RMX0EJCQkweDYwMDUwCj4gPiA+ICAjZGVmaW5lICAgUElQ RV9DUkNfRU5BQkxFCQkoMSA8PCAzMSkKPiA+ID4gKy8qIHNrbCsgc291cmNlIHNlbGVjdGlvbiAq Lwo+ID4gPiArI2RlZmluZSAgIFBJUEVfQ1JDX1NPVVJDRV9QTEFORV8xX1NLTAkoMCA8PCAyOCkK PiA+ID4gKyNkZWZpbmUgICBQSVBFX0NSQ19TT1VSQ0VfUExBTkVfMl9TS0wJKDIgPDwgMjgpCj4g PiA+ICsjZGVmaW5lICAgUElQRV9DUkNfU09VUkNFX0RNVVhfU0tMCSg0IDw8IDI4KQo+ID4gPiAr I2RlZmluZSAgIFBJUEVfQ1JDX1NPVVJDRV9QTEFORV8zX1NLTAkoNiA8PCAyOCkKPiA+ID4gKyNk ZWZpbmUgICBQSVBFX0NSQ19TT1VSQ0VfUExBTkVfNF9TS0wJKDcgPDwgMjgpCj4gPiA+ICsjZGVm aW5lICAgUElQRV9DUkNfU09VUkNFX1BMQU5FXzVfU0tMCSg1IDw8IDI4KQo+ID4gPiArI2RlZmlu ZSAgIFBJUEVfQ1JDX1NPVVJDRV9QTEFORV82X1NLTAkoMyA8PCAyOCkKPiA+ID4gKyNkZWZpbmUg ICBQSVBFX0NSQ19TT1VSQ0VfUExBTkVfN19TS0wJKDEgPDwgMjgpCj4gPiAKPiA+IEkgZ290IG15 c2VsZiBzdGFyaW5nIGF0IHNwZWMgZm9yIGEgd2hpbGUgdHJ5aW5nIHRvCj4gPiB1bmRlcnN0YW5k IHRoZSBsb2dpYyBvZiB0aGlzIHNlcXVlbmNlLi4uCj4gCj4gRGlkIHlvdSBmaW5kIGFueSBsb2dp YyBpbiBpdD8gSSBob25lc3RseSBjYW4ndCByZW1lbWJlciBhbnltb3JlIHdoeSBJCj4gZGlkIGl0 IGxpa2UgdGhpcy4KCm5vIG5vLi4uIEknbSBub3QgY3JpdGljaXppbmcgeW91LiBZb3VyIHdheSBp cyB0aGUgbW9zdApjbGVhbiBhbmQgb3JnYW5pemVkIG9uZS4KCk15IHN1cnByaXNlIGNhbWUgZnJv bSB0aGUgZmFjdCB0aGF0IEkgY291bGRuJ3QgZmluZAphbnkgbG9naWMgb24gaG93IHRob3NlIGJp dHMgZ290IHNlbGVjdGVkIGF0IGZpcnN0IHBsYWNlLiA7KQoKPiAKPiA+IAo+ID4gCj4gPiBSZXZp ZXdlZC1ieTogUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwuY29tPgo+ID4gCj4gPiAK PiA+IAo+ID4gPiAgLyogaXZiKyBzb3VyY2Ugc2VsZWN0aW9uICovCj4gPiA+ICAjZGVmaW5lICAg UElQRV9DUkNfU09VUkNFX1BSSU1BUllfSVZCCSgwIDw8IDI5KQo+ID4gPiAgI2RlZmluZSAgIFBJ UEVfQ1JDX1NPVVJDRV9TUFJJVEVfSVZCCSgxIDw8IDI5KQo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGlwZV9jcmMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3BpcGVfY3JjLmMKPiA+ID4gaW5kZXggNjZiYjdiMDMxNTM3Li5lNTIxZjgyYmE1ZDkg MTAwNjQ0Cj4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BpcGVfY3JjLmMK PiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGlwZV9jcmMuYwo+ID4gPiBA QCAtMzQsNiArMzQsMTEgQEAgc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBwaXBlX2NyY19zb3Vy Y2VzW10gPSB7Cj4gPiA+ICAJW0lOVEVMX1BJUEVfQ1JDX1NPVVJDRV9OT05FXSA9ICJub25lIiwK PiA+ID4gIAlbSU5URUxfUElQRV9DUkNfU09VUkNFX1BMQU5FMV0gPSAicGxhbmUxIiwKPiA+ID4g IAlbSU5URUxfUElQRV9DUkNfU09VUkNFX1BMQU5FMl0gPSAicGxhbmUyIiwKPiA+ID4gKwlbSU5U RUxfUElQRV9DUkNfU09VUkNFX1BMQU5FM10gPSAicGxhbmUzIiwKPiA+ID4gKwlbSU5URUxfUElQ RV9DUkNfU09VUkNFX1BMQU5FNF0gPSAicGxhbmU0IiwKPiA+ID4gKwlbSU5URUxfUElQRV9DUkNf U09VUkNFX1BMQU5FNV0gPSAicGxhbmU1IiwKPiA+ID4gKwlbSU5URUxfUElQRV9DUkNfU09VUkNF X1BMQU5FNl0gPSAicGxhbmU2IiwKPiA+ID4gKwlbSU5URUxfUElQRV9DUkNfU09VUkNFX1BMQU5F N10gPSAicGxhbmU3IiwKPiA+ID4gIAlbSU5URUxfUElQRV9DUkNfU09VUkNFX1BJUEVdID0gInBp cGUiLAo+ID4gPiAgCVtJTlRFTF9QSVBFX0NSQ19TT1VSQ0VfVFZdID0gIlRWIiwKPiA+ID4gIAlb SU5URUxfUElQRV9DUkNfU09VUkNFX0RQX0JdID0gIkRQLUIiLAo+ID4gPiBAQCAtMzY4LDYgKzM3 Myw1MCBAQCBzdGF0aWMgaW50IGl2Yl9waXBlX2NyY19jdGxfcmVnKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiwKPiA+ID4gIAlyZXR1cm4gMDsKPiA+ID4gIH0KPiA+ID4gIAo+ID4g PiArc3RhdGljIGludCBza2xfcGlwZV9jcmNfY3RsX3JlZyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYsCj4gPiA+ICsJCQkJZW51bSBwaXBlIHBpcGUsCj4gPiA+ICsJCQkJZW51bSBp bnRlbF9waXBlX2NyY19zb3VyY2UgKnNvdXJjZSwKPiA+ID4gKwkJCQl1aW50MzJfdCAqdmFsLAo+ ID4gPiArCQkJCWJvb2wgc2V0X3dhKQo+ID4gPiArewo+ID4gPiArCWlmICgqc291cmNlID09IElO VEVMX1BJUEVfQ1JDX1NPVVJDRV9BVVRPKQo+ID4gPiArCQkqc291cmNlID0gSU5URUxfUElQRV9D UkNfU09VUkNFX1BJUEU7Cj4gPiA+ICsKPiA+ID4gKwlzd2l0Y2ggKCpzb3VyY2UpIHsKPiA+ID4g KwljYXNlIElOVEVMX1BJUEVfQ1JDX1NPVVJDRV9QTEFORTE6Cj4gPiA+ICsJCSp2YWwgPSBQSVBF X0NSQ19FTkFCTEUgfCBQSVBFX0NSQ19TT1VSQ0VfUExBTkVfMV9TS0w7Cj4gPiA+ICsJCWJyZWFr Owo+ID4gPiArCWNhc2UgSU5URUxfUElQRV9DUkNfU09VUkNFX1BMQU5FMjoKPiA+ID4gKwkJKnZh bCA9IFBJUEVfQ1JDX0VOQUJMRSB8IFBJUEVfQ1JDX1NPVVJDRV9QTEFORV8yX1NLTDsKPiA+ID4g KwkJYnJlYWs7Cj4gPiA+ICsJY2FzZSBJTlRFTF9QSVBFX0NSQ19TT1VSQ0VfUExBTkUzOgo+ID4g PiArCQkqdmFsID0gUElQRV9DUkNfRU5BQkxFIHwgUElQRV9DUkNfU09VUkNFX1BMQU5FXzNfU0tM Owo+ID4gPiArCQlicmVhazsKPiA+ID4gKwljYXNlIElOVEVMX1BJUEVfQ1JDX1NPVVJDRV9QTEFO RTQ6Cj4gPiA+ICsJCSp2YWwgPSBQSVBFX0NSQ19FTkFCTEUgfCBQSVBFX0NSQ19TT1VSQ0VfUExB TkVfNF9TS0w7Cj4gPiA+ICsJCWJyZWFrOwo+ID4gPiArCWNhc2UgSU5URUxfUElQRV9DUkNfU09V UkNFX1BMQU5FNToKPiA+ID4gKwkJKnZhbCA9IFBJUEVfQ1JDX0VOQUJMRSB8IFBJUEVfQ1JDX1NP VVJDRV9QTEFORV81X1NLTDsKPiA+ID4gKwkJYnJlYWs7Cj4gPiA+ICsJY2FzZSBJTlRFTF9QSVBF X0NSQ19TT1VSQ0VfUExBTkU2Ogo+ID4gPiArCQkqdmFsID0gUElQRV9DUkNfRU5BQkxFIHwgUElQ RV9DUkNfU09VUkNFX1BMQU5FXzZfU0tMOwo+ID4gPiArCQlicmVhazsKPiA+ID4gKwljYXNlIElO VEVMX1BJUEVfQ1JDX1NPVVJDRV9QTEFORTc6Cj4gPiA+ICsJCSp2YWwgPSBQSVBFX0NSQ19FTkFC TEUgfCBQSVBFX0NSQ19TT1VSQ0VfUExBTkVfN19TS0w7Cj4gPiA+ICsJCWJyZWFrOwo+ID4gPiAr CWNhc2UgSU5URUxfUElQRV9DUkNfU09VUkNFX1BJUEU6Cj4gPiA+ICsJCSp2YWwgPSBQSVBFX0NS Q19FTkFCTEUgfCBQSVBFX0NSQ19TT1VSQ0VfRE1VWF9TS0w7Cj4gPiA+ICsJCWJyZWFrOwo+ID4g PiArCWNhc2UgSU5URUxfUElQRV9DUkNfU09VUkNFX05PTkU6Cj4gPiA+ICsJCSp2YWwgPSAwOwo+ ID4gPiArCQlicmVhazsKPiA+ID4gKwlkZWZhdWx0Ogo+ID4gPiArCQlyZXR1cm4gLUVJTlZBTDsK PiA+ID4gKwl9Cj4gPiA+ICsKPiA+ID4gKwlyZXR1cm4gMDsKPiA+ID4gK30KPiA+ID4gKwo+ID4g PiAgc3RhdGljIGludCBnZXRfbmV3X2NyY19jdGxfcmVnKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiwKPiA+ID4gIAkJCSAgICAgICBlbnVtIHBpcGUgcGlwZSwKPiA+ID4gIAkJCSAg ICAgICBlbnVtIGludGVsX3BpcGVfY3JjX3NvdXJjZSAqc291cmNlLCB1MzIgKnZhbCwKPiA+ID4g QEAgLTM4MSw4ICs0MzAsMTAgQEAgc3RhdGljIGludCBnZXRfbmV3X2NyY19jdGxfcmVnKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiA+ID4gIAkJcmV0dXJuIHZsdl9waXBlX2Ny Y19jdGxfcmVnKGRldl9wcml2LCBwaXBlLCBzb3VyY2UsIHZhbCk7Cj4gPiA+ICAJZWxzZSBpZiAo SVNfR0VOX1JBTkdFKGRldl9wcml2LCA1LCA2KSkKPiA+ID4gIAkJcmV0dXJuIGlsa19waXBlX2Ny Y19jdGxfcmVnKHNvdXJjZSwgdmFsKTsKPiA+ID4gLQllbHNlCj4gPiA+ICsJZWxzZSBpZiAoSU5U RUxfR0VOKGRldl9wcml2KSA8IDkpCj4gPiA+ICAJCXJldHVybiBpdmJfcGlwZV9jcmNfY3RsX3Jl ZyhkZXZfcHJpdiwgcGlwZSwgc291cmNlLCB2YWwsIHNldF93YSk7Cj4gPiA+ICsJZWxzZQo+ID4g PiArCQlyZXR1cm4gc2tsX3BpcGVfY3JjX2N0bF9yZWcoZGV2X3ByaXYsIHBpcGUsIHNvdXJjZSwg dmFsLCBzZXRfd2EpOwo+ID4gPiAgfQo+ID4gPiAgCj4gPiA+ICBzdGF0aWMgaW50Cj4gPiA+IEBA IC00ODIsNiArNTMzLDI1IEBAIHN0YXRpYyBpbnQgaXZiX2NyY19zb3VyY2VfdmFsaWQoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4gPiAgCX0KPiA+ID4gIH0KPiA+ID4gIAo+ ID4gPiArc3RhdGljIGludCBza2xfY3JjX3NvdXJjZV92YWxpZChzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYsCj4gPiA+ICsJCQkJY29uc3QgZW51bSBpbnRlbF9waXBlX2NyY19zb3Vy Y2Ugc291cmNlKQo+ID4gPiArewo+ID4gPiArCXN3aXRjaCAoc291cmNlKSB7Cj4gPiA+ICsJY2Fz ZSBJTlRFTF9QSVBFX0NSQ19TT1VSQ0VfUElQRToKPiA+ID4gKwljYXNlIElOVEVMX1BJUEVfQ1JD X1NPVVJDRV9QTEFORTE6Cj4gPiA+ICsJY2FzZSBJTlRFTF9QSVBFX0NSQ19TT1VSQ0VfUExBTkUy Ogo+ID4gPiArCWNhc2UgSU5URUxfUElQRV9DUkNfU09VUkNFX1BMQU5FMzoKPiA+ID4gKwljYXNl IElOVEVMX1BJUEVfQ1JDX1NPVVJDRV9QTEFORTQ6Cj4gPiA+ICsJY2FzZSBJTlRFTF9QSVBFX0NS Q19TT1VSQ0VfUExBTkU1Ogo+ID4gPiArCWNhc2UgSU5URUxfUElQRV9DUkNfU09VUkNFX1BMQU5F NjoKPiA+ID4gKwljYXNlIElOVEVMX1BJUEVfQ1JDX1NPVVJDRV9QTEFORTc6Cj4gPiA+ICsJY2Fz ZSBJTlRFTF9QSVBFX0NSQ19TT1VSQ0VfTk9ORToKPiA+ID4gKwkJcmV0dXJuIDA7Cj4gPiA+ICsJ ZGVmYXVsdDoKPiA+ID4gKwkJcmV0dXJuIC1FSU5WQUw7Cj4gPiA+ICsJfQo+ID4gPiArfQo+ID4g PiArCj4gPiA+ICBzdGF0aWMgaW50Cj4gPiA+ICBpbnRlbF9pc192YWxpZF9jcmNfc291cmNlKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiA+ID4gIAkJCSAgY29uc3QgZW51bSBp bnRlbF9waXBlX2NyY19zb3VyY2Ugc291cmNlKQo+ID4gPiBAQCAtNDk0LDggKzU2NCwxMCBAQCBp bnRlbF9pc192YWxpZF9jcmNfc291cmNlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwKPiA+ID4gIAkJcmV0dXJuIHZsdl9jcmNfc291cmNlX3ZhbGlkKGRldl9wcml2LCBzb3VyY2Up Owo+ID4gPiAgCWVsc2UgaWYgKElTX0dFTl9SQU5HRShkZXZfcHJpdiwgNSwgNikpCj4gPiA+ICAJ CXJldHVybiBpbGtfY3JjX3NvdXJjZV92YWxpZChkZXZfcHJpdiwgc291cmNlKTsKPiA+ID4gLQll bHNlCj4gPiA+ICsJZWxzZSBpZiAoSU5URUxfR0VOKGRldl9wcml2KSA8IDkpCj4gPiA+ICAJCXJl dHVybiBpdmJfY3JjX3NvdXJjZV92YWxpZChkZXZfcHJpdiwgc291cmNlKTsKPiA+ID4gKwllbHNl Cj4gPiA+ICsJCXJldHVybiBza2xfY3JjX3NvdXJjZV92YWxpZChkZXZfcHJpdiwgc291cmNlKTsK PiA+ID4gIH0KPiA+ID4gIAo+ID4gPiAgY29uc3QgY2hhciAqY29uc3QgKmludGVsX2NydGNfZ2V0 X2NyY19zb3VyY2VzKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiA+ID4gLS0gCj4gPiA+IDIuMTku Mgo+ID4gPiAKPiA+ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KPiA+ID4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+ID4gPiBJbnRlbC1nZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCj4gPiA+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cj4gCj4gLS0gCj4gVmlsbGUgU3lyasOkbMOkCj4gSW50ZWwK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4