From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sam Ravnborg Subject: DRM_MODE_CONNECTOR_PANEL? [Was: drm/panel: Add and fill drm_panel type field] Date: Sat, 24 Aug 2019 11:54:21 +0200 Message-ID: <20190824095421.GC30584@ravnborg.org> References: <20190823193245.23876-1-laurent.pinchart@ideasonboard.com> <20190823193245.23876-4-laurent.pinchart@ideasonboard.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from asavdk3.altibox.net (asavdk3.altibox.net [109.247.116.14]) by gabe.freedesktop.org (Postfix) with ESMTPS id CBB736E0AA for ; Sat, 24 Aug 2019 09:54:28 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20190823193245.23876-4-laurent.pinchart@ideasonboard.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Laurent Pinchart Cc: Alexandre Belloni , Neil Armstrong , Maxime Ripard , Guido =?iso-8859-1?Q?G=FCnther?= , dri-devel@lists.freedesktop.org, Philippe Cornu , Paul Cercueil , Thierry Reding , Yannick Fertre , Stefan Mavrodiev , Tomi Valkeinen , Ludovic Desroches , Jagan Teki , Robert Chiras , Jonas Karlman , Jyri Sarha , Sean Paul , Jernej Skrabec , Purism Kernel Team , Boris Brezillon , Nicolas Ferre , Vincent Abriou List-Id: dri-devel@lists.freedesktop.org SGkgTGF1cmVudCBldCBhbGwuCgpPbiBGcmksIEF1ZyAyMywgMjAxOSBhdCAxMDozMjo0NFBNICsw MzAwLCBMYXVyZW50IFBpbmNoYXJ0IHdyb3RlOgo+IEFkZCBhIHR5cGUgZmllbGQgdG8gdGhlIGRy bV9wYW5lbCBzdHJ1Y3R1cmUgdG8gcmVwb3J0IHRoZSBwYW5lbCB0eXBlLAo+IHVzaW5nIERSTV9N T0RFX0NPTk5FQ1RPUl8qIG1hY3JvcyAodGhlIHZhbHVlcyB0aGF0IG1ha2Ugc2Vuc2UgYXJlIExW RFMsCj4gZURQLCBEU0kgYW5kIERQSSkuIFRoaXMgd2lsbCBiZSB1c2VkIHRvIGluaXRpYWxpc2Ug dGhlIGNvcnJlc3BvbmRpbmcKPiBjb25uZWN0b3IgdHlwZS4KCkFzIGRpc2N1c3NlZCBvbiBpcmMg YmVmb3JlIGFwcGx5aW5nIHRoaXMgd2Ugc2hvdWxkIGV2YWx1YXRlIHRoZQppZGVhIHRvIGludHJv ZHVjZSBEUk1fTU9ERV9DT05ORUNUT1JfUEFORUwKClRvZGF5IHdlIGhhdmU6CiAgICBEUk1fTU9E RV9DT05ORUNUT1JfRFBJCiAgICBEUk1fTU9ERV9DT05ORUNUT1JfREJJCiAgICBEUk1fTU9ERV9D T05ORUNUT1JfU1BJCiAgICBEUk1fTU9ERV9DT05ORUNUT1JfTFZEUwoKVGhlIHF1ZXN0aW9uIGlm IHdoYXQgYmVuZWZpdCBpZyBnaXZlcyB0byBkaXN0aW5ndXNoIGJldHdlZW4gdGhlCmRpZmZlcmVu dCB3YXlzIHBhbmVscyBhcmUgY29ubmVjdGVkLgoKRm9yIGV4YW1wbGUgZm9yIFZHQSBhbmQgSERN SSB0aGVyZSBpcyBhIHBoeXNpY2FsIGNvbm5lY3RvciBpbnZvbHZlZCBzbwpoZXJlIGl0IG1ha2Ug Z29vZCBzZW5zZS4KQnV0IHdoeSBzaG91bGQgdXNlcnNwYWNlIGNhcmUgaWYgdGhlIHBhbmVsIGlz IGNvbm5lY3RlZCB2aWEgRFBJIG9yIExWRFM/CgpUaGUgbW9yZSBnZW5lcmljIERSTV9NT0RFX0NP Tk5FQ1RPUl9QQU5FTCB3b3VsZCBiZSBlcXVhbGx5IGRlc2NyaXB0aXZlLgoKV2Ugd2lsbCBhbHNv IHN0YXJ0IHRvIHNlZSBuZXcgZHJpdmVycyB3aGVyZSB0aGVyZSB3aWxsIGJlIHN1cHBvcnQKZm9y IG1vcmUgdGhhbiBvbmUgdHlwZSBvZiBjb25uZWN0b3IgaW50ZXJmYWNlLgoKTGlrZSBmb3IgZXhh bXBsZSBpbGk5MzIyOgogLSA4LWJpdCBzZXJpYWwgUkdCIGludGVyZmFjZQogLSAyNC1iaXQgcGFy YWxsZWwgUkdCIGludGVyZmFjZQogLSA4LWJpdCBJVFUtUiBCVC42MDEgaW50ZXJmYWNlCiAtIDgt Yml0IElUVS1SIEJULjY1NiBpbnRlcmZhY2UKCkFkZGluZyBEUk1fTU9ERV9DT05ORUNUT1JfUEFO RUwgbWF5IGNyZWF0ZSBhbiB4a2NkIDkyNyBzaXR1YXRpb24uCkJ1dCB3ZSBzaG91bGQgdGhlbiBk ZXByZWNhdGUgX0RQSSwgX0RCSSwgX1NQSSwgX0xWRFMuCgoJU2FtCgoKPiAKPiBVcGRhdGUgYWxs IHBhbmVsIGRyaXZlcnMgYWNjb3JkaW5nbHkuIFRoZSBwYW5lbC1zaW1wbGUgZHJpdmVyIG9ubHkK PiBzcGVjaWZpZXMgdGhlIHR5cGUgZm9yIHRoZSBrbm93biB0byBiZSBMVkRTIHBhbmVscywgd2hp bGUgYWxsIG90aGVyCj4gcGFuZWxzIGFyZSBsZWZ0IGFzIHVua25vd24gYW5kIHdpbGwgYmUgY29u dmVydGVkIG9uIGEgY2FzZS1ieS1jYXNlCj4gYmFzaXMgYXMgdGhleSBhbGwgbmVlZCB0byBiZSBj YXJlZnVsbHkgcmV2aWV3ZWQuCj4gCj4gU2lnbmVkLW9mZi1ieTogTGF1cmVudCBQaW5jaGFydCA8 bGF1cmVudC5waW5jaGFydEBpZGVhc29uYm9hcmQuY29tPgo+IC0tLQo+IENoYW5nZXMgc2luY2Ug djE6Cj4gCj4gLSBSZW5hbWUgdGhlIHR5cGUgZmllbGQgdG8gY29ubmVjdG9yX3R5cGUKPiAtIFBh c3MgdGhlIHR5cGUgdG8gdGhlIGRybV9wYW5lbF9pbml0KCkgZnVuY3Rpb24KPiAtIEtlZXAgY29u bmVjdG9yIHR5cGUgYXMgdW5rbm93biBmb3Igbm9uLUxWRFMgcGFuZWxzIGluIHBhbmVsLXNpbXBs ZQo+IC0gRmxhZyB0aGUgdG9zaGliYV9sdDA4OWFjMjkwMDAgcGFuZWwgYXMgTFZEUyBhcyByZXBv cnRlZCBieSBCb3Jpcwo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX3BhbmVsLmMgICAgICAg ICAgICAgICAgICAgfCAgNSArKystCj4gIGRyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1hcm0t dmVyc2F0aWxlLmMgICB8ICAzICsrLQo+ICAuLi4vZHJtL3BhbmVsL3BhbmVsLWZlaXlhbmctZnkw NzAyNGRpMjZhMzBkLmMgfCAgMyArKy0KPiAgZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWls aXRlay1pbGk5MzIyLmMgIHwgIDMgKystCj4gIGRyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1p bGl0ZWstaWxpOTg4MWMuYyB8ICAzICsrLQo+ICBkcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwt aW5ub2x1eC1wMDc5emNhLmMgfCAgMyArKy0KPiAgLi4uL2dwdS9kcm0vcGFuZWwvcGFuZWwtamRp LWx0MDcwbWUwNTAwMC5jICAgIHwgIDMgKystCj4gIC4uLi9kcm0vcGFuZWwvcGFuZWwta2luZ2Rp c3BsYXkta2QwOTdkMDQuYyAgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5l bC1sZy1sYjAzNXEwMi5jICAgICB8ICAzICsrLQo+ICBkcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFu ZWwtbGctbGc0NTczLmMgICAgICAgfCAgMyArKy0KPiAgZHJpdmVycy9ncHUvZHJtL3BhbmVsL3Bh bmVsLWx2ZHMuYyAgICAgICAgICAgIHwgIDMgKystCj4gIGRyaXZlcnMvZ3B1L2RybS9wYW5lbC9w YW5lbC1uZWMtbmw4MDQ4aGwxMS5jICB8ICAzICsrLQo+ICBkcml2ZXJzL2dwdS9kcm0vcGFuZWwv cGFuZWwtbm92YXRlay1udDM5MDE2LmMgfCAgMyArKy0KPiAgLi4uL2RybS9wYW5lbC9wYW5lbC1v bGltZXgtbGNkLW9saW51eGluby5jICAgIHwgIDMgKystCj4gIC4uLi9ncHUvZHJtL3BhbmVsL3Bh bmVsLW9yaXNldGVjaC1vdG04MDA5YS5jICB8ICAzICsrLQo+ICAuLi4vZHJtL3BhbmVsL3BhbmVs LW9zZC1vc2QxMDF0MjU4Ny01M3RzLmMgICAgfCAgMiArLQo+ICAuLi4vZHJtL3BhbmVsL3BhbmVs LXBhbmFzb25pYy12dngxMGYwMzRuMDAuYyAgfCAgMiArLQo+ICAuLi4vZHJtL3BhbmVsL3BhbmVs LXJhc3BiZXJyeXBpLXRvdWNoc2NyZWVuLmMgfCAgMyArKy0KPiAgZHJpdmVycy9ncHUvZHJtL3Bh bmVsL3BhbmVsLXJheWRpdW0tcm02NzE5MS5jIHwgIDMgKystCj4gIGRyaXZlcnMvZ3B1L2RybS9w YW5lbC9wYW5lbC1yYXlkaXVtLXJtNjgyMDAuYyB8ICAzICsrLQo+ICAuLi4vZHJtL3BhbmVsL3Bh bmVsLXJvY2t0ZWNoLWpoMDU3bjAwOTAwLmMgICAgfCAgMyArKy0KPiAgZHJpdmVycy9ncHUvZHJt L3BhbmVsL3BhbmVsLXJvbmJvLXJiMDcwZDMwLmMgIHwgIDMgKystCj4gIGRyaXZlcnMvZ3B1L2Ry bS9wYW5lbC9wYW5lbC1zYW1zdW5nLWxkOTA0MC5jICB8ICAzICsrLQo+ICBkcml2ZXJzL2dwdS9k cm0vcGFuZWwvcGFuZWwtc2Ftc3VuZy1zNmQxNmQwLmMgfCAgMyArKy0KPiAgZHJpdmVycy9ncHUv ZHJtL3BhbmVsL3BhbmVsLXNhbXN1bmctczZlM2hhMi5jIHwgIDMgKystCj4gIC4uLi9ncHUvZHJt L3BhbmVsL3BhbmVsLXNhbXN1bmctczZlNjNqMHgwMy5jICB8ICAzICsrLQo+ICBkcml2ZXJzL2dw dS9kcm0vcGFuZWwvcGFuZWwtc2Ftc3VuZy1zNmU2M20wLmMgfCAgMyArKy0KPiAgZHJpdmVycy9n cHUvZHJtL3BhbmVsL3BhbmVsLXNhbXN1bmctczZlOGFhMC5jIHwgIDMgKystCj4gIGRyaXZlcnMv Z3B1L2RybS9wYW5lbC9wYW5lbC1zZWlrby00M3d2ZjFnLmMgICB8ICAzICsrLQo+ICAuLi4vZ3B1 L2RybS9wYW5lbC9wYW5lbC1zaGFycC1scTEwMXIxc3gwMS5jICAgfCAgMyArKy0KPiAgLi4uL2dw dS9kcm0vcGFuZWwvcGFuZWwtc2hhcnAtbHMwMzd2N2R3MDEuYyAgIHwgIDMgKystCj4gIC4uLi9n cHUvZHJtL3BhbmVsL3BhbmVsLXNoYXJwLWxzMDQzdDFsZTAxLmMgICB8ICAyICstCj4gIGRyaXZl cnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zaW1wbGUuYyAgICAgICAgICB8IDI2ICsrKysrKysrKysr KysrKysrKy0KPiAgZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNpdHJvbml4LXN0NzcwMS5j IHwgIDMgKystCj4gIC4uLi9ncHUvZHJtL3BhbmVsL3BhbmVsLXNpdHJvbml4LXN0Nzc4OXYuYyAg ICB8ICAzICsrLQo+ICBkcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc29ueS1hY3g1NjVha20u YyAgfCAgMyArKy0KPiAgZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXRwby10ZDAyOHR0ZWMx LmMgIHwgIDMgKystCj4gIGRyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC10cG8tdGQwNDNtdGVh MS5jICB8ICAzICsrLQo+ICBkcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtdHBvLXRwZzExMC5j ICAgICAgfCAgMyArKy0KPiAgZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXRydWx5LW50MzU1 OTcuYyAgIHwgIDMgKystCj4gIGluY2x1ZGUvZHJtL2RybV9wYW5lbC5oICAgICAgICAgICAgICAg ICAgICAgICB8IDEyICsrKysrKysrLQo+ICA0MSBmaWxlcyBjaGFuZ2VkLCAxMTIgaW5zZXJ0aW9u cygrKSwgNDEgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9k cm1fcGFuZWwuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGFuZWwuYwo+IGluZGV4IGJhMmZhZDRj OTY0OC4uZWQ3OTg1YzA1MzVhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGFu ZWwuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGFuZWwuYwo+IEBAIC00NiwxNiArNDYs MTkgQEAgc3RhdGljIExJU1RfSEVBRChwYW5lbF9saXN0KTsKPiAgICogQHBhbmVsOiBEUk0gcGFu ZWwKPiAgICogQGRldjogcGFyZW50IGRldmljZSBvZiB0aGUgcGFuZWwKPiAgICogQGZ1bmNzOiBw YW5lbCBvcGVyYXRpb25zCj4gKyAqIEBjb25uZWN0b3JfdHlwZTogdGhlIGNvbm5lY3RvciB0eXBl IChEUk1fTU9ERV9DT05ORUNUT1JfKikgY29ycmVzcG9uZGluZyB0bwo+ICsgKgl0aGUgcGFuZWwg aW50ZXJmYWNlCj4gICAqCj4gICAqIEluaXRpYWxpemUgdGhlIHBhbmVsIHN0cnVjdHVyZSBmb3Ig c3Vic2VxdWVudCByZWdpc3RyYXRpb24gd2l0aAo+ICAgKiBkcm1fcGFuZWxfYWRkKCkuCj4gICAq Lwo+ICB2b2lkIGRybV9wYW5lbF9pbml0KHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsLCBzdHJ1Y3Qg ZGV2aWNlICpkZXYsCj4gLQkJICAgIGNvbnN0IHN0cnVjdCBkcm1fcGFuZWxfZnVuY3MgKmZ1bmNz KQo+ICsJCSAgICBjb25zdCBzdHJ1Y3QgZHJtX3BhbmVsX2Z1bmNzICpmdW5jcywgaW50IGNvbm5l Y3Rvcl90eXBlKQo+ICB7Cj4gIAlJTklUX0xJU1RfSEVBRCgmcGFuZWwtPmxpc3QpOwo+ICAJcGFu ZWwtPmRldiA9IGRldjsKPiAgCXBhbmVsLT5mdW5jcyA9IGZ1bmNzOwo+ICsJcGFuZWwtPmNvbm5l Y3Rvcl90eXBlID0gY29ubmVjdG9yX3R5cGU7Cj4gIH0KPiAgRVhQT1JUX1NZTUJPTChkcm1fcGFu ZWxfaW5pdCk7Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwt YXJtLXZlcnNhdGlsZS5jIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWFybS12ZXJzYXRp bGUuYwo+IGluZGV4IGE0MzMzZWQwZjIwYy4uYTA1NzRkYzAzZTE2IDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1hcm0tdmVyc2F0aWxlLmMKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vcGFuZWwvcGFuZWwtYXJtLXZlcnNhdGlsZS5jCj4gQEAgLTM1MCw3ICszNTAsOCBA QCBzdGF0aWMgaW50IHZlcnNhdGlsZV9wYW5lbF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNl ICpwZGV2KQo+ICAJCQlkZXZfaW5mbyhkZXYsICJwYW5lbCBtb3VudGVkIG9uIElCMiBkYXVnaHRl cmJvYXJkXG4iKTsKPiAgCX0KPiAgCj4gLQlkcm1fcGFuZWxfaW5pdCgmdnBhbmVsLT5wYW5lbCwg ZGV2LCAmdmVyc2F0aWxlX3BhbmVsX2RybV9mdW5jcyk7Cj4gKwlkcm1fcGFuZWxfaW5pdCgmdnBh bmVsLT5wYW5lbCwgZGV2LCAmdmVyc2F0aWxlX3BhbmVsX2RybV9mdW5jcywKPiArCQkgICAgICAg RFJNX01PREVfQ09OTkVDVE9SX0RQSSk7Cj4gIAo+ICAJcmV0dXJuIGRybV9wYW5lbF9hZGQoJnZw YW5lbC0+cGFuZWwpOwo+ICB9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9w YW5lbC1mZWl5YW5nLWZ5MDcwMjRkaTI2YTMwZC5jIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3Bh bmVsLWZlaXlhbmctZnkwNzAyNGRpMjZhMzBkLmMKPiBpbmRleCA3ZDVkNzQ1NWJjMDEuLjk4ZjE4 NGI4MTE4NyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtZmVpeWFu Zy1meTA3MDI0ZGkyNmEzMGQuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1m ZWl5YW5nLWZ5MDcwMjRkaTI2YTMwZC5jCj4gQEAgLTIwNCw3ICsyMDQsOCBAQCBzdGF0aWMgaW50 IGZlaXlhbmdfZHNpX3Byb2JlKHN0cnVjdCBtaXBpX2RzaV9kZXZpY2UgKmRzaSkKPiAgCW1pcGlf ZHNpX3NldF9kcnZkYXRhKGRzaSwgY3R4KTsKPiAgCWN0eC0+ZHNpID0gZHNpOwo+ICAKPiAtCWRy bV9wYW5lbF9pbml0KCZjdHgtPnBhbmVsLCAmZHNpLT5kZXYsICZmZWl5YW5nX2Z1bmNzKTsKPiAr CWRybV9wYW5lbF9pbml0KCZjdHgtPnBhbmVsLCAmZHNpLT5kZXYsICZmZWl5YW5nX2Z1bmNzLAo+ ICsJCSAgICAgICBEUk1fTU9ERV9DT05ORUNUT1JfRFNJKTsKPiAgCj4gIAljdHgtPmR2ZGQgPSBk ZXZtX3JlZ3VsYXRvcl9nZXQoJmRzaS0+ZGV2LCAiZHZkZCIpOwo+ICAJaWYgKElTX0VSUihjdHgt PmR2ZGQpKSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1pbGl0 ZWstaWxpOTMyMi5jIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWlsaXRlay1pbGk5MzIy LmMKPiBpbmRleCBhZDI0MDViYWEwYWMuLjI0OTU1YmVjMTk1OCAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtaWxpdGVrLWlsaTkzMjIuYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9wYW5lbC9wYW5lbC1pbGl0ZWstaWxpOTMyMi5jCj4gQEAgLTg5NSw3ICs4OTUsOCBA QCBzdGF0aWMgaW50IGlsaTkzMjJfcHJvYmUoc3RydWN0IHNwaV9kZXZpY2UgKnNwaSkKPiAgCQlp bGktPmlucHV0ID0gaWxpLT5jb25mLT5pbnB1dDsKPiAgCX0KPiAgCj4gLQlkcm1fcGFuZWxfaW5p dCgmaWxpLT5wYW5lbCwgZGV2LCAmaWxpOTMyMl9kcm1fZnVuY3MpOwo+ICsJZHJtX3BhbmVsX2lu aXQoJmlsaS0+cGFuZWwsIGRldiwgJmlsaTkzMjJfZHJtX2Z1bmNzLAo+ICsJCSAgICAgICBEUk1f TU9ERV9DT05ORUNUT1JfRFBJKTsKPiAgCj4gIAlyZXR1cm4gZHJtX3BhbmVsX2FkZCgmaWxpLT5w YW5lbCk7Cj4gIH0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWls aXRlay1pbGk5ODgxYy5jIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWlsaXRlay1pbGk5 ODgxYy5jCj4gaW5kZXggMWQ3MTRmOTYxYzAwLi5lODc4OWU0NjBhMTYgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWlsaXRlay1pbGk5ODgxYy5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWlsaXRlay1pbGk5ODgxYy5jCj4gQEAgLTQzMyw3ICs0 MzMsOCBAQCBzdGF0aWMgaW50IGlsaTk4ODFjX2RzaV9wcm9iZShzdHJ1Y3QgbWlwaV9kc2lfZGV2 aWNlICpkc2kpCj4gIAltaXBpX2RzaV9zZXRfZHJ2ZGF0YShkc2ksIGN0eCk7Cj4gIAljdHgtPmRz aSA9IGRzaTsKPiAgCj4gLQlkcm1fcGFuZWxfaW5pdCgmY3R4LT5wYW5lbCwgJmRzaS0+ZGV2LCAm aWxpOTg4MWNfZnVuY3MpOwo+ICsJZHJtX3BhbmVsX2luaXQoJmN0eC0+cGFuZWwsICZkc2ktPmRl diwgJmlsaTk4ODFjX2Z1bmNzLAo+ICsJCSAgICAgICBEUk1fTU9ERV9DT05ORUNUT1JfRFNJKTsK PiAgCj4gIAljdHgtPnBvd2VyID0gZGV2bV9yZWd1bGF0b3JfZ2V0KCZkc2ktPmRldiwgInBvd2Vy Iik7Cj4gIAlpZiAoSVNfRVJSKGN0eC0+cG93ZXIpKSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9wYW5lbC9wYW5lbC1pbm5vbHV4LXAwNzl6Y2EuYyBiL2RyaXZlcnMvZ3B1L2RybS9w YW5lbC9wYW5lbC1pbm5vbHV4LXAwNzl6Y2EuYwo+IGluZGV4IDIwNTRhZmMzMWYyMC4uNDZiZmVi OTgyYjA2IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1pbm5vbHV4 LXAwNzl6Y2EuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1pbm5vbHV4LXAw Nzl6Y2EuYwo+IEBAIC00ODcsNyArNDg3LDggQEAgc3RhdGljIGludCBpbm5vbHV4X3BhbmVsX2Fk ZChzdHJ1Y3QgbWlwaV9kc2lfZGV2aWNlICpkc2ksCj4gIAlpZiAoSVNfRVJSKGlubm9sdXgtPmJh Y2tsaWdodCkpCj4gIAkJcmV0dXJuIFBUUl9FUlIoaW5ub2x1eC0+YmFja2xpZ2h0KTsKPiAgCj4g LQlkcm1fcGFuZWxfaW5pdCgmaW5ub2x1eC0+YmFzZSwgZGV2LCAmaW5ub2x1eF9wYW5lbF9mdW5j cyk7Cj4gKwlkcm1fcGFuZWxfaW5pdCgmaW5ub2x1eC0+YmFzZSwgZGV2LCAmaW5ub2x1eF9wYW5l bF9mdW5jcwo+ICsJCSAgICAgICBEUk1fTU9ERV9DT05ORUNUT1JfRFNJKTsKPiAgCj4gIAllcnIg PSBkcm1fcGFuZWxfYWRkKCZpbm5vbHV4LT5iYXNlKTsKPiAgCWlmIChlcnIgPCAwKQo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtamRpLWx0MDcwbWUwNTAwMC5jIGIv ZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWpkaS1sdDA3MG1lMDUwMDAuYwo+IGluZGV4IDdi ZmRiZmJjODY4ZS4uNTYzNjRhOTNmMGI4IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9w YW5lbC9wYW5lbC1qZGktbHQwNzBtZTA1MDAwLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFu ZWwvcGFuZWwtamRpLWx0MDcwbWUwNTAwMC5jCj4gQEAgLTQzNyw3ICs0MzcsOCBAQCBzdGF0aWMg aW50IGpkaV9wYW5lbF9hZGQoc3RydWN0IGpkaV9wYW5lbCAqamRpKQo+ICAJCXJldHVybiByZXQ7 Cj4gIAl9Cj4gIAo+IC0JZHJtX3BhbmVsX2luaXQoJmpkaS0+YmFzZSwgJmpkaS0+ZHNpLT5kZXYs ICZqZGlfcGFuZWxfZnVuY3MpOwo+ICsJZHJtX3BhbmVsX2luaXQoJmpkaS0+YmFzZSwgJmpkaS0+ ZHNpLT5kZXYsICZqZGlfcGFuZWxfZnVuY3MsCj4gKwkJICAgICAgIERSTV9NT0RFX0NPTk5FQ1RP Ul9EU0kpOwo+ICAKPiAgCXJldCA9IGRybV9wYW5lbF9hZGQoJmpkaS0+YmFzZSk7Cj4gIAo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwta2luZ2Rpc3BsYXkta2QwOTdk MDQuYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1raW5nZGlzcGxheS1rZDA5N2QwNC5j Cj4gaW5kZXggYTQ3ODg1YTFhOGFhLi40NWY5NjU1NmVjOGMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL3BhbmVsL3BhbmVsLWtpbmdkaXNwbGF5LWtkMDk3ZDA0LmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwta2luZ2Rpc3BsYXkta2QwOTdkMDQuYwo+IEBAIC0zOTIs NyArMzkyLDcgQEAgc3RhdGljIGludCBraW5nZGlzcGxheV9wYW5lbF9hZGQoc3RydWN0IGtpbmdk aXNwbGF5X3BhbmVsICpraW5nZGlzcGxheSkKPiAgCQlyZXR1cm4gUFRSX0VSUihraW5nZGlzcGxh eS0+YmFja2xpZ2h0KTsKPiAgCj4gIAlkcm1fcGFuZWxfaW5pdCgma2luZ2Rpc3BsYXktPmJhc2Us ICZraW5nZGlzcGxheS0+bGluay0+ZGV2LAo+IC0JCSAgICAgICAma2luZ2Rpc3BsYXlfcGFuZWxf ZnVuY3MpOwo+ICsJCSAgICAgICAma2luZ2Rpc3BsYXlfcGFuZWxfZnVuY3MsIERSTV9NT0RFX0NP Tk5FQ1RPUl9EU0kpOwo+ICAKPiAgCXJldHVybiBkcm1fcGFuZWxfYWRkKCZraW5nZGlzcGxheS0+ YmFzZSk7Cj4gIH0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWxn LWxiMDM1cTAyLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtbGctbGIwMzVxMDIuYwo+ IGluZGV4IDI4YzMyMDVkZjQ4Mi4uZjk4NGE1MTg5ZmJmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9wYW5lbC9wYW5lbC1sZy1sYjAzNXEwMi5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L3BhbmVsL3BhbmVsLWxnLWxiMDM1cTAyLmMKPiBAQCAtMTk2LDcgKzE5Niw4IEBAIHN0YXRpYyBp bnQgbGIwMzVxMDJfcHJvYmUoc3RydWN0IHNwaV9kZXZpY2UgKnNwaSkKPiAgCWlmIChyZXQgPCAw KQo+ICAJCXJldHVybiByZXQ7Cj4gIAo+IC0JZHJtX3BhbmVsX2luaXQoJmxjZC0+cGFuZWwsICZs Y2QtPnNwaS0+ZGV2LCAmbGIwMzVxMDJfZnVuY3MpOwo+ICsJZHJtX3BhbmVsX2luaXQoJmxjZC0+ cGFuZWwsICZsY2QtPnNwaS0+ZGV2LCAmbGIwMzVxMDJfZnVuY3MsCj4gKwkJICAgICAgIERSTV9N T0RFX0NPTk5FQ1RPUl9EUEkpOwo+ICAKPiAgCXJldHVybiBkcm1fcGFuZWxfYWRkKCZsY2QtPnBh bmVsKTsKPiAgfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtbGct bGc0NTczLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtbGctbGc0NTczLmMKPiBpbmRl eCA2MDhmMmRlOTE2NjIuLmRiNDg2NWE0YzJiOSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vcGFuZWwvcGFuZWwtbGctbGc0NTczLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwv cGFuZWwtbGctbGc0NTczLmMKPiBAQCAtMjU5LDcgKzI1OSw4IEBAIHN0YXRpYyBpbnQgbGc0NTcz X3Byb2JlKHN0cnVjdCBzcGlfZGV2aWNlICpzcGkpCj4gIAkJcmV0dXJuIHJldDsKPiAgCX0KPiAg Cj4gLQlkcm1fcGFuZWxfaW5pdCgmY3R4LT5wYW5lbCwgJnNwaS0+ZGV2LCAmbGc0NTczX2RybV9m dW5jcyk7Cj4gKwlkcm1fcGFuZWxfaW5pdCgmY3R4LT5wYW5lbCwgJnNwaS0+ZGV2LCAmbGc0NTcz X2RybV9mdW5jcywKPiArCQkgICAgICAgRFJNX01PREVfQ09OTkVDVE9SX0RQSSk7Cj4gIAo+ICAJ cmV0dXJuIGRybV9wYW5lbF9hZGQoJmN0eC0+cGFuZWwpOwo+ICB9Cj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1sdmRzLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwv cGFuZWwtbHZkcy5jCj4gaW5kZXggM2RjMWFjMmE2YjAzLi5jYWIzZmI0MTc3ZTMgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWx2ZHMuYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9wYW5lbC9wYW5lbC1sdmRzLmMKPiBAQCAtMjYwLDcgKzI2MCw4IEBAIHN0YXRpYyBp bnQgcGFuZWxfbHZkc19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ICAJICov Cj4gIAo+ICAJLyogUmVnaXN0ZXIgdGhlIHBhbmVsLiAqLwo+IC0JZHJtX3BhbmVsX2luaXQoJmx2 ZHMtPnBhbmVsLCBsdmRzLT5kZXYsICZwYW5lbF9sdmRzX2Z1bmNzKTsKPiArCWRybV9wYW5lbF9p bml0KCZsdmRzLT5wYW5lbCwgbHZkcy0+ZGV2LCAmcGFuZWxfbHZkc19mdW5jcywKPiArCQkgICAg ICAgRFJNX01PREVfQ09OTkVDVE9SX0xWRFMpOwo+ICAKPiAgCXJldCA9IGRybV9wYW5lbF9hZGQo Jmx2ZHMtPnBhbmVsKTsKPiAgCWlmIChyZXQgPCAwKQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vcGFuZWwvcGFuZWwtbmVjLW5sODA0OGhsMTEuYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5l bC9wYW5lbC1uZWMtbmw4MDQ4aGwxMS5jCj4gaW5kZXggYjY3NjM2ZmRiYzIxLi5jNGJjN2ZhODVm YWQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLW5lYy1ubDgwNDho bDExLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtbmVjLW5sODA0OGhsMTEu Ywo+IEBAIC0yMDUsNyArMjA1LDggQEAgc3RhdGljIGludCBubDgwNDhfcHJvYmUoc3RydWN0IHNw aV9kZXZpY2UgKnNwaSkKPiAgCWlmIChyZXQgPCAwKQo+ICAJCXJldHVybiByZXQ7Cj4gIAo+IC0J ZHJtX3BhbmVsX2luaXQoJmxjZC0+cGFuZWwsICZsY2QtPnNwaS0+ZGV2LCAmbmw4MDQ4X2Z1bmNz KTsKPiArCWRybV9wYW5lbF9pbml0KCZsY2QtPnBhbmVsLCAmbGNkLT5zcGktPmRldiwgJm5sODA0 OF9mdW5jcywKPiArCQkgICAgICAgRFJNX01PREVfQ09OTkVDVE9SX0RQSSk7Cj4gIAo+ICAJcmV0 dXJuIGRybV9wYW5lbF9hZGQoJmxjZC0+cGFuZWwpOwo+ICB9Cj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1ub3ZhdGVrLW50MzkwMTYuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9wYW5lbC9wYW5lbC1ub3ZhdGVrLW50MzkwMTYuYwo+IGluZGV4IDY0Y2ZlMTExYWFhZC4uNjBj Y2VkY2U1MzBjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1ub3Zh dGVrLW50MzkwMTYuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1ub3ZhdGVr LW50MzkwMTYuYwo+IEBAIC0yOTIsNyArMjkyLDggQEAgc3RhdGljIGludCBudDM5MDE2X3Byb2Jl KHN0cnVjdCBzcGlfZGV2aWNlICpzcGkpCj4gIAkJcmV0dXJuIGVycjsKPiAgCX0KPiAgCj4gLQlk cm1fcGFuZWxfaW5pdCgmcGFuZWwtPmRybV9wYW5lbCwgZGV2LCAmbnQzOTAxNl9mdW5jcyk7Cj4g Kwlkcm1fcGFuZWxfaW5pdCgmcGFuZWwtPmRybV9wYW5lbCwgZGV2LCAmbnQzOTAxNl9mdW5jcywK PiArCQkgICAgICAgRFJNX01PREVfQ09OTkVDVE9SX0RQSSk7Cj4gIAo+ICAJZXJyID0gZHJtX3Bh bmVsX2FkZCgmcGFuZWwtPmRybV9wYW5lbCk7Cj4gIAlpZiAoZXJyIDwgMCkgewo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtb2xpbWV4LWxjZC1vbGludXhpbm8uYyBi L2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1vbGltZXgtbGNkLW9saW51eGluby5jCj4gaW5k ZXggZjJkNmE0ZWMwMDQ2Li5mMmE3MmVlNmVlMDcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL3BhbmVsL3BhbmVsLW9saW1leC1sY2Qtb2xpbnV4aW5vLmMKPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vcGFuZWwvcGFuZWwtb2xpbWV4LWxjZC1vbGludXhpbm8uYwo+IEBAIC0yODgsNyArMjg4 LDggQEAgc3RhdGljIGludCBsY2Rfb2xpbnV4aW5vX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50ICpj bGllbnQsCj4gIAlpZiAoSVNfRVJSKGxjZC0+YmFja2xpZ2h0KSkKPiAgCQlyZXR1cm4gUFRSX0VS UihsY2QtPmJhY2tsaWdodCk7Cj4gIAo+IC0JZHJtX3BhbmVsX2luaXQoJmxjZC0+cGFuZWwsIGRl diwgJmxjZF9vbGludXhpbm9fZnVuY3MpOwo+ICsJZHJtX3BhbmVsX2luaXQoJmxjZC0+cGFuZWws IGRldiwgJmxjZF9vbGludXhpbm9fZnVuY3MsCj4gKwkJICAgICAgIERSTV9NT0RFX0NPTk5FQ1RP Ul9EUEkpOwo+ICAKPiAgCXJldHVybiBkcm1fcGFuZWxfYWRkKCZsY2QtPnBhbmVsKTsKPiAgfQo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtb3Jpc2V0ZWNoLW90bTgw MDlhLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtb3Jpc2V0ZWNoLW90bTgwMDlhLmMK PiBpbmRleCA4YjYwZDVlNGQ3NzUuLmJmMWY5MjhiMjE1ZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vcGFuZWwvcGFuZWwtb3Jpc2V0ZWNoLW90bTgwMDlhLmMKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vcGFuZWwvcGFuZWwtb3Jpc2V0ZWNoLW90bTgwMDlhLmMKPiBAQCAtNDU1LDcgKzQ1 NSw4IEBAIHN0YXRpYyBpbnQgb3RtODAwOWFfcHJvYmUoc3RydWN0IG1pcGlfZHNpX2RldmljZSAq ZHNpKQo+ICAJZHNpLT5tb2RlX2ZsYWdzID0gTUlQSV9EU0lfTU9ERV9WSURFTyB8IE1JUElfRFNJ X01PREVfVklERU9fQlVSU1QgfAo+ICAJCQkgIE1JUElfRFNJX01PREVfTFBNOwo+ICAKPiAtCWRy bV9wYW5lbF9pbml0KCZjdHgtPnBhbmVsLCBkZXYsICZvdG04MDA5YV9kcm1fZnVuY3MpOwo+ICsJ ZHJtX3BhbmVsX2luaXQoJmN0eC0+cGFuZWwsIGRldiwgJm90bTgwMDlhX2RybV9mdW5jcywKPiAr CQkgICAgICAgRFJNX01PREVfQ09OTkVDVE9SX0RTSSk7Cj4gIAo+ICAJY3R4LT5ibF9kZXYgPSBk ZXZtX2JhY2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIoZGV2LCBkZXZfbmFtZShkZXYpLAo+ICAJCQkJ CQkgICAgIGRzaS0+aG9zdC0+ZGV2LCBjdHgsCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9wYW5lbC9wYW5lbC1vc2Qtb3NkMTAxdDI1ODctNTN0cy5jIGIvZHJpdmVycy9ncHUvZHJtL3Bh bmVsL3BhbmVsLW9zZC1vc2QxMDF0MjU4Ny01M3RzLmMKPiBpbmRleCAzOGYxMTRiMDNiODkuLjJi NDA5MTM4OTlkOCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtb3Nk LW9zZDEwMXQyNTg3LTUzdHMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1v c2Qtb3NkMTAxdDI1ODctNTN0cy5jCj4gQEAgLTE2Nyw3ICsxNjcsNyBAQCBzdGF0aWMgaW50IG9z ZDEwMXQyNTg3X3BhbmVsX2FkZChzdHJ1Y3Qgb3NkMTAxdDI1ODdfcGFuZWwgKm9zZDEwMXQyNTg3 KQo+ICAJCXJldHVybiBQVFJfRVJSKG9zZDEwMXQyNTg3LT5iYWNrbGlnaHQpOwo+ICAKPiAgCWRy bV9wYW5lbF9pbml0KCZvc2QxMDF0MjU4Ny0+YmFzZSwgJm9zZDEwMXQyNTg3LT5kc2ktPmRldiwK PiAtCQkgICAgICAgJm9zZDEwMXQyNTg3X3BhbmVsX2Z1bmNzKTsKPiArCQkgICAgICAgJm9zZDEw MXQyNTg3X3BhbmVsX2Z1bmNzLCBEUk1fTU9ERV9DT05ORUNUT1JfRFNJKTsKPiAgCj4gIAlyZXR1 cm4gZHJtX3BhbmVsX2FkZCgmb3NkMTAxdDI1ODctPmJhc2UpOwo+ICB9Cj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1wYW5hc29uaWMtdnZ4MTBmMDM0bjAwLmMgYi9k cml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtcGFuYXNvbmljLXZ2eDEwZjAzNG4wMC5jCj4gaW5k ZXggNjAzNWJmNDU4MDc0Li42NjQ2MDUwNzFkMzQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL3BhbmVsL3BhbmVsLXBhbmFzb25pYy12dngxMGYwMzRuMDAuYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9wYW5lbC9wYW5lbC1wYW5hc29uaWMtdnZ4MTBmMDM0bjAwLmMKPiBAQCAtMjI0LDcg KzIyNCw3IEBAIHN0YXRpYyBpbnQgd3V4Z2FfbnRfcGFuZWxfYWRkKHN0cnVjdCB3dXhnYV9udF9w YW5lbCAqd3V4Z2FfbnQpCj4gIAl9Cj4gIAo+ICAJZHJtX3BhbmVsX2luaXQoJnd1eGdhX250LT5i YXNlLCAmd3V4Z2FfbnQtPmRzaS0+ZGV2LAo+IC0JCSAgICAgICAmd3V4Z2FfbnRfcGFuZWxfZnVu Y3MpOwo+ICsJCSAgICAgICAmd3V4Z2FfbnRfcGFuZWxfZnVuY3MsIERSTV9NT0RFX0NPTk5FQ1RP Ul9EU0kpOwo+ICAKPiAgCXJldCA9IGRybV9wYW5lbF9hZGQoJnd1eGdhX250LT5iYXNlKTsKPiAg CWlmIChyZXQgPCAwKQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwt cmFzcGJlcnJ5cGktdG91Y2hzY3JlZW4uYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1y YXNwYmVycnlwaS10b3VjaHNjcmVlbi5jCj4gaW5kZXggMjNhODAxNDI3ZTQyLi4wOTgyNGU5MmZj NzggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXJhc3BiZXJyeXBp LXRvdWNoc2NyZWVuLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtcmFzcGJl cnJ5cGktdG91Y2hzY3JlZW4uYwo+IEBAIC00MjYsNyArNDI2LDggQEAgc3RhdGljIGludCBycGlf dG91Y2hzY3JlZW5fcHJvYmUoc3RydWN0IGkyY19jbGllbnQgKmkyYywKPiAgCQlyZXR1cm4gUFRS X0VSUih0cy0+ZHNpKTsKPiAgCX0KPiAgCj4gLQlkcm1fcGFuZWxfaW5pdCgmdHMtPmJhc2UsIGRl diwgJnJwaV90b3VjaHNjcmVlbl9mdW5jcyk7Cj4gKwlkcm1fcGFuZWxfaW5pdCgmdHMtPmJhc2Us IGRldiwgJnJwaV90b3VjaHNjcmVlbl9mdW5jcywKPiArCQkgICAgICAgRFJNX01PREVfQ09OTkVD VE9SX0RTSSk7Cj4gIAo+ICAJLyogVGhpcyBhcHBlYXJzIGxhc3QsIGFzIGl0J3Mgd2hhdCB3aWxs IHVuYmxvY2sgdGhlIERTSSBob3N0Cj4gIAkgKiBkcml2ZXIncyBjb21wb25lbnQgYmluZCBmdW5j dGlvbi4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXJheWRpdW0t cm02NzE5MS5jIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXJheWRpdW0tcm02NzE5MS5j Cj4gaW5kZXggZjgyYTFmNjlmMTNiLi5mZDY3ZmM2MTg1YzQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL3BhbmVsL3BhbmVsLXJheWRpdW0tcm02NzE5MS5jCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL3BhbmVsL3BhbmVsLXJheWRpdW0tcm02NzE5MS5jCj4gQEAgLTYwNiw3ICs2MDYsOCBA QCBzdGF0aWMgaW50IHJhZF9wYW5lbF9wcm9iZShzdHJ1Y3QgbWlwaV9kc2lfZGV2aWNlICpkc2kp Cj4gIAlpZiAocmV0KQo+ICAJCXJldHVybiByZXQ7Cj4gIAo+IC0JZHJtX3BhbmVsX2luaXQoJnBh bmVsLT5wYW5lbCwgZGV2LCAmcmFkX3BhbmVsX2Z1bmNzKTsKPiArCWRybV9wYW5lbF9pbml0KCZw YW5lbC0+cGFuZWwsIGRldiwgJnJhZF9wYW5lbF9mdW5jcywKPiArCQkgICAgICAgRFJNX01PREVf Q09OTkVDVE9SX0RTSSk7Cj4gIAlkZXZfc2V0X2RydmRhdGEoZGV2LCBwYW5lbCk7Cj4gIAo+ICAJ cmV0ID0gZHJtX3BhbmVsX2FkZCgmcGFuZWwtPnBhbmVsKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL3BhbmVsL3BhbmVsLXJheWRpdW0tcm02ODIwMC5jIGIvZHJpdmVycy9ncHUvZHJt L3BhbmVsL3BhbmVsLXJheWRpdW0tcm02ODIwMC5jCj4gaW5kZXggZjAwNGI3OGZiOGJjLi45OTRl ODU1NzIxZjQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXJheWRp dW0tcm02ODIwMC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXJheWRpdW0t cm02ODIwMC5jCj4gQEAgLTQwNCw3ICs0MDQsOCBAQCBzdGF0aWMgaW50IHJtNjgyMDBfcHJvYmUo c3RydWN0IG1pcGlfZHNpX2RldmljZSAqZHNpKQo+ICAJZHNpLT5tb2RlX2ZsYWdzID0gTUlQSV9E U0lfTU9ERV9WSURFTyB8IE1JUElfRFNJX01PREVfVklERU9fQlVSU1QgfAo+ICAJCQkgIE1JUElf RFNJX01PREVfTFBNOwo+ICAKPiAtCWRybV9wYW5lbF9pbml0KCZjdHgtPnBhbmVsLCBkZXYsICZy bTY4MjAwX2RybV9mdW5jcyk7Cj4gKwlkcm1fcGFuZWxfaW5pdCgmY3R4LT5wYW5lbCwgZGV2LCAm cm02ODIwMF9kcm1fZnVuY3MsCj4gKwkJICAgICAgIERSTV9NT0RFX0NPTk5FQ1RPUl9EU0kpOwo+ ICAKPiAgCWRybV9wYW5lbF9hZGQoJmN0eC0+cGFuZWwpOwo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXJvY2t0ZWNoLWpoMDU3bjAwOTAwLmMgYi9kcml2ZXJz L2dwdS9kcm0vcGFuZWwvcGFuZWwtcm9ja3RlY2gtamgwNTduMDA5MDAuYwo+IGluZGV4IGQ3ZjU2 Mzc0ZjJmMS4uMzEyMzRiNzlkM2IxIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5l bC9wYW5lbC1yb2NrdGVjaC1qaDA1N24wMDkwMC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3Bh bmVsL3BhbmVsLXJvY2t0ZWNoLWpoMDU3bjAwOTAwLmMKPiBAQCAtMzQzLDcgKzM0Myw4IEBAIHN0 YXRpYyBpbnQgamgwNTduX3Byb2JlKHN0cnVjdCBtaXBpX2RzaV9kZXZpY2UgKmRzaSkKPiAgCQly ZXR1cm4gcmV0Owo+ICAJfQo+ICAKPiAtCWRybV9wYW5lbF9pbml0KCZjdHgtPnBhbmVsLCBkZXYs ICZqaDA1N25fZHJtX2Z1bmNzKTsKPiArCWRybV9wYW5lbF9pbml0KCZjdHgtPnBhbmVsLCBkZXYs ICZqaDA1N25fZHJtX2Z1bmNzLAo+ICsJCSAgICAgICBEUk1fTU9ERV9DT05ORUNUT1JfRFNJKTsK PiAgCj4gIAlkcm1fcGFuZWxfYWRkKCZjdHgtPnBhbmVsKTsKPiAgCj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1yb25iby1yYjA3MGQzMC5jIGIvZHJpdmVycy9ncHUv ZHJtL3BhbmVsL3BhbmVsLXJvbmJvLXJiMDcwZDMwLmMKPiBpbmRleCA4NzA4ZmJiZTc2MzcuLjE3 MGE1Y2RhMjFiOSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtcm9u Ym8tcmIwNzBkMzAuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1yb25iby1y YjA3MGQzMC5jCj4gQEAgLTE3Myw3ICsxNzMsOCBAQCBzdGF0aWMgaW50IHJiMDcwZDMwX3BhbmVs X2RzaV9wcm9iZShzdHJ1Y3QgbWlwaV9kc2lfZGV2aWNlICpkc2kpCj4gIAltaXBpX2RzaV9zZXRf ZHJ2ZGF0YShkc2ksIGN0eCk7Cj4gIAljdHgtPmRzaSA9IGRzaTsKPiAgCj4gLQlkcm1fcGFuZWxf aW5pdCgmY3R4LT5wYW5lbCwgJmRzaS0+ZGV2LCAmcmIwNzBkMzBfcGFuZWxfZnVuY3MpOwo+ICsJ ZHJtX3BhbmVsX2luaXQoJmN0eC0+cGFuZWwsICZkc2ktPmRldiwgJnJiMDcwZDMwX3BhbmVsX2Z1 bmNzLAo+ICsJCSAgICAgICBEUk1fTU9ERV9DT05ORUNUT1JfRFNJKTsKPiAgCj4gIAljdHgtPmdw aW9zLnJlc2V0ID0gZGV2bV9ncGlvZF9nZXQoJmRzaS0+ZGV2LCAicmVzZXQiLCBHUElPRF9PVVRf TE9XKTsKPiAgCWlmIChJU19FUlIoY3R4LT5ncGlvcy5yZXNldCkpIHsKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNhbXN1bmctbGQ5MDQwLmMgYi9kcml2ZXJzL2dw dS9kcm0vcGFuZWwvcGFuZWwtc2Ftc3VuZy1sZDkwNDAuYwo+IGluZGV4IDcxYTI5MmRiZWM0Ny4u MjUwODA5YmEzN2M3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1z YW1zdW5nLWxkOTA0MC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNhbXN1 bmctbGQ5MDQwLmMKPiBAQCAtMzUxLDcgKzM1MSw4IEBAIHN0YXRpYyBpbnQgbGQ5MDQwX3Byb2Jl KHN0cnVjdCBzcGlfZGV2aWNlICpzcGkpCj4gIAkJcmV0dXJuIHJldDsKPiAgCX0KPiAgCj4gLQlk cm1fcGFuZWxfaW5pdCgmY3R4LT5wYW5lbCwgZGV2LCAmbGQ5MDQwX2RybV9mdW5jcyk7Cj4gKwlk cm1fcGFuZWxfaW5pdCgmY3R4LT5wYW5lbCwgZGV2LCAmbGQ5MDQwX2RybV9mdW5jcywKPiArCQkg ICAgICAgRFJNX01PREVfQ09OTkVDVE9SX0RQSSk7Cj4gIAo+ICAJcmV0dXJuIGRybV9wYW5lbF9h ZGQoJmN0eC0+cGFuZWwpOwo+ICB9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5l bC9wYW5lbC1zYW1zdW5nLXM2ZDE2ZDAuYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1z YW1zdW5nLXM2ZDE2ZDAuYwo+IGluZGV4IDRkMjVjOTZlODQyYy4uZTNhMDM5N2U5NTNlIDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zYW1zdW5nLXM2ZDE2ZDAuYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zYW1zdW5nLXM2ZDE2ZDAuYwo+IEBA IC0yMTUsNyArMjE1LDggQEAgc3RhdGljIGludCBzNmQxNmQwX3Byb2JlKHN0cnVjdCBtaXBpX2Rz aV9kZXZpY2UgKmRzaSkKPiAgCQlyZXR1cm4gcmV0Owo+ICAJfQo+ICAKPiAtCWRybV9wYW5lbF9p bml0KCZzNi0+cGFuZWwsIGRldiwgJnM2ZDE2ZDBfZHJtX2Z1bmNzKTsKPiArCWRybV9wYW5lbF9p bml0KCZzNi0+cGFuZWwsIGRldiwgJnM2ZDE2ZDBfZHJtX2Z1bmNzLAo+ICsJCSAgICAgICBEUk1f TU9ERV9DT05ORUNUT1JfRFNJKTsKPiAgCj4gIAlyZXQgPSBkcm1fcGFuZWxfYWRkKCZzNi0+cGFu ZWwpOwo+ICAJaWYgKHJldCA8IDApCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5l bC9wYW5lbC1zYW1zdW5nLXM2ZTNoYTIuYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1z YW1zdW5nLXM2ZTNoYTIuYwo+IGluZGV4IDQyYTNhYWFiNDllYi4uOTM4YWI3MmM1NTQwIDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zYW1zdW5nLXM2ZTNoYTIuYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zYW1zdW5nLXM2ZTNoYTIuYwo+IEBA IC03MzIsNyArNzMyLDggQEAgc3RhdGljIGludCBzNmUzaGEyX3Byb2JlKHN0cnVjdCBtaXBpX2Rz aV9kZXZpY2UgKmRzaSkKPiAgCWN0eC0+YmxfZGV2LT5wcm9wcy5icmlnaHRuZXNzID0gUzZFM0hB Ml9ERUZBVUxUX0JSSUdIVE5FU1M7Cj4gIAljdHgtPmJsX2Rldi0+cHJvcHMucG93ZXIgPSBGQl9C TEFOS19QT1dFUkRPV047Cj4gIAo+IC0JZHJtX3BhbmVsX2luaXQoJmN0eC0+cGFuZWwsIGRldiwg JnM2ZTNoYTJfZHJtX2Z1bmNzKTsKPiArCWRybV9wYW5lbF9pbml0KCZjdHgtPnBhbmVsLCBkZXYs ICZzNmUzaGEyX2RybV9mdW5jcywKPiArCQkgICAgICAgRFJNX01PREVfQ09OTkVDVE9SX0RTSSk7 Cj4gIAo+ICAJcmV0ID0gZHJtX3BhbmVsX2FkZCgmY3R4LT5wYW5lbCk7Cj4gIAlpZiAocmV0IDwg MCkKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNhbXN1bmctczZl NjNqMHgwMy5jIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNhbXN1bmctczZlNjNqMHgw My5jCj4gaW5kZXggYjRkODc5YmY0ZDAzLi5hNjA2MzVlOTIyNmQgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNhbXN1bmctczZlNjNqMHgwMy5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNhbXN1bmctczZlNjNqMHgwMy5jCj4gQEAgLTQ2Niw3 ICs0NjYsOCBAQCBzdGF0aWMgaW50IHM2ZTYzajB4MDNfcHJvYmUoc3RydWN0IG1pcGlfZHNpX2Rl dmljZSAqZHNpKQo+ICAJCXJldHVybiBQVFJfRVJSKGN0eC0+cmVzZXRfZ3Bpbyk7Cj4gIAl9Cj4g IAo+IC0JZHJtX3BhbmVsX2luaXQoJmN0eC0+cGFuZWwsIGRldiwgJnM2ZTYzajB4MDNfZnVuY3Mp Owo+ICsJZHJtX3BhbmVsX2luaXQoJmN0eC0+cGFuZWwsIGRldiwgJnM2ZTYzajB4MDNfZnVuY3Ms Cj4gKwkJICAgICAgIERSTV9NT0RFX0NPTk5FQ1RPUl9EU0kpOwo+ICAKPiAgCWN0eC0+YmxfZGV2 ID0gYmFja2xpZ2h0X2RldmljZV9yZWdpc3RlcigiczZlNjNqMHgwMyIsIGRldiwgY3R4LAo+ICAJ CQkJCQkmczZlNjNqMHgwM19ibF9vcHMsIE5VTEwpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vcGFuZWwvcGFuZWwtc2Ftc3VuZy1zNmU2M20wLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFu ZWwvcGFuZWwtc2Ftc3VuZy1zNmU2M20wLmMKPiBpbmRleCA2MTI1OWMyODMzYWIuLmJhMDFhZjBi MTRmZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2Ftc3VuZy1z NmU2M20wLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2Ftc3VuZy1zNmU2 M20wLmMKPiBAQCAtNDczLDcgKzQ3Myw4IEBAIHN0YXRpYyBpbnQgczZlNjNtMF9wcm9iZShzdHJ1 Y3Qgc3BpX2RldmljZSAqc3BpKQo+ICAJCXJldHVybiByZXQ7Cj4gIAl9Cj4gIAo+IC0JZHJtX3Bh bmVsX2luaXQoJmN0eC0+cGFuZWwsIGRldiwgJnM2ZTYzbTBfZHJtX2Z1bmNzKTsKPiArCWRybV9w YW5lbF9pbml0KCZjdHgtPnBhbmVsLCBkZXYsICZzNmU2M20wX2RybV9mdW5jcywKPiArCQkgICAg ICAgRFJNX01PREVfQ09OTkVDVE9SX0RQSSk7Cj4gIAo+ICAJcmV0ID0gczZlNjNtMF9iYWNrbGln aHRfcmVnaXN0ZXIoY3R4KTsKPiAgCWlmIChyZXQgPCAwKQo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vcGFuZWwvcGFuZWwtc2Ftc3VuZy1zNmU4YWEwLmMgYi9kcml2ZXJzL2dwdS9kcm0v cGFuZWwvcGFuZWwtc2Ftc3VuZy1zNmU4YWEwLmMKPiBpbmRleCAzNWRiZmZhYmQ1MjYuLmRiY2Vk NjUwMTIwNCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2Ftc3Vu Zy1zNmU4YWEwLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2Ftc3VuZy1z NmU4YWEwLmMKPiBAQCAtMTAxNyw3ICsxMDE3LDggQEAgc3RhdGljIGludCBzNmU4YWEwX3Byb2Jl KHN0cnVjdCBtaXBpX2RzaV9kZXZpY2UgKmRzaSkKPiAgCj4gIAljdHgtPmJyaWdodG5lc3MgPSBH QU1NQV9MRVZFTF9OVU0gLSAxOwo+ICAKPiAtCWRybV9wYW5lbF9pbml0KCZjdHgtPnBhbmVsLCBk ZXYsICZzNmU4YWEwX2RybV9mdW5jcyk7Cj4gKwlkcm1fcGFuZWxfaW5pdCgmY3R4LT5wYW5lbCwg ZGV2LCAmczZlOGFhMF9kcm1fZnVuY3MsCj4gKwkJICAgICAgIERSTV9NT0RFX0NPTk5FQ1RPUl9E U0kpOwo+ICAKPiAgCXJldCA9IGRybV9wYW5lbF9hZGQoJmN0eC0+cGFuZWwpOwo+ICAJaWYgKHJl dCA8IDApCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zZWlrby00 M3d2ZjFnLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2Vpa28tNDN3dmYxZy5jCj4g aW5kZXggMDgzM2QwYzAzYWRjLi5iMzYxOWJhNDQzYmQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL3BhbmVsL3BhbmVsLXNlaWtvLTQzd3ZmMWcuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9wYW5lbC9wYW5lbC1zZWlrby00M3d2ZjFnLmMKPiBAQCAtMjc0LDcgKzI3NCw4IEBAIHN0YXRp YyBpbnQgc2Vpa29fcGFuZWxfcHJvYmUoc3RydWN0IGRldmljZSAqZGV2LAo+ICAJCQlyZXR1cm4g LUVQUk9CRV9ERUZFUjsKPiAgCX0KPiAgCj4gLQlkcm1fcGFuZWxfaW5pdCgmcGFuZWwtPmJhc2Us IGRldiwgJnNlaWtvX3BhbmVsX2Z1bmNzKTsKPiArCWRybV9wYW5lbF9pbml0KCZwYW5lbC0+YmFz ZSwgZGV2LCAmc2Vpa29fcGFuZWxfZnVuY3MsCj4gKwkJICAgICAgIERSTV9NT0RFX0NPTk5FQ1RP Ul9EUEkpOwo+ICAKPiAgCWVyciA9IGRybV9wYW5lbF9hZGQoJnBhbmVsLT5iYXNlKTsKPiAgCWlm IChlcnIgPCAwKQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2hh cnAtbHExMDFyMXN4MDEuYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zaGFycC1scTEw MXIxc3gwMS5jCj4gaW5kZXggODdhNThjYjRkOTQ1Li41ZTEzNmMzYmExODUgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNoYXJwLWxxMTAxcjFzeDAxLmMKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2hhcnAtbHExMDFyMXN4MDEuYwo+IEBAIC0z MjksNyArMzI5LDggQEAgc3RhdGljIGludCBzaGFycF9wYW5lbF9hZGQoc3RydWN0IHNoYXJwX3Bh bmVsICpzaGFycCkKPiAgCWlmIChJU19FUlIoc2hhcnAtPmJhY2tsaWdodCkpCj4gIAkJcmV0dXJu IFBUUl9FUlIoc2hhcnAtPmJhY2tsaWdodCk7Cj4gIAo+IC0JZHJtX3BhbmVsX2luaXQoJnNoYXJw LT5iYXNlLCAmc2hhcnAtPmxpbmsxLT5kZXYsICZzaGFycF9wYW5lbF9mdW5jcyk7Cj4gKwlkcm1f cGFuZWxfaW5pdCgmc2hhcnAtPmJhc2UsICZzaGFycC0+bGluazEtPmRldiwgJnNoYXJwX3BhbmVs X2Z1bmNzLAo+ICsJCSAgICAgICBEUk1fTU9ERV9DT05ORUNUT1JfRFNJKTsKPiAgCj4gIAlyZXR1 cm4gZHJtX3BhbmVsX2FkZCgmc2hhcnAtPmJhc2UpOwo+ICB9Cj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zaGFycC1sczAzN3Y3ZHcwMS5jIGIvZHJpdmVycy9ncHUv ZHJtL3BhbmVsL3BhbmVsLXNoYXJwLWxzMDM3djdkdzAxLmMKPiBpbmRleCA5NmUzZGViMGUzMDUu LmVlYWI3OTk4YzdkZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwt c2hhcnAtbHMwMzd2N2R3MDEuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1z aGFycC1sczAzN3Y3ZHcwMS5jCj4gQEAgLTE4NSw3ICsxODUsOCBAQCBzdGF0aWMgaW50IGxzMDM3 djdkdzAxX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4gIAkJcmV0dXJuIFBU Ul9FUlIobGNkLT51ZF9ncGlvKTsKPiAgCX0KPiAgCj4gLQlkcm1fcGFuZWxfaW5pdCgmbGNkLT5w YW5lbCwgJnBkZXYtPmRldiwgJmxzMDM3djdkdzAxX2Z1bmNzKTsKPiArCWRybV9wYW5lbF9pbml0 KCZsY2QtPnBhbmVsLCAmcGRldi0+ZGV2LCAmbHMwMzd2N2R3MDFfZnVuY3MsCj4gKwkJICAgICAg IERSTV9NT0RFX0NPTk5FQ1RPUl9EUEkpOwo+ICAKPiAgCXJldHVybiBkcm1fcGFuZWxfYWRkKCZs Y2QtPnBhbmVsKTsKPiAgfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFu ZWwtc2hhcnAtbHMwNDN0MWxlMDEuYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zaGFy cC1sczA0M3QxbGUwMS5jCj4gaW5kZXggZmZhODQ0ZWU4MmFkLi5iOTYzYmE0YWI1ODkgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNoYXJwLWxzMDQzdDFsZTAxLmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2hhcnAtbHMwNDN0MWxlMDEuYwo+ IEBAIC0yNjUsNyArMjY1LDcgQEAgc3RhdGljIGludCBzaGFycF9udF9wYW5lbF9hZGQoc3RydWN0 IHNoYXJwX250X3BhbmVsICpzaGFycF9udCkKPiAgCQlyZXR1cm4gUFRSX0VSUihzaGFycF9udC0+ YmFja2xpZ2h0KTsKPiAgCj4gIAlkcm1fcGFuZWxfaW5pdCgmc2hhcnBfbnQtPmJhc2UsICZzaGFy cF9udC0+ZHNpLT5kZXYsCj4gLQkJICAgICAgICZzaGFycF9udF9wYW5lbF9mdW5jcyk7Cj4gKwkJ ICAgICAgICZzaGFycF9udF9wYW5lbF9mdW5jcywgRFJNX01PREVfQ09OTkVDVE9SX0RTSSk7Cj4g IAo+ICAJcmV0dXJuIGRybV9wYW5lbF9hZGQoJnNoYXJwX250LT5iYXNlKTsKPiAgfQo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2ltcGxlLmMgYi9kcml2ZXJzL2dw dS9kcm0vcGFuZWwvcGFuZWwtc2ltcGxlLmMKPiBpbmRleCBiMzZjMTMwZDVjZjAuLjRiOTJiMjdl YmE4NiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2ltcGxlLmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2ltcGxlLmMKPiBAQCAtOTQsNiAr OTQsNyBAQCBzdHJ1Y3QgcGFuZWxfZGVzYyB7Cj4gIAo+ICAJdTMyIGJ1c19mb3JtYXQ7Cj4gIAl1 MzIgYnVzX2ZsYWdzOwo+ICsJaW50IGNvbm5lY3Rvcl90eXBlOwo+ICB9Owo+ICAKPiAgc3RydWN0 IHBhbmVsX3NpbXBsZSB7Cj4gQEAgLTQ2NCw3ICs0NjUsOCBAQCBzdGF0aWMgaW50IHBhbmVsX3Np bXBsZV9wcm9iZShzdHJ1Y3QgZGV2aWNlICpkZXYsIGNvbnN0IHN0cnVjdCBwYW5lbF9kZXNjICpk ZXNjKQo+ICAJaWYgKCFvZl9nZXRfZGlzcGxheV90aW1pbmcoZGV2LT5vZl9ub2RlLCAicGFuZWwt dGltaW5nIiwgJmR0KSkKPiAgCQlwYW5lbF9zaW1wbGVfcGFyc2VfcGFuZWxfdGltaW5nX25vZGUo ZGV2LCBwYW5lbCwgJmR0KTsKPiAgCj4gLQlkcm1fcGFuZWxfaW5pdCgmcGFuZWwtPmJhc2UsIGRl diwgJnBhbmVsX3NpbXBsZV9mdW5jcyk7Cj4gKwlkcm1fcGFuZWxfaW5pdCgmcGFuZWwtPmJhc2Us IGRldiwgJnBhbmVsX3NpbXBsZV9mdW5jcywKPiArCQkgICAgICAgZGVzYy0+Y29ubmVjdG9yX3R5 cGUpOwo+ICAKPiAgCWVyciA9IGRybV9wYW5lbF9hZGQoJnBhbmVsLT5iYXNlKTsKPiAgCWlmIChl cnIgPCAwKQo+IEBAIC04MzEsNiArODMzLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBwYW5lbF9k ZXNjIGF1b19nMTMzaGFuMDEgPSB7Cj4gIAkJLnVucHJlcGFyZSA9IDEwMDAsCj4gIAl9LAo+ICAJ LmJ1c19mb3JtYXQgPSBNRURJQV9CVVNfRk1UX1JHQjg4OF8xWDdYNF9KRUlEQSwKPiArCS5jb25u ZWN0b3JfdHlwZSA9IERSTV9NT0RFX0NPTk5FQ1RPUl9MVkRTLAo+ICB9Owo+ICAKPiAgc3RhdGlj IGNvbnN0IHN0cnVjdCBkaXNwbGF5X3RpbWluZyBhdW9fZzE4NWhhbjAxX3RpbWluZ3MgPSB7Cj4g QEAgLTg2MCw2ICs4NjMsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHBhbmVsX2Rlc2MgYXVvX2cx ODVoYW4wMSA9IHsKPiAgCQkudW5wcmVwYXJlID0gMTAwMCwKPiAgCX0sCj4gIAkuYnVzX2Zvcm1h dCA9IE1FRElBX0JVU19GTVRfUkdCODg4XzFYN1g0X1NQV0csCj4gKwkuY29ubmVjdG9yX3R5cGUg PSBEUk1fTU9ERV9DT05ORUNUT1JfTFZEUywKPiAgfTsKPiAgCj4gIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgZGlzcGxheV90aW1pbmcgYXVvX3AzMjBodm4wM190aW1pbmdzID0gewo+IEBAIC04ODgsNiAr ODkyLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBwYW5lbF9kZXNjIGF1b19wMzIwaHZuMDMgPSB7 Cj4gIAkJLnVucHJlcGFyZSA9IDUwMCwKPiAgCX0sCj4gIAkuYnVzX2Zvcm1hdCA9IE1FRElBX0JV U19GTVRfUkdCODg4XzFYN1g0X1NQV0csCj4gKwkuY29ubmVjdG9yX3R5cGUgPSBEUk1fTU9ERV9D T05ORUNUT1JfTFZEUywKPiAgfTsKPiAgCj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3Bs YXlfbW9kZSBhdW9fdDIxNWh2bjAxX21vZGUgPSB7Cj4gQEAgLTEyMDMsNiArMTIwOCw3IEBAIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgcGFuZWxfZGVzYyBkbGNfZGxjMDcwMHl6Z18xID0gewo+ICAJCS5k aXNhYmxlID0gMjAwLAo+ICAJfSwKPiAgCS5idXNfZm9ybWF0ID0gTUVESUFfQlVTX0ZNVF9SR0I2 NjZfMVg3WDNfU1BXRywKPiArCS5jb25uZWN0b3JfdHlwZSA9IERSTV9NT0RFX0NPTk5FQ1RPUl9M VkRTLAo+ICB9Owo+ICAKPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBkaXNwbGF5X3RpbWluZyBkbGNf ZGxjMTAxMGdpZ190aW1pbmcgPSB7Cj4gQEAgLTEyMzMsNiArMTIzOSw3IEBAIHN0YXRpYyBjb25z dCBzdHJ1Y3QgcGFuZWxfZGVzYyBkbGNfZGxjMTAxMGdpZyA9IHsKPiAgCQkudW5wcmVwYXJlID0g NjAsCj4gIAl9LAo+ICAJLmJ1c19mb3JtYXQgPSBNRURJQV9CVVNfRk1UX1JHQjg4OF8xWDdYNF9T UFdHLAo+ICsJLmNvbm5lY3Rvcl90eXBlID0gRFJNX01PREVfQ09OTkVDVE9SX0xWRFMsCj4gIH07 Cj4gIAo+ICBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgZWR0X2V0MDM1MDEy ZG02X21vZGUgPSB7Cj4gQEAgLTE0OTksNiArMTUwNiw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg cGFuZWxfZGVzYyBoYW5uc3Rhcl9oc2QwNzBwd3cxID0gewo+ICAJCS5oZWlnaHQgPSA5NCwKPiAg CX0sCj4gIAkuYnVzX2Zvcm1hdCA9IE1FRElBX0JVU19GTVRfUkdCNjY2XzFYN1gzX1NQV0csCj4g KwkuY29ubmVjdG9yX3R5cGUgPSBEUk1fTU9ERV9DT05ORUNUT1JfTFZEUywKPiAgfTsKPiAgCj4g IHN0YXRpYyBjb25zdCBzdHJ1Y3QgZGlzcGxheV90aW1pbmcgaGFubnN0YXJfaHNkMTAwcHhuMV90 aW1pbmcgPSB7Cj4gQEAgLTE1MjMsNiArMTUzMSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcGFu ZWxfZGVzYyBoYW5uc3Rhcl9oc2QxMDBweG4xID0gewo+ICAJCS5oZWlnaHQgPSAxNTIsCj4gIAl9 LAo+ICAJLmJ1c19mb3JtYXQgPSBNRURJQV9CVVNfRk1UX1JHQjY2Nl8xWDdYM19TUFdHLAo+ICsJ LmNvbm5lY3Rvcl90eXBlID0gRFJNX01PREVfQ09OTkVDVE9SX0xWRFMsCj4gIH07Cj4gIAo+ICBz dGF0aWMgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgaGl0YWNoaV90eDIzZDM4dm0wY2Fh X21vZGUgPSB7Cj4gQEAgLTE2MjksNiArMTYzOCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcGFu ZWxfZGVzYyBpbm5vbHV4X2cwNzB5Ml9sMDEgPSB7Cj4gIAkJLnVucHJlcGFyZSA9IDgwMCwKPiAg CX0sCj4gIAkuYnVzX2Zvcm1hdCA9IE1FRElBX0JVU19GTVRfUkdCODg4XzFYN1g0X1NQV0csCj4g KwkuY29ubmVjdG9yX3R5cGUgPSBEUk1fTU9ERV9DT05ORUNUT1JfTFZEUywKPiAgfTsKPiAgCj4g IHN0YXRpYyBjb25zdCBzdHJ1Y3QgZGlzcGxheV90aW1pbmcgaW5ub2x1eF9nMTAxaWNlX2wwMV90 aW1pbmcgPSB7Cj4gQEAgLTE2NTcsNiArMTY2Nyw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcGFu ZWxfZGVzYyBpbm5vbHV4X2cxMDFpY2VfbDAxID0gewo+ICAJCS5kaXNhYmxlID0gMjAwLAo+ICAJ fSwKPiAgCS5idXNfZm9ybWF0ID0gTUVESUFfQlVTX0ZNVF9SR0I4ODhfMVg3WDRfU1BXRywKPiAr CS5jb25uZWN0b3JfdHlwZSA9IERSTV9NT0RFX0NPTk5FQ1RPUl9MVkRTLAo+ICB9Owo+ICAKPiAg c3RhdGljIGNvbnN0IHN0cnVjdCBkaXNwbGF5X3RpbWluZyBpbm5vbHV4X2cxMjFpMV9sMDFfdGlt aW5nID0gewo+IEBAIC0xNjg0LDYgKzE2OTUsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHBhbmVs X2Rlc2MgaW5ub2x1eF9nMTIxaTFfbDAxID0gewo+ICAJCS5kaXNhYmxlID0gMjAsCj4gIAl9LAo+ ICAJLmJ1c19mb3JtYXQgPSBNRURJQV9CVVNfRk1UX1JHQjg4OF8xWDdYNF9TUFdHLAo+ICsJLmNv bm5lY3Rvcl90eXBlID0gRFJNX01PREVfQ09OTkVDVE9SX0xWRFMsCj4gIH07Cj4gIAo+ICBzdGF0 aWMgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgaW5ub2x1eF9nMTIxeDFfbDAzX21vZGUg PSB7Cj4gQEAgLTE4NjcsNiArMTg3OSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcGFuZWxfZGVz YyBrb2VfdHgzMWQyMDB2bTBiYWEgPSB7Cj4gIAkJLmhlaWdodCA9IDEwOSwKPiAgCX0sCj4gIAku YnVzX2Zvcm1hdCA9IE1FRElBX0JVU19GTVRfUkdCNjY2XzFYN1gzX1NQV0csCj4gKwkuY29ubmVj dG9yX3R5cGUgPSBEUk1fTU9ERV9DT05ORUNUT1JfTFZEUywKPiAgfTsKPiAgCj4gIHN0YXRpYyBj b25zdCBzdHJ1Y3QgZGlzcGxheV90aW1pbmcga3lvX3RjZzEyMXhnbHBfdGltaW5nID0gewo+IEBA IC0xODkxLDYgKzE5MDQsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHBhbmVsX2Rlc2Mga3lvX3Rj ZzEyMXhnbHAgPSB7Cj4gIAkJLmhlaWdodCA9IDE4NCwKPiAgCX0sCj4gIAkuYnVzX2Zvcm1hdCA9 IE1FRElBX0JVU19GTVRfUkdCODg4XzFYN1g0X1NQV0csCj4gKwkuY29ubmVjdG9yX3R5cGUgPSBE Uk1fTU9ERV9DT05ORUNUT1JfTFZEUywKPiAgfTsKPiAgCj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg ZHJtX2Rpc3BsYXlfbW9kZSBsZW1ha2VyX2JsMDM1X3JnYl8wMDJfbW9kZSA9IHsKPiBAQCAtMTkz OSw2ICsxOTUzLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBwYW5lbF9kZXNjIGxnX2xiMDcwd3Y4 ID0gewo+ICAJCS5oZWlnaHQgPSA5MSwKPiAgCX0sCj4gIAkuYnVzX2Zvcm1hdCA9IE1FRElBX0JV U19GTVRfUkdCODg4XzFYN1g0X1NQV0csCj4gKwkuY29ubmVjdG9yX3R5cGUgPSBEUk1fTU9ERV9D T05ORUNUT1JfTFZEUywKPiAgfTsKPiAgCj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3Bs YXlfbW9kZSBsZ19scDA3OXF4MV9zcDB2X21vZGUgPSB7Cj4gQEAgLTIwNjEsNiArMjA3Niw3IEBA IHN0YXRpYyBjb25zdCBzdHJ1Y3QgcGFuZWxfZGVzYyBtaXRzdWJpc2hpX2FhMDcwbWMwMSA9IHsK PiAgCQkuZGlzYWJsZSA9IDQwMCwKPiAgCX0sCj4gIAkuYnVzX2Zvcm1hdCA9IE1FRElBX0JVU19G TVRfUkdCODg4XzFYN1g0X1NQV0csCj4gKwkuY29ubmVjdG9yX3R5cGUgPSBEUk1fTU9ERV9DT05O RUNUT1JfTFZEUywKPiAgCS5idXNfZmxhZ3MgPSBEUk1fQlVTX0ZMQUdfREVfSElHSCwKPiAgfTsK PiAgCj4gQEAgLTIwODksNiArMjEwNSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcGFuZWxfZGVz YyBuZWNfbmwxMjg4MGJjMjBfMDUgPSB7Cj4gIAkJLmRpc2FibGUgPSA1MCwKPiAgCX0sCj4gIAku YnVzX2Zvcm1hdCA9IE1FRElBX0JVU19GTVRfUkdCODg4XzFYN1g0X1NQV0csCj4gKwkuY29ubmVj dG9yX3R5cGUgPSBEUk1fTU9ERV9DT05ORUNUT1JfTFZEUywKPiAgfTsKPiAgCj4gIHN0YXRpYyBj b25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSBuZWNfbmw0ODI3aGMxOV8wNWJfbW9kZSA9IHsK PiBAQCAtMjE5MSw2ICsyMjA4LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBwYW5lbF9kZXNjIG5s dF9ubDE5MjEwOGFjMThfMDJkID0gewo+ICAJCS51bnByZXBhcmUgPSA1MDAsCj4gIAl9LAo+ICAJ LmJ1c19mb3JtYXQgPSBNRURJQV9CVVNfRk1UX1JHQjg4OF8xWDdYNF9TUFdHLAo+ICsJLmNvbm5l Y3Rvcl90eXBlID0gRFJNX01PREVfQ09OTkVDVE9SX0xWRFMsCj4gIH07Cj4gIAo+ICBzdGF0aWMg Y29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgbnZkXzkxMjhfbW9kZSA9IHsKPiBAQCAtMjIx NCw2ICsyMjMyLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBwYW5lbF9kZXNjIG52ZF85MTI4ID0g ewo+ICAJCS5oZWlnaHQgPSA4OCwKPiAgCX0sCj4gIAkuYnVzX2Zvcm1hdCA9IE1FRElBX0JVU19G TVRfUkdCODg4XzFYN1g0X1NQV0csCj4gKwkuY29ubmVjdG9yX3R5cGUgPSBEUk1fTU9ERV9DT05O RUNUT1JfTFZEUywKPiAgfTsKPiAgCj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZGlzcGxheV90aW1p bmcgb2theWFfcnM4MDA0ODB0Xzd4MGdwX3RpbWluZyA9IHsKPiBAQCAtMjYyNiw2ICsyNjQ1LDcg QEAgc3RhdGljIGNvbnN0IHN0cnVjdCBwYW5lbF9kZXNjIHNoYXJwX2xxMTAxazFseTA0ID0gewo+ ICAJCS5oZWlnaHQgPSAxMzYsCj4gIAl9LAo+ICAJLmJ1c19mb3JtYXQgPSBNRURJQV9CVVNfRk1U X1JHQjg4OF8xWDdYNF9KRUlEQSwKPiArCS5jb25uZWN0b3JfdHlwZSA9IERSTV9NT0RFX0NPTk5F Q1RPUl9MVkRTLAo+ICB9Owo+ICAKPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBkaXNwbGF5X3RpbWlu ZyBzaGFycF9scTEyM3AxangzMV90aW1pbmcgPSB7Cj4gQEAgLTI4MDUsNiArMjgyNSw3IEBAIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgcGFuZWxfZGVzYyB0aWFubWFfdG0wNzBqZGhnMzAgPSB7Cj4gIAkJ LmhlaWdodCA9IDk1LAo+ICAJfSwKPiAgCS5idXNfZm9ybWF0ID0gTUVESUFfQlVTX0ZNVF9SR0I4 ODhfMVg3WDRfU1BXRywKPiArCS5jb25uZWN0b3JfdHlwZSA9IERSTV9NT0RFX0NPTk5FQ1RPUl9M VkRTLAo+ICB9Owo+ICAKPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBkaXNwbGF5X3RpbWluZyB0aWFu bWFfdG0wNzBydmhnNzFfdGltaW5nID0gewo+IEBAIC0yODI5LDYgKzI4NTAsNyBAQCBzdGF0aWMg Y29uc3Qgc3RydWN0IHBhbmVsX2Rlc2MgdGlhbm1hX3RtMDcwcnZoZzcxID0gewo+ICAJCS5oZWln aHQgPSA4NiwKPiAgCX0sCj4gIAkuYnVzX2Zvcm1hdCA9IE1FRElBX0JVU19GTVRfUkdCODg4XzFY N1g0X1NQV0csCj4gKwkuY29ubmVjdG9yX3R5cGUgPSBEUk1fTU9ERV9DT05ORUNUT1JfTFZEUywK PiAgfTsKPiAgCj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSB0aV9uc3Bp cmVfY3hfbGNkX21vZGVbXSA9IHsKPiBAQCAtMjkxMSw2ICsyOTMzLDcgQEAgc3RhdGljIGNvbnN0 IHN0cnVjdCBwYW5lbF9kZXNjIHRvc2hpYmFfbHQwODlhYzI5MDAwID0gewo+ICAJfSwKPiAgCS5i dXNfZm9ybWF0ID0gTUVESUFfQlVTX0ZNVF9SR0I4ODhfMVgyNCwKPiAgCS5idXNfZmxhZ3MgPSBE Uk1fQlVTX0ZMQUdfREVfSElHSCB8IERSTV9CVVNfRkxBR19QSVhEQVRBX0RSSVZFX1BPU0VER0Us Cj4gKwkuY29ubmVjdG9yX3R5cGUgPSBEUk1fTU9ERV9DT05ORUNUT1JfTFZEUywKPiAgfTsKPiAg Cj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSB0cGtfZjA3YV8wMTAyX21v ZGUgPSB7Cj4gQEAgLTI5ODEsNiArMzAwNCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcGFuZWxf ZGVzYyB1cnRfdW1zaF84NTk2bWRfbHZkcyA9IHsKPiAgCQkuaGVpZ2h0ID0gOTEsCj4gIAl9LAo+ ICAJLmJ1c19mb3JtYXQgPSBNRURJQV9CVVNfRk1UX1JHQjY2Nl8xWDdYM19TUFdHLAo+ICsJLmNv bm5lY3Rvcl90eXBlID0gRFJNX01PREVfQ09OTkVDVE9SX0xWRFMsCj4gIH07Cj4gIAo+ICBzdGF0 aWMgY29uc3Qgc3RydWN0IHBhbmVsX2Rlc2MgdXJ0X3Vtc2hfODU5Nm1kX3BhcmFsbGVsID0gewo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2l0cm9uaXgtc3Q3NzAx LmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2l0cm9uaXgtc3Q3NzAxLmMKPiBpbmRl eCAzZjdiY2QyNGFhODEuLmVlM2YyM2Y0NTc1NSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vcGFuZWwvcGFuZWwtc2l0cm9uaXgtc3Q3NzAxLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v cGFuZWwvcGFuZWwtc2l0cm9uaXgtc3Q3NzAxLmMKPiBAQCAtMzY5LDcgKzM2OSw4IEBAIHN0YXRp YyBpbnQgc3Q3NzAxX2RzaV9wcm9iZShzdHJ1Y3QgbWlwaV9kc2lfZGV2aWNlICpkc2kpCj4gIAlp ZiAoSVNfRVJSKHN0NzcwMS0+YmFja2xpZ2h0KSkKPiAgCQlyZXR1cm4gUFRSX0VSUihzdDc3MDEt PmJhY2tsaWdodCk7Cj4gIAo+IC0JZHJtX3BhbmVsX2luaXQoJnN0NzcwMS0+cGFuZWwsICZkc2kt PmRldiwgJnN0NzcwMV9mdW5jcyk7Cj4gKwlkcm1fcGFuZWxfaW5pdCgmc3Q3NzAxLT5wYW5lbCwg JmRzaS0+ZGV2LCAmc3Q3NzAxX2Z1bmNzLAo+ICsJCSAgICAgICBEUk1fTU9ERV9DT05ORUNUT1Jf RFNJKTsKPiAgCj4gIAkvKioKPiAgCSAqIE9uY2Ugc2xlZXAgb3V0IGhhcyBiZWVuIGlzc3VlZCwg U1Q3NzAxIElDIHJlcXVpcmVkIHRvIHdhaXQgMTIwbXMKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL3BhbmVsL3BhbmVsLXNpdHJvbml4LXN0Nzc4OXYuYyBiL2RyaXZlcnMvZ3B1L2RybS9w YW5lbC9wYW5lbC1zaXRyb25peC1zdDc3ODl2LmMKPiBpbmRleCAyZWVhZWVlMGRkN2YuLjEwOGE4 NWJiNjY2NyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2l0cm9u aXgtc3Q3Nzg5di5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNpdHJvbml4 LXN0Nzc4OXYuYwo+IEBAIC0zODEsNyArMzgxLDggQEAgc3RhdGljIGludCBzdDc3ODl2X3Byb2Jl KHN0cnVjdCBzcGlfZGV2aWNlICpzcGkpCj4gIAlzcGlfc2V0X2RydmRhdGEoc3BpLCBjdHgpOwo+ ICAJY3R4LT5zcGkgPSBzcGk7Cj4gIAo+IC0JZHJtX3BhbmVsX2luaXQoJmN0eC0+cGFuZWwsICZz cGktPmRldiwgJnN0Nzc4OXZfZHJtX2Z1bmNzKTsKPiArCWRybV9wYW5lbF9pbml0KCZjdHgtPnBh bmVsLCAmc3BpLT5kZXYsICZzdDc3ODl2X2RybV9mdW5jcywKPiArCQkgICAgICAgRFJNX01PREVf Q09OTkVDVE9SX0RQSSk7Cj4gIAo+ICAJY3R4LT5wb3dlciA9IGRldm1fcmVndWxhdG9yX2dldCgm c3BpLT5kZXYsICJwb3dlciIpOwo+ICAJaWYgKElTX0VSUihjdHgtPnBvd2VyKSkKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNvbnktYWN4NTY1YWttLmMgYi9kcml2 ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc29ueS1hY3g1NjVha20uYwo+IGluZGV4IDVhMjc3MmIw NGI3NS4uNmY1Y2U1ODY3ZmY5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9w YW5lbC1zb255LWFjeDU2NWFrbS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVs LXNvbnktYWN4NTY1YWttLmMKPiBAQCAtNjQ4LDcgKzY0OCw4IEBAIHN0YXRpYyBpbnQgYWN4NTY1 YWttX3Byb2JlKHN0cnVjdCBzcGlfZGV2aWNlICpzcGkpCj4gIAkJCXJldHVybiByZXQ7Cj4gIAl9 Cj4gIAo+IC0JZHJtX3BhbmVsX2luaXQoJmxjZC0+cGFuZWwsICZsY2QtPnNwaS0+ZGV2LCAmYWN4 NTY1YWttX2Z1bmNzKTsKPiArCWRybV9wYW5lbF9pbml0KCZsY2QtPnBhbmVsLCAmbGNkLT5zcGkt PmRldiwgJmFjeDU2NWFrbV9mdW5jcywKPiArCQkgICAgICAgRFJNX01PREVfQ09OTkVDVE9SX0RQ SSk7Cj4gIAo+ICAJcmV0ID0gZHJtX3BhbmVsX2FkZCgmbGNkLT5wYW5lbCk7Cj4gIAlpZiAocmV0 IDwgMCkgewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtdHBvLXRk MDI4dHRlYzEuYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC10cG8tdGQwMjh0dGVjMS5j Cj4gaW5kZXggOGIxMTQ4ZDc0ZTdiLi4xZDA4ZDAzZjUwOWQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL3BhbmVsL3BhbmVsLXRwby10ZDAyOHR0ZWMxLmMKPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vcGFuZWwvcGFuZWwtdHBvLXRkMDI4dHRlYzEuYwo+IEBAIC0zNDcsNyArMzQ3LDggQEAg c3RhdGljIGludCB0ZDAyOHR0ZWMxX3Byb2JlKHN0cnVjdCBzcGlfZGV2aWNlICpzcGkpCj4gIAkJ cmV0dXJuIHJldDsKPiAgCX0KPiAgCj4gLQlkcm1fcGFuZWxfaW5pdCgmbGNkLT5wYW5lbCwgJmxj ZC0+c3BpLT5kZXYsICZ0ZDAyOHR0ZWMxX2Z1bmNzKTsKPiArCWRybV9wYW5lbF9pbml0KCZsY2Qt PnBhbmVsLCAmbGNkLT5zcGktPmRldiwgJnRkMDI4dHRlYzFfZnVuY3MsCj4gKwkJICAgICAgIERS TV9NT0RFX0NPTk5FQ1RPUl9EUEkpOwo+ICAKPiAgCXJldHVybiBkcm1fcGFuZWxfYWRkKCZsY2Qt PnBhbmVsKTsKPiAgfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwt dHBvLXRkMDQzbXRlYTEuYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC10cG8tdGQwNDNt dGVhMS5jCj4gaW5kZXggYmJmMGMyZTFjOTBmLi40MTZhZWJkMjNiNmEgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXRwby10ZDA0M210ZWExLmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtdHBvLXRkMDQzbXRlYTEuYwo+IEBAIC00NTgsNyArNDU4 LDggQEAgc3RhdGljIGludCB0ZDA0M210ZWExX3Byb2JlKHN0cnVjdCBzcGlfZGV2aWNlICpzcGkp Cj4gIAkJcmV0dXJuIHJldDsKPiAgCX0KPiAgCj4gLQlkcm1fcGFuZWxfaW5pdCgmbGNkLT5wYW5l bCwgJmxjZC0+c3BpLT5kZXYsICZ0ZDA0M210ZWExX2Z1bmNzKTsKPiArCWRybV9wYW5lbF9pbml0 KCZsY2QtPnBhbmVsLCAmbGNkLT5zcGktPmRldiwgJnRkMDQzbXRlYTFfZnVuY3MsCj4gKwkJICAg ICAgIERSTV9NT0RFX0NPTk5FQ1RPUl9EUEkpOwo+ICAKPiAgCXJldCA9IGRybV9wYW5lbF9hZGQo JmxjZC0+cGFuZWwpOwo+ICAJaWYgKHJldCA8IDApIHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL3BhbmVsL3BhbmVsLXRwby10cGcxMTAuYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9w YW5lbC10cG8tdHBnMTEwLmMKPiBpbmRleCAyNTUyNGMyNmIyNDEuLjFhNTQxOGFlMmNjZiAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtdHBvLXRwZzExMC5jCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXRwby10cGcxMTAuYwo+IEBAIC00NTcsNyAr NDU3LDggQEAgc3RhdGljIGludCB0cGcxMTBfcHJvYmUoc3RydWN0IHNwaV9kZXZpY2UgKnNwaSkK PiAgCWlmIChyZXQpCj4gIAkJcmV0dXJuIHJldDsKPiAgCj4gLQlkcm1fcGFuZWxfaW5pdCgmdHBn LT5wYW5lbCwgZGV2LCAmdHBnMTEwX2RybV9mdW5jcyk7Cj4gKwlkcm1fcGFuZWxfaW5pdCgmdHBn LT5wYW5lbCwgZGV2LCAmdHBnMTEwX2RybV9mdW5jcywKPiArCQkgICAgICAgRFJNX01PREVfQ09O TkVDVE9SX0RQSSk7Cj4gIAlzcGlfc2V0X2RydmRhdGEoc3BpLCB0cGcpOwo+ICAKPiAgCXJldHVy biBkcm1fcGFuZWxfYWRkKCZ0cGctPnBhbmVsKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL3BhbmVsL3BhbmVsLXRydWx5LW50MzU1OTcuYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9w YW5lbC10cnVseS1udDM1NTk3LmMKPiBpbmRleCBjMzcxNGJlNzg4MzcuLjBmZWVhMjQ1NmUxNCAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtdHJ1bHktbnQzNTU5Ny5j Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXRydWx5LW50MzU1OTcuYwo+IEBA IC01MTgsNyArNTE4LDggQEAgc3RhdGljIGludCB0cnVseV9udDM1NTk3X3BhbmVsX2FkZChzdHJ1 Y3QgdHJ1bHlfbnQzNTU5NyAqY3R4KQo+ICAJLyogZHVhbCBwb3J0ICovCj4gIAlncGlvZF9zZXRf dmFsdWUoY3R4LT5tb2RlX2dwaW8sIDApOwo+ICAKPiAtCWRybV9wYW5lbF9pbml0KCZjdHgtPnBh bmVsLCBkZXYsICZ0cnVseV9udDM1NTk3X2RybV9mdW5jcyk7Cj4gKwlkcm1fcGFuZWxfaW5pdCgm Y3R4LT5wYW5lbCwgZGV2LCAmdHJ1bHlfbnQzNTU5N19kcm1fZnVuY3MsCj4gKwkJICAgICAgIERS TV9NT0RFX0NPTk5FQ1RPUl9EU0kpOwo+ICAJZHJtX3BhbmVsX2FkZCgmY3R4LT5wYW5lbCk7Cj4g IAo+ICAJcmV0dXJuIDA7Cj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9wYW5lbC5oIGIv aW5jbHVkZS9kcm0vZHJtX3BhbmVsLmgKPiBpbmRleCA0YjljNjU2ZGMxNWUuLmNlOGRhNjQwMjJi NCAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fcGFuZWwuaAo+ICsrKyBiL2luY2x1ZGUv ZHJtL2RybV9wYW5lbC5oCj4gQEAgLTEzOSw2ICsxMzksMTUgQEAgc3RydWN0IGRybV9wYW5lbCB7 Cj4gIAkgKi8KPiAgCWNvbnN0IHN0cnVjdCBkcm1fcGFuZWxfZnVuY3MgKmZ1bmNzOwo+ICAKPiAr CS8qKgo+ICsJICogQGNvbm5lY3Rvcl90eXBlOgo+ICsJICoKPiArCSAqIFR5cGUgb2YgdGhlIHBh bmVsIGFzIGEgRFJNX01PREVfQ09OTkVDVE9SXyogdmFsdWUuIFRoaXMgaXMgdXNlZCB0bwo+ICsJ ICogaW5pdGlhbGlzZSB0aGUgZHJtX2Nvbm5lY3RvciBjb3JyZXNwb25kaW5nIHRvIHRoZSBwYW5l bCB3aXRoIHRoZQo+ICsJICogY29ycmVjdCBjb25uZWN0b3IgdHlwZS4KPiArCSAqLwo+ICsJaW50 IGNvbm5lY3Rvcl90eXBlOwo+ICsKPiAgCS8qKgo+ICAJICogQGxpc3Q6Cj4gIAkgKgo+IEBAIC0x NDgsNyArMTU3LDggQEAgc3RydWN0IGRybV9wYW5lbCB7Cj4gIH07Cj4gIAo+ICB2b2lkIGRybV9w YW5lbF9pbml0KHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsLCBzdHJ1Y3QgZGV2aWNlICpkZXYsCj4g LQkJICAgIGNvbnN0IHN0cnVjdCBkcm1fcGFuZWxfZnVuY3MgKmZ1bmNzKTsKPiArCQkgICAgY29u c3Qgc3RydWN0IGRybV9wYW5lbF9mdW5jcyAqZnVuY3MsCj4gKwkJICAgIGludCBjb25uZWN0b3Jf dHlwZSk7Cj4gIAo+ICBpbnQgZHJtX3BhbmVsX2FkZChzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCk7 Cj4gIHZvaWQgZHJtX3BhbmVsX3JlbW92ZShzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCk7Cj4gLS0g Cj4gUmVnYXJkcywKPiAKPiBMYXVyZW50IFBpbmNoYXJ0Cl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVs QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2RyaS1kZXZlbA==