From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on atuin.qyliss.net X-Spam-Level: X-Spam-Status: No, score=-4.2 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=3.4.4 Received: by atuin.qyliss.net (Postfix, from userid 496) id 46CC01C417; Fri, 2 Apr 2021 21:03:48 +0000 (UTC) Received: from [127.0.0.1] (localhost [IPv6:::1]) by atuin.qyliss.net (Postfix) with ESMTP id DC8501C3FD; Fri, 2 Apr 2021 21:03:13 +0000 (UTC) Received: by atuin.qyliss.net (Postfix, from userid 496) id 0B7621C337; Fri, 2 Apr 2021 21:01:42 +0000 (UTC) Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) by atuin.qyliss.net (Postfix) with ESMTPS id D37141C3DC for ; Fri, 2 Apr 2021 21:01:35 +0000 (UTC) Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id 9F4345C0058; Fri, 2 Apr 2021 17:01:34 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute5.internal (MEProxy); Fri, 02 Apr 2021 17:01:34 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alyssa.is; h= from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-type:content-transfer-encoding; s=fm2; bh= Ztp7JXhMUuDCdIgYHYrSVArBPxdwUTH+NzggX1Rw2hI=; b=dkN6Npmr0g2XI/5D NWY60jU9RcfENuhH5PqS7QtbZDG70OO3OMBOA+xrsma7ALUL0V8zVY1eHev55I4x kqWZ5zs17r17diFWMARTMoVDs5bpfllvV2kBaeDHPLUoA23HfEDUmY5jQY7EHMI1 6tTVmIIaThmHyGmRLrhPBsk+6WtGWptYcdYnaYpx8atkQKXitjTHiONkNXQp17p5 hgmDwLfXjfr66PT7nOjAuDKnYXQPvC7bO/UJ7MdSlOsH7c2WdVu6Eksp3iR35Afy FgdqDSZteODwjPD2xLsIPRLdwTwhacv9y4bDbbgmd5Z/nZDEBoheTs9hJrg7WXIu IHhiSg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm2; bh=Ztp7JXhMUuDCdIgYHYrSVArBPxdwUTH+NzggX1Rw2 hI=; b=Y7qUgbAsCNZ/lF66zDrqt1O0kekAGqmGsL7Szuu6OXdvDZIKAz9lD4UHu JpVD+M2vaLvoXfsz0Db6S2F35Sngwx/1IT6XLYW7319fhDzpBSr4dE4rH3kEoleZ 5b10eXsYbZX7S5qt3+IVB6226vcYS9A++4HSRK+JcoUGJw2RhgWN2TzASV4QzRKX eCe6lLzJU/lP8gOiEn21xELf7HLOz2KdIS8ViqMqLiMlg+/gJew6coKISqhqQXkK VRtN3Rr19MTuOTJZmjPVmvpTo4aIRCyZsTSWOUGds1eOTXmEgXnYLezjjm7/fIlj m/J0sl5I8LN60mi/FwaPxaW3TOi8A== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduledrudeiiedgudehgecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefhvffufffkofgjfhggtgfgsehtkeertdertdejnecuhfhrohhmpeetlhih shhsrgcutfhoshhsuceohhhisegrlhihshhsrgdrihhsqeenucggtffrrghtthgvrhhnpe evjeekiefhveeugeektdeuhfdvuedvhffffeegffehhfejheeuudeiuedvleetudenucff ohhmrghinhepuggvshhkthhophdrlhhikhgvnecukfhppeejledrvdefuddrvdegfedrvd dtudenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehq hihlihhsshesgidvvddtrdhqhihlihhsshdrnhgvth X-ME-Proxy: Received: from x220.qyliss.net (p4fe7f3c9.dip0.t-ipconnect.de [79.231.243.201]) by mail.messagingengine.com (Postfix) with ESMTPA id BFA9224005B; Fri, 2 Apr 2021 17:01:32 -0400 (EDT) Received: by x220.qyliss.net (Postfix, from userid 1000) id A66264DD; Fri, 2 Apr 2021 21:01:30 +0000 (UTC) From: Alyssa Ross To: Jamie McClymont Subject: [PATCH platform2] Revert "Revert "vm_tools: sommelier: Switch to the stable version of xdg-shell"" Date: Fri, 2 Apr 2021 21:00:48 +0000 Message-Id: <20210402210048.19539-1-hi@alyssa.is> X-Mailer: git-send-email 2.30.0 In-Reply-To: <87wntkwq7z.fsf@alyssa.is> References: <87wntkwq7z.fsf@alyssa.is> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-MailFrom: qyliss@x220.qyliss.net X-Mailman-Rule-Hits: max-size X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; news-moderation; no-subject; suspicious-header Message-ID-Hash: CL4LHZH7AIW5WFXXCIAL2SL3GCMYEYIY X-Message-ID-Hash: CL4LHZH7AIW5WFXXCIAL2SL3GCMYEYIY X-Mailman-Approved-At: Fri, 02 Apr 2021 21:03:11 +0000 CC: devel@spectrum-os.org, Puck Meerburg X-Mailman-Version: 3.3.1 Precedence: list List-Id: Patches and low-level development discussion Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: VGhpcyByZXZlcnRzIGNvbW1pdCAzMjA1MGMwZWE2YzAwYzE2OTk5OTE1ODU2YjQwYTZhNmI4YjQx YmI5Lg0KDQpJdCdzIHJldmVydGVkIHVwc3RyZWFtIGJlY2F1c2UgRGViaWFuIA0KLS0tDQpJIHBy b3Bvc2UgcmVwbGFjaW5nIFB1Y2sncyBTb21tZWxpZXIgcGF0Y2ggd2l0aCB0aGlzIChJIGhhdmVu J3QgbG9va2VkDQphdCBob3cgZGlmZmVyZW50IGl0IGFjdHVhbGx5IGlzIC0tIEkgc3VwcG9zZSBw cm9iYWJseSBub3Qgc3Vic3RhbnRpYWxseSkuDQoNClJldmVydGluZyBpdCB3YXMgYSBiaXQgb2Yg YSBwYWluIGJlY2F1c2UgYSBidW5jaCBvZiBzdGF0aWNfY2FzdHMgYW5kDQpmb3JtYXR0ZXIgY29t bWVudHMgaGF2ZSBiZWVuIGFkZGVkIGluIHRoZSBtZWFudGltZSwgc28gSSBob3BlIEkgcmVzb2x2 ZWQNCmFsbCB0aGUgY29uZmxpY3RzIGNvcnJlY3RseS4gIEkndmUgb25seSB0ZXN0ZWQgdGhhdCBp dCBjb21waWxlcyBzbyBmYXIsDQpiZWNhdXNlIHdlIGhhdmVuJ3QgZ290IGNyb3N2bSBidWlsZGlu ZyBmb3IgQ2hyb21pdW0gT1MgODkgeWV0Lg0KDQogdm1fdG9vbHMvc29tbWVsaWVyL0JVSUxELmdu ICAgICAgICAgICAgICAgICAgIHwgICAyICstDQogdm1fdG9vbHMvc29tbWVsaWVyL21lc29uLmJ1 aWxkICAgICAgICAgICAgICAgIHwgICAyICstDQogLi4uZGctc2hlbGwtdW5zdGFibGUtdjYueG1s ID0+IHhkZy1zaGVsbC54bWx9IHwgNDM1ICsrKysrKysrKysrKystLS0tLQ0KIHZtX3Rvb2xzL3Nv bW1lbGllci9zb21tZWxpZXIteGRnLXNoZWxsLmNjICAgICB8IDIxNyArKysrKy0tLS0NCiB2bV90 b29scy9zb21tZWxpZXIvc29tbWVsaWVyLmNjICAgICAgICAgICAgICAgfCAyMTAgKysrKystLS0t DQogdm1fdG9vbHMvc29tbWVsaWVyL3NvbW1lbGllci5oICAgICAgICAgICAgICAgIHwgICA4ICst DQogNiBmaWxlcyBjaGFuZ2VkLCA1MzUgaW5zZXJ0aW9ucygrKSwgMzM5IGRlbGV0aW9ucygtKQ0K IHJlbmFtZSB2bV90b29scy9zb21tZWxpZXIvcHJvdG9jb2wve3hkZy1zaGVsbC11bnN0YWJsZS12 Ni54bWwgPT4geGRnLXNoZWxsLnhtbH0gKDcxJSkNCg0KZGlmZiAtLWdpdCBhL3ZtX3Rvb2xzL3Nv bW1lbGllci9CVUlMRC5nbiBiL3ZtX3Rvb2xzL3NvbW1lbGllci9CVUlMRC5nbg0KaW5kZXggZmU4 NDgxYmVlMS4uN2ZkZWJiYjIwMSAxMDA2NDQNCi0tLSBhL3ZtX3Rvb2xzL3NvbW1lbGllci9CVUlM RC5nbg0KKysrIGIvdm1fdG9vbHMvc29tbWVsaWVyL0JVSUxELmduDQpAQCAtNjQsNyArNjQsNyBA QCB3YXlsYW5kX3Byb3RvY29sX2xpYnJhcnkoInNvbW1lbGllci1wcm90b2NvbCIpIHsNCiAgICAg InByb3RvY29sL3JlbGF0aXZlLXBvaW50ZXItdW5zdGFibGUtdjEueG1sIiwNCiAgICAgInByb3Rv Y29sL3RleHQtaW5wdXQtdW5zdGFibGUtdjEueG1sIiwNCiAgICAgInByb3RvY29sL3ZpZXdwb3J0 ZXIueG1sIiwNCi0gICAgInByb3RvY29sL3hkZy1zaGVsbC11bnN0YWJsZS12Ni54bWwiLA0KKyAg ICAicHJvdG9jb2wveGRnLXNoZWxsLnhtbCIsDQogICBdDQogfQ0KIA0KZGlmZiAtLWdpdCBhL3Zt X3Rvb2xzL3NvbW1lbGllci9tZXNvbi5idWlsZCBiL3ZtX3Rvb2xzL3NvbW1lbGllci9tZXNvbi5i dWlsZA0KaW5kZXggY2QzM2VjOGZlYy4uOWViOGEyZmIzMCAxMDA2NDQNCi0tLSBhL3ZtX3Rvb2xz L3NvbW1lbGllci9tZXNvbi5idWlsZA0KKysrIGIvdm1fdG9vbHMvc29tbWVsaWVyL21lc29uLmJ1 aWxkDQpAQCAtNTgsNyArNTgsNyBAQCB3bF9wcm90b2NvbHMgPSBbDQogICAgICdwcm90b2NvbC9y ZWxhdGl2ZS1wb2ludGVyLXVuc3RhYmxlLXYxLnhtbCcsDQogICAgICdwcm90b2NvbC90ZXh0LWlu cHV0LXVuc3RhYmxlLXYxLnhtbCcsDQogICAgICdwcm90b2NvbC92aWV3cG9ydGVyLnhtbCcsDQot ICAgICdwcm90b2NvbC94ZGctc2hlbGwtdW5zdGFibGUtdjYueG1sJywNCisgICAgJ3Byb3RvY29s L3hkZy1zaGVsbC54bWwnLA0KIF0NCiANCiB3bF9vdXRzID0gW10NCmRpZmYgLS1naXQgYS92bV90 b29scy9zb21tZWxpZXIvcHJvdG9jb2wveGRnLXNoZWxsLXVuc3RhYmxlLXY2LnhtbCBiL3ZtX3Rv b2xzL3NvbW1lbGllci9wcm90b2NvbC94ZGctc2hlbGwueG1sDQpzaW1pbGFyaXR5IGluZGV4IDcx JQ0KcmVuYW1lIGZyb20gdm1fdG9vbHMvc29tbWVsaWVyL3Byb3RvY29sL3hkZy1zaGVsbC11bnN0 YWJsZS12Ni54bWwNCnJlbmFtZSB0byB2bV90b29scy9zb21tZWxpZXIvcHJvdG9jb2wveGRnLXNo ZWxsLnhtbA0KaW5kZXggMWMwZjkyNDUyYi4uZjczNzdhNzEzYyAxMDA2NDQNCi0tLSBhL3ZtX3Rv b2xzL3NvbW1lbGllci9wcm90b2NvbC94ZGctc2hlbGwtdW5zdGFibGUtdjYueG1sDQorKysgYi92 bV90b29scy9zb21tZWxpZXIvcHJvdG9jb2wveGRnLXNoZWxsLnhtbA0KQEAgLTEsMTEgKzEsMTMg QEANCiA8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pg0KLTxwcm90b2NvbCBu YW1lPSJ4ZGdfc2hlbGxfdW5zdGFibGVfdjYiPg0KKzxwcm90b2NvbCBuYW1lPSJ4ZGdfc2hlbGwi Pg0KIA0KICAgPGNvcHlyaWdodD4NCiAgICAgQ29weXJpZ2h0IMKpIDIwMDgtMjAxMyBLcmlzdGlh biBIw7hnc2JlcmcNCiAgICAgQ29weXJpZ2h0IMKpIDIwMTMgICAgICBSYWZhZWwgQW50b2dub2xs aQ0KICAgICBDb3B5cmlnaHQgwqkgMjAxMyAgICAgIEphc3BlciBTdC4gUGllcnJlDQogICAgIENv cHlyaWdodCDCqSAyMDEwLTIwMTMgSW50ZWwgQ29ycG9yYXRpb24NCisgICAgQ29weXJpZ2h0IMKp IDIwMTUtMjAxNyBTYW1zdW5nIEVsZWN0cm9uaWNzIENvLiwgTHRkDQorICAgIENvcHlyaWdodCDC qSAyMDE1LTIwMTcgUmVkIEhhdCBJbmMuDQogDQogICAgIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdy YW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhDQogICAgIGNv cHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0 aGUgIlNvZnR3YXJlIiksDQpAQCAtMjcsMTggKzI5LDE5IEBADQogICAgIERFQUxJTkdTIElOIFRI RSBTT0ZUV0FSRS4NCiAgIDwvY29weXJpZ2h0Pg0KIA0KLSAgPGludGVyZmFjZSBuYW1lPSJ6eGRn X3NoZWxsX3Y2IiB2ZXJzaW9uPSIxIj4NCisgIDxpbnRlcmZhY2UgbmFtZT0ieGRnX3dtX2Jhc2Ui IHZlcnNpb249IjMiPg0KICAgICA8ZGVzY3JpcHRpb24gc3VtbWFyeT0iY3JlYXRlIGRlc2t0b3At c3R5bGUgc3VyZmFjZXMiPg0KLSAgICAgIHhkZ19zaGVsbCBhbGxvd3MgY2xpZW50cyB0byB0dXJu IGEgd2xfc3VyZmFjZSBpbnRvIGEgInJlYWwgd2luZG93Ig0KLSAgICAgIHdoaWNoIGNhbiBiZSBk cmFnZ2VkLCByZXNpemVkLCBzdGFja2VkLCBhbmQgbW92ZWQgYXJvdW5kIGJ5IHRoZQ0KLSAgICAg IHVzZXIuIEV2ZXJ5dGhpbmcgYWJvdXQgdGhpcyBpbnRlcmZhY2UgaXMgc3VpdGVkIHRvd2FyZHMg dHJhZGl0aW9uYWwNCi0gICAgICBkZXNrdG9wIGVudmlyb25tZW50cy4NCisgICAgICBUaGUgeGRn X3dtX2Jhc2UgaW50ZXJmYWNlIGlzIGV4cG9zZWQgYXMgYSBnbG9iYWwgb2JqZWN0IGVuYWJsaW5n IGNsaWVudHMNCisgICAgICB0byB0dXJuIHRoZWlyIHdsX3N1cmZhY2VzIGludG8gd2luZG93cyBp biBhIGRlc2t0b3AgZW52aXJvbm1lbnQuIEl0DQorICAgICAgZGVmaW5lcyB0aGUgYmFzaWMgZnVu Y3Rpb25hbGl0eSBuZWVkZWQgZm9yIGNsaWVudHMgYW5kIHRoZSBjb21wb3NpdG9yIHRvDQorICAg ICAgY3JlYXRlIHdpbmRvd3MgdGhhdCBjYW4gYmUgZHJhZ2dlZCwgcmVzaXplZCwgbWF4aW1pemVk LCBldGMsIGFzIHdlbGwgYXMNCisgICAgICBjcmVhdGluZyB0cmFuc2llbnQgd2luZG93cyBzdWNo IGFzIHBvcHVwIG1lbnVzLg0KICAgICA8L2Rlc2NyaXB0aW9uPg0KIA0KICAgICA8ZW51bSBuYW1l PSJlcnJvciI+DQogICAgICAgPGVudHJ5IG5hbWU9InJvbGUiIHZhbHVlPSIwIiBzdW1tYXJ5PSJn aXZlbiB3bF9zdXJmYWNlIGhhcyBhbm90aGVyIHJvbGUiLz4NCiAgICAgICA8ZW50cnkgbmFtZT0i ZGVmdW5jdF9zdXJmYWNlcyIgdmFsdWU9IjEiDQotCSAgICAgc3VtbWFyeT0ieGRnX3NoZWxsIHdh cyBkZXN0cm95ZWQgYmVmb3JlIGNoaWxkcmVuIi8+DQorCSAgICAgc3VtbWFyeT0ieGRnX3dtX2Jh c2Ugd2FzIGRlc3Ryb3llZCBiZWZvcmUgY2hpbGRyZW4iLz4NCiAgICAgICA8ZW50cnkgbmFtZT0i bm90X3RoZV90b3Btb3N0X3BvcHVwIiB2YWx1ZT0iMiINCiAJICAgICBzdW1tYXJ5PSJ0aGUgY2xp ZW50IHRyaWVkIHRvIG1hcCBvciBkZXN0cm95IGEgbm9uLXRvcG1vc3QgcG9wdXAiLz4NCiAgICAg ICA8ZW50cnkgbmFtZT0iaW52YWxpZF9wb3B1cF9wYXJlbnQiIHZhbHVlPSIzIg0KQEAgLTUwLDEx ICs1MywxMSBAQA0KICAgICA8L2VudW0+DQogDQogICAgIDxyZXF1ZXN0IG5hbWU9ImRlc3Ryb3ki IHR5cGU9ImRlc3RydWN0b3IiPg0KLSAgICAgIDxkZXNjcmlwdGlvbiBzdW1tYXJ5PSJkZXN0cm95 IHhkZ19zaGVsbCI+DQotCURlc3Ryb3kgdGhpcyB4ZGdfc2hlbGwgb2JqZWN0Lg0KKyAgICAgIDxk ZXNjcmlwdGlvbiBzdW1tYXJ5PSJkZXN0cm95IHhkZ193bV9iYXNlIj4NCisJRGVzdHJveSB0aGlz IHhkZ193bV9iYXNlIG9iamVjdC4NCiANCi0JRGVzdHJveWluZyBhIGJvdW5kIHhkZ19zaGVsbCBv YmplY3Qgd2hpbGUgdGhlcmUgYXJlIHN1cmZhY2VzDQotCXN0aWxsIGFsaXZlIGNyZWF0ZWQgYnkg dGhpcyB4ZGdfc2hlbGwgb2JqZWN0IGluc3RhbmNlIGlzIGlsbGVnYWwNCisJRGVzdHJveWluZyBh IGJvdW5kIHhkZ193bV9iYXNlIG9iamVjdCB3aGlsZSB0aGVyZSBhcmUgc3VyZmFjZXMNCisJc3Rp bGwgYWxpdmUgY3JlYXRlZCBieSB0aGlzIHhkZ193bV9iYXNlIG9iamVjdCBpbnN0YW5jZSBpcyBp bGxlZ2FsDQogCWFuZCB3aWxsIHJlc3VsdCBpbiBhIHByb3RvY29sIGVycm9yLg0KICAgICAgIDwv ZGVzY3JpcHRpb24+DQogICAgIDwvcmVxdWVzdD4NCkBAIC02NSw3ICs2OCw3IEBADQogCXN1cmZh Y2VzIHJlbGF0aXZlIHRvIHNvbWUgcGFyZW50IHN1cmZhY2UuIFNlZSB0aGUgaW50ZXJmYWNlIGRl c2NyaXB0aW9uDQogCWFuZCB4ZGdfc3VyZmFjZS5nZXRfcG9wdXAgZm9yIGRldGFpbHMuDQogICAg ICAgPC9kZXNjcmlwdGlvbj4NCi0gICAgICA8YXJnIG5hbWU9ImlkIiB0eXBlPSJuZXdfaWQiIGlu dGVyZmFjZT0ienhkZ19wb3NpdGlvbmVyX3Y2Ii8+DQorICAgICAgPGFyZyBuYW1lPSJpZCIgdHlw ZT0ibmV3X2lkIiBpbnRlcmZhY2U9InhkZ19wb3NpdGlvbmVyIi8+DQogICAgIDwvcmVxdWVzdD4N CiANCiAgICAgPHJlcXVlc3QgbmFtZT0iZ2V0X3hkZ19zdXJmYWNlIj4NCkBAIC04MiwxNCArODUs MTQgQEANCiAJU2VlIHRoZSBkb2N1bWVudGF0aW9uIG9mIHhkZ19zdXJmYWNlIGZvciBtb3JlIGRl dGFpbHMgYWJvdXQgd2hhdCBhbg0KIAl4ZGdfc3VyZmFjZSBpcyBhbmQgaG93IGl0IGlzIHVzZWQu DQogICAgICAgPC9kZXNjcmlwdGlvbj4NCi0gICAgICA8YXJnIG5hbWU9ImlkIiB0eXBlPSJuZXdf aWQiIGludGVyZmFjZT0ienhkZ19zdXJmYWNlX3Y2Ii8+DQorICAgICAgPGFyZyBuYW1lPSJpZCIg dHlwZT0ibmV3X2lkIiBpbnRlcmZhY2U9InhkZ19zdXJmYWNlIi8+DQogICAgICAgPGFyZyBuYW1l PSJzdXJmYWNlIiB0eXBlPSJvYmplY3QiIGludGVyZmFjZT0id2xfc3VyZmFjZSIvPg0KICAgICA8 L3JlcXVlc3Q+DQogDQogICAgIDxyZXF1ZXN0IG5hbWU9InBvbmciPg0KICAgICAgIDxkZXNjcmlw dGlvbiBzdW1tYXJ5PSJyZXNwb25kIHRvIGEgcGluZyBldmVudCI+DQogCUEgY2xpZW50IG11c3Qg cmVzcG9uZCB0byBhIHBpbmcgZXZlbnQgd2l0aCBhIHBvbmcgcmVxdWVzdCBvcg0KLQl0aGUgY2xp ZW50IG1heSBiZSBkZWVtZWQgdW5yZXNwb25zaXZlLiBTZWUgeGRnX3NoZWxsLnBpbmcuDQorCXRo ZSBjbGllbnQgbWF5IGJlIGRlZW1lZCB1bnJlc3BvbnNpdmUuIFNlZSB4ZGdfd21fYmFzZS5waW5n Lg0KICAgICAgIDwvZGVzY3JpcHRpb24+DQogICAgICAgPGFyZyBuYW1lPSJzZXJpYWwiIHR5cGU9 InVpbnQiIHN1bW1hcnk9InNlcmlhbCBvZiB0aGUgcGluZyBldmVudCIvPg0KICAgICA8L3JlcXVl c3Q+DQpAQCAtOTgsNyArMTAxLDcgQEANCiAgICAgICA8ZGVzY3JpcHRpb24gc3VtbWFyeT0iY2hl Y2sgaWYgdGhlIGNsaWVudCBpcyBhbGl2ZSI+DQogCVRoZSBwaW5nIGV2ZW50IGFza3MgdGhlIGNs aWVudCBpZiBpdCdzIHN0aWxsIGFsaXZlLiBQYXNzIHRoZQ0KIAlzZXJpYWwgc3BlY2lmaWVkIGlu IHRoZSBldmVudCBiYWNrIHRvIHRoZSBjb21wb3NpdG9yIGJ5IHNlbmRpbmcNCi0JYSAicG9uZyIg cmVxdWVzdCBiYWNrIHdpdGggdGhlIHNwZWNpZmllZCBzZXJpYWwuIFNlZSB4ZGdfc2hlbGwucGlu Zy4NCisJYSAicG9uZyIgcmVxdWVzdCBiYWNrIHdpdGggdGhlIHNwZWNpZmllZCBzZXJpYWwuIFNl ZSB4ZGdfd21fYmFzZS5wb25nLg0KIA0KIAlDb21wb3NpdG9ycyBjYW4gdXNlIHRoaXMgdG8gZGV0 ZXJtaW5lIGlmIHRoZSBjbGllbnQgaXMgc3RpbGwNCiAJYWxpdmUuIEl0J3MgdW5zcGVjaWZpZWQg d2hhdCB3aWxsIGhhcHBlbiBpZiB0aGUgY2xpZW50IGRvZXNuJ3QNCkBAIC0xMDYsMTMgKzEwOSwx MyBAQA0KIAl0cnkgdG8gcmVzcG9uZCBpbiBhIHJlYXNvbmFibGUgYW1vdW50IG9mIHRpbWUuDQog DQogCUEgY29tcG9zaXRvciBpcyBmcmVlIHRvIHBpbmcgaW4gYW55IHdheSBpdCB3YW50cywgYnV0 IGEgY2xpZW50IG11c3QNCi0JYWx3YXlzIHJlc3BvbmQgdG8gYW55IHhkZ19zaGVsbCBvYmplY3Qg aXQgY3JlYXRlZC4NCisJYWx3YXlzIHJlc3BvbmQgdG8gYW55IHhkZ193bV9iYXNlIG9iamVjdCBp dCBjcmVhdGVkLg0KICAgICAgIDwvZGVzY3JpcHRpb24+DQogICAgICAgPGFyZyBuYW1lPSJzZXJp YWwiIHR5cGU9InVpbnQiIHN1bW1hcnk9InBhc3MgdGhpcyB0byB0aGUgcG9uZyByZXF1ZXN0Ii8+ DQogICAgIDwvZXZlbnQ+DQogICA8L2ludGVyZmFjZT4NCiANCi0gIDxpbnRlcmZhY2UgbmFtZT0i enhkZ19wb3NpdGlvbmVyX3Y2IiB2ZXJzaW9uPSIxIj4NCisgIDxpbnRlcmZhY2UgbmFtZT0ieGRn X3Bvc2l0aW9uZXIiIHZlcnNpb249IjMiPg0KICAgICA8ZGVzY3JpcHRpb24gc3VtbWFyeT0iY2hp bGQgc3VyZmFjZSBwb3NpdGlvbmVyIj4NCiAgICAgICBUaGUgeGRnX3Bvc2l0aW9uZXIgcHJvdmlk ZXMgYSBjb2xsZWN0aW9uIG9mIHJ1bGVzIGZvciB0aGUgcGxhY2VtZW50IG9mIGENCiAgICAgICBj aGlsZCBzdXJmYWNlIHJlbGF0aXZlIHRvIGEgcGFyZW50IHN1cmZhY2UuIFJ1bGVzIGNhbiBiZSBk ZWZpbmVkIHRvIGVuc3VyZQ0KQEAgLTE2MiwxMyArMTY1LDEzIEBADQogCVNwZWNpZnkgdGhlIGFu Y2hvciByZWN0YW5nbGUgd2l0aGluIHRoZSBwYXJlbnQgc3VyZmFjZSB0aGF0IHRoZSBjaGlsZA0K IAlzdXJmYWNlIHdpbGwgYmUgcGxhY2VkIHJlbGF0aXZlIHRvLiBUaGUgcmVjdGFuZ2xlIGlzIHJl bGF0aXZlIHRvIHRoZQ0KIAl3aW5kb3cgZ2VvbWV0cnkgYXMgZGVmaW5lZCBieSB4ZGdfc3VyZmFj ZS5zZXRfd2luZG93X2dlb21ldHJ5IG9mIHRoZQ0KLQlwYXJlbnQgc3VyZmFjZS4gVGhlIHJlY3Rh bmdsZSBtdXN0IGJlIGF0IGxlYXN0IDF4MSBsYXJnZS4NCisJcGFyZW50IHN1cmZhY2UuDQogDQog CVdoZW4gdGhlIHhkZ19wb3NpdGlvbmVyIG9iamVjdCBpcyB1c2VkIHRvIHBvc2l0aW9uIGEgY2hp bGQgc3VyZmFjZSwgdGhlDQogCWFuY2hvciByZWN0YW5nbGUgbWF5IG5vdCBleHRlbmQgb3V0c2lk ZSB0aGUgd2luZG93IGdlb21ldHJ5IG9mIHRoZQ0KIAlwb3NpdGlvbmVkIGNoaWxkJ3MgcGFyZW50 IHN1cmZhY2UuDQogDQotCUlmIGEgemVybyBvciBuZWdhdGl2ZSBzaXplIGlzIHNldCB0aGUgaW52 YWxpZF9pbnB1dCBlcnJvciBpcyByYWlzZWQuDQorCUlmIGEgbmVnYXRpdmUgc2l6ZSBpcyBzZXQg dGhlIGludmFsaWRfaW5wdXQgZXJyb3IgaXMgcmFpc2VkLg0KICAgICAgIDwvZGVzY3JpcHRpb24+ DQogICAgICAgPGFyZyBuYW1lPSJ4IiB0eXBlPSJpbnQiIHN1bW1hcnk9InggcG9zaXRpb24gb2Yg YW5jaG9yIHJlY3RhbmdsZSIvPg0KICAgICAgIDxhcmcgbmFtZT0ieSIgdHlwZT0iaW50IiBzdW1t YXJ5PSJ5IHBvc2l0aW9uIG9mIGFuY2hvciByZWN0YW5nbGUiLz4NCkBAIC0xNzYsNjMgKzE3OSw1 NCBAQA0KICAgICAgIDxhcmcgbmFtZT0iaGVpZ2h0IiB0eXBlPSJpbnQiIHN1bW1hcnk9ImhlaWdo dCBvZiBhbmNob3IgcmVjdGFuZ2xlIi8+DQogICAgIDwvcmVxdWVzdD4NCiANCi0gICAgPGVudW0g bmFtZT0iYW5jaG9yIiBiaXRmaWVsZD0idHJ1ZSI+DQotICAgICAgPGVudHJ5IG5hbWU9Im5vbmUi IHZhbHVlPSIwIg0KLQkgICAgIHN1bW1hcnk9InRoZSBjZW50ZXIgb2YgdGhlIGFuY2hvciByZWN0 YW5nbGUiLz4NCi0gICAgICA8ZW50cnkgbmFtZT0idG9wIiB2YWx1ZT0iMSINCi0JICAgICBzdW1t YXJ5PSJ0aGUgdG9wIGVkZ2Ugb2YgdGhlIGFuY2hvciByZWN0YW5nbGUiLz4NCi0gICAgICA8ZW50 cnkgbmFtZT0iYm90dG9tIiB2YWx1ZT0iMiINCi0JICAgICBzdW1tYXJ5PSJ0aGUgYm90dG9tIGVk Z2Ugb2YgdGhlIGFuY2hvciByZWN0YW5nbGUiLz4NCi0gICAgICA8ZW50cnkgbmFtZT0ibGVmdCIg dmFsdWU9IjQiDQotCSAgICAgc3VtbWFyeT0idGhlIGxlZnQgZWRnZSBvZiB0aGUgYW5jaG9yIHJl Y3RhbmdsZSIvPg0KLSAgICAgIDxlbnRyeSBuYW1lPSJyaWdodCIgdmFsdWU9IjgiDQotCSAgICAg c3VtbWFyeT0idGhlIHJpZ2h0IGVkZ2Ugb2YgdGhlIGFuY2hvciByZWN0YW5nbGUiLz4NCisgICAg PGVudW0gbmFtZT0iYW5jaG9yIj4NCisgICAgICA8ZW50cnkgbmFtZT0ibm9uZSIgdmFsdWU9IjAi Lz4NCisgICAgICA8ZW50cnkgbmFtZT0idG9wIiB2YWx1ZT0iMSIvPg0KKyAgICAgIDxlbnRyeSBu YW1lPSJib3R0b20iIHZhbHVlPSIyIi8+DQorICAgICAgPGVudHJ5IG5hbWU9ImxlZnQiIHZhbHVl PSIzIi8+DQorICAgICAgPGVudHJ5IG5hbWU9InJpZ2h0IiB2YWx1ZT0iNCIvPg0KKyAgICAgIDxl bnRyeSBuYW1lPSJ0b3BfbGVmdCIgdmFsdWU9IjUiLz4NCisgICAgICA8ZW50cnkgbmFtZT0iYm90 dG9tX2xlZnQiIHZhbHVlPSI2Ii8+DQorICAgICAgPGVudHJ5IG5hbWU9InRvcF9yaWdodCIgdmFs dWU9IjciLz4NCisgICAgICA8ZW50cnkgbmFtZT0iYm90dG9tX3JpZ2h0IiB2YWx1ZT0iOCIvPg0K ICAgICA8L2VudW0+DQogDQogICAgIDxyZXF1ZXN0IG5hbWU9InNldF9hbmNob3IiPg0KLSAgICAg IDxkZXNjcmlwdGlvbiBzdW1tYXJ5PSJzZXQgYW5jaG9yIHJlY3RhbmdsZSBhbmNob3IgZWRnZXMi Pg0KLQlEZWZpbmVzIGEgc2V0IG9mIGVkZ2VzIGZvciB0aGUgYW5jaG9yIHJlY3RhbmdsZS4gVGhl c2UgYXJlIHVzZWQgdG8NCi0JZGVyaXZlIGFuIGFuY2hvciBwb2ludCB0aGF0IHRoZSBjaGlsZCBz dXJmYWNlIHdpbGwgYmUgcG9zaXRpb25lZA0KLQlyZWxhdGl2ZSB0by4gSWYgdHdvIG9ydGhvZ29u YWwgZWRnZXMgYXJlIHNwZWNpZmllZCAoZS5nLiAndG9wJyBhbmQNCi0JJ2xlZnQnKSwgdGhlbiB0 aGUgYW5jaG9yIHBvaW50IHdpbGwgYmUgdGhlIGludGVyc2VjdGlvbiBvZiB0aGUgZWRnZXMNCi0J KGUuZy4gdGhlIHRvcCBsZWZ0IHBvc2l0aW9uIG9mIHRoZSByZWN0YW5nbGUpOyBvdGhlcndpc2Us IHRoZSBkZXJpdmVkDQotCWFuY2hvciBwb2ludCB3aWxsIGJlIGNlbnRlcmVkIG9uIHRoZSBzcGVj aWZpZWQgZWRnZSwgb3IgaW4gdGhlIGNlbnRlciBvZg0KLQl0aGUgYW5jaG9yIHJlY3RhbmdsZSBp ZiBubyBlZGdlIGlzIHNwZWNpZmllZC4NCi0NCi0JSWYgdHdvIHBhcmFsbGVsIGFuY2hvciBlZGdl cyBhcmUgc3BlY2lmaWVkIChlLmcuICdsZWZ0JyBhbmQgJ3JpZ2h0JyksDQotCXRoZSBpbnZhbGlk X2lucHV0IGVycm9yIGlzIHJhaXNlZC4NCisgICAgICA8ZGVzY3JpcHRpb24gc3VtbWFyeT0ic2V0 IGFuY2hvciByZWN0YW5nbGUgYW5jaG9yIj4NCisJRGVmaW5lcyB0aGUgYW5jaG9yIHBvaW50IGZv ciB0aGUgYW5jaG9yIHJlY3RhbmdsZS4gVGhlIHNwZWNpZmllZCBhbmNob3INCisJaXMgdXNlZCBk ZXJpdmUgYW4gYW5jaG9yIHBvaW50IHRoYXQgdGhlIGNoaWxkIHN1cmZhY2Ugd2lsbCBiZQ0KKwlw b3NpdGlvbmVkIHJlbGF0aXZlIHRvLiBJZiBhIGNvcm5lciBhbmNob3IgaXMgc2V0IChlLmcuICd0 b3BfbGVmdCcgb3INCisJJ2JvdHRvbV9yaWdodCcpLCB0aGUgYW5jaG9yIHBvaW50IHdpbGwgYmUg YXQgdGhlIHNwZWNpZmllZCBjb3JuZXI7DQorCW90aGVyd2lzZSwgdGhlIGRlcml2ZWQgYW5jaG9y IHBvaW50IHdpbGwgYmUgY2VudGVyZWQgb24gdGhlIHNwZWNpZmllZA0KKwllZGdlLCBvciBpbiB0 aGUgY2VudGVyIG9mIHRoZSBhbmNob3IgcmVjdGFuZ2xlIGlmIG5vIGVkZ2UgaXMgc3BlY2lmaWVk Lg0KICAgICAgIDwvZGVzY3JpcHRpb24+DQogICAgICAgPGFyZyBuYW1lPSJhbmNob3IiIHR5cGU9 InVpbnQiIGVudW09ImFuY2hvciINCi0JICAgc3VtbWFyeT0iYml0IG1hc2sgb2YgYW5jaG9yIGVk Z2VzIi8+DQorCSAgIHN1bW1hcnk9ImFuY2hvciIvPg0KICAgICA8L3JlcXVlc3Q+DQogDQotICAg IDxlbnVtIG5hbWU9ImdyYXZpdHkiIGJpdGZpZWxkPSJ0cnVlIj4NCi0gICAgICA8ZW50cnkgbmFt ZT0ibm9uZSIgdmFsdWU9IjAiDQotCSAgICAgc3VtbWFyeT0iY2VudGVyIG92ZXIgdGhlIGFuY2hv ciBlZGdlIi8+DQotICAgICAgPGVudHJ5IG5hbWU9InRvcCIgdmFsdWU9IjEiDQotCSAgICAgc3Vt bWFyeT0icG9zaXRpb24gYWJvdmUgdGhlIGFuY2hvciBlZGdlIi8+DQotICAgICAgPGVudHJ5IG5h bWU9ImJvdHRvbSIgdmFsdWU9IjIiDQotCSAgICAgc3VtbWFyeT0icG9zaXRpb24gYmVsb3cgdGhl IGFuY2hvciBlZGdlIi8+DQotICAgICAgPGVudHJ5IG5hbWU9ImxlZnQiIHZhbHVlPSI0Ig0KLQkg ICAgIHN1bW1hcnk9InBvc2l0aW9uIHRvIHRoZSBsZWZ0IG9mIHRoZSBhbmNob3IgZWRnZSIvPg0K LSAgICAgIDxlbnRyeSBuYW1lPSJyaWdodCIgdmFsdWU9IjgiDQotCSAgICAgc3VtbWFyeT0icG9z aXRpb24gdG8gdGhlIHJpZ2h0IG9mIHRoZSBhbmNob3IgZWRnZSIvPg0KKyAgICA8ZW51bSBuYW1l PSJncmF2aXR5Ij4NCisgICAgICA8ZW50cnkgbmFtZT0ibm9uZSIgdmFsdWU9IjAiLz4NCisgICAg ICA8ZW50cnkgbmFtZT0idG9wIiB2YWx1ZT0iMSIvPg0KKyAgICAgIDxlbnRyeSBuYW1lPSJib3R0 b20iIHZhbHVlPSIyIi8+DQorICAgICAgPGVudHJ5IG5hbWU9ImxlZnQiIHZhbHVlPSIzIi8+DQor ICAgICAgPGVudHJ5IG5hbWU9InJpZ2h0IiB2YWx1ZT0iNCIvPg0KKyAgICAgIDxlbnRyeSBuYW1l PSJ0b3BfbGVmdCIgdmFsdWU9IjUiLz4NCisgICAgICA8ZW50cnkgbmFtZT0iYm90dG9tX2xlZnQi IHZhbHVlPSI2Ii8+DQorICAgICAgPGVudHJ5IG5hbWU9InRvcF9yaWdodCIgdmFsdWU9IjciLz4N CisgICAgICA8ZW50cnkgbmFtZT0iYm90dG9tX3JpZ2h0IiB2YWx1ZT0iOCIvPg0KICAgICA8L2Vu dW0+DQogDQogICAgIDxyZXF1ZXN0IG5hbWU9InNldF9ncmF2aXR5Ij4NCiAgICAgICA8ZGVzY3Jp cHRpb24gc3VtbWFyeT0ic2V0IGNoaWxkIHN1cmZhY2UgZ3Jhdml0eSI+DQogCURlZmluZXMgaW4g d2hhdCBkaXJlY3Rpb24gYSBzdXJmYWNlIHNob3VsZCBiZSBwb3NpdGlvbmVkLCByZWxhdGl2ZSB0 bw0KLQl0aGUgYW5jaG9yIHBvaW50IG9mIHRoZSBwYXJlbnQgc3VyZmFjZS4gSWYgdHdvIG9ydGhv Z29uYWwgZ3Jhdml0aWVzIGFyZQ0KLQlzcGVjaWZpZWQgKGUuZy4gJ2JvdHRvbScgYW5kICdyaWdo dCcpLCB0aGVuIHRoZSBjaGlsZCBzdXJmYWNlIHdpbGwgYmUNCi0JcGxhY2VkIGluIHRoZSBzcGVj aWZpZWQgZGlyZWN0aW9uOyBvdGhlcndpc2UsIHRoZSBjaGlsZCBzdXJmYWNlIHdpbGwgYmUNCi0J Y2VudGVyZWQgb3ZlciB0aGUgYW5jaG9yIHBvaW50IG9uIGFueSBheGlzIHRoYXQgaGFkIG5vIGdy YXZpdHkNCi0Jc3BlY2lmaWVkLg0KLQ0KLQlJZiB0d28gcGFyYWxsZWwgZ3Jhdml0aWVzIGFyZSBz cGVjaWZpZWQgKGUuZy4gJ2xlZnQnIGFuZCAncmlnaHQnKSwgdGhlDQotCWludmFsaWRfaW5wdXQg ZXJyb3IgaXMgcmFpc2VkLg0KKwl0aGUgYW5jaG9yIHBvaW50IG9mIHRoZSBwYXJlbnQgc3VyZmFj ZS4gSWYgYSBjb3JuZXIgZ3Jhdml0eSBpcw0KKwlzcGVjaWZpZWQgKGUuZy4gJ2JvdHRvbV9yaWdo dCcgb3IgJ3RvcF9sZWZ0JyksIHRoZW4gdGhlIGNoaWxkIHN1cmZhY2UNCisJd2lsbCBiZSBwbGFj ZWQgdG93YXJkcyB0aGUgc3BlY2lmaWVkIGdyYXZpdHk7IG90aGVyd2lzZSwgdGhlIGNoaWxkDQor CXN1cmZhY2Ugd2lsbCBiZSBjZW50ZXJlZCBvdmVyIHRoZSBhbmNob3IgcG9pbnQgb24gYW55IGF4 aXMgdGhhdCBoYWQgbm8NCisJZ3Jhdml0eSBzcGVjaWZpZWQuDQogICAgICAgPC9kZXNjcmlwdGlv bj4NCiAgICAgICA8YXJnIG5hbWU9ImdyYXZpdHkiIHR5cGU9InVpbnQiIGVudW09ImdyYXZpdHki DQotCSAgIHN1bW1hcnk9ImJpdCBtYXNrIG9mIGdyYXZpdHkgZGlyZWN0aW9ucyIvPg0KKwkgICBz dW1tYXJ5PSJncmF2aXR5IGRpcmVjdGlvbiIvPg0KICAgICA8L3JlcXVlc3Q+DQogDQogICAgIDxl bnVtIG5hbWU9ImNvbnN0cmFpbnRfYWRqdXN0bWVudCIgYml0ZmllbGQ9InRydWUiPg0KQEAgLTI1 Miw3ICsyNDYsNyBAQA0KICAgICAgIDxlbnRyeSBuYW1lPSJub25lIiB2YWx1ZT0iMCI+DQogCTxk ZXNjcmlwdGlvbiBzdW1tYXJ5PSJkb24ndCBtb3ZlIHRoZSBjaGlsZCBzdXJmYWNlIHdoZW4gY29u c3RyYWluZWQiPg0KIAkgIERvbid0IGFsdGVyIHRoZSBzdXJmYWNlIHBvc2l0aW9uIGV2ZW4gaWYg aXQgaXMgY29uc3RyYWluZWQgb24gc29tZQ0KLQkgIGF4aXMsIGZvciBleGFtcGxlIHBhcnRpYWxs eSBvdXRzaWRlIHRoZSBlZGdlIG9mIGEgbW9uaXRvci4NCisJICBheGlzLCBmb3IgZXhhbXBsZSBw YXJ0aWFsbHkgb3V0c2lkZSB0aGUgZWRnZSBvZiBhbiBvdXRwdXQuDQogCTwvZGVzY3JpcHRpb24+ DQogICAgICAgPC9lbnRyeT4NCiAgICAgICA8ZW50cnkgbmFtZT0ic2xpZGVfeCIgdmFsdWU9IjEi Pg0KQEAgLTMwNCw2ICsyOTgsMTAgQEANCiAJICBzdXJmYWNlIGlzIGNvbnN0cmFpbmVkLCB0aGUg Z3Jhdml0eSBpcyAnYm90dG9tJyBhbmQgdGhlIGFuY2hvciBpcw0KIAkgICdib3R0b20nLCBjaGFu Z2UgdGhlIGdyYXZpdHkgdG8gJ3RvcCcgYW5kIHRoZSBhbmNob3IgdG8gJ3RvcCcuDQogDQorCSAg VGhlIGFkanVzdGVkIHBvc2l0aW9uIGlzIGNhbGN1bGF0ZWQgZ2l2ZW4gdGhlIG9yaWdpbmFsIGFu Y2hvcg0KKwkgIHJlY3RhbmdsZSBhbmQgb2Zmc2V0LCBidXQgd2l0aCB0aGUgbmV3IGZsaXBwZWQg YW5jaG9yIGFuZCBncmF2aXR5DQorCSAgdmFsdWVzLg0KKw0KIAkgIElmIHRoZSBhZGp1c3RlZCBw b3NpdGlvbiBhbHNvIGVuZHMgdXAgYmVpbmcgY29uc3RyYWluZWQsIHRoZSByZXN1bHRpbmcNCiAJ ICBwb3NpdGlvbiBvZiB0aGUgZmxpcF95IGFkanVzdG1lbnQgd2lsbCBiZSB0aGUgb25lIGJlZm9y ZSB0aGUNCiAJICBhZGp1c3RtZW50Lg0KQEAgLTM1OSw5ICszNTcsNDkgQEANCiAgICAgICA8YXJn IG5hbWU9IngiIHR5cGU9ImludCIgc3VtbWFyeT0ic3VyZmFjZSBwb3NpdGlvbiB4IG9mZnNldCIv Pg0KICAgICAgIDxhcmcgbmFtZT0ieSIgdHlwZT0iaW50IiBzdW1tYXJ5PSJzdXJmYWNlIHBvc2l0 aW9uIHkgb2Zmc2V0Ii8+DQogICAgIDwvcmVxdWVzdD4NCisNCisgICAgPCEtLSBWZXJzaW9uIDMg YWRkaXRpb25zIC0tPg0KKw0KKyAgICA8cmVxdWVzdCBuYW1lPSJzZXRfcmVhY3RpdmUiIHNpbmNl PSIzIj4NCisgICAgICA8ZGVzY3JpcHRpb24gc3VtbWFyeT0iY29udGludW91c2x5IHJlY29uc3Ry YWluIHRoZSBzdXJmYWNlIj4NCisJV2hlbiBzZXQgcmVhY3RpdmUsIHRoZSBzdXJmYWNlIGlzIHJl Y29uc3RyYWluZWQgaWYgdGhlIGNvbmRpdGlvbnMgdXNlZA0KKwlmb3IgY29uc3RyYWluaW5nIGNo YW5nZWQsIGUuZy4gdGhlIHBhcmVudCB3aW5kb3cgbW92ZWQuDQorDQorCUlmIHRoZSBjb25kaXRp b25zIGNoYW5nZWQgYW5kIHRoZSBwb3B1cCB3YXMgcmVjb25zdHJhaW5lZCwgYW4NCisJeGRnX3Bv cHVwLmNvbmZpZ3VyZSBldmVudCBpcyBzZW50IHdpdGggdXBkYXRlZCBnZW9tZXRyeSwgZm9sbG93 ZWQgYnkgYW4NCisJeGRnX3N1cmZhY2UuY29uZmlndXJlIGV2ZW50Lg0KKyAgICAgIDwvZGVzY3Jp cHRpb24+DQorICAgIDwvcmVxdWVzdD4NCisNCisgICAgPHJlcXVlc3QgbmFtZT0ic2V0X3BhcmVu dF9zaXplIiBzaW5jZT0iMyI+DQorICAgICAgPGRlc2NyaXB0aW9uIHN1bW1hcnk9IiI+DQorCVNl dCB0aGUgcGFyZW50IHdpbmRvdyBnZW9tZXRyeSB0aGUgY29tcG9zaXRvciBzaG91bGQgdXNlIHdo ZW4NCisJcG9zaXRpb25pbmcgdGhlIHBvcHVwLiBUaGUgY29tcG9zaXRvciBtYXkgdXNlIHRoaXMg aW5mb3JtYXRpb24gdG8NCisJZGV0ZXJtaW5lIHRoZSBmdXR1cmUgc3RhdGUgdGhlIHBvcHVwIHNo b3VsZCBiZSBjb25zdHJhaW5lZCB1c2luZy4gSWYNCisJdGhpcyBkb2Vzbid0IG1hdGNoIHRoZSBk aW1lbnNpb24gb2YgdGhlIHBhcmVudCB0aGUgcG9wdXAgaXMgZXZlbnR1YWxseQ0KKwlwb3NpdGlv bmVkIGFnYWluc3QsIHRoZSBiZWhhdmlvciBpcyB1bmRlZmluZWQuDQorDQorCVRoZSBhcmd1bWVu dHMgYXJlIGdpdmVuIGluIHRoZSBzdXJmYWNlLWxvY2FsIGNvb3JkaW5hdGUgc3BhY2UuDQorICAg ICAgPC9kZXNjcmlwdGlvbj4NCisgICAgICA8YXJnIG5hbWU9InBhcmVudF93aWR0aCIgdHlwZT0i aW50Ig0KKwkgICBzdW1tYXJ5PSJmdXR1cmUgd2luZG93IGdlb21ldHJ5IHdpZHRoIG9mIHBhcmVu dCIvPg0KKyAgICAgIDxhcmcgbmFtZT0icGFyZW50X2hlaWdodCIgdHlwZT0iaW50Ig0KKwkgICBz dW1tYXJ5PSJmdXR1cmUgd2luZG93IGdlb21ldHJ5IGhlaWdodCBvZiBwYXJlbnQiLz4NCisgICAg PC9yZXF1ZXN0Pg0KKw0KKyAgICA8cmVxdWVzdCBuYW1lPSJzZXRfcGFyZW50X2NvbmZpZ3VyZSIg c2luY2U9IjMiPg0KKyAgICAgIDxkZXNjcmlwdGlvbiBzdW1tYXJ5PSJzZXQgcGFyZW50IGNvbmZp Z3VyZSB0aGlzIGlzIGEgcmVzcG9uc2UgdG8iPg0KKwlTZXQgdGhlIHNlcmlhbCBvZiBhIHhkZ19z dXJmYWNlLmNvbmZpZ3VyZSBldmVudCB0aGlzIHBvc2l0aW9uZXIgd2lsbCBiZQ0KKwl1c2VkIGlu IHJlc3BvbnNlIHRvLiBUaGUgY29tcG9zaXRvciBtYXkgdXNlIHRoaXMgaW5mb3JtYXRpb24gdG9n ZXRoZXINCisJd2l0aCBzZXRfcGFyZW50X3NpemUgdG8gZGV0ZXJtaW5lIHdoYXQgZnV0dXJlIHN0 YXRlIHRoZSBwb3B1cCBzaG91bGQgYmUNCisJY29uc3RyYWluZWQgdXNpbmcuDQorICAgICAgPC9k ZXNjcmlwdGlvbj4NCisgICAgICA8YXJnIG5hbWU9InNlcmlhbCIgdHlwZT0idWludCINCisJICAg c3VtbWFyeT0ic2VyaWFsIG9mIHBhcmVudCBjb25maWd1cmUgZXZlbnQiLz4NCisgICAgPC9yZXF1 ZXN0Pg0KICAgPC9pbnRlcmZhY2U+DQogDQotICA8aW50ZXJmYWNlIG5hbWU9Inp4ZGdfc3VyZmFj ZV92NiIgdmVyc2lvbj0iMSI+DQorICA8aW50ZXJmYWNlIG5hbWU9InhkZ19zdXJmYWNlIiB2ZXJz aW9uPSIzIj4NCiAgICAgPGRlc2NyaXB0aW9uIHN1bW1hcnk9ImRlc2t0b3AgdXNlciBpbnRlcmZh Y2Ugc3VyZmFjZSBiYXNlIGludGVyZmFjZSI+DQogICAgICAgQW4gaW50ZXJmYWNlIHRoYXQgbWF5 IGJlIGltcGxlbWVudGVkIGJ5IGEgd2xfc3VyZmFjZSwgZm9yDQogICAgICAgaW1wbGVtZW50YXRp b25zIHRoYXQgcHJvdmlkZSBhIGRlc2t0b3Atc3R5bGUgdXNlciBpbnRlcmZhY2UuDQpAQCAtMzg4 LDExICs0MjYsMjUgQEANCiAgICAgICBtYW5pcHVsYXRlIGEgYnVmZmVyIHByaW9yIHRvIHRoZSBm aXJzdCB4ZGdfc3VyZmFjZS5jb25maWd1cmUgY2FsbCBtdXN0DQogICAgICAgYWxzbyBiZSB0cmVh dGVkIGFzIGVycm9ycy4NCiANCi0gICAgICBGb3IgYSBzdXJmYWNlIHRvIGJlIG1hcHBlZCBieSB0 aGUgY29tcG9zaXRvciwgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zDQotICAgICAgbXVzdCBiZSBt ZXQ6ICgxKSB0aGUgY2xpZW50IGhhcyBhc3NpZ25lZCBhIHhkZ19zdXJmYWNlIGJhc2VkIHJvbGUg dG8gdGhlDQotICAgICAgc3VyZmFjZSwgKDIpIHRoZSBjbGllbnQgaGFzIHNldCBhbmQgY29tbWl0 dGVkIHRoZSB4ZGdfc3VyZmFjZSBzdGF0ZSBhbmQNCi0gICAgICB0aGUgcm9sZSBkZXBlbmRlbnQg c3RhdGUgdG8gdGhlIHN1cmZhY2UgYW5kICgzKSB0aGUgY2xpZW50IGhhcyBjb21taXR0ZWQgYQ0K LSAgICAgIGJ1ZmZlciB0byB0aGUgc3VyZmFjZS4NCisgICAgICBBZnRlciBjcmVhdGluZyBhIHJv bGUtc3BlY2lmaWMgb2JqZWN0IGFuZCBzZXR0aW5nIGl0IHVwLCB0aGUgY2xpZW50IG11c3QNCisg ICAgICBwZXJmb3JtIGFuIGluaXRpYWwgY29tbWl0IHdpdGhvdXQgYW55IGJ1ZmZlciBhdHRhY2hl ZC4gVGhlIGNvbXBvc2l0b3INCisgICAgICB3aWxsIHJlcGx5IHdpdGggYW4geGRnX3N1cmZhY2Uu Y29uZmlndXJlIGV2ZW50LiBUaGUgY2xpZW50IG11c3QNCisgICAgICBhY2tub3dsZWRnZSBpdCBh bmQgaXMgdGhlbiBhbGxvd2VkIHRvIGF0dGFjaCBhIGJ1ZmZlciB0byBtYXAgdGhlIHN1cmZhY2Uu DQorDQorICAgICAgTWFwcGluZyBhbiB4ZGdfc3VyZmFjZS1iYXNlZCByb2xlIHN1cmZhY2UgaXMg ZGVmaW5lZCBhcyBtYWtpbmcgaXQNCisgICAgICBwb3NzaWJsZSBmb3IgdGhlIHN1cmZhY2UgdG8g YmUgc2hvd24gYnkgdGhlIGNvbXBvc2l0b3IuIE5vdGUgdGhhdA0KKyAgICAgIGEgbWFwcGVkIHN1 cmZhY2UgaXMgbm90IGd1YXJhbnRlZWQgdG8gYmUgdmlzaWJsZSBvbmNlIGl0IGlzIG1hcHBlZC4N CisNCisgICAgICBGb3IgYW4geGRnX3N1cmZhY2UgdG8gYmUgbWFwcGVkIGJ5IHRoZSBjb21wb3Np dG9yLCB0aGUgZm9sbG93aW5nDQorICAgICAgY29uZGl0aW9ucyBtdXN0IGJlIG1ldDoNCisgICAg ICAoMSkgdGhlIGNsaWVudCBoYXMgYXNzaWduZWQgYW4geGRnX3N1cmZhY2UtYmFzZWQgcm9sZSB0 byB0aGUgc3VyZmFjZQ0KKyAgICAgICgyKSB0aGUgY2xpZW50IGhhcyBzZXQgYW5kIGNvbW1pdHRl ZCB0aGUgeGRnX3N1cmZhY2Ugc3RhdGUgYW5kIHRoZQ0KKwkgIHJvbGUtZGVwZW5kZW50IHN0YXRl IHRvIHRoZSBzdXJmYWNlDQorICAgICAgKDMpIHRoZSBjbGllbnQgaGFzIGNvbW1pdHRlZCBhIGJ1 ZmZlciB0byB0aGUgc3VyZmFjZQ0KKw0KKyAgICAgIEEgbmV3bHktdW5tYXBwZWQgc3VyZmFjZSBp cyBjb25zaWRlcmVkIHRvIGhhdmUgbWV0IGNvbmRpdGlvbiAoMSkgb3V0DQorICAgICAgb2YgdGhl IDMgcmVxdWlyZWQgY29uZGl0aW9ucyBmb3IgbWFwcGluZyBhIHN1cmZhY2UgaWYgaXRzIHJvbGUg c3VyZmFjZQ0KKyAgICAgIGhhcyBub3QgYmVlbiBkZXN0cm95ZWQuDQogICAgIDwvZGVzY3JpcHRp b24+DQogDQogICAgIDxlbnVtIG5hbWU9ImVycm9yIj4NCkBAIC00MTYsMjAgKzQ2OCwyMyBAQA0K IAlTZWUgdGhlIGRvY3VtZW50YXRpb24gb2YgeGRnX3RvcGxldmVsIGZvciBtb3JlIGRldGFpbHMg YWJvdXQgd2hhdCBhbg0KIAl4ZGdfdG9wbGV2ZWwgaXMgYW5kIGhvdyBpdCBpcyB1c2VkLg0KICAg ICAgIDwvZGVzY3JpcHRpb24+DQotICAgICAgPGFyZyBuYW1lPSJpZCIgdHlwZT0ibmV3X2lkIiBp bnRlcmZhY2U9Inp4ZGdfdG9wbGV2ZWxfdjYiLz4NCisgICAgICA8YXJnIG5hbWU9ImlkIiB0eXBl PSJuZXdfaWQiIGludGVyZmFjZT0ieGRnX3RvcGxldmVsIi8+DQogICAgIDwvcmVxdWVzdD4NCiAN CiAgICAgPHJlcXVlc3QgbmFtZT0iZ2V0X3BvcHVwIj4NCiAgICAgICA8ZGVzY3JpcHRpb24gc3Vt bWFyeT0iYXNzaWduIHRoZSB4ZGdfcG9wdXAgc3VyZmFjZSByb2xlIj4NCi0JVGhpcyBjcmVhdGVz IGFuIHhkZ19wb3B1cCBvYmplY3QgZm9yIHRoZSBnaXZlbiB4ZGdfc3VyZmFjZSBhbmQgZ2l2ZXMg dGhlDQotCWFzc29jaWF0ZWQgd2xfc3VyZmFjZSB0aGUgeGRnX3BvcHVwIHJvbGUuDQorCVRoaXMg Y3JlYXRlcyBhbiB4ZGdfcG9wdXAgb2JqZWN0IGZvciB0aGUgZ2l2ZW4geGRnX3N1cmZhY2UgYW5k IGdpdmVzDQorCXRoZSBhc3NvY2lhdGVkIHdsX3N1cmZhY2UgdGhlIHhkZ19wb3B1cCByb2xlLg0K Kw0KKwlJZiBudWxsIGlzIHBhc3NlZCBhcyBhIHBhcmVudCwgYSBwYXJlbnQgc3VyZmFjZSBtdXN0 IGJlIHNwZWNpZmllZCB1c2luZw0KKwlzb21lIG90aGVyIHByb3RvY29sLCBiZWZvcmUgY29tbWl0 dGluZyB0aGUgaW5pdGlhbCBzdGF0ZS4NCiANCiAJU2VlIHRoZSBkb2N1bWVudGF0aW9uIG9mIHhk Z19wb3B1cCBmb3IgbW9yZSBkZXRhaWxzIGFib3V0IHdoYXQgYW4NCiAJeGRnX3BvcHVwIGlzIGFu ZCBob3cgaXQgaXMgdXNlZC4NCiAgICAgICA8L2Rlc2NyaXB0aW9uPg0KLSAgICAgIDxhcmcgbmFt ZT0iaWQiIHR5cGU9Im5ld19pZCIgaW50ZXJmYWNlPSJ6eGRnX3BvcHVwX3Y2Ii8+DQotICAgICAg PGFyZyBuYW1lPSJwYXJlbnQiIHR5cGU9Im9iamVjdCIgaW50ZXJmYWNlPSJ6eGRnX3N1cmZhY2Vf djYiLz4NCi0gICAgICA8YXJnIG5hbWU9InBvc2l0aW9uZXIiIHR5cGU9Im9iamVjdCIgaW50ZXJm YWNlPSJ6eGRnX3Bvc2l0aW9uZXJfdjYiLz4NCisgICAgICA8YXJnIG5hbWU9ImlkIiB0eXBlPSJu ZXdfaWQiIGludGVyZmFjZT0ieGRnX3BvcHVwIi8+DQorICAgICAgPGFyZyBuYW1lPSJwYXJlbnQi IHR5cGU9Im9iamVjdCIgaW50ZXJmYWNlPSJ4ZGdfc3VyZmFjZSIgYWxsb3ctbnVsbD0idHJ1ZSIv Pg0KKyAgICAgIDxhcmcgbmFtZT0icG9zaXRpb25lciIgdHlwZT0ib2JqZWN0IiBpbnRlcmZhY2U9 InhkZ19wb3NpdGlvbmVyIi8+DQogICAgIDwvcmVxdWVzdD4NCiANCiAgICAgPHJlcXVlc3QgbmFt ZT0ic2V0X3dpbmRvd19nZW9tZXRyeSI+DQpAQCAtNDQyLDYgKzQ5NywxMSBAQA0KIAlUaGUgd2lu ZG93IGdlb21ldHJ5IGlzIGRvdWJsZSBidWZmZXJlZCwgYW5kIHdpbGwgYmUgYXBwbGllZCBhdCB0 aGUNCiAJdGltZSB3bF9zdXJmYWNlLmNvbW1pdCBvZiB0aGUgY29ycmVzcG9uZGluZyB3bF9zdXJm YWNlIGlzIGNhbGxlZC4NCiANCisJV2hlbiBtYWludGFpbmluZyBhIHBvc2l0aW9uLCB0aGUgY29t cG9zaXRvciBzaG91bGQgdHJlYXQgdGhlICh4LCB5KQ0KKwljb29yZGluYXRlIG9mIHRoZSB3aW5k b3cgZ2VvbWV0cnkgYXMgdGhlIHRvcCBsZWZ0IGNvcm5lciBvZiB0aGUgd2luZG93Lg0KKwlBIGNs aWVudCBjaGFuZ2luZyB0aGUgKHgsIHkpIHdpbmRvdyBnZW9tZXRyeSBjb29yZGluYXRlIHNob3Vs ZCBpbg0KKwlnZW5lcmFsIG5vdCBhbHRlciB0aGUgcG9zaXRpb24gb2YgdGhlIHdpbmRvdy4NCisN CiAJT25jZSB0aGUgd2luZG93IGdlb21ldHJ5IG9mIHRoZSBzdXJmYWNlIGlzIHNldCwgaXQgaXMg bm90IHBvc3NpYmxlIHRvDQogCXVuc2V0IGl0LCBhbmQgaXQgd2lsbCByZW1haW4gdGhlIHNhbWUg dW50aWwgc2V0X3dpbmRvd19nZW9tZXRyeSBpcw0KIAljYWxsZWQgYWdhaW4sIGV2ZW4gaWYgYSBu ZXcgc3Vic3VyZmFjZSBvciBidWZmZXIgaXMgYXR0YWNoZWQuDQpAQCAtNTExLDM2ICs1NzEsNTcg QEANCiAgICAgICA8L2Rlc2NyaXB0aW9uPg0KICAgICAgIDxhcmcgbmFtZT0ic2VyaWFsIiB0eXBl PSJ1aW50IiBzdW1tYXJ5PSJzZXJpYWwgb2YgdGhlIGNvbmZpZ3VyZSBldmVudCIvPg0KICAgICA8 L2V2ZW50Pg0KKw0KICAgPC9pbnRlcmZhY2U+DQogDQotICA8aW50ZXJmYWNlIG5hbWU9Inp4ZGdf dG9wbGV2ZWxfdjYiIHZlcnNpb249IjEiPg0KKyAgPGludGVyZmFjZSBuYW1lPSJ4ZGdfdG9wbGV2 ZWwiIHZlcnNpb249IjMiPg0KICAgICA8ZGVzY3JpcHRpb24gc3VtbWFyeT0idG9wbGV2ZWwgc3Vy ZmFjZSI+DQogICAgICAgVGhpcyBpbnRlcmZhY2UgZGVmaW5lcyBhbiB4ZGdfc3VyZmFjZSByb2xl IHdoaWNoIGFsbG93cyBhIHN1cmZhY2UgdG8sDQogICAgICAgYW1vbmcgb3RoZXIgdGhpbmdzLCBz ZXQgd2luZG93LWxpa2UgcHJvcGVydGllcyBzdWNoIGFzIG1heGltaXplLA0KICAgICAgIGZ1bGxz Y3JlZW4sIGFuZCBtaW5pbWl6ZSwgc2V0IGFwcGxpY2F0aW9uLXNwZWNpZmljIG1ldGFkYXRhIGxp a2UgdGl0bGUgYW5kDQogICAgICAgaWQsIGFuZCB3ZWxsIGFzIHRyaWdnZXIgdXNlciBpbnRlcmFj dGl2ZSBvcGVyYXRpb25zIHN1Y2ggYXMgaW50ZXJhY3RpdmUNCiAgICAgICByZXNpemUgYW5kIG1v dmUuDQorDQorICAgICAgVW5tYXBwaW5nIGFuIHhkZ190b3BsZXZlbCBtZWFucyB0aGF0IHRoZSBz dXJmYWNlIGNhbm5vdCBiZSBzaG93bg0KKyAgICAgIGJ5IHRoZSBjb21wb3NpdG9yIHVudGlsIGl0 IGlzIGV4cGxpY2l0bHkgbWFwcGVkIGFnYWluLg0KKyAgICAgIEFsbCBhY3RpdmUgb3BlcmF0aW9u cyAoZS5nLiwgbW92ZSwgcmVzaXplKSBhcmUgY2FuY2VsZWQgYW5kIGFsbA0KKyAgICAgIGF0dHJp YnV0ZXMgKGUuZy4gdGl0bGUsIHN0YXRlLCBzdGFja2luZywgLi4uKSBhcmUgZGlzY2FyZGVkIGZv cg0KKyAgICAgIGFuIHhkZ190b3BsZXZlbCBzdXJmYWNlIHdoZW4gaXQgaXMgdW5tYXBwZWQuIFRo ZSB4ZGdfdG9wbGV2ZWwgcmV0dXJucyB0bw0KKyAgICAgIHRoZSBzdGF0ZSBpdCBoYWQgcmlnaHQg YWZ0ZXIgeGRnX3N1cmZhY2UuZ2V0X3RvcGxldmVsLiBUaGUgY2xpZW50DQorICAgICAgY2FuIHJl LW1hcCB0aGUgdG9wbGV2ZWwgYnkgcGVyZm9taW5nIGEgY29tbWl0IHdpdGhvdXQgYW55IGJ1ZmZl cg0KKyAgICAgIGF0dGFjaGVkLCB3YWl0aW5nIGZvciBhIGNvbmZpZ3VyZSBldmVudCBhbmQgaGFu ZGxpbmcgaXQgYXMgdXN1YWwgKHNlZQ0KKyAgICAgIHhkZ19zdXJmYWNlIGRlc2NyaXB0aW9uKS4N CisNCisgICAgICBBdHRhY2hpbmcgYSBudWxsIGJ1ZmZlciB0byBhIHRvcGxldmVsIHVubWFwcyB0 aGUgc3VyZmFjZS4NCiAgICAgPC9kZXNjcmlwdGlvbj4NCiANCiAgICAgPHJlcXVlc3QgbmFtZT0i ZGVzdHJveSIgdHlwZT0iZGVzdHJ1Y3RvciI+DQogICAgICAgPGRlc2NyaXB0aW9uIHN1bW1hcnk9 ImRlc3Ryb3kgdGhlIHhkZ190b3BsZXZlbCI+DQotCVVubWFwIGFuZCBkZXN0cm95IHRoZSB3aW5k b3cuIFRoZSB3aW5kb3cgd2lsbCBiZSBlZmZlY3RpdmVseQ0KLQloaWRkZW4gZnJvbSB0aGUgdXNl cidzIHBvaW50IG9mIHZpZXcsIGFuZCBhbGwgc3RhdGUgbGlrZQ0KLQltYXhpbWl6YXRpb24sIGZ1 bGxzY3JlZW4sIGFuZCBzbyBvbiwgd2lsbCBiZSBsb3N0Lg0KKwlUaGlzIHJlcXVlc3QgZGVzdHJv eXMgdGhlIHJvbGUgc3VyZmFjZSBhbmQgdW5tYXBzIHRoZSBzdXJmYWNlOw0KKwlzZWUgIlVubWFw cGluZyIgYmVoYXZpb3IgaW4gaW50ZXJmYWNlIHNlY3Rpb24gZm9yIGRldGFpbHMuDQogICAgICAg PC9kZXNjcmlwdGlvbj4NCiAgICAgPC9yZXF1ZXN0Pg0KIA0KICAgICA8cmVxdWVzdCBuYW1lPSJz ZXRfcGFyZW50Ij4NCiAgICAgICA8ZGVzY3JpcHRpb24gc3VtbWFyeT0ic2V0IHRoZSBwYXJlbnQg b2YgdGhpcyBzdXJmYWNlIj4NCi0JU2V0IHRoZSAicGFyZW50IiBvZiB0aGlzIHN1cmZhY2UuIFRo aXMgd2luZG93IHNob3VsZCBiZSBzdGFja2VkDQotCWFib3ZlIGEgcGFyZW50LiBUaGUgcGFyZW50 IHN1cmZhY2UgbXVzdCBiZSBtYXBwZWQgYXMgbG9uZyBhcyB0aGlzDQotCXN1cmZhY2UgaXMgbWFw cGVkLg0KKwlTZXQgdGhlICJwYXJlbnQiIG9mIHRoaXMgc3VyZmFjZS4gVGhpcyBzdXJmYWNlIHNo b3VsZCBiZSBzdGFja2VkDQorCWFib3ZlIHRoZSBwYXJlbnQgc3VyZmFjZSBhbmQgYWxsIG90aGVy IGFuY2VzdG9yIHN1cmZhY2VzLg0KIA0KIAlQYXJlbnQgd2luZG93cyBzaG91bGQgYmUgc2V0IG9u IGRpYWxvZ3MsIHRvb2xib3hlcywgb3Igb3RoZXINCiAJImF1eGlsaWFyeSIgc3VyZmFjZXMsIHNv IHRoYXQgdGhlIHBhcmVudCBpcyByYWlzZWQgd2hlbiB0aGUgZGlhbG9nDQogCWlzIHJhaXNlZC4N CisNCisJU2V0dGluZyBhIG51bGwgcGFyZW50IGZvciBhIGNoaWxkIHdpbmRvdyByZW1vdmVzIGFu eSBwYXJlbnQtY2hpbGQNCisJcmVsYXRpb25zaGlwIGZvciB0aGUgY2hpbGQuIFNldHRpbmcgYSBu dWxsIHBhcmVudCBmb3IgYSB3aW5kb3cgd2hpY2gNCisJY3VycmVudGx5IGhhcyBubyBwYXJlbnQg aXMgYSBuby1vcC4NCisNCisJSWYgdGhlIHBhcmVudCBpcyB1bm1hcHBlZCB0aGVuIGl0cyBjaGls ZHJlbiBhcmUgbWFuYWdlZCBhcw0KKwl0aG91Z2ggdGhlIHBhcmVudCBvZiB0aGUgbm93LXVubWFw cGVkIHBhcmVudCBoYXMgYmVjb21lIHRoZQ0KKwlwYXJlbnQgb2YgdGhpcyBzdXJmYWNlLiBJZiBu byBwYXJlbnQgZXhpc3RzIGZvciB0aGUgbm93LXVubWFwcGVkDQorCXBhcmVudCB0aGVuIHRoZSBj aGlsZHJlbiBhcmUgbWFuYWdlZCBhcyB0aG91Z2ggdGhleSBoYXZlIG5vDQorCXBhcmVudCBzdXJm YWNlLg0KICAgICAgIDwvZGVzY3JpcHRpb24+DQotICAgICAgPGFyZyBuYW1lPSJwYXJlbnQiIHR5 cGU9Im9iamVjdCIgaW50ZXJmYWNlPSJ6eGRnX3RvcGxldmVsX3Y2IiBhbGxvdy1udWxsPSJ0cnVl Ii8+DQorICAgICAgPGFyZyBuYW1lPSJwYXJlbnQiIHR5cGU9Im9iamVjdCIgaW50ZXJmYWNlPSJ4 ZGdfdG9wbGV2ZWwiIGFsbG93LW51bGw9InRydWUiLz4NCiAgICAgPC9yZXF1ZXN0Pg0KIA0KICAg ICA8cmVxdWVzdCBuYW1lPSJzZXRfdGl0bGUiPg0KQEAgLTU3Myw2ICs2NTQsOSBAQA0KIAlGb3Ig ZXhhbXBsZSwgIm9yZy5mcmVlZGVza3RvcC5Gb29WaWV3ZXIiIHdoZXJlIHRoZSAuZGVza3RvcCBm aWxlIGlzDQogCSJvcmcuZnJlZWRlc2t0b3AuRm9vVmlld2VyLmRlc2t0b3AiLg0KIA0KKwlMaWtl IG90aGVyIHByb3BlcnRpZXMsIGEgc2V0X2FwcF9pZCByZXF1ZXN0IGNhbiBiZSBzZW50IGFmdGVy IHRoZQ0KKwl4ZGdfdG9wbGV2ZWwgaGFzIGJlZW4gbWFwcGVkIHRvIHVwZGF0ZSB0aGUgcHJvcGVy dHkuDQorDQogCVNlZSB0aGUgZGVza3RvcC1lbnRyeSBzcGVjaWZpY2F0aW9uIFswXSBmb3IgbW9y ZSBkZXRhaWxzIG9uDQogCWFwcGxpY2F0aW9uIGlkZW50aWZpZXJzIGFuZCBob3cgdGhleSByZWxh dGUgdG8gd2VsbC1rbm93biBELUJ1cw0KIAluYW1lcyBhbmQgLmRlc2t0b3AgZmlsZXMuDQpAQCAt Njc2LDcgKzc2MCw3IEBADQogICAgICAgPC9kZXNjcmlwdGlvbj4NCiAgICAgICA8YXJnIG5hbWU9 InNlYXQiIHR5cGU9Im9iamVjdCIgaW50ZXJmYWNlPSJ3bF9zZWF0IiBzdW1tYXJ5PSJ0aGUgd2xf c2VhdCBvZiB0aGUgdXNlciBldmVudCIvPg0KICAgICAgIDxhcmcgbmFtZT0ic2VyaWFsIiB0eXBl PSJ1aW50IiBzdW1tYXJ5PSJ0aGUgc2VyaWFsIG9mIHRoZSB1c2VyIGV2ZW50Ii8+DQotICAgICAg PGFyZyBuYW1lPSJlZGdlcyIgdHlwZT0idWludCIgc3VtbWFyeT0id2hpY2ggZWRnZSBvciBjb3Ju ZXIgaXMgYmVpbmcgZHJhZ2dlZCIvPg0KKyAgICAgIDxhcmcgbmFtZT0iZWRnZXMiIHR5cGU9InVp bnQiIGVudW09InJlc2l6ZV9lZGdlIiBzdW1tYXJ5PSJ3aGljaCBlZGdlIG9yIGNvcm5lciBpcyBi ZWluZyBkcmFnZ2VkIi8+DQogICAgIDwvcmVxdWVzdD4NCiANCiAgICAgPGVudW0gbmFtZT0ic3Rh dGUiPg0KQEAgLTY5MywxMiArNzc3LDE4IEBADQogCTxkZXNjcmlwdGlvbiBzdW1tYXJ5PSJ0aGUg c3VyZmFjZSBpcyBtYXhpbWl6ZWQiPg0KIAkgIFRoZSBzdXJmYWNlIGlzIG1heGltaXplZC4gVGhl IHdpbmRvdyBnZW9tZXRyeSBzcGVjaWZpZWQgaW4gdGhlIGNvbmZpZ3VyZQ0KIAkgIGV2ZW50IG11 c3QgYmUgb2JleWVkIGJ5IHRoZSBjbGllbnQuDQorDQorCSAgVGhlIGNsaWVudCBzaG91bGQgZHJh dyB3aXRob3V0IHNoYWRvdyBvciBvdGhlcg0KKwkgIGRlY29yYXRpb24gb3V0c2lkZSBvZiB0aGUg d2luZG93IGdlb21ldHJ5Lg0KIAk8L2Rlc2NyaXB0aW9uPg0KICAgICAgIDwvZW50cnk+DQogICAg ICAgPGVudHJ5IG5hbWU9ImZ1bGxzY3JlZW4iIHZhbHVlPSIyIiBzdW1tYXJ5PSJ0aGUgc3VyZmFj ZSBpcyBmdWxsc2NyZWVuIj4NCiAJPGRlc2NyaXB0aW9uIHN1bW1hcnk9InRoZSBzdXJmYWNlIGlz IGZ1bGxzY3JlZW4iPg0KLQkgIFRoZSBzdXJmYWNlIGlzIGZ1bGxzY3JlZW4uIFRoZSB3aW5kb3cg Z2VvbWV0cnkgc3BlY2lmaWVkIGluIHRoZSBjb25maWd1cmUNCi0JICBldmVudCBtdXN0IGJlIG9i ZXllZCBieSB0aGUgY2xpZW50Lg0KKwkgIFRoZSBzdXJmYWNlIGlzIGZ1bGxzY3JlZW4uIFRoZSB3 aW5kb3cgZ2VvbWV0cnkgc3BlY2lmaWVkIGluIHRoZQ0KKwkgIGNvbmZpZ3VyZSBldmVudCBpcyBh IG1heGltdW07IHRoZSBjbGllbnQgY2Fubm90IHJlc2l6ZSBiZXlvbmQgaXQuIEZvcg0KKwkgIGEg c3VyZmFjZSB0byBjb3ZlciB0aGUgd2hvbGUgZnVsbHNjcmVlbmVkIGFyZWEsIHRoZSBnZW9tZXRy eQ0KKwkgIGRpbWVuc2lvbnMgbXVzdCBiZSBvYmV5ZWQgYnkgdGhlIGNsaWVudC4gRm9yIG1vcmUg ZGV0YWlscywgc2VlDQorCSAgeGRnX3RvcGxldmVsLnNldF9mdWxsc2NyZWVuLg0KIAk8L2Rlc2Ny aXB0aW9uPg0KICAgICAgIDwvZW50cnk+DQogICAgICAgPGVudHJ5IG5hbWU9InJlc2l6aW5nIiB2 YWx1ZT0iMyIgc3VtbWFyeT0idGhlIHN1cmZhY2UgaXMgYmVpbmcgcmVzaXplZCI+DQpAQCAtNzE2 LDYgKzgwNiwzMCBAQA0KIAkgIGtleWJvYXJkIG9yIHBvaW50ZXIgZm9jdXMuDQogCTwvZGVzY3Jp cHRpb24+DQogICAgICAgPC9lbnRyeT4NCisgICAgICA8ZW50cnkgbmFtZT0idGlsZWRfbGVmdCIg dmFsdWU9IjUiIHNpbmNlPSIyIj4NCisJPGRlc2NyaXB0aW9uIHN1bW1hcnk9InRoZSBzdXJmYWNl IGlzIHRpbGVkIj4NCisJICBUaGUgd2luZG93IGlzIGN1cnJlbnRseSBpbiBhIHRpbGVkIGxheW91 dCBhbmQgdGhlIGxlZnQgZWRnZSBpcw0KKwkgIGNvbnNpZGVyZWQgdG8gYmUgYWRqYWNlbnQgdG8g YW5vdGhlciBwYXJ0IG9mIHRoZSB0aWxpbmcgZ3JpZC4NCisJPC9kZXNjcmlwdGlvbj4NCisgICAg ICA8L2VudHJ5Pg0KKyAgICAgIDxlbnRyeSBuYW1lPSJ0aWxlZF9yaWdodCIgdmFsdWU9IjYiIHNp bmNlPSIyIj4NCisJPGRlc2NyaXB0aW9uIHN1bW1hcnk9InRoZSBzdXJmYWNlIGlzIHRpbGVkIj4N CisJICBUaGUgd2luZG93IGlzIGN1cnJlbnRseSBpbiBhIHRpbGVkIGxheW91dCBhbmQgdGhlIHJp Z2h0IGVkZ2UgaXMNCisJICBjb25zaWRlcmVkIHRvIGJlIGFkamFjZW50IHRvIGFub3RoZXIgcGFy dCBvZiB0aGUgdGlsaW5nIGdyaWQuDQorCTwvZGVzY3JpcHRpb24+DQorICAgICAgPC9lbnRyeT4N CisgICAgICA8ZW50cnkgbmFtZT0idGlsZWRfdG9wIiB2YWx1ZT0iNyIgc2luY2U9IjIiPg0KKwk8 ZGVzY3JpcHRpb24gc3VtbWFyeT0idGhlIHN1cmZhY2UgaXMgdGlsZWQiPg0KKwkgIFRoZSB3aW5k b3cgaXMgY3VycmVudGx5IGluIGEgdGlsZWQgbGF5b3V0IGFuZCB0aGUgdG9wIGVkZ2UgaXMNCisJ ICBjb25zaWRlcmVkIHRvIGJlIGFkamFjZW50IHRvIGFub3RoZXIgcGFydCBvZiB0aGUgdGlsaW5n IGdyaWQuDQorCTwvZGVzY3JpcHRpb24+DQorICAgICAgPC9lbnRyeT4NCisgICAgICA8ZW50cnkg bmFtZT0idGlsZWRfYm90dG9tIiB2YWx1ZT0iOCIgc2luY2U9IjIiPg0KKwk8ZGVzY3JpcHRpb24g c3VtbWFyeT0idGhlIHN1cmZhY2UgaXMgdGlsZWQiPg0KKwkgIFRoZSB3aW5kb3cgaXMgY3VycmVu dGx5IGluIGEgdGlsZWQgbGF5b3V0IGFuZCB0aGUgYm90dG9tIGVkZ2UgaXMNCisJICBjb25zaWRl cmVkIHRvIGJlIGFkamFjZW50IHRvIGFub3RoZXIgcGFydCBvZiB0aGUgdGlsaW5nIGdyaWQuDQor CTwvZGVzY3JpcHRpb24+DQorICAgICAgPC9lbnRyeT4NCiAgICAgPC9lbnVtPg0KIA0KICAgICA8 cmVxdWVzdCBuYW1lPSJzZXRfbWF4X3NpemUiPg0KQEAgLTgwNSwxMiArOTE5LDExIEBADQogCU1h eGltaXplIHRoZSBzdXJmYWNlLg0KIA0KIAlBZnRlciByZXF1ZXN0aW5nIHRoYXQgdGhlIHN1cmZh Y2Ugc2hvdWxkIGJlIG1heGltaXplZCwgdGhlIGNvbXBvc2l0b3INCi0Jd2lsbCByZXNwb25kIGJ5 IGVtaXR0aW5nIGEgY29uZmlndXJlIGV2ZW50IHdpdGggdGhlICJtYXhpbWl6ZWQiIHN0YXRlDQot CWFuZCB0aGUgcmVxdWlyZWQgd2luZG93IGdlb21ldHJ5LiBUaGUgY2xpZW50IHNob3VsZCB0aGVu IHVwZGF0ZSBpdHMNCi0JY29udGVudCwgZHJhd2luZyBpdCBpbiBhIG1heGltaXplZCBzdGF0ZSwg aS5lLiB3aXRob3V0IHNoYWRvdyBvciBvdGhlcg0KLQlkZWNvcmF0aW9uIG91dHNpZGUgb2YgdGhl IHdpbmRvdyBnZW9tZXRyeS4gVGhlIGNsaWVudCBtdXN0IGFsc28NCi0JYWNrbm93bGVkZ2UgdGhl IGNvbmZpZ3VyZSB3aGVuIGNvbW1pdHRpbmcgdGhlIG5ldyBjb250ZW50IChzZWUNCi0JYWNrX2Nv bmZpZ3VyZSkuDQorCXdpbGwgcmVzcG9uZCBieSBlbWl0dGluZyBhIGNvbmZpZ3VyZSBldmVudC4g V2hldGhlciB0aGlzIGNvbmZpZ3VyZQ0KKwlhY3R1YWxseSBzZXRzIHRoZSB3aW5kb3cgbWF4aW1p emVkIGlzIHN1YmplY3QgdG8gY29tcG9zaXRvciBwb2xpY2llcy4NCisJVGhlIGNsaWVudCBtdXN0 IHRoZW4gdXBkYXRlIGl0cyBjb250ZW50LCBkcmF3aW5nIGluIHRoZSBjb25maWd1cmVkDQorCXN0 YXRlLiBUaGUgY2xpZW50IG11c3QgYWxzbyBhY2tub3dsZWRnZSB0aGUgY29uZmlndXJlIHdoZW4g Y29tbWl0dGluZw0KKwl0aGUgbmV3IGNvbnRlbnQgKHNlZSBhY2tfY29uZmlndXJlKS4NCiANCiAJ SXQgaXMgdXAgdG8gdGhlIGNvbXBvc2l0b3IgdG8gZGVjaWRlIGhvdyBhbmQgd2hlcmUgdG8gbWF4 aW1pemUgdGhlDQogCXN1cmZhY2UsIGZvciBleGFtcGxlIHdoaWNoIG91dHB1dCBhbmQgd2hhdCBy ZWdpb24gb2YgdGhlIHNjcmVlbiBzaG91bGQNCkBAIC04MTgsNiArOTMxLDEwIEBADQogDQogCUlm IHRoZSBzdXJmYWNlIHdhcyBhbHJlYWR5IG1heGltaXplZCwgdGhlIGNvbXBvc2l0b3Igd2lsbCBz dGlsbCBlbWl0DQogCWEgY29uZmlndXJlIGV2ZW50IHdpdGggdGhlICJtYXhpbWl6ZWQiIHN0YXRl Lg0KKw0KKwlJZiB0aGUgc3VyZmFjZSBpcyBpbiBhIGZ1bGxzY3JlZW4gc3RhdGUsIHRoaXMgcmVx dWVzdCBoYXMgbm8gZGlyZWN0DQorCWVmZmVjdC4gSXQgbWF5IGFsdGVyIHRoZSBzdGF0ZSB0aGUg c3VyZmFjZSBpcyByZXR1cm5lZCB0byB3aGVuDQorCXVubWF4aW1pemVkIHVubGVzcyBvdmVycmlk ZGVuIGJ5IHRoZSBjb21wb3NpdG9yLg0KICAgICAgIDwvZGVzY3JpcHRpb24+DQogICAgIDwvcmVx dWVzdD4NCiANCkBAIC04MjYsMTMgKzk0MywxMyBAQA0KIAlVbm1heGltaXplIHRoZSBzdXJmYWNl Lg0KIA0KIAlBZnRlciByZXF1ZXN0aW5nIHRoYXQgdGhlIHN1cmZhY2Ugc2hvdWxkIGJlIHVubWF4 aW1pemVkLCB0aGUgY29tcG9zaXRvcg0KLQl3aWxsIHJlc3BvbmQgYnkgZW1pdHRpbmcgYSBjb25m aWd1cmUgZXZlbnQgd2l0aG91dCB0aGUgIm1heGltaXplZCINCi0Jc3RhdGUuIElmIGF2YWlsYWJs ZSwgdGhlIGNvbXBvc2l0b3Igd2lsbCBpbmNsdWRlIHRoZSB3aW5kb3cgZ2VvbWV0cnkNCi0JZGlt ZW5zaW9ucyB0aGUgd2luZG93IGhhZCBwcmlvciB0byBiZWluZyBtYXhpbWl6ZWQgaW4gdGhlIGNv bmZpZ3VyZQ0KLQlyZXF1ZXN0LiBUaGUgY2xpZW50IG11c3QgdGhlbiB1cGRhdGUgaXRzIGNvbnRl bnQsIGRyYXdpbmcgaXQgaW4gYQ0KLQlyZWd1bGFyIHN0YXRlLCBpLmUuIHBvdGVudGlhbGx5IHdp dGggc2hhZG93LCBldGMuIFRoZSBjbGllbnQgbXVzdCBhbHNvDQotCWFja25vd2xlZGdlIHRoZSBj b25maWd1cmUgd2hlbiBjb21taXR0aW5nIHRoZSBuZXcgY29udGVudCAoc2VlDQotCWFja19jb25m aWd1cmUpLg0KKwl3aWxsIHJlc3BvbmQgYnkgZW1pdHRpbmcgYSBjb25maWd1cmUgZXZlbnQuIFdo ZXRoZXIgdGhpcyBhY3R1YWxseQ0KKwl1bi1tYXhpbWl6ZXMgdGhlIHdpbmRvdyBpcyBzdWJqZWN0 IHRvIGNvbXBvc2l0b3IgcG9saWNpZXMuDQorCUlmIGF2YWlsYWJsZSBhbmQgYXBwbGljYWJsZSwg dGhlIGNvbXBvc2l0b3Igd2lsbCBpbmNsdWRlIHRoZSB3aW5kb3cNCisJZ2VvbWV0cnkgZGltZW5z aW9ucyB0aGUgd2luZG93IGhhZCBwcmlvciB0byBiZWluZyBtYXhpbWl6ZWQgaW4gdGhlDQorCWNv bmZpZ3VyZSBldmVudC4gVGhlIGNsaWVudCBtdXN0IHRoZW4gdXBkYXRlIGl0cyBjb250ZW50LCBk cmF3aW5nIGl0IGluDQorCXRoZSBjb25maWd1cmVkIHN0YXRlLiBUaGUgY2xpZW50IG11c3QgYWxz byBhY2tub3dsZWRnZSB0aGUgY29uZmlndXJlDQorCXdoZW4gY29tbWl0dGluZyB0aGUgbmV3IGNv bnRlbnQgKHNlZSBhY2tfY29uZmlndXJlKS4NCiANCiAJSXQgaXMgdXAgdG8gdGhlIGNvbXBvc2l0 b3IgdG8gcG9zaXRpb24gdGhlIHN1cmZhY2UgYWZ0ZXIgaXQgd2FzDQogCXVubWF4aW1pemVkOyB1 c3VhbGx5IHRoZSBwb3NpdGlvbiB0aGUgc3VyZmFjZSBoYWQgYmVmb3JlIG1heGltaXppbmcsIGlm DQpAQCAtODQwLDI0ICs5NTcsNjMgQEANCiANCiAJSWYgdGhlIHN1cmZhY2Ugd2FzIGFscmVhZHkg bm90IG1heGltaXplZCwgdGhlIGNvbXBvc2l0b3Igd2lsbCBzdGlsbA0KIAllbWl0IGEgY29uZmln dXJlIGV2ZW50IHdpdGhvdXQgdGhlICJtYXhpbWl6ZWQiIHN0YXRlLg0KKw0KKwlJZiB0aGUgc3Vy ZmFjZSBpcyBpbiBhIGZ1bGxzY3JlZW4gc3RhdGUsIHRoaXMgcmVxdWVzdCBoYXMgbm8gZGlyZWN0 DQorCWVmZmVjdC4gSXQgbWF5IGFsdGVyIHRoZSBzdGF0ZSB0aGUgc3VyZmFjZSBpcyByZXR1cm5l ZCB0byB3aGVuDQorCXVubWF4aW1pemVkIHVubGVzcyBvdmVycmlkZGVuIGJ5IHRoZSBjb21wb3Np dG9yLg0KICAgICAgIDwvZGVzY3JpcHRpb24+DQogICAgIDwvcmVxdWVzdD4NCiANCiAgICAgPHJl cXVlc3QgbmFtZT0ic2V0X2Z1bGxzY3JlZW4iPg0KLSAgICAgIDxkZXNjcmlwdGlvbiBzdW1tYXJ5 PSJzZXQgdGhlIHdpbmRvdyBhcyBmdWxsc2NyZWVuIG9uIGEgbW9uaXRvciI+DQorICAgICAgPGRl c2NyaXB0aW9uIHN1bW1hcnk9InNldCB0aGUgd2luZG93IGFzIGZ1bGxzY3JlZW4gb24gYW4gb3V0 cHV0Ij4NCiAJTWFrZSB0aGUgc3VyZmFjZSBmdWxsc2NyZWVuLg0KIA0KLQlZb3UgY2FuIHNwZWNp ZnkgYW4gb3V0cHV0IHRoYXQgeW91IHdvdWxkIHByZWZlciB0byBiZSBmdWxsc2NyZWVuLg0KLQlJ ZiB0aGlzIHZhbHVlIGlzIE5VTEwsIGl0J3MgdXAgdG8gdGhlIGNvbXBvc2l0b3IgdG8gY2hvb3Nl IHdoaWNoDQotCWRpc3BsYXkgd2lsbCBiZSB1c2VkIHRvIG1hcCB0aGlzIHN1cmZhY2UuDQorCUFm dGVyIHJlcXVlc3RpbmcgdGhhdCB0aGUgc3VyZmFjZSBzaG91bGQgYmUgZnVsbHNjcmVlbmVkLCB0 aGUNCisJY29tcG9zaXRvciB3aWxsIHJlc3BvbmQgYnkgZW1pdHRpbmcgYSBjb25maWd1cmUgZXZl bnQuIFdoZXRoZXIgdGhlDQorCWNsaWVudCBpcyBhY3R1YWxseSBwdXQgaW50byBhIGZ1bGxzY3Jl ZW4gc3RhdGUgaXMgc3ViamVjdCB0byBjb21wb3NpdG9yDQorCXBvbGljaWVzLiBUaGUgY2xpZW50 IG11c3QgYWxzbyBhY2tub3dsZWRnZSB0aGUgY29uZmlndXJlIHdoZW4NCisJY29tbWl0dGluZyB0 aGUgbmV3IGNvbnRlbnQgKHNlZSBhY2tfY29uZmlndXJlKS4NCisNCisJVGhlIG91dHB1dCBwYXNz ZWQgYnkgdGhlIHJlcXVlc3QgaW5kaWNhdGVzIHRoZSBjbGllbnQncyBwcmVmZXJlbmNlIGFzDQor CXRvIHdoaWNoIGRpc3BsYXkgaXQgc2hvdWxkIGJlIHNldCBmdWxsc2NyZWVuIG9uLiBJZiB0aGlz IHZhbHVlIGlzIE5VTEwsDQorCWl0J3MgdXAgdG8gdGhlIGNvbXBvc2l0b3IgdG8gY2hvb3NlIHdo aWNoIGRpc3BsYXkgd2lsbCBiZSB1c2VkIHRvIG1hcA0KKwl0aGlzIHN1cmZhY2UuDQogDQogCUlm IHRoZSBzdXJmYWNlIGRvZXNuJ3QgY292ZXIgdGhlIHdob2xlIG91dHB1dCwgdGhlIGNvbXBvc2l0 b3Igd2lsbA0KIAlwb3NpdGlvbiB0aGUgc3VyZmFjZSBpbiB0aGUgY2VudGVyIG9mIHRoZSBvdXRw dXQgYW5kIGNvbXBlbnNhdGUgd2l0aA0KLQlibGFjayBib3JkZXJzIGZpbGxpbmcgdGhlIHJlc3Qg b2YgdGhlIG91dHB1dC4NCisJd2l0aCBib3JkZXIgZmlsbCBjb3ZlcmluZyB0aGUgcmVzdCBvZiB0 aGUgb3V0cHV0LiBUaGUgY29udGVudCBvZiB0aGUNCisJYm9yZGVyIGZpbGwgaXMgdW5kZWZpbmVk LCBidXQgc2hvdWxkIGJlIGFzc3VtZWQgdG8gYmUgaW4gc29tZSB3YXkgdGhhdA0KKwlhdHRlbXB0 cyB0byBibGVuZCBpbnRvIHRoZSBzdXJyb3VuZGluZyBhcmVhIChlLmcuIHNvbGlkIGJsYWNrKS4N CisNCisJSWYgdGhlIGZ1bGxzY3JlZW5lZCBzdXJmYWNlIGlzIG5vdCBvcGFxdWUsIHRoZSBjb21w b3NpdG9yIG11c3QgbWFrZQ0KKwlzdXJlIHRoYXQgb3RoZXIgc2NyZWVuIGNvbnRlbnQgbm90IHBh cnQgb2YgdGhlIHNhbWUgc3VyZmFjZSB0cmVlIChtYWRlDQorCXVwIG9mIHN1YnN1cmZhY2VzLCBw b3B1cHMgb3Igc2ltaWxhcmx5IGNvdXBsZWQgc3VyZmFjZXMpIGFyZSBub3QNCisJdmlzaWJsZSBi ZWxvdyB0aGUgZnVsbHNjcmVlbmVkIHN1cmZhY2UuDQogICAgICAgPC9kZXNjcmlwdGlvbj4NCiAg ICAgICA8YXJnIG5hbWU9Im91dHB1dCIgdHlwZT0ib2JqZWN0IiBpbnRlcmZhY2U9IndsX291dHB1 dCIgYWxsb3ctbnVsbD0idHJ1ZSIvPg0KICAgICA8L3JlcXVlc3Q+DQotICAgIDxyZXF1ZXN0IG5h bWU9InVuc2V0X2Z1bGxzY3JlZW4iIC8+DQorDQorICAgIDxyZXF1ZXN0IG5hbWU9InVuc2V0X2Z1 bGxzY3JlZW4iPg0KKyAgICAgIDxkZXNjcmlwdGlvbiBzdW1tYXJ5PSJ1bnNldCB0aGUgd2luZG93 IGFzIGZ1bGxzY3JlZW4iPg0KKwlNYWtlIHRoZSBzdXJmYWNlIG5vIGxvbmdlciBmdWxsc2NyZWVu Lg0KKw0KKwlBZnRlciByZXF1ZXN0aW5nIHRoYXQgdGhlIHN1cmZhY2Ugc2hvdWxkIGJlIHVuZnVs bHNjcmVlbmVkLCB0aGUNCisJY29tcG9zaXRvciB3aWxsIHJlc3BvbmQgYnkgZW1pdHRpbmcgYSBj b25maWd1cmUgZXZlbnQuDQorCVdoZXRoZXIgdGhpcyBhY3R1YWxseSByZW1vdmVzIHRoZSBmdWxs c2NyZWVuIHN0YXRlIG9mIHRoZSBjbGllbnQgaXMNCisJc3ViamVjdCB0byBjb21wb3NpdG9yIHBv bGljaWVzLg0KKw0KKwlNYWtpbmcgYSBzdXJmYWNlIHVuZnVsbHNjcmVlbiBzZXRzIHN0YXRlcyBm b3IgdGhlIHN1cmZhY2UgYmFzZWQgb24gdGhlIGZvbGxvd2luZzoNCisJKiB0aGUgc3RhdGUocykg aXQgbWF5IGhhdmUgaGFkIGJlZm9yZSBiZWNvbWluZyBmdWxsc2NyZWVuDQorCSogYW55IHN0YXRl KHMpIGRlY2lkZWQgYnkgdGhlIGNvbXBvc2l0b3INCisJKiBhbnkgc3RhdGUocykgcmVxdWVzdGVk IGJ5IHRoZSBjbGllbnQgd2hpbGUgdGhlIHN1cmZhY2Ugd2FzIGZ1bGxzY3JlZW4NCisNCisJVGhl IGNvbXBvc2l0b3IgbWF5IGluY2x1ZGUgdGhlIHByZXZpb3VzIHdpbmRvdyBnZW9tZXRyeSBkaW1l bnNpb25zIGluDQorCXRoZSBjb25maWd1cmUgZXZlbnQsIGlmIGFwcGxpY2FibGUuDQorDQorCVRo ZSBjbGllbnQgbXVzdCBhbHNvIGFja25vd2xlZGdlIHRoZSBjb25maWd1cmUgd2hlbiBjb21taXR0 aW5nIHRoZSBuZXcNCisJY29udGVudCAoc2VlIGFja19jb25maWd1cmUpLg0KKyAgICAgIDwvZGVz Y3JpcHRpb24+DQorICAgIDwvcmVxdWVzdD4NCiANCiAgICAgPHJlcXVlc3QgbmFtZT0ic2V0X21p bmltaXplZCI+DQogICAgICAgPGRlc2NyaXB0aW9uIHN1bW1hcnk9InNldCB0aGUgd2luZG93IGFz IG1pbmltaXplZCI+DQpAQCAtOTEzLDcgKzEwNjksNyBAQA0KICAgICA8L2V2ZW50Pg0KICAgPC9p bnRlcmZhY2U+DQogDQotICA8aW50ZXJmYWNlIG5hbWU9Inp4ZGdfcG9wdXBfdjYiIHZlcnNpb249 IjEiPg0KKyAgPGludGVyZmFjZSBuYW1lPSJ4ZGdfcG9wdXAiIHZlcnNpb249IjMiPg0KICAgICA8 ZGVzY3JpcHRpb24gc3VtbWFyeT0ic2hvcnQtbGl2ZWQsIHBvcHVwIHN1cmZhY2VzIGZvciBtZW51 cyI+DQogICAgICAgQSBwb3B1cCBzdXJmYWNlIGlzIGEgc2hvcnQtbGl2ZWQsIHRlbXBvcmFyeSBz dXJmYWNlLiBJdCBjYW4gYmUgdXNlZCB0bw0KICAgICAgIGltcGxlbWVudCBmb3IgZXhhbXBsZSBt ZW51cywgcG9wb3ZlcnMsIHRvb2x0aXBzIGFuZCBvdGhlciBzaW1pbGFyIHVzZXINCkBAIC05MzEs MjEgKzEwODcsMTIgQEANCiAgICAgICBzdXJmYWNlIG9mIHRoZWlyIG93biBpcyBjbGlja2VkIHNo b3VsZCBkaXNtaXNzIHRoZSBwb3B1cCB1c2luZyB0aGUgZGVzdHJveQ0KICAgICAgIHJlcXVlc3Qu DQogDQotICAgICAgVGhlIHBhcmVudCBzdXJmYWNlIG11c3QgaGF2ZSBlaXRoZXIgdGhlIHhkZ190 b3BsZXZlbCBvciB4ZGdfcG9wdXAgc3VyZmFjZQ0KLSAgICAgIHJvbGUuDQotDQogICAgICAgQSBu ZXdseSBjcmVhdGVkIHhkZ19wb3B1cCB3aWxsIGJlIHN0YWNrZWQgb24gdG9wIG9mIGFsbCBwcmV2 aW91c2x5IGNyZWF0ZWQNCiAgICAgICB4ZGdfcG9wdXAgc3VyZmFjZXMgYXNzb2NpYXRlZCB3aXRo IHRoZSBzYW1lIHhkZ190b3BsZXZlbC4NCiANCiAgICAgICBUaGUgcGFyZW50IG9mIGFuIHhkZ19w b3B1cCBtdXN0IGJlIG1hcHBlZCAoc2VlIHRoZSB4ZGdfc3VyZmFjZQ0KICAgICAgIGRlc2NyaXB0 aW9uKSBiZWZvcmUgdGhlIHhkZ19wb3B1cCBpdHNlbGYuDQogDQotICAgICAgVGhlIHggYW5kIHkg YXJndW1lbnRzIHBhc3NlZCB3aGVuIGNyZWF0aW5nIHRoZSBwb3B1cCBvYmplY3Qgc3BlY2lmeQ0K LSAgICAgIHdoZXJlIHRoZSB0b3AgbGVmdCBvZiB0aGUgcG9wdXAgc2hvdWxkIGJlIHBsYWNlZCwg cmVsYXRpdmUgdG8gdGhlDQotICAgICAgbG9jYWwgc3VyZmFjZSBjb29yZGluYXRlcyBvZiB0aGUg cGFyZW50IHN1cmZhY2UuIFNlZQ0KLSAgICAgIHhkZ19zdXJmYWNlLmdldF9wb3B1cC4gQW4geGRn X3BvcHVwIG11c3QgaW50ZXJzZWN0IHdpdGggb3IgYmUgYXQgbGVhc3QNCi0gICAgICBwYXJ0aWFs bHkgYWRqYWNlbnQgdG8gaXRzIHBhcmVudCBzdXJmYWNlLg0KLQ0KICAgICAgIFRoZSBjbGllbnQg bXVzdCBjYWxsIHdsX3N1cmZhY2UuY29tbWl0IG9uIHRoZSBjb3JyZXNwb25kaW5nIHdsX3N1cmZh Y2UNCiAgICAgICBmb3IgdGhlIHhkZ19wb3B1cCBzdGF0ZSB0byB0YWtlIGVmZmVjdC4NCiAgICAg PC9kZXNjcmlwdGlvbj4NCkBAIC0xMDIzLDYgKzExNzAsMTEgQEANCiAJVGhlIHggYW5kIHkgYXJn dW1lbnRzIHJlcHJlc2VudCB0aGUgcG9zaXRpb24gdGhlIHBvcHVwIHdhcyBwbGFjZWQgYXQNCiAJ Z2l2ZW4gdGhlIHhkZ19wb3NpdGlvbmVyIHJ1bGUsIHJlbGF0aXZlIHRvIHRoZSB1cHBlciBsZWZ0 IGNvcm5lciBvZiB0aGUNCiAJd2luZG93IGdlb21ldHJ5IG9mIHRoZSBwYXJlbnQgc3VyZmFjZS4N CisNCisJRm9yIHZlcnNpb24gMiBvciBvbGRlciwgdGhlIGNvbmZpZ3VyZSBldmVudCBmb3IgYW4g eGRnX3BvcHVwIGlzIG9ubHkNCisJZXZlciBzZW50IG9uY2UgZm9yIHRoZSBpbml0aWFsIGNvbmZp Z3VyYXRpb24uIFN0YXJ0aW5nIHdpdGggdmVyc2lvbiAzLA0KKwlpdCBtYXkgYmUgc2VudCBhZ2Fp biBpZiB0aGUgcG9wdXAgaXMgc2V0dXAgd2l0aCBhbiB4ZGdfcG9zaXRpb25lciB3aXRoDQorCXNl dF9yZWFjdGl2ZSByZXF1ZXN0ZWQsIG9yIGluIHJlc3BvbnNlIHRvIHhkZ19wb3B1cC5yZXBvc2l0 aW9uIHJlcXVlc3RzLg0KICAgICAgIDwvZGVzY3JpcHRpb24+DQogICAgICAgPGFyZyBuYW1lPSJ4 IiB0eXBlPSJpbnQiDQogCSAgIHN1bW1hcnk9InggcG9zaXRpb24gcmVsYXRpdmUgdG8gcGFyZW50 IHN1cmZhY2Ugd2luZG93IGdlb21ldHJ5Ii8+DQpAQCAtMTA0MCw1ICsxMTkyLDU4IEBADQogICAg ICAgPC9kZXNjcmlwdGlvbj4NCiAgICAgPC9ldmVudD4NCiANCisgICAgPCEtLSBWZXJzaW9uIDMg YWRkaXRpb25zIC0tPg0KKw0KKyAgICA8cmVxdWVzdCBuYW1lPSJyZXBvc2l0aW9uIiBzaW5jZT0i MyI+DQorICAgICAgPGRlc2NyaXB0aW9uIHN1bW1hcnk9InJlY2FsY3VsYXRlIHRoZSBwb3B1cCdz IGxvY2F0aW9uIj4NCisJUmVwb3NpdGlvbiBhbiBhbHJlYWR5LW1hcHBlZCBwb3B1cC4gVGhlIHBv cHVwIHdpbGwgYmUgcGxhY2VkIGdpdmVuIHRoZQ0KKwlkZXRhaWxzIGluIHRoZSBwYXNzZWQgeGRn X3Bvc2l0aW9uZXIgb2JqZWN0LCBhbmQgYQ0KKwl4ZGdfcG9wdXAucmVwb3NpdGlvbmVkIGZvbGxv d2VkIGJ5IHhkZ19wb3B1cC5jb25maWd1cmUgYW5kDQorCXhkZ19zdXJmYWNlLmNvbmZpZ3VyZSB3 aWxsIGJlIGVtaXR0ZWQgaW4gcmVzcG9uc2UuIEFueSBwYXJhbWV0ZXJzIHNldA0KKwlieSB0aGUg cHJldmlvdXMgcG9zaXRpb25lciB3aWxsIGJlIGRpc2NhcmRlZC4NCisNCisJVGhlIHBhc3NlZCB0 b2tlbiB3aWxsIGJlIHNlbnQgaW4gdGhlIGNvcnJlc3BvbmRpbmcNCisJeGRnX3BvcHVwLnJlcG9z aXRpb25lZCBldmVudC4gVGhlIG5ldyBwb3B1cCBwb3NpdGlvbiB3aWxsIG5vdCB0YWtlDQorCWVm ZmVjdCB1bnRpbCB0aGUgY29ycmVzcG9uZGluZyBjb25maWd1cmUgZXZlbnQgaXMgYWNrbm93bGVk Z2VkIGJ5IHRoZQ0KKwljbGllbnQuIFNlZSB4ZGdfcG9wdXAucmVwb3NpdGlvbmVkIGZvciBkZXRh aWxzLiBUaGUgdG9rZW4gaXRzZWxmIGlzDQorCW9wYXF1ZSwgYW5kIGhhcyBubyBvdGhlciBzcGVj aWFsIG1lYW5pbmcuDQorDQorCUlmIG11bHRpcGxlIHJlcG9zaXRpb24gcmVxdWVzdHMgYXJlIHNl bnQsIHRoZSBjb21wb3NpdG9yIG1heSBza2lwIGFsbA0KKwlidXQgdGhlIGxhc3Qgb25lLg0KKw0K KwlJZiB0aGUgcG9wdXAgaXMgcmVwb3NpdGlvbmVkIGluIHJlc3BvbnNlIHRvIGEgY29uZmlndXJl IGV2ZW50IGZvciBpdHMNCisJcGFyZW50LCB0aGUgY2xpZW50IHNob3VsZCBzZW5kIGFuIHhkZ19w b3NpdGlvbmVyLnNldF9wYXJlbnRfY29uZmlndXJlDQorCWFuZCBwb3NzaWJseSBhIHhkZ19wb3Np dGlvbmVyLnNldF9wYXJlbnRfc2l6ZSByZXF1ZXN0IHRvIGFsbG93IHRoZQ0KKwljb21wb3NpdG9y IHRvIHByb3Blcmx5IGNvbnN0cmFpbiB0aGUgcG9wdXAuDQorDQorCUlmIHRoZSBwb3B1cCBpcyBy ZXBvc2l0aW9uZWQgdG9nZXRoZXIgd2l0aCBhIHBhcmVudCB0aGF0IGlzIGJlaW5nDQorCXJlc2l6 ZWQsIGJ1dCBub3QgaW4gcmVzcG9uc2UgdG8gYSBjb25maWd1cmUgZXZlbnQsIHRoZSBjbGllbnQg c2hvdWxkDQorCXNlbmQgYSB4ZGdfcG9zaXRpb25lci5zZXRfcGFyZW50X3NpemUgcmVxdWVzdC4N CisgICAgICA8L2Rlc2NyaXB0aW9uPg0KKyAgICAgIDxhcmcgbmFtZT0icG9zaXRpb25lciIgdHlw ZT0ib2JqZWN0IiBpbnRlcmZhY2U9InhkZ19wb3NpdGlvbmVyIi8+DQorICAgICAgPGFyZyBuYW1l PSJ0b2tlbiIgdHlwZT0idWludCIgc3VtbWFyeT0icmVwb3NpdGlvbiByZXF1ZXN0IHRva2VuIi8+ DQorICAgIDwvcmVxdWVzdD4NCisNCisgICAgPGV2ZW50IG5hbWU9InJlcG9zaXRpb25lZCIgc2lu Y2U9IjMiPg0KKyAgICAgIDxkZXNjcmlwdGlvbiBzdW1tYXJ5PSJzaWduYWwgdGhlIGNvbXBsZXRp b24gb2YgYSByZXBvc2l0aW9uZWQgcmVxdWVzdCI+DQorCVRoZSByZXBvc2l0aW9uZWQgZXZlbnQg aXMgc2VudCBhcyBwYXJ0IG9mIGEgcG9wdXAgY29uZmlndXJhdGlvbg0KKwlzZXF1ZW5jZSwgdG9n ZXRoZXIgd2l0aCB4ZGdfcG9wdXAuY29uZmlndXJlIGFuZCBsYXN0bHkNCisJeGRnX3N1cmZhY2Uu Y29uZmlndXJlIHRvIG5vdGlmeSB0aGUgY29tcGxldGlvbiBvZiBhIHJlcG9zaXRpb24gcmVxdWVz dC4NCisNCisJVGhlIHJlcG9zaXRpb25lZCBldmVudCBpcyB0byBub3RpZnkgYWJvdXQgdGhlIGNv bXBsZXRpb24gb2YgYQ0KKwl4ZGdfcG9wdXAucmVwb3NpdGlvbiByZXF1ZXN0LiBUaGUgdG9rZW4g YXJndW1lbnQgaXMgdGhlIHRva2VuIHBhc3NlZA0KKwlpbiB0aGUgeGRnX3BvcHVwLnJlcG9zaXRp b24gcmVxdWVzdC4NCisNCisJSW1tZWRpYXRlbHkgYWZ0ZXIgdGhpcyBldmVudCBpcyBlbWl0dGVk LCB4ZGdfcG9wdXAuY29uZmlndXJlIGFuZA0KKwl4ZGdfc3VyZmFjZS5jb25maWd1cmUgd2lsbCBi ZSBzZW50IHdpdGggdGhlIHVwZGF0ZWQgc2l6ZSBhbmQgcG9zaXRpb24sDQorCWFzIHdlbGwgYXMg YSBuZXcgY29uZmlndXJlIHNlcmlhbC4NCisNCisJVGhlIGNsaWVudCBzaG91bGQgb3B0aW9uYWxs eSB1cGRhdGUgdGhlIGNvbnRlbnQgb2YgdGhlIHBvcHVwLCBidXQgbXVzdA0KKwlhY2tub3dsZWRn ZSB0aGUgbmV3IHBvcHVwIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBuZXcgcG9zaXRpb24gdG8gdGFr ZQ0KKwllZmZlY3QuIFNlZSB4ZGdfc3VyZmFjZS5hY2tfY29uZmlndXJlIGZvciBkZXRhaWxzLg0K KyAgICAgIDwvZGVzY3JpcHRpb24+DQorICAgICAgPGFyZyBuYW1lPSJ0b2tlbiIgdHlwZT0idWlu dCIgc3VtbWFyeT0icmVwb3NpdGlvbiByZXF1ZXN0IHRva2VuIi8+DQorICAgIDwvZXZlbnQ+DQor DQogICA8L2ludGVyZmFjZT4NCiA8L3Byb3RvY29sPg0KZGlmZiAtLWdpdCBhL3ZtX3Rvb2xzL3Nv bW1lbGllci9zb21tZWxpZXIteGRnLXNoZWxsLmNjIGIvdm1fdG9vbHMvc29tbWVsaWVyL3NvbW1l bGllci14ZGctc2hlbGwuY2MNCmluZGV4IDkxNzQ0YTY3ZTMuLjQ1YjhlZWI5M2UgMTAwNjQ0DQot LS0gYS92bV90b29scy9zb21tZWxpZXIvc29tbWVsaWVyLXhkZy1zaGVsbC5jYw0KKysrIGIvdm1f dG9vbHMvc29tbWVsaWVyL3NvbW1lbGllci14ZGctc2hlbGwuY2MNCkBAIC03LDM3ICs3LDM3IEBA DQogI2luY2x1ZGUgPGFzc2VydC5oPg0KICNpbmNsdWRlIDxzdGRsaWIuaD4NCiANCi0jaW5jbHVk ZSAieGRnLXNoZWxsLXVuc3RhYmxlLXY2LWNsaWVudC1wcm90b2NvbC5oIiAgLy8gTk9MSU5UKGJ1 aWxkL2luY2x1ZGVfZGlyZWN0b3J5KQ0KLSNpbmNsdWRlICJ4ZGctc2hlbGwtdW5zdGFibGUtdjYt c2VydmVyLXByb3RvY29sLmgiICAvLyBOT0xJTlQoYnVpbGQvaW5jbHVkZV9kaXJlY3RvcnkpDQor I2luY2x1ZGUgInhkZy1zaGVsbC1jbGllbnQtcHJvdG9jb2wuaCIgIC8vIE5PTElOVChidWlsZC9p bmNsdWRlX2RpcmVjdG9yeSkNCisjaW5jbHVkZSAieGRnLXNoZWxsLXNlcnZlci1wcm90b2NvbC5o IiAgLy8gTk9MSU5UKGJ1aWxkL2luY2x1ZGVfZGlyZWN0b3J5KQ0KIA0KIHN0cnVjdCBzbF9ob3N0 X3hkZ19zaGVsbCB7DQogICBzdHJ1Y3Qgc2xfY29udGV4dCogY3R4Ow0KICAgc3RydWN0IHdsX3Jl c291cmNlKiByZXNvdXJjZTsNCi0gIHN0cnVjdCB6eGRnX3NoZWxsX3Y2KiBwcm94eTsNCisgIHN0 cnVjdCB4ZGdfd21fYmFzZSogcHJveHk7DQogfTsNCiANCiBzdHJ1Y3Qgc2xfaG9zdF94ZGdfc3Vy ZmFjZSB7DQogICBzdHJ1Y3Qgc2xfY29udGV4dCogY3R4Ow0KICAgc3RydWN0IHdsX3Jlc291cmNl KiByZXNvdXJjZTsNCi0gIHN0cnVjdCB6eGRnX3N1cmZhY2VfdjYqIHByb3h5Ow0KKyAgc3RydWN0 IHhkZ19zdXJmYWNlKiBwcm94eTsNCiB9Ow0KIA0KIHN0cnVjdCBzbF9ob3N0X3hkZ190b3BsZXZl bCB7DQogICBzdHJ1Y3Qgc2xfY29udGV4dCogY3R4Ow0KICAgc3RydWN0IHdsX3Jlc291cmNlKiBy ZXNvdXJjZTsNCi0gIHN0cnVjdCB6eGRnX3RvcGxldmVsX3Y2KiBwcm94eTsNCisgIHN0cnVjdCB4 ZGdfdG9wbGV2ZWwqIHByb3h5Ow0KIH07DQogDQogc3RydWN0IHNsX2hvc3RfeGRnX3BvcHVwIHsN CiAgIHN0cnVjdCBzbF9jb250ZXh0KiBjdHg7DQogICBzdHJ1Y3Qgd2xfcmVzb3VyY2UqIHJlc291 cmNlOw0KLSAgc3RydWN0IHp4ZGdfcG9wdXBfdjYqIHByb3h5Ow0KKyAgc3RydWN0IHhkZ19wb3B1 cCogcHJveHk7DQogfTsNCiANCiBzdHJ1Y3Qgc2xfaG9zdF94ZGdfcG9zaXRpb25lciB7DQogICBz dHJ1Y3Qgc2xfY29udGV4dCogY3R4Ow0KICAgc3RydWN0IHdsX3Jlc291cmNlKiByZXNvdXJjZTsN Ci0gIHN0cnVjdCB6eGRnX3Bvc2l0aW9uZXJfdjYqIHByb3h5Ow0KKyAgc3RydWN0IHhkZ19wb3Np dGlvbmVyKiBwcm94eTsNCiB9Ow0KIA0KIHN0YXRpYyB2b2lkIHNsX3hkZ19wb3NpdGlvbmVyX2Rl c3Ryb3koc3RydWN0IHdsX2NsaWVudCogY2xpZW50LA0KQEAgLTUzLDcgKzUzLDcgQEAgc3RhdGlj IHZvaWQgc2xfeGRnX3Bvc2l0aW9uZXJfc2V0X3NpemUoc3RydWN0IHdsX2NsaWVudCogY2xpZW50 LA0KICAgICAgIHN0YXRpY19jYXN0PHNsX2hvc3RfeGRnX3Bvc2l0aW9uZXIqPih3bF9yZXNvdXJj ZV9nZXRfdXNlcl9kYXRhKHJlc291cmNlKSk7DQogICBkb3VibGUgc2NhbGUgPSBob3N0LT5jdHgt PnNjYWxlOw0KIA0KLSAgenhkZ19wb3NpdGlvbmVyX3Y2X3NldF9zaXplKGhvc3QtPnByb3h5LCB3 aWR0aCAvIHNjYWxlLCBoZWlnaHQgLyBzY2FsZSk7DQorICB4ZGdfcG9zaXRpb25lcl9zZXRfc2l6 ZShob3N0LT5wcm94eSwgd2lkdGggLyBzY2FsZSwgaGVpZ2h0IC8gc2NhbGUpOw0KIH0NCiANCiBz dGF0aWMgdm9pZCBzbF94ZGdfcG9zaXRpb25lcl9zZXRfYW5jaG9yX3JlY3Qoc3RydWN0IHdsX2Ns aWVudCogY2xpZW50LA0KQEAgLTcyLDcgKzcyLDcgQEAgc3RhdGljIHZvaWQgc2xfeGRnX3Bvc2l0 aW9uZXJfc2V0X2FuY2hvcl9yZWN0KHN0cnVjdCB3bF9jbGllbnQqIGNsaWVudCwNCiAgIHgyID0g KHggKyB3aWR0aCkgLyBzY2FsZTsNCiAgIHkyID0gKHkgKyBoZWlnaHQpIC8gc2NhbGU7DQogDQot ICB6eGRnX3Bvc2l0aW9uZXJfdjZfc2V0X2FuY2hvcl9yZWN0KGhvc3QtPnByb3h5LCB4MSwgeTEs IHgyIC0geDEsIHkyIC0geTEpOw0KKyAgeGRnX3Bvc2l0aW9uZXJfc2V0X2FuY2hvcl9yZWN0KGhv c3QtPnByb3h5LCB4MSwgeTEsIHgyIC0geDEsIHkyIC0geTEpOw0KIH0NCiANCiBzdGF0aWMgdm9p ZCBzbF94ZGdfcG9zaXRpb25lcl9zZXRfYW5jaG9yKHN0cnVjdCB3bF9jbGllbnQqIGNsaWVudCwN CkBAIC04MSw3ICs4MSw3IEBAIHN0YXRpYyB2b2lkIHNsX3hkZ19wb3NpdGlvbmVyX3NldF9hbmNo b3Ioc3RydWN0IHdsX2NsaWVudCogY2xpZW50LA0KICAgc3RydWN0IHNsX2hvc3RfeGRnX3Bvc2l0 aW9uZXIqIGhvc3QgPQ0KICAgICAgIHN0YXRpY19jYXN0PHNsX2hvc3RfeGRnX3Bvc2l0aW9uZXIq Pih3bF9yZXNvdXJjZV9nZXRfdXNlcl9kYXRhKHJlc291cmNlKSk7DQogDQotICB6eGRnX3Bvc2l0 aW9uZXJfdjZfc2V0X2FuY2hvcihob3N0LT5wcm94eSwgYW5jaG9yKTsNCisgIHhkZ19wb3NpdGlv bmVyX3NldF9hbmNob3IoaG9zdC0+cHJveHksIGFuY2hvcik7DQogfQ0KIA0KIHN0YXRpYyB2b2lk IHNsX3hkZ19wb3NpdGlvbmVyX3NldF9ncmF2aXR5KHN0cnVjdCB3bF9jbGllbnQqIGNsaWVudCwN CkBAIC05MCw3ICs5MCw3IEBAIHN0YXRpYyB2b2lkIHNsX3hkZ19wb3NpdGlvbmVyX3NldF9ncmF2 aXR5KHN0cnVjdCB3bF9jbGllbnQqIGNsaWVudCwNCiAgIHN0cnVjdCBzbF9ob3N0X3hkZ19wb3Np dGlvbmVyKiBob3N0ID0NCiAgICAgICBzdGF0aWNfY2FzdDxzbF9ob3N0X3hkZ19wb3NpdGlvbmVy Kj4od2xfcmVzb3VyY2VfZ2V0X3VzZXJfZGF0YShyZXNvdXJjZSkpOw0KIA0KLSAgenhkZ19wb3Np dGlvbmVyX3Y2X3NldF9ncmF2aXR5KGhvc3QtPnByb3h5LCBncmF2aXR5KTsNCisgIHhkZ19wb3Np dGlvbmVyX3NldF9ncmF2aXR5KGhvc3QtPnByb3h5LCBncmF2aXR5KTsNCiB9DQogDQogc3RhdGlj IHZvaWQgc2xfeGRnX3Bvc2l0aW9uZXJfc2V0X2NvbnN0cmFpbnRfYWRqdXN0bWVudCgNCkBAIC0x MDAsOCArMTAwLDcgQEAgc3RhdGljIHZvaWQgc2xfeGRnX3Bvc2l0aW9uZXJfc2V0X2NvbnN0cmFp bnRfYWRqdXN0bWVudCgNCiAgIHN0cnVjdCBzbF9ob3N0X3hkZ19wb3NpdGlvbmVyKiBob3N0ID0N CiAgICAgICBzdGF0aWNfY2FzdDxzbF9ob3N0X3hkZ19wb3NpdGlvbmVyKj4od2xfcmVzb3VyY2Vf Z2V0X3VzZXJfZGF0YShyZXNvdXJjZSkpOw0KIA0KLSAgenhkZ19wb3NpdGlvbmVyX3Y2X3NldF9j b25zdHJhaW50X2FkanVzdG1lbnQoaG9zdC0+cHJveHksDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdHJhaW50X2FkanVzdG1lbnQpOw0KKyAgeGRn X3Bvc2l0aW9uZXJfc2V0X2NvbnN0cmFpbnRfYWRqdXN0bWVudChob3N0LT5wcm94eSwgY29uc3Ry YWludF9hZGp1c3RtZW50KTsNCiB9ICAvLyBOT0xJTlQod2hpdGVzcGFjZS9pbmRlbnQpDQogDQog c3RhdGljIHZvaWQgc2xfeGRnX3Bvc2l0aW9uZXJfc2V0X29mZnNldChzdHJ1Y3Qgd2xfY2xpZW50 KiBjbGllbnQsDQpAQCAtMTEyLDI0ICsxMTEsMjMgQEAgc3RhdGljIHZvaWQgc2xfeGRnX3Bvc2l0 aW9uZXJfc2V0X29mZnNldChzdHJ1Y3Qgd2xfY2xpZW50KiBjbGllbnQsDQogICAgICAgc3RhdGlj X2Nhc3Q8c2xfaG9zdF94ZGdfcG9zaXRpb25lcio+KHdsX3Jlc291cmNlX2dldF91c2VyX2RhdGEo cmVzb3VyY2UpKTsNCiAgIGRvdWJsZSBzY2FsZSA9IGhvc3QtPmN0eC0+c2NhbGU7DQogDQotICB6 eGRnX3Bvc2l0aW9uZXJfdjZfc2V0X29mZnNldChob3N0LT5wcm94eSwgeCAvIHNjYWxlLCB5IC8g c2NhbGUpOw0KKyAgeGRnX3Bvc2l0aW9uZXJfc2V0X29mZnNldChob3N0LT5wcm94eSwgeCAvIHNj YWxlLCB5IC8gc2NhbGUpOw0KIH0NCiANCi1zdGF0aWMgY29uc3Qgc3RydWN0IHp4ZGdfcG9zaXRp b25lcl92Nl9pbnRlcmZhY2UNCi0gICAgc2xfeGRnX3Bvc2l0aW9uZXJfaW1wbGVtZW50YXRpb24g PSB7DQotICAgICAgICBzbF94ZGdfcG9zaXRpb25lcl9kZXN0cm95LA0KLSAgICAgICAgc2xfeGRn X3Bvc2l0aW9uZXJfc2V0X3NpemUsDQotICAgICAgICBzbF94ZGdfcG9zaXRpb25lcl9zZXRfYW5j aG9yX3JlY3QsDQotICAgICAgICBzbF94ZGdfcG9zaXRpb25lcl9zZXRfYW5jaG9yLA0KLSAgICAg ICAgc2xfeGRnX3Bvc2l0aW9uZXJfc2V0X2dyYXZpdHksDQotICAgICAgICBzbF94ZGdfcG9zaXRp b25lcl9zZXRfY29uc3RyYWludF9hZGp1c3RtZW50LA0KLSAgICAgICAgc2xfeGRnX3Bvc2l0aW9u ZXJfc2V0X29mZnNldH07DQorc3RhdGljIGNvbnN0IHN0cnVjdCB4ZGdfcG9zaXRpb25lcl9pbnRl cmZhY2Ugc2xfeGRnX3Bvc2l0aW9uZXJfaW1wbGVtZW50YXRpb24gPQ0KKyAgICB7c2xfeGRnX3Bv c2l0aW9uZXJfZGVzdHJveSwNCisgICAgIHNsX3hkZ19wb3NpdGlvbmVyX3NldF9zaXplLA0KKyAg ICAgc2xfeGRnX3Bvc2l0aW9uZXJfc2V0X2FuY2hvcl9yZWN0LA0KKyAgICAgc2xfeGRnX3Bvc2l0 aW9uZXJfc2V0X2FuY2hvciwNCisgICAgIHNsX3hkZ19wb3NpdGlvbmVyX3NldF9ncmF2aXR5LA0K KyAgICAgc2xfeGRnX3Bvc2l0aW9uZXJfc2V0X2NvbnN0cmFpbnRfYWRqdXN0bWVudCwNCisgICAg IHNsX3hkZ19wb3NpdGlvbmVyX3NldF9vZmZzZXR9Ow0KIA0KIHN0YXRpYyB2b2lkIHNsX2Rlc3Ry b3lfaG9zdF94ZGdfcG9zaXRpb25lcihzdHJ1Y3Qgd2xfcmVzb3VyY2UqIHJlc291cmNlKSB7DQog ICBzdHJ1Y3Qgc2xfaG9zdF94ZGdfcG9zaXRpb25lciogaG9zdCA9DQogICAgICAgc3RhdGljX2Nh c3Q8c2xfaG9zdF94ZGdfcG9zaXRpb25lcio+KHdsX3Jlc291cmNlX2dldF91c2VyX2RhdGEocmVz b3VyY2UpKTsNCiANCi0gIHp4ZGdfcG9zaXRpb25lcl92Nl9kZXN0cm95KGhvc3QtPnByb3h5KTsN CisgIHhkZ19wb3NpdGlvbmVyX2Rlc3Ryb3koaG9zdC0+cHJveHkpOw0KICAgd2xfcmVzb3VyY2Vf c2V0X3VzZXJfZGF0YShyZXNvdXJjZSwgTlVMTCk7DQogICBmcmVlKGhvc3QpOw0KIH0NCkBAIC0x NDgsMjAgKzE0NiwyMCBAQCBzdGF0aWMgdm9pZCBzbF94ZGdfcG9wdXBfZ3JhYihzdHJ1Y3Qgd2xf Y2xpZW50KiBjbGllbnQsDQogICBzdHJ1Y3Qgc2xfaG9zdF9zZWF0KiBob3N0X3NlYXQgPQ0KICAg ICAgIHN0YXRpY19jYXN0PHNsX2hvc3Rfc2VhdCo+KHdsX3Jlc291cmNlX2dldF91c2VyX2RhdGEo c2VhdF9yZXNvdXJjZSkpOw0KIA0KLSAgenhkZ19wb3B1cF92Nl9ncmFiKGhvc3QtPnByb3h5LCBo b3N0X3NlYXQtPnByb3h5LCBzZXJpYWwpOw0KKyAgeGRnX3BvcHVwX2dyYWIoaG9zdC0+cHJveHks IGhvc3Rfc2VhdC0+cHJveHksIHNlcmlhbCk7DQogfSAgLy8gTk9MSU5UKHdoaXRlc3BhY2UvaW5k ZW50KQ0KIA0KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgenhkZ19wb3B1cF92Nl9pbnRlcmZhY2Ugc2xf eGRnX3BvcHVwX2ltcGxlbWVudGF0aW9uID0gew0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGRnX3Bv cHVwX2ludGVyZmFjZSBzbF94ZGdfcG9wdXBfaW1wbGVtZW50YXRpb24gPSB7DQogICAgIHNsX3hk Z19wb3B1cF9kZXN0cm95LCBzbF94ZGdfcG9wdXBfZ3JhYn07DQogDQogc3RhdGljIHZvaWQgc2xf eGRnX3BvcHVwX2NvbmZpZ3VyZSh2b2lkKiBkYXRhLA0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc3RydWN0IHp4ZGdfcG9wdXBfdjYqIHhkZ19wb3B1cCwNCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB4ZGdfcG9wdXAqIHhkZ19wb3B1cCwNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDMyX3QgeCwNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGludDMyX3QgeSwNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGludDMyX3Qgd2lkdGgsDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBpbnQzMl90IGhlaWdodCkgew0KICAgc3RydWN0IHNsX2hvc3RfeGRnX3BvcHVw KiBob3N0ID0NCi0gICAgICBzdGF0aWNfY2FzdDxzbF9ob3N0X3hkZ19wb3B1cCo+KHp4ZGdfcG9w dXBfdjZfZ2V0X3VzZXJfZGF0YSh4ZGdfcG9wdXApKTsNCisgICAgICBzdGF0aWNfY2FzdDxzbF9o b3N0X3hkZ19wb3B1cCo+KHhkZ19wb3B1cF9nZXRfdXNlcl9kYXRhKHhkZ19wb3B1cCkpOw0KICAg ZG91YmxlIHNjYWxlID0gaG9zdC0+Y3R4LT5zY2FsZTsNCiAgIGludDMyX3QgeDEsIHkxLCB4Miwg eTI7DQogDQpAQCAtMTcwLDI1ICsxNjgsMjQgQEAgc3RhdGljIHZvaWQgc2xfeGRnX3BvcHVwX2Nv bmZpZ3VyZSh2b2lkKiBkYXRhLA0KICAgeDIgPSAoeCArIHdpZHRoKSAqIHNjYWxlOw0KICAgeTIg PSAoeSArIGhlaWdodCkgKiBzY2FsZTsNCiANCi0gIHp4ZGdfcG9wdXBfdjZfc2VuZF9jb25maWd1 cmUoaG9zdC0+cmVzb3VyY2UsIHgxLCB5MSwgeDIgLSB4MSwgeTIgLSB5MSk7DQorICB4ZGdfcG9w dXBfc2VuZF9jb25maWd1cmUoaG9zdC0+cmVzb3VyY2UsIHgxLCB5MSwgeDIgLSB4MSwgeTIgLSB5 MSk7DQogfQ0KIA0KLXN0YXRpYyB2b2lkIHNsX3hkZ19wb3B1cF9wb3B1cF9kb25lKHZvaWQqIGRh dGEsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHp4ZGdfcG9w dXBfdjYqIHhkZ19wb3B1cCkgew0KK3N0YXRpYyB2b2lkIHNsX3hkZ19wb3B1cF9wb3B1cF9kb25l KHZvaWQqIGRhdGEsIHN0cnVjdCB4ZGdfcG9wdXAqIHhkZ19wb3B1cCkgew0KICAgc3RydWN0IHNs X2hvc3RfeGRnX3BvcHVwKiBob3N0ID0NCi0gICAgICBzdGF0aWNfY2FzdDxzbF9ob3N0X3hkZ19w b3B1cCo+KHp4ZGdfcG9wdXBfdjZfZ2V0X3VzZXJfZGF0YSh4ZGdfcG9wdXApKTsNCisgICAgICBz dGF0aWNfY2FzdDxzbF9ob3N0X3hkZ19wb3B1cCo+KHhkZ19wb3B1cF9nZXRfdXNlcl9kYXRhKHhk Z19wb3B1cCkpOw0KIA0KLSAgenhkZ19wb3B1cF92Nl9zZW5kX3BvcHVwX2RvbmUoaG9zdC0+cmVz b3VyY2UpOw0KKyAgeGRnX3BvcHVwX3NlbmRfcG9wdXBfZG9uZShob3N0LT5yZXNvdXJjZSk7DQog fQ0KIA0KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgenhkZ19wb3B1cF92Nl9saXN0ZW5lciBzbF94ZGdf cG9wdXBfbGlzdGVuZXIgPSB7DQorc3RhdGljIGNvbnN0IHN0cnVjdCB4ZGdfcG9wdXBfbGlzdGVu ZXIgc2xfeGRnX3BvcHVwX2xpc3RlbmVyID0gew0KICAgICBzbF94ZGdfcG9wdXBfY29uZmlndXJl LCBzbF94ZGdfcG9wdXBfcG9wdXBfZG9uZX07DQogDQogc3RhdGljIHZvaWQgc2xfZGVzdHJveV9o b3N0X3hkZ19wb3B1cChzdHJ1Y3Qgd2xfcmVzb3VyY2UqIHJlc291cmNlKSB7DQogICBzdHJ1Y3Qg c2xfaG9zdF94ZGdfcG9wdXAqIGhvc3QgPQ0KICAgICAgIHN0YXRpY19jYXN0PHNsX2hvc3RfeGRn X3BvcHVwKj4od2xfcmVzb3VyY2VfZ2V0X3VzZXJfZGF0YShyZXNvdXJjZSkpOw0KIA0KLSAgenhk Z19wb3B1cF92Nl9kZXN0cm95KGhvc3QtPnByb3h5KTsNCisgIHhkZ19wb3B1cF9kZXN0cm95KGhv c3QtPnByb3h5KTsNCiAgIHdsX3Jlc291cmNlX3NldF91c2VyX2RhdGEocmVzb3VyY2UsIE5VTEwp Ow0KICAgZnJlZShob3N0KTsNCiB9DQpAQCAtMjA4LDggKzIwNSw3IEBAIHN0YXRpYyB2b2lkIHNs X3hkZ190b3BsZXZlbF9zZXRfcGFyZW50KHN0cnVjdCB3bF9jbGllbnQqIGNsaWVudCwNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgd2xfcmVzb3VyY2VfZ2V0X3VzZXJfZGF0YShwYXJlbnRf cmVzb3VyY2UpKQ0KICAgICAgICAgICAgICAgICAgICAgICA6IE5VTEw7DQogDQotICB6eGRnX3Rv cGxldmVsX3Y2X3NldF9wYXJlbnQoaG9zdC0+cHJveHksDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgaG9zdF9wYXJlbnQgPyBob3N0X3BhcmVudC0+cHJveHkgOiBOVUxMKTsNCisgIHhk Z190b3BsZXZlbF9zZXRfcGFyZW50KGhvc3QtPnByb3h5LCBob3N0X3BhcmVudCA/IGhvc3RfcGFy ZW50LT5wcm94eSA6IE5VTEwpOw0KIH0NCiANCiBzdGF0aWMgdm9pZCBzbF94ZGdfdG9wbGV2ZWxf c2V0X3RpdGxlKHN0cnVjdCB3bF9jbGllbnQqIGNsaWVudCwNCkBAIC0yMTgsNyArMjE0LDcgQEAg c3RhdGljIHZvaWQgc2xfeGRnX3RvcGxldmVsX3NldF90aXRsZShzdHJ1Y3Qgd2xfY2xpZW50KiBj bGllbnQsDQogICBzdHJ1Y3Qgc2xfaG9zdF94ZGdfdG9wbGV2ZWwqIGhvc3QgPQ0KICAgICAgIHN0 YXRpY19jYXN0PHNsX2hvc3RfeGRnX3RvcGxldmVsKj4od2xfcmVzb3VyY2VfZ2V0X3VzZXJfZGF0 YShyZXNvdXJjZSkpOw0KIA0KLSAgenhkZ190b3BsZXZlbF92Nl9zZXRfdGl0bGUoaG9zdC0+cHJv eHksIHRpdGxlKTsNCisgIHhkZ190b3BsZXZlbF9zZXRfdGl0bGUoaG9zdC0+cHJveHksIHRpdGxl KTsNCiB9DQogDQogc3RhdGljIHZvaWQgc2xfeGRnX3RvcGxldmVsX3NldF9hcHBfaWQoc3RydWN0 IHdsX2NsaWVudCogY2xpZW50LA0KQEAgLTIyNyw3ICsyMjMsNyBAQCBzdGF0aWMgdm9pZCBzbF94 ZGdfdG9wbGV2ZWxfc2V0X2FwcF9pZChzdHJ1Y3Qgd2xfY2xpZW50KiBjbGllbnQsDQogICBzdHJ1 Y3Qgc2xfaG9zdF94ZGdfdG9wbGV2ZWwqIGhvc3QgPQ0KICAgICAgIHN0YXRpY19jYXN0PHNsX2hv c3RfeGRnX3RvcGxldmVsKj4od2xfcmVzb3VyY2VfZ2V0X3VzZXJfZGF0YShyZXNvdXJjZSkpOw0K IA0KLSAgenhkZ190b3BsZXZlbF92Nl9zZXRfYXBwX2lkKGhvc3QtPnByb3h5LCBhcHBfaWQpOw0K KyAgeGRnX3RvcGxldmVsX3NldF9hcHBfaWQoaG9zdC0+cHJveHksIGFwcF9pZCk7DQogfQ0KIA0K IHN0YXRpYyB2b2lkIHNsX3hkZ190b3BsZXZlbF9zaG93X3dpbmRvd19tZW51KHN0cnVjdCB3bF9j bGllbnQqIGNsaWVudCwNCkBAIC0yNDMsNyArMjM5LDcgQEAgc3RhdGljIHZvaWQgc2xfeGRnX3Rv cGxldmVsX3Nob3dfd2luZG93X21lbnUoc3RydWN0IHdsX2NsaWVudCogY2xpZW50LA0KICAgICAg ICAgICA/IHN0YXRpY19jYXN0PHNsX2hvc3Rfc2VhdCo+KHdsX3Jlc291cmNlX2dldF91c2VyX2Rh dGEoc2VhdF9yZXNvdXJjZSkpDQogICAgICAgICAgIDogTlVMTDsNCiANCi0gIHp4ZGdfdG9wbGV2 ZWxfdjZfc2hvd193aW5kb3dfbWVudSgNCisgIHhkZ190b3BsZXZlbF9zaG93X3dpbmRvd19tZW51 KA0KICAgICAgIGhvc3QtPnByb3h5LCBob3N0X3NlYXQgPyBob3N0X3NlYXQtPnByb3h5IDogTlVM TCwgc2VyaWFsLCB4LCB5KTsNCiB9ICAvLyBOT0xJTlQod2hpdGVzcGFjZS9pbmRlbnQpDQogDQpA QCAtMjU4LDggKzI1NCw3IEBAIHN0YXRpYyB2b2lkIHNsX3hkZ190b3BsZXZlbF9tb3ZlKHN0cnVj dCB3bF9jbGllbnQqIGNsaWVudCwNCiAgICAgICAgICAgPyBzdGF0aWNfY2FzdDxzbF9ob3N0X3Nl YXQqPih3bF9yZXNvdXJjZV9nZXRfdXNlcl9kYXRhKHNlYXRfcmVzb3VyY2UpKQ0KICAgICAgICAg ICA6IE5VTEw7DQogDQotICB6eGRnX3RvcGxldmVsX3Y2X21vdmUoaG9zdC0+cHJveHksIGhvc3Rf c2VhdCA/IGhvc3Rfc2VhdC0+cHJveHkgOiBOVUxMLA0KLSAgICAgICAgICAgICAgICAgICAgICAg IHNlcmlhbCk7DQorICB4ZGdfdG9wbGV2ZWxfbW92ZShob3N0LT5wcm94eSwgaG9zdF9zZWF0ID8g aG9zdF9zZWF0LT5wcm94eSA6IE5VTEwsIHNlcmlhbCk7DQogfSAgLy8gTk9MSU5UKHdoaXRlc3Bh Y2UvaW5kZW50KQ0KIA0KIHN0YXRpYyB2b2lkIHNsX3hkZ190b3BsZXZlbF9yZXNpemUoc3RydWN0 IHdsX2NsaWVudCogY2xpZW50LA0KQEAgLTI3NCw4ICsyNjksOCBAQCBzdGF0aWMgdm9pZCBzbF94 ZGdfdG9wbGV2ZWxfcmVzaXplKHN0cnVjdCB3bF9jbGllbnQqIGNsaWVudCwNCiAgICAgICAgICAg PyBzdGF0aWNfY2FzdDxzbF9ob3N0X3NlYXQqPih3bF9yZXNvdXJjZV9nZXRfdXNlcl9kYXRhKHNl YXRfcmVzb3VyY2UpKQ0KICAgICAgICAgICA6IE5VTEw7DQogDQotICB6eGRnX3RvcGxldmVsX3Y2 X3Jlc2l6ZShob3N0LT5wcm94eSwgaG9zdF9zZWF0ID8gaG9zdF9zZWF0LT5wcm94eSA6IE5VTEws DQotICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJpYWwsIGVkZ2VzKTsNCisgIHhkZ190b3Bs ZXZlbF9yZXNpemUoaG9zdC0+cHJveHksIGhvc3Rfc2VhdCA/IGhvc3Rfc2VhdC0+cHJveHkgOiBO VUxMLCBzZXJpYWwsDQorICAgICAgICAgICAgICAgICAgICAgIGVkZ2VzKTsNCiB9ICAvLyBOT0xJ TlQod2hpdGVzcGFjZS9pbmRlbnQpDQogDQogc3RhdGljIHZvaWQgc2xfeGRnX3RvcGxldmVsX3Nl dF9tYXhfc2l6ZShzdHJ1Y3Qgd2xfY2xpZW50KiBjbGllbnQsDQpAQCAtMjg1LDcgKzI4MCw3IEBA IHN0YXRpYyB2b2lkIHNsX3hkZ190b3BsZXZlbF9zZXRfbWF4X3NpemUoc3RydWN0IHdsX2NsaWVu dCogY2xpZW50LA0KICAgc3RydWN0IHNsX2hvc3RfeGRnX3RvcGxldmVsKiBob3N0ID0NCiAgICAg ICBzdGF0aWNfY2FzdDxzbF9ob3N0X3hkZ190b3BsZXZlbCo+KHdsX3Jlc291cmNlX2dldF91c2Vy X2RhdGEocmVzb3VyY2UpKTsNCiANCi0gIHp4ZGdfdG9wbGV2ZWxfdjZfc2V0X21heF9zaXplKGhv c3QtPnByb3h5LCB3aWR0aCwgaGVpZ2h0KTsNCisgIHhkZ190b3BsZXZlbF9zZXRfbWF4X3NpemUo aG9zdC0+cHJveHksIHdpZHRoLCBoZWlnaHQpOw0KIH0NCiANCiBzdGF0aWMgdm9pZCBzbF94ZGdf dG9wbGV2ZWxfc2V0X21pbl9zaXplKHN0cnVjdCB3bF9jbGllbnQqIGNsaWVudCwNCkBAIC0yOTUs NyArMjkwLDcgQEAgc3RhdGljIHZvaWQgc2xfeGRnX3RvcGxldmVsX3NldF9taW5fc2l6ZShzdHJ1 Y3Qgd2xfY2xpZW50KiBjbGllbnQsDQogICBzdHJ1Y3Qgc2xfaG9zdF94ZGdfdG9wbGV2ZWwqIGhv c3QgPQ0KICAgICAgIHN0YXRpY19jYXN0PHNsX2hvc3RfeGRnX3RvcGxldmVsKj4od2xfcmVzb3Vy Y2VfZ2V0X3VzZXJfZGF0YShyZXNvdXJjZSkpOw0KIA0KLSAgenhkZ190b3BsZXZlbF92Nl9zZXRf bWluX3NpemUoaG9zdC0+cHJveHksIHdpZHRoLCBoZWlnaHQpOw0KKyAgeGRnX3RvcGxldmVsX3Nl dF9taW5fc2l6ZShob3N0LT5wcm94eSwgd2lkdGgsIGhlaWdodCk7DQogfQ0KIA0KIHN0YXRpYyB2 b2lkIHNsX3hkZ190b3BsZXZlbF9zZXRfbWF4aW1pemVkKHN0cnVjdCB3bF9jbGllbnQqIGNsaWVu dCwNCkBAIC0zMDMsNyArMjk4LDcgQEAgc3RhdGljIHZvaWQgc2xfeGRnX3RvcGxldmVsX3NldF9t YXhpbWl6ZWQoc3RydWN0IHdsX2NsaWVudCogY2xpZW50LA0KICAgc3RydWN0IHNsX2hvc3RfeGRn X3RvcGxldmVsKiBob3N0ID0NCiAgICAgICBzdGF0aWNfY2FzdDxzbF9ob3N0X3hkZ190b3BsZXZl bCo+KHdsX3Jlc291cmNlX2dldF91c2VyX2RhdGEocmVzb3VyY2UpKTsNCiANCi0gIHp4ZGdfdG9w bGV2ZWxfdjZfc2V0X21heGltaXplZChob3N0LT5wcm94eSk7DQorICB4ZGdfdG9wbGV2ZWxfc2V0 X21heGltaXplZChob3N0LT5wcm94eSk7DQogfQ0KIA0KIHN0YXRpYyB2b2lkIHNsX3hkZ190b3Bs ZXZlbF91bnNldF9tYXhpbWl6ZWQoc3RydWN0IHdsX2NsaWVudCogY2xpZW50LA0KQEAgLTMxMSw3 ICszMDYsNyBAQCBzdGF0aWMgdm9pZCBzbF94ZGdfdG9wbGV2ZWxfdW5zZXRfbWF4aW1pemVkKHN0 cnVjdCB3bF9jbGllbnQqIGNsaWVudCwNCiAgIHN0cnVjdCBzbF9ob3N0X3hkZ190b3BsZXZlbCog aG9zdCA9DQogICAgICAgc3RhdGljX2Nhc3Q8c2xfaG9zdF94ZGdfdG9wbGV2ZWwqPih3bF9yZXNv dXJjZV9nZXRfdXNlcl9kYXRhKHJlc291cmNlKSk7DQogDQotICB6eGRnX3RvcGxldmVsX3Y2X3Vu c2V0X21heGltaXplZChob3N0LT5wcm94eSk7DQorICB4ZGdfdG9wbGV2ZWxfdW5zZXRfbWF4aW1p emVkKGhvc3QtPnByb3h5KTsNCiB9DQogDQogc3RhdGljIHZvaWQgc2xfeGRnX3RvcGxldmVsX3Nl dF9mdWxsc2NyZWVuKA0KQEAgLTMyNSw4ICszMjAsOCBAQCBzdGF0aWMgdm9pZCBzbF94ZGdfdG9w bGV2ZWxfc2V0X2Z1bGxzY3JlZW4oDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdsX3Jl c291cmNlX2dldF91c2VyX2RhdGEob3V0cHV0X3Jlc291cmNlKSkNCiAgICAgICAgICAgICAgICAg ICAgICAgOiBOVUxMOw0KIA0KLSAgenhkZ190b3BsZXZlbF92Nl9zZXRfZnVsbHNjcmVlbihob3N0 LT5wcm94eSwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaG9zdF9vdXRwdXQg PyBob3N0X291dHB1dC0+cHJveHkgOiBOVUxMKTsNCisgIHhkZ190b3BsZXZlbF9zZXRfZnVsbHNj cmVlbihob3N0LT5wcm94eSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBob3N0X291 dHB1dCA/IGhvc3Rfb3V0cHV0LT5wcm94eSA6IE5VTEwpOw0KIH0gIC8vIE5PTElOVCh3aGl0ZXNw YWNlL2luZGVudCkNCiANCiBzdGF0aWMgdm9pZCBzbF94ZGdfdG9wbGV2ZWxfdW5zZXRfZnVsbHNj cmVlbihzdHJ1Y3Qgd2xfY2xpZW50KiBjbGllbnQsDQpAQCAtMzM0LDcgKzMyOSw3IEBAIHN0YXRp YyB2b2lkIHNsX3hkZ190b3BsZXZlbF91bnNldF9mdWxsc2NyZWVuKHN0cnVjdCB3bF9jbGllbnQq IGNsaWVudCwNCiAgIHN0cnVjdCBzbF9ob3N0X3hkZ190b3BsZXZlbCogaG9zdCA9DQogICAgICAg c3RhdGljX2Nhc3Q8c2xfaG9zdF94ZGdfdG9wbGV2ZWwqPih3bF9yZXNvdXJjZV9nZXRfdXNlcl9k YXRhKHJlc291cmNlKSk7DQogDQotICB6eGRnX3RvcGxldmVsX3Y2X3Vuc2V0X2Z1bGxzY3JlZW4o aG9zdC0+cHJveHkpOw0KKyAgeGRnX3RvcGxldmVsX3Vuc2V0X2Z1bGxzY3JlZW4oaG9zdC0+cHJv eHkpOw0KIH0NCiANCiBzdGF0aWMgdm9pZCBzbF94ZGdfdG9wbGV2ZWxfc2V0X21pbmltaXplZChz dHJ1Y3Qgd2xfY2xpZW50KiBjbGllbnQsDQpAQCAtMzQyLDQ3ICszMzcsNDcgQEAgc3RhdGljIHZv aWQgc2xfeGRnX3RvcGxldmVsX3NldF9taW5pbWl6ZWQoc3RydWN0IHdsX2NsaWVudCogY2xpZW50 LA0KICAgc3RydWN0IHNsX2hvc3RfeGRnX3RvcGxldmVsKiBob3N0ID0NCiAgICAgICBzdGF0aWNf Y2FzdDxzbF9ob3N0X3hkZ190b3BsZXZlbCo+KHdsX3Jlc291cmNlX2dldF91c2VyX2RhdGEocmVz b3VyY2UpKTsNCiANCi0gIHp4ZGdfdG9wbGV2ZWxfdjZfc2V0X21pbmltaXplZChob3N0LT5wcm94 eSk7DQorICB4ZGdfdG9wbGV2ZWxfc2V0X21pbmltaXplZChob3N0LT5wcm94eSk7DQogfQ0KIA0K LXN0YXRpYyBjb25zdCBzdHJ1Y3QgenhkZ190b3BsZXZlbF92Nl9pbnRlcmZhY2Ugc2xfeGRnX3Rv cGxldmVsX2ltcGxlbWVudGF0aW9uID0NCi0gICAge3NsX3hkZ190b3BsZXZlbF9kZXN0cm95LCAg ICAgICAgICBzbF94ZGdfdG9wbGV2ZWxfc2V0X3BhcmVudCwNCi0gICAgIHNsX3hkZ190b3BsZXZl bF9zZXRfdGl0bGUsICAgICAgICBzbF94ZGdfdG9wbGV2ZWxfc2V0X2FwcF9pZCwNCi0gICAgIHNs X3hkZ190b3BsZXZlbF9zaG93X3dpbmRvd19tZW51LCBzbF94ZGdfdG9wbGV2ZWxfbW92ZSwNCi0g ICAgIHNsX3hkZ190b3BsZXZlbF9yZXNpemUsICAgICAgICAgICBzbF94ZGdfdG9wbGV2ZWxfc2V0 X21heF9zaXplLA0KLSAgICAgc2xfeGRnX3RvcGxldmVsX3NldF9taW5fc2l6ZSwgICAgIHNsX3hk Z190b3BsZXZlbF9zZXRfbWF4aW1pemVkLA0KLSAgICAgc2xfeGRnX3RvcGxldmVsX3Vuc2V0X21h eGltaXplZCwgIHNsX3hkZ190b3BsZXZlbF9zZXRfZnVsbHNjcmVlbiwNCi0gICAgIHNsX3hkZ190 b3BsZXZlbF91bnNldF9mdWxsc2NyZWVuLCBzbF94ZGdfdG9wbGV2ZWxfc2V0X21pbmltaXplZH07 DQorc3RhdGljIGNvbnN0IHN0cnVjdCB4ZGdfdG9wbGV2ZWxfaW50ZXJmYWNlIHNsX3hkZ190b3Bs ZXZlbF9pbXBsZW1lbnRhdGlvbiA9IHsNCisgICAgc2xfeGRnX3RvcGxldmVsX2Rlc3Ryb3ksICAg ICAgICAgIHNsX3hkZ190b3BsZXZlbF9zZXRfcGFyZW50LA0KKyAgICBzbF94ZGdfdG9wbGV2ZWxf c2V0X3RpdGxlLCAgICAgICAgc2xfeGRnX3RvcGxldmVsX3NldF9hcHBfaWQsDQorICAgIHNsX3hk Z190b3BsZXZlbF9zaG93X3dpbmRvd19tZW51LCBzbF94ZGdfdG9wbGV2ZWxfbW92ZSwNCisgICAg c2xfeGRnX3RvcGxldmVsX3Jlc2l6ZSwgICAgICAgICAgIHNsX3hkZ190b3BsZXZlbF9zZXRfbWF4 X3NpemUsDQorICAgIHNsX3hkZ190b3BsZXZlbF9zZXRfbWluX3NpemUsICAgICBzbF94ZGdfdG9w bGV2ZWxfc2V0X21heGltaXplZCwNCisgICAgc2xfeGRnX3RvcGxldmVsX3Vuc2V0X21heGltaXpl ZCwgIHNsX3hkZ190b3BsZXZlbF9zZXRfZnVsbHNjcmVlbiwNCisgICAgc2xfeGRnX3RvcGxldmVs X3Vuc2V0X2Z1bGxzY3JlZW4sIHNsX3hkZ190b3BsZXZlbF9zZXRfbWluaW1pemVkfTsNCiANCiBz dGF0aWMgdm9pZCBzbF94ZGdfdG9wbGV2ZWxfY29uZmlndXJlKHZvaWQqIGRhdGEsDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgenhkZ190b3BsZXZlbF92Niog eGRnX3RvcGxldmVsLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ry dWN0IHhkZ190b3BsZXZlbCogeGRnX3RvcGxldmVsLA0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgaW50MzJfdCB3aWR0aCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGludDMyX3QgaGVpZ2h0LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc3RydWN0IHdsX2FycmF5KiBzdGF0ZXMpIHsNCiAgIHN0cnVjdCBzbF9ob3N0 X3hkZ190b3BsZXZlbCogaG9zdCA9IHN0YXRpY19jYXN0PHNsX2hvc3RfeGRnX3RvcGxldmVsKj4o DQotICAgICAgenhkZ190b3BsZXZlbF92Nl9nZXRfdXNlcl9kYXRhKHhkZ190b3BsZXZlbCkpOw0K KyAgICAgIHhkZ190b3BsZXZlbF9nZXRfdXNlcl9kYXRhKHhkZ190b3BsZXZlbCkpOw0KICAgZG91 YmxlIHNjYWxlID0gaG9zdC0+Y3R4LT5zY2FsZTsNCiANCi0gIHp4ZGdfdG9wbGV2ZWxfdjZfc2Vu ZF9jb25maWd1cmUoaG9zdC0+cmVzb3VyY2UsIHdpZHRoICogc2NhbGUsIGhlaWdodCAqIHNjYWxl LA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZXMpOw0KKyAgeGRnX3Rv cGxldmVsX3NlbmRfY29uZmlndXJlKGhvc3QtPnJlc291cmNlLCB3aWR0aCAqIHNjYWxlLCBoZWln aHQgKiBzY2FsZSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZXMpOw0KIH0N CiANCiBzdGF0aWMgdm9pZCBzbF94ZGdfdG9wbGV2ZWxfY2xvc2Uodm9pZCogZGF0YSwNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHp4ZGdfdG9wbGV2ZWxfdjYqIHhk Z190b3BsZXZlbCkgew0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qg eGRnX3RvcGxldmVsKiB4ZGdfdG9wbGV2ZWwpIHsNCiAgIHN0cnVjdCBzbF9ob3N0X3hkZ190b3Bs ZXZlbCogaG9zdCA9IHN0YXRpY19jYXN0PHNsX2hvc3RfeGRnX3RvcGxldmVsKj4oDQotICAgICAg enhkZ190b3BsZXZlbF92Nl9nZXRfdXNlcl9kYXRhKHhkZ190b3BsZXZlbCkpOw0KKyAgICAgIHhk Z190b3BsZXZlbF9nZXRfdXNlcl9kYXRhKHhkZ190b3BsZXZlbCkpOw0KIA0KLSAgenhkZ190b3Bs ZXZlbF92Nl9zZW5kX2Nsb3NlKGhvc3QtPnJlc291cmNlKTsNCisgIHhkZ190b3BsZXZlbF9zZW5k X2Nsb3NlKGhvc3QtPnJlc291cmNlKTsNCiB9DQogDQotc3RhdGljIGNvbnN0IHN0cnVjdCB6eGRn X3RvcGxldmVsX3Y2X2xpc3RlbmVyIHNsX3hkZ190b3BsZXZlbF9saXN0ZW5lciA9IHsNCitzdGF0 aWMgY29uc3Qgc3RydWN0IHhkZ190b3BsZXZlbF9saXN0ZW5lciBzbF94ZGdfdG9wbGV2ZWxfbGlz dGVuZXIgPSB7DQogICAgIHNsX3hkZ190b3BsZXZlbF9jb25maWd1cmUsIHNsX3hkZ190b3BsZXZl bF9jbG9zZX07DQogDQogc3RhdGljIHZvaWQgc2xfZGVzdHJveV9ob3N0X3hkZ190b3BsZXZlbChz dHJ1Y3Qgd2xfcmVzb3VyY2UqIHJlc291cmNlKSB7DQogICBzdHJ1Y3Qgc2xfaG9zdF94ZGdfdG9w bGV2ZWwqIGhvc3QgPQ0KICAgICAgIHN0YXRpY19jYXN0PHNsX2hvc3RfeGRnX3RvcGxldmVsKj4o d2xfcmVzb3VyY2VfZ2V0X3VzZXJfZGF0YShyZXNvdXJjZSkpOw0KIA0KLSAgenhkZ190b3BsZXZl bF92Nl9kZXN0cm95KGhvc3QtPnByb3h5KTsNCisgIHhkZ190b3BsZXZlbF9kZXN0cm95KGhvc3Qt PnByb3h5KTsNCiAgIHdsX3Jlc291cmNlX3NldF91c2VyX2RhdGEocmVzb3VyY2UsIE5VTEwpOw0K ICAgZnJlZShob3N0KTsNCiB9DQpAQCAtNDAzLDE0ICszOTgsMTQgQEAgc3RhdGljIHZvaWQgc2xf eGRnX3N1cmZhY2VfZ2V0X3RvcGxldmVsKHN0cnVjdCB3bF9jbGllbnQqIGNsaWVudCwNCiANCiAg IGhvc3RfeGRnX3RvcGxldmVsLT5jdHggPSBob3N0LT5jdHg7DQogICBob3N0X3hkZ190b3BsZXZl bC0+cmVzb3VyY2UgPQ0KLSAgICAgIHdsX3Jlc291cmNlX2NyZWF0ZShjbGllbnQsICZ6eGRnX3Rv cGxldmVsX3Y2X2ludGVyZmFjZSwgMSwgaWQpOw0KKyAgICAgIHdsX3Jlc291cmNlX2NyZWF0ZShj bGllbnQsICZ4ZGdfdG9wbGV2ZWxfaW50ZXJmYWNlLCAxLCBpZCk7DQogICB3bF9yZXNvdXJjZV9z ZXRfaW1wbGVtZW50YXRpb24oDQogICAgICAgaG9zdF94ZGdfdG9wbGV2ZWwtPnJlc291cmNlLCAm c2xfeGRnX3RvcGxldmVsX2ltcGxlbWVudGF0aW9uLA0KICAgICAgIGhvc3RfeGRnX3RvcGxldmVs LCBzbF9kZXN0cm95X2hvc3RfeGRnX3RvcGxldmVsKTsNCi0gIGhvc3RfeGRnX3RvcGxldmVsLT5w cm94eSA9IHp4ZGdfc3VyZmFjZV92Nl9nZXRfdG9wbGV2ZWwoaG9zdC0+cHJveHkpOw0KLSAgenhk Z190b3BsZXZlbF92Nl9zZXRfdXNlcl9kYXRhKGhvc3RfeGRnX3RvcGxldmVsLT5wcm94eSwgaG9z dF94ZGdfdG9wbGV2ZWwpOw0KLSAgenhkZ190b3BsZXZlbF92Nl9hZGRfbGlzdGVuZXIoaG9zdF94 ZGdfdG9wbGV2ZWwtPnByb3h5LA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnNs X3hkZ190b3BsZXZlbF9saXN0ZW5lciwgaG9zdF94ZGdfdG9wbGV2ZWwpOw0KKyAgaG9zdF94ZGdf dG9wbGV2ZWwtPnByb3h5ID0geGRnX3N1cmZhY2VfZ2V0X3RvcGxldmVsKGhvc3QtPnByb3h5KTsN CisgIHhkZ190b3BsZXZlbF9zZXRfdXNlcl9kYXRhKGhvc3RfeGRnX3RvcGxldmVsLT5wcm94eSwg aG9zdF94ZGdfdG9wbGV2ZWwpOw0KKyAgeGRnX3RvcGxldmVsX2FkZF9saXN0ZW5lcihob3N0X3hk Z190b3BsZXZlbC0+cHJveHksICZzbF94ZGdfdG9wbGV2ZWxfbGlzdGVuZXIsDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGhvc3RfeGRnX3RvcGxldmVsKTsNCiB9DQogDQogc3RhdGljIHZv aWQgc2xfeGRnX3N1cmZhY2VfZ2V0X3BvcHVwKHN0cnVjdCB3bF9jbGllbnQqIGNsaWVudCwNCkBA IC00MjEsNyArNDE2LDcgQEAgc3RhdGljIHZvaWQgc2xfeGRnX3N1cmZhY2VfZ2V0X3BvcHVwKHN0 cnVjdCB3bF9jbGllbnQqIGNsaWVudCwNCiAgIHN0cnVjdCBzbF9ob3N0X3hkZ19zdXJmYWNlKiBo b3N0ID0NCiAgICAgICBzdGF0aWNfY2FzdDxzbF9ob3N0X3hkZ19zdXJmYWNlKj4od2xfcmVzb3Vy Y2VfZ2V0X3VzZXJfZGF0YShyZXNvdXJjZSkpOw0KICAgc3RydWN0IHNsX2hvc3RfeGRnX3N1cmZh Y2UqIGhvc3RfcGFyZW50ID0gc3RhdGljX2Nhc3Q8c2xfaG9zdF94ZGdfc3VyZmFjZSo+KA0KLSAg ICAgIHdsX3Jlc291cmNlX2dldF91c2VyX2RhdGEocGFyZW50X3Jlc291cmNlKSk7DQorICAgICAg cGFyZW50X3Jlc291cmNlID8gd2xfcmVzb3VyY2VfZ2V0X3VzZXJfZGF0YShwYXJlbnRfcmVzb3Vy Y2UpIDogTlVMTCk7DQogICBzdHJ1Y3Qgc2xfaG9zdF94ZGdfcG9zaXRpb25lciogaG9zdF9wb3Np dGlvbmVyID0NCiAgICAgICBzdGF0aWNfY2FzdDxzbF9ob3N0X3hkZ19wb3NpdGlvbmVyKj4oDQog ICAgICAgICAgIHdsX3Jlc291cmNlX2dldF91c2VyX2RhdGEocG9zaXRpb25lcl9yZXNvdXJjZSkp Ow0KQEAgLTQzMSwxNSArNDI2LDE2IEBAIHN0YXRpYyB2b2lkIHNsX3hkZ19zdXJmYWNlX2dldF9w b3B1cChzdHJ1Y3Qgd2xfY2xpZW50KiBjbGllbnQsDQogDQogICBob3N0X3hkZ19wb3B1cC0+Y3R4 ID0gaG9zdC0+Y3R4Ow0KICAgaG9zdF94ZGdfcG9wdXAtPnJlc291cmNlID0NCi0gICAgICB3bF9y ZXNvdXJjZV9jcmVhdGUoY2xpZW50LCAmenhkZ19wb3B1cF92Nl9pbnRlcmZhY2UsIDEsIGlkKTsN CisgICAgICB3bF9yZXNvdXJjZV9jcmVhdGUoY2xpZW50LCAmeGRnX3BvcHVwX2ludGVyZmFjZSwg MSwgaWQpOw0KICAgd2xfcmVzb3VyY2Vfc2V0X2ltcGxlbWVudGF0aW9uKGhvc3RfeGRnX3BvcHVw LT5yZXNvdXJjZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc2xfeGRnX3Bv cHVwX2ltcGxlbWVudGF0aW9uLCBob3N0X3hkZ19wb3B1cCwNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzbF9kZXN0cm95X2hvc3RfeGRnX3BvcHVwKTsNCi0gIGhvc3RfeGRnX3Bv cHVwLT5wcm94eSA9IHp4ZGdfc3VyZmFjZV92Nl9nZXRfcG9wdXAoDQotICAgICAgaG9zdC0+cHJv eHksIGhvc3RfcGFyZW50LT5wcm94eSwgaG9zdF9wb3NpdGlvbmVyLT5wcm94eSk7DQotICB6eGRn X3BvcHVwX3Y2X3NldF91c2VyX2RhdGEoaG9zdF94ZGdfcG9wdXAtPnByb3h5LCBob3N0X3hkZ19w b3B1cCk7DQotICB6eGRnX3BvcHVwX3Y2X2FkZF9saXN0ZW5lcihob3N0X3hkZ19wb3B1cC0+cHJv eHksICZzbF94ZGdfcG9wdXBfbGlzdGVuZXIsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBob3N0X3hkZ19wb3B1cCk7DQorICBob3N0X3hkZ19wb3B1cC0+cHJveHkgPSB4ZGdfc3VyZmFj ZV9nZXRfcG9wdXAoDQorICAgICAgaG9zdC0+cHJveHksIGhvc3RfcGFyZW50ID8gaG9zdF9wYXJl bnQtPnByb3h5IDogTlVMTCwNCisgICAgICBob3N0X3Bvc2l0aW9uZXItPnByb3h5KTsNCisgIHhk Z19wb3B1cF9zZXRfdXNlcl9kYXRhKGhvc3RfeGRnX3BvcHVwLT5wcm94eSwgaG9zdF94ZGdfcG9w dXApOw0KKyAgeGRnX3BvcHVwX2FkZF9saXN0ZW5lcihob3N0X3hkZ19wb3B1cC0+cHJveHksICZz bF94ZGdfcG9wdXBfbGlzdGVuZXIsDQorICAgICAgICAgICAgICAgICAgICAgICAgIGhvc3RfeGRn X3BvcHVwKTsNCiB9ICAvLyBOT0xJTlQod2hpdGVzcGFjZS9pbmRlbnQpDQogDQogc3RhdGljIHZv aWQgc2xfeGRnX3N1cmZhY2Vfc2V0X3dpbmRvd19nZW9tZXRyeShzdHJ1Y3Qgd2xfY2xpZW50KiBj bGllbnQsDQpAQCAtNDU4LDcgKzQ1NCw3IEBAIHN0YXRpYyB2b2lkIHNsX3hkZ19zdXJmYWNlX3Nl dF93aW5kb3dfZ2VvbWV0cnkoc3RydWN0IHdsX2NsaWVudCogY2xpZW50LA0KICAgeDIgPSAoeCAr IHdpZHRoKSAvIHNjYWxlOw0KICAgeTIgPSAoeSArIGhlaWdodCkgLyBzY2FsZTsNCiANCi0gIHp4 ZGdfc3VyZmFjZV92Nl9zZXRfd2luZG93X2dlb21ldHJ5KGhvc3QtPnByb3h5LCB4MSwgeTEsIHgy IC0geDEsIHkyIC0geTEpOw0KKyAgeGRnX3N1cmZhY2Vfc2V0X3dpbmRvd19nZW9tZXRyeShob3N0 LT5wcm94eSwgeDEsIHkxLCB4MiAtIHgxLCB5MiAtIHkxKTsNCiB9DQogDQogc3RhdGljIHZvaWQg c2xfeGRnX3N1cmZhY2VfYWNrX2NvbmZpZ3VyZShzdHJ1Y3Qgd2xfY2xpZW50KiBjbGllbnQsDQpA QCAtNDY3LDMxICs0NjMsMzEgQEAgc3RhdGljIHZvaWQgc2xfeGRnX3N1cmZhY2VfYWNrX2NvbmZp Z3VyZShzdHJ1Y3Qgd2xfY2xpZW50KiBjbGllbnQsDQogICBzdHJ1Y3Qgc2xfaG9zdF94ZGdfc3Vy ZmFjZSogaG9zdCA9DQogICAgICAgc3RhdGljX2Nhc3Q8c2xfaG9zdF94ZGdfc3VyZmFjZSo+KHds X3Jlc291cmNlX2dldF91c2VyX2RhdGEocmVzb3VyY2UpKTsNCiANCi0gIHp4ZGdfc3VyZmFjZV92 Nl9hY2tfY29uZmlndXJlKGhvc3QtPnByb3h5LCBzZXJpYWwpOw0KKyAgeGRnX3N1cmZhY2VfYWNr X2NvbmZpZ3VyZShob3N0LT5wcm94eSwgc2VyaWFsKTsNCiB9DQogDQotc3RhdGljIGNvbnN0IHN0 cnVjdCB6eGRnX3N1cmZhY2VfdjZfaW50ZXJmYWNlIHNsX3hkZ19zdXJmYWNlX2ltcGxlbWVudGF0 aW9uID0gew0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGRnX3N1cmZhY2VfaW50ZXJmYWNlIHNsX3hk Z19zdXJmYWNlX2ltcGxlbWVudGF0aW9uID0gew0KICAgICBzbF94ZGdfc3VyZmFjZV9kZXN0cm95 LCBzbF94ZGdfc3VyZmFjZV9nZXRfdG9wbGV2ZWwsDQogICAgIHNsX3hkZ19zdXJmYWNlX2dldF9w b3B1cCwgc2xfeGRnX3N1cmZhY2Vfc2V0X3dpbmRvd19nZW9tZXRyeSwNCiAgICAgc2xfeGRnX3N1 cmZhY2VfYWNrX2NvbmZpZ3VyZX07DQogDQogc3RhdGljIHZvaWQgc2xfeGRnX3N1cmZhY2VfY29u ZmlndXJlKHZvaWQqIGRhdGEsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHN0cnVjdCB6eGRnX3N1cmZhY2VfdjYqIHhkZ19zdXJmYWNlLA0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgeGRnX3N1cmZhY2UqIHhkZ19zdXJmYWNlLA0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzZXJpYWwpIHsNCiAg IHN0cnVjdCBzbF9ob3N0X3hkZ19zdXJmYWNlKiBob3N0ID0gc3RhdGljX2Nhc3Q8c2xfaG9zdF94 ZGdfc3VyZmFjZSo+KA0KLSAgICAgIHp4ZGdfc3VyZmFjZV92Nl9nZXRfdXNlcl9kYXRhKHhkZ19z dXJmYWNlKSk7DQorICAgICAgeGRnX3N1cmZhY2VfZ2V0X3VzZXJfZGF0YSh4ZGdfc3VyZmFjZSkp Ow0KIA0KLSAgenhkZ19zdXJmYWNlX3Y2X3NlbmRfY29uZmlndXJlKGhvc3QtPnJlc291cmNlLCBz ZXJpYWwpOw0KKyAgeGRnX3N1cmZhY2Vfc2VuZF9jb25maWd1cmUoaG9zdC0+cmVzb3VyY2UsIHNl cmlhbCk7DQogfQ0KIA0KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgenhkZ19zdXJmYWNlX3Y2X2xpc3Rl bmVyIHNsX3hkZ19zdXJmYWNlX2xpc3RlbmVyID0gew0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGRn X3N1cmZhY2VfbGlzdGVuZXIgc2xfeGRnX3N1cmZhY2VfbGlzdGVuZXIgPSB7DQogICAgIHNsX3hk Z19zdXJmYWNlX2NvbmZpZ3VyZX07DQogDQogc3RhdGljIHZvaWQgc2xfZGVzdHJveV9ob3N0X3hk Z19zdXJmYWNlKHN0cnVjdCB3bF9yZXNvdXJjZSogcmVzb3VyY2UpIHsNCiAgIHN0cnVjdCBzbF9o b3N0X3hkZ19zdXJmYWNlKiBob3N0ID0NCiAgICAgICBzdGF0aWNfY2FzdDxzbF9ob3N0X3hkZ19z dXJmYWNlKj4od2xfcmVzb3VyY2VfZ2V0X3VzZXJfZGF0YShyZXNvdXJjZSkpOw0KIA0KLSAgenhk Z19zdXJmYWNlX3Y2X2Rlc3Ryb3koaG9zdC0+cHJveHkpOw0KKyAgeGRnX3N1cmZhY2VfZGVzdHJv eShob3N0LT5wcm94eSk7DQogICB3bF9yZXNvdXJjZV9zZXRfdXNlcl9kYXRhKHJlc291cmNlLCBO VUxMKTsNCiAgIGZyZWUoaG9zdCk7DQogfQ0KQEAgLTUxMywxMyArNTA5LDEyIEBAIHN0YXRpYyB2 b2lkIHNsX3hkZ19zaGVsbF9jcmVhdGVfcG9zaXRpb25lcihzdHJ1Y3Qgd2xfY2xpZW50KiBjbGll bnQsDQogDQogICBob3N0X3hkZ19wb3NpdGlvbmVyLT5jdHggPSBob3N0LT5jdHg7DQogICBob3N0 X3hkZ19wb3NpdGlvbmVyLT5yZXNvdXJjZSA9DQotICAgICAgd2xfcmVzb3VyY2VfY3JlYXRlKGNs aWVudCwgJnp4ZGdfcG9zaXRpb25lcl92Nl9pbnRlcmZhY2UsIDEsIGlkKTsNCisgICAgICB3bF9y ZXNvdXJjZV9jcmVhdGUoY2xpZW50LCAmeGRnX3Bvc2l0aW9uZXJfaW50ZXJmYWNlLCAxLCBpZCk7 DQogICB3bF9yZXNvdXJjZV9zZXRfaW1wbGVtZW50YXRpb24oDQogICAgICAgaG9zdF94ZGdfcG9z aXRpb25lci0+cmVzb3VyY2UsICZzbF94ZGdfcG9zaXRpb25lcl9pbXBsZW1lbnRhdGlvbiwNCiAg ICAgICBob3N0X3hkZ19wb3NpdGlvbmVyLCBzbF9kZXN0cm95X2hvc3RfeGRnX3Bvc2l0aW9uZXIp Ow0KLSAgaG9zdF94ZGdfcG9zaXRpb25lci0+cHJveHkgPSB6eGRnX3NoZWxsX3Y2X2NyZWF0ZV9w b3NpdGlvbmVyKGhvc3QtPnByb3h5KTsNCi0gIHp4ZGdfcG9zaXRpb25lcl92Nl9zZXRfdXNlcl9k YXRhKGhvc3RfeGRnX3Bvc2l0aW9uZXItPnByb3h5LA0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgaG9zdF94ZGdfcG9zaXRpb25lcik7DQorICBob3N0X3hkZ19wb3NpdGlvbmVy LT5wcm94eSA9IHhkZ193bV9iYXNlX2NyZWF0ZV9wb3NpdGlvbmVyKGhvc3QtPnByb3h5KTsNCisg IHhkZ19wb3NpdGlvbmVyX3NldF91c2VyX2RhdGEoaG9zdF94ZGdfcG9zaXRpb25lci0+cHJveHks IGhvc3RfeGRnX3Bvc2l0aW9uZXIpOw0KIH0NCiANCiBzdGF0aWMgdm9pZCBzbF94ZGdfc2hlbGxf Z2V0X3hkZ19zdXJmYWNlKHN0cnVjdCB3bF9jbGllbnQqIGNsaWVudCwNCkBAIC01MzYsMTUgKzUz MSwxNSBAQCBzdGF0aWMgdm9pZCBzbF94ZGdfc2hlbGxfZ2V0X3hkZ19zdXJmYWNlKHN0cnVjdCB3 bF9jbGllbnQqIGNsaWVudCwNCiANCiAgIGhvc3RfeGRnX3N1cmZhY2UtPmN0eCA9IGhvc3QtPmN0 eDsNCiAgIGhvc3RfeGRnX3N1cmZhY2UtPnJlc291cmNlID0NCi0gICAgICB3bF9yZXNvdXJjZV9j cmVhdGUoY2xpZW50LCAmenhkZ19zdXJmYWNlX3Y2X2ludGVyZmFjZSwgMSwgaWQpOw0KKyAgICAg IHdsX3Jlc291cmNlX2NyZWF0ZShjbGllbnQsICZ4ZGdfc3VyZmFjZV9pbnRlcmZhY2UsIDEsIGlk KTsNCiAgIHdsX3Jlc291cmNlX3NldF9pbXBsZW1lbnRhdGlvbihob3N0X3hkZ19zdXJmYWNlLT5y ZXNvdXJjZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc2xfeGRnX3N1cmZh Y2VfaW1wbGVtZW50YXRpb24sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaG9z dF94ZGdfc3VyZmFjZSwgc2xfZGVzdHJveV9ob3N0X3hkZ19zdXJmYWNlKTsNCiAgIGhvc3RfeGRn X3N1cmZhY2UtPnByb3h5ID0NCi0gICAgICB6eGRnX3NoZWxsX3Y2X2dldF94ZGdfc3VyZmFjZSho b3N0LT5wcm94eSwgaG9zdF9zdXJmYWNlLT5wcm94eSk7DQotICB6eGRnX3N1cmZhY2VfdjZfc2V0 X3VzZXJfZGF0YShob3N0X3hkZ19zdXJmYWNlLT5wcm94eSwgaG9zdF94ZGdfc3VyZmFjZSk7DQot ICB6eGRnX3N1cmZhY2VfdjZfYWRkX2xpc3RlbmVyKGhvc3RfeGRnX3N1cmZhY2UtPnByb3h5LA0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc2xfeGRnX3N1cmZhY2VfbGlzdGVuZXIs IGhvc3RfeGRnX3N1cmZhY2UpOw0KKyAgICAgIHhkZ193bV9iYXNlX2dldF94ZGdfc3VyZmFjZSho b3N0LT5wcm94eSwgaG9zdF9zdXJmYWNlLT5wcm94eSk7DQorICB4ZGdfc3VyZmFjZV9zZXRfdXNl cl9kYXRhKGhvc3RfeGRnX3N1cmZhY2UtPnByb3h5LCBob3N0X3hkZ19zdXJmYWNlKTsNCisgIHhk Z19zdXJmYWNlX2FkZF9saXN0ZW5lcihob3N0X3hkZ19zdXJmYWNlLT5wcm94eSwgJnNsX3hkZ19z dXJmYWNlX2xpc3RlbmVyLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGhvc3RfeGRnX3N1 cmZhY2UpOw0KICAgaG9zdF9zdXJmYWNlLT5oYXNfcm9sZSA9IDE7DQogfQ0KIA0KQEAgLTU1NCwz MCArNTQ5LDMwIEBAIHN0YXRpYyB2b2lkIHNsX3hkZ19zaGVsbF9wb25nKHN0cnVjdCB3bF9jbGll bnQqIGNsaWVudCwNCiAgIHN0cnVjdCBzbF9ob3N0X3hkZ19zaGVsbCogaG9zdCA9DQogICAgICAg c3RhdGljX2Nhc3Q8c2xfaG9zdF94ZGdfc2hlbGwqPih3bF9yZXNvdXJjZV9nZXRfdXNlcl9kYXRh KHJlc291cmNlKSk7DQogDQotICB6eGRnX3NoZWxsX3Y2X3BvbmcoaG9zdC0+cHJveHksIHNlcmlh bCk7DQorICB4ZGdfd21fYmFzZV9wb25nKGhvc3QtPnByb3h5LCBzZXJpYWwpOw0KIH0NCiANCi1z dGF0aWMgY29uc3Qgc3RydWN0IHp4ZGdfc2hlbGxfdjZfaW50ZXJmYWNlIHNsX3hkZ19zaGVsbF9p bXBsZW1lbnRhdGlvbiA9IHsNCitzdGF0aWMgY29uc3Qgc3RydWN0IHhkZ193bV9iYXNlX2ludGVy ZmFjZSBzbF94ZGdfc2hlbGxfaW1wbGVtZW50YXRpb24gPSB7DQogICAgIHNsX3hkZ19zaGVsbF9k ZXN0cm95LCBzbF94ZGdfc2hlbGxfY3JlYXRlX3Bvc2l0aW9uZXIsDQogICAgIHNsX3hkZ19zaGVs bF9nZXRfeGRnX3N1cmZhY2UsIHNsX3hkZ19zaGVsbF9wb25nfTsNCiANCiBzdGF0aWMgdm9pZCBz bF94ZGdfc2hlbGxfcGluZyh2b2lkKiBkYXRhLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHN0cnVjdCB6eGRnX3NoZWxsX3Y2KiB4ZGdfc2hlbGwsDQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc3RydWN0IHhkZ193bV9iYXNlKiB4ZGdfc2hlbGwsDQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2VyaWFsKSB7DQogICBzdHJ1Y3Qgc2xfaG9zdF94 ZGdfc2hlbGwqIGhvc3QgPQ0KLSAgICAgIHN0YXRpY19jYXN0PHNsX2hvc3RfeGRnX3NoZWxsKj4o enhkZ19zaGVsbF92Nl9nZXRfdXNlcl9kYXRhKHhkZ19zaGVsbCkpOw0KKyAgICAgIHN0YXRpY19j YXN0PHNsX2hvc3RfeGRnX3NoZWxsKj4oeGRnX3dtX2Jhc2VfZ2V0X3VzZXJfZGF0YSh4ZGdfc2hl bGwpKTsNCiANCi0gIHp4ZGdfc2hlbGxfdjZfc2VuZF9waW5nKGhvc3QtPnJlc291cmNlLCBzZXJp YWwpOw0KKyAgeGRnX3dtX2Jhc2Vfc2VuZF9waW5nKGhvc3QtPnJlc291cmNlLCBzZXJpYWwpOw0K IH0NCiANCi1zdGF0aWMgY29uc3Qgc3RydWN0IHp4ZGdfc2hlbGxfdjZfbGlzdGVuZXIgc2xfeGRn X3NoZWxsX2xpc3RlbmVyID0gew0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGRnX3dtX2Jhc2VfbGlz dGVuZXIgc2xfeGRnX3NoZWxsX2xpc3RlbmVyID0gew0KICAgICBzbF94ZGdfc2hlbGxfcGluZ307 DQogDQogc3RhdGljIHZvaWQgc2xfZGVzdHJveV9ob3N0X3hkZ19zaGVsbChzdHJ1Y3Qgd2xfcmVz b3VyY2UqIHJlc291cmNlKSB7DQogICBzdHJ1Y3Qgc2xfaG9zdF94ZGdfc2hlbGwqIGhvc3QgPQ0K ICAgICAgIHN0YXRpY19jYXN0PHNsX2hvc3RfeGRnX3NoZWxsKj4od2xfcmVzb3VyY2VfZ2V0X3Vz ZXJfZGF0YShyZXNvdXJjZSkpOw0KIA0KLSAgenhkZ19zaGVsbF92Nl9kZXN0cm95KGhvc3QtPnBy b3h5KTsNCisgIHhkZ193bV9iYXNlX2Rlc3Ryb3koaG9zdC0+cHJveHkpOw0KICAgd2xfcmVzb3Vy Y2Vfc2V0X3VzZXJfZGF0YShyZXNvdXJjZSwgTlVMTCk7DQogICBmcmVlKGhvc3QpOw0KIH0NCkBA IC01OTEsMTcgKzU4NiwxNyBAQCBzdGF0aWMgdm9pZCBzbF9iaW5kX2hvc3RfeGRnX3NoZWxsKHN0 cnVjdCB3bF9jbGllbnQqIGNsaWVudCwNCiAgICAgICBzdGF0aWNfY2FzdDxzbF9ob3N0X3hkZ19z aGVsbCo+KG1hbGxvYyhzaXplb2YoKmhvc3QpKSk7DQogICBhc3NlcnQoaG9zdCk7DQogICBob3N0 LT5jdHggPSBjdHg7DQotICBob3N0LT5yZXNvdXJjZSA9IHdsX3Jlc291cmNlX2NyZWF0ZShjbGll bnQsICZ6eGRnX3NoZWxsX3Y2X2ludGVyZmFjZSwgMSwgaWQpOw0KKyAgaG9zdC0+cmVzb3VyY2Ug PSB3bF9yZXNvdXJjZV9jcmVhdGUoY2xpZW50LCAmeGRnX3dtX2Jhc2VfaW50ZXJmYWNlLCAxLCBp ZCk7DQogICB3bF9yZXNvdXJjZV9zZXRfaW1wbGVtZW50YXRpb24oaG9zdC0+cmVzb3VyY2UsICZz bF94ZGdfc2hlbGxfaW1wbGVtZW50YXRpb24sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgaG9zdCwgc2xfZGVzdHJveV9ob3N0X3hkZ19zaGVsbCk7DQotICBob3N0LT5wcm94eSA9 IHN0YXRpY19jYXN0PHp4ZGdfc2hlbGxfdjYqPigNCisgIGhvc3QtPnByb3h5ID0gc3RhdGljX2Nh c3Q8eGRnX3dtX2Jhc2UqPigNCiAgICAgICB3bF9yZWdpc3RyeV9iaW5kKHdsX2Rpc3BsYXlfZ2V0 X3JlZ2lzdHJ5KGN0eC0+ZGlzcGxheSksDQotICAgICAgICAgICAgICAgICAgICAgICBjdHgtPnhk Z19zaGVsbC0+aWQsICZ6eGRnX3NoZWxsX3Y2X2ludGVyZmFjZSwgMSkpOw0KLSAgenhkZ19zaGVs bF92Nl9zZXRfdXNlcl9kYXRhKGhvc3QtPnByb3h5LCBob3N0KTsNCi0gIHp4ZGdfc2hlbGxfdjZf YWRkX2xpc3RlbmVyKGhvc3QtPnByb3h5LCAmc2xfeGRnX3NoZWxsX2xpc3RlbmVyLCBob3N0KTsN CisgICAgICAgICAgICAgICAgICAgICAgIGN0eC0+eGRnX3NoZWxsLT5pZCwgJnhkZ193bV9iYXNl X2ludGVyZmFjZSwgMSkpOw0KKyAgeGRnX3dtX2Jhc2Vfc2V0X3VzZXJfZGF0YShob3N0LT5wcm94 eSwgaG9zdCk7DQorICB4ZGdfd21fYmFzZV9hZGRfbGlzdGVuZXIoaG9zdC0+cHJveHksICZzbF94 ZGdfc2hlbGxfbGlzdGVuZXIsIGhvc3QpOw0KIH0NCiANCiBzdHJ1Y3Qgc2xfZ2xvYmFsKiBzbF94 ZGdfc2hlbGxfZ2xvYmFsX2NyZWF0ZShzdHJ1Y3Qgc2xfY29udGV4dCogY3R4KSB7DQotICByZXR1 cm4gc2xfZ2xvYmFsX2NyZWF0ZShjdHgsICZ6eGRnX3NoZWxsX3Y2X2ludGVyZmFjZSwgMSwgY3R4 LA0KKyAgcmV0dXJuIHNsX2dsb2JhbF9jcmVhdGUoY3R4LCAmeGRnX3dtX2Jhc2VfaW50ZXJmYWNl LCAxLCBjdHgsDQogICAgICAgICAgICAgICAgICAgICAgICAgICBzbF9iaW5kX2hvc3RfeGRnX3No ZWxsKTsNCiB9DQpkaWZmIC0tZ2l0IGEvdm1fdG9vbHMvc29tbWVsaWVyL3NvbW1lbGllci5jYyBi L3ZtX3Rvb2xzL3NvbW1lbGllci9zb21tZWxpZXIuY2MNCmluZGV4IDA1NjA2NzJkNDYuLjg0MzVk YmUwODIgMTAwNjQ0DQotLS0gYS92bV90b29scy9zb21tZWxpZXIvc29tbWVsaWVyLmNjDQorKysg Yi92bV90b29scy9zb21tZWxpZXIvc29tbWVsaWVyLmNjDQpAQCAtMzksNyArMzksNyBAQA0KICNp bmNsdWRlICJyZWxhdGl2ZS1wb2ludGVyLXVuc3RhYmxlLXYxLWNsaWVudC1wcm90b2NvbC5oIiAg Ly8gTk9MSU5UKGJ1aWxkL2luY2x1ZGVfZGlyZWN0b3J5KQ0KICNpbmNsdWRlICJ0ZXh0LWlucHV0 LXVuc3RhYmxlLXYxLWNsaWVudC1wcm90b2NvbC5oIiAgLy8gTk9MSU5UKGJ1aWxkL2luY2x1ZGVf ZGlyZWN0b3J5KQ0KICNpbmNsdWRlICJ2aWV3cG9ydGVyLWNsaWVudC1wcm90b2NvbC5oIiAgLy8g Tk9MSU5UKGJ1aWxkL2luY2x1ZGVfZGlyZWN0b3J5KQ0KLSNpbmNsdWRlICJ4ZGctc2hlbGwtdW5z dGFibGUtdjYtY2xpZW50LXByb3RvY29sLmgiICAvLyBOT0xJTlQoYnVpbGQvaW5jbHVkZV9kaXJl Y3RvcnkpDQorI2luY2x1ZGUgInhkZy1zaGVsbC1jbGllbnQtcHJvdG9jb2wuaCIgIC8vIE5PTElO VChidWlsZC9pbmNsdWRlX2RpcmVjdG9yeSkNCiANCiAjZGVmaW5lIGVycm5vX2Fzc2VydChydikg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQogICB7ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0K QEAgLTM3NiwxMyArMzc2LDEzIEBAIHZvaWQgc2xfc3luY19wb2ludF9kZXN0cm95KHN0cnVjdCBz bF9zeW5jX3BvaW50KiBzeW5jX3BvaW50KSB7DQogfQ0KIA0KIHN0YXRpYyB2b2lkIHNsX2ludGVy bmFsX3hkZ19zaGVsbF9waW5nKHZvaWQqIGRhdGEsDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc3RydWN0IHp4ZGdfc2hlbGxfdjYqIHhkZ19zaGVsbCwNCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgeGRnX3dtX2Jhc2UqIHhkZ19z aGVsbCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBz ZXJpYWwpIHsNCiAgIFRSQUNFX0VWRU5UKCJzaGVsbCIsICJzbF9pbnRlcm5hbF94ZGdfc2hlbGxf cGluZyIpOw0KLSAgenhkZ19zaGVsbF92Nl9wb25nKHhkZ19zaGVsbCwgc2VyaWFsKTsNCisgIHhk Z193bV9iYXNlX3BvbmcoeGRnX3NoZWxsLCBzZXJpYWwpOw0KIH0NCiANCi1zdGF0aWMgY29uc3Qg c3RydWN0IHp4ZGdfc2hlbGxfdjZfbGlzdGVuZXIgc2xfaW50ZXJuYWxfeGRnX3NoZWxsX2xpc3Rl bmVyID0gew0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGRnX3dtX2Jhc2VfbGlzdGVuZXIgc2xfaW50 ZXJuYWxfeGRnX3NoZWxsX2xpc3RlbmVyID0gew0KICAgICBzbF9pbnRlcm5hbF94ZGdfc2hlbGxf cGluZ307DQogDQogc3RhdGljIHZvaWQgc2xfc2VuZF9jb25maWd1cmVfbm90aWZ5KHN0cnVjdCBz bF93aW5kb3cqIHdpbmRvdykgew0KQEAgLTU0OSw4ICs1NDksOCBAQCBpbnQgc2xfcHJvY2Vzc19w ZW5kaW5nX2NvbmZpZ3VyZV9hY2tzKHN0cnVjdCBzbF93aW5kb3cqIHdpbmRvdywNCiAgIH0NCiAN CiAgIGlmICh3aW5kb3ctPnhkZ19zdXJmYWNlKSB7DQotICAgIHp4ZGdfc3VyZmFjZV92Nl9hY2tf Y29uZmlndXJlKHdpbmRvdy0+eGRnX3N1cmZhY2UsDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHdpbmRvdy0+cGVuZGluZ19jb25maWcuc2VyaWFsKTsNCisgICAgeGRnX3N1cmZh Y2VfYWNrX2NvbmZpZ3VyZSh3aW5kb3ctPnhkZ19zdXJmYWNlLA0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHdpbmRvdy0+cGVuZGluZ19jb25maWcuc2VyaWFsKTsNCiAgIH0NCiAgIHdp bmRvdy0+cGVuZGluZ19jb25maWcuc2VyaWFsID0gMDsNCiANCkBAIC01NjAsMTEgKzU2MCwxMiBA QCBpbnQgc2xfcHJvY2Vzc19wZW5kaW5nX2NvbmZpZ3VyZV9hY2tzKHN0cnVjdCBzbF93aW5kb3cq IHdpbmRvdywNCiAgIHJldHVybiAxOw0KIH0NCiANCi1zdGF0aWMgdm9pZCBzbF9pbnRlcm5hbF94 ZGdfc3VyZmFjZV9jb25maWd1cmUoDQotICAgIHZvaWQqIGRhdGEsIHN0cnVjdCB6eGRnX3N1cmZh Y2VfdjYqIHhkZ19zdXJmYWNlLCB1aW50MzJfdCBzZXJpYWwpIHsNCitzdGF0aWMgdm9pZCBzbF9p bnRlcm5hbF94ZGdfc3VyZmFjZV9jb25maWd1cmUodm9pZCogZGF0YSwNCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHhkZ19zdXJmYWNlKiB4ZGdf c3VyZmFjZSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg dWludDMyX3Qgc2VyaWFsKSB7DQogICBUUkFDRV9FVkVOVCgic3VyZmFjZSIsICJzbF9pbnRlcm5h bF94ZGdfc3VyZmFjZV9jb25maWd1cmUiKTsNCiAgIHN0cnVjdCBzbF93aW5kb3cqIHdpbmRvdyA9 DQotICAgICAgc3RhdGljX2Nhc3Q8c2xfd2luZG93Kj4oenhkZ19zdXJmYWNlX3Y2X2dldF91c2Vy X2RhdGEoeGRnX3N1cmZhY2UpKTsNCisgICAgICBzdGF0aWNfY2FzdDxzbF93aW5kb3cqPih4ZGdf c3VyZmFjZV9nZXRfdXNlcl9kYXRhKHhkZ19zdXJmYWNlKSk7DQogDQogICB3aW5kb3ctPm5leHRf Y29uZmlnLnNlcmlhbCA9IHNlcmlhbDsNCiAgIGlmICghd2luZG93LT5wZW5kaW5nX2NvbmZpZy5z ZXJpYWwpIHsNCkBAIC01ODYsMTggKzU4NywxOCBAQCBzdGF0aWMgdm9pZCBzbF9pbnRlcm5hbF94 ZGdfc3VyZmFjZV9jb25maWd1cmUoDQogICB9DQogfQ0KIA0KLXN0YXRpYyBjb25zdCBzdHJ1Y3Qg enhkZ19zdXJmYWNlX3Y2X2xpc3RlbmVyIHNsX2ludGVybmFsX3hkZ19zdXJmYWNlX2xpc3RlbmVy ID0NCi0gICAge3NsX2ludGVybmFsX3hkZ19zdXJmYWNlX2NvbmZpZ3VyZX07DQorc3RhdGljIGNv bnN0IHN0cnVjdCB4ZGdfc3VyZmFjZV9saXN0ZW5lciBzbF9pbnRlcm5hbF94ZGdfc3VyZmFjZV9s aXN0ZW5lciA9IHsNCisgICAgc2xfaW50ZXJuYWxfeGRnX3N1cmZhY2VfY29uZmlndXJlfTsNCiAN CiBzdGF0aWMgdm9pZCBzbF9pbnRlcm5hbF94ZGdfdG9wbGV2ZWxfY29uZmlndXJlKA0KICAgICB2 b2lkKiBkYXRhLA0KLSAgICBzdHJ1Y3QgenhkZ190b3BsZXZlbF92NiogeGRnX3RvcGxldmVsLA0K KyAgICBzdHJ1Y3QgeGRnX3RvcGxldmVsKiB4ZGdfdG9wbGV2ZWwsDQogICAgIGludDMyX3Qgd2lk dGgsDQogICAgIGludDMyX3QgaGVpZ2h0LA0KICAgICBzdHJ1Y3Qgd2xfYXJyYXkqIHN0YXRlcykg ew0KICAgVFJBQ0VfRVZFTlQoIm90aGVyIiwgInNsX2ludGVybmFsX3hkZ190b3BsZXZlbF9jb25m aWd1cmUiKTsNCiAgIHN0cnVjdCBzbF93aW5kb3cqIHdpbmRvdyA9DQotICAgICAgc3RhdGljX2Nh c3Q8c2xfd2luZG93Kj4oenhkZ190b3BsZXZlbF92Nl9nZXRfdXNlcl9kYXRhKHhkZ190b3BsZXZl bCkpOw0KKyAgICAgIHN0YXRpY19jYXN0PHNsX3dpbmRvdyo+KHhkZ190b3BsZXZlbF9nZXRfdXNl cl9kYXRhKHhkZ190b3BsZXZlbCkpOw0KICAgaW50IGFjdGl2YXRlZCA9IDA7DQogICB1aW50MzJf dCogc3RhdGU7DQogICBpbnQgaSA9IDA7DQpAQCAtNjI3LDIxICs2MjgsMjEgQEAgc3RhdGljIHZv aWQgc2xfaW50ZXJuYWxfeGRnX3RvcGxldmVsX2NvbmZpZ3VyZSgNCiANCiAgIHdpbmRvdy0+YWxs b3dfcmVzaXplID0gMTsNCiAgIHNsX2FycmF5X2Zvcl9lYWNoKHN0YXRlLCBzdGF0ZXMpIHsNCi0g ICAgaWYgKCpzdGF0ZSA9PSBaWERHX1RPUExFVkVMX1Y2X1NUQVRFX0ZVTExTQ1JFRU4pIHsNCisg ICAgaWYgKCpzdGF0ZSA9PSBYREdfVE9QTEVWRUxfU1RBVEVfRlVMTFNDUkVFTikgew0KICAgICAg IHdpbmRvdy0+YWxsb3dfcmVzaXplID0gMDsNCiAgICAgICB3aW5kb3ctPm5leHRfY29uZmlnLnN0 YXRlc1tpKytdID0NCiAgICAgICAgICAgd2luZG93LT5jdHgtPmF0b21zW0FUT01fTkVUX1dNX1NU QVRFX0ZVTExTQ1JFRU5dLnZhbHVlOw0KICAgICB9DQotICAgIGlmICgqc3RhdGUgPT0gWlhER19U T1BMRVZFTF9WNl9TVEFURV9NQVhJTUlaRUQpIHsNCisgICAgaWYgKCpzdGF0ZSA9PSBYREdfVE9Q TEVWRUxfU1RBVEVfTUFYSU1JWkVEKSB7DQogICAgICAgd2luZG93LT5hbGxvd19yZXNpemUgPSAw Ow0KICAgICAgIHdpbmRvdy0+bmV4dF9jb25maWcuc3RhdGVzW2krK10gPQ0KICAgICAgICAgICB3 aW5kb3ctPmN0eC0+YXRvbXNbQVRPTV9ORVRfV01fU1RBVEVfTUFYSU1JWkVEX1ZFUlRdLnZhbHVl Ow0KICAgICAgIHdpbmRvdy0+bmV4dF9jb25maWcuc3RhdGVzW2krK10gPQ0KICAgICAgICAgICB3 aW5kb3ctPmN0eC0+YXRvbXNbQVRPTV9ORVRfV01fU1RBVEVfTUFYSU1JWkVEX0hPUlpdLnZhbHVl Ow0KICAgICB9DQotICAgIGlmICgqc3RhdGUgPT0gWlhER19UT1BMRVZFTF9WNl9TVEFURV9BQ1RJ VkFURUQpDQorICAgIGlmICgqc3RhdGUgPT0gWERHX1RPUExFVkVMX1NUQVRFX0FDVElWQVRFRCkN CiAgICAgICBhY3RpdmF0ZWQgPSAxOw0KLSAgICBpZiAoKnN0YXRlID09IFpYREdfVE9QTEVWRUxf VjZfU1RBVEVfUkVTSVpJTkcpDQorICAgIGlmICgqc3RhdGUgPT0gWERHX1RPUExFVkVMX1NUQVRF X1JFU0laSU5HKQ0KICAgICAgIHdpbmRvdy0+YWxsb3dfcmVzaXplID0gMDsNCiAgIH0NCiANCkBA IC02NTYsMTEgKzY1NywxMSBAQCBzdGF0aWMgdm9pZCBzbF9pbnRlcm5hbF94ZGdfdG9wbGV2ZWxf Y29uZmlndXJlKA0KICAgd2luZG93LT5uZXh0X2NvbmZpZy5zdGF0ZXNfbGVuZ3RoID0gaTsNCiB9 DQogDQotc3RhdGljIHZvaWQgc2xfaW50ZXJuYWxfeGRnX3RvcGxldmVsX2Nsb3NlKA0KLSAgICB2 b2lkKiBkYXRhLCBzdHJ1Y3QgenhkZ190b3BsZXZlbF92NiogeGRnX3RvcGxldmVsKSB7DQorc3Rh dGljIHZvaWQgc2xfaW50ZXJuYWxfeGRnX3RvcGxldmVsX2Nsb3NlKHZvaWQqIGRhdGEsDQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB4ZGdfdG9wbGV2 ZWwqIHhkZ190b3BsZXZlbCkgew0KICAgVFJBQ0VfRVZFTlQoIm90aGVyIiwgInNsX2ludGVybmFs X3hkZ190b3BsZXZlbF9jbG9zZSIpOw0KICAgc3RydWN0IHNsX3dpbmRvdyogd2luZG93ID0NCi0g ICAgICBzdGF0aWNfY2FzdDxzbF93aW5kb3cqPih6eGRnX3RvcGxldmVsX3Y2X2dldF91c2VyX2Rh dGEoeGRnX3RvcGxldmVsKSk7DQorICAgICAgc3RhdGljX2Nhc3Q8c2xfd2luZG93Kj4oeGRnX3Rv cGxldmVsX2dldF91c2VyX2RhdGEoeGRnX3RvcGxldmVsKSk7DQogICB4Y2JfY2xpZW50X21lc3Nh Z2VfZXZlbnRfdCBldmVudCA9IHt9Ow0KICAgZXZlbnQucmVzcG9uc2VfdHlwZSA9IFhDQl9DTElF TlRfTUVTU0FHRTsNCiAgIGV2ZW50LmZvcm1hdCA9IDMyOw0KQEAgLTY3MywyMSArNjc0LDIwIEBA IHN0YXRpYyB2b2lkIHNsX2ludGVybmFsX3hkZ190b3BsZXZlbF9jbG9zZSgNCiAgICAgICAgICAg ICAgICAgIFhDQl9FVkVOVF9NQVNLX05PX0VWRU5ULCAoY29uc3QgY2hhciopJmV2ZW50KTsNCiB9 DQogDQotc3RhdGljIGNvbnN0IHN0cnVjdCB6eGRnX3RvcGxldmVsX3Y2X2xpc3RlbmVyDQotICAg IHNsX2ludGVybmFsX3hkZ190b3BsZXZlbF9saXN0ZW5lciA9IHtzbF9pbnRlcm5hbF94ZGdfdG9w bGV2ZWxfY29uZmlndXJlLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc2xfaW50ZXJuYWxfeGRnX3RvcGxldmVsX2Nsb3NlfTsNCitzdGF0aWMgY29uc3Qgc3RydWN0 IHhkZ190b3BsZXZlbF9saXN0ZW5lciBzbF9pbnRlcm5hbF94ZGdfdG9wbGV2ZWxfbGlzdGVuZXIg PSB7DQorICAgIHNsX2ludGVybmFsX3hkZ190b3BsZXZlbF9jb25maWd1cmUsIHNsX2ludGVybmFs X3hkZ190b3BsZXZlbF9jbG9zZX07DQogDQogc3RhdGljIHZvaWQgc2xfaW50ZXJuYWxfeGRnX3Bv cHVwX2NvbmZpZ3VyZSh2b2lkKiBkYXRhLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc3RydWN0IHp4ZGdfcG9wdXBfdjYqIHhkZ19wb3B1cCwNCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB4ZGdfcG9wdXAqIHhk Z19wb3B1cCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu dDMyX3QgeCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu dDMyX3QgeSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu dDMyX3Qgd2lkdGgsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBpbnQzMl90IGhlaWdodCkge30NCiANCiBzdGF0aWMgdm9pZCBzbF9pbnRlcm5hbF94ZGdfcG9w dXBfZG9uZSh2b2lkKiBkYXRhLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHN0cnVjdCB6eGRnX3BvcHVwX3Y2KiB6eGRnX3BvcHVwX3Y2KSB7fQ0KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB4ZGdfcG9wdXAqIHhkZ19wb3B1cCkg e30NCiANCi1zdGF0aWMgY29uc3Qgc3RydWN0IHp4ZGdfcG9wdXBfdjZfbGlzdGVuZXIgc2xfaW50 ZXJuYWxfeGRnX3BvcHVwX2xpc3RlbmVyID0gew0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGRnX3Bv cHVwX2xpc3RlbmVyIHNsX2ludGVybmFsX3hkZ19wb3B1cF9saXN0ZW5lciA9IHsNCiAgICAgc2xf aW50ZXJuYWxfeGRnX3BvcHVwX2NvbmZpZ3VyZSwgc2xfaW50ZXJuYWxfeGRnX3BvcHVwX2RvbmV9 Ow0KIA0KIHN0YXRpYyB2b2lkIHNsX3dpbmRvd19zZXRfd21fc3RhdGUoc3RydWN0IHNsX3dpbmRv dyogd2luZG93LCBpbnQgc3RhdGUpIHsNCkBAIC03NTksMTUgKzc1OSwxNSBAQCB2b2lkIHNsX3dp bmRvd191cGRhdGUoc3RydWN0IHNsX3dpbmRvdyogd2luZG93KSB7DQogICAgICAgd2luZG93LT5h dXJhX3N1cmZhY2UgPSBOVUxMOw0KICAgICB9DQogICAgIGlmICh3aW5kb3ctPnhkZ190b3BsZXZl bCkgew0KLSAgICAgIHp4ZGdfdG9wbGV2ZWxfdjZfZGVzdHJveSh3aW5kb3ctPnhkZ190b3BsZXZl bCk7DQorICAgICAgeGRnX3RvcGxldmVsX2Rlc3Ryb3kod2luZG93LT54ZGdfdG9wbGV2ZWwpOw0K ICAgICAgIHdpbmRvdy0+eGRnX3RvcGxldmVsID0gTlVMTDsNCiAgICAgfQ0KICAgICBpZiAod2lu ZG93LT54ZGdfcG9wdXApIHsNCi0gICAgICB6eGRnX3BvcHVwX3Y2X2Rlc3Ryb3kod2luZG93LT54 ZGdfcG9wdXApOw0KKyAgICAgIHhkZ19wb3B1cF9kZXN0cm95KHdpbmRvdy0+eGRnX3BvcHVwKTsN CiAgICAgICB3aW5kb3ctPnhkZ19wb3B1cCA9IE5VTEw7DQogICAgIH0NCiAgICAgaWYgKHdpbmRv dy0+eGRnX3N1cmZhY2UpIHsNCi0gICAgICB6eGRnX3N1cmZhY2VfdjZfZGVzdHJveSh3aW5kb3ct PnhkZ19zdXJmYWNlKTsNCisgICAgICB4ZGdfc3VyZmFjZV9kZXN0cm95KHdpbmRvdy0+eGRnX3N1 cmZhY2UpOw0KICAgICAgIHdpbmRvdy0+eGRnX3N1cmZhY2UgPSBOVUxMOw0KICAgICB9DQogICAg IHdpbmRvdy0+cmVhbGl6ZWQgPSAwOw0KQEAgLTg0MywxMSArODQzLDExIEBAIHZvaWQgc2xfd2lu ZG93X3VwZGF0ZShzdHJ1Y3Qgc2xfd2luZG93KiB3aW5kb3cpIHsNCiAgIH0NCiANCiAgIGlmICgh d2luZG93LT54ZGdfc3VyZmFjZSkgew0KLSAgICB3aW5kb3ctPnhkZ19zdXJmYWNlID0genhkZ19z aGVsbF92Nl9nZXRfeGRnX3N1cmZhY2UoDQotICAgICAgICBjdHgtPnhkZ19zaGVsbC0+aW50ZXJu YWwsIGhvc3Rfc3VyZmFjZS0+cHJveHkpOw0KLSAgICB6eGRnX3N1cmZhY2VfdjZfc2V0X3VzZXJf ZGF0YSh3aW5kb3ctPnhkZ19zdXJmYWNlLCB3aW5kb3cpOw0KLSAgICB6eGRnX3N1cmZhY2VfdjZf YWRkX2xpc3RlbmVyKHdpbmRvdy0+eGRnX3N1cmZhY2UsDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJnNsX2ludGVybmFsX3hkZ19zdXJmYWNlX2xpc3RlbmVyLCB3aW5kb3cpOw0K KyAgICB3aW5kb3ctPnhkZ19zdXJmYWNlID0geGRnX3dtX2Jhc2VfZ2V0X3hkZ19zdXJmYWNlKGN0 eC0+eGRnX3NoZWxsLT5pbnRlcm5hbCwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBob3N0X3N1cmZhY2UtPnByb3h5KTsNCisgICAgeGRnX3N1 cmZhY2Vfc2V0X3VzZXJfZGF0YSh3aW5kb3ctPnhkZ19zdXJmYWNlLCB3aW5kb3cpOw0KKyAgICB4 ZGdfc3VyZmFjZV9hZGRfbGlzdGVuZXIod2luZG93LT54ZGdfc3VyZmFjZSwNCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICZzbF9pbnRlcm5hbF94ZGdfc3VyZmFjZV9saXN0ZW5lciwgd2lu ZG93KTsNCiAgIH0NCiANCiAgIGlmIChjdHgtPmF1cmFfc2hlbGwpIHsNCkBAIC04ODIsNTAgKzg4 Miw0NiBAQCB2b2lkIHNsX3dpbmRvd191cGRhdGUoc3RydWN0IHNsX3dpbmRvdyogd2luZG93KSB7 DQogICAvLyB3aW5kb3cgaXMgY2xvc2VkLg0KICAgaWYgKGN0eC0+eHdheWxhbmQgfHwgIXBhcmVu dCkgew0KICAgICBpZiAoIXdpbmRvdy0+eGRnX3RvcGxldmVsKSB7DQotICAgICAgd2luZG93LT54 ZGdfdG9wbGV2ZWwgPSB6eGRnX3N1cmZhY2VfdjZfZ2V0X3RvcGxldmVsKHdpbmRvdy0+eGRnX3N1 cmZhY2UpOw0KLSAgICAgIHp4ZGdfdG9wbGV2ZWxfdjZfc2V0X3VzZXJfZGF0YSh3aW5kb3ctPnhk Z190b3BsZXZlbCwgd2luZG93KTsNCi0gICAgICB6eGRnX3RvcGxldmVsX3Y2X2FkZF9saXN0ZW5l cih3aW5kb3ctPnhkZ190b3BsZXZlbCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAmc2xfaW50ZXJuYWxfeGRnX3RvcGxldmVsX2xpc3RlbmVyLCB3aW5kb3cpOw0KKyAgICAg IHdpbmRvdy0+eGRnX3RvcGxldmVsID0geGRnX3N1cmZhY2VfZ2V0X3RvcGxldmVsKHdpbmRvdy0+ eGRnX3N1cmZhY2UpOw0KKyAgICAgIHhkZ190b3BsZXZlbF9zZXRfdXNlcl9kYXRhKHdpbmRvdy0+ eGRnX3RvcGxldmVsLCB3aW5kb3cpOw0KKyAgICAgIHhkZ190b3BsZXZlbF9hZGRfbGlzdGVuZXIo d2luZG93LT54ZGdfdG9wbGV2ZWwsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAm c2xfaW50ZXJuYWxfeGRnX3RvcGxldmVsX2xpc3RlbmVyLCB3aW5kb3cpOw0KICAgICB9DQogICAg IGlmIChwYXJlbnQpDQotICAgICAgenhkZ190b3BsZXZlbF92Nl9zZXRfcGFyZW50KHdpbmRvdy0+ eGRnX3RvcGxldmVsLCBwYXJlbnQtPnhkZ190b3BsZXZlbCk7DQorICAgICAgeGRnX3RvcGxldmVs X3NldF9wYXJlbnQod2luZG93LT54ZGdfdG9wbGV2ZWwsIHBhcmVudC0+eGRnX3RvcGxldmVsKTsN CiAgICAgaWYgKHdpbmRvdy0+bmFtZSkNCi0gICAgICB6eGRnX3RvcGxldmVsX3Y2X3NldF90aXRs ZSh3aW5kb3ctPnhkZ190b3BsZXZlbCwgd2luZG93LT5uYW1lKTsNCisgICAgICB4ZGdfdG9wbGV2 ZWxfc2V0X3RpdGxlKHdpbmRvdy0+eGRnX3RvcGxldmVsLCB3aW5kb3ctPm5hbWUpOw0KICAgICBp ZiAod2luZG93LT5zaXplX2ZsYWdzICYgUF9NSU5fU0laRSkgew0KLSAgICAgIHp4ZGdfdG9wbGV2 ZWxfdjZfc2V0X21pbl9zaXplKHdpbmRvdy0+eGRnX3RvcGxldmVsLA0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy0+bWluX3dpZHRoIC8gY3R4LT5zY2FsZSwNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3ctPm1pbl9oZWlnaHQgLyBj dHgtPnNjYWxlKTsNCisgICAgICB4ZGdfdG9wbGV2ZWxfc2V0X21pbl9zaXplKHdpbmRvdy0+eGRn X3RvcGxldmVsLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LT5taW5f d2lkdGggLyBjdHgtPnNjYWxlLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lu ZG93LT5taW5faGVpZ2h0IC8gY3R4LT5zY2FsZSk7DQogICAgIH0NCiAgICAgaWYgKHdpbmRvdy0+ c2l6ZV9mbGFncyAmIFBfTUFYX1NJWkUpIHsNCi0gICAgICB6eGRnX3RvcGxldmVsX3Y2X3NldF9t YXhfc2l6ZSh3aW5kb3ctPnhkZ190b3BsZXZlbCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB3aW5kb3ctPm1heF93aWR0aCAvIGN0eC0+c2NhbGUsDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LT5tYXhfaGVpZ2h0IC8gY3R4LT5zY2FsZSk7 DQorICAgICAgeGRnX3RvcGxldmVsX3NldF9tYXhfc2l6ZSh3aW5kb3ctPnhkZ190b3BsZXZlbCwN CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy0+bWF4X3dpZHRoIC8gY3R4 LT5zY2FsZSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy0+bWF4X2hl aWdodCAvIGN0eC0+c2NhbGUpOw0KICAgICB9DQogICAgIGlmICh3aW5kb3ctPm1heGltaXplZCkg ew0KLSAgICAgIHp4ZGdfdG9wbGV2ZWxfdjZfc2V0X21heGltaXplZCh3aW5kb3ctPnhkZ190b3Bs ZXZlbCk7DQorICAgICAgeGRnX3RvcGxldmVsX3NldF9tYXhpbWl6ZWQod2luZG93LT54ZGdfdG9w bGV2ZWwpOw0KICAgICB9DQogICB9IGVsc2UgaWYgKCF3aW5kb3ctPnhkZ19wb3B1cCkgew0KLSAg ICBzdHJ1Y3QgenhkZ19wb3NpdGlvbmVyX3Y2KiBwb3NpdGlvbmVyOw0KKyAgICBzdHJ1Y3QgeGRn X3Bvc2l0aW9uZXIqIHBvc2l0aW9uZXI7DQogDQotICAgIHBvc2l0aW9uZXIgPSB6eGRnX3NoZWxs X3Y2X2NyZWF0ZV9wb3NpdGlvbmVyKGN0eC0+eGRnX3NoZWxsLT5pbnRlcm5hbCk7DQorICAgIHBv c2l0aW9uZXIgPSB4ZGdfd21fYmFzZV9jcmVhdGVfcG9zaXRpb25lcihjdHgtPnhkZ19zaGVsbC0+ aW50ZXJuYWwpOw0KICAgICBhc3NlcnQocG9zaXRpb25lcik7DQotICAgIHp4ZGdfcG9zaXRpb25l cl92Nl9zZXRfYW5jaG9yKA0KLSAgICAgICAgcG9zaXRpb25lciwNCi0gICAgICAgIFpYREdfUE9T SVRJT05FUl9WNl9BTkNIT1JfVE9QIHwgWlhER19QT1NJVElPTkVSX1Y2X0FOQ0hPUl9MRUZUKTsN Ci0gICAgenhkZ19wb3NpdGlvbmVyX3Y2X3NldF9ncmF2aXR5KA0KLSAgICAgICAgcG9zaXRpb25l ciwNCi0gICAgICAgIFpYREdfUE9TSVRJT05FUl9WNl9HUkFWSVRZX0JPVFRPTSB8IFpYREdfUE9T SVRJT05FUl9WNl9HUkFWSVRZX1JJR0hUKTsNCi0gICAgenhkZ19wb3NpdGlvbmVyX3Y2X3NldF9h bmNob3JfcmVjdCgNCi0gICAgICAgIHBvc2l0aW9uZXIsICh3aW5kb3ctPnggLSBwYXJlbnQtPngp IC8gY3R4LT5zY2FsZSwNCi0gICAgICAgICh3aW5kb3ctPnkgLSBwYXJlbnQtPnkpIC8gY3R4LT5z Y2FsZSwgMSwgMSk7DQorICAgIHhkZ19wb3NpdGlvbmVyX3NldF9hbmNob3IocG9zaXRpb25lciwg WERHX1BPU0lUSU9ORVJfQU5DSE9SX1RPUF9MRUZUKTsNCisgICAgeGRnX3Bvc2l0aW9uZXJfc2V0 X2dyYXZpdHkocG9zaXRpb25lciwgWERHX1BPU0lUSU9ORVJfR1JBVklUWV9CT1RUT01fUklHSFQp Ow0KKyAgICB4ZGdfcG9zaXRpb25lcl9zZXRfYW5jaG9yX3JlY3QocG9zaXRpb25lciwNCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh3aW5kb3ctPnggLSBwYXJlbnQtPngpIC8g Y3R4LT5zY2FsZSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh3aW5kb3ct PnkgLSBwYXJlbnQtPnkpIC8gY3R4LT5zY2FsZSwgMSwgMSk7DQogDQotICAgIHdpbmRvdy0+eGRn X3BvcHVwID0genhkZ19zdXJmYWNlX3Y2X2dldF9wb3B1cCgNCi0gICAgICAgIHdpbmRvdy0+eGRn X3N1cmZhY2UsIHBhcmVudC0+eGRnX3N1cmZhY2UsIHBvc2l0aW9uZXIpOw0KLSAgICB6eGRnX3Bv cHVwX3Y2X3NldF91c2VyX2RhdGEod2luZG93LT54ZGdfcG9wdXAsIHdpbmRvdyk7DQotICAgIHp4 ZGdfcG9wdXBfdjZfYWRkX2xpc3RlbmVyKHdpbmRvdy0+eGRnX3BvcHVwLA0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAmc2xfaW50ZXJuYWxfeGRnX3BvcHVwX2xpc3RlbmVyLCB3aW5k b3cpOw0KKyAgICB3aW5kb3ctPnhkZ19wb3B1cCA9IHhkZ19zdXJmYWNlX2dldF9wb3B1cCh3aW5k b3ctPnhkZ19zdXJmYWNlLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBwYXJlbnQtPnhkZ19zdXJmYWNlLCBwb3NpdGlvbmVyKTsNCisgICAgeGRnX3BvcHVw X3NldF91c2VyX2RhdGEod2luZG93LT54ZGdfcG9wdXAsIHdpbmRvdyk7DQorICAgIHhkZ19wb3B1 cF9hZGRfbGlzdGVuZXIod2luZG93LT54ZGdfcG9wdXAsICZzbF9pbnRlcm5hbF94ZGdfcG9wdXBf bGlzdGVuZXIsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93KTsNCiANCi0gICAg enhkZ19wb3NpdGlvbmVyX3Y2X2Rlc3Ryb3kocG9zaXRpb25lcik7DQorICAgIHhkZ19wb3NpdGlv bmVyX2Rlc3Ryb3kocG9zaXRpb25lcik7DQogICB9DQogDQogICBpZiAoKHdpbmRvdy0+c2l6ZV9m bGFncyAmIChVU19QT1NJVElPTiB8IFBfUE9TSVRJT04pKSAmJiBwYXJlbnQgJiYNCkBAIC0xMzI2 LDcgKzEzMjIsNyBAQCBzdGF0aWMgdm9pZCBzbF9yZWdpc3RyeV9oYW5kbGVyKHZvaWQqIGRhdGEs DQogICAgICAgZGF0YV9kZXZpY2VfbWFuYWdlci0+aG9zdF9nbG9iYWwgPQ0KICAgICAgICAgICBz bF9kYXRhX2RldmljZV9tYW5hZ2VyX2dsb2JhbF9jcmVhdGUoY3R4KTsNCiAgICAgfQ0KLSAgfSBl bHNlIGlmIChzdHJjbXAoaW50ZXJmYWNlLCAienhkZ19zaGVsbF92NiIpID09IDApIHsNCisgIH0g ZWxzZSBpZiAoc3RyY21wKGludGVyZmFjZSwgInhkZ193bV9iYXNlIikgPT0gMCkgew0KICAgICBz dHJ1Y3Qgc2xfeGRnX3NoZWxsKiB4ZGdfc2hlbGwgPQ0KICAgICAgICAgc3RhdGljX2Nhc3Q8c2xf eGRnX3NoZWxsKj4obWFsbG9jKHNpemVvZihzdHJ1Y3Qgc2xfeGRnX3NoZWxsKSkpOw0KICAgICBh c3NlcnQoeGRnX3NoZWxsKTsNCkBAIC0xMzM3LDEwICsxMzMzLDEwIEBAIHN0YXRpYyB2b2lkIHNs X3JlZ2lzdHJ5X2hhbmRsZXIodm9pZCogZGF0YSwNCiAgICAgYXNzZXJ0KCFjdHgtPnhkZ19zaGVs bCk7DQogICAgIGN0eC0+eGRnX3NoZWxsID0geGRnX3NoZWxsOw0KICAgICBpZiAoY3R4LT54d2F5 bGFuZCkgew0KLSAgICAgIHhkZ19zaGVsbC0+aW50ZXJuYWwgPSBzdGF0aWNfY2FzdDx6eGRnX3No ZWxsX3Y2Kj4oDQotICAgICAgICAgIHdsX3JlZ2lzdHJ5X2JpbmQocmVnaXN0cnksIGlkLCAmenhk Z19zaGVsbF92Nl9pbnRlcmZhY2UsIDEpKTsNCi0gICAgICB6eGRnX3NoZWxsX3Y2X2FkZF9saXN0 ZW5lcih4ZGdfc2hlbGwtPmludGVybmFsLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICZzbF9pbnRlcm5hbF94ZGdfc2hlbGxfbGlzdGVuZXIsIE5VTEwpOw0KKyAgICAgIHhkZ19z aGVsbC0+aW50ZXJuYWwgPSBzdGF0aWNfY2FzdDx4ZGdfd21fYmFzZSo+KA0KKyAgICAgICAgICB3 bF9yZWdpc3RyeV9iaW5kKHJlZ2lzdHJ5LCBpZCwgJnhkZ193bV9iYXNlX2ludGVyZmFjZSwgMSkp Ow0KKyAgICAgIHhkZ193bV9iYXNlX2FkZF9saXN0ZW5lcih4ZGdfc2hlbGwtPmludGVybmFsLA0K KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc2xfaW50ZXJuYWxfeGRnX3NoZWxsX2xp c3RlbmVyLCBOVUxMKTsNCiAgICAgfSBlbHNlIHsNCiAgICAgICB4ZGdfc2hlbGwtPmhvc3RfZ2xv YmFsID0gc2xfeGRnX3NoZWxsX2dsb2JhbF9jcmVhdGUoY3R4KTsNCiAgICAgfQ0KQEAgLTE0NzMs NyArMTQ2OSw3IEBAIHN0YXRpYyB2b2lkIHNsX3JlZ2lzdHJ5X3JlbW92ZXIodm9pZCogZGF0YSwN CiAgICAgaWYgKGN0eC0+eGRnX3NoZWxsLT5ob3N0X2dsb2JhbCkNCiAgICAgICBzbF9nbG9iYWxf ZGVzdHJveShjdHgtPnhkZ19zaGVsbC0+aG9zdF9nbG9iYWwpOw0KICAgICBpZiAoY3R4LT54ZGdf c2hlbGwtPmludGVybmFsKQ0KLSAgICAgIHp4ZGdfc2hlbGxfdjZfZGVzdHJveShjdHgtPnhkZ19z aGVsbC0+aW50ZXJuYWwpOw0KKyAgICAgIHhkZ193bV9iYXNlX2Rlc3Ryb3koY3R4LT54ZGdfc2hl bGwtPmludGVybmFsKTsNCiAgICAgZnJlZShjdHgtPnhkZ19zaGVsbCk7DQogICAgIGN0eC0+eGRn X3NoZWxsID0gTlVMTDsNCiAgICAgcmV0dXJuOw0KQEAgLTE2NTAsMTEgKzE2NDYsMTEgQEAgc3Rh dGljIHZvaWQgc2xfZGVzdHJveV93aW5kb3coc3RydWN0IHNsX3dpbmRvdyogd2luZG93KSB7DQog ICB9DQogDQogICBpZiAod2luZG93LT54ZGdfcG9wdXApDQotICAgIHp4ZGdfcG9wdXBfdjZfZGVz dHJveSh3aW5kb3ctPnhkZ19wb3B1cCk7DQorICAgIHhkZ19wb3B1cF9kZXN0cm95KHdpbmRvdy0+ eGRnX3BvcHVwKTsNCiAgIGlmICh3aW5kb3ctPnhkZ190b3BsZXZlbCkNCi0gICAgenhkZ190b3Bs ZXZlbF92Nl9kZXN0cm95KHdpbmRvdy0+eGRnX3RvcGxldmVsKTsNCisgICAgeGRnX3RvcGxldmVs X2Rlc3Ryb3kod2luZG93LT54ZGdfdG9wbGV2ZWwpOw0KICAgaWYgKHdpbmRvdy0+eGRnX3N1cmZh Y2UpDQotICAgIHp4ZGdfc3VyZmFjZV92Nl9kZXN0cm95KHdpbmRvdy0+eGRnX3N1cmZhY2UpOw0K KyAgICB4ZGdfc3VyZmFjZV9kZXN0cm95KHdpbmRvdy0+eGRnX3N1cmZhY2UpOw0KICAgaWYgKHdp bmRvdy0+YXVyYV9zdXJmYWNlKQ0KICAgICB6YXVyYV9zdXJmYWNlX2Rlc3Ryb3kod2luZG93LT5h dXJhX3N1cmZhY2UpOw0KIA0KQEAgLTIxMTgsMTUgKzIxMTQsMTUgQEAgc3RhdGljIHZvaWQgc2xf aGFuZGxlX2NvbmZpZ3VyZV9yZXF1ZXN0KHN0cnVjdCBzbF9jb250ZXh0KiBjdHgsDQogICAvLyB0 aGF0IG1hdGNoaW5nIGNvbnRlbnRzIHdpbGwgYXJyaXZlLg0KICAgaWYgKHdpbmRvdy0+eGRnX3Rv cGxldmVsKSB7DQogICAgIGlmICh3aW5kb3ctPnBlbmRpbmdfY29uZmlnLnNlcmlhbCkgew0KLSAg ICAgIHp4ZGdfc3VyZmFjZV92Nl9hY2tfY29uZmlndXJlKHdpbmRvdy0+eGRnX3N1cmZhY2UsDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LT5wZW5kaW5nX2NvbmZp Zy5zZXJpYWwpOw0KKyAgICAgIHhkZ19zdXJmYWNlX2Fja19jb25maWd1cmUod2luZG93LT54ZGdf c3VyZmFjZSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy0+cGVuZGlu Z19jb25maWcuc2VyaWFsKTsNCiAgICAgICB3aW5kb3ctPnBlbmRpbmdfY29uZmlnLnNlcmlhbCA9 IDA7DQogICAgICAgd2luZG93LT5wZW5kaW5nX2NvbmZpZy5tYXNrID0gMDsNCiAgICAgICB3aW5k b3ctPnBlbmRpbmdfY29uZmlnLnN0YXRlc19sZW5ndGggPSAwOw0KICAgICB9DQogICAgIGlmICh3 aW5kb3ctPm5leHRfY29uZmlnLnNlcmlhbCkgew0KLSAgICAgIHp4ZGdfc3VyZmFjZV92Nl9hY2tf Y29uZmlndXJlKHdpbmRvdy0+eGRnX3N1cmZhY2UsDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgd2luZG93LT5uZXh0X2NvbmZpZy5zZXJpYWwpOw0KKyAgICAgIHhkZ19zdXJm YWNlX2Fja19jb25maWd1cmUod2luZG93LT54ZGdfc3VyZmFjZSwNCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHdpbmRvdy0+bmV4dF9jb25maWcuc2VyaWFsKTsNCiAgICAgICB3aW5k b3ctPm5leHRfY29uZmlnLnNlcmlhbCA9IDA7DQogICAgICAgd2luZG93LT5uZXh0X2NvbmZpZy5t YXNrID0gMDsNCiAgICAgICB3aW5kb3ctPm5leHRfY29uZmlnLnN0YXRlc19sZW5ndGggPSAwOw0K QEAgLTIyNDcsMjMgKzIyNDMsMjMgQEAgc3RhdGljIHZvaWQgc2xfaGFuZGxlX2NvbmZpZ3VyZV9u b3RpZnkoc3RydWN0IHNsX2NvbnRleHQqIGN0eCwNCiBzdGF0aWMgdWludDMyX3Qgc2xfcmVzaXpl X2VkZ2UoaW50IG5ldF93bV9tb3ZlcmVzaXplX3NpemUpIHsNCiAgIHN3aXRjaCAobmV0X3dtX21v dmVyZXNpemVfc2l6ZSkgew0KICAgICBjYXNlIE5FVF9XTV9NT1ZFUkVTSVpFX1NJWkVfVE9QTEVG VDoNCi0gICAgICByZXR1cm4gWlhER19UT1BMRVZFTF9WNl9SRVNJWkVfRURHRV9UT1BfTEVGVDsN CisgICAgICByZXR1cm4gWERHX1RPUExFVkVMX1JFU0laRV9FREdFX1RPUF9MRUZUOw0KICAgICBj YXNlIE5FVF9XTV9NT1ZFUkVTSVpFX1NJWkVfVE9QOg0KLSAgICAgIHJldHVybiBaWERHX1RPUExF VkVMX1Y2X1JFU0laRV9FREdFX1RPUDsNCisgICAgICByZXR1cm4gWERHX1RPUExFVkVMX1JFU0la RV9FREdFX1RPUDsNCiAgICAgY2FzZSBORVRfV01fTU9WRVJFU0laRV9TSVpFX1RPUFJJR0hUOg0K LSAgICAgIHJldHVybiBaWERHX1RPUExFVkVMX1Y2X1JFU0laRV9FREdFX1RPUF9SSUdIVDsNCisg ICAgICByZXR1cm4gWERHX1RPUExFVkVMX1JFU0laRV9FREdFX1RPUF9SSUdIVDsNCiAgICAgY2Fz ZSBORVRfV01fTU9WRVJFU0laRV9TSVpFX1JJR0hUOg0KLSAgICAgIHJldHVybiBaWERHX1RPUExF VkVMX1Y2X1JFU0laRV9FREdFX1JJR0hUOw0KKyAgICAgIHJldHVybiBYREdfVE9QTEVWRUxfUkVT SVpFX0VER0VfUklHSFQ7DQogICAgIGNhc2UgTkVUX1dNX01PVkVSRVNJWkVfU0laRV9CT1RUT01S SUdIVDoNCi0gICAgICByZXR1cm4gWlhER19UT1BMRVZFTF9WNl9SRVNJWkVfRURHRV9CT1RUT01f UklHSFQ7DQorICAgICAgcmV0dXJuIFhER19UT1BMRVZFTF9SRVNJWkVfRURHRV9CT1RUT01fUklH SFQ7DQogICAgIGNhc2UgTkVUX1dNX01PVkVSRVNJWkVfU0laRV9CT1RUT006DQotICAgICAgcmV0 dXJuIFpYREdfVE9QTEVWRUxfVjZfUkVTSVpFX0VER0VfQk9UVE9NOw0KKyAgICAgIHJldHVybiBY REdfVE9QTEVWRUxfUkVTSVpFX0VER0VfQk9UVE9NOw0KICAgICBjYXNlIE5FVF9XTV9NT1ZFUkVT SVpFX1NJWkVfQk9UVE9NTEVGVDoNCi0gICAgICByZXR1cm4gWlhER19UT1BMRVZFTF9WNl9SRVNJ WkVfRURHRV9CT1RUT01fTEVGVDsNCisgICAgICByZXR1cm4gWERHX1RPUExFVkVMX1JFU0laRV9F REdFX0JPVFRPTV9MRUZUOw0KICAgICBjYXNlIE5FVF9XTV9NT1ZFUkVTSVpFX1NJWkVfTEVGVDoN Ci0gICAgICByZXR1cm4gWlhER19UT1BMRVZFTF9WNl9SRVNJWkVfRURHRV9MRUZUOw0KKyAgICAg IHJldHVybiBYREdfVE9QTEVWRUxfUkVTSVpFX0VER0VfTEVGVDsNCiAgICAgZGVmYXVsdDoNCi0g ICAgICByZXR1cm4gWlhER19UT1BMRVZFTF9WNl9SRVNJWkVfRURHRV9OT05FOw0KKyAgICAgIHJl dHVybiBYREdfVE9QTEVWRUxfUkVTSVpFX0VER0VfTk9ORTsNCiAgIH0NCiB9DQogDQpAQCAtMjM2 MiwxNiArMjM1OCwxNiBAQCBzdGF0aWMgdm9pZCBzbF9oYW5kbGVfY2xpZW50X21lc3NhZ2Uoc3Ry dWN0IHNsX2NvbnRleHQqIGN0eCwNCiAgICAgICAgIHJldHVybjsNCiANCiAgICAgICBpZiAoZXZl bnQtPmRhdGEuZGF0YTMyWzJdID09IE5FVF9XTV9NT1ZFUkVTSVpFX01PVkUpIHsNCi0gICAgICAg IHp4ZGdfdG9wbGV2ZWxfdjZfbW92ZSh3aW5kb3ctPnhkZ190b3BsZXZlbCwgc2VhdC0+cHJveHks DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VhdC0+c2VhdC0+bGFzdF9zZXJpYWwp Ow0KKyAgICAgICAgeGRnX3RvcGxldmVsX21vdmUod2luZG93LT54ZGdfdG9wbGV2ZWwsIHNlYXQt PnByb3h5LA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgc2VhdC0+c2VhdC0+bGFzdF9zZXJp YWwpOw0KICAgICAgIH0gZWxzZSB7DQogICAgICAgICB1aW50MzJfdCBlZGdlID0gc2xfcmVzaXpl X2VkZ2UoZXZlbnQtPmRhdGEuZGF0YTMyWzJdKTsNCiANCi0gICAgICAgIGlmIChlZGdlID09IFpY REdfVE9QTEVWRUxfVjZfUkVTSVpFX0VER0VfTk9ORSkNCisgICAgICAgIGlmIChlZGdlID09IFhE R19UT1BMRVZFTF9SRVNJWkVfRURHRV9OT05FKQ0KICAgICAgICAgICByZXR1cm47DQogDQotICAg ICAgICB6eGRnX3RvcGxldmVsX3Y2X3Jlc2l6ZSh3aW5kb3ctPnhkZ190b3BsZXZlbCwgc2VhdC0+ cHJveHksDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWF0LT5zZWF0LT5sYXN0 X3NlcmlhbCwgZWRnZSk7DQorICAgICAgICB4ZGdfdG9wbGV2ZWxfcmVzaXplKHdpbmRvdy0+eGRn X3RvcGxldmVsLCBzZWF0LT5wcm94eSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vh dC0+c2VhdC0+bGFzdF9zZXJpYWwsIGVkZ2UpOw0KICAgICAgIH0NCiAgICAgfQ0KICAgfSBlbHNl IGlmIChldmVudC0+dHlwZSA9PSBjdHgtPmF0b21zW0FUT01fTkVUX1dNX1NUQVRFXS52YWx1ZSkg ew0KQEAgLTIzOTIsOSArMjM4OCw5IEBAIHN0YXRpYyB2b2lkIHNsX2hhbmRsZV9jbGllbnRfbWVz c2FnZShzdHJ1Y3Qgc2xfY29udGV4dCogY3R4LA0KICAgICAgICAgICAgICAgICAgICAgImFjdGlv biIsIG5ldF93bV9zdGF0ZV90b19zdHJpbmcoYWN0aW9uKSwgIndpbmRvdy0+bmFtZSIsDQogICAg ICAgICAgICAgICAgICAgICB3aW5kb3ctPm5hbWUpOw0KICAgICAgICAgaWYgKGFjdGlvbiA9PSBO RVRfV01fU1RBVEVfQUREKQ0KLSAgICAgICAgICB6eGRnX3RvcGxldmVsX3Y2X3NldF9mdWxsc2Ny ZWVuKHdpbmRvdy0+eGRnX3RvcGxldmVsLCBOVUxMKTsNCisgICAgICAgICAgeGRnX3RvcGxldmVs X3NldF9mdWxsc2NyZWVuKHdpbmRvdy0+eGRnX3RvcGxldmVsLCBOVUxMKTsNCiAgICAgICAgIGVs c2UgaWYgKGFjdGlvbiA9PSBORVRfV01fU1RBVEVfUkVNT1ZFKQ0KLSAgICAgICAgICB6eGRnX3Rv cGxldmVsX3Y2X3Vuc2V0X2Z1bGxzY3JlZW4od2luZG93LT54ZGdfdG9wbGV2ZWwpOw0KKyAgICAg ICAgICB4ZGdfdG9wbGV2ZWxfdW5zZXRfZnVsbHNjcmVlbih3aW5kb3ctPnhkZ190b3BsZXZlbCk7 DQogICAgICAgfQ0KIA0KICAgICAgIGlmIChjaGFuZ2VkW0FUT01fTkVUX1dNX1NUQVRFX01BWElN SVpFRF9WRVJUXSAmJg0KQEAgLTI0MDUsOSArMjQwMSw5IEBAIHN0YXRpYyB2b2lkIHNsX2hhbmRs ZV9jbGllbnRfbWVzc2FnZShzdHJ1Y3Qgc2xfY29udGV4dCogY3R4LA0KICAgICAgICAgICAgICJh Y3Rpb24iLCBuZXRfd21fc3RhdGVfdG9fc3RyaW5nKGFjdGlvbiksICJ3aW5kb3ctPm5hbWUiLA0K ICAgICAgICAgICAgIHdpbmRvdy0+bmFtZSk7DQogICAgICAgICBpZiAoYWN0aW9uID09IE5FVF9X TV9TVEFURV9BREQpDQotICAgICAgICAgIHp4ZGdfdG9wbGV2ZWxfdjZfc2V0X21heGltaXplZCh3 aW5kb3ctPnhkZ190b3BsZXZlbCk7DQorICAgICAgICAgIHhkZ190b3BsZXZlbF9zZXRfbWF4aW1p emVkKHdpbmRvdy0+eGRnX3RvcGxldmVsKTsNCiAgICAgICAgIGVsc2UgaWYgKGFjdGlvbiA9PSBO RVRfV01fU1RBVEVfUkVNT1ZFKQ0KLSAgICAgICAgICB6eGRnX3RvcGxldmVsX3Y2X3Vuc2V0X21h eGltaXplZCh3aW5kb3ctPnhkZ190b3BsZXZlbCk7DQorICAgICAgICAgIHhkZ190b3BsZXZlbF91 bnNldF9tYXhpbWl6ZWQod2luZG93LT54ZGdfdG9wbGV2ZWwpOw0KICAgICAgIH0NCiAgICAgfQ0K ICAgfSBlbHNlIGlmIChldmVudC0+dHlwZSA9PSBjdHgtPmF0b21zW0FUT01fV01fQ0hBTkdFX1NU QVRFXS52YWx1ZSAmJg0KQEAgLTI0MTYsNyArMjQxMiw3IEBAIHN0YXRpYyB2b2lkIHNsX2hhbmRs ZV9jbGllbnRfbWVzc2FnZShzdHJ1Y3Qgc2xfY29udGV4dCogY3R4LA0KICAgICBUUkFDRV9FVkVO VCgieDExd20iLCAiWENCX0NMSUVOVF9NRVNTQUdFOiBXTV9TVEFURV9JQ09OSUMgKG1pbmltaXpl KSIsDQogICAgICAgICAgICAgICAgICJ3aW5kb3ctPm5hbWUiLCB3aW5kb3cgPyB3aW5kb3ctPm5h bWUgOiAiPHVua25vd24+Iik7DQogICAgIGlmICh3aW5kb3cgJiYgd2luZG93LT54ZGdfdG9wbGV2 ZWwpIHsNCi0gICAgICB6eGRnX3RvcGxldmVsX3Y2X3NldF9taW5pbWl6ZWQod2luZG93LT54ZGdf dG9wbGV2ZWwpOw0KKyAgICAgIHhkZ190b3BsZXZlbF9zZXRfbWluaW1pemVkKHdpbmRvdy0+eGRn X3RvcGxldmVsKTsNCiAgICAgfQ0KICAgfQ0KIH0NCkBAIC0yNDI5LDcgKzI0MjUsNyBAQCBzdGF0 aWMgdm9pZCBzbF9oYW5kbGVfZm9jdXNfaW4oc3RydWN0IHNsX2NvbnRleHQqIGN0eCwNCiAgICAg Ly8gd2luZG93IHdhcyByZWFsaXplZC4NCiAgICAgc3RydWN0IHNsX3dpbmRvdyogcGFyZW50ID0g c2xfbG9va3VwX3dpbmRvdyhjdHgsIHdpbmRvdy0+dHJhbnNpZW50X2Zvcik7DQogICAgIGlmIChw YXJlbnQgJiYgcGFyZW50LT54ZGdfdG9wbGV2ZWwgJiYgd2luZG93LT54ZGdfdG9wbGV2ZWwpDQot ICAgICAgenhkZ190b3BsZXZlbF92Nl9zZXRfcGFyZW50KHdpbmRvdy0+eGRnX3RvcGxldmVsLCBw YXJlbnQtPnhkZ190b3BsZXZlbCk7DQorICAgICAgeGRnX3RvcGxldmVsX3NldF9wYXJlbnQod2lu ZG93LT54ZGdfdG9wbGV2ZWwsIHBhcmVudC0+eGRnX3RvcGxldmVsKTsNCiAgIH0NCiB9DQogDQpA QCAtMjczOCw5ICsyNzM0LDkgQEAgc3RhdGljIHZvaWQgc2xfaGFuZGxlX3Byb3BlcnR5X25vdGlm eShzdHJ1Y3Qgc2xfY29udGV4dCogY3R4LA0KICAgICAgIHJldHVybjsNCiANCiAgICAgaWYgKHdp bmRvdy0+bmFtZSkgew0KLSAgICAgIHp4ZGdfdG9wbGV2ZWxfdjZfc2V0X3RpdGxlKHdpbmRvdy0+ eGRnX3RvcGxldmVsLCB3aW5kb3ctPm5hbWUpOw0KKyAgICAgIHhkZ190b3BsZXZlbF9zZXRfdGl0 bGUod2luZG93LT54ZGdfdG9wbGV2ZWwsIHdpbmRvdy0+bmFtZSk7DQogICAgIH0gZWxzZSB7DQot ICAgICAgenhkZ190b3BsZXZlbF92Nl9zZXRfdGl0bGUod2luZG93LT54ZGdfdG9wbGV2ZWwsICIi KTsNCisgICAgICB4ZGdfdG9wbGV2ZWxfc2V0X3RpdGxlKHdpbmRvdy0+eGRnX3RvcGxldmVsLCAi Iik7DQogICAgIH0NCiAgIH0gZWxzZSBpZiAoZXZlbnQtPmF0b20gPT0gWENCX0FUT01fV01fQ0xB U1MpIHsNCiAgICAgc3RydWN0IHNsX3dpbmRvdyogd2luZG93ID0gc2xfbG9va3VwX3dpbmRvdyhj dHgsIGV2ZW50LT53aW5kb3cpOw0KQEAgLTI3OTYsMTkgKzI3OTIsMTkgQEAgc3RhdGljIHZvaWQg c2xfaGFuZGxlX3Byb3BlcnR5X25vdGlmeShzdHJ1Y3Qgc2xfY29udGV4dCogY3R4LA0KICAgICAg IHJldHVybjsNCiANCiAgICAgaWYgKHdpbmRvdy0+c2l6ZV9mbGFncyAmIFBfTUlOX1NJWkUpIHsN Ci0gICAgICB6eGRnX3RvcGxldmVsX3Y2X3NldF9taW5fc2l6ZSh3aW5kb3ctPnhkZ190b3BsZXZl bCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3ctPm1pbl93aWR0 aCAvIGN0eC0+c2NhbGUsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lu ZG93LT5taW5faGVpZ2h0IC8gY3R4LT5zY2FsZSk7DQorICAgICAgeGRnX3RvcGxldmVsX3NldF9t aW5fc2l6ZSh3aW5kb3ctPnhkZ190b3BsZXZlbCwNCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHdpbmRvdy0+bWluX3dpZHRoIC8gY3R4LT5zY2FsZSwNCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHdpbmRvdy0+bWluX2hlaWdodCAvIGN0eC0+c2NhbGUpOw0KICAgICB9 IGVsc2Ugew0KLSAgICAgIHp4ZGdfdG9wbGV2ZWxfdjZfc2V0X21pbl9zaXplKHdpbmRvdy0+eGRn X3RvcGxldmVsLCAwLCAwKTsNCisgICAgICB4ZGdfdG9wbGV2ZWxfc2V0X21pbl9zaXplKHdpbmRv dy0+eGRnX3RvcGxldmVsLCAwLCAwKTsNCiAgICAgfQ0KIA0KICAgICBpZiAod2luZG93LT5zaXpl X2ZsYWdzICYgUF9NQVhfU0laRSkgew0KLSAgICAgIHp4ZGdfdG9wbGV2ZWxfdjZfc2V0X21heF9z aXplKHdpbmRvdy0+eGRnX3RvcGxldmVsLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHdpbmRvdy0+bWF4X3dpZHRoIC8gY3R4LT5zY2FsZSwNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB3aW5kb3ctPm1heF9oZWlnaHQgLyBjdHgtPnNjYWxlKTsNCisg ICAgICB4ZGdfdG9wbGV2ZWxfc2V0X21heF9zaXplKHdpbmRvdy0+eGRnX3RvcGxldmVsLA0KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LT5tYXhfd2lkdGggLyBjdHgtPnNj YWxlLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LT5tYXhfaGVpZ2h0 IC8gY3R4LT5zY2FsZSk7DQogICAgIH0gZWxzZSB7DQotICAgICAgenhkZ190b3BsZXZlbF92Nl9z ZXRfbWF4X3NpemUod2luZG93LT54ZGdfdG9wbGV2ZWwsIDAsIDApOw0KKyAgICAgIHhkZ190b3Bs ZXZlbF9zZXRfbWF4X3NpemUod2luZG93LT54ZGdfdG9wbGV2ZWwsIDAsIDApOw0KICAgICB9DQog ICB9IGVsc2UgaWYgKGV2ZW50LT5hdG9tID09IFhDQl9BVE9NX1dNX0hJTlRTKSB7DQogICAgIHN0 cnVjdCBzbF93aW5kb3cqIHdpbmRvdyA9IHNsX2xvb2t1cF93aW5kb3coY3R4LCBldmVudC0+d2lu ZG93KTsNCmRpZmYgLS1naXQgYS92bV90b29scy9zb21tZWxpZXIvc29tbWVsaWVyLmggYi92bV90 b29scy9zb21tZWxpZXIvc29tbWVsaWVyLmgNCmluZGV4IDFlMDBhMGI5ODEuLmYwN2E4MjZjOTkg MTAwNjQ0DQotLS0gYS92bV90b29scy9zb21tZWxpZXIvc29tbWVsaWVyLmgNCisrKyBiL3ZtX3Rv b2xzL3NvbW1lbGllci9zb21tZWxpZXIuaA0KQEAgLTQxMSw3ICs0MTEsNyBAQCBzdHJ1Y3Qgc2xf eGRnX3NoZWxsIHsNCiAgIHN0cnVjdCBzbF9jb250ZXh0KiBjdHg7DQogICB1aW50MzJfdCBpZDsN CiAgIHN0cnVjdCBzbF9nbG9iYWwqIGhvc3RfZ2xvYmFsOw0KLSAgc3RydWN0IHp4ZGdfc2hlbGxf djYqIGludGVybmFsOw0KKyAgc3RydWN0IHhkZ193bV9iYXNlKiBpbnRlcm5hbDsNCiB9Ow0KIA0K IHN0cnVjdCBzbF9hdXJhX3NoZWxsIHsNCkBAIC01MTEsOSArNTExLDkgQEAgc3RydWN0IHNsX3dp bmRvdyB7DQogICBpbnQgbWF4X2hlaWdodDsNCiAgIHN0cnVjdCBzbF9jb25maWcgbmV4dF9jb25m aWc7DQogICBzdHJ1Y3Qgc2xfY29uZmlnIHBlbmRpbmdfY29uZmlnOw0KLSAgc3RydWN0IHp4ZGdf c3VyZmFjZV92NiogeGRnX3N1cmZhY2U7DQotICBzdHJ1Y3QgenhkZ190b3BsZXZlbF92NiogeGRn X3RvcGxldmVsOw0KLSAgc3RydWN0IHp4ZGdfcG9wdXBfdjYqIHhkZ19wb3B1cDsNCisgIHN0cnVj dCB4ZGdfc3VyZmFjZSogeGRnX3N1cmZhY2U7DQorICBzdHJ1Y3QgeGRnX3RvcGxldmVsKiB4ZGdf dG9wbGV2ZWw7DQorICBzdHJ1Y3QgeGRnX3BvcHVwKiB4ZGdfcG9wdXA7DQogICBzdHJ1Y3QgemF1 cmFfc3VyZmFjZSogYXVyYV9zdXJmYWNlOw0KICAgc3RydWN0IHdsX2xpc3QgbGluazsNCiB9Ow0K LS0gDQoyLjMwLjANCg==