From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.3 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id DD1FDC43603 for ; Wed, 4 Dec 2019 13:11:23 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 906AA2073B for ; Wed, 4 Dec 2019 13:11:23 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="snd/WRev"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="mlWzolgm" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 906AA2073B Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ideasonboard.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=QGTGaql95X17Z2Z2yvZWZ5JUdIB2iqzFuDXMIg1wVUo=; b=snd/WRevt5eXOw n+qjOCjlaN1fVpEi5dK22zOdYNN3/ynAolppeX5/70VL9ozzvttCzTiZN3GO7uhYcaJsbK4/+3Unh pwvTbIPbB9uDMij1HJUx3XIReiZQjeAyMzynDcR25Rz56WU5m6ikQY0dHmZxEQTGYrDudX4Ey+X02 Qv/IwKl3mMw0lKXqIO2rZwQvU6LJVuDsWDffX+HFQRu0CV6zvfuSYNooJdJMLrx+ap/bpaQMad8kA /9JvJsZPKX16yoiQLFUbtI6i9TLcQglW+RUZ2HmHSTA+GRfPV/8KWGeMccY2aZQPYQNSlT76+jSBr 5aq2ZjNNiEUgNAZwWh5A==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1icUR9-00009D-2j; Wed, 04 Dec 2019 13:11:23 +0000 Received: from perceval.ideasonboard.com ([2001:4b98:dc2:55:216:3eff:fef7:d647]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1icUR3-00008d-0e; Wed, 04 Dec 2019 13:11:21 +0000 Received: from pendragon.ideasonboard.com (81-175-216-236.bb.dnainternet.fi [81.175.216.236]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 889B12E5; Wed, 4 Dec 2019 14:11:09 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1575465069; bh=Mf9w+P7BYj5heY2fTF3CwGf+2+dMzi+yqZ9BmY1UtAI=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=mlWzolgmOnXaQJfgX4ZMl/DsFk+tsvEA1VofvNjJv4A4DJdwlEixlJupAVppOpkaB AsI+S4Hp9SrdgxFAkh7USGR46LABFO+kPhPtgDEBdENy6RJnpRuRdfcpvIhM2BpdLJ mh4VNU/d/bRMSVHyg2HWOeIlPqfNdwrvxhYrQaP0= Date: Wed, 4 Dec 2019 15:11:02 +0200 From: Laurent Pinchart To: Guido =?utf-8?Q?G=C3=BCnther?= Subject: Re: [PATCH v1 05/26] drm/panel: add drm_connector argument to get_modes() Message-ID: <20191204131102.GA4852@pendragon.ideasonboard.com> References: <20191202193230.21310-1-sam@ravnborg.org> <20191202193230.21310-6-sam@ravnborg.org> <20191204120804.GC18094@bogon.m.sigxcpu.org> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20191204120804.GC18094@bogon.m.sigxcpu.org> User-Agent: Mutt/1.10.1 (2018-07-13) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20191204_051117_637688_D8498C01 X-CRM114-Status: GOOD ( 18.40 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Neil Armstrong , David Airlie , Linus Walleij , dri-devel@lists.freedesktop.org, Andrzej Hajda , Thierry Reding , Benjamin Gaignard , Sam Ravnborg , Stefan Agner , linux-samsung-soc@vger.kernel.org, Stefan Mavrodiev , linux-rockchip@lists.infradead.org, Tomi Valkeinen , NXP Linux Team , Robert Chiras , Jagan Teki , Jitao Shi , Pengutronix Kernel Team , Maarten Lankhorst , Maxime Ripard , linux-mediatek@lists.infradead.org, Abhinav Kumar , linux-tegra@vger.kernel.org, Sean Paul , linux-arm-kernel@lists.infradead.org, Purism Kernel Team , linux-renesas-soc@vger.kernel.org, Boris Brezillon , Daniel Vetter Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGkgR3VpZG8sCgpPbiBXZWQsIERlYyAwNCwgMjAxOSBhdCAwMTowODowNFBNICswMTAwLCBHdWlk byBHw7xudGhlciB3cm90ZToKPiBPbiBNb24sIERlYyAwMiwgMjAxOSBhdCAwODozMjowOVBNICsw MTAwLCBTYW0gUmF2bmJvcmcgd3JvdGU6Cj4gPiBUb2RheSB0aGUgYnJpZGdlIGNyZWF0ZXMgdGhl IGRybV9jb25uZWN0b3IsIGJ1dCB0aGF0IGlzIHBsYW5uZWQKPiA+IHRvIGJlIG1vdmVkIHRvIHRo ZSBkaXNwbGF5IGRyaXZlcnMuCj4gCj4gRG8geW91IGhhdmUgYSByZWZlcmVuY2UgZm9yIHRoYXQg bW92ZSBhdCBoYW5kPwoKaHR0cHM6Ly9wYXRjaHdvcmsua2VybmVsLm9yZy9jb3Zlci8xMDgwNTM1 My8KCk5vdCBzb21ldGhpbmcgdGhhdCB3aWxsIGJlIGVuZm9yY2VkIHJpZ2h0IGF3YXksIGJ1dCBJ IHRoaW5rIGl0IHdpbGwKc2ltcGxpZnkgZGlzcGxheSBjb250cm9sbGVyIGRyaXZlcnMsIHNvIEkn bGwgYWR2b2NhdGUgc3dpdGNoaW5nIHRvIHRoYXQKbW9kZWwuCgo+ID4gVG8gZmFjaWxpdGF0ZSB0 aGlzLCB1cGRhdGUgZHJtX3BhbmVsX2Z1bmNzLmdldF9tb2RlcygpIHRvCj4gPiB0YWtlIGRybV9j b25uZWN0b3IgYXMgYW4gYXJndW1lbnQuCj4gPiBBbGwgcGFuZWwgZHJpdmVycyBpbXBsZW1lbnRp bmcgZ2V0X21vZGVzKCkgYXJlIHVwZGF0ZWQuCj4gPiAKPiA+IFNpZ25lZC1vZmYtYnk6IFNhbSBS YXZuYm9yZyA8c2FtQHJhdm5ib3JnLm9yZz4KPiA+IENjOiBUaGllcnJ5IFJlZGluZyA8dGhpZXJy eS5yZWRpbmdAZ21haWwuY29tPgo+ID4gQ2M6IExhdXJlbnQgUGluY2hhcnQgPGxhdXJlbnQucGlu Y2hhcnRAaWRlYXNvbmJvYXJkLmNvbT4KPiA+IENjOiBTYW0gUmF2bmJvcmcgPHNhbUByYXZuYm9y Zy5vcmc+Cj4gPiBDYzogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4 LmludGVsLmNvbT4KPiA+IENjOiBNYXhpbWUgUmlwYXJkIDxtcmlwYXJkQGtlcm5lbC5vcmc+Cj4g PiBDYzogRGF2aWQgQWlybGllIDxhaXJsaWVkQGxpbnV4LmllPgo+ID4gQ2M6IERhbmllbCBWZXR0 ZXIgPGRhbmllbEBmZndsbC5jaD4KPiA+IENjOiBMaW51cyBXYWxsZWlqIDxsaW51cy53YWxsZWlq QGxpbmFyby5vcmc+Cj4gPiBDYzogSmFnYW4gVGVraSA8amFnYW5AYW1hcnVsYXNvbHV0aW9ucy5j b20+Cj4gPiBDYzogU3RlZmFuIE1hdnJvZGlldiA8c3RlZmFuQG9saW1leC5jb20+Cj4gPiBDYzog Um9iZXJ0IENoaXJhcyA8cm9iZXJ0LmNoaXJhc0BueHAuY29tPgo+ID4gQ2M6ICJHdWlkbyBHw7xu dGhlciIgPGFneEBzaWd4Y3B1Lm9yZz4KPiA+IENjOiBQdXJpc20gS2VybmVsIFRlYW0gPGtlcm5l bEBwdXJpLnNtPgo+ID4gLS0tCj4gPiAgZHJpdmVycy9ncHUvZHJtL2RybV9wYW5lbC5jICAgICAg ICAgICAgICAgICAgIHwgIDIgKy0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtYXJt LXZlcnNhdGlsZS5jICAgfCAgNCArLS0KPiA+ICAuLi4vZHJtL3BhbmVsL3BhbmVsLWZlaXlhbmct ZnkwNzAyNGRpMjZhMzBkLmMgfCAgNCArLS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFu ZWwtaWxpdGVrLWlsaTkzMjIuYyAgfCAgNSArKy0tCj4gPiAgZHJpdmVycy9ncHUvZHJtL3BhbmVs L3BhbmVsLWlsaXRlay1pbGk5ODgxYy5jIHwgIDggKysrLS0tCj4gPiAgZHJpdmVycy9ncHUvZHJt L3BhbmVsL3BhbmVsLWlubm9sdXgtcDA3OXpjYS5jIHwgMTMgKysrKystLS0tCj4gPiAgLi4uL2dw dS9kcm0vcGFuZWwvcGFuZWwtamRpLWx0MDcwbWUwNTAwMC5jICAgIHwgIDkgKysrKy0tLQo+ID4g IC4uLi9kcm0vcGFuZWwvcGFuZWwta2luZ2Rpc3BsYXkta2QwOTdkMDQuYyAgICB8IDExICsrKyst LS0tCj4gPiAgZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWxnLWxiMDM1cTAyLmMgICAgIHwg IDQgKy0tCj4gPiAgZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWxnLWxnNDU3My5jICAgICAg IHwgIDggKysrLS0tCj4gPiAgZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWx2ZHMuYyAgICAg ICAgICAgIHwgIDQgKy0tCj4gPiAgZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLW5lYy1ubDgw NDhobDExLmMgIHwgIDQgKy0tCj4gPiAgZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLW5vdmF0 ZWstbnQzOTAxNi5jIHwgIDQgKy0tCj4gPiAgLi4uL2RybS9wYW5lbC9wYW5lbC1vbGltZXgtbGNk LW9saW51eGluby5jICAgIHwgIDQgKy0tCj4gPiAgLi4uL2dwdS9kcm0vcGFuZWwvcGFuZWwtb3Jp c2V0ZWNoLW90bTgwMDlhLmMgIHwgIDkgKysrKy0tLQo+ID4gIC4uLi9kcm0vcGFuZWwvcGFuZWwt b3NkLW9zZDEwMXQyNTg3LTUzdHMuYyAgICB8ICA5ICsrKystLS0KPiA+ICAuLi4vZHJtL3BhbmVs L3BhbmVsLXBhbmFzb25pYy12dngxMGYwMzRuMDAuYyAgfCAgOSArKysrLS0tCj4gPiAgLi4uL2Ry bS9wYW5lbC9wYW5lbC1yYXNwYmVycnlwaS10b3VjaHNjcmVlbi5jIHwgIDQgKy0tCj4gPiAgZHJp dmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXJheWRpdW0tcm02NzE5MS5jIHwgIDYgKystLS0KPiA+ ICBkcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtcmF5ZGl1bS1ybTY4MjAwLmMgfCAgOSArKysr LS0tCj4gPiAgLi4uL2RybS9wYW5lbC9wYW5lbC1yb2NrdGVjaC1qaDA1N24wMDkwMC5jICAgIHwg IDkgKysrKy0tLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1yb25iby1yYjA3MGQz MC5jICB8IDEwICsrKy0tLS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2Ftc3Vu Zy1sZDkwNDAuYyAgfCAgNCArLS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2Ft c3VuZy1zNmQxNmQwLmMgfCAgNCArLS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwt c2Ftc3VuZy1zNmUzaGEyLmMgfCAgNCArLS0KPiA+ICAuLi4vZ3B1L2RybS9wYW5lbC9wYW5lbC1z YW1zdW5nLXM2ZTYzajB4MDMuYyAgfCAgNCArLS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vcGFuZWwv cGFuZWwtc2Ftc3VuZy1zNmU2M20wLmMgfCAgNCArLS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vcGFu ZWwvcGFuZWwtc2Ftc3VuZy1zNmU4YWEwLmMgfCAgNCArLS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0v cGFuZWwvcGFuZWwtc2Vpa28tNDN3dmYxZy5jICAgfCAgOSArKysrLS0tCj4gPiAgLi4uL2dwdS9k cm0vcGFuZWwvcGFuZWwtc2hhcnAtbHExMDFyMXN4MDEuYyAgIHwgIDkgKysrKy0tLQo+ID4gIC4u Li9ncHUvZHJtL3BhbmVsL3BhbmVsLXNoYXJwLWxzMDM3djdkdzAxLmMgICB8ICA0ICstLQo+ID4g IC4uLi9ncHUvZHJtL3BhbmVsL3BhbmVsLXNoYXJwLWxzMDQzdDFsZTAxLmMgICB8ICA5ICsrKyst LS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2ltcGxlLmMgICAgICAgICAgfCAy NyArKysrKysrKysrLS0tLS0tLS0tCj4gPiAgZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNp dHJvbml4LXN0NzcwMS5jIHwgIDkgKysrKy0tLQo+ID4gIC4uLi9ncHUvZHJtL3BhbmVsL3BhbmVs LXNpdHJvbml4LXN0Nzc4OXYuYyAgICB8ICA4ICsrKy0tLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9w YW5lbC9wYW5lbC1zb255LWFjeDU2NWFrbS5jICB8ICA0ICstLQo+ID4gIGRyaXZlcnMvZ3B1L2Ry bS9wYW5lbC9wYW5lbC10cG8tdGQwMjh0dGVjMS5jICB8ICA0ICstLQo+ID4gIGRyaXZlcnMvZ3B1 L2RybS9wYW5lbC9wYW5lbC10cG8tdGQwNDNtdGVhMS5jICB8ICA0ICstLQo+ID4gIGRyaXZlcnMv Z3B1L2RybS9wYW5lbC9wYW5lbC10cG8tdHBnMTEwLmMgICAgICB8ICA0ICstLQo+ID4gIGRyaXZl cnMvZ3B1L2RybS9wYW5lbC9wYW5lbC10cnVseS1udDM1NTk3LmMgICB8ICA0ICstLQo+ID4gIGlu Y2x1ZGUvZHJtL2RybV9wYW5lbC5oICAgICAgICAgICAgICAgICAgICAgICB8ICAzICsrLQo+ID4g IDQxIGZpbGVzIGNoYW5nZWQsIDE0MSBpbnNlcnRpb25zKCspLCAxMzAgZGVsZXRpb25zKC0pCj4g PiAKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX3BhbmVsLmMgYi9kcml2ZXJz L2dwdS9kcm0vZHJtX3BhbmVsLmMKPiA+IGluZGV4IDM1NjA5YzkwZTQ2Ny4uOTkyN2UyOGQ5M2U2 IDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9wYW5lbC5jCj4gPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vZHJtX3BhbmVsLmMKPiA+IEBAIC0yNTIsNyArMjUyLDcgQEAgaW50IGRy bV9wYW5lbF9nZXRfbW9kZXMoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpCj4gPiAgCQlyZXR1cm4g LUVJTlZBTDsKPiA+ICAKPiA+ICAJaWYgKHBhbmVsLT5mdW5jcyAmJiBwYW5lbC0+ZnVuY3MtPmdl dF9tb2RlcykKPiA+IC0JCXJldHVybiBwYW5lbC0+ZnVuY3MtPmdldF9tb2RlcyhwYW5lbCk7Cj4g PiArCQlyZXR1cm4gcGFuZWwtPmZ1bmNzLT5nZXRfbW9kZXMocGFuZWwsIHBhbmVsLT5jb25uZWN0 b3IpOwo+ID4gIAo+ID4gIAlyZXR1cm4gMDsKPiA+ICB9Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL3BhbmVsL3BhbmVsLWFybS12ZXJzYXRpbGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9w YW5lbC9wYW5lbC1hcm0tdmVyc2F0aWxlLmMKPiA+IGluZGV4IGEwNTc0ZGMwM2UxNi4uNDFhYTkx ZjYwOTc5IDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWFybS12 ZXJzYXRpbGUuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWFybS12ZXJz YXRpbGUuYwo+ID4gQEAgLTI2MCw5ICsyNjAsOSBAQCBzdGF0aWMgaW50IHZlcnNhdGlsZV9wYW5l bF9lbmFibGUoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpCj4gPiAgCXJldHVybiAwOwo+ID4gIH0K PiA+ICAKPiA+IC1zdGF0aWMgaW50IHZlcnNhdGlsZV9wYW5lbF9nZXRfbW9kZXMoc3RydWN0IGRy bV9wYW5lbCAqcGFuZWwpCj4gPiArc3RhdGljIGludCB2ZXJzYXRpbGVfcGFuZWxfZ2V0X21vZGVz KHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsLAo+ID4gKwkJCQkgICAgIHN0cnVjdCBkcm1fY29ubmVj dG9yICpjb25uZWN0b3IpCj4gPiAgewo+ID4gLQlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVj dG9yID0gcGFuZWwtPmNvbm5lY3RvcjsKPiA+ICAJc3RydWN0IHZlcnNhdGlsZV9wYW5lbCAqdnBh bmVsID0gdG9fdmVyc2F0aWxlX3BhbmVsKHBhbmVsKTsKPiA+ICAJc3RydWN0IGRybV9kaXNwbGF5 X21vZGUgKm1vZGU7Cj4gPiAgCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVs L3BhbmVsLWZlaXlhbmctZnkwNzAyNGRpMjZhMzBkLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwv cGFuZWwtZmVpeWFuZy1meTA3MDI0ZGkyNmEzMGQuYwo+ID4gaW5kZXggOThmMTg0YjgxMTg3Li4z N2Q2YjczOTA5NTQgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwt ZmVpeWFuZy1meTA3MDI0ZGkyNmEzMGQuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVs L3BhbmVsLWZlaXlhbmctZnkwNzAyNGRpMjZhMzBkLmMKPiA+IEBAIC0xNjIsOSArMTYyLDkgQEAg c3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlIGZlaXlhbmdfZGVmYXVsdF9tb2Rl ID0gewo+ID4gIAkudHlwZSA9IERSTV9NT0RFX1RZUEVfRFJJVkVSIHwgRFJNX01PREVfVFlQRV9Q UkVGRVJSRUQsCj4gPiAgfTsKPiA+ICAKPiA+IC1zdGF0aWMgaW50IGZlaXlhbmdfZ2V0X21vZGVz KHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQo+ID4gK3N0YXRpYyBpbnQgZmVpeWFuZ19nZXRfbW9k ZXMoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwsCj4gPiArCQkJICAgICBzdHJ1Y3QgZHJtX2Nvbm5l Y3RvciAqY29ubmVjdG9yKQo+ID4gIHsKPiA+IC0Jc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5l Y3RvciA9IHBhbmVsLT5jb25uZWN0b3I7Cj4gPiAgCXN0cnVjdCBmZWl5YW5nICpjdHggPSBwYW5l bF90b19mZWl5YW5nKHBhbmVsKTsKPiA+ICAJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGU7 Cj4gPiAgCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWlsaXRl ay1pbGk5MzIyLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtaWxpdGVrLWlsaTkzMjIu Ywo+ID4gaW5kZXggMjQ5NTViZWMxOTU4Li44ZmQ0YzA1MjE4NDEgMTAwNjQ0Cj4gPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtaWxpdGVrLWlsaTkzMjIuYwo+ID4gKysrIGIvZHJp dmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWlsaXRlay1pbGk5MzIyLmMKPiA+IEBAIC02NDEsOSAr NjQxLDkgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlIGl0dV9yX2J0XzY1 Nl83MjBfbW9kZSA9IHsKPiA+ICAJLmZsYWdzID0gMCwKPiA+ICB9Owo+ID4gIAo+ID4gLXN0YXRp YyBpbnQgaWxpOTMyMl9nZXRfbW9kZXMoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpCj4gPiArc3Rh dGljIGludCBpbGk5MzIyX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCwKPiA+ICsJ CQkgICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gPiAgewo+ID4gLQlzdHJ1 Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yID0gcGFuZWwtPmNvbm5lY3RvcjsKPiA+ICAJc3Ry dWN0IGlsaTkzMjIgKmlsaSA9IHBhbmVsX3RvX2lsaTkzMjIocGFuZWwpOwo+ID4gIAlzdHJ1Y3Qg ZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZTsKPiA+ICAJc3RydWN0IGRybV9kaXNwbGF5X2luZm8gKmlu Zm87Cj4gPiBAQCAtNjU1LDcgKzY1NSw2IEBAIHN0YXRpYyBpbnQgaWxpOTMyMl9nZXRfbW9kZXMo c3RydWN0IGRybV9wYW5lbCAqcGFuZWwpCj4gPiAgCQlpbmZvLT5idXNfZmxhZ3MgfD0gRFJNX0JV U19GTEFHX1BJWERBVEFfRFJJVkVfUE9TRURHRTsKPiA+ICAJZWxzZQo+ID4gIAkJaW5mby0+YnVz X2ZsYWdzIHw9IERSTV9CVVNfRkxBR19QSVhEQVRBX0RSSVZFX05FR0VER0U7Cj4gPiAtCj4gPiAg CWlmIChpbGktPmNvbmYtPmRlX2FjdGl2ZV9oaWdoKQo+ID4gIAkJaW5mby0+YnVzX2ZsYWdzIHw9 IERSTV9CVVNfRkxBR19ERV9ISUdIOwo+ID4gIAllbHNlCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL3BhbmVsL3BhbmVsLWlsaXRlay1pbGk5ODgxYy5jIGIvZHJpdmVycy9ncHUvZHJt L3BhbmVsL3BhbmVsLWlsaXRlay1pbGk5ODgxYy5jCj4gPiBpbmRleCBlODc4OWU0NjBhMTYuLjFj NjdhNjY4ZDZiZiAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1p bGl0ZWstaWxpOTg4MWMuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWls aXRlay1pbGk5ODgxYy5jCj4gPiBAQCAtMzg3LDkgKzM4Nyw5IEBAIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgZHJtX2Rpc3BsYXlfbW9kZSBiYW5hbmFwaV9kZWZhdWx0X21vZGUgPSB7Cj4gPiAgCS52dG90 YWwJCT0gMTI4MCArIDEwICsgMTAgKyAyMCwKPiA+ICB9Owo+ID4gIAo+ID4gLXN0YXRpYyBpbnQg aWxpOTg4MWNfZ2V0X21vZGVzKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQo+ID4gK3N0YXRpYyBp bnQgaWxpOTg4MWNfZ2V0X21vZGVzKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsLAo+ID4gKwkJCSAg ICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gPiAgewo+ID4gLQlzdHJ1Y3Qg ZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yID0gcGFuZWwtPmNvbm5lY3RvcjsKPiA+ICAJc3RydWN0 IGlsaTk4ODFjICpjdHggPSBwYW5lbF90b19pbGk5ODgxYyhwYW5lbCk7Cj4gPiAgCXN0cnVjdCBk cm1fZGlzcGxheV9tb2RlICptb2RlOwo+ID4gIAo+ID4gQEAgLTQwNyw4ICs0MDcsOCBAQCBzdGF0 aWMgaW50IGlsaTk4ODFjX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCkKPiA+ICAJ bW9kZS0+dHlwZSA9IERSTV9NT0RFX1RZUEVfRFJJVkVSIHwgRFJNX01PREVfVFlQRV9QUkVGRVJS RUQ7Cj4gPiAgCWRybV9tb2RlX3Byb2JlZF9hZGQoY29ubmVjdG9yLCBtb2RlKTsKPiA+ICAKPiA+ IC0JcGFuZWwtPmNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLndpZHRoX21tID0gNjI7Cj4gPiAtCXBh bmVsLT5jb25uZWN0b3ItPmRpc3BsYXlfaW5mby5oZWlnaHRfbW0gPSAxMTA7Cj4gPiArCWNvbm5l Y3Rvci0+ZGlzcGxheV9pbmZvLndpZHRoX21tID0gNjI7Cj4gPiArCWNvbm5lY3Rvci0+ZGlzcGxh eV9pbmZvLmhlaWdodF9tbSA9IDExMDsKPiA+ICAKPiA+ICAJcmV0dXJuIDE7Cj4gPiAgfQo+ID4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1pbm5vbHV4LXAwNzl6Y2Eu YyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1pbm5vbHV4LXAwNzl6Y2EuYwo+ID4gaW5k ZXggODNkZjFhYzQyMTFmLi5mYWNmMWJhYjI1MzIgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vcGFuZWwvcGFuZWwtaW5ub2x1eC1wMDc5emNhLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9wYW5lbC9wYW5lbC1pbm5vbHV4LXAwNzl6Y2EuYwo+ID4gQEAgLTQwMyw3ICs0MDMsOCBA QCBzdGF0aWMgY29uc3Qgc3RydWN0IHBhbmVsX2Rlc2MgaW5ub2x1eF9wMDk3cGZnX3BhbmVsX2Rl c2MgPSB7Cj4gPiAgCS5zbGVlcF9tb2RlX2RlbGF5ID0gMTAwLCAvKiBUMTUgKi8KPiA+ICB9Owo+ ID4gIAo+ID4gLXN0YXRpYyBpbnQgaW5ub2x1eF9wYW5lbF9nZXRfbW9kZXMoc3RydWN0IGRybV9w YW5lbCAqcGFuZWwpCj4gPiArc3RhdGljIGludCBpbm5vbHV4X3BhbmVsX2dldF9tb2RlcyhzdHJ1 Y3QgZHJtX3BhbmVsICpwYW5lbCwKPiA+ICsJCQkJICAgc3RydWN0IGRybV9jb25uZWN0b3IgKmNv bm5lY3RvcikKPiA+ICB7Cj4gPiAgCXN0cnVjdCBpbm5vbHV4X3BhbmVsICppbm5vbHV4ID0gdG9f aW5ub2x1eF9wYW5lbChwYW5lbCk7Cj4gPiAgCWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2Rl ICptID0gaW5ub2x1eC0+ZGVzYy0+bW9kZTsKPiA+IEBAIC00MTgsMTMgKzQxOSwxMSBAQCBzdGF0 aWMgaW50IGlubm9sdXhfcGFuZWxfZ2V0X21vZGVzKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQo+ ID4gIAo+ID4gIAlkcm1fbW9kZV9zZXRfbmFtZShtb2RlKTsKPiA+ICAKPiA+IC0JZHJtX21vZGVf cHJvYmVkX2FkZChwYW5lbC0+Y29ubmVjdG9yLCBtb2RlKTsKPiA+ICsJZHJtX21vZGVfcHJvYmVk X2FkZChjb25uZWN0b3IsIG1vZGUpOwo+ID4gIAo+ID4gLQlwYW5lbC0+Y29ubmVjdG9yLT5kaXNw bGF5X2luZm8ud2lkdGhfbW0gPQo+ID4gLQkJCWlubm9sdXgtPmRlc2MtPnNpemUud2lkdGg7Cj4g PiAtCXBhbmVsLT5jb25uZWN0b3ItPmRpc3BsYXlfaW5mby5oZWlnaHRfbW0gPQo+ID4gLQkJCWlu bm9sdXgtPmRlc2MtPnNpemUuaGVpZ2h0Owo+ID4gLQlwYW5lbC0+Y29ubmVjdG9yLT5kaXNwbGF5 X2luZm8uYnBjID0gaW5ub2x1eC0+ZGVzYy0+YnBjOwo+ID4gKwljb25uZWN0b3ItPmRpc3BsYXlf aW5mby53aWR0aF9tbSA9IGlubm9sdXgtPmRlc2MtPnNpemUud2lkdGg7Cj4gPiArCWNvbm5lY3Rv ci0+ZGlzcGxheV9pbmZvLmhlaWdodF9tbSA9IGlubm9sdXgtPmRlc2MtPnNpemUuaGVpZ2h0Owo+ ID4gKwljb25uZWN0b3ItPmRpc3BsYXlfaW5mby5icGMgPSBpbm5vbHV4LT5kZXNjLT5icGM7Cj4g PiAgCj4gPiAgCXJldHVybiAxOwo+ID4gIH0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vcGFuZWwvcGFuZWwtamRpLWx0MDcwbWUwNTAwMC5jIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVs L3BhbmVsLWpkaS1sdDA3MG1lMDUwMDAuYwo+ID4gaW5kZXggNTYzNjRhOTNmMGI4Li5lNmI2NTBh NjRmZGIgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtamRpLWx0 MDcwbWUwNTAwMC5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtamRpLWx0 MDcwbWUwNTAwMC5jCj4gPiBAQCAtMzAwLDcgKzMwMCw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg ZHJtX2Rpc3BsYXlfbW9kZSBkZWZhdWx0X21vZGUgPSB7Cj4gPiAgCQkuZmxhZ3MgPSAwLAo+ID4g IH07Cj4gPiAgCj4gPiAtc3RhdGljIGludCBqZGlfcGFuZWxfZ2V0X21vZGVzKHN0cnVjdCBkcm1f cGFuZWwgKnBhbmVsKQo+ID4gK3N0YXRpYyBpbnQgamRpX3BhbmVsX2dldF9tb2RlcyhzdHJ1Y3Qg ZHJtX3BhbmVsICpwYW5lbCwKPiA+ICsJCQkgICAgICAgc3RydWN0IGRybV9jb25uZWN0b3IgKmNv bm5lY3RvcikKPiA+ICB7Cj4gPiAgCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlOwo+ID4g IAlzdHJ1Y3QgamRpX3BhbmVsICpqZGkgPSB0b19qZGlfcGFuZWwocGFuZWwpOwo+ID4gQEAgLTMx NiwxMCArMzE3LDEwIEBAIHN0YXRpYyBpbnQgamRpX3BhbmVsX2dldF9tb2RlcyhzdHJ1Y3QgZHJt X3BhbmVsICpwYW5lbCkKPiA+ICAKPiA+ICAJZHJtX21vZGVfc2V0X25hbWUobW9kZSk7Cj4gPiAg Cj4gPiAtCWRybV9tb2RlX3Byb2JlZF9hZGQocGFuZWwtPmNvbm5lY3RvciwgbW9kZSk7Cj4gPiAr CWRybV9tb2RlX3Byb2JlZF9hZGQoY29ubmVjdG9yLCBtb2RlKTsKPiA+ICAKPiA+IC0JcGFuZWwt PmNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLndpZHRoX21tID0gOTU7Cj4gPiAtCXBhbmVsLT5jb25u ZWN0b3ItPmRpc3BsYXlfaW5mby5oZWlnaHRfbW0gPSAxNTE7Cj4gPiArCWNvbm5lY3Rvci0+ZGlz cGxheV9pbmZvLndpZHRoX21tID0gOTU7Cj4gPiArCWNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLmhl aWdodF9tbSA9IDE1MTsKPiA+ICAKPiA+ICAJcmV0dXJuIDE7Cj4gPiAgfQo+ID4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1raW5nZGlzcGxheS1rZDA5N2QwNC5jIGIv ZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWtpbmdkaXNwbGF5LWtkMDk3ZDA0LmMKPiA+IGlu ZGV4IDQ1Zjk2NTU2ZWM4Yy4uZTZmNTNkNTZkYWY5IDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL3BhbmVsL3BhbmVsLWtpbmdkaXNwbGF5LWtkMDk3ZDA0LmMKPiA+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1raW5nZGlzcGxheS1rZDA5N2QwNC5jCj4gPiBAQCAtMzMz LDcgKzMzMyw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSBkZWZhdWx0 X21vZGUgPSB7Cj4gPiAgCS52cmVmcmVzaCA9IDYwLAo+ID4gIH07Cj4gPiAgCj4gPiAtc3RhdGlj IGludCBraW5nZGlzcGxheV9wYW5lbF9nZXRfbW9kZXMoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwp Cj4gPiArc3RhdGljIGludCBraW5nZGlzcGxheV9wYW5lbF9nZXRfbW9kZXMoc3RydWN0IGRybV9w YW5lbCAqcGFuZWwsCj4gPiArCQkJCSAgICAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVj dG9yKQo+ID4gIHsKPiA+ICAJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGU7Cj4gPiAgCj4g PiBAQCAtMzQ3LDExICszNDgsMTEgQEAgc3RhdGljIGludCBraW5nZGlzcGxheV9wYW5lbF9nZXRf bW9kZXMoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpCj4gPiAgCj4gPiAgCWRybV9tb2RlX3NldF9u YW1lKG1vZGUpOwo+ID4gIAo+ID4gLQlkcm1fbW9kZV9wcm9iZWRfYWRkKHBhbmVsLT5jb25uZWN0 b3IsIG1vZGUpOwo+ID4gKwlkcm1fbW9kZV9wcm9iZWRfYWRkKGNvbm5lY3RvciwgbW9kZSk7Cj4g PiAgCj4gPiAtCXBhbmVsLT5jb25uZWN0b3ItPmRpc3BsYXlfaW5mby53aWR0aF9tbSA9IDE0NzsK PiA+IC0JcGFuZWwtPmNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLmhlaWdodF9tbSA9IDE5NjsKPiA+ IC0JcGFuZWwtPmNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLmJwYyA9IDg7Cj4gPiArCWNvbm5lY3Rv ci0+ZGlzcGxheV9pbmZvLndpZHRoX21tID0gMTQ3Owo+ID4gKwljb25uZWN0b3ItPmRpc3BsYXlf aW5mby5oZWlnaHRfbW0gPSAxOTY7Cj4gPiArCWNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLmJwYyA9 IDg7Cj4gPiAgCj4gPiAgCXJldHVybiAxOwo+ID4gIH0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vcGFuZWwvcGFuZWwtbGctbGIwMzVxMDIuYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5l bC9wYW5lbC1sZy1sYjAzNXEwMi5jCj4gPiBpbmRleCA3YTEzODVlODM0ZjAuLjdhM2JkNGQ4MGM3 OSAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1sZy1sYjAzNXEw Mi5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtbGctbGIwMzVxMDIuYwo+ ID4gQEAgLTE0MSw5ICsxNDEsOSBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21v ZGUgbGIwMzVxMDJfbW9kZSA9IHsKPiA+ICAJLmhlaWdodF9tbSA9IDUzLAo+ID4gIH07Cj4gPiAg Cj4gPiAtc3RhdGljIGludCBsYjAzNXEwMl9nZXRfbW9kZXMoc3RydWN0IGRybV9wYW5lbCAqcGFu ZWwpCj4gPiArc3RhdGljIGludCBsYjAzNXEwMl9nZXRfbW9kZXMoc3RydWN0IGRybV9wYW5lbCAq cGFuZWwsCj4gPiArCQkJICAgICAgc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiA+ ICB7Cj4gPiAtCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IgPSBwYW5lbC0+Y29ubmVj dG9yOwo+ID4gIAlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZTsKPiA+ICAKPiA+ICAJbW9k ZSA9IGRybV9tb2RlX2R1cGxpY2F0ZShwYW5lbC0+ZHJtLCAmbGIwMzVxMDJfbW9kZSk7Cj4gPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWxnLWxnNDU3My5jIGIvZHJp dmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWxnLWxnNDU3My5jCj4gPiBpbmRleCBkYjQ4NjVhNGMy YjkuLmZjNjU3MmI0ZTJmOSAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9w YW5lbC1sZy1sZzQ1NzMuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWxn LWxnNDU3My5jCj4gPiBAQCAtMjA5LDkgKzIwOSw5IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJt X2Rpc3BsYXlfbW9kZSBkZWZhdWx0X21vZGUgPSB7Cj4gPiAgCS52cmVmcmVzaCA9IDYwLAo+ID4g IH07Cj4gPiAgCj4gPiAtc3RhdGljIGludCBsZzQ1NzNfZ2V0X21vZGVzKHN0cnVjdCBkcm1fcGFu ZWwgKnBhbmVsKQo+ID4gK3N0YXRpYyBpbnQgbGc0NTczX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX3Bh bmVsICpwYW5lbCwKPiA+ICsJCQkgICAgc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikK PiA+ICB7Cj4gPiAtCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IgPSBwYW5lbC0+Y29u bmVjdG9yOwo+ID4gIAlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZTsKPiA+ICAKPiA+ICAJ bW9kZSA9IGRybV9tb2RlX2R1cGxpY2F0ZShwYW5lbC0+ZHJtLCAmZGVmYXVsdF9tb2RlKTsKPiA+ IEBAIC0yMjcsOCArMjI3LDggQEAgc3RhdGljIGludCBsZzQ1NzNfZ2V0X21vZGVzKHN0cnVjdCBk cm1fcGFuZWwgKnBhbmVsKQo+ID4gIAltb2RlLT50eXBlID0gRFJNX01PREVfVFlQRV9EUklWRVIg fCBEUk1fTU9ERV9UWVBFX1BSRUZFUlJFRDsKPiA+ICAJZHJtX21vZGVfcHJvYmVkX2FkZChjb25u ZWN0b3IsIG1vZGUpOwo+ID4gIAo+ID4gLQlwYW5lbC0+Y29ubmVjdG9yLT5kaXNwbGF5X2luZm8u d2lkdGhfbW0gPSA2MTsKPiA+IC0JcGFuZWwtPmNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLmhlaWdo dF9tbSA9IDEwMzsKPiA+ICsJY29ubmVjdG9yLT5kaXNwbGF5X2luZm8ud2lkdGhfbW0gPSA2MTsK PiA+ICsJY29ubmVjdG9yLT5kaXNwbGF5X2luZm8uaGVpZ2h0X21tID0gMTAzOwo+ID4gIAo+ID4g IAlyZXR1cm4gMTsKPiA+ICB9Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVs L3BhbmVsLWx2ZHMuYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1sdmRzLmMKPiA+IGlu ZGV4IDI0MDVmMjZlNWQzMS4uZjZkNThhNjBlNTE0IDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL3BhbmVsL3BhbmVsLWx2ZHMuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVs L3BhbmVsLWx2ZHMuYwo+ID4gQEAgLTEwNiwxMCArMTA2LDEwIEBAIHN0YXRpYyBpbnQgcGFuZWxf bHZkc19lbmFibGUoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpCj4gPiAgCXJldHVybiAwOwo+ID4g IH0KPiA+ICAKPiA+IC1zdGF0aWMgaW50IHBhbmVsX2x2ZHNfZ2V0X21vZGVzKHN0cnVjdCBkcm1f cGFuZWwgKnBhbmVsKQo+ID4gK3N0YXRpYyBpbnQgcGFuZWxfbHZkc19nZXRfbW9kZXMoc3RydWN0 IGRybV9wYW5lbCAqcGFuZWwsCj4gPiArCQkJCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0 b3IpCj4gPiAgewo+ID4gIAlzdHJ1Y3QgcGFuZWxfbHZkcyAqbHZkcyA9IHRvX3BhbmVsX2x2ZHMo cGFuZWwpOwo+ID4gLQlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yID0gbHZkcy0+cGFu ZWwuY29ubmVjdG9yOwo+ID4gIAlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZTsKPiA+ICAK PiA+ICAJbW9kZSA9IGRybV9tb2RlX2NyZWF0ZShsdmRzLT5wYW5lbC5kcm0pOwo+ID4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1uZWMtbmw4MDQ4aGwxMS5jIGIvZHJp dmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLW5lYy1ubDgwNDhobDExLmMKPiA+IGluZGV4IGZkNTkz NTMyYWIyMy4uYTZjY2RiMDlhYWNlIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Bh bmVsL3BhbmVsLW5lYy1ubDgwNDhobDExLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5l bC9wYW5lbC1uZWMtbmw4MDQ4aGwxMS5jCj4gPiBAQCAtMTIzLDkgKzEyMyw5IEBAIHN0YXRpYyBj b25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSBubDgwNDhfbW9kZSA9IHsKPiA+ICAJLmhlaWdo dF9tbSA9IDUzLAo+ID4gIH07Cj4gPiAgCj4gPiAtc3RhdGljIGludCBubDgwNDhfZ2V0X21vZGVz KHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQo+ID4gK3N0YXRpYyBpbnQgbmw4MDQ4X2dldF9tb2Rl cyhzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCwKPiA+ICsJCQkgICAgc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3RvcikKPiA+ICB7Cj4gPiAtCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0 b3IgPSBwYW5lbC0+Y29ubmVjdG9yOwo+ID4gIAlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9k ZTsKPiA+ICAKPiA+ICAJbW9kZSA9IGRybV9tb2RlX2R1cGxpY2F0ZShwYW5lbC0+ZHJtLCAmbmw4 MDQ4X21vZGUpOwo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1u b3ZhdGVrLW50MzkwMTYuYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1ub3ZhdGVrLW50 MzkwMTYuYwo+ID4gaW5kZXggNjBjY2VkY2U1MzBjLi45MWVhNDljMDU2MTEgMTAwNjQ0Cj4gPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtbm92YXRlay1udDM5MDE2LmMKPiA+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1ub3ZhdGVrLW50MzkwMTYuYwo+ID4gQEAg LTIwNiwxMSArMjA2LDExIEBAIHN0YXRpYyBpbnQgbnQzOTAxNl9kaXNhYmxlKHN0cnVjdCBkcm1f cGFuZWwgKmRybV9wYW5lbCkKPiA+ICAJcmV0dXJuIDA7Cj4gPiAgfQo+ID4gIAo+ID4gLXN0YXRp YyBpbnQgbnQzOTAxNl9nZXRfbW9kZXMoc3RydWN0IGRybV9wYW5lbCAqZHJtX3BhbmVsKQo+ID4g K3N0YXRpYyBpbnQgbnQzOTAxNl9nZXRfbW9kZXMoc3RydWN0IGRybV9wYW5lbCAqZHJtX3BhbmVs LAo+ID4gKwkJCSAgICAgc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiA+ICB7Cj4g PiAgCXN0cnVjdCBudDM5MDE2ICpwYW5lbCA9IHRvX250MzkwMTYoZHJtX3BhbmVsKTsKPiA+ICAJ Y29uc3Qgc3RydWN0IG50MzkwMTZfcGFuZWxfaW5mbyAqcGFuZWxfaW5mbyA9IHBhbmVsLT5wYW5l bF9pbmZvOwo+ID4gLQlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yID0gZHJtX3BhbmVs LT5jb25uZWN0b3I7Cj4gPiAgCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlOwo+ID4gIAo+ ID4gIAltb2RlID0gZHJtX21vZGVfZHVwbGljYXRlKGRybV9wYW5lbC0+ZHJtLCAmcGFuZWxfaW5m by0+ZGlzcGxheV9tb2RlKTsKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwv cGFuZWwtb2xpbWV4LWxjZC1vbGludXhpbm8uYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5l bC1vbGltZXgtbGNkLW9saW51eGluby5jCj4gPiBpbmRleCA4NzM4ZWYxYjY2ZGMuLjJiN2UwZGZl YmM1ZSAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1vbGltZXgt bGNkLW9saW51eGluby5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtb2xp bWV4LWxjZC1vbGludXhpbm8uYwo+ID4gQEAgLTE0MSwxMCArMTQxLDEwIEBAIHN0YXRpYyBpbnQg bGNkX29saW51eGlub19lbmFibGUoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpCj4gPiAgCXJldHVy biAwOwo+ID4gIH0KPiA+ICAKPiA+IC1zdGF0aWMgaW50IGxjZF9vbGludXhpbm9fZ2V0X21vZGVz KHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQo+ID4gK3N0YXRpYyBpbnQgbGNkX29saW51eGlub19n ZXRfbW9kZXMoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwsCj4gPiArCQkJCSAgIHN0cnVjdCBkcm1f Y29ubmVjdG9yICpjb25uZWN0b3IpCj4gPiAgewo+ID4gIAlzdHJ1Y3QgbGNkX29saW51eGlubyAq bGNkID0gdG9fbGNkX29saW51eGlubyhwYW5lbCk7Cj4gPiAtCXN0cnVjdCBkcm1fY29ubmVjdG9y ICpjb25uZWN0b3IgPSBsY2QtPnBhbmVsLmNvbm5lY3RvcjsKPiA+ICAJc3RydWN0IGxjZF9vbGlu dXhpbm9faW5mbyAqbGNkX2luZm8gPSAmbGNkLT5lZXByb20uaW5mbzsKPiA+ICAJc3RydWN0IGRy bV9kZXZpY2UgKmRybSA9IGxjZC0+cGFuZWwuZHJtOwo+ID4gIAlzdHJ1Y3QgbGNkX29saW51eGlu b19tb2RlICpsY2RfbW9kZTsKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwv cGFuZWwtb3Jpc2V0ZWNoLW90bTgwMDlhLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwt b3Jpc2V0ZWNoLW90bTgwMDlhLmMKPiA+IGluZGV4IGJmMWY5MjhiMjE1Zi4uNGUxNjA2Yzc5MDcy IDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLW9yaXNldGVjaC1v dG04MDA5YS5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtb3Jpc2V0ZWNo LW90bTgwMDlhLmMKPiA+IEBAIC0zNDksNyArMzQ5LDggQEAgc3RhdGljIGludCBvdG04MDA5YV9l bmFibGUoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpCj4gPiAgCXJldHVybiAwOwo+ID4gIH0KPiA+ ICAKPiA+IC1zdGF0aWMgaW50IG90bTgwMDlhX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX3BhbmVsICpw YW5lbCkKPiA+ICtzdGF0aWMgaW50IG90bTgwMDlhX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX3BhbmVs ICpwYW5lbCwKPiA+ICsJCQkgICAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ ID4gIHsKPiA+ICAJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGU7Cj4gPiAgCj4gPiBAQCAt MzY0LDEwICszNjUsMTAgQEAgc3RhdGljIGludCBvdG04MDA5YV9nZXRfbW9kZXMoc3RydWN0IGRy bV9wYW5lbCAqcGFuZWwpCj4gPiAgCWRybV9tb2RlX3NldF9uYW1lKG1vZGUpOwo+ID4gIAo+ID4g IAltb2RlLT50eXBlID0gRFJNX01PREVfVFlQRV9EUklWRVIgfCBEUk1fTU9ERV9UWVBFX1BSRUZF UlJFRDsKPiA+IC0JZHJtX21vZGVfcHJvYmVkX2FkZChwYW5lbC0+Y29ubmVjdG9yLCBtb2RlKTsK PiA+ICsJZHJtX21vZGVfcHJvYmVkX2FkZChjb25uZWN0b3IsIG1vZGUpOwo+ID4gIAo+ID4gLQlw YW5lbC0+Y29ubmVjdG9yLT5kaXNwbGF5X2luZm8ud2lkdGhfbW0gPSBtb2RlLT53aWR0aF9tbTsK PiA+IC0JcGFuZWwtPmNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLmhlaWdodF9tbSA9IG1vZGUtPmhl aWdodF9tbTsKPiA+ICsJY29ubmVjdG9yLT5kaXNwbGF5X2luZm8ud2lkdGhfbW0gPSBtb2RlLT53 aWR0aF9tbTsKPiA+ICsJY29ubmVjdG9yLT5kaXNwbGF5X2luZm8uaGVpZ2h0X21tID0gbW9kZS0+ aGVpZ2h0X21tOwo+ID4gIAo+ID4gIAlyZXR1cm4gMTsKPiA+ICB9Cj4gPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLW9zZC1vc2QxMDF0MjU4Ny01M3RzLmMgYi9kcml2 ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtb3NkLW9zZDEwMXQyNTg3LTUzdHMuYwo+ID4gaW5kZXgg MmI0MDkxMzg5OWQ4Li5iM2UwMTAyODhjMTAgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vcGFuZWwvcGFuZWwtb3NkLW9zZDEwMXQyNTg3LTUzdHMuYwo+ID4gKysrIGIvZHJpdmVycy9n cHUvZHJtL3BhbmVsL3BhbmVsLW9zZC1vc2QxMDF0MjU4Ny01M3RzLmMKPiA+IEBAIC0xMTIsNyAr MTEyLDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlIGRlZmF1bHRfbW9k ZV9vc2QxMDF0MjU4NyA9IHsKPiA+ICAJLmZsYWdzID0gRFJNX01PREVfRkxBR19OSFNZTkMgfCBE Uk1fTU9ERV9GTEFHX05WU1lOQywKPiA+ICB9Owo+ID4gIAo+ID4gLXN0YXRpYyBpbnQgb3NkMTAx dDI1ODdfcGFuZWxfZ2V0X21vZGVzKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQo+ID4gK3N0YXRp YyBpbnQgb3NkMTAxdDI1ODdfcGFuZWxfZ2V0X21vZGVzKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVs LAo+ID4gKwkJCQkgICAgICAgc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiA+ICB7 Cj4gPiAgCXN0cnVjdCBvc2QxMDF0MjU4N19wYW5lbCAqb3NkMTAxdDI1ODcgPSB0aV9vc2RfcGFu ZWwocGFuZWwpOwo+ID4gIAlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZTsKPiA+IEBAIC0x MjgsMTAgKzEyOSwxMCBAQCBzdGF0aWMgaW50IG9zZDEwMXQyNTg3X3BhbmVsX2dldF9tb2Rlcyhz dHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCkKPiA+ICAKPiA+ICAJZHJtX21vZGVfc2V0X25hbWUobW9k ZSk7Cj4gPiAgCj4gPiAtCWRybV9tb2RlX3Byb2JlZF9hZGQocGFuZWwtPmNvbm5lY3RvciwgbW9k ZSk7Cj4gPiArCWRybV9tb2RlX3Byb2JlZF9hZGQoY29ubmVjdG9yLCBtb2RlKTsKPiA+ICAKPiA+ IC0JcGFuZWwtPmNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLndpZHRoX21tID0gMjE3Owo+ID4gLQlw YW5lbC0+Y29ubmVjdG9yLT5kaXNwbGF5X2luZm8uaGVpZ2h0X21tID0gMTM2Owo+ID4gKwljb25u ZWN0b3ItPmRpc3BsYXlfaW5mby53aWR0aF9tbSA9IDIxNzsKPiA+ICsJY29ubmVjdG9yLT5kaXNw bGF5X2luZm8uaGVpZ2h0X21tID0gMTM2Owo+ID4gIAo+ID4gIAlyZXR1cm4gMTsKPiA+ICB9Cj4g PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXBhbmFzb25pYy12dngx MGYwMzRuMDAuYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1wYW5hc29uaWMtdnZ4MTBm MDM0bjAwLmMKPiA+IGluZGV4IDY2NDYwNTA3MWQzNC4uMTlhNmViNDYzN2M4IDEwMDY0NAo+ID4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXBhbmFzb25pYy12dngxMGYwMzRuMDAu Ywo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXBhbmFzb25pYy12dngxMGYw MzRuMDAuYwo+ID4gQEAgLTE2Niw3ICsxNjYsOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9k aXNwbGF5X21vZGUgZGVmYXVsdF9tb2RlID0gewo+ID4gIAkudnJlZnJlc2ggPSA2MCwKPiA+ICB9 Owo+ID4gIAo+ID4gLXN0YXRpYyBpbnQgd3V4Z2FfbnRfcGFuZWxfZ2V0X21vZGVzKHN0cnVjdCBk cm1fcGFuZWwgKnBhbmVsKQo+ID4gK3N0YXRpYyBpbnQgd3V4Z2FfbnRfcGFuZWxfZ2V0X21vZGVz KHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsLAo+ID4gKwkJCQkgICAgc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3RvcikKPiA+ICB7Cj4gPiAgCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2Rl Owo+ID4gIAo+ID4gQEAgLTE4MCwxMCArMTgxLDEwIEBAIHN0YXRpYyBpbnQgd3V4Z2FfbnRfcGFu ZWxfZ2V0X21vZGVzKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQo+ID4gIAo+ID4gIAlkcm1fbW9k ZV9zZXRfbmFtZShtb2RlKTsKPiA+ICAKPiA+IC0JZHJtX21vZGVfcHJvYmVkX2FkZChwYW5lbC0+ Y29ubmVjdG9yLCBtb2RlKTsKPiA+ICsJZHJtX21vZGVfcHJvYmVkX2FkZChjb25uZWN0b3IsIG1v ZGUpOwo+ID4gIAo+ID4gLQlwYW5lbC0+Y29ubmVjdG9yLT5kaXNwbGF5X2luZm8ud2lkdGhfbW0g PSAyMTc7Cj4gPiAtCXBhbmVsLT5jb25uZWN0b3ItPmRpc3BsYXlfaW5mby5oZWlnaHRfbW0gPSAx MzY7Cj4gPiArCWNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLndpZHRoX21tID0gMjE3Owo+ID4gKwlj b25uZWN0b3ItPmRpc3BsYXlfaW5mby5oZWlnaHRfbW0gPSAxMzY7Cj4gPiAgCj4gPiAgCXJldHVy biAxOwo+ID4gIH0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwt cmFzcGJlcnJ5cGktdG91Y2hzY3JlZW4uYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1y YXNwYmVycnlwaS10b3VjaHNjcmVlbi5jCj4gPiBpbmRleCAwOTgyNGU5MmZjNzguLjczMmI3MTEx Mzk1ZSAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1yYXNwYmVy cnlwaS10b3VjaHNjcmVlbi5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwt cmFzcGJlcnJ5cGktdG91Y2hzY3JlZW4uYwo+ID4gQEAgLTMxMSw5ICszMTEsOSBAQCBzdGF0aWMg aW50IHJwaV90b3VjaHNjcmVlbl9lbmFibGUoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpCj4gPiAg CXJldHVybiAwOwo+ID4gIH0KPiA+ICAKPiA+IC1zdGF0aWMgaW50IHJwaV90b3VjaHNjcmVlbl9n ZXRfbW9kZXMoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpCj4gPiArc3RhdGljIGludCBycGlfdG91 Y2hzY3JlZW5fZ2V0X21vZGVzKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsLAo+ID4gKwkJCQkgICAg IHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gPiAgewo+ID4gLQlzdHJ1Y3QgZHJt X2Nvbm5lY3RvciAqY29ubmVjdG9yID0gcGFuZWwtPmNvbm5lY3RvcjsKPiA+ICAJc3RydWN0IGRy bV9kZXZpY2UgKmRybSA9IHBhbmVsLT5kcm07Cj4gPiAgCXVuc2lnbmVkIGludCBpLCBudW0gPSAw Owo+ID4gIAlzdGF0aWMgY29uc3QgdTMyIGJ1c19mb3JtYXQgPSBNRURJQV9CVVNfRk1UX1JHQjg4 OF8xWDI0Owo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1yYXlk aXVtLXJtNjcxOTEuYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1yYXlkaXVtLXJtNjcx OTEuYwo+ID4gaW5kZXggZmQ2N2ZjNjE4NWM0Li4xMjNiYjY4Y2ZjYjcgMTAwNjQ0Cj4gPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtcmF5ZGl1bS1ybTY3MTkxLmMKPiA+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1yYXlkaXVtLXJtNjcxOTEuYwo+ID4gQEAgLTQz Niw5ICs0MzYsOSBAQCBzdGF0aWMgaW50IHJhZF9wYW5lbF9kaXNhYmxlKHN0cnVjdCBkcm1fcGFu ZWwgKnBhbmVsKQo+ID4gIAlyZXR1cm4gMDsKPiA+ICB9Cj4gPiAgCj4gPiAtc3RhdGljIGludCBy YWRfcGFuZWxfZ2V0X21vZGVzKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQo+ID4gK3N0YXRpYyBp bnQgcmFkX3BhbmVsX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCwKPiA+ICsJCQkg ICAgICAgc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiA+ICB7Cj4gPiAtCXN0cnVj dCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IgPSBwYW5lbC0+Y29ubmVjdG9yOwo+ID4gIAlzdHJ1 Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZTsKPiA+ICAKPiA+ICAJbW9kZSA9IGRybV9tb2RlX2R1 cGxpY2F0ZShwYW5lbC0+ZHJtLCAmZGVmYXVsdF9tb2RlKTsKPiA+IEBAIC00NTEsNyArNDUxLDcg QEAgc3RhdGljIGludCByYWRfcGFuZWxfZ2V0X21vZGVzKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVs KQo+ID4gIAo+ID4gIAlkcm1fbW9kZV9zZXRfbmFtZShtb2RlKTsKPiA+ICAJbW9kZS0+dHlwZSA9 IERSTV9NT0RFX1RZUEVfRFJJVkVSIHwgRFJNX01PREVfVFlQRV9QUkVGRVJSRUQ7Cj4gPiAtCWRy bV9tb2RlX3Byb2JlZF9hZGQocGFuZWwtPmNvbm5lY3RvciwgbW9kZSk7Cj4gPiArCWRybV9tb2Rl X3Byb2JlZF9hZGQoY29ubmVjdG9yLCBtb2RlKTsKPiA+ICAKPiA+ICAJY29ubmVjdG9yLT5kaXNw bGF5X2luZm8ud2lkdGhfbW0gPSBtb2RlLT53aWR0aF9tbTsKPiA+ICAJY29ubmVjdG9yLT5kaXNw bGF5X2luZm8uaGVpZ2h0X21tID0gbW9kZS0+aGVpZ2h0X21tOwo+ID4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1yYXlkaXVtLXJtNjgyMDAuYyBiL2RyaXZlcnMvZ3B1 L2RybS9wYW5lbC9wYW5lbC1yYXlkaXVtLXJtNjgyMDAuYwo+ID4gaW5kZXggOTk0ZTg1NTcyMWY0 Li42NmZhOTc1MzA4ZWMgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFu ZWwtcmF5ZGl1bS1ybTY4MjAwLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5l bC1yYXlkaXVtLXJtNjgyMDAuYwo+ID4gQEAgLTMzNSw3ICszMzUsOCBAQCBzdGF0aWMgaW50IHJt NjgyMDBfZW5hYmxlKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQo+ID4gIAlyZXR1cm4gMDsKPiA+ ICB9Cj4gPiAgCj4gPiAtc3RhdGljIGludCBybTY4MjAwX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX3Bh bmVsICpwYW5lbCkKPiA+ICtzdGF0aWMgaW50IHJtNjgyMDBfZ2V0X21vZGVzKHN0cnVjdCBkcm1f cGFuZWwgKnBhbmVsLAo+ID4gKwkJCSAgICAgc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rv cikKPiA+ICB7Cj4gPiAgCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlOwo+ID4gIAo+ID4g QEAgLTM1MCwxMCArMzUxLDEwIEBAIHN0YXRpYyBpbnQgcm02ODIwMF9nZXRfbW9kZXMoc3RydWN0 IGRybV9wYW5lbCAqcGFuZWwpCj4gPiAgCWRybV9tb2RlX3NldF9uYW1lKG1vZGUpOwo+ID4gIAo+ ID4gIAltb2RlLT50eXBlID0gRFJNX01PREVfVFlQRV9EUklWRVIgfCBEUk1fTU9ERV9UWVBFX1BS RUZFUlJFRDsKPiA+IC0JZHJtX21vZGVfcHJvYmVkX2FkZChwYW5lbC0+Y29ubmVjdG9yLCBtb2Rl KTsKPiA+ICsJZHJtX21vZGVfcHJvYmVkX2FkZChjb25uZWN0b3IsIG1vZGUpOwo+ID4gIAo+ID4g LQlwYW5lbC0+Y29ubmVjdG9yLT5kaXNwbGF5X2luZm8ud2lkdGhfbW0gPSBtb2RlLT53aWR0aF9t bTsKPiA+IC0JcGFuZWwtPmNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLmhlaWdodF9tbSA9IG1vZGUt PmhlaWdodF9tbTsKPiA+ICsJY29ubmVjdG9yLT5kaXNwbGF5X2luZm8ud2lkdGhfbW0gPSBtb2Rl LT53aWR0aF9tbTsKPiA+ICsJY29ubmVjdG9yLT5kaXNwbGF5X2luZm8uaGVpZ2h0X21tID0gbW9k ZS0+aGVpZ2h0X21tOwo+ID4gIAo+ID4gIAlyZXR1cm4gMTsKPiA+ICB9Cj4gPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXJvY2t0ZWNoLWpoMDU3bjAwOTAwLmMgYi9k cml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtcm9ja3RlY2gtamgwNTduMDA5MDAuYwo+ID4gaW5k ZXggMzEyMzRiNzlkM2IxLi5iMmQ2MWNhYjNjYWQgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vcGFuZWwvcGFuZWwtcm9ja3RlY2gtamgwNTduMDA5MDAuYwo+ID4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL3BhbmVsL3BhbmVsLXJvY2t0ZWNoLWpoMDU3bjAwOTAwLmMKPiA+IEBAIC0yMzAs NyArMjMwLDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlIGRlZmF1bHRf bW9kZSA9IHsKPiA+ICAJLmhlaWdodF9tbSAgID0gMTMwLAo+ID4gIH07Cj4gPiAgCj4gPiAtc3Rh dGljIGludCBqaDA1N25fZ2V0X21vZGVzKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQo+ID4gK3N0 YXRpYyBpbnQgamgwNTduX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCwKPiA+ICsJ CQkgICAgc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiA+ICB7Cj4gPiAgCXN0cnVj dCBqaDA1N24gKmN0eCA9IHBhbmVsX3RvX2poMDU3bihwYW5lbCk7Cj4gPiAgCXN0cnVjdCBkcm1f ZGlzcGxheV9tb2RlICptb2RlOwo+ID4gQEAgLTI0Niw5ICsyNDcsOSBAQCBzdGF0aWMgaW50IGpo MDU3bl9nZXRfbW9kZXMoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpCj4gPiAgCWRybV9tb2RlX3Nl dF9uYW1lKG1vZGUpOwo+ID4gIAo+ID4gIAltb2RlLT50eXBlID0gRFJNX01PREVfVFlQRV9EUklW RVIgfCBEUk1fTU9ERV9UWVBFX1BSRUZFUlJFRDsKPiA+IC0JcGFuZWwtPmNvbm5lY3Rvci0+ZGlz cGxheV9pbmZvLndpZHRoX21tID0gbW9kZS0+d2lkdGhfbW07Cj4gPiAtCXBhbmVsLT5jb25uZWN0 b3ItPmRpc3BsYXlfaW5mby5oZWlnaHRfbW0gPSBtb2RlLT5oZWlnaHRfbW07Cj4gPiAtCWRybV9t b2RlX3Byb2JlZF9hZGQocGFuZWwtPmNvbm5lY3RvciwgbW9kZSk7Cj4gPiArCWNvbm5lY3Rvci0+ ZGlzcGxheV9pbmZvLndpZHRoX21tID0gbW9kZS0+d2lkdGhfbW07Cj4gPiArCWNvbm5lY3Rvci0+ ZGlzcGxheV9pbmZvLmhlaWdodF9tbSA9IG1vZGUtPmhlaWdodF9tbTsKPiA+ICsJZHJtX21vZGVf cHJvYmVkX2FkZChjb25uZWN0b3IsIG1vZGUpOwo+ID4gIAo+ID4gIAlyZXR1cm4gMTsKPiA+ICB9 Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXJvbmJvLXJiMDcw ZDMwLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtcm9uYm8tcmIwNzBkMzAuYwo+ID4g aW5kZXggMTcwYTVjZGEyMWI5Li41N2E0NjJjZTIyMWUgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vcGFuZWwvcGFuZWwtcm9uYm8tcmIwNzBkMzAuYwo+ID4gKysrIGIvZHJpdmVycy9n cHUvZHJtL3BhbmVsL3BhbmVsLXJvbmJvLXJiMDcwZDMwLmMKPiA+IEBAIC0xMjAsOSArMTIwLDkg QEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlIGRlZmF1bHRfbW9kZSA9IHsK PiA+ICAJLmhlaWdodF9tbQk9IDg1LAo+ID4gIH07Cj4gPiAgCj4gPiAtc3RhdGljIGludCByYjA3 MGQzMF9wYW5lbF9nZXRfbW9kZXMoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpCj4gPiArc3RhdGlj IGludCByYjA3MGQzMF9wYW5lbF9nZXRfbW9kZXMoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwsCj4g PiArCQkJCSAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ID4gIHsKPiA+IC0J c3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciA9IHBhbmVsLT5jb25uZWN0b3I7Cj4gPiAg CXN0cnVjdCByYjA3MGQzMF9wYW5lbCAqY3R4ID0gcGFuZWxfdG9fcmIwNzBkMzBfcGFuZWwocGFu ZWwpOwo+ID4gIAlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZTsKPiA+ICAJc3RhdGljIGNv bnN0IHUzMiBidXNfZm9ybWF0ID0gTUVESUFfQlVTX0ZNVF9SR0I4ODhfMVgyNDsKPiA+IEBAIC0x NDAsOSArMTQwLDkgQEAgc3RhdGljIGludCByYjA3MGQzMF9wYW5lbF9nZXRfbW9kZXMoc3RydWN0 IGRybV9wYW5lbCAqcGFuZWwpCj4gPiAgCW1vZGUtPnR5cGUgPSBEUk1fTU9ERV9UWVBFX0RSSVZF UiB8IERSTV9NT0RFX1RZUEVfUFJFRkVSUkVEOwo+ID4gIAlkcm1fbW9kZV9wcm9iZWRfYWRkKGNv bm5lY3RvciwgbW9kZSk7Cj4gPiAgCj4gPiAtCXBhbmVsLT5jb25uZWN0b3ItPmRpc3BsYXlfaW5m by5icGMgPSA4Owo+ID4gLQlwYW5lbC0+Y29ubmVjdG9yLT5kaXNwbGF5X2luZm8ud2lkdGhfbW0g PSBtb2RlLT53aWR0aF9tbTsKPiA+IC0JcGFuZWwtPmNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLmhl aWdodF9tbSA9IG1vZGUtPmhlaWdodF9tbTsKPiA+ICsJY29ubmVjdG9yLT5kaXNwbGF5X2luZm8u YnBjID0gODsKPiA+ICsJY29ubmVjdG9yLT5kaXNwbGF5X2luZm8ud2lkdGhfbW0gPSBtb2RlLT53 aWR0aF9tbTsKPiA+ICsJY29ubmVjdG9yLT5kaXNwbGF5X2luZm8uaGVpZ2h0X21tID0gbW9kZS0+ aGVpZ2h0X21tOwo+ID4gIAlkcm1fZGlzcGxheV9pbmZvX3NldF9idXNfZm9ybWF0cygmY29ubmVj dG9yLT5kaXNwbGF5X2luZm8sCj4gPiAgCQkJCQkgJmJ1c19mb3JtYXQsIDEpOwo+ID4gIAo+ID4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zYW1zdW5nLWxkOTA0MC5j IGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNhbXN1bmctbGQ5MDQwLmMKPiA+IGluZGV4 IDI1MDgwOWJhMzdjNy4uM2M1MmYxNWY3YTFjIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL3BhbmVsL3BhbmVsLXNhbXN1bmctbGQ5MDQwLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9wYW5lbC9wYW5lbC1zYW1zdW5nLWxkOTA0MC5jCj4gPiBAQCAtMjYxLDkgKzI2MSw5IEBAIHN0 YXRpYyBpbnQgbGQ5MDQwX2VuYWJsZShzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCkKPiA+ICAJcmV0 dXJuIDA7Cj4gPiAgfQo+ID4gIAo+ID4gLXN0YXRpYyBpbnQgbGQ5MDQwX2dldF9tb2RlcyhzdHJ1 Y3QgZHJtX3BhbmVsICpwYW5lbCkKPiA+ICtzdGF0aWMgaW50IGxkOTA0MF9nZXRfbW9kZXMoc3Ry dWN0IGRybV9wYW5lbCAqcGFuZWwsCj4gPiArCQkJICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yICpj b25uZWN0b3IpCj4gPiAgewo+ID4gLQlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yID0g cGFuZWwtPmNvbm5lY3RvcjsKPiA+ICAJc3RydWN0IGxkOTA0MCAqY3R4ID0gcGFuZWxfdG9fbGQ5 MDQwKHBhbmVsKTsKPiA+ICAJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGU7Cj4gPiAgCj4g PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNhbXN1bmctczZkMTZk MC5jIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNhbXN1bmctczZkMTZkMC5jCj4gPiBp bmRleCBlM2EwMzk3ZTk1M2UuLjcxOTM5YWI3NTdiMSAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9wYW5lbC9wYW5lbC1zYW1zdW5nLXM2ZDE2ZDAuYwo+ID4gKysrIGIvZHJpdmVycy9n cHUvZHJtL3BhbmVsL3BhbmVsLXNhbXN1bmctczZkMTZkMC5jCj4gPiBAQCAtMTQzLDkgKzE0Myw5 IEBAIHN0YXRpYyBpbnQgczZkMTZkMF9kaXNhYmxlKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQo+ ID4gIAlyZXR1cm4gMDsKPiA+ICB9Cj4gPiAgCj4gPiAtc3RhdGljIGludCBzNmQxNmQwX2dldF9t b2RlcyhzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCkKPiA+ICtzdGF0aWMgaW50IHM2ZDE2ZDBfZ2V0 X21vZGVzKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsLAo+ID4gKwkJCSAgICAgc3RydWN0IGRybV9j b25uZWN0b3IgKmNvbm5lY3RvcikKPiA+ICB7Cj4gPiAtCXN0cnVjdCBkcm1fY29ubmVjdG9yICpj b25uZWN0b3IgPSBwYW5lbC0+Y29ubmVjdG9yOwo+ID4gIAlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9k ZSAqbW9kZTsKPiA+ICAKPiA+ICAJbW9kZSA9IGRybV9tb2RlX2R1cGxpY2F0ZShwYW5lbC0+ZHJt LCAmc2Ftc3VuZ19zNmQxNmQwX21vZGUpOwo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9wYW5lbC9wYW5lbC1zYW1zdW5nLXM2ZTNoYTIuYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9w YW5lbC1zYW1zdW5nLXM2ZTNoYTIuYwo+ID4gaW5kZXggOTM4YWI3MmM1NTQwLi44ZTAyMzZiYTYx NDUgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2Ftc3VuZy1z NmUzaGEyLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zYW1zdW5nLXM2 ZTNoYTIuYwo+ID4gQEAgLTY0NSw5ICs2NDUsOSBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHM2ZTNo YTJfcGFuZWxfZGVzYyBzYW1zdW5nX3M2ZTNoZjIgPSB7Cj4gPiAgCS50eXBlID0gSEYyX1RZUEUs Cj4gPiAgfTsKPiA+ICAKPiA+IC1zdGF0aWMgaW50IHM2ZTNoYTJfZ2V0X21vZGVzKHN0cnVjdCBk cm1fcGFuZWwgKnBhbmVsKQo+ID4gK3N0YXRpYyBpbnQgczZlM2hhMl9nZXRfbW9kZXMoc3RydWN0 IGRybV9wYW5lbCAqcGFuZWwsCj4gPiArCQkJICAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29u bmVjdG9yKQo+ID4gIHsKPiA+IC0Jc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciA9IHBh bmVsLT5jb25uZWN0b3I7Cj4gPiAgCXN0cnVjdCBzNmUzaGEyICpjdHggPSBjb250YWluZXJfb2Yo cGFuZWwsIHN0cnVjdCBzNmUzaGEyLCBwYW5lbCk7Cj4gPiAgCXN0cnVjdCBkcm1fZGlzcGxheV9t b2RlICptb2RlOwo+ID4gIAo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9w YW5lbC1zYW1zdW5nLXM2ZTYzajB4MDMuYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1z YW1zdW5nLXM2ZTYzajB4MDMuYwo+ID4gaW5kZXggYTYwNjM1ZTkyMjZkLi5jOTM5ZDViZGU0ZjAg MTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2Ftc3VuZy1zNmU2 M2oweDAzLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zYW1zdW5nLXM2 ZTYzajB4MDMuYwo+ID4gQEAgLTQwMCw5ICs0MDAsOSBAQCBzdGF0aWMgaW50IHM2ZTYzajB4MDNf ZW5hYmxlKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQo+ID4gIAlyZXR1cm4gMDsKPiA+ICB9Cj4g PiAgCj4gPiAtc3RhdGljIGludCBzNmU2M2oweDAzX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX3BhbmVs ICpwYW5lbCkKPiA+ICtzdGF0aWMgaW50IHM2ZTYzajB4MDNfZ2V0X21vZGVzKHN0cnVjdCBkcm1f cGFuZWwgKnBhbmVsLAo+ID4gKwkJCQlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ ID4gIHsKPiA+IC0Jc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciA9IHBhbmVsLT5jb25u ZWN0b3I7Cj4gPiAgCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlOwo+ID4gIAo+ID4gIAlt b2RlID0gZHJtX21vZGVfZHVwbGljYXRlKHBhbmVsLT5kcm0sICZkZWZhdWx0X21vZGUpOwo+ID4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zYW1zdW5nLXM2ZTYzbTAu YyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zYW1zdW5nLXM2ZTYzbTAuYwo+ID4gaW5k ZXggYmEwMWFmMGIxNGZkLi4xZDA5OTA5MmU3NTQgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vcGFuZWwvcGFuZWwtc2Ftc3VuZy1zNmU2M20wLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9wYW5lbC9wYW5lbC1zYW1zdW5nLXM2ZTYzbTAuYwo+ID4gQEAgLTM2Miw5ICszNjIsOSBA QCBzdGF0aWMgaW50IHM2ZTYzbTBfZW5hYmxlKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQo+ID4g IAlyZXR1cm4gMDsKPiA+ICB9Cj4gPiAgCj4gPiAtc3RhdGljIGludCBzNmU2M20wX2dldF9tb2Rl cyhzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCkKPiA+ICtzdGF0aWMgaW50IHM2ZTYzbTBfZ2V0X21v ZGVzKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsLAo+ID4gKwkJCSAgICAgc3RydWN0IGRybV9jb25u ZWN0b3IgKmNvbm5lY3RvcikKPiA+ICB7Cj4gPiAtCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25u ZWN0b3IgPSBwYW5lbC0+Y29ubmVjdG9yOwo+ID4gIAlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAq bW9kZTsKPiA+ICAKPiA+ICAJbW9kZSA9IGRybV9tb2RlX2R1cGxpY2F0ZShwYW5lbC0+ZHJtLCAm ZGVmYXVsdF9tb2RlKTsKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFu ZWwtc2Ftc3VuZy1zNmU4YWEwLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2Ftc3Vu Zy1zNmU4YWEwLmMKPiA+IGluZGV4IGRiY2VkNjUwMTIwNC4uOGEwMjhkMmJkMGQ2IDEwMDY0NAo+ ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNhbXN1bmctczZlOGFhMC5jCj4g PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2Ftc3VuZy1zNmU4YWEwLmMKPiA+ IEBAIC05MjAsOSArOTIwLDkgQEAgc3RhdGljIGludCBzNmU4YWEwX2VuYWJsZShzdHJ1Y3QgZHJt X3BhbmVsICpwYW5lbCkKPiA+ICAJcmV0dXJuIDA7Cj4gPiAgfQo+ID4gIAo+ID4gLXN0YXRpYyBp bnQgczZlOGFhMF9nZXRfbW9kZXMoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpCj4gPiArc3RhdGlj IGludCBzNmU4YWEwX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCwKPiA+ICsJCQkg ICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gPiAgewo+ID4gLQlzdHJ1Y3Qg ZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yID0gcGFuZWwtPmNvbm5lY3RvcjsKPiA+ICAJc3RydWN0 IHM2ZThhYTAgKmN0eCA9IHBhbmVsX3RvX3M2ZThhYTAocGFuZWwpOwo+ID4gIAlzdHJ1Y3QgZHJt X2Rpc3BsYXlfbW9kZSAqbW9kZTsKPiA+ICAKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vcGFuZWwvcGFuZWwtc2Vpa28tNDN3dmYxZy5jIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3Bh bmVsLXNlaWtvLTQzd3ZmMWcuYwo+ID4gaW5kZXggYjM2MTliYTQ0M2JkLi5iODc4OTMwYjE3ZTQg MTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2Vpa28tNDN3dmYx Zy5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2Vpa28tNDN3dmYxZy5j Cj4gPiBAQCAtNTYsOSArNTYsOSBAQCBzdGF0aWMgaW5saW5lIHN0cnVjdCBzZWlrb19wYW5lbCAq dG9fc2Vpa29fcGFuZWwoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpCj4gPiAgCXJldHVybiBjb250 YWluZXJfb2YocGFuZWwsIHN0cnVjdCBzZWlrb19wYW5lbCwgYmFzZSk7Cj4gPiAgfQo+ID4gIAo+ ID4gLXN0YXRpYyBpbnQgc2Vpa29fcGFuZWxfZ2V0X2ZpeGVkX21vZGVzKHN0cnVjdCBzZWlrb19w YW5lbCAqcGFuZWwpCj4gPiArc3RhdGljIGludCBzZWlrb19wYW5lbF9nZXRfZml4ZWRfbW9kZXMo c3RydWN0IHNlaWtvX3BhbmVsICpwYW5lbCwKPiA+ICsJCQkJICAgICAgIHN0cnVjdCBkcm1fY29u bmVjdG9yICpjb25uZWN0b3IpCj4gPiAgewo+ID4gLQlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29u bmVjdG9yID0gcGFuZWwtPmJhc2UuY29ubmVjdG9yOwo+ID4gIAlzdHJ1Y3QgZHJtX2RldmljZSAq ZHJtID0gcGFuZWwtPmJhc2UuZHJtOwo+ID4gIAlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9k ZTsKPiA+ICAJdW5zaWduZWQgaW50IGksIG51bSA9IDA7Cj4gPiBAQCAtMjA4LDEyICsyMDgsMTMg QEAgc3RhdGljIGludCBzZWlrb19wYW5lbF9lbmFibGUoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwp Cj4gPiAgCXJldHVybiAwOwo+ID4gIH0KPiA+ICAKPiA+IC1zdGF0aWMgaW50IHNlaWtvX3BhbmVs X2dldF9tb2RlcyhzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCkKPiA+ICtzdGF0aWMgaW50IHNlaWtv X3BhbmVsX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCwKPiA+ICsJCQkJIHN0cnVj dCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gPiAgewo+ID4gIAlzdHJ1Y3Qgc2Vpa29fcGFu ZWwgKnAgPSB0b19zZWlrb19wYW5lbChwYW5lbCk7Cj4gPiAgCj4gPiAgCS8qIGFkZCBoYXJkLWNv ZGVkIHBhbmVsIG1vZGVzICovCj4gPiAtCXJldHVybiBzZWlrb19wYW5lbF9nZXRfZml4ZWRfbW9k ZXMocCk7Cj4gPiArCXJldHVybiBzZWlrb19wYW5lbF9nZXRfZml4ZWRfbW9kZXMocCwgY29ubmVj dG9yKTsKPiA+ICB9Cj4gPiAgCj4gPiAgc3RhdGljIGludCBzZWlrb19wYW5lbF9nZXRfdGltaW5n cyhzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCwKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vcGFuZWwvcGFuZWwtc2hhcnAtbHExMDFyMXN4MDEuYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5l bC9wYW5lbC1zaGFycC1scTEwMXIxc3gwMS5jCj4gPiBpbmRleCA1ZTEzNmMzYmExODUuLmU3OTdi NzAwNjYxYSAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zaGFy cC1scTEwMXIxc3gwMS5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2hh cnAtbHExMDFyMXN4MDEuYwo+ID4gQEAgLTI3OCw3ICsyNzgsOCBAQCBzdGF0aWMgY29uc3Qgc3Ry dWN0IGRybV9kaXNwbGF5X21vZGUgZGVmYXVsdF9tb2RlID0gewo+ID4gIAkudnJlZnJlc2ggPSA2 MCwKPiA+ICB9Owo+ID4gIAo+ID4gLXN0YXRpYyBpbnQgc2hhcnBfcGFuZWxfZ2V0X21vZGVzKHN0 cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQo+ID4gK3N0YXRpYyBpbnQgc2hhcnBfcGFuZWxfZ2V0X21v ZGVzKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsLAo+ID4gKwkJCQkgc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3RvcikKPiA+ICB7Cj4gPiAgCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2Rl Owo+ID4gIAo+ID4gQEAgLTI5MiwxMCArMjkzLDEwIEBAIHN0YXRpYyBpbnQgc2hhcnBfcGFuZWxf Z2V0X21vZGVzKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQo+ID4gIAo+ID4gIAlkcm1fbW9kZV9z ZXRfbmFtZShtb2RlKTsKPiA+ICAKPiA+IC0JZHJtX21vZGVfcHJvYmVkX2FkZChwYW5lbC0+Y29u bmVjdG9yLCBtb2RlKTsKPiA+ICsJZHJtX21vZGVfcHJvYmVkX2FkZChjb25uZWN0b3IsIG1vZGUp Owo+ID4gIAo+ID4gLQlwYW5lbC0+Y29ubmVjdG9yLT5kaXNwbGF5X2luZm8ud2lkdGhfbW0gPSAy MTc7Cj4gPiAtCXBhbmVsLT5jb25uZWN0b3ItPmRpc3BsYXlfaW5mby5oZWlnaHRfbW0gPSAxMzY7 Cj4gPiArCWNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLndpZHRoX21tID0gMjE3Owo+ID4gKwljb25u ZWN0b3ItPmRpc3BsYXlfaW5mby5oZWlnaHRfbW0gPSAxMzY7Cj4gPiAgCj4gPiAgCXJldHVybiAx Owo+ID4gIH0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2hh cnAtbHMwMzd2N2R3MDEuYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zaGFycC1sczAz N3Y3ZHcwMS5jCj4gPiBpbmRleCBlZWFiNzk5OGM3ZGUuLjcxMDNhOTQ1ZjBlOCAxMDA2NDQKPiA+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zaGFycC1sczAzN3Y3ZHcwMS5jCj4g PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2hhcnAtbHMwMzd2N2R3MDEuYwo+ ID4gQEAgLTEwMCw5ICsxMDAsOSBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21v ZGUgbHMwMzd2N2R3MDFfbW9kZSA9IHsKPiA+ICAJLmhlaWdodF9tbSA9IDc1LAo+ID4gIH07Cj4g PiAgCj4gPiAtc3RhdGljIGludCBsczAzN3Y3ZHcwMV9nZXRfbW9kZXMoc3RydWN0IGRybV9wYW5l bCAqcGFuZWwpCj4gPiArc3RhdGljIGludCBsczAzN3Y3ZHcwMV9nZXRfbW9kZXMoc3RydWN0IGRy bV9wYW5lbCAqcGFuZWwsCj4gPiArCQkJCSBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9y KQo+ID4gIHsKPiA+IC0Jc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciA9IHBhbmVsLT5j b25uZWN0b3I7Cj4gPiAgCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlOwo+ID4gIAo+ID4g IAltb2RlID0gZHJtX21vZGVfZHVwbGljYXRlKHBhbmVsLT5kcm0sICZsczAzN3Y3ZHcwMV9tb2Rl KTsKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2hhcnAtbHMw NDN0MWxlMDEuYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zaGFycC1sczA0M3QxbGUw MS5jCj4gPiBpbmRleCBiOTYzYmE0YWI1ODkuLjg1YWU2Y2ZmZGJmYiAxMDA2NDQKPiA+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zaGFycC1sczA0M3QxbGUwMS5jCj4gPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2hhcnAtbHMwNDN0MWxlMDEuYwo+ID4gQEAg LTIxMCw3ICsyMTAsOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgZGVm YXVsdF9tb2RlID0gewo+ID4gIAkudnJlZnJlc2ggPSA2MCwKPiA+ICB9Owo+ID4gIAo+ID4gLXN0 YXRpYyBpbnQgc2hhcnBfbnRfcGFuZWxfZ2V0X21vZGVzKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVs KQo+ID4gK3N0YXRpYyBpbnQgc2hhcnBfbnRfcGFuZWxfZ2V0X21vZGVzKHN0cnVjdCBkcm1fcGFu ZWwgKnBhbmVsLAo+ID4gKwkJCQkgICAgc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikK PiA+ICB7Cj4gPiAgCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlOwo+ID4gIAo+ID4gQEAg LTIyNCwxMCArMjI1LDEwIEBAIHN0YXRpYyBpbnQgc2hhcnBfbnRfcGFuZWxfZ2V0X21vZGVzKHN0 cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQo+ID4gIAo+ID4gIAlkcm1fbW9kZV9zZXRfbmFtZShtb2Rl KTsKPiA+ICAKPiA+IC0JZHJtX21vZGVfcHJvYmVkX2FkZChwYW5lbC0+Y29ubmVjdG9yLCBtb2Rl KTsKPiA+ICsJZHJtX21vZGVfcHJvYmVkX2FkZChjb25uZWN0b3IsIG1vZGUpOwo+ID4gIAo+ID4g LQlwYW5lbC0+Y29ubmVjdG9yLT5kaXNwbGF5X2luZm8ud2lkdGhfbW0gPSA1NDsKPiA+IC0JcGFu ZWwtPmNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLmhlaWdodF9tbSA9IDk1Owo+ID4gKwljb25uZWN0 b3ItPmRpc3BsYXlfaW5mby53aWR0aF9tbSA9IDU0Owo+ID4gKwljb25uZWN0b3ItPmRpc3BsYXlf aW5mby5oZWlnaHRfbW0gPSA5NTsKPiA+ICAKPiA+ICAJcmV0dXJuIDE7Cj4gPiAgfQo+ID4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zaW1wbGUuYyBiL2RyaXZlcnMv Z3B1L2RybS9wYW5lbC9wYW5lbC1zaW1wbGUuYwo+ID4gaW5kZXggYTVkZjZkNmRkNDU1Li5kNjI5 OWZlNmQyNzYgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2lt cGxlLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zaW1wbGUuYwo+ID4g QEAgLTExNyw5ICsxMTcsOSBAQCBzdGF0aWMgaW5saW5lIHN0cnVjdCBwYW5lbF9zaW1wbGUgKnRv X3BhbmVsX3NpbXBsZShzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCkKPiA+ICAJcmV0dXJuIGNvbnRh aW5lcl9vZihwYW5lbCwgc3RydWN0IHBhbmVsX3NpbXBsZSwgYmFzZSk7Cj4gPiAgfQo+ID4gIAo+ ID4gLXN0YXRpYyB1bnNpZ25lZCBpbnQgcGFuZWxfc2ltcGxlX2dldF90aW1pbmdzX21vZGVzKHN0 cnVjdCBwYW5lbF9zaW1wbGUgKnBhbmVsKQo+ID4gK3N0YXRpYyB1bnNpZ25lZCBpbnQgcGFuZWxf c2ltcGxlX2dldF90aW1pbmdzX21vZGVzKHN0cnVjdCBwYW5lbF9zaW1wbGUgKnBhbmVsLAo+ID4g KwkJCQkJCSAgIHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gPiAgewo+ID4gLQlz dHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yID0gcGFuZWwtPmJhc2UuY29ubmVjdG9yOwo+ ID4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZHJtID0gcGFuZWwtPmJhc2UuZHJtOwo+ID4gIAlzdHJ1 Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZTsKPiA+ICAJdW5zaWduZWQgaW50IGksIG51bSA9IDA7 Cj4gPiBAQCAtMTUwLDkgKzE1MCw5IEBAIHN0YXRpYyB1bnNpZ25lZCBpbnQgcGFuZWxfc2ltcGxl X2dldF90aW1pbmdzX21vZGVzKHN0cnVjdCBwYW5lbF9zaW1wbGUgKnBhbmVsKQo+ID4gIAlyZXR1 cm4gbnVtOwo+ID4gIH0KPiA+ICAKPiA+IC1zdGF0aWMgdW5zaWduZWQgaW50IHBhbmVsX3NpbXBs ZV9nZXRfZGlzcGxheV9tb2RlcyhzdHJ1Y3QgcGFuZWxfc2ltcGxlICpwYW5lbCkKPiA+ICtzdGF0 aWMgdW5zaWduZWQgaW50IHBhbmVsX3NpbXBsZV9nZXRfZGlzcGxheV9tb2RlcyhzdHJ1Y3QgcGFu ZWxfc2ltcGxlICpwYW5lbCwKPiA+ICsJCQkJCQkgICBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29u bmVjdG9yKQo+ID4gIHsKPiA+IC0Jc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciA9IHBh bmVsLT5iYXNlLmNvbm5lY3RvcjsKPiA+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRybSA9IHBhbmVs LT5iYXNlLmRybTsKPiA+ICAJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGU7Cj4gPiAgCXVu c2lnbmVkIGludCBpLCBudW0gPSAwOwo+ID4gQEAgLTE4MSw5ICsxODEsOSBAQCBzdGF0aWMgdW5z aWduZWQgaW50IHBhbmVsX3NpbXBsZV9nZXRfZGlzcGxheV9tb2RlcyhzdHJ1Y3QgcGFuZWxfc2lt cGxlICpwYW5lbCkKPiA+ICAJcmV0dXJuIG51bTsKPiA+ICB9Cj4gPiAgCj4gPiAtc3RhdGljIGlu dCBwYW5lbF9zaW1wbGVfZ2V0X25vbl9lZGlkX21vZGVzKHN0cnVjdCBwYW5lbF9zaW1wbGUgKnBh bmVsKQo+ID4gK3N0YXRpYyBpbnQgcGFuZWxfc2ltcGxlX2dldF9ub25fZWRpZF9tb2RlcyhzdHJ1 Y3QgcGFuZWxfc2ltcGxlICpwYW5lbCwKPiA+ICsJCQkJCSAgIHN0cnVjdCBkcm1fY29ubmVjdG9y ICpjb25uZWN0b3IpCj4gPiAgewo+ID4gLQlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9y ID0gcGFuZWwtPmJhc2UuY29ubmVjdG9yOwo+ID4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZHJtID0g cGFuZWwtPmJhc2UuZHJtOwo+ID4gIAlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZTsKPiA+ ICAJYm9vbCBoYXNfb3ZlcnJpZGUgPSBwYW5lbC0+b3ZlcnJpZGVfbW9kZS50eXBlOwo+ID4gQEAg LTIwNCw3ICsyMDQsNyBAQCBzdGF0aWMgaW50IHBhbmVsX3NpbXBsZV9nZXRfbm9uX2VkaWRfbW9k ZXMoc3RydWN0IHBhbmVsX3NpbXBsZSAqcGFuZWwpCj4gPiAgCj4gPiAgCS8qIE9ubHkgYWRkIHRp bWluZ3MgaWYgb3ZlcnJpZGUgd2FzIG5vdCB0aGVyZSBvciBmYWlsZWQgdG8gdmFsaWRhdGUgKi8K PiA+ICAJaWYgKG51bSA9PSAwICYmIHBhbmVsLT5kZXNjLT5udW1fdGltaW5ncykKPiA+IC0JCW51 bSA9IHBhbmVsX3NpbXBsZV9nZXRfdGltaW5nc19tb2RlcyhwYW5lbCk7Cj4gPiArCQludW0gPSBw YW5lbF9zaW1wbGVfZ2V0X3RpbWluZ3NfbW9kZXMocGFuZWwsIGNvbm5lY3Rvcik7Cj4gPiAgCj4g PiAgCS8qCj4gPiAgCSAqIE9ubHkgYWRkIGZpeGVkIG1vZGVzIGlmIHRpbWluZ3Mvb3ZlcnJpZGUg YWRkZWQgbm8gbW9kZS4KPiA+IEBAIC0yMTQsNyArMjE0LDcgQEAgc3RhdGljIGludCBwYW5lbF9z aW1wbGVfZ2V0X25vbl9lZGlkX21vZGVzKHN0cnVjdCBwYW5lbF9zaW1wbGUgKnBhbmVsKQo+ID4g IAkgKi8KPiA+ICAJV0FSTl9PTihwYW5lbC0+ZGVzYy0+bnVtX3RpbWluZ3MgJiYgcGFuZWwtPmRl c2MtPm51bV9tb2Rlcyk7Cj4gPiAgCWlmIChudW0gPT0gMCkKPiA+IC0JCW51bSA9IHBhbmVsX3Np bXBsZV9nZXRfZGlzcGxheV9tb2RlcyhwYW5lbCk7Cj4gPiArCQludW0gPSBwYW5lbF9zaW1wbGVf Z2V0X2Rpc3BsYXlfbW9kZXMocGFuZWwsIGNvbm5lY3Rvcik7Cj4gPiAgCj4gPiAgCWNvbm5lY3Rv ci0+ZGlzcGxheV9pbmZvLmJwYyA9IHBhbmVsLT5kZXNjLT5icGM7Cj4gPiAgCWNvbm5lY3Rvci0+ ZGlzcGxheV9pbmZvLndpZHRoX21tID0gcGFuZWwtPmRlc2MtPnNpemUud2lkdGg7Cj4gPiBAQCAt MzA0LDIzICszMDQsMjQgQEAgc3RhdGljIGludCBwYW5lbF9zaW1wbGVfZW5hYmxlKHN0cnVjdCBk cm1fcGFuZWwgKnBhbmVsKQo+ID4gIAlyZXR1cm4gMDsKPiA+ICB9Cj4gPiAgCj4gPiAtc3RhdGlj IGludCBwYW5lbF9zaW1wbGVfZ2V0X21vZGVzKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQo+ID4g K3N0YXRpYyBpbnQgcGFuZWxfc2ltcGxlX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX3BhbmVsICpwYW5l bCwKPiA+ICsJCQkJICBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ID4gIHsKPiA+ ICAJc3RydWN0IHBhbmVsX3NpbXBsZSAqcCA9IHRvX3BhbmVsX3NpbXBsZShwYW5lbCk7Cj4gPiAg CWludCBudW0gPSAwOwo+ID4gIAo+ID4gIAkvKiBwcm9iZSBFRElEIGlmIGEgRERDIGJ1cyBpcyBh dmFpbGFibGUgKi8KPiA+ICAJaWYgKHAtPmRkYykgewo+ID4gLQkJc3RydWN0IGVkaWQgKmVkaWQg PSBkcm1fZ2V0X2VkaWQocGFuZWwtPmNvbm5lY3RvciwgcC0+ZGRjKTsKPiA+IC0JCWRybV9jb25u ZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVydHkocGFuZWwtPmNvbm5lY3RvciwgZWRpZCk7Cj4gPiAr CQlzdHJ1Y3QgZWRpZCAqZWRpZCA9IGRybV9nZXRfZWRpZChjb25uZWN0b3IsIHAtPmRkYyk7Cj4g PiArCQlkcm1fY29ubmVjdG9yX3VwZGF0ZV9lZGlkX3Byb3BlcnR5KGNvbm5lY3RvciwgZWRpZCk7 Cj4gPiAgCQlpZiAoZWRpZCkgewo+ID4gLQkJCW51bSArPSBkcm1fYWRkX2VkaWRfbW9kZXMocGFu ZWwtPmNvbm5lY3RvciwgZWRpZCk7Cj4gPiArCQkJbnVtICs9IGRybV9hZGRfZWRpZF9tb2Rlcyhj b25uZWN0b3IsIGVkaWQpOwo+ID4gIAkJCWtmcmVlKGVkaWQpOwo+ID4gIAkJfQo+ID4gIAl9Cj4g PiAgCj4gPiAgCS8qIGFkZCBoYXJkLWNvZGVkIHBhbmVsIG1vZGVzICovCj4gPiAtCW51bSArPSBw YW5lbF9zaW1wbGVfZ2V0X25vbl9lZGlkX21vZGVzKHApOwo+ID4gKwludW0gKz0gcGFuZWxfc2lt cGxlX2dldF9ub25fZWRpZF9tb2RlcyhwLCBjb25uZWN0b3IpOwo+ID4gIAo+ID4gIAlyZXR1cm4g bnVtOwo+ID4gIH0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwt c2l0cm9uaXgtc3Q3NzAxLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2l0cm9uaXgt c3Q3NzAxLmMKPiA+IGluZGV4IGVlM2YyM2Y0NTc1NS4uM2VkM2IxZDZkODJkIDEwMDY0NAo+ID4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNpdHJvbml4LXN0NzcwMS5jCj4gPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2l0cm9uaXgtc3Q3NzAxLmMKPiA+IEBA IC0yNjQsNyArMjY0LDggQEAgc3RhdGljIGludCBzdDc3MDFfdW5wcmVwYXJlKHN0cnVjdCBkcm1f cGFuZWwgKnBhbmVsKQo+ID4gIAlyZXR1cm4gMDsKPiA+ICB9Cj4gPiAgCj4gPiAtc3RhdGljIGlu dCBzdDc3MDFfZ2V0X21vZGVzKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQo+ID4gK3N0YXRpYyBp bnQgc3Q3NzAxX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCwKPiA+ICsJCQkgICAg c3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiA+ICB7Cj4gPiAgCXN0cnVjdCBzdDc3 MDEgKnN0NzcwMSA9IHBhbmVsX3RvX3N0NzcwMShwYW5lbCk7Cj4gPiAgCWNvbnN0IHN0cnVjdCBk cm1fZGlzcGxheV9tb2RlICpkZXNjX21vZGUgPSBzdDc3MDEtPmRlc2MtPm1vZGU7Cj4gPiBAQCAt MjgwLDEwICsyODEsMTAgQEAgc3RhdGljIGludCBzdDc3MDFfZ2V0X21vZGVzKHN0cnVjdCBkcm1f cGFuZWwgKnBhbmVsKQo+ID4gIAl9Cj4gPiAgCj4gPiAgCWRybV9tb2RlX3NldF9uYW1lKG1vZGUp Owo+ID4gLQlkcm1fbW9kZV9wcm9iZWRfYWRkKHBhbmVsLT5jb25uZWN0b3IsIG1vZGUpOwo+ID4g Kwlkcm1fbW9kZV9wcm9iZWRfYWRkKGNvbm5lY3RvciwgbW9kZSk7Cj4gPiAgCj4gPiAtCXBhbmVs LT5jb25uZWN0b3ItPmRpc3BsYXlfaW5mby53aWR0aF9tbSA9IGRlc2NfbW9kZS0+d2lkdGhfbW07 Cj4gPiAtCXBhbmVsLT5jb25uZWN0b3ItPmRpc3BsYXlfaW5mby5oZWlnaHRfbW0gPSBkZXNjX21v ZGUtPmhlaWdodF9tbTsKPiA+ICsJY29ubmVjdG9yLT5kaXNwbGF5X2luZm8ud2lkdGhfbW0gPSBk ZXNjX21vZGUtPndpZHRoX21tOwo+ID4gKwljb25uZWN0b3ItPmRpc3BsYXlfaW5mby5oZWlnaHRf bW0gPSBkZXNjX21vZGUtPmhlaWdodF9tbTsKPiA+ICAKPiA+ICAJcmV0dXJuIDE7Cj4gPiAgfQo+ ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zaXRyb25peC1zdDc3 ODl2LmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2l0cm9uaXgtc3Q3Nzg5di5jCj4g PiBpbmRleCAxMDhhODViYjY2NjcuLjgzNmIwMTMzMTUwNSAxMDA2NDQKPiA+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zaXRyb25peC1zdDc3ODl2LmMKPiA+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zaXRyb25peC1zdDc3ODl2LmMKPiA+IEBAIC0xNzAsOSAr MTcwLDkgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlIGRlZmF1bHRfbW9k ZSA9IHsKPiA+ICAJLnZyZWZyZXNoID0gNjAsCj4gPiAgfTsKPiA+ICAKPiA+IC1zdGF0aWMgaW50 IHN0Nzc4OXZfZ2V0X21vZGVzKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQo+ID4gK3N0YXRpYyBp bnQgc3Q3Nzg5dl9nZXRfbW9kZXMoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwsCj4gPiArCQkJICAg ICBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ID4gIHsKPiA+IC0Jc3RydWN0IGRy bV9jb25uZWN0b3IgKmNvbm5lY3RvciA9IHBhbmVsLT5jb25uZWN0b3I7Cj4gPiAgCXN0cnVjdCBk cm1fZGlzcGxheV9tb2RlICptb2RlOwo+ID4gIAo+ID4gIAltb2RlID0gZHJtX21vZGVfZHVwbGlj YXRlKHBhbmVsLT5kcm0sICZkZWZhdWx0X21vZGUpOwo+ID4gQEAgLTE4OCw4ICsxODgsOCBAQCBz dGF0aWMgaW50IHN0Nzc4OXZfZ2V0X21vZGVzKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQo+ID4g IAltb2RlLT50eXBlID0gRFJNX01PREVfVFlQRV9EUklWRVIgfCBEUk1fTU9ERV9UWVBFX1BSRUZF UlJFRDsKPiA+ICAJZHJtX21vZGVfcHJvYmVkX2FkZChjb25uZWN0b3IsIG1vZGUpOwo+ID4gIAo+ ID4gLQlwYW5lbC0+Y29ubmVjdG9yLT5kaXNwbGF5X2luZm8ud2lkdGhfbW0gPSA2MTsKPiA+IC0J cGFuZWwtPmNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLmhlaWdodF9tbSA9IDEwMzsKPiA+ICsJY29u bmVjdG9yLT5kaXNwbGF5X2luZm8ud2lkdGhfbW0gPSA2MTsKPiA+ICsJY29ubmVjdG9yLT5kaXNw bGF5X2luZm8uaGVpZ2h0X21tID0gMTAzOwo+ID4gIAo+ID4gIAlyZXR1cm4gMTsKPiA+ICB9Cj4g PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNvbnktYWN4NTY1YWtt LmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc29ueS1hY3g1NjVha20uYwo+ID4gaW5k ZXggZDYzODdkOGY4OGEzLi44NDFkYzczYzQ0M2QgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vcGFuZWwvcGFuZWwtc29ueS1hY3g1NjVha20uYwo+ID4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL3BhbmVsL3BhbmVsLXNvbnktYWN4NTY1YWttLmMKPiA+IEBAIC01MjEsOSArNTIxLDkgQEAg c3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlIGFjeDU2NWFrbV9tb2RlID0gewo+ ID4gIAkuaGVpZ2h0X21tID0gNDYsCj4gPiAgfTsKPiA+ICAKPiA+IC1zdGF0aWMgaW50IGFjeDU2 NWFrbV9nZXRfbW9kZXMoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpCj4gPiArc3RhdGljIGludCBh Y3g1NjVha21fZ2V0X21vZGVzKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsLAo+ID4gKwkJCSAgICAg ICBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ID4gIHsKPiA+IC0Jc3RydWN0IGRy bV9jb25uZWN0b3IgKmNvbm5lY3RvciA9IHBhbmVsLT5jb25uZWN0b3I7Cj4gPiAgCXN0cnVjdCBk cm1fZGlzcGxheV9tb2RlICptb2RlOwo+ID4gIAo+ID4gIAltb2RlID0gZHJtX21vZGVfZHVwbGlj YXRlKHBhbmVsLT5kcm0sICZhY3g1NjVha21fbW9kZSk7Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL3BhbmVsL3BhbmVsLXRwby10ZDAyOHR0ZWMxLmMgYi9kcml2ZXJzL2dwdS9kcm0v cGFuZWwvcGFuZWwtdHBvLXRkMDI4dHRlYzEuYwo+ID4gaW5kZXggYzQ0ZDZhNjVjMGFhLi41MjMw MTc2YmQ4ZTYgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtdHBv LXRkMDI4dHRlYzEuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXRwby10 ZDAyOHR0ZWMxLmMKPiA+IEBAIC0yODcsOSArMjg3LDkgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBk cm1fZGlzcGxheV9tb2RlIHRkMDI4dHRlYzFfbW9kZSA9IHsKPiA+ICAJLmhlaWdodF9tbSA9IDU4 LAo+ID4gIH07Cj4gPiAgCj4gPiAtc3RhdGljIGludCB0ZDAyOHR0ZWMxX2dldF9tb2RlcyhzdHJ1 Y3QgZHJtX3BhbmVsICpwYW5lbCkKPiA+ICtzdGF0aWMgaW50IHRkMDI4dHRlYzFfZ2V0X21vZGVz KHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsLAo+ID4gKwkJCQlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAq Y29ubmVjdG9yKQo+ID4gIHsKPiA+IC0Jc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciA9 IHBhbmVsLT5jb25uZWN0b3I7Cj4gPiAgCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlOwo+ ID4gIAo+ID4gIAltb2RlID0gZHJtX21vZGVfZHVwbGljYXRlKHBhbmVsLT5kcm0sICZ0ZDAyOHR0 ZWMxX21vZGUpOwo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC10 cG8tdGQwNDNtdGVhMS5jIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXRwby10ZDA0M210 ZWExLmMKPiA+IGluZGV4IDYyMWI2NWZlZWMwNy4uNzE2ZjhlZDFjYzQ1IDEwMDY0NAo+ID4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXRwby10ZDA0M210ZWExLmMKPiA+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC10cG8tdGQwNDNtdGVhMS5jCj4gPiBAQCAtMzQ2 LDkgKzM0Niw5IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSB0ZDA0M210 ZWExX21vZGUgPSB7Cj4gPiAgCS5oZWlnaHRfbW0gPSA1NiwKPiA+ICB9Owo+ID4gIAo+ID4gLXN0 YXRpYyBpbnQgdGQwNDNtdGVhMV9nZXRfbW9kZXMoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpCj4g PiArc3RhdGljIGludCB0ZDA0M210ZWExX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX3BhbmVsICpwYW5l bCwKPiA+ICsJCQkJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiA+ICB7Cj4gPiAt CXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IgPSBwYW5lbC0+Y29ubmVjdG9yOwo+ID4g IAlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZTsKPiA+ICAKPiA+ICAJbW9kZSA9IGRybV9t b2RlX2R1cGxpY2F0ZShwYW5lbC0+ZHJtLCAmdGQwNDNtdGVhMV9tb2RlKTsKPiA+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtdHBvLXRwZzExMC5jIGIvZHJpdmVycy9n cHUvZHJtL3BhbmVsL3BhbmVsLXRwby10cGcxMTAuYwo+ID4gaW5kZXggMWE1NDE4YWUyY2NmLi5l NzRjZDlkNDE4Y2YgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwt dHBvLXRwZzExMC5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtdHBvLXRw ZzExMC5jCj4gPiBAQCAtMzg0LDkgKzM4NCw5IEBAIHN0YXRpYyBpbnQgdHBnMTEwX2VuYWJsZShz dHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCkKPiA+ICAgKiBwcmVzZW50cyB0aGUgbW9kZSB0aGF0IGlz IGNvbmZpZ3VyZWQgZm9yIHRoZSBzeXN0ZW0gdW5kZXIgdXNlLAo+ID4gICAqIGFuZCB3aGljaCBp cyBkZXRlY3RlZCBieSByZWFkaW5nIHRoZSByZWdpc3RlcnMgb2YgdGhlIGRpc3BsYXkuCj4gPiAg ICovCj4gPiAtc3RhdGljIGludCB0cGcxMTBfZ2V0X21vZGVzKHN0cnVjdCBkcm1fcGFuZWwgKnBh bmVsKQo+ID4gK3N0YXRpYyBpbnQgdHBnMTEwX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX3BhbmVsICpw YW5lbCwKPiA+ICsJCQkgICAgc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiA+ICB7 Cj4gPiAtCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IgPSBwYW5lbC0+Y29ubmVjdG9y Owo+ID4gIAlzdHJ1Y3QgdHBnMTEwICp0cGcgPSB0b190cGcxMTAocGFuZWwpOwo+ID4gIAlzdHJ1 Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZTsKPiA+ICAKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vcGFuZWwvcGFuZWwtdHJ1bHktbnQzNTU5Ny5jIGIvZHJpdmVycy9ncHUvZHJtL3Bh bmVsL3BhbmVsLXRydWx5LW50MzU1OTcuYwo+ID4gaW5kZXggMGZlZWEyNDU2ZTE0Li4wMTJjYTYy YmYzMGUgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtdHJ1bHkt bnQzNTU5Ny5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtdHJ1bHktbnQz NTU5Ny5jCj4gPiBAQCAtNDU0LDkgKzQ1NCw5IEBAIHN0YXRpYyBpbnQgdHJ1bHlfbnQzNTU5N19l bmFibGUoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpCj4gPiAgCXJldHVybiAwOwo+ID4gIH0KPiA+ ICAKPiA+IC1zdGF0aWMgaW50IHRydWx5X250MzU1OTdfZ2V0X21vZGVzKHN0cnVjdCBkcm1fcGFu ZWwgKnBhbmVsKQo+ID4gK3N0YXRpYyBpbnQgdHJ1bHlfbnQzNTU5N19nZXRfbW9kZXMoc3RydWN0 IGRybV9wYW5lbCAqcGFuZWwsCj4gPiArCQkJCSAgIHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25u ZWN0b3IpCj4gPiAgewo+ID4gLQlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yID0gcGFu ZWwtPmNvbm5lY3RvcjsKPiA+ICAJc3RydWN0IHRydWx5X250MzU1OTcgKmN0eCA9IHBhbmVsX3Rv X2N0eChwYW5lbCk7Cj4gPiAgCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlOwo+ID4gIAlj b25zdCBzdHJ1Y3QgbnQzNTU5N19jb25maWcgKmNvbmZpZzsKPiA+IGRpZmYgLS1naXQgYS9pbmNs dWRlL2RybS9kcm1fcGFuZWwuaCBiL2luY2x1ZGUvZHJtL2RybV9wYW5lbC5oCj4gPiBpbmRleCBk MzBjOTg1NjczODQuLmE1ZjcxOTk4MDdmMiAxMDA2NDQKPiA+IC0tLSBhL2luY2x1ZGUvZHJtL2Ry bV9wYW5lbC5oCj4gPiArKysgYi9pbmNsdWRlL2RybS9kcm1fcGFuZWwuaAo+ID4gQEAgLTEwMCw3 ICsxMDAsOCBAQCBzdHJ1Y3QgZHJtX3BhbmVsX2Z1bmNzIHsKPiA+ICAJICogQWRkIG1vZGVzIHRv IHRoZSBjb25uZWN0b3IgdGhhdCB0aGUgcGFuZWwgaXMgYXR0YWNoZWQgdG8gYW5kCj4gPiAgCSAq IHJldHVybiB0aGUgbnVtYmVyIG9mIG1vZGVzIGFkZGVkLgo+ID4gIAkgKi8KPiA+IC0JaW50ICgq Z2V0X21vZGVzKShzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCk7Cj4gPiArCWludCAoKmdldF9tb2Rl cykoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwsCj4gPiArCQkJIHN0cnVjdCBkcm1fY29ubmVjdG9y ICpjb25uZWN0b3IpOwo+ID4gIAo+ID4gIAkvKioKPiA+ICAJICogQGdldF90aW1pbmdzOgoKLS0g ClJlZ2FyZHMsCgpMYXVyZW50IFBpbmNoYXJ0CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1h cm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcv bWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==