From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 02/10] drm/edid: Allow HDMI infoframe without VIC or S3D Date: Wed, 22 Nov 2017 20:28:32 +0200 Message-ID: <20171122182832.GQ10981@intel.com> References: <20171113170427.4150-1-ville.syrjala@linux.intel.com> <20171113170427.4150-3-ville.syrjala@linux.intel.com> <612b8afd-0811-646b-b3c5-93b970eb962d@intel.com> <20171116162144.GW10981@intel.com> <54b81923-ae4f-1f9b-c48d-a03f86f7b8ef@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: <54b81923-ae4f-1f9b-c48d-a03f86f7b8ef@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: "Sharma, Shashank" Cc: intel-gfx@lists.freedesktop.org, Laurent Pinchart , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gRnJpLCBOb3YgMTcsIDIwMTcgYXQgMDg6NDA6MDJBTSArMDUzMCwgU2hhcm1hLCBTaGFzaGFu ayB3cm90ZToKPiBSZWdhcmRzCj4gCj4gU2hhc2hhbmsKPiAKPiAKPiBPbiAxMS8xNi8yMDE3IDk6 NTEgUE0sIFZpbGxlIFN5cmrDpGzDpCB3cm90ZToKPiA+IE9uIFRodSwgTm92IDE2LCAyMDE3IGF0 IDA4OjEwOjU1UE0gKzA1MzAsIFNoYXJtYSwgU2hhc2hhbmsgd3JvdGU6Cj4gPj4gUmVnYXJkcwo+ ID4+Cj4gPj4gU2hhc2hhbmsKPiA+Pgo+ID4+Cj4gPj4gT24gMTEvMTMvMjAxNyAxMDozNCBQTSwg VmlsbGUgU3lyamFsYSB3cm90ZToKPiA+Pj4gRnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5z eXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiA+Pj4KPiA+Pj4gQXBwZWRpeCBGIG9mIEhETUkgMi4w IHNheXMgdGhhdCBzb21lIEhETUkgc2luayBtYXkgZmFpbCB0byBzd2l0Y2ggZnJvbQo+ID4+PiAz RCB0byAyRCBtb2RlIGluIGEgdGltZWx5IGZhc2hpb24gaWYgdGhlIHNvdXJjZSBzaW1wbHkgc3Rv cHMgc2VuZGluZyB0aGUKPiA+Pj4gSERNSSBpbmZvZnJhbWUuIFRoZSBzdWdnZXN0ZWQgd29ya2Fy b3VuZCBpcyB0byBrZWVwIHNlbmRpbmcgdGhlCj4gPj4+IGluZm9mcmFtZSBldmVuIHdoZW4gc3Ry aWN0bHkgbm90IG5lY2Vzc2FyeSAoaWUuIG5vIFZJQyBhbmQgbm8gUzNEKS4KPiA+Pj4gSERNSSAx LjQgZG9lcyBhbGxvdyBmb3IgdGhpcyBiZWhhdmlvdXIsIHN0YXRpbmcgdGhhdCBzZW5kaW5nIHRo ZQo+ID4+PiBpbmZvZnJhbWUgaXMgb3B0aW9uYWwgaW4gdGhpcyBjYXNlLgo+ID4+Pgo+ID4+PiBU aGUgaW5mb2ZyYW1lIHdhcyBmaXJzdCBzcGVjaWZpZWQgaW4gSERNSSAxLjQsIHNvIGluIHRoZW9y eSBzaW5rcwo+ID4+PiBwcmVkYXRpbmcgdGhhdCBtYXkgbm90IGFwcHJlY2lhdGUgdXMgc2VuZGlu ZyBhbiB1a25vd24gaW5mb2ZyYW1lCj4gPj4+IHRoZWlyIHdheS4gVG8gYXZvaWQgcmVncmVzc2lv bnMgbGV0J3MgdHJ5IHRvIGRldGVybWluZSBpZiB0aGUgc2luawo+ID4+PiBzdXBwb3J0cyB0aGUg aW5mb2ZyYW1lIG9yIG5vdC4gVW5mb3J0dW5hdGVseSB0aGVyZSdzIG5vIGRpcmVjdCB3YXkKPiA+ Pj4gdG8gZG8gdGhhdCwgc28gaW5zdGVhZCB3ZSdsbCBqdXN0IGNoZWNrIGlmIHdlIG1hbmFnZWQg dG8gcGFyc2UgYW55Cj4gPj4+IEhETUkgMS40IDRrIG9yIHN0ZXJlbyBtb2RlcyBmcm9tIHRoZSBF RElELCBhbmQgaWYgc28gd2UgYXNzdW1lIHRoZQo+ID4+PiBzaW5rIHdpbGwgYWNjZXB0IHRoZSBp bmZvZnJhbWUuIEFsc28gaWYgdGhlIEVESUQgY29udGFpbnMgdGhlIEhETUkKPiA+Pj4gMi4wIEhE TUkgRm9ydW0gVlNEQiB3ZSBjYW4gYXNzdW1lIHRoZSBzaW5rIGlzIHByZXBhcmVkIHRvIHJlY2Vp dmUKPiA+Pj4gdGhlIGluZm9mcmFtZS4KPiA+PiBJIGFtIHRyeWluZyB0byBnZXQgc29tZSBzZW5z ZSBmcm9tIEhETUkgMi4wIHNwZWMgc2VjdGlvbiAxMC4yLjEsIHdoaWNoCj4gPj4gdGFsa3MgYWJv dXQKPiA+PiBzd2l0Y2ggZnJvbSAzRCB0byAyRC4gIFRvIG1lIGl0IGxvb2tzIGxpa2U6Cj4gPj4g SWYgKHNlbmRpbmdfdG9faGRtaTJfc2lua3MpIHsKPiA+PiAgICAgICAtIGZvciAzZCBtb2RlcyBz ZW5kIEhGLVZTSUYKPiA+PiAgICAgICAtIGZvciAyZCBtb2RlcyAmJiBkZWZpbmVkIGluIEgxNGIg SEZWU0lGLCBzZW5kIEgxNEItVlNJRgo+ID4+ICAgICAgICAgV2hlbiB5b3Ugc3dpdGNoIGZyb20g M2QtPjJkIHsKPiA+PiAgICAgICAgICAgIC0gc2VuZF9IRi1WU0lGIHdpdGggM0RfdmFsaWQgYml0 ID0gMC8xCj4gPj4gICAgICAgIH0KPiA+PiB9IGVsc2UgeyAvKiBIRE1JIDEuNGIgc2lua3MgZnJv bSBBcHBlbmRpeCBGICovCj4gPj4gICAgICAgLSAgc2VuZCBIMTRiLVZTSUYgd2l0aCBIRE1JX3Zp ZGVvX2Zvcm1hdFsyOjAgPSAwIE9SIDFdCj4gPj4gfQo+ID4+Cj4gPj4gU2hvdWxkIHdlIGFkZCBh IGlzX2hkbWkyIGNoZWNrIGFuZCBzZXBhcmF0ZSB0aGVzZSBjYXNlcyA/Cj4gPiBXZSBkb24ndCBz dXBwb3J0IHRoZSBIRE1JIGZvcnVtIGluZm9mcmFtZS4gTWF5YmUgc29tZW9uZSBmb3Jnb3QgdG8K PiA+IGltcGxlbWVudCB0aGF0IHdoZW4gYWRkaW5nIHRoZSByZXN0IG9mIEhETUkgMi4wIHN1cHBv cnQ/IDspCj4gSG93IHRvIG1ha2UgYW4gJ2VtYmFycmFzc2VkIHNtaWxlICcgc21pbGV5IDopID8K PiBXaWxsIHN0YXJ0IGxvb2tpbmcgaW50byBpdC4gTWVhbndoaWxlCj4gUmV2aWV3ZWQtYnk6IFNo YXNoYW5rIFNoYXJtYSA8c2hhc2hhbmsuc2hhcm1hQGludGVsLmNvbT4KClBhdGNoZXMgMS0yIHB1 c2hlZCB0byBkcm0tbWlzYy1uZXh0LiBUaGFua3MgZm9yIHRoZSByZXZpZXcuCgo+ID4+PiB2Mjog Rml4IHRoZSBnZXR0aW5nIGhhc19oZG1pX2luZm9mcmFtZSBmcm9tIGRpc3BsYXlfaW5mbwo+ID4+ PiAgICAgICBBbHdheXMgZmFpbCBjb25zdHJ1Y3RpbmcgdGhlIGluZm9mcmFtZSBpZiB0aGUgZGlz cGxheQo+ID4+PiAgICAgICBwb3NzaWJseSBjYW4ndCBoYW5kbGUgaXQKPiA+Pj4KPiA+Pj4gQ2M6 IFNoYXNoYW5rIFNoYXJtYSA8c2hhc2hhbmsuc2hhcm1hQGludGVsLmNvbT4KPiA+Pj4gQ2M6IEFu ZHJ6ZWogSGFqZGEgPGEuaGFqZGFAc2Ftc3VuZy5jb20+Cj4gPj4+IENjOiBMYXVyZW50IFBpbmNo YXJ0IDxsYXVyZW50LnBpbmNoYXJ0QGlkZWFzb25ib2FyZC5jb20+Cj4gPj4+IFNpZ25lZC1vZmYt Ynk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gPj4+ IC0tLQo+ID4+PiAgICBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3NpbC1zaWk4NjIwLmMgICAgICB8 ICAzICsrLQo+ID4+PiAgICBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3LWhkbWku YyB8ICA0ICsrKy0KPiA+Pj4gICAgZHJpdmVycy9ncHUvZHJtL2RybV9lZGlkLmMgICAgICAgICAg ICAgICAgfCAzNCArKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tCj4gPj4+ICAgIGRyaXZl cnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2hkbWkuYyAgICAgIHwgIDIgKy0KPiA+Pj4gICAgZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jICAgICAgICAgfCAxNCArKysrKysrLS0tLS0t Cj4gPj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfaGRtaS5jICAgICAgIHwgIDMg KystCj4gPj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252NTBfZGlzcGxheS5jICAgIHwg IDMgKystCj4gPj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9pbm5vX2hkbWkuYyAgICAg IHwgIDEgKwo+ID4+PiAgICBkcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9oZG1pLmMgICAgICAgICAg ICB8ICA0ICsrKy0KPiA+Pj4gICAgZHJpdmVycy9ncHUvZHJtL3p0ZS96eF9oZG1pLmMgICAgICAg ICAgICAgfCAgMSArCj4gPj4+ICAgIGluY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaCAgICAgICAg ICAgICAgIHwgIDUgKysrKysKPiA+Pj4gICAgaW5jbHVkZS9kcm0vZHJtX2VkaWQuaCAgICAgICAg ICAgICAgICAgICAgfCAgMSArCj4gPj4+ICAgIDEyIGZpbGVzIGNoYW5nZWQsIDU3IGluc2VydGlv bnMoKyksIDE4IGRlbGV0aW9ucygtKQo+ID4+Pgo+ID4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2JyaWRnZS9zaWwtc2lpODYyMC5jIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zaWwt c2lpODYyMC5jCj4gPj4+IGluZGV4IGI3ZWI3MDRkMGE4YS4uNDQxNzI3NmJhMDJlIDEwMDY0NAo+ ID4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3NpbC1zaWk4NjIwLmMKPiA+Pj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zaWwtc2lpODYyMC5jCj4gPj4+IEBAIC0yMjIwLDgg KzIyMjAsOSBAQCBzdGF0aWMgYm9vbCBzaWk4NjIwX21vZGVfZml4dXAoc3RydWN0IGRybV9icmlk Z2UgKmJyaWRnZSwKPiA+Pj4gICAgCQkJdW5pb24gaGRtaV9pbmZvZnJhbWUgZnJtOwo+ID4+PiAg ICAJCQl1OCBtaGxfdmljW10gPSB7IDAsIDk1LCA5NCwgOTMsIDk4IH07Cj4gPj4+ICAgIAo+ID4+ PiArCQkJLyogRklYTUU6IFdlIG5lZWQgdGhlIGNvbm5lY3RvciBoZXJlICovCj4gPj4+ICAgIAkJ CWRybV9oZG1pX3ZlbmRvcl9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoCj4gPj4+IC0JCQkJ JmZybS52ZW5kb3IuaGRtaSwgYWRqdXN0ZWRfbW9kZSk7Cj4gPj4+ICsJCQkJJmZybS52ZW5kb3Iu aGRtaSwgTlVMTCwgYWRqdXN0ZWRfbW9kZSk7Cj4gPj4+ICAgIAkJCXZpYyA9IGZybS52ZW5kb3Iu aGRtaS52aWM7Cj4gPj4+ICAgIAkJCWlmICh2aWMgPj0gQVJSQVlfU0laRShtaGxfdmljKSkKPiA+ Pj4gICAgCQkJCXZpYyA9IDA7Cj4gPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYnJp ZGdlL3N5bm9wc3lzL2R3LWhkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc3lub3BzeXMv ZHctaGRtaS5jCj4gPj4+IGluZGV4IGE2NGNlNzExMjI4OC4uYjE3MjEzOTUwMmQ2IDEwMDY0NAo+ ID4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3LWhkbWkuYwo+ID4+ PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3LWhkbWkuYwo+ID4+PiBA QCAtMTQzNyw3ICsxNDM3LDkgQEAgc3RhdGljIHZvaWQgaGRtaV9jb25maWdfdmVuZG9yX3NwZWNp ZmljX2luZm9mcmFtZShzdHJ1Y3QgZHdfaGRtaSAqaGRtaSwKPiA+Pj4gICAgCXU4IGJ1ZmZlclsx MF07Cj4gPj4+ICAgIAlzc2l6ZV90IGVycjsKPiA+Pj4gICAgCj4gPj4+IC0JZXJyID0gZHJtX2hk bWlfdmVuZG9yX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUsIG1vZGUpOwo+ID4+ PiArCWVyciA9IGRybV9oZG1pX3ZlbmRvcl9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZy YW1lLAo+ID4+PiArCQkJCQkJCSAgJmhkbWktPmNvbm5lY3RvciwKPiA+Pj4gKwkJCQkJCQkgIG1v ZGUpOwo+ID4+PiAgICAJaWYgKGVyciA8IDApCj4gPj4+ICAgIAkJLyoKPiA+Pj4gICAgCQkgKiBH b2luZyBpbnRvIHRoYXQgc3RhdGVtZW50IGRvZXMgbm90IG1lYW5zIHZlbmRvciBpbmZvZnJhbWUK PiA+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jIGIvZHJpdmVycy9n cHUvZHJtL2RybV9lZGlkLmMKPiA+Pj4gaW5kZXggNzQ5ZDA3YTAxNzcyLi45YWRhMGNjZjUwZGYg MTAwNjQ0Cj4gPj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jCj4gPj4+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jCj4gPj4+IEBAIC0zMzkzLDYgKzMzOTMsNyBAQCBz dGF0aWMgaW50Cj4gPj4+ICAgIGRvX2hkbWlfdnNkYl9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3Rv ciAqY29ubmVjdG9yLCBjb25zdCB1OCAqZGIsIHU4IGxlbiwKPiA+Pj4gICAgCQkgICBjb25zdCB1 OCAqdmlkZW9fZGIsIHU4IHZpZGVvX2xlbikKPiA+Pj4gICAgewo+ID4+PiArCXN0cnVjdCBkcm1f ZGlzcGxheV9pbmZvICppbmZvID0gJmNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvOwo+ID4+PiAgICAJ aW50IG1vZGVzID0gMCwgb2Zmc2V0ID0gMCwgaSwgbXVsdGlfcHJlc2VudCA9IDAsIG11bHRpX2xl bjsKPiA+Pj4gICAgCXU4IHZpY19sZW4sIGhkbWlfM2RfbGVuID0gMDsKPiA+Pj4gICAgCXUxNiBt YXNrOwo+ID4+PiBAQCAtMzUyMCw2ICszNTIxLDggQEAgZG9faGRtaV92c2RiX21vZGVzKHN0cnVj dCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsIGNvbnN0IHU4ICpkYiwgdTggbGVuLAo+ID4+PiAg ICAJfQo+ID4+PiAgICAKPiA+Pj4gICAgb3V0Ogo+ID4+PiArCWlmIChtb2RlcyA+IDApCj4gPj4+ ICsJCWluZm8tPmhhc19oZG1pX2luZm9mcmFtZSA9IHRydWU7Cj4gPj4+ICAgIAlyZXR1cm4gbW9k ZXM7Cj4gPj4+ICAgIH0KPiA+Pj4gICAgCj4gPj4+IEBAIC00MjQzLDYgKzQyNDYsOCBAQCBzdGF0 aWMgdm9pZCBkcm1fcGFyc2VfaGRtaV9mb3J1bV92c2RiKHN0cnVjdCBkcm1fY29ubmVjdG9yICpj b25uZWN0b3IsCj4gPj4+ICAgIAlzdHJ1Y3QgZHJtX2Rpc3BsYXlfaW5mbyAqZGlzcGxheSA9ICZj b25uZWN0b3ItPmRpc3BsYXlfaW5mbzsKPiA+Pj4gICAgCXN0cnVjdCBkcm1faGRtaV9pbmZvICpo ZG1pID0gJmRpc3BsYXktPmhkbWk7Cj4gPj4+ICAgIAo+ID4+PiArCWRpc3BsYXktPmhhc19oZG1p X2luZm9mcmFtZSA9IHRydWU7Cj4gPj4+ICsKPiA+Pj4gICAgCWlmIChoZl92c2RiWzZdICYgMHg4 MCkgewo+ID4+PiAgICAJCWhkbWktPnNjZGMuc3VwcG9ydGVkID0gdHJ1ZTsKPiA+Pj4gICAgCQlp ZiAoaGZfdnNkYls2XSAmIDB4NDApCj4gPj4+IEBAIC00NDE2LDYgKzQ0MjEsNyBAQCBzdGF0aWMg dm9pZCBkcm1fYWRkX2Rpc3BsYXlfaW5mbyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9y LAo+ID4+PiAgICAJaW5mby0+Y2VhX3JldiA9IDA7Cj4gPj4+ICAgIAlpbmZvLT5tYXhfdG1kc19j bG9jayA9IDA7Cj4gPj4+ICAgIAlpbmZvLT5kdmlfZHVhbCA9IGZhbHNlOwo+ID4+PiArCWluZm8t Pmhhc19oZG1pX2luZm9mcmFtZSA9IGZhbHNlOwo+ID4+PiAgICAKPiA+Pj4gICAgCWlmIChlZGlk LT5yZXZpc2lvbiA8IDMpCj4gPj4+ICAgIAkJcmV0dXJuOwo+ID4+PiBAQCAtNDkwMyw2ICs0OTA5 LDcgQEAgczNkX3N0cnVjdHVyZV9mcm9tX2Rpc3BsYXlfbW9kZShjb25zdCBzdHJ1Y3QgZHJtX2Rp c3BsYXlfbW9kZSAqbW9kZSkKPiA+Pj4gICAgICogZHJtX2hkbWlfdmVuZG9yX2luZm9mcmFtZV9m cm9tX2Rpc3BsYXlfbW9kZSgpIC0gZmlsbCBhbiBIRE1JIGluZm9mcmFtZSB3aXRoCj4gPj4+ICAg ICAqIGRhdGEgZnJvbSBhIERSTSBkaXNwbGF5IG1vZGUKPiA+Pj4gICAgICogQGZyYW1lOiBIRE1J IHZlbmRvciBpbmZvZnJhbWUKPiA+Pj4gKyAqIEBjb25uZWN0b3I6IHRoZSBjb25uZWN0b3IKPiA+ PiBJIHJlbWVtYmVyIG91ciBvbGQgZGlzY3Vzc2lvbiB3aGVyZSB3ZSByZWFsaXplZCB0aGF0IHdl IHdpbGwgbmVlZCB0aGlzCj4gPj4gY29ubmVjdG9yIGZvciBhbGwgdHlwZXMgb2YgaW5mb2ZyYW1l cywKPiA+PiBldmVudHVhbGx5LCBkbyB5b3UgdGhpbmsgd2Ugc2hvdWxkIHN0YXJ0IHRoaW5raW5n IGFib3V0IGNyZWF0aW5nIGEKPiA+PiB3cmFwcGVyIGxpa2UgZHJtX2FueV9pbmZvZnJhbWVfZnJv bV9kaXNwbGF5X21vZGUoKSwKPiA+PiBhbmQgcGFzcyBjb25uZWN0b3IgYW5kIGRlc2lyZWQgdHlw ZSB0byBpdCA/T3IgSSBhbSBnZXR0aW5nIHRvbyBhbWJpdGlvdXMKPiA+PiB0YXJnZXRpbmcgdGhp cyBzZXJpZXMgOikgPwo+ID4+PiAgICAgKiBAbW9kZTogRFJNIGRpc3BsYXkgbW9kZQo+ID4+PiAg ICAgKgo+ID4+PiAgICAgKiBOb3RlIHRoYXQgdGhlcmUncyBpcyBhIG5lZWQgdG8gc2VuZCBIRE1J IHZlbmRvciBpbmZvZnJhbWVzIG9ubHkgd2hlbiB1c2luZyBhCj4gPj4+IEBAIC00OTEzLDggKzQ5 MjAsMTUgQEAgczNkX3N0cnVjdHVyZV9mcm9tX2Rpc3BsYXlfbW9kZShjb25zdCBzdHJ1Y3QgZHJt X2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiA+Pj4gICAgICovCj4gPj4+ICAgIGludAo+ID4+PiAgICBk cm1faGRtaV92ZW5kb3JfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKHN0cnVjdCBoZG1pX3Zl bmRvcl9pbmZvZnJhbWUgKmZyYW1lLAo+ID4+PiArCQkJCQkgICAgc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3RvciwKPiA+Pj4gICAgCQkJCQkgICAgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5 X21vZGUgKm1vZGUpCj4gPj4+ICAgIHsKPiA+Pj4gKwkvKgo+ID4+PiArCSAqIEZJWE1FOiBzaWwt c2lpODYyMCBkb2Vzbid0IGhhdmUgYSBjb25uZWN0b3IgYXJvdW5kIHdoZW4KPiA+Pj4gKwkgKiB3 ZSBuZWVkIG9uZSwgc28gd2UgaGF2ZSB0byBiZSBwcmVwYXJlZCBmb3IgYSBOVUxMIGNvbm5lY3Rv ci4KPiA+Pj4gKwkgKi8KPiA+Pj4gKwlib29sIGhhc19oZG1pX2luZm9mcmFtZSA9IGNvbm5lY3Rv ciA/Cj4gPj4+ICsJCWNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLmhhc19oZG1pX2luZm9mcmFtZSA6 IGZhbHNlOwo+ID4+PiAgICAJaW50IGVycjsKPiA+Pj4gICAgCXUzMiBzM2RfZmxhZ3M7Cj4gPj4+ ICAgIAl1OCB2aWM7Cj4gPj4+IEBAIC00OTIyLDExICs0OTM2LDIxIEBAIGRybV9oZG1pX3ZlbmRv cl9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoc3RydWN0IGhkbWlfdmVuZG9yX2luZm9mcmFt ZSAqZnJhbWUsCj4gPj4+ICAgIAlpZiAoIWZyYW1lIHx8ICFtb2RlKQo+ID4+PiAgICAJCXJldHVy biAtRUlOVkFMOwo+ID4+PiAgICAKPiA+Pj4gKwlpZiAoIWhhc19oZG1pX2luZm9mcmFtZSkKPiA+ Pj4gKwkJcmV0dXJuIC1FSU5WQUw7Cj4gPj4+ICsKPiA+Pj4gICAgCXZpYyA9IGRybV9tYXRjaF9o ZG1pX21vZGUobW9kZSk7Cj4gPj4+ICAgIAlzM2RfZmxhZ3MgPSBtb2RlLT5mbGFncyAmIERSTV9N T0RFX0ZMQUdfM0RfTUFTSzsKPiA+Pj4gICAgCj4gPj4+IC0JaWYgKCF2aWMgJiYgIXMzZF9mbGFn cykKPiA+Pj4gLQkJcmV0dXJuIC1FSU5WQUw7Cj4gPj4+ICsJLyoKPiA+Pj4gKwkgKiBFdmVuIGlm IGl0J3Mgbm90IGFic29sdXRlbHkgbmVjZXNzYXJ5IHRvIHNlbmQgdGhlIGluZm9mcmFtZQo+ID4+ PiArCSAqIChpZS52aWM9PTAgYW5kIHMzZF9zdHJ1Y3Q9PTApIHdlIHdpbGwgc3RpbGwgc2VuZCBp dCBpZiB3ZQo+ID4+PiArCSAqIGtub3cgdGhhdCB0aGUgc2luayBjYW4gaGFuZGxlIGl0LiBUaGlz IGlzIGJhc2VkIG9uIGEKPiA+Pj4gKwkgKiBzdWdnZXN0aW9uIGluIEhETUkgMi4wIEFwcGVuZGl4 IEYuIEFwcGFyZW50bHkgc29tZSBzaW5rcwo+ID4+PiArCSAqIGhhdmUgdHJvdWJsZSByZWFsaXpp bmcgdGhhdCB0aGV5IHNodWxkIHN3aXRjaCBmcm9tIDNEIHRvIDJECj4gPj4+ICsJICogbW9kZSBp ZiB0aGUgc291cmNlIHNpbXBseSBzdG9wcyBzZW5kaW5nIHRoZSBpbmZvZnJhbWUgd2hlbgo+ID4+ PiArCSAqIGl0IHdhbnRzIHRvIHN3aXRjaCBmcm9tIDNEIHRvIDJELgo+ID4+PiArCSAqLwo+ID4+ PiAgICAKPiA+Pj4gICAgCWlmICh2aWMgJiYgczNkX2ZsYWdzKQo+ID4+PiAgICAJCXJldHVybiAt RUlOVkFMOwo+ID4+PiBAQCAtNDkzNSwxMCArNDk1OSw4IEBAIGRybV9oZG1pX3ZlbmRvcl9pbmZv ZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoc3RydWN0IGhkbWlfdmVuZG9yX2luZm9mcmFtZSAqZnJh bWUsCj4gPj4+ICAgIAlpZiAoZXJyIDwgMCkKPiA+Pj4gICAgCQlyZXR1cm4gZXJyOwo+ID4+PiAg ICAKPiA+Pj4gLQlpZiAodmljKQo+ID4+PiAtCQlmcmFtZS0+dmljID0gdmljOwo+ID4+PiAtCWVs c2UKPiA+Pj4gLQkJZnJhbWUtPnMzZF9zdHJ1Y3QgPSBzM2Rfc3RydWN0dXJlX2Zyb21fZGlzcGxh eV9tb2RlKG1vZGUpOwo+ID4+PiArCWZyYW1lLT52aWMgPSB2aWM7Cj4gPj4+ICsJZnJhbWUtPnMz ZF9zdHJ1Y3QgPSBzM2Rfc3RydWN0dXJlX2Zyb21fZGlzcGxheV9tb2RlKG1vZGUpOwo+ID4+PiAg ICAKPiA+Pj4gICAgCXJldHVybiAwOwo+ID4+PiAgICB9Cj4gPj4+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19oZG1pLmMgYi9kcml2ZXJzL2dwdS9kcm0vZXh5bm9z L2V4eW5vc19oZG1pLmMKPiA+Pj4gaW5kZXggMDEwOWZmNDBiMWRiLi44MTJiMjc3M2VkNjkgMTAw NjQ0Cj4gPj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2hkbWkuYwo+ID4+ PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19oZG1pLmMKPiA+Pj4gQEAgLTc5 NSw3ICs3OTUsNyBAQCBzdGF0aWMgdm9pZCBoZG1pX3JlZ19pbmZvZnJhbWVzKHN0cnVjdCBoZG1p X2NvbnRleHQgKmhkYXRhKQo+ID4+PiAgICAJfQo+ID4+PiAgICAKPiA+Pj4gICAgCXJldCA9IGRy bV9oZG1pX3ZlbmRvcl9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZybS52ZW5kb3IuaGRt aSwKPiA+Pj4gLQkJCSZoZGF0YS0+Y3VycmVudF9tb2RlKTsKPiA+Pj4gKwkJCSZoZGF0YS0+Y29u bmVjdG9yLCAmaGRhdGEtPmN1cnJlbnRfbW9kZSk7Cj4gPj4+ICAgIAlpZiAoIXJldCkKPiA+Pj4g ICAgCQlyZXQgPSBoZG1pX3ZlbmRvcl9pbmZvZnJhbWVfcGFjaygmZnJtLnZlbmRvci5oZG1pLCBi dWYsCj4gPj4+ICAgIAkJCQlzaXplb2YoYnVmKSk7Cj4gPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9o ZG1pLmMKPiA+Pj4gaW5kZXggMmQ5NWRiNjRjZGYyLi4yY2NiYTRjY2Y3YWQgMTAwNjQ0Cj4gPj4+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYwo+ID4+PiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKPiA+Pj4gQEAgLTUxMiwxMiArNTEyLDE0IEBA IHN0YXRpYyB2b2lkIGludGVsX2hkbWlfc2V0X3NwZF9pbmZvZnJhbWUoc3RydWN0IGRybV9lbmNv ZGVyICplbmNvZGVyLAo+ID4+PiAgICAKPiA+Pj4gICAgc3RhdGljIHZvaWQKPiA+Pj4gICAgaW50 ZWxfaGRtaV9zZXRfaGRtaV9pbmZvZnJhbWUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAo+ ID4+PiAtCQkJICAgICAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUp Cj4gPj4+ICsJCQkgICAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0 ZSwKPiA+Pj4gKwkJCSAgICAgIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25u X3N0YXRlKQo+ID4+PiAgICB7Cj4gPj4+ICAgIAl1bmlvbiBoZG1pX2luZm9mcmFtZSBmcmFtZTsK PiA+Pj4gICAgCWludCByZXQ7Cj4gPj4+ICAgIAo+ID4+PiAgICAJcmV0ID0gZHJtX2hkbWlfdmVu ZG9yX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUudmVuZG9yLmhkbWksCj4gPj4+ ICsJCQkJCQkJICBjb25uX3N0YXRlLT5jb25uZWN0b3IsCj4gPj4+ICAgIAkJCQkJCQkgICZjcnRj X3N0YXRlLT5iYXNlLmFkanVzdGVkX21vZGUpOwo+ID4+PiAgICAJaWYgKHJldCA8IDApCj4gPj4+ ICAgIAkJcmV0dXJuOwo+ID4+PiBAQCAtNTg0LDcgKzU4Niw3IEBAIHN0YXRpYyB2b2lkIGc0eF9z ZXRfaW5mb2ZyYW1lcyhzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCj4gPj4+ICAgIAo+ID4+ PiAgICAJaW50ZWxfaGRtaV9zZXRfYXZpX2luZm9mcmFtZShlbmNvZGVyLCBjcnRjX3N0YXRlKTsK PiA+Pj4gICAgCWludGVsX2hkbWlfc2V0X3NwZF9pbmZvZnJhbWUoZW5jb2RlciwgY3J0Y19zdGF0 ZSk7Cj4gPj4+IC0JaW50ZWxfaGRtaV9zZXRfaGRtaV9pbmZvZnJhbWUoZW5jb2RlciwgY3J0Y19z dGF0ZSk7Cj4gPj4+ICsJaW50ZWxfaGRtaV9zZXRfaGRtaV9pbmZvZnJhbWUoZW5jb2RlciwgY3J0 Y19zdGF0ZSwgY29ubl9zdGF0ZSk7Cj4gPj4+ICAgIH0KPiA+Pj4gICAgCj4gPj4+ICAgIHN0YXRp YyBib29sIGhkbWlfc2lua19pc19kZWVwX2NvbG9yKGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9y X3N0YXRlICpjb25uX3N0YXRlKQo+ID4+PiBAQCAtNzI1LDcgKzcyNyw3IEBAIHN0YXRpYyB2b2lk IGlieF9zZXRfaW5mb2ZyYW1lcyhzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCj4gPj4+ICAg IAo+ID4+PiAgICAJaW50ZWxfaGRtaV9zZXRfYXZpX2luZm9mcmFtZShlbmNvZGVyLCBjcnRjX3N0 YXRlKTsKPiA+Pj4gICAgCWludGVsX2hkbWlfc2V0X3NwZF9pbmZvZnJhbWUoZW5jb2RlciwgY3J0 Y19zdGF0ZSk7Cj4gPj4+IC0JaW50ZWxfaGRtaV9zZXRfaGRtaV9pbmZvZnJhbWUoZW5jb2Rlciwg Y3J0Y19zdGF0ZSk7Cj4gPj4+ICsJaW50ZWxfaGRtaV9zZXRfaGRtaV9pbmZvZnJhbWUoZW5jb2Rl ciwgY3J0Y19zdGF0ZSwgY29ubl9zdGF0ZSk7Cj4gPj4+ICAgIH0KPiA+Pj4gICAgCj4gPj4+ICAg IHN0YXRpYyB2b2lkIGNwdF9zZXRfaW5mb2ZyYW1lcyhzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29k ZXIsCj4gPj4+IEBAIC03NjgsNyArNzcwLDcgQEAgc3RhdGljIHZvaWQgY3B0X3NldF9pbmZvZnJh bWVzKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKPiA+Pj4gICAgCj4gPj4+ICAgIAlpbnRl bF9oZG1pX3NldF9hdmlfaW5mb2ZyYW1lKGVuY29kZXIsIGNydGNfc3RhdGUpOwo+ID4+PiAgICAJ aW50ZWxfaGRtaV9zZXRfc3BkX2luZm9mcmFtZShlbmNvZGVyLCBjcnRjX3N0YXRlKTsKPiA+Pj4g LQlpbnRlbF9oZG1pX3NldF9oZG1pX2luZm9mcmFtZShlbmNvZGVyLCBjcnRjX3N0YXRlKTsKPiA+ Pj4gKwlpbnRlbF9oZG1pX3NldF9oZG1pX2luZm9mcmFtZShlbmNvZGVyLCBjcnRjX3N0YXRlLCBj b25uX3N0YXRlKTsKPiA+Pj4gICAgfQo+ID4+PiAgICAKPiA+Pj4gICAgc3RhdGljIHZvaWQgdmx2 X3NldF9pbmZvZnJhbWVzKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKPiA+Pj4gQEAgLTgy MSw3ICs4MjMsNyBAQCBzdGF0aWMgdm9pZCB2bHZfc2V0X2luZm9mcmFtZXMoc3RydWN0IGRybV9l bmNvZGVyICplbmNvZGVyLAo+ID4+PiAgICAKPiA+Pj4gICAgCWludGVsX2hkbWlfc2V0X2F2aV9p bmZvZnJhbWUoZW5jb2RlciwgY3J0Y19zdGF0ZSk7Cj4gPj4+ICAgIAlpbnRlbF9oZG1pX3NldF9z cGRfaW5mb2ZyYW1lKGVuY29kZXIsIGNydGNfc3RhdGUpOwo+ID4+PiAtCWludGVsX2hkbWlfc2V0 X2hkbWlfaW5mb2ZyYW1lKGVuY29kZXIsIGNydGNfc3RhdGUpOwo+ID4+PiArCWludGVsX2hkbWlf c2V0X2hkbWlfaW5mb2ZyYW1lKGVuY29kZXIsIGNydGNfc3RhdGUsIGNvbm5fc3RhdGUpOwo+ID4+ PiAgICB9Cj4gPj4+ICAgIAo+ID4+PiAgICBzdGF0aWMgdm9pZCBoc3dfc2V0X2luZm9mcmFtZXMo c3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAo+ID4+PiBAQCAtODU0LDcgKzg1Niw3IEBAIHN0 YXRpYyB2b2lkIGhzd19zZXRfaW5mb2ZyYW1lcyhzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIs Cj4gPj4+ICAgIAo+ID4+PiAgICAJaW50ZWxfaGRtaV9zZXRfYXZpX2luZm9mcmFtZShlbmNvZGVy LCBjcnRjX3N0YXRlKTsKPiA+Pj4gICAgCWludGVsX2hkbWlfc2V0X3NwZF9pbmZvZnJhbWUoZW5j b2RlciwgY3J0Y19zdGF0ZSk7Cj4gPj4+IC0JaW50ZWxfaGRtaV9zZXRfaGRtaV9pbmZvZnJhbWUo ZW5jb2RlciwgY3J0Y19zdGF0ZSk7Cj4gPj4+ICsJaW50ZWxfaGRtaV9zZXRfaGRtaV9pbmZvZnJh bWUoZW5jb2RlciwgY3J0Y19zdGF0ZSwgY29ubl9zdGF0ZSk7Cj4gPj4+ICAgIH0KPiA+Pj4gICAg Cj4gPj4+ICAgIHZvaWQgaW50ZWxfZHBfZHVhbF9tb2RlX3NldF90bWRzX291dHB1dChzdHJ1Y3Qg aW50ZWxfaGRtaSAqaGRtaSwgYm9vbCBlbmFibGUpCj4gPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9t dGtfaGRtaS5jCj4gPj4+IGluZGV4IGI3ODc5MTA2MTk4My4uNTlhMTEwMjZkY2ViIDEwMDY0NAo+ ID4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2hkbWkuYwo+ID4+PiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2hkbWkuYwo+ID4+PiBAQCAtMTA1NCw3ICsx MDU0LDggQEAgc3RhdGljIGludCBtdGtfaGRtaV9zZXR1cF92ZW5kb3Jfc3BlY2lmaWNfaW5mb2Zy YW1lKHN0cnVjdCBtdGtfaGRtaSAqaGRtaSwKPiA+Pj4gICAgCXU4IGJ1ZmZlclsxMF07Cj4gPj4+ ICAgIAlzc2l6ZV90IGVycjsKPiA+Pj4gICAgCj4gPj4+IC0JZXJyID0gZHJtX2hkbWlfdmVuZG9y X2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUsIG1vZGUpOwo+ID4+PiArCWVyciA9 IGRybV9oZG1pX3ZlbmRvcl9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLAo+ID4+ PiArCQkJCQkJCSAgJmhkbWktPmNvbm4sIG1vZGUpOwo+ID4+PiAgICAJaWYgKGVycikgewo+ID4+ PiAgICAJCWRldl9lcnIoaGRtaS0+ZGV2LAo+ID4+PiAgICAJCQkiRmFpbGVkIHRvIGdldCB2ZW5k b3IgaW5mb2ZyYW1lIGZyb20gbW9kZTogJXpkXG4iLCBlcnIpOwo+ID4+PiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnY1MF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0v bm91dmVhdS9udjUwX2Rpc3BsYXkuYwo+ID4+PiBpbmRleCBiMjZhNTA2ZDIwY2EuLjlkN2IyYWZk N2NmYyAxMDA2NDQKPiA+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnY1MF9kaXNw bGF5LmMKPiA+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnY1MF9kaXNwbGF5LmMK PiA+Pj4gQEAgLTI3NTQsNyArMjc1NCw4IEBAIG52NTBfaGRtaV9lbmFibGUoc3RydWN0IGRybV9l bmNvZGVyICplbmNvZGVyLCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiA+Pj4gICAg CQkJPSBoZG1pX2luZm9mcmFtZV9wYWNrKCZhdmlfZnJhbWUsIGFyZ3MuaW5mb2ZyYW1lcywgMTcp Owo+ID4+PiAgICAJfQo+ID4+PiAgICAKPiA+Pj4gLQlyZXQgPSBkcm1faGRtaV92ZW5kb3JfaW5m b2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZ2ZW5kb3JfZnJhbWUudmVuZG9yLmhkbWksIG1vZGUp Owo+ID4+PiArCXJldCA9IGRybV9oZG1pX3ZlbmRvcl9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21v ZGUoJnZlbmRvcl9mcmFtZS52ZW5kb3IuaGRtaSwKPiA+Pj4gKwkJCQkJCQkgICZudl9jb25uZWN0 b3ItPmJhc2UsIG1vZGUpOwo+ID4+PiAgICAJaWYgKCFyZXQpIHsKPiA+Pj4gICAgCQkvKiBXZSBo YXZlIGEgVmVuZG9yIEluZm9GcmFtZSwgcG9wdWxhdGUgaXQgdG8gdGhlIGRpc3BsYXkgKi8KPiA+ Pj4gICAgCQlhcmdzLnB3ci52ZW5kb3JfaW5mb2ZyYW1lX2xlbmd0aAo+ID4+PiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL2lubm9faGRtaS5jIGIvZHJpdmVycy9ncHUvZHJt L3JvY2tjaGlwL2lubm9faGRtaS5jCj4gPj4+IGluZGV4IGVlNTg0ZDg3MTExZi4uZmFiMzA5Mjdh ODg5IDEwMDY0NAo+ID4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvaW5ub19oZG1p LmMKPiA+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL2lubm9faGRtaS5jCj4gPj4+ IEBAIC0yODIsNiArMjgyLDcgQEAgc3RhdGljIGludCBpbm5vX2hkbWlfY29uZmlnX3ZpZGVvX3Zz aShzdHJ1Y3QgaW5ub19oZG1pICpoZG1pLAo+ID4+PiAgICAJaW50IHJjOwo+ID4+PiAgICAKPiA+ Pj4gICAgCXJjID0gZHJtX2hkbWlfdmVuZG9yX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgm ZnJhbWUudmVuZG9yLmhkbWksCj4gPj4+ICsJCQkJCQkJICZoZG1pLT5jb25uZWN0b3IsCj4gPj4+ ICAgIAkJCQkJCQkgbW9kZSk7Cj4gPj4+ICAgIAo+ID4+PiAgICAJcmV0dXJuIGlubm9faGRtaV91 cGxvYWRfZnJhbWUoaGRtaSwgcmMsICZmcmFtZSwgSU5GT0ZSQU1FX1ZTSSwKPiA+Pj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS9z dGkvc3RpX2hkbWkuYwo+ID4+PiBpbmRleCBkMTkwMjc1MGE4NWQuLmMzYjI5MmFiMTdhNSAxMDA2 NDQKPiA+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfaGRtaS5jCj4gPj4+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2hkbWkuYwo+ID4+PiBAQCAtNTE1LDcgKzUxNSw5IEBA IHN0YXRpYyBpbnQgaGRtaV92ZW5kb3JfaW5mb2ZyYW1lX2NvbmZpZyhzdHJ1Y3Qgc3RpX2hkbWkg KmhkbWkpCj4gPj4+ICAgIAo+ID4+PiAgICAJRFJNX0RFQlVHX0RSSVZFUigiXG4iKTsKPiA+Pj4g ICAgCj4gPj4+IC0JcmV0ID0gZHJtX2hkbWlfdmVuZG9yX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlf bW9kZSgmaW5mb2ZyYW1lLCBtb2RlKTsKPiA+Pj4gKwlyZXQgPSBkcm1faGRtaV92ZW5kb3JfaW5m b2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZpbmZvZnJhbWUsCj4gPj4+ICsJCQkJCQkJICBoZG1p LT5kcm1fY29ubmVjdG9yLAo+ID4+PiArCQkJCQkJCSAgbW9kZSk7Cj4gPj4+ICAgIAlpZiAocmV0 IDwgMCkgewo+ID4+PiAgICAJCS8qCj4gPj4+ICAgIAkJICogR29pbmcgaW50byB0aGF0IHN0YXRl bWVudCBkb2VzIG5vdCBtZWFucyB2ZW5kb3IgaW5mb2ZyYW1lCj4gPj4+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0venRlL3p4X2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS96dGUvenhfaGRt aS5jCj4gPj4+IGluZGV4IGI4YWJiMWI0OTZmZi4uMTNlYTkwZjdhMTg1IDEwMDY0NAo+ID4+PiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0venRlL3p4X2hkbWkuYwo+ID4+PiArKysgYi9kcml2ZXJzL2dw dS9kcm0venRlL3p4X2hkbWkuYwo+ID4+PiBAQCAtMTA4LDYgKzEwOCw3IEBAIHN0YXRpYyBpbnQg enhfaGRtaV9jb25maWdfdmlkZW9fdnNpKHN0cnVjdCB6eF9oZG1pICpoZG1pLAo+ID4+PiAgICAJ aW50IHJldDsKPiA+Pj4gICAgCj4gPj4+ICAgIAlyZXQgPSBkcm1faGRtaV92ZW5kb3JfaW5mb2Zy YW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZS52ZW5kb3IuaGRtaSwKPiA+Pj4gKwkJCQkJCQkg ICZoZG1pLT5jb25uZWN0b3IsCj4gPj4+ICAgIAkJCQkJCQkgIG1vZGUpOwo+ID4+PiAgICAJaWYg KHJldCkgewo+ID4+PiAgICAJCURSTV9ERVZfRVJST1IoaGRtaS0+ZGV2LCAiZmFpbGVkIHRvIGdl dCB2ZW5kb3IgaW5mb2ZyYW1lOiAlZFxuIiwKPiA+Pj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJt L2RybV9jb25uZWN0b3IuaCBiL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaAo+ID4+PiBpbmRl eCAyYjk3ZDFlMjhmNjAuLjE1NDMyMTJiMDQ0OSAxMDA2NDQKPiA+Pj4gLS0tIGEvaW5jbHVkZS9k cm0vZHJtX2Nvbm5lY3Rvci5oCj4gPj4+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3Iu aAo+ID4+PiBAQCAtMjcwLDYgKzI3MCwxMSBAQCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfaW5mbyB7Cj4g Pj4+ICAgIAlib29sIGR2aV9kdWFsOwo+ID4+PiAgICAKPiA+Pj4gICAgCS8qKgo+ID4+PiArCSAq IEBoYXNfaGRtaV9pbmZvZnJhbWU6IERvZXMgdGhlIHNpbmsgc3VwcG9ydCB0aGUgSERNSSBpbmZv ZnJhbWU/Cj4gPj4+ICsJICovCj4gPj4+ICsJYm9vbCBoYXNfaGRtaV9pbmZvZnJhbWU7Cj4gPj4+ ICsKPiA+Pj4gKwkvKioKPiA+Pj4gICAgCSAqIEBlZGlkX2hkbWlfZGNfbW9kZXM6IE1hc2sgb2Yg c3VwcG9ydGVkIGhkbWkgZGVlcCBjb2xvciBtb2Rlcy4gRXZlbgo+ID4+PiAgICAJICogbW9yZSBz dHVmZiByZWR1bmRhbnQgd2l0aCBAYnVzX2Zvcm1hdHMuCj4gPj4+ICAgIAkgKi8KPiA+Pj4gZGlm ZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9lZGlkLmggYi9pbmNsdWRlL2RybS9kcm1fZWRpZC5o Cj4gPj4+IGluZGV4IDllNGUyMzUyNDg0MC4uM2M4NzQwYWQxZGI2IDEwMDY0NAo+ID4+PiAtLS0g YS9pbmNsdWRlL2RybS9kcm1fZWRpZC5oCj4gPj4+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9lZGlk LmgKPiA+Pj4gQEAgLTM1Niw2ICszNTYsNyBAQCBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21f ZGlzcGxheV9tb2RlKHN0cnVjdCBoZG1pX2F2aV9pbmZvZnJhbWUgKmZyYW1lLAo+ID4+PiAgICAJ CQkJCSBib29sIGlzX2hkbWkyX3NpbmspOwo+ID4+PiAgICBpbnQKPiA+Pj4gICAgZHJtX2hkbWlf dmVuZG9yX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZShzdHJ1Y3QgaGRtaV92ZW5kb3JfaW5m b2ZyYW1lICpmcmFtZSwKPiA+Pj4gKwkJCQkJICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25u ZWN0b3IsCj4gPj4+ICAgIAkJCQkJICAgIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICpt b2RlKTsKPiA+Pj4gICAgdm9pZAo+ID4+PiAgICBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX3F1YW50 X3JhbmdlKHN0cnVjdCBoZG1pX2F2aV9pbmZvZnJhbWUgKmZyYW1lLAo+ID4+IE90aGVyd2lzZSBs b29rcyBnb29kCj4gPj4gLSBTaGFzaGFuawoKLS0gClZpbGxlIFN5cmrDpGzDpApJbnRlbCBPVEMK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==