From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Sharma, Shashank" Subject: Re: [PATCH 02/10] drm/edid: Allow HDMI infoframe without VIC or S3D Date: Thu, 16 Nov 2017 20:10:55 +0530 Message-ID: <612b8afd-0811-646b-b3c5-93b970eb962d@intel.com> References: <20171113170427.4150-1-ville.syrjala@linux.intel.com> <20171113170427.4150-3-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20171113170427.4150-3-ville.syrjala@linux.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 Syrjala , dri-devel@lists.freedesktop.org Cc: Andrzej Hajda , intel-gfx@lists.freedesktop.org, Laurent Pinchart List-Id: dri-devel@lists.freedesktop.org UmVnYXJkcwoKU2hhc2hhbmsKCgpPbiAxMS8xMy8yMDE3IDEwOjM0IFBNLCBWaWxsZSBTeXJqYWxh IHdyb3RlOgo+IEZyb206IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRl bC5jb20+Cj4KPiBBcHBlZGl4IEYgb2YgSERNSSAyLjAgc2F5cyB0aGF0IHNvbWUgSERNSSBzaW5r IG1heSBmYWlsIHRvIHN3aXRjaCBmcm9tCj4gM0QgdG8gMkQgbW9kZSBpbiBhIHRpbWVseSBmYXNo aW9uIGlmIHRoZSBzb3VyY2Ugc2ltcGx5IHN0b3BzIHNlbmRpbmcgdGhlCj4gSERNSSBpbmZvZnJh bWUuIFRoZSBzdWdnZXN0ZWQgd29ya2Fyb3VuZCBpcyB0byBrZWVwIHNlbmRpbmcgdGhlCj4gaW5m b2ZyYW1lIGV2ZW4gd2hlbiBzdHJpY3RseSBub3QgbmVjZXNzYXJ5IChpZS4gbm8gVklDIGFuZCBu byBTM0QpLgo+IEhETUkgMS40IGRvZXMgYWxsb3cgZm9yIHRoaXMgYmVoYXZpb3VyLCBzdGF0aW5n IHRoYXQgc2VuZGluZyB0aGUKPiBpbmZvZnJhbWUgaXMgb3B0aW9uYWwgaW4gdGhpcyBjYXNlLgo+ Cj4gVGhlIGluZm9mcmFtZSB3YXMgZmlyc3Qgc3BlY2lmaWVkIGluIEhETUkgMS40LCBzbyBpbiB0 aGVvcnkgc2lua3MKPiBwcmVkYXRpbmcgdGhhdCBtYXkgbm90IGFwcHJlY2lhdGUgdXMgc2VuZGlu ZyBhbiB1a25vd24gaW5mb2ZyYW1lCj4gdGhlaXIgd2F5LiBUbyBhdm9pZCByZWdyZXNzaW9ucyBs ZXQncyB0cnkgdG8gZGV0ZXJtaW5lIGlmIHRoZSBzaW5rCj4gc3VwcG9ydHMgdGhlIGluZm9mcmFt ZSBvciBub3QuIFVuZm9ydHVuYXRlbHkgdGhlcmUncyBubyBkaXJlY3Qgd2F5Cj4gdG8gZG8gdGhh dCwgc28gaW5zdGVhZCB3ZSdsbCBqdXN0IGNoZWNrIGlmIHdlIG1hbmFnZWQgdG8gcGFyc2UgYW55 Cj4gSERNSSAxLjQgNGsgb3Igc3RlcmVvIG1vZGVzIGZyb20gdGhlIEVESUQsIGFuZCBpZiBzbyB3 ZSBhc3N1bWUgdGhlCj4gc2luayB3aWxsIGFjY2VwdCB0aGUgaW5mb2ZyYW1lLiBBbHNvIGlmIHRo ZSBFRElEIGNvbnRhaW5zIHRoZSBIRE1JCj4gMi4wIEhETUkgRm9ydW0gVlNEQiB3ZSBjYW4gYXNz dW1lIHRoZSBzaW5rIGlzIHByZXBhcmVkIHRvIHJlY2VpdmUKPiB0aGUgaW5mb2ZyYW1lLgpJIGFt IHRyeWluZyB0byBnZXQgc29tZSBzZW5zZSBmcm9tIEhETUkgMi4wIHNwZWMgc2VjdGlvbiAxMC4y LjEsIHdoaWNoIAp0YWxrcyBhYm91dApzd2l0Y2ggZnJvbSAzRCB0byAyRC4gIFRvIG1lIGl0IGxv b2tzIGxpa2U6CklmIChzZW5kaW5nX3RvX2hkbWkyX3NpbmtzKSB7CiAgICAgLSBmb3IgM2QgbW9k ZXMgc2VuZCBIRi1WU0lGCiAgICAgLSBmb3IgMmQgbW9kZXMgJiYgZGVmaW5lZCBpbiBIMTRiIEhG VlNJRiwgc2VuZCBIMTRCLVZTSUYKICAgICAgIFdoZW4geW91IHN3aXRjaCBmcm9tIDNkLT4yZCB7 CiAgICAgICAgICAtIHNlbmRfSEYtVlNJRiB3aXRoIDNEX3ZhbGlkIGJpdCA9IDAvMQogICAgICB9 Cn0gZWxzZSB7IC8qIEhETUkgMS40YiBzaW5rcyBmcm9tIEFwcGVuZGl4IEYgKi8KICAgICAtICBz ZW5kIEgxNGItVlNJRiB3aXRoIEhETUlfdmlkZW9fZm9ybWF0WzI6MCA9IDAgT1IgMV0KfQoKU2hv dWxkIHdlIGFkZCBhIGlzX2hkbWkyIGNoZWNrIGFuZCBzZXBhcmF0ZSB0aGVzZSBjYXNlcyA/Cgo+ Cj4gdjI6IEZpeCB0aGUgZ2V0dGluZyBoYXNfaGRtaV9pbmZvZnJhbWUgZnJvbSBkaXNwbGF5X2lu Zm8KPiAgICAgIEFsd2F5cyBmYWlsIGNvbnN0cnVjdGluZyB0aGUgaW5mb2ZyYW1lIGlmIHRoZSBk aXNwbGF5Cj4gICAgICBwb3NzaWJseSBjYW4ndCBoYW5kbGUgaXQKPgo+IENjOiBTaGFzaGFuayBT aGFybWEgPHNoYXNoYW5rLnNoYXJtYUBpbnRlbC5jb20+Cj4gQ2M6IEFuZHJ6ZWogSGFqZGEgPGEu aGFqZGFAc2Ftc3VuZy5jb20+Cj4gQ2M6IExhdXJlbnQgUGluY2hhcnQgPGxhdXJlbnQucGluY2hh cnRAaWRlYXNvbmJvYXJkLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZp bGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+IC0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2Jy aWRnZS9zaWwtc2lpODYyMC5jICAgICAgfCAgMyArKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9icmlk Z2Uvc3lub3BzeXMvZHctaGRtaS5jIHwgIDQgKysrLQo+ICAgZHJpdmVycy9ncHUvZHJtL2RybV9l ZGlkLmMgICAgICAgICAgICAgICAgfCAzNCArKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0t Cj4gICBkcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19oZG1pLmMgICAgICB8ICAyICstCj4g ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMgICAgICAgICB8IDE0ICsrKysrKyst LS0tLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfaGRtaS5jICAgICAgIHwgIDMg KystCj4gICBkcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9udjUwX2Rpc3BsYXkuYyAgICB8ICAzICsr LQo+ICAgZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL2lubm9faGRtaS5jICAgICAgfCAgMSArCj4g ICBkcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9oZG1pLmMgICAgICAgICAgICB8ICA0ICsrKy0KPiAg IGRyaXZlcnMvZ3B1L2RybS96dGUvenhfaGRtaS5jICAgICAgICAgICAgIHwgIDEgKwo+ICAgaW5j bHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oICAgICAgICAgICAgICAgfCAgNSArKysrKwo+ICAgaW5j bHVkZS9kcm0vZHJtX2VkaWQuaCAgICAgICAgICAgICAgICAgICAgfCAgMSArCj4gICAxMiBmaWxl cyBjaGFuZ2VkLCA1NyBpbnNlcnRpb25zKCspLCAxOCBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3NpbC1zaWk4NjIwLmMgYi9kcml2ZXJzL2dwdS9k cm0vYnJpZGdlL3NpbC1zaWk4NjIwLmMKPiBpbmRleCBiN2ViNzA0ZDBhOGEuLjQ0MTcyNzZiYTAy ZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3NpbC1zaWk4NjIwLmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3NpbC1zaWk4NjIwLmMKPiBAQCAtMjIyMCw4ICsy MjIwLDkgQEAgc3RhdGljIGJvb2wgc2lpODYyMF9tb2RlX2ZpeHVwKHN0cnVjdCBkcm1fYnJpZGdl ICpicmlkZ2UsCj4gICAJCQl1bmlvbiBoZG1pX2luZm9mcmFtZSBmcm07Cj4gICAJCQl1OCBtaGxf dmljW10gPSB7IDAsIDk1LCA5NCwgOTMsIDk4IH07Cj4gICAKPiArCQkJLyogRklYTUU6IFdlIG5l ZWQgdGhlIGNvbm5lY3RvciBoZXJlICovCj4gICAJCQlkcm1faGRtaV92ZW5kb3JfaW5mb2ZyYW1l X2Zyb21fZGlzcGxheV9tb2RlKAo+IC0JCQkJJmZybS52ZW5kb3IuaGRtaSwgYWRqdXN0ZWRfbW9k ZSk7Cj4gKwkJCQkmZnJtLnZlbmRvci5oZG1pLCBOVUxMLCBhZGp1c3RlZF9tb2RlKTsKPiAgIAkJ CXZpYyA9IGZybS52ZW5kb3IuaGRtaS52aWM7Cj4gICAJCQlpZiAodmljID49IEFSUkFZX1NJWkUo bWhsX3ZpYykpCj4gICAJCQkJdmljID0gMDsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2JyaWRnZS9zeW5vcHN5cy9kdy1oZG1pLmMgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9w c3lzL2R3LWhkbWkuYwo+IGluZGV4IGE2NGNlNzExMjI4OC4uYjE3MjEzOTUwMmQ2IDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc3lub3BzeXMvZHctaGRtaS5jCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zeW5vcHN5cy9kdy1oZG1pLmMKPiBAQCAtMTQzNyw3ICsx NDM3LDkgQEAgc3RhdGljIHZvaWQgaGRtaV9jb25maWdfdmVuZG9yX3NwZWNpZmljX2luZm9mcmFt ZShzdHJ1Y3QgZHdfaGRtaSAqaGRtaSwKPiAgIAl1OCBidWZmZXJbMTBdOwo+ICAgCXNzaXplX3Qg ZXJyOwo+ICAgCj4gLQllcnIgPSBkcm1faGRtaV92ZW5kb3JfaW5mb2ZyYW1lX2Zyb21fZGlzcGxh eV9tb2RlKCZmcmFtZSwgbW9kZSk7Cj4gKwllcnIgPSBkcm1faGRtaV92ZW5kb3JfaW5mb2ZyYW1l X2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZSwKPiArCQkJCQkJCSAgJmhkbWktPmNvbm5lY3RvciwK PiArCQkJCQkJCSAgbW9kZSk7Cj4gICAJaWYgKGVyciA8IDApCj4gICAJCS8qCj4gICAJCSAqIEdv aW5nIGludG8gdGhhdCBzdGF0ZW1lbnQgZG9lcyBub3QgbWVhbnMgdmVuZG9yIGluZm9mcmFtZQo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fZWRpZC5jCj4gaW5kZXggNzQ5ZDA3YTAxNzcyLi45YWRhMGNjZjUwZGYgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9lZGlkLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v ZHJtX2VkaWQuYwo+IEBAIC0zMzkzLDYgKzMzOTMsNyBAQCBzdGF0aWMgaW50Cj4gICBkb19oZG1p X3ZzZGJfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwgY29uc3QgdTggKmRi LCB1OCBsZW4sCj4gICAJCSAgIGNvbnN0IHU4ICp2aWRlb19kYiwgdTggdmlkZW9fbGVuKQo+ICAg ewo+ICsJc3RydWN0IGRybV9kaXNwbGF5X2luZm8gKmluZm8gPSAmY29ubmVjdG9yLT5kaXNwbGF5 X2luZm87Cj4gICAJaW50IG1vZGVzID0gMCwgb2Zmc2V0ID0gMCwgaSwgbXVsdGlfcHJlc2VudCA9 IDAsIG11bHRpX2xlbjsKPiAgIAl1OCB2aWNfbGVuLCBoZG1pXzNkX2xlbiA9IDA7Cj4gICAJdTE2 IG1hc2s7Cj4gQEAgLTM1MjAsNiArMzUyMSw4IEBAIGRvX2hkbWlfdnNkYl9tb2RlcyhzdHJ1Y3Qg ZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLCBjb25zdCB1OCAqZGIsIHU4IGxlbiwKPiAgIAl9Cj4g ICAKPiAgIG91dDoKPiArCWlmIChtb2RlcyA+IDApCj4gKwkJaW5mby0+aGFzX2hkbWlfaW5mb2Zy YW1lID0gdHJ1ZTsKPiAgIAlyZXR1cm4gbW9kZXM7Cj4gICB9Cj4gICAKPiBAQCAtNDI0Myw2ICs0 MjQ2LDggQEAgc3RhdGljIHZvaWQgZHJtX3BhcnNlX2hkbWlfZm9ydW1fdnNkYihzdHJ1Y3QgZHJt X2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ICAgCXN0cnVjdCBkcm1fZGlzcGxheV9pbmZvICpkaXNw bGF5ID0gJmNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvOwo+ICAgCXN0cnVjdCBkcm1faGRtaV9pbmZv ICpoZG1pID0gJmRpc3BsYXktPmhkbWk7Cj4gICAKPiArCWRpc3BsYXktPmhhc19oZG1pX2luZm9m cmFtZSA9IHRydWU7Cj4gKwo+ICAgCWlmIChoZl92c2RiWzZdICYgMHg4MCkgewo+ICAgCQloZG1p LT5zY2RjLnN1cHBvcnRlZCA9IHRydWU7Cj4gICAJCWlmIChoZl92c2RiWzZdICYgMHg0MCkKPiBA QCAtNDQxNiw2ICs0NDIxLDcgQEAgc3RhdGljIHZvaWQgZHJtX2FkZF9kaXNwbGF5X2luZm8oc3Ry dWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiAgIAlpbmZvLT5jZWFfcmV2ID0gMDsKPiAg IAlpbmZvLT5tYXhfdG1kc19jbG9jayA9IDA7Cj4gICAJaW5mby0+ZHZpX2R1YWwgPSBmYWxzZTsK PiArCWluZm8tPmhhc19oZG1pX2luZm9mcmFtZSA9IGZhbHNlOwo+ICAgCj4gICAJaWYgKGVkaWQt PnJldmlzaW9uIDwgMykKPiAgIAkJcmV0dXJuOwo+IEBAIC00OTAzLDYgKzQ5MDksNyBAQCBzM2Rf c3RydWN0dXJlX2Zyb21fZGlzcGxheV9tb2RlKGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2Rl ICptb2RlKQo+ICAgICogZHJtX2hkbWlfdmVuZG9yX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9k ZSgpIC0gZmlsbCBhbiBIRE1JIGluZm9mcmFtZSB3aXRoCj4gICAgKiBkYXRhIGZyb20gYSBEUk0g ZGlzcGxheSBtb2RlCj4gICAgKiBAZnJhbWU6IEhETUkgdmVuZG9yIGluZm9mcmFtZQo+ICsgKiBA Y29ubmVjdG9yOiB0aGUgY29ubmVjdG9yCkkgcmVtZW1iZXIgb3VyIG9sZCBkaXNjdXNzaW9uIHdo ZXJlIHdlIHJlYWxpemVkIHRoYXQgd2Ugd2lsbCBuZWVkIHRoaXMgCmNvbm5lY3RvciBmb3IgYWxs IHR5cGVzIG9mIGluZm9mcmFtZXMsCmV2ZW50dWFsbHksIGRvIHlvdSB0aGluayB3ZSBzaG91bGQg c3RhcnQgdGhpbmtpbmcgYWJvdXQgY3JlYXRpbmcgYSAKd3JhcHBlciBsaWtlIGRybV9hbnlfaW5m b2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCksCmFuZCBwYXNzIGNvbm5lY3RvciBhbmQgZGVzaXJl ZCB0eXBlIHRvIGl0ID9PciBJIGFtIGdldHRpbmcgdG9vIGFtYml0aW91cyAKdGFyZ2V0aW5nIHRo aXMgc2VyaWVzIDopID8KPiAgICAqIEBtb2RlOiBEUk0gZGlzcGxheSBtb2RlCj4gICAgKgo+ICAg ICogTm90ZSB0aGF0IHRoZXJlJ3MgaXMgYSBuZWVkIHRvIHNlbmQgSERNSSB2ZW5kb3IgaW5mb2Zy YW1lcyBvbmx5IHdoZW4gdXNpbmcgYQo+IEBAIC00OTEzLDggKzQ5MjAsMTUgQEAgczNkX3N0cnVj dHVyZV9mcm9tX2Rpc3BsYXlfbW9kZShjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9k ZSkKPiAgICAqLwo+ICAgaW50Cj4gICBkcm1faGRtaV92ZW5kb3JfaW5mb2ZyYW1lX2Zyb21fZGlz cGxheV9tb2RlKHN0cnVjdCBoZG1pX3ZlbmRvcl9pbmZvZnJhbWUgKmZyYW1lLAo+ICsJCQkJCSAg ICBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ICAgCQkJCQkgICAgY29uc3Qgc3Ry dWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gICB7Cj4gKwkvKgo+ICsJICogRklYTUU6IHNp bC1zaWk4NjIwIGRvZXNuJ3QgaGF2ZSBhIGNvbm5lY3RvciBhcm91bmQgd2hlbgo+ICsJICogd2Ug bmVlZCBvbmUsIHNvIHdlIGhhdmUgdG8gYmUgcHJlcGFyZWQgZm9yIGEgTlVMTCBjb25uZWN0b3Iu Cj4gKwkgKi8KPiArCWJvb2wgaGFzX2hkbWlfaW5mb2ZyYW1lID0gY29ubmVjdG9yID8KPiArCQlj b25uZWN0b3ItPmRpc3BsYXlfaW5mby5oYXNfaGRtaV9pbmZvZnJhbWUgOiBmYWxzZTsKPiAgIAlp bnQgZXJyOwo+ICAgCXUzMiBzM2RfZmxhZ3M7Cj4gICAJdTggdmljOwo+IEBAIC00OTIyLDExICs0 OTM2LDIxIEBAIGRybV9oZG1pX3ZlbmRvcl9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoc3Ry dWN0IGhkbWlfdmVuZG9yX2luZm9mcmFtZSAqZnJhbWUsCj4gICAJaWYgKCFmcmFtZSB8fCAhbW9k ZSkKPiAgIAkJcmV0dXJuIC1FSU5WQUw7Cj4gICAKPiArCWlmICghaGFzX2hkbWlfaW5mb2ZyYW1l KQo+ICsJCXJldHVybiAtRUlOVkFMOwo+ICsKPiAgIAl2aWMgPSBkcm1fbWF0Y2hfaGRtaV9tb2Rl KG1vZGUpOwo+ICAgCXMzZF9mbGFncyA9IG1vZGUtPmZsYWdzICYgRFJNX01PREVfRkxBR18zRF9N QVNLOwo+ICAgCj4gLQlpZiAoIXZpYyAmJiAhczNkX2ZsYWdzKQo+IC0JCXJldHVybiAtRUlOVkFM Owo+ICsJLyoKPiArCSAqIEV2ZW4gaWYgaXQncyBub3QgYWJzb2x1dGVseSBuZWNlc3NhcnkgdG8g c2VuZCB0aGUgaW5mb2ZyYW1lCj4gKwkgKiAoaWUudmljPT0wIGFuZCBzM2Rfc3RydWN0PT0wKSB3 ZSB3aWxsIHN0aWxsIHNlbmQgaXQgaWYgd2UKPiArCSAqIGtub3cgdGhhdCB0aGUgc2luayBjYW4g aGFuZGxlIGl0LiBUaGlzIGlzIGJhc2VkIG9uIGEKPiArCSAqIHN1Z2dlc3Rpb24gaW4gSERNSSAy LjAgQXBwZW5kaXggRi4gQXBwYXJlbnRseSBzb21lIHNpbmtzCj4gKwkgKiBoYXZlIHRyb3VibGUg cmVhbGl6aW5nIHRoYXQgdGhleSBzaHVsZCBzd2l0Y2ggZnJvbSAzRCB0byAyRAo+ICsJICogbW9k ZSBpZiB0aGUgc291cmNlIHNpbXBseSBzdG9wcyBzZW5kaW5nIHRoZSBpbmZvZnJhbWUgd2hlbgo+ ICsJICogaXQgd2FudHMgdG8gc3dpdGNoIGZyb20gM0QgdG8gMkQuCj4gKwkgKi8KPiAgIAo+ICAg CWlmICh2aWMgJiYgczNkX2ZsYWdzKQo+ICAgCQlyZXR1cm4gLUVJTlZBTDsKPiBAQCAtNDkzNSwx MCArNDk1OSw4IEBAIGRybV9oZG1pX3ZlbmRvcl9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUo c3RydWN0IGhkbWlfdmVuZG9yX2luZm9mcmFtZSAqZnJhbWUsCj4gICAJaWYgKGVyciA8IDApCj4g ICAJCXJldHVybiBlcnI7Cj4gICAKPiAtCWlmICh2aWMpCj4gLQkJZnJhbWUtPnZpYyA9IHZpYzsK PiAtCWVsc2UKPiAtCQlmcmFtZS0+czNkX3N0cnVjdCA9IHMzZF9zdHJ1Y3R1cmVfZnJvbV9kaXNw bGF5X21vZGUobW9kZSk7Cj4gKwlmcmFtZS0+dmljID0gdmljOwo+ICsJZnJhbWUtPnMzZF9zdHJ1 Y3QgPSBzM2Rfc3RydWN0dXJlX2Zyb21fZGlzcGxheV9tb2RlKG1vZGUpOwo+ICAgCj4gICAJcmV0 dXJuIDA7Cj4gICB9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9z X2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2hkbWkuYwo+IGluZGV4IDAx MDlmZjQwYjFkYi4uODEyYjI3NzNlZDY5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9l eHlub3MvZXh5bm9zX2hkbWkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9z X2hkbWkuYwo+IEBAIC03OTUsNyArNzk1LDcgQEAgc3RhdGljIHZvaWQgaGRtaV9yZWdfaW5mb2Zy YW1lcyhzdHJ1Y3QgaGRtaV9jb250ZXh0ICpoZGF0YSkKPiAgIAl9Cj4gICAKPiAgIAlyZXQgPSBk cm1faGRtaV92ZW5kb3JfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcm0udmVuZG9yLmhk bWksCj4gLQkJCSZoZGF0YS0+Y3VycmVudF9tb2RlKTsKPiArCQkJJmhkYXRhLT5jb25uZWN0b3Is ICZoZGF0YS0+Y3VycmVudF9tb2RlKTsKPiAgIAlpZiAoIXJldCkKPiAgIAkJcmV0ID0gaGRtaV92 ZW5kb3JfaW5mb2ZyYW1lX3BhY2soJmZybS52ZW5kb3IuaGRtaSwgYnVmLAo+ICAgCQkJCXNpemVv ZihidWYpKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCj4gaW5kZXggMmQ5NWRiNjRjZGYy Li4yY2NiYTRjY2Y3YWQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf aGRtaS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCj4gQEAgLTUx MiwxMiArNTEyLDE0IEBAIHN0YXRpYyB2b2lkIGludGVsX2hkbWlfc2V0X3NwZF9pbmZvZnJhbWUo c3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAo+ICAgCj4gICBzdGF0aWMgdm9pZAo+ICAgaW50 ZWxfaGRtaV9zZXRfaGRtaV9pbmZvZnJhbWUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAo+ IC0JCQkgICAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiAr CQkJICAgICAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCj4gKwkJ CSAgICAgIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlKQo+ICAg ewo+ICAgCXVuaW9uIGhkbWlfaW5mb2ZyYW1lIGZyYW1lOwo+ICAgCWludCByZXQ7Cj4gICAKPiAg IAlyZXQgPSBkcm1faGRtaV92ZW5kb3JfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFt ZS52ZW5kb3IuaGRtaSwKPiArCQkJCQkJCSAgY29ubl9zdGF0ZS0+Y29ubmVjdG9yLAo+ICAgCQkJ CQkJCSAgJmNydGNfc3RhdGUtPmJhc2UuYWRqdXN0ZWRfbW9kZSk7Cj4gICAJaWYgKHJldCA8IDAp Cj4gICAJCXJldHVybjsKPiBAQCAtNTg0LDcgKzU4Niw3IEBAIHN0YXRpYyB2b2lkIGc0eF9zZXRf aW5mb2ZyYW1lcyhzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCj4gICAKPiAgIAlpbnRlbF9o ZG1pX3NldF9hdmlfaW5mb2ZyYW1lKGVuY29kZXIsIGNydGNfc3RhdGUpOwo+ICAgCWludGVsX2hk bWlfc2V0X3NwZF9pbmZvZnJhbWUoZW5jb2RlciwgY3J0Y19zdGF0ZSk7Cj4gLQlpbnRlbF9oZG1p X3NldF9oZG1pX2luZm9mcmFtZShlbmNvZGVyLCBjcnRjX3N0YXRlKTsKPiArCWludGVsX2hkbWlf c2V0X2hkbWlfaW5mb2ZyYW1lKGVuY29kZXIsIGNydGNfc3RhdGUsIGNvbm5fc3RhdGUpOwo+ICAg fQo+ICAgCj4gICBzdGF0aWMgYm9vbCBoZG1pX3NpbmtfaXNfZGVlcF9jb2xvcihjb25zdCBzdHJ1 Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSkKPiBAQCAtNzI1LDcgKzcyNyw3IEBA IHN0YXRpYyB2b2lkIGlieF9zZXRfaW5mb2ZyYW1lcyhzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29k ZXIsCj4gICAKPiAgIAlpbnRlbF9oZG1pX3NldF9hdmlfaW5mb2ZyYW1lKGVuY29kZXIsIGNydGNf c3RhdGUpOwo+ICAgCWludGVsX2hkbWlfc2V0X3NwZF9pbmZvZnJhbWUoZW5jb2RlciwgY3J0Y19z dGF0ZSk7Cj4gLQlpbnRlbF9oZG1pX3NldF9oZG1pX2luZm9mcmFtZShlbmNvZGVyLCBjcnRjX3N0 YXRlKTsKPiArCWludGVsX2hkbWlfc2V0X2hkbWlfaW5mb2ZyYW1lKGVuY29kZXIsIGNydGNfc3Rh dGUsIGNvbm5fc3RhdGUpOwo+ICAgfQo+ICAgCj4gICBzdGF0aWMgdm9pZCBjcHRfc2V0X2luZm9m cmFtZXMoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAo+IEBAIC03NjgsNyArNzcwLDcgQEAg c3RhdGljIHZvaWQgY3B0X3NldF9pbmZvZnJhbWVzKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2Rl ciwKPiAgIAo+ICAgCWludGVsX2hkbWlfc2V0X2F2aV9pbmZvZnJhbWUoZW5jb2RlciwgY3J0Y19z dGF0ZSk7Cj4gICAJaW50ZWxfaGRtaV9zZXRfc3BkX2luZm9mcmFtZShlbmNvZGVyLCBjcnRjX3N0 YXRlKTsKPiAtCWludGVsX2hkbWlfc2V0X2hkbWlfaW5mb2ZyYW1lKGVuY29kZXIsIGNydGNfc3Rh dGUpOwo+ICsJaW50ZWxfaGRtaV9zZXRfaGRtaV9pbmZvZnJhbWUoZW5jb2RlciwgY3J0Y19zdGF0 ZSwgY29ubl9zdGF0ZSk7Cj4gICB9Cj4gICAKPiAgIHN0YXRpYyB2b2lkIHZsdl9zZXRfaW5mb2Zy YW1lcyhzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCj4gQEAgLTgyMSw3ICs4MjMsNyBAQCBz dGF0aWMgdm9pZCB2bHZfc2V0X2luZm9mcmFtZXMoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVy LAo+ICAgCj4gICAJaW50ZWxfaGRtaV9zZXRfYXZpX2luZm9mcmFtZShlbmNvZGVyLCBjcnRjX3N0 YXRlKTsKPiAgIAlpbnRlbF9oZG1pX3NldF9zcGRfaW5mb2ZyYW1lKGVuY29kZXIsIGNydGNfc3Rh dGUpOwo+IC0JaW50ZWxfaGRtaV9zZXRfaGRtaV9pbmZvZnJhbWUoZW5jb2RlciwgY3J0Y19zdGF0 ZSk7Cj4gKwlpbnRlbF9oZG1pX3NldF9oZG1pX2luZm9mcmFtZShlbmNvZGVyLCBjcnRjX3N0YXRl LCBjb25uX3N0YXRlKTsKPiAgIH0KPiAgIAo+ICAgc3RhdGljIHZvaWQgaHN3X3NldF9pbmZvZnJh bWVzKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKPiBAQCAtODU0LDcgKzg1Niw3IEBAIHN0 YXRpYyB2b2lkIGhzd19zZXRfaW5mb2ZyYW1lcyhzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIs Cj4gICAKPiAgIAlpbnRlbF9oZG1pX3NldF9hdmlfaW5mb2ZyYW1lKGVuY29kZXIsIGNydGNfc3Rh dGUpOwo+ICAgCWludGVsX2hkbWlfc2V0X3NwZF9pbmZvZnJhbWUoZW5jb2RlciwgY3J0Y19zdGF0 ZSk7Cj4gLQlpbnRlbF9oZG1pX3NldF9oZG1pX2luZm9mcmFtZShlbmNvZGVyLCBjcnRjX3N0YXRl KTsKPiArCWludGVsX2hkbWlfc2V0X2hkbWlfaW5mb2ZyYW1lKGVuY29kZXIsIGNydGNfc3RhdGUs IGNvbm5fc3RhdGUpOwo+ICAgfQo+ICAgCj4gICB2b2lkIGludGVsX2RwX2R1YWxfbW9kZV9zZXRf dG1kc19vdXRwdXQoc3RydWN0IGludGVsX2hkbWkgKmhkbWksIGJvb2wgZW5hYmxlKQo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2hkbWkuYyBiL2RyaXZlcnMvZ3B1 L2RybS9tZWRpYXRlay9tdGtfaGRtaS5jCj4gaW5kZXggYjc4NzkxMDYxOTgzLi41OWExMTAyNmRj ZWIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19oZG1pLmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2hkbWkuYwo+IEBAIC0xMDU0LDcgKzEw NTQsOCBAQCBzdGF0aWMgaW50IG10a19oZG1pX3NldHVwX3ZlbmRvcl9zcGVjaWZpY19pbmZvZnJh bWUoc3RydWN0IG10a19oZG1pICpoZG1pLAo+ICAgCXU4IGJ1ZmZlclsxMF07Cj4gICAJc3NpemVf dCBlcnI7Cj4gICAKPiAtCWVyciA9IGRybV9oZG1pX3ZlbmRvcl9pbmZvZnJhbWVfZnJvbV9kaXNw bGF5X21vZGUoJmZyYW1lLCBtb2RlKTsKPiArCWVyciA9IGRybV9oZG1pX3ZlbmRvcl9pbmZvZnJh bWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLAo+ICsJCQkJCQkJICAmaGRtaS0+Y29ubiwgbW9k ZSk7Cj4gICAJaWYgKGVycikgewo+ICAgCQlkZXZfZXJyKGhkbWktPmRldiwKPiAgIAkJCSJGYWls ZWQgdG8gZ2V0IHZlbmRvciBpbmZvZnJhbWUgZnJvbSBtb2RlOiAlemRcbiIsIGVycik7Cj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252NTBfZGlzcGxheS5jIGIvZHJpdmVy cy9ncHUvZHJtL25vdXZlYXUvbnY1MF9kaXNwbGF5LmMKPiBpbmRleCBiMjZhNTA2ZDIwY2EuLjlk N2IyYWZkN2NmYyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9udjUwX2Rp c3BsYXkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252NTBfZGlzcGxheS5jCj4g QEAgLTI3NTQsNyArMjc1NCw4IEBAIG52NTBfaGRtaV9lbmFibGUoc3RydWN0IGRybV9lbmNvZGVy ICplbmNvZGVyLCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiAgIAkJCT0gaGRtaV9p bmZvZnJhbWVfcGFjaygmYXZpX2ZyYW1lLCBhcmdzLmluZm9mcmFtZXMsIDE3KTsKPiAgIAl9Cj4g ICAKPiAtCXJldCA9IGRybV9oZG1pX3ZlbmRvcl9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUo JnZlbmRvcl9mcmFtZS52ZW5kb3IuaGRtaSwgbW9kZSk7Cj4gKwlyZXQgPSBkcm1faGRtaV92ZW5k b3JfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZ2ZW5kb3JfZnJhbWUudmVuZG9yLmhkbWks Cj4gKwkJCQkJCQkgICZudl9jb25uZWN0b3ItPmJhc2UsIG1vZGUpOwo+ICAgCWlmICghcmV0KSB7 Cj4gICAJCS8qIFdlIGhhdmUgYSBWZW5kb3IgSW5mb0ZyYW1lLCBwb3B1bGF0ZSBpdCB0byB0aGUg ZGlzcGxheSAqLwo+ICAgCQlhcmdzLnB3ci52ZW5kb3JfaW5mb2ZyYW1lX2xlbmd0aAo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvaW5ub19oZG1pLmMgYi9kcml2ZXJzL2dw dS9kcm0vcm9ja2NoaXAvaW5ub19oZG1pLmMKPiBpbmRleCBlZTU4NGQ4NzExMWYuLmZhYjMwOTI3 YTg4OSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvaW5ub19oZG1pLmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvaW5ub19oZG1pLmMKPiBAQCAtMjgyLDYg KzI4Miw3IEBAIHN0YXRpYyBpbnQgaW5ub19oZG1pX2NvbmZpZ192aWRlb192c2koc3RydWN0IGlu bm9faGRtaSAqaGRtaSwKPiAgIAlpbnQgcmM7Cj4gICAKPiAgIAlyYyA9IGRybV9oZG1pX3ZlbmRv cl9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLnZlbmRvci5oZG1pLAo+ICsJCQkJ CQkJICZoZG1pLT5jb25uZWN0b3IsCj4gICAJCQkJCQkJIG1vZGUpOwo+ICAgCj4gICAJcmV0dXJu IGlubm9faGRtaV91cGxvYWRfZnJhbWUoaGRtaSwgcmMsICZmcmFtZSwgSU5GT0ZSQU1FX1ZTSSwK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfaGRtaS5jIGIvZHJpdmVycy9n cHUvZHJtL3N0aS9zdGlfaGRtaS5jCj4gaW5kZXggZDE5MDI3NTBhODVkLi5jM2IyOTJhYjE3YTUg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfaGRtaS5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL3N0aS9zdGlfaGRtaS5jCj4gQEAgLTUxNSw3ICs1MTUsOSBAQCBzdGF0aWMg aW50IGhkbWlfdmVuZG9yX2luZm9mcmFtZV9jb25maWcoc3RydWN0IHN0aV9oZG1pICpoZG1pKQo+ ICAgCj4gICAJRFJNX0RFQlVHX0RSSVZFUigiXG4iKTsKPiAgIAo+IC0JcmV0ID0gZHJtX2hkbWlf dmVuZG9yX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmaW5mb2ZyYW1lLCBtb2RlKTsKPiAr CXJldCA9IGRybV9oZG1pX3ZlbmRvcl9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmluZm9m cmFtZSwKPiArCQkJCQkJCSAgaGRtaS0+ZHJtX2Nvbm5lY3RvciwKPiArCQkJCQkJCSAgbW9kZSk7 Cj4gICAJaWYgKHJldCA8IDApIHsKPiAgIAkJLyoKPiAgIAkJICogR29pbmcgaW50byB0aGF0IHN0 YXRlbWVudCBkb2VzIG5vdCBtZWFucyB2ZW5kb3IgaW5mb2ZyYW1lCj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS96dGUvenhfaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL3p0ZS96eF9oZG1p LmMKPiBpbmRleCBiOGFiYjFiNDk2ZmYuLjEzZWE5MGY3YTE4NSAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0venRlL3p4X2hkbWkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS96dGUvenhf aGRtaS5jCj4gQEAgLTEwOCw2ICsxMDgsNyBAQCBzdGF0aWMgaW50IHp4X2hkbWlfY29uZmlnX3Zp ZGVvX3ZzaShzdHJ1Y3QgenhfaGRtaSAqaGRtaSwKPiAgIAlpbnQgcmV0Owo+ICAgCj4gICAJcmV0 ID0gZHJtX2hkbWlfdmVuZG9yX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUudmVu ZG9yLmhkbWksCj4gKwkJCQkJCQkgICZoZG1pLT5jb25uZWN0b3IsCj4gICAJCQkJCQkJICBtb2Rl KTsKPiAgIAlpZiAocmV0KSB7Cj4gICAJCURSTV9ERVZfRVJST1IoaGRtaS0+ZGV2LCAiZmFpbGVk IHRvIGdldCB2ZW5kb3IgaW5mb2ZyYW1lOiAlZFxuIiwKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9k cm0vZHJtX2Nvbm5lY3Rvci5oIGIvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oCj4gaW5kZXgg MmI5N2QxZTI4ZjYwLi4xNTQzMjEyYjA0NDkgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9kcm0vZHJt X2Nvbm5lY3Rvci5oCj4gKysrIGIvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oCj4gQEAgLTI3 MCw2ICsyNzAsMTEgQEAgc3RydWN0IGRybV9kaXNwbGF5X2luZm8gewo+ICAgCWJvb2wgZHZpX2R1 YWw7Cj4gICAKPiAgIAkvKioKPiArCSAqIEBoYXNfaGRtaV9pbmZvZnJhbWU6IERvZXMgdGhlIHNp bmsgc3VwcG9ydCB0aGUgSERNSSBpbmZvZnJhbWU/Cj4gKwkgKi8KPiArCWJvb2wgaGFzX2hkbWlf aW5mb2ZyYW1lOwo+ICsKPiArCS8qKgo+ICAgCSAqIEBlZGlkX2hkbWlfZGNfbW9kZXM6IE1hc2sg b2Ygc3VwcG9ydGVkIGhkbWkgZGVlcCBjb2xvciBtb2Rlcy4gRXZlbgo+ICAgCSAqIG1vcmUgc3R1 ZmYgcmVkdW5kYW50IHdpdGggQGJ1c19mb3JtYXRzLgo+ICAgCSAqLwo+IGRpZmYgLS1naXQgYS9p bmNsdWRlL2RybS9kcm1fZWRpZC5oIGIvaW5jbHVkZS9kcm0vZHJtX2VkaWQuaAo+IGluZGV4IDll NGUyMzUyNDg0MC4uM2M4NzQwYWQxZGI2IDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9l ZGlkLmgKPiArKysgYi9pbmNsdWRlL2RybS9kcm1fZWRpZC5oCj4gQEAgLTM1Niw2ICszNTYsNyBA QCBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKHN0cnVjdCBoZG1pX2F2 aV9pbmZvZnJhbWUgKmZyYW1lLAo+ICAgCQkJCQkgYm9vbCBpc19oZG1pMl9zaW5rKTsKPiAgIGlu dAo+ICAgZHJtX2hkbWlfdmVuZG9yX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZShzdHJ1Y3Qg aGRtaV92ZW5kb3JfaW5mb2ZyYW1lICpmcmFtZSwKPiArCQkJCQkgICAgc3RydWN0IGRybV9jb25u ZWN0b3IgKmNvbm5lY3RvciwKPiAgIAkJCQkJICAgIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9t b2RlICptb2RlKTsKPiAgIHZvaWQKPiAgIGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfcXVhbnRfcmFu Z2Uoc3RydWN0IGhkbWlfYXZpX2luZm9mcmFtZSAqZnJhbWUsCk90aGVyd2lzZSBsb29rcyBnb29k Ci0gU2hhc2hhbmsKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4 Cg==