From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v2 2/2] drm/i915: Don't advertise modes that exceed the max plane size Date: Wed, 18 Sep 2019 19:02:18 +0300 Message-ID: <20190918160218.GO1208@intel.com> References: <20190905135044.2001-2-ville.syrjala@linux.intel.com> <20190918150707.32420-1-ville.syrjala@linux.intel.com> <20190918152409.GQ218215@art_vandelay> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1F6ED6F3F3 for ; Wed, 18 Sep 2019 16:02:23 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20190918152409.GQ218215@art_vandelay> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Sean Paul Cc: Leho Kraav , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBTZXAgMTgsIDIwMTkgYXQgMTE6MjQ6MDlBTSAtMDQwMCwgU2VhbiBQYXVsIHdyb3Rl Ogo+IE9uIFdlZCwgU2VwIDE4LCAyMDE5IGF0IDA2OjA3OjA3UE0gKzAzMDAsIFZpbGxlIFN5cmph bGEgd3JvdGU6Cj4gPiBGcm9tOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXgu aW50ZWwuY29tPgo+ID4gCj4gPiBNb2Rlcm4gcGxhdGZvcm1zIGFsbG93IHRoZSB0cmFuc2NvZGVy cyBoZGlzcGxheS92ZGlzcGxheSB0byBleGNlZWQgdGhlCj4gPiBwbGFuZXMnIG1heCByZXNvbHV0 aW9uLiBUaGlzIGhhcyB0aGUgbmFzdHkgaW1wbGljYXRpb24gdGhhdCBtb2RlcyBvbiB0aGUKPiA+ IGNvbm5lY3RvcnMnIG1vZGUgbGlzdCBtYXkgbm90IGJlIHVzYWJsZSB3aGVuIHRoZSB1c2VyIGFz a3MgZm9yIGEKPiA+IGZ1bGxzY3JlZW4gcGxhbmUuIFNlZWluZyBhcyB0aGF0IGlzIHRoZSBtb3N0 IGNvbW1vbiB1c2UgY2FzZSBpdCBzZWVtcwo+ID4gcHJ1ZGVudCB0byBmaWx0ZXIgb3V0IG1vZGVz IHRoYXQgZG9uJ3QgYWxsb3cgZm9yIGZ1bGxzY3JlZW4gcGxhbmVzIHRvCj4gPiBiZSBlbmFibGVk Lgo+ID4gCj4gPiBMZXQncyBkbyB0aGF0IGluIHRoZSBjb25uZXRvciAubW9kZV92YWxpZCgpIGhv b2sgc28gdGhhdCBub3JtYWxseQo+ID4gc3VjaCBtb2RlcyBhcmUga2VwdCBoaWRkZW4gYnV0IHRo ZSB1c2VyIGlzIHN0aWxsIGFibGUgdG8gZm9yY2libHkKPiA+IHNwZWNpZnkgc3VjaCBhIG1vZGUg aWYgdGhleSBrbm93IHRoZXkgZG9uJ3QgbmVlZCBmdWxsc2NyZWVuIHBsYW5lcy4KPiA+IAo+ID4g VGhpcyBpcyBpbiBsaW5lIHdpdGggZWFsaWVyIHBvbGljaWVzIHJlZ2FyZGluZyBjZXJ0YWluIGNs b2NrIGxpbWl0cy4KPiA+IFRoZSBpZGVhIGlzIHRvIHByZXZlbnQgdGhlIGNhc3VhbCB1c2VyIGZy b20gZW5jb3VudGVyaW5nIGEgbW9kZSB0aGF0Cj4gPiB3b3VsZCBmYWlsIHVuZGVyIHR5cGljYWwg Y29uZGl0aW9ucywgYnV0IGFsbG93IHRoZSBleHBlcnQgdXNlciB0bwo+ID4gZm9yY2UgdGhpbmdz IGlmIHRoZXkgc28gd2lzaC4KPiAKPiBJc24ndCB0aGlzIGV4YWN0bHkgd2hhdCBhdG9taWNfY2hl Y2sgaXMgZm9yPyBXaHkgbm90IGp1c3QgYWRkIGEgZGVidWcgbWVzc2FnZSBpbgo+IGdldF9tYXhf cGxhbmVfc2l6ZSB0byBsZWF2ZSBhIGJyZWFkY3J1bWI/CgpUaGVyZSdzIGFscmVhZHkgYSBkZWJ1 ZyBtZXNzYWdlLiBXb24ndCByZWFsbHkgaGVscCB3aGVuIHRoZSBzY3JlZW4gZmFpbHMKdG8gbGln aHQgdXAgYXV0b21hZ2ljYWxseSBvbiBhY2NvdW50IG9mIHRoZSBwcmVmZXJyZWQgbW9kZSBiZWlu ZyB0b28KYmlnLgoKPiAKPiBTZWFuCj4gCj4gPiAKPiA+IE1heWJlIGluIHRoZSBmdXR1cmUgd2Ug c2hvdWxkIGNvbnNpZGVyIGF1dG9tYWdpY2FsbHkgdXNpbmcgdHdvCj4gPiBwbGFuZXMgd2hlbiBv bmUgY2FuJ3QgY292ZXIgdGhlIGVudGlyZSBzY3JlZW4/IFdvdWxkbid0IGJlIGEKPiA+IGdyZWF0 IG1hdGNoIGZvciB0aGUgY3VycmVudCB1YXBpIHdpdGggZXhwbGljaXQgcGxhbmVzIHRob3VnaCwK PiA+IGJ1dCBJIGd1ZXNzIG5vIHdvcnNlIHRoYW4gdXNpbmcgdHdvIHBpcGVzICh3aGljaCB3ZSBh cHBhcmVudGx5Cj4gPiBoYXZlIHRvIGluIHRoZSBmdXR1cmUgYW55d2F5KS4gRWl0aGVyIHRoYXQg b3Igd2UnZCBoYXZlIHRvCj4gPiB0ZWFjaCB1c2Vyc3BhY2UgdG8gZG8gaXQgZm9yIHVzLgo+ID4g Cj4gPiB2MjogRml4IGljbCsgbWF4IHBsYW5lIGhlaWd0aCAoTWFuYXNpKQo+ID4gCj4gPiBDYzog TWFuYXNpIE5hdmFyZSA8bWFuYXNpLmQubmF2YXJlQGludGVsLmNvbT4KPiA+IENjOiBMZWhvIEty YWF2IDxsZWhvQGtyYWF2LmNvbT4KPiA+IENjOiBTZWFuIFBhdWwgPHNlYW5AcG9vcmx5LnJ1bj4K PiA+IENjOiBKb3PDqSBSb2JlcnRvIGRlIFNvdXphIDxqb3NlLnNvdXphQGludGVsLmNvbT4KPiA+ IFJldmlld2VkLWJ5OiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXgu aW50ZWwuY29tPgo+ID4gU2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJq YWxhQGxpbnV4LmludGVsLmNvbT4KPiA+IC0tLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfZGlzcGxheS5jIHwgMzYgKysrKysrKysrKysrKysrKysrKysKPiA+ICBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuaCB8ICA0ICsrKwo+ID4gIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHAuYyAgICAgIHwgIDIgKy0KPiA+ICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RzaS5jICAgICB8ICAzICstCj4gPiAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9oZG1pLmMgICAgfCAgNCArKy0KPiA+ ICA1IGZpbGVzIGNoYW5nZWQsIDQ2IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCj4gPiAK PiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3Bs YXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCj4gPiBp bmRleCBmNWU2NWUwNTJkOTEuLjAxNDdlNGFlMzYyMiAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCj4gPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYwo+ID4gQEAgLTE1NzUzLDYgKzE1NzUz LDcgQEAgaW50ZWxfbW9kZV92YWxpZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ID4gIAkJCSAg IERSTV9NT0RFX0ZMQUdfQ0xLRElWMikpCj4gPiAgCQlyZXR1cm4gTU9ERV9CQUQ7Cj4gPiAgCj4g PiArCS8qIFRyYW5zY29kZXIgdGltaW5nIGxpbWl0cyAqLwo+ID4gIAlpZiAoSU5URUxfR0VOKGRl dl9wcml2KSA+PSAxMSkgewo+ID4gIAkJaGRpc3BsYXlfbWF4ID0gMTYzODQ7Cj4gPiAgCQl2ZGlz cGxheV9tYXggPSA4MTkyOwo+ID4gQEAgLTE1NzkxLDYgKzE1NzkyLDQxIEBAIGludGVsX21vZGVf dmFsaWQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiA+ICAJcmV0dXJuIE1PREVfT0s7Cj4gPiAg fQo+ID4gIAo+ID4gK2VudW0gZHJtX21vZGVfc3RhdHVzCj4gPiAraW50ZWxfbW9kZV92YWxpZF9t YXhfcGxhbmVfc2l6ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gPiArCQkJ CWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQo+ID4gK3sKPiA+ICsJaW50IHBs YW5lX3dpZHRoX21heCwgcGxhbmVfaGVpZ2h0X21heDsKPiA+ICsKPiA+ICsJLyoKPiA+ICsJICog aW50ZWxfbW9kZV92YWxpZCgpIHNob3VsZCBiZQo+ID4gKwkgKiBzdWZmaWNpZW50IG9uIG9sZGVy IHBsYXRmb3Jtcy4KPiA+ICsJICovCj4gPiArCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpIDwgOSkK PiA+ICsJCXJldHVybiBNT0RFX09LOwo+ID4gKwo+ID4gKwkvKgo+ID4gKwkgKiBNb3N0IHBlb3Bs ZSB3aWxsIHByb2JhYmx5IHdhbnQgYSBmdWxsc2NyZWVuCj4gPiArCSAqIHBsYW5lIHNvIGxldCdz IG5vdCBhZHZlcnRpemUgbW9kZXMgdGhhdCBhcmUKPiA+ICsJICogdG9vIGJpZyBmb3IgdGhhdC4K PiA+ICsJICovCj4gPiArCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDExKSB7Cj4gPiArCQlw bGFuZV93aWR0aF9tYXggPSA1MTIwOwo+ID4gKwkJcGxhbmVfaGVpZ2h0X21heCA9IDQzMjA7Cj4g PiArCX0gZWxzZSB7Cj4gPiArCQlwbGFuZV93aWR0aF9tYXggPSA1MTIwOwo+ID4gKwkJcGxhbmVf aGVpZ2h0X21heCA9IDQwOTY7Cj4gPiArCX0KPiA+ICsKPiA+ICsJaWYgKG1vZGUtPmhkaXNwbGF5 ID4gcGxhbmVfd2lkdGhfbWF4KQo+ID4gKwkJcmV0dXJuIE1PREVfSF9JTExFR0FMOwo+ID4gKwo+ ID4gKwlpZiAobW9kZS0+dmRpc3BsYXkgPiBwbGFuZV9oZWlnaHRfbWF4KQo+ID4gKwkJcmV0dXJu IE1PREVfVl9JTExFR0FMOwo+ID4gKwo+ID4gKwlyZXR1cm4gTU9ERV9PSzsKPiA+ICt9Cj4gPiAr Cj4gPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fbW9kZV9jb25maWdfZnVuY3MgaW50ZWxfbW9k ZV9mdW5jcyA9IHsKPiA+ICAJLmZiX2NyZWF0ZSA9IGludGVsX3VzZXJfZnJhbWVidWZmZXJfY3Jl YXRlLAo+ID4gIAkuZ2V0X2Zvcm1hdF9pbmZvID0gaW50ZWxfZ2V0X2Zvcm1hdF9pbmZvLAo+ID4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5o IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmgKPiA+IGluZGV4 IDY2MzMwZmNiMTBkNC4uYjFhZTBlNTljNzE1IDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmgKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5oCj4gPiBAQCAtMzIsNiArMzIsNyBAQCBlbnVt IGxpbmtfbV9uX3NldDsKPiA+ICBzdHJ1Y3QgZHBsbDsKPiA+ICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rv cjsKPiA+ICBzdHJ1Y3QgZHJtX2RldmljZTsKPiA+ICtzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZTsK PiA+ICBzdHJ1Y3QgZHJtX2VuY29kZXI7Cj4gPiAgc3RydWN0IGRybV9maWxlOwo+ID4gIHN0cnVj dCBkcm1fZm9ybWF0X2luZm87Cj4gPiBAQCAtNDQ4LDYgKzQ0OSw5IEBAIHZvaWQgbHB0X2Rpc2Fi bGVfY2xrb3V0X2RwKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cj4gPiAgdTMy IGludGVsX3BsYW5lX2ZiX21heF9zdHJpZGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LAo+ID4gIAkJCSAgICAgIHUzMiBwaXhlbF9mb3JtYXQsIHU2NCBtb2RpZmllcik7Cj4gPiAg Ym9vbCBpbnRlbF9wbGFuZV9jYW5fcmVtYXAoY29uc3Qgc3RydWN0IGludGVsX3BsYW5lX3N0YXRl ICpwbGFuZV9zdGF0ZSk7Cj4gPiArZW51bSBkcm1fbW9kZV9zdGF0dXMKPiA+ICtpbnRlbF9tb2Rl X3ZhbGlkX21heF9wbGFuZV9zaXplKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwK PiA+ICsJCQkJY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpOwo+ID4gIGVudW0g cGh5IGludGVsX3BvcnRfdG9fcGh5KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LCBlbnVt IHBvcnQgcG9ydCk7Cj4gPiAgCj4gPiAgdm9pZCBpbnRlbF9wbGFuZV9kZXN0cm95KHN0cnVjdCBk cm1fcGxhbmUgKnBsYW5lKTsKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9k aXNwbGF5L2ludGVsX2RwLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rw LmMKPiA+IGluZGV4IGQwOTEzM2E5NThlMS4uY2NhZjlmMDBiNzQ3IDEwMDY0NAo+ID4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcC5jCj4gPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwLmMKPiA+IEBAIC01NjIsNyArNTYyLDcgQEAg aW50ZWxfZHBfbW9kZV92YWxpZChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ID4g IAlpZiAobW9kZS0+ZmxhZ3MgJiBEUk1fTU9ERV9GTEFHX0RCTENMSykKPiA+ICAJCXJldHVybiBN T0RFX0hfSUxMRUdBTDsKPiA+ICAKPiA+IC0JcmV0dXJuIE1PREVfT0s7Cj4gPiArCXJldHVybiBp bnRlbF9tb2RlX3ZhbGlkX21heF9wbGFuZV9zaXplKGRldl9wcml2LCBtb2RlKTsKPiA+ICB9Cj4g PiAgCj4gPiAgdTMyIGludGVsX2RwX3BhY2tfYXV4KGNvbnN0IHU4ICpzcmMsIGludCBzcmNfYnl0 ZXMpCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9k c2kuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHNpLmMKPiA+IGluZGV4 IDVmZWMwMmFjZWFlZC4uYTJhOTM3MTA5YTVhIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kc2kuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF9kc2kuYwo+ID4gQEAgLTU1LDYgKzU1LDcgQEAgaW50IGludGVsX2Rz aV9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiA+ICBlbnVtIGRy bV9tb2RlX3N0YXR1cyBpbnRlbF9kc2lfbW9kZV92YWxpZChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAq Y29ubmVjdG9yLAo+ID4gIAkJCQkJICBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiA+ ICB7Cj4gPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY29u bmVjdG9yLT5kZXYpOwo+ID4gIAlzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICppbnRlbF9jb25uZWN0 b3IgPSB0b19pbnRlbF9jb25uZWN0b3IoY29ubmVjdG9yKTsKPiA+ICAJY29uc3Qgc3RydWN0IGRy bV9kaXNwbGF5X21vZGUgKmZpeGVkX21vZGUgPSBpbnRlbF9jb25uZWN0b3ItPnBhbmVsLmZpeGVk X21vZGU7Cj4gPiAgCWludCBtYXhfZG90Y2xrID0gdG9faTkxNShjb25uZWN0b3ItPmRldiktPm1h eF9kb3RjbGtfZnJlcTsKPiA+IEBAIC03Myw3ICs3NCw3IEBAIGVudW0gZHJtX21vZGVfc3RhdHVz IGludGVsX2RzaV9tb2RlX3ZhbGlkKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4g PiAgCQkJcmV0dXJuIE1PREVfQ0xPQ0tfSElHSDsKPiA+ICAJfQo+ID4gIAo+ID4gLQlyZXR1cm4g TU9ERV9PSzsKPiA+ICsJcmV0dXJuIGludGVsX21vZGVfdmFsaWRfbWF4X3BsYW5lX3NpemUoZGV2 X3ByaXYsIG1vZGUpOwo+ID4gIH0KPiA+ICAKPiA+ICBzdHJ1Y3QgaW50ZWxfZHNpX2hvc3QgKmlu dGVsX2RzaV9ob3N0X2luaXQoc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpLAo+ID4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfaGRtaS5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9oZG1pLmMKPiA+IGluZGV4IGM1MDBmYzkxNTRj OC4uZGJjNjg2NTE1ZGNlIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlz cGxheS9pbnRlbF9oZG1pLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkv aW50ZWxfaGRtaS5jCj4gPiBAQCAtMjE4OCw4ICsyMTg4LDEwIEBAIGludGVsX2hkbWlfbW9kZV92 YWxpZChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ID4gIAkJCXN0YXR1cyA9IGhk bWlfcG9ydF9jbG9ja192YWxpZChoZG1pLCBjbG9jayAqIDUgLyA0LAo+ID4gIAkJCQkJCSAgICAg ICB0cnVlLCBmb3JjZV9kdmkpOwo+ID4gIAl9Cj4gPiArCWlmIChzdGF0dXMgIT0gTU9ERV9PSykK PiA+ICsJCXJldHVybiBzdGF0dXM7Cj4gPiAgCj4gPiAtCXJldHVybiBzdGF0dXM7Cj4gPiArCXJl dHVybiBpbnRlbF9tb2RlX3ZhbGlkX21heF9wbGFuZV9zaXplKGRldl9wcml2LCBtb2RlKTsKPiA+ ICB9Cj4gPiAgCj4gPiAgc3RhdGljIGJvb2wgaGRtaV9kZWVwX2NvbG9yX3Bvc3NpYmxlKGNvbnN0 IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+ID4gLS0gCj4gPiAyLjIxLjAK PiA+IAo+IAo+IC0tIAo+IFNlYW4gUGF1bCwgU29mdHdhcmUgRW5naW5lZXIsIEdvb2dsZSAvIENo cm9taXVtIE9TCgotLSAKVmlsbGUgU3lyasOkbMOkCkludGVsCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==