From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 11/20] drm/i915: prepare scaler for YCBCR420 modeset Date: Thu, 13 Jul 2017 16:05:49 +0300 Message-ID: <20170713130549.GD12629@intel.com> References: <1499685528-6926-1-git-send-email-shashank.sharma@intel.com> <1499685528-6926-12-git-send-email-shashank.sharma@intel.com> <20170712171727.GL12629@intel.com> <20170713125206.GY12629@intel.com> <577c645c-e544-afc7-c7d2-595c98b2f507@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <577c645c-e544-afc7-c7d2-595c98b2f507@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Sharma, Shashank" Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCBKdWwgMTMsIDIwMTcgYXQgMDY6Mjc6MDRQTSArMDUzMCwgU2hhcm1hLCBTaGFzaGFu ayB3cm90ZToKPiBSZWdhcmRzCj4gCj4gU2hhc2hhbmsKPiAKPiAKPiBPbiA3LzEzLzIwMTcgNjoy MiBQTSwgVmlsbGUgU3lyasOkbMOkIHdyb3RlOgo+ID4gT24gVGh1LCBKdWwgMTMsIDIwMTcgYXQg MTA6NTE6MDRBTSArMDUzMCwgU2hhcm1hLCBTaGFzaGFuayB3cm90ZToKPiA+PiBSZWdhcmRzCj4g Pj4KPiA+PiBTaGFzaGFuawo+ID4+Cj4gPj4KPiA+PiBPbiA3LzEyLzIwMTcgMTA6NDcgUE0sIFZp bGxlIFN5cmrDpGzDpCB3cm90ZToKPiA+Pj4gT24gTW9uLCBKdWwgMTAsIDIwMTcgYXQgMDQ6NDg6 MzlQTSArMDUzMCwgU2hhc2hhbmsgU2hhcm1hIHdyb3RlOgo+ID4+Pj4gVG8gZ2V0IGEgWUNCQ1I0 MjAgb3V0cHV0IGZyb20gaW50ZWwgcGxhdGZvcm1zLCB3ZSBuZWVkIG9uZQo+ID4+Pj4gc2NhbGVy IHRvIHNjYWxlIGRvd24gWUNCQ1I0NDQgc2FtcGxlcyB0byBZQ0JDUjQyMCBzYW1wbGVzLgo+ID4+ Pj4KPiA+Pj4+IFRoaXMgcGF0Y2g6Cj4gPj4+PiAtIERvZXMgc2NhbGVyIGFsbG9jYXRpb24gZm9y IEhETUkgeWNiY3I0MjAgb3V0cHV0cy4KPiA+Pj4+IC0gUHJvZ3JhbXMgUElQRV9NSVNDIHJlZ2lz dGVyIGZvciB5Y2JjcjQyMCBvdXRwdXQuCj4gPj4+PiAtIEFkZHMgYSBuZXcgc2NhbGVyIHVzZXIg IkhETUkgb3V0cHV0IiB0byBwbHVnLWludG8gZXhpc3RpbmcKPiA+Pj4+ICAgICBzY2FsZXIgZnJh bWV3b3JrLiBUaGlzIG91dHB1dCB0eXBlIGlzIGlkZW50aWZpZWQgdXNpbmcgYml0Cj4gPj4+PiAg ICAgMzAgb2YgdGhlIHNjYWxlciB1c2VycyBiaXRtYXAuCj4gPj4+Pgo+ID4+Pj4gVjI6IHJlYmFz ZQo+ID4+Pj4gVjM6IHJlYmFzZQo+ID4+Pj4gVjQ6IHJlYmFzZQo+ID4+Pj4gVjU6IGFkZHJlc3Nl ZCByZXZpZXcgY29tbWVudHMgZnJvbSBBbmRlcjoKPiA+Pj4+ICAgICAgIC0gTm8gbmVlZCB0byBj aGVjayBib3RoIHNjYWxlcl91c2VyICYmIGhkbWlfb3V0cHV0Lgo+ID4+Pj4gICAgICAgICBDaGVj ayBmb3Igc2NhbGVyX3VzZXIgaXMgZW5vdWdoLgo+ID4+Pj4gU2lnbmVkLW9mZi1ieTogU2hhc2hh bmsgU2hhcm1hIDxzaGFzaGFuay5zaGFybWFAaW50ZWwuY29tPgo+ID4+Pj4gLS0tCj4gPj4+PiAg ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdG9taWMuYyAgfCAgNiArKysrKysKPiA+Pj4+ ICAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8IDIzICsrKysrKysrKysr KysrKysrKysrKysrCj4gPj4+PiAgICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAg ICAgfCAxMCArKysrKysrKystCj4gPj4+PiAgICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9o ZG1pLmMgICAgfCAxMiArKysrKysrKysrKysKPiA+Pj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3BhbmVsLmMgICB8ICAzICsrLQo+ID4+Pj4gICAgNSBmaWxlcyBjaGFuZ2VkLCA1MiBp bnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQo+ID4+Pj4KPiA+Pj4+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdG9taWMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2F0b21pYy5jCj4gPj4+PiBpbmRleCAzNmQ0ZTYzLi4wNDBkMTExIDEwMDY0NAo+ID4+ Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXRvbWljLmMKPiA+Pj4+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F0b21pYy5jCj4gPj4+PiBAQCAtMjY0LDYgKzI2 NCwxMiBAQCBpbnQgaW50ZWxfYXRvbWljX3NldHVwX3NjYWxlcnMoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2LAo+ID4+Pj4gICAgCj4gPj4+PiAgICAJCQkvKiBwYW5lbCBmaXR0ZXIg Y2FzZTogYXNzaWduIGFzIGEgY3J0YyBzY2FsZXIgKi8KPiA+Pj4+ICAgIAkJCXNjYWxlcl9pZCA9 ICZzY2FsZXJfc3RhdGUtPnNjYWxlcl9pZDsKPiA+Pj4+ICsJCX0gZWxzZSBpZiAoaSA9PSBTS0xf NDIwX09VVFBVVF9JTkRFWCkgewo+ID4+PiBJIHRoaW5rIEFuZGVyIGFscmVhZHkgc2FpZCB0aGF0 IHdlIHNob3VsZCBqdXN0IHRpZSB0aGlzIGludG8gdGhlIG5vcm1hbAo+ID4+PiBwZml0IHBpcGUg c2NhbGVyIHVzZXIuIEkgYWdyZWUuIEhhdmluZyB0byB1c2VycyBkb2Vzbid0IGFjdHVhbGx5IG1h a2UKPiA+Pj4gc2Vuc2UgYmVjYXVzZSB0aGVyZSBjYW4gYmUgb25seSBvbmUgcGlwZSBzY2FsZXIs IGFuZCBpZiB3ZSB3YW50IHRvIGRvCj4gPj4+IHNjYWxlZCA0OjI6MCBvdXRwdXQgdGhlbiB3ZSBh bnl3YXkgbmVlZCB0byBoYW5kbGUgYm90aCBjYXNlcwo+ID4+PiBzaW11bHRhbmVvc2x5Lgo+ID4+ IEkgdGhvdWdodCBvdXIgaWRlYSBvZiBoYXZpbmcgYSBzZXBhcmF0ZSBzY2FsYXIgdXNlciB3YXMg YSBnb29kIG9uZSwKPiA+PiBiZWNhdXNlLCB0aGlzIGdpdmVzIGFkZGl0aW9uYWwgaW5mb3JtYXRp b24KPiA+PiBob3cgYW5kIHdoeSB0aGUgc2NhbGFyIGlzIGJlaW5nIHVzZWQuIEFsc28sIHdlIGRv bnQgcHJvZ3JhbSB0aGUgb3RoZXIKPiA+PiBzY2FsaW5nIGZhY3RvcnMgaW4gdGhpcyBjYXNlLCBi dXQgd2UgZ2V0Cj4gPj4gdGhlIHNjYWxpbmcgcHJvZmlsZSBzZXQgdXNpbmcgUElQRU1JU0MuIFNv IEkgd291bGQgcHJlZmVyIHRvIGhhdmUgdGhpcwo+ID4+IGFzIGEgc3BlY2lhbCBjYXNlIG9yIHNl cGFyYXRlIHVzZXIsIGJ1dCB5b3UKPiA+PiBjYW4gdGhpbmsgYWJvdXQgdGhpcywgYW5kIGxldCBt ZSBrbm93Lgo+ID4gRXZlbnR1YWxseSB3ZSdsbCB3YW50IHNjYWxpbmcgYW5kIDQyMCBhdCB0aGUg c2FtZSB0aW1lLiBTbyBhIHNlcGFyYXRlCj4gPiB1c2VyIGp1c3QgZG9lc24ndCB3b3JrLgo+IE9r LCBJIHdhcyBqdXN0IGZvbGxvd2luZyB0aGUgZGVzaWduLCB3aGljaCB3ZSBkaXNjdXNzZWQgZHVy aW5nIEYyRi4gSSAKPiB3aWxsIHJlbW92ZSB0aGlzIHVzZXIgdGhlbi4KClllYWguIFNvcnJ5IGZv ciB0aGUgcGluZy1wb25nLCBJIGd1ZXNzIEkgZGlkbid0IHRoaW5rIHRoaXMgdGhyb3VnaApmdWxs eSBiYWNrIHRoZW4uCgo+IC0gU2hhc2hhbmsKPiA+PiAtIFNoYXNoYW5rCj4gPj4+PiArCQkJbmFt ZSA9ICJZQ0JDUjQyMC1PVVRQVVQiOwo+ID4+Pj4gKwkJCWlkeCA9IGludGVsX2NydGMtPmJhc2Uu YmFzZS5pZDsKPiA+Pj4+ICsKPiA+Pj4+ICsJCQkvKiBZQ0JDUjQyMCBjYXNlOiBuZWVkcyBhIHBp cGUgc2NhbGVyICovCj4gPj4+PiArCQkJc2NhbGVyX2lkID0gJnNjYWxlcl9zdGF0ZS0+c2NhbGVy X2lkOwo+ID4+Pj4gICAgCQl9IGVsc2Ugewo+ID4+Pj4gICAgCQkJbmFtZSA9ICJQTEFORSI7Cj4g Pj4+PiAgICAKPiA+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k aXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiA+Pj4+IGlu ZGV4IDAxOTAwZTEuLmM1NjA4MWUgMTAwNjQ0Cj4gPj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kaXNwbGF5LmMKPiA+Pj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rpc3BsYXkuYwo+ID4+Pj4gQEAgLTQ2MjEsNiArNDYyMSw5IEBAIHNrbF91cGRhdGVfc2Nh bGVyKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLCBib29sIGZvcmNlX2RldGFj aCwKPiA+Pj4+ICAgIAkgKi8KPiA+Pj4+ICAgIAluZWVkX3NjYWxpbmcgPSBzcmNfdyAhPSBkc3Rf dyB8fCBzcmNfaCAhPSBkc3RfaDsKPiA+Pj4+ICAgIAo+ID4+Pj4gKwlpZiAoc2NhbGVyX3VzZXIg PT0gU0tMXzQyMF9PVVRQVVRfSU5ERVgpCj4gPj4+PiArCQluZWVkX3NjYWxpbmcgPSB0cnVlOwo+ ID4+Pj4gKwo+ID4+Pj4gICAgCS8qCj4gPj4+PiAgICAJICogaWYgcGxhbmUgaXMgYmVpbmcgZGlz YWJsZWQgb3Igc2NhbGVyIGlzIG5vIG1vcmUgcmVxdWlyZWQgb3IgZm9yY2UgZGV0YWNoCj4gPj4+ PiAgICAJICogIC0gZnJlZSBzY2FsZXIgYmluZGVkIHRvIHRoaXMgcGxhbmUvY3J0Ywo+ID4+Pj4g QEAgLTQ2NjgsNiArNDY3MSwyNiBAQCBza2xfdXBkYXRlX3NjYWxlcihzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqY3J0Y19zdGF0ZSwgYm9vbCBmb3JjZV9kZXRhY2gsCj4gPj4+PiAgICB9Cj4gPj4+ PiAgICAKPiA+Pj4+ICAgIC8qKgo+ID4+Pj4gKyAqIHNrbF91cGRhdGVfc2NhbGVyX2NydGNfNDIw X291dHB1dCAtIFN0YWdlcyB1cGRhdGUgdG8gc2NhbGVyIHN0YXRlCj4gPj4+PiArICogZm9yIFlD QkNSNDIwIHdoaWNoIG5lZWRzIGEgc2NhbGVyLCBmb3IgZG93bnNhbXBsaW5nLgo+ID4+Pj4gKyAq Cj4gPj4+PiArICogQHN0YXRlOiBjcnRjJ3Mgc2NhbGVyIHN0YXRlCj4gPj4+PiArICoKPiA+Pj4+ ICsgKiBSZXR1cm4KPiA+Pj4+ICsgKiAgICAgMCAtIHNjYWxlcl91c2FnZSB1cGRhdGVkIHN1Y2Nl c3NmdWxseQo+ID4+Pj4gKyAqICAgIGVycm9yIC0gcmVxdWVzdGVkIHNjYWxpbmcgY2Fubm90IGJl IHN1cHBvcnRlZCBvciBvdGhlciBlcnJvciBjb25kaXRpb24KPiA+Pj4+ICsgKi8KPiA+Pj4+ICtp bnQgc2tsX3VwZGF0ZV9zY2FsZXJfY3J0Y180MjBfb3V0cHV0KHN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlICpzdGF0ZSkKPiA+Pj4+ICt7Cj4gPj4+PiArCWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9t b2RlICptb2RlID0gJnN0YXRlLT5iYXNlLmFkanVzdGVkX21vZGU7Cj4gPj4+PiArCj4gPj4+PiAr CXJldHVybiBza2xfdXBkYXRlX3NjYWxlcihzdGF0ZSwgIXN0YXRlLT5iYXNlLmFjdGl2ZSwKPiA+ Pj4+ICsJCVNLTF80MjBfT1VUUFVUX0lOREVYLCAmc3RhdGUtPnNjYWxlcl9zdGF0ZS5zY2FsZXJf aWQsCj4gPj4+PiArCQlzdGF0ZS0+cGlwZV9zcmNfdywgc3RhdGUtPnBpcGVfc3JjX2gsCj4gPj4+ PiArCQltb2RlLT5jcnRjX2hkaXNwbGF5LCBtb2RlLT5jcnRjX3ZkaXNwbGF5KTsKPiA+Pj4+ICt9 Cj4gPj4+PiArCj4gPj4+PiArLyoqCj4gPj4+PiAgICAgKiBza2xfdXBkYXRlX3NjYWxlcl9jcnRj IC0gU3RhZ2VzIHVwZGF0ZSB0byBzY2FsZXIgc3RhdGUgZm9yIGEgZ2l2ZW4gY3J0Yy4KPiA+Pj4+ ICAgICAqCj4gPj4+PiAgICAgKiBAc3RhdGU6IGNydGMncyBzY2FsZXIgc3RhdGUKPiA+Pj4+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gPj4+PiBpbmRleCA1OTIyNDNiLi42OGI0ZmJhIDEwMDY0 NAo+ID4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+Pj4+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gPj4+PiBAQCAtNDcxLDcgKzQ3 MSw4IEBAIHN0cnVjdCBpbnRlbF9jcnRjX3NjYWxlcl9zdGF0ZSB7Cj4gPj4+PiAgICAJICoKPiA+ Pj4+ICAgIAkgKiAgICAgSWYgYSBiaXQgaXMgc2V0LCBhIHVzZXIgaXMgdXNpbmcgYSBzY2FsZXIu Cj4gPj4+PiAgICAJICogICAgIEhlcmUgdXNlciBjYW4gYmUgYSBwbGFuZSBvciBjcnRjIGFzIGRl ZmluZWQgYmVsb3c6Cj4gPj4+PiAtCSAqICAgICAgIGJpdHMgMC0zMCAtIHBsYW5lIChiaXQgcG9z aXRpb24gaXMgaW5kZXggZnJvbSBkcm1fcGxhbmVfaW5kZXgpCj4gPj4+PiArCSAqICAgICAgIGJp dHMgMC0yOSAtIHBsYW5lIChiaXQgcG9zaXRpb24gaXMgaW5kZXggZnJvbSBkcm1fcGxhbmVfaW5k ZXgpCj4gPj4+PiArCSAqICAgICAgIGJpdCAzMCAgICAtIGhkbWkgb3V0cHV0Cj4gPj4+PiAgICAJ ICogICAgICAgYml0IDMxICAgIC0gY3J0Ywo+ID4+Pj4gICAgCSAqCj4gPj4+PiAgICAJICogSW5z dGVhZCBvZiBjcmVhdGluZyBhIG5ldyBpbmRleCB0byBjb3ZlciBwbGFuZXMgYW5kIGNydGMsIHVz aW5nCj4gPj4+PiBAQCAtNDg0LDYgKzQ4NSwxMiBAQCBzdHJ1Y3QgaW50ZWxfY3J0Y19zY2FsZXJf c3RhdGUgewo+ID4+Pj4gICAgCSAqIGF2aWxhYmlsaXR5Lgo+ID4+Pj4gICAgCSAqLwo+ID4+Pj4g ICAgI2RlZmluZSBTS0xfQ1JUQ19JTkRFWCAzMQo+ID4+Pj4gKwo+ID4+Pj4gKwkvKgo+ID4+Pj4g KwkgKiBZQ0JDUiA0MjAgb3V0cHV0IGNvbnN1bWUgYSBzY2FsZXIuIFNvIGFkZGluZyBhIHVzZXIK PiA+Pj4+ICsJICogZm9yIDQyMCBvdXRwdXQgcmVxdWlyZW1lbnQuCj4gPj4+PiArCSAqLwo+ID4+ Pj4gKyNkZWZpbmUgU0tMXzQyMF9PVVRQVVRfSU5ERVggMzAKPiA+Pj4+ICAgIAl1bnNpZ25lZCBz Y2FsZXJfdXNlcnM7Cj4gPj4+PiAgICAKPiA+Pj4+ICAgIAkvKiBzY2FsZXIgdXNlZCBieSBjcnRj IGZvciBwYW5lbCBmaXR0aW5nIHB1cnBvc2UgKi8KPiA+Pj4+IEBAIC0xNDgzLDYgKzE0OTAsNyBA QCB2b2lkIGludGVsX21vZGVfZnJvbV9waXBlX2NvbmZpZyhzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9k ZSAqbW9kZSwKPiA+Pj4+ICAgIAkJCQkgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29u ZmlnKTsKPiA+Pj4+ICAgIAo+ID4+Pj4gICAgaW50IHNrbF91cGRhdGVfc2NhbGVyX2NydGMoc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpOwo+ID4+Pj4gK2ludCBza2xfdXBkYXRl X3NjYWxlcl9jcnRjXzQyMF9vdXRwdXQoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnN0YXRlKTsK PiA+Pj4+ICAgIGludCBza2xfbWF4X3NjYWxlKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLCBzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSk7Cj4gPj4+PiAgICAKPiA+Pj4+ICAgIHN0 YXRpYyBpbmxpbmUgdTMyIGludGVsX3BsYW5lX2dndHRfb2Zmc2V0KGNvbnN0IHN0cnVjdCBpbnRl bF9wbGFuZV9zdGF0ZSAqc3RhdGUpCj4gPj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCj4g Pj4+PiBpbmRleCAyNzZkOTE2Li45ZThkNzg0IDEwMDY0NAo+ID4+Pj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCj4gPj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9oZG1pLmMKPiA+Pj4+IEBAIC0xMzU1LDYgKzEzNTUsNyBAQCBpbnRlbF9oZG1pX3lj YmNyNDIwX2NvbmZpZyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ID4+Pj4gICAg CQkJICAgICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjb25maWcsCj4gPj4+PiAgICAJCQkg ICAgICAgaW50ICpjbG9ja18xMmJwYywgaW50ICpjbG9ja184YnBjKQo+ID4+Pj4gICAgewo+ID4+ Pj4gKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY29uZmln LT5iYXNlLmNydGMpOwo+ID4+Pj4gICAgCj4gPj4+PiAgICAJaWYgKCFjb25uZWN0b3ItPnljYmNy XzQyMF9hbGxvd2VkKSB7Cj4gPj4+PiAgICAJCURSTV9FUlJPUigiUGxhdGZvcm0gZG9lc24ndCBz dXBwb3J0IFlDQkNSNDIwIG91dHB1dFxuIik7Cj4gPj4+PiBAQCAtMTM2Niw2ICsxMzY3LDE3IEBA IGludGVsX2hkbWlfeWNiY3I0MjBfY29uZmlnKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0 b3IsCj4gPj4+PiAgICAJKmNsb2NrXzEyYnBjIC89IDI7Cj4gPj4+PiAgICAJKmNsb2NrXzhicGMg Lz0gMjsKPiA+Pj4+ICAgIAljb25maWctPnljYmNyNDIwID0gdHJ1ZTsKPiA+Pj4+ICsKPiA+Pj4+ ICsJLyogWUNCQ1IgNDIwIG91dHB1dCBjb252ZXJzaW9uIG5lZWRzIGEgc2NhbGVyICovCj4gPj4+ PiArCWlmIChza2xfdXBkYXRlX3NjYWxlcl9jcnRjXzQyMF9vdXRwdXQoY29uZmlnKSkgewo+ID4+ Pj4gKwkJRFJNX0VSUk9SKCJTY2FsZXIgYWxsb2NhdGlvbiBmb3Igb3V0cHV0IGZhaWxlZFxuIik7 Cj4gPj4+PiArCQlyZXR1cm4gZmFsc2U7Cj4gPj4+PiArCX0KPiA+Pj4+ICsKPiA+Pj4+ICsJLyog QmluZCB0aGlzIHNjYWxlciB0byBwaXBlICovCj4gPj4+PiArCWludGVsX3BjaF9wYW5lbF9maXR0 aW5nKGludGVsX2NydGMsIGNvbmZpZywKPiA+Pj4+ICsJCQkJRFJNX01PREVfU0NBTEVfRlVMTFND UkVFTik7Cj4gPj4+PiArCj4gPj4+PiAgICAJcmV0dXJuIHRydWU7Cj4gPj4+PiAgICB9Cj4gPj4+ PiAgICAKPiA+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wYW5l bC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGFuZWwuYwo+ID4+Pj4gaW5kZXggOTZj MmNiZC4uZmQyZTA4MSAxMDA2NDQKPiA+Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3BhbmVsLmMKPiA+Pj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BhbmVs LmMKPiA+Pj4+IEBAIC0xMTAsNyArMTEwLDggQEAgaW50ZWxfcGNoX3BhbmVsX2ZpdHRpbmcoc3Ry dWN0IGludGVsX2NydGMgKmludGVsX2NydGMsCj4gPj4+PiAgICAKPiA+Pj4+ICAgIAkvKiBOYXRp dmUgbW9kZXMgZG9uJ3QgbmVlZCBmaXR0aW5nICovCj4gPj4+PiAgICAJaWYgKGFkanVzdGVkX21v ZGUtPmNydGNfaGRpc3BsYXkgPT0gcGlwZV9jb25maWctPnBpcGVfc3JjX3cgJiYKPiA+Pj4+IC0J ICAgIGFkanVzdGVkX21vZGUtPmNydGNfdmRpc3BsYXkgPT0gcGlwZV9jb25maWctPnBpcGVfc3Jj X2gpCj4gPj4+PiArCSAgICBhZGp1c3RlZF9tb2RlLT5jcnRjX3ZkaXNwbGF5ID09IHBpcGVfY29u ZmlnLT5waXBlX3NyY19oICYmCj4gPj4+PiArCSAgICAhcGlwZV9jb25maWctPnljYmNyNDIwKQo+ ID4+Pj4gICAgCQlnb3RvIGRvbmU7Cj4gPj4+PiAgICAKPiA+Pj4+ICAgIAlzd2l0Y2ggKGZpdHRp bmdfbW9kZSkgewo+ID4+Pj4gLS0gCj4gPj4+PiAyLjcuNAo+ID4+Pj4KPiA+Pj4+IF9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gPj4+PiBJbnRlbC1nZngg bWFpbGluZyBsaXN0Cj4gPj4+PiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPj4+ PiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdm eAoKLS0gClZpbGxlIFN5cmrDpGzDpApJbnRlbCBPVEMKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==